数据传输方法及系统与流程

文档序号:15845977发布日期:2018-11-07 09:01阅读:242来源:国知局
数据传输方法及系统与流程

本申请涉及通信领域,具体而言,涉及一种数据传输方法及系统。

背景技术

在现代医疗中心电、呼吸、血氧、脉率、体温、血压这些体征值,对于医生诊断病人的病情越来越重要,原有病人必须在非常不便的情况下去医生所在单位进行检测,医生才能够获得用于的检测数据或图像;这类情况会给病人造成极大的时间及交通成本,而且还会延误病人的病情。

进一步的,随着通信技术的发展,出现了一些可以远程传输监测数据的方法,但是远程传输数据还存在:数据传输后完整性的下降,丢包率高的缺点,极易造成数据不准确的情况。

针对相关技术中数据不准确的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种数据传输方法及系统,以解决相关技术中存在问题。

为了实现上述目的,根据本申请的一个方面,提供了一种数据传输方法,其特征在于,包括:

将所需传输的源数据拆分为多个数据包;

将每个所述数据包通过多个路径发送至目标缓存池;

所述目标缓存池对所有的所述数据包进行处理,得到与所述源数据一致的还原数据。

进一步的,如前述的数据传输方法,所述将所需传输的源数据拆分为多个数据包,包括:

将所述源数据拆分为拆为多个连续的数据包;

在每个所述数据包中写入序列信息;所述序列信息用于区分多个连续的所述数据包的前后顺序。

进一步的,如前述的数据传输方法,所述目标缓存池对所有的所述数据包进行处理,包括:

将所有收到的所述数据包进行筛选,得到多个数据包组,每个所述数据包组内的所有所述数据包的数据完全一致;

将每个所述数据包组内重复的所述数据包进行去重,每个所述数据包组只保留一个所述数据包;

提取剩余的所有所述数据包的序列信息,并确定所述序列信息与所述数据包之间的一一对应关系;

根据所述序列信息对剩余的所有所述数据包进行排序,并整合得到与所述源数据一致的还原数据。

进一步的,如前述的数据传输方法,所述将所需传输的源数据拆分为多个数据包之后,还包括:

确定拆分的所述数据包的个数,并得到数量信息;

将所述数据包的数量信息通过多个路径发送至所述目标缓存池。

进一步的,如前述的数据传输方法,所述将每个所述数据包组内重复的所述数据包进行去重之前,还包括:

判断所述数据包组的数量与所述数量信息表征的数量是否一致;

若所述数据包组的数量小于所述数量信息表征的数量,则持续接受所述数据包;

若所述数据包组的数量等于所述数量信息表征的数量,则执行下一步骤。

本发明还提供一种数据传输系统,包括:数据传输终端和服务器;所述数据传输终端包括:数据拆分单元和数据发送单元;所述服务器包括:数据还原单元;

所述数据拆分单元:用于将所需传输的源数据拆分为多个数据包;

所述数据发送单元:用于将每个所述数据包通过多个路径发送至目标缓存池;

所述数据还原单元:用于通过所述目标缓存池对所有的所述数据包进行处理,得到与所述源数据一致的还原数据。

进一步的,如前述的数据传输系统,所述数据拆分单元,包括:

数据拆分模块:用于将所述源数据拆分为拆为多个连续的数据包;

序列信息写入模块:用于在每个所述数据包中写入序列信息;所述序列信息用于区分多个连续的所述数据包的前后顺序。

进一步的,如前述的数据传输系统,所述数据还原单元,包括:

筛选模块:用于将所有收到的所述数据包进行筛选,得到多个数据包组,每个所述数据包组内的所有所述数据包的数据完全一致;

去重模块:用于将每个所述数据包组内重复的所述数据包进行去重,每个所述数据包组只保留一个所述数据包;

序列信息提取模块:用于提取剩余的所有所述数据包的序列信息,并确定所述序列信息与所述数据包之间的一一对应关系;

排序模块:用于根据所述序列信息对剩余的所有所述数据包进行排序,并整合得到与所述源数据一致的还原数据。

进一步的,如前述的数据传输系统,所述数据传输终端,还包括:数量信息确定单元;

所述数量信息确定单元:用于确定拆分的所述数据包的个数,并得到数量信息;

所述数据发送单元:还用于将所述数据包的数量信息通过多个路径发送至所述目标缓存池。

进一步的,如前述的数据传输系统,所述服务器,还包括:数量判断单元;

所述数量判断单元,用于:

判断所述数据包组的数量与所述数量信息表征的数量是否一致;

若所述数据包组的数量小于所述数量信息表征的数量,则持续接受所述数据包;

若所述数据包组的数量等于所述数量信息表征的数量,则执行下一步骤。

在本申请实施例中,采用多路径传输模式的方式,通过将所需传输的源数据拆分为多个数据包;将每个所述数据包通过多个路径发送至目标缓存池;所述目标缓存池对所有的所述数据包进行处理,得到与所述源数据一致的还原数据。达到了在数据传输的完整性上有了很多提高,大大降低了传输丢包的可能性;同时又对收到后的数据再处理,将收到的数据整合、去重、重新排序还原数据状态,确保数据准确性的目的。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本申请一种实施例的方法流程示意图;

图2是如图1所示步骤s3的一种实施例的方法流程示意图;以及

图3是本申请一种实施例的系统结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

如图1所示,一种数据传输方法包括如下的步骤s1至步骤s3:

s1.将所需传输的源数据拆分为多个数据包;

s2.将每个所述数据包通过多个路径发送至目标缓存池;

s3.所述目标缓存池对所有的所述数据包进行处理,得到与所述源数据一致的还原数据。

具体的,

所述步骤s1可以为:在确定一个源数据a时,将所述源数据拆分为n个数据包,分别为a1、a2、a3……an;其中n为大于等于2的整数;

所述步骤s2可以为:将所述a1、a2、a3……an中的每个数据包各自通过m个路径发送给统一的缓存池;所述路径为通过不同的路由进行发送;因此缓存池若完全接受则一共会收到n*m个所述数据包;所述m为大于等于2的整数;

所述步骤s3可以为:所述目标缓存池对接收到的所述数据包进行筛选和处理,得到数据包a1、a2、a3……an;然后进行恢复得到还原数据a’。

在一些实施例中,如前述的数据传输方法,所述将所需传输的源数据拆分为多个数据包,包括:

将所述源数据拆分为拆为多个连续的数据包;具体的,所述连续的数据包具体为:所述a1、a2、a3……an中,a1、a2、a3……an从头至尾相加与所述源数据a中的数据链正好一致,a1+a2+a3+……+an=a;

在每个所述数据包中写入序列信息;所述序列信息用于区分多个连续的所述数据包的前后顺序,所述序列信息可以是时间信息,由于数据包的拆分一般从所述源数据a的起始位置开始拆分,且此处的起始位置为源数据最先生成的数据,因此按照起始数据到结束数据的方向进行数据拆分时,可以将每个数据包中最先生成的数据对应的时间作为序列信息写进数据包中,用以表示所述数据包生成的时间,也可以是序列号,用以表示所述各个数据包从最先生成到最后生成的前后顺序。

如图2所示,在一些实施例中,如前述的数据传输方法,所述步骤s3中目标缓存池对所有的所述数据包进行处理,包括:

s31.将所有收到的所述数据包进行筛选,得到多个数据包组,每个所述数据包组内的所有所述数据包的数据完全一致;一般的,在所述数据包a1、a2、a3……an中的每个数据包各自通过m个路径发送给统一的目标缓存池时,缓存池在正常情况下收到的数量完整的数据包会包括a11、a12、a13……a1m,a21、a22、a23……a2m,……,an1、an2、an3……anm;其中所述数据包anm用以表示数据包an通过第m个路径发送至所述目标缓存池后的数据;此时便可将a11、a12、a13……a1m归为数据包组a’1,将数据包a21、a22、a23……a2m归为数据包组a’2,将数据包an1、an2、an3……anm归为数据包组a’n。

s32.将每个所述数据包组内重复的所述数据包进行去重,每个所述数据包组只保留一个所述数据包;即将所述数据包组a’1、a’2……a’n中的m个数据包分别只保留一个,保留某一数据包组中的数据包可以是随机挑选一个,也可以是保留最先发送至所述目标缓存池中的数据包,还可以是保留任一路径的数据包,总而言之,只要满足每个数据包组中最后存在一个唯一完整的数据包即可;

s33.提取剩余的所有所述数据包的序列信息,并确定所述序列信息与所述数据包之间的一一对应关系;由于前述中每个数据包中已经被写入序列信息;因此此处只需将上述序列信息读取出。

s34.根据所述序列信息对剩余的所有所述数据包进行排序,并整合得到与所述源数据一致的还原数据;即将所述n个数据包按照顺序排列即可。

在一些实施例中,如前述的数据传输方法,所述将所需传输的源数据拆分为多个数据包之后,还包括:

确定拆分的所述数据包的个数,并得到数量信息;具体的,可以读取拆分的次数,或拆分的数据包个数,并以此得到所述数量信息;

将所述数据包的数量信息通过多个路径发送至所述目标缓存池;具体的,将所述数量信息作为一条单独的信息发送至所述目标缓存池,所述目标缓存池在接收到所述数量信息后只将其作为最后判断接收的数据包的数量是否完整,由于是在接收到数据包后才会生成相应的数据包组,因此此处所述的数据包的数量完整只需满足每个数据包组中的数据包个数大于等于1即可,且所述数量信息一般作为第一条发送的信息传输至所述目标缓存池,在所述目标缓存池接收到所述数量信息后便反馈一个可以开始接受数据包的信息,此时便停止接受所述数量信息并开始接受数据包信息。

在一些实施例中,如前述的数据传输方法,所述将每个所述数据包组内重复的所述数据包进行去重之前,还包括:

判断所述数据包组的数量与所述数量信息表征的数量是否一致;由于是在接收到数据包后才会生成相应的数据包组,因此此处数据包组的数量与所述数量信息中表征的数量一致即可;

若所述数据包组的数量小于所述数量信息表征的数量,则持续接受所述数据包;

若所述数据包组的数量等于所述数量信息表征的数量,则执行下一步骤。

根据本发明实施例,还提供了一种用于实施上述数据传输方法的数据传输系统,如图3所示,该装置包括:数据传输终端和服务器;所述数据传输终端包括:数据拆分单元1和数据发送单元2;所述服务器包括:数据还原单元3;

所述数据拆分单元1:用于将所需传输的源数据拆分为多个数据包;

所述数据发送单元2:用于将每个所述数据包通过多个路径发送至目标缓存池;

所述数据还原单元3:用于通过所述目标缓存池对所有的所述数据包进行处理,得到与所述源数据一致的还原数据。

在一些实施例中,如前述的数据传输系统,所述数据拆分单元,包括:

数据拆分模块:用于将所述源数据拆分为拆为多个连续的数据包;

序列信息写入模块:用于在每个所述数据包中写入序列信息;所述序列信息用于区分多个连续的所述数据包的前后顺序。

在一些实施例中,如前述的数据传输系统,所述数据还原单元,包括:

筛选模块:用于将所有收到的所述数据包进行筛选,得到多个数据包组,每个所述数据包组内的所有所述数据包的数据完全一致;

去重模块:用于将每个所述数据包组内重复的所述数据包进行去重,每个所述数据包组只保留一个所述数据包;

序列信息提取模块:用于提取剩余的所有所述数据包的序列信息,并确定所述序列信息与所述数据包之间的一一对应关系;

排序模块:用于根据所述序列信息对剩余的所有所述数据包进行排序,并整合得到与所述源数据一致的还原数据。

在一些实施例中,如前述的数据传输系统,所述数据传输终端,还包括:数量信息确定单元;

所述数量信息确定单元:用于确定拆分的所述数据包的个数,并得到数量信息;

所述数据发送单元:还用于将所述数据包的数量信息通过多个路径发送至所述目标缓存池。

在一些实施例中,如前述的数据传输系统,所述服务器,还包括:数量判断单元;

所述数量判断单元,用于:

判断所述数据包组的数量与所述数量信息表征的数量是否一致;

若所述数据包组的数量小于所述数量信息表征的数量,则持续接受所述数据包;

若所述数据包组的数量等于所述数量信息表征的数量,则执行下一步骤。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1