一种数据库集群功能实现方法和系统的制作方法_3

文档序号:9865752阅读:来源:国知局
括的业务要素,来为该请求指定一个相匹配的目标数据库节点,之后将该请求分配至所指定的目标数据库节点进行处理。由此可见,本申请通过在数据库集群的不同节点存放不同数据,并通过有效的业务路由实现了一种数据库集群功能,基于该功能可有效实现数据库扩展,从而解决了单一数据库带来的性能瓶颈问题。
[0079]实施例二
[0080]本实施例二中,参考图3,所述数据库集群功能实现方法还可以包括以下步骤:
[0081]S104:将所述目标数据库节点产生的返回结果数据反馈至所述发送方。
[0082]本实施例具体对实施例一的方案进行补充,其中,如果目标数据库节点在执行SQL映射器提交的SQL语句(如查询)后,生成相应的需返回给前端应用系统的结果数据,则可通过实施例一中所建立的数据连接,将返回数据经由SQL映射器和拦截器反馈至前端应用系统。
[0083]其中,如果目标数据库节点的个数为多个,则SQL映射器在接收到各个目标数据库节点返回的多份结果数据时,将各个目标数据库节点返回的数据整合为一个结果集返回给前端应用系统。
[0084]实施例三
[0085]本实施例三中,参考图4,所述数据库集群功能实现方法还可以包括以下步骤:
[0086]S105:当所述目标数据库节点发生故障时,将所述第一类型数据业务请求分配至所述目标数据库节点对应的目标备份数据库节点,所述目标备份数据库节点用于对所述目标数据库节点中的第一类型数据进行备份。
[0087]由于数据库集群中的各个数据库节点分别存放互不相同的第一类型数据,如交易型数据等,基于此,本实施例通过预先为数据库集群中每个数据库节点的第一类型数据进行备份,并通过预先在拦截器和SQL映射器的配置文集中添加数据库集群的相关备份信息,实现在目标数据库节点发生故障时,将拦截的第一类型数据业务请求路由至相应的备份数据库节点,从而保证了在数据库节点故障的情况下所述第一类型数据仍具可用性。
[0088]实施例四
[0089]本实施例四中,参考图5,所述数据库集群功能实现方法还可以包括以下步骤:
[0090]S106:在接收到发送方的第二类型数据业务请求时,获取所述第二类型数据业务请求包含的操作类型;
[0091 ] S107:如果所述操作类型为需要更新数据库的类型,则将所述第二类型数据业务请求分配至所述数据库集群包括的各个数据库节点进行同步处理;
[0092]S108:如果所述操作类型为无需更新数据库的类型,则将所述第二类型数据业务请求分配至所述数据库集群中的任意一数据库节点进行处理。
[0093]本实施例中,数据库集群的各数据库节点除了包含互不相同的第一类型数据之夕卜,还可以同步包含相同的第二类型数据,从而各数据库点节中的第二类型数据互为备份。一般来说,所述第一类型数据为一些数据量较大、操作频繁的数据,如银行系统中的交易型数据等,而所述第二类型数据为一些数据量较少,不易发生变动的数据,如配置型数据等,即数据库集群中仅仅同步少量的配置型数据,以保证不会产生大数据量的数据冗余。
[0094]对于银行系统来说,所述配置型数据可以包括机构(总行/分行)信息、客户信息与参数信息(交易相关参数)间的对应关系,银行前端应用系统可基于实际的业务需求或管理需求对所述配置型数据进行操作,在操作配置型数据时,所产生的数据更新同步保存在集群的各个数据库节点中。
[0095]基于此,对于配置型数据的业务请求来说,需识别所述请求中的操作类型是否会对数据库产生数据更新,如果会产生数据更新(例如增、删、改),需将所述配置型数据业务请求分配至各个数据库节点进行同步处理,否则,如果不会产生数据更新(例如数据查询),则将所述请求分配至任意一个数据库节点进行处理即可。
[0096]实施例五
[0097]本实施例五公开一种数据库集群功能实现系统,所述系统与以上各实施例公开的方法相对应。
[0098]相应于实施例一,参考图6,所述数据库集群功能实现系统包括接收模块100、确定模块200和第一分配模块300。
[0099]接收模块100,用于接收发送方的第一类型数据业务请求,所述第一类型数据业务请求包括第一业务要素及第一类型数据操作任务。
[0100]确定模块200,用于基于所述第一业务要素,确定目标数据库节点。
[0101]其中,所述确定模块200包括确定单元,用于基于预先配置的业务要素与数据库节点间的对应关系,确定出与所述第一业务要素相对应的目标数据库节点。
[0102]第一分配模块300,用于将所述第一类型数据业务请求分配至所述目标数据库节点,以使所述目标数据库节点对所述第一类型数据操作任务进行处理。
[0103]所述第一分配模块300包括连接建立单元、生成单元和提交单元。
[0104]连接建立单元,用于建立与所述目标数据库节点间的数据库连接;
[0105]生成单元,用于生成与所述第一类型数据业务请求相对应的SQL语句;
[0106]提交单元,用于利用所述数据库连接,将所述SQL语句提交至所述目标数据库节点。
[0107]相应于实施例二,参考图7,所述系统还可以包括结果反馈模块400,用于将所述目标数据库节点产生的返回结果数据反馈至所述发送方。
[0108]其中,当所述目标数据库节点的个数为多个时,所述结果反馈模块400具体用于整合多个所述目标数据库节点产生的多份返回结果数据,并将整合结果反馈至所述发送方。
[0109]相应于实施例三,参考图8,所述系统还可以包括节点故障处理模块500,用于在所述目标数据库节点发生故障时,将所述第一类型数据业务请求分配至所述目标数据库节点对应的目标备份数据库节点;所述目标备份数据库节点用于对所述目标数据库节点中的第一类型数据进行备份。
[0110]相应于实施例四,参考图9,所述系统还可以包括获取模块600、第二分配模块700和第三分配模块800。
[0111]获取模块600,用于在接收到发送方的第二类型数据业务请求时,获取所述第二类型数据业务请求包含的操作类型;
[0112]第二分配模块700,用于在所述操作类型为需要更新数据库的类型时,将所述第二类型数据业务请求分配至所述数据库集群包括的各个数据库节点进行同步处理;
[0113]第三分配模块800,用于在所述操作类型为无需更新数据库的类型时,将所述第二类型数据业务请求分配至所述数据库集群中的任意一数据库节点进行处理。
[0114]对于本发明实施例五公开的数据库集群功能实现系统而言,由于其与实施例一至实施例四公开的数据库集群功能实现方法相对应,所以描述的比较简单,相关相似之处请参见实施例一至实施例四中数据库集群功能实现方法部分的说明即可,此处不再详述。
[0115]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0116]为了描述的方便,描述以上系统或装置时以功能分为各种模
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1