CN111782882A - 一种tcp报文转换方法、装置、系统及计算机存储介质 - Google Patents
一种tcp报文转换方法、装置、系统及计算机存储介质 Download PDFInfo
- Publication number
- CN111782882A CN111782882A CN202010509110.6A CN202010509110A CN111782882A CN 111782882 A CN111782882 A CN 111782882A CN 202010509110 A CN202010509110 A CN 202010509110A CN 111782882 A CN111782882 A CN 111782882A
- Authority
- CN
- China
- Prior art keywords
- target data
- conversion
- converted
- tcp message
- tcp
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
- G06F16/8358—Query translation
-
- 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]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/22—Parsing or analysis of headers
Abstract
本发明公开一种TCP报文转换方法、装置、系统及计算机存储介质,包括以下步骤:获取待转换的TCP报文与多种目标数据格式之间的转换规则;接收待转换的TCP报文并进行解析,解析后输出中间数据对象;根据所述待转换的TCP报文与多种目标数据格式之间的转换规则将所述中间数据对象转换为至少一种目标数据格式的目标数据。采用本公开任一项方面的技术方案,可以将待转换的TCP报文转为多种不同数据格式的目标数据,提高TCP报文转化方法的兼容性,使之能够适用于多种业务场景。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种TCP报文转换方法、装置、系统及计算机存储介质。
背景技术
软件行业对于TCP报文的转换都是针对特定的通讯信息进行代码开发实现特定的格式转换。不同的通讯格式,就需要进行相应的结构数据转换的代码开发,存在重复开发以及因代码实现不规范,不正确而引入潜在bug的问题。
传统的报文转换技术兼容性比较差,存在针对性,如系统TCP通讯过程中采用XML数据结构,那么需开发对应的XML转换装置,缺少一种可以将TCP报文转为多种不同数据格式的技术。
发明内容
为了改善相关技术中的不足,本发明致力于提供一种TCP报文转换方法,包括以下步骤:
获取待转换的TCP报文与多种目标数据格式之间的转换规则;
接收待转换的TCP报文并进行解析,解析后输出的中间数据对象;
根据所述待转换的TCP报文与多种目标数据格式之间的转换规则将所述中间数据对象转换为至少一种目标数据格式的目标数据。
其中,所述转换规则通过图形化方式生成。
其中,获取待转换的TCP报文与多种目标数据格式之间的转换规则包括,从DB2数据库中获取所述待转换的TCP报文与多种目标数据格式之间的转换规则。
进一步的根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口。
其中,所述待转换的TCP报文经过socket处理获得。
本发明的第二方面提供一种TCP报文转换装置,包括:
TCP报文获取模块,用于获取待转换的TCP报文;
TCP报文解析模块,解析待转换的TCP报文输出中间数据对象;
转换模块,根据所述待转换的TCP报文与多种目标数据格式之间的转换规则将中间数据对象转换为至少一种目标数据格式的目标数据。
其中所述转换模块包括多个转换引擎,每个转换引擎可将中间数据对象转为一种目标数据格式的目标数据。
进一步还包括DB2数据库,用于存储待转换的TCP报文与多种目标数据格式的转换规则。
进一步的,包括发送模块,用于根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口。
本发明的第三方面提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法。
本发明的第四方面提供一种TCP报文转换系统,包括:
客户端,所述客户端通过图形化方式配置生成待转换的TCP报文与多种目标数据格式之间的转化规则;
DB2数据库,用于存储所述客户端发送的所述转换规则;
转换装置,所述转换装置读取所述转换规则,将待转换的TCP报文根据所述转换规则转换成至少一种格式的目标数据,并将所述目标数据发送给对应的服务接口。
采用本公开任一项方面的技术方案,可以将待转换的TCP报文转为多种不同数据格式的目标数据,提高TCP报文转化方法的兼容性,使之能够适用于多种业务场景。
附图说明
图1为本发明TCP报文转换过程示意图
图2为本发明TCP报文转换装置结构示意图
图3为本发明TCP报文转换系统结构示意图
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1:
以下借助图1对本实例的技术方案进行示意性说明,本实例TCP报文转换方法包括以下步骤:
步骤S101、获取待转换TCP报文与多种目标数据格式之间的转换规则;
其中所述待转换的TCP报文经过socket处理获得,多种目标数据格式可以包括各种应用使用的通讯数据格式,例如可以是XML格式,JSON格式,定长格式,变长格式,标准ISO8583格式,带命名空间XML格式,非标准XML格式等。
步骤S102、接收待转换的TCP报文并进行解析,解析后输出中间数据对象;
对待转换的TCP报文进行解析获取待转换的TCP报文中各字段的内容,根据转换需要将上述字段中的全部或者部分作为中间数据对象,中间数据对象可以自定义。其中解析过程中可以包括对本身规则的解析,检查加解密表达式,解析编码格式等内容,然后可以利用上述内容生成中间数据对象。
步骤S103、根据所述待转换的TCP报文与多种目标数据格式之间的转换规则将所述中间数据对象转换为至少一种目标数据格式的目标数据。
例如需要将待转换的TCP报文转换为XML格式的目标数据,转换规则为先截取TCP报文字节流前71位,将该71位解析为后续转换规则的唯一标识,其包含地区码,业务种类,业务单位,委托单位,渠道,交易码六要素,通过该唯一标识从缓存或数据库中查询出对应的转换规则,然后.检查该转换规则配置的编码格式(UTF-8,GBK等),按编码格式将报文字节流转换为文本信息。进一步的检查转换规则中是否配置加解密表达式或转码表达式,如有配置,按配置的表达式对TCP报文进行转码或解密。接着还可以检查该转换规则中配置的报文类型(以XML为例),如果报文类型为XML,则根据转换规则中定义的标签与中间对象变量的关系,读取报文中的XML标签,通过标签名去匹配中间对象变量,如有匹配的中间对象变量,则将该XML标签的值赋值到该中间对象变量中。
其中,所述转换规则通过图形化方式生成。
可由开发或运维人员在windows上的图形化客户端上新增或修改TCP报文TCP转换需要配置的信息,例如包括配置格转类型、编码格式、加解密表达式以及报文格式等。根据此图像化的配置生成转换规则。图形化的TCP报文转换配置无需代码开发,屏蔽报文格转部分繁琐的代码编写,极大的降低了应用的开发难度,可加快应用上线速度。
获取TCP报文与多种目标数据格式之间的转换规则包括,从DB2数据库中获取所述TCP报文与多种目标数据格式之间的转换规则。
转换规则经过图形化界面的各项配置生成后,可以由客户端发送给DB2数据库存储,该存储可以是永久性存储也可以非永久性存储,在进行转换时可以读取该DB2数据库中的转换规则,利用该转换规则将TCP报文转换需要的格式。
步骤S104、根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口进行处理。
在应用中需要跨系统或者平台的调用数据实现系统对接,为此需要将根据各个系统或者平台对数据的要求,将TCP报文数据转换为需要的目标格式的目标数据。然后以根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口进行处理。此处服务接口是指不同系统或者平台的接口。其中一种可行方式在图形化界面可以将不同类型的目标数据格式与相关的服务接口定义关联关系,该关联关系数据可以作为转换规则中的一部分内容随转换规则一起存储在DB2数据中,供转换时读取调用。也可以将该关联关系单独存储在DB2数据库中,在需要将目标数据发送给应用服务接口时读取调用。在本实施的一个具体实施例中该关联关系可以是一张关系表,例如目标数据格式1的目标数据对应与服务接口1,目标数据格式2的目标数据对应于服务接口2,转换引擎231用于将TCP报文转化为目标数据格式1的目标数据a,转换引擎232用于将TCP报文转换目标数据格式2的目标数据b,然后根据关联关系表将上述目标数据a发送给服务接口1,将目标数据b发送给服务接口b。
本实施例可以定义目标数据与服务接口的关系,使得转换后的目标数据通过接口服务择优分发到相应的服务接口进行业务的处理。通过该接口服务治理可以让本实施例与接入的业务系统无缝衔接在一起。
实施例2
如图2所示,本实施例提供一种TCP报文转换装置2,包括:
TCP报文获取模块21,用于获取待转换的TCP报文;其中所述待转换的TCP报文经过socket组件4处理获得,多种目标数据格式可以包括各种应用使用的通讯数据格式,例如可以是XML格式,,JSON格式,定长格式,变长格式,标准ISO8583格式,带命名空间XML格式,非标准XML格式等。
TCP报文解析模块22,解析待转换的TCP报文;
对待转换的TCP报文进行解析获取待转换的TCP报文中各字段的内容,根据转换需要将上述字段中的全部或者部分作为中间数据对象,中间数据对象可以自定义。其中解析过程中可以包括对本身规则的解析,检查加解密表达式,解析编码格式等内容,然后可以利用上述内容生成中间数据对象。
转换模块23,根据所述TCP报文与多种目标数据格式之间的转换规则将解析模块22解析后生成中间数据对象转换为至少一种目标数据格式的目标数据。
例如需要将待转换的TCP报文转换为XML格式的目标数据,转换规则为先截取TCP报文字节流前71位,将该71位解析为后续转换规则的唯一标识,其包含地区码,业务种类,业务单位,委托单位,渠道,交易码六要素,通过该唯一标识从缓存或数据库中查询出对应的转换规则,然后.检查该转换规则配置的编码格式(UTF-8,GBK等),按编码格式将报文字节流转换为文本信息。进一步的检查转换规则中是否配置加解密表达式或转码表达式,如有配置,按配置的表达式对TCP报文进行转码或解密。接着还可以检查该转换规则中配置的报文类型(以XML为例),如果报文类型为XML,则根据转换规则中定义的标签与中间对象变量的关系,读取报文中的XML标签,通过标签名去匹配中间对象变量,如有匹配的中间对象变量,则将该XML标签的值赋值到该中间对象变量中。
其中所述转换模块23包括多个转换引擎231(232……23n),每个转换引擎231可将解析后的TCP报文转为一种目标数据格式的目标数据。
转换模块23中集成多种报文转换引擎231,每个转换引擎231中转换规则由图形化用户界面的配置生成,例如TCP报文协议转换为XML数据接口目标数据时,在图形化界面中配置取值方式、内部变量、外部报文路径、描述、父节点、数据类型和域值处理等。其中取值方式包括变量,表达式,枚举,子报文,子格转,循环域等;数据类型包括字符串,整型,数组,字节,高精度浮点数等。
取值方式用于指定以何种方式处理该部分报文的值,内部变量指该部分报文赋值给具体哪个中间数据对象变量,外部报文路径是指从报文中什么位置获取值,父节点是指循环域取值方式时,该变量的最外层节点,数据类型是指该报文中的数据转换的中间对象变量的数据类型,域值处理是指报文中的数据赋值于中间对象后,这些数据需要的处理,具体如报文格式为“<ROOT><stddate>20200422<stddate></ROOT>”,取值方式设置选择变量,内部变量可设置为date,外部报文路径设置为ROOT.stddate,数据类型选择为字符串,其他不做设置,即可将该报文中的数据转换为一个字符串类型的日期变量传递到系统中,通过上述规则将TCP报文转换为XML结构的数据。
本实施例中转换装置2还包括DB2数据库24,用于存储TCP报文与多种目标数据格式的转换规则。
进一步的,包括发送模块25,用于根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口3。
本实施中在图形化界面可以将不同类型的目标数据格式与相关的服务接口3定义关联关系,该关联关系数据可以作为转换规则中的一部分内容随转换规则一起存储在DB2数据24中,供转换时读取调用。也可以将该关联关系单独存储在DB2数据库24中,在需要将目标数据发送给应用服务接口3时读取调用。在本实施的一个具体事例中该关联关系可以是一张关系表,例如目标数据格式1的目标数据对应与服务接口31,目标数据格式2的目标数据对应于服务接口32,转换引擎231用于将TCP报文转化为目标数据格式1的目标数据a,转换引擎232用于将TCP报文转换目标数据格式2的目标数据b,然后根据关联关系表将上述目标数据a发送给服务接口31,将目标数据b发送给服务接口32。
本实施例可以定义目标数据与服务接口30的关系,使得转换后的目标数据通过服务接口30择优分发到相应的服务接口30进行业务的处理。通过该服务接口治理可以让本实施例与接入的业务系统无缝衔接在一起。
实施例3
本发明的第三方面提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
实施例4
本实施例提供一种TCP报文转换系统,包括:
客户端1,所述客户端1通过图形化方式配置生成TCP报文与多种目标数据格式之间的转化规则。客户端1可以是应用界面或者APP,例如该客户端可以运行在电脑、Pad、移动终端以及专用电子设备,呈现出图像配置界面,无需任何代码的改动,避免开发人员不规范的开发带入新BUG的风险。
DB2数据库24,用于存储所述客户端1发送的所述转换规则;
转换装置2,所述转换装置2读取所述转换规则,将TCP报文根据所述转换规则转换成至少一种目标数据格式的目标数据,并将所述目标数据发送给对应的服务接口3。
本实施中在图形化界面还可以将不同类型的目标数据格式与相关的服务接口3定义关联关系,该关联关系数据可以作为转换规则中的一部分内容随转换规则一起存储在DB2数据24中,供转换时读取调用。也可以将该关联关系单独存储在DB2数据库24中,在需要将目标数据发送给应用服务接口3时读取调用。在本实施的一个具体事例中该关联关系可以是一张关系表,例如目标数据格式1的目标数据对应与服务接口31,目标数据格式2的目标数据对应于服务接口32,转换引擎231用于将TCP报文转化为目标数据格式1的目标数据a,转换引擎232用于将TCP报文转换目标数据格式2的目标数据b,然后根据关联关系表将上述目标数据a发送给服务接口31,将目标数据b发送给服务接口32。
采用本公开任一项方面的技术方案,可以将TCP报文转换为多种不同格式的目标数据,提高TCP报文转化的多样性,能够适用于多种业务场景。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种TCP报文转换方法,其特征在于,包括以下步骤:
获取待转换的TCP报文与多种目标数据格式之间的转换规则;
接收待转换的TCP报文并进行解析,解析后输出中间数据对象;
根据所述待转换的TCP报文与多种目标数据格式之间的转换规则将所述中间数据对象转换为至少一种目标数据格式的目标数据。
2.根据权利要求1所述的TCP报文转换方法,其特征在于:所述转换规则通过图形化方式生成。
3.根据权利要求1所述的TCP报文转换方法,其特征在于:其中获取待转换的TCP报文与多种目标数据格式之间的转换规则包括,从DB2数据库中获取所述待转换的TCP报文与多种目标数据格式之间的转换规则。
4.根据权利要求1所述的TCP报文转换方法,其特征在于:根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口。
5.一种TCP报文转换装置,其特征在于,包括:
TCP报文获取模块,用于获取待转换的TCP报文;
TCP报文解析模块,将待转换的TCP报文解析为中间数据对象;
转换模块,根据所述待转换的TCP报文与多种目标数据格式之间的转换规则将中间数据对象转换为至少一种目标数据格式的目标数据。
6.根据权利要求5所述的TCP报文转换装置,其特征在于:所述转换模块包括多个转换引擎,每个转换引擎可将中间数据对象转为一种目标数据格式的目标数据。
7.根据权利要求5所述的TCP报文转换装置,其特征在于:还包括DB2数据库,用于存储待转换的TCP报文与多种目标数据格式的转换规则。
8.根据权利要求5所述的TCP报文转换装置,其特征在于:包括发送模块,用于根据目标数据格式的类别将转换得到的目标数据发送给对应服务接口。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的方法。
10.一种TCP报文转换系统,其特征在于,包括:
客户端,所述客户端通过图形化方式配置生成待转换的TCP报文与多种目标数据格式之间的转化规则;
DB2数据库,用于存储所述客户端发送的所述转换规则;
转换装置,所述转换装置读取所述转换规则,将待转换的TCP报文根据所述转换规则转换成至少一种目标数据格式的目标数据,并将所述目标数据发送给对应的服务接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010509110.6A CN111782882A (zh) | 2020-06-07 | 2020-06-07 | 一种tcp报文转换方法、装置、系统及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010509110.6A CN111782882A (zh) | 2020-06-07 | 2020-06-07 | 一种tcp报文转换方法、装置、系统及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782882A true CN111782882A (zh) | 2020-10-16 |
Family
ID=72754049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010509110.6A Pending CN111782882A (zh) | 2020-06-07 | 2020-06-07 | 一种tcp报文转换方法、装置、系统及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782882A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190055A (zh) * | 2022-07-08 | 2022-10-14 | 武汉众邦银行股份有限公司 | 一种tcp报文定制化转换方法、装置及存储介质 |
-
2020
- 2020-06-07 CN CN202010509110.6A patent/CN111782882A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190055A (zh) * | 2022-07-08 | 2022-10-14 | 武汉众邦银行股份有限公司 | 一种tcp报文定制化转换方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460223B (zh) | 一种api网关管理系统及其方法 | |
US8375094B2 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
US20030163603A1 (en) | System and method for XML data binding | |
US20050114405A1 (en) | Flat file processing method and system | |
US20010039540A1 (en) | Method and structure for dynamic conversion of data | |
EP1676210B1 (en) | Method and apparatus for handling text and binary mark up languages in a computing device | |
CN105337968A (zh) | 一种跨平台通讯协议代码的转换方法及其系统 | |
CN101631261B (zh) | 信令跟踪方法、信令跟踪后台装置及跟踪系统 | |
KR20000011278A (ko) | 네트워크에서멀티바이트문자를전송하기위한방법,장치및제품 | |
CN114331416A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、系统、电子设备和介质 | |
CN113434175A (zh) | 数据处理方法、装置、存储介质及设备 | |
WO2008156640A2 (en) | A method and apparatus for encoding data | |
CN110830466B (zh) | 一种基于xml的dl/t645规约报文的组帧方法及装置 | |
CN111782882A (zh) | 一种tcp报文转换方法、装置、系统及计算机存储介质 | |
CN113660307B (zh) | 一种算法综合集成服务系统 | |
CN114490889A (zh) | 配置信息处理方法、装置、设备、介质及程序产品 | |
CN110839022A (zh) | 一种基于xml语言的车载控制软件通信协议解析方法 | |
CN105024923B (zh) | 基于xmpp扩展消息的消息分类实现的方法及装置 | |
CN105793842B (zh) | 序列化消息之间的转换方法和装置 | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
CN101655797B (zh) | 含有描述信息的构件及函数库的构建方法 | |
US20230214577A1 (en) | Character string transmission method and device, computer, and readable storage medium | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
CN113742294A (zh) | 一种asn.1-per信令消息解码方法、系统、装置及介质 |
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 |