压测方法和系统与流程

文档序号:31466786发布日期:2022-09-09 21:40阅读:181来源:国知局
压测方法和系统与流程

1.本说明书涉及互联网技术领域,尤其涉及一种压测方法和系统。


背景技术:

2.随着业务的快速发展,计算机系统的压力问题也逐渐出现,在遇到流量突增的情况时,计算机系统的压力成倍增加甚至直接瘫痪。为了应对该问题,一般需要进行压力测试,简称压测,压测是指测试计算机系统在一定的负载下长时间运行的稳定性,以获取系统的最大承载能力。随后在遇到流量突增的情况时,工作人员就可以采取相应的应对措施,尽可能保证计算机系统的稳定运行。然而,未来的流量是未知的,实际上难以确定计算机系统在面对未来的峰值流量(即峰值时间的流量)时是否能够稳定运行。


技术实现要素:

3.本说明书提供的压测方法和系统,能够准确预测未来流量,并提前针对性的压测,以提前准备好机器资源,保证计算机系统在面对未来的峰值流量时能够稳定运行。
4.第一方面,本说明书提供一种压测方法,包括:预测所述多个用户中每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率,所述目标操作概率表示所述每个用户是否执行所述目标操作;基于所述每个用户的所述目标操作概率,确定所述目标页面在所述目标时刻接受的所述目标操作的预测聚合流量,所述预测聚合流量描述了执行所述目标操作的群体用户的数量;以及基于所述预测聚合流量的大小,为所述目标页面确定相应的压测方案并执行。
5.在一些实施例中,其中所述预测所述多个用户中每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率包括:对于所述多个用户中的每个用户:获取n个基模型中每个基模型输出的所述用户执行所述目标操作的子操作概率,得到与n个基模型一一对应的n个子操作概率,所述n为大于0的正整数;以及基于所述每个用户的n个子操作概率,预测所述每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率。
6.在一些实施例中,其中基于所述每个用户的n个子操作概率,预测所述每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率包括:对于所述每个用户,获取所述每个基模型的权重值,得到n个权重值;以及将所述每个用户的n个子操作概率与所述n个权重值进行加权平均处理,得到所述每个用户的所述目标操作概率。
7.在一些实施例中,其中基于所述每个用户的n个子操作概率,预测所述每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率包括:将所述每个用户的n个子操作概率输入时序模型;以及获取所述时序模型输出的所述每个用户的所述目标操作概率。
8.在一些实施例中,其中所述方法还包括:获取n个时间窗口的用户数据和所述n个时间窗口的所述目标页面的页面数据,所述用户数据包括用户特征数据和历史行为数据;为每个时间窗口分配一个基模型;以及将所述每个时间窗口中的每个用户数据和所述页面
数据输入相对应的基模型中进行训练,得到训练好的所述n个基模型。
9.在一些实施例中,其中所述n个时间窗口按照时间上由近及远的顺序排列。
10.在一些实施例中,其中所述n个时间窗口的时间长度相同。
11.在一些实施例中,其中所述n个时间窗口按照时长上由长到短的顺序排列,其中任意一个时间窗口的时间长度与相邻时间窗口的时间长度之差为第一预设时长。
12.在一些实施例中,其中所述基于所述预测聚合流量的大小,为所述目标页面确定相应的压测方案并执行包括:确定所述预测聚合流量大于所述目标页面所在系统的额定承载流量;以及基于所述预测聚合流量执行全链路压测。
13.在一些实施例中,其中所述基于所述预测聚合流量的大小,为所述目标页面确定相应的压测方案并执行包括:确定所述聚合流量小于所述目标页面所在系统的额定承载流量;以及不执行所述压测。
14.在一些实施例中,其中所述压测方案包括:为所述预测聚合流量分配目标资源,所述目标资源能够保证所述目标页面所在系统在所述预测聚合流量下正常工作。
15.在一些实施例中,其中所述多个用户为活跃用户池中的用户,所述活跃用户池是在第二预设时长内对所述目标页面执行所述目标操作的用户的集合。
16.第二方面,本说明书还提供一种压测系统,包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有至少一组指令集用于压测;所述至少一个处理器同所述至少一个存储介质通信连接,其中当所述压测系统运行时,所述至少一个处理器读取所述至少一个指令集并实施本说明书第一方面所述的压测方法。
17.由以上技术方案可知,本说明书提供的压测方法和系统,预测多个用户中每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率,目标操作概率表示每个用户是否执行目标操作,即预测单一用户是否在目标时刻(尤指峰值时刻)对目标页面执行目标操作的二分类结果,能够准确捕捉单一用户行为的特殊性。基于每个用户的目标操作概率确定目标页面在目标时刻接受目标操作的预测聚合流量,所述预测聚合流量描述了执行目标操作的群体用户的数量,即预测单一用户在目标时刻对qps是否有贡献,从而基于个体行为的特殊性预测群体行为,这样,基于用户粒度的流量预测结果准确性较高。基于预测聚合流量的大小为目标页面确定相应的压测方案并执行,也即是,能够准确预测未来流量,并提前基于预测聚合流量进行针对性压测,以提前准备好机器资源,保证计算机系统在面对未来的峰值流量时能够稳定运行。而且,自动基于预测聚合流量进行智能化压测,提高压测平台的压测能力的智能化转型,降低压测人员的干预。
18.而且,采用大量不同用户的用户数据和目标页面随时间变化的页面数据这些多外生变量训练得到基模型,进而通过基模型进行流量预测,即流量预测的过程中能够捕捉多外生变量的影响,同时能够捕捉单用户行为的特殊性,这样可以更好地适应外部环境变化对流量预测过程的干扰,大大提高流量预测的准确度。
19.本说明书提供的压测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的压测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
20.为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1示出了根据本说明书的一些实施例提供的一种压测方法与系统的系统架构图;
22.图2示出了根据本说明书的一些实施例提供的一种计算设备600的硬件结构图;
23.图3示出了根据本说明书的一些实施例提供的一种压测方法300的流程图;
24.图4示出了根据本说明书的一些实施例提供的一种用任意一个时间窗口的数据训练相对应的一个基模型的流程示意图;
25.图5示出了根据本说明书的一些实施例提供的一种压测方法的流程示意图;以及
26.图6示出了根据本说明书的一些实施例提供的一种对n个基模型的结果进行集成处理的示意图。
具体实施方式
27.以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
28.这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
29.考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
30.本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
31.在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
32.随着线上用户数量不断地增加,一些页面的访问量也不断增加。尤其在某些重要的时刻用户访问量会激增,比如“双十一”晚上零点的付款页面,会有上亿的用户访问量。再比如,基金在工作日每天的下午三点收盘,在收盘前的时刻也会有大量的用户访问支付宝
tm
中理财项目的基金页面。
33.页面的访问量也可以称之为该页面的流量,对于流量巨大的页面而言,需要防患于未然,即防止该页面所在的系统在未来的峰值时刻发生响应迟缓甚至瘫痪的情况。如果能够准确预测该页面在未来峰值时刻的流量,压测人员即可根据该预测的流量提前进行压测,为该预测的流量提前准备好机器资源,机器资源包括cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)、内存等等。
34.而本说明书的压测方法和系统中,采用基于用户粒度的流量预测方法,预测单一用户是否在目标时刻(尤指峰值时刻)对目标页面执行目标操作的二分类结果,即预测单一用户在目标时刻对qps是否有贡献,而不是直接预测目标时刻的一个总流量数值。这样,基于个体行为的特殊性预测群体行为,能够准确捕捉单一用户的行为特殊性且很好地捕捉多外生变量的影响,大大提高流量预测的准确率,而且基于用户视角的流量预测更精细地刻画了流量预测过程,同样提高了流量预测的准确率。从而,基于准确率较高的预测流量进行压测,更能保证计算机系统在面对峰值流量时的稳定运行,还提高了压测平台的压测能力的智能化转型。本说明书的压测方法和系统可以应用在任何需要进行压测的场景中,如果按应用页面的页面类型划分,本压测方法可应用于淘宝
tm
页面、基金页面、股市页面等网络页面;如果按照应用的业务划分,本压测方法可应用于企业内部业务和外部商业业务,外部的商业业务例如可以应用到云计算的压测服务中。
35.为了方便描述,本说明书对以下描述将会出现的术语进行解释:
36.全链路压测:基于实际的生产业务场景、系统环境,模拟海量的用户请求和数据对整个业务链进行压力测试,并持续调优的过程。
37.峰值流量:单位时间内最大流量的流量值(即峰值)。一个网站每天会有一定的时间段,在这个时间段内单位时间的访问量或者查询量最大。比如基金页面在一天的下午三点的流量最大,该下午三点的流量就称为一天内的峰值流量。峰值时间可以指峰值时刻,也可以指峰值时段。峰值时刻可用秒级计算,比如上述下午三点整之前的1秒内可称为峰时时刻。峰值时段比如是晚上的八点到十一点。
38.qps:英文queries per second,中文是每秒查询率,用于衡量流量大小的指标。
39.图1示出了根据本说明书的一些实施例提供的一种压测方法与系统的系统架构001的示意图。系统架构001(以下简称系统001)可以用于任意场景的压测,比如,淘宝
tm
付款的场景、基金入仓的场景,等等。如图1所示,系统001可以包括目标用户100、客户端200、服务器300以及网络400。
40.目标用户100可以是对客户端200上显示的目标页面执行目标操作的用户。
41.客户端200可以是能够接收目标用户100的目标操作的设备。比如,客户端200可以是台式电脑、平板电脑、手机、和/或智能移动终端等等设备。在一些实施例中,客户端200可以通过网络400与服务器300进行通信连接,接收或发送消息等,比如向服务器300发送针对所述目标页面的访问请求。在一些实施例中,客户端200可以安装有一个或多个软件和/或应用程序(app)。以app为例,所述app能够为目标用户100提供通过网络400同目标网站、目标软件或目标app的服务器300交互的能力以及界面。服务器300可以是运行有目标网站、目标软件或者目标app的服务器设备和/或客户端,也可以是同所述目标网站、目标软件或者目标app的服务器和/或客户端通信连接的第三方服务器。以目标网站、目标软件或者目标app的服务器为例,服务器300可以同多个客户端100通过网络400进行通信连接,并为客户
端200提供目标网站、目标软件或者目标app的目标页面,以便目标用户100可以在客户端200上对目标页面进行操作。
42.压测人员可以在服务器300的网站管理页面上登录服务器300的网站管理账号,通过该网站管理页面向服务器300发送压测指令,服务器300可以基于所述压测指令执行本技术后面公开的压测方法,并将压测结果发送到所述网站管理页面上。此时,服务器300可以存储有执行本说明书描述的压测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器300可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。
43.网络400用以在客户端200和服务器300之间提供通信连接的介质。网络400可以促进信息或数据的交换。如图1所示,客户端200和服务器300可以同网络400连接,并且通过网络400互相传输信息或数据。在一些实施例中,网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、大都市市区网(man)、广域网(wan)、公用电话交换网(pstn)、蓝牙网络、zigbee网络、近场通信(nfc)网络或类似网络。在一些实施例中,网络400可以包括一个或多个网络接入点。例如,网络400可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,客户端200和服务器300的一个或多个组件可以连接到网络400以交换数据或信息。
44.应该理解,图1中的客户端200、服务器300和网络400的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端200、服务器300和网络400。
45.图2示出了根据本说明书的一些实施例提供的一种计算设备600的硬件结构图,计算设备600可以是压测系统。计算设备600可以执行本说明书描述的压测方法。所述压测方法在本说明书中的其他部分介绍。当所述压测方法在客户端200上执行时,计算设备600可以是客户端200。当所述压测方法在服务器300上执行时,计算设备600可以是服务器300。当所述压测方法部分在客户端200上执行,部分在服务器300上执行时,计算设备600可以是客户端200和服务器300。
46.如图2所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括i/o组件660。
47.内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。
48.i/o组件660支持计算设备600和其他组件之间的输入/输出。
49.通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同网络400之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。
50.存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(rom)634或随机存取存储介质(ram)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的行程推荐的方法的程序、例程、对象、组件、数据结构、过程、模
块等等。
51.至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的行程推荐的方法。处理器620可以执行行程推荐的方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令集处理器(asip),中心处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。
52.图3示出了根据本说明书的一些实施例提供的一种压测方法300的流程图。如前所述,计算设备600可以用来执行本说明书所述的压测方法300。具体地,计算设备600的本地或者远程存储介质中可以存有用于执行压测方法300的指令集。处理器120可以读取存储在所述存储介质中的指令集,然后根据所述指令集的规定,执行本说明书所述的压测方法300。如图3所示,所述方法300可以包括:
53.s310:预测所述多个用户中每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率。
54.具体地,目标软件或者目标app会有多个注册用户。比如淘宝
tm
软件或者app可以拥有上亿注册用户。所述目标软件或者app可以通过客户端200的显示界面(比如屏幕)向该用户呈现所述目标页面。有些用户注册所述软件/app后可能从未使用过或者很少使用所述目标软件/app,因此根据所有注册用户得到的预测聚合流量并不准确,从而导致压测结果不准确。因此,处理器120可以选取活跃用户池中的用户,根据活跃用户池中的多个用户执行压测方法。所述活跃用户池中的用户集合可以是在一段时间(称为第二预设时长)内比较活跃的用户,即在一段时间(第二预设时长)内对所述目标页面执行过目标操作的用户,具体可以为在第二预设时长内的目标时刻对目标页面执行过目标操作(比如点击目标页面上的某链接等)的用户。其中,所述第二预设时长可以几年、几月、几周或者几天,例如,活跃用户池中的用户集合是近一年内比较活跃的用户。其中,所述目标页面可以是任意一张显示在电子屏幕上的页面。比如,淘宝
tm
软件/app上的付款页面、直播间页面,支付宝
tm
软件/app中的理财项目的基金页面,支付宝
tm
中的健康码页面等等。
55.因此,通过上述注册用户的数据,处理器120可以预测所述活跃用户池中的活跃用户中每个单一用户执行所述目标操作的概率,从而捕获到单一用户行为的特殊性。所述单一用户的目标操作概率表示这个用户是否在未来的目标时刻对目标页面执行目标操作,因此,本说明书提供的压测方法中首先解决的是一种基于用户级别粒度的单一用户是否在目
标时刻对目标页面执行目标操作的二分类问题。其中,所述目标操作概率可以为[0,1]闭合区间内的任意数值。
[0056]
需要说明的是,所述目标时刻可以是预设的未来某时刻,也可以是未来的任意时刻。然而压测是为了测试计算机系统的压力,因此本技术关心的是计算机系统能承受的最大压力。而一般来说流量最大的时刻计算机系统的压力也最大,因此,所述目标时刻可以是峰值时刻。具体地,所述目标时刻可以是所述目标页面在一定时间段内的峰值时刻。比如,对于基金页面而言,工作日的下午三点为其峰值时刻;对于淘宝
tm
的付款页面而言,每天晚上的十二点为其峰值时刻;对于健康码页面而言,工作日早上八点为其峰值时刻。在一些实施例中,处理器120可以将目标时刻替换为目标时段,即处理器120预测所述每个用户在未来的目标时段内对目标页面执行目标操作的目标操作概率。所述目标时段可以为峰值时段,比如,对于淘宝
tm
的直播间页面而言,目标时段为每天晚上七点到十一点。其中,用户对目标页面的目标操作可以是任意一种预设的人机交互的操作,比如用户登录目标软件/app时目标页面的展示所引发的用户对目标页面的浏览(impression)、用户对目标页面上目标链接点击操作(click)、以及对目标页面所呈现内容/链接的转化操作(conversion)等。其中,用户对目标页面的转换操作例如可以是注册所述目标页面、订阅、收藏、关注、或者购买了目标页面推荐的链接中的产品等。
[0057]
为了确定对单一用户执行目标操作的概率,具体地,处理器120可以先获取n个时间窗口下上述多个用户在目标页面的目标操作的数据。其中n为大于0的自然数,比如n可以为大于1的自然数(2,3,4,
……
100等等)。每个时间窗口的数据包括用户数据和页面数据。处理器120可以获取n个基模型,并为n个时间窗口数据中的每个时间窗口数据分配一个基模型,也就是所述n个基模型一一对应于n个时间窗口,每个基模型都对应于一个不同的时间窗口。然后,处理器120可以用每个时间窗口中的数据训练对应的基模型,将每个时间窗口的数据输入相对应的基模型中进行训练,进而得到n个训练好的基模型。在基模型训练好之后,处理器120可以采用所述训练好的n个基模型预测每个用户的目标操作概率。具体地,对于单一用户,处理器120可以将该用户的用户数据中的标识数据分别输入所述n个基模型。每个基模型分别对该用户执行该目标操作的概率进行判断,获得一个子操作概率。据此,处理器120便可以获取所述n个基模型输出的该用户的n个子操作概率,然后对所述n个子操作概率进行集成处理(也即是综合评估所述n个子操作概率),进而得到该用户的目标操作概率。其中,所述n为大于0的正整数。由于所述目标操作概率表示每个用户是否执行所述目标操作的二分类结果,所以也可以将基模型称为基二分类模型,所述基模型可以是逻辑回归模型、树模型(如xgboost、catboost、lightgbm)、深度学习模型(如cnn模型、rnn模型、图神经网络模型)等。
[0058]
需要说明的是,所述n个时间窗口具有时间顺序,相应地,用具有时间顺序的n个时间窗口一一训练所述n个基模型后,所述n个基模型也具有时间顺序。所述n个时间窗口可以按照时间上由近及远的顺序排列,假设用t表示预测聚合流量对应的时间,则从t-1到t-n共有n个时间窗口,t-1为这n个时间窗口中在时间上距离t最近的时间窗口,t-n为这n个时间窗口中在时间上距离t最远的时间窗口。所述n个时间窗口可以为n个时段。该时段可以是一个时刻、若干小时、一天、或者若干天等等。比如,在一天的例子中,当前时刻为今天的晚上六点,目标时刻为明天下午三点,要预测明天下午三点的预测聚合流量,则t表示明天,t-1
absolute percentage error,mape)小于预设值,当然也可以使用其他的评价指标评价预测值和真实标签值之间的误差,比如均方误差(mean square error,mse)、平均绝对误差(mean absolute error,mae)等,本说明书实施例对此不作限定。
[0062]
需要说明的是,每个时间窗口的数据包括页面数据和大量不同用户的用户数据,所述用户数据包括用户特征数据和历史行为数据。图5示出了根据本说明书的一些实施例提供的一种压测方法的流程示意图,如图5所示,处理器120可以通过历史流量和数据采集单元来采集用户数据和页面数据,关于未来流量计算单元、压测逻辑判断单元和全链路压测单元的内容在后文中具体介绍。需要说明的是,图5中的历史流量和数据采集单元、未来流量计算单元、压测逻辑判断单元以及全链路压测单元可以是存储在所述存储介质130中的一个或者多个执行对应指令的指令集,并且由处理器120来执行。当然,这几个单元也可以是压测系统中的一部分电路、硬件设备或者模组,本说明书将以处理器120读取并执行存储在存储介质130中的指令集为例对这几个单元进行说明。
[0063]
所述用户特征数据包括用户的上述标识数据和用户的一些基本信息,比如姓名、性别、年龄等信息。所述历史行为数据为用户在历史时间对网络页面执行目标操作的相关数据,比如,用户访问过哪些页面、访问页面的时间、访问页面的次数、访问页面的频率等等。所述标识数据用于区分不同的用户,处理器120可以为每个用户分配一个唯一的标识数据。其中,网络页面包括目标页面和与目标页面关联度较大的相关页面。所述相关页面与所述目标页面可以为同一目标软件/app中的不同页面,也可以为不同目标软件/app中的页面。比如,所述目标页面为淘宝
tm
软件/app中的付款页面,所述相关页面可以为除淘宝
tm
软件/app之外的其他购物软件/app中的页面,也可以为淘宝
tm
软件/app中的购物车页面。再比如,所述目标页面为支付宝
tm
软件/app中的基金页面,所述相关页面可以为除支付宝
tm
软件/app之外的其他理财软件/app中的页面,也可以为支付宝
tm
软件/app中的理财产品页面。
[0064]
所述页面数据为所述目标页面的相关数据,比如目标页面的历史流量数据、目标页面显示的数据等。所述目标页面可能包括一个或多个选项卡,所述目标页面包括一个选项卡时,所述页面数据可以包括该页面的所有或部分数据。比如,淘宝
tm
的付款页面中只有一个选项卡,该选项卡对应的页面中包括店铺优惠、订单备注、商品总价等数据,则页面数据可以包括店铺优惠、订单备注、商品总价,也可以只包括店铺优惠和商品总价。所述目标页面包括多个选项卡时,所述页面数据可以包括所有选项卡对应的页面的所有或部分数据。比如,支付宝
tm
的基金页面包括“基金市场”、“自选”和“持有”三个选项卡,“基金市场”选项卡对应的页面中包括基金排行、指数基金、基金财富号等数据,“持有”选项卡对应的页面中包括用户购买的基金的涨跌数据、收益率数据等,则页面数据可以包括这三个选项卡中的所有数据,也可以包括基金排行和用户购买的基金数据。对于基金而言,用户是否访问基金页面可能会受整个市场行情的影响,因此,处理器120也可以获取基金的市场行情数据对基模型进行训练,比如大盘的涨跌、收益率、上证指数等数据。
[0065]
可见,本说明书的压测方法采用页面数据和大量不同用户的用户数据训练得到基模型,并采用基模型预测流量以及压测,能够捕捉到多外生变量的影响,这样可以更好地适应外部环境变化对流量预测过程的干扰,大大提高流量预测的准确度,进而提高压测的准确性。
[0066]
处理器120获取到n个基模型输出的对每个用户执行目标操作的n个子操作概率
后,可以对所述n个子操作概率进行集成处理,以得到每个用户的目标操作概率,根据目标操作概率确定每个用户最终是否会在目标时刻对目标页面执行目标操作。具体地,处理器120可以采用多种集成方式对所述n个子操作概率进行集成处理。在一些实施例中,处理器120可以采取软投票的方式对所述n个子操作概率进行集成处理,具体地,处理器120可以获取每个基模型的权重值,得到n个权重值,对于每个用户,处理器120将该用户的n个子操作概率与所述n个权重值进行加权平均处理,即,将该用户的n个子操作概率分别与所述n个权重值一一对应相乘,得到n个相乘结果,将所述n个相乘结果相加之后除以n,得到该用户的目标操作概率。如前所述,所述n个基模型具有一定的时间顺序,为了提高预测的准确性,所述n个基模型的权重值可以不同,距离目标时刻越近的基模型的权重值越大,距离目标时刻越远的基模型的权重值越小。处理器120根据时间因素为基模型分配权重值时,也可以考虑其他因素,比如,通过历史峰值时刻所在的时间窗口内的数据训练的基模型对应的权重值可以较大等,本说明书实施例对如何为基模型分配权重值不作限定。在一些实施例中,处理器120也可以通过时序模型对所述n个子操作概率进行处理后得到目标操作概率,具体地,将每个用户的n个子操作概率输入时序模型,以及获取所述时序模型输出的所述每个用户的目标操作概率。其中,所述时序模型可以为rnn、lstm、gru等。
[0067]
在一些实施例中,处理器120可以采取硬投票的方式对所述n个子操作概率进行集成处理,得到每个目标操作概率,根据目标操作概率确定每个用户最终是否会在目标时刻对目标页面执行目标操作。n也可以为偶数。但为了有效通过得到目标操作概率,所述n一般选为奇数。具体地,处理器120可以获取预设概率值,确定所述n个子操作概率中每个子操作概率是否大于所述预设概率值,大于所述预设概率值的子操作概率可以表示对应的用户目标时刻会对目标页面执行目标操作,小于所述预设概率值的子操作概率可以表示对应的用户目标时刻不会对目标页面执行目标操作。处理器120可以统计大于所述预设概率值的子操作概率的第一数量和小于所述预设概率值的子操作概率的第二数量。在“绝对多数投票”机制下每个基模型输出的子操作概率值是否大于预设概率值,都算1票。如果第一数量大于第二数量,(表示预测发生目标操作的投票数大于预测不发生目标操作的投票数),则确定目标操作概率为1,表示对应的用户在目标时刻会对目标页面执行目标操作。如果第一数量小于第二数量(表示预测发生目标操作的投票数小于预测不发生目标操作的投票数),则确定目标操作概率为0,表示对应的用户在目标时刻会不对目标页面执行目标操作。此外,还可以对每个基模型的投票乘以一个权重来表示投票数量。比如离目标时刻越近的时间窗口权重更高,表示其投票票数更高;离目标时刻越远的时间窗口其权重越小,表示投票的票数越少。这是因为越是离目标时刻近的统计数字越能代表目标时刻目标操作是否发生。这样如果加了权重后表示预测发生目标操作的投票数大于预测不发生目标操作的投票数,则确定目标操作概率为1;表示预测发生目标操作的投票数小于预测不发生目标操作的投票数,则确定目标操作概率为0。图6示出了根据本说明书的一些实施例提供的一种对n个基模型的结果进行集成处理的示意图。如图6所示,以基金的应用场景为例,空心圆圈代表在尾盘峰值时间点击目标页面的客户,加斜杠圆圈代表在尾盘峰值时间未点击目标页面的客户。对于任一客户a,t-1的时间窗口对应的基模型输出的子操作概率表明客户a会点击目标页面,t-i的时间窗口对应的基模型输出的子操作概率表明客户a会点击目标页面,t-i为从t-1到t-n的任意一个时间窗口,t-n的时间窗口对应的基模型输出的子操作概率表明客户a会
点击目标页面,将这n个基模型的结果集成后,预测客户a在t时间的尾盘峰值时刻会点击目标页面。同样地,对于任一客户b,将n个基模型的结果集成后,预测客户b在t时间的尾盘峰值时刻不会点击目标页面。
[0068]
处理器120在预测每个用户的目标操作概率后,继续执行方法300的以下步骤。
[0069]
s320:基于所述每个用户的所述目标操作概率,确定所述目标页面在所述目标时刻接受的所述目标操作的预测聚合流量。
[0070]
由于所述目标操作概率表示所述每个用户是否执行所述目标操作,因此,处理器120可以预测哪些用户在目标时刻会对目标页面执行目标操作,哪些用户在目标时刻对目标页面不会执行目标操作。具体地,处理器120预测到单一用户的目标操作概率后,可以将所述目标操作概率与预设阈值比较大小,如果所述目标操作概率大于所述预设阈值,则处理器120确定该单一用户在所述目标时刻会对所述目标页面执行所述目标操作;如果所述目标操作概率小于所述预设阈值,则处理器120确定该单一用户在所述目标时刻不对所述目标页面执行所述目标操作。然后处理器120可以将预测到会执行目标操作的群体用户进行聚合。比如,处理器120可以统计所述群体用户中在目标时刻会进行目标操作的用户的数量,也就预测到了所述目标页面在目标时刻接收目标操作的预测聚合流量。
[0071]
参见图5,处理器120具体可以通过未来流量计算单元确定预测聚合流量。可见,处理器120可以预测哪些用户会在目标时刻对qps有贡献,哪些用户会在目标时刻对qps没有贡献,即预测单一用户在目标时刻对qps是否有贡献,而不是直接预测目标时刻的一个总流量数值。这样,处理器120可以基于个体行为的特殊性来预测群体行为,能够准确捕捉单一用户的行为特殊性且很好地捕捉多外生变量的影响,大大提高流量预测的准确率,而且基于用户视角的流量预测更精细地刻画了流量预测过程,同样提高了流量预测的准确率。
[0072]
处理器120在确定预测聚合流量后,所述方法300还可以包括:
[0073]
s330:基于所述预测聚合流量的大小,为所述目标页面确定相应的压测方案并执行。
[0074]
处理器120确定目标页面在目标时刻的预测聚合流量后,可以将预测聚合流量与目标页面所在系统的额定承载流量进行比较,判断是否需要执行全链路压测,从而为目标页面确定相应的压测方案。参见图5,处理器120具体可以通过压测逻辑判断单元判断是否需要执行全链路压测量。所述目标页面所在的系统可以为用于服务所述目标页面的计算机系统,该计算机系统可以包括用于显示所述目标页面的客户端、安装客户端的终端、给所述终端提供服务的服务器等,目标页面所在系统的额定承载流量是指所述系统长时间正常工作时的最佳流量。
[0075]
在一些实施例中,参见图5,如果处理器120确定所述预测聚合流量大于所述额定承载流量,说明所述目标页面在未来的目标时刻很可能会面对更大的流量压力,以目前的额定承载流量可能无法支撑所述预测聚合流量,因此,处理器120为所述目标页面确定的压测方案为:提前基于所述预测聚合流量执行全链路压测。具体地,处理器120可以通过全链路压测单元执行全链路压测。处理器120可以将所述额定承载流量修改为所述预测聚合流量,并启动压测程序,检测目标页面所在系统是否能够支撑的住所述预测聚合流量,即检测目标页面所在系统在所述预测聚合流量下是否还能正常工作。处理器120如果检测到目标页面所在系统在所述预测聚合流量下无法正常工作,则可以自动为所述预测聚合流量分配
目标资源,所述目标资源能够保证所述目标页面所在系统在预测聚合流量下正常工作。比如,目标资源为内存。处理器120将原来的1g内存增加到1.5g的内存,1.5g的内存能保证所述目标页面所在系统在预测聚合流量下正常工作。需要说明的是,处理器120为所述目标页面确定的压测方案还可以为:提前基于所述预测聚合流量执行单系统压测,单系统压测是指对目标页面所在系统中的任意一个子系统进行压测,本说明书实施例对此不做限定。
[0076]
在一些实施例中,参见图5,如果处理器120确定所述预测聚合流量小于所述额定承载流量,说明所述目标页面在未来的目标时刻很可能不会面对更大的流量压力,以目前的额定承载流量能够支撑所述预测聚合流量,因此,处理器120为所述目标页面确定的压测方案为:不执行所述压测。在一些实施例中,如果处理器120确定所述预测聚合流量小于所述额定承载流量,为了避免资源浪费,也可以执行压测,以自动将资源调整为与所述预测聚合流量匹配的资源,本说明书实施例对此不作限定。
[0077]
处理器120如果基于所述预测聚合流量的大小执行压测后,可以生成压测报告,压测报告中可以记载所述目标资源的情况、目标页面所在系统的压力随着资源的变化而变化的压力图等。
[0078]
综上所述,本说明书提供的压测方法和系统,预测多个用户中每个用户在未来的目标时刻对目标页面执行目标操作的目标操作概率,目标操作概率表示每个用户是否执行目标操作,即预测单一用户是否在目标时刻(尤指峰值时刻)对目标页面执行目标操作的二分类结果,能够准确捕捉单一用户行为的特殊性。基于每个用户的目标操作概率确定目标页面在目标时刻接受目标操作的预测聚合流量,所述预测聚合流量描述了执行目标操作的群体用户的数量,即预测单一用户在目标时刻对qps是否有贡献,从而基于个体行为的特殊性预测群体行为,这样,基于用户粒度的流量预测结果准确性较高。基于预测聚合流量的大小为目标页面确定相应的压测方案并执行,也即是,能够准确预测未来流量,并提前基于预测聚合流量进行针对性压测,以提前准备好机器资源,保证计算机系统在面对未来的峰值流量时能够稳定运行。而且,自动基于预测聚合流量进行智能化压测,提高压测平台的压测能力的智能化转型,降低压测人员的干预。
[0079]
而且,采用大量不同用户的用户数据和目标页面随时间变化的页面数据这些多外生变量训练得到基模型,进而通过基模型进行流量预测,即流量预测的过程中能够捕捉多外生变量的影响,同时能够捕捉单用户行为的特殊性,这样可以更好地适应外部环境变化对流量预测过程的干扰,大大提高流量预测的准确度。
[0080]
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行数据处理的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的压测方法300的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在压测系统上运行时,所述程序代码用于使压测系统执行本说明书描述的压测方法300的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)包括程序代码,并可以在压测系统上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装
置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在压测系统上执行、部分地在压测系统上执行、作为一个独立的软件/app包执行、部分在压测系统上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
[0081]
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
[0082]
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
[0083]
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
[0084]
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
[0085]
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件
相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
[0086]
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1