CN112416359A - 动态分区定制方法、装置、设备和计算机可读存储介质 - Google Patents
动态分区定制方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112416359A CN112416359A CN202011321286.5A CN202011321286A CN112416359A CN 112416359 A CN112416359 A CN 112416359A CN 202011321286 A CN202011321286 A CN 202011321286A CN 112416359 A CN112416359 A CN 112416359A
- Authority
- CN
- China
- Prior art keywords
- file
- image
- oem
- partition
- super
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005192 partition Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000008859 change Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 22
- 230000006837 decompression Effects 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及嵌入式领域,提供了动态分区定制方法、装置、设备和计算机可读存储介质,以加快开发和版本编译速度,并减少对服务器资源的占用。所述方法包括:在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;根据超级分区内的文件生成分散加载文件,其中,分散加载文件记载了OEM image子文件段;根据多个不同用户中一个用户的需求变更,下载与变更的需求对应的OEM image子文件段;根据分散加载文件以及与变更的需求对应的OEM image子文件段,生成超级分区定制文件。本申请的技术方案加快了开发和版本编译速度,并减少对服务器资源的占用。
Description
技术领域
本发明涉及嵌入式领域,特别涉及一种动态分区定制方法、装置、设备和计算机可读存储介质。
背景技术
Android从Q版本开始就采用动态分区方式,这是一种可以通过无线下载(OverThe Air,OTA)更新来创建、销毁分区或调整分区大小的用户空间分区系统。系统为设备分配一个动态分区,其中的子分区可动态地调整大小。目前,虽然现有的动态分区定制方法可以充分利用嵌入式多媒体卡(Embedded Multi Media Card,EMMC)协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格定制整个动态分区。然而,由于动态分区的size较大(可能达到6G以上),当需要适配不同客户时,定制整个动态分区会导致服务器资源占据过大。
发明内容
本申请提供一种动态分区定制方法、装置、设备和计算机可读存储介质,以加快开发和版本编译速度,并减少对服务器资源的占用。
一方面,本申请提供了一种动态分区定制方法,包括:
在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;
根据超级分区内的文件生成分散加载文件,所述分散加载文件记载了OEM image子文件段;
根据所述多个不同用户中一个用户的需求变更,下载与所述变更的需求对应的OEM image子文件段;
根据所述分散加载文件以及与所述变更的需求对应的OEM image子文件段,生成超级分区定制文件。
另一方面,本申请提供了一种动态分区定制装置,包括:
第一生成模块,用于在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;
第二生成模块,用于根据超级分区内的文件生成分散加载文件,所述分散加载文件记载了OEM image子文件段;
下载模块,用于根据所述多个不同用户中一个用户的需求变更,下载与所述变更的需求对应的OEM image子文件段;
第三生成模块,用于根据所述分散加载文件以及与所述变更的需求对应的OEMimage子文件段,生成超级分区定制文件。
第三方面,本申请提供了一种设备,所述设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述技术方案的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案的方法的步骤。
从上述本申请提供的技术方案可知,由于在编译时,生成了与多个不同用户需求对应的多个OEM image文件,当多个不同用户中某个用户需求有变动时,在下载OEM image时,只需下载与该用户需求对应的OEM image子文件段,无需下载其他用户对应的OEMimage子文件段,因此,实现了超级分区内OEM image的单独编译,加快开发及版本编译速度,也减少了对服务器资源的占用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的动态分区定制方法的流程图;
图2是本申请实施例提供的在服务器中m个子映像文件(image)和k个OEM image文件的存储示意图;
图3是本申请实施例提供的超级分区解压缩文件被分割及其子文件段被下载的示意图;
图4是本申请实施例提供的动态分区定制装置的结构示意图;
图5是本申请实施例提供的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
本申请提出了一种动态分区定制方法,如附图1所示,主要包括步骤S101至S104,详述如下:
步骤S101:在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件。
以Android系统为例,其超级(super)分区是一种可以通过OTA更新来创建、销毁分区或调整分区大小的用户空间分区系统为设备分配的分区,其中的子分区可动态地调整大小,单个分区映像(image)不再需要为将来的OTA预留空间,超级分区中剩余的可用空间可用于所有超级分区;超级分区存放的超级映像(super image)文件包括原始设备制造商映像OEM image文件。本申请的技术方案是在编译时生成与多个不同用户需求对应的多个OEMimage文件,并存放于服务器中。例如,对于用户U1、用户U2和用户U3,可以在编译时生成与用户U1的需求对应的OEM image-1、与用户U2的需求对应的OEM image-2以及与用户U3的需求对应的OEM image-3,将OEM image-1、OEM image-2和OEM imag-3存放于服务器中。
作为本申请一个实施例,在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件可通过如下步骤S1011和步骤S1012实现:
步骤S1011:在编译过程中在超级分区为多个OEM image文件中每个OEM image文件预留最大存储空间。
具体地,在编译过程中在超级分区为多个OEM image文件中每个OEM image文件预留最大存储空间可以是:将超级分区的空间减去超级分区中其他子映像文件占据的空间,剩余的空间分配给多个OEM image文件中每个OEM image文件,例如,超级分区的空间的大小以S-total表示,其他子映像文件占据的空间使用S-others表示,则S-total-S-others的结果就是分配给多个OEM image文件的空间中每个OEM image文件。
步骤S1012:将生成的每个OEM image文件保存至预留下来的最大存储空间。
具体而言,将生成的每个OEM image文件保存至预留下来的最大存储空间可以是:调整超级分区中各个子映像文件的存放顺序,将其他子映像文件存放于超级分区的前面(这些分区大小就是S-others表示的空间的大小),将多个OEM image文件中的一个保存至超级分区的最末尾部分空间,如附图2所示,是m个子映像文件(image)和k个OEM image文件在服务器中的存储示意图。
步骤S102:根据超级分区内的文件生成分散加载文件,其中,分散加载文件记载了OEM image子文件段。
在本申请实施例中,所谓分散加载文件(即scatterfile),是ARM连接器提供的一个机制即分散加载(scatter loading)机制,将一个可执行映像文件(即Bin文件)分割放置至内存中不同的独立段,在装载和执行时,可以为分散加载文件记载的每一个文件段指定不同的存储区域地址。作为本申请一个实施例,根据超级分区内的文件生成分散加载文件可通过步骤S1021至步骤S1023实现,说明如下:
步骤S1021:解压超级分区内的文件,得到超级分区解压缩文件。
需要说明的是,超级分区内的文件即超级映像文件(super image文件)是稀疏格式的文件,该稀疏格式的文件不能直接被后续步骤处理,需要进行解压缩。在本申请实施例中,是采用simg2img将超级映像文件进行解压缩操作,得到raw格式的超级分区解压缩文件。
步骤S1022:截取超级分区解压缩文件中前固定字节数的文件,生成头文件段。
例如,通过截取超级分区解压缩文件中前1M字节数的文件,得到头(head)文件段,该头文件段包含了原super image的所有信息。
步骤S1023:根据超级分区解压缩文件分割为包含其他子映像文件段、头文件段和OEM image子文件段在EMMC中的位置,生成分散加载文件。
具体而言,可以使用lpdump解析raw格式的超级分区解压缩文件,根据lpdump出来的信息计算出超级映像文件的各个映像文件在EMMC的位置,生成分散加载文件,生成分散加载文件时,记录了超级映像文件被分割为头文件段、其他子映像文件段和OEM image子文件段。如附图3所示,超级分区解压缩文件分割为包含4个子映像文件段(image-1、image-2、image-3和image-4)、一头文件段和OEM image子文件段(OEM image-1),或4个子映像文件段(image-1、image-2、image-3和image-4)、一个头文件段和一个OEM image子文件段(OEMimage-2),或4个子映像文件段(image-1、image-2、image-3和image-4)、一个头文件段和一个OEM image-3),其记录于分散加载文件。
步骤S103:根据多个不同用户中一个用户的需求变更,下载与变更的需求对应的OEM image子文件段。
以附图2或附图3的示例,假设用户U1的需求变更,则下载与用户U1的需求对应的OEM image子文件段即OEM image-1。当然,作为各个用户共用的部分,其他4个子映像文件段(image-1、image-2、image-3和image-4)和头文件段仍然需要下载。类似地,若用户U2的需求变更,则下载与用户U2的需求对应的OEM image子文件段即OEM image-2、其他4个子映像文件段(image-1、image-2、image-3和image-4)和头文件段;若用户U3的需求变更,则下载与用户U3的需求对应的OEM image子文件段即OEM image-3、其他4个子映像文件段(image-1、image-2、image-3和image-4)和头文件段。
步骤S104:根据分散加载文件以及与变更的需求对应的OEM image子文件段,生成超级分区定制文件。
例如,对于前述实施例中提及的用户U1,可以在经步骤S103下载了与其变更的需求对应的OEM image-1后,连同4个子映像文件段(image-1、image-2、image-3和image-4)和头文件段一起,编译生成与用户U1对应的超级分区定制文件;类似地,对于前述实施例中提及的用户U2,可以在经步骤S103下载了与其变更的需求对应的OEM image-2后,连同4个子映像文件段(image-1、image-2、image-3和image-4)和头文件段一起,编译生成与用户U2对应的超级分区定制文件,等等。
从上述附图1示例的动态分区定制方法可知,由于在编译时,生成了与多个不同用户需求对应的多个OEM image文件,当多个不同用户中某个用户需求有变动时,在下载OEMimage时,只需下载与该用户需求对应的OEM image子文件段,无需下载其他用户对应的OEMimage子文件段,因此,实现了动态分区内OEM image的单独编译,加快开发及版本编译速度,也减少了对服务器资源的占用。
请参阅附图4,是本申请实施例提供的一种动态分区定制装置,该装置可以包括第一生成模块401、第二生成模块402、下载模块403和第三生成模块404,详述如下:
第一生成模块401,用于在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;
第二生成模块402,用于根据超级分区内的文件生成分散加载文件,其中,分散加载文件记载了OEM image子文件段;
下载模块403,用于根据多个不同用户中一个用户的需求变更,下载与变更的需求对应的OEM image子文件段;
第三生成模块404,用于根据分散加载文件以及与变更的需求对应的OEM image子文件段,生成超级分区定制文件。
可选地,附图2示例的第一生成模块401可以包括预留单元和保存单元,其中:
预留单元,用于在编译过程中在超级分区中为多个OEM image文件中每个OEMimage文件预留最大存储空间;
保存单元,用于将OEM image文件保存至最大存储空间。
可选地,前述预留单元具体用于将超级分区的空间减去超级分区中其他子映像文件占据的空间,剩余的空间分配给多个OEM image文件中每个OEM image文件,保存单元具体用于将OEM image文件保存至超级分区的最末尾部分空间。
可选地,附图2示例的第二生成模块402可以包括解压单元、截取单元和分割单元,其中:
解压单元,用于解压超级分区内的文件,得到超级分区解压缩文件;
截取单元,用于截取超级分区解压缩文件中前固定字节数的文件,生成头文件段;
分割单元,用于根据超级分区解压缩文件分割为包含其他子映像文件段、头文件段和OEM image子文件段在EMMC中的位置,生成分散加载文件。
从以上技术方案的描述中可以看出,由于在编译时,生成了与多个不同用户需求对应的多个OEM image文件,当多个不同用户中某个用户需求有变动时,在下载OEM image时,只需下载与该用户需求对应的OEM image子文件段,无需下载其他用户对应的OEMimage子文件段,因此,实现了动态分区内OEM image的单独编译,加快开发及版本编译速度,也减少了对服务器资源的占用。
图5是本申请一实施例提供的设备的结构示意图。如图5所示,该实施例的设备5主要包括:处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52,例如动态分区定制方法的程序。处理器50执行计算机程序52时实现上述动态分区定制方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,处理器50执行计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图2所示第一生成模块401、第二生成模块402、下载模块403和第三生成模块404的功能。
示例性地,动态分区定制方法的计算机程序52主要包括:在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;根据超级分区内的文件生成分散加载文件,其中,分散加载文件记载了OEM image子文件段;根据多个不同用户中一个用户的需求变更,下载与变更的需求对应的OEM image子文件段;根据分散加载文件以及与变更的需求对应的OEM image子文件段,生成超级分区定制文件。计算机程序52可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器51中,并由处理器50执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序52在设备5中的执行过程。例如,计算机程序52可以被分割成第一生成模块401、第二生成模块402、下载模块403和第三生成模块404(虚拟装置中的模块)的功能,各模块具体功能如下:第一生成模块401,用于在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;第二生成模块402,用于根据超级分区内的文件生成分散加载文件,其中,分散加载文件记载了OEM image子文件段;下载模块403,用于根据多个不同用户中一个用户的需求变更,下载与变更的需求对应的OEMimage子文件段;第三生成模块404,用于根据分散加载文件以及与变更的需求对应的OEMimage子文件段,生成超级分区定制文件。
设备5可包括但不仅限于处理器50、存储器51。本领域技术人员可以理解,图5仅仅是设备5的示例,并不构成对设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processjng Unjt,CPU),还可以是其他通用处理器、数字信号处理器(Djgjtal Sjgnal Processor,DSP)、专用集成电路(Appljcatjon Specjfjc Jntegrated Cjrcujt,ASJC)、现成可编程门阵列(Fjeld-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器51可以是设备5的内部存储单元,例如设备5的硬盘或内存。存储器51也可以是设备5的外部存储设备,例如设备5上配备的插接式硬盘,智能存储卡(Smart MedjaCard,SMC),安全数字(Secure Djgjtal,SD)卡,闪存卡(Flash Card)等。进一步地,存储器51还可以既包括设备5的内部存储单元也包括外部存储设备。存储器51用于存储计算机程序以及设备所需的其他程序和数据。存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,动态分区定制方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;根据超级分区内的文件生成分散加载文件,其中,分散加载文件记载了OEM image子文件段;根据多个不同用户中一个用户的需求变更,下载与变更的需求对应的OEM image子文件段;根据分散加载文件以及与变更的需求对应的OEM image子文件段,生成超级分区定制文件。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种动态分区定制方法,其特征在于,所述方法包括:
在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;
根据超级分区内的文件生成分散加载文件,所述分散加载文件记载了OEM image子文件段;
根据所述多个不同用户中一个用户的需求变更,下载与所述变更的需求对应的OEMimage子文件段;
根据所述分散加载文件以及与所述变更的需求对应的OEM image子文件段,生成超级分区定制文件。
2.如权利要求1所述动态分区定制方法,其特征在于,所述在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件,包括:
在编译过程中在所述超级分区为所述多个OEM image文件中每个OEM image文件预留最大存储空间;
将所述生成的OEM image文件保存至所述最大存储空间。
3.如权利要求2所述动态分区定制方法,其特征在于,所述在编译过程中在所述超级分区为所述OEM image文件预留最大存储空间,包括:将所述超级分区的空间减去所述超级分区中其他子映像文件占据的空间,剩余的空间分配给所述多个OEM image文件中每个OEMimage文件;
所述将所述OEM image文件保存至所述最大存储空间,包括:将所述OEM image文件保存至所述超级分区的最末尾部分空间。
4.如权利要求1所述动态分区定制方法,其特征在于,所述根据超级分区内的文件生成分散加载文件,包括:
解压所述超级分区内的文件,得到超级分区解压缩文件;
截取所述超级分区解压缩文件中前固定字节数的文件,生成头文件段;
根据所述超级分区解压缩文件分割为包含其他子映像文件段、所述头文件段和所述OEM image子文件段在EMMC中的位置,生成分散加载文件。
5.一种动态分区定制装置,其特征在于,所述装置包括:
第一生成模块,用于在编译时生成与多个不同用户需求对应的多个原始设备制造商映像OEM image文件;
第二生成模块,用于根据超级分区内的文件生成分散加载文件,所述分散加载文件记载了OEM image子文件段;
下载模块,用于根据所述多个不同用户中一个用户的需求变更,下载与所述变更的需求对应的OEM image子文件段;
第三生成模块,用于根据所述分散加载文件以及与所述变更的需求对应的OEM image子文件段,生成超级分区定制文件。
6.如权利要求5所述动态分区定制装置,其特征在于,所述第一生成模块包括:
预留单元,用于在编译过程中在所述超级分区中为所述多个OEM image文件中每个OEMimage文件预留最大存储空间;
保存单元,用于将所述OEM image文件保存至所述最大存储空间。
7.如权利要求6所述动态分区定制装置,其特征在于,所述预留单元具体用于将所述超级分区的空间减去所述超级分区中其他子映像文件占据的空间,剩余的空间分配给所述多个OEM image文件中每个OEM image文件;
所述保存单元具体用于将所述OEM image文件保存至所述超级分区的最末尾部分空间。
8.如权利要求5所述动态分区定制装置,其特征在于,所述第二生成模块包括:
解压单元,用于解压所述超级分区内的文件,得到超级分区解压缩文件;
截取单元,用于截取所述超级分区解压缩文件中前固定字节数的文件,生成头文件段;
分割单元,用于根据所述超级分区解压缩文件分割为包含其他子映像文件段、所述头文件段和所述OEM image子文件段在EMMC中的位置,生成分散加载文件。
9.一种设备,所述设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011321286.5A CN112416359A (zh) | 2020-11-23 | 2020-11-23 | 动态分区定制方法、装置、设备和计算机可读存储介质 |
PCT/CN2020/136015 WO2022104964A1 (zh) | 2020-11-23 | 2020-12-14 | 动态分区定制方法、装置和设备 |
US18/320,190 US20230289156A1 (en) | 2020-11-23 | 2023-05-18 | Dynamic partition customization method and apparatus, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011321286.5A CN112416359A (zh) | 2020-11-23 | 2020-11-23 | 动态分区定制方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416359A true CN112416359A (zh) | 2021-02-26 |
Family
ID=74778083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011321286.5A Pending CN112416359A (zh) | 2020-11-23 | 2020-11-23 | 动态分区定制方法、装置、设备和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230289156A1 (zh) |
CN (1) | CN112416359A (zh) |
WO (1) | WO2022104964A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821221A (zh) * | 2021-06-15 | 2021-12-21 | 荣耀终端有限公司 | 安装操作系统的方法、设备、存储介质及计算机程序产品 |
CN114185491A (zh) * | 2021-12-13 | 2022-03-15 | 惠州Tcl移动通信有限公司 | 一种分区文件的下载方法、装置、存储介质及计算机设备 |
CN114461257A (zh) * | 2021-07-29 | 2022-05-10 | 荣耀终端有限公司 | 操作系统数据配置方法、设备、存储介质及程序产品 |
WO2022262748A1 (zh) * | 2021-06-15 | 2022-12-22 | 荣耀终端有限公司 | 操作系统的管理方法、设备、存储介质及计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8146076B1 (en) * | 2007-09-17 | 2012-03-27 | Symantec Corporation | Systems and methods for customizing boot disk images using prioritization |
CN106775723A (zh) * | 2016-12-16 | 2017-05-31 | 深圳市优博讯科技股份有限公司 | 基于Android平台的系统固件定制的方法和Android设备 |
CN106775650A (zh) * | 2016-11-25 | 2017-05-31 | 珠海我爱拍科技有限公司 | 一种基于定制Android系统的升级方法 |
CN110109695A (zh) * | 2019-04-17 | 2019-08-09 | 华为技术有限公司 | 补丁方法、相关装置及系统 |
CN111694589A (zh) * | 2020-06-15 | 2020-09-22 | Oppo(重庆)智能科技有限公司 | 升级包生成方法、装置、服务器及计算机可读存储介质 |
-
2020
- 2020-11-23 CN CN202011321286.5A patent/CN112416359A/zh active Pending
- 2020-12-14 WO PCT/CN2020/136015 patent/WO2022104964A1/zh active Application Filing
-
2023
- 2023-05-18 US US18/320,190 patent/US20230289156A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8146076B1 (en) * | 2007-09-17 | 2012-03-27 | Symantec Corporation | Systems and methods for customizing boot disk images using prioritization |
CN106775650A (zh) * | 2016-11-25 | 2017-05-31 | 珠海我爱拍科技有限公司 | 一种基于定制Android系统的升级方法 |
CN106775723A (zh) * | 2016-12-16 | 2017-05-31 | 深圳市优博讯科技股份有限公司 | 基于Android平台的系统固件定制的方法和Android设备 |
CN110109695A (zh) * | 2019-04-17 | 2019-08-09 | 华为技术有限公司 | 补丁方法、相关装置及系统 |
CN111694589A (zh) * | 2020-06-15 | 2020-09-22 | Oppo(重庆)智能科技有限公司 | 升级包生成方法、装置、服务器及计算机可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821221A (zh) * | 2021-06-15 | 2021-12-21 | 荣耀终端有限公司 | 安装操作系统的方法、设备、存储介质及计算机程序产品 |
CN113821221B (zh) * | 2021-06-15 | 2022-09-23 | 荣耀终端有限公司 | 安装操作系统的方法、设备及存储介质 |
WO2022262748A1 (zh) * | 2021-06-15 | 2022-12-22 | 荣耀终端有限公司 | 操作系统的管理方法、设备、存储介质及计算机程序产品 |
CN114461257A (zh) * | 2021-07-29 | 2022-05-10 | 荣耀终端有限公司 | 操作系统数据配置方法、设备、存储介质及程序产品 |
CN114461257B (zh) * | 2021-07-29 | 2023-03-24 | 荣耀终端有限公司 | 操作系统数据配置方法、设备、存储介质及程序产品 |
CN114185491A (zh) * | 2021-12-13 | 2022-03-15 | 惠州Tcl移动通信有限公司 | 一种分区文件的下载方法、装置、存储介质及计算机设备 |
CN114185491B (zh) * | 2021-12-13 | 2024-01-19 | 惠州Tcl移动通信有限公司 | 一种分区文件的下载方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230289156A1 (en) | 2023-09-14 |
WO2022104964A1 (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416359A (zh) | 动态分区定制方法、装置、设备和计算机可读存储介质 | |
JP7127010B2 (ja) | リソースの割り当て方法、装置、電子設備、コンピュータ可読媒体およびコンピュータプログラム | |
US20170308369A1 (en) | Data processing method and device of preset application after upgrading | |
CN110704202B (zh) | 多媒体录制数据共享方法及终端设备 | |
KR20140146458A (ko) | 메모리 관리 방법 및 장치 | |
CN114244717A (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN112954244A (zh) | 监控录像的存储实现方法、装置、设备及存储介质 | |
CN111104178A (zh) | 一种动态库加载方法、终端装置及存储介质 | |
CN109857454A (zh) | 安装包生成与缓存方法、装置、电子设备及存储介质 | |
CN114302040A (zh) | 多应用共享单一摄像头的方法及相关产品 | |
CN111324457A (zh) | 一种gpu集群中发布推理服务的方法、装置、设备和介质 | |
CN109739440B (zh) | 分布式共享存储方法、存储介质、电子设备及系统 | |
CN110990356A (zh) | 一种用于逻辑镜像的实时自动扩容方法和系统 | |
CN109408191A (zh) | 页面更新方法、装置、设备及存储介质 | |
WO2018161791A1 (zh) | 可执行文件的压缩方法及装置 | |
CN113127430A (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN114090083B (zh) | 一种可视化组件配置方法、装置、设备及存储介质 | |
CN113064655B (zh) | 一种bios网络启动方法、装置和计算机可读存储介质 | |
CN114253704A (zh) | 一种分配资源的方法及装置 | |
US11954328B2 (en) | Storage management device, storage management method, and program | |
CN113391882A (zh) | 虚拟机内存管理方法、装置、存储介质及电子设备 | |
CN113641643A (zh) | 文件写入方法及装置 | |
CN115469961A (zh) | 容器组的创建方法和装置、电子设备和存储介质 | |
US10482007B2 (en) | Memory allocation on non-volatile storage | |
CN111427550A (zh) | 一种对象创建方法、终端装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |