一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-12-01 01:43:00 来源:中国专利 TAG:


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


背景技术:

2.随着互联网技术的发展,各种电商活动也日益增多。比如:手机银行活动。具体地,用户可以通过手机等用户端参加银行的纪念币抢兑、充话费、购物优惠券等活动。然而,在一些秒杀活动中,用户访问请求的增加会导致服务器处理请求压力过大。
3.相关技术中,针对上述用户访问请求的增加导致的高并发请求的场景,为了能处理大量的访问请求,商家会增加处理请求的服务器节点,通过集群化部署的多个服务器节点来处理用户端发起的访问请求。
4.但是,通过增加服务器进行集群化部署的方式来处理访问请求,会导致高并发请求处理的成本增加。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高高并发请求处理效率的高并发请求处理方法、装置、计算机设备和存储介质。
6.第一方面,提供了一种请求处理方法,该方法包括:
7.根据各用户访问请求,确定各用户访问请求的处理优先级;用户访问请求用于请求执行资源转移处理;
8.根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中;
9.按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理。
10.在其中一个实施例中,在根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中之前,该方法还包括:
11.根据各用户的用户风险数据,对各用户风险数据进行聚类,得到多个目标数据集合;用户风险数据包括风险等级和信用积分;
12.根据各目标数据集合,生成各缓存队列;一个目标数据集合对应一个缓存对列。
13.在其中一个实施例中,根据各用户的用户风险数据,对各用户风险数据进行聚类,得到多个目标数据集合,包括:
14.对各用户的用户风险数据进行格式转换,得到各用户风险数据在二维坐标系中对应的特征点,二维坐标系的横坐标为信用积分,纵坐标为风险等级;
15.采用预设的聚类算法对特征点进行聚类,得到多个目标数据集合。
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.图1为一个实施例中请求处理方法的应用环境图;
48.图2为一个实施例中请求处理方法的流程示意图;
49.图3为一个实施例中用户分类方法的流程示意图;
50.图4为一个实施例中用户风险数据的聚类过程的示意图;
51.图5为一个实施例中特征点筛选方法的流程示意图;
52.图6为另一个实施例中请求处理方法的流程示意图;
53.图7为另一个实施例中请求处理方法的流程示意图;
54.图8为另一个实施例中请求处理方法的流程示意图;
55.图9为一个实施例中请求处理装置的结构框图;
56.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
57.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
58.随着互联网技术的发展,商家开始推出与自身业务相关的客户端应用(比如,网站
或手机app)来进行线上业务。具体地,商家通常会在自己的客户端应用上部署相应的线上业务,用户可以在各业务的访问页面中通过触发各访问按钮和填写信息来办理个人业务。另外,商家为了吸引客户,还会在节假日或者纪念日时,在客户端应用上提供秒杀业务,展示各抢购产品,以低价钱来吸引用户的关注,进而拓展自己的用于群体。
59.秒杀业务是指抢购产品的抢购用户数量远远大于抢购产品的库存量,且抢购产品会在很短的时间内就会被抢购一空。比如,各银行会在自己的客户端应用上发起一些纪念币兑换活动,假定该活动在上午10点开始抢兑,则10点之前的用户访问量是比较平缓的,10点时银行的后台服务器会接收到大量的用户访问请求,以请求参加本次抢兑纪念币的活动。
60.基于上述秒杀业务,其业务特点为限时、限量、限价、持续时间短。其中,限时是指秒杀业务会在规定时间内进行,限量是指秒杀业务中的抢购产品的库存量有限,限价是指抢购产品的价格会远远低于初始价格。限时、限量和限价可以单独存在,也可以组合存在。持续时间短是指秒杀业务中,各抢购产品的购买人数多,抢购产品会迅速售罄。
61.另外,从客户端应用中的用户访问请求的处理方面来说,秒杀业务的技术特点为瞬时并发量非常高、读多写少和流程简单。也即是,大量用户会在同一时间抢购秒杀业务下的抢购产品,导致用户访问请求的瞬间并发峰值非常高,客户端应用系统的访问量巨大,抢购产品的实际可购买数量少,即库存量的查询访问数量大于商品的购买数量;且在秒杀业务中,抢购产品的库存量会不断减少,需要根据用户的购买量来调整抢购产品的库存量,保证库存数据准确,避免出现超卖现象。
62.因此,针对上述秒杀业务导致出现高并发用户访问请求的场景,本技术提出了一种请求处理方法、装置、计算机设备和存储介质,能够提高高并发请求处理效率,以缓解服务器压力。
63.请参见图1,本技术实施例提供的请求处理方法可以应用于如图1所示的应用环境中。用户从商家应用的客户端110的业务显示界面中针对各业务资源发起用户访问请求,以请求线上办理用户业务。商家应用的服务器120在接收到各用户访问请求后,对各用户访问请求进行资源转移处理,并根据处理结果更新资源信息。
64.其中,客户端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。作为一个示例,服务器120可以是某一电商的后台服务器,也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
65.在一种可能的实现方式中,若客户端110应用为网站,则上述服务器120话可以为代理服务器(nginx)。代理服务器是介于客户端和web服务器之间的另一台服务器,客户端的浏览器不是直接到web服务器去获取网页,而是通过向代理服务器发送请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给客户端的浏览器。
66.通过设置代理服务器,可以实现负载均衡。也即是,代理服务器将接收的各用户访问请求分发至不同的服务器上,由多个服务器去处理大量的用户访问请求,可以均衡各服务器的用户访问请求处理量。
67.在另一种可能的实现方式中,若客户端110应用为手机app,则上述服务器120还可以为该应用的后台服务器,该后台服务器可以包括站点层、服务层和数据库层,应对秒杀业务场景下产生的高并发的用户访问请求,每层产生的并发量不同,不同的层执行不同的动
作,使得服务器可以在上述秒杀场景中对高并发的用户访问请求进行处理。
68.然而,在秒杀业务中,大量的用户访问请求会增加服务器的处理压力,当服务器的处理资源无法满足用户访问请求的处理量时,会导致重要用户的请求得不到响应,应用系统崩溃等情况。基于此,本技术提出了一种请求处理方法、装置、计算机设备和存储介质。
69.在一个实施例中,如图2所示,提供了一种请求处理方法,以该方法应用于图1中的服务器120为例进行说明,包括以下步骤:
70.步骤210:根据各用户访问请求,确定各用户访问请求的处理优先级;用户访问请求用于请求执行资源转移处理。
71.其中,用户访问请求中携带有用户标识和访问资源的资源标识,用户标识可以表明用户访问请求发起者唯一的身份,资源标识表征各用户访问请求分别是针对客户端部署资源中的哪一个资源发起的用户访问请求。
72.作为一个示例,用户访问请求时的处理优先级分为高优先级、次优先级和驳回,不同用户发起的用户访问请求,其用户访问请求的处理优先级可能不同。
73.用户访问的资源可以为商家在其终端应用上展示的各种线上业务,用户针对某一资源向服务器发送用户访问请求。
74.比如,银行的客户端应用(比如,手机银行)上存在各种线上业务,比如,秒杀活动、基金、理财、账本、转账、充话费、生活缴费、限时特惠等,用户可以通过客户端应用来针对上述业务发起用户访问请求,以请求办理个人业务或参加相关活动。当用户参加秒杀活动、限时特惠等活动,用户发起的用户访问请求用于请求购买相应的抢购产品。
75.在一种可能的实现方式中,上述步骤210的实现过程可以为:用户在客户端的显示页面中,通过触摸某一业务的访问按钮来向服务器发送用户访问请求。为了缓解服务器压力,对用户访问请求进行分批处理,服务器在接收到各用户发起的用户访问请求后,先确定各用户访问请求的处理优先级,以根据不同的处理优先级对各用户访问请求进行处理。
76.步骤220:根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中。
77.可以理解的是,同一缓存队列中各用户访问请求的处理优先级相同,不同缓存队列中用户访问请求的处理优先级不同。
78.在一种可能的实现方式中,上述步骤220的实现过程可以为:根据各用户访问请求的处理优先级,以及处理优先级和缓存队列优先级的对应关系,确定各用户访问请求对应的缓存队列,以将用各户访问请求划分至各缓存队列中。
79.作为一个示例,与各用户访问请求的处理优先级相对应,缓存队列分为高优先级队列、次优先级队列和驳回队列,将高优先级的用户访问请求添加至高优先级队列中,将次优先级的用户访问请求添加至次优先级队列中,将驳回的用户访问请求添加至驳回队列中。
80.步骤230:按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理。
81.其中,资源转移处理为更新各用户访问请求对应的资源的信息,资源可以为客户端应用中部署的任一业务,则资源转移处理为更新相应业务的业务信息,业务信息可以包括该业务对应产品的库存量、业务显示界面及界面中的产品描述等,本技术在此不做限制。
82.在一种可能的实现方式中,由于不同缓存队列的优先级不同,故不同缓存队列的
处理顺序不同。在实际处理时,服务器按照处理优先级,先处理高优先级队列中的用户访问请求,然后处理次优先级队列中的用户访问请求,将驳回队列中的用户访问请求直接驳回,不进行处理。
83.作为一个示例,对于银行的客户端应用上的抢兑纪念币活动,有100个用户在活动开始后发起了用户访问请求,服务器对各用户访问请求进行分类处理后,高优先级队列中缓存有30个用户访问请求,次优先级队列中缓存40个用户访问请求,驳回队列中缓存有30个用户访问请求。则在处理时,先依次处理高优先级队列中的30个用户访问请求,在高优先级队列中的用户访问请求处理结束后,再处理次优先级队列中的40个用户访问请求,对于驳回队列中的用户访问请求不做处理,直接驳回。
84.可以理解的是,在对各所述缓存队列中的用户访问请求处理时,可以将各缓存队列中的用户访问请求处理完之后,再用上述数据处理方法将新接收的用户访问请求划分至相应的缓存队列中,也可以在处理的过程中,将新接收的用户访问请求划分至各缓存队列中,本技术对此不做限制。
85.在本实施例中,根据各用户访问请求,确定各用户访问请求的处理优先级;用户访问请求用于请求执行资源转移处理;根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中;按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理。也即是,对于高并发场景下的用户访问请求,本技术先确定各用户访问请求的处理优先级,再根据各用户访问请求的处理优先级将各用户访问请求缓存到具有相应优先级的缓存队列中,进而按照缓存队列的处理优先级对各缓存队列中的用户访问请求进行处理,相当于将高并发的用户访问请求分批次进行处理,从而有效缓解服务器压力。
86.基于上述实施例,对于银行的客户端应用中的注册用户和访问用户,服务器在接收用户访问请求时,还可以开启站点层部署的风控系统,并调用风控接口,以从各业务的访问接口处拦截恶意用户,例如薅羊毛的羊毛党,具有攻击倾向的攻击者等。其次,站点层部署的风控系统还可以通过预先训练好的风控模型,确定各用户的用户风险数据,以通过对各用户风险数据进行聚类,确定不同等级的缓存队列。也即是,在将各用户访问请求添加至对应处理优先级的缓存队列中之前,服务器根据各用户的用户风险数据,确定缓存各用户访问请求的缓存队列。
87.在一个实施例中,如图3所示,本技术提供了一种用户分类方法,包括以下步骤:
88.步骤310:根据各用户的用户风险数据,对各用户风险数据进行聚类,得到多个目标数据集合;用户风险数据包括风险等级和信用积分。
89.其中,风险等级是根据该用户在本银行内的风险等级和该用户在其他银行的风险等级共同确定的,信用积分为用户在本银行内的信用积分。
90.在实际实施时,可以预先通过风控模型确定每个用户的用户风险数据,并对各用户风险数据进行聚类,以实现对用户分类的目的。
91.作为一个示例,用户a的风险等级为2级,信用积分为700分,则用户a的用户风险数据可以表示为(2级,700分)。
92.另外,对各用户风险等级数据进行聚类可以通过一些聚类算法实现,比如:k均值(k

means)聚类、均值漂移聚类、基于密度的聚类方法(dbscan)、用高斯混合模型(gmm)的最
大期望(em)聚类、凝聚层次聚类、图团体检测(graph community detection,gcd)等,本技术对此不做限制。
93.步骤320:根据各目标数据集合,生成各缓存队列;一个目标数据集合对应一个缓存对列。
94.在一种可能的实现方式中,根据各目标数据集合所包括的用户风险数据,确定各目标数据集合的优先级,并根据目标数据集合的优先级生成对应优先级的缓存队列。不同缓存队列的处理优先级不同,各缓存队列用于存储服务器接收的用户访问请求。
95.假设目标数据集合优三个,其优先级划分为高级、中级和低级,则缓存队列分为高优先级队列、次优先级队列和驳回队列。
96.作为一个示例,根据目标数据集合的优先级生成对应优先级的缓存队列的过程为:从于各目标数据集合中,确定各用户风险数据中风险等级的均值。根据各目标数据集合对应的风险等级的均值大小,确定各目标数据集合的优先级。均值最小的目标数据集合的优先级为高级,均值最大的目标数据集合的优先级为低级,剩余的一个目标数据集合的优先级为中级。如此,根据高级的目标数据集合,生成高优先级队列;根据低级的目标数据集合,生成驳回队列;根据剩余的一个目标数据集合,生成次优先级队列。
97.同理,也可以根据信用积分的均值,确定各目标数据集合的优先级,并根据目标数据集合的优先级生成对应优先级的缓存队列,具体可参见上述示例,在此不再赘述。
98.在本实施例中,通过部署在站点层的风控模型确定各用户的用户风险数据,对各用户风险数据的聚类结果后的目标数据集合,生成缓存队列,由于不同缓存队列的的优先级不同,因此,服务器在接收到用户访问请求后,可以将各用户访问请求划分至各缓存队列中,由服务器分批次处理。
99.在一个实施例中,以k

means算法为例,对各用户风险数据的聚类过程进行解释说明。
100.如图4所示,根据各用户的用户风险数据,对各用户风险数据进行聚类,得到多个目标数据集合的实现过程(上述步骤310),包括以下步骤:
101.步骤410:对各用户风险数据进行格式转换,得到各用户风险数据在二维坐标系中对应的特征点,二维坐标系的横坐标为信用积分,纵坐标为风险等级。
102.其中,格式转换是将各用户数据在二维坐标系中以坐标点的方式进行表示。
103.作为一个示例,若用户风险数据为(2级,700分),则该用户风险数据在二位坐标系中对应的特征点为(2,700)。
104.步骤420:采用预设的聚类算法对各特征点进行聚类,得到多个目标数据集合。
105.在本实施例中,预设的聚类算法为k

means算法。
106.在一种可能的实现方式中,上述步骤420中使用k

means算法对特征点进行聚类的实现过程,包括以下步骤:
107.步骤422:根据风险等级或者信用积分,对各特征点进行集合划分,得到多个初始数据集合。
108.在一种可能的实现方式中,上述步骤422的实现过程为:在二维坐标系中确定每个特征点的横坐标,根据各特征点的横坐标和信用积分范围,对各特征点继进行集合划分,得到多个初始数据集合。
109.作为一个示例,假设预定的信用积分下限为0,上限为1000分,则将横坐标值在200以左范围内的用户风险数据划分至一个初始数据集合中;将横坐标值在200

600范围内的用户风险数据划分至一个初始数据集合中;将横坐标值在600以右范围内的用户风险数据划分至一个初始数据集合中。
110.在另一种可能的实现方式中,上述步骤422的实现过程为:在二维坐标系中确定每个特征点的纵坐标,根据各特征点的纵坐标和风险等级,对各特征点继进行集合划分,得到多个初始数据集合。
111.作为一个示例,假设预定的风险等级为10级,则将纵坐标值在3(即风险等级为3级)以下范围内的特征点划分至一个初始数据集合中;将纵坐标值在4

7范围内的用户风险数据划分至一个初始据集合中;将纵坐标值在7以上范围内的用户风险数据划分至一个初始数据集合中。
112.步骤424:以各目标特征点与各初始数据集合的质心之间的距离,对各特征点进行聚类,确定各特征点所属的候选数据集合;质心为各初始数据集合的中任一特征点;目标特征点为二维坐标系中目标区域所包括的特征点。
113.其中,目标区域是根据各特征点所在范围确定,即目标区域可以为二维坐标系中包括特征点的任一区域,每个目标区域中包括多个特征点。
114.需要说明的是,通过预先设定目标区域,可以从二位坐标系中剔除无关点,缩小聚类范围。减少数据处理量的同时,保证待聚类数据的有效性。
115.在一种可能的实现,上述步骤424的实现过程可以为:对于各初始数据集合,从每个初始数据集合中任取一点作为质心,计算除质心以外的其他特征点到各初始数据集合的质心之间的距离,与特征点之间距离最短的质心即为该特征点所属候选数据集合;重复该步骤,依次将初始数据集合中的每个特征点作为质心,计算除质心以外的其他特征点到各初始数据集合的质心之间的距离。
116.若候选数据集合中各特征点与候选数据集合的质心之间距离小于预设值,则执行下述步骤426。若候选数据集合中各特征点与候选数据集合的质心之间距离大于或等于预设值,则执行下述步骤428。
117.其中,各目标特征点与各初始数据集合的质心之间的距离可以通过欧几里得距离或余弦相似度来表示。
118.欧几里得距离和余弦相似度都是评定特征点之间差异大小。具体地,欧几里得距离度量会受指标不同单位刻度的影响,一般需要先进行标准化,两个特征点之间的欧几里得距离越大,两个特征点的差异越大。而空间向量余弦夹角的相似度度量不会受指标刻度的影响,若两个特征点的空间向量的余弦值落于区间[

1,1],余弦值越大,两个特征点之间的差异越小。
[0119]
步骤426:若候选数据集合中各特征点与候选数据集合的质心之间距离小于预设值,则将候选数据集合确定为目标数据集合。
[0120]
其中,若候选数据集合中各特征点与候选数据集合的质心之间距离是通过欧几里得距离表示的,则预设值可以是任一正数,比如:5、10、15等;若候选数据集合中各特征点与候选数据集合的质心之间距离是通过空间向量的余弦值表示的,则预设值可以为区间[

1,1]中任一数,比如:

0.5、0.5、1等。
[0121]
步骤428:若候选数据集合中各特征点与候选数据集合的质心之间距离大于或者等于预设值,则继续以各目标特征点与各候选数据集合的质心之间的距离,对各特征点重新进行聚类,确定各特征点所属的新的候选数据集合,直至候选数据集合中各特征点与候选数据集合的质心之间距离小于预设值。
[0122]
在本实施例中,通过k

means算法对各用户风险数据进行聚类,得到多个目标数据集合,不同目标数据集合的中的用户风险数据对应的用户不同,对用户风险数据进行聚类相当于对用户进行分类。如此,对不同用户发起的用户访问请求,可以将其添加至不同的缓存队列中,由服务器分批次进行处理。
[0123]
在一个实施例中,基于上述聚类过程,为了剔除无关数据,避免因个别异常数据,导致聚类过程一直无法结束的情况发生,本技术在对各特征点进行聚类之前,对各特征点进行预处理,提高特征点的准确度,保证聚类效果。
[0124]
如图5所示,本技术提供了一种特征点筛选方法,该方法包括以下步骤:
[0125]
步骤510:根据各初始数据集合的质心构成的多边形,确定聚类范围。
[0126]
其中,初始数据集合为3个或3个以上的数据集合,各初始数据集合的质心构成的多边形可以为三角形、四边形、五边形等,本技术对此不做限制。
[0127]
作为一个示例,若构成的多边形为三角形,则聚类范围为三个初始数据集合的质心所构成的三角形的中垂线;若构成的多边形为四边形,则聚类范围为四个初始数据集合的质心所构成的四边形的任一对角线,或者,聚类范围为该四边形内接圆的半径。
[0128]
步骤520:以各初始数据集合的质心为圆心,且以聚类范围为半径,确定目标区域。
[0129]
需要说明的是,为了减少数据处理量,本技术通过步骤520的方式对初始数据集合中的特征点进行进一步筛选,以确定后续用于聚类的特征点。在确定目标区域后,将各目标区域以外的特征点从二维坐标系中删除,对剩余的特征点执行上述步骤424,以通过聚类得到多个目标数据集合。
[0130]
在本实施例中,对各特征点进行预处理,以质心为圆心,以聚类范围为半径来确定目标区域,删除目标区域以外的特征点,即关联性较低的特征点;对目标区域内的特征点进行聚类,得到目标数据集合。如此,通过对初始数据集合中特征点的进一步筛选,可以确定有效的特征点。减少待处理特征点和计算量的同时,提高聚类效果。
[0131]
基于上述图3

图5对应的实施例,用户风险数据可以反映用户等级,预先对该商家应用的注册用户的用户风险数据进行聚类处理,得到多个目标数据集合,同一个目标数据集合中的用户风险数据相似,用户等级相似。如此,可以根据各用户的用户等级为各不同用户提供不同的服务,本技术则是根据用户等级来确定用户访问请求的处理顺序。
[0132]
基于各用户的用户等级,在一个实施例中,如图6所示,根据各用户访问请求,确定各用户访问请求的处理优先级(上述步骤210)的实现过程,包括以下步骤:
[0133]
步骤610:根据各用户访问请求,确定发起各用户访问请求的用户的用户等级。
[0134]
其中,用户访问请求中携带有用户标识,用于表明用户访问请求发起者唯一的身份。
[0135]
则在一种可能的实现方式中,服务器中预先存储有注册用户的注册信息,注册信息包括用户标识(identity document,id)、银行卡信息、登录密码、交易密码等,服务器接收到用户发起的用户访问请求后,根据用户访问请求中携带的用户标识和预先存储的注册
信息,确定发起各用户访问请求的用户身份。
[0136]
进一步地,基于上述实施例,根据各用户访问请求的发起用户,获取该用户的用户风险数据,并确定用户风险数据所属的目标数据集合;根据目标数据集合和用户等级的对应关系,确定发起各用户访问请求的用户的用户等级。
[0137]
另外,在确定目标数据集合和用户等级的对应关系后,进一步确定目标数据集合中各风险数据对应的用户的用户等级,将用户等级预先添加至用户的注册信息中。如此,服务器接收到用户发起的用户访问请求后,可以根据用户访问请求中携带的用户标识和预先存储的注册信息,确定发起各用户访问请求的用户的用户等级。
[0138]
需要说明的是,用户等级还可以是通过其他方式确定的,不局限于上述方式。
[0139]
步骤620:根据各用户的用户等级,确定各用户访问请求的处理优先级;用户等级越高,用户访问请求的处理优先级越高。
[0140]
作为一个示例,用户等级预先划分为三级:高级、中级和低级,处理优先级分为:高优先级、次优先级和驳回优先级。
[0141]
对商家而言,为了维持原有的重要客户,高级用户发起的用户访问请求对应的处理优先级为高优先级,以保证重要客户对业务的访问需求。其次,保证重要客户的用于访问请求得到响应的情况下,将中级用户发起的用户访问请求对应的处理优先级为次优先级,在培养重要客户的同时,保证业务的访问量,以吸引更多的用户。另外,对于信用比较低用户甚至黑名单用户发起的用户访问请求,将该类低级用户发起的用户访问请求对应的处理优先级为驳回优先级,不做处理。
[0142]
基于此,服务器获取各访问请求后,根据发起用户访问请求的用户的用户等级,确定各用户访问请求的处理优先级,以按照处理优先级对不同用户发起的用户访问请求进行处理。
[0143]
在本实施例中,服务器在接收到用户访问请求后,根据各用户的用户等级,确定各用户访问请求的处理优先级。如此,在保证高级用户的用户访问请求得到及时响应的同时,将低级用户发起的用户访问请求驳回,以减少服务器的数据处理压力,提高访问的有效性。
[0144]
基于上述实施例,根据各用户访问请求的处理优先级,将各用户访问请求添加到不同的缓存队列中。也即是,不同缓存队列中包括不同的用户访问请求,同一个缓存队列中用户访问请求的处理优先级相同,不同缓存队列中用户访问请求的处理优先级不同。
[0145]
在一个实施例中,如图7所示,服务器按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理(上述步骤230)的实现过程,包括以下步骤:
[0146]
步骤710:根据缓存队列中预先存储的用户标识,从各缓存队列中的用户访问请求筛选用户第一次发起的访问请求,得到各缓存队列的目标访问请求。
[0147]
需要说明的是,也即是,用户访问请求进入后,可能存在同一用户使用不同的账号参加秒杀活动。即一个用户有多个账号,如果每个用户的所有账号都针对同一抢购产品发起用户访问请求,则会出现大量的无效请求,而且服务器从数据库中查询秒杀产品的库存量时,也会造成数据库压力上升。
[0148]
因此,在业务设计过程中,为了避免出现同一个用户使用多个账号进行秒杀的情况,本技术引入远程字典服务(remote dictionary server,redis)。
[0149]
将各注册用户的所有客户账号都存入到redis中做缓存,对于同一个用户,当该用
户的一个客户账号发起的用户访问请求添加至缓存队列后,若其他账号发起的用户访问请求也添加至缓存队列中,则通过redis中缓存的所有客户账号,查找二次、甚至多次发起的用户访问请求,将其驳回,在访问页面上显示提示信息,比如:“您的其他账号已领取,请勿重复领取”。
[0150]
因此,对缓存队列中的用户访问,对于同一用户针对同一资源(本技术中资源指的是商家应用中的任一业务,包括秒杀业务中的抢购产品)发起的用户访问请求,只保留时间节点上最先发起的一个用户访问请求,将其作为目标访问请求,将其他重复的用户访问请求从缓存队列中删除,以减少数据库的访问压力。
[0151]
步骤720:按照处理优先级,对各缓存队列中的目标访问请求进行资源转移处理。
[0152]
其中,资源转移处理即更新各用户访问请求对应的目标业务的业务信息,在秒杀活动中,资源转移处理包括向客户端返回处理结果(比如,抢购成功或未抢到),以及更新抢购产品的库存量,保证库存量准确,避免出现超卖的现象。
[0153]
在一种可能的实现方式中,上述步骤720的实现过程可以为:对各缓存队列中的目标访问请求对应的用户的标识信息进行锁定处理,并在锁定处理后,按照处理优先级,对各缓存队列中的目标访问请求进行处理。
[0154]
作为一个示例,以redis实现数据存储和操作的key

value(关键特征对)数据库可以实现数据的高并发处理和保证数据的正确性,避免出现超卖等现象。上述标识信息可以是用户的key值,该key值可以为注册用户的证件类型和对应的证件号码。
[0155]
在具体实施时,对该客户的唯一标识的key(例如证件类型 证件号码)进行加锁,通过redis setnx进行锁定处理。其中,在进行锁定处理时,需要给锁设置一个过期时间,当更新数据时由于某些原因意外退出或延时任务到期后,该锁就会被删除释放,而不会一直存在,以保证该用户的唯一性访问操作。
[0156]
其次,对于可能出现的超卖问题,由于redis命令get命令、set命令等并非原子性操作,在高并发情况下,可能会出现抢购产品的剩余量扣减与实际不一致,导致出现“超卖缺货”现象。
[0157]
为避免超卖问题出现,需保证库存量扣减操作的原子性,本技术引入lua脚本,redis将整个lua脚本作为一个原子执行,保证该操作的原子性,且在高并发情况下,无需事务且使用lua脚本只需向redis发送一次请求,减少网络传输,保证高并发请求的高性能和数据正确性。
[0158]
此外,在锁定处理后,服务器按照处理优先级,对各缓存队列中的目标访问请求进行处理,若各缓存队列的目标访问请求处理成功,则对各缓存队列中的目标访问请求所需转移的资源的信息进行更新。
[0159]
需要说明的是,为了减少服务器查库次数和频率,将抢购产品的库存量保存在redis中,在对用户访问请求进行处理后,先在redis存储的中更新库存量,然后redis中更新后的库存量对数据库中抢购产品的库存量进行更新。
[0160]
具体地,服务器响应于用户的目标访问请求,对目标访问请求所针对的秒杀业务的业务信息进行更新,或者对抢购产品的库存量进行更新。
[0161]
另外,因为秒杀业务中,用户抢购的产品都将集中在某几个产品上,故将这几类产品展示在应用的首页上。但对于抢购产品的库存量,在访问界面中只显示有或者无,不显示
产品的具体剩余数量,则查询操作时无需从数据库中去查找具体的剩余数量,可以减轻后台服务器压力。
[0162]
基于上述任一实施例,服务器根据处理优先级,依次处理各缓存队列中的用户访问请求。由于各缓存队列中添加的用户访问请求数目有限,对于后续涌入服务器的用户访问请求,将其添加至等待队列中,待服务器存在空闲处理资源时,再对后续新涌入的用户访问请求补充添加至各缓存队列中。
[0163]
具体地,本技术在将用户访问请求添加至缓存队列中的同时,为减少服务器压力,阻止后续新接收的用户访问请求进入缓存队列。
[0164]
因此,在一种可能的实现方式中,若达到预设间隔时间,则将新接收到的用户访问请求存储至预设的等待队列中。
[0165]
其中,等待队列表征新接收到的用户访问请求为无效请求,服务器只处理缓存队列中的用户访问请求,对等待队列中的无效请求暂时不做处理。
[0166]
需要说明的是,等待队列中的无效请求并非需要驳回的请求,而是需要等待处理请求。对于等待队列中的用户访问请求,可以先向用户返回“稍后再试”的提示信息。因为存在可能抢购到的客户,在规定时间内未支付,进而产生回仓,故通过返回“稍后再试”的提示信息可以提醒后面访问的用户,在一段时间后再次进行抢购。
[0167]
另外,在服务器在处理缓存队列中用户访问请求的过程中,若服务器存在空闲处理资源且抢购产品的库存剩余量不为0时,将等待队列中的无效请求添加至缓存队列中。若抢购产品的库存剩余量为0时,则将等待队列中的无效请求全部驳回,并在访问界面中显示该抢购产品库存为0,表征该抢购产品处于售罄状态。
[0168]
基于上述请求处理方法,在对涌入服务器的用户访问请求进行筛选分类,以减少服务器压力的同时,本技术也在客户端对用户访问请求的发起数量进行限制,避免用户基于秒杀业务中的某一抢购产品,多次重复的发起用户访问请求。
[0169]
在一个实施例中,在根据各用户访问请求,确定各用户访问请求的处理优先级(上述步骤210)之前,本技术提供的请求处理方法包括:接收客户端发送的各用户访问请求;各用户访问请求为用户在客户端的访问页面中通过触发访问按钮发送的。
[0170]
可以理解的是,应用界面中部署有多个业务,用户可以通过各业务的访问界面中的按钮,可以发起办理该业务的请求。
[0171]
作为一个示例,在秒杀业务的访问界面中,用户可以通过触摸任一抢购产品的访问按钮来发起用户访问请求,用户访问请求用于在抢购产品的剩余库存量不为0的情况下购买该产品。
[0172]
需要说明的是,为了避免用户反复触摸访问按钮,访问按钮被触发前的显示颜色与被触发后的显示颜色不同,且访问按钮被触发后处于禁止触发状态。
[0173]
也即是,服务器在对发起的用户访问请求未做出响应之前,该请求不可重复发送。换言之,每一个用户访问请求在收到处理成功、驳回、等待等提示信息之前,访问界面中按钮的颜色为触摸无效的状态,用户反复触摸也不会重复向服务器发送用户访问请求。
[0174]
进一步地,在抢购产品库存量充足的情况下,用户可以发起抢购该产品的用户访问请求,当抢购产品库存量为0的情况下,该抢购产品处于售罄状态,用户无法针对该产品发起用户访问请求。
[0175]
基于此,在一种可能的实现方式中,本技术的用户访问请求为若访问页面中资源信息显示为预设状态时,通过触发访问按钮发送的。
[0176]
其中,资源信息可以为秒杀业务中的任一抢购产品的产品信息,预设状态即为该产品的细节展示信息,用于对该产品进行详细介绍,方便用户了解。
[0177]
在本实施例中,通过秒杀业务中各抢购产品访问界面中的访问按钮,可以在用户第一次向服务器发送用户访问请求后,禁止用户重复发送请求来从源头上减少用户访问请求的有效量,避免过多无效请求涌入服务器中。
[0178]
针对上述图2

7所示的请求处理方法,参见图8,本技术还提供了另一种请求处理方法,以该方法应用于图1中的服务器120为例进行说明,该请求处理方法包括以下步骤:
[0179]
步骤810:根据各用户的用户风险数据,对各用户风险数据进行聚类,得到多个目标数据集合;用户风险数据包括风险等级和信用积分;
[0180]
步骤820:根据各目标数据集合,生成各缓存队列;一个目标数据集合对应一个缓存对列;
[0181]
步骤830:接收客户端发送的各用户访问请求;各用户访问请求为用户在客户端的访问页面中通过触发访问按钮发送的。
[0182]
步骤840:根据各用户访问请求,确定发起各用户访问请求的用户的用户等级;
[0183]
步骤850:根据各用户的用户等级,确定各用户访问请求的处理优先级;用户等级越高,用户访问请求的处理优先级越高;
[0184]
步骤860:根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中;
[0185]
步骤870:根据缓存队列中预先存储的用户标识,从各缓存队列中的用户访问请求筛选用户第一次发起的访问请求,得到各缓存队列的目标访问请求;
[0186]
步骤880:对各缓存队列中的目标访问请求对应的用户的标识信息进行锁定处理,并在锁定处理后,按照处理优先级,对各缓存队列中的目标访问请求进行处理;
[0187]
步骤890:若各缓存队列的目标访问请求处理成功,则对各缓存队列中的目标访问请求所需转移的资源的信息进行更新。
[0188]
上述图8所示步骤的具体实现过程和有益效果可参见上述实施例,在此不再赘述。
[0189]
应该理解的是,虽然图2

8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2

8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0190]
在一个实施例中,如图9所示,提供了一种请求处理装置,该装置900包括:处理等级确定模块910、请求缓存模块920和请求处理模块930,其中:
[0191]
处理等级确定模块910,用于根据各用户访问请求,确定各用户访问请求的处理优先级;用户访问请求用于请求执行资源转移处理;
[0192]
请求缓存模块920,用于根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中;
[0193]
请求处理模块930,用于按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理。
[0194]
在其中一个实施例中,该装置900还包括:
[0195]
聚类模块,用于根据各用户的用户风险数据,对各用户风险数据进行聚类,得到多个目标数据集合;用户风险数据包括风险等级和信用积分;
[0196]
队列生成模块,用于根根据各所述目标数据集合,生成各所述缓存队列;一个目标数据集合对应一个缓存对列。
[0197]
在其中一个实施例中,聚类模块包括:
[0198]
格式转换单元,用于对各用户风险数据进行格式转换,得到各用户风险数据在二维坐标系中对应的特征点,二维坐标系的横坐标为信用积分,纵坐标为风险等级;
[0199]
聚类单元,用于采用预设的聚类算法对特征点进行聚类,得到多个目标数据集合。
[0200]
在其中一个实施例中,聚类单元包括:
[0201]
集合划分子单元,用于根据风险等级或者信用积分,对各特征点进行集合划分,得到多个初始数据集合;
[0202]
第一确定子单元,用于以各目标特征点与各初始数据集合的质心之间的距离,对各特征点进行聚类,确定各特征点所属的候选数据集合;质心为各初始数据集合的中任一特征点;目标特征点为二维坐标系中目标区域所包括的特征点;
[0203]
第二确定子单元,用于若候选数据集合中各特征点与候选数据集合的质心之间距离小于预设值,则将候选数据集合确定为目标数据集合;
[0204]
第三确定子单元,用于若候选数据集合中各特征点与候选数据集合的质心之间距离大于或者等于预设值,则继续以各目标特征点与各候选数据集合的质心之间的距离,对各特征点重新进行聚类,确定各特征点所属的新的候选数据集合,直至候选数据集合中各特征点与候选数据集合的质心之间距离小于预设值。
[0205]
在其中一个实施例中,该装置900还包括:
[0206]
聚类范围确定模块,用于根据各初始数据集合的质心构成的多边形,确定聚类范围;
[0207]
聚类区域确定模块,用于以各初始数据集合的质心为圆心,且以聚类范围为半径,确定目标区域。
[0208]
在其中一个实施例中,处理等级确定模块910包括:
[0209]
第一确定单元,用于根据各用户访问请求,确定发起各用户访问请求的用户的用户等级;
[0210]
第二确定单元,用于根据各用户的用户等级,确定各用户访问请求的处理优先级;用户等级越高,用户访问请求的处理优先级越高。
[0211]
在其中一个实施例中,请求处理模块930包括:
[0212]
请求筛选单元,用于根据缓存队列中预先存储的用户标识,从各缓存队列中的用户访问请求筛选用户第一次发起的访问请求,得到各缓存队列的目标访问请求;
[0213]
请求处理单元,用于按照处理优先级,对各缓存队列中的目标访问请求进行资源转移处理。
[0214]
在其中一个实施例中,请求处理单元还用于:
[0215]
对各缓存队列中的目标访问请求对应的用户的标识信息进行锁定处理,并在锁定处理后,按照处理优先级,对各缓存队列中的目标访问请求进行处理。
[0216]
在其中一个实施例中,该装置900还包括:
[0217]
信息更新模块,用于若各缓存队列的目标访问请求处理成功,则对各缓存队列中的目标访问请求所需转移的资源的信息进行更新。
[0218]
在其中一个实施例中,该装置900还包括:
[0219]
接收模块,用于接收客户端发送的各用户访问请求;各用户访问请求为用户在客户端的访问页面中通过触发访问按钮发送的。
[0220]
在其中一个实施例中,访问按钮被触发前的显示颜色与被触发后的显示颜色不同,且访问按钮被触发后处于禁止触发状态。
[0221]
在其中一个实施例中,各用户访问请求为若访问页面中资源信息显示为预设状态时,通过触发访问按钮发送的。
[0222]
在其中一个实施例中,该装置900还包括:
[0223]
存储模块,用于若达到预设间隔时间,则将新接收到的用户访问请求存储至预设的等待队列中;等待队列表征新接收到的用户访问请求为无效请求。
[0224]
关于请求处理装置的具体限定可以参见上文中对于请求处理方法的限定,在此不再赘述。上述请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0225]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户的注册信息,以及秒杀业务中各抢购产品的库存量等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种请求处理方法。
[0226]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0227]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0228]
根据各用户访问请求,确定各用户访问请求的处理优先级;用户访问请求用于请求执行资源转移处理;
[0229]
根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中;
[0230]
按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理。
[0231]
本实施例提供的计算机设备在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0232]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0233]
根据各用户访问请求,确定各用户访问请求的处理优先级;用户访问请求用于请求执行资源转移处理;
[0234]
根据各用户访问请求的处理优先级,将各用户访问请求添加至与各用户访问请求的处理优先级对应的缓存队列中;
[0235]
按照处理优先级,对各缓存队列中的用户访问请求进行资源转移处理。
[0236]
本实施例提供的计算机设备在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0237]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0238]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0239]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献