CN117742961A - 一种任务限流的处理方法、装置、设备及存储介质 - Google Patents
一种任务限流的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117742961A CN117742961A CN202311774202.7A CN202311774202A CN117742961A CN 117742961 A CN117742961 A CN 117742961A CN 202311774202 A CN202311774202 A CN 202311774202A CN 117742961 A CN117742961 A CN 117742961A
- Authority
- CN
- China
- Prior art keywords
- work order
- task
- state
- downstream system
- issued
- 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 abstract description 25
- 238000007781 pre-processing Methods 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 19
- 238000012797 qualification Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种任务限流的处理方法、装置、设备及存储介质。该方法包括:获取待下发的任务;对待下发的任务中的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息;在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取对应的级别标识;根据目标下游系统的信息,将每个预处理状态工单和对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。本申请的方法,减少了对用户使用体验的影响,提高了工单发放的成功率和效率。
Description
技术领域
本申请涉及计算机软件与数据处理领域,尤其涉及一种任务限流的处理方法、装置、设备及存储介质。
背景技术
中国联通权益中心是一个集通用能力于一身的权益资源中心。它整合了权益资源,具有统一纳管权益资源的能力。目前,该中心拥有自有权益和异业权益两种资源,且用户数超过2亿。若将异业权益作为任务下发至目标下游系统,则需通过安全文件传输协议和消息队列进行批量任务发放,其中,个别目标下游系统承载能力不足,在短时间内接受大量请求时,会出现请求堆积,导致请求超时或服务器不可用的问题,且目标下游系统满负荷时,会导致大规模的任务发放失败,降低任务发放的成功率。
因此,现有技术提出一种基于redis lua的任务限流方法,通过配置目标下游系统的接收阈值,来调整目标下游系统的服务器每秒处理的事务数(Transactions PerSencond,简称TPS),然而,现有技术中的基于redis lua的限流方法缺乏业务场景覆盖,会导致用户手动兑换异业权益失败,影响用户使用体验;以及缺乏补偿机制,需要运营人员筛选异常数据,进行重新发放,导致发放效率低,人工成本高。
基于此,现有技术中存在发放成本高、效率低、影响用户体验的问题。
发明内容
本申请提供一种任务限流的处理方法、装置、设备及存储介质,用以解决现有技术中存在权益发放成本高、效率低、影响用户体验的技术问题。
第一方面,本申请提供一种任务限流的处理方法,包括:
获取待下发的任务;其中,待下发的任务包括预处理状态工单;
对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,并确定目标下游系统是否处于限流状态;
在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;
根据目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。
可选地,如上的方法,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识,包括:
对于每个预处理状态工单,若识别出预处理状态工单的属性信息中未包括批量标识,则获取预处理状态工单对应的级别标识为高级别标识;
或者,
对于每个预处理状态工单,若识别出预处理状态工单的属性信息中包括批量标识,则获取预处理状态工单对应的级别标识为低级别标识;
其中,高级别标识的预处理状态工单的下发顺序优先于低级别标识的预处理状态工单的下发顺序。
可选地,如上的方法,还包括:
分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单,并将无效的预处理状态工单从待下发任务中进行删除处理;
则对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,包括:
对待下发的任务中有效的预处理状态工单进行分析,以获取待下发的任务的目标下游系统信息。
可选地,如上的方法,分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单,包括:
分别对每个预处理状态工单进行资格校验,或者幂等性校验处理,以确定无效的预处理状态工单和有效的预处理状态工单。
可选地,如上的方法,对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,包括:
对待下发的任务的预处理状态工单进行分析,以获取目标下游系统中的下游系统标识和接口地址。
可选地,如上的方法,还包括:
接收目标下游系统反馈的任务响应,任务响应包括失败的工单的标识;
根据任务响应中的失败的工单的标识,以及目标下游系统的当前状态,确定失败的工单的标识的类型;其中,失败的工单的标识的类型:执行失败的类型或者限流类型;
在确定失败的工单的标识的类型为限流类型,且确定失败的工单的标识对应的重发的次数小于预设次数时,将失败的工单更新为预处理状态工单以用于重新下发。
可选地,如上的方法,还包括:
通过线程等待方法,以及预配置的时间,确定将失败的工单更新为预处理状态工单以用于重新下发,或者将接收的新的待下发的任务进行下发处理。
第二方面,本申请提出一种任务限流的处理方法,方法应用于下游系统,方法包括:
接收权益中心平台下发的预处理状态工单和预处理状态工单对应的级别标识;
根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。
第三方面,本申请提出一种任务限流的处理装置,包括:
获取模块,用于获取待下发的任务;其中,待下发的任务包括预处理状态工单;
分析模块,用于对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,并确定目标下游系统是否处于限流状态;
识别模块,用于在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;
发送模块,用于根据目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。
第四方面,本申请提出一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如本申请的方法。
第五方面,本申请提出一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如本申请的方法。
本申请提供的一种任务限流的处理方法、装置、设备及存储介质。该方法通过获取待下发的任务;其中,待下发的任务包括预处理状态工单;对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,并确定目标下游系统是否处于限流状态;在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;根据目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。相较于现有技术中仅通过配置目标下游系统的接收阈值,来调整目标下游系统的TPS,造成从用户通道获取的工单下发失败,影响用户体验,以及缺乏补偿机制,导致工单发放效率低下而言,本申请通过分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;可以根据每个预处理状态工单对应的级别标识来保障从用户通道获取的工单能够实现优先发放,降低了对用户使用体验的影响,且本申请从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理,增加了重试机制,增高了工单发放的成功率,工单发放的效率也有所提升。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图2为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图3为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图4为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图5为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图6为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图7为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图8为本申请实施例提供的一种任务限流的处理方法的流程示意图;
图9为本申请实施例提供的另一种任务限流的处理方法的流程示意图;
图10为本申请实施例提供的一种任务限流的处理装置的结构示意图;
图11为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
现有技术中,针对仅通过配置目标下游系统的接收阈值,来调整目标下游系统的TPS,当目标下游系统的TPS一直处于等于接收阈值的状态时,会造成从用户通道获取的工单下发失败,从而影响用户体验,以及现有技术缺乏重试机制,需要依靠运营人员筛选异常工单,进行重新发放,导致工单发放效率低下。
为了解决上述问题,本申请的发明构思在于:对来自用户通道获取的工单设置高级别标识,以使该工单的下发顺序大于其他低级别标识的工单,降低对用户使用体验的影响,并增加重试机制,以使异常数据自动执行重新下发至目标下游系统的操作,从而提高工单发放效率。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例一提供的一种任务限流的处理方法的流程示意图。如图1所示,该方法可以包括:
S101、获取待下发的任务;其中,待下发的任务包括预处理状态工单。
在本实施例中,待下发的任务可以来自用户通道,或来自权益中心平台中的数据库。
举例来说,针对某一话费兑换活动,参加条件为用户可使用1000积分兑换话费券、或注册时间超过两年的用户可获得该话费券,A用户手动通过使用积分的方式申请该话费券,则表征权益中心平台下发给A用户的话费券,为来自用户通道的待下发任务;权益中心平台通过查找数据库中的注册时间超过两年的用户,并通过定时任务批量发送该话费给符合条件的用户,则表征权益中心平台通过定时任务给符合条件的用户批量发送该话费券,为待下发任务来自权益中心平台中的数据库。
S102、对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,并确定目标下游系统是否处于限流状态。
在本实施例中,通过待下发的任务的目标下游系统的信息,可以确定待下发的任务的预处理状态工单的鉴权信息,进一步提高工单发送的安全性。
举例来说,权益中心平台通过待下发的任务的目标下游系统的信息,在待下发的任务的预处理状态工单中,生成与待下发的任务的目标下游系统的信息对应的Token(令牌),以使目标下游系统对待下发的任务的预处理状态工单进行验证,且Tonken支持跨域访问、更适用于移动应用、且网络传输性能好,利于待下发的任务的预处理状态工单的传输。
在本实施例中,确定目标下游系统是否处于限流状态,可以指目标下游系统设置工单的接收阈值,通过比较目标下游系统的实际的工单接收数量与接收阈值,来确定目标下游系统的负载状态;若目标下游系统的实际的工单接收数量小于接收阈值,则表征目标下游系统的负载状态为轻载,还可以接收工单,此时,目标下游系统未处于限流状态;若目标下游系统的实际的工单接收数量等于或大于接收阈值,则表征目标下游系统的负载状态为满载或超载,不可以再接收工单,此时目标下游系统处于限流状态。
举例来说,若目标下游系统的接收阈值为20,实际的工单接收数量为10,则该目标下游系统未处于限流状态,若实际的工单接收数量为20,则表明该目标下游系统处于限流状态。
S103、在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识。
在本实施例中,每个预处理状态工单的属性信息可以指确定每个预处理状态工单来源的信息,对于来自用户通道的待下发任务中的预处理状态工单,其属性信息中添加批量标识,对于来自权益中心平台中的数据库的待下发任务中的预处理状态工单,其属性信息中添加批量标识;对于待下发任务中的预处理状态工单,根据其属性信息中是否包括批量标识,来确定级别识别,使得每个预处理状态工单都获得对应的级别标识。
S104、根据目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。
在本实施例中,相应的处理包括工单反馈机制、以及工单重试机制。通过工单反馈机制,可以使权益中心平台获取目标下游系统的反馈的任务相应,判断工单是否发送成功,从而确定后续处理操作;通过工单重试机制,可以无需运营人员对异常状态的工单进行筛选,并重新发放,提高了工单的发放效率。
在本实施例中,获取待下发的任务;对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,并确定目标下游系统是否处于限流状态;在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;根据目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。由于对于来源不同的待下发任务中的预处理状态工单,设置了对应的对应的级别标识,从而使目标下游系统确定待接收的工单,避免了目标下游系统长时间处于满载状态,导致的来自用户通道的工单无法及时处理的问题;同时,目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。减少了运营人员的操作,有效地提高了工单发放的成功率与效率。
图2为本申请实施例二提供的一种任务限流的处理方法的流程示意图。在上述图1的所示实施例的基础上,如图2所示,上述步骤S103中分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识的一种具体实现方式为:
S201、对于每个预处理状态工单,若识别出预处理状态工单的属性信息中未包括批量标识,则获取预处理状态工单对应的级别标识为高级别标识。
S202、对于每个预处理状态工单,若识别出预处理状态工单的属性信息中包括批量标识,则获取预处理状态工单对应的级别标识为低级别标识。
在本实施例中,高级别标识的预处理状态工单的下发顺序优先于低级别标识的预处理状态工单的下发顺序,举例来说,来自用户通道的待下发任务的预处理状态工单具有实时性要求,需要优先下发,则来自用户通道的待下发任务的预处理状态工单不设置批量标识,以使其级别标识成为高级别标识;而来自权益中心平台中的数据库的待下发任务的预处理状态工单需要批量下发,则设置批量标识,以使其级别标识成为低级别标识;优先将高级别标识的工单发送至目标下游系统,可以及时反馈用户,减少用户等待时间,降低对用户的影响,从而提高用户使用体验。
图3为本申请实施例三提供的一种任务限流的处理方法的流程示意图。在上述图1的所示实施例的基础上,如图3所示,该方法包括:
S301、分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单,并将无效的预处理状态工单从待下发任务中进行删除处理。
在本实施例中,无效的预处理状态工单可以指不符合前置校验条件的工单,有效的预处理状态工单可以指符合前置校验条件的工单;将无效的预处理状态工单从待下发任务中进行删除处理,减少了后续工单下发至目标下游系统的工作量。
S302、对待下发的任务中有效的预处理状态工单进行分析,以获取待下发的任务的目标下游系统信息。
在本实施例中,通过对待下发的任务中有效的预处理状态工单进行分析,以获取待下发的任务的目标下游系统信息,可以保障资源的合理、准确投放。
图4为本申请实施例四提供的一种任务限流的处理方法的流程示意图。在上述图3的所示实施例的基础上,如图4所示,上述步骤S301中分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单的一种具体实现方式为:
S401a、分别对每个预处理状态工单进行资格校验。
在本实施例中,举例来说,对于某兑换码,每个用户只能兑换一次;现有预处理状态工单A,其中,通过分析预处理状态工单A中的信息,得到预处理状态工单A中对应的用户A已兑换过该兑换码,则预处理状态工单A资格校验不通过。
S401b、分别对每个预处理状态工单进行幂等性校验处理。
在本实施例中,举例来说,若用户A对于订单001,需进行付费,现有预处理状态工单A,其中,通过分析预处理状态工单A中的信息,得到预处理状态工单A中对应的用户A已对订单001完成付费操作,则对预处理状态工单A幂等性校验可以避免用户A对订单001进行重复性的付费。
S402、确定无效的预处理状态工单和有效的预处理状态工单。
在本实施例中,若有资格校验,无幂等性校验,则通过资格校验的预处理状态工单为有效的预处理状态工单,未通过资格校验的预处理状态工单为无效的预处理状态工单;若无资格校验,有幂等性校验,则通过幂等性校验的预处理状态工单为有效的预处理状态工单,未通过幂等性校验的预处理状态工单为无效的预处理状态工单;若有资格校验、以及幂等性校验,则需同时通过资格校验、以及幂等性校验的预处理状态工单为有效的预处理状态工单,未同时通过资格校验、以及幂等性校验的预处理状态工单为无效的预处理状态工单。
图5为本申请实施例五提供的一种任务限流的处理方法的流程示意图。在上述图1的所示实施例的基础上,如图5所示,上述步骤S102中对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息的一种具体实现方式为:
S501、对待下发的任务的预处理状态工单进行分析。
S502、获取目标下游系统中的下游系统标识和接口地址。
在本实施例中,通过分析待下发的任务的预处理状态工单,获取目标下游系统中的下游系统标识和接口地址,可以使待下发的任务的预处理状态工单下发至对应的目标下游系统,并进行相应的鉴权,提高了工单下发的准确性、安全性。
图6为本申请实施例六提供的一种任务限流的处理方法的流程示意图。在上述图1的所示实施例的基础上,如图6所示,该方法还包括:
S601、接收目标下游系统反馈的任务响应,任务响应包括失败的工单的标识。
在本实施例中,目标下游系统将任务响应封装在报文中,发送至权益中心平台,以使权益中心平台确定工单发送状态,若工单发送失败,则任务响应中包括失败的工单标识。
S602、根据任务响应中的失败的工单的标识,以及目标下游系统的当前状态,确定失败的工单的标识的类型;其中,失败的工单的标识的类型:执行失败的类型或者限流类型。
在本实施例中,目标下游系统的当前状态包括可用状态、不可用状态,其中,可用状态可以指目标下游系统的服务器可用,不可用状态可以指目标下游系统的服务器不可用;若目标下游系统反馈的任务响应为失败,目标下游系统的当前状态为可用状态,则失败的工单的标识的类型为限流类型;若目标下游系统反馈的任务响应为失败,目标下游系统的当前状态为不可用状态,则失败的工单的标识的类型为执行失败的类型。对于执行失败的类型对应的工单,不再重新下发至目标下游系统。
S603、在确定失败的工单的标识的类型为限流类型,且确定失败的工单的标识对应的重发的次数小于预设次数时,将失败的工单更新为预处理状态工单以用于重新下发。
在本实施例中,举例来说,若限流类型对应的工单,默认初始重发的次数为0,预设次数为10,则该工单下发失败后,重发的次数增加1次,可通过重试机制重新下发至目标下游系统,直至该工单下发成功;或该工单的重发的次数超过预设次数,则不再进行重新发送。
图7为本申请实施例七提供的一种任务限流的处理方法的流程示意图。在上述图1至图6的所示实施例的基础上,如图7所示,该方法还包括:
S701、通过线程等待方法,以及预配置的时间,确定将失败的工单更新为预处理状态工单以用于重新下发。
在本实施例中,将失败的工单更新为预处理状态工单以用于重新下发,则该工单的重发的次数大于0;且对于重发次数大于0的预处理状态工单,在预配置的时间内,通过线程等待方法,暂停重新下发的操作,当时间点不在预配置的时间内,执行重新下发的操作。
S702、将接收的新的待下发的任务进行下发处理。
在本实施例中,权益中心平台接收的新的待下发的任务中,预处理状态的工单的重发的次数为0,其中,当时间点不在预配置的时间内时,重发次数为0的预处理状态工单与重发次数大于0的预处理状态工单,按照时间顺序先后进行下发至目标下游系统的操作;当时间点在预配置的时间内,通过线程等待方法,暂停重发次数大于0的预处理状态工单下发至目标下游系统的操作,仅发送重发次数为0的预处理状态工单至目标下游系统。以使重发次数为0的预处理状态工单下发至目标下游系统的成功率提升,减少重发次数大于0的预处理状态工单的数量,提高工单发送效率。
图8为本申请实施例八提供的一种任务限流的处理方法的流程示意图。如图8所示,该方法还包括:
S801、接收权益中心平台下发的预处理状态工单和预处理状态工单对应的级别标识。
S802、根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。
在本实施例中,举例来说,若目标下游系统接收权益中心平台下发的预处理状态工单超过限流数量,且预处理状态工单对应的级别标识均为高级别标识,则目标下游系统反馈的任务响应包括的失败的工单的标识,为执行失败的类型;若目标下游系统接收权益中心平台下发的预处理状态工单超过限流数量,且预处理状态工单对应的级别标识均为低级别标识,则目标下游系统反馈的任务响应包括的失败的工单的标识,为限流类型。
S803、根据任务响应中的失败的工单的标识,以及目标下游系统的当前状态,确定失败的工单的标识的类型;其中,失败的工单的标识的类型:执行失败的类型或者限流类型。
在本实施例中,举例来说,目标下游系统的当前状态包括可用状态、不可用状态,其中,可用状态可以指目标下游系统的服务器可用,不可用状态可以指目标下游系统的服务器不可用;若目标下游系统反馈的任务响应为失败,目标下游系统的当前状态为可用状态,则失败的工单的标识的类型为限流类型;若目标下游系统反馈的任务响应为失败,目标下游系统的当前状态为不可用状态,则失败的工单的标识的类型为执行失败的类型。
图9为本申请实施例九提供的另一种任务限流的处理方法的流程示意图。如图9所示,该方法还包括:
S901、权益中心平台获取待下发任务,其中,待下发任务中包括预处理状态工单。
在本实施例中,预处理状态工单可以为由未处理状态工单更新的预处理状态工单,和/或由限流状态工单更新的预处理状态工单,由未处理状态工单更新的预处理状态工单可以来自用户通道,或来自权益中心平台中的数据库。
S902、权益中心平台调用消息队列处理待下发任务。
在本实施例中,权益中心平台调用消息队列处理待下发任务可以指:对于每个来自权益中心平台中的数据库的、由未处理状态工单更新的预处理状态工单添加批量标识;对于由限流状态工单更新的预处理状态工单,增加1次重发次数,并在预配置的时间内,通过线程等待方法,暂停由限流状态工单更新的预处理状态工单下发至目标下游系统的操作。
S903、权益中心平台对待下发任务中的预处理状态工单进行前置校验。
在本实施例中,前置校验包括资格校验、幂等性校验,若预处理状态工单的前置校验未通过,则将预处理状态工单更新为执行失败状态工单,并删除该执行失败状态工单。
S904、根据通过前置校验的预处理状态工单的信息,获取与预处理状态工单对应的目标下游系统的信息,校验目标下游系统是否处于限流状态。
在本实施例中,与预处理状态工单对应的目标下游系统的信息包括目标下游系统的下游系统标识、以及接口地址;若目标下游系统有预配置的限流阈值,且目标下游系统实际接收的工单数量大于或等于该限流阈值,则表征目标下游系统处于限流状态;其中,目标下游系统将限流阈值在Redis(非关系型数据库)中、或注解配置中,若Redis中含有限流阈值,则使用Redis中的限流阈值,若Redis中无限流阈值,则使用注解配置中的限流阈值;若目标下游系统中无限流阈值,将预处理状态工单直接下发至目标下游系统。
S905、若目标下游系统处于限流状态,且预处理状态工单中有批量标识,则将该预处理状态工单更新为限流状态工单。
S906、若目标下游系统未处于限流状态,且预处理状态工单中有批量标识,则将该预处理状态工单下发至目标下游系统。
S907、若预处理状态工单中无批量标识,则将该预处理状态工单下发至目标下游系统。
S908、权益中心平台接收目标下游系统反馈的接收结果,并执行相应的处理。
在本实施例中,若目标下游系统反馈的接收结果为工单下发失败,且该工单为限流状态工单,则将限流状态工单更新为预处理状态工单,增加重发的次数,重新下发至目标下游系统。
图10为本申请实施例提供的一种任务限流的处理装置的结构示意图,如图10所示,该任务限流的处理装置10包括:获取模块101、分析模块102、识别模块103、发送模块104。其中:
获取模块101,用于获取待下发的任务;其中,待下发的任务包括预处理状态工单。
分析模块102,用于对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,并确定目标下游系统是否处于限流状态。
识别模块103,用于在确定目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识。
发送模块104,用于根据目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给目标下游系统,以供目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对待接收的工单进行相应的处理。
在本申请实施例中,分析模块102还可以具体用于:
分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单,并将无效的预处理状态工单从待下发任务中进行删除处理;
则对待下发的任务的预处理状态工单进行分析,以获取接收待下发的任务的目标下游系统的信息,包括:
对待下发的任务中有效的预处理状态工单进行分析,以获取待下发的任务的目标下游系统信息。
在本申请实施例中,分析模块102还可以具体用于:
分别对每个预处理状态工单进行资格校验,或者幂等性校验处理,以确定无效的预处理状态工单和有效的预处理状态工单。
在本申请实施例中,分析模块102还可以具体用于:
对待下发的任务的预处理状态工单进行分析,以获取目标下游系统中的下游系统标识和接口地址。
在本申请实施例中,识别模块103还可以具体用于:
对于每个预处理状态工单,若识别出预处理状态工单的属性信息中未包括批量标识,则获取预处理状态工单对应的级别标识为高级别标识;
或者,
对于每个预处理状态工单,若识别出预处理状态工单的属性信息中包括批量标识,则获取预处理状态工单对应的级别标识为低级别标识;
其中,高级别标识的预处理状态工单的下发顺序优先于低级别标识的预处理状态工单的下发顺序。
在本申请实施例中,发送模块104还可以具体用于:
接收目标下游系统反馈的任务响应,任务响应包括失败的工单的标识;
根据任务响应中的失败的工单的标识,以及目标下游系统的当前状态,确定失败的工单的标识的类型;其中,失败的工单的标识的类型:执行失败的类型或者限流类型;
在确定失败的工单的标识的类型为限流类型,且确定失败的工单的标识对应的重发的次数小于预设次数时,将失败的工单更新为预处理状态工单以用于重新下发。
在本申请实施例中,发送模块104还可以具体用于:
通过线程等待方法,以及预配置的时间,确定将失败的工单更新为预处理状态工单以用于重新下发,或者将接收的新的待下发的任务进行下发处理。
图11为本申请实施例提供的电子设备的结构示意图。如图11所示,该电子设备11包括:
该电子设备11可以包括一个或者一个以上处理核心的处理器111、一个或一个以上计算机可读存储介质的存储器112、通信部件113等部件。其中,处理器111、存储器112以及通信部件113通过总线114连接。
在具体实现过程中,至少一个处理器111执行存储器112存储的计算机执行指令,使得至少一个处理器111执行如上的任务限流的处理方法。
处理器111的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图11所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种任务限流的处理方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
Claims (11)
1.一种任务限流的处理方法,其特征在于,所述方法应用于权益中心平台,所述方法包括:
获取待下发的任务;其中,所述待下发的任务包括预处理状态工单;
对所述待下发的任务的预处理状态工单进行分析,以获取接收所述待下发的任务的目标下游系统的信息,并确定所述目标下游系统是否处于限流状态;
在确定所述目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;
根据所述目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给所述目标下游系统,以供所述目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对所述待接收的工单进行相应的处理。
2.根据权利要求1所述的方法,其特征在于,所述分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识,包括:
对于每个预处理状态工单,若识别出所述预处理状态工单的属性信息中未包括批量标识,则获取所述预处理状态工单对应的级别标识为高级别标识;
或者,
对于每个预处理状态工单,若识别出所述预处理状态工单的属性信息中包括批量标识,则获取所述预处理状态工单对应的级别标识为低级别标识;
其中,高级别标识的预处理状态工单的下发顺序优先于低级别标识的预处理状态工单的下发顺序。
3.根据权利要求1所述的方法,其特征在于,还包括:
分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单,并将所述无效的预处理状态工单从所述待下发任务中进行删除处理;
则所述对所述待下发的任务的预处理状态工单进行分析,以获取接收所述待下发的任务的目标下游系统的信息,包括:
对所述待下发的任务中有效的预处理状态工单进行分析,以获取所述待下发的任务的目标下游系统信息。
4.根据权利要求3所述的方法,其特征在于,所述分别对每个预处理状态工单进行前置校验处理,以确定无效的预处理状态工单和有效的预处理状态工单,包括:
分别对每个预处理状态工单进行资格校验,和/或幂等性校验处理,以确定无效的预处理状态工单和有效的预处理状态工单。
5.根据权利要求1所述的方法,其特征在于,所述对所述待下发的任务的预处理状态工单进行分析,以获取接收所述待下发的任务的目标下游系统的信息,包括:
对所述待下发的任务的预处理状态工单进行分析,以获取所述目标下游系统中的下游系统标识和接口地址。
6.根据权利要求1所述的方法,其特征在于,还包括:
接收所述目标下游系统反馈的任务响应,所述任务响应包括失败的工单的标识;
根据所述任务响应中的失败的工单的标识,以及所述目标下游系统的当前状态,确定所述失败的工单的标识的类型;其中,所述失败的工单的标识的类型:执行失败的类型或者限流类型;
在确定所述失败的工单的标识的类型为限流类型,且确定所述失败的工单的标识对应的重发的次数小于预设次数时,将所述失败的工单更新为预处理状态工单以用于重新下发。
7.根据权利要求1或6所述的方法,其特征在于,还包括:
通过线程等待方法,以及预配置的时间,确定将失败的工单更新为预处理状态工单以用于重新下发,或者将接收的新的待下发的任务进行下发处理。
8.一种任务限流的处理方法,其特征在于,所述方法应用于下游系统,所述方法包括:
接收权益中心平台下发的预处理状态工单和预处理状态工单对应的级别标识;
根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对所述待接收的工单进行相应的处理。
9.一种任务限流的处理装置,其特征在于,包括:
获取模块,用于获取待下发的任务;其中,所述待下发的任务包括预处理状态工单;
分析模块,用于对所述待下发的任务的预处理状态工单进行分析,以获取接收所述待下发的任务的目标下游系统的信息,并确定所述目标下游系统是否处于限流状态;
识别模块,用于在确定所述目标下游系统处于限流状态时,分别对每个预处理状态工单的属性信息,进行级别识别,以获取每个预处理状态工单对应的级别标识;
发送模块,用于根据所述目标下游系统的信息,将每个预处理状态工单和每个预处理状态工单对应的级别标识下发给所述目标下游系统,以供所述目标下游系统根据当前所处的限流状态下的限流数量,以及每个预处理状态工单对应的级别标识,从预处理状态工单中确定待接收的工单,并对所述待接收的工单进行相应的处理。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311774202.7A CN117742961A (zh) | 2023-12-21 | 2023-12-21 | 一种任务限流的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311774202.7A CN117742961A (zh) | 2023-12-21 | 2023-12-21 | 一种任务限流的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117742961A true CN117742961A (zh) | 2024-03-22 |
Family
ID=90260509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311774202.7A Pending CN117742961A (zh) | 2023-12-21 | 2023-12-21 | 一种任务限流的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117742961A (zh) |
-
2023
- 2023-12-21 CN CN202311774202.7A patent/CN117742961A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764868B (zh) | 区块链节点代理对账方法和区块对账代理节点 | |
CN110602056B (zh) | 一种业务参数传递方法及装置 | |
TWI839875B (zh) | 支付方法、使用者終端、裝置、設備、系統及介質 | |
CN112907344A (zh) | 账务数据的处理方法、装置、电子设备和存储介质 | |
CN111523817B (zh) | 基于大数据的订单业务处理方法、装置、设备和介质 | |
CN113691618B (zh) | 消息通知方法、装置、消息中心及存储介质 | |
CN109978714B (zh) | 换电站的换电处理系统、换电站服务端及换电处理方法 | |
CN113010238A (zh) | 一种微应用调用接口的权限确定方法、装置和系统 | |
CN112788555B (zh) | 跨运营商话费转移结算方法、装置及计算设备 | |
CN111553668A (zh) | 基于大数据的提现方法、装置、电子设备和介质 | |
CN117742961A (zh) | 一种任务限流的处理方法、装置、设备及存储介质 | |
CN115310958A (zh) | 基于5g消息应用的支付方法、装置、设备、系统及介质 | |
CN111010676B (zh) | 一种短信缓存方法、装置及系统 | |
CN104579701A (zh) | 实时计费方法、装置及系统 | |
CN114445204A (zh) | 一种基于云加端的税控设备业务处理方法及系统 | |
CN111866171A (zh) | 报文处理方法、装置、电子设备和介质 | |
CN111355761A (zh) | 定向流量资源获取系统、方法、装置、电子设备及介质 | |
CN110784551A (zh) | 基于多租户的数据处理方法、装置、设备和介质 | |
CN111737262A (zh) | 一种数据处理方法及装置 | |
CN111930535A (zh) | 一种应用功能调用方法、装置、计算机设备及存储介质 | |
CN110876852A (zh) | 微服务的网络游戏数据处理方法及系统 | |
CN115134320B (zh) | 一种基于消息分发确定时序的交易系统 | |
CN113965899B (zh) | 一种检测短信扣量服务器及检测短信扣量的方法 | |
CN114205764B (zh) | 话务资源共享方法、装置、设备和计算机可读存储介质 | |
CN113741403B (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 |