定向优化式二进制包编译分发方法及装置与流程

文档序号:32501278发布日期:2022-12-10 05:30阅读:32来源:国知局
定向优化式二进制包编译分发方法及装置与流程

1.本发明属于计算机技术领域,具体涉及一种定向优化式二进制包编译分发方法及装置。


背景技术:

2.软件编译时使用不同的编译优化参数会产生不同的二进制结果。硬件厂商的同系列的cpu在微架构上也有差别,不同的cpu之间(如xeon,i7,i5)由于扩展指令集的原因会导致同频功耗下不同的编译优化参数的二进制软件在运行效率上的不同。当前业界内的操作系统厂商(以下简称“系统厂商”)对硬件的适配还停留在针对同一大类的硬件架构进行编译,如对intel的x86系列的cpu按最小子集进行编译,未开启一部分扩展指令,导致一部分软件运行效率低下。
3.软件使用者可能只需要软件的一部分功能,冗余的功能,对硬件和运行环境会有所要求,剪裁一部分软件功能,能够降低使用者的硬件成本。
4.综上所述,现有技术中存在操作系统厂商只针对硬件架构进行编译,导致软件性能低下的问题。


技术实现要素:

5.有鉴于此,本发明的目的在于克服现有技术的不足,提供一种定向优化式二进制包编译分发方法及装置,以解决现有技术中操作系统厂商只针对通用硬件架构进行编译,导致软件性能低下的问题。
6.为实现以上目的,本发明采用如下技术方案:一种定向优化式二进制包编译分发方法,包括:
7.获取基于pms标准编译系统的基础配置信息;
8.基于所述基础配置信息抽象为配置文件叠加层;其中,所述配置文件叠加层具有空间结构信息;
9.对所述配置文件叠加层的空间结构信息进行组合、解析并转换为编译优化参数;
10.根据所述编译优化参数及预设的生成信息,编译分发软件二进制包;所述生成信息包括硬件标识符和软件版本;
11.根据所述分发软件二进制包中的硬件标识符分发至计算机终端。
12.进一步的,所述编译优化参数由多个因数影响,由一个以上的配置文件叠加层转换得到。
13.进一步的,所述软件源码编译优化参数,包括:
14.硬件优化参数,软件优化参数及软件功能剪裁参数。
15.进一步的,所述获取基于pms标准编译系统的基础配置信息,包括:
16.根据软件功能、软件模块及软件依赖信息抽象出基础文件配置。
17.进一步的,所述基于所述基础配置信息抽象为配置文件叠加层,包括:
18.从硬件型号、cpu指令集支持及硬件功耗信息抽象配置文件叠加层。
19.进一步的,所述基于所述基础配置信息抽象为配置文件叠加层,还包括:
20.从软件指令集扩展支持、硬件调用信息抽象配置文件叠加层。
21.进一步的,所述基于所述基础配置信息抽象为配置文件叠加层,还包括:
22.从用户需求,产品需求和软件功能信息抽象配置文件叠加层。
23.进一步的,所述配置文件叠加层包括多个,每个配置文件叠加层通过组合、剪裁产生新的配置抽象层。
24.本技术实施例提供一种定向优化式二进制包编译分发装置,包括:
25.获取模块,用于获取基于pms标准编译系统的基础配置信息;
26.配置模块,用于基于所述基础配置信息抽象为配置文件叠加层;其中,所述配置文件叠加层具有空间结构信息;
27.转换模块,用于对所述配置文件叠加层的空间结构信息进行组合、解析并转换为编译优化参数;
28.编译模块,用于根据所述编译优化参数及预设的生成信息,编译分发软件二进制包;所述生成信息包括硬件标识符和软件版本;
29.分发模块,用于根据所述分发软件二进制包中的硬件标识符分发至计算机终端。
30.本发明采用以上技术方案,能够达到的有益效果包括:
31.本发明提供一种定向优化式二进制包编译分发方法及装置,本技术通过实现pms标准,组织转换二进制的编译优化参数,实现对软件的定向优化。减少了工作负担,降低了重复工作,提高了软/硬件运行效率,降低了硬件功耗,降低了运营成本。并开发出了新的软件服务方式。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明定向优化式二进制包编译方法的步骤示意图;
34.图2为本发明定向优化式二进制包编译方法的流程示意图;
35.图3为本发明定向优化式二进制包编译分发装置的结构示意图;
36.图4为本发明定向优化式二进制包编译分发装置的结构示意图。
具体实施方式
37.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
38.在pms标准中定义了一套二进制包的编译流程,并定义了译优化的接口,但是现有的pms实现中,配置文件是按照unix系统配置文件来配置的,并没有在一套系统中实现对其
他系统进行编译优化。同时现有的pms标准实现中还存在软件与配置文件一起配置的情况,即基础配置文件和软件打包脚本放在同一位置的情况。
39.在pms标准中,软件包的编译过程中已经抽象出了一系列的包编译优化参数用于软件的优化或定制,本技术基于对pms标准添加一个生成的包,再添加一个厂商对硬件的标记,即可实现软件包的定向优化。
40.下面结合附图介绍本技术实施例中提供的一个具体的定向优化式二进制包编译方法及装置。
41.如图1所示,本技术实施例中提供的定向优化式二进制包编译方法,包括:
42.s101,获取基于pms标准编译系统的基础配置信息;
43.所述获取基于pms标准编译系统的基础配置信息,包括:
44.根据软件功能、软件模块及软件依赖信息抽象出基础文件配置。可以理解的是,本技术中的各类配置文件信息可以从软件,硬件,用户,产品等获取。
45.s102,基于所述基础配置信息抽象为配置文件叠加层;其中,所述配置文件叠加层具有空间结构信息;
46.可以理解的是,把配置文件进行抽象,形成一个叠加覆盖层或基础配置层(下称,配置抽象层)。每个配置抽象层是具有一定存储结构的文件系统。配置抽象层是可以同时存在,是可以通过文件存储结构相互关联的,抽象层之间是可以相互继承,覆盖,裁剪以及配置的,可以有效的减少配置文件的复杂度。
47.一些实施实例中,将所述基础配置文件存储为具有一定文件结构的配置系统,简要描述为一个配置抽象层,其中包含的信息包括:
48.存储各类软件优化参数的配置文件;
49.配置文件的存储空间结构;
50.配置文件之间的关联信息,配置文件之间的继承,覆盖,配置信息等。
51.本技术中从硬件型号、cpu指令集支持及硬件功耗信息抽象配置文件叠加层。
52.从软件指令集扩展支持、硬件调用信息抽象配置文件叠加层。
53.从用户需求,产品需求和软件功能信息抽象配置文件叠加层。
54.结合所述编译优化参数和软件源码得到基础配置文件抽象层;
55.作为一个优选的实施方式,本技术中每个配置抽象层都可以进行配置,组合,剪裁,产生新的配置抽象层。
56.进一步的,可以通过文件系统结构或单个配置文件,配置存储多个配置抽象层之间的关系和配置信息,降低配置,组合难度。
57.s103,对所述配置文件叠加层的空间结构信息进行组合、解析并转换为编译优化参数;
58.所述编译优化参数由多个因数影响,由一个以上的配置文件叠加层转换得到。
59.作为一个优选的实施方式,所述软件源码编译优化参数,包括:
60.硬件优化参数,软件优化参数及软件功能剪裁参数。
61.可以理解的是,软件包的编译过程中会读取一系列的环境信息,这些信息可以来自用户设置,也可以来自cpu/gpu等硬件信息。pms规范中实现了一套软件打包过程中环境信息的抽象。基于原有pms规范实现中的一些软件环境信息,实现了本技术中配置模块和编
译模块。
62.可以理解的是,本技术中通过人工配置,自动程序等方式获得配置文件。通过转换模块转换为编译模块所用的软件编译优化参数。进一步的,也可以通过其他方式获得配置文件,如编译优化后的软件进行自动测试,由软件推断软件的优化参数通过转换模块逆向的生成配置文件。
63.s104,根据所述编译优化参数及预设的生成信息,编译分发软件二进制包;所述生成信息包括硬件标识符和软件版本;
64.一些实施实例中,如图3所示,基于所述基础配置文件生成硬件标识符;
65.根据所述硬件标识符将所述信息加入到生成的二进制包中,用于分发模块分发软件。
66.s105,根据所述分发软件二进制包中的硬件标识符分发至计算机终端。
67.定向优化式二进制包编译方法的具体工作原理为:参见图3,通过硬件,软件,用户等信息,获得基础/叠加配置文件覆盖层。再通过转换模块转换为软件编译优化参数。通过软件编译优化参数,编译模块生成优化后的软件二进制包,分发系统通过原有的基础配置文件获得对应的硬件信息,添加到软件包中,用于分发二进制包。
68.如图4所示,本技术实施例提供一种定向优化式二进制包编译分发装置,包括:
69.获取模块201,用于获取基于pms标准编译系统的基础配置信息;
70.配置模块202,用于基于所述基础配置信息抽象为配置文件叠加层;其中,所述配置文件叠加层具有空间结构信息;
71.转换模块203,用于对所述配置文件叠加层的空间结构信息进行组合、解析并转换为编译优化参数;
72.编译模块204,用于根据所述编译优化参数及预设的生成信息,编译分发软件二进制包;所述生成信息包括硬件标识符和软件版本;
73.分发模块205,用于根据所述分发软件二进制包中的硬件标识符分发至计算机终端。
74.本技术提供的定向优化式二进制包编译分发装置的工作原理为,获取模块201获取基于pms标准编译系统的基础配置信息;配置模块202基于所述基础配置信息抽象为配置文件叠加层;其中,所述配置文件叠加层具有空间结构信息;转换模块203对所述配置文件叠加层的空间结构信息进行组合、解析并转换为编译优化参数;编译模块204根据所述编译优化参数及预设的生成信息,编译分发软件二进制包;所述生成信息包括硬件标识符和软件版本;分发模块205根据所述分发软件二进制包中的硬件标识符分发至计算机终端。
75.一些实施例中,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:获取基于pms标准编译系统的基础配置信息;基于所述基础配置信息抽象为配置文件叠加层;其中,所述配置文件叠加层具有空间结构信息;对所述配置文件叠加层的空间结构信息进行组合、解析并转换为编译优化参数;根据所述编译优化参数及预设的生成信息,编译分发软件二进制包;所述生成信息包括硬件标识符和软件版本;根据所述分发软件二进制包中的硬件标识符分发至计算机终端。
76.综上所述,本发明提供一种定向优化式二进制包编译分发方法及装置,本发明基于pms标准,把配置文件进行抽象,形成一个叠加覆盖层,减少了配置的复杂程度,以优化二
进制包提升了软件性能。
77.可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
78.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
79.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
80.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
81.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
82.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1