超级网页模板生成方法、装置及页面数据传输方法与流程

文档序号:12596231阅读:218来源:国知局
超级网页模板生成方法、装置及页面数据传输方法与流程

本发明涉及通信技术领域,具体涉及一种超级网页模板生成方法、装置及页面数据传输方法。



背景技术:

在基于浏览器后台服务器(简称服务器)和浏览器客户端(简称客户端)配合的“C/S”浏览器服务架构中,服务器快速向客户端返回浏览的页面数据时提高用户浏览体验的一个关键点。页面数据一般包括主文档页面(page)以及页面上与显示相关的外联子资源,例如外联图片资源、Javascript资源以及CSS(Cascading Style Sheets,层叠样式表)资源等。而在浏览器使用浏览中转方式响应客户端的请求,当浏览中转服务器需要下发页面的非图外联资源文件,即Javascript资源以及CSS资源的时候,Javascript资源以及CSS资源的下发速度在很大程度上会影响页面浏览的响应耗时。

当用户想要通过客户端访问页面的时候,一般是通过客户端向服务器发送请求信息。当服务器接收到请求信息之后,会根据请求信息获取与该请求信息所对应的页面的相关资源数据,并将这些资源数据采用压缩算法减小文件的大小,然后发送给发起请求的终端。客户端在接收到资源数据之后,将资源数据进行执行或者解析,向用户显示相应的页面。在这个过程中,应用将所有资源数据压缩减小的办法来减少传输的数据量,从而来提高传输的速度,降低服务器对浏览器的响应时间。

现有的处理方法中,都是将完整的页面资源进行压缩后,向客户端发送完整的压缩数据。但事实上,客户端需要接收完非图外联子资源数据才能进行后继的执行(Javascript资源)或者解析(CSS资源),尤其注意,Javascript资源的执行以及CSS资源的解析都会影响页面的解析处理,Javascript/CSS资源数据量越大,等待接收时间越长,那么最终的响应时间也就越长。当WEB页面的非图WEB资源数据比较多的时候,服务器的响应速度就无法满足用户的需求。



技术实现要素:

本发明的目的在于提供一种超级网页模板的生成方法、装置及页面数据传输方法,能够减少下发的非图WEB页面数据,加快资源的下发速度,改善页面浏览的响应耗时。

第一方面,本发明实施例提供了一种超级网页模板的生成方法,包括:

采集预设范围内的多个资源文件;

对所述多个资源文件中的两两资源文件进行相似度运算,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除;

将保留下来的资源文件进行合并,生成超级网页模板。

优选的,所述资源文件为WEB页面数据资源文件;所述预设范围包括:预设WEB站点、预设WEB站点的路径、或预设资源关键词。

优选的,所述对所述多个资源文件中的两两资源文件进行相似度运算包括:

将采集的多个资源文件根据其所包含数据量的大小进行区间 分组,数据量在一定区间内的多个资源文件分为一组;

对每组内的多个资源文件中的两两资源文件进行相似度运算。

优选的,所述将保留下来的资源文件进行合并包括:

将区间值最大的一组所保留下来的资源文件进行合并,生成临时网页模板;

将所述临时网页模板分别与其它每组所保留下来的资源文件进行相似度运算,当其中一组中的资源文件的数据与临时网页模板的数据相同或相似时剔除该资源文件,否则将该资源文件合并到所述临时网页模板中,并且以相同方式继续与下一组所保留下来的资源文件进行相似度运算,最终生成的临时网页模板为超级网页模板。

优选的,所述采集预设范围内的多个资源文件,包括:通过预设资源文件大小的下限阈值来过滤掉小资源文件。

优选的,对保留下来的资源文件根据不同情况进行不同策略的中段截取保留,去除掉首尾数据。

优选的,将生成的超级网页模板进行逐行拆分;

将拆分出的多行资源数据由前至后依次进行两两对比,当数据相同时将两行资源数据中的其中一个剔除,当数据相似时如果两行资源数据中的其中一个行资源数据包含了另一个行资源数据的全部或者大部分内容,将该被包含全部或者大部分内容的行资源数据剔除,最终生成精简的超级网页模板。

优选的,还包括:将生成精简的超级网页模板中数据量大的行资源数据拆分为多个块数据;

将每块数据与其他行资源数据进行相似度运算,将与其他行资源数据相同或相似的块数据剔除。

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

获取客户请求的页面的当前非图WEB资源数据;

运用预先建立的与该页面所对应的超级网页模板对所述非图WEB资源数据进行差量运算,获取差量数据;其中,所述的超级网页模板是根据上述的超级网页模板生成方法生成的;

将所述差量数据发送至客户端。

第三方面,本发明实施例还提供一种超级网页模板的生成装置,包括:

采集模块,用于采集预设范围内的多个资源文件;

相似度识别和剔除模块,用于对所述多个资源文件中的两两资源文件进行相似度运算,识别出数据相同或相似的两个资源文件,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除;

模板生成模块,用于将保留下来的资源文件进行合并,生成超级网页模板。

优选的,其中,所述资源文件为WEB页面数据资源文件;所述预设范围包括:预设WEB站点、预设WEB站点的路径、或预设资源关键词。

优选的,所述相似度识别和剔除模块还包括:

区间分组子模块,用于先将采集的多个资源文件根据其所包含数据量的大小进行区间分组,数据量在一定区间内的多个资源文件分为一组;

相似度识别子模块,用于对每组内的多个资源文件中的两两资源文件进行相似度运算和识别。

优选的,所述模板生成模块包括:

合并子模块:用于将区间值最大的这一组的保留下来的资源文件进行合并,生成临时网页模板;

相似度运算和生成子模块,用于将该临时网页模板分别与其它每组所保留下来的资源文件进行相似度运算,当其中一组中的资源文件的数据与临时网页模板的数据相同或相似时剔除该资源文件,否则将该资源文件合并到所述临时网页模板中,并且以相同方式继续与下一组所保留下来的资源文件进行相似度运算,最终生成的临时网页模板为超级网页模板。

优选的,所述采集预设范围内的多个资源文件,包括:通过预设资源文件大小的下限阈值来过滤掉小资源文件。

优选的,还包括:中段截取保留模块,用于对保留下来的资源文件根据不同情况进行不同策略的中段截取保留,去除掉首尾数据。

优选的,还包括:

行资源拆分和生成模块,用于将生成的超级网页模板进行逐行拆分,将拆分出的多行资源数据由前至后依次进行两两对比,当数据相同时将两行资源数据中的其中一个剔除,当数据相似时如果两行资源数据中的其中一个行资源数据包含了另一个行资源数据的全部或者大部分内容,将该被包含全部或者大部分内容的行资源数据剔除,最终生成精简的超级网页模板。

优选的,还包括:

块数据拆分和剔除模块,将生成精简的超级网页模板中数据量大的行资源数据拆分为多个块数据,将每块数据与其他行资源数据进行相似度运算,将与其他行资源数据相同或相似的块数据剔除。

本发明实施例所提供的超级网页模板的生成方法、装置及页面 数据传输方法,通过在预设范围内采集多个资源文件,并对采集到的多个资源文件中的两两资源文件进行相似度运算,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除,同时还保留有与其他的数据均不相同或者不相似的数据,最终剩余的数据作为超级网页模板,在服务器下发非图WEB资源数据的时候,会将相关页面的非图WEB资源数据与该超级网页模板进行差量运算,获得与超级网页模板中的数据均不同的非图WEB资源数据,并将这些不同的非图WEB资源数据发送给客户端。这样会减少下发的非图WEB资源的数据量,加快资源的下发速度,改善页面浏览的响应耗时。客户端只需要耗用更短的数据接收时间接收这部分非图WEB资源数据,从而加快了服务器的响应速度,提高了客户感受。

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

附图说明

图1示出了本发明实施例所提供的一种超级网页模板生成方法的流程图;

图2示出了本发明实施例所提供的另一种超级网页模板生成方法的流程图;

图3示出了本发明实施例所提供的一种超级网页模板生成装置的结构示意图;

图4示出了本发明实施例所提供的一种页面数据传输方法的流程图。

具体实施方式

下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。

下面将结合本发明的附图和具体实施例,对本发明的技术方案进行清楚、完整地描述。

图1是本发明所提供的一种超级网页模板的生成方法的流程图。参见图1所示,本发明实施例所提供的超级网页模板的生成方法包括:

S101:采集预设范围内的多个资源文件。

其中,所述资源文件为页面数据资源文件;所述预设范围包括:预设WEB站点、预设WEB站点的路径、或预设资源关键词。

在具体实现的时候,对于某个特定的WEB站点,其把Javascript资源以及CSS资源以外联方式在页面中引用,其目的在于能够把这些资源复用到路径相同或者路径不同的页面上,从而在不同的页面上提供相同或者类似的交互功能,以及相同或者类似的布局。在这种情况下,基于该WEB站点,这些不同页面的Javascript资源之间以及CSS资源之间,其内容都会存在相同数据或者相似数据。以Javascript资源为例,不同的资源内容中可能包括了一些相同的函数模块。或者说,这些Javascript资源在空间广度(该特定站点)上的同类资源具相似性,即该预设范围内的资源文件是空间广度上具有聚合性。虽然该站点会随着时间的推移而更新Javascript资源以及CSS资源,但只要不是重大的改版, 新的Javascript资源以及CSS资源中还是会包含一部分旧资源的内容。例如,某些Javascript资源虽然更新了,但其中包含的一些核心函数模块保持不变,即这些Javascript资源在时间维度上的同类资源也具有相似性。即该预设范围内的资源文件在时间维度上具有收敛性。

另外,对于一些不同的站点,虽然它们的业务侧重点不同,但由于前端交互功能或者页面布局的需要,可能选用了同一个前端Javascript库或者CSS库。比如,jquery的一系列Javascript库/CSS库,就广泛的被许多站点使用,这些站点中页面的非图WEB资源就应当具有相似数据。这说明了在给定的这一批站点中,基于名称中带有同一个关键词的非图web资源集合内,存在内容相同或者相近的资源。这一类相似资源的共同特征是虽然各自域名不同但资源名称带有同样的关键词。

而本发明所说的预设范围,即为上述中所述的Javascript资源以及CSS资源在时间广度上和空间广度上的同类资源均具有相似性的站点、站点中的某些路径,或者在多个不同的站点中,选用了同一个前端Javascript库或者CSS库的,名称中带有同一个资源关键词的非图WEB集合。

在采集预设范围内的资源文件的时候,该资源文件为非图WEB资源文件。一般地,由于非图WEB资源文件一般包括:Javascript资源以及CSS资源,而这两种资源在应用中属于两种不同的文件,因此可以采用分别采集的方式。采集的时候,会预先设定好采集范围,然后从划定好的采集范围中,进行时间和待采集的页面均随机的多次采集。例如,针对某一WEB站点中的多个页面,每隔一定时间便采集一次。而为了保证最终所生成的超级网页模板具有较强的 延续性,可以将采集的过程设定为一个采集的周期。这个周期可以根据实际情况进行具体的设定。

另外,需要注意的是,在采集预设范围内的多个资源文件的时候,具体还包括:通过预设资源文件大小的下限阈值来过滤掉小资源文件。

在具体实现的时候,由于不同的资源文件的size(即字节大小)都是不一样的。而由于资源文件是直接从预设范围内采集的,因此根据实际的预设范围,不同的资源文件的size跨度可能会比较大,而某些size较小的资源文件可能会比较多,造成资源文件中的长尾资源过多。在将资源文件作为相似度运算中的基本运算单元(即对多个资源文件中的两两资源文件进行相似度运算),那么会造成最终所获得的超级网页模板会比较大,不利于实际的应用。而长尾资源由于其size过小,加入超级网页模板中意义不是很大。因而,为了能够保证超级网页模板的大小在一定范围之内,会对资源文件的size进行筛选。在筛选之前,会预设一个资源大小的阈值。该资源大小的阈值一般会设置一个下限。只有当资源文件的size大于该资源大小的下限阈值的时候,才可以被选入后续运算过程。而设定资源大小的下限阈值,可以有效的减少一些size较小的长尾资源,减少超级网页模板的大小。同时,实施该过滤策略,生成的超级网页模板在使用时对使用的资源进行同样的限制,即size过小的资源文件在从服务器下发到客户端的过程中,不需经过与超级网页模板之间的差量运算,直接通过压缩算法压缩后,发送给客户端即可。

需要注意的是,将资源文件进行过滤的步骤是可选步骤,在实际的应用过程中,可以对资源文件实施该过滤步骤,也可以直接把 所有采集到的资源文件进行S102中的处理。

S102:对所述多个资源文件中的两两资源文件进行相似度运算,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除。举例来说,两个资源文件中的其中一个资源文件包含了另一个资源文件的超过一半的内容,这时,可以选择将上述被包含了超过一半的内容的资源文件剔除。从另一方面举例来说,两个资源文件的内容的对比,可以包含下述几个维度中的至少一个:数据量的对比,有价值信息类别的对比,不易通过再次下载获得的信息量的对比等等。

在具体实现的时候,对资源文件进行相似度运算一般是使用现有的差量算法,例如xdelta3,open-vcdiff等算法库进行计算。一般地,在差量算法中,对于给定的源文件(source)A,对于存在于A中的某个连续数据m,在模板(template)B的内容中检索出相匹配的数据块m’,生成偏移指令(偏移指令的数据量很少且固定,只包括偏移地址值以及数据长度);而对于不能在B中检索出匹配数据的m,如果其内容是单个字符数据的重复数据,比如“CCCCCCCC”,则生成重复指令(重复指令的数据量较少且固定,其内容只比偏移指令多有限的固定字节),如果其内容不重复,则生成复制指令(复制指令的数据量可能较大,基于数据块m自身的长度)。最后把这些指令进行顺序组织而生成差量数据。

一般地,基于给定的某一个预设范围内的同类资源集,对多个资源文件中的两两资源文件进行相似度运算,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的 其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除;将保留下来的资源文件进行合并,最终生成一个大的数据文件,该数据文件就是最终所生成的超级网页模板。在这个计算的过程中,采集到的资源文件会构成一个运算集资源文件数据,在该预设范围内的同类资源集,称为“运算集资源”。在该运算集资源的文件数据中,包含了所有采集到的资源文件中的所有数据。在进行资源文件的两两相似度运算中,也都是针对该运算集资源文件数据进行运算。

剔除资源文件中的相同数据以及相似数据的过程,实则是将所有资源数据(即资源文件)中构成重复的数据进行剔除。例如,某运算集资源的文件数据中,包含了a、b、c、d、a’、b’、e、f八个资源文件,其中,a和a’是相同或者相似的资源文件,b和b’是相同或者相似的资源文件,在进行相似度运算的过程中,通过差量运算,能够得到相同或者相似数据的a和a’,b和b’,那么在剔除相同数据以及相似数据的过程中,就要剔除a和a’中被包含的那个,如a包含了a’的全部或大部分内容,剔除a’,剔除b和b’中被包含的那个,如b包含了b’的全部或大部分内容,剔除b’,那么最终运算所得到的超级网页模板中就应当包括:a、b、c、d、e、f。

另外,需要注意的是,对资源文件中的两两资源文件进行相似度运算,就是将每一个资源文件作为运算基本单元,在进行相似度运算的过程中,是进行资源文件和资源文件之间的差量运算。如果两个资源文件中的数据完全相同(此时,在差量运算的结果中,应当是只包括了偏移指令),那么这两个资源文件内容相同。如果两个资源文件中的数据部分相同,且相同的数据部分占据到其中一个 资源文件预设的阈值之上,例如占据到该资源文件的95%以上,则认为两个资源文件为相似资源。如果两个资源文件中的数据完全不同,或者仅有少部分相同,且相同的部分在两个资源文件中占据到预设的阈值之下,例如在两个资源文件均不足95%,则认为两个资源文件为不同资源文件。

需要注意的是,上述的预设的阈值是可以根据实际的需要进行具体的设置的。一般地,如果要对剔除的条件收紧,即严格剔除条件,则将该预设的阈值增大。如果要对剔除的条件放松,则将该预设的阈值降低。

在上述相似度运算的过程中,是使用差量算法来进行计算的,所获得的差量数据即为差量计算的结果。在这个运算的过程中,最基本的运算单元会根据差量计算的结果的不同,分别获得称为胜利者、失败者和/或中立者的资源角色(这里之所以用和/或,是由于每个基本的运算单元,在不同的差量运算中,其资源角色可能是不同的)。

其中,如果将进行相似度运算的两个资源(最基本的运算单元)分别称为第一资源和第二资源。如果第一资源和第二资源的内容相同,则第一资源与第二资源为相同数据;如果第一资源包含了第二资源的全部内容,或者第一资源包含了第二资源的内容超出预设的阈值,则第一资源与第二资源为相似数据;第一资源为胜利者,第二资源为失败者。

如果第一资源和其他资源既不是相同数据,又不是相似数据,即第一资源和第二资源中的数据完全不同,或者第一资源和第二资源仅有部分相同,且相同的部分在第一资源和第二资源中占据到预设的阈值以下,则第一资源为中立者。

一般地,在差量算法中,将源文件数据基于模板数据进行差量运算,得出的差量数据大小除以源文件数据大小而得到的百分比称为delta率。在本发明中,如果将第一资源作为模板数据,第二资源作为源文件数据,即该delta率即为第一资源和第二资源部分相同时,不相同的部分(差量运算后的数据)在第二资源中所占据到的百分比。反之亦然,如果将第二资源作为模板数据,第一资源作为源文件数据,即该delta率即为第一资源和第二资源部分相同时,不相同的部分(差量运算后的数据)在第一资源中所占据到的百分比。而在判断两个资源是否为相似资源或者两个数据是否相似数据的时候,就基于delta率的大小。预设的应当与该delta率具有一致性。

需要注意的是,在本发明中进行差量运算时的第一资源和第二资源,将其中数据更大的一个作为模板数据,而将数据较小的一个作为源数据。而如果第一资源和第二资源的数据大小相等,则可以将其中任意一个作为模板数据,将另一个作为源数据。

S103:将保留下来的资源文件进行合并,生成超级网页模板。

本发明实施例所提供的超级网页模板的生成方法,通过在预设范围内采集多个资源文件,并对采集到的多个资源文件中的两两资源文件进行相似度运算,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除,同时还保留有与其他的数据均不相同或者不相似的数据,最终所剩余的数据作为超级网页模板。在服务器下发非图WEB资源数据的时候,会将相关页面的非图WEB资源数据与该超级网页模板进行差量运算,获得与超级网页模板中的数据 均不同的非图WEB资源数据,并将这些不同的非图WEB资源数据发送给客户端。这样会减少下发的非图WEB资源的数据量,加快资源的下发速度,改善页面浏览的响应耗时。客户端只需要耗用更短的数据接收时间接收这部分非图WEB资源数据,从而加快了服务器的响应速度,提高了客户感受。

在上述的实施例中,为了使得到的超级网页模板可以达到更好的使用效果,还可以将保留下来的资源文件进行更细粒度的相似数据合并,生成超级网页模板。下面将进行详细的描述。

参见图2所示,本发明实施例还提供一种超级网页模板生成方法中,其对上述步骤S102和S103做了优化处理。

具体而言,对所述多个资源文件中的两两资源文件进行相似度运算的方法具体包括:

S201:将采集的多个所述资源文件根据其所包含数据量的大小进行区间分组,数据量在一定区间内的多个资源文件分为一组。

在具体实现的时候,由于相同或者相似的资源文件,其大小通常也是相近的,一般不会出现size较小的资源内容包含了size较大的资源内容的大部分相似数据。因而,可以将资源文件按照预设的资源文件siz区间进行分组,在分组的时候,是依据资源文件所包含的数据量的大小进行的。通过分组,可以有效减少后续两两差量运算的次数,加快超级网页模板生成时的运算速度。例如,按照以下的资源文件siz区间对资源文件进行分组:(204800,1024000000,),(102400,204800,),(51200,102400),(10240,51200),(1024,10240),(0,1024)。即,将size在0字节-1024字节范围内的资源文件分为一组,将size在1024字节-10240字节范围内的资源文件分为一组,……,将size在204800字节 -1024000000字节范围内的资源文件分为一组。一般情况下,在每一组中,均包含有至少一个资源文件。而特殊地,有些分组中,可能并不包括资源文件。在该例子中,分组时并未设置资源大小阈值的下限。如果设置了资源大小阈值的下限,则size最小一个分组的最小字节大小应当是该资源大小阈值的下限。例如当该预设的资源大小阈值为1024字节时,该分组可以是:(204800,1024000000),(102400,204800),(51200,102400),(10240,51200),(1024,10240)。

S202:对每组内的多个资源文件中的两两资源文件进行相似度运算。

在具体实现的时候,要针对每一组内的资源文件进行组内的两两差量运算。而特别地,如果在某分组中仅包含一个资源文件,那么直接保留该资源文件。如果在某分组中并不包含资源文件,那么直接将该分组剔除。

另外,在对每组中的多个资源文件进行两两差量运算的时候,可以有如下几种方式:

1、按照资源文件的组织顺序,从前到后,每次读取两个资源文件进行差量运算。

例如:在某个分组中,包含了A、B、C、D、E、F六个资源文件,那么进行差量运算的顺序可以为:

①、将A和B进行差量运算;

②、如果A和B是相同或者相似的资源文件,则将数据量较小的资源文件剔除,并将剩余的资源文件和C进行差量运算;

③、如果A和B中两个既非相同又非相似,那么将两个资源文件均保留,然后将两个资源文件分别和C进行差量运算……;

直到最终所有的资源文件均与其他的被保留下来的资源文件进行过两两的差量运算为止。

2、按照资源文件的组织顺序,从前到后,顺序读取两个资源文件进行差量运算,将保留下来的资源文件再与其他被保留下来的资源文件进行差量运算。

例如:在某个分组中,包含了A、B、C、D、E、F六个资源文件,那么进行差量运算的顺序可以为:

①、将A和B进行差量运算,将C和D进行差量运算,将E和F进行差量运算;

②、如果上述三个差量运算均剔除了一个数据量较小的相同资源或者相似资源,那么将剩余的三个资源文件之间再进行两两的差量运算,直到剔除所有的相同资源或者相似资源中数据量更小的那一个;而如果上述三个差量运算中并未剔除任何的一个资源文件,那么就将保留下来的资源文件分别与其他保留下来的资源文件进行两两的差量运算,直到剔除了在差量运算中所有的相同或相似的两个资源文件中数据量小的那个资源为止。

进行完相似度运算之后的处理方式与上述相同,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除。

S203:将区间值最大的这一组的保留下来的资源文件进行合并,生成临时网页模板。

S204:将所述临时网页模板分别与其它每组所保留下来的资源文件进行相似度运算,当其中一组中的资源文件的数据与临时网页模板的数据相同或相似时剔除该资源文件,否则将该资源文件合并 到所述临时网页模板中,并且以相同方式继续与下一组所保留下来的资源文件进行相似度运算,最终生成的临时网页模板为超级网页模板。

在具体实现的时候,由于在差量运算的时候,一般地,需要以两个参与差量运算的资源中,size较大的资源作为模板数据,而将另一个size较小的资源作为源数据进行差量运算,如果两者是相同或者相似资源,那么就将源数据剔除。因而在进行组间的两两差量运算中,会先将组内两两差量运算之后所生成的多组数据文件中,size区间最大的组作为基础组,将其保留的资源文件进行合并,生成临时网页模板;即将size区间最大的组中的资源文件作为模板数据。需要注意的是,在基础组中,只会生成一个临时网页模板,该临时网页模板包含了该基础组(区间值最大的组)中的所有不同的资源文件。

而将其他的组均作为比较组,将所有的比较组中的资源文件作为源数据。每个比较组内资源文件要进行两两差量运算,使用上面描述的剔除方法剔除失败者资源文件,将每个比较组中保留的资源文件与临时网页模板进行组间的差量运算。在差量运算的过程中,如果比较组其中某个资源文件和临时网页模板中的数据是相同数据或者相似数据,则将该资源文件剔除。如果不是,则将该资源文件合并到基础组的临时网页模板中,生成新的临时网页模板。

在一个优选实施例中,对保留下来的资源文件根据不同情况进行不同策略的中段截取保留,去除掉首尾数据。

在具体实现的时候,中段截取策略是基于关键数据多数集中在资源文件中段的假定,通过去除每一个资源文件的首尾数据,来有效减少超级网页模板的大小。在具体操作的时候,基于上述S204 所输出的超级网页模板,根据资源文件在该超级网页模板中的不同情况(即根据资源文件在超级网页模板中不同的资源角色),会采用不同策略的中段截取保留。例如,对于中立者,其中段截取策略可以相对激进,即可以只截取较少的中段数据,去除首尾更多的数据;而对于胜利者,由于胜利者中包含了更多其他的资源文件(即被剔除的资源文件)的相似数据,因此其中段截取策略可以相对保守,即需要截取较多的中段数据。不同的资源角色,所对应的资源文件中被截取的数据在该资源文件中所占据的百分比是不同的。即针对不同的资源角色,可以设置不同的数据范围来对资源文件进行中段截取。

例如,在一种对中段截取中的数据范围进行预设的时候,该配置参数具体为:

FILE_DEFEATER:[(1024000,0.4),(512000,0.5),(409600,0.6),(307200,0.7),(204800,0.8),(102400,0.9),],

FILE_NEUTRALIER:[(1024000,0.1),(512000,0.1),(307200,0.15),(204800,0.3),(102400,0.6),]

其中的每一个数值对,第一个参数是对资源文件大小的下限值,第二个参数表示只保留文件中段的百分比。例如,在对于胜利者的资源文件进行中段截取的时候,如果其大小在204800至307200字节之间,则剔除文件首段10%及尾段10%的数据,只保留中段80%的数据。可以看到,示例的配置参数中,胜利者的中段截取(保留)比例比中立者相对保守,其原因在于胜利者资源文件中包含了其他已剔除资源文件的大部分相似内容,故需要保留更多的数据;而中立者由于与其之外的其他资源文件都不具有明显相似性,故只保留更少的数据。

在一个优选实施例中,为了使得超级网页模板可以达到更好的使用效果,本发明还考虑了对超级网页模板的行资源数据进行相似度运算,当数据相同时将两行资源数据中的其中一个剔除,当数据相似时如果两行资源数据中的其中一个行资源数据包含了另一个行资源数据的全部或者大部分内容,将该被包含全部或者大部分内容的行资源数据剔除,最终生成一个精简的超级网页模板,该方法具体包括:

将生成的超级网页模板进行逐行拆分;

将拆分出的多行资源数据由前至后依次进行两两对比,当数据相同时将两行资源数据中的其中一个剔除,当数据相似时如果两行资源数据中的其中一个行资源数据包含了另一个行资源数据的全部或者大部分内容,将该被包含全部或者大部分内容的行资源数据剔除,最终生成精简的超级网页模板。

一般地,在Javascript资源内容的组织上,基本上遵循了每个函数模块以行为单位进行书写,行内数据之间尽可能减少空格,目的在于减少资源大小。因此每一个行数据中在一般情况下,至少包括了一个函数模块。而对于CSS资源,也具有同样的以行粒度组织数据的特性。基于相关Javascript资源或者CSS资源之间逻辑服用原则或者数据复用的原则,个体不同的同类资源中可能存在相同或者相似的行数据(比如两个Javascript行资源中可能包含了同一个函数模块的行数据)。

一般地,在将每两行的资源数据进行两两对比的时候,一般使用差量运算的方法。

在对比过程中,如果两行数据完全相同(此时,在差量运算的结果中,应当是只包括了偏移指令),那么称两个行数据内容相同。 如果两个行数据中的数据部分相同,且相同的部分占据到其中一个行数据预设的阈值之上,例如占据到该行数据的95%以上,则认为两个行数据为相似数据。如果两个行数据中的数据完全不同,或者仅有部分相同,且相同的部分在两个行数据中占据到预设的阈值之下,例如在两个行数据均不足95%,则认为两个行数据内容不同。

需要注意的是,上述的预设的阈值同样是可以根据实际的需要进行具体的设置的。设置的原则与上述基于文件粒度的相似度计算类似,在此不再赘述。

在将超级网页模板文件拆分成多个行数据文件之后,按照行数据的文件组织顺序,将行数据文件与由前至后进行两两差量运算。该两两差量运算与上述将每个组中的多个资源文件进行两两差量运算的方法类似,因此不再赘述。根据差量运算的结果判断两个行数据资源文件是否为相同资源。如果是相同资源,则剔除其中的失败者,并将剔除失败者之后所剩余的资源数据作为精简的超级网页模板。

在另一个优选实施例中,为了使得超级网页模板可以达到更好的使用效果,本发明还考虑了对精简的超级网页模板进行基于块粒度的差量运算方法,该方法具体包括:

将生成精简的超级网页模板中数据量大的行资源数据拆分为多个块数据;

将每块数据与其他行资源数据进行相似度运算,将与其他行资源数据相同或相似的块数据剔除。

具体而言,就是将数据量大的行数据进一步细化。按照规定字节数把较长的行切分成多个块数据,块数据的大小可以根据实际的需要进行具体设置,其中的部分块数据有可能与其他行资源数据相 同或相似,将与其他行资源数据相同或相似的块数据剔除。对精简的超级网页模板进行基于块粒度的相似度运算能够有效地剔除相似数据,进一步减少超级网页模板中的数据量。

以上各种优选实施例可以进行自由组合,以实现能够生成最佳的超级网页模板。

本发明实施例还提供一种超级网页模板生成装置,参见图3所示,本发明实施例所提供的超级网页模板生成装置包括:

采集模块,用于采集预设范围内的多个资源文件;

相似度识别和剔除模块,用于对所述多个资源文件中的两两资源文件进行相似度运算,识别出数据相同或相似的两个资源文件,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除;

模板生成模块,用于将保留下来的资源文件进行合并,生成超级网页模板。

其中,所述资源文件为WEB页面数据资源文件;所述预设范围包括:预设WEB站点、预设WEB站点的路径、或预设资源关键词。

在一个优选实施例中,所述相似度识别和剔除模块还包括:

区间分组子模块,用于先将采集的多个资源文件根据其所包含数据量的大小进行区间分组,数据量在一定区间内的多个资源文件分为一组;

相似度识别子模块,用于对每组内的多个资源文件中的两两资源文件进行相似度运算和识别。

在一个优选实施例中,所述模板生成模块包括:

合并子模块:用于将区间值最大的这一组的保留下来的资源文件进行合并,生成临时网页模板;

相似度运算和生成子模块,用于将该临时网页模板分别与其它每组所保留下来的资源文件进行相似度运算,当其中一组中的资源文件的数据与临时网页模板的数据相同或相似时剔除该资源文件,否则将该资源文件合并到所述临时网页模板中,并且以相同方式继续与下一组所保留下来的资源文件进行相似度运算,最终生成的临时网页模板为超级网页模板。

在一个优选实施例中,所述采集预设范围内的多个资源文件,包括:通过预设资源文件大小的下限阈值来过滤掉小资源文件。

在一个优选实施例中,还包括:中段截取保留模块,用于对保留下来的资源文件根据不同情况进行不同策略的中段截取保留,去除掉首尾数据。

在一个优选实施例中,还包括:

行资源拆分和生成模块,用于将生成的超级网页模板进行逐行拆分,将拆分出的多行资源数据由前至后依次进行两两对比,当数据相同时将两行资源数据中的其中一个剔除,当数据相似时如果两行资源数据中的其中一个行资源数据包含了另一个行资源数据的全部或者大部分内容,将该被包含全部或者大部分内容的行资源数据剔除,最终生成精简的超级网页模板。

在一个优选实施例中,还包括:

块数据拆分和剔除模块,将生成精简的超级网页模板中数据量大的行资源数据拆分为多个块数据,将每块数据与其他行资源数据进行相似度运算,将与其他行资源数据相同或相似的块数据剔除。

在本实施例中,各功能模块的具体功能和交互方式,可参见图1和2对应的实施例的记载,在此不再赘述。

本发明实施例所提供的超级网页模板生成装置,其有益效果是:通过采集模块在预设范围内采集资源文件,并通过相似度识别和剔除模块对采集到的资源文件中的两两资源文件进行相似度运算,识别出数据相同或相似的两个资源文件,当数据相同时将两个资源文件中的其中一个剔除,当数据相似时如果两个资源文件中的其中一个资源文件包含了另一个资源文件的全部或者大部分内容,将该被包含全部或者大部分内容的资源文件剔除,同时还保留有与其他的数据均不相同或者不相似的数据,最终所剩余的数据作为超级网页模板,在服务器下发非图WEB资源数据的时候,会将相关页面的非图WEB资源数据与该超级网页模板进行差量运算,获得与超级网页模板中的数据均不同的非图WEB资源数据,并将这些不同的非图WEB资源数据发送给客户端。客户端只需要耗用更短的数据接收时间接收这部分非图WEB资源数据,从而加快了服务器的响应速度,提高了客户感受。

另外,本发明实施例还提供一种页面数据传输方法,参见图4所示,该方法包括:

S301:获取客户请求的页面的当前非图WEB资源数据;

S302:运用预先建立的与该页面对应的超级网页模板对所述非图WEB资源数据进行差量运算,获取差量数据;其中,所述的超级网页模板是根据上述实施例或其组合的超级网页模板生成方法生成的;

S303:将所述差量数据发送至客户端。

本发明实施例所提供的页面数据传输方法,通过上述实施例中所提供的超级网页模板生成方法生成超级网页模板。当服务器接收 到客户端的客户请求的时候,根据该客户请求,获取与该客户请求所对应的WEB页面的当前非图WEB资源数据,并运用预先建立的与该WEB页面所对应的超级网页模板对非图WEB资源数据进行差量运算,获得差量数据,该差量数据就是该WEB页面的非图WEB资源数据和超级网页模板之间的差别数据。服务器将差量数据发送至客户端,在客户端已经包括了超级网页模板的所有数据。客户端会结合差量数据和超级网页模板向用户展现其所要求的WEB页面。在这个过程中,服务器所发给客户端的数据仅仅是差量数据,在很大程度上减少下发给客户端的非图WEB资源的数据量,加快资源的下发速度,减少下发数据时所耗费的流量,改善页面浏览的响应耗时。

本发明实施例所提供的方法以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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