一种内存修改实时上场应急方法和系统与流程

文档序号:29820093发布日期:2022-04-27 10:58阅读:73来源:国知局
1.本发明涉及一种内存数据库的处理技术,具体涉及一种针对金融领域盘中交易核心出现异常内存数据时的应急修改方法和系统。
背景技术
::2.柜台交易系统是期货经纪公司的最重要的应用软件系统,该类系统集客户交易、分级结算、统一风控、客户开户、资金管理、银期转账功能为一体,具有系统多样、模块分散的特点。3.柜台交易系统模块主要由数据上场模块、交易前置、排队机、交易核心、交易报盘、查询前置、查询核心、行情报盘等模块组成。在每日开盘前,需要将前一日的初始化数据(包括投资者信息、持仓信息、资金信息、费率信息等)通过数据上场模块由关系数据库(如oracle)导入交易核心的内存数据库。4.使用内存数据库具有提高实时交易系统的响应速度的优势,然而数据一旦上场完成,存在重新上场耗时较长且人工修改困难的问题,期货经纪公司管理端有盘中修改内存数据库的需求。5.如何在系统中满足数据上场完成后在盘中修改内存数据库的需求,是目前业界亟待解决的问题。技术实现要素:6.以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。7.本发明的目的在于解决上述问题,提供了一种内存修改实时上场应急方法和系统,快速实现盘中交易核心异常内存数据的应急修改。8.本发明的技术方案为:本发明揭示了一种内存修改实时上场应急方法,方法包括:9.步骤1:数据同步模块接收上传的应急上场同步消息;10.步骤2:数据同步模块为该应急上场同步消息添加包括管理员账号、秘钥在内的认证信息,将该应急上场同步消息组装为应急上场同步报文;11.步骤3:数据同步模块将该应急上场同步报文发送至数据上场模块,数据上场模块对该应急上场同步报文对应的应急上场同步消息进行字段类型检查,并转发至交易核心;12.步骤4:交易核心对该应急上场同步消息进行认证,解析该应急上场同步报文,完成指定内存数据库表修改或进行指定业务处理。13.根据本发明的内存修改实时上场应急方法的一实施例,应急上场同步消息是内存修改消息,分为内存数据库应急修改消息、应急字符串xtp消息,其中交易核心通过解析内存数据库应急修改消息的字符串以获取待修改内存表名、修改操作及待修改字段值,以便直接对内存数据库进行更新,其中交易核心通过应急字符串xtp消息中的业务号完成对对应的应急业务的处理并修改对应的内存数据库表。14.根据本发明的内存修改实时上场应急方法的一实施例,步骤3中的字段类型检查是检查应急字符串xtp消息是否符合能进行内存修改的要求,包括字段名对应的字段类型和待修改成的字段值类型是否对应,或者待修改数据或操作是否符合要求。15.根据本发明的内存修改实时上场应急方法的一实施例,步骤4中的认证是数据同步模块在步骤2中所完成的添加包括管理员账号、秘钥在内的认证信息的处理进行验证。16.根据本发明的内存修改实时上场应急方法的一实施例,数据同步模块无需实时运行,仅在应急上场时启动并与数据上场模块建立tcp连接。17.本发明还揭示了一种应用内存修改实时上场应急方法的系统,系统包括数据同步模块、数据上场模块和交易核心,交易核心中设有内存数据库,其中:18.数据同步模块,用于构建应急上场同步消息,添加包括管理员账号、秘钥在内的认证消息,并基于应急上场同步消息组装应急上场同步报文,将应急上场同步报文发送至数据上场模块;19.数据上场模块,用于对数据同步模块发送来的报文中的应急上场同步消息进行字段类型检查并转发至交易核心;20.交易核心,用于对应急上场同步消息进行认证,解析应急上场同步报文,并根据解析的结果完成指定内存数据库修改或者业务消息的处理。21.根据本发明的应用内存修改实时上场应急方法的系统的一实施例,数据同步模块用于构建的应急上场同步消息是内存修改消息,分为内存数据库应急修改消息、应急字符串xtp消息,其中交易核心通过解析内存数据库应急修改消息的字符串以获取待修改内存表名、修改操作及待修改字段值,以便直接对内存数据库进行更新,其中交易核心通过应急字符串xtp消息中的业务号完成对对应的应急业务的处理并修改对应的内存数据库表。22.根据本发明的应用内存修改实时上场应急方法的系统的一实施例,数据上场模块完成的字段类型检查,是检查应急字符串xtp消息是否符合能进行内存修改的要求,包括字段名对应的字段类型和待修改成的字段值类型是否对应,或者待修改数据或操作是否符合要求。23.根据本发明的应用内存修改实时上场应急方法的系统的一实施例,交易核心的认证是数据同步模块在步骤2中所完成的添加包括管理员账号、秘钥在内的认证信息的处理进行验证。24.根据本发明的应用内存修改实时上场应急方法的系统的一实施例,数据同步模块无需实时运行,仅在应急上场时启动并与数据上场模块建立tcp连接。25.本发明对比现有技术有如下的有益效果:本发明通过一个数据同步模块,与数据上场模块建立tcp连接,设计两组以字符串组合形式的消息发送至数据上场模块,经数据上场模块转发供交易核心处理,进而实现内存数据库修改实时上场。26.详细而言,本发明具有以下特点:27.(1)数据同步模块,供期货经纪公司管理员同步盘中数据:数据同步模块部署在经纪公司的管理端,经数据上场模块转发,具有与交易核心通信的能力,交易核心对盘中数据实时计算并维护内存数据库,数据同步模块为开放柜台提供应急修改交易核心内存数据库的能力。28.(2)内存数据库应急修改消息,是根据内存数据库表名及字段值直接修改内存数据库:本发明设计一组以字符串形式构建的内存数据库应急修改消息,通过指定表名及字段值,通过数据同步模块和数据上场模块将该内存数据库应急修改信息转发至交易核心,完成对指定内存数据库表的直接修改。29.(3)应急字符串xtp消息,是根据业务消息直接修改相关内存数据库:本发明设计一组以字符串形式构建的应急业务处理消息,通过指定业务号及相关字段,以业务处理的模式完成该业务相关的一个或多个内存数据库表的修改,应急字符串xtp消息提供了一种以业务处理为中心的通用方法,支持密码修改、费率同步等多种应急上场手段,可拓展性强。附图说明30.在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。31.图1示出了本发明的内存修改实时上场应急系统的一实施例的架构示意图。32.图2示出了本发明的内存修改实时上场应急方法的一实施例的流程图。具体实施方式33.以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。34.图1示出了本发明的内存修改实时上场应急系统的一实施例的系统架构,其这个系统上实现如图2所示的应急方法。本实施例的内存修改实时上场应急系统包括:数据同步模块、数据上场模块、交易核心。35.此外,在系统之外的应用环境中还包括了交易前置模块、交易报盘模块、行情模块、查询模块。36.内存修改实时上场应急系统连同应用环境中的模块,共同构成柜台交易系统。37.交易前置模块用于验证用户登录信息,接收用户接口发送的指令并转换为内部xtp消息发送至交易核心。38.交易报盘模块用于对接各交易所,上发报单及接收回报。39.行情模块用于接收并处理订阅的交易所行情。40.查询模块包括查询前置和查询核心,用于处理和返回用户的查询类消息。41.数据同步模块用于构建应急上场同步消息,添加管理员账号、秘钥及相关认证消息,并基于应急上场同步消息组装成对应的应急上场同步报文,并将报文发送至数据上场模块以实现应急操作的功能。数据同步模块的详细配置详述如下。42.数据同步模块无需实时运行,仅在应急上场时启动并与数据上场模块建立tcp连接。43.数据同步模块中设有两类内存修改格式,内存修改消息(即应急上场同步消息)分为内存数据库应急修改消息、应急字符串xtp消息(xtp消息为开放柜台内部进程通讯消息)供核心处理两类,具体设计如下。44.(1)内存数据库应急修改消息(tid_syncmemchangemsg)45.内存数据库应急修改消息为一组以“|”分隔的字符串,其消息格式如下:46.memorytablename|action|findstr47.或memorytablename|action|findstr|valuestr48.其中,memorytablename为待修改的内存数据库表名;49.action为指定操作类型,分别为插入“a”、更新“u”、删除“d”、相对值修改“m”;50.findstr、valuestr为一组以“,”分隔的键值对,其中键值对以“:”分隔,findstr用于查找内存数据库中指定数据,valuestr用于对指定数据字段赋值及更新。51.示例如下:52.msg1=ustpuser|a|userid:000001,password:123456,testvalue:153.msg2=ustpuser|d|userid:00000154.msg3=ustpuser|u|userid:000001|password:65432155.msg4=ustpuser|m|userid:000001|testvalue:156.其中,msg1为对ustpuser表进行插入(a)操作,新增一条userid为000001,password为123456,testvalue为1的数据;msg2为删除ustpuser表中userid为000001的数据;msg3为将ustpuser表中userid为000001的记录的password修改为654321;msg4为将ustpuser表中userid为000001的记录的testvalue记录值加1。57.在期货经纪公司管理端由管理员以字符串形式构建上述指定格式的消息,并发送至交易核心处理,交易核心通过解析内存数据库应急修改消息的字符串以获取待修改内存表名、修改操作及待修改字段值,直接对内存数据库进行更新,支持修改的内存数据库表包括用户表、费率模板表、客户权限表、ip地址黑白名单表及参数表等。58.(2)应急字符串xtp消息(tid_syncstringxtpmsg)59.考虑到一个业务的处理可能涉及到多个内存数据库表的修改,故设计以业务为中心的应急字符串xtp消息,一条应急字符串xtp消息完成了该业务流程的相关内存数据库表的修改。应急字符串xtp消息为对内部xtp消息的封装,是一组以“/”拼接的字符串序列,格式如下:60.transactionid/field_1=value_1/field_2=value_2/……/field_n=value_n61.其中,transactionid为业务号,例如:用户密码修改、席位密码修改、同步限制ip登录等内部xtp消息号;field为该业务需要使用的字段名,value为相关字段值。62.在期货经纪公司管理端由管理员以字符串形式构建指定应急业务消息(即应急字符串xtp消息),并填充相关字段,交易核心以正常业务处理的模式解析该应急字符串xtp消息,完成对该应急业务的处理,并修改相关内存数据库表。63.应急字符串xtp消息提供了一种灵活的通用xtp消息处理方法,仅需提供业务号transactionid及相关字段,即可供交易核心处理该应急业务。常用的应急字符串xtp消息可以实现出入金同步、修改客户密码、席位密码修改、冻结资金、消息通知、同步限制ip登录、同步黑白名单、同步新客户、切换交易中心、同步交易权限、同步银期转账权限、同步换汇结果、客户冻结解冻、同步手续费率、置废单、货币质押、灾备切换等操作。64.数据上场模块用于对数据同步模块发送来的报文中的应急上场同步消息进行字段类型检查并转发至交易核心。数据上场模块还将合约、费率模板、投资者信息等系统初始化数据导入交易核心。65.交易核心中设置内存数据库。交易核心用于对应急上场同步消息进行认证,解析应急上场同步报文,并根据解析的结果来完成指定内存数据库修改或者处理业务消息,所处理的业务消息包括:完成报单核验、资金计算等交易业务。66.图2示出了本发明的内存修改实时上场应急方法的一实施例的流程。请参见图2,本实施例的内存修改实时上场应急方法的实施步骤详述如下。67.步骤1:数据同步模块接收期货经纪公司运维管理端上传的应急上场同步消息。68.此处的应急上场同步消息就是前述的内存修改消息(包括内存数据库应急修改消息和应急字符串xtp消息),即,期货经纪公司运维管理端通过发送应急上场同步消息来完成内存修改的功能。69.步骤2:数据同步模块为该应急上场同步消息添加管理员账号、秘钥及相关认证信息,组装应急上场同步报文。70.应急上场同步报文为业务号+业务内容。前述的字符串xtp消息属于“业务内容”,即通过上述两种规则拼接的字符串,例如:71.ustpuser|u|userid:000001,password:123456,或者72.tid_syncuserpasswordupdate/userid=000001/password=123456,该用例用于修改交易核心内存数据库中的用户000001的密码为123456,73.前述的两种消息格式,是在数据同步模块中完成报文的组装。在字符串xtp消息发送到交易核心之前,通过数据同步模块组装成xtp报文。也即构建出字符串xtp消息之后,发送到数据上场模块之前数据同步模块为字符串xtp消息生成一个业务号,内存数据库应急修改消息的业务号为tid_syncmemchangemsg,应急字符串xtp消息业务号为tid_syncstringxtpmsg,交易核心根据xtp报文业务号识别为内存应急修改消息,解析后完成相关内存数据库修改。74.步骤3:数据同步模块与数据上场模块建立tcp连接,将应急上场同步报文发送至数据上场模块,数据上场模块对应急上场同步消息进行字段类型检查,并转发至交易核心。75.字段类型检查即检查构建的这条字符串xtp消息是否符合能进行内存修改的要求,例如字段名对应的字段类型和待修改成的字段值类型是否对应,待修改数据或操作是否符合要求,等。76.步骤4:交易核心对应急上场同步消息进行认证,解析应急上场同步报文,完成指定内存数据库表修改或进行指定业务处理。77.认证是对数据同步模块在前述步骤中所完成的“添加管理员账号、秘钥及相关认证信息”的处理进行验证,发送内存修改消息需要管理员权限,即需要认证管理员权限。78.尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。79.本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。80.结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。81.结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。82.在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。83.提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1