CN111049813B - 报文组装方法、解析方法、装置及存储介质 - Google Patents

报文组装方法、解析方法、装置及存储介质 Download PDF

Info

Publication number
CN111049813B
CN111049813B CN201911224942.7A CN201911224942A CN111049813B CN 111049813 B CN111049813 B CN 111049813B CN 201911224942 A CN201911224942 A CN 201911224942A CN 111049813 B CN111049813 B CN 111049813B
Authority
CN
China
Prior art keywords
message
template
sub
field
selection menu
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
Application number
CN201911224942.7A
Other languages
English (en)
Other versions
CN111049813A (zh
Inventor
孙庆贺
李�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201911224942.7A priority Critical patent/CN111049813B/zh
Publication of CN111049813A publication Critical patent/CN111049813A/zh
Application granted granted Critical
Publication of CN111049813B publication Critical patent/CN111049813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例提供一种报文组装方法、解析方法、装置及存储介质。所述方法包括:提供报文组装页面,所述报文组装页面包括组包选项卡,所述组包选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项;获取在所述模板选择菜单中选择的模板项;接收在所述组包选项卡输入的报文信息;根据选择的模板项对所述报文信息进行组装。上述方式通过提供模板,兼顾了硬件平台字符编码的差异性,兼容多种数据类型的组装,使得报文的组装更加准确和完整,提高了报文组装的效率以及准确性。

Description

报文组装方法、解析方法、装置及存储介质
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种报文组装方法、解析方法、装置及存储介质。
背景技术
8583协议多在POS机的开发上使用,8583协议是基于ISO8583报文国际标准的包格式的通讯协议,8583报文最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。一个完成的8583报文由报文头域、报文信息类型域、位图和报文数据域组成。其中报文头和报文类型标识符用于表示报文的类型以及信息类型。位图可以是一个,也可以是两个,第一个位图称为主位图,由64个二进制位构成,除了第一位,每一位和一个报文域相对应,即和2域到64域相对应,位图中对应的二进制位为0时表示该域不出现,二进制位为1时表示该域出现,如图1所示。域号是1的报文域不存在,主位图的第一位用来指示主位图后是否存在第二个位图,即位图二,位图二和66域到128域相对应。同样,域号是65的报文域是不存在的,位图二的首位二进制位始终为0,位图中对应的二进制位为0时表示该域不出现,二进制位为1时表示该域出现,如图2所示。
8583报文由于如下问题导致其组装和解析工作复杂:由于硬件原因,目前应用8583报文结构的系统,字符编码各异,有基于ASCII的,也有基于EBCDIC的;8583报文结构只是一种国际标准,落实到应用层面,各个应用组织往往会在标准框架基础上做额外的规范定义,如定义数据结构不同的报文头;128个报文域也有各自的数据结构类型,每个域都有自己的数据结构定义,大致分为定长和变长,其中定长域会因为报文域不同而导致长度不同,而变长域会因为报文域长度范围的不同而导致变长域长度位的长度不同;由于应用需要,往往会引入子域甚至是子域的子域,子域的引入进一步增加的报文组装及解析的难度;各个应用组织会对128个报文域或其子域的数据类型做不同的定义,大体分为字母字符(a)、数字字符(n)、特殊字符(s)、数据的二进制表示(b)、二进制的十六进制字符表示(B)、压缩数字码(BCD)等,因此数据类型也较为复杂。
现有的解析8583数据报文的方法。包括如下步骤:读取报文头、解析报文长度;读取位图数据,根据位图数据判断每个数据元有无,为报文建立数据元索引,确定报文中每一个数据元的位置偏移;根据位图数据和报文中每一个数据元的位置偏移,解析出报文中的每个数据元的数据内容。上述只是基于ISO8583结构标准,没有考虑实际应用中的复杂性,例如不同的字符编码、报文域的数据类型和数据结构等,使得报文解析的准确性及完整性不够高。
发明内容
本说明书实施例的目的是提供一种报文组装方法、解析方法、装置及存储介质,以提高报文组装或解析的效率以及准确性。
为解决上述技术问题,本说明书实施例提供一种报文组装方法、解析方法、装置及存储介质是这样实现的:
一种报文组装方法,所述方法包括:提供报文组装页面,所述报文组装页面包括组包选项卡,所述组包选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项;获取在所述模板选择菜单中选择的模板项;接收在所述组包选项卡输入的报文信息;根据选择的模板项对所述报文信息进行组装。
一种报文组装方法,所述方法包括:接收待组装的数据;根据预设的数据录入方式和预设的数据录入编码对待组装的数据进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。
一种报文解析方法,所述方法包括:提供报文解析页面,所述报文解析页面包括解析选项卡,所述解析选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项;获取在所述模板选择菜单中选择的模板项;接收在所述组包选项卡输入的待解析的报文;根据选择的模板项对所述待解析的报文进行解析。
一种报文解析方法,所述方法包括:接收待解析的报文;根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。
一种报文组装装置,所述装置包括:接收模块,用于接收待组装的数据;录入模块,用于根据预设的数据录入方式和预设的数据录入编码对待组装的数据进行录入,得到录入数据;组装模块,用于根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。
一种报文解析装置,所述装置包括:接收模块,用于接收待解析的报文;录入模块,用于根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据;解析模块,用于根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。
一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现:接收待组装的数据;根据预设的数据录入方式和预设的数据录入编码对待组装的数据进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。
一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现:接收待解析的报文;根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过接收待组装的数据;根据预设的数据录入方式和预设的数据录入编码对待组装的数据进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。本说明书实施例提供的报文组装方法,兼顾了硬件平台字符编码的差异性,兼容多种数据类型的组装,使得报文的组装更加准确和完整,提高了报文组装的效率以及准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为只包含位图一的8583报文示意图;
图2为包含位图一和位图二的8583报文示意图;
图3为本说明书实施例一种报文组装方法的流程图;
图4为本说明书实施例报文组装页面中组包选项卡的示意图;
图5为本说明书实施例报文组装页面中报文模板定义选项卡的示意图;
图6为本说明书实施例报文组装页面中子域模板定义选项卡的示意图;
图7为本说明书实施例报文组装页面中子域模板定义选项卡的示意图;
图8为本说明书实施例报文组装页面中子域模板定义选项卡的示意图;
图9为本说明书实施例报文组装页面中子域模板定义选项卡的示意图;
图10为本说明书实施例一种报文组装方法的流程图;
图11为本说明书实施例报文组装过程的示意图;
图12为本说明书实施例提供的一个报文的组装场景示例的流程图;
图13为本说明书实施例一种报文解析方法的流程图;
图14为本说明书实施例报文解析页面中解析页面的示意图;
图15为本说明书实施例报文解析页面中报文模板定义选项卡的示意图;
图16为本说明书实施例报文解析页面中子域模板定义选项卡的示意图;
图17为本说明书实施例报文解析页面中子域模板定义选项卡的示意图;
图18为本说明书实施例报文解析页面中子域模板定义选项卡的示意图;
图19为本说明书实施例报文解析页面中子域模板定义选项卡的示意图;
图20为本说明书实施例一种报文解析方法的流程图;
图21为本说明书实施例报文解析过程的示意图;
图22为本说明书实施例提供的一个报文的解析场景示例的流程图;
图23为本说明书实施例一种报文组装装置的功能模块图;
图24为本说明书实施例一种报文解析装置的功能模块图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
在本说明书实施例中,所述报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。所述报文多应用在多个系统之间需要通信的时候,比如银行的ESB系统到网关系统再到银联系统。在这中间报文就承担了装载数据,运输数据的功能,可能在这三个系统中报文的格式互不相同,但是承载的数据都是一样的。
在本说明书实施例中,报文的产生通常包括报文发送方和报文接收方。报文发送方如果要通过报文传输信息,则需要将传输的信息按一定的规则组装成报文。报文接收方在接收到报文后,并不能直接从报文中读出信息内容,需要将报文进行解析,才能提取出报文中的信息内容。以8583报文为例,8583报文最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。一个完整的8583报文由报文头域、报文信息类型域、位图域和报文数据域组成。其中报文头和报文信息类型用于表示报文的类型以及信息类型,位图域与报文数据域相对应,可以根据位图得知报文中是否包含对应的报文数据域,由于应用需要,往往还会在报文数据域中引入子域甚至是子域的子域。所述报文数据用于表示传输的信息内容。
在本说明书实施例中,在组装或解析8583报文通常需要按照上述规则来进行,由于各个应用组织会对128个报文域或其子域的数据类型和数据结构做不同的定义,由此产生的报文的十分复杂,为各个应用组装通过报文传输信息时的报文组装或解析过程带来麻烦,影响了报文组装或解析的效率。如果考虑报文的数据结构和数据类型,并通过模板定义报文的数据结构和数据类型的方式确定报文的组装或解析方案,并且兼顾硬件平台字符编码的差异性,可以使得报文的组装或解析更加准确和完整,提高报文数据组装或解析的效率以及准确性。为此本说明书实施例提供一种报文的组装方法和解析方法。
在本说明书实施例中,执行所述报文组装方法的主体可以是具有逻辑运算功能的电子设备,所述电子设备可以是客户端或服务器。所述客户端可以为台式电脑、平板电脑、笔记本电脑、工作站等。当然,客户端并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体,或者,还可以是一种通过程序开发形成的程序软件。该程序软件可以运行于上述电子设备中。
如图3所示,本说明书实施例提供了一种报文的组装方法,应用于客户端,所述方法可以包括以下步骤。
S310:提供报文组装页面,所述报文组装页面包括组包选项卡,所述组包选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项。
在本说明书实施例中,客户端可以提供报文组装页面。其中,报文组装页面可以包括组包选项卡。如图4所示,所述组包选项卡可以包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项。
在一些实施例中,所述模板选择菜单可以包括报文模板选择菜单和子域模板选择菜单。所述报文模板选择菜单可以包括至少一个供选择的报文模板项;所述子域模板选择菜单可以包括至少一个供选择的子域模板项。
在一些实施例中,每个报文模板项指向一个报文模板。例如,报文模板项本身是一个标识,该标识用于标识报文模板,或者,报文模板项超链接了报文模板的存储地址,通过点击报文模板项,通过该存储地址加载相应的报文模板。
在一些实施例中,所述报文模板可以用于确定报文域的数据结构和报文域的数据类型。其中,所述报文域包括报文头域、信息类型域、位图域和报文数据域。
在一些实施例中,每个子域模板项指向一个子域模板。例如,子域模板项本身是一个标识,该标识用于标识子域模板,或者,子域模板项超链接了子域模板的存储地址,通过点击子域模板项,通过该存储地址加载相应的子域模板。
在一些实施例中,所述子域模板可以用于确定子域的数据结构和子域的数据类型。
S320:获取在所述模板选择菜单中选择的模板项。
在一些实施例中,客户端可以获取用户在所述模板选择菜单中选择的模板项。具体的,客户端可以获取用户在所述报文模板选择菜单中选择的报文模板项,还可以获取用户在所述子域模板选择菜单中选择的子域模板项。
在一些实施例中,如果报文模板选择菜单中没有用户需要的报文模板,则还可以定义新的报文模板,并将新的报文模板加入报文模板选择菜单中。为此,本说明书实施例中,所述报文组装页面还可以包括如图5所示的报文模板定义选项卡,所述报文模板定义选项卡还可以包括报文域的数据结构选择菜单和报文域的数据类型选择菜单。在报文模板定义选项卡中,用户可以自定义报文模板。具体的,报文模板定义过程如下。
步骤1:获取在所述报文模板定义选项卡选择的报文域的数据结构和报文域的数据类型;
步骤2:根据所述报文域的数据结构和报文域的数据类型建立报文模板。
在本说明书实施例中,如图5所示,所述报文域的数据结构选择菜单和报文域的数据类型选择菜单可以分布在报文头定义区域、报文体定义区域、位图定义区域和信息类型定义区域。其中,所述报文头定义区域可以包括报文头域个数选择菜单、报文头域数据结构选择菜单和报文头域数据类型选择菜单;所述报文体定义区域可以包括报文数据域的数据类型选择菜单和报文数据域的数据结构选择菜单;所述位图定义区域可以包括位图域的数据类型选择菜单和位图域的数据结构选择菜单;所述信息类型定义区域可以包括信息类型域的数据类型选择菜单和信息类型域的数据结构选择菜单。
在本说明书实施例中,所述数据结构选择菜单中可以包括定长项和变长项。所述数据类型选择菜单中可以包括字母字符(a)项、数字字符(n)项、特殊字符(s)项、数据的二进制表示(b)项、二进制的十六进制字符表示(B)项、压缩数字码(BCD)项等。
在本说明书实施例中,报文模板定义选项卡还可以包括标签输入框,用户可以在标签输入框输入拟定义模板标签名称。
在本说明书实施例中,客户端可以获取用户选择的报文域的数据结构和报文域的数据类型,客户端还可以接收用户在标签输入框输入拟定义模板标签名称。在用户可以触发报文模板建立指令,例如点击建立报文模板按键,客户端可以响应于建立报文模板的触发指令,根据用户选择的报文域的数据结构选项和报文域的数据类型选项建立报文模板,并确定所述报文模板的标签名称。
在一些实施例中,在建立报文模板后,还可以存储所述建立的报文模板,使得用户在下一次需要相同模板时可以直接进行选择,而不需重新再定义一次同样的模板。
在一些实施例中,如果子域模板选择菜单没有用户需要的子域模板,则还需定义新的子域模板,并将新的子域模板加入子域模板选择菜单中。为此,本说明书实施例中,所述报文组装页面还包括如图6所示的子域模板定义选项卡,所述子域模板定义选项卡包括子域类型选择菜单、子域的数据结构选择菜单、子域的数据类型选择菜单。在子域模板定义选项卡中,用户可以自定义子域模板。具体的,子域模板定义过程如下。
步骤1:获取在所述子域模板定义选项卡选择的子域类型、子域的数据结构和子域的数据类型;
步骤2:根据所述子域类型、子域的数据结构和子域的数据类型建立子域模板。
在本说明书实施例中,所述子域可以具有多种类型,例如TLV1复杂域、TLV2复杂域、定长复杂域、BIT-MAP复杂域。其中,所述TLV1复杂域的构造为<子域tag标签><子域取值长度><子域取值>,其中,子域tag标签值,子域tag标签数据类型,子域长度值,子域长度类型,子域取值类型均可以灵活定义。所述TLV2复杂域的构造为<子域tag标签><子域取值长度><子域取值>,其中tag标签的数据类型可以为b类型,子域取值长度的数据类型可以为b类型,子域取值的数据类型可以为b,BCD,a,n,且遵守如下规则:tag占用字节数取决于最左边字节后五个bit位是否为“11111”,若是,则占用两个字节,否则占用一个字节。如“95(10010101)”为一个字节,“9F33(1001111100110011)”为两个字节。所述定长复杂域是数据类型为定长类型的子域结构。所述BIT-MAP复杂域为用n位bit位来标记n个子元素存在情况,对于存在的子元素,按照位图中的顺序,依据子域数据结构定义,添加至位图之后。
在本说明书实施例中,用户可以首先在子域类型选择菜单中选择子域类型,客户端在获取用户选择的子域类型后,可以提供子域的数据结构选择菜单和子域的数据类型选择菜单。具体的,如图6所示,图6为用户在子域类型选择选择菜单中选择TLV1复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单中可以包括tag个数输入框、tag标签输入框、tag数据类型选择菜单、子域取值长度输入框、子域取值长度数据类型选择菜单、子域取值数据类型选择菜单以及子域取值是否为复杂域勾选框。若子域取值为复杂域,还提供复杂域类型选择菜单,其中,所述复杂域类型可以包括TLV1复杂域、TLV2复杂域、定长复杂域、BIT-MAP复杂域。
在一些实施例中,如图7所示,图7为用户在子域类型选择选择菜单中选择TLV2复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单中可以包括tag个数输入框、tag标签输入框以及子域取值是否为复杂域勾选框。
在一些实施例中,如图8所示,图8为用户在子域类型选择选择菜单中选择定长复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单可以包括子域个数输入框、子域长度输入框、子域取值的数据类型选择菜单以及子域取值是否为复杂域勾选框。
在一些实施例中,如图9所示,图9为用户在子域类型选择选择菜单中选择BIT-MAP复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单可以包括前缀输入框、位图格式选项、子域取值的数据类型选择菜单以及子域取值是否为复杂域勾选框。
在本说明书实施例中,子域模板定义选项卡还可以包括标签输入框,用户可以在标签输入框输入拟定义子域模板标签名称。
在本说明书实施例中,客户端可以获取用户选择的子域类型、子域的数据结构和子域的数据类型,客户端还可以接收用户在标签输入框输入拟定义模板标签名称。用户可触发子域模板建立的指令,例如点击建立子域模板按钮。客户端可以响应于定义子域模板的触发指令,根据所述子域类型、子域的数据结构和子域的数据类型建立子域模板,并确定所述子域模板的标签名称。
在一些实施例中,在建立子域模板后,还可以存储所述建立的子域模板,使得用户在下一次需要相同模板时可以直接进行选择,而不需重新再定义一次同样的模板。
在一些实施例中,如图4所示,所述组包选项卡还可以包括数据录入方式选择菜单、数据录入编码方式选择菜单、数据输出方式选择菜单、数据输出编码方式选择菜单中的至少一种。其中,所述数据录入方式选择菜单中可以包括字符串录入方式项和HEX字符串录入方式项中的至少一种;所述数据录入编码方式选择菜单可以包括ASCII编码方式项;所述数据输出方式选择菜单可以包括HEX字符串输出方式项;所述数据输出编码方式选择菜单可以包括ASCII编码方式项和EBCDIC编码方式项中的至少一种。
S330:接收在所述组包选项卡输入的报文信息。
如图4所示,用户可以在组包选项卡的交互框中输入报文信息。其中,用户可以选择通过键盘进行信息的输入,也可以选择其他方式进行信息的输入,例如通过选择文件的方式,用户可以将文件放入交互框中,客户端可以接收文件并识别文件中的信息。所述交互框一般情况下可以位于组包选项卡的底部,也可以经过设置使交互框组包选项卡的其它地方。
S340:根据选择的模板项对所述报文信息进行组装。
在本说明书实施例中,用户可以点击组包选项卡中的报文组装按键触发组装报文的指令,客户端可以响应于组装报文的触发指令,根据选择的模板项对所述报文信息进行组装。具体的,可以根据用户选择的数据录入方式、数据录入编码方式对用户输入的信息进行录入,再根据用户选择的报文模板、数据输出方式和数据输出编码方式对录入的数据进行组装,得到报文。
在一些实施例中。如果报文域中包含复杂域,用户还可以在所述交互框中输入待组装的复杂域信息,用户还可以点击组包选项卡中的复杂域组装按键触发子域组装的指令,客户端可以响应于组装子域的触发指令,根据用户选择的数据录入方式、数据录入编码方式对用户输入的复杂域信息进行录入,再根据子域模板、数据输出方式和数据输出编码方式进行复杂域的组装。在复杂域组装完成后,用户可以在所述交互框中输入待组装的报文信息并点击组包选项卡中的报文组装按键触发组装报文的指令,客户端可以响应于组装报文的触发指令,根据用户选择的数据录入方式、数据录入编码方式对输入的待组装的报文信息进行录入,再根据用户选择的报文模板、数据输出方式、数据输出编码方式和组装完成的复杂域对录入的报文信息进行组装,得到报文。
本说明书实施例通过提供报文组装页面,所述报文组装页面包括组包选项卡,所述组包选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项;获取在所述模板选择菜单中选择的模板项;接收在所述组包选项卡输入的报文信息;根据选择的模板项对所述报文信息进行组装。本说明书实施例提供的报文组装方法,兼顾了硬件平台字符编码的差异性,兼容多种数据类型的组装,使得报文的组装更加准确和完整,提高了报文组装的效率以及准确性。
如图10所示,本说明书实施例提供了一种报文的组装方法,应用于服务器端,所述方法可以包括以下步骤。
S1010:接收待组装的数据。
在一些实施例中,所述服务器可以采用任何方式接收待组装的数据。例如,用户可以直接输入待组装的数据,服务器可以进行接收;又如除去所述服务器以外的其它电子设备可以向服务器发送待组装的数据,服务器可以进行接收。
S1020:根据预设的数据录入方式和预设的数据录入编码方式对待组装的数据进行录入,得到录入数据。
在一些实施例中,所述预设的数据录入方式可以包括字符串录入方式和HEX字符串录入方式中的至少一种。所述预设的数据录入编码方式可以ASCII编码方式。
在一些实施例中,所述服务器可以根据预设的数据录入方式和预设的数据录入编码方式将接收的待组装的数据进行录入,得到录入数据。
S1030:根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。
在一些实施例中,所述预设的模板包括报文模板和子域模板。所述报文模板用于确定报文域的数据结构和数据类型。其中,所述报文域包括报文头域、信息类型域、位图域和报文数据域。子域模板用于确定报文域的子域的数据结构和数据类型。用户可以选择报文模板和子域模板对待组装的数据进行组装。
在一些实施例中,所述预设的数据输出方式选项可以包括HEX字符串输出方式;所述预设数据输出编码方式可以包括ASCII编码方式和EBCDIC编码方式中的至少一种。
在一些实施例中,服务器可以根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。具体的,如图11所示,所述服务器可以根据以下步骤组装录入的数据。
S1:请求参数合法性校验。
所述请求参数可以包括数据录入方式、数据录入编码方式、数据输出方式、数据输出编码方式、录入数据、报文模板ID、子域模板ID。服务器可以对所述请求参数进行合法性校验,如果合法,则继续进行报文组装过程,否则执行S15。
S2:根据报文模板ID查询报文头域定义。
S3:判断报文头域定义是否为空,如果是,则执行S4,否则执行S5。
S4:校验并组装报文头域。
所述服务器可以校验并组装报文头域的数据,如果校验通过则继续进行报文组装过程,否则执行S15。
S5:根据报文模板ID查询信息类型域定义。
S6:判断信息类型域定义是否为空,如果是,则执行S7,否则执行S15。
S7:校验并组装信息类型域。
所述服务器可以校验并组装信息类型域的数据,如果校验通过则继续进行报文组装过程,否则执行S15。
S8:根据报文模板ID查询位图域定义。
S9:判断位图域定义是否为空,如果是,则执行S10,否则执行S15。
S10:校验并组装位图域。
所述服务器可以校验并组装位图域的数据,如果校验通过则继续进行报文组装过程,否则执行S15。
S11:根据报文模板ID查询报文域定义。
S12:判断报文数据域定义是否为空,如果是,则执行S13,否则执行S15。
S13:校验并组装报文数据域。
所述服务器可以校验并组装报文数据域的数据,如果校验通过则继续进行报文组装过程,否则执行S15。
S14:返回组装完成的报文。
在报文头域、信息类型域、位图域和报文数据域组装完成后,可以返回组装完成的报文。
S15:结束组装过程。
在一些实施例中,如果报文域还包括子域,还需完成对子域的校验和组装过程。
本说明书实施例通过接收待组装的数据;根据预设的数据录入方式和预设的数据录入编码对待组装的数据进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。本说明书实施例提供的报文组装方法,兼顾了硬件平台字符编码的差异性,兼容多种数据类型的组装,使得报文的组装更加准确和完整,提高了报文组装的效率以及准确性。
本实施方式提供了一个报文的组装场景示例,如图12所示,图12为本说明书实施例提供的一个报文的组装场景示例的流程图。
在本场景示例中,实现报文的组装包括模板定义、模板组装、模板选择、数据录入方式选择、数据录入编码选择、数据输出方式选择、数据输出编码选择、数据录入、报文组装等步骤。
在本场景示例中,用户在打开报文组装页面后,可以在组包选项卡的模板选择菜单中查找是否有需要的报文模板和子域模板。如果没有,则定义新的报文模板或子域模板。具体的,如果需要定义报文模板,用户可以在如图5所示的报文模板定义选项卡中定义新的报文模板,并选择新的报文模板。如果需要定义子域模板,用户可以在如图6所示的子域模板定义选项卡定义新的子域模板,并选择新的子域模板。
在本场景示例中,如果用户在模板选择菜单中查找到需要的报文模板和子域模板,可以选择报文模板和子域模板,并继续选择数据录入方式、数据录入编码方式、数据输出方式、数据输出编码方式。选择完毕后,可以在组包选项卡的交互框中输入信息进行数据的录入。在数据录入完毕后,用户可以点击开始组装的按钮进行报文组装。进一步地,在报文组装完毕后,还可以选择打印报文。
如图13所示,本说明书实施例提供了一种报文的解析方法,应用于客户端,所述方法可以包括以下步骤。
S1310:提供报文解析页面,所述报文解析页面包括解析选项卡,所述解析选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项。
在本说明书实施例中,客户端可以提供报文解析页面。其中,报文解析页面可以包括解析选项卡。如图14所示,所述解析选项卡可以包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项。
在一些实施例中,所述模板选择菜单可以包括报文模板选择菜单和子域模板选择菜单。所述报文模板选择菜单可以包括至少一个供选择的报文模板项;所述子域模板选择菜单可以包括至少一个供选择的子域模板项。
在一些实施例中,每个报文模板项指向一个报文模板。例如,报文模板项本身是一个标识,该标识用于标识报文模板,或者,报文模板项超链接了报文模板的存储地址,通过点击报文模板项,通过该存储地址加载相应的报文模板。
在一些实施例中,所述报文模板可以用于确定报文域的数据结构和报文域的数据类型。其中,所述报文域包括报文头域、信息类型域、位图域和报文数据域。
在一些实施例中,每个子域模板项指向一个子域模板。例如,子域模板项本身是一个标识,该标识用于标识子域模板,或者,子域模板项超链接了子域模板的存储地址,通过点击子域模板项,通过该存储地址加载相应的子域模板。
在一些实施例中,所述子域模板可以用于确定子域的数据结构和子域的数据类型。
S1320:获取在所述模板选择菜单中选择的模板项。
在一些实施例中,客户端可以获取用户在所述模板选择菜单中选择的模板项。具体的,客户端可以获取用户在所述报文模板选择菜单中选择的报文模板项,还可以获取用户在所述子域模板选择菜单中选择的子域模板项。
在一些实施例中,如果报文模板选择菜单中没有用户需要的报文模板,则还可以定义新的报文模板,并将新的报文模板加入报文模板选择菜单中。为此,本说明书实施例中,所述报文解析页面还可以包括如图15所示的报文模板定义选项卡,所述报文模板定义选项卡还可以包括报文域的数据结构选择菜单和报文域的数据类型选择菜单。在报文模板定义选项卡中,用户可以自定义报文模板。具体的,报文模板定义过程如下。
步骤1:获取在所述报文模板定义选项卡选择的报文域的数据结构和报文域的数据类型;
步骤2:根据所述报文域的数据结构和报文域的数据类型建立报文模板。
在本说明书实施例中,如图5所示,所述报文域的数据结构选择菜单和报文域的数据类型选择菜单可以分布在报文头定义区域、报文体定义区域、位图定义区域和信息类型定义区域。其中,所述报文头定义区域可以包括报文头域个数选择菜单、报文头域数据结构选择菜单和报文头域数据类型选择菜单;所述报文体定义区域可以包括报文数据域的数据类型选择菜单和报文数据域的数据结构选择菜单;所述位图定义区域可以包括位图域的数据类型选择菜单和位图域的数据结构选择菜单;所述信息类型定义区域可以包括信息类型域的数据类型选择菜单和信息类型域的数据结构选择菜单。
在本说明书实施例中,所述数据结构选择菜单中可以包括定长项和变长项。所述数据类型选择菜单中可以包括字母字符(a)项、数字字符(n)项、特殊字符(s)项、数据的二进制表示(b)项、二进制的十六进制字符表示(B)项、压缩数字码(BCD)项等。
在本说明书实施例中,报文模板定义选项卡还可以包括标签输入框,用户可以在标签输入框输入拟定义模板标签名称。
在本说明书实施例中,客户端可以获取用户选择的报文域的数据结构和报文域的数据类型,客户端还可以接收用户在标签输入框输入拟定义模板标签名称。在用户可以触发报文模板建立指令,例如点击建立报文模板按键,客户端可以响应于建立报文模板的触发指令,根据用户选择的报文域的数据结构选项和报文域的数据类型选项建立报文模板,并确定所述报文模板的标签名称。
在一些实施例中,在建立报文模板后,还可以存储所述建立的报文模板,使得用户在下一次需要相同模板时可以直接进行选择,而不需重新再定义一次同样的模板。
在一些实施例中,如果子域模板选择菜单没有用户需要的子域模板,则还需定义新的子域模板,并将新的子域模板加入子域模板选择菜单中。为此,本说明书实施例中,所述报文解析页面还包括如图16所示的子域模板定义选项卡,所述子域模板定义选项卡包括子域类型选择菜单、子域的数据结构选择菜单、子域的数据类型选择菜单。在子域模板定义选项卡中,用户可以自定义子域模板。具体的,子域模板定义过程如下。
步骤1:获取在所述子域模板定义选项卡选择的子域类型、子域的数据结构和子域的数据类型;
步骤2:根据所述子域类型、子域的数据结构和子域的数据类型建立子域模板。
在本说明书实施例中,所述子域可以具有多种类型,例如TLV1复杂域、TLV2复杂域、定长复杂域、BIT-MAP复杂域。其中,所述TLV1复杂域的构造为<子域tag标签><子域取值长度><子域取值>,其中,子域tag标签值,子域tag标签数据类型,子域长度值,子域长度类型,子域取值类型均可以灵活定义。所述TLV2复杂域的构造为<子域tag标签><子域取值长度><子域取值>,其中tag标签的数据类型可以为b类型,子域取值长度的数据类型可以为b类型,子域取值的数据类型可以为b,BCD,a,n,且遵守如下规则:tag占用字节数取决于最左边字节后五个bit位是否为“11111”,若是,则占用两个字节,否则占用一个字节。如“95(10010101)”为一个字节,“9F33(1001111100110011)”为两个字节。所述定长复杂域是数据类型为定长类型的子域结构。所述BIT-MAP复杂域为用n位bit位来标记n个子元素存在情况,对于存在的子元素,按照位图中的顺序,依据子域数据结构定义,添加至位图之后。
在本说明书实施例中,用户可以首先在子域类型选择菜单中选择子域类型,客户端在获取用户选择的子域类型后,可以提供子域的数据结构选择菜单和子域的数据类型选择菜单。具体的,如图16所示,图16为用户在子域类型选择选择菜单中选择TLV1复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单中可以包括tag个数输入框、tag标签输入框、tag数据类型选择菜单、子域取值长度输入框、子域取值长度数据类型选择菜单、子域取值数据类型选择菜单以及子域取值是否为复杂域勾选框。若子域取值为复杂域,还提供复杂域类型选择菜单,其中,所述复杂域类型可以包括TLV1复杂域、TLV2复杂域、定长复杂域、BIT-MAP复杂域。
在一些实施例中,如图17所示,图17为用户在子域类型选择选择菜单中选择TLV2复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单中可以包括tag个数输入框、tag标签输入框以及子域取值是否为复杂域勾选框。
在一些实施例中,如图18所示,图18为用户在子域类型选择选择菜单中选择定长复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单可以包括子域个数输入框、子域长度输入框、子域取值的数据类型选择菜单以及子域取值是否为复杂域勾选框。
在一些实施例中,如图19所示,图19为用户在子域类型选择选择菜单中选择BIT-MAP复杂域后的页面,子域的数据结构选择菜单和子域的数据类型选择菜单可以包括前缀输入框、位图格式选项、子域取值的数据类型选择菜单以及子域取值是否为复杂域勾选框。
在本说明书实施例中,子域模板定义选项卡还可以包括标签输入框,用户可以在标签输入框输入拟定义子域模板标签名称。
在本说明书实施例中,客户端可以获取用户选择的子域类型、子域的数据结构和子域的数据类型,客户端还可以接收用户在标签输入框输入拟定义模板标签名称。用户可触发子域模板建立的指令,例如点击建立子域模板按钮。客户端可以响应于定义子域模板的触发指令,根据所述子域类型、子域的数据结构和子域的数据类型建立子域模板,并确定所述子域模板的标签名称。
在一些实施例中,在建立子域模板后,还可以存储所述建立的子域模板,使得用户在下一次需要相同模板时可以直接进行选择,而不需重新再定义一次同样的模板。
在一些实施例中,如图14所示,所述报文解析选项还可以包括数据录入方式选择菜单、数据录入编码方式选择菜单、数据输出方式选择菜单、数据输出编码方式选择菜单中的至少一种。其中,所述数据录入方式选择菜单中可以包括HEX字符串录入方式项;所述数据录入编码方式选择菜单可以包括ASCII编码方式项和EBCDIC编码方式项中的至少一种;所述数据输出方式选择菜单可以包括HEX字符串输出方式项和字符串录入方式项中的至少一种;所述数据输出编码方式选择菜单可以包括ASCII编码方式项。
S1330:接收在所述组包选项卡输入的待解析的报文。
如图14所示,用户可以在解析选项卡的交互框中输入解析的报文。其中,用户可以选择通过键盘进行报文的输入,也可以选择其他方式进行报文的输入,例如通过选择文件的方式,用户可以将文件放入交互框中,客户端可以接收文件并识别文件中的信息。所述交互框一般情况下可以位于解析页面的底部,也可以经过设置使交互框解析页面的其它地方。所述交互框可以用于接收待解析的报文。
S1340:根据选择的模板项对所述待解析的报文进行解析。
在本说明书实施例中,用户可以点击解析页面中的报文解析按键触发解析报文的指令,客户端可以响应于解析报文的触发指令,根据选择的模板项对所述待解析的报文进行解析。具体的,可以根据用户选择的数据录入方式、数据录入编码方式对用户输入的报文进行录入,再根据用户选择的报文模板、数据输出方式和数据输出编码方式对录入的数据进行解析。
在一些实施例中,如果解析后的报文数据中还包括未解析的复杂域,用户还可以点击解析页面中的复杂域解析按键触发解析复杂域的指令,客户端可以响应于解析复杂域的触发指令,客户端可以响应于解析复杂域的触发指令,根据所述子域模板解析所述复杂域。
本说明书实施例通过提供报文解析页面,所述报文解析页面包括解析选项卡,所述解析选项卡包括模板选择菜单,所述模板选择菜单包括至少一个供选择的模板项;获取在所述模板选择菜单中选择的模板项;接收在所述组包选项卡输入的待解析的报文;根据选择的模板项对所述待解析的报文进行解析。本说明书实施例提供的报文解析方法,兼顾了硬件平台字符编码的差异性,兼容多种数据类型的解析,使得报文的解析更加准确和完整,提高了报文解析的效率以及准确性。
如图20所示,本说明书实施例提供了一种报文的解析方法,应用于服务器端,所述方法可以包括以下步骤。
S2010:接收待解析的报文。
在一些实施例中,所述服务器可以采用任何方式接收待解析的报文。例如,用户可以直接输入待解析的数据,服务器可以进行接收;又如除去所述服务器以外的其它电子设备可以向服务器发送待解析的报文,服务器可以进行接收。
S2020:根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据。
在一些实施例中,所述预设的数据录入方式可以包括HEX字符串录入方式。所述预设的数据录入编码方式可以ASCII编码方式和EBCDIC编码方式中的至少一种。
在一些实施例中,所述服务器可以根据预设的数据录入方式和预设的数据录入编码方式将接收的待解析的报文进行录入,得到录入数据。
S2030:根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。
在一些实施例中,所述预设的模板包括报文模板和子域模板。所述报文模板用于确定报文域的数据结构和数据类型。其中,所述报文域包括报文头域、信息类型域、位图域和报文数据域。子域模板用于确定报文域的子域的数据结构和数据类型。用户可以选择报文模板和子域模板对待解析的报文进行解析。
在一些实施例中,所述预设的数据输出方式选项可以包括字符串输出方式和HEX字符串输出方式中的至少一种。所述预设数据输出编码方式可以包括ASCII编码方式。
在一些实施例中,服务器可以根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。具体的,如图21所示,所述服务器可以根据以下步骤解析待解析的报文。
S1:请求参数合法性校验。
所述请求参数可以包括数据录入方式、数据录入编码方式、数据输出方式、数据输出编码方式、录入数据、报文模板ID、子域模板ID。服务器可以对所述请求参数进行合法性校验,如果合法,则继续进行报文解析过程,否则执行S15。
S2:根据报文模板ID查询报文头域定义。
S3:判断报文头域定义是否为空,如果是,则执行S4,否则执行S5。
S4:解析报文头域并将解析结果添加至结果合集。
S5:根据报文模板ID查询信息类型域定义。
S6:判断信息类型域定义是否为空,如果是,则执行S7,否则执行S15。
S7:解析信息类型域并将解析结果添加至结果合集。
S8:根据报文模板ID查询位图域定义。
S9:判断位图域定义是否为空,如果是,则执行S10,否则执行S15。
S10:解析位图域并将解析结果添加至结果合集。
S11:根据报文模板ID查询报文数据域定义。
S12:判断报文数据域定义是否为空,如果是,则执行S13,否则执行S15。
S13:解析报文数据域并将解析结果添加至结果合集。
S14:返回解析完成后的结果合集。
S15:结束解析过程。
在一些实施例中,如果报文域还包括子域,还需根据子域模板对子域进行解析。
本说明书实施例通过接收待解析的报文;根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。本说明书实施例提供的报文解析方法,兼顾了硬件平台字符编码的差异性,兼容多种数据类型的解析,使得报文的解析更加准确和完整,提高了报文解析的效率以及准确性。
本实施方式提供了一个报文的解析场景示例,如图22所示,图22为本实施方式提供的一个报文的解析场景示例的流程图。
在本场景示例中,实现报文的解析包括模板定义、模板组装、模板选择、数据录入方式选择、数据录入编码选择、数据输出方式选择、数据输出编码选择、数据录入、报文解析等步骤。
在本场景示例中,用户在打开报文解析页面后,可以在解析选项卡的模板选择菜单中查找是否有需要的报文模板和子域模板。如果没有,则定义新的报文模板或子域模板。具体的,如果需要定义报文模板,用户可以在如图15所示的报文模板定义选项卡中定义新的报文模板,并选择新的报文模板。如果用户需要定义子域模板,用户可以在如图16-图19所示的子域模板定义选项卡中定义新的子域模板,并选择新的子域模板。
在本场景示例中,如果用户在模板选择菜单中查找到需要的报文模板和子域模板,可以选择模板,并继续选定数据录入方式、数据录入编码方式、数据输出方式、数据输出编码方式。选择完毕后,可以在解析页面的交互框中输入待解析的报文进行数据的录入。在数据录入完毕后,用户可以点击开始解析的按钮进行报文解析。进一步地,在报文解析完毕后,还可以选择打印解析数据。
本说明书实施例还提供了一种报文组装方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:提供报文组装页面,所述报文组装页面包括组包选项卡;接收在所述组包选项卡选择的报文组装选项;所述报文组装选项包括模板选项;响应于针对组包选项卡的交互框的第一触发指令,在所述组包选项卡通过交互框接收输入的信息;响应于组装报文的第二触发指令,根据所述报文组装选项组装所述信息。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。在本实施方式中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图23,在软件层面上,本说明书实施例还提供了报文组装装置,该装置具体可以包括以下的结构模块。
接收模块2310,用于接收待组装的数据;
录入模块2320,用于根据预设的数据录入方式和预设的数据录入编码对待组装的数据进行录入,得到录入数据;
组装模块2330,用于根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行组装。
本说明书实施例还提供了一种报文解析方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收待解析的报文;根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据;根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。在本实施方式中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图24,在软件层面上,本说明书实施例还提供了报文解析装置,该装置具体可以包括以下的结构模块。
接收模块2410,用于接收待解析的报文;
录入模块2420,用于根据预设的数据录入方式和预设的数据录入编码对所述待解析的报文进行录入,得到录入数据;
解析模块2430,用于根据预设的模板、预设的数据输出方式和预设的数据输出编码方式对所述录入数据进行解析。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (16)

1.一种报文组装方法,其特征在于,所述方法包括:
提供报文组装页面,所述报文组装页面包括组包选项卡,所述组包选项卡包括模板选择菜单,所述模板选择菜单包括多个供选择的模板项;
获取在所述模板选择菜单中选择的模板项;
接收在所述组包选项卡输入的报文信息;
根据选择的模板项对所述报文信息进行组装;
所述报文组装页面还包括报文模板定义选项卡,所述报文模板定义选项卡包括报文域的数据结构选择菜单和报文域的数据类型选择菜单;所述方法还包括:
获取在所述报文模板定义选项卡选择的报文域的数据结构和报文域的数据类型;
根据所述报文域的数据结构和报文域的数据类型建立报文模板。
2.根据权利要求1所述的方法,其特征在于,所述组包选项卡还包括数据录入方式选择菜单、数据录入编码方式选择菜单、数据输出方式选择菜单、数据输出编码方式选择菜单中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述模板选择菜单包括报文模板选择菜单和子域模板选择菜单;所述报文模板选择菜单包括至少一个供选择的报文模板项;所述子域模板菜单包括至少一个供选择的子域模板项;
相应地,获取在所述模板选择菜单中选择的模板项,包括:
获取在所述报文模板选择菜单中选择的报文模板项;
获取在所述子域模板选择菜单中选择的子域模板项。
4.根据权利要求3所述的方法,其特征在于,每个报文模板项指向一个报文模板,所述报文模板用于确定报文域的数据结构和报文域的数据类型;其中,所述报文域包括报文头域、信息类型域、位图域和报文数据域。
5.根据权利要求3所述的方法,其特征在于,每个子域模板项指向一个子域模板,所述子域模板用于确定报文子域的数据结构和子域的数据类型。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:存储所述建立的报文模板。
7.根据权利要求1所述的方法,其特征在于,所述报文组装页面还包括子域模板定义选项卡,所述子域模板定义选项卡包括子域类型选择菜单、子域的数据结构选择菜单、子域的数据类型选择菜单;所述方法还包括:
获取在所述子域模板定义选项卡选择的子域类型、子域的数据结构和子域的数据类型;
根据所述子域类型、子域的数据结构和子域的数据类型建立子域模板。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:存储所述建立的子域模板。
9.一种报文解析方法,其特征在于,所述方法包括:
提供报文解析页面,所述报文解析页面包括解析选项卡,所述解析选项卡包括模板选择菜单,所述模板选择菜单包括多个供选择的模板项;
获取在所述模板选择菜单中选择的模板项;
接收在所述解析选项卡输入的待解析的报文;
根据选择的模板项对所述待解析的报文进行解析;
所述报文解析页面还包括报文模板定义选项卡,所述报文模板定义选项卡包括报文域的数据结构选择菜单和报文域的数据类型选择菜单;所述方法还包括:
获取在所述报文模板定义选项卡选择的报文域的数据结构和报文域的数据类型;
根据所述报文域的数据结构和报文域的数据类型建立报文模板。
10.根据权利要求9所述的方法,其特征在于,所述解析选项卡还包括数据录入方式选择菜单、数据录入编码方式选择菜单、数据输出方式选择菜单、数据输出编码方式选择菜单中的至少一种。
11.根据权利要求9所述的方法,其特征在于,所述模板选择菜单包括报文模板选择菜单和子域模板选择菜单;所述报文模板选择菜单包括至少一个供选择的报文模板项;所述子域模板菜单包括至少一个供选择的子域模板项;
相应地,获取在所述模板选择菜单中选择的模板项,包括:
获取在所述报文模板选择菜单中选择的报文模板项;
获取在所述子域模板选择菜单中选择的子域模板项。
12.根据权利要求11所述的方法,其特征在于,每个报文模板项指向一个报文模板,所述报文模板用于确定报文域的数据结构和报文域的数据类型;其中,所述报文域包括报文头域、信息类型域、位图域和报文数据域。
13.根据权利要求11所述的方法,其特征在于,每个子域模板项指向一个子域模板,所述子域模板用于确定报文子域的数据结构和子域的数据类型。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:存储所述建立的报文模板。
15.根据权利要求11所述的方法,其特征在于,所述报文解析页面还包括子域模板定义选项卡,所述子域模板定义选项卡包括子域类型选择菜单、子域的数据结构选择菜单、子域的数据类型选择菜单;所述方法还包括:
获取在所述子域模板定义选项卡选择的子域类型、子域的数据结构和子域的数据类型;
根据所述子域类型、子域的数据结构和子域的数据类型建立子域模板。
16.根据权利要求11所述的方法,其特征在于,所述方法还包括:存储所述建立的子域模板。
CN201911224942.7A 2019-12-04 2019-12-04 报文组装方法、解析方法、装置及存储介质 Active CN111049813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911224942.7A CN111049813B (zh) 2019-12-04 2019-12-04 报文组装方法、解析方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911224942.7A CN111049813B (zh) 2019-12-04 2019-12-04 报文组装方法、解析方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111049813A CN111049813A (zh) 2020-04-21
CN111049813B true CN111049813B (zh) 2022-07-12

Family

ID=70233562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911224942.7A Active CN111049813B (zh) 2019-12-04 2019-12-04 报文组装方法、解析方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111049813B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452712A (zh) * 2021-06-29 2021-09-28 上海通联金融服务有限公司 一种基于银联iso 8583报文的解析方法
CN113643013A (zh) * 2021-08-11 2021-11-12 中国工商银行股份有限公司 模型的建立方法、业务处理方法、装置、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1287462A1 (en) * 2000-04-07 2003-03-05 Visible World, Inc. Template creation and editing for a message campaign
CN103428080A (zh) * 2012-05-17 2013-12-04 中国银联股份有限公司 一种数据的解包及组包方法
CN105516106A (zh) * 2015-11-30 2016-04-20 浪潮软件集团有限公司 报文的组包方法及装置、报文的解包方法及装置
CN106534045A (zh) * 2015-09-10 2017-03-22 银联国际有限公司 一种可配置化的金融报文转换装置及其转换方法
CN110336814A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种swift报文的解析方法、设备以及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732044B2 (en) * 2006-05-23 2014-05-20 Mastercard International Incorporated Electronic transaction apparatus and method
CN101547156A (zh) * 2009-05-04 2009-09-30 华为技术有限公司 报文解析方法和装置
CN105049256B (zh) * 2015-08-10 2018-11-13 北京思特奇信息技术股份有限公司 一种通用自定义接口报文实现方法及系统
CN105516100B (zh) * 2015-12-01 2018-06-05 北京浩瀚深度信息技术股份有限公司 基于bs结构的报文解析方法及系统
CN106528823B (zh) * 2016-11-18 2019-08-30 中国银行股份有限公司 一种报文配置及输出方法及装置
CN108255725B (zh) * 2018-01-18 2021-02-19 银联商务股份有限公司 测试方法及装置
CN110287247B (zh) * 2019-05-22 2023-10-03 平安银行股份有限公司 基于银联系统的数据存储方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1287462A1 (en) * 2000-04-07 2003-03-05 Visible World, Inc. Template creation and editing for a message campaign
CN103428080A (zh) * 2012-05-17 2013-12-04 中国银联股份有限公司 一种数据的解包及组包方法
CN106534045A (zh) * 2015-09-10 2017-03-22 银联国际有限公司 一种可配置化的金融报文转换装置及其转换方法
CN105516106A (zh) * 2015-11-30 2016-04-20 浪潮软件集团有限公司 报文的组包方法及装置、报文的解包方法及装置
CN110336814A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种swift报文的解析方法、设备以及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Enhancing communication adaptability between payment card processing networks";Adnan Noor Mian;《IEEE Communications Magazine》;IEEE;20150318;第53卷(第3期);全文 *
"浅谈ISO8583协议数据加密和网络安全传输技术";胡艳、郑路;《信息通信》;20120215(第01期);第143-144页 *

Also Published As

Publication number Publication date
CN111049813A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
US7243120B2 (en) Transaction-based enterprise application integration (EAI) and development system
CN104199812B (zh) 一种支持多语言的数据系统和方法
CN110597814B (zh) 结构化数据的序列化、反序列化方法以及装置
JP3623715B2 (ja) 通信端末装置
CN111049813B (zh) 报文组装方法、解析方法、装置及存储介质
US20130179431A1 (en) Tokenized javascript indexing system
CN110912803A (zh) 一种im消息传输方法及终端
US6370581B2 (en) Method, apparatus, and product for transmitting multibyte characters in a network
US20080313291A1 (en) Method and apparatus for encoding data
CN114553784A (zh) 限流处理方法及装置
CN115242896A (zh) 动态报文解析方法、装置、电子设备及计算机可读存储介质
US10848411B2 (en) Test system and method for triggering or searching in input data decoded with a user defined protocol
US20060047679A1 (en) Data abstraction based serialization
CN113127776A (zh) 面包屑路径生成方法、装置及终端设备
KR100620331B1 (ko) 엠엠에스 전송처리 과정 추적 및 표시가 가능한 엠엠에스 모니터링부와 이를 구비하는 엠엠에스 전송처리 검증 시스템 및 이를 이용한 전송처리 검증 방법
CN110727828B (zh) 一种业务功能执行方法、装置、电子设备及存储介质
CN114979307A (zh) 通信协议的解析方法、智能终端及存储介质
CN113705182A (zh) 一种合同在线生成方法、装置及可读存储介质
CN113872963A (zh) 基于自由标签拼接技术的报文协议快速解析方法及系统
US20040015780A1 (en) Position-independent access to data elements in an electronic document
CN114499759B (zh) 报文生成方法、装置、电子设备及存储介质
CN111985186B (zh) 一种字典项转换方法、api网关系统、设备及存储介质
CN116962319A (zh) 一种调用方法、装置、网络设备及可读存储介质
CN1997965A (zh) 用于在消息代理器中动态创建分析器的方法和系统
CN107276968A (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