CN116820677A - 一种业务数据迁移方法、装置、电子设备及存储介质 - Google Patents
一种业务数据迁移方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116820677A CN116820677A CN202310789276.1A CN202310789276A CN116820677A CN 116820677 A CN116820677 A CN 116820677A CN 202310789276 A CN202310789276 A CN 202310789276A CN 116820677 A CN116820677 A CN 116820677A
- Authority
- CN
- China
- Prior art keywords
- type information
- service data
- data
- target
- information
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 77
- 238000013508 migration Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000003993 interaction Effects 0.000 claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000008676 import Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 17
- 239000008186 active pharmaceutical agent Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000002372 labelling Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种业务数据迁移方法、装置、电子设备及存储介质,通过确定针对所述业务数据的类型信息;响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;通过所述目标类型信息将所述目标业务数据保存为导出文件;将所述导出文件迁移至其他容器云编排集群,从而实现了支持定制化配置需要迁移的对象,提升了针对业务数据的转移效率。
Description
技术领域
本发明涉及业务数据迁移技术领域,特别是涉及一种业务数据迁移方法、一种业务数据迁移装置、一种电子设备以及一种计算机可读存储介质。
背景技术
容器云编排系统kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Kubernetes作为流行的容器编排工具,已大量应用到实际场景中。在实际业务运行一段时候后,通常会发生集群迁移的情况,例如云基础设施转移、机房搬迁、服务器升级、操作系统更新、kubernetes升级等。如何方便、快速和安全的将kubernetes集群中运行的业务对象迁移到新集群中,成为了本领域技术人员需要克服的技术问题。
发明内容
本发明实施例是提供一种业务数据迁移方法、装置、电子设备以及计算机可读存储介质,以解决如何提升kubernetes业务数据迁移效率的问题。
本发明实施例公开了一种业务数据迁移方法,所述方法应用于管理容器云编排集群的容器云编排系统,所述容器云编排系统配置有应用程序编程接口,包括:
确定针对所述业务数据的类型信息;
响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;
通过所述目标类型信息将所述目标业务数据保存为导出文件;
将所述导出文件迁移至其他容器云编排集群。
可选地,所述类型信息包括数据种类信息,和/或,接口变种信息,和/或,数据范围信息。
可选地,还包括:
当所述数据范围信息为命名信息时,构建针对所述命名信息的命名信息列表。
可选地,所述通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据的步骤包括:
读取所述容器云编排集群中的对象类型数据,以确定针对业务数据的目标类型信息和目标范围;
当所述数据种类信息和所述目标类型信息匹配,且所述数据范围信息处于所述目标范围内时,通过所述应用程序编程接口对所述业务数据添加注解信息,以将与所述类型信息对应的业务数据标记为目标业务数据。
可选地,所述通过所述目标类型信息将所述目标业务数据保存为导出文件的步骤包括:
构建导出列表;
读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的导出类型信息;
遍历所述导出类型信息,当通过所述导出类型信息判定所述目标类型信息符合预设条件时,将所述目标业务数据添加至所述导出列表;
在完成对所述导出类型信息的遍历时,将所述导出列表中的目标业务数据保存为导出文件。
可选地,所述容器云编排系统配置有导入命令行工具,所述将所述导出文件迁移至其他容器云编排集群的步骤包括:
调用所述导入命令行工具将所述导出文件迁移至其他容器云编排集群。
可选地,所述容器云编排系统配置有对应的流量监控器,还包括:
通过所述流量监控器监测所述管理容器云编排集群的访问压力值;所述访问压力值包括业务系统访问所述管理容器云编排集群的频次和/或流量;
判断所述频次,和/或,流量是否大于预设阈值;
当所述频次,和/或,流量大于预设阈值时,向所述人机交互界面发送数据迁移请求消息,并监听用户通过人机交互界面提交针对所述类型信息的业务迁移请求。
本发明实施例还公开了一种业务数据迁移装置,所述装置应用于管理容器云编排集群的容器云编排系统,所述容器云编排系统配置有应用程序编程接口,包括:
类型信息确定模块,用于确定针对所述业务数据的类型信息;
目标业务数据标记模块,用于响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;
导出文件保存模块,用于通过所述目标类型信息将所述目标业务数据保存为导出文件;
导出文件迁移模块,用于将所述导出文件迁移至其他容器云编排集群。
可选地,所述类型信息包括数据种类信息,和/或,接口变种信息,和/或,数据范围信息。
可选地,还包括:
命名信息列表构建模块,用于当所述数据范围信息为命名信息时,构建针对所述命名信息的命名信息列表。
可选地,所述目标业务数据标记模块可以包括:
第一对象类型数据读取子模块,用于读取所述容器云编排集群中的对象类型数据,以确定针对业务数据的目标类型信息和目标范围;
注解信息添加子模块,用于当所述数据种类信息和所述目标类型信息匹配,且所述数据范围信息处于所述目标范围内时,通过所述应用程序编程接口对所述业务数据添加注解信息,以将与所述类型信息对应的业务数据标记为目标业务数据。
可选地,所述导出文件保存模块可以包括:
导出列表构建子模块,用于构建导出列表;
第二对象类型数据读取子模块,用于读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的导出类型信息;
导出类型信息遍历子模块,用于遍历所述导出类型信息,当通过所述导出类型信息判定所述目标类型信息符合预设条件时,将所述目标业务数据添加至所述导出列表;
导出文件保存子模块,用于在完成对所述导出类型信息的遍历时,将所述导出列表中的目标业务数据保存为导出文件。
可选地,所述容器云编排系统配置有导入命令行工具,所述导出文件迁移模块包括:
导出文件迁移子模块,用于调用所述导入命令行工具将所述导出文件迁移至其他容器云编排集群。
可选地,所述容器云编排系统配置有对应的流量监控器,还可以包括:
压力监测模块,用于通过所述流量监控器监测所述管理容器云编排集群的访问压力值;所述访问压力值包括业务系统访问所述管理容器云编排集群的频次和/或流量;
判断模块,用于判断所述频次,和/或,流量是否大于预设阈值;
数据迁移请求消息发送模块,用于当所述频次,和/或,流量大于预设阈值时,向所述人机交互界面发送数据迁移请求消息,并监听用户通过人机交互界面提交针对所述类型信息的业务迁移请求。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
本发明实施例,通过确定针对所述业务数据的类型信息;响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;通过所述目标类型信息将所述目标业务数据保存为导出文件;将所述导出文件迁移至其他容器云编排集群,从而实现了支持定制化配置需要迁移的对象,提升了针对业务数据的转移效率。
进一步地,由于容器云编排系统Kubernetes的原生应用程序编程接口API可以对业务对象执行逻辑注入,所以,本发明实施例可以不必确定容器云编排系统Kubernetes的定义规则后,再基于定义规则生成针对业务数据的自定义接口,从而实现了在不改变容器云编排系统Kubernetes原有机制下完成对业务数据的迁移。
附图说明
图1是本发明实施例中提供的一种业务数据迁移方法的步骤流程图;
图2是本发明实施例中提供的一种业务数据迁移系统的结构示意图;
图3是本发明实施例中提供的一种针对业务数据的标记流程示意图;
图4是本发明实施例中提供的一种针对导出文件的生成流程示意图;
图5是本发明实施例中提供的一种业务数据迁移装置的结构框图;
图6是本发明实施例中提供的一种电子设备的硬件结构框图;
图7是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在实际应用中,相关技术通过备份分布式注册服务中心ETCD的数据,然后将备份的数据导入到新建的集群中。
分布式注册服务中心ETCD是用于共享配置和服务发现的分布式,一致性的键值对KV储存系统。
采用上述方式通常与产生如下几个技术问题:
1.备份的数据为整个集群,不支持选择;
2.对备份的数据格式有要求,新集群要能兼容老集群的格式;
3.当集群存储为非分布式注册服务中心ETCD时,无法采用上述方式进行业务数据迁移。
然而,在实际应用中,受容器云编排系统Kubernetes管理的服务器集群可以被称为Kubernetes集群,对Kubernetes集群内对象的操作都可以通过应用程序编程接口服务API-Server进行。在API Server处理请求的流程中,有一个校验对象内容的钩子函数,用户可以注入自己的校验逻辑,有鉴于此,本发明实施例提供了一种业务数据迁移方法,通过使用容器云编排系统Kubernetes的变异转入mutating admission机制,对集群中需要导出的对象在创建时进行标注,然后在需要导出的时候通过筛选标注进行对象获取并导出至文件,然后通过导入模块读取文件,在新集群中进行再创建,从而完整集群业务的迁移。从而实现了支持定制化配置需要迁移的对象,提升了针对业务数据的转移效率。
参照图1,示出了本发明实施例中提供的一种业务数据迁移方法的步骤流程图,具体可以包括如下步骤:
步骤101,确定针对所述业务数据的类型信息;
步骤102,响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;
步骤103,通过所述目标类型信息将所述目标业务数据保存为导出文件;
步骤104,将所述导出文件迁移至其他容器云编排集群。
在具体实现中,本发明实施例可以用于管理容器云编排集群的容器云编排系统Kubernetes。
在实际应用中,受容器云编排系统Kubernetes管理的服务器集群可以被称为容器云编排集群,即,Kubernetes集群,示例性地,可以但不限于包括分布式注册服务中心ETCD。
应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
本发明实施例的容器云编排系统Kubernetes可以配置有应用程序编程接口API,且该应用程序编程接口API可以是容器云编排系统Kubernetes的原生应用程序编程接口API。
如图2所示,图2是本发明实施例中提供的一种业务数据迁移系统的结构示意图,本发明实施例可以在容器云编排系统Kubernetes中集成标注对象模块201、对象导出模块202和对象导入模块203,同时,本发明实施例可以为容器云编排系统Kubernetes配置对应的客户端,客户端可以配置有对应的人机交互界面,用户可以在人机交互界面输入针对业务数据的迁移指令。
在具体实现中,本发明实施例可以通过标注对象模块201读取容器云编排集群中的对象类型数据,确定针对业务数据的类型信息,示例性地,通过读取容器云编排集群中的对象类型数据ConfigMap,可以定义了需要进行迁移业务的对象类型,可以但不限于包括数据种类信息kind、接口变种信息apiversion,scope等等。
本发明实施例的标注对象模块201在确定针对业务数据的类型信息后,还可以监听人机交互界面对类型信息的迁移指令。
当用户通过人机交互界面输入针对类型信息的业务迁移请求后,本发明实施例的标注对象模块201可以响应于用户通过人机交互界面提交针对类型信息的业务迁移请求,通过应用程序编程接口服务API server将与所述类型信息对应的业务数据标记为目标业务数据,该目标业务数据可以具有对应的目标类型信息。
在将业务数据标记为目标业务数据,且确定目标业务数据对应的目标类型信息后,本发明实施例可以调用对象导出模块202读取对象类型数据ConfigMap,以确定与目标业务数据对应的目标类型信息,并通过应用程序编程接口服务API server获取目标业务数据,将其保存为导出文件。
在保存导出文件后,本发明实施例可以采用对象导入模块203将导出文件迁移至其他容器云编排集群,并在将导出文件迁移至其他容器云编排集群后,在其他容器云编排集群中基于导出文件重建业务数据。
可选地,将导出文件迁移至其他容器云编排系统的过程可以采用异步传输的方式进行数据迁移。
异步传输(ATM)是每一个字符独立形成一个帧进行传输,一个连续的字符串同样被封装成连续的独立帧进行传输,各个字符间的间隔可以是任意的,所以这种传输方式称为异步传输。异步传输模式(Asynchronous Transfer Mode)是一种信元交换和多路复用技术。ATM采用信元(Cell)作为传输单位,信元具有固定长度,总共53字节,前5字节是信头(Header),其余48字节是数据段。信头中有信元去向的逻辑地址、优先级、信头差错控制、流量控制等信息。数据段中装入被分解成数据块的各种不同业务的用户信息或其他管理信息,并透明地穿过网络。在数据传输中,来自不同业务和不同源端发送的信息统一以固定字节的信元汇集在一起,在ATM交换机的缓冲区排队,然后传送到线路上,由信息头中的地址来确定信元的去向。使用这种方法可使任何业务按实际需要占用资源,保证网络资源得到合理利用,ATM技术被广泛应用于银行等金融机构中。
本发明实施例,通过确定针对所述业务数据的类型信息;响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;通过所述目标类型信息将所述目标业务数据保存为导出文件;将所述导出文件迁移至其他容器云编排集群,从而实现了支持定制化配置需要迁移的对象,提升了针对业务数据的转移效率。
进一步地,由于容器云编排系统Kubernetes的原生应用程序编程接口API可以对业务对象执行逻辑注入,所以,本发明实施例可以不必确定容器云编排系统Kubernetes的定义规则后,再基于定义规则生成针对业务数据的自定义接口,从而实现了在不改变容器云编排系统Kubernetes原有机制下完成对业务数据的迁移。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在本发明的一个可选地实施例中,所述类型信息包括数据种类信息,和/或,接口变种信息,和/或,数据范围信息。
在实际应用中,由于业务数据量巨大,为了在巨大的业务数据中提升对业务数据的标记效率,本发明实施例可以先对需要进行迁移的业务数据的类型信息进行定义,示例性地,类型信息包括数据种类信息kind,和/或,接口变种信息apiversion,和/或,数据范围信息scope。
本发明实施例,通过读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的类型信息;所述类型信息包括数据种类信息,和/或,接口变种信息,和/或,数据范围信息,为后续标注业务数据提供了先决条件,从而更进一步地提升数据迁移效率。
在本发明的一个可选地实施例中,还包括:
当所述数据范围信息为命名信息时,构建针对所述命名信息的命名信息列表。
本发明实施例可以在确定针对业务数据的类型信息后,判断类型信息中的数据范围信息scope是否为命名信息namespaced,若判定类型信息中的数据范围信息scope为命名信息namespaced,则可以构建针对命名信息namespaced的命名信息列表。具体地,命名列表可以包括针对应用程序编程接口API的版本信息、类型信息kind、元数据类型信息metadata、业务名称name、业务标签信息labels、业务数据信息data等等
示例性地,列表可以如下。
当然,上述例子仅作为示例,本领域技术人员可以采用任何列表形式及内容构建针对命名信息namespaced的命名信息列表,对此,本发明实施例不作限制。
在本发明的一个可选地实施例中,所述通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据的步骤包括:
读取所述容器云编排集群中的对象类型数据,以确定针对业务数据的目标类型信息和目标范围;
当所述数据种类信息和所述目标类型信息匹配,且所述数据范围信息处于所述目标范围内时,通过所述应用程序编程接口对所述业务数据添加注解信息,以将与所述类型信息对应的业务数据标记为目标业务数据。
在具体实现中,本发明实施例的标注对象模块201首先可以读取容器云编排集群中的对象类型数据ConfigMap,并从对象类型数据ConfigMap中确定需要监听的目标类型信息和目标范围,然后注册所需要的变型转入mutating admission;在注册完成对mutatingadmission的注册后,在管理容器云编排集群中创建或修改时,应用程序编程接口服务APIServer就可以通过应用程序编程接口API调用标注对象模块201对此业务数据添加注解信息annotation,以将与类型信息对应的业务数据标记为目标业务数据。
示例性地,目标类型信息为Deployment,目标范围包括Cluster,监听到针对数据种类信息为Deployment的业务迁移请求,该请求的业务数据的数据范围信息为Cluster,则判定数据种类信息和目标类型信息匹配,且数据范围信息处于目标范围内,则应用程序编程接口API可以调用标注对象模块201对此业务数据添加注解信息annotation,以将与类型信息对应的业务数据标记为目标业务数据。
本发明实施例,通过读取所述容器云编排集群中的对象类型数据,以确定针对业务数据的目标类型信息和目标范围;当所述数据种类信息和所述目标类型信息匹配,且所述数据范围信息处于所述目标范围内时,通过所述应用程序编程接口对所述业务数据添加注解信息,以将与所述类型信息对应的业务数据标记为目标业务数据,从而实现了在监听到针对类型信息的业务迁移请求时,可以自动将与类型信息对应的业务数据标记为目标业务数据,从而更进一步地提升了针对业务数据的迁移效率。
在本发明的一个可选地实施例中,所述通过所述目标类型信息将所述目标业务数据保存为导出文件的步骤包括:
构建导出列表;
读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的导出类型信息;
遍历所述导出类型信息,当通过所述导出类型信息判定所述目标类型信息符合预设条件时,将所述目标业务数据添加至所述导出列表;
在完成对所述导出类型信息的遍历时,将所述导出列表中的目标业务数据保存为导出文件。
在具体实现中,本发明实施例的对象导出模块202可以构建导出列表,并在对导出列表构建完成后,读取容器云编排集群中的对象类型数据ConfigMap,以遍历针对业务数据的导出类型信息,并根据导出类型信息判断是否需要导出目标业务数据,例如,可以基于导出类型信息设置导出监控范围,预设包括类型为Cluster的业务数据为需要导出的业务数据,而目标业务数据的目标类型信息也为Cluster,则可以判定该目标业务数据为需要导出的业务数据,并将目标业务数据记录在导出列表中,若目标业务数据的目标类型信息不为Cluster,则可以跳过该类型,并查看导出类型信息中是否存在其他类型与目标类型信息匹配,当遍历完所有的对象后,将导出列表中的目标业务数据保存为导出文件。
本发明实施例,通过构建导出列表;读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的导出类型信息;遍历所述导出类型信息,当通过所述导出类型信息判定所述目标类型信息符合预设条件时,将所述目标业务数据添加至所述导出列表;在完成对所述导出类型信息的遍历时,将所述导出列表中的目标业务数据保存为导出文件,提升了针对导出文件的生成效率,从而更进一步地提升了针对业务数据的导出效率。
可选地,本发明实施例可以调用容器云编排系统kubernetes自带的导入命令行工具kubectl将导出文件迁移至其他容器云编排集群,从而更进一步地提升针对业务数据的导出效率。
在本发明的一个可选地实施例中,所述容器云编排系统配置有对应的流量监控器,还包括:
通过所述流量监控器监测所述管理容器云编排集群的访问压力值;所述访问压力值包括业务系统访问所述管理容器云编排集群的频次和/或流量;
判断所述频次,和/或,流量是否大于预设阈值;
当所述频次,和/或,流量大于预设阈值时,向所述人机交互界面发送数据迁移请求消息,并监听用户通过人机交互界面提交针对所述类型信息的业务迁移请求。
在具体实现中,为进一步提升针对业务数据的迁移效率,本发明实施例可以为容器云编排系统kubernetes配置对应的流量监控器,并通过流量监控器监测业务系统访问管理容器云编排集群的频次和/或流量,并对频次,和/或,流量是否大于预设阈值进行判断,且在业务系统访问管理容器云编排集群的频次,和/或,流量大于预设阈值时,向人机交互界面发送数据迁移请求消息,以使用户能够通过数据迁移请求消息知晓当前管理容器云编排集群的业务需求量已经饱和,同时,在向人机交互界面发送数据迁移请求消息后,则可以调用标注对象模块201进入监听状态,以监听用户是否通过人机交互界面提交针对类型信息的业务迁移请求。
本发明实施例,通过所述流量监控器监测所述管理容器云编排集群的访问压力值;所述访问压力值包括业务系统访问所述管理容器云编排集群的频次和/或流量;判断所述频次,和/或,流量是否大于预设阈值;当所述频次,和/或,流量大于预设阈值时,向所述人机交互界面发送数据迁移请求消息,并监听用户通过人机交互界面提交针对所述类型信息的业务迁移请求,从而实现找了在管理容器云编排集群即将超负载时自动提醒用户,从而更进一步地提升了针对业务数据的迁移效率。
为使本领域技术人员更好地理解本发明实施例,以下采用一完整示例对本发明实施例进行说明。
如图2所示,图2是本发明实施例中提供的一种业务数据迁移系统的结构示意图,本发明实施例可以在容器云编排系统Kubernetes中集成标注对象模块201、对象导出模块202和对象导入模块203。
在具体实现中,对象类型数据ConfigMap定义了需要进行迁移业务的对象类型,包括有kind、apiversion、scope等,如果scope为namespaced时,则可以再给出迁移namespace具体列表。
参考图3,图3是本发明实施例中提供的一种针对业务数据的标记流程示意图。
标注对象模块201可以用于获取ConfigMap中需要监听的对象类型和范围,然后注册所需要的mutating admission,在注册完成后,当有此类型的对象在集群中创建或修改时,APIServer就可以回调标注模块,然后标注模块会对此对象进行标注注入,例如,添加annotation。
参考图4,图4是本发明实施例中提供的一种针对导出文件的生成流程示意图。
对象导出模块202首先同样是读取ConfigMap中定义的导出类型,然后依次遍历每种类型,并根据每种类型的具体定义进行判断是否需要导出,如果需要导出,则会记录在导出列表中,否则直接跳过。当遍历完所有的对象后,将导出列表中的内容保存为文件。
对象导入模块203可以依次部署业务导出的文件,并通过kubernetes自带的kubectl工具将导出文件在新集群中重建业务。
通过上述方式,可以在迁移业务数据的过程中,支持定制化配置需要迁移的对象,进一步地,迁移过程与ETCD解耦,解决版本兼容问题,还可以直接通过标准API接口进行对象的导入导出,提升了迁移范围的灵活性,同时,也提升了针对业务数据的迁移速度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例中提供的一种业务数据迁移装置的结构框图,具体可以包括如下模块:
类型信息确定模块501,用于确定针对所述业务数据的类型信息;
目标业务数据标记模块502,用于响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;
导出文件保存模块503,用于通过所述目标类型信息将所述目标业务数据保存为导出文件;
导出文件迁移模块504,用于将所述导出文件迁移至其他容器云编排集群。
可选地,所述类型信息包括数据种类信息,和/或,接口变种信息,和/或,数据范围信息。
可选地,还包括:
命名信息列表构建模块,用于当所述数据范围信息为命名信息时,构建针对所述命名信息的命名信息列表。
可选地,所述目标业务数据标记模块可以包括:
第一对象类型数据读取子模块,用于读取所述容器云编排集群中的对象类型数据,以确定针对业务数据的目标类型信息和目标范围;
注解信息添加子模块,用于当所述数据种类信息和所述目标类型信息匹配,且所述数据范围信息处于所述目标范围内时,通过所述应用程序编程接口对所述业务数据添加注解信息,以将与所述类型信息对应的业务数据标记为目标业务数据。
可选地,所述导出文件保存模块可以包括:
导出列表构建子模块,用于构建导出列表;
第二对象类型数据读取子模块,用于读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的导出类型信息;
导出类型信息遍历子模块,用于遍历所述导出类型信息,当通过所述导出类型信息判定所述目标类型信息符合预设条件时,将所述目标业务数据添加至所述导出列表;
导出文件保存子模块,用于在完成对所述导出类型信息的遍历时,将所述导出列表中的目标业务数据保存为导出文件。
可选地,所述容器云编排系统配置有导入命令行工具,所述导出文件迁移模块包括:
导出文件迁移子模块,用于调用所述导入命令行工具将所述导出文件迁移至其他容器云编排集群。
可选地,所述容器云编排系统配置有对应的流量监控器,还可以包括:
压力监测模块,用于通过所述流量监控器监测所述管理容器云编排集群的访问压力值;所述访问压力值包括业务系统访问所述管理容器云编排集群的频次和/或流量;
判断模块,用于判断所述频次,和/或,流量是否大于预设阈值;
数据迁移请求消息发送模块,用于当所述频次,和/或,流量大于预设阈值时,向所述人机交互界面发送数据迁移请求消息,并监听用户通过人机交互界面提交针对所述类型信息的业务迁移请求。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述业务数据迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述业务数据迁移方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图6为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与电子设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
电子设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在电子设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与电子设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备600内的一个或多个元件或者可以用于在电子设备600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
电子设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备600包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
如图7所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质701,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的业务数据迁移方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种业务数据迁移方法,其特征在于,所述方法应用于管理容器云编排集群的容器云编排系统,所述容器云编排系统配置有应用程序编程接口,包括:
确定针对所述业务数据的类型信息;
响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;
通过所述目标类型信息将所述目标业务数据保存为导出文件;
将所述导出文件迁移至其他容器云编排集群。
2.根据权利要求1所述的方法,其特征在于,所述类型信息包括数据种类信息,和/或,接口变种信息,和/或,数据范围信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
当所述数据范围信息为命名信息时,构建针对所述命名信息的命名信息列表。
4.根据权利要求2或3所述的方法,其特征在于,所述通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据的步骤包括:
读取所述容器云编排集群中的对象类型数据,以确定针对业务数据的目标类型信息和目标范围;
当所述数据种类信息和所述目标类型信息匹配,且所述数据范围信息处于所述目标范围内时,通过所述应用程序编程接口对所述业务数据添加注解信息,以将与所述类型信息对应的业务数据标记为目标业务数据。
5.根据权利要求2或3所述的方法,其特征在于,所述通过所述目标类型信息将所述目标业务数据保存为导出文件的步骤包括:
构建导出列表;
读取所述容器云编排集群中的对象类型数据,以确定针对所述业务数据的导出类型信息;
遍历所述导出类型信息,当通过所述导出类型信息判定所述目标类型信息符合预设条件时,将所述目标业务数据添加至所述导出列表;
在完成对所述导出类型信息的遍历时,将所述导出列表中的目标业务数据保存为导出文件。
6.根据权利要求1所述的方法,其特征在于,所述容器云编排系统配置有导入命令行工具,所述将所述导出文件迁移至其他容器云编排集群的步骤包括:
调用所述导入命令行工具将所述导出文件迁移至其他容器云编排集群。
7.根据权利要求1所述的方法,其特征在于,所述容器云编排系统配置有对应的流量监控器,还包括:
通过所述流量监控器监测所述管理容器云编排集群的访问压力值;所述访问压力值包括业务系统访问所述管理容器云编排集群的频次和/或流量;
判断所述频次,和/或,流量是否大于预设阈值;
当所述频次,和/或,流量大于预设阈值时,向所述人机交互界面发送数据迁移请求消息,并监听用户通过人机交互界面提交针对所述类型信息的业务迁移请求。
8.一种业务数据迁移装置,其特征在于,所述装置应用于管理容器云编排集群的容器云编排系统,所述容器云编排系统配置有应用程序编程接口,包括:
类型信息确定模块,用于确定针对所述业务数据的类型信息;
目标业务数据标记模块,用于响应于用户通过人机交互界面提交针对所述类型信息的业务迁移请求,通过所述应用程序编程接口将与所述类型信息对应的业务数据标记为目标业务数据;所述目标业务数据具有对应的目标类型信息;
导出文件保存模块,用于通过所述目标类型信息将所述目标业务数据保存为导出文件;
导出文件迁移模块,用于将所述导出文件迁移至其他容器云编排集群。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789276.1A CN116820677A (zh) | 2023-06-29 | 2023-06-29 | 一种业务数据迁移方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789276.1A CN116820677A (zh) | 2023-06-29 | 2023-06-29 | 一种业务数据迁移方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820677A true CN116820677A (zh) | 2023-09-29 |
Family
ID=88119910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310789276.1A Pending CN116820677A (zh) | 2023-06-29 | 2023-06-29 | 一种业务数据迁移方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820677A (zh) |
-
2023
- 2023-06-29 CN CN202310789276.1A patent/CN116820677A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768926B (zh) | 一种数据处理方法、终端设备及计算机可读存储介质 | |
US20220086798A1 (en) | Notification message processing method and terminal | |
CN112084747B (zh) | 一种资源管理方法、装置、电子设备及存储介质 | |
CN109885257A (zh) | 一种磁盘文件读写方法及装置 | |
CN112262556B (zh) | 模型文件的管理方法和终端设备 | |
CN109522278B (zh) | 一种文件存储方法及终端设备 | |
CN111309205B (zh) | 一种应用分享方法、第一电子设备及计算机可读存储介质 | |
CN111049980A (zh) | 一种应用分享方法、电子设备及计算机可读存储介质 | |
CN109144723B (zh) | 一种分配存储空间的方法和终端 | |
CN111399819B (zh) | 数据生成方法、装置、电子设备及存储介质 | |
CN107765954B (zh) | 一种应用程序图标更新方法、移动终端及服务器 | |
CN115589361A (zh) | 一种管理设备固件更新方法、装置、电子设备及存储介质 | |
CN111026674A (zh) | 一种数据存储方法及电子设备 | |
CN105335434B (zh) | 日志管理方法、装置及电子设备 | |
CN109889568B (zh) | 一种数据导出方法、服务器及系统 | |
CN109451011B (zh) | 一种基于区块链的信息存储方法及移动终端 | |
CN108491225B (zh) | 一种更新包生成方法及移动终端 | |
CN111163227A (zh) | 一种分享方法及电子设备 | |
CN116366521A (zh) | 一种针对网卡的数据包的流表规则统计方法和装置 | |
CN116820677A (zh) | 一种业务数据迁移方法、装置、电子设备及存储介质 | |
CN111475141B (zh) | 榜单的生成方法、装置及电子设备 | |
US20230394008A1 (en) | Distributed file access method and related device | |
CN115795519B (zh) | 数据加解密处理方法、装置、电子设备及存储介质 | |
CN110147334B (zh) | 一种编辑内容的存储方法及终端 | |
US9357027B2 (en) | Data processing method and system |
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 |