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

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

SAMBA cluster TDB database record backup method, device and system

The invention belongs to the field of cluster ctdb SAMBA sharing software, in particular to a cluster of SAMBA TDB database backup method, device and system, mainly includes the following steps: smbd sends REQ_BACKUP request to the ctdb, and with the recorded data, and then wait for backup response; local ctdb received processing request, a random online remote ctdb to send REQ_BACKUP requests with the data, records; remote ctdb request processing records stored in the local database. The present invention is a data backup for additional records stored in the dmaster, add the BACKUP message type, which in any case will have a storage node with the latest data recorded by inter process messaging; cluster will also have two copies of the latest data, in the follow-up of any node when the fault cluster can return to the new record, the client also from the latest position of file read and write, read and write to prevent or disconnect the reconnection scene, improve the read-write efficiency and cluster continuous availability.

【技术实现步骤摘要】
SAMBA集群TDB数据库记录备份方法、装置及系统
本专利技术属于SAMBA共享集群ctdb软件领域,具体涉及一种SAMBA集群TDB数据库记录备份方法、装置及系统。
技术介绍
SAMBA是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOSoverTCP/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节点请求本文档来自技高网
...
SAMBA集群TDB数据库记录备份方法、装置及系统

【技术保护点】
一种SAMBA集群TDB数据库记录备份方法,其特征在于,包括: 第一节点获取对SAMBA集群进行操作时的记录数据; 将记录数据发送给一个或多个其他节点; 其他节点收到记录数据后进行记录存储; 将其他节点是否存储成功结果返回给第一节点; 第一节点收到其他节点存储成功结果后,存储记录。

【技术特征摘要】
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数据库记录备份方法,其特征在于,第一节点收到其他节...

【专利技术属性】
技术研发人员:孙业宽
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1