一种报文处理方法及系统的制作方法

文档序号:10569723阅读:253来源:国知局
一种报文处理方法及系统的制作方法
【专利摘要】本发明涉及一种报文处理方法及系统,其中方法包括:步骤1:接收待处理报文,解析待处理报文得到待处理报文的类型;步骤2:调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件;步骤3:采用得到的分解组件对待处理报文进行分解得到分解结果,结束。本发明能够实现一套处理机制支撑所有业务的订单处理,大大减少了订单分解不同业务各自数据落地的工作量,而且很好的实现了代码的迁移和复用,提高了代码的复用性,增强了代码的稳定性。
【专利说明】
一种报文处理方法及系统
技术领域
[0001 ]本发明涉及一种报文处理方法及系统。
【背景技术】
[0002]JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
[0003]当前系统中的绝大多数业务都是信息从前台界面录入,业务确认之后,相关的业务受理信息落地,不同的业务,受理信息各有不同,如果针对每一种业务都进行数据落地支撑,所需代价较大,代码冗余程度较高。
[0004]而且由于业务系统中涉及多种SOO的拼接组合操作,以此实现业务的过程中相关数据的落地。分业务处理时,重复的工作量较大,而且不利于代码的迀移复用。

【发明内容】

[0005]本发明所要解决的技术问题是,为了提高代码的复用性和业务无关性,采用如下机制:前台业务信息提交之后拼接成待处理报文进行落地,落地的过程采用java反射机制,实现一套机制支撑所有的业务场景。提供一种所有业务中的各种类型的待处理报文都可以通过订单分解得到正确处理的报文处理方法及系统。
[0006]本发明解决上述技术问题的技术方案如下:一种报文处理方法,具体包括以下步骤:
[0007]步骤1:接收待处理报文,解析待处理报文得到待处理报文的类型;
[0008]步骤2:调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件;
[0009]步骤3:采用得到的分解组件对待处理报文进行分解得到分解结果,结束。
[0010]本发明的有益效果是:本发明能够实现一套处理机制支撑所有业务的订单处理,大大减少了订单分解不同业务各自数据落地的工作量,而且很好的实现了代码的迀移和复用,提高了代码的复用性,增强了代码的稳定性。
[0011]在上述技术方案的基础上,本发明还可以做如下改进。
[0012]进一步,所述分解组件库的创建过程包括以下步骤:
[0013]步骤a:创建多个分解组件,每个所述分解组件中包括报文类型和对应此报文类型的分解方法;
[0014]步骤b:将所有分解组件存入分解组件库中。
[0015]采用上述进一步方案的有益效果是,所有分解组件中包含现有技术中所有的报文分解方法,在分解组件库中集成所有报文分解方法,并建立调用名,便于调用。
[0016]进一步,所述分解组件库的创建过程还包括:
[0017]步骤c:为每个分解组件赋予一个调用名,将所有分解组件的调用名和其对应的报文类型一一对应的存入查询表中。
[0018]采用上述进一步方案的有益效果是,通过创建调用名,在调用分解组件时更加快捷,且准确率更高。
[0019]进一步,所述步骤2具体包括以下步骤:
[0020]步骤2.1:调用分解组件库,获得查询表,根据待处理报文的类型与查询表中的报文类型进行匹配,得到对应的调用名;
[0021 ]步骤2.2:根据调用名调取对应的分解组件。
[0022]进一步,所述步骤3具体包括以下步骤:
[0023]步骤3.1:分解组件对待处理报文进行分解得到分解结果;
[0024]步骤3.2:判断分解组件是否生成订单项,如果是,将订单项存入分解组件库,结束;否则,将分解组件的操作信息存入中间表或正表,结束。
[0025]采用上述进一步方案的有益效果是,正表和中间表是SOO报文处理内部的逻辑,SOO内部组件处理时,中间表与SOO基本——对应,特殊的SOO没有对应的中间表,只有正表。有中间表的数据,在后期竣工时数据也会迀移至正表。只有正表的数据在竣工时不做处理。
[0026]本发明解决上述技术问题的技术方案如下:一种报文处理系统,包括获取模块、调用模块和分解模块;
[0027]所述获取模块用于接收待处理报文,解析待处理报文得到待处理报文的类型;
[0028]所述调用模块调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件;
[0029]所述分解模块采用得到的分解组件对待处理报文进行分解得到分解结果。
[0030]在上述技术方案的基础上,本发明还可以做如下改进。
[0031]进一步,所述分解组件库中包括多个分解组件,每个分解组件中包括报文类型和对应此报文类型的分解方法。
[0032]采用上述进一步方案的有益效果是,所有分解组件中包含现有技术中所有的报文分解方法,在分解组件库中集成所有报文分解方法,并建立调用名,便于调用。
[0033]进一步,所述分解组件库内还包括一个配置表,所述配置表中存储多组一一对应的分解组件的调用名和报文类型。
[0034]采用上述进一步方案的有益效果是,通过创建调用名,在调用分解组件时更加快捷,且准确率更高。
[0035]进一步,所述调用模块包括查询模块和对应模块;
[0036]所述查询模块用于调用分解组件库,获得查询表,根据待处理报文的类型与查询表中的报文类型进行匹配,得到对应的调用名;
[0037]所述对应模块用于根据调用名调取对应的分解组件。
【附图说明】
[0038]图1为本发明实施例1所述的一种报文处理方法流程图;
[0039]图2为本发明实施例1所述的一种报文处理系统结构框图。
[0040]附图中,各标号所代表的部件列表如下:
[0041 ] 1、获取模块,2、调用模块,3、分解模块,21、查询模块,22、对应模块。
【具体实施方式】
[0042]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0043]如图1所示,为本发明实施例1所述的一种报文处理方法,具体包括以下步骤:
[0044]步骤1:接收待处理报文,解析待处理报文得到待处理报文的类型;
[0045]步骤2:调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件;
[0046]步骤3:采用得到的分解组件对待处理报文进行分解得到分解结果,结束。
[0047]本发明实施例2所述的一种报文处理方法,在实施例1的基础上,所述分解组件库的创建过程包括以下步骤:
[0048]步骤a:创建多个分解组件,每个所述分解组件中包括报文类型和对应此报文类型的分解方法;
[0049]步骤b:将所有分解组件存入分解组件库中。
[0050]本发明实施例3所述的一种报文处理方法,在实施例1或2的基础上,所述分解组件库的创建过程还包括:
[0051]步骤c:为每个分解组件赋予一个调用名,将所有分解组件的调用名和其对应的报文类型一一对应的存入查询表中。
[0052]本发明实施例4所述的一种报文处理方法,在实施例1-3任一项的基础上,所述步骤2具体包括以下步骤:
[0053]步骤2.1:调用分解组件库,获得查询表,根据待处理报文的类型与查询表中的报文类型进行匹配,得到对应的调用名;
[0054]步骤2.2:根据调用名调取对应的分解组件。
[0055]本发明实施例5所述的一种报文处理方法,在实施例1-4任一项的基础上,所述步骤3具体包括以下步骤:
[0056]步骤3.1:分解组件对待处理报文进行分解得到分解结果;
[0057]步骤3.2:判断分解组件是否生成订单项,如果是,将订单项存入分解组件库,结束;否则,将分解组件的操作信息存入中间表或正表,结束。
[0058]如图2所示,为本发明实施例1所述的一种报文处理系统,包括获取模块1、调用模块2和分解模块3;
[0059]所述获取模块I用于接收待处理报文,解析待处理报文得到待处理报文的类型;
[0060]所述调用模块2调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件;
[0061]所述分解模块3采用得到的分解组件对待处理报文进行分解得到分解结果。
[0062]本发明实施例2所述的一种报文处理系统,在实施例1的基础上,所述分解组件库中包括多个分解组件,每个分解组件中包括报文类型和对应此报文类型的分解方法。
[0063]本发明实施例3所述的一种报文处理系统,在实施例1或2的基础上,所述分解组件库内还包括一个配置表,所述配置表中存储多组一一对应的分解组件的调用名和报文类型。
[0064]本发明实施例4所述的一种报文处理系统,在实施例1-3任一项的基础上,所述调用模块2包括查询模块21和对应模块22;
[0065]所述查询模块21用于调用分解组件库,获得查询表,根据待处理报文的类型与查询表中的报文类型进行匹配,得到对应的调用名;
[0066]所述对应模块22用于根据调用名调取对应的分解组件。
[0067]本发明具体示例所述的一种报文处理方法,包括以下步骤:
[0068]针对待处理报文的不同类型分别预先创建不同的分解组件;
[0069]获取待处理报文并解析待处理报文得到待处理报文的类型;
[0070]根据待处理报文的类型调用对应的分解组件对待处理报文进行订单分解。
[0071]所述针对待处理报文的不同类型分别预先创建不同的分解组件之后还包括:将所有分解组件的调用名与待处理报文的类型的对应关系存入配置表中。
[0072]所述根据待处理报文的类型调用对应的分解组件对待处理报文进行订单分解之前还包括:在配置表中根据待处理报文的类型查找对应的调用名。
[0073]所述根据待处理报文的类型调用对应的分解组件对待处理报文进行订单分解之后还包括:如果分解组件生成订单项,则存储订单项;否则,将分解组件的相关信息存入中间表。
[0074]所述将分解组件的相关信息存入中间表具体为:如果不存在中间表,则将分解组件的相关信息存入正表。
[0075]在具体实施中,采用以下步骤:
[0076]步骤1:梳理业务中涉及的所有的SOO类型及每个SOO对应的处理方法。
[0077]步骤2:将每个SOO及其对应的处理方法配置实现。
[0078]配置方法:将所有的S00_TYPE的类型及对应的处理方法都配置在数据库中,调用的时候,针对不同的S00_TYPE,根据该配置表去找对应的处理组件。
[0079]步骤3:调用反射机制,实现对不同SOO的动态处理。
[0080]动态处理:前端业务受理时,仅需将对应的受理信息组装成一个大的SOO报文(S00报文是由一个一个的S00_TYPE拼接而成)。
[0081 ]调用反射机制时,入口是一个大的SOO报文,内部针对不同的S00_TYPE,逐个处理,根据S00_TYPE决定调用哪个组件进行处理。
[0082]步骤一:待处理的报文即存储业务受理过程中所有的信息的对象;
[0083]步骤二:调用反射机制进行订单分解:对每一个S00_TYPE的解析过程写一个处理的组件,分解过程中,对不同类型的S00_TYPE调用不同的组件处理;
[0084]步骤三:根据SOO报文中的S00_TYPE区分调用的对应的订单分解的处理组件;
[0085]步骤四:订单项是一个特殊的表,在所有的S00_TYPE处理过程中中,有的类型的S00_TYPE需要生成订单项,有的S00_TYPE则不需要;
[0086]步骤五:对应的信息落中间表和正表是业务决定的(有中间表的话,分解的时候落入对应的中间表,没有中间表则落入对应的正表)-_该部分信息可以归结为:业务受理信息对应落地;正表和中间表是SOO报文处理内部的逻辑,SOO内部组件处理时,中间表与SOO基本一一对应,特殊的SOO没有对应的中间表,只有正表。有中间表的数据,在后期竣工时数据也会迀移至正表。只有正表的数据在竣工时不做处理。
[0087]通过订单分解得到正确的处理是指将业务处理过程中的信息都落地,记录到表当中。
[0088]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种报文处理方法,其特征在于,具体包括以下步骤: 步骤I:接收待处理报文,解析待处理报文得到待处理报文的类型; 步骤2:调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件; 步骤3:采用得到的分解组件对待处理报文进行分解得到分解结果,结束。2.根据权利要求1所述的一种报文处理方法,其特征在于,所述分解组件库的创建过程包括以下步骤: 步骤a:创建多个分解组件,每个所述分解组件中包括报文类型和对应此报文类型的分解方法; 步骤b:将所有分解组件存入分解组件库中。3.根据权利要求2所述的一种报文处理方法,其特征在于,所述分解组件库的创建过程还包括: 步骤c:为每个分解组件赋予一个调用名,将所有分解组件的调用名和其对应的报文类型——对应的存入查询表中。4.根据权利要求3所述的一种报文处理方法,其特征在于,所述步骤2具体包括以下步骤: 步骤2.1:调用分解组件库,获得查询表,根据待处理报文的类型与查询表中的报文类型进行匹配,得到对应的调用名; 步骤2.2:根据调用名调取对应的分解组件。5.根据权利要求1-4任一项所述的一种报文处理方法,其特征在于,所述步骤3具体包括以下步骤: 步骤3.1:分解组件对待处理报文进行分解得到分解结果; 步骤3.2:判断分解组件是否生成订单项,如果是,将订单项存入分解组件库,结束;否则,将分解组件的操作信息存入中间表或正表,结束。6.一种报文处理系统,其特征在于,包括获取模块、调用模块和分解模块; 所述获取模块用于接收待处理报文,解析待处理报文得到待处理报文的类型; 所述调用模块调用预设的分解组件库,根据待处理报文的类型到分解组件库中进行匹配相应的分解组件; 所述分解模块采用得到的分解组件对待处理报文进行分解得到分解结果。7.根据权利要求6所述的一种报文处理系统,其特征在于,所述分解组件库中包括多个分解组件,每个分解组件中包括报文类型和对应此报文类型的分解方法。8.根据权利要求6或7所述的一种报文处理系统,其特征在于,所述分解组件库内还包括一个配置表,所述配置表中存储多组一一对应的分解组件的调用名和报文类型。9.根据权利要求8所述的一种报文处理系统,其特征在于,所述调用模块包括查询模块和对应模块; 所述查询模块用于调用分解组件库,获得查询表,根据待处理报文的类型与查询表中的报文类型进行匹配,得到对应的调用名; 所述对应模块用于根据调用名调取对应的分解组件。
【文档编号】G06F9/44GK105930148SQ201610230640
【公开日】2016年9月7日
【申请日】2016年4月14日
【发明人】张虹青
【申请人】北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1