一种业务请求处理方法、装置、计算机设备和存储介质与流程

文档序号:18471443发布日期:2019-08-20 20:20阅读:106来源:国知局
一种业务请求处理方法、装置、计算机设备和存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种业务请求处理方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的进步和社会的发展,人们对互联网中的数字业务服务需求越来越多,用户可以很方便地通过终端,在数字业务系统中订阅并享受某种数字业务服务,也可以很方便地退订该数字业务服务,因此数字业务服务受到广大用户的欢迎。

目前的数字业务系统中,当接收到用户发起的业务请求时,根据该业务请求生成相应的单号,根据生成的单号随机选择业务请求处理单元对业务请求进行处理。然而,当处理某业务请求的业务请求处理单元的工作状态出现问题,或业务请求陡增导致对应的业务请求处理单元的计算能力不足时,将严重影响业务请求处理单元对业务请求的处理,进而降低数字业务系统的容灾性能。



技术实现要素:

基于此,有必要针对数字业务系统的容灾性能差的问题,提供一种业务请求处理方法、装置、计算机设备和存储介质。

一种业务请求处理方法,所述方法包括:

检测处理业务请求的业务请求处理单元的状态信息,所述业务请求携带有用户标识;

当所述状态信息满足迁移条件时,更换所述用户标识对应的目标用户令牌;

查找与更换后的目标用户令牌对应的目标业务请求处理单元;

将所述业务请求中的至少一部分业务请求,从所述业务请求处理单元迁移至所述目标业务请求处理单元;所述至少一部分业务请求用于指示所述目标业务请求处理单元对所述至少一部分业务请求进行处理。

一种业务请求处理装置,所述装置包括:

仲裁单元,用于检测处理业务请求的业务请求处理单元的状态信息,所述业务请求携带有用户标识;当所述状态信息满足迁移条件时发送令牌更换通知;

令牌更换单元,用于接收所述令牌更换通知,根据所述令牌更换通知更换所述用户标识对应的目标用户令牌;

接入路由单元,用于查找与更换后的目标用户令牌对应的目标业务请求处理单元;将所述业务请求中的至少一部分业务请求,从所述业务请求处理单元迁移至所述目标业务请求处理单元;所述至少一部分业务请求用于指示所述目标业务请求处理单元对所述至少一部分业务请求进行处理。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

检测处理业务请求的业务请求处理单元的状态信息,所述业务请求携带有用户标识;

当所述状态信息满足迁移条件时,更换所述用户标识对应的目标用户令牌;

查找与更换后的目标用户令牌对应的目标业务请求处理单元;

将所述业务请求中的至少一部分业务请求,从所述业务请求处理单元迁移至所述目标业务请求处理单元;所述至少一部分业务请求用于指示所述目标业务请求处理单元对所述至少一部分业务请求进行处理。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

检测处理业务请求的业务请求处理单元的状态信息,所述业务请求携带有用户标识;

当所述状态信息满足迁移条件时,更换所述用户标识对应的目标用户令牌;

查找与更换后的目标用户令牌对应的目标业务请求处理单元;

将所述业务请求中的至少一部分业务请求,从所述业务请求处理单元迁移至所述目标业务请求处理单元;所述至少一部分业务请求用于指示所述目标业务请求处理单元对所述至少一部分业务请求进行处理。

上述业务请求处理方法、装置、计算机设备和存储介质,当检测业务请求处理单元的状态信息满足迁移条件时,更换用户标识对应的目标用户令牌,根据更换后的目标用户令牌查找目标业务请求处理单元,以用户为最小粒度,确保同一用户的业务请求被同一业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,实现了当某个业务请求处理单元的状态出现问题时,以用户为粒度将业务请求迁移至正常的业务请求处理单元,确保用户发起的业务请求可以顺利地处理,提高业务请求的处理效率,进而提高数字业务系统的容灾性能。

附图说明

图1为一个实施例中业务请求处理方法的应用环境图;

图2为一个实施例中用于实现业务请求处理方法的计算机设备的内部结构示意图;

图3为一个实施例中业务请求处理方法的流程示意图;

图4为一个实施例中对为用户标识分配目标用户令牌和将业务请求传输至查找的业务请求处理单元的步骤的流程示意图;

图5为一个实施例中用户令牌的使用状态之间的转换,以及创建和销毁用户令牌的示意图;

图6为一个实施例中根据令牌分配的速率分配目标用户令牌,以及更新目标用户令牌的使用状态的步骤的流程示意图;

图7为一个实施例中根据业务请求数或用户令牌数选取对应的目标用户令牌并分配的步骤的流程示意图;

图8为另一个实施例中根据所确定的回收时间对目标用户令牌进行使用状态更新的步骤的流程示意图;

图9为一个实施例中根据待创建用户令牌的数量创建用户令牌、根据用户令牌回收速率回收用户令牌的步骤的流程示意图;

图10为一个实施例中对未迁移的业务请求进行处理,以及根据处理结果确定后续分配业务请求的数量的步骤的流程示意图;

图11为另一个实施例中业务请求处理方法的流程示意图;

图12为一个实施例中客户端发起业务请求的界面图;

图13为一个实施例中业务请求处理装置的结构示意图;

图14为另一个实施例中业务请求处理装置的结构示意图;

图15为一个实施例中业务请求处理系统的结构示意图;

图16为一个实施例中获取用户令牌的时序图;

图17为一个实施例中处理业务请求和释放用户令牌的时序图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中业务请求处理方法的应用环境图。参照图1,该业务请求处理方法应用于业务请求处理系统。该系统包括终端110和服务器120。终端110通过网络与服务器120连接。服务器120可接收终端110发送的业务请求,此外,服务器120检测处理业务请求的业务请求处理单元的状态信息,当该状态信息满足迁移条件时,更换用户标识对应的目标用户令牌,根据该目标用户令牌对相应的业务请求进行迁移操作。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120具体可以是独立的物理服务器,也可以是物理服务器集群。

图2为一个实施例中用于实现业务请求处理方法的计算机设备的内部结构,该计算机设备可以是图1中的服务器120。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户令牌和用户令牌的使用状态等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务请求处理方法。

本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

如图3所示,在一个实施例中,提供了一种业务请求处理方法。本实施例主要以该方法应用于上述图1中的服务器来举例说明。参照图3,该业务请求处理方法具体包括如下步骤:

s302,检测处理业务请求的业务请求处理单元的状态信息,业务请求携带有用户标识。

其中,状态信息用于表示业务请求处理单元的工作状态,或者表示业务请求处理单元处理业务请求的性能。对应的,状态信息可以包括业务请求处理单元的工作状态信息,以及在单位时间内处理业务请求的数量和处理业务请求的成功率等。

用户标识用于区分发送业务请求的源端,可以包括用户账号和发送业务请求的终端硬件串号等。其中,用户账号包括社交账号、邮箱号和手机号等。

在一个实施例中,服务器可在监测到满足预设条件的触发事件时,检测处理业务请求的业务请求处理单元的状态信息。触发事件可以是某业务请求未在预设时间内处理完成,服务器检测到该业务请求未在预设时间内处理完成时,触发对处理该业务请求的业务请求处理单元的状态信息检测。此外,服务器也可定时触发检测各业务请求处理单元的状态信息。

在一个实施例中,服务器可在检测到发生指定的触发事件时,检测处理业务请求的业务请求处理单元的状态信息。指定的触发事件可以是用户通过终端触发的针对业务请求的请求处理事件。服务器在监测到该请求处理事件后,检测处理该业务请求的业务请求处理单元的状态信息。例如,某业务请求未被及时处理时,用户通过终端向服务器发送一条投诉请求,服务器在监测到该投诉请求后,检测处理该业务请求的业务请求处理单元的状态信息。

s304,当状态信息满足迁移条件时,更换用户标识对应的目标用户令牌。

其中,用户令牌指的是为用户标识分配的具有唯一标识的标识码,根据该标识码可选择对应的业务请求处理单元,以对业务请求进行处理。目标用户令牌指的是分配给用户标识的用户令牌。需要说明的是,在预设时间范围内,当接收到相同用户标识的业务请求时,后接收的业务请求不需要再申请用户令牌。例如,当接收到业务请求b1、且该业务请求b1携带有携带用户标识a时,服务器为该用户标识a分配一个目标用户令牌。当接收到业务请求b2、且该业务请求b2也携带有携带用户标识a时,服务器不再另外申请目标用户令牌,使用上一次所分配的目标用户令牌即可。

由于状态信息可以包括业务请求处理单元的工作状态信息,以及在单位时间内处理业务请求的数量和处理业务请求的成功率等。因此,根据上述状态信息的类型,将s304划分为以下三种实现方式:

实现方式1,根据工作状态信息,确定更换用户标识对应的目标用户令牌。

在一个实施例中,当状态信息为工作状态信息时,工作状态信息可以包括正常工作状态的信息和异常工作状态的信息。服务器根据工作状态信息确定业务请求处理单元处于异常工作状态时,表示该业务请求处理单元不适合继续处理业务请求,即确定状态信息满足迁移条件。此时,服务器更换用户标识对应的目标用户令牌。

实现方式2,根据单位时间内处理业务请求的数量,确定更换用户标识对应的目标用户令牌。

在一个实施例中,当状态信息为单位时间内业务请求处理单元处理业务请求的数量时,服务器统计单位时间内业务请求处理单元所处理业务请求的数量。当统计的数量未达到预设数量阈值时,表示该业务请求处理单元的性能不足以处理所分配的业务请求,或表示业务请求处理单元的工作状态出现异常,即服务器确定状态信息满足迁移条件。此时,服务器更换用户标识对应的目标用户令牌。

实现方式3,根据处理业务请求的成功率,确定更换用户标识对应的目标用户令牌。

在一个实施例中,当状态信息为处理业务请求的成功率时,服务器统计业务请求处理单元处理业务请求的成功率。当统计的成功率未达到预设成功率阈值时,表示业务请求处理单元的性能不足以处理所分配的业务请求,或表示业务请求处理单元的工作状态出现异常,即服务器确定状态信息满足迁移条件。此时,服务器更换用户标识对应的目标用户令牌。

s306,查找与更换后的目标用户令牌对应的目标业务请求处理单元。

其中,业务请求处理单元可以是服务器中的用于处理业务请求的硬件资源或软件模块,本发明实施例中不做具体限定。

在一个实施例中,目标用户令牌与目标业务请求处理单元存在对应关系,服务器以更换后的目标用户令牌为key(键),以业务请求处理单元为value(值),根据key查找到value,即根据目标用户令牌查找对应的目标业务请求处理单元。需要说明的是,更换前的目标用户令牌与更换后的目标用户令牌为两个不同的令牌,且对应的业务请求处理单元也不同。

s308,将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元;该至少一部分业务请求用于指示目标业务请求处理单元对至少一部分业务请求进行处理。

其中,业务请求中的至少一部分业务请求包括:业务请求中的一部分业务请求和所有业务请求。

参考s304中的三种实现方式,可将s308划分为以下两种场景:

场景1,将业务请求中的一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

在一个实施例中,当单位时间内处理业务请求的数量大于下限预设数量阈值、且小于上限预设数量阈值时,或者,当处理业务请求的成功率大于下限预设成功率阈值、且小于上限预设成功率阈值时,服务器确定业务请求处理单元的性能不足以处理所有所分配的业务请求、但依然具有一定的业务处理能力。此时,服务器将业务请求中的一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

场景2,将所有业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

在一个实施例中,当服务器根据工作状态信息确定业务请求处理单元的工作状态出现异常(如宕机)时,表示该业务请求处理单元不能继续处理业务请求。此时,服务器将所有业务请求,从工作状态异常的业务请求处理单元迁移至目标业务请求处理单元。

在另一个实施例中,当单位时间内处理业务请求的数量小于下限预设数量阈值时,或者,当处理业务请求的成功率小于下限预设成功率阈值时,服务器确定业务请求处理单元的工作状态异常、且不具有业务处理能力。此时,服务器将所有业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

在一个实施例中,当查找到目标业务请求处理单元时,服务器拷贝用户请求中的部分用户请求或所有用户请求,将拷贝的用户请求以及该用户请求对应的数据,迁移至目标业务请求处理单元。其中,用户请求对应的数据包括被业务请求处理单元处理过程中所产生的数据。

上述实施例中,当检测业务请求处理单元的状态信息满足迁移条件时,更换用户标识对应的目标用户令牌,根据更换后的目标用户令牌查找目标业务请求处理单元,以用户为最小粒度,确保同一用户的业务请求被同一业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,实现了当某个业务请求处理单元的状态出现问题时,以用户为粒度将业务请求迁移至正常的业务请求处理单元,确保用户发起的业务请求可以顺利地处理,提高业务请求的处理效率,进而提高业务请求处理装置的容灾性能。

在一个实施例中,如图4所示,s302之前,还可以包括以下步骤:

s402,接收客户端发送的携带用户标识的业务请求。

其中,客户端指的是安装于图1中的终端110上的应用程序。终端通过该应用程序可以发起关于下单、退单或换单的业务请求。

具体地,客户端在检测到业务请求的操作时,将与该客户端对应的用户标识添加至业务请求中,并发送至服务器。作为接收端,服务器接收该客户端发送的携带用户标识的用户请求。

s404,当接收到的业务请求满足访问条件、且用户标识未对应用户令牌时,为用户标识分配目标用户令牌。

在一个实施例中,服务器判断所接收到的业务请求是否满足访问条件,当满足访问条件时,进一步判断业务请求中的用户标识是否对应有用户令牌。当用户标识是未对应有用户令牌时,为用户标识分配目标用户令牌。

其中,服务器判断所接收到的业务请求是否满足访问条件的方法,可以包括:服务器通过业务请求中的源ip(internetprotocoladdress,互联网协议)地址、或源mac(mediumaccesscontrol,媒体访问控制)地址、或源端口号、或用户标识确定该业务请求是否满足访问条件。

在一个实施例中,当接收到的业务请求满足访问条件、且用户标识未对应用户令牌时,服务器检测候选用户令牌集合中的用户令牌的使用状态,选取使用状态为未占用状态的用户令牌。服务器将所选取的用户令牌确定为目标用户令牌,为用户标识分配该目标用户令牌。

其中,使用状态包括占用状态、过渡状态和未占用状态。过渡状态可以理解为特殊的占用状态,可以包括申请中状态、释放中状态和迁移状态。如图5所示,未占用状态的用户令牌在被分配的过程中,由未占用状态到申请中状态再到占用状态。占用状态在用户令牌释放的过程中,由占用状态到释放中状态再到未占用状态。占用状态在业务请求迁移的过程中,由占用状态到迁移中状态再到未占用状态。

在一个实施例中,当接收到的业务请求满足访问条件、且用户标识对应有用户令牌时,服务器查找上一次所分配的目标用户令牌所对应的业务请求处理单元,然后执行s408。

s406,查找与所分配的目标用户令牌对应的业务请求处理单元。

在一个实施例中,所分配的目标用户令牌与目标业务请求处理单元存在对应关系,服务器可以以所分配的目标用户令牌为key,以业务请求处理单元为value,根据所分配的key查找对应的value,即根据所分配的目标用户令牌查找对应的目标业务请求处理单元。

s408,将所接收到的业务请求传输至业务请求处理单元进行处理。

上述实施例中,为用户标识分配目标用户令牌,并将业务请求传输至业务请求处理单元进行处理,实现以用户为最小粒度,实现将属于同一个用户标识的业务请求通过同一个业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。

在一个实施例中,如图6所示,s404具体可以包括:

s602,根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,确定令牌分配的速率。

其中,令牌分配的速率可以是令牌分配的速度大小,也可以是令牌分配的时钟频率。其中,在实际应用过程中,令牌分配的速度大小可以用等待时长衡量。当令牌分配的速度大小较小时,表示为用户标识分配目标用户令牌的等待时长较长,即表征慢速分配用户令牌。当令牌分配的速度大小较大时,表示为用户标识分配目标用户令牌的等待时长较短,即表征快速分配用户令牌。

此外,当令牌分配的时钟频率较小时,表征慢速分配用户令牌。当令牌分配的时钟频率较大时,表征快速分配用户令牌。

在一个实施例中,服务器根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,确定未占用状态的令牌数占令牌总数的比值。当该比值较大时,表示未占用状态的用户令牌可足够分配,服务器将令牌分配的速率设置为表征快速分配的值。当该比值较小时,表示未占用状态的用户令牌不足以分配,服务器将令牌分配的速率设置为表征慢速分配的值。

在一个实施例中,服务器根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,计算出使用状态为占用状态的令牌数。比较未占用状态的令牌数与占用状态的令牌数之间的大小,当未占用状态的令牌数大于占用状态的令牌数时,表示未占用状态的用户令牌足够分配,服务器将令牌分配的速率设置为表征快速分配的值。表示未占用状态的用户令牌不足以分配,服务器将令牌分配的速率设置为表征慢速分配的值。

s604,根据令牌分配的速率为用户标识分配目标用户令牌。

在一个实施例中,服务器根据令牌分配的速度大小为用户标识分配目标用户令牌。或者,服务器在检测到表征令牌分配的时钟频率的脉冲信号时,为用户标识分配目标用户令牌。

在一个实施例中,服务器根据令牌分配的速率确定令牌分配的等待时长,当等待时长结束时,为用户标识分配目标用户令牌。例如,令牌分配的速率较小时,服务器确定一个较大的目标等待时长,当目标等待时长结束时,为用户标识分配目标用户令牌。

s606,将候选用户令牌集合中目标用户令牌的使用状态更新为占用状态。

具体地,当目标用户令牌被分配给用户标识时,或者,当达到状态更新的更新时间时,将候选用户令牌集合中目标用户令牌的使用状态更新为占用状态。

上述实施例中,根据令牌总数和未占用状态的令牌数确定令牌分配的速率,并根据该速率为用户标识分配目标用户令牌,实现了对令牌发送的速率进行控制,进而实现了对处理业务请求的数据流量进行控制,可以动态的调整服务器处理业务请求的负荷,确保业务请求可以有效地被处理。

在一个实施例中,s404,具体可以包括:为用户标识分配具有优先级的目标用户令牌,且目标用户令牌所具有的优先级与业务请求的优先级匹配;优先级用于指示目标业务请求处理单元按照优先级处理业务请求。

在一个实施例中,服务器在创建用户令牌时,按照优先级梯度为各用户令牌设置不同的优先级,各优先级梯度范围内具有一定数量的用户令牌,各业务请求处理单元均对应有不同优先级梯度的用户令牌。服务器为用户标识分配目标用户令牌时,根据业务请求的优先级为用户标识分配相应优先级的目标用户令牌,指示目标业务请求处理单元在处理业务请求时,按照优先级进行处理。其中,该目标用户令牌所具有的优先级与业务请求的优先级匹配,用户令牌对应的优先级大小可以按照实际需求动态调整。

上述实施例中,用户令牌增加了优先级的概念,为不同的用户标识分配相应的优先级的目标用户令牌,根据优先级对用户请求进行相应的优先处理,确保了紧急程度较高的业务请求,或来源于用户级别较高的业务请求能被优先处理,实现了业务请求分梯度处理,提高了业务请求的处理效率。此外,同一个目标业务请求处理单元对应的不同优先级的用户令牌,可以做不同比例的配额调整,以适应目标业务请求处理单元的处理能力和业务需求,进而提高了业务请求的处理效率。

在一个实施例中,s402之前,该方法还包括:检测各业务请求处理单元所处理的业务请求数,或所处理的业务请求对应的用户令牌数。其中,该业务请求数和用户令牌数表征业务请求处理单元当前的处理量,当业务请求数和用户令牌数较小时,表示业务请求处理单元可额外处理其它的业务请求。如图7所示,s404,具体可以包括:

s702,根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元。

具体地,服务器根据业务请求数,将处理业务请求数较少的业务请求处理单元从各业务请求处理单元中筛选出来。或者,各业务请求处理单元存储有本单元用户请求对应的用户令牌,服务器各业务请求处理单元中筛选出存储用户令牌数较少的业务请求处理单元。从而得到至少一个满足条件的业务请求处理单元。

其中,服务器各业务请求处理单元中筛选出存储用户令牌数较少的业务请求处理单元的具体方式可以是:当业务请求处理单元存储的用户令牌数小于预设令牌数阈值时,表示该业务请求处理单元当前的业务请求处理量较小,还可以处理额外的业务请求,此时,服务器将该业务请求处理单元从各业务请求处理单元中筛选出来,作为候选的目标业务请求处理单元。

s704,从筛选的业务请求处理单元对应的用户令牌中选取目标用户令牌。

在一个实施例中,当筛选的业务请求处理单元的数量较多时,服务器按照业务请求数或用户令牌数,将筛选的业务请求处理单元进行升序排列。服务器选取排列在前的业务请求处理单元,从选取的业务请求处理单元对应的用户令牌选取目标用户令牌。

s706,为用户标识分配所选取的目标用户令牌。

上述实施例中,根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元,可以有效地保证所筛选的业务请求处理单元具有业务处理能力,进而提高业务请求的处理效率。为用户标识分配所筛选的业务请求处理单元对应的目标用户令牌,根据该目标用户令牌将业务请求迁移至具有处理能力的目标业务请求处理单元,从而提高了业务请求的处理效率。

在一个实施例中,如图8所示,该方法还包括:

s802,根据业务请求数或用户令牌数,确定目标用户令牌回收时间。

其中,当业务请求数比较大时,或用户令牌数比较大时,表示业务请求处理单元当前所处理的业务请求数较多。当业务请求数比较小时,或用户令牌数比较小时,表示业务请求处理单元当前所处理的业务请求数较少。目标用户令牌回收时间指的是对目标用户令牌进行回收的时间,回收目标用户令牌可以包括:将业务请求处理单元中的令牌进行释放,更改目标用户令牌的使用状态。

在一个实施例中,服务器根据业务请求数或用户令牌数,确定目标用户令牌的回收频率,根据该回收频率确定目标用户令牌回收时间。其中,根据该回收频率确定目标用户令牌回收时间的具体方法包括:将回收频率f的倒数作为目标用户令牌回收时间。

例如,假设业务请求数或用户令牌数,与回收频率之间的映射关系可以表示为其中,a、b、c和t为常数,gf(x)表示回收频率,x表示业务请求数或用户令牌数。因此,当业务请求数或用户令牌数x确定之后,服务器可确定回收频率gf(x),进而得到目标用户令牌回收时间。

在一个实施例中,服务器可以检测令牌回收的触发事件,当检测到令牌回收的触发事件时,将检测到该触发事件的时间确定为目标用户令牌回收时间。其中,该触发事件可以是用户通过服务器的设置功能触发产生,也可以是当业务请求处理单元处理完某个业务请求时触发产生,也可以是业务请求从业务请求处理单元迁移至目标业务请求处理单元时触发产生。

s804,当达到目标用户令牌回收时间时,在候选用户令牌集合中,将处理业务请求完毕的业务请求处理单元所对应目标用户令牌的使用状态更新。

具体地,当达到目标用户令牌回收时间时,服务器在候选用户令牌集合中,将处理业务请求完成的业务请求处理单元所对应目标用户令牌的使用状态,从占用状态更新为未占用状态。

在一个实施例中,当业务请求处理单元在处理业务请求时,业务请求所对应的目标用户令牌存储于该业务请求处理单元中。当某业务请求被处理完时,服务器将对应的目标用户令牌从业务请求处理单元中的释放出来,并在候选用户令牌集合中,将该目标用户令牌的使用状态更新为未占用状态。

其中,服务器将对应的目标用户令牌从业务请求处理单元中的释放出来,具体可以包括:服务器将对应的目标用户令牌从业务请求处理单元中的删除。

s806,在候选用户令牌集合中,将更换前的目标用户令牌的使用状态更新。

在一个实施例中,更换前的目标用户令牌的使用状态为占用状态,在更换完成的过程中,使用状态由占用状态转换为未占用状态。当检测到使用状态发生变化时,服务器在候选用户令牌集合中,将更换前的目标用户令牌的使用状态,从占用状态更新为未占用状态。

上述实施例中,对目标用户令牌进行回收,保证了业务请求被处理完成后,目标用户令牌可以被回收利用,提高了用户令牌的使用效率。此外,根据业务请求处理单元中的业务请求数或用户令牌数确定回收时间,按照该回收时间对目标用户令牌进行回收,保证了令牌回收的有序性,提高了用户令牌的统一回收和管理。

在一个实施例中,如图9所示,该方法还包括:

s902,确定候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数。

其中,候选用户令牌集合中保存了所有用户令牌以及对应的使用状态。候选用户令牌集合中的令牌总数表征业务请求处理装置的当前处理能力。未占用状态的令牌数表征当前业务请求处理装置性能的安全边际,即业务请求处理装置按照当前处理能力,可以处理除当前正在处理的业务请求之外的其它业务请求的数量。

具体地,服务器在候选用户令牌集合中,统计用户令牌的令牌总数,以及统计使用状态为未占用状态的令牌数。或者,服务器统计使用状态为占用状态的令牌数,根据令牌总数和占用状态的令牌数计算出未占用状态的令牌数。

s904,根据令牌总数和使用状态为未占用状态的令牌数,确定待创建用户令牌的数量和/或用户令牌回收速率。

其中,用户令牌在创建之初,用户令牌的使用状态为未占用状态。当用户令牌的总数大于各业务请求处理单元的处理能力之和时,对未占用状态的用户令牌进行销毁,如图5所示。

在一个实施例中,当检测到预设触发事件时,根据令牌总数和使用状态为未占用状态的令牌数,确定待创建用户令牌的数量和/或用户令牌回收速率。其中,该预设触发事件可以是提升了服务器的相关软件或硬件性能,此时,各业务请求处理单元处理业务请求的能力得到提升,增大待创建用户令牌的数量,以及加快用户令牌回收速率。

在一个实施例中,当检测到业务请求处理单元或服务器的其它软硬件发生故障问题,且该故障问题在预设时间内未恢复时,服务器停止创建用户令牌的数量,并在候选用户令牌集合中销毁适量的未占用状态的用户令牌。

s906,根据待创建用户令牌的数量创建新的用户令牌,和/或,按照用户令牌回收速率将与用户标识对应的用户令牌进行回收。

上述实施例中,根据令牌总数和未占用状态的令牌数,确定所要创建的新的用户令牌数,确保在服务器性能得到提升时,或者业务请求徒增时,能够适应性的扩容,提高业务请求的处理能力。此外,根据令牌总数和未占用状态的令牌数,确定用户令牌回收速率,确保用户令牌可被及时回收利用,从而避免了因用户令牌数匮乏而导致用户请求不能被及时处理的问题。

在一个实施例中,如图10所示,该方法还包括:

s1002,通过业务请求处理单元继续处理未迁移的部分业务请求。

在一个实施例中,当单位时间内处理业务请求的数量大于下限预设数量阈值、且小于上限预设数量阈值时,或者,当处理业务请求的成功率大于下限预设成功率阈值、且小于上限预设成功率阈值时,服务器确定业务请求处理单元中不迁移的业务请求的数量,根据该数量确定相应的不迁移的部分业务请求。其中,同一个用户标识对应的业务请求至少一个被迁移。

s1004,检测未迁移的部分业务请求在预设时间内的处理结果。

其中,处理结果包括未迁移的部分业务请求均被处理完、其中一部分被处理完和均未被处理。

s1006,根据处理结果,确定业务请求处理单元的业务请求处理能力属性。

其中,处理能力属性包括不具备处理能力、处理能力受限和处理能力正常。

具体地,当处理结果为均被处理完时,服务器确定业务请求处理单元的业务请求处理能力属性为处理能力正常。当处理结果为其中一部分被处理完时,服务器确定业务请求处理单元的业务请求处理能力属性为处理能力受限。当处理结果为均未被处理时,服务器确定业务请求处理单元的业务请求处理能力属性为不具备处理能力。

在一个实施例中,当确定业务请求处理单元的业务请求处理能力属性时,根据所确定的处理能力属性输出提示信息,该提示信息可用于展示处理能力属性,以及与该处理能力属性对应的解决策略。

s1008,根据处理能力属性,确定向业务请求处理单元分配新的业务请求的数量。

具体地,当业务请求处理单元不具备处理能力时,服务器不向业务请求处理单元分配新的业务请求,即确定分配新的业务请求的数量为0。当业务请求处理单元处理能力受限,服务器不向业务请求处理单元分配新的业务请求,或当接收到客户端发送大量业务请求时,向业务请求处理单元分配少量的新的业务请求。当业务请求处理单元处理能力正常,计算该业务请求处理单元当前处理的业务请求数,根据业务请求处理单元的容量和计算所得的业务请求数确定分配新的业务请求的数量。

上述实施例中,通过业务请求处理单元继续处理未迁移的部分业务请求,根据处理的结果确定业务请求处理单元的处理能力属性,实现了对业务请求处理单元的处理能力的持续检测,确保了当业务请求处理单元在状态恢复后仍能正常对业务请求进行处理。

在一个实施例中,s304,具体可以包括:当业务请求处理单元处理业务请求的成功率小于预设成功率,和/或,业务请求处理单元处理业务请求所消耗的时长大于预设时长时,确定业务请求中待迁移的部分业务请求;更换待迁移的业务请求中用户标识对应的目标用户令牌;s308,具体可以包括:将业务请求中的待迁移的部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

具体地,服务器通过代理单元采集业务请求处理单元处理业务请求的成功率,以及采集业务请求处理单元处理业务请求所消耗的时长。当所采集的成功率小于预设成功率,和/或,上述所消耗的时长大于预设时长时,表示业务请求处理单元当前的处理能力下降,需迁移一部分业务请求至其它业务请求处理单元。此时,服务器根据所采集的成功率或上述所消耗的时长确定待迁移的数量,根据待迁移的数量确定业务请求中待迁移的部分业务请求,更换待迁移的业务请求中用户标识对应的目标用户令牌。

在一个实施例中,服务器还可以通过代理单元采集与业务请求处理单元连接的外部接口数量、或从外部接口传输过来的单位查询次数、或从外部接口传输过来的其它业务请求处理单元处理业务请求的数量,根据检测的结果确定向其它各业务请求处理单元分配用户令牌的数量。服务器根据所分配用户令牌的数量更换待迁移的业务请求中用户标识对应的目标用户令牌,将业务请求中的待迁移的部分业务请求,从业务请求处理单元迁移至目标用户令牌对应的目标业务请求处理单元。

通过代理单元监测外部其它单元的运行状态,当某个业务请求处理单元的运行状态发生异常时,为业务请求的迁移提供了参考,进而保证所迁移到的目标业务请求处理单元具有处理所迁移的业务请求的能力。

上述实施例中,根据业务请求处理单元处理业务请求的成功率,或根据业务请求处理单元处理业务请求所消耗的时长,确定业务请求中待迁移的部分业务请求,既可以有效地利用该业务请求处理单元处理部分业务请求,还可以将另外部分业务迁移至其它业务请求处理单元,提高了业务请求的处理效率。

在一个实施例中,s304,具体可以包括:从候选用户令牌集合中选取使用状态为未占用状态的目标用户令牌,将用户标识对应的目标用户令牌更换为选取的目标用户令牌;该方法还包括:获取业务请求处理单元中目标用户令牌的使用状态;当获取的使用状态与候选用户令牌集合中相应目标用户令牌的使用状态不一致时,根据获取的使用状态更新候选用户令牌集合中相应目标用户令牌的使用状态。

上述方案中,根据业务请求处理单元中目标用户令牌的使用状态,更新候选用户令牌集合中相应目标用户令牌的使用状态,确保了各单元中所保存的用户令牌的使用状态的一致性,可有效地避免因占用状态的用户令牌被再次分配而加重某个业务请求处理单元的处理任务,进而提高业务请求的处理效率。

在一个实施例中,业务请求包括退单请求和换单请求中至少一种;退单请求用于请求向用户标识所对应的数值账户转移指定数值;换单请求用于请求计算换单前后的数值差值,并按照数值差值对用户标识所对应的数值账户进行数值转移。

其中,数值包括电子券对应的金额和虚拟货币金额,电子券包括优惠券和电子红包等。

具体地,当业务请求为退单请求时,服务器根据退单请求确定对应的数值,将对应的数值转移至用户标识所对应的数值账户。当业务请求为换单请求时,服务器根据换单请求确定换单前和换单后对应的数值,计算换单前和换单后之间的数值差值,当换单前对应的数值大于换单后的数值时,将数值差值转移至用户标识所对应的数值账户。当换单前对应的数值小于换单后的数值时,将数值差值从用户标识所对应的数值账户进行转出。

上述实施例中,确定了业务请求的类型,根据业务请求的类型进行相应的处理操作,确保了各业务请求可以被有效地、准确的处理。

在一个实施例中,如图11所示,提供了另一种业务请求处理方法,本实施例主要以该方法应用于上述图1中的服务器来举例说明。参照图11,该业务请求处理方法具体包括如下步骤:

s1101,接收客户端发送的携带用户标识的业务请求。

在一个实施例中,s1101,该方法还包括:检测各业务请求处理单元所处理的业务请求数,或所处理的业务请求对应的用户令牌数。

s1102,当接收到的业务请求满足访问条件、且用户标识未对应用户令牌时,为用户标识分配目标用户令牌。

在一个实施例中,s1101具体可以包括:根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,确定令牌分配的速率;根据令牌分配的速率为用户标识分配目标用户令牌;将候选用户令牌集合中目标用户令牌的使用状态更新为占用状态。

在一个实施例中,s1101具体可以包括:为用户标识分配具有优先级的目标用户令牌,且目标用户令牌所具有的优先级与业务请求的优先级匹配;优先级用于指示目标业务请求处理单元按照优先级处理业务请求。

在一个实施例中,s1101具体可以包括:根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元;从筛选的业务请求处理单元对应的用户令牌中选取目标用户令牌;为用户标识分配所选取的目标用户令牌。

s1102,查找与所分配的目标用户令牌对应的业务请求处理单元。

s1103,将所接收到的业务请求传输至业务请求处理单元进行处理。

s1104,检测处理业务请求的业务请求处理单元的状态信息,业务请求携带有用户标识。

s1105,当状态信息满足迁移条件时,更换用户标识对应的目标用户令牌。

s1106,具体可以包括:从候选用户令牌集合中选取使用状态为未占用状态的目标用户令牌,将用户标识对应的目标用户令牌更换为选取的目标用户令牌;该方法还包括:获取业务请求处理单元中目标用户令牌的使用状态;当获取的使用状态与候选用户令牌集合中相应目标用户令牌的使用状态不一致时,根据获取的使用状态更新候选用户令牌集合中相应目标用户令牌的使用状态。

s1107,查找与更换后的目标用户令牌对应的目标业务请求处理单元。

s1108,将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元;该至少一部分业务请求用于指示目标业务请求处理单元对至少一部分业务请求进行处理。

在一个实施例中,s1105具体可以包括:当业务请求处理单元处理业务请求的成功率小于预设成功率,和/或,业务请求处理单元处理业务请求所消耗的时长大于预设时长时,确定业务请求中待迁移的部分业务请求;更换待迁移的业务请求中用户标识对应的目标用户令牌;s1108具体可以包括:将业务请求中的待迁移的部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

在一个实施例中,该方法还包括:根据业务请求数或用户令牌数,确定目标用户令牌回收时间;当达到目标用户令牌回收时间时,在候选用户令牌集合中,将处理业务请求完毕的业务请求处理单元所对应目标用户令牌的使用状态更新;在候选用户令牌集合中,将更换前的目标用户令牌的使用状态更新。

s1109,确定候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数。

s1110,根据令牌总数和使用状态为未占用状态的令牌数,确定待创建用户令牌的数量和/或用户令牌回收速率。

s1111,根据待创建用户令牌的数量创建新的用户令牌,和/或,按照用户令牌回收速率将与用户标识对应的用户令牌进行回收。

s1112,通过业务请求处理单元继续处理未迁移的部分业务请求。

s1113,检测未迁移的部分业务请求在预设时间内的处理结果。

s1114,根据处理结果,确定业务请求处理单元的业务请求处理能力属性。

s1115,根据处理能力属性,确定向业务请求处理单元分配新的业务请求的数量。

图3-4、图5-11为一个实施例中业务请求处理方法的流程示意图。应该理解的是,虽然图3-4、图5-11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-4、图5-11中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图12为一个实施例中客户端发起业务请求的界面图。如图12(a)所示,客户端接收用户发起的退单操作,当确定退单操作之后进入图12(b)界面。此外,当确定退单操作之后,客户端还根据该退单操作生成退单的业务请求,将用户标识添加于该业务请求后发送至商家客户端和后台的服务器。当服务器接收客户端发送的携带用户标识的业务请求和商家客户端发送的确认信息时,或者,当服务器接收客户端发送的携带用户标识的业务请求、且在预设时间内未收到商家客户端发送的确认信息时,为用户标识分配目标用户令牌。服务器查找与所分配的目标用户令牌对应的业务请求处理单元,将所接收到的业务请求传输至业务请求处理单元进行处理。当服务器处理该退单的业务请求之后,该业务请求对应的款项将会转移至用户的账户。

在一个实施例中,本申请提供的业务请求处理装置可以实现为一种计算机程序的形式,计算机程序可在如图2所示的计算机设备上运行。计算机设备的存储器中可存储组成该业务请求处理装置的各个程序模块,比如,图13所示的仲裁单元1301、令牌更换单元1302和接入路由单元1303。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的业务请求处理方法中的步骤。

例如,图2所示的计算机设备可以通过如图13所示的业务请求处理装置中的仲裁单元1301执行检测处理业务请求的业务请求处理单元的状态信息,业务请求携带有用户标识;当状态信息满足迁移条件时发送令牌更换通知。计算机设备可通过令牌更换单元1302接收令牌更换通知,根据令牌更换通知更换用户标识对应的目标用户令牌。计算机设备可通过接入路由单元1303查找与更换后的目标用户令牌对应的目标业务请求处理单元;将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元;至少一部分业务请求用于指示目标业务请求处理单元对至少一部分业务请求进行处理。。

上述实施例中,当检测业务请求处理单元的状态信息满足迁移条件时,更换用户标识对应的目标用户令牌,根据更换后的目标用户令牌查找目标业务请求处理单元,以用户为最小粒度,确保同一用户的业务请求被同一业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,实现了当某个业务请求处理单元的状态出现问题时,以用户为粒度将业务请求迁移至正常的业务请求处理单元,确保用户发起的业务请求可以顺利地处理,提高业务请求的处理效率,进而提高业务请求处理装置的容灾性能。

图14为另一个实施例中业务请求处理装置的结构框图,参照图14,该业务请求处理装置还包括:接入管理单元1304;其中,

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中接入路由单元1303接收客户端发送的携带用户标识的业务请求。计算机设备可以通过接入管理单元1304当接收到的业务请求满足访问条件、且用户标识未对应用户令牌时,为用户标识分配目标用户令牌。计算机设备可以通过接入路由单元1303查找与所分配的目标用户令牌对应的业务请求处理单元;将所接收到的业务请求传输至业务请求处理单元进行处理。

上述实施例中,为用户标识分配目标用户令牌,并将业务请求传输至业务请求处理单元进行处理,实现以用户为最小粒度,实现将属于同一个用户标识的业务请求通过同一个业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的令牌更换单元1302,当更换目标用户令牌时,将更换通知发送至仲裁单元1301。计算机设备可通过仲裁单元1301根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,确定令牌分配的速率;计算机设备可通过接入管理单元1304根据令牌分配的速率为用户标识分配目标用户令牌。计算机设备可通过令牌更换单元1302将候选用户令牌集合中目标用户令牌的使用状态更新为占用状态。

上述实施例中,根据令牌总数和未占用状态的令牌数确定令牌分配的速率,并根据该速率为用户标识分配目标用户令牌,实现了对令牌发送的速率进行控制,进而实现了对处理业务请求的数据流量进行控制,可以动态的调整服务器处理业务请求的负荷,确保业务请求可以有效地被处理。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的接入管理单元1304为用户标识分配具有优先级的目标用户令牌,且目标用户令牌所具有的优先级与业务请求的优先级匹配;优先级用于指示目标业务请求处理单元按照优先级处理业务请求。

上述实施例中,用户令牌增加了优先级的概念,为不同的用户标识分配相应的优先级的目标用户令牌,根据优先级对用户请求进行相应的优先处理,确保了紧急程度较高的业务请求,或来源于用户级别较高的业务请求能被优先处理,实现了业务请求分梯度处理,提高了业务请求的处理效率。此外,同一个目标业务请求处理单元对应的不同优先级的用户令牌,可以做不同比例的配额调整,以适应目标业务请求处理单元的处理能力和业务需求,进而提高了业务请求的处理效率。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的仲裁单元1301检测各业务请求处理单元所处理的业务请求数,或所处理的业务请求对应的用户令牌数。计算机设备可通过接入管理单元1304根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元;从筛选的业务请求处理单元对应的用户令牌中选取目标用户令牌;为用户标识分配所选取的目标用户令牌。

上述实施例中,根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元,可以有效地保证所筛选的业务请求处理单元具有业务处理能力,进而提高业务请求的处理效率。为用户标识分配所筛选的业务请求处理单元对应的目标用户令牌,根据该目标用户令牌将业务请求迁移至具有处理能力的目标业务请求处理单元,从而提高了业务请求的处理效率。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的仲裁单元1301根据业务请求数或用户令牌数,确定目标用户令牌回收时间。计算机设备可通过接入管理单元1304,当达到目标用户令牌回收时间时,在候选用户令牌集合中,将处理业务请求完毕的业务请求处理单元所对应目标用户令牌的使用状态更新;在候选用户令牌集合中,将更换前的目标用户令牌的使用状态更新。

上述实施例中,对目标用户令牌进行回收,保证了业务请求被处理完成后,目标用户令牌可以被回收利用,提高了用户令牌的使用效率。此外,根据业务请求处理单元中的业务请求数或用户令牌数确定回收时间,按照该回收时间对目标用户令牌进行回收,保证了令牌回收的有序性,提高了用户令牌的统一回收和管理。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的仲裁单元1301确定候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数;根据令牌总数和使用状态为未占用状态的令牌数,确定待创建用户令牌的数量和/或用户令牌回收速率。计算机设备可通过接入管理单元1304根据待创建用户令牌的数量创建新的用户令牌,和/或,按照用户令牌回收速率将与用户标识对应的用户令牌进行回收。

上述实施例中,根据令牌总数和未占用状态的令牌数,确定所要创建的新的用户令牌数,确保在服务器性能得到提升时,或者业务请求徒增时,能够适应性的扩容,提高业务请求的处理能力。此外,根据令牌总数和未占用状态的令牌数,确定用户令牌回收速率,确保用户令牌可被及时回收利用,从而避免了因用户令牌数匮乏而导致用户请求不能被及时处理的问题。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的仲裁单元1301通过业务请求处理单元继续处理未迁移的部分业务请求;检测未迁移的部分业务请求在预设时间内的处理结果;根据处理结果,确定业务请求处理单元的业务请求处理能力属性;根据处理能力属性,确定向业务请求处理单元分配新的业务请求的数量。

上述实施例中,通过业务请求处理单元继续处理未迁移的部分业务请求,根据处理的结果确定业务请求处理单元的处理能力属性,实现了对业务请求处理单元的处理能力的持续检测,确保了当业务请求处理单元在状态恢复后仍能正常对业务请求进行处理。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的令牌更换单元1302,当更换目标用户令牌时,将更换通知发送至仲裁单元1301。计算机设备可通过仲裁单元1301,当业务请求处理单元处理业务请求的成功率小于预设成功率,和/或,业务请求处理单元处理业务请求所消耗的时长大于预设时长时,确定业务请求中待迁移的部分业务请求。计算机设备可通过令牌更换单元1302更换待迁移的业务请求中用户标识对应的目标用户令牌。计算机设备可通过接入路由单元1303将业务请求中的待迁移的部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

上述实施例中,根据业务请求处理单元处理业务请求的成功率,或根据业务请求处理单元处理业务请求所消耗的时长,确定业务请求中待迁移的部分业务请求,既可以有效地利用该业务请求处理单元处理部分业务请求,还可以将另外部分业务迁移至其它业务请求处理单元,提高了业务请求的处理效率。

例如,图2所示的计算机设备可以通过如图14所示的业务请求处理装置中的令牌更换单元1302从候选用户令牌集合中选取使用状态为未占用状态的目标用户令牌,将用户标识对应的目标用户令牌更换为选取的目标用户令牌。计算机设备可通过仲裁单元1301获取业务请求处理单元中目标用户令牌的使用状态,当获取的使用状态与候选用户令牌集合中相应目标用户令牌的使用状态不一致时发送更新通知。计算机设备可通过接入管理单元1304接收到更新通知时,根据获取的使用状态更新候选用户令牌集合中相应目标用户令牌的使用状态。

上述方案中,根据业务请求处理单元中目标用户令牌的使用状态,更新候选用户令牌集合中相应目标用户令牌的使用状态,确保了各单元中所保存的用户令牌的使用状态的一致性,可有效地避免因占用状态的用户令牌被再次分配而加重某个业务请求处理单元的处理任务,进而提高业务请求的处理效率。

例如,业务请求包括退单请求和换单请求中至少一种;退单请求用于请求向用户标识所对应的数值账户转移指定数值;换单请求用于请求计算换单前后的数值差值,并按照数值差值对用户标识所对应的数值账户进行数值转移。

上述实施例中,确定了业务请求的类型,根据业务请求的类型进行相应的处理操作,确保了各业务请求可以被有效地、准确的处理。

如图15所示,在一个实施例中,提供了一种业务请求处理系统,该系统终端和业务请求处理装置,其中,业务请求处理装置包括:仲裁单元、令牌更换单元、接入路由单元、流控单元和业务请求处理单元;其中,业务请求处理单元包括代理单元、退单对账单元和退单补单单元。

业务请求处理装置在处理业务请求的基本流程包括:(一)获取令牌的过程;(二)处理业务请求和释放用户令牌的过程;(三)上报业务请求处理情况和接口使用情况的过程;(四)控制用户令牌使用状态、创建和销毁用户令牌的过程;(五)仲裁管控的过程;(六)灾难迁移的过程。其中,

(一)获取令牌的过程。

各接入路由单元在接收到业务请求时,判断该业务请求是否合法,当完成身份确认和授权后,向接入管理单元申请用户令牌,若获取用户令牌成功,则根据该用户令牌查找到对应的业务请求处理单元进行处理。

在一个实施例中,如图16所示,用户令牌获取的步骤具体可以包括:

s1601,接入路由单元接收客户端发送的业务请求。

s1602,接入路由单元对业务请求进行授权认证。

其中,对业务请求进行授权认证可以包括:接入路由单元通过业务请求中的源ip地址、或源mac地址、或源端口号、或用户标识确定该业务请求是否满足访问条件。当满足访问条件时,接入路由单元对业务请求进行授权认证。其中,是否满足该访问条件可以是上述源ip地址、源mac地址、源端口号和用户标识是否预存在acl(accesscontrollist,访问控制列表)中。

s1603,接入路由单元根据业务请求生成令牌请求,并将令牌请求发送至接入管理单元。

s1604,接入管理单元向流控单元转发令牌请求,进入等待取牌状态。

s1605,流控单元向接入管理单元发送发牌指令。

在一个实施例中,当达到等待时长的截止时间时,流控单元向接入管理单元发送发牌指令。

s1606,接入管理单元为业务请求分配目标用户令牌,将该目标用户令牌发送至接入路由单元,该目标用户令牌用于指示接入路由单元根据该目标用户令牌进行路由判断。

其中,接入路由单元根据该用户令牌进行路由判断指的是:接入路由单元为业务请求查找到对应的业务请求处理单元。

接入管理单元分配用户令牌之后,更新接入管理单元和业务请求处理单元中目标用户令牌的使用状态,确保目标用户令牌在接入管理单元和业务请求处理单元中的使用状态保持一致。

(二)处理业务请求和释放用户令牌的过程。

接入路由单元将持有目标用户令牌的业务请求发送至业务请求处理单元,通过相应的退单分流服务、调度服务和相应的接口完成业务请求的处理操作。此外,在此过程中若持牌用户还有业务请求持续到达,可以跳过令牌申请的过程,根据上一次所分配的目标用户令牌进行路由判断,查找到对应的业务请求处理单元进行处理。当该用户的所有业务请求处理完成后,触发令牌释放过程,在业务请求处理单元中释放令牌,同时通知仲裁单元。

在一个实施例中,处理业务请求和释放用户令牌的时序图如图17所示,具体可以包括:

s1701,接入路由单元接收终端发送的携带相同用户标识的业务请求。

s1702,接入路由单元根据上一次分配的令牌进行路由判断,为该业务请求查找到对应的业务请求处理单元。

s1703,当业务请求处理完毕时,接入路由单元向接入管理单元发送释放令牌的指令。

s1704,接入管理单元转发释放令牌的指令至流控单元,当达到回收时间时,释放令牌。

其中,释放令牌可以包括更新用户令牌的使用状态。

s1705,接入路由单元向客户端返回业务请求处理成功的结果。

(三)上报业务请求处理情况和接口使用情况的过程。

代理单元可以采集本业务请求处理单元内部的接口可用率和性能,以及整个装置中的其它各业务请求处理单元的可用率和性能。仲裁单元通过代理单元所采集的信息进行容灾切换的判断。

具体地,代理单元可采集以下方面的信息:

1)业务请求处理单元-外部接口处理成功率。

其中,外部接口可以指除本业务请求处理单元之外的其它各业务请求处理单元。外部接口处理成功率可以指其它各业务请求处理单元处理业务请求的成功率。

2)业务请求处理单元-外部接口可用数。

其中,外部接口可用数可以指其它各业务请求处理单元的可用数量。

3)业务请求处理单元-外部接口qps(queriespersecond,每秒查询率)、tps(transactionspersecond,每秒交易量)。

其中,每秒交易量指的是每秒处理业务请求的数量。

4)业务请求处理单元-内部接口处理成功率。

其中,内部接口可以指本业务请求处理单元中处理业务请求的接口。

5)业务请求处理单元-内部接口可用数。

6)业务请求处理单元-内部接口qps、tps。

7)业务请求处理单元-批量处理处理业务请求的成功率。

8)业务请求处理单元-批量处理qps、tps。

9)业务请求处理单元-批量处理业务请求的延迟时间。

10)业务请求处理单元-批量处理业务请求的成功时间。

代理单元将所采集到的信息上报至仲裁单元,仲裁单元根据上报的信息进行仲裁判断,从而确定各业务请求处理单元可分配的令牌数、业务请求处理装置可分配的总令牌数,业务请求处理装置回收令牌的启动频率,业务请求处理装置迁移业务请求的启动频率,每次回收令牌或迁移令牌的最大个数和用户令牌在接入管理单元和业务请求处理单元中进行状态更新的频率等。

由此可知,代理单元具有以下方面的有益效果:一方面各业务请求处理单元仅与代理对接,解耦外部依赖,保证条带化的运营部署架构;另一方面保证业务请求处理装置的仲裁与实际单元功能解耦,仅关注代理端的可用性即可,不用关心业务请求处理单元的具体架构;此外,避免了对外部装置的依赖,实现了动态反馈调整,当部分业务请求处理单元出现问题时,只对出现问题的部分业务请求处理单元进行降级处理,将相应的业务请求进行迁移,确保业务请求能被及时有效地处理。

(四)控制用户令牌使用状态、创建和销毁用户令牌的过程。

接入管理单元中存放了各业务请求处理单元所有的用户令牌,以及令牌的使用状态。使用状态包括占用状态、过渡状态和未占用状态。过渡状态可以理解为特殊的占用状态,可以包括申请中状态、释放中状态和迁移状态。如图5所示。其中,未占用状态的用户令牌在被分配的过程中,由未占用状态到申请中状态再到占用状态。占用状态在用户令牌释放的过程中,由占用状态到释放中状态再到未占用状态。占用状态在业务请求迁移的过程中,由占用状态到迁移中状态再到未占用状态。

接入管理单元存放的令牌总量可以表征业务请求处理装置的处理能力,用户令牌的使用状态可以表征当前业务请求处理装置运行的状态,占用状态的用户令牌数可以表征业务请求处理装置当前的实际吞吐量,而未占用状态的用户令牌数可以表征当前装置的性能的安全边际。在业务请求处理装置缩容的过程中,接入管理单元可以对未占用状态的用户令牌进行销毁,以达到调整业务请求处理装置的上限处理能力。当业务请求处理装置性能提升时,可以相应的创建用户令牌,使业务请求处理装置的处理能力逐步提升。

各业务请求处理单元保存了本业务请求处理单元中的用户令牌和相应的使用状态,仲裁单元对比各业务请求处理单元中的用户令牌及使用状态与接入管理单元中的用户令牌及使用状态,在可接受的掉单情况(即未及时对业务请求处理单元中的用户令牌与接入管理单元中的用户令牌进行使用状态同步)下,确保所接收的业务请求均被处理完成。

由于接入管理单元保存了所有用户令牌的相关信息,可以根据用户令牌进行业务请求的处理,以及发生灾难时,根据用户令牌对业务请求进行迁移处理。与按单号处理的方式相比,可以在业务请求处理装置的存储规模上,提前预测预测装置可容纳的业务请求数。

(五)仲裁管控的过程。

仲裁单元负责如下仲裁管控过程:

1)仲裁单元判断业务请求处理装置的总吞吐能力。

接入管理单元根据总吞吐能力为各业务请求处理单元分配用户令牌、创建新的用户令牌和回收令牌。

2)仲裁单元判断单个业务请求处理单元的吞吐能力。

接入管理单元根据该吞吐能力为各业务请求处理单元进行分配用户令牌、创建新的用户令牌和回收令牌。

3)启动和关闭灾难迁移的过程。

4)启动或关闭对接入管理单元和业务请求处理单元中用户令牌的使用状态进行对比的过程。

(六)灾难迁移的过程。

当业务请求处理单元发生故障或处理能力降低时,对处理中的业务请求进行全部或部分暂停。业务请求处理单元将所分配的用户令牌的使用状态标记为迁移中状态,然后由令牌更换单元通过仲裁单元向接入管理单元重新申请令牌,并将所分配的用户令牌置换为新的用户令牌,同时拷贝所要迁移的业务请求。接入路由单元根据新的用户令牌查找对应的业务请求处理单元,将所拷贝的业务请求发送至所查找到的业务请求处理单元,让新的业务请求处理单元处理迁移过来的业务请求。

一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:检测处理业务请求的业务请求处理单元的状态信息,业务请求携带有用户标识;当状态信息满足迁移条件时,更换用户标识对应的目标用户令牌;查找与更换后的目标用户令牌对应的目标业务请求处理单元;将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元;至少一部分业务请求用于指示目标业务请求处理单元对至少一部分业务请求进行处理。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:接收客户端发送的携带用户标识的业务请求;当接收到的业务请求满足访问条件、且用户标识未对应用户令牌时,为用户标识分配目标用户令牌;查找与所分配的目标用户令牌对应的业务请求处理单元;将所接收到的业务请求传输至业务请求处理单元进行处理。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,确定令牌分配的速率;根据令牌分配的速率为用户标识分配目标用户令牌;将候选用户令牌集合中目标用户令牌的使用状态更新为占用状态。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:为用户标识分配具有优先级的目标用户令牌,且目标用户令牌所具有的优先级与业务请求的优先级匹配;优先级用于指示目标业务请求处理单元按照优先级处理业务请求。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:检测各业务请求处理单元所处理的业务请求数,或所处理的业务请求对应的用户令牌数;为用户标识分配目标用户令牌,包括:根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元;从筛选的业务请求处理单元对应的用户令牌中选取目标用户令牌;为用户标识分配所选取的目标用户令牌。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:根据业务请求数或用户令牌数,确定目标用户令牌回收时间;当达到目标用户令牌回收时间时,在候选用户令牌集合中,将处理业务请求完毕的业务请求处理单元所对应目标用户令牌的使用状态更新;在候选用户令牌集合中,将更换前的目标用户令牌的使用状态更新。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:确定候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数;根据令牌总数和使用状态为未占用状态的令牌数,确定待创建用户令牌的数量和/或用户令牌回收速率;根据待创建用户令牌的数量创建新的用户令牌,和/或,按照用户令牌回收速率将与用户标识对应的用户令牌进行回收。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:通过业务请求处理单元继续处理未迁移的部分业务请求;检测未迁移的部分业务请求在预设时间内的处理结果;根据处理结果,确定业务请求处理单元的业务请求处理能力属性;根据处理能力属性,确定向业务请求处理单元分配新的业务请求的数量。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:当业务请求处理单元处理业务请求的成功率小于预设成功率,和/或,业务请求处理单元处理业务请求所消耗的时长大于预设时长时,确定业务请求中待迁移的部分业务请求;更换待迁移的业务请求中用户标识对应的目标用户令牌;将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,包括:将业务请求中的待迁移的部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:从候选用户令牌集合中选取使用状态为未占用状态的目标用户令牌,将用户标识对应的目标用户令牌更换为选取的目标用户令牌;该方法还包括:获取业务请求处理单元中目标用户令牌的使用状态;当获取的使用状态与候选用户令牌集合中相应目标用户令牌的使用状态不一致时,根据获取的使用状态更新候选用户令牌集合中相应目标用户令牌的使用状态。

在一个实施例中,业务请求包括退单请求和换单请求中至少一种;退单请求用于请求向用户标识所对应的数值账户转移指定数值;换单请求用于请求计算换单前后的数值差值,并按照数值差值对用户标识所对应的数值账户进行数值转移。

上述计算机设备,当检测业务请求处理单元的状态信息满足迁移条件时,更换用户标识对应的目标用户令牌,根据更换后的目标用户令牌查找目标业务请求处理单元,以用户为最小粒度,确保同一用户的业务请求被同一业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,实现了当某个业务请求处理单元的状态出现问题时,以用户为粒度将业务请求迁移至正常的业务请求处理单元,确保用户发起的业务请求可以顺利地处理,提高业务请求的处理效率,进而提高数字业务系统的容灾性能。

一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:检测处理业务请求的业务请求处理单元的状态信息,业务请求携带有用户标识;当状态信息满足迁移条件时,更换用户标识对应的目标用户令牌;查找与更换后的目标用户令牌对应的目标业务请求处理单元;将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元;至少一部分业务请求用于指示目标业务请求处理单元对至少一部分业务请求进行处理。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:接收客户端发送的携带用户标识的业务请求;当接收到的业务请求满足访问条件、且用户标识未对应用户令牌时,为用户标识分配目标用户令牌;查找与所分配的目标用户令牌对应的业务请求处理单元;将所接收到的业务请求传输至业务请求处理单元进行处理。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:根据候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数,确定令牌分配的速率;根据令牌分配的速率为用户标识分配目标用户令牌;将候选用户令牌集合中目标用户令牌的使用状态更新为占用状态。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:为用户标识分配具有优先级的目标用户令牌,且目标用户令牌所具有的优先级与业务请求的优先级匹配;优先级用于指示目标业务请求处理单元按照优先级处理业务请求。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:检测各业务请求处理单元所处理的业务请求数,或所处理的业务请求对应的用户令牌数;为用户标识分配目标用户令牌,包括:根据业务请求数或用户令牌数,从各业务请求处理单元中筛选业务请求处理单元;从筛选的业务请求处理单元对应的用户令牌中选取目标用户令牌;为用户标识分配所选取的目标用户令牌。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:根据业务请求数或用户令牌数,确定目标用户令牌回收时间;当达到目标用户令牌回收时间时,在候选用户令牌集合中,将处理业务请求完毕的业务请求处理单元所对应目标用户令牌的使用状态更新;在候选用户令牌集合中,将更换前的目标用户令牌的使用状态更新。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:确定候选用户令牌集合中的令牌总数和使用状态为未占用状态的令牌数;根据令牌总数和使用状态为未占用状态的令牌数,确定待创建用户令牌的数量和/或用户令牌回收速率;根据待创建用户令牌的数量创建新的用户令牌,和/或,按照用户令牌回收速率将与用户标识对应的用户令牌进行回收。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:通过业务请求处理单元继续处理未迁移的部分业务请求;检测未迁移的部分业务请求在预设时间内的处理结果;根据处理结果,确定业务请求处理单元的业务请求处理能力属性;根据处理能力属性,确定向业务请求处理单元分配新的业务请求的数量。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:当业务请求处理单元处理业务请求的成功率小于预设成功率,和/或,业务请求处理单元处理业务请求所消耗的时长大于预设时长时,确定业务请求中待迁移的部分业务请求;更换待迁移的业务请求中用户标识对应的目标用户令牌;将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,包括:将业务请求中的待迁移的部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元。

在一个实施例中,计算机程序被处理器执行时,使得处理器执行以下步骤:从候选用户令牌集合中选取使用状态为未占用状态的目标用户令牌,将用户标识对应的目标用户令牌更换为选取的目标用户令牌;该方法还包括:获取业务请求处理单元中目标用户令牌的使用状态;当获取的使用状态与候选用户令牌集合中相应目标用户令牌的使用状态不一致时,根据获取的使用状态更新候选用户令牌集合中相应目标用户令牌的使用状态。

在一个实施例中,业务请求包括退单请求和换单请求中至少一种;退单请求用于请求向用户标识所对应的数值账户转移指定数值;换单请求用于请求计算换单前后的数值差值,并按照数值差值对用户标识所对应的数值账户进行数值转移。

上述存储介质中,当检测业务请求处理单元的状态信息满足迁移条件时,更换用户标识对应的目标用户令牌,根据更换后的目标用户令牌查找目标业务请求处理单元,以用户为最小粒度,确保同一用户的业务请求被同一业务请求处理单元进行处理,从而避免了因业务请求处理单元性能不同而影响某个用户的不同业务请求被处理的速率。将业务请求中的至少一部分业务请求,从业务请求处理单元迁移至目标业务请求处理单元,实现了当某个业务请求处理单元的状态出现问题时,以用户为粒度将业务请求迁移至正常的业务请求处理单元,确保用户发起的业务请求可以顺利地处理,提高业务请求的处理效率,进而提高数字业务系统的容灾性能。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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