一种请求处理方法及设备与流程

文档序号:17398652发布日期:2019-04-13 01:01阅读:217来源:国知局
一种请求处理方法及设备与流程

本发明涉及互联网系统服务领域,尤其涉及一种请求处理方法及设备。



背景技术:

如今,互联网公司往往会通过数据库为用户提供各式各样的数据服务,用户可以通过发送请求对数据库中的数据进行访问。

当用户访问某互联网公司的网页时,如该用户为注册用户,则该网页会向该互联网公司的服务器发送访问请求,该服务器会在数据库中查询该用户是否为注册用户,如果是,就会将数据库中存储的该注册用户的信息(例如:头像、昵称、观看记录等)返回到网页中进行显示。

但是,除注册用户外,还有大量的非注册用户,在非注册用户访问该网页时,网页也会向服务器发送访问请求,即使数据库中没有非注册用户的信息,服务器同样也会在数据库中进行查询操作。所以,当大量非注册用户对服务器发送访问请求时,会对数据库造成很大的压力。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种请求处理方法及设备,技术方案如下:

一种请求处理方法,应用于请求处理设备中,所述请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,所述方法包括:

控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

获得所述布隆过滤器过滤后的访问请求;

在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。

可选的,所述在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,包括:

在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,则向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息,如果未查找到,在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,其中,与所述身份标识对应的信息存储在所述第一数据库中。

可选的,所述在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,包括:

在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,则向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息,并将查找到的身份标识及查找到的身份标识对应的信息保存到所述第一数据库中,如果未查找到,则通知用户未查询到所请求的信息。

可选的,所述在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,还包括:

如在所述第二数据库中未查找所述布隆过滤器过滤后的访问请求携带的身份标识,则将查找结果保存到所述第一数据库中。

可选的,所述方法,还包括:

通过监控节点对应用服务器进行监控,当有新注册用户的身份标识写入到所述应用服务器并保存到所述第一数据库之后,将所述第一数据库保存的所述新注册用户的身份标识保存到所述请求处理设备的内存中。

可选的,所述方法,还包括:

将所述第一数据库中的全部或部分身份标识划分为多份身份标识组;

按照预设保存顺序依次将所述多份身份标识组保存到所述请求处理设备的内存中。

一种请求处理设备,所述请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,所述请求处理设备包括:第一过滤单元、第一获得单元和第一查找单元,

所述第一过滤单元,用于控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

所述第一获得单元,用于获得所述布隆过滤器过滤后的访问请求;

所述第一查找单元,用于在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。

可选的,所述第一查找单元,包括第一查找子单元、第三查找子单元和第一反馈子单元,

所述第一查找子单元,用于在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,触发所述第一反馈子单元,如果未查找到,则触发所述第三查找子单元;

所述第三查找子单元,用于在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,其中,与所述身份标识对应的信息存储在所述第一数据库中;

所述第一反馈子单元,用于向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息。

可选的,所述第三查找子单元,包括:第二查找子单元、第二反馈子单元、第一保存子单元和第一通知子单元,

所述第二查找子单元,用于在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,则触发所述第二反馈子单元和所述第一保存子单元,如果未查找到,则触发所述第一通知子单元,

所述第二反馈子单元,用于向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息;

所述第一保存子单元,用于将查找到的身份标识及查找到的身份标识对应的信息保存到所述第一数据库中;

所述第一通知子单元,用于通知用户未查询到所请求的信息。

可选的,所述第三查找子单元,还包括:第二保存子单元,用于在所述第二查找子单元在所述第二数据库中未查找所述布隆过滤器过滤后的访问请求携带的身份标识时,将查找结果保存到所述第一数据库中。

可选的,所述设备,还包括:第二保存单元,

所述第二保存单元,用于通过监控节点对应用服务器进行监控,当有新注册用户的身份标识写入到所述应用服务器并保存到所述第一数据库之后,将所述第一数据库保存的所述新注册用户的身份标识保存到所述请求处理设备的内存中。

可选的,所述设备,还包括:第一分组单元和第三保存单元,

所述第一分组单元,用于将所述第一数据库中的全部或部分身份标识划分为多份身份标识组;

所述第三保存单元,用于按照预设保存顺序依次将所述多份身份标识组保存到所述请求处理设备的内存中。

借由上述方案,本发明提供的一种请求处理方法及设备,请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,所述方法包括:控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;获得所述布隆过滤器过滤后的访问请求;在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。本发明能有效过滤掉非注册用户对为注册用户服务的数据库的访问请求,减轻为注册用户服务的数据库的访问压力。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:

图1示出了本发明实施例提供的一种请求处理方法的流程图;

图2示出了本发明实施例提供的另一种请求处理方法的流程图;

图3示出了本发明实施例提供的另一种请求处理方法的流程图;

图4示出了本发明实施例提供的另一种请求处理方法的流程图;

图5示出了本发明实施例提供的另一种请求处理方法的流程图;

图6示出了本发明实施例提供的另一种请求处理方法的流程图;

图7示出了本发明实施例提供的另一种请求处理方法的流程图;

图8示出了本发明实施例提供的一种请求处理设备的结构图;

图9示出了本发明实施例提供的另一种请求处理设备的结构图;

图10示出了本发明实施例提供的另一种请求处理设备的结构图;

图11示出了本发明实施例提供的另一种请求处理设备的结构图;

图12示出了本发明实施例提供的另一种请求处理设备的结构图;

图13示出了本发明实施例提供的另一种请求处理设备的结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本发明实施例提供的一种请求处理方法,应用于请求处理设备中,所述请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,该方法可以包括:

s100、控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

具体的,布隆过滤器是一个很长的二进制向量和一系列随机映射函数,用于检索一个元素是否在一个集合中,无论是注册用户还是非注册用户发送的请求,请求中都包含有对应的身份标识,其中内存中保存的是所有注册用户的身份标识,可以认为是注册用户身份标识的集合,当用户将请求发送到请求处理设备后,由布隆过滤器在注册用户身份标识集合中寻找该用户的身份标识,例如,一个用户想要查询认证信息,先发送查询请求到请求处理设备中,通过布隆过滤器根据内存中身份标识与该查询请求中的身份标识作对比,判断这个用户是不是注册用户,如果是,则在第一数据库中查找与该身份标识对应的认证信息,否则拒绝这个用户的查询请求。

s200、获得所述布隆过滤器过滤后的访问请求;

s300、在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。

具体的,第一数据库可以是日志型键值数据库redis,redis是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api,其中ansi是一种字符代码,表示的是0*80~0*ffff范围的2个字节,第一数据库提供了一个分布式缓存系统来提供对此第一数据库的访问接口以及本地数据缓冲以降低网络压力。

其中,第一数据库将注册用户的身份标识和与身份标识对应的信息分散存储在多台独立的设备上,当注册用户发出请求后,在第一数据库中查找该注册用户的身份标识和与身份标识对应的信息。

本发明实施例提供的一种请求处理方法,可以应用于请求处理设备中,所述请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识,获得所述布隆过滤器过滤后的访问请求,在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。本发明可以过滤掉非注册用户的访问请求,解决现有技术中无法区分注册用户和非注册用户的问题,减轻redis和mysql的访问压力。

可选的,如图2所示,本发明实施例提供的另一种请求处理方法,可以包括:

s100、控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

s200、获得所述布隆过滤器过滤后的访问请求;

s310、在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,则执行步骤s320;如果未查找到,则执行步骤s330;

s320、向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息;

s330、在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,其中,与所述身份标识对应的信息存储在所述第一数据库中。

为了方便理解,此处进行举例说明:一个用户发出查询认证信息的查询请求,经过布隆过滤器证明是注册用户后,在第一数据库中查找与该查询请求中的身份标识一致的身份标识,如果查找到,就把认证信息反馈给用户,如果未查找到,就在第二数据库中继续查找与该查询请求中的身份标识一致的身份标识。

其中,第二数据库可以是mysql,因为当所有的注册用户所需的信息都需要存储的时候,那么需要的存储空间就非常大,第一数据库只够存储一些经常查询的信息,对于不经常被查询的信息存储在第二数据库中,同时,第二数据库保存有第一数据库全部的信息。

步骤s310至步骤s330可以为图1所示方法中的步骤s300的一种具体执行方式。

可选的,如图3所示,图2所示方法中步骤s330可以进一步包括:

s331、在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,则执行步骤s332;如果未查找到,则执行步骤s333;

s332、向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息,并将查找到的身份标识及查找到的身份标识对应的信息保存到所述第一数据库中;

s333、通知用户未查询到所请求的信息。

为了方便理解,此处进行举例说明:一个用户发出查询认证信息的查询请求,经过布隆过滤器证明是注册用户后,在第一数据库中查找与该查询请求中的身份标识一致的身份标识,如果查找到,就把认证信息反馈给用户,如果未查找到,就在第二数据库中继续查找与该查询请求中的身份标识一致的身份标识,如果在第二数据库中查找到与该查询请求中的身份标识一致的身份标识,则将存储在第二数据库中的该身份标识下的信息反馈给该用户,并且将该身份标识和与该身份标识对应的认证信息保存到第一数据库中,方便该用户下一次查询认证信息时可以更快速地查询到该认证信息,如果未查找到,则通知该用户未查询到所请求的信息。

可选的,在图3所示实施例基础上,如图4所示,图2所示方法中步骤s330还可以包括:

s334、如在所述第二数据库中未查找所述布隆过滤器过滤后的访问请求携带的身份标识,则将查找结果保存到所述第一数据库中。

其中,图4中步骤s333和步骤s334的执行顺序并不仅限于图4中一种,步骤s334也可以先于步骤s333执行或与步骤s333并行执行。

为了方便理解,此处进行举例说明:一个用户发出查询认证信息的查询请求,经过布隆过滤器证明是注册用户后,在第一数据库中查找与该查询请求中的身份标识一致的身份标识,如果查找到,就把认证信息反馈给用户,如果未查找到,就在第二数据库中继续查找与该查询请求中的身份标识一致的身份标识,如果在第二数据库中查找到与该查询请求中的身份标识一致的身份标识,则将存储在第二数据库中的该身份标识下的信息反馈给该用户,并且将该身份标识和与该身份标识对应的认证信息保存到第一数据库中,方便该用户下一次查询认证信息时可以更快速地查询到该认证信息,如果未查找到,则通知该用户未查询到所请求的信息,并将这个未查找到的结果保存到所述第一数据库中,防止该用户重复查询认证信息,其中身份标识对应的信息可以是认证信息、版权信息、昵称、头像、所属圈子、是否开通泡泡圈和频道信息等。

可选的,如图5所示,本发明实施例提供的另一种请求处理方法,可以包括:

s100、控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

s200、获得所述布隆过滤器过滤后的访问请求;

s300、在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理;

s400、通过监控节点对应用服务器进行监控,当有新注册用户的身份标识写入到所述应用服务器并保存到所述第一数据库之后,将所述第一数据库保存的所述新注册用户的身份标识保存到所述请求处理设备的内存中。

其中,监控节点可以是zookeeper,zookeeper是一个分布式的、开放源码的分布式应用程序协调服务,是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作,在本发明中主要利用了zookeeper的监听节点数据变化的功能。

具体的,新注册用户的身份标识及与身份标识对应的信息首先写入到应用服务器中,再由应用服务器加载到第一数据库和第二数据库中,当监听到应用服务器获得新注册用户的身份标识及与身份标识对应的信息后,请求处理设备向第一数据库发送获得该新注册用户的身份标识的请求,等待应用服务器加载该新注册用户的身份标识及与身份标识对应的信息到第一数据库完毕后,第一数据库将该新注册用户的身份标识发送给请求处理设备,请求处理设备将该新注册用户的身份标识保存在内存中,上述方法可以看作是对布隆过滤器的一种更新。

可以理解的是,只要有新注册用户,都会执行步骤s400,都会将所述第一数据库保存的所述新注册用户的身份标识保存到所述请求处理设备的内存中,图5所示只是其中一种可能的情况。

可选的,如图6所示,本发明实施例提供的另一种请求处理方法,可以包括:

s100、控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

s200、获得所述布隆过滤器过滤后的访问请求;

s300、在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理;

s500、将所述第一数据库中的全部或部分身份标识划分为多份身份标识组;

其中,划分为多份身份标识组可以是每组身份标识的数量相同,也可以每组身份标识的数量不同,根据实际情况进行具体的划分,本发明中具体划分为1000份。

s600、按照预设保存顺序依次将所述多份身份标识组保存到所述请求处理设备的内存中。

具体的,在将第一数据库中的全部或部分身份标识进行划分为多个身份标识组后,依次按照预设保存顺序将各个身份标识组保存到请求处理设备的内存中,其中预设保存顺序,是预先设置的,可以根据实际需要进行调整,主要目的是避免在对请求处理设备进行初始化时发生故障。

可以理解的是,只要需要对请求处理设备进行初始化,都会执行步骤s500,对第一数据库中的全部或部分身份标识划分为多份身份标识组,和步骤s600按照预设保存顺序依次将所述多份身份标识组保存到所述请求处理设备的内存中,图6所示只是其中一种可能的情况。

可选的,如图7所示,本发明实施例提供的另一种请求处理方法,可以包括:

s100、控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

s200、获得所述布隆过滤器过滤后的访问请求;

s300、在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理;

s400、通过监控节点对应用服务器进行监控,当有新注册用户的身份标识写入到所述应用服务器并保存到所述第一数据库之后,将所述第一数据库保存的所述新注册用户的身份标识保存到所述请求处理设备的内存中;

s500、将所述第一数据库中的全部或部分身份标识划分为多份身份标识组;

s600、按照预设保存顺序依次将所述多份身份标识组保存到所述请求处理设备的内存中。

上述步骤s100至步骤s600已在前述实施例中进行说明,请参见前述实施例,不再赘述。

与上述方法实施例相对应,本发明实施例还提供了一种请求处理设备。

如图8所示,本发明实施例提供的一种请求处理设备,所述请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,所述请求处理设备可以包括:第一过滤单元001、第一获得单元002和第一查找单元003,

所述第一过滤单元001,用于控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;

具体的,布隆过滤器是一个很长的二进制向量和一系列随机映射函数,用于检索一个元素是否在一个集合中,无论是注册用户还是非注册用户发送的请求,请求中都包含有对应的身份标识,其中内存中保存的是所有注册用户的身份标识,可以认为是注册用户身份标识的集合,当用户将请求发送到请求处理设备后,由布隆过滤器在注册用户身份标识集合中寻找该用户的身份标识,例如,一个用户想要查询认证信息,先发送查询请求到请求处理设备中,通过布隆过滤器根据内存中身份标识与该查询请求中的身份标识作对比,判断这个用户是不是注册用户,如果是,则在第一数据库中查找与该身份标识对应的认证信息,否则拒绝这个用户的查询请求。

所述第一获得单元002,用于获得所述布隆过滤器过滤后的访问请求;

所述第一查找单元003,用于在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。

具体的,第一数据库可以是日志型键值数据库redis,redis是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api,其中ansi是一种字符代码,表示的是0*80~0*ffff范围的2个字节,第一数据库提供了一个分布式缓存系统来提供对此第一数据库的访问接口以及本地数据缓冲以降低网络压力。

其中,第一数据库将注册用户的身份标识和与身份标识对应的信息分散存储在多台独立的设备上,当注册用户发出请求后,在第一数据库中查找该注册用户的身份标识和与身份标识对应的信息。

本发明实施例提供的一种请求处理设备,所述请求处理设备的内存中设置有布隆过滤器,所述内存中保存有注册用户的身份标识,所述请求处理设备包括:第一过滤单元001、第一获得单元002和第一查找单元003,所述第一过滤单元001,用于控制所述布隆过滤器根据所述内存中保存的注册用户的身份标识,对非注册用户发送至所述请求处理设备的访问请求进行过滤,其中,所述访问请求中携带有身份标识;所述第一获得单元002,用于获得所述布隆过滤器过滤后的访问请求;所述第一查找单元003,用于在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理。本发明可以过滤掉非注册用户的访问请求,解决现有技术中无法区分注册用户和非注册用户的问题,减轻redis和mysql的访问压力。

可选的,基于图8所示设备,如图9所示,本发明实施例提供的另一种请求处理设备,所述第一查找单元003,可以包括第一查找子单元0031、第三查找子单元0032和第一反馈子单元0033,

所述第一查找子单元0031,用于在第一数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,触发所述第一反馈子单元0033,如果未查找到,则触发所述第三查找子单元0032;

所述第三查找子单元0032,用于在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,根据查找结果对所述布隆过滤器过滤后的访问请求进行处理,其中,与所述身份标识对应的信息存储在所述第一数据库中;

所述第一反馈子单元0033,用于向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息。

为了方便理解,此处进行举例说明:一个用户发出查询认证信息的查询请求,经过布隆过滤器证明是注册用户后,在第一数据库中查找与该查询请求中的身份标识一致的身份标识,如果查找到,就把认证信息反馈给用户,如果未查找到,就在第二数据库中继续查找与该查询请求中的身份标识一致的身份标识。

其中,第二数据库可以是mysql,因为当所有的注册用户所需的信息都需要存储的时候,那么需要的存储空间就非常大,第一数据库只够存储一些经常查询的信息,对于不经常被查询的信息存储在第二数据库中,同时,第二数据库保存有第一数据库全部的信息。

可选的,基于图9所示的设备,如图10所示,本发明实施例提供的另一种请求处理设备,所述第三查找子单元0032,可以包括:第二查找子单元00321、第二反馈子单元00322、第一保存子单元00323和第一通知子单元00324,

所述第二查找子单元00321,用于在第二数据库中查找所述布隆过滤器过滤后的访问请求携带的身份标识,如果查找到,则触发所述第二反馈子单元00322和所述第一保存子单元00323,如果未查找到,则触发所述第一通知子单元00324,

所述第二反馈子单元00322,用于向发送所述布隆过滤器过滤后的访问请求的用户反馈与查找到的身份标识对应的信息;

所述第一保存子单元00323,用于将查找到的身份标识及查找到的身份标识对应的信息保存到所述第一数据库中;

所述第一通知子单元00324,用于通知用户未查询到所请求的信息。

为了方便理解,此处进行举例说明:一个用户发出查询认证信息的查询请求,经过布隆过滤器证明是注册用户后,在第一数据库中查找与该查询请求中的身份标识一致的身份标识,如果查找到,就把认证信息反馈给用户,如果未查找到,就在第二数据库中继续查找与该查询请求中的身份标识一致的身份标识,如果在第二数据库中查找到与该查询请求中的身份标识一致的身份标识,则将存储在第二数据库中的该身份标识下的信息反馈给该用户,并且将该身份标识和与该身份标识对应的认证信息保存到第一数据库中,方便该用户下一次查询认证信息时可以更快速地查询到该认证信息,如果未查找到,则通知该用户未查询到所请求的信息。

可选的,基于图10所示设备,如图11所示,本发明实施例提供的另一种请求处理设备,所述第三查找子单元0032还可以包括:第二保存子单元00325,

所述第二保存子单元00325,用于在所述第二查找子单元00321在所述第二数据库中未查找所述布隆过滤器过滤后的访问请求携带的身份标识时,将查找结果保存到所述第一数据库中。

为了方便理解,此处进行举例说明:一个用户发出查询认证信息的查询请求,经过布隆过滤器证明是注册用户后,在第一数据库中查找与该查询请求中的身份标识一致的身份标识,如果查找到,就把认证信息反馈给用户,如果未查找到,就在第二数据库中继续查找与该查询请求中的身份标识一致的身份标识,如果在第二数据库中查找到与该查询请求中的身份标识一致的身份标识,则将存储在第二数据库中的该身份标识下的信息反馈给该用户,并且将该身份标识和与该身份标识对应的认证信息保存到第一数据库中,方便该用户下一次查询认证信息时可以更快速地查询到该认证信息,如果未查找到,则通知该用户未查询到所请求的信息,并将这个未查找到的结果保存到所述第一数据库中,防止该用户重复查询认证信息,其中身份标识对应的信息可以是认证信息、版权信息、昵称、头像、所属圈子、是否开通泡泡圈和频道信息等。

可选的,基于图8所示的设备,如图12所示,本发明实施例提供的另一种请求处理设备,所述设备还可以包括:第二保存单元004,

所述第二保存单元004,用于通过监控节点对应用服务器进行监控,当有新注册用户的身份标识写入到所述应用服务器并保存到所述第一数据库之后,将所述第一数据库保存的所述新注册用户的身份标识保存到所述请求处理设备的内存中。

其中,监控节点可以是zookeeper,zookeeper是一个分布式的、开放源码的分布式应用程序协调服务,是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作,在本发明中主要利用了zookeeper的监听节点数据变化的功能。

具体的,新注册用户的身份标识及与身份标识对应的信息首先写入到应用服务器中,再由应用服务器加载到第一数据库和第二数据库中,当监听到应用服务器获得新注册用户的身份标识及与身份标识对应的信息后,请求处理设备向第一数据库发送获得该新注册用户的身份标识的请求,等待应用服务器加载该新注册用户的身份标识及与身份标识对应的信息到第一数据库完毕后,第一数据库将该新注册用户的身份标识发送给请求处理设备,请求处理设备将该新注册用户的身份标识保存在内存中,上述方法可以看作是对布隆过滤器的一种更新。

可选的,基于图8所示的设备,如图13所示,本发明实施例提供的另一种请求处理设备,所述设备还可以包括:第一分组单元005和第三保存单元006,

所述第一分组单元005,用于将所述第一数据库中的全部或部分身份标识划分为多份身份标识组;

其中,划分为多份身份标识组可以是每组身份标识的数量相同,也可以每组身份标识的数量不同,根据实际情况进行具体的划分,本发明中具体划分为1000份。

所述第三保存单元006,用于按照预设保存顺序依次将所述多份身份标识组保存到所述请求处理设备的内存中。

具体的,在将第一数据库中的全部或部分身份标识进行划分为多个身份标识组后,依次按照预设保存顺序将各个身份标识组保存到请求处理设备的内存中,其中预设保存顺序,是预先设置的,可以根据实际需要进行调整,主要目的是避免在对请求处理设备进行初始化时发生故障。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1