技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种数据交互方法和系统与流程  >  正文

一种数据交互方法和系统与流程

  • 国知局
  • 2024-09-19 14:24:04

本发明涉及通信,具体而言,涉及一种数据交互方法和系统。

背景技术:

1、在现代计算机网络中,数据交互是一项基本且重要的任务。随着互联网的发展,数据交互的场景越来越多,如远程数据访问、分布式系统、实时数据处理等。在这些场景中,数据的传输和接收是关键环节,其效率和可靠性直接影响到系统的性能和用户体验。因此,如何高效、可靠地进行数据交互,一直是计算机网络领域的重要研究方向。其中,零消息队列(zeromq,又称为zmq)是一种基于事件驱动的异步消息传递框架,它通过发布/订阅模式实现数据的分发。

2、现有的基于零消息队列的分发机制,需要在代码中自定义交互数据结构。由于数据传输的格式需要交互双方协商确定,这就导致了在交互方较多的情况下,实施的复杂度会显著增加;而且,如果交互双方自定义的数据格式的数据直接用于传输,会影响数据传输的效率。

3、有鉴于此,特提出本发明。

技术实现思路

1、本发明的目的在于提供一种数据交互方法和系统,同时初始化发布端和订阅端,发布端和订阅端读取proto格式的数据结构定义文件,并将业务数据按照数据结构定义文件进行序列化和反序列化,不需要再通过交互的方式定义数据的结构;通过零消息队列传输,实现高效的数据交互。

2、为了实现上述目的,本发明采用以下技术方案:

3、第一方面,本发明提供了一种数据交互系统,包括:

4、创建模块,用于配置订阅的主题,初始化关键变量,通过初始化函数同时初始化发布端和订阅端;其中,所述初始化函数用于初始化发布和订阅环境,以及初始化数据结构;

5、发布端,用于读取proto格式的数据结构定义文件;以及,

6、根据所述数据结构定义文件对业务数据进行序列化;将序列化后的数据通过零消息队列传输到订阅端;

7、所述订阅端,用于读取proto格式的数据结构定义文件;以及,

8、订阅所述序列化后的数据;根据所述数据结构定义文件对序列化后的数据进行反序列化,得到业务数据。

9、第二方面,本发明提供了一种数据交互方法,包括:

10、通过创建模块配置订阅的主题,初始化关键变量,通过初始化函数同时初始化发布端和订阅端;其中,所述初始化函数用于初始化发布和订阅环境,以及初始化数据结构;

11、通过发布端读取proto格式的数据结构定义文件;以及,

12、根据所述数据结构定义文件对业务数据进行序列化;将序列化后的数据通过零消息队列传输到订阅端;

13、通过所述订阅端读取proto格式的数据结构定义文件;以及,

14、订阅所述序列化后的数据;根据所述数据结构定义文件对序列化后的数据进行反序列化,得到业务数据。

15、与现有技术相比,本发明的有益效果为:

16、不同于现有技术中分别初始化发布端和订阅端的方案,本发明通过一个初始化函数同时完成发布端和订阅端的初始化,可以提高初始化效率,避免了单独创建发布订阅端的繁杂操作。统一初始化会使代码和流程更简洁,方便使用。本发明通过预先生成proto格式的数据结构定义文件,从而发布端和订阅端均直接读取该结构定义文件,进行序列化,不需要发布端和订阅端交互确定数据结构。通过使用protobuf可以将数据的定义在proto文件中进行统一和标准化,避免了因交互方多而导致的实施复杂度增加。同时,同一个proto文件可供所有交互方使用,进一步简化了数据格式的协商过程。

17、通过结合零消息队列的分发机制和协议缓冲区的高效的数据序列化和反序列化,避免自定义的数据格式的数据直接用于传输,可以大大提高数据的传输效率。特别是在交互方较多的情况下,这种优势更加明显。

18、本发明由于提高了数据传输和接收的效率,减少了数据处理的时间,从而提升了系统的性能,同时也提高了用户的使用体验。

19、进一步的,相比于现有技术,本发明无需手动将协议缓冲区的数据结构定义转换为可执行的函数代码,而是自动生成头文件和源码文件;后续序列化时直接添加头文件和源码文件即可。只需关注数据操作的逻辑部分,而不需要关心序列化和反序列化的过程,从而降低了开发的复杂性和工作量。

技术特征:

1.一种数据交互系统,其特征在于,包括:

2.根据权利要求1所述的系统,其特征在于,还包括:

3.根据权利要求2所述的系统,其特征在于,所述根据所述数据结构定义文件对业务数据进行序列化,包括:

4.根据权利要求3所述的系统,其特征在于,所述调用所述头文件中序列化接口对业务数据进行序列化,包括:

5.根据权利要求4所述的系统,其特征在于,

6.根据权利要求1所述的系统,其特征在于,所述创建模块,还用于创建零消息队列代理;

7.根据权利要求1所述的系统,其特征在于,所述发布端在将序列化后的数据通过零消息队列传输到订阅端时,具体用于:

8.根据权利要求1所述的系统,其特征在于,所述订阅端在订阅所述序列化后的数据时,具体用于:

9.根据权利要求1所述的系统,其特征在于,所述发布端和订阅端在读取proto格式的数据结构定义文件之前,还用于:

10.一种数据交互方法,其特征在于,包括:

技术总结本发明涉及通信技术领域,具体而言,涉及一种数据交互方法和系统。该系统包括创建模块,用于配置订阅的主题,初始化关键变量,通过初始化函数同时初始化发布端和订阅端;发布端,用于读取proto格式的数据结构定义文件;根据数据结构定义文件对业务数据进行序列化;将序列化后的数据通过零消息队列传输到订阅端;订阅端,用于读取数据结构定义文件;订阅序列化后的数据;根据数据结构定义文件对序列化后的数据进行反序列化。本发明中发布端和订阅端读取proto格式的数据结构定义文件,并将业务数据按照数据结构定义文件进行序列化和反序列化,不需要再通过交互的方式定义数据的结构,实现高效的数据交互。技术研发人员:罗程智,谢刚,许文受保护的技术使用者:成都赛力斯科技有限公司技术研发日:技术公布日:2024/9/17

本文地址:https://www.jishuxx.com/zhuanli/20240919/297855.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。