CN113282398A - 轻量级任务触发系统及业务生态系统 - Google Patents

轻量级任务触发系统及业务生态系统 Download PDF

Info

Publication number
CN113282398A
CN113282398A CN202110725323.7A CN202110725323A CN113282398A CN 113282398 A CN113282398 A CN 113282398A CN 202110725323 A CN202110725323 A CN 202110725323A CN 113282398 A CN113282398 A CN 113282398A
Authority
CN
China
Prior art keywords
task
service
lightweight
trigger
business
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.)
Pending
Application number
CN202110725323.7A
Other languages
English (en)
Inventor
吴顾
赵晨
肖建涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yangtuo Network Technology Co ltd
Original Assignee
Hangzhou Yangtuo Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Yangtuo Network Technology Co ltd filed Critical Hangzhou Yangtuo Network Technology Co ltd
Priority to CN202110725323.7A priority Critical patent/CN113282398A/zh
Publication of CN113282398A publication Critical patent/CN113282398A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Abstract

本发明提供了一种轻量级任务触发系统及业务生态系统,轻量级任务触发系统与业务系统通信连接,业务系统设置有多个业务逻辑。基于轻量级任务触发系统的任务创建服务单元、数据库、任务管理单元、任务扫描器、任务资源池和任务触发器之间的协同配合,实现了从定时提醒任务的创建、管理到触发某个业务系统执行对应的业务逻辑的全过程。其中,在整个系统工作过程中,轻量级任务触发系统只是负责任务触发、而不参与任务的实际执行过程即任务触发器与业务系统之间完全没有耦合,从而极大地减轻了轻量级任务触发系统自身的负担、高效地运用了业务系统自身的业务执行能力,由此有利于整个系统的轻量化设计、降低了系统内存消耗和运维成本。

Description

轻量级任务触发系统及业务生态系统
技术领域
本发明涉及计算机控制技术领域,尤其涉及一种轻量级任务触发系统及业务生态系统。
背景技术
随着业务的发展,业务系统出现了需要将定时任务进行调度的场景,例如在X天后关闭订单、商品的有效期为X天,在X天后商品自动下架等。
刚开始机器作为单节点服务时,诸如此类的功能都能直接通过编码的方式放在一个服务中。但是随着业务的扩大势必需要将一个服务作为多个节点部署从而形成分布式的架构。此时,因为所有的服务都存在相同的任务调度,所以势必产生问题。因此,势必需要一个适用于集群的、同时也是轻量级的分布式任务调度中心系统来解决上述问题。
目前,市场上存在的所有分布式任务调度中心系统,其解决问题的大体思路均是分为调度和执行两个部分,也就是说系统不仅仅要关心某个任务在某个时间应当执行了,还要切实得去执行该任务。具体地,现有的分布式任务调度中心系统(如大众点评的XXL-JOB、当当网的Elastic-Job)从架构上包括调度中心和执行器,在系统的工作过程中,调度中心用于向执行器发送定时提醒任务信息,执行器接收到该定时提醒任务信息后直接执行自身设置的与该定时提醒任务信息对应的业务逻辑。因此随着业务量的增加,执行器的压力会不断增大,此时业务系统的处理能力势必受到分布式任务调度中心系统的肘制,从而极大地降低了系统的执行效率。
发明内容
鉴于背景技术中存在的问题,本发明的目的在于提供一种轻量级任务触发系统及业务生态系统,所述轻量级任务触发系统只是触发业务系统去执行任务、而不参与任务的实际执行过程,其极大地减轻了轻量级任务触发系统自身的负担、高效地运用了业务系统自身的业务执行能力,从而有利于整个系统的轻量化设计、降低了系统内存消耗和运维成本。
为了实现上述目的,本发明提供了一种轻量级任务触发系统,其与业务系统通信连接,所述业务系统设置有多个业务逻辑。其中,所述轻量级任务触发系统包括任务创建服务单元、数据库、任务管理单元、任务扫描器、任务资源池和任务触发器。所述任务创建服务单元通信连接于所述数据库,所述任务创建服务单元用于创建定时提醒任务、并将所述定时提醒任务上传至所述数据库中。所述任务管理单元通信连接于所述数据库、并用于管理所述数据库中的全部定时提醒任务。所述任务扫描器通信连接于所述数据库,所述任务扫描器用于对所述数据库中的全部定时提醒任务进行扫描、并将特定时间段内需要执行的定时提醒任务发送至所述任务资源池。所述任务触发器通信连接于所述任务资源池,所述任务触发器设置为按照时间先后顺序将定时提醒任务依次从所述任务资源池中取出并发送给所述业务系统,以触发所述业务系统执行与定时提醒任务对应的业务逻辑。
在根据一些实施例的轻量级任务触发系统中,所述数据库包括任务类型表、任务总表和corn任务表。
在根据一些实施例的轻量级任务触发系统中,所述任务管理单元包括任务类型管理、总任务管理和corn任务管理。
在根据一些实施例的轻量级任务触发系统中,所述数据库的任务总表包括多个任务分表。所述轻量级任务触发系统还包括任务调配单元,所述任务调配单元通信连接于所述任务扫描器、并通过分表逻辑计算确定任务扫描器要扫描的任务分表。
在根据一些实施例的轻量级任务触发系统中,所述轻量级任务触发系统还包括任务创建客户端,所述任务创建客户端通信连接于所述任务创建服务单元。所述任务创建客户端用于录入任务数据,以使所述任务创建服务单元利用所述任务数据创建对应的定时提醒任务。
本发明还提供了一种业务生态系统,其包括业务系统和上述所述的轻量级任务触发系统,所述业务系统设置有多个业务逻辑,所述轻量级任务触发系统通信连接于所述业务系统并用于触发所述业务系统执行对应的业务逻辑。
在根据一些实施例的业务生态系统中,所述业务生态系统还包括分布式服务框架。所述轻量级任务触发系统还包括任务创建客户端,所述任务创建客户端通过所述分布式服务框架通信连接于所述任务创建服务单元。所述任务创建客户端设置为能够被所述业务系统调用以录入任务数据,以使所述任务创建服务单元利用所述任务数据创建对应的定时提醒任务。
在根据一些实施例的业务生态系统中,所述轻量级任务触发系统的任务触发器直接与所述业务系统通信连接。
在根据一些实施例的业务生态系统中,所述业务生态系统还包括消息中间件,所述轻量级任务触发系统的任务触发器通过所述消息中间件与所述业务系统通信连接。
在根据一些实施例的业务生态系统中,所述业务系统在数量上为一个或多个。所述任务创建服务单元创建的各定时提醒任务具有特定的任务类型。所述消息中间件配置有与各任务类型对应的主题,各业务系统预先订阅所述消息中间件中对应的主题。所述消息中间件设置为接收所述任务触发器发送的定时提醒任务、并将与主题对应的定时提醒任务分别发送给订阅有该主题的业务系统,以触发订阅有该主题的业务系统执行与该定时提醒任务对应的业务逻辑。
在根据一些实施例的业务生态系统中,所述轻量级任务触发系统在数量上为多个。所述业务生态系统还包括分布式协调服务系统,所述分布式协调服务系统通信连接于所述多个轻量级任务触发系统。所述分布式协调服务系统记录所述多个轻量级任务触发系统的IP信息、且所有轻量级任务触发系统的IP信息一起构成集群IP信息。所述分布式协调服务系统设置为在集群IP信息发生变化时将集群IP信息已发生变化的状态发送给所有的轻量级任务触发系统。
本发明的有益效果如下:
在本申请的轻量级任务触发系统中,基于任务创建服务单元、数据库、任务管理单元、任务扫描器、任务资源池和任务触发器之间的协同配合,实现了从定时提醒任务的创建、管理到触发某个业务系统执行对应的业务逻辑的全过程。其中,在整个系统工作过程中,轻量级任务触发系统只是负责任务触发、而不参与任务的实际执行过程即任务触发器与业务系统之间完全没有耦合,从而极大地减轻了轻量级任务触发系统自身的负担、高效地运用了业务系统自身的业务执行能力,由此有利于整个系统的轻量化设计、降低了系统内存消耗和运维成本。
附图说明
图1是本发明的业务生态系统的一框架图。
图2是本发明的业务生态系统的另一框架图。
图3是本发明的业务生态系统的又一框架图。
图4是本发明的轻量级任务触发系统的框架图。
其中,附图标记说明如下:
1轻量级任务触发系统 17任务调配单元
11任务创建服务单元 18任务创建客户端
12数据库 2业务系统
13任务管理单元 3分布式服务框架
14任务扫描器 4消息中间件
15任务资源池 5分布式协调服务系统
16任务触发器
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“创建”以及它们的任何变形,意图在于覆盖不排他的包含。本申请中出现的“多个”指的是两个以上(包括两个)。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面参照附图来详细说明根据本申请的轻量级任务触发系统及业务生态系统。
参照图1至图3,本申请的业务生态系统100包括至少一个业务系统2和至少一个轻量级任务触发系统1,各轻量级任务触发系统1通信连接于对应的业务系统2。
各业务系统2设置有多个业务逻辑,各业务逻辑设置为在轻量级任务触发系统1触发业务系统2后由业务系统2直接执行。在一些实施例中,业务系统2在数量上可为一个或多个。
各轻量级任务触发系统1用于创建定时提醒任务、并在特定的时间内将定时提醒任务发送给对应的业务系统2,以触发对应的业务系统2去直接执行与该定时提醒任务对应的业务逻辑。这里,由于轻量级任务触发系统1只负责任务触发(即构建定时提醒任务、并在一定的时间内通过向业务系统2发送定时提醒任务信息,以提醒业务系统2即将要执行某个业务逻辑)2、而不参与任务执行过程,从而使得轻量级任务触发系统1的任务触发过程与业务系统2的任务执行过程完全没有耦合,由此有效地减少了系统内存的消耗。
在一些实施例中,轻量级任务触发系统1在数量上也可为一个或多个。其中,同一个轻量级任务触发系统1可只服务于一个业务系统2、也可同时服务于多个业务系统2。
轻量级任务触发系统1的具体数量可基于整个业务生态系统100中所有业务系统2的业务总量以及处理时效需求来进行适当设置。具体地,假设整个业务生态系统100中有3200条定时提醒任务需要处理,若采用一个轻量级任务触发系统1完成对3200条定时提醒任务的处理需要6秒;若采用两个轻量级任务触发系统1完成对3200条定时提醒任务的处理需要3秒;若采用四个轻量级任务触发系统1完成对3200条定时提醒任务的处理需要1.5秒;以此类推,随着轻量级任务触发系统1数量的不断增加,整个业务生态系统100的处理效率大大提升了。
在一些实施例中,参照图1至图4,各轻量级任务触发系统1包括任务创建服务单元11、数据库12、任务管理单元13、任务扫描器14、任务资源池15和任务触发器16。
任务创建服务单元11通信连接于数据库12和对应的业务系统2。其中,根据业务系统2的业务需求(即下文业务系统2提供的任务数据),任务创建服务单元11创建出与业务需求对应的定时提醒任务(此时定时提醒任务中已包含有特定的任务类型信息),且在创建后还会对该定时提醒任务进行校验,以判断该定时提醒任务是否已经创建过、以及该定时提醒任务的任务类型是否是任务管理单元13中已登记的任务类型。待该定时提醒任务校验无误后,任务创建服务单元11再将其上传至数据库12中进行存储。
数据库12通信连接于任务创建服务单元11和任务管理单元13。具体地,数据库12包括任务类型表、任务总表(由多个任务分表组成)和corn任务表。所述任务类型表记录所有的定时提醒任务的任务类型,所述任务总表记录任务创建服务单元11创建的所有定时提醒任务,所述corn任务表记录任务创建服务单元11创建的具有corn任务表达式的所有定时提醒任务。基于数据库12中的任务类型表、任务总表和corn任务表的设置,通过任务管理单元13可以统一管理(如进行查询、开始、暂停、删除等操作)数据库12中所有的定时提醒任务,方便快捷。此外,任务管理单元13还可以用于创建新的任务类型。
任务管理单元13包括任务类型管理、总任务管理和corn任务管理。所述任务类型管理用于新建任务类型和管理(如进行查询、开始、暂停、删除等操作)数据库12中的任务类型表内的所有任务类型。所述总任务管理用于管理(如进行查询、开始、暂停、删除等操作)数据库12中的任务总表内的所有定时提醒任务。所述corn任务管理用于管理(如进行查询、开始、暂停、删除等操作)数据库12中的corn任务表内的所有定时提醒任务。
任务扫描器14通信连接于数据库12。其中,任务扫描器14中预先配置有扫描规则,且在系统工作过程中,任务扫描器14按照扫描规则定时轮询以扫描数据库12中的全部定时提醒任务、并将特定时间段内(根据定时任务将要执行的时间来设置)需要执行的定时提醒任务发送至任务资源池15。
任务资源池15用于接收、并暂时存储所述特定时间段内需要执行的定时提醒任务。任务资源池15作为内存中的一块存储空间,其存取速度远高于基于磁盘存储的数据库,从而不仅可以缓解数据库1中的数据压力,还有助于任务触发器16快速从任务资源池15中取出对应的定时提醒任务。
任务触发器16通信连接于任务资源池15。任务触发器16按照时间先后顺序将定时提醒任务依次从任务资源池15中取出并发送给对应的业务系统2(此时整个轻量级任务触发系统1的触发过程完成),以触发该业务系统2执行对应的业务逻辑。
在本申请的轻量级任务触发系统1中,基于任务创建服务单元11、数据库12、任务管理单元13、任务扫描器14、任务资源池15和任务触发器16之间的协同配合,实现了从定时提醒任务的创建、管理到触发某个业务系统2执行对应的业务逻辑的全过程。其中,在整个系统工作过程中,轻量级任务触发系统1只是负责任务触发、而不参与任务的实际执行过程(即任务触发器16与业务系统2之间完全没有耦合),从而极大地减轻了轻量级任务触发系统自身的负担、高效地运用了业务系统2自身的业务执行能力,由此有利于整个系统的轻量化设计、降低了系统内存消耗和运维成本。
需要说明的是,当轻量级任务触发系统1在数量上为多个时,所述多个轻量级任务触发系统1可共用同一个数据库12,即该数据库12能够存储整个业务生态系统100中所有的定时提醒任务。
在一些实施例中,参照图1至图4,各轻量级任务触发系统1还包括任务调配单元17,任务调配单元17通信连接于任务扫描器14、并用于对数据库12的任务总表中的所有任务分表进行分表逻辑计算以确定任务扫描器14要对应扫描的任务分表。具体地,当轻量级任务触发系统1在数量上为一个时,任务调配单元17将任务总表中的所有任务分表分配给该一个轻量级任务触发系统1处理;而当轻量级任务触发系统1在数量上为多个时,任务调配单元17将任务总表中的对应的任务分表分别分配给对应的轻量级任务触发系统1处理。这里需要说明的是,所有的轻量级任务触发系统1的任务调配单元17的分表逻辑计算结果一致。
在一些实施例中,参照图1至图4,轻量级任务触发系统1还包括任务创建客户端18,任务创建客户端18通信连接于任务创建服务单元11。任务创建客户端18设置为供业务系统2调用以录入任务数据,进而使得任务创建服务单元11利用所述任务数据创建出对应的定时提醒任务。
在一些实施例中,参照图1和图2,任务创建客户端18可集成在业务系统2内,以便于业务系统2直接提交任务数据。当然,任务创建客户端18也可与业务系统2相互独立设置、并通过设置通道的方式实现彼此之间的通信。
在一些实施例中,任务创建客户端18预先设置有各种任务模板,各任务模板包含与业务相关的各种业务参数(包括任务类型参数),因此业务系统2通过任务创建客户端18录入任务数据时可直接填写对应的任务类型。需要说明的是,对于含cron表达式的任务模板,对应的任务数据信息录入后,任务扫描器14定时轮询基于该任务数据建立的定时提醒任务。
在一些实施例中,业务系统2在数量上为多个,所述多个业务系统2可包括第一业务系统21和第二业务系统22。任务创建客户端18可设置为能够被第一业务系统21调用,以使第一业务系统21能够通过任务创建客户端18录入任务数据。其中,当第一业务系统21通过任务创建客户端18录入任务数据后,任务创建服务单元1利用这些任务数据信息创建出对应的定时提醒任务。进一步地,待定时提醒任务经由任务扫描器4放入任务资源池5中后,任务触发器6按照时间先后顺序将定时提醒任务依次从任务资源池5中取出并发送给第一业务系统21,以触发第一业务系统21执行与定时提醒任务对应的业务逻辑(此时为该定时提醒任务提供任务数据的业务系统和执行与该定时提醒任务对应的业务逻辑的业务系统为同一业务系统)),如图1所示。当然,任务触发器6也可按照时间先后顺序将定时提醒任务依次从任务资源池5中取出并发送给第二业务系统22,以触发第二业务系统22执行与该定时提醒任务对应的业务逻辑(此时为该定时提醒任务提供任务数据的业务系统和执行与该定时提醒任务对应的业务逻辑的业务系统为不同的业务系统),如图2所示。
在一些实施例中,参照图1和图2,本申请的业务生态系统100还包括分布式服务框架3。其中,轻量级任务触发系统1的任务创建客户端18通过分布式服务框架3与任务创建服务单元11通信连接。换句话说,分布式服务框架3其实在业务系统2与轻量级任务触发系统1之间形成一条数据传输通道,即分布式服务框架3能够接收业务系统2通过任务创建客户端18录入的任务数据、并将所述任务数据发送给任务创建服务单元11以供任务创建服务单元11创建出对应的定时提醒任务。
在一些实施例中,分布式服务框架3还具有分布式服务客户端。其中,所述分布式服务客户端可集成在任务创建客户端18中,由此实现分布式服务框架3与任务创建客户端18之间的通信连接。
在一些实施例中,轻量级任务触发系统1的任务触发器16可以直接与业务系统2通信连接,即任务触发器16直接触发业务系统2去执行对应的业务逻辑。
在一些实施例中,参照图1和图2,本申请的业务生态系统100还包括消息中间件4。其中,轻量级任务触发系统1的任务触发器16可通过消息中间件4与业务系统2间接通信连接。这里,由于消息中间件4本身具备异步、低耦、可靠、流控的特点,从而使得整个业务生态系统100简单、可靠。此外,基于消息中间件4的设置,轻量级任务触发系统1可实现一次性触发多个业务系统2的执行器来同时执行对应的业务逻辑。
具体地,消息中间件4中配置有与各任务类型对应的主题,各业务系统2可预先订阅消息中间件4中对应的主题,可同时订阅一个或多个。其中,消息中间件4设置为接收任务触发器16发送的定时提醒任务、并将与各主题对应的定时提醒任务分别发送给订阅有对应主题的业务系统2,以触发订阅有对应主题的业务系统2执行与定时提醒任务对应的业务逻辑。此外,多个业务系统2也可同时订阅同一个主题,此时任务触发器16通过消息中间件4将与该主题对应的定时任务发送给订阅有该主题的所有业务系统2,以触发订阅有该主题的业务系统2执行与该定时提醒任务对应的业务逻辑(如业务系统2的执行器关闭某个订单)。
在一些实施例中,参照图4,轻量级任务触发系统1在数量上为多个。所述业务生态系统100还包括分布式协调服务系统5,分布式协调服务系统5通信连接于所述多个轻量级任务触发系统1。分布式协调服务系统5能够记录所述多个轻量级任务触发系统1的IP信息,而所有轻量级任务触发系统1的IP信息一起构成集群IP信息。。并且,分布式协调服务系统5设置为当集群IP信息发生变化时,分布式协调服务系统5及时将集群IP信息已发生变化的状态(即集群IP信息已发生变化这件事)通知给当前所有的轻量级任务触发系统1并触发各轻量级任务触发系统1的任务调配单元17重新进行分表逻辑计算。其中,分布式协调服务系统5主要用于自动扩容和自动容灾处理方面,详细说明如下。
当业务生态系统100需要增加新的轻量级任务触发系统1时,新增加的轻量级任务触发系统1先将自身的IP信息上报给分布式协调服务系统5,则分布式协调服务系统5中记录的集群IP信息必然发生了变化,此时分布式协调服务系统5再将集群IP信息已发生变化这件事通知给当前所有的轻量级任务触发系统1的任务调配单元17,然后各轻量级任务触发系统1的任务调配单元17主动从分布式协调服务系统5中拉取变化后的集群IP信息、采用哈希环算法重新进行分表逻辑计算并将所有的任务分表按照一定规则重新分配给所有的轻量级任务触发系统1(包括新增加的轻量级任务触发系统1)的任务扫描器14。其中,具体分表逻辑计算过程简要说明如下:各任务调配单元17首先将所有的轻量级任务触发系统1的IP信息执行哈希环算法后分布到哈希环上;之后,所有任务分表的名称也执行哈希算法后放置于哈希环上;接着,所有任务分表的名称在哈希环上逆时针旋转以找到其归属的轻量级任务触发系统1的IP信息,此时所有的轻量级任务触发系统1的任务扫描器14都知道自己该扫描哪些任务分表了。
当业务生态系统100中的某个或某几个轻量级任务触发系统1发生宕机时,分布式协调服务系统5中记录的集群IP信息必然发生了变化,此时分布式协调服务系统5将集群IP信息已发生变化这件事通知给所有的轻量级任务触发系统1的任务调配单元17,然后各轻量级任务触发系统1的任务调配单元17主动从分布式协调服务系统5中拉取变化后的集群IP信息、采用哈希环算法重新进行分表逻辑计算并将所有的任务分表按照一定规则重新分配给所有的轻量级任务触发系统1(除去发生宕机的轻量级任务触发系统1)的任务扫描器14。

Claims (10)

1.一种轻量级任务触发系统(1),与业务系统(2)通信连接,所述业务系统(2)设置有多个业务逻辑,其特征在于,所述轻量级任务触发系统(1)包括任务创建服务单元(11)、数据库(12)、任务管理单元(13)、任务扫描器(14)、任务资源池(15)和任务触发器(16);
所述任务创建服务单元(11)通信连接于所述数据库(12),所述任务创建服务单元(11)用于创建定时提醒任务、并将所述定时提醒任务上传至所述数据库(12)中;
所述任务管理单元(13)通信连接于所述数据库(12)、并用于管理所述数据库(12)中的全部定时提醒任务;
所述任务扫描器(14)通信连接于所述数据库(12),所述任务扫描器(14)用于对所述数据库(12)中的全部定时提醒任务进行扫描、并将特定时间段内需要执行的定时提醒任务发送至所述任务资源池(15);
所述任务触发器(16)通信连接于所述任务资源池(15),所述任务触发器(6)设置为按照时间先后顺序将定时提醒任务依次从所述任务资源池(5)中取出并发送给所述业务系统(2),以触发所述业务系统(2)执行与定时提醒任务对应的业务逻辑。
2.根据权利要求1所述的轻量级任务触发系统(1),其特征在于,所述数据库(2)包括任务类型表、任务总表和corn任务表。
3.根据权利要求1所述的轻量级任务触发系统(1),其特征在于,所述任务管理单元(3)包括任务类型管理、总任务管理和corn任务管理。
4.根据权利要求1所述的轻量级任务触发系统(1),其特征在于,
所述数据库(2)的任务总表包括多个任务分表;
所述轻量级任务触发系统(1)还包括任务调配单元(17),所述任务调配单元(17)通信连接于所述任务扫描器(14)、并通过分表逻辑计算确定任务扫描器(14)要扫描的任务分表。
5.根据权利要求1所述的轻量级任务触发系统(1),其特征在于,
所述轻量级任务触发系统(1)还包括任务创建客户端(18),所述任务创建客户端(18)通信连接于所述任务创建服务单元(11);
所述任务创建客户端(18)用于录入任务数据,以使所述任务创建服务单元(11)利用所述任务数据创建对应的定时提醒任务。
6.一种业务生态系统,其特征在于,包括业务系统(2)和权利要求1-3中任一项所述的轻量级任务触发系统(1),所述业务系统(2)设置有多个业务逻辑,所述轻量级任务触发系统(1)通信连接于所述业务系统(2)并用于触发所述业务系统(2)执行对应的业务逻辑。
7.根据权利要求6所述的业务生态系统,其特征在于,
所述业务生态系统还包括分布式服务框架(3);
所述轻量级任务触发系统(1)还包括任务创建客户端(18),所述任务创建客户端(18)通过所述分布式服务框架(3)通信连接于所述任务创建服务单元(11);
所述任务创建客户端(18)设置为能够被所述业务系统(2)调用以录入任务数据,以使所述任务创建服务单元(11)利用所述任务数据创建对应的定时提醒任务。
8.根据权利要求6所述的业务生态系统,其特征在于,所述业务生态系统还包括消息中间件(4),所述轻量级任务触发系统(1)的任务触发器(16)通过所述消息中间件(4)与所述业务系统(2)间接通信连接。
9.根据权利要求8所述的业务生态系统,其特征在于,
所述业务系统(2)在数量上为一个或多个;
所述任务创建服务单元(11)创建的各定时提醒任务具有特定的任务类型;
所述消息中间件(4)配置有与各任务类型对应的主题,各业务系统(2)预先订阅所述消息中间件(4)中对应的主题;
所述消息中间件(4)设置为接收所述任务触发器(16)发送的定时提醒任务、并将与主题对应的定时提醒任务分别发送给订阅有该主题的业务系统(2),以触发订阅有该主题的业务系统(2)执行与该定时提醒任务对应的业务逻辑。
10.根据权利要求6所述的业务生态系统,其特征在于,
所述轻量级任务触发系统(1)在数量上为多个;
所述业务生态系统还包括分布式协调服务系统(5),所述分布式协调服务系统(5)通信连接于所述多个轻量级任务触发系统(1);
所述分布式协调服务系统(5)记录所述多个轻量级任务触发系统(1)的IP信息、且所有轻量级任务触发系统(1)的IP信息一起构成集群IP信息;
所述分布式协调服务系统(5)设置为在集群IP信息发生变化时将集群IP信息已发生变化的状态发送给所有的轻量级任务触发系统(1)。
CN202110725323.7A 2021-06-29 2021-06-29 轻量级任务触发系统及业务生态系统 Pending CN113282398A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110725323.7A CN113282398A (zh) 2021-06-29 2021-06-29 轻量级任务触发系统及业务生态系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110725323.7A CN113282398A (zh) 2021-06-29 2021-06-29 轻量级任务触发系统及业务生态系统

Publications (1)

Publication Number Publication Date
CN113282398A true CN113282398A (zh) 2021-08-20

Family

ID=77286149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110725323.7A Pending CN113282398A (zh) 2021-06-29 2021-06-29 轻量级任务触发系统及业务生态系统

Country Status (1)

Country Link
CN (1) CN113282398A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647083A (zh) * 2018-04-28 2018-10-12 北京京东金融科技控股有限公司 任务执行方法、装置、系统、电子设备及计算机可读介质
CN109857482A (zh) * 2018-12-31 2019-06-07 杭州洋驼网络科技有限公司 一种轻量级分布式任务调度中心系统
CN109951559A (zh) * 2019-03-27 2019-06-28 京东方光科技有限公司 定时任务配置方法、服务器、系统和计算机可读存储介质
CN110764881A (zh) * 2019-10-23 2020-02-07 中国工商银行股份有限公司 分布式系统后台重试方法及装置
CN111858007A (zh) * 2020-07-29 2020-10-30 广州海鹚网络科技有限公司 一种基于消息中间件的任务调度方法方法和装置
CN112181627A (zh) * 2020-10-26 2021-01-05 深圳前海微众银行股份有限公司 定时任务调度方法、装置及系统
CN112910952A (zh) * 2021-01-13 2021-06-04 叮当快药科技集团有限公司 分布式任务调度方法以及装置、存储介质、电子装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647083A (zh) * 2018-04-28 2018-10-12 北京京东金融科技控股有限公司 任务执行方法、装置、系统、电子设备及计算机可读介质
CN109857482A (zh) * 2018-12-31 2019-06-07 杭州洋驼网络科技有限公司 一种轻量级分布式任务调度中心系统
CN109951559A (zh) * 2019-03-27 2019-06-28 京东方光科技有限公司 定时任务配置方法、服务器、系统和计算机可读存储介质
CN110764881A (zh) * 2019-10-23 2020-02-07 中国工商银行股份有限公司 分布式系统后台重试方法及装置
CN111858007A (zh) * 2020-07-29 2020-10-30 广州海鹚网络科技有限公司 一种基于消息中间件的任务调度方法方法和装置
CN112181627A (zh) * 2020-10-26 2021-01-05 深圳前海微众银行股份有限公司 定时任务调度方法、装置及系统
CN112910952A (zh) * 2021-01-13 2021-06-04 叮当快药科技集团有限公司 分布式任务调度方法以及装置、存储介质、电子装置

Similar Documents

Publication Publication Date Title
CN108874562B (zh) 分布式高并发消息队列推送系统
CN104378665B (zh) 一种基于数字电视的分布式转码系统及方法
CN102655503B (zh) 使用共享资源池的资源分配
CN110247954A (zh) 一种分布式任务的调度方法及系统
CN102426542B (zh) 数据中心资源管理系统及作业调度方法
CN108881369B (zh) 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统
CN108536538A (zh) 处理器核心调度方法、装置、终端及存储介质
CN110457134A (zh) 建立基于容器云和微服务架构的视频大数据云平台的方法
CN105338086A (zh) 一种分布式的消息转发方法
CN104092767A (zh) 一种增加消息队列模型的发布/订阅系统及其工作方法
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
CN102340495A (zh) 一种支撑跨系统业务联动的事件中心及其事件处理方法
CN101373509B (zh) 一种基于分布式ale的rfid中间件
CN111427675B (zh) 一种数据处理方法、装置以及计算机可读存储介质
WO2021077748A1 (zh) 一种基于dpdk实现流量分析业务性能线性增长的方法
CN111858027A (zh) 一种软件机器人协同处理方法及系统
CN113541764B (zh) 一种多星组网的地面管控系统
CN103458131A (zh) 坐席登录、调度的方法及坐席中心
CN111064672A (zh) 云平台通信系统、选举方法及资源调度管理方法
CN107454171A (zh) 消息服务系统及其实现方法
CN113821940B (zh) 一种基于分布式黑板机制的仿真系统
CN102098170B (zh) 一种数据采集优化方法及系统
CN114063936A (zh) 一种优化定时任务的方法、系统、设备和存储介质
CN113282398A (zh) 轻量级任务触发系统及业务生态系统
CN111240860B (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