一种动态文件的传输方法、装置及电子设备的制造方法
【专利摘要】本发明实施例公开了一种动态文件的传输方法、装置及电子设备,所述方法包括:获取第一操作指令,所述第一操作指令用于指示创建动态文件I、以及指示将已创建的所述动态文件I传输给接收端;根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容;对所述动态文件I进行实时分片,依次获取多个分片文件;使用喷泉码对已获取的所述分片文件进行编码;将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。本发明实施例提供的技术方案,通过将动态文件进行分片得到分片文件,以及将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端的方式,缩短了动态文件的传输时间。
【专利说明】
一种动态文件的传输方法、装置及电子设备
技术领域
[0001]本发明涉及数据传输技术领域,尤其涉及一种动态文件的传输方法、装置及电子设备。
【背景技术】
[0002]目前,发送端和接收端之间传输动态文件采用的方法是:发送端在动态文件创建完成之后才将获取的动态文件传输到接收端。其中,动态文件是指文件从开始创建到创建完成有一个持续的过程,在创建过程中文件内容不断更新的文件,比如实时获取的视频文件、或者实时获取的音频文件等。
[0003]本发明的发明人在研究和实践过程中发现,由于动态文件具有容量大,持续时间长的特点,目前采用的传输方法,从动态文件开始创建到创建完毕、以及再到接收端接收全所述创建完毕的动态文件存在较长时间的滞后。因此,现有技术不利于接收端及时获取发送端创建的动态文件。另外,目前网络状态通常不够稳定,在传输大容量的动态文件时,容易由于网络状态不佳,导致传输失败,这时发送端需要重新向接收端传输动态文件,这将进一步延长从发送端开始创建动态文件到接收端获得完整的动态文件的时间。
【发明内容】
[0004]本发明实施例提供了一种动态文件的传输方法、装置及电子设备,可以解决如何缩短动态文件传输时间的问题。
[0005]本发明实施例第一方面提供一种动态文件的传输方法,包括:
[0006]获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端;
[0007]根据所述第一操作指令所述创建动态文件I,并实时更新所述动态文件I的内容;
[0008]对所述动态文件I进行实时分片,依次获取多个分片文件;
[0009]使用喷泉码对已获取的所述分片文件进行编码;
[0010]将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0011]结合第一方面,在第一方面的第一种可能的实施方式中,在对所述动态文件I进行实时分片之后,所述方法还包括:
[0012]使用散列函数对分片文件I」进行计算,得到与所述分片文件I」对应的第一哈希值SHA2j,所述分片文件Ij为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数;
[0013]生成与所述分片文件。对应的分片文件信息记录Lp所述分片文件信息记录1^保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件I」的位置信息和所述第一哈希值SHA2j。
[0014]结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,在所述根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容之后,所述方法还包括:
[0015]获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成;
[0016]在获取所述第二操作指令之后,所述方法还包括:
[0017]使用散列函数对所述分片文件Ij重新进行计算,得到与所述分片文件1」对应的第二哈希值SHA2j’;
[0018]比较所述第一哈希值SHA2j和所述第二哈希值SHA2/是否相同;
[0019]在所述第一哈希值SHA2」不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件L重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收端。
[0020]结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,在获取所述第二操作指令之后,以及对所述动态文件I进行实时分片结束之后,所述方法还包括:
[0021 ]向所述接收端发送所述分片文件信息配置表P,以使所述接收端根据所述分片文件信息配置表P将接收到的文件进行合并。
[0022]结合第一方面的第一种可能的实施方式,在第一方面的第四种可能的实施方式中,在对所述动态文件I进行实时分片之后,所述方法还包括:
[0023]生成分片文件信息队列,所述分片文件信息队列记录了每个分片文件的文件传输状态,在所述分片文件信息队列中记录的所述分片文件Ij的文件传输状态为传输失败的情况下,将使用喷泉码对所述分片文件L进行编码后得到的文件重新传输到接收端。
[0024]结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述使用喷泉码对已获取的所述分片文件进行编码,包括:
[0025]使用Raptor编码对已获取的所述分片文件进行编码。
[0026]本发明实施例第二方面提供一种动态文件的传输装置,包括:
[0027]第一获取单元,用于获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端;
[0028]创建单元,用于根据所述第一获取单元获取的所述第一操作指令创建动态文件I,并实时更新所述动态文件I的内容;
[0029]分片单元,用于对所述创建单元创建的所述动态文件I进行实时分片,依次获取多个分片文件;
[0030]编码单元,用于使用喷泉码对所述分片单元对所述动态文件进行实时分片获取的所述分片文件进行编码;
[0031]第一传输单元,用于将所述编码单元使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0032]结合第二方面,在第二方面的第一种可能的实施方式中,所述传输装置还包括:
[0033]第一计算单元,用于在所述分片单元对所述动态文件I进行实时分片之后,使用散列函数对分片文件Ij进行计算,得到与所述分片文件Ij对应的第一哈希值SHA2」,所述分片文件L为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数。
[0034]第一生成单元,用于生成与所述分片文件L对应的分片文件信息记录Lp所述分片文件信息记录Lj保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件L的位置信息和所述第一哈希值SHA2j。
[0035]结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述传输装置还包括:
[0036]第二获取单元,用于在所述创建单元根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容之后,获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成。
[0037]第二计算单元,用于在所述第二获取单元获取所述第二操作指令之后,使用散列函数对所述分片文件Ij重新进行计算,得到与所述分片文件1」对应的第二哈希值SHA2/。
[0038]比较单元,用于比较所述第一哈希值SHA2」和所述第二哈希值SHA2/是否相同。
[0039]第一处理单元,用于在所述比较单元的比较结果为所述第一哈希值SHA2」不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件^重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收端。
[0040]结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述传输装置还包括
[0041 ]第二传输单元,用于在所述第二获取单元获取所述第二操作指令之后,以及所述分片单元对所述动态文件I进行实时分片结束之后,向所述接收端发送所述分片文件信息配置表P,以使所述接收端根据所述分片文件信息配置表P将接收到的文件进行合并。
[0042]结合第二方面的第一种可能的实施方式,在第二方面的第四种可能的实施方式中,所述传输装置还包括:
[0043]第二生成单元,用于在所述分片文件对所述动态文件I进行实时分片之后,生成分片文件信息队列,所述分片文件信息队列记录了每个分片文件的文件传输状态;
[0044]第三传输单元,用于在所述分片文件信息队列中记录的所述分片文件Ij的文件传输状态为传输失败的情况下,将使用喷泉码对所述分片文件Ij进行编码后得到的文件重新传输到接收端。
[0045]结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式或第二方面的第三种可能的实施方式或第二面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述编码单元具体用于,使用Raptor编码对已获取的所述分片文件进行编码。
[0046]本发明实施例第三方面提供一种电子设备,包括:处理器、存储器、通信接口和总线;
[0047]所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通
?目;
[0048]所述存储器存储可执行程序代码;
[0049]所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种动态文件的传输方法;其中,所述动态文件的传输方法包括:
[0050]获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端;
[0051]根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容;
[0052]对所述动态文件I进行实时分片,依次获取多个分片文件;
[0053]使用喷泉码对已获取的所述分片文件进行编码;
[0054]将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0055]本发明实施例第四方面提供一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明实施例所述的一种动态文件的传输方法。
[0056]本发明实施例第五方面提供一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种动态文件的传输方法。
[0057]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率,另外,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此采用本发明提供的技术方案缩短了动态文件的传输时间。
【附图说明】
[0058]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]图1是本发明实施例提供的一种网络架构的示意图;
[0060]图2是本发明的实施例提供的一种动态文件的传输方法的流程示意图;
[0061]图3是本发明的另一实施例提供的一种动态文件的传输方法的流程示意图;
[0062]图4是本发明的另一实施例提供的一种动态文件的传输方法的流程示意图;
[0063]图5是本发明的另一实施例提供的一种动态文件的传输方法的流程示意图;
[0064]图6是本发明实施例提供的一种动态文件的传输装置的结构示意图;
[0065]图7是本发明的另一实施例提供的一种动态文件的传输装置的结构示意图;
[0066]图8是本发明的另一实施例提供的一种动态文件的传输装置的结构示意图;
[0067]图9是本发明的另一实施例提供的一种电子设备的结构示意图。
【具体实施方式】
[0068]本发明实施例提供了一种动态文件的传输方法、装置及电子设备,能够缩短动态文件的传输时间。
[0069]为了使本技术领域的技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0070]以下分别进行详细说明。
[0071]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0072]本发明一种动态文件的传输方法,可以包括:获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端;根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容;对所述动态文件I进行实时分片,依次获取多个分片文件;使用喷泉码对已获取的所述分片文件进行编码;将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0073]请参阅图1,图1是一种可能用于实施本发明实施例方案的网络架构。在图1所示的网络架构中,包括:发送端和至少一个接收端,发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件,发送端可以为智能手机、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子装置;接收端可以为云服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0074]其中,发送端获取动态文件后根据文件分片策略将已获取的动态文件进行分片,比如可以按照预设的大小进行分片,举例来说,可以按照1M的大小将动态文件进行分片,即将开始获取动态文件到动态文件更新到1M时的文件片段作为第一分片文件,当动态文件更新到20M时,可以将1M至20M之间的文件片段作为第二个分片文件。当然也可以按照预设的时间间隔对动态文件进行分片,举例来说,若动态文件为实时增加的视频文件时,则可以设置每隔两秒钟对动态文件进行分片,即将O秒至2秒之间的视频片段作为第一分片文件,将2秒至4秒之间的视频片段作为第二分片文件。在发送端将动态文件进行分片后,对分片文件使用喷泉码进行编码,然后将编码后的文件传输到接收端。
[0075]喷泉码是1998年由M.Luby等人提出的编码方法,喷泉码的编码类似于一个喷泉,若用一个水杯接收,只要接收到足够多的水即可,而不关心接到的是哪几滴水或接到的水的顺序,就是这种类似喷泉的编码特性,将这种编码方式命名为喷泉码,喷泉码的基本思想是,发送端如喷泉一样源源不断地产生编码数据包,接收端只要接收到足够的数据包就能成功恢复原始数据,编码数据包被接收的顺序对译码没有影响。
[0076]喷泉码有LT编码和Raptor编码两种,Raptor编码是在LT编码基础上的改进得到的编码,它的提出是因为LT编码中存在用于保证对输入数据包良好覆盖的少量较大的包,这些包增加了译码过程中异或操作的次数,降低了可译几何的比例,降低了译码的成功率。Raptor编码具有无固定码率、无需反馈、低编译码复杂度、对异质用户支持友好(不同用户所处的网络环境不尽相同,用户只要根据自己的网络状况接收编码数据包进行译码即可)、以及有利于并行下载和多远下载等多重优势,所以Raptor编码应用在具有大数据量的多媒体数据的多播推送中,能更好地解决数据传输中存在的技术弊端,更好地发挥多播推送服务的优势,有利于加快数据从发送端到接收端的传输速度,节省数据从发送端到接收端的传输时间。
[0077]若发送端为手机,通过点击手机中的应用,实时地拍摄视频,采用本发明提供的技术方案,视频在拍摄过程中,对已获取的视频文件进行分片,即获得小容量的分片文件,然后对每个分片文件进行Raptor编码,将Raptor编码后的文件传输到接收端,接收端可以根据接收到的分片文件编码后的文件后经过译码得到分片文件、以及根据分片文件得到发送到获取的动态文件。
[0078]本发明实施例提供的技术方案,一方面,通过将动态文件进行分片,降低了当网络不稳定时大文件易受影响而重传的概率;另一方面,通过将分片文件进行Raptor编码后传输到接收端,加快了动态文件的传输,有利于接收端及时获取动态文件。
[0079]请参阅图2,图2是本发明的一个实施例提供的一种动态文件的传输方法的流程示意图,如图2所示,本发明的一个实施例提供的一种动态文件的传输方法可以包括以下内容:
[0080]201、发送端获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端。
[0081]其中,发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。发送端可以为智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子设备。
[0082]其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件。
[0083]其中,接收端可以为云服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0084]202、发送端根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容。
[0085]举例来说,若第一操作指令为录像指令、并指示将录像文件发送到接收端,则动态文件I为视频文件,则发送端在获取第一操作指令后,创建视频文件,并且实时更新录像文件,直至获取到用于指示动态文件I创建完成的第二操作指令,才结束对动态文件I的更新。
[0086]203、发送端对所述动态文件I进行实时分片,依次获取多个分片文件。
[0087]其中,发送端获取动态文件后可以根据文件分片策略将已获取的动态文件进行分片,比如可以按照预设的大小进行分片,举例来说,可以按照1M的大小将动态文件进行分片,即:将开始获取动态文件到动态文件更新到1M时的文件片段作为第一分片文件,当动态文件更新到20M时,可以将1M至20M之间的文件片段作为第二个分片文件,以此类推对获取的动态文件进行实时分片。当然也可以按照预设的时间间隔对动态文件进行分片,举例来说,若动态文件为实时增加的视频文件,可以设置每隔两秒钟对动态文件进行分片,即:将O秒至2秒之间的视频片段作为第一分片文件,将2秒至4秒之间的视频片段作为第二分片文件,以此类推对获取的动态文件进行实时分片。在发送端将动态文件进行分片后,对分片文件使用喷泉码进行编码,然后将编码后的文件传输到接收端。
[0088]204、发送端使用喷泉码对已获取的所述分片文件进行编码。
[0089]205、发送端将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0090]可选的,在本发明一些可能的实施方式中,可以使用Raptor编码对已获取的所述分片文件进行编码。
[0091]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件分片,得到小的分片文件,这样可以减少由于网络故障导致整个文件重新传输的概率;另外,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此采用本发明提供的技术方案缩短了动态文件的传输时间。
[0092]请参阅图3,图3是本发明的另一实施例提供的一种动态文件的传输方法的流程示意图,如图3所示,本发明的另一实施例提供的一种动态文件的传输方法可以包括以下内容:
[0093]301、发送端获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端。
[0094]其中,发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。发送端可以为智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子设备。
[0095]其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件。
[0096]其中,接收端可以为服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0097]302、发送端根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容。
[0098]举例来说,第一操作指令可以为录像指令、第一操作指令还用于指示将录像文件发送到接收端,则动态文件I为视频文件,则发送端在获取第一操作指令后,创建视频文件,并且实时更新录像文件,直至获取到用于指示动态文件I创建完成的第二操作指令,才结束对动态文件I的更新。
[0099]303、发送端对所述动态文件I进行实时分片,依次获取多个分片文件。
[0100]304、发送端使用散列函数对分片文件Ij进行计算,得到与所述分片文件Ij对应的第一哈希值SHA2j;所述分片文件Ij为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数。
[0101]305、发送端生成与所述分片文件1」对应的分片文件信息记录Lp所述分片文件信息记录Lj保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件I j的位置信息和所述第一哈希值SHA2j。
[0102]306、发送端使用喷泉码对已获取的所述分片文件进行编码。
[0103]307、发送端将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0104]308、发送端获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成。
[0105]309、发送端使用散列函数对所述分片文件L重新进行计算,得到与所述分片文件Ij对应的第二哈希值SHA2j ’。
[0106]310、发送端比较所述第一哈希值SHA2j和所述第二哈希值SHA2/是否相同。
[0107]311、发送端在所述第一哈希值SHA2」不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件^重新进行编码,并将所述使用喷泉码对所述分片文件^重新进行编码后得到的文件传输到接收端。
[0108]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率,同时,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此采用本发明提供的技术方案缩短了动态文件的传输时间,另外通过在获取第二操作指令之后对分片文件重新计算哈希值,在第一哈希值与第二哈希值不相同的情况下,使用喷泉码对所述分片文件Ij重新进行编码,并将所述使用喷泉码对所述分片文件I」重新进行编码后得到的文件传输到接收端,可以在动态文件发生改变时,确保接收端接收的数据与发送端发送的数据一致。
[0109]请参阅图4,图4是本发明的另一实施例提供的一种动态文件的传输方法的流程示意图,如图4所示,本发明的另一实施例提供的一种动态文件的传输方法可以包括以下内容:
[0110]401、发送端获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端。
[0111]其中,发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。发送端可以为智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子设备。
[0112]其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件。
[0113]其中,接收端可以为服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0114]402、发送端根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容。
[0115]举例来说,若第一操作指令为录像指令、第一操作指令还用于指示将录像文件发送到接收端,则动态文件I为视频文件,发送端在获取第一操作指令后,创建视频文件,并且实时更新录像文件,直至获取到用于指示动态文件I创建完成的第二操作指令,才结束对动态文件I的更新。
[0116]403、发送端对所述动态文件I进行实时分片,依次获取多个分片文件。
[0117]404、发送端使用散列函数对分片文件Ij进行计算,得到与所述分片文件Ij对应的第一哈希值SHA2」,所述分片文件Ij为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数。
[0118]405、发送端生成与所述分片文件Ij对应的分片文件信息记录Lp所述分片文件信息记录Lj保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件I j的位置信息和所述第一哈希值SHA2j。
[0119]406、发送端生成分片文件信息队列,所述分片文件信息队列记录了每个分片文件的文件传输状态,在所述分片文件信息队列中记录的所述分片文件I」的文件传输状态为传输失败的情况下,将使用喷泉码对所述分片文件Ij进行编码后得到的文件重新传输到接收端。
[0120]407、发送端使用喷泉码对已获取的所述分片文件进行编码。
[0121]408、发送端将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0122]409、发送端获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成。
[0123]410、发送端使用散列函数对所述分片文件L重新进行计算,得到与所述分片文件Ij对应的第二哈希值SHA2j ’。
[0124]411、发送端比较所述第一哈希值SHA2」和所述第二哈希值SHA2/是否相同。
[0125]412、发送端在所述第一哈希值SHA2」不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件L重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收端。
[0126]413、在获取所述第二操作指令之后,以及对所述动态文件I进行实时分片结束之后,向所述接收端发送所述分片文件信息配置表P,以使所述接收端根据所述分片文件信息配置表P将接收到的文件进行合并。
[0127]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率。同时,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此,采用本发明提供的技术方案缩短了动态文件的传输时间。另夕卜,通过向接收端发送分片文件信息配置表P,便于接收端根据分片文件信息配置表P将接收到的文件进行合并,确保接收端接收的数据与发送端生成数据的一致性。
[0128]下面以一个具体的实施例进行描述,假设动态文件大小为30M,动态文件分片策略为每更新1M内容得到一个分片文件,发送端为手机,接收端为云服务器。具体地,如图5所示,本实施例提供的动态文件的传输方法可以包括:
[0129]501、手机获取用户输入的第一操作指令,其中,第一操作指令用于指示视频拍摄装置拍摄视频(比如,使用手机的摄像头拍摄视频)、以及指示将所述视频拍摄装置拍摄得到的视频文件上传到云服务器。
[0130]502、手机根据所述第一操作指令触发视频拍摄装置进行拍摄,创建视频文件I,随着拍摄时间的推移,拍摄的视频内容实时更新,视频文件I得到实时更新。
[0131]503、手机对视频文件I进行实时分片,当视频文件I增加至1M时,则获取第一个分片文件Ii,当视频文件I增加至20M时,将1M至20M之间的文件片段作为第二个分片文件I2,当视频文件I增加至30M时,将20M至30M之间的文件片段作为第三个分片文件I3。
[0132]504、手机在获取第一个分片文件^后,使用散列函数对分片文件^进行计算,得到与所述分片文件Ii对应的第一哈希值SHA2i。生成与分片文件I1对应的分片文件信息记录U,分片文件信息记录L1保存在分片文件信息配置表P中,分片文件信息记录L1中记录了分片文件Ii的位置信息和第一哈希值SHA2X。
[0133]类似的,在获取第二个分片文件I2后,使用散列函数对分片文件I2进行计算,得到与所述分片文件12对应的第一哈希值SHA22。生成与分片文件I2对应的分片文件信息记录L2,分片文件信息记录L2保存在分片文件信息配置表P中,分片文件信息记录L2中记录了分片文件I3的位置信息和第一哈希值SHA22。
[0134]类似的,在获取第三个分片文件I3后,使用散列函数对分片文件I3进行计算,得到与所述分片文件13对应的第一哈希值SHA23。生成与分片文件I3对应的分片文件信息记录L3,分片文件信息记录L2保存在分片文件信息配置表P中,分片文件信息记录L2中记录了分片文件I3的位置信息和第一哈希值SHA22。
[0135]505、手机在获取第一个分片文件Ii后,手机使用Raptor编码对第一个分片文件Ii使用Raptor喷泉码进行编码。
[0136]类似的,手机在获取第二个分片文件I2后,手机使用Raptor编码对第二个分片文件12使用Raptor喷泉码进行编码。
[0137]类似的,手机在获取第三个分片文件I3后,手机使用Raptor编码对第三个分片文件12使用Raptor喷泉码进行编码。
[0138]506、手机在对第一个分片文件I1使用Raptor喷泉码进行编码后,将使用Raptor喷泉码进行编码后得到的文件传输到云服务器。
[0139]类似的,手机在对第二个分片文件I2使用Raptor喷泉码进行编码后,将使用Raptor喷泉码进行编码后得到的文件传输到云服务器。
[0140]类似的,手机在对第三个分片文件I3使用Raptor喷泉码进行编码后,将使用Raptor喷泉码进行编码后得到的文件传输到云服务器。
[0141 ] 507、手机获取第二操作指令,第二操作指令用于指示动态文件I创建完成。
[OH2] 508、手机使用散列函数对第一分片文件I1、第二分片文件12、和第三分片文件13重新进行计算,得到与第一分片文件I1对应的第二哈希值SHA〗:’、与第二分片文件I2对应的第二哈希值SHA22 ’、以及与第三分片文件I1对应的第二哈希值SHA23 ’。
[0143]509、手机比较所述第一哈希值SHA2j和所述第二哈希值SHA2」,是否相同,其中j =1、2或者3。
[0144]510、手机在第一哈希值SHA2」不同于第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件L重新进行编码,并将使用喷泉码对分片文件L重新进行编码后得到的文件传输到云服务器。
[0145]511、手机在获取第二操作指令之后,以及对动态文件I进行实时分片结束之后,向云服务器发送分片文件信息配置表P,以使云服务器根据分片文件信息配置表P将接收到的文件进行合并。
[0146]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率。同时,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此,采用本发明提供的技术方案缩短了动态文件的传输时间。另夕卜,通过向接收端发送分片文件信息配置表P,便于接收端根据分片文件信息配置表P将接收到的文件进行合并,确保接收端接收的数据与发送端生成数据的一致性。
[0147]请参阅图6,图6为本发明的一个实施例提供的一种动态文件的传输装置的结构示意图。如图6所示,本发明实施例提供的一种动态文件的传输装置600可以包括:
[0148]第一获取单元601,用于获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端。
[0149]其中,动态文件的传输装置600作为发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。可以为智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子设备。
[0150]其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件。
[0151]其中,接收端可以为云服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0152]创建单元602,用于根据所述第一获取单元601获取的所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容。
[0153]举例来说,若第一操作指令为录像指令、并指示将录像文件发送到接收端,则动态文件I为视频文件,则发送端在获取第一操作指令后,创建视频文件,并且实时更新录像文件,直至获取到用于指示动态文件I创建完成的第二操作指令,才结束对动态文件I的更新。
[0154]分片单元603,用于对所述创建单元602创建的所述动态文件I进行实时分片,依次获取多个分片文件。
[0155]可选的,在本发明一些可能的实施方式中,可以根据文件分片策略将已获取的动态文件进行分片,比如可以按照预设的大小进行分片,举例来说,可以按照1M的大小将动态文件进行分片,即将开始获取动态文件到动态文件更新到1M时的文件片段作为第一分片文件,当动态文件更新到20M时,可以将1M至20M之间的文件片段作为第二个分片文件。当然也可以按照预设的时间间隔对动态文件进行分片,举例来说,若动态文件为实时增加的视频文件时,则可以设置每隔两秒钟对动态文件进行分片,即将O秒至2秒之间的视频片段作为第一分片文件,将2秒至4秒之间的视频片段作为第二分片文件。在发送端将动态文件进行分片后,对分片文件使用喷泉码进行编码,然后将编码后的文件传输到接收端。
[0156]编码单元604,用于使用喷泉码对所述分片单元对所述动态文件进行实时分片获取的所述分片文件进行编码。
[0157]可选的,在本发明一些可能的实施方式中,可以使用Raptor编码对已获取的所述分片文件进行编码。
[0158]第一传输单元605,用于将所述编码单元604使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0159]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率,另外,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此采用本发明提供的技术方案缩短了动态文件的传输时间。
[0160]请参阅图7,图7为本发明的另一实施例提供的一种动态文件的传输装置的结构示意图。如图7所示,本发明实施例提供的一种动态文件的传输装置700可以包括:
[0161]第一获取单元701,用于获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端。
[0162]其中,动态文件的传输装置700作为发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。可以为智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子设备。
[0163]其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件。
[0164]其中,接收端可以为云服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0165]创建单元702,用于根据所述第一获取单元701获取的所述第一操作指令创建动态文件I,并实时更新所述动态文件I的内容。
[0166]举例来说,若第一操作指令为录像指令、并指示将录像文件发送到接收端,则动态文件I为视频文件,则发送端在获取第一操作指令后,创建视频文件,并且实时更新录像文件,直至获取到用于指示动态文件I创建完成的第二操作指令,才结束对动态文件I的更新。
[0167]分片单元703,用于对所述创建单元702创建的所述动态文件I进行实时分片,依次获取多个分片文件。
[0168]可选的,在本发明一些可能的实施方式中,可以根据文件分片策略将已获取的动态文件进行分片,比如可以按照预设的大小进行分片,举例来说,可以按照1M的大小将动态文件进行分片,即将开始获取动态文件到动态文件更新到1M时的文件片段作为第一分片文件,当动态文件更新到20M时,可以将1M至20M之间的文件片段作为第二个分片文件。当然也可以按照预设的时间间隔对动态文件进行分片,举例来说,若动态文件为实时增加的视频文件时,则可以设置每隔两秒钟对动态文件进行分片,即将O秒至2秒之间的视频片段作为第一分片文件,将2秒至4秒之间的视频片段作为第二分片文件。在发送端将动态文件进行分片后,对分片文件使用喷泉码进行编码,然后将编码后的文件传输到接收端。
[0169]编码单元704,用于使用喷泉码对所述分片单元对所述动态文件进行实时分片获取的所述分片文件进行编码。
[0170]可选的,在本发明一些可能的实施方式中,可以使用Raptor编码对已获取的所述分片文件进行编码。
[0171]第一传输单元705,用于将所述编码单元704使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0172]第一计算单元706,用于在所述分片单元703对所述动态文件I进行实时分片之后,使用散列函数对分片文件Ij进行计算,得到与所述分片文件1」对应的第一哈希值SHA2」,其中,所述分片文件Ij为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数。
[0173]第一生成单元707,用于生成与所述分片文件L对应的分片文件信息记录Lp所述分片文件信息记录Lj保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件L的位置信息和所述第一哈希值SHA2j。
[0174]第二获取单元708,用于在所述创建单元702根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容之后,获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成。
[0175]第二计算单元709,用于在所述第二获取单元获取所述第二操作指令之后,使用散列函数对所述分片文件Ij重新进行计算,得到与所述分片文件1」对应的第二哈希值SHA2/。
[0176]比较单元710,用于比较所述第一哈希值3说2」和所述第二哈希值3说2/是否相同。
[0177]第一处理单元711,用于在所述比较单元710的比较结果为所述第一哈希值SHA2j不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件Ij重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收端。
[0178]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率,同时,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此采用本发明提供的技术方案缩短了动态文件的传输时间,另外通过在获取第二操作指令之后对分片文件重新计算哈希值,在第一哈希值与第二哈希值不相同的情况下,使用喷泉码对所述分片文件Ij重新进行编码,并将所述使用喷泉码对所述分片文件Ij重新进行编码后得到的文件传输到接收端,可以在动态文件发生改变时,确保接收端接收的数据与发送端生成数据的一致性。
[0179]请参阅图8,图8为本发明的另一实施例提供的一种动态文件的传输装置的结构示意图。如图8所示,本发明实施例提供的一种动态文件的传输装置800可以包括:
[0180]第一获取单元801,用于获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端。
[0181]其中,动态文件的传输装置800作为发送端用于获取动态文件和将获取的动态文件通过网络传输到接收端。可以为智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具备拍摄视频或获取视频或录音等功能且能够访问网络的电子设备。
[0182]其中,动态文件可以是发送端实时获取的视频文件或者实时获取的音频文件。
[0183]其中,接收端可以为云服务器、智能手机、笔记本电脑、PDA、PAD、PMP、导航装置等具有通过网络接收数据、并能够反馈数据接收状态的电子设备,本发明实施例不作限定。
[0184]创建单元802,用于根据所述第一获取单元801获取的所述第一操作指令创建动态文件I,并实时更新所述动态文件I的内容。
[0185]举例来说,若第一操作指令为录像指令、并指示将录像文件发送到接收端,则动态文件I为视频文件,则发送端在获取第一操作指令后,创建视频文件,并且实时更新录像文件,直至获取到用于指示动态文件I创建完成的第二操作指令,才结束对动态文件I的更新。
[0186]分片单元803,用于对所述创建单元802创建的所述动态文件I进行实时分片,依次获取多个分片文件。
[0187]可选的,在本发明一些可能的实施方式中,可以根据文件分片策略将已获取的动态文件进行分片,比如可以按照预设的大小进行分片,举例来说,可以按照1M的大小将动态文件进行分片,即将开始获取动态文件到动态文件更新到1M时的文件片段作为第一分片文件,当动态文件更新到20M时,可以将1M至20M之间的文件片段作为第二个分片文件。当然也可以按照预设的时间间隔对动态文件进行分片,举例来说,若动态文件为实时增加的视频文件时,则可以设置每隔两秒钟对动态文件进行分片,即将O秒至2秒之间的视频片段作为第一分片文件,将2秒至4秒之间的视频片段作为第二分片文件。在发送端将动态文件进行分片后,对分片文件使用喷泉码进行编码,然后将编码后的文件传输到接收端。
[0188]编码单元804,用于使用喷泉码对所述分片单元803对所述动态文件进行实时分片获取的所述分片文件进行编码。
[0189]可选的,在本发明一些可能的实施方式中,可以使用Raptor编码对已获取的所述分片文件进行编码。
[0190]第一传输单元805,用于将所述编码单元804使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0191 ]第一计算单元806,用于在所述分片单元803对所述动态文件I进行实时分片之后,使用散列函数对分片文件Ij进行计算,得到与所述分片文件1」对应的第一哈希值SHA2p其中,所述分片文件Ij为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数。
[0192]第一生成单元807,用于生成与所述分片文件L对应的分片文件信息记录Lp所述分片文件信息记录Lj保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件L的位置信息和所述第一哈希值SHA2j。
[0193]第二获取单元808,用于在所述创建单元802根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容之后,获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成。
[0194]第二计算单元809,用于在所述第二获取单元获取所述第二操作指令之后,使用散列函数对所述分片文件Ij重新进行计算,得到与所述分片文件1」对应的第二哈希值SHA2/。
[0195]比较单元810,用于比较所述第一哈希值SHA2j和所述第二哈希值SHA2/是否相同。
[0196]第一处理单元811,用于在所述比较单元810的比较结果为所述第一哈希值SHA2j不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件Ij重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收端。
[0197]第二传输单元812,用于在所述第二获取单元获取所述第二操作指令之后,以及所述分片单元对所述动态文件I进行实时分片结束之后,向所述接收端发送所述分片文件信息配置表P,以使所述接收端根据所述分片文件信息配置表P将接收到的文件进行合并。
[0198]第二生成单元813,用于在所述分片单元对所述动态文件I进行实时分片之后,生成分片文件信息队列,所述分片文件信息队列记录了每个分片文件的文件传输状态,
[0199]第三传输单元814,用于在所述分片文件信息队列中记录的所述分片文件Ij的文件传输状态为传输失败的情况下,将使用喷泉码对所述分片文件Ij进行编码后得到的文件重新传输到接收端。
[0200]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率。同时,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此,采用本发明提供的技术方案缩短了动态文件的传输时间。另夕卜,通过向接收端发送分片文件信息配置表P,便于接收端根据分片文件信息配置表P将接收到的文件进行合并,确保接收端接收的数据与发送端发送的数据的一致性。
[0201]参见图9,图9为本发明实施例提供的一种电子设备的结构示意图,所述电子设备900,可以包括:
[0202]处理器901、存储器902、通信接口 903和总线904;
[0203]其中,所述处理器901、所述存储器902和所述通信接口903通过所述总线904连接并完成相互间的通信;
[0204]所述存储器902存储可执行程序代码;
[0205]所述处理器901通过读取所述存储器902中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种动态文件的传输方法;其中,一种动态文件的传输方法包括:
[0206]获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端;
[0207]根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容;
[0208]对所述动态文件I进行实时分片,依次获取多个分片文件;
[0209]使用喷泉码对已获取的所述分片文件进行编码;
[0210]将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
[0211]可以看出,采用本发明实施例提供的技术方案,在进行动态文件传输时,通过先将动态文件进行分片得到小的分片文件,可以减少由于网络故障导致整个文件重新传输的概率,另外,通过将使用喷泉码对已获取的分片文件进行编码后得到的文件传输到接收端,可以加快文件的传输速度,因此采用本发明提供的技术方案缩短了动态文件的传输时间。
[0212]本发明实施例还提供了一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明实施例所述的一种视频文件的备份方法。
[0213]本发明实施例还提供了一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种动态文件的传输方法。
[0214]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0215]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0216]在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0217]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0218]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0219]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0220]以上所述,以上实施例仅用以说明本发明技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,其中,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种动态文件的传输方法,其特征在于,包括: 获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端; 根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容; 对所述动态文件I进行实时分片,依次获取多个分片文件; 使用喷泉码对已获取的所述分片文件进行编码; 将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。2.根据权利要求1所述的方法,其特征在于,在对所述动态文件I进行实时分片之后,所述方法还包括: 使用散列函数对分片文件Ij进行计算,得到与所述分片文件Ij对应的第一哈希值SHA2p所述分片文件L为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数; 生成与所述分片文件L对应的分片文件信息记录Lp所述分片文件信息记录保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件Ij的位置信息和所述第一哈希值SHA2j。3.根据权利要求2所述的方法,其特征在于,在所述根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容之后,所述方法还包括: 获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成; 在获取所述第二操作指令之后,所述方法还包括: 使用散列函数对所述分片文件Ij重新进行计算,得到与所述分片文件1」对应的第二哈希值 SHA2j’; 比较所述第一哈希值SHA2j和所述第二哈希值SHA2j ’是否相同; 在所述第一哈希值SHA2」不同于所述第二哈希值SHA2」’的情况下,使用喷泉码对所述分片文件L重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收。4.根据权利要求3所述的方法,其特征在于,在获取所述第二操作指令之后,以及对所述动态文件I进行实时分片结束之后,所述方法还包括: 向所述接收端发送所述分片文件信息配置表P,以使所述接收端根据所述分片文件信息配置表P将接收到的文件进行合并。5.根据权利要求2所述的方法,其特征在于,在对所述动态文件I进行实时分片之后,所述方法还包括: 生成分片文件信息队列,所述分片文件信息队列记录了每个分片文件的文件传输状态,在所述分片文件信息队列中记录的所述分片文件Ij的文件传输状态为传输失败的情况下,将使用喷泉码对所述分片文件L进行编码后得到的文件重新传输到接收端。6.根据权利要求1至5任一项所述的方法,其特征在于,所述使用喷泉码对已获取的所述分片文件进行编码,包括: 使用Raptor编码对已获取的所述分片文件进行编码。7.一种动态文件的传输装置,其特征在于,包括: 第一获取单元,用于获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端; 创建单元,用于根据所述第一获取单元获取的所述第一操作指令创建动态文件I,并实时更新所述动态文件I的内容; 分片单元,用于对所述创建单元创建的所述动态文件I进行实时分片,依次获取多个分片文件; 编码单元,用于使用喷泉码对所述分片单元对所述动态文件进行实时分片获取的所述分片文件进行编码; 第一传输单元,用于将所述编码单元使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。8.根据权利要求7所述的传输装置,其特征在于,所述传输装置还包括: 第一计算单元,用于在所述分片单元对所述动态文件I进行实时分片之后,使用散列函数对分片文件Ij进行计算,得到与所述分片文件Ij对应的第一哈希值SHA2」,其中,所述分片文件L为对所述动态文件I进行实时分片后获取的第j个分片文件,所述j为大于或者等于I的整数; 第一生成单元,用于生成与所述分片文件I^t应的分片文件信息记录k,所述分片文件信息记录Lj保存在分片文件信息配置表P中,所述分片文件信息记录Lj中记录了所述分片文件I j的位置信息和所述第一哈希值SHA2j。9.根据权利要求8所述的传输装置,其特征在于,所述传输装置还包括: 第二获取单元,用于在所述创建单元根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容之后,获取第二操作指令,所述第二操作指令用于指示所述动态文件I创建完成; 第二计算单元,用于在所述第二获取单元获取所述第二操作指令之后,使用散列函数对所述分片文件L重新进行计算,得到与所述分片文件&对应的第二哈希值SHA2/; 比较单元,用于比较所述第一哈希值SHA2」和所述第二哈希值SHA2/是否相同; 第一处理单元,用于在所述比较单元的比较结果为所述第一哈希值SHA2」不同于所述第二哈希值SHA2/的情况下,使用喷泉码对所述分片文件L重新进行编码,并将所述使用喷泉码对所述分片文件L重新进行编码后得到的文件传输到接收端。10.—种电子设备,其特征在于,包括:处理器、存储器、通信接□和总线; 所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信; 所述存储器存储可执行程序代码; 所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种动态文件的传输方法;其中,所述动态文件的传输方法包括: 获取第一操作指令,所述第一操作指令用于指示创建动态文件1、以及指示将已创建的所述动态文件I传输给接收端; 根据所述第一操作指令创建所述动态文件I,并实时更新所述动态文件I的内容; 对所述动态文件I进行实时分片,依次获取多个分片文件; 使用喷泉码对已获取的所述分片文件进行编码; 将所述使用喷泉码对已获取的所述分片文件进行编码后得到的文件传输到接收端。
【文档编号】H04L9/32GK105827700SQ201610147622
【公开日】2016年8月3日
【申请日】2016年3月15日
【发明人】龙树林
【申请人】北京金山安全软件有限公司