You are on page 1of 34

(19)中华人民共和国国家知识产权局

(12)发明专利
(10)授权公告号 CN 110235123 B
(45)授权公告日 2021.09.14
(21)申请号 201880009353 .4 胡子昂

(22)申请日 2018 .01 .25 (74)专利代理机构 北京中博世达专利商标代理


有限公司 11274
(65)同一申请的已公布的文献号
代理人 申健
申请公布号 CN 110235123 A
(51)Int .Cl .
(43)申请公布日 2019 .09 .13
G06F 16/958 (2019 .01)
(30)优先权数据 H04N 5/445 (2011 .01)
15/423 ,542 2017 .02 .02 US
(56)对比文件
(85)PCT国际申请进入国家阶段日 US 20120144288 A1 ,2012 .06 .07
2019 .07 .30 US 20120144288 A1 ,2012 .06 .07
(86)PCT国际申请的申请数据 CN 101980531 A ,2011 .02 .23
PCT/CN2018/074191 2018 .01 .25 CN 101382958 A ,2009 .03 .11
CN 103546498 A ,2014 .01 .29
(87)PCT国际申请的公布数据
CN 103336702 A ,2013 .10 .02
WO2018/141227 EN 2018 .08 .09
US 2014250367 A1 ,2014 .09 .04
(73)专利权人 华为技术有限公司 US 20140310395 A1 ,2014 .10 .16
地址 518129 广东省深圳市龙岗区坂田华
审查员 麻妙玲
为总部办公楼

(72)发明人 林宗芳 王军 田琛 叶寒栋 权利要求书3页 说明书17页 附图13页

(54)发明名称
针对使用选择性加载优先级的网页浏览的
内容感知节能
(57)摘要
提供了一种移动设备、计算机可读介质和方
法,用于降低网页浏览时移动设备的功耗。所述
方法包括以下步骤: 接收包括多个元件的标记语
言文档; 根据规则集为所述多个元件中的每个元
件分配优先级值; 以及基于分配给所述多个元件
中的每个元件的所述优先级值, 将与所述多个元
件相对应的呈现的内容选择性地加载到由所述
移动设备执行的应用程序的窗口中。所述规则集
包括至少两个规则, 其用于将两个或多个优先级
CN 110235123 B

值分配给所述多个元件中的至少两个元件子集。
选择性加载可以指与所述网页浏览器的渲染引
擎的默认顺序相比 , 按照不同顺序加载网页的元
件。
CN 110235123 B 权 利 要 求 书 1/3 页

1 .一种用于在移动设备上进行网页浏览的计算机实施的方法, 其特征在于, 包括:


接收包括多个元件的标记语言文档;
基于规则集为所述多个元件中的每个元件分配优先级值, 其中所述规则集包括至少两
个规则, 其用于将两个或多个优先级值分配给所述多个元件中的至少两个元件子集; 以及
根据分配给所述多个元件中的每个元件的优先级值, 将与所述多个元件相对应的呈现
的内容选择性地加载到由所述移动设备执行的应用程序的窗口中;
将与所述多个元件相对应的呈现的内容选择性地加载到所述应用程序的窗口中包括:
基于分配给所述多个元件中的每个元件的优先级值确定元件的顺序; 以及按照元件的顺序
显示与所述多个元件中的每个元件相对应的呈现的内容, 其中在按照元件的顺序显示上一
个元件之后, 以预定的延迟时间延迟显示所述元件的顺序中的下一个元件, 若所述下一个
元件相对应的呈现的内容加载到所述应用程序的窗口之前, 接收到另一标记语言文档, 则
取消加载与所述下一个元件相对应的呈现的内容;
在正常模式下操作所述移动设备的同时, 将与第一优先级值范围内的优先级值相关联
的元件加载到所述窗口中, 并且在低功耗模式下操作所述移动设备的同时, 将与第二优先
级值范围内的优先级值相关联的元件加载到所述窗口中。
2 .根据权利要求1所述的方法, 其特征在于, 所述规则集包括基于特定元件的分类将所
述优先级值分配给所述特定元件的至少一个规则。
3 .根据权利要求1或2所述的方法, 其特征在于, 所述规则集包括至少一个规则, 其基于
特定元件是否被标识为广告内容而将所述优先级值分配给所述特定元件。
4 .根据权利要求1或2所述的方法, 其特征在于, 基于与所述标记语言文档相对应的统
一资源定位符(uniform resource locator,
URL)选择所述规则集。
5 .根据权利要求1或2所述的方法, 其特征在于, 在所述低功率模式下操作所述移动设
备包括: 使用动态电压频率调整(dynamic voltage and frequency scaling,DVFS)降低所
述移动设备中的处理器的电源电压或频率、 降低与所述元件相对应的呈现的内容的分辨
率、降低显示设备的亮度级、抑制与所述标记语言文档内的低优先级元件相关联的一个或
多个线程或屏蔽所述应用程序的所述窗口内的低优先级元件中的至少一个。
6 .根据权利要求1或2所述的方法, 其特征在于, 所述多个元件中的一个或多个元件与
显示在所述应用程序的窗口中的图形用户界面元件相关联, 所述图形用户界面元件使用户
手动地将与对应元件相关联的呈现的内容加载到所述应用程序的窗口中。
7 .一种用于网页浏览的移动设备, 其特征在于, 包括:
包括指令的非瞬时存储器; 以及
与所述存储器通信的一个或多个处理器, 其中所述一个或多个处理器执行所述指令
以:
接收包括多个元件的标记语言文档;
基于规则集为所述多个元件中的每个元件分配优先级值, 其中所述规则集包括至少两
个规则, 其用于将两个或多个优先级值分配给所述多个元件中的至少两个元件子集; 以及
根据分配给所述多个元件中的每个元件的优先级值, 将与所述多个元件相对应的呈现
的内容选择性地加载到由所述移动设备执行的应用程序的窗口中;
将与所述多个元件相对应的呈现的内容选择性地加载到所述应用程序的窗口中包括:

2
CN 110235123 B 权 利 要 求 书 2/3 页

基于分配给所述多个元件中的每个元件的优先级值确定元件的顺序; 以及按照元件的顺序
显示与所述多个元件中的每个元件相对应的呈现的内容, 其中在按照元件的顺序显示上一
个元件之后, 以预定的延迟时间延迟显示所述元件的顺序中的下一个元件, 若所述下一个
元件相对应的呈现的内容加载到所述应用程序的窗口之前, 接收到另一标记语言文档, 则
取消加载与所述下一个元件相对应的呈现的内容;
在正常模式下操作所述移动设备的同时, 将与第一优先级值范围内的优先级值相关联
的元件加载到所述窗口中, 并且在低功耗模式下操作所述移动设备的同时, 将与第二优先
级值范围内的优先级值相关联的元件加载到所述窗口中。
8 .根据权利要求7所述的移动设备, 其特征在于, 所述规则集包括基于特定元件的分类
将所述优先级值分配给所述特定元件的至少一个规则。
9 .根据权利要求7或8所述的移动设备, 其特征在于, 所述规则集包括至少一个规则, 其
基于特定元件是否被标识为广告内容而将所述优先级值分配给所述特定元件。
10 .根据权利要求7或8所述的移动设备, 其特征在于, 基于与所述标记语言文档相对应
的地址选择所述规则集。
11 .根据权利要求7或8所述的移动设备, 其特征在于, 在所述低功率模式下操作所述移
动设备包括使用动态电压频率调整(dynamic voltage and frequency scaling,
DVFS)降
低所述移动设备中的处理器的电源电压或频率、 降低与所述元件相对应的呈现的内容的分
辨率、 降低显示设备的亮度级、抑制与所述标记语言文档内的低优先级元件相关联的一个
或多个线程或屏蔽所述应用程序的所述窗口内的低优先级元件中的至少一个。
12 .根据权利要求7或8所述的移动设备, 其特征在于, 所述多个元件中的一个或多个元
件与显示在所述应用程序的窗口中的图形用户界面元件相关联, 所述图形用户界面元件使
用户手动地将与对应元件相关联的呈现的内容加载到所述应用程序的窗口中。
13 .一种非瞬时性计算机可读介质, 其存储用于使用移动设备进行网页浏览的计算机
指令, 当所述指令由一个或多个处理器执行时 ,其使所述一个或多个处理器执行以下步骤:
接收包括多个元件的标记语言文档;
基于规则集为所述多个元件中的每个元件分配优先级值, 其中所述规则集包括至少两
个规则, 其用于将两个或多个优先级值分配给所述多个元件中的至少两个元件子集; 以及
根据分配给所述多个元件中的每个元件的优先级值, 将与所述多个元件相对应的呈现
的内容选择性地加载到由所述移动设备执行的应用程序的窗口中;
将与所述多个元件相对应的呈现的内容选择性地加载到所述应用程序的窗口中包括:
基于分配给所述多个元件中的每个元件的优先级值确定元件的顺序; 以及按照元件的顺序
显示与所述多个元件中的每个元件相对应的呈现的内容, 其中在按照元件的顺序显示上一
个元件之后, 以预定的延迟时间延迟显示所述元件的顺序中的下一个元件, 若所述下一个
元件相对应的呈现的内容加载到所述应用程序的窗口之前, 接收到另一标记语言文档, 则
取消加载与所述下一个元件相对应的呈现的内容; 在正常模式下操作所述移动设备的同
时,将与第一优先级值范围内的优先级值相关联的元件加载到所述窗口中, 并且在低功耗
模式下操作所述移动设备的同时, 将与第二优先级值范围内的优先级值相关联的元件加载
到所述窗口中。
14 .根据权利要求13所述的非瞬时性计算机可读介质, 其特征在于, 在所述低功率模式

3
CN 110235123 B 权 利 要 求 书 3/3 页

下操作所述移动设备包括使用动态电 压频率调整(dynamic voltage and frequency


scaling,
DVFS)降低所述移动设备中的处理器的电源电压或频率、降低与所述元件相对应
的呈现的内容的分辨率、 降低显示设备的亮度级、抑制与所述标记语言文档内的低优先级
元件相关联的一个或多个线程或屏蔽所述应用程序的所述窗口内的低优先级元件中的至
少一个。

4
CN 110235123 B 说 明 书 1/17 页

针对使用选择性加载优先级的网页浏览的内容感知节能

[0001] 相关申请案交叉申请
[0002] 本申请要求于2017年2月2日提交的、 发明名称为“针对使用选择性加载优先级的
网 页浏览的内容感知节能 (Content‑awa re energy savings for we b browsing
utilizing selective loading priority)”的美国专利申请第15/423 ,542号的优先权以
及于2018年1月25日提交的、 发明名称为“针对使用选择性加载优先级的网页浏览的内容感
知节能 (CONTENT‑AWARE ENERGY SAVINGS FOR WEB BROWSING UTILIZING SELECTIVE
LOADING PRIORITY)”的国际专利申请第PCT/CN2018/074191号的优先权, 其全部内容以引
用的方式并入本文中。

技术领域
[0003] 本发明涉及能效,
更具体地涉及与网页浏览相关联的节能方法。

背景技术
[0004] 平板电脑和智能电话等移动设备的电池容量对于消费者对该设备的满意度极其
重要。 电池的单次充电需要续航6至8小时或更长时间,以便消费者在运行时使用该设备。这
些设备的每个制造商已经投入大量的资源到实施技术中, 以减少设备的功耗,从而延长电
池的续航时间。独立的功率管理芯片可用于为设备的某些组件供电。此外, 已经实施了软件
解决方案以减少设备的功耗, 例如通过减少低功率模式下的活动线程的数量或降低显示器
的亮度。
[0005] 当今使用移动设备的方式各种各样, 但是在这些设备上使用的典型应用程序是网
页浏览应用程序。这些应用程序从服务器请求标记语言文档, 解析该标记语言文档,然后将
包括在标记语言文档中的元件呈现给移动设备显示的窗口。使用无线电收发器在无线连接
上下载如图像和视频文件之类的大文件会消耗功率; 渲染文本、图像或视频数据以产生用
于显示的像素数据; 以及使用该像素数据更新该显示器。移动设备的用户可以在一天中使
用网页浏览应用程序浏览因特网数小时, 这可以极快地耗尽设备的电池,并且可能在用户
到达设备充电的位置之前, 设备就无法运转了。因此, 需要解决与先前技术相关联的这个
和/或其它问题。

发明内容
[0006] 提供一种移动设备、计算机可读介质和方法,用于降低网页浏览时移动设备的功
耗。所述方法包括以下步骤: 接收包括多个元件的标记语言文档;根据规则集为所述多个元
件中的每个元件分配优先级值; 以及根据分配给所述多个元件中的每个元件的优先级值,
将与所述多个元件相对应的呈现的内容选择性地加载到由所述移动设备执行的应用程序
的窗口中。所述规则集包括至少两个规则, 其用于将两个或多个优先级值分配给所述多个
元件中的至少两个元件子集。选择性加载可以指与网页浏览器的渲染引擎的默认顺序相
比 ,按照不同顺序加载网页的元件。

5
CN 110235123 B 说 明 书 2/17 页

[0007] 在第一实施例中, 所述规则集包括基于特定元件的分类将所述优先级值分配给所


述特定元件的至少一个规则。所述分类可以是由所述标记语言文档中的标签标识的元件类
型、属性值和/或所述元件内的内容。
[0008] 在第二实施例中(其可与第一实施例组合或不组合) , 所述规则集包括至少一个规
则, 其基于特定元件是否被标识为广告内容而将所述优先级值分配给所述特定元件。广告
内容可以以多种方式标识, 并且可以包括但不限于标记语言文档中的元件, 如文本、
图像和
超链接, 以及包括标识为商业广告的帧序列的视频内容。
[0009] 在第三实施例中(其可以与第一和/或第二实施例组合或不组合) , 基于与所述标
记语言文档相对应的统一资源定位符(uniform resource locator, URL)来选择所述规则
集。 所述URL可用于从提供规则服务的服务器获取规则集。
[0010] 在第四实施例中(其可与第一、 第二和/或第三实施例组合或不组合) , 将与所述多
个元件相对应的呈现的内容选择性地加载到所述应用程序的窗口中包括以下步骤: 基于分
配给所述多个元件中的每个元件的优先级值确定元件的顺序; 以及按照元件的顺序显示与
所述多个元件中的每个元件相对应的呈现的内容。在按照元件的顺序显示上一个元件之
后, 以预定的延迟时间延迟显示所述元件的顺序中的下一个元件。
[0011] 在第五实施例中(其可以与第一、 第二、第三和/或第四实施例组合或不组合) , 在
正常模式下操作所述移动设备的同时, 将与第一优先级值范围内的优先级值相关联的元件
加载到所述窗口中, 并且在低功耗模式下操作所述移动设备的同时, 将与第二优先级值范
围内的优先级值相关联的元件加载到所述窗口中。
[0012] 在第六实施例中(其可以与第一、 第二、第三、第四和/或第五实施例组合或不组
合) ,在所述低功率模式下操作所述移动设备包括 :使 用动态电 压频率调整 (dynamic
voltage and frequency scaling,
DVFS)降低所述移动设备中的处理器的电源电压或频
率、 降低与所述元件相对应的呈现的内容的分辨率、 降低显示设备的亮度级、抑制与所述标
记语言文档内的低优先级元件相关联的一个或多个线程或屏蔽所述应用程序的所述窗口
内的低优先级元件中的至少一个。
[0013] 在第七实施例中(其可以与第一、 第二、第三、第四、第五和/或第六实施例组合或
不组合) , 所述多个元件中的一个或多个元件与显示在所述应用程序的窗口中的图形用户
界面元件相关联, 所述图形用户界面元件使用户手动地将与对应元件相关联的呈现的内容
加载到所述应用程序的窗口中。
[0014] 为此, 在一些可选实施例中, 前述装置、系统和/或方法的一个或多个前述特征可
以提供更有效的方式来浏览网页, 这反过来可以在降低移动设备的功耗的同时使得该功耗
用于网页浏览。 应注意, 前述潜在优点是出于说明性目的, 不应理解为任何方式的限制。

附图说明
[0015] 图1示出根据实施例的移动设备;
[0016] 图2示出根据实施例的移动设备的软件环境;
[0017] 图3A至图3C示出根据实施例的移动设备显示的网站;
[0018] 图4A示出根据实施例的分配给标记语言文档400的元件的优先级;
[0019] 图4B示出根据实施例的用于基于规则集生成修改的标记语言文档的系统;

6
CN 110235123 B 说 明 书 3/17 页

[0020] 图5A至图5D示出根据实施例,
为标记语言文档中的多个元件选择性地加载呈现的
内容;
[0021] 图6示出根据实施例的用于向多个客户端提供规则集的系统;
[0022] 图7A是根据实施例的用于降低移动设备的功耗的方法的流程图;
[0023] 图7B是根据实施例的用于将元件选择性地加载到应用程序的窗口中的方法的步
骤的流程图; 且
[0024] 图8示出其中可以实施各种先前实施例的各种架构和/或功能的示例性系统。

具体实施方式
[0025] 为了减少电子设备的功耗 ,在设计技术上花费了大量的努力。 移动设备特别受益
于这些努力, 因为降低功耗延长了电池的续航时间, 从而使得这些设备能够在需要对电池
重新充电之前使用更长的时间。用于降低功耗的解决方案可以将其至少一些关注集中在降
低显示设备的功耗上。与显示设备相关联的主要能耗是背光、液晶的有源矩阵以及以生成
用于在设备上显示的像素数据为任务的处理器。例如, 一些LED背光电视已经设计成具有位
于液晶元件阵列后面的LED阵列, 使得背光的亮度可以在与较深颜色相关联的屏幕区域中
变暗。局部区域变暗可显著降低显示装置消耗的功率。用于降低功耗的其它解决方案可着
眼于降低移动设备中的一个或多个处理器的功耗。当前的处理器设计为具有节省功率的特
征, 其使得至少一些处理器组件能够置于低功率模式下或完全关闭, 例如通过对多核处理
器的各个核进行功率门控。
[0026] 可以使用其它技术来降低移动设备消耗的功率。 这些技术的一些示例是用于移动
设备的一个或多个处理器的 动态频率频率调整 (dynamic frequency and voltage
scaling,DFVS) ,
其降低呈现的像素数据的分辨率、抑制专用于各种操作的处理能力等。然
而, 这些技术通常对装置的操作具有不利影响。例如, 为了降低处理器的工作电压, 可能需
要降低处理器的时钟频率。当在这些条件下执行某些操作时, 用户可能注意到明显的延迟。
作为另一示例, 与正常操作相比 ,降低显示设备的亮度或显示设备上呈现的图像的分辨率
可能对图像质量产生不利影响。消费者可能不接受这种通过性能降低来延长设备的电池的
续航时间的方式。然而, 消费者可能能够在某些时间(例如当电池几乎耗尽时)容忍性能的
降低。
[0027] 一种用于延长移动设备的电池的续航时间的技术可以通过选择性地加载在网页
浏览器中查看的内容来实现。选择性地加载内容可以指以可配置的、 优先级顺序来下载、 呈
现和显示标记语言文档的元件, 其中以与网页浏览器的渲染引擎的默认顺序不同的顺序来
加载内容, 或者甚至完全被阻止进行加载。内容提供商通常把网站设计成具有特定的外观
或样式。网站可以在每个标记语言文档的顶部具有导航栏, 该导航栏使得用户能够在网站
的不同页面上进行导航。导航栏可以包括网站的多个页面共有的图像和菜单选择。每个页
面可以包括不同的内容, 例如文本和/或图像部分。每个页面还可以包括嵌入的视频、广告
内容、 社交媒体元件等。通常, 查看网站的特定页面的用户对包括在标记语言文档内的小部
分元件确实感兴趣。例如, 新站点可以具有包括多篇文章的标题的主页面, 其可能与来自该
篇文章的图像相关联。当用户点击文章的特定标题时, 网页浏览应用程序获取该篇文章的
标记语言文档。标记语言文档可以包括文章的文本、与该篇文章相关的图像或视频、用户可

7
CN 110235123 B 说 明 书 4/17 页

能感兴趣的其它文章的链接、诸如横幅广告或嵌入视频的广告内容、导航栏以及包括联系
信息、 隐私策略、 版权通知等的页脚。通常, 用户主要关注文章的文本, 但也可能对其随附的
图像很感兴趣。对于广告内容、页脚信息或导航栏或可能包括在标记语言文档中的其它不
同的内容,用户可能不像对随附的图像一样感兴趣。考虑到标记语言文档是文本格式化文
件, 网页浏览应用程序必须先解析标记语言文档, 然后分别请求该标记语言文档内的可供
参考的其它内容(例如, 图像文件或视频文件)。如果用户对这条信息不感兴趣, 那么通过移
动设备进行请求、 处理和显示此类数据的消耗的能量就是浪费的能量。 因此, 在不同实施例
中, 节能技术是延迟加载不合需要的内容, 除非用户明确请求或预定时间量。 虽然这种操作
模式可以改变网站的用户体验, 但是这种技术的实施方式可以实现足够的用户控制, 使得
用户可以定制其期望的用户体验。
[0028] 图1示出根据实施例的移动设备100; 移动设备100可以是智能电话或平板电脑或
其它类型的电子设备, 包括作为主要电源的电池。如图1所示, 移动设备100包括耦合到存储
器160的片上系统(system‑on‑chip, SoC)110和显示设备180。SoC 110是在集成电路上实施
的处理器。存储器160是易失性存储器 ,例如同步动态随机存取存储器 (synchronous
dynamic random access memory,SDRAM)。操作系统、 应用程序和/或数据可在操作期间存
储在存储器160中。在一个实施例中, SoC 110可以包括叠层封装(package on package,
PoP)中配置的一个或多个离散存储器IC。
[0029] 显示设备180可以是液晶显示器(liquid crystal display, LCD)、有机发光二极
管 (organic light emitting diode ,OLED) 、主动矩阵有机发光二极体面板 (active
matrix OLED,AMOLED)等。在一个实施例中, 显示设备180例如通过包括集成到显示设备180
的层中的电容式触摸传感技术来实施触摸功能。在一些实施例中, 例如LCD显示器、显示设
备180还可包括背光和背光控制器。该背光可以是一个或多个LED, 其用于生成通过一层液
晶元件发送的漫射白光。该背光控制器可以实施为IC内的逻辑电路,用于控制LED的运作。
该背光可经由该背光控制器调整从而控制显示设备180的亮度。
[0030] 在一个实施例中 , SoC 110包括至少一个CPU 120、至少一个GPU 130、系统总线
102、 存储器管理单元(memory management unit, MMU)140和存储器接口104。该CPU120是具
有一个或多个核心的通用处理器。在一个实施例中, CPU 120是精简指令集计算机(reduced
instruction set computer,
RISC)处理器核心,
例如 Coretex处理器。
GPU 130是包
括一或多个核心的平行处理单元, 其用于以可平行化方式处理图形或其它数据。GPU 130可
由单指令流多数据流(single instruction ,multiple data,
SIMD)架构实施。在一个实施
例中,
GPU 130包括一个或多个 Mali GPU核心。
[0031] 存储器160耦合到存储器接口104, 使得可将指令和数据加载到CPU 120和/或GPU
130内的片上存储器中。MMU 140管理由SoC 110的一个或多个组件生成的存储器访问请求。
MMU 140还可以将与存储器访问请求相关联的虚拟地址转换成与存储器160中的位置相关
联的物理地址。
[0032] 移动设备100还耦合到射频收发器150、 非易失性存储设备170和电源管理集成电
路(power management integrated circuit,
PMIC)190。射频收发器150可以包括至少一个
天线和逻辑电路,用于对从移动设备100发送的或由其接收的信号进行编码或解码。例如,
移动设备100可以包括用于在一个或多个蜂窝频带上发送蜂窝信号的无线电。 或者,RF收发

8
CN 110235123 B 说 明 书 5/17 页

器150可用于通过Wi‑Fi(例如, 在2 .4GHz或5GHz频带内)发送信号。 非易失性存储设备170可


以是硬盘驱动器(hard disk drive, HDD)、固态驱动器(solid state drive, SSD)、诸如
EEPROM或CF存储(compact flash, CF)卡的闪存等。非易失性存储装置170可存储可在正常
操作期间加载到存储器160中的操作系统、 应用程序和/或数据。
[0033] PMIC 190用于执行移动设备100的电源管理操作。 在一个实施例中, PMIC 190将来
自电池195的DC电源转换成提供给SoC 110的电源电压。PMIC 190还可以用于通过调整提供
给SoC 110的电源电压的电平和/或SoC 110所使用的时钟域的频率来实施动态电压频率调
整(dynamic voltage and frequency scaling, DVFS)。PMIC 190还可以用于: 当移动设备
被插入外部电源时, 管理电池195的充电。在一些实施例中, PMIC 190集成到SoC 110中,而
不是作为单独的IC被包括在移动设备100内。
[0034] 应了解, 图1中所示的移动设备100仅是移动设备的一个示范性实施例。在不同的
实施例中, 移动设备100可以包括独立的和不同的CPU和/或GPU IC, 而不是SoC 110。在其它
实施例中, 除了或代替图1所示的组件, 移动设备100可以包括其它类型的组件。例如, 移动
设备100可以包括耦合到SoC 110的I/O端口的麦克风和/或扬声器。
[0035] 图2示出根据实施例的移动设备100的软件环境200; 移动设备100可用于将操作系
统210加载到存储器160中。操作系统210由CPU 120执行。操作系统210管理移动设备100的
各种硬件接口, 并能够使用CPU 120和/或GPU 130来执行应用程序。操作系统210可以包括
操作系统核心, 这是定义操作系统核心的指令集。该内核可以在存储器160中建立数据结
构, 使得操作系统能够同时管理多个进程。 内核还可以实施用于电源管理、调度和各种硬件
资源的操作的功能。操作系统210还可以包括实施与移动设备100的组件相关联的各种功能
的设备驱动器。例如, 可以为GPU 130安装设备驱动器, 使得CPU 120能够将各种操作卸载到
GPU 130。还可以为显示设备180、RF收发器150、非易失性存储器170、网络接口控制器
(network interface controller,NIC)、诸如键盘、 鼠标、 触摸板或触摸屏等输入设备安装
设备驱动器。
[0036] 在一个实施例中, 操作系统210将虚拟地址空间划分为内核空间和用户空间。 内核
空间是分配给操作系统核心和相关进程的虚拟地址范围, 用户空间是分配给正常进程的虚
拟地址范围。换句话说, 可以在内核空间中执行某些程序例如, 操作系统核心和经认证的设
备驱动器的同时, 在用户空间中执行其它应用程序。不允许在用户空间中执行的进程访问
内核空间中的存储器, 这防止了这些进程崩溃系统并直接访问硬件资源。然而, 运行在内核
空间中的 某些进程可以 实施可从运行在 用户空间中的 进程调用的 应 用程序编程接口
(application programming interface,API) ,
使得某些低级功能可以由运行在用户空间
中的进程以安全的方式访问。
[0037] 应用程序240存储在存储器160中, 并可由软件环境200内的CPU 120执行。在一个
实施例中, 应用程序240是网页浏览器。可以提供插件230, 其在应用程序240内添加特定功
能。在一个实施例中, 插件230是使得能够选择性地加载与标记语言文档的元件相对应的呈
现的内容以改变应用程序240的用户体验的程序。插件230可以存储在移动设备100的非易
失性存储器170中, 并且当用户选择运行应用程序240时, 加载到存储器160中。插件230用于
解析由应用程序240请求的标记语言文档, 基于规则集向标记语言文档中的每个元件分配
优先级值, 以及基于分配给每个元件的优先级值将与元件相对应的呈现的内容选择性地加

9
CN 110235123 B 说 明 书 6/17 页

载到应用程序240的窗口中。
[0038] 在又一个实施例中, 插件230用于检测包括在标记语言文档中的广告内容。广告内
容可以采用将用户重定向到商业网站的文本、 图像、 嵌入视频和超链接的形式。当广告内容
被加载到应用程序240的窗口中时, 插件可以用于在低功耗模式下操作移动设备100。低功
耗模式可以包括: 使用动态电压频率调整(dynamic voltage and frequency scaling,
DVFS)降低移动设备100中的处理器的电源电压或频率、 降低与广告元件相对应的呈现的内
容的分辨率、 降低显示设备的亮度水平、抑制与广告元件相关联的一个或多个线程, 或屏蔽
(即隐藏)应用程序的窗口内广告元件。低功率模式可以由插件230通过对用于PMIC 190、 显
示设备180的设备驱动器的API进行一次或多次调用, 或者通过对操作系统进行系统调用得
到实施。
[0039] 在另一个实施例中, 插件230用于检测何时将视频内容加载到应用程序240的窗口
中。当检测到视频内容时, 插件230可以确定视频内容是否与任何广告内容相关联。广告内
容可以包括包含在视频内容中的一个或多个视频帧, 或者在视频内容之前或直接在视频内
容之后播放的一个或多个视频帧。例如, 商业广告可以指嵌入在视频内容中的30秒剪辑, 其
包括与可能与视频内容中包括的主要主题无关的与产品或服务相关的图像。然后可以将广
告内容定义为包含在视频内容中的一个或多个商业广告(例如, 帧序列)。广告内容还可以
包括未直接包含在视频内容内的元件。例如, 广告内容可以指文本、 赞助链接、 图像、 嵌入视
频和/或在应用程序240的窗口内的视频内容旁边显示的其它元件。
[0040] 如果插件230确定视频内容与广告内容相关联, 则插件230可以使移动设备100在
视频内容的回放期间在不同的操作模式下操作。在一个实施例中, 插件230可以利用应用程
序编程接口(application programming interface,API)220,
其使得插件230能够在低功
率模式和正常模式之间改变移动设备100的操作模式。在一个实施例中 , API 220在PMIC
190的驱动器的上下文内得到实施。API 220可以包括可由在用户空间中操作的插件230调
用的一组功能。这些功能可以使操作系统210向PMIC 190发送使PMIC 190调整提供给SoC
110的电压和/或调整SoC 110的时钟域的频率的信号。 驱动器可以在内核空间中执行, 使得
API 220在用户空间中操作的插件230和由驱动器控制的PMIC 190之间提供一座桥梁。在另
一实施例中, API 220在用于显示设备180的驱动器的上下文内得到实施。API 220可以包括
用于调节显示设备180的背光的亮度的一组功能。插件230可以通过调用API 220的对应功
能来控制背光的亮度。在又一实施例中, API 220在GPU 130的驱动器的上下文内得到实施。
API 220可以使插件230能够指定呈现给显示设备180的图像的分辨率。例如, API 220可以
包括使插件230配置帧缓冲器的分辨率的功能, 该帧缓冲器被指定为从视频内容生成的像
素数据的呈现目标。 因此,可以按插件230所指定的特定分辨率来呈现视频内容。应了解, 在
一些实施例中, 可在与操作系统210相关联的多个驱动器的上下文内实施不只一个API, 以
便启用在用户空间中执行的插件230使用的不同功能。在其它实施例中, 操作系统核心本身
可以通过所定义的系统调用来实施API, 该API允许在用户空间中执行的插件230使用不同
的功能。
[0041] 在一个实施例中, API 220使插件230能够将移动设备100切换到低功率模式。低功
率模式可以包括通过例如DVFS的组合、 降低显示设备的亮度以及降低用于显示的呈现的图
像的分辨率来节能的任何步骤。当在视频内容的回放期间显示广告内容时, 插件230可以将

10
CN 110235123 B 说 明 书 7/17 页

移动设备100切换到低功率模式。
[0042] 应了解, 在一些实施例中, 应用程序240和插件230可实施为单个应用程序。例如,
插件230的功能可以在独立的网页浏览器内得到实施。在此类实施例中, 插件230不是诸如
网页浏览器之类的基本应用程序的独立扩展。
[0043] 图3A至图3C示出根据实施例的由移动设备100显示的网站。 在一个实施例中, 应用
程序240可以是用于读取包括多个元件的标记语言文档(例如, HTML文档、
XML文档等)的网
页浏览器。例如, HTML文档可以包括但不限于分部元件、 表元件、指定文本的段落元件、 指定
图像元件的源位置的镜像文件以及指定视频文件的源位置的视频文件。
[0044] 移动设备100包括执行网页浏览器应用程序240的显示设备180。 网页浏览器应用
程序240用于通过向服务器发送对由特定统一资源定位符(uniform resource locator,
URL)指定的文档的请求来检索标记语言文档。应用程序240用于从服务器接收标记语言文
档并解析该标记语言文档, 使得该标记语言文档中的每个元件可以呈现给显示设备180上
所示的窗口。呈现的内容可以包括但不限于报头、 导航栏、文本、图像内容、 视频内容和超链
接。如图3A所示, 呈现的内容包括图像内容310和图像内容320以及文本内容、报头和导航
栏。 图像内容310可以是与标记语言文档的主要主题相关的图像。相比而言, 图像内容320可
以是与广告内容相关的图像。例如, 当与图像内容310相关联的标记语言文档中的元件指定
位于与标记语言文档相同的服务器上的特定图像文件时, 与图像内容320相关联的标记语
言文档中的元件可以 指定位于服务器上的图像 ,该服务器已 知使用应用程序编程接口
(application programming interface,
API)将广告内容提供给网页。API可以提供嵌入式
代码以包括在标记语言文档的元件和相关联的脚本中。当应用程序240加载标记语言文档
时, 脚本调用服务器以便检索图像数据的源位置从而显示在网页中。因此, 每当应用程序
240加载网页时, 可动态地改变图像。
[0045] 在一个实施例中, 插件230用于区分正常图像内容310和广告图像内容320。插件
230可以将优先级值分配给标记语言文档中的不同元件, 以便指定元件的加载顺序。插件
230可以向图像内容320分配比图像内容310更低的优先级, 使得在图像内容320之前加载图
像内容310。在一个实施例中, 较低优先级与较高优先级值相对应, 而较高优先级与较低优
先级值相对应。例如, 最高优先级可以与优先级值1相关联, 最低优先级可以与优先级值9相
关联, 提供[1, 9]范围内的优先级值。如将在下文更详细地论述, 插件230可以利用规则集来
将优先级值分配给标记语言文档中的每个元件。该规则集可以包括至少一个规则, 其基于
特定元件的分类将优先级值分配给特定元件。该分类可以基于元件类型(即, 使用哪个HTML
标签来定义该元件)或分配给该元件的属性(例如, 分配给该元件的类或id属性值)。该规则
集还可以包括至少一个规则, 其基于特定元件是否被标识为广告内容而将优先级值分配给
所述特定元件。 因此, 基于该组规则, 可以向图像内容310分配与图像内容320不同的优先级
值。
[0046] 在一个实施例中, 在正常模式操作下移动设备100的同时, 将与第一优先级值范围
中的优先级值相关联的元件加载到应用程序240的窗口中, 并且在低功耗模式下操作移动
设备100的同时, 将与第二优先级值范围中的优先级值相关联的元件加载到应用程序240的
窗口中。例如, 可以将阈值设置为5, 使得在正常模式下操作移动设备100的同时, 将具有小
于(或等于)阈值的优先级值的元件加载到窗口中, 并且在低功耗模式下操作移动设备100

11
CN 110235123 B 说 明 书 8/17 页

的同时, 将具有大于(或等于)阈值的优先级值的元件加载到窗口中。在图像内容320具有低
优先级和优先级值为9的情况下, 可以以比图像内容310更低的分辨率呈现图像内容320, 该
图像内容310具有更高的优先级和优先级值为3。低功率模式还可以包括对与应用程序240
的窗口内的较低优先级元件(即, 高优先级值)相关联的线程进行节流以及对较低优先级元
件进行掩码。
[0047] 如图3B所示, 网页还可以包括视频内容330。视频内容可以嵌入网页内。视频内容
330可用于: 例如当用户点击视频内容330的范围(即, 如在应用程序的窗口中呈现的元件的
边界)时, 自动地或在由用户提示时开始回放。或者, 如图3C所示, 视频内容330可以用于在
全屏模式下回放。在一个实施例中, 插件230可以用于在视频内容330的回放期间在低功率
模式和正常模式之间切换移动设备100。每当检测到广告内容时, 例如当视频内容330的回
放达到被标识为广告内容的帧序列中的特定帧时, 发起视频内容330的回放并将其切换到
低功率模式时, 移动设备100可以在正常模式下操作。在回放广告内容期间, 移动设备100可
以在低功率模式下操作,例如通过使用由PMIC 190实施的动态电 压频率调整(dynamic
voltage and frequency scaling,DVFS)降低移动设备100中的处理器(例如SoC 110)的电
源电压或频率、 降低广告内容的呈现的帧的分辨率; 以及降低移动设备100的显示设备180
的亮度级。用于标识或检测视频内容330中的广告内容, 以及在视频回放期间将移动设备
100切换到低功率模式的技术在2017年2月xx日提交的、 发明名称为“用于移动设备上的视
频流 和回放的内容感知的能量节省 (Content‑aware Energy Savings for Video
Streaming and Playback on Mobile Devices)”的、申请号为FUWEP054美国专利申请中有
更详细的描述, 其全部内容以引用的方式并入本文中。
[0048] 应了解, 移动设备100的操作模式可以基于分配给标记语言文档的不同元件的优
先级以及生成与这些元件相对应的呈现的内容并将其加载到应用程序240的窗口中的时间
和顺序而从正常模式变为低功耗模式。当不合需要的内容被处理、呈现和加载到应用程序
的窗口中时, 此类操作可以通过各种方式减少移动设备100的功耗。另外, 通过基于分配给
每个元件的优先级来控制元件的加载顺序, 如果用户通过在将这些元件加载到应用程序
240的窗口中的时间之前导航到另一标记语言文档来取消操作, 则可以完全避免加载此类
不必要的元件。
[0049] 图4A示出根据实施例分配给标记语言文档400的元件的优先级。 标记语言文档400
是包括以分层结构排列的多个元件的文本文件。标记语言文档400可以是例如超文本标记
语言(hypertext markup language, HTML)文档、 可扩展标记语言文档(extensible markup
language document,XML),或某些其它类型的标记语言文档。在一个实施例中, 该标记语言
文档是符合HTML5标准的文本文档且包括多个HTML元件, 例如HTML元件(<html>)、
主体元件
(<body>)、分部元件(<div>)、 图像元件(<img>)等。
[0050] 在一个实施例中, 插件230用于拦截从服务器接收的作为从应用程序240发送到服
务器的请求的一部分的所有标记语言文档。插件230接收标记语言文档400并解析该标记语
言文档, 以便确定在标记语言文档400中包括哪些类型的元件。例如, 根据HTML5标准,标记
语言文档400中的每个元件由至少一个标签标识。标签是指示包括在标记语言文档400中的
元件类型的字符序列。标签标识为包含在一对尖括号中(即‘<’和‘>’)且格式为<element
[attributes]>。一些元件可以包括在元件开始处的打开标签和在元件末端处的相应闭合

12
CN 110235123 B 说 明 书 9/17 页

标签。 闭合标签格式为</element>。 因此, 标记语言文档400中的每个‘<’符号指示标记语言


文档400中开始元件的打开标签或关闭标签。
[0051] 应了解, 元件嵌套在标记语言文档400内。例如, HTML5标准定义了文档对象模型
(document object model,DOM) ,
其指定了HTML文档中元件的层级。根元件, HTML元件(<
html>)包含HTML文档的所有元件。在HTML元件内部, 诸如标题元件(<head>)、主体元件(<
body>)、页脚元件(<foot>)、 分部元件(<div>)、 段落元件(<p>)等其它元件将嵌套在根HTML
元件内。
[0052] 插件230用于解析标记语言文档并根据规则集将优先级值分配给标记语言文档中
的每个元件。在一个实施例中, 该组规则使标记语言文档中元件的每种类型或分类与特定
优先级值相关。例如, 文本/脚本元件401可以分配为优先级值1。这些元件可以包括但不限
于段落元件<p> 、标题元件 (例如<h1> 、<h2> 、<h3>等) 、引用和引用元件 (例如<q> 、<
blockquote>、<address>等)等。通常, 可以向所有文本/脚本元件401分配默认优先级值1。
将该顶层优先级分配给将在较低优先级的其它元件之前加载到应用程序的窗口中的元件。
因此, 只有较低优先级的元件将服从延迟那些元件呈现的选择性加载方案。
[0053] 如图4A所示, 规则集可以向特定元件集合分配较低优先级。例如, 可以向图像元件
402分配优先级值2、 可以向视频元件403分配优先级值3, 并且可以向广告元件404分配优先
级值4。优先级元件1至3与潜在用户兴趣元件相关联, 优先级元件4与不必要的兴趣元件相
关联。应了解, 优先级的数目和不同元件的优先级值的顺序可以在规则集内定义。因此, 每
当插件230解析图像元件<img>时, 插件230可以向该元件分配优先级值2。
[0054] 在一个实施例中, 给嵌套元件分配了分配给其父元件的最小优先级值。例如, 报头
元件<head>通常用于表示报头元件内的元件是标记语言文档400中的报头的一部分。报头
可以包括图像、文本、超链接(例如, <a>)、块元件(例如, <div>、<span>) ,
表元件(例如, <
table>、<tr>、
<th>)等等。这些元件中的一些可以与向这些元件分配优先级值1的规则相关
联。然而, 如果元件的父元件与向父元件分配高于1的优先级值的规则相关联, 则包含在父
元件内的元件被分配等于分配给父元件的优先级值的最小优先级值。因此, 如果报头元件
与向报头元件分配优先级值2的规则相关联, 则可以向报头内的所有元件分配至少2的优先
级值。考虑到标记语言文档的分层性质, 该方案确保了向嵌套元件的块分配等于或大于其
父元件的最小优先级值。
[0055] 在另一个实施例中, 相同类型的元件可分配有不同的优先级值。换句话说, 虽然元
件与特定标签相关联, 但是不同的属性可分配有不同的优先级。全球属性, 例如类或id, 可
用于区分具有不同优先级的元件。例如, 分部元件可与被分配优先级值1的分部元件相关
联。但是, 特定类的分部元件可被分配不同的优先级值。作为更具体的示例, 特定的标记语
言文档可以包括类“菜单”(即, <div class="menu")的分部元件。规则集中的一个规则可
以向所有分部元件分配默认优先级值1, 但是可以向菜单类的任何分部元件分配优先级值
2。
[0056] 在一些实施例中, 规则可以包括比基于元件类型或属性简单地分配优先级值更复
杂的规则。在一个实施例中, 规则可以基于元件的分层结构将优先级值分配给某些元件。例
如, 优先级值1可以分配给嵌套在分部元件(<div>)中的任何图像元件, 但是优先级值2可以
分配给嵌套在表格元件中的任何图像元件(<table>)。在另一个实施例中, 规则可以基于元

13
CN 110235123 B 说 明 书 10/17 页

件的内容分配优先级值。例如, 可以基于图像的大小为图像元件分配不同的优先级值。较小
的图像(例如, 小于100像素×100像素的图像)可以被分配优先级值1, 而较大的图像(例如,
大于或等于100像素×100像素的图像)可以被分配优先级值2。在这种情况下, 将从服务器
获取较小的图像、 呈现并在较大的图像之前加载。在另一种情况下, 规则可以检查作为元件
的属性而包括的任何URL。例如, 广告元件可以定义为脚本元件, 其具有设置为指定已知广
告javascript代码的特定值的源属性(src)。或者, 广告元件可定义为脚本元件, 其包括脚
本元件的打开标签和关闭标签之间的源javascript代码的特定段。例如, 插件230可以解析
脚 本 元 件 的 任 何 对 应 的 一 对 打 开 标 签 和 关 闭 标 签 之 间 的 文 本 ,以 寻 找 以 下 代 码 :
“adsbyadcompany=window .adsbyadcompany”,
这将指示脚本元件表示广告内容。应了解,
某些广告内容可被标识为其它类型的元件, 例如嵌套在链接到已知广告重定向URL的超链
接元件中的图像元件。
[0057] 图4B示出根据实施例的用于基于规则集生成修改的标记语言文档的系统。 如图4B
所示, 系统包括惰性加载引擎410, 其可以实施为插件230的模块。惰性加载引擎410是接收
作为输入的标记语言文档400并基于规则集生成作为输出的修改后的标记语言文档430的
软件模块。惰性加载引擎410使得标记语言文档400的元件能够以特定顺序被检索和呈现。
元件顺序的选择可以导致移动设备100的更有效的功耗, 从而增加移动设备100的电池的续
航时间。
[0058] 在一个实施例中, 插件230解析标记语言文档400, 并基于规则集420将优先级值分
配给标记语言文档400中的每个元件。然后, 惰性加载引擎410用于基于分配给标记语言文
档400中的多个元件的优先级值来生成修改后的标记语言文档430。为了实施元件的选择性
加载, 惰性加载引擎410可以生成修改后的标记语言文档430, 其是标记语言文档400的复
本, 具有优先级值大于或等于从修改后的的标记语言文档430中省略的特定阈值的任何元
件。修改后的标记语言文档430被发送到应用程序240, 并且修改后的标记语言文档430由应
用程序240处理以生成在应用程序240的窗口中显示的呈现的内容(即,用于显示的图像数
据)。然后, 惰性加载引擎410可以增大阈值并生成新修改的标记语言文档430, 其是标记语
言文档400的复本, 具有大于或等于已从新修改的标记语言文档430中省略的增大的阈值的
优先级值的任何元件。然后, 新修改的标记语言文档430在预定的延迟时间之后被发送到应
用程序240, 并且新修改的标记语言文档430由应用程序240处理以生成在应用程序240的窗
口中显示的呈现的内容。换句话说, 在预定的延迟时间之后更新窗口中显示的修改后的标
记语言文档430。因为阈值大于分配给标记语言文档400中的每个元件的优先级值, 所以多
次重复该过程, 每次增加阈值, 直到新修改的标记语言文档430与标记语言文档400相同。
[0059] 应了解, 仅将新修改的标记语言文档430重复地发送到应用程序240可能使得多次
重新呈现整个文档, 这可能浪费能量并分散用户注意力。 因此,在一个实施例中, 插件230用
于使用文档对象模型(document object model, DOM)仅更新在应用程序240的窗口中显示
的元件, 以改变容器元件的内容, 以便添加新可见的元件(即, 与等于阈值的优先级值相关
联的任何元件)。 因此, 新呈现的的内容可以仅显示在应用程序240的窗口中, 而不是多次呈
现修改后的标记语言文档430的整个内容。
[0060] 在另一个实施例中, 惰性加载引擎410通过将新元件插入标记语言文档来修改标
记语言文档400以生成新修改的标记语言文档430。例如, 修改后的标记语言文档430可以包

14
CN 110235123 B 说 明 书 11/17 页

括添加到标记语言文档400的新的分部元件以及对应的javascript代码。在一个实施例中,
与不同于该元件的父元件的优先级相关联的每个元件可以被包括在容器分部元件中, 该容
器分部元件包括被设置为指示子元件的优先级的特定类名的类属性。然后, 修改后的标记
语言文档430可以包括附加的javascript代码, 其将高于最高优先级的每个元件设置为隐
藏。javascript代码还可以包括javascript定时事件, 其触发新的函数以增加阈值, 然后示
出具有与等于新阈值的优先级相匹配的类名的任何元件。定时事件可以被重置多次以触发
新的元件, 该些新的元件将以阈值的每个增量被示出。定时事件可以自先前定时事件起经
过预定的延迟时间之后被触发。在该技术中, 惰性加载引擎410仅生成一个修改后的标记语
言文档430, 并且通过应用程序240对javascript代码的本地解释来简单地控制呈现的内容
的选择性加载的操作。
[0061] 图5A至图5D示出根据实施例, 为标记语言文档400中的多个元件选择性地加载呈
现的内容。标记语言文档400包括在窗口500的各个位置中呈现的多个元件。 窗口500可以包
括呈现给显示设备180的可视范围的至少一部分的像素数据, 并且窗口500可以与由移动设
备100的处理器120执行的应用程序240的至少一个实例相对应。
[0062] 如图5A所示, 窗口500的第一部分502可以包括标记语言文档400的多个元件。例
如, 标记语言文档400可以包括第一分部元件, 其包含与导航栏、文本元件、 图像、超链接等
相对应的多个元件。可以在窗口500的第一部分502中呈现第一分部元件和包含在第一分部
元件内的所有子元件。类似地, 可以在窗口500的第二部分504中呈现第二分部元件和包含
在第二分部元件内的所有子元件; 可以在窗口500的第三部分506中呈现第三分部元件以及
包含在第三分部元件内的所有子元件; 并且可以在窗口500的第四部分508中呈现第四分部
元件以及包含在第四分部元件内的所有子元件。应了解, 第三分部元件和第四分部元件可
以嵌套在横跨窗口500的宽度的第五分部元件中。
[0063] 窗口500的第一部分502包含与网站的主题相关的元件, 并且用户可能是感兴趣
的, 但是对于用户而言, 可能不是高优先级的元件。相反, 请求标记语言文档400的用户可能
主要对包括在窗口500的第三部分506中的文章感兴趣。当标记语言文档400被加载到窗口
500中时,用户可以立即向下滚动以读取包含在窗口500的第三部分506中的文章。因此, 在
窗口500的第二部分504和窗口500的第四部分508中加载内容, 明显是广告内容/不必要的
内容的内容可以延迟用户消费用户期望的内容。 因此,这有益于在加载窗口500的其它部分
的内容之前加载窗口500的第三部分506的内容。
[0064] 如图5B所示, 当修改后的标记语言文档430最初被加载到窗口500中时, 已经隐藏
了窗口500的第一部分502、第二部分504和第四部分508中的元件, 但显示了窗口500的第三
部分506中的元件。 同样, 插件230用于修改标记语言文档400以生成修改后的标记语言文档
430, 从而将针对特定元件的呈现的内容选择性地加载到窗口500中。应用程序240不再呈现
与隐藏元件相关联的内容, 从而减少了移动设备100的处理器120和/或GPU 130上的处理负
载。此外, 在隐藏元件与附加源数据相关联的情况下, 例如与多媒体元件(例如, 图像元件<
img>、 视频元件<video>、音频元件<audio>等)相关联的情况下, 插件230可延迟从服务器获
取源数据, 直到与源数据相关联的元件将被加载到窗口500中为止。例如, 窗口500的第二部
分504可以包括包含在实施横幅广告的超链接元件内的图像元件。 图像元件指定存储图像
的像素数据的源图像文件的位置。插件230可以延迟向服务器请求源镜像文件, 直到显示窗

15
CN 110235123 B 说 明 书 12/17 页

口500的第二部分504为止。基于与图像元件相关联的优先级值, 此类时间可以等于一个或
多个预定的延迟时间。
[0065] 在一个实施例中, 手动地进行选择性地加载与该多个元件相对应的呈现的内容。
更具体地, 修改后的标记语言文档430被加载到窗口500中, 如图5B所示。然而, 修改后的标
记语言文档430包括用于控制窗口500的不同部分的可见性的附加元件。例如, 修改后的标
记语言文档430可以包括在与窗口500的每个部分相对应的父分部元件上重叠(例如, 使用
子元件的位置属性)的子分部元件。每个子分部元件包含图形用户界面(graphical user
interface,GUI)元件510(即,加号或减号) ,该GUI单元510用于控制窗口500的该部分中的
对应父分部元件和父分部元件的任何子元件的可见性。父分部元件和父分部元件中的任何
子元件可以称为GUI元件510的对应元件。修改后的标记语言文档430还可以包括对GUI元件
510内任何地方的点击事件(即“点击”)做出反应的javascript代码。javascript代码可以
切换与GUI元件510相关联的窗口500的部分的可见性。
[0066] 如图5C所示, 点击GUI元件510可以改变包含在窗口500的第一部分502中的父元件
和所有子元件的可见性。如上所述, 响应于经由新的重叠GUI元件510提供的用户输入, 执行
与分配了高于阈值的优先级值的每个元件相对应的呈现的内容的选择性加载。在另一个实
施例中, 与分配了高于阈值的优先级值的每个元件相对应的呈现的内容的选择性加载可以
组合手动和自动技术, 基于递增地增加用于确定特定元件的可视性的阈值的预定的定时事
件和经由GUI元件510接收的用户输入来自动加载呈现的内容。因此, 即使使用相对较长的
预定的延迟时间, 用户也将能够通过使用GUI元件510来立即加载特定元件来超越加载优先
级。
[0067] 如图5B和5C所示, 无论元件是隐藏的还是可见的 , 元件的布局都不改变。换句话
说, 包括隐藏元件的容器可以具有与容器的大小相同的大小, 如果元件是可见的, 则将呈现
该大小。当新元件变得可见时, 窗口500中元件的相对位置将不会改变。然而, 当用户观看
时, 在窗口500内保留如此多的空间可能看起来很奇怪, 并且用户更易于对丢失的内容做出
负面反应。因此, 在另一个实施例中, 插件230可以基于分配给那些元件的优先级值来修改
被隐藏的特定元件的布局。如图5D所示, 窗口500的第二部分504和第四部分508相对于窗口
500的第一部分502和第三部分508小得多。这可以通过改变与窗口500的每个部分相关联的
父分部元件的大小来实现。在一个实施例中, 隐藏窗口500的特定部分内的所有元件可导致
窗口500的该部分完全消失。相反, 即使在窗口500的该部分的所有其它子元件都被隐藏时,
用于窗口500的该部分的父分部元件和GUI元件510也保持可见。然后可以将容器分部元件
的大小调节到某个最小宽度或最小高度, 使得GUI元件510位于窗口500的一部分中, 当窗口
500的该部分中的子元件可见时, 该部分小于窗口500的该部分。当点击GUI元件510时或当
触发定时事件以改变窗口500的该部分中的元件的可视性时, 可以使用javascript代码来
切换父分部元件的大小。
[0068] 图6示出根据实施例的用于向多个客户端提供规则集的系统600。 如图6所示, J客
户端节点602通过网络610耦合到服务器节点604。在一个实施例中, 网络610是因特网, 并且
节点经由TCP/IP协议通信。每个客户端节点602可以是移动设备100, 其包括插件230和应用
程序240。
[0069] 在一个实施例中, 可以定义控制由插件230处理的每个标记语言文档的可见性的

16
CN 110235123 B 说 明 书 13/17 页

规则集。单个规则集可以由每个用户配置, 以便使插件230的操作适应其在用户体验中的特
定品味。然而, 对于因特网上可用的此类大量不同的标记语言文档, 单个规则集必定会导致
完全不同的结果。因此, 在另一个实施例中, 集中式服务器节点604维护数据库620, 其存储
不同标记语言文档的不同规则集。当用户在应用程序240中输入用于特定标记语言文档的
URL时, 插件230可以从服务器604请求与该URL相对应的规则集。服务器604可以向数据库
620查询与该URL相对应的规则集, 并将该组规则发送到插件230, 使得对该特定标记语言文
档的选择性加载遵循特定的规则集。应了解, 在一些实施例中,服务器604是在位于不同数
据中心中的多个服务器604冗余地实施的分布式系统, 以确保由服务器604提供的规则服务
的高可用性和高可靠性。在这种实施例中, 数据库620也可以实施为具有每组规则的冗余复
本的分布式数据库。
[0070] 在许多网站中, 可以使用基本相同的布局实施不同的标记语言文档, 但是在标记
语言文档的一些元件中替换不同的内容。例如, 新闻网站可以为网站上的每篇文章生成标
记语言文档, 该文档使用具有用于该文章的不同文本内容和与每个标记语言文档中包括的
特定文章相对应的不同图像和视频内容的基本相同的布局。这些标记语言文档中的每个
URL可以从URL的相同根部分开始, 并且以不同子路径和/或文件名称结束。在其它网站中,
使用服务器侧代码动态地生成标记语言文档。可以基于使用从耦合到服务器侧代码的一个
或多个数据库检索的内容的URL生成这些文档。此类动态生成的标记语言文档可以与用于
生成标记语言文档的URL的根部分相对应的单个规则集相关联。换句话说, 可以使用规则集
来将优先级值分配给共享公共布局或设计的类似标记语言文档, 其中基于URL的根部分来
标识相似性。
[0071] URL的根部分指没有路径的域名或与标记语言文档的路径的第一部分结合的域
名。例如, 具有域名“www .genericwebsite .com”的网站可以包括定义包括在该网站中的不
同网页的多个标记语言文档。该域名产生网站的主索引页(即, 标记语言文档)。然而, 网站
本身可以包括不同的讨论论坛。每个讨论论坛与位于www .genericwebsite .com域上的特定
路径上的主页面相关联。例如, 新闻讨论论坛位于“www .genericwebsite .com/news”处,

与“/news[/index .html]”的路径相对应(括号用于表示不在文件名中结束的路径的标记语
言文档的默认文件名)。每个讨论论坛的主页面包含用户生成的讨论线程的列表, 每个讨论
线程可以包括到位于因特网上的一些其它资源的超链接以及到与该讨论线程相关的注释
链的超链接。注释链与形式为“www .genericwebsite .com/news/comments/ ...”的URL相关
联, 其中椭圆表示基于特定讨论线程的特定子路径。与新闻讨论论坛相关联的每个注释链
的 标 记 语 言 文 档 具 有 类 似 的 布 局 。因 此 ,可 以 存 储 与 具 有 U R L 的 根 部 分 匹 配
“www .genericwebsite .com/news/comments/”的任何标记语言文档相对应的规则集, 使得
用于新闻讨论论坛中的注释链的任何标记语言文档将根据一组统一的规则来处理。然而,
可以为其它讨论论坛(例如/电影, 或/比赛)定义其它规则集。 因此, 受欢迎的网站可以具有
为单个域的不同路径定义的定制规则, 以定制分配给跨越单个网站的不同标记语言文档的
不同元件的优先级。
[0072] 应了解, 许多网站被设计成与上述网站类似, 其中路径被提供作为用于基于后端
数据库生成动态网页的服务器侧代码的输入。通常, 路径的结构将确定标记语言文档的结
构布局, 使得类似的URL产生由公共服务器侧代码生成的类似的标记语言文档。可以通过定

17
CN 110235123 B 说 明 书 14/17 页

制规则集以按照不同于应用程序240解析标记语言文档时确定的默认顺序的定制顺序来加
载网页来利用该一致性。
[0073] 通过改变在应用程序240的窗口500中加载和显示元件的顺序, 插件230可以降低
移动设备100的功耗。例如, 用户可以通过点击网页浏览器中的超链接来加载特定的标记语
言文档400。插件230可以通过预定的延迟时间延迟加载标记语言文档400中的某些元件。如
果用户查看某些高优先级元件并决定标记语言文档不具有用户想要查看的信息, 则用户可
以在某些元件被加载到窗口500中之前导航到另一标记语言文档。在一些情况下, 当用户导
航到另一标记语言文档时, 将不从服务器检索数据。 降低网络带宽, 通过不使用无线电发送
和接收数据来节省功率、 图像或视频的数据不存储在存储器中、 处理器不具有解码如JPEG
格式图像文件或MPEG格式视频文件的加密图像数据的任务、 显示器在屏幕的大部分中没有
用明亮的图像刷新等等。仅通过以定制顺序选择性地加载内容, 并通过预定的时间延迟加
载特定内容或通过用户输入来实现明显的功率节省, 以防止与不必要的内容的处理相关联
的不必要的功率消耗。
[0074] 图7A是根据实施例的用于降低移动设备100的功耗的方法700的流程图。 在步骤
702, 接收包括多个元件的标记语言文档400。在一个实施例中, 应用程序240的插件230拦截
从服务器发送到应用程序240的标记语言文档400。
[0075] 在步骤704,
基于规则集为多个元件中的每个元件分配优先级值。该规则集包括至
少两个规则, 其用于将两个或多个优先级值分配给多个元件中的至少两个元件子集。在一
个实施例中, 插件230解析标记语言文档400并基于该组规则生成修改后的标记语言文档
430。给标记语言文档中的每个元件分配优先级值, 且可以将各种元件或javascript代码添
加到修改后的标记语言文档430中。
[0076] 在步骤706,
根据分配给多个元件中的每个元件的优先级值, 将与多个元件相对应
的呈现的内容选择性地加载到由移动设备100执行的应用程序240的窗口500中。在一个实
施例中, 将修改后的标记语言文档430发送到应用程序240, 并且根据应用程序240的渲染引
擎的实施方式来加载该修改后的标记语言文档430。与标记语言文档400中的相对应文件将
由应用程序240加载的顺序和时间相比 , 修改后的标记语言文档430的元件中的修改可以改
变应用程序240加载特定元件的顺序和时间。在另一个实施例中, 插件230在不同时间向应
用程序240发送多个标记语言文档, 以便以特定顺序加载标记语言文档400的不同元件。
[0077] 图7B是根据实施例的用于将元件选择性地加载到应用程序240的窗口中的方法
700的步骤706的流程图; 和在步骤752,基于分配给多个元素中的每个元素的优先级值确定
修改后的标记语言文档中的元素的顺序。在一个实施例中, 元件的顺序由应用程序240使用
修改后的标记语言文档430中的元件层级以及每个元件的可视性来确定。定时事件和/或用
户输入可以触发阈值的增加, 并且javascript代码可以基于该元件的优先级值与阈值的比
较来切换多个元件中的每个元件的可见性。如果元件的优先级值小于或等于阈值, 则该元
件是可见的。然而, 如果元件的优先级值大于阈值, 则隐藏该元件。
[0078] 在步骤754,
按照元件的顺序显示与多个元件中的每个元件相对应的呈现的内容。
在一个实施例中, 阈值被设置为最低优先级值(例如, 1)。生成修改后的标记语言文档中的
所有高优先级元件(即, 具有等于1的优先级值的元件)的呈现的内容, 并将其显示在应用程
序240的窗口500中。 阈值可以增加(例如, 通过定时事件的期满) , 这改变了具有小于或等于

18
CN 110235123 B 说 明 书 15/17 页

新阈值的优先级值的元件的可视性。然后由应用程序240生成这些元件的呈现的内容, 并将
其显示在应用程序240的窗口500中。通过在每次增加阈值时, 递增阈值并为新可见的元件
显示呈现的内容, 与多个元件中的每个元件相对应的呈现的内容以由优先级值的增加顺序
所定义的元件顺序来显示。
[0079] 图8示出其中可以实施各种先前实施例的各种架构和/或功能的示例性系统800。
如图所示, 提供了包括连接到通信总线802的至少一个处理器801的系统800。通信总线802
可以 使 用任何合适的 协议来实施 ,例如外围 部件互连标准 (peripheral component
interconnect,PCI)、PCI‑插槽、加速图形端口(accelerated graphics port,AGP)、
超传输
总线或任何其它总线或点对点通信协议。系统800还包括存储器804。控制逻辑(软件)和数
据存储在存储器804中, 该存储器804可以采用随机存取存储器(random access memory,
RAM)的形式。
[0080] 系统800还包括输入/输出(I/O)接口812和通信接口806。可以从输入设备812(例
如, 键盘、 鼠标、触摸板、麦克风等)接收用户输入。在一个实施例中, 通信接口806可耦合到
包括多个着色器模块、光栅化模块等的图形处理器(未显示)。前述模块中的每个甚至可位
于单个半导体平台上以形成图形处理单元(graphics processing unit, GPU)。
[0081] 在本说明书中, 单个半导体平台可以指单一的基于半导体的集成电路或芯片。应
注意, 术语单半导体平台也可以指具有增加的连通性的多芯片模块, 其模拟芯片上操作, 并
且相对于使用传统的中央处理单元(central processing unit, CPU)和总线实施方式进行
实质性的改进。当然, 根据用户的需要, 也可以单独地或以半导体平台的各种组合来定位各
种模块。
[0082] 系统800还可以包括辅助存储器810。该辅助存储器810包括例如硬盘驱动器和/或
可移动存储驱动器, 其表示软盘驱动器、磁带驱动器、光盘驱动器、 数字多功能盘(digital
versatile disk, DVD)驱动器、记录设备、通用串行总线(universal serial bus, USB)闪
存。可移动的存储驱动器以熟知方式从可移动的存储单元读取及/或写入到可移动的存储
单元。
[0083] 计算机程序或计算机控制逻辑算法可存储在存储器804和/或辅助存储器810中。
当执行此类计算机程序时, 其使得系统800能够执行各种功能。 内存804、 存储器810和/或任
何其它存储器是计算机可读介质的可能示例。
[0084] 在一个实施例中, 可以在处理器801、 耦合到通信接口806的图形处理器、 能够实现
处理器801和图形处理器两者的能力的至少一部分的集成电路(未示出)、 芯片组(即, 设计
为工作并作为用于执行相关功能的单元销售的一组集成电路等)和/或用于此的任何其它
集成电路的情况下实施各种前述图的架构和/或功能。
[0085] 然而, 可以在通用计算机系、 电路板系统、专用于娱乐目的的游戏控制台系统、应
用专用系统和/或任何其它所需系统的情况下实施各种前述图的架构和/或功能。例如, 系
统800可以采用台式计算机、 笔记本电脑、 服务器、 工作站、 游戏控制台、 嵌入式系统和/或任
何其它类型的逻辑电路的形式。然而, 系统800可以采用各种其它设备的形式, 包括但不限
于个人数字助理(personal digital assistant,PDA)设备、 移动电话设备、 电视等。
[0086] 此外, 尽管未示出, 但是系统800可以出于通信目的而耦合到网络(例如, 电 信网
络、局域网 (local area network ,LAN) 、无线网络、诸如因特网的广域网 (wide area

19
CN 110235123 B 说 明 书 16/17 页

network,
WAN)、对等网络、 电缆网络等)。
[0087] 在示例实施例中, 系统800包括: 文档接收模块, 其接收包括多个元件的标记语言
文档; 优先级分配模块, 其基于规则集为该多个元件中的每个元件分配优先级值, 其中该组
规则包括至少两个规则, 其用于将两个或多个优先级值分配给该多个元件中的至少两个元
件子集; 以及呈现的内容加载模块, 其根据分配给该多个元件中的每个元件的优先级值, 将
与该多个元件相对应的呈现的内容选择性地加载到由移动设备执行的应用程序的窗口中。
在一些实施例中, 系统800可以包括用于执行实施例中描述的步骤中的任一个或组合的其
它或附加模块。此外, 根据任一附图所示或根据任一权利要求所述的方法的任一附加或替
代实施例或方面也涵盖包括类似模块。
[0088] 应注意, 在一个方面中, 本文中描述的技术实施于计算机可读介质中存储的供指
令执行机器、 装置或设备使用或结合指令执行机器、 装置或设备使用的可执行指令中, 该指
令执行机器、 装置或设备例如是基于计算机或含有处理器的机器、 装置或设备。所属领域的
技术人员应了解, 对于一些实施例, 包括其它类型的计算机可读介质, 其可以存储计算机可
访问的数据, 计算机例如是盒式磁带、 快闪存储器卡、 数字视频磁盘、Bernoulli盒带、 随机
存取存储器(random access memory,
RAM)以及只读存储器(read‑only memory,ROM)等。
[0089] 如此处使用的, “计算机可读介质”包括用于存储计算机程序的可执行指令的任何
合适的介质中的一种或多种, 使得指令执行机器、系统、 装置或设备可以从该计算机可读介
质读取(或提取)指令并且执行指令以实施所描述的方法。合适的存储格式包括电子、 磁性、
光学和电磁格式中的一个或多个。常规例示性计算机可读介质的非详尽性列表包括: 便携
式计算机磁盘; RAM;
ROM;可擦除可编程只读存储器((erasable programmable read only
memory,EPROM)或快闪存储器) ; 光学存储设备, 其包括便携式压缩光盘(compact disc,
CD)、便携式数字视频光盘(digital video disc, DVD)、高清DVD(HD‑DVDTM)以及蓝光光盘
等。
[0090] 应理解, 所描述的图中示出的组件的布置是示例性的, 并且可能有其它布置。还应
理解, 由权利要求书界定的、下文描述的并且在各种框图中所说明的各种系统组件(和构
件)表示根据本文中所揭示的主题配置的一些系统中的逻辑组件。
[0091] 例如, 这些系统组件(和构件)中的一个或多个可以整体或部分地通过所描述的图
中示出的布置中示出的组件中的至少一些实现。另外, 尽管这些组件中的至少一个至少部
分地实施为电子硬件组件并因此构成机器, 但是其它组件可以实施于软件中, 当包括于执
行环境中时构成机器、 硬件或软件和硬件的组合。
[0092] 更具体地, 由权利要求书界定的至少一个组件至少部分实施为电子硬件组件, 例
如指令执行机器(例如基于处理器的或含有处理器的机器) , 和/或实施为特定电路或电路
系统(例如, 分立逻辑门, 互连以执行特定功能)。其它组件可以实施于软件、硬件或软件和
硬件的组合中。此外, 可以组合这些其它组件中的一些或全部组件, 可以完全省略一些组件
并且可以添加其它组件, 同时仍实现本文中所描述的功能。 因此, 本文中描述的主题可以许
多不同变化形式体现, 且所有此类变化形式涵盖在权利要求书的范围内。
[0093] 在以上描述中, 除非另外指明, 否则参考动作和由一个或多个设备执行的操作的
符号表示来描述主题。 因而, 应理解, 有时被称为计算机执行动作和操作的此类动作和操作
包括构造形式的数据处理器的操作。此操作会转换数据或将其维持在计算机的存储器系统

20
CN 110235123 B 说 明 书 17/17 页

中的位置处, 这会以所属领域的技术人员充分理解的方式来重新配置或以其它方式改变设
备的操作。数据在存储器的物理位置处维持为具有由数据格式界定的特定性质的数据结
构。然而, 虽然在前文背景下描述了主题, 但这并不表示对所述主题的限制, 所属领域的技
术人员将了解, 下文中描述的各种动作和操作也可以实施于硬件中。
[0094] 计算机可读非瞬时介质包括所有类型的计算机可读介质, 包括磁存储介质、光存
储介质和固态存储介质, 并且并且具体地说, 不包括信号。应当理解, 软件可以安装在移动
设备中并与移动设备一起出售。 或者,可获得该软件并将其加载到移动设备中, 包括经由磁
盘介质或从任何方式的网络或分配系统获得该软件; 包括,例如从软件创建者拥有的服务
器或从不归软件创建者拥有但其使用的服务器中获得该软件。例如, 软件可以存储在服务
器上, 用于在因特网上分发。
[0095] 为了促进对本文中描述的主题的理解, 根据动作顺序描述许多方面。由权利要求
限定的这些方面中的至少一个方面由电子硬件组件执行。例如, 将认识到,可通过专用电路
或电路系统, 通过正由一个或多个处理器执行的程序指令或通过这两者的组合执行各个动
作。本文中对任何动作顺序的描述并不意图暗示必须遵循用于执行此顺序而描述的特定次
序。 除非本文另外指出或另外明显与内容相矛盾, 否则本文所述的所有方法可以任何合适
顺序执行。
[0096] 除非本文中另外指出或明显与内容相矛盾, 否则在描述要素的情况下(尤其在以
上权利要求书的情况下)使用术语“一(a/an)”和“所述”以及类似指示物应理解为涵盖单数
和复数。 除非在本文中另外指示, 否则对本文中值范围的叙述仅意图充当个别提及属于所
述范围的每个单独值的速记方法, 且每个单独值并入本说明书中, 如同在本文中个别地叙
述一般。此外, 上述描述仅出于说明的目的, 而不是出于限制的目的, 因为寻求保护的范畴
由附属权利要求及其任何等效物来限定。 除非另外要求,否则本文中所提供的对任何和所
有示例或示例性语言(例如, “例如”)的使用仅仅是意图更好地说明主题, 而并非对主题的
范围造成限制。使用术语“基于”和其它类似短语指示在附属权利要求和书面描述中产生结
果的条件, 并不旨在排除产生该结果的其它条件。本说明书中的任何语言都不应理解为指
示实践所主张的本发明所必需的任何非主张的要素。
[0097] 本文中描述的实施例包括发明人实施所要求的主题已知的一个或多个模式。 应了
解, 在阅读上述描述之后, 那些实施例的变型对于本领域的技术人员将变得显而易见。本发
明人期望本领域的技术人员适时采用此类变化, 并且本发明人意图以不同于本文中特定描
述的其它方式来实践本发明所主张的标的物。因此, 所主张的标的物包括可适用法律所准
许的在附属权利要求中叙述的标的物的所有变化和等效物。此外, 除非本文另外指示或以
其它方式明显与上下文相矛盾, 否则本发明涵盖上文所描述的元件以其所有可能的变化形
式的任何组合。

21
CN 110235123 B 说 明 书 附 图 1/13 页

图1

22
CN 110235123 B 说 明 书 附 图 2/13 页

图2

23
CN 110235123 B 说 明 书 附 图 3/13 页

图3A

图3B

24
CN 110235123 B 说 明 书 附 图 4/13 页

图3C

图4A

25
CN 110235123 B 说 明 书 附 图 5/13 页

图4B

26
CN 110235123 B 说 明 书 附 图 6/13 页

图5A

27
CN 110235123 B 说 明 书 附 图 7/13 页

图5B

28
CN 110235123 B 说 明 书 附 图 8/13 页

图5C

29
CN 110235123 B 说 明 书 附 图 9/13 页

图5D

30
CN 110235123 B 说 明 书 附 图 10/13 页

图6

31
CN 110235123 B 说 明 书 附 图 11/13 页

图7A

32
CN 110235123 B 说 明 书 附 图 12/13 页

图7B

33
CN 110235123 B 说 明 书 附 图 13/13 页

图8

34

You might also like