CN111984384B - 一种守护类和定时类作业共存调度机制方法及相关装置 - Google Patents
一种守护类和定时类作业共存调度机制方法及相关装置 Download PDFInfo
- Publication number
- CN111984384B CN111984384B CN202010857316.8A CN202010857316A CN111984384B CN 111984384 B CN111984384 B CN 111984384B CN 202010857316 A CN202010857316 A CN 202010857316A CN 111984384 B CN111984384 B CN 111984384B
- Authority
- CN
- China
- Prior art keywords
- attribute information
- job
- timing
- daemon
- attribute
- 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 55
- 230000007246 mechanism Effects 0.000 title claims abstract description 35
- 238000011068 loading method Methods 0.000 claims abstract description 24
- 230000005059 dormancy Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 230000001960 triggered effect Effects 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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种守护类和定时类作业共存调度机制方法及相关装置,来达到同时支持守护类作业和定时类作业工作的同时又做到统一注册、调度和管理。本申请实施例方法包括:根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
Description
技术领域
本申请实施例涉及数据处理领域,特别涉及一种守护类和定时类作业共存调度机制方法及相关装置。
背景技术
目前通信行对***架构的高效、可配置、分布式等方面提出了更高的要求,在应用***中存在着定时类和守护类作业,然而目前的大多数分布式后台调度是仅支持守护类或者仅支持定时类的,两者同时支持的框架较少,即使两者作业类型都支持了,但在管理上并没有做到很完善,支持了两种但没有做到两种作业统一注册、调度和管理。
发明内容
本申请实施例提供了一种守护类和定时类作业共存调度机制方法及相关装置,来达到同时支持守护类作业和定时类作业工作的同时又做到统一注册、调度和管理。
本申请实施例第一方面提供了一种守护类和定时类作业共存调度机制方法,包括:
根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
可选的,所述根据第一作业的作业类型设置第一属性信息还包括:
设置定时线程数大小,所述定时线程数为所述定时类作业在定时线程池中的线程数量。
可选的,所述将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,包括:
将在注册文件上设置好的所述第一属性信息和所述第二属性属性信息统一加载到分布式文件***创建的临时节点中,所述临时节点用于单独存放所述第一属性信息和所述第二属性属性信息,以便对所述第一属性信息和所述第二属性属性信息进行监控。
可选的,在所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例之前,所述方法还包括:
启动定时类作业调度机制;
根据预先创建好的定时线程池,当到达预定时间时,所述定时线程池执行目标作业的代码,所述目标作业执行结束后释放线程,归还所述定时线程池。
可选的,在所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例之前,所述方法还包括:
启动守护类作业调度机制;
所述守护类作业为守护对应的切片,根据获取到的线程数据执行对应的任务,如果所述线程数据为空,则会进行休眠,直到下一次循环再次获取新的线程数据,所述线程被唤醒继续工作。
可选的,所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例,包括:
根据所述第一属性信息和所述第二属性信息,通过简单工厂模式分别创建定时类任务实例和守护类任务实例,所述简单工厂模式根据不同的作业类型创建不同的任务实例,所述任务实例具有共同的属性信息。
可选的,在所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例之后,所述方法还包括:
创建心跳线程,所述心跳线程用于记录所述定时类任务和所述守护类任务的执行状态,通过设置间隔时间,定期对所述分布式***中的数据进行更新。
本申请实施例第二方面提供了一种守护类和定时类作业共存调度机制装置,包括:
第一设置单元,用于根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
第二设置单元,用于根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
加载单元,用于将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
创建单元,用于根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
可选的,所述装置还包括:
第三设置单元,用于当所述作业类型为定时类作业时,设置定时线程数大小,所述定时线程数为所述定时类作业在定时线程池中的线程数量。
可选的,所述加载单元包括:
创建模块,用于在分布式文件***上创建临时节点,以使得在注册文件上设置好的所述第一属性信息和所述第二属性属性信息统一加载到所述临时节点中,所述临时节点用于单独存放所述第一属性信息和所述第二属性属性信息,以便对所述第一属性信息和所述第二属性属性信息进行监控。
本申请实施例第三方面提供了一种守护类和定时类作业共存调度机制装置,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、输入输出单元以及总线相连;
所述处理器执行如下操作:
根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行上述第一方面任意一种守护类和定时类作业共存调度机制方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本发明中,当同时存在守护类和定时类作业时,通过作业类型的不同分别设置不同的作业属性,再将配置好的作业属性信息统一加载到分布式文件***中,通过分布式文件***中的作业属性信息创建守护类和定时类任务实例,以此来达到同时支持守护类作业和定时类作业工作的同时又做到统一注册、调度和管理。
附图说明
图1为本申请实施例中守护类和定时类作业共存调度机制方法一个实施例流程示意图;
图2为本申请实施例中守护类和定时类作业共存调度机制方法另一个实施例流程示意图;
图3为本申请实施例中守护类和定时类作业共存调度机制方法另一个实施例流程示意图;
图4为本申请实施例中守护类和定时类作业共存调度机制装置一个实施例流程示意图;
图5为本申请实施例中守护类和定时类作业共存调度机制装置另一个实施例流程示意图;
图6为本申请实施例中守护类和定时类作业共存调度机制装置另一个实施例流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护范围。
需要说明的是,本申请中,该守护类和定时类作业共存调度机制方法及相关装置不仅仅限于定时类作业和守护类作业同时调度,当在应用***中存在多种作业同时进行工作时,该方法也可以对该多种作业进行后台统一调度,本申请实施例仅对守护类作业和定时类作业共存调度机制进行阐述。
此外,本申请的作业是基于JAVA的概念基础上,以JAVA作为运行环境建立的一种调度方法。
请参阅图1,本申请实施例中守护类和定时类作业共存调度机制方法一个实施例包括:
101、根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
需要说明的是,本申请实施例中,定时类作业指的是按照一定频度执行的,如每五分钟、每1小时或者每月的多少号执行一次任务的作业,比如每月月底给订阅用户下发账单这样的作业属于定时类作业。
本申请实施例中,基础属性指的是定时类作业和守护类作业共有的属性信息,包括作业名称(jobId)以及作业类型标识(type)等,其中timer为定时类作业类型标识,daemon为守护类作业类型标识。
本申请实施例中,定时类属性指的是定时类作业独有的属性信息,如定时启动模式、处理策略、定时信息以及定时作业执行方式等属性信息。
102、根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
需要说明的是,本申请实施例中,守护类作业指的是运行在后台的一种常驻进程,可以理解为一直在监控状态,它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件,在没有用户线程可服务时它才会自动离开。比如当多个产品中心之间数据同步建立一个监控通道,当业务来的时候触发表同步,这样的作业进程属于守护类作业。
本申请实施例中,基础属性指的是定时类作业和守护类作业共有的属性信息。守护类属性指的是守护类作业独有的属性信息,比如守护类延时时长属性等。
此外,需要说明的是,步骤101和步骤102无先后顺序之分。
103、将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
需要说明的是,本申请实施例中,分布式文件***(ZooKeeper)是一个分布式服务框架,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
为了更好的理解ZooKeeper的作用,下面以一个分布式应用配置管理为例来进行说明。
假设目标程序是分布式部署在多台机器上,要改变目标程序的配置文件,需要逐台机器去修改,非常麻烦,但如果把这些配置全部放到ZooKeeper上去,保存在ZooKeeper的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到ZooKeeper的通知,然后从ZooKeeper获取新的配置信息应用到***中。
本申请实施例中,通过把定时类作业和守护类作业配置好的第一属性信息和第二属性信息加载进ZooKeeper中,以此来对定时类作业和守护类作业进行统一监控、调度以及管理。
104、根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
需要说明的是,客户端要连接ZooKeeper服务器需要通过创建一个任务类的实例对象,然后调用这个任务类提供的接口来和ZooKeeper服务器交互。其中,类是结构,根据结构创建出来独立的运行体是一个实例。本申请中,以ZooKeeper来说,任务就是任务类的一个实例,任务实例是指守护类实体类和定时类实体类,两者都是继承Task类,即抽取相同的信息作为基类,不同的信息分别在其继承类中实现。
本申请实施例中,按照任务的不同类型创建不同的实例,包含两种类型,一个守护类任务(TaskDaemon),一个定时类任务(TaskTimer),具体的任务实例创建方法将在下述实施例进行详细说明。
本申请实施例中,当同时存在守护类和定时类作业时,通过作业类型的不同分别设置不同的作业属性,再将配置好的作业属性信息统一加载到分布式文件***中,通过分布式文件***中的作业属性信息创建守护类和定时类任务实例,以此来达到同时支持守护类作业和定时类作业工作的同时又做到统一注册、调度和管理。
上面对守护类和定时类作业共存调度机制方法做了一个大概的说明,下面将对守护类和定时类作业共存调度机制方法进行一个详细的解释介绍。
先对定时类作业进行描述,请参阅图2,本申请实施例中守护类和定时类作业共存调度机制方法另一个实施例包括:
201、根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
本实施例中的步骤201与前述实施例中步骤101类似,此处不再赘述。
202、根据第一作业的作业类型设置定时线程数大小,所述定时线程数为所述定时类作业在定时线程池中的线程数量;
需要说明的是,本申请实施例中,定时类作业采用的是进程创建的线程池来进行工作。定时线程池就是将多个线程放在一个池子里面,需要线程的时候不是创建一个线程,而是从定时线程池里面获取一个可用的线程,然后按照指定的等待周期循环执行对应的任务。定时线程数规定了定时线程池里的任务数量大小。
此外,需要说明的是,步骤202与步骤201无先后顺序之分。
203、启动定时类作业调度机制,根据预先创建好的定时线程池,当到达预定时间时,所述定时线程池执行目标作业的代码,所述目标作业执行结束后释放线程,归还所述定时线程池;
需要说明的是,本申请实施例中,当需要线程来执行任务的时候,从预先创建好的定时线程池中获取目标线程,执行其任务,当任务执行完之后,线程不会被销毁,而是会被重新放到定时线程池中,然后关闭定时线程池,等待下一次机会去执行新的任务。
204、将在注册文件上设置好的所述第一属性信息加载到分布式文件***创建的临时节点中,所述临时节点用于存放所述第一属性信息,以便对所述第一属性信息进行监控;
需要说明的是,本申请实施例中,ZooKeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用***的一致性问题,它能提供基于类似于文件***的目录节点树方式的数据存储。通过创建临时节点,并将数据信息存储进该临时节点里,以此来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。
需要说明的是,每个临时节点都有唯一的路径,每个临时节点中可以存储多份数据,本申请中,同时将定时类作业的第一属性信息和守护类作业的第二属性信息存储进同一个临时节点下,进行统一管理、监控和调度。
205、根据所述第一属性信息,通过简单工厂模式创建定时类任务实例,所述简单工厂模式根据不同的作业类型创建不同的任务实例,所述任务实例具有共同的属性信息;
需要说明的是,简单工厂模式,简单来说,就是由一个工厂对象决定创建出哪一种任务类的实例。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个任务类,这些任务类继承自一个父类或接口的实例。
本申请实施例中,通过输入的第一属性信息和第二属性信息,来分辨不同类别的任务,然后创建对应类型的任务实例。
206、创建心跳线程,所述心跳线程用于记录所述定时类任务的执行状态,通过设置间隔时间,定期对所述分布式***中的数据进行更新。
需要说明的是,本申请实施例中,心跳线程指的是每隔一段时间就会定时输出信号的一个线程,比如在后台运行的程序,有时会被需要定时输出信号,已确定程序运行正常,此时可以创建一个新的线程,每隔1秒向屏幕输出字符串“I am alive”,以此来对程序运行状态进行监控。
本申请实施例中,针对于定时类作业的调度,通过创建定时线程池来管理多个线程,需要线程来执行任务的时候直接从线程池中获取线程,工作进程运行高效,且也节约了资源,同时通过在分布式文件***中创建临时节点,启动心跳线程来对该定时类作业进行监控,也方便了管理。
上面对定时类作业进行了描述,下面将对守护类作业进行描述,请参阅图3,本申请实施例中守护类和定时类作业共存调度机制方法另一个实施例包括:
301、根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
本实施例中的步骤301与前述实施例中步骤102类似,此处不再赘述。
302、启动守护类作业调度机制,所述守护类作业为守护对应的切片,根据获取到的线程数据执行对应的任务,如果所述线程数据为空,则会进行休眠,直到下一次循环再次获取新的线程数据,所述线程被唤醒继续工作;
需要说明的是,因为守护类作业(守护进程)是常驻进程,所以每一个进程都占用一个线程执行。守护类作业是业务侧实现的四个方法,一个初始化方法,一个获取数据方法,一个执行方法以及一个清理方法。本申请实施例中,守护进程会根据获取数据的方法的返回值,来进行执行方法,如果获取数据为空,则会休眠几秒,等待下次循环获取数据。每一个线程都有数据记录,将其调度处理结果记录,获取到的数据也会放到缓存中,每处理一条数据删除一条,如果缓存数据为空则会再去获取数据。
303、将在注册文件上设置好的所述第二属性属性信息统一加载到分布式文件***创建的临时节点中,所述临时节点用于单独存放所述第二属性属性信息,以便对所述第二属性属性信息进行监控;
本实施例中的步骤303与前述实施例中步骤204的定时类作业加载方法类似,此处不再赘述。
304、根据所述第二属性信息,通过简单工厂模式创建守护类任务实例,所述简单工厂模式根据不同的作业类型创建不同的任务实例,所述任务实例具有共同的属性信息;
本实施例中的步骤304与前述实施例中步骤205类似,此处不再赘述。
305、创建心跳线程,所述心跳线程用于记录所述守护类任务的执行状态,通过设置间隔时间,定期对所述分布式***中的数据进行更新。
本实施例中的步骤305与前述实施例中步骤206的定时类作业创建心跳线程方法类似,此处不再赘述。
本申请实施例中,针对于守护类作业的调度,通过在分布式文件***中创建临时节点,启动心跳线程来对该守护类作业进行监控,方便了管理。
上面对守护类和定时类作业共存调度机制方法进行了描述,下面将对守护类和定时类作业共存调度机制装置进行描述:
请参阅图4,本申请实施例中守护类和定时类作业共存调度机制方装置一个实施例包括:
第一设置单元401,用于根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
第二设置单元402,用于根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
加载单元403,用于将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
创建单元404,用于根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
本实施例中,守护类和定时类作业共存调度机制装置的各单元功能与前述图1所示实施例中的步骤对应,此处不再赘述。
本申请实施例中,当同时存在守护类和定时类作业时,通过第一设置单元401和第二设置单元402根据作业类型的不同分别设置不同的作业属性,再通过加载单元403将配置好的作业属性信息统一加载到分布式文件***中,通过创建单元404对分布式文件***中的作业属性信息创建守护类和定时类任务实例,以此来达到同时支持守护类作业和定时类作业工作的同时又做到统一注册、调度和管理。
请参阅图5,本实施例中,该守护类和定时类作业共存调度机制方装置包括:
第一设置单元501,用于根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
第二设置单元502,用于根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
第三设置单元503,用于当所述作业类型为定时类作业时,设置定时线程数大小,所述定时线程数为所述定时类作业在定时线程池中的线程数量。
加载单元504,用于将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
本申请实施例中,加载单元504还可以进一步包括:
创建模块5041,用于在分布式文件***上创建临时节点,以使得在注册文件上设置好的所述第一属性信息和所述第二属性属性信息统一加载到所述临时节点中;
存放模块5042,用于单独存放所述第一属性信息和所述第二属性属性信息,以便对所述第一属性信息和所述第二属性属性信息进行监控。
创建单元505,用于根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
本申请实施例中,各单元模块的功能与前述图1至图3中所示实施例中的步骤对应,此处不再赘述。
请参阅图6,本申请实施例中守护类和定时类作业共存调度机制另一实施例包括:
处理器601、存储器602、输入输出单元603以及总线604;
处理器601与存储器602、输入输出单元603以及总线604相连;
处理器601执行如下操作:
根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
本实施例中,处理器601的功能与前述图1所示实施例中的步骤对应,此处不做赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种守护类和定时类作业共存调度机制方法,其特征在于,包括:
根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的、开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
2.根据权利要求1所述的方法,其特征在于,所述根据第一作业的作业类型设置第一属性信息还包括:
设置定时线程数大小,所述定时线程数为所述定时类作业在定时线程池中的线程数量。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,包括:
将在注册文件上设置好的所述第一属性信息和所述第二属性信息统一加载到分布式文件***创建的临时节点中,所述临时节点用于单独存放所述第一属性信息和所述第二属性信息,以便对所述第一属性信息和所述第二属性信息进行监控。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例之前,所述方法还包括:
启动定时类作业调度机制;
根据预先创建好的定时线程池,当到达预定时间时,所述定时线程池执行目标作业的代码,所述目标作业执行结束后释放线程,归还所述定时线程池。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例之前,所述方法还包括:
启动守护类作业调度机制;
所述守护类作业为守护对应的切片,根据获取到的线程数据执行对应的任务,如果所述线程数据为空,则会进行休眠,直到下一次循环再次获取新的线程数据,所述线程被唤醒继续工作。
6.根据权利要求1所述的方法,其特征在于,所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例,包括:
根据所述第一属性信息和所述第二属性信息,通过简单工厂模式分别创建定时类任务实例和守护类任务实例,所述简单工厂模式根据不同的作业类型创建不同的任务实例,所述任务实例具有共同的属性信息。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,在所述根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例之后,所述方法还包括:
创建心跳线程,所述心跳线程用于记录所述定时类任务和所述守护类任务的执行状态,通过设置间隔时间,定期对所述分布式文件***中的数据进行更新。
8.一种守护类和定时类作业共存调度机制装置,其特征在于,包括:
第一设置单元,用于根据第一作业的作业类型设置第一属性信息,所述第一作业为定时类作业,所述属性信息包括基础属性和定时类属性;
第二设置单元,用于根据第二作业的作业类型设置第二属性信息,所述第二作业为守护类作业,所述第二属性信息包括所述基础属性和守护类属性;
加载单元,用于将所述第一属性信息和所述第二属性信息统一加载到分布式文件***中,所述分布式文件***是一个分布式的、开放源码的分布式应用程序协调服务,为分布式应用提供一致***;
创建单元,用于根据所述分布式文件***中的所述第一属性信息和所述第二属性信息创建不同的任务实例。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三设置单元,用于当所述作业类型为定时类作业时,设置定时线程数大小,所述定时线程数为所述定时类作业在定时线程池中的线程数量。
10.根据权利要求8所述的装置,其特征在于,所述加载单元包括:
创建模块,用于在分布式文件***上创建临时节点,以使得在注册文件上设置好的所述第一属性信息和所述第二属性信息统一加载到所述临时节点中,所述临时节点用于单独存放所述第一属性信息和所述第二属性信息,以便对所述第一属性信息和所述第二属性信息进行监控。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857316.8A CN111984384B (zh) | 2020-08-24 | 2020-08-24 | 一种守护类和定时类作业共存调度机制方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857316.8A CN111984384B (zh) | 2020-08-24 | 2020-08-24 | 一种守护类和定时类作业共存调度机制方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984384A CN111984384A (zh) | 2020-11-24 |
CN111984384B true CN111984384B (zh) | 2024-01-05 |
Family
ID=73443813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010857316.8A Active CN111984384B (zh) | 2020-08-24 | 2020-08-24 | 一种守护类和定时类作业共存调度机制方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984384B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169716A (zh) * | 2007-11-30 | 2008-04-30 | 清华大学 | 一种基于产品结构树的仿真流程信息建模及维护方法 |
WO2012069830A1 (en) * | 2010-11-24 | 2012-05-31 | Tte Systems Ltd | A method and system for identifying the end of a task and for notifying a hardware scheduler thereof |
WO2015173533A1 (en) * | 2014-05-11 | 2015-11-19 | Safetty Systems Ltd. | A monitoring unit as well as method for predicting abnormal operation of time-triggered computer systems |
CN105100259A (zh) * | 2015-08-18 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种分布式定时任务执行方法和*** |
US9449018B1 (en) * | 2013-11-25 | 2016-09-20 | Google Inc. | File operation task optimization |
US10061777B1 (en) * | 2017-04-04 | 2018-08-28 | International Business Machines Corporation | Testing of lock managers in computing environments |
WO2018172790A1 (en) * | 2017-03-24 | 2018-09-27 | Pixit Media Limited | A data management system and method |
WO2019196250A1 (zh) * | 2018-04-09 | 2019-10-17 | 平安科技(深圳)有限公司 | 一种任务处理方法、存储介质、服务器和装置 |
CN110888719A (zh) * | 2019-09-18 | 2020-03-17 | 广州市巨硅信息科技有限公司 | 一种基于web服务的分布式任务调度***及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843930B2 (en) * | 2012-07-10 | 2014-09-23 | Sap Ag | Thread scheduling and control framework |
US10089367B2 (en) * | 2013-01-04 | 2018-10-02 | PlaceIQ, Inc. | Expediting pattern matching queries against time series data |
US11163728B2 (en) * | 2018-09-28 | 2021-11-02 | International Business Machines Corporation | Sharing container images utilizing a shared storage system |
-
2020
- 2020-08-24 CN CN202010857316.8A patent/CN111984384B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169716A (zh) * | 2007-11-30 | 2008-04-30 | 清华大学 | 一种基于产品结构树的仿真流程信息建模及维护方法 |
WO2012069830A1 (en) * | 2010-11-24 | 2012-05-31 | Tte Systems Ltd | A method and system for identifying the end of a task and for notifying a hardware scheduler thereof |
US9449018B1 (en) * | 2013-11-25 | 2016-09-20 | Google Inc. | File operation task optimization |
WO2015173533A1 (en) * | 2014-05-11 | 2015-11-19 | Safetty Systems Ltd. | A monitoring unit as well as method for predicting abnormal operation of time-triggered computer systems |
CN105100259A (zh) * | 2015-08-18 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种分布式定时任务执行方法和*** |
WO2018172790A1 (en) * | 2017-03-24 | 2018-09-27 | Pixit Media Limited | A data management system and method |
US10061777B1 (en) * | 2017-04-04 | 2018-08-28 | International Business Machines Corporation | Testing of lock managers in computing environments |
WO2019196250A1 (zh) * | 2018-04-09 | 2019-10-17 | 平安科技(深圳)有限公司 | 一种任务处理方法、存储介质、服务器和装置 |
CN110888719A (zh) * | 2019-09-18 | 2020-03-17 | 广州市巨硅信息科技有限公司 | 一种基于web服务的分布式任务调度***及方法 |
Non-Patent Citations (4)
Title |
---|
Efficient and Scalable Functional Dependency Discovery on Distributed Data-Parallel Platforms;Guanghui Zhu et.al;《IEEE Transactions on Parallel and Distributed Systems 》;第30卷(第12期);全文 * |
一种轻量级分布式RPC框架的研究与实现;柳汝滕;《中国优秀硕士学位论文全文数据库(信息科技辑)》(第01期);全文 * |
基于zookeeper和quartz实现分布式定时调度;JAVA高级架构;《腾讯云:开发者社区》;全文 * |
基于大数据Hadoop框架的数据处理流程研究与案例实践;张陈炜;游福成;曹越;;北京印刷学院学报(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111984384A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572474B2 (en) | Computer data system data source refreshing using an update propagation graph | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
US20080313502A1 (en) | Systems, methods and computer products for trace capability per work unit | |
CN110895484A (zh) | 任务调度方法及装置 | |
WO2006083895A1 (en) | Autonomic control of distributed computing system using rule-based sensor definitions | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN110895487A (zh) | 分布式任务调度*** | |
WO2009089746A1 (fr) | Procédé, dispositif et système de réalisation d'une tâche dans un environnement de grappes | |
CN110895483A (zh) | 任务恢复方法及装置 | |
US20040205167A1 (en) | Automatic configuration of performance management tools | |
CN114090198A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
CN116089040A (zh) | 业务流程的调度方法及其装置、电子设备及存储介质 | |
CN110895486A (zh) | 分布式任务调度*** | |
CN108399095B (zh) | 支持动态管理定时任务的方法、***、设备和存储介质 | |
CN111400097A (zh) | 数据的备份方法、装置、***和计算机可读存储介质 | |
CN113342554B (zh) | Io多路复用方法、介质、设备和操作*** | |
CN111984384B (zh) | 一种守护类和定时类作业共存调度机制方法及相关装置 | |
KR100553144B1 (ko) | 효율적인 타이머 관리 시스템 | |
CN110895485A (zh) | 任务调度*** | |
CN113743879A (zh) | 一种自动化规则处理方法、***以及相关设备 | |
WO2023160418A1 (zh) | 资源处理方法及资源调度方法 | |
CN110308914B (zh) | 升级处理方法、装置、设备、***及计算机可读存储介质 | |
CN107958414B (zh) | 一种清除cics***长交易的方法及*** | |
US20120311117A1 (en) | Object Pipeline-Based Virtual Infrastructure Management | |
CN115858499A (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 |