系统软件生成方法、装置、电子设备及存储介质

文档序号:1921177 发布日期:2021-12-03 浏览:3次 >En<

阅读说明:本技术 系统软件生成方法、装置、电子设备及存储介质 (System software generation method and device, electronic equipment and storage medium ) 是由 不公告发明人 于 2021-08-04 设计创作,主要内容包括:本申请实施例公开了一种系统软件生成方法、装置、电子设备及存储介质,包括:获取第一终端设备的系统软件在测试完成后的强制升级包;解析强制升级包,得到至少一个模块镜像文件;根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件;根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件;将预抄写文件发送到第二终端设备中,以使得第二终端设备根据预抄写文件生成系统软件;通过预抄写文件的生成以及根据预抄写文件生成终端设备的系统软件,提高了系统软件生产的效率。(The embodiment of the application discloses a system software generation method, a system software generation device, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring a forced upgrade package of system software of first terminal equipment after testing is finished; analyzing the forced upgrade package to obtain at least one module mirror image file; modifying a target module image file selected from at least one module image file according to the startup default configuration data to obtain a modified module image file; respectively writing the residual module image files and the modified module image files into a preset empty binary file according to a preset file partition rule of a memory in the second terminal equipment to obtain a pre-copy file; sending the pre-copy file to second terminal equipment so that the second terminal equipment generates system software according to the pre-copy file; the efficiency of system software production is improved by generating the pre-copy file and generating the system software of the terminal equipment according to the pre-copy file.)

系统软件生成方法、装置、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,具体涉及一种系统软件生成方法、装置、电子设备及计算机可读存储介质。

背景技术

随着计算机技术的快速发展,终端设备(如电视或者手机)的种类越来越多,而每个终端设备的运行和操作均需要依赖终端设备的系统软件,因此,在终端设备出厂之前,需要为终端设备部署系统软件;

目前,终端设备系统软件的部署依赖于软件的硬拷贝克隆,例如,从一台已经测试完成的终端设备上硬拷贝系统软件文件,然后将拷贝后的系统软件文件克隆到其他终端设备中,使其他终端设备具有系统软件,但是这种方式过程复杂,拷贝过程需要花费大量的时间,效率较低,并且受人为因素影响较大。

发明内容

本申请实施例提供一种系统软件生成方法、装置、电子设备及计算机可读存储介质,可以提高系统软件生成的效率。

本申请实施例提供了一种系统软件生成方法,包括:

获取第一终端设备的系统软件在测试完成后的强制升级包;

解析所述强制升级包,得到至少一个模块镜像文件;

根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件;

根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和所述修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件;

将所述预抄写文件发送到所述第二终端设备中,以使得所述第二终端设备根据所述预抄写文件生成系统软件。

相应的,本申请实施例还提供了一种系统软件生成装置,包括:

获取模块,用于获取第一终端设备的系统软件在测试完成后的强制升级包;

解析模块,用于解析所述强制升级包,得到至少一个模块镜像文件;

修改模块,用于根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件;

写入模块,用于根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和所述修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件;

生成模块,用于将所述预抄写文件发送到所述第二终端设备中,以使得所述第二终端设备根据所述预抄写文件生成系统软件。

可选的,在本申请的一些实施例中,所述修改模块包括:

转化单元,用于对所述模块镜像文件进行镜像格式转化,得到至少一个镜像格式转化文件;

目录确定单元,用于确定所述镜像格式转化文件的镜像文件目录层次;

文件确定单元,用于根据所述开机默认配置数据和所述镜像文件目录层次,确定待修改的至少一个镜像格式转化文件;

第一修改单元,用于根据所述开机默认配置数据对所述镜像格式转化文件进行修改,得到修改后镜像格式转化文件;

对所述修改后镜像格式转化文件进行格式恢复,得到至少一个修改后模块镜像文件。

可选的,在本申请的一些实施例中,第一修改单元包括:

第一修改子单元,用于当所述镜像格式转化文件包括数据库文件,直接在所述数据库文件中,根据数据库操作命令对所述开机默认配置数据所对应的字段变量值进行修改;

第二修改子单元,用于当所述镜像格式转化文件包括环境变量配置文件,直接打开所述环境变量配置文件,根据开机默认配置数据对所述环境变量配置文件中的相应参数进行修改。

可选的,在本申请的一些实施例中,当所述目标模块镜像文件包括可执行文件或者静态库文件,修改模块包括:

第二修改单元,用于直接单独对所述目标模块镜像文件的模块代码或者数据进行修改;

编译单元,用于将修改后的目标模块镜像文件进行编译,得到修改后模块镜像文件。

可选的,在本申请的一些实施例中,解析模块包括:

第一拆包单元,用于根据软件编译打包规则对所述强制升级包进行拆包;

解密单元,用于当所述软件编译打包规则存在加密时,基于所述加密的规则对所述软件编译打包规则进行解密,以还原得到原生版本强制升级包;

第二拆包单元,用于对所述原生版本强制升级包进行拆包,得到至少一个模块镜像文件。

可选的,在本申请的一些实施例中,模块镜像文件包括模块镜像父文件,解析模块包括:

第三拆包单元,用于对强制升级包进行拆分,得到至少一个模块镜像子文件;

父文件确定单元,用于确定每个所述模块镜像子文件对应的模块镜像父文件;

合成单元,用于根据模块镜像父文件的文件格式对每个所述模块镜像父文件所对应的至少一个模块镜像子文件进行自动合成,得到至少一个模块镜像父文件。

可选的,在本申请的一些实施例中,模块镜像文件包括压缩后的模块压缩镜像文件,该装置还包括:

解压单元,用于对所述模块压缩镜像文件进行解压,得到至少一个原始格式镜像文件;

修改模块包括:

第三修改单元,用于根据开机默认配置数据,对至少一个原始格式镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件。

本申请实施例通过对第一终端设备上测试完成后生成的强制升级包进行解析,并重新打包生成系统软件所对应的预抄写文件,并在将预抄写文件发送到第二终端设备后,使第二终端设备能够根据预抄写文件生成系统软件,其中,整个预抄写文件的生成过程可以由脚本执行,自动化实现预抄写文件的生成,提高了系统软件生成的效率,其中,在预抄写文件生成过程中还可以对待修改的镜像文件进行修改,实现对终端设备开机初始化的配置。

附图说明

为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的系统软件生成方法的场景示意图;

图2是本申请实施例提供的系统软件生成方法的流程示意图;

图3是本申请实施例提供的预抄写文件生成方法的流程示意图;

图4是本申请实施例提供的系统软件生成装置的结构示意图;

图5是本申请实施例提供的预抄写文件生成框架的结构示意图;

图6是本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例提供一种系统软件生成方法、装置、电子设备及计算机可读存储介质。具体地,本申请实施例提供的系统软件生成方法可以由电子设备来执行,其中,电子设备包括终端设备或者服务器;其中,终端设备可以为电视、手机、笔记本、台式机或者平板电脑等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器等,服务器可以通过有线或无线通信方式进行直接或间接地连接。

具体地,本申请实施例以终端设备执行系统软件生成方法为例,而服务器的执行可以参照系统软件生成方法在终端设备上的执行进行理解,其中,请参阅图1,终端设备执行系统软件生成方法的具体过程如下:

终端设备A获取自身测试完成后的强制升级包,并对获取到的强制升级包进行解析,得到多个模块镜像文件,然后,根据终端设备B中存储器的预设文件分区规则,将多个模块镜像文件写入到空的二进制文件中,得到预抄写文件,随后,将生成的预抄写文件发送给终端设备B,终端设备B接收到终端设备A发送过来的预抄写文件后,根据预抄写文件生成终端设备B自身的系统软件。其中,上述解析和写入的操作可以由服务器进行执行,其可以以终端设备执行为参照进行理解,在此不做具体阐述。

其中,预设分区规则是根据系统软件的部署需求,预先在终端设备B的驱动芯片(EMMC,EmbededMultiMedia Card)上定义好的分区配置定义表,以保证驱动芯片的内存(Flash Memory)在烧录有预抄写文件后,能够直接将驱动芯片贴片到终端设备B的电路板上,并在终端设备B上生成系统软件。

其中,在生成预抄写文件的过程中,可以根据开机默认配置数据的需求,对相应镜像文件中的相应参数进行修改,以实现终端设备B在根据预抄写文件生成系统软件后,能够根据修改后的数据展示相应的开机默认配置数据。

本申请实施例通过对第一终端设备上测试完成后生成的强制升级包进行解析,并重新打包生成系统软件所对应的预抄写文件,并在将预抄写文件发送到第二终端设备后,使第二终端设备能够根据预抄写文件生成系统软件,其中,整个预抄写文件的生成过程可以由脚本执行,自动化实现预抄写文件的生成,提高了系统软件生成的效率,其中,在预抄写文件生成过程中还可以对待修改的镜像文件进行修改,实现对终端设备开机初始化的配置。

以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。

请参阅图2,图2为本申请实施例提供的系统软件生成方法的流程示意图。该系统软件生成方法的具体流程可以如下:

101、获取第一终端设备的系统软件在测试完成后的强制升级包。

其中,由于目前厂家生产的设备多为大批量统一生产,因此,一些终端设备的系统软件是统一,而批量终端设备的系统软件往往是在第一终端设备上测试通过后才进行拷贝和克隆使用的,例如,对第一终端设备上系统软件所对应的强制升级包的拷贝和克隆,因此,在本申请实施例中,获取的是第一终端设备上在测试完成后的系统软件所对应的强制升级包。

其中,在本申请实施例中,测试完成后的系统软件是符合软件质量保证(SQA,Software Quality Assurance)标准的系统软件,其中,软件质量保证是一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用,通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。

其中,在终端设备的系统软件被编译后,界面渲染(UI,User Interface)文件和代码均被编译后,便可以执行脚本(如,批处理文件gencode-img.bat)生成强制升级包,其中,传统情况下,将强制升级包拷贝到第二终端设备的驱动芯片(EMMC,EmbededMultiMediaCard)的内存中,重启终端设备便可以看到升级提示,选择升级即可,但是,传统情况下将强制升级包拷贝到驱动芯片的内存中需要花费大量的时间,因此,本申请采用提取镜像文件的方式自动生成预抄写文件,根据传输预抄写文件来实现第二终端设备系统软件的生成,提高系统软件生成的效率。

102、解析强制升级包,得到至少一个模块镜像文件。

其中,在本申请实施例中,对强制升级包的解析即对强制升级包的拆包,通过拆包得到多个模块镜像文件,其中,拆包的方式可以是根据编译打包规则进行拆包,在本申请实施例中,模块镜像文件包括文件格式为镜像(image)的文件,其中,在本申请实施例中,模块镜像文件为系统软件在各个模块所对应的二进制数据文件。

其中,在本申请实施例中,还可以在对强制升级包进行打包的时候进行加密,以防止强制升级包中数据的泄露,因此,在对强制升级包拆包的之前,需要先对强制升级包进行解密,即,可选的,在一些实施例中,步骤“解析强制升级包,得到至少一个模块镜像文件”,具体可以包括:

根据软件编译打包规则对强制升级包进行拆包;

当软件编译打包规则存在加密时,基于加密的规则对软件编译打包规则进行解密,以还原得到原生版本强制升级包;

对原生版本强制升级包进行拆包,得到至少一个模块镜像文件。

其中,通过对强制升级包的加密,可有效的防止强制升级包中数据的泄露,同时也有效的防止问题数据的恶意录入,提高了系统软件生成的准确性。

其中,根据强制升级包的加密规则确定解密规则,根据解密规则解密后得到原生版本的强制升级包,对原生版本的强制升级包的拆包便可以获取到真实的模块镜像文件。

其中,由于本申请旨在提供一种自动化实现预抄写文件生成以及自动化实现终端设备系统软件生成的方法,所以,整个操作流程由脚本执行、自动化完成相关操作,因此,在操作过程中需要校验强制升级包是否存在加密的情况,当存在加密的情况,则根据加密规则确定解密方法,对强制升级包进行解密,然后,在拆包得到模块镜像文件。其中,加密规则可以根据开发商提供来获取。

其中,由于部分模块镜像文件的数据大小较大,因此,在强制升级包传输过程中需要先对较大的模块镜像文件进行预先拆分,即将模块镜像文件(模块镜像父文件)拆分成多个子文件进行传输,因此,在针对强制升级包进行拆分后得到的多个镜像文件,还需要根据其归属的父文件进行合成,合成为模块镜像父文件,即,可选的,在一些实施例中,步骤“解析强制升级包,得到至少一个模块镜像文件”,具体可以包括:

对强制升级包进行拆分,得到至少一个模块镜像子文件;

确定每个模块镜像子文件对应的模块镜像父文件;

根据模块镜像父文件的文件格式对每个模块镜像父文件所对应的至少一个模块镜像子文件进行自动合成,得到至少一个模块镜像父文件。

其中,根据简单文件传送协议(Tftp,Trivial File Transfer Protocol)的要求,传输的文件大小不能太大,因此,需要对较大的文件预先拆分成较小的可以传输的文件,而为了保证数据的准确性,需要在传输后对各个小的文件合成为原来的大文件;

即,在对强制升级包进行拆分后,得到多个模块镜像子文件,针对这些模块镜像子文件,可以根据其所属的父文件进行重新合成为父文件,实现数据较大的父文件的还原,其中,在对父文件进行还原后,可提高后续预抄写文件生成的准确性。

其中,在合成过程中,可以根据模块镜像子文件的拆分顺序进行依次合成,例如,在拆分过程中,根据父文件的内容的顺序,先后进行子文件的拆分,然后,在子文件合成父文件的时候,可以根据子文件的拆分顺序,合成为原来的父文件,确保文件内容在拆分和合成后不会出现错乱,或者,在拆分过程中,将父文件的内容进行分段传输,每段产生一个子文件,然后,根据父文件中段落的顺序,进行各个子文件的依序合成,均能实现传输前后数据的一致性。

其中,在合成的过程中,还需要根据父文件的格式进行还原,例如,在本申请实施例中,父文件的格式安卓(Android)的稀疏矩阵文件(sparse),则还原的时候可以根据稀疏矩阵文件的格式进行还原。

其中,针对传输前后的数据,还可以根据信息摘要算法(MD5,Message-DigestAlgorithm)来校验数据的一致性,以此确保传输前后数据的一致性,以及提高预抄写文件生成的准确性。

103、根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件。

其中,根据工厂对终端设备初始化的需求,终端设备在开机后需要有默认的配置,即终端设备整机上电开机状态,例如,针对电视,首次开机必须有:TV信源、直接进入到工厂调试模式、默认频道为工厂内部产线频点、串口打开、自动音量关闭、开机时间30秒以内、没有任何用户数据等等,因此,在生成预抄写文件的时候,可以对镜像文件中相应的参数进行修改,使终端设备在根据预抄写文件生成系统软件的时候,能够直接生成开机默认配置数据。

其中,通过开机默认配置数据确定待修改的目标模块镜像文件,可以提高目标模块镜像文件获取的准确性,例如,可以根据开机默认配置数据的数据类型来确定需要修改的目标模块镜像文件。

其中,在通过开机默认配置数据确定待修改的目标模块镜像文件时,可以根据模块镜像文件的目录层次,确定待修改的目标模块镜像文件,即,可选的,在一些实施例中,步骤“根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件”,具体可以包括:

对模块镜像文件进行镜像格式转化,得到至少一个镜像格式转化文件;

确定镜像格式转化文件的镜像文件目录层次;

根据开机默认配置数据和镜像文件目录层次,确定待修改的至少一个镜像格式转化文件;

根据开机默认配置数据对镜像格式转化文件进行修改,得到修改后镜像格式转化文件;

对修改后镜像格式转化文件进行格式恢复,得到至少一个修改后模块镜像文件。

其中,在本申请实施例中,模块镜像文件的镜像格式包括安卓(Android)的稀疏矩阵文件(Sparse),因此,可以将模块镜像文件的格式转化为林纳克斯(linux)的延伸文件(ext),然后,对各个延伸文件进行挂载,得到各个延伸文件的目录层次,然后,根据开机默认配置数据,从目录层次中选取待修改的延伸文件,根据选取的待修改延伸文件,便可以确定待修改的模块镜像文件。

其中,可以根据开机默认配置数据直接对转化后的文件格式的镜像文件进行修改,通过开机默认配置数据,便可以确定待修改的参数值,其中,在对转化后文件进行参数修改后,可以将文件的格式进行还原,还原为第二终端设备需要的系统文件(例如,安卓系统格式的文件),以上便实现了对待修改模块镜像文件的确定和修改。

其中,针对开机默认配置数据在对镜像格式文件进行修改时,可以根据待修改镜像格式转化文件的类型,选择对应的方式进行修改,即,可选的,在一些实施例中,步骤“根据开机默认配置数据对镜像格式转化文件进行修改”,具体可以包括:

当镜像格式转化文件包括数据库文件,直接在数据库文件中,根据数据库操作命令对开机默认配置数据所对应的字段变量值进行修改;

当镜像格式转化文件包括环境变量配置文件,直接打开环境变量配置文件,根据开机默认配置数据对环境变量配置文件中的相应参数进行修改。

其中,针对数据库文件,可以直接登录相应的数据库,调用数据库操作命令,对数据库中的字段变量值进行修改,在修改后保存退出重新生成数据库文件,并替换原来的数据库文件即可,或者,直接对数据库文件中的相应的字段变量值进行修改。

其中,针对环境变量配置文件,可以直接打开该文件,对文件中相应参数进行修改配置即可,例如,对分区环境变量进行修改,如,打开工厂模式、打开串口等,生成分区头文件(如gpt.bin和mpool.bin)。

其中,当待修改的目标模块镜像文件是可执行文件或者静态库文件,则可以直接对相应的模块镜像文件进行修改,即,可选的,在一些实施例中,步骤“根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件”,具体可以包括:

直接单独对目标模块镜像文件的模块代码或者数据进行修改;

将修改后的目标模块镜像文件进行编译,得到修改后模块镜像文件。

其中,通过单独对目标模块镜像文件进行修改,可以提高对模块镜像文件修改的效率,提高预抄写文件的整个生成效率。

其中,在对目标模块镜像文件进行修改后,可以将修改后模块镜像文件直接替换拆包后的同名的模块镜像文件。

其中,在对目标模块镜像文件进行修改时,需要先确定目标模块镜像文件是否为压缩后的文件,当目标模块镜像文件为压缩后文件,还需要先对目标模块镜像文件进行解压,在解压后在进行相应文件参数的修改,即,可选的,在一些实施例中,当模块镜像文件包括压缩后的模块压缩镜像文件,则该方法还包括:

对模块压缩镜像文件进行解压,得到至少一个原始格式镜像文件;

则步骤“根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改”,具体可以包括:

根据开机默认配置数据,对至少一个原始格式镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件。

其中,由于预抄写文件的生成是一个自动化过程,所以,需要对强制升级包拆包后的文件进行检测,检测其是否为压缩文件,其中,压缩文件是需要对其进行解压处理,只有解压后才能对文件内容进行修改处理。

其中,对镜像文件的压缩,可以提高文件数据传输的效率,但是,当需要对镜像文件进行修改时,需要先将压缩文件转为非压缩文件,并且在分区写入二进制文件时,也需要解压后的镜像文件,因此,在预抄写文件自动化生成过程中,可以对镜像文件进行自动解压,其中,在对压缩后镜像文件进行解压时,可以根据压缩文件的类型,调用相应的解压缩软件进行解压。

其中,在对原始格式镜像文件进行修改后,将修改后的镜像文件进行格式还原,便可以得到修改后模块镜像文件。

104、根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件。

其中,剩余模块镜像文件为至少一个模块镜像文件中除目标模块镜像文件以外的至少一个模块镜像文件。

其中,第二终端设备的存储器包括贴片在终端设备电路板上的驱动芯片,其中,第二终端设备的存储器中预设文件分区规则是根据软件项目编译规则,在驱动芯片的内存中已经预先定义的分区配置定义表,其中,根据分区配置定义表将所有镜像文件遍历后依序写入二进制文件来得到预抄写文件,其中,驱动芯片包括内嵌式存储器(EMMC,EmbededMultiMedia Card)。其中,将预抄写文件烧录到驱动芯片中,可以提高系统软件生成的效率。

105、将预抄写文件发送到第二终端设备中,以使得第二终端设备根据预抄写文件生成系统软件。

其中,在第二终端设备的存储器(驱动芯片)中接收到预抄写文件后,第二终端设备便具有了系统软件。具体地,第二终端设备可以将预抄写文件烧录到驱动芯片中,然后将驱动芯片贴片到目标终端系统自身的电路板上,通过将预抄写文件烧录到驱动芯片中,可以提高第二终端设备中系统软件生成的效率。

综上,请参阅图3,图3是本申请实施例预抄写文件生成方法的流程示意图,具体包括:

111、获取测试后释放版本的系统软件强制升级包(Update.img);

112、对强制升级包进行解析或拆包,得到各个模块的模块镜像压缩子文件;

113、对各个模块镜像压缩子文件进行解压,得到模块镜像子文件(解压工具利用Iz4_compress_tool);

114、对模块镜像子文件进行合成,得到至少一个模块镜像父文件;

115、对各个模块镜像父文件进行格式转换,并对转换后模块镜像父文件进行挂载,得到各个模块镜像父文件的目录层次(simg2img:将sparse image转换为ext2格式的raw image);

116、根据开机默认配置数据和目录层次,确定待修改的模块镜像父文件,并对待修改的模块镜像父文件进行修改;

117、将修改后模块镜像父文件和未修改的模块镜像父文件进行重新打包,即进行格式转换,转换为终端设备需要的系统格式(img2simg:将rawext2 image转换为格式的sparse image);

118、将格式转换后的修改后的模块镜像父文件和为修改的模块镜像父文件,根据编译规则写入到空的二进制文件中,得到预抄写文件(根据auto_update.txt文件或scripts/*命令写入)。

其中,通过对强制升级包的拆包、解压、格式转化、挂载、镜像文件内容的修改、打包、写入实现对预抄写文件的生成。

本申请实施例通过对第一终端设备上测试完成后生成的强制升级包进行解析,并重新打包生成系统软件所对应的预抄写文件,并在将预抄写文件发送到第二终端设备后,使第二终端设备能够根据预抄写文件生成系统软件,其中,整个预抄写文件的生成过程可以由脚本执行,自动化实现预抄写文件的生成,提高了系统软件生成的效率,其中,在预抄写文件生成过程中还可以对待修改的镜像文件进行修改,实现对终端设备开机初始化的配置。

为便于更好的实施本申请的系统软件生成方法,本申请还提供一种基于上述系统软件生成方法的系统软件生成装置。其中名词的含义与上述系统软件生成方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图4,图4为本申请实施例提供的系统软件生成装置的结构示意图,其中该系统软件生成装置可以包括获取模块201、解析模块202、修改模块203、写入模块204和生成模块205,具体可以如下:

获取模块201,用于获取第一终端设备的系统软件在测试完成后的强制升级包。

其中,由于目前厂家生产的设备多为大批量统一生产,因此,一些终端设备的系统软件是统一,而批量终端设备的系统软件往往是在第一终端设备上测试通过后才进行拷贝和克隆使用的,因此,在本申请实施例中,获取的是第一终端设备上在测试完成后的系统软件所对应的强制升级包。

其中,在终端设备的系统软件被编译后,界面渲染(UI,User Interface)文件和代码均被编译后,便可以执行脚本(如,批处理文件gencode-img.bat)生成强制升级包,其中,传统情况下,将强制升级包拷贝到第二终端设备的驱动芯片(EMMC,EmbededMultiMediaCard)的内存中,重启终端设备便可以看到升级提示,选择升级即可,但是传统情况下将强制升级包拷贝到驱动芯片的内存中需要花费大量的时间,因此,本申请采用提取镜像文件的方式自动生成预抄写文件,根据传输预抄写文件来实现第二终端设备系统软件的生成,提高系统软件生成的效率。

解析模块202,用于解析强制升级包,得到至少一个模块镜像文件。

其中,在本申请实施例中,对强制升级包的解析即对强制升级包的拆包,通过拆包得到多个模块镜像文件,其中,拆包的方式可以是根据编译打包规则进行拆包,在本申请实施例中,模块镜像文件包括镜像(image)文件。

可选的,在本申请的一些实施例中,解析模块包括:

第一拆包单元,用于根据软件编译打包规则对强制升级包进行拆包;

解密单元,用于当软件编译打包规则存在加密时,基于加密的规则对软件编译打包规则进行解密,以还原得到原生版本强制升级包;

第二拆包单元,用于对原生版本强制升级包进行拆包,得到至少一个模块镜像文件。

其中,通过对强制升级包的加密,可有效的防止强制升级包中数据的泄露,同时也有效的防止问题数据的录入,提高了系统软件生成的准确性。

其中,根据强制升级包的加密规则确定解密规则,根据解密规则解密后得到原生版本的强制升级包,对原生版本的强制升级包的拆包便可以获取到真实的模块镜像文件。

可选的,在本申请的一些实施例中,模块镜像文件包括模块镜像父文件,解析模块包括:

第三拆包单元,用于对强制升级包进行拆分,得到至少一个模块镜像子文件;

父文件确定单元,用于确定每个模块镜像子文件对应的模块镜像父文件;

合成单元,用于根据模块镜像父文件的文件格式对每个模块镜像父文件所对应的至少一个模块镜像子文件进行自动合成,得到至少一个模块镜像父文件。

其中,根据简单文件传送协议(Tftp,Trivial File Transfer Protocol)的要求,传输的文件大小不能太大,因此,需要对较大的文件预先拆分成较小的可以传输的文件,而为了保证数据的准确性,需要在传输后对各个小的文件合成为原来的大文件;

即,在对强制升级包进行拆分后,得到多个模块镜像子文件,针对这些模块镜像子文件,可以根据其所属的父文件进行重新合成为父文件,实现数据较大的父文件的还原,其中,在对父文件进行还原后,可提高后续预抄写文件生成的准确性。

其中,在合成过程中,可以根据模块镜像子文件的拆分顺序进行依次合成,例如,在拆分过程中,根据父文件的内容的顺序,先后进行子文件的拆分,然后,在子文件合成父文件的时候,可以根据子文件的拆分顺序,合成为原来的父文件,确保文件内容在拆分和合成后不会出现错乱,或者,在拆分过程中,将父文件的内容进行分段传输,每段产生一个子文件,然后,根据父文件中段落的顺序,进行各个子文件的依序合成,均能实现传输前后数据的一致性。

其中,针对传输前后的数据,还可以根据信息摘要算法(MD5,Message-DigestAlgorithm)来校验数据的一致性,以此确保传输前后数据的一致性,以及提高预抄写文件生成的准确性。

修改模块203,用于根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件。

其中,根据工厂对终端设备初始化的需求,终端设备在开机后需要有默认的配置,即终端设备整机上电开机状态,例如,针对电视,首次开机必须有:TV信源、直接进入到工厂调试模式、默认频道为工厂内部产线频点、串口打开、自动音量关闭、开机时间30秒以内、没有任何用户数据等等,因此,在生成预抄写文件的时候,可以对镜像文件中相应的参数进行修改,使终端设备在根据预抄写文件生成系统软件的时候,能够直接生成开机默认配置数据。

其中,通过开机默认配置数据确定待修改的目标模块镜像文件,可以提高目标模块镜像文件获取的准确性,例如,可以根据开机默认配置数据的数据类型来确定需要修改的目标模块镜像文件。

可选的,在本申请的一些实施例中,修改模块包括:

转化单元,用于对模块镜像文件进行镜像格式转化,得到至少一个镜像格式转化文件;

目录确定单元,用于确定镜像格式转化文件的镜像文件目录层次;

文件确定单元,用于根据开机默认配置数据和镜像文件目录层次,确定待修改的至少一个镜像格式转化文件;

第一修改单元,用于根据开机默认配置数据对镜像格式转化文件进行修改,得到修改后镜像格式转化文件;

对修改后镜像格式转化文件进行格式恢复,得到至少一个修改后模块镜像文件。

其中,通过确定镜像文件的目录层级,在根据开机默认配置数据便可以确定出待修改的镜像文件,同时,根据开机默认配置数据便可以确定镜像文件中待修改的参数值。

其中,通过对镜像文件格式的转化,可以获取到镜像文件的目录层级,即对各个镜像文件进行挂载,得到镜像文件的目录层次。

可选的,在本申请的一些实施例中,第一修改单元包括:

第一修改子单元,用于当镜像格式转化文件包括数据库文件,直接在数据库文件中,根据数据库操作命令对开机默认配置数据所对应的字段变量值进行修改;

第二修改子单元,用于当镜像格式转化文件包括环境变量配置文件,直接打开环境变量配置文件,根据开机默认配置数据对环境变量配置文件中的相应参数进行修改。

其中,针对数据库文件,可以直接登录相应的数据库,调用数据库操作命令,对数据库中的字段变量值进行修改,在修改后保存退出重新生成数据库文件,并替换原来的数据库文件即可,或者,直接对数据库文件中的相应的字段变量值进行修改。

其中,针对环境变量配置文件,可以直接打开该文件,对文件中相应参数进行修改配置即可,例如,对分区环境变量进行修改,如,打开工厂模式、打开串口等,生成分区头文件(如gpt.bin和mpool.bin)。

可选的,在本申请的一些实施例中,当目标模块镜像文件包括可执行文件或者静态库文件,修改模块包括:

第二修改单元,用于直接单独对目标模块镜像文件的模块代码或者数据进行修改;

编译单元,用于将修改后的目标模块镜像文件进行编译,得到修改后模块镜像文件。

其中,通过单独对目标模块镜像文件进行修改,可以提高对模块镜像文件修改的效率,提高预抄写文件的整个生成效率。

可选的,在本申请的一些实施例中,模块镜像文件包括压缩后的模块压缩镜像文件,该装置还包括:

解压单元,用于对模块压缩镜像文件进行解压,得到至少一个原始格式镜像文件;

修改模块包括:

第三修改单元,用于根据开机默认配置数据,对至少一个原始格式镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件。

其中,由于预抄写文件的生成是一个自动化过程,所以,需要对强制升级包拆包后的文件进行检测,检测其是否为压缩文件,其中,压缩文件是需要对其进行解压处理,只有解压后才能对文件内容进行修改处理。

写入模块204,用于根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件。

其中,第二终端设备中存储器包括贴片在终端设备电路板上的驱动芯片,其中,第二终端设备中存储器的预设文件分区规则是根据软件项目编译规则,在驱动芯片的内存中已经预先定义的分区配置定义表,其中,根据分区配置定义表将所有镜像文件遍历后依序写入二进制文件来得到预抄写文件,其中,驱动芯片包括内嵌式存储器(EMMC,EmbededMultiMedia Card)。其中,将预抄写文件烧录到驱动芯片中,可以提高系统软件生成的效率。

生成模块205,用于将预抄写文件发送到第二终端设备中,以使得第二终端设备根据预抄写文件生成系统软件。

其中,在第二终端设备的存储器(驱动芯片)中接收到预抄写文件后,第二终端设备便具有了系统软件。具体地,第二终端设备可以将预抄写文件烧录到驱动芯片中,然后将驱动芯片贴片到目标终端系统自身的电路板上,通过将预抄写文件烧录到驱动芯片中,可以提高第二终端设备中系统软件生成的效率。

本申请实施例首先由获取模块201获取第一终端设备在测试完成通过后的强制升级包,其次,由解析模块202对获取模块201获取到的强制升级包进行解析,得到至少一个模块镜像文件,随后,由修改模块203根据开机默认配置数据确定待修改的模块镜像文件,并根据开机默认配置数据对模块镜像文件中相应的参数进行修改,得到修改后的模块镜像文件,然后,由写入模块204根据第二终端设备中存储器的预设文件分区规则将剩余不需要修改的模块镜像文件和修改后模块镜像文件一起写入到空的二进制文件中,得到预抄写文件,最后,由生成模块205将预抄写文件发送给上述存储器中,使第二终端设备能够根据预抄写文件生成系统软件;其中,本申请实施例通过对第一终端设备上测试完成后生成的强制升级包进行解析,并重新打包生成系统软件所对应的预抄写文件,并在将预抄写文件发送到第二终端设备后,使第二终端设备能够根据预抄写文件生成系统软件,其中,整个预抄写文件的生成过程可以由脚本执行,自动化实现预抄写文件的生成,提高了系统软件生成的效率,其中,在预抄写文件生成过程中还可以对待修改的镜像文件进行修改,实现对终端设备开机初始化的配置。

其中,在本申请实施例中,预抄写文件的生成可以由脚本执行来完成,例如,请参阅图5,图5是脚本执行生成预抄写文件的框架图,具体包括:

拆包模块301:对强制升级包进行拆包,得到至少一个模块镜像文件;

解压模块302:当模块镜像文件为压缩后的模块镜像压缩文件,则对模块镜像压缩文件进行解压,得到模块镜像文件;

格式转化模块303:将模块镜像文件由安卓的稀疏矩阵文件格式转换为林纳克斯的延伸文件;

挂载模块304:将延伸文件进行挂载,得到各个延伸文件的目录层次;

修改模块305:根据开机默认配置数据和目录层次,确定待修改的延伸文件,并对待修改的延伸文件进行对应的修改;

打包模块306:将修改后的延伸文件进行格式还原,重新转换为安卓的稀疏矩阵文件所对应的模块镜像文件;

写入模块307:将未修改的模块镜像文件和修改后的模块镜像文件一起写入到预设的二进制文件中,生成预抄写文件;

脚本调度管理308:用于调度上述各模块的执行,生成预抄写文件。

其中,通过脚本的调度执行,实现预抄写文件的自动化生成,提高了预抄写文件生成的效率,进一步提高后续终端设备系统软件的生成效率。

此外,本申请还提供一种电子设备,如图6所示,其示出了本申请所涉及的电子设备的结构示意图,具体来讲:

该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成系统软件处理器和调制解调处理器,其中,系统软件处理器主要处理操作系统、用户界面和系统软件程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能系统软件以及解码处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的系统软件程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的系统软件程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的系统软件程序,从而实现各种功能,如下:

获取第一终端设备的系统软件在测试完成后的强制升级包;解析强制升级包,得到至少一个模块镜像文件;根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件;根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件;将预抄写文件发送到第二终端设备中,以使得第二终端设备根据预抄写文件生成系统软件。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

通过对第一终端设备上测试完成后生成的强制升级包进行解析,并重新打包生成系统软件所对应的预抄写文件,并在将预抄写文件发送到第二终端设备后,使第二终端设备能够根据预抄写文件生成系统软件,其中,整个预抄写文件的生成过程可以由脚本执行,自动化实现预抄写文件的生成,提高了系统软件生成的效率,其中,在预抄写文件生成过程中还可以对待修改的镜像文件进行修改,实现对终端设备开机初始化的配置。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请所提供的任一种系统软件生成方法中的步骤。例如,该指令可以执行如下步骤:

获取第一终端设备的系统软件在测试完成后的强制升级包;解析强制升级包,得到至少一个模块镜像文件;根据开机默认配置数据,对至少一个模块镜像文件中选取的目标模块镜像文件进行修改,得到修改后模块镜像文件;根据第二终端设备中存储器的预设文件分区规则,将剩余模块镜像文件和修改后模块镜像文件分别写入到预设的空的二进制文件中,得到预抄写文件;将预抄写文件发送到第二终端设备中,以使得第二终端设备根据预抄写文件生成系统软件。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该计算机可读存储介质中所存储的指令,可以执行本申请所提供的任一种系统软件生成方法中的步骤,因此,可以实现本申请所提供的任一种系统软件生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请所提供的一种系统软件生成方法、装置、电子设备以及计算机可读存储介质进行了详细介绍,本文中系统软件了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及系统软件范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种产品性能调整方法、装置、电子设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!