瞬时流量智能消除峰值方法、装置、设备及其存储介质与流程
未命名
07-27
阅读:95
评论:0
1.本技术涉及过程优化技术领域,尤其涉及一种瞬时流量智能消除峰值方法、装置、设备及其存储介质。
背景技术:
2.在常见的秒杀系统的流量监控图中,会发现它是一条直线,就在秒杀开始的那一秒是一条很直很直的直线,这时因为秒杀请求在时间上高度集中于某一个特定的时间点。这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。对于秒杀这个场景来说,最终能够抢购到商品的人数是固定的。也就是说,一百个人和1万个人发起请求的结果都是一样的,最后都只会有100个人买到秒杀的商品。这就意味着,并发量越高,最终的无效请求也就越多。但是对于业务来说,秒杀活动本身是一种商业推广行为,肯定是希望有更多的人参与进来的。无效的请求越多,也就表示这商业推广越成功。只是在秒杀开始的时候,这些大量的秒杀请求就会给承载秒杀的服务器带来沉重的负担,容易造成处理器宕机。
3.当前市面上主要的峰值消除算法有三类,一是通过队列来缓冲请求,即控制请求的发出。二是通过答题来延长请求发出的时间,在请求发出后承接请求时进行控制,最后再对不符合条件的请求进行过滤。三是对请求进行分层过滤,一层一层过滤掉无效请求,使最后到达的有效请求少。但是,这些解决方案都是事发后处理,而无法在秒杀的事发点做到请求处理。因此,现有技术在进行瞬时流量消峰处理时,还存在不够科学的问题。
技术实现要素:
4.本技术实施例的目的在于提出一种瞬时流量智能消除峰值方法、装置、设备及其存储介质,以解决现有技术在进行瞬时流量消峰处理时,还存在不够科学的问题。
5.为了解决上述技术问题,本技术实施例提供一种瞬时流量智能消除峰值方法,采用了如下所述的技术方案:
6.一种瞬时流量智能消除峰值方法,包括下述步骤:
7.根据预设的目标注解,前置目标秒杀活动的秒杀接口;
8.基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;
9.通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;
10.通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;
11.根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;
12.若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;
13.若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。
14.进一步的,在执行所述根据预设的目标注解,前置目标秒杀活动的秒杀接口的步骤之前,所述方法还包括:
15.获取预先构建的声明式事物管理注解作为目标注解,其中,声明式事物管理注解用于引入基于代理模式的aop编程思想以补充oop编程思想的应用场景和实现spring aop下的前置通知;
16.获取目标秒杀活动的秒杀接口地址;
17.所述根据预设的目标注解,前置目标秒杀活动的秒杀接口的步骤,具体包括:
18.根据所述目标秒杀活动的秒杀接口地址重写对应的接口调用方法,获得重写后的接口调用方法;
19.为重写后的接口调用方法配置所述目标注解。
20.进一步的,所述基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果的步骤,具体包括:
21.根据预设的秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时分别对应的秒杀用户的区别标识;
22.根据所有秒杀用户的区别标识和所述目标秒杀活动的所有秒杀接口地址,确定所有秒杀用户所对应的秒杀接口。
23.进一步的,在执行所述通过所述解析结果,识别所有秒杀用户所对应的秒杀接口的步骤之后,所述方法还包括:
24.根据所述秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时,所有秒杀用户的秒杀点击时间;
25.根据所述所有秒杀用户的秒杀点击时间和预设的秒杀有效时间段,筛除掉所有秒杀用户中不满足秒杀有效时间段的秒杀用户,保留有效秒杀用户。
26.进一步的,在执行所述通过统计每个秒杀接口对应的秒杀用户的数量,获取所述每个秒杀接口的预测流量的步骤之前,所述方法还包括:
27.根据预设的前置过滤条件,筛除掉所有秒杀用户中不满足前置过滤条件的秒杀用户,保留有效秒杀用户,其中,前置过滤条件包括是否具有秒杀资格、秒杀对象状态是否正常、秒杀等价物是否充足、秒杀用户的点击指令是否为非法请求。
28.进一步的,所述通过统计每个秒杀接口对应的秒杀用户的数量,获取所述每个秒杀接口的预测流量的步骤,具体包括:
29.获取每个秒杀接口对应的所有有效秒杀用户的区别标识;
30.根据预设的统计算法,分别统计每个秒杀接口对应的所述有效秒杀用户的区别标识的数量;
31.获取所述每个秒杀接口对应的所述有效秒杀用户的区别标识的数量,并将所述有效秒杀用户的区别标识的数量设置为所述每个秒杀接口的预测流量。
32.进一步的,所述对所述目标秒杀接口的预测流量进行切分处理的步骤,具体包括:
33.根据预设的时间间隔阈值和所述秒杀有效时间段,切分处理所述秒杀有效时间段,获取若干个不同的秒杀有效时间段切片;
34.获取每个秒杀接口对应的所有有效秒杀用户的秒杀点击时间;
35.根据预设的统计算法和所述秒杀点击时间,统计所述若干个不同的秒杀有效时间
段切片下每个秒杀接口分别对应的有效秒杀用户的数量。
36.进一步的,在执行所述根据预设的统计算法和所述秒杀点击时间,统计所述若干个不同的秒杀有效时间段切片下每个秒杀接口分别对应的有效秒杀用户的数量的步骤过程中,所述方法还包括:
37.通过调整所述时间间隔阈值,对所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量进行动态调整;
38.直到所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量都小于所述流量峰值,则停止动态调整。
39.进一步的,所述根据切分处理结果和预设的处理规则,控制处理所述预测流量的步骤,具体包括:
40.获取动态调整完成的任一秒杀有效时间段切片下的预测流量,并发送到秒杀结果处理组件进行正常处理;
41.获取动态调整完成的其他秒杀有效时间段切片下的预测流量,并发送到预设的缓存容器内等待秒杀结果处理组件进行处理。
42.为了解决上述技术问题,本技术实施例还提供一种瞬时流量智能消除峰值装置,采用了如下所述的技术方案:
43.一种瞬时流量智能消除峰值装置,包括:
44.秒杀接口前置模块,用于根据预设的目标注解,前置目标秒杀活动的秒杀接口;
45.点击指令解析模块,用于基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;
46.秒杀接口识别模块,用于通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;
47.流量预测模块,用于通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;
48.对比识别模块,用于根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;
49.第一处理模块,用于若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;
50.第二处理模块,用于若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。
51.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
52.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的瞬时流量智能消除峰值方法的步骤。
53.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
54.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,
所述计算机可读指令被处理器执行时实现如上述所述的瞬时流量智能消除峰值方法的步骤。
55.与现有技术相比,本技术实施例主要有以下有益效果:
56.本技术实施例所述瞬时流量智能消除峰值方法,根据预设的目标注解,前置目标秒杀活动的秒杀接口,其中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
附图说明
57.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本技术可以应用于其中的示例性系统架构图;
59.图2根据本技术的瞬时流量智能消除峰值方法的一个实施例的流程图;
60.图3根据本技术的瞬时流量智能消除峰值装置的一个实施例的结构示意图;
61.图4根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
62.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
63.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
64.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实
施例中的技术方案进行清楚、完整地描述。
65.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
66.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
67.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture expertsgroup audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving pictureexperts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
68.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
69.需要说明的是,本技术实施例所提供的瞬时流量智能消除峰值方法一般由服务器/终端设备执行,相应地,瞬时流量智能消除峰值装置一般设置于服务器/终端设备中。
70.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
71.为了便于理解,首先介绍一下aop(aspect-oriented programming,面向方面编程),可以说是oop(object-oriented programing,面向对象编程)的补充和完善。oop引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,oop则显得无能为力。例如:秒杀活动,就是为多个分散的对象提供公共行为。而spring aop经常以注解形式提供编程支持。本技术正是考虑引入spring aop注解和引入aop编程思想,对瞬时流量峰值消除过程进行优化。通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,其中,秒杀点击时间早于前置通知时间,前置通知时间早于正常秒杀处理时间。
72.继续参考图2,示出了根据本技术的瞬时流量智能消除峰值方法的一个实施例的流程图。所述的瞬时流量智能消除峰值方法,包括以下步骤:
73.步骤201,根据预设的目标注解,前置目标秒杀活动的秒杀接口。
74.本实施例中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内。
75.通过根据预设的目标注解,前置目标秒杀活动的秒杀接口,使得在获取到瞬时流量时,能选择性的将瞬时流量传输到缓存容器内,而不直接传输的秒杀结果处理组件内,避免了瞬时流量超出流量峰值,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。通过在秒杀行为发出的一瞬间,即通过spring aop前置通知的方式,在正式的进行秒杀处理前,即通过前置通知的方式进行瞬时流量预测和处理,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化。
76.本实施例中,在执行所述根据预设的目标注解,前置目标秒杀活动的秒杀接口的步骤之前,所述方法还包括:获取预先构建的声明式事物管理注解作为目标注解,其中,声明式事物管理注解用于引入基于代理模式的aop编程思想以补充oop编程思想的应用场景和实现spring aop下的前置通知;获取目标秒杀活动的秒杀接口地址。
77.通过引入spring aop注解,引入aop编程思想以补充oop编程思想的秒杀应用场景,为多个分散的秒杀用户提供秒杀业务支持。
78.本实施例中,所述根据预设的目标注解,前置目标秒杀活动的秒杀接口的步骤,具体包括:根据所述目标秒杀活动的秒杀接口地址重写对应的接口调用方法,获得重写后的接口调用方法;为重写后的接口调用方法配置所述目标注解。
79.通过重写所述目标秒杀活动的秒杀接口对应的调用方法,并为其分配目标注解,从而引入spring aop注解,引入aop编程思想以补充oop编程思想的秒杀应用场景,为多个分散的秒杀用户提供秒杀业务支持。
80.步骤202,基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果。
81.本实施例中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间。
82.本实施例中,所述基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果的步骤,具体包括:根据预设的秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时分别对应的秒杀用户的区别标识;根据所有秒杀用户的区别标识和所述目标秒杀活动的所有秒杀接口地址,确定所有秒杀用户所对应的秒杀接口。
83.通过秒杀用户的区别标识,从而确定出所有秒杀用户分别所对应的秒杀接口,便于程序后期统计每个秒杀接口对应的瞬时流量。
84.步骤203,通过所述解析结果,识别所有秒杀用户所对应的秒杀接口。
85.本实施例中,在执行所述通过所述解析结果,识别所有秒杀用户所对应的秒杀接口的步骤之后,所述方法还包括:根据所述秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时,所有秒杀用户的秒杀点击时间;根据所述所有秒杀用户的秒杀点击时间和预设的秒杀有效时间段,筛除掉所有秒杀用户中不满足秒杀有效时间段的秒杀用户,保留有效秒杀用户。
86.通过秒杀有效时间段,过滤掉所有秒杀用户因秒杀时间而无效的秒杀用户,进一步的减少了瞬时流量。
87.步骤204,通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量。
88.本实施例中,在执行所述通过统计每个秒杀接口对应的秒杀用户的数量,获取所述每个秒杀接口的预测流量的步骤之前,所述方法还包括:根据预设的前置过滤条件,筛除掉所有秒杀用户中不满足前置过滤条件的秒杀用户,保留有效秒杀用户。
89.通过所述前置过滤条件,过滤掉所有秒杀用户因前置过滤条件而无效的秒杀用户,再进一步的减少了瞬时流量。
90.本实施例中,前置过滤条件包括是否具有秒杀资格、秒杀对象状态是否正常、秒杀
等价物是否充足、秒杀用户的点击指令是否为非法请求。
91.本实施例中,所述通过统计每个秒杀接口对应的秒杀用户的数量,获取所述每个秒杀接口的预测流量的步骤,具体包括:获取每个秒杀接口对应的所有有效秒杀用户的区别标识;根据预设的统计算法,分别统计每个秒杀接口对应的所述有效秒杀用户的区别标识的数量;获取所述每个秒杀接口对应的所述有效秒杀用户的区别标识的数量,并将所述有效秒杀用户的区别标识的数量设置为所述每个秒杀接口的预测流量。
92.通过统计经二次过滤后的每个秒杀接口对应的有效秒杀用户数量,确定出每个秒杀接口对应的瞬时流量作为预测流量。
93.步骤205,根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值。
94.通过判断所述预测流量是否大于预设的流量峰值,而对所述预测流量进行分类处理,避免了瞬时流量超出流量峰值,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
95.步骤206,若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量。
96.本实施例中,所述对所述目标秒杀接口的预测流量进行切分处理的步骤,具体包括:根据预设的时间间隔阈值和所述秒杀有效时间段,切分处理所述秒杀有效时间段,获取若干个不同的秒杀有效时间段切片;获取每个秒杀接口对应的所有有效秒杀用户的秒杀点击时间;根据预设的统计算法和所述秒杀点击时间,统计所述若干个不同的秒杀有效时间段切片下每个秒杀接口分别对应的有效秒杀用户的数量。
97.通过根据预设的时间间隔阈值和所述秒杀有效时间段,进行时间切分的方式,从而获取若干个不同的秒杀有效时间段切片,分别统计每个秒杀有效时间段切片下的有效用户,确定出每个秒杀接口在每个秒杀有效时间段切片下对应的预测流量。
98.本实施例中,在执行所述根据预设的统计算法和所述秒杀点击时间,统计所述若干个不同的秒杀有效时间段切片下每个秒杀接口分别对应的有效秒杀用户的数量的步骤过程中,所述方法还包括:通过调整所述时间间隔阈值,对所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量进行动态调整;直到所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量都小于所述流量峰值,则停止动态调整。
99.通过动态调整的方式,保证了每个秒杀有效时间段切片下每个秒杀接口对应的预测流量都小于所述流量峰值,便于后期直接根据所述每个秒杀有效时间段切片将对应的预测流量发送到秒杀结果处理组件进行正常处理,同时也避免了流量峰值问题,保证了处理器不会因为流量峰值问题产生宕机。
100.本实施例中,所述根据切分处理结果和预设的处理规则,控制处理所述预测流量的步骤,具体包括:获取动态调整完成的任一秒杀有效时间段切片下的预测流量,并发送到秒杀结果处理组件进行正常处理;获取动态调整完成的其他秒杀有效时间段切片下的预测流量,并发送到预设的缓存容器内等待秒杀结果处理组件进行处理。
101.通过对秒杀有效时间段切片下的预测流量进行控制,控制将其传输入秒杀结果处理组件,从而保证了处理器不会因为流量峰值问题产生宕机。
102.步骤207,若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。
103.本技术根据预设的目标注解,前置目标秒杀活动的秒杀接口,其中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
104.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
105.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
106.本技术实施例中,通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
107.进一步参考图3,作为对上述图2所示方法的实现,本技术提供了一种瞬时流量智能消除峰值装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
108.如图3所示,本实施例所述的瞬时流量智能消除峰值装置300包括:秒杀接口前置模块301、点击指令解析模块302、秒杀接口识别模块303、流量预测模块304、对比识别模块305、第一处理模块306和第二处理模块307。其中:
109.秒杀接口前置模块301,用于根据预设的目标注解,前置目标秒杀活动的秒杀接口,其中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内;
110.点击指令解析模块302,用于基于秒杀用户的点击指令和所述目标秒杀活动的秒
杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;
111.秒杀接口识别模块303,用于通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;
112.流量预测模块304,用于通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;
113.对比识别模块305,用于根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;
114.第一处理模块306,用于若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;
115.第二处理模块307,用于若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。
116.在本技术的一些具体的实施方式中,所述的瞬时流量智能消除峰值装置300还包括第一过滤模块,所述第一过滤模块用于根据所述秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时,所有秒杀用户的秒杀点击时间;根据所述所有秒杀用户的秒杀点击时间和预设的秒杀有效时间段,筛除掉所有秒杀用户中不满足秒杀有效时间段的秒杀用户,保留有效秒杀用户。
117.在本技术的一些具体的实施方式中,所述的瞬时流量智能消除峰值装置300还包括第二过滤模块,所述第二过滤模块用于根据预设的前置过滤条件,筛除掉所有秒杀用户中不满足前置过滤条件的秒杀用户,保留有效秒杀用户,其中,前置过滤条件包括是否具有秒杀资格、秒杀对象状态是否正常、秒杀等价物是否充足、秒杀用户的点击指令是否为非法请求。
118.在本技术的一些具体的实施方式中,所述的瞬时流量智能消除峰值装置300还包括动态调整模块,所述动态调整模块用于通过调整所述时间间隔阈值,对所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量进行动态调整;还用于直到所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量都小于所述流量峰值,则停止动态调整。
119.本技术根据预设的目标注解,前置目标秒杀活动的秒杀接口,其中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置
通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
120.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
121.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
122.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
123.所述计算机设备4包括通过系统总线相互通信连接存储器4a、处理器4b、网络接口4c。需要指出的是,图中仅示出了具有组件4a-4c的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
124.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
125.所述存储器4a至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器4a可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器4a也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器4a还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器4a通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如瞬时流量智能消除峰值方法的计算机可读指令等。此外,所述存储器4a还可以用于暂时地存储已经输出或者将要输出的各类数据。
126.所述处理器4b在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器4b通常用于控制所述计
算机设备4的总体操作。本实施例中,所述处理器4b用于运行所述存储器4a中存储的计算机可读指令或者处理数据,例如运行所述瞬时流量智能消除峰值方法的计算机可读指令。
127.所述网络接口4c可包括无线网络接口或有线网络接口,该网络接口4c通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
128.本实施例提出的计算机设备,属于瞬时峰值消除过程优化技术领域。本技术根据预设的目标注解,前置目标秒杀活动的秒杀接口,其中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
129.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被处理器执行,以使所述处理器执行如上述的瞬时流量智能消除峰值方法的步骤。
130.本实施例提出的计算机可读存储介质,属于瞬时峰值消除优化技术领域。本技术根据预设的目标注解,前置目标秒杀活动的秒杀接口,其中,所述前置目标秒杀活动的秒杀接口指的是在进行秒杀时,将秒杀瞬间产生的瞬时消息通过前置通知的方式传输到预设的缓存容器内,而不直接传输到预设的秒杀结果处理组件内;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。通过spring aop注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。
131.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
132.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
技术特征:
1.一种瞬时流量智能消除峰值方法,其特征在于,包括下述步骤:根据预设的目标注解,前置目标秒杀活动的秒杀接口;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切分处理结果和预设的处理规则,控制处理所述预测流量;若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。2.根据权利要求1所述的瞬时流量智能消除峰值方法,其特征在于,在执行所述根据预设的目标注解,前置目标秒杀活动的秒杀接口的步骤之前,所述方法还包括:获取预先构建的声明式事物管理注解作为目标注解,其中,声明式事物管理注解用于引入基于代理模式的aop编程思想以补充oop编程思想的应用场景和实现spring aop下的前置通知;获取目标秒杀活动的秒杀接口地址;所述根据预设的目标注解,前置目标秒杀活动的秒杀接口的步骤,具体包括:根据所述目标秒杀活动的秒杀接口地址重写对应的接口调用方法,获得重写后的接口调用方法;为重写后的接口调用方法配置所述目标注解。3.根据权利要求1所述的瞬时流量智能消除峰值方法,其特征在于,所述基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果的步骤,具体包括:根据预设的秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时分别对应的秒杀用户的区别标识;根据所有秒杀用户的区别标识和所述目标秒杀活动的所有秒杀接口地址,确定所有秒杀用户所对应的秒杀接口。4.根据权利要求3所述的瞬时流量智能消除峰值方法,其特征在于,在执行所述通过所述解析结果,识别所有秒杀用户所对应的秒杀接口的步骤之后,所述方法还包括:根据所述秒杀接口执行日志,获取在当次秒杀活动中目标秒杀活动的所有秒杀接口被调用时,所有秒杀用户的秒杀点击时间;根据所述所有秒杀用户的秒杀点击时间和预设的秒杀有效时间段,筛除掉所有秒杀用户中不满足秒杀有效时间段的秒杀用户,保留有效秒杀用户。5.根据权利要求1所述的瞬时流量智能消除峰值方法,其特征在于,在执行所述通过统计每个秒杀接口对应的秒杀用户的数量,获取所述每个秒杀接口的预测流量的步骤之前,所述方法还包括:根据预设的前置过滤条件,筛除掉所有秒杀用户中不满足前置过滤条件的秒杀用户,保留有效秒杀用户,其中,前置过滤条件包括是否具有秒杀资格、秒杀对象状态是否正常、
秒杀等价物是否充足、秒杀用户的点击指令是否为非法请求。6.根据权利要求1所述的瞬时流量智能消除峰值方法,其特征在于,所述通过统计每个秒杀接口对应的秒杀用户的数量,获取所述每个秒杀接口的预测流量的步骤,具体包括:获取每个秒杀接口对应的所有有效秒杀用户的区别标识;根据预设的统计算法,分别统计每个秒杀接口对应的所述有效秒杀用户的区别标识的数量;获取所述每个秒杀接口对应的所述有效秒杀用户的区别标识的数量,并将所述有效秒杀用户的区别标识的数量设置为所述每个秒杀接口的预测流量。7.根据权利要求4所述的瞬时流量智能消除峰值方法,其特征在于,所述对所述目标秒杀接口的预测流量进行切分处理的步骤,具体包括:根据预设的时间间隔阈值和所述秒杀有效时间段,切分处理所述秒杀有效时间段,获取若干个不同的秒杀有效时间段切片;获取每个秒杀接口对应的所有有效秒杀用户的秒杀点击时间;根据预设的统计算法和所述秒杀点击时间,统计所述若干个不同的秒杀有效时间段切片下每个秒杀接口分别对应的有效秒杀用户的数量。8.根据权利要求7所述的瞬时流量智能消除峰值方法,其特征在于,在执行所述根据预设的统计算法和所述秒杀点击时间,统计所述若干个不同的秒杀有效时间段切片下每个秒杀接口分别对应的有效秒杀用户的数量的步骤过程中,所述方法还包括:通过调整所述时间间隔阈值,对所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量进行动态调整;直到所述若干个不同的秒杀有效时间段切片下所述每个秒杀接口分别对应的有效秒杀用户的数量都小于所述流量峰值,则停止动态调整。9.根据权利要求8所述的瞬时流量智能消除峰值方法,其特征在于,所述根据切分处理结果和预设的处理规则,控制处理所述预测流量的步骤,具体包括:获取动态调整完成的任一秒杀有效时间段切片下的预测流量,并发送到秒杀结果处理组件进行正常处理;获取动态调整完成的其他秒杀有效时间段切片下的预测流量,并发送到预设的缓存容器内等待秒杀结果处理组件进行处理。10.一种瞬时流量智能消除峰值装置,其特征在于,包括:秒杀接口前置模块,用于根据预设的目标注解,前置目标秒杀活动的秒杀接口;点击指令解析模块,用于基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,进行解析,获取解析结果,其中,秒杀用户的点击指令中包括对应秒杀用户的区别标识和秒杀点击时间;秒杀接口识别模块,用于通过所述解析结果,识别所有秒杀用户所对应的秒杀接口;流量预测模块,用于通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量;对比识别模块,用于根据预先为所有秒杀接口分别设置的流量峰值和每个所述秒杀接口的预测流量,识别是否存在目标秒杀接口的预测流量大于对应秒杀接口的流量峰值;第一处理模块,用于若存在,则对所述目标秒杀接口的预测流量进行切分处理,根据切
分处理结果和预设的处理规则,控制处理所述预测流量;第二处理模块,用于若不存在,则将所述目标秒杀接口的预测流量发送到秒杀结果处理组件进行正常处理。11.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至9中任一项所述的瞬时流量智能消除峰值方法的步骤。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至9中任一项所述的瞬时流量智能消除峰值方法的步骤。
技术总结
本申请实施例属于过程优化技术领域,应用于秒杀活动场景领域中,涉及一种瞬时流量智能消除峰值方法、装置、设备及其存储介质,包括根据预设的目标注解,前置目标秒杀活动的秒杀接口;基于秒杀用户的点击指令和所述目标秒杀活动的秒杀接口,识别所有秒杀用户所对应的秒杀接口;通过统计每个秒杀接口对应的秒杀用户的数量,获取每个秒杀接口的预测流量。通过Spring AOP注解引入前置通知的方式,处理瞬时流量,由于前置通知的任务早于正常秒杀任务被处理,因此,能够在秒杀任务处理的事前完成瞬时流量的统计,避免了秒杀处理时瞬时流量超过流量峰值,更加科学化,从而避免处理器因瞬时流量过大产生宕机,延迟处理器的使用寿命。延迟处理器的使用寿命。延迟处理器的使用寿命。
技术研发人员:张盛荣
受保护的技术使用者:中国平安财产保险股份有限公司
技术研发日:2023.04.13
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
