首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

集中式任务调度方法、系统及存储介质 

申请/专利权人:平安科技(深圳)有限公司

申请日:2018-12-10

公开(公告)日:2024-06-25

公开(公告)号:CN109684080B

主分类号:G06F9/50

分类号:G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.06.25#授权;2020.12.04#实质审查的生效;2019.04.26#公开

摘要:本发明涉及负载调度技术,提供了一种集中式任务调度方法、系统及存储介质。该方法包括如下步骤:获取执行机的可用状态,计算可用执行机的数量;获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;利用所述哈希值和所述可用执行机的数量计算所述待分配任务的可用执行机;根据计算得到的可用执行机以及其他可用执行机的在执行任务数与预设阈值的关系,选择执行所述待分配任务的可用执行机。利用本发明,可在资源复用与负载均衡之间取得平衡,有利于提高任务处理效率,还可以提高集中式任务调度系统的稳定性和资源利用率。

主权项:1.一种集中式任务调度方法,应用于集中式任务调度系统,其特征在于,该方法包括:初始化步骤:获取执行机的可用状态,计算可用执行机的数量,包括:向每个执行机发送用于确定节点设备可用状态的广播报文,根据接收到的响应报文计算所述可用执行机的数量,并对每个所述可用执行机分配对应的编号;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值,所述待分配任务的属性信息包括任务名称和任务所有者名称;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机的编号中确定与该第一取余值对应的可用执行机,以将所述待分配任务分配至执行与所述哈希值相同的同类任务对应的可用执行机执行;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行,包括:获取小于所述可用执行机的数量且与所述可用执行机的数量互质的自然数,统计获取的自然数的数量,计算所述待分配任务的哈希值与所述获取的自然数的数量的第二取余值,选取与该第二取余值对应的所述自然数作为扫描步长,根据所述扫描步长依次判断各可用执行机的在执行任务数是否小于所述预设阈值,当某个可用执行机的在执行任务数小于所述预设阈值时,将所述待分配任务分配给该可用执行机执行,结束所述分配步骤;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。

全文数据:集中式任务调度方法、系统及存储介质技术领域本发明涉及计算机任务管理技术领域,尤其涉及一种集中式任务调度方法、系统及计算机可读存储介质。背景技术按照调度信息在何处存储以及调度算法在何处执行,可将任务调度系统分为两类:集中式任务调度系统和分布式任务调度系统。通常,集中式任务调度系统包括一个作为中心调度器的控制器以及若干执行机,所有任务由所述控制器统一调度,然后再分配到各个执行机上去执行。目前,集中式任务调度系统大多通过在多个执行机间随机分配的方式来分配任务。由于任务的执行时长不尽相同,这种方式可能会导致任务分配不均、单个执行机压力过大、增加任务等待时长,从而影响系统稳定,或者多个执行机没有负载而浪费资源的情况。另外,这种分配方式也没有考虑到将同类任务分配到相同执行机执行,以实现资源复用,提高任务处理效率的情况。发明内容本发明的主要目的在于提供一种集中式任务调度方法、系统及计算机可读存储介质,用来提高集中式任务调度系统的稳定性和资源利用率,并提高任务处理效率。为实现上述目的,本发明提供一种集中式任务调度方法,应用于集中式任务调度系统,该方法包括:初始化步骤:获取执行机的可用状态,计算可用执行机的数量;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。优选地,所述待分配任务的属性信息包括任务名称和任务所有者名称。优选地,所述映射步骤包括:利用第一哈希函数对所述待分配任务的名称进行哈希运算,得到第一运算结果;利用第二哈希函数对所述待分配任务的所有者名称进行哈希运算,得到第二运算结果;对所述第一运算结果和所述第二运算结果进行异或运算,得到第三运算结果,将该第三运算结果作为所述待分配任务的哈希值。优选地,所述第一哈希函数和所述第二哈希函数为MD5、SHA-1中的一种或两种。优选地,所述分配步骤中将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行的过程包括如下步骤:获取小于所述可用执行机的数量且与所述可用执行机的数量互质的自然数,统计获取的自然数的数量;计算所述待分配任务的哈希值与所述获取的自然数的数量的第二取余值,选取与该第二取余值对应的所述自然数作为扫描步长;根据所述扫描步长依次判断各可用执行机的在执行任务数是否小于所述预设阈值;当某个可用执行机的在执行任务数小于所述预设阈值时,将所述待分配任务分配给该可用执行机执行,结束所述分配步骤。本发明还提供一种集中式任务调度系统,该集中式任务调度系统包括存储器、处理器和若干执行机,所述存储器中包括任务调度程序,该任务调度程序被所述处理器执行时实现如下步骤:初始化步骤:获取执行机的可用状态,计算可用执行机的数量;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有任务调度程序,该任务调度程序被执行时实现如上所述的集中式任务调度方法中的任意步骤。本发明提供的集中式任务调度方法、系统及计算机可读存储介质,通过获取执行机的可用状态,计算可用执行机的数量,然后获取待分配任务,根据所述待分配任务的属性信息计算所述待分配任务的哈希值,接着利用所述哈希值和所述可用执行机的数量计算所述待分配任务的可用执行机,最后计算得到的可用执行机以及其他可用执行机的在执行任务数与预设阈值之间的关系,选择执行所述待分配任务的可用执行机。在本发明中,利用所述哈希值和所述可用执行机的数量计算所述待分配任务的可用执行机是为了优先将所述属性信息相同的任务,即同类任务分配给相同的可用执行机执行,以实现资源复用,提高任务处理效率。另外,通过设置所述预设阈值避免同一可用执行机的负载压力过大,尽量实现负载均衡。因此,利用本发明,可以提高集中式任务调度系统的稳定性和资源利用率,还有助于提高任务处理效率。附图说明图1为本发明集中式任务调度系统一实施例的示意图;图2为图1中任务调度程序一实施例的程序模块图;图3为本发明集中式任务调度方法一实施例的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解的是,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供一种集中式任务调度系统。参照图1所示,为本发明集中式任务调度系统1一实施例的示意图。所述集中式任务调度系统1包括存储器11、处理器12、网络接口13以及执行机集群14。其中,所述存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述集中式任务调度系统1的内部存储单元,例如该集中式任务调度系统1中的主机硬盘。在另一些实施例中,所述可读存储介质也可以是所述集中式任务调度系统1的外部存储器11,例如所述集中式任务调度系统1上配备的插接式硬盘,智能存储卡SmartMediaCard,SMC,安全数字SecureDigital,SD卡,闪存卡FlashCard等。在本实施例中,所述存储器11的可读存储介质通常用于存储任务调度程序10。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。所述处理器12包括作为中心调度器的控制器,该控制器负责对所有待分配任务进行统一调度,并将其分配到所述执行机集群14中的各个执行机上去执行。在一些实施例中,所述处理器12可以是一中央处理器CentralProcessingUnit,CPU,微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码,例如执行所述任务调度程序10。所述网络接口13可以包括标准的有线接口、无线接口如WI-FI接口。通常用于在该集中式任务调度系统1与其他电子设备或系统之间建立通信连接。所述执行机集群14包括若干执行机。所述执行机可以是各种具有运算功能的电子设备,包括但不限于服务器、智能手机、电话手表、平板电脑、便携式计算机、桌上型计算机、游戏设备、电子书阅读器、MP3播放器MovingPictureExpertsGroupAudioLayerIII、MP4播放器MovingPictureExpertsGroupAudioLayerIV,等等。在一个实施例中,当所述执行机为服务器时,该服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等的一种或几种。在另一个实施例中,不同的执行机还可以部署在同一个服务器中。在本发明中,为了便于描述,假设所述执行机群14中的执行机是相同类型的执行机,具有相同的配置和处理能力。在一个实施例中,可以通过发送广播报文的方式确定各执行机是否可用,即可以向各个执行机发送用于确定节点设备可用状态的广播报文,并根据接收到的响应报文确定各执行机的可用状态信息,该可用状态信息可以用于指示各节点设备是否可用。通过统计分析所述可用状态信息可以确定所述集中式任务调度系统中可用执行机的数量。图1仅示出了具有组件11-14和任务调度程序10的集中式任务调度系统1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。可选地,该集中式任务调度系统1还可以包括输入单元比如键盘Keyboard,语音输入装置比如麦克风Microphone等具有语音识别功能的设备以及语音输出装置比如音响、耳机等。用户可利用这些装置和设备对所述任务调度程序10进行设置和调整。可选地,该集中式任务调度系统1还可以包括显示器,也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管OrganicLight-EmittingDiode,OLED显示器等。显示器用于显示在集中式任务调度系统1中处理的信息以及用于显示可视化的用户界面。该集中式任务调度系统1还可以包括射频RadioFrequency,RF电路、传感器、音频电路、有线接口和无线接口等等,在此不再赘述。在上述实施例中,处理器12执行存储器11中存储的任务调度程序10时可以实现如下步骤:初始化步骤:获取执行机的可用状态,计算可用执行机的数量;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。关于上述步骤的详细介绍,请参照下述图2关于任务调度程序10实施例的程序模块图以及图3关于集中式任务调度方法实施例的流程图的说明。在其他实施例中,所述任务调度程序10可以被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2所示,为图1中任务调度程序10一实施例的程序模块图。在本实施例中,所述任务调度程序10可以被分割为:初始化模块110、映射模块120、计算模块130和分配模块140。所述初始化模块110,用于获取执行机的可用状态,计算可用执行机的数量。具体地,初始化模块110可以向每个执行机发送用于确定节点设备可用状态的广播报文并根据接收到的响应报文计算可用执行机的数量,还可以对所述可用执行机进行编号,为每个所述可用执行机分配一个唯一的可用执行机编号,例如,从0开始以递增整数为每个所述可用执行机编号:0、1、2……。所述映射模块120,用于获取待分配任务,并根据该待分配任务的属性信息计算该待分配任务的哈希值。其中,所述待分配任务的属性信息包括任务名称和任务所有者名称。在一个实施例中,可以对所述待分配任务的名称进行MD5运算,得到第一运算结果,再对所述待分配任务的所有者名称进行SHA-1运算,得到第二运算结果,最后将所述第二运算结果160位的后128位与所述第一运算结果128位进行异或运算,得到第三运算结果,将该第三运算结果作为所述待分配任务的哈希值。可以理解的是,同类任务通常具有相同的任务名称,其任务所有者也相同,因此,依照上述哈希值计算方法,同类任务将得到相同的哈希值。所述计算模块130,用于计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机。例如,当所述可用执行机的编号依次为0、1、2……i时,若某个待分配任务的哈希值与所述可用执行机的数量i+1的取余值为0时,则编号为0的可用执行机即为与所述第一取余值对应的可用执行机。因为同类任务的哈希值相同,所以,对于同类任务,所述确定的可用执行机相同。所述计算模块130的作用在于,可以优先将同类任务分配给相同的可用执行机执行,以实现资源复用,提高任务执行效率。所述分配模块140,用于根据所述确定的可用执行机以及其他可用执行机的在执行任务数与预设阈值的关系,选择执行所述待分配任务的可用执行机。具体地,当所述确定的可用执行机的在执行任务数小于预设阈值例如8时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。在一个实施例中,可以定义一个一维数组,使该数组的元素与所述可用执行机一一对应,且各元素的值与各可用执行机的在执行任务数相等。可以理解的是,在所述集中式任务调度系统1初启动时,各可用执行机上无在执行任务,因此,可以将所述一维数组中各元素的初始值赋为0,当向可用执行机上分配任务时,元素的值相应增大,当任务执行完成时,元素的值相应减小,以保持各元素的值与各可用执行机的在执行任务数相等。另外,所述一维数组可以是动态一维数组,当可用执行机宕机时,该一维数组的元素数量会相应减小,当所述集中式任务调度系统1中的可用执行机增加时,可以相应增加该一维数组的元素数量并依照上述规则对增加的元素进行赋值。在本实施例中,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行的过程包括如下操作:计算扫描步长:step=coprimeListNumInvokers.gethash%sizecoprimerListNumInvokers;计算任一其他可用执行机的编号:Invoker编号=homeInvoker+m*step%NumInvokers;判断当前可用执行机的在执行任务数是否小于所述预设阈值;若当前可用执行机的在执行任务数小于所述预设阈值时,则将所述待分配任务分配给该可用执行机执行,结束所述分配步骤;若当前可用执行机的在执行任务数不小于所述预设阈值时,则令m=m+1,计算另一可用执行机的编号,判断该另一可用执行机的在执行任务数是否小于所述预设阈值。其中,NumInvokers表示可用执行机的数量,coprimeListNumInvokers表示获取小于NumInvokers值且与NumInvokers值互质的自然数列表,sizecoprimeListNumInvokers表示所述自然数列表中自然数的个数,gethash%sizecoprimeListNumInvokers表示先利用所述待分配任务的哈希值对所述自然数列表中自然数的个数进行取余计算,然后从该自然数列表中取得与所得取余值对应的数值,homeInvoker表示所述确定的可用执行机的编号,变量m表示从1到NumInvokers-1的整数值。当m=NumInvokers-1时,将完成对所有所述可用执行机的在执行任务数与所述预设阈值相对大小的判断。若所有所述可用执行机的在执行任务数都大于或等于所述预设阈值时,则仍将所述待分配任务分配给所述确定的可用执行机执行。在一些实施例中,所述预设阈值的数量可以大于1。例如,假设所述预设阈值包括第一阈值和第二阈值,该第一阈值和该第二阈值均小于所述可用执行机的负载上限,且该第一阈值小于该第二阈值,则所述分配模块140先判断所述确定的可用执行机的在执行任务数是否小于该第一阈值例如3,当所述确定的可用执行机的在执行任务数小于该第一阈值时,将所述待分配任务分配给该确定的可用执行机执行;当所述确定的可用执行机的在执行任务数不小于该第一阈值时,将所述待分配任务分配给任一其他在执行任务数小于该第一阈值的可用执行机执行;当所有可用执行机的在执行任务数都大于该第一阈值时,以所述第二阈值例如8代替该第一阈值,重新执行上述分配步骤,直至将所述待分配任务分配给在执行任务数小于该第二阈值的所述确定的可用执行机,或将所述待分配任务分配给在执行任务数小于该第二阈值的其他任一可用执行机。若所有可用执行机的在执行任务数都大于该第二阈值,则仍将所述待分配任务分配给所述确定的可用执行机执行。在其他实施例中,所述预设阈值还可以包括第三阈值、第四阈值等,在此不再赘述。如上所述,通过结合使用所述计算模块130和所述分配模块140,尤其是当设置多个预设阈值时,可以平衡将同类待分配任务分配给相同的可用执行机执行和实现负载均衡这两者的关系,既能避免个别可用执行机负载过高影响系统性能,又能在所述确定的可用执行机负载不高的前提下将同类待分配任务分配给相同的确定的可用执行机执行,实现资源复用,从而提高任务处理效率,且不会影响到集中式任务调度系统的稳定性。此外,本发明还提供一种集中式任务调度方法。参照图3所示,为本发明集中式任务调度方法的实施例的流程示意图。集中式任务调度系统1的处理器12执行存储器11中存储的任务调度程序10时实现集中式任务调度方法的如下步骤:步骤S300,利用所述初始化模块110获取执行机的可用状态,计算可用执行机的数量。在本实施例中,通过向每个执行机发送用于确定节点设备可用状态的广播报文并接收响应报文来获取所述集中式任务调度系统1中的执行机的可用状态,进而统计可用执行机的数量。步骤S301,利用所述映射模块120获取待分配任务,并根据该待分配任务的属性信息计算该待分配任务的哈希值。在该实施例中,所述待分配任务的属性信息包括任务名称和任务所有者名称,所述映射模块120先对所述待分配任务的名称进行MD5运算,得到第一运算结果,再对所述待分配任务的所有者名称进行SHA-1运算,得到第二运算结果,最后将所述第二运算结果160位的后128位与所述第一运算结果128位进行异或运算,得到第三运算结果,将该第三运算结果作为所述待分配任务的哈希值。步骤S302,所述预分配模块130计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机。因为同类任务的哈希值相同,所以,对于同类任务,所述确定的可用执行机相同。所述计算模块130的作用在于,可以优先将同类任务分配给相同的可用执行机执行,以实现资源复用,提高任务执行效率。步骤S303,利用所述分配模块140根据所述确定的可用执行机以及其他可用执行机的在执行任务数与预设阈值的关系,选择执行所述待分配任务的可用执行机。在本实施例中,假设所述预设阈值包括第一阈值和第二阈值,该第一阈值和该第二阈值均小于所述可用执行机的负载上限,且该第一阈值小于该第二阈值,则所述分配模块140先判断所述确定的可用执行机的在执行任务数是否小于该第一阈值例如3,当所述确定的可用执行机的在执行任务数小于该第一阈值时,将所述待分配任务分配给该确定的可用执行机执行;当所述确定的可用执行机的在执行任务数不小于该第一阈值时,将所述待分配任务分配给任一其他在执行任务数小于该第一阈值的可用执行机执行;当所有可用执行机的在执行任务数都大于该第一阈值时,以所述第二阈值例如8代替该第一阈值,重新执行上述分配步骤。具体分配方式请参照上述关于分配模块140的详细介绍,在此不再赘述。此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器ROM、可擦除可编程只读存储器EPROM、便携式紧致盘只读存储器CD-ROM、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括任务调度程序10,该任务调度程序10被执行时实现如下操作:初始化步骤:获取执行机的可用状态,计算可用执行机的数量;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机。本发明之计算机可读存储介质的具体实施方式与上述集中式任务调度方法和集中式任务调度系统1的具体实施方式大致相同,请参照上述图2关于任务调度程序10实施例的程序模块图以及图3关于集中式任务调度方法实施例的流程图的详细介绍,在此不再赘述。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质中,包括若干指令用以使得集中式任务调度系统执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

权利要求:1.一种集中式任务调度方法,应用于集中式任务调度系统,其特征在于,该方法包括:初始化步骤:获取执行机的可用状态,计算可用执行机的数量;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。2.如权利要求1所述的集中式任务调度方法,其特征在于,所述待分配任务的属性信息包括任务名称和任务所有者名称。3.如权利要求2所述的集中式任务调度方法,其特征在于,所述映射步骤包括:利用第一哈希函数对所述待分配任务的名称进行哈希运算,得到第一运算结果;利用第二哈希函数对所述待分配任务的所有者名称进行哈希运算,得到第二运算结果;对所述第一运算结果和所述第二运算结果进行异或运算,得到第三运算结果,将该第三运算结果作为所述待分配任务的哈希值。4.如权利要求3所述的集中式任务调度方法,其特征在于,所述第一哈希函数和所述第二哈希函数为MD5、SHA-1中的一种或两种。5.如权利要求1至4中任意一项所述的集中式任务调度方法,其特征在于,所述分配步骤中将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行的过程包括如下步骤:获取小于所述可用执行机的数量且与所述可用执行机的数量互质的自然数,统计获取的自然数的数量;计算所述待分配任务的哈希值与所述获取的自然数的数量的第二取余值,选取与该第二取余值对应的所述自然数作为扫描步长;根据所述扫描步长依次判断各可用执行机的在执行任务数是否小于所述预设阈值;当某个可用执行机的在执行任务数小于所述预设阈值时,将所述待分配任务分配给该可用执行机执行,结束所述分配步骤。6.一种集中式任务调度系统,包括存储器、处理器和若干执行机,其特征在于,所述存储器中包括任务调度程序,该任务调度程序被所述处理器执行时实现如下步骤:初始化步骤:获取执行机的可用状态,计算可用执行机的数量;映射步骤:获取待分配任务,根据该待分配任务的属性信息计算该待分配任务的哈希值;计算步骤:计算所述哈希值与所述可用执行机的数量的第一取余值,从所述可用执行机中确定与该第一取余值对应的可用执行机;及分配步骤:当所述确定的可用执行机的在执行任务数小于预设阈值时,将所述待分配任务分配给所述确定的可用执行机执行;当所述确定的可用执行机的在执行任务数大于或等于所述预设阈值时,将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行;当所述可用执行机的在执行任务数都大于或等于所述预设阈值时,仍将所述待分配任务分配给所述确定的可用执行机执行。7.如权利要求6所述的集中式任务调度系统,其特征在于,所述待分配任务的属性信息包括任务名称和任务所有者名称。8.如权利要求7所述的集中式任务调度系统,其特征在于,所述映射步骤包括:利用第一哈希函数对所述待分配任务的名称进行哈希运算,得到第一运算结果;利用第二哈希函数对所述待分配任务的所有者名称进行哈希运算,得到第二运算结果;对所述第一运算结果和所述第二运算结果进行异或运算,得到第三运算结果,将该第三运算结果作为所述待分配任务的哈希值。9.如权利要求6所述的集中式任务调度系统,其特征在于,所述分配步骤中将所述待分配任务分配给任一其他在执行任务数小于所述预设阈值的可用执行机执行的过程包括如下步骤:获取小于所述可用执行机的数量且与所述可用执行机的数量互质的自然数,统计获取的自然数的数量;计算所述待分配任务的哈希值与所述获取的自然数的数量的第二取余值,选取与该第二取余值对应的所述自然数作为扫描步长;根据所述扫描步长依次判断各可用执行机的在执行任务数是否小于所述预设阈值;当某个可用执行机的在执行任务数小于所述预设阈值时,将所述待分配任务分配给该可用执行机执行,结束所述分配步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括任务调度程序,该任务调度程序被执行时实现如权利要求1至5中任意一项所述的集中式任务调度方法的步骤。

百度查询: 平安科技(深圳)有限公司 集中式任务调度方法、系统及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。