一种数据传输方法与流程

文档序号:27683390发布日期:2021-12-01 00:29阅读:166来源:国知局
一种数据传输方法与流程

1.本发明涉及数据传输技术领域,尤其涉及一种数据传输方法。


背景技术:

2.数据传输就是按照一定的规程,通过一条或者多条数据链路,将数据从数据源传输到数据终端,它的主要作用就是实现点与点之间的信息传输与交换。一个好的数据传输方式可以提高数据传输的实时性和可靠性,数据传输部分在整个系统中处于重要的地位,相当于人体的神经给身体的各个部位传输信号,如何高效地、准确地、及时地传输采集模块采集到的数字信息是一个重要的课题,数据传输是数据从一个地方传送到另一个地方的通信过程。数据传输系统通常由传输信道和信道两端的数据电路终接设备(dce)组成,在某些情况下,还包括信道两端的复用设备。传输信道可以是一条专用的通信信道,也可以由数据交换网、电话交换网或其他类型的交换网路来提供。数据传输系统的输入输出设备为终端或计算机,统称数据终端设备(dte),它所发出的数据信息一般都是字母、数字和符号的组合,为了传送这些信息,就需将每一个字母、数字或符号用二进制代码来表示。
3.现有的数据传输系统通常由传输信道和信道两端的数据电路终接设备(dce)组成,在实际使用过程中存在一些问题,对于较大数据的视频等文件传输的效率较慢,数据传输的安全性较差,且易出现数据丢失的问题。


技术实现要素:

4.本发明的目的是为了解决现有技术中存在的缺点,而提出的一种数据传输方法。
5.为了实现上述目的,本发明采用了如下技术方案:一种数据传输方法,s01:建立byte数组:根据需要传输的数据对象中各个属性数据类型,先计算得到序列化后byte数组长度,建立结果byte数组,然后逐一把属性转换为byte数组类型,并放入结果byte数组中;
6.s02:分包方法:将序列化后的byte进行分包,更便于网络传输,尤其是文件或视频传输数据较大时;
7.s03:设定每个包大小,根据需传输byte数组实际长度以及每个包大小,判断此数据是否需要分包传输,需要分包传输,根据包大小,将字节数组截取成设定包大小的多个字节数组,直到目标数组被分完,按照从前到后的顺序,封装包对象,并返回包对象list集合;
8.s04:和包方法:创建和包缓存集合,用于接受需要合包的数据判断收到包对象中的包总数,如果为1,说明当前包是完整的,直接接受,处理如果大于1,说明需要和包,和包过程,先判断包缓存中包个数和收到包对象中的包总数是否一致,如果一致,说明数据所有包都已收到,进行和包处理。
9.s05:和包处理:将缓存中所有包对象按照序号进行排序,然后逐一取出,拼接其字节数组,直到拼接完成,返回完整包。
10.作为上述技术方案的进一步描述:
11.所述步骤s04中,用于接受需要合包的数据判断收到包对象中的包总数,如果为1,
说明当前包是完整的,直接接受,然后直接进行解析、反序列化。
12.作为上述技术方案的进一步描述:
13.所述反序列化的方法为,只需将序列化过程反过来从byte数组中获取相应属性对应位,去除相应属性对应的byte数组,根据属性的数据类型,进行转换即可。
14.作为上述技术方案的进一步描述:
15.所述步骤s02中,根据需传输byte数组实际长度以及每个包大小,判断此数据是否需要分包传输,如果不需要分包传输,封装包对象直接返回。
16.作为上述技术方案的进一步描述:
17.所述步骤s04中,判断包缓存中包个数和收到包对象中的包总数是否一致,如果不一致,包并未接受完,将包对象放入到包缓存列表内。
18.有益效果
19.本发明提供了一种数据传输方法,具备以下有益效果:
20.该数据传输方法,将视频或文件建立bety数组,然后进行分包传输,极大化的提高其数据的效率,并且降低数据丢失的风险,因分包传输,单个数据包泄露,也不会造成整个数据信息泄露,提高数据传输的安全性,并且在使用的过程中,可根据传输数据的大小,判断此数据是否需要分包传输,且在和包的过程中,可根据用于接受需要合包的数据判断收到包对象中的包总数进行分类和包处理,极大化的提高其数据的处理效率,进一步的提高了数据的传输效率。
附图说明
21.图1为本发明中分包方法的程序框图;
22.图2为本发明中和包方法的程序框图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
24.参照图1

2,一种数据传输方法,包括以下步骤;
25.s01:建立byte数组:根据需要传输的数据对象中各个属性数据类型,先计算得到序列化后byte数组长度,建立结果byte数组,然后逐一把属性转换为byte数组类型,并放入结果byte数组中;
26.s02:分包方法:将序列化后的byte进行分包,更便于网络传输,尤其是文件或视频传输数据较大时;
27.s03:设定每个包大小,根据需传输byte数组实际长度以及每个包大小,判断此数据是否需要分包传输,需要分包传输,根据包大小,将字节数组截取成设定包大小的多个字节数组,直到目标数组被分完,按照从前到后的顺序,封装包对象,并返回包对象list集合;
28.s04:和包方法:创建和包缓存集合,用于接受需要合包的数据判断收到包对象中的包总数,如果为1,说明当前包是完整的,直接接受,处理如果大于1,说明需要和包,和包过程,先判断包缓存中包个数和收到包对象中的包总数是否一致,如果一致,说明数据所有包都已收到,进行和包处理。
29.s05:和包处理:将缓存中所有包对象按照序号进行排序,然后逐一取出,拼接其字节数组,直到拼接完成,返回完整包。
30.步骤s04中,用于接受需要合包的数据判断收到包对象中的包总数,如果为1,说明当前包是完整的,直接接受,然后直接进行解析、反序列化。
31.反序列化的方法为,只需将序列化过程反过来从byte数组中获取相应属性对应位,去除相应属性对应的byte数组,根据属性的数据类型,进行转换即可,byte数组是通过网络传输信息的单位,在ascii码中,一个英文字母占一个字节的空间,一个中文汉字占两个字节的空间,符号,英文标点占一个字节,中文标点占两个字节,一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。
32.步骤s02中,根据需传输byte数组实际长度以及每个包大小,判断此数据是否需要分包传输,如果不需要分包传输,封装包对象直接返回。
33.步骤s04中,判断包缓存中包个数和收到包对象中的包总数是否一致,如果不一致,包并未接受完,将包对象放入到包缓存列表内。
34.本发明该数据传输方法,该数据传输方法,将视频或文件建立bety数组,然后进行分包传输,极大化的提高其数据的效率,并且降低数据丢失的风险,因分包传输,单个数据包泄露,也不会造成整个数据信息泄露,提高数据传输的安全性,并且在使用的过程中,可根据传输数据的大小,判断此数据是否需要分包传输,且在和包的过程中,可根据用于接受需要合包的数据判断收到包对象中的包总数进行分类和包处理,极大化的提高其数据的处理效率,进一步的提高了数据的传输效率。
35.在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料过着特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
36.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1