




已阅读5页,还剩61页未读, 继续免费阅读
(计算机系统结构专业论文)实时交易环境下网络通信协议的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
丝苎塑萋丝璺墨一 实时交易环境下网络通信协议的研究与实现 ( 硕士论文) 学位申请人:朱德栋导师:刘均副教授 ( 电子科技大学) 摘要 ( 随着国内外交易市场的复苏,以及随后股指期货等新的实时交易品种的推出,对整个 交易市场将有很大促进;同时,大量的经纪公司也将参与股指交易,无论是资金面还是客 户量、交易量都将有很大的增长。更多的实时交易种类、更大的交易金额以及更强的性能、 安全和可靠性要求,对整个交易系统提出了新的挑战。目前大多数实时交易系统是面向商 品设计的,采用交易主机会员端服务器两层体系结构,已经不能很好地满足多交易品种、 大交易量的交易要求,其性能、安全性和可靠性成为实时交易的瓶颈。因此,对目前的系 统进行整体性地调整,采用新的体系结构,建立一套能适应各类期货、期权等金融衍生工 具交易的计算机系统,提高交易过程中数据通信的安全性和可靠性,就成为迫在眉睫的任 务。本文正是在这样的背景下,基于我国五大交易所之一一上海期货交易所的交易原型系 统的研究和开发项目,研究实时交易系统中的数据通信协议:信息打包协议x m p ( e x c h a n g e m e s s a g ep r o t o c 0 1 ) 和交易协议x ! p ( e x c h a n g e t r a n s a c t i o np r o t o c 0 1 ) ,并讨论了协议的设计 和实现。p 本文眚先介绍了最新交易原型系统的模型,说明了交易主机,交易前置机和会员端服 务器的三层模型的架构。用前置机作为会员端接入软件交易终端与交易主机之间的桥梁, 在三层客户服务器模型中起到应用隔离、网络隔离、链路管理和负载均衡等功能。然后 介绍了适用于实时交易系统的熬据通焦地蕴x m p 和x t p 。针对一台交易主机挂接多台交易 前置机、一台交易前置机挂接多台会员端服务器的体系结构以及双向实时数据传输的特 点,提出了“流( f l o w ) 机制”和“序列号机制”相结合的思想来实现协议数据传输的唯 一性处理、数据包丢失检测和错误重传;着重说明了“流机制”的基本工作原理和实现思 路。最后介绍了协议应用程序接口( a p i ) 的设计思想及实现。目前,本人实现的x m p x t p 数据通信系统正应用于上海期货交易所期货交易系统,运行效果良好,为整个交易系统的 性能提供了有力保证;并已取得了巨大的经济效益。 关键词:唧父x t 欺流机制;序列号机制,交易原型系统? 数据包丢失检测机制, 皇王型丝盔堂婴圭兰堡堡苎一 a b s t r a c t t h er e s u s c i t a t i o no ft r a n s a c t i o nm a r k e t sa r o u n dt h ew o r l d ,a sw e l la st h ea p p e a r a n c eo f n e wt r a n s a c t i o nv a r i e t i e ss u c ha st h es h a r ei n d e xf u t u r e ss u b s e q u e n t l y h a v eb r o u g h tg r e a t d e v e l o d m e n tt ot h ew h o l e t r a n s a c t i o nm a r k e t a tt h es a m et i m e ,w i t ht h ep a r t i c i p a t i o no fm a n y b r o k i n gc o m p a n i e si nt h es h a r ei n d e x f u t u r e st r a n s a c t i o n ,t h et r a n s a c t i o nm o n e ya sw e l la st h e t r a n s a c t i o nv o l u m ew i l li n c r e a s ei nal a r g es c a l e i ti san e wc h a l l e n g e t ot h ep r e s e n tt r a n s a c t i o n s y s t e ms i n c et h er e q u i r e m e n t so f m o r er e a l t i m et r a n s a c t i o nv a r i e t i e s ,m o r et r a n s a c t i o nm o n e y a n db e t t e rp e r f o r m a n c e ,s e c u r i t ya n dr e l i a b i l i t yo ft h et r a n s a c t i o ns y s t e m 。n o w , m o s to ft h e t r a n s a c t i o ns y s t e m sw e r ed e s i g n e db yo r i e n t i n gt oc o m m o d i t i e sa n da d o p t e dt h e t w ol a y e r s a r c h i t e c t u r em o d e l ,w h i c hh a v e n tm e tt h en e e d so fm o r et r a n s a c t i o n v a r i e t i e sa n d l a r g e r t r a n s a c t i o nv o l u m e t h e i rp e r f o r m a n c e ,s e c u d t ya n dr e l i a b i l i t yh a v eb e c o m et h ec h o k ep o i n to f r e a l t i m et r a n s a c t i o ns y s t e m t h e r e f o r e ,i ti sav e r yu r g e n tt a s kt oc h a n g et h ea r c h i t e c t u r eo f t h e p r e s e n t t r a n s a c t i o ns y s t e m ,t oi m p l e m e n tn e w t h r e e l a y e r sa r c h i t e c t u r e ,t od e v e l o pn e wc o m p u t e r t r a n s a c t i o ns y s t e m ,w h i c hc a nm e e tt h en e e d so f a l lk i n d so ft r a n s a c t i o nv a r i e t i e ss u c ha sf u t u r e g o o d s ,f u t u r eo p t i o n se t c ,a n dt oi m p r o v et h ep e r f o r m a n c eo f r e a l t i m et r a n s a c t i o ns y s t e m u n d e rt h i sb a c k g r o u n da n db a s e do nt h ea s s i g n m e n to fr e s e a r c h i n ga n dd e v e l o p i n gr e a l - t i m e t r a n s a c t i o np r o t o t y p es y s t e mo fo n eo ft h ef i v ee x c h a n g e s - - - s h a n g h a if u t u r ee x c h a n g e ,t h e d i s s e r t a t i o ni si n t e n d e dt or e s e a r c ha n di m p l e m e n tt h ee x c h a n g em e s s a g ep r o t o c o l ( x m p ) a n d m e s s a g et r a n s a c t i o np r o t o c o lf x t p ) w h i c ha r ed e s i g n e d t o g u a r a n t e e i n gt h es e c u r i t y a n d r e l i a b i l i t yo f t h ed a t at r a n s m i s s i o ns y s t e ma n dd i s c u s s e st h ed e s i g na n di m p l e m e n to f t h ex m p a n d x t p t h ed i s s e r t a t i o nf i r s tp r e s e n t san e wt r a n s a c t i o ns y s t e mm o d e l ,w h i c ha d o p t st h r e e - l a y e r s a r c h i t e c t u r ei n c l u d i n gh o s t ,f r o n tt r a n s a c t i o nh o s ta n dm e m b e rs e r v e r s a c t i n ga st h el i n k a g e b e t w e e nt h et r a n s a c t i o ne n ds y s t e m sa n dh o s t t h ef r o n tt r a n s a c t i o nh o s ts e l v e sa sa p p l i c a t i o n i s o l a t i o n ,p h y s i c a ln e t w o r ki s o l a t i o n ,m e s s a g ec h a n n e lm a n a g e m e n t a n dl o a db a l a n c e a n dt h e n , t h ep a p e ri n t r o d u c e sx m pa n dx t e ip u tf o r w a r dan e w w a y t h a tu s e st h ec o m b i n a t i o no ft h e “f l o w m e t h o da n dt h e s e q u e n c en u m b e r m e t h o d ,w h i c ha i m i n ga ts o l v i n gt h ep r o b l e mt h a t o n eh o s ti sc o n n e c t e db ys e v e r a lf r o n tt r a n s a c t i o nh o s t sa n do n ef r o n tt r a n s a c t i o nh o s ti s u 塑垒竖 o o 咖。t b ys e v e r a lm e m b e rs e r v e r s t h en e w w a yc a l le n s l i r et h eu n i q u er e c e i v i n go fd a t a t r a n s m i 8 8 i 。n ,8 玎o rc h e c k i n ga n d r e 。t r a n s m i a i n g 。ft h ew r o n gd a t a p a c k a g e s ,e s p e c j a i i yf o c u s e s 。“t h 。i n t 。r p r c a t i o i l0 ft h ep r i n c i p a l 。f f 1 0 w m e t h o da n di t si m p l e m e n t a t i o n w a yf i n a l j y ,t 1 1 e d i 8 8 。r t a t i 。np r e s e n t st h e d e s i g na 1 1 di m p l e m e n t a t i 。n 。f a p p l i c a t i o n p r o g r a m m i n g i n t e r f a c e ( a p i ) o f x m pa n dx t p k e yw o r d s :x m p , x t p , f l o w m e t h 。d ,s e q u e n t i a in u n a b e rm e t h 。d ,p r o t 。t y p et h n s a c t i 。n s y s t e m ,d e t e c t i o no f t h e w r o n g d a t a p a c k a g e i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:乳监痒一日期:) 7 年;j 月龉 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后 签名: 应遵守此规定) 导师签名: 主机实时流,数据库中发生变化且对交易产生影响的数据通过此通 道传输到交易系统;数据库 主机查询流,数据库向主机发出的查询主机内数据的请求通 过此通道发给主机,主机通过此通道返回查询结果;主机数据库实时流,主机将交易变 化数据通过本通道发给数据库;主机数据库查询流,主机通过本通道向数据库发出查询 本机所需要的数据的请求,数据库通过本通道返回查询结果。 主机系统: 按交易规则处理交易前置机发来的交易指令;按交易规则控制市场状态的改变:向所有的 交易前置机,中心数据库,发出交易响应指令;向异地交易流水备份系统发出包括交易响 应指令在内的所有对交易系统数据带来变化的数据。主机系统除了与中心数据库有4 条通 电子科技大学硕士学位论文 道外,与所有的前置机都有主机,前置机通信连接;与交易流水异地备份系统也有通道。 交易前置机: 在前置机中,处理交易规则检测的系统除了有与主机的主机前置机通信通路外,它还有两 种向下连接的通路,一条是查询通路,用来接受查询请求和返回响应;另一条是交易通路, 用来传输其他交易指令和响应。将查询和交易指令区分不同的通信通路,是为了减少大数 据量的查询对交易的影响。在前置交易内部,也需要考虑将交易和查询在处理上分开来, 以充分利用这两条不同的通路。 前置机内协议机: 向下接受协议报文并按协议规则进行处理后,区分查询和交易并将其发到不同的通路上。 从查询和交易通道上接受报文,分别发到交易流,私有流市场流中。前置机内协议机可以 连接多个会员端协议机。 会员端协议机: 接受来自a p i 层的报文,按协议规定的格式通过交易流发给前置机内的协议机,将从上面 发来的报文转发到a p i 层。会员端协议机与a p 层通过进程间通信连接。 a p i 层与客户端主机系统: a p i 层通过系统调用的方式来使用,a p i 层提供一些方法给客户端主机系统来向会员端协 议机发送数据;并提供另外一些方法,在从会员端协议机接收到报文时,通知客户端主系 统做相应的处理。 2 3 子系统设计 2 3 1 中心数据库系统 如下图所示: 在中心数据库中建立4 个应用进程,将四条链路上的数据传输彻底区分开来。另外, o p e n s e r v e r 响应s p 的调用分别写修改命令文件和查询命令文件。各应用进程的功能如 第二章实时交易原型系统介绍 f : 1 数据库修改交易数据( d b m t ) :读取“修改指令”文件中的指令,从数据库一 主机实时 流发给交易主机,待到主机确认收到后,再读取下一个指令发给交易主机。本进程在建立 数据库 主机实时流时,通过登录请求登录应答来得到当日交易系统已经得到的指令的序 列号,从该序列下一个指令开始传输。 2 数据库查询交易数据( d b q t ) :读取“查询指令”文件中的指令,从数据库 主机查询 流中发给交易主机,而后接收从该流发回的查询结果,利用该查询结果修改数据库。直到 所有的查询结果返回后,才继续读取下一个查询指令。若在修改数据库时出现错误,将错 误记录到本进程的错误曰志中。本进程在建立数据库 主机查询流时,总是从序列号0 开 始,不补发以前的数据。 3 交易系统查询数据库( t q d b ) :读取主机数据库查询流中的查询命令,将查询命令映 射为数据库查询命令去访问数据库,将得到的查询结果从该流中发回给主机系统。在一个 查询操作没有结束之前,本进程不接受下一个查询命令。本进程在建立主机 数据库查询 流时,总是从序列号0 开始,不补发以前的数据。 4 交易系统修改数据库( t m d b ) :读取主机 数据库实时流的修改指令,调用存储过程修 改数据库。在调用成功的情况下,通过主机 数据库实时流返回成功写库报文给主机。否 则,返回失败写库报文给主机,并记录本进程的错误日志。本进程在建立主机 数据库实 时流时,首先通过登录登录应答来得到当日交易系统已经得到的指令的序列号,从该序列 下一个指令开始传输。 2 3 2 主机系统 电子科技大学硕士学位论文 主机系统由两个进程组成:一个是网络和控制进程( h o s t c o m ) ,另一个是交易进程 ( h o s t t r a n s ) 。 网络和控制进程作用如下: 用来与前置交易系统,中心数据库系统,交易流水异地备份系统和主机内的交易进程 进行通信,以上图中的各接口通信模块都是实现此目的的。 实现不同指令在各接口之间的传输,从各接口得到的指令通过命令分发模块到其目的 地。 实现状态控制,在本进程中有一个状态控制模块,当系统的状态为自动时,该模块根 据系统时间来发出状态切换指令。 交易流水的备份和转发:在交易流水管理接口通信中有两个目的,一个是将交易流水 写在文件中,另一个是将这些交易流水发到交易流水异地备份系统中。 交易进程的作用如下: 完成状态变化对交易数据的改变:接受状态变化指令,改变市场或合约的交易状态; 或监督熔断条件,主动地进行某合约的状态改变。 报单录入:检测报单在该状态下是否可以录入,并调用撮合管理中的连续交易或竟价 1 4 第二章实时交易原型系统介绍 交易完成撮合。 报单操作:检测该操作在本状态下是否可行,并通过撮合管理进行报单操作。 期转现:完成期转现报单和确认。 交割申报:检测交割申报的合法性,并加入撮合队列中。 参数修改:对交易权限信息进行修改。 查询:接受查询指令,查询主机的交易进程本身可以得到的数据。 市场信息:发送市场信息。 成交回报:发送成交回报。 2 3 3 交易前置机( f r o n t t r a n s ) f 主机前置通信 0 主机命令处理 数据管理 ( 交易命令处理 ( 查询命令处理 前置交易接收来自前置机内协议机的交易和查询命令,接受来自主机的交易命令,进行处 理和转发。 电子科技大学硕士学位论文 2 3 4 前置机内协议机( x t p c o m ) + 前置机内协议机框架图 前置机内协议机完成下面的交易流、私有流和市场流与上面的交易通道和查询通道的命令 转发工作。由于需要接入多条连接,因此需要连接调度来对各接口处理进行管理和调度。 另外,可以考虑将交易流、私有流和市场流分为三个线程来处理,以提高并行处理能力。 2 3 5 会员端协议机( m e m b e r p r o t o ) 千十千 交易流私有流市场流 p i 与协议机通信 会员端协议机框架圈 会员端协议机与前置机内协议机通过交易流私有流厂市场流连接,向下与a p i 层通信。在 会员端协议机层可实现本地查询功能:从下面发过来的查询请求可以在本地完成查询。 2 3 6 客户端与a p 层 1 6 第二章实时交易原型系统介绍 在a p i 层提供两类函数。一种是像初始化和命令发送这样的函数,由客户端应用主动调用 并可返回结果的,一种是a p i 层异步接到从上面来的命令,主动调用客户端的函数的。 2 3 7 接口设计 2 3 7 1 会员端协议机与前置机协议机之间的接口 建立在s s l 或t c p 协议基础之上的数据传输协议都采用x m p 协议来封装业务数据, 采用类似x t p 协议机制来保证数据的顺序性和可达性,具体描述如下: 采用客户服务器模型,交易所计算机是服务器,会员端系统是客户端。客户和服务器 之间传送三种信息数据流: 交易数据( t r a n s a c t i o nf l o w ) 。它是双向信息流,会员在此递交所有的交易请求和查询 请求,会员登录成功后,可以向服务器发出业务申请,服务器将处理结果回送给会员, 交易结束后登录退出。 私有信息( p r i v a t e f l o w ) 。由交易主机发送给会员的成交回报等私有信息,是单向数据 流。 市场数据( m a r k e t f l o w ) 。单向信息流,用于发送交易行情和交易所通知等公共信息。 2 3 7 2 中心数据库与交易主机的接口 有四条通信流如下: 数据库 主机实时流:传输从数据库发给交易系统的实时数据更新报文: 数据库一 主机查询流:数据库向主机发送查询命令,并从该流返回查询结果。 主机 数据库实时流:主机将交易产生的发生变化的数据发给数据库。 主机 数据库查询流:主机向数据库发送查询命令,并从该流返回查询结果。 以上各流均建立在t c p 的连接之上,连接发起方都是中心数据库。 采用x m p 协议封装数据包,其报头和扩充报头的意义与原x m p 协议的规定一致,但在扩 充报头中关于心跳检测的字段的意义如下: ix m p t a g k e e p a l i v el o x 0 5 10 字节。均由发起方即中心数据库方发出心跳l ill 焦星:由窒墨圭塑壅垫塑! f 业务数据采用类x t p 的包来封装,在报头中的字段与x t p 协议中的说明是一致的。其中 关于s e q u e n c e n u m b e r 的说明如下: 正常情况下,每个流的两端在发送数据包时,递增自己的s e q u e n c e n u m b e r , 保证数据的连 续性。每个流的两端都对s e q u e n c e n u m b e r 进行检测,如果发现失序,则立刻断开连接, 进行重新连接。过程如下: 1 ) 两个查询流中,每次重新连接时,该序号都从0 开始,不补发上次查询没收到的数据。 在数据库 主机实时流中,登录后,由交易主机在登录应答时附带一个报文,包括自己上 次接受的报文s e q u e n c e n u m b e r , 通过对序列号的分析,由数据库确定是否应该重新发送报 文。 2 ) 在主机数据库实时流中,登录时,由数据库在登录请求中时附带一个报文,包括自己 上次接受的报文s e q u e n c e n u m b e g 通过对序列号的分析,由交易主机确定是否应该重新发 送报文。 3 ) 关于s e q u e n c e s e d e s 的说明:对从交易主机发出的报文,由该字段来区分不同的交易主 机系统,对从数据库发来的报文,此字段可区分这四条通信流,也可简单置为0 ,由登录 电子科技大学硕士学位论文 类型来判断该连接是什么通信流。 在协议的运行控制方面的设计如下:对于两个实时流,在发起方没有接收到对方的收到信 息确认之前,不发送下一个命令。对查询流,在上个查询没有结束之前,不接受处理下 一个查询命令。 2 3 7 3 其他系统之间的接口 在本系统中的接1 3 还包括交易主机与前置机的接1 3 ,交易前置机内的协议机与会员端 协议机之间的接口。这些子系统之间为了保证数据传输的可达性和顺序性,也采用在x m p 协议封装下的类x t p 传输。真正的x m p x t p 协议与它的区别在于x t p 中对s e q u e n c e s e d e s 和s e q u e n c e n u m b e r 的不同使用方式。在这里,s e q u e n c e n u m b e r 均表示在某一个连接上两 端的发送序号,而专门面向会员、席位交易员管理员的s e q u e n c e n u m b e r 则作为x t p 包 中附加的f i e l d 中,在真正进行私有流或市场流的传输时再赋给x t p 包的s e q u e n c e n u m b e r 。 在这些系统中,对s e q u e n c e n u m b e r 的检测遵循一致的方式:当发现失序后,则断开连接, 重新登录,这种情况下两边都需要将自己已经接受的序列号告诉对方,先完成各自丢失的 数据包的重传,再进行其他操作。 2 3 8 关于检测进程活动情况的心跳传输 由于要对各服务器上的进程的活动情况进行监控,各个进程需要向交易主机发送心跳 信息,这里考虑在统一的x m p 心跳报文后跟一个x t p 包,包含机器的地址和进程标识, 表明该心跳是从哪个机器的哪个进程发出的。 本文所依托的项目,就是从事上海期货交易系统的实时交易原型系统的研究和开发。 我们采用三层体系架构,来提高整个系统的可靠性和处理性能。在这种三层架构中,交易 主机和交易前置机以及交易前置机与会员端服务器之间的数据通信都采用x m p x t p 通信 协议,x m p x t p 协议保证所有交易数据的可靠性传输,并负责交易数据的实时错误检测 和重传,并对所有传输的数据包做语意解释。 本文将在第三章详细介绍x m p x t p 数据通信协议的设计原理,其保证数据可靠传输 的基本机制及主要数据包数据结构设计。目前,本人实现的x m p x t p 数据通信系统正应 用于上海期货交易所期货交易系统,运行效果良好,为整个交易系统的性能提供了有力保 证;并已取得了巨大的经济效益。 第三章x m p x t p 数据通信协议的设计 第三章x m p x t p 数据通信协议的设计 3 1 引言 3 1 1x m p x t p 数据通信协议的引入 由交易主机、交易前置机和会员端服务器组成的三层实时交易系统体系结构,无论是 在交易主机和交易前置机,还是交易前置机和会员端服务器之间,都采用客户服务器模式 进行通信。作为客户端的会员服务器与作为服务器端的交易系统外围予系统的前置机系统 之间,以及作为客户端的交易系统外围子系统的前置机系统与作为服务器端的交易主机之 间交换的数据都是适用于实时交易的特殊数据,它们有固定的格式,需要有很高的安全性 和可靠性;并且,对系统的数据传输量有很高的要求。普通的t c p i p 数据流由于不能满 足对交易数据的固定格式的完整性解释要求,需要定义新的数据交换协议。对协议有以下 几点要求: 1 保证数据的可靠传输,不丢包、不乱序。 2 保证数据的唯一性处理,确保数据的不重复。 3 传给数据接收端的数据是有固定格式,有定语义的数据。 基于具体业务的保密性考虑,采用建立在s s l 或t c p 协议基础之上的数据传输协议来解 决数据的顺序可达性。客户端和服务器端之间交换着三种数据流,具体描述如下: 1 交易数据( t r a n s a c t i o nf l o w ) 。它是双向信息流,会员在此递交所有的交易请求和查询 请求。会员登录成功后,可以向服务器发出业务申请,服务器将处理结果回送给会员, 交易结束后登录退出。 2 私有信息( p f i v a t ef l o w ) 。单向数据流,由交易主机发送给会员的成交回报等私有信息。 3 市场数据( m a r k e tf l o w ) 。单向信息流,用于发送交易行情和交易所通知等公共信息。 以上三种数据流使用t c p 协议和s s l ( s e c u r es o c k e tl a y e r ) 协议通讯。无论是那种数据 流,其交换的信息都是结构化的,这和普通的单向或双向信息流( s t r e a m ) 是不一样的。 由于其结构化特性以及链路管理的需要,必须对数据进行打包封装。为此引入信息打包协 议x m p ( e x c h a n g e m e s s a g e p r o t o c 0 1 ) 和交易协议x t p ( e x c h a n g e t r a n s a c t i o n p r o t o c 0 1 ) 。 3 1 2x m p x t p 数据通信系统框架 整个x m p x t p 数据通信系统包括四大系统:交易系统数据处理系统,会员服务器系 1 9 电子科技大学硕士学位论文 统,系统管理系统和链路管理系统。系统的功能框架图设计如下: x m p x t p 数据通信子系统 会 员 服 务 器 数 据 处 理 系 统 x m p x t p 数据通信糸统功能框架田 交易主机系统中,容错交易主机负责按照交易规则对报单进行撮合,对交易请求进行处理, 并生成报单、市场行情信息和会员私有信息。前置机交易系统负责按照交易规则对交易数 据进行检测和修改;前置机系统与会员端服务器系统之间的通信系统负责保证交易数据的 可靠传输和对通信链路进行监控;系统管理系统的作用是对整个通信系统进行管理,包括 交易管理和系统管理;交易管理员系统是交易管理员与交易系统的接口,负责控制交易状 态和交易数据的查询统计;系统管理员系统是系统管理员与交易系统的接口,监控交易系 统中服务器上各个进程的工作情况;链路管理系统负责监视通讯链路的正常状况。 3 1 3x ,) ( t p 数据通信协议的数据流图设计 交易请求数据流 署帮e 淼 r 漱悭型 交易请求教据流困 说明: l 通过a p i 输入的数据域是客户端调用所传进的数据。这些数据是格式化的,成为x t p 数 据域的数据项。 2 协议机客户端的预处理: a 从相应的存储区读取的数据项。 b 设置x t p 数据包的数据域。 c 添加x m p x t p 报头,将数据封装为x m p x t p 数据包。 3 协议机服务器端的处理: a 去掉x m p x t p 报头。 b 读取x t p 数据域的数据项。 c 将数据项写进相应的存储区。 4 协议机的数据输出: a 输出交易请求的数据项。 进程间通信:前置机内的协议机进程与前置机系统的应用进程或会员服务器的应用进程与 会员端协议机进程之间的数据通信。 系统间通信:协议机的客户端和服务器端的通信。 交易请求响应数据流 f 燃 _ 瓣 l 的数据结果i 强蓓 系统间 通信 交易请求响应数据流图 进程问 通信 说明: 1 交易系统的处理结果包括交易主机返回的处理结果和从前置机系统返回的数据。 2 协议机服务器端的处理: a 通过进程间通信的方式读取交易系统处理后得到的数据。 b 将返回的数据加上x m p ) ( t p 报头,封装成p t p 报文。 3 协议机客户端的处理: a 去掉x m p ) ( t p 报文的报头。 b 将数据传给客户端运行的进程。 4 返回的数据项就是交易系统的处理结果。 私有数据流 电子科技大学硕士学位论文 l 交易主机 进程问 j 处理结果p - 通信 系统间 通信 私有数据流的数据流图 进程目网 通信1 有数据流l 说明: 1 交易主机撮合后返回的成交回报等信息,通过私有流的方式返回给客户。 2 协议机服务器端的处理: a 通过进程间通信的方式读取返回的数据。 b 将返回的数据置入x t p 报文相应的数据项。 c 加上x m p x t p 报头,将数据封装成煳p x t p 报文。 3 协议机客户端的数据处理: f l , 去掉x m p x t p 报头。 b 将x m p 数据域的数据项传给客户端处理进程。 4 通过进程间通信的方式将返回的数据传给会员服务器端的应用程序。 市场数据流 l 交矗主机| 进程问 i ! 竺:r 通信 系统问 鼍情 市场流的数据流图 进程间医赢习 通信 竺竺i 说明: 1 交易主机发送市场行情、公共通知和交易变更等公共信息。 2 协议机服务器端的处理过程: a 通过进程间通信的方式读取返回的数据。 b 将返回的数据置入x t p 数据包相应的数据项。 c 加上x m p x t p 报头,将数据封装成) ( h l p x t p 报文。 3 协议机客户端的数据处理: a 去掉) 【m p x t p 报头。 b 将x m p 数据域的数据项传给进程。 4 通过进程间通信的方式将返回的数据传给会员服务器端的应用程序。 x t p 提供结构化的数据传送服务,主要面对会员登录、报单( 录入、修改和删除) 、成交 回报、查询、行情发送、系统管理、交易员管理等交易业务的数据表示。会员服务器端通 过应用层a p i 传入需要传送的数据,x m p x t p 通信系统加上相应的x m p x t p 报头,形 成x m p x t p 报文,若要加压,则将加压后的x m p 报文封装成新的x m p 报文。协议机将 x m p 报文传送到前置机系统,去掉x m p x t p 报头,将x t p 报文数据域传给前置机系统。 在接收数据时,将去掉x m p x t p 报头的数据域传给会员端服务器。 3 2 x m p 协议 x m p 报文由报头、扩充报头和信息正文三个部分组成。报头描述数据报的整体信息; 第三章x m p x t p 数据通信协议的设计 扩充报头提供链路管理功能;x m p 报文内容可以是x t p 报文或压缩过的x m p 报文。 3 2 1x m p 报头 报头由四个字节组成: t y p e :报文类型。 e x t e n s i o n l e n :扩充报头字节长度;如果e x t e n s i o n l e n 等于零,代表没有扩充报头,紧 跟在报头后面的是信息正文。 l e n g t h :由l e n g t h 0 和l e n g t h l 合成,整个x t p 报文的字节长度。采用网络顺序,l e n g t h 0 是高位字节,l e n g t h l 是低位字节。l e n g t h = l e n g t h 0 a d d r u r m a b l e0 c a p i p r o t o c 0 1 ) ; 将该p r o t o c o l 加入到p g r o u p 中; p g r o u p - r u n 0 ; 函数r u n ( ) 将执行r u r m a b l e g r o u p 中各个 4 5 电子科技大学硕士学位论文 r u n n a b l e 的r u ns t e p ,进行报文的收发和处理。 ) ; 类c m a n g e r : c m a n a g e r :i n i t ( ) 初始化p c m a n g e r 及一些内存变量; p c m a n g e r 为指向类c m a n g e r 的指针; p t h r e a d _ c r e a t ( & m a n g e r t i d ,& a t t r , p r o c e s s _ m a n g e r _ _ c m d ,( v o i d + ) t h i s ) ; ,调用线程创建函数p t h r e a d创建线程。创建的函数_creat 为p r o c e s s _ m a n g e r c m d ,其参数为指向类c m a n g e r 的指针 ) : 其中p r o c e s s _ m a n g e r c m d 的说明如下: p r o c e s s _ _ m a n g e r _ c m d ( c m a n g e r + c l n a n g e r _ p t r ) c a p l c o n t e x t p c a p i c o n t e x t ; 创建一个c a p i c o n t e x t 对象,来存储a p i 端用到的公共变量, 在其中有一个指向类c m a n g e r 的变量c p t r 。 p c a p i c o n t e x t 一 c p t r 2 c m a n g e r _ _ p t r ; 将对象指针保留在上下文中,便于在接到从会员端协议 收到的报文后调用该c m a n g e r 相应的虚函数 建立c a p i p r o t o c o l 对象; ,这里称做p c a p i p r o t o c o l ,c a p l p r o t o e o l 是处理a p i 端 数据包发送的协议。 建立与会员端协议机的连接; 建立c r u n n a b l e c r r o u p 类型的p g r o u p ; c r u r m a b l e g r o u p 是模拟线程运行行为的r u r m a b l e 的集合。类 c r u r m a b l e g r o u p 中有成员函数r u n 0 ,来运行c r u n n a b l e g r o u p 中的各个r u n n a b l e 。r u n n a b l e 模拟单独线程的行为,当作单独,的线程来 运行,在类c r u n n a b l e 中有成员函数r u n _ s t e p ( ) ,用来,处理数据包的收发。 p g r o u p - a d d r u n n a b l e ( p c a p i p r o t o c 0 1 ) ; 将该p r o t o c o l 加入到p g r o u p 中: p g r o u p 一 r u n o ; ) ; 类c a d m i n : c a d m i n :i n i t 0 初始化p c a d m i n 及一些内存变量; p c a d m i n 为指向类c a d m i n 的指针; p t h r e a d _ c r e a t ( & a d m i n _ _ t i d ,& a t t r , p r o c e s sa d m i n _ e m d ,( v o i d ) t h i s ) ; 调用线程创建函数p t h r e a d创建线程。创建的函数为treat p r o c e s sa d m i ne m d ,其参数为指向类c a d m i n 的指针 ) ; 其中p r o c e s sa d m i nc m d 的说明如下: p r o c e s s _ a d m i n _ c m d ( c a d m i n + c a d m i n _ _ p t r ) c a p i c o n t e x t p c a p i c o n t e x t ; 创建一个c a p i c o n t e x t 对象,来存储a p i 端用到的公共变量, ,在其中有一个指向类c m a n g e r 的变量c p t r 。 第五章x m p x t p 通信协议应用层a p l 的设计 p c a p i c o n t e x t - c p t r = c a d m i np t r ; 一 将对象指针保留在上下文中,便于在接到从会员端协议机收到的报文后 调用该c a d m i n 相应的虚函数 建立c a p i p r o t o e o l 对象; 这里称做p c a p l p r o t o c o l ,c a p i p r o t o c o l 是处理a p i 端 数据包发送的协议。 建立与会员端协议机的连接; 建立c r u n n a b l e g r o u p 类型的p g r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铸造碳化钨制管工效率提升考核试卷及答案
- 开清棉工入职考核试卷及答案
- 2025年纺织用合成纤维行业研究报告及未来行业发展趋势预测
- 丝麻毛纤维预处理工5S管理考核试卷及答案
- 2025年磺化酞菁钴行业研究报告及未来行业发展趋势预测
- 铌铁火法冶炼工设备调试考核试卷及答案
- 2025年合成橡胶制造行业研究报告及未来行业发展趋势预测
- 重冶制团制粒工理论知识考核试卷及答案
- 反射炉工技术考核试卷及答案
- 汽轮机装配调试工职业考核试卷及答案
- 第4课《乡愁》课件-2025-2026学年统编版语文九年级上册
- 第六届山东省无人机技术与应用职业技能竞赛(无人机测绘操控员)题库(含答案)
- 第1章三角形单元测试2025-2026学年苏科版八年级数学上册
- 2025年高级养老护理员职业技能考试笔试试题(附答案)
- PWC平安集团互联网企业预算管理体系介绍
- 2025-2026学年人教版小学数学四年级上册教学计划及进度表
- 高中语文课本中的作文素材(选必上)
- 2025年中国互联网金融协会招聘面试预测题及答案
- 2025年中医确有专长考试题库(附答案)
- 水泥路施工安全知识培训课件
- 2025年秋季学期(统编版)二年级上册语文教学工作计划及教学进度表
评论
0/150
提交评论