本申请涉及电数字数据处理领域,尤其涉及操作系统自适配方法及系统。
背景技术:
随着产业的发展,生产移动终端设备的厂商越来越多。由于通常各厂商采用的硬件有所不同,操作系统需要与不同的厂商进行适配。目前通常是针对不同厂商发布不同版本的操作系统,即不同的操作系统版本中集成不同的so文件以适配不同厂商的移动终端硬件(so文件是linux下共享库文件,它的文件格式被称为elf文件格式)。例如,以a、b、c代表三个不同的终端设备厂商,对a、b、c三个厂商就需要有对应的a版、b版、c版三个操作系统版本,依次类推,即有多少个厂商就需要发布多少个操作系统版本。这给操作系统版本维护和版本升级带来麻烦,工作量也难以估计。
技术实现要素:
为了克服现有技术中存在的不足,本发明要解决的技术问题是提供一种操作系统自适配方法及系统,其使得仅需要升级和维护一个操作系统版本即可满足所有移动终端制造商的需要,大大降低操作系统版本维护和升级难度。
为解决上述技术问题,根据本发明的第一方面,提供一种操作系统自适配方法,该方法包括:
接收引导加载程序传输的当前移动终端的制造商的厂商编码参数,其中不同移动终端制造商的厂商编码不同;
对所述厂商编码参数进行解析,生成相应厂商的唯一标识;
响应于需要调用动态链接库so文件,根据厂商的唯一标识从集成在操作系统硬件适配层中的所有so文件中选择与所述唯一标识对应的so文件,其中所有so文件包含操作系统开发者针对不同移动终端制造商提供的所有不同so文件,其中所有不同so文件根据所述厂商编码进行区分;
执行所选择的so文件。
为解决上述技术问题,根据本发明的第二方面,提供一种操作系统自适配系统,该系统包括:
接收模块,用于接收引导加载程序传输的当前移动终端的制造商的厂商编码参数,其中不同移动终端制造商的厂商编码不同;
解析模块,用于对所述厂商编码参数进行解析,生成相应厂商的唯一标识;
选择模块,用于响应于需要调用动态链接库so文件,根据厂商的唯一标识从集成在操作系统硬件适配层中的所有so文件中选择与所述唯一标识对应的so文件,其中所有so文件包含操作系统开发者针对不同移动终端制造商提供的所有不同so文件,其中所有不同so文件根据所述厂商编码进行区分;
执行模块,用于执行所选择的so文件。
为解决上述技术问题,根据本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的操作系统自适配方法的步骤。
为解决上述技术问题,根据本发明的第四方面,提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现本发明的操作系统自适配方法的步骤。
现有技术由于针对不同厂商提供不同操作系统版本而带来版本众多、难以管理、难以维护和升级等问题。按照本发明,通过在一个操作系统版本的硬件适配层中集成所有不同厂商的so文件及在操作系统中增加一个自适配模块,使得在使用时根据厂商唯一标识来自动判断需要调用哪一个so文件,从而使同一操作系统版本能用于不同厂商的设备。这样,只需要升级和维护一个操作系统版本就可以了,即同一个操作系统版本适用于所有的厂商,简化了版本管理,解决了版本众多难以维护和升级等问题。
结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。
附图说明
图1为根据本发明方法的一实施例的流程图;
图2为根据本发明系统的一实施例的框图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
下面参照附图对本发明的实施方式和实施例进行详细说明。
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明的操作系统自适配方法的一优选实施例的流程图。
在步骤s102,接收uboot传输的当前移动终端的制造商的厂商编码参数。厂商编码参数例如为按照一定编码规则形成的一串有特殊意义的数字,其根据不同厂商和不同版本而有所不同。uboot是一个主要用于嵌入式系统的引导加载程序,其用来引导启动内核,一般由移动终端设备厂商提供。厂商编码预先确定并在操作系统开发者与对应的移动终端制造商之间同步,不同移动终端制造商的厂商编码不同,即具有唯一性。
在步骤s104,对厂商编码参数进行解析,生成相应厂商的唯一标识,用于代码内部查找和匹配。
在步骤s106,当某一应用需要调用厂商提供的so文件时,根据厂商的唯一标识从集成在操作系统硬件适配层中的所有so文件中选择与厂商唯一标识对应的so文件,其中所有so文件包含操作系统开发者针对不同移动终端制造商提供的所有不同so文件,而且所有不同so文件根据所述厂商编码进行区分。操作系统可以是android系统、linux系统或本申请人开发的“元心”操作系统,或者其它类似操作系统。例如,有a、b、c三个移动终端制造商,操作系统开发者为此针对这三个制造商分别提供a.so、b.so和c.so文件并集成在操作系统硬件适配层中。在使用阶段,如果一个应用需要调用这样的so文件时,首先通过唯一标识来判断需要调用哪一个so库文件,例如唯一标识是a则将调用a.so,同样如果标识是b则将会调用b.so。这样,同一个操作系统版本既可以用于a设备也可以用于b、c设备,简化了版本管理。
在步骤s108,执行所选择的so文件。
图2示出了根据本发明的操作系统自适配系统的一优选实施例的框图,该系统包括:接收模块202,用于接收引导加载程序传输的当前移动终端的制造商的厂商编码参数,其中不同移动终端制造商的厂商编码不同;解析模块204,用于对所述厂商编码参数进行解析,生成相应厂商的唯一标识;选择模块206,用于响应于需要调用so文件,根据厂商的唯一标识从集成在操作系统硬件适配层中的所有so文件中选择与所述唯一标识对应的so文件,其中所有so文件包含操作系统开发者针对不同移动终端制造商提供的所有不同so文件,其中所有不同so文件根据所述厂商编码进行区分;执行模块208,用于执行所选择的so文件。
在此所述的多个不同实施方式或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、rom、ram、闪存、便携计算机存储介质如cd-rom、dvd-rom、闪盘驱动器和/或具有通用串行总线(usb)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作系统使用。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。
前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明做出各种变型和修改,这些变型或修改仍落入本发明的保护范围之内。
1.一种操作系统自适配方法,其特征在于,所述方法包括:
接收引导加载程序传输的当前移动终端的制造商的厂商编码参数,其中不同移动终端制造商的厂商编码不同;
对所述厂商编码参数进行解析,生成相应厂商的唯一标识;
响应于需要调用动态链接库so文件,根据厂商的唯一标识从集成在操作系统硬件适配层中的所有so文件中选择与所述唯一标识对应的so文件,其中所有so文件包含操作系统开发者针对不同移动终端制造商提供的所有不同so文件,其中所有不同so文件根据所述厂商编码进行区分;
执行所选择的so文件。
2.根据权利要求1所述的方法,其特征在于,所述厂商编码预先确定并在操作系统开发者与对应的移动终端制造商之间同步。
3.根据权利要求1所述的方法,其特征在于,所述操作系统为android系统。
4.根据权利要求1所述的方法,其特征在于,所述操作系统为linux系统。
5.一种操作系统自适配系统,其特征在于,所述系统包括:
接收模块,用于接收引导加载程序传输的当前移动终端的制造商的厂商编码参数,其中不同移动终端制造商的厂商编码不同;
解析模块,用于对所述厂商编码参数进行解析,生成相应厂商的唯一标识;
选择模块,用于响应于需要调用动态链接库so文件,根据厂商的唯一标识从集成在操作系统硬件适配层中的所有so文件中选择与所述唯一标识对应的so文件,其中所有so文件包含操作系统开发者针对不同移动终端制造商提供的所有不同so文件,其中所有不同so文件根据所述厂商编码进行区分;
执行模块,用于执行所选择的so文件。
6.根据权利要求5所述的系统,其特征在于,所述厂商编码预先确定并在操作系统开发者与对应的移动终端制造商之间同步。
7.根据权利要求5所述的系统,其特征在于,所述操作系统为android系统。
8.根据权利要求5所述的系统,其特征在于,所述操作系统为linux系统。
9.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1所述的操作系统自适配方法的步骤。
10.一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现根据权利要求1所述的操作系统自适配方法的步骤。
技术总结