CN106250226B - 基于一致性哈希算法的任务调度方法及系统 - Google Patents

基于一致性哈希算法的任务调度方法及系统 Download PDF

Info

Publication number
CN106250226B
CN106250226B CN201610622589.8A CN201610622589A CN106250226B CN 106250226 B CN106250226 B CN 106250226B CN 201610622589 A CN201610622589 A CN 201610622589A CN 106250226 B CN106250226 B CN 106250226B
Authority
CN
China
Prior art keywords
task
execution unit
cryptographic hash
hash
mapping relations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610622589.8A
Other languages
English (en)
Other versions
CN106250226A (zh
Inventor
刘德建
阮桂亮
郭玉湖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Hua Yu Education Technology Co Ltd
Original Assignee
Fujian Hua Yu Education Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Hua Yu Education Technology Co Ltd filed Critical Fujian Hua Yu Education Technology Co Ltd
Priority to CN201610622589.8A priority Critical patent/CN106250226B/zh
Publication of CN106250226A publication Critical patent/CN106250226A/zh
Application granted granted Critical
Publication of CN106250226B publication Critical patent/CN106250226B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

本发明提供一种基于一致性哈希算法的任务调度机制及系统,方法包括:获取可用的执行单元的哈希值和待执行的任务的哈希值;将所述执行单元的哈希值和所述任务的哈希值分配至一致性哈希环上;获取所述任务的执行次数;选取查找方向;按照所述查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;获取与所述n个对应执行单元的哈希值对应的n个执行单元;建立所述任务与所述n个执行单元的映射关系;依据所述映射关系建立执行单元到任务的映射表。本发明将一致性哈希算法运用到任务调度技术,任务和执行单元之间能够灵活匹配,且能够满足周期性任务的调度需求。

Description

基于一致性哈希算法的任务调度方法及系统
技术领域
本发明涉及任务调度技术,尤其涉及一种基于一致性哈希算法的任务调度机制及系统。
背景技术
在某些需要周期执行固定任务的场景下,当任务录入完成后,任务会被定期唤醒执行,部分场景还对任务的执行次数有所要求(比如拨测程序需执行多次保证采样的可靠性和统计准确度),传统的任务队列在此场景无法胜任,一些简单的分布式算法无法实现任务的随机分配。
如公开号为CN 104915259 A的中国专利提供了一种应用于分布式采集系统的任务调度方法,在控制台上设置任务调度策略,即确定任务名称、最大线程数、执行任务的所有采集程序服务器地址信息;再将采集任务动态分配到集群的若干服务器中,每台服务器都配备采集程序且执行不同的采集任务,从而完成动态采集监控。然而,该方法无法对任务进行随机分配,也无法对同一个任务执行多次。
发明内容
本发明所要解决的技术问题是:提供一种基于一致性哈希算法的任务调度机制及系统,能够对有执行次数要求的任务进行随机分配。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于一致性哈希算法的任务调度机制,包括:
获取可用的执行单元的哈希值和待执行的任务的哈希值;
将所述执行单元的哈希值和所述任务的哈希值分配至一致性哈希环上;
获取所述任务的执行次数;
确定在所述一致性哈希环上的查找方向;
按照所述查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系建立执行单元到任务的映射表。
本发明提供的另一个技术方案为:
一种基于一致性哈希算法的任务调度系统,包括:
第一获取模块,用于获取可用的执行单元的哈希值和待执行的任务的哈希值;
分配模块,用于将所述哈希值和所述任务的哈希值分配至一致性哈希环上;
第二获取模块,用于获取所述任务的执行次数;
查找模块,用于按照预设的查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
第三获取模块,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
映射模块,用于建立所述任务与所述n个执行单元的映射关系;
列表建立模块,用于依据所述映射关系建立执行单元到任务的映射表。
本发明的有益效果在于:通过将执行单元的哈希值和任务的哈希值分配在一致性哈希环上,执行单元和任务的哈希值在一致性哈希环上的位置是确定的,从而将任务和执行单元相关联时,在一致性哈希环上按照预设的顺时针方向或逆时针方向找到与该任务位置最接近的对应执行单元的哈希值,该哈希值所对应的执行单元即与该任务对应,实现任务的随机分配;同时,如果任务的执行次数为多次,则按照顺时针方向或逆时针方向找到与该任务位置最接近的多个对应执行单元的哈希值,即找到多个执行单元,为该任务和执行单元建立映射关系;然后再依据该映射关系建立执行单元到任务的映射表,从而执行单元能够依据该映射表执行相应的任务。本发明将一致性哈希算法应用于调度机制中,相比传统的一个执行单元只能执行一个固定的任务的方法,具有执行单元与任务之间能够灵活匹配的优点。
附图说明
图1为本发明一实施例的基于一致性哈希算法的任务调度机制的流程图;
图2为本发明一实施例的基于一致性哈希算法的任务调度系统的结构示意图;
图3为本发明实施例一的基于一致性哈希算法的任务调度机制的映射示意图一;
图4为本发明实施例一的基于一致性哈希算法的任务调度机制的映射示意图二;
图5为本发明实施例二的基于一致性哈希算法的任务调度机制的映射示意图;
图6为本发明实施例三的基于一致性哈希算法的任务调度机制的映射示意图;
图7为本发明实施例四的基于一致性哈希算法的任务调度机制的映射示意图;
图8为本发明实施例六的基于一致性哈希算法的任务调度系统的结构示意图;
图9为本发明实施例七的基于一致性哈希算法的任务调度系统的结构示意图;
图10为本发明实施例八的基于一致性哈希算法的任务调度系统的结构示意图。
标号说明:
1、第一获取模块;2、分配模块;3、第二获取模块;4、第一查找模块;5、第三获取模块;6、第一映射模块;7、列表建立模块;8、第一删除模块;9、第一更新模块;10、第二删除模块;11、第四获取模块;12、第二查找模块;13、第五获取模块;14、第二映射模块;15、第二更新模块;16、新增模块;17、第三查找模块;18、第六获取模块;19、第三映射模块;20、第三更新模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:将执行单元和任务的哈希值分配至一致性哈希环上,在一致性哈希环上寻找与任务的哈希值位置最近的n个对应执行单元的哈希值,n的数值与任务的执行次数的数值相同。
请参照图1,本发明提供一种基于一致性哈希算法的任务调度机制,包括:
获取可用的执行单元的哈希值和待执行的任务的哈希值;
将所述执行单元的哈希值和所述任务的哈希值分配至一致性哈希环上;
获取所述任务的执行次数;
按照预设的查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系建立执行单元到任务的映射表。
从上述描述可知,本发明基于一致性哈希算法的任务调度机制的有益效果在于:将一致性哈希算法运用到任务调度技术,使得任务和执行单元之间能够灵活匹配。
进一步的,所述任务的数量为两个以上,建立一任务与对应的执行单元的映射关系后,依次建立其他各任务与各任务对应的执行单元的映射关系,并依据所述映射关系建立执行单元到任务的映射表。
从上述描述可知,如果任务有多个,则对于每个任务,都按照上述方法建立任务与执行单元的映射关系,各任务之间不会相互影响。如果需要增加新任务,也只需将新任务的哈希值分配至上述一致性哈希环上,按照相同的方法,建立新任务与一致性哈希环上的执行单元之间的映射关系即可,已有的映射关系保持不变。
进一步的,建立所述任务与所述n个执行单元的映射关系之后,进一步包括:
若任务被删除,则清除所述任务与对应的执行单元的映射关系;依据所述映射关系更新所述执行单元到任务的映射表;在所述一致性哈希环上删除所述任务的哈希值。
从上述描述可知,当任务被删除、无需再执行时,将该任务与执行单元的映射关系删除,同时在一致性哈希环上删除该任务的哈希值,便不会为该任务分配执行单元了。
进一步的,建立所述任务与所述n个执行单元的映射关系之后,进一步包括:
若执行单元被删除,则在所述一致性哈希环上删除所述执行单元的哈希值;
获取与所述执行单元对应的任务以及所述任务的执行次数n;
按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系更新所述执行单元到任务的映射表。
从上述描述可知,如果执行单元被删除,则只会影响分配在该执行单元上的任务,因此现将该执行单元的哈希值从一致性哈希环上删除,再对原来分配在该执行单元的任务在一致性哈希环上从新查找对应执行单元的哈希值,重新建立该任务与对应的执行单元的映射关系即可。
进一步的,建立所述任务与所述n个执行单元的映射关系之后,进一步包括:
若新增了执行单元,将新增的执行单元的哈希值分配至一致性哈希环上;
按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系更新所述执行单元到任务的映射表。
从上述描述可知,当新增加执行单元之后,任务与执行单元在哈希环中的相对位置发生变化,部分任务与执行单元的关系因新执行单元的插入发生变化,因此需要重新根据一致性哈希算法去建立受影响任务与执行单元的映射关系。
请参照图2,本发明的另一个技术方案为:
一种基于一致性哈希算法的任务调度系统,包括:
第一获取模块1,用于获取可用的执行单元的哈希值和待执行的任务的哈希值;
分配模块2,用于将所述哈希值和所述任务的哈希值分配至一致性哈希环上;
第二获取模块3,用于获取所述任务的执行次数;
第一查找模块4,用于按照预设的查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
第三获取模块5,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第一映射模块6,用于建立所述任务与所述n个执行单元的映射关系;
列表建立模块7,用于依据所述映射关系建立执行单元到任务的映射表。
从上述描述可知,本发明基于一致性哈希算法的分布式任务调度系统的有益效果在于:第一获取模块获取了执行单元和任务的哈希值后,分配模块将获取到的哈希值分配到一致性哈希环上,确定了执行单元和任务之间的哈希值在一致性哈希环上的位置;第二获取模块获取任务的执行次数,从而第一查找模块能够在一致性哈希环上查找与任务的哈希值位置最接近的n个对应执行单元的哈希值,第三获取模块再获取与n个哈希值对应的执行单元,最后通过第一映射模块建立该任务与执行单元的映射关系;由于n的数值和执行次数的数值相同,即每一次执行该任务都分配了一个执行单元,满足了任务需要执行多次的调度需求,再通过列表建立模块建立执行单元到任务的映射表,从而执行单元能够依据该映射表执行相应的任务。
进一步的,所述任务的数量为两个以上,第一映射模块6还用于:在建立一任务与对应的执行单元的映射关系后,依次建立其他各任务与各任务对应的执行单元的映射关系,列表建立模块7依据所述映射关系建立执行单元到任务的映射表。
进一步的,还包括:
第一删除模块8,用于若任务被删除,则清除所述任务与对应执行单元的映射关系;第一更新模块9,用于依据所述映射关系更新所述执行单元到任务的映射表;在所述一致性哈希环上删除所述任务的哈希值。
从上述描述可知,通过第一删除模块删除被删除的任务的映射关系以及该任务在一致性哈希环上的哈希值,从而不会再为该任务分配执行单元,减少了数据缓存。
进一步的,还包括:
第二删除模块10,用于若执行单元被删除,则在所述一致性哈希环上删除所述执行单元的哈希值;
第四获取模块11,用于获取与所述执行单元对应的任务以及所述任务的执行次数n;
第二查找模块12,用于按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
第五获取模块13,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第二映射模块14,用于建立所述任务与所述n个执行单元的映射关系;
第二更新模块15,用于依据所述映射关系更新所述执行单元到任务的映射表。
从上述描述可知,通过第二删除模块删除被删除执行单元在一致性哈希环上的哈希值,分配在该执行单元上的任务需要新的执行单元,从而通过第四获取模块、第二查找模块、第五获取模块和第二映射模块根据新的一致性哈希环对该任务重新建立与执行单元的映射关系。
进一步的,还包括:
新增模块16,用于若新增了执行单元,将新增的执行单元的哈希值分配至一致性哈希环上;
第三查找模块17,用于按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
第六获取模块18,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第三映射模块19,用于建立所述任务与所述n个执行单元的映射关系;
第三更新模块20,用于依据所述映射关系更新所述执行单元到任务的映射表。
从上述描述可知,由于新增了执行单元,之前的任务需要重新分配执行单元,因此,首先通过新增模块将新增的执行单元的哈希值分配至一致性哈希环上,然后通过第三查找模块、第六获取模块和第三映射模块根据新的一致性哈希环对所有任务建立与执行单元的映射关系。
请参照图3以及图4,本发明的实施例一为:
一种基于一致性哈希算法的任务调度机制,包括
执行单元首次启动时,会生成唯一的ID码,将所述ID码作为所述执行单元的哈希值;录入任务时,依据任务的信息(如,任务信息里面有ID)得到任务的哈希值;
将已经注册的执行单元,即可用的执行单元的哈希值和待执行的任务的哈希值分配至一致性哈希环上;其中可用的执行单包括执行单元1、执行单元2和执行单元3;待执行的任务包括任务1和任务2,如图3所示;
获取待执行的任务1的执行次数n,任务1只需要执行一次,即n为1;
选取逆时针方向,查找与任务1的哈希值位置最近的1个对应执行单元的哈希值;从图3可以看出,与任务1的哈希值位置最近的是执行单元2的哈希值;
获取与所述与任务1的哈希值位置最近的1个对应执行单元的哈希值对应的1个执行单元;即执行单元1;
建立任务1与执行单元1的映射关系;
同理,获取任务2的执行次数2,在上述一致性哈希环上按逆时针方向查找与任务2的哈希值位置最接近的2个对应执行单元的哈希值,即执行单元1和执行单元3的哈希值,因此建立任务2与执行单元1、执行单元3的映射关系;
依据上述映射关系建立各执行单元到任务的映射表,例如,执行单元1——任务2,执行单元2——任务1,执行单元3——任务2。执行单元要执行任务时,即可请求对应的映射表,执行映射表中相应的任务。
如果要增加任务3,则将任务3的哈希值增加到一致性哈希环上,如图4所示。任务3需要执行2次,按照上述方法在图4的一致性哈希环上找到与任务3的哈希值位置最接近的执行单元3和执行单元2所对应的哈希值,建立任务3与执行单元3、执行单元2的映射关系,然后将执行单元3到任务3、执行单元2到任务3的映射表,任务1和任务2不受影响。
请参照图5,本发明的实施例二为:
一种基于一致性哈希算法的任务调度机制,与上述实施例一的区别在于:
上述映射关系建立之后,若任务2被删除,则清除所述任务与对应执行单元的映射关系;依据所述映射关系更新所述执行单元到任务的映射表,即删除执行单元1到任务2、执行单元3——任务2的映射表;在一致性哈希环上也清除所述任务在一致性哈希环上的哈希值,任务1与执行单元2、任务3与执行单元3和执行单元2的映射关系不变。如图5所示。
请参照图6,本发明的实施例三为:
一种基于一致性哈希算法的任务调度机制,与上述实施例二的区别在于:
上述映射关系建立之后,若执行单元2掉线,即执行单元2不可用,被删除,则在一致性哈希环上删除执行单元2的哈希值,如图6所示;由于在实施例一中执行单元2与任务1和任务3之间均建立了映射关系,因此对任务1和任务3,按照按上述方法,依据图5中的一致性哈希环,建立任务1与执行单元、任务3与执行单元3和执行单元1的映射关系,并依据该映射关系更新执行单元到任务的映射表。
请参照图7,本发明的实施例四为:
一种基于一致性哈希算法的任务调度机制,与上述实施例三的区别在于:
上述映射关系建立之后,若新增了执行单元4,则在一致性哈希环上增加执行单元4的哈希值,如图7所示;按照上述方法依据图7中的一致性哈希环,建立任务1与执行单元1、任务3与执行单元4和执行单元3的映射关系,并依据该映射关系更新执行单元到任务的映射关系。
请参照图2,本发明的实施例五为:
一种基于一致性哈希算法的任务调度机制系统,包括:
执行单元、任务缓存单元和调度中心,执行单元注册至调度中心,任务缓存至任务缓存单元后,任务缓存单元将任务信息发送至调度中心,其中,调度中心包括:
第一获取模块1,用于获取可用的执行单元的哈希值和待执行的任务的哈希值;
分配模块2,用于将所述哈希值和所述任务的哈希值分配至一致性哈希环上;
第二获取模块3,用于获取所述任务的执行次数;
第一查找模块4,用于按照所述查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
第三获取模块5,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第一映射模块6,用于建立所述任务与所述n个执行单元的映射关系;
所述任务的数量为两个,建立一任务与对应的执行单元的映射关系后,依次建立另一任务与对应的执行单元的映射关系,列表建立模块7,用于依据所述映射关系建立执行单元到任务的映射表。
请参照图8,本发明的实施例六为:
一种基于一致性哈希算法的任务调度机制,与上述实施例五的区别在于,还包括:
第一删除模块8,用于若任务被删除,则清除所述任务与对应执行单元的映射关系;第一更新模块9,用于依据所述映射关系更新所述执行单元到任务的映射表;在所述一致性哈希环上删除所述任务的哈希值。
请参照图9,本发明的实施例七为:
一种基于一致性哈希算法的任务调度机制,与上述实施例五的区别在于,还包括:
第二删除模块10,用于若执行单元被删除,则在所述一致性哈希环上删除所述执行单元的哈希值;
第四获取模块11,用于获取与所述执行单元对应的任务以及所述任务的执行次数n;
第二查找模块12,用于按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
第五获取模块13,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第二映射模块14,用于建立所述任务与所述n个执行单元的映射关系;
第二更新模块15,用于依据所述映射关系更新所述执行单元到任务的映射表。
请参照图10,本发明的实施例八为:
一种基于一致性哈希算法的任务调度系统,与上述实施例五的区别在于,还包括:
新增模块16,用于若新增了执行单元,将新增的执行单元的哈希值分配至一致性哈希环上;
第三查找模块17,用于按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
第六获取模块18,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第三映射模块19,用于建立所述任务与所述n个执行单元的映射关系;
第三更新模块20,用于依据所述映射关系更新所述执行单元到任务的映射表。
综上所述,本发明提供的基于一致性哈希算法的任务调度机制及系统,任务和执行单元之间可以随机匹配,并且,同一个任务可以分配到不同的执行单元,能够满足一个任务执行多次的要求。本发明最终建立执行单元到任务的映射表,从而执行单元能够依据该映射表执行相应的任务。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于一致性哈希算法的任务调度方法,其特征在于,包括:
获取可用的执行单元的哈希值和待执行的任务的哈希值;
将所述执行单元的哈希值和所述任务的哈希值分配至一致性哈希环上;
获取所述任务的执行次数;
按照预设的查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系建立执行单元到任务的映射表。
2.根据权利要求1所述的基于一致性哈希算法的任务调度方法,其特征在于,所述任务的数量为两个以上,建立一任务与对应的执行单元的映射关系后,依次建立其他各任务与各任务对应的执行单元的映射关系,并依据所述映射关系建立执行单元到任务的映射表。
3.根据权利要求1所述的基于一致性哈希算法的任务调度方法,其特征在于,依据所述映射关系建立执行单元到任务的映射表之后,进一步包括:
若任务被删除,则清除所述任务与对应的执行单元的映射关系;依据所述映射关系更新所述执行单元到任务的映射表;在所述一致性哈希环上删除所述任务的哈希值。
4.根据权利要求1所述的基于一致性哈希算法的任务调度方法,其特征在于,依据所述映射关系建立执行单元到任务的映射表之后,进一步包括:
若执行单元被删除,则在所述一致性哈希环上删除所述执行单元的哈希值;
获取与所述执行单元对应的任务以及所述任务的执行次数n;
按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系更新所述执行单元到任务的映射表。
5.根据权利要求1所述的基于一致性哈希算法的任务调度方法,其特征在于,依据所述映射关系建立执行单元到任务的映射表之后,进一步包括:
若新增了执行单元,将新增的执行单元的哈希值分配至一致性哈希环上;
按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
获取与所述n个对应执行单元的哈希值对应的n个执行单元;
建立所述任务与所述n个执行单元的映射关系;
依据所述映射关系更新所述执行单元到任务的映射表。
6.一种基于一致性哈希算法的任务调度系统,其特征在于,包括:
第一获取模块,用于获取可用的执行单元的哈希值和待执行的任务的哈希值;
分配模块,用于将所述哈希值和所述任务的哈希值分配至一致性哈希环上;
第二获取模块,用于获取所述任务的执行次数;第一查找模块,用于按照预设的查找方向在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;所述n的数值与所述执行次数的数值相同;
第三获取模块,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第一映射模块,用于建立所述任务与所述n个执行单元的映射关系;
列表建立模块,用于依据所述映射关系建立执行单元到任务的映射表。
7.根据权利要求6所述的基于一致性哈希算法的任务调度系统,其特征在于,所述任务的数量为两个以上,第一映射模块还用于:在建立一任务与对应的执行单元的映射关系后,依次建立其他各任务与各任务对应的执行单元的映射关系,列表建立模块依据所述映射关系建立执行单元到任务的映射表。
8.根据权利要求6所述的基于一致性哈希算法的任务调度系统,其特征在于,还包括:
第一删除模块,用于若任务被删除,则清除所述任务与对应执行单元的映射关系;第一更新模块,用于依据所述映射关系更新所述执行单元到任务的映射表;在所述一致性哈希环上删除所述任务的哈希值。
9.根据权利要求6所述的基于一致性哈希算法的任务调度系统,其特征在于,还包括:
第二删除模块,用于若执行单元被删除,则在所述一致性哈希环上删除所述执行单元的哈希值;
第四获取模块,用于获取与所述执行单元对应的任务以及所述任务的执行次数n;
第二查找模块,用于按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
第五获取模块,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第二映射模块,用于建立所述任务与所述n个执行单元的映射关系;
第二更新模块,用于依据所述映射关系更新所述执行单元到任务的映射表。
10.根据权利要求6所述的基于一致性哈希算法的任务调度系统,其特征在于,还包括:
新增模块,用于若新增了执行单元,将新增的执行单元的哈希值分配至一致性哈希环上;
第三查找模块,用于按照所述查找方向,在所述一致性哈希环上查找与所述任务的哈希值位置最接近的n个对应执行单元的哈希值;
第六获取模块,用于获取与所述n个对应执行单元的哈希值对应的n个执行单元;
第三映射模块,用于建立所述任务与所述n个执行单元的映射关系;
第三更新模块,用于依据所述映射关系更新所述执行单元到任务的映射表。
CN201610622589.8A 2016-08-02 2016-08-02 基于一致性哈希算法的任务调度方法及系统 Active CN106250226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610622589.8A CN106250226B (zh) 2016-08-02 2016-08-02 基于一致性哈希算法的任务调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610622589.8A CN106250226B (zh) 2016-08-02 2016-08-02 基于一致性哈希算法的任务调度方法及系统

Publications (2)

Publication Number Publication Date
CN106250226A CN106250226A (zh) 2016-12-21
CN106250226B true CN106250226B (zh) 2019-06-18

Family

ID=57605916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610622589.8A Active CN106250226B (zh) 2016-08-02 2016-08-02 基于一致性哈希算法的任务调度方法及系统

Country Status (1)

Country Link
CN (1) CN106250226B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107249029B (zh) * 2017-06-12 2019-09-06 优刻得科技股份有限公司 主动领取任务的方法、工作节点、系统及存储介质
CN108345659B (zh) * 2018-01-31 2020-11-24 平安科技(深圳)有限公司 一种数据处理方法、装置、设备及计算机可读存储介质
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度系统及方法
CN110351313B (zh) * 2018-04-02 2022-02-22 武汉斗鱼网络科技有限公司 数据缓存方法、装置、设备及存储介质
CN109753593A (zh) * 2018-12-29 2019-05-14 广州极飞科技有限公司 喷洒作业任务调度方法及无人机
CN110457128B (zh) * 2019-07-11 2023-12-22 创新先进技术有限公司 任务分配方法、装置和系统
CN110392109B (zh) * 2019-07-23 2021-09-07 浪潮软件股份有限公司 基于cmsp流程编排的任务调度方法及系统
CN112380288A (zh) * 2020-11-16 2021-02-19 林亮 去中心化分布式数据处理系统
CN114095565B (zh) * 2021-11-18 2023-08-29 税友信息技术有限公司 一种服务发现方法、装置、设备及介质
CN117407146B (zh) * 2023-12-14 2024-03-08 江苏金恒信息科技股份有限公司 基于哈希算法满足时序性的调度方法、系统、介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2122966A1 (en) * 2007-02-22 2009-11-25 Telefonaktiebolaget LM Ericsson (publ) Consistent and fault tolerant distributed hash table (dht) overlay network
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN102831120A (zh) * 2011-06-15 2012-12-19 腾讯科技(深圳)有限公司 一种数据处理方法及系统
CN104301425A (zh) * 2014-10-24 2015-01-21 南方电网科学研究院有限责任公司 基于对象类型和哈希环的对象注册中心服务集群实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882981B (zh) * 2012-10-19 2015-01-28 南京邮电大学 一种对等结构云平台下节点任务的负载均衡方法
CN104424229B (zh) * 2013-08-26 2019-02-22 腾讯科技(深圳)有限公司 一种多维度拆分的计算方法及系统
US9699085B2 (en) * 2014-11-13 2017-07-04 Cisco Technology, Inc. Periodic advertisements of host capabilities in virtual cloud computing infrastructure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2122966A1 (en) * 2007-02-22 2009-11-25 Telefonaktiebolaget LM Ericsson (publ) Consistent and fault tolerant distributed hash table (dht) overlay network
CN102831120A (zh) * 2011-06-15 2012-12-19 腾讯科技(深圳)有限公司 一种数据处理方法及系统
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN104301425A (zh) * 2014-10-24 2015-01-21 南方电网科学研究院有限责任公司 基于对象类型和哈希环的对象注册中心服务集群实现方法

Also Published As

Publication number Publication date
CN106250226A (zh) 2016-12-21

Similar Documents

Publication Publication Date Title
CN106250226B (zh) 基于一致性哈希算法的任务调度方法及系统
US10691716B2 (en) Dynamic partitioning techniques for data streams
CN105956166B (zh) 数据库读写方法和读写装置
JP6893284B2 (ja) リソーススケジューリング方法、スケジューリングサーバ、クラウドコンピューティングシステム、及び記憶媒体
US9875259B2 (en) Distribution of an object in volatile memory across a multi-node cluster
CN105138679B (zh) 一种基于分布式缓存的数据处理系统及处理方法
CN108564164B (zh) 一种基于spark平台的并行化深度学习方法
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
US10908834B2 (en) Load balancing for scalable storage system
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
CN104537013B (zh) 一种处理数据的方法和装置
CN108287660A (zh) 数据存储方法和设备
CN107451853B (zh) 一种红包实时派发的方法、装置、系统及存储介质
CN103793273A (zh) 一种基于Redis的分布式队列调度方法及装置
US20150019680A1 (en) Systems and Methods for Consistent Hashing Using Multiple Hash Rlngs
CN108897876A (zh) 一种数据接入方法及装置
CN109388351A (zh) 一种分布式数据存储的方法及相关装置
CN105956032A (zh) 缓存数据同步方法、系统和装置
CN111522811B (zh) 数据库的处理方法及装置、存储介质、终端
CN104376096A (zh) 基于缓冲区的异步更新的方法
CN109145053A (zh) 数据处理方法和装置、客户端、服务器
US9805109B2 (en) Computer, control device for computer system, and recording medium
US8341368B2 (en) Automatic reallocation of structured external storage structures
CN107483640A (zh) 一种缓存更新方法、服务器及业务系统
CN107180034A (zh) MySQL数据库的集群系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 350200 Dahe Village, Hunan Town, Changle District, Fuzhou City, Fujian Province

Applicant after: Fujian Hua Yu Education Technology Co., Ltd.

Address before: 350212 Dahe Village, Hunan Town, Changle City, Fuzhou City, Fujian Province

Applicant before: Fujian Hua Yu Future Education Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant