任务消息调度方法及系统的制作方法

文档序号:6427753阅读:116来源:国知局
专利名称:任务消息调度方法及系统的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种任务消息调度方法及系统。
背景技术
铁路系统包含多个部门,例如行调处、动车段、电调处、施工单位和客调处等,各部门各自独立。如果有任务消息需要在不同部门之间发送,现有技术中通常采用传真、电话、 文档和邮件等方式。但是,现有的方式不能保证任务消息及时被得知,例如该岗位的操作人员恰巧不在,则该任务消息将被耽搁而延缓了处理。

发明内容
本发明提供一种任务消息调度方法及系统,用以避免由于接收任务消息的人员不在而延误了该任务消息的处理。本发明实施例提供一种任务消息调度方法,包括步骤a 任务消息调度系统接收源节点向目的节点发送的所述任务消息之后,判断所述目的节点的状态是否为真,如果是为真则转为步骤b,否则转为步骤c ;步骤b 将所述任务消息的目的作业号下发到所述目的节点对应的第一原任务队列中,以形成第一新任务队列,转为步骤d ;步骤c 将所述目的作业号设置在第二原任务队列的队尾,以形成第二新任务队列,当所述目的节点所对应的目的组中有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组中状态为真的各节点所对应的各任务队列中长度最小的队列,当所述目的节点所对应的目的组中没有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组的各任务队列中长度最小的队列,转为步骤d ;步骤d 目的组中的各节点依次处理所对应的任务队列中的作业内容。如上所述的任务消息调度方法,优选地,在所述步骤a之前还包括判断所述任务消息是否指定目的节点名,如果是则转为步骤a,否则转为步骤C。如上所述的任务消息调度方法,优选地,所述步骤b包括将所述目的作业号的作业优先级与所述第一原任务队列对应的各原作业号的作业优先级依次进行比较,当比较到所述目的作业号的作业优先级的高于一原作业号的作业优先级时,将所述目的作业号设置在该原作业号之前且与该原作业号相邻,以形成第一新任务队列,当所述目的作业号的作业优先级不大于各原作业号的作业优先级时,将所述目的作业号设置在所述第一原任务队列的队尾。如上所述的任务消息调度方法,优选地,所述步骤c包括步骤cl 判断所述目的组中是否有状态为真的节点,如果有则转为步骤c2,否则转为步骤c5 ;步骤c2 查找所述目的组中状态为真的各节点对应的各原任务队列中长度最小的队列,并判断所述长度最小的队列的个数,当所述个数为1时转为步骤c3,否则转为步骤c4;步骤c3 选取所述长度最小的队列为所述第二原任务队列,将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列;步骤c4 判断多个所述长度最小的队列所对应的节点的优先级,选取所述节点的优先级最高的长度最小的一个队列为所述第二原任务队列,并将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列;步骤c5 查找所述目的组中各节点所对应的各原任务队列中长度最小的队列,并判断所述长度最小的队列的个数,当所述个数为1时转为步骤c6,否则转为步骤c7 ;步骤c6 选取所述长度最小的队列为所述第二原任务队列,将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列;步骤c7 判断多个所述长度最小的队列所对应的节点的优先级,选取所述节点的优先级最高的长度最小的一个队列为所述第二原任务队列,并将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列。如上所述的任务消息调度方法,优选地,还包括任务队列调整,所述任务队列调整包括步骤e 每隔预设周期,判断所述目的组中状态为真的各节点所对应的当前任务队列中是否有长度为0的队列,如果有,则选取所述长度为0的队列中所对应的节点的优先级最高的一个任务队列作为待贡献队列,并转到步骤f,否则转到步骤i ;步骤f:选取所述各当前任务队列中长度最长的队列作为待调整队列,转为步骤 g ;步骤g 依次检测所述待调整队列中是否有一个未执行的作业号满足转移条件以转移到所述待贡献队列中,如果有则转为步骤h,否则转为步骤i ;步骤h 转移所述未执行的作业号至所述待贡献队列中,转为步骤i ;步骤i 等待下一次任务队列调整。如上所述的任务消息调度方法,优选地,所述步骤g包括gO:确定是否存在初始的被检测作业号,若是则转为步骤gl,否则转为步骤i,所述初始的被检测作业号为所述待调整队列中与当前正在执行的作业号相邻的未执行作业号;gl 判断当前的被检测作业号是否被执行,是则转为步骤g2,否则转为步骤g3 ;g2:将与所述被检测作业号相邻的且未进行检测过的作业号更新为当前的被检测作业号,如果不存在与所述被检测作业号相邻的且未进行检测过的作业号,则转为步骤i, 否则返回步骤gl ;g3:判断所述被检测作业号所对应的任务消息是否指定节点名,若是,则转为步骤 g2,否则转为步骤h。如上所述的任务消息调度方法,优选地,当所述长度最长的任务队列有多个时,选取所述长度最长的任务队列所对应的节点的优先级最高的一个任务队列作为所述待调整队列。本发明还提供了一种任务消息调度系统,包括记录模块,用于记录目的节点的状态、目的组中各节点的优先级和所述各节点所对应的当前任务队列长度;接收模块,用于接收源节点向所述目的节点发送的所述任务消息之后,当判断出所述目的节点的状态为真时将所述任务消息发送至第一排序模块,当判断出所述目的节点的状态不为真时将所述任务消息发送至第二排序模块;所述第一排序模块,用于将所述任务消息的目的作业号下发到所述目的节点对应的第一原任务队列中,以形成第一新任务队列;所述第二排序模块,用于将所述目的作业号在所述第二原任务队列的队尾,以形成第二新任务队列,当所述目的节点所对应的目的组中有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组中状态为真的各节点所对应的各任务队列中长度最小的队列,当所述目的节点所对应的目的组中没有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组的各任务队列中长度最小的队列。如上所述的任务消息调度系统,优选地,还包括目的节点判断模块,用于判断所述任务消息是否指定目的节点名,当判断出所述任务消息指定目的节点名时将所述任务消息发送至所述接收模块,当判断出所述任务消息未指定目的节点名时,将所述任务消息发送至所述第二排序模块。如上所述的任务消息调度系统,优选地,还包括调整模块,所述调整模块包括第一检测模块,用于每隔预设周期,检测所述记录模块中所述目的组中状态为真的各节点所对应的当前任务队列中是否有长度为0的待贡献队列,并将待贡献队列的检测结果发送至第三排序模块;第二检测模块,用于选取所述各当前任务队列中长度最长的队列为待调整队列, 并将所述待调整队列的检测结果发送至所述第三排序模块;所述第三排序模块,用于当存在所述待贡献队列时,根据预设规则依次检测所述待调整队列中的各作业号,当检测到满足转移条件的待转移作业号时,将所述待转移作业号转移到所述待贡献队列中本发明提供的任务消息调度方法及系统,当目的节点不存在或者不具有能够接收该任务消息并进行后续工作的操作人员时,仍然能够保证源节点向目的节点下发的任务消息得到及时地处理。


图IA为根据本发明实施例一的任务消息调度方法;图IB为根据本发明实施例一的具体的任务消息调度方法;图2为根据本发明实施例二的任务消息调度方法;图3为根据本发明实施例三的任务消息调度系统;图4为根据本发明实施例四的任务消息调度系统。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、清晰地辅助说明本发明实施例的目的。另外,还需要指出的是,下面实施例中的“组”指的是不同部门,部门内有很多操作人员,每个操作人员均作为“节点”,利用在线的消息传递方式完成不同部门之间的任务发送。还需要特别指出的是,本发明主要解决的是任务消息下达的调度方法,即确保有操作人员知道该任务消息,以便保证该任务消息所对应的作业内容能够及时地得到处理。而该任务消息中所对应的作业内容是如何完成的则是由接收到该任务消息的操作人员去安排。具体地,任务消息包含目的节点和作业号,具体地,目的节点包括目的组名和目的节点名。任务消息可选地还包括源节点,具体地源节点包括源组名和源节点名,以便在该任务消息后续工作中出现问题时,能够找到发出该任务消息的源节点,即找到发送者,并与该发送者进行协商。需要指出的是,作业号对应着任务消息的作业内容以及作业优先级,且该作业号记录在作业表中。每个任务消息只对应一个作业号,如果需要下发多个作业号,则相应下发多个任务消息。为了描述方便,下面将任务消息中所包含的作业号称为“目的作业号”,而将目的节点所对应的原任务队列中各作业号称为“原作业号”。实施例一本实施例一提供一种任务消息调度方法,如图IA所示,包括步骤101 任务消息调度系统接收源节点向目的节点发送的任务消息之后,判断目的节点的状态是否为真,如果是为真则转为步骤102,否则转为步骤103。这里的“真”指的是目的节点存在且具有能够接收该任务消息并进行后续工作的操作人员。如果根本不存在任务消息中指定的目的节点或没有这样的操作人员,则该目的节点为“假”。目的节点的状态记录可记录在任务消息调度系统的路由表中,如表1所示,路由表中记录目的组名、目的节点名、目的节点的状态以及目的节点所对应的任务队列号。表 权利要求
1.一种任务消息调度方法,其特征在于,包括步骤a 任务消息调度系统接收源节点向目的节点发送的所述任务消息之后,判断所述目的节点的状态是否为真,如果是为真则转为步骤b,否则转为步骤c ;步骤b 将所述任务消息的目的作业号下发到所述目的节点对应的第一原任务队列中,以形成第一新任务队列,转为步骤d ;步骤c 将所述目的作业号设置在第二原任务队列的队尾,以形成第二新任务队列,当所述目的节点所对应的目的组中有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组中状态为真的各节点所对应的各任务队列中长度最小的队列,当所述目的节点所对应的目的组中没有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组的各任务队列中长度最小的队列,转为步骤d ;步骤d 目的组中的各节点依次处理所对应的任务队列中的作业内容。
2.根据权利要求1所述的任务消息调度方法,其特征在于,在所述步骤a之前还包括 判断所述任务消息是否指定目的节点名,如果是则转为步骤a,否则转为步骤C。
3.根据权利要求1所述的任务消息调度方法,其特征在于,所述步骤b包括 将所述目的作业号的作业优先级与所述第一原任务队列对应的各原作业号的作业优先级依次进行比较,当比较到所述目的作业号的作业优先级的高于一原作业号的作业优先级时,将所述目的作业号设置在该原作业号之前且与该原作业号相邻,以形成第一新任务队列,当所述目的作业号的作业优先级不大于各原作业号的作业优先级时,将所述目的作业号设置在所述第一原任务队列的队尾。
4.根据权利要求1所述的任务消息调度方法,其特征在于,所述步骤c包括步骤cl 判断所述目的组中是否有状态为真的节点,如果有则转为步骤c2,否则转为步骤c5 ;步骤c2 查找所述目的组中状态为真的各节点对应的各原任务队列中长度最小的队列,并判断所述长度最小的队列的个数,当所述个数为1时转为步骤c3,否则转为步骤c4 ; 步骤c3 选取所述长度最小的队列为所述第二原任务队列,将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列,转为步骤d ;步骤c4 判断多个所述长度最小的队列所对应的节点的优先级,选取所述节点的优先级最高的长度最小的一个队列为所述第二原任务队列,并将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列,转为步骤d ;步骤c5 查找所述目的组中各节点所对应的各原任务队列中长度最小的队列,并判断所述长度最小的队列的个数,当所述个数为1时转为步骤c6,否则转为步骤c7 ;步骤c6:选取所述长度最小的队列为所述第二原任务队列,将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列,转为步骤d ;步骤c7 判断多个所述长度最小的队列所对应的节点的优先级,选取所述节点的优先级最高的长度最小的一个队列为所述第二原任务队列,并将所述目的作业号设置在所述第二原任务队列的队尾,以形成所述第二新任务队列,转为步骤d。
5.根据权利要求1所述的任务消息调度方法,其特征在于,还包括任务队列调整,所述任务队列调整包括步骤e 每隔预设周期,判断所述目的组中状态为真的各节点所对应的当前任务队列中是否有长度为0的队列,如果有,则选取所述长度为0的队列中所对应的节点的优先级最高的一个任务队列作为待贡献队列,并转到步骤f,否则转到步骤i ;步骤f 选取所述各当前任务队列中长度最长的队列作为待调整队列,转为步骤g ; 步骤g 依次检测所述待调整队列中是否有一个未执行的作业号满足转移条件以转移到所述待贡献队列中,如果有则转为步骤h,否则转为步骤i ;步骤h 转移所述未执行的作业号至所述待贡献队列中,转为步骤i ; 步骤i 等待下一次任务队列调整。
6.根据权利要求5所述的任务消息调度方法,其特征在于,所述步骤g包括g0 确定是否存在初始的被检测作业号,若是则转为步骤gl,否则转为步骤i,所述初始的被检测作业号为所述待调整队列中与当前正在执行的作业号相邻的未执行作业号; gl 判断当前的被检测作业号是否被执行,是则转为步骤g2,否则转为步骤g3 ; g2 将与所述被检测作业号相邻的且未进行检测过的作业号更新为当前的被检测作业号,如果不存在与所述被检测作业号相邻的且未进行检测过的作业号,则转为步骤i,否则返回步骤gl ;g3 判断所述被检测作业号所对应的任务消息是否指定节点名,若是,则转为步骤g2, 否则转为步骤h。
7.根据权利要求5或6所述的任务消息调度方法,其特征在于,当所述长度最长的任务队列有多个时,选取所述长度最长的任务队列所对应的节点的优先级最高的一个任务队列作为所述待调整队列。
8.一种任务消息调度系统,其特征在于,包括记录模块,用于记录目的节点的状态、目的组中各节点的优先级和所述各节点所对应的当前任务队列长度;接收模块,用于接收源节点向所述目的节点发送的所述任务消息之后,当判断出所述目的节点的状态为真时将所述任务消息发送至第一排序模块,当判断出所述目的节点的状态不为真时将所述任务消息发送至第二排序模块;所述第一排序模块,用于将所述任务消息的目的作业号下发到所述目的节点对应的第一原任务队列中,以形成第一新任务队列;所述第二排序模块,用于将所述目的作业号在所述第二原任务队列的队尾,以形成第二新任务队列,当所述目的节点所对应的目的组中有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组中状态为真的各节点所对应的各任务队列中长度最小的队列,当所述目的节点所对应的目的组中没有状态为真的节点时,所述第二原任务队列为所述目的节点所对应的目的组的各任务队列中长度最小的队列。
9.根据权利要求8所述的任务消息调度系统,其特征在于,还包括目的节点判断模块,用于判断所述任务消息是否指定目的节点名,当判断出所述任务消息指定目的节点名时将所述任务消息发送至所述接收模块,当判断出所述任务消息未指定目的节点名时,将所述任务消息发送至所述第二排序模块。
10.根据权利要求9所述的任务消息调度系统,其特征在于,还包括调整模块,所述调整模块包括第一检测模块,用于每隔预设周期,检测所述记录模块中所述目的组中状态为真的各节点所对应的当前任务队列中是否有长度为0的待贡献队列,并将待贡献队列的检测结果发送至第三排序模块;第二检测模块,用于选取所述各当前任务队列中长度最长的队列为待调整队列,并将所述待调整队列的检测结果发送至所述第三排序模块;所述第三排序模块,用于当存在所述待贡献队列时,根据预设规则依次检测所述待调整队列中的各作业号,当检测到满足转移条件的待转移作业号时,将所述待转移作业号转移到所述待贡献队列中。
全文摘要
本发明公开了一种任务消息调度方法及系统,方法包括a.任务消息调度系统接收源节点向目的节点发送的任务消息之后,判断目的节点的状态是否为真,如果是为真则转为b,否则转为c;b.将任务消息的目的作业号下发到目的节点对应的第一原任务队列中,转为d;c.将目的作业号设置在第二原任务队列的队尾,转为d;d.目的组中的各节点依次处理所对应的任务队列中的作业内容。系统包括相应于方法的记录模块、接收模块、第一排序模块和第二排序模块。本发明提供的任务消息调度方法及系统,能够避免由于接收任务消息的人员不在而延误了该任务消息的处理。
文档编号G06F9/46GK102231120SQ201110184239
公开日2011年11月2日 申请日期2011年7月1日 优先权日2011年5月25日
发明者张吉英, 李吉生, 李德逸, 王伟信, 程力南, 董阳, 邵晓风 申请人:苏州博远容天信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1