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

文档序号:9304474阅读:来源:国知局
预计需要花费的时间;所述截 至时刻为用户根据实际情况设置的时刻。本实施例提供确定作业的运行时长和截止时刻的 两种方法:
[0058] -、用户登录一个用户后,需要提交作业,在用户提交作业的时候设置作业的运行 时长和截止时刻;
[0059] 二、当用户登录用户并提交作业之后,由服务器根据作业的类型以及大小估算作 业的运行时长以及截止时刻;研究表明,绝大多数数据处理作业具有重复性特征。这些作业 通常会定期重复运行,其应用类型和处理逻辑相同,但具体处理的数据规模可能不同。通过 定期观察记录,对于一个给定作业,可以凭借用户经验或模拟器来预估其运行时间。因此, 预估一个作业的运行时间在理论和实践上都具有可行性。
[0060] 优选地,所述步骤101可以根据实际情况设置为周期性执行的步骤,因为随着时 间的推移,当前时间点会不断变化,作业的可用时长也会随之变化,进而作业紧急度也会实 时变化。为此,调度机制会为每个作业维护上述参数,比如,当业务较为空闲的时候,可以为 每5分钟进行一次计算;如果当前集群中用户较为繁忙时,可以设置为1分钟进行一次计 算。如此,能够进一步的保证作业的第一特征参数的准确性。
[0061] 本实施例中,所述用户对应的用户信息可以包括有资源配额、资源使用阈值等参 数。为了实现多个用户均能够公平高效地共享集群中的资源,为每个用户设置了运行作业 列表,并且为每一个用户均设置了资源配额以及资源使用阈值;其中,所述资源配额以及资 源使用阈值可以采用百分比的形式来表征。
[0062] 其中,所述资源配额表示用户共享集群资源的配额。比如,当集群中各个用户都处 于忙碌状态时,每一个用户根据资源配额共享集群资源。另外,当集群相对空闲时,忙碌的 用户可以超过资源配额参数暂时使用集群中的空闲资源。这样空闲资源可以地被忙碌租户 充分使用,避免资源浪费,提高了集群的资源利用率,实现了资源的高效共享。由于租户实 际使用资源可能超过其资源配额,为了防止单个租户占用过多资源,系统通过资源使用阈 值对其进行限制,使用资源不可超过资源使用阈值。
[0063] 优选地,所述选取至少一个用户中每个用户的第一作业可以包括:为至少一个用 户中每个用户建立运行作业列表;从所述运行作业列表中选取最大的第一特征参数,对应 的作业作为所述第一作业;
[0064] 其中,所述运行作业列表的建立可以为:服务器将每一个用户的调度队列中所有 运行作业汇总形成的列表,其中,所述运行作业列表中可以包括有:用户信息、作业的标识、 作业所需的处理资源以及作业的第一特征参数。
[0065] 本实施例中选取到第一作业之后,可以在服务器中将该第一作业记录为第一作业 个二元组〈User,Job〉,即〈用户信息,第一作业的标识〉。
[0066] 本实施例中,所述根据每个用户的第一作业的第一特征参数,从至少一个用户的 所述每个用户的第一作业中选取出第二作业,可以包括:根据所述每个用户的第一作业的 第一特征参数,从所述至少一个用户中选取最大的第一特征参数对应的作业作为第二作 业。
[0067] 优选地,所述第二作业符合第一预设条件的判断方法可以包括:所述第二作业的 第一特征参数大于第一预设门限值;其中,所述第一预设门限值可以为根据实际情况设置 的门限值,比如,可以设置为〇. 9。在集群中,用户数量和作业数量往往较大,而为了节省成 本,集群规模常常较为有限,这就出现了资源受限的场景。在资源受限的场景下,为了保证 作业在截止时间之前完成,必须要实现一种资源抢占机制。在资源受限的前提下,非常紧急 的作业可以抢占资源。资源不足时,如果作业并非十分紧急,可以等待当前作业完成、出现 空闲资源后再执行作业,这样既不会影响作业按时完成,又可以避免抢占带来的额外开销。 但是如果作业非常紧急,又没有空闲资源,则作业不可以再继续等待,因为继续等待很可能 会导致作业错过截止时间,此时需要进行抢占。为了量化作业"非常紧急"这一概念,本实 施例中设定了第一预设门限值tl,当作业的第一特征参数大于第一预设门限值tl时,就认 为该作业满足了第一预设条件可以抢占资源。
[0068] 优选地,所述选取第三作业,如图2所示,包括:
[0069] 步骤201 :获取到所述第二作业对应的第一用户,判断所述第一用户是否满足第 二预设条件,若满足第二预设条件,则执行步骤202 ;否则,执行步骤203 ;
[0070] 步骤202 :依次从所述第一用户的运行作业列表中选取作业,判断选取的作业的 第一特征参数是否小于第二预设门限值,若小于第二预设门限值,则将选取的作业作为第 三作业,结束处理;
[0071] 步骤203:从除所述第一用户外的其他用户中选取符合第二预设条件的第二用 户,依次从所述第二用户的运行作业列表中选取作业,判断选取的作业的第一特征参数是 否小于第二预设门限值,若小于第二预设门限值,则将选取的作业作为第三作业。
[0072] 上述第二预设门限值小于第一预设门限值,比如可以设置所述第二预设门限值为 〇. 85 ;即不能够抢占处理紧急度高于0. 85的作业的处理资源。如此,就能够在保证最紧急 的作业的处理效率之外,还能够保证较为紧急的作业的处理资源不被抢占。
[0073] 可见,采用上述方案,就能够根据处理紧急度从至少一个用户的至少一个作业中 选取出第二作业,在所述第二作业需要获取其他作业的处理资源时,选取第三作业,并占用 所述第三作业的处理资源。如此,能够优先调度整个集群的多个用户中最为紧急的作业,从 而使得集群实现公平且高效的进行作业调度。
[0074] 实施例三、
[0075] 本发明实施例提供了一种作业调度方法,应用于服务器,如图1所示,所述方法包 括:
[0076] 步骤101 :获取到至少一个用户的作业信息,利用所述至少一个用户的作业信息, 计算得到每个用户的至少一个作业的第一特征参数;所述第一特征参数用于表征所述作业 的处理紧急度;
[0077] 步骤102 :基于所述每个用户的至少一个作业的第一特征参数,分别选取至少一 个用户中每个用户的第一作业;
[0078] 步骤103 :根据所述每个用户的第一作业的第一特征参数,从至少一个用户的所 述每个用户的第一作业中选取出第二作业;
[0079] 步骤104 :当所述第二作业符合第一预设条件时,选取第三作业;所述第一预设条 件表征所述第二作业的第一特征参数大于第一预设门限值;
[0080] 步骤105 :将所述第三作业对应的资源分配给所述第二作业,并利用分配的所述 资源处理所述第二作业。
[0081] 这里,所述计算得到每个用户的至少一个作业的第一特征参数可以包括:分别获 取所述每个用户的至少一个作业对应的运行时长以及截止时刻;利用作业的所述截至时刻 计算得到可用时长;将作业的运行时长与所述可用时长的比值作为所述作业的第一特征参 数。第一特征参数的计算可以采用以下公式:urgency=run_duration/avail_time;其中, run_duration表示作业的运行时长,avail_time表示当前时刻至第一作业的所述截止时 刻之间的可用时长。
[0082] 本实施例中假设作业的可用时长总是大于0的,因为如果可用时长小于等于0,则 表示作业已经错过完成截止时间,运行该作业通常已经没有实际意义。由于假设可用时长 总是大于〇的,且作业的预计运行时间必然大于〇,因此作业第一特征参数也总是大于0。在 此基础上,以数值1作为第一特征参数的分界线,如果第一特征参数大于等于1,表明作业 的预计运行时长大于等于可用时长,则作业理论上已经无法在截止时间前完成;如果第一 特征参数小于1,则表明作业的预计运行时间小于可用时长,则作业预计可以在截止时间前 顺利完成。从变化趋势上看,第一特征参数越大,表示相比于作业的预计运行时间,可用时 长已经不多,表明作业更为紧急,为了保证作业在截止时间前完成,应当尽早调度该作业; 第一特征参数越小,表示相比于作业的预计运行时间,可用时长还较为充足,表明作业相对 不紧急,可以优先调度其他紧急程度更高的作业。
[0083] 可以理解的是,执行上述步骤101之前,首先需要在提交作业时确定作业的运行 时长和截止时刻;所述运行时长表示作业从开始执行到完成预计需要花费的时间;所述截 至时刻为用户根据实际情况设置的时刻。本实施例提供确定作业的运行时长和截止时刻的 两种方法:
[0084] -、用户登录一个用户后,需要提交作业,在用户提交作业的时候设置作业的运行 时长和截止时刻;
[0085] 二、当用户登录用户并提交作业之后,由服务器根据作业的类型以及大小估算作 业的运行时长以及截止时刻;研究表明,绝大多数数据处理作业具有重复性特征。这些作业 通常会定期重复运行,其应用类型和处理逻辑相同,但具体处理的数据规模可能不同。通过 定期观察记录,对于一个给定作业,可以凭借用户经验或模拟器来预估其运行时间。因此, 预估一个作业的运行时间在理论和实践上都具有可行性。
[0086] 优选地,所述步骤101可以根据实际情况设置为周期性执行的步骤,因为随着时 间的推移,当前时间点会不断变化,作业的可用时长也会随之变化,进而作业紧急度也会实 时变化。为此,调度机制会为每个作业维护上述参数,比如,当业务较为空闲的时候,可以为 每5分钟进行一次计算;如果当前集群中用户较为繁忙时,可以设置为1分钟进行一次计 算。如此,能够进一步的保证作业的第一特征参数的准确性。
[0087] 本实施例中,所述用户对应的用户信息可以包括有资源配额、资源使用阈值等参 数。为了实现多个用户均能够公平高效地共享集群中的资源,为每个用户设置了运行作业 列表,并且为每一个用户均设置了资源配额以及资源使用阈值;其中,所述资源配额以及资 源使用阈值可以采用百分比的形式来表征。
[0088] 其中,所述资源配额表示用户共享集群资源的配额。比如,当集群中各个用户都处 于忙碌状态时,每一个用户根据资源配额共享集群资源。另外,当集群相对空闲时,忙碌的 用户可以超过资源配额参数暂时使用集群中的空闲资源。这样空闲资源可以地被忙碌租户 充分使用,避免资源浪费,提高了集群的资源利用率,实现了资源的高效共享。由于租户实 际使用资源可能超过其资源配额,为了防止单个租户占用过多资源,系统通过资源使用阈 值对其进行限制,使用资源不可超过资源使用阈值。
[0089] 优选地,所述选取至少一个用户中每个用户的第一作业可以包括:为至少一个用 户中每个用户建立运行作业列表;从所述运行作业列表中选取最大的第一特征参数,对应 的作业作为所述第一作业;
[0090] 其中,所述运行作业列表的建立可以为:服务器将每一个用户的调度队列中所有 运行作业汇总形成的列表,其中,所述运行作业列表中可以包括有:用户信息、作业的标识、 作业所需的处理资源以及作业的第一特征参数。
[0091] 本
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1