CN102841901B - 一种网页显示的方法和装置 - Google Patents
一种网页显示的方法和装置 Download PDFInfo
- Publication number
- CN102841901B CN102841901B CN201110171063.XA CN201110171063A CN102841901B CN 102841901 B CN102841901 B CN 102841901B CN 201110171063 A CN201110171063 A CN 201110171063A CN 102841901 B CN102841901 B CN 102841901B
- Authority
- CN
- China
- Prior art keywords
- array
- dom tree
- compression
- internal memory
- common data
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网页显示的方法和装置,属于无线通信领域。方法包括:将下载的原始网页数据解析排版成DOM树;将所述DOM树序列化成数组,并将数组压缩后存储在内存中;当需要显示网页内容时,从内存中取出压缩后的数组;将压缩后的数组解压缩,并将解压缩后的数组反序列化成所述DOM树;通过渲染引擎将所述DOM树绘制到屏幕上。本发明将DOM树序列化并压缩后存储在内存中,当需要显示网页内容时,从内存中取出压缩后的数组,无须从缓存中获取并重新解析排版原始网页数据,避免了频繁的输入输出操作,降低了处理器资源消耗,并将解压缩后的数组反序列化成DOM树,通过渲染引擎将DOM树绘制到屏幕上,从而实现网页内容的显示,提高了浏览器的性能和用户体验。
Description
技术领域
本发明涉及无线通信领域,特别涉及一种网页显示的方法和装置。
背景技术
随着无线通信技术的发展,很多移动终端都具有上网功能。用户通过移动终端可以浏览网页,及时获取信息。但是相对于PC(Personal Computer,个人电脑)来说,移动终端,特别是低端的移动终端,很大的一个特点就是内存较低。因此,目前很多移动终端通过缓存机制显示网页,具体实现过程如下:
原始网页数据下载完成后,存储到缓存中,当需要显示网页内容时,如前进、后退或切换窗口时,从缓存中取出当前需要显示的原始网页数据,将当前需要显示的原始网页数据解析排版成DOM(Document Object Model,文档对象模型)树,通过渲染引擎将DOM树绘制到屏幕上,以实现网页内容的显示。
现有技术在每次显示的网页内容时,都需要从缓存中取出原始网页数据,输入输出操作频繁,并且后退时需要重新解析排版原始网页数据,需要消耗大量处理器资源,从而降低了浏览速度,影响用户体验。
发明内容
为了显示网页时避免频繁的输入输出操作以及降低处理器资源消耗,本发明实施例提供了一种网页显示的方法和装置。所述技术方案如下:
一种网页显示的方法,所述方法包括:
将下载的原始网页数据解析排版成文档对象模型DOM树;
将所述DOM树序列化成数组,并将数组压缩后存储在内存中;
当需要显示网页内容时,从内存中取出压缩后的数组;
将压缩后的数组解压缩,并将解压缩后的数组反序列化成所述DOM树;
通过渲染引擎将所述DOM树显示为网页;
所述将所述DOM树序列化成数组,包括:
依次序列化所述DOM树的根节点、子节点以及公共数据,并将所述DOM树的根节点、子节点以及公共数据的序列化结果依次写入顺序数据流中,将所述顺序数据流转换成数组;
所述将解压缩后的数组反序列化成所述DOM树,包括:
将解压缩后的数组转换成顺序数据流,从所述顺序数据流中依次读取并反序列化所述DOM树的根节点、子节点以及公共数据的序列化结果,得到所述DOM树的根节点、子节点以及公共数据,根据所述DOM树的根节点、子节点以及公共数据生成所述DOM树。
所述将数组压缩后存储在内存中,包括:将数组进行GZIP压缩后存储在内存中。
所述公共数据包括:焦点列表、当前焦点信息、和页面地址。
一种网页显示的装置,所述装置包括:
解析排版模块,用于将下载的原始网页数据解析排版成文档对象模型DOM树;
序列化压缩模块,用于将所述DOM树序列化成数组,并将数组压缩后存储在内存中;
获取模块,用于当需要显示网页内容时,从内存中取出压缩后的数组;
解压缩反序列化模块,用于将压缩后的数组解压缩,并将解压缩后的数组反序列化成所述DOM树;
绘制模块,用于通过渲染引擎将所述DOM树显示为网页;
所述序列化压缩模块包括:序列化单元和压缩单元,
所述序列化单元,用于依次序列化所述DOM树的根节点、子节点以及公共数据,并将所述DOM树的根节点、子节点以及公共数据的序列化结果依次写入顺序数据流中,将所述顺序数据流转换成数组;
所述解压缩反序列化模块,包括:解压缩单元和反序列化单元,
解压缩单元,用于将压缩后的数组解压缩,
反序列化单元,用于将解压缩后的数组转换成顺序数据流,从所述顺序数据流中依次读取并反序列化所述DOM树的根节点、子节点以及公共数据的序列化结果,得到所述DOM树的根节点、子节点以及公共数据,根据所述DOM树的根节点、子节点以及公共数据生成所述DOM树。
所述压缩单元,用于将数组压缩后存储在内存中;
所述压缩单元,用于将数组进行GZIP压缩后存储在内存中。
所述公共数据包括:焦点列表、当前焦点信息、和页面地址。
本发明实施例提供的技术方案带来的有益效果是:
通过将下载的原始网页数据解析排版成DOM树,将DOM树序列化并压缩后存储在内存中,降低了占用内存的存储空间,当需要显示网页内容时,从内存中取出压缩后的数组,无须从缓存中获取并重新解析排版原始网页数据,避免了频繁的输入输出操作,降低了处理器资源消耗,最后将解压缩后的数组反序列化成DOM树,通过渲染引擎将DOM树绘制到屏幕上,从而实现网页内容的显示,提高了浏览器的性能和用户体验。
附图说明
图1是本发明实施例1中提供的网页显示的方法流程图;
图2是本发明实施例2中提供的网页显示的装置结构示意图;
图3是本发明实施例2中提供的网页显示的另一装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例提供了一种网页显示的方法,包括:
101:将下载的原始网页数据解析排版成DOM树;
具体的,通过解析排版引擎将下载的原始网页数据解析排版成DOM树。
一个DOM树一般可以占据200k左右的存储空间。
102:将DOM树序列化成数组,并将数组压缩后存储在内存中;
将DOM树序列化成数组,可以采用如下方法实现:
依次序列化DOM树的根节点、子节点以及公共数据,并将DOM树的根节点、子节点以及公共数据的序列化结果依次写入顺序数据流中,将顺序数据流转换成数组。公共数据包括但不限于:焦点列表、当前焦点信息、和页面地址URL(Uniform Resource Locator,统一资源定位符)等。数组可以是字节Byte数组。
其中,将数组压缩后存储在内存中,具体可以采用压缩效率高的GZIP压缩。压缩后的DOM树一般可以占据原DOM树十分之一左右的存储空间,即20K左右,占据的存储空间很小,可以轻松地存储到内存中。
103:当需要显示网页内容时,从内存中取出压缩后的数组;
其中,需要显示网页内容时具体可以是切换窗口、前进或后退时。
104:将压缩后的数组解压缩,并将解压缩后的数组反序列化成DOM树;
将解压缩后的数组反序列化成DOM树,可以采用如下方法实现:
将解压缩后的数组转换成顺序数据流,从顺序数据流中依次读取并反序列化DOM树的根节点、子节点以及公共数据的序列化结果,得到DOM树的根节点、子节点以及公共数据,根据DOM树的根节点、子节点以及公共数据生成DOM树。
105:通过渲染引擎将DOM树绘制到屏幕上,以实现网页内容的显示。
本方案可以应用于手机QQ浏览器,并能够同时支持15个以上窗口的浏览,浏览网页时不会产生临时的RMS文件,还能够支持每个窗口后退次数达到10次,而现有技术同时浏览超过5个窗口很容易出现内存溢出情况。本方案大大提高了浏览器的性能,极大地提升了用户的体验。
本实施例将下载的原始网页数据解析排版成DOM树,将DOM树序列化并压缩后存储在内存中,降低了占用内存的存储空间,当需要显示网页内容时,从内存中取出压缩后的数组,无须从缓存中获取并重新解析排版原始网页数据,避免了频繁的输入输出操作,降低了处理器资源消耗,最后将解压缩后的数组反序列化成DOM树,通过渲染引擎将DOM树绘制到屏幕上,从而实现网页内容的显示,提高了浏览器的性能和用户体验。
实施例2
参见图2,本实施例提供了一种网页显示的装置,包括:
解析排版模块201,用于将下载的原始网页数据解析排版成文档对象模型DOM树;
序列化压缩模块202,用于将DOM树序列化成数组,并将数组压缩后存储在内存中;
获取模块203,用于当需要显示网页内容时,从内存中取出压缩后的数组;
解压缩反序列化模块204,用于将压缩后的数组解压缩,并将解压缩后的数组反序列化成DOM树;
绘制模块205,用于通过渲染引擎将DOM树绘制到屏幕上。
参见图3,序列化压缩模块202包括:序列化单元202a和压缩单元202b,
序列化单元202a,用于依次序列化DOM树的根节点、子节点以及公共数据,并将DOM树的根节点、子节点以及公共数据的序列化结果依次写入顺序数据流中,将顺序数据流转换成数组;
压缩单元202b,用于将数组压缩后存储在内存中;
压缩单元202b,具体用于将数组进行GZIP压缩后存储在内存中。
解压缩反序列化模块204,包括:解压缩单元204a和反序列化单元204b,
解压缩单元204a,用于将压缩后的数组解压缩,
反序列化单元204b,用于将解压缩后的数组转换成顺序数据流,从顺序数据流中依次读取并反序列化DOM树的根节点、子节点以及公共数据的序列化结果,得到DOM树的根节点、子节点以及公共数据,根据DOM树的根节点、子节点以及公共数据生成DOM树。
其中,公共数据包括但不限于:焦点列表、当前焦点信息、和页面地址等。
本实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例将下载的原始网页数据解析排版成DOM树,将DOM树序列化并压缩后存储在内存中,降低了占用内存的存储空间,当需要显示网页内容时,从内存中取出压缩后的数组,无须从缓存中获取并重新解析排版原始网页数据,避免了频繁的输入输出操作,降低了处理器资源消耗,最后将解压缩后的数组反序列化成DOM树,通过渲染引擎将DOM树绘制到屏幕上,从而实现网页内容的显示,提高了浏览器的性能和用户体验。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种网页显示的方法,其特征在于,所述方法包括:
将下载的原始网页数据解析排版成文档对象模型DOM树;
将所述DOM树序列化成数组,并将数组压缩后存储在内存中;
当需要显示网页内容时,从内存中取出压缩后的数组;
将压缩后的数组解压缩,并将解压缩后的数组反序列化成所述DOM树;
通过渲染引擎将所述DOM树显示为网页;
所述将所述DOM树序列化成数组,包括:
依次序列化所述DOM树的根节点、子节点以及公共数据,并将所述DOM树的根节点、子节点以及公共数据的序列化结果依次写入顺序数据流中,将所述顺序数据流转换成数组;
所述将解压缩后的数组反序列化成所述DOM树,包括:
将解压缩后的数组转换成顺序数据流,从所述顺序数据流中依次读取并反序列化所述DOM树的根节点、子节点以及公共数据的序列化结果,得到所述DOM树的根节点、子节点以及公共数据,根据所述DOM树的根节点、子节点以及公共数据生成所述DOM树。
2.根据权利要求1所述的方法,其特征在于,所述将数组压缩后存储在内存中,包括:
将数组进行GZIP压缩后存储在内存中。
3.根据权利要求1所述的方法,其特征在于,所述公共数据包括:焦点列表、当前焦点信息、和页面地址。
4.一种网页显示的装置,其特征在于,所述装置包括:
解析排版模块,用于将下载的原始网页数据解析排版成文档对象模型DOM树;
序列化压缩模块,用于将所述DOM树序列化成数组,并将数组压缩后存储在内存中;
获取模块,用于当需要显示网页内容时,从内存中取出压缩后的数组;
解压缩反序列化模块,用于将压缩后的数组解压缩,并将解压缩后的数组反序列化成所述DOM树;
绘制模块,用于通过渲染引擎将所述DOM树显示为网页;
所述序列化压缩模块包括:序列化单元和压缩单元,
所述序列化单元,用于依次序列化所述DOM树的根节点、子节点以及公共数据,并将所述DOM树的根节点、子节点以及公共数据的序列化结果依次写入顺序数据流中,将所述顺序数据流转换成数组;
所述压缩单元,用于将数组压缩后存储在内存中;
所述解压缩反序列化模块,包括:解压缩单元和反序列化单元,
解压缩单元,用于将压缩后的数组解压缩,
反序列化单元,用于将解压缩后的数组转换成顺序数据流,从所述顺序数据流中依次读取并反序列化所述DOM树的根节点、子节点以及公共数据的序列化结果,得到所述DOM树的根节点、子节点以及公共数据,根据所述DOM树的根节点、子节点以及公共数据生成所述DOM树。
5.根据权利要求4所述的装置,其特征在于,所述压缩单元,用于将数组进行GZIP压缩后存储在内存中。
6.根据权利要求4所述的装置,其特征在于,所述公共数据包括:焦点列表、当前焦点信息、和页面地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110171063.XA CN102841901B (zh) | 2011-06-23 | 2011-06-23 | 一种网页显示的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110171063.XA CN102841901B (zh) | 2011-06-23 | 2011-06-23 | 一种网页显示的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841901A CN102841901A (zh) | 2012-12-26 |
CN102841901B true CN102841901B (zh) | 2015-09-09 |
Family
ID=47369274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110171063.XA Active CN102841901B (zh) | 2011-06-23 | 2011-06-23 | 一种网页显示的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841901B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035921B (zh) * | 2013-03-04 | 2017-08-29 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN103500118B (zh) * | 2013-10-24 | 2017-01-04 | 北京奇虎科技有限公司 | 一种级联样式表优化方法和装置 |
CN103699595A (zh) * | 2013-12-11 | 2014-04-02 | 小米科技有限责任公司 | 一种终端浏览器的页面缓存方法和装置及终端 |
CN104765742B (zh) * | 2014-01-06 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 一种信息展示的方法及装置 |
US9779069B2 (en) * | 2014-01-31 | 2017-10-03 | Yahoo Holdings, Inc. | Model traversing based compressed serialization of user interaction data and communication from a client-side application |
US10339572B2 (en) | 2014-01-31 | 2019-07-02 | Oath Inc. | Tracking user interaction with a stream of content |
US9959255B2 (en) | 2014-01-31 | 2018-05-01 | Yahoo Holdings, Inc. | Dynamic streaming content provided by server and client-side tracking application |
CN105808221A (zh) * | 2014-12-31 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 一种卡片式桌面的实现方法和装置 |
CN105808277A (zh) * | 2014-12-31 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 一种卡片式桌面的实现方法、装置和系统 |
CN106055575A (zh) * | 2016-05-19 | 2016-10-26 | 天脉聚源(北京)传媒科技有限公司 | 一种网站页面优化加载的方法及装置 |
CN106250063B (zh) * | 2016-08-16 | 2019-11-29 | 广州视睿电子科技有限公司 | 一种翻页方法、装置及书写终端 |
CN108628899A (zh) * | 2017-03-23 | 2018-10-09 | 广州康昕瑞基因健康科技有限公司 | 基因突变数据库检索方法和系统 |
CN108829828B (zh) * | 2018-06-15 | 2022-01-21 | 卓米私人有限公司 | 一种网页显示方法、装置、电子设备及可读存储介质 |
CN111475760B (zh) * | 2020-04-07 | 2023-11-14 | 五八有限公司 | 一种序列化dom节点的方法、dom节点的渲染方法和装置 |
CN112068919B (zh) * | 2020-09-17 | 2024-01-30 | 北京五八信息技术有限公司 | 一种网页截屏处理方法、装置、电子设备及存储介质 |
CN112307384B (zh) * | 2020-10-21 | 2024-05-03 | 深圳市欢太科技有限公司 | 页面快照展示方法、装置、电子设备及存储介质 |
CN113283216A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 网页内容显示方法、装置、设备及存储介质 |
CN113807050B (zh) * | 2021-07-01 | 2024-04-09 | 西安华讯科技有限责任公司 | 一种基于富文本的节点截取方法、系统、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150803A (zh) * | 2007-10-24 | 2008-03-26 | 优视动景(北京)技术服务有限公司 | 微浏览器处理网络数据的方法、微浏览器及其服务器 |
CN101446983A (zh) * | 2009-01-12 | 2009-06-03 | 腾讯科技(深圳)有限公司 | 一种实现移动终端获取网页的方法、系统和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4981544B2 (ja) * | 2007-06-27 | 2012-07-25 | 富士フイルム株式会社 | 通信システム,代理サーバならびにその制御方法およびその制御プログラム |
-
2011
- 2011-06-23 CN CN201110171063.XA patent/CN102841901B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150803A (zh) * | 2007-10-24 | 2008-03-26 | 优视动景(北京)技术服务有限公司 | 微浏览器处理网络数据的方法、微浏览器及其服务器 |
CN101446983A (zh) * | 2009-01-12 | 2009-06-03 | 腾讯科技(深圳)有限公司 | 一种实现移动终端获取网页的方法、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102841901A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102841901B (zh) | 一种网页显示的方法和装置 | |
CN104380267B (zh) | 数据解压/压缩装置 | |
CN102487402B (zh) | 由服务器端实现网页渲染的方法、设备和系统 | |
US9940744B2 (en) | Remote font management | |
CN103425699B (zh) | 获取网页的方法、设备和系统 | |
CN102033917A (zh) | 移动终端的网页浏览方法及应用该方法的移动终端 | |
CN104156341A (zh) | 一种在线阅读系统与方法 | |
CN102413297A (zh) | 一种在电视机上实现网页浏览的方法及电视机 | |
JP7538948B2 (ja) | 画像処理方法及び装置、並びにコンピュータ可読記憶媒体 | |
CN103729429A (zh) | 一种基于HBase压缩方法 | |
TWI634421B (zh) | 用以存取資料之電子裝置及其資料存取方法 | |
CN102841900B (zh) | 页面处理方法和装置 | |
CN112487763A (zh) | 基于svg的ofd文件在线显示方法、服务器端及系统 | |
CN103257859A (zh) | 高性能缓存和nutz的aop技术在教育网站群的应用 | |
CN106570153A (zh) | 一种海量url的数据提取方法及系统 | |
CN102437894A (zh) | 用于对待发送信息进行压缩处理的方法、装置及设备 | |
CN101546546B (zh) | 一种网络数据转换装置及其数据转换控制方法 | |
CN103458037A (zh) | 一种在资源受限环境下提供复杂网页应用的方法和设备 | |
CN103269339B (zh) | 基于超文本传输协议的文件传输方法及系统 | |
CN102955852A (zh) | 一种网页资源处理方法、装置及设备 | |
CN106570037A (zh) | 一种数据处理方法及装置 | |
CN101997883A (zh) | 供移动终端访问的移动网站的网络结构 | |
CN101170763A (zh) | 手机浏览器用户接口的系统与装置 | |
CN103024055A (zh) | 用于移动终端的网页压缩方法、系统和云端服务器 | |
CN2779484Y (zh) | 一种通用压缩汉字库芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221124 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 2 East 403 room, SEG science and technology garden, Futian District, Guangdong, Shenzhen 518000, China Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |