专利名称:资源文件校验方法及系统的制作方法
技术领域:
本发明涉及网络技术,特别是涉及一种资源文件校验方法及系统。背景技术:
随着网络的不断发展,人们对网络资源文件的需求越来越大,越来越依赖于通过网络进行文件的下载与传递,直接从其他用户端或者服务器获取网络资源文件也逐渐成为了人们获取网络资源文件时常用的手段。在传统的文件下载与传递过程中,数据通常被均分成多个数据块,并分布于各种各样的服务器或者客户端中。在某一客户端发起请求进行数据的下载或传输时可搜索关于该数据块的资源文件,以根据搜索到的所有关于该数据的资源文件进行下载。在数据的下载过程中,通常默认所有的下载数据都是安全的、正确的。但是在实际的下载过程中,存在着某一数据块是病毒的可能性,因此需要对下载数据的安全性进行验证。为了实现下载数据安全性的验证,通常在下载过程中,客户端从第一服务器下载到A数据块,为了验证该数据块是否正确,需要与第二服务器建立连接,以向第二服务器请求下载到的数据块的MD5值。第二服务器中也存储了 A数据块,第二服务器通过查询得到 A数据块,并计算得到A数据块的MD5值后返回。客户端也将计算下载得到的A数据块的 MD5值,并与第二服务器返回的MD5进行比较,判断是否相同,若是,则说明下载到的A数据块是安全有效的,若否,则从客户端中清除A数据块,重新进行A数据块的下载。每一数据块的验证均需要进行两次连接。然而,这一数据的下载校验过程每一数据块的下载都需要向服务器请求获取相应的MD5值,以验证下载的数据块是否正确,这一过程所产生的数据传输量是非常多的。
发明内容基于此,有必要提供一种能降低数据传输量的资源文件校验方法。此外,还有必要提供一种能降低数据传输量的资源文件校验系统。一种资源文件校验方法,包括以下步骤根据所述资源文件获取至少三块连续的分片数据,所述分片数据包括第二数据段和与所述第二数据段相邻的两个第一数据段,所述分片数据中存在与下一分片数据重叠的第一数据段;对所述至少三块连续的分片数据进行比对,判断比对的分片数据中是否存在至少两段重叠的数据,若否,则重新获取所述比对的分片数据,并再次进行比对。优选地,所述根据所述资源文件获取至少三块连续的分片数据的步骤之前还包括对资源文件按照第一数据段和第二数据段的顺序进行分片;复制分别与两个第二数据段相邻的第一数据段;
取第二数据段以及与所述第二数据段相邻的两个第一数据段形成分片数据。优选地,所述对资源文件按照第一数据段和第二数据段的顺序进行分片的步骤为将所述资源文件顺序划分成第一数据段和数据量大于所述第一数据段的第二数据段。优选地,所述重新获取所述比对的分片数据,并再次进行比对的步骤为标记所述比对的分片数据;根据标记的分片数据重新获取分片数据;将标记的分片数据与重新获取的分片数据进行比对,判断是否一致,若否,则将重新获取的分片数据替换所述标记的分片数据。优选地,所述分片数据为资源文件中位于首位的分片数据或位于末位的分片数据,所述方法还包括分别从不同的资源文件发布终端获取两个资源文件中位于首位的分片数据或位于末位的分片数据;比对所述资源文件中位于首位的分片数据或位于末位的分片数据是否一致,若否,则返回分别从不同的资源文件发布终端获取两个资源文件中位于首位的分片数据或位于末位的分片数据的步骤。一种资源文件校验系统,至少包括获取模块,用于根据所述资源文件获取至少三块连续的分片数据,所述分片数据包括第二数据段和与所述第二数据段相邻的两个第一数据段,所述分片数据中存在与下一分片数据重叠的第一数据段;验证模块,用于对所述至少三块连续的分片数据进行比对,判断比对的分片数据中是否存在至少两段重叠的数据,若否,则通知所述获取模块重新获取所述比对的分片数据,并再次进行比对。优选地,还包括资源文件发布终端;所述资源文件发布终端包括分片模块,用于对资源文件按照第一数据段和第二数据段的顺序进行分片;复制模块,用于复制分别与两个第二数据段相邻的第一数据段; 提取模块,用于提取第二数据段以及与所述第二数据段相邻的两个第一数据段形成分片数据。优选地,所述分片模块还用于将所述资源文件顺序划分成第一数据段和数据量大于所述第一数据段的第二数据段。优选地,所述验证模块包括标记单元,用于标记所述比对的分片数据;所述获取模块还用于根据标记的分片数据重新获取分片数据;比对单元,用于将标记的分片数据与重新获取的分片数据进行比对,判断是否一致,若否,则将重新获取的分片数据替换所述标记的分片数据。优选地,所述分片数据为资源文件中位于首位的分片数据或位于末位的分片数据,所述获取模块还用于分别从不同的资源文件发布端获取两个资源文件中位于首位的分片数据或位于末位的分片数据;所述验证模块还用于比对所述资源文件中位于首位的分片数据或位于末位的分片数据是否一致,若否,则通知所述获取模块。上述资源文件校验方法及系统,由于每一分片数据中设置了第二数据段以及与第二数据段相邻的两个第一数据段,每一分片数据中均存在与下一分片数据重叠的第一数据段,在每一分片数据的验证过程中提供分片数据的资源文件发布终端不需要进行MD5值等信息摘要值的运算,大大地降低了资源文件发布终端的负荷,与资源文件发布终端建立连接的次数和数据传输量也大致降低了一半。上述资源文件校验方法及系统,对于连续的两个分片数据之间均存在着重叠的第一数据段,该第一数据段用于进行分片数据正确性的验证,因此将分片数据的第一数据段所对应的数据量小于第二数据段所对应的数据量,可降低运算的复杂度,提高验证的效率。
图1为一个实施例的资源文件校验方法的流程图;图2为图1中根据资源文件获取至少三块连续的分片数据的方法流程图;图3为一个实施例的资源文件示意图;图4为图1中重新获取比对的分片数据,并再次进行比对的方法流程图;图5为另一个实施例的资源文件校验方法的流程图;图6为一个实施例的资源文件校验系统的结构示意图;图7为另一实施例中资源文件校验系统的资源文件发布终端的结构示意图;图8为图6中验证模块的结构示意图。
具体实施方式图1示出了一个实施例的资源文件校验方法,包括以下步骤步骤S110,根据资源文件获取至少三块连续的分片数据。本实施例中,分片数据是对资源文件按照一定的分片规则进行划分得到的,一系列的分片数据组成了完整的资源文件。在下载到资源文件的分片数据后,周期性地扫描分片数据,以获取至少三块连续的分片数据,通过获取到的这至少三块连续的分片数据进行验证。在实际的资源文件校验过程中,可根据需要灵活设定需要获取的分片数据的数量,例如,也可获取四块连续的分片数据等。另一个实施例中,如图2所示,上述根据资源文件获取至少三块连续的分片数据的步骤之前还包括了以下步骤步骤S210,对资源文件按照第一数据段和第二数据段的顺序进行分片。本实施例中,在发布资源文件供用户下载之前,需要对资源文件进行分片处理。具体地,如图3所示,为划分得到分片数据300,对资源文件的数据划分出第一数据段310后再划分出第二数据段330,然后继续对未划分的资源文件的数据进行划分,此时,再从未划分的资源文件的数据中依次划分出第一数据段310和第二数据段330,以些类推,直到完成整个资源文件的划分。划分后的资源文件中,第一数据段310和第二数据段330是一段连续的数据,第一数据段310和下一个第一数据段310是间隔设置的,第二数据段330和下一个第二数据段330也是间隔设置的。对资源文件按照第一数据段和第二数据段的顺序进行分片的步骤为将资源文件顺序划分成第一数据段和数据量大于第一数据段的第二数据段。由于第一数据段用于进行分片数据的验证,因此第一数据段可以仅仅设置几个字节以进行分片数据的验证,在保证资源文件安全性的同时也降低了验证过程的复杂性,也使得第一数据段的重叠不会占用过多的传输资源。步骤S230,复制分别与两个第二数据段相邻的第一数据段。本实施例中,对于首尾均于第二数据段相邻的第一数据段进行复制。步骤S250,取第二数据段以及与第二数据段相邻的两个第一数据段形成分片数据。本实施例中,分片数据包括第二数据段和与第二数据段相邻的两个第一数据段, 分片数据中存在与下一分片数据重叠的第一数据段。按照资源文件中数据的顺序从划分好的数据中逐一提取第二数据段,并根据该第二数据段提取与其相邻的两个第一数据段,最后,将第二数据段和两个第一数据段按照资源文件中的数据依次排列形成分片数据。步骤S130,对至少三块连续的分片数据进行比对,判断比对的分片数据中是否存在至少两段重叠的数据,若否,则进入步骤S150,若是,则结束。本实施例中,由于对资源文件进行分片处理得到分片数据的过程中,复制了分别与两个第二数据段相邻的第一数据段,因此,对于正确无误的分片数据必然存在了相互重叠的第一数据段。例如,若获取的分片数据为三块连续的分片数据,则判断这三块连续的分片数据中是否存在两段重叠的数据,若是,则可以确定这三块连续的分片数据中第二块分片数据是正确无误的,若否,则说明这三块连续的分片数据是有问题的。若获取的分片数据为四块连续的分片数据,则判断这四块连续的分片数据中是否存在三段重叠的数据,若是,则可以确定这四块连续的分片数据正确无误,若否,则说明这四块连续的分片数据可能是有问题的。在优选的实施例中,获取三块连续的分片数据进行验证。步骤S150,重新获取比对的分片数据,并再次进行比对。本实施例中,对于有问题的分片数据,需要从不同的资源文件发布终端再次获取这些分片数据,并将再次获取到的分片数据与有问题的分片数据进行比对,此时,可以与再次获取到的分片数据不一致的有问题的分片数据即为错误的分片数据,通过这一过程,可以准确地查找发生了错误的分片数据。在一个具体的实施例中,如图4所示,上述重新获取比对的分片数据,并再次进行比对的步骤为步骤S151,标记比对的分片数据。本实施例中,比对之后,对这一系列不存在至少两重叠的数据的分片数据进行标记。步骤S153,根据标记的分片数据重新获取分片数据。本实施例中,根据标记的分片数据重新从资源文件发布终端获取新的分片数据, 以用于再次验证这些标记为有问题的分片数据。
步骤S155,将标记的分片数据与重新获取的分片数据进行比对,判断是否一致,若否,则进入步骤S157,若是,则结束。本实施例中,将重新获取到的分片数据与标记了的分片数据进行比对,若重新获取到的分片数据与标记了的分片数据不一致,则确定标记为有问题的分片数据是有问题的,需要将其丢弃,若重新获取到的分片数据与标记了的分片数据是一致的,则说明这标记了有问题的分片数据是正确无误的。步骤S157,将重新获取的分片数据替换标记的分片数据。其他实施例中,分片数据为资源文件中位于首位的分片数据或位于末位的分片数据,如图5所示,上述资源文件校验方法还包括了以下步骤步骤S510,分别从不同的资源文件发布终端获取两个资源文件中位于首位的分片数据或位于末位的分片数据。本实施例中,位于资源文件首位或末位的分片数据是仅有一段第一数据段的,因此,在进行这一类分片数据的验证时,需要从不同的资源文件发布终端获取两个位于首位的分片数据或者位于末位的分片数据。步骤S513,比对资源文件中位于首位的分片数据或位于末位的分片数据是否一致,若否,则返回步骤S510,若是,则结束。本实施例中,将获取到的两个位于首位的分片数据或者两个位于末位的分片数据进行比对,若一致,则说明这些分片数据是正确无误的,若不一致,则说明这些分片数据是有问题的,需要返回步骤S510中重新获取分片数据,并进行验证。图6示出了一个实施例中的资源文件校验系统,包括获取模块10以及验证模块 30。获取模块10,用于根据资源文件获取至少三块连续的分片数据。本实施例中,获取模块10所获取到的分片数据包括第二数据段和与第二数据段相邻的两个第一数据段,分片数据中存在与下一分片数据重叠的第一数据段。在下载到资源文件的分片数据后,获取模块10周期性地扫描分片数据,以获取至少三块连续的分片数据,通过获取到的这至少三块连续的分片数据进行验证。在实际的资源文件校验过程中,可根据需要灵活设定需要获取的分片数据的数量,例如,也可获取四块连续的分片数据等。另一实施例中,如图7所示,上述资源文件校验系统还包括了资源文件发布终端 50。资源文件发布终端50包括分片模块501、复制模块503以及提取模块505。分片模块501,用于对资源文件按照第一数据段和第二数据段的顺序进行分片。本实施例中,在发布资源文件供用户下载之前,需要分片模块501对资源文件进行分片处理。具体地,分片模块501对资源文件的数据划分出第一数据段后再划分出第二数据段,然后继续对未划分的资源文件的数据进行划分,此时,再从未划分的资源文件的数据中依次划分出第一数据段和第二数据段,以些类推,直到完成整个资源文件的划分。划分后的资源文件中,第一数据段和第二数据段是一段连续的数据,第一数据段和下一个第一数据段是间隔设置的,第二数据段和下一个第二数据段也是间隔设置的。分片模块501还用于将资源文件顺序划分成第一数据段和数据量大于第一数据段的第二数据段。由于第一数据段用于进行分片数据的验证,因此第一数据段可以仅仅设置几个字节以进行分片数据的验证,在保证资源文件安全性的同时也降低了验证过程的复杂性。复制模块503,用于复制分别与两个第二数据段相邻的第一数据段。本实施例中,复制模块503对于首尾均于第二数据段相邻的第一数据段进行复制。提取模块505,用于提取第二数据段以及与第二数据段相邻的两个第一数据段形成分片数据。本实施例中,分片数据包括第二数据段和与第二数据段相邻的两个第一数据段, 分片数据中存在与下一分片数据重叠的第一数据段。提取模块505按照资源文件中数据的顺序从划分好的数据中逐一提取第二数据段,并根据该第二数据段提取与其相邻的两个第一数据段,最后,将第二数据段和两个第一数据段按照资源文件中的数据依次排列形成分片数据。验证模块30,用于对至少三块连续的分片数据进行比对,判断比对的分片数据中是否存在至少两段重叠的数据,若否,则通知获取模块10。本实施例中,由于对资源文件进行分片处理得到分片数据的过程中,复制了分别与两个第二数据段相邻的第一数据段,因此,对于正确无误的分片数据必然存在了相互重叠的第一数据段。例如,若获取的分片数据为三块连续的分片数据,则验证模块30判断这三块连续的分片数据中是否存在两段重叠的数据,若是,则可以确定这三块连续的分片数据中第二块分片数据是正确无误的,若否,则说明这三块连续的分片数据是有问题的。若获取的分片数据为四块连续的分片数据,则验证模块30判断这四块连续的分片数据中是否存在三段重叠的数据,若是,则可以确定这四块连续的分片数据正确无误,若否,则说明这四块连续的分片数据可能是有问题的。在优选的实施例中,验证模块30获取三块连续的分片数据进行验证。获取模块10还用于重新获取比对的分片数据,并再次进行比对。本实施例中,对于有问题的分片数据,获取模块10需要从不同的资源文件发布终端再次获取这些分片数据,并将再次获取到的分片数据与有问题的分片数据进行比对,此时,可以与再次获取到的分片数据不一致的有问题的分片数据即为错误的分片数据,通过这一过程,可以准确的查找了发生了错误的分片数据。在一个具体的实施例中,如图8所示,验证模块30包括标记单元301、比对单元 303。标记单元301,用于标记比对的分片数据。本实施例中,比对之后,标记单元301对这一系列不存在至少两重叠的数据的分片数据进行标记。获取模块10还用于根据标记的分片数据重新获取分片数据。本实施例中,获取模块10根据标记的分片数据重新从资源文件发布终端获取新的分片数据,以用于再次验证这些标记为有问题的分片数据。比对单元303,用于将标记的分片数据与重新获取的分片数据进行比对,判断是否一致,若否,则将重新获取的分片数据替换标记的分片数据。
本实施例中,比对单元303将重新获取到的分片数据与标记了的分片数据进行比对,若重新获取到的分片数据与标记了的分片数据不一致,则确定标记为有问题的分片数据是有问题的,需要将其丢弃,若重新获取到的分片数据与标记了的分片数据是一致的,则说明这标记了有问题的分片数据是正确无误的。其它实施例中,上述资源文件校验系统中,分片数据为资源文件中位于首位的分片数据或位于末位的分片数据,则获取模块10还用于分别从不同的资源文件发布端获取两个资源文件中位于首位的分片数据或位于末位的分片数据。本实施例中,位于资源文件首位或末位的分片数据是仅有一段第一数据段的,因此,在进行这一类分片数据的验证时,需要获取模块10从不同的资源文件发布终端获取两个位于首位的分片数据或者位于末位的分片数据。验证模块30还用于比对资源文件中位于首位的分片数据或位于末位的分片数据是否一致,若否,则通知获取模块10。本实施例中,验证模块30将获取到的两个位于首位的分片数据或者两个位于末位的分片数据进行比对,若一致,则说明这些分片数据是正确无误的,若不一致,则说明这些分片数据是有问题的,需要返回步骤S510中重新获取分片数据,并进行验证。上述资源文件校验方法及系统,资源文件发布终端可以是服务器,也可以是客户端。上述资源文件校验方法可应用于各种资源文件的下载过程中,也可应用于即时通信中共享文件的获取。下面结合一个具体的实施例来详细阐述上述资源文件校验方法及系统。该实施例中,将资源文件划分成多个分片数据,分片数据中包括第二数据段和与第二数据段相邻的两个第一数据,例如,将资源文件划分成分片数据A、分片数据B和分片数据C等,其中,分片数据A中包括了第一数据段Al、第二数据段A2和第一数据段A3,分片数据B中包括了第一数据段A3、第二数据段Bl和第一数据段B2,分片数据C中包括了第一数据段B2、第二数据段Cl和第一数据段C2,连续的分片数据之前存在相互重叠的第一数据段A3。在下载资源文件的过程中,从各种不同的资源文件发布终端下载分片数据,每隔一段时间便对下载到的分片数据进行扫描,获取模块从下载到的分片数据中获取三块连续的分片数据A、分片数据B和分片数据C,验证模块对这三块连续的分片数据进行比对,判断是否存在两段重叠的数据,经判断可知,这三块连续的分片数据中存在第一数据段A3和第一数据段B2是相互重叠的,此时可以确定分片数据B是正确无误的。这一验证过程由前后两个分片数据来验证中间的分片数据是否正确,增加了验证进程中的准确性,降低验证出错的概率。上述资源文件校验方法及系统,由于每一分片数据中设置了第二数据段以及与第二数据段相邻的两个第一数据段,每一分片数据中均存在与下一分片数据重叠的第一数据段,在每一分片数据的验证过程中提供分片数据的资源文件发布终端不需要进行MD5值等信息摘要值的运算,大大地降低了资源文件发布终端的负荷,与资源文件发布终端建立连接的次数和数据传输量也大致降低了一半。上述资源文件校验方法及系统,对于连续的两个分片数据之间均存在着重叠的第一数据段,该第一数据段用于进行分片数据正确性的验证,因此将分片数据的第一数据段所对应的数据量小于第二数据段所对应的数据量,可降低运算的复杂度,提高验证的效率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种资源文件校验方法,包括以下步骤根据所述资源文件获取至少三块连续的分片数据,所述分片数据包括第二数据段和与所述第二数据段相邻的两个第一数据段,所述分片数据中存在与下一分片数据重叠的第一数据段;对所述至少三块连续的分片数据进行比对,判断比对的分片数据中是否存在至少两段重叠的数据,若否,则重新获取所述比对的分片数据,并再次进行比对。
2.根据权利要求1所述的资源文件校验方法,其特征在于,所述根据所述资源文件获取至少三块连续的分片数据的步骤之前还包括对资源文件按照第一数据段和第二数据段的顺序进行分片;复制分别与两个第二数据段相邻的第一数据段;取第二数据段以及与所述第二数据段相邻的两个第一数据段形成分片数据。
3.根据权利要求2所述的资源文件校验方法,其特征在于,所述对资源文件按照第一数据段和第二数据段的顺序进行分片的步骤为将所述资源文件顺序划分成第一数据段和数据量大于所述第一数据段的第二数据段。
4.根据权利要求1所述的资源文件校验方法,其特征在于,所述重新获取所述比对的分片数据,并再次进行比对的步骤为标记所述比对的分片数据;根据标记的分片数据重新获取分片数据;将标记的分片数据与重新获取的分片数据进行比对,判断是否一致,若否,则将重新获取的分片数据替换所述标记的分片数据。
5.根据权利要求1所述的资源文件校验方法,其特征在于,所述分片数据为资源文件中位于首位的分片数据或位于末位的分片数据,所述方法还包括分别从不同的资源文件发布终端获取两个资源文件中位于首位的分片数据或位于末位的分片数据;比对所述资源文件中位于首位的分片数据或位于末位的分片数据是否一致,若否,则返回分别从不同的资源文件发布终端获取两个资源文件中位于首位的分片数据或位于末位的分片数据的步骤。
6.一种资源文件校验系统,其特征在于,至少包括获取模块,用于根据所述资源文件获取至少三块连续的分片数据,所述分片数据包括第二数据段和与所述第二数据段相邻的两个第一数据段,所述分片数据中存在与下一分片数据重叠的第一数据段;验证模块,用于对所述至少三块连续的分片数据进行比对,判断比对的分片数据中是否存在至少两段重叠的数据,若否,则通知所述获取模块重新获取所述比对的分片数据,并再次进行比对。
7.根据权利要求6所述的资源文件校验系统,其特征在于,还包括资源文件发布终端;所述资源文件发布终端包括分片模块,用于对资源文件按照第一数据段和第二数据段的顺序进行分片;复制模块,用于复制分别与两个第二数据段相邻的第一数据段;提取模块,用于提取第二数据段以及与所述第二数据段相邻的两个第一数据段形成分片数据。
8.根据权利要求7所述的资源文件校验系统,其特征在于,所述分片模块还用于将所述资源文件顺序划分成第一数据段和数据量大于所述第一数据段的第二数据段。
9.根据权利要求6所述的资源文件校验系统,其特征在于,所述验证模块包括 标记单元,用于标记所述比对的分片数据;所述获取模块还用于根据标记的分片数据重新获取分片数据; 比对单元,用于将标记的分片数据与重新获取的分片数据进行比对,判断是否一致,若否,则将重新获取的分片数据替换所述标记的分片数据。
10.根据权利要求6所述的资源文件校验系统,其特征在于,所述分片数据为资源文件中位于首位的分片数据或位于末位的分片数据,所述获取模块还用于分别从不同的资源文件发布端获取两个资源文件中位于首位的分片数据或位于末位的分片数据;所述验证模块还用于比对所述资源文件中位于首位的分片数据或位于末位的分片数据是否一致,若否,则通知所述获取模块。
全文摘要
一种资源文件校验方法包括以下步骤根据资源文件获取至少三块连续的分片数据,分片数据包括第二数据段和与第二数据段相邻的两个第一数据段,分片数据中存在与下一分片数据重叠的第一数据段;对至少三块连续的分片数据进行比对,判断分片数据中是否存在至少两段重叠的数据,若否,则重新获取所述比对的分片数据,再次进行比对。资源文件校验方法及系统由于每一分片数据中设置了第二数据段以及与第二数据段相邻的两个第一数据段,每一分片数据中存在与下一分片数据重叠的第一数据段,在验证过程中资源文件发布终端不需要进行MD5值等信息摘要值运算,大大降低资源文件发布终端负荷,与资源文件发布终端建立连接的次数和数据传输量也降低了一半。
文档编号H04L29/08GK102263791SQ20111020131
公开日2011年11月30日 申请日期2011年7月18日 优先权日2011年7月18日
发明者李建成 申请人:李建成