CN111641662B - 报文格式检验方法及装置 - Google Patents
报文格式检验方法及装置 Download PDFInfo
- Publication number
- CN111641662B CN111641662B CN202010618808.1A CN202010618808A CN111641662B CN 111641662 B CN111641662 B CN 111641662B CN 202010618808 A CN202010618808 A CN 202010618808A CN 111641662 B CN111641662 B CN 111641662B
- Authority
- CN
- China
- Prior art keywords
- message
- mark
- format
- receiving
- type
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Abstract
本发明公开了一种报文格式检验方法及装置,该方法包括:识别报文的报文类型;根据所述报文的报文类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志和数字签名标志;根据所述报文的报文类型,从预配置的报文格式配置文件中,确定所述报文预配置的不同报文域的报文数据格式;分别根据所述报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对所述报文进行格式检验。本发明可以通过报文定义配置文件和报文格式配置文件,对不同类型的报文进行格式检验,提高了报文格式检验效率。不需要针对每一报文类型的报文单独设置检验程序,可适配不同类型的报文,实现了对报文的通用检验,同时程序简单,代码可读性高。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种报文格式检验方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有前置机系统中,对报文格式的检验,是通过设定不同的程序来实现的。通过判断报文编号,确定报文类型后,将报文送入对应的校验逻辑块,以此来实现对不同报文的检验。
上述的传统方式看起来比较直观,但随着报文种类的不断扩展,每一报文类型的报文都需要设置单独的程序,需花费大量的人力物力,会造成报文检验效率的降低;同时还会导致程序逻辑冗长,代码复杂,致使代码可读性下降,不利于维护。
发明内容
本发明实施例提供一种报文格式检验方法,用以提高报文检验效率,同时提高格式检验代码可读性,该方法包括:
识别报文的报文类型;
根据所述报文的报文类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志和数字签名标志;所述报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;
根据所述报文的报文类型,从预配置的报文格式配置文件中,确定所述报文预配置的不同报文域的报文数据格式;所述报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;
分别根据所述报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对所述报文进行格式检验;
所述方法,还包括:
根据所述报文的报文类型,从预配置的报文子域配置文件中,确定所述报文预配置的不同报文域的每一报文子域的报文数据格式;
根据所述报文预配置的不同报文域的每一报文子域的报文数据格式,对所述报文进行格式检验。
本发明实施例还提供一种报文格式检验装置,用以提高报文检验效率,同时提高格式检验代码可读性,该装置包括:
报文类型识别模块,用于识别报文的报文类型;
收发报标志和数字签名标志确定模块,用于根据所述报文的报文类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志和数字签名标志;所述报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;
报文域数据格式确定模块,用于根据所述报文的报文类型,从预配置的报文格式配置文件中,确定所述报文预配置的不同报文域的报文数据格式;所述报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;
格式检验模块,用于分别根据所述报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对所述报文进行格式检验;
所述装置,还包括:
报文子域数据格式确定模块,用于:
根据报文的报文类型,从预配置的报文子域配置文件中,确定报文预配置的不同报文域的每一报文子域的报文数据格式;
根据报文预配置的不同报文域的每一报文子域的报文数据格式,对报文进行格式检验。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述报文格式检验方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述报文格式检验方法的计算机程序。
本发明实施例中,识别报文的报文类型;根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;分别根据报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对报文进行格式检验,从而可以通过报文定义配置文件和报文格式配置文件,对不同类型的报文进行格式检验,提高了报文格式检验效率。与现有技术对比,不需要针对每一报文类型的报文单独设置检验程序,可适配不同类型的报文,实现了对报文的通用检验,提高了报文格式检验效率,同时程序简单,代码可读性高,有利于维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种报文格式检验方法的流程示意图;
图2为本发明实施例中提供的一种报文格式检验方法的流程示意图;
图3为本发明实施例中提供的一种报文格式检验方法的流程示意图;
图4为本发明实施例中提供的一种报文格式检验方法实例的流程示意图;
图5为本发明实施例中提供的一种报文格式检验装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种报文格式检验方法,用以提高报文检验效率,同时提高格式检验代码可读性,如图1所示,该方法可以包括:
步骤101:识别报文的报文类型;
步骤102:根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;
步骤103:根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;
步骤104:分别根据报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对报文进行格式检验。
本发明实施例中,识别报文的报文类型;根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;分别根据报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对报文进行格式检验,从而可以通过报文定义配置文件和报文格式配置文件,对不同类型的报文进行格式检验,提高了报文格式检验效率。与现有技术对比,不需要针对每一报文类型的报文单独设置检验程序,可适配不同类型的报文,实现了对报文的通用检验,提高了报文格式检验效率,同时程序简单,代码可读性高,有利于维护。
具体实施时,在识别报文的报文类型前,本发明实施例提供的报文格式检验方法还可以包括:接收报文。
实施例中,接收报文的方法有多种,例如,可以包括:从消息队列(MQ队列)中获取报文。从消息队列(MQ队列)中获取报文可以包括:连接MQ队列管理器;打开MQ报文接收队列和发送队列,从接收队列和发送队列中获取报文。若从接收队列和发送队列中获取报文失败,则确定消息队列中不存在报文,终止对报文格式进行检验。
具体实施时,在接收报文后,本发明实施例提供的报文格式检验方法还可以包括:对报文长度进行检验。
实施例中,对报文长度进行检验,可以包括:获取报文中报文长度字段;确定接收的报文的实际长度与报文中包含的报文字段长度显示的长度是否匹配;在匹配不成功时,发送错误信息。
具体实施时,在对报文长度进行检验后,识别报文的报文类型。
实施例中,首先识别报文的报文类型,在识别报文的报文类型后,本发明实施例提供的报文格式检验方法还可以包括:将报文进行记录。
在上述实施例中,通过识别报文的报文类型,可有利于对报文进行匹配;通过将报文进行记录,可有利于运维人员在后续工作中方便地进行查找。
具体实施时,在识别报文的报文类型后,根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系。
实施例中,根据报文的报文类型,从预配置的报文定义配置文件中,确定报文的预配置的收发报标志和数字签名标志。
在上述实施例中,通过从预配置的报文定义配置文件中,确定对应接收的报文的预配置的收发报标志和数字签名标志,可适配不同类型的报文,实现了对报文的通用检验。
具体实施时,本发明实施例提供的报文格式检验方法,还可以包括:按如下方式预配置报文定义配置文件:预配置不同报文类型对应的收发报标志和数字签名标志。
实施例中,预配置报文定义配置文件,可以包括:在报文定义配置文件中的每一行配置一种报文类型,以及对应该报文类型的收发报标志和数字签名标志;收发报标志,用于表示该报文支持哪些操作;数字签名标志,用于表示该报文是否需要进行数字签名。
在上述实施例中,通过预配置报文定义配置文件,可确定对应接收的报文的预配置的收发报标志和数字签名标志,实现对不同类型的报文的匹配,实现了对报文的通用检验。
具体实施时,根据报文的报文类型,从预配置的报文定义配置文件中,确定报文的预配置的收发报标志,可以包括:若报文的报文类型为发报类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志为发报标识或收发标识;若报文的报文类型为收报类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志为收报标识、收发标识或落地标识。
实施例中,若接收的报文在进行发报处理时,该接收的报文的收发报标志必须是发报标识或收发标识;若接收的报文在进行收报处理时,该报文的收发报标志必须是收报标识、收发标识或落地标识。
具体实施时,根据接收的报文预配置的收发报标志,对报文进行格式检验,可以包括:在确定所述报文的收发报状态与预配置的收发报标志匹配成功时,确定所述报文的收发报格式正确。
实施例中,在确定接收的报文的收发报状态与预配置的收发报标志匹配成功时,确定接收的报文的收发报格式正确。报文的收报状态与对应该报文的报文类型的收报标志匹配,用于显示该报文处于被接收的状态;报文的发报状态与对应该报文的报文类型的发报标志匹配,用于显示报文处于被发送的状态。举一例,对接收的报文在进行收报处理时,则该报文处于收报状态,若对应该报文的预配置的收发报标志为与收报状态对应的收报标识,则确定接收的报文的收发报格式正确。
在上述实施例中,通过根据报文预配置的收发报标志,对报文进行格式检验,可确定报文的收发报格式是否正确,实现对报文的检验。
具体实施时,根据接收的报文预配置的数字签名标志,对接收的报文进行格式检验,如图2所示,可以包括:
步骤201:根据所述报文预配置的数字签名标志,确定所述报文是否需要数字签名;
步骤202:确定预配置的数字签名标志为需要数字签名时,若所述报文的报文类型为发报类型,则对报文进行加签处理;若所述报文的报文类型为收报类型,则对报文进行验签处理。
实施例中,确定预配置的数字签名标志为需要数字签名时,若所述报文的报文类型为收报类型,则对报文进行验签处理,例如,调用核签函数验证该报文的数字签名;若所述报文的报文类型为发报类型,则对报文进行加签处理,例如,进行数字签名并在报文中添加数字签名部分,如{6:{PKI:数字签名}}部分。
在上述实施例中,通过根据接收的报文预配置的数字签名标志,对接收的报文进行格式检验,可确定报文的数字签名的格式是否正确,实现对报文的收发报格式的检验。
具体实施时,在确定报文预配置的收发报标志和数字签名标志后,根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系。
实施例中,根据报文的报文类型,从预配置的报文格式配置文件中,确定报文的预配置的不同报文域的报文数据格式。本发明实施例提供的报文格式检验方法,还可以包括:获取报文的正文内容,例如,获取报文中【"{4:"】到【"-}"】间的内容;在获取报文的正文内容后,从报文的正文内容中获取报文中不同报文域的报文数据格式,进而对报文中不同报文域的报文数据格式进行检验。
在上述实施例中,通过从预配置的报文格式配置文件中,确定报文的不同报文域的报文数据格式,可适配不同类型的报文,实现了对报文的通用检验。从现有技术下的将报文格式检验写死在程序中的逻辑中,提取出通用的报文格式检验流程,以读取配置文件的方式,实现了报文格式新增或修改的可配置化,从而提高代码的可读性,同时提高了前置机系统的可维护性。
具体实施时,本发明实施例提供的报文格式检验方法,还可以包括:按如下方式预配置报文格式配置文件:预配置不同报文类型对应的不同报文域的报文数据。不同报文域的报文数据可以包括不同报文域的报文数据的报文域标识、数据长度和数据类型。
实施例中,预配置报文格式配置文件,可以包括:在报文格式配置文件中的每一行配置一种报文类型,以及该报文类型对应的不同报文域的报文数据。举一例,若接收的报文总共包含n个报文域,则报文格式配置文件中共有n行的对应该报文域的报文数据格式,每一行都包括对应该报文域的报文数据的报文域标识、数据长度和数据类型。
在上述实施例中,通过预配置报文格式配置文件,可确定报文的预配置的不同报文域的报文数据格式,实现对不同类型的报文的匹配,实现了对报文的通用检验。
具体实施时,根据报文预配置的不同报文域的报文数据格式,对报文进行格式检验,可以包括:将报文中不同报文域的报文数据的报文域标识、数据长度和数据类型,分别与预配置的不同报文域的报文数据的报文域标识、数据长度和数据类型进行匹配;根据匹配结果确定接收的报文的不同报文域的报文数据格式是否正确。
实施例中,若报文共有n个报文域,则将报文中n个不同报文域的报文数据的报文域标识、数据长度和数据类型,与预配置的报文域的报文数据的报文域标识、数据长度和数据类型进行n次匹配;进行每一次匹配时,均从报文格式配置文件中取一行报文域的报文数据格式,包括报文域标识,数据长度和数据类型。读取接收的报文对应该报文域的报文数据格式,以验证报文域标识,数据长度和数据类型是否匹配。
在上述实施例中,通过从预配置的报文格式配置文件中,确定对应报文的不同报文域的报文数据格式,可适配不同类型的报文,实现了对报文的通用检验。
具体实施时,本发明实施例提供的报文格式检验方法,如图3所示,可以包括如下步骤:
步骤301:根据报文的报文类型,从预配置的报文子域配置文件中,确定报文预配置的不同报文域的每一报文子域的报文数据格式;
步骤302:根据报文预配置的不同报文域的每一报文子域的报文数据格式,对报文进行格式检验。
实施例中,根据报文的报文类型,从预配置的报文子域配置文件中,确定报文预配置的不同报文域的每一报文子域的报文数据格式;根据报文预配置的不同报文域的每一报文子域的报文数据格式,对报文进行格式检验。
在上述实施例中,从预配置的报文子域配置文件中,确定报文预配置的不同报文子域的报文数据格式,可适配不同类型的报文,实现了对报文的通用检验。
具体实施时,本发明实施例提供的报文格式检验方法,还可以包括:按如下方式预配置报文子域配置文件:预配置不同报文类型对应的不同报文子域的报文数据。不同报文子域的报文数据可以包括不同报文子域的报文数据的报文子域标识、数据长度和数据类型。
实施例中,预配置报文子域配置文件,可以包括:在报文子域配置文件中的每一行配置一种报文类型,及该报文类型对应的不同报文子域的报文数据格式。举一例,若接收的报文中一报文域的报文数据中,总共包含n个报文子域,则报文子域配置文件中共有n行对应该n个报文子域的报文数据格式,每一行都包括对应该报文子域的报文数据的报文子域标识、数据长度和数据类型。
在上述实施例中,通过预配置报文子域配置文件,可确定报文的预配置的不同报文子域的报文数据格式,实现对不同类型的报文的匹配,实现了对报文的通用检验。
具体实施时,根据报文预配置的不同报文域的每一报文子域的报文数据格式,对报文进行格式检验,可以包括:将报文中不同报文子域的报文数据的报文子域标识、数据长度和数据类型,分别与预配置的不同报文子域的报文数据的报文子域标识、数据长度和数据类型进行匹配;根据匹配结果确定报文的不同报文子域的报文数据格式是否正确。
实施例中,若报文中一报文域的报文数据为包含子域的类型,则从预配置的报文子域配置文件中,查找对应该报文域的子域的报文数据格式;找到后读取该报文中对应该报文子域的报文数据格式,将报文中不同报文子域的报文数据的报文子域标识、数据长度和数据类型,分别与预配置的不同报文子域的报文数据的报文子域标识、数据长度和数据类型进行匹配;根据匹配结果确定报文的不同报文子域的报文数据格式是否正确。
在上述实施例中,通过从预配置的报文子域配置文件中,确定对应接收的报文的不同报文子域的报文数据格式,可适配不同类型的报文,实现了对报文的通用检验。
具体实施时,本发明实施例提供的报文格式检验方法,还可以包括:在报文格式发生变化时,根据报文格式的变化情况,对报文定义配置文件,报文格式配置文件和报文子域配置文件进行修改。
实施例中,对比现有技术的前置机系统中,对报文格式的校验,通常是写死在程序中的:通过判断报文编号,确定报文类型后进入对应的校验逻辑块,实现对不同报文的校验。这样的方式看起来比较直观,但当报文格式变化,例如长度调整等,都需要修改程序,对程序重新编译,并打包版本,才能进行发布,此过程花费大量的人力物力;而且随着报文种类的不断扩展,导致程序逻辑冗长,不利于维护。根据本发明实施例提供的报文格式检验方法,可在报文格式变化时,方便对报文定义配置文件,报文格式配置文件和报文子域配置文件,进而可适配发生变化的报文格式,避免了现有技术中需重新修改报文格式检验的程序,实现了报文格式新增或修改的可配置化,提高代码的可读性,同时提高了前置机系统的可维护性。
举一实例,如图4所示,图4为本发明实施例中提供的一种报文格式检验方法实例的流程示意图。图4中报文格式检验方法的流程如下所示:
一.首先从MQ队列中获取报文
连接MQ队列管理器;打开MQ报文接收队列和发送队列,从接收队列和发送队列中获取报文。
二.开始对报文格式检验
1.从接收队列和发送队列中获取报文;如果没有消息则终止对报文格式的检验;
2.校验报文的长度:从消息队列中取出该报文的报文长度字段,校验报文的实际长度是否与其相等;如果不相等则发出错误信息,跳出并执行下一个报文;
3.从消息队列中取出报文类型,其中报文类型可为MSGTYP;同时将传入的报文写到日志文件中;
4.读取报文定义配置文件:查找报文类型;如果报文定义配置文件不存在对应该报文的收发报标志和数字签名标志,则发出错误信息,跳出并执行下一个报文;
5.检验报文的收发报标志:发报处理时,该报文收发报标志必须是发报标识或收发标识;收报处理时,该报文收发报标志必须是收报标识、收发标识或落地标识的其中之一。如果确定接收的报文的收发报状态与预配置的收发报标志匹配失败时,则发出错误信息,跳出并执行下一个报文;
6.检验报文的数字签名标志:根据接收的报文预配置的数字签名标志,对接收的报文进行格式检验:判断数字签名标志。确定预配置的数字签名标志为需要数字签名时,该需要数字签名的状态可为“1-有”,则若报文为接收报文类型时,对该报文进行验签处理,例如,调用核签函数验证该报文的数字签名;若报文为发送报文类型时,对该报文进行加签处理,例如,进行数字签名并在报文中添加数字签名部分,如{6:{PKI:数字签名}}部分;如果确定报文的预配置的数字签名标志为不需要数字签名,不需要数字签名的状态可为“0-无”,则不做处理;
7.获取报文的正文内容:如获取报文【"{4:"】到【"-}"】间的内容;
8.读取报文格式配置文件,确定报文的报文域的个数为n:读取报文格式配置文件,查找报文类型对应的不同报文域的报文数据格式;找到后读取该报文的报文域个数,例如个数为n;读取后续n行的报文域的报文数据格式;如果不存在则发出错误信息,跳出并执行下一次报文;
9.将接收的报文中不同报文域的报文数据的报文域标识、数据长度和数据类型,分别与预配置的不同报文域的报文数据格式的报文域标识、数据长度和数据类型进行次数为n次的匹配;检验报文的报文域的报文数据的格式:取一行报文域的配置,其中包括报文域标识,数据长度和数据类型;读取报文对应该文域的报文数据格式,验证报文域标识、数据长度和数据类型是否与其匹配;
读取报文子域配置文件,确定报文子域个数为m:在报文子域配置文件中的每一行配置一种报文类型,以及该报文类型对应的不同报文域的报文数据。如果报文中存在一报文域的数据类型为包含子域的类型,则表示报文中的该报文域包含报文子域;之后,读取报文子域配置文件,查找该报文的报文类型对应的报文子域的报文数据格式;在报文的该包含子域的报文域中查找不同的报文子域个数,个数可为m,则读取后续m行的报文子域的报文数据格式;如果不存在则发出错误信息,跳出并执行下一次循环;按照上述步骤,开始次数为m次的循环,包括:取一行报文域的配置参数,包括报文子域标识,报文长度和数据类型。读取报文信息,验证报文子域标识,数据长度和数据类型是否与预配置的不同报文子域的报文数据的报文子域标识、数据长度和数据类型匹配;在对报文中报文域的报文子域的数据以预设置的报文子域配置文件检验完毕后,若任一报文子域的报文数据还包括对应该报文子域的子域,则以预设置的报文子域配置文件对该包括子域的报文子域中的子域数据进行检验;
10.将验证后的报文写入到日志中;
11.在对报文进行发报时,如检验通过,则对报文进行发送,可包括将报文发送给FXCC(Foreign Exchange Clearing Center,人行业务处理中心);在对报文进行收报时,如检验通过,则接收报文,可包括将接收的报文发送给银行内部的应用。
三.关闭所有的MQ队列(消息队列),关闭队列连接
四.打印日志,处理结束
本发明实施例中,识别报文的报文类型;根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;分别根据报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对报文进行格式检验,从而可以通过报文定义配置文件和报文格式配置文件,对不同类型的报文进行格式检验,提高了报文格式检验效率。与现有技术对比,不需要针对每一报文类型的报文单独设置检验程序,可适配不同类型的报文,实现了对报文的通用检验,提高了报文格式检验效率,同时程序简单,代码可读性高,有利于维护。
本发明实施例中还提供了一种报文格式检验装置,如下面的实施例。由于该装置解决问题的原理与报文格式检验方法相似,因此该装置的实施可以参见报文格式检验方法的实施,重复之处不再赘述。
本发明实施例还提供一种报文格式检验装置,用以提高报文检验效率,同时提高格式检验代码可读性,如图5所示,该装置包括:
报文类型识别模块01,用于识别报文的报文类型;
收发报标志和数字签名标志确定模块02,用于根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;
报文域数据格式确定模块03,用于根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;
格式检验模块04,用于分别根据报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对报文进行格式检验。
在一个实施例中,收发报标志和数字签名标志确定模块,具体可用于:若所述报文的报文类型为发报类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志为发报标识或收发标识;若所述报文的报文类型为收报类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志为收报标识、收发标识或落地标识。
在一个实施例中,格式检验模块,具体可用于:在确定所述报文的收发报状态与预配置的收发报标志匹配成功时,确定所述报文的收发报格式正确。
在一个实施例中,格式检验模块,具体可用于:根据所述报文预配置的数字签名标志,确定所述报文是否需要数字签名;确定预配置的数字签名标志为需要数字签名时,若所述报文的报文类型为发报类型,则对报文进行加签处理;若所述报文的报文类型为收报类型,则对报文进行验签处理。
在一个实施例中,不同报文域的报文数据格式可以包括:不同报文域的报文数据的报文域标识、数据长度和数据类型。
在一个实施例中,格式检验模块,具体可用于:将报文中不同报文域的报文数据的报文域标识、数据长度和数据类型,分别与预配置的不同报文域的报文数据的报文域标识、数据长度和数据类型进行匹配;根据匹配结果确定报文的不同报文域的报文数据格式是否正确。
在一个实施例中,本发明实施例提供的报文格式检验装置,还可以包括:报文子域数据格式确定模块,用于:根据报文的报文类型,从预配置的报文子域配置文件中,确定报文预配置的不同报文域的每一报文子域的报文数据格式;根据报文预配置的不同报文域的每一报文子域的报文数据格式,对报文进行格式检验。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述报文格式检验方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述报文格式检验方法的计算机程序。
本发明实施例中,识别报文的报文类型;根据报文的报文类型,从预配置的报文定义配置文件中,确定报文预配置的收发报标志和数字签名标志;报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;根据报文的报文类型,从预配置的报文格式配置文件中,确定报文预配置的不同报文域的报文数据格式;报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;分别根据报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对报文进行格式检验,从而可以通过报文定义配置文件和报文格式配置文件,对不同类型的报文进行格式检验,提高了报文格式检验效率。与现有技术对比,不需要针对每一报文类型的报文单独设置检验程序,可适配不同类型的报文,实现了对报文的通用检验,提高了报文格式检验效率,同时程序简单,代码可读性高,有利于维护。
如上所述,本发明实施例可基于AIX语言和C语言实现,适用于使用前置机处理往来报文的格式验证,如商业银行内的应用与人行业务处理中心的往来报文的格式验证。本发明实施例通过配置文件的方式定义报文,如DFXPS(Domestic Foreign ExchangePayment System,境内外币支付参与行系统)的报文,前置机程序通过读取配置文件,实现对报文格式的校验,减少人力成本,提高工作效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种报文格式检验方法,其特征在于,包括:
从消息队列获取报文,识别报文的报文类型;
根据所述报文的报文类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志和数字签名标志;所述报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;
根据所述报文的报文类型,从预配置的报文格式配置文件中,确定所述报文预配置的不同报文域的报文数据格式;所述报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;
分别根据所述报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对所述报文进行格式检验;
所述方法,还包括:
根据所述报文的报文类型,从预配置的报文子域配置文件中,确定所述报文预配置的不同报文域的每一报文子域的报文数据格式;
根据所述报文预配置的不同报文域的每一报文子域的报文数据格式,对所述报文进行格式检验;
其中,从消息队列获取报文,包括:
连接消息队列管理器;打开消息队列的报文接收队列和发送队列,从接收队列和发送队列中获取报文;
若从接收队列和发送队列中获取报文失败,则确定消息队列中不存在报文,终止对报文格式进行检验;
根据所述报文的报文类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志,包括:
若所述报文的报文类型为发报类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志为发报标识或收发标识;
若所述报文的报文类型为收报类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志为收报标识、收发标识或落地标识;
根据所述报文预配置的数字签名标志,对所述报文进行格式检验,包括:
根据所述报文预配置的数字签名标志,确定所述报文是否需要数字签名;
确定预配置的数字签名标志为需要数字签名时,若所述报文的报文类型为发报类型,则对报文进行加签处理;若所述报文的报文类型为收报类型,则对报文进行验签处理。
2.如权利要求1所述的方法,其特征在于,根据所述报文预配置的收发报标志,对所述报文进行格式检验,包括:
在确定所述报文的收发报状态与预配置的收发报标志匹配成功时,确定所述报文的收发报格式正确。
3.如权利要求1所述的方法,其特征在于,所述不同报文域的报文数据格式包括:不同报文域的报文数据的报文域标识、数据长度和数据类型。
4.如权利要求3所述的方法,其特征在于,根据所述报文预配置的不同报文域的报文数据格式,对所述报文进行格式检验,包括:
将所述报文中不同报文域的报文数据的报文域标识、数据长度和数据类型,分别与预配置的不同报文域的报文数据的报文域标识、数据长度和数据类型进行匹配;
根据匹配结果确定所述报文的不同报文域的报文数据格式是否正确。
5.一种报文格式检验装置,其特征在于,包括:
报文类型识别模块,用于识别报文的报文类型;
收发报标志和数字签名标志确定模块,用于根据所述报文的报文类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志和数字签名标志;所述报文定义配置文件预配置有报文类型与收发报标志和数字签名标志的对应关系;
报文域数据格式确定模块,用于根据所述报文的报文类型,从预配置的报文格式配置文件中,确定所述报文预配置的不同报文域的报文数据格式;所述报文格式配置文件预配置有报文类型与不同报文域的报文数据格式的对应关系;
格式检验模块,用于分别根据所述报文预配置的收发报标志、数字签名标志和不同报文域的报文数据格式,对所述报文进行格式检验;
所述装置,还包括:
报文子域数据格式确定模块,用于:
根据报文的报文类型,从预配置的报文子域配置文件中,确定报文预配置的不同报文域的每一报文子域的报文数据格式;
根据报文预配置的不同报文域的每一报文子域的报文数据格式,对报文进行格式检验;
收发报标志和数字签名标志确定模块,具体用于:
若所述报文的报文类型为发报类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志为发报标识或收发标识;
若所述报文的报文类型为收报类型,从预配置的报文定义配置文件中,确定所述报文预配置的收发报标志为收报标识、收发标识或落地标识;
格式检验模块,具体用于:
根据所述报文预配置的数字签名标志,确定所述报文是否需要数字签名;
确定预配置的数字签名标志为需要数字签名时,若所述报文的报文类型为发报类型,则对报文进行加签处理;若所述报文的报文类型为收报类型,则对报文进行验签处理。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618808.1A CN111641662B (zh) | 2020-07-01 | 2020-07-01 | 报文格式检验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618808.1A CN111641662B (zh) | 2020-07-01 | 2020-07-01 | 报文格式检验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111641662A CN111641662A (zh) | 2020-09-08 |
CN111641662B true CN111641662B (zh) | 2023-05-12 |
Family
ID=72331780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010618808.1A Active CN111641662B (zh) | 2020-07-01 | 2020-07-01 | 报文格式检验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111641662B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123775A (zh) * | 2016-11-29 | 2018-06-05 | 华为技术有限公司 | 传输数据包的方法和设备 |
CN110753105A (zh) * | 2019-10-17 | 2020-02-04 | 中国建设银行股份有限公司 | 数据传输方法、装置、系统、电子设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514092A (zh) * | 2012-06-29 | 2014-01-15 | 日立(中国)研究开发有限公司 | Atm机软件系统自动测试方法 |
CN106130811B (zh) * | 2016-06-02 | 2019-05-21 | 中国工商银行股份有限公司 | 数据通信测试方法及装置 |
CN106850631A (zh) * | 2017-02-10 | 2017-06-13 | 北京匡恩网络科技有限责任公司 | 用于数据传输的方法、装置及通信系统 |
CN108881172A (zh) * | 2018-05-22 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 报文的解析方法及装置 |
US20190109789A1 (en) * | 2018-12-06 | 2019-04-11 | Intel Corporation | Infrastructure and components to provide a reduced latency network with checkpoints |
CN109889375A (zh) * | 2019-01-23 | 2019-06-14 | 中国银行股份有限公司 | 业务报文校验方法、装置及计算机存储介质 |
CN110012031B (zh) * | 2019-04-26 | 2022-03-08 | 中国电子科技集团公司第二十九研究所 | 数据报文通用自动解析方法和存储方法 |
CN110287247B (zh) * | 2019-05-22 | 2023-10-03 | 平安银行股份有限公司 | 基于银联系统的数据存储方法、装置、设备及存储介质 |
CN110430103B (zh) * | 2019-09-18 | 2020-06-05 | 光大兴陇信托有限责任公司 | 一种报文监测方法 |
CN111327679B (zh) * | 2020-01-19 | 2022-06-17 | 苏宁云计算有限公司 | 一种规则解析方法及装置 |
-
2020
- 2020-07-01 CN CN202010618808.1A patent/CN111641662B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123775A (zh) * | 2016-11-29 | 2018-06-05 | 华为技术有限公司 | 传输数据包的方法和设备 |
CN110753105A (zh) * | 2019-10-17 | 2020-02-04 | 中国建设银行股份有限公司 | 数据传输方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111641662A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102823222B (zh) | 用于通过读取器来标识和验证射频标识标签的方法 | |
CN103577551A (zh) | 一种数据批量提交到数据库的方法和装置 | |
CN106506283B (zh) | 银行和企业对接系统的业务测试方法和装置 | |
CN112084109A (zh) | 系统测试方法、装置、设备及介质 | |
CN108614777A (zh) | 一种基于真实业务的金融交易测试系统及测试方法 | |
CN111061696B (zh) | 一种交易报文日志的解析方法及装置 | |
CN108234441B (zh) | 确定伪造访问请求的方法、装置、电子设备和存储介质 | |
CN111641662B (zh) | 报文格式检验方法及装置 | |
CN110738184B (zh) | 纸质凭证的预警信息生成方法及装置 | |
CN107016613B (zh) | 数据修改的方法和装置 | |
CN110688823B (zh) | Xml文件验证方法及装置 | |
CN112668857A (zh) | 分阶段质检的数据分类方法、装置、设备及存储介质 | |
CN111949537A (zh) | 接口的测试方法、装置、设备和介质 | |
CN108345902B (zh) | 基于事务特征的自学习白名单模型库构建及白名单检测法 | |
CN112131611A (zh) | 数据正确性验证方法、装置、设备、系统及存储介质 | |
CN112116452B (zh) | 交易处理方法及装置 | |
CN111427796A (zh) | 系统测试方法、装置及电子设备 | |
CN111753148B (zh) | 一种交易类型匹配方法和装置 | |
CN111756755A (zh) | 报文加签、验签的方法及装置 | |
CN113780597B (zh) | 影响传播关系模型构建和告警影响评估方法、计算机设备、存储介质 | |
CN110445684B (zh) | 一种区块链性能基准测试方法和装置 | |
CN110826969B (zh) | 一种运单划责方法和装置 | |
CN108269049B (zh) | 一种状态转移对象的数据检测方法及装置 | |
CN113220488A (zh) | 基于移动终端的记录单粘贴方法及装置 | |
CN117235058A (zh) | 一种业务数据处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |