文件推送方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及网络技术领域,特别涉及一种文件推送方法、装置和系统。
【背景技术】
[0002]随着互联网技术的迅速发展,网络系统的数据规模越来越大,生成的数据文件越来越多,当生成了新的数据文件时,如何快速地将生成的数据文件推送至需要应用该数据文件的目的节点已成为亟待解决的问题。
[0003]目前的网络系统中,当客户端获取到数据文件时,将该数据文件上传至文件存储节点,上传完成后,向协调节点提交一个推送任务,协调节点可以根据该推送任务,确定该推送任务对应的目的节点,即为该数据文件的目的节点。从推送节点监控协调节点中的任务,当检测到协调节点中添加了该推送任务时,确定该数据文件的目的节点,并从文件存储节点中下载该数据文件,下载完成后,进入下载就绪状态,等待主推送节点的调度指令。而主推送节点检测到协调节点中添加了该推送任务时,确定该数据文件的目的节点,判断目的节点是否处于空闲状态,当主推送节点确定目的节点处于空闲状态,且从推送节点处于下载就绪状态时,向从推送节点发送调度指令,从推送节点接收到该调度指令时,向目的节点推送该数据文件。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]客户端将该数据文件上传至文件存储节点时,需要耗费很长时间,从推送节点从文件存储节点中下载该数据文件时,也需要耗费很长时间。
【发明内容】
[0006]为了解决现有技术的问题,本发明实施例提供了一种文件推送方法、装置和系统。所述技术方案如下:
[0007]第一方面,提供了一种文件推送方法,所述方法包括:
[0008]将待推送的数据文件拆分为多个子文件;
[0009]并行地将所述多个子文件上传至文件存储节点;
[0010]在协调节点中添加与所述多个子文件对应的推送任务,使得所述协调节点根据所述推送任务,确定所述数据文件的目的节点,当所述从推送节点检测到所述协调节点中添加了所述推送任务时,确定所述数据文件的目的节点,从所述文件存储节点中,并行地下载所述多个子文件,对下载到的多个子文件进行合并,在接收到主推送节点的调度指令时,向所述目的节点推送合并得到的数据文件。
[0011]第二方面,提供了一种文件推送方法,所述方法包括:
[0012]监控协调节点中的任务;
[0013]当检测到所述协调节点中添加了推送任务时,确定所述推送任务对应的目的节占.V,
[0014]从文件存储节点中,并行地下载所述推送任务对应的多个子文件,所述多个子文件由客户端对待推送的数据文件进行拆分得到;
[0015]对当前下载到的多个子文件进行合并;
[0016]当接收到主推送节点的调度指令时,向所述目的节点推送当前合并得到的数据文件。
[0017]第三方面,提供了一种文件推送方法,所述方法包括:
[0018]监控协调节点中的任务;
[0019]当检测到所述协调节点中添加了推送任务时,确定所述推送任务对应的目的节占.V,
[0020]判断所述目的节点是否处于空闲状态;
[0021 ] 当确定所述目的节点处于空闲状态时,在未确定从推送节点的下载进度的前提下,向所述从推送节点发送调度指令,所述从推送节点用于并行地下载所述推送任务对应的多个子文件,对当前下载到的多个子文件进行合并,当接收到所述调度指令时,获取当前合并得到的数据文件,向所述目的节点推送当前合并得到的数据文件。
[0022]第四方面,提供了一种文件推送装置,所述装置包括:
[0023]拆分模块,用于将待推送的数据文件拆分为多个子文件;
[0024]并行上传模块,用于并行地将所述多个子文件上传至文件存储节点;
[0025]任务添加模块,用于在协调节点中添加与所述多个子文件对应的推送任务,使得所述协调节点根据所述推送任务,确定所述数据文件的目的节点,当所述从推送节点检测到所述协调节点中添加了所述推送任务时,确定所述数据文件的目的节点,从所述文件存储节点中,并行地下载所述多个子文件,对下载到的多个子文件进行合并,在接收到主推送节点的调度指令时,向所述目的节点推送合并得到的数据文件。
[0026]第五方面,提供了一种文件推送装置,所述装置包括:
[0027]监控模块,用于监控协调节点中的任务;
[0028]确定模块,用于当检测到所述协调节点中添加了推送任务时,确定所述推送任务对应的目的节点;
[0029]并行下载模块,用于从文件存储节点中,并行地下载所述推送任务对应的多个子文件,所述多个子文件由客户端对待推送的数据文件进行拆分得到;
[0030]合并模块,用于对当前下载到的多个子文件进行合并;
[0031]推送模块,用于当接收到主推送节点的调度指令时,向所述目的节点推送当前合并得到的数据文件。
[0032]第六方面,提供了一种文件推送装置,所述装置包括:
[0033]监控模块,用于监控协调节点中的任务;
[0034]确定模块,用于当检测到所述协调节点中添加了推送任务时,确定所述推送任务对应的目的节点;
[0035]判断模块,用于判断所述目的节点是否处于空闲状态;
[0036]发送模块,用于当确定所述目的节点处于空闲状态时,在未确定从推送节点的下载进度的前提下,向所述从推送节点发送调度指令,所述从推送节点用于并行地下载所述推送任务对应的多个子文件,对当前下载到的多个子文件进行合并,当接收到所述调度指令时,获取当前合并得到的数据文件,向所述目的节点推送当前合并得到的数据文件。
[0037]第七方面,提供了一种文件推送系统,所述系统包括:客户端、主推送节点、从推送节点、文件存储节点、协调节点和目的节点;
[0038]所述客户端用于将待推送的数据文件拆分为多个子文件;并行地将所述多个子文件上传至所述文件存储节点;在协调节点中添加与所述多个子文件对应的推送任务;
[0039]所述从推送节点用于监控所述协调节点中的任务;当检测到所述协调节点中添加了推送任务时,确定所述推送任务对应的目的节点;从所述文件存储节点中,并行地下载所述多个子文件,对当前下载到的多个子文件进行合并;
[0040]所述主推送节点用于监控所述协调节点中的任务;当检测到所述协调节点中添加了推送任务时,确定所述推送任务对应的目的节点;判断所述目的节点是否处于空闲状态;当确定所述目的节点处于空闲状态时,在未确定所述从推送节点的下载进度的前提下,向所述从推送节点发送调度指令;
[0041]所述从推送节点还用于当接收到所述调度指令时,向所述目的节点推送当前合并得到的数据文件。
[0042]本发明实施例提供的技术方案带来的有益效果是:
[0043]本发明实施例提供的方法、装置和系统,通过客户端要将数据文件推送至目的节点时,先将数据文件拆分为多个子文件,并行地将该多个子文件上传至文件存储节点,缩短了上传该数据文件所耗费的时间,且在协调节点中添加推送任务,使得从推送节点能够根据该推送任务,从文件存储节点中,并行地下载多个子文件,也缩短了下载该数据文件所耗费的时间,提高了推送效率。
【附图说明】
[0044]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1是本发明实施例提供的一种文件推送系统的结构示意图;
[0046]图2是本发明实施例提供的一种文件推送方法的流程图;
[0047]图3是本发明实施例提供的一种文件推送方法的流程图;
[0048]图4是本发明实施例提供的一种文件推送方法的流程图;
[0049]图5是本发明实施例提供的一种文件推送方法的流程图;
[0050]图6A是本发明实施例提供的客户端的处理流程示意图;
[0051]图6B是本发明实施例提供的从推送节点的处理流程示意图;
[0052]图6C是本发明实施例提供的交互时序示意图;
[0053]图7是本发明实施例提供的一种文件推送装置结构示意图;
[0054]图8是本发明实施例提供的一种文件推送装置结构示意图;
[0055]图9是本发明实施例提供的一种文件推送装置结构示意图。
【具体实施方式】
[0056]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]图1是本发明实施例提供的一种文件推送系统的结构示意图,参见图1,该文件系统包括:客户端101、主推送节点102、从推送节点103、文件存储节点104、协调节点105和目的节点106。该客户端101分别与该文件存储节点104和该协调节点105连接,且该协调节点105分别与该主推送节点102和该从推送节点103连接,该主推送节点102与该从推送节点103连接,且该主推送节点102和该从推送节点103均与该目的节点106连接。
[0058]对于一个数据文件来说,该客户端101用于将数据文件上传至该文件存储节点104,并在协调节点105提交与该数据文件对应的推送任务,该主推送节点102和该从推送节点103用于监控该协调节点105中的任务,该主推送节点102还用于监控目的节点106的运行状态,当该主推送节点102检测到该协调节点中添加了推送任务且该目的节点106处于空闲状态时,对该从推送节点103进行调度。该从推送节点103用于检测到协调节点中添加了该推送任务时,从该文件存储节点104下载该数据文件,根据该主推送节点102的调度,向目的节点106推送该数据文件。
[0059]本发明实施例中,该客户端101用于将待推送的数据文件拆分为多个子文件,并行地将该多个子文件上传至该文件存储节点104 ;在协调节点105中添加与该多个子文件对应的推送任务;
[0060]该从推送节点103用于监控该协调节点105中的任务;当检测到该协调节点105中添加了推送任务时,确定该推送任务对应的目的节点106 ;从该文件存储节点104中,并行地下载该推送任务对应的多个子文件,对当前下载到的多个子文件进行合并;
[0061]该主推送节点102用于监控