一种复制ceph块存储数据至对象存储的定时备份方法及系统与流程

文档序号:22041444发布日期:2020-08-28 18:10阅读:299来源:国知局
一种复制ceph块存储数据至对象存储的定时备份方法及系统与流程

本发明涉及定时备份块存储至对象存储领域,具体地说是一种复制ceph块存储数据至对象存储的定时备份方法及系统。



背景技术:

最近几年云计算相关技术日趋成熟和广泛应用,随着共有云、政务云、专有云等系统的发展,数据呈现爆发式的增长,数据安全可靠性和存储成本成为使用者不得不面对和考虑的问题,为了提高数据可靠性或者降低数据存储成本,可以将数据进行冗余备份亦或备份至成本更廉价的存储介质,但是数据的安全性能就随之降低;又或者每天或者固定时间由人工进行备份,但是工人备份既浪费人工成本,又容易出现由于人为疏忽而造成损失的情况。

云计算的发展促进了分布式存储系统的大范围应用,对象存储和块存储是当前主流的存储方式,ceph提供了块存储和对象存储能力,从应用层来看,云硬盘对应ceph的块存储。应用系统通过对接openstack和ceph,可以将云硬盘备份至ceph的对象存储系统。通过以上分析,平台层已经有了比较成熟的备份方法。故如何将定时备份的应用系统和和平台层的方案衔接在一起,实现由系统自动备份块存储数据至对象存储,同时确保数据的可靠性并能降低数据存储成本是目前亟待解决的技术问题。

专利号为cn110716829a的专利文献公开了一种基于ceph技术的块存储备份方法、终端及存储介质,该方法通过openstack的cinder项目提供块存储服务,将ceph集成到openstack的cinder项目中,通过ceph的rbd快照技术、采用增量备份的方式将数据备份至ceph集群中。终端包括处理器和存储器,存储器用于存储计算机程序,处理器被配置用于调用程序指令执行上述方法。存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时处理器执行上述方法。但是该技术方案不能实现将定时备份的应用系统和和平台层的方案衔接在一起,实现由系统自动备份块存储数据至对象存储。



技术实现要素:

本发明的技术任务是提供一种复制ceph块存储数据至对象存储的定时备份方法及系统,来解决如何将定时备份的应用系统和和平台层的方案衔接在一起,实现由系统自动备份块存储数据至对象存储,同时确保数据的可靠性并能降低数据存储成本的问题。

本发明的技术任务是按以下方式实现的,一种复制ceph块存储数据至对象存储的定时备份方法,该方法是通过调用openstackcinder-backup服务备份块数据,openstackcinder-backup服务后端备份驱动配置为swift,swift驱动调用rgw的swift接口,将块存储系统中的数据备份至ceph对象存储系统;具体如下:

用户根据实际需求在应用系统中创建备份策略;

用户按照自己的需求将备份策略与硬盘(块存储)绑定;

应用系统按照用户指定的规则执行备份策略;

执行备份策略时将绑定该备份策略的所有云硬盘从块存储系统备份至对象存储系统;

备份结束后异步通知用户前端界面备份结果。

作为优选,所述应用系统采用前端和后端分离的方式,前端用于接收用户请求,与后端通信以及给用户反馈给后端处理消息;后端用于实际的业务处理。

更优地,所述创建备份策略具体如下:

用户在前端界面设定策略名称并选择备份周期;

应用系统根据用户选择的备份周期生成备份周期表达式,备份周期表达式随着用户的提交动作由前端传递给后端解析使用;

用户点击提交后,前端发送post请求给后端,后端将策略名称、备份周期表达式、策略状态(初创时默认为启用状态)、用户在openstack平台中对应的项目以及domain导入数据库表,并生成对应的策略id和创建时间。

更优地,所述用户按照自己的需求将策略与云硬盘(块存储)绑定具体如下:

用户创建策略后,给策略关联云硬盘;

用户在前端界面调用后端接口查看到自己拥有的云硬盘并决定将哪些云硬盘关联策略;

云硬盘与策略关联成功后,云硬盘按照策略指定的周期自动进行备份;同时用户能够调用后端接口解除云硬盘与策略的关联关系;云硬盘与策略的关联关系在后端通过策略与云硬盘关联关系表中实现。

更优地,所述应用系统的后端启动,具体如下:

(1)、启动一个定时备份的进程,进程每隔20秒扫描一遍数据库表中的策略表,读取策略表中的备份周期表达式并解析;

(2)、判断当前时间与备份周期表达式解析后的结果是否相吻合:

①、若是,则执行步骤(3);

(3)、后端根据策略表查询策略与云硬盘的关联关系表,找到绑定该策略表的所有云硬盘,并判断策略绑定的云硬盘是否大于0;

①、若是,则执行步骤(4);

(4)、后端根据该策略表对应的项目和domain,使用管理员用户调用openstack的接口获取能够操作openstack中云硬盘资源(该策略对应的domain和项目下的资源)的token;

(5)、后端拿到token后,调用cinder-backup的服务发送备份请求;

(6)、策略对应的云硬盘开始并发执行备份动作;

(7)、进入备份中,后端将cinder-backup备份接口返回的备份id和用户名称记入数据库表,以备后续备份结束后,能够读取相关信息并通过websocket服务器异步通知前端。

更优地,所述备份结束后异步通知用户前端界面备份结果具体如下:

后端启动时,启动一个异步通知进程;

异步通知进程有规律的扫描数据库表中的异步通知表,并通过调用openstack平台的接口,查询表中备份id的备份结果,并判断openstack平台是否处理完毕:

若是,则异步通知进程通知websocket服务器,将处理结果转发给前端。

更优地,所述用户在前端界面管理策略,管理策略包括启用策略、禁用策略、更新策略及删除策略;

其中,用户禁用策略时,策略处于禁用状态,则定时备份的经常会该策略,不再对该策略关联的云硬盘进行备份;

用户删除策略是,后端接收到用户删除策略的请求后,从策略表删除对应的策略,并将该策略与云硬盘关联关系表中相应的云硬盘的记录清除。

一种复制ceph块存储数据至对象存储的定时备份系统,该系统给包括,

创建单元,用于用户根据实际需求在应用系统中创建备份策略;其中,应用系统采用前端和后端分离的方式,前端用于接收用户请求,与后端通信以及给用户反馈给后端处理消息;后端用于实际的业务处理;创建单元包括,

设定模块,用于用户在前端界面设定策略名称并选择备份周期;

生成模块,用于应用系统根据用户选择的备份周期生成备份周期表达式,备份周期表达式随着用户的提交动作由前端传递给后端解析使用;

导入模块,用于在用户点击提交后,前端发送post请求给后端,后端将策略名称、备份周期表达式、策略状态(初创时默认为启用状态)、用户在openstack平台中对应的项目以及domain导入数据库表,并生成对应的策略id和创建时间;

绑定单元,用于用户按照自己的需求将备份策略与硬盘(块存储)绑定;绑定单元包括,

关联模块,用于在用户创建策略后,给策略关联云硬盘;

查看模块,用于用户在前端界面调用后端接口查看到自己拥有的云硬盘并决定将哪些云硬盘关联策略;

备份模块,用于在云硬盘与策略关联成功后,云硬盘按照策略指定的周期自动进行备份;同时用户能够调用后端接口解除云硬盘与策略的关联关系;云硬盘与策略的关联关系在后端通过策略与云硬盘关联关系表中实现;

执行单元,用于应用系统按照用户指定的规则执行备份策略;

备份单元,用于在执行备份策略时,将绑定该备份策略的所有云硬盘从块存储系统备份至对象存储系统;

通知单元,用于在备份结束后,异步通知用户前端界面备份结果。

一种存储介质,其中存储有多条指令,所述指令由处理器加载,执行所述的复制ceph块存储数据至对象存储的定时备份方法的步骤。

一种电子设备,所述电子设备包括:

所述的存储介质;以及

处理器,用于执行所述存储介质中的指令。

本发明的复制ceph块存储数据至对象存储的定时备份方法及系统具有以下优点:

(一)本发明可解决数据的高可靠和存储与人力成本高问题,通过整合定时备份应用程序与openstack和ceph,解决了有系统自动备份块存储数据至对象存储的问题;本发明采用定时备份方式的实现与openstack和ceph的整合,在平台现有成熟备份实现方案的基础上引入定时备份程序,将云硬盘备份的管理转换成对策略和周期表达式的管理,应用系统通过对接openstack和ceph平台,简单便捷实现用户需求,帮助用户解决存储自动备份难题;同时通过关联策略与云硬盘的关系,方便用户管理需要备份的资源,并通过策略的管理,方便用户批量暂停和启用云硬盘备份功能、更新策略等;再通过异步消息通知机制,使用户可以了解到备份任务的处理进程;

(二)本发明与现有技术相比,引入定时备份策略机制,将云硬盘的备份用策略来管理;策略中引入备份周期表达式,支持用户各种个性化需求,通过解析备份周期表达式便可支持用户设定的时间规则备份数据;用户设置的时间规则支持秒级设置,将定时备份时间问题抽象成表达式,使用一个表达式可以支持用户的各种时间需求设置;

(三)本发明采用策略与云硬盘绑定方式,将备份云硬盘的问题转换成执行策略,建立策略与云硬盘多对多的关系,当n(n>1)个策略同时执行同一个云硬盘时,云硬盘会同时产生多个备份文件;同时建立或解除策略与云硬盘的对应关系(多对多),策略到达执行时间时,与策略关联的云硬盘遍开始执行备份:

(四)本发明采用异步消息通知机制,将备份的结果异步通知给用户,后端定时扫描正在备份中的云硬盘,并将备份的结果通过websocket服务器转发到前端,前端通知用户备份的进展;

(五)本发明支持用户对策略的管理(增、删、改、禁用、启用),便捷实现用户的个性化备份需求。

附图说明

下面结合附图对本发明进一步说明。

附图1为复制ceph块存储数据至对象存储的定时备份方法的流程框图。

具体实施方式

参照说明书附图和具体实施例对本发明的一种复制ceph块存储数据至对象存储的定时备份方法及系统作以下详细地说明。

实施例1:

本发明的复制ceph块存储数据至对象存储的定时备份方法,该方法是通过调用openstackcinder-backup服务备份块数据,openstackcinder-backup服务后端备份驱动配置为swift,swift驱动调用rgw的swift接口,将块存储系统中的数据备份至ceph对象存储系统;具体如下:

(一)、用户根据实际需求在应用系统中创建备份策略;其中,应用系统采用前端和后端分离的方式,前端用于接收用户请求,与后端通信以及给用户反馈给后端处理消息;后端用于实际的业务处理;

(二)、用户按照自己的需求将备份策略与硬盘(块存储)绑定;

(三)、应用系统按照用户指定的规则执行备份策略;

(四)、执行备份策略时将绑定该备份策略的所有云硬盘从块存储系统备份至对象存储系统;

(五)、备份结束后异步通知用户前端界面备份结果。

实施例2:

如附图1所示,基于实施例1的本发明的具体步骤如下:

s1、用户发送操作请求到前端,具体如下:

s101、用户在前端界面设定策略名称并选择备份周期;

s102、应用系统根据用户选择的备份周期生成备份周期表达式,备份周期表达式随着用户的提交动作由前端传递给后端解析使用;

s103、用户点击提交后,前端发送post请求给后端,后端将策略名称、备份周期表达式、策略状态(初创时默认为启用状态)、用户在openstack平台中对应的项目以及domain导入数据库表,并生成对应的策略id和创建时间。

s2、前端转交后端处理用户操作请求,后端启动服务进程,具体如下:

s201、用户创建策略后,给策略关联云硬盘;

s202、用户在前端界面调用后端接口查看到自己拥有的云硬盘并决定将哪些云硬盘关联策略;

s203、云硬盘与策略关联成功后,云硬盘按照策略指定的周期自动进行备份;同时用户能够调用后端接口解除云硬盘与策略的关联关系;云硬盘与策略的关联关系在后端通过策略与云硬盘关联关系表中实现。

s3、后端启动一个定时备份的进程,具体如下:

s301、定时备份进程每隔20秒扫描一遍数据库表中的策略表,读取策略表中的备份周期表达式并解析;

s302、、判断当前时间与备份周期表达式解析后的结果是否相吻合:

①、若是,则执行步骤s303;

s303、后端根据策略表查询策略与云硬盘的关联关系表,找到绑定该策略表的所有云硬盘,并判断策略绑定的云硬盘是否大于0;

①、若是,则执行步骤s304;

s304、后端根据该策略表对应的项目和domain,使用管理员用户调用openstack的接口获取能够操作openstack中云硬盘资源(该策略对应的domain和项目下的资源)的token;

s305、后端拿到token后,调用cinder-backup的服务发送备份请求;

s306、策略对应的云硬盘开始并发执行备份动作;

s307、进入备份中,后端将cinder-backup备份接口返回的备份id和用户名称记入数据库表,以备后续备份结束后,能够读取相关信息并通过websocket服务器异步通知前端。

s4、后端启动一个异步通知进程;

s401、异步通知进程有规律的扫描数据库表中的异步通知表;

s402、通过调用openstack平台的接口,查询表中备份id的备份结果;

s403、判断openstack平台是否处理完毕:

若是,则异步通知进程通知websocket服务器,将处理结果转发给前端。

其中,用户在前端界面管理策略,管理策略包括启用策略、禁用策略、更新策略及删除策略;

其中,用户禁用策略时,策略处于禁用状态,则定时备份的经常会该策略,不再对该策略关联的云硬盘进行备份;

用户删除策略是,后端接收到用户删除策略的请求后,从策略表删除对应的策略,并将该策略与云硬盘关联关系表中相应的云硬盘的记录清除。

实施例3:

设定时备份应用部署在k8s集群的pod中,并通过业务网与openstack平台的控制节点互通。控制节点上需要提前部署keystone、cinder-volume、cinder-backup等服务,由于本发明仅关注定时备份这部分内容,因此实施步骤说明仅说明该应用的具体实施步骤,实施步骤如下:

(ⅰ)、部署数据库,新建相应的数据库表,在应用系统中配置数据库url、用户和密码;

(ⅱ)、配置openstack平台认证ip地址、端口、region信息;

(ⅲ)、配置统一认证keycloak信息以及websocket服务器地址;

(ⅳ)、在k8s集群中启动应用系统的3个副本。

实施例4:

本发明的复制ceph块存储数据至对象存储的定时备份系统,该系统给包括,

创建单元,用于用户根据实际需求在应用系统中创建备份策略;其中,应用系统采用前端和后端分离的方式,前端用于接收用户请求,与后端通信以及给用户反馈给后端处理消息;后端用于实际的业务处理;创建单元包括,

设定模块,用于用户在前端界面设定策略名称并选择备份周期;

生成模块,用于应用系统根据用户选择的备份周期生成备份周期表达式,备份周期表达式随着用户的提交动作由前端传递给后端解析使用;

导入模块,用于在用户点击提交后,前端发送post请求给后端,后端将策略名称、备份周期表达式、策略状态(初创时默认为启用状态)、用户在openstack平台中对应的项目以及domain导入数据库表,并生成对应的策略id和创建时间;

绑定单元,用于用户按照自己的需求将备份策略与硬盘(块存储)绑定;绑定单元包括,

关联模块,用于在用户创建策略后,给策略关联云硬盘;

查看模块,用于用户在前端界面调用后端接口查看到自己拥有的云硬盘并决定将哪些云硬盘关联策略;

备份模块,用于在云硬盘与策略关联成功后,云硬盘按照策略指定的周期自动进行备份;同时用户能够调用后端接口解除云硬盘与策略的关联关系;云硬盘与策略的关联关系在后端通过策略与云硬盘关联关系表中实现。

执行单元,用于应用系统按照用户指定的规则执行备份策略;

备份单元,用于在执行备份策略时,将绑定该备份策略的所有云硬盘从块存储系统备份至对象存储系统;

通知单元,用于在备份结束后,异步通知用户前端界面备份结果。

实施例5:

本发明实施例还提供了一种存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的复制ceph块存储数据至对象存储的定时备份方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

实施例6:

本发明的一种电子设备,所述电子设备包括:

所述的存储介质;以及

处理器,用于执行本发明实施例5的存储介质中的指令。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1