《一种动态创建可附加和可拆除二进制文件的系统和方法.pdf》由会员分享,可在线阅读,更多相关《一种动态创建可附加和可拆除二进制文件的系统和方法.pdf(24页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201480001541.4(22)申请日 2014.10.292531/CHE/2014 2014.05.21 ING06F 9/44(2006.01)G06F 17/30(2006.01)(71)申请人华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人伊凡阿尔瑞赫曼奈尔撒尼尔库马尔迪瓦卡然(54) 发明名称一种动态创建可附加和可拆除二进制文件的系统和方法(57) 摘要公开的是一种动态创建可附加和可拆除二进制文件的技术。本发明提供了一种管理关于附加代码的现有代码基库有效机制,该附加代码为用作单一代码基。
2、库的特定特征所需。同时也为设计者提供了一种机制,甚至可在代码概念化之前规划此类特征。系统解析具有DFM标签的代码,以生成基础代码,其中,所述DFM标签隔离特征。基于DFM标签创建多个代码集合。生成特征变化表,并将其存入该系统中,所述特征变化表存储相对于所述代码集合中的特征发生变化的特征的信息。接着编译代码集合以生成二进制文件。通过特征变化表,确定并存储每个所述二进制文件之间的差异,以用来创建一个或多个微分二进制文件。(30)优先权数据(85)PCT国际申请进入国家阶段日2014.12.19(86)PCT国际申请的申请数据PCT/CN2014/089761 2014.10.29(51)Int.C。
3、l.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书4页 说明书14页 附图5页(10)申请公布号 CN 104380250 A(43)申请公布日 2015.02.25CN 104380250 A1/4页21.一种计算机系统202,其特征在于,具有非临时性计算机可读介质,该计算机可读介质上包括已编码的计算机程序逻辑,当在所述系统202上执行时提供一种创建并管理一个或多个可执行微分二进制文件220的机制,使所述系统202执行以下操作:解析至少一个计算机程序源代码,其中所述计算机程序源代码具有至少一个动态特征管理器DFM标签;基于所述DFM标签创建多个代码集合,其中,所述代码集合。
4、包括:具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的所述至少一个计算机程序源代码,以及具有所述基础代码和特征的至少一个第二代码集合,所述特征为码集;生成一个或多个特征变化表216,所述特征变化表216存储相对于所述代码集合中的特征发生变化的特征的信息;清除计算机程序源代码中的所述DFM标签,以生成所述基础代码,所述DFM标签用于表示所述特征与所述至少一个计算机程序源代码隔离;编译所述代码集合,以生成多个二进制文件;通过所述特征变化表216,确定所述多个二进制文件中任意两个二进制文件之间的差异;基于所述确定的差异,创建一个或多个微分二进制文件220,所述一个或多个可执行微分二进制文。
5、件220包括所述创建的一个或多个微分二进制文件220。2.根据权利要求1所述的计算机系统202,其特征在于,所述DFM标签遵循DFM_start和DFM_end语法来隔离所述特征。3.根据权利要求1或2所述的计算机系统202,其特征在于,在编写所述计算机程序源代码时添加所述DFM标签。4.根据权利要求1至3任一项所述的计算机系统202,其特征在于,在向所述计算机程序源代码添加新代码或更新代码时增加所述DFM标签。5.根据权利要求1或2所述的计算机系统202,其特征在于,所述特征是从一个包括函数、全局变量和结构、常见宏、内嵌函数、静态变量、以及上述的组合的群组中选出。6.根据权利要求1至4任一项。
6、所述的计算机系统202,其特征在于,在所述解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码时,所述计算机系统202还用于执行以下操作:解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码,以检查所述DFM标签的嵌套,并创建所述计算机程序源代码的层级树,其中,所述层级树包括设置在最高层级的DFM无关标签,以及作为所述层级树中的下层节点的子标签和/或兄弟标签。7.根据权利要求1所述的计算机系统202,其特征在于,所述变化的特征是从一个包括函数、全局变量和结构、常见宏、内嵌函数、静态变量、和/或上述的组合的群组中选出,所述变化的特征是相对于所述代码集合中的特征。
7、发生变化或新引入或更新的特征。8.根据权利要求1至4任一项所述的计算机系统202,其特征在于,所述DFM标签遵循规则,其中每个特征相应的endDFM标签与startDFM标签相匹配。9.根据权利要求1所述的计算机系统202,其特征在于,所述系统202还用于执行以下操作:将所述一个或多个微分二进制文件220加载到存储器中,并将所述一个或多个微分二进制文件220映射到执行中的二进制文件。权 利 要 求 书CN 104380250 A2/4页310.一种创建并管理至少一个可执行微分二进制文件220的方法,其特征在于,所述方法包括:解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码。
8、;基于所述DFM标签创建多个代码集合,其中,所述代码集合包括:具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的所述至少一个计算机程序源代码,以及具有所述基础代码和特征的至少一个第二代码集合,所述特征为码集;生成一个或多个特征变化表216,所述特征变化表216存储相对于所述代码集合中的特征发生变化的特征的信息;清除所述计算机程序源代码中的所述DFM标签,以生成基础代码,其中所述DFM标签用于表示所述特征与所述至少一个计算机程序源代码隔离;编译所述代码集合,以生成多个二进制文件;通过所述特征变化表216,确定所述多个二进制文件中任意两个二进制文件之间的差异;基于所述确定的差异,创建一个。
9、或多个微分二进制文件220,所述一个或多个可执行微分二进制文件220包括所述创建的一个或多个微分二进制文件220。11.根据权利要求10所述的方法,其特征在于,所述DFM标签采遵循DFM_start和DFM_end语法来隔离所述特征。12.根据权利要求10和11所述的方法,其特征在于,在编写所述计算机程序源代码时添加所述DFM标签。13.根据权利要求10至12任一项所述的方法,其特征在于,在向所述计算机程序源代码添加新代码或更新代码时增加所述DFM标签。14.根据权利要求10或11所述的方法,其特征在于,所述特征是从一个包括函数、全局变量和结构、常见宏、内嵌函数、静态变量、以及上述的组合的群组。
10、中选出。15.根据权利要求10至13任一项所述的方法,其特征在于,所述解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码包括:解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码,以检查所述DFM标签的嵌套,并创建所述计算机程序源代码的层级树,其中,所述层级树包括设置在最高层级的DFM无关标签,以及作为所述层级树中的下层节点的子标签和/或兄弟标签。16.根据权利要求11所述的方法,其特征在于,所述变化的特征是从一个包括函数、全局变量和结构、常见宏、内嵌函数、静态变量、和/或上述的组合的群组中选出,所述变化的特征是相对于所述代码集合中的特征发生变化或新引入或。
11、更新的特征。17.根据权利要求10至13任一项所述的方法,其特征在于,所述DFM标签遵循规则,其中每个特征相应的endDFM标签与startDFM标签相匹配。18.根据权利要求10所述的方法,其特征在于,所述方法还包括:将所述一个或多个微分二进制文件220加载到存储器中,并将所述一个或多个微分二进制文件220映射到执行中的二进制文件。19.一种创建并管理至少一个可执行微分二进制文件220的计算机系统202,其特征在于,所述计算机系统202包括:权 利 要 求 书CN 104380250 A3/4页4处理器204和耦合至所述处理器204的存储器208,该处理器用于执行所述存储器中的多个模块和多个。
12、指令,其中,所述多个模块包括:分离器模块210,用于:解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码;基于所述DFM标签创建多个代码集合,其中,所述代码集合包括:具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的所述至少一个计算机程序源代码,以及具有所述基础代码和特征的至少一个第二代码集合,所述特征为码集;生成多个特征变化表216,所述程序变化表216存储相对于所述第一代码集合和所述第二代码集合中的特征发生变化的特征的信息;清除所述计算机程序源代码中的所述DFM标签,以生成基础代码,所述DFM标签用于表示将所述特征与所述至少一个计算机程序源代码隔离;编译器打包。
13、器模块212,用于编译所述第一代码集合和所述第二代码集合,以生成多个二进制文件;所述多个指令用于:通过所述特征变化表216,确定所述多个二进制文件中任意两个二进制文件之间的差异;基于所述确定的差异,创建一个或多个微分二进制文件220,所述一个或多个可执行微分二进制文件220包括所述创建的一个或多个微分二进制文件220。20.根据权利要求19所述的计算机系统202,其特征在于,还包括加载器模块218,用于管理所述一个或多个微分二进制文件220,其中,通过加载所述一个或多个微分二进制文件220至所述存储器208,以及将所述一个或多个微分二进制文件220映射到执行中的二进制文件,管理所述所述一个或多。
14、个微分二进制文件220。21.根据权利要求19或20所述的计算机系统202,其特征在于,还包括加载器模块218,用于管理所述一个或多个微分二进制文件220,其中,通过从所述存储器208中卸载所述一个或多个微分二进制文件220,管理所述一个或多个微分二进制文件220。22.根据权利要求19所述的计算机系统202,其特征在于,所述DFM标签遵循DFM_start和DFM_end语法来隔离所述特征。23.根据权利要求19或22所述的计算机系统202,其特征在于,在编写所述计算机程序源代码时增加所述DFM标签。24.根据权利要求19、22或23所述的计算机系统202,其特征在于,在向所述计算机程序源代。
15、码添加新代码或更新代码时增加所述DFM标签。25.根据权利要求19或22所述的计算机系统202,其特征在于,所述特征是从一个包括函数、全局变量和结构、常见宏、内嵌函数、静态变量、以及上述的组合的群组中选出。26.根据权利要求19、22、23或24所述的计算机系统202,其特征在于,在所述解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码时,所述分离器模块210还用于解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码,以检查所述DFM标签的嵌套,并创建所述计算机程序源代码的层级树,其中,所述层级树包括设置在最高层级的DFM无关标签,以及作为所述层级树中的下。
16、层节点的子标签和/或兄弟标签。27.根据权利要求19所述的计算机系统202,其特征在于,所述变化的特征是从一个包权 利 要 求 书CN 104380250 A4/4页5括函数、全局变量和结构、常见宏、内嵌函数、静态变量、和/或上述的组合的群组中选出,所述变化的特征是相对于所述代码集合中的特征发生变化或新引入或更新的特征。28.根据权利要求19、22、23或24所述的计算机系统202,所述DFM标签遵循规则,其中每个特征相应的endDFM标签与startDFM标签相匹配。权 利 要 求 书CN 104380250 A1/14页6一种动态创建可附加和可拆除二进制文件的系统和方法技术领域0001 本。
17、申请总体涉及一种创建二进制文件的系统和方法,尤其涉及一种动态创建可附加和可拆除二进制文件的系统和方法。背景技术0002 传统上,软件开发的过程具有非常严谨的生命周期。该过程的步骤,即固定顺序为编写代码、编译、调试并解决问题以及发布和部署。软件二进制或二进制文件一经使用,如不重新启动,则向运行中的二进制文件添加或从其中移除特征变得极其困难。即使重新启动,如果软件状态不得不恢复至初始状态,那么开销将非常庞大。0003 已经有一些方案可解决这一局限,但是每个方案均有各自的缺陷。例如,开发的软件可能具有模块,这些模块存储了日志级别信息、调试信息等,旨在基于如何编译或配置提供不同的功能。通过一些标志或配。
18、置值,可以在运行时间控制这些模块/文件的运行状态,但是必须使用整个二进制文件来创建软件代码。共享库或动态加载库也可用于管理此类特征,但是与库连接并管理库的代码应在最初编写的代码中。0004 现有技术提供了各种方案,可以在编写期间使用预处理宏配置调试和日志级别管理;或者在运行时间配置调试和日志级别管理只要预处理宏属于初始设计和代码的一部分。所述模块也可当做可动态加载的库,但是同样地,设计和编码这些模块必须在一开始完成,同时加载以及与正确库连接的附加代码必须在初始二进制文件中。另外,传统意义上这些应用设计具有各种日志级别、踪迹打印以及维护日志选项。上述选项应属于应用代码的一部分,因此编译的目标代码。
19、应属于二进制文件或库的一部分。可以使用实时补丁应用添加附加代码,但是这些补丁需分别管理初始代码和新增代码,在理想情况下作为补丁或不同文件。进一步地,该补丁技术仅对缺陷修正或小升级适用。0005 管理这些模块或特征的另一方案具有稍微不同的功能,即在编译期间使用预处理宏。使用预处理宏将会清除由此产生的二进制文件中的备选流代码,随后将无法恢复,除非再次编译二进制文件。同样,通过在运行时间使用一些配置值,可以使能或去使能特征逻辑,但是只有通过选择备用码流或路径才实现,并且只有特征逻辑是初始设计、代码、以及随后的编译的目标代码的一部分,才可完成。0006 同样地,在一个方案中,这些模块也可当做可动态加载。
20、的库,关于库的软件设计同样应该在一开始完成,且与库连接的配套代码必须在软件中。0007 除上述提及的局限,现有技术的方案还具有各种其他制约因素。下面列举了其中一些因素:0008 1.使用附加特征或者使用发布的二进制文件每次部署时可能不使用的特征不支持单流开发。0009 2.如果单流代码开发可以使用实时补丁,需要分别维护和跟踪补丁或不同的文件。单个源码库在这类情况中不能被很好地支持。0010 3.因为上述局限和约束因素,降低了开发质量和效率。说 明 书CN 104380250 A2/14页70011 4.此外,若有更大的应用规模,则维护需求非常高,且应用的规模使得对二进制文件作出较大变化变得困难。
21、。0012 尽管避免上述提及的局限和约束因素的技术日益发展,仍需要提供有效的技术方案,以克服上述的局限和约束因素。因此,亟需但仍未提供的一种技术是动态创建可附加和可拆除微分二进制文件。通过减少现有二进制文件中任何特征的升级时间和成本,该技术提供了一种有效的解决方案。发明内容0013 本发明内容介绍的概念涉及一种创建可执行二进制文件的系统和方法,为现有的二进制文件减少了开销,缩短升级时间,下面进一步具体描述所述概念。本发明内容不旨在确定所要求保护的本申请的必要特征,也不旨在确定或限定所要求保护的本申请的范围。0014 通过提供一种动态创建可附加和可拆除微分二进制文件的优化方法和系统,上述问题得以。
22、解决,并实现了一种技术方案。本发明通过提供一种有效的解决方案,减少了现有以及当前执行的二进制文件中现有或者需要新添加的任意特征的升级时间和成本。0015 因此,本发明的一个主要目的是提供一种动态创建可附加和可拆除微分二进制文件的系统和方法,为现有以及当前执行的二进制文件中的任意特征,或现有以及当前执行的二进制文件中添加的新特征,减少了开销,并缩短了升级时间,降低了成本。0016 本发明的另一目的是支持单流开发、基础特征以及附加特征,可在同一代码基库中进行隔离。0017 本发明的另一目的是无需维护补丁或微分代码文件等更新信息,同时实现在同一代码基库上的连续开发。0018 本发明的再一目的在于,通。
23、过本发明提出的减少现有以及当前执行的二进制文件中现有或者新添加的任意特征的升级时间和成本,从而提高软件开发的质量和效率。0019 本发明的又一目的在于,只有必要和要求的二进制代码段即优化占用空间,可以在目标运行时间环境中使用。只有当需要用做微分二进制文件时,附加特征才可被引进。0020 因此,在本发明的一个实施例中,公开了一种计算机系统,具有非临时性计算机可读介质,该计算机可读介质上包括已编码的计算机程序逻辑,当在所述系统上执行时提供一种创建并管理至少一个可执行微分二进制文件220的机制。所述系统进行解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码的操作。所述系统进行基于。
24、DFM标签创建多个代码集合的操作。所述代码集合包括:具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的至少一个计算机程序源代码,以及具有所述基础代码和特征的至少一个第二代码集合,所述特征为码集。所述系统接着进行生成多个特征变化表216的操作,所述特征变化表216存储相对于所述代码集合中的特征发生变化的特征的信息。所述系统还进行清除所述计算机程序源代码中的所述DFM标签的操作,以生成所述基础代码,所述DFM标签用于表示所述特征与所述至少一个计算机程序源代码隔离。所述系统接着进行编译所述代码集合的操作,以生成多个二进制文件。通过所述特征变化表216,所述系统接着进行确定所述多个二进制文件。
25、中任意两个二进制文件之间的差异的操作,从而存储所述确定的差异。基于所述存储的差异,所述系统最后进行创建一个或多个微分二进制文件220的操作。在一种实现中,可以基于源代码中创建的多个特征变化表,确定所述多个说 明 书CN 104380250 A3/14页8二进制文件中任意两个二进制文件之间的差异,同时,可以只为在差异表中具有条目的部分确定该差异,所述差异表由DFM在解析代码时创建,从而优化并且避免了完全的二进制文件差异。0021 在本发明的另一实施例中,公开了一种创建并管理至少一个可执行的微分二进制文件220的过程。所述过程包括下列步骤:自动解析至少一个具有至少一个动态特征管理器(DFM)标签的。
26、计算机程序源代码;基于DFM标签,创建多个代码集合,其中,所述代码集合包括:具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的所述至少一个计算机程序源代码,以及具有所述基础代码和特征的至少一个第二代码集合,所述特征为码集;生成多个特征变化表216,所述特征变化表216存储相对于所述代码集合中的特征发生变化的特征的信息;清除所述计算机程序源代码中的所述DFM标签,以生成所述基础代码,所述DFM标签用于表示所述特征与所述至少一个计算机程序源代码隔离;编译所述代码集合,以生成多个二进制文件;通过所述特征变化表216,确定所述多个二进制文件中任意两个二进制文件之间的差异,从而存储所述确定的差。
27、异;基于所述存储的差异,创建一个或多个微分二进制文件220。在一种实现中,可以基于源代码中创建的多个特征变化表,确定所述多个二进制文件中任意两个二进制文件之间的差异,同时,可以只为在差异表中具有条目的部分确定该差异,所述差异表由DFM在解析代码时创建,从而优化并且避免了完全的二进制文件差异。0022 在本发明的另一实施例中,公开了一种创建并管理至少一个可执行微分二进制文件220的计算机系统202。所述计算机系统202包括处理器204,和耦合至所述处理器204的存储器208。所述处理器204能够执行所述存储器中的多个模块和多个指令。所述系统202中的所述多个模块包括分离器模块210、编译器打包器。
28、模块212和加载器模块218。所述分离器模块210用于解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码。进一步地,所述分离器模块210基于DFM标签创建多个代码集合,其中,所述代码集合包括具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的至少一个计算机程序源代码,以及具有所述基础代码和特征的至少一个第二代码集合,所述特征为码集。所述分离器模块210接着生成多个特征变化表216,所述特征变化表216存储相对于所述代码集合中的特征发生变化的特征的信息。进一步的,所述分离器模块210清除所述计算机程序源代码中的所述DFM标签,以生成基础代码,所述DFM标签用于表示所述。
29、特征与所述至少一个计算机程序源代码隔离。所述编译器打包器模块212用于编译所述代码集合,以生成多个二进制文件。所述存储器中的多个指令用于通过所述特征变化表216,确定所述多个二进制文件中任意两个二进制文件之间的差异,从而存储所述确定的差异。基于所述存储的差异,所述系统202接着创建一个或多个微分二进制文件220。在一种实现中,可以基于源代码中创建的多个特征变化表,确定所述多个二进制文件中任意两个二进制文件之间的差异,同时,可以只为在差异表中具有条目的部分确定该差异,所述差异表由DFM在解析代码时创建,从而优化并且避免了完全的二进制文件差异。0023 根据下面实施例的详细描述(结合附图阅读),上。
30、述以及其他的特点和优点是显而易见的。附图说明说 明 书CN 104380250 A4/14页90024 结合附图进行具体描述。在附图中,图例编号最左边的数字表示所述图例编号在该附图中首次出现。附图使用的相同编号代表类似的特征和部件。0025 相应的引用字符在不同的视图中表示相应的部分。此处范例以一种形式说明了本发明的优选实施例,并此类范例不应被理解为以任何方式限制本发明的范围。0026 图1示出了本申请一个实施例的计算机系统202以及所述计算机系统202创建并管理至少一个可执行微分二进制文件220的详细流程;0027 图2示出了本申请一个实施例的一种创建并管理至少一个可执行微分二进制文件220。
31、的方法;0028 图3示出了本申请一个实施例的一种动态特征管理器的功能;0029 图4示出了本申请一个实施例的二进制文件的编译、生成以及更新;0030 图5(a)示出了本申请一个实施例的标准ELF文件内容;0031 图5(b)示出了本申请一个实施例的典型微分二进制文件内容。0032 应理解的是,所述附图旨在说明本发明的一些概念,可能不会进行延伸。具体实施方式0033 为使上述的目的、本发明的技术方案以及优点更容易理解,下面将结合附图来描述实施例。0034 结合所附权利要求和附图,在下面具体实施方式中,本领域的技术人员将更明确本发明的目的、优点和其他创新性。0035 现在,结合所述附图,详细描述。
32、本发明的优选实施例。在附图部分,即使出现在不同的附图中,相同或相似的要素使用相同的图例编号表示。在下面描述中,当本文已知功能和配置的详细描述使本申请模糊时,将会省略该详细描述。0036 公开的是一种创建并管理一个或多个微分二进制文件220的系统和方法。使用类似C/C+编程语言中常见的预处理宏和标记的编程或编码语言标签来创建可附加和可拆除的二进制文件。要求用作可附加模块的代码功能块可以设置在这些标签之间。建议除流行的编译器之外还使用至少一个打包器,所述编译器可以基于附加标志位理解所述标签和生成微分二进制文件(代替单一二进制文件)。应理解的是,所述编译器可以从现有和已知的编译器中选择使用,例如“g。
33、cc”编译器。0037 相应地,公开的是一种创建并管理一个或多个微分二进制文件220的系统和方法。编程或编码语言需要时,可以使用一个或多个可执行微分二进制文件220。现有技术中普遍应用的实时补丁或热补丁技术可以使用所述一个或多个微分二进制文件220。进一步地,对于存储器运行时的现有或者更新的二进制文件,所述系统和方法可以使用应用中的实时补丁技术加载和/或卸载生成的一个或多个微分二进制文件220。0038 在一种实现中,公开了一种计算机系统,具有非临时性计算机可读介质,该计算机可读介质上包括已编码的计算机程序逻辑,当在所述系统上执行时提供一种创建并管理至少一个可执行的微分二进制文件220的机制。。
34、所述系统进行解析至少一个具有至少一个动态特征管理器(DFM)标签的计算机程序源代码的操作。基于DFM标签,所述系统进行基于DFM标签创建多个代码集合的操作。所述代码集合包括:具有基础代码的第一代码集合,所述基础代码为无任何DFM标签的至少一个计算机程序源代码,以及具有所述基础代码和特说 明 书CN 104380250 A5/14页10征的至少一个第二代码集合,所述特征为码集。所述系统接着进行生成多个特征变化表216的操作,所述特征变化表216存储相对于所述代码集合中的特征发生变化的特征的信息。所述系统还进行清除所述计算机程序源代码中的所述DFM标签的操作,以生成所述基础代码,所述DFM标签用于。
35、表示所述特征与所述至少一个计算机程序源代码隔离。所述系统接着进行编译所述代码集合的操作,以生成多个二进制文件。通过所述特征变化表216,所述系统接着进行确定所述多个二进制文件中任意两个二进制文件之间的差异的操作,从而存储所述确定的差异。基于所述存储的差异,所述系统最后进行创建一个或多个微分二进制文件220的操作。在一种实现中,可以基于源代码中创建的多个特征变化表,确定所述多个二进制文件中任意两个二进制文件之间的差异,同时,可以只为在差异表中具有条目的部分确定该差异,所述差异表由DFM在解析代码时创建,从而优化并且避免了完全的二进制文件差异。在一种实现中,应理解的是,因为所述代码集合为递增集合,。
36、所述二进制文件也同样具有递增特征,所以每个二进制文件之间的差异可以确定。0039 尽管下面描述了本发明的示例实施例,应理解的是,没有规定的细节要求本发明也可以实现,同时可以为此处描述的本发明决定许多具体实现方式,以实现开发者的具体目标,例如,遵循系统相关的和业务相关的约束,该约束将随系统的变化而变化,且开发工作复杂且耗时。然而,对于本领域的技术人员,掌握本发明公开的利益是一项常规工作。例如,所选方面都以框图形式而非细节形式示出,以避免对本发明造成模糊或者不适当限制。本领域的技术人员利用这些描述和表达,向本领域的其他技术人员描述以及传达工作实质。以下将结合附图描述本发明。0040 尽管所述一种动。
37、态创建并管理至少一个可执行微分二进制文件220的系统和方法的各方面可以以任何数量的不同计算机系统、环境和/或配置实现,所述实施例以下面示例系统为例进行描述。0041 参见图2,示出了本申请一个实施例的计算机系统202以及所述计算机系统202创建并管理至少一个可执行微分二进制文件220的详细流程。在一种实施例中,所述计算机系统202可以包括至少一个处理器204、输入/输出(I/O)接口206和存储器208。所述至少一个处理器204可以通过一个或多个微处理器、微型计算机、微型控制器、数字信号处理器、中央处理器、状态机、逻辑电路和/或任意基于操作指令操控信号的设备来实现。在其他能力中,所述至少一个处。
38、理器204用于获取和执行所述存储器208中存储的计算机可读指令。0042 所述I/O接口206可以包括各种软件和硬件接口,例如,web接口、图形用户接口等。所述I/O接口206可以允许所述计算机系统202直接和用户交互或者通过客户端设备和用户进行交互。进一步地,所述I/O接口206可以使所述计算机系统202和其他计算设备进行通信,如web服务器和外部数据服务器(未示出)。所述I/O接口206能够促进各种网络和协议类型间的多种通信,包括如LAN、线缆等有线网络和WLAN、蜂窝或卫星等无线网络。所述I/O接口206可以包括一个或多个端口,用以将一些设备互相连接或连接至其他服务器。在一种实现中,所述计算机系统202为用户提供接口206,可以帮助标记和维护编程代码,以及提交该编程代码进行编译。该计算机系统202也可以包含一个编辑器和图形实用程序,可供开发者使用,但与本发明的范围不相关。0043 所述存储器208可以包括本领域已知的任意计算机可读介质,例如,包括易失性说 明 书CN 104380250 A10。