CN117407146B - 基于哈希算法满足时序性的调度方法、系统、介质及设备 - Google Patents
基于哈希算法满足时序性的调度方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN117407146B CN117407146B CN202311713316.0A CN202311713316A CN117407146B CN 117407146 B CN117407146 B CN 117407146B CN 202311713316 A CN202311713316 A CN 202311713316A CN 117407146 B CN117407146 B CN 117407146B
- Authority
- CN
- China
- Prior art keywords
- node
- task
- grouping
- packets
- hash
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004883 computer application Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及计算机应用技术领域,提供一种基于哈希算法满足时序性的调度方法、系统、介质及设备,方法包括采用任务分组策略对任务进行分组,得到第一分组;利用哈希算法计算取模值;根据取模值对多个第一分组进行二次分组,得到第二分组;将多个第二分组和虚拟节点分配至哈希环上;根据第二分组的取模值与虚拟节点的节点值的关系,利用哈希任务调度器对多个第二分组进行调度。本申请中,哈希算法满足同类任务时序一致性,任务分组技术减少了系统调度次数,减少系统运行所需资源。调度器实现了同类任务发送至同一任务执行节点,从而保证同类任务执行的按时序执行的要求。提升任务调度服务的稳定性,并有效保证物联网数据采集和计算任务的时序性。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种基于哈希算法满足时序性的调度方法、系统、介质及设备。
背景技术
物联网平台大多面临海量高频数据的采集和判断场景,在物联网平台的数据采集和判断场景需要有一套完善的高频率计算的任务调度作为基础支撑。
目前主流的任务调度框架主要采用分布式任务调度技术实现调度任务的多并发计算,利用更多的任务节点实现更高的任务并发。调度策略主要采用轮询调度和随机调度两种策略,利用两类调度策略实现各节点计算任务的均衡。物联网场景下单个任务计算量小但任务数量很多,且很多任务在短周期(例如毫秒或秒级)内需要持续重复执行。
但是,分布式任务调度架构存在两个问题:1.物联网任务调度场景任务调度负载太大,可能会达到每秒几万甚至几十万次,造成任务调度系统的稳定性存在严重问题。2.物联网场景的采集和计算的调度需要保证同一点位计算或同一计算任务的时序性,先触发的任务先行计算,因此,目前的任务调度框架无法保证任务的时序性。
发明内容
本申请提供了一种基于哈希算法满足时序性的调度方法、系统、介质及设备,以解决现有调度任务架构调度稳定性差且无法保证时序性的技术问题。
本申请第一方面提供一种基于哈希算法满足时序性的调度方法,包括:采用任务分组策略对任务进行分组,得到多个第一分组;利用哈希算法计算多个所述第一分组的取模值;根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组;建立多个虚拟节点,将多个所述第二分组和所述虚拟节点分配至哈希环上;其中,任意一个所述第二分组位于两个所述虚拟节点之间;根据多个所述第二分组的取模值与多个所述虚拟节点的节点值的关系,利用哈希任务调度器对多个所述第二分组进行调度。
在一种可实现的方式中,所述任务分组策略按照所述任务的触发时序进行分组,执行周期T=K1·t,其中,K1为调度系数,取值范围为0.1-0.5,t为一个周期执行的时间。
在一种可实现的方式中,所述采用任务分组策略对任务进行分组,包括:所述第一分组的任务数N=M/1000·K2,其中,M为当前任务并发数,K2为计算系数,取值范围为0.5-2。
在一种可实现的方式中,所述根据所述取模值对所述第一分组进行二次分组,得到多个第二分组,包括:将所述取模值一致的多个所述第一分组分在相同的所述第二分组内。
在一种可实现的方式中,所述根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,利用哈希任务调度器对多个所述第二分组进行调度,包括:比较所述第二分组的取模值与相邻两个所述虚拟节点的节点值的大小;利用哈希任务调度器将所述第二分组分配至目标节点;其中,所述目标节点为所述节点值与所述取模值的差值小的所述虚拟节点;根据所述目标节点找到与其对应的物理节点信息,并将所述第二分组调度至目标物理节点进行计算,其中,所述目标物理节点为包含所述物理节点信息的节点。
在一种可实现的方式中,所述方法还包括,根据所述目标物理节点执行多个所述第二分组中的任务。
本申请第二方面提供一种基于哈希算法满足时序性的调度系统,所述系统包括:分组模块,被配置为:采用任务分组策略对任务进行分组,得到多个第一分组;计算模块,被配置为:利用哈希算法计算多个所述第一分组的取模值;所述分组模块还被配置为:根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组;分配模块,被配置为:建立多个虚拟节点,将多个所述第二分组和多个所述虚拟节点分配至哈希环上;其中,任意一个所述第二分组位于两个所述虚拟节点之间;哈希任务调度器:根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,对多个所述第二分组进行调度。
在一种可实现的方式中,所述哈希任务调度器还被配置为:比较所述第二分组的取模值与相邻两个所述虚拟节点的节点值的大小;利用哈希任务调度器将所述第二分组分配至目标节点;其中,所述目标节点为所述节点值与所述取模值的差值小的所述虚拟节点;根据所述目标节点找到与其对应的物理节点信息,并将所述第二分组调度至目标物理节点进行计算,所述目标物理节点为包含所述物理节点信息的节点。
本申请第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于哈希算法满足时序性的调度方法的步骤。
本申请第四方面提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面所述的基于哈希算法满足时序性的调度方法。
本申请提供的基于哈希算法满足时序性的调度方法、系统、介质及设备,方法包括采用任务分组策略对任务进行分组,得到第一分组;利用哈希算法计算第一分组的取模值;根据取模值对多个第一分组进行二次分组,得到第二分组;建立虚拟节点,将多个第二分组和虚拟节点分配至哈希环上;根据第二分组的取模值与虚拟节点的节点值的关系,利用哈希任务调度器对多个第二分组进行调度。本申请中,哈希算法满足同类任务时序一致性,任务分组技术减少了系统调度次数,减少系统运行所需资源。调度器实现了同类任务发送至同一任务执行节点,从而保证同类任务执行的按时序执行的要求。提升任务调度服务的稳定性,该方法对于海量物联网采集和计算场景可以有效的提升任务调度效率,提升任务调度服务的稳定性,并有效保证物联网数据采集和计算任务的时序性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有分布式任务调度框架设计的技术架构图;
图2是本申请实施例提供的一种基于哈希算法满足时序性的调度方法的流程示意图;
图3是本申请实施例提供的第一分组的分组示意图;
图4是本申请实施例提供的调度方法的框架图;
图5是本申请实施例提供的哈希环的示意图之一;
图6是本申请实施例提供的哈希环的示意图之二;
图7是本申请实施例提供的对第二分组进行调度的方法流程示意图;
图8是本申请实施例提供的调度系统的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述。显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的其他实施例,都属于本申请的保护范围。
以下,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
此外,本申请中,“上”、“下”、“内”、“外”等方位术语是相对于附图中的部件示意置放的方位来定义的,应当理解到,这些方向性术语是相对的概念,它们用于相对于的描述和澄清,其可以根据附图中部件所放置的方位的变化而相应地发生变化。
图1是现有分布式任务调度框架设计的技术架构图。
参见图1,针对当前物联网任务调度过程中,采用图1所示的架构进行调度过程中,存在以下问题:
(1)超高频的任务调度导致整体计算系统存在稳定性风险。
由于需要经过实时计算的任务调度频率太高,每秒调度次数会高达几万次甚至几十万次,单个的任务调度每次调度需要单独开启调度线程。
按照每个任务调度运行时间为2-3毫秒计算,单核CPU(Central ProcessingUnit,中央处理器)最大调度次数约300-500次。那么10万次调度次数需要200-300多核心数,目前主流CPU无法满足。
因此,超高频次的计算将导致任务调度系统很不稳定,任务调度系统的稳定性将直接影响整体采集和计算系统的稳定性。
(2)无法保证同一点位计算或同一计算任务的时序性。
物联网场景的采集和计算的调度需要保证同一点位计算或同一计算任务的时序性,先触发的任务先行计算。
参见图1,根据架构图所示,经过任务调度后,TASK2-1执行和TASK2-2的执行分散到两台计算节点计算,由于计算节点2中,TASK3-1和TASK4-1计算结束的更早,导致TASK2-2比TASK2-1更早执行。提早执行的时间如图1所示的t1。
因此,同一点位计算或同一计算任务的时序性的错乱会导致计算结果的错乱,计算结果无法保证准确性。
为了解决上述技术问题的存在,本申请实施例提供一种基于哈希算法满足时序性的调度方法。
图2是本申请实施例提供的一种基于哈希算法满足时序性的调度方法的流程示意图。
图3是本申请实施例提供的第一分组的分组示意图。
参见图2,本申请实施例提供的调度方法由以下步骤S100-S500所实现。
步骤S100:采用任务分组策略对任务进行分组,得到多个第一分组。
参见图3,在分组前,存在多个待分组任务。以图中的八个为例,实质上待分组任务的数量很多,包含成千上万个,甚至更多。图3中仅为示意性展示调度方法并非限定任务数量。
其中,图3中的待分组任务包括TASK1-1,TASK2-1,TASK3-1,TASK4-1,TASK1-2,TASK2-2,TASK3-2和TASK4-2。
在步骤S100中,任务分组策略包括按照任务的触发时序进行分组。具体地,为了减少任务调度压力,减少任务调度频次,采用任务分组的方式。为了保证任务分组的整体执行的时序性,进行任务分组时需要根据任务进入待调度任务队列的先后时序进行分组,先进入待调度任务对列的先进入任务分组。结合图3可以看出,TASK1-1比TASK2-1先进入待调度任务对列。
在执行任务分组的过程中,为了减少因为任务分组引起的任务执行延时,需要计算执行周期,结合CPU的最小高精度时间切片设计分组算法执行周期。也就是说,任务分组策略还可以包括按照任务的计算周期进行分组。
具体的,执行周期为T,T=K1·t,其中,K1为调度系数,设定值范围0.1-0.5,t为一个任务执行的时间,单位为毫秒。
值得注意的是,当T值小于50ms时,取值为50ms。
继续结合图3,在将多个待分组任务按照任务分组策略进行分组后,得到多个第一分组,如图3中所示的第一分组A和第一分组B。
其中,每个第一分组中的任务数计算公式为N=M/1000·K2,M为当前任务并发数,K2为设定值0.5-2。每个周期从任务队列拉取所有的待调度任务队列的任务,并按照计算值N对任务按照时序进行分组。也就是说,任务分组策略还可以包括按照每秒任务并发数进行分组。
步骤S200:利用哈希算法计算多个第一分组的取模值。
具体的,为了保证同类型任务按照时序进行任务调度,利用哈希一致性算法对步骤S100中分组后的第一分组中的任务进行二次分组。结合图3中,分别对第一分组中多个任务的取模值进行计算。示例的,对第一分组A中TASK1-1,TASK2-1,TASK3-1,TASK4-1的取模值进行计算。对第一分组B中TASK1-2,TASK2-2,TASK3-2,TASK4-2的取模值进行计算。
步骤S300:根据取模值对多个第一分组进行二次分组,得到多个第二分组。
使用哈希算法对第一分组的任务分组进行哈希取模计算,并将取模值一致的进行归类行程基于哈希算的任务细分组并保存各任务细分组的取模值。
图4是本申请实施例提供的调度方法的框架图。
参见图4,在哈希分组框架栏中,原本位于第一分组A内的TASK1-1,TASK2-1,TASK3-1,TASK4-1通过哈希一致性算法,将四个任务分在不同的第二分组内。具体的,将取模值一致的多个第一分组分在相同的第二分组内。其中,TASK1-1和TASK3-1的取模值相同,TASK2-1和TASK4-1的取模值相同。那么分组后,如图4中所示的,TASK1-1和TASK3-1被分在第二分组A中,TASK2-1和TASK4-1被分在第二分组B中。
步骤S400:建立虚拟节点,将多个第二分组和多个虚拟节点分配至哈希环上。
图5是本申请实施例提供的哈希环的示意图之一。
参见图5,在步骤S400完成之后,需要采用任务调度器对第二分组的任务进行调度。首先,在每个任务接入调度器之后,会将每个任务执行节点虚拟为一组节点。节点1和节点2各虚拟出4个节点,一共8个虚拟节点,分别为虚拟节点1(节点1)、虚拟节点2(节点2)、虚拟节点3(节点1)、虚拟节点4(节点2)、虚拟节点5(节点1)、虚拟节点6(节点2)、虚拟节点7(节点1)、虚拟节点8(节点2)。其中,虚拟节点的数量也是与TASK的任务数对应的。其中,采用虚拟节点技术可以使节点分布更均匀。
图6是本申请实施例提供的哈希环的示意图之二。
参见图6,将多个第二分组分配至哈希环上。具体为,将第二分组A、第二分组B、第二分组C和第二分组D分配至哈希环上。其中,任意一个第二分组位于两个虚拟节点之间。
示例的,第二分组A位于虚拟节点3(节点1)与虚拟节点2(节点2)之间。
步骤S500:根据多个第二分组的取模值与虚拟节点的节点值的关系,利用哈希任务调度器对多个第二分组进行调度。
图7是本申请实施例提供的对第二分组进行调度的方法流程示意图。
参见图7,步骤S500由以下步骤S501-S503所实现。
步骤S501:比较第二分组的取模值与相邻两个虚拟节点的节点值的大小。
具体地,哈希任务调度器可以根据第二分组的取模值与左右两侧的虚拟节点的节点值进行比较。
继续结合图6为例,第二分组A位于虚拟节点3(节点1)与虚拟节点2(节点2)之间。哈希任务调度器将第二分组A的取模值,与左右两侧的虚拟节点3(节点1)与虚拟节点2(节点2)的节点值进行比较。
步骤S502:利用哈希任务调度器将第二分组分配至目标节点。其中,目标节点为节点值与取模值的差值小的虚拟节点。
具体的,在对第二分组A、虚拟节点3(节点1)与虚拟节点2(节点2)的节点值进行比较时,结合图6可以看出,在虚拟节点3(节点1)与虚拟节点2(节点2)中,第二分组A更靠近虚拟节点3(节点1),也就是说,第二分组A与虚拟节点3(节点1)的节点值的差值更小。
这样,将第二分组A分配至与虚拟节点3(节点1)中。此时,虚拟节点3(节点1)为目标节点。
步骤S503:根据目标节点找到与其对应的物理节点信息,并将第二分组调度至目标物理节点进行计算,其中,目标物理节点为包含该物理节点信息的节点。
可以理解的是,虚拟节点3(节点1)实质上是一个虚拟节点,无法对调入的第二分组内的任务进行计算,那么此时,找到与目标节点对应的物理节点信息,并将第二分组调度至包含该物理节点信息的目标物理节点进行计算,也就是说将第二分组调度至实际的物理节点中。
继续结合图4所示,第二分组A和第二分组C位于任务执行节点1任务列队中,第二分组B和第二分组D位于任务执行节点2任务列队中。其中,任务执行节点1和任务执行节点2均为上述提到的目标物理节点。
在一些实施例中,在步骤S500执行完毕之后,本申请实施例提供的调度方法还包括:
步骤S600:根据目标物理节点执行多个第二分组中的任务。
继续结合图4,在确定完目标物理节点之后,根据目标物理节点执行第二分组A、第二分组C、第二分组B和第二分组D中的任务。
示例的,第二分组A和第二分组C位于任务执行节点1的列队中。那么节点1的执行时序为TASK1-1、TASK3-1、TASK1-2、TASK3-2。
示例的,第二分组B和第二分组D位于任务执行节点2的列队中。那么节点2的执行时序为TASK2-1、TASK4-1、TASK2-2、TASK4-2。
这样,根据节点1和节点2的执行时序就不会出现先进入的任务后执行的技术问题了。
具体的,本申请实施例提供的基于哈希算法满足时序性的调度方法,使用任务分组技术减少了系统调度次数减少系统运行所需资源。利用基于哈希的任务调度器实现了同类任务发送至同一任务执行节点,从而保证同类任务执行的按时序执行的要求。该方法对于海量物联网采集和计算场景可以有效的提升任务调度效率,提升任务调度服务的稳定性,并有效保证物联网数据采集和计算任务的时序性。
与前述基于哈希算法满足时序性的调度方法的实施例相对应,本申请还提供了基于哈希算法满足时序性的调度系统200的实施例。图8是本申请实施例提供的调度系统的示意图。
参见图8,该调度系统200包括分组模块201、计算模块202、分配模块203和哈希任务调度器204。
其中,分组模块201被配置为:采用任务分组策略对任务进行分组,得到多个第一分组。还被配置为根据取模值对多个第一分组进行二次分组,得到多个第二分组。
具体的,结合图4所示,分组模块采用任务分组策略对待分组任务进行分组,得到第一分组A和第一分组B。然后进行二次分组,得到第二分组A、第二分组B、第二分组C和第二分组D。
计算模块202被配置为:利用哈希算法计算多个第一分组的取模值。
分配模块203被配置为:建立虚拟节点,将多个第二分组和虚拟节点分配至哈希环上;其中,任意一个第二分组位于两个虚拟节点之间。
具体的,结合图5和图6所示,将虚拟节点和多个第二分组分配至哈希环上。
哈希任务调度器204:根据多个第二分组的取模值与虚拟节点的节点值的关系,对多个第二分组进行调度。
具体的,哈希任务调度器204还被配置为:比较第二分组的取模值与相邻两个虚拟节点的节点值的大小;利用哈希任务调度器204将第二分组分配至目标节点;其中,目标节点为节点值与取模值的差值小的虚拟节点;根据目标节点找到与其对应的物理节点信息,并将第二分组调度至目标物理节点进行计算,其中,目标物理节点包含物理节点信息。
具体的,在对第二分组A位于虚拟节点3(节点1)与虚拟节点2(节点2)的节点值进行比较时,结合图6可以看出,在虚拟节点3(节点1)与虚拟节点2(节点2)中,第二分组A更靠近虚拟节点3(节点1),也就是说,第二分组A与虚拟节点3(节点1)的节点值的差值更小。
这样,将第二分组A分配至与虚拟节点3(节点1)中。此时,虚拟节点3(节点1)为目标节点。
具体的,本申请实施例提供的基于哈希算法满足时序性的调度系统,用于执行上述实施例提供的调度方法,使用任务分组技术减少了系统调度次数,减少系统运行所需资源。利用基于哈希的任务调度器实现了同类任务发送至同一任务执行节点,从而保证同类任务执行的按时序执行的要求。该方法对于海量物联网采集和计算场景可以有效的提升任务调度效率,提升任务调度服务的稳定性,并有效保证物联网数据采集和计算任务的时序性。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的基于哈希算法满足时序性的调度方法的步骤。
本申请实施例还提供一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行所述计算机程序时实现本申请实施例提供的基于哈希算法满足时序性的调度方法。
需要说明的是,本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (8)
1.一种基于哈希算法满足时序性的调度方法,其特征在于,包括:
采用任务分组策略对任务进行分组,得到多个第一分组;其中,所述采用任务分组策略对任务进行分组,包括:按照所述任务的触发时序进行分组;
利用哈希算法计算多个所述第一分组的取模值;
根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组;
建立多个虚拟节点,将多个所述第二分组和多个所述虚拟节点分配至哈希环上;其中,任意一个所述第二分组位于两个所述虚拟节点之间;
根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,利用哈希任务调度器对多个所述第二分组进行调度,包括:比较所述第二分组的取模值与相邻两个所述虚拟节点的节点值的大小;
利用哈希任务调度器将所述第二分组分配至目标节点;其中,所述目标节点为所述节点值与所述取模值的差值小的所述虚拟节点;
根据所述目标节点找到与其对应的物理节点信息,并将所述第二分组调度至目标物理节点进行计算,其中,所述目标物理节点为包含所述物理节点信息的节点。
2.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,
任务分组的执行周期T=K1·t,其中,K1为调度系数,取值范围为0.1-0.5,t为一个周期执行的时间。
3.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述采用任务分组策略对任务进行分组,包括:
所述第一分组的任务数N=M/1000·K2,其中,M为当前任务并发数,K2为计算系数,取值范围为0.5-2。
4.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组,包括:
将所述取模值一致的多个所述第一分组分在相同的所述第二分组内。
5.根据权利要求4所述的基于哈希算法满足时序性的调度方法,其特征在于,所述方法还包括:
根据所述目标物理节点执行多个所述第二分组中的任务。
6.一种基于哈希算法满足时序性的调度系统,其特征在于,所述系统包括:
分组模块,被配置为:采用任务分组策略对任务进行分组,得到多个第一分组;其中,所述采用任务分组策略对任务进行分组,包括:按照所述任务的触发时序进行分组;
计算模块,被配置为:利用哈希算法计算多个所述第一分组的取模值;
所述分组模块还被配置为:根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组;
分配模块,被配置为:建立多个虚拟节点,将多个所述第二分组和多个所述虚拟节点分配至哈希环上;其中,任意一个所述第二分组位于两个所述虚拟节点之间;
哈希任务调度器:根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,对多个所述第二分组进行调度;
所述哈希任务调度器还被配置为:比较所述第二分组的取模值与相邻两个所述虚拟节点的节点值的大小;
利用哈希任务调度器将所述第二分组分配至目标节点;其中,所述目标节点为所述节点值与所述取模值的差值小的所述虚拟节点;
根据所述目标节点找到与其对应的物理节点信息,并将所述第二分组调度至目标物理节点进行计算,其中,所述目标物理节点为包含所述物理节点信息的节点。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的基于哈希算法满足时序性的调度方法的步骤。
8.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的基于哈希算法满足时序性的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311713316.0A CN117407146B (zh) | 2023-12-14 | 2023-12-14 | 基于哈希算法满足时序性的调度方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311713316.0A CN117407146B (zh) | 2023-12-14 | 2023-12-14 | 基于哈希算法满足时序性的调度方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407146A CN117407146A (zh) | 2024-01-16 |
CN117407146B true CN117407146B (zh) | 2024-03-08 |
Family
ID=89500231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311713316.0A Active CN117407146B (zh) | 2023-12-14 | 2023-12-14 | 基于哈希算法满足时序性的调度方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407146B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250226A (zh) * | 2016-08-02 | 2016-12-21 | 福建华渔未来教育科技有限公司 | 基于一致性哈希算法的任务调度机制及系统 |
CN107797865A (zh) * | 2017-10-20 | 2018-03-13 | 华为软件技术有限公司 | 用户任务处理方法及应用服务器 |
US10061613B1 (en) * | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
CN112231079A (zh) * | 2020-09-27 | 2021-01-15 | 武汉物易云通网络科技有限公司 | 一种基于缓冲队列和哈希环的任务调度方法和装置 |
CN113342897A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 一种数据同步的方法及装置 |
CN113596094A (zh) * | 2021-06-29 | 2021-11-02 | 付腾瑶 | 一种基于云集群的负载均衡方法及装置 |
CN113672358A (zh) * | 2020-05-15 | 2021-11-19 | 北京沃东天骏信息技术有限公司 | 定时任务处理方法及装置、系统、电子设备和存储介质 |
CN115113997A (zh) * | 2022-06-17 | 2022-09-27 | 云知声智能科技股份有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
CN115842860A (zh) * | 2023-02-28 | 2023-03-24 | 江苏金恒信息科技股份有限公司 | 一种针对数据链路的监控方法、装置及系统 |
CN116339623A (zh) * | 2023-02-23 | 2023-06-27 | 北京奇艺世纪科技有限公司 | 一种基于一致性哈希算法的数据存储方法及装置 |
CN117221324A (zh) * | 2023-11-09 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 云服务器的创建任务分发方法、装置、电子设备及介质 |
-
2023
- 2023-12-14 CN CN202311713316.0A patent/CN117407146B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250226A (zh) * | 2016-08-02 | 2016-12-21 | 福建华渔未来教育科技有限公司 | 基于一致性哈希算法的任务调度机制及系统 |
US10061613B1 (en) * | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
CN107797865A (zh) * | 2017-10-20 | 2018-03-13 | 华为软件技术有限公司 | 用户任务处理方法及应用服务器 |
CN113672358A (zh) * | 2020-05-15 | 2021-11-19 | 北京沃东天骏信息技术有限公司 | 定时任务处理方法及装置、系统、电子设备和存储介质 |
CN112231079A (zh) * | 2020-09-27 | 2021-01-15 | 武汉物易云通网络科技有限公司 | 一种基于缓冲队列和哈希环的任务调度方法和装置 |
CN113342897A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 一种数据同步的方法及装置 |
CN113596094A (zh) * | 2021-06-29 | 2021-11-02 | 付腾瑶 | 一种基于云集群的负载均衡方法及装置 |
CN115113997A (zh) * | 2022-06-17 | 2022-09-27 | 云知声智能科技股份有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
CN116339623A (zh) * | 2023-02-23 | 2023-06-27 | 北京奇艺世纪科技有限公司 | 一种基于一致性哈希算法的数据存储方法及装置 |
CN115842860A (zh) * | 2023-02-28 | 2023-03-24 | 江苏金恒信息科技股份有限公司 | 一种针对数据链路的监控方法、装置及系统 |
CN117221324A (zh) * | 2023-11-09 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 云服务器的创建任务分发方法、装置、电子设备及介质 |
Non-Patent Citations (3)
Title |
---|
EclipseMR: Distributed and Parallel Task Processing with Consistent Hashing;Vicente A. B. Sanchez等;《2017 IEEE International Conference on Cluster Computing (CLUSTER)》;20170925;第322-332页 * |
分布式虚拟卷存储系统的设计与实现;徐矗;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200715;I137-63 * |
基于OpenStack的负载均衡算法研究;龚传根;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200515(第5期);I138-8 * |
Also Published As
Publication number | Publication date |
---|---|
CN117407146A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
US9390130B2 (en) | Workload management in a parallel database system | |
CN110166282B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
EP2382554B1 (en) | System and methods for allocating shared storage resources | |
CN108845874B (zh) | 资源的动态分配方法及服务器 | |
CN109617826B (zh) | 一种基于布谷鸟搜索的storm动态负载均衡方法 | |
CN102902587B (zh) | 分布式任务调度方法、系统和装置 | |
KR101651871B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
CN111367630A (zh) | 一种基于云计算的多用户多优先级的分布式协同处理方法 | |
CN103699433B (zh) | 一种于Hadoop平台中动态调整任务数目的方法及系统 | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
US20230244537A1 (en) | Efficient gpu resource allocation optimization method and system | |
CN112698943A (zh) | 资源分配方法、装置、计算机设备以及存储介质 | |
CN107291544A (zh) | 任务调度的方法及装置、分布式任务执行系统 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
CN111796933A (zh) | 资源调度方法、装置、存储介质和电子设备 | |
CN114691372A (zh) | 一种多媒体端边云系统的群体智能控制方法 | |
CN117407146B (zh) | 基于哈希算法满足时序性的调度方法、系统、介质及设备 | |
CN115640113A (zh) | 多平面弹性调度方法 | |
CN111555987B (zh) | 限流配置方法、装置、设备及计算机存储介质 | |
JP4121525B2 (ja) | リソース利用率を制御する方法およびコンピュータシステム | |
CN115914237A (zh) | 一种边缘环境下的深度学习任务调度方法、设备及介质 | |
CN110928649A (zh) | 资源调度的方法和装置 | |
CN115941622A (zh) | 一种带宽调节方法、系统、设备及存储介质 | |
CN114968512A (zh) | 一种基于区块链智能合约的能量感知调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |