通信报文配置方法、装置、可读存储介质及设备转让专利

申请号 : CN202210971336.7

文献号 : CN115052054B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏钜熔林宇叶国林卢向华黄强黄伟人梁永龙叶良海王巍峰

申请人 : 江西联创精密机电有限公司

摘要 :

本发明公开了一种通信报文配置方法、装置、可读存储介质及设备,应用于应用层,应用层分别与数据通信层和业务处理层通信连接,该方法包括:获取用户下发的通信报文编辑指令,根据通信报文编辑指令确定对应的报文编码以确定对应的报文字段链表;调用业务处理层根据报文字段链表创建对应的编辑界面,并采集用户基于编辑界面编辑的报文数据以得到目标报文字段链表;将目标报文字段链表发送给数据通信层,并调用数据通信层将目标报文字段链表中的报文数据拼接成字符流;将字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并发送给目标节点。本发明解决了现有技术中在面对报文数据数目较多的情况下效率低的问题。

权利要求 :

1.一种通信报文配置方法,其特征在于,应用于应用层,所述应用层分别与数据通信层和业务处理层通信连接,所述方法包括:获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表,其中,所述报文字段链表是由通信报文中不同类型字段对应的业务类组成的链表;

调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表;

将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流;

将所述字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将所述报文数据包发送给目标节点。

2.根据权利要求1所述的通信报文配置方法,其特征在于,所述调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表的步骤之后还包括:判断所述报文数据是否合法;

若是,则执行所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤;

若否,则发出提示信息,所述提示信息用于提示用户所述报文数据不合法。

3.根据权利要求1所述的通信报文配置方法,其特征在于,所述方法还包括:当接收到其它节点发送的报文数据包后,调用所述数据通信层对所述报文数据包进行报文解包,以获取报文编码、报文正文内容和正文内容长度;

根据所述报文编码确定对应的报文字段链表,以将所述报文正文内容进行解析并进行显示。

4.根据权利要求1所述的通信报文配置方法,其特征在于,所述获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表的步骤之前还包括:通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表;

通过预设配置文件建立所述通信报文的报文编码与所述报文字段链表之间的映射关系。

5.根据权利要求4所述的通信报文配置方法,其特征在于,所述获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表的步骤包括:当检测到用户下发的通信报文编辑指令时,根据所述通信报文编辑指令确定对应的报文编码,由预设工具加载所述预设配置文件以获取与所述报文编码对应的报文字段链表。

6.根据权利要求1所述的通信报文配置方法,其特征在于,所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤之前还包括:获取与所述数据通信层的报文通信方式,并根据所述报文通信方式创建对应的报文数据通信实现类;

调用所述报文数据通信实现类将所述目标报文字段链表发送给所述数据通信层。

7.根据权利要求4所述的通信报文配置方法,其特征在于,所述通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表的步骤之前还包括:获取通信报文中包含的不同类型字段,分别设置不同类型字段属性信息,根据所述属性信息确定所述不同类型字段的业务类。

8.一种通信报文配置装置,其特征在于,应用于应用层,所述应用层分别与数据通信层和业务处理层通信连接,所述装置包括:获取模块,用于获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表,其中,所述报文字段链表是由通信报文中不同类型字段对应的业务类组成的链表;

采集模块,用于调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表;

拼接模块,用于将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流;

发送模块,用于将所述字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将所述报文数据包发送给目标节点。

9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任意一项所述的方法的步骤。

10.一种电子设备,其特征在于,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任一所述的方法的步骤。

说明书 :

通信报文配置方法、装置、可读存储介质及设备

技术领域

[0001] 本发明涉及数据处理领域,特别涉及一种通信报文配置方法、装置、可读存储介质及设备。

背景技术

[0002] 在通信报文数据生成典型应用中,开发人员需要通过创建/修改通信报文数据对应的界面UI文件完成对通信报文数据属性(数据名称、字段个数、字段1名称、字段1对应的界面控件、字段1输入限制、字段1数据处理逻辑…字段N名称、字段N对应的界面控件、字段N输入限制、字段N数据处理逻辑)的数据新增、修改;同时需要创建/修改通信报文数据对应的通信报文数据业务处理类以完成对通信报文数据属性信息 (字段1数据类型、字段1数据长度、数据1数据处理逻辑、…字段N数据类型、字段N数据长度、数据N数据处理逻辑) 进行组包和解包。每条通信报文在进行组包时依据通信协议约束按照顺序将字段1、字段2、…字段N的数据拼接字符流。
[0003] 然而,采用这种传统方法,虽然可以正确完成通信报文数据生成,但由于每条通信报文都需要一个对应的界面UI文件及业务处理类,在面对不同的通信报文时,需要分别对对应的界面UI文件及业务处理类进行修改,伴随报文数据的数目增加,存在重复工作较多、效率低下的问题。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种通信报文配置方法、装置、可读存储介质及设备,旨在解决现有技术中在面对报文数据数目较多的情况下效率低的问题。
[0005] 本发明实施例是这样实现的:
[0006] 一种通信报文配置方法,应用于应用层,所述应用层分别与数据通信层和业务处理层通信连接,所述方法包括:
[0007] 获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表;
[0008] 调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表;
[0009] 将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流;
[0010] 将所述字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将所述报文数据包发送给目标节点。
[0011] 进一步的,上述通信报文配置方法,其中,所述调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表的步骤之后还包括:
[0012] 判断所述报文数据是否合法;
[0013] 若是,则执行所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤;
[0014] 若否,则发出提示信息,所述提示信息用于提示用户所述报文数据不合法。
[0015] 进一步的,上述通信报文配置方法,其中,所述方法还包括:
[0016] 当接收到其它节点发送的报文数据包后,调用所述数据通信层对所述报文数据包进行报文解包,以获取报文编码、报文正文内容和正文内容长度;
[0017] 根据所述报文编码确定对应的报文字段链表,以将所述报文正文内容进行解析并进行显示。
[0018] 进一步的,上述通信报文配置方法,其中,所述获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表的步骤之前还包括:
[0019] 通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表;
[0020] 通过预设配置文件建立所述通信报文的报文编码与所述报文字段链表之间的映射关系。
[0021] 进一步的,上述通信报文配置方法,其中,所述获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表的步骤包括:
[0022] 当检测到用户下发的通信报文编辑指令时,根据所述通信报文编辑指令确定对应的报文编码,由预设工具加载所述预设配置文件以获取与所述报文编码对应的报文字段链表。
[0023] 进一步的,上述通信报文配置方法,其中,所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤之前还包括:
[0024] 获取与所述数据通信层的报文通信方式,并根据所述报文通信方式创建对应的报文数据通信实现类;
[0025] 调用所述报文数据通信实现类将所述目标报文字段链表发送给所述数据通信层。
[0026] 进一步的,上述通信报文配置方法,其中,所述通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表的步骤之前还包括:
[0027] 获取通信报文中包含的不同类型字段,分别设置不同类型字段属性信息,根据所述属性信息确定所述不同类型字段的业务类。
[0028] 本发明的另一个目的在于提供一种通信报文配置装置,应用于应用层,所述应用层分别与数据通信层和业务处理层通信连接,所述装置包括:
[0029] 获取模块,用于获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表;
[0030] 采集模块,用于调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表;
[0031] 拼接模块,用于将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流;
[0032] 发送模块,用于将所述字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将所述报文数据包发送给目标节点。
[0033] 本发明的另一个目的在于提供一种可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任意一项所述的方法的步骤。
[0034] 本发明的另一个目的是提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
[0035] 本发明通过根据用户下发的通信报文编辑指令可以确定对应报文编码以确定对应的报文字段链表,报文字段链表中含有处理该当前通信报文中所有字段类型的业务类,并根据的报文字段链表创建对应的编辑界面以供用户对不同类型的字段进行编辑,在面对不同字段类型组成的报文数据时,不需要分别对对应的界面UI文件及业务处理类进行修改,并在用户编辑完报文数据后,通过数据通信层将报文数据按预设字段顺序拼接成字符流,并进行组包后发出,并在接收到其他节点发出的报文数据包时进行对应的解包操作,以完成整个报文数据的配置流程,解决了现有技术中在面对报文数据数目较多的情况下效率低的问题。

附图说明

[0036] 图1为本发明一实施例提供的通信报文配置系统的结构示意图;
[0037] 图2为本发明第一实施例中通信报文配置方法的流程图;
[0038] 图3为本发明第四实施例中通信报文配置装置的结构框图。
[0039] 如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

[0040] 为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
[0041] 需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
[0042] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0043] 以下各实施例均可应用到图1所示的通信报文配置系统当中,图1示出的结构为本发明一实施例中提供的通信报文配置系统,包括应用层、以及分别与应用层通信连接的数据通信层和业务处理层,其中:
[0044] 应用层用于接收用户的编辑指令以及显示对应的编辑界面,并将采集到的用户编辑信息发送至数据通信层进行处理,数据通信层用于接收应用层发送的数据并将数据发送至对应的节点,其中,数据包括但不限于报文数据以及报文字段链表,业务处理层用于创建对应的业务类以及创建编辑界面并将编辑界面通过应用层进行显示。
[0045] 需要指出的是,图1示出的结构并不构成对通信报文配置系统的限定,在其它实施例当中,该通信报文配置系统可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0046] 以下将结合具体实施例和附图来详细说明如何提高通信报文配置时的效率。
[0047] 实施例一
[0048] 请参阅图2,所示为本发明第一实施例中的通信报文配置方法,应用于应用层当中,所述应用层分别与数据通信层和业务处理层通信连接,所述方法包括步骤S10 S13。~
[0049] 步骤S10,获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表。
[0050] 其中,通信报文编辑指令用于用户开始启动对通信报文编辑的功能,具体的,在本实施例当中,可以通过点击通信报文数据菜单的形式下发通信报文编辑指令,当用户点击通信报文数据菜单从而下发对应的通信报文编辑指令,启动对当前的通信报文编辑功能,另一方面,可以根据当前的通信报文编辑指令确定对应的报文编码,从而确定对应的报文字段链表,报文字段链表是由通信报文中不同类型字段对应的业务类组成的链表,相应的,通过报文字段链表可以确定当前报文的字段类型以及对应的业务类。
[0051] 步骤S11,调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表。
[0052] 其中,根据报文字段链表可以确定当前的通信报文的字段类型,为了便于对通信报文中的不同字段类型的数据进行修改,根据所述报文字段链表创建对应的编辑界面,具体的,编辑界面中包含有不同的编辑区域,不同的编辑区域为不同类型的字段数据提供输入,用户可以在对应的编辑区域内输入对应的字段类型的数据输入,最终得到携带有用户输入的报文数据的目标报文字段链表。
[0053] 另外,在本发明一些可选的实施例当中,为了进一步的提升通信报文的安全性以及配置的准确性,所述调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表的步骤之后还包括:
[0054] 判断所述报文数据是否合法;
[0055] 若是,则执行所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤;
[0056] 若否,则发出提示信息,所述提示信息用于提示用户所述报文数据不合法。
[0057] 具体的,用户输入的数据不合法时,发出提示信息,提示用户所述报文数据不合法,其中,数据不合法包括但不限于输入的数据字段与编辑界面中规定的字段类型不符合或者数据本身不符合规范。
[0058] 步骤S12,将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流。
[0059] 具体的,将携带有报文数据的目标报文字段链表发送给数据通信层,以对目标报文字段链表中的报文数据进行提取,并将目标报文字段链表中的报文数据按预设字段顺序拼接成字符流,其中,预设字段顺序可以参照报文字段链表中字段的排列顺序,在具体实施时,调用数据通信层的工具(例如AbSendBwProtocal实现类调用ICommDataField接口serialFieldData函数)将用户编辑的报文数据按字段顺序拼接成字符流。
[0060] 另外,在本发明一些可选的实施例当中,所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤包括:
[0061] 获取与所述数据通信层的报文通信方式,并根据所述报文通信方式创建对应的报文数据通信实现类;
[0062] 调用所述报文数据通信实现类将所述目标报文字段链表发送给所述数据通信层。
[0063] 具体的,根据报文通信方式分别确定对应的报文数据通信实现类,其中,报文通信方式包括但不限于串口、网口以及CAN口,从而可分别实现不同的报文头协议、数据通信方式之间的数据发送。
[0064] 步骤S13,将所述字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将所述报文数据包发送给目标节点。
[0065] 具体的,字符流中包含此前报文数据的所有数据信息,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将报文数据包发送给目标节点,在具体实施时,完成所有字段数据拼接后,将拼接后的数据提供给数据通信层,以利用预设工具(例如,AbSendBwProtocal实现类,)将返回的字符流设置为正文部分,并添加报文头部、校验方式及报文尾部等数据后得到报文数据包并将数据包发送给目标节点。其中,目标节点包括但不限于其他软件或者应用中的软件中的其他模块。
[0066] 综上,本发明上述实施例中的通信报文配置方法,通过根据用户下发的通信报文编辑指令可以确定对应报文编码以确定对应的报文字段链表,报文字段链表中含有处理该当前通信报文中所有字段类型的业务类,并根据的报文字段链表创建对应的编辑界面以供用户对不同类型的字段进行编辑,在面对不同字段类型组成的报文数据时,不需要分别对对应的界面UI文件及业务处理类进行修改,并在用户编辑完报文数据后,通过数据通信层将报文数据按预设字段顺序拼接成字符流,并进行组包后发出,以完成整个报文数据的配置流程,解决了现有技术中在面对报文数据数目较多的情况下效率低的问题。
[0067] 实施例二
[0068] 本实施例当中的通信报文配置方法与实施例一当中的通信报文配置方法的不同之处在于:
[0069] 所述方法还包括:
[0070] 当接收到其它节点发送的报文数据包后,调用所述数据通信层对所述报文数据包进行报文解包,以获取报文编码、报文正文内容和正文内容长度;
[0071] 根据所述报文编码确定对应的报文字段链表,以将所述报文正文内容进行解析并进行显示。
[0072] 具体的,调用数据通信层对应的工具(ICommunication接口实现类的analyseData函数)进行报文数据包的解包,以获取数据报文编码、报文正文内容和正文内容长度。后ICommunication接口的实现类根据报文编码从业务处理层中获取对应的报文字段链表后,再调用对应的工具(ICommDataField接口的deSerialFieldData)将接收的报文正文内容进行解析并进行显示。
[0073] 综上,本发明上述实施例中的通信报文配置方法,通过根据用户下发的通信报文编辑指令可以确定对应报文编码以确定对应的报文字段链表,报文字段链表中含有处理该当前通信报文中所有字段类型的业务类,并根据的报文字段链表创建对应的编辑界面以供用户对不同类型的字段进行编辑,在面对不同字段类型组成的报文数据时,不需要分别对对应的界面UI文件及业务处理类进行修改,并在用户编辑完报文数据后,通过数据通信层将报文数据按预设字段顺序拼接成字符流,并进行组包后发出,并在接收到其他节点发出的报文数据包时进行对应的解包操作,以完成整个报文数据的配置流程,解决了现有技术中在面对报文数据数目较多的情况下效率低的问题。
[0074] 实施例三
[0075] 本实施例当中的通信报文配置方法与本实施例一当中的通信报文配置方法不同之处在于:
[0076] 步骤S10之前还包括:
[0077] 通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表;
[0078] 通过预设配置文件建立所述通信报文的报文编码与所述报文字段链表之间的映射关系。
[0079] 其中,业务属性包括但不限于界面控件(即创建编辑界面)、数据序列化处理(数据组包)、数据反序列化处理(数据解包)以及数据有效性校验等,在具体实施时,可以采用C++语言将上述的业务属性封装成单个独立的业务类,并将不同类型字段对应的业务类封装成独立模块,向其他模块提供统一的字段操作访问接口,并通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,以在需要报文字段链表组成时,根据字段类型通过上下文管理类创建对应的业务类以将不同字段类型的业务类组成报文字段链表并通过预设配置文件,建立通信报文的报文编码与报文字段链表之间的映射关系,从而在确定报文编码与报文字段链表中的其中一个时就能确定另一个。
[0080] 具体的,当检测到用户下发的通信报文编辑指令时,根据所述通信报文编辑指令确定对应的报文编码,由预设工具加载所述预设配置文件以获取与所述报文编码对应的报文字段链表。
[0081] 在本实施例当中,由预设工具(例如,CCommBwTool类)加载配置文件以获取报文编码与不同类型字段的业务类组成的报文字段链表映射关系,而根据字段类型通过上下文管理类可以创建对应的业务类以将所述不同类型字段的业务类组成报文字段链表,因此,当检测到用户下发的通信报文编辑指令时,可以由预设工具加载预设配置文件以获取与报文编码对应的报文字段链表。
[0082] 基于此,在需要对通信报文数据处理类型进行新增及修改时,开发人员只需对该配置文件进行编辑、增加/修改对应字段的业务处理类即可完成对通信报文数据的新增及修改,大大提高了维修性和拓展性,降低了出错机率。
[0083] 进一步的,所述通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表的步骤之前还包括:
[0084] 获取通信报文中包含的不同类型字段,分别设置不同类型字段属性信息,根据所述属性信息确定所述不同类型字段的业务类。
[0085] 具体的,在创建字段业务类对象时,调用工具(setFieldProp函数)设置字段属性信息(包含字段名称、数据类型、输入限制、数据长度等),并调用前一字段业务处理类工具(setNextField函数)将当前字段设置为前一字段的后续字段(如果当前字段为首字段则无需调用),依次创建界面控件、校验用户输入数据合法性、数据序列化(组包)、反序列化(解包),并当完成当前字段相关逻辑处理后,继续调用工具(getNextField)获取下一字段进行处理,以确定通信报文的业务类,而后依据该业务类直至链表组成结束,得到通信报文中包含的不同类型字段组成的报文字段链表。
[0086] 综上,本发明上述实施例中的通信报文配置方法,通过根据用户下发的通信报文编辑指令可以确定对应报文编码以确定对应的报文字段链表,报文字段链表中含有处理该当前通信报文中所有字段类型的业务类,并根据的报文字段链表创建对应的编辑界面以供用户对不同类型的字段进行编辑,在面对不同字段类型组成的报文数据时,不需要分别对对应的界面UI文件及业务处理类进行修改,并在用户编辑完报文数据后,通过数据通信层将报文数据按预设字段顺序拼接成字符流,并进行组包后发出,以完成整个报文数据的配置流程,解决了现有技术中在面对报文数据数目较多的情况下效率低的问题。
[0087] 实施例四
[0088] 请参阅图3,所示为本发明第四实施例中提出的通信报文配置装置,应用于应用层,所述应用层分别与数据通信层和业务处理层通信连接,所述装置包括:
[0089] 获取模块100,用于获取用户下发的通信报文编辑指令,根据所述通信报文编辑指令确定对应的报文编码,并根据所述报文编码确定对应的报文字段链表;
[0090] 采集模块200,用于调用所述业务处理层根据所述报文字段链表创建对应的编辑界面,并采集用户基于所述编辑界面编辑的报文数据以得到携带有所述报文数据的目标报文字段链表;
[0091] 拼接模块300,用于将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流;
[0092] 发送模块400,用于将所述字符流设置为报文正文部分,对应添加报文头部、校验方式及报文尾部以得到报文数据包,并将所述报文数据包发送给目标节点。
[0093] 进一步地,在本发明一些可选的实施例当中,其中,所述装置还包括:
[0094] 判断模块,用于判断所述报文数据是否合法;
[0095] 执行模块,用于当判断所述报文数据合法时,则执行所述将所述目标报文字段链表发送给所述数据通信层,并调用所述数据通信层将所述目标报文字段链表中的所述报文数据按预设字段顺序拼接成字符流的步骤;
[0096] 提示模块,用于当判断所述报文数据不合法时,则发出提示信息,所述提示信息用于提示用户所述报文数据不合法。
[0097] 进一步地,在本发明一些可选的实施例当中,其中,所述装置还包括:
[0098] 接收模块,用于当接收到其它节点发送的报文数据包后,调用所述数据通信层对所述报文数据包进行报文解包,以获取报文编码、报文正文内容和正文内容长度;
[0099] 显示模块,用于根据所述报文编码确定对应的报文字段链表,以将所述报文正文内容进行解析并进行显示。
[0100] 进一步地,在本发明一些可选的实施例当中,其中,所述装置还包括:
[0101] 组成模块,用于通过反射机制将不同类型字段以及对应的业务类的映射关系添加至上下文管理类中,根据字段类型通过所述上下文管理类创建对应的业务类以将不同字段类型的所述业务类组成报文字段链表;
[0102] 建立模块,用于通过预设配置文件建立所述通信报文的报文编码与所述报文字段链表之间的映射关系。
[0103] 进一步地,在本发明一些可选的实施例当中,其中,所述装置还包括:
[0104] 加载模块,用于当检测到用户下发的通信报文编辑指令时,根据所述通信报文编辑指令确定对应的报文编码,由预设工具加载所述预设配置文件以获取与所述报文编码对应的报文字段链表。
[0105] 进一步地,在本发明一些可选的实施例当中,其中,所述装置还包括:
[0106] 创建模块,用于获取与所述数据通信层的报文通信方式,并根据所述报文通信方式创建对应的报文数据通信实现类;
[0107] 链表发送模块,用于调用所述报文数据通信实现类将所述目标报文字段链表发送给所述数据通信层。
[0108] 进一步地,在本发明一些可选的实施例当中,其中,所述装置还包括:
[0109] 属性获取模块,用于获取通信报文中包含的不同类型字段,分别设置不同类型字段属性信息,根据所述属性信息确定所述不同类型字段的业务类。
[0110] 上述各模块被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
[0111] 实施例五
[0112] 本发明另一方面还提供一种可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述实施例一至三中任意一个所述的方法的步骤。
[0113] 实施例六
[0114] 本发明另一方面还提供一种电子设备,所述电子设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例一至三中任意一个所述的方法的步骤。
[0115] 以上各个实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0116] 本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0117] 计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0118] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0119] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0120] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。