综合交易平台运维培训教材系列_第1页
综合交易平台运维培训教材系列_第2页
综合交易平台运维培训教材系列_第3页
综合交易平台运维培训教材系列_第4页
综合交易平台运维培训教材系列_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

综合交易平台运维培训教材系列(第一册)综合交易平台交易、风控、银期系统技术介绍目录TOC\o"1-5"\h\z\o"CurrentDocument"文档介绍 1\o"CurrentDocument"文档目的 1\o"CurrentDocument"读者对象 1\o"CurrentDocument"参考文献 1术语与缩写解释 1\o"CurrentDocument"概述 2\o"CurrentDocument"风控系统架构 5风控系统架构图 5风控流水 6外围系统依赖 6交易系统 6\o"CurrentDocument"结算系统 7风控系统组件 7\o"CurrentDocument"终端程序(Rcwin) 7\o"CurrentDocument"风控网关Riskgate) 8\o"CurrentDocument"风控前置(Riskfront)、本地前置localfront) 8\o"CurrentDocument"riskengine 10\o"CurrentDocument"riskarb和riskcompositor 11\o"CurrentDocument"riskdbwriter 11\o"CurrentDocument"riskmsg 12\o"CurrentDocument"riskdrmt 13\o"CurrentDocument"故障诊断 16\o"CurrentDocument"log分析 16\o"CurrentDocument"流文件转换程序flowxmltest 17\o"CurrentDocument"流文件查看程序flgrep 17\o"CurrentDocument"举例1—强平报单流程说明. 18\o"CurrentDocument"举例2-登录流程说明 21\o"CurrentDocument"举例3—发送风控通知流程说明(系统通知) 22\o"CurrentDocument"举例4—发送风控通知流程说明(短信通知) 25风控系统附件 27\o"CurrentDocument"附件一报文名称和功能对应关系 27\o"CurrentDocument"附件二风控系统组件流水参考 28\o"CurrentDocument"附件三异常交易监控说明 291文档介绍1.1文档目的本册培训教材的编写目的是使综合交易平台系统运维人员对交易、风控以及银期系统实现和维护有一个比较清晰的了解,并进而掌握,从而能够达到解决系统日常运维中出现的各种问题。1.2读者对象综合交易平台系统日常运维和支持人员。1.3参考文献《FTD1.0Release2.01》1.4术语与缩写解释缩写、术语解释FIB期货交易所信息总线FTD期货父易数据交换协议(FuturesTradingDataExchangeProtocol,简称FTD)1.5概述交易系统是综合交易平台的重要组成部分,主要为期货公司交易人员和客户提供服务,完成交易业务。交易系统主要为期货公司提供接收报单(报价)、交易风险控制、行情发布、查询等服务。交易系统启动时通过交易初始化组件与结算系统进行数据交换,盘中则通过实时上下场组件进行数据交换。风控系统为期货公司风控人员提供交易过程风险揭示和风险管理服务。交易系统与风险控制系统之间通过交易总线进行实时数据交换。银期系统为期货公司投资者提供实时转账业务服务。©风控系统篇2风控系统架构2.1风控系统架构图riskarbris<engiie_oider^ A;ompositLii ACorTpLog5onf:LLgriskengine_7skEngine_DrderriRkAngiriA_nntifyri:z:kBnginB_drr_jt■risK^ngin^_query■CornpLogriskarbris<engiie_oider^ A;ompositLii ACorTpLog5onf:LLgriskengine_7skEngine_DrderriRkAngiriA_nntifyri:z:kBnginB_drr_jt■risK^ngin^_query■CornpLogriskfront:rekengine_notrfy;rsk^ngine_jrnt;rsk^nqine^ueryxfrontpub »riskEompostor;nmri门川门2_1门1备rskjale_3u^lovveweriestrEdErE世riskjatR_-iii-flniA/riskengine^notif;/riskmsgjjijt-xfrontpubr3l::TiEg_:iu1临鞭汨欣■tkerneltrwriArFAiilttrsrlRAR-ipsriskgsteliskmsQVriskdbwriterrev-,in-req-frjnl,rev-,in-req-engn9口ntTCF连妾p翌跖l「rflfrrnt1灾备同步麴据i ]rewinriskdrmt-<4-- —— <^4 riskfront:團释;rewind求可分齿两垂:rcvdn-n&q-frcnt:frzin:直接恥理的请求rewinreqengine:通xJxfrontpub灰往riskengine^理的请求xfrzi门:pub:邑恬rc?vin-r=q-eigne和「:卜cJ「nt转炭住灾备同步纹屯风控系统架构图2.2风控流水风控系统各组件之间数据交互主要通过发布/订阅主题的方式,发布/订阅方式使用流文件来缓存数据。如riskgate程序,从交易系统订阅tradeseries和traderesult主题,缓存到流文件中,按流中时间报文合并tradeseries和tradeseries,加上风控自身初始化数据,输出到流文件,发布triskgate主题,并在本地流水目录下缓存流水文件riskgate_outflow。风控系统各组件保存下来的流水以及各流水之间的关系参考附件二。外围系统依赖交易系统数据依赖交易系统是风控系统最主要依赖的外围系统,风控系统的大部分数据是来自交易系统,包括交易日初初始化数据,报单、成交,交易参数(用户权限等),结算参数(保证金率手续费率等),盘中实时上场数据(投资者开销户,出入金,银期转账等)。代码重用风控系统中多个组件重用了交易核心组件的代码,重用交易核心代码的组件包括RiskengineRiskfrontLocalfrontriskdbwriter这些组件在程序中模拟一个交易核心组件,通过处理交易输入流tradeseries(订阅交易系统中的排队机发布的数据流来获得),来计算盘中持仓、资金数据。进行实时盘中结算进行盘中结算的原因有两点:资金、持仓数据量很大,不便于传输风控某些功能需要保证数据的一致性,如辅助强平单生成,强平报单,压力测试等试算功能,等等业务交互风控系统一方面通过riskgate组件订阅交易系统的排队机数据流和交易结果流来获取交易系统产生的数据,另外也有部分功能也需要提交数据给交易系统处理,包括强平报单风控操作员密码修改,发送风险通知到交易终端,查询席位资金等等。这些功能都是通过riskengine发布triskorder主题,由交易系统的排队机来订阅这个主题数据流来完成。2.3.2结算系统交易系统提供了绝大部分日初初始化数据,但仍有一小部分初始化数据交易系统没有提供,这些就需要结算系统提供。包括经纪公司邮件服务器投资者的短信邮件发送权限多活灾备中交易中心代码在后台管理系统状态从“不活跃”换到“启动”状态时,后台管理系统会将这些数据从settlement库写至risk库(riskdb)中,风控后台程序启动时再读取riskdb,数据库表包括:risk.t_investorrisk.t_tradeparamrisk.t_brokerrisk.t_SecBrokerIdentitiesrisk.t_dridentities访问risk库的风控组件包括:RiskgateRiskmsgRiskdbwriter这几个组件通过全局配置文件DeployConfig.xml来获取数据库配置信息,如下:<Databases><Databasename="risk"connectString="XXXX"username="risk"password="risk"/></Databases>2.4风控系统组件2.4.1终端程序(Rcwin)风控客户端,绝大部分风控功能都通过rcwin界面操作完成。连接rcwin和风控后台的程序是前置,包括riskfront(风控前置)和localfront(本地前置)。根据处理功能的后台组件不同,可将功能划分为两类:前置处理请求(rcwin-req-front)、风控引擎处理请求(rcwin-req-engine)。2・4・1・1前置处理请求(rcwin-req-front)这类功能只会影响rcwin和它连接的前置riskfront,与系统其它部分无关。rcwin直接从riskfront获取基本数据(riskfront内置了一个内存数据库装载了从交易系统过来的数据),如投资者信息,交易编码,报单,成交,持仓,出入金,资金,用户事件,风险通知,业务通知,强平预埋单,风控设置等等。还有部分查询功能,如成交排名,持仓排名,辅助强平单生成等等。2・4・1・2风控引擎处理请求(rcwin-req-engine)这类请求需要提交到riskengine处理,分成两类:■涉及系统其它部分的全局性功能,如风控操作员登录,全局风控设置(通知模板,风控指标等),风险通知发送,业务通知发送,风控预埋单,风控强平单等。■查询性质功能,如市场持仓量分布显示,压力测试,权益反算,风险预算等等2.4.2风控网关(Riskgate)功能说明从风控物理数据库中获取风控自身的初始化数据。多个风控程序需要重用交易核心组件进行盘中结算,按时间报文合并交易核心的tradeseries和traderesult流水,为其它风控组件提供统一有序的交易数据。如初始化数据(投资者信息,交易、结算参数等)就必须在报单、成交回报等数据之前,报单请求报文要在报单应答或回报之前。INI中特殊配置DRSysID=l 〃多活环境中各风控系统的唯一系统ID,只用于风控系统,和交易系统中的DRIdentitylD没有联系2.4.3风控前置(Riskfront)、本地前置(Localfront)riskfront和localfront与交易系统中的front类似,只是负责更多的功能。客户端rcwin中数据更新的模式基本采用后台(前置)主动推送的方式,包括持仓、资金数据的更新。这是前置中需要盘中结算的主要原因。Riskfront进行盘中结算的输入数据(tradeseries和traderesult)通过订阅riskcompositor(风控排队机)的输出流水CompLog获得。localfront中盘中结算的输入通过riskfront转发tlocalseries获得,通过tcp连接进行通讯,Localfront自身也是需要通过账户登录到风控系统。riskfront在风控系统内网运行,localfront可以通过公网连接至Uriskfront。两者相同的功能重用交易核心代码,进行盘中结算■处理rcwin-req-front转发rcwin-req-engine功能的请求(xfrontpub流),及对应的应答和回报(tresult流),涉及到的路径如下:rcwin登录到riskfront的报文路径请求:rcwin--->riskfront--->riskengine应答:riskengine--->riskfront--->rcwinrcwin登录至到localfront的报文路径请求:rcwin--->localfront--->riskfront--->riskengine应答:riskengine--->riskfront--->localfront--->rcwin两者的联系riskfront是localfront的服务器,提供以下服务:•转发交易流水tradeseries和traderesult(流文件tlocalseries)转发来自localfront的rcwin-req-engine功能请求转发来自localfront的rcwin-req-engine功能的应答和回报(流文件tlocalresult)INI中特殊配置Riskfront.inibusinessthreads=2 #business线程数量(处理部分rcwin请求的线程数量,min=2,max=20)MemorySize=1024#内存数据库Size(mbytes,default=512(32bit),4096(64bit))WriteCSVTime=17:00:00#保存MDB到文件的流时间(default=17:00:00)MaxTotalRate=1024#FtdEngine发送数据的最大总速率(kbytes/s,default=1024,min=100)MaxSessionRate=200#向一个session发送数据的最大速率(kbytes/s,default=200,min=20)BrokerSize=1 #本系统处理的经纪公司数量(default=1),和MaxLocalFrontPerBroker参数一起决定localfrontsvr可提供的最大连接数量MaxLocalFrontPerBroker=5#每个Broker可连接的localfront的最大个数(default=5,max=5)FrontType=riskfront#riskfront或者riskmonfnt,必须配置两者之一,否则程序不能运行,大小写区分ordertimeout=3#riskmonfnt中报单回报最大延迟时间(default=3)以下两项配置从交易核心组件继承,必须和交易核心组件配置文件的值相同Settlement_Interval=2 #定时结算时间(sec,default=2),不要设置该值SingleUserSession_MaxNum=6#说明用户同时在线Session的上限,无此配置默认为1localfront.ini:businessthreads=2#business线程数量(处理部分rcwin请求的线程数量,min=2,max=20)MemorySize=1024#内存数据库Size(mbytes,default=512(32bit),4096(64bit))#最大数据传输速率设置为10M,即局域网速度MaxTotalRate=10240#FtdEngine发送数据的最大总速率(kbytes/s,default=200)MaxSessionRate=10240#向一个session发送数据的最大速率(kbytes/s,default=100)登录riskfront信息:#登录riskfront用户密码;多个localfront可以使用相同用户名密码Broker=8000User=8000_adminPassword=1#riskfront地址,riskfront提供的localfrontsvr地址,见DeployConfig.xm1中配置riskfront=tcp://2:10003#1oca1front地址,本程序提供给rcwin连接的地址1oca1front=tcp://2:10007#说明交易系统用户同时在线Session的上限,无此配置默认为1,必须和交易后台配置一致Sing1eUserSession_MaxNum=6riskengine功能说明风控引擎,负责所有风控功能的后台计算;处理的功能主要包括:风控操作员登录、全局风控设置(通知模板,风控指标等)、风险通知发送、业务通知发送、风控预埋单、风控强平单、市场持仓量分布显示、压力测试、权益反算、风险预算等等INI中特殊配置begin灾备配置二席系统中没有可以识别二席经纪公司代码的初始化数据,因此需要在这里配置SecBrokerWithMain=本CTP系统中有主席的二席经纪公司代码,以半角',分割#如果本CTP系统中所有经纪公司都是,则可以配置SecBrokerWithMain=all#如果本CTP系统中没有这种经纪公司,则可以不配置该项#SecBrokerWithMain=a11end灾备配置MemorySize=1024#内存数据库Size(mbytes,default=512(32bit),4096(64bit))WriteCSVTime=17:00:00#保存MDB到文件的流时间(default=17:00:00)riskengine提供的各种服务#每个riskengine都处理的基础数据,但不一定都需要输出,例如投资者参数设置,风控权限分配等(defau1t=no)BasicOutPut=yes#是否为下单代理,只允许一个riskengine为下单代理(default=no);下单代理功能包括强平单,预埋单,强平单留痕,以及其它要发送到交易的查询Order=yes#登录服务(default=no)LoginService=yes#风险通知(default=no)RiskNotify=yes#业务通知(default=no)BizNotice=yes#指标功能(default=no)IndexService=yes#指标NPP(default=no)IndexNPP=yes#持仓分布查询(default=no)PositionRate=yes#压力测试(default=no)StressTest=yes#权益反算(default=no)SafePriceRange=yes#风险预算(default=no)PredictRisk=yes#以下所有配置从交易核心组件继承,必须和交易核心组件配置文件的值相同#Settlement_Interval=600#定时结算时间(sec,default=2),不要设置该值,SingleUserSession_MaxNum=6#说明用户同时在线Session的上限,无此配置默认为1riskarb和riskcompositor功能说明风控仲裁机和风控排队机,这两个程序作用和交易中的arb和compositor—样。主要是为了能部署多个riskengine实现冗余互备。但目前因为riskengine处理了一些查询性质的功能(2.4.2第二部分功能),因此冗余互备不能实现。以后将这部分功能移到前置中处理后,可以实现riskengine的冗余部署。INI中特殊配置riskdbwriter功能说明日终将风控需要保存的设置和历史数据写入riskdb。负责将强平留痕数据、用户导出记录、风控系统基本参数回写到risk物理数据库中,不能盘中实时回写;使用riskengine/flow中的riskengine_in.con和riskengine_notify.con流水重演,来获取需要回写的数据。多活系统在正常情况下,主中心的主席和二席风控系统需要在盘后运行riskdbwriter,以回写数据至risk库,备中心不需要运行riskdbwriter,risk库由结算系统每日增量备份。在主席发生灾难时,取代主中心主席的那个备中心需要运行riskdbwriter,生成risk库数据,然后备份到主席以及其他备中心risk库。2・4・6・2INI中特殊配置#内存数据库Size(mbytes,default=512(32bit),4096(64bit))MemorySize=1024#内存数据库保存路径(default")CSVWritePath=../log/#初始化数据检查结果文件ConsistentCheck=../log/InitCheck.txt#保存MDB到文件的流时间(default=17:00:00)WriteCSVTime=17:00:00#以下所有配置从tkernel继承,必须和tkernel配置文件的值相同#定时结算时间(sec,default=2),不要设置该值,#Settlement_Interval=600#说明用户同时在线Session的上限,无此配置默认为1SingleUserSession_MaxNum=20riskmsg功能说明和短信运营商、邮件运营商的接口程序,负责风控短信通知和风控邮件通知的发送,以及回执的接受。INI中特殊配置#经济公司名称,用于区别不同的经济公司,提供不同的服务#海通=htqh广发=gfqh长城伟业=ccwybroker_name=ccwy#以下海通的参数,一般情况不能修改以下参数#sp的id号spid=7964#sp的密码sppassword=13579#移通网络提供的短信接收地址spurl=/sms/mt#本地接收状态报告的端口号receiveport=5000#发送不成功,然后重复发生的时间间隔interval=1800#最大重复发生次数maxrecount=1#可提供短信服务的Broker代码SMSBroker=3030,8000#以下广发的参数,一般情况不能修改以下参数#服务器地址gf_server=06#sp的id号gf_user=gfqh#sp的密码gf_password=gfqh#数据库名gf_database=mas#接口代码gf_interfacecode=gfqh#轮询数据库的时间间隔,以秒为单位gf_interval=20#以下长城伟业的参数,一般情况不能修改以下参数#服务器地址ccwy_server=9:1433#用户名ccwy_user=sa#用户密码ccwy_password=123456#数据库名ccwy_database=kdsgroupsms#分支代码ccwy_branch=100026#轮询数据库的时间间隔,以秒为单位ccwy_interval=20riskdrmt功能说明负责将需要盘中同步到其他风控系统的报文转发到其他风控系统,直接登录到riskfront

读取需要的转发流水,TCP连接,取到的流水为riskfront流水tresult.con中的riskengine结果流水riskengine_drmt输出流水:CompFlow:需要转发到其他风控系统的流水转发功能流程图:转发riskfront1的同步报文 _f备中心风控系统~~、、\转发riskfront1的同步报文z主中心二席风控系统转发riskfront1的同步报文z主中心二席风控系统、Riskfront编号DRSysID=3Riskfront编号DRSysID=2J架构说明:1.riskdrmt部署riskdrmt可以单独部署,不需要与某个CTP系统的程序一起。好处是发生灾难时,不需要重启riskdrmt,就能继续提供转发灾备报文的服务。如果riskdrmt和某个CTP系统部署在一起,并且因灾难发生而宕机,则可以用相同的配置文件重新启动一个新的riskdrmt,继续提供转发灾备报文服务。Riskdrmt使用专门用户登录到各系统中的riskfront专门用户固定写定在riskdrmt程序中,不用配置,只需在riskdrmt.ini中配置各个riskfront提供的drmtsvr的地址以及经纪公司会员号;每个风控系统均有个唯一编号DRSysID;Riskdrmt登录成功后,从主中心主席riskfront接收需要同步到其他风控系统的报文,报文会带上该系统的DRSysID,DRSysID由riskfront填写。Riskdrmt向主中心二席和备中心riskfront发送来自主中心主席riskfront的同步报文Riskdrmt接收和发送流水均支持断点续传,riskfront接收和发送同步流水功能也支持断点续传灾备处理说明:1. 所有系统均处于正常情况风控功能只能在主中心主席操作;功能包括:下强平单、设置风险通知模板、发送风险通知、设置业务通知模板、发动业务通知、设置电话通知、设置自定义强平标准、设置净持仓保证金指标,其他功能可以在各风控系统操作;2.主中心主席发生故障,启用备中心系统收到交易流水中的ReqInsDRTransfer报文,将风控功能权限迁移至备中心系统,所有功能只能在备中心操作;启用备中心风控系统的riskdrmt。3.主中心二席发生故障,交易权限迁移至主中心主席系统收到交易流水中的ReqInsDRTransfer报文,对风控系统没有任何影响;4.主中心主席、二席发生故障,启用备中心系统收到交易流水中的ReqInsDRTransfer报文,将风控功能权限迁移至备中心系统,所有功能只能在备中心操作;启用备中心风控系统的riskdrmt。Riskdrmt转发的报文包括:(1-6项只能在一个风控系统有操作权限,所以需要实时同步,以保证数据统一,7-8项是为了保证各个系统的riskdbwrite数据一致,以保证某个系统故障后,其他系统的riskdbwrite不会丢失任何数据)1.自定义强平标准(设置->选项->投资者资金信息->使用风险度自定义强平);2.业务通知模板设置;.业务通知;4.风险通知模板设置,包括自动短信发送时间,风险通知警示值,是否允许重复发送选项;5.风险通知;6.净持仓保证金指标;用户导出数据操作(不会作为实际操作处理,仅用来保证各套系统的盘后riskdbwrite数据一致);强平单(不会作为报单处理,仅用来保证各套系统的盘后riskdbwrite数据一致);INI中特殊配置配置项'MainSysID在v5.5.0版本后将被取消主中心主席的DRSysID,必须是以下Frontn中的一个MainSysID=l前置中的drmt服务器,格式=DRSysID,server_ip:port。DRSysID等于前置所在CTP系统的riskgate.ini中配置的DRSysID#服务器地址必须使用ip地址Front3=l,tcp://l72.l6.l26.72:l0006Front2=2,tcp://l72.l6.l26.72:40006Frontl=3,tcp://l72.l6.l26.72:ll0062.5故障诊断2.5.1log分析所有风控自身的Log信息格式如下:catSyslog.log|grep'MSG:''MSG:'之后是具体的log信息,‘MSG:'之前是关于环境的信息,时间,机器名称,程序名称等等。如果不关心环境信息,可通过以下命令过滤掉vlogrisklog_typevlogrisk是风控log查看命令,进入到各log文件夹使用,不用指定log文件。配置信息logvlogrisk'Config,'数据库连接logvlogrisk'DB,'rcwin登录登出信息front中session的连接、登录、登出的log都以'Login'开头cdriskfront_or_localfront_log_dirvlogrisk'Login,'front中客户端session数量cdriskfront_or_localfront_log_dirvlogrisk'SessionSize'riskengine中登录以'Login'开头,登出以'Logout'开头cdriskengine_log_dirvlogrisk'Login,\|Logout,'localfront登录riskfrontcdriskfront_log_dirvlogrisk'FrontLogin,'front和rcwin间的FTD流量cdriskfront_or_localfront_log_dirvlogrisk'FtdSpeed,'riskfront与localfront间的XTP流量cdriskfront_log_dirvlogrisk'XtpSpeed:'front中请求,应答,回报报文cdriskfront_or_localfront_log_dirvlogrisk'Request,'vlogrisk'Response,'vlogrisk'Notify,'目前只记录报文ID,没有记录报文名称,因此要参考附录中的“报文名称和功能对应关系”。riskengine发出的报文cdriskengine_log_dirvlogrisk'XTP,'目前只记录了处理后的结果报文名称,没有记录请求报文。drmt相关信息cdriskfront_or_riskdrmt_log_dirvlogrisk'drmt,'11程序终止tailouttailSyslog.log2.5.2流文件转换程序flowxmltest从流文件转换到xmlflowxmltestfflowfilename2.5.3流文件查看程序flgrep无需转换成xml,直接从流文件中查找需要的报文Usage:flgrepflowname[--nocount][--phase][--date][--time][--tidpackagenames][--head][--body]example:flgrepriskengine_in--tidReqRiskOrderInsert统计riskengine_in.con流水中ReqRiskOrderInsert报文的个数,输出的结果为报文总个数;flgrepriskengine_in--tidReqRiskOrderInsert--body输出riskengine_in.con流水中所有ReqRiskOrderInsert报文内容,结尾处输出报文总个数;flgrepriskengine_in--date--tidReqRiskOrderInsert-body输出riskengine_in.con流水中所有ReqRiskOrderInsert报文内容,结尾处输出报文总个数,开头处输出当前系统交易日;flgrepriskengine_in--nocount--date--tidReqRiskOrderInsert--body输出riskengine_in.con流水中所有ReqRiskOrderInsert报文内容,结尾处不输出报文总个数,开头处输出当前系统交易日;flgrepriskengine_in--date--time--tidReqRiskOrderInsert--body输出riskengine_in.con流水中所有ReqRiskOrderInsert报文内容,结尾处输出报文总个数,开头处输出当前系统交易日,并打印出时间戳,间隔为一秒;flgrepriskengine_in--date--tidReqRiskOrderInsert--body--head输出riskengine_in.con流水中所有ReqRiskOrderInsert报文内容以及报文头,结尾处输出报文总个数,开头处输出当前系统交易日;flgrepriskengine_in--date--phase--tidReqRiskOrderInsert--body--head输出riskengine_in.con流水中所有ReqRiskOrderInsert报文内容以及报文头,结尾处输出报文总个数,开头处输出当前系统交易日以及通讯编号。2.5.4举例1-强平报单流程说明涉及的报文有:ReqRiskOrderInsert0x00010036ReqOrderInsert0x00004000RspOrderInsert0x00004001RspRiskOrderInsert0x00010037rcwin强平报单请^'ReqRiskOrderInsert'--TCP-->localfront,检查强平权限和操作员对投资者的权限(vlogrisk'Request/lgrep'00010036')if检查失败应答RspRiskOrderInsert-_tcp__>rcwinelse--TCP-->riskfront,发布到xfrontpub流(vlogrisk'Request,'lgrep'00010036'flgrepxfrontpub--tidReqRiskOrderInsert--body)--FIB-->riskcompositior,排队进入CompLog流(flgrepCompLog--tidReqRiskOrderInsert--body)--FIB-->riskengine,订阅CompLog到riskengine_in流(flgrepriskengine_in--tidReqRiskOrderInsert--body)ifriskengine检查不通过-->riskengine发送应答'RspRiskOrderInsert'到riskengine_notify流(vlogrisk'XTP,'lgrep'RspRiskOrderInsert'flgrepriskengine_notify--tidRspRiskOrderInsert--body)else-->riskengine发送'ReqOrderInsert'到riskengine_order流(vlogrisk'XTP,'|grep'ReqOrderInsert'flgrepriskengine_order--tidReqOrderInsert--body)--FIB-->compositor,排队进入CompLog--FIB-->tkernel,订阅CompLog到tradeseries流--tkernel处理'ReqOrderInsert'--tkernel发送应答'RspOrderInsert到traderesult流--FIB-->riskgate,订阅traderesult至Uriskgate_result流(flgrepriskgate_result--tidRspOrderInsert--body)--riskgate复制'RspOrderInsert'到riskgate_outflow流(flgrepriskgate_outflow--tidRspOrderInsert--body)--FIB-->riskcompositor,排队写入CompLog--FIB-->riskengine,riskengine_in流中收到'RspOrderInsert',发送应答'RspRiskOrderInsert'到riskengine_notify流(flgrepriskengine_in--tidReqOrderInsert--bodyvlogrisk'XTP,'|grep'RspRiskOrderInsert'flgrepriskengine_notify--tidRspRiskOrderInsert--body)--FIB-->riskfront,订阅riskengine_notify写入tresult流(vlogrisk'Response,'|grep'0x00010037'flgreptresult--tidRspRiskOrderInsert--body)--TCP-->localfront(vlogrisk'Response,'|grep'0x00010037')--TCP->rcwin*如果rcwin是直连Riskfront的,上述流程中跳过Localfront部分即可*以上流程仅说明了强平单请求在综合交易平台内部流转过程,不包含对交易所回报的处理流程图如下:在单客户强平/批量强平界面生成强平单,或者在投资者持仓信息/查询中双击持仓数据,弹出强平下单界面,输入相关数据, 点击下单按钮强平单请求 ——. 强平单回报LocalfrontTlocalresult.conTlocalseries.con强平单请求RiskfrontRiskcompositorriskengine_(RsqRiskOrderlnsertRtnRisklnputOrderRtnForcecloseOrder)CompLog.con(Rsp/Ntf)Xfrontpub.con(ReqRiskOrderInsert)CompLog.con(ReqRiskOrderInsert)——mCompLog.con

(Rsp/Ntf)__riskgate_outflow.con(Rsp/Ntf)RiskengineRiskgateTkernelCompLog.con(ReqOrderInsert)TradeResult.con(Rsp/Ntf)riskengine_order.con(ReqOrderInsert)Compositor2.5.5举例2-登录流程说明登录流程说明如下:rcwin登录请求'ReqRiskUserLogin'--TCP-->Localfront,检查登录权限,密码If检查失败,应答'RspRiskUserLogin'--tcp-->rcwinElse--TCP-->riskfront,发布到xfrontpub流--FIB-->riskcompositior,排队进入CompLog流--FIB-->riskengine,订阅CompLog至Uriskengine_in流--riskengine处理请求--riskengine应答'RspRiskUserLogin'发布至Uriskengine_query流--FIB-->riskfront订阅到tresult流--riskfront将应答报文写入tlocalresult流--TCP-->localfront.tlocalresult流--TCP->rcwin*如果rcwin是直连Riskfront的,上述流程中跳过Localfront部分即可流程图如下:rcwin操作员登录请求操作员登录回报操作员登录请求操作员登录回报Localfront操作员登录请求Tlocalresult.con操作员登录请求Tlocalresult.conRiskfrontRiskfrontXfrontpub.con(ReqRiskUserLogin)Riskcompositorriskengine_Riskcompositor^(RspRisk^jerLogin)CompLog.con(ReqRiskUserLogin)Riskengine登录流程图2.5.6举例3-发送风控通知流程说明(系统通知)发送流程说明如下:rcwinn发送通知请求'ReqRiskNotifyCommand'--TCP-->Localfront--TCP-->riskfront,发布到xfrontpub流--FIB-->riskcompositior,排队进入CompLog流--FIB-->riskengine,订阅CompLog到riskengine_in流--riskengine处理请求ifriskengine检查不通过-->riskengine发送应答'RspRiskNotifyCommand'到riskengine_notify流else-->riskengine发送'NtfRiskNotifyB'和'RspRiskNotifyCommand'到riskengine_notify流--->riskengine发送'ReqInsTradingNotice'到riskengine_order流--FIB-->compositor,排队进入CompLog--FIB-->tkernel,订阅CompLog到tradeseries流--tkernel处理'ReqInsTradingNotice'--tkernel发送应答'RspInsTradingNotice到traderesult流--FIB-->riskgate,订阅traderesult至Uriskgate_result流--riskgate复制riskgate_result至Uriskgate_outflow流--FIB-->riskcompositor排队进入CompLog--FIB-->riskengine,订阅CompLog至Uriskengine_in流,收至到'RspInsTradingNotice'--riskengien处理后发送'NtfRiskNotifyB到riskengien_notify流--FIB-->riskfront,订阅riskengine_notify写入tresult流--riskfront将NtfRiskNotifyB'、'RspRiskNotifyCommand报文写入tlocalresult流--riskfront直接TCP发送'NtfRiskNotifyB'、'RspRiskNotifyCommand给localfront--TCP-->localfront--TCP-->rcwin发送短信通知请求rcwin€发送短信通知请求4LocalfrontTlocalresult.conRiskfrontXfrontpub.con(ReqRiskNotifyCommand)短信通知回报riskengine_

(NtfRiskNotifyB

RspRiskNotifyCommand)Riskcompositor《CompLog.con(ReqRiskNotifyCommand)CompLog.con(RspInsTradingNotice)RiskengineTradeResult.con(RspInsTradingNotice)riskengine_order.con(ReqInsTradingNotice)CompLog.con(ReqInsTradingNotice)CompositorTkernel系统通知发送流程图2.5.7举例4-发送风控通知流程说明(短信通知)发送流程说明如下:rcwin发送通知请^'ReqRiskNotifyCommand'--TCP-->Localfront--TCP-->riskfront,发布到xfrontpub流--FIB-->riskcompositior,排队进入CompLog流--FIB-->riskengine,订阅CompLog至Uriskengine_in流--riskengine处理请求ifriskengine检查不通过-->riskengine发送应答'RspRiskNotifyCommand'到riskengine_notify流else-->riskengine发送'NtfRiskNotifyB'和'RspRiskNotifyCommand'到riskengine_notify流--FIB-->riskmsg订阅riskengine_notify至Uriskmsg_inflow流--riskmsg发送通知到短信或邮件终端--riskmsg将结果以报文'NtfRiskNotifyB发送至Uriskmsg_out流-FIB-->riskcompositor接收riskmsg_out流,排队进入CompLog-FIB-->riskengine,订阅CompLog至Uriskengine_in流--riskengine转发'NtfRiskNotifyB'到riskengine_notify流--FIB-->riskfront,订阅riskengine_notify写入tresult流--riskfront将'NtfRiskNotifyB'>'RspRiskNotifyCommand报文写入tlocalresult流--riskfront直接TCP发送'NtfRiskNotifyB'、'RspRiskNotifyCommand给localfront--TCP-->localfront--TCP->rcwin*如果rcwin是直连Riskfront的,上述流程中跳过Localfront部分即可流程图如下:发送短信通知请求发送短信通知请求rcwinLocalfrontRiskfrontXfrontpub.con(ReqRiskNotifyCommand)、、、短信通知回报Tlocalresult.conriskengine_

(NtfRiskNotifyB

RspRiskNotifyCommand)RiskcompositorCompLog.con(ReqRiskNotifyCommand)CompLog.con(NtfRiskNotifyB发送短信通知请求发送短信通知请求rcwinLocalfrontRiskfrontXfrontpub.con(ReqRiskNotifyCommand)、、、短信通知回报Tlocalresult.conriskengine_

(NtfRiskNotifyB

RspRiskNotifyCommand)RiskcompositorCompLog.con(ReqRiskNotifyCommand)CompLog.con(NtfRiskNotifyB)Riskengineriskengine_notify.con

(NtfRiskNotifyB

RspRiskNotifyCommand)riskmsg_out.con(NtfRiskNotifyB)Riskmsg J短信发送请求短信发送回执短信运营商短信通知发送流程图2.6风控系统附件2.6.1附件一报文名称和功能对应关系功能名称报文类型报文名称报文ID操作员登录requestReqRiskUserLogin0x00010004responseRspRiskUserLogin0x00010005强平报单requestReqRiskOrderInsert0x00010036交易requestReqOrderInsert0x00004000交易responseRspOrderInsert0x00004001responseRspRiskOrderInsert0x00010037风控撤单requestReqRiskOrderAction0x00010038responseRspRiskOrderAction0x00010039持仓量分布requestReqQrylnstPositionRate0x0001001EresponseRspInstPositionRate0x0001001FrequestReqQryProductPositionRate0x00010020responseRspProductPositionRate0x00010021压力测试requestReqSimulateStressTest0x00010022responseRspSimulateStressTest0x00010023requestReqRiskNotifyCommand0x00010042responseRspRiskNotifyCommand0x00010043预埋单requestReqRiskParkedOrderInsert0x00010066responseRspRiskParkedOrderInsert0x00010067requestReqRemoveRiskParkedOrder0x00010068responseRspRemoveRiskParkedOrder0x00010069notifyNtfRiskParkedOrder0x0001006A发送风控通知requestReqRiskNotifyCommand0x00010042responseRspRiskNotifyCommand0x00010043notifyNtfRiskNotifyB0x000100CC

2.6.2附件二风控系统组件流水参考进程名称流水说明用途riskarb无----riskcompositorCompLog.con合并riskgate_outflow.con、xfrontpub.con、riskmsg_out.conRiskfront>Riskengine订阅riskgatemarketdata.con输出行情落地文件riskgateoutflow.con按时间合并父易系统的TradeSeries和TradeResultRiskcompositor订阅riskgatetresult.con订阅的交易系统的TradeResultriskgatetserises.con订阅的交易系统的TradeSeriesriskengineriskengine_drmt.con本风控系统需要冋步到异地风控的所有信息(双活系统中用到)Riskdrmt订阅riskenginein.con排队机的输出,等同CompLog.conriskengine_order.conEngine发到交易系统的报单和交易系统通知(强平、系统通知、查询席位资金、修改操作员密码)交易系统compositor订阅riskengine_notify.con需要重演的结果流(相当于父易核心的tresult);2.6.2节中rcwin-req-engine功能第一部分:涉及系统其它部分的全局性功能,风控操作员登录全局风控设置(通知模板,风控指标等)风险通知发送业务通知发送风控预埋单风控强平单等等Riskfront、Riskdrmt订阅riskengine_query.con登录、查询等不影响系统状态,重演时不做清理;2.6.2节中rcwin-req-engine功能第二部分:查询性质功能,持仓量、成父量分布压力测试权益反算风险预算等等Riskfront订阅riskfrontxfrontpub.con风控终端提交的信息,包括登录、查询、报单请求等;多活灾备中,其它风控系统同步过来的数据Riskcompositor订阅private.con暂不使用public.con暂不使用tresult.con风控功能相关的Riskengine结果数据(合并Riskengine_drmt.con,Riskengine_notify.con,Riskengine_query.con)这里需要注意的是在Deployconfig.xml中要包含triskquery,否则engine输出的查询和确认信息前置将无法收到,终端将一直处于登录请求状态。

tserises.con订阅的Riskcompositor流水CompLog.con,用于Riskfront计算资金持仓tlocalresult.conRiskfront给Localfront的结果数据流水,是tresult.con的子集tlocalseries.conRiskfront给Localfront的基础输入流水,是tseries.con的子集Localfrontprivate.con暂不使用public.con暂不使用tlocalr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论