CN112181610A - 一种任务处理系统 - Google Patents
一种任务处理系统 Download PDFInfo
- Publication number
- CN112181610A CN112181610A CN202010885415.7A CN202010885415A CN112181610A CN 112181610 A CN112181610 A CN 112181610A CN 202010885415 A CN202010885415 A CN 202010885415A CN 112181610 A CN112181610 A CN 112181610A
- Authority
- CN
- China
- Prior art keywords
- task
- center
- task processing
- executing
- processing unit
- 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
Links
Images
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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请适用于通信技术领域,提供了一种任务处理系统,包括:任务调度中心、任务转发中心、服务注册中心以及任务处理单元;所述任务调度中心用于将任务发送至所述任务转发中心;所述任务转发中心用于根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元,并将所述任务发送至选择出的任务处理单元,其中,所述功能信息用于指示所述任务处理单元具备的功能;所述任务处理单元用于接收所述任务转发中心发送的任务并执行。通过上述系统,能够提高任务管理和任务执行相关设备的开发效率。
Description
技术领域
本申请属于通信技术领域,尤其涉及一种任务处理系统。
背景技术
目前,当任务被任务处理节点获取后,将由任务处理节点管理获取的任务以及执行获取的任务。
由于任务的内容是多种多样的,因此,若希望任务处理节点能够执行多种任务,则需要使得该任务处理节点具有相应的多种功能。但由于任务处理节点兼具任务管理以及任务执行的功能,因此,在开发任务处理节点时需要兼顾任务管理和任务执行的耦合性,从而加大了开发难度。
故,需要提供一种新的方法以解决上述技术问题。
发明内容
本申请实施例提供了一种任务处理系统,可以解决同一个任务处理节点兼具任务管理和任务执行的功能时,所导致的任务处理节点开发难度大,周期长的问题。
本申请实施例提供了一种任务处理系统,包括任务调度中心、任务转发中心、服务注册中心以及任务处理单元;
所述任务调度中心用于将任务发送至所述任务转发中心;
所述任务转发中心用于根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元,并将所述任务发送至选择出的任务处理单元,其中,所述功能信息用于指示所述任务处理单元具备的功能;
所述任务处理单元用于接收所述任务转发中心发送的任务并执行。
可选地,所述任务调度中心包括第一子任务调度中心和第二子任务调度中心,且所述第二子任务调度中心的个数大于或等于1;
所述第一子任务调度中心用于将任务发送至所述任务转发中心;
各个所述第二子任务调度中心用于监控所述第一子任务调度中心的运行状态,并同步所述第一子任务调度中心的信息,若所述第一子任务调度中心的运行状态指示所述第一子任务调度中心处于宕机状态,则各个所述第二子任务调度中心中的一个第二子任务调度中心将替换所述第一子任务调度中心,以将任务发送至所述任务转发中心。
可选地,所述任务处理系统还包括消息队列中间件;
所述任务调度中心用于将任务发送至所述消息队列中间件的消息队列中;
所述任务转发中心从所述消息队列获取所述任务。
可选地,所述任务调度中心将任务发送至所述消息队列中间件的消息队列时,具体用于:
获取任务的触发时间,若所述任务的触发时间与当前时间的差在预设时长范围内,则将所述任务发送至所述消息队列中间件的消息队列。
可选地,所述任务处理系统还包括配置中心;
所述配置中心用于修改所述任务处理单元的功能信息;
所述任务处理单元还用于将修改的功能信息重新注册到所述服务注册中心。
可选地,所述任务处理系统还包括任务信息存储单元;
所述任务信息存储单元用于存储所述任务调度中心发送的任务和所述任务的处理结果。
可选地,所述任务转发中心还用于:
若发送至任务处理单元的任务的数量大于预设的数量阈值,则通知所述任务处理单元暂停执行指定任务,和/或,暂停将获取的任务发送至任务处理单元。
可选地,所述配置中心还用于修改所述任务处理单元的权重信息,其中,所述权重信息根据所述任务处理单元的负载确定;
所述任务处理单元还用于将修改的权重信息重新注册到所述服务注册中心;
所述任务转发中心在根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元时,具体用于:根据注册在所述服务注册中心的所述任务处理单元的功能信息,筛选出能够执行所述任务的任务处理单元,若筛选出的能够执行所述任务的任务处理单元的个数大于1,则根据所述能够执行所述任务的任务处理单元的权重信息,从所述能够执行所述任务的任务处理单元中筛选出用于执行所述任务的任务处理单元。
可选地,所述任务转发中心在根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元时,具体用于:
根据注册在所述服务注册中心的所述任务处理单元的功能信息,筛选出能够执行所述任务的任务处理单元,若筛选出的能够执行所述任务的任务处理单元的个数大于1,则获取所述任务的唯一标识的哈希值,根据所述哈希值以及能够执行所述任务的任务处理单元的个数,从所述能够执行所述任务的任务处理单元中筛选出用于执行所述任务的任务处理单元。
可选地,所述任务转发中心在根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元时,具体用于:
根据注册在所述服务注册中心的所述任务处理单元的功能信息,筛选出能够执行所述任务的任务处理单元,若筛选出的能够执行所述任务的任务处理单元的个数大于1,则轮询所述能够执行所述任务的任务处理单元,并根据轮询结果从所述能够执行所述任务的任务处理单元中筛选出用于执行所述任务的任务处理单元。
本申请实施例与现有技术相比存在的有益效果是:
由于任务执行由任务处理单元负责,任务管理由任务调度中心、任务转发中心和服务注册中心负责,也即,任务执行和任务管理不再由同一个节点负责,因此,开发任务管理功能时,只需分别考虑任务调度中心、任务转发中心和服务注册中心所负责的功能,开发任务执行功能时,只需考虑任务处理单元所负责的功能,而不需要考虑任务管理和任务执行之间的耦合性,从而降低了开发的复杂度,提高了开发的灵活性,进而提高了开发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的第一种任务处理系统的结构框图;
图2是本申请实施例提供的第二种任务处理系统的结构框图;
图3是本申请实施例提供的第三种任务处理系统的结构框图;
图4是本申请实施例提供的第四种任务处理系统的结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
现有的单个任务处理节点兼具任务管理和任务执行的功能,即在开发该任务处理节点时需要兼顾任务管理和任务执行的耦合性,从而导致开发难度较大,开发周期较长。为了解决上述技术问题,本申请实施例提供了一种任务处理系统,该任务处理系统中,将实现任务管理和任务执行这两种功能的节点进行分离,这样,开发任务处理系统时,只需分别单独考虑任务管理的开发和任务执行的开发,即在开发该任务处理系统时,无需考虑任务管理和任务执行的耦合性,因此降低了开发任务处理系统的难度,提高了开发任务处理系统的灵活性,从而缩短了任务处理系统的开发周期。
图1示出了本申请实施例提供的第一种任务处理系统的结构框图,为了便于说明,仅示出了与本实施例相关的部分。
该任务处理系统1包括任务调度中心11、任务转发中心12、服务注册中心13以及任务处理单元14。需要指出的是,任务调度中心11、任务转发中心12、服务注册中心13以及任务处理单元14均为具有对应功能的网络设备。
所述任务调度中心11用于将任务发送至所述任务转发中心。
本实施例中,任务具有其对应的唯一标识以及内容,发送至任务转发中心的任务的数量可以为一个,也可以为多个。其中,任务的唯一标识可通过符号和数字表示,如设置为“#125412”,当然,也可通过字母、数字和/或字符等表示,任务的内容为需要执行的具体信息,如可设置为“每天中午11:50,发送提示短信给指定用户”。
所述任务转发中心12用于根据注册在所述服务注册中心13的所述任务处理单元14的功能信息,选择出用于执行所述任务的任务处理单元14,并将所述任务发送至选择出的任务处理单元14,其中,所述功能信息用于指示所述任务处理单元14具备的功能。
其中,任务转发中心12可以为网关,或具有上述任务转发中心12的功能的其他网络设备。
本实施例中,任务处理单元14预先将其具有的功能信息注册到服务注册中心13。比如,若任务处理单元14具有发送消息给指定用户的功能,则注册到服务注册中心13的功能信息可以为“sendMessage(userId)”;若具有上传指定时间段的日志数据的功能,则注册到服务注册中心13的功能信息可以为“uploadLog(startTime,endTime)”。也即,一个任务处理单元14可以具备一个或多个功能。任务转发中心12分析执行其获取的任务所需要的功能,得到分析结果,并根据注册在服务注册中心13的功能信息,选择出用于执行所述任务的任务处理单元14,最后将任务发送到选择的任务处理单元14。
在一些实施例中,当任务转发中心12和任务处理单元14是通过网络实现任务的发送时,任务转发中心12还需要获知该任务处理单元14的互联网协议地址(InternetProtocol Address,IP),端口号等通信信息,当然,这些通信信息可通过用户输入,也可以在任务处理单元14将通信信息注册到服务注册中心13后,该任务转发中心12再从服务注册中心13获取。在一些实施例中,服务注册中心13为提供Zookeeper的设备,该Zookeeper类似一个文件系统服务,将信息写入到该文件系统服务后,该文件系统服务能够保存写入的信息。
所述任务处理单元14用于接收所述任务转发中心12发送的任务并执行。
本实施例中,任务处理单元14接收到任务转发中心12发送的任务后,若其自身的资源足以支持其执行当前接收的任务,则直接对接收的任务进行执行;若其自身的资源不足以支持其执行当前接收的任务,则等待自身的资源被释放并足以支持其执行时再执行当前接收的任务,如等待正在执行的任务被执行完之后,再执行当前接收的任务。
在本申请实施例中,由于任务执行由任务处理单元负责,任务管理由任务调度中心、任务转发中心和服务注册中心负责,也即,任务执行和任务管理不再由同一个节点负责,因此,开发任务管理功能时,只需分别考虑任务调度中心、任务转发中心和服务注册中心所负责的功能,开发任务执行功能时,只需考虑任务处理单元所负责的功能,而不需要考虑任务管理和任务执行之间的耦合性,从而降低了开发的复杂度,提高了开发的灵活性,进而提高了开发效率。
在一些实施例中,由于任务调度中心在运行时可能出现宕机(即死机)的情况,因此,为了提高任务调度中心的高可用性,设置任务调度中心包括多个子任务调度中心。多个子任务调度中心的一个子任务调度中心作为主节点,其余子任务调度中心作为从节点,主节点负责任务的调度工作,从节点负责监控主节点的运行状态和同步该主节点的信息(如任务调度结果),这样,当主节点宕机时,从节点可以转换角色,转换为主节点,负责任务的调度工作。具体地:所述任务调度中心包括第一子任务调度中心和第二子任务调度中心,且所述第二子任务调度中心的个数大于或等于1。
所述第一子任务调度中心用于将任务发送至所述任务转发中心。
各个所述第二子任务调度中心用于监控所述第一子任务调度中心的运行状态,并同步所述第一子任务调度中心的信息,若所述第一子任务调度中心的运行状态指示所述第一子任务调度中心处于宕机状态,则各个所述第二子任务调度中心中的一个第二子任务调度中心将替换所述第一子任务调度中心,以将任务发送至所述任务转发中心。
本实施例中,第一子任务调度中心作为主节点,第二子任务调度中心作为从节点。其中,从节点同步主节点的信息是指同步主节点的所有信息,这样,后续主节点宕机时,从节点才能转换为主节点,进而实现任务的调度。
在一些实施例中,若从节点(即第二子任务调度中心)的个数大于1,则在主节点宕机时,多个从节点是通过抢占的方式实现角色的转换,抢占成功的从节点作为新的主节点,抢占不成功的从节点继续作为从节点。
图2示出了本申请实施例提供的第二种任务处理系统的结构框图,在本实施例中,为了防止任务丢失以及便于任务及时到任务转发中心12处理,所述任务处理系统还包括消息队列中间件15。
所述任务调度中心11包括第一子任务调度中心111和第二子任务调度中心112(图2只示出了一个第二子任务调度中心),所述第一子任务调度中心111用于将任务发送至所述消息队列中间件15的消息队列中。
所述任务转发中心12从所述消息队列获取所述任务。
本实施例的消息队列中间件15的进出规则是:先进先出。在一些实施例中,消息队列中间件15可采用RocketMQ实现对应的消息队列,将分发的任务发送到消息队列中间件15中,降低了高并发带来的风险;同时RocketMQ可以持久化消息,确保了存入该消息队列的任务不会丢失,提高了任务的高可用性。
上述实施例中,任务转发中心12通过订阅与消息队列中间件15的任务有关的标题(topic),在消息队列中间件15接收到新的任务后,该任务转发中心12能够接收到与上述新的任务有关的信息,比如,接收到执行该新的任务所需的功能(或方法)等,这样,后续任务转发中心12可以在服务注册中心13查找与新的任务有关的信息匹配的功能信息。
在一些实施例中,由于任务分为实时任务和定时任务,且消息队列中间件15的消息队列的进出规则是先进先出,因此,为了能够提高消息队列中间件15的利用率,所述任务调度中心11将任务发送至所述消息队列中间件15的消息队列中时,具体用于:
获取任务的触发时间,若所述任务的触发时间与当前时间的差在预设时长范围内,则将所述任务发送至所述消息队列中间件15的消息队列中。
本实施例中,任务的触发时间为用户希望任务被执行的时间,例如,若一个任务是“每天中午11:50,发送提示短信给指定用户”,那么任务的触发时间是11:50。当从任务的内容中解析出任务的触发时间,则根据该触发时间将对应的任务发送至消息队列中间件15的消息队列中。例如,若预设时长范围为2秒,任务的触发时间为11:50,当前时间为11:49:59,则将任务的触发时间为11:50所对应的任务发送至消息队列中间件15的消息队列中。
当然,若从任务的内容中没有解析出任务的触发时间,则判定该任务为实时任务,此时,可直接将该实时任务发送至消息队列中间件15的消息队列中。
图3示出了本申请实施例提供的第三种任务处理系统的结构框图,在本实施例中,所述任务处理系统1还包括配置中心16。
所述配置中心16用于修改所述任务处理单元14的功能信息。
所述任务处理单元14还用于将修改的功能信息重新注册到所述服务注册中心13。
本实施例中,配置中心16可以动态修改各个任务处理单元14的功能信息,且功能信息被修改的任务处理单元14还将被修改的功能信息重新注册到服务注册中心13,以及时更新注册在服务注册中心13的功能信息。由于配置中心16能够修改任务处理单元14的功能信息,而任务处理单元14也相应修改其注册在服务注册中心13的功能信息,且任务转发中心12在转发任务时是结合注册在服务注册中心13的功能信息选择任务处理单元的,也即,任务处理单元14的功能信息被修改后将影响其能够执行的任务,因此,通过配置中心16对任务处理单元14的功能信息的修改能够实现任务处理单元14的负载的动态调整,从而通过增加配置中心16能够极大提高对任务处理单元14的管理的便利性。
图4示出了本申请实施例提供的第四种任务处理系统的结构框图,在一些实施例中,为了便于查询被执行的任务以及任务被执行所得到的执行结果,所述任务处理系统1还包括任务信息存储单元17。
所述任务信息存储单元17用于存储所述任务调度中心11发送的任务和所述任务的执行结果。
本实施例中,任务信息存储单元17存储任务调度中心11发送至任务转发中心12(或消息队列中间件15的消息队列中)的所有任务,其相当于任务源的存储设备。在任务处理单元14执行了任务之后,其将该任务的执行结果(如任务是否已经调度,任务是否调用成功等)反馈至任务转发中心12,该任务转发中心12再将接收的任务的执行结果反馈至任务调度中心11,最后由任务调度中心11发送至任务信息存储单元17中存储。
在一些实施例中,所述任务转发中心12还用于:
若发送至任务处理单元14的任务的数量大于预设的数量阈值,则通知所述任务处理单元14暂停执行指定任务,和/或,暂停将获取的任务发送至所述任务处理单元14。
本实施例中,当任务转发中心12判断出其发送至任务处理单元14的任务数量较多时,通过2种方式来降低任务处理单元14的负载:一种是暂停执行指定任务,这些指定任务通常为优先级较低的任务;另一种是暂停向任务处理单元14发送其获取的任务。通过这样调整,有利于任务处理单元14更好地执行优先级较高的任务。
在一些实施例中,所述配置中心16还用于修改所述任务处理单元14的权重信息,其中,所述权重信息根据所述任务处理单元14的负载确定。
所述任务处理单元14还用于将修改的权重信息重新注册到所述服务注册中心43。
所述任务转发中心12在根据注册在所述服务注册中心13的所述任务处理单元14的功能信息,选择出用于执行所述任务的任务处理单元14时,具体用于:根据注册在所述服务注册中心13的所述任务处理单元14的功能信息,筛选出能够执行所述任务的任务处理单元14,若筛选出的能够执行所述任务的任务处理单元14的个数大于1,则根据所述能够执行所述任务的任务处理单元14的权重信息,从所述能够执行所述任务的任务处理单元14中筛选出用于执行所述任务的任务处理单元14。
本实施例中,若任务转发中心12根据注册在服务注册中心13的任务处理单元14的功能信息,筛选出能够执行所述任务的任务处理单元14的个数有2个,假设为任务处理单元m和任务处理单元n,且任务处理单元m的权重信息为m1,任务处理单元n的权重信息为n1,m1<n1(表示任务处理单元n的负载小于任务处理单元m的负载)此时,任务转发中心12将获取的任务发送至任务处理单元n。由于任务被发送至负载更小的任务处理单元执行,因此,提高了任务的执行效率。
在一些实施例中,所述权重信息根据所述任务处理单元14执行的任务的成功率确定,此时,将根据任务的优先级等级选择对应的权重信息,进而将任务发送至与选择的权重信息对应的任务处理单元14。例如,若权重信息越大,表明执行的任务的成功率越高,则优先级越高的任务将被发送至具有更大的权重信息所对应的任务处理单元。
在一些实施例中,所述任务转发中心12在根据注册在所述服务注册中心的所述任务处理单元14的功能信息,选择出用于执行所述任务的任务处理单元14时,具体用于:
根据注册在所述服务注册中心13的所述任务处理单元14的功能信息,筛选出能够执行所述任务的任务处理单元14,若筛选出的能够执行所述任务的任务处理单元14的个数大于1,则获取所述任务的唯一标识的哈希值,根据所述哈希值以及能够执行所述任务的任务处理单元14的个数,从所述能够执行所述任务的任务处理单元14中筛选出用于执行所述任务的任务处理单元14。
本实施中,若筛选出的能够执行任务的任务处理单元14的个数大于1,假设能够执行任务的任务处理单元14有3个,则获取任务的唯一标识的哈希值,比如,任务的唯一标识=#125412,其对应的哈希(HASH)值为1120,则1120%3=1(即求余数后为1),即将任务发送给第一个任务处理单元14。
在一些实施例中,所述任务转发中心12在根据注册在所述服务注册中心13的所述任务处理单元14的功能信息,选择出用于执行所述任务的任务处理单元14时,具体用于:
根据注册在所述服务注册中心13的所述任务处理单元14的功能信息,筛选出能够执行所述任务的任务处理单元14,若筛选出的能够执行所述任务的任务处理单元14的个数大于1,则轮询所述能够执行所述任务的任务处理单元14,并根据轮询结果从所述能够执行所述任务的任务处理单元14中筛选出用于执行所述任务的任务处理单元14。
本实施例中,任务转发中心12轮询各个能够执行任务的任务处理单元14,并将任务发送至首次应答的任务处理单元14,从而能够准确将任务发送至能够快速执行任务的任务处理单元14。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种任务处理系统,其特征在于,包括任务调度中心、任务转发中心、服务注册中心以及任务处理单元;
所述任务调度中心用于将任务发送至所述任务转发中心;
所述任务转发中心用于根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元,并将所述任务发送至选择出的任务处理单元,其中,所述功能信息用于指示所述任务处理单元具备的功能;
所述任务处理单元用于接收所述任务转发中心发送的任务并执行。
2.如权利要求1所述的任务处理系统,其特征在于,所述任务调度中心包括第一子任务调度中心和第二子任务调度中心,且所述第二子任务调度中心的个数大于或等于1;
所述第一子任务调度中心用于将任务发送至所述任务转发中心;
各个所述第二子任务调度中心用于监控所述第一子任务调度中心的运行状态,并同步所述第一子任务调度中心的信息,若所述第一子任务调度中心的运行状态指示所述第一子任务调度中心处于宕机状态,则各个所述第二子任务调度中心中的一个第二子任务调度中心将替换所述第一子任务调度中心,以将任务发送至所述任务转发中心。
3.如权利要求1所述的任务处理系统,其特征在于,所述任务处理系统还包括消息队列中间件;
所述任务调度中心用于将任务发送至所述消息队列中间件的消息队列中;
所述任务转发中心从所述消息队列获取所述任务。
4.如权利要求3所述的任务处理系统,其特征在于,所述任务调度中心将任务发送至所述消息队列中间件的消息队列时,具体用于:
获取任务的触发时间,若所述任务的触发时间与当前时间的差在预设时长范围内,则将所述任务发送至所述消息队列中间件的消息队列。
5.如权利要求1所述的任务处理系统,其特征在于,所述任务处理系统还包括配置中心;
所述配置中心用于修改所述任务处理单元的功能信息;
所述任务处理单元还用于将修改的功能信息重新注册到所述服务注册中心。
6.如权利要求1所述的任务处理系统,其特征在于,所述任务处理系统还包括任务信息存储单元;
所述任务信息存储单元用于存储所述任务调度中心发送的任务和所述任务的处理结果。
7.如权利要求1所述的任务处理系统,其特征在于,所述任务转发中心还用于:
若发送至任务处理单元的任务的数量大于预设的数量阈值,则通知所述任务处理单元暂停执行指定任务,和/或,暂停将获取的任务发送至任务处理单元。
8.如权利要求5所述的任务处理系统,其特征在于,所述配置中心还用于修改所述任务处理单元的权重信息,其中,所述权重信息根据所述任务处理单元的负载确定;
所述任务处理单元还用于将修改的权重信息重新注册到所述服务注册中心;
所述任务转发中心在根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元时,具体用于:根据注册在所述服务注册中心的所述任务处理单元的功能信息,筛选出能够执行所述任务的任务处理单元,若筛选出的能够执行所述任务的任务处理单元的个数大于1,则根据所述能够执行所述任务的任务处理单元的权重信息,从所述能够执行所述任务的任务处理单元中筛选出用于执行所述任务的任务处理单元。
9.如权利要求1至7任一项所述的任务处理系统,其特征在于,所述任务转发中心在根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元时,具体用于:
根据注册在所述服务注册中心的所述任务处理单元的功能信息,筛选出能够执行所述任务的任务处理单元,若筛选出的能够执行所述任务的任务处理单元的个数大于1,则获取所述任务的唯一标识的哈希值,根据所述哈希值以及能够执行所述任务的任务处理单元的个数,从所述能够执行所述任务的任务处理单元中筛选出用于执行所述任务的任务处理单元。
10.如权利要求1至7任一项所述的任务处理系统,其特征在于,所述任务转发中心在根据注册在所述服务注册中心的所述任务处理单元的功能信息,选择出用于执行所述任务的任务处理单元时,具体用于:
根据注册在所述服务注册中心的所述任务处理单元的功能信息,筛选出能够执行所述任务的任务处理单元,若筛选出的能够执行所述任务的任务处理单元的个数大于1,则轮询所述能够执行所述任务的任务处理单元,并根据轮询结果从所述能够执行所述任务的任务处理单元中筛选出用于执行所述任务的任务处理单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885415.7A CN112181610A (zh) | 2020-08-28 | 2020-08-28 | 一种任务处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885415.7A CN112181610A (zh) | 2020-08-28 | 2020-08-28 | 一种任务处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181610A true CN112181610A (zh) | 2021-01-05 |
Family
ID=73924478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010885415.7A Pending CN112181610A (zh) | 2020-08-28 | 2020-08-28 | 一种任务处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181610A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115953282A (zh) * | 2022-12-05 | 2023-04-11 | 广州市双照电子科技有限公司 | 一种视频任务的处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776153A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 作业控制方法及服务器 |
CN107623731A (zh) * | 2017-09-15 | 2018-01-23 | 浪潮软件股份有限公司 | 一种任务调度方法、客户端、服务集群及系统 |
CN107844339A (zh) * | 2017-11-15 | 2018-03-27 | 湖北盛天网络技术股份有限公司 | 任务调度方法及插件和服务器 |
CN110750341A (zh) * | 2018-07-24 | 2020-02-04 | 深圳市优必选科技有限公司 | 任务调度方法、装置、系统、终端设备及存储介质 |
CN111314241A (zh) * | 2020-01-17 | 2020-06-19 | 新华智云科技有限公司 | 一种任务调度方法及调度系统 |
CN111324435A (zh) * | 2020-02-06 | 2020-06-23 | 北京奇艺世纪科技有限公司 | 分布式任务调度及注册方法、设备和分布式任务调度系统 |
-
2020
- 2020-08-28 CN CN202010885415.7A patent/CN112181610A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776153A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 作业控制方法及服务器 |
CN107623731A (zh) * | 2017-09-15 | 2018-01-23 | 浪潮软件股份有限公司 | 一种任务调度方法、客户端、服务集群及系统 |
CN107844339A (zh) * | 2017-11-15 | 2018-03-27 | 湖北盛天网络技术股份有限公司 | 任务调度方法及插件和服务器 |
CN110750341A (zh) * | 2018-07-24 | 2020-02-04 | 深圳市优必选科技有限公司 | 任务调度方法、装置、系统、终端设备及存储介质 |
CN111314241A (zh) * | 2020-01-17 | 2020-06-19 | 新华智云科技有限公司 | 一种任务调度方法及调度系统 |
CN111324435A (zh) * | 2020-02-06 | 2020-06-23 | 北京奇艺世纪科技有限公司 | 分布式任务调度及注册方法、设备和分布式任务调度系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115953282A (zh) * | 2022-12-05 | 2023-04-11 | 广州市双照电子科技有限公司 | 一种视频任务的处理方法及装置 |
CN115953282B (zh) * | 2022-12-05 | 2024-04-26 | 广州市双照电子科技有限公司 | 一种视频任务的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290180B (zh) | 分布式任务调度方法、装置、计算机设备和存储介质 | |
CN109271265B (zh) | 基于消息队列的请求处理方法、装置、设备及存储介质 | |
EP3637733B1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN102868736B (zh) | 一种云计算监控框架设计及实现方法及云计算处理设备 | |
US9519490B2 (en) | Adaptive data synchronization | |
US10454795B1 (en) | Intermediate batch service for serverless computing environment metrics | |
CN112416581B (zh) | 定时任务的分布式调用系统 | |
CN109271243B (zh) | 一种集群任务管理系统 | |
CN111459639A (zh) | 一种支持全球多机房部署的分布式任务管理平台及方法 | |
CN110727507B (zh) | 一种消息的处理方法、装置、计算机设备和存储介质 | |
CN110324262A (zh) | 一种资源抢占的方法及装置 | |
CN112671813B (zh) | 服务器确定方法、装置、设备及存储介质 | |
CN112583734A (zh) | 一种突发流量控制方法、装置、电子设备及存储介质 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
US10498617B1 (en) | System, method, and computer program for highly available and scalable application monitoring | |
CN112181610A (zh) | 一种任务处理系统 | |
CN113364888B (zh) | 服务调度方法、系统、电子设备及计算机可读存储介质 | |
CN111078348A (zh) | 一种界面管理方法、装置、设备和存储介质 | |
CN110635968A (zh) | 堆叠双活检测通道的监控方法、装置、设备及存储介质 | |
CN111475315B (zh) | 服务器及订阅通知推送控制、执行方法 | |
CN113965538B (zh) | 设备状态消息处理方法、装置及存储介质 | |
CN113347430B (zh) | 一种硬件转码加速设备的分布式调度装置及其使用方法 | |
CN113271228B (zh) | 带宽资源调度方法、装置、设备及计算机可读存储介质 | |
CN113986516A (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 |