[发明专利]用于更新源代码文件的系统和方法有效

专利信息
申请号: 201680003121.9 申请日: 2016-01-20
公开(公告)号: CN106796522B 公开(公告)日: 2019-11-26
发明(设计)人: 王海川;叶寒栋;吴芃 申请(专利权)人: 华为技术有限公司
主分类号: G06F8/656 分类号: G06F8/656;G06F8/71;G06F16/14
代理公司: 暂无信息 代理人: <国际申请>=PCT/CN2016/07
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 更新 源代码 文件 系统 方法
【说明书】:

描述了一种有助于进行高效且有效的应用程序维护和补丁分发的方法和系统。一种设备包括:存储器,用于存储应用源代码文件和创建热补丁文件的指令,其中所述应用源代码文件包括更新源代码文件以及进行应用更新前的初始源代码文件;处理器,用于创建所述热补丁文件,其中:所述热补丁文件是基于一对优化的源代码文件集之间的差异创建的,这对优化的源代码文件集是对第一初始源代码文件集进行优化以及对第二源代码文件集进行单独优化得到的;所述第二文件集包括所述更新源代码文件以及基于指示所述源代码文件之间相关的图方式从所述第一文件集中选择出的关联的文件。

相关申请案交叉申请

本发明要求于2015年1月22日递交的发明名称为“用于更新源代码文件的系统和方法”的第14/603,136号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。

技术领域

本发明通常涉及计算机编程语言中源代码文件更新领域。

背景技术

在商业、科学、教育以及娱乐大多数领域中,许多电子技术如数字计算机、计算器、音频设备、视频设备和电话系统等有助于在数据分析和通信方面提高生产率并降低成本。这些活动经常涉及计算机编程和源代码处理。对源代码文件进行维护和更新是复杂且繁琐的。

源代码文件通常是动态或静态的,两种源代码文件各有其优点和缺点。静态类型的源代码在运行时执行较快,然而较难维护和更新。动态类型的源代码较易维护和更新,但运行相对较慢。在实际情况中,对所述动态类型的源代码进行各种预编译优化来以使其运行更快。然而,进行预编译优化的传统方法增加了复杂性,基本上抵消了动态类型的源代码在维护和更新方面的诸多优势。

动态脚本语言的一个重要特征在于:所述代码可以由解释器直接执行,无需编译过程。这一特征有助于简化热补丁过程。实际上,如果没有对所述动态源代码进行预编译优化且应用的大量文件中的其中一个源代码文件存在漏洞或编程缺陷,则应用维护者仅能将与所述漏洞对应的原始源代码文件用补丁或修复后的源代码文件替换,并将其重新加载到语言解释器中(在打补丁时其他大量的源代码文件保持不变)。然而,当通过预编译优化来解决动态代码运行慢的问题时,预编译优化会给传统的热补丁处理尝试带来挑战。在一传统示例中,第一文件(文件1)中定义常数ABC=100,第二文件(文件2)在运算K=ABC+25中使用所述ABC常数。在进行传统的预编译优化时(如常数传播优化),将文件2中的ABC替换为100,则优化后的文件是K=125。然而,如果文件1中有更改(如定义ABC=200),且所述维护者遵循传统的热补丁处理方法(仅替换文件1而不触及文件2),则打补丁将无法解决所述问题,因为没有对应地去适当考虑对文件2的影响。

为了解决在动态代码应用中预编译优化带来的复杂性和潜在问题,传统方案中通常通过全应用范围预编译来替换所述应用中的全部源代码文件,并重新加载所述全部源文件(例如,与静态代码方法类似)。然而,这些传统方法通常导致三个问题,这些问题减少或消除了与动态类型源代码相关的维护和上传方面的优势。第一个问题是增加了打补丁负荷。即使打补丁主要是针对替换和重新加载修复后的所述文件,但所述传统方法却要求将所有文件进行全局替换和重新加载。第二个问题是增加了预编译复杂性。对企业应用进行全局范围的预编译通常需要很长时间(如几小时或几天等)。原始热补丁模式中则不需要执行这样的步骤。第三个问题是损失了热补丁持续运行的特征。由于一些文件属于特定类型(如基本库或启动加载程序等)且在未中止所述应用时无法被替换,因此所述应用维护者可能会中止该应用来重新加载所有文件。

动态脚本语言如JavaScript、Python、PHP和Lua等广泛应用于构建大型应用。其中一些示例包括:Web前端应用(如Map、Gmail、Calendar、Docs等基于Google网页的工具);Web后端应用(如使用PHP的Facebook应用等);游戏行业应用(如使用Lua的Blizzard公司的魔兽世界等)以及手机应用(如使用Object-C的苹果iOS应用等)。通过传统方法来维护和更新大型应用中含动态脚本语言的一些文件通常是耗时且耗资源的。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201680003121.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top