CN102331985B - 网页页面的分片嵌套缓存的处理方法和装置 - Google Patents
网页页面的分片嵌套缓存的处理方法和装置 Download PDFInfo
- Publication number
- CN102331985B CN102331985B CN2010102251862A CN201010225186A CN102331985B CN 102331985 B CN102331985 B CN 102331985B CN 2010102251862 A CN2010102251862 A CN 2010102251862A CN 201010225186 A CN201010225186 A CN 201010225186A CN 102331985 B CN102331985 B CN 102331985B
- Authority
- CN
- China
- Prior art keywords
- burst
- ground floor
- webpage
- information
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
- H04L41/0293—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for accessing web services by means of a binding identification of the management service or element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本申请提供了一种网页页面的分片嵌套缓存的处理方法和装置,所述包括:当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述分片解析过程的结果组合成所述网页的完整的第一层分片内容。本申请实施例可以在对网页页面的分片嵌套缓存,同时在网页页面的分片进行嵌套缓存时还能够递归地获取到各个分片的HTML代码,从而向用户展示出完整的网页内容,弥补了现有技术的一项空白。
Description
技术领域
本申请涉及网络数据处理领域,特别涉及网页(WEB)页面的分片嵌套缓存的处理方法和装置。
背景技术
在用户向网页服务器第一次请求网页页面时,为了提高访问网页的速度,通常网络资源浏览器(例如IE浏览器)会采用累积式加速的方法,将用户曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里,电脑里的这个存放空间,被称为IE缓存空间。以后每次访问网页时,IE浏览器会首先搜索这个缓存空间,如果其中已经缓存当前访问的内容,那IE浏览器就不必从网上下载这部分内容,而是直接从缓存读取,以提高访问网页的速度。
对于网页的缓存目前现有技术中有两种方式,一种是全页缓存,指针对访问的网页整个页面进行缓存;另一种是分片缓存,指将访问的网页页面划分成若干部分的分片,例如,某个分片为图片信息,某个分片为文字信息等,然后针对某一分片的内容进行缓存。
但是,有一些网页的分片之间因为其内容相关,所以有时候需要在某些分片之间实现嵌套缓存,例如,嵌套形式分片A包括分片B,而分片B又包括分片C的形式,对于分片A需要缓存,B不需要缓存,C又需要缓存的形式,现有技术无法实现。
目前,需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新地提出一种网页页面的分片嵌套缓存的处理方法,以解决现有技术中无法实现分片嵌套缓存及其后续递归处理的技术问题。
发明内容
本申请所要解决的技术问题是提供一种页面缓存的处理方法,用以解决现有技术中无法实现分片嵌套缓存及其后续递归处理的技术问题。
本申请还提供了一种页面缓存的处理装置,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种页面缓存的处理方法,包括:
当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息;
依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;
将所述分片解析过程的结果组合成所述网页的完整的第一层分片内容。
本申请还公开了一种网页页面的缓存处理方法,包括:
接收到针对网页页面的请求;
判断请求的所述网页页面是否需要进行全页缓存,如果需要,则对所述网页页面直接进行渲染,以获取所述网页页面的内容;
如果不需要,则获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述分片解析过程的结果组合成所述网页的完整的第一层分片内容。
本申请公开了一种网页页面的分片嵌套缓存的处理装置,包括:
获取模块,用于当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息;
分片解析模块,用于依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;
组合拼装模块,用于将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
本申请还提供了一种网页页面的缓存处理装置,该装置包括:
接收网页页面请求模块,用于接收针对网页页面的请求;
判断模块,用于判断所述请求的网页页面是否需要进行全页缓存;
直接渲染模块,用于当所述判断模块的结果为是时,对所述网页页面直接进行渲染,以获取所述网页页面的内容;
嵌套缓存处理装置,用于当所述判断模块的结果为否时,获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行解析过程,所述解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
与现有技术相比,本申请包括以下优点:
在本申请实施例中,可以在对网页页面的分片嵌套缓存,同时在网页页面的分片进行嵌套缓存时还能够递归地获取到各个分片的HTML代码,从而向用户展示出完整的网页内容,弥补了现有技术的一项空白。在本实施例中,缓存系统可以采用分布式集群服务器来实现,所述分布式集群服务器可以采用水平扩容的方式,增加充当缓存系统的服务器台数,这样就可以实现某一台服务器存储了分片的HTML代码之后,其他的分布式集群服务器就不再进行存储。同时采用本申请实施例的技术方案,可以实现分片之间不限层数的递归嵌套,同时也可以将每个分片的缓存时间设置为不相同的。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中所涉及到的系统框架图;
图2是本申请的一种页面缓存的处理方法实施例一的流程图;
图3是本申请的一种页面缓存的处理方法实施例二的流程图;
图4是本申请方法实施例二中步骤304的流程图;
图5是本申请方法实施例二中第一层分片的分片名称示意图;
图6是本申请的一种页面缓存的处理方法实施例三的流程图;
图7是本申请的一种页面缓存的处理方法实施例四的流程图;
图8是本申请的一种页面缓存的处理方法实施例五的流程图;
图9是本申请的一种页面缓存的处理装置实施例六的结构框图;
图10是本申请的一种页面缓存的处理装置实施例七的结构框图;
图11是本申请装置实施例七中获取嵌套信息子模块1004的结构框图;
图12是本申请的一种页面缓存的处理装置实施例八的结构框图;
图13是本申请的一种页面缓存的处理装置实施例九的结构框图;
图14是本申请的一种页面缓存的处理装置实施例十的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请的主要思想之一可以包括,预先设置网页页面的各个分片的嵌套信息和缓存信息,所述嵌套信息为分片是否包括其他分片的信息;所述各个分片与对应的嵌套信息可保存在WEB服务器的网页模板中,在对当前分片解析时一并从网页模板中读取得到该嵌套信息。在所述网页模板中的信息还可包括分片名称和分片参数,所述分片名称可以标识出每一个分片,而分片参数是根据业务确定的。所述业务是指用户的某种需求,而实现用户某种需求的功能就是具体的业务。所述缓存信息为所述分片是否需要缓存的信息,以及需要缓存的分片的缓存时间长度信息。所述缓存信息可以保存在配置服务器中,在网页页面进行缓存或者网页页面的分片进行嵌套缓存时,可以从所述配置服务器中动态获得所述缓存信息。本申请中在接收到针对某个网页页面的请求时,首先可以判断所述网页页面是否需要进行全页缓存,如果需要,则对所述网页页面直接进行渲染,以获取所述网页页面的内容;如果不需要,则获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述分片解析过程的结果组合成所述网页的完整的第一层分片内容。
需要说明的是,在本申请实施例中,所提及的网页页面包括的分片,可以允许至少具有两层的分片,并且各层分片可以有一个或多个,其中,所述第一层分片与第二层分片是父子关系,但是并不一定是所有的第一层分片都会包括第二层分片,也可以是其中的一个或者多个第一层分片包括第二层分片。其中所述第二层分片还可以包括第三层分片,依此类推,本申请实施例中将这种嵌套关系称为递归嵌套。并且本申请实施例中的各个层次的分片之间的缓存信息是相互独立的,例如,可以预先将当前层分片设置为需要缓存,而其下一层的子分片设置为不需要缓存,并且该下一层的子分片的子分片又可以设置为需要缓存等。缓存信息都可以预先设置好并存贮在配置服务器中,当然,配置服务器中的这些设置好的缓存信息在后续使用过程中也可以实时更新。
参考图1所示,为本申请实施例中所涉及到的系统框架图,用户向网页服务器请求网页,所述缓存处理装置可以集成在WEB服务器上。所述缓存处理装置可以是WEB服务器新增的一个功能实体,也可以是单独作为一个功能实体来实现,该缓存处理装置可以执行本申请实施例中对网页的分片嵌套缓存时的递归处理方法。缓存系统用于存储各个分片或页面的HTML代码,缓存处理装置可以向所述缓存系统请求分片或者页面的HTML代码,如果缓存系统中未包括分片或页面的HTML代码,则WEB服务器中的业务系统负责提供该分片或者页面的HTML代码,所述业务系统可以理解为WEB服务器中完成某个用户请求业务的若干个模块组成的当前系统。
需要说明的是,本申请在实际应用中,也可以不采用缓存系统来缓存HTML代码,而是直接在客户端进行本地保存,例如,直接缓存至客户端的计算机内存中,此时客户端和WEB服务器之间直接进行HTML代码的交互,如果客户端在本地查找不到对应分片或者页面的HTML代码,则触发WEB服务器的业务系统进行查找,如果客户端在本地查找到相应的HTML代码,则直接在用户请求的网页页面上进行显示。不过因为此种方式对本地内存或者计算机的性能要求较高,并且网页页面的种类非常繁多,因此,一般采用单独的分布式集群服务器来作为本申请实施例中的缓存系统。
本申请实施例中的系统框架还可以包括配置服务器,所述配置服务器可以向所述缓存处理装置提供各个分片的缓存信息,但是在本申请实现过程中也可以不需要该配置服务器,此时所述缓存信息可以在WEB服务器中预先给每个分片都一次性设置完毕,类似于分片的固定参数不可改变,而此时缓存系统的各个分片的缓存信息就无法动态修改。
在本申请的实施例中,所述缓存信息可以采用文本方式实现,也可以将缓存信息封装成程序中的对象。当把缓存信息封装成程序中的对象时,这样可以使得当前分片是否包括了其他分片的嵌套方式或者某个嵌套中是否有死循环,都可以从THREAD_LOCAL中获取相应的缓存信息进行判断即可。所述THREAD_LOCAL为WEB服务器的一个线程级别的变量,可以在某一个请求过程中从配置服务器中向缓存处理装置提供缓存信息。
采用本申请实施例中的网页页面缓存的处理方法,即可以实现现有技术中可以实现的全页缓存,也可以实现现有技术中无法实现的网页页面的分片嵌套缓存,弥补了现有技术的缺陷。
实施例一
图2示出了本申请一种页面缓存的处理方法实施例一的流程图,可以包括以下步骤:
步骤201:当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息。
在本实施例中,网页页面如果确定了,该网页页面包括的第一层分片信息也可以确定,因为同一个网页页面的分片格式是相同的,即该网页页面需要划分为哪几个分片,这些分片的位置和名称等信息。其中,每一个分片在网页页面上实质上都是一个占位符,这个占位符可以在任何其他网页页面上使用,只有当最后渲染出该分片结果的时候才会将占位符替换成分片的具体内容。一般情况下,所述分片的具体内容指的是该分片的具体内容对应的超文本标记语言(HyperText Mark-up Language,HTML)代码。
在本实施例中,所述网页页面包括的分片可以嵌套缓存,所述嵌套缓存的含义可以理解为,如果第一层分片A包括第二层分片B,且该第二层分片B也包括第三层分片C,则依据对分片A、B和C预置的缓存信息,来实现对分片A和C缓存,而分片B不缓存的功能。但是不管第一层分片有没有包括其他分片,在本步骤获取到的都是第一层分片信息,而后续在对该第一层分片进行解析时,才能依次获取到分片的嵌套信息。
步骤202:依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息。
获得所述网页页面的第一层分片信息之后,执行对第一层分片的解析过程。因为在解析分片的过程中,可以从配置服务器中动态获取到所述各个第一层分片的嵌套信息,即是当前第一层分片是否包括了第二层分片的信息,以及所包括的第二层分片信息。在本步骤中,需要对所有的第一层分片都进行解析,其中,各个第一层分片的解析过程可以同时执行,也可以先后执行,其执行顺序不影响本申请实施例的实现。
其中,本步骤提及的渲染过程为,依据第一层分片的分片名称和分片参数查找所述第一层分片的具体内容对应的HTML代码的。其中,该渲染过程和现有技术中的渲染过程类似,在此就不再多做介绍。
步骤203:将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
在本步骤中,当第一层分片不包括其他分片时,则渲染结果即是该第一层分片的HTML代码;当第一层分片包括第二层分片时,或者第二层分片又包括了第三层分片时,甚至按照递归的方式直至第N-1层分片包括第N层分片,则第一层分片的渲染结果则是包括了第二层至第N层分片的HTML代码,因此,可以将所述第一层分片的渲染内容组合生成该网页的第一层分片内容。
实施例二
图3示出了本申请一种页面缓存的处理方法实施例二的流程图,可以包括以下步骤:
步骤301:当接收到针对网页页面的请求时,获取所述网页的统一资源定位符(URL)。
在本步骤中,在接收到某个网页页面的请求时,首先获取到该网页对应的统一资源定位符(Uniform/Universal Resource Locator,URL)。以某网络交易平台中“宝贝详情”页面为例,假设该“宝贝详情”页面的URL地址为:xxx.xxx.com/detail.html?id=123。
步骤302:依据所述网页的URL查询得到该网页的模板。
因为每一个网页都有唯一的URL,同时每一个网页也都有一个模板,所以依据所述网页的URL即可知道该网页页面所采用的模板。假设“宝贝详情”页面的模板信息为“detail.vm”,在本步骤中根据“宝贝详情”的页面地址得到模板信息为“detail.vm”。
需要说明的是,每个页面所采用的模板即可以是独立的,也可以是多个页面共用的。页面在采用模板时需要将模板中规定的分片部分进行填充。
步骤303:获得该网页的模板中第一层分片对应的分片名称和分片参数。
当网页的模板确定之后,相应地确定了该模板对应的页面的分片格式。本申请与现有技术不同的是,本申请中网页页面不仅包括第一层分片,而且其包括的第一层分片还可以递归的包括至少一层分片。但是在本步骤通过网页页面所获得的分片仅仅为第一层分片对应的分片名称和分片参数。其中,所述分片参数是根据业务确定的,所述业务是指用户的某种需求,而实现用户某种需求的功能就是具体的业务。以“掌柜信息”为例,其分片参数就是卖家的用户ID;以“宝贝详情”页面为例时,其分片参数就是宝贝的信息和卖家的用户ID。
在一个模板中引入某个分片,可通过如下方式实现:例如,分片名称为“掌柜信息”,而模板名称为“宝贝详情”,则如果在“宝贝详情”中引用“掌柜信息”分片,则代码如下:
control.set(“userInfo”).addPrams(“userId”,1234)
其中,“addPrams”中的内容即是对应的分片“掌柜信息”的分片参数,其中的userId即是用户ID,为“1234”;而“control.set(“userInfo”)”则表示在宝贝详情模板中引用了这个分片。当然,该代码的实现仅仅是一个具体例子,其所公开的内容不应理解为对本申请的限定。
步骤304:依据第一层分片的分片名称和分片参数获得所述第一层分片的嵌套信息,并依据所述第一层分片的嵌套信息获得所述第一层分片的HTML代码;所述嵌套信息为当前分片是否包括其他分片的信息。
在步骤304中,当获得所述第一层分片的分片名称和分片参数时,可以获得该第一层分片嵌套信息和HTML代码。具体地,所述嵌套信息可以从配置服务器中获得,而配置服务器也可以向WEB服务器中的缓存处理装置发送。分片对应的HTML代码可以是网页页面将要显示的图片、文字等信息,而该分片及其对应的HTML代码都可以被其他网页页面的模板所共用。例如,对于网络交易平台中的卖方用户的“宝贝详情”页面的“掌柜信息”分片,其与“店铺页面”的“掌柜信息”分片就属于同一个分片。
同时,在获取所有的第一层分片的HTML代码的时候,参考图4所示,该获取第一层分片的HTML代码的步骤可以包括:
步骤401:从配置服务器中查询所述第一层分片的缓存信息,所述缓存信息包括分片是否需要缓存的信息,以及需要缓存的分片的缓存时间长度信息。
在所述配置服务器中保存着网页页面的各个层的分片的缓存信息,所述缓存信息包括分片是否需要缓存的信息,以及需要缓存的分片的缓存时间长度信息。所述缓存时间长度信息用于表示当前分片的在缓存系统中的有效时间,当分片在缓存系统中的缓存时间超过所述时间长度时,该分片就会失效,所述缓存系统中就不会再有该分片的具体内容。所述缓存信息可以是预先设置好的。当然,后续如果需要对某个分片的缓存信息进行更改时,也可以直接对配置服务器中保存的信息进行更改即可,这样从配置服务器中查询得到的就是最新的缓存信息。对于缓存信息的实现,可以采用“1”来表示当前分片需要保存,并采用“0”来表示当前分片不需要保存;对于缓存时间长度信息的实现,可以采用直接将时间长度信息与所述分片名称或者分片参数信息等进行关联即可。当然,缓存信息的实现可以在实际应用中有多种方式,本申请实施例无需对此做出特别的限定。
需要说明的是,因为缓存失效的时间是由缓存系统控制,单独对于缓存处理装置来讲,在执行本申请实施例的过程中并不知道当前处理的页面或者分片还有多久才会失效,所以在查询缓存系统时,如果查询不到的话就证明当前分片的内容已经失效了。
步骤402:依据所述第一层分片的缓存信息判断第一层分片是否需要缓存;如果是,则进入步骤403;如果否,则进入步骤404。
针对步骤401中所举的例子来讲,如果获取到的表示分片是否需要缓存的信息为“1”,则认为该分片的判断结果是需要缓存。
步骤403:将所述第一层分片的分片名称和分片参数进行哈希运算以得到第一层分片的分片标识(ID);并依据所述分片ID从缓存系统中查找与该分片ID对应的第一层分片的HTML代码,进入步骤405。
其中,所述第一层分片的分片名称可以参考图5所示,所述网页页面的第一层分片包括分片A“宝贝描述”、分片B“导航”、分片C“掌柜信息”以及分片D“店铺类目”。其中,第一层分片C“掌柜信息”还包括第二层分片C1“掌柜信用度”。
在本步骤中,可以将第一层分片的分片名称和分片参数进行哈希(HASH)运算,运算的结果即是所述第一层分片的分片ID,该ID一般情况下为32位。依据该32位的分片ID,可以从缓存系统中查找获取到该分片ID对应的HTML代码,而缓存系统中则保存着各个分片ID与HTML代码之间的对应关系和该HTML代码。
需要说明的是,在对第一层分片进行渲染时,其具体方式为:先将该第一层分片在网页上的位置生成一个占位符,并获取对应的HTML代码,获得之后将该HTML代码替换所述第一层分片的占位符。在对分片进行渲染时,不管其处于网页的哪一层,都可以按照上述方式进行渲染。其中,所述占位符可以理解为该分片的一个位置,后续可以在该位置中添加内容。
步骤404:由WEB服务器中的业务系统查找该第一层分片的分片ID对应的HTML代码,进入步骤405。
当某个分片标识为不需要缓存时,需要由WEB服务器中的业务系统来进行当前分片的渲染,渲染结果就是当前分片的HTML代码。具体的,是由所述业务系统的渲染模块从数据库或者搜索引擎或者文件系统中查找该分片ID对应的HTML代码。
步骤405:依据第一层分片预置的嵌套信息判断所述第一层分片是否包括第二层分片;如果是,则进入步骤406;如果否,则结束对第一层分片的渲染过程。
在本步骤可依据嵌套信息来判断当前解析的第一层分片是否包括第二层分片。
步骤406:对所述第二层分片进行递归渲染处理,所述递归渲染处理的方式为:在待处理分片的上一层分片上生成所述待处理分片的占位符;依据所述待处理分片的分片名称和分片参数,获取所述待处理分片的HTML代码;将所述待处理分片的HTML代码替换所述待处理分片的占位符,进入步骤407。
本步骤是在第一层分片包括第二层分片时,实现对第二层分片的递归渲染处理,即是在第一层分片上首先生成第二层分片的占位符,然后依据第二层分片的分片名称和分片参数,采用相同的方式获取所述第二层分片的HTML代码,其中,所述采用相同的方式的含义为:对所述第二层分片的分片名称和分片参数进行哈希运算以得到32位的第二层分片ID,当所述第二层分片需要缓存时,则依据该ID到缓存系统中查询获取对应的HTML代码,如果该缓存系统中没有对应的HTML代码,或者所述第二层分片是不需要缓存的,则依据业务性能从数据库中或者从互联网上获取到对应的HTML代码,查找之后再将所述第二层分片的占位符部分替换为所述第二层分片的HTML代码。
步骤407:继续判断所述第二层分片是否包括第三层分片,如果是,则进入步骤408;如果否,则结束第二层分片的渲染流程。
在对所述第二层分片的HTML代码查找结束之后,则继续判断所述第二层分片是否包括第三层分片,如果第二层分片不再包括第三层分片,则结束第二层分片的渲染过程。
更具体的来讲,如果第二层分片继续包含第三层分片的话,先将第二层分片的内容进行渲染,同时将第三层分片的部分在第二层分片上生成占位符,然后再渲染第三层分片,并将第三层分片的渲染内容填充进该第二层分片的占位符中,所得到的结果即是第二层分片的HTML代码。以上面掌柜信息的例子来讲,“掌柜信息”分片中包含“信用度”分片,那么在递归渲染处理的时候,先将“掌柜信息”分片的信息渲染,“信用度”分片在“掌柜信息”分片上的位置先设置为占位符,然后再渲染该“信用度”分片,并将“信用度”分片的渲染内容填充进“掌柜信息”分片的占位符中,最后返回“掌柜信息”分片的渲染结果。
步骤408:对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止,所述N为大于3的整数。
在本步骤,按照对第一层分片和第二层分片所做的递归渲染处理,直至最后判断得到第N层分片不再包括其他层级的分片位置,所述N为大于3的整数。
步骤305:将获取到的所有的第一层分片的HTML代码组合成所述网页的完整的第一层分片内容。
在本步骤中,需要将对第一层分片进行渲染的渲染结果进行组合,所述渲染结果即是第一层分片的HTML,如果第一层分片还递归的包括了至少一层分片,则所述第一层分片的渲染结果还包括所述至少一层分片的HTML代码,此步骤中需要将所述各个分片的HTML代码组合形成所述网页的完整的第一层分片内容。
步骤306:将所述完整的第一层分片内容在客户端的网页上向用户进行展示。
将组合成的完整的第一层分片的内容在客户端的网页上向用户进行展示,展示结果即是用户看到的网页内容。
本实施例中,可以在对网页页面的分片嵌套缓存,同时在网页页面的分片进行嵌套缓存时还能够递归地获取到各个分片的HTML代码,从而向用户展示出完整的网页内容,弥补了现有技术的一项空白。
实施例三
参考图6,示出了本申请一种页面缓存的处理方法实施例三的流程图,本实施例可以理解为将本申请的页面缓存的处理方法应用于实际中的一个具体例子,可以包括以下步骤:
步骤601:当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息。
步骤602:从配置服务器中查询所述第一层分片的缓存信息,所述缓存信息包括分片是否需要缓存的信息,以及需要缓存的分片的缓存时间长度信息。
步骤603:依据所述第一层分片的缓存信息判断第一层分片是否需要缓存,如果是,则进入步骤604;如果否,则进入步骤605。
步骤604:将所述第一层分片的分片名称和分片参数进行哈希运算以得到第一层分片的分片标识ID;依据所述分片ID从缓存系统中查找与该分片ID对应的第一层分片的HTML代码,如果查找到该HTML代码,则进入步骤606;如果没有查找到对应的HTML代码,则进入步骤605。
在本步骤中,虽然所述第一层分片是需要缓存的,但是所述缓存系统中却可能查询不到所述第一层分片对应的HTML代码。例如,当所述第一层分片的缓存时间已到,所述缓存的第一层分片的内容失效,这种情况下就可能查询不到。其中,所述各个层的分片的缓存时间是预先设置好的,也可以存储在配置服务器中。
步骤605:由WEB服务器的业务系统负责查找该分片ID对应的HTML代码。
步骤606:当第一层分片需要缓存而缓存系统中却不存在该分片的HTML代码时,将所述查找得到的HTML代码及其与所述分片ID的对应关系缓存至缓存系统中。
在本步骤中,第一层分片需要缓存的HTML代码却没有被存储进缓存系统中,因此在执行步骤605之后,可以将查找到的HTML代码存储到缓存系统中。而如果第一层分片不需要缓存,那么查找到该第一层分片的HTML代码时,就无需存储到缓存系统中。
需要说明的是,步骤606虽然在步骤605之后,但是步骤606只有在第一层分片需要缓存的HTML代码没有被存储进缓存系统时才执行,因此步骤606并不是本实施例所必须的步骤。
步骤607:依据预置的嵌套信息判断所述第一层分片是否包括第二层分片;如果是,则对所述第二层分片进行递归渲染处理,所述递归渲染处理的方式为:在待处理分片的上一层分片上生成所述待处理分片的占位符;依据所述待处理分片的分片名称和分片参数,获取所述待处理分片的上一层分片的HTML代码;将所述待处理分片的HTML代码替换所述待处理分片的占位符。
步骤608:继续判断所述第二层分片是否包括第三层分片,如果是,则对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止,所述N为大于3的整数,如果否,则结束渲染过程。
本实施例中的步骤607和步骤608在上一个实施例中都进行了详细的描述,因为本实施例的实现方式与上一个实施例相同,因此此处不再赘述。
步骤609:当某个分片的内容发生变化时,按照所述分片的分片名称和分片参数进行哈希运算以得到该分片的分片ID。
在本实施例中,所述步骤609和步骤610可以实现对缓存系统中所存储的分片的HTML代码实现主动失效的功能。主动失效的含义为,即便某个分片的缓存时间还未过期,也可通过执行步骤609和610将缓存系统中该分片对应的HTML代码删除。
步骤610:按照所述分片ID,在缓存系统中查找并删除与该ID对应的HTML代码。
在实际应用中,有一些应用场景需要在分片的HTML代码未到达预定的缓存时间就失效掉。以“掌柜信息”分片为例,假设“掌柜信息”分片的缓存时间是1天,但是如果还未到1天的时候,“掌柜信息”发生了变化,这时可更新缓存系统中保存的该分片的HTML代码,将之前的缓存内容进行删除。
需要说明的是,可以从步骤609和步骤610中看出,对分片的HTML代码进行失效的时候,通过对分片名称和分片参数进行哈希运算,并将计算得到的32位结果作为分片ID,以删除该分片ID在缓存系统中对应的HTML代码。
步骤611:将所述分片除了HTML代码以外的其他响应头的值缓存至所述缓存系统中。
在本申请实施例中,如果开启了头(HEDER)缓存,在向缓存系统新增某个分片的HTML代码时,有些业务需要将除了所述HTML代码以外的其他响应头(RESPONE HEDER)中的信息也一起缓存,而如果只缓存了HTML代码不缓存响应头的值的话,可能会导致这些业务无法正常工作。例如,访问“宝贝详情”页面的分片时,有相应的语言版本信息,这些语言版本信息在响应头中保存的方式是“_lang=gbk”的方式,当“宝贝详情”页面向客户端返回结果的时候,对应的“_lang=gbk”也将返回,这样就可以在保证对于某个分片的HTML代码能够在不同的网页中都相同。
在本步骤实现的时候,预先配置好当前使用的业务系统中响应头的哪些值需要缓存,该配置信息和分片的相关信息一起存放在缓存系统中。缓存之后,如果用户请求的网页页面中的分片在缓存系统中对应的也有响应头的值,则在返回HTML代码的同时也返回对应的响应头的值。
在本实施例中,缓存系统可以采用分布式集群服务器来实现,所述分布式集群服务器可以采用水平扩容的方式,增加充当缓存系统的服务器台数,这样就可以实现某一台服务器存储了分片的HTML代码之后,其他的分布式集群服务器就不再进行存储。同时采用本申请实施例的技术方案,可以实现分片之间不限层数的递归嵌套,同时也可以将每个分片的缓存时间设置为不相同的。同时本实施例中,如果存在头缓存,在分片的HTML代码进行缓存的同时也缓存某个分片的响应头中需要的值。
实施例四
参考图7,示出了本申请一种页面缓存的处理方法实施例四的流程图,本实施例可以理解为将本申请的页面缓存的处理方法应用于实际中的一个具体例子,可以包括以下步骤:
步骤701:接收到针对网页页面的请求。
步骤702:判断所述请求的网页页面是否需要进行全页缓存;如果需要,则进入步骤703;如果不需要,则进入步骤704。
在本申请实施例中,所描述的是对网页页面的缓存处理过程。前述三个实施例所描述的技术方案是网页页面不需要缓存而网页页面的某些分片需要缓存的情况。本实施例中对所述网页页面是否需要缓存进行判断,在当前用户请求的网页页面需要缓存时,在后续进行处理时,可直接对该网页页面进行渲染;而在当前用户请求的网页页面不需要缓存时,执行对网页页面包括的各个分片的渲染过程。
步骤703:对所述网页页面直接进行渲染,以获取所述网页页面的内容。
在本步骤中,通过对整个网页页面直接进行渲染,以获得所述网页页面的HTML代码。在实际应用中,可以直接利用网页页面的页面名称和页面参数进行哈希运算以得到32位页面ID,以该页面ID到缓存系统中查找对应的页面的HTML代码,如果查询不到,则从数据库中或者互联网上查询相应的HTML代码,并根据返回的查询结果获得所述网页页面的具体内容。所述页面参数是指WEB服务器依据用户所请求的网页传递给缓存处理装置的参数,例如,用户查询页面,页面的URL都是相同的,唯独不同的就是参数不同,例如:
www.xxx.com/aaa.htm?user=[x]&userName=[x]。
步骤704:对该网页页面执行页面解析过程,所述页面解析过程具体包括:获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行分片解析过程。所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
本步骤针对的是网页页面不需要缓存而其中的某些分片需要缓存的应用场景,该应用场景下的实现过程在前述三个实施例中已经介绍得很详细,在此不再赘述。
在本实施例中,可以实现对网页页面缓存时的缓存处理,能够实现网页页面需要缓存而分片不缓存,或者网页页面不需要缓存而其中的某些分片需要嵌套缓存时相应的渲染过程。
实施例五
参考图8,其示出了本申请一种页面缓存的处理方法实施例五的流程图,本实施例可以理解为将本申请的页面缓存的处理方法应用于实际中的一个具体例子,可以包括以下步骤:
步骤801:接收到针对网页页面的请求。
步骤802:获取所述网页页面的URL,并依据所述URL查找预置的缓存信息,所述缓存信息包括所述网页页面是否需要进行全页缓存的信息。如果需要进行全页缓存,则进入步骤803,如果不需要进行全页缓存,则进入步骤805。
在本实施例中也可以由配置服务器对所述网页页面的缓存信息进行存储,而配置服务器可以更新存储的缓存信息,并向缓存处理装置发送更新后的缓存信息;缓存处理装置也可以从配置服务器中主动获取相应的缓存信息。所述缓存信息中包括所述网页页面是否需要进行全页缓存的信息。
步骤803:将所述网页页面的URL与页面参数生成32位的页面ID,进入步骤804。
本步骤中需要将所述网页页面的URL与页面参数采用哈希运算生成32位的页面ID。
步骤804:依据所述页面ID从缓存系统中查找对应的页面HTML代码,进入步骤806。
以步骤803中得到的32位的页面ID为关键词从缓存系统中查询对应的页面HTML代码。
步骤805:由WEB服务器的业务系统负责查找该页面ID对应的HTML代码。
步骤806:将所述查找得到的HTML代码及其与所述页面ID的对应关系缓存至缓存系统中。
在本步骤中,如果网页页面需要缓存,但是却在缓存系统中查询不到,则在步骤805之后继续将查询得到的HTML代码及页面ID的对应关系,同时还有HTML代码都存储至缓存系统中。
需要说明的是,在进行网页页面的缓存处理时,如果网页页面需要缓存,也可以在该网页页面的缓存时间还未到来,但是网页页面的HTML代码又进行了更新的情况下,对所述网页页面进行主动失效。主动失效的含义及其实现方式在前述实施例中已经介绍,在此不再赘述。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
实施例六
与上述本申请一种页面缓存的处理方法实施例一所提供的方法相对应,参见图9,本申请还提供了一种页面缓存的处理装置实施例六,在本实施例中,该装置具体可以包括:
获取模块901,用于当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息。
分片解析模块902,用于依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息。
组合拼装模块903,用于将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
本实施例中,可以实现当网页页面的分片采用了嵌套缓存的方式时,能够递归地获取到所述网页页面各个分片的HTML代码,最后组合拼装成该网页页面的第一层分片,解决了现有技术中无法对网页页面的分片进行嵌套缓存的问题,以及分片进行嵌套缓存之后的递归渲染问题。
实施例七与上述本申请一种页面缓存的处理方法实施例二所提供的方法相对应,参见图10,本申请还提供了一种页面缓存的处理装置的优选实施例七,在本实施例中,该装置具体可以包括:
获取URL子模块1001,用于获取所述网页的统一资源定位符(URL);
查询模板子模块1002,用于依据所述网页的URL查询得到该网页的模板;
获得分片信息子模块1003,用于获得该网页的模板中第一层分片对应的分片名称和分片参数;
获取嵌套信息子模块1004,用于依次依据第一层分片的分片名称和分片参数获取所述第一层分片的HTML代码和嵌套信息。
参考图11所示,所述获取嵌套信息子模块1004具体可以包括:
查询缓存信息子模块1101,用于从配置服务器中查询所述第一层分片的缓存信息,所述缓存信息包括分片是否需要缓存的信息,以及需要缓存的分片的缓存时间长度信息;
判断子模块1102,用于在当前时间还未到达所述缓存时间长度时,依据所述第一层分片的缓存信息判断第一层分片是否需要缓存;
第一查找HTML代码子模块1103,用于当所述判断子模块1102的结果为是时,则将所述第一层分片的分片名称和分片参数进行哈希运算以得到第一层分片的分片标识ID;并依据所述分片ID从缓存系统中查找与该分片ID对应的第一层分片的HTML代码;
第二查找HTML代码子模块1104,用于当所述判断子模块1102的结果为否时,则触发WEB服务器的业务系统查找该分片ID对应的HTML代码。
递归渲染处理子模块1005,用于依据所述嵌套信息判断所述第一层分片是否包括第二层分片;如果是,则对所述第二层分片进行递归渲染处理,所述递归渲染处理的方式为:在待处理分片的上一层分片上生成所述待处理分片的占位符;依据所述待处理分片的分片名称和分片参数,获取所述待处理分片的上一层分片的HTML代码;将所述待处理分片的HTML代码替换所述待处理分片的占位符;并继续判断所述第二层分片是否包括第三层分片,如果是,则对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止,所述N为大于3的整数;如果第一层分片不包括第二层分片,则结束渲染过程。
客户端展示模块1006,用于将所述完整的第一层分片内容在客户端的网页上展示。
本实施例中,可以在对网页页面的分片嵌套缓存,同时在网页页面的分片进行嵌套缓存时还能够递归地获取到各个分片的HTML代码,从而向用户展示出完整的网页内容,弥补了现有技术的一项空白。
实施例八
与上述本申请一种页面缓存的处理方法实施例三所提供的方法中的内容相对应,参见图12,本申请还提供了一种页面缓存的处理装置的优选实施例八,在本实施例中,该装置具体还可以包括:
缓存模块1201,用于将所述查找得到的HTML代码及其与所述分片ID的对应关系缓存至缓存系统中;
哈希运算模块1202,用于当某个分片的内容发生变化时,按照所述分片的分片名称和分片参数进行哈希运算以得到该分片的分片ID;
删除模块1203,用于按照所述分片ID在缓存系统中查找并删除与该ID对应的HTML代码;
所述缓存模块1204,具体用于将所述分片的HTML代码对应的头HEADER的值缓存至所述缓存系统中。
实施例九
与上述本申请一种页面缓存的处理方法实施例四所提供的方法相对应,参见图13,本申请还提供了一种页面缓存的处理装置的优选实施例九,在本实施例中,该装置具体可以包括:
接收网页页面请求模块1301,用于接收针对网页页面的请求;
判断模块1302,用于判断所述请求的网页页面是否需要进行全页缓存;
直接渲染模块1303,用于当所述判断模块1302的结果为是时,对所述网页页面直接进行渲染,以获取所述网页页面的内容;
嵌套缓存处理装置1304,用于当所述判断模块1302的结果为否时,获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行解析过程,所述解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
实施例十
与上述本申请一种页面缓存的处理方法实施例五所提供的方法相对应,参见图14,本申请还提供了一种页面缓存的处理装置的优选实施例十,在本实施例中,该装置具体可以包括:
接收网页页面请求模块1301,用于接收针对网页页面的请求;
所述判断模块1302具体可以包括:
获取缓存信息子模块1401,用于获取所述网页页面的URL;
查找子模块1402,用于依据所述URL查找预置的缓存信息,所述缓存信息包括所述网页页面是否需要进行全页缓存的信息,以及所述网页页面的缓存时间长度信息。
所述直接渲染模块1303具体可以包括:
生成页面ID模块1403,用于在所述缓存时间长度还未到达时,将所述网页页面的URL与页面参数生成32位的页面ID;
第一查找HTML代码模块1404,用于依据所述页面ID从缓存系统中查找对应的页面HTML代码。
所述装置具体还可以包括:
第二查找HTML代码模块1405,用于触发WEB服务器的业务系统查找该页面ID对应的HTML代码;
缓存模块1406,用于将所述查找得到的HTML代码及其与所述页面ID的对应关系缓存至缓存系统中。
实施例十一
与前述本申请提供的一种网页页面的分片嵌套缓存的处理方法和装置相对应,本申请还提供了一种网页页面的分片嵌套缓存的处理系统实施例十,所述系统具体可以包括客户端和WEB服务器:
所述客户端,用于向WEB服务器请求网页页面;
所述WEB服务器包括所述缓存处理装置,所述缓存处理装置包括:
获取模块,用于当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息;
分片解析模块,用于依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;
组合拼装模块,用于将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
同时本申请还提供了一种网页页面的缓存处理系统实施例,所述系统具体可以包括客户端和WEB服务器:
所述客户端,用于向WEB服务器请求网页页面;
所述WEB服务器包括所述缓存处理装置,所述缓存处理装置包括:
接收网页页面请求模块,用于接收针对网页页面的请求;
判断模块,用于判断所述请求的网页页面是否需要进行全页缓存;
直接渲染模块,用于当所述判断模块的结果为是时,对所述网页页面直接进行渲染,以获取所述网页页面的内容;
嵌套缓存处理装置,用于当所述判断模块的结果为否时,获取所述网页页面包括的第一层分片信息;依据所述第一层分片信息依次对第一层分片执行解析过程,所述解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种页面缓存的处理方法、装置及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种网页页面的分片嵌套缓存的处理方法,其特征在于,包括:
当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息,所述第一层分片信息包括分片名称和分片参数;
依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;其中,所述依据所述第一层分片的嵌套信息对所述第一层分片进行渲染,具体包括:依次依据第一层分片的分片名称和分片参数获取所述第一层分片的HTML代码和嵌套信息,依据所述嵌套信息判断所述第一层分片是否包括第二层分片,如果是,则对所述第二层分片进行递归渲染处理,继续判断所述第二层分片是否包括第三层分片,如果是,则对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止,所述N为大于3的整数;将所述分片解析过程的结果组合成所述网页的完整的第一层分片内容。
2.根据权利要求1所述的方法,其特征在于,所述获取所述网页页面包括的第一层分片信息,具体包括:
获取所述网页的统一资源定位符URL;
依据所述网页的URL查询得到该网页的模板;
获得该网页的模板中第一层分片对应的分片名称和分片参数。
3.根据权利要求1所述的方法,其特征在于,
所述递归渲染处理的方式为:在待处理分片的上一层分片上生成所述待处理分片的占位符;依据所述待处理分片的分片名称和分片参数,获取所述待处理分片的上一层分片的HTML代码;将所述待处理分片的HTML代码替换所述待处理分片的占位符。
4.根据权利要求3所述的方法,其特征在于,所述依次依据第一层分片的分片名称和分片参数获取所述第一层分片的HTML代码,具体包括:
从配置服务器中查询所述第一层分片的缓存信息,所述缓存信息包括分片是否需要缓存的信息;
依据所述第一层分片的缓存信息判断第一层分片是否需要缓存,如果是,则将所述第一层分片的分片名称和分片参数进行哈希运算以得到第一层分片的分片标识ID;并依据所述分片ID从缓存系统中查找与该分片ID对应的第一层分片的HTML代码;
如果否,则由WEB服务器的业务系统查找该分片ID对应的HTML代码。
5.根据权利要求4所述的方法,其特征在于,如果所述第一层分片需要缓存而所述缓存系统中不包括所述第一层分片的HTML代码,还包括:
由WEB服务器的业务系统查找该分片ID对应的HTML代码;
将所述查找得到的HTML代码及其与所述分片ID的对应关系缓存至缓存系统中。
6.根据权利要求4所述的方法,其特征在于,所述缓存信息还包括需要缓存的分片的缓存时间长度信息,则所述方法还包括:
当在所述缓存时间长度内某个分片的内容发生变化时,按照所述分片的分片名称和分片参数进行哈希运算以得到该分片的分片ID;
按照所述分片ID在缓存系统中查找并删除与该ID对应的HTML代码。
7.根据权利要求5所述的方法,其特征在于,如果还包括头缓存,则所述方法还包括:
将所述分片的HTML代码对应的头HEADER的值缓存至所述缓存系统中。
8.一种网页页面的缓存处理方法,其特征在于,包括:
接收到针对网页页面的请求;
判断请求的所述网页页面是否需要进行全页缓存,如果需要,则对所述网页页面直接进行渲染,以获取所述网页页面的内容;
如果不需要,则获取所述网页页面包括的第一层分片信息,所述第一层分片信息包括分片名称和分片参数;依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述分片解析过程的结果组合成所述网页的完整的第一层分片内容;
其中,所述获取所述网页页面包括的第一层分片信息,具体包括:获取所述网页的统一资源定位符URL,依据所述网页的URL查询得到该网页的模板,以及,获得该网页的模板中第一层分片对应的分片名称和分片参数;其中,所述依据所述第一层分片的嵌套信息对所述第一层分片进行渲染,具体包括:依次依据第一层分片的分片名称和分片参数获取所述第一层分片的HTML代码和嵌套信息,依据所述嵌套信息判断所述第一层分片是否包括第二层分片,如果是,则对所述第二层分片进行递归渲染处理,继续判断所述第二层分片是否包括第三层分片,如果是,则对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止;所述N为大于3的整数。
9.根据权利要求8所述的方法,其特征在于,所述判断请求的所述网页页面是否需要进行全页缓存,具体包括:
获取所述网页页面的URL,并依据所述URL查找预置的缓存信息,所述缓存信息包括所述网页页面是否需要进行全页缓存的信息,以及所述网页页面的缓存时间长度信息。
10.根据权利要求9所述的方法,其特征在于,对所述网页页面直接进行渲染,具体包括:
在所述缓存时间长度还未到达时,将所述网页页面的URL与页面参数生成32位的页面ID;
依据所述页面ID从缓存系统中查找对应的页面HTML代码。
11.根据权利要求10所述的方法,其特征在于,如果查询不到HTML代码,则所述方法还包括:
由WEB服务器中的业务系统查找该页面ID对应的HTML代码;
将所述查找得到的HTML代码及其与所述页面ID的对应关系缓存至缓存系统中。
12.一种网页页面的分片嵌套缓存的处理装置,其特征在于,该装置包括:
获取模块,用于当接收到针对网页页面的请求时,获取所述网页页面包括的第一层分片信息,所述第一层分片信息包括分片名称和分片参数;
分片解析模块,用于依据所述第一层分片信息依次对第一层分片执行分片解析过程,所述分片解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;其中,所述依据所述第一层分片的嵌套信息对所述第一层分片进行渲染,具体包括:依次依据第一层分片的分片名称和分片参数获取所述第一层分片的HTML代码和嵌套信息,依据所述嵌套信息判断所述第一层分片是否包括第二层分片,如果是,则对所述第二层分片进行递归渲染处理,继续判断所述第二层分片是否包括第三层分片,如果是,则对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止;所述N为大于3的整数;
组合拼装模块,用于将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容。
13.一种网页页面的缓存处理装置,其特征在于,该装置包括:
接收网页页面请求模块,用于接收针对网页页面的请求;
判断模块,用于判断所述请求的网页页面是否需要进行全页缓存;
直接渲染模块,用于当所述判断模块的结果为是时,对所述网页页面直接进行渲染,以获取所述网页页面的内容;
嵌套缓存处理装置,用于当所述判断模块的结果为否时,获取所述网页页面包括的第一层分片信息,所述第一层分片信息包括分片名称和分片参数;依据所述第一层分片信息依次对第一层分片执行解析过程,所述解析过程具体为:依据所述第一层分片的预置的嵌套信息对所述第一层分片进行渲染;所述嵌套信息为当前分片是否包括其他分片的信息;将所述渲染的渲染结果组合成所述网页的完整的第一层分片内容;
其中,所述依据所述第一层分片的嵌套信息对所述第一层分片进行渲染,具体包括:依次依据第一层分片的分片名称和分片参数获取所述第一层分片的HTML代码和嵌套信息,依据所述嵌套信息判断所述第一层分片是否包括第二层分片,如果是,则对所述第二层分片进行递归渲染处理,继续判断所述第二层分片是否包括第三层分片,如果是,则对所述第三层分片进行所述递归渲染处理,直至最后判断得到第N层分片不再包括其他分片为止;所述N为大于3的整数。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102251862A CN102331985B (zh) | 2010-07-12 | 2010-07-12 | 网页页面的分片嵌套缓存的处理方法和装置 |
US13/258,947 US9195638B2 (en) | 2010-07-12 | 2011-07-06 | Method and apparatus of processing nested fragment caching of a web page |
EP11807296.6A EP2593882B1 (en) | 2010-07-12 | 2011-07-06 | Method and apparatus of processing nested fragment caching of a web page |
JP2013519708A JP5826266B2 (ja) | 2010-07-12 | 2011-07-06 | ウェブページのネストしたフラグメントキャッシングを処理する方法および装置 |
PCT/US2011/043071 WO2012009191A1 (en) | 2010-07-12 | 2011-07-06 | Method and apparatus of processing nested fragment caching of a web page |
HK12102410.4A HK1161924A1 (en) | 2010-07-12 | 2012-03-09 | Method and device for processing nesting caching of webpage fragments |
US14/834,575 US20150363369A1 (en) | 2010-07-12 | 2015-08-25 | Method and Apparatus of Processing Nested Fragment Caching of a Web Page |
JP2015202188A JP6091579B2 (ja) | 2010-07-12 | 2015-10-13 | ウェブページのネストしたフラグメントキャッシングを処理する方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102251862A CN102331985B (zh) | 2010-07-12 | 2010-07-12 | 网页页面的分片嵌套缓存的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102331985A CN102331985A (zh) | 2012-01-25 |
CN102331985B true CN102331985B (zh) | 2013-09-25 |
Family
ID=45469760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102251862A Expired - Fee Related CN102331985B (zh) | 2010-07-12 | 2010-07-12 | 网页页面的分片嵌套缓存的处理方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9195638B2 (zh) |
EP (1) | EP2593882B1 (zh) |
JP (2) | JP5826266B2 (zh) |
CN (1) | CN102331985B (zh) |
HK (1) | HK1161924A1 (zh) |
WO (1) | WO2012009191A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131445A1 (en) * | 2010-11-23 | 2012-05-24 | International Business Machines Corporation | Template-based content creation |
US8972848B2 (en) | 2010-11-23 | 2015-03-03 | International Business Machines Corporation | Document renewal and translation |
CN103455478A (zh) * | 2012-05-21 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 加速网页访问的方法和装置 |
US11233841B2 (en) * | 2013-03-15 | 2022-01-25 | Yottaa, Inc. | Systems and methods for configuration-based optimization by an intermediary |
CN103366019B (zh) * | 2013-08-06 | 2016-09-28 | 飞天诚信科技股份有限公司 | 一种基于iOS设备的网页拦截方法和设备 |
US10984175B2 (en) | 2013-08-09 | 2021-04-20 | Yottaa Inc. | Systems and methods for dynamically modifying a requested web page from a server for presentation at a client |
US20150088970A1 (en) | 2013-09-20 | 2015-03-26 | Yottaa Inc. | Systems and methods for managing loading priority or sequencing of fragments of a web object |
CN103605514B (zh) * | 2013-11-11 | 2017-11-21 | 北京奇虎科技有限公司 | 一种前端模板的处理方法及装置 |
CN103870280B (zh) * | 2014-03-21 | 2017-05-17 | 上海新炬网络技术有限公司 | 基于flex与jsp的网页无缝结合处理方法 |
US9673998B2 (en) * | 2014-05-15 | 2017-06-06 | Futurewei Technologies, Inc. | Differential cache for representational state transfer (REST) API |
CN106959975B (zh) * | 2016-01-11 | 2021-06-04 | 阿里巴巴(中国)有限公司 | 一种转码资源缓存处理方法、装置及设备 |
CN105808736B (zh) * | 2016-03-10 | 2019-09-03 | 微梦创科网络科技(中国)有限公司 | 一种榜单数据更新方法、装置及系统 |
CN107315646B (zh) * | 2016-04-27 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 页面组件间的数据流向控制方法和装置 |
CN106202354A (zh) * | 2016-07-05 | 2016-12-07 | 广州华多网络科技有限公司 | 一种导航类目的页面加载方法及装置 |
CN111198731A (zh) * | 2018-11-16 | 2020-05-26 | 北京奇虎科技有限公司 | 一种界面实现方法、装置、电子设备和存储介质 |
US11550579B2 (en) * | 2020-03-12 | 2023-01-10 | Td Ameritrade Ip Company, Inc. | Systems and methods for configurable ordered transformation of database content |
CN114817792B (zh) * | 2022-06-21 | 2022-09-16 | 好享家舒适智能家居股份有限公司 | 单页面应用交互体验优化方法、装置、设备及存储介质 |
CN117009694A (zh) * | 2023-08-01 | 2023-11-07 | 斑马工程咨询有限公司 | 一种互联网网页显示管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539912A (zh) * | 2008-03-18 | 2009-09-23 | 林福来 | 树型浏览器浏览网页的方法 |
CN101582075A (zh) * | 2009-06-24 | 2009-11-18 | 大连海事大学 | Web信息抽取系统 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108655A (en) * | 1996-07-19 | 2000-08-22 | Cisco Technology, Inc. | Method and apparatus for transmitting images and other objects over a computer network system |
US6012126A (en) | 1996-10-29 | 2000-01-04 | International Business Machines Corporation | System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes |
US5924116A (en) | 1997-04-02 | 1999-07-13 | International Business Machines Corporation | Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node |
US6026413A (en) | 1997-08-01 | 2000-02-15 | International Business Machines Corporation | Determining how changes to underlying data affect cached objects |
US6393526B1 (en) | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6122666A (en) | 1998-02-23 | 2000-09-19 | International Business Machines Corporation | Method for collaborative transformation and caching of web objects in a proxy network |
US6249844B1 (en) * | 1998-11-13 | 2001-06-19 | International Business Machines Corporation | Identifying, processing and caching object fragments in a web environment |
US6345292B1 (en) | 1998-12-03 | 2002-02-05 | Microsoft Corporation | Web page rendering architecture |
US6178461B1 (en) | 1998-12-08 | 2001-01-23 | Lucent Technologies Inc. | Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects |
JP2003022203A (ja) | 2001-04-27 | 2003-01-24 | Matsushita Electric Ind Co Ltd | コンテンツ解析装置、コンテンツ解析方法、プログラム及びその記録媒体 |
US7587515B2 (en) * | 2001-12-19 | 2009-09-08 | International Business Machines Corporation | Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user |
US7730154B2 (en) | 2001-12-19 | 2010-06-01 | International Business Machines Corporation | Method and system for fragment linking and fragment caching |
US7426534B2 (en) * | 2001-12-19 | 2008-09-16 | International Business Machines Corporation | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US7509393B2 (en) * | 2001-12-19 | 2009-03-24 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US20030188021A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for processing multiple fragment requests in a single message |
US7412535B2 (en) | 2001-12-19 | 2008-08-12 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US6868439B2 (en) | 2002-04-04 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection |
US7979700B2 (en) * | 2002-08-23 | 2011-07-12 | Sandisk Corporation | Apparatus, system and method for securing digital documents in a digital appliance |
US8046682B2 (en) * | 2002-12-02 | 2011-10-25 | Siebel Systems, Inc. | Method and system for accessing business applications via a standard interface |
US7386786B2 (en) * | 2003-01-24 | 2008-06-10 | The Cobalt Group, Inc. | Method and apparatus for processing a dynamic webpage |
US7451393B1 (en) * | 2003-12-23 | 2008-11-11 | Sun Microsystems, Inc. | System and method for a page rendering framework |
CA2465155C (en) * | 2004-04-21 | 2008-12-09 | Ibm Canada Limited-Ibm Canada Limitee | Recommendations for intelligent data caching |
US7499909B2 (en) * | 2006-07-03 | 2009-03-03 | Oracle International Corporation | Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching |
JP4915219B2 (ja) * | 2006-11-24 | 2012-04-11 | 富士通株式会社 | ハイパーテキスト変換プログラム、方法及び装置 |
JP2009199173A (ja) | 2008-02-19 | 2009-09-03 | Casio Comput Co Ltd | サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム |
NZ566291A (en) | 2008-02-27 | 2008-12-24 | Actionthis Ltd | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20110055683A1 (en) | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
-
2010
- 2010-07-12 CN CN2010102251862A patent/CN102331985B/zh not_active Expired - Fee Related
-
2011
- 2011-07-06 EP EP11807296.6A patent/EP2593882B1/en active Active
- 2011-07-06 WO PCT/US2011/043071 patent/WO2012009191A1/en active Application Filing
- 2011-07-06 JP JP2013519708A patent/JP5826266B2/ja active Active
- 2011-07-06 US US13/258,947 patent/US9195638B2/en active Active
-
2012
- 2012-03-09 HK HK12102410.4A patent/HK1161924A1/xx not_active IP Right Cessation
-
2015
- 2015-08-25 US US14/834,575 patent/US20150363369A1/en not_active Abandoned
- 2015-10-13 JP JP2015202188A patent/JP6091579B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539912A (zh) * | 2008-03-18 | 2009-09-23 | 林福来 | 树型浏览器浏览网页的方法 |
CN101582075A (zh) * | 2009-06-24 | 2009-11-18 | 大连海事大学 | Web信息抽取系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2016035764A (ja) | 2016-03-17 |
WO2012009191A1 (en) | 2012-01-19 |
US20150363369A1 (en) | 2015-12-17 |
JP2013537665A (ja) | 2013-10-03 |
US20130111325A1 (en) | 2013-05-02 |
EP2593882A4 (en) | 2016-12-14 |
EP2593882A1 (en) | 2013-05-22 |
CN102331985A (zh) | 2012-01-25 |
JP6091579B2 (ja) | 2017-03-08 |
EP2593882B1 (en) | 2019-01-09 |
US9195638B2 (en) | 2015-11-24 |
HK1161924A1 (en) | 2012-08-10 |
JP5826266B2 (ja) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102331985B (zh) | 网页页面的分片嵌套缓存的处理方法和装置 | |
CN106446005B (zh) | 因子分解模型 | |
KR100881668B1 (ko) | 웹 페이지 프리페치 장치 및 방법 | |
US7840547B1 (en) | Methods and systems for efficient query rewriting | |
JP5916959B2 (ja) | 動的データ取得方法およびシステム | |
EP1517250A1 (en) | Improved systems and methods for ranking documents based upon structurally interrelated information | |
CN103221951A (zh) | 预测查询建议高速缓存 | |
US20110302148A1 (en) | System and Method for Indexing Food Providers and Use of the Index in Search Engines | |
US20080301113A1 (en) | System and method for providing vector terms related to a search query | |
US20120158496A1 (en) | System and method for classifying webpages | |
CN105027121A (zh) | 对本机应用的应用页面建索引 | |
CN104424199A (zh) | 搜索方法和装置 | |
JP2007534087A (ja) | 部分的クエリーキャッシング | |
CN106933965B (zh) | 静态资源请求的方法 | |
CN101523393A (zh) | 本地存储基于web的数据库数据 | |
US20120310941A1 (en) | System and method for web-based content categorization | |
CN110515631B (zh) | 应用安装数据包的生成方法、服务器及计算机存储介质 | |
EP3238105B1 (en) | Application partial deep link to a corresponding resource | |
US20080195575A1 (en) | Electronic data display management system and method | |
CN104980464A (zh) | 一种网络请求处理方法、网络服务器和网络系统 | |
CN104715067A (zh) | 在网页上标注关键词的方法、装置、系统和浏览器客户端 | |
CN106372267A (zh) | 基于浏览器的页面加载方法及装置 | |
US10282482B2 (en) | Data provision device, data provision method, and data provision program | |
CN107341263B (zh) | 一种静态页面数据处理的方法及装置 | |
US8117536B2 (en) | System and method for controlling downloading web pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1161924 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1161924 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130925 Termination date: 20200712 |
|
CF01 | Termination of patent right due to non-payment of annual fee |