System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机应用,尤其涉及一种基于哈希算法满足时序性的调度方法、系统、介质及设备。
技术介绍
1、物联网平台大多面临海量高频数据的采集和判断场景,在物联网平台的数据采集和判断场景需要有一套完善的高频率计算的任务调度作为基础支撑。
2、目前主流的任务调度框架主要采用分布式任务调度技术实现调度任务的多并发计算,利用更多的任务节点实现更高的任务并发。调度策略主要采用轮询调度和随机调度两种策略,利用两类调度策略实现各节点计算任务的均衡。物联网场景下单个任务计算量小但任务数量很多,且很多任务在短周期(例如毫秒或秒级)内需要持续重复执行。
3、但是,分布式任务调度架构存在两个问题:1.物联网任务调度场景任务调度负载太大,可能会达到每秒几万甚至几十万次,造成任务调度系统的稳定性存在严重问题。2.物联网场景的采集和计算的调度需要保证同一点位计算或同一计算任务的时序性,先触发的任务先行计算,因此,目前的任务调度框架无法保证任务的时序性。
技术实现思路
1、本申请提供了一种基于哈希算法满足时序性的调度方法、系统、介质及设备,以解决现有调度任务架构调度稳定性差且无法保证时序性的技术问题。
2、本申请第一方面提供一种基于哈希算法满足时序性的调度方法,包括:采用任务分组策略对任务进行分组,得到多个第一分组;利用哈希算法计算多个所述第一分组的取模值;根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组;建立多个虚拟节点,将多个所述第二分组和所述虚拟节点分配至哈
3、在一种可实现的方式中,所述任务分组策略按照所述任务的触发时序进行分组,执行周期t=k1·t,其中,k1为调度系数,取值范围为0.1-0.5,t为一个周期执行的时间。
4、在一种可实现的方式中,所述采用任务分组策略对任务进行分组,包括:所述第一分组的任务数n=m/1000·k2,其中,m为当前任务并发数,k2为计算系数,取值范围为0.5-2。
5、在一种可实现的方式中,所述根据所述取模值对所述第一分组进行二次分组,得到多个第二分组,包括:将所述取模值一致的多个所述第一分组分在相同的所述第二分组内。
6、在一种可实现的方式中,所述根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,利用哈希任务调度器对多个所述第二分组进行调度,包括:比较所述第二分组的取模值与相邻两个所述虚拟节点的节点值的大小;利用哈希任务调度器将所述第二分组分配至目标节点;其中,所述目标节点为所述节点值与所述取模值的差值小的所述虚拟节点;根据所述目标节点找到与其对应的物理节点信息,并将所述第二分组调度至目标物理节点进行计算,其中,所述目标物理节点为包含所述物理节点信息的节点。
7、在一种可实现的方式中,所述方法还包括,根据所述目标物理节点执行多个所述第二分组中的任务。
8、本申请第二方面提供一种基于哈希算法满足时序性的调度系统,所述系统包括:分组模块,被配置为:采用任务分组策略对任务进行分组,得到多个第一分组;计算模块,被配置为:利用哈希算法计算多个所述第一分组的取模值;所述分组模块还被配置为:根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组;分配模块,被配置为:建立多个虚拟节点,将多个所述第二分组和多个所述虚拟节点分配至哈希环上;其中,任意一个所述第二分组位于两个所述虚拟节点之间;哈希任务调度器:根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,对多个所述第二分组进行调度。
9、在一种可实现的方式中,所述哈希任务调度器还被配置为:比较所述第二分组的取模值与相邻两个所述虚拟节点的节点值的大小;利用哈希任务调度器将所述第二分组分配至目标节点;其中,所述目标节点为所述节点值与所述取模值的差值小的所述虚拟节点;根据所述目标节点找到与其对应的物理节点信息,并将所述第二分组调度至目标物理节点进行计算,所述目标物理节点为包含所述物理节点信息的节点。
10、本申请第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于哈希算法满足时序性的调度方法的步骤。
11、本申请第四方面提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面所述的基于哈希算法满足时序性的调度方法。
12、本申请提供的基于哈希算法满足时序性的调度方法、系统、介质及设备,方法包括采用任务分组策略对任务进行分组,得到第一分组;利用哈希算法计算第一分组的取模值;根据取模值对多个第一分组进行二次分组,得到第二分组;建立虚拟节点,将多个第二分组和虚拟节点分配至哈希环上;根据第二分组的取模值与虚拟节点的节点值的关系,利用哈希任务调度器对多个第二分组进行调度。本申请中,哈希算法满足同类任务时序一致性,任务分组技术减少了系统调度次数,减少系统运行所需资源。调度器实现了同类任务发送至同一任务执行节点,从而保证同类任务执行的按时序执行的要求。提升任务调度服务的稳定性,该方法对于海量物联网采集和计算场景可以有效的提升任务调度效率,提升任务调度服务的稳定性,并有效保证物联网数据采集和计算任务的时序性。
本文档来自技高网...【技术保护点】
1.一种基于哈希算法满足时序性的调度方法,其特征在于,包括:
2.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述采用任务分组策略对任务进行分组,包括:
3.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述采用任务分组策略对任务进行分组,包括:
4.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组,包括:
5.根据权利要求4所述的基于哈希算法满足时序性的调度方法,其特征在于,所述根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,利用哈希任务调度器对多个所述第二分组进行调度,包括:
6.根据权利要求5所述的基于哈希算法满足时序性的调度方法,其特征在于,所述方法还包括:
7.一种基于哈希算法满足时序性的调度系统,其特征在于,所述系统包括:
8.根据权利要求7所述的基于哈希算法满足时序性的调度系统,其特征在于,
9.一种计算机可读存储介质,其上存储有计算机程
10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的基于哈希算法满足时序性的调度方法。
...【技术特征摘要】
1.一种基于哈希算法满足时序性的调度方法,其特征在于,包括:
2.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述采用任务分组策略对任务进行分组,包括:
3.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述采用任务分组策略对任务进行分组,包括:
4.根据权利要求1所述的基于哈希算法满足时序性的调度方法,其特征在于,所述根据所述取模值对多个所述第一分组进行二次分组,得到多个第二分组,包括:
5.根据权利要求4所述的基于哈希算法满足时序性的调度方法,其特征在于,所述根据多个所述第二分组的取模值与所述虚拟节点的节点值的关系,利用哈希任务调度器对多个所述第二分...
【专利技术属性】
技术研发人员:李井先,李志勇,王苏扬,薛灿,王玮玮,马宁,
申请(专利权)人:江苏金恒信息科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。