资源获取方法及终端设备的制造方法_3

文档序号:8225866阅读:来源:国知局
源,可以具体包括图2所示出的步骤:
[0074]步骤201:向服务器发送包括待获取资源的标识的消息;
[0075]步骤202:接收上述服务器以多播的通信方式发送的多个数据单元,上述多个数据单元为上述服务器根据与上述待获取资源的标识对应的资源生成的多个数据单元;
[0076]步骤203:基于所使用的多播传输协议根据上述多个数据单元得到上述待获取资源。
[0077]基于上述步骤流程,终端设备可以基于多播网络下的数据分发流程进行资源的获取。
[0078]进一步地,上述步骤步骤203:基于所使用的多播传输协议根据上述多个数据单元得到上述待获取资源,可以进一步包括图中未示出的:
[0079]步骤2031:当接收到的数据单元的数目达到预设值时,利用前向纠错编码算法根据接收到的多个数据单元得到上述待获取资源;
[0080]其中,上述数据单元包括由待获取资源分得的多个原始数据单元和利用上述前向纠错编码算法根据上述原始数据单元得到的多个校验数据单元。
[0081]上述前向纠错(Forward Error Correct1n,FEC)编码算法可以说是一种增加传输数据冗余度来提高传输可靠性的算法。通过该算法,终端不需要接收到服务器所发送的所有数据单元,也可以还原出服务器所发送的全部原始数据,即通信过程中可以允许丢包。同时,接收到的多个数据单元还可以用于对接收到的原始数据进行纠错,以进一步提高传输过程的可靠性。
[0082]进一步地,上述多个原始数据单元由多个大小相同的数据块分得,上述多个相同大小的数据块由多个文件传输单元分得,每一上述文件传输单元包括由上述待获取资源分得的文件片段以及与该文件片段对应的校验信息,生成上述校验信息的数据校验编码算法包括文件完整性校验编码算法和/或循环冗余校验编码算法,上述步骤2031:当接收到的数据单元的数目达到预设值时,利用前向纠错编码算法根据接收到的多个数据单元得到上述待获取资源,可以具体包括如图3所示出的步骤:
[0083]步骤301:当接收到的与任一数据块对应的原始数据单元和校验数据单元的数目之和达到上述预设值时,利用前向纠错编码算法根据上述原始数据单元和校验数据单元得到该数据块;
[0084]步骤302:当与任一文件传输单元对应的多个数据块均已得到时,根据上述多个数据块还原该文件传输单元,并利用文件传输单元中的上述校验信息对该文件传输单元进行校验。
[0085]采用上述方式可将校验信息添加至被分割前的文件传输单元中,以实现对接收数据的校验,保障传输过程的可靠性。
[0086]另外,在上述利用文件传输单元中的上述校验信息对该文件传输单元进行校验之后,还可以包括图3中未示出的:
[0087]步骤303:当任一文件传输单元的校验失败时,执行以下操作中的任意一项或多项:
[0088]利用前向纠错编码算法根据与该文件传输单元对应的多个数据块对该文件传输单元进行纠错;
[0089]抛弃已经接收到的所有与该文件传输单元对应的数据块,并继续接收与该文件传输单元对应的数据块;
[0090]向通信网络中的终端设备或服务器发送包括该文件传输单元的标识的传输请求消息,以使通信网络中的终端设备或服务器返回该文件传输单元。
[0091]S卩,可利用前向纠错编码算法对校验失败的文件传输单元进行纠错;或者,可使服务器反复发送多份相同的多个数据单元,使得出于各种原因导致的数据单元丢失或错误均可以在下一轮的数据单元发送过程中重新接收,以进一步保障通信的可靠性;或者,还可以通过向其他终端设备或服务器发送包括该文件传输单元的标识的传输请求消息,以使通信网络中的终端设备或服务器返回该文件传输单元。总之,上述多播传输过程中的前向纠错编码和校验信息可以充分保障传输过程的可靠性。
[0092]更具体地,在本发明一个较佳的实施例中,大量用户下载同一服务器上同一份补丁文件的情景下,利用上述资源获取方法以多播传输方式进行补丁文件传输的具体流程如下上述:
[0093]在文件层次上,服务器对于待传输的补丁文件(或者补丁文件目录),会先进行分片处理,比如将所有待传输的补丁文件分为多个大小相同的文件片段(当然有个别文件片段的大小可能会不同,其可以通过如添加空白数据的常用手段进行规范化或者特殊处理,下文的类似情况均不再赘述)。为了保障通信的可靠性,可以在文件片段中添加校验信息,比如根据文件片段生成的文件完整性校验编码和循环冗余校验编码,以生成文件层次上的文件传输单元。对于每个终端设备而言,在得到每个文件传输单元后,可以利用校验信息校验得到的文件片段与原始文件片段的一致性。若存在不一致的情况,可以抛弃该文件传输单元并重新传输;若校验可以顺利通过,则将得到的文件片段存储,待得到所有文件片段后再通过分片的逆向操作得到原始的补丁文件。以上则为服务器与终端设备在文件层次上的处理流程。
[0094]在数据层次上,服务器将每一文件传输单元分为多个大小较小的、适于前向纠错编码的数据块,比如说大小均为64KB的多个数据块。对于每一数据块,再根据前向纠错编码生成多个相同大小的原始数据单元和校验数据单元,比如64个1024字节的原始数据单元和64个1024字节的纠错数据单元(可以使原始数据单元的个数与校验数据单元的个数相同以得到较佳的文件传输可靠性和较小的数据冗余度)。在进行前向纠错编码时,所基于的编码标准可以选用Reed-Solomon编码标准。基于前向纠错编码的原理,对于上述总数为128个的数据单元,接收数据单元的终端设备可以容忍最多64个原始数据单元或校验数据单元同时丢失,即接收到这些数据单元的终端设备可以通过对应的数据还原算法根据总数至少为64的原始数据单元和校验数据单元得到原始的数据块。以上则为服务器与终端设备在数据层次上的处理流程。
[0095]在传输层次上,服务器可以以IP多播的通信方式将与每一数据块对应的多个数据单元传输给终端设备(位于通信链路上的每一数据包包括加了协议信息头的数据单元),终端设备则通过收集接收到的数据单元为还原数据块做准备。
[0096]具体的,服务器可以将原始数据单元或校验数据单元作为通信协议头的负载同时发送给指定的多个终端设备,并在发送完一轮后紧接着发送下一轮,无限循环下去直到服务器主动终止这一过程。即:当发送完一个数据单元后紧接着发送下一个数据单元直到整个数据块发送完毕,当发送完一个数据块的所有数据单元后紧接着发送下一个数据块直到整个文件传输单元发送完毕,当发送完一个文件传输单元的所有数据块后可以再重新发送这一文件传输单元中的所有数据块,直到服务器主动终止这一过程。当然,上述IP多播的通信协议可以有很多种,比如异步分层编码协议等等,但这些协议都满足同一个基本特征:通信过程的整个链路上只存在一份数据,而不需要同时传输多份相同的数据。
[0097]同时,服务器可以采用如下方式控制终端设备的文件传输过程:在通信协议头中加入“正在发送”、“即将停止”和“停止发送”三类标识,分别代表“当前文件传输单元是新发送的,终端设备应当接收”、“当前文件传输单元已经发送完毕,若终端设备已经收全则可以停止接收”和“终端设备应立即停止接收”。服务器在发送文件传输单元时会先给数据单元添加“正在发送”的标识;在已经发送完该文件传输单元的所有数据块的所有数据单元之后、在停止发送数据单元之前,给数据单元添加“即将停止”的标识;并在最终停止发送时,给数据单元添加“停止发送”的标识。相应地,若终端设备接收到带有“正在发送”标识的数据单元,则按照通信协议头中的信息将接收到的数据单元存放到与该数据单元的标识对应的位置,并在收集到足够的数据单元后通过数据还原算法来还原数据块;若终端设备接收到带有“即将停止”标识的数据单元,则检测是否已经得到了该文件传输单元中的所有数据块,若是则停止接收;若终端设备接收到带有“停止发送”标识的数据单元时,则立刻停止接收并进行意外处理(例如向附近的通信节点或服务器请求重新传输没有成功接收的文件传输单元)。
[0098]以上为服务器与终端设备在传输层次上的处理流程。
[0099]可见,本发明实施例由于优先采用多播传输方式来获取资源,因而在整个网络中可以采用多播传输进行资源获取的终端设备都采用了多播传输方式来获取资源,可以使得整个通信链路上只存在至多几份同样的数据,因而大大减少了大量用户下载同一服务器上同一份数据的应用场景中终端设备对通信资源的占用,降低了通信网络的负荷,同时还提高了整体的传输效率。因此,本发明实施例可以解决大量用户下载同一服务器上同一份数据会导致资源获取速度缓慢的问题。
[0100]基于同样的发明构思,本发明实施例提供了一种服务器,参见图4示出的结构框图,该服务器包括:
[0101]发送装置41,
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1