一种浏览器的升级方法和装置制造方法及图纸

技术编号:19023096 阅读:34 留言:0更新日期:2018-09-26 18:59
本发明专利技术实施例公开了一种浏览器的升级方法和装置,用于提高浏览器的升级效率,减少浏览器升级的工作量。本发明专利技术实施例提供一种浏览器的升级方法,包括:获取浏览器的原始代码文件,原始代码文件包括:浏览器的第一版本代码数据、浏览器的第二版本代码数据以及原始适配层代码,原始适配层代码用于第一版本代码数据和第二版本代码数据之间的代码隔离;获取用于对第二版本代码数据进行升级的第三版本代码数据,第三版本代码数据和第二版本代码数据之间存在差异代码;根据差异代码对原始适配层代码进行修改,得到目标适配层代码;将浏览器的原始代码文件升级为目标代码文件,目标代码文件包括:第一版本代码数据、第三版本代码数据以及目标适配层代码。

【技术实现步骤摘要】
一种浏览器的升级方法和装置
本专利技术涉及计算机
,尤其涉及一种浏览器的升级方法和装置。
技术介绍
Chromium是一款由Google公司主导开发的网页浏览器,主要是为了发展Google的浏览器Chrome而设立。由于Chromium是成熟的开源软件,因此,国内很多浏览器都以Chromium为基础进行定制开发。基于Chromium开发的浏览器,一般会分为两层,浏览器内核和用户界面(UserInterface,UI)逻辑。其中,浏览器内核逻辑复杂,代码量大,一般都采用Chromium的原有代码。而为了与Chrome浏览器进行差异化竞争,以及更好的满足国内用户的需求,很多浏览器在UI逻辑上会与Chrome有较大的差异。由于浏览器的各种标准也在不断更新,各大网站也在修改对新标准的支持。因此,老版本的Chromium版本会无法访问只支持新标准的网站。为了实现对新标准网站的支持,基于Chromium内核开发的浏览器,都需要升级Chromium内核。Chromium的更新速度很快,会不断的添加新功能,每40天左右就会更新一个版本,一般每个版本都会有10%左右的代码修改。能否快速升级Chromium内核,已经成为基于Chromium开发的浏览器的首要问题,是衡量浏览器架构设计优劣的重要指标。为了快速升级内核,目前主要有以下两种架构:1、直接在Chromium的代码中修改UI逻辑,需要升级内核时,把修改的UI逻辑合入到Chromium的新版本中,该方案只适合对Chromium的UI逻辑改动较小的浏览器升级,当UI逻辑改动较大时每次的浏览器升级将存在修改量很大的问题,降低了浏览器升级的效率。2、需要升级内核时,直接更新Chromium内核的相关代码,但UI逻辑以及底层的UI库都不跟随Chromium代码进行升级。该方案在升级过程中,只需要修改与内核有耦合的相关代码,适合UI逻辑跟Chromium有很大差别的浏览器。这种完全使用不跟随原有浏览器内核升级的UI库,只关注内核升级而忽略了UI库的升级,无法没有全面享受Chromium升级带来的品质提升,因此存在浏览器升级时需要单独升级UI库造成的复杂工作量。
技术实现思路
本专利技术实施例提供了一种浏览器的升级方法和装置,用于提高浏览器的升级效率,减少浏览器升级的工作量。为解决上述技术问题,本专利技术实施例提供以下技术方案:第一方面,本专利技术实施例提供一种浏览器的升级方法,包括:获取浏览器的原始代码文件,所述原始代码文件包括:所述浏览器的第一版本代码数据、所述浏览器的第二版本代码数据以及原始适配层代码,所述原始适配层代码用于所述第一版本代码数据和所述第二版本代码数据之间的代码隔离;获取用于对所述第二版本代码数据进行升级的第三版本代码数据,所述第三版本代码数据和所述第二版本代码数据之间存在差异代码;根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码;将所述浏览器的原始代码文件升级为目标代码文件,所述目标代码文件包括:所述第一版本代码数据、所述第三版本代码数据以及所述目标适配层代码。第二方面,本专利技术实施例还提供一种浏览器的升级装置,包括:代码文件获取模块,用于获取浏览器的原始代码文件,所述原始代码文件包括:所述浏览器的第一版本代码数据、所述浏览器的第二版本代码数据以及原始适配层代码,所述原始适配层代码用于所述第一版本代码数据和所述第二版本代码数据之间的代码隔离;更新代码获取模块,用于获取用于对所述第二版本代码数据进行升级的第三版本代码数据,所述第三版本代码数据和所述第二版本代码数据之间存在差异代码;适配层修改模块,用于根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码;目标文件生成模块,用于将所述浏览器的原始代码文件升级为目标代码文件,所述目标代码文件包括:所述第一版本代码数据、所述第三版本代码数据以及所述目标适配层代码。在第二方面中,浏览器的升级装置的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。第三方面,本专利技术实施例提供一种浏览器的升级装置,该浏览器的升级装置包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得浏览器的升级装置执行如前述第一方面中任一项的方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。第五方面,本专利技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。从以上技术方案可以看出,本专利技术实施例具有以下优点:在本专利技术实施例中,首先获取浏览器的原始代码文件,原始代码文件包括:浏览器的第一版本代码数据、浏览器的第二版本代码数据以及原始适配层代码,原始适配层代码用于第一版本代码数据和第二版本代码数据之间的代码隔离。然后获取用于对第二版本代码数据进行升级的第三版本代码数据,第三版本代码数据和第二版本代码数据之间存在差异代码。根据差异代码对原始适配层代码进行修改,得到目标适配层代码。最后将浏览器的原始代码文件升级为目标代码文件,目标代码文件包括:第一版本代码数据、第三版本代码数据以及目标适配层代码。本专利技术实施例中第一版本代码数据和第二版本代码数据之间可以通过原始适配层代码实现代码隔离,因此当第二版本代码数据需要升级时,只需要根据第三版本代码数据和第二版本代码数据之间的差异代码来修改原始适配层代码即可,因此第二版本代码数据可以在与第一版本代码数据相隔离的情况下实现单独升级,对于差异代码的数据量大或者小都可以适用,浏览器的原始代码文件可以升级为目标代码文件,该目标代码文件可用于浏览器的运行,因此提高了浏览器的升级效率,减少浏览器升级的工作量。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种浏览器的升级方法的流程方框示意图;图2为本专利技术实施例提供的浏览器的目标代码文件的生成过程示意图;图3为本专利技术实施例提供的浏览器的升级方法的一种应用场景示意图;图4为本专利技术实施例提供的UI代码数据的更新流程示意图;图5为本专利技术实施例提供的内核代码数据的更新流程示意图;图6为本专利技术实施例提供的第一版本代码和第二版本代码之间通过进程进行通信的示意图;图7-a为本专利技术实施例提供的一种浏览器的升级装置的组成结构示意图;图7-b为本专利技术实施例提供的一种目标文件生成模块的组成结构示意图;图7-c为本专利技术实施例提供的一种代码数据替换子单元的组成结构示意图;图8为本专利技术实施例提供的浏览器的升级方法应用于终端的组成结构示意图;图9为本专利技术实施例提供的浏览器的升级方法应用于服务器的组成结构示意图。具体实施方式本专利技术实施例提供了一种浏览器的升级方法和装置,用于提高浏览器的升级效率,减少浏览器升级的工作量。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的本文档来自技高网
...

【技术保护点】
1.一种浏览器的升级方法,其特征在于,包括:获取浏览器的原始代码文件,所述原始代码文件包括:所述浏览器的第一版本代码数据、所述浏览器的第二版本代码数据以及原始适配层代码,所述原始适配层代码用于所述第一版本代码数据和所述第二版本代码数据之间的代码隔离;获取用于对所述第二版本代码数据进行升级的第三版本代码数据,所述第三版本代码数据和所述第二版本代码数据之间存在差异代码;根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码;将所述浏览器的原始代码文件升级为目标代码文件,所述目标代码文件包括:所述第一版本代码数据、所述第三版本代码数据以及所述目标适配层代码。

【技术特征摘要】
1.一种浏览器的升级方法,其特征在于,包括:获取浏览器的原始代码文件,所述原始代码文件包括:所述浏览器的第一版本代码数据、所述浏览器的第二版本代码数据以及原始适配层代码,所述原始适配层代码用于所述第一版本代码数据和所述第二版本代码数据之间的代码隔离;获取用于对所述第二版本代码数据进行升级的第三版本代码数据,所述第三版本代码数据和所述第二版本代码数据之间存在差异代码;根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码;将所述浏览器的原始代码文件升级为目标代码文件,所述目标代码文件包括:所述第一版本代码数据、所述第三版本代码数据以及所述目标适配层代码。2.根据权利要求1所述的方法,其特征在于,所述差异代码包括:用户界面UI差异代码,所述原始适配层代码包括:原始UI适配层代码;所述根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码,包括:根据所述UI差异代码对所述原始UI适配层代码进行修改,得到目标UI适配层代码。3.根据权利要求2所述的方法,其特征在于,所述第一版本代码数据包括:第一版本UI代码数据;所述第二版本代码数据包括:第二版本UI代码数据;所述第三版本代码数据包括:第三版本UI代码数据;所述将所述浏览器的原始代码文件升级为目标代码文件,包括:将所述原始代码文件中的第二版本UI代码数据替换为所述第三版本UI代码数据,以及将所述原始代码文件中的原始UI适配层代码替换为所述目标UI适配层代码;根据所述原始代码文件中的所述第三版本UI代码数据、所述目标UI适配层代码和所述第一版本UI代码数据得到所述目标代码文件。4.根据权利要求3所述的方法,其特征在于,所述第一版本UI代码数据,包括:第一版本UI逻辑代码数据和第一版本UI库代码数据;所述第二版本UI代码数据,包括:第二版本UI逻辑代码数据和第二版本UI库代码数据;所述原始UI适配层代码包括:原始UI逻辑交互代码和原始UI库交互代码;所述UI差异代码包括:UI逻辑差异代码和UI库差异代码。5.根据权利要求4所述的方法,其特征在于,所述根据所述UI差异代码对所述原始UI适配层代码进行修改,得到目标UI适配层代码,包括:根据所述UI逻辑差异代码对所述原始UI逻辑交互代码进行修改,得到目标UI逻辑交互代码;以及,根据所述UI库差异代码对所述原始UI库交互代码进行修改,得到目标UI库交互代码。6.根据权利要求5所述的方法,其特征在于,其中,所述第一版本UI逻辑代码数据和所述第二版本UI逻辑代码数据应用于所述浏览器的应用层,所述第一版本UI逻辑代码数据和所述第二版本UI逻辑代码之间通过所述UI逻辑交互代码实现代码隔离;所述第一版本UI库代码数据和所述第二版本UI库代码数据应用于所述浏览器的底层,所述第一版本UI库代码数据和所述第二版本UI库代码之间通过所述UI库交互代码实现代码隔离。7.根据权利要求4所述的方法,其特征在于,所述第三版本UI代码数据,包括:第三版本UI逻辑代码数据和第三版本UI库代码数据;当所述浏览器的代码文件还包括:上下层跨版本调用代码时,所述将所述原始代码文件中的第二版本UI代码数据替换为所述第三版本UI代码数据,以及将所述原始代码文件中的原始UI适配层代码替换为所述目标UI适配层代码,包括:将所述原始代码文件中的第二版本UI库代码数据替换为所述第三版本UI库代码数据;将所述原始代码文件中的原始UI库交互代码替换为目标UI库交互代码;当所述第一版本UI库代码数据中与所述第三版本UI库代码数据存在相同的功能代码时,从所述第一版本UI库代码数据中移除掉所述相同的功能代码得到修改后的第一版本UI库代码数据;将所述原始代码文件中的第二版本UI逻辑代码数据替换为所述第三版本UI逻辑代码数据;将所述原始代码文件中的原始UI逻辑交互代码替换为目标UI逻辑交互代码;将所述上下层跨版本调用代码移植到所述目标UI库交互代码中,得到包括有所述上下层跨版本调用代码的目标UI库交互代码。8.根据权利要求4所述的方...

【专利技术属性】
技术研发人员:李斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1