CN113391890A - 一种任务处理方法、装置、设备和计算机存储介质 - Google Patents
一种任务处理方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN113391890A CN113391890A CN202110414300.4A CN202110414300A CN113391890A CN 113391890 A CN113391890 A CN 113391890A CN 202110414300 A CN202110414300 A CN 202110414300A CN 113391890 A CN113391890 A CN 113391890A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- policy
- strategy
- determining
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009530 blood pressure measurement Methods 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提出了一种任务处理方法、装置、电子设备和计算机存储介质,所述方法应用于电子设备中,所述方法包括:确定策略规则集合;策略规则集合包括与执行高并发任务相关的任务调度策略;获取待处理任务,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则;根据目标策略规则,对待处理任务执行相关操作。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种任务处理方法、装置、电子设备和计算机存储介质。
背景技术
互联网行业的高速发展,伴随着互联网用户的指数级增长,迅猛增长的高并发请求已经让传统的应用架构逐渐变的不再适用,甚至许多大型门户网站由于无法满足高并发任务的处理能力,导致系统崩溃,带来巨大的损失。
相关技术中,处理高并发任务的系统大致可以分为两类:一类是从用户体验出发:为了提升响应速度,提高用户体验,通过缓存集群抗压来满足高并发的读请求流量;另一类是从系统稳定性出发:为了保证系统的稳定性,当流量超过一定的阈值直接对接口限流,拒绝之后的服务请求,以此保证系统的正常运行。可见,相关技术中,针对高并发任务的通用处理方案主要是:高速网络+集群+内存数据库+自动限流降级策略;然而,采用这种方案,虽然能够满足一定量的高并发任务请求,但还是会存在些许性能瓶颈,对应用服务器、数据库服务器造成极大的负载压力,降低任务执行的效率和稳定性。
发明内容
本申请提供一种任务处理方法、装置、电子设备和计算机存储介质,可以降低服务器负载压力,提高任务执行的效率和稳定性。
本申请的技术方案是这样实现的:
本申请实施例提供了一种任务处理方法,应用于电子设备中,所述方法包括:
确定策略规则集合;所述策略规则集合包括与执行高并发任务相关的任务调度策略;
获取待处理任务,根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则;
根据所述目标策略规则,对所述待处理任务执行相关操作。
在一些实施例中,所述根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则,包括:
在确定所述待处理任务的任务类型为非实时性任务的情况下,确定所述目标策略规则为采用消息队列机制的策略规则。
在一些实施例中,所述根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则,包括:
在确定所述待处理任务的任务类型为实时性任务的情况下,确定所述目标策略规则为先采用缓存执行,再将执行结果同步到数据库的策略规则。
在一些实施例中,所述根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则,包括:
在确定所述待处理任务的任务类型为定时任务的情况下,确定所述目标策略规则为提前执行并在每个定时时刻发布执行结果的策略规则。
在一些实施例中,所述方法还包括:
在对所述待处理任务执行相关操作后,得到操作反馈信息;
根据所述操作反馈信息,对所述任务调度策略进行调整。
在一些实施例中,所述方法还包括:
按照业务需求对所述策略规则集合中的每个策略规则进行修改,得到更新后的策略规则集合。
本申请实施例还提出了一种任务处理装置,应用于电子设备中,所述装置包括第一确定单元、第二确定单元和执行单元,其中,
第一确定单元,用于确定策略规则集合;所述策略规则集合包括与执行高并发任务相关的任务调度策略;
第二确定单元,用于获取待处理任务,根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则;
执行单元,用于根据所述目标策略规则,对所述待处理任务执行相关操作。
本申请实施例提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的任务处理方法。
本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的任务处理方法。
本申请实施例提出了一种任务处理方法、装置、电子设备和计算机存储介质,该方法应用于电子设备中,该方法包括:确定策略规则集合;所述策略规则集合包括与执行高并发任务相关的任务调度策略;获取待处理任务,根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则;根据所述目标策略规则,对所述待处理任务执行相关操作;如此,本申请实施例中,对于不同任务类型的待处理任务,均可以从策略规则集合中获取对应的目标策略规则;即,对不同任务类型的高并发任务可以匹配与其对应的任务调度策略,实现最大化地对高并发任务进行处理,进而,在保证服务器及数据库的稳定性的同时提高系统的资源利用率。
附图说明
图1是本申请实施例中的一种任务处理方法的流程示意图;
图2a是本申请实施例中的任务处理过程中各模块连接关系的示意图;
图2b是本申请实施例中的通过各模块对高并发任务进行处理的结构示意图;
图3是本申请实施例的任务处理装置的组成结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其它要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,I和/或J,可以表示:单独存在I,同时存在I和J,单独存在J这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括I、J、R中的至少一种,可以表示包括从I、J和R构成的集合中选择的任意一个或多个元素。
例如,本申请实施例提供的任务处理方法包含了一系列的步骤,但是本申请实施例提供的任务处理方法不限于所记载的步骤,同样地,本申请实施例提供的任务处理装置包括了一系列单元,但是本申请实施例提供的任务处理装置不限于包括所明确记载的单元,还可以包括为获取相关任务数据、或基于任务数据进行处理时所需要设置的单元。
本申请实施例可以应用于终端设备和服务器组成的计算机系统中,并可以与众多其它通用或专用计算系统环境或配置一起操作。这里,终端设备可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等,服务器可以是服务器计算机系统小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
相关技术中,针对高并发任务的处理方式,主要存在以下技术问题:
1)通过缓存策略,虽然在一定程度上解决了高并发读取带来的压力。但在高并发写入并发量的情况下,该策略无法分担数据库的压力,瞬间的并发写入对数据库有着极大的伤害,甚至导致服务器宕机。
2)通过自动限流降级,虽然在一定程度上避免了后端服务系统在流量超过服务能力导致的系统宕机,但是并没有从根本上解决如何提升系统的高并发负载能力。
3)对于任务调度策略没有统一的策略管理平台,无法满足自动的规则更新。
4)服务器之间存在差异,无法满足任务的动态负载均衡分配。
针对上述技术问题,提出以下实施例。
在本申请的一些实施例中,任务处理方法可以利用任务处理装置中的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(DigitalSignal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
图1是本申请实施例中的一种任务处理方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤100:确定策略规则集合;策略规则集合包括与执行高并发任务相关的任务调度策略。
在一种实施方式中,可以通过策略管理模块确定策略规则集合;这里,策略管理模块可以包括dashboard控制面板和ETCD集群;这里,dashboard控制面板是一个可视化的控制面板,通过该控制面板可以实现对策略规则集合中每个策略规则的配置、修改或查看等操作;ETCD集群是一个分布式的、高可用的键值对(key-value)数据存储系统,其采用raft算法,实现分布式系统数据的可用性和一致性;主要用于服务发现、分享配置以及分布式锁等场景中。
示例性地,在通过策略管理模块确定策略规则集合的过程中,可以通过dashboard控制面板,预先配置策略规则集合中的策略规则;这里,在确定每个策略规则配置完成的情况下,便将该策略规则保存在ETCD集群中;即,在各个策略规则均配置完成的情况下,可以确定策略规则集合,该策略规则集合位于ETCD集群中。
本申请实施例中,可以通过策略管理模块对任务调度策略进行统一管理,并实现对策略规则集合中各个策略规则的更新和扩展;可见,本申请实施例能够满足对不同策略规则的管理需求,确保后续高并发任务执行的高效性。
在一些实施例中,上述方法还可以包括:按照业务需求对策略规则集合中的每个策略规则进行修改,得到更新后的策略规则集合。
这里,对于配置完成后的策略规则集合中的每个策略规则,均可以按照业务需求对其进行修改,得到更新后的策略规则;在得到更新后的策略规则后,直接使用更新后的策略规则替换ETCD集群中原有的策略规则,确保策略规则的一致性。
示例性地,在确定策略规则集合后,还可以将策略规则集合持久化保存到数据库中,这样,若确定保存在ETCD集群中的某个策略规则出现异常,则可以直接从该数据库中获取相应的策略规则,进而,提高策略规则管理的便利性。
步骤101:获取待处理任务,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则。
在一种实施方式中,待处理任务可以包括一系列的高并发任务,例如,可以是高并发的写任务、高并发的读任务、高并发的查询任务等;其中,待处理任务的任务类型可以包括以下任意一项:非实时性任务、实时性任务、定时任务。进一步地,可以将上述不同的高并发任务与任务类型进行结合,例如,待处理任务可以包括高并发的非实时查询任务,也可以包括高并发的定时写任务,还可以包括高并发的非实时查询任务以及高并发的定时写任务等,本申请实施例对此不作限定。
在一些实施例中,非实时性任务的特点在于即使这类任务延后执行,也不影响用户体验;实时性任务的特点在于这类任务需要在一定时间范围内完成;定时任务的特点在于这类任务需要在指定的时刻执行。
示例性地,可以基于一个或多个应用程序(Application,App)中包括的每个功能模块,获取对应的待处理任务;这里,每个功能模块与ETCD集群连接;每个功能模块用于获取并执行与其功能相关的待处理任务,且不同功能模块获取的待处理任务可以相同,也可以不同;例如,在待处理任务包括高并发的非实时查询任务以及高并发的定时写任务时,功能模块1可以获取高并发的非实时查询任务,功能模块2可以获取高并发的非实时查询任务的同时获取高并发的定时写任务。
本申请实施例中,在获取到待处理任务后,每个功能模块可以根据待处理任务的任务类型从上述步骤确定的任务调度策略中获取对应的目标策略规则;进而,根据目标策略规则,实现对待处理任务的处理。这里,目标策略规则可以包括待处理任务所属的应用程序名称、任务类型以及具体的策略规则。
在一些实施例中,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则,可以包括:在确定待处理任务的任务类型为非实时性任务的情况下,确定目标策略规则为采用消息队列机制的策略规则。
在一些实施例中,由于非实时性任务表示对任务实时性要求不高的任务,因而,在对这类任务执行时的目标策略规则可以为:采用消息队列机制;示例性地,首先将这类任务存储到消息队列中,然后在具体的任务执行过程中,服务实例按需从消息队列中拉取对应的任务并消费执行;即,可以利用消息队列对这类任务进行缓冲,确保这类任务的平滑执行;这样,可以有效降低因为高并发任务集中被服务实例消费执行所导致的服务器资源耗尽甚至宕机的风险。
示例性地,在每个任务执行成功后可以通过确认字符(Acknowledge character,ACK)机制消费确认,如果某个任务消费超时或者失败,则通过其它服务实例再次从消息队列中拉取该任务并消费执行。这里,为了避免因为网络原因或者超时导致的重复消费执行问题,需要保证服务实例执行任务的幂等性;例如,对于领取优惠券这个任务,如果不保证幂等性,则存在优惠券重复领取的可能性。
这里,对于消息队列的类型本申请实施例不作限定,例如,可以是分布式队列Kafka集群,也可以是其它类型的消息队列。
在一些实施例中,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则,可以包括:在确定待处理任务的任务类型为实时性任务的情况下,确定目标策略规则为先采用缓存执行,再将执行结果同步到数据库的策略规则。
在一些实施例中,由于实时性任务表示对任务实时性要求较高的任务,因而,在对这类任务执行时的目标策略规则可以为:先采用缓存对这类任务执行,得到执行结果,再将该执行结果同步到数据库中。
示例性地,可以基于Storm实时流计算框架处理实时性任务,一方面满足了海量庞大的数据处理,另一方面也保证了高并发任务的处理是完全基于内存执行,并且当任务执行失败时,Storm的容错机制能定位产生处理失败的任务的位置并恢复数据保证任务执行的可靠性。
在一些实施例中,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则,可以包括:在确定待处理任务的任务类型为定时任务的情况下,确定目标策略规则为提前执行并在每个定时时刻发布执行结果的策略规则。
在一些实施例中,由于定时任务需要在每个定时时刻执行任务,而海量的定时任务同时被执行会消耗大量的服务器资源;因而,在对这类任务执行时的目标策略规则可以为:提前执行这类任务,得到执行结果,并在每个定时时刻到来时直接发布执行结果。
在一些实施例中,假设有大量的商家设置定时发布,以更新主站页面,则需要同时向各个端(如App,微信甚至HTML5端)提供执行结果对应的业务数据,并保证各端的业务数据统一。在服务端,当设置定时发布时,首先将该定时任务发送到分布式队列中,然后各个服务实例提前采用缓存消费执行,得到执行结果,对执行结果按照业务Key进行缓存;这里,业务Key主要是指同一个业务被设置多个定时发布任务,当生效时间点靠后的任务可以覆盖之前的任务时,则直接可以通过业务Key进行覆盖。示例性地,可以通过商家身份标识号(Identity document,ID)确定业务Key,另外,可以按照各个定时任务的生效时间点对执行结果进行排序;在实际应用中,定时任务可以随意设置之后的生效时间点。
为了保证各个端能同时获取到相同的业务数据,在设置定时任务时,服务端给各个端根据业务Key发送生效时间点,各个端根据业务Key的生效时间点的递增顺序存储生效时间点,得到存储度队列,当有高并发任务的请求时,根据存储度队列确定距离当前时间点最近的生效时间点,然后获取服务端对应匹配的业务数据。
可见,本申请实施例中,对于不同任务类型的高并发任务采取分而治之策略;对于非实时性任务,引入了分布式消息队列机制,实现了任务的平滑执行;对于实时性任务,则是通过Storm框架保证任务的可靠与实时执行;对于定时任务,则是通过提前执行并在每个定时时刻发布执行结果的策略;而不同任务类型的高并发任务采用不同的策略规则,能够平衡系统处理高并发任务的压力,进而提高系统的整体性能。
步骤102:根据目标策略规则,对待处理任务执行相关操作。
本申请实施例中,在根据待处理任务的任务类型,确定对应的目标策略规则后,便可直接从ETCD集群中获取待处理任务对应的目标策略规则;进而,可以根据该目标策略规则对待处理任务执行相关操作。
在一些实施例中,上述方法还可以包括:在对待处理任务执行相关操作后,得到操作反馈信息;根据操作反馈信息,对任务调度策略进行调整。
示例性地,在根据目标策略规则对待处理任务执行相关操作后,得到操作反馈信息;该操作反馈信息可以表明各服务器对待处理任务的执行情况;功能模块会将该操作反馈信息反馈给ETCD集群;ETCD集群在接收到该操作反馈信息后,可以动态对任务调度策略进行调整;同时,还可以根据该操作反馈信息得到各服务器的负载分配情况,进而,动态管理及分配未执行的任务,对于负载较高的应用服务器分配较少的任务,对于负载较低的应用服务器分配较多的任务,即,可以动态调整任务执行数量,保证服务负载均衡。
本申请实施例提出了一种任务处理方法、装置、电子设备和计算机存储介质,该方法应用于电子设备中,该方法包括:确定策略规则集合;策略规则集合包括与执行高并发任务相关的任务调度策略;获取待处理任务,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则;根据目标策略规则,对待处理任务执行相关操作;如此,本申请实施例中,对于不同任务类型的待处理任务,均可以从策略规则集合中获取对应的目标策略规则;即,对不同任务类型的高并发任务可以匹配与其对应的任务调度策略,实现最大化地对高并发任务进行处理,进而,在保证服务器及数据库的稳定性的同时提高系统的资源利用率;另外,本申请实施例还可以根据对待处理任务的执行情况,动态调整各服务器上的任务执行数量,保证负载均衡,降低各服务器的负载压力,提高任务执行的效率和稳定性。
在一些实施例中,上述策略规则集合还可以包括任务流控策略;任务流控策略能够保证高并发任务的流量突然激增时的系统处理能力;由于在根据任务调度策略对高并发任务执行操作时,可能存在流量突然激增的异常情况;此时,通过任务流控策略对这类异常情况进行处理,可以确保系统的稳定性。
示例性地,高并发任务在通过任务流控策略进行流控的阈值可以由实际业务场景进行确定,本申请实施例对此不做限定;例如,可以是日常流量峰值的2倍,也可以是压测峰值的90%,还可以是上述两者中的较小者。
在一些实施例中,任务流控的维度有:方法级别和有效用户这两种维度;如对于领券任务,为了避免恶意用户的刷券,尽可能保证正常用户的权限,则这两种维度都起作用;对于普通的查询任务,可以直接采用方法级别监控控制;其中,方法级别维度可以采用Sentinel自动限流机制;有效用户维度,可以基于<方法key,用户Pin>维度进行本地限流操作。
在一些实施例中,上述功能模块可以包括任务调度模块、任务数据模块和服务及任务监控模块;其中,任务调度模块可以用于根据任务调度策略对不同任务类型的高并发任务进行处理;这部分内容已在上述步骤中进行说明,此处不再赘述;下面对任务数据模块和服务及任务监控模块进行说明。
示例性地,任务数据模块主要是对不同的任务类型的高并发任务,从ETCD集群获取数据同步策略规则,然后根据该策略规则实现负载均衡的读写,实现服务器的负载均衡。这里,任务数据模块可以分为三部分:数据同步策略、数据视图以及数据恢复策略。
其中,数据同步策略主要是提升数据库的负载与处理性能,避免大量的写请求积压导致服务器的性能下降;无论是实时性任务,还是非实时性任务异或是定时任务,当涉及到数据落盘时,都将面临着海量的数据同时操作数据库的情况。为了保证数据库等服务器的性能,采取的策略都是平滑落入数据库的方式。首先,当有海量的数据同时落盘时,首先将数据以文件的形式保存,随后再以一定的速度平滑落盘。当然,对于这类任务,执行结果已经按其它方式存储(比如Redis缓存)。
数据视图主要针对读操作较多的任务,主要的策略是实现读的负载访问。对于不同的任务类型确定不同的视图策略,对于海量的读操作:则是基于本地内存+Redis缓存多级缓存策略;对于一般的读操作,可以直接基于Redis缓存。数据恢复策略表示任务执行异常时的数据恢复,可以基于监测线程去重试,重试的方法需要保证幂等性,当超过一定的次数时,则通过报警然后人工介入处理。
服务及任务监控模块主要用于统计服务器的中央处理器(central processingunit,CPU)、内存使用率以及执行任务方法的性能,例如,TP999指标和每秒查询率(QueriesPer Second,QPS)。该模块作为子功能作用于任务调度模块与任务数据模块,通过该模块与ETCD集群建立长连接。当上述操作反馈信息超过一定的阈值(阈值等参数设置可以通过dashboard控制面板控制)时,则反馈给ETCD集群,然后ETCD集群基于负载权值以及服务性能动态分配任务。
为了能够更加体现本申请的目的,在本申请上述实施例的基础上,进行进一步的举例说明。
图2a是本申请实施例中的任务处理过程中各模块连接关系的示意图,如图2a所示,策略管理模块主要负责任务调度策略配置,任务流控策略配置,数据同步策略配置以及任务负载分配;这些配置信息可以通过ETCD集群向任务调度模块和任务数据模块赋能,同时这些模块将操作反馈信息反馈给ETCD集群,实现自动负载均衡分配任务。任务调度模块则根据从ETCD集群获取的任务调度策略来决定适配对应的目标策略规则,实现不同任务类型的高并非任务的平滑、错峰以及内存执行。任务数据模块根据从ETCD集群获取的数据同步策略,对于需要落盘的数据进行数据落盘,对于查询数据则基于负载均衡实现不同的数据视图能力,并实现任务执行异常时的数据恢复。
图2b是本申请实施例中的通过各模块对高并发任务进行处理的结构示意图,如图2b所示,该结构包括策略管理模块、任务调度模块、任务数据模块和服务及任务监控模块;其中,任务调度模块和任务数据模块属于应用App中的部分功能模块,任务调度模块是基于任务类型(非实时性任务、实时性任务和定时任务)对应的任务调度策略执行应用App中对应的高并发任务。任务数据模块可以分为三部分:数据同步策略、数据视图以及数据恢复策略;其主要执行应用App中的数据落盘,写同步、查询,以及异常情况下的数据恢复任务。服务及任务监控模块作为子功能作用于任务调度模块与任务数据模块,任务调度模块与任务数据模块通过该模块与ETCD集群建立长连接;任务调度模块与任务数据模块将高并发任务的执行结果保存在数据库集群中。
本申请实施例提供了一种任务处理方法,有益于服务器,相关系统甚至数据库等的负载均衡以及稳定性;通过引用ETCD集群的分布式任务策略配制中心,即,策略管理模块;保证了执行不同任务类型的高并发任务的高效性以及策略规则的一致性,同时子模块(任务调度模块、任务数据模块和服务及任务监控模块)通过反馈上报操作反馈信息(任务执行情况以及服务器的监控信息)给ETCD集群,并基于此实现了任务调度策略的动态调整,对于不同任务类型的高并发任务制定不同的任务处理策略规则,满足了系统资源利用率的最大化;另外,该方法还可以扩展任务执行的策略规则,实现了任务的细粒度管理与执行。
图3是本申请实施例的任务处理装置的组成结构示意图,如图3所示,该装置包括:第一确定单元300、第二确定单元301和执行单元302,其中:
第一确定单元300,用于确定策略规则集合;策略规则集合包括与执行高并发任务相关的任务调度策略;
第二确定单元301,用于获取待处理任务,根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则;
执行单元302,用于根据目标策略规则,对待处理任务执行相关操作。
在一些实施例中,第二确定单元301,用于根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则,包括:
在确定待处理任务的任务类型为非实时性任务的情况下,确定目标策略规则为采用消息队列机制的策略规则。
在一些实施例中,第二确定单元301,用于根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则,包括:
在确定待处理任务的任务类型为实时性任务的情况下,确定目标策略规则为先采用缓存执行,再将执行结果同步到数据库的策略规则。
在一些实施例中,第二确定单元301,用于根据待处理任务的任务类型从任务调度策略中确定对应的目标策略规则,包括:
在确定待处理任务的任务类型为定时任务的情况下,确定目标策略规则为提前执行并在每个定时时刻发布执行结果的策略规则。
在一些实施例中,执行单元302,还用于:
在对待处理任务执行相关操作后,得到操作反馈信息;
根据操作反馈信息,对任务调度策略进行调整。
在一些实施例中,第一确定单元300,还用于:
按照业务需求对策略规则集合中的每个策略规则进行修改,得到更新后的策略规则集合。
在实际应用中,上述第一确定单元300、第二确定单元301和执行单元302均可以由位于电子设备中的处理器实现,该处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
另外,在本实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种任务处理方法对应的计算机程序指令可以被存储在光盘、硬盘、U盘等存储介质上,当存储介质中的与一种任务处理方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种任务处理方法。
基于前述实施例相同的技术构思,参见图4,其示出了本申请实施例提供的电子设备400,可以包括:存储器401和处理器402;其中,
存储器401,用于存储计算机程序和数据;
处理器402,用于执行存储器中存储的计算机程序,以实现前述实施例的任意一种任务处理方法。
在实际应用中,上述存储器401可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM、快闪存储器(flash memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器402提供指令和数据。
上述处理器402可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的应用系统,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的单元可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (10)
1.一种任务处理方法,其特征在于,应用于电子设备中,所述方法包括:
确定策略规则集合;所述策略规则集合包括与执行高并发任务相关的任务调度策略;
获取待处理任务,根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则;
根据所述目标策略规则,对所述待处理任务执行相关操作。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则,包括:
在确定所述待处理任务的任务类型为非实时性任务的情况下,确定所述目标策略规则为采用消息队列机制的策略规则。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则,包括:
在确定所述待处理任务的任务类型为实时性任务的情况下,确定所述目标策略规则为先采用缓存执行,再将执行结果同步到数据库的策略规则。
4.根据权利要求1所述的方法,其特征在于,所述根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则,包括:
在确定所述待处理任务的任务类型为定时任务的情况下,确定所述目标策略规则为提前执行并在每个定时时刻发布执行结果的策略规则。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述待处理任务执行相关操作后,得到操作反馈信息;
根据所述操作反馈信息,对所述任务调度策略进行调整。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
按照业务需求对所述策略规则集合中的每个策略规则进行修改,得到更新后的策略规则集合。
7.一种任务处理装置,其特征在于,应用于电子设备中,所述装置包括:
第一确定单元,用于确定策略规则集合;所述策略规则集合包括与执行高并发任务相关的任务调度策略;
第二确定单元,用于获取待处理任务,根据所述待处理任务的任务类型从所述任务调度策略中确定对应的目标策略规则;
执行单元,用于根据所述目标策略规则,对所述待处理任务执行相关操作。
8.根据权利要求7所述的装置,其特征在于,所述执行单元,还用于:
在对所述待处理任务执行相关操作后,得到操作反馈信息;
根据所述操作反馈信息,对所述任务调度策略进行调整。
9.一种电子设备,其特征在于,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至6任一项所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414300.4A CN113391890A (zh) | 2021-04-16 | 2021-04-16 | 一种任务处理方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414300.4A CN113391890A (zh) | 2021-04-16 | 2021-04-16 | 一种任务处理方法、装置、设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113391890A true CN113391890A (zh) | 2021-09-14 |
Family
ID=77617750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110414300.4A Pending CN113391890A (zh) | 2021-04-16 | 2021-04-16 | 一种任务处理方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391890A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742045A (zh) * | 2021-09-15 | 2021-12-03 | 上海淇玥信息技术有限公司 | 一种分布式任务处理方法、装置和电子设备 |
CN113835859A (zh) * | 2021-09-24 | 2021-12-24 | 成都质数斯达克科技有限公司 | 一种任务调度方法、装置、设备及可读存储介质 |
CN114020476A (zh) * | 2021-12-30 | 2022-02-08 | 荣耀终端有限公司 | 一种作业的处理方法、设备及介质 |
CN114064241A (zh) * | 2021-11-15 | 2022-02-18 | 中国平安财产保险股份有限公司 | 任务执行方法及相关装置 |
CN114221906A (zh) * | 2021-11-11 | 2022-03-22 | 百度在线网络技术(北京)有限公司 | 流量管控方法、装置、电子设备及存储介质 |
CN114745382A (zh) * | 2022-04-07 | 2022-07-12 | 中国邮政储蓄银行股份有限公司 | 任务分片方法、任务分片装置和业务系统 |
CN115686803A (zh) * | 2023-01-05 | 2023-02-03 | 北京华恒盛世科技有限公司 | 一种调度策略动态加载的计算任务管理系统、方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136280A1 (en) * | 2004-11-30 | 2006-06-22 | Kenta Cho | Schedule management apparatus, schedule management method and program |
US20090158288A1 (en) * | 2007-12-13 | 2009-06-18 | Mike Stephen Fulton | Method and apparatus for managing system resources |
US20120260253A1 (en) * | 2011-04-08 | 2012-10-11 | Microsoft Corporation | Modeling and consuming business policy rules |
CN108733476A (zh) * | 2017-04-20 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种执行多任务的方法和装置 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
CN110609784A (zh) * | 2018-06-15 | 2019-12-24 | 马上消费金融股份有限公司 | 任务调度方法及系统、存储介质及电子设备 |
CN111221638A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 并发任务的调度处理方法、装置、设备和介质 |
CN111625337A (zh) * | 2020-05-28 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种任务调度方法、装置、电子设备和可读存储介质 |
CN111694671A (zh) * | 2020-06-12 | 2020-09-22 | 北京金山云网络技术有限公司 | 大数据组件管理方法、装置、服务器、电子设备及系统 |
-
2021
- 2021-04-16 CN CN202110414300.4A patent/CN113391890A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136280A1 (en) * | 2004-11-30 | 2006-06-22 | Kenta Cho | Schedule management apparatus, schedule management method and program |
US20090158288A1 (en) * | 2007-12-13 | 2009-06-18 | Mike Stephen Fulton | Method and apparatus for managing system resources |
US20120260253A1 (en) * | 2011-04-08 | 2012-10-11 | Microsoft Corporation | Modeling and consuming business policy rules |
CN108733476A (zh) * | 2017-04-20 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种执行多任务的方法和装置 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
CN110609784A (zh) * | 2018-06-15 | 2019-12-24 | 马上消费金融股份有限公司 | 任务调度方法及系统、存储介质及电子设备 |
CN111221638A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 并发任务的调度处理方法、装置、设备和介质 |
CN111625337A (zh) * | 2020-05-28 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种任务调度方法、装置、电子设备和可读存储介质 |
CN111694671A (zh) * | 2020-06-12 | 2020-09-22 | 北京金山云网络技术有限公司 | 大数据组件管理方法、装置、服务器、电子设备及系统 |
Non-Patent Citations (1)
Title |
---|
马艳琨, 马胜甫, 田俊峰, 张建勋: "一种用于PC存储集群的动态负载平衡策略", 计算机工程与应用, no. 29, 1 May 2006 (2006-05-01) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742045A (zh) * | 2021-09-15 | 2021-12-03 | 上海淇玥信息技术有限公司 | 一种分布式任务处理方法、装置和电子设备 |
CN113835859A (zh) * | 2021-09-24 | 2021-12-24 | 成都质数斯达克科技有限公司 | 一种任务调度方法、装置、设备及可读存储介质 |
CN113835859B (zh) * | 2021-09-24 | 2023-12-26 | 成都质数斯达克科技有限公司 | 一种任务调度方法、装置、设备及可读存储介质 |
CN114221906A (zh) * | 2021-11-11 | 2022-03-22 | 百度在线网络技术(北京)有限公司 | 流量管控方法、装置、电子设备及存储介质 |
CN114064241A (zh) * | 2021-11-15 | 2022-02-18 | 中国平安财产保险股份有限公司 | 任务执行方法及相关装置 |
CN114020476A (zh) * | 2021-12-30 | 2022-02-08 | 荣耀终端有限公司 | 一种作业的处理方法、设备及介质 |
CN114745382A (zh) * | 2022-04-07 | 2022-07-12 | 中国邮政储蓄银行股份有限公司 | 任务分片方法、任务分片装置和业务系统 |
CN114745382B (zh) * | 2022-04-07 | 2024-05-24 | 中国邮政储蓄银行股份有限公司 | 任务分片方法、任务分片装置和业务系统 |
CN115686803A (zh) * | 2023-01-05 | 2023-02-03 | 北京华恒盛世科技有限公司 | 一种调度策略动态加载的计算任务管理系统、方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113391890A (zh) | 一种任务处理方法、装置、设备和计算机存储介质 | |
US11120152B2 (en) | Dynamic quorum membership changes | |
US11886731B2 (en) | Hot data migration method, apparatus, and system | |
US10565165B2 (en) | Selective deduplication | |
US10467105B2 (en) | Chained replication techniques for large-scale data streams | |
US9460185B2 (en) | Storage device selection for database partition replicas | |
US9471585B1 (en) | Decentralized de-duplication techniques for largescale data streams | |
US8074014B2 (en) | Storage systems using write off-loading | |
TW202111520A (zh) | 日誌結構儲存系統 | |
US10009250B2 (en) | System and method for managing load in a distributed storage system | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
CN112165436B (zh) | 流量控制方法、装置及系统 | |
CN111061431B (zh) | 一种分布式存储方法、服务器及客户端 | |
US11856054B2 (en) | Quality of service (QOS) setting recommendations for volumes across a cluster | |
US20200125473A1 (en) | Hybrid log viewer with thin memory usage | |
US11188229B2 (en) | Adaptive storage reclamation | |
US20210271648A1 (en) | Data migration methods and system | |
US11093290B1 (en) | Backup server resource-aware discovery of client application resources | |
US20180004430A1 (en) | Chunk Monitoring | |
US9578120B1 (en) | Messaging with key-value persistence | |
CN109800184B (zh) | 针对小块输入的缓存方法、系统、装置及可存储介质 | |
CN111666045A (zh) | 基于Git系统的数据处理方法、系统、设备及存储介质 | |
US9424147B2 (en) | System and method for supporting memory allocation control with push-back in a distributed data grid | |
Meng et al. | A network load sensitive block placement strategy of HDFS | |
US20210326386A1 (en) | Information processing system, information processing device, and non-transitory computer-readable storage medium for storing program |
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 |