本技术涉及云数据库,尤其涉及一种跨云数据库的数据访问方法、系统及存储介质。
背景技术:
1、由于云数据库具有轻松部署、高可靠、低成本等优势,因而得到了广泛应用。然而,现有的数据访问方式通常只能够访问一个云数据库,当该云数据库出现故障时,只能等待该云数据库恢复正常后再使用,导致云数据库可用性较低。因此,如何提高云数据库的可用性,成为亟待解决的技术问题。
技术实现思路
1、本技术提供了一种跨云数据库的数据访问方法、系统及存储介质,以解决现有的数据访问方式通常只能够访问一个云数据库导致云数据库可用性较低的问题。
2、第一方面,本技术实施例提供了一种跨云数据库的数据访问方法,应用于高可用性管控组件,所述方法包括:
3、获取用户的输入信息,以及获取第一云数据库的状态信息,其中,所述第一云数据库为当前允许目标应用进行数据访问的云数据库;
4、根据所述输入信息和所述第一云数据库的状态信息,确定当前是否满足用于云数据库切换的预设条件;
5、在确定当前满足用于云数据库切换的预设条件的情况下,向所述目标应用中的数据库软件开发工具包发送停写指令,并通过数据同步组件确定所述第一云数据库中的数据是否完全同步至第二云数据库中,其中,所述第二云数据库为除所述第一云数据库之外的任意云数据库;
6、在确定所述第一云数据库中的数据完全同步至第二云数据库中的情况下,向所述数据库软件开发工具包发送第一切换指令,以将与所述目标应用进行数据访问的云数据库切换至所述第二云数据库,并向所述数据同步组件发送第二切换指令,以切换数据同步方向为从所述第二云数据库同步至所述第一云数据库。
7、可选地,所述根据所述输入信息和所述第一云数据库的状态信息,确定当前是否满足用于云数据库切换的预设条件,包括:
8、判断所述输入信息是否为用户输入的第三切换指令,以及判断所述第一云数据库的状态信息是否表征所述第一云数据库处于故障状态;
9、在所述输入信息为所述第三切换指令和/或所述第一云数据库的状态信息表征所述第一云数据库处于故障状态的情况下,确定当前满足用于云数据库切换的预设条件;
10、在所述输入信息非所述第三切换指令且所述第一云数据库的状态信息表征所述第一云数据库处于正常状态的情况下,确定当前不满足用于云数据库切换的预设条件。
11、可选地,在所述向所述数据库软件开发工具包发送第一切换指令,以将与所述目标应用进行数据访问的云数据库切换至所述第二云数据库,并向所述数据同步组件发送第二切换指令,以将所述第二云数据库中的数据同步至所述第一云数据库中之后,所述方法还包括:
12、获取用户的输入信息和所述第二云数据库的状态信息;
13、根据所述输入信息和所述第二云数据库的状态信息,确定当前是否满足用于云数据库切换的预设条件;
14、在确定当前满足用于云数据库切换的预设条件的情况下,向所述数据库软件开发工具包发送停写指令,并通过所述数据同步组件确定所述第二云数据库中的数据是否完全同步至第一云数据库中;
15、在确定所述第二云数据库中的数据完全同步至第一云数据库中的情况下,向所述数据库软件开发工具包发送第四切换指令,以将与所述目标应用进行数据访问的云数据库切换至所述第一云数据库,并向所述数据同步组件发送第五切换指令,以切换数据同步方向为从所述第一云数据库同步至所述第二云数据库。
16、可选地,所述获取第一云数据库的状态信息,包括:
17、基于接收到的所述第一云数据库实时返回的状态消息,获取第一云数据库的状态信息;或者,
18、对所述第一云数据库进行拨测,并根据拨测结果获取所述第一云数据库的状态信息;或者,
19、利用所述数据库软件开发工具包对所述第一云数据库的状态进行监测,并从所述数据库软件开发工具包的监测结果中获取所述第一云数据库的状态信息。
20、第二方面,本技术实施例还提供了一种跨云数据库的数据访问方法,应用于数据库软件开发工具包,所述数据库软件开发工具包集成于目标应用中,所述方法包括:
21、接收高可用性管控组件发送的停写指令,并根据所述停写指令,控制目标应用停止对第一云数据库进行数据写入操作,其中,所述停写指令是由所述高可用性管控组件在确定当前满足用于云数据库切换的预设条件的情况下生成的,所述用于云数据库切换的预设条件是根据用户的输入信息和第一云数据库的状态信息来确定的,所述第一云数据库为当前允许目标应用进行数据访问的云数据库;
22、接收所述高可用性管控组件发送的第一切换指令,并根据所述第一切换指令,将与所述目标应用进行数据访问的云数据库切换至第二云数据库,其中,所述第二云数据库为除所述第一云数据库之外的任意云数据库,所述第一切换指令是所述高可用性管控组件在确定所述第一云数据库中的数据完全同步至第二云数据库中的情况下生成的。
23、可选地,在所述接收高可用性管控组件发送的停写指令之前,所述方法还包括:
24、对所述第一云数据库的状态和所述第二云数据库的状态进行监测,并监测结果发送给所述高可用性管控组件,以供所述高可用性管控组件从所述监测结果中获取到所述第一云数据库的状态信息。
25、第三方面,本技术实施例还提供了一种跨云数据库的数据访问方法,应用于数据同步组件,所述方法包括:
26、接收高可用性管控组件发送的第二切换指令,其中,所述第二切换指令是所述高可用性管控组件在确定当前满足用于云数据库切换的预设条件,且确定所述第一云数据库中的数据完全同步至第二云数据库中的情况下生成的,所述用于云数据库切换的预设条件是根据用户的输入信息和第一云数据库的状态信息来确定的,所述第一云数据库为当前允许目标应用进行数据访问的云数据库,所述第二云数据库为除所述第一云数据库之外的任意云数据库;
27、根据所述第二切换指令,将数据同步方向切换为从第二云数据库同步至第一云数据库。
28、可选地,在所述接收高可用性管控组件发送的第二切换指令之前,所述方法还包括:
29、对所述第一云数据库和所述第二云数据库中的变更日志进行解析,得到所述第一云数据库和所述第二云数据库中的数据变化情况;
30、判断所述第一云数据库和所述第二云数据库中的数据变化情况是否一致;
31、在判定所述第一云数据库和所述第二云数据库中的数据变化情况一致的情况下,确定所述第一云数据库中的数据完全同步至第二云数据库中。
32、第四方面,本技术实施例还提供了一种跨云数据库的数据访问系统,所述系统包括高可用性管控组件、数据库软件开发工具包和数据同步组件,所述数据库软件开发工具包集成于目标应用中;
33、其中,所述高可用性管控组件用于执行第一方面中任一项所述的跨云数据库的数据访问方法的步骤;
34、所述数据库软件开发工具包用于执行第二方面中任一项所述的跨云数据库的数据访问方法的步骤;
35、所述数据同步组件用于执行第三方面中任一项所述的跨云数据库的数据访问方法的步骤。
36、第五方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的跨云数据库的数据访问方法,或者实现第二方面中任一项所述的跨云数据库的数据访问方法,或者实现第三方面中任一项所述的跨云数据库的数据访问方法。
37、本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的该方法,通过获取用户的输入信息,以及获取第一云数据库的状态信息,其中,所述第一云数据库为当前允许目标应用进行数据访问的云数据库;根据所述输入信息和所述第一云数据库的状态信息,确定当前是否满足用于云数据库切换的预设条件;在确定当前满足用于云数据库切换的预设条件的情况下,向所述目标应用中的数据库软件开发工具包发送停写指令,并通过数据同步组件确定所述第一云数据库中的数据是否完全同步至第二云数据库中,其中,所述第二云数据库为除所述第一云数据库之外的任意云数据库;在确定所述第一云数据库中的数据完全同步至第二云数据库中的情况下,向所述数据库软件开发工具包发送第一切换指令,以将与所述目标应用进行数据访问的云数据库切换至所述第二云数据库,并向所述数据同步组件发送第二切换指令,以切换数据同步方向为从所述第二云数据库同步至所述第一云数据库。通过上述方式,高可用性管控组件可以在确定当前满足用于云数据库切换的预设条件,且第一云数据库中的数据完全同步至第二云数据库的情况下,将与目标应用进行数据访问的云数据库从第一云数据库切换至第二云数据库,这样,即便其中一个云数据库出现故障,也能切换到其他云数据库进行数据访问,从而提高了云数据库的可用性。
1.一种跨云数据库的数据访问方法,其特征在于,应用于高可用性管控组件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述输入信息和所述第一云数据库的状态信息,确定当前是否满足用于云数据库切换的预设条件,包括:
3.根据权利要求1所述的方法,其特征在于,在所述向所述数据库软件开发工具包发送第一切换指令,以将与所述目标应用进行数据访问的云数据库切换至所述第二云数据库,并向所述数据同步组件发送第二切换指令,以将所述第二云数据库中的数据同步至所述第一云数据库中之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述获取第一云数据库的状态信息,包括:
5.一种跨云数据库的数据访问方法,其特征在于,应用于数据库软件开发工具包,所述数据库软件开发工具包集成于目标应用中,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,在所述接收高可用性管控组件发送的停写指令之前,所述方法还包括:
7.一种跨云数据库的数据访问方法,其特征在于,应用于数据同步组件,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,在所述接收高可用性管控组件发送的第二切换指令之前,所述方法还包括:
9.一种跨云数据库的数据访问系统,其特征在于,所述系统包括高可用性管控组件、数据库软件开发工具包和数据同步组件,所述数据库软件开发工具包集成于目标应用中;
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的跨云数据库的数据访问方法,或者实现权利要求5-6任一项所述的跨云数据库的数据访问方法,或者实现权利要求7-8任一项所述的跨云数据库的数据访问方法。
