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

文档序号:9489322阅读:来源:国知局
已缓存信息包括浏览器在接收到该系统功 能调用请求之前,通过执行系统功能调用获取并缓存的至少一项系统信息。
[0039] 104、根据系统功能调用请求以及调用信息向Web应用返回调用结果。
[0040] 调用信息是浏览器处理系统功能调用请求所需要的系统信息,浏览器从已缓存信 息获取调用信息后,对系统功能调用请求进行处理并返回调用结果。
[0041] 结合上述关于电子书阅读器的举例,浏览器通过读取已缓存信息或者通过执行系 统功能调用获取调用信息(当前登录的用户账号名、该账号对应的电子书目录以及用户的 阅读记录三项系统信息)后,根据预设的逻辑条件(阅读时间总计或者阅读频率等)从该 账号对应的电子书目录中选择出其中的Μ条记录(一条记录对应电子书目录中的一本书), 将这Μ条记录作为调用结果向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应用就可以通过浏览器调用系统功能。例如,在一种具体的应用场景中,浏览器通过 JavaScript扩展对象提供系统功能调用接口,此时,Web应用发出的系统功能调用请求具 体可以是JavaScript方法调用请求。其中,JavaScript方法调用请求用于调用Java Script对象中的方法(英文名称:Method)。Web应用通过调用JavaScript对象中的方法, 就可以完成系统功能调用。
[0052] 202、确定调用信息,调用信息包括浏览器处理系统功能调用请求所需要的至少一 项系统信息。
[0053] 可选的,浏览器安装于智能电视中,智能电视的系统目录中保存有本地节目列表, 该列表包括若干页。以Web应用获取本地节目列表为例,当Web应用通过JavaScript方 法调用请求向浏览器请求获取本地节目列表的某一页内容时,浏览器解析JavaScript方 法调用请求之后,确定本地节目列表为调用信息。
[0054] 203、当确定已缓存信息中不包括调用信息时,通过执行系统功能调用获取调用信 息,并缓存调用信息。
[0055] 浏览器接收到系统功能调用请求之后,确定调用信息,并判断已缓存信息中是否 已经包括调用信息。其中,已缓存信息包括浏览器在接收系统功能调用请求之前,通过执行 系统功能调用获取并缓存的至少一项系统信息。
[0056] 如果此时浏览器还没有任何缓存的系统信息,或者已缓存信息中不包括调用信 息,则执行系统功能调用,从系统获取调用信息,并缓存调用信息。具体的,浏览器通过缓存 单元缓存已缓存信息。已缓存信息包括至少一项系统信息,其中每一项系统信息占用一个 缓存单元,结合步骤202,调用信息为本地节目列表,则将本地节目列表作为一项系统信息 缓存在一个缓存单元中。
[0057] 204、当确定已缓存信息中包括调用信息时,从已缓存信息中获取调用信息。
[0058] 浏览器可以根据缓存记录对缓存单元进行管理,缓存记录用于指示已缓存信息中 各条系统信息所对应的缓存单元。具体地,浏览器为各个缓存单元分配不同的标识信息 (英文全称:identification,英文简称:ID),并对每项系统信息命名,在缓存记录中将已 缓存信息中各项系统信息所缓存的缓存单元ID记录下来。已缓存信息中的一项系统信息 占用一个缓存单元。当浏览器需要从已缓存信息中获取某一项系统信息时,在缓存记录中 查找到该项系统信息对应的缓存单元ID,然后从缓存单元中读取该项系统信息。
[0059] 缓存单元可以分为不同字段,其中包括系统信息字段,用于缓存系统信息。可选 的,缓存单元还可以包括命名字段,用于缓存系统信息名称。针对一项系统信息,其在缓存 单元中的名称与其在缓存记录中的名称一一对应或者相同。
[0060] 在一种具体的应用场景中,浏览器在确定调用信息之后,查询缓存记录,确定缓存 调用信息的缓存单元为第一缓存单元,然后读取第一缓存单元的系统信息字段,获取调用 信息。
[0061] 可选的,缓存单元还包括缓存失效时间字段,用于指示缓存单元所缓存的系统信 息的失效时间点。以第一缓存单元为例,浏览器在将一项系统信息存入第一缓存单元时,为 失效时间字段赋值,该值用于指示失效时间点。在失效时间点之后,第一缓存单元所缓存的 系统信息失效,不能再作为调用信息。失效时间字段的赋值可以为中央处理器(英文全称: CentralProcessingUnit,英文简称:CPU)当前时钟与有效时间长度之和。需要说明的是, 第一缓存单元缓存不同系统信息时,对应的有效时间长度可以不同。
[0062] 进一步可选的,在一种具体的应用场景中,缓存单元的结构如表一所示:
[0063]
[0064] 表一
[0065] 缓存单元还包括缓存创建时间字段,用于指示向缓存单元存于系统信息时的当前 时间。浏览器在确定调用信息之后,查询缓存记录,确定缓存调用信息的缓存单元为第一缓 存单元,然后读取第一缓存单元的缓存失效时间字段,如果当前时间点在第一缓存单元的 缓存失效时间字段所指示的失效时间点之前,读取第一缓存单元的系统信息字段,获取调 用?目息。
[0066] 需要说明的是,调用信息可以包括至少一项系统信息。例如,结合图3所示,已缓
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1