云原生应用的数据备份方法、装置、设备及介质与流程

文档序号:32759483发布日期:2022-12-31 09:29阅读:21来源:国知局
1.本发明涉及云原生
技术领域
:,尤其涉及一种云原生应用的数据备份方法、装置、设备及介质。
背景技术
::2.随着容器和微服务等技术在企业中的大量应用,云原生已经成为驱动企业业务增长的重要引擎。然而,由于技术架构的显著变化,针对云原生环境下应用系统,尤其是有状态应用的备份恢复,带来了新的挑战。3.目前,现有的云原生应用的数据备份方法,通常基于统一存储设备对云原生有状态应用进行数据备份。然而,在现有技术中,针对在线备份的云原生有状态应用,很难保障备份数据的一致性,从而无法保证应用恢复的成功率。技术实现要素:4.本发明提供了一种云原生应用的数据备份方法、装置、设备及介质,可以保证云原生有状态应用的备份数据的一致性,可以提升应用成功恢复的概率。5.根据本发明的一方面,提供了一种云原生应用的数据备份方法,包括:6.获取云原生有状态应用,并获取所述云原生有状态应用对应的至少一个组件,以及各所述组件对应的备份优先级;所述组件包括有状态组件和无状态组件;7.根据各所述组件对应的备份优先级,获取各所述有状态组件对应的增量备份数据,以及各所述无状态组件对应的全量备份数据;8.对各所述有状态组件对应的增量备份数据和各所述无状态组件对应的全量备份数据进行关联存储,以完成对所述云原生有状态应用的数据备份。9.根据本发明的另一方面,提供了一种云原生应用的数据备份装置,包括:10.组件获取模块,用于获取云原生有状态应用,并获取所述云原生有状态应用对应的至少一个组件,以及各所述组件对应的备份优先级;所述组件包括有状态组件和无状态组件;11.备份数据获取模块,用于根据各所述组件对应的备份优先级,获取各所述有状态组件对应的增量备份数据,以及各所述无状态组件对应的全量备份数据;12.数据存储模块,用于对各所述有状态组件对应的增量备份数据和各所述无状态组件对应的全量备份数据进行关联存储,以完成对所述云原生有状态应用的数据备份。13.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:14.至少一个处理器;以及15.与所述至少一个处理器通信连接的存储器;其中,16.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的云原生应用的数据备份方法。17.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的云原生应用的数据备份方法。18.本发明实施例的技术方案,通过获取云原生有状态应用,并获取云原生有状态应用对应的多个组件,以及各组件对应的备份优先级;之后,根据各组件对应的备份优先级,获取各有状态组件对应的增量备份数据,以及各无状态组件对应的全量备份数据;最终,对各有状态组件对应的增量备份数据和各无状态组件对应的全量备份数据进行关联存储,以完成对云原生有状态应用的数据备份;通过对有状态应用包含的有状态组件进行增量备份,以及对无状态组件进行全量备份,并对增量备份数据和全量备份数据进行关联存储,以完成数据备份,可以保证有状态应用的备份数据的一致性,可以提升应用成功恢复的概率。19.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。附图说明20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。21.图1a是根据本发明实施例一提供的一种云原生应用的数据备份方法的流程图;22.图1b是根据本发明实施例一提供的一种云原生应用的数据备份方法的流程示意图;23.图2是根据本发明实施例二提供的一种云原生应用的数据备份装置的结构示意图;24.图3是实现本发明实施例的云原生应用的数据备份方法的电子设备的结构示意图。具体实施方式25.为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。27.实施例一28.图1a为本发明实施例一提供了一种云原生应用的数据备份方法的流程图,本实施例可适用于对云原生的有状态应用进行在线数据备份的情况,该方法可以由云原生应用的数据备份装置来执行,该云原生应用的数据备份装置可以采用硬件和/或软件的形式实现,该云原生应用的数据备份装置可配置于电子设备中,典型的,电子设备可以是计算机设备或者服务器。如图1a所示,该方法包括:29.s110、获取云原生有状态应用,并获取所述云原生有状态应用对应的至少一个组件,以及各所述组件对应的备份优先级。30.需要说明的是,云原生应用可以分为无状态应用和有状态应用两类;其中,无状态应用(statelessapplication)不依赖本地运行环境,可以自由伸缩和灵活横向扩展;有状态应用(statefulapplication)依赖本地运行环境,应用之间互相依赖,例如,存在启动先后顺序等,且不能随意伸缩和扩展。其次,有状态应用,可以包含部分有状态组件和部分无状态组件;例如,在kubernetes中,有状态组件可以包括资源对象statefulset等,无状态组件可以包括资源对象deployment等。31.其中,针对云原生环境下kubernetes集群中的有状态应用备份,可以包含两部分备份内容,即集群中相关的资源对象和相关实例所关联的存储卷数据。其中,kubernetes存储卷可以支持挂载文件系统(filesystem)设备或块(block)设备,并能够以文件系统目录的方式提供给相关实例使用。32.在本实施例中,云原生有状态应用可以包括多个组件,组件可以包括有状态组件和无状态组件。具体的,可以通过判断组件的状态是否受事件或者外部消息的影响,将全部组件划分为有状态组件和无状态组件两种类型。其中,有状态组件可以包括数据库、中间件和微服务中的至少一项。需要说明的是,云原生应用可以部署在一个或多个命名空间(namespace)下,故可以结合实际业务系统的架构部署情况,采用kubernetes的应用程序接口(applicationprogramminginterface,api)自动检索kubernetes集群内相关namespace和lable,以实现对云原生有状态应用的定义和获取。33.在本实施例中,可以预先设置不同组件对应的备份优先级,典型的,备份优先级从高到低可以依次为数据库、中间件和微服务。因此,在获取到云原生有状态应用包含的各组件之后,可以获取到每个组件对应的备份优先级。34.s120、根据各所述组件对应的备份优先级,获取各所述有状态组件对应的增量备份数据,以及各所述无状态组件对应的全量备份数据。35.具体的,可以按照备份优先级从高到低的顺序,依次为各组件进行数据备份;其中,针对有状态组件,可以对其进行增量备份,以获取每个有状态组件对应的增量备份数据;而对于无状态组件,则可以进行全量备份,以获取每个无状态组件对应的全量备份数据。36.其中,根据各组件对应的备份优先级,获取各无状态组件对应的全量备份数据,可以包括:当根据各组件对应的备份优先级,检测到当前待备份的组件为无状态组件时,可以生成该无状态组件对应的快照标识(identitydocument,id),例如,snapshoot-id,并基于kubernetesapi提取该无状态组件对应的应用描述、配置信息等资源,以作为对应的全量备份数据;之后,可以生成快照标识和获取资源之间的映射关系,并存储该映射关系到预设外部对象存储空间。37.在本实施例的一个可选的实施方式中,根据各所述组件对应的备份优先级,获取各所述有状态组件对应的增量备份数据,可以包括:38.若根据各所述组件对应的备份优先级检测到当前待备份的组件为当前有状态组件,则获取所述当前有状态组件对应的运行实例关联的存储卷,以及所述存储卷对应的文件系统目录;39.获取所述当前有状态组件对应的前置钩子函数,并通过所述前置钩子函数对所述当前有状态组件进行服务静默操作;40.根据所述存储卷对应的文件系统目录,获取所述当前有状态组件对应的组件数据;41.获取所述当前有状态组件对应的后置钩子函数,并通过所述后置钩子函数对所述当前有状态组件进行解除服务静默操作;42.对所述当前有状态组件对应的组件数据进行增量备份,以获取所述当前有状态组件对应的增量备份数据。43.在另一种情况下,当前待备份的组件为当前有状态组件时,可以基于kubernetesapi(例如,coreapiv1接口中volumesource、persistentvolumeclaim和persistentvolume等)获取当前有状态组件对应的运行实例关联的存储卷,以及存储卷对应的文件系统目录,即存储路径。之后,可以生成该当前有状态组件对应的前置钩子函数(prehook),并通过该前置钩子函数对当前有状态组件进行服务静默操作,以阻断对存储卷数据的任何更新操作(例如,写操作)。44.之后,可以按照获取的存储卷对应的文件系统目录,读取当前有状态组件对应的组件数据。进一步的,可以生成该当前有状态组件对应的后置钩子函数(posthook),以对当前有状态组件进行解除服务静默操作,即重新恢复对存储卷数据的更新操作。最后,可以对读取的组件数据进行增量备份,以获取当前有状态组件对应的增量备份数据。45.在本实施例的另一个可选的实施方式中,对所述当前有状态组件对应的组件数据进行增量备份,以获取所述当前有状态组件对应的增量备份数据,可以包括:46.获取所述当前有状态组件对应的快照标识,并根据所述当前有状态组件对应的快照标识,获取所述当前有状态组件对应的历史备份数据;47.对所述当前有状态组件对应的组件数据和对应的历史备份数据进行比对,以获取差异数据,并将所述差异数据作为所述当前有状态组件对应的增量备份数据。48.在一个具体的例子中,可以首先获取当前有状态组件对应的快照id,并基于该快照id,从预设外部对象存储空间中检索得到当前有状态组件对应的历史备份数据;其中,历史备份数据,可以是最近一次的备份数据。之后,可以对该组件数据和该历史备份数据进行比对,以获取两者之间的差异数据,并将该差异数据作为本次需要备份的数据,即增量备份数据。49.在本实施例中,通过对有状态组件进行增量备份,可以避免对相同组件数据的重复备份,可以提升有状态应用的数据备份效率。50.s130、对各所述有状态组件对应的增量备份数据和各所述无状态组件对应的全量备份数据进行关联存储,以完成对所述云原生有状态应用的数据备份。51.具体的,在获取到当前的云原生有状态应用包含的各有状态组件对应的增量备份数据和各无状态组件对应的全量备份数据之后,可以将各增量备份数据和各全量备份数据存储到预设外部对象存储空间,并建立各增量备份数据和各全量备份数据之间的关联关系,以实现对增量备份数据和全量备份数据的关联存储,从而实现对云原生有状态应用的数据备份。52.可选的,在对增量备份数据和全量备份数据进行关联存储之后,还可以获取云原生有状态应用对应的应用信息,以及备份时间点和当前统计信息等内容,并将该内容存储到预设外部对象存储空间的同一索引文件内。53.本发明实施例的技术方案,通过获取云原生有状态应用,并获取云原生有状态应用对应的多个组件,以及各组件对应的备份优先级;之后,根据各组件对应的备份优先级,获取各有状态组件对应的增量备份数据,以及各无状态组件对应的全量备份数据;最终,对各有状态组件对应的增量备份数据和各无状态组件对应的全量备份数据进行关联存储,以完成对云原生有状态应用的数据备份;通过对有状态应用包含的有状态组件进行增量备份,以及对无状态组件进行全量备份,并对增量备份数据和全量备份数据进行关联存储,以完成数据备份,可以保证有状态应用的备份数据的一致性,可以提升应用成功恢复的概率。54.在本实施例的另一个可选的实施方式中,通过所述前置钩子函数对所述当前有状态组件进行服务静默操作,可以包括:55.若所述当前有状态组件为第一预设中间件,则通过所述前置钩子函数,将所述当前有状态组件对应的内存数据写入到快照数据文件,并将所述快照数据文件存储到预设磁盘;56.若所述当前有状态组件为第二预设中间件,则通过所述前置钩子函数,启用预设代理服务静默,以阻断对写操作的外部调用;以及57.若所述当前有状态组件为预设数据库,则通过所述前置钩子函数,开启预设数据库全局锁,以阻断内部写操作。58.其中,第一预设中间件和第二预设中间件,可以是预先设置的不同中间件,例如,第一预设中间件,可以是中间件zookeeper;第二预设中间件,可以是中间件nginx。预设数据库,可以是预先设置的数据库,例如,可以是数据库mysql。59.在本实施例中,针对不同的有状态组件,可以分别设置对应的前置钩子函数,以执行不同的操作,从而实现对应有状态组件的服务静默。60.在一个具体的例子中,在通过前置钩子函数对当前有状态组件进行服务静默操作时,若当前有状态组件为中间件zookeeper,则可以通过前置钩子函数调用中间件zookeeper的filesnap快照数据对外接口(包括快照数据的写入和读取等),将当前有状态组件对应的内存数据写入到快照数据文件,以对内存数据进行序列化,并将该快照数据文件存储到预设磁盘,以实现对zookeeper内存数据的强制落盘。61.其次,若当前有状态组件为中间件nginx,则可以通过前置钩子函数启用预设代理服务nginx静默,以阻断外部调用写操作,例如,可以执行kubectlpatchsvc-nnginx-testnginx‑‑typemerge-p'{"spec":{"ports":[{"port":52,"name":"web"}]}}’。而若当前有状态组件为数据库mysql,则可以通过前置钩子函数,开启mysql全局锁,以阻断内部写操作;例如,可以配置mysql热备前可执行全局锁“flushtableswithreadlock;”,以刷新缓存并全局禁止写操作,从而可以保证数据库中存储数据在后续备份时不会发生变化。[0062]可选的,通过所述前置钩子函数对所述当前有状态组件进行服务静默操作,还可以包括:通过前置钩子函数,对当前有状态组件内部进行一致性检测和处理。[0063]在本实施例的另一个可选的实施方式中,通过所述后置钩子函数对所述当前有状态组件进行解除服务静默操作,可以包括:[0064]若所述当前有状态组件为预设数据库,则通过所述后置钩子函数,停用所述预设数据库全局锁,以恢复内部写操作;以及[0065]若所述当前有状态组件为第二预设中间件,则通过所述后置钩子函数,解除所述预设代理服务静默,以恢复对写操作的外部调用。[0066]在一个具体的例子中,若当前有状态组件为数据库mysql,则可以通过后置钩子函数停用mysql全局锁,以恢复内部写操作;例如,可以在mysql热备前执行释放全局锁“unlocktables;”操作,以恢复写操作。而若当前有状态组件为中间件nginx,则可以通过后置钩子函数解除nginx静默,以恢复外部调用写操作,例如,可以执行kubectlpatchsvc-nnginx-testnginx‑‑typemerge-p'{"spec":{"ports":[{"port":80,"name":"web"}]}}'。[0067]在本实施例中,通过设置各组件对应的前置钩子函数和后置钩子函数,可以确保在数据备份期间,应用数据不会发生变化,故可以严格保证备份数据的一致性,从而可以提升应用成功恢复的概率。[0068]在本实施例的另一个可选的实施方式中,对各所述有状态组件对应的增量备份数据和各所述无状态组件对应的全量备份数据进行关联存储,以完成对所述云原生有状态应用的数据备份,可以包括:[0069]获取各所述有状态组件对应的快照标识,以及各所述无状态组件对应的快照标识;[0070]生成各所述有状态组件对应的快照标识和对应的增量备份数据之间的映射关系存储到预设外部对象存储空间,并生成各所述无状态组件对应的快照标识和对应的全量备份数据之间的映射关系存储到预设外部对象存储空间;[0071]生成各所述有状态组件对应的快照标识和各所述无状态组件对应的快照标识之间的关联关系存储到预设外部对象存储空间,以完成对所述云原生有状态应用的数据备份。[0072]在本实施例中,在对增量备份数据和全量备份数据进行关联存储时,可以首先生成每个有状态组件和每个无状态组件分别对应的快照标识;之后,可以生成每个有状态组件对应的快照标识和对应的增量备份数据之间的映射关系,以及每个无状态组件对应的快照标识和对应的全量备份数据之间的映射关系,并将生成的各映射关系分别存储到预设外部对象存储空间的索引文件。然后,可以生成各有状态组件对应的快照标识和各无状态组件对应的快照标识之间的关联关系,并将该关联关系同样存储到预设外部对象存储空间,以最终完成对云原生有状态应用的数据备份。[0073]在本实施例的一个具体的实施方式中,云原生应用的数据备份的流程可以如图1b所示。具体的,首先,定义并获取云原生有状态应用,并确定云原生有状态应用包含的组件列表,以及各组件对应的备份优先级。然后,根据各组件对应的备份优先级顺序,先对各有状态组件进行增量备份,以获取各有状态组件对应的增量备份数据,再对各无状态组件进行全量备份,以获取各无状态组件对应的全量备份数据。[0074]之后,将各有状态组件对应的增量备份数据,以及各无状态组件对应的全量备份数据存储到外部对象存储空间。其次,生成各有状态组件对应的快照标识与各无状态组件对应的快照标识之间的关联关系,并存储该关联关系到外部对象存储空间。[0075]其中,在对各有状态组件进行增量备份时,可以获取各有状态组件对应的前置钩子函数和后置钩子函数,并结合前置钩子函数和后置钩子函数,在增量备份期间确保组件数据不发生变化,以确保备份数据的一致性。针对不同的有状态组件,前置钩子函数可以用来完成以下任一项操作:内存数据落盘、开启静默服务、启用全局锁和一致性检测处理;对应的,后置钩子函数可以用来完成停用全局锁或者解除静默服务操作。[0076]实施例二[0077]图2为本发明实施例二提供的一种云原生应用的数据备份装置的结构示意图。如图2所示,该装置可以包括:组件获取模块210、备份数据获取模块220和数据存储模块230;其中,[0078]组件获取模块210,用于获取云原生有状态应用,并获取所述云原生有状态应用对应的至少一个组件,以及各所述组件对应的备份优先级;所述组件包括有状态组件和无状态组件;[0079]备份数据获取模块220,用于根据各所述组件对应的备份优先级,获取各所述有状态组件对应的增量备份数据,以及各所述无状态组件对应的全量备份数据;[0080]数据存储模块230,用于对各所述有状态组件对应的增量备份数据和各所述无状态组件对应的全量备份数据进行关联存储,以完成对所述云原生有状态应用的数据备份。[0081]本发明实施例的技术方案,通过获取云原生有状态应用,并获取云原生有状态应用对应的多个组件,以及各组件对应的备份优先级;之后,根据各组件对应的备份优先级,获取各有状态组件对应的增量备份数据,以及各无状态组件对应的全量备份数据;最终,对各有状态组件对应的增量备份数据和各无状态组件对应的全量备份数据进行关联存储,以完成对云原生有状态应用的数据备份;通过对有状态应用包含的有状态组件进行增量备份,以及对无状态组件进行全量备份,并对增量备份数据和全量备份数据进行关联存储,以完成数据备份,可以保证有状态应用的备份数据的一致性,可以提升应用成功恢复的概率。[0082]可选的,备份数据获取模块220,包括:[0083]文件系统目录获取单元,用于若根据各所述组件对应的备份优先级检测到当前待备份的组件为当前有状态组件,则获取所述当前有状态组件对应的运行实例关联的存储卷,以及所述存储卷对应的文件系统目录;[0084]前置钩子函数获取单元,用于获取所述当前有状态组件对应的前置钩子函数,并通过所述前置钩子函数对所述当前有状态组件进行服务静默操作;[0085]组件数据获取单元,用于根据所述存储卷对应的文件系统目录,获取所述当前有状态组件对应的组件数据;[0086]后置钩子函数获取单元,用于获取所述当前有状态组件对应的后置钩子函数,并通过所述后置钩子函数对所述当前有状态组件进行解除服务静默操作;[0087]增量备份数据获取单元,用于对所述当前有状态组件对应的组件数据进行增量备份,以获取所述当前有状态组件对应的增量备份数据。[0088]可选的,有状态组件包括数据库、中间件和微服务中的至少一项。[0089]可选的,前置钩子函数获取单元,具体用于若所述当前有状态组件为第一预设中间件,则通过所述前置钩子函数,将所述当前有状态组件对应的内存数据写入到快照数据文件,并将所述快照数据文件存储到预设磁盘;[0090]若所述当前有状态组件为第二预设中间件,则通过所述前置钩子函数,启用预设代理服务静默,以阻断对写操作的外部调用;以及[0091]若所述当前有状态组件为预设数据库,则通过所述前置钩子函数,开启预设数据库全局锁,以阻断内部写操作。[0092]可选的,后置钩子函数获取单元,具体用于若所述当前有状态组件为预设数据库,则通过所述后置钩子函数,停用所述预设数据库全局锁,以恢复内部写操作;以及[0093]若所述当前有状态组件为第二预设中间件,则通过所述后置钩子函数,解除所述预设代理服务静默,以恢复对写操作的外部调用。[0094]可选的,增量备份数据获取单元,包括:[0095]历史备份数据获取子单元,用于获取所述当前有状态组件对应的快照标识,并根据所述当前有状态组件对应的快照标识,获取所述当前有状态组件对应的历史备份数据;[0096]差异数据获取子单元,用于对所述当前有状态组件对应的组件数据和对应的历史备份数据进行比对,以获取差异数据,并将所述差异数据作为所述当前有状态组件对应的增量备份数据。[0097]可选的,数据存储模块230,包括:[0098]快照标识获取单元,用于获取各所述有状态组件对应的快照标识,以及各所述无状态组件对应的快照标识;[0099]映射关系存储单元,用于生成各所述有状态组件对应的快照标识和对应的增量备份数据之间的映射关系存储到预设外部对象存储空间,并生成各所述无状态组件对应的快照标识和对应的全量备份数据之间的映射关系存储到预设外部对象存储空间;[0100]关联关系存储单元,用于生成各所述有状态组件对应的快照标识和各所述无状态组件对应的快照标识之间的关联关系存储到预设外部对象存储空间,以完成对所述云原生有状态应用的数据备份。[0101]本发明实施例所提供的云原生应用的数据备份装置可执行本发明任意实施例所提供的云原生应用的数据备份方法,具备执行方法相应的功能模块和有益效果。[0102]实施例三[0103]图3示出了可以用来实施本发明的实施例的电子设备30的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。[0104]如图3所示,电子设备30包括至少一个处理器31,以及与至少一个处理器31通信连接的存储器,如只读存储器(rom)32、随机访问存储器(ram)33等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器31可以根据存储在只读存储器(rom)32中的计算机程序或者从存储单元38加载到随机访问存储器(ram)33中的计算机程序,来执行各种适当的动作和处理。在ram33中,还可存储电子设备30操作所需的各种程序和数据。处理器31、rom32以及ram33通过总线34彼此相连。输入/输出(i/o)接口35也连接至总线34。[0105]电子设备30中的多个部件连接至i/o接口35,包括:输入单元36,例如键盘、鼠标等;输出单元37,例如各种类型的显示器、扬声器等;存储单元38,例如磁盘、光盘等;以及通信单元39,例如网卡、调制解调器、无线通信收发机等。通信单元39允许电子设备30通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。[0106]处理器31可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器31的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器31执行上文所描述的各个方法和处理,例如云原生应用的数据备份方法。[0107]在一些实施例中,云原生应用的数据备份方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元38。在一些实施例中,计算机程序的部分或者全部可以经由rom32和/或通信单元39而被载入和/或安装到电子设备30上。当计算机程序加载到ram33并由处理器31执行时,可以执行上文描述的云原生应用的数据备份方法的一个或多个步骤。备选地,在其他实施例中,处理器31可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行云原生应用的数据备份方法。[0108]本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。[0109]用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。[0110]在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。[0111]为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。[0112]可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。[0113]计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。[0114]应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。[0115]上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1