1.本发明涉及计算机技术领域,特别涉及一种请求过滤方法、装置、设备及存储介质。
背景技术:2.商品抢购活动已经是各个购物网站经常使用的促销活动,像如“双十一”,“618”,各个消费者在同一时间、同一网站入口、对相同商品在数量有限的情况下进行抢购。购物网站系统在某一时刻,用户访问量达到高峰,对系统的性能提出了更高的要求。高性能、高并发是系统研发时首要考虑的问题。其中对消费者合规性校验也是必须要考虑的问题,只有符合要求的消费者才可以进入抢购环节,例如是注册会员的才可以抢购、或者提前预约的用户才可以进行抢购,其他不符合条件的用户进行过滤。如果是对用户进行数据查询后,再进行判断用户是否具有资格抢购,对系统性能影响很大,影响消费者体验。
技术实现要素: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.图1为本技术公开的一种请求过滤方法流程图;
44.图2为本技术公开的一种布隆过滤器结构示意图;
45.图3为本技术公开的一种具体的请求过滤方法流程图;
46.图4为本技术公开的一种系统结构示意图;
47.图5为本技术公开的一种具体的请求过滤方法流程图;
48.图6为本技术提供的请求过滤装置结构示意图;
49.图7为本技术提供的一种电子设备结构图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.目前,商品抢购活动已经是各个购物网站经常使用的促销活动,各个消费者在同一时间、同一网站入口、对相同商品在数量有限的情况下进行抢购。购物网站系统在某一时刻,用户访问量达到高峰,对系统的性能提出了更高的要求。高性能、高并发是系统研发时首要考虑的问题。其中对消费者合规性校验也是必须要考虑的问题,只有符合要求的消费者才可以进入抢购环节,例如是注册会员的才可以抢购、或者提前预约的用户才可以进行抢购,其他不符合条件的用户进行过滤。如果是对用户进行数据查询后,再进行判断用户是否具有资格抢购,对系统性能影响很大,影响消费者体验。为此,本技术提供了一种请求过滤方法,能够减轻系统压力,提高系统的用户体验度,节省服务器的内存空间。
52.本发明实施例公开了一种请求过滤方法,参见图1所示,应用于服务器,该方法包括:
53.步骤s11:接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求。
54.本实施例中,接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求。可以理解的是,访问数据库中的全部用户数据,筛选出满足第一预设条件的用户数据并获取每条所述用户数据的唯一的第一标识信息,根据所述第一标识信息与第一预设算法进行计算,获取满足第一预设条件的用户信息对应的位置,在第一预设过滤器中预先设置上述计算得到的位置上的数值信息,在接收到客户端发送的请求后,根据所述请求计算出该请求在所述第一预设过滤器中对应的位置,若该位置上的数值信息为满足过滤条件的数值信息,则将该请求确定为第一访问请求,若该位置上的数值信息为不满足过滤条件的数值信息,则将该请求舍弃。
55.步骤s12:将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件。
56.本实施例中,得到第一访问请求之后,将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件。可以理解的是,第一预设过滤器与第二预设过滤器中设置的过滤条件不同,因此可以通过第二预设过滤器对所述第一访问请求再次进行过滤,即从满足第一预设过滤器的过滤条件的请求中筛选出同样满足第二预设过滤器的过滤条件的请求。若所述第一访问请求满足预设访问条件,则表明该请求可以执行对应的操作,若所述第一访问请求不满足预设访问条件,则将该请求舍弃。
57.可以理解的是,从数据库中筛选出满足第二预设条件的用户数据并获取每条所述用户数据的唯一的第二标识信息,根据所述第二标识信息与第二预设算法进行计算,获取满足第二预设条件的用户信息对应的位置,在第二预设过滤器中预先设置上述计算得到的位置上的数值信息,在接收到第一访问请求后,根据所述第一访问请求计算出该访问请求在所述第二预设过滤器中对应的位置,通过上述位置上的数值信息判断所述第一访问请求是否满足预设访问条件。
58.需要指出的是,所述第一预设算法与所述第二预设算法可以是哈希算法,并且可以是多个哈希算法,相应的,若为多个哈希算法,则利用多个哈希算法分别与第一标识信息、第二标识信息进行计算,可以得到与哈希算法数量相同的位置信息,并在第一预设过滤器与第二预设过滤器中预先设置上述计算得到的多个位置上的数值信息。
59.步骤s13:若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。
60.本实施例中,若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。可以理解的是,若所述第一访问请求满足所述预设访问条件则表明该第一访问请求已通过两次过滤,即被允许完成后续的操作。需要指出的是,第一预设过滤器与第二预设过滤器的先后顺序可以根据实际情况确定,并且不局限于两个预设过滤器,可以自定义多个预设过滤器,并在不同的过滤器内设置符合实际情况的多个过滤条件,同时预先从数据库中获取每个预设条件对应的用户数据,计算得到对应的位置,然后设置每个过滤器中对应的数值信息。执行完对应的操作后将操作结果返回至所述客户端。即通过布隆过滤器实现合规用户的过滤,并在高并发下简单快捷判断用户合法性。
61.需要指出的是,本技术方案还可以进行爬虫数据的过滤方法,还可以是为用户喜
好新闻进行推荐的一种方法。
62.例如在一个购物软件中,商品抢购活动已经是各个购物网站经常使用的促销活动,各个消费者在同一时间、同一网站入口、对相同商品在数量有限的情况下进行抢购。高性能、高并发是系统研发时首要考虑的问题。其中对消费者合规性校验也是必须要考虑的问题,只有符合要求的消费者才可以进入抢购环节,例如是注册会员的才可以抢购、或者提前预约的用户才可以进行抢购,其他不符合条件的用户进行过滤。因此通过设置预设过滤器对消费者进行合规性校验并判断消费者是否满足预设抢购条件。例如预设过滤器可以为布隆过滤器,布隆过滤算法具有过滤查重的作用,可以通过该过滤算法实现对消费者合规性过滤以及预设条件的过滤,可以筛掉不合规的消费者,避免不合规的消费者进行抢购,以减轻网站系统的瞬间访问压力。在现有技术中为减轻网站因为大量访问而产生的系统压力,一般通过以下几种方式:通过服务器集群的方式,负载均衡单个系统的压力,这种要求加入更大多的硬件服务器;加大网站系统缓存空间,将系统用户进行缓存;采用消息中间的方式,将用户抢购信息加入到消息队列中,由于消息队列就有削峰的功效,这样可以缓解瞬间访问用户。而针对上述三种技术方案,分别存在以下的缺陷:方案一通过加入集群来进行处理,会使得硬件资源的投入过大,从而导致成本投入很大。方案二对用户信息进行缓存,容易造成系统内存不足,对系统的可用性造成影响。方案三在加入消息中间件后,对系统的维护要求提高,运维成本高。因此可以利用布隆过滤算法,对抢购用户快速验证,从而减轻系统压力并提高系统的用户体验度,同时布隆过滤器使用二进制向量结合hash函数来记录任意一条数据是否已经存在于集合中,对系统的内存要求大大降低,可以为服务器节省更多的内存空间。
63.需要指出的是,布隆过滤器是根据布隆算法设计的,结构图如图2所示,首先在预设的布隆过滤器中设置有包含size个bit(比特)位的bit集合,并将所有bit置0。然后使用数种(k)不同的哈希函数对目标数据进行哈希计算并得到k个哈希值,然后将bit集合中以哈希值为下标所处的bit值置为1,由于使用了k个哈希函数,因此记录一条数据的信息将在bit集合中把k个bit值置为1。其中哈希值不超过size大小。对于不同的目标值可能存在相同的哈希值,因此存在哈希值冲突,如果某个bit值为1,对应该位置的目标值可能有多个,也就是存在多个目标值中的一个存在。如果某个目标值的哈希值对应的bit为0,那么该目标值一定不存在。即一个用户的数据通过不同的哈希函数计算之后会得到多个bit值的位置信息,若这些bit值全部为1,则表明该用户的数据通过此次过滤且可以进入下一个预设过滤器,若这些bit值中存在一个或多个值为0,则表明该用户的数据无法通过此次过滤。
64.可见,本技术提供了一种请求过滤方法,包括:接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。由此可见,本技术中通过利用预设过滤器对访问请求进行多次过滤,得到过滤后的满足预设访问条件的请求,避免对不满足访问条件的请求执行对应操作的情况发生,只对筛选出的满足预设访问条件的请求进行对应的请求执行操作,减轻了系统压力,提高了系统的用户体验度,节省了服务器的内存空间。
65.参见图3所示,本发明实施例公开了一种请求过滤方法,相对于上一实施例,本实
施例对技术方案作了进一步的说明和优化。
66.步骤s21:获取数据库中满足预设合法条件的用户数据。
67.本实施例中,获取数据库中满足预设合法条件的用户数据。具体的,预先从数据库中分别获取满足每个预设过滤器中的预设条件的用户数据。例如如第一预设过滤器中的预设条件为满足预设合法条件,则获取数据库中满足预设合法条件的用户数据。
68.步骤s22:基于所述用户数据修改所述第一预设过滤器中用于表征所述用户数据是否合法的数值信息。
69.本实施例中,获取数据库中满足预设合法条件的用户数据,即获取满足第一预设过滤器中的第一预设条件的用户数据之后,基于所述用户数据修改所述第一预设过滤器中用于表征所述用户数据是否合法的数值信息。具体的,从每个所述用户数据中提取唯一的标识;基于所述标识与所述第一预设过滤器中的第一预设算法进行计算,以得到所述用户数据对应的坐标信息;修改所述第一预设过滤器中位于所述坐标信息上的用于表征所述用户数据是否合法,即是否满足第一预设过滤器中的第一预设条件的所述数值信息。
70.步骤s23:接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求。
71.本实施例中,接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求。例如图4所示,消费者登陆客户端之后,通过客户端向布隆过滤器发送请求,在后在布隆过滤器中判断该请求是否合规,如果合规,则将该请求对应的数据记录到数据库中对应的位置,若不合规,则将请求失败信息返回至客户端。可以理解的是,通过布隆算法设计布隆过滤器,可以引用google guava项目实现的布隆过滤器,也可以用redis中间件实现的布隆过滤器,本发明使用的是redis实现的布隆过滤器。
72.步骤s24:将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件。
73.步骤s25:若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。
74.本实施例中,若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。具体的,例如在商品抢购系统中,在商品抢购前,预先将符合条件、具有优先级的用户从数据库中查询出来,查询的内容包含用户唯一标识的字段信息,然后将查询出的用户进行循环调用redis的布隆过滤器指令bf.add,即通过预设的哈希函数与用户唯一标识的字段信息计算得到对应的位置信息,将布隆过滤器中位于上述位置的数值信息由0改为1,其他的位置上的数值信息保持0不变。在抢购过程中,客户端将用户的唯一标识发送给布隆过滤器,先判断是否存在bf.exists,即根据用户的唯一标识与布隆过滤器中的哈希函数进行计算得到对应的位置信息,查询布隆过滤器中位于上述位置对应的数值信息,如果布隆过滤器返回的信息中包含0,则表明用户不具备条件抢购并退出系统;如果系统返回的信息全部是1,则进行后面的数据计算。若对用户抢购的次数有限制,则设置第二个布隆过滤器,用于判断用户是否可以再次进行购买,即若用户合规并抢购成功,在通过系统校验后将抢购成功用户的标识放入另一个布隆过滤器中,用来再次进行校验,判断用户是否已经抢购成功,抢购成功的用户不能再次进行抢购。布隆过滤器的数量可以根据实际情况设置。可以理解的是,当用户抢购成功后,会将该用户抢购成功的信息记录在
数据库中,以便第二个布隆过滤器根据数据库中抢购成功的数据的标识信息计算得到对应的位置,并改变第二个布隆过滤器中该位置上的数值信息。
75.步骤s26:在所述第二访问请求执行完成后删除所述第一预设过滤器以及所述第二预设过滤器。
76.本实施例中,执行对应的操作并将操作结果返回至所述客户端之后,删除所述第一预设过滤器以及所述第二预设过滤器。例如在本次活动的商品抢购完成后,删除相应的布隆过滤器,处理后续的程序。可以理解的是,在本次访问请求满足全部预设过滤器中的过滤条件后,执行该访问请求,并在该访问请求对应的操作执行完成且将操作结果返回至所述客户端之后,删除全部的预设过滤器。本发明可以简单的过滤器算法,实现了高并发下减轻服务器压力的功效,提升了速度并减小了内存消耗,代码实现简单。
77.关于上述步骤s24的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
78.可见,本技术实施例通过获取数据库中满足预设合法条件的用户数据;基于所述用户数据修改所述第一预设过滤器中用于表征所述用户数据是否合法的数值信息;接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端;在所述第二访问请求执行完成后删除所述第一预设过滤器以及所述第二预设过滤器。由此可见,本技术通过为预设过滤器设置不同的过滤请求对接收到的全部请求过滤,对过滤得到的满足预设访问条件的请求进行对应的请求执行操作,减轻了系统压力,提高了系统的用户体验度,节省了服务器的内存空间。
79.参见图5所示,本发明实施例公开了一种请求过滤方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
80.步骤s31:接收客户端发送的访问请求并获取所述访问请求中的目标标识。
81.本实施例中,接收客户端发送的访问请求并获取所述访问请求中的目标标识。可以理解的是,客户端的每个访问请求中的目标标识是唯一的标识信息,用于标识该访问请求对应的客户身份。
82.步骤s32:调用所述第一预设过滤器中的预设判断指令并基于所述目标标识判断所述访问请求是否合法。
83.本实施例中,获取所述访问请求中的目标标识之后,调用所述第一预设过滤器中的预设判断指令并基于所述目标标识判断所述访问请求是否合法。具体的,基于所述目标标识与所述第一预设算法进行计算,以得到所述访问请求对应的第一目标坐标信息;查询所述第一预设过滤器中与所述第一目标坐标信息对应的第一目标数值信息;若所述第一目标数值信息均为第一数值信息,则表明所述访问请求合法;若所述第一目标数值信息中存在第二数值信息,则表明所述访问请求不合法。可以理解的是,此时调用所述第一预设过滤器中的预设判断指令并基于所述目标标识判断所述访问请求是否满足第一预设过滤器中的预设条件,如在第一预设过滤器中的过滤条件是判断该访问请求是否合法,例如过滤器为布隆过滤器,由于布隆过滤算法具有过滤查重的作用,因此可以通过该过滤算法实现消费者合规性进行过滤。过滤器中的过滤条件可以根据实际情况进行相应的调整。
84.步骤s33:若所述访问请求合法,则将所述访问请求确定为所述第一访问请求。
85.本实施例中,基于所述目标标识判断所述访问请求是否合法,若所述访问请求合法,则将所述访问请求确定为所述第一访问请求。可以理解的是,只有当该访问请求满足第一预设过滤器中的过滤条件时,该访问请求才被允许发送至第二预设过滤器中,即若不满足第一预设过滤器中的过滤条件,则直接禁止该访问请求访问。
86.步骤s34:将所述第一访问请求发送至第二预设过滤器,基于所述第二预设过滤器中的第二预设算法以及所述目标标识进行计算,以得到所述第一访问请求对应的第二目标坐标信息。
87.本实施例中,当该访问请求满足第一预设过滤器中的过滤条件时,将所述第一访问请求发送至第二预设过滤器,基于所述第二预设过滤器中的第二预设算法以及所述目标标识进行计算,以得到所述第一访问请求对应的第二目标坐标信息。可以理解的是,在第二预设过滤器中计算得到第二目标坐标信息的方法与在第一预设过滤器中相同。
88.步骤s35:查询所述第二预设过滤器中与所述第二目标坐标信息对应的第二目标数值信息。
89.本实施例中,得到所述第一访问请求对应的第二目标坐标信息之后,在所述第二预设过滤器中查询与所述第二目标坐标信息对应的第二目标数值信息。可以理解的是,所述第二预设过滤器中包含用于表征所述第一访问请求是否满足预设请求执行条件的所述数值信息;若所述第二目标数值信息均为第三数值信息,则表明所述第一访问请求满足所述预设请求执行条件;若所述第二目标数值信息中存在第四数值信息,则表明所述第一访问请求不满足所述预设请求执行条件。
90.步骤s36:将满足所述预设请求执行条件的请求确定为第二访问请求。
91.本实施例中,查询所述第二预设过滤器中与所述第二目标坐标信息对应的第二目标数值信息之后,将满足所述预设请求执行条件的请求确定为第二访问请求。可以理解的是,若只设置了两个预设过滤器,则在确定所述第一访问请求满足所述预设请求执行条件之后,将该访问请求确定为第二访问请求,此时该请求被允许执行对应的操作。若仍旧设置由其他预设过滤器,则在确定所述第一访问请求满足所述预设请求执行条件之后,将该访问请求确定为第二访问请求,并将上述第二访问请求发送至后续其他的预设过滤器中进行对应的过滤操作,直至确定该访问请求满足预先设置的全部预设过滤器的过滤条件后,才可以执行该访问请求对应的操作。
92.步骤s37:执行所述第二访问请求并将操作结果返回至所述客户端。
93.关于上述步骤s37的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
94.可见,本技术实施例通过接收客户端发送的访问请求并获取所述访问请求中的目标标识;调用所述第一预设过滤器中的预设判断指令并基于所述目标标识判断所述访问请求是否合法;若所述访问请求合法,则将所述访问请求确定为所述第一访问请求;将所述第一访问请求发送至第二预设过滤器,基于所述第二预设过滤器中的第二预设算法以及所述目标标识进行计算,以得到所述第一访问请求对应的第二目标坐标信息;查询所述第二预设过滤器中与所述第二目标坐标信息对应的第二目标数值信息;将满足所述预设请求执行条件的请求确定为第二访问请求;执行所述第二访问请求并将操作结果返回至所述客户
端。由此可见,本技术只对多次过滤得到的的满足预设访问条件的请求进行对应的请求执行操作,减轻了系统压力,提高了系统的用户体验度,节省了服务器的内存空间。
95.参见图6所示,本技术实施例还相应公开了一种请求过滤装置,应用于服务器,包括:
96.第一过滤模块11,用于接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;
97.第二过滤模块12,用于将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;
98.请求执行模块13,用于若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。
99.可见,本技术包括:接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。由此可见,本技术中通过利用预设过滤器对访问请求进行多次过滤,得到过滤后的满足预设访问条件的请求,避免对不满足访问条件的请求执行对应操作的情况发生,只对筛选出的满足预设访问条件的请求进行对应的请求执行操作,减轻了系统压力,提高了系统的用户体验度,节省了服务器的内存空间。
100.在一些具体实施例中,所述第一过滤模块11,具体包括:
101.用户数据获取单元,用于获取数据库中满足预设合法条件的用户数据;
102.标识提取单元,用于从每个所述用户数据中提取唯一的标识;
103.第一计算单元,用于基于所述标识与所述第一预设过滤器中的第一预设算法进行计算,以得到所述用户数据对应的坐标信息;
104.数值信息修改单元,用于修改所述第一预设过滤器中位于所述坐标信息上的用于表征所述用户数据是否合法的所述数值信息;
105.请求接收单元,用于接收客户端发送的访问请求;
106.标识获取单元,用于获取所述访问请求中的目标标识;
107.第二计算单元,用于基于所述目标标识与所述第一预设算法进行计算,以得到所述访问请求对应的第一目标坐标信息;
108.第一信息查询单元,用于查询所述第一预设过滤器中与所述第一目标坐标信息对应的第一目标数值信息;
109.合法判定单元,用于若所述第一目标数值信息均为第一数值信息,则表明所述访问请求合法;
110.不合法判定单元,用于若所述第一目标数值信息中存在第二数值信息,则表明所述访问请求不合法;
111.第一请求确定单元,用于若所述访问请求合法,则将所述访问请求确定为所述第一访问请求。
112.在一些具体实施例中,所述第二过滤模块12,具体包括:
113.第一访问请求发送单元,用于将所述第一访问请求发送至第二预设过滤器;
114.第三计算单元,用于基于所述第二预设过滤器中的第二预设算法以及所述目标标识进行计算,以得到所述第一访问请求对应的第二目标坐标信息;
115.第二信息查询单元,用于查询所述第二预设过滤器中与所述第二目标坐标信息对应的第二目标数值信息;其中,所述第二预设过滤器中包含用于表征所述第一访问请求是否满足预设请求执行条件的所述数值信息;
116.满足条件判断单元,用于若所述第二目标数值信息均为第三数值信息,则表明所述第一访问请求满足所述预设请求执行条件;
117.不满足条件判断单元,用于若所述第二目标数值信息中存在第四数值信息,则表明所述第一访问请求不满足所述预设请求执行条件;
118.第二请求确定单元,用于将满足所述预设请求执行条件的请求确定为第二访问请求。
119.在一些具体实施例中,所述请求执行模块13,具体包括:
120.请求执行单元,用于执行所述第二访问请求;
121.操作结果返回单元,用于将操作结果返回至所述客户端;
122.过滤器删除单元,用于在所述第二访问请求执行完成后删除所述第一预设过滤器以及所述第二预设过滤器。
123.进一步的,本技术实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
124.图7为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的请求过滤方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
125.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
126.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
127.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的请求过滤方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
128.进一步的,本技术实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的请求过滤方法步骤。
129.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它
实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
130.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
131.以上对本发明所提供的一种请求过滤方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:1.一种请求过滤方法,其特征在于,应用于服务器,包括:接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。2.根据权利要求1所述的请求过滤方法,其特征在于,所述接收客户端发送的访问请求之前,包括:获取数据库中满足预设合法条件的用户数据;基于所述用户数据修改所述第一预设过滤器中用于表征所述用户数据是否合法的数值信息。3.根据权利要求2所述的请求过滤方法,其特征在于,所述基于所述用户数据修改所述第一预设过滤器中用于表征所述用户数据是否合法的数值信息,包括:从每个所述用户数据中提取唯一的标识;基于所述标识与所述第一预设过滤器中的第一预设算法进行计算,以得到所述用户数据对应的坐标信息;修改所述第一预设过滤器中位于所述坐标信息上的用于表征所述用户数据是否合法的所述数值信息。4.根据权利要求3所述的请求过滤方法,其特征在于,所述接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求,包括:接收客户端发送的访问请求并获取所述访问请求中的目标标识;调用所述第一预设过滤器中的预设判断指令并基于所述目标标识判断所述访问请求是否合法;若所述访问请求合法,则将所述访问请求确定为所述第一访问请求。5.根据权利要求4所述的请求过滤方法,其特征在于,所述调用所述第一预设过滤器中的预设判断指令并基于所述目标标识判断所述访问请求是否合法,包括:基于所述目标标识与所述第一预设算法进行计算,以得到所述访问请求对应的第一目标坐标信息;查询所述第一预设过滤器中与所述第一目标坐标信息对应的第一目标数值信息;若所述第一目标数值信息均为第一数值信息,则表明所述访问请求合法;若所述第一目标数值信息中存在第二数值信息,则表明所述访问请求不合法。6.根据权利要求2至5任一项所述的请求过滤方法,其特征在于,所述将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件,包括:将所述第一访问请求发送至第二预设过滤器,基于所述第二预设过滤器中的第二预设算法以及所述目标标识进行计算,以得到所述第一访问请求对应的第二目标坐标信息;查询所述第二预设过滤器中与所述第二目标坐标信息对应的第二目标数值信息;其中,所述第二预设过滤器中包含用于表征所述第一访问请求是否满足预设请求执行条件的所述数值信息;
若所述第二目标数值信息均为第三数值信息,则表明所述第一访问请求满足所述预设请求执行条件;若所述第二目标数值信息中存在第四数值信息,则表明所述第一访问请求不满足所述预设请求执行条件;将满足所述预设请求执行条件的请求确定为第二访问请求。7.根据权利要求6所述的请求过滤方法,其特征在于,所述若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端,包括:执行所述第二访问请求并将操作结果返回至所述客户端;在所述第二访问请求执行完成后删除所述第一预设过滤器以及所述第二预设过滤器。8.一种请求过滤装置,其特征在于,应用于服务器,包括:第一过滤模块,用于接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;第二过滤模块,用于将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;请求执行模块,用于若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的请求过滤方法的步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的请求过滤方法。
技术总结本申请公开了一种请求过滤方法、装置、设备及存储介质,涉及计算机技术领域,包括:接收客户端发送的访问请求,并通过第一预设过滤器对所述访问请求进行过滤,以得到第一访问请求;将所述第一访问请求发送至第二预设过滤器,以便判断所述第一访问请求是否满足预设访问条件;若所述第一访问请求满足所述预设访问条件,则执行对应的操作并将操作结果返回至所述客户端。本申请通过利用预设过滤器对访问请求进行多次过滤,筛选出满足预设访问条件的请求进行对应的请求执行操作,避免对不满足访问条件的请求执行对应操作的情况发生,减轻了系统压力,提高了系统的用户体验度,节省了服务器的内存空间。器的内存空间。器的内存空间。
技术研发人员:崔广银
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1