CN114025026A - 基于xml数据描述的面向数据分发服务的收发方法和装置 - Google Patents
基于xml数据描述的面向数据分发服务的收发方法和装置 Download PDFInfo
- Publication number
- CN114025026A CN114025026A CN202111245562.9A CN202111245562A CN114025026A CN 114025026 A CN114025026 A CN 114025026A CN 202111245562 A CN202111245562 A CN 202111245562A CN 114025026 A CN114025026 A CN 114025026A
- Authority
- CN
- China
- Prior art keywords
- data
- distribution service
- receiving
- xml
- stream
- 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
-
- 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/22—Parsing 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
本发明提供了一种基于XML数据描述的面向数据分发服务的收发方法和装置,该方法采用XML形式描述自定义数据结构,确定待发布订阅数据的成员信息;通过XML数据描述解析模块提取数据分发服务中创建主题所需的相关字节数据流信息和反序列化数据流所需的数据成员信息;利用数据分发服务中内置字节流类型接口创建可变长字节数据流的收发实体,并封装成简化的通用接口,与XML数据描述解析模块结合使用,实现自定义数据类型的发布订阅,降低了数据分发服务使用的复杂度,提高了数据结构类型的灵活性和数据收发效率。
Description
技术领域
本发明属于数据传输技术领域,尤其涉及一种基于XML数据描述的面向数据分发服务的收发方法和装置。
背景技术
数据分发服务是一种分布式的数据传输中间件技术,能够在以网络和数据为中心的体系结构中,满足对信息交互的实时性和动态灵活性要求;信息交互由消息模式抽象到层次更高的以数据为中心的发布/订阅模式,有效的实现了相关系统之间的松耦合关系,使应用系统具备适应分布式、异构环境下的动态扩展性、互操作性和可移植性的能力。
现有的基于数据分发服务的应用,主要是实现特定类型数据结构的收发。实现方式是预先编写数据结构的IDL文件,调用相应数据分发服务的IDL解析器,生成特定数据结构的类型化接口文件;通过生成的类型化接口创建主题和数据写者/数据读者实体,利用与主题数据类型关联的数据写者/数据读者实现特定类型数据的收发。
现有数据收发服务一定程度上增加了使用数据分发服务的复杂度,降低了应用的灵活性,同时对特定数据结构类型的序列化和反序列化也降低了数据收发的效率。
发明内容
本发明实施例提供一种基于XML数据描述的面向数据分发服务的收发方法和装置,解决现有数据收发服务收发方式复杂度高、灵活性低、收发效率低的问题。
本发明实施例一方面提供一种基于XML数据描述的面向数据分发服务的收发方法,应用于基于XML数据描述的面向数据分发服务的收发系统中的数据发方,所述方法包括:
确定待发布数据成员的信息;
采用预设的XML数据格式描述文件,根据待发布数据成员的信息,生成待发布字节流;
通过预设通用接口发送待发布字节流。
可选的,所述通过预设通用接口发送待发布字节流,包括:
根据所述待发布字节流的主题,通过预设通用接口将所述待发布字节流发送至所述收发系统中的订阅所述主题的数据收方。
本发明还提供一种基于XML数据描述的面向数据分发服务的收发方法,应用于基于XML数据描述的面向数据分发服务的收发系统中的数据收方,所述方法包括:
通过预设通用接口接收字节流;
采用预设的XML数据格式描述文件,解析所述字节流,得到发布的数据成员的信息。
可选的,所述通过预设通用接口接收字节流,包括:
通过预设通用接口,接收订阅的主题的字节流。
本发明再一方面还提供一种基于XML数据描述的面向数据分发服务的收发装置,作为基于XML数据描述的面向数据分发服务的收发系统中的数据发方,所述装置包括:
XML数据描述解析模块,用于确定待发布数据成员的信息,采用预设的XML数据格式描述文件,根据待发布数据成员的信息,生成待发布字节流;
可变长数据流数据分发服务模块,用于通过预设通用接口发送待发布字节流。
可选的,所述可变长数据流数据分发服务模块,具体用于根据所述待发布字节流的主题,通过预设通用接口将所述待发布字节流发送至所述收发系统中的订阅所述主题的数据收方。
本发明再一方面还提供一种基于XML数据描述的面向数据分发服务的收发装置,作为基于XML数据描述的面向数据分发服务的收发系统中的数据收方,包括:
可变长数据流数据分发服务模块,用于通过预设通用接口接收字节流;
XML数据描述解析模块,用于采用预设的XML数据格式描述文件,解析所述字节流,得到发布的数据成员的信息。
可选的,所述可变长数据流数据分发服务模块具体用于,通过预设通用接口,接收订阅的主题的字节流。
本发明提供一种基于XML数据描述的面向数据分发服务的收发方法和装置,对数据分发服务中字节数据流收发和数据流表达与解析进行分离,:以数据分发服务中的内置字节流类型接口实现可变长字节数据流的发布/订阅,利用方便可配置的XML数据描述方法实现字节数据流的表达和解析,实现能够以通用的数据收发方法支持用户自定义数据类型的数据分发服务,降低了数据分发服务使用的复杂度,,提高了数据结构类型的灵活性和数据收发效率。效果良好,值得推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有数据分发服务的收发的示意图;
图2是本发明提供的基于XML数据描述的面向数据分发服务的收发的示意图;
图3是本发明提供的XML数据描述解析模块的收据发的示意图;
图4是本发明提供的XML数据描述解析模块的收据收的示意图;
图5是本发明提供的可变长字节数据流数据分发服务模块的示意图。
具体实施方式
下面结合附图对本发明提供的基于XML数据描述的面向数据分发服务的收发方法进行解释说明。
图1为常规的数据分发服务实现数据收发的方法,数据收方和发方对于需要传输的文件,都需首先确定其待发送的主题,确定待发送的主题所使用的数据类型,进而使用工具生成自定义数据类型的接口文件来完成数据收发实体的创建,采用创建的数据收发实体来进行主题的发送和接收,当收方和/或发方需要发送/接收多种数据类型的数据时,需要为每一种数据类型创建对应的数据收发实体,灵活度和扩展性较差;而且用户自定义数据发送时需要数据写者完成数据流序列的转化,接收时需要数据读者完成数据流序列的解析,数据传输效率较低。
为解决上述问题,本发明提供了一种基于XML数据描述的面向数据分发服务的收发方法,对数据分发服务中数据流收发和数据解析进行分离,以数据分发服务中的内置字节类型接口实现可变长数据流的发布/订阅,利用方便可配置的XML数据描述方法实现数据流的表达和解析,实现能够以通用的数据收发方法支持用户自定义数据类型的数据分发服务。
示例性的,本发明提供的基于XML数据描述的面向数据分发服务的收发方法实施的整体结构如图2,核心技术思想体现在XML数据描述解析模块和可变长字节数据流数据分发服务模块,XML数据描述解析模块工作于可变长字节数据流数据分发模块之上。
XML数据描述解析模块在数据发方和数据收方分别执行不同的功能,图3描述了数据发方的XML数据描述解析模块执行功能,通过解析XML数据描述文件,获取待发布数据成员的类型描述信息,用于数据分发模块主题初始化时确定可变长字节数据流的长度和构建待发布的字节数据流。
例如,当数据发方对外分发主题为导航(navigation)的数据时,待发布数据成员包括:经度(longitude)、纬度(latitude)、高度(height)等信息。XML数据描述解析模块获取待发布数据成员中各成员的数据的类型,例如int型、long型、short型、float型等。
示例性的,XML数据描述文件用于规定待发布字节流中数据的格式,一种可能的XML数据描述文件如下:
<Data_xmlFilename="navigation">
<element>
<name>longitude</name>
<type>float</type>
</element>
<element>
<name>latitude</name>
<type>float</type>
</element>
<element>
<name>height</name>
<type>int</type>
</element>
</Data_xmlFile>
收发系统中的数据发方和数据收方都根据该自定义的XML数据描述解析文件中的规定进行字节流的生成和解析。可以理解,XML数据描述解析文件中的各数据成员数量、顺序可以根据需求自适应调整。不同主题的字节流的长度可以不同。
图4描述了数据收方的XML数据描述解析模块执行功能,通过解析XML数据描述文件,获取待发布数据成员的类型和名称信息,用于数据收方把数据分发模块收到的字节数据流类型化为XML数据描述文件中的数据成员信息。
可变长字节数据流数据分发服务模块基于数据分发服务内置字节流类型的接口实现,特定用于字节流的发布和订阅。图5描述了数据分发服务模块的构建过程,将复杂的常规数据分发服务接口简化为以下六种固定接口。
a)init_domian();域初始化;
b)init_topic();主题初始化;
c)data_send();数据发;
d)data_recv();数据收;
e)data_callback();数据回调收;
f)delete_domain();域销毁。
可变长数据流数据分发服务模块保留数据分发服务支持的所有功能,数据类型仅限于可变长字节流,不对字节数据流进行序列化和反序列化解析,提高了数据传输效率。
本发明中基于XML数据描述的面向数据分发服务的收发方法的主要核心技术思想在于:将用户自定义的数据结构以XML形式描述,通过XML数据描述解析模块提取数据分发服务中创建主题所需的相关字节数据流信息和反序列化数据流所需的数据成员信息;利用数据分发服务中内置字节流类型接口创建可变长字节数据流的收发实体,并封装成简化的域初始化、主题初始化、数据收、数据发和域销毁接口,与XML数据描述解析模块结合使用,降低了数据分发服务的复杂度,提高了数据结构类型的灵活性和数据收发效率。
Claims (8)
1.一种基于XML数据描述的面向数据分发服务的收发方法,应用于基于XML数据描述的面向数据分发服务的收发系统中的数据发方,其特征在于,所述方法包括:
确定待发布数据成员的信息;
采用预设的XML数据格式描述文件,根据待发布数据成员的信息,生成待发布字节流;
通过预设通用接口发送待发布字节流。
2.根据权利要求1所述的方法,其特征在于,所述通过预设通用接口发送待发布字节流,包括:
根据所述待发布字节流的主题,通过预设通用接口将所述待发布字节流发送至所述收发系统中的订阅所述主题的数据收方。
3.一种基于XML数据描述的面向数据分发服务的收发方法,应用于基于XML数据描述的面向数据分发服务的收发系统中的数据收方,其特征在于,所述方法包括:
通过预设通用接口接收字节流;
采用预设的XML数据格式描述文件,解析所述字节流,得到发布的数据成员的信息。
4.根据权利要求2所述的方法,其特征在于,所述通过预设通用接口接收字节流,包括:
通过预设通用接口,接收订阅的主题的字节流。
5.一种基于XML数据描述的面向数据分发服务的收发装置,作为基于XML数据描述的面向数据分发服务的收发系统中的数据发方,其特征在于,所述装置包括:
XML数据描述解析模块,用于确定待发布数据成员的信息,采用预设的XML数据格式描述文件,根据待发布数据成员的信息,生成待发布字节流;
可变长数据流数据分发服务模块,用于通过预设通用接口发送待发布字节流。
6.根据权利要求5所述的装置,其特征在于,所述可变长数据流数据分发服务模块,具体用于根据所述待发布字节流的主题,通过预设通用接口将所述待发布字节流发送至所述收发系统中的订阅所述主题的数据收方。
7.一种基于XML数据描述的面向数据分发服务的收发装置,作为基于XML数据描述的面向数据分发服务的收发系统中的数据收方,其特征在于,包括:
可变长数据流数据分发服务模块,用于通过预设通用接口接收字节流;
XML数据描述解析模块,用于采用预设的XML数据格式描述文件,解析所述字节流,得到发布的数据成员的信息。
8.根据权利要求7所述的装置,其特征在于,所述可变长数据流数据分发服务模块具体用于,通过预设通用接口,接收订阅的主题的字节流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111245562.9A CN114025026A (zh) | 2021-10-25 | 2021-10-25 | 基于xml数据描述的面向数据分发服务的收发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111245562.9A CN114025026A (zh) | 2021-10-25 | 2021-10-25 | 基于xml数据描述的面向数据分发服务的收发方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114025026A true CN114025026A (zh) | 2022-02-08 |
Family
ID=80057606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111245562.9A Pending CN114025026A (zh) | 2021-10-25 | 2021-10-25 | 基于xml数据描述的面向数据分发服务的收发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114025026A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623070A (zh) * | 2022-12-12 | 2023-01-17 | 南京芯驰半导体科技有限公司 | Idl消息的处理方法、装置、电子设备、存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080030383A1 (en) * | 2006-08-07 | 2008-02-07 | International Characters, Inc. | Method and Apparatus for Lexical Analysis Using Parallel Bit Streams |
CN102541926A (zh) * | 2010-12-30 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种数据交换处理方法、设备和系统 |
CN102789491A (zh) * | 2012-07-03 | 2012-11-21 | 河海大学 | 一种可配置的数据订阅和发布系统及其方法 |
CN103699633A (zh) * | 2013-12-23 | 2014-04-02 | Tcl集团股份有限公司 | 一种利用xml实现通用化数据交换的方法和系统 |
CN103761388A (zh) * | 2014-01-20 | 2014-04-30 | 北京仿真中心 | 一种基于hla通用化的异构仿真系统互联方法 |
CN104932895A (zh) * | 2015-06-26 | 2015-09-23 | 南京邮电大学 | 一种基于soa的中间件及其信息发布方法 |
CN105407024A (zh) * | 2015-09-23 | 2016-03-16 | 中国电子科技集团公司第二十九研究所 | 一种基于发布订阅通信机制的异构数据互通方法及装置 |
CN107577820A (zh) * | 2017-09-30 | 2018-01-12 | 中国联合网络通信集团有限公司 | 数据处理的方法、设备及系统 |
CN109189704A (zh) * | 2018-08-07 | 2019-01-11 | 西北工业大学 | 一种通用总线接口适配方法及装置 |
CN109547529A (zh) * | 2018-10-16 | 2019-03-29 | 中国船舶重工集团公司第七〇九研究所 | 一种基于dds的分布式工业数据分发方法 |
CN112328313A (zh) * | 2020-11-09 | 2021-02-05 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种应用于嵌入式系统的通用架构 |
CN112989123A (zh) * | 2021-04-21 | 2021-06-18 | 知行汽车科技(苏州)有限公司 | 一种基于dds的动态数据类型通信方法及装置 |
-
2021
- 2021-10-25 CN CN202111245562.9A patent/CN114025026A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080030383A1 (en) * | 2006-08-07 | 2008-02-07 | International Characters, Inc. | Method and Apparatus for Lexical Analysis Using Parallel Bit Streams |
CN102541926A (zh) * | 2010-12-30 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种数据交换处理方法、设备和系统 |
CN102789491A (zh) * | 2012-07-03 | 2012-11-21 | 河海大学 | 一种可配置的数据订阅和发布系统及其方法 |
CN103699633A (zh) * | 2013-12-23 | 2014-04-02 | Tcl集团股份有限公司 | 一种利用xml实现通用化数据交换的方法和系统 |
CN103761388A (zh) * | 2014-01-20 | 2014-04-30 | 北京仿真中心 | 一种基于hla通用化的异构仿真系统互联方法 |
CN104932895A (zh) * | 2015-06-26 | 2015-09-23 | 南京邮电大学 | 一种基于soa的中间件及其信息发布方法 |
CN105407024A (zh) * | 2015-09-23 | 2016-03-16 | 中国电子科技集团公司第二十九研究所 | 一种基于发布订阅通信机制的异构数据互通方法及装置 |
CN107577820A (zh) * | 2017-09-30 | 2018-01-12 | 中国联合网络通信集团有限公司 | 数据处理的方法、设备及系统 |
CN109189704A (zh) * | 2018-08-07 | 2019-01-11 | 西北工业大学 | 一种通用总线接口适配方法及装置 |
CN109547529A (zh) * | 2018-10-16 | 2019-03-29 | 中国船舶重工集团公司第七〇九研究所 | 一种基于dds的分布式工业数据分发方法 |
CN112328313A (zh) * | 2020-11-09 | 2021-02-05 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种应用于嵌入式系统的通用架构 |
CN112989123A (zh) * | 2021-04-21 | 2021-06-18 | 知行汽车科技(苏州)有限公司 | 一种基于dds的动态数据类型通信方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623070A (zh) * | 2022-12-12 | 2023-01-17 | 南京芯驰半导体科技有限公司 | Idl消息的处理方法、装置、电子设备、存储介质 |
CN115623070B (zh) * | 2022-12-12 | 2023-03-10 | 南京芯驰半导体科技有限公司 | Idl消息的处理方法、装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8375094B2 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
CN1751492B (zh) | 网络通信中的压缩消息收发的系统和方法 | |
CN108810086A (zh) | 一种基于mqtt消息协议的智能设备通讯平台 | |
CN112532673B (zh) | 消息发送方法及装置、计算机可读存储介质、电子设备 | |
CN110704265A (zh) | 一种基于Modbus协议的预警信息主动上报方法及系统 | |
CN110086759B (zh) | 一种用于在异构系统之间实现消息传递的方法和装置 | |
CN114025026A (zh) | 基于xml数据描述的面向数据分发服务的收发方法和装置 | |
CN109747684B (zh) | 用于轨道交通的综合监控系统、方法及计算机设备 | |
Eisenhauer et al. | Publish-subscribe for high-performance computing | |
JP2005174120A (ja) | Webサービス接続処理方法とシステム、およびプログラム | |
CN114866528A (zh) | 一种基于MQTT和Websocket的数据通讯方法 | |
KR101602100B1 (ko) | 사물 인터넷에서 dds 기반의 이질적인 사물 메시지 통합 방법 | |
CN114374678A (zh) | 一种多协议设备在线接入方法、系统、装置及存储介质 | |
CN103701720A (zh) | 与Socket服务器通信的方法、联机交易事务管理系统 | |
CN105208004A (zh) | 一种基于obd设备的数据入库方法 | |
CN112689020B (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN113438233A (zh) | 一种协议之间相互转换的方法 | |
CN102486780A (zh) | 异步跨域传输xml数据的方法、客户端和服务端 | |
CN109639545B (zh) | 多星测控平台系统的轻量级总线布置方法 | |
CN102710769A (zh) | 一种Web Service客户端及其大批量数据传输方法 | |
CN115412403B (zh) | 基于云边协同的智能网关 | |
Ying et al. | A performance Evaluation of Using SOAP with Attachments for e-Science | |
CN116055472A (zh) | 一种多终端统一服务接入系统与方法 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
CN112328417A (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 |