一种基于双主数据库的数据处理方法和装置制造方法及图纸

技术编号:21628284 阅读:25 留言:0更新日期:2019-07-17 10:53
本发明专利技术公开了基于双主数据库的数据处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:包括获取数据查询指令或者数据更新指令;根据所述数据查询指令或者数据更新指令,对第一主数据库、第二主数据库的数据进行查询或者更新;同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。该实施方式能够解决数据库的主备模式具有滞后性的问题。

A Data Processing Method and Device Based on Dual Master Database

【技术实现步骤摘要】
一种基于双主数据库的数据处理方法和装置
本专利技术涉及计算机
,尤其涉及一种基于双主数据库的数据处理方法和装置。
技术介绍
数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:数据库的主备模式具有滞后性。即当主数据库故障时,有部分数据未能及时同步到备数据库,因此当切换到备数据库时,会导致数据不一致,降低了系统的可用性。
技术实现思路
有鉴于此,本专利技术实施例提供一种基于双主数据库的数据处理方法和装置,能够解决数据库的主备模式具有滞后性的问题。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种基于双主数据库的数据处理方法,包括:获取数据查询指令或者数据更新指令;根据所述数据查询指令或者数据更新指令,对第一主数据库、第二主数据库的数据进行查询或者更新;同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。可选地,所述获取数据查询指令时,则同步第一主数据库、第二主数据库的数据,以输出查询结果,包括:判断第一主数据库的数据版本号与第二主数据库的数据版本号是否相同;若是,则输出第一主数据库的数据或第二主数据库的数据;若否,则用高版本号的数据同步低版本号的数据,并输出高版本号的数据。可选地,所述获取数据更新指令时,则同步第一主数据库、第二主数据库的数据,以完成更新,包括:判断第一主数据库的数据版本号与第二主数据库的数据版本号是否相同;若否,则发出异步更新消息,根据所述异步更新消息同步第一主数据库、第二主数据库的数据。可选地,所述方法还包括:根据所述异步更新消息,将同步失败的结果写入本地文件;根据所述异步更新消息同步第一主数据库、第二主数据库的数据,包括:根据所述异步更新消息,将同步失败的结果写入本地文件;获取所述本地文件中的同步失败的结果;根据所述同步失败的结果比较第一主数据库的数据版本号与第二主数据库的数据版本号;用高版本号的数据同步低版本号的数据。可选地,所述同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新,包括:判断第一主数据库和第二主数据库的数据查询或者数据更新是否全部失败,若是,则提示查询失败或者更新失败;若否,则根据所述第一主数据库的数据版本号与第二主数据库的数据版本号,输出数据或者更新数据。另外,根据本专利技术实施例的另一个方面,提供了一种基于双主数据库的数据处理装置,包括:获取模块,用于获取数据查询指令或者数据更新指令;查新模块,用于根据所述数据查询指令或者数据更新指令,对第一主数据库、第二主数据库的数据进行查询或者更新;处理模块,用于同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。可选地,若获取数据查询指令时,所述处理模块,用于:判断第一主数据库的数据版本号与第二主数据库的数据版本号是否相同;若是,则输出第一主数据库的数据或第二主数据库的数据;若否,则用高版本号的数据同步低版本号的数据,并输出高版本号的数据。可选地,若获取数据更新指令时,所述处理模块,用于:判断第一主数据库的数据版本号与第二主数据库的数据版本号是否相同;若否,则发出异步更新消息,根据所述异步更新消息同步第一主数据库、第二主数据库的数据。可选地,所述装置还包括:写入模块,用于根据所述异步更新消息,将同步失败的结果写入本地文件;根据所述异步更新消息同步第一主数据库、第二主数据库的数据,包括:获取所述本地文件中的同步失败的结果;根据所述同步失败的结果比较第一主数据库的数据版本号与第二主数据库的数据版本号;用高版本号的数据同步低版本号的数据。可选地,所述处理模块用于:判断第一主数据库和第二主数据库的数据查询或者数据更新是否全部失败,若是,则提示查询失败或者更新失败;若否,则同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。根据本专利技术实施例的另一个方面,还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。根据本专利技术实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用对双主数据库的数据进行查询或者更新,并通过同步双主数据库,输出查询结果或完成更新的技术手段,所以克服了数据库的主备模式具有滞后性的技术问题,进而达到提高数据库系统的可用性、有效保证双主数据库的数据一致性的技术效果。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的基于双主数据库的数据处理方法的主要流程的示意图;图2是根据本专利技术实施例的部署有第一主Redis、第二主Redis的系统构架图;图3是根据本专利技术一个可参考实施例的基于双主数据库的数据处理方法的主要流程的示意图;图4是根据本专利技术另一个可参考实施例的基于双主数据库的数据处理方法的主要流程的示意图;图5是根据本专利技术又一个可参考实施例的基于双主数据库的数据处理方法的主要流程的示意图;图6是根据本专利技术实施例的基于双主数据库的数据处理装置的主要模块的示意图;图7是本专利技术实施例可以应用于其中的示例性系统架构图;图8是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的基于双主数据库的数据处理方法,如图1所示,所述基于双主数据库的数据处理方法,包括:步骤S101,获取数据查询指令或者数据更新指令。在该步骤中,当用户发出数据查询指令或者数据更新指令时,获取用户发出的数据查询指令或者数据更新指令。步骤S102,根据所述数据查询指令或者数据更新指令,对第一主数据库、第二主数据库的数据进行查询或者更新。可选地,根据所述数据查询指令或者数据更新指令,依次对第一主数据库、第二主数据库的数据进行查询或者更新。也就是说,根据所述数据查询指令,依次对第一主数据库、第二主数据库的数据进行查询;或者,根据所述数据更新指令,依次对第一主数据库、第二主数据库的数据进行更新。作为本专利技术的一个实施例,所述第一主数据库、第二主数据库部署在不同的机房,那么当某一个机房故障时,另一个机房的主数据库仍能继续工作,从而提高了数据库系统的可用性。所述数据库可以是Redis、Oracle、MySQL、MicrosoftSQLServer、MongoDB、PostgreSQL、DB2等中的至少一种,本发本文档来自技高网...

【技术保护点】
1.一种基于双主数据库的数据处理方法,其特征在于,包括:获取数据查询指令或者数据更新指令;根据所述数据查询指令或者数据更新指令,对第一主数据库、第二主数据库的数据进行查询或者更新;同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。

【技术特征摘要】
1.一种基于双主数据库的数据处理方法,其特征在于,包括:获取数据查询指令或者数据更新指令;根据所述数据查询指令或者数据更新指令,对第一主数据库、第二主数据库的数据进行查询或者更新;同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。2.根据权利要求1所述的方法,其特征在于,所述获取数据查询指令时,则同步第一主数据库、第二主数据库的数据,以输出查询结果,包括:判断第一主数据库的数据版本号与第二主数据库的数据版本号是否相同;若是,则输出第一主数据库的数据或第二主数据库的数据;若否,则用高版本号的数据同步低版本号的数据,并输出高版本号的数据。3.根据权利要求1所述的方法,其特征在于,所述获取数据更新指令时,则同步第一主数据库、第二主数据库的数据,以完成更新,包括:判断第一主数据库的数据版本号与第二主数据库的数据版本号是否相同;若否,则发出异步更新消息,根据所述异步更新消息同步第一主数据库、第二主数据库的数据。4.根据权利要求3所述的方法,其特征在于,还包括:根据所述异步更新消息,将同步失败的结果写入本地文件;根据所述异步更新消息同步第一主数据库、第二主数据库的数据,包括:获取所述本地文件中的同步失败的结果;根据所述同步失败的结果比较第一主数据库的数据版本号与第二主数据库的数据版本号;用高版本号的数据同步低版本号的数据。5.根据权利要求1所述的方法,其特征在于,所述同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新,包括:判断第一主数据库和第二主数据库的数据查询或者数据更新是否全部失败,若是,则提示查询失败或者更新失败;若否,则同步第一主数据库、第二主数据库的数据,以输出查询结果或完成更新。6.一种基于双主数据库的数据处理装置,其特征在于,包括:获取模块,用于获取数据查询指令或者数据更新指令;查新模块,用于...

【专利技术属性】
技术研发人员:蔡想夏先刚
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1