CN117055936A - 增量升级方法、***、计算机设备及可读存储介质 - Google Patents
增量升级方法、***、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN117055936A CN117055936A CN202310177141.XA CN202310177141A CN117055936A CN 117055936 A CN117055936 A CN 117055936A CN 202310177141 A CN202310177141 A CN 202310177141A CN 117055936 A CN117055936 A CN 117055936A
- Authority
- CN
- China
- Prior art keywords
- version
- upgrade
- file
- installation package
- directory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000009434 installation Methods 0.000 claims abstract description 77
- 230000015654 memory Effects 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000005294 ferromagnetic effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种增量升级方法、***、计算机设备及可读存储介质。增量升级方法应用于第一电子设备,包括:在第一电子设备上创建第一版本仓库;根据第一更新数据在第一版本仓库内生成升级安装包,升级安装包包括第一目录文件,第一目录文件用于存储第一更新数据的目录结构和属性信息;将升级安装包镜像拷贝至第二电子设备的第二版本仓库,使第二电子设备根据升级安装包进行***升级。本申请通过版本仓库对升级数据的中转和管理,能够节省升级文件所需要的存储空间,优化各***版本的管理方式,提高***升级控制的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种增量升级方法、***、计算机设备及可读存储介质。
背景技术
当前,随着物联网技术的快速普及和应用,每年数以亿计的各类电子设备服务于我们的生产、生活。对于嵌入式电子设备的软件问题,如缺陷、漏洞、业务需求更新,使用最早的返厂更新或是派出人员到设备所在地更新需要耗费大量的人力物力财力。而使用OTA(over the air technology,空中下载技术)自动升级技术可以快速、有效、经济地解决软件更新,因而已经成为当前电子设备软件升级的主要方法。
当前主要的OTA升级方式是以安装包的方式进行下载更新,将二进制文件及其所依赖的库文件、配置文件一起打包,通过网络服务器下发到终端设备,终端设备自主完成校验安装。多数技术方案是围绕安装包做的***方案,主要是与服务器、APP的交互过程做了更为精细的控制。然而,当升级更新包的数据量较大,且网络通信不佳的情况下,在下载数据的过程中一旦发生网络终端,则需要重新下载,由此造成数据重复下载的问题。此外,嵌入式***一般需要备份一些旧有版本,在最新的版本中出现问题时,可以快速回滚到旧有的稳定版本。若旧有版本管理保存的过多,则存在版本管理困难,占用存储空间大等缺点。
发明内容
基于此,有必要针对上述技术问题,提供一种增量升级方法、***、计算机设备及可读存储介质,通过版本仓库对升级数据的中转和管理,能够节省升级文件所需要的存储空间,优化各***版本的管理方式,提高***升级控制的效率。
第一方面,本申请提供一种增量升级方法,应用于第一电子设备,所述方法包括:
在所述第一电子设备上创建第一版本仓库;
根据第一更新数据在所述第一版本仓库内生成升级安装包,所述升级安装包包括第一目录文件,所述第一目录文件用于存储所述第一更新数据的目录结构和属性信息;
将所述升级安装包镜像拷贝至第二电子设备的第二版本仓库,使所述第二电子设备根据所述升级安装包进行***升级。
作为其中一种实施方式,所述根据第一更新数据在所述第一版本仓库内生成升级安装包,包括:
根据所述第一更新数据生成第一目录文件;
标记所述第一更新数据和所述第一目录文件以生成标记文件;
压缩所述第一更新数据、所述第一目录文件和所述标记文件,得到所述升级安装包。
作为其中一种实施方式,所述标记所述第一更新数据和所述第一目录文件以生成标记文件,包括:
计算并存储所述第一更新数据中各文件的SHA256值,以生成所述标记文件。
作为其中一种实施方式,所述根据所述第一更新数据生成第一目录文件之后,还包括:
获取第二目录文件,所述第二目录文件用于记录上一次更新时第二更新数据的目录结构和属性信息;
比较所述第一目录文件和所述第二目录文件;
若所述第一更新数据和所述第二更新数据中存在相同文件,则将所述第一目录文件中所述相同文件名称硬链接到所述第二更新数据,且不拷贝所述第一更新数据中的所述相同文件至所述第一版本仓库;
若所述第一更新数据和所述第二更新数据中存在不相同文件,将所述第一目录文件中所述不相同文件名称硬链接到所述第一更新数据,且拷贝所述第一更新数据中的所述不相同文件至所述第一版本仓库。
作为其中一种实施方式,所述第一版本仓库包括多个版本的升级安装包,所述方法,还包括:
根据所述升级安装包的提交时间和/或日志信息查询所述升级安装包的版本信息。
作为其中一种实施方式,所述方法,还包括:
所述第一版本仓库包括多个分支电子设备对应的多个分支记录文件,所述多个分支记录文件中的相同文件名称硬链接到所述第一更新数据中的同一文件。
第二方面,本申请还提供一种增量升级方法,应用于第二电子设备,所述方法包括:
在所述第二电子设备上创建第二版本仓库;
响应于更新指令,获取所述更新指令对应的更新版本信息;
若所述更新版本信息为最新版本,且所述第二版本仓库的升级安装包是最新版本,则根据所述第二版本仓库的升级安装包进行***更新;
若所述更新版本信息为最新版本,且所述第二版本仓库的升级安装包不是最新版本,则将第一电子设备中第一版本仓库的升级安装包同步至所述第二版本仓库后进行***更新。
第三方面,本申请提供一种增量升级***,***包括:
第一模块,用于在第一电子设备上创建第一版本仓库;
第二模块,用于根据第一更新数据在所述第一版本仓库内生成升级安装包,所述升级安装包包括第一目录文件,所述第一目录文件用于存储所述第一更新数据的目录结构和属性信息;
第三模块,用于将所述升级安装包镜像拷贝至第二电子设备的第二版本仓库,使所述第二电子设备根据所述升级安装包进行***升级。
本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上所述的增量升级方法的步骤。
本申请提供一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的增量升级方法的步骤。
本申请的增量升级方法、***、计算机设备及可读存储介质,通过在第一电子设备上创建第一版本仓库;根据第一更新数据在第一版本仓库内生成升级安装包,升级安装包包括第一目录文件,第一目录文件用于存储第一更新数据的目录结构和属性信息;将升级安装包镜像拷贝至第二电子设备的第二版本仓库,使第二电子设备根据升级安装包进行***升级。本申请通过版本仓库对升级数据的中转和管理,能够节省升级文件所需要的存储空间,优化各***版本的管理方式,提高***升级控制的效率。
附图说明
图1为本申请实施例提供的增量升级方法的流程示意图;
图2为本申请实施例提供的增量升级方法的应用场景示意图之一;
图3为本申请实施例提供的增量升级方法的应用场景示意图之二;
图4为本申请实施例提供的增量升级方法的应用场景示意图之三;
图5为本申请实施例提供的又一增量升级方法的流程示意图;
图6为本申请实施例提供的又一增量升级方法的应用场景示意图;
图7为本申请实施例提供的又一增量升级方法的具体流程示意图;
图8为本申请实施例提供的增量升级***的结构示意图;
图9为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的电子设备和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者电子设备中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本文中,采用了诸如S201、S202等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S202后执行S201等,但这些均应在本申请的保护范围之内。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
第一实施例
如图1所示,本申请实施例提供了一种增量升级方法,以该方法应用于第一电子设备为例进行说明,包括以下步骤:
步骤201,在第一电子设备上创建第一版本仓库;
步骤202,根据第一更新数据在第一版本仓库内生成升级安装包,升级安装包包括第一目录文件,第一目录文件用于存储第一更新数据的目录结构和属性信息;
步骤203,将升级安装包镜像拷贝至第二电子设备的第二版本仓库,使第二电子设备根据升级安装包进行***升级。
本实施例中,通过版本仓库实现升级安装包从第一电子设备到第二电子设备的中转。其中,第一电子设备可以是本地端或服务器,用于生成和存储升级安装包,第二电子设备可以是终端,用于根据升级安装包进行***升级。以第一电子设备为本地端为例,第二电子设备为终端,其中还可包括服务器用于传输管理。具体地,可分别在本地端、服务器和终端建立对应的版本仓库,通过版本仓库使升级安装包从本地生成后上传至服务器,再由终端从服务器下载。在本地端(即第一电子设备)对第一更新数据进行标记,生成第一目录文件并集中压缩打包后提交到第一版本仓库。本地端的第一版本仓库与服务器可通过http/https协议完成升级安装包的镜像拷贝同步。终端(即第二电子设备)在收到更新指令后,通过服务器认证,完成终端的第二版本仓库与服务器的数据镜像同步,将升级安装包下载至第二版本仓库。之后在终端对升级安装包进行解压、进行更新数据的完整性校验,然后检出第一更新数据以及第一目录文件。如此,实现了一种仓库中转的技术,可在本地完成更新文件到仓库的提交,本地仓库与服务器仓库实现镜像拷贝,终端与服务器仓库镜像拷贝,而后从终端仓库中翻译出所需要的软件版本,完成***更新。通过仓库管理,实现了终端***的增量更新,新版本在上一个版本的基础上只更新修改过的文件目录,包括文件目录的内容和各种属性,删除的文件目录,新增的文件目录。降低每次更新的数据量。
作为其中一种实施方式,根据第一更新数据在第一版本仓库内生成升级安装包,包括:
根据第一更新数据生成第一目录文件;
标记第一更新数据和第一目录文件以生成标记文件;
压缩第一更新数据、第一目录文件和标记文件,得到升级安装包。
作为其中一种实施方式,标记第一更新数据以生成标记文件,包括:
计算并存储第一更新数据中各文件的SHA256值,以生成标记文件。
这里,SHA256值是指通过SHA256算法计算得到的值。SHA256算法即Secure HashAlgoithm 256,是一种密码散列函数算法标准,由美国国家***研发,一般用于计算文件内容的散列函数值,实现文件一致性校验。
作为其中一种实施方式,根据第一更新数据生成第一目录文件之后,还包括:
获取第二目录文件,第二目录文件用于记录上一次更新时第二更新数据的目录结构和属性信息;
比较第一目录文件和第二目录文件;
若第一更新数据和第二更新数据中存在相同文件,则将第一目录文件中相同文件名称硬链接到第二更新数据,且不拷贝第一更新数据中的相同文件至第一版本仓库;
若第一更新数据和第二更新数据中存在不相同文件,将第一目录文件中不相同文件名称硬链接到第一更新数据,且拷贝第一更新数据中的不相同文件至第一版本仓库。
本实施例中,硬链接是指两个以上的文件名直接指向磁盘存储块,删除一个文件,磁盘内容不会删除,直到所有文件都删除,磁盘内容才能删除掉。在生成第一目录文件时,第一目录文件中的增量更新,在前一个目录版本(即第二目录文件)的基础上只对变化的内容记录提交到仓库中,仓库会为每次提及到的更新目标创建一个记录目标结构和文件sha256值列表链表,用于和前一次提交做比较。
具体地,将第二更新数据提交到仓库中,创建一个存储目录结构和属性的文件,即第二目录文件,用于检出时保证目录的一致性,计算第二更新数据中每一个文件sha256值,并存储在另一个文件中,即标记文件,用于校验数据的一致性,并将第二更新数据压缩,拷贝到第一版本仓库中。如图2所示,原始目录(即第二更新数据)中包括file1文件、file2文件,生成第二目录文件dir文件,分别计算file1文件、file2文件和dir文件的sha256值,得到sha256_file1文件、sha256_file2文件和sha256_dir文件。将上述文件压缩后提交到版本仓库,经由版本仓库的中转可以将第二更新数据完整的传输到终端。
提交最新更新目录时,再次创建一个存储目录结构和属性的文件,即第一目录文件,计算每一个文件的sha256,并查看上一个版本中存储的sha256文件中,是否有相同sha256值,若存在,则新建一个硬链接到版本仓库当前值为此sha256文件;若不存在,则将此不同的文件拷贝到此版本仓库中,建立对应的硬链接。如图2所示,原始目录(即第二更新数据)中包括file1文件、file2文件,生成第二目录文件dir文件,分别计算file1文件、file2文件和dir文件的sha256值,得到sha256_file1文件、sha256_file2文件和sha256_file2文件。将上述文件压缩后提交到版本仓库,经由版本仓库的中转可以将第二更新数据完整的传输到终端。
通过比对sha256值,可以将内容发生变化的文件复制到仓库,也可将新增的文件复制到仓库中,而在最新更新目录中,文件内容相同,文件属性发生变化的文件并不会复制到仓库中,占用新的存储空间,从而实现了增量更新的目标。如图2所示,更新目录(即第一更新数据)中包括file1_dirty文件、file2文件、file3文件,生成第一目录文件dir文件,分别计算file1_dirty文件、file2文件、file3文件和dir文件的sha256值,得到sha256_file1文件、sha256_file2z文件和sha256_file3z文件。将上述文件压缩后提交到版本仓库,经由版本仓库的中转可以将第二更新数据完整的传输到终端。
当前最新版本的第一目录文件仓库时,可与仓库中存储的第二目录文件比较,将变更的文件增加到仓库中,避免版本仓库的重新提交。通过增量更新的方式,在上一个版本的基础上,只更新文件目录属性、内容发生变化,文件目录增减,避免了更新包方式少量修改的却又必须全部更新的方式,降低的存储空间及网络流量。
作为其中一种实施方式,第一版本仓库包括多个版本的升级安装包,增量升级方法,还包括:
根据升级安装包的提交时间和/或日志信息查询升级安装包的版本信息。
本实施例中,版本仓库记录了各提交版本的提交时间,提交时的日志信息,可以随时查询历史版本信息,具有方便管理维护的特点。此外,版本仓库中的数据可通过http/https的协议完整进行镜像复制到本地其他设备和远端服务器。
如图3所示,在版本仓库中记录了已保存的***版本的目录结构,即V1.0.0、V2.0.0、V3.0.0等。如此可以方便的检出v1.0.0,v2.0.0,v3.0.0版本中的任何一个版本,每个版本可检出后与新提交版本的内容通过sha256校验保存一致,通过通过版本仓库的模式,提供了更灵活的版本管理,可以方便快捷的查询、回滚到任意一个历史版本,对提交的版本可进行有效的管理。
作为其中一种实施方式,增量升级方法,还包括:
第一版本仓库包括多个分支电子设备对应的多个分支记录文件,多个分支记录文件中的相同文件名称硬链接到第一更新数据中的同一文件。
本实施例中,每个分支记录文件记录了当前版本以及历史的文件和目录,与仓库中的文件实现硬链接,从而保证文件在仓库中的唯一性,进而降低存储空间。
如图4所示,alpha分支对应alpha设备,beta分支对应beta设备。alpha分支,beta分支也是也是通过相同的仓库,共享相同的文件目录file2、dir,而不需要重新提交,从而降低仓库存储空间。如此,对同一类型的衍生子设备,利用分支管理的功能,每一分支对应不同的子类设备,可减小网络下载时间和磁盘的占用量。
本申请实施例的增量升级方法,通过在第一电子设备上创建第一版本仓库;根据第一更新数据在第一版本仓库内生成升级安装包,升级安装包包括第一目录文件,第一目录文件用于存储第一更新数据的目录结构和属性信息;将升级安装包镜像拷贝至第二电子设备的第二版本仓库,使第二电子设备根据升级安装包进行***升级。本申请实施例通过版本仓库对升级数据的中转和管理,能够节省升级文件所需要的存储空间,优化各***版本的管理方式,提高***升级控制的效率。
第二实施例
如图5所示,本申请实施例还提供了一种增量升级方法,以该方法应用于第二电子设备为例进行说明,包括以下步骤:
步骤501,在第二电子设备上创建第二版本仓库;
步骤502,响应于更新指令,获取更新指令对应的更新版本信息;
步骤503,若更新版本信息为最新版本,且第二版本仓库的升级安装包是最新版本,则根据第二版本仓库的升级安装包进行***更新;
步骤504,若更新版本信息为最新版本,且第二版本仓库的升级安装包不是最新版本,则将第一电子设备中第一版本仓库的升级安装包同步至第二版本仓库后进行***更新。
请一并参考图6和图7,在本地端开发者完成升级压缩包的生成,并提交到本地端的版本仓库,而后镜像同步上传到远端服务器的版本仓库。
服务器在下面两种情况下可以配置终端所需运行的版本:
a)版本仓库更新,指定终端更新到此最新版本;
b)终端当前版本存在严重问题,致命漏洞,业务逻辑严重错误,需指定终端版本更新到前一个安全可靠的旧版本。
在指定版本的同时,下发是否需要强制执行更新的指令。
终端开机启动后建立与服务器的链接,定时查询服务器指定版本,接收当前指定版本信息,并解析此版本是否为强制更新。
当服务器指定的版本为最新版本时,启动云端数据下载功能,将终端仓库镜像同步于服务器仓库,获取服务器中最新更新版本数据。
判断更新指令是否为强制指令:
a)若强制,则在安全的情况下,中断当前任务,启动过程;
b)若非强制,则在***指定的空闲时间区间启动更新过程。
更新过程中,将当前更新的进度实时上报到服务器,并在显示设备上显示当前的更新状态。
本申请实施例的增量升级方法,通过在第二电子设备上创建第二版本仓库。响应于更新指令,获取更新指令对应的更新版本信息。若更新版本信息为最新版本,且第二版本仓库的升级安装包是最新版本,则根据第二版本仓库的升级安装包进行***更新。若更新版本信息为最新版本,且第二版本仓库的升级安装包不是最新版本,则将第一电子设备中第一版本仓库的升级安装包同步至第二版本仓库后进行***更新。本申请实施例通过创建版本仓库对升级数据进行中转和管理,能够节省升级文件所需要的存储空间,优化各***版本的管理方式,提高***升级控制的效率。
第三实施例
如图8所示,本申请实施例还提供了一种增量升级***40,包括:第一模块420、第二模块440、第三模块460,其中:
第一模块420,用于在第一电子设备上创建第一版本仓库;
第二模块440,用于根据第一更新数据在所述第一版本仓库内生成升级安装包,所述升级安装包包括第一目录文件,所述第一目录文件用于存储所述第一更新数据的目录结构和属性信息;
第三模块460,用于将所述升级安装包镜像拷贝至第二电子设备的第二版本仓库,使所述第二电子设备根据所述升级安装包进行***升级。
关于增量升级***的具体限定可以参见第一实施例中对于增量升级方法的限定,在此不再赘述。上述增量升级***中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于前述实施例相同的发明构思,本发明实施例提供了一种计算机设备,如图9所示,该计算机设备包括:处理器310和存储有计算机程序的存储器311;其中,图9中示意的处理器310并非用于指代处理器310的个数为一个,而是仅用于指代处理器310相对其他器件的位置关系,在实际应用中,处理器310的个数可以为一个或多个;同样,图9中示意的存储器311也是同样的含义,即仅用于指代存储器311相对其他器件的位置关系,在实际应用中,存储器311的个数可以为一个或多个。在所述处理器310运行所述计算机程序时,实现应用于上述计算机设备的所述增量升级方法。
该装置还可包括:至少一个网络接口312。该装置中的各个组件通过总线***313耦合在一起。可理解,总线***313用于实现这些组件之间的连接通信。总线***313除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线***313。
其中,存储器311可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。本发明实施例描述的存储器311旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器311用于存储各种类型的数据以支持该装置的操作。这些数据的示例包括:用于在该装置上操作的任何计算机程序,如操作***和应用程序;联系人数据;电话簿数据;消息;图片;视频等。其中,操作***包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。这里,实现本发明实施例方法的程序可以包含在应用程序中。
基于前述实施例相同的发明构思,本实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,计算机存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic random access memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。所述计算机存储介质中存储的计算机程序被处理器运行时,实现应用于上述装置的所述增量升级方法。所述计算机程序被处理器执行时实现的具体步骤流程请参考第一实施例的描述,在此不再赘述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,除了包含所列的那些要素,而且还可包含没有明确列出的其他要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种增量升级方法,其特征在于,应用于第一电子设备,所述方法包括:
在所述第一电子设备上创建第一版本仓库;
根据第一更新数据在所述第一版本仓库内生成升级安装包,所述升级安装包包括第一目录文件,所述第一目录文件用于存储所述第一更新数据的目录结构和属性信息;
将所述升级安装包镜像拷贝至第二电子设备的第二版本仓库,使所述第二电子设备根据所述升级安装包进行***升级。
2.根据权利要求1所述的增量升级方法,其特征在于,所述根据第一更新数据在所述第一版本仓库内生成升级安装包,包括:
根据所述第一更新数据生成第一目录文件;
标记所述第一更新数据和所述第一目录文件以生成标记文件;
压缩所述第一更新数据、所述第一目录文件和所述标记文件,得到所述升级安装包。
3.根据权利要求2所述的增量升级方法,其特征在于,所述标记所述第一更新数据和所述第一目录文件以生成标记文件,包括:
计算并存储所述第一更新数据中各文件的SHA256值,以生成所述标记文件。
4.根据权利要求2所述的增量升级方法,其特征在于,所述根据所述第一更新数据生成第一目录文件之后,还包括:
获取第二目录文件,所述第二目录文件用于记录上一次更新时第二更新数据的目录结构和属性信息;
比较所述第一目录文件和所述第二目录文件;
若所述第一更新数据和所述第二更新数据中存在相同文件,则将所述第一目录文件中所述相同文件名称硬链接到所述第二更新数据,且不拷贝所述第一更新数据中的所述相同文件至所述第一版本仓库;
若所述第一更新数据和所述第二更新数据中存在不相同文件,将所述第一目录文件中所述不相同文件名称硬链接到所述第一更新数据,且拷贝所述第一更新数据中的所述不相同文件至所述第一版本仓库。
5.根据权利要求1所述的增量升级方法,其特征在于,所述第一版本仓库包括多个版本的升级安装包,所述方法,还包括:
根据所述升级安装包的提交时间和/或日志信息查询所述升级安装包的版本信息。
6.根据权利要求2所述的增量升级方法,其特征在于,所述方法,还包括:
所述第一版本仓库包括多个分支电子设备对应的多个分支记录文件,所述多个分支记录文件中的相同文件名称硬链接到所述第一更新数据中的同一文件。
7.一种增量升级方法,其特征在于,应用于第二电子设备,所述方法包括:
在所述第二电子设备上创建第二版本仓库;
响应于更新指令,获取所述更新指令对应的更新版本信息;
若所述更新版本信息为最新版本,且所述第二版本仓库的升级安装包是最新版本,则根据所述第二版本仓库的升级安装包进行***更新;
若所述更新版本信息为最新版本,且所述第二版本仓库的升级安装包不是最新版本,则将第一电子设备中第一版本仓库的升级安装包同步至所述第二版本仓库后进行***更新。
8.一种增量升级***,其特征在于,所述***包括:
第一模块,用于在第一电子设备上创建第一版本仓库;
第二模块,用于根据第一更新数据在所述第一版本仓库内生成升级安装包,所述升级安装包包括第一目录文件,所述第一目录文件用于存储所述第一更新数据的目录结构和属性信息;
第三模块,用于将所述升级安装包镜像拷贝至第二电子设备的第二版本仓库,使所述第二电子设备根据所述升级安装包进行***升级。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的增量升级方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的增量升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310177141.XA CN117055936A (zh) | 2023-02-27 | 2023-02-27 | 增量升级方法、***、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310177141.XA CN117055936A (zh) | 2023-02-27 | 2023-02-27 | 增量升级方法、***、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117055936A true CN117055936A (zh) | 2023-11-14 |
Family
ID=88666883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310177141.XA Pending CN117055936A (zh) | 2023-02-27 | 2023-02-27 | 增量升级方法、***、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117055936A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN105573780A (zh) * | 2015-12-08 | 2016-05-11 | 北京元心科技有限公司 | 一种基于容器的移动终端操作***升级方法和装置 |
CN111796855A (zh) * | 2020-07-22 | 2020-10-20 | 大箴(杭州)科技有限公司 | 一种增量版本更新方法、装置、存储介质及计算机设备 |
CN112328284A (zh) * | 2020-11-13 | 2021-02-05 | 杭州萤石软件有限公司 | 应用程序升级方法、***、设备和存储介质 |
CN112486555A (zh) * | 2020-12-07 | 2021-03-12 | 浙江诺诺网络科技有限公司 | 软件增量升级方法、装置、设备及计算机可读存储介质 |
CN112882729A (zh) * | 2019-11-29 | 2021-06-01 | 顺丰科技有限公司 | 应用镜像升级方法、装置、计算机设备和存储介质 |
CN113515487A (zh) * | 2021-09-07 | 2021-10-19 | 联想凌拓科技有限公司 | 查询目录的方法、计算设备和分布式文件*** |
EP3933573A1 (en) * | 2019-04-17 | 2022-01-05 | ZTE Corporation | Zero differential upgrade method, non-volatile storage medium and electronic device |
CN114327578A (zh) * | 2021-12-31 | 2022-04-12 | 佛山技研智联科技有限公司 | 私有部署***升级方法、装置、计算机设备及存储介质 |
CN114625473A (zh) * | 2020-12-08 | 2022-06-14 | 深信服科技股份有限公司 | 一种升级方法、装置和电子设备及介质 |
CN115344284A (zh) * | 2022-08-16 | 2022-11-15 | 广州文远知行科技有限公司 | 自动驾驶软件升级方法、装置、存储介质及计算机设备 |
-
2023
- 2023-02-27 CN CN202310177141.XA patent/CN117055936A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN105573780A (zh) * | 2015-12-08 | 2016-05-11 | 北京元心科技有限公司 | 一种基于容器的移动终端操作***升级方法和装置 |
EP3933573A1 (en) * | 2019-04-17 | 2022-01-05 | ZTE Corporation | Zero differential upgrade method, non-volatile storage medium and electronic device |
CN112882729A (zh) * | 2019-11-29 | 2021-06-01 | 顺丰科技有限公司 | 应用镜像升级方法、装置、计算机设备和存储介质 |
CN111796855A (zh) * | 2020-07-22 | 2020-10-20 | 大箴(杭州)科技有限公司 | 一种增量版本更新方法、装置、存储介质及计算机设备 |
CN112328284A (zh) * | 2020-11-13 | 2021-02-05 | 杭州萤石软件有限公司 | 应用程序升级方法、***、设备和存储介质 |
CN112486555A (zh) * | 2020-12-07 | 2021-03-12 | 浙江诺诺网络科技有限公司 | 软件增量升级方法、装置、设备及计算机可读存储介质 |
CN114625473A (zh) * | 2020-12-08 | 2022-06-14 | 深信服科技股份有限公司 | 一种升级方法、装置和电子设备及介质 |
CN113515487A (zh) * | 2021-09-07 | 2021-10-19 | 联想凌拓科技有限公司 | 查询目录的方法、计算设备和分布式文件*** |
CN114327578A (zh) * | 2021-12-31 | 2022-04-12 | 佛山技研智联科技有限公司 | 私有部署***升级方法、装置、计算机设备及存储介质 |
CN115344284A (zh) * | 2022-08-16 | 2022-11-15 | 广州文远知行科技有限公司 | 自动驾驶软件升级方法、装置、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117425B (zh) | 用于数字资产同步的方法、***和介质 | |
JP6463393B2 (ja) | テナント移行にわたるテナント・データのリカバリ | |
US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
US9292387B2 (en) | Medium, control method, and information processing apparatus | |
CN104866391B (zh) | 一种基于增量信息***的终端信息备份方法和装置 | |
CN102349062A (zh) | 用于跨设备和web服务使浏览器缓存同步的编程模型 | |
CN110347341B (zh) | 数据清除方法及控制设备 | |
CN104182294A (zh) | 一种文件备份、文件恢复方法及装置 | |
CN102193841B (zh) | 一种Subversion配置库的备份方法及装置 | |
CN110119386B (zh) | 数据处理方法、数据处理装置、介质和计算设备 | |
US11036590B2 (en) | Reducing granularity of backup data over time | |
CN112947992B (zh) | 代码版本管理的方法和装置 | |
CN112800019A (zh) | 基于Hadoop分布式文件***的数据备份方法及*** | |
CN114328029B (zh) | 一种应用资源的备份方法、装置、电子设备及存储介质 | |
CN100464331C (zh) | 文件传送***、文件存储装置、以及文件存储方法 | |
TWI571754B (zh) | 用來進行檔案同步控制之方法與裝置 | |
CN116737662A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN117055936A (zh) | 增量升级方法、***、计算机设备及可读存储介质 | |
CN116049142A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111090530B (zh) | 一种分布式跨进程间通信总线*** | |
CN114116675A (zh) | 一种数据归档方法和装置 | |
CN114968963A (zh) | 文件覆盖写方法、装置和电子设备 | |
CN108595924B (zh) | 一种业务权限管理方法、装置、计算机设备及存储介质 | |
CN111625397A (zh) | 业务日志备份方法、集群、装置、电子设备及存储介质 | |
CN111431699A (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 |