CN115048626A - 任务处理方法、装置、电子设备及存储介质 - Google Patents
任务处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115048626A CN115048626A CN202210560994.7A CN202210560994A CN115048626A CN 115048626 A CN115048626 A CN 115048626A CN 202210560994 A CN202210560994 A CN 202210560994A CN 115048626 A CN115048626 A CN 115048626A
- Authority
- CN
- China
- Prior art keywords
- task
- authorization
- authorized
- user
- auditing
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Time Recorders, Dirve Recorders, Access Control (AREA)
Abstract
本发明实施例公开了一种任务处理方法、装置、电子设备及存储介质,其中,该方法包括:接收授权请求用户发起的授权任务,将与授权任务对应的任务信息写入Redis,并将授权任务加入待分发任务队列;通过调起Lua脚本,读取待分发任务队列中的任务,并根据预先刷入Redis中的任务分发控制参数,确定授权任务对应的授权审核用户;将所述授权任务加入所述授权审核用户对应的待推送,即待处理任务队列,以使所述授权审核用户读取所述待推送任务,并对授权任务对应的信息进行审核。上述技术方案,解决了授权任务无法高效、快速和实时审核的技术问题,达到了对授权任务实时匹配授权审核用户进而实时审核的技术效果。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种任务处理方法、装置、电子设备及存储介质。
背景技术
在商业银行柜面业务处理过程中,为进行事中风险控制设置了远程授权审批环节,由集中在授权中心办公的审核员实时对各网点柜员分散提交的高风险交易进行事中风险审核工作。
现有技术方案基于关系型数据库设计的任务处理方法,每次都需要根据数据表的键值从表记录中筛选形成集合,再进行联表查询、子查询等方式,才能将审核任务匹配授权中心和审核员。
随着授权中心业务规模不断扩大,现有技术方案在任务处理方面逐渐暴露出弊端,基于关系型数据库设计的任务处理过程中,涉及了大量消耗数据库CPU 和内存的运算,随着业务量的增加,数据库运行压力逐渐增大,运行效果不再理想,现有技术方案无法达到授权任务实时匹配和实时审核的需求。
发明内容
本发明实施例提供了一种任务处理方法、装置、电子设备及存储介质,以实现对授权任务实时匹配授权审核用户进而实时审核的技术效果。
第一方面,本发明实施例提供了一种任务处理方法,该方法包括:
接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列;
通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户;
将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
第二方面,本发明实施例还提供了一种任务处理装置,该任务处理装置包括:
授权任务接收模块,用于接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列;
授权审核用户确定模块,用于通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户;
授权任务推送模块,用于将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的任务处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的任务处理方法。
本发明实施例的技术方案,通过接收授权请求用户发起的授权任务,将任务信息写入Redis,并将授权任务加入待分发任务队列,从而根据任务分发控制参数确定授权任务对应的授权审核用户,进而对授权任务进行审核,解决了授权任务无法高效、快速和实时审核的技术问题,达到了对授权任务实时匹配授权审核用户进而实时审核的技术效果。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1是为本发明实施例一所提供的一种任务处理方法的流程示意图;
图2是为本发明实施例二所提供的一种任务处理方法的流程示意图;
图3是为本发明实施例二所提供的一种控制参数集合建立方式的示意图;
图4是为本发明实施例二所提供的一种任务处理方法的授权任务匹配的流程示意图;
图5是为本发明实施例二所提供的一种任务处理方法的总体框架图;
图6为本发明实施例三所提供的一种任务处理装置的结构示意图;
图7是为本发明实施例一所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一所提供的一种任务处理方法的流程示意图,本实施例可适用于对接收到的任务进行分发和推送的情况,该方法可以由任务处理装置来执行,该装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本发明实施例中的任务处理方法。
如图1所示,本实施例的方法具体可包括:
S110、接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列。
其中,所述授权请求用户可以为发起授权任务的请求人,所述授权请求用户可以通过设备发起授权请求任务,所述设备可以放置在各个地点上,例如放置在银行的管理网点等地点,授权请求用户可以通过管理网点发起授权任务。
其中,所述授权任务可以为需要授权的任务,例如需要授权才能进行交易的任务,或者是其他需要授权的任务,例如在商业银行柜面业务处理过程中,为进行事中风险控制设置了远程授权审批环节,由集中在授权中心办公的审核员实时对各网点柜员分散提交的高风险交易进行事中风险审核工作,授权任务可以为上述高风险交易。
其中,所述任务信息可以为授权任务携带的具体任务信息,例如任务信息可以包括一下至少一个:申请网点号、交易码、申请柜员号、任务状态、优先级、授权中心和授权审核用户,还可以包括需要授权审核用户进行审核的待授权信息,授权审核用户可以根据待授权信息对授权任务进行审核。
其中,所述Redis为开源Key-value数据库,Redis被广泛应用于缓存方向,在本发明实施例中,使用Redis来存放任务信息及其他信息,以提高任务处理的效率;授权任务分发使用了大量业务管理范围的参数配置,这些参数偏向于静态,变更频率极低,且一般是1:N的关系即集合,如授权中心A管理的地域范围:{网点A,网点B,……,网点Z}。受限于关系型数据库的管理方式,数据均统筹存储于一张或几张表中,如授权中心管理地域范围表。这些静态数据在每次任务分发时,都需要根据键值从表记录中筛选,这种频繁运算消耗大量系统资源,影响每一笔任务的分发效率,所以本发明实施例采用Redis来存放任务信息及其他信息,可以提高任务处理的效率;并且关系型数据库存在连接池的限制,关系型数据库会逐渐成为多线程并发任务分发的性能瓶颈,在任务分发线程过多时,存在因数据库连接池占满,导致其他服务请求无法响应,或应用请求整体延迟的可能,造成系统服务能力降级的结果。以Oracle为例,一般连接池限制在150以内;Redis连接限制默认为1000。
其中,所述待分发任务队列可以为包含待分发任务的一个队列,所述待分发任务队列可以采用先进先出的方式来排列待分发任务,也可以采用按照待分发任务优先级和时间信息来排列待分发任务,即优先级高的排在队列前方,排在队列前方的待分发任务更先进行分发,优先级相同的任务,按照时间的先后入队。
可以理解的是,任务处理装置通过接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,通过Redis来存放任务信息及其他信息,并将所述授权任务根据授权任务优先级加入待分发任务队列。
S120、通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户。
其中,所述Lua脚本可以为一种轻量小巧的开源脚本语言,Lua脚本设计目的是为了嵌入应用程序中,为程序提供灵活的扩展和定制功能,在本发明实施例中,通过调起Lua脚本读取Redis待分发任务队列内容。
其中,所述任务分发控制参数可以为能够控制任务分发的参数,例如任务分发控制参数中包括任务信息与授权审核用户匹配关系的参数,例如授权审核用户所处理的业务类型即交易码,需要与任务信息中的业务类型相同,等等匹配规则,通过任务分发控制参数对授权任务与授权审核用户进行匹配,从而确定授权任务对应的授权审核用户。
其中,所述授权审核用户可以为能够对授权任务进行审核的用户,所述授权审核用户可以处理不同的业务类型,即对应若干个交易码,授权中心可以包括若干个授权审核用户。
通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,通过定时任务将任务分发控制参数刷入Redis中,根据任务分发控制参数对授权任务与授权审核用户进行匹配,例如授权任务的交易码需要与授权审核用户的交易码相同,以及授权任务的申请网点与授权审核用户所在的授权中心相对应等任务分发控制参数,来进行匹配,从而确定授权任务对应的授权审核用户。
S130、将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
其中,所述待推送任务队列可以为包含待推送任务的一个队列,所述待推送任务队列可以采用先进先出的方式来排列待推送任务,也可以采用按照待推送任务优先级和时间信息来排列待推送任务,即优先级高的排在队列前方,排在队列前方的待推送任务更先进行推送,优先级相同的任务,按照时间的先后入队。
其中,所述授权任务可以为需要授权的任务,例如需要授权才能进行交易的任务,或者是其他需要授权的任务,例如在商业银行柜面业务处理过程中,为进行事中风险控制设置了远程授权审批环节,由集中在授权中心办公的审核员实时对各网点柜员分散提交的高风险交易进行事中风险审核工作,授权任务可以为上述高风险交易;所述授权任务还可以为授权任务时间,即授权任务创建的时间,例如授权任务时间可以为精确到秒的日期时间,通过授权任务时间授权审核用户可以了解授权请求用户发起授权任务后等待的时间,进而可以有针对性的对授权任务进行审核授权,例如授权任务时间距离当前时间过长,可以安抚授权请求用户,或者调整授权审核的流程以稳定授权请求用户情绪等。
将所述授权任务加入所述授权审核用户对应的待推送任务队列,可以为授权任务根据对应的授权审核用户,将所述授权任务加入授权审核用户所处理的待推送任务队列,所述待推送任务队列可以采用先进先出的方式来排列待推送任务,也可以采用按照待推送任务优先级和时间信息来排列待推送任务,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核,例如任务信息包含待授权信息,待授权信息可以为需要授权审核用户进行审核的待授权信息,授权审核用户可以根据待授权信息对授权任务进行审核,也可以为授权审核用户根据任务信息以及与授权请求用户沟通后对授权任务进行审核。
可选的,在本发明实施例中任一可选技术方案的基础上,所述任务处理方法,还包括:
如果未确定出与读取到的授权任务对应的授权审核用户,则提高所述授权任务的处理优先级,并根据所述处理优先级将所述授权任务重新加入待分发队列。
其中,所述处理优先级可以为处理授权任务的优先等级,根据处理优先级的不同,可以将处理优先级高的授权任务优先处理。
所述未确定出与读取到的授权任务对应的授权审核用户可以理解为当所述授权任务加入所述授权审核用户对应的待推送任务队列后,所述授权审核用户无法接受到该授权任务,即授权任务推送失败。然后提高所述授权任务的处理优先级,并根据所述处理优先级将所述授权任务重新加入待分发队列。
可选的,在本发明实施例中任一可选技术方案的基础上,所述任务处理方法,还包括:
如果在存在空闲授权审核用户的情况下,未确定出与读取到的授权任务对应的授权审核用户的累计次数达到预设次数阈值,则生成故障提示信息。
如果在存在空闲授权审核用户的情况下,未确定出与读取到的授权任务对应的授权审核用户的累计次数达到预设次数阈值,则生成故障提示信息,可以理解为,单个或者总体授权任务推送失败次数过多时,即超过设定次数阈值时,生成故障提示信息,例如可能时网络故障或其他类型的故障,也可以为授权任务对应的授权审核用户接收推送的授权任务失败超过设定次数阈值时,生成故障提示信息,提示授权审核用户,出现故障,从而使授权审核用户或相关人员或系统进行检查检修。
本实施例的技术方案,通过接收授权请求用户发起的授权任务,将任务信息写入Redis,并将授权任务加入待分发任务队列,从而根据任务分发控制参数确定授权任务对应的授权审核用户,进而对授权任务进行审核,解决了授权任务无法高效、快速和实时审核的技术问题,达到了对授权任务实时匹配授权审核用户进而实时审核的技术效果。
实施例二
图2为本发明实施例二所提供的一种任务处理方法的流程示意图,本实施例在本发明实施例中任一可选技术方案的基础上,可选地,所述任务处理方法,还包括:通过Spring定时任务Scheduled在预设时间点将任务分发控制参数以控制参数集合的形式刷入Redis,其中,所述控制参数集合包括交易可分发授权中心集合、网点任务可分发授权中心集合、交易可分发授权审核用户集合、网点任务可分发授权审核用户集合、空闲授权审核用户集合、优先授权审核用户集合、任务可分发队列集合以及任务可推送队列集合中的至少一个。
如图2所示,本实施例的方法具体可包括:
S210、通过Spring定时任务Scheduled在预设时间点将任务分发控制参数以控制参数集合的形式刷入Redis,其中,所述控制参数集合包括交易可分发授权中心集合、网点任务可分发授权中心集合、交易可分发授权审核用户集合、网点任务可分发授权审核用户集合、空闲授权审核用户集合、优先授权审核用户集合、任务可分发队列集合以及任务可推送队列集合中的至少一个。
其中,所述定时任务可以为固定时间启动运行的程序或间隔固定时间循环执行的程序,定时任务Scheduled可以为Spring提供的@Scheduled注解,定时任务Scheduled良好的解决了定时任务的需求,在本发明实施例中,通过定时任务Scheduled可以将任务分发控制参数以控制参数集合的形式刷入Redis,例如在每天的日切时间点将本日的任务分发控制参数刷入Redis。
其中,所述控制参数集合可以为Redis中set集合数据类型,所述控制参数集合可以为授权任务需要满足的一定参数条件,根据控制参数集合可以确定授权任务对应的授权审核用户。
其中,所述交易可分发授权中心集合可以为以交易码为key,以授权中心的身份标识信息为value来组织的集合;所述网点任务可分发授权中心集合可以为以管理网点号作为key,以授权中心的身份标识信息为value来组织的集合;交易可分发授权审核用户集合可以为以交易码为key,以授权中心的身份标识信息和授权审核用户的身份标识信息作为value来组织的集合;网点任务可分发授权审核用户集合可以为以管理网点号作为key,以授权中心的身份标识信息和授权审核用户的身份标识信息为value来组织的集合;空闲授权审核用户集合可以为以授权中心的身份标识信息key,以授权中心的身份标识信息和授权审核用户的身份标识信息为value来组织的集合;优先授权审核用户集合可以为以授权中心的身份标识信息为key,以授权中心的身份标识信息和授权审核用户的身份标识信息为value来组织的集合;任务可分发队列集合可以为以地域信息为key,以待分发任务队列的标识信息为值为value来组织的集合;任务可推送队列集合可以为以地域信息为key,以待推送任务队列的标识信息为value来组织的集合。
如图3所示,为本发明实施例二所提供的一种控制参数集合建立方式的示意图,如图2所示,为上述控制参数集合建立方式的举例,例如,授权中心业务范围表包含授权中心ID即授权中心的身份标识信息和交易码两个字段,然后根据交易码来反向建立交易可分发授权中心集合,即一个交易码下对应的授权中心ID为一个集合;授权中心区域范围表包含授权中心ID即授权中心的身份标识信息和管理网点号两个字段,然后根据管理网点号来反向建立网点任务可分发授权中心集合;审核员业务范围表包括授权中心ID即授权中心的身份标识信息、审核员ID即授权审核用户的身份标识信息和交易码三个字段,然后根据交易码来反向建立交易可分发审核用户集合即交易可分发授权审核用户集合;审核员区域范围表包含授权中心ID即授权中心的身份标识信息、审核员ID即授权审核用户的身份标识信息和网点号即管理网点号三个字段,然后根据网点号来反向建立网点任务可分发审核员集合即网点任务可分发授权审核用户集合。
可选的,在本发明实施例中任一可选技术方案的基础上,所述控制参数集合基于下述方式中的至少一种方式建立:
以授权中心业务范围中的具体交易码作为键,以授权中心的身份标识信息作为值,反向建立交易可分发授权中心集合;
以授权中心区域范围中的管理网点号作为键,以授权中心的身份标识信息作为值,反向建立网点任务可分发授权中心集合;
以审核员业务范围中的具体交易码号作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,建立交易可分发授权审核用户集合;
以审核员区域范围中的管理网点号作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,建立网点任务可分发授权审核用户集合;
以审核员业务范围中的授权中心的身份标识信息作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,根据授权审核用户的工作状态标识信息建立空闲授权审核用户集合;
以审核员业务范围中的授权中心的身份标识信息作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,根据授权审核用户的优先级信息建立优先授权审核用户集合;
以所述授权任务对应的地域信息作为键,以待分发任务队列的标识信息为值,建立任务可分发队列集合;
以所述授权任务对应的地域信息作为键,以待推送任务队列的标识信息为值,建立任务可推送队列集合。
可选的,在本发明实施例中任一可选技术方案的基础上,所述根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户,包括:
获取所述授权任务的申请网点号和交易码,依据所述申请网点号和所述交易码在所述交易可分发授权中心集合与所述网点任务可分发授权中心集合中查找匹配授权中心号;
根据所述申请网点号、交易码以及所述匹配授权中心号在所述交易可分发授权审核用户集合与所述网点任务可分发授权审核用户集合的交集中查找匹配授权审核用户;
根据所述匹配授权中心号和所述匹配授权审核用户在所述空闲授权审核用户集合中找到匹配的空闲授权审核用户;
根据所述空闲授权审核用户确定与读取到的授权任务对应的授权审核用户。
其中,所述申请网点号可以为授权请求用户发起授权任务所在网点的网点号,申请网点号可以为管理网点号。
其中,所述交易码可以为表示授权任务的任务种类代码,通过交易码可以区别不同种类的授权任务,并且授权审核用户可以处理相对应的交易码的授权任务。
其中,所述依据所述申请网点号和所述交易码在所述交易可分发授权中心集合与所述网点任务可分发授权中心集合中查找匹配授权中心号,可以为,通过申请网点号在网点任务可分发授权中心集合中找出申请网点号对应的授权中心的身份标识信息集合A,即授权中心号集合A,通过交易码在交易可分发授权中心集合中找到交易码对应的授权中心号集合B,再通过交集运算得到匹配授权中心号。
其中,所述根据所述申请网点号、交易码以及所述匹配授权中心号在所述交易可分发授权审核用户集合与所述网点任务可分发授权审核用户集合的交集中查找匹配授权审核用户,可以为,通过申请网点号在网点任务可分发授权审核用户集合中找出申请网点号对应的授权中心的身份标识信息和授权审核用户的身份标识信息集合C,通过交易码在交易可分发授权审核用户集合中找到交易码对应的授权中心的身份标识信息和授权审核用户的身份标识信息集合D,通过交集运算得到匹配授权审核用户,可选的,通过交集运算得到授权中心的身份标识信息和授权审核用户的身份标识信息集合E,再从授权中心的身份标识信息和授权审核用户的身份标识信息集合E中筛选出符合匹配授权中心号的匹配授权审核用户。
其中,所述空闲授权审核用户集合可以为空闲状态的授权审核用户的集合,当授权审核用户正在进行授权审核时,授权审核用户的状态为忙碌,当授权审核用户结束授权审核时,或授权审核用户没有进行授权审核时,授权审核用户的状态为空闲。
其中,所述根据所述匹配授权中心号和所述匹配授权审核用户在所述空闲授权审核用户集合中找到匹配的空闲授权审核用户,可以为,根据授权中心号在空闲授权审核用户集合中找到授权中心号所对应的空闲授权审核用户,再将各个授权中心号对应的空闲授权审核用户进行并集运算,得到空闲授权审核用户集合,即匹配的空闲授权审核用户。
其中,所述根据所述空闲授权审核用户确定与读取到的授权任务对应的授权审核用户,可以为,在匹配的空闲授权审核用户中选择一个授权审核用户作为授权任务对应的授权审核用户,其中,选择方法可以采用随机选取,也可以通过授权审核用户处理量选择,例如优先选择处理量小的授权审核用户,以保证工作量平均,还可以通过授权审核用户对应的优先度来选择授权审核用户,其中优先度可以动态变动,以适应不同情况。
如图4所述,为本发明实施例二所提供的一种任务处理方法的授权任务匹配的流程示意图,如图4所示通过读取待分发任务队列的队头获得授权任务,根据授权任务的申请网点号和交易码,在网点任务可分发授权中心集合和交易可分发授权中心集合中找到授权中心集合,通过交集运算得到匹配的授权中心集合,在根据授权任务的申请网点号和交易码及匹配的授权中心集合在网点任务可分发审核员集合和交易可分发审核员集合中找到授权审核用户,通过交集得到匹配的授权审核用户集合,再通过空闲审核员集合求并集得到匹配的空闲审核用户集合,在通过优先审核员集合求并集确定授权任务对应的授权审核用户,并将授权中心号及授权审核用户ID添加至授权任务的任务详情中,将授权任务加入待推送任务队列。
可选的,在本发明实施例中任一可选技术方案的基础上,所述根据所述空闲授权审核用户确定与读取到的授权任务对应的授权审核用户,包括:
如果查找到的所述空闲授权审核用户为两个或两个以上,则根据所述空闲授权审核用户在所述优先授权审核用户集合中选择优先度最高的空闲授权审核用户作为与读取到的授权任务对应的授权审核用户。
S220、接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列。
S230、通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户。
S240、将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
本实施例的技术方案,Spring定时任务Scheduled在预设时间点将任务分发控制参数以控制参数集合的形式刷入Redis,解决了如何将任务分发控制参数刷入Redis的技术问题,达到了高效、准确及定时的将任务分发控制参数刷入Redis 的技术效果。
如图5所示,为本发明实施例二所提供的一种任务处理方法的总体框架图,如图5所示,任务处理方法可包括:
步骤1、通过Spring定时任务Scheduled在日切时点将任务分发的控制参数刷入Redis内存。本步骤刷入的参数包括:授权中心管理的业务范围、区域范围:按照业务范围中的具体交易码、区域范围中的具体交易码、网点号作为 Key,授权中心ID作为Value,反向建立多个Set;审核员可受理的业务范围、区域范围集合:按照业务范围中的具体交易码、区域范围中的交易码、网点号作为Key,审核员ID作为Value,反向建立多个Set;每个授权中心设置一个空闲用户集合和忙碌用户集合,授权中心ID作为Key,建立Set;每个省设置一个待分发任务队列和待推送任务队列,省市代码作为Key,建立ZSet;
步骤2、日间审核员登录系统后,将用户信息和状态同步写入Redis,具体包括:使用授权审核用户的身份标识信息作为Key,数据类型选择Hash Table,写入用户信息;用户每次受理业务、结束业务、登录、退出,均更新Redis中的授权中心空闲用户集合和忙碌用户集合。
步骤3、网点柜员或授权请求用户发起实时授权任务后,任务信息写入 Redis,任务加入待分发任务队列,具体包括:授权任务ID作为Key,任务详情选择Hash Table;授权任务加入待分发队列时允许有优先权重,使用ZSet 解决权重优先问题。
步骤4、通过定时任务和多线程配置,启动多套定时任务,任务中通过调起Lua脚本,读取Redis待分发任务队列内容,根据授权中心管理范围、审核员管理范围及状态等集合信息,进行授权任务与授权审核用户的匹配,具体包括:授权任务与授权中心匹配,标记授权中心信息;授权任务与授权审核用户匹配,标记授权审核用户信息;授权任务从待分发队列挪入待推送队列,授权审核用户状态从空闲转为忙碌;授权任务无法完成匹配重回待分发任务队列,提升任务优先权重。
步骤5、通过定时任务读取Redis待推送任务队列内容,从待推送任务队列中选择授权任务进行任务推送。
步骤6、提供授权任务推送失败后重新写入Redis待分发任务队列的功能,具体包括:授权任务匹配信息删除,提升任务优先权重;授权任务加入待分发队列;授权审核用户状态从忙碌转为空闲,并累计推送失败次数,超过系统设定失败数后,提示授权审核用户网络存在问题,需检查设备情况。
本发明实施例的优点具有:授权任务的分发和推送采用Redis内存数据库替代关系型数据库,预先将配置参数刷入缓存,数据读写和集合运算的速度更快,系统处理实时性强、资源消耗低,将存储在关系型数据库单表中的数据打散,转化为Redis中的多个Set,并利用Redis Set运算能力实现基于时间复杂度O(n)的任务分发算法,提升系统运行效果;基于Redis设计任务分发算法,并发处理能力得到进一步提升;任务分发不再依赖关系型数据库,数据库连接池资源可更好地支持其他服务,提升系统整体的运行稳定性和性能;使用Lua 脚本原子性的特性,封装授权任务分发时的集合运算,保证多次集合运算时数据的一致性,实现基于Redis的事务,授权任务分发的集合运算基于在系统中内嵌Lua脚本调用来实现,轻量高效、可灵活扩展,且Redis服务器单线程原子性执行Lua脚本,保证Lua脚本在处理的过程中不会被任意其他请求打断,达到关系型数据库提供的事务特性;提供授权任务分发和推送失败处理,通过分发失败后提升授权任务的优先权重,保证了授权任务能够按照申请时序进行分发;通过推送失败重新分发的机制,规避了网络抖动对任务受理成功率的影响,最大程度实现了系统的自动化运行,授权任务分发和推送失败的处理,可保证同一任务在总体受理时间上的均衡性,避免因系统网络原因导致客户等待时间延长;并实现整体系统流程自动化运转,具备较高的任务处理效率和成功率。
实施例三
图6为本发明实施例三提供的一种任务处理装置的结构示意图,本实施例所提供的任务处理装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本发明实施例中的任务处理方法。该装置具体可包括:授权任务接收模块310、授权审核用户确定模块320和授权任务推送模块330。
其中,授权任务接收模块310,用于接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列;授权审核用户确定模块320,用于通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户;授权任务推送模块330,用于将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
本实施例的技术方案,通过接收授权请求用户发起的授权任务,将任务信息写入Redis,并将授权任务加入待分发任务队列,从而根据任务分发控制参数确定授权任务对应的授权审核用户,进而对授权任务进行审核,解决了授权任务无法高效、快速和实时审核的技术问题,达到了对授权任务实时匹配授权审核用户,进而实时审核的技术效果。
在本发明实施例中任一可选技术方案的基础上,可选地,所述任务处理装置,还包括:
任务分发控制参数刷入模块,用于通过Spring定时任务Scheduled在预设时间点将任务分发控制参数以控制参数集合的形式刷入Redis,其中,所述控制参数集合包括交易可分发授权中心集合、网点任务可分发授权中心集合、交易可分发授权审核用户集合、网点任务可分发授权审核用户集合、空闲授权审核用户集合、优先授权审核用户集合、任务可分发队列集合以及任务可推送队列集合中的至少一个。
在本发明实施例中任一可选技术方案的基础上,可选地,所述控制参数集合基于下述方式中的至少一种方式建立:
以授权中心业务范围中的具体交易码作为键,以授权中心的身份标识信息作为值,反向建立交易可分发授权中心集合;
以授权中心区域范围中的管理网点号作为键,以授权中心的身份标识信息作为值,反向建立网点任务可分发授权中心集合;
以审核员业务范围中的具体交易码号作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,建立交易可分发授权审核用户集合;
以审核员区域范围中的管理网点号作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,建立网点任务可分发授权审核用户集合;
以审核员业务范围中的授权中心的身份标识信息作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,根据授权审核用户的工作状态标识信息建立空闲授权审核用户集合;
以审核员业务范围中的授权中心的身份标识信息作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,根据授权审核用户的优先级信息建立优先授权审核用户集合;
以所述授权任务对应的地域信息作为键,以待分发任务队列的标识信息为值,建立任务可分发队列集合;
以所述授权任务对应的地域信息作为键,以待推送任务队列的标识信息为值,建立任务可推送队列集合。
在本发明实施例中任一可选技术方案的基础上,可选地,所述授权审核用户确定模块320,可包括:
授权中心号匹配单元,用于获取所述授权任务的申请网点号和交易码,依据所述申请网点号和所述交易码在所述交易可分发授权中心集合与所述网点任务可分发授权中心集合中查找匹配授权中心号;
授权审核用户匹配单元,用于根据所述申请网点号、交易码以及所述匹配授权中心号在所述交易可分发授权审核用户集合与所述网点任务可分发授权审核用户集合的交集中查找匹配授权审核用户;
空闲授权审核用户确定单元,用于根据所述匹配授权中心号和所述匹配授权审核用户在所述空闲授权审核用户集合中找到匹配的空闲授权审核用户;
授权审核用户确定单元,用于根据所述空闲授权审核用户确定与读取到的授权任务对应的授权审核用户。
在本发明实施例中任一可选技术方案的基础上,可选地,所述授权审核用户确定单元,可用于如果查找到的所述空闲授权审核用户为两个或两个以上,则根据所述空闲授权审核用户在所述优先授权审核用户集合中选择优先度最高的空闲授权审核用户作为与读取到的授权任务对应的授权审核用户。
在本发明实施例中任一可选技术方案的基础上,可选地,所述任务处理装置,还包括:
授权任务处理优先级模块,用于如果未确定出与读取到的授权任务对应的授权审核用户,则提高所述授权任务的处理优先级,并根据所述处理优先级将所述授权任务重新加入待分发队列。
在本发明实施例中任一可选技术方案的基础上,可选地,所述任务处理装置,还包括:
故障信息生成模块,用于如果在存在空闲授权审核用户的情况下,未确定出与读取到的授权任务对应的授权审核用户的累计次数达到预设次数阈值,则生成故障提示信息。
上述任务处理装置可执行本发明任意实施例所提供的任务处理方法,具备执行任务处理方法相应的功能模块和有益效果。
实施例四
图7为本发明实施例四提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;设备中处理器410的数量可以是一个或多个,图7中以一个处理器410为例;设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的任务处理方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410 远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行任务处理方法,该方法包括:接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入 Redis,并将所述授权任务加入待分发任务队列;通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户;将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或事务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网事务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种任务处理方法,其特征在于,包括:
接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列;
通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户;
将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
2.根据权利要求1所述的方法,其特征在于,还包括:
通过Spring定时任务Scheduled在预设时间点将任务分发控制参数以控制参数集合的形式刷入Redis,其中,所述控制参数集合包括交易可分发授权中心集合、网点任务可分发授权中心集合、交易可分发授权审核用户集合、网点任务可分发授权审核用户集合、空闲授权审核用户集合、优先授权审核用户集合、任务可分发队列集合以及任务可推送队列集合中的至少一个。
3.根据权利要求2所述的方法,其特征在于,所述控制参数集合基于下述方式中的至少一种方式建立:
以授权中心业务范围中的具体交易码作为键,以授权中心的身份标识信息作为值,反向建立交易可分发授权中心集合;
以授权中心区域范围中的管理网点号作为键,以授权中心的身份标识信息作为值,反向建立网点任务可分发授权中心集合;
以审核员业务范围中的具体交易码号作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,建立交易可分发授权审核用户集合;
以审核员区域范围中的管理网点号作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,建立网点任务可分发授权审核用户集合;
以审核员业务范围中的授权中心的身份标识信息作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,根据授权审核用户的工作状态标识信息建立空闲授权审核用户集合;
以审核员业务范围中的授权中心的身份标识信息作为键,以授权中心的身份标识信息和授权审核用户的身份标识信息作为值,根据授权审核用户的优先级信息建立优先授权审核用户集合;
以所述授权任务对应的地域信息作为键,以待分发任务队列的标识信息为值,建立任务可分发队列集合;
以所述授权任务对应的地域信息作为键,以待推送任务队列的标识信息为值,建立任务可推送队列集合。
4.根据权利要求2所述的方法,其特征在于,所述根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户,包括:
获取所述授权任务的申请网点号和交易码,依据所述申请网点号和所述交易码在所述网点任务可分发授权中心集合与所述交易可分发授权中心集合中查找匹配授权中心号;
根据所述申请网点号、交易码以及所述匹配授权中心号在所述交易可分发授权审核用户集合与所述网点任务可分发授权审核用户集合的交集中查找匹配授权审核用户;
根据所述匹配授权中心号和所述匹配授权审核用户在所述空闲授权审核用户集合中找到匹配的空闲授权审核用户;
根据所述空闲授权审核用户确定与读取到的授权任务对应的授权审核用户。
5.根据权利要求4所述的方法,其特征在于,所述根据所述空闲授权审核用户确定与读取到的授权任务对应的授权审核用户,包括:
如果查找到的所述空闲授权审核用户为两个或两个以上,则根据所述空闲授权审核用户在所述优先授权审核用户集合中选择优先度最高的空闲授权审核用户作为与读取到的授权任务对应的授权审核用户。
6.根据权利要求1所述的方法,其特征在于,还包括:
如果未确定出与读取到的授权任务对应的授权审核用户,则提高所述授权任务的处理优先级,并根据所述处理优先级将所述授权任务重新加入待分发队列。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果在存在空闲授权审核用户的情况下,未确定出与读取到的授权任务对应的授权审核用户的累计次数达到预设次数阈值,则生成故障提示信息。
8.一种任务处理装置,其特征在于,包括:
授权任务接收模块,用于接收授权请求用户发起的授权任务,将与所述授权任务对应的任务信息写入Redis,并将所述授权任务加入待分发任务队列;
授权审核用户确定模块,用于通过调起Lua脚本,读取所述待分发任务队列中待分发的授权任务,并根据预先刷入Redis中的任务分发控制参数,确定与读取到的授权任务对应的授权审核用户;
授权任务推送模块,用于将所述授权任务加入所述授权审核用户对应的待推送任务队列,以使所述授权审核用户读取所述待推送任务队列中的授权任务,并对读取到的授权任务对应的任务信息进行审核。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的任务处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210560994.7A CN115048626A (zh) | 2022-05-23 | 2022-05-23 | 任务处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210560994.7A CN115048626A (zh) | 2022-05-23 | 2022-05-23 | 任务处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048626A true CN115048626A (zh) | 2022-09-13 |
Family
ID=83160086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210560994.7A Pending CN115048626A (zh) | 2022-05-23 | 2022-05-23 | 任务处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048626A (zh) |
-
2022
- 2022-05-23 CN CN202210560994.7A patent/CN115048626A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220391763A1 (en) | Machine learning service | |
US8826277B2 (en) | Cloud provisioning accelerator | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
US20150379423A1 (en) | Feature processing recipes for machine learning | |
TW201820165A (zh) | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 | |
US20100017460A1 (en) | Assymetric Dynamic Server Clustering with Inter-Cluster Workload Balancing | |
US20190087252A1 (en) | Real-Time Monitoring Alert Chaining, Root Cause Analysis, and Optimization | |
CN111045911B (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
KR20100077151A (ko) | 트랜잭션 프로세싱 쓰루풋을 증가시키기 위한 트랜잭션 취합 | |
CN108171473A (zh) | 一种数据分析处理系统及数据分析处理方法 | |
CN109901918B (zh) | 一种处理超时任务的方法和装置 | |
WO2021204013A1 (zh) | 智能派工方法、装置、设备及存储介质 | |
CN115335821B (zh) | 卸载统计收集 | |
US11856053B2 (en) | Systems and methods for hybrid burst optimized regulated workload orchestration for infrastructure as a service | |
US10255127B2 (en) | Optimized diagnostic data collection driven by a ticketing system | |
CN108509259A (zh) | 获取多方数据源的方法以及风控系统 | |
US20180225325A1 (en) | Application resiliency management using a database driver | |
CN110033242B (zh) | 工作时间确定方法、装置、设备和介质 | |
CN116842090A (zh) | 一种对账系统、方法、设备及存储介质 | |
CN115048626A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
US12008399B2 (en) | Optimization for scheduling of batch jobs | |
CN114707961A (zh) | 基于审批流配置的待审批任务执行方法、装置、设备、介质和程序产品 | |
CN111866171B (zh) | 报文处理方法、装置、电子设备和介质 | |
US11816621B2 (en) | Multi-computer tool for tracking and analysis of bot performance | |
US11580555B2 (en) | Systems and methods for rules-based decisioning of events |
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 |