一种作业调度方法及系统的制作方法_5

文档序号:9304474阅读:来源:国知局
述第三选取单元,具体用于获取到所述第二作业对应的第一用户,判断 所述第一用户是否满足第二预设条件,若满足第二预设条件,则依次从所述第一用户的运 行作业列表中选取作业,判断选取的作业的第一特征参数是否小于第二预设门限值,若小 于第二预设门限值,则将选取的作业作为第三作业,结束处理;否则,从除所述第一用户外 的其他用户中选取符合第二预设条件的第二用户,依次从所述第二用户的运行作业列表中 选取作业,判断选取的作业的第一特征参数是否小于第二预设门限值,若小于第二预设门 限值,则将选取的作业作为第三作业。
[0161 ] 上述第二预设门限值小于第一预设门限值,比如可以设置所述第二预设门限值为 0. 85 ;即不能够抢占处理紧急度高于0. 85的作业的处理资源。如此,就能够在保证最紧急 的作业的处理效率之外,还能够保证较为紧急的作业的处理资源不被抢占。
[0162]可见,采用上述方案,就能够根据处理紧急度从至少一个用户的至少一个作业中 选取出第二作业,在所述第二作业需要获取其他作业的处理资源时,选取第三作业,并占用 所述第三作业的处理资源。如此,能够优先调度整个集群的多个用户中最为紧急的作业,从 而使得集群实现公平且高效的进行作业调度。
[0163]实施例六、
[0164]本发明实施例提供了一种作业调度系统,如图10所示,包括:
[0165] 信息获取单元1001,用于获取到至少一个用户的作业信息,利用所述至少一个用 户的作业信息,计算得到每个用户的至少一个作业的第一特征参数;所述第一特征参数用 于表征所述作业的处理紧急度;
[0166] 第一选取单元1002,用于基于所述每个用户的至少一个作业的第一特征参数,分 别选取至少一个用户中每个用户的第一作业;
[0167] 第二选取单元1003,用于根据所述每个用户的第一作业的第一特征参数,从至少 一个用户的所述每个用户的第一作业中选取第二作业;
[0168]第三选取单元1004,用于当所述第二作业符合第一预设条件时,选取第三作业; 所述第一预设条件表征所述第二作业的第一特征参数大于第一预设门限值;
[0169] 资源管理单元1005,用于将所述第三作业对应的资源分配给所述第二作业,并利 用分配的所述资源处理所述第二作业。
[0170]本实施例中,所述用户对应的用户信息可以包括有资源配额、资源使用阈值等参 数。为了实现多个用户均能够公平高效地共享集群中的资源,为每个用户设置了运行作业 列表,并且为每一个用户均设置了资源配额以及资源使用阈值;其中,所述资源配额以及资 源使用阈值可以采用百分比的形式来表征。
[0171]其中,所述资源配额表示用户共享集群资源的配额。比如,当集群中各个用户都处 于忙碌状态时,每一个用户根据资源配额共享集群资源。另外,当集群相对空闲时,忙碌的 用户可以超过资源配额参数暂时使用集群中的空闲资源。这样空闲资源可以地被忙碌租户 充分使用,避免资源浪费,提高了集群的资源利用率,实现了资源的高效共享。由于租户实 际使用资源可能超过其资源配额,为了防止单个租户占用过多资源,系统通过资源使用阈 值对其进行限制,使用资源不可超过资源使用阈值。
[0172]优选地,所述第一选取单元,用于为至少一个用户中每个用户建立运行作业列表; 从所述运行作业列表中选取最大的第一特征参数,对应的作业作为所述第一作业;其中,所 述运行作业列表的建立可以为:服务器将每一个用户的调度队列中所有运行作业汇总形成 的列表,其中,所述运行作业列表中可以包括有:用户信息、作业的标识、作业所需的处理资 源以及作业的第一特征参数。
[0173] 本实施例提供多个用户的调度队列示意图,如图3所示,其中包括有三个用户的 用户,分别为用户1、用户2和用户3;在调度队列中分别记录有每一个用户的资源配额和资 源使用阈值;并且在调度队列中有每个用户的至少一个作业。
[0174] 本实施例中选取到第一作业之后,可以在第一选取单元中将该第一作业记录为第 一作业个二元组〈User,Job〉,即〈用户信息,第一作业的标识〉。
[0175] 优选地,第一选取单元利用所述至少一个用户中每个用户的第一作业建立第一作 业信息列表;逐个所述第一作业信息列表中每个第一作业对应的用户的已用资源是否大于 资源使用阈值,若大于资源使用阈值,则从所述第一作业信息列表中删除所述第一作业,得 到更新后的第一作业信息列表。
[0176] 相应的,所述第二选取单元从更新后的所述第一作业信息列表中选取第二作业。
[0177] 其中,所述资源使用阈值可以为根据实际情况设置,比如可以设置为40%。
[0178] 上述建立第一作业信息列表的方法可以为:利用第一作业二元组建立所述第一作 业信息列表。
[0179] 图4为构建第一作业信息列表过程的示意图,其中,用户调度队列中有用户a、用 户b、用户c,每个用户的调度队列中记录有作业信息;所述作业信息包括有对应的用户、第 一特征参数。从每个用户的调度队列中选取第一特征参数最大的一个作业作为该用户的第 一作业;比如,图4中选取用户a的作业(a,0. 5),用户b的作业(b,0. 5),用户c的作业(c, 0. 6),将上述选取的多个用户的第一作业作为第一作业信息列表。
[0180] 进一步的,上述用户的已用资源的计算方法可以有以下两种计算方式:
[0181] 第一种、直接从服务器的记录中获取到用户的已用资源的记录;
[0182] 第二中,从服务器的记录中获取用户的已用资源的记录之后,将用户的已用资源 与调度队列中待调度的作业的所需资源做和,得到计算后的用户的已用资源。可以以百分 比的形式表示。
[0183] 另外,还可以包括从第一作业信息列表中筛除作业为空的二元组。
[0184] 本实施例中,所述第二选取单元选取出第二作业,可以包括以下两种实现方式:
[0185] 方式一、根据所述每个用户的第一作业的第一特征参数,从所述至少一个用户中 选取最大的第一特征参数对应的作业作为第二作业。
[0186] 方式二、根据用户的已用资源是否大于预设的用户的资源配额对所述至少一个用 户进行分类,将已用资源大于预设的用户的资源配额的用户作为第一类用户,将已用资源 不大于预设的用户的资源配额的用户作为第二类用户;从所述第二类用户中选取最大的第 一特征参数对应的作业作为第二作业。
[0187] 可以理解的是,在使用上述方式二时,有可能会出现第二类用户为零的情况,如果 无第二类用户,则从所述第一类用户中选取最大的第一特征参数对应的作业作为第二作 业。
[0188] 图5为选择作业流程的示意图,图中用户a已用资源超过了资源使用阈值,在初期 针对第一作业进行删除的操作中就会被去除;用户b和用户c已用资源未超过用户的资源 配额,从用户b和用户c选取一个紧急度最高的作业(c, 0. 6),记为第二作业。
[0189] 根据上述思路,假设每个用户的第一作业记为job;每个用户与其第一作业组成 第一作业二元组,记为〈user,job〉;所有第一作业二元组组成一个第一作业列表,记为 user_job_list。首先,初始化未超过资源配额的最紧急作业第二类用户对应的第一作业 为job_in,且job_in.urgency为0 ;初始化第一类用户对应的第一作业job_beyond,job_ beyond,urgency为0。本实施例针对上述步骤103的算法流程如下:
[0190]
[0192] 优选地,所述第三选取单元选取第三作业,包括:获取到所述第二作业对应的第一 用户,判断所述第一用户是否满足第二预设条件,若满足第二预设条件,则依次从所述第一 用户的运行作业列表中选取作业,判断选取的作业的第一特征参数是否小于第二预设门限 值,若小于第二预设门限值,则将选取的作业作为第三作业,结束处理;若不满足第二预设 条件,从除所述第一用户外的其他用户中选取符合第二预设条件的第二用户,依次从所述 第二用户的运行作业列表中选取作业,判断选取的作业的第一特征参数是否小于第二预设 门限值,若小于第二预设门限值,则将选取的作业作为第三作业。
[0193] 上述第二预设门限值小于第一预设门限值,比如可以设置所述第二预设门限值为 0. 85 ;即不能够抢占处理紧急度高于0. 85的作业的处理资源。如此,就能够在保证最紧急 的作业的处理效率之外,还能够保证较为紧急的作业的处理资源不被抢占。
[0194] 优选地,所述第三选取单元依次从所述第一用户的运行作业列表中选取作业之 前,基于所述第一用户的运行作业列表中的至少一个作业的第一特征参数,将所述运行作 业列表中的至少一个作业进行排序。其中,所述排序的方式具体根据第一特征参数从小到 大的顺序进彳丁排序,
[0195] 根据上述思路,假设每个用户的第一作业记为job;每个用户与其第一作业组成 第一作业二元组,记为〈user,job〉;所有第一作业二元组组成一个第一作业列表,记为 user_job_list。首先,初始化未超过资源配额的最紧急作业第二类用户对应的第一作业 为job_in,且job_in.urgency为0 ;初始化第一类用户对应的第一作业job_beyond,job_ beyond,urgency为0。本实施例中第二作业抢占资源的操作算法可以如下:
[0196]
[0197] 可以理解的是,本实施例中提供的作业调度系统可以由一个或多个服务器组成, 比如,当作业调度系统由一个服务器组成时,上述信息获取单元、第一选取单元、第二选取 单元、第三选取单元、资源管理单元可以均设置与该服务器中;当所述作业调度系统由多个 服务器组成时,可以将上述信息获取单元、第一选取单元、第二选取单元、第三选取单元、资 源管理单元分别设置于不同的服务器中,即每个服务器对应一个单元。或者,所述作业调 度系统中具备三个服务器,信息获取单元设置于第一服务器中,第一选取单元、第二选取单 元、第三选取单元共同设置与第二服务器中,资源管理单元设置与第三服务器中。
[0198] 可见,采用上述方案,就能够根据处理紧急度从至少一个用户的至少一个作业中 选取出第二作业,在所述第二作业需要获取其他作业的处理资源时,选取第三作业,并占用 所述第三作业的处理资源。如此,能够优先调度整个集群的多个用户中最为紧急的作业,从 而使得集群实现公平且高效的进行作业调度。
[0199] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其 它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为 一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或 可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部 分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合 或
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1