请求处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28987646 阅读:13 留言:0更新日期:2021-06-23 09:39
本发明专利技术公开了一种请求处理方法、装置、电子设备及计算机可读存储介质。该方法应用于内容分发网络的节点设备,包括:接收客户端发送的第一服务请求,其中,所述第一服务请求中携带所述客户端的域名;通过本地进程查询所述进程内的Lrucache缓存中与所述域名对应的信息;在查询到的与所述域名对应的信息为所述域名的配置信息的情况下,响应所述第一服务请求;在查询到的与所述域名对应的信息为未配置配置信息的情况下,拒绝响应所述第一服务请求。本发明专利技术可以减少内容分发网络的节点设备的CPU消耗。

【技术实现步骤摘要】
请求处理方法、装置、电子设备及存储介质
本专利技术涉及软件
,尤其涉及一种请求处理方法、装置、电子设备及存储介质。
技术介绍
现有的CDN(ContentDeliveryNetwork,内容分发网络)架构普遍采用反向代理+cache(缓存)的架构,即CDN的节点设备采用反向代理+cache(缓存)的架构,反向代理一般采用开源软件nginx。为了做到多进程模型的nginx的配置实时下发实时生效,配置要在nginx实现共享内存,由各个进程之间共享并进行进程间通讯。但是由于共享内存是在进程之间共享,因此每一个进程对共享内存都是可读可写的,为了保持文件的原子性,共享内存会加上锁。当存在多个向CDN网络的配置查询请求时,多进程之间会出现抢锁现象。为避免上述抢锁问题,目前采用的方案是使用Openresty提供的进程内部的容器Lrucache。Lrucache是使用LRU缓存策略的缓存,LRU是最近最少使用到的(leastrecentlyused),就是当超出缓存容量的时候,优先淘汰链表中最近最少使用的那个数据。Lrucache位于每一个进程内部,由每个进程单独维护,各个进程互不影响,互不感知,所以使用Lrucache缓存,单进程内部就不会出现抢锁问题。然而,相关技术的方案中,通过增加一层Lrucache,当存在请求时,先查询Lrucache中是否存在该请求对应的配置,Lrucache中没查到,再查询共享内存,如果共享内存查到了,再将查询到的配置写进Lrucache,缓存一段时间,在Lrucache缓存的这段时间内直接使用Lrucache内缓存的数据,Lrucache过期后缓存的内容会丢弃。如果在共享内存中也查询不到该请求对应的配置就返回失败。如此会导致出现每一条请求都会查询共享内存。此外,Lrucache和共享内存的同步方式是配置更新后只会主动的更新到共享内存的对应加速的域名(host),Lrucache不会主动更新,Lrucache会设置一个周期的过期时间(例如30s),以保持配置更新速度。这种情况下,随着CDN服务客户的增多,要求加速的域名也越来越多,虽然加了一层进程内的缓存Lrucache,但Lrucache过期的时候,同一时刻还是会出现大量的共享内存查询造成抢锁现象,消耗内容分发网络的节点设备的CPU。
技术实现思路
本专利技术的目的在于提供一种请求处理方法、装置、电子设备及计算机可读存储介质,以降低内容分发网络的节点设备的CPU消耗。根据本专利技术的第一方面,提供了一种请求处理方法,应用于内容分发网络的节点设备,所述方法包括:接收客户端发送的第一服务请求,其中,所述第一服务请求中携带所述客户端的域名;通过本地进程查询所述进程内的Lrucache缓存中与所述域名对应的信息;在查询到的与所述域名对应的信息为所述域名的配置信息的情况下,响应所述第一服务请求;在查询到的与所述域名对应的信息为未配置配置信息的情况下,拒绝响应所述第一服务请求。可选的,所述Lrucache缓存被设置为永不过期。可选的,在接收客户端发送的第一服务请求之前,所述方法还包括:接收所述客户端发送的第二服务请求,所述第二服务请求中携带所述客户端的域名;通过本地进程查询所述Lrucache缓存中是否存在与所述域名对应的配置信息;在所述Lrucache缓存中查询不到所述域名的配置信息的情况下,查询本地共享内存;在所述本地共享内存中查询不到所述域名的配置信息的情况下,将用于指示所述域名未配置配置信息的信息写入所述Lrucache缓存中;在所述本地共享内存中查询到所述域名的配置信息的情况下,将所述域名的配置信息写入所述Lrucache缓存中。可选的,所述方法还包括:判断所述域名的配置信息是否发生更新;在判断所述域名的配置信息发生更新时,将存储在所述Lrucache缓存中的所述域名的原有配置信息删除。可选地,判断所述域名的配置是否发生更新包括:查询本地增量内存中是否存在所述域名;其中,在查询结果为存在所述域名的情况下,所述域名的配置信息发生了更新。可选的,在将存储在所述Lrucache缓存中的所述域名的原有配置信息删除之后,所述方法还包括:接收所述客户端发送的第三服务请求,所述第三服务请求中携带所述客户端的域名;查询本地共享内存以获取所述域名更新后的配置信息;将获取的所述更新后的配置信息同步到所述Lrucache缓存中。根据本专利技术的第二方面,提供了一种请求处理装置,应用于内容分发网络的节点设备,所述装置包括:第一接收模块,用于接收客户端发送的第一服务请求,其中,所述第一服务请求中携带所述客户端的域名;第一查询模块,用于通过本地进程查询所述进程内的Lrucache缓存中与所述域名对应的信息;响应模块,用于在查询到的与所述域名对应的信息为所述域名的配置信息的情况下,响应所述第一服务请求;以及用于在查询到的与所述域名对应的信息为未配置配置信息的情况下,拒绝响应所述第一服务请求。可选的,所述装置还包括:第二接收模块,用于在接收客户端发送的第一服务请求之前,接收所述客户端发送的第二服务请求,所述第二服务请求中携带所述客户端的域名;第二查询模块,用于通过本地进程查询所述Lrucache缓存中是否存在与所述域名对应的配置信息;以及用于在所述Lrucache缓存中查询不到所述域名的配置信息的情况下,查询本地共享内存;写入模块,用于在所述本地共享内存中查询不到所述域名的配置信息的情况下,将用于指示所述域名未配置配置信息的信息写入所述Lrucache缓存中;以及用于在所述本地共享内存中查询到所述域名的配置信息的情况下,将所述域名的配置信息写入所述Lrucache缓存中。根据本专利技术的第三方面,提供了一种电子设备,此电子设备包括:根据本专利技术第二方面所述的请求处理装置;或者,处理器和存储器,存储器用于存储可执行的指令,所述指令用于控制处理器执行根据本专利技术第一方面所述的请求处理方法。根据本专利技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本专利技术第一方面所述的请求处理方法。根据本专利技术实施例,在接收到客户端发送的服务请求后,通过查询Lrucache缓存中与该服务请求携带的域名对应的信息,在信息为所述域名的配置信息时,响应服务请求,在信息为未配置配置信息时,拒绝该服务请求,即不管域名有没有配置配置信息,在Lrucache缓存中都尽可能缓存,进而在请求到CDN节点设备时,能够尽可能在Lrucache缓存中命中域名对应的配置信息,从而可以减少对CDN节点设备共享内存的查询次数,避免多进程之间发生抢锁问题,降低了CDN节点设备的CPU消耗。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明被结合本文档来自技高网
...

【技术保护点】
1.一种请求处理方法,应用于内容分发网络的节点设备,其特征在于,包括:/n接收客户端发送的第一服务请求,其中,所述第一服务请求中携带所述客户端的域名;/n通过本地进程查询所述进程内的Lrucache缓存中与所述域名对应的信息;/n在查询到的与所述域名对应的信息为所述域名的配置信息的情况下,响应所述第一服务请求;/n在查询到的与所述域名对应的信息为未配置配置信息的情况下,拒绝响应所述第一服务请求。/n

【技术特征摘要】
1.一种请求处理方法,应用于内容分发网络的节点设备,其特征在于,包括:
接收客户端发送的第一服务请求,其中,所述第一服务请求中携带所述客户端的域名;
通过本地进程查询所述进程内的Lrucache缓存中与所述域名对应的信息;
在查询到的与所述域名对应的信息为所述域名的配置信息的情况下,响应所述第一服务请求;
在查询到的与所述域名对应的信息为未配置配置信息的情况下,拒绝响应所述第一服务请求。


2.根据权利要求1所述的方法,其特征在于,所述Lrucache缓存被设置为永不过期。


3.根据权利要求1所述的方法,其特征在于,在接收客户端发送的第一服务请求之前,所述方法还包括:
接收所述客户端发送的第二服务请求,所述第二服务请求中携带所述客户端的域名;
通过本地进程查询所述Lrucache缓存中是否存在与所述域名对应的配置信息;
在所述Lrucache缓存中查询不到所述域名的配置信息的情况下,查询本地共享内存;
在所述本地共享内存中查询不到所述域名的配置信息的情况下,将用于指示所述域名未配置配置信息的信息写入所述Lrucache缓存中;
在所述本地共享内存中查询到所述域名的配置信息的情况下,将所述域名的配置信息写入所述Lrucache缓存中。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述域名的配置信息是否发生更新;
在判断所述域名的配置信息发生更新时,将存储在所述Lrucache缓存中的所述域名的原有配置信息删除。


5.根据权利要求4所述的方法,其特征在于,判断所述域名的配置是否发生更新包括:
查询本地增量内存中是否存在所述域名;其中,在查询结果为存在所述域名的情况下,所述域名的配置信息发生了更新。


6.根据权利要求4所述的方法,其特征在于,在将存储在所述Lrucache缓存中的所述域名的原有配置信息删除之后,所述方法还包括:
接收所述客户...

【专利技术属性】
技术研发人员:王永强年彦东
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1