技术新讯 > 电子通信装置的制造及其应用技术 > 一种数据传输的方法和装置与流程  >  正文

一种数据传输的方法和装置与流程

  • 国知局
  • 2024-10-15 09:31:25

本发明涉及计算机,尤其涉及一种数据传输的方法和装置。

背景技术:

1、在即时通讯业务领域中,多个终端通过基础网络和网络通信协议建立消息通道,并通过消息通道,进行数据传输。在传输文字、图像等通讯数据时,通常有两种方法,一种方法是直接将待传输的数据封装为符合传输协议的传输数据,然后对传输数据进行传输,另一个方法是对待传输的数据执行一次或者多次压缩操作,再将压缩后的数据封装为传输数据,然后对传输数据进行传输。

2、在实现本发明的过程中,发明人发现现有技术至少存在如下问题:

3、压缩后的数据体积仍然比较大,导致数据传输效率低,耗时长,在传输数据时需要消耗大量系统资源。

技术实现思路

1、有鉴于此,本发明实施例提供一种数据传输的方法和装置,能够提高传输数据的传输效率,缩短数据传输时间,节省系统资源。

2、为实现上述目的,根据本发明实施例的第一方面,提供一种数据传输的方法,包括:

3、按照预先设置的嵌套数据结构,封装所获取的业务数据,并对封装后的业务数据中的多层数据执行多次序列化操作,得到结构化数据;

4、根据预先设置的传输协议,对结构化数据进行封装,得到符合传输协议的传输数据;

5、将传输数据传输至业务数据对应的接收方。

6、可选地,嵌套数据结构包括:业务封装结构和消息封装结构,业务封装结构定义业务封装数据包含的字段以及该字段对应的数据类型,消息封装结构定义消息封装数据包含的字段以及该字段对应的数据类型;根据预先设置的嵌套数据结构,对业务数据执行多次序列化操作,得到结构化数据,包括:

7、按照业务封装结构,对业务数据进行封装,得到业务封装数据,对业务封装数据进行序列化,得到业务序列数据;

8、按照消息封装结构,获取预先设置的消息基础数据,对业务序列数据和消息基础数据进行封装,得到消息封装数据,对消息封装数据进行序列化,得到结构化数据;消息基础数据是与业务数据关联的业务场景有关的数据。

9、可选地,在对业务封装数据进行序列化,得到业务序列数据之前,

10、确定所述业务封装数据的数据长度;

11、判定所述业务封装数据的数据长度大于预先设置的第一阈值。

12、可选地,预先设置多种序列化方法;在对业务封装数据进行序列化之前,

13、确定与业务数据关联的业务场景;

14、根据业务场景,从多种序列化方法中确定目标序列化方法,目标序列化方法用于对业务封装数据和消息封装数据进行序列化。

15、可选地,根据预先设置的传输协议,对结构化数据进行封装,得到符合传输协议的传输数据,包括:

16、获取结构化数据的多个封装信息;

17、根据预先设置的字节对齐规则,确定多个封装信息以及结构化数据的排列顺序和字节长度;

18、根据排列顺序和字节长度,对多个封装信息和结构化数据进行封装,将封装后的数据作为传输数据。

19、可选地,在对结构化数据进行封装之前,确定结构化数据的数据长度;响应于结构化数据的数据长度大于预先设置的第二阈值,对结构化数据执行数据压缩操作,得到压缩数据;

20、根据预先设置的传输协议,对结构化数据进行封装,包括:根据预先设置的传输协议,对压缩数据进行封装,将封装后的压缩数据作为传输数据。

21、根据本发明实施例的第二方面,提供一种数据传输的方法,包括:

22、根据预先设置的传输协议,从接收到的回传数据中解析出第二结构化数据;回传数据是通过如下步骤得到的:按照预先设置的嵌套数据结构,封装所获取的第一业务数据,并对封装后的第一业务数据中的多层数据执行多次序列化操作,得到第一结构化数据,对第一结构化数据进行封装,得到符合传输协议的回传数据;

23、根据预先设置的嵌套数据结构,对第二结构化数据中的多层数据执行多次反序列化操作,得到第二业务数据;

24、将第二业务数据传输至回传数据对应的接收方。

25、根据本发明实施例的第三方面,提供一种数据传输的装置,包括:

26、序列化模块,用于按照预先设置的嵌套数据结构,封装所获取的业务数据,并对封装后的业务数据中的多层数据执行多次序列化操作,得到结构化数据;

27、封装模块,用于根据预先设置的传输协议,对结构化数据进行封装,得到符合传输协议的传输数据;

28、传输模块,用于将传输数据传输至业务数据对应的接收方。

29、可选地,嵌套数据结构包括:业务封装结构和消息封装结构,业务封装结构定义业务封装数据包含的字段以及该字段对应的数据类型,消息封装结构定义消息封装数据包含的字段以及该字段对应的数据类型;序列化模块还用于:

30、按照业务封装结构,对业务数据进行封装,得到业务封装数据,对业务封装数据进行序列化,得到业务序列数据;

31、按照消息封装结构,获取预先设置的消息基础数据,对业务序列数据和消息基础数据进行封装,得到消息封装数据,对消息封装数据进行序列化,得到结构化数据;消息基础数据是与业务数据关联的业务场景有关的数据。

32、可选地,本发明实施例的装置还包括:

33、第一确定模块,用于确定业务封装数据的数据长度;

34、判定模块,用于判定业务封装数据的数据长度大于预先设置的第一阈值。

35、可选地,预先设置多种序列化方法;本发明实施例的装置还包括:

36、第二确定模块,用于确定与业务数据关联的业务场景;

37、筛选模块,用于根据业务场景,从多种序列化方法中确定目标序列化方法,目标序列化方法用于对业务封装数据和消息封装数据进行序列化。

38、可选地,封装模块还用于:

39、获取结构化数据的多个封装信息;

40、根据预先设置的字节对齐规则,确定多个封装信息以及结构化数据的排列顺序和字节长度;

41、根据排列顺序和字节长度,对多个封装信息和结构化数据进行封装,将封装后的数据作为传输数据。

42、可选地,本发明实施例的装置还包括:第三确定模块,用于确定结构化数据的数据长度;压缩模块,用于响应于结构化数据的数据长度大于预先设置的第二阈值,对结构化数据执行数据压缩操作,得到压缩数据;

43、封装模块还用于:根据预先设置的传输协议,对压缩数据进行封装,将封装后的压缩数据作为传输数据。

44、根据本发明实施例的第四方面,提供一种数据传输的装置,包括:

45、解析模块,用于根据预先设置的传输协议,从接收到的回传数据中解析出第二结构化数据;回传数据是通过如下步骤得到的:按照预先设置的嵌套数据结构,封装所获取的第一业务数据,并对封装后的第一业务数据中的多层数据执行多次结构序列化操作,得到第一结构化数据,对第一结构化数据进行封装,得到符合传输协议的回传数据;

46、反序列化模块,用于根据预先设置的嵌套数据结构,对第二结构化数据中的多层数据执行多次反序列化操作,得到第二业务数据;

47、回传模块,用于将第二业务数据传输至回传数据对应的接收方。

48、根据本发明实施例的第五方面,提供一种电子设备,包括:

49、一个或多个处理器;

50、存储装置,用于存储一个或多个程序,

51、当一个或多个程序被一个或多个处理器执行时,一个或多个处理器实现上述任一实施例的方法。

52、根据本发明实施例的第六方面,提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任一实施例的方法。

53、根据本发明实施例的第七方面,提供一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一实施例的方法。

54、上述发明中的一个实施例具有如下优点或有益效果:基于多次序列化操作和封装操作,将业务数据转换为数据体积小的传输数据,能够提高传输数据的传输效率,缩短数据传输时间,节省系统资源;先通过封装和序列化得到业务序列数据,再通过封装和序列化得到消息序列数据,能够将与业务相关的数据和与业务场景相同的数据封装在不同的数据层,提高数据的可读性,保证数据的完整性,便于对封装后的数据进行解析;在业务封装数据的数据长度大于第一阈值的情况下,再对业务封装数据进行序列化,能够节省系统资源,提高数据封装效率;基于业务场景确定序列化方法,能够提高数据序列化效率和效果,使序列化后的数据体积更小;基于字节对齐规则,确定多个封装信息和结构化数据的排列顺序和字节长度,能够提高数据封装效率和准确性,保证封装后的数据字节对齐,减小数据体积,提高传输效率;在结构化数据的数据长度大于第二阈值的情况下,再执行压缩操作,能够节省系统资源,减小数据体积;根据传输协议和嵌套结构数据,将回传数据解析为第二业务数据,能够提高回传数据的解析效率,保证多个终端之间的通讯效率。

55、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

本文地址:https://www.jishuxx.com/zhuanli/20241015/314433.html

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