CN114637527B - 云应用的热更新资源提取与更新方法和装置 - Google Patents
云应用的热更新资源提取与更新方法和装置 Download PDFInfo
- Publication number
- CN114637527B CN114637527B CN202210536271.3A CN202210536271A CN114637527B CN 114637527 B CN114637527 B CN 114637527B CN 202210536271 A CN202210536271 A CN 202210536271A CN 114637527 B CN114637527 B CN 114637527B
- Authority
- CN
- China
- Prior art keywords
- file
- version
- update resource
- block
- cloud application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000000605 extraction Methods 0.000 title claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 239000003550 marker Substances 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010792 warming Methods 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/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- 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
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
技术领域
本发明涉及计算机技术领域,特别涉及一种云应用的热更新资源提取与更新方法和装置、电子设备及存储介质。
背景技术
随着云技术的发展,越来越多的云应用出现在人们的生活中。云应用以云计算为基础,在云端服务器的虚拟机/容器里运行,由虚拟机/容器完成云应用画面的所有计算,生成每一帧的画面图像,从而形成由连续的图像帧组成的图像流,云端服务器将图像流发送给用户终端,用户终端按序显示每一帧画面图像。在此种模式下,用户终端实际上只需要将用户的操作指令发送给云端服务器,然后从云端服务器接收图像流进行播放。
现有的云应用的热更新资源提取方法为全量提取方案,需要在云应用热更新结束后,对分布在实例系统中的应用数据进行提取,存储为全量热更新资源文件,将全量热更新资源文件打包上传至节点存储服务器,并由节点存储服务器同步至全国IDC (InternetData Center,即互联网数据中心)机房中的其它各个节点存储服务器。此方案至少存在两个问题:其一,提取过程耗时较长,这是因为全量提取的热更新资源包较大,提取速度较慢,比如对于云游戏来说,考虑到当前云游戏支持许多游戏大作,其中不乏热更新资源包的体积超过10GB的情况,这种情况提取一次热更新资源的流程需要持续近一小时甚至更长,如果提取过程中出现操作失误或其他错误,重试的成本较高,这对于整个云游戏平台的管理和运行效率都是很大的瓶颈;其二,存储空间占用较大,一方面,通常在节点存储服务器中都会存储不止一个版本的热更新资源,这样能够在当前版本热更新资源出现问题时快速回滚至更早版本的可用热更新资源,如果采用全量热更新方案会导致每个版本的热更新资源包体积都维持在最高水平,存储空间占用较大,而且不同版本的热更新资源之间存在大量的重复数据,重复数据被反复存储,造成存储空间浪费;另一方面,云应用平台通常会支持同一个应用的不同发行渠道版本,它们在逻辑上被当做不同的云应用,但内容几乎是相同的,对这些云应用提取的热更新资源包也几乎是相同的,这就导致对于这种不同发行渠道的同一个云应用,采用全量热更新方案提取热更新资源存在巨大的存储空间浪费的问题。
发明内容
有鉴于此,本申请实施例提供一种云应用的热更新资源提取与更新方法和装置、电子设备及存储介质,以解决现有的全量提取方案存在的提取过程耗时较长和存储空间占用较大的问题。
第一方面,本申请实施例提供了一种云应用的热更新资源提取方法,应用于第一存储服务器,所述第一存储服务器中存储有云应用的第一版本的全量热更新资源文件,将所述第一版本的全量热更新资源文件作为第一文件,将第二文件以可读写方式挂载在所述云应用运行的云端实例中,所述第一文件和所述第二文件内容相同,所述方法包括:
在所述云应用热更新结束后,获取第三文件,其中,在所述云应用的热更新过程中所述第二文件会更新为所述第三文件,所述第三文件的版本为第二版本,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本;
获取所述第三文件相较于所述第二文件的增量热更资源,其中,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定;
将所述增量热更资源同步至第二存储服务器,以使所述第二存储服务器基于所述增量热更资源对所述云应用存储的第一版本的全量热更新资源文件进行更新,其中,所述第二存储服务器为待更新热更新资源的存储服务器。
第二方面,本申请实施例还提供了一种云应用的热更新资源更新方法,应用于第二存储服务器,所述第二存储服务器中存储有云应用的第一版本的全量热更新资源文件,包括:
接收第一存储服务器同步的增量热更资源;
利用所述增量热更资源将所述第一版本的全量热更新资源文件更新为第二版本的全量热更新资源文件,以在所述第二版本的全量热更新资源文件挂载到云端实例中后,使所述云应用基于所述第二版本的全量热更新资源文件在所述云端实例上运行,其中,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定。
第三方面,本申请实施例还提供了一种云应用的热更新资源提取装置,应用于第一存储服务器,所述第一存储服务器中存储有云应用的第一版本的全量热更新资源文件,将所述第一版本的全量热更新资源文件作为第一文件,将第二文件以可读写方式挂载在所述云应用运行的云端实例中,所述第一文件和所述第二文件内容相同,所述装置包括:
第一获取单元,用于在所述云应用热更新结束后,获取第三文件,其中,在所述云应用的热更新过程中所述第二文件会更新为所述第三文件,所述第三文件的版本为第二版本,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本;
第二获取单元,用于获取所述第三文件相较于所述第二文件的增量热更资源,其中,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定;
同步单元,用于将所述增量热更资源同步至第二存储服务器,以使所述第二存储服务器基于所述增量热更资源对所述云应用存储的第一版本的全量热更新资源文件进行更新,其中,所述第二存储服务器为待更新热更新资源的存储服务器。
第四方面,本申请实施例还提供了一种云应用的热更新资源更新装置,应用于第二存储服务器,所述第二存储服务器中存储有云应用的第一版本的全量热更新资源文件,包括:
接收单元,用于接收第一存储服务器同步的增量热更资源;
更新单元,用于接收第一存储服务器同步的增量热更资源,利用所述增量热更资源将所述第一版本的全量热更新资源文件更新为第二版本的全量热更新资源文件,以在所述第二版本的全量热更新资源文件挂载到云端实例中后,使所述云应用基于所述第二版本的全量热更新资源文件在所述云端实例上运行,其中,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的云应用的热更新资源提取方法或如第二方面所述的云应用的热更新资源更新方法的步骤。
第六方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的云应用的热更新资源提取方法或如第二方面所述的云应用的热更新资源更新方法的步骤。
综上,本申请实施例提供的云应用的热更新资源提取与更新方法和装置、电子设备及存储介质,在云应用热更新结束后,第一存储服务器会获取最新版本的全量热更新资源文件,并获取最新版本的全量热更新资源文件相较于最新版本的前一版本的全量热更新资源文件的增量热更资源,然后将所述增量热更资源同步至第二存储服务器,所述第二存储服务器在接收到第一存储服务器同步的增量热更资源后,会利用所述增量热更资源将其存储的最新版本的前一版本的全量热更新资源文件更新为最新版本的全量热更新资源文件,则在所述最新版本的全量热更新资源文件挂载到云端实例中后,所述云应用能够基于所述最新版本的全量热更新资源文件在所述云端实例上运行,整个方案中,一方面,通过可读写方式的挂载最新版本的前一版本的全量热更新资源文件,使得最新版本的全量热更新资源文件能够由云应用在第一存储服务器中通过增量更新的方式生成,并不需要提取云端实例中的全量热更新资源打包上传至第一存储服务器,相较于现有的全量提取方案,能解决上传全量热更新资源包速度较慢的问题,且极大减少了热更新资源的提取量,因而能提高提取速度,减少提取过程耗时;另一方面,在提取热更新资源后,第一存储服务器和第二存储服务器中仅存储有最新版本的全量热更新资源文件,或者最新版本的全量热更新资源文件及最新版本的前一版本的全量热更新资源文件,并不需要存储多个版本的全量热更新资源文件,而如果云应用存在不同的发行渠道版本,采用本申请实施例提供的云应用的热更新资源提取与更新方案,可以仅存储某一个发行渠道的最新版本的全量热更新资源文件,并不需要存储各个发行渠道的各个版本的全量热更新资源文件,因而相较于现有的全量提取方案,能极大节省存储空间。
附图说明
图1为本申请实施例提供的一种云应用的热更新资源提取方法的流程示意图;
图2为本申请实施例提供的一种云应用的热更新资源更新方法的流程示意图;
图3为本申请实施例提供的一种云应用的热更新资源提取装置的结构示意图;
图4为本申请实施例提供的一种云应用的热更新资源更新装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
参照图1所示,为本申请实施例提供的一种云应用的热更新资源提取方法,应用于第一存储服务器,所述第一存储服务器中存储有云应用的第一版本的全量热更新资源文件,将所述第一版本的全量热更新资源文件作为第一文件,将第二文件以可读写方式挂载在所述云应用运行的云端实例中,所述第一文件和所述第二文件内容相同,所述方法包括:
S10、在所述云应用热更新结束后,获取第三文件,其中,在所述云应用的热更新过程中所述第二文件会更新为所述第三文件,所述第三文件的版本为第二版本,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本;
S11、获取所述第三文件相较于所述第二文件的增量热更资源,其中,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定;
本实施例中,需要说明的是,在确定新增的文件内容和删除的文件标记之前,可以先遍历第一目录(即所述第三文件的文件目录)和第二目录(即所述第二文件的文件目录)的目录结构,确定出所述第三文件相较于所述第二文件新增的文件和删除的文件。对于新增的文件,可以对其进行标记,并保存新增的文件内容;对于删除的文件,可以对其进行标记,但不保存删除的文件内容。
S12、将所述增量热更资源同步至第二存储服务器,以使所述第二存储服务器基于所述增量热更资源对所述云应用存储的第一版本的全量热更新资源文件进行更新,其中,所述第二存储服务器为待更新热更新资源的存储服务器。
本实施例中,需要说明的是,第一存储服务器在获取到增量热更资源后,可以存储增量热更资源,并删除最新版本的前一版本的全量热更新资源文件,此时第一存储服务器存储有增量热更资源和最新版本的全量热更新资源文件,如果需要回滚到最新版本的前一版本的全量热更新资源文件,可以根据增量热更资源和最新版本的全量热更新资源文件生成最新版本的前一版本的全量热更新资源文件。另外,需要说明的是,第一存储服务器中还可以存储云应用的安装文件,安装文件挂载在云端实例(某种操作系统(例如安卓操作系统)加上运行该操作系统所需的必要硬件(例如处理器、存储器等),可以视为一个实例,实例部署在各地的IDC机房中,其上可以运行各种应用)中,可实现云应用在云端实例中免安装运行。在第一次进行云应用的热更新资源提取时,可通过可读写挂载云端实例的方式(即将第一存储服务器的全量热更新资源路径挂载到云端实例中,云应用热更时会从云应用的后台服务器获取热更新数据写入第一存储服务器的全量热更新资源路径)在第一存储服务器中生成全量热更新资源,将其作为基础版本并存储。则在之后的每次热更新资源提取时,第一存储服务器中可以存储最新版本的全量热更新资源文件相较于最新版本的前一版本的全量热更新资源文件的增量热更资源,以方便的进行版本控制,比如在出现故障时可根据基础版本以及增量热更资源快速回滚热更新资源的历史版本、可根据基础版本以及增量热更资源快速对新建存储服务器进行初始化、当某存储服务器出现版本缺失时可根据基础版本以及增量热更资源快速与其他存储服务器同步以恢复数据等。第一存储服务器生成最新版本的全量热更新资源文件后,后续在将安装文件和最新版本的全量热更新资源文件挂载到其它云端实例后,在其它云端实例上运行的云应用可免去安装过程中解压缩和拷贝数据到系统中的过程,也可免去云应用启动时从云应用后台服务器获取热更新数据进行热更新的过程,从而可以提高启动最新版本的应用的速度。
另外,需要说明的是,为了便于后续的热更新资源提取,可以在第一存储服务器空闲时生成最新版本的全量热更新资源文件的拷贝。第二存储服务器可以通过数据同步与第一存储服务器保持数据一致,同步时不需要传递各个版本的全量热更新资源文件,而可以仅传递基础版本和增量热更资源,从而可以极大程度的缩短同步时间。
本申请实施例提供的云应用的热更新资源提取方法,在云应用热更新结束后,第一存储服务器会获取最新版本的全量热更新资源文件,并获取最新版本的全量热更新资源文件相较于最新版本的前一版本的全量热更新资源文件的增量热更资源,然后将所述增量热更资源同步至第二存储服务器,使所述第二存储服务器利用所述增量热更资源将其存储的最新版本的前一版本的全量热更新资源文件更新为最新版本的全量热更新资源文件,则在所述最新版本的全量热更新资源文件挂载到云端实例中后,所述云应用能够基于所述最新版本的全量热更新资源文件在所述云端实例上运行,整个方案中,一方面,通过可读写方式的挂载最新版本的前一版本的全量热更新资源文件,使得最新版本的全量热更新资源文件能够由云应用在第一存储服务器中通过增量更新的方式生成,并不需要提取云端实例中的全量热更新资源打包上传至第一存储服务器,相较于现有的全量提取方案,能解决上传全量热更新资源包速度较慢的问题,且极大减少了热更新资源的提取量,因而能提高提取速度,减少提取过程耗时;另一方面,在提取热更新资源后,第一存储服务器和第二存储服务器中仅存储有最新版本的全量热更新资源文件,或者最新版本的全量热更新资源文件及最新版本的前一版本的全量热更新资源文件,并不需要存储多个版本的全量热更新资源文件,而如果云应用存在不同的发行渠道版本,采用本申请实施例提供的云应用的热更新资源提取方案,可以仅存储某一个发行渠道的最新版本的全量热更新资源文件,并不需要存储各个发行渠道的各个版本的全量热更新资源文件,因而相较于现有的全量提取方案,能极大节省存储空间。
在前述方法实施例的基础上,获取所述修改的文件差量,可以包括:
确定出所有的第一文件对,其中,每一个所述第一文件对均包括第一目录中的一个文件和第二目录中的一个文件,每一个所述第一文件对中的两个文件的名称相同,且内容至少部分不同,所述第一目录为所述第三文件的文件目录,所述第二目录为所述第二文件的文件目录;
本实施例中,需要说明的是,在确定所有的第一文件对时,可以先遍历第一目录和第二目录的目录结构,确定出第一目录中和第二目录中的同名文件,然后根据文件的特征值确定同名文件的内容是否完全相同。若同名文件的内容不完全相同,则确定同名文件是第一文件对,否则,则确定同名文件不是第一文件对。而在确定同名文件的内容是否完全相同时,可以先计算同名文件的弱特征值(弱特征值不同时文件内容一定不同,弱特征值相同时文件内容可能不同,即弱特征值是不能体现文件内容是否完全相同的特征值,比如文件大小、循环冗余校验crc校验码、安全哈希算法SHA1校验码),判断同名文件的弱特征值是否相同,若弱特征值不相同,则确定同名文件的内容不完全相同,或者若弱特征值相同,则需要计算同名文件的强特征值(强特征值是能够体现文件内容是否完全相同的特征值,比如信息摘要算法MD5值),判断同名文件的强特征值是否相同,若强特征值不相同,则确定同名文件的内容不完全相同,否则,则确定同名文件的内容完全相同。文件的弱特征值或强特征值不同,则文件内容一定不同;文件的弱特征值相同,则文件内容可能不同,此时需要进一步计算文件的强特征值,根据文件的强特征值确定文件的内容是否不完全相同。因为弱特征值的计算速度快于强特征值,在确定第一文件对时,通过先计算弱特征值后计算强特征值的方式能够提高第一文件对的确定效率。
对于每一个所述第一文件对,分别记该第一文件对中属于第一目录和第二目录的文件为新文件和旧文件,对该旧文件进行分块,得到旧文件块,并计算每一个所述旧文件块的特征值,其中,所述旧文件块的大小相同或者所述旧文件块中除最小的一个文件块之外的其它文件块的大小相同或者所述旧文件块中除最小的两个文件块之外的其它文件块的大小相同;
本实施例中,需要说明的是,在对该旧文件进行分块时,可以从文件的任意位置开始进行分块,比如从文件起始位置开始进行分块,或者从文件中间某个位置开始进行分块,或者从文件末尾处开始进行分块。在具体分块时需要按照预设的大小(具体数值可以根据需要设置)进行分块,则从文件起始位置开始进行分块和从文件末尾处开始进行分块得到的文件块中至多存在一个文件块的大小小于其它文件块的大小,从文件中间某个位置开始进行分块得到的文件块中至多存在两个文件块的大小小于其它文件块的大小。
指定该新文件的第一个文件块,将该第一个文件块作为起始新文件块,通过滑动窗口的方式确定当前待比对新文件块,通过比较该当前待比对新文件块的特征值和所述旧文件块的特征值确定该当前待比对新文件块是否经过修改,并根据经过修改的所有待比对新文件块确定该新文件对应的修改的文件差量,其中,该当前待比对新文件块的大小与所述旧文件块的大小相同或者该当前待比对新文件块的大小与所述其它文件块的大小相同;
本实施例中,需要说明的是,该第一个文件块可以在该新文件中的任意位置取块得到,但是需要保证该第一个文件块的大小与该旧文件的大多数文件块的大小相同。在指定该第一个文件块后,可以将该第一个文件块作为起始新文件块,通过滑动窗口的方式确定当前待比对新文件块,通过比较该当前待比对新文件块的特征值和所述旧文件块的特征值确定该当前待比对新文件块是否经过修改,并根据经过修改的所有待比对新文件块确定该新文件对应的修改的文件差量。在确定当前待比对新文件块时,可以从起始新文件块开始,如果当前待比对新文件块经过修改,则需要将当前待比对新文件块处的窗口(窗口大小与该第一个文件块的大小相同)移动第一单位(第一单位大小小于该第一个文件块的大小),移动后窗口所在位置对应的文件块为新的当前待比对新文件块;而如果当前待比对新文件块未经过修改,则需要将当前待比对新文件块处的窗口移动第二单位(第二单位大于第一单位,比如第二单位大小可以与该第一个文件块的大小相同),移动后窗口所在位置对应的文件块为新的当前待比对新文件块,其中,移动方向包括能够遍历完该新文件的方向。
在通过比较该当前待比对新文件块的特征值和所述旧文件块的特征值确定该当前待比对新文件块是否经过修改时,可以计算该当前待比对新文件块的强特征值和所述旧文件块的强特征值,比较该当前待比对新文件块的强特征值和所述旧文件块的强特征值,若该当前待比对新文件块的强特征值和每一个旧文件块的强特征值均不相同,则确定该当前待比对新文件块经过修改,否则,则确定该当前待比对新文件块未经过修改。除了比较强特征值来确定该当前待比对新文件块是否经过修改之外,还可以通过弱特征值和强特征值的比较来确定该当前待比对新文件块是否经过修改,方法包括:计算该当前待比对新文件块的弱特征值和所述旧文件块的弱特征值,比较该当前待比对新文件块的弱特征值和所述旧文件块的弱特征值,若该当前待比对新文件块的弱特征值和每一个旧文件块的弱特征值均不相同,则确定该当前待比对新文件块经过修改,或者若该当前待比对新文件块的弱特征值和至少一个旧文件块的弱特征值相同,则计算该当前待比对新文件块的强特征值和所述至少一个旧文件块的强特征值,比较该当前待比对新文件块的强特征值和所述至少一个旧文件块的强特征值是否相同,若该当前待比对新文件块的强特征值和所述至少一个旧文件块中所有的旧文件块的强特征值均不相同,确定该当前待比对新文件块经过修改或者若该当前待比对新文件块的强特征值和所述至少一个旧文件块中至少一个旧文件块的强特征值相同,确定该当前待比对新文件块未经过修改。需要说明的是,本实施例中,文件块的弱特征值可以使用除文件大小外的其它弱特征值。
举例来说,假设某个第一文件对中包括新文件N和旧文件O,则确定新文件N对应的修改的文件差量的方法可以包括如下步骤:
(1)从文件起始位置开始对旧文件O进行分块,得到30个大小相同的文件块O1,O2,...,O30,分别计算文件块O1,O2,...,O30的弱特征值x1,x2,...,x30和强特征值y1,y2,...,y30。
(2)将窗口(窗口大小与文件块O1大小相同)置于新文件N的文件头处,对新文件N从文件头(偏移量为0)开始取一个文件块作为第一个文件块,将第一个文件块作为起始新文件块S,将起始新文件块S作为当前待比对新文件块D,计算当前待比对新文件块D的弱特征值Dx,并将Dx与x1,x2,...,x30进行比较,若存在x8= Dx(x8为文件块O8的弱特征值),则计算当前待比对新文件块D的强特征值Dy,并将Dy与y8进行比较,若y8= Dy(y8为文件块O8的强特征值),则确定当前待比对新文件块D与文件块O8相同,当前待比对新文件块D未经过修改。则可以将窗口后移一个窗口大小,将移动后窗口所在位置对应的文件块确定为新的当前待比对新文件块D。重复前述步骤,若x1,x2,...,x30与Dx均不相同,则确定当前待比对新文件块D与文件块O8不相同,当前待比对新文件块D经过修改。则可以将窗口后移一个字节,将移动后窗口所在位置对应的文件块确定为新的当前待比对新文件块D。重复前述步骤,直至遍历完新文件N或还未遍历完新文件N,但剩余文件大小小于窗口大小。若还未遍历完新文件N,但剩余文件大小小于窗口大小,可以将剩余文件对应的文件块按照前述步骤确定是否经过修改,或者直接确定其经过修改。需要说明的是,在将窗口后移一个字节得到新的当前待比对新文件块D后,在计算新的当前待比对新文件块D的弱特征值时,可以基于前一个当前待比对新文件块的弱特征值进行计算,具体计算时,可以仅计算新的当前待比对新文件块D与前一个当前待比对新文件块的差异部分的弱特征值即可,相同部分的弱特征值则不需要计算,通过此方式可以提高弱特征值计算速度。
根据所有新文件对应的修改的文件差量确定所述修改的文件差量。
本实施例中,需要说明的是,如果单纯对比第一目录和第二目录结构中修改的文件得到文件级别的修改的文件差量,在许多场景下会显得效率十分低下,例如通常云应用会对热更新资源进行压缩打包,将一系列相关资源打包成一个大文件,当这个大文件中有任何一处资源文件发生变化时,基于文件级别的修改的文件差量方案都会重新将这个完整的大文件添加进修改的文件差量中,导致提取的修改的文件差量的体积较大,而实际上这个大文件可能仅仅发生了一处微小的变化。针对这种问题,本实施例中对于文件内容的变化采用基于块的对比方法,通过此方法能够极大减少提取的修改的文件差量的大小,因而能够进一步节省第一存储服务器和第二存储服务器的存储空间,并进一步减少修改的文件差量的同步时间。
在前述方法实施例的基础上,所述通过滑动窗口的方式确定当前待比对新文件块,可以包括:
若前一个待比对新文件块经过修改,则当前待比对新文件块为该前一个待比对新文件块对应窗口移动第一单位后所在位置对应的文件块,其中,所述窗口的大小与该前一个待比对新文件块的大小相同,且所述窗口的大小大于所述第一单位的大小;
若前一个待比对新文件块未经过修改,则当前待比对新文件块为该前一个待比对新文件块对应窗口移动第二单位后所在位置对应的文件块,其中,所述第二单位大于所述第一单位。
在前述方法实施例的基础上,所述通过比较该当前待比对新文件块的特征值和所述旧文件块的特征值确定该当前待比对新文件块是否经过修改,可以包括:
若判断获知该当前待比对新文件块的弱特征值与所述旧文件块中的各个旧文件块的弱特征值均不相同,则确定该当前待比对新文件块经过修改,或者若判断获知该当前待比对新文件块的弱特征值与所述旧文件块中的至少一个旧文件块的弱特征值相同,且该当前待比对新文件块的强特征值与所述至少一个旧文件块的强特征值均不相同,则确定该当前待比对新文件块经过修改,否则,则确定该当前待比对新文件块未经过修改。
在前述方法实施例的基础上,在获取所述重命名的文件标记之前,所述方法还可以包括:
计算第一目录中各个文件的弱特征值和第二目录中各个文件的弱特征值,通过比较所述第一目录中各个文件的弱特征值和第二目录中各个文件的弱特征值,确定第二文件对,其中,所述第一目录为所述第三文件的文件目录,所述第二目录为所述第二文件的文件目录,每一个所述第二文件对中均包括所述第一目录中的一个文件和所述第二目录中的一个文件,每一个所述第二文件对中的两个文件的弱特征值相同;
对于每一个所述第二文件对,计算该第二文件对中两个文件的强特征值,若判断获知该两个文件的强特征值相同,且该两个文件的名称不同,则确定该两个文件中属于所述第一目录的文件为该第二文件对对应的重命名的文件;
根据所有第二文件对对应的重命名的文件确定所述重命名的文件。
本实施例中,在获取所述重命名的文件标记之前,先确定重命名的文件,具体确定过程包括:计算第一目录中各个文件的弱特征值和第二目录中各个文件的弱特征值,将第一目录中弱特征值和第二目录中弱特征值相同的两个文件组成一个第二文件对,对于每一个第二文件对,计算该第二文件对包含的两个文件的强特征值,若两个文件的强特征值不同,则说明两个文件内容不同,两个文件中属于第一目录的文件不是重命名的文件,或者若两个文件的强特征值相同,则需要判断两个文件的名称是否相同,若两个文件的名称相同,则说明两个文件中属于第一目录的文件不是重命名的文件,或者若两个文件的名称不相同,则说明两个文件中属于第一目录的文件是重命名的文件。当然除了基于弱特征值和强特征值确定重命名的文件之外,还可以仅基于强特征值确定重命名的文件,具体方法为:计算第一目录中各个文件的强特征值和第二目录中各个文件的强特征值,对于第一目录中的每一个文件,比较该文件的强特征值与第二目录中各个文件的强特征值是否相同,若该文件的强特征值与第二目录中所有文件的强特征值均不相同,则确定该文件不是重命名的文件;若该文件的强特征值与第二目录中至少一个文件的强特征值相同,则判断这两个文件的文件名称是否相同,若名称相同,则确定该文件不是重命名的文件,否则,则确定该文件是重命名的文件。本实施例中,先基于弱特征值确定出第二文件对,然后再基于强特征值确定出重命名的文件,相较于仅基于强特征值确定重命名的文件的方案,因为提高了计算速度,因而能够提高重命名的文件的确定效率。
参照图2所示,为本申请实施例提供的一种云应用的热更新资源更新方法,应用于第二存储服务器,所述第二存储服务器中存储有云应用的第一版本的全量热更新资源文件,包括:
S20、接收第一存储服务器同步的增量热更资源;
S21、利用所述增量热更资源将所述第一版本的全量热更新资源文件更新为第二版本的全量热更新资源文件,以在所述第二版本的全量热更新资源文件挂载到云端实例中后,使所述云应用基于所述第二版本的全量热更新资源文件在所述云端实例上运行,其中,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定。
本申请实施例提供的云应用的热更新资源更新方法,接收第一存储服务器同步的增量热更资源;利用所述增量热更资源将最新版本的前一版本的全量热更新资源文件更新为最新版本的全量热更新资源文件,以在所述最新版本的全量热更新资源文件挂载到云端实例中后,使云应用基于所述最新版本的全量热更新资源文件在所述云端实例上运行,整个方案中,一方面,在第一存储服务器同步的增量热更资源之前的热更新资源提取过程中,通过可读写方式的挂载最新版本的前一版本的全量热更新资源文件,使得最新版本的全量热更新资源文件能够由云应用在第一存储服务器中通过增量更新的方式生成,并不需要提取云端实例中的全量热更新资源打包上传至第一存储服务器,相较于现有的全量提取方案,能解决上传全量热更新资源包速度较慢的问题,且极大减少了热更新资源的提取量,因而能提高提取速度,减少提取过程耗时;另一方面,在提取热更新资源后,第一存储服务器和第二存储服务器中仅存储有最新版本的全量热更新资源文件,或者最新版本的全量热更新资源文件及最新版本的前一版本的全量热更新资源文件,并不需要存储多个版本的全量热更新资源文件,而如果云应用存在不同的发行渠道版本,采用本申请实施例提供的云应用的热更新资源提取方案,可以仅存储某一个发行渠道的最新版本的全量热更新资源文件,并不需要存储各个发行渠道的各个版本的全量热更新资源文件,因而相较于现有的全量提取方案,能极大节省存储空间。
参照图3所示,为本申请实施例提供的一种云应用的热更新资源提取装置,应用于第一存储服务器,所述第一存储服务器中存储有云应用的第一版本的全量热更新资源文件,将所述第一版本的全量热更新资源文件作为第一文件,将第二文件以可读写方式挂载在所述云应用运行的云端实例中,所述第一文件和所述第二文件内容相同,所述装置包括:
第一获取单元30,用于在所述云应用热更新结束后,获取第三文件,其中,在所述云应用的热更新过程中所述第二文件会更新为所述第三文件,所述第三文件的版本为第二版本,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本;
第二获取单元31,用于获取所述第三文件相较于所述第二文件的增量热更资源,其中,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定;
同步单元32,用于将所述增量热更资源同步至第二存储服务器,以使所述第二存储服务器基于所述增量热更资源对所述云应用存储的第一版本的全量热更新资源文件进行更新,其中,所述第二存储服务器为待更新热更新资源的存储服务器。
本申请实施例提供的云应用的热更新资源提取装置,在云应用热更新结束后,第一存储服务器会借助于第一获取单元30获取最新版本的全量热更新资源文件,并借助于第二获取单元31获取最新版本的全量热更新资源文件相较于最新版本的前一版本的全量热更新资源文件的增量热更资源,然后借助于同步单元32将所述增量热更资源同步至第二存储服务器,使所述第二存储服务器利用所述增量热更资源将其存储的最新版本的前一版本的全量热更新资源文件更新为最新版本的全量热更新资源文件,则在所述最新版本的全量热更新资源文件挂载到云端实例中后,所述云应用能够基于所述最新版本的全量热更新资源文件在所述云端实例上运行,整个方案中,一方面,通过可读写方式的挂载最新版本的前一版本的全量热更新资源文件,使得最新版本的全量热更新资源文件能够由云应用在第一存储服务器中通过增量更新的方式生成,并不需要提取云端实例中的全量热更新资源打包上传至第一存储服务器,相较于现有的全量提取方案,能解决上传全量热更新资源包速度较慢的问题,且极大减少了热更新资源的提取量,因而能提高提取速度,减少提取过程耗时;另一方面,在提取热更新资源后,第一存储服务器和第二存储服务器中仅存储有最新版本的全量热更新资源文件,或者最新版本的全量热更新资源文件及最新版本的前一版本的全量热更新资源文件,并不需要存储多个版本的全量热更新资源文件,而如果云应用存在不同的发行渠道版本,采用本申请实施例提供的云应用的热更新资源提取方案,可以仅存储某一个发行渠道的最新版本的全量热更新资源文件,并不需要存储各个发行渠道的各个版本的全量热更新资源文件,因而相较于现有的全量提取方案,能极大节省存储空间。
参照图4所示,为本申请实施例提供的一种云应用的热更新资源更新装置,应用于第二存储服务器,所述第二存储服务器中存储有云应用的第一版本的全量热更新资源文件,包括:
接收单元40,用于接收第一存储服务器同步的增量热更资源;
更新单元41,用于接收第一存储服务器同步的增量热更资源,利用所述增量热更资源将所述第一版本的全量热更新资源文件更新为第二版本的全量热更新资源文件,以在所述第二版本的全量热更新资源文件挂载到云端实例中后,使所述云应用基于所述第二版本的全量热更新资源文件在所述云端实例上运行,其中,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定。
本申请实施例提供的云应用的热更新资源更新装置,借助于接收单元40接收第一存储服务器同步的增量热更资源;借助于更新单元41利用所述增量热更资源将最新版本的前一版本的全量热更新资源文件更新为最新版本的全量热更新资源文件,以在所述最新版本的全量热更新资源文件挂载到云端实例中后,使云应用基于所述最新版本的全量热更新资源文件在所述云端实例上运行,整个方案中,一方面,在第一存储服务器同步的增量热更资源之前的热更新资源提取过程中,通过可读写方式的挂载最新版本的前一版本的全量热更新资源文件,使得最新版本的全量热更新资源文件能够由云应用在第一存储服务器中通过增量更新的方式生成,并不需要提取云端实例中的全量热更新资源打包上传至第一存储服务器,相较于现有的全量提取方案,能解决上传全量热更新资源包速度较慢的问题,且极大减少了热更新资源的提取量,因而能提高提取速度,减少提取过程耗时;另一方面,在提取热更新资源后,第一存储服务器和第二存储服务器中仅存储有最新版本的全量热更新资源文件,或者最新版本的全量热更新资源文件及最新版本的前一版本的全量热更新资源文件,并不需要存储多个版本的全量热更新资源文件,而如果云应用存在不同的发行渠道版本,采用本申请实施例提供的云应用的热更新资源提取方案,可以仅存储某一个发行渠道的最新版本的全量热更新资源文件,并不需要存储各个发行渠道的各个版本的全量热更新资源文件,因而相较于现有的全量提取方案,能极大节省存储空间。
本申请实施例提供的云应用的热更新资源提取装置,其实现过程与本申请实施例提供的云应用的热更新资源提取方法一致,所能达到的效果也与本申请实施例提供的云应用的热更新资源提取方法相同,在此不再赘述。
如图5所示,本申请实施例提供的一种电子设备,包括:处理器50、存储器51和总线52,所述存储器51存储有所述处理器50可执行的机器可读指令,当电子设备运行时,所述处理器50与所述存储器51之间通过总线52通信,所述处理器50执行所述机器可读指令,以执行如上述云应用的热更新资源提取方法的步骤。
具体地,上述存储器51和处理器50能够为通用的存储器和处理器,这里不做具体限定,当处理器50运行存储器51存储的计算机程序时,能够执行上述云应用的热更新资源提取方法。
对应于上述云应用的热更新资源提取方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述云应用的热更新资源提取方法的步骤。
对应于上述云应用的热更新资源更新方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述云应用的热更新资源更新方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种云应用的热更新资源提取方法,应用于第一存储服务器,其特征在于,所述第一存储服务器中存储有云应用的第一版本的全量热更新资源文件,将所述第一版本的全量热更新资源文件作为第一文件,将第二文件以可读写方式挂载在所述云应用运行的云端实例中,所述第一文件和所述第二文件内容相同,所述方法包括:
在所述云应用热更新结束后,获取第三文件,其中,在所述云应用的热更新过程中所述第二文件会更新为所述第三文件,所述第三文件的版本为第二版本,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本;
获取所述第三文件相较于所述第二文件的增量热更资源,其中,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定;
将所述增量热更资源同步至第二存储服务器,以使所述第二存储服务器基于所述增量热更资源对所述云应用存储的第一版本的全量热更新资源文件进行更新,其中,所述第二存储服务器为待更新热更新资源的存储服务器。
2.如权利要求1所述的方法,其特征在于,获取所述修改的文件差量,包括:
确定出所有的第一文件对,其中,每一个所述第一文件对均包括第一目录中的一个文件和第二目录中的一个文件,每一个所述第一文件对中的两个文件的名称相同,且内容至少部分不同,所述第一目录为所述第三文件的文件目录,所述第二目录为所述第二文件的文件目录;
对于每一个所述第一文件对,分别记该第一文件对中属于第一目录和第二目录的文件为新文件和旧文件,对该旧文件进行分块,得到旧文件块,并计算每一个所述旧文件块的特征值,其中,所述旧文件块的大小相同或者所述旧文件块中除最小的一个文件块之外的其它文件块的大小相同或者所述旧文件块中除最小的两个文件块之外的其它文件块的大小相同;
指定该新文件的第一个文件块,将该第一个文件块作为起始新文件块,通过滑动窗口的方式确定当前待比对新文件块,通过比较该当前待比对新文件块的特征值和所述旧文件块的特征值确定该当前待比对新文件块是否经过修改,并根据经过修改的所有待比对新文件块确定该新文件对应的修改的文件差量,其中,该当前待比对新文件块的大小与所述旧文件块的大小相同或者该当前待比对新文件块的大小与所述其它文件块的大小相同;
根据所有新文件对应的修改的文件差量确定所述修改的文件差量。
3.如权利要求2所述的方法,其特征在于,所述通过滑动窗口的方式确定当前待比对新文件块,包括:
若前一个待比对新文件块经过修改,则当前待比对新文件块为该前一个待比对新文件块对应窗口移动第一单位后所在位置对应的文件块,其中,所述窗口的大小与该前一个待比对新文件块的大小相同,且所述窗口的大小大于所述第一单位的大小;
若前一个待比对新文件块未经过修改,则当前待比对新文件块为该前一个待比对新文件块对应窗口移动第二单位后所在位置对应的文件块,其中,所述第二单位大于所述第一单位。
4.如权利要求2或3所述的方法,其特征在于,所述通过比较该当前待比对新文件块的特征值和所述旧文件块的特征值确定该当前待比对新文件块是否经过修改,包括:
若判断获知该当前待比对新文件块的弱特征值与所述旧文件块中的各个旧文件块的弱特征值均不相同,则确定该当前待比对新文件块经过修改,或者若判断获知该当前待比对新文件块的弱特征值与所述旧文件块中的至少一个旧文件块的弱特征值相同,且该当前待比对新文件块的强特征值与所述至少一个旧文件块的强特征值均不相同,则确定该当前待比对新文件块经过修改,否则,则确定该当前待比对新文件块未经过修改。
5.如权利要求1所述的方法,其特征在于,在获取所述重命名的文件标记之前,所述方法还包括:
计算第一目录中各个文件的弱特征值和第二目录中各个文件的弱特征值,通过比较所述第一目录中各个文件的弱特征值和第二目录中各个文件的弱特征值,确定第二文件对,其中,所述第一目录为所述第三文件的文件目录,所述第二目录为所述第二文件的文件目录,每一个所述第二文件对中均包括所述第一目录中的一个文件和所述第二目录中的一个文件,每一个所述第二文件对中的两个文件的弱特征值相同;
对于每一个所述第二文件对,计算该第二文件对中两个文件的强特征值,若判断获知该两个文件的强特征值相同,且该两个文件的名称不同,则确定该两个文件中属于所述第一目录的文件为该第二文件对对应的重命名的文件;
根据所有第二文件对对应的重命名的文件确定所述重命名的文件。
6.一种云应用的热更新资源更新方法,应用于第二存储服务器,其特征在于,所述第二存储服务器中存储有云应用的第一版本的全量热更新资源文件,包括:
接收第一存储服务器同步的增量热更资源;
利用所述增量热更资源将所述第一版本的全量热更新资源文件更新为第二版本的全量热更新资源文件,以在所述第二版本的全量热更新资源文件挂载到云端实例中后,使所述云应用基于所述第二版本的全量热更新资源文件在所述云端实例上运行,其中,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定。
7.一种云应用的热更新资源提取装置,应用于第一存储服务器,其特征在于,所述第一存储服务器中存储有云应用的第一版本的全量热更新资源文件,将所述第一版本的全量热更新资源文件作为第一文件,将第二文件以可读写方式挂载在所述云应用运行的云端实例中,所述第一文件和所述第二文件内容相同,所述装置包括:
第一获取单元,用于在所述云应用热更新结束后,获取第三文件,其中,在所述云应用的热更新过程中所述第二文件会更新为所述第三文件,所述第三文件的版本为第二版本,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本;
第二获取单元,用于获取所述第三文件相较于所述第二文件的增量热更资源,其中,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定;
同步单元,用于将所述增量热更资源同步至第二存储服务器,以使所述第二存储服务器基于所述增量热更资源对所述云应用存储的第一版本的全量热更新资源文件进行更新,其中,所述第二存储服务器为待更新热更新资源的存储服务器。
8.一种云应用的热更新资源更新装置,应用于第二存储服务器,其特征在于,所述第二存储服务器中存储有云应用的第一版本的全量热更新资源文件,包括:
接收单元,用于接收第一存储服务器同步的增量热更资源;
更新单元,用于利用所述增量热更资源将所述第一版本的全量热更新资源文件更新为第二版本的全量热更新资源文件,以在所述第二版本的全量热更新资源文件挂载到云端实例中后,使所述云应用基于所述第二版本的全量热更新资源文件在所述云端实例上运行,其中,所述第二版本的前一版本为所述第一版本,所述第二版本为最新版本,所述增量热更资源包括新增的文件内容、删除的文件标记、重命名的文件标记和修改的文件差量中的至少一项,所述重命名的文件标记基于文件的特征值确定,所述修改的文件差量基于文件块的特征值确定。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一项所述的云应用的热更新资源提取方法或如权利要求6所述的云应用的热更新资源更新方法的步骤。
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至5任一项所述的云应用的热更新资源提取方法或如权利要求6所述的云应用的热更新资源更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210536271.3A CN114637527B (zh) | 2022-05-18 | 2022-05-18 | 云应用的热更新资源提取与更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210536271.3A CN114637527B (zh) | 2022-05-18 | 2022-05-18 | 云应用的热更新资源提取与更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114637527A CN114637527A (zh) | 2022-06-17 |
CN114637527B true CN114637527B (zh) | 2022-08-19 |
Family
ID=81953100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210536271.3A Active CN114637527B (zh) | 2022-05-18 | 2022-05-18 | 云应用的热更新资源提取与更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637527B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016486B (zh) * | 2022-12-02 | 2024-06-18 | 广州文远知行科技有限公司 | 一种同步文件的方法、装置、设备及存储介质 |
CN116339791B (zh) * | 2023-05-31 | 2023-09-01 | 海马云(天津)信息技术有限公司 | 云应用的更新方法、装置、电子设备及存储介质 |
CN118151964A (zh) * | 2024-01-08 | 2024-06-07 | 广州市玄武无线科技股份有限公司 | 一种中心化管理的产品升级方法、系统和电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04209043A (ja) * | 1990-11-30 | 1992-07-30 | Nec Corp | バージョン管理方式 |
US6349311B1 (en) * | 1999-02-01 | 2002-02-19 | Symantec Corporation | Storage of reverse delta updates |
CN110083381B (zh) * | 2018-01-26 | 2023-04-28 | 启碁科技股份有限公司 | 增量升级的方法及装置 |
CN109800005B (zh) * | 2018-12-06 | 2022-04-05 | 广州西山居世游网络科技有限公司 | 一种客户端热更新方法及装置 |
CN112988181A (zh) * | 2019-12-12 | 2021-06-18 | 中兴通讯股份有限公司 | 应用更新方法、装置、终端、服务器和可读存储介质 |
CN113312066B (zh) * | 2020-02-27 | 2022-07-26 | 福建省天奕网络科技有限公司 | 动态热更新方法、存储介质 |
CN113094076A (zh) * | 2021-03-16 | 2021-07-09 | 杭州电魂网络科技股份有限公司 | 基于版本控制的版本迭代方法、装置、设备及介质 |
-
2022
- 2022-05-18 CN CN202210536271.3A patent/CN114637527B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114637527A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114637527B (zh) | 云应用的热更新资源提取与更新方法和装置 | |
JP6110020B2 (ja) | 参照カウンタ完全性チェック | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
US11741046B2 (en) | Method and apparatus for creating system disk snapshot of virtual machine | |
US9208166B2 (en) | Seeding replication | |
CN112328435B (zh) | 目标数据备份和恢复的方法、装置、设备及存储介质 | |
CN107229420B (zh) | 数据存储方法、读取方法、删除方法和数据操作系统 | |
US20210342297A1 (en) | Light-weight index deduplication and hierarchical snapshot replication | |
JP5753946B2 (ja) | フォントファイルをダウンロードする方法およびシステム | |
CN114356651A (zh) | 用于移动设备上的自动基于云的全数据备份和恢复的系统和方法 | |
US10884926B2 (en) | Method and system for distributed storage using client-side global persistent cache | |
US10776321B1 (en) | Scalable de-duplication (dedupe) file system | |
US9639433B2 (en) | Reducing input/output (I/O) operations for centralized backup and storage | |
CN111736762B (zh) | 数据存储网络的同步更新方法、装置、设备及存储介质 | |
US20190370127A1 (en) | Image recovery from volume image files | |
EP4270299A1 (en) | Operating system upgrade method, electronic device, and storage medium | |
CN111008053A (zh) | 一种虚拟桌面的自动同步方法及装置 | |
CN113311993A (zh) | 数据存储方法及数据读取方法 | |
CN110413568A (zh) | 一种数据复用方法、装置、电子设备及存储介质 | |
CN111586170B (zh) | 资源下载方法、装置、设备及计算机可读存储介质 | |
CN104639651A (zh) | 一种移动设备信息传输方法 | |
CN113535482B (zh) | 云备份链数据备份方法及装置、设备、可读介质 | |
CN113553215A (zh) | 一种基于环境信息的纠删码数据恢复优化方法及装置 | |
US10860533B1 (en) | File size as an indicator of file properties | |
CN112199529A (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: 20231205 Address after: 230031 Room 672, 6/F, Building A3A4, Zhong'an Chuanggu Science Park, No. 900, Wangjiang West Road, High-tech Zone, Hefei, Anhui Patentee after: Anhui Haima Cloud Technology Co.,Ltd. Address before: 301700 room 2d25, Building 29, No.89 Heyuan Road, Jingjin science and Technology Valley Industrial Park, Wuqing District, Tianjin Patentee before: HAIMAYUN (TIANJIN) INFORMATION TECHNOLOGY CO.,LTD. |