数据处理的方法、装置及系统
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据处理的方法、装置及系统。
背景技术
服务等级协议(Service Level Agreement,简称SLA)是关于网络服务供应商和客户间的一份契约标准,其中定义了服务类型、服务质量和客户付款等术语。按照SLA要求,服务供应商采用多种技术和解决方案去监控和管理网络性能及流量,以满足服务定位协议(Service Location Protocol,SLP)中的相关需求,并产生对应的客户结果报告。在实际应用中,为了保证网络侧系统的安全,常常需要限制系统的资源,即限制用户调用各种业务的并发数。
在现有技术中,网络侧的系统由服务端和对应业务方的业务方服务器组成,且不同业务方服务器服务不同的业务,例如发红包、付款、退款等。服务端通过SLA组件提供的相关计算模型计算各个业务方服务器的所能承受的最大并发数,即最大容量,并将获得的最大容量发送给对应的业务方服务器,以便业务方服务器基于该最大容量按照用户发送请求的顺序进行限流控制。由于用于服务某一业务的业务方服务器是按照用户发送请求的顺序进行限流控制的,所以业务方服务器侧每秒并发完成的支付总额是不确定的,从而无法满足业务方的策略需求。例如,当资源受限时,业务方基于交易或红包等业务场景,希望在单位时间内尽量获得更大的支付总额;或者基于退款等业务场景,又希望将单位时间内的支付总额控制到更小。由此可知,当限流策略不能很好的满足业务方的策略需求时,会使得业务方侧的业务受损,导致业务受影响。
发明内容
有鉴于此,本发明提供一种数据处理的方法、装置及系统,能够解决以下问题:由于现有的限流策略是按照用户访问的顺序进行限流控制的,所以业务方服务器侧每秒并发完成的支付总额是不确定的,所以无法满足业务方欲使支付总额最大化或者最小化的需求,从而可能会使业务方的业务严重受损。
第一方面,本发明提供了一种数据处理的方法,所述方法包括:
获取业务方服务器能够并发处理用户访问的最大容量;
建立包括不同业务数据范围对应的并发访问量的业务数据模型;
根据所述最大容量以及所述业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,所述访问限制概率根据所述最大容量设置获得,能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
将所述资源限制模型发送给所述业务方服务器,以便所述业务方服务器根据所述资源限制模型进行限流操作。
第二方面,本发明提供了一种数据处理的方法,所述方法包括:
接收服务端发送的根据业务方服务器的最大容量以及业务数据模型建立而成的、包括不同业务数据范围对应的访问限制概率的资源限制模型,所述最大容量为所述业务方服务器能够并发处理用户访问的最大容量,所述业务数据模型包括不同业务数据范围对应的并发访问量,所述访问限制概率根据所述最大容量设置获得,能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
在接收下一单位时间内的用户访问之前,获取所述下一单位时间对应的历史参考时间的实际并发访问总量,所述实际并发访问总量为不同业务数据范围对应的实际并发访问量之和;
从接收到的资源限制模型中查找出与所述实际并发访问总量对应的资源限制模型,并基于查找到的资源限制模型对所述下一单位时间内接收到的用户访问进行限流操作。
第三方面,本发明提供了一种数据处理的方法,所述方法包括:
获取业务方服务器能够并发处理用户访问的最大容量以及不同业务数据范围对应的并发访问量;
根据所述最大容量以及不同业务数据范围对应的并发访问量,确定不同业务数据范围对应的访问限制概率,所述访问限制概率能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
建立包括业务数据范围与访问限制概率之间映射关系的资源限制表格;
将所述资源限制表格发送给所述业务方服务器,以便所述业务方服务器根据所述资源限制表格进行限流操作。
第四方面,本发明提供了一种数据处理的方法,所述方法包括:
接收服务端发送的包括业务数据范围与访问限制概率之间映射关系的资源限制表格,所述访问限制概率能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
根据预设选择规则,从接收到的资源限制表格中获取目标资源限制表格;
根据所述目标资源限制表格中的访问限制概率,对下一单位时间内接收到的、属于对应业务数据范围的用户访问进行限流操作。
第五方面,本发明提供了一种数据处理的装置,所述装置包括:
获取单元,获取业务方服务器能够并发处理用户访问的最大容量;
第一建立单元,建立包括不同业务数据范围对应的并发访问量的业务数据模型;
第二建立单元,根据所述获取单元获取的所述最大容量以及所述第一建立单元建立的所述业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,所述访问限制概率根据所述最大容量设置获得,能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
发送单元,将所述第二建立单元建立的所述资源限制模型发送给所述业务方服务器,以便所述业务方服务器根据所述资源限制模型进行限流操作。
第六方面,本发明提供了一种数据处理的装置,所述装置包括:
接收单元,接收服务端发送的根据业务方服务器的最大容量以及业务数据模型建立而成的、包括不同业务数据范围对应的访问限制概率的资源限制模型,所述最大容量为所述业务方服务器能够并发处理用户访问的最大容量,所述业务数据模型包括不同业务数据范围对应的并发访问量,所述访问限制概率根据所述最大容量设置获得,能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
获取单元,在所述接收单元接收下一单位时间内的用户访问之前,获取所述下一单位时间对应的历史参考时间的实际并发访问总量,所述实际并发访问总量为不同业务数据范围对应的实际并发访问量之和;
查找单元,从接收到的资源限制模型中查找出与所述获取单元获取的所述实际并发访问总量对应的资源限制模型;
限流单元,基于所述查找单元查找到的资源限制模型对所述下一单位时间内接收到的用户访问进行限流操作。
第七方面,本发明提供了一种数据处理的装置,所述装置包括:
获取单元,获取业务方服务器能够并发处理用户访问的最大容量以及不同业务数据范围对应的并发访问量;
确定单元,根据所述获取单元获取的所述最大容量以及不同业务数据范围对应的并发访问量,确定不同业务数据范围对应的访问限制概率,所述访问限制概率能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
建立单元,建立包括业务数据范围与访问限制概率之间映射关系的资源限制表格;
发送单元,将所述建立单元建立的所述资源限制表格发送给所述业务方服务器,以便所述业务方服务器根据所述资源限制表格进行限流操作。
第八方面,本发明提供了一种数据处理的装置,所述装置包括:
接收单元,接收服务端发送的包括业务数据范围与访问限制概率之间映射关系的资源限制表格,所述访问限制概率能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
获取单元,根据预设选择规则,从所述接收单元接收到的资源限制表格中获取目标资源限制表格;
限流单元,根据所述获取单元获得的所述目标资源限制表格中的访问限制概率,对下一单位时间内接收到的、属于对应业务数据范围的用户访问进行限流操作。
第九方面,本发明提供了一种数据处理的系统,所述系统包括服务端以及业务方服务器,其中,所述服务端包括如第五方面或者第七方面所述的装置,所述业务方服务器包括如第六方面或者第八方面所述的装置。
借由上述技术方案,本发明提供的数据处理的方法、装置及系统,能够在服务端获取业务方服务器的最大容量后,先建立业务数据模型,然后根据获得的最大容量以及业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,最后将建立的资源限制模型发送给业务方服务器,以便业务方服务器根据该资源限制模型对用户访问进行限流操作。与现有的按照用户访问顺序进行限流控制的限流策略相比,本发明能够按照业务方的业务策略建立资源限制模型,从而当业务方服务器根据资源限制模型对用户访问进行限流操作时,能够使得限流结果满足业务方的需求,例如在单位时间内使得支付总额最大化,进而减少业务受损,降低业务影响。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据处理的方法的流程图;
图2示出了本发明实施例提供的另一种数据处理的方法的流程图;
图3示出了本发明实施例提供的另一种数据处理的方法的流程图;
图4示出了本发明实施例提供的另一种数据处理的方法的流程图;
图5示出了本发明实施例提供的一种数据处理的装置的组成框图;
图6示出了本发明实施例提供的另一种数据处理的装置的组成框图;
图7示出了本发明实施例提供的另一种数据处理的装置的组成框图;
图8示出了本发明实施例提供的另一种数据处理的装置的组成框图;
图9示出了本发明实施例提供的另一种数据处理的装置的组成框图;
图10示出了本发明实施例提供的另一种数据处理的装置的组成框图;
图11示出了本发明实施例提供的另一种数据处理的装置的组成框图;
图12示出了本发明实施例提供的一种数据处理的系统示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据处理的方法,该方法主要应用于服务端,如图1所示,该方法主要包括:
101、获取业务方服务器能够并发处理用户访问的最大容量。
在实际应用中,服务端可以通过对业务方服务器进行压测处理的方式,获取业务方服务器的最大容量,也可以通过其他方式获取业务方服务器的最大容量,在此不作限定。
102、建立包括不同业务数据范围对应的并发访问量的业务数据模型。
其中,并发访问总量大于最大容量,业务数据模型包括不同业务数据范围对应的并发访问量,且各个并发访问量之和为并发访问总量。在实际应用中,业务数据模型主要根据历史业务数据进行建立的。其中,业务数据为单个用户向业务方服务器申请处理的数据。在建立业务数据模型时,不同并发访问总量对应不同的数据业务模型,对于同一并发访问总量,服务端可以只建立一个数据业务模型,也可以建立多个业务数据模型。
此外,业务数据模型可以为一个用于表示业务数据范围与并发访问量之间对应关系的表格。例如,表1为一个业务数据模型,其中,业务数据范围为支付金额范围,支付金额在0-10范围内的并发访问量为150,支付金额在11-100范围内的并发访问量为80,支付金额在100以上的并发访问量为200,并发访问总量为430。
表1
业务数据范围 |
并发访问量 |
0-10 |
150 |
11-100 |
80 |
100以上 |
200 |
103、根据最大容量以及业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型。
其中,访问限制概率根据最大容量设置获得,能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流。
在获得业务方服务器的最大容量以及建立不同的业务数据模型后,服务端可以分别针对不同的业务数据模型,建立资源限制模型,并由资源限制模型构成资源阶梯限制模型。其中,在建立资源限制模型时,服务端能够根据业务方的业务策略,为不同业务数据范围分配对应的访问限制概率,以便后续业务方服务器根据资源限制模型进行限流操作时,能够满足业务策略需求。
需要说明的是,当获得不同业务数据范围对应的资源限制模型后,服务端可以按照各个业务数据范围对应的访问限制概率的总和从小到大的顺序对对应的资源限制模型进行存储,从而构成资源阶梯限制模型。
104、将资源限制模型发送给业务方服务器,以便业务方服务器根据资源限制模型进行限流操作。
具体的,当服务端获得各个业务方服务器对应的资源限制模型后,可以分别将各个资源限制模型发送给对应的业务方服务器,以便各个业务方服务器根据获得的资源限制模型对用户访问进行限流操作。
本发明实施例提供的数据处理的方法,能够在服务端获取业务方服务器的最大容量后,先建立业务数据模型,然后根据获得的最大容量以及业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,最后将建立的资源限制模型发送给业务方服务器,以便业务方服务器根据该资源限制模型对用户访问进行限流操作。与现有的按照用户访问顺序进行限流控制的限流策略相比,本发明能够按照业务方的业务策略建立资源限制模型,从而当业务方服务器根据资源限制模型对用户访问进行限流操作时,能够使得限流结果满足业务方的需求,例如在单位时间内使得支付总额最大化,进而减少业务受损,降低业务影响。
进一步的,当业务策略不同时,上述步骤103的具体实现方式也不同,下面以以下两种情况为例进行介绍:
情况一:当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最大化时,上述步骤103的具体实现方式可以为:针对业务数据模型对应的资源限制模型,为不同金额范围分配对应的访问限制概率,且使金额范围与访问限制概率符合负相关关系。
具体的,在业务策略为使单位时间内业务方服务器处理的金额总量最大化的情况下,业务方服务器在对用户访问进行限流时,应该保留支付金额较大的用户访问,限制支付金额较小的用户访问。因此,为满足该业务策略,服务端在为金额范围分配访问限制概率时,可以使金额范围与访问限制概率符合负相关关系,即金额范围越大,访问限制概率越小。
在实际应用中,为不同金额范围分配对应的访问限制概率的具体实现方式可以为:接收预设置的访问限制概率;或者根据最大容量以及金额范围对应的并发访问量计算访问限制概率。
其中,根据最大容量以及金额范围对应的并发访问量计算访问限制概率的具体实现方式可以为:服务端先计算出并发访问总量与最大容量的差值,然后基于该差值依次从不同金额范围对应的并发访问量中抽取不同的值,且使金额范围与抽取的值满足负相关关系,最后基于不同金额范围对应的剩余并发访问量以及抽取值计算访问限制概率。
示例性的,若业务数据模型如表1所示,且业务方服务器的最大容量为250,则并发访问总量与最大容量的差值为180,此时需要从不同并发访问量中分别抽取不同的值,且抽取值之和为180。为使后续单位时间内业务方服务器处理的金额总量最大化,可以依次从0-10范围对应的并发访问量中抽取150,从11-100范围对应的并发访问量中抽取30,基于不同金额范围对应的剩余并发访问量以及抽取值计算访问限制概率,从而获得如表2所示的资源限制模型。
表2
业务数据范围 |
访问限制概率 |
0-10 |
100% |
11-100 |
37.5% |
100以上 |
0 |
情况二:当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最小化时,上述步骤103的具体实现方式可以为:针对业务数据模型对应的资源限制模型,为不同金额范围分配对应的访问限制概率,且使金额范围与访问限制概率符合正相关关系。
具体的,在业务策略为使单位时间内业务方服务器处理的金额总量最小化的情况下,业务方服务器在对用户访问进行限流时,应该保留支付金额较小的用户访问,限制支付金额较大的用户访问。因此,为满足该业务策略,服务端在为金额范围分配访问限制概率时,可以使金额范围与访问限制概率符合正相关关系,即金额范围中的金额越大,访问限制概率越大。
与上述情况一相类似的,本步骤中为不同金额范围分配对应的访问限制概率的具体实现方式也可以为:接收预设置的访问限制概率;或者根据最大容量以及金额范围对应的并发访问量计算访问限制概率。
进一步的,在实际应用中,多个单位时间内的并发访问总量往往相同,但相同业务数据范围对应的并发访问量往往不同,因此为了使得建立的资源限制模型能够更好的符合业务策略,在建立业务数据模型时,可以分别建立同一并发访问总量对应的不同业务数据模型,且不同业务数据模型中相同业务数据范围对应的并发访问量不同,从而获得同一并发访问总量对应的不同资源限制模型。
进一步的,依据图1所示的方法,本发明的另一个实施例还提供了一种数据处理的方法,该方法主要应用于业务方服务器侧,如图2所示,该方法主要包括:
201、接收服务端发送的根据业务方服务器的最大容量以及业务数据模型建立而成的、包括不同业务数据范围对应的访问限制概率的资源限制模型。
其中,业务数据模型包括不同业务数据范围对应的并发访问量;最大容量为业务方服务器能够并发处理用户访问的数量上限值,并发访问总量大于最大容量;访问限制概率根据最大容量设置获得,能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流。
在上述实施例中提及,不同的资源限制模型可以构成资源阶梯限制模型,因此,业务方服务器接收到的多个资源限制模型可以在资源阶梯限制模型中。
202、在接收下一单位时间内的用户访问之前,获取下一单位时间对应的历史参考时间的实际并发访问总量。
其中,由于相邻单位时间内用户并发访问业务方服务器的访问情况往往相同,在不同日期内的同一单位时间内用户并发访问业务方服务器的访问情况也往往相同,所以可以将下一单位时间对应的上一单位时间,或者下一单位时间对应的历史同一时间作为历史参考时间。也就是说,在获取下一单位时间对应的历史参考时间的实际并发访问总量时,可以获取下一单位时间对应的上一单位时间的实际并发访问总量,或者获取下一单位时间对应的历史同一时间的实际并发访问总量。
示例性的,若下一单位时间为2016年3月18日10:40:50,则业务方服务器可以获取2016年3月18日10:40:49的实际并发访问总量;也可以获取2016年3月17日10:40:50;也可以获取2015年3月18日10:40:50。
203、从接收到的资源限制模型中查找出与实际并发访问总量对应的资源限制模型,并基于查找到的资源限制模型对下一单位时间内接收到的用户访问进行限流操作。
由于资源限制模型与业务数据模型相对应,并发访问总量与业务数据模型相对应,所以并发访问总量与资源阶梯限制模型相对应。因此,当业务方服务器获得下一单位时间对应的历史参考时间的实际并发访问总量后,可以从接收到的资源限制模型(或者资源阶梯限制模型)中查找出与实际并发访问总量对应的资源限制模型,然后基于该资源限制模型对下一单位时间内接收到的用户访问进行限流操作。
本发明实施例提供的数据处理的方法,能够在业务方服务器接收到服务端发送的资源限制模型后,每次在接收下一单位时间内的用户访问之前,先获取该下一单位时间对应的历史参考时间的实际并发访问总量;然后从接收到的资源限制模型中查找出与该实际并发访问总量对应的资源限制模型,其中,资源限制模型包括不同业务数据范围对应的能够满足业务策略的访问限制概率;最后基于查找到的资源限制模型对该下一单位时间内接收到的用户访问进行限流操作。与现有技术中基于业务方服务器的最大容量按照用户访问顺序进行限流控制相比,本发明能够基于历史参考时间的实际并发访问总量查找匹配的资源限制模型,并根据资源限制模型中的访问限制概率分别对属于不同业务数据范围的下一单位时间内接收到的用户访问进行限流控制,从而使得限流结果满足业务策略需求,进而减少业务受损,降低业务影响。
进一步的,上述步骤202的具体实现方式可以为:业务方服务器先获取历史参考时间的不同业务数据范围对应的实际并发访问量,然后对不同业务数据范围对应的实际并发访问量进行求和,获得实际并发访问总量。
其中,不同业务数据范围对应的实际并发访问量是通过实际业务数据统计而来。实际业务数据为历史参考时间内单个用户向业务方服务器申请处理的数据。
进一步的,若实际并发访问总量对应多个资源限制模型,则在从接收到的资源限制模型中查找出与实际并发访问总量对应的资源限制模型之后,业务方服务器需要先从查找到的资源限制模型中查找出与各个实际并发访问量对应的资源限制模型,才能基于最终查找到的资源限制模型对用户访问进行限流操作。
进一步的,业务方服务器基于资源限制模型对下一单位时间内接收到的用户访问进行限流操作的具体实现方式可以为:将接收到的下一单位时间内的各个用户访问中携带的业务数据划分至对应的业务数据范围内;分别根据各个业务数据范围对应的访问限制概率对对应的业务数据进行限流操作。
其中,业务数据为单个用户向业务方服务器申请处理的数据。在根据访问限制概率对对应的业务数据进行限流操作时,业务方服务器可以先确定需要拦截的业务数据的目标数量,然后选取目标数量的业务数据进行拦截。其中,在选取目标数量的业务数据进行拦截时,可以从该访问限制概率对对应的所有业务数据中随机选取目标数量的业务数据进行拦截,也可以根据用户访问的顺序选取目标数量的业务数据进行拦截,也可以根据业务数据的大小顺序选取目标数量的业务数据进行拦截。
进一步的,本发明的另一个实施例还提供了一种数据处理的方法,该方法主要应用于服务端侧,如图3所示,该方法主要包括:
301、获取业务方服务器能够并发处理用户访问的最大容量以及不同业务数据范围对应的并发访问量。
其中,服务端获取业务方服务器的最大容量的具体实现方式可以为:通过对业务方服务器进行压测处理,获取业务方服务器的最大容量。不同业务数据范围对应的并发访问量主要根据历史业务数据获得,其中,业务数据为单个用户向业务方服务器申请处理的数据。
需要说明的是,本步骤获取的并发访问总量可能只有一组不同业务数据范围对应的并发访问量,也可能有多组不同业务数据范围对应的并发访问总量;当获取多组不同业务数据范围对应的并发访问量时,每组不同业务数据范围对应的并发访问量之和(并发访问总量)可能相同,也可能不同。
302、根据最大容量以及不同业务数据范围对应的并发访问量,确定不同业务数据范围对应的访问限制概率。
其中,访问限制概率能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流。
本步骤的具体实现方式可以为:服务端先计算出并发访问总量与最大容量的差值,然后基于该差值依次从不同业务数据范围对应的并发访问量中抽取不同的值,且使业务数据范围与抽取的值满足负相关关系(或者正相关关系),最后基于不同业务数据范围对应的剩余并发访问量以及抽取值计算访问限制概率。此外,服务端也可以直接接收人为设置的访问限制概率。
当存在多组不同业务数据范围对应的并发访问量时,服务端需要分别针对每组不同业务数据范围对应的并发访问量,计算该组中不同业务数据范围对应的访问限制概率。例如,当存在不同并发访问总量时,服务端需要针对不同的并发访问总量,分别根据最大容量以及当前并发访问总量下不同业务数据范围对应的并发访问量,确定当前并发访问总量下不同业务数据范围对应的访问限制概率。
303、建立包括业务数据范围与访问限制概率之间映射关系的资源限制表格。
其中,用于记录业务数据范围与访问限制概率之间映射关系的资源限制表格的具体表现形式可以如上述表1和表2所示的形式。
304、将资源限制表格发送给业务方服务器,以便业务方服务器根据资源限制表格进行限流操作。
具体的,当服务端获得各个业务方服务器对应的资源限制表格后,可以分别将各个资源限制表格发送给对应的业务方服务器,以便各个业务方服务器根据获得的资源限制表格对用户访问进行限流操作。
本发明实施例提供的数据处理的方法,能够在服务端获取业务方服务器的最大容量以及不同业务数据范围对应的并发访问量后,先确定不同业务数据范围对应的访问限制概率,然后建立包括业务数据范围与访问限制概率之间映射关系的资源限制表格,最后将资源限制表格发送给业务方服务器,从而使得业务方服务器能够根据资源限制表格进行限流操作。与现有的按照用户访问顺序进行限流控制的限流策略相比,本发明能够按照业务方的业务策略建立资源限制表格,从而当业务方服务器根据资源限制表格对用户访问进行限流操作时,能够使得限流结果满足业务方的需求,例如在单位时间内使得支付总额最大化,进而减少业务受损,降低业务影响。
进一步的,当业务策略不同时,确定不同业务数据范围对应的访问限制概率的具体实现方式不同,下面以以下两种情况为例进行介绍:
情况一:当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最大化时,确定不同业务数据范围对应的访问限制概率的具体实现方式为:根据最大容量以及不同金额范围对应的并发访问量,确定不同金额范围对应的访问限制概率,且使金额范围与访问限制概率符合负相关关系。
情况二:当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最小化时,确定不同业务数据范围对应的访问限制概率的具体实现方式为:根据最大容量以及不同金额范围对应的并发访问量,确定不同金额范围对应的访问限制概率,且使金额范围与访问限制概率符合正相关关系。
进一步的,依据图3所示的方法,本发明的另一个实施例还提供了一种数据处理的方法,该方法主要应用于业务方服务器侧,如图4所示,该方法主要包括:
401、接收服务端发送的包括业务数据范围与访问限制概率之间映射关系的资源限制表格。
其中,访问限制概率能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流。
402、根据预设选择规则,从接收到的资源限制表格中获取目标资源限制表格。
预设选择规则可以为:当接收到的资源限制表格为一个时,业务方服务器直接将该资源限制表格确定为目标资源限制表格;当接收到的资源限制表格为多个时,将下一单位时间的历史参考时间对应的资源限制表格确定为目标资源限制表格。其中,历史参考时间为下一单位时间对应的上一单位时间,或者下一单位时间对应的历史同一时间。
403、根据目标资源限制表格中的访问限制概率,对下一单位时间内接收到的、属于对应业务数据范围的用户访问进行限流操作。
本发明实施例提供的数据处理的方法,能够在业务方服务器接收到服务端发送的资源限制表格后,先根据预设选择规则,从接收到的资源限制表格中获取目标资源限制表格,然后根据该目标资源限制表格对下一单位时间接收到的用户访问进行限流操作。与现有技术中基于业务方服务器的最大容量按照用户访问顺序进行限流控制相比,本发明能够直接根据满足业务方策略需求的资源限制表格进行限流,从而减少业务受损,降低业务影响。
进一步的,上述步骤402中提及,当接收到的资源限制表格为多个时,将下一单位时间的历史参考时间对应的资源限制表格确定为目标资源限制表格,其具体实现方式可以为:在接收下一单位时间内的用户访问之前,获取下一单位时间对应的历史参考时间的实际并发访问总量,实际并发访问总量为不同业务数据范围对应的实际并发访问量之和;从接收到的资源限制表格中查找出与实际并发访问总量对应的资源限制表格;将查找到的资源限制表格确定为目标资源限制表格。
此外,实际并发访问总量对应多个资源限制表格时,业务方服务器还需要根据历史参考时间对应的不同业务数据范围的实际并发访问量,从查找到的与实际并发访问总量对应的资源限制表格中查找出与之匹配的资源限制表格,并将最后查找到的资源限制表格确定为目标资源限制表格。
进一步的,依据图1的方法,本发明的另一个实施例还提供了一种数据处理的装置,如图5所示,该装置主要包括:获取单元51、第一建立单元52、第二建立单元53以及发送单元54。其中,
获取单元51,获取业务方服务器能够并发处理用户访问的最大容量;
第一建立单元52,建立包括不同业务数据范围对应的并发访问量的业务数据模型;
第二建立单元53,根据获取单元51获取的最大容量以及第一建立单元建立的业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,访问限制概率根据最大容量设置获得,能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
发送单元54,将第二建立单元53建立的资源限制模型发送给业务方服务器,以便业务方服务器根据资源限制模型进行限流操作。
本发明实施例提供的数据处理的装置,能够在服务端获取业务方服务器的最大容量后,先建立业务数据模型,然后根据获得的最大容量以及业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,最后将建立的资源限制模型发送给业务方服务器,以便业务方服务器根据该资源限制模型对用户访问进行限流操作。与现有的按照用户访问顺序进行限流控制的限流策略相比,本发明能够按照业务方的业务策略建立资源限制模型,从而当业务方服务器根据资源限制模型对用户访问进行限流操作时,能够使得限流结果满足业务方的需求,例如在单位时间内使得支付总额最大化,进而减少业务受损,降低业务影响。
进一步的,第二建立单元53,当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最大化时,针对业务数据模型对应的资源限制模型,为不同金额范围分配对应的访问限制概率,且使金额范围与访问限制概率符合负相关关系。
进一步的,第二建立单元53,当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最小化时,针对业务数据模型对应的资源限制模型,为不同金额范围分配对应的访问限制概率,且使金额范围与访问限制概率符合正相关关系。
进一步的,如图6所示,第二建立单元53包括:
接收模块531,接收预设置的访问限制概率;
计算模块532,根据最大容量以及金额范围对应的并发访问量计算访问限制概率。
进一步的,第一建立单元52,分别建立同一并发访问总量对应的不同业务数据模型,且不同业务数据模型中相同业务数据范围对应的并发访问量不同,并发访问总量为不同业务数据范围对应的并发访问量之和。
进一步的,获取单元51,对业务方服务器进行压测处理,获得业务方服务器的最大容量。
进一步的,依据图2的方法,本发明的另一个实施例还提供了一种数据处理的装置,如图7所示,该装置主要包括:接收单元61、获取单元62、查找单元63以及限流单元64。其中,
接收单元61,接收服务端发送的根据业务方服务器的最大容量以及业务数据模型建立而成的、包括不同业务数据范围对应的访问限制概率的资源限制模型,所述最大容量为所述业务方服务器能够并发处理用户访问的最大容量,所述业务数据模型包括不同业务数据范围对应的并发访问量,所述访问限制概率根据所述最大容量设置获得,能够使得所述业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
获取单元62,在接收单元61接收下一单位时间内的用户访问之前,获取下一单位时间对应的历史参考时间的实际并发访问总量,实际并发访问总量为不同业务数据范围对应的实际并发访问量之和;
查找单元63,从接收到的资源限制模型中查找出与获取单元62获取的实际并发访问总量对应的资源限制模型;
限流单元64,基于查找单元63查找到的资源限制模型对下一单位时间内接收到的用户访问进行限流操作。
本发明实施例提供的数据处理的装置,能够在业务方服务器接收到服务端发送的资源限制模型后,每次在接收下一单位时间内的用户访问之前,先获取该下一单位时间对应的历史参考时间的实际并发访问总量;然后从接收到的资源限制模型中查找出与该实际并发访问总量对应的资源限制模型,其中,资源限制模型包括不同业务数据范围对应的能够满足业务策略的访问限制概率;最后基于查找到的资源限制模型对该下一单位时间内接收到的用户访问进行限流操作。与现有技术中基于业务方服务器的最大容量按照用户访问顺序进行限流控制相比,本发明能够基于历史参考时间的实际并发访问总量查找匹配的资源限制模型,并根据资源限制模型中的访问限制概率分别对属于不同业务数据范围的下一单位时间内接收到的用户访问进行限流控制,从而使得限流结果满足业务策略需求,进而减少业务受损,降低业务影响。
进一步的,如图8所示,获取单元62包括:
获取模块621,获取历史参考时间的不同业务数据范围对应的实际并发访问量;
计算模块622,对不同业务数据范围对应的实际并发访问量进行求和,获得实际并发访问总量。
进一步的,查找单元63,当实际并发访问总量对应多个资源限制模型时,在从接收到的资源限制模型中查找出与实际并发访问总量对应的资源限制模型之后,从查找到的资源限制模型中查找出与各个实际并发访问量对应的资源限制模型。
进一步的,如图8所示,限流单元64,包括:
划分模块641,将接收到的下一单位时间内的各个用户访问中携带的业务数据划分至对应的业务数据范围内,业务数据为单个用户向业务方服务器申请处理的数据;
限流模块642,分别根据各个业务数据范围对应的访问限制概率对对应的业务数据进行限流操作。
进一步的,如图8所示,获取单元62,获取下一单位时间对应的上一单位时间的实际并发访问总量,或者获取下一单位时间对应的历史同一时间的实际并发访问总量。
进一步的,依据图3所示的方法,本发明的另一个实施例还提供了一种数据处理的装置,如图9所示,该装置主要包括:获取单元71、确定单元72、建立单元73以及发送单元74。其中,
获取单元71,获取业务方服务器能够并发处理用户访问的最大容量以及不同业务数据范围对应的并发访问量;
确定单元72,根据获取单元71获取的最大容量以及不同业务数据范围对应的并发访问量,确定不同业务数据范围对应的访问限制概率,访问限制概率能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
建立单元73,建立包括业务数据范围与访问限制概率之间映射关系的资源限制表格;
发送单元74,将建立单元73建立的资源限制表格发送给业务方服务器,以便业务方服务器根据资源限制表格进行限流操作。
本发明实施例提供的数据处理的装置,能够在服务端获取业务方服务器的最大容量以及不同业务数据范围对应的并发访问量后,先确定不同业务数据范围对应的访问限制概率,然后建立包括业务数据范围与访问限制概率之间映射关系的资源限制表格,最后将资源限制表格发送给业务方服务器,从而使得业务方服务器能够根据资源限制表格进行限流操作。与现有的按照用户访问顺序进行限流控制的限流策略相比,本发明能够按照业务方的业务策略建立资源限制表格,从而当业务方服务器根据资源限制表格对用户访问进行限流操作时,能够使得限流结果满足业务方的需求,例如在单位时间内使得支付总额最大化,进而减少业务受损,降低业务影响。
进一步的,确定单元72,当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最大化时,根据最大容量以及不同金额范围对应的并发访问量,确定不同金额范围对应的访问限制概率,且使金额范围与访问限制概率符合负相关关系。
进一步的,确定单元72,当业务数据范围为支付金额范围,业务策略为使单位时间内业务方服务器处理的金额总量最小化时,根据最大容量以及不同金额范围对应的并发访问量,确定不同金额范围对应的访问限制概率,且使金额范围与访问限制概率符合正相关关系。
进一步的,确定单元72,针对不同的并发访问总量,分别根据最大容量以及当前并发访问总量下不同业务数据范围对应的并发访问量,确定当前并发访问总量下不同业务数据范围对应的访问限制概率,并发访问总量为不同业务数据范围对应的并发访问量之和。
进一步的,依据如图4所示的方法,本发明的另一个实施例还提供了一种数据处理的装置,如图10所示,该装置主要包括:接收单元81、获取单元82以及限流单元83。其中,
接收单元81,接收服务端发送的包括业务数据范围与访问限制概率之间映射关系的资源限制表格,访问限制概率能够使得业务方服务器按照业务方的业务策略对不同业务数据范围内的用户访问进行限流;
获取单元82,根据预设选择规则,从接收单元81接收到的资源限制表格中获取目标资源限制表格;
限流单元83,根据获取单元82获得的目标资源限制表格中的访问限制概率,对下一单位时间内接收到的、属于对应业务数据范围的用户访问进行限流操作。
本发明实施例提供的数据处理的装置,能够在业务方服务器接收到服务端发送的资源限制表格后,先根据预设选择规则,从接收到的资源限制表格中获取目标资源限制表格,然后根据该目标资源限制表格对下一单位时间接收到的用户访问进行限流操作。与现有技术中基于业务方服务器的最大容量按照用户访问顺序进行限流控制相比,本发明能够直接根据满足业务方策略需求的资源限制表格进行限流,从而减少业务受损,降低业务影响。
进一步的,如图11所示,获取单元82包括:
第一确定子单元821,当接收到的资源限制表格为一个时,将资源限制表格确定为目标资源限制表格;
第二确定子单元822,当接收到的资源限制表格为多个时,将下一单位时间的历史参考时间对应的资源限制表格确定为目标资源限制表格。
进一步的,如图11所示,第二确定子单元822包括:
获取模块8221,在接收下一单位时间内的用户访问之前,获取下一单位时间对应的历史参考时间的实际并发访问总量,实际并发访问总量为不同业务数据范围对应的实际并发访问量之和;
查找模块8222,从接收到的资源限制表格中查找出与实际并发访问总量对应的资源限制表格;
确定模块8223,将查找到的资源限制表格确定为目标资源限制表格。
进一步的,依据上述装置实施例,本发明的另一个实施例还提供了一种数据处理的系统,如图12所示,系统包括服务端91以及业务方服务器92;其中,服务端91包括如图5或图6所示的装置,业务方服务器92包括如7或图8所示的装置;
或者,服务端91包括如图9所示的装置,业务方服务器92包括如10或图11所示的装置。
本发明提供的数据处理的系统,能够在服务端获取业务方服务器的最大容量后,先建立业务数据模型,然后根据获得的最大容量以及业务数据模型,建立包括不同业务数据范围对应的访问限制概率的资源限制模型,最后将建立的资源限制模型发送给业务方服务器,以便业务方服务器根据该资源限制模型对用户访问进行限流操作。与现有的按照用户访问顺序进行限流控制的限流策略相比,本发明能够按照业务方的业务策略建立资源限制模型,从而当业务方服务器根据资源限制模型对用户访问进行限流操作时,能够使得限流结果满足业务方的需求,例如在单位时间内使得支付总额最大化,进而减少业务受损,降低业务影响。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法、装置及系统中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据处理的方法、装置及系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。