一种页面数据传输方法及系统与流程

文档序号:12494081阅读:286来源:国知局
一种页面数据传输方法及系统与流程

本发明涉及互联网通信技术领域,具体而言,涉及一种页面数据传输方法及系统。



背景技术:

移动终端安装有浏览器的客户端,在通过该客户端浏览页面时,服务器如何快速向客户端返回页面数据是影响页面响应速度的关键。而页面数据包括主文档页面及与页面解析相关的web资源。web资源包括图片资源及外联JavaScript(脚本)文件和CSS(Cascading Style Sheets,层叠样式表)样式文件等非图web资源。其中,对于用户高频访问的站点,该站点各个路径下的web资源相同或相似,因此避免重复下发相同的web资源是提高页面响应速度的关键。

目前,一般采用基于客户端缓存技术的web资源传输方法,在该方法中,服务器获取客户端访问的页面域名对应的页面的web资源,判断该web资源是否可以进行缓存,如果可以,则向客户端返回缓存标识、该web资源及其唯一标识。客户端根据该缓存标识缓存页面域名、该web资源及其唯一标识。当客户端再次发起该页面域名下的页面请求时,从缓存中确定与该页面域名关联的所有web资源,并把这些web资源的唯一标识组成标识集合,将该标识集合包含在上述页面请求中。服务器接收该页面请求后,计算该页面域名对应的所有web资源的唯一标识,比对计算的唯一标识与该页面请求包含的标识集合中的唯一标识,若标识集合包含计算的某唯一标识,则确定客户端缓存了该唯一标识对应的web资源,则不返回该web资源,仅返回指示客户端使用本地缓存的该web资源的指示信息。客户端接收到该指示信息后,直接使用本地缓存的该web资源来配合页面解析。

上述传输web资源的方法对于用户高频访问某些特定站点有一定效果,但用户不一定只固定访问某个站点。且客户端缓存容量有限,可能由于缓存大量不影响页面解析的图片资源,导致影响页面解析的非图web资源的缓存量很低,在客户端未缓存非图web资源时服务器必须下发该非图web资源的完整数据,延长了页面响应时间,且浪费传输流量。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种页面数据传输方法及系统,在客户端未缓存非图web资源时,服务器只下发非图web资源对应的增量数据给客户端,避免下发非图web资源的完整数据。

本发明实施例提供了一种页面数据传输方法,包括:

服务器建立一个或多个不同超级网页模板并将其保存在其自身和客户端中,每一个超级网页模板包括在某一类网站的各路径下的同类非图web资源;

服务器接收并解析客户端发送的页面请求;

当客户端的本地缓存中保存有所需要的非图web资源时,服务器指示该客户端直接从客户端的本地缓存中读取所需要的非图web资源,否则

服务器将根据页面请求获取的非图web资源与所述超级网页模板进行增量压缩运算,得到增量数据;

服务器将所述增量数据作为页面应答数据传输给客户端。

优选地,所述某一类网站满足的条件包括:网站各路径下的同类非图web资源个数少于预设数值,且同类非图web资源的总容量小于预设容量;网站的用户访问量高于预设阈值;网站的改版频率低于预设频率。

优选地,还包括:所述超级网页模板的数据结构包括非图web资源类型、网站的站点域名列表、所述超级网页模板的版本号和将网站中所述非图web资源类型的内容合并成的文本数据。

优选地,还包括:所述非图web资源类型包括脚本类和样式类。

优选地,在所述服务器建立一个或多个不同超级网页模板的步骤中, 该建立方法包括:

服务器确定组织架构完全一致的多个网站并将该多个网站的站点域名组成站点域名列表;

服务器确定网站的各路径下的非图web资源类型,设定该超级网页模板的版本号;

服务器将网站中该非图web资源类型的内容合并成文本数据;

服务器通过预设的加密算法及编码算法对所述文本数据进行加密及编码运算,得到该超级网页模板的标识符,同时以该标识符作为该超级网页模板的文件名。

优选地,所述服务器将网站中所述非图web资源类型的内容合并成文本数据的步骤,包括:

服务器基于文件级别把网站各路径下的所述非图web资源类型的内容直接合并成文本数据;或者,

服务器确定网站各路径下的所述非图web资源类型的内容中各数据块之间的相似程度,从各路径下的所述非图web资源类型的内容中提取出相似程度大于预设相似值的数据块,将提取的数据块合并成文本数据。

优选地,还包括:当客户端准备访问一网站时,检索其保存的一个或多个超级网页模板,找出适用于该网站的超级网页模板,从本地缓存中获取该网站的站点域名对应的客户端缓存列表,该客户端缓存列表包括客户端已缓存的该站点域名对应的非图web资源的标识;客户端发送页面请求给服务器,在该页面请求中提供所述网站的站点域名、超级网页模板的标识符、非图web资源类型、版本号以及所述客户端缓存列表。

优选地,服务器从所述页面请求中解析出网站的站点域名、超级网页模板的标识符、非图web资源类型、版本号以及所述客户端缓存列表;

所述服务器获取与所述站点域名对应的且与解析出的非图web资源类型相同的非图web资源;

计算所获取的非图web资源的标识,确定所述客户端缓存列表中是否 包含计算的标识,若包含,则判断出所需要的非图web资源存在于该客户端的本地缓存中,否则所需要的非图web资源不存在于该客户端的本地缓存中。

优选地,在所述计算所获取的非图web资源的标识的步骤中,包括:对所述非图web资源对应的地址及所述非图web资源的内容进行哈希运算,得到所述非图web资源对应的哈希值,将所述哈希值用作为所述非图web资源的标识。

优选地,在所述服务器指示该客户端直接从该客户端的本地缓存中读取所需要的非图web资源的步骤中,包括:

服务器将已缓存指示信息发送给该客户端,所述已缓存指示信息包括所需要的非图web资源的标识和已缓存标识;

该客户端接收所述已缓存指示信息,根据所需要的非图web资源的标识直接从客户端本地缓存中获取所需要的非图web资源。

优选地,在所述服务器将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算,得到增量数据的步骤中,包括:

服务器从所述页面请求中解析出站点域名对应的超级网页模板的标识符和版本号;

服务器根据解析出的所述超级网页模板的标识符和版本号,从其保存的一个或多个超级网页模板中获取对应的超级网页模板,根据获取的非图web资源和超级网页模板进行增量压缩运算,得到增量数据。

优选地,还包括:所述服务器将已进行增量压缩运算的非图web资源的标识、超级网页模板的标识符及增量压缩运算结果缓存在服务器本地缓存系统,该增量压缩运算结果为成功标识及增量数据,或者该增量压缩运算结果为失败标识。

优选地,还包括:服务器进行增量压缩运算之前,查询服务器本地缓存系统是否缓存了非图web资源的标识及超级网页模板的标识符对应的增量压缩运算结果;

当服务器本地缓存系统未缓存对应的增量压缩运算结果时,服务器将该非图web资源与超级网页模板进行增量压缩运算,得到增量数据;

当服务器本地缓存系统缓存了对应的增量压缩运算结果时,直接从服务器本地缓存系统获取对应的增量压缩运算结果。

优选地,所述当服务器本地缓存系统未缓存对应的增量压缩运算结果且服务器进行增量压缩运算得到增量数据后,

服务器计算该增量数据的容量与非图web资源的容量之间的比值,得到该非图web资源对应的增量压缩率;

若该增量压缩率小于预设压缩阈值,则服务器将该非图web资源的标识、该超级网页模板的标识符、成功标识及该增量数据缓存到服务器本地缓存系统;

若该增量压缩率大于或等于所述预设压缩阈值,则服务器通过所述增量缓存服务将该非图web资源的标识、该超级网页模板的标识符及失败标识缓存到服务器本地缓存系统。

优选地,还包括:根据该增量压缩运算结果对所述页面请求进行应答,

当对应的增量压缩运算结果包括成功标识及增量数据时,服务器以增量方式对所述页面请求进行应答;

当对应的增量压缩运算结果包括失败标识时,服务器以完整数据方式对所述页面请求进行应答。

优选地,在所述服务器以增量方式对所述页面请求进行应答的步骤中,包括:所述服务器通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、增量运算标识、超级网页模板的标识符、该非图web资源的原始大小、增量数据的大小及所述增量数据进行封装,将封装后的数据作为页面应答数据传输给客户端。

优选地,还包括:客户端接收服务器传输的所述页面应答数据,通过所述预设协议格式解析所述页面应答数据;

根据本地缓存的与接收的所述超级网页模板的标识符对应的超级网 页模板及所述增量数据,还原所需要的非图web资源;

根据还原的非图web资源的大小与页面应答数据包括的原始大小判断还原操作是否成功;

若还原成功且所述客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端本地。

优选地,在所述服务器以完整数据方式对所述页面请求进行应答的步骤中,包括:

所述服务器通过预设压缩方式对该非图web资源进行压缩,得到压缩数据;

通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、所述预设压缩方式的标识及所述压缩数据进行封装,将封装后的数据作为页面应答数据传输给客户端。

优选地,还包括:客户端接收服务器传输的所述页面应答数据,通过所述预设协议格式解析所述页面应答数据;

根据所述预设压缩方式的标识,采用对应的预设压缩方式对所述压缩数据进行解压缩,得到所需要的非图web资源;

若所述客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端本地。

优选地,还包括:客户端以独立于客户端本地缓存的方式管理其存储的一个或多个超级网页模板;客户端通过后台下发的控制参数来关闭或开启某一类网站对应的超级网页模板。

优选地,还包括:服务器每隔预设时间段检测每个超级网页模板对应的网站的改版程度,当检测到一网站的改版程度超过预设改版程度时,根据改版后的该网站生成该网站对应的新版本的超级网页模板。

优选地,还包括:服务器根据客户端发送的页面请求,确定客户端缓存的所要访问的网站对应的超级网页模板的版本是否为最新版本;

当确定出客户端缓存的该超级网页模板的版本不是最新版本时,服务 器传输更新指示信息给该客户端;

该客户端根据该更新指示信息从服务器下载并存储该超级网页模板的最新版本。

本发明实施例还提供了一种页面数据传输系统,包括:服务器和客户端,其中:

所述服务器用于建立一个或多个不同超级网页模板并将其保存在其自身和所述客户端中,每一个超级网页模板包括在某一类网站的各路径下的同类非图web资源;

所述服务器用于接收并解析所述客户端发送的页面请求;

所述服务器用于当客户端的本地缓存中保存有所需要的非图web资源时,指示该客户端直接从该客户端的本地缓存中读取所需要的非图web资源,否则,将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算,得到增量数据;将所述增量数据作为页面应答数据传输给客户端。

优选地,所述某一类网站满足的条件包括:

网站各路径下的同类非图web资源个数少于预设数值,且同类非图web资源的总容量小于预设容量;网站的用户访问量高于预设阈值;网站的改版频率低于预设频率。

优选地,还包括:所述超级网页模板的数据结构包括非图web资源类型、网站的站点域名列表、所述超级网页模板的版本号和将网站中所述非图web资源类型的内容合并成的文本数据。

优选地,还包括:所述非图web资源类型包括脚本类和样式类。

优选地,所述服务器用于确定组织架构完全一致的多个网站并将该多个网站的站点域名组成列表;确定网站的各路径下的非图web资源类型,设定该超级网页模板的版本号;将网站中所述非图web资源类型的内容合并成文本数据;通过预设的加密算法及编码算法对所述文本数据进行加密及编码运算,得到该超级网页模板的标识符,同时以该标识符作为该超级 网页模板的文件名。

优选地,所述服务器用于基于文件级别把网站各路径下的所述非图web资源类型的内容直接合并成文本数据;或者,

所述服务器,用于确定网站各路径下的所述非图web资源类型的内容中各数据块之间的相似程度,从各路径下的所述非图web资源类型的内容中提取出相似程度大于预设相似值的数据块,将提取的数据块合并成文本数据。

优选地,还包括:所述客户端用于当准备访问一网站时,检索其保存的一个或多个超级网页模板,找出适用于该网站的超级网页模板,从本地缓存中获取该网站的站点域名对应的客户端缓存列表,该客户端缓存列表包括客户端已缓存的该站点域名对应的非图web资源的标识;发送页面请求给服务器,在该页面请求中提供所述网站的站点域名、超级网页模板的标识符、非图web资源类型、版本号以及所述客户端缓存列表。

优选地,所述服务器用于从所述页面请求中解析出网站的站点域名、超级网页模板的标识符、非图web资源类型、版本号以及所述客户端缓存列表;获取与所述站点域名对应的且与解析出的非图web资源类型相同的非图web资源;计算所获取的非图web资源的标识,确定所述客户端缓存列表中是否包含计算的标识,若包含,则判断出所需要的非图web资源存在于该客户端的本地缓存中,否则所需要的非图web资源不存在于该客户端的本地缓存中。

优选地,所述服务器还用于对所述非图web资源对应的地址及所述非图web资源的内容进行哈希运算,得到所述非图web资源对应的哈希值,将所述哈希值用作为所述非图web资源的标识。

优选地,所述服务器用于将已缓存指示信息发送给该客户端,所述已缓存指示信息包括所需要的非图web资源的标识和已缓存标识;

所述客户端用于接收所述已缓存指示信息,根据所需要的非图web资源的标识直接从客户端本地缓存中获取所需要的非图web资源。

优选地,所述服务器用于从所述页面请求中解析出站点域名对应的超级网页模板的标识符和版本号;根据解析出的所述超级网页模板的标识符和所述版本号,从其保存的一个或多个超级网页模板中获取对应的超级网页模板,根据获取的非图web资源和超级网页模板进行增量压缩运算,得到增量数据。

优选地,还包括:所述服务器还用于将已进行增量压缩运算的非图web资源的标识、超级网页模板的标识符及增量压缩运算结果缓存在服务器本地缓存系统,该增量压缩运算结果为成功标识及增量数据,或者该增量压缩运算结果为失败标识。

优选地,还包括:所述服务器还用于在进行增量压缩运算之前,查询服务器本地缓存系统是否缓存了非图web资源的标识及超级网页模板的标识符对应的增量压缩运算结果;当服务器本地缓存系统未缓存对应的增量压缩运算结果时,将该非图web资源与超级网页模板进行增量压缩运算,得到增量数据;当服务器本地缓存系统缓存了对应的增量压缩运算结果时,直接从服务器本地缓存系统获取对应的增量压缩运算结果。

优选地,所述服务器还用于当服务器本地缓存系统未缓存对应的增量压缩运算结果且服务器进行增量压缩运算得到增量数据后,计算该增量数据的容量与非图web资源的容量之间的比值,得到该非图web资源对应的增量压缩率;若该增量压缩率小于预设压缩阈值,则将该非图web资源的标识、该超级网页模板的标识符、成功标识及该增量数据缓存到服务器本地缓存系统;若该增量压缩率大于或等于所述预设压缩阈值,则将该非图web资源的标识、该超级网页模板的标识符及失败标识缓存到服务器本地缓存系统。

优选地,所述服务器用于当对应的增量压缩运算结果包括成功标识及增量数据时,以增量方式对所述页面请求进行应答;当对应的增量压缩运算结果包括失败标识时,以完整数据方式对所述页面请求进行应答。

优选地,所述服务器还用于通过预设协议格式对该非图web资源的页 面应答头信息、客户端缓存判断标识、增量运算标识、超级网页模板的标识符、该非图web资源的原始大小、增量数据的大小及所述增量数据进行封装,将封装后的数据作为页面应答数据传输给客户端。

优选地,还包括:所述客户端用于接收服务器传输的所述页面应答数据,通过所述预设协议格式解析所述页面应答数据;根据本地缓存的与接收的所述超级网页模板的标识符对应的超级网页模板及所述增量数据,还原所需要的非图web资源;根据还原的非图web资源的大小与页面应答数据包括的原始大小判断还原操作是否成功;若还原成功且所述客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端本地。

优选地,所述服务器还用于通过预设压缩方式对该非图web资源进行压缩,得到压缩数据;通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、所述预设压缩方式的标识及所述压缩数据进行封装,将封装后的数据作为页面应答数据传输给客户端。

优选地,还包括:所述客户端用于接收服务器传输的所述页面应答数据,通过所述预设协议格式解析所述页面应答数据;根据所述预设压缩方式的标识,采用对应的预设压缩方式对所述压缩数据进行解压缩,得到所需要的非图web资源;若所述客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端本地。

优选地,还包括:所述客户端还用于以独立于客户端本地缓存的方式管理其存储的一个或多个超级网页模板;通过后台下发的控制参数来关闭或开启某一类网站对应的超级网页模板。

优选地,还包括:所述服务器还用于每隔预设时间段检测每个超级网页模板对应的网站的改版程度,当检测到一网站的改版程度超过预设改版程度时,根据改版后的该网站生成该网站对应的新版本的超级网页模板。

优选地,还包括:所述服务器还用于根据客户端发送的页面请求,确定客户端缓存的所要访问的网站对应的超级网页模板的版本是否为最新版本;当确定出客户端缓存的该超级网页模板的版本不是最新版本时,服 务器传输更新指示信息给该客户端;

所述客户端还用于根据该更新指示信息从服务器下载并存储该超级网页模板的最新版本。

本发明实施例提供的页面数据传输方法及系统,其有益效果是:建立一个或多个不同超级网页模板并将其保存在服务器和客户端,超级网页模板包括某一类网站各路径下的同类非图web资源。当所需要的非图web资源未存在于客户端本地缓存中时,服务器将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算得到增量数据,将增量数据传给客户端。由于服务器只将非图web资源与超级网页模板之间的增量数据传给客户端,避免了下发非图web资源的完整数据,缩短了页面响应时间,节省了传输流量。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

图1A示出了本发明的一种页面数据传输方法流程图;

图1B示出了本发明的一种更新超级网页模板的流程图;

图2示出了本发明的一种页面数据传输系统结构示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到相关技术基于客户端缓存的web资源传输方法中,客户端缓存 容量有限,可能由于缓存大量图片资源,导致影响非图web资源的缓存量很低,在客户端未缓存非图web资源时服务器必须下发非图web资源的完整数据,延长了页面响应时间且浪费传输流量。

基于此,本发明实施例提供了一种页面数据传输方法及系统。下面通过实施例进行描述。

实施例1

参见图1A,本发明实施例提供了一种页面数据传输方法。该方法具体包括以下步骤:

步骤101:服务器建立一个或多个不同超级网页模板并将其保存在其自身和客户端中,每一个超级网页模板包括在某一类网站的各路径下的同类非图web资源。

在本发明实施例中,服务器可以为浏览器对应的后台服务器或代理服务器等。

上述超级网页模板的数据结构包括非图web资源类型、网站的站点域名列表、超级网页模板的版本号和将网站中上述非图web资源类型的内容合并成的文本数据。非图web资源包括外联的JavaScript脚本和CSS样式表,上述非图web资源类型包括脚本类和样式类,超级网页模板可以为脚本超级模板和样式超级模板。

超级网页模板的使用是基于网站的站点域名的,因为不同网站的非图web资源的收敛情况及数据大小存在很大差异。超级网页模板是针对网站各路径下的所有同类非图web资源的,主要是针对JavaScript脚本和CSS样式表,即对于给定的一个站点域名,该站点域名对应的超级网页模板最多有一个脚本超级模板和一个样式超级模板。

在本发明实施例中,适用于超级网页模板的网站所需满足的条件包括:

(1)网站各路径下的同类非图web资源的个数少于预设数值,且同类非图web资源的总容量小于预设容量,即网站各路径下的同类非图web 资源是聚集且收敛的,如此避免客户端及服务器保存及维护超级网页模板的系统开销过大;

(2)网站的用户访问量高于预设阈值,即网站属于高频访问的站点,高频访问的站点对应的超级网页模板的利用率很高;

(3)网站的改版频率低于预设频率,改版频率是指网站的脚本使用的技术或框架发生很大变化的频率,比如网站从某个脚本库转移到另一个脚本库,或者网站的版式布局发生重大调整,再或者网站的CSS文件发生很大改变。由于网站改版时网站对应的非图web资源可能发生很大变化,所以需要重新生成改版后的网站对应的超级网页模板,因此需要网站的改版频率低于预设频率,以避免频繁生成新版本的超级网页模板,降低超级网页模板的存储及维护成本。

在本发明实施例中,服务器确定组织架构完全一致的多个网站并将该多个网站的站点域名组成站点域名列表,确定这多个网站的各路径下的非图web资源类型,并设定该超级网页模板的版本号。

服务器可以根据预设版本命名规则设定该超级网页模板的版本号。预设版本命名规则可以为按照自然数或字母顺序编号。

服务器将网站中非图web资源类型的内容合并成文本数据。具体地,服务器基于文件级别把网站各路径下的上述非图web资源类型的内容直接合并成文本数据;或者,服务器先确定网站各路径下的上述非图web资源类型的内容中各数据块之间的相似程度,从各路径下的该非图web资源类型的内容中提取出相似程度大于预设相似值的数据块,将提取的数据块合并成文本数据。

服务器通过预设的加密算法及编码算法对上述合并得到的文本数据进行加密及编码运算,得到该超级网页模板的标识符,同时以该标识符作为该超级网页模板的文件名。

上述标识符是作为服务器与客户端识别双方维护同一个超级网页模板及下发增量数据的关键依据。

上述预设的加密算法可以为MD5(Message-Digest Algorithm 5,信息-摘要算法5),预设的编码算法可以为base64(用于传输8Bit字节代码的编码方式)。服务器通过MD5算法对上述文本数据进行加密运算得到密文,获取该密文的前预设个数的字符,通过base64对获取的字符进行转码运算得到8个字符,将这8个字符确定为超级网页模板的标识符。在本发明实施例中可以取密文的前6个字符通过base64编码为8个字符的标识符。

服务器将上述合并得到的文本数据、生成的标识符、组成的站点域名列表、非图web资源类型及版本号组成超级网页模板,将该超级网页模板存储在服务器和客户端中。

客户端以独立于客户端本地缓存的方式管理其存储的一个或多个超级网页模板。客户端启动时,加载超级网页模板,分别以站点域名和标识符建立超级网页模板的双索引,以便于从站点域名和标识符两个维度快速获取到对应的超级网页模板。

客户端通过后台下发的控制参数来关闭或开启某一类网站对应的超级网页模板。服务器也可以通过控制参数来关闭或开启某一类网站对应的超级网页模板。

由于超级网页模板对应的网站可能会发生改版,为了确保超级网页模板的有效性,在本发明的一个优选实施例中,服务器需要周期性地检测网站是否改版,若改版,则生成改版后的网站对应的新版本的超级网页模板,并指示客户端更新该新版本的超级网页模板。

如图1B所示,更新超级网页模板的过程包括:

S1:服务器每隔预设时间段检测每个超级网页模板对应的网站的改版程度,当检测到一网站的改版程度超过预设改版程度时,根据改版后的该网站生成该网站对应的新版本的超级网页模板;

上述预设时间段可以为5小时或10小时等。对于服务器本地存储的每个超级网页模板,服务器每隔预设时间段加载超级网页模板对应的站点 域名列表中每个站点域名下的所有非图web资源,并把每个非图web资源与该超级网页模板进行增量压缩运算得到增量压缩数据,计算每个增量压缩数据的增量压缩率,增量压缩率可以体现网站的改版程度。当某个站点的所有非图web资源的增量压缩率超过压缩率阈值时,确定该网站的改版程度超过预设改版程度,则基于改版后的该网站的非图web资源生成该网站对应的新版本的超级网页模板。

S2:服务器根据客户端发送的页面请求,确定客户端缓存的所要访问的网站对应的超级网页模板的版本是否为最新版本,如果是,则对该页面请求进行应答,如果否,则执行步骤S3;

服务器从客户端发送的页面请求中解析出站点域名及版本号,根据该站点域名从服务器本地获取该站点域名对应的超级网页模板的版本号。若服务器本地的版本号高于页面请求中的版本号,则确定出客户端缓存的该站点域名对应的超级网页模板不是最新版本的。

当服务器确定出客户端缓存的不是最新版本时,服务器本次将下发页面请求所需要的非图web资源的完整数据。

S3:服务器传输更新指示信息给该客户端;

上述更新指示信息中包括旧版本的超级网页模板的标识符及版本号、新版本的超级网页模板的标识符及版本号以及新版本的超级网页模板对应的站点域名列表。

S4:该客户端根据该更新指示信息从服务器下载并存储该超级网页模板的最新版本。

客户端接收到服务器下发的更新指示信息后,可以马上更新,也可以在后继某个合适的时机再行更新,比如切换到WiFi网络时再更新。

客户端更新超级网页模板的具体流程如下所示:

1,客户端根据更新指示信息中的旧版本超级网页模板的标识符,在超级网页模板管理器中标记旧版本超级网页模板无效;

2,客户端发送更新请求到服务器;

该更新请求携带旧版本的超级网页模板的标识符及版本号、新版本的超级网页模板的标识符及版本号以及新版本的超级网页模板适用的站点域名列表。

3,服务器接收客户端发送的该更新请求,比对该更新请求无误后,按照应答协议格式对该更新请求进行应答:

服务器确认该更新请求中写的信息无误后,通过一定的压缩方式对新版本的超级网页模板进行压缩,然后通过应答协议格式封装新版本的超级网页模板的标识符及版本号、新版本的超级网页模板对应的站点域名列表、新版本的超级网页模板的压缩数据、压缩方式以及新版本的超级网页模板原始数据大小,将封装后的数据作为更新应答数据传输给客户端。

4,客户端接收该更新应答数据,按照应答协议格式解析该更新应答数据,解析出新版本的超级网页模板后,判断该新版本的超级网页模板是否解析成功,若成功,则执行步骤6,若不成功,则执行步骤5;

判断新版本的超级网页模板是否解析成功的方式可以包括:判断解析出的新版本的超级网页模板的大小是否与更新应答数据包括的原始数据大小一致,或者,判断解析出的新版本的超级网页模板的标识符是否与更新应答数据中包括的标识符一致。

5,客户端在超级网页模板管理器中重新标记旧版本的超级网页模板有效,记录该次更新出现错误,后继再基于服务器的应答指示进行更新。

6,客户端把新版本的超级网页模板添加到超级网页模板管理器,并删除旧版本的超级网页模板,完成该次超级网页模板更新。

在本发明的另一优选实施例中,在服务器与客户端中可以事先设置有客户端缓存策略,该客户端缓存策略规定了客户端可以缓存的非图web资源所需满足的条件,如非图web资源的容量小于容量阈值时才可缓存等。服务器在向客户端下发非图web资源前,首先根据该客户端缓存策略判断客户端是否可缓存该非图web资源,如果是,则指示客户端缓存该非图web资源,否则指示客户端不缓存该非图web资源。这里涉及的客户端缓存策 略可以使用本领域公知的任何客户端缓存策略,这里不做过多介绍。

当服务器确定客户端可缓存非图web资源时,服务器对该非图web资源的地址及内容进行哈希运算得到一哈希值,将该哈希值作为该非图web资源的标识,并将缓存指示、该非图web资源及其标识下发给客户端。客户端将该非图web资源、该非图web资源对应的站点域名及其标识对应缓存在客户端本地缓存中。

当用户需要浏览某网站的网页并点击该网页对应的链接时,客户端将该链接对应的网站确定为需访问的网站,并从客户端本地缓存中获取该网站的站点域名对应的非图web资源的标识,将获取的非图web资源的标识组成客户端缓存列表,客户端获取该站点域名对应的超级网页模板的标识符、版本号和非图web资源类型。客户端发送页面请求给服务器,在该页面请求中携带该站点域名、客户端缓存列表、标识符、版本号和非图web资源类型。

步骤102:服务器接收并解析客户端发送的页面请求;

服务器接收客户端发送的页面请求,并从该页面请求中解析出客户端所访问的网站的站点域名,以及解析出客户端缓存列表、标识符、版本号和非图web资源类型。步骤103:当客户端的本地缓存中保存有所需要的非图web资源时,服务器指示客户端直接从该客户端的本地缓存中读取所需要的非图web资源;

服务器根据解析出的站点域名及非图web资源类型,获取与该站点域名对应的且与解析出的非图web资源类型相同的非图web资源,对该非图web资源对应的地址及该非图web资源的内容进行哈希运算,得到该非图web资源对应的哈希值,将该哈希值确定为该非图web资源的标识。计算出该非图web资源的标识后,确定解析出的客户端缓存列表中是否包含计算的标识,若包含,则判断出客户端的本地缓存中保存有所需要的非图web资源,否则客户端的本地缓存中没有保存所需要的非图web资源。

服务器将已缓存指示信息发送给该客户端,该已缓存指示信息包括所 需要的非图web资源的标识和已缓存标识。客户端接收该已缓存指示信息,根据该已缓存指示信息包括的所需要的非图web资源的标识直接从客户端本地缓存中获取所需要的非图web资源。

服务器可以按照预设协议格式把该非图web资源的http应答头及非图web资源的标识和已缓存标识进行封装,将封装后的信息下发给客户端。客户端接收到服务器下发的信息后,根据上述预设协议格式从该信息中解析出该非图web资源的http应答头及非图web资源的标识和已缓存标识,并根据该非图web资源的标识从客户端本地缓存中直接获取对应的非图web资源。上述预设协议格式可以为HTML5的标准协议格式。

在本发明的一个优选实施例中,服务器和客户端之间可以事先设置有客户端缓存策略,当服务器需要下发非图web资源给客户端,而该非图web资源命中该客户端本地缓存时,服务器不需要下发该非图web资源,而是直接指示客户端从本地缓存中获取该非图web资源,如此不需要再进行其他操作,也大大节省了传输流量。

步骤104:当客户端的本地缓存中没有保存所需要的非图web资源时,服务器将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算,得到增量数据;

服务器根据解析的站点域名,从该站点域名对应的网站服务器获取对应的非图web资源,并根据解析出的超级网页模板的标识符和版本号,从其保存的一个或多个超级网页模板中获取对应的超级网页模板,根据获取的非图web资源和超级网页模板进行增量压缩运算,得到增量数据。

在本发明实施例中,服务器可以通过SDCH(Shared Dictionary Compression over HTTP,基于字典进行http数据压缩的机制)对非图web资源和超级网页模板进行增量压缩运算。

SDCH是一种与HTTP/1.1(超文本传输协议-版本1.1)兼容的扩展,它通过在客户端和服务器之间共享字典来支持对HTTP响应数据的压缩。SDCH应用的场景如下:服务器通过该扩展先下发字典给客户端;当客户端 请求某一http资源时,服务器可以把该资源基于双方都保存的同一个字典进行增量压缩,服务器下发增量数据给客户端;客户端使用对应的增量压缩算法把增量数据还原为所请求的http资源。

本发明实施例中服务器和客户端中存储的超级网页模板即为上述客户端和服务器之间共享的字典。对于给定的两份数据,以一份数据作为字典或者模板,使用增量压缩算法对另一份数据进行压缩,会基于这两份数据中的相同数据流进行识别,从而在输出的压缩数据中减少该相同的数据流。这两份数据相似度越高,则增量数据越少。同时增量压缩算法也提供基于生成的增量数据进行不同级别的自身压缩,来减少增量数据的大小,进一步提高压缩效果。

由于某个网站各路径下的所有页面都使用同一超级网页模板,每个页面的差异数据非常少,假定每个页面的相似度接近90%,那么通过使用SDCH技术,服务器先下发该网站的超级网页模板给客户端,当客户端访问该网站的某一页面时,都可以使用增量压缩方式来应答该页面基于超级网页模板的增量数据,从而达到减少传输数据流量的目的。

在本发明的另一个优选的实施例中,服务器中设置了增量缓存服务,并将已进行增量压缩运算的非图web资源的标识、超级网页模板的标识符及增量压缩运算结果缓存在服务器本地缓存系统,该增量压缩运算结果为成功标识及增量数据,或者该增量压缩运算结果为失败标识。

成功标识和失败标识是由增量数据的增量压缩率来决定的。增量压缩率为增量数据的容量与非图web资源的容量之间的比值。若增量数据的增量压缩率小于预设压缩阈值,则在服务器本地缓存系统存储的增量压缩运算结果包括成功标识及该增量数据。若增量数据的增量压缩率大于或等于该预设压缩阈值,则在服务器本地缓存系统存储的增量压缩运算结果只包括失败标识。该预设压缩阈值可以为5%等。

上述增量缓存服务可以使运行在服务器上的多个中转浏览服务进程共享增量运算的增量压缩运算结果。主要是对于给定的一个非图web资源, 可能存在多个用户都需要下发该非图web资源,或者同一个用户在不同时间段需要下发该非图web资源,而该非图web资源及其匹配的超级网页模板在有限的一段时间内都是固定不变的,所以通过增量缓存服务在服务器本地缓存系统缓存该非图web资源相对于超级网页模板的增量运算的增量压缩运算结果,可以有效减少对该非图web资源的增量压缩运算,从而节省处理器的计算资源。

由于服务器设置了增量缓存服务,所以服务器进行增量压缩运算之前,可以先通过该增量缓存服务查询服务器本地缓存系统是否缓存了该非图web资源的标识及超级网页模板的标识对应的增量压缩运算结果。当服务器本地缓存系统未缓存对应的增量压缩运算结果时,服务器再将该非图web资源与超级网页模板进行增量压缩运算,得到增量数据。当服务器本地缓存系统缓存了对应的增量压缩运算结果时,直接从服务器本地缓存系统获取对应的增量压缩运算结果,后续服务器根据该增量压缩运算结果对页面请求进行应答。

在本发明实施例中,当服务器本地缓存系统未缓存对应的增量压缩运算结果且服务器进行增量压缩运算得到增量数据后,服务器计算该增量数据的容量与非图web资源的容量之间的比值,得到该非图web资源对应的增量压缩率。若该增量压缩率小于预设压缩阈值,则服务器通过增量缓存服务将该非图web资源的标识、该超级网页模板的标识符、成功标识及该增量数据缓存到服务器本地缓存系统。若该增量压缩率大于或等于预设压缩阈值,则服务器通过增量缓存服务将该非图web资源的标识、该超级网页模板的标识符及失败标识缓存到服务器本地缓存系统。

步骤105:服务器将增量数据作为页面应答数据传输给客户端。

当服务器本地缓存系统未缓存对应的增量压缩运算结果且服务器进行增量压缩运算得到增量数据后,若该增量数据的增量压缩率大于预设压缩阈值,则以增量方式对客户端的页面请求进行应答。否则,以完整数据方式对客户端的页面请求进行应答。

当服务器本地缓存系统缓存了对应的增量压缩运算结果且该增量压缩运算结果包括成功标识及增量数据时,服务器以增量方式对页面请求进行应答。当服务器本地缓存系统缓存了对应的增量压缩运算结果且该增量压缩运算结果包括失败标识时,服务器以完整数据方式对页面请求进行应答。

在本发明的一个优选实施例中,服务器和客户端之间可以事先设置有客户端缓存策略,服务器对客户端的页面请求进行应答之前,根据服务器与客户端之间已有的客户端缓存策略,判断页面请求所需要的非图web资源是否适合在客户端本地缓存,并根据判断结果生成客户端缓存判断标识。

上述以增量方式进行应答的操作为:服务器通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、增量运算标识、超级网页模板的标识符、该非图web资源的原始大小、增量数据的大小及增量数据进行封装,将封装后的数据作为页面应答数据传输给客户端。

客户端接收服务器传输的页面应答数据,通过预设协议格式解析该页面应答数据,根据页面应答数据中包括的标识符,从客户端本地缓存中获取对应的超级网页模板,根据该网页模板及页面应答数据中的增量数据还原出所需要的非图web资源。

在本发明实施例中,客户端还根据还原的非图web资源的大小与页面应答数据包括的原始大小判断还原操作是否成功,若还原的非图web资源的大小与原始大小一致,则还原成功,否则还原失败。还原失败表明数据传输出现问题,丢弃还原得到的非图web资源。

若还原成功且页面应答数据中的客户端缓存判断标识指示需要缓存,则客户端将还原的非图web资源缓存在客户端本地。

上述以完整数据方式进行应答的操作为:服务器通过预设压缩方式对该非图web资源进行压缩,得到压缩数据,通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、预设压缩方式的标识及压 缩数据进行封装,将封装后的数据作为页面应答数据传输给客户端。上述预设压缩方式可以为gzip或7zip等。

客户端接收服务器传输的页面应答数据,通过预设协议格式解析该页面应答数据,根据页面应答数据中的预设压缩方式的标识,采用对应的预设压缩方式对压缩数据进行解压缩,得到所需要的非图web资源。若客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端本地。

本发明实施例中所提到的预设协议格式及应答协议格式可以为HTML5、WebApp协议或H264协议等。本发明实施例在以上提及的各阈值都可以基于经验值而设定。

本发明实施例的有益效果是:建立一个或多个不同超级网页模板并将其保存在服务器和客户端,超级网页模板包括某一类网站各路径下的同类非图web资源。当所需要的非图web资源未存在于客户端本地缓存中时,服务器将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算得到增量数据,将增量数据传给客户端。由于服务器只将非图web资源与超级网页模板之间的增量数据传给客户端,避免了下发非图web资源的完整数据,缩短了页面响应时间,节省了传输流量。

实施例2

参见图2,本发明实施例提供了一种页面数据传输系统,该系统可以执行上述实施例1所述的页面数据传输方法。该系统包括服务器201和客户端202;

服务器201,用于建立一个或多个不同超级网页模板并将其保存在其自身和客户端202中,每一个超级网页模板包括在某一类网站的各路径下的同类非图web资源;接收并解析客户端202发送的页面请求;当客户端202的本地缓存中保存有所需要的非图web资源时,指示该客户端202直接从该客户端202的本地缓存中读取所需要的非图web资源,否则,将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算,得到 增量数据;将增量数据作为页面应答数据传输给客户端202。

上述某一类网站满足的条件包括:网站各路径下的同类非图web资源个数少于预设数值,且同类非图web资源的总容量小于预设容量;网站的用户访问量高于预设阈值;网站的改版频率低于预设频率。

上述超级网页模板的数据结构包括非图web资源类型、网站的站点域名列表、超级网页模板的版本号和将网站中上述非图web资源类型的内容合并成的文本数据。

非图web资源包括外联的JavaScript脚本和CSS样式表。上述非图web资源类型包括脚本类和样式类。超级网页模板可以为脚本超级模板和样式超级模板。

进一步地,在建立一个或多个不同超级网页模板的过程中,服务器201,用于确定组织架构完全一致的多个网站并将该多个网站的站点域名组成列表;确定网站的各路径下的非图web资源类型;设定该超级网页模板的版本号;将网站中上述非图web资源类型的内容合并成文本数据;通过预设的加密算法及编码算法对上述文本数据进行加密及编码运算,得到该超级网页模板的标识符,同时以该标识符作为该超级网页模板的文件名。服务器201将上述文本数据、标识符、站点域名列表、非图web资源类型及版本号组成超级网页模板,将超级网页模板存储在其自身和客户端202中。

上述将网站中上述非图web资源类型的内容合并成文本数据时,服务器201,用于基于文件级别把网站各路径下的非图web资源类型的内容直接合并成文本数据;或者,

服务器201,用于确定网站各路径下的非图web资源类型的内容中各数据块之间的相似程度,从各路径下的非图web资源类型的内容中提取出相似程度大于预设相似值的数据块,将提取的数据块合并成文本数据。

进一步地,客户端202,用于当准备访问一网站时,检索其保存的一个或多个超级网页模板,找出适用于该网站的超级网页模板,从本地缓存 中获取该网站的站点域名对应的客户端202缓存列表,该客户端202缓存列表包括客户端202已缓存的该站点域名对应的非图web资源的标识;发送页面请求给服务器201,在该页面请求中提供所述网站的站点域名、超级网页模板的标识符、非图web资源类型、版本号以及所述客户端缓存列表。

进一步地,服务器201,用于从页面请求中解析出网站的站点域名、超级网页模板的标识符、非图web资源类型、版本号以及所述客户端缓存列表,获取与所述站点域名对应的且与解析出的非图web资源类型相同的非图web资源;计算获取的非图web资源的标识,确定客户端202缓存列表中是否包含计算的标识,若包含,则判断出所需要的非图web资源存在于该客户端202的本地缓存中,否则所需要的非图web资源不存在于该客户端202的本地缓存中。

服务器201,还用于对非图web资源对应的地址及非图web资源的内容进行哈希运算,得到非图web资源对应的哈希值,将哈希值用作为非图web资源的标识。

当判断出所需要的非图web资源存在于该客户端202的本地缓存中时,服务器201,用于将已缓存指示信息发送给该客户端202,已缓存指示信息包括所需要的非图web资源的标识和已缓存标识;

客户端202,用于接收已缓存指示信息,根据所需要的非图web资源的标识直接从客户端202本地缓存中获取所需要的非图web资源。

进一步地,服务器201,用于从页面请求中解析出站点域名对应的超级网页模板的标识符和版本号;根据解析出的超级网页模板的标识符和版本号,从其保存的一个或多个超级网页模板中获取对应的超级网页模板,根据获取的非图web资源和超级网页模板进行增量压缩运算,得到增量数据。

进一步地,服务器201,还用于将已进行增量压缩运算的非图web资源的标识、超级网页模板的标识符及增量压缩运算结果缓存在服务器201 本地缓存系统,该增量压缩运算结果为成功标识及增量数据,或者该增量压缩运算结果为失败标识。

服务器201,还用于在进行增量压缩运算之前,查询服务器201本地缓存系统是否缓存了非图web资源的标识及超级网页模板的标识符对应的增量压缩运算结果;当服务器201本地缓存系统未缓存对应的增量压缩运算结果时,将该非图web资源与超级网页模板进行增量压缩运算,得到增量数据;当服务器201本地缓存系统缓存了对应的增量压缩运算结果时,直接从服务器201本地缓存系统获取对应的增量压缩运算结果。

当服务器本地缓存系统未缓存对应的增量压缩运算结果且服务器201进行增量压缩运算得到增量数据后,服务器201,还用于当服务器201本地缓存系统未缓存对应的增量压缩运算结果且服务器201进行增量压缩运算得到增量数据后,计算该增量数据的容量与非图web资源的容量之间的比值,得到该非图web资源对应的增量压缩率;若该增量压缩率小于预设压缩阈值,则通过增量缓存服务将该非图web资源的标识、该超级网页模板的标识符、成功标识及该增量数据缓存到服务器201本地缓存系统;若该增量压缩率大于或等于预设压缩阈值,则通过增量缓存服务将该非图web资源的标识、该超级网页模板的标识符及失败标识缓存到服务器201本地缓存系统。

进一步地,当服务器201根据该增量压缩运算结果对页面请求进行应答时,服务器201,用于当对应的增量压缩运算结果包括成功标识及增量数据时,以增量方式对页面请求进行应答;当对应的增量压缩运算结果包括失败标识时,以完整数据方式对页面请求进行应答。

进一步地,服务器201以增量方式对所述页面请求进行应答的过程中,服务器201,还用于通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、增量运算标识、超级网页模板的标识符、该非图web资源的原始大小、增量数据的大小及增量数据进行封装,将封装后的数据作为页面应答数据传输给客户端202。

进一步地,客户端202,用于接收服务器201传输的页面应答数据,通过预设协议格式解析页面应答数据;根据本地缓存的与接收的超级网页模板的标识符对应的超级网页模板及增量数据还原所需要的非图web资源;根据还原的非图web资源的大小与页面应答数据包括的原始大小判断还原操作是否成功;若还原成功且客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端202本地。

进一步地,服务器201以完整数据方式对页面请求进行应答的过程中,服务器201,还用于通过预设压缩方式对该非图web资源进行压缩,得到压缩数据;通过预设协议格式对该非图web资源的页面应答头信息、客户端缓存判断标识、预设压缩方式的标识及压缩数据进行封装,将封装后的数据作为页面应答数据传输给客户端202。

进一步地,客户端202,用于接收服务器201传输的页面应答数据,通过预设协议格式解析页面应答数据;根据预设压缩方式的标识,采用对应的预设压缩方式对压缩数据进行解压缩,得到所需要的非图web资源;若客户端缓存判断标识指示需要缓存,则将所需要的非图web资源缓存在客户端202本地。

进一步地,客户端202,还用于以独立于客户端202本地缓存的方式管理其存储的一个或多个超级网页模板;通过后台下发的控制参数来关闭或开启某一类网站对应的超级网页模板。

进一步地,服务器201,还用于每隔预设时间段检测每个超级网页模板对应的网站的改版程度,当检测到一网站的改版程度超过预设改版程度时,根据改版后的该网站生成该网站对应的新版本的超级网页模板。

进一步地,服务器201,还用于根据客户端202发送的页面请求,确定客户端202缓存的所要访问的网站对应的超级网页模板的版本是否为最新版本;当确定出客户端202缓存的该超级网页模板的版本不是最新版本时,服务器201传输更新指示信息给该客户端202;

客户端202,还用于根据该更新指示信息从服务器201下载并存储该 超级网页模板的最新版本。

本发明实施例的有益效果是:建立一个或多个不同超级网页模板并将其保存在服务器和客户端,超级网页模板包括某一类网站各路径下的同类非图web资源。当所需要的非图web资源未存在于客户端本地缓存中时,服务器将根据页面请求获取的非图web资源与超级网页模板进行增量压缩运算得到增量数据,将增量数据传给客户端。由于服务器只将非图web资源与超级网页模板之间的增量数据传给客户端,避免了下发非图web资源的完整数据,缩短了页面响应时间,节省了传输流量。

本发明实施例所提供的页面数据传输系统仅为本发明的具体系统实施例,本发明的保护范围并不局限于此。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统的具体工作过程,均可以参考上述方法实施例中的对应过程。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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