一种实现数据库高可用的方法、装置和系统与流程

文档序号:12612265阅读:来源:国知局

技术特征:

1.一种实现数据库高可用的方法,其特征在于,数据库用于使用至少两个主机来存储数据,所述数据库的数据变更请求用于被发送至一个处于空闲状态的主机;所述方法包括:

每个主机在接收到数据变更请求时,基于所述数据变更请求,对自身存储的数据进行变更;将自身的数据变更信息发送至其余各个主机;

每个主机在接收到其他主机的数据变更信息时,基于所接收到的数据变更信息,对自身存储的数据进行变更。

2.根据权利要求1所述的方法,其特征在于,所述将自身的数据变更信息发送至其余各个主机包括:将自身的数据变更信息通过广播发送至其余各个主机。

3.根据权利要求1或2所述的方法,其特征在于,每个主机与一个对应的分布式缓存节点形成通信连接;

所述将自身的数据变更信息发送至其余各个主机包括:将自身的数据变更信息上传至与自身形成通信连接的分布式缓存节点中,将分布式缓存节点中存储的数据变更信息通过广播发送至与其余各个主机形成通信连接的分布式缓存节点;与其余每个主机形成通信连接的分布式缓存节点将接收到的数据变更信息发送至对应的主机。

4.根据权利要求3所述的方法,其特征在于,所述将分布式缓存节点中存储的数据变更信息通过广播发送至与其余各个主机形成通信连接的分布式缓存节点,包括:利用消息中间件将分布式缓存节点中存储的数据变更信息通过广播发送至与其余各个主机形成通信连接的分布式缓存节点。

5.根据权利要求1所述的方法,其特征在于,每个主机与一个对应的分布式缓存节点形成通信连接;

在与上传自身的数据变更信息的主机对应的分布式缓存节点接收数据变更信息之后,所述方法还包括:将对应的主机标记为已同步主机,将其余每个主 机标记为未同步主机;

在每个主机基于所接收到的数据变更信息,对自身存储的数据进行变更后,所述方法还包括:每个主机向对应的分布式缓存节点发送主机标记通知;每个分布式缓存节点在收到主机标记通知后,将对应的主机标记为已同步主机;

所述方法还包括:每个已同步主机在接收到数据访问请求时,按照所述数据访问请求执行对自身存储的数据的相应访问操作;每个未同步主机在接收到数据访问请求时,先基于从其他主机接收的数据变更信息,对自身存储的数据进行变更,之后,按照所述数据访问请求执行对自身存储的数据的相应访问操作。

6.根据权利要求5所述的方法,其特征在于,在未同步主机按照所述数据访问请求执行对自身存储的数据的相应访问操作之后,所述方法还包括:将对应的未同步主机标记为已同步主机。

7.一种实现数据库高可用的方法,其特征在于,数据库用于使用至少两个主机来存储数据,数据库的数据变更请求用于被发送至一个处于空闲状态的主机;所述方法包括:

设置集群组件,所述集群组件分别连接数据库使用的各个主机;

集群组件在接收到数据变更请求后,将所述数据变更请求发送至一个处于空闲状态的主机;

接收到数据变更请求的主机基于所述数据变更请求,对自身存储的数据进行变更;将自身的数据变更信息发送至其余各个主机;

每个主机在接收到其他主机的数据变更信息时,基于所接收到的数据变更信息,对自身存储的数据进行变更。

8.根据权利要求7所述的方法,其特征在于,所述将自身的数据变更信息发送至其余各个主机包括:将自身的数据变更信息通过广播发送至其余各个主机。

9.根据权利要求7或8所述的方法,其特征在于,所述集群组件中设置有N个分布式缓存节点,N为数据库使用的主机个数,每个主机与一个对应的分 布式缓存节点形成通信连接;

所述将自身的数据变更信息发送至其余各个主机包括:将自身的数据变更信息上传至与自身形成通信连接的分布式缓存节点中,将分布式缓存节点中存储的数据变更信息通过广播发送至与其余各个主机形成通信连接的分布式缓存节点;与其余每个主机形成通信连接的分布式缓存节点将接收到的数据变更信息发送至对应的主机。

10.根据权利要求9所述的方法,其特征在于,所述集群组件中设置有消息中间件;

所述将分布式缓存节点中存储的数据变更信息通过广播发送至与其余各个主机形成通信连接的分布式缓存节点,包括:利用消息中间件将分布式缓存节点中存储的数据变更信息通过广播发送至与其余各个主机形成通信连接的分布式缓存节点。

11.根据权利要求7所述的方法,其特征在于,所述集群组件中设置有N个分布式缓存节点,N为数据库使用的主机个数,每个主机与一个对应的分布式缓存节点形成通信连接;

在与上传自身的数据变更信息的主机对应的分布式缓存节点接收数据变更信息之后,所述方法还包括:将对应的主机标记为已同步主机,将其余每个主机标记为未同步主机;

在每个主机基于所接收到的数据变更信息,对自身存储的数据进行变更后,所述方法还包括:每个主机向对应的分布式缓存节点发送主机标记通知;每个分布式缓存节点在收到主机标记通知后,将对应的主机标记为已同步主机;

所述方法还包括:集群组件在接收到数据访问请求后,选取一个处于空闲状态的主机,确定所选取的主机是未同步主机时,生成同步指示信息,将数据访问请求和同步指示信息发送至所选取的主机;所选取的主机基于接收的同步指示信息,先基于从其他主机接收的数据变更信息,对自身存储的数据进行变更,之后,按照所述数据访问请求执行对自身存储的数据的相应访问操作。

12.根据权利要求11所述的方法,其特征在于,所述方法还包括:未同步 主机在按照所述数据访问请求执行对自身存储的数据的相应访问操作之后,向对应的分布式缓存节点发送主机标记通知,将对应的未同步主机标记为已同步主机。

13.根据权利要求7所述的方法,其特征在于,所述集群组件中设置有N个分布式缓存节点,N为数据库使用的主机个数,每个主机与一个对应的分布式缓存节点形成通信连接;

所述方法还包括:所述集群组件在确定数据库使用的任意一个主机正常运行时,将对应主机标记为正常主机;集群组件在确定数据库使用的任意一个主机出现故障时,将对应主机标记为不可用主机;

所述不可用主机对应的分布式缓存节点在不可用主机出现故障的时间段,存储其他主机的数据变更信息;

集群组件确定所述不可用主机恢复正常运行时,通知所述不可用主机对应的分布式缓存节点将存储的数据变更信息发送至对应的主机,对应的主机基于接收到的数据变更信息进行数据变更。

14.根据权利要求13所述的方法,其特征在于,所述集群组件确定所述不可用主机恢复正常运行时,所述方法还包括:所述集群组件将对应的恢复正常运行的主机标记为正常主机。

15.一种实现数据库高可用的装置,其特征在于,数据库用于使用至少两个主机来存储数据,所述数据库的数据变更请求用于被发送至一个处于空闲状态的主机;所述装置设置于每个主机中,所述装置包括第一变更模块和第二变更模块;其中,

第一变更模块,用于在接收到数据变更请求时,基于所述数据变更请求,对自身所处在的主机存储的数据进行变更;将自身所处在的主机的数据变更信息发送至其余各个主机的第二变更模块;

第二变更模块,用于在接收到其他主机的数据变更信息时,基于所接收到的数据变更信息,对自身所处在的主机存储的数据进行变更。

16.根据权利要求15所述的装置,其特征在于,所述第一变更模块,具体 用于将自身所处在的主机的数据变更信息通过广播发送至其余各个主机。

17.一种实现数据库高可用的系统,其特征在于,数据库用于使用至少两个主机来存储数据,数据库的数据变更请求用于被发送至一个处于空闲状态的主机;

所述系统包括数据库使用的各个主机、以及分别连接数据库使用的各个主机的集群组件;其中,

所述集群组件,用于在接收到数据变更请求后,将所述数据变更请求发送至一个处于空闲状态的主机;

所述每个主机,用于在接收到数据变更请求后,基于所述数据变更请求,对自身存储的数据进行变更;将自身的数据变更信息发送至其余各个主机;在接收到其他主机的数据变更信息时,基于所接收到的数据变更信息,对自身存储的数据进行变更。

18.根据权利要求17所述的系统,其特征在于,所述集群组件中设置有N个分布式缓存节点,N为数据库使用的主机个数,每个主机与一个对应的分布式缓存节点形成通信连接;

所述集群组件,还用于在确定数据库使用的任意一个主机正常运行时,将对应主机标记为正常主机;在确定数据库使用的任意一个主机出现故障时,将对应主机标记为不可用主机;

所述不可用主机对应的分布式缓存节点,用于在不可用主机出现故障的时间段,存储其他主机的数据变更信息;

所述集群组件,还用于在确定所述不可用主机恢复正常运行时,通知所述不可用主机对应的分布式缓存节点将存储的数据变更信息发送至对应的主机;

所述对应的主机,用于基于接收到的数据变更信息进行数据变更。

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