本发明属于数据库,尤其涉及一种船舶平台的数据库双主互备方法和系统。
背景技术:
1、由于船舶在水中稳定性和宽度有关,越宽越稳定,而阻力和船的宽度负相关,越窄阻力越小,速度也就越快。为了追求速度和稳定性之间的均衡,现代舰船一般都是细长型,长宽比能达到7以上,部分追求速度的甚至能达到10以上。
2、由于船体是细长的,大多数船都有前舱和后舱2个机房,这两个机房之间通过纵向的网线和交换机连接,彼此之间又相对独立,互为备份。船舶上前后拥有2个机舱可以提供更加稳定、可靠的船舶运行管理。尽管目前计算机可靠性已经有了很大提升,双机舱的设计仍可以提供更多的冗余和备份,确保船舶在面对复杂和极端环境时仍能保持稳定的运行状态。
3、随着船舶运行数据的不断增加,数据库作为船舶平台的核心部分,其稳定性和可靠性对船舶的正常运行具有重要的影响。然而,传统的数据库主备方案存在切换时间长、数据一致性难于保证等问题,难于满足现代船舶平台的高可用性需求。
4、以上技术问题亟待解决。
技术实现思路
1、为解决上述技术问题,本发明提出一种船舶平台的数据库双主互备方法的技术方案,以解决上述技术问题。
2、本发明第一方面公开了一种船舶平台的数据库双主互备方法,所述方法包括:
3、步骤s1、在船上的前舱和后舱各设置一个数据库,配置在同一个内网,各自分配一个ip;
4、步骤s2、在两个数据库之间实现实时通信,以检测各自的运行状态;其中先启动的数据库为主数据库;
5、步骤s3、设置一个虚拟ip,所述虚拟ip是两个数据库对外的统一接口,其对内则指向主数据库;
6、步骤s4、当主数据库发生故障或者keepalived判断其负载太高时,将发生主数据库和备用数据库的互换,备用数据库成为新的主数据库;所述虚拟ip指向所述新的主数据库;
7、步骤s5、通过离线同步和实时同步两种方式,实现主数据库和备用数据库的数据同步。
8、根据本发明第一方面的方法,在所述步骤s2中,所述在两个数据库之间实现实时通信的方法包括:
9、通过keepalived在两个主数据库之间实现实时通信。
10、根据本发明第一方面的方法,在所述步骤s3中,所述设置一个虚拟ip,所述虚拟ip是两个数据库对外的统一接口的方法包括:
11、通过keepalived提供的vrrp,即虚拟路由功能,vrrp将两台物理设备虚拟成一个虚拟路由器,用所述虚拟路由器提供一个双机浮动的虚拟ip作为两个数据库对外的统一接口。
12、根据本发明第一方面的方法,在所述步骤s5中,实现主数据库和备用数据库的数据实时同步的方法包括:
13、通过消息队列的方式或者数据库自带的同步工具进行同步实现主数据库和备用数据库的数据实时同步。
14、本发明第二方面公开了一种船舶平台的数据库双主互备系统,所述系统包括:
15、第一处理模块,被配置为,在两个数据库之间实现实时通信,以检测各自的运行状态;其中先启动的数据库为主数据库;
16、第二处理模块,被配置为,设置一个虚拟ip,所述虚拟ip是两个数据库对外的统一接口,其对内则指向主数据库;
17、第三处理模块,被配置为,当主数据库发生故障或者keepalived判断其负载太高时,将发生主数据库和备用数据库的互换,备用数据库成为新的主数据库;所述虚拟ip指向所述新的主数据库;
18、第四处理模块,被配置为,通过实时同步的方式,实现主数据库和备用数据库的数据同步。
19、根据本发明第二方面的系统,所述在两个数据库之间实现实时通信的方法包括:
20、通过keepalived在两个主数据库之间实现实时通信。
21、根据本发明第二方面的系统,所述设置一个虚拟ip,所述虚拟ip是两个数据库对外的统一接口的方法包括:
22、通过keepalived提供的vrrp,即虚拟路由功能,vrrp将两台物理设备虚拟成一个虚拟路由器,用所述虚拟路由器提供一个双机浮动的虚拟ip作为两个数据库对外的统一接口。
23、根据本发明第二方面的系统,通过实时同步的方式,实现主数据库和备用数据库的数据同步的方法包括:
24、通过消息队列的方式或者数据库自带的同步工具进行同步实现主数据库和备用数据库的数据实时同步。
25、本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面中任一项的一种船舶平台的数据库双主互备方法中的步骤。
26、本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面中任一项的一种船舶平台的数据库双主互备方法中的步骤。
27、综上,本发明提出的方案能够对外提供了一个虚拟ip,屏蔽了内部的变化,降低了和外部系统的偶合性;支持双向的数据同步。
1.一种船舶平台的数据库双主互备方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种船舶平台的数据库双主互备方法,其特征在于,在所述步骤s2中,所述在两个数据库之间实现实时通信的方法包括:
3.根据权利要求1所述的一种船舶平台的数据库双主互备方法,其特征在于,在所述步骤s3中,所述设置一个虚拟ip,所述虚拟ip是两个数据库对外的统一接口的方法包括:
4.根据权利要求1所述的一种船舶平台的数据库双主互备方法,其特征在于,在所述步骤s5中,实现主数据库和备用数据库的数据实时同步的方法包括:
5.一种用于船舶平台的数据库双主互备系统,其特征在于,所述系统包括:
6.根据权利要求5所述的用于船舶平台的数据库双主互备系统,其特征在于,所述在两个数据库之间实现实时通信的方法包括:
7.根据权利要求5所述的用于船舶平台的数据库双主互备系统,其特征在于,所述设置一个虚拟ip,所述虚拟ip是两个数据库对外的统一接口的方法包括:
8.根据权利要求5所述的用于船舶平台的数据库双主互备系统,其特征在于,通过实时同步的方式,实现主数据库和备用数据库的数据同步的方法包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至7中任一项所述的一种船舶平台的数据库双主互备方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至7中任一项所述的一种船舶平台的数据库双主互备方法中的步骤。