一种在多节点网络中执行作业任务的方法_2

文档序号:8248166阅读:来源:国知局
,并通过用户交互界面进行显示。在本发明实施例中,在步骤所述当前节点汇总所述多个子作业任务的执行结果并得到总体作业任务结果之前还包括:接收其他节点发送的子作业任务的执行结果。
[0027]在本发明实施例中,所述每个元数据冗余存储在同一节点分组中的多个成员节点中包括:实时记录所述每个元数据的被访问日志,所述访问日志至少包括所述每个元数据的标识符和被访问的时间信息。周期性地计算所述每个元数据的单位时间访问量以及同一节点分组内所有元数据的单位时间平均访问量。将单位时间访问量大于单位时间平均访问量的元数据冗余存储在同一节点分组中的M个成员节点中,将单位时间访问量小于或等于单位时间平均访问量的元数据冗余存储在同一节点分组中的N个成员节点中,其中M>N。例如,M为3,N为2。
[0028]在本发明实施例中,所述请求与所述当前节点属于同一节点分组的具有最小负载的服务节点提供所述一个或多个元数据的存储位置信息包括:将所述一个或多个元数据的标识符打包并发送给与所述当前节点属于同一节点分组的具有最小负载的服务节点。所述与所述当前节点属于同一节点分组的具有最小负载的服务节点查询存储信息表,并将匹配成功的一个或多个存储位置信息打包并发送给所述当前节点。其中,当与所述当前节点属于同一节点分组的具有最小负载的服务节点接收到所述打包的标示符后,首先进行解包操作,然后再查询存储信息表。
[0029]在本发明实施例中,所述请求其他节点分组的服务节点提供未能获得的存储位置信息包括:将未能获得存储位置信息的一个或多个元数据的标识符打包并发送给与所述当前节点所在节点分组网段距离最近的节点分组中具有最小负载的服务节点。所述与所述当前节点所在节点分组网段距离最近的节点分组中具有最小负载的服务节点查询存储信息表,并将匹配成功的一个或多个存储位置信息打包并发送给所述当前节点。其中,与所述当前节点所在节点分组网段距离最近的节点分组中具有最小负载的服务节点接收到打包后的标示符后,首先进行解包操作,然后再查询存储信息表。其中,所述当前节点接收到打包后的存储位置信息后,首先进行解包操作。
[0030]在本发明实施例中,在执行将所述当前子作业任务发送至所述同一存储位置所在的节点并由所述同一存储位置所在的节点完成所述当前子作业任务期间,如果发现所述同一存储位置所在的节点负载超过预先设置的阈值,则将所有需要访问的元数据以及所述当前子作业任务发送给所述当前节点,并由所述当前节点完成所述当前子作业任务。所述当前节点将所有需要所述当前节点完成的子作业任务暂存在队列中,并根据所述当前节点依次执行所述队列中的子作业任务;其中,所述当前节点根据负载情况确定并发执行所述队列中的子作业任务的数量。如果所述当前节点中的队列中的子作业任务的数量超过预先设置的数量,则将后续需要加入队列的子作业任务及相关元数据发送给与所述当前节点在同一节点分组中的其他成员节点执行。所述将后续需要加入队列的子作业任务及相关元数据发送给与所述当前节点在同一节点分组中的其他成员节点执行包括:将所述后续需要加入队列的子作业任务及相关元数据打包成待发送数据,将所述待发送数据发送给所述当前节点在同一节点分组中的负载最小的其他成员节点。
[0031]综上所述,本发明提出的在多节点网络中执行作业任务的方法,避免单个成员节点上存储元数据的负担;避免因服务节点故障造成的无法读取存储信息表的问题;减少节点冗余备份的负担;并减少单个节点的负载负担。
[0032] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种在多节点网络中执行作业任务的方法,所述多节点网络中包括彼此相互连接的多个网络节点,按照网段将所述多个网络节点划分到多个节点分组,每个节点分组中包括多个服务节点和多个成员节点;其中每一个成员节点中存储有多个元数据,每个元数据冗余存储在同一节点分组中的多个成员节点中;每一个服务节点中存储有所述多个元数据的存储位置的存储信息表,并且所述多个服务节点互为备份并同步更新,所述方法包括: 所述多节点网络中的当前节点接收作业任务; 所述当前节点将所述作业任务分解为多个子作业任务; 对于每一个子作业任务,所述当前节点执行以下步骤: 确定所述当前子作业任务所需要访问的一个或多个元数据; 请求与所述当前节点属于同一节点分组的具有最小负载的服务节点提供所述一个或多个元数据的存储位置信息,并接收所述具有最小负载的服务节点反馈的所述一个或多个元数据的存储位置信息;如果未能获得所有元数据的存储位置信息,则请求其他节点分组的服务节点提供未能获得的存储位置信息,直至获得所有元数据的存储位置信息; 如果所述一个或多个元数据均来自同一存储位置,则将所述当前子作业任务发送至所述同一存储位置所在的节点并由所述同一存储位置所在的节点完成所述当前子作业任务,否则所述当前节点根据所获得的所有元数据的存储位置信息获取所有需要访问的元数据并完成所述当前子作业任务; 所述当前节点汇总所述多个子作业任务的执行结果并得到总体作业任务结果,并通过用户交互界面进行显示,并通过用户交互界面进行显示。
2.根据权利要求1所述的方法,其特征在于,所述每个元数据冗余存储在同一节点分组中的多个成员节点中包括: 实时记录所述每个元数据的被访问日志,所述访问日志至少包括所述每个元数据的标识符和被访问的时间信息; 周期性地计算所述每个元数据的单位时间访问量以及同一节点分组内所有元数据的单位时间平均访问量; 将单位时间访问量大于单位时间平均访问量的元数据冗余存储在同一节点分组中的M个成员节点中,将单位时间访问量小于或等于单位时间平均访问量的元数据冗余存储在同一节点分组中的N个成员节点中,其中M>N。
3.根据权利要求2所述的方法,其特征在于,所述请求与所述当前节点属于同一节点分组的具有最小负载的服务节点提供所述一个或多个元数据的存储位置信息包括: 将所述一个或多个元数据的标识符打包并发送给与所述当前节点属于同一节点分组的具有最小负载的服务节点; 所述与所述当前节点属于同一节点分组的具有最小负载的服务节点查询存储信息表,并将匹配成功的一个或多个存储位置信息打包并发送给所述当前节点。
4.根据权利要求3所述的方法,其特征在于,所述请求其他节点分组的服务节点提供未能获得的存储位置信息包括: 将未能获得存储位置信息的一个或多个元数据的标识符打包并发送给与所述当前节点所在节点分组网段距离最近的节点分组中具有最小负载的服务节点; 所述与所述当前节点所在节点分组网段距离最近的节点分组中具有最小负载的服务节点查询存储信息表,并将匹配成功的一个或多个存储位置信息打包并发送给所述当前节点。
5.根据权利要求1所述的方法,其特征在于,每个节点分组中的服务节点的数量为3。
6.根据权利要求4所述的方法,其特征在于,M为3,N为2。
7.根据权利要求1所述的方法,其特征在于,在步骤所述当前节点汇总所述多个子作业任务的执行结果并得到总体作业任务结果之前还包括:接收其他节点发送的子作业任务的执行结果。
8.根据权利要求1所述的方法,其特征在于,在执行将所述当前子作业任务发送至所述同一存储位置所在的节点并由所述同一存储位置所在的节点完成所述当前子作业任务期间,如果发现所述同一存储位置所在的节点负载超过预先设置的阈值,则将所有需要访问的元数据以及所述当前子作业任务发送给所述当前节点,并由所述当前节点完成所述当前子作业任务。
9.根据权利要求8所述的方法,其特征在于,所述当前节点将所有需要所述当前节点完成的子作业任务暂存在队列中,并根据所述当前节点依次执行所述队列中的子作业任务;其中,所述当前节点根据负载情况确定并发执行所述队列中的子作业任务的数量。
10.根据权利要求9所述的方法,其特征在于,如果所述当前节点中的队列中的子作业任务的数量超过预先设置的数量,则将后续需要加入队列的子作业任务及相关元数据发送给与所述当前节点在同一节点分组中的其他成员节点执行。
【专利摘要】本申请提出了一种在多节点网络中执行作业任务的方法,包括:所述多节点网络中的当前节点接收作业任务;所述当前节点将所述作业任务分解为多个子作业任务;执行每一个子作业任务;所述当前节点汇总所述多个子作业任务的执行结果并得到总体作业任务结果,并通过用户交互界面进行显示,并通过用户交互界面进行显示。本发明提出的在多节点网络中执行作业任务的方法,避免单个成员节点上存储元数据的负担;避免因服务节点故障造成的无法读取存储信息表的问题;减少节点冗余备份的负担;并减少单个节点的负载负担。
【IPC分类】H04L29-08
【公开号】CN104580381
【申请号】CN201410780849
【发明人】徐礼正
【申请人】北京可思云海科技有限公司
【公开日】2015年4月29日
【申请日】2014年12月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1