静态页面存储、浏览的方法和装置与流程

文档序号:18197278发布日期:2019-07-17 05:56阅读:277来源:国知局
静态页面存储、浏览的方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种静态页面存储、浏览的方法和装置。



背景技术:

现在互联网发展越来越迅速,对网站的性能要求越来越高,当出现高并发数的情况,若程序、上游业务接口、数据库等出现故障,则会影响页面的正常访问。为了解决页面访问的依赖问题,现有技术中提前对页面进行整页静态化,然后把该页面内容直接推送到应用服务的硬盘目录下;在页面浏览请求到达时,直接读取指定目录下的静态页面返回即可。或是采用上述类似的方法把页面推送到redis存储系统中,页面浏览请求到达时,直接从redis中读取。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

1.硬盘容量有限,现有技术不适合页面量大的情况。

2.严重依赖redis,一旦redis出现故障所有页面都无法正常访问。

3.现有技术中的在读取指定目录下的页面后才进行实时渲染,这样若是在缓存失效的情况下,大量的实时处理会导致服务器的崩溃。



技术实现要素:

有鉴于此,本发明实施例提供一种静态页面存储、浏览的方法和装置,能够根据静态页面的页面id和页面分组规则,对静态页面进行存储、浏览,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务(如数据库)隔离,极大的提高了海量页面的浏览访问的稳定性。

为实现上述目的,根据本发明实施例的一个方面,提供了一种存储静态页面的方法,包括:获取静态页面的页面信息,所述页面信息包括页面id;根据页面分组规则,获取与所述页面id对应的页面存储组;将所述静态页面存储至所述页面存储组。

可选地,所述页面id包括以英文字母或阿拉伯数字开头的随机数;所述页面分组规则包括:页面组与页面存储组的一一对应关系;所述页面组包括:按照随机数开头的英文字母或阿拉伯数字,将页面id划分为n个页面组,n为正整数。

可选地,所述页面存储组包括应用服务器硬盘;将所述静态页面存储至所述页面存储组,包括:采用消息摘要算法,根据静态页面的页面信息获得消息摘要值;在所述应用服务器硬盘中以消息摘要值的最后一位作为一级目录名,在该一级目录下建立文件夹;将所述消息摘要值倒数第二位和倒数第三位作为文件夹的名称;将所述静态页面存储至文件夹中,并将所述消息摘要值作为所述静态页面的文件名。

可选地,所述页面存储组包括q个应用服务器硬盘,所述q个应用服务器硬盘中存储有相同的静态页面;q为正整数,q>1。

可选地,所述获取静态页面的页面信息之前,包括:从数据库中获取页面数据;根据所述页面数据渲染页面,得到静态页面的页面信息。

为实现上述目的,根据本发明实施例的再一方面,提供了一种静态页面浏览方法,包括:接收浏览请求,所述浏览请求中包括页面id;根据页面分组规则,获取与所述页面id对应的页面存储组;从所述页面存储组中获取与所述页面id对应的静态页面,实现页面的浏览;其中,所述静态页面是采用如上述任一所述的存储静态页面的方法存储的。

可选地,所述接收浏览请求之后,包括:判断在共享内存中是否存在与所述页面id对应的静态页面;如果存在,则从共享内存中获取与所述页面id对应的静态页面,实现页面的浏览,结束;如果不存在,则执行根据页面分组规则,获取与所述页面id对应的页面存储组的步骤;所述共享内存中包括采用lru算法缓存的m个静态页面,m为正整数。

可选地,所述页面存储组包括分组内存;从所述页面存储组中获取与所述页面信息对应的静态页面,包括:判断在分组内存中是否存在与所述页面id对应的静态页面;如果存在,则从分组内存中获取与所述页面id对应的静态页面;如果不存在,则从应用服务器硬盘中获取与所述页面id对应的静态页面;所述分组内存中包括采用lru算法缓存的p个存储于该页面存储组的静态页面,p为正整数。

为实现上述目的,根据本发明实施例的再一方面,提供了一种存储静态页面的装置,包括:信息获取模块、分组模块、存储模块;所述信息获取模块,用于:获取静态页面的页面信息,所述页面信息包括页面id;所述分组模块,用于:根据页面分组规则,获取与所述页面id对应的页面存储组;所述存储模块,用于:将所述静态页面存储至所述页面存储组。

可选地,所述页面id包括以英文字母或阿拉伯数字开头的随机数;所述页面分组规则包括:页面组与页面存储组的一一对应关系;所述页面组包括:按照随机数开头的英文字母或阿拉伯数字,将页面id划分为n个页面组,n为正整数。

可选地,所述存储模块,用于:页面存储组包括应用服务器硬盘;采用消息摘要算法,根据静态页面的页面信息获得消息摘要值;在所述应用服务器硬盘中以消息摘要值的最后一位作为一级目录名,在该一级目录下建立文件夹;将所述消息摘要值倒数第二位和倒数第三位作为文件夹的名称;将所述静态页面存储至文件夹中,并将所述消息摘要值作为所述静态页面的文件名。

可选地,所述页面存储组中包括q个应用服务器硬盘,所述q个应用服务器硬盘中存储有相同的静态页面;q为正整数,q>1。

可选地,所述装置还包括:渲染模块;所述渲染模块,用于:从数据库中获取页面数据;根据所述页面数据渲染页面,得到静态页面的页面信息。

为实现上述目的,根据本发明实施例的再一方面,提供了一种静态页面浏览装置,包括:接收请求模块、获取分组模块、浏览模块;所述接收请求模块,用于:接收浏览请求,所述浏览请求中包括页面id;所述获取分组模块,用于:根据页面分组规则,获取与所述页面id对应的页面存储组;所述浏览模块,用于:从所述页面存储组中获取与所述页面id对应的静态页面,实现页面的浏览;其中,所述静态页面是采用如上述任一所述的存储静态页面的装置存储的。

可选地,所述浏览模块,用于:判断在共享内存中是否存在与所述页面id对应的静态页面;如果存在,则从共享内存中获取与所述页面id对应的静态页面,实现页面的浏览,结束;如果不存在,则执行根据页面分组规则,获取与所述页面id对应的页面存储组的步骤;所述共享内存中包括采用lru算法缓存的m个静态页面,m为正整数。

可选地,所述页面存储组包括分组内存;所述浏览模块,用于:判断在分组内存中是否存在与所述页面id对应的静态页面;如果存在,则从分组内存中获取与所述页面id对应的静态页面;如果不存在,则从应用服务器硬盘中获取与所述页面id对应的静态页面;所述分组内存中包括采用lru算法缓存的p个存储于该页面存储组的静态页面,p为正整数。

为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的存储静态页面的方法、静态页面浏览方法。

为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的存储静态页面的方法、静态页面浏览方法。

上述发明中的一个实施例具有如下优点或有益效果:因为根据静态页面的页面id和页面分组规则,对静态页面进行存储、浏览,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务隔离,极大的提高了海量页面的浏览访问的稳定性。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是现有技术解决页面访问依赖问题的一方法示意图;

图2是现有技术解决页面访问依赖问题的又一方法示意图;

图3是根据本发明实施例的存储静态页面的方法的基本流程的示意图;

图4是根据本发明实施例的存储静态页面的方法的优选流程的示意图;

图5是根据本发明实施例的存储静态页面的方法的分组计算示意图;

图6是根据本发明实施例的静态页面浏览方法的基本流程的示意图;

图7是根据本发明实施例的静态页面浏览方法的优选流程的示意图;

图8是根据本发明实施例的存储静态页面的装置的基本模块的示意图;

图9是根据本发明实施例的静态页面浏览装置的基本模块的示意图;

图10是本发明实施例可以应用于其中的示例性系统架构图;

图11是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

文中出现的技术用语的名词解释:

redis是一个键-值key-value存储系统。

contentmanagementsystem,cms系统是内容管理系统,在本发明技术方案中用于更新修改页面的内容。

nginx是一个高性能的反向代理服务器。

消息摘要算法是把任意长度的输入柔和而产生长度固定的伪随机输入的算法。

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,也可以实现虚拟化。在本发明技术方案中可以理解成一个虚拟的服务器。

leastrecentlyused,lru算法是内存管理的一种页面置换算法。

图1是现有技术解决页面访问依赖问题的一方法示意图;如图1所示,利用cms系统更新修改页面的内容,对页面进行整页静态化,然后把该页面内容直接推送到应用服务硬盘目录下。当浏览请求到达时,通过nginx直接读取应用服务器指定目录下的静态页面,返回该静态页面即可进行浏览。由于页面内容已经被静态化到硬盘,页面浏览服务不再依赖上游系统和基础服务,页面的稳定性大大增强,但由于硬盘容量有限,这种方式不适合海量页面的快速稳定访问。

图2是现有技术解决页面访问依赖问题的又一方法示意图;如图2所示,采用与上述内容类似的方法,在页面装修系统中进行新增页面、更新修改页面内容的操作,对页面进行整页静态化并推送到redis。页面浏览请求到达时,直接从redis中读取。在此方法中页面浏览服务只依赖redis,除redis之外的任意上游接口和基础服务出现问题都不会对页面浏览产生影响。如果上游接口和基础服务出现故障,已有的活动页和店铺浏览依然正常,只是不能新增和修改页面内容罢了。但该现有技术严重依赖redis,一旦redis出现故障所有页面都无法正常访问。

图3是根据本发明实施例的存储静态页面的方法的基本流程的示意图;如图3所示,本发明实施例提供了一种存储静态页面的方法,可以包括:

步骤s301:获取静态页面的页面信息,所述页面信息包括页面id;

步骤s302:根据页面分组规则,获取与所述页面id对应的页面存储组;

步骤s303:将所述静态页面存储至所述页面存储组。

页面id可以包括但不限于:以英文字母或阿拉伯数字或罗马数字开头的随机数;页面分组规则可以指页面id和页面存储组之间的对应关系,也可以指页面组与页面存储组的一一对应关系;页面组是按照随机数开头的英文字母或阿拉伯数字或罗马数字,将页面id进行划分得到的,即按照随机数开头的英文字母或阿拉伯数字,将页面id划分为n个页面组,n为正整数。按照开头的英文字母分组时,还可以有区分大小写、不区分大小写等情况。步骤s302可以包括:根据页面id开头的英文字母或阿拉伯数字,获取与页面id对应的页面组;根据页面组,获取页面存储组。

本发明实施例根据静态页面的页面id和页面分组规则,对静态页面进行存储,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务隔离,极大的提高了海量页面的浏览访问的稳定性。

本发明实施例中,所述页面存储组可以包括应用服务器硬盘;将所述静态页面存储至所述页面存储组,可以包括:采用消息摘要算法,根据静态页面的页面信息获得消息摘要值;在所述应用服务器硬盘中以消息摘要值的最后一位作为一级目录名,在该一级目录下建立文件夹;将所述消息摘要值倒数第二位和倒数第三位作为文件夹的名称;将所述静态页面存储至文件夹中,并将所述消息摘要值作为所述静态页面的文件名。

本发明实施例可以解决同一个硬盘目录下存放的文件个数太多的问题,减少了存取页面时的网络输入和输出消耗,以便能准确获取页面进行浏览。

本发明实施例中,所述页面存储组可以包括q个应用服务器硬盘,所述q个应用服务器硬盘中存储有相同的静态页面;q为正整数,q>1。本发明实施例在多个应用服务器硬盘中存储相同的静态页面,在发生其中一个应用服务器硬盘出现故障的情况下,可以自动切换到其他与之相同的任意一应用服务器硬盘上,防止出现单点故障。

所述获取静态页面的页面信息之前,可以包括:从数据库中获取页面数据;根据所述页面数据渲染页面,获得静态页面;将渲染好的静态页面存储至全局共享缓存(例如redis)。

本发明实施例在存储静态页面之前就对页面进行渲染,解决了现有技术中因在读取指定页面后才进行实时渲染,而导致的在缓存失效的情况下,大量的实时处理中出现的服务器崩溃的问题,将渲染好的静态页面存储至全局共享缓存,可以在存储静态页面的硬盘出现故障时,从全局共享缓存中读取静态页面,提高了海量页面的存储、浏览访问的稳定性。

图4是根据本发明实施例的存储静态页面的方法的优选流程的示意图;如图4所示,通过页面装修组件装修搭建页面,可以新增页面、修改页面内容、删除页面,并把生成的页面信息存储到数据库,发送页面渲染请求或者页面删除请求。进行页面渲染,如果收到页面渲染请求,则从数据库中获取页面,对页面进行渲染,把渲染好的静态页面内容推送到redis中。然后根据页面链接规则进行分组计算,计算出该静态页面应该存放到n个页面存储组中的哪一个,比如页面存储组1。将静态页面应该存放到页面存储组内硬盘指定目录中,并同步到分组内存(例如nginx内存)中。如果收到页面删除请求,则删除相关业务数据;根据页面链接规则进行分组计算,计算出该静态页面应该存放到n个页面存储组中的哪一个,比如页面存储组1。将静态页面从该页面存储组内硬盘指定目录中删除,并从分组内存(例如nginx内存)中删除。

以经过页面装修后生成的页面信息中的页面链接为“http://sale.jd.com/act/zn28voxewkf5nae1cbd.html”为例,来说明如何进行分组计算,其中该静态页面的页面id为“zn28voxewkf5nae1cbd”,根据页面分组规则,按照页面id的首个英文字母进行分组。例如,页面id为“zn28voxewkf5nae1cbd”的静态页面被分到“页面存储组10”。图5是根据本发明实施例的存储静态页面的方法的分组计算示意图;如图5所示,假设有30个docker,每3个docker作为1个页面存储组,一共10个页面存储组,要求每个页面存储组里的3个docker存放相同页面链接的页面内容。可以根据静态页面的数量适当的增加或减少页面存储组的个数。在将静态页面存放到“页面存储组10”的应用服务器硬盘时,以页面链接为“http://sale.jd.com/act/zn28voxewkf5nae1cbd.html”为例:采用消息摘要算法对“/act/zn28voxewkf5nae1cbd.html”进行计算,获得消息摘要值“eb68e1ce4e01b132b4395d01862c73d6”,以这个消息摘要值作为文件名;取消息摘要值的后三位分割为两级目录“/6/3d”,则该静态页面最后页面的存放位置为:“/6/3d/eb68e1ce4e01b132b4395d01862c73d6”。

图6是根据本发明实施例的静态页面浏览方法的基本流程的示意图;如图6所示,本发明实施例提供了一种静态页面浏览方法,可以包括:

步骤s601:接收浏览请求,所述浏览请求中包括页面id;

步骤s602:根据页面分组规则,获取与所述页面id对应的页面存储组;

步骤s603:从所述页面存储组中获取与所述页面id对应的静态页面,实现页面的浏览。

其中,所述静态页面是采用如上述任一所述的存储静态页面的方法存储的。

本发明实施例根据静态页面的页面id和页面分组规则,对静态页面进行浏览,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务隔离,极大的提高了海量页面的浏览访问的稳定性。

本发明实施例中,所述接收浏览请求之后,可以包括:判断在共享内存中是否存在与所述页面id对应的静态页面;如果存在,则从共享内存中获取与所述页面id对应的静态页面,实现页面的浏览,结束;如果不存在,则执行根据页面分组规则,获取与所述页面id对应的页面存储组的步骤;所述共享内存中包括采用lru算法缓存的m个静态页面,m为正整数。

本发明实施例提供了采用在共享内存中缓存的静态页面,可以将热门的静态页面存储至共享内存中,浏览访问时先从共享内存中提取静态页面,防止出现热点问题时,高并发的浏览请求数量导致的服务器崩溃,同时也提高了页面的浏览访问速度。

本发明实施例中,所述页面存储组包括分组内存;从所述页面存储组中获取与所述页面信息对应的静态页面,可以包括:判断在分组内存中是否存在与所述页面id对应的静态页面;如果存在,则从分组内存中获取与所述页面id对应的静态页面;如果不存在,则从应用服务器硬盘中获取与所述页面id对应的静态页面;获取该静态页面后,将该静态页面更新至分组内存中;所述分组内存中包括采用lru算法缓存的p个存储于该页面存储组的静态页面,p为正整数。若应用服务器硬盘出现故障,可以从全局共享缓存中获取与所述页面id对应的静态页面。

本发明实施例提供了采用在分组内存中缓存若干个存储与该页面分组的静态页面,浏览访问时可以先从分组内存中提取静态页面,提高了页面的浏览访问速度。在存储静态页面的硬盘出现故障时,从全局共享缓存中读取静态页面,提高了海量页面的存储、浏览访问的稳定性。

图7是根据本发明实施例的静态页面浏览方法的优选流程的示意图;如图7所示,经上述存储方法存储静态页面后,海量静态页面分散在各个页面存储组,当接收到浏览请求后,同样需要根据静态页面的页面id和页面分组规则获得该静态页面所在的页面存储组。这里在进行分组计算之前,还可以在应用服务器之前加一层“nginx前置机”,判断该静态页面在共享内存(例如nginx)中是否存在,如果存在直接从“nginx”共享内存中获取该静态页面;如果不存在再进行分组计算。“nginx”共享内存中采用lru算法可以缓存1000个最常浏览访问的页面。这里的页面分组规则在上文中已经记载,这里不再赘述。计算出该静态页面所在的页面存储组后,可以把浏览请求转发到该页面存储组中的任意一台docker上。接收到请求后,判断该静态页面是否存在于该docker的分组内存(例如nginx)中,如果存在直接从分组内存中获取;如果不存在再到该docker的应用服务器硬盘中获取,在硬盘寻找文件所在位置的方式与上文中记载的采用消息摘要算法生成二级目录存储静态页面的方式相同,这里不再赘述。当应用服务器硬盘出现故障时,可以从全局共享内存(例如redis)中获取静态存储页面,并更新分组内存,方便下次请求直接从分组内存中获取。通过该页面浏览流程,可以实现页面请求到达时能获取到指定的静态页面,最终实现海量页面的浏览与上游接口和基础服务完全隔离,只要网络正常就可以正常对外提供页面访问服务。

图8是根据本发明实施例的存储静态页面的装置的基本模块的示意图;本发明实施例提供了一种存储静态页面的装置800,可以包括:信息获取模块801、分组模块802、存储模块803;所述信息获取模块801,可以用于:获取静态页面的页面信息,所述页面信息包括页面id;所述分组模块802,可以用于:根据页面分组规则,获取与所述页面id对应的页面存储组;所述存储模块803,可以用于:将所述静态页面存储至所述页面存储组。

页面id可以包括以英文字母或阿拉伯数字开头的随机数;页面分组规则可以指页面id和页面存储组之间的对应关系,也可以指页面组与页面存储组的一一对应关系;页面组是按照随机数开头的英文字母或阿拉伯数字,将页面id进行划分得到的,即按照随机数开头的英文字母或阿拉伯数字,将页面id划分为n个页面组,n为正整数。按照开头的英文字母分组时,还可以有区分大小写、不区分大小写等情况。分组模块802可以用于:根据页面id开头的英文字母或阿拉伯数字,获取与页面id对应的页面组;根据页面组,获取页面存储组。

本发明实施例根据静态页面的页面id和页面分组规则,对静态页面进行存储,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务隔离,极大的提高了海量页面的浏览访问的稳定性。

本发明实施例中,所述存储模块,可以用于:页面存储组包括应用服务器硬盘;采用消息摘要算法,根据静态页面的页面信息获得消息摘要值;在所述应用服务器硬盘中以消息摘要值的最后一位作为一级目录名,在该一级目录下建立文件夹;将所述消息摘要值倒数第二位和倒数第三位作为文件夹的名称;将所述静态页面存储至文件夹中,并将所述消息摘要值作为所述静态页面的文件名。

本发明实施例可以解决同一个硬盘目录下存放的文件个数太多的问题,减少了存取页面时的网络输入和输出消耗,以便能准确获取页面进行浏览。

本发明实施例中,所述页面存储组中包括q个应用服务器硬盘,所述q个应用服务器硬盘中存储有相同的静态页面;q为正整数,q>1。本发明实施例在多个应用服务器硬盘中存储相同的静态页面,在发生其中一个应用服务器硬盘出现故障的情况下,可以自动切换到其他与之相同的任意一应用服务器硬盘上,防止出现单点故障。

本发明实施例中,所述装置还可以包括:渲染模块;所述渲染模块,可以用于:从数据库中获取页面数据;根据所述页面数据渲染页面,得到静态页面的页面信息。将渲染好的静态页面存储至全局共享缓存(例如redis)。本发明实施例在存储静态页面之前就对页面进行渲染,解决了现有技术中因在读取指定页面后才进行实时渲染,而导致的在缓存失效的情况下,大量的实时处理中出现的服务器崩溃的问题,将渲染好的静态页面存储至全局共享缓存,可以在存储静态页面的硬盘出现故障时,从全局共享缓存中读取静态页面,提高了海量页面的存储、浏览访问的稳定性。

图9是根据本发明实施例的静态页面浏览装置的基本模块的示意图;如图9所示,本发明实施例提供了一种静态页面浏览装置900,可以包括:接收请求模块901、获取分组模块902、浏览模块903;所述接收请求模块901,可以用于:接收浏览请求,所述浏览请求中包括页面id;所述获取分组模块902,可以用于:根据页面分组规则,获取与所述页面id对应的页面存储组;所述浏览模块903,可以用于:从所述页面存储组中获取与所述页面id对应的静态页面,实现页面的浏览。

其中,所述静态页面是采用如上述任一所述的存储静态页面的装置存储的。

本发明实施例根据静态页面的页面id和页面分组规则,对静态页面进行浏览,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务隔离,极大的提高了海量页面的浏览访问的稳定性。

本发明实施例中,所述浏览模块903,可以用于:判断在共享内存中是否存在与所述页面id对应的静态页面;如果存在,则从共享内存中获取与所述页面id对应的静态页面,实现页面的浏览,结束;如果不存在,则执行根据页面分组规则,获取与所述页面id对应的页面存储组的步骤;所述共享内存中包括采用lru算法缓存的m个静态页面,m为正整数。

本发明实施例提供了采用在共享内存中缓存的静态页面,可以将热门的静态页面存储至共享内存中,浏览访问时先从共享内存中提取静态页面,防止出现热点问题时,高并发的浏览请求数量导致的服务器崩溃,同时也提高了页面的浏览访问速度。

本发明实施例中,所述页面存储组包括分组内存;所述浏览模块903,可以用于:判断在分组内存中是否存在与所述页面id对应的静态页面;如果存在,则从分组内存中获取与所述页面id对应的静态页面;如果不存在,则从应用服务器硬盘中获取与所述页面id对应的静态页面;所述分组内存中包括采用lru算法缓存的p个存储于该页面存储组的静态页面,p为正整数。若应用服务器硬盘出现故障,可以从全局共享缓存中获取与所述页面id对应的静态页面。

本发明实施例提供了采用在分组内存中缓存若干个存储与该页面分组的静态页面,浏览访问时可以先从分组内存中提取静态页面,提高了页面的浏览访问速度。在存储静态页面的硬盘出现故障时,从全局共享缓存中读取静态页面,提高了海量页面的存储、浏览访问的稳定性。

图10示出了可以应用本发明实施例的静态页面存储、浏览的方法或静态页面存储、浏览的方装置的示例性系统架构1000。

如图10所示,系统架构1000可以包括终端设备1001、1002、1003,网络1004和服务器1005。网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。终端设备1001、1002、1003上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交系统软件等(仅为示例)。

终端设备1001、1002、1003可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器1005可以是提供各种服务的服务器,例如对用户利用终端设备1001、1002、1003所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。

需要说明的是,本发明实施例所提供的静态页面存储、浏览的方法一般由服务器1005执行,相应地,静态页面存储、浏览装置一般设置于服务器1005中。

应该理解,图10中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

根据本发明的实施例,还提供了一种电子设备和一种可读存储介质。

本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的静态页面存储、浏览的方法。

本发明实施例的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的静态页面存储、浏览的方法。

图11示出了适于用来实现本发明实施例的终端设备的计算机系统1100的结构示意图。图11示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图11所示,计算机系统1100包括中央处理单元(cpu)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储部分1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram1103中,还存储有系统1100操作所需的各种程序和数据。cpu1101、rom1102以及ram1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。

以下部件连接至i/o接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括信息获取模块、分组模块、存储模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,信息获取模块还可以被描述为“获取静态页面的页面信息的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:步骤s301:获取静态页面的页面信息,所述页面信息包括页面id;步骤s302:根据页面分组规则,获取与所述页面id对应的页面存储组;步骤s303:将所述静态页面存储至所述页面存储组;步骤s601:接收浏览请求,所述浏览请求中包括页面id;步骤s602:根据页面分组规则,获取与所述页面id对应的页面存储组;步骤s603:从所述页面存储组中获取与所述页面id对应的静态页面,实现页面的浏览。

根据本发明实施例的技术方案,根据静态页面的页面id和页面分组规则,对静态页面进行存储、浏览,所以克服了现有技术不适合页面量大的问题以及严重依赖redis的问题,使海量页面的浏览访问与上游业务接口、基础服务隔离,极大的提高了海量页面的浏览访问的稳定性。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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