一种cdn节点文件同步方法和装置制造方法

文档序号:7803117阅读:265来源:国知局
一种cdn节点文件同步方法和装置制造方法
【专利摘要】本发明实施例公开了一种CDN节点文件同步方法,包括:当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息;判断所述新文件与所述原文件的所述同一种文件信息是否一致;若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。本发明实施例还公开了一种CDN节点文件同步装置。采用本发明实施例,可以提高文件信息比较的准确性,并使得CDN节点中的文件同步更加及时。
【专利说明】 一种CDN节点文件同步方法和装置
【技术领域】
[0001]本发明涉及网络【技术领域】,尤其涉及一种⑶N节点文件同步方法和装置。
【背景技术】
[0002]CDN(Content Delivery Network,内容分发网络)是通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决英特网的网络拥挤的状况,提高用户获取网络内容的响应速度。
[0003]在现有技术方案中,当CDN节点上的文件到达预定时间时,CDN节点请求源服务器同步相应文件,并且将源服务器中的文件最后修改时间与本CDN节点上的文件修改时间进行比较,如果最后修改时间一致,则此CDN节点不会对该文件进行更新,如果最后修改时间不同,则此CDN节点将从源服务器调取新的文件取代当前文件。
[0004]现有技术方案的缺点是:首先,当在源服务器中发布新文件时,如果此时CDN节点中的文件未到达预定时间,则不能及时对CDN节点中的文件进行更新,这样就会导致CDN节点中的文件与源服务器中的文件不一致;其次,同步更新文件的条件仅仅是比较文件的最后修改时间,没有进行文件完整性的比较,准确性不高,因为有些文件的修改时间虽然一样,但是文件内容实质不同,这样也会导致CDN节点中的文件与源服务器中的文件不一致。

【发明内容】

[0005]本发明实施例提供一种CDN节点文件同步方法和装置。提高了 CDN节点文件同步更新的及时性。
[0006]本发明实施例提供了一种⑶N节点文件同步方法,包括:
[0007]当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息;
[0008]判断所述新文件与所述原文件的所述同一种文件信息是否一致;
[0009]若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
[0010]其中,所述同一种文件信息至少包括最后修改时间、文件大小和MD5信息特征码
之一 O
[0011]其中,若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件,包括:
[0012]若所述新文件与所述原文件的最后修改时间、文件大小和MD5信息特征码至少其中之一不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
[0013]其中,所述判断所述新文件与所述原文件的所述同一种文件信息是否一致,包括:
[0014]判断所述新文件与所述原文件的最后修改时间是否一致;[0015]若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的文件大小是否一致;
[0016]若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
[0017]其中,所述判断所述新文件与所述原文件的所述同一种文件信息是否一致,包括:
[0018]判断所述新文件与所述原文件的文件大小是否一致;
[0019]若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的最后修改时间是否一致;
[0020]若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
[0021]其中,所述方法还包括:
[0022]当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中不存在与所述新文件相对应的原文件时,将所述新文件保存到所述CDN节点中。
[0023]相应的,本发明实施例提供了一种⑶N节点文件同步装置,包括:
[0024]信息获取模块,用于当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息;
[0025]信息判断模块,用于判断所述新文件与所述原文件的所述同一种文件信息是否一致;
[0026]文件更新模块,用于若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
[0027]其中,所述同一种文件信息至少包括最后修改时间、文件大小和MD5信息特征码
之一 O
[0028]其中,若文件更新模块包括:
[0029]判断更新单元,用于若所述新文件与所述原文件的最后修改时间、文件大小和MD5信息特征码至少其中之一不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
[0030]其中,所述信息判断模块包括:
[0031]第一判断单元,用于判断所述新文件与所述原文件的最后修改时间是否一致;
[0032]第二判断单元,用于若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的文件大小是否一致;
[0033]第三判断单元,用于若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
[0034]其中,所述信息判断模块还包括:
[0035]第四判断单元,用于判断所述新文件与所述原文件的文件大小是否一致;
[0036]第五判断单元,用于若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的最后修改时间是否一致;
[0037]第六判断单元,用于若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
[0038]其中,所述装置还包括:[0039]文件保存模块,用于当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中不存在与所述新文件相对应的原文件时,将所述新文件保存到所述CDN节点中。
[0040]实施本发明实施例,当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息;判断所述新文件与所述原文件的所述同一种文件信息是否一致;若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。针对现有技术中CDN节点中文件同步不及时的问题,本发明实施例通过对源服务器进行实时监测,从而当监测到源服务器有新文件发布时,及时将源服务器中的新文件同步到CDN节点中,提高了 CDN节点文件的同步速度。
【专利附图】

【附图说明】
[0041]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1本发明实施例提出的一种CDN节点文件同步方法的流程图;
[0043]图2是本发明实施例提出的一种CDN节点文件同步装置的结构示意图;
[0044]图3是本发明实施例提出的CDN节点文件同步装置中的信息判断模块的结果示意图;
[0045]图4是本发明提出的CDN节点文件同步装置中的信息判断模块的另一实施例的结构示意图;
[0046]图5是本发明实施例提出的CDN节点文件同步装置中的文件更新模块的结构示意图。
【具体实施方式】
[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]请参考图1,图1本发明实施例提出的一种CDN节点文件同步方法的流程图。如图所示,所述方法至少包括:
[0049]S101,当监测到源服务器有新文件发布,且与所述源服务器关联的⑶N节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息。
[0050]具体实现中,可以对源服务器是否有新文件发布进行实时监测,当通过FTP(FileTransfer Protocol,文件传输协议)或者SSH(Secure Shell,安全壳协议)工具上传新文件到源服务器时,则可以检测到源服务器有新文件发布。同时,检测与源服务器关联的CDN节点中是否存在与新文件相对应的原文件,若CDN节点中存在与新文件相对应的原文件,则获取所述新文件和所述原文件的同一种文件信息;若CDN节点中不存在与新文件相对应的原文件,则直接将新文件保存到CDN节点中。
[0051 ] 进一步的,可以获取上述新文件所存储的域名,然后根据域名,查询与域名匹配的源服务器IP(Internet Protocol, Internet协议)地址,根据查询到的源服务器IP地址,获取源服务器中的上述新文件的文件信息;同时根据域名,查询与域名匹配的所述与源服务器关联的⑶N节点的IP地址,根据查询到的⑶N节点的IP地址,通过⑶N刷新接口刷新CDN节点从而获取上述原文件的文件信息。
[0052]需要说明的是,部署在网络中的⑶N节点可能达到几十甚至几百个,本发明实施例采用多线程技术,同时查询与所述源服务器关联的所有CDN节点,从而同时获取各CDN节点中与新文件相对应的原文件的文件信息,并同时对各CDN节点进行文件同步操作。
[0053]S102,判断所述新文件与所述原文件的所述同一种文件信息是否一致。
[0054]具体实现中,上述同一种文件信息至少包括最后修改时间、文件大小和MD5 (Message Digest Algorithm5)信息特征码之一。可以判断上述新文件与上述原文件的最后修改时间是否一致,或者判断上述新文件与上述原文件的文件大小是否一致,或者判断上述新文件与上述原文件的MD5信息特征码是否一致。
[0055]可选的,可以判断新文件与原文件的最后修改时间一致,若新文件与原文件的最后修改时间不一致,则使用原文件更新CDN节点中的原文件;若新文件与原文件的最后修改时间一致,则判断新文件与原文件的文件大小是否一致,若新文件与原文件的文件大小不一致,则使用原文件更新CDN节点中的原文件;若新文件与原文件的文件大小一致,则判断新文件与原文件的MD5信息特征码是否一致,若新文件与原文件的MD5信息特征码不一致,则使用新文件更新CDN节点中的原文件,若新文件与原文件的MD5信息特征码一致,则不需对CDN节点中的原文件进行更新。
[0056]可选的,可以判断新文件与原文件的文件大小是否一致,若新文件与原文件的文件大小不一致,则使用原文件更新CDN节点中的原文件;若新文件与原文件的文件大小一致,则判断新文件与原文件的最后修改时间是否一致,若新文件与原文件的最后修改时间不一致,则使用原文件更新CDN节点中的原文件;若新文件与原文件的最后修改时间一致,则判断新文件与原文件的MD5信息特征码是否一致,若新文件与原文件的MD5信息特征码不一致,则使用新文件更新CDN节点中的原文件,若新文件与原文件的MD5信息特征码一致,则不需对CDN节点中的原文件进行更新。
[0057]需要说明的是,由于计算MD5信息特征码需要一定的时间,所以可以首先比较最后修改时间和文件大小,如果上述新文件与上述原文件的最后修改时间和文件大小相同,则需要获取原文件的MD5信息特征特征码,并判断原文件与新文件的MD5信息特征特征码是否一致,从而进一步确定上述原文件是否需要同步更新。其中,MD5信息特征码是通过信息摘要算法计算得到的一个固定长度值,用于确保信息传输完整一致。
[0058]S103,若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
[0059]具体实现中,若所述新文件与所述原文件的最后修改时间、文件大小和MD5信息特征码至少其中之一不一致,则使用所述新文件更新所述CDN节点中的所述原文件。进一步的,可以通过CDN刷新接口刷新CDN节点,调取源服务器中的上述新文件保存到CDN节点中,并删除之前保存在CDN节点中的原文件。
[0060]需要说明的是,在本发明实施例中,执行主体可以是源服务器,也可以是CDN节点,可以多次重复上述步骤,以便确保源服务器中的文件与CDN节点中的文件达到同步。[0061]本发明实施例通过对源服务器是否有新文件发布进行实施监测,当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,判断新文件与原文件的同一种文件信息对否一致,从而当新文件与原文件的同一种文件信息不一致时,使用新文件更新CDN节点中的原文件。提高了文件信息比较的准确性,并使得CDN节点中的文件同步更加及时。
[0062]请参考图2,图2是本发明提出的一种CDN节点文件同步装置的结构示意图,如图所示,本发明实施例至少包括:文件保存模块201,信息获取模块202、文件确定模块203以及文件更新模块204其中:
[0063]文件保存模块201,用于当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中不存在与所述新文件相对应的原文件时,将所述新文件保存到所述CDN节点中。
[0064]具体地,可以对源服务器是否有新文件发布进行实时监测,当通过或者SSH工具上传新文件到源服务器时,则可以检测到源服务器有新文件发布。同时,检测与源服务器关联的CDN节点中是否存在与新文件相对应的原文件,若CDN节点不存在与所述新文件相对应的原文件,则直接将新文件保存到CDN节点中。
[0065]信息获取模块202,用于当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息。
[0066]具体地,检测与源服务器关联的CDN节点中是否存在与新文件相对应的原文件,若CDN节点中存在与新文件相对应的原文件,则获取所述新文件和所述原文件的同一种文件信息。
[0067]进一步的,可以获取上述新文件所存储的域名,然后根据域名,查询与域名匹配的源服务器IP地址,根据查询到的源服务器IP地址,获取源服务器中的上述新文件的文件信息;同时根据域名,查询与域名匹配的所述与源服务器关联的CDN节点的IP地址,根据查询到的⑶N节点的IP地址,通过⑶N刷新接口刷新⑶N节点从而获取上述原文件的文件信
肩、O
[0068]需要说明的是,部署在网络中的⑶N节点可能达到几十甚至几百个,本发明实施例采用多线程技术,同时查询与所述源服务器关联的所有CDN节点,从而同时获取各CDN节点中与新文件相对应的原文件的文件信息,并同时对各CDN节点进行文件同步操作。
[0069]信息判断模块203,用于判断所述新文件与所述原文件的所述同一种文件信息是否一致。其中,上述同一种文件信息至少包括最后修改时间、文件大小和信息特征码之一。
[0070]具体实现中,可以判断上述新文件与上述原文件的最后修改时间是否一致,或者判断上述新文件与上述原文件的文件大小是否一致,或者判断上述新文件与上述原文件的MD5信息特征码是否一致。
[0071]可选的,如图3所示,信息判断模块203还可以包括:第一判断单元301、第二判断单元302以及第三判断单元303,其中:
[0072]第一判断单元301,用于判断新文件与原文件的最后修改时间是否一致,若新文件与原文件的最后修改时间不一致,则使用原文件更新CDN节点中的原文件。
[0073]第二判断单元302,用于若新文件与原文件的最后修改时间一致,则判断新文件与原文件的文件大小是否一致,若新文件与原文件的文件大小不一致,则使用原文件更新CDN节点中的原文件。
[0074]第三判断单元303,用于若新文件与原文件的文件大小一致,则判断新文件与原文件的MD5信息特征码是否一致,若新文件与原文件的MD5信息特征码不一致,则使用新文件更新CDN节点中的原文件,若新文件与原文件的MD5信息特征码一致,则不需对CDN节点中的原文件进行更新。
[0075]可选的,如图4所示,信息判断模块203还可以包括:第四判断单元401、第五判断单元402以及第六判断单元403,其中:
[0076]第四判断单元401,用于判断新文件与原文件的文件大小是否一致,若新文件与原文件的文件大小不一致,则使用原文件更新CDN节点中的原文件。
[0077]第五判断单元402,用于若新文件与原文件的文件大小一致,则判断新文件与原文件的最后修改时间是否一致,若新文件与原文件的最后修改时间不一致,则使用原文件更新CDN节点中的原文件。
[0078]第六判断单元403,用于若新文件与原文件的最后修改时间一致,则判断新文件与原文件的MD5信息特征码是否一致,若新文件与原文件的MD5信息特征码不一致,则使用新文件更新CDN节点中的原文件,若新文件与原文件的MD5信息特征码一致,则不需对CDN节点中的原文件进行更新。
[0079]需要说明的是,由于计算MD5信息特征码需要一定的时间,所以可以首先比较最后修改时间和文件大小,如果上述新文件与上述原文件的最后修改时间和文件大小相同,则需要获取原文件的MD5信息特征特征码,并判断原文件的MD5信息特征特征码是否与新文件的MD5信息特征特征码一致,从而进一步确定上述原文件是否需要同步更新。其中,MD5信息特征码是通过信息摘要算法计算得到的一个固定长度值,用于确保信息传输完整—致。
[0080]文件更新模块204,用于若所述新文件的文件信息与所述原文件的文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
[0081]可选的,如图5所示,文件更新模块204包括判断更新单元501,其中:
[0082]判断更新单元501,用于若所述新文件与所述原文件的最后修改时间、文件大小和MD5信息特征码至少其中之一不一致,则使用所述新文件更新所述CDN节点中的所述原文件。进一步的,可以通过⑶N刷新接口刷新⑶N节点,调取源服务器中的上述新文件保存到CDN节点中,并删除之前保存在CDN节点中的原文件。
[0083]需要说明的是,在本发明实施例中,执行主体可以是源服务器,也可以是⑶N节点,可以多次重复上述操作模块或者单元,以便确保源服务器中的文件与CDN节点中的文件达到同步。
[0084]本发明实施例通过对源服务器是否有新文件发布进行实施监测,当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,判断新文件与原文件的同一种文件信息是否一致;从而当新文件与原文件的同一种文件信息不一致时,使用新文件更新CDN节点中的原文件。提高了文件信息比较的准确性,并使得CDN节点中的文件同步更加及时。
[0085]本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。[0086]本发明实施例装置中的模块或者单元可以根据实际需要进行合并、划分和删减。
[0087]本发明实施例中模块或者单元,可以通过通用集成电路,例如CPU (CentralProcessing Unit,中央处理器),或通过 ASIC (Application Specific Integrated Circuit,专用集成电路)来实现。
[0088]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)
坐寸ο
[0089]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种CDN节点文件同步方法,其特征在于,所述方法包括: 当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息; 判断所述新文件与所述原文件的所述同一种文件信息是否一致; 若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
2.如权利要求1所述的方法,其特征在于,所述同一种文件信息至少包括最后修改时间、文件大小和MD5信息特征码之一。
3.如权利要求2所述的方法,其特征在于,若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件,包括: 若所述新文件与所述原文件的最后修改时间、文件大小和MD5信息特征码至少其中之一不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
4.如权利要求3所述的方法,其特征在于,所述判断所述新文件与所述原文件的所述同一种文件信息是否一致,包括: 判断所述新文件与所述原文件的最后修改时间是否一致; 若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的文件大小是否一致; 若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
5.如权利要求3所述的方法,其特征在于,所述判断所述新文件与所述原文件的所述同一种文件信息是否一致,包括: 判断所述新文件与所述原文件的文件大小是否一致; 若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的最后修改时间是否一致; 若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
6.如权利要求1-5任一所述的方法,其特征在于,所述方法还包括: 当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中不存在与所述新文件相对应的原文件时,将所述新文件保存到所述CDN节点中。
7.—种⑶N节点文件同步装置,其特征在于,所述装置包括: 信息获取模块,用于当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中存在与所述新文件相对应的原文件时,获取所述新文件和所述原文件的同一种文件信息; 信息判断模块,用于判断所述新文件与所述原文件的所述同一种文件信息是否一致; 文件更新模块,用于若所述新文件与所述原文件的所述同一种文件信息不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
8.如权利要求7所述的装置,其特征在于,所述同一种文件信息至少包括最后修改时间、文件大小和MD5信息特征码之一。
9.如权利要求8所述的装置,其特征在于,所述文件更新模块包括:判断更新单元,用于若所述新文件与所述原文件的最后修改时间、文件大小和MD5信息特征码至少其中之一不一致,则使用所述新文件更新所述CDN节点中的所述原文件。
10.如权利要求9所述的装置,其特征在于,所述信息判断模块包括: 第一判断单元,用于判断所述新文件与所述原文件的最后修改时间是否一致; 第二判断单元,用于若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的文件大小是否一致; 第三判断单元,用于若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
11.如权利要求9所述的装置,其特征在于,所述信息判断模块还包括: 第四判断单元,用于判断所述新文件与所述原文件的文件大小是否一致; 第五判断单元,用于若所述新文件与所述原文件的文件大小一致,则判断所述新文件与所述原文件的最后修改时间是否一致; 第六判断单元,用于若所述新文件与所述原文件的最后修改时间一致,则判断所述新文件与所述原文件的MD5信息特征码是否一致。
12.如权利要求7 -11任一所述的装置,其特征在于,所述装置还包括: 文件保存模块,用于当监测到源服务器有新文件发布,且与所述源服务器关联的CDN节点中不存在与所述新文件相对应的原文件时,将所述新文件保存到所述CDN节点中。
【文档编号】H04L29/08GK103997518SQ201410189359
【公开日】2014年8月20日 申请日期:2014年5月6日 优先权日:2014年5月6日
【发明者】胡有志 申请人:广州金山网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1