首页 / 专利库 / 软件 / 可联网软件 / 互联网浏览器 / 一种处理系统功能调用请求的方法及浏览器

一种处理系统功能调用请求的方法及浏览器

阅读:36发布:2020-05-12

专利汇可以提供一种处理系统功能调用请求的方法及浏览器专利检索,专利查询,专利分析的服务。并且本 发明 的 实施例 提供一种处理系统功能调用 请求 的方法及浏览器,涉及互联网应用领域,能够减少浏览器对系统的资源占用。具体方案为:接收Web应用发出的系统功能调用请求;确定调用信息,所述调用信息包括所述浏览器处理所述系统功能调用请求所需要的至少一项系统信息;当确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息;其中,所述已缓存信息包括所述浏览器在接收所述系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息;根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果。本发明用于浏览器的开发设计。,下面是一种处理系统功能调用请求的方法及浏览器专利的具体信息内容。

1.一种处理系统功能调用请求的方法,应用于浏览器,其特征在于,包括:
接收Web应用发出的系统功能调用请求,所述系统功能调用请求用于请求所述浏览器调用系统功能,所述系统功能为所述浏览器所安装的操作系统所提供的功能;
确定调用信息,所述调用信息包括所述浏览器处理所述系统功能调用请求所需要的至少一项系统信息,所述系统信息为所述操作系统在执行所述系统功能时在系统目录下所保存的信息;
当确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息;
其中,所述已缓存信息包括所述浏览器在接收所述系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息;
根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果;
对系统信息事件进行监听,所述系统信息事件在系统信息发生变化时由操作系统触发,所述系统信息事件用于指示发生变化的系统信息;
当监听到所述系统信息事件时,通过执行系统功能调用获取变化后的系统信息;
刷新所述已缓存信息中发生变化的系统信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果之前,所述方法还包括:
当确定所述已缓存信息中不包括所述调用信息时,通过执行系统功能调用获取所述调用信息,并缓存所述调用信息。
3.根据权利要求1所述的方法,其特征在于,
通过缓存单元缓存所述已缓存信息,所述已缓存信息中的一项系统信息占用一个缓存单元;其中缓存单元包括系统信息字段;
所述当确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息,包括:
根据缓存记录确定第一缓存单元,所述缓存记录用于指示所述已缓存信息中各条系统信息所对应的缓存单元,所述第一缓存单元为缓存所述调用信息的缓存单元;
读取所述第一缓存单元的系统信息字段,获取所述调用信息。
4.根据权利要求1所述的方法,其特征在于,
通过缓存单元缓存所述已缓存信息,所述已缓存信息中的一项系统信息占用一个缓存单元;其中缓存单元包括系统信息字段和缓存失效时间字段,所述缓存失效时间的字段用于指示缓存单元所缓存的系统信息的失效时间点;
所述当确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息,包括:
根据缓存记录确定第一缓存单元;
读取所述第一缓存单元的缓存失效时间字段;
如果当前时间点在所述第一缓存单元的缓存失效时间字段所指示的失效时间点之前,读取所述第一缓存单元的系统信息字段,获取所述调用信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述浏览器通过Java Script扩展对象提供系统功能调用接口
所述接收Web应用发出的系统功能调用请求,包括:
接收所述Web应用发出的Java Script方法调用请求,所述Java Script方法调用请求用于调用Java Script对象中的方法;
所述根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果,包括:
根据所述Java Script方法调用请求以及所述调用信息,调用Java Script方法,并向所述Web应用返回被调用的Java Script方法的执行结果。
6.一种浏览器,其特征在于,包括:
接收模,用于接收Web应用发出的系统功能调用请求,所述系统功能调用请求用于请求所述浏览器调用系统功能,所述系统功能为所述浏览器所安装的操作系统所提供的功能;
处理模块,用于确定调用信息,所述调用信息包括所述浏览器处理所述系统功能调用请求所需要的至少一项系统信息,所述系统信息为所述操作系统在执行所述系统功能时在系统目录下所保存的信息;
缓存模块,用于在确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息;其中,所述已缓存信息包括所述浏览器在接收所述系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息;
响应模块,用于根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果;
所述浏览器还包括事件监听模块和调用模块;
所述事件监听模块,用于对系统信息事件进行监听,所述系统信息事件在系统信息发生变化时由操作系统触发,所述系统信息事件用于指示发生变化的系统信息;
所述调用模块,用于当所述事件监听模块监听到所述系统信息事件时,通过执行系统功能调用获取变化后的系统信息;
所述缓存模块,还用于刷新所述已缓存信息中发生变化的系统信息。
7.根据权利要求6所述的浏览器,其特征在于,所述浏览器还包括:
调用模块,用于当所述缓存模块确定所述已缓存信息中不包括所述调用信息时,通过执行系统功能调用获取所述调用信息;
所述缓存模块,还用于缓存所述调用信息。
8.根据权利要求6所述的浏览器,其特征在于,
所述缓存模块包括至少一个缓存单元,所述浏览器通过缓存单元缓存所述已缓存信息,所述已缓存信息中的一项系统信息占用一个缓存单元;其中缓存单元包括系统信息字段;
所述处理模块,具体用于根据缓存记录确定第一缓存单元,所述缓存记录用于指示所述已缓存信息中各条系统信息所对应的缓存单元,所述第一缓存单元为缓存所述调用信息的缓存单元;
所述缓存模块,还用于读取所述第一缓存单元的系统信息字段,获取所述调用信息。
9.根据权利要求6所述的浏览器,其特征在于,
所述缓存模块包括至少一个缓存单元,所述浏览器通过缓存单元缓存所述已缓存信息,所述已缓存信息中的一项系统信息占用一个缓存单元;其中缓存单元包括系统信息字段以及缓存失效时间字段,所述缓存失效时间的字段用于指示缓存单元所缓存的系统信息的失效时间点;
所述处理模块,具体用于根据缓存记录确定第一缓存单元,所述缓存记录用于指示所述已缓存信息中各条系统信息所对应的缓存单元,所述第一缓存单元为缓存所述调用信息的缓存单元;
所述缓存模块,还用于读取所述第一缓存单元的缓存失效时间字段;
所述缓存模块,还用于在当前时间点在所述第一缓存单元的缓存失效时间字段所指示的失效时间点之前时,读取所述第一缓存单元的系统信息字段,获取所述调用信息。
10.根据权利要求6-9任一项所述的浏览器,其特征在于,
所述浏览器通过Java Script扩展对象提供系统功能调用接口;
所述接收模块,具体用于接收所述Web应用发出的Java Script方法调用请求,所述Java Script方法调用请求用于调用Java Script对象中的方法;
所述响应模块,具体用于根据所述Java Script方法调用请求以及所述调用信息,调用Java Script方法,并向所述Web应用返回被调用的Java Script方法的执行结果。

说明书全文

一种处理系统功能调用请求的方法及浏览器

技术领域

[0001] 本发明涉及互联网应用领域,尤其涉及一种处理系统功能调用请求的方法及浏览器。

背景技术

[0002] 随着智能设备的普及,越来越多的家庭用户在智能设备中下载安装各种应用。Web应用使用超级文本标记语言(英文全称:Hyper Text Markup Language,英文简称:HTML)、Java Script、层叠样式表(英文全称:Cascading Style Sheets,英文简称:CSS)等开发、并基于浏览器运行,Web应用以其跨平台运行的优点受到越来越多的开发者青睐。
[0003] 浏览器作为支撑Web应用运行的平台,可以向Web应用提供系统功能接口,这样Web应用就可以通过浏览器调用系统功能。然而,如果Web应用频繁调用系统功能,同时浏览器每次都执行系统功能调用,无疑会对系统造成沉重的负担。
[0004] 现有技术中,Web应用通过浏览器调用系统功能的同时,浏览器对系统功能调用的返回结果进行缓存。当某一时刻Web应用需要再次获取同一返回结果时,就向浏览器请求进行系统功能调用,此时浏览器可以直接从缓存数据中查找到该返回结果并返回给Web应用,因而无需再次执行系统功能调用,从而减少了浏览器实际执行系统功能调用的次数,即减少了系统功能调用对系统所造成的负担。然而,发明人发现以上现有技术的方案中,只要Web应用请求不同的返回结果,浏览器就要执行系统功能调用,仍旧需要占用较多系统资源。同时,浏览器每次执行系统功能调用之后,都要对新的返回结果进行缓存,因而进行缓存操作的次数多,而且缓存数据量大,使得浏览器对缓存数据进行维护和管理所耗用系统资源也更多。

发明内容

[0005] 本发明的实施例提供一种处理系统功能调用请求的方法及浏览器,能够减少浏览器对系统的资源占用。
[0006] 为达到上述目的,本发明的实施例采用如下技术方案:
[0007] 一方面,一种处理系统功能调用请求的方法,包括:
[0008] 接收Web应用发出的系统功能调用请求,所述系统功能调用请求用于请求所述浏览器调用系统功能,所述系统功能为所述浏览器所安装的操作系统所提供的功能;
[0009] 确定调用信息,所述调用信息包括所述浏览器处理所述系统功能调用请求所需要的至少一项系统信息,所述系统信息为所述操作系统在执行所述系统功能时在系统目录下所保存的信息;
[0010] 当确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息;其中,所述已缓存信息包括所述浏览器在接收所述系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息;
[0011] 根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果。
[0012] 另一方面,一种浏览器,包括:
[0013] 接收模,用于接收Web应用发出的系统功能调用请求,所述系统功能调用请求用于请求所述浏览器调用系统功能,所述系统功能为所述浏览器所安装的操作系统所提供的功能;
[0014] 处理模块,用于确定调用信息,所述调用信息包括所述浏览器处理所述系统功能调用请求所需要的至少一项系统信息,所述系统信息为所述操作系统在执行所述系统功能时在系统目录下所保存的信息;
[0015] 缓存模块,用于在确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息;其中,所述已缓存信息包括所述浏览器在接收所述系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息;
[0016] 响应模块,用于根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果。
[0017] 本发明的实施例所提供的处理系统功能调用请求的方法及浏览器,通过对系统信息进行缓存,对应相同调用信息的多个系统功能调用请求,浏览器无需分别执行系统功能调用,从而减少了执行系统功能调用的次数。同时,对应相同调用信息的多个系统功能调用请求,当返回结果不同时,浏览器也无需对各种不同的返回结果进行缓存,从而减少了缓存次数以及缓存数据量。由于浏览器减少了执行系统功能调用的次数,同时减少了缓存次数以及缓存数据量,因而降低了对系统资源的占用。附图说明
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019] 图1为本发明的实施例一所提供的一种处理系统功能调用请求的方法流程示意图;
[0020] 图2为本发明的实施例二所提供的一种处理系统功能调用请求的方法流程示意图;
[0021] 图3为Web应用调用JavaScript对象中的方法1时获取调用信息的示意图;
[0022] 图4为本发明的实施例三所提供的一种浏览器的功能结构示意图。

具体实施方式

[0023] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 本发明的实施例提供一种处理系统功能调用请求的方法,应用于浏览器(英文全称:Web browser),浏览器作为支撑Web应用运行的平台,可以向Web应用提供系统功能接口,这样Web应用就可以通过浏览器调用系统功能。然而浏览器如果频繁执行系统功能调用会增加系统的负担,本发明目的在于如何向Web应用提供系统功能的同时,减小因为系统功能调用对系统所造成的负担。
[0025] 实施例一
[0026] 本发明的实施例提供一种处理系统功能调用请求的方法,应用于浏览器,参照图1所示,包括以下步骤:
[0027] 101、浏览器接收Web应用发出的系统功能调用请求。
[0028] Web应用可以是各种基于浏览器运行的各种应用程序,包括HTML网页、Java Script脚本等。Web应用可以在线运行,例如各种基于浏览器的网络游戏。另外,Web应用也可以离线运行,例如用户保存在本地的各种HTML文件等。
[0029] 浏览器作为支撑Web应用运行的平台,是安装于操作系统的应用程序,其硬件平台可以是个人电脑、智能手机、智能电视、电子书阅读器等,本发明对于操作系统的硬件平台不做限定。
[0030] 系统功能为浏览器所安装的操作系统向用户所提供的功能,不同硬件平台具体的系统功能可以不同,例如,智能手机中的联系人信息管理功能,智能电视中的节目列表管理功能、家长控制功能等。操作系统在具体执行各种系统功能的过程中,会在系统目录下生成、保存各种系统信息,包括各种属性信息、状态信息以及其它用途的信息。例如智能手机中的所保存的联系人信息、智能电视中的节目列表信息,用户设置的家长控制密码等等,均保存在系统目录下,供操作系统在执行相应系统功能时读写,以及作为操作系统进行某种处理时的操作数。
[0031] 浏览器向Web应用提供系统功能接口,即浏览器可以获取系统目录下的系统信息。Web应用通过向浏览器发送系统功能调用请求,请求浏览器调用某种系统功能,即请求浏览器从系统目录获取系统信息,并以系统信息为操作数进行处理,最终向Web应用返回处理结果。
[0032] 102、确定调用信息,调用信息包括浏览器处理系统功能调用请求所需要的至少一项系统信息。
[0033] 以电子书阅读器的账户管理功能为例进行说明,电子书内容供应商的服务器向用户开放图书信息的数据库,Web应用以HTML网页形式向用户提供数据库中的内容,用户可以通过访问该服务器购买电子书,使用其提供的备份、阅读进度记录等功能。用户可以创建多个用户账户,例如每个家庭成员都有一个自己的用户账户,通过各自的用户账户独立管理各自的电子书内容。
[0034] 浏览器向Web应用提供获取用户账户信息的功能接口,以及获取每个用户账户下电子书目录的功能接口。Web应用向浏览器发送系统功能调用请求,请求获取不同用户账号对应的电子书目录,从而Web应用可以针对当前登录的用户账号,根据用户最近阅读的图书,进行图书推荐、服务器备份内容调阅等。在这种情况下,浏览器接收到调用请求之后,确定当前登录的用户账号名、该账号对应的电子书目录以及用户的阅读记录三项系统信息为调用信息。
[0035] 103、当确定已缓存信息中包括调用信息时,从已缓存信息中获取调用信息。
[0036] 在一种具体的应用场景中,浏览器接收到系统功能调用请求之后,确定调用信息,并判断已缓存信息中是否已经包括调用信息。
[0037] 如果此时浏览器还没有任何缓存的系统信息,或者已缓存信息中不包括调用信息,则执行系统功能调用,从系统获取调用信息,并缓存调用信息。如果已缓存信息中包括调用信息,则从已缓存信息中获取调用信息,而无需执行系统功能调用。
[0038] 当浏览器接收到系统功能调用请求时,已缓存信息包括浏览器在接收到该系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息。
[0039] 104、根据系统功能调用请求以及调用信息向Web应用返回调用结果。
[0040] 调用信息是浏览器处理系统功能调用请求所需要的系统信息,浏览器从已缓存信息获取调用信息后,对系统功能调用请求进行处理并返回调用结果。
[0041] 结合上述关于电子书阅读器的举例,浏览器通过读取已缓存信息或者通过执行系统功能调用获取调用信息(当前登录的用户账号名、该账号对应的电子书目录以及用户的阅读记录三项系统信息)后,根据预设的逻辑条件(阅读时间总计或者阅读频率等)从该账号对应的电子书目录中选择出其中的M条记录(一条记录对应电子书目录中的一本书),将这M条记录作为调用结果向Web应用返回。
[0042] 当然,本发明的实施例所提供的处理系统功能调用请求的方法,并不限于电子书阅读器这一种具体的硬件平台,以智能电视为例,用户可以通过Web应用查询视频内容提供商根据用户的播放记录确定的推荐节目目录,在智能电视设置家长控制功能的应用场景中,当Web应用请求获取某个设置了访问密码的频道的播放记录时,需要经过密码验证。则浏览器可以从系统信息中获取用户设置的原始密码,并对用户在Web应用界面输入的密码进行验证,并将验证结果作为调用结果向Web应用返回。
[0043] 需要说明的是,同一Web应用或者不同Web应用可以向浏览器发送多个系统功能调用请求,只要处理这些系统功能调用请求所需要的系统信息相同,即这些系统功能调用请求所对应的调用信息相同,浏览器就无需执行系统功能调用,而只需从已缓存信息中获取需要的系统信息,最终返回调用结果。
[0044] 进一步地,针对多个系统功能调用请求返回的调用结果可以相同,也可以不同,取决于系统功能调用请求具体所请求的内容。例如,在一种具体的应用场景中,浏览器安装于智能电视中,智能电视的系统目录中保存有本地节目列表,该列表包括若干页。当浏览器接收到第一个系统功能调用请求,请求获取第一页节目列表时,浏览器获取并缓存完整节目列表,并根据系统功能调用请求返回第一页节目列表。在浏览器缓存完整节目列表之后,当浏览器接收到第二个系统功能调用请求,请求获取第二页节目列表时,浏览器根据第二个系统功能调用请求确定的调用信息节目列表,因此浏览器只需从缓存中获取完整节目列表,并根据第二个系统功能调用请求返回第二页节目列表。如此,第一个系统功能调用请求和第二个系统功能调用请求对应的调用信息均为完整节目列表,然而由于两个系统功能调用请求所具体请求的内容不同,因而返回的调用结果并不相同。如果两个系统功能调用请求所具体请求的内容相同,例如请求获取同一页节目列表,或者请求获取完整节目列表,则返回的调用结果相同,只是浏览器在接收到后续的相同请求之后,无需执行系统功能调用。
[0045] 现有技术中,浏览器对调用返回结果进行缓存,返回结果不同则分开缓存。以浏览器当前已缓存的信息为空的情况为例,当浏览器接收到第一个系统功能调用请求时,浏览器执行系统功能调用,返回并缓存第一页节目列表。当浏览器接收到第二个系统功能调用请求时,再次执行系统功能调用,返回并缓存第二页节目列表。如果浏览器接收到第三个系统功能调用请求,再次请求获取第一页节目列表时,浏览器将缓存的第一页节目列表作为返回结果,无需执行系统功能调用。
[0046] 通过以上比较可知,现有技术中,只要Web应用所请求的返回结果不同,浏览器就要执行系统功能调用,浏览器每次执行系统功能调用之后,都要对新的返回结果进行缓存,因而执行系统功能调用的次数多,进行缓存操作的次数多,而且缓存数据量大,使得浏览器对缓存数据进行维护和管理所耗用系统资源也更多。本发明的实施例中浏览器对系统信息进行缓存,对应相同调用信息的多个系统功能调用请求,浏览器无需分别执行系统功能调用,从而减少了执行系统功能调用的次数。同时,对应相同调用信息的多个系统功能调用请求,当返回结果不同时,浏览器也无需对各种不同的返回结果进行缓存,从而减少了缓存次数以及缓存数据量。
[0047] 本发明的实施例所提供的处理系统功能调用请求的方法,浏览器通过接收Web应用发出的系统功能调用请求,确定调用信息,调用信息包括浏览器处理系统功能调用请求所需要的至少一项系统信息,当确定已缓存信息中包括调用信息时,从已缓存信息中获取调用信息,根据系统功能调用请求以及调用信息向Web应用返回调用结果。由于浏览器减少了执行系统功能调用的次数,同时减少了缓存次数以及缓存数据量,因而降低了对系统资源的占用。
[0048] 实施例二
[0049] 基于图1对应的实施例,本发明实施例二提供一种处理系统功能调用请求的方法,应用于浏览器,参照图1所示,包括以下步骤,其中部分步骤与实施例一中对应的步骤相同,因此实施例二中不再赘述。
[0050] 201、浏览器接收Web应用发出的系统功能调用请求。
[0051] 浏览器作为支撑Web应用运行的平台,可以向Web应用提供系统功能接口,这样Web应用就可以通过浏览器调用系统功能。例如,在一种具体的应用场景中,浏览器通过Java Script扩展对象提供系统功能调用接口,此时,Web应用发出的系统功能调用请求具体可以是Java Script方法调用请求。其中,Java Script方法调用请求用于调用Java Script对象中的方法(英文名称:Method)。Web应用通过调用JavaScript对象中的方法,就可以完成系统功能调用。
[0052] 202、确定调用信息,调用信息包括浏览器处理系统功能调用请求所需要的至少一项系统信息。
[0053] 可选的,浏览器安装于智能电视中,智能电视的系统目录中保存有本地节目列表,该列表包括若干页。以Web应用获取本地节目列表为例,当Web应用通过Java Script方法调用请求向浏览器请求获取本地节目列表的某一页内容时,浏览器解析Java Script方法调用请求之后,确定本地节目列表为调用信息。
[0054] 203、当确定已缓存信息中不包括调用信息时,通过执行系统功能调用获取调用信息,并缓存调用信息。
[0055] 浏览器接收到系统功能调用请求之后,确定调用信息,并判断已缓存信息中是否已经包括调用信息。其中,已缓存信息包括浏览器在接收系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息。
[0056] 如果此时浏览器还没有任何缓存的系统信息,或者已缓存信息中不包括调用信息,则执行系统功能调用,从系统获取调用信息,并缓存调用信息。具体的,浏览器通过缓存单元缓存已缓存信息。已缓存信息包括至少一项系统信息,其中每一项系统信息占用一个缓存单元,结合步骤202,调用信息为本地节目列表,则将本地节目列表作为一项系统信息缓存在一个缓存单元中。
[0057] 204、当确定已缓存信息中包括调用信息时,从已缓存信息中获取调用信息。
[0058] 浏览器可以根据缓存记录对缓存单元进行管理,缓存记录用于指示已缓存信息中各条系统信息所对应的缓存单元。具体地,浏览器为各个缓存单元分配不同的标识信息(英文全称:identification,英文简称:ID),并对每项系统信息命名,在缓存记录中将已缓存信息中各项系统信息所缓存的缓存单元ID记录下来。已缓存信息中的一项系统信息占用一个缓存单元。当浏览器需要从已缓存信息中获取某一项系统信息时,在缓存记录中查找到该项系统信息对应的缓存单元ID,然后从缓存单元中读取该项系统信息。
[0059] 缓存单元可以分为不同字段,其中包括系统信息字段,用于缓存系统信息。可选的,缓存单元还可以包括命名字段,用于缓存系统信息名称。针对一项系统信息,其在缓存单元中的名称与其在缓存记录中的名称一一对应或者相同。
[0060] 在一种具体的应用场景中,浏览器在确定调用信息之后,查询缓存记录,确定缓存调用信息的缓存单元为第一缓存单元,然后读取第一缓存单元的系统信息字段,获取调用信息。
[0061] 可选的,缓存单元还包括缓存失效时间字段,用于指示缓存单元所缓存的系统信息的失效时间点。以第一缓存单元为例,浏览器在将一项系统信息存入第一缓存单元时,为失效时间字段赋值,该值用于指示失效时间点。在失效时间点之后,第一缓存单元所缓存的系统信息失效,不能再作为调用信息。失效时间字段的赋值可以为中央处理器(英文全称:Central Processing Unit,英文简称:CPU)当前时钟与有效时间长度之和。需要说明的是,第一缓存单元缓存不同系统信息时,对应的有效时间长度可以不同。
[0062] 进一步可选的,在一种具体的应用场景中,缓存单元的结构如表一所示:
[0063]命名字段 创建时间字段 失效时间字段 系统信息字段
[0064] 表一
[0065] 缓存单元还包括缓存创建时间字段,用于指示向缓存单元存于系统信息时的当前时间。浏览器在确定调用信息之后,查询缓存记录,确定缓存调用信息的缓存单元为第一缓存单元,然后读取第一缓存单元的缓存失效时间字段,如果当前时间点在第一缓存单元的缓存失效时间字段所指示的失效时间点之前,读取第一缓存单元的系统信息字段,获取调用信息。
[0066] 需要说明的是,调用信息可以包括至少一项系统信息。例如,结合图3所示,已缓存信息包括三项系统信息,其中每一项系统信息占用一个缓存单元,三个缓存单元分别为缓存单元ID_1、缓存单元ID_2以及缓存单元ID_3。Web应用调用JavaScript对象中的方法1时,浏览器只从缓存单元ID_1获取调用信息。Web应用调用JavaScript对象中的方法2时,浏览器从缓存单元ID_1和缓存单元ID_2获取两项系统信息作为调用信息。对于后续的Java Script方法调用请求,不论是单独调用以上三项系统信息中的任一项,还是三项系统信息均调用,都可以从已缓存信息中获取。若已缓存信息包括调用信息中的部分系统信息,那么只需要通过执行系统功能调用,获取并缓存调用信息中的另一部分系统信息即可。
[0067] 205、根据系统功能调用请求以及调用信息向Web应用返回调用结果。
[0068] 本发明的实施例中,对系统信息进行缓存,同一Web应用或者不同Web应用可以向浏览器发送多个系统功能调用请求,只要这些系统功能调用请求所对应的调用信息相同,浏览器就无需执行系统功能调用,而只需从已缓存信息中获取需要的系统信息,最终返回调用结果。以浏览器当前已缓存的信息为空的情况为例,Web应用前后两次调用JavaScript对象中的方法1,两次调用的入参不同,则浏览器根据不同的入参向Web应用返回方法1的不同执行结果。然而两次调用所对应的调用信息相同,因此浏览器只需在第一次调用时执行系统功能调用以及缓存调用信息。其中,入参是指Web应用根据业务需求针对某一项系统信息所设定的限制条件。例如,Web应用请求获取本地节目列表中的部分内容,Web应用在系统功能调用请求中设定入参,指定获取本地节目列表中的前10项。则浏览器根据系统功能调用请求确定调用信息为本地节目列表,并根据入参解析调用信息,获取本地节目列表中的前10项作为调用结果。
[0069] 现有技术中,浏览器对调用返回结果进行缓存,返回结果不同则分开缓存。以浏览器当前已缓存的信息为空的情况为例,Web应用前后两次调用JavaScript对象中的方法1,两次调用的入参不同,则Web应用第一次调用时,浏览器执行系统功能调用,并缓存第一次调用返回结果。Web应用第二次调用时,由于入参不同,浏览器需要再次执行系统功能调用,并缓存第二次调用返回结果。
[0070] 通过以上比较可知,现有技术中,只要Web应用所请求的返回结果不同,浏览器就要执行系统功能调用,浏览器每次执行系统功能调用之后,都要对新的返回结果进行缓存,因而执行系统功能调用的次数多,进行缓存操作的次数多,而且缓存数据量大,使得浏览器对缓存数据进行维护和管理所耗用系统资源也更多。本发明的实施例中浏览器对系统信息进行缓存,对应相同调用信息的多个系统功能调用请求,浏览器无需分别执行系统功能调用,从而减少了执行系统功能调用的次数。同时,对应相同调用信息的多个系统功能调用请求,当返回结果不同时,浏览器也无需对各种不同的返回结果进行缓存,从而减少了缓存次数以及缓存数据量。
[0071] 206、浏览器对系统信息事件进行监听,系统信息事件在系统信息发生变化时由操作系统触发。
[0072] 其中,操作系统为安装了本发明的实施例中所描述的浏览器的操作系统。在浏览器缓存了一项系统信息之后,如果该项系统信息发生变化,则会出现已缓存信息与实际的系统信息不一致的情况。因此在系统信息发生变化时,系统触发系统信息事件。其中,系统信息事件用于指示发生变化的系统信息。可选的,系统信息事件可以携带发生变化的系统信息的名称。
[0073] 207、当浏览器监听到系统信息事件时,通过执行系统功能调用获取变化后的系统信息。
[0074] 浏览器监听到系统信息事件时,确定是哪一项系统信息发生了变化,如果该项系统信息的名称被记录在缓存记录中,执行系统功能调用,获取变化后的系统信息。
[0075] 208、刷新已缓存信息中发生变化的系统信息。
[0076] 在获取变化后的系统信息之后,根据缓存记录确定缓存变化前的系统信息的缓存单元,在该缓存单元的系统信息字段写入变化后的系统信息,同时更新创建时间字段和失效时间字段。
[0077] 本发明的实施例所提供的处理系统功能调用请求的方法,浏览器通过接收Web应用发出的系统功能调用请求,确定调用信息,调用信息包括浏览器处理系统功能调用请求所需要的至少一项系统信息,当确定已缓存信息中不包括调用信息时,通过执行系统功能调用获取调用信息,并缓存调用信息,当确定已缓存信息中包括调用信息时,从已缓存信息中获取调用信息,根据系统功能调用请求以及调用信息向Web应用返回调用结果。另外,浏览器对系统信息事件进行监听,系统信息事件在系统信息发生变化时由操作系统触发,当浏览器监听到系统信息事件时,通过执行系统功能调用获取变化后的系统信息,并刷新已缓存信息中发生变化的系统信息,从而在系统信息发生变化时,对已缓存系统新进行刷新。由于浏览器减少了执行系统功能调用的次数,同时减少了缓存次数以及缓存数据量,因而降低了对系统资源的占用。
[0078] 实施例三
[0079] 本发明的实施例三提供一种浏览器,用于执行实施例一以及实施例二中浏览器所完成的功能,参照图3所示,浏览器40包括:
[0080] 接收模块401,用于接收Web应用发出的系统功能调用请求,系统功能调用请求用于请求浏览器调用系统功能,系统功能为浏览器所安装的操作系统所提供的功能。
[0081] 处理模块402,用于确定调用信息,调用信息包括浏览器40处理系统功能调用请求所需要的至少一项系统信息,系统信息为操作系统在执行系统功能时在系统目录下所保存的信息。
[0082] 缓存模块403,用于在确定已缓存信息中包括调用信息时,从已缓存信息中获取调用信息。其中,已缓存信息包括浏览器40在接收系统功能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息。
[0083] 响应模块404,用于根据系统功能调用请求以及调用信息向Web应用返回调用结果。
[0084] 可选的,浏览器40还包括调用模块405,用于当缓存模块403确定已缓存信息中不包括调用信息时,通过执行系统功能调用获取调用信息,
[0085] 缓存模块403,还用于缓存调用信息。
[0086] 可选的,浏览器40还包括事件监听模块406和调用模块405,
[0087] 事件监听模块406,用于对系统信息事件进行监听,系统信息事件在系统信息发生变化时由操作系统触发,系统信息事件用于指示发生变化的系统信息。
[0088] 调用模块405,用于当事件监听模块406监听到系统信息事件时,通过执行系统功能调用获取变化后的系统信息。
[0089] 缓存模块403,还用于刷新已缓存信息中发生变化的系统信息。
[0090] 可选的,缓存模块403包括至少一个缓存单元,浏览器40通过缓存单元缓存已缓存信息,已缓存信息中的一项系统信息占用一个缓存单元。其中缓存单元包括系统信息字段。
[0091] 处理模块402,具体用于根据缓存记录确定第一缓存单元,缓存记录用于指示已缓存信息中各条系统信息所对应的缓存单元,第一缓存单元为缓存调用信息的缓存单元。
[0092] 缓存模块403,还用于读取第一缓存单元的系统信息字段,获取调用信息。
[0093] 可选的,缓存单元还包括缓存失效时间字段,用于指示缓存单元所缓存的系统信息的失效时间点。
[0094] 缓存模块403,还用于读取第一缓存单元的缓存失效时间字段。
[0095] 缓存模块403,还用于在当前时间点在第一缓存单元的缓存失效时间字段所指示的失效时间点之前时,读取第一缓存单元的系统信息字段,获取调用信息。
[0096] 可选的,浏览器40通过Java Script扩展对象提供系统功能调用接口。
[0097] 接收模块401,具体用于接收Web应用发出的Java Script方法调用请求,Java Script方法调用请求用于调用Java Script扩展对象中的方法。
[0098] 响应模块404,具体用于根据调用信息向Web应用返回被调用的方法的执行结果。
[0099] 本发明的实施例所提供的处理系统功能调用请求的浏览器,通过接收Web应用发出的系统功能调用请求,确定调用信息,所述调用信息包括所述浏览器处理所述系统功能调用请求所需要的至少一项系统信息,当确定已缓存信息中包括所述调用信息时,从所述已缓存信息中获取所述调用信息,根据所述系统功能调用请求以及所述调用信息向所述Web应用返回调用结果。由于浏览器减少了执行系统功能调用的次数,同时减少了缓存次数以及缓存数据量,因而降低了对系统资源的占用。
[0100] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能缓存在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机缓存介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。缓存介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机缓存器(英文全称:Random Access Memory,英文简称:RAM)、只读缓存器(英文全称:Read Only Memory,英文简称:ROM)、电可擦可编程只读缓存器(英文全称:Electrically Erasable Programmable Read Only Memory,英文简称:EEPROM)、只读光盘(英文全称:Compact Disc Read Only Memory,英文简称:CD-ROM)或其他光盘缓存、磁盘缓存介质或者其他磁缓存设备、或者能够用于携带或缓存具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户专线(英文全称:Digital Subscriber Line,英文简称:DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘和碟包括压缩光碟(英文全称:Compact Disc,英文简称:CD)、激光碟、光碟、数字通用光碟(英文全称:Digital Versatile Disc,英文简称:DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
[0101] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈