Tick与客户端数据协议规范
- 格式:doc
- 大小:1.11 MB
- 文档页数:46
Zookeeper参数详解及原理与优化1. tickTime(心跳时间间隔)tickTime参数定义了Zookeeper服务器之间发送心跳的时间间隔,以毫秒为单位。
心跳用于检测服务器的存活状态,如果在tickTime的时间内没有接收到心跳,则会认为该服务器已经失效。
优化建议:tickTime的值不宜过大,一般设置为2000到4000毫秒之间。
如果tickTime过大,会导致超时时间过长,降低故障恢复的效率。
2. syncLimit(同步限制)syncLimit参数定义了Leader服务器和Follower服务器之间发送消息的限制。
具体来说,当Follower服务器发送消息给Leader服务器时,Leader服务器会检查Follower服务器发送消息的数量是否超过了syncLimit的值,如果超过了,Leader服务器会认为Follower服务器已经失效。
优化建议:syncLimit的值不宜过小,一般设置为2到5之间。
如果syncLimit过小,会导致Leader服务器频繁检查Follower服务器的消息数量,增加了网络传输的开销。
3. initLimit(初始化限制)initLimit参数定义了Zookeeper服务器与客户端之间建立连接的最长时间。
具体来说,当Zookeeper服务器启动时,会有一段时间用于初始化,该时间不能超过initLimit的值,否则客户端无法连接到Zookeeper服务器。
优化建议:根据实际情况来调整initLimit的值,通常设置为5到10之间。
如果initLimit过小,可能会导致Zookeeper服务器无法成功启动。
4. maxClientCnxns(最大客户端连接数)maxClientCnxns参数定义了每个客户端与Zookeeper服务器之间的最大连接数。
当该值被设置为0时,表示没有限制连接数。
5. dataDir(数据目录)dataDir参数定义了Zookeeper服务器数据的存储路径。
CTCS-3级列控系统TSRS-CTC接口规范(V1.0)2010年3月修改记录目录1.引言 (4)1.1目的和范围 (4)1.2术语和缩写词 (4)1.3参考文献 (4)2.总则 (6)3.参考体系结构 (7)4.接口要求 (8)5.通信指标要求 (9)6.通用应用层定义 (10)7.应用层定义 (12)7.1.应用层信息包类型 (12)7.2.应用层信息包格式 (13)7.2.1.TSR拟定命令(CTC/CTC→TSRS) (13)7.2.2.TSR验证命令(CTC→TSRS) (15)7.2.3.TSR执行命令(CTC→TSRS) (16)7.2.4.TSR删除命令(CTC→TSRS) (17)7.2.5.综合更新请求(CTC → TSRS) (18)7.2.6.单个TCC/RBC的TSR状态请求(CTC → TSRS) (18)7.2.7.线路限速状态初始确认命令(CTC→TSRS) (19)7.2.8.TSR综合状态(TSRS→CTC/CTC) (20)7.2.9.TSR在TCC/RBC中状态(TSRS→CTC) (24)7.2.10.CTC时钟信息(CTC→ TSRS) (25)7.2.11.TSR错误回执(TSRS→CTC) (26)7.2.12.初始化错误回执(TSRS → CTC) (29)7.2.13.TSRS初始化状态信息(TSRS → CTC) (29)7.2.14.TSRS命令统计信息(TSRS CTC) (31)7.3.通信流程 (32)7.3.1.综合更新请求的交互流程 (32)7.3.2.TSR设置及取消流程 (33)7.3.3.初始化确认流程 (35)8.TSRSCTC接口安全功能模块与通信功能模块设置 (36)8.1.安全应用中间子层(SAI) (36)8.2.消息鉴定安全层(MASL) (36)8.3.冗余管理层(ALE) (37)附件1:参数定义 (38)1.引言1.1目的和范围1.1.1.1.本规范规定了临时限速服务器(TSRS)和调度集中系统(CTC)间接口的定义、应用层协议以及安全功能模块与通信功能模块参数设置等内容,安全层与传输层的规范参照《RSSP-II铁路信号安全通信协议》执行。
[1.5.2-1.10.2]从这⾥,你可以找到全世界⾥关于服务端最全的⼀切!所有服务端,都过来!重⼤公告!征集现有所有服务端!为了提供更加齐全的服务端核⼼⽂件,本贴现在征集各类本贴没有的服务端。
例如KBungeeCord,PaperspigotAPI,Minecraft_ServerAPI,BungeeCord,KPaperspigot,MCPE服务端,Sponge,K Cauldron等等各位作者可以按照格式独⽴发布到[软件资源]板块,然后私信本⼈或者回复本帖,我会带上服务端链接,作者链接,下载链接到其帖⼦!感谢⼤家的⽀持!另外,由于Spigot服务端API本⼈不会使⽤,希望各位技术⼤神做出解释!⽬录:展开 / 收起隐藏⽂字1.简单介绍2.核⼼下载3.关于核⼼⽂件的⼀切4.使⽤⼀切核⼼的教程5.服务端根⽬录解析6.有关于BungeeCord的⼀切7.有关于Sponge的⼀切8.有关于PaperSpigot的⼀切9.有关于Spout的⼀切10.有关于核⼼优化的⼀切11.有关于TorchSpigot得⼀切什么是核⼼⽂件?[转⾃stool、craftbukkit官⽹展开 / 收起隐藏⽂字这篇帖⼦包含了什么核⼼?CraftBukkit(⽔桶服务器)BungeeCord(跨服服务器)Spigot(⽔龙头服务器)SpigotAPI(⽔龙头服务器API)Minecraft_Server(官⽅服务器)Cauldron(原MCPC+)Libigot(现已停更)Spoutcraft(⽔龙头服务器)PaperSpigot(⽔龙头优化版)Sponge(海绵服务端API)TorchSpigot下载这些核⼼⽂件CraftBukkit:1.6.1-1.10.2百度⽹盘链接:/s/1kTmpnVLCauldron:1.7.2-1.7.10百度⽹盘链接:/s/1o6qse3wPaperSpigot:1.7.10-1.8.8百度⽹盘链接:/s/1o6mukyQBungeeCord:全版本百度⽹盘链接:/s/1jG3mrjwSponge:1.8 百度⽹盘链接:/s/1dDfeHQLLibigot:1.5.2、1.6.2 (官⽅已停更)链接:/s/1qW4vV6OSpigot:1.5.2-1.10.2百度⽹盘链接:/s/1mg87N1eSpigotAPI:1.8.3-1.10.2百度⽹盘链接:https:///s/1o8euBpwMinecraft_server:1.5.2-1.10 百度⽹盘(其中1.8分别有exe格式和jar格式,所有版本格式都带有官⽅控制⾯板)链接:/s/1pJLsVrlSpoutcraft:1.5.2 1.6.4 百度⽹盘链接:/s/1hqtgTRuTorchSpigot:1.8.8-1.9.4贴内链接链接:/forum.php?mod=viewthread&tid=610636此服务端为国⼈制作的Spigot分⽀,希望⼤家报以⽀持!下载链接请前往贴内下载,本贴暂不搬运更新。
网络协议知识:WebSocket协议的数据交换方式和应用场景WebSocket协议是一种基于TCP的协议,它提供了一种全双工的,实时的数据交换方式。
相比于HTTP协议的请求-响应模式,WebSocket协议的数据交换方式更为高效和灵活,能够满足一些特定的应用场景,比如实时数据传输、在线游戏、即时通讯等领域。
1. WebSocket协议的数据交换方式WebSocket协议的数据交换方式是全双工的,意味着客户端和服务器可以同时发送和接收数据,而且数据是实时的。
在WebSocket协议中,客户端和服务器会首先进行一次HTTP握手,建立起一个持久的连接,随后可以互相发送消息。
WebSocket协议的数据格式非常简单,它只是在每个数据包的头部添加了一些标记,表示这个数据包的类型和长度等信息。
具体而言,WebSocket协议的数据包头部包含以下信息:- FIN:1 bit,表示这个数据包是不是一个消息的结束,值为1时表示结束。
- RSV1、RSV2、RSV3:各占1 bit,一般保留。
- Opcode:4 bit,表示这个数据包的类型,比如文本、二进制、Ping等。
- Mask:1 bit,表示这个数据包的数据是否经过了掩码处理。
WebSocket协议规定,所有从客户端发送的数据包必须进行掩码处理,而服务器发送的数据包不需要。
- Payload Length:7 bit、7+16 bit、7+64 bit,表示这个数据包的负载长度,具体长度的编码方式和负载数据的具体含义由前几个字节的信息决定。
在WebSocket协议中,客户端和服务器发送数据的方式也非常灵活。
一方面,客户端可以通过send()方法向服务器发送数据;另一方面,服务器也可以主动向客户端发送数据,比如通过WebSocket的推送功能。
2. WebSocket协议的应用场景WebSocket协议的数据交换方式可以满足一些特定的应用场景。
以下是几个典型的应用场景:2.1实时数据传输WebSocket协议非常适合用于实时数据传输,比如股票行情数据、实时天气信息、实时交通情况等。
websocket协议标准WebSocket协议是一种用于在客户端和服务器之间进行双向通信的网络协议。
它允许服务器主动向客户端发送数据,而不需要客户端频繁地发送请求。
WebSocket的最初目的是为了解决HTTP协议在实时性和效率上的不足,它能够在客户端和服务器之间建立持久连接,实现实时数据传输。
一、WebSocket的特点和优势WebSocket具有许多特点和优势,使其成为一种非常受欢迎的网络协议。
1. 双向通信:与传统的HTTP通信相比,WebSocket可以在客户端和服务器之间实现双向通信,服务器可以主动向客户端发送数据。
2. 较低的延迟:WebSocket使用持久连接,与HTTP相比,不需要频繁地发起新的请求,可以减少通信的延迟。
3. 更高的效率:由于WebSocket减少了不必要的HTTP头部信息,提高了数据传输的效率。
4. 跨域支持:WebSocket协议可以突破浏览器的同源策略限制,实现跨域通信。
二、WebSocket协议的基本原理WebSocket协议基于HTTP协议,它通过一次HTTP握手过程来建立连接,之后就可以进行数据的传输。
下面是WebSocket协议的基本原理:1. 客户端发起连接请求:WebSocket客户端通过发送特定格式的HTTP请求头部信息来请求与服务器建立WebSocket连接。
2. 服务器进行握手响应:服务器收到客户端的连接请求后,检查请求头部信息,如果符合WebSocket协议的标准,则返回特定格式的HTTP响应头部,表示允许建立WebSocket连接。
3. 建立 WebSocket 连接:客户端收到服务器的握手响应后,会验证响应头部,确认允许建立WebSocket连接。
之后,客户端和服务器即可通过已建立的连接进行双向数据传输。
4. 数据传输:建立WebSocket连接后,客户端和服务器可以通过发送和接收数据帧来进行双向通信。
数据帧中包含了特定的控制位和数据。
数据交换接口规范引言概述:数据交换接口规范是指在不同系统之间进行数据交换时,为了确保数据的准确性、一致性和安全性,制定的一系列规则和标准。
本文将详细阐述数据交换接口规范的内容和要点。
一、数据格式规范1.1 数据格式标准化:数据交换接口规范要求在数据交换过程中,采用统一的数据格式标准,如XML、JSON等,以确保不同系统之间的数据能够正确解析和处理。
1.2 数据字段定义:规范中应明确规定各个数据字段的含义和格式,包括数据类型、长度、取值范围等,以便接收方能够准确理解和使用数据。
1.3 版本控制:为了适应系统升级和功能扩展的需求,规范应包含版本控制机制,确保不同版本的接口能够兼容和平稳升级。
二、数据传输规范2.1 传输协议选择:规范中应明确指定数据传输时所采用的协议,如HTTP、FTP等,以确保数据的安全性和可靠性。
2.2 数据加密与解密:为了保护数据的机密性,规范应包含数据加密和解密的规则和算法,确保数据在传输过程中不被非法获取或篡改。
2.3 传输方式选择:规范中应明确指定数据传输的方式,如同步传输、异步传输等,以满足不同系统之间的实时性和响应性要求。
三、数据校验规范3.1 数据完整性校验:规范中应包含数据完整性校验的规则和算法,确保数据在传输过程中没有丢失或损坏。
3.2 数据一致性校验:为了保证数据在不同系统之间的一致性,规范应包含数据一致性校验的规则和算法,确保数据在交换过程中能够正确映射和转换。
3.3 数据合法性校验:规范中应明确规定数据的合法性校验规则,包括数据的格式、范围、唯一性等,以确保数据的准确性和有效性。
四、数据交换流程规范4.1 数据交换触发条件:规范中应明确规定数据交换的触发条件,如时间触发、事件触发等,以确保数据交换的及时性和准确性。
4.2 数据交换流程:规范中应包含数据交换的流程和步骤,包括数据请求、数据响应、错误处理等,以确保数据交换的顺利进行。
4.3 异常处理机制:规范中应明确规定异常情况的处理机制,如网络中断、数据丢失等,以确保数据交换的可靠性和稳定性。
HTTP1.1协议规范(中⽂归纳版)⼀、介绍(introduction)1. ⽬的——HTTP/0.9-〉HTTP/1.0-〉HTTP/1.12. 要求——MUST、REQUIRED、SHOULD3. 术语——连接(Connection)、消息(Message)、请求(Request)、应答(Response)、资源(Resource)、实体(Entity)、表⽰⽅法(Representation)、内容协商(Content Negotiation)、变量(Variant)、客户机(Client)、⽤户代理(User agent)、服务器(Server)、原服务器(Origin server)、代理服务器( Proxy)、⽹关(gateway)、⾼速缓存(Cache)、可缓存(Cacheable)、直接(first-hand)、明确终⽌时间(explicit expiration time)、探索终⽌时间(heuristic expiration time)、年龄(Age)、保鲜寿命(Freshness lifetime)、保鲜(Fresh)、陈旧(Stale)、语义透明(semantically transparent)、有效性判别器(Validator)、实体标记(entity tag)或最终更改时间(Last-Modified time))、上游/下游(upstream/downstream)、向内/向外(inbound/outbound)4. 总体操作——请求/应答、中介⼆、符号惯例与⼀般语法(notational conversions and generic grammar)1. 扩充BNF——name = definition,"literal",rule1 | rule2,(rule1 rule2),*rule,[rule],N rule, #rule,; comment, implied *LWS2. 基本规则——OCTET,CHAR,UPALPHA,LOALPHA,ALPHA,DIGIT,CTL,CR,LF,SP,HT,<">三、协议参数(protocol parameters)1. HTTP版本——HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT2. 统⼀资源标⽰符(URI)——统⼀资源定位器(URL)和统⼀资源名称(URN)的结合,http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]3. ⽇期/时间格式——Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123,Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036,Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format4. 字符集——本⽂档中的术语"字符集"指⼀种⽤⼀个或更多表格将⼀个⼋字节序列转换成⼀个字符序列的⽅法,charset=token失踪字符集5. 内容编码——内容编码主要⽤来允许⽂档压缩(信源编码)content-coding= token注册表包含下列标记:gzip,compress,deflate,identity6. 传输编码——⽬的是能够确保通过⽹络安全传输(信道编码)transfer-coding = "chunked" | transfer-extensiontransfer-extension = token *( ";" parameter ),成块传输代码7. 媒体类型——media-type = type "/" subtype *( ";" parameter )type = tokensubtype = token规范化和原⽂缺省多部分类型8. 产品标记——product = token ["/" product-version]product-version = token9. 质量值——qvalue = ( "0" [ "." 0*3DIGIT ] )| ( "1" [ "." 0*3("0") ] )10. 语⾔标记——language-tag = primary-tag *( "-" subtag )primary-tag = 1*8ALPHAsubtag = 1*8ALPHA11. 实体标记——entity-tag = [ weak ] opaque-tagweak = "W/"opaque-tag = quoted-string12. 范围单位——range-unit = bytes-unit | other-range-unitbytes-unit = "bytes"other-range-unit = token四、 HTTP消息(HTTP message)1. 消息类型——HTTP-message = Request | Response ; HTTP/1.1 messagesgeneric-message = start-line *(message-header CRLF) CRLF [ message-body ]start-line = Request-Line | Status-Line2. 消息头——HTTP头域包括常规头,请求头,应答头和实体头域message-header = field-name ":" [ field-value ]field-name = tokenfield-value = *( field-content | LWS )field-content = <the OCTETs making up the field-value and consisting of either *TEXT or combinations of token, separators, and quoted-string>3. 消息体——message-body = entity-body| <entity-body encoded as per Transfer-Encoding>4. 消息的长度——决定因素5. 常规头域——general-header = Cache-Control| Connection| Date| Pragma| Transfer-Encoding五、请求(request)⾸⾏包括利⽤资源的⽅式,区分资源的标识,以及协议的版本号Request = Request-Line * (( general-header| request-header| entity-header ) CRLF) CRLF [ message-body ]1. 请求⾏——Request-Line = Method SP Request-URI SP HTTP-Version CRLF⽅法——⽅法标记指的是在请求URI所指定的资源上所实现的⽅式Method = "OPTIONS"| "GET"| "POST"| "PUT"| "DELETE"| "TRACE"| "CONNECT"| extension-methodextension-method = token请求URL——请求URL是⼀种全球统⼀的应⽤于资源请求的资源标识符Request-URI = "*" | absoluteURI | abs_path | authority请求⾏举例:GET HTTP/1.1GET /pub/WWW/TheProject.html HTTP/1.1Host: 2. 请求定义的资源——⼀个INTERNET请求所定义的精确资源由请求URL和主机报头域所决定3. 请求报头域——request-header = Accept| Accept-Charset| Accept-Encoding| Accept-Language| Authorization| Expect| From| Host| If-Match| If-Modified-Since| If-None-Match| If-Range| If-Unmodified-Since| Max-Forwards| Proxy-Authorization| Range| Referer| TE| User-Agent六、应答(response)接收和翻译⼀个请求信息后,服务器发出⼀个HTTP应答信息Response = Status-Line*(( general-header| response-header| entity-header ) CRLF) CRLF [ message-body ]1. 状态⾏——Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF状态码——状态码是试图理解和满⾜请求的三位数字的整数码,1xx,2xx,3xx,4xx,5xx,100-〉505-〉扩展码2. 应答报头域——response-header = Accept-Ranges| Age| Location| Proxy-Authenticate| Retry-After| Server| Vary| WWW-Authenticate七、实体(entity)在未经特别规定的情况下,请求与应答的消息也可以传送实体。
交易接口标准
交易接口标准是指在进行交易时,不同交易系统之间以及交易系统与用户之间进行交互和数据传输的规范和协议。
这些标准通常由行业协会、交易所或相关机构制定,以确保不同系统之间的兼容性和数据的安全性。
在证券交易领域,交易接口标准通常包括以下方面:
1.交易请求协议:这是用于发送交易请求和接收交易确认的通信协
议。
通常包括请求报文和响应报文的格式、数据元素定义、传输方式和通信协议等。
2.数据传输协议:这是用于在交易系统之间传输交易数据和实时行
情的通信协议。
通常包括数据格式、数据元素定义、加密和校验方式等。
3.用户接口协议:这是用于交易系统和用户之间交互的协议,包括
用户登录、账户信息管理、交易指令下达和交易结果查询等功能。
4.信息安全协议:这是用于确保交易数据的安全性和保密性的协议,
包括加密算法、数字签名和安全认证等。
5.业务规则协议:这是用于规范证券交易中业务规则的协议,包括
交易时间、交易方式、竞价机制和交割结算等规则。
需要注意的是,不同的交易所和交易系统可能采用不同的交易接口标准,因此在使用不同的交易系统时,需要了解相应的接口标准和协议,以便正确地与交易系统进行交互和数据传输。
登记过户系统与客户服务系统接口规范文档修改记录一、接口规范概述1.用途本接口规范仅描述登记过户系统给客户服务系统(包括CALL CENTER查询和网站查询)所提供数据的具体内容和形式。
2.数据处理规则为:(a)以文本文件定长记录方式提供数据;约定:将来需要新增加的字段都增加在尾部,客服系统读记录时,不用校验记录的长度,以保持兼容。
(b)文件的第一行为数据的记录数(c)最后一行为’END’(d)文件数据体中,每行代表一条完整记录;(e)换行必须用回车(ODH)、换行(OAH)字符;(f)数据项类型,C:字符型;N:数字;A:字符型,填数字(g)数字如是负数,第一位用’-‘表示,占用一个整数位(h)数字左补零右对齐,字符右补空格左对齐;(i)带有小数点的数值型数据,传输时不传小数点;本接口中,没有特别说明的,都表示2位小数。
(j)带下划线的字段为相应文件记录的主索引;3.包括内容本接口包含六个方面的数据:客户帐户信息、账户类确认数据、客户基金份额余额、客户交易流水(包括申请流水和确认流水)、基金分红信息和基金行情信息。
4.内容更新规则为:(a)每日由登记过户系统向客户服务系统提供一次数据;(b)每日所提供的数据仅表示截至到当日做完登记过户操作后的客户信息和基金行情信息;(c)每次只提供变化(包括新增和更新)的数据;也可不定期提供全部数据(文件名区分)二、客户账户信息数据1.数据生成规则:(a)客户帐户信息包括客户基本信息和基金帐号的登记信息两个方面的内容,这两个方面的内容同步更新;(b)客户资料和客户的基金帐号资料合在一条记录里形成所谓“客户基本信息”;(c)客户基本信息既支持新增客户记录模式又支持新增基金帐号记录模式;(d)客户基本信息还支持修改已有记录模式,销户也算修改记录范畴;(e)基金帐号登记信息:只要某基金帐号下的账户登记信息有变化(包括增加、修改和取消),则将与该基金帐号有关的所有基金帐号登记信息记录全部更新;2.客户基本信息的具体内容:变更数据文件名:Acco_yyyymmdd.txt,其中yyyymmdd为当天日期,以下同全部数据文件名:Acco_yyyymmdd_all.txt3.基金账号登记信息的具体内容:变更数据文件名:Acconet_yyyymmdd.txt全部数据文件名:Acconet_yyyymmdd_all.txt三、客户基金份额余额数据1.数据生成规则:(a)基金静态份额余额和份额明细同步更新;(b)对于静态份额数据,只生成当天发生过变化的记录(包括修改和新增),如份额余额变为0,也会生成对应数据;对于份额明细数据,只要基金帐号下的份额余额有变化(包括修改和新增加),则生成该基金帐号下的所有份额明细记录,包括不同基金、不同销售商;(c)基金份额全部用小数点后2位小数表达;2.基金静态份额的具体内容:变更数据文件名:Share_yyyymmdd.txt全部数据文件名:Share_yyyymmdd_all.txt3.基金份额明细的具体内容:变更数据文件名:ShareDetail_yyyymmdd.txt全部数据文件名:ShareDetail_yyyymmdd_all.txt4.基金总份额的具体内容:变更数据文件名:FundShare_yyyymmdd.txt全部数据文件名:FundShare_yyyymmdd_all.txt四、客户交易流水1.数据生成规则:(a)流水数据全部采用新增记录模式,发生日期字段里的日期代表申请;(b)基金份额、申请金额、红利金额、税收和相关费用全部用小数点后2位小数表达;2.账户确认信息的具体内容变更数据文件名:AccoRequest_yyyymmdd.txt全部数据文件名:AccoRequest_yyyymmdd_all.txt3.交易申请信息的具体内容:变更数据文件名:Request_yyyymmdd.txt全部数据文件名:Request_yyyymmdd_all.txt4.交易确认结果的具体内容:变更数据文件名:Confirm_yyyymmdd.txt全部数据文件名:Confirm_yyyymmdd_all.txt5.交易确认明细的具体内容:变更数据文件名:ConfirmDetail_yyyymmdd.txt全部数据文件名:ConfirmDetail_yyyymmdd_all.txt赎回、转托管出入、非交易过户出入、基金转换出入、份额调减,有明细6.业绩提成流水的具体内容:变更数据文件名:ProfitCurrent_yyyymmdd.txt全部数据文件名:ProfitCurrent _yyyymmdd_all.txt五、基金分红明细变更数据文件名:Dividend_yyyymmdd.txt全部数据文件名:Dividend_yyyymmdd_all.txt六、基金行情信息1.基本行情信息变更数据文件名:FundInfo_yyyymmdd.txt全部数据文件名:FundInfo_yyyymmdd_all.txt2.补充行情信息变更数据文件名:FundInfoAdd_yyyymmdd.txt全部数据文件名:FundInfoAdd_yyyymmdd_all.txt是基金基本行情文件的补充。
与客户端数据协议规范(20100408最后更新)数据包构成OG1的例子0017<SOH>10<SOH><SOH>0G1<SOH>3<SOH>1<SOH>0024<SOH>10<SOH><SOH>S<SOH>000 001<SOH>1000<SOH><EOT>协议规范定义了,客户端与本服务器间的通讯数据格式,目前考虑的网络协议采用TCP方式考虑到客户端处理数据包的方便性,包结构的设计尽量考虑简单一些,这样牺牲了一些效率,但带来了方便。
每个包分为两部分包头(这里里包头不是TCP/IP的包头)包内容包头结构:定义:域间隔符为:SOH=chr(1),包结束符为:<EOT>=chr(4) 包后续标志为:ETX=chr(3)包头长度<SOH>指令序号<SOH>保留<SOH>指令<SOH>数据列数<SOH>数据行数<SOH>解释:每个域的格式都是字符窜形式。
包头长度:固定4个字节,包头的总长度(字节)(鼓最大为9999字节)指令序号:按顺序生成的,每产生一个新的指令,就产生一个相应的序号,请求包和应答包有相同的指令序号,指令序号用来标志传送的包所从属的指令,在数据包过大,必须分包传送时,须保持指令序号一致,否则应用将无法保证指令数据的完整生成。
由于客户端和服务器端都有可能发起指令,二者使用的序号如何避免重复呢?目前采用简单的分段方式,即:客户端生成的包在(1-99999)循环使用而服务器的包在(100001-199999)循环使用保留:目前可以留空不填,为安全等因素考虑保留指令:固定3字节,表示系统特定的指令,具体指令见指令表数据列/行数:每个指令的数据都可以看作一个二维表。
数据列数必须给出,但数据行数却可以指定为0,数据行数为0的情况,表示数据的行数无法确定,必须读到包内容的<EOT>才能结束包内容结构:包长度<SOH>指令序号<SOH>保留<SOH>数据(1,1)< SOH >数据(1,2)<SOH>…….数据(1,n)< SOH >数据(2,1)< SOH >数据(2,2)<SOH>…….数据(2,n)< SOH >…….数据(m,1)< SOH >数据(m,2)<SOH>…….数据(m,n)< SOH > <EOT>对于包长度过大(>9999)的数据包,则需要分包传送:只须在每个包的结尾,将包结束标志替换为后续标志,形式如下:包长度<SOH>指令序号<SOH>保留<SOH>数据(1,1)< SOH >数据(1,2)<SOH>…….数据(1,n)< SOH >数据(2,1)< SOH >数据(2,2)<SOH>…….数据(2,n)< SOH >…….数据(k,1)< SOH >数据(k,2)<SOH>…….数据(k,n)< SOH > <ETX>后续包可以有多个:包长度<SOH>指令序号<SOH>保留<SOH>数据(k+1,1)< SOH >数据(k+1,2)<SOH>…….数据(k+1,n)< SOH >数据(k+2,1)< SOH >数据(k+2,2)<SOH>…….数据(k+2,n)< SOH >…….数据(l,1)< SOH >数据(l,2)<SOH>…….数据(l,n)< SOH > <ETX>……包长度<SOH>指令序号<SOH>保留<SOH>数据(p,1)< SOH >数据(p,2)<SOH>…….数据(p,n)< SOH >数据(p+1,1)< SOH >数据(p+1,2)<SOH>…….数据(p+1,n)< SOH >…….数据(m,1)< SOH >数据(l,2)<SOH>…….数据(m,n)< SOH > <EOT>由于我们利用的是TCP协议,包传送中的丢包问题已经在传诵层解决了,无须再考虑中间的丢包问题,指令定义:系统保留:第一位S保留为系统内部使用。
一般SQL:客户端的SQL调用由客户端发送到服务端,直接调用SQL 主要为了简化哪些与服务端关系不大的数据存储,数据获取RQ1:客户端的SQL调用结果返回RQ2:客户端的SQL调用查询结果返回由服务端发送到客户端,直接调用SQL结果返回,主要是对有查询的结果返回查询结果。
权证套利监控相关0W1:获得所有可套利权证(目前0W1和0W2未使用)由客户端发送到服务端,获得所有需要监控的权证0W2:服务端应答0W1由客户端发送到服务端,获得所有需要监控的权证0W3:获得所有可套利权证0W4: 0W3请求服务端应答由客户端发送到服务端,获得所有需要监控的权证1W1:增加套利权证产品1W2:增加套利权证产品(1W2)应答501用户登录应答:必须应答,由服务端应答502502用户登录应答由服务器发送到客户端。
1、行情传送行情传诵由于传送的数据比较复杂,需要考虑的问题:1、在存在多个指数基金的情况下,如果按照每个指数基金分别传送行情的方式传送,那么数据的重复传送和网络压力都无谓增大。
2、行情数据中许多不变的数据,如果重复传送似乎意义也不大。
3、对于指数基金而言,如果完全按照展现的结构传送,的确可以减少客户端的工作,但对于协议的要求就比较高。
按目前我们定义的简单包结构来传送是很浪费空间的。
综合以上考虑因素,目前对于行情的传送采用一个比较倾向于减少数据流量的模式将行情传送,分为初始传送和增量传送两个部分,初始传送传送完整的行情相关数据增量传诵只传送变化的数据具体指令:20050228add由于套利多个基金,如果对于每个基金股票都传送行情的话,传送的数据量可能太大,因此我希望修改一下以下协议,增加一个请求包,让客户段端先选定一个基金套利基金然后传送本基金下的数据包0G1:订阅行情由客户端发送到服务端,选择需要传送的行情列表。
服务端得到该包后才会根据订阅的证券代码表定该请求发送后无需等待应答,服务端接收该请求后会定时发送行情0G20G2:个股行情的完整传送:0G3:股票行情的变化传送0G4:取消行情订阅客户端退出时调用,取消行情订阅0G5:期货品种行情的完整传送:(20060915 为股指期货的推出而添加)0G6:期货行情的变化传送,目前与股票行情的变化传诵完全一致0G8:订阅逐笔成交数据0G9:逐笔成交数据0GA:订阅订单队列数据0GB: 订单队列明细1G1: 为了某些应用需要,定义本请求及1G2来获取静态行情注意以下的个请求间都是一对一的应答关系1G2:股票行情的静态传送1G3:获取后复权行情1G4:复权股票行情的静态传送1G5:本请求获取在某个时点上的前复权行情1G6:复权股票行情的静态传送4.登录相关高频数据服务目前,我部门已收集完成很长历史时间的高频数据,数据目前按照DBF格式存放,虽然浪费空间但却处理方便,空间其实也不是什么大问题,目前大硬盘已经出来。
FS1:获得基本高频数据(起止时间范围内获取)FS2:高频数据系统内部指令S01:系统退出S03:登记客户端成功连接内部线程间处理。
由交易监控发送给行情监控,通知其客户端连接有效的消息S02:注销客户端连接S05:期货API获取数据后向监控线程转发系统内部使用,用于金交所行情的获得S06恒生期货行情获取数据后向处理线程转发数据域类型与Hs行情的包类型一致。
在hs宣布修改结构后我相关程序也需要修改S07恒生期货推送行情获取数据后向处理线程转发目前与S06保持一致S11:Timer消息定时发送,系统中起定时器的作用S12:行情服务用于通知行情变化的发送S20:恒生数据推送系统内部交换,委托增加通知S21:恒生数据推送系统内部交换,委托状态变化通知S22:恒生数据推送系统内部交换,成交通知S23:恒生数据推送系统内部交换,资金变化通知S25:恒生数据推送系统内部交换,库存变化通知以下几个系统指令使用在高频数据查询服务中SF1:高频数据建立索引系统内部使用,用于建立某日期下的高频数据的索引恒生系统信息推送系统相关指令0D0:订阅登记1D0:订阅登记回应是0D0的应答包0D1:订阅项目库存资金订阅发生后,服务端发送基本的初始数据给客户端,包括以下一系列应答包1D1:项目库存完整及变化数据1D2项目资金数据0D3订阅委托数据1D3委托初始数据1D4委托变化数据0D5订阅成交数据1D5 成交数据1D8 Live Check定时发送CheckPoint用来激活客户端进行某些操作0D9委托状态重传请求用于在客户端因中途退出系统或其他原因未订阅到的委托信息20081020 下单代理网关的指令集合由于信托牛证项目的实施,标志着部门将以投资顾问模式进行业务,这样将面对不同的经纪商行使下单,为了保证部门客户端程序不因不同的经纪商发生改动,我们需要开发一个代理网关,屏蔽不同系统间的差异和解决不同网络间的通讯问题。
同时为了保证交易效率,在本业务模式下的所有业务都通过异步方式来实现。
G01:作为请求端登记每个连接的客户有两种角色连接代理服务,A:请求端B:接收端,本请求使连接客户注册为请求端:请求端-》代理网关G02:请求端登记回应每个连接的客户有两种角色连接代理服务,A:请求端B:接收端,本请求使连接客户注册为请求端:请求端-》代理网关G03:作为服务端登记接收端-》代理网关每个连接的客户有两种角色连接代理服务,A:客户端B:服务端本请求使连接客户注册为接收端G04:服务端登记应答接收端-》代理网关每个连接的客户有两种角色连接代理服务,A:客户端B:服务端本请求使连接客户注册为接收端G07:委托指令G08:委托应答由端->代理网关G09 委托状态改变接受端->请求端,代理端完全转发G10:资金库存刷新请求G11:资金刷新接受端->请求端,代理端完全转发G12:库存刷新接受端->请求端,代理端完全转发G05:委托撤单指令由请求端->代理网关G06:委托撤单应答由端->代理网关G15:委托状态刷新请求由请求端->代理网关返回指令G09G16:心跳部门标志的字典含义:市场,目前的部门应用中用一个字符标志如下:H上海S深圳J 开放基金F 金交所D 大连期货Z 郑州期货G上海金属期货行情字段名称,前收盘今开盘最新价成交数量成交金额最高价最低价买1价买2价买3价买4价买5价卖1价卖2价卖3价卖4价卖5价买1量买2量买3量买4量买5量卖1量卖2量卖3量卖4量卖5量LOF净值syl2市盈率2前LOF净值syl1市盈率1前结算前持仓量持仓量今收盘今结算涨停板价跌停板价昨虚实度今虚实度停牌标志。