【技术实现步骤摘要】
一种分布式进程调度方法及系统
本专利技术实施例涉及自动运维
,更具体地,涉及一种分布式进程调度方法及系统。
技术介绍
当前互联网业务发展迅速,业务数据具有海量,高并发的特性。业务数据处理既要保证高效性,也要保证准确性和安全性。因此大部分业务逻辑从主流程中剥离通过异步定时调度的方式处理,如工作流,业务短信,批量操作业务等。当前异步定时调度处理方式有线程的while(true)和sleep组合、使用Timer定时器触发任务或者使用quartz框架,其中通过多线程并发模式提高处理效率。但是,现有技术中单机版的定时调度模式的业务处理能力受服务器硬件资源的制约,并且会由于程序或者系统异常导致核心功能瘫痪甚至存在宕机的风险。
技术实现思路
本专利技术实施例提供了一种克服上述问题或者至少部分地解决上述问题的分布式进程调度方法及系统。第一方面本专利技术实施例提供了一种分布式进程调度方法,包括:根据当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,对所述当前任务进行分片得 ...
【技术保护点】
1.一种分布式进程调度方法,其特征在于,包括:/n根据当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,对所述当前任务进行分片得到多个任务项;其中,所述多个任务项的数量与所述可用服务器的数量相等;/n将所述多个任务项一一分配至所述多个可用服务器,并在所述多个可用服务器中分别对所述多个任务项分别进行处理。/n
【技术特征摘要】
1.一种分布式进程调度方法,其特征在于,包括:
根据当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,对所述当前任务进行分片得到多个任务项;其中,所述多个任务项的数量与所述可用服务器的数量相等;
将所述多个任务项一一分配至所述多个可用服务器,并在所述多个可用服务器中分别对所述多个任务项分别进行处理。
2.根据权利要求1所述方法,其特征在于,在根据当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,对所述当前任务进行分片得到多个任务项之前,还包括:
将所述当前任务的Job实例注册至zookeeper组件;
根据所述zookeeper组件上的节点数量,获取所述当前任务对应的Job实例数量。
3.根据权利要求1所述方法,其特征在于,所述根据当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,对所述当前任务进行分片得到多个任务项,具体包括:
根据所述当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,获取对所述当前任务进行分片的分片数量;
将所述当前任务分为所述分片数量的分片项,并将所述分片数量的分片项按预设分配策略划分为所述多个任务项。
4.根据权利要求3所述方法,其特征在于,所述根据所述当前任务对应的Job实例数量、可用服务器的数量以及人为输入参数,获取对所述当前任务进行分片的分片数量,具体包括:
计算所述Job实例数量乘以所述可用服务器的数量的乘积与所述人为输入参数的和或差,得到所述分片数量。
5.根据权利要求3所述方法,其特征在于,所述预设分配策略为平均分配策略、作业名哈希值奇偶数分配策略或轮转分配策略...
【专利技术属性】
技术研发人员:李嘉鼎,
申请(专利权)人:中国移动通信集团上海有限公司,中国移动通信集团有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。