CN113765872A - 一种自适应数据格式转换适配的方法和系统 - Google Patents

一种自适应数据格式转换适配的方法和系统 Download PDF

Info

Publication number
CN113765872A
CN113765872A CN202011096678.6A CN202011096678A CN113765872A CN 113765872 A CN113765872 A CN 113765872A CN 202011096678 A CN202011096678 A CN 202011096678A CN 113765872 A CN113765872 A CN 113765872A
Authority
CN
China
Prior art keywords
protocol
tree structure
configuration
packet
field
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.)
Granted
Application number
CN202011096678.6A
Other languages
English (en)
Other versions
CN113765872B (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.)
Tianyi Digital Life Technology Co Ltd
Original Assignee
Tianyi Smart Family Technology Co 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 Tianyi Smart Family Technology Co Ltd filed Critical Tianyi Smart Family Technology Co Ltd
Priority to CN202011096678.6A priority Critical patent/CN113765872B/zh
Publication of CN113765872A publication Critical patent/CN113765872A/zh
Application granted granted Critical
Publication of CN113765872B publication Critical patent/CN113765872B/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/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种用于自适应数据格式转换适配的方法和系统。方法包括:基于源数据包的配置来将所述源数据包解析为第一树形结构,其中所述源数据包具有第一数据格式;基于预设的树形结构转换配置来将所述第一树形结构转换为第二树形结构;以及基于目标数据包的配置来将所述第二树形结构组装为所述目标数据包,其中所述目标数据包具有第二数据格式。

Description

一种自适应数据格式转换适配的方法和系统
技术领域
本发明涉及IT与软件开发领域,更具体地,涉及用于自适应数据格式转换适配的方法和系统。
背景技术
针对软件开发中支撑多种业务流程的协议接入需求,每个业务系统所遵循的行业规范、定制的服务接口协议规约、以及采用技术方案各不相同,导致每一个接口组合的(南向+北向)通信协议和数据格式均存在差异。
当前主流服务总线ESB产品面向应用制定统一的接口协议规范或通过定制化的协议适配改造实现协议统一。制定统一的接口协议规范通过规范化的协议标准封装应用服务,并实现通信接入、消息处理和路由,存在规范较为死板,常常无法适应不断扩展的通信协议和数据格式。而采用定制化的协议适配改造造成开发工作量较大,配置不灵活,上线周期长。每新增一种协议数据格式时,就要对应性开发一套完备的格式转换关系,开发周期长,难度大,开发人员需先完全了解协议格式和内容。
中国专利申请“一种采用VBA快速完成智慧建筑多协议适配工程模板的方法”(CN107864152A)中是使用VBA脚本在excel文档内适配不同协议格式的数据,而并非是基于业务实时交易过程使用的数据基础上做的数据格式解析、转换和组装。
中国专利申请“一种智能表库的多协议适配控制方法及系统”(CN104298196A)在数据库中预设各种设备的上行控制指令,通过将指令发送到协议转换装置实现指令和真实设备控制命令的转化。不同厂家的控制命令是不一致的,该专利实现将这种控制命令转换到标准化结构数据,而控制命令的编码都是较为简单一串字符组成,这种字符一般就是命令码。
因此,为了提高开发效率,减少每次协议转换的开发时间和开发难度,希望提供一种改进的自适应数据格式转换适配的方法。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步的描述一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明提出基于树形结构的自适应多协议数据格式适配的方法,用于快速支撑多协议多数据格式的解析和组装处理。通过根据协议数据的层次关系进行分层解耦,解耦形成协议树的中间态。由于树形结构有利于清晰表达节点之间的关系,且简单易懂,因此选取协议树作为中间态。同时,协议树的划分规则考虑到协议本身的格式要求和报文内容,建立了协议树的分层方法。该树形结构根据格式适配原则,将通信服务端和通信客户端的请求报文和应答报文进行转换,该方法可最有效表示报文的层级结构,有利于快速简易转换过程,大大缩短开发时间。
根据本发明的一个方面,提供了一种用于自适应数据格式转换适配的方法,其中所述方法包括:
基于源数据包的配置来将所述源数据包解析为第一树形结构,其中所述源数据包具有第一数据格式;
基于预设的树形结构转换配置来将所述第一树形结构转换为第二树形结构;以及
基于目标数据包的配置来将所述第二树形结构组装为所述目标数据包,其中所述目标数据包具有第二数据格式。
根据本发明的一个实施例,所述解析是通过将源数据包中的字段抽象成配置并且依照父子字段关联所有信息来实现的。
根据本发明的进一步实施例,所述目标数据包的配置包括能力字段信息配置,所述能力字段信息配置包括字段名称、字段ID、父亲字段ID、字段类型以及所述字段是否为属性字段。
根据本发明的进一步实施例,所述组装是通过以下操作来实现的:从所述第二树形结构的树节点开始,根据所述树节点上的ID从所述能力字段信息配置中获得对应的ID的具体配置,根据所述配置组装字段名称、字段类型以及该字段是否为属性字段。
根据本发明的进一步实施例,所述方法进一步包括:根据目标协议信息,在所述目标数据包的基础上,将所述目标协议需要的额外信息拼接到所述目标数据包内以实现多协议的定制化。
根据本发明的进一步实施例,所述将第一树形结构转换为第二树形结构进一步包括:
基于所述树形结构转换配置从所述第一树形结构上依次序找到叶节点;以及
根据对应的目标结构来构造出第二树形结构。
根据本发明的另一方面,提供了一种用于自适应数据格式转换适配的系统,其中所述系统包括:
协议适配组件,用于基于源数据包的配置来将所述源数据包解析为第一树形结构,其中所述源数据包具有第一数据格式;
协议结构变换组件,用于基于预设的树形结构转换配置来将所述第一树形结构转换为第二树形结构;以及
协议构造组件,用于基于目标数据包的配置来将所述第二树形结构组装为所述目标数据包,其中所述目标数据包具有第二数据格式。
根据本发明的一个实施例,所述协议结构变换组件被进一步配置成:根据目标协议信息,在所述目标数据包的基础上,将所述目标协议需要的额外信息拼接到所述目标数据包内以实现多协议的定制化。
根据本发明的进一步实施例,所述源数据包基于以下协议中的一种:
WS协议、HTTP协议、Socket协议、Tuxedo协议或DCC协议。、
根据本发明的进一步实施例,所述第二数据格式是以下格式中的一种:
XML格式、JSON格式、Tuxedo-FML32格式、DCC格式或自定义格式的字符串。
与现有技术中的方案相比,本发明所提供的自适应数据格式转换适配的方法和系统至少具有以下优点:
(1)形成自解耦服务端至客户端模块内的通信协议和数据格式处理环节的快速适配,支撑业务推广以及项目推广;
(2)支持消息数据深度解析的层次,允许选择对指定数据(甚至整个消息数据)不做解析直接透传;
(3)统一的协议适配树结构能够快速适配数据格式要求,某些协议实际上也是一种数据格式,也可以快速适配。该协议转换方式有助于实现不同协议的快速转换,特别对于开发能力较弱的技术人员,通过该转换方法可以快速复制实现通用协议的转换流程。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图说明
为了能详细地理解本发明的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本发明的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。
图1是根据本发明的一个实施例的用于自适应数据格式转换适配的系统的示例架构图。
图2a-2g是根据本发明的一个实施例的用于自适应数据格式转换适配的方法的流程图。
图3是根据本发明的一个实施例的总线系统的协议适配树结构示意图。
具体实施方式
下面结合附图详细描述本发明,本发明的特点将在以下的具体描述中得到进一步的显现。
图1是根据本发明的一个实施例的用于自适应数据格式转换适配的系统100的示例架构图。如图1所示,本发明的系统100包括:通信服务端101、数据格式转换模块102、以及通信客户端103。通信服务端101被配置成向数据格式转换模块102传送源数据包或者从数据格式转换模块102接收目标数据包。通信客户端103经由数据格式转换模块102与通信服务端101通信地耦合,并且被配置成从数据格式转换模块102接收目标数据包或向数据格式转换模块102传送源数据包。数据格式转换模块102被配置成:接收源数据包;将源数据包的数据格式转化为平台的配置格式;基于源数据包的预设配置来将该源数据包转换为第一树形结构;基于预设的树形结构转换配置来将第一树形结构转换为第二树形结构;基于目标数据包的预设配置(例如,能力字段信息配置)来将第二树形结构转换为目标数据包;以及传送目标数据包。可任选地,数据格式转换模块102可被进一步配置成根据提供者的目标协议信息,在所述目标数据包的基础上,将所述目标协议需要的额外信息拼接到所述目标数据包内以实现多协议的定制化。
本领域技术人员能够理解,数据格式转换模块102可以实现在通信服务端101或通信客户端103上或者可以与通信服务端101或通信客户端103分开地实现。通过该数据格式转换模块102可以实现将通信服务端101的请求报文和应答报文、通信客户端103的请求报文和应答报文都转化成内部结构定义(协议适配树),解耦服务端以及客户端模块内的通信协议和数据格式处理环节。
图2a是根据本发明的一个实施例的用于自适应数据格式转换适配的方法200的流程图。
方法开始于步骤201,将源数据包的数据格式转化为平台的配置格式表达。作为一个示例,源数据包的数据格式为<A><B C=“123”/><B C=“123”/></A>,则根据数据包示例将字段抽象成配置,得到平台的对应配置如下:
字段名称 字段ID 父亲字段ID 类型
A 1 0 GROUP
B 2 1 String
C 3 2 String
在步骤202,基于该配置来将源数据包转换为第一树形结构。所谓树形结构就是按照配置将数据包变成如图2b或图2c所示的结构。图2b示出了单组层次结构表达的示例,其中节点名称为A[1].B[1].C[1],符号“.”表示普通层间隔符,符号“1”表示有且仅有一个(例如B[1]表示该层有且仅有一个B节点)。图2c示出了多组复杂层次结构表达的示例,其中节点名称为A[1].B[*].C[*].D[1],“*”表示多个(例如,B[*]表示该层含有多个B节点)。
作为一个示例,以下解说了基于HTTP协议的JSON数据格式解析的示例,源报文数据如下所示:
Figure BDA0002723992140000051
Figure BDA0002723992140000061
经过协议流程将不需要的内容全部去除,留下以下需要解析的部分数据:
Figure BDA0002723992140000062
Figure BDA0002723992140000071
随后根据配置解析后,变为如图2d所示的树形结构。
在步骤203,基于预设的树形结构转换配置来将第一树形结构转换为第二树形结构。作为一个示例,树形结构转换配置如下:
<source>A[1].B[1].C[1]</source>
<target>AA[1].DD[1]</targer>
依照配置从第一树形结构上依次序找到C节点,找到后,再根据target构造出第二树形结构。在构造的过程中如果遇到节点关系为*的,则每次到达处理该节点时,都会新构造该节点,如果非*,则先找该节点,节点存在不会构造,不存在才会构造。树形结构变化如图2e所示。
作为另一示例,如图2d所示的JSON的树形结构根据以下多条转换规则配置被转换为如图2f所示的树形结构。
Figure BDA0002723992140000081
在步骤204,基于预设的能力字段信息配置来将第二树形结构转换为目标数据包。构造的过程就是先从树节点开始,根据树节点上的ID找该ID的具体配置,根据配置组装字段名称、字段的类型以及该字段是否为属性字段。作为一个示例,如图2f所示的树形结构根据以下配置被转换为XML数据。
字段名称 字段ID 父亲字段ID 类型 是否为属性
S:Envelope 1 0 GROUP N
S:Body 2 1 GROUP N
ns2:CommQryInstantFee 3 2 GROUP N
svcObjectStruct 4 3 GROUP N
dataArea 5 4 String N
queryItemType 6 3 String N
operAttrStruct 7 3 GROUP N
lanId 8 7 String N
转换成的XML数据如下:
Figure BDA0002723992140000082
Figure BDA0002723992140000091
在步骤205,根据提供者的协议信息,在此目标数据包的基础上,将协议需要的额外信息拼接到数据包内,实现多协议的定制化。
最后,在图2g中示出了关于JSON数据转换成XML数据的示例的完整的时序图。JSON数据首先被解析为JSON的树形结构,随后基于树形结构转换配置被转换为XML的树形结构,并且随后被组装成XML数据。
图3是根据本发明的一个实施例的总线系统的协议适配树结构300的示意图。
如图3所示,通过本发明的方法可以将需要适配的协议按照适配树结构通过协议适配组件、协议结构变换组件以及协议构造组件来进行树结构适配和处理。需要适配的协议包括例如WS协议、HTTP协议、Socket协议、Tuxedo协议和DCC协议等。协议适配组件被配置成根据协议逻辑,将协议分解为协议头、协议体等分层协议树,通过协议树表现不同节点之间的逻辑关系,将复杂的数据结构解耦为标准化协议树。随后通过协议结构变换组件基于转换规则配置来进行树结构变换。协议构造组件被配置成在变换之后,基于预设的能力字段信息配置来进行标准化组装,从而实现协议的标准化转换,所转换成的数据格式可包括但不限于XML格式、JSON格式、Tuxedo-FML32格式、DCC格式和自定义格式的字符串等。
以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。

Claims (10)

1.一种用于自适应数据格式转换适配的方法,其特征在于,所述方法包括:
基于源数据包的配置来将所述源数据包解析为第一树形结构,其中所述源数据包具有第一数据格式;
基于预设的树形结构转换配置来将所述第一树形结构转换为第二树形结构;以及
基于目标数据包的配置来将所述第二树形结构组装为所述目标数据包,其中所述目标数据包具有第二数据格式。
2.如权利要求1所述的方法,其特征在于,所述解析是通过将源数据包中的字段抽象成配置并且依照父子字段关联所有信息来实现的。
3.如权利要求1所述的方法,其特征在于,所述目标数据包的配置包括能力字段信息配置,所述能力字段信息配置包括字段名称、字段ID、父亲字段ID、字段类型以及所述字段是否为属性字段。
4.如权利要求3所述的方法,其特征在于,所述组装是通过以下操作来实现的:从所述第二树形结构的树节点开始,根据所述树节点上的ID从所述能力字段信息配置中获得对应的ID的具体配置,根据所述配置组装字段名称、字段类型以及该字段是否为属性字段。
5.如权利要求1所述的方法,其特征在于,所述方法进一步包括:根据目标协议信息,在所述目标数据包的基础上,将所述目标协议需要的额外信息拼接到所述目标数据包内以实现多协议的定制化。
6.如权利要求1所述的方法,其特征在于,所述将第一树形结构转换为第二树形结构进一步包括:
基于所述树形结构转换配置从所述第一树形结构上依次序找到叶节点;以及
根据对应的目标结构来构造出第二树形结构。
7.一种用于自适应数据格式转换适配的系统,其特征在于,所述系统包括:
协议适配组件,用于基于源数据包的配置来将所述源数据包解析为第一树形结构,其中所述源数据包具有第一数据格式;
协议结构变换组件,用于基于预设的树形结构转换配置来将所述第一树形结构转换为第二树形结构;以及
协议构造组件,用于基于目标数据包的配置来将所述第二树形结构组装为所述目标数据包,其中所述目标数据包具有第二数据格式。
8.如权利要求7所述的系统,其特征在于,所述协议结构变换组件被进一步配置成:根据目标协议信息,在所述目标数据包的基础上,将所述目标协议需要的额外信息拼接到所述目标数据包内以实现多协议的定制化。
9.如权利要求7所述的系统,其特征在于,所述源数据包基于以下协议中的一种:
WS协议、HTTP协议、Socket协议、Tuxedo协议或DCC协议。
10.如权利要求7所述的系统,其特征在于,所述第二数据格式是以下格式中的一种:
XML格式、JSON格式、Tuxedo-FML32格式、DCC格式或自定义格式的字符串。
CN202011096678.6A 2020-10-14 2020-10-14 一种自适应数据格式转换适配的方法和系统 Active CN113765872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011096678.6A CN113765872B (zh) 2020-10-14 2020-10-14 一种自适应数据格式转换适配的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011096678.6A CN113765872B (zh) 2020-10-14 2020-10-14 一种自适应数据格式转换适配的方法和系统

Publications (2)

Publication Number Publication Date
CN113765872A true CN113765872A (zh) 2021-12-07
CN113765872B CN113765872B (zh) 2023-10-24

Family

ID=78785962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011096678.6A Active CN113765872B (zh) 2020-10-14 2020-10-14 一种自适应数据格式转换适配的方法和系统

Country Status (1)

Country Link
CN (1) CN113765872B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858686A (zh) * 2023-02-17 2023-03-28 美云智数科技有限公司 树形数据同步方法及其同步流转模型、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007384A (ja) * 2000-06-20 2002-01-11 Dainippon Screen Mfg Co Ltd 構造化文書の変換
CN101782924A (zh) * 2009-01-19 2010-07-21 索尼公司 信息处理方法、信息处理设备和程序
EP2273724A1 (en) * 2009-07-10 2011-01-12 Siemens Aktiengesellschaft An arrangement and a method to transfer data in a network using a tree structure format
CN104270257A (zh) * 2014-09-10 2015-01-07 烽火通信科技股份有限公司 基于pb和xpath的网元级网管业务配置适配系统及方法
CN107222461A (zh) * 2017-05-04 2017-09-29 中国联合网络通信集团有限公司 通信处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007384A (ja) * 2000-06-20 2002-01-11 Dainippon Screen Mfg Co Ltd 構造化文書の変換
CN101782924A (zh) * 2009-01-19 2010-07-21 索尼公司 信息处理方法、信息处理设备和程序
EP2273724A1 (en) * 2009-07-10 2011-01-12 Siemens Aktiengesellschaft An arrangement and a method to transfer data in a network using a tree structure format
CN104270257A (zh) * 2014-09-10 2015-01-07 烽火通信科技股份有限公司 基于pb和xpath的网元级网管业务配置适配系统及方法
CN107222461A (zh) * 2017-05-04 2017-09-29 中国联合网络通信集团有限公司 通信处理方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858686A (zh) * 2023-02-17 2023-03-28 美云智数科技有限公司 树形数据同步方法及其同步流转模型、电子设备和介质
CN115858686B (zh) * 2023-02-17 2023-06-30 美云智数科技有限公司 树形数据同步方法及其同步流转模型、电子设备和介质

Also Published As

Publication number Publication date
CN113765872B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
US9418052B2 (en) Method and apparatus for web service schema management
EP3893436B1 (en) Coap-based opc ua message transmission method, and server
CN110933146B (zh) 一种数据转换方法、装置和服务器
US8161468B2 (en) Processing of expressions
US10666718B2 (en) Dynamic data transport between enterprise and business computing systems
US6697967B1 (en) Software for executing automated tests by server based XML
US7934252B2 (en) Filtering technique for processing security measures in web service messages
CN101341724B (zh) 用于传送消息的系统和方法
CN108337236A (zh) 一种基于Protobuf和HTTP/1.1的gRPC调用方法及装置
CN105573760A (zh) 基于storm的物联网数据处理系统及方法
US10887415B1 (en) Common agnostic data exchange systems and methods
CN113486629A (zh) 用于对接第三方系统的企业服务总线的应用方法和系统
CN114172979A (zh) 一种报文解析方法、平台、网关及存储介质
CN113765872B (zh) 一种自适应数据格式转换适配的方法和系统
WO2013107143A1 (zh) 接口参数传输方法和装置
CN109600381B (zh) 一种接口适配方法、装置及系统
CN117278661B (zh) 一种工业物联网多协议解析方法及系统
CN107222461A (zh) 通信处理方法和装置
CN111343201A (zh) 一种快速适配协议变更的解析方法、装置及系统
CN109818926A (zh) 一种无需预先规划的通信方法
CN113347195A (zh) 一种物联网设备通信协议包动态挂载系统及方法
CN116156012B (zh) 通用的异构物联网设备标准化接入和数据解析系统与方法
CN109672732B (zh) 一种接口适配方法、装置及系统
JP2009265718A (ja) ネットワーク管理情報の差分データのみを送信するネットワーク装置、サーバ、プログラム及び方法
US20140215011A1 (en) Message exchange via generic tlv generator and parser

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
TA01 Transfer of patent application right

Effective date of registration: 20220207

Address after: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200072

Applicant after: Tianyi Digital Life Technology Co.,Ltd.

Address before: 201702 3rd floor, 158 Shuanglian Road, Qingpu District, Shanghai

Applicant before: Tianyi Smart Family Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant