一种交易报文处理方法及装置与流程

文档序号:30287193发布日期:2022-06-04 13:00阅读:81来源:国知局

1.本发明涉及数据处理领域,具体而言,涉及一种交易报文处理方法及装置。


背景技术:

2.现有应用系统采用中间件(如tuxedo)连接,部署模式为负载均衡对等部署,部署多台应用服务器,每台应用主机处理业务逻辑相同,单台应用服务器处理多种业务,运行环境相同并共享系统资源。
3.交易处理流向:外系统交易请求业务系统,通过中间件路由到应用服务器1-n中随机一台,应用服务器内部网关识别交易码,并根据交易码进行业务模块交易路由,最终将不同的业务交易分发到不同的业务模块中,业务模块进行相应业务处理。
4.应用系统运行业务多样,各业务交易属性又各不相同,交易属性有:高并发、高实时、业务变更稳定、业务变更频繁等;在同一系统环境下运行,系统资源共享的同时,也同时争抢系统资源,多业务下运行风险增大;各业务发展不一,系统功能变更规律不固定。如a业务频繁变更,可能会影响b业务的正常运行,主机按照模块隔离,隔离度不够;在非微服务的架构下,同一个系统中,如何进行多个业务部署,部署模式比较繁琐。
5.针对相关技术中交易报文处理增大了多业务下运行风险且隔离度不够,在非微服务的架构下,部署模式比较繁琐的问题,尚未提出解决方案。


技术实现要素:

6.本发明实施例提供了一种交易报文处理方法及装置,以至少解决相关技术中交易报文处理增大了多业务下运行风险且隔离度不够,在非微服务的架构下,部署模式比较繁琐的问题。
7.根据本发明的一个实施例,提供了一种交易报文处理方法,包括:对接收到的交易报文进行解析,得到所述交易报文的交易码信息;根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机;通过所述目标主机将交易报文转发到对应的应用服务器,其中,所述应用服务器用于处理所述交易报文。
8.可选地,根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机包括:根据所述交易码信息在共享内存中匹配业务域信息与主机信息,其中,所述共享内存中存储有交易码信息、业务域信息以及主机信息的对应关系;根据所述业务域信息与所述主机信息查找匹配的目标主机。
9.可选地,根据所述业务域信息与所述主机信息查找匹配的目标主机包括:根据所述主机信息生成主机列表;根据所述业务域信息从所述主机列表中筛选当前处于存活状态的一个或多个主
机;从所述一个或多个主机中选取匹配的所述目标主机。
10.可选地,根据所述业务域信息从所述主机列表中筛选当前处于存活状态的一个或多个主机包括:将所述主机列表中所有主机按照序列进行排序;重复执行以下步骤,直到最后一个主机,筛选出当前处于存活状态的所述一个或多个主机:按照静态变量查找对应主机,并将所述静态变量增加1,其中,所述静态变量的初始值是预先设置的;通过设置的检测配置文件检测查找到的主机的状态是否为健康,在检测结果为是的情况下,确定所述查找到的主机当前处于所述存活状态。
11.可选地,根据所述交易码信息在共享内存中匹配业务域信息与主机信息包括:使用showshm工具查询所述共享内存;在所述共享内存中获取所述交易码信息匹配的业务域信息与主机信息。
12.可选地,在对接收到的交易报文进行解析,得到所述交易报文的交易码信息之前,所述方法还包括:根据业务属性或业务功能梳理出业务域信息;将业务域信息对应的主机列表列出,并将所述业务域信息与所述主机列表的对应关系写入文件match_group.cfg中;根据所述业务域信息梳理出交易码列表,并将所述业务域信息与所述交易码列表的对应关系写入文件match_route.cfg;根据所述文件match_group.cfg与所述文件match_route.cfg将所述业务域信息、所述交易码信息以及所述主机信息写入共享内存。
13.根据本发明的另一个实施例,还提供了一种交易报文处理装置,包括:解析模块,用于对接收到的交易报文进行解析,得到所述交易报文的交易码信息;确定模块,用于根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机;转发模块,用于通过所述目标主机将交易报文转发到对应的应用服务器,其中,所述应用服务器用于处理所述交易报文。
14.可选地,所述确定模块包括:匹配子模块,用于根据所述交易码信息在共享内存中匹配业务域信息与主机信息,其中,所述共享内存中存储有交易码信息、业务域信息以及主机信息的对应关系;查找子模块,用于根据所述业务域信息与所述主机信息查找匹配的目标主机。
15.可选地,所述查找子模块包括:生成单元,用于根据所述主机信息生成主机列表;筛选单元,用于根据所述业务域信息从所述主机列表中筛选当前处于存活状态的一个或多个主机;第一获取单元,用于从所述一个或多个主机中选取匹配的所述目标主机。
16.可选地,所述筛选单元,还用于将所述主机列表中所有主机按照序列进行排序;重
复执行以下步骤,直到最后一个主机,筛选出当前处于存活状态的所述一个或多个主机:按照静态变量查找对应主机,并将所述静态变量增加1,其中,所述静态变量的初始值是预先设置的;通过设置的检测配置文件检测查找到的主机的状态是否为健康,在检测结果为是的情况下,确定所述查找到的主机当前处于所述存活状态。
17.可选地,所述匹配子模块包括:查询单元,用于使用showshm工具查询所述共享内存;第二获取单元,用于在所述共享内存中获取所述交易码信息匹配的业务域信息与主机信息。
18.可选地,所述装置还包括:梳理模块,用于根据业务属性或业务功能梳理出业务域信息;第一写入模块,用于将业务域信息对应的主机列表列出,并将所述业务域信息与所述主机列表的对应关系写入文件match_group.cfg中;第二写入模块,用于根据所述业务域信息梳理出交易码列表,并将所述业务域信息与所述交易码列表的对应关系写入文件match_route.cfg;第三写入模块,用于根据所述文件match_group.cfg与所述文件match_route.cfg将所述业务域信息、所述交易码信息以及所述主机信息写入共享内存。
19.根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
20.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
21.通过本发明,对接收到的交易报文进行解析,得到所述交易报文的交易码信息;根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机;通过所述目标主机将报文转发到对应的应用服务器,其中,所述应用服务器用于处理所述交易报文,可以解决相关技术中交易报文处理增大了多业务下运行风险且隔离度不够,在非微服务的架构下,部署模式比较繁琐的问题,通过交易码信息确定匹配的主机,从而实现交易报文的转发,交易颗粒度最小,业务进行隔离拆分时,能达到最优效果;只需对交易路由路径进行改造,不需要进行业务系统改造,改造切换时可进行无缝切换,实施效率高。
附图说明
22.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例的交易报文处理方法的移动终端的硬件结构框图;图2是根据本发明实施例的交易报文处理方法的流程图;图3是根据本发明可选实施例的交易报文处理方法的流程图;图4是根据本发明实施例的共享内存中内存头索引内存的示意图;图5是根据本发明实施例的共享内存中业务域信息内存的示意图;
图6是根据本发明实施例的共享内存中主机信息内存的示意图;图7是根据本发明实施例的共享内存中交易码信息内存的示意图;图8是根据本发明实施例的根据交易码匹配主机的流程图;图9是根据本发明实施例的匹配主机的示意图;图10是根据本发明实施例的基于交易级别的业务分域功能的示意图;图11是根据本发明实施例的交易报文处理装置。
具体实施方式
23.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
25.实施例1本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的交易报文处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
26.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的交易报文处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
27.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
28.在本实施例中提供了一种运行于上述移动终端或网络架构的交易报文处理方法,图2是根据本发明实施例的交易报文处理方法的流程图,如图2所示,该流程包括如下步骤:步骤s202,对接收到的交易报文进行解析,得到所述交易报文的交易码信息;步骤s204,根据交易码信息确定交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机;步骤s206,通过目标主机将交易报文转发到对应的应用服务器,其中,所述应用服
务器用于处理所述交易报文。
29.通过上述步骤s202至s206,可以解决相关技术中交易报文处理增大了多业务下运行风险且隔离度不够,在非微服务的架构下,部署模式比较繁琐的问题,通过交易码信息确定匹配的主机,从而实现交易报文的转发,交易颗粒度最小,业务进行隔离拆分时,能达到最优效果;只需对交易路由路径进行改造,不需要进行业务系统改造,改造切换时可进行无缝切换,实施效率高。
30.图3是根据本发明可选实施例的交易报文处理方法的流程图,如图3所示,上述步骤s204具体可以包括:步骤s302,根据交易码信息在共享内存中匹配业务域信息与主机信息,其中,所述共享内存中存储有交易码信息、业务域信息以及主机信息的对应关系;本发明实施例中的共享内存主要包括:内存头索引、业务域信息、主机信息、交易码信息。
31.图4是根据本发明实施例的共享内存中内存头索引内存的示意图,如图4所示,内存头索引内存包括内存长度、业务域信息偏移量、主机信息偏移量以及交易码信息。
32.图5是根据本发明实施例的共享内存中业务域信息内存的示意图,如图5所示,业务域信息内存包括业务域个数以及业务域a,业务域b,

,业务域n。
33.图6是根据本发明实施例的共享内存中主机信息内存的示意图,如图6所示,主机信息内存包括主机个数,主机信息与对应的状态,主机信息包括主机信息1至主机信息n。
34.图7是根据本发明实施例的共享内存中交易码信息内存的示意图,如图7所示,交易码信息内存包括校验码信息个数、交易码1至交易码n以及对应的业务域。
35.本发明实施例中,上述步骤s302具体包括:使用showshm工具查询所述共享内存;在所述共享内存中获取所述交易码信息匹配的业务域信息与主机信息。
36.在一可选的实施例中,可以使用共享内存技术,新增加initshm工具,通过以下方式将业务域信息、交易码信息以及主机信息写入共享内存中:根据业务属性或业务功能梳理出业务域信息;将业务域信息对应的主机列表列出,并将所述业务域信息与所述主机列表的对应关系写入文件match_group.cfg中;根据所述业务域信息梳理出交易码列表,并将所述业务域信息与所述交易码列表的对应关系写入文件match_route.cfg;根据所述文件match_group.cfg与所述文件match_route.cfg将所述业务域信息、所述交易码信息以及所述主机信息写入共享内存。
37.根据业务属性或者业务功能梳理出业务域单元的编号。例如:业务域-a、业务域-b、业务域-c三个业务域,然后将业务域对应的机器列表列出。将支持的业务域列表和支持的主机列表写到文件match_group.cfg中,文件格式如下:[group_list]:unit-a;unit-b;unit-c;[unit-a]:app001;app002;
app003;[unit-b]:app101;app102;app103;[unit-b]:app201;app302;app403。
[0038]
根据不通过业务域梳理出交易码列表,并对应关系写入match_route.cfg,文件格式如下:###unit-a;#t0001 为交易码;t0001 unit-a;t0002 unit-a;###unit-b;t0011 unit-b;t0012 unit-b;###unit-c;t0021 unit-c;t0032 unit-c。
[0039]
为了日常维护,新增查询共享内存showshm工具,可查询以上内存信息。为了路由的正确性,需要进行主机健康检测,设置主机检测配置文件:checkserver.cfg,格式和参数内容如下:#检测超时时间-check_timeout=60;#检测失败重试次数-check_reyty_num=3;#检测服务-check_server_name=checkserver。
[0040]
获取所有主机列表,调用服务进行服务检测,返回up为成功,返回其他为失败,并根据主机状态更新主机信息的内存。
[0041]
接受请求来报后,获取交易码,根据交易码匹配对应主机,图8是根据本发明实施例的根据交易码匹配主机的流程图,如图8所示,包括:步骤s801,获取交易码信息;步骤s802,获取交易码信息内存;步骤s803,进行循环路由匹配;步骤s804,判断是否匹配成功,在判断结果为是的情况下,执行步骤s805,否则返回步骤s803;步骤s805,获取业务域信息;步骤s806,筛选存活主机;步骤s807,判断是否匹配成功,在判断结果为是的情况下,执行步骤s808,否则返
回步骤s805;步骤s808,交易转发。
[0042]
图9是根据本发明实施例的匹配主机的示意图,如图9所示,如果无存活主机,交易路由失败。筛选存活主机,需考虑主机的状态和路由的平均性;将主机按照序列进行排序,1-n;设置自增静态变量,例如c语音中static int offset=1;按照offset找到对应主机,并将offset累加,offset+1;判断主机状态是否健康,如果正常进行转发,如果异步继续轮训,直到找到符合的主机。
[0043]
步骤s304,根据业务域信息与主机信息查找匹配的目标主机。
[0044]
本发明实施例中,上述步骤s304具体包括:根据所述主机信息生成主机列表;根据所述业务域信息从所述主机列表中筛选当前处于存活状态的一个或多个主机;从所述一个或多个主机中选取匹配的所述目标主机。
[0045]
进一步的,可以通过以下方式筛选当前处于存活状态的主机:将所述主机列表中所有主机按照序列进行排序;重复执行以下步骤,直到最后一个主机,筛选出当前处于存活状态的所述一个或多个主机:按照静态变量查找对应主机,并将所述静态变量增加1,其中,所述静态变量的初始值是预先设置的;通过设置的检测配置文件检测查找到的主机的状态是否为健康,在检测结果为是的情况下,确定所述查找到的主机当前处于所述存活状态。
[0046]
图10是根据本发明实施例的基于交易级别的业务分域功能的示意图,如图10所示,主要分为两大功能:交易路由和故障隔离。路由层接收到其他系统的来报后,先进行交易码解析,根据交易码在共享内存中匹配业务域单元编号,根据业务域编号查找现有存活主机,按照轮训算法查找对应主机,对应主机信息进行交易转发,将交易请求转到对应的应用服务器,应用服务器按照现有的业务逻辑进行业务处理,交易流程结束。
[0047]
根据本发明的另一个实施例,还提供了一种交易报文处理装置,图11是根据本发明实施例的交易报文处理装置,如图11所示,包括:解析模块112,用于对接收到的交易报文进行解析,得到所述交易报文的交易码信息;确定模块114,用于根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机;转发模块116,用于通过所述目标主机将交易报文转发到对应的应用服务器,其中,所述应用服务器用于处理所述交易报文。
[0048]
可选地,所述确定模块114包括:匹配子模块,用于根据所述交易码信息在共享内存中匹配业务域信息与主机信息,其中,所述共享内存中存储有交易码信息、业务域信息以及主机信息的对应关系;查找子模块,用于根据所述业务域信息与所述主机信息查找匹配的目标主机。
[0049]
可选地,所述查找子模块包括:生成单元,用于根据所述主机信息生成主机列表;筛选单元,用于根据所述业务域信息从所述主机列表中筛选当前处于存活状态的一个或多个主机;第一获取单元,用于从所述一个或多个主机中选取匹配的所述目标主机。
[0050]
可选地,所述筛选单元,还用于将所述主机列表中所有主机按照序列进行排序;重
复执行以下步骤,直到最后一个主机,筛选出当前处于存活状态的所述一个或多个主机:按照静态变量查找对应主机,并将所述静态变量增加1,其中,所述静态变量的初始值是预先设置的;通过设置的检测配置文件检测查找到的主机的状态是否为健康,在检测结果为是的情况下,确定所述查找到的主机当前处于所述存活状态。
[0051]
可选地,所述匹配子模块包括:查询单元,用于使用showshm工具查询所述共享内存;第二获取单元,用于在所述共享内存中获取所述交易码信息匹配的业务域信息与主机信息。
[0052]
可选地,所述装置还包括:梳理模块,用于根据业务属性或业务功能梳理出业务域信息;第一写入模块,用于将业务域信息对应的主机列表列出,并将所述业务域信息与所述主机列表的对应关系写入文件match_group.cfg中;第二写入模块,用于根据所述业务域信息梳理出交易码列表,并将所述业务域信息与所述交易码列表的对应关系写入文件match_route.cfg;第三写入模块,用于根据所述文件match_group.cfg与所述文件match_route.cfg将所述业务域信息、所述交易码信息以及所述主机信息写入共享内存。
[0053]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0054]
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0055]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:s1,对接收到的交易报文进行解析,得到所述交易报文的交易码信息;s2,根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务域信息匹配对应的目标主机;s3,通过所述目标主机将交易报文转发到对应的应用服务器,其中,所述应用服务器用于处理所述交易报文。
[0056]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0057]
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0058]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0059]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:s1,对接收到的交易报文进行解析,得到所述交易报文的交易码信息;s2,根据所述交易码信息确定所述交易报文对应的业务域信息,并根据所述业务
域信息匹配对应的目标主机;s3,通过所述目标主机将交易报文转发到对应的应用服务器,其中,所述应用服务器用于处理所述交易报文。
[0060]
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0061]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0062]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1