任务处理系统、方法及计算机可读存储介质转让专利
申请号 : CN201911075686.X
文献号 : CN112783634B
文献日 : 2022-04-26
发明人 : 陈予郎
申请人 : 长鑫存储技术有限公司
摘要 :
权利要求 :
1.一种任务处理系统,其特征在于,包括:控制节点服务器、数据节点服务器以及多个运算节点服务器;
所述控制节点服务器连接所述数据节点服务器,用于收集多个子任务,并将多个所述子任务整理为任务清单后,将所述任务清单发送至所述数据节点服务器;所述控制节点服务器还用于对所述任务清单标记建立时间,并将标记有所述建立时间的任务清单发送至所述数据节点服务器;
所述数据节点服务器用于接收所述控制节点服务器发送的所述任务清单;所述数据节点服务器还用于更新所述任务清单的状态,所述状态包括执行完毕及未执行完毕;
多个所述运算节点服务器连接所述数据节点服务器,所述运算节点服务器用于从所述数据节点服务器中承接建立时间最早、且状态为未执行完毕的任务清单,并生成工人线程,通过所述工人线程执行所承接的任务清单中的子任务。
2.根据权利要求1所述的任务处理系统,其特征在于,所述控制节点服务器包括:收集模块、与所述收集模块连接的处理模块;
所述收集模块用于收集多个子任务;
所述处理模块用于将所述收集模块预设时间内收集的所述子任务整理为任务清单,且对所述任务清单标记建立时间,并将标记有所述建立时间的任务清单发送至所述数据节点服务器;
所述运算节点服务器包括:承接模块、与所述承接模块连接的执行模块;
所述承接模块用于从所述数据节点服务器获取建立时间最早、且状态为未执行完毕的任务清单;
所述执行模块用于为所述任务清单的子任务生成工人线程,由所述工人线程执行所述子任务。
3.根据权利要求2所述的任务处理系统,其特征在于,所述数据节点服务器包括:接收模块及与所述接收模块连接的记录模块;
所述接收模块用于接收所述控制节点服务器发送的任务清单;
所述记录模块用于在运算节点服务器承接所述任务清单后,记录承接所述任务清单的运算节点服务器的团队称号。
4.根据权利要求3所述的任务处理系统,其特征在于,所述运算节点服务器还包括:监测模块;
所述监测模块用于监测所述运算节点服务器承接的所述任务清单中的子任务是否被执行完毕,若监测到所述子任务被执行完毕后,发送完成时间至所述数据节点服务器;
所述记录模块还用于记录承接所述任务清单的所有运算节点服务器的完成时间,所述完成时间与所述运算节点服务器的团队称号对应。
5.根据权利要求4所述的任务处理系统,其特征在于,所述数据节点服务器还包括:状态更新模块;
所述状态更新模块用于在承接所述任务清单的所有运算节点服务器对应的团队称号均记录有完成时间时,更新所述任务清单的状态为执行完毕。
6.根据权利要求5所述的任务处理系统,其特征在于,所述数据节点服务器还包括:清除模块;
所述清除模块用于清除状态为执行完毕的任务清单。
7.根据权利要求4所述的任务处理系统,其特征在于,所述监测模块具体用于监测所述运算节点服务器中是否存在工人线程,并在确定无工人线程时,发送所述完成时间至所述数据节点服务器;
所述承接模块还用于在所述监测模块发送所述完成时间后,承接新的任务清单。
8.根据权利要求3所述的任务处理系统,其特征在于,所述处理模块包括:编码子模块、以及与所述编码子模块连接的票据创立子模块;
所述编码子模块用于为所述收集模块收集的多个子任务中的每个子任务生成对应的任务编号,所述任务清单包含所有子任务的任务编号;
所述票据创立子模块用于根据所述任务清单创立票据表单,并将所述票据表单发送至所述数据节点服务器。
9.根据权利要求8所述的任务处理系统,其特征在于,所述执行模块用于生成工人线程,由所述工人线程将相应的工人线程名称发送至所述数据节点服务器以申请执行子任务;
所述记录模块还用于在所述工人线程申请执行子任务时,在所述票据表单中创建票据编号,并将所述票据编号回传至与所述工人线程名称对应的工人线程,其中,所述票据编号与所述任务编号一一对应;
所述执行模块还用于在接收到所述票据编号后通过所述工人线程执行与相应任务编号对应的子任务。
10.根据权利要求1所述的任务处理系统,其特征在于,所述控制节点服务器为多个,每个所述控制节点服务器对其生成的任务清单进行标识;
所述控制节点服务器用于从所述数据节点服务器获取标记有所述标识的任务清单的完成情况。
11.一种任务处理方法,其特征在于,包括:控制节点服务器收集子任务,并将预设时间内收集的多个子任务整理为任务清单,并对所述任务清单标记建立时间;
控制节点服务器将所述任务清单发送至数据节点服务器;
所述数据节点服务器更新标记有所述建立时间的任务清单的状态,所述状态包括执行完毕及未执行完毕;
运算节点服务器从所述数据节点服务器中承接建立时间最早、且状态为未执行完毕的任务清单;
运算节点服务器生成工人线程,通过所述工人线程执行所述任务清单中的子任务。
12.根据权利要求11所述的任务处理方法,其特征在于,还包括:运算节点服务器在监测到所述任务清单中的子任务执行完成后,发送完成时间至所述数据节点服务器;
数据节点服务器记录所述完成时间,并在承接所述任务清单的所有运算节点服务器均记录有完成时间时,更新所述任务清单的状态为执行完毕。
13.根据权利要求11所述的任务处理方法,其特征在于,还包括:控制节点服务器为收集的每个子任务生成对应的任务编号,所述任务清单包含所有子任务的任务编号;
控制节点服务器根据所述任务清单创立票据表单,并将所述票据表单发送至所述数据节点服务器。
14.根据权利要求13所述的任务处理方法,其特征在于,还包括:所述运算节点服务器生成工人线程,所述工人线程将相应的工人线程名称发送至所述数据节点服务器以申请执行子任务;
所述数据节点服务器在所述工人线程申请执行子任务时,在所述票据表单中创建票据数据,并将与所述票据数据对应的票据编号回传至所述工人线程;所述票据编号与所述任务编号一一对应;
运算节点服务器在接收到所述票据编号后通过所述工人线程执行与相应任务编号对应的子任务。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求11‑14任一项所述的任务处理方法。
说明书 :
任务处理系统、方法及计算机可读存储介质
技术领域
背景技术
建立连接,以获取各个运算节点服务器的CPU占用率。控制节点服务器根据获取的各个运算
节点服务器的CPU占用率,将任务池中预先存储的各任务分发到相应的运算节点服务器进
行处理。
若由运算节点服务器直接领取任务,有可能造成系统拥堵。
发明内容
器,用于收集多个子任务,并将多个子任务整理为任务清单后,将任务清单发送至数据节点
服务器;数据节点服务器用于接收控制节点服务器发送的任务清单;多个运算节点服务器
连接数据节点服务器,运算节点服务器用于从数据节点服务器中承接任务清单,并生成工
人线程,通过工人线程执行所承接的任务清单中的子任务。
节点服务器从数据节点服务器中承接任务清单;运算节点服务器生成工人线程,通过工人
线程执行任务清单中的子任务。
用于收集多个子任务,并将多个子任务整理为任务清单后,将任务清单发送至数据节点服
务器;数据节点服务器用于接收控制节点服务器发送的任务清单;多个运算节点服务器连
接数据节点服务器,运算节点服务器用于从数据节点服务器中承接任务清单,并为生成工
人线程,通过工人线程执行所承接的任务清单中的子任务。由于运算节点服务器直接承接
任务清单,一次承接便可领取到多个子任务,避免了运算节点服务器频繁领取子任务而造
成系统拥堵;且控制节点服务器与多个运算节点服务器均与数据节点服务器连接,避免控
制节点服务器直接连接运算节点服务器带来的资源调度不平衡问题,实现了运算节点服务
器资源的灵活占用。
且对任务清单标记建立时间,并将标记有建立时间的任务清单发送至数据节点服务器;数
据节点服务器还用于更新任务清单的状态,状态包括执行完毕及未执行完毕;运算节点服
务器包括:承接模块、与承接模块连接的执行模块;承接模块用于从数据节点服务器获取建
立时间最早、且状态为未执行完毕的任务清单;执行模块用于为任务清单的子任务生成工
人线程,由工人线程执行子任务。
后,记录承接任务清单的运算节点服务器的团队称号。该方案中数据节点服务器在任务清
单被运算节点服务器承接后,记录承接该任务清单的所有运算节点服务器的团队称号,方
便控制节点服务器获知任务清单被哪些运算节点服务器承接。
数据节点服务器;记录模块还用于记录承接任务清单的运算节点服务器的完成时间,完成
时间与运算节点服务器的团队称号对应。该方案中运算节点服务器执行完子任务后,发送
完成时间至数据节点服务器,由数据节点服务器记录完成时间,方便控制节点服务器获知
承接该任务清单的哪些运算节点服务器执行完毕。
完毕。该方案中任务清单被执行完毕后,更新任务清单的状态位置执行完毕,从而避免已被
执行完毕的任务清单被重复领取。
资源浪费。
后,承接新的任务清单。该方案中运算节点服务器在确定无工人线程工作时,再继续承接新
的任务清单,提高了运算节点服务器的处理效率。
单包含所有子任务的任务编号;票据创立子模块用于根据任务清单创立票据表单,并将票
据表单发送至数据节点服务器。
表单中创建票据编号,并将票据编号回传至与工人线程名称对应的工人线程,其中,票据编
号与任务编号一一对应;执行模块还用于在接收到票据编号后通过工人线程执行与相应任
务编号对应的子任务。该方案中执行模块在接收到与任务编号相应的票据编号后,由工人
线程执行与相应任务编号对应的子任务,从而避免同一子任务被重复执行。
案中控制节点服务器可获取任务清单的完成情况,以供子任务委托方查询子任务是否被完
成。
立时间。
任务清单,具体为:运算节点服务器从所述数据节点服务器中承接建立时间最早、且状态为
未执行完毕的任务清单。
务清单的所有运算节点服务器均记录有完成时间时,更新所述任务清单的状态为执行完
毕。
立票据表单,并将所述票据表单发送至所述数据节点服务器。
程申请执行子任务时,在所述票据表单中创建票据数据,并将与所述票据数据对应的票据
编号回传至所述工人线程;所述票据编号与所述任务编号一一对应;运算节点服务器在接
收到所述票据编号后通过所述工人线程执行与相应任务编号对应的子任务。
个运算节点服务器均与数据节点服务器连接,避免控制节点服务器直接连接运算节点服务
器带来的资源调度不平衡问题,实现了运算节点服务器资源的灵活占用。
附图说明
非有特别申明,附图中的图不构成比例限制。
具体实施方式
式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节
和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
3;控制节点服务器1连接数据节点服务器2,用于收集多个子任务,并将多个子任务整理为
任务清单后,将任务清单发送至数据节点服务器2;数据节点服务器2用于接收控制节点服
务器1发送的任务清单;多个运算节点服务器3连接数据节点服务器2,运算节点服务器3用
于从数据节点服务器2中承接任务清单,并生成工人线程,通过工人线程执行所承接的任务
清单中的子任务。由于运算节点服务器3直接承接任务清单,一次承接便可领取到多个子任
务,避免了运算节点服务器3频繁领取而造成系统拥堵;且控制节点服务器1与多个运算节
点服务器3均与数据节点服务器2连接,避免控制节点服务器1直接连接运算节点服务器3带
来的资源调度不平衡问题,实现了运算节点服务器3资源的灵活占用。
内收集的子任务整理为任务清单,且对任务清单标记建立时间,并将标记有建立时间的任
务清单发送至数据节点服务器2。数据节点服务器2还用于更新任务清单的状态,状态包括
执行完毕和未执行完毕。运算节点服务器3如图4所示,包括:承接模块31、与承接模块31连
接的执行模块32;承接模块31用于从数据节点服务器2获取建立时间最早、且状态为未执行
完毕的任务清单;执行模块32用于为任务清单的子任务生成工人线程,由工人线程执行子
任务。
端;处理模块12将收集模块11预设时间内收集的多个子任务整理为一个任务清单,并在将
收集到的子任务整理为任务清单时,对该任务清单标记建立时间,将标记有建立时间的任
务清单发送至数据节点服务器2。其中,收集模块11在收集子任务时,将预设时间内收集到
的子任务整理为一个任务清单,从而避免子任务等待处理的时长过长。
能力来确定,使得一个任务清单中的子任务的数量与运算节点服务器3的运算能力相差不
大,一个任务清单刚好能够被一个运算节点服务器3承接。
务清单,确保运算节点服务器3承接的任务清单未执行完毕,避免任务清单被重复执行,同
时按照任务清单的建立时间从早到晚地依次承接任务清单,避免建立时间较早的任务清单
等待处理的时长过长。执行模块32用于为任务清单的子任务生成工人线程,由工人线程执
行该任务清单中的子任务。
点服务器3承接任务清单后,记录承接任务清单的所有运算节点服务器3的团队称号。
清单被多个运算节点服务器3承接后,记录承接该任务清单的所有运算节点服务器3的团队
称号,从而便于控制节点服务器1获知该任务清单被哪些运算节点服务器3承接处理。值得
说明的是,本实施方式中的团队称号可以为该运算节点服务器2的网路卡实体位置(MAC)编
号,使避免与其他运算节点服务器2重覆命名。
完毕后,发送完成时间至数据节点服务器2;记录模块22还用于记录承接任务清单的所有运
算节点服务器3的完成时间,完成时间与运算节点服务器3的团队称号对应。
的记录模块22记录承接任务清单的所有运算节点服务器3的完成时间,并将相应的运算节
点服务器3的完成时间与该运算节点服务器3的团队称号对应,从而便于控制节点服务器1
依据团队称号以及与该团队称号对应的完成时间,便能够获知承接该任务清单的哪些运算
节点服务器3处理完成。
行完毕。
被承接的子任务被全部处理完成、该任务清单被执行完毕,此时,状态更新模块23更新任务
清单的状态位置执行完毕,从而避免已被执行完毕的任务清单被运算节点服务器3重复领
取。
的完成情况。
单,避免已经执行完毕的任务清单依据存储在数据节点服务器2中,从而避免了数据节点服
务器2的资源浪费。
完成时间后,承接新的任务清单。
间后,继续承接新的任务清单。运算节点服务器3的承接模块31在监测模块33确定无工人线
程工作,即就是说,该运算节点服务器3承接的任务清单中的子任务被全部执行完毕后,再
继续承接新的任务清单,从而避免了运算节点服务器3在执行子任务过程中仍然继续承接
新的任务清单中的子任务,而影响到运算节点服务器3的处理效率。且值得说明的是,在运
算节点服务器3的工人线程执行子任务时,随着时间的推移,被执行的子任务数量逐渐减
少,从而为剩余的正在执行的工人线程提供更多的资源,使得运算节点服务器3的处理效率
随着时间的增加逐渐提高。
务生成对应的任务编号,任务清单包含所有子任务的任务编号;票据创立子模块122用于根
据任务清单创立票据表单,并将票据表单发送至数据节点服务器2。
子任务生成对应的任务编号,任务编号用于唯一表征子任务,例如:一个任务清单中包含有
10个子任务,则将该10个子任务分别进行标号,每个子任务有一个唯一对应的标号,任务清
单中包含所有子任务的任务编号。票据创立子模块122根据任务清单创立票据表单,并将票
据表单发送至数据节点服务器2。其中,控制节点服务器1的票据创立子模块122在依据任务
清单创建票据表单时,具体为该任务清单生成一个空表单,后续由运算节点服务器3在该票
据表单中进行记录。
时,在票据表单中创建票据编号,并将票据编号回传至与工人线程名称对应的工人线程,其
中,票据编号与任务编号一一对应;执行模块还用于在接收到票据编号后通过工人线程执
行与相应任务编号对应的子任务。
数据节点服务器2的记录模块22在工人线程申请执行子任务时,在票据表单中创建票据编
号,并将票据编号回传至与工人线程名称对应的工人线程,使得工人线程确定需要执行的
子任务的票据编号。值得是说明的是,在将票据编号回传至与工人线程名称对应的工人线
程时,记录模块22还用于在票据表单中记录该票据编号回传的工人线程的工人线程名称,
使得一个票据编号对应的子任务被唯一一个工人线程执行,避免一个子任务被多个工人线
程同时执行。其中,票据编号为一“ID值”,该票据编号与任务编号一一对应,该ID值为初始
值为0、且随着工人线程申请执行的子任务数量的增加而自动递增的整数。
出的工人线程在申请执行子任务时,在票据表单中创建票据编号,此时判断该票据编号“ID
值”是否小于或等于该项目清单中项目编号的最大值,若小于或等于该项目编号的最大值,
则表明该工人线程申请执行的子任务包含于该项目清单中,该工人线程得到的票据编号有
效,工人线程依据该有效的票据编号执行子任务;若大于该项目编号的最大值,则表明该工
人线程申请执行的子任务不属于该项目清单中,则该工人线程得到的项目票据判定为无效
票据。
更多的资源,以提高其他工人线程的处理效率。
说,将预设时间内收集的多个子任务整理为一个任务清单,同时在将收集到的子任务整理
为任务清单时,对该任务清单标记建立时间,将标记有建立时间的任务清单张贴至数据节
点服务器。步骤S13:启用状态咨询接口线程。即就是说,向数据节点服务器2查询任务清单
的完成情况,并将该完成情况告知需求方。步骤S14:清除已经执行完毕的任务。即就是说,
向数据节点服务器2查询到该任务清单被执行完毕后,清除控制节点服务器1中关于该任务
清单的信息。
为未执行完毕的任务清单,确保运算节点服务器3承接的任务清单未执行完毕,避免任务清
单被重复执行,同时按照任务清单的建立时间从早到晚地依次承接任务清单,避免建立时
间较早的任务清单等待处理的时长过长。步骤S22:生成工人线程并由工人线程将相应的工
人线程名称发送至数据节点服务器以申请执行子任务。即就是说,在承接任务清单后,可生
成最大数目的工人线程,由工人线程将相应的工人线程名称发送至数据节点服务器2以申
请执行子任务。步骤S23:接收到数据节点服务器返回的票据编号后通过工人线程执行与相
应任务编号对应的子任务。即就是说,数据节点服务器2在工人线程申请执行子任务时,在
票据表单中创建票据编号,并将票据编号回传至与工人线程名称对应的工人线程,使得工
人线程确定需要执行的子任务的票据编号。
2,用于收集多个子任务,并将多个子任务整理为任务清单后,将任务清单发送至数据节点
服务器2;数据节点服务器2用于接收控制节点服务器1发送的任务清单;多个运算节点服务
器3连接数据节点服务器2,运算节点服务器3用于从数据节点服务器2中承接任务清单,并
生成工人线程,通过工人线程执行所承接的任务清单中的子任务。由于运算节点服务器3直
接承接任务清单,一次承接便可领取到多个子任务,避免了运算节点服务器3频繁领取而造
成系统拥堵;且控制节点服务器1与多个运算节点服务器3均与数据节点服务器2连接,避免
控制节点服务器1直接连接运算节点服务器3带来的资源调度不平衡问题,实现了运算节点
服务器3资源的灵活占用。
托方查询子任务是否被完成。
务器2获取标记有标识的任务清单的完成情况,从而方便各个控制节点服务器1获取其发送
的任务清单的完成情况。
8所示,具体包括:
预设时间内收集到的多个子任务,生成一张项目清单,并为该任务清单标记建立时间,将标
记有建立时间的任务清单发送至数据节点服务器。
行完毕,避免任务清单被重复执行,同时按照任务清单的建立时间从早到晚地依次承接任
务清单,避免建立时间较早的任务清单等待处理的时长过长。
节点服务器均记录有完成时间时,更新任务清单的状态为执行完毕。
服务器承接后,记录承接该任务清单的所有运算节点服务器的团队称号,从而便于控制节
点服务器获知该任务清单被哪些运算节点服务器承接处理。值得说明的是,本实施方式中
的团队称号可以为该运算节点服务器的网路卡实体位置(MAC)编号,使避免与其他运算节
点服务器重覆命名。
应的运算节点服务器的完成时间与该运算节点服务器的团队称号对应,从而便于控制节点
服务器依据团队称号以及与该团队称号对应的完成时间,便能够获知承接该任务清单的哪
些运算节点服务器处理完成。
单的状态位置执行完毕,从而避免已被执行完毕的任务清单被运算节点服务器重复领取。
将票据表单发送至数据节点服务器。
行标号,每个子任务有一个唯一对应的标号,任务清单中包含所有子任务的任务编号。控制
节点服务器根据任务清单创立票据表单,并将票据表单发送至数据节点服务器。其中,控制
节点服务器在依据任务清单创建票据表单时,具体为该任务清单生成一个空表单,后续由
运算节点服务器在该票据表单中进行记录。
在票据表单中创建票据数据,并将与票据数据对应的票据编号回传至工人线程;票据编号
与任务编号一一对应;运算节点服务器在接收到票据编号后通过工人线程执行与相应任务
编号对应的子任务。
在工人线程申请执行子任务时,在票据表单中创建票据编号,并将票据编号回传至与工人
线程名称对应的工人线程,使得工人线程确定需要执行的子任务的票据编号。值得是说明
的是,在将票据编号回传至与工人线程名称对应的工人线程时,数据节点服务器还用于在
票据表单中记录该票据编号回传的工人线程的工人线程名称,使得一个票据编号对应的子
任务被唯一一个工人线程执行,避免一个子任务被多个工人线程同时执行。其中,票据编号
为一“ID值”,该票据编号与任务编号一一对应,该ID值为初始值为0、且随着工人线程申请
执行的子任务数量的增加而自动递增的整数。
也可应用于第一实施方式中。
务器;运算节点服务器从数据节点服务器中承接任务清单;运算节点服务器生成工人线程,
通过工人线程执行任务清单中的子任务。由于运算节点服务器直接承接任务清单,一次承
接便可领取到多个子任务,避免了运算节点服务器频繁领取而造成系统拥堵。
得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方
法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only
Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程
序代码的介质。