一种分布式系统下执行定时任务的配置方法及系统技术方案

技术编号:14140691 阅读:159 留言:0更新日期:2016-12-10 16:18
本发明专利技术公开一种分布式系统下执行定时任务的配置方法,服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用spring security来保证数据的操作权限,避免数据被末授权的用户访问和修改,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑。本发明专利技术还提供了一种分布式系统下执行定时任务的配置系统。

【技术实现步骤摘要】

本专利技术属于数据库应用的
,具体地涉及一种分布式系统下执行定时任务的配置方法,以及配置系统。
技术介绍
在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。分布式系统下执行定时任务的配置技术用于分布式系统下的定时任务的调度,淘宝tbschedule、当当网Elastic-Job、tbschedule使用了java的Timer来完成任务的调度,配置策略不是很灵活。当当Elastic-Job的机理是通过客户端quartz来触发任务,通过在zk中设置相关标记来调度各节点执行任务。这些技术的共同缺点如下:1、代码量庞大,复杂,不便于定制扩展,使用不方便;2、有一些bug没有修复,或没有考虑到;3、系统依赖quartz,从而限制了其必须在java平台上使用。
技术实现思路
为克服现有技术的不足,本专利技术提供一种分布式系统下执行定时任务的配置方法及其配置系统。本专利技术的技术解决方案是:所述分布式系统下执行定时任务的配置方法为:服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用spring security来保证数据的操作权限,避免数据被末授权的用户访问和修改,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑。本专利技术的服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑;因此解决分布式系统下任务调度问题,能够在多语言模式下进行任务调度,能够执行情况查看、手工触发任务、动态更新任务、删除任务,充分利用机器的性能,并且避免单点部署时任务节点故障出现的问题,实现任务节点和任务中心弹性升缩。更进一步地,所述服务发现工具为zk或consul。更进一步地,客户端将节点自身注册为java或python版的任务节点。更进一步地,该方法包括以下步骤:(1)在任务中心配置任务;(2)Quartz动态添加或者个性任务配置;(3)Quartz触发配置过的任务,执行本地的任务;(4)本地任务通过写redis获取本次任务的执行资格,写成功的负责调度此次任务;(5)本地任务从注册中心读取该任务的存活节点;(6)本地任务按照任务分片信息进行各任务节点的任务分配;(7)本地任务按照客户端网络配置发送相应的任务请求到任务节点;(8)任务节点收到请求后响应已收到任务请求,并在服务端执行此任务;(9)服务端任务执行完毕;(10)任务节点执行完毕后,将任务结果回送给任务中心。更进一步地,所述步骤(3)中,轻量级的本地任务调用客户端的实际任务。更进一步地,所述步骤(7)中,任务请求为自定义二进制消息或http请求。本专利技术还提供了一种分布式系统下执行定时任务的配置系统,其包括:服务端,其配置为分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用spring security来保证数据的操作权限,避免数据被末授权的用户访问和修改,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端,其配置来将节点自身注册为任务节点,处理任务逻辑。本专利技术克服现有技术的不足,能解决分布式系统下任务调度问题,能够在多语言模式下进行任务调度,能够执行情况查看、手工触发任务、动态更新任务、删除任务,充分利用机器的性能,并且避免单点部署时任务节点故障出现的问题,实现任务节点和任务中心弹性升缩。附图说明图1为根据本专利技术的分布式系统下执行定时任务的配置方法的一个优选实施例的流程图;图2示出了根据本专利技术的目前系统中注册的任务;图3示出了根据本专利技术的添加任务;图4示出了根据本专利技术的添加任务,http或https方式配置;图5示出了根据本专利技术的添加任务,分片配置;图6示出了根据本专利技术的修改任务。具体实施方式这种分布式系统下执行定时任务的配置方法,服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用spring security来保证数据的操作权限,避免数据被末授权的用户访问和修改,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑。本专利技术的服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑;因此解决分布式系统下任务调度问题,能够在多语言模式下进行任务调度,能够执行情况查看、手工触发任务、动态更新任务、删除任务,充分利用机器的性能,并且避免单点部署时任务节点故障出现的问题,实现任务节点和任务中心弹性升缩。目前已经在线上执行的实例有用户中心,行情宝,渔联网。图2示出了根据本专利技术的目前系统中注册的任务;图3示出了根据本专利技术的添加任务;图4示出了根据本专利技术的添加任务,http或https方式配置;图5示出了根据本专利技术的添加任务,分片配置;图6示出了根据本专利技术的修改任务。客户端配置包括以下:1.配置服务注册中心<bean id=\serviceRegister\class=\com.nxin.framework.core.ZkServiceRegister\init-method=\startUp\destroy-method=\shutDown\p:namespace=\job-center\p:servers=\${zk.address本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201610548631.html" title="一种分布式系统下执行定时任务的配置方法及系统原文来自X技术">分布式系统下执行定时任务的配置方法及系统</a>

【技术保护点】
一种分布式系统下执行定时任务的配置方法,其特征在于:服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用spring security来保证数据的操作权限,避免数据被末授权的用户访问和修改,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑。

【技术特征摘要】
1.一种分布式系统下执行定时任务的配置方法,其特征在于:服务端采用分布式架构,服务端前端使用react来作视图的展现,后端使用spring mvc为前端提供rest数据接口,使用spring security来保证数据的操作权限,避免数据被末授权的用户访问和修改,使用quartz触发配置的任务,使用服务发现工具来动态发现和协调各个机器执行作业,使用redis作为资源竞争的仲裁;客户端将节点自身注册为任务节点,处理任务逻辑。2.根据权利要求1所述的分布式系统下执行定时任务的配置方法,其特征在于:所述服务发现工具为zk或consul。3.根据权利要求2所述的分布式系统下执行定时任务的配置方法,其特征在于:客户端将节点自身注册为java或python版的任务节点。4.根据权利要求3所述的分布式系统下执行定时任务的配置方法,其特征在于:其包括以下步骤:(1)在任务中心配置任务;(2)Quartz动态添加或者个性任务配置;(3)Quartz触发配置过的任务,执行本地的任务;(4)本地任务通过写redis获取本次任务的执行资格,写成功的负责调度此次任务;(5)本地任务从注册中心读取该任...

【专利技术属性】
技术研发人员:易有涛李玉福
申请(专利权)人:北京农信互联科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1