Cdn文件分发系统的制作方法

文档序号:9754792阅读:1637来源:国知局
Cdn文件分发系统的制作方法
【技术领域】
[0001]本发明涉及内容分发网络技术领域,特别是涉及一种CDN文件分发系统。
【背景技术】
[0002]内容分发网络(ContentDelivery Network,Q)N),通过在网络各处放置节点服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容。而这些“边缘”,也即是缓存服务器,用以缓存源站内容。
[0003]现有技术中,CDN文件分发系统的文件分发方法是首先客户将文件上传至源服务器之后,源服务器才可以将用户上传的文件进行下发相应的边缘节点服务器,因此,现有技术中的CDN文件分发系统存在着文件分发灵活性差的问题。

【发明内容】

[0004]本发明实施例解决的技术问题是提高CDN文件分发系统文件分发的灵活性。
[0005]为解决上述问题,本发明实施例提供了一种CDN文件分发系统,所述系统包括:
[0006]源存储节点、至少一个二级存储节点、边缘节点、数据库服务器和任务触发服务器;
[0007]所述源存储节点,适于接收用户传输的文件,生成对应的边缘节点的文件新增任务并写入所述数据库服务器;定时从所述数据库服务器中获取文件处理任务并处理,其中,当所述文件处理任务为文件新增任务时,且相应的文件不存在时,从源站获取对应的文件;
[0008]所述二级存储节点,适于从所述源存储节点抓取相应的文件并下发至所述边缘节占.V ,
[0009]所述数据库服务器,适于接收用户和所述源存储节点提交的文件处理任务;
[0010]所述任务触发服务器,适于将对应的未完成的文件处理任务发送至对应的边缘节点服务器进行处理,并在接收到所述边缘节点返回的文件处理任务执行完成的反馈信息时,将所述数据库服务器中相应的文件处理任务的状态更新为完成;
[0011]所述边缘节点,包括多个边缘节点服务器;所述边缘节点服务器,适于接收所述任务触发服务器发送的未完成的文件处理任务并处理,返回所述文件处理任务的任务执行状态信息至所述任务触发服务器。
[0012]可选地,所述文件处理任务还包括文件删除任务、文件重命名任务、文件复制任务和文件解压缩任务中至少一项。
[0013]可选地,所述⑶N文件分发系统源存储节点包括:
[0014]文件处理单元,适于接收用户的文件操作请求,并对相应的文件执行相应的操作;
[0015]任务生成单元,根据所述对相应的文件执行相应的操作,生成对应的文件处理任务并写入所述数据库中,以使得所述二级存储节点和边缘节点获取所生成的文件处理任务并处理;
[0016]任务处理单元,适于从所述数据库服务器中获取自身未完成的文件处理任务并处理;
[0017]第一任务状态更新单元,适于当将未完成的文件处理任务处理完成时,将所述数据库服务器中对应的文件处理任务的状态更新为完成。
[0018]可选地,所述文件处理单元适于通过RSYNC或者FTP方式接收来自用户的文件操作请求。
[0019]可选地,所述源存储节点还包括:
[0020]任务提交单元,适于接收用户提交的文件处理任务并写入所述数据库服务器中。
[0021]可选地,所述任务提交单元适于通过WEB页面或者API接口接收用户提交的文件处理任务。
[0022]可选地,所述任务处理单元包括:
[0023]任务读取子单元,适于将所述源存储节点的未完成的文件处理任务为从数据库服务器中读取并存储在内存中;
[0024]任务处理子单元,适于从内存中读取未完成的文件处理任务并处理。
[0025]可选地,所述任务处理子单元包括:
[0026]文件删除模块,适于当所述未完成的文件处理任务的操作类型为删除时,对相应的文件执行删除操作;
[0027]文件重命名模块,当所述未完成的文件处理任务的操作类型为重命名时,对相应的文件执行重命名操作;
[0028]文件复制模块,适于当所述未完成的文件处理任务的操作类型为复制时,对相应的文件执行复制操作;
[0029]文件解压缩模块,适于当所述未完成的文件处理任务的操作类型为解压缩,且相应的文件存在时,对相应的文件执行解压缩的操作;当所述未完成的文件处理任务的操作类型为解压缩,且相应的文件不存在时,从对应的源站抓取相应的文件,并对所抓取的文件执行解压缩的操作;
[0030]文件分发模块,适于当所述未完成的文件处理任务的类型操作为新增,且相应的文件不存在时,从对应的源站抓取相应的文件并存储。
[0031]可选地,所述任务触发服务器包括:
[0032]任务分发单元,适于定时从所述任务列表中逐条获取未完成的文件处理任务,并发送至对应的目标边缘节点服务器;
[0033]任务状态接收单元,适于接收所述边缘节点发送的文件处理任务的执行状态信息;
[0034]第二任务状态更新单元,适于当接收到的接收所述边缘节点发送的文件处理任务的执行状态信息为完成时,将所述数据库服务器中对应的文件处理任务的状态更新为完成;
[0035]第一任务删除单元,适于当接收到的接收所述边缘节点发送的文件处理任务的执行状态信息为完成时,从所述任务列表中删除对应的文件处理任务。
[0036]可选地,所述任务分发单元,适于按照优先级从高到底的顺序将分解的对应的多条文件处理任务添加到相应的边缘节点的任务列表中。
[0037]可选地,所述任务分发单元包括:
[0038]第一分发子单元,适于当确定边缘节点中边缘节点服务器的文件存储模式为哈希模式时,从OS服务器上获取所述未完成的文件处理任务对应的目标边缘节点服务器的信息;
[0039]第二分发子单元,适于当确定边缘节点中服务器的文件存储模式为镜像模式时,将所述边缘节点中的任一边缘节点服务器作为所述目标边缘节点服务器。
[0040]可选地,所述任务触发服务器还包括:
[0041]第一获取单元,适于获取所述数据库服务器中的文件处理任务对应的所有边缘节点的信息;
[0042]第二获取单元,适于获取所述数据库服务器中各个边缘节点对应的未完成的文件处理任务;
[0043]任务分解单元,适于逐条获取数据库服务器中未完成的文件处理任务,并分解成对应的多条文件处理任务,并添加到相应的边缘节点的任务列表中。
[0044]可选地,所述边缘节点服务器包括:
[0045]任务获取单元,适于接收所述任务触发服务器的对应的未完成的文件处理任务,并插入到自身的任务列表中;
[0046]任务执行单元,适于从自身的任务列表中获取未完成的文件处理任务并处理;
[0047]任务状态发送单元,适于处理完成一条文件处理任务,并在接收到所述任务触发服务器发送的未完成的文件处理任务时,将处理完成的文件处理任务的完成状态反馈给所述任务触发服务器;
[0048]第二任务删除单元,适于在将处理完成的文件处理任务的完成状态反馈给所述任务触发服务器时,将自身的任务列表中对应的文件处理任务删除。
[0049]可选地,所述任务执行单元包括:
[0050]第一删除子单元,适于当确定所述文件处理任务对应的操作类型为删除时,对相应的文件执行删除操作;
[0051]第一重命名子单元,适于当确定所述文件处理任务的类型为重命名时,对自身存储的相应的文件执行重命名操作;
[0052]第一复制子单元,适于当确定所述文件处理任务的类型为复制时,对自身存储的相应的文件执行复制操作;
[0053]第一任务状态更新子单元,适于在对自身存储的相应的文件执行删除、重命名或者复制操作结束时,将自身任务列表中对应的文件处理任务的状态设置为完成。
[0054]可选地,所述任务执行单元还包括:
[0055]第一判断子单元,适于当确定所述文件处理任务的类型为新增时,判断相应的文件是否存在;
[0056]第一文件获取子单元,适于当确定相应的文件不存在时,通过逐级发送文件传输请求获取相应的文件;
[0057]第二任务状态更新子单元,适于获取对应的文件失败时,将自身的任务列表中对应的文件处理任务的状态设置为失败。
[0058]可选地,所述任务执行单元还包括:
[0059]第二判断子单元,适于当确定所述文件处理任务的类型为解压缩时,判断相应的文件是否存在;
[0060]第二文件获取子单元,适于当确定相应的文件不存在时,通过逐级发送文件传输请求获取相应的文件;
[0061]第三任务状态更新子单元,适于当获取到相应的文件时,并所获取的相应的文件执行解压缩操作结束时,将自身的任务列表中对应的文件处理任务的状态更新为完成。
[0062 ]与现有技术相比,本发明的技术方案具有以下的优点:
[0063]上述的方案,源存储节点不仅可以在客户将文件存储之后,将相应的文件下发至边缘节点,还可以根据数据库中自身对应的文件新增任务的处理,主动从客户的源站中获取相应的文件并下发至边缘节点,可以提高文件分发触发方式的多样性,提升用户的使用体验。
[0064]进一步地,数据库服务器不仅可以通过RSYNC和FTP方式获取中心存储器接收的用户提交的文件操作请求,还可以通过WEB页面和API接口直接获取用户提交的文件处理任务,可以提尚任务提交的灵活性。
[0065]进一步地,任务处理服务器在向边缘节点中的服务器进行任务触发操作时,可以根据任务的优先级来触发边缘节点的文件处理任务,而不单是根据文件上上传的先后顺序进行文件分发,因此,可以进一步提高文件分发的灵活性,从而可以满足紧急任务的快速响应需求。
[ΟΟ??]进一步地,通过对边缘节点进行定时询问的方式,来触发文件处理任务的处理,而不是仅在源服务器接收到文件并发起文件分发请求时才可以进行文件处理任务的处理,因此,可以进一步提高文件处理任务处理的灵
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1