太阳城集团

  • / 10
  • 下载费用:30 金币  

SAMBA集群TDB数据库记录备份方法、装置及系统.pdf

摘要
申请专利号:

太阳城集团CN201710026812.7

申请日:

2017.01.14

公开号:

CN106776151A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 11/14申请日:20170114|||公开
IPC分类号: G06F11/14; G06F17/30 主分类号: G06F11/14
申请人: 郑州云海太阳城集团技术有限公司
发明人: 孙业宽
地址: 450000 河南省郑州市郑东新区心怡路278号16层1601室
优先权:
专利代理机构: 郑州大通专利商标代理有限公司 41111 代理人: 陈勇
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201710026812.7

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.23|||2017.05.31

法律状态类型:

实质审查的生效|||公开

摘要

本发明属于SAMBA共享集群ctdb软件领域,具体涉及一种SAMBA集群TDB数据库记录备份方法、装置及系统,主要包括以下步骤:smbd发送REQ_BACKUP请求给ctdb,并附带记录数据,然后等待备份响应;本地ctdb收到处理请求后,随机选择一在线远端ctdb发送REQ_BACKUP请求,附带数据记录;远端ctdb处理请求,存储记录到本地数据库中。本发明对存储在dmaster上的记录进行额外的一份数据备份,添加BACKUP消息类型,通过进程间的消息传递保证无论在何种情况下都会有一节点存储着最新的数据记录;集群中会同时存在两份最新的记录数据,在后续任一节点故障时集群都可以恢复到最新的记录,客户端也即从最新的位置进行文件读写,防止了重新读写或连接断开重连场景的发生,提高集群的读写效率和连续可用性。

权利要求书

1.一种SAMBA集群TDB数据库记录备份方法,其特征在于,包括: 第一节点获取对SAMBA
集群进行操作时的记录数据; 将记录数据发送给一个或多个其他节点; 其他节点收到记
录数据后进行记录存储; 将其他节点是否存储成功结果返回给第一节点; 第一节点收到
其他节点存储成功结果后,存储记录。
2.根据权利要求1所述的SAMBA集群TDB数据库记录备份方法,其特征在于,第一节点获
取对SAMBA集群进行操作时的记录数据之前,还包括: 第一进程获取对SAMBA集群进行操作
时的记录数据; 将记录数据发送给第一节点。
3.根据权利要求1所述的SAMBA集群TDB数据库记录备份方法,其特征在于,所述记录数
据通过备份消息进行发送。
4.根据权利要求1所述的SAMBA集群TDB数据库记录备份方法,其特征在于,将记录数据
发送给一个或多个其他节点,包括: 第一节点随机选择一个节点作为第二节点并发送记录
数据。
5.根据权利要求4所述的SAMBA集群TDB数据库记录备份方法,其特征在于,将其他节点
是否存储成功结果返回给第一节点,包括: 第二节点进行记录存储成功,则进行下一步;
第二节点进行记录存储不成功,则第一节点再次随机选择一个节点发送记录数据,直至所
选节点进行记录备份成功,进行下一步。
6.根据权利要求1至5任一所述的SAMBA集群TDB数据库记录备份方法,其特征在于,第
一节点收到其他节点存储成功结果后,存储记录,包括: 第一节点的第二进程收到其他节
点进行记录数据存储成功的结果后,将结果发送至第一进程; 第一进程处理操作并将记录
数据存储到第一节点。
7.一种SAMBA集群TDB数据库记录备份装置,其特征在于,包括: 记录数据获取模块,用
于获取对SAMBA集群进行操作时的记录数据; 第一发送模块,用于第一进程与第一节点间
的记录数据发送或返回; 第二发送模块,用于节点间的记录数据发送或返回; 存储模块,
用于将记录数据存储至节点。
8.根据权利要求7所述的SAMBA集群TDB数据库记录备份装置,其特征在于,还包括: 判
定模块,设置在节点中,用于判定其他节点的记录数据是否存储成功。
9.根据权利要求7所述的SAMBA集群TDB数据库记录备份装置,其特征在于,还包括: 选
择模块,用于随机选择一个或多个将要发送记录数据的节点。
10.一种SAMBA集群TDB数据库记录备份系统,其特征在于,包括第一进程和多个节点,
其中,多个节点共属于一个SAMBA集群,每个节点中包括有第二进程、存储单元、选择单元和
判定单元,所述第一进程用于获取对SAMBA集群进行操作时的记录数据,所述第二进程用于
在节点中收发记录数据,所述存储单元用于将记录数据存储至所对应的节点,所述选择单
元用于随机选择一个或多个将要发送记录数据的节点,所述判定单元用于判定节点的记录
数据是否存储成功。

说明书

SAMBA集群TDB数据库记录备份方法、装置及系统

技术领域

本发明属于SAMBA共享集群ctdb软件领域,具体涉及一种SAMBA集群TDB数据库记
录备份方法、装置及系统。

背景技术

SAMBA是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端
程序构成。SMB(Server Messages Block,太阳城集团服务块)是一种在局域网上共享文件和打印
机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服
务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系
统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主
机分享资源,还能与全世界的电脑分享资源。

CTDB是一种轻量级的集群数据库实现,基于它可以实现很多应用集群,目前CTDB
支持SAMBA, NFS, HTTPD, VSFTPD, ISCSI, WINBIND应用,集群共享数据存储支持GPFS,
GFS(2),Glusterfs, Luster, OCFS(2)。CTDB本身不是HA解决方案,但与集群文件系统相结
合,它可以提供一种简便高效的HA集群解决方案。

在目前最新的官方ctdb版本(4.5.0)中,客户端在访问SAMBA集群共享目录时,其
中smbd进程会首先获取该操作的相关记录,最新的记录保存在dmaster(本地ctdb)节点上,
smbd通过lmaster(远端ctdb)节点请求dmaster节点最新记录数据,dmaster节点收到记录
请求时会返回记录数据,当dmaster节点宕机lmaster无法通知dmaster,也就无法保证smbd
能获取到最新的数据记录,无法保证集群数据的正确恢复和影响集群的连续可用性。

发明内容

本发明针对现有技术存在当dmaster节点宕机lmaster无法通知dmaster,也就无
法保证smbd能获取到最新的数据记录,无法保证集群数据的正确恢复和影响集群的连续可
用性等问题,提出一种SAMBA集群TDB数据库记录备份方法、装置及系统。

为了达到上述目的,本发明是通过以下技术方案实现的:

本发明提供一种SAMBA集群TDB数据库记录备份方法,包括: 第一节点获取对SAMBA集
群进行操作时的记录数据; 将记录数据发送给一个或多个其他节点; 其他节点收到记录
数据后进行记录存储; 将其他节点是否存储成功结果返回给第一节点; 第一节点收到其
他节点存储成功结果后,存储记录。

进一步地,第一节点获取对SAMBA集群进行操作时的记录数据之前,还包括: 第一
进程获取对SAMBA集群进行操作时的记录数据; 将记录数据发送给第一节点。

进一步地,所述记录数据通过备份消息进行发送。

优选地,将记录数据发送给一个或多个其他节点,包括: 第一节点随机选择一个
节点作为第二节点并发送记录数据。

进一步地,将其他节点是否存储成功结果返回给第一节点,包括: 第二节点进行
记录存储成功,则进行下一步; 第二节点进行记录存储不成功,则第一节点再次随机选择
一个节点发送记录数据,直至所选节点进行记录备份成功,进行下一步。

进一步地,第一节点收到其他节点存储成功结果后,存储记录,包括: 第一节点的
第二进程收到其他节点进行记录数据存储成功的结果后,将结果发送至第一进程; 第一进
程处理操作并将记录数据存储到第一节点。

本发明还提供一种SAMBA集群TDB数据库记录备份装置,包括: 记录数据获取模
块,用于获取对SAMBA集群进行操作时的记录数据; 第一发送模块,用于第一进程与第一节
点间的记录数据发送或返回; 第二发送模块,用于节点间的记录数据发送或返回; 存储模
块,用于将记录数据存储至节点。

进一步地,还包括: 判定模块,设置在节点中,用于判定其他节点的记录数据是否
存储成功。

优选地,还包括: 选择模块,用于随机选择一个或多个将要发送记录数据的节点。

本发明还提供一种SAMBA集群TDB数据库记录备份系统,包括第一进程和多个节
点,其中,多个节点共属于一个SAMBA集群,每个节点中包括有第二进程、存储单元、选择单
元和判定单元,所述第一进程用于获取对SAMBA集群进行操作时的记录数据,所述第二进程
用于在节点中收发记录数据,所述存储单元用于将记录数据存储至所对应的节点,所述选
择单元用于随机选择一个或多个将要发送记录数据的节点,所述判定单元用于判定节点的
记录数据是否存储成功。

本发明提供一种SAMBA集群TDB数据库记录备份方法,具有如下有益效果:

本发明所提供的方法,对存储在dmaster节点上的记录进行额外的记录数据备份,添加
BACKUP消息类型,通过进程间的消息传递保证无论在何种情况下都会有一节点存储着最新
的数据记录;集群中会同时存在至少两份最新的记录数据,在后续任一节点故障时(包含
dmaster节点)集群都可以恢复到最新的记录,客户端也即从最新的位置进行文件读写,防
止了重新读写或连接断开重连场景的发生,提高集群的读写效率和连续可用性。

SAMBA集群TDB数据库记录备份装置及系统与SAMBA集群TDB数据库记录备份方法
的有益效果类似,不再赘述。

附图说明:

图1为本发明实施例所提供的SAMBA集群TDB数据库记录备份方法的流程示意图;

图2为本发明实施例所提供的SAMBA集群TDB数据库记录备份方法的另一种实施方式的
流程示意图;

图3为本发明实施例所提供的SAMBA集群TDB数据库记录备份装置的结构示意图;

图4为本发明实施例所提供的SAMBA集群TDB数据库记录备份系统的框架图;

具体实施方式:

为了便于理解,对本发明实施例中出现的部分名词作以下解释说明:

第一进程,指smbd进程,smbd是向Windows客户机提供文件共享和打印服务的服务器进
程,该服务器用SMB(或CIFS)协议向客户提供文件存放空间和打印服务,在客户端在访问
samba集群共享目录时,smbd进程获取该操作的相关记录;

第二进程,指ctdbd进程,是ctdb中的服务进程,在本发明中用于在节点中收发记录数
据;

本发明说述的节点指dmaster节点;

值得说明的是,本发明所提到的第一、第二等,例如第一进程、第二进程,仅仅是对不同
的进程或节点加以区分,并不表示先后关系。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种SAMBA集群TDB数据库记录备份方法,包括: 第一节点获取
对SAMBA集群进行操作时的记录数据; 将记录数据发送给一个或多个其他节点; 其他节点
收到记录数据后进行记录存储; 将其他节点是否存储成功结果返回给第一节点; 第一节
点收到其他节点存储成功结果后,存储记录。

请参考图1,图1为本发明实施例所提供的SAMBA集群TDB数据库记录备份方法的流
程示意图,一种SAMBA集群TDB数据库记录备份方法,包括:

步骤S101、第一进程获取对SAMBA集群进行操作时的记录数据。

客户端在访问samba集群共享目录时,其中smbd进程会首先获取该操作的相关记
录,最新的记录保存在dmaster节点上,smbd通过lmaster节点请求dmaster节点最新记录数
据,dmaster节点收到记录请求时会返回记录数据。

步骤S102、将记录数据发送给第一节点。

其中,记录数据通过备份消息即BACKUP消息进行发送,由smbd进程发送BACKUP消
息并附加记录数据通知第一节点ctdbd进程,其中记录数据包括key和value,随后smbd进程
同步等待本地ctdbd备份完成的响应。

步骤S103、第一节点获取对SAMBA集群进行操作时的记录数据。

步骤S104、第一节点随机选择一个节点作为第二节点并发送记录数据。

第一节点的ctdbd进程在收到BACKUP消息的备份通知后,会根据随机算法,随机选
择一在线节点作为第二节点,并把记录数据发送给第二节点的ctdbd进程,第一节点的
ctdbd进程发送完记录数据后,随即异步等待备份完成响应,根据返回结果采取下一步动
作。

步骤S105、第二节点收到记录数据后进行记录存储。

步骤S106、将第二节点是否存储成功结果返回给第一节点。

在本实施例中,在第二节点的ctdbd进程收到BACKUP消息后,会从该请求中获取要
存储的记录数据,然后存储到第二节点,存储成功后将BACKUP响应发送给第一节点的ctdbd
进程,响应中包含第二节点备份成功或失败的说明:

第二节点进行记录存储成功,则进行下一步;

第二节点进行记录存储不成功,则第一节点再次随机选择一个节点发送记录数据,直
至所选节点进行记录备份成功,进行下一步。

步骤S107、第一节点的第二进程收到其他节点进行记录数据存储成功的结果后,
将结果发送至第一进程。

步骤S108、第一进程处理操作并将记录数据存储到第一节点。

在第一节点收到BACKUP响应后,构造BACKUP响应回复第一节点的smbd进程,smbd
进程收到备份完成响应,将记录数据存储到第一节点,备份流程结束。

作为一种实施方式,第一节点在选择其他节点发送记录数据时,可以随机选择多
个其他节点同时发送记录数据,请参考图2,图2为本发明实施例所提供的SAMBA集群TDB数
据库记录备份方法的另一种实施方式的流程示意图;在本实施例中,SAMBA集群TDB数据库
记录备份方法包括以下步骤:

步骤S201、第一进程获取对SAMBA集群进行操作时的记录数据。

步骤S202、将记录数据发送给第一节点。

其中,记录数据通过备份消息即BACKUP消息进行发送,由smbd进程发送BACKUP消
息并附加记录数据通知第一节点ctdbd进程,其中记录数据包括key和value,随后smbd进程
同步等待本地ctdbd备份完成的响应。

步骤S203、第一节点获取对SAMBA集群进行操作时的记录数据。

步骤S204、第一节点随机选择多个节点分别作为第二节点、第三节点、第四节点等
并发送记录数据。

此时,第一节点的ctdbd进程在收到BACKUP消息的备份通知后,会根据随机算法,
随机选择多个在线节点分别作为第二节点、第三节点、第四节点等,并分别把记录数据发送
给这些节点的ctdbd进程,第一节点的ctdbd进程发送完记录数据后,随即异步等待备份完
成响应,根据返回结果采取下一步动作。

步骤S205、其他节点收到记录数据后分别进行记录存储。

步骤S206、将其他节点是否存储成功结果分别返回给第一节点。

在本实施例中,在第二节点、第三节点、第四节点等节点的ctdbd进程收到BACKUP
消息后,会从该请求中获取要存储的记录数据,然后存储到自身节点,存储成功后将BACKUP
响应发送给第一节点的ctdbd进程,响应中包含这些节点备份成功或失败的说明;因为同时
选择多个在线节点发送BACKUP消息,基本不会出现其他节点全部备份失败的情况,因此不
需要因为备份失败而在此选择节点发送BACKUP消息,而第一节点在收到任一节点备份成功
的响应后,即可开始进行下一步操作。

步骤S207、第一节点的第二进程收到任一记录数据存储成功的结果后,将结果发
送至第一进程。

步骤S208、第一进程处理操作并将记录数据存储到第一节点。

在第一节点收到BACKUP响应后,构造回复第一节点的smbd进程,smbd进程收到备
份完成响应,将记录数据存储到第一节点,备份流程结束。

作为另一种可实施方式,第一节点可在选择多个节点同时发送BACKUP消息,同时
在第一节点进行记录数据存储,因为同时选择多个在线节点发送BACKUP消息,基本不会出
现其他节点全部备份失败的情况,因此可以省去BACKUP响应返回的过程,提升备份效率,具
体过程不再赘述。

本发明实施例还提供一种SAMBA集群TDB数据库记录备份装置,包括: 记录数据获
取模块,用于获取对SAMBA集群进行操作时的记录数据; 第一发送模块,用于第一进程与第
一节点间的记录数据发送或返回; 第二发送模块,用于节点间的记录数据发送或返回; 存
储模块,用于将记录数据存储至节点。

请参考图3,图3为本发明实施例所提供的SAMBA集群TDB数据库记录备份装置的结
构示意图;本实施例提供一种SAMBA集群TDB数据库记录备份装置,包括: 记录数据获取模
块301,用于获取对SAMBA集群进行操作时的记录数据; 第一发送模块302,用于第一进程与
第一节点间的记录数据发送或返回; 第二发送模块303,用于节点间的记录数据发送或返
回; 存储模块304,用于将记录数据存储至节点。

判定模块305,设置在节点中,用于判定其他节点的记录数据是否存储成功。

选择模块306,用于随机选择一个或多个将要发送记录数据的节点。

请参考图4,图4为本发明实施例所提供的SAMBA集群TDB数据库记录备份系统的框
架图;本实施例提供一种SAMBA集群TDB数据库记录备份系统,包括第一进程和多个节点,其
中,多个节点共属于一个SAMBA集群,每个节点中包括有第二进程、存储单元、选择单元和判
定单元,所述第一进程用于获取对SAMBA集群进行操作时的记录数据,所述第二进程用于在
节点中收发记录数据,所述存储单元用于将记录数据存储至所对应的节点,所述选择单元
用于随机选择一个或多个将要发送记录数据的节点,所述判定单元用于判定节点的记录数
据是否存储成功。

以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围,任何
本领域的技术人员在不脱离本发明构思和原则的前提下所做出的等同变化与修改,均应属
于本发明保护的范围。

关 键 词:
SAMBA 集群 TDB 数据库 记录 备份 方法 装置 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:SAMBA集群TDB数据库记录备份方法、装置及系统.pdf
链接地址:http://zh228.com/p-6019889.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');