CN109213504B - 一种堆叠式文件***及其加载方法和升级方法 - Google Patents

一种堆叠式文件***及其加载方法和升级方法 Download PDF

Info

Publication number
CN109213504B
CN109213504B CN201810941524.9A CN201810941524A CN109213504B CN 109213504 B CN109213504 B CN 109213504B CN 201810941524 A CN201810941524 A CN 201810941524A CN 109213504 B CN109213504 B CN 109213504B
Authority
CN
China
Prior art keywords
file system
root
patch
user
root file
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.)
Active
Application number
CN201810941524.9A
Other languages
English (en)
Other versions
CN109213504A (zh
Inventor
王峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Changjiang Computing Technology Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201810941524.9A priority Critical patent/CN109213504B/zh
Publication of CN109213504A publication Critical patent/CN109213504A/zh
Application granted granted Critical
Publication of CN109213504B publication Critical patent/CN109213504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种堆叠式文件***及其加载方法和升级方法,涉及嵌入式存储领域,该***包括根文件***、至少一个补丁根文件***、至少一个用户文件***和文件***挂载配置表,所述根文件***为发布的原始文件***;所述补丁根文件***为补丁式的文件***,且以镜像文件形式存在,用于根文件***的升级;所述用户文件***为补丁式的文件***,且以镜像文件形式存在,用于基于预设业务,使用自身的文件对根文件***中的文件进行替换、修改和删除,实现预设业务;文件***挂载配置表用于记载需挂载的文件***的信息。本发明使用堆叠的方式用户文件***对根文件***进行升级,方便配置。

Description

一种堆叠式文件***及其加载方法和升级方法
技术领域
本发明涉及嵌入式存储领域,具体涉及一种堆叠式文件***、一种堆叠式文件***的加载方法和一种堆叠式文件***的升级方法。
背景技术
在嵌入式设备中,根文件***极为重要。在实际的应用中,根文件***研发人员需要保证根文件***的标准化,以便于对根文件***的维护,还得保证根文件***能够满足不同场景、不同业务的需要,如满足应用需求,且支持扩展。传统上根文件***研发人员为了实现上述要求,往往不得不发布多个版本的根文件***的镜像,造成版本繁杂,难以维护。此外,传统的升级文件***通常是删除原有的文件,替换新的文件,如果在升级的过程中发生失败或者主动回退,则需要从头删除,安装替换,之前的数据也不方便备份。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种堆叠式文件***,使用堆叠的方式用户文件***对根文件***进行升级,方便配置。
为达到以上目的,本发明采取的技术方案是,包括:
根文件***,所述根文件***为发布的原始文件***;
至少一个补丁根文件***,所述补丁根文件***为补丁式的文件***,且以镜像文件形式存在,用于根文件***的升级;
至少一个用户文件***,所述用户文件***为补丁式的文件***,且以镜像文件形式存在,用于基于预设业务,使用自身的文件对根文件***中的文件进行替换、修改和删除,实现预设业务;
文件***挂载配置表,其用于记载需挂载的文件***的信息;
其中,采用所述补丁根文件***对根文件***进行升级时,补丁根文件***和根文件***按照版本的高低层次进行堆叠,补丁根文件***中的高层次文件对根文件***中低层次的同路径同名的文件进行覆盖。
在上述技术方案的基础上,所述采用补丁根文件***对根文件***的升级包括修复根文件***bug和增加根文件***功能。
在上述技术方案的基础上,所述用户文件***包含的文件为基于预设业务需求,与所述根文件***间存在差异的文件。
在上述技术方案的基础上,所述文件***挂载配置表还用于记载文件***的物理存储位置、层次关系和挂载顺序。
本发明还提供一种堆叠式文件***的加载方法,用于对上述所述的堆叠式文件***进行加载,包括以下步骤:
S1:加载根文件***,读取文件***挂载配置表,判断是否有需要挂载的补丁根文件***,若有,则转到S2,反之,则转到S3;
S2:以堆叠方式挂载需挂载的补丁根文件***,转到S3;
S3:读取文件***挂载配置表,判断是否有需要挂载的用户文件***,若有,则转到S4,反之,则结束;
S4:以堆叠方式挂载需挂载的用户文件***。
在上述技术方案的基础上,
步骤S2中,当需要挂载的补丁根文件***为多个时,则多个补丁根文件***依次进行挂载;
步骤S4中,当需要挂载的用户文件***为多个时,则多个用户文件***依次进行挂载。
在上述技术方案的基础上,步骤S1中,加载根文件***之前,包括以下步骤:
操作***内核启动,将根文件***、补丁根文件***和用户文件***存储于操作***中,其中,根文件***的文件存储于操作***的根目录下,补丁根文件***和用户文件***的文件存储于操作***的任意目录中。
本发明还提供一种堆叠式文件***的升级方法,用于对上述所述的堆叠式文件***进行升级,其特征在于,包括以下步骤:
A:创建含有设定文件的用户文件***,所述设定文件对应预设业务;
B:将创建的用户文件***存储于操作***的目录下;
C:将创建的用户文件***添加于文件***挂载配置表中,更新文件***挂载配置表;
D:操作***启动,根据文件***挂载配置表的记载,当原有的用户文件***挂载之后,挂载创建的用户文件***。
在上述技术方案的基础上,创建的用户文件***中仅含有对应预设业务的设定文件。
在上述技术方案的基础上,步骤D中,当挂载创建的用户文件***之后,还包括以下步骤:若发现设定文件存在错误,则修改***挂载配置表,将创建的用户文件***从***挂载配置表中删除。
与现有技术相比,本发明的优点在于:采用模块化的方式,相当于对根文件***进行拆分,针对不同的应用场景,使用堆叠的方式用户文件***对根文件***进行升级,方便配置,无需发布多个版本的根文件***的镜像,提升应用或产品的扩展性和易维护性,且升级时仅需更改需升级的部分,极大地提升操作的便捷性,同时降低错误率。
附图说明
图1为本发明实施例中一种堆叠式文件***的流程图;
图2为本发明实施例中一种堆叠式文件***的加载方法的流程图;
图3为本发明实施例中一种堆叠式文件***的升级方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
实施例1
参见图1所示,本发明实施例提供一种堆叠式文件***,适用于Linux软件平台,用于实现根文件的模块化,方便配置,提升应用或产品的扩展性和易维护性。本发明实施例的堆叠式文件***具体包括根文件***、至少一个补丁根文件***和至少一个用户文件***。
根文件***为发布的原始文件***,原始文件***是一个完整的,且可独立使用的文件***,即为一个通用的根文件***,相当于通用基础版本,用于实现***根文件***的基础,是标准的、统一的,能够满足绝大部分需求,不涉及具体的场景和业务。
补丁根文件***为补丁式的文件***,且以镜像文件形式存在,用于根文件***的升级,可以理解为,补丁根文件***为根文件***为***根文件***的一部分,根文件***相当于基础模块,补丁根文件***相当于补丁模块。补丁根文件***包含补丁配置和程序文件,采用补丁根文件***对根文件***的升级包括修复根文件***bug、增加根文件***功能等,相当于进行日常维护,保证根文件***的正常运行,但补丁根文件***对根文件***升级后,根文件***仍旧不涉及具体的场景和业务。
用户文件***为补丁式的文件***,且以镜像文件形式存在,用于基于预设业务,使用自身的文件对根文件***中的文件进行替换、修改和删除,实现预设业务,相当于通过用户文件***,实现应用功能的增加、删除、修改等,用户文件***对根文件***进行修改后,结合根文件***中的其它文件,一起向应用呈现最终的根文件***。根文件***是标准的、统一的,能够满足绝大部分需求所有的产品和应用都使用一个根文件***,但是不同的产品和应用,对文件***的需求是有差异的,甚至是冲突的,因此使用用户文件***来进行修改,不同的产品应用对应不同的用户文件***。如有的应用需要对某个功能限速,有的应用则不需要,因此可以通过挂载不同的用户文件***来实现,相当于对根文件***进行升级,其具体升级过程与补丁根文件***对根文件***升级类似。
文件***挂载配置表,文件***挂载配置表用于记载需挂载的文件***的信息,即本发明实施例的堆叠式文件***在加载或挂载时,表明具体需加载或挂载的根文件***、补丁根文件***和用户文件***。
采用补丁根文件***对根文件***进行升级时,补丁根文件***和根文件***按照版本的高低层次进行堆叠,补丁根文件***中的高层次文件对根文件***中低层次的同路径同名的文件进行覆盖,进行覆盖后,实际起作用的为高层次的文件。高层次对应高版本,低层次对应低版本。
本发明实施例的堆叠式文件***,采用模块化的方式,相当于对根文件***进行拆分,针对不同的应用场景,使用堆叠的方式用户文件***对根文件***进行升级,方便配置,无需发布多个版本的根文件***的镜像,提升应用或产品的扩展性和易维护性,且升级时仅需更改需升级的部分,极大地提升操作的便捷性,同时降低错误率。
实施例2
在实施例1的基础上,用户文件***包含的文件为基于预设业务需求,与所述根文件***间存在差异的文件,相当于为仅需对根文件***更改的文件,充分利用根文件***原有内容,避免了重复占用存储空间,同时降低升级的错误率。
文件***挂载配置表还用于记载文件***的物理存储位置、层次关系和挂载顺序,还可以包括文件***的文件类型、挂载参数、文件***间的依赖关系。当操作***启动时,根据文件***挂载配置表的记载,挂载相应的文件***。文件***指根文件***、补丁根文件***和用户文件***。
实施例3
参见图2所示,本发明实施例提供一种堆叠式文件***的加载方法,用于对实施例1中所述的堆叠式文件***进行加载,包括以下步骤:
S1:操作***内核启动,加载根文件***,读取文件***挂载配置表,判断是否有需要挂载的补丁根文件***,若有,则转到S2,反之,则转到S3;
S2:以堆叠方式挂载需挂载的补丁根文件***,转到S3;当需要挂载的补丁根文件***为多个时,则多个补丁根文件***依次进行挂载,前一个挂载成功后进行下一个的挂载。
S3:读取文件***挂载配置表,判断是否有需要挂载的用户文件***,若有,则转到S4,反之,则结束;
S4:以堆叠方式挂载需挂载的用户文件***。当需要挂载的用户文件***为多个时,则多个用户文件***依次进行挂载,前一个挂载成功后进行下一个的挂载。当所有用户文件***挂载完成后,则堆叠式文件***加载完成。
补丁根文件***为补丁式的文件***,且以镜像文件形式存在,用于根文件***的升级,可以理解为,补丁根文件***为根文件***为***根文件***的一部分,根文件***相当于基础模块,补丁根文件***相当于补丁模块。补丁根文件***包含补丁配置和程序文件,采用补丁根文件***对根文件***的升级包括修复根文件***bug、增加根文件***功能等,相当于进行日常维护,保证根文件***的正常运行。
实施例4
在实施例3的基础上,步骤S1中,加载根文件***之前,包括以下步骤:
操作***内核启动,将根文件***、补丁根文件***和用户文件***存储于操作***中,其中,根文件***的文件存储于操作***的根目录下,补丁根文件***和用户文件***的文件存储于操作***的任意目录中。优选的,补丁根文件***和用户文件***的文件存储于操作***的根目录下,每一个目录下均可以存储多个文件***的文件,如补丁根文件***的文件存储于目录/rootfs_patch中,该目录下包含多个版本的补丁根文件***的文件,;例如Rootfs_patch1和Rootfs_patch2,用户A或者设备A的用户文件***存储在目录/Filesystem_UserA,用户B或者设备B的用户文件***存储在目录/Filesystem_UserB,每一个文件***的文件可以以多种形式存在,包括打包的镜像文件、普通的目录文件等。
实施例5
参见图3所示,本发明实施例提供一种堆叠式文件***的升级方法,用于对实施例1中所述的堆叠式文件***进行升级,具体包括以下步骤:
A:创建含有设定文件的用户文件***,所述设定文件对应预设业务,即设定文件为实现预设业务必须要有的文件,用户文件***根据堆叠文件***的相关标准进行创建;
B:将创建的用户文件***的存储于操作***的目录下;
C:将创建的用户文件***添加于文件***挂载配置表中,更新文件***挂载配置表;
D:操作***启动,根据文件***挂载配置表的记载,当原有的用户文件***挂载之后,挂载创建的用户文件***,此时设定文件生效,完后才能对堆叠式文件***的升级,增加预设业务,完成版本的切换。
本发明实施例的文件***升级方法,采用模块化的方式,相当于对根文件***进行拆分,针对不同的应用场景,使用堆叠的方式用户文件***对根文件***进行升级,方便配置,无需发布多个版本的根文件***的镜像,提升应用或产品的扩展性和易维护性。
实施例6
在实施例5的基础上,建的用户文件***中仅含有对应预设业务的设定文件。步骤D中,当挂载创建的用户文件***之后,还包括以下步骤:若发现设定文件存在错误,则修改***挂载配置表,将创建的用户文件***从***挂载配置表中删除,使得不再进行创建的用户文件***的挂载,进行版本的回退,无需删除原有的用户文件***和新创建的用户文件***,改动较小,有效提升效率。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (9)

1.一种堆叠式文件***,其特征在于,包括:
根文件***,所述根文件***为发布的原始文件***;
至少一个补丁根文件***,所述补丁根文件***为补丁式的文件***,且以镜像文件形式存在,用于根文件***的升级;
至少一个用户文件***,所述用户文件***为补丁式的文件***,且以镜像文件形式存在,用于基于预设业务,使用自身的文件对根文件***中的文件进行替换、修改和删除,实现预设业务;
文件***挂载配置表,其用于记载需挂载的文件***的信息;
其中,采用所述补丁根文件***对根文件***进行升级时,补丁根文件***和根文件***按照版本的高低层次进行堆叠,补丁根文件***中的高层次文件对根文件***中低层次的同路径同名的文件进行覆盖;
其中,所述用户文件***包含的文件为基于预设业务需求,与所述根文件***间存在差异的文件。
2.如权利要求1所述的一种堆叠式文件***,其特征在于:所述采用补丁根文件***对根文件***的升级包括修复根文件***bug和增加根文件***功能。
3.如权利要求1所述的一种堆叠式文件***,其特征在于:所述文件***挂载配置表还用于记载文件***的物理存储位置、层次关系和挂载顺序。
4.一种堆叠式文件***的加载方法,用于对权利要求1至3任一项所述的堆叠式文件***进行加载,其特征在于,包括以下步骤:
S1:加载根文件***,读取文件***挂载配置表,判断是否有需要挂载的补丁根文件***,若有,则转到S2,反之,则转到S3;
S2:以堆叠方式挂载需挂载的补丁根文件***,转到S3;
S3:读取文件***挂载配置表,判断是否有需要挂载的用户文件***,若有,则转到S4,反之,则结束;
S4:以堆叠方式挂载需挂载的用户文件***。
5.如权利要求4所述的一种堆叠式文件***的加载方法,其特征在于:
步骤S2中,当需要挂载的补丁根文件***为多个时,则多个补丁根文件***依次进行挂载;
步骤S4中,当需要挂载的用户文件***为多个时,则多个用户文件***依次进行挂载。
6.如权利要求4所述的一种堆叠式文件***的加载方法,其特征在于:步骤S1中,加载根文件***之前,包括以下步骤:
操作***内核启动,将根文件***、补丁根文件***和用户文件***存储于操作***中,其中,根文件***的文件存储于操作***的根目录下,补丁根文件***和用户文件***的文件存储于操作***的任意目录中。
7.一种堆叠式文件***的升级方法,用于对权利要求1至3任一项所述的堆叠式文件***进行升级,其特征在于,包括以下步骤:
A:创建含有设定文件的用户文件***,所述设定文件对应预设业务;
B:将创建的用户文件***存储于操作***的目录下;
C:将创建的用户文件***添加于文件***挂载配置表中,更新文件***挂载配置表;
D:操作***启动,根据文件***挂载配置表的记载,当原有的用户文件***挂载之后,挂载创建的用户文件***。
8.如权利要求7所述的一种堆叠式文件***的升级方法,其特征在于:创建的用户文件***中仅含有对应预设业务的设定文件。
9.如权利要求7所述的一种堆叠式文件***的升级方法,其特征在于:步骤D中,当挂载创建的用户文件***之后,还包括以下步骤:若发现设定文件存在错误,则修改***挂载配置表,将创建的用户文件***从***挂载配置表中删除。
CN201810941524.9A 2018-08-17 2018-08-17 一种堆叠式文件***及其加载方法和升级方法 Active CN109213504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810941524.9A CN109213504B (zh) 2018-08-17 2018-08-17 一种堆叠式文件***及其加载方法和升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810941524.9A CN109213504B (zh) 2018-08-17 2018-08-17 一种堆叠式文件***及其加载方法和升级方法

Publications (2)

Publication Number Publication Date
CN109213504A CN109213504A (zh) 2019-01-15
CN109213504B true CN109213504B (zh) 2021-09-24

Family

ID=64988652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810941524.9A Active CN109213504B (zh) 2018-08-17 2018-08-17 一种堆叠式文件***及其加载方法和升级方法

Country Status (1)

Country Link
CN (1) CN109213504B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947979B (zh) * 2021-04-07 2024-04-02 上海商米科技集团股份有限公司 一种基于OverlayFS的IPC设备的固件补丁加载方式
CN115809021B (zh) * 2022-11-22 2023-10-20 小米汽车科技有限公司 可写文件***的空间共享方法及装置
CN116048644B (zh) * 2023-03-30 2023-06-16 中科方德软件有限公司 一种***迁移方法、装置和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517061A (zh) * 2015-01-16 2015-04-15 中怡(苏州)科技有限公司 加密文件***的方法及挂载加密文件***的方法
CN104750527A (zh) * 2015-03-27 2015-07-01 广州快飞计算机科技有限公司 一种嵌入式***升级方法及***
CN105573780A (zh) * 2015-12-08 2016-05-11 北京元心科技有限公司 一种基于容器的移动终端操作***升级方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8997085B2 (en) * 2011-06-24 2015-03-31 International Business Machines Corporation Image delta-based upgrade of complex stack in software appliance
US10705835B2 (en) * 2015-12-03 2020-07-07 International Business Machines Corporation Transparent multi-architecture support in a container based cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517061A (zh) * 2015-01-16 2015-04-15 中怡(苏州)科技有限公司 加密文件***的方法及挂载加密文件***的方法
CN104750527A (zh) * 2015-03-27 2015-07-01 广州快飞计算机科技有限公司 一种嵌入式***升级方法及***
CN105573780A (zh) * 2015-12-08 2016-05-11 北京元心科技有限公司 一种基于容器的移动终端操作***升级方法和装置

Also Published As

Publication number Publication date
CN109213504A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
JP5342302B2 (ja) ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム
US7814474B2 (en) Updatable mobile handset based on Linux with compression and decompression techniques
JP6571202B2 (ja) モバイルデバイス上の自動的なクラウドベースの全データバックアップおよびリストアのためのシステムおよび方法
US9235474B1 (en) Systems and methods for maintaining a virtual failover volume of a target computing system
US6928579B2 (en) Crash recovery system
JP5113700B2 (ja) ファームウェア更新装置及び方法
US9081639B2 (en) System and method for remotely re-imaging a computer system
CN109213504B (zh) 一种堆叠式文件***及其加载方法和升级方法
US20040123285A1 (en) Self-healing version and configuration model for an application server
JP4825433B2 (ja) 比較的限られた記憶スペースを備えたコンピューティング装置およびそのオペレーティングシステム/ファイルシステム
JP5728982B2 (ja) 処理装置および書込方法
US9547345B2 (en) System and method for safely updating thin client operating system over a network
US20170052779A1 (en) Method and Device for Running Version File
WO2021143845A1 (zh) 扩展***分区的方法、装置、存储介质和计算机设备
EP2329368B1 (en) Updating content without using a mini operating system
US7818557B2 (en) Method for re-imaging a computer system
CN114443081A (zh) 终端升级的方法及终端
CN110597568B (zh) 一种插件部署方法、***及终端
US7222338B2 (en) Method for upgrading data
CN112882746B (zh) 应用程序的更新方法、装置、存储介质及计算机设备
CN100365572C (zh) 软件封装方法
JP7266216B2 (ja) 情報処理装置および情報処理方法
CN111026422B (zh) 基于容器的应用数据升级方法、装置及计算机存储介质
US11360694B2 (en) Method providing resilient execution of a service on a computing device
CN116466972A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240709

Address after: 430000 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province

Patentee after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Country or region after: China

Patentee after: Wuhan Changjiang Computing Technology Co.,Ltd.

Address before: 430000 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province

Patentee before: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Country or region before: China