专利名称:对数据块校验信息进行更新的方法和装置的制作方法
技术领域:
本发明涉及互联网,尤其涉及在基于点对点协议的网络中对服务器端数据块校验 信息进行更新的方法和装置。
背景技术:
随着Internet的迅猛发展和普及,流媒体技术广泛应用于在线直播、视频点播、 远程教育、视频会议、数字图书馆等领域。从传统的客户机/中央服务器(Client/Server, 简称C/S)的模式到基于点对点协议(P2P,即Peer-to-Peer)的系统,流媒体的传输对带宽、 延迟和包的丢失率等服务质量相关参数都有十分严格的要求。以基于点对点协议系统一种常用实施方式为例,在系统中存在一些索引服务器, 这些服务器不存放文件,而是存放这些共享数据块的、用户设备的地址。每个与索引服务器 连接的用户设备可以从中得到或搜索到共享文件的地址,然后自动从其它相连的用户设备 处进行下载,这样网络中拥有文件的用户设备越多,下载的速度越快。下面对这种下载方式的原理进行简单介绍用户通过下载源地址URL选取了要下载的文件后,用户设备会将该URL信息发送 给索引服务器。索引服务器在得到该请求后,将索引服务器上存储的对应该URL上可下载 文件的校验信息发送给该用户设备。用户在下载得到文件后,自动对该文件生成一个用户 端的校验信息,并将该用户端的校验信息与服务器端发送的校验信息进行比较。如果相同, 则认为用户端下载的得到的文件正确,如果不同则认为下载文件出错。可想而知,索引服务 器中对应可下载文件的校验信息在文件下载中是至关重要的。在现有技术中,索引服务器获得文件校验信息的方法主要包括以下步骤1)服 务器定期从可下载源地址URL下载目标文件;2)根据预定算法对下载得到的目标文件进行 校验信息计算(例如,MD5),从而得到目标文件的校验信息。该校验信息和下载源地址URL 上的目标文件之间一一对应;3)建立下载源地址和其提供下载文件的校验信息之间的对 应关系(即索引文件),提供用户端下载。该方法的缺点在于其只能定期更新目标文件的校 验信息,实时性较差。如果可下载资源提供的目标文件被修改或删除,则服务器端无法在下 一个校验信息更新周期之前获知该信息。因此,可能导致用户设备从相连的其他用户设备 下载错误的文件,或者将从下载源地址得到的正确目标文件认为是错误文件,浪费了系统 资源,给用户造成了极大的不便。基于以上分析不难看出,对于如何在可下载资源的目标文件被修改后及时更新服 务器端的索引文件,尤其是下载源地址对应的正确校验信息,目前尚无成熟可行的方案。
发明内容
为了解决现有技术存在的上述问题,使索引服务器能够在下载源地址的数据块被 修改后及时更新校验信息,特提出本发明。根据本发明的第一方面,提供了一种用户设备向服务器端提供数据块的校验信息的方法,其特征在于,该方法包括以下步骤,基于预定算法生成所述数据块的用户端校验信 息,其中,所述数据块对应唯一的所述用户端校验信息;将所述用户端校验信息发送至所述 服务器端,所述用户端校验信息用于确定是否需要对所述服务器端的校验信息进行更新。根据本发明的第二方面,提供了一种在分布式网络的服务器端对数据块校验信息 进行更新的方法,其特征在于,该方法包括以下步骤,接收来自用户设备的数据块的用户端 校验信息,所述数据块对应确定的下载源地址,所述用户端校验信息由用户设备基于预定 算法生成。根据本发明的第三方面,提供了一种用户设备向服务器端提供数据块的校验信息 的控制装置,其中,包括生成装置,用于基于预定算法生成所述数据块的用户端校验信息, 其中,所述数据块对应唯一的所述用户端校验信息;发送装置,用于将所述用户端校验信息 发送至所述服务器端,所述用户端校验信息用于确定是否需要对所述服务器端的校验信息 进行更新。根据本发明的第四方面,提供了一种在分布式网络的服务器端对数据块校验信息 进行更新的更新装置,其特征在于,还包括接收装置,用于接收来自用户设备的数据块的 用户端校验信息,所述数据块对应确定的下载源地址,所述用户端校验信息由用户设备基 于预定算法生成。通过使用本发明所提供的方法/装置,可以在每次下载对应下载源地址提供的目 标文件时 都将该文件在用户端的校验信息上报服务器,服务器通过对比和选举服务器端和 用户端的目标文件校验信息可以及时获知URL上可下载文件的更新,从而避免了错误文件 被多次下载,从而降低错误文件扩散的概率。
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它 特征、目的和优点将会变得更明显图1为根据本发明的一个具体实施方式
的基于点对点(P2P)协议的网络结构示意 图;图2为根据本发明的一个具体实施方式
的用户设备向服务器端提供数据块校验 信息的方法流程图;图3为根据本发明的另一个具体实施方式
的用户设备向服务器端提供数据块校 验信息的方法流程图;图4为根据本发明的一个实施例的服务器端对数据块校验信息进行更新的方法 流程图;图5为根据本发明的一个具体实施方式
的用户设备向服务器端提供数据块校验 信息的控制装置框图;图6为根据本发明的一个具体实施方式
的服务器端对数据块校验信息进行更新 的更新装置框图。
具体实施例方式下面结合附图对本发明作进一步详细描述。为方便理解,首先解释与本发明中所用的术语。_数据块本说明书中提及的数据块对应确定的下载源地址。举例来说,用户可以通过URL或者其他类型的下载源地址获知该数据块,从而提出下载该数据块的要求。进一 步的,数据块可以包括文件或文件分片,数据块可以为多媒体文件或多媒体文件的分片。本 领域技术人员可以理解,本发明的技术方案可以适用于任何类型的数据块,上述提及的对 数据块的类型的示例不对本发明的保护范围构成限定。-服务器本说明书中提及的服务器,如无特别说明包含索引功能,即可以对磁盘 目录或网站下的文件的内容和属性进行索引处理,从文档中提取信息形成索引,并将该信 息存储在服务器中。在一些拓扑式网络中,用户设备能够利用此类具有索引功能的服务器 快速容易的搜索文件,通过查询了解网络内其他用户设备所存储的文件。-用户设备本说明书中将网络中的客户主机统称为客户端,用户设备与服务器 相连,相互间可以进行数据传输。在基于点对点(P2P)协议的网络中的实施例中,用户设 备有可能直接从数据块的下载源地址获取数据块,也可能从相连的其它用户设备获取数据 块。图1所示的根据本发明的一个具体实施方式
的基于点对点(P2P)协议的网络拓扑结构 示意图中包括多个用户设备和一个应用服务器,为简明起见,图中仅列出4个用户设备。下 载源地址保存了需要传送的数据块。用户设备1可以从其它用户设备(用户设备1、用户设 备2或用户设备3)获取所需数据块,也可以从该下载源地址获取所需数据块。用户设备1 与服务器之间也可以相互传输数据。_相连的其它用户设备对应基于点对点(P2P)协议的网络的实施例,当前用户设 备之间由有效的通信链路连接可以互通信息的用户设备。-下载源地址用于存放可下载数据块的URL或应用服务器,不包括基于点对点 (P2P)协议的网络中的从其他下载源获取上述数据块的用户设备。-用户端校验信息用户端校验信息由用户端生成。用户端在下载得到数据块后, 根据预定算法对该数据块校验计算得到的校验信息。当数据块为文件时,用户端校验信息 可以是该文件的校验值;当数据块为多个文件分片时,用户端端校验信息可以包含多个对 应单个文件分片的校验值。-服务器端校验信息服务器端存储的用于传输给网络中用户设备的校验信息。 服务器端校验信息对应下载源地址所提供下载的数据块。当数据块为文件时,服务器端校 验信息可以是该文件的校验值;当数据块为多个文件分片时,服务器端校验信息可以包含 多个对应单个文件分片的校验值。优选的,对于对应同一个下载源地址的数据块,服务器端 的文件分片方法应该与用户端的文件分片方法相同。以下结合图1至4对本发明的具体实施例进行描述。以下结合本发明的第一方面和第二方面的实施例,对本发明的技术方案进行详细 描述。图2为根据本发明的一个实施例的用户设备向服务器端提供数据块的校验信息 的方法流程图。以下参照图2对用户设备向服务器端提供数据块的校验信息的方法进行详 细地说明。首先,在步骤SlO中,用户设备获取数据块。具体来说,用户设备可以通过多种方 式获取数据块。
在数据块为单个文件而不被分割为多个文件分片的情况下,用户设备可以直接从 下载源地址获取整个数据块;而在一些特定情况下,在P2P网络中,用户设备也可以对相 连的其他用户设备进行查询,如果相连的其他用户设备也具有当前用户设备希望下载的数 据块,则直接从相连的其他用户设备下载数据块,以提高下载速度。当然,在从下载源地址 下载出错的情况下,本用户设备同样可以从包含该数据块的相连的其他用户设备下载数据 块。当数据块包含多个文件分片时,当前用户设备可以从不同的下载源下载所述多个 文件分片。优选的,本用户设备可以从数据块的下载源地址,例如URL,获取至少一个文件分 片;同时从相连的包含数据块或该数据块相应文件分片的其他相连的用户设备获取至少一 个文件分片,在得到数据块对应的所有文件分片后将其合成得到完整的数据块。本领域技 术人员可以理解,上述优选的获取数据块的方法为本发明的优选实施例之一,但是当前用 户设备同样可以从下载源地址获取所有的文件分片,或者从一个或多个与当前用户设备相 连的其他用户设备获取数据块的所有文件分片。在获取所述数据块后,用户设备在步骤Sll中基于预定算法生成数据块的用户端 校验信息,其中,数据块对应唯一的所述用户端校验信息。具体而言,该预定算法可以是 MD5 (Message-Digest Algorithm 5,信息-摘要算法),SHAl (Secure Hash Algorithm,安 全哈希算法)或其他加密算法。使用上述预定算法对数据块进行计算的目的在于,可以得 到使用户端校验信息对应唯一 的数据块。从而保证在系统运行正常数据正确的情况下,通 过该用户端校验信息进行查询能够找到具有用户设备希望下载数据块的其他下载源。另一 方面,在P2P网络中,服务器会周期性的将最新的索引文件发送给网络中的各个用户设备。 该索引文件包含下载源地址以及与其对应的服务器端校验信息。当前用户设备在生成用户 端校验信息后,会将用户端校验信息与之前得到的服务器端校验信息进行比较,如果两者 相同则认为下载过程正确。反之,则需要进行进一步出错处理。因此,需要注意的,生成用 户端校验信息的算法应该与生成服务器端校验信息的算法完全相同。在得到数据块的用户端校验信息后,用户设备通过步骤S12将用户端校验信息发 送至服务器端,用户端校验信息用于确定是否需要对服务器端校验信息进行更新。用户设 备在得到用户端校验信息后可以直接将其发送给服务器,而无需与用户设备中存储的服务 器校验信息作比较。服务器在得到用户端校验信息后,对该信息进行进一步处理以判断服 务器端的校验信息是否正确。举例来说,假设在服务器端对应URLl的数据块的服务器校验 信息值为MD51,且设定,在24小时内接收到的用户端校验信息值为MD51的次数为A,接收 到的用户端校验信息值不等于MD51但是为其它相同确定值(例如MD52)的次数为B,且B >A,则将服务器中对应URLl的数据块的服务器校验信息值更新为MD52。本领域技术人员 可以理解,服务器端可以设定各种不同条件对用户端校验信息进行处理,以在较短时间内 获取下载源地址所对应的正确的校验信息。上述示例并不对服务器端的校验信息更新方法 构成任何限定。以下对结合图3对数据块包括多个文件分片的情况作进一步详细说明。图3为根 据本发明的另一个具体实施方式
的用户设备向服务器端提供数据块校验信息的方法流程 图。首先,在步骤SlO中,当前用户设备获取数据块的多个文件分片。具体下载源在上文中已经进行了详细描述,此处不再赘述。接着,在步骤Sll中,用户设备针对单个文件分片生成该文件分片的用户端校验信息。本领域技术人员可以理解,由于各个不同下载源所提供的带宽不同,文件分片的大小 也可能有区别,因此,各个文件分片下载完成的时间也不一致。可以对先对完成下载的文件 分片生成用户端校验信息。在步骤S12中,将该文件分片的用户端校验信息发送给服务器。优选的,可以将该 文件分片的其他标示信息,例如编号,同时发送给服务器,以便于服务器与对应的服务器校 验信息进行比较。通过步骤S13判断,是否已经完成该数据块的所有文件分片的用户端校验信息的 传送。如果完成,则结束向服务器端提供数据块校验信息的过程;如果没有,则返回步骤 Sll,生成发送下一个文件分片的用户端校验信息。本领域技术人员理解,用户设备也可以先获取该数据块的所有文件分片,然后逐 一生成各个文件分片的用户端校验信息,再发送给服务器。换而言之,上述步骤的执行先后 并不对本发明的保护范围构成限定,也不对最终的技术效果构成影响。例如,用户设备也可 以在获得所有文件分片后,生成对应该完整数据块的用户端校验信息,并将该完整数据块 的用户端校验信息发送至服务器端。进一步的,在步骤S13之后还可以有出错处理步骤S14。在步骤S14中,将预存在 用户设备中的服务器校验信息与步骤Sll中生成的相应的用户端校验信息作比较。如果上 述信息不同,则认为下载过程出错,则当前用户设备只从下载源地址下载数据块的所有文 件分片。可以理解,用户希望得到的是下载源地址提供下载的数据块,因此,仅以下载源地 址作为下载源获取数据块可以得到最可靠的下载结果,降低出错概率。以上从用户设备的角度,对本发明方法部分的技术方案进行了详述。下文将从服 务器端的角度对本发明方法部分的技术方案作进一步描述。图4为根据本发明的一个实施例的服务器端对数据块校验信息进行更新的方法 流程图。以下参照图4对服务器端对数据块校验信息进行更新的方法进行详细地说明。首先,在步骤S20中,服务器端接收来自用户设备的数据块的用户端校验信息,数 据块对应确定的下载源地址,用户端校验信息由用户设备基于预定算法生成。预定算法可 以是MD5或SHAl等其他加密算法。接着,在步骤S21中,服务器端基于用户端校验信息,判断是否需要在服务器端更 新下载源地址对应的数据块校验信息,即服务器端校验信息。具体而言,可以采用选举的方 法进行上述判断,具体而言可以包括以下子步骤A.判断当前的数据块校验信息与用户端 校验信息是否相同;B.如果当前的数据块校验信息与用户端校验信息不相同,则进一步判 断在预定时间内收到相同所述用户端校验信息的次数超过预定值;C.如果在预定时间内 收到相同所述用户端校验信息的次数超过预定值,则需要在服务器端更新所述下载源地址 对应的所述数据块校验信息。上述子步骤仅选取了一种选举方法作为示例,本领域技术人 员可以理解,服务器端可以根据数据块的不同用户端校验信息值出现概率,频率等相关信 息进行判断,因此上述示例并不对本发明的保护范围构成限定。如果需要在服务器端更新所述数据块校验信息,则在步骤S22中,将下载源地址 对应的数据块校验信息,即服务器校验信息,更新为所述用户端校验信息。
进一步的,在步骤S23中,服务器端将更新后的数据块校验信息发送至网络中的 的各个用户设备做为预存的服务器端校验信息,所述服务器端校验信息用于与用户设备生 成的所述用户端校验信息比较,以判断用户设备下载的数据块是否正确。图5为根据本发明的一个具体实施方式
的用户设备向服务器端提供数据块校验 信息的控制装置框图。该控制装置1包括了获取装置10、生成装置11、发送装置12、第一判 断装置13、再获取装置14和校验信息获取装置15。其中,生成装置11、发送装置12为控制 装置1的必要部件。首先,用户设备通过获取装置10获取数据块。具体来说,用户设备可以通过多种 方式获取数据块。在数据块为单个文件而不被分割为多个文件分片的情况下,获取装置10可以直 接从下载源地址获取整个数据块;而在一些特定情况下,在P2P网络中,用户设备也可以对 相连的其他用户设备进行查询,如果相连的其他用户设备也具有当前用户设备希望下载的 数据块,则直接通过获取装置10从相连的其他用户设备下载数据块,以提高下载速度。当 然,在从下载源地址下载出错的情况下,获取装置10同样可以从包含该数据块的相连的其 他用户设备下载数据块。当数据块包含多个文件分片时,当前用户设备的获取装置10可以从不同的下载 源下载所述多个文件分片。优选的,获取装置10可以从数据块的下载源地址,例如URL,获 取至少一个文件分片;同时从相连的包含数据块或该数据块相应文件分片的其他相连的用 户设备获取至少一个文件分片,在得到数据块对应的所有文件分片后将其合成得到完整的 数据块。本领域技术人员可以理解,上述优选的获取数据块的方法为本发明的优选实施例 之一,但是获取装置10同样可以从下载源地址获取所有的文件分片,或者从一个或多个与 当前用户设备相连的其他用户设备获取数据块的所有文件分片。获取装置10将获取的数 据块传递给生成装置11生成装置11在获取所述数据块后,基于预定算法生成数据块的用户端校验 信息,其中,数据块对应唯一的所述用户端校验信息。具体而言,该预定算法可以是 MD5 (Message-Digest Algorithm 5,信息-摘要算法),SHAl (Secure Hash Algorithm,安 全哈希算法)或其他加密算法。使用上述预定算法对数据块进行计算的目的在于,可以得 到使用户端校验信息对应唯一的数据块。从而保证在系统运行正常数据正确的情况下,通 过该用户端校验信息进行查询能够找到具有用户设备希望下载数据块的其他下载源。另一 方面,在P2P网络中,服务器会周期性的将最新的索引文件发送给网络中的各个用户设备。 该索引文件包含下载源地址以及与其对应的服务器端校验信息。当前用户设备在生成用户 端校验信息后,会将用户端校验信息与之前得到的服务器端校验信息进行比较,如果两者 相同则认为下载过程正确。反之,则需要进行进一步出错处理。因此,需要注意的,生成用 户端校验信息的算法应该与生成服务器端校验信息的算法完全相同。生成装置11将生成 的用户端校验信息传递给发送装置12。发送装置12在得到数据块的用户端校验信息后,用户端校验信息发送至服务器 端,用户端校验信息用于确定是否需要对服务器端校验信息进行更新。用户设备在得到用 户端校验信息后可以 直接将其发送给服务器,而无需与用户设备中存储的服务器校验信息 作比较。服务器在得到用户端校验信息后,对该信息进行进一步处理以判断服务器端的校验信息是否正确。举例来说,假设在服务器端对应URLl的数据块的服务器校验信息值为 MD51,且设定,在24小时内接收到的用户端校验信息值为MD51的次数为A,接收到的用户端 校验信息值不等于MD51但是为其它相同确定值(例如MD52)的次数为B,且B > A,则将服 务器中对应URLl的数据块的服务器校验信息值更新为MD52。本领域技术人员可以理解, 服务器端可以设定各种不同条件对用户端校验信息进行处理,以在较短时间内获取下载源 地址所对应的正确的校验信息。上述示例并不对服务器端的校验信息更新方法构成任何限 定。以下对控制装置1处理包括多个文件分片的数据块的情况作进一步详细说明。
首先,当前用户设备通过获取装置10获取数据块的多个文件分片。具体下载源在 上文中已经进行了详细描述,此处不再赘述。接着,生成装置11生成用户端校验信息。具体的,生成装置10包括第一生成子装 置110,第一生成子装置110针对获取装置10获取的每个单个文件分片生成该文件分片的 用户端校验信息。本领域技术人员可以理解,由于各个不同下载源所提供的带宽不同,文件 分片的大小也可能有区别,因此,各个文件分片下载完成的时间也不一致。第一生成子装置 110可以对先完成下载的文件分片生成用户端校验信息。发送装置12将该文件分片的用户端校验信息发送给服务器。发送装置12还包括 第一发送子装置120,第一发送子装置120将每个文件分片的用户端校验信息发送至服务 器端,文件分片的用户端校验信息用于确定是否需要对所述服务器端校验信息进行更新。 优选的,可以将该文件分片的其他标示信息,例如编号,同时发送给服务器,以便于服务器 与对应的服务器校验信息进行比较。发送装置12可以进一步判断,是否已经完成该数据块 的所有文件分片的用户端校验信息的传送。如果完成,则结束向服务器端提供数据块校验 信息的过程;如果没有,则返回步骤S11,生成发送下一个文件分片的用户端校验信息。本领域技术人员理解,获取装置10也可以先获取该数据块的所有文件分片,然后 再由生成装置11逐一生成各个文件分片的用户端校验信息,再由发送装置12发送给服务 器。换而言之,上述步骤的执行先后并不对本发明的保护范围构成限定,也不对最终的技术 效果构成影响。例如,用户设备也可以在获得所有文件分片后,生成对应该完整数据块的用 户端校验信息,并将该完整数据块的用户端校验信息发送至服务器端。进一步的,控制装置1还可以包括第一判断装置13和再获取装置14。第一判断 装置13将预存在用户设备中的服务器校验信息与生成装置11生成的相应的用户端校验信 息作比较。如果上述信息不同,则认为下载过程出错,则再获取装置12只从下载源地址下 载数据块的所有文件分片。可以理解,用户希望得到的是下载源地址提供下载的数据块,因 此,仅以下载源地址作为下载源获取数据块可以得到最可靠的下载结果,降低出错概率。其 中,预存在用户设备中的服务器校验信息可以由校验信息获取装置15从服务器端获取。以上从用户设备的角度,对本发明装置部分的技术方案进行了详述。下文将从服 务器端的角度对本发明装置部分的技术方案作进一步描述。图5为根据本发明的一个具体实施方式
的服务器端对数据块校验信息进行更新 的更新装置2的框图。其中,更新装置2包括接收装置20、第二判断装置21、第一更新子装 置22和更新信息发送装置23。以下参照图5对更新装置2做进一步详细说明。首先,服务器端通过接收装置20接收来自用户设备的数据块的用户端校验信息,数据块对应确定的下载源地址,用户端校验信息由用户设备基于预定算法生成。预定算法 可以是MD5或SHAl等其他加密算法。接收装置20将接收到的用户端校验信息发送给第二 判断装置21。接着,第二判断装置21基于用户端校验信息,判断是否需要在服务器端更新下载源地址对应的数据块校验信息,即服务器端校验信息。具体而言,可以采用选举的方法进行 上述判断。第二判断装置21可以包括校验信息判断装置210和选举装置211 判断装置210 用于判断当前的数据块校验信息与用户端校验信息是否相同;如果当前的数据块校验信息 与用户端校验信息不相同,选举装置211则进一步判断在预定时间内收到相同所述用户端 校验信息的次数超过预定值;如果在预定时间内收到相同所述用户端校验信息的次数超过 预定值,则选举装置211认为需要在服务器端更新所述下载源地址对应的所述数据块校验 信息。上述子步骤仅选取了一种选举方法作为示例,本领域技术人员可以理解,选举装置 211可以根据数据块的不同用户端校验信息值出现概率,频率等相关信息进行判断,因此上 述示例并不对本发明的保护范围构成限定。如果选举装置211认为需要在服务器端更新所述数据块校验信息,则第一更新子 装置22将下载源地址对应的数据块校验信息,即服务器校验信息,更新为所述用户端校验 fn息ο更新发送装置23将将更新后的数据块校验信息发送至网络中的的各个用户设备 做为预存的服务器端校验信息,所述服务器端校验信息用于与用户设备生成的所述用户端 校验信息比较,以判断用户设备下载的数据块是否正确。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述 特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。
权利要求
一种用户设备向服务器端提供数据块的校验信息的方法,其特征在于,该方法包括以下步骤b.基于预定算法生成所述数据块的用户端校验信息,其中,所述数据块对应唯一的所述用户端校验信息;c.将所述用户端校验信息发送至所述服务器端,所述用户端校验信息用于确定是否需要对服务器端校验信息进行更新。
2.根据权利要求1所述的方法,其特征在于,所述步骤b之前还包括以下步骤a.获取所述数据块。
3.根据权利要求2所述的方法,其特征在于,所述数据块为文件或多个文件分片。
4.根据权利要求3所述的方法,其特征在于,所述数据块为多个文件分片,所述步骤b 还包括一基于所述预定算法分别生成所述数据块的每个所述文件分片的用户端校验信息,其 中,每个所述文件分片的用户端校验信息是唯一的;所述步骤c还包括一将每个所述文件分片的用户端校验信息发送至所述服务器端,所述文件分片的用户 端校验信息用于确定是否需要对所述服务器端校验信息进行更新。
5.根据权利要求4所述的方法,其特征在于,所述分布式网络为基于点对点协议对数 据进行传送的网络,所述步骤a包括以下步骤一从所述数据块的下载源地址获取至少一个所述文件分片。
6.根据权利要求4所述的方法,其特征在于,所述分布式网络为基于点对点协议对数 据进行传送的网络,所述步骤a包括以下步骤一从至少一个与本用户设备相连的其它用户设备获取至少一个所述文件分片。
7.根据权利要求3所述的方法,其特征在于,所述数据块的用户端校验信息为所述文 件的用户端校验信息,或与所述多个文件分片一一对应的多个所述文件分片的用户端校验 fn息,所述步骤b之后还包括以下步骤II.比较预存的所述数据块的校验信息和对应的步骤b中获取的所述用户端校验信 息;如果预存的所述数据块的校验信息和所述用户端校验信息不相同,则仅从所述数据块 的下载源地址获取所述数据块。
8.根据权利要求7所述的方法,其特征在于,所述步骤II之前还包括以下步骤I.从所述服务器端获取所述预存的所述数据块的校验信息。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述预定算法为MD5或SHAl 加密算法。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述数据块为多媒体文件 或多媒体文件的分片。
11.一种在分布式网络的服务器端对数据块校验信息进行更新的方法,其特征在于,该 方法包括以下步骤i.接收来自用户设备的数据块的用户端校验信息,所述数据块对应确定的下载源地 址,所述用户端校验信息由用户设备基于预定算法生成。
12.根据权利要求11所述的方法,其特征在于,所述步骤i之后还包括以下步骤 .基于所述用户端校验信息,判断是否需要在服务器端更新所述下载源地址对应的 所述数据块校验信息;iii.如果需要在服务器端更新所述数据块校验信息,则将所述下载源地址对应的所述 数据块校验信息更新为所述用户端校验信息。
13.根据权利要求12所述的方法,其特征在于,所述步骤ii包括以下步骤A.判断当前的所述数据块校验信息与所述用户端校验信息是否相同;B.如果当前的所述数据块校验信息与所述用户端校验信息不相同,则进一步判断是否 在预定时间内收到相同所述用户端校验信息的次数超过预定值;C.如果在预定时间内收到相同所述用户端校验信息的次数超过预定值,则需要在服务 器端更新所述下载源地址对应的所述数据块校验信息。
14.根据权利要求12所述的方法,其特征在于,所述步骤iii之后包括以下步骤一将更新后的所述下载源地址对应的所述数据块校验信息发送相连的用户设备做为 预存的服务器端校验信息,所述服务器端校验信息用于与用户设备生成的所述用户端校验 信息比较,以判断用户设备下载的数据块是否正确。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述数据块为文件或文 件分片。
16.根据权利要求11至14中任一项所述的方法,其特征在于,所述预定算法为MD5或 SHAl加密算法。
17.根据权利要求11至14中任一项所述的方法,其特征在于,所述数据块为多媒体文 件或多媒体文件的分片。
18.一种用户设备向服务器端提供数据块的校验信息的控制装置,其中,包括生成装置,用于基于预定算法生成所述数据块的用户端校验信息,其中,所述数据块对 应唯一的所述用户端校验信息;发送装置,用于将所述用户端校验信息发送至所述服务器端,所述用户端校验信息用 于确定是否需要对服务器端校验信息进行更新。
19.根据权利要求28所述的控制装置,其特征在于,还包括获取装置,用于获取所述数据块。
20.根据权利要求19所述的控制装置,其特征在于,所述数据块为文件或多个文件分片。
21.根据权利要求20所述的控制装置,其特征在于,所述数据块为多个文件分片,所述 生成装置还包括第一生成子装置,用于基于所述预定算法分别生成所述数据块的每个所述文件分片的 用户端校验信息,其中,每个所述文件分片的用户端校验信息是唯一的;所述发送装置还包括第一发送子装置,用于将每个所述文件分片的用户端校验信息发送至所述服务器端, 所述文件分片的用户端校验信息用于确定是否需要对所述服务器端校验信息进行更新。
22.根据权利要求21所述的控制装置,其特征在于,所述分布式网络为基于点对点协 议对数据进行传送的网络,所述获取装置还用于从所述数据块的下载源地址获取至少一个所述文件分片。
23.根据权利要求21所述的控制装置,其特征在于,所述分布式网络为基于点对点协 议对数据进行传送的网络,所述获取装置还用于从至少一个与本用户设备相连的其它用户 设备获取至少一个所述文件分片。
24.根据权利要求20所述的控制装置,其特征在于,所述数据块的用户端校验信息为 所述文件的用户端校验信息,或与所述多个文件分片一一对应的多个所述文件分片的用户 端校验信息,所述控制装置还包括第一判断装置和再获取装置,所述第一判断装置用于比较预存的所述数据块的校验信息和对应的生成装置生成的 的所述用户端校验信息;所述再获取装置用于在预存的所述数据块的校验信息和所述用户端校验信息不相同 时,从且仅从所述数据块的下载源地址获取所述数据块。
25.根据权利要求24所述的控制装置,其特征在于,还包括校验信息获取装置,所述校 验信息获取装置用于从所述服务器端获取所述预存的所述数据块的校验信息。
26.根据权利要求18至25中任一项所述的控制装置,其特征在于,所述预定算法为 MD5或SHAl加密算法。
27.根据权利要求18至25中任一项所述的控制装置,其特征在于,所述数据块为多媒 体文件或多媒体文件的分片。
28.一种在分布式网络的服务器端对数据块校验信息进行更新的更新装置,其特征在 于,还包括接收装置,用于接收来自用户设备的数据块的用户端校验信息,所述数据块对应确定 的下载源地址,所述用户端校验信息由用户设备基于预定算法生成。
29.根据权利要求28所述的更新装置,其特征在于,还包括第二判断装置和第一更新 子装置,所述第二判断装置用于基于所述用户端校验信息,判断是否需要在服务器端更新所述 下载源地址对应的所述数据块校验信息;所述第一更新子装置用于在需要在服务器端更新所述数据块校验信息时,将所述下载 源地址对应的所述数据块校验信息更新为所述用户端校验信息。
30.根据权利要求29所述的更新装置,其特征在于,所述第二判断装置还包括校验信息判断装置,用于判断当前的所述数据块校验信息与所述用户端校验信息是否 相同;选举装置,用于在当前的所述数据块校验信息与所述用户端校验信息不相同时,进一 步判断是否在预定时间内收到相同所述用户端校验信息的次数超过预定值;如果在预定时 间内收到相同所述用户端校验信息的次数超过预定值,则认为需要在服务器端更新所述下 载源地址对应的所述数据块校验信息。
31.根据权利要求29所述的更新装置,其特征在于,还包括更新信息发送装置,所述更 新信息发送装置用于将更新后的所述下载源地址对应的所述数据块校验信息发送相连的 用户设备做为预存的服务器端校验信息,所述服务器端校验信息用于与用户设备生成的所 述用户端校验信息比较,以判断用户设备下载的数据块是否正确。
32.根据权利要求28至31中任一项所述的更新装置,其特征在于,所述数据块为文件 或文件分片。
33.根据权利要求28至31中任一项所述的更新装置,其特征在于,所述预定算法为 MD5或SHAl加密算法。
34.根据权利要求28至31中任一项所述的更新装置,其特征在于,所述数据块为多媒 体文件或多媒体文件的分片。
全文摘要
本发明只在提供一种对服务器端提供数据块的校验信息进行更新的方法。该方法包括以下步骤基于预定算法生成数据块的用户端校验信息,其中,数据块对应唯一的所述用户端校验信息;将上述用户端校验信息发送至所述服务器端,所述用户端校验信息用于确定是否需要对服务器端校验信息进行更新。服务器端基于接收到的上述用户端校验信息判断是否需要对服务器端原有的数据块校验信息进行更新。该方法可以及时更新服务器端的索引文件,减少数据块下载出错概率,尤其适用于基于点对点协议的网络。
文档编号H04L29/08GK101848188SQ20091004836
公开日2010年9月29日 申请日期2009年3月25日 优先权日2009年3月25日
发明者朱巍, 王闻宇, 金振坤 申请人:上海聚力传媒技术有限公司