静态动态混合缓存方法、装置及系统与流程

文档序号:11292286阅读:138来源:国知局
静态动态混合缓存方法、装置及系统与流程

本发明涉及互联网缓存技术领域,具体涉及一种静态动态混合缓存方法、装置及系统。



背景技术:

缓存技术是解决服务器负载压力的主要且重要手段。通过将用户请求的数据放入较快的存储介质中,既减少了每次请求数据的整理、封装等工作,同时提高了数据读取的速度,从而大幅提高用户请求速度,减少请求时间,增强服务器负载能力。

常用的缓存方案根据请求不同的资源类型,主要有两种架构:

1.用户动态数据,存储在数据库服务器中。每次请求发生时,通过应用服务器处理逻辑,从不同种类的数据库服务器中获取数据,经过封装后,存储到缓存中。这样下一次相同类型请求发生时,应用服务器可直接获取缓存中的数据,直接返回给前端代理服务器,从而避免从数据库服务器中拉取数据,实现性能提升。

2.图片等小文件存储在服务器硬盘中。由于文件内容变化较少,通常将硬盘中的数据放到内存中进行缓存,从而大幅提升代理服务器请求小文件的执行效率,减少请求时间,实现性能提升。

在现有的缓存方案中,小文件缓存速度最快,但无法处理用户请求动态数据。同时用户动态数据缓存,无法满足日益增高的请求访问压力。



技术实现要素:

本发明实施例提供一种静态动态混合缓存方法、装置及系统,能够处理用户请求动态数据,提高缓存效率,并且能够满足日益增高的请求访问压力。

本发明所设计的一种静态动态混合缓存方法,包括:接收客户端发送的用户请求;根据用户请求特征、以及预先配置的代理服务器路由规则对所述用户请求进行分发,所述代理服务器路由规则包括允许缓存在代理服务器本地缓存的请求特征名单;若所述用户请求特征满足所述代理服务器路由规则、且所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据时,从代理服务器本地缓存中获取所述用户请求对应的用户所需数据;若所述用户请求特征满足所述代理服务器路由规则、但所述用户请求对应的用户所需数据未缓存在代理服务器本地缓存时,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据,然后将所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据;若所述用户请求特征不满足代理服务器路由规则,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据。

进一步地,所述请求特征名单中任一项请求特征包括用户请求类型、用户请求参数、用户请求参数值、用户请求参数名和用户请求路径;判断所述用户请求特征是否满足所述代理服务器路由规则的方法,包括:当所述用户请求特征与请求特征名单中任一项相同时,判定所述用户请求特征满足代理服务器路由规则;当所述用户请求特征与请求特征名单中每一项都不同时,判定所述用户请求特征不满足代理服务器路由规则。

在上述技术方案中,通过所述应用服务器获取所述用户请求对应的用户所需数据,包括:所述应用服务器接收代理服务器发送的用户请求;所述应用服务器从数据缓存服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器,或者从数据库服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器。

进一步地,若所述用户请求对应的用户所需数据缓存在数据缓存服务器中,所述应用服务器从数据缓存服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器;若所述用户请求对应的用户所需数据未缓存在数据缓存服务器中,所述应用服务器从数据库服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器。

更进一步地,所述方法还包括:所述应用服务器将从数据库服务器中获取的所述用户请求对应的用户所需数据进行封装操作,并缓存至数据缓存服务器。

本发明所设计的一种静态动态混合缓存装置,包括:接收单元,用于接收客户端发送的用户请求;判断单元,用于根据用户请求特征、以及预先配置的代理服务器路由规则判断所述用户请求特征是否满足代理服务器路由规则,以及判断所述用户请求对应的用户所需数据是否在代理服务器本地缓存;所述代理服务器路由规则包括允许缓存在代理服务器本地缓存的请求特征名单;静态处理单元,用于若所述用户请求特征满足所述代理服务器路由规则、且所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据时,从代理服务器本地缓存中获取所述用户请求对应的用户所需数据;动态处理单元,用于若所述用户请求特征满足所述代理服务器路由规则、但所述用户请求对应的用户所需数据未缓存在代理服务器本地缓存时,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据,然后将所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据;以及用于若所述用户请求特征不满足代理服务器路由规则,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据。

进一步地,所述请求特征名单中任一项请求特征包括用户请求类型、用户请求参数、用户请求参数值、用户请求参数名和用户请求路径;所述判断单元,具体用于当所述用户请求特征与请求特征名单中任一项相同时,判定所述用户请求特征满足代理服务器路由规则;当所述用户请求特征与请求特征名单中每一项都不同时,判定所述用户请求特征不满足代理服务器路由规则。

本发明所设计的一种静态动态混合缓存系统,包括代理服务器、应用服务器;所述代理服务器,用于接收客户端发送的用户请求;根据用户请求特征、以及预先配置的代理服务器路由规则对所述用户请求进行分发,所述代理服务器路由规则包括允许缓存在代理服务器本地缓存的请求特征名单;若所述用户请求特征满足所述代理服务器路由规则、且所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据时,从代理服务器本地缓存中获取所述用户请求对应的用户所需数据;若所述用户请求特征满足所述代理服务器路由规则、但所述用户请求对应的用户所需数据未缓存在代理服务器本地缓存时,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据,然后将所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据;若所述用户请求特征不满足代理服务器路由规则,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需请求数据;所述应用服务器,用于接收代理服务器发送的用户请求,获取所述用户请求对应的用户所需数据后返回至代理服务器。

进一步地,所以系统还包括数据缓存服务器和数据库服务器,其中:所述应用服务器,具体用于接收到代理服务器发送的用户请求时,判断所述用户请求对应的用户所需数据是否缓存在数据缓存服务器;若所述用户请求对应的用户所需数据缓存在数据缓存服务器中,从数据缓存服务器中获取所述用户请求对应的用户所需数据返回至代理服务器;若所述用户请求对应的用户所需数据未缓存在数据缓存服务器中,从数据库服务器中获取所述用户请求对应的用户所需数据返回至代理服务器;所述数据缓存服务器,用于缓存用户请求对应的用户所需数据;所述数据库服务器,用于提供用户请求对应的用户所需数据。

更进一步地,所述应用服务器,还用于将从数据库服务器中获取的所述用户请求对应的用户所需数据进行封装操作,并缓存至数据缓存服务器。

本发明所述的静态动态混合缓存方法、装置及系统的有益效果如下:

1.将用户请求由多层服务器链路,减少为代理服务器直接返回数据,大幅缩短了请求响应的时间,同时大幅提升并发连接数,使整体服务器负载性能大幅提升,并减少服务器投入成本。

2.根据路由规则灵活配置,兼容原有的动态数据请求,使新架构避免对旧逻辑产生侵入式影响,减少开发的心智成本,在提升性能,降低成本的同时,不产生新负担。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法的流程图;

图2为本发明的架构示意图;

图3为本发明中代理服务器的结构示意图;

图4为本发明装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,静态动态混合缓存方法,包括:

101、接收客户端发送的用户请求。

102、根据用户请求特征、以及预先配置的代理服务器路由规则对所述用户请求进行分发,所述代理服务器路由规则包括允许缓存在代理服务器本地缓存的请求特征名单。

所述请求特征名单中任一项请求特征包括用户请求类型、用户请求参数、用户请求参数值、用户请求参数名和用户请求路径。

判断所述用户请求特征是否满足所述代理服务器路由规则的方法,包括:当所述用户请求特征与请求特征名单中任一项相同时,判定所述用户请求特征满足代理服务器路由规则;当所述用户请求特征与请求特征名单中每一项都不同时,判定所述用户请求特征不满足代理服务器路由规则。

103、若所述用户请求特征满足所述代理服务器路由规则、且所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据时,从代理服务器本地缓存中获取所述用户请求对应的用户所需数据。

104、若所述用户请求特征满足所述代理服务器路由规则、但所述用户请求对应的用户所需数据未缓存在代理服务器本地缓存时,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据,然后将所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据。

105、若所述用户请求特征不满足代理服务器路由规则,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据。

通过所述应用服务器获取所述用户请求对应的用户所需数据,包括:所述应用服务器接收代理服务器发送的用户请求;所述应用服务器从数据缓存服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器,或者从数据库服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器。

若所述用户请求对应的用户所需数据缓存在数据缓存服务器中,所述应用服务器从数据缓存服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器。

若所述用户请求对应的用户所需数据未缓存在数据缓存服务器中,所述应用服务器从数据库服务器中获取所述用户请求对应的用户所需数据后返回至代理服务器。所述应用服务器将从数据库服务器中获取的所述用户请求对应的用户所需数据进行封装操作,并缓存至数据缓存服务器。

如图2和图3所示,静态动态混合缓存装置,包括:

接收单元211,用于接收客户端发送的用户请求;

判断单元212,用于根据用户请求特征、以及预先配置的代理服务器路由规则判断所述用户请求特征是否满足代理服务器路由规则,以及判断所述用户请求对应的用户所需数据是否在代理服务器本地缓存;所述代理服务器路由规则包括允许缓存在代理服务器本地缓存的请求特征名单。

静态处理单元213,用于若所述用户请求特征满足所述代理服务器路由规则、且所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据时,从代理服务器本地缓存中获取所述用户请求对应的用户所需数据。

动态处理单元214,用于若所述用户请求特征满足所述代理服务器路由规则、但所述用户请求对应的用户所需数据未缓存在代理服务器本地缓存时,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据,然后将所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据;以及用于若所述用户请求特征不满足代理服务器路由规则,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据。

所述请求特征名单中任一项请求特征包括用户请求类型、用户请求参数、用户请求参数值、用户请求参数名和用户请求路径。

所述判断单元212,具体用于当所述用户请求特征与请求特征名单中任一项相同时,判定所述用户请求特征满足代理服务器路由规则;当所述用户请求特征与请求特征名单中每一项都不同时,判定所述用户请求特征不满足代理服务器路由规则。

如图2和图4所示,静态动态混合缓存系统,包括代理服务器21和应用服务器22;

所述代理服务器21,接收客户端发送的用户请求;根据用户请求特征、以及预先配置的代理服务器路由规则对所述用户请求进行分发,所述代理服务器路由规则包括允许缓存在代理服务器本地缓存的请求特征名单;若所述用户请求特征满足所述代理服务器路由规则、且所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据时,从代理服务器本地缓存中获取所述用户请求对应的用户所需数据;若所述用户请求特征满足所述代理服务器路由规则、但所述用户请求对应的用户所需数据未缓存在代理服务器本地缓存时,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需数据,然后将所述用户请求对应的用户所需数据以静态文件的方式缓存在代理服务器本地缓存形成缓存数据;若所述用户请求特征不满足代理服务器路由规则,将所述用户请求发送到对应的应用服务器,并通过所述应用服务器获取所述用户请求对应的用户所需请求数据。

所述应用服务器22,用于接收代理服务器发送的用户请求,获取所述用户请求对应的用户所需数据后返回至代理服务器21。

所述应用服务器22具体用于接收到代理服务器发送的用户请求时,判断所述用户请求对应的用户所需数据是否缓存在数据缓存服务器;若所述用户请求对应的用户所需数据缓存在数据缓存服务器中,从数据缓存服务器中获取所述用户请求对应的用户所需数据返回至代理服务器;若所述用户请求对应的用户所需数据未缓存在数据缓存服务器中,从数据库服务器中获取所述用户请求对应的用户所需数据返回至代理服务器。

所述系统还包括所述数据库服务器23和所述数据缓存服务器24;所述数据缓存服务器24,用于缓存用户请求对应的用户所需数据;所述数据库服务器23,用于提供用户请求对应的用户所需数据。

所述应用服务器22,还用于将从数据库服务器23中获取的所述用户请求对应的用户所需数据进行封装操作,并缓存至数据缓存服务器24。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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