本发明涉及计算机数据处理领域,具体而言,涉及文件同步任务的分配方法、系统、设备、介质及工作节点。
背景技术:
1、跨数据中心海量文件的同步目前基本采用分布式工作架构,通常是通过主节点根据加权算法拆分传输任务,并将拆分后的传输任务给各个工作节点。虽然,本意是一种加权平均分配传输任务的思路,从而将传输任务较为均匀的分配到各个工作节点上。但是,由于各种条件限制,很大概率会出现有些工作节点任务排队,有些工作节点等待任务的现象,从而影响到传输任务的最终效率。因此,亟需一种有效的方案用以解决现有的分布式同步系统中存在的这种传输任务分配不均匀的问题。
技术实现思路
1、本发明的目的在于提供文件同步任务的分配方法、系统、设备、介质及工作节点,其能够用以解决分布式同步系统中存在的文件同步任务分配不均匀的问题。
2、本发明是这样实现的:
3、第一方面,本申请提供一种文件同步任务的分配方法,包括以下步骤:
4、异常中断查询步骤:利用工作节点进行查询集群缓存数据库中是否存在由于异常导致的正在处理但未处理结束的文件同步任务,若是,则转至同步任务处理步骤;若否,则转至待处理查询步骤。待处理查询步骤:利用工作节点进行查询集群缓存数据库中的待处理任务队列中是否存在待处理的文件同步任务,若是,则在移动对应的待处理的文件同步任务至当前工作节点中后,转至同步任务处理步骤;若否,则转至处理失败查询步骤。处理失败查询步骤:利用工作节点进行查询集群缓存数据库中是否存在历史处理失败的文件同步任务,若是,则移动对应的历史处理失败的文件同步任务至当前工作节点中后,转至同步任务处理步骤;若否,则转至异常中断查询步骤。同步任务处理步骤:利用工作节点进行处理对应的文件同步任务,若同步成功,则利用主控节点从集群缓存数据库中的处理中任务队列中进行删除对应的文件同步任务,否则,将失败的文件同步任务转移到失败任务队列中,并转至异常中断查询步骤;其中,主控节点用于向集群缓存数据库中的待处理任务队列中写入对应的文件同步任务,以及根据工作节点缓存信息回收失效工作节点处理的文件同步任务。
5、进一步地,基于前述方案,上述工作节点包括多个,且多个上述工作节点可进行新增/删除处理,新增任一工作节点并启动后,该工作节点将主动从待处理任务队列中获取文件同步任务,并进行相应的处理;删除任一工作节点后,该工作节点的缓存信息将清理相关工作节点信息,以供主控节点回收任务。
6、第二方面,本申请提供一种工作节点,其包括:
7、查询模块,用于执行异常中断查询步骤、待处理查询步骤和处理失败查询步骤。处理模块,用于执行同步任务处理步骤:利用工作节点进行处理对应的文件同步任务,若同步成功,则利用主控节点从集群缓存数据库中的处理中任务队列中进行删除对应的文件同步任务,否则,将失败的文件同步任务转移到失败任务队列中,并转至异常中断查询步骤。
8、其中,上述异常中断查询步骤包括:利用工作节点进行查询集群缓存数据库中是否存在由于异常导致的正在处理但未处理结束的文件同步任务,若是,则转至同步任务处理步骤;若否,则转至待处理查询步骤。上述待处理查询步骤包括:利用工作节点进行查询集群缓存数据库中的待处理任务队列中是否存在待处理的文件同步任务,若是,则在移动对应的待处理的文件同步任务至当前工作节点中后,转至同步任务处理步骤;若否,则转至处理失败查询步骤。上述处理失败查询步骤包括:利用工作节点进行查询集群缓存数据库中是否存在历史处理失败的文件同步任务,若是,则移动对应的历史处理失败的文件同步任务至当前工作节点中后,转至同步任务处理步骤;若否,则转至异常中断查询步骤。
9、第三方面,本申请提供一种文件同步任务的分配系统,其包括:
10、主控节点,用于维护待处理任务队列,并根据工作节点的缓存信息进行回收失效工作节点处理的任务;工作节点,用于维护处理中任务队列、失败任务队列,并定时刷新当前工作节点的缓存。
11、进一步地,基于前述方案,上述主控节点和工作节点通过缓存数据库或消息队列进行任务队列、工作节点缓存信息的维护。
12、进一步地,基于前述方案,上述工作节点包括多个,其中,新增任一工作节点并启动后,该工作节点将主动从待处理任务队列中获取文件同步任务,并进行相应的处理;删除任一工作节点后,该工作节点的缓存信息会清理相关工作节点信息,以供主控节点回收任务。
13、第四方面,本申请提供一种文件同步任务的分配系统,其包括:
14、集群缓存数据库、主控节点和多个可添加/删除的工作节点,主控节点和多个可添加/删除的工作节点均与上述集群缓存数据库通信连接。其中,任一工作节点均存储有第一计算机程序,该第一计算机程序被处理器执行时实现第一方面中任一项所述的方法,用以维护处理中任务队列、失败任务队列,并定时刷新当前工作节点的缓存。上述主控节点存储有第二计算机程序,上述第二计算机程序被处理器执行时实现如第一方面中任一项的方法,用以远程维护待处理任务队列,并根据工作节点的缓存信息进行回收失效工作节点处理的任务。
15、第五方面,本申请提供一种电子设备,包括至少一个处理器、至少一个存储器和数据总线;其中:上述处理器与上述存储器通过上述数据总线完成相互间的通信;上述存储器存储有被上述处理器执行的程序指令,上述处理器调用上述程序指令以执行如上述第一方面中任一项所述的方法。
16、第六方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项所述的方法。
17、相对于现有技术,本发明至少具有如下优点或有益效果:
18、通过从工作节点入手,进行文件同步任务处理流程的优化,从而避免分布式数据同步系统中工作节点任务处理不均匀的问题,所有工作节点均可以根据自身运行情况自行获取作业任务,便于传输任务的快速处理。并且,在分布式数据同步系统进行扩容或运维时,可以直接根据实际运行情况快速增加或删除工作节点,而不必让主控节点重新分配传输任务。
1.一种文件同步任务的分配方法,其特征在于,包括以下步骤:
2.如权利要求1所述的文件同步任务的分配方法,其特征在于,所述工作节点包括多个,且多个所述工作节点可进行新增/删除处理,新增任一工作节点并启动后,该工作节点将主动从待处理任务队列中获取文件同步任务,并进行相应的处理;删除任一工作节点后,该工作节点的缓存信息将清理相关工作节点信息,以供主控节点回收任务。
3.一种工作节点,其特征在于,包括:
4.一种应用于权利要求1的文件同步任务的分配系统,其特征在于,包括:
5.如权利要求4所述的文件同步任务的分配系统,其特征在于,所述主控节点和工作节点通过缓存数据库或消息队列进行任务队列、工作节点缓存信息的维护。
6.如权利要求4所述的文件同步任务的分配系统,其特征在于,所述工作节点包括多个,其中,新增任一工作节点并启动后,该工作节点将主动从待处理任务队列中获取文件同步任务,并进行相应的处理;删除任一工作节点后,该工作节点的缓存信息会清理相关工作节点信息,以供主控节点回收任务。
7.一种应用于权利要求1的文件同步任务的分配系统,其特征在于,包括集群缓存数据库、主控节点和多个可添加/删除的工作节点,主控节点和多个可添加/删除的工作节点均与所述集群缓存数据库通信连接;
8.一种电子设备,其特征在于,包括至少一个处理器、至少一个存储器和数据总线;其中:所述处理器与所述存储器通过所述数据总线完成相互间的通信;所述存储器存储有被所述处理器执行的程序指令,所述处理器调用所述程序指令以执行如权利要求1-2任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-2中任一项所述的方法。