一种批量任务的处理方法及装置与流程

文档序号:11154622阅读:795来源:国知局
一种批量任务的处理方法及装置与制造工艺

本发明属于多任务处理技术领域,尤其涉及一种批量任务的处理方法及装置。



背景技术:

在目前的金融领域中,常常存在多任务的批量处理需求,例如,在企业现金批量审批交易中,银行相关处理系统常存在需要对多个客户的批量审批任务进行处理的情况。

现有技术的处理方式中,针对各个客户的批量任务处理需求,系统一般会依据每个客户请求的批量任务的任务量,为每个客户相应启动单个线程(客户的任务量未超出单线程的最大任务数时)或多个线程(客户的任务量超出单线程的最大任务数时)进行客户批量任务请求的同步(实时)处理。然而,系统在同一时刻能够开启的最大线程数是有限制的,当已启动的线程数达到上限时,则会导致客户请求的延时处理,基于此,为了提升系统的处理能力,在批量任务的处理场景中,如何降低处理客户请求时的线程资源占用量,节省后台的线程资源变得十分重要。



技术实现要素:

有鉴于此,本发明的目的在于提供一种批量任务的处理方法及装置,旨在有效降低批量任务处理时的线程资源占用量,节省后台的线程资源,进而提升系统的处理能力。

为此,本发明公开如下技术方案:

一种批量任务的处理方法,包括:

获得请求方的批量任务处理请求,所述批量任务处理请求包括请求方标识及待处理的批量任务的任务信息,所述任务信息包括批量任务的任务量;

确定所述批量任务的任务量是否超出单线程的最大任务数;

如果超出,则基于所述请求方标识获得所述请求方对应的优先级别;其中,所述优先级别为预先划分的高优先级别及低优先级别中的一种;

当所述请求方对应的优先级别为低优先级别时,启动一个线程,并利用启动的所述一个线程异步处理所述批量任务处理请求。

上述方法,优选的,所述基于所述请求方标识获得所述请求方对应的优先级别,包括:

获取预先配置的配置文件中的白名单信息,所述白名单信息中包含低优先级别的各个可能的请求方的标识信息;其中,低优先级别的请求方为:对批量任务处理请求的处理实效性要求较低的请求方;

确定所述白名单信息中是否包含所述请求方标识;

若包含,则所述请求方对应的优先级别为低优先级别;若不包含,则所述请求方对应的优先级别为高优先级别。

上述方法,优选的,还包括:

如果所述批量任务的任务量未超出单线程的最大任务数,则启动一个线程,并利用启动的所述一个线程同步处理所述批量任务处理请求。

上述方法,优选的,还包括:

当所述请求方对应的优先级别为高优先级别时,依据所述批量任务的任务量及单线程的最大任务数,确定需启动的多线程的线程数量;

启动数量为所确定的线程数量的多个线程,并利用所述多个线程同步处理所述批量任务处理请求。

上述方法,优选的,还包括:

读取对所述批量任务处理请求进行处理的处理结果,将所述处理结果组装为符合预定需求的响应信息,并返回所述响应信息。

一种批量任务的处理装置,包括:

第一获取单元,用于获得请求方的批量任务处理请求,所述批量任务处理请求包括请求方标识及待处理的批量任务的任务信息,所述任务信息包括批量任务的任务量;

确定单元,用于确定所述批量任务的任务量是否超出单线程的最大任务数;

第二获取单元,用于在所述批量任务的任务量超出单线程的最大任务数时,基于所述请求方标识获得所述请求方对应的优先级别;其中,所述优先级别为预先划分的高优先级别及低优先级别中的一种;

第一处理单元,用于在所述请求方对应的优先级别为低优先级别时,启动一个线程,并利用启动的所述一个线程异步处理所述批量任务处理请求。

上述装置,优选的,所述第二获取单元,进一步用于:

获取预先配置的配置文件中的白名单信息,所述白名单信息中包含低优先级别的各个可能的请求方的标识信息;其中,低优先级别的请求方为:对批量任务处理请求的处理实效性要求较低的请求方;确定所述白名单信息中是否包含所述请求方标识;若包含,则所述请求方对应的优先级别为低优先级别;若不包含,则所述请求方对应的优先级别为高优先级别。

上述装置,优选的,还包括:

第二处理单元,用于在所述批量任务的任务量未超出单线程的最大任务数时,启动一个线程,并利用启动的所述一个线程同步处理所述批量任务处理请求。

上述装置,优选的,还包括:

第三处理单元,用于在所述请求方对应的优先级别为高优先级别时,依据所述批量任务的任务量及单线程的最大任务数,确定需启动的多线程的线程数量;启动数量为所确定的线程数量的多个线程,并利用所述多个线程同步处理所述批量任务处理请求。

上述装置,优选的,还包括:

结果响应单元,用于读取对所述批量任务处理请求进行处理的处理结果,将所述处理结果组装为符合预定需求的响应信息,并返回所述响应信息。

由以上方案可知,本发明提供的一种批量任务的处理方法及装置,在请求方所请求处理的批量任务的任务量超出单线程的最大任务数时,获得请求方对应的优先级别,并在请求方对应低优先级别时,启动一个线程,最终利用启动的一个线程来异步处理请求方的超出单线程最大任务数的批量任务处理请求。可见,本发明通过对请求方进行高、低优先级别划分,并在低优先级别的请求方所请求处理的任务量超出单线程最大任务数的情况下,为低优先级别的请求方设计一种仅启动一个线程来异步处理(即非实时处理)请求方批量任务处理请求的方案,可有效降低批量任务处理时的线程资源占用量,节省后台的线程资源,进而提升系统的处理能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明实施例一提供的批量任务的处理方法流程图;

图2是本发明实施例二提供的批量任务的处理方法流程图;

图3是本发明实施例三提供的批量任务的处理方法流程图;

图4是本发明实施例四提供的批量任务的处理方法流程图;

图5是本发明实施例四提供的在企业现金批量审批交易中利用本发明方案实现批量审批的流程图;

图6是本发明实施例五提供的批量任务的处理装置结构示意图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:

批量审批:批量审批对应单笔审批,是指在业务流程处理中,操作员可以对待审批的单据进行批量处理,后台完成待审批单据的批量审批操作。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例一提供一种批量任务的处理方法,可应用于金融等领域的批量任务处理中,例如,具体可应用于企业现金批量审批交易的处理中,参考图1,所述方法可以包括以下步骤:

步骤101、获得请求方的批量任务处理请求,所述批量任务处理请求包括请求方标识及待处理的批量任务的任务信息,所述任务信息包括批量任务的任务量。

其中,示例性地,对于企业现金批量审批交易的处理过程来说,所述请求方具体可以是银行的客户,而本发明方法的处理逻辑则具体可在银行相关系统的后台执行实现。

基于此,本步骤可在银行系统后台通过接收前端上送的批量任务处理请求来实现。所述批量任务处理请求,例如可以是客户提出的针对批量转账任务、批量汇款任务等等的处理请求,该处理请求中包含批量任务的任务信息,如任务相关数据、总任务量等等,除此之外,还包括请求方标识,所述请求方标识可以是能够唯一标识请求方的相关信息,例如可以是请求方账户、姓名或客户编号等。

步骤102、确定所述批量任务的任务量是否超出单线程的最大任务数。

在获得请求方的批量任务处理请求后,需对请求方请求的批量任务转单笔处理,此时,需首先确定处理请求方请求需启动的线程数,基于此,需首先判断请求方所请求处理的任务量是否超出了单线程的最大任务数。

此处,需要说明的是,所述单线程的最大任务数,为单线程一次能够同步处理(即实时处理)的批量任务的最大任务数,若一次分配给单线程的任务量超过该最大任务数,则单线程对所分配任务的处理同步性得不到保证,仅能异步处理(非实时处理)向其分配的超出其最大任务数的批量任务。

步骤103、如果超出,则基于所述请求方标识获得所述请求方对应的优先级别;其中,所述优先级别为预先划分的高优先级别及低优先级别中的一种。

区别于现有技术中,当请求方请求处理的批量任务的任务量超出单线程的最大任务数时,对请求方不加区分地为其分配相应的多个线程进行批量任务处理的处理逻辑,本发明预先对各个可能的请求方(如银行的各个客户)进行不同优先级别的划分,并将不同的请求方预先划分高、低两种不同的优先级别。

作为一个可能的实现方式,具体可以依据各个可能的请求方对处理的时效性要求来为其预先配置相对应的优先级别,对于对处理时效性要求较高的请求方,为避免影响客户体验,可将此类请求方的优先级别设为高优先级别,反之,对于对处理时效性要求较低的请求方,则可将其优先级别设为低优先级别。在本发明其他实施例中,还可以依据其他划分依据对不同请求方的优先级别进行划分,例如还可以依据请求方的重要程度等等来划分,实施本发明时,优先级别的划分依据具体可根据实际需求进行确定,本实施例对此不作限定。

在对各个可能的请求方进行优先级别划分的基础上,本发明预先配置一个配置文件,该配置文件中具体包含预先在该文件中配置的白名单信息,所述白名单信息例如具体可以是一个白名单列表,其中白名单列表记录了系统所维护的所有可能的请求方(系统所维护的所有客户)中被划分为低优先级别的各请求方的标识信息。

基于此,当请求方所请求处理的批量任务的任务量超出单线程的最大任务数时,本步骤具体可读取配置文件中的白名单信息,并判断读取的白名单信息中是否包含提出此次请求的请求方标识,如包含,则可获知提出此次请求的请求方为低优先级别的客户;否则,如果白名单信息中不包含所述请求方标识,则提出此次请求的请求方为高优先级别客户。

后续,依据本发明的不同步骤分别对不同优先级别的请求方采用不同的处理逻辑。

步骤104、当所述请求方对应的优先级别为低优先级别时,启动一个线程,并利用启动的所述一个线程异步处理所述批量任务处理请求。

如果在上一步骤中确定出请求方的优先级别为低优先级,则表示请求方的时效性要求较低,或者请求方的重要程度较低等等,基于此,本发明不为低优先级别的该请求方启动多个线程来处理其超出单线程最大任务数的批量任务,而是仅启动一个线程对其请求处理的批量任务进行处理,由于请求方请求的任务量已超出单线程的最大任务数,从而此种情况下,所启动的单线程异步处理所述请求方的请求,即通过合理降低时效性要求较低、或重要程度较低的低优先级客户的线程资源占用,达到了节约后台线程资源的目的。所节约的线程资源,在后续可进一步用于对时效性要求较高,或重要程度较高的高优先级客户的请求进行处理。

由以上方案可知,本发明提供的一种批量任务的处理方法,在请求方所请求处理的批量任务的任务量超出单线程的最大任务数时,获得请求方对应的优先级别,并在请求方对应低优先级别时,启动一个线程,最终利用启动的一个线程来异步处理请求方的超出单线程最大任务数的批量任务处理请求。可见,本发明通过对请求方进行高、低优先级别划分,并在低优先级别的请求方所请求处理的任务量超出单线程最大任务数的情况下,为低优先级别的请求方设计一种仅启动一个线程来异步处理(即非实时处理)请求方批量任务处理请求的方案,可有效降低批量任务处理时的线程资源占用量,节省后台的线程资源,进而提升系统的处理能力。

实施例二

本实施例中,参考图2示出的批量任务的处理方法流程图,所述方法还可以包括以下步骤:

步骤105、如果所述批量任务的任务量未超出单线程的最大任务数,则启动一个线程,并利用启动的所述一个线程同步处理所述批量任务处理请求。

具体地,如果请求方请求处理的批量任务的任务量未超出单线程的最大任务数,则可直接启动一个单线程来对请求方提出的批量任务处理请求进行处理,由于所请求的任务量未超出单线程的最大任务数,从而单线程可同步处理此次请求。

实施例三

本实施例中,参考图3示出的批量任务的处理方法流程图,所述方法还可以包括以下步骤:

步骤106、当所述请求方对应的优先级别为高优先级别时,依据所述批量任务的任务量及单线程的最大任务数,确定需启动的多线程的线程数量;

步骤107、启动数量为所确定的线程数量的多个线程,并利用所述多个线程同步处理所述批量任务处理请求。

如果请求方的优先级别为高优先级,则表示请求方的时效性要求较高,或者请求方的重要程度较高等等,为避免影响客户体验,则采用惯常处理方式,依据请求方所请求处理的任务量及单线程的最大任务数,确定需要为请求方启动的多线程的线程数量,从而在此基础上,启动符合所确定数量的多个线程来同步处理请求方的请求,有效保证请求方请求处理的时效性。

实施例四

本实施例中,参考图4示出的批量任务的处理方法流程图,所述方法还可以包括以下步骤:

步骤108、读取对所述批量任务处理请求进行处理的处理结果,将所述处理结果组装为符合预定需求的响应信息,并返回所述响应信息。

当依据请求方的优先级别,为其启动的一个线程或多个线程的批量任务处理过程结束时,后台会读取相应的一个线程或多个线程的批量任务处理结果,并将其组装成符合预定需求,例如符合预定格式/展现形式的响应信息,并将该响应结果返回至前端。

参考图5,图5示出了一种在企业现金批量审批交易中利用本发明方案实现批量审批的流程图,其中,针对企业现金批量审批交易这一应用场景,在进行批量审批时,后台需对前端上送的批量请求进行批量转单笔(是指在具体线程中采用单笔顺次执行形式来处理任务)操作,在进行批量转单笔操作前,需首先确定此次的批量任务中待审核记录(一个记录对应一个任务)数是否超出单线程的最大任务数;如果未超出,则直接启动主线程同步处理客户请求;如果超出,则获取配置文件中的白名单信息,并判断当前上送交易请求的客户是否为白名单中存在的客户,如果是白名单客户,则只启动一个线程,并即时向前端返回“正在处理您的请求”,同时在后端异步处理该客户请求,后续客户可以在查询交易中查看上送的审批请求的具体处理情况;如果不是白名单客户,则根据客户上送的请求中待处理的记录数决定需启动的线程数N,并同时启动N个线程处理客户的审批请求,当针对上述各种情况所启动的一个线程或N个线程处理完成时,后台会向前端返回处理结果。

对于上述应用场景,本发明通过将白名单技术引入企业现金管理系统的流程审批中,即针对现有流程审批中遇到的批量审批占用线程数较多的问题,提供白名单机制,对于白名单中的客户(可以为时效性要求较低的客户),对其进行特殊处理,只启动单个线程来异步处理白名单中的客户的请求,可有效节省后台线程资源。本发明基于白名单的机制为流程审批处理提供了一个新的分支,能够对不同客户提供不同的处理机制,在不影响应用处理主逻辑的情况下,通过白名单的配置,可为不同用户提供不同层级、不同粒度的处理逻辑,提升了系统批量处理业务时灵活性,同时也提升了客户体验。

实施例五

本实施例五公开一种批量任务的处理装置,参考图6示出的批量任务处理装置的结构示意图,该装置包括:

第一获取单元61,用于获得请求方的批量任务处理请求,所述批量任务处理请求包括请求方标识及待处理的批量任务的任务信息,所述任务信息包括批量任务的任务量;确定单元62,用于确定所述批量任务的任务量是否超出单线程的最大任务数;第二获取单元63,用于在所述批量任务的任务量超出单线程的最大任务数时,基于所述请求方标识获得所述请求方对应的优先级别;其中,所述优先级别为预先划分的高优先级别及低优先级别中的一种;第一处理单元64,用于在所述请求方对应的优先级别为低优先级别时,启动一个线程,并利用启动的所述一个线程异步处理所述批量任务处理请求。

在本发明实施例的一实施方式中,所述第二获取单元,进一步用于:获取预先配置的配置文件中的白名单信息,所述白名单信息中包含低优先级别的各个可能的请求方的标识信息;其中,低优先级别的请求方为:对批量任务处理请求的处理实效性要求较低的请求方;确定所述白名单信息中是否包含所述请求方标识;若包含,则所述请求方对应的优先级别为低优先级别;若不包含,则所述请求方对应的优先级别为高优先级别。

在本发明实施例的一实施方式中,所述装置还包括:第二处理单元,用于在所述批量任务的任务量未超出单线程的最大任务数时,启动一个线程,并利用启动的所述一个线程同步处理所述批量任务处理请求。

在本发明实施例的一实施方式中,所述装置还包括:第三处理单元,用于在所述请求方对应的优先级别为高优先级别时,依据所述批量任务的任务量及单线程的最大任务数,确定需启动的多线程的线程数量;启动数量为所确定的线程数量的多个线程,并利用所述多个线程同步处理所述批量任务处理请求。

在本发明实施例的一实施方式中,所述装置还包括:结果响应单元,用于读取对所述批量任务处理请求进行处理的处理结果,将所述处理结果组装为符合预定需求的响应信息,并返回所述响应信息。

此处,需要说明的是,本实施例涉及的批量任务的处理装置的描述,与上文方法的描述是类似的,且同方法的有益效果描述,对于本发明的批量任务的处理装置在本实施例中未披露的技术细节,请参照本发明方法实施例的说明,本实施对此不再作赘述。

还需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1