首页> 中国专利> 基于内容分发网络CDN的数据同步方法,客户端及服务器

基于内容分发网络CDN的数据同步方法,客户端及服务器

摘要

本发明公开了一种基于内容分发网络CDN的数据同步方法,客户端及服务器,所述方法包括:所述客户端从为其分配的节点服务器下载数据文件;所述客户端依据所述数据文件的最新特征信息,判断所述数据文件是否最新;若否,则所述客户端向所述种子资源查询服务器提交最新的数据文件的查询请求;所述客户端接收所述种子资源查询服务器针对所述请求返回的所述最新的数据文件对应的种子资源信息;所述客户端从所述种子资源信息指示的节点服务器和/或客户端侧下载所述最新的数据文件。本发明可以提高数据同步效率,同时保证最新数据的准确性及安全性。

著录项

  • 公开/公告号CN103634410A

    专利类型发明专利

  • 公开/公告日2014-03-12

    原文格式PDF

  • 申请/专利号CN201310684099.7

  • 发明设计人 蔡东赟;杨小波;王东玉;

    申请日2013-12-12

  • 分类号H04L29/08;H04L29/06;G06F17/30;

  • 代理机构北京润泽恒知识产权代理有限公司;

  • 代理人赵娟

  • 地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)

  • 入库时间 2024-02-19 23:32:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-22

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/08 专利号:ZL2013106840997 变更事项:专利权人 变更前:北京奇安信科技有限公司 变更后:奇安信科技集团股份有限公司 变更事项:地址 变更前:100015 北京市朝阳区酒仙桥路甲10号3号楼15层17层1701-26 变更后:100032 北京市西城区新街口外大街28号102号楼3层332号

    专利权人的姓名或者名称、地址的变更

  • 2017-05-17

    著录事项变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20131212

    著录事项变更

  • 2017-01-11

    授权

    授权

  • 2017-01-04

    专利申请权的转移 IPC(主分类):H04L29/08 登记生效日:20161212 变更前: 变更后: 申请日:20131212

    专利申请权、专利权的转移

  • 2014-04-09

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20131212

    实质审查的生效

  • 2014-03-12

    公开

    公开

查看全部

说明书

技术领域

本发明涉及数据处理技术领域,具体涉及一种基于内容分发网络 CDN的数据同步方法,一种基于内容分发网络CDN的数据同步客户 端,以及,一种基于内容分发网络CDN的数据同步种子资源查询服务 器。

背景技术

CDN(Content Distribution Network,内容分发网络)是一种新型网 络内容服务体系,其基于互联网络而构建,基于内容访问与应用的效率 要求、质量要求和内容秩序而提供内容的分发和服务。CDN可以尽可能 避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容 传输的更快、更稳定。具体而言,CDN能够实时地根据网络流量和各节 点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户 导向至最近的节点服务器上,使用户可就近取得所需数据,解决网络拥 挤的状况,提高用户下载数据的速度。

但是,文件的数据同步问题在CDN一直是个难以解决的问题。在 CDN中传输的文件,有的是几十M,有的是几百M,因此,可能由于延 时或者网络故障等等其他情况,导致在CDN中各个网元的文件并非都是 最新的。

参照图1所示的现有技术的一种内容分发网络CDN的架构图,在 CDN中用户通常是从临近的节点服务器下载文件,但是,有时候虽然临 近的节点服务器上文件的下载配置索引等已经更新了,而节点服务器还 没有从其他服务器中下载到最新的数据,在其保存的数据可能是的旧数 据,因此造成用户实际下载到的数据很有可能并非是最新的文件,这个 时候CDN的数据就不同步了,造成用户的不便。在具体实现中,用户需 下载的文件可能是病毒库、安装包等这些用于更新病毒库,或者软件的 数据文件,而这些文件必须时常更新的,才能尽量保护用户的终端不被 最新流行的病毒所侵害。

发明内容

鉴于上述问题,提出了本发明以便提供一种基于内容分发网络CDN 的数据同步方法,一种基于内容分发网络CDN的数据同步客户端,以 及,一种基于内容分发网络CDN的数据同步种子资源查询服务器。

依据本发明的一个方面,提供了一种基于内容分发网络CDN的数据 同步方法,所述内容分发网络CDN中包括分发服务器,与所述分发服务 器通信的节点服务器,与所述节点服务器通信的客户端,以及,与所述 客户端通信的种子资源查询服务器;所述客户端中存储有数据文件的最 新特征信息;

所述方法包括:

所述客户端从为其分配的节点服务器下载数据文件;

所述客户端依据所述数据文件的最新特征信息,判断所述数据文件 是否最新;

若否,则所述客户端向所述种子资源查询服务器提交最新的数据文 件的查询请求;

所述客户端接收所述种子资源查询服务器针对所述请求返回的所述 最新的数据文件对应的种子资源信息;

所述客户端从所述种子资源信息指示的节点服务器和/或客户端侧下 载所述最新的数据文件。

可选地,所述客户端从为其分配的节点服务器下载数据文件的步骤 包括:

客户端接收分发服务器发送的HTTP下载信息;所述HTTP下载信息 包括节点服务器的指示信息;

所述客户端依据所述HTTP下载信息连接对应的节点服务器下载数 据文件。

可选地,所述客户端依据所述HTTP下载信息连接对应的节点服务 器下载数据文件的步骤包括:

所述客户端依据所述HTTP下载信息连接到对应的节点服务器,从 所述节点服务器中多个预置的起止位置分段下载所述数据文件;

所述客户端组合所述分段下载获得的数据文件。

可选地,所述客户端依据所述数据文件的最新特征信息,判断所述 数据文件是否最新的步骤包括:

所述客户端依据所述数据文件计算当前特征信息;

所述客户端判断所述最新特征信息与当前特征信息是否一致;

若是,则所述客户端判断所述数据文件为最新;

若否,则所述客户端判断所述数据文件不为最新。

可选地,所述最新特征信息为最新数据文件的数据内容标识,所述 当前特征信息为当前数据文件的数据内容标识。

可选地,所述最新数据文件的数据内容标识为最新数据文件的MD5 值;所述当前数据文件的数据内容标识为当前数据文件的MD5值。

可选地,所述种子资源信息包括一条或多条P2SP下载索引信息,在 所述客户端从所述种子资源信息指示的节点服务器和/或客户端侧下载所 述最新的数据文件的步骤后,所述方法还包括:

所述客户端上报自身的P2SP下载索引信息至所述种子资源查询服务 器。

可选地,还包括:

若所述客户端依据所述数据文件的最新特征信息,判断所述数据文 件为最新,则上报自身的P2SP下载索引信息至种子资源查询服务器。

可选地,所述HTTP下载信息包括统一资源定位符URL;所述P2SP 下载索引信息包括文件的存放位置,文件大小,文件所在服务器和/或客 户端的地址,和/或文件发布者的地址。

依据本发明的另一方面,还公开了一种基于内容分发网络CDN的数 据同步方法,所述内容分发网络CDN中包括分发服务器,与所述分发服 务器通信的节点服务器,与所述节点服务器通信的客户端,以及,与所 述客户端通信的种子资源查询服务器;所述客户端中存储有数据文件的 最新特征信息;

所述方法包括:

所述种子资源查询服务器接收客户端发送的最新的数据文件的查询 请求;所述请求为所述客户端依据所述数据文件的最新特征信息,判断 所述数据文件不为最新时提交;

所述种子资源查询服务器依据所述请求查询所述最新的数据文件的 种子资源信息;

所述种子资源查询服务器返回所述种子资源信息至所述客户端。

可选地,所述种子资源信息包括一条或多条P2SP下载索引信息,所 述方法还包括:

所述种子资源查询服务器接收所述客户端上报自身的P2SP下载索引 信息。

依据本发明的另一方面,还公开了一种内容分发网络CDN中的客户 端,其中,所述客户端与节点服务器通信,所述节点服务器与分发服务 器通信,所述客户端还与种子资源查询服务器通信,并且,所述客户端 中存储有数据文件的最新特征信息;

所述客户端包括:

第一下载模块,适于从为其分配的节点服务器下载数据文件;

判断模块,适于依据所述数据文件的最新特征信息,判断所述数据 文件是否最新;若否,则执行提交模块;

提交模块,适于向所述种子资源查询服务器提交最新的数据文件的 查询请求;

接收模块,适于接收所述种子资源查询服务器针对所述请求返回的 所述最新的数据文件对应的种子资源信息;

第二下载模块,适于从所述种子资源信息指示的节点服务器和/或客 户端侧下载所述最新的数据文件。

可选地,所述第一下载模块包括:

HTTP下载信息接收子模块,适于接收分发服务器发送的HTTP下载 信息;所述HTTP下载信息包括节点服务器的指示信息;

连接子模块,适于依据所述HTTP下载信息连接对应的节点服务器 下载数据文件。

可选地,所述连接子模块包括:

分段下载单元,适于依据所述HTTP下载信息连接到对应的节点服 务器,从所述节点服务器中多个预置的起止位置分段下载所述数据文 件;

组合单元,适于组合所述分段下载获得的数据文件。

可选地,所述判断模块包括:

计算子模块,适于依据所述数据文件计算当前特征信息;

判断子模块,适于判断所述最新特征信息与当前特征信息是否一 致;若是,则调用第一判定子模块,若否,则调用第二判定子模块;

第一判定子模块,适于判断所述数据文件为最新;

第二判定子模块,适于判断所述数据文件不为最新。

可选地,所述最新特征信息为最新数据文件的数据内容标识,所述 当前特征信息为当前数据文件的数据内容标识。

可选地,所述最新特征信息为最新数据文件的MD5值;所述当前特 征信息为当前数据文件的MD5值。

可选地,所述种子资源信息包括一条或多条P2SP下载索引信息,所 述客户端还包括:

第一上报模块,适于上报自身的P2SP下载索引信息至所述种子资源 查询服务器。

可选地,所述的客户端还包括:

第二上报模块,适于在依据所述数据文件的最新特征信息,判断所 述数据文件为最新时,上报自身的P2SP下载索引信息至种子资源查询服 务器。

可选地,所述HTTP下载信息包括统一资源定位符URL;所述P2SP 下载索引信息包括文件的存放位置,文件大小,文件所在服务器和/或客 户端的地址,和/或文件发布者的地址。

依据本发明的另一方面,还公开了一种基于内容分发网络CDN的数 据同步的种子资源查询服务器,其中,所述种子资源查询服务器与客户 端通信,所述客户端与节点服务器通信,所述节点服务器与分发服务器 通信,其中,所述客户端中存储有数据文件的最新特征信息;

所述种子资源查询服务器包括:

接收模块,适于接收客户端发送的最新的数据文件的查询请求;所 述请求为所述客户端依据所述数据文件的最新特征信息,判断所述数据 文件不为最新时提交;

查询模块,适于依据所述请求查询所述最新的数据文件的种子资源 信息;

返回模块,适于返回所述种子资源信息至所述客户端。

可选地,所述种子资源信息包括一条或多条P2SP下载索引信息,所 述种子资源查询服务器还包括:

下载信息接收模块,适于接收所述客户端上报自身的P2SP下载索引 信息。

在本发明实施例中,在CDN为各个客户端分配节点服务器,并在有 新的数据文件发布时,发送最新特征信息至各个客户端。当客户端从节 点服务器下载到数据文件时,可以根据最新特征信息来判断数据文件是 不是最新,如果判定数据文件不是最新,还可以发送请求至种子资源查 询服务器,获取到临近的节点服务器的种子资源信息,并根据该种子资 源信息所指示的节点服务器和/或客户端中快速去下载最新的数据文件, 可以提高数据同步效率,同时保证最新数据的准确性及安全性。

另外,下载到最新数据的客户端,还可以将其自身的P2SP下载索引 信息上报至种子资源查询服务器,种子资源查询服务器接收后就可以将 该P2SP下载索引信息作为种子资源信息保留,其他的客户端就可以到该 客户端下载数据文件,这样就可以有效地把原本孤立的服务器和其镜像 资源以及P2P资源整合到了一起,当有较多客户端下载数据文件时,下 载效率较高。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明 的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上 述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实 施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对 于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式 的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的 参考符号表示相同的部件。在附图中:

图1示出了现有技术的一种内容分发网络CDN的架构图;

图2示出了根据本发明一个实施例的一种基于内容分发网络CDN的 数据同步方法实施例一的步骤流程图;

图3示出了根据本发明一个实施例的一种基于内容分发网络CDN的 数据同步方法实施例二的步骤流程图;

图4示出了根据本发明一个实施例的一种基于内容分发网络CDN的 数据同步实施结构示意图;

图5示出了根据本发明一个实施例的一种基于内容分发网络CDN的 数据同步客户端实施例的结构框图;

图6示出了根据本发明一个实施例的一种基于内容分发网络CDN的 数据同步种子资源查询服务器实施例的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中 显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本 公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了 能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领 域的技术人员。

本发明实施例的核心之一在于,通过P2SP配合CDN方案处理数据 同步的问题,当客户端下载到的数据文件经校验后发现不是最新时,可 以采用P2SP的下载方式去其他节点服务器或者客户端下载最新的数据文 件。

参照图2,示出了根据本发明一个实施例的一种基于内容分发网络 CDN的数据同步方法实施例一的步骤流程图,所述内容分发网络CDN 中可以包括分发服务器,与所述分发服务器通信的节点服务器,与所述 节点服务器通信的客户端,以及,与所述客户端通信的种子资源查询服 务器;所述客户端中可以存储有数据文件的最新特征信息;

所述方法具体可以包括如下步骤:

步骤101,所述客户端从为其分配的节点服务器下载数据文件;

在本发明的一种优选实施例中,所述步骤101可以包括如下子步 骤:

子步骤S11,客户端接收分发服务器发送的HTTP下载信息;所述 HTTP下载信息包括节点服务器的指示信息;

子步骤S12,所述客户端依据所述HTTP下载信息连接对应的节点服 务器下载数据文件。

在具体实现中,CDN中的分发服务器,或者其他及时性较强的服务 器在发布新的数据文件时,可以将该数据文件对应的最新特征信息及下 载信息等发布给CDN中的各个网元,即节点服务器或者客户端中。由于 最新特征信息相对内容较少,故在CDN中不会出现不同步的问题,因此 可以作为判断数据文件是否是最新的依据。

在实际应用中,CDN可以通过就近性和服务器负载来做判断,可以 以一种极为高效的方式为用户提供服务。具体地,CDN通常为用户的客 户端就近分配节点服务器,当客户端接收到的分发服务器发送的临近的 网元的HTTP下载信息时,就可以根据HTTP下载信息连接对应的节点 服务器来快速下载数据文件。

作为本发明的具体应用的一种示例中,所述的HTTP下载信息可以 为指定节点服务器的地址(URL,统一资源定位符)。分发服务器可以为 客户端分发的指定节点服务器的HTTP下载信息,也可以是分发服务器 是固定映射的节点服务器,当然,可以是尽可能避开互联网上有可能影 响数据传输速度和稳定性的瓶颈和环节,为客户端量身分配的节点服务 器,具体可以依据实际需求而定,本发明对此不作限制。

在本发明的一种优选实施例中,所述子步骤S12,即所述客户端依 据所述HTTP下载信息连接对应的节点服务器下载数据文件的步骤可以 包括如下子步骤:

子步骤S12-1,所述客户端依据所述HTTP下载信息连接到对应的节 点服务器,从所述节点服务器中多个预置的起止位置分段下载所述数据 文件;

子步骤S12-2,所述客户端组合所述分段下载获得的数据文件。

在具体实现中,当客户端根据HTTP下载信息连接到对应的节点服 务器时,就可以开始从该节点服务器中下载对应的数据文件。由于部分 的数据文件较大,为了能够加快下载进度,可以采用一种并发式文件多 分段的下载方式,即可以从数据文件不同起止位置分段下载,比如从a 文件的第一个字节开始下载,同时还可以从a文件第100个字节下载,当 客户端将文件分段下载完后,进行本地拼接,再次组合为一个完整的数 据文件。由于采用多分段并发下载的方式,下载文件的速度得到极大的 提高。

步骤102,所述客户端依据所述数据文件的最新特征信息,判断所 述数据文件是否最新;若否,则执行步骤103;

在本发明的一种优选实施例中,所述步骤102可以包括如下子步 骤:

子步骤S31,所述客户端依据所述数据文件计算当前特征信息;

子步骤S32,所述客户端判断所述最新特征信息与当前特征信息是 否一致;若是,则执行子步骤S33,若否,则执行子步骤S34;

子步骤S33,所述客户端判断所述数据文件为最新;

子步骤S34,所述客户端判断所述数据文件不为最新。

在本发明的一种优选示例中,所述最新特征信息可以为最新数据文 件的数据内容标识,所述当前特征信息可以为当前数据文件的数据内容 标识。

在具体实现中,最新特征信息可以是根据数据文件的内容生成的唯 一的数据内容标识,例如,可以采用CRC(Cyclic Redundancy Check,循 环冗余校验码)来计算。当最新的数据文件发布后,可以同时将最新数 据文件的内容标识发布给CDN中的各个网元,由于数据内容标识是根据 数据文件的内容生成,如果文件被改写,在客户端计算出的当前数据文件 的数据内容标识与最新数据文件的数据内容标识是不一致的,说明当前 的数据文件很可能有问题。

优选地,所述最新数据文件的数据内容标识可以为最新数据文件的 MD5值;所述当前数据文件的数据内容标识可以为当前数据文件的MD5 值。

在本发明实施例中,所述MD5值可以为采用MD5(信息-摘要算法 5,Message-Digest Algorithm5)计算出的数据文件唯一标识。具体而 言,可以是利用MD5算法根据文件的二进制信息来计算MD5值。

MD5算法是计算机广泛使用的杂凑算法之一,其将数据运算为另一 固定长度值,将信息压缩成一种保密的格式。MD5具有碰撞率低的特 点,使用MD5算法计算文件的唯一标识,能够有效防止文件的重复和碰 撞。例如,假设文件被病毒或木马入侵了,或者文件不是最新的,那么 计算到的MD5值将与客户端本地保存的MD5值不一致,就可以很容易 发现该文件有问题了。

当然,在实际应用中,不限于MD5算法,本领域技术人员还可以以 低碰撞率为原则,选择其它适当的算法生成文件的唯一标识,本发明对 此无需加以限制。

步骤103,所述客户端向所述种子资源查询服务器提交最新的数据 文件的查询请求;

步骤104,所述客户端接收所述种子资源查询服务器针对所述请求 返回的所述最新的数据文件对应的种子资源信息;

步骤105,所述客户端从所述种子资源信息指示的节点服务器和/或 客户端侧下载所述最新的数据文件。

在本发明是实施例中,如果下载的数据文件校验失败,那么可以说 明下载到的数据不是最新,此时还可以通过其他方式下载文件,例如 P2SP(Peer to Server&Peer,用户对服务器和用户)。

采用P2SP技术,数据文件可以在CDN上的各个网元中互相传递, 有效地把原本孤立的服务器和其镜像资源以及P2P(peer-to-peer,点对 点)资源整合到了一起。具体来说,P2SP下载索引信息是一个带有查询 种子键值的信息,可以到特定服务器获取相应的资源。

在具体实现中,客户端可以从种子资源查询服务器查询种子资源信 息,获取到带有最新资源(即数据文件)的服务器,或者,带最新资源 的客户端的种子资源信息后,客户端就可以去种子资源信息中所指示的 服务器或者客户端下载最新的数据文件。

在本发明的一种优选示例中,客户端向种子资源查询服务器发送的 请求中还可以包括根据数据文件计算得到的MD5值,种子资源查询服务 器接收后可以与本地保存的种子资源信息中的MD5值进行比对,如果发 现同样的MD5值的种子资源信息,说明该种子资源信息对应的网元中的 数据文件仍然是旧的,种子资源查询服务器可以选择将其标记,或者直 接删除,以避免将同样是该种子资源信息发送给客户端,从而导致客户 端再次下载到旧数据。

另外,新的数据文件等资源在CDN发布时,可以将预定要下载该资 源的服务器的信息上传到种子资源查询服务器,这样就可以保证部分服 务器上保存的一定是新的数据,在不确定某些服务器或客户端中的数据 是否是最新时,可以直接给请求种子资源信息的客户端发送该预定服务 器的对应的种子资源信息。

在本发明的一种优选实施例中,所述种子资源信息可以包括一条或 多条P2SP下载索引信息,在所述客户端从所述种子资源信息指示的节点 服务器和/或客户端侧下载所述最新的数据文件的步骤后,所述方法还可 以包括如下步骤:

所述客户端上报自身的P2SP下载索引信息至所述种子资源查询服务 器。

在本发明的另一优选实施例中,所述的方法还可以包括如下步骤:

若所述客户端依据所述数据文件的最新特征信息,判断所述数据文 件为最新,则上报自身的P2SP下载索引信息至种子资源查询服务器。

在本发明实施例中,当客户端下载到最新的数据文件时,还可以将 自身IP地址和拥有资源的相关信息,即P2SP下载索引信息上报至种子 资源查询服务器,种子资源查询服务器可以将其收录,这样其他客户端 就可以和这个客户端进行通讯。具体来说,所述P2SP下载索引信息可以 包括文件的存放位置,文件大小,文件所在服务器和/或客户端的地址, 和/或文件发布者的地址等等,当然,还可以包括客户端计算的MD5 值。

参照图3,示出了根据本发明一个实施例的一种基于内容分发网络 CDN的数据同步方法实施例二的步骤流程图,所述内容分发网络CDN 中可以包括分发服务器,与所述分发服务器通信的节点服务器,与所述 节点服务器通信的客户端,以及,与所述客户端通信的种子资源查询服 务器;所述客户端中可以存储有数据文件的最新特征信息;

所述的方法具体可以包括如下步骤:

步骤201,所述种子资源查询服务器接收客户端发送的最新的数据 文件的查询请求;所述请求为所述客户端依据所述数据文件的最新特征 信息,判断所述数据文件不为最新时提交;

步骤202,所述种子资源查询服务器依据所述请求查询所述最新的 数据文件的种子资源信息;

步骤203,所述种子资源查询服务器返回所述种子资源信息至所述 客户端。

在本发明的一种优选实施例中,所述种子资源信息可以包括一条或 多条P2SP下载索引信息,所述方法还可以包括如下步骤:

所述种子资源查询服务器接收所述客户端上报自身的P2SP下载索引 信息。

在实际应用中,可以在CDN中设置种子资源查询服务器,在种子资 源查询服务器保存有多个种子资源信息。当客户端检测出数据文件不是 最新时,种子资源查询服务器会接收到客户端发送的查询请求,种子资 源查询服务器可以为该服务器发送临近的服务器或者客户端的种子资源 信息,客户端就可以快速地从种子资源信息中指示的节点服务器,或者 客户端下载到最新数据。

为了使本领域技术人员进一步了解本发明实施例,以下采用一个具 体的应用示例来进行说明。

在具体实现中,由于安全的原因,部分企业和政府机关的网络都与 外部网络隔离,即不能连接互联网。在复杂的企业网络中,任何一个员 工的疏漏、漏洞管理疏漏,都可能给企业安全带来威胁。虽然企业和政 府机关的网络都与外部网络隔离,但在其内部仍然需要运行新版本的软 件或者传递数据,这些问题就变得棘手。

参照图4所示的本发明的一种基于内容分发网络CDN的数据同步实 施结构示意图,在CDN中可以包括分发服务器,与所述分发服务器通信 的节点服务器,与所述节点服务器通信的客户端,以及,与所述客户端 通信的种子资源查询服务器。其中,该CDN可以是自行建立,当然,也 可以是使用第三方的CDN。

在隔离网中,可以优先采用CDN的普通下载方式下载资源,一般客 户端直接可以从临近的节点服务器下载到数据文件。如果客户端下载到 的数据文件校验失败,发现不是最新的数据文件的话,那么还可以采用 P2SP的下载方式,具体而言,客户端可以在种子资源查询服务器查询并 获取种子资源信息,并从种子资源信息中指示的节点服务器快速下载最 新的数据文件。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为 一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不 受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采 用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书 中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明 实施例所必须的。

参照图5,示出了根据本发明一个实施例的一种基于内容分发网络 CDN的数据同步客户端实施例的结构框图,其中,所述客户端与节点服 务器通信,所述节点服务器与分发服务器通信,所述客户端还与种子资 源查询服务器通信,并且,所述客户端中存储有数据文件的最新特征信 息;

所述客户端具体可以包括如下模块:

第一下载模块301,适于从为其分配的节点服务器下载数据文件;

在本发明的一种优选实施例中,所述第一下载模块301可以包括:

HTTP下载信息接收子模块,适于客户端接收分发服务器发送的 HTTP下载信息;所述HTTP下载信息包括节点服务器的指示信息;

连接子模块,适于依据所述HTTP下载信息连接对应的节点服务器 下载数据文件。

在本发明的一种优选实施例中,所述连接子模块可以包括:

分段下载单元,适于依据所述HTTP下载信息连接到对应的节点服 务器,从所述节点服务器中多个预置的起止位置分段下载所述数据文 件;

组合单元,适于组合所述分段下载获得的数据文件。

判断模块302,适于依据所述数据文件的最新特征信息,判断所述 数据文件是否最新;若否,则执行提交模块;

在本发明的一种优选实施例中,所述判断模块302可以包括:

计算子模块,适于依据所述数据文件计算当前特征信息;

判断子模块,适于判断所述最新特征信息与当前特征信息是否一 致;若是,则调用第一判定子模块,若否,则调用第二判定子模块;

第一判定子模块,适于判断所述数据文件为最新;

第二判定子模块,适于判断所述数据文件不为最新。

在本发明的一种优选实施例中,所述最新特征信息可以为最新数据 文件的数据内容标识,所述当前特征信息可以为当前数据文件的数据内 容标识。

在本发明的一种优选实施例中,所述最新数据文件的数据内容标识 可以为最新数据文件的MD5值;所述当前数据文件的数据内容标识可以 为当前数据文件的MD5值。

提交模块303,适于向所述种子资源查询服务器提交最新的数据文 件的查询请求;

接收模块,适于接收所述种子资源查询服务器针对所述请求返回的 所述最新的数据文件对应的种子资源信息;

第二下载模块,适于从所述种子资源信息指示的节点服务器和/或客 户端侧下载所述最新的数据文件。

在本发明的一种优选实施例中,所述种子资源信息包括一条或多条 P2SP下载索引信息,所述装置还可以包括:

第一上报模块,适于上报自身的P2SP下载索引信息至所述种子资源 查询服务器。

在本发明的一种优选实施例中,所述的装置还可以包括:

第二上报模块,适于在依据所述数据文件的最新特征信息,判断所 述数据文件为最新时,上报自身的P2SP下载索引信息至种子资源查询服 务器。

在本发明的一种优选实施例中,所述HTTP下载信息可以包括统一 资源定位符URL;所述P2SP下载索引信息可以包括文件的存放位置, 文件大小,文件所在服务器和/或客户端的地址,和/或文件发布者的地 址。

参照图6,示出了根据本发明一个实施例的一种基于内容分发网络 CDN的数据同步种子资源查询服务器实施例的结构框图,

其中,所述种子资源查询服务器与客户端通信,所述客户端与节点 服务器通信,所述节点服务器与分发服务器通信,其中,所述客户端中 存储有数据文件的最新特征信息;

所述种子资源查询服务器包括:

接收模块301,适于接收客户端发送的最新的数据文件的查询请 求;所述请求为所述客户端依据所述数据文件的最新特征信息,判断所 述数据文件不为最新时提交;

查询模块302,适于依据所述请求查询所述最新的数据文件的种子 资源信息;

返回模块303,适于返回所述种子资源信息至所述客户端。

在本发明的一种优选实施例中,所述种子资源信息可以包括一条或 多条P2SP下载索引信息,所述种子资源查询服务器还可以包括:

下载信息接收模块,适于接收所述客户端上报自身的P2SP下载索引 信息。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的 比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设 备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上 面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也 不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此 描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理 解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实 例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书 的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的 一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个 特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并 不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求 比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下 面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施 例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入 该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进 行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备 中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组 件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样 的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何 组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特 征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非 另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开 的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包 括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的 特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例 如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以 任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个 处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术 人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP) 来实现根据本发明实施例的基于内容分发网络CDN的数据同步设备中的 一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行 这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算 机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算 机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可 以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他 形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限 制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计 出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构 造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的 元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这 样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适 当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装 置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、 以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种基于内容分发网络CDN的数据同步方法, 所述内容分发网络CDN中包括分发服务器,与所述分发服务器通信的节 点服务器,与所述节点服务器通信的客户端,以及,与所述客户端通信 的种子资源查询服务器;所述客户端中存储有数据文件的最新特征信 息;

所述方法包括:

所述客户端从为其分配的节点服务器下载数据文件;

所述客户端依据所述数据文件的最新特征信息,判断所述数据文件 是否最新;

若否,则所述客户端向所述种子资源查询服务器提交最新的数据文 件的查询请求;

所述客户端接收所述种子资源查询服务器针对所述请求返回的所述 最新的数据文件对应的种子资源信息;

所述客户端从所述种子资源信息指示的节点服务器和/或客户端侧下 载所述最新的数据文件。

A2、如权利要求A1所述的方法,其特征在于,所述客户端从为其 分配的节点服务器下载数据文件的步骤包括:

客户端接收分发服务器发送的HTTP下载信息;所述HTTP下载信息 包括节点服务器的指示信息;

所述客户端依据所述HTTP下载信息连接对应的节点服务器下载数 据文件。

A3、如权利要求A2所述的方法,其特征在于,所述客户端依据所 述HTTP下载信息连接对应的节点服务器下载数据文件的步骤包括:

所述客户端依据所述HTTP下载信息连接到对应的节点服务器,从 所述节点服务器中多个预置的起止位置分段下载所述数据文件;

所述客户端组合所述分段下载获得的数据文件。

A4、如权利要求A1或A2或A3所述的方法,其特征在于,所述客 户端依据所述数据文件的最新特征信息,判断所述数据文件是否最新的 步骤包括:

所述客户端依据所述数据文件计算当前特征信息;

所述客户端判断所述最新特征信息与当前特征信息是否一致;

若是,则所述客户端判断所述数据文件为最新;

若否,则所述客户端判断所述数据文件不为最新。

A5、如权利要求A4所述的方法,其特征在于,所述最新特征信息 为最新数据文件的数据内容标识,所述当前特征信息为当前数据文件的 数据内容标识。

A6、如权利要求A4所述的方法,其特征在于,所述最新数据文件 的数据内容标识为最新数据文件的MD5值;所述当前数据文件的数据内 容标识为当前数据文件的MD5值。

A7、如权利要求A6所述的方法,其特征在于,所述种子资源信息 包括一条或多条P2SP下载索引信息,在所述客户端从所述种子资源信息 指示的节点服务器和/或客户端侧下载所述最新的数据文件的步骤后,所 述方法还包括:

所述客户端上报自身的P2SP下载索引信息至所述种子资源查询服务 器。

A8、如权利要求A7所述的方法,其特征在于,还包括:

若所述客户端依据所述数据文件的最新特征信息,判断所述数据文 件为最新,则上报自身的P2SP下载索引信息至种子资源查询服务器。

A9、如权利要求A7所述的方法,其特征在于,所述HTTP下载信息 包括统一资源定位符URL;所述P2SP下载索引信息包括文件的存放位 置,文件大小,文件所在服务器和/或客户端的地址,和/或文件发布者 的地址。

本发明还公开了B10、一种基于内容分发网络CDN的数据同步方 法,所述内容分发网络CDN中包括分发服务器,与所述分发服务器通信 的节点服务器,与所述节点服务器通信的客户端,以及,与所述客户端 通信的种子资源查询服务器;所述客户端中存储有数据文件的最新特征 信息;

所述方法包括:

所述种子资源查询服务器接收客户端发送的最新的数据文件的查询 请求;所述请求为所述客户端依据所述数据文件的最新特征信息,判断 所述数据文件不为最新时提交;

所述种子资源查询服务器依据所述请求查询所述最新的数据文件的 种子资源信息;

所述种子资源查询服务器返回所述种子资源信息至所述客户端。

B11、如权利要求B10所述的方法,其特征在于,所述种子资源信 息包括一条或多条P2SP下载索引信息,所述方法还包括:

所述种子资源查询服务器接收所述客户端上报自身的P2SP下载索引 信息。

本发明还公开了C12、一种内容分发网络CDN中的客户端,其中, 所述客户端与节点服务器通信,所述节点服务器与分发服务器通信,所 述客户端还与种子资源查询服务器通信,并且,所述客户端中存储有数 据文件的最新特征信息;

所述客户端包括:

第一下载模块,适于从为其分配的节点服务器下载数据文件;

判断模块,适于依据所述数据文件的最新特征信息,判断所述数据 文件是否最新;若否,则执行提交模块;

提交模块,适于向所述种子资源查询服务器提交最新的数据文件的 查询请求;

接收模块,适于接收所述种子资源查询服务器针对所述请求返回的 所述最新的数据文件对应的种子资源信息;

第二下载模块,适于从所述种子资源信息指示的节点服务器和/或客 户端侧下载所述最新的数据文件。

C13、如权利要求C12所述的客户端,其特征在于,所述第一下载 模块包括:

HTTP下载信息接收子模块,适于客户端接收分发服务器发送的 HTTP下载信息;所述HTTP下载信息包括节点服务器的指示信息;

连接子模块,适于依据所述HTTP下载信息连接对应的节点服务器 下载数据文件。

C14、如权利要求C13所述的客户端,其特征在于,所述连接子模 块包括:

分段下载单元,适于依据所述HTTP下载信息连接到对应的节点服 务器,从所述节点服务器中多个预置的起止位置分段下载所述数据文 件;

组合单元,适于组合所述分段下载获得的数据文件。

C15、如权利要求C12或C13或C14所述的客户端,其特征在于, 所述判断模块包括:

计算子模块,适于依据所述数据文件计算当前特征信息;

判断子模块,适于判断所述最新特征信息与当前特征信息是否一 致;若是,则调用第一判定子模块,若否,则调用第二判定子模块;

第一判定子模块,适于判断所述数据文件为最新;

第二判定子模块,适于判断所述数据文件不为最新。

C16、如权利要求C15所述的客户端,其特征在于,所述最新特征 信息为最新数据文件的数据内容标识,所述当前特征信息为当前数据文 件的数据内容标识。

C17、如权利要求C16所述的客户端,其特征在于,所述最新特征 信息为最新数据文件的MD5值;所述当前特征信息为当前数据文件的 MD5值。

C18、如权利要求C17所述的客户端,其特征在于,所述种子资源 信息包括一条或多条P2SP下载索引信息,所述装置还包括:

第一上报模块,适于上报自身的P2SP下载索引信息至所述种子资源 查询服务器。

C19、如权利要求C18所述的客户端,其特征在于,还包括:

第二上报模块,适于在依据所述数据文件的最新特征信息,判断所 述数据文件为最新时,上报自身的P2SP下载索引信息至种子资源查询服 务器。

C20、如权利要求C18所述的客户端,其特征在于,所述HTTP下载 信息包括统一资源定位符URL;所述P2SP下载索引信息包括文件的存 放位置,文件大小,文件所在服务器和/或客户端的地址,和/或文件发 布者的地址。

本发明还公开了D21、一种基于内容分发网络CDN的数据同步的种 子资源查询服务器,其中,所述种子资源查询服务器与客户端通信,所 述客户端与节点服务器通信,所述节点服务器与分发服务器通信,其 中,所述客户端中存储有数据文件的最新特征信息;

所述种子资源查询服务器包括:

接收模块,适于接收客户端发送的最新的数据文件的查询请求;所 述请求为所述客户端依据所述数据文件的最新特征信息,判断所述数据 文件不为最新时提交;

查询模块,适于依据所述请求查询所述最新的数据文件的种子资源 信息;

返回模块,适于返回所述种子资源信息至所述客户端。

D22、如权利要求D21所述的种子资源查询服务器,其特征在于, 所述种子资源信息包括一条或多条P2SP下载索引信息,所述种子资源查 询服务器还包括:

下载信息接收模块,适于接收所述客户端上报自身的P2SP下载索引 信息。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号