【专利下载】【专利代理】【商标和版权申请】Tel:18215660330

一种业务访问控制方法、装置、控制设备及存储介质与流程

专利查询10月前  39

【专利下载】【专利代理】【商标和版权申请】Tel:18215660330



1.本技术涉及数据处理技术领域,尤其涉及一种业务访问控制方法、装置、业务访问控制设备及存储介质。


背景技术:

2.随着云技术的不断发展,很多企业的信息系统都开始采用云化的部署方式,为业务部门、子公司或者外部单位以租户的方式提供标准统一的差异化服务,一个租户也即一个业务方。由于不同租户的业务量不同,访问模式不同,因此,系统提供灵活的配置管理功能十分必要。
3.相关技术中的访问控制是租户层级的,已经不能满足租户的需求,当租户很多时,租户间相互影响,因某个租户的交易量并发骤升而影响到其他租户的交易请求,还能影响业务执行成功率。


技术实现要素:

4.本技术实施例提供一种业务访问控制方法、装置、业务访问控制设备及存储介质,用以提高交易的执行成功率。
5.第一方面,本技术一实施例提供了一种业务访问控制方法,包括:
6.根据接收到的来自客户端的安全校验请求生成校验令牌,并将所述校验令牌发送至所述客户端;
7.接收所述客户端基于所述校验令牌生成的交易请求;
8.识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;
9.若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;
10.其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
11.在一些示例性的实施方式中,通过如下方式确定所述交易请求满足所述访问时间控制条件:
12.根据标识数据与访问时间范围的匹配关系,确定所述交易请求的目标访问时间范围;
13.若所述交易请求的请求时间在所述目标访问时间范围内,则确定所述交易请求满足所述访问时间控制条件。
14.在一些示例性的实施方式中,通过如下方式确定所述交易请求满足所述用户量控制条件:
15.根据所述标识数据与用户列表的对应关系,确定所述交易请求对应的目标用户列表;
16.若所述目标用户列表中的用户数小于预设用户数量阈值,则确定所述交易请求满足所述用户量控制条件。
17.在一些示例性的实施方式中,通过如下方式确定所述交易请求满足所述访问并发控制条件:
18.确定所述标识数据中的业务方标识对应的令牌桶;
19.若所述令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类型时,确定所述交易请求满足所述访问并发控制条件;
20.若所述令牌桶中的令牌数量大于或等于所述预设令牌数量阈值,则确定所述交易请求满足所述访问并发控制条件。
21.在一些示例性的实施方式中,所述预设令牌数量阈值是通过如下方式确定的:
22.应用当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量、所述预设时间段内的所述业务方的全部交易的日均交易量、所述业务方对应的令牌桶队列的大小和预设交易类型的业务交易丢弃率,确定所述预设令牌数量阈值。
23.在一些示例性的实施方式中,通过如下公式确定所述预设令牌数量阈值:
[0024][0025]
其中,q为所述预设令牌数量阈值,q为所述业务方对应的令牌桶队列的大小,c为当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量,s为预设时间段内的所述业务方的全部交易的日均交易量,p为预设交易类型的业务交易丢弃率。
[0026]
在一些示例性的实施方式中,所述根据接收到的来自客户端的安全校验请求生成校验令牌,并将所述校验令牌发送至所述客户端,包括:
[0027]
根据接收到的来自客户端的安全校验请求中的业务方标识和密钥对所述安全校验请求进行校验;
[0028]
若校验通过,则生成与所述安全校验请求对应的校验令牌,将所述校验令牌发送至所述客户端。
[0029]
第二方面,本技术一实施例提供了一种业务访问控制方法,包括:
[0030]
获取用户输入的安全校验请求;
[0031]
确定与所述校验请求对应的交易请求;
[0032]
识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;
[0033]
若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;
[0034]
其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0035]
第三方面,本技术一实施例提供了一种业务访问控制装置,包括:
[0036]
校验模块,用于根据接收到的来自客户端的安全校验请求生成校验令牌,并将所述校验令牌发送至所述客户端;
[0037]
交易请求生成模块,用于接收所述客户端基于所述校验令牌生成的交易请求;
[0038]
第一识别模块,用于识别所述交易请求中的标识数据;其中,所述标识数据包括业
务方标识、渠道类型标识和业务类型标识中的至少一个;
[0039]
第一响应模块,用于若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;
[0040]
其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0041]
在一些示例性的实施方式中,所述第一响应模块用于通过如下方式确定所述交易请求满足所述访问时间控制条件:
[0042]
根据标识数据与访问时间范围的匹配关系,确定所述交易请求的目标访问时间范围;
[0043]
若所述交易请求的请求时间在所述目标访问时间范围内,则确定所述交易请求满足所述访问时间控制条件。
[0044]
在一些示例性的实施方式中,所述第一响应模块用于通过如下方式确定所述交易请求满足所述用户量控制条件:
[0045]
根据所述标识数据与用户列表的对应关系,确定所述交易请求对应的目标用户列表;
[0046]
若所述目标用户列表中的用户数小于预设用户数量阈值,则确定所述交易请求满足所述用户量控制条件。
[0047]
在一些示例性的实施方式中,所述第一响应模块具体用于通过如下方式确定所述交易请求满足所述访问并发控制条件:
[0048]
确定所述标识数据中的业务方标识对应的令牌桶;
[0049]
若所述令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类型时,确定所述交易请求满足所述访问并发控制条件;
[0050]
若所述令牌桶中的令牌数量大于或等于所述预设令牌数量阈值,则确定所述交易请求满足所述访问并发控制条件。
[0051]
在一些示例性的实施方式中,所述第一响应模块具体用于通过如下方式确定所述预设令牌数量阈值:
[0052]
应用当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量、所述预设时间段内的所述业务方的全部交易的日均交易量、所述业务方对应的令牌桶队列的大小和预设交易类型的业务交易丢弃率,确定所述预设令牌数量阈值。
[0053]
在一些示例性的实施方式中,所述第一响应模块具体用于通过如下公式确定所述预设令牌数量阈值:
[0054][0055]
其中,q为所述预设令牌数量阈值,q为所述业务方对应的令牌桶队列的大小,c为当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量,s为预设时间段内的所述业务方的全部交易的日均交易量,p为预设交易类型的业务交易丢弃率。
[0056]
在一些示例性的实施方式中,所述校验模块具体用于:
[0057]
根据接收到的来自客户端的安全校验请求中的业务方标识和密钥对所述安全校验请求进行校验;
[0058]
若校验通过,则生成与所述安全校验请求对应的校验令牌,将所述校验令牌发送至所述客户端。
[0059]
第四方面,本技术一实施例提供了一种业务访问控制装置,包括:
[0060]
获取模块,用于获取用户输入的安全校验请求;
[0061]
确定模块,用于确定与所述校验请求对应的交易请求;
[0062]
第二识别模块,用于识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;
[0063]
第二响应模块,用于若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;
[0064]
其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0065]
第五方面,本技术一实施例提供了一种业务访问控制设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述第一方面或第二方面任一种方法的步骤。
[0066]
第六方面,本技术一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述第一方面或第二方面任一种方法的步骤。
[0067]
第七方面,本技术一实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行第一方面或第二方面的任一项实施例中所示的方法。
[0068]
本技术实施例具备如下有益效果:
[0069]
对接收到的来自客户端的安全校验请求生成校验令牌,再将校验令牌发送至客户端,进而接收客户端基于校验令牌生成的交易请求,该安全校验过程,保证了整个交易是安全的。另外,识别交易请求中的标识数据,并且根据标识数据确定交易请求满足访问时间控制条件、访问用户量控制条件和访问并发量控制条件中的至少一个时,响应交易请求。实现了对交易请求从时间范围、用户量、并发量的各个维度进行控制,提高了交易执行的成功率。
附图说明
[0070]
为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0071]
图1为本技术一实施例提供的一种业务访问控制方法的应用场景示意图;
[0072]
图2为本技术一实施例提供的一种业务访问控制方法的流程图;
[0073]
图3为本技术一实施例提供的一种访问时间控制的流程图;
[0074]
图4为本技术一实施例提供的一种访问时间控制的时序图;
[0075]
图5为本技术一实施例提供的一种访问用户量控制的流程图;
[0076]
图6为本技术一实施例提供的另一种访问用户量控制的流程图;
[0077]
图7为本技术一实施例提供的一种并发控制流程的示意图;
[0078]
图8为本技术一实施例提供的另一种并发控制流程的示意图;
[0079]
图9为本技术一实施例提供的一种业务访问控制的系统架构图;
[0080]
图10为本技术一实施例提供的一种业务访问控制方法的流程图;
[0081]
图11为本技术一实施例提供的一种访问控制装置的结构示意图;
[0082]
图12为本技术一实施例提供的一种访问控制装置的结构示意图;
[0083]
图13为本技术一实施例提供的一种业务访问控制设备的结构示意图。
具体实施方式
[0084]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
[0085]
为了方便理解,下面对本技术实施例中涉及的名词进行解释:
[0086]
(1)令牌桶算法:有一个固定大小的桶,系统会按照固定的频率生成校验令牌并放到桶中,如果桶满了则丢弃;每一个交易请求都需要从桶中获取到一个令牌,如果获取到则继续后续流程,如果桶已空,获取不到令牌则拒绝该交易请求。
[0087]
(2)saas(software-as-a-service,软件即服务),即通过网络提供软件服务。saas平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商剔除需求,并通过互联网获得saas平台供应商提供的服务。业务方的不断接入催生了通过配置实现差异化服务的需求,业务方接入时,系统会根据其对应的套餐情况来配置。
[0088]
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0089]
在具体实践过程中,随着云技术的不断发展,很多企业的信息系统都开始采用云化的部署方式,为业务部门、子公司或者外部单位以租户的方式提供标准统一的差异化服务,一个租户也即一个业务方。由于不同租户的业务量不同,访问模式不同,因此,系统提供灵活的配置管理功能十分必要。
[0090]
相关技术中的访问控制是租户层级的,已经不能满足租户的需求,当租户很多时,租户间相互影响,因某个租户的交易量并发骤升而影响到其他租户的交易请求,还能影响业务成功率。比如对于租户的时间控制,电脑端的交易是7*8小时的,但移动端的交易要求是7*24小时的;再如流控控制上,在业务高峰期时,对于重要的重要交易要保证交易执行的成功率,不能因为其他交易量较大影响了重要交易。
[0091]
为此,本技术提供了一种业务访问控制方法,该方法中,根据接收到的来自客户端的安全校验请求生成校验令牌,并将校验令牌发送至客户端;接收客户端基于校验令牌生成的交易请求;识别交易请求中的标识数据;标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;若根据标识数据确定交易请求满足如下控制条件中的至少一个,则响应交易请求;控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。提高了交易执行的成功率。
[0092]
在介绍完本技术实施例的设计思想之后,下面对本技术实施例的技术方案能够适
用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
[0093]
参考图1,其为本技术实施例提供的一种业务访问控制方法的应用场景示意图。该应用场景包括多个终端设备101(包括终端设备101-1、终端设备101-2、
……
终端设备101-n)、服务器102。其中,终端设备101、服务器102之间通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0094]
服务器102根据接收到的来自客户端(比如是集成在终端设备101中)的安全校验请求生成校验令牌,并将校验令牌发送至客户端;接收客户端基于校验令牌生成的交易请求;识别交易请求中的标识数据;其中,标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;若根据标识数据确定交易请求满足如下控制条件中的至少一个,则响应交易请求;其中,控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0095]
当然,本技术实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本技术实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
[0096]
为进一步说明本技术实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本技术实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本技术实施例提供的执行顺序。
[0097]
下面结合图1所示的应用场景,对本技术实施例提供的技术方案进行说明。
[0098]
参考图2,本技术实施例提供一种业务访问控制方法,包括以下步骤:
[0099]
s201、根据接收到的来自客户端的安全校验请求生成校验令牌,并将校验令牌发送至客户端。
[0100]
s202、接收客户端基于校验令牌生成的交易请求。
[0101]
s203、识别交易请求中的标识数据;其中,标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个。
[0102]
s204、若根据标识数据确定交易请求满足如下控制条件中的至少一个,则响应交易请求;其中,控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0103]
本技术实施例,对接收到的来自客户端的安全校验请求生成校验令牌,再将校验令牌发送至客户端,进而接收客户端基于校验令牌生成的交易请求,该安全校验过程,保证了整个交易是安全的。另外,识别交易请求中的标识数据,并且根据标识数据确定交易请求
满足访问时间控制条件、访问用户量控制条件和访问并发量控制条件中的至少一个时,响应交易请求。实现了对交易请求从时间范围、用户量、并发量的各个维度进行控制,提高了交易执行的成功率。
[0104]
涉及到s201,服务器接收来自客户端的安全校验请求,该客户端可以是指用户使用的终端设备上的客户端,服务器对安全校验请求进行校验,在校验通过后,生成校验令牌,并将该校验令牌发送至客户端。该校验过程可以对用户的身份进行验证,保证业务交易安全进行。
[0105]
示例性的,该过程可以通过如下方式实现:根据接收到的来自客户端的安全校验请求中的业务方标识和密钥对安全校验请求进行校验;若校验通过,则生成与安全校验请求对应的校验令牌,将校验令牌发送至客户端。
[0106]
具体的,业务方访问服务器时,按照报文规范携带业务方标识和密钥发起安全校验请求,业务方为用户的统称,比如业务方可以是x市的y银行,则用户可以是该银行中使用相应业务的员工。服务器根据安全校验请求中的业务方标识和密钥进行验证,比如业务方标识是否为预先设置的安全标识,若是,则校验通过。服务器将安全验证请求通过后返回校验令牌token,并放在服务器的缓存服务中。业务方收到token收进行缓存,以后每次发起交易请求时均携带。
[0107]
涉及到s202,客户端接收到校验令牌后,基于该校验令牌生成交易请求,并将该交易请求发送至服务器。示例性的,业务方发起交易请求时,还会带上业务类型参数(比如业务类型标识)和渠道类型参数(渠道类型参数)。在一个具体的例子中,业务类型参数表征业务类型,比如是转账还是支付薪酬;渠道类型参数表征渠道类型,比如是线上交易还是柜面交易等。
[0108]
涉及到s203,服务器在接收到交易请求后,对交易请求进行解析,得到其中的标识数据,该标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个。在一个具体的例子中,比如x市的y银行的具备一个业务方标识。
[0109]
涉及到s204,服务器根据标识数据确定交易请求满足如下控制条件中的至少一个,则响应交易请求。其中,控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。具体的,可以设置为交易请求满足上述控制条件中的任意一个、任意两个或者三个时,响应交易请求。满足的控制条件越多,交易执行的成功率越高。
[0110]
接下来,分别对访问时间控制条件、访问用户量控制条件和访问并发量控制条件进行说明。
[0111]
第一、访问时间控制条件。参见图3,示出了一种访问时间控制的流程图,用于确定交易请求满足访问时间控制条件。
[0112]
s301、根据标识数据与访问时间范围的匹配关系,确定交易请求的目标访问时间范围。
[0113]
具体的,服务器的分布式缓存服务中保存了各个业务方的访问时间范围,访问时间范围比如是,在该访问时间范围内,交易可以被正常执行,超出该访问时间范围,表明交易已经不能被正常响应,也即,交易的用户无权访问。通常情况下,访问时间范围是业务方根据实际需求确定并缓存在服务器中的。
[0114]
示例性的,访问时间范围的保存结构为key-value的形式,其中,key的组成方式为
业务方标识+渠道类型标识+业务类型标识,value为时间范围字符串。服务器识别到交易请求中的标识数据后,根据标识数据中业务方标识、渠道类型标识、业务类型标识的与访问时间范围的对应关系,确定交易请求的目标范围时间范围。
[0115]
s302、若交易请求的请求时间在目标访问时间范围内,则确定交易请求满足访问时间控制条件。
[0116]
具体的,确定交易请求的请求时间,比如为2021年11月24日,目标范围时间范围为2021年1月1日到2021年12月31日。表明交易请求的请求时间在目标访问时间范围内,确定交易请求满足访问时间控制条件,服务器可以继续后续流程,比如响应该交易请求。若交易请求的请求时间不在目标访问时间范围内,则返回请求失败的结果。
[0117]
在一个具体的例子中,图4示出了一种访问时间控制的时序图,在图4中,包括了交易请求的生成过程以及访问时间的控制过程。需要说明的是,访问用户量控制以及访问并发量控制的过程中的交易请求也是按照图4中的交易请求的生成过程生成的。也即,无论是访问时间控制、访问用户量控制还是访问并发量控制,均为通过校验过程生成交易请求,这里只是举例说明,不形成具体的限定。
[0118]
第二、访问用户量控制。参见图5,示出了一种访问用户量控制的流程图,用于确定交易请求满足访问用户量控制条件。
[0119]
s501、根据标识数据与用户列表的对应关系,确定交易请求对应的目标用户列表。
[0120]
具体的,标识数据包括业务方标识、渠道类型标识和业务类型标识,实际情况中,每个业务方的每个渠道的每个业务均会对应一个集合,称为用户列表,存储有一段时间内的交易请求,具体可以存储有交易请求的请求用户的id(identity document,身份标识号)和请求时间。因此,可以根据当前标识数据,以及各个标识数据与用户列表的对应关系,确定交易请求对应的目标用户列表。
[0121]
s502、若目标用户列表中的用户数小于预设用户数量阈值,则确定交易请求满足用户量控制条件。
[0122]
具体的,由于目标用户列表存储的是一段时间内的交易请求,因此,其中的用户数是动态变化的,如果目标用户列表中的用户数小于预设用户数量阈值,则确定交易请求满足用户量控制条件,也即,此时的用户量的情况下的交易请求在服务器能承受的范围内,可被正常响应。
[0123]
另外,如果目标用户列表中的用户数大于或者等于预设用户数量阈值,表明服务器无法正常响应该交易请求,此时丢弃该交易请求。
[0124]
在一个具体的例子中,图6示出了一种访问用户量控制的流程图。
[0125]
s601、接收交易请求。
[0126]
s602、通过业务方标识、渠道类型标识和业务类型标识判断该交易请求对应的用户列表中的数量是否超过预设用户数量阈值,若是,则执行s603,否则,执行s604。
[0127]
s603、返回并向客户端发送超限错误的提示信息。
[0128]
s604、判断当前用户列表中是否有交易请求的发起用户的id,若是,则执行s605,否则,执行s606。
[0129]
s605、更新发起用户id的有效时间为t。
[0130]
其中,如果在时间t内,再次收到该用户的请求并执行,则更新该用户id的有效时
间为t。
[0131]
s606、新增发起用户id,设置有效时间为t。
[0132]
其中,如果当前用户列表中没有该用户id,则将其添加到当前用户列表中,并将用户id的有效时间设置为t。
[0133]
另外,如果在时间t内没有该用户的请求被执行,则删除该用户id。
[0134]
s607、执行后续流程。
[0135]
在系统实现中,t为5分钟,即控制的是5分钟内的访问用户数。
[0136]
具体的,本发明的访问控制策略中还会对系统的访问用户量进行控制,每一个请求被执行时,都要先判断当前业务方的该渠道类型和业务类型的用户列表中的用户数是否已经超过预设用户数量阈值,如果超过则丢弃该请求,否则执行后续流程。
[0137]
第三、访问并发量控制。
[0138]
具体的,对于系统交易并发量的控制,通常采用令牌桶算法,但是在多业务方访问saas类系统中,如果所有业务方都从同一个桶中获取令牌,互相之间仍然存在流量竞争。因此,为了实现每个业务方的交易并发量不互相影响,本技术实施例中采用一种改进型的令牌桶算法。
[0139]
参见图7,示出了一种并发控制流程的示意图,用于确定交易请求满足访问并发量控制条件。
[0140]
s701、确定标识数据中的业务方标识对应的令牌桶。
[0141]
具体的,每个业务方设置一个固定大小的桶,采用队列实现,但每个桶的令牌生成速度不同,速度v取决于每个业务方配置的并发量参数,如当配置的并发量大小为200tps(transactions per second,每秒处理的事务数目)时,则每秒要生成的令牌数为200。此外还要考虑业务方之外的公共交易开销,而且所有业务方的并发量之和要小于系统设计的总并发量m。即:
[0142][0143]
其中,i为业务方编号,n为业务方的总数。
[0144]
因此,根据交易请求中的标识数据中的业务方标识,可以定位该交易请求对应的令牌桶。
[0145]
s702、若令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类型时,确定交易请求满足访问并发控制条件。
[0146]
其中,交易分为两类,一类是重要交易,另一类是普通交易,而预设交易类型可以是重要的交易类型。普通交易主要为非核心业务的交易,如查询公告、浏览知识等;重要交易则是影响业务方的业务流程、业绩结果的交易,如生成订单,如果失败会影响业务办理,进而影响成效。因此在初始化配置中,业务方可以选择需要重点保护的重要交易,其他交易默认为普通交易。
[0147]
因此,将重要交易以列表的方式存放在分布式缓存中,以提高查询效率。为了保证重要交易能够处理,当并发量较大时,桶中的令牌要优先满足重要交易。这样,在令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类型时,确定交易请求满足访问并发控制条件,该交易请求被执行;普通交易自动返回。
[0148]
具体的,预设令牌数量是应用当前时刻之前预设时间段内的预设交易类型的交易的日均交易量、预设时间段内的业务方的全部交易的日均交易量、业务方对应的令牌桶队列的大小和预设交易类型的业务交易丢弃率,确定预设令牌数量阈值。
[0149]
在一个具体的例子中,通过如下公式确定预设令牌数量阈值:
[0150][0151]
其中,q为预设令牌数量阈值,q为业务方对应的令牌桶队列的大小,c为当前时刻之前预设时间段内的预设交易类型的交易的日均交易量,s为预设时间段内的业务方的全部交易的日均交易量,p为预设交易类型的业务交易丢弃率。
[0152]
例如,每天凌晨会有一个批量任务,用于统计每天每个租户重要交易和普通交易的量,预设令牌数量阈值q取决于过去30天的交易量统计,公式如下:
[0153][0154]
以30天为例,q为业务方对应的令牌桶队列的大小,c为过去30天该业务方的重要交易量日均值,s为过去30天该业务方是总交易量日均值,p为预设交易类型的业务交易丢弃率,是系统调节参数,一般为0.5到1.5之间,可动态调整。
[0155]
s703、若令牌桶中的令牌数量大于或等于预设令牌数量阈值,则确定交易请求满足访问并发控制条件。
[0156]
这种情况下,无需区分重要交易还是普通交易,均可被执行,确定交易请求满足访问并发控制条件,服务器响应交易。
[0157]
综上,在交易量并发控制中采用改进型的令牌桶算法,给每个业务方分配一个令牌桶,使得业务方间并发控制互不影响;其次将交易请求划分为重要交易和普通交易,桶中的令牌要给重要交易保留一定的量,保障重要交易的执行成功率。
[0158]
在一个具体的例子中,图8示出了另一种并发控制流程的示意图。
[0159]
s801、接收交易请求。
[0160]
s802、判断标识数据中的业务方标识对应的令牌桶中的令牌数量是否低于预设令牌数量阈值,若是,则执行s803,否则,执行s804。
[0161]
s803、判断当前交易是否为重要交易,若是,则执行s804,否则,执行s805。
[0162]
s804、响应交易请求,并返回执行结果。
[0163]
s805、返回并向客户端发送超限错误的提示消息。
[0164]
其中,在响应交易请求的过程中,交易请求可以从令牌桶中获取执行令牌,获取到执行令牌后,被路由到对应的服务上执行。执行时先检查执行令牌的有效性,如果有效才继续执行,否则直接返回错误提示。
[0165]
本技术实施例引入了一种更精细的访问控制模式,按照渠道和业务维度的来控制交易的访问时间、访问用户数和并发量等。还采用了改进型的令牌桶算法,以实现租户间交易并发量不互相影响,并保证重要交易成功率。
[0166]
为了使本技术的技术方案更完善,参考图9,本技术实施例提供了一种业务访问控制的系统架构图,在该系统中,各个业务方对报文进行组装,生成交易请求,将交易请求发送至服务器,该服务器可以是云服务器,服务器对报文进行解析后,进行访问时间控制、访
问用户量控制和访问并发量控制中的至少一个,在控制过程中,利用服务器的分部署缓存功能,进行时间范围参数、用户id集合以及令牌桶队列等数据的缓存,进而实现对访问数据的批量统计服务以及云产品业务的处理。
[0167]
具体的,有三种业务需要访问云产品,业务方的业务访问云服务时,遵循云服务提供的标准和规范进行报文组装。云服务即产品服务端,其核心业务在云产品业务模块中,在访问云产品业务模块之前,需要对访问请求进行访问时间控制、访问用户量控制和交易并发量控制。同时为了提高系统的处理效率,这三个维度的控制都依赖于分部署缓存,在分部署缓存中分别保存了时间范围参数、用户id集合和令牌桶队列。此外,还有一个批量统计服务,会对每天的访问数据进行处理,用于计算每日或一段时间内各渠道、各业务类型的交易量,这些统计数据又会作为次日的交易并发控制的调节参数。
[0168]
上述过程是基于服务器和客户端的交互过程进行的说明,在实际的应用过程中,业务访问控制方法还可以通过一个业务访问控制设备实现,参见图10,该控制设备执行业务访问控制方法时,至少包括如下步骤:
[0169]
s1001、获取用户输入的安全校验请求。
[0170]
具体的,可以通过响应用户在作业务访问控制设备的屏幕上的触摸操作,或者在业务访问控制设备上的按键输入操作,获取用户输入的安全校验请求。
[0171]
s1002、确定与所述安全校验请求对应的交易请求。
[0172]
具体的,在安全校验请求验证通过时,确定与安全校验请求对应的交易请求。
[0173]
s1003、识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个。
[0174]
s1004、若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0175]
本技术实施例中的各步骤的实现方式可参见前述实施例的表述,在此不赘述。
[0176]
如图11所示,基于与上述业务访问控制方法相同的发明构思,本技术实施例还提供了一种业务访问控制装置,包括校验模块1101、交易请求生成模块1102、第一识别模块1103和第一响应模块1004。
[0177]
其中,校验模块1101,用于根据接收到的来自客户端的安全校验请求生成校验令牌,并将校验令牌发送至客户端;
[0178]
交易请求生成模块1102,用于接收客户端基于校验令牌生成的交易请求;
[0179]
第一识别模块1103,用于识别交易请求中的标识数据;其中,标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;
[0180]
第一响应模块1104,用于若根据标识数据确定交易请求满足如下控制条件中的至少一个,则响应交易请求;
[0181]
其中,控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0182]
在一些示例性的实施方式中,第一响应模块1104用于通过如下方式确定交易请求满足访问时间控制条件:
[0183]
根据标识数据与访问时间范围的匹配关系,确定交易请求的目标访问时间范围;
[0184]
若交易请求的请求时间在目标访问时间范围内,则确定交易请求满足访问时间控制条件。
[0185]
在一些示例性的实施方式中,第一响应模块1104用于通过如下方式确定交易请求满足用户量控制条件:
[0186]
根据标识数据与用户列表的对应关系,确定交易请求对应的目标用户列表;
[0187]
若目标用户列表中的用户数小于预设用户数量阈值,则确定交易请求满足用户量控制条件。
[0188]
在一些示例性的实施方式中,第一响应模块1104具体用于通过如下方式确定交易请求满足访问并发控制条件:
[0189]
确定标识数据中的业务方标识对应的令牌桶;
[0190]
若令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类型时,确定交易请求满足访问并发控制条件;
[0191]
若令牌桶中的令牌数量大于或等于预设令牌数量阈值,则确定交易请求满足访问并发控制条件。
[0192]
在一些示例性的实施方式中,第一响应模块1104具体用于通过如下方式确定预设令牌数量阈值:
[0193]
应用当前时刻之前预设时间段内的预设交易类型的交易的日均交易量、预设时间段内的业务方的全部交易的日均交易量、业务方对应的令牌桶队列的大小和预设交易类型的业务交易丢弃率,确定预设令牌数量阈值。
[0194]
在一些示例性的实施方式中,第一响应模块1104具体用于通过如下公式确定预设令牌数量阈值:
[0195][0196]
其中,q为预设令牌数量阈值,q为业务方对应的令牌桶队列的大小,c为当前时刻之前预设时间段内的预设交易类型的交易的日均交易量,s为预设时间段内的业务方的全部交易的日均交易量,p为预设交易类型的业务交易丢弃率。
[0197]
在一些示例性的实施方式中,校验模块1101具体用于:
[0198]
根据接收到的来自客户端的安全校验请求中的业务方标识和密钥对安全校验请求进行校验;
[0199]
若校验通过,则生成与安全校验请求对应的校验令牌,将校验令牌发送至客户端。
[0200]
本技术实施例提的一种业务访问控制装置与上述业务访问控制方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
[0201]
如图12所示,基于与上述业务访问控制方法相同的发明构思,本技术实施例还提供了一种业务访问控制装置,包括获取模块1201、确定模块1202、第二识别模块1203和第二响应模块1204。
[0202]
获取模块1201,用于获取用户输入的安全校验请求;
[0203]
确定模块1202,用于确定与所述校验请求对应的交易请求;
[0204]
第二识别模块1203,用于识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;
[0205]
第二响应模块1204,用于若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;
[0206]
其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。
[0207]
本技术实施例提的一种业务访问控制装置与上述业务访问控制方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
[0208]
基于与上述业务访问控制方法相同的发明构思,本技术实施例还提供了一种业务访问控制设备,该业务访问控制设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personal digital assistant,pda)、服务器等。如图13所示,该业务访问控制设备可以包括处理器1301和存储器1302。
[0209]
处理器1301可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0210]
存储器1302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器1302还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0211]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(ram,random access memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等各种可以存储程序代码的介质。
[0212]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例方法的全部或部分。而前
述的存储介质包括:移动存储设备、随机存取存储器(ram,random access memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等各种可以存储程序代码的介质。
[0213]
在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,计算机设备可以执行本公开实施例所记载的交易信息处理方法。程序产品可以采用一个或多个可读介质的任意组合。
[0214]
本技术技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求。
[0215]
以上实施例仅用以对本技术的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本技术实施例的方法,不应理解为对本技术实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本技术实施例的保护范围之内。

技术特征:
1.一种业务访问控制方法,其特征在于,包括:根据接收到的来自客户端的安全校验请求生成校验令牌,并将所述校验令牌发送至所述客户端;接收所述客户端基于所述校验令牌生成的交易请求;识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。2.根据权利要求1所述的方法,其特征在于,通过如下方式确定所述交易请求满足所述访问时间控制条件:根据标识数据与访问时间范围的匹配关系,确定所述交易请求的目标访问时间范围;若所述交易请求的请求时间在所述目标访问时间范围内,则确定所述交易请求满足所述访问时间控制条件。3.根据权利要求1所述的方法,其特征在于,通过如下方式确定所述交易请求满足所述用户量控制条件:根据所述标识数据与用户列表的对应关系,确定所述交易请求对应的目标用户列表;若所述目标用户列表中的用户数小于预设用户数量阈值,则确定所述交易请求满足所述用户量控制条件。4.根据权利要求1所述的方法,其特征在于,通过如下方式确定所述交易请求满足所述访问并发控制条件:确定所述标识数据中的业务方标识对应的令牌桶;若所述令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类型时,确定所述交易请求满足所述访问并发控制条件;若所述令牌桶中的令牌数量大于或等于所述预设令牌数量阈值,则确定所述交易请求满足所述访问并发控制条件。5.根据权利要求4所述的方法,其特征在于,所述预设令牌数量阈值是通过如下方式确定的:应用当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量、所述预设时间段内的所述业务方的全部交易的日均交易量、所述业务方对应的令牌桶队列的大小和预设交易类型的业务交易丢弃率,确定所述预设令牌数量阈值。6.根据权利要求5所述的方法,其特征在于,通过如下公式确定所述预设令牌数量阈值:其中,q为所述预设令牌数量阈值,q为所述业务方对应的令牌桶队列的大小,c为当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量,s为预设时间段内的所述业务方的全部交易的日均交易量,p为预设交易类型的业务交易丢弃率。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述根据接收到的来自客户端的安全校验请求生成校验令牌,并将所述校验令牌发送至所述客户端,包括:根据接收到的来自客户端的安全校验请求中的业务方标识和密钥对所述安全校验请求进行校验;若校验通过,则生成与所述安全校验请求对应的校验令牌,将所述校验令牌发送至所述客户端。8.一种业务访问控制方法,其特征在于,包括:获取用户输入的安全校验请求;确定与所述安全校验请求对应的交易请求;识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。9.一种业务访问控制装置,其特征在于,包括:校验模块,用于根据接收到的来自客户端的安全校验请求生成校验令牌,并将所述校验令牌发送至所述客户端;交易请求生成模块,用于接收所述客户端基于所述校验令牌生成的交易请求;第一识别模块,用于识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;第一响应模块,用于若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。10.根据权利要求9所述的装置,其特征在于,所述第一响应模块用于通过如下方式确定所述交易请求满足所述访问时间控制条件:根据标识数据与访问时间范围的匹配关系,确定所述交易请求的目标访问时间范围;若所述交易请求的请求时间在所述目标访问时间范围内,则确定所述交易请求满足所述访问时间控制条件。11.根据权利要求9所述的装置,其特征在于,所述第一响应模块用于通过如下方式确定所述交易请求满足所述用户量控制条件:根据所述标识数据与用户列表的对应关系,确定所述交易请求对应的目标用户列表;若所述目标用户列表中的用户数小于预设用户数量阈值,则确定所述交易请求满足所述用户量控制条件。12.根据权利要求9所述的装置,其特征在于,所述第一响应模块具体用于通过如下方式确定所述交易请求满足所述访问并发控制条件:确定所述标识数据中的业务方标识对应的令牌桶;若所述令牌桶中的令牌数量小于预设令牌数量阈值,则在当前交易请求为预设交易类
型时,确定所述交易请求满足所述访问并发控制条件;若所述令牌桶中的令牌数量大于或等于所述预设令牌数量阈值,则确定所述交易请求满足所述访问并发控制条件。13.根据权利要求12所述的装置,其特征在于,所述第一响应模块具体用于通过如下方式确定所述预设令牌数量阈值:应用当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量、所述预设时间段内的所述业务方的全部交易的日均交易量、所述业务方对应的令牌桶队列的大小和预设交易类型的业务交易丢弃率,确定所述预设令牌数量阈值。14.根据权利要求13所述的装置,其特征在于,所述第一响应模块具体用于通过如下公式确定所述预设令牌数量阈值:其中,q为所述预设令牌数量阈值,q为所述业务方对应的令牌桶队列的大小,c为当前时刻之前预设时间段内的所述预设交易类型的交易的日均交易量,s为预设时间段内的所述业务方的全部交易的日均交易量,p为预设交易类型的业务交易丢弃率。15.根据权利要求9~14任一项所述的装置,其特征在于,所述校验模块具体用于:根据接收到的来自客户端的安全校验请求中的业务方标识和密钥对所述安全校验请求进行校验;若校验通过,则生成与所述安全校验请求对应的校验令牌,将所述校验令牌发送至所述客户端。16.一种业务访问控制装置,其特征在于,包括:获取模块,用于获取用户输入的安全校验请求;确定模块,用于确定与所述校验请求对应的交易请求;第二识别模块,用于识别所述交易请求中的标识数据;其中,所述标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;第二响应模块,用于若根据所述标识数据确定所述交易请求满足如下控制条件中的至少一个,则响应所述交易请求;其中,所述控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。17.一种业务访问控制设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7或8任一项所述的业务访问控制方法的步骤。18.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7或8任一项所述的业务访问控制方法的步骤。19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7或8中任一项所述的业务访问控制方法的步骤。

技术总结
本申请涉及数据处理领域,尤其公开了一种业务访问控制方法、装置、业务访问控制设备及存储介质,该方法包括根据接收到的来自客户端的安全校验请求生成校验令牌,并将校验令牌发送至客户端;接收客户端基于校验令牌生成的交易请求;识别交易请求中的标识数据;其中,标识数据包括业务方标识、渠道类型标识和业务类型标识中的至少一个;若根据标识数据确定交易请求满足如下控制条件中的至少一个,则响应交易请求;其中,控制条件包括访问时间控制条件、访问用户量控制条件和访问并发量控制条件。提高了交易的执行成功率。了交易的执行成功率。了交易的执行成功率。


技术研发人员:汪博 程榆 邹斯韬 谢隆飞 刘远浩 罗韬 秦望皓
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2021.12.02
技术公布日:2022/3/8

最新回复(0)