CN106339307A - 一种期货交易所交易前置***模拟器 - Google Patents
一种期货交易所交易前置***模拟器 Download PDFInfo
- Publication number
- CN106339307A CN106339307A CN201510396716.2A CN201510396716A CN106339307A CN 106339307 A CN106339307 A CN 106339307A CN 201510396716 A CN201510396716 A CN 201510396716A CN 106339307 A CN106339307 A CN 106339307A
- Authority
- CN
- China
- Prior art keywords
- message
- function
- management module
- end system
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Telephonic Communication Services (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种期货交易所交易前置***模拟器,包括连接模块、命令管理模块、管理模块、报文组织与处理模块;管理模块主要负责各模块间的数据交互、处理以及作为业务逻辑功能的主要实现部分;当需要发送数据时,管理模块组织并获取业务数据,调用报文组织与处理模块对数据进行封装,再通过连接模块进行数据发送;收到数据时,由连接模块获取数据报文并经报文组织与处理模块解析处理最后通过管理模块作业务逻辑的处理;命令管理模块直接与用户交互,根据不同命令由管理模块进行业务处理。本发明可以在任何时间,地点,甚至离线的情况下进行相关***的开发和测试工作,极大提高了开发者的灵活性。
Description
技术领域
本发明属于期货交易和模拟交易领域,尤其涉及一种期货交易所交易前置***模拟器。
背景技术
为了满足期货交易相关软硬件的开发和测试需求,期货交易所设立了一个行情前置服务器,用于模拟实盘交易***,但仅靠交易所提供的虚拟***往往无法满足软硬件开发的全部需求。交易所的***会定期进行主备切换,使得在部分时间内无法进行正常运作,而且连接该***需要通过公共网络,受网络延迟等不确定性因素影响,往往无法达到理想的测试效果。另交易所测试环境因流控的原因,很难较好的进行压力测试。再次交易所环境会存在多个用户进行测试的情况,不能给予一个“完全干净”的环境来进行可靠性测试。此外,随着涉足此领域的企业和个人不断增多,势必会对交易所的模拟***产生巨大的负载压力。
发明内容
本发明的目的在于提供一种期货交易所交易前置***模拟器,旨在解决交易所的***定期主备切换,在部分时间内无法进行正常运作,连接***需要通过公共网络,无法达到理想测试效果,以及交易所的测试环境无法提供独立的环境进行可靠性测试,很难较好的进行压力测试的问题。
本发明是这样实现的,一种期货交易所交易前置***模拟器,包括:
连接模块,与测试用户建立TCP连接,按照交易所规定的FTD数据格式收发报文;采用被动侦听的形式,相应测试用户发出的连接请求并建立TCP连接;
命令管理模块,用于识别对模拟器的相关操作指令,根据正则表达式对用户输入的命令进行匹配,并按照匹配的结果将识别的结果送交管理模块进行处理;匹配发生了错误,提供相应的提示,供测试人员修正自己的操作;
管理模块,与连接模块、命令管理模块连接,用于对从连接模块收到的用户报文,以及从命令管理模块中接收到的用户命令进行处理,并发送给相应的模块进行进一步执行;
报文组织与处理模块,与管理模块连接,用于将根据管理模块的相应调用,使用对应的功能对报文进行实际处理。
进一步,所述连接模块还包括启动功能、停止断开功能、发送功能、接收功能、响应功能、侦听功能。
进一步,所述货交易所交易前置***模拟器支持16个测试账户同时连接。
进一步,所述命令管理模块包括运行管理功能、地址管理功能、路径选择功能、报文发送功能、报文查询功能、报单撤销功能、模板生成功能、报文解析功能。
进一步,所述管理模块包括连接和断开功能、端口设置功能、获取收发报文功能、获取登录信息功能、报文本地编码功能、初始化报文功能、创建报文模板功能、报文解析功能。
进一步,所述报文组织与处理模块包括创建报文功能、组织报文内容功能、获取报文信息功能、打印报文功能、报文压缩和解压功能。
进一步,所述报文组织与处理模块对于用户发送的FTD报文,将根据预先存储的报文格式对进行解析,然后判断相应的字段输入是否正确,正确则发送回复报文,错误则根据相应的错误类型发送错误报文。
进一步,所述管理模块负责各模块间的交互与业务数据的处理;
当需要发送数据时,管理模块组织并获取业务数据,调用报文组织与处理模块对数据进行封装,再通过连接模块进行数据发送;收到数据时,由连接模块获取数据报文并经报文组织与处理模块解析处理最后通过管理模块作业务逻辑的处理;命令管理模块直接与用户交互,根据不同命令由管理模块进行业务处理。
本发明相较于期货交易所交易前置服务器,可以在任何时间,地点,甚至不连接外部网络环境的条件下进行测试,为开发者提供了极大的便利。同时,可以自由地设置限制条件,从而进行许多通过交易所端无法进行的测试(如压力测试)。本发明可以和交易所的***形成互补,从而为期货交易相关软硬件的开发者提供更好的开发环境。本发明的期货交易前置***模拟器,让相关的软硬件开发者可以在任何时间,地点,甚至离线的情况下都可以进行相关***的开发和测试工作。此外,相较于难以变更的期货交易所前置***服务器,本发明安装在个人电脑或公司服务器上,可以按照自己的开发需求对相关模块功能进行增删或修改,极大提高了开发者的灵活性。
附图说明
图1是本发明实施例提供的期货交易所交易前置***模拟器的结构示意图;
图中:1、连接模块;2、命令管理模块;3、管理模块;4、报文组织与处理模块。
具体实施方式
为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下。
如图1所示,本发明是这样实现的,一种期货交易所交易前置***模拟器包括连接模块1、命令管理模块2、管理模块3、报文组织与处理模块4;
所述的连接模块1包括启动功能、停止断开功能、发送功能、接收功能、响应功能、侦听功能;
连接模块的功能主要在于模拟期货交易所交易前置的网络行为,与测试用户建立TCP连接,并按照交易所规定的FTD数据格式收发报文;连接模块采用被动侦听的形式,相应测试用户发出的连接请求并建立TCP连接,本发明的模拟器可以支持16个测试账户同时连接。
所述的命令管理模块2包括运行管理功能、地址管理功能、路径选择功能、报文发送功能、报文查询功能、报单撤销功能、模板生成功能、报文解析功能;
命令管理模块的功能主要是识别对模拟器的相关操作指令,一般来说,本发明的模拟器在启动开始运行之后,可以自动运行并对测试用户发送的报文进行处理和回复,不需要对其进行过多操作,但是在一些情况下,可以手动操作本模拟器,使其的运行方式更为灵活;命令管理模块根据正则表达式对用户输入的命令进行匹配,并按照匹配的结果将识别的结果送交管理模块进行处理;如果匹配发生了错误,还可以提供相应的提示,供测试人员修正自己的操作;由于有命令管理模块的存在,用户可以更加自由地控制本模拟器的行为,还可以通过脚本的方式将大量操作依次执行,为用户提供了灵活便利的模拟方式,这是期货交易所提供的模拟前置服务器所无法实现的。
所述的管理模块3,与连接模块1、命令管理模块2连接,包括连接和断开功能、端口设置功能、获取收发报文功能、获取登录信息功能、报文本地编码功能、初始化报文功能、创建报文模板功能、报文解析功能;
管理模块的功能主要是对各类信息(包括从连接模块收到的用户报文,以及从命令管理模块中接收到的用户命令)进行处理,并发送给相应的模块进行进一步执行,处于软件的核心位置。
所述的报文组织与处理模块4,与管理模块3连接,包括创建报文功能、组织报文内容功能、获取报文信息功能、打印报文功能、报文压缩和解压功能;
报文组织与处理模块4主要功能的实现模块,将根据管理模块的相应调用,使用对应的功能对报文进行实际处理。
对于用户发送的FTD报文,报文组织与处理模块4将根据预先存储的报文格式对其进行解析,然后判断相应的字段输入是否正确,若正确则发送回复报文,若错误则根据相应的错误类型发送错误报文。对于报单类型的报文,发送返回报文时,本发明的模拟器将会拷贝所有字段,并添加一个RspInfo域标明错误类型,若报单符合标准则设置错误代码为0,并随机对该报文进行撮合,返回成交报文。
本发明采用函数调用的方式进行模块之间的通信与互动,管理模块3作为主要模块,负责调用其他模块;
当需要发送数据时,管理模块3调用连接模块1进行处理;
当需要对接收到的报文进行处理时,调用报文组织与处理模块4;
当需要对用户输入的命令进行处理时,调用命令管理模块2。
例如,当用户开启侦听模式时,先调用命令管理模块2对用户的输入进行识别处理,得知用户的命令后,再调用连接模块1中的侦听功能,开启侦听。当连接模块1接收到报文后,将交由报文组织与处理模块4进行解析处理,并生成相应的回复报文,再交回连接模块发回。
本发明提供了一种全天候的期货交易前置***模拟器,让相关的软硬件开发者可以在任何时间,地点,甚至离线的情况下都可以进行相关***的开发和测试工作。
此外,相较于难以变更的期货交易所前置***服务器,本***安装在个人电脑或公司服务器上,可以按照自己的开发需求对相关模块功能进行增删或修改,极大提高了开发者的灵活性。
以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。
Claims (8)
1.一种期货交易所交易前置***模拟器,其特征在于,所述的期货交易所交易前置***模拟器包括:
连接模块,与测试用户建立TCP连接,按照交易所规定的FTD数据格式收发报文;采用被动侦听的形式,相应测试用户发出的连接请求并建立TCP连接;
命令管理模块,用于识别对模拟器的相关操作指令,根据正则表达式对用户输入的命令进行匹配,并按照匹配的结果将识别的结果送交管理模块进行处理;匹配发生了错误,提供相应的提示,供测试人员修正自己的操作;
管理模块,与连接模块、命令管理模块连接,用于对从连接模块收到的用户报文,以及从命令管理模块中接收到的用户命令进行处理,并发送给相应的模块进行进一步执行;
报文组织与处理模块,与管理模块连接,用于将根据管理模块的相应调用,使用对应的功能对报文进行实际处理。
2.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述连接模块还包括启动功能、停止断开功能、发送功能、接收功能、响应功能、侦听功能。
3.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述货交易所交易前置***模拟器支持16个测试账户同时连接。
4.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述命令管理模块包括运行管理功能、地址管理功能、路径选择功能、报文发送功能、报文查询功能、报单撤销功能、模板生成功能、报文解析功能。
5.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述管理模块包括连接和断开功能、端口设置功能、获取收发报文功能、获取登录信息功能、报文本地编码功能、初始化报文功能、创建报文模板功能、报文解析功能。
6.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述报文组织与处理模块包括创建报文功能、组织报文内容功能、获取报文信息功能、打印报文功能、报文压缩和解压功能。
7.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述报文组织与处理模块对于用户发送的FTD报文,将根据预先存储的报文格式对进行解析,然后判断相应的字段输入是否正确,正确则发送回复报文,错误则根据相应的错误类型发送错误报文。
8.如权利要求1所述的期货交易所交易前置***模拟器,其特征在于,所述管理模块负责各模块间的交互与业务数据的处理;
当需要发送数据时,管理模块组织并获取业务数据,调用报文组织与处理模块对数据进行封装,再通过连接模块进行数据发送;收到数据时,由连接模块获取数据报文并经报文组织与处理模块解析处理最后通过管理模块作业务逻辑的处理;命令管理模块直接与用户交互,根据不同命令由管理模块进行业务处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510396716.2A CN106339307B (zh) | 2015-07-08 | 2015-07-08 | 一种期货交易所交易前置***模拟器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510396716.2A CN106339307B (zh) | 2015-07-08 | 2015-07-08 | 一种期货交易所交易前置***模拟器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339307A true CN106339307A (zh) | 2017-01-18 |
CN106339307B CN106339307B (zh) | 2019-04-12 |
Family
ID=57825913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510396716.2A Active CN106339307B (zh) | 2015-07-08 | 2015-07-08 | 一种期货交易所交易前置***模拟器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339307B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590067A (zh) * | 2017-08-01 | 2018-01-16 | 百富计算机技术(深圳)有限公司 | 通过pos模拟器进行测试的方法及装置 |
CN108932663A (zh) * | 2018-06-26 | 2018-12-04 | 中国银行股份有限公司 | 一种模拟撮合交易方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996374A (zh) * | 2006-12-30 | 2007-07-11 | 中国建设银行股份有限公司 | 一种用于前置测试的方法、装置及*** |
US20080126346A1 (en) * | 2006-11-29 | 2008-05-29 | Siemens Medical Solutions Usa, Inc. | Electronic Data Transaction Processing Test and Validation System |
CN101917312A (zh) * | 2010-09-01 | 2010-12-15 | 中国建设银行股份有限公司 | 性能测试模拟器及其报文组包模块、报文组包及发送方法 |
CN103023810A (zh) * | 2012-12-31 | 2013-04-03 | 中国银行股份有限公司 | 一种报文处理模拟方法及模拟*** |
CN103605557A (zh) * | 2013-10-25 | 2014-02-26 | 普华基础软件股份有限公司 | 一种虚拟器件管理***及管理方法 |
-
2015
- 2015-07-08 CN CN201510396716.2A patent/CN106339307B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126346A1 (en) * | 2006-11-29 | 2008-05-29 | Siemens Medical Solutions Usa, Inc. | Electronic Data Transaction Processing Test and Validation System |
CN1996374A (zh) * | 2006-12-30 | 2007-07-11 | 中国建设银行股份有限公司 | 一种用于前置测试的方法、装置及*** |
CN101917312A (zh) * | 2010-09-01 | 2010-12-15 | 中国建设银行股份有限公司 | 性能测试模拟器及其报文组包模块、报文组包及发送方法 |
CN103023810A (zh) * | 2012-12-31 | 2013-04-03 | 中国银行股份有限公司 | 一种报文处理模拟方法及模拟*** |
CN103605557A (zh) * | 2013-10-25 | 2014-02-26 | 普华基础软件股份有限公司 | 一种虚拟器件管理***及管理方法 |
Non-Patent Citations (1)
Title |
---|
高洁: "建设银行业务***性能测试通用模拟器的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590067A (zh) * | 2017-08-01 | 2018-01-16 | 百富计算机技术(深圳)有限公司 | 通过pos模拟器进行测试的方法及装置 |
CN108932663A (zh) * | 2018-06-26 | 2018-12-04 | 中国银行股份有限公司 | 一种模拟撮合交易方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106339307B (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107179984A (zh) | 一种接口mock方法及接口测试方法 | |
CN106209503B (zh) | Rpc接口测试方法及*** | |
CN104579822A (zh) | 基于Http协议的移动应用自动化性能测试***及方法 | |
CN108306804A (zh) | 一种Ethercat主站控制器及其通信方法和*** | |
CN110222119B (zh) | 一种异构数据库的数据转换同步方法、设备及存储介质 | |
CN101436148A (zh) | 集成客户端及进行桌面应用与网络web应用交互的方法 | |
CN101795206A (zh) | 一种在分布式构成设备上实现snmp代理的方法和装置 | |
CN104991817A (zh) | 一种信息***可配置集成方法及*** | |
CN102609409A (zh) | 一种在线翻译方法、装置、***及服务器 | |
CN105468465A (zh) | 一种基于ace的进程间通信***和方法 | |
CN109739665A (zh) | 接口管理方法、装置、服务器及存储介质 | |
CN106095424B (zh) | 应用组件中交易调用的处理方法和装置 | |
CN101702170A (zh) | 行政审批串口数据解析交换方法 | |
CN101964923A (zh) | 交互式命令的配置***及方法 | |
CN106339307A (zh) | 一种期货交易所交易前置***模拟器 | |
CN109445384A (zh) | 一种多设备控制*** | |
CN116627849B (zh) | ***测试方法、装置、设备及存储介质 | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN107766070A (zh) | 一种业务卡升级方法、装置、设备及计算机可读存储介质 | |
CN110460497A (zh) | 一种自动化测试方法、装置及*** | |
CN111177632A (zh) | 数据获取方法及其相关设备、***及存储装置 | |
CN115102952B (zh) | 终端产品通过本地服务器连接云平台的方法、设备及介质 | |
CN116346660A (zh) | 基于依赖替换服务的数据处理方法、装置、设备及介质 | |
CN115202907A (zh) | 一种应用程序接口的运行方法、***、计算机设备及介质 | |
CN114050909B (zh) | 模拟邮件的演练方法、***和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |