CN104462390A - 一种提高网页自适应布局效率的方法和系统 - Google Patents
一种提高网页自适应布局效率的方法和系统 Download PDFInfo
- Publication number
- CN104462390A CN104462390A CN201410757118.9A CN201410757118A CN104462390A CN 104462390 A CN104462390 A CN 104462390A CN 201410757118 A CN201410757118 A CN 201410757118A CN 104462390 A CN104462390 A CN 104462390A
- Authority
- CN
- China
- Prior art keywords
- web page
- page resources
- layout
- css file
- webpage
- 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.)
- Granted
Links
Classifications
-
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种提高网页自适应布局效率的方法和系统,能够基于现有网页自适应技术,通过在布局服务器中查找匹配的CSS文件,直接加载重新布局,达到了提高网页布局速度的目的。本发明方法包括:获取相关网页资源参数,包括:客户端分辨率、网页url;根据客户端分辨率、网页url在域名哈希表查找匹配的CSS文件路径,或基于网页分类技术,在同类网页数据库查找同类网页的CSS文件路径,直接加载CSS文件重新布局,并将所请求网页的CSS文件路径写入域名哈希表;若在域名哈希表和同类网页数据库中查找不到匹配的CSS文件路径,则利用现有自适应技术重新布局后,保存CSS文件,将CSS文件路径写入域名哈希表和同类网页数据库中。
Description
技术领域
本发明涉及网页设计技术领域,尤其设计一种提高网页自适应布局效率的方法和系统。
背景技术
近年来,随着移动互联网的发展和智能手机、平板电脑等移动设备的普及,移动互联网网民呈爆炸性的增长。据易观智库发布的《中国移动互联网用户行为统计报告》显示,截至2014年6月,中国移动互联网网民达到6.86亿。可见移动互联网市场需求巨大,其中浏览网页是获取信息数据的重要手段。因此,移动端的网页设计越来越受到人们的重视,网页设计的质量直接影响到用户获取信息的效果。
目前已提出多种网页自适应技术,比如使用百分比设置宽度和高度、使用相对字体大小以及利用浮动元素代替固定位置元素等,这些方法都一定程度上解决了网页自适应问题。
但这些发明都是从网页布局效果的角度出发,提出了相应解决方案,而很少涉及提高网页布局的效率。在如今数据访问量日益增大的趋势下,找到一种提高网页自适应布局效率的方法和系统亦显得格外重要和必要。
发明内容
本发明实例提供了一种提高网页自适应布局效率的方法和系统,能够直接利用保存的CSS文件直接加载布局,较之每次利用自适应算法重新布局,较大地降低了自适应布局时间,增强了用户体验效果。
为了实现上述目的,按照本发明的一个方面,提供了一种提高网页自适应布局效率的方法,包括:
(1)从目标服务器得到网页资源,获取相关网页资源参数,所述参数包括客户端分辨率和网页url;
(2)基于客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,若在域名哈希表中查找到匹配的CSS文件路径,则直接加载CSS文件,重新布局网页资源,并将布局调整后的网页资源返回客户端;
(3)否则,若在域名哈希表中查找不到匹配的CSS文件路径,则在同类网页数据库中查找同类网页的CSS文件路径,若在同类网页数据库中查找到同类网页的CSS文件路径,则直接加载该CSS文件,重新布局网页资源,并将布局调整后的网页资源返回客户端,同时将该CSS文件路径作为与所请求的网页资源相匹配的CSS文件路径写入域名哈希表,从而再请求相同的网页资源时,可直接加载CSS文件重新布局;
(4)否则,若在同类网页数据库中查找不到同类网页,则利用现有自适应技术重新布局网页资源后,将布局调整后的网页资源返回客户端,并保存CSS文件,将CSS文件路径写入域名哈希表和同类网页数据库,从而再请求相同或同类的网页资源时,可直接加载CSS文件重新布局。
在本发明的一个实施例中,所述方法还包括:在对网页资源进行自适应布局前,判断该网页是否适合移动客户端访问,具体包括:
对网页资源进行自适应布局前,判断该网页是否为适合移动客户端访问的网页资源,若是,则直接将网页资源返回客户端,否则对网页资源进行自适应布局后,将布局调整后的网页资源返回客户端。
在本发明的一个实施例中,所述方法还包括:对保存的CSS文件定期清除及定期删除域名哈希表冗余记录,具体包括:
若保存的CSS文件在规定时间内没有被调用,则清除该CSS文件,否则每调用一次,则将计时器清零,重新计时;
若域名哈希表中某记录在规定时间内没有被查询,则清除该记录,否则每查询一次,则将计时器清零,重新计时。
在本发明的一个实施例中,所述步骤(2)基于客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,具体包括:
根据获取的网页url,通过Object类的hashcode()方法得到网页哈希码,即该网页url在域名哈希表中的地址,无需遍历可直接在域名哈希表中查找到该地址;
根据获取的客户端分辨率,遍历该地址下的单链表,即可查找到对应分辨率下的CSS文件路径。
在本发明的一个实施例中,所述步骤(3)中在同类网页数据库中查找同类网页的CSS文件路径,具体包括:
遍历同类网页数据库,将请求的网页资源的布局与存储在数据库中的网页资源的布局逐一比较,计算出两者的相似度;
判断两者的相似度是否大于设定的相似度阈值,如果大于则认为这两个网页同类,如果和多个网页资源的相似度大于阈值,则取与请求的网页资源布局相似度最大的网页资源为同类网页,得到同类网页的CSS文件路径。
在本发明的一个实施例中,所述计算两者的相似度,具体包括:
(3.1)提取两个网页资源的html树结构,记录它们的节点个数;
(3.2)比较两个树的根节点是否相同,如果不同,两个根树的相似度为零,比较结束;否则进入(3.3)步;
(3.3)统计两个根树的节点数目nA、nB,如果nA=1或nB=1,则两棵根树的相似度为2/(nA+nB),否则分别计算两个子树集合中每个子树之间的相似度,进行(3.4)步;
(3.4)以子树的节点数作为权重,计算所有子树总的参考值ref(TCA,TCB),作为计算根树相似度的参考值,其中TCA、TCB为两个子树集合;
(3.5)返回两个根树的相似度,Sim(TA,TB)=2/(nA+nB)+(nA+nB-2)/(nA+nB)+ref(TCA,TCB)。
按照本发明的另一方面,还提供了一种提高网页自适应布局效率的系统,包括网页资源参数获取模块,域名哈希表布局模块,同类网页数据库布局模块以及自适应布局模块,其中:
所述网页资源参数获取模块,用于从目标服务器得到网页资源,获取网页资源参数,所述参数包括客户端分辨率和网页url;
所述域名哈希表布局模块,用于根据客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,若在域名哈希表中查找到匹配的CSS文件路径,则直接加载CSS文件,重新布局网页资源,将调整后的网页资源返回客户端;
所述同类网页数据库布局模块,用于在域名哈希表中查找不到匹配的CSS文件路径时,在同类网页数据库中查找同类网页的CSS文件路径,若在同类网页数据库中查找到同类的CSS文件路径,则直接调用同类网页的CSS文件,重新布局网页资源,将调整后的网页资源返回客户端,同时将该CSS文件路径作为与所请求的网页资源相匹配的CSS文件路径写入域名哈希表;
所述自适应布局模块,用于在同类网页数据库中查找不到同类网页的CSS文件路径时,利用现有自适应技术重新布局网页资源后,将调整后的网页资源返回客户端,并保存CSS文件,将CSS路径写入域名哈希表和同类网页数据库中。
在本发明的一个实施例中,所述系统还包括:判断模块,所述判断模块用于:
对网页资源进行自适应布局前,判断该网页是否为适合移动客户端访问的网页资源,若是,则直接将网页资源返回客户端,否则对网页资源进行自适应布局后,将调整后的网页资源返回客户端。
在本发明的一个实施例中,所述系统还包括:整理模块,所述整理模块用于:
若保存的CSS文件在规定时间内没有被调用,则清除该CSS文件,否则每调用一次,则将计时器清零,重新计时;
若域名哈希表中某记录在规定时间内没有被查询,则清除该记录,否则每查询一次,则将计时器清零,重新计时。
与现有技术相比,本发明具有如下有益效果:
(1)本发明方法首先获取客户端分辨率和网页url;根据获取的客户端分辨率、网页url或基于网页资源布局比较,在域名哈希表或同类网页数据库中查找对应的CSS文件路径,直接加载,实现网页自适应布局;若没有匹配的CSS文件,则使用现有的网页自适应技术布局。较之每次利用自适应算法重新布局,直接加载CSS文件可较大地降低自适应布局时间。
(2)本发明方法如果在同类网页数据库查找到匹配的CSS文件,要在域名哈希表写入CSS文件路径,如果利用现有的自适应技术重新布局,除在域名哈希表和同类网页数据库写入CSS文件路径外,还要保存CSS文件,下次相同或同类的网页资源可直接在域名哈希表或同类网页数据库中查找加载。
(3)本发明从提高网页自适应布局效率的角度,提出相应的解决办法,较大地节约了自适应布局时间,提高了用户体验性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前下,还可以根据这些附图获得其他的附图。
图1为本发明中网页自适应布局系统的组成结构示意图;
图2为本发明中提高页面自适应布局效率的流程示意图;
图3为本发明中的域名哈希表结构示意图;
图4为本发明中提高页面自适应布局效率的第一实施例流程示意图;
图5为本发明中提高页面自适应布局效率的第二实施例流程示意图;
图6为本发明中提高页面自适应布局效率系统的第一实例功能模块示意图;
图7为本发明中提高页面自适应布局效率系统的第二实例功能模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明网页自适应布局系统的组成结构示意图如图1所示,客户端向布局服务器发送网页资源请求,布局服务器根据网页url从目标服务器中获得网页资源,自适应布局后,将调整后的网页资源返回客户端。
本发明提供了一种提高网页自适应布局效率的方法,流程示意图如图2所示,具体包括:
(1)从目标服务器得到网页资源,获取相关网页资源参数,所述参数包括客户端分辨率和网页url;
(2)基于客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,若在域名哈希表中查找到匹配的CSS文件路径,则直接加载CSS文件,重新布局网页资源,并将布局调整后的网页资源返回客户端;
(3)否则,若在域名哈希表中查找不到匹配的CSS文件路径,则在同类网页数据库中查找同类网页的CSS文件路径,若在同类网页数据库中查找到同类网页的CSS文件路径,则直接加载该CSS文件,重新布局网页资源,并将布局调整后的网页资源返回客户端,同时将该CSS文件路径作为与所请求的网页资源相匹配的CSS文件路径写入域名哈希表,从而再请求相同的网页资源时,可直接加载CSS文件重新布局;
(4)否则,若在同类网页数据库中查找不到同类网页,则利用现有自适应技术重新布局网页资源后,将布局调整后的网页资源返回客户端,并保存CSS文件,将CSS文件路径写入域名哈希表和同类网页数据库,从而再请求相同或同类的网页资源时,可直接加载CSS文件重新布局。
实施例1
本发明提高页面自适应布局效率的第一实施例流程示意图如图4所示,本发明方法包括以下步骤:
步骤S01、用于获取客户端发出的网页资源相关参数,所述资源参数包括网页url和客户端分辨率;
客户端向布局服务器发送网页资源请求,布局服务器根据请求资源中的网页url从目标服务器获取网页资源,如图1所示,该请求一般为http协议的get请求。所述网页资源参数包括客户端分辨率和网页url,可通过http协议的头部信息得到。客户端分辨率和网页url用来匹配对应的CSS文件,其中网页url可以唯一识别一个网页资源。
步骤S02、在域名哈希表中查找对应的CSS文件路径,加载CSS文件重新布局;
根据客户端分辨率和网页url,从域名哈希表中查找到对应的CSS文件路径。哈希表具有存取数据速度快的特点,通常只需要O(1)的时间级。哈希表设置于布局服务器,结构如图3所示。本发明中域名哈希表采用链地址法处理冲突,单链表中存储了相同地址下不同分辨率客户端对应的CSS文件路径,在域名哈希表只存储了所有相同地址子表的头指针。域名哈希表地址由网页url通过调用Object类的hashcode()方法得到。对于不同的网页url,在hashcode()方法下,一般返回不同的哈希码,所以该哈希码可以作为不同网页url在域名哈希表中的哈希地址。
网页url一般使用英文字母、数字和一些符号,比如‘www.163.com’、‘www.sina.com.cn/2014-11-11/index.shtml’,还有可能包含url参数,比如,‘www.baidu.com/s?ie=utf-8&rsv_pq=b4c5196f000993ea&inputT=4130&rsv_sug3=50’,其中符号‘?’及之后的字符都是url参数部分。为了提高计算效率,可以在计算哈希码的过程中忽略网页url中的‘www.’和url参数部分,因为两者不是识别不同网页布局的必要信息,对于相同网页域名、目录的两个网页,即使具有不同的url参数,它们的网页布局也是相同的。
整个步骤可叙述为:首先,根据获取的网页url,通过Object类的hashcode()方法得到网页哈希码,即该网页url在域名哈希表中的地址,无需遍历,直接在域名哈希表中查找到该地址;最后,根据获取的客户端分辨率,遍历该地址下的单链表,查找到对应分辨率下的CSS文件路径,直接加载CSS文件重新布局,将布局调整后的网页资源返回客户端。
如果在域名哈希表中查找不到对应的CSS文件路径,则进行步骤S03。
步骤S03、在同类网页数据库中查找对应的CSS文件路径,加载CSS文件重新布局,并将CSS文件路径写入域名哈希表;
网页布局并不是毫无规律可言,目前网页的布局也有其相同或相似的地方,而且不少网页的布局相似度极高。例如,现在网页中新闻正文页面具有相对固定的布局,最上方新闻标题,下面是发布时间、来源、作者等,接着便是新闻正文,其中穿插有图片,正文右方是广告或热门新闻链接等。又如,论坛页面也有很大相似度。对于这些网页框架相似度极高,甚至可认为布局相同的网页,自然可利用相同的布局方式重新调整。
同类网页数据库中初始存储有一些网页url和对应的CSS文件路径,如前段所述,这些网页布局具有一定的代表性。通过遍历数据库,将请求的网页布局与存储的网页布局逐一比较,计算出两者的相似度,设定某一比较阈值,在两者的相似度大于这一阈值的情况下,可认为这两个网页同类,即可利用相同的CSS文件重新布局。如果不止一个匹配成功,则取数据库中相似度最大的网页对应的CSS文件加载,然后将重新布局后的网页资源返回客户端。
在计算两个网页相似度时,首先要提取网页的html树结构,然后逐层计算html子树的结构相似度,最后的得出根树的结构相似度。
具体步骤如下:
(3.1)提取两个网页资源的html树结构,记录它们的节点个数;
(3.2)比较两个树的根节点是否相同,如果不同,两个根树的相似度为零,比较结束;否则进入(3.3)步;
(3.3)统计两个根树的节点数目nA、nB,如果nA=1或nB=1,则两棵根树的相似度为2/(nA+nB),否则分别计算两个子树集合中每个子树之间的相似度,进行(3.4)步;
(3.4)以子树的节点数作为权重,计算所有子树总的参考值ref(TCA,TCB),作为计算根树相似度的参考值,其中TCA、TCB为两个子树集合;
(3.5)返回两个根树的相似度,Sim(TA,TB)=2/(nA+nB)+(nA+nB-2)/(nA+nB)+ref(TCA,TCB)。
相似度值在0到1之间,越靠近1意味着两者越相似。我们取0.9为比较阈值,即相似度大于等于0.9的两网页认为同类,可加载相同的CSS文件布局。
同时,要将该网页url和对应的CSS路径写入域名哈希表中,下次客户端访问改相同网页url时,在域名哈希表中便可查找到对应的CSS文件路径。
如果在同类网页数据库中查找不到对应的CSS文件路径,则进行步骤S04。
步骤S04、利用现有的网页自适应布局技术,进行自适应布局调整,并保存CSS文件,将CSS文件路径写入域名哈希表和同类网页数据库;
如果域名哈希表和同类网页数据库中均没有匹配的CSS文件,则意味着布局服务器中没有保存对应的CSS文件,无法直接加载。此时,就要使用现有的自适应布局技术对网页重新布局。目前,已提出一些网页自适应布局方法,用户可自行选择,这不是我们讨论的重点,此处不予展开。
这里关心的是在利用网页自适应技术重新布局后,要将该网页url和对应的CSS路径写入域名哈希表和同类网页数据库中,下次客户端访问该网页或同类网页时,在域名哈希表或同类网页数据库中便可查找到对应的CSS文件路径,直接加载布局。
实例2
图5是本发明页面布局自适应方法第二实施例流程示意图;本实施例与图4所述实施例的区别是,增加了步骤S11和步骤S12;本实施例仅对步骤S11和步骤S12进行具体描述,有关本发明提高页面自适应布局效率所涉及的其他步骤请参照相关实施例的具体描述,在此不再赘述。
如图5所示,在本发明步骤S01、获取网页资源相关参数步骤之后,步骤S02、在域名哈希表中查找、加载对应的CSS文件,进行自适应布局之前还包括:
步骤S11、基于发送的网页资源请求,判断是否为适合移动客户端访问的网页资源;
当该请求为适合移动客户端访问的网页资源时,直接向客户端返回该网页资源,否则执行步骤S02。
为适合手机等移动客户端访问,如今许多网站专门设计有移动版本,比如新浪网‘3g.sina.com.cn’,凤凰网‘3g.ifeng.com’等,这些网站经过不断的调整优化,已经很大程度适应了各种移动客户端,用户能体验到较好的访问效果。本发明实施例基于发送的网页资源请求,判断是否为适合移动客户端访问的网页资源,在该网页资源为适合移动客户端访问情况下,再执行页面自适应程序,避免了不必要的资源浪费。
判断一个网页资源是否适合移动客户端访问,可从以下几个方面着手:
1.域名:二、三级域名中包含有‘m’、‘3g’、‘wap’的算是;
2.网页标题包含有“手机版”、“触屏版”字样;
3.网页的meta里有viewport如:
<meta name=”viewport”content=”width=xxx;......”>
4.网页的DTD:有XHTML MP或wap
<!DOCTYPE html PUBLIC"-//WAPFORUM//DTD XHTML Mobile1.0//EN""http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<!DOCTYPE wml PUBLIC"-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.dtd">
步骤S12、定期删除不被调用的CSS文件;
为避免了消耗不必要的资源,应定期清除不被调用的CSS文件。例如,可设置三个月为清理时间,如果某CSS文件在规定时间(三个月)内未被调用,则该文件自动被清除。但该CSS文件一旦被调用一次,则计时器重新清零,重新计时。同时,对于域名哈希表中经常不被查找的记录,也应定期删除。
图6是本发明提高网页自适应布局效率的系统实例1的功能模块示意图;如图6所示,本发明系统包括网页资源参数获取模块01,域名哈希表布局模块02,同类网页数据库布局模块03以及自适应布局模块04。
网页资源参数获取模块01,用于获取客户端发出的网页资源相关参数,所述资源参数包括网页url和客户端分辨率;
客户端向布局服务器发送网页资源请求,布局服务器根据请求资源中的网页url从目标服务器获取网页资源,如图1所示,该请求一般为http协议的get请求。所述网页资源参数包括客户端分辨率和网页url信息,可通过http协议的头部信息得到。客户端分辨率和网页url信息用来匹配对应的CSS文件,其中网页url可以唯一识别一个网页资源。
域名哈希表布局模块02,用于在域名哈希表中查找对应的CSS文件路径,加载CSS文件重新布局;
布局服务器根据请求资源中的网页url从目标服务器获取网页资源,并根据客户端分辨率和网页url,从域名哈希表中查找到对应的CSS文件路径。哈希表具有存取数据速度快的特点,通常只需要O(1)的时间级。哈希表设置于布局服务器,结构如图3所示。本发明中域名哈希表采用链地址法处理冲突,单链表中存储了相同地址下不同分辨率客户端对应的CSS文件路径,在域名哈希表只存储了所有相同地址子表的头指针。域名哈希表地址由网页url通过调用Object类的hashcode()方法得到。对于不同的网页url,在hashcode()方法下,一般返回不同的哈希码,所以该哈希码可以作为不同网页url在域名哈希表中的哈希地址。
网页url一般使用英文字母、数字和一些符号,比如‘www.163.com’、‘www.sina.com.cn/2014-11-11/index.shtml’,还有可能包含url参数,比如,‘www.baidu.com/s?ie=utf-8&rsv_pq=b4c5196f000993ea&inputT=4130&rsv_sug3=50’,其中符号‘?’及之后的字符都是url参数部分。为了提高计算效率,可以在计算哈希码的过程中忽略网页url中的‘www.’和url参数部分,因为两者不是识别不同网页布局的必要信息,对于相同网页域名、目录的两个网页,即使具有不同的url参数,它们的网页布局也是相同的。
整个模块可叙述为:首先,根据获取的网页url,通过Object类的hashcode()方法得到网页哈希码,即该网页url在域名哈希表中的地址,无需遍历,直接在域名哈希表中查找到该地址;最后,根据获取的客户端分辨率,遍历该地址下的单链表,查找到对应分辨率下的CSS文件路径,直接加载CSS文件重新布局,将布局调整后的网页资源返回客户端。
同类网页数据库布局模块03、用于在同类网页数据库中查找对应的CSS文件路径,加载CSS文件重新布局,并将CSS文件路径写入域名哈希表;
网页布局并不是毫无规律可言,目前网页的布局也有其相同或相似的地方,而且不少网页的布局相似度极高。例如,现在网页中新闻正文页面具有相对固定的布局,最上方新闻标题,下面是发布时间、来源、作者等,接着便是新闻正文,其中穿插有图片,正文右方是广告或热门新闻链接等。又如,论坛页面也有很大相似度。对于这些网页框架相似度极高,甚至可认为布局相同的网页,自然可利用相同的布局方式重新调整。
同类网页数据库中初始存储有网页url和对应的CSS文件路径,如前段所述,这些网页布局具有一定的代表性。通过遍历数据库,将请求的网页布局与存储的网页布局逐一比较,计算出两者的相似度,设定某一比较阈值,在两者的相似度大于这一阈值的情况下,可认为这两个网页同类,即可利用相同的CSS文件重新布局。如果不止一个匹配成功,则取数据库中相似度最大的网页对应的CSS文件加载,然后将重新布局后的网页资源返回客户端。
在计算两个网页相似度时,首先要提取网页的html树结构,然后逐层计算html子树的结构相似度,最后的得出根树的结构相似度。
具体步骤如下:
(3.1)提取两个网页资源的html树结构,记录它们的节点个数
(3.2)比较两个树的根节点是否相同,如果不同,两个根树的相似度为零,比较结束;否则进入(3.3)步;
(3.3)统计两个根树的节点数目nA、nB,如果nA=1或nB=1,则两棵根树的相似度为2/(nA+nB),否则分别计算两个子树集合中每个子树之间的相似度,进行(3.4)步;
(3.4)以子树的节点数作为权重,计算所有子树总的参考值ref(TCA,TCB),作为计算根树相似度的参考值,其中TCA、TCB为两个子树集合;
(3.5)返回两个根树的相似度,Sim(TA,TB)=2/(nA+nB)+(nA+nB-2)/(nA+nB)+ref(TCA,TCB)。
相似度值在0到1之间,越靠近1意味着两者越相似。我们取0.9为比较阈值,即相似度大于等于0.9的两网页认为同类,可加载相同的CSS文件布局。
同时,要将该网页url和对应的CSS路径写入域名哈希表中,下次客户端访问相同的网页url时,在域名哈希表中便可查找到对应的CSS文件路径。
自适应布局模块04、用于利用现有的网页自适应布局技术,进行自适应布局调整,并保存CSS文件,将CSS文件路径写入域名哈希表和同类网页数据库;
如果域名哈希表和同类网页数据库中均没有匹配的CSS文件,则意味着布局服务器中没有保存对应的CSS文件,无法直接加载。此时,就要使用现有的自适应布局技术对网页重新布局。目前,已提出一些网页自适应布局方法,用户可自行选择,这不是我们讨论的重点,此处不予展开。
这里关心的是在利用网页自适应技术重新布局后,要将该网页url和对应的CSS路径写入域名哈希表和同类网页数据库中,下次客户端访问该网页或同类网页时,在域名哈希表或同类网页数据库中便可查找到对应的CSS文件路径,直接加载布局。
图7是本发明实例2功能模块示意图;本实施例与图6所述实例的区别是,增加了判断模块11以及整理模块12;本实施例仅对判断模块11以及整理模块12进行具体描述,有关本发明提高页面自适应布局效率系统所涉及的其他模块请参照相关实施例的具体描述,在此不再赘述。
如图7所示,本发明系统还包括:
判断模块11,基于发送的网页请求,判断是否为适合移动客户端访问的网页资源;
在本发明网页资源参数获取模块01、获取网页资源相关参数之后,域名哈希表布局模块02、根据相关网页资源参数,查找、加载对应CSS文件之前,还包括判断模块11:
为适合手机等移动客户端访问,如今许多网站专门设计有移动版本,比如新浪网‘3g.sina.com.cn’,凤凰网‘3g.ifeng.com’等,这些网站经过不断的调整优化,已经很大程度适应了各种移动客户端,用户能体验到较好的访问效果。本发明实施例基于发送的网页资源请求,判断是否为适合移动客户端访问的网页资源,在该网页资源为适合移动客户端访问情况下,再执行页面自适应程序,避免了不必要的资源浪费。
判断一个网页资源是否适合移动客户端访问,可从以下几个方面着手:
1.域名:二、三级域名中包含有‘m’、‘3g’、‘wap’的算是;
2.网页标题包含有“手机版”、“触屏版”字样;
3.网页的meta里有viewport如:
<meta name=”viewport”content=”width=xxx;......”>
4.网页的DTD:有XHTML MP或wap
<!DOCTYPE html PUBLIC"-//WAPFORUM//DTD XHTML Mobile1.0//EN""http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<!DOCTYPE wml PUBLIC"-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.dtd">
整理模块12、用于定期清除不被调用的CSS文件。例如,可设置三个月为清理时间,如果某CSS文件在规定时间(三个月)内未被调用,则该文件自动被清除,从而避免了消耗不必要的资源。但该CSS文件一旦被调用一次,则计时器重新清零,重新计时。同时,对于域名哈希表中经常不被查找的记录,也应定期删除。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
Claims (9)
1.一种提高网页自适应布局效率的方法,其特征在于,所述方法包括:
(1)从目标服务器得到网页资源,获取相关网页资源参数,所述参数包括客户端分辨率和网页url;
(2)基于客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,若在域名哈希表中查找到匹配的CSS文件路径,则直接加载CSS文件,重新布局网页资源,并将布局调整后的网页资源返回客户端;
(3)否则,若在域名哈希表中查找不到匹配的CSS文件路径,则在同类网页数据库中查找同类网页的CSS文件路径,若在同类网页数据库中查找到同类网页的CSS文件路径,则直接加载该CSS文件,重新布局网页资源,并将布局调整后的网页资源返回客户端,同时将该CSS文件路径作为与所请求的网页资源相匹配的CSS文件路径写入域名哈希表,从而再请求相同的网页资源时,可直接加载CSS文件重新布局;
(4)否则,若在同类网页数据库中查找不到同类网页,则利用现有自适应技术重新布局网页资源后,将布局调整后的网页资源返回客户端,并保存CSS文件,将CSS文件路径写入域名哈希表和同类网页数据库,从而再请求相同或同类的网页资源时,可直接加载CSS文件重新布局。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在对网页资源进行自适应布局前,判断该网页是否适合移动客户端访问,具体包括:
对网页资源进行自适应布局前,判断该网页是否为适合移动客户端访问的网页资源,若是,则直接将网页资源返回客户端,否则对网页资源进行自适应布局后,将布局调整后的网页资源返回客户端。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:对保存的CSS文件定期清除及定期删除域名哈希表冗余记录,具体包括:
若保存的CSS文件在规定时间内没有被调用,则清除该CSS文件,否则每调用一次,则将计时器清零,重新计时;
若域名哈希表中某记录在规定时间内没有被查询,则清除该记录,否则每查询一次,则将计时器清零,重新计时。
4.如权利要求1或2所述的方法,其特征在于,所述步骤(2)基于客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,具体包括:
根据获取的网页url,通过Object类的hashcode()方法得到网页哈希码,即该网页url在域名哈希表中的地址,无需遍历可直接在域名哈希表中查找到该地址;
根据获取的客户端分辨率,遍历该地址下的单链表,即可查找到对应分辨率下的CSS文件路径。
5.如权利要求1或2所述的方法,其特征在于,所述步骤(3)中在同类网页数据库中查找同类网页的CSS文件路径,具体包括:
遍历同类网页数据库,将请求的网页资源的布局与存储在数据库中的网页资源的布局逐一比较,计算出两者的相似度;
判断两者的相似度是否大于设定的相似度阈值,如果大于则认为这两个网页同类,如果和多个网页资源的相似度大于阈值,则取与请求的网页资源布局相似度最大的网页资源为同类网页,得到同类网页的CSS文件路径。
6.如权利要求5所述的方法,其特征在于,所述计算两者的相似度,具体包括:
(3.1)提取两个网页资源的html树结构,记录它们的节点个数;
(3.2)比较两个树的根节点是否相同,如果不同,两个根树的相似度为零,比较结束;否则进入(3.3)步;
(3.3)统计两个根树的节点数目nA、nB,如果nA=1或nB=1,则两棵根树的相似度为2/(nA+nB),否则分别计算两个子树集合中每个子树之间的相似度,进行(3.4)步;
(3.4)以子树的节点数作为权重,计算所有子树总的参考值ref(TCA,TCB),作为计算根树相似度的参考值,其中TCA、TCB为两个子树集合;
(3.5)返回两个根树的相似度,Sim(TA,TB)=2/(nA+nB)+(nA+nB-2)/(nA+nB)+ref(TCA,TCB)。
7.一种提高网页自适应布局效率的系统,其特征在于,包括网页资源参数获取模块,域名哈希表布局模块,同类网页数据库布局模块以及自适应布局模块,其中:
所述网页资源参数获取模块,用于从目标服务器得到网页资源,获取网页资源参数,所述参数包括客户端分辨率和网页url;
所述域名哈希表布局模块,用于根据客户端分辨率和网页url在域名哈希表中查找匹配的CSS文件路径,若在域名哈希表中查找到匹配的CSS文件路径,则直接加载CSS文件,重新布局网页资源,将调整后的网页资源返回客户端;
所述同类网页数据库布局模块,用于在域名哈希表中查找不到匹配的CSS文件路径时,在同类网页数据库中查找同类网页的CSS文件路径,若在同类网页数据库中查找到同类的CSS文件路径,则直接调用同类网页的CSS文件,重新布局网页资源,将调整后的网页资源返回客户端,同时将该CSS文件路径作为与所请求的网页资源相匹配的CSS文件路径写入域名哈希表;
所述自适应布局模块,用于在同类网页数据库中查找不到同类网页的CSS文件路径时,利用现有自适应技术重新布局网页资源后,将调整后的网页资源返回客户端,并保存CSS文件,将CSS路径写入域名哈希表和同类网页数据库中。
8.如权利要求7述的系统,其特征在于,还包括判断模块,所述判断模块用于:
对网页资源进行自适应布局前,判断该网页是否为适合移动客户端访问的网页资源,若是,则直接将网页资源返回客户端,否则对网页资源进行自适应布局后,将调整后的网页资源返回客户端。
9.如权利要求7或8所述的系统,其特征在于,还包括整理模块,所述整理模块用于:
若保存的CSS文件在规定时间内没有被调用,则清除该CSS文件,否则每调用一次,则将计时器清零,重新计时;
若域名哈希表中某记录在规定时间内没有被查询,则清除该记录,否则每查询一次,则将计时器清零,重新计时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410757118.9A CN104462390B (zh) | 2014-12-10 | 2014-12-10 | 一种提高网页自适应布局效率的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410757118.9A CN104462390B (zh) | 2014-12-10 | 2014-12-10 | 一种提高网页自适应布局效率的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462390A true CN104462390A (zh) | 2015-03-25 |
CN104462390B CN104462390B (zh) | 2017-12-29 |
Family
ID=52908425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410757118.9A Expired - Fee Related CN104462390B (zh) | 2014-12-10 | 2014-12-10 | 一种提高网页自适应布局效率的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462390B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815235A (zh) * | 2015-11-27 | 2017-06-09 | 广州市动景计算机科技有限公司 | 超级网页模板生成方法、装置及页面数据传输方法 |
CN109558548A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种消除css样式冗余的方法及相关产品 |
CN109960456A (zh) * | 2019-03-12 | 2019-07-02 | 维沃移动通信有限公司 | 一种虚拟按键布局的生成方法及终端设备 |
CN110704481A (zh) * | 2018-06-25 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 展示数据的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267726A1 (en) * | 2003-06-28 | 2004-12-30 | International Business Machines Corporation | Hypertext request integrity and user experience |
US20060253594A1 (en) * | 2000-05-30 | 2006-11-09 | Alberti Anemometer Llc | Personalized multi-service computer environment |
CN102262627A (zh) * | 2010-05-24 | 2011-11-30 | 卓望数码技术(深圳)有限公司 | 一种网页分割方法和网页分割系统 |
CN103744987A (zh) * | 2014-01-20 | 2014-04-23 | 深圳市佳创视讯技术股份有限公司 | 基于dom树匹配的视频网站媒资聚合方法和系统 |
-
2014
- 2014-12-10 CN CN201410757118.9A patent/CN104462390B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253594A1 (en) * | 2000-05-30 | 2006-11-09 | Alberti Anemometer Llc | Personalized multi-service computer environment |
US20040267726A1 (en) * | 2003-06-28 | 2004-12-30 | International Business Machines Corporation | Hypertext request integrity and user experience |
CN102262627A (zh) * | 2010-05-24 | 2011-11-30 | 卓望数码技术(深圳)有限公司 | 一种网页分割方法和网页分割系统 |
CN103744987A (zh) * | 2014-01-20 | 2014-04-23 | 深圳市佳创视讯技术股份有限公司 | 基于dom树匹配的视频网站媒资聚合方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815235A (zh) * | 2015-11-27 | 2017-06-09 | 广州市动景计算机科技有限公司 | 超级网页模板生成方法、装置及页面数据传输方法 |
CN109558548A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种消除css样式冗余的方法及相关产品 |
CN110704481A (zh) * | 2018-06-25 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 展示数据的方法和装置 |
CN110704481B (zh) * | 2018-06-25 | 2024-04-05 | 北京京东尚科信息技术有限公司 | 展示数据的方法和装置 |
CN109960456A (zh) * | 2019-03-12 | 2019-07-02 | 维沃移动通信有限公司 | 一种虚拟按键布局的生成方法及终端设备 |
CN109960456B (zh) * | 2019-03-12 | 2021-06-15 | 维沃移动通信有限公司 | 一种虚拟按键布局的生成方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104462390B (zh) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831853B2 (en) | Method and device for exhibition process of network data | |
US9448999B2 (en) | Method and device to detect similar documents | |
US10389826B2 (en) | Webpage pre-reading method, apparatus and smart terminal device | |
US10515142B2 (en) | Method and apparatus for extracting webpage information | |
JP5222581B2 (ja) | 文書に注釈を付するシステムと方法 | |
WO2015172490A1 (zh) | 一种提供扩展搜索项的方法与装置 | |
US20130185429A1 (en) | Processing Store Visiting Data | |
JP2008204453A (ja) | 文書に注釈を付するシステムと方法 | |
CN103051706A (zh) | 应用于动态网站的动态网页请求处理系统和方法 | |
US20120216107A1 (en) | Characteristic content determination program, characteristic content determination device, characteristic content determination method, recording medium, content generation device, and related content insertion device | |
CN103617266A (zh) | 个性化扩展搜索方法及装置、系统 | |
CN104850546A (zh) | 移动媒介信息的展示方法和系统 | |
CN105373608A (zh) | 一种基于输入法的场景式内容推送方法及其系统 | |
CN103530339A (zh) | 移动应用信息推送方法和装置 | |
US10007731B2 (en) | Deduplication in search results | |
CN103383687A (zh) | 一种页面处理方法和装置 | |
CN104462390A (zh) | 一种提高网页自适应布局效率的方法和系统 | |
CN108334619A (zh) | 一种数据采集方法、装置、计算设备及存储介质 | |
CN101959178A (zh) | 一种用于识别无线终端的终端属性的方法与设备 | |
CN103559194A (zh) | 一种搜索方法、服务器、系统 | |
CN102360391A (zh) | 页面显示方法、装置和系统 | |
US8954438B1 (en) | Structured metadata extraction | |
CN110955855B (zh) | 一种信息拦截的方法、装置及终端 | |
CN106874368B (zh) | 一种rtb竞价广告位价值分析方法及系统 | |
CN107483565B (zh) | 一种服务后台识别方法、代理服务器及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171229 Termination date: 20181210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |