浏览器外壳功能的更新方法及装置与流程

文档序号:11407421阅读:352来源:国知局
浏览器外壳功能的更新方法及装置与流程
本发明涉及移动通信技术领域,具体地说,涉及一种浏览器外壳功能的更新方法及装置。

背景技术:
众所周知,目前,各浏览器厂商开发外壳功能时采用程序开发的方式,使用各种平台相关的语言进行开发,如C、C++、Java等,这些语言相对成熟,并且运行效率快。采用这种方式,在外壳功能开发完成后,需要将源码文件编译后打包安装;如果要更新浏览器外壳功能,则需要更新用上述开发语言所开发的程序并重新编译,浏览器再下载程序安装包并覆盖安装。因而这种方法存在以下缺点:一个方面是现有的浏览器外壳功能的更新方式较复杂。用C、C++、Java等开发语言开发浏览器外壳功能时,具有修改文件系统、修改配置文件的权限,具有一定的危险性;开发难度大,单单是写数据操作就需要引用很多的包或头文件以及做各种出错检验;编译耗时,调试复杂;需要考虑平台相关性;可能出现内存泄露和程序崩溃的现象。另一个方面是现有的浏览器外壳功能的更新方式所耗费的网络流量大。通常,采用上述方式更新的浏览器需要下载一整个程序安装包并覆盖安装,显然需要消耗较大的网络流量和时间。现有技术也出现过局部更新方法,不需要下载整个程序包,但这些更新一般指so或dll文件(Linux或Windows系统下的动态链接库文件)的更新,而so或dll文件是由大量的源代码编译出来的,其构成的外壳一般只会有一个,一旦更新,只能将文件完全替换掉。例如一个so文件里的某几行指令是做书签功能的,但其他大量的指令是做其他功能的,即使只想更新书签,也得完整替换该so文件,而如果分功能编成多个so文件,则不仅会暴露出更多的程序内部符号而降低了安全性,而且影响程序运行速度,提高内存占用,降低了启动速度,还影响代码结构,加大程序开发难度。因此,现有的浏览器外壳功能的更新方法有待改进。

技术实现要素:
鉴于上述问题,本发明的目的在于提供一种浏览器外壳功能的更新方法及装置,解决了浏览器外壳功能更新复杂、耗费网络流量大的问题。根据本发明的一个方面,本发明提供一种浏览器外壳功能的更新方法,所述方法包括:移动终端的浏览器将当前外壳文件信息发送给服务器查询更新,其中所述外壳文件中,浏览器外壳的每个独立功能对应至少一个脚本文件和至少一个页面描述文件,或者对应至少一个页面描述文件;在所述服务器根据存储的外壳文件信息与从浏览器接收的外壳文件信息对比发现有更新时,所述浏览器从服务器接收外壳文件中发生更新的脚本文件或页面描述文件的下载路径数据;依照所述下载路径数据下载发生更新的脚本文件或页面描述文件并替换掉当前外壳文件中对应的脚本文件或页面描述文件。优选地,移动终端的浏览器通过读取配置文件获得所述当前外壳文件信息,其中,所述配置文件中记录有外壳功能与外壳文件的对应关系、与不同独立功能对应的各个脚本文件或页面描述文件的路径列表以及各文件当前版本的信息。优选地,所述浏览器启动、刷新或执行所述外壳功能时,通过所述配置文件定位到需执行的所述脚本文件或所述页面描述文件并执行。优选地,所述浏览器发送的当前外壳文件信息中包含脚本文件或页面描述文件的ID和版本号,所述服务器根据接收的脚本文件或页面描述文件的ID查询所述ID对应的在服务器存储的脚本文件或页面描述文件,在查到后对比版本号,若发现服务器存储的脚本文件或页面描述文件的版本号高于当前外壳文件信息中的版本号,判断为发生更新,并确定发生更新的脚本文件或页面描述文件的下载路径数据。优选地,依照所述下载路径数据逐个下载发生更新的脚本文件或页面描述文件并临时存储,在所有发生更新的脚本文件或页面描述文件下载完成后,一次性替换掉当前外壳文件中对应的脚本文件或页面描述文件。优选地,所述脚本文件为JavaScript文件,所述页面描述文件为HTML文件。另一方面,本发明还同时提供一种浏览器外壳功能的更新装置,所述装置包括:查询模块,用于将浏览器的当前外壳文件信息发送给服务器查询更新,其中所述外壳文件中,浏览器外壳的每个独立功能对应至少一个脚本文件和至少一个页面描述文件,或者对应至少一个页面描述文件;接收模块,用于在所述服务器根据存储的外壳文件信息与从浏览器接收的外壳文件信息对比发现有更新时,从服务器接收外壳文件中发生更新的脚本文件或页面描述文件的下载路径数据;更新模块,用于依照所述下载路径数据下载发生更新的脚本文件或页面描述文件并替换掉当前外壳文件中对应的脚本文件或页面描述文件。优选地,所述装置还包括:配置模块,用于存储配置文件,所述配置文件中记录有外壳功能与外壳文件的对应关系、与不同独立功能对应的各个脚本文件或页面描述文件的路径列表以及各文件当前版本的信息;其中,所述查询模块是通过读取所述配置模块的配置文件获得所述当前外壳文件信息。优选地,所述装置还包括:执行模块,用于在所述浏览器启动、刷新或执行所述外壳功能时,通过所述配置模块中的所述配置文件定位到需执行的所述脚本文件或所述页面描述文件并执行。优选地,所述装置还包括:临时存储模块,用于临时存储依照所述下载路径数据逐个下载的发生更新的脚本文件或页面描述文件;所述更新模块在所有发生更新的脚本文件或页面描述文件下载完成后,再一次性用所述临时存储模块存储的文件替换掉当前外壳文件中对应的脚本文件或页面描述文件。与现有技术相比,本发明提供的方法及装置根据浏览器的外壳功能将外壳文件细分为多个脚本文件和页面描述文件,从而在更新时可以根据功能仅更新部分外壳文件。本发明的技术方案解决了浏览器外壳功能更新复杂、耗费网络流量大的问题,降低了外壳功能更新的开发难度,提高了开发效率;在更新时可以实现增量更新,节省了网络流量,加快了程序更新和应用的效率。附图说明图1是本发明的浏览器外壳功能的更新方法的流程示意图。图2是本发明的浏览器外壳功能的更新装置的模块结构示意图。图3是本发明的浏览器与服务器的交互过程示意图。图4是本发明的浏览器运行及外壳功能更新的详细流程图。图5是本发明的一个实施例中浏览器的书签页面的示意图。图6是本发明的一个实施例中浏览器的帮助页面的示意图具体实施方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明提供一种浏览器外壳功能的更新方法及装置,解决了浏览器外壳功能更新复杂、耗费网络流量大的问题。其中,浏览器外壳指的是浏览器与网页加载排版渲染无关的界面相关部分;浏览器内核指的是进行网页的加载排版渲染及脚本程序执行的部分。图1是本发明的浏览器外壳功能的更新方法的示意图。如图1所示,本发明的方法包括步骤:S1,移动终端的浏览器将当前外壳文件信息发送给服务器查询更新,其中所述外壳文件中,浏览器外壳的每个独立功能对应至少一个脚本文件和至少一个页面描述文件,或者对应至少一个页面描述文件;S2,在所述服务器根据存储的外壳文件信息与从浏览器接收的外壳文件信息对比发现有更新时,所述浏览器从服务器接收外壳文件中发生更新的脚本文件或页面描述文件的下载路径数据;S3,依照所述下载路径数据下载发生更新的脚本文件或页面描述文件并替换掉当前外壳文件中对应的脚本文件或页面描述文件。其中,在本发明中,用多个脚本文件和页面描述文件,或者多个页面描述文件构成上述外壳文件实现外壳功能,按各个独立的外壳功能分别形成至少一个脚本文件和至少一个页面描述文件,或者形成至少一个页面描述文件,这里每个脚本文件或页面描述文件均可独立更新。优选的脚本文件为JavaScript(通常简称为JS)文件,页面描述文件为HTML文件,即浏览器外壳的功能均用JavaScript和HTML实现,使用浏览器内置的JavaScript引擎执行这些JavaScript和HTML文件中的代码,使用浏览器内置的解析排版渲染引擎在屏幕上显示浏览器外壳界面。例如,外壳文件由一百个JavaScript文件和HTML文件实现,其中的一个HTML文件是负责书签功能,那么只需更新这个HTML文件,就能更新书签功能了,其他99个文件都不需要更新和改变。更优选地,为更加完美地支持现有的移动设备,上述JavaScript文件和HTML文件为符合HTML5标准的文件。本领域相关技术人员应能理解,JavaScript文件和HTML文件仅为本发明中优选的一个示例,所有获得浏览器内核支持而可直接执行的脚本文件和页面描述文件显然也可应用于本发明中(包括但不限于如PHP、ASP、Perl、VBScript等),在此不再一一例举。图2是本发明的浏览器外壳功能的更新装置的模块结构示意图。如图2所示,本发明的装置包括查询模块201,用于将浏览器的当前外壳文件信息发送给服务器10查询更新,其中所述外壳文件中,浏览器外壳的每个独立功能对应至少一个脚本文件和至少一个页面描述文件,或者对应至少一个页面描述文件;接收模块202,用于在所述服务器10根据存储的外壳文件信息与从浏览器接收的外壳文件信息对比发现有更新时,从服务器10接收外壳文件中发生更新的脚本文件或页面描述文件的下载路径数据;更新模块203,用于依照所述下载路径数据下载发生更新的脚本文件或页面描述文件并替换掉当前外壳文件中对应的脚本文件或页面描述文件。更进一步地,所述装置还可包括:配置模块(图中未示出),用于存储配置文件,所述配置文件中记录有外壳功能与外壳文件的对应关系、与不同独立功能对应的各个脚本文件或页面描述文件的路径列表以及各文件当前版本的信息;其中,所述查询模块是通过读取所述配置模块的配置文件获得所述当前外壳文件信息。以及浏览器工作过程中,所述装置还可包括:执行模块(图中未示出),用于在所述浏览器启动、刷新或执行所述外壳功能时,通过所述配置模块中的所述配置文件定位到需执行的所述脚本文件或所述页...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1