一种文件碎片化传输的方法、装置及存储介质与流程

文档序号:17322165发布日期:2019-04-05 21:35阅读:296来源:国知局
一种文件碎片化传输的方法、装置及存储介质与流程

本发明涉及文件传输技术领域,尤其是一种文件碎片化传输的方法、装置及存储介质。



背景技术:

随着互联网发展越来越快,人们对宽带的要求越来越高。虽然现在带宽普遍都有提高,但还是有许多网民感觉带宽不够用。不管是下载、打游戏、在线电影速度都很不稳定。影响用户的体验。这种情况很大因素是因为网络上有太多垃圾流量,占用了大量带宽,导致网络带宽不稳定。减少网络上的垃圾流量及威胁流量,已成为网络管理日趋重要的工作内容。目前网络上使用的管理手段主要是采用相关的流量管控软件,如网络流量监测软件、网络流量防火墙等,对网络流量进行实时监控管理。

在互联网的应用中,文件传输是很多互联网用户经常用到的功能。那么如何能够在架设有各种网络流量监控软件的复杂网络环境下,把文件准确的从网络上的一个终端传输到网络上的另一个终端,显得越来越重要。

文件传输是把文件对应的二进制数据通过封装成数据包,在网络上传输的,所有数据信息都包含在网络通信数据包中。数据包通常都有固定的格式,明显的数据报文特征。流量监测软件或流量防火墙可以监测单位时间内收发数据包的数量以及每个数据包额数据量。如果超出预设的阈值,就会产生报警提示。在有流量监控或流量防火墙的网络环境传输文件时,大多数文件上传下载工具在传输较大的文件时,必定会在单位时间内产生很大的流量,这就很有可能会引起流量监控或流量防火墙等工具的报警。

例如申请号201410759132.2所示方法,其一种分片方法为固定大小分片,另一种为可变大小分片。其两种分片方法均基于当前传输速率,也就是基于网速。在正常的网络环境中,通过能提高带宽的利用率,优化文件传输。但是这种方法在有流量监测软件环境中,对单位时间内的流量控制并不能起到很好的缓解作用。



技术实现要素:

针对有流量监控或流量防火墙的网络环境传输文件时,大多数文件上传下载工具在传输较大的文件时,必定会在单位时间内产生很大的流量,这就很有可能会引起流量监控或流量防火墙等工具的报警,且在有流量监测软件环境中,对单位时间内的流量控制并不能起到很好的缓解作用的情况下,本发明提出了一种文件碎片化传输的方法,根据随机算法生成随机数作为分片的大小对文件进行分片处理,使得单位时间内文件传输流量无规律,不易引起相关流量监测软件的察觉,大大提高文件传输的成功率。

为实现上述目的,根据本发明的一方面,提出了一种文件碎片化传输的方法,包括以下步骤:

s1:根据随机算法生成随机数作为分片的大小对文件进行分片处理;

s2:对所述文件的每个所述分片,按照所述分片的顺序加上片段号;

s3:执行每个所述分片的传输。

在可选实施例中,所述s2步骤在所述s1步骤的过程中同时进行,大幅提高了文件传输的效率。

在可选实施例中,所述根据随机算法生成随机数的步骤具体包括:先设定文件分片的最小阈值m1和最大阈值m2,所述最小阈值m1的值大于0,所述最大阈值m2大于所述最小阈值m1且小于所述文件长度s。

在可选实施例中,所述步骤s1具体包括如下步骤:

s11:用随机算法产生一个随机数l1,用作第一分片的长度;

s12:若所述文件未分片的长度k大于等于所述最大阈值m2,再用随机算法产生一个随机数l2,用作第二个分片的长度,若所述文件未分片的长度k小于所述最大阈值m2,则直接把所述文件未分片的长度k作为最后一个分片的长度;

s13:重复执行步骤s12,直至所述文件未分片的长度k小于所述最大阈值m2。

在可选实施例中,在步骤s3后还包括以下步骤:将接收到的全部分片按所述分片的片段号进行重组,生成原始文件。

在可选实施例中,分片完成后,会生成n个随机数,文件最后的总分片数为t=n+1。

在可选实施例中,分片文件传输完成后,根据按分片的片段号按顺序进行重组,生成原始文件。

根据本发明的另一方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施上文所述的方法。

根据本发明的第三方面,提出了一种文件碎片化传输的装置,其特征在于,所述装置包括以下部分:

发送单元,用于获取待传输文件的参数;

分片单元,根据随机算法生成随机数作为分片的大小对文件进行分片处理,对所述文件的每个所述分片,按照所述分片的顺序加上片段号;

传输单元,用于执行每个所述分片的传输。

在可选实施例中,所述分片单元还用于:

设定文件分片的最小阈值m1和最大阈值m2,所述最小阈值m1的值大于0,所述最大阈值m2大于所述最小阈值m1且小于所述文件长度s;用随机算法产生一个随机数l1,用作第一分片的长度;若所述文件未分片的长度k大于等于所述最大阈值m2,再用随机算法产生一个随机数l2,用作第二个分片的长度,若所述文件未分片的长度k小于所述最大阈值m2,则直接把所述文件未分片的长度k作为最后一个分片的长度;重复执行上述步骤,直至所述文件未分片的长度k小于所述最大阈值m2,通过随机算法对原始文件进行分片,使得单位时间内文件传输流量无规律提高文件传输的成功率。

本发明的一种文件碎片化传输的方法、装置及存储介质,根据随机算法生成随机数作为分片的大小对文件进行分片处理;对所述文件的每个所述分片,按照所述分片的顺序加上片段号;执行每个所述分片的传输,该文件传输方法对大型文件进行随机大小的分片处理,使得单位时间内文件传输流量无规律。对具有流量监测、流量防火墙等的环境下传输文件时,大大提升了文件传输的成功率。

附图说明

包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本发明的一个实施例的文件碎片化传输的方法的流程图;

图2是本发明的一个实施例的文件碎片化传输过程中等量分片和随机分片实时流量对比图;

图3是本发明的一个实施例的文件碎片化传输系统的组成图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

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

本发明的第一方面,提出了一种文件碎片化传输的方法,如图1所示,该方法包括以下步骤:

s1:根据随机算法生成随机数作为分片的大小对文件进行分片处理。首先接收待传输的文件,并对其数据进行分析,获取带传输文件的数据信息,包括文件的长度s,利用随机算法生成一个随机数l1,作为第一分片,剩余未分片文件长度k=s-l1,再对剩余未分片文件k进行判断,若需要继续分片,则重复生成第二分片l2,直至未分片的文件长度k满足已设定的大小要求,结束分片。

s2:对所述文件的每个所述分片,按照所述分片的顺序加上片段号。按照前一步骤进行的分片产生的l1…ln长度的分片文件,给每一个分片按顺序加上片段号,l1对应的分片号为第一分片,ln对应的分片号为第n分片,剩余的未分片长度k满足已设定大小要求,即为最后一个分片的长度,最后分片总数t=n+1。

s3:执行每个所述分片的传输。把t个分片文件进行传输,接收方接收到所有t个分片文件后,按照每个分片的片段号按顺序进行重组,最终可以生成原始的文件。

其中,待传输文件的长度为s,已分片的文件长度为l,未分片的文件长度为k;文件总分片数量为t。随机算法生成随机数的规则如下:先设定文件分片的最小阈值m1和最大阈值m2,最小阈值m1的值大于0,最大阈值m2大于最小阈值m1且小于文件长度s,需要注意的是,最大阈值m2的值越小,分片的效果越好。

在具体的实施例中,步骤s1根据随机算法生成随机数作为分片的大小对文件进行分片处理,还包括以下步骤:

s11:随机算法分片产生一个随机数l1,用作第一分片的长度。随机数l1介于最小阈值m1和最大阈值m2之间。

s12:判断未分片文件长度k是否大于最大阈值m2。未分片的长度k的值为文件长度s扣去随机数l1的长度,即k=s-l1。

s13:当未分片文件长度k小于最大阈值m2时,结束分片。此时,以当前剩余未分片的文件长度作为最后一个分片的长度。

其中,步骤s11随机算法分片产生一个随机数l1,用作第一分片的长度。还包括以下步骤:

s111:判断文件是否为第一分片;

s112:若文件是第一分片,则添加当前文件数为总分片数t,该总分片数t的值为第一分片文件+剩余未分片文件,t=2;

s113:若文件不是第一分片,则为该分片文件添加分片序列号1,同时返回继续进行以上s12步骤。

在具体的实施例中,文件未分片的长度k大于等于最大阈值m2的情况下,继续用随机算法产生一个随机数l2,随机数l2同样介于最小阈值m1和最大阈值m2之间,用作第二个分片的长度,文件未分片的长度k小于最大阈值m2,则直接把文件未分片长度k作为最后一个分片的长度;重复执行步骤,直至最后文件未分片的长度k小于最大阈值m2,分片过程即视为结束。分片传输完成后,接收方将接受到的全部分片按分片的片段号进行重组,生成原始文件。

在具体的实施例中,确定文件分片的总个数的过程如下:用随机算法产生介于最小阈值m1和最大阈值m2之间的一个随机数l1,用作第一分片的长度;此时已分片的长度为l1,未分片的长度为k=(s-l1);若文件未分片的长度k大于等于最大阈值m2,再用随机算法产生最小阈值m1到最大阈值m2之间的一个随机数l2,用作第二个分片的长度;此时已分片的长度为l1+l2,未分片的长度为k=(s-l1-l2);此时若文件未分片的长度k大于等于最大阈值m2,则重复上述步骤;假设random可以产生m1到m2的随机数,则整个过程会产生从l1到ln的随机数:l1=random(m1,m2);l2=random(m1,m2);…ln=random(m1,m2);分片完成之后,会调用n次随机分片函数,最后的分片总数为t=(n+1)。

作为示例,假定需要传输的文件长度为100,先设定文件分片的两个阈值,最小阈值m1=10,最大阈值m2=30,进行该文件的碎片化。假定用随机算法产生随机数l1=26,作为第一分片的长度,则剩余未分片文件长度k=100-26=74,未分片的文件长度k的值大于最大阈值m2,此时记l1为第一分片的片段号1;再用随机算法生成随机数l2=18,剩余未分片文件长度k=74-18=56,未分片的文件长度k的值大于最大阈值m2,此时记l2为第二分片的片段号2;再用随机算法生成随机数l3=13,剩余未分片文件长度k=56-13=43,未分片的文件长度k的值大于最大阈值m2,此时记l3为第三分片的片段号3;再用随机算法生成随机数l4=20,剩余未分片文件长度k=43-20=23,此时剩余未分片的文件长度k=23小于最大阈值m2,此时记l4为第一分片的片段号4,则剩余未分片的长度k作为最后一个分片的长度,记该最后一个分片的片段号5,该文件分片传输后,按照片段号1-5进行排列重新生成文件。

如图2所示,横坐标为35秒前、30秒前…,0代表当前时间。纵坐标代表流量百分比。等量分片实时流量的流量比一直维持在80%,实时流量较为规律、稳定,对单位时间内的流量控制并不能起到很好的缓解作用;随机分片流量0秒至35秒每5秒的流量百分比为48%、3%、25%、11%、50%、15%、15%、10%,整体的实时流量表现无规律可循,不易引起相关流量监测软件的察觉,可以大大提高文件传输的成功率。

本发明的实施例还涉及一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上文中的方法。该计算机程序包含用于执行流程图所示的方法的程序代码。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。

如图3所示,示出了根据本发明的一种文件碎片化传输的装置,该装置包括发送单元1、分片单元2和传输单元3。发送单元1用于获取带传输文件的参数;分片单元2用于根据随机算法生成随机数作为分片的大小对文件进行分片处理,对文件的每个分片,按照分片的顺序加上片段号;传输单元3用于执行每个分片的传输。

在具体的实施例中,分片单元2还用于设定文件分片的最小阈值m1和最大阈值m2,所述最小阈值m1的值大于0,所述最大阈值m2大于所述最小阈值m1且小于所述文件长度s;用随机算法产生一个随机数l1,用作第一分片的长度;若文件未分片的长度k大于等于最大阈值m2,再用随机算法产生一个随机数l2,用作第二个分片的长度,若文件未分片的长度k小于最大阈值m2,则直接把文件未分片的长度k作为最后一个分片的长度;重复执行上述步骤,直至文件未分片的长度k小于最大阈值m2。

由此可见,本发明的一种文件碎片化传输的方法、装置及存储介质,根据随机算法生成随机数作为分片的大小对文件进行分片处理;对所述文件的每个所述分片,按照所述分片的顺序加上片段号;执行每个所述分片的传输,该文件传输方法对大型文件进行随机大小的分片处理,使得单位时间内文件传输流量无规律。对具有流量监测、流量防火墙等的环境下传输文件时,大大提升了文件传输的成功率。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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