一种高可用性和强一致性的数据库集群系统及其命令处理方法技术方案

技术编号:14658566 阅读:78 留言:0更新日期:2017-02-17 00:20
本发明专利技术公开了一种高可用性和强一致性的数据库集群系统及其命令处理方法,所述的系统包括命令处理规则设置单元、初始配置单元和多个节点,所述多个节点之间通过私有网络连接;每个所述的节点均能够提供完整的数据存储、访问和命令执行管理服务;初始配置单元用于提供配置接口,进而通过手动配置的方式从所述多个节点中确定主节点和副节点;所述命令处理规则设置单元用于设定命令处理规则,保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。本发明专利技术数据库集群系统中每个节点均能够提供完整存储访问服务,同时在命令处理过程中,数据库集群系统中各个节点数据同步一致,单个节点故障不会影响数据库集群系统的正常工作,也不会造成数据损失。

【技术实现步骤摘要】

本专利技术涉及一种高可用性和强一致性的数据库集群系统及其命令处理方法
技术介绍
RAC(RealApplicationCluster,真正应用集群)是Oracle的并行集群,位于不同节点的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的存储设备上,能够被集群中的所有节点读写;这种集群方法具有一定局限性:1)实例间的数据同步RAC提供多个实例,RAC会将写入的数据先缓存在实例的内存,再同步到共享的存储中,有时在数据的同步上花费的时间较大。例如:当多个实例同时写入数据后立即查询新写入的数据时,写在各个实例中的数据还未同步到共享的存储中,为了保证读取的数据的正确性,必须通过复杂的同步过程维护各个实例中数据的一致性。当数据量小时,所需时间可以接受;但当数据量大时,维持一致性所花费的时间可能无法接受。另一方面,当实例故障时,若该实例中缓存的数据还未同步到共享存储中,则这部分数据将丢失,无法恢复。2)数据库单点故障RAC中数据文件只有一份,当共享存储出现故障时,将无法提供服务。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种高可用性和强一致性的数据库集群系统及其命令处理方法,数据库集群系统中每个节点均能够提供完整存储访问服务,同时在命令处理过程中,数据库集群系统中各个节点数据同步一致,单个节点故障不会影响数据库集群系统的正常工作,也不会造成数据损失。本专利技术的目的是通过以下技术方案来实现的:一种高可用性和强一致性的数据库集群系统,包括命令处理规则设置单元、初始配置单元和多个节点,所述多个节点之间通过私有网络连接;每个所述的节点均能够提供完整的数据存储、访问和命令执行管理服务;所述初始配置单元用于提供配置接口,进而通过手动配置的方式从所述多个节点中确定主节点和副节点;所述命令处理规则设置单元用于设定命令处理规则,保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。所述的多个节点还连接统一的地址访问集群,为用户组提供访问服务的接口。每个所述的节点均包括存储模块、数据服务模块和执行管理模块;所述存储模块用于对节点数据进行存储;所述的数据服务模块用于对来自用户组的命令进行处理,进而为用户提供服务;所述执行管理模块用于根据设定的命令处理规则,对数据服务模块处理的命令进行管理,进而保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。所述的一种高可用性和强一致性的数据库集群系统的命令处理方法,包括以下步骤:S1.通过手动配置的方式从所述多个节点选择一个节点作为主节点,其余所有节点均为副节点;S2.接收来自用户的命令并按照命令处理规则对节点数据进行处理。所述的步骤S2包括以下子步骤:S21.判断接收到的命令是否为操作类命令:(1)如果接收到的命令不为操作类命令,则认为该命令属于查询类命令,在接收命令的节点进行数据查询,并将查询结果反馈给用户;(2)如果接收到的命令为操作类命令,进入步骤S22;S22.判断接收到命令的节点是否为主节点:(1)如果接收到命令的节点为主节点,进入步骤S23;(2)如果接收到命令的节点不为主节点,将接收到的命令发送给主节点,进入步骤S23;S23.在主节点的调度下执行接收到的命令。所述的数据操作类命令包括但不限于数据添加命令、数据删除命令和数据修改命令。所述的步骤S23包括以下子步骤:S231.主节点分析命令并生成执行计划;S232.主节点将执行计划发布给各个副节点;S233.主节点和副节点均按照执行计划执行命令;S234.任务执行完毕后,判断是否存在任务执行失败的节点:(1)如果存在任务执行失败的节点,所有节点全部做回滚操作,返回任务执行前的状态;(2)如果不存在任务执行失败的节点,任务执行成功,所有节点均保存任务执行结果。本专利技术的有益效果是:数据库集群系统中每个节点均能够提供完整存储访问服务,同时在命令处理过程中,数据库集群系统中各个节点数据同步一致,单个节点故障不会影响数据库集群系统的正常工作,也不会造成数据损失。附图说明图1为本专利技术的数据库集群系统原理框图;图2为本专利技术数据库集群系统的命令处理方法流程图。具体实施方式下面结合附图进一步详细描述本专利技术的技术方案,但本专利技术的保护范围不局限于以下所述。如图1所示,一种高可用性和强一致性的数据库集群系统,包括命令处理规则设置单元、初始配置单元和多个节点,所述多个节点之间通过私有网络连接;每个所述的节点均能够提供完整的数据存储、访问和命令执行管理服务;所述初始配置单元用于提供配置接口,进而通过手动配置的方式从所述多个节点中确定主节点和副节点;所述命令处理规则设置单元用于设定命令处理规则,保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。在本申请中,命令处理规则即节点之间进行命令处理的协议。在本申请中,初始配置单元用于进行初始配置,需要通过私有网络与每个所述的节点连接;命令处理规则设置单元用于对节点之间的规则(协议)进行设置,也需要通过私有网络与每个所述的节点连接。设定的命令处理规则包括:如果来自用户组的命令为非操作类命令(查询命令),在接收命令的节点进行数据查询,并将查询结果反馈给用户。如果来自用户组的命令为操作类命令,接收命令的节点将命令发送到主节点(如果接收命令的节点本身就是主节点,则不必发送),由主节点生成命令执行计划,所有节点同步执行,任一个节点执行失败则所有节点进行回滚。所述的多个节点还连接统一的地址访问集群,为用户组提供访问服务的接口。每个所述的节点均包括存储模块、数据服务模块和执行管理模块;所述存储模块用于对节点数据进行存储;所述的数据服务模块用于对来自用户组的命令进行处理,进而为用户提供服务;所述执行管理模块用于根据设定的命令处理规则,对数据服务模块处理的命令进行管理,进而保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。如图2所示,所述的一种高可用性和强一致性的数据库集群系统的命令处理方法,包括以下步骤:S1.通过手动配置的方式从所述多个节点选择一个节点作为主节点,其余所有节点均为副节点;S2.接收来自用户的命令并按照命令处理规则对节点数据进行处理。所述的步骤S2包括以下子步骤:S21.判断接收到的命令是否为操作类命令:(1)如果接收到的命令不为操作类命令,则认为该命令属于查询类命令,在接收命令的节点进行数据查询,并将查询结果反馈给用户;(2)如果接收到的命令为操作类命令,进入步骤S22;S22.判断接收到命令的节点是否为主节点:(1)如果接收到命令的节点为主节点,进入步骤S23;(2)如果接收到命令的节点不为主节点,将接收到的命令发送给主节点,进入步骤S23;S23.在主节点的调度下执行接收到的命令。所述的数据操作类命令包括但不限于数据添加命令、数据删除命令和数据修改命令。所述的步骤S23包括以下子步骤:S231.主节点分析命令并生成执行计划;S232.主节点将执行计划发布给各个副节点;S233.主节点和副节点均按照执行计划执行命令;S234.任务执行完毕后,判断是否存在任务执行失败的节点:(1)如果存在任务执行失败的节点,所有节点全部做回滚操作,返回任务执行前的状态;(2)如果不存在任务执行失败的节点,本文档来自技高网...
一种高可用性和强一致性的数据库集群系统及其命令处理方法

【技术保护点】
一种高可用性和强一致性的数据库集群系统,其特征在于:包括命令处理规则设置单元、初始配置单元和多个节点,所述多个节点之间通过私有网络连接;每个所述的节点均能够提供完整的数据存储、访问和命令执行管理服务;所述初始配置单元用于提供配置接口,进而通过手动配置的方式从所述多个节点中确定主节点和副节点;所述命令处理规则设置单元用于设定命令处理规则,保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。

【技术特征摘要】
1.一种高可用性和强一致性的数据库集群系统,其特征在于:包括命令处理规则设置单元、初始配置单元和多个节点,所述多个节点之间通过私有网络连接;每个所述的节点均能够提供完整的数据存储、访问和命令执行管理服务;所述初始配置单元用于提供配置接口,进而通过手动配置的方式从所述多个节点中确定主节点和副节点;所述命令处理规则设置单元用于设定命令处理规则,保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。2.根据权利要求1所述的一种高可用性和强一致性的数据库集群系统,其特征在于:所述的多个节点还连接统一的地址访问集群,为用户组提供访问服务的接口。3.根据权利要求1所述的一种高可用性和强一致性的数据库集群系统,其特征在于:每个所述的节点均包括存储模块、数据服务模块和执行管理模块;所述存储模块用于对节点数据进行存储;所述的数据服务模块用于对来自用户组的命令进行处理,进而为用户提供服务;所述执行管理模块用于根据设定的命令处理规则,对数据服务模块处理的命令进行管理,进而保证命令处理过程中数据库集群系统各个节点之间的数据同步一致。4.根据权利要求1~3所述的一种高可用性和强一致性的数据库集群系统的命令处理方法,其特征在于:包括以下步骤:S1.通过手动配置的方式从所述多个节点选择一个节点作为主节点,其余所有节点均为副节点;S2.接收来自用户的命令并按照命令处理规则对节点数据进行处理。...

【专利技术属性】
技术研发人员:吴春中饶青张浩阳谢超平
申请(专利权)人:成都索贝数码科技股份有限公司
类型:发明
国别省市:四川;51

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

1