CN105069059A - 数据库同步方法及装置 - Google Patents
数据库同步方法及装置 Download PDFInfo
- Publication number
- CN105069059A CN105069059A CN201510450952.8A CN201510450952A CN105069059A CN 105069059 A CN105069059 A CN 105069059A CN 201510450952 A CN201510450952 A CN 201510450952A CN 105069059 A CN105069059 A CN 105069059A
- Authority
- CN
- China
- Prior art keywords
- write command
- database
- synchronous meter
- write
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于数据库同步方法及装置,该数据库同步方法应用于主数据库上,所述主数据库包括第一同步表,该方法包括:接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;当所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。因此,本公开可以满足实时性要求高的业务操作需求,提高了用户体验,并且操作简单,易行,进而提高了数据库同步的效率。
Description
技术领域
本公开涉及网络通信技术领域,尤其涉及数据库同步方法及装置。
背景技术
生产环境下的数据库管理系统一般都会采用主从分离架构,即包括主数据库(master)和从数据库(slave)。相关技术中,当有增加、删除、修改等写操作时,将对主数据库进行写操作;当有查询等读操作时,将对从数据库进行读操作。
发明内容
为克服相关技术中存在的问题,本公开提供了数据库同步方法及装置。
根据本公开实施例的第一方面,提供一种数据库同步方法,主数据库包括第一同步表,包括:
接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;
当所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
可选的,所述写指令包括插入指令、修改指令、删除指令中的至少一种。
可选的,所述将所述写指令同步发送至从数据库之后,还包括:
接收所述从数据库发送的同步完成信息;
将所述同步完成信息发送至所述前端设备,以使所述前端设备根据所述同步完成信息向用户进行操作成功提示。
可选的,所述根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令之后,还包括:
当所述写指令不是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表之外的存储区域进行对应的写操作;
在预设的时间内将所述写指令发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
根据本公开实施例的第二方面,提供一种数据库同步方法,从数据库包括第二同步表,包括:
接收主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
当所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
可选的,所述方法还包括:
根据所述写数据对所述第二同步表进行对应的写操作之后,当完成所述写操作后,向所述主数据库发送同步完成信息。
可选的,所述方法还包括:
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令之后,当所述写指令不是针对所述第二同步表的操作指令时,在预设的时间内根据所述写数据对所述第二同步表之外的存储区域进行对应的写操作。
可选的,所述方法还包括:
接收前端设备的查询指令;
根据所述查询指令执行对应的查询操作,得到查询结果;
将所述查询结果发送至所述前端设备,以使所述前端设备显示所述查询结果。
根据本公开实施例的第三方面,提供一种数据库同步装置,主数据库包括第一同步表,包括:
第一接收模块,用于接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
判断模块,用于根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;
第一同步模块,用于当所述判断模块的判断结果为所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
可选的,所述写指令包括插入指令、修改指令、删除指令中的至少一种。
可选的,所述装置还包括:
第二接收模块,用于接收所述从数据库发送的同步完成信息;
第一发送模块,用于将所述同步完成信息发送至所述前端设备,以使所述前端设备根据所述同步完成信息向用户进行操作成功提示。
可选的,所述装置还包括:
第二同步模块,用于当当所述判断模块的判断结果为所述写指令不是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表之外的存储区域进行对应的写操作;
第二发送模块,用于在预设的时间内将所述写指令发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
根据本公开实施例的第四方面,提供一种数据库同步装置,从数据库包括第二同步表,包括:
第一接收模块,用于接收所述主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
判断模块,用于根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
第一同步模块,用于当所述判断模块的判断结果为所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
可选的,所述装置还包括:
第一发送模块,用于根据所述写数据对所述第二同步表进行对应的写操作之后,当完成所述写操作后,向所述主数据库发送同步完成信息。
可选的,所述装置还包括:
第二同步模块,用于当所述判断模块的判断结果为所述写指令不是针对所述第二同步表的操作指令时,在预设的时间内根据所述写数据对所述第二同步表之外的存储区域进行对应的写操作
可选的,所述装置还包括:
第二接收模块,用于接收前端设备的查询指令;
查询模块,用于根据所述查询指令执行对应的查询操作,得到查询结果;
第二发送模块,用于将所述查询结果发送至所述前端设备,以使所述前端设备显示所述查询结果。
根据本公开实施例的第五方面,提供一种数据库同步装置,主数据库包括第一同步表,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;
当所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
根据本公开实施例的第六方面,提供一种数据库同步装置,从数据库包括第二同步表,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收所述主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
当所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开中主数据库可以接收前端设备的写指令,并根据写指令携带的数据类型标识判断该写指令是否为针对第一同步表的操作指令,当写指令是针对第一同步表的操作指令时,根据写指令携带的写数据对第一同步表进行对应的写操作,并将该写指令同步发送至从数据库,从而实现了对于实时性要求高的写指令,主数据库和从数据库可以实时同步进行对应的写操作,满足了实时性要求高的业务操作需求,提高了用户体验,并且操作简单,易行,进而提高了数据库同步的效率。
本公开中主数据库还可以接收从数据库发送的同步完成信息,将同步完成信息发送至前端设备,以使前端设备根据同步完成信息向用户进行操作成功提示,保证了实时性要求高的业务查询时的正确率,从而提高了了用户体验。
本公开中主数据库中可以包括对实时性要求比较高的第一同步表,还有对实时性没有要求的其他存储区域,当接收到的写指令不是针对第一同步表时,根据写数据对第一同步表之外的存储区域进行对应的写操作,并在预设的时间内将写指令发送至从数据库,以使从数据库根据接收到的写指令同步进行对应的写操作,使得主数据库和从数据库在一段时间后,二者普通存储区域中的数据也能保持一致,从而满足了实时性没有要求的业务操作需求,通过主数据库和从数据库异时同步,节省了数据库资源。
本公开中从数据库中可以包括对实时性要求比较高的第二同步表,还有对实时性没有要求的其他存储区域,当接收到的写指令是针对第二同步表时,根据写指令携带的写数据对第二同步表进行对应的写操作;当写指令不是针对第二同步表的操作指令时,在预设的时间内根据写指令携带的写数据对第二同步表之外的存储区域进行对应的写操作,使得从数据库针对实时性要求高的业务操作,可以和主数据库实时同步进行对应的写操作,针对实时性没有要求的业务操作,可以和主数据库异时同步进行对应的写操作,从而满足了实时性要求高的业务操作需求和实时性没有要求的业务操作需求,提高了用户体验,并且操作简单,易行,进而提高了数据库同步的效率,还节省了数据库资源。
本公开中从数据库还可以负责数据查询,通过接收前端设备的查询指令,根据查询指令执行对应的查询操作,得到查询结果,将查询结果发送至前端设备,以使前端设备显示查询结果,从而减轻了主数据库的任务量,提高了数据库同步的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种数据库同步方法流程图;
图2是本公开根据一示例性实施例示出的另一种数据库同步方法流程图;
图3是本公开根据一示例性实施例示出的另一种数据库同步方法流程图;
图4是本公开根据一示例性实施例示出的一种数据库同步方法流程图;
图5是本公开根据一示例性实施例示出的另一种数据库同步方法流程图;
图6是本公开根据一示例性实施例示出的一种数据库同步方法的应用场景图;
图7是本公开根据一示例性实施例示出的一种数据库同步装置的框图;
图8是本公开根据一示例性实施例示出的另一种数据库同步装置的框图;
图9是本公开根据一示例性实施例示出的另一种数据库同步装置的框图;
图10是本公开根据一示例性实施例示出的一种数据库同步装置的框图;
图11是本公开根据一示例性实施例示出的另一种数据库同步装置的框图;
图12是本公开根据一示例性实施例示出的另一种数据库同步装置的框图;
图13是本公开根据一示例性实施例示出的另一种数据库同步装置的框图;
图14是本公开根据一示例性实施例示出的一种用于数据库同步装置的一结构示意图;
图15是本公开根据一示例性实施例示出的另一种用于数据库同步装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,图1是本公开根据一示例性实施例示出的一种数据库同步方法流程图,该方法可以应用于主数据库上,该主数据库包括第一同步表。
该方法包括以下步骤:
在步骤110中,接收前端设备的写指令,该写指令携带有写数据和数据类型标识。
本公开实施例中,接收到的写指令可以包括插入指令、修改指令、删除指令中的至少一种。
当写指令为删除指令时,该插入指令携带有需要删除的数据和该数据的数据类型标识。其中,该数据类型标识可以是该需要删除的数据所属于的业务类型标识。
比如:当用户需要删除某些数据时,则前端设备会根据用户的删除需求向主数据库发送删除指令,该删除指令携带有用户指定删除的数据和该指定数据的数据类型标识。
另外,当写指令为插入指令或修改指令时,其与写指令为删除指令时相同,在这里不再赘述。
在步骤120中,根据写指令携带的数据类型标识判断该写指令是否为针对第一同步表的操作指令。
本公开实施例中,数据类型标识可以为业务类型表项。根据业务的需要,可以将对实时性要求比较高的数据存储在第一同步表中,也就是说针对第一同步表的写操作优先于其他存储区域的写操作。其他存储区域可以称为普通表。第一同步表中的数据和从数据库中的数据要实时同步,普通表中的数据和从数据库中的数据可以异时同步。
比如:数据类型标识为订单,该支付订单是对实时性要求比较高的业务,因此携带有订单的写指令,比如,支付订单、修改订单或删除订单,都是针对主数据库中第一同步表的操作指令,并需要主数据库和从数据库实时同步执行对应的写操作。
在步骤130中,当写指令是针对第一同步表的操作指令时,根据写指令携带的写数据对第一同步表进行对应的写操作,并将该写指令同步发送至从数据库,以使从数据库根据接收到的写指令同步进行对应的写操作。
本公开实施例中,针对第一同步表的操作指令优先级最高,不但主数据库要立即执行,还需要将写指令同步发送至从数据库,目的是让从数据库同步完成对应的写操作,这样才能保证主数据库的第一同步表中的数据与从数据库中的对应的数据保存实时同步,便于用户查询从数据库时得到正确的查询结果。
由上述实施例可见,主数据库可以接收前端设备的写指令,并根据写指令携带的数据类型标识判断该写指令是否为针对第一同步表的操作指令,当写指令是针对第一同步表的操作指令时,根据写指令携带的写数据对第一同步表进行对应的写操作,并将该写指令同步发送至从数据库,从而实现了对于实时性要求高的写指令,主数据库和从数据库可以实时同步进行对应的写操作,满足了实时性要求高的业务操作需求,提高了用户体验,并且操作简单,易行,进而提高了数据库同步的效率。
如图2所示,图2是本公开根据一示例性实施例示出的另一种数据库同步方法流程图,该方法可以应用于数据库管理系统中的主数据库上,并建立图1所示方法的基础上,在执行完步骤130之后,还可以包括以下步骤:
在步骤210中,接收从数据库发送的同步完成信息。
本公开实施例中,当从数据库根据接收到的写指令成功完成对应的写操作后,会向主数据库发送同步完成信息,表明自身完成数据同步。
在步骤220中,将同步完成信息发送至前端设备,以使前端设备根据同步完成信息向用户进行操作成功提示。
本公开实施例中,主数据库接收到同步完成信息后,会将该信息转发至前端设备,便于前端设备提示用户。其中,前端设备根据同步完成信息向用户进行操作成功提示时,可以采用声音提示,也可以采用文字显示提示,使得用户根据操作成功提示确定是否需要对写入的数据进行查询。
由上述实施例可见,主数据库可以接收从数据库发送的同步完成信息,将同步完成信息发送至前端设备,以使前端设备根据同步完成信息向用户进行操作成功提示,保证了实时性要求高的业务查询时的正确率,从而提高了了用户体验。
如图3所示,图3是本公开根据一示例性实施例示出的另一种数据库同步方法流程图,该方法可以应用于数据库管理系统中的主数据库上,并建立图1所示方法的基础上,在执行完步骤120之后,还可以包括以下步骤:
该方法包括以下步骤:
在步骤310中,当写指令不是针对第一同步表时,根据写数据对第一同步表之外的存储区域进行对应的写操作。
本公开实施例中,主数据库中不仅包括第一同步表,还可以包括其他的存储区域,比如:普通表。第一同步表和普通表的区别在于:针对第一同步表的写操作需要优先执行,还必须保证各个从数据库实时同步执行该写操作;而针对普通表的写操作可根据自身实际情况确定执行时间,并且根据自身实际情况确定各个从数据库的同步时间,比如,一个小时同步一次。只要在一段时间后,主数据库和从数据库中的数据能够保持一致即可。
在步骤320中,在预设的时间内将写指令发送至从数据库,以使从数据库根据接收到的写指令同步进行对应的写操作。
本公开实施例中,预设的时间可以根据实际情况进行设置,比如,一个小时向从数据库发送一次。
由上述实施例可见,主数据库中包括对实时性要求比较高的第一同步表,还有对实时性没有要求的其他存储区域,当接收到的写指令不是针对第一同步表时,根据写数据对第一同步表之外的存储区域进行对应的写操作,并在预设的时间内将写指令发送至从数据库,以使从数据库根据接收到的写指令同步进行对应的写操作,使得主数据库和从数据库在一段时间后,二者普通存储区域中的数据也能保持一致,从而满足了实时性没有要求的业务操作需求,通过主数据库和从数据库异时同步,节省了数据库资源。
如图4所示,图4是本公开根据一示例性实施例示出的一种数据库同步方法流程图,该方法可以应用于从数据库上,该从数据库包括第二同步表。
该方法包括以下步骤:
在步骤410中,接收主数据库同步发送的写指令,该写指令携带有写数据和数据类型标识。
本公开实施例中,接收到的写指令可以包括插入指令、修改指令、删除指令中的至少一种。
在步骤420中,根据写指令携带的数据类型标识判断该写指令是否为针对第二同步表的操作指令。
本公开实施例中,从数据库包括第二同步表,该第二同步表和主数据库的第一同步表可以是相同的,其中的数据都是对实时性要求比较高的。
在步骤430中,当写指令是针对第二同步表的操作指令时,根据写指令携带的写数据对第二同步表进行对应的写操作。
本公开实施例中,针对第二同步表的操作指令优先级最高,从数据库接收针对第二同步表的操作指令时,需要立即执行对第二同步表进行对应的写操作,保证在最短的时间内实现第二同步表中的数据和第一同步表中的数据保持一致,达到二者实时同步的目的。
在一公开实施例中,该数据库同步方法还包括:
根据写数据对第二同步表进行对应的写操作之后,当完成写操作后,向主数据库发送同步完成信息。
本公开实施例中,从数据库向主数据库发送同步完成信息,目的是通知主数据库自身已经完成同步。
另一公开实施例中,该数据库同步方法还包括:
根据数据类型标识判断写指令是否为针对第二同步表的操作指令之后,当写指令不是针对第二同步表的操作指令时,在预设的时间内根据写指令携带的写数据对第二同步表之外的存储区域进行对应的写操作。
本公开实施例中,从数据库中不仅包括第二同步表,还可以包括其他的存储区域,比如:普通表。第二同步表和普通表的区别在于:针对第二同步表的写操作需要优先执行,尽量与主数据库实时同步执行该写操作;而针对普通表的写操作可根据自身实际情况确定执行时间,比如,一个小时执行一次。只要在一段时间后,从数据库中的数据和主数据库能够保持一致即可。
由上述实施例可见,从数据库中包括对实时性要求比较高的第二同步表,还有对实时性没有要求的其他存储区域,当接收到的写指令是针对第二同步表时,根据写指令携带的写数据对第二同步表进行对应的写操作;当写指令不是针对第二同步表的操作指令时,在预设的时间内根据写指令携带的写数据对第二同步表之外的存储区域进行对应的写操作,使得从数据库针对实时性要求高的业务操作,可以和主数据库实时同步进行对应的写操作,针对实时性没有要求的业务操作,可以和主数据库异时同步进行对应的写操作,从而满足了实时性要求高的业务操作需求和实时性没有要求的业务操作需求,提高了用户体验,并且操作简单,易行,进而提高了数据库同步的效率,还节省了数据库资源。
如图5所示,图5是本公开根据一示例性实施例示出的另一种数据库同步方法流程图,该方法可以应用于从数据库上,并建立图4所示方法的基础上,还可以包括以下步骤:
在步骤510中,接收前端设备的查询指令。
本公开实施例中,查询指令可以是前端设备直接发送至从数据库的,也可以是主数据库转发的前端设备的查询指令。并且,从数据库负责数据查询,并向前端设备返回查询结果。
在步骤520中,根据查询指令执行对应的查询操作,得到查询结果。
本公开实施例中,若该查询指令是查找第二同步表中的数据,由于第二同步表中的数据和主数据库中的数据保持实时同步,故此得到的查询结果正确率较高。
若该查询指令是查找除了第二同步表之外的存储区域中的数据,由于第二同步表之外的存储区域中的数据和主数据库中第一同步表之外的存储区域的数据为异时同步,即可能有一定的时间延迟才能同步,故此得到的查询结果正确率较低。
在步骤530中,将查询结果发送至前端设备,以使前端设备显示查询结果。
由上述实施例可见,从数据库可以负责数据查询,通过接收前端设备的查询指令,根据查询指令执行对应的查询操作,得到查询结果,将查询结果发送至前端设备,以使前端设备显示查询结果,从而减轻了主数据库的任务量,提高了数据库同步的效率。
如图6所示,图6是本公开根据一示例性实施例示出的一种数据库同步方法的应用场景图。该应用场景包括前端设备、主数据库和从数据库。其中,从数据库可以为一个,也可以为多个。
前端设备会接收用户的写操作,比如:插入数据、修改数据或删除数据等。
前端设备根据用户的需求向主数据库发送写指令,该写指令携带有写数据和数据类型标识。
主数据库接收到前端设备的写指令后,会根据写指令携带的数据类型标识判断该写指令对应的写操作是否要求实时性比较强,由于主数据库将要求实时性比较强的数据都保存在第一同步表中,故此主数据库会根据数据类型标识判断接收到的写指令是否为针对第一同步表的操作指令。
若是,主数据库根据写指令携带的写数据对第一同步表进行对应的写操作,比如:插入数据、修改数据或删除数据等。另外,还需要将写指令同步发送至从数据库,以使从数据库根据写指令同步进行对应的写操作。
若不是,主数据库根据所述写数据对第一同步表之外的存储区域进行对应的写操作,并在预设的时间内将写指令发送至从数据库,只要保证在一段时间后,从数据库中的数据和主数据库能够保持一致即可。
从数据库接收主数据库同步发送的写指令后,也要根据写指令携带的数据类型标识判断该写指令对应的写操作是否要求实时性比较强,由于从数据库将要求实时性比较强的数据都保存在第二同步表中,故此从数据库会根据数据类型标识判断接收到的写指令是否为针对第二同步表的操作指令。
若是,从数据库根据所述写数据对第二同步表进行对应的写操作,比如:插入数据、修改数据或删除数据等。
若不是,从数据库在预设的时间内根据写指令携带的写数据对第二同步表之外的存储区域进行对应的写操作,只要保证在一段时间后,从数据库中的数据和主数据库能够保持一致即可。
另外,从数据库还负责数据库查询任务,即从数据库接收前端设备的查询指令;根据所述查询指令执行对应的查询操作,得到查询结果;将所述查询结果发送至所述前端设备,以使所述前端设备显示所述查询结果。
与前述数据库同步方法实施例相对应,本公开还提供了数据库同步装置的实施例。
如图7所示,图7是本公开根据一示例性实施例示出的一种数据库同步装置的框图,所述装置应用于主数据库上,所述主数据库包括第一同步表,该装置可以用于执行图1所示的数据库同步方法,所述装置包括:第一接收模块71、判断模块72和第一同步模块73。
其中,第一接收模块71被配置为接收前端设备的写指令,所述写指令携带有写数据和数据类型标识。所述写指令可以包括插入指令、修改指令、删除指令中的至少一种。
判断模块72被配置为根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令。
第一同步模块73被配置为当所述判断模块72的判断结果为所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
由上述实施例可见,通过接收前端设备的写指令,并根据写指令携带的数据类型标识判断该写指令是否为针对第一同步表的操作指令,当写指令是针对第一同步表的操作指令时,根据写指令携带的写数据对第一同步表进行对应的写操作,并将该写指令同步发送至从数据库,从而实现了对于实时性要求高的写指令,主数据库和从数据库可以实时同步进行对应的写操作,满足了实时性要求高的业务操作需求,提高了用户体验,并且操作简单,易行,进而提高了数据库同步的效率。
如图8示,图8本公开根据一示例性实施例示出的另一种数据库同步装置的框图,该实施例在前述图7所示实施例的基础上,所述装置还可以包括:第二接收模块81和第一发送模块82。
其中,第二接收模块81被配置为接收所述从数据库发送的同步完成信息;
第一发送模块82被配置为将所述同步完成信息发送至所述前端设备,以使所述前端设备根据所述同步完成信息向用户进行操作成功提示。
如图9示,图9本公开根据一示例性实施例示出的另一种数据库同步装置的框图,该实施例在前述图7所示实施例的基础上,所述装置还可以包括:第二同步模块91和第二发送模块92。
其中,第二同步模块91被配置为当当所述判断模块72的判断结果为所述写指令不是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表之外的存储区域进行对应的写操作。
第二发送模块92被配置为在预设的时间内将所述写指令发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
由上述实施例可见,当接收到的写指令不是针对第一同步表时,根据写数据对第一同步表之外的存储区域进行对应的写操作,并在预设的时间内将写指令发送至从数据库,以使从数据库根据接收到的写指令同步进行对应的写操作,使得主数据库和从数据库在一段时间后,二者普通存储区域中的数据也能保持一致,从而满足了实时性没有要求的业务操作需求,通过主数据库和从数据库异时同步,节省了数据库资源。
如图10示,图10本公开根据一示例性实施例示出的一种数据库同步装置的框图,所述装置应用于从数据库上,所述从数据库包括第二同步表,该装置用于执行图4所示的数据库同步方法,所述装置包括:第一接收模块101、判断模块102和第一同步模块103。
其中,第一接收模块101被配置为接收所述主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
判断模块102被配置为根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
第一同步模块103被配置为当所述判断模块102的判断结果为所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
如图11示,图11本公开根据一示例性实施例示出的另一种数据库同步装置的框图,该实施例在前述图10所示实施例的基础上,所述装置还可以包括:第一发送模块111。
其中,第一发送模块111被配置为根据第一接收模块101接收到的写数据对所述第二同步表进行对应的写操作之后,当完成所述写操作后,向所述主数据库发送同步完成信息。
如图12示,图12本公开根据一示例性实施例示出的另一种数据库同步装置的框图,该实施例在前述图10所示实施例的基础上,所述装置还可以包括:第二同步模块121。
其中,第二同步模块121被配置为当所述判断模块102的判断结果为所述写指令不是针对所述第二同步表的操作指令时,在预设的时间内根据所述写数据对所述第二同步表之外的存储区域进行对应的写操作。
如图13示,图13本公开根据一示例性实施例示出的另一种数据库同步装置的框图,该实施例在前述图10所示实施例的基础上,所述装置还可以包括:第二接收模块131、查询模块132和第二发送模块133。
其中,第二接收模块131被配置为接收前端设备的查询指令。
查询模块132被配置为根据所述查询指令执行对应的查询操作,得到查询结果。
第二发送模块133被配置为将所述查询结果发送至所述前端设备,以使所述前端设备显示所述查询结果。
与图7相应的,本公开还提供另一种数据库同步装置,所述装置应用于主数据库上,所述主数据库包括第一同步表,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;
当所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
与图10相应的,本公开还提供另一种数据库同步装置,所述装置应用于从数据库上,所述从数据库包括第二同步表,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收所述主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
当所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图14所示,图14是根据一示例性实施例示出的一种用于数据库同步装置1900的一结构示意图(主数据库侧),例如,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理部件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
如图15所示,图15是根据一示例性实施例示出的一种用于数据库同步装置2000的一结构示意图(从数据库侧),例如,装置2000包括处理组件2022,其进一步包括一个或多个处理器,以及由存储器2032所代表的存储器资源,用于存储可由处理部件2022的执行的指令,例如应用程序。存储器2032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件2022被配置为执行指令。
装置2000还可以包括一个电源组件2026被配置为执行装置2000的电源管理,一个有线或无线网络接口2050被配置为将装置2000连接到网络,和一个输入输出(I/O)接口2058。装置2000可以操作基于存储在存储器2032的操作系统,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种数据库同步方法,其特征在于,主数据库包括第一同步表,包括:
接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;
当所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
2.根据权利要求1所述的方法,其特征在于,所述写指令包括插入指令、修改指令、删除指令中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述将所述写指令同步发送至从数据库之后,还包括:
接收所述从数据库发送的同步完成信息;
将所述同步完成信息发送至所述前端设备,以使所述前端设备根据所述同步完成信息向用户进行操作成功提示。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令之后,还包括:
当所述写指令不是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表之外的存储区域进行对应的写操作;
在预设的时间内将所述写指令发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
5.一种数据库同步方法,其特征在于,从数据库包括第二同步表,包括:
接收主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
当所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述写数据对所述第二同步表进行对应的写操作之后,当完成所述写操作后,向所述主数据库发送同步完成信息。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令之后,当所述写指令不是针对所述第二同步表的操作指令时,在预设的时间内根据所述写数据对所述第二同步表之外的存储区域进行对应的写操作。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收前端设备的查询指令;
根据所述查询指令执行对应的查询操作,得到查询结果;
将所述查询结果发送至所述前端设备,以使所述前端设备显示所述查询结果。
9.一种数据库同步装置,其特征在于,主数据库包括第一同步表,包括:
第一接收模块,用于接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
判断模块,用于根据所述数据类型标识判断所述写指令是否为针对所述第一同步表的操作指令;
第一同步模块,用于当所述判断模块的判断结果为所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
10.根据权利要求9所述的装置,其特征在于,所述写指令包括插入指令、修改指令、删除指令中的至少一种。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述从数据库发送的同步完成信息;
第一发送模块,用于将所述同步完成信息发送至所述前端设备,以使所述前端设备根据所述同步完成信息向用户进行操作成功提示。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二同步模块,用于当当所述判断模块的判断结果为所述写指令不是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表之外的存储区域进行对应的写操作;
第二发送模块,用于在预设的时间内将所述写指令发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
13.一种数据库同步装置,其特征在于,从数据库包括第二同步表,包括:
第一接收模块,用于接收主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
判断模块,用于根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
第一同步模块,用于当所述判断模块的判断结果为所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第一发送模块,用于根据所述写数据对所述第二同步表进行对应的写操作之后,当完成所述写操作后,向所述主数据库发送同步完成信息。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二同步模块,用于当所述判断模块的判断结果为所述写指令不是针对所述第二同步表的操作指令时,在预设的时间内根据所述写数据对所述第二同步表之外的存储区域进行对应的写操作。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收前端设备的查询指令;
查询模块,用于根据所述查询指令执行对应的查询操作,得到查询结果;
第二发送模块,用于将所述查询结果发送至所述前端设备,以使所述前端设备显示所述查询结果。
17.一种数据库同步装置,其特征在于,主数据库包括第一同步表,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收前端设备的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对主数据库的第一同步表的操作指令;
当所述写指令是针对所述第一同步表的操作指令时,根据所述写数据对所述第一同步表进行对应的写操作,并将所述写指令同步发送至从数据库,以使所述从数据库根据所述写指令同步进行对应的写操作。
18.一种数据库同步装置,其特征在于,从数据库包括第二同步表,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收主数据库同步发送的写指令,所述写指令携带有写数据和数据类型标识;
根据所述数据类型标识判断所述写指令是否为针对所述第二同步表的操作指令;
当所述写指令是针对所述第二同步表的操作指令时,根据所述写数据对所述第二同步表进行对应的写操作。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510450952.8A CN105069059A (zh) | 2015-07-28 | 2015-07-28 | 数据库同步方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510450952.8A CN105069059A (zh) | 2015-07-28 | 2015-07-28 | 数据库同步方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN105069059A true CN105069059A (zh) | 2015-11-18 |
Family
ID=54498429
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510450952.8A Pending CN105069059A (zh) | 2015-07-28 | 2015-07-28 | 数据库同步方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN105069059A (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
| CN111241198A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
| CN111309740A (zh) * | 2020-01-16 | 2020-06-19 | 中国建设银行股份有限公司 | 一种数据处理的方法、装置、设备及存储介质 |
| CN111723075A (zh) * | 2020-06-11 | 2020-09-29 | 合肥阳光新能源科技有限公司 | 实时数据库的构建、检索以及数据保存方法、系统及介质 |
| CN112583683A (zh) * | 2020-12-29 | 2021-03-30 | 中国科学院声学研究所 | 一种主从式can fd总线应用层通信方法及系统、电子设备 |
| CN113761051A (zh) * | 2020-07-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 消息推送方法、数据获取方法、装置、系统、设备和介质 |
| CN117271658A (zh) * | 2023-09-13 | 2023-12-22 | 北京百度网讯科技有限公司 | 数据同步方法、装置、设备、介质及自动驾驶车辆 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101038591A (zh) * | 2007-04-11 | 2007-09-19 | 华为技术有限公司 | 数据库同步方法及系统 |
| CN103500229A (zh) * | 2013-10-24 | 2014-01-08 | 北京奇虎科技有限公司 | 一种数据库同步方法和数据库系统 |
| CN103577443A (zh) * | 2012-07-30 | 2014-02-12 | 中国银联股份有限公司 | 一种日志处理系统 |
| CN103744952A (zh) * | 2014-01-02 | 2014-04-23 | 北京集奥聚合网络技术有限公司 | NoSQL数据库多表特性的实现方法及系统 |
| CN104572689A (zh) * | 2013-10-17 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置及系统 |
-
2015
- 2015-07-28 CN CN201510450952.8A patent/CN105069059A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101038591A (zh) * | 2007-04-11 | 2007-09-19 | 华为技术有限公司 | 数据库同步方法及系统 |
| CN103577443A (zh) * | 2012-07-30 | 2014-02-12 | 中国银联股份有限公司 | 一种日志处理系统 |
| CN104572689A (zh) * | 2013-10-17 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置及系统 |
| CN103500229A (zh) * | 2013-10-24 | 2014-01-08 | 北京奇虎科技有限公司 | 一种数据库同步方法和数据库系统 |
| CN103744952A (zh) * | 2014-01-02 | 2014-04-23 | 北京集奥聚合网络技术有限公司 | NoSQL数据库多表特性的实现方法及系统 |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106372994A (zh) * | 2016-08-31 | 2017-02-01 | 北京炎黄新星网络科技有限公司 | 一种处理订单的方法和系统 |
| CN111241198A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
| CN111241198B (zh) * | 2020-01-02 | 2024-02-27 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
| CN111309740A (zh) * | 2020-01-16 | 2020-06-19 | 中国建设银行股份有限公司 | 一种数据处理的方法、装置、设备及存储介质 |
| CN111723075A (zh) * | 2020-06-11 | 2020-09-29 | 合肥阳光新能源科技有限公司 | 实时数据库的构建、检索以及数据保存方法、系统及介质 |
| CN111723075B (zh) * | 2020-06-11 | 2023-05-30 | 阳光新能源开发股份有限公司 | 实时数据库的构建、检索以及数据保存方法、系统及介质 |
| CN113761051A (zh) * | 2020-07-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 消息推送方法、数据获取方法、装置、系统、设备和介质 |
| CN113761051B (zh) * | 2020-07-01 | 2025-02-21 | 北京沃东天骏信息技术有限公司 | 消息推送方法、数据获取方法、装置、系统、设备和介质 |
| CN112583683A (zh) * | 2020-12-29 | 2021-03-30 | 中国科学院声学研究所 | 一种主从式can fd总线应用层通信方法及系统、电子设备 |
| CN117271658A (zh) * | 2023-09-13 | 2023-12-22 | 北京百度网讯科技有限公司 | 数据同步方法、装置、设备、介质及自动驾驶车辆 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105069059A (zh) | 数据库同步方法及装置 | |
| CN111666326B (zh) | Etl调度方法及装置 | |
| CN102637214B (zh) | 基于数据库服务间的通用数据同步方法及其系统 | |
| JP4453983B2 (ja) | データベースへのクエリ送信方法およびクエリ送信システム | |
| CN111078672B (zh) | 数据库的数据对比方法及装置 | |
| CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
| CN104778057A (zh) | 终端系统升级方法、装置及服务器 | |
| CN100501744C (zh) | 一种文档同步方法及系统 | |
| CN102279749A (zh) | 一种代码归并方法和设备 | |
| CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
| CN104301233A (zh) | 路由访问方法、路由访问系统及用户终端 | |
| CN103200247B (zh) | 一种数据下载方法和pc下载客户端 | |
| CN113722228B (zh) | 软件系统测试方法及装置 | |
| CN106326499A (zh) | 一种数据处理方法及装置 | |
| CN114185991A (zh) | 基于分布式数据库实现数据同步的方法及相关装置 | |
| CN105187560A (zh) | 一种基于云服务器的数据推送方法和装置 | |
| CN104301990A (zh) | 一种数据同步的方法及装置 | |
| CN109191078A (zh) | 一种流程业务建模方法、装置及设备 | |
| CN102654878B (zh) | 嵌入式系统中分布式数据库的数据操作方法及板卡 | |
| CN104461929B (zh) | 基于拦截器的分布式数据缓存方法 | |
| CN101645935B (zh) | 基于QoS指标和Web服务输出参数的Web服务组合方法和装置 | |
| CN106327143B (zh) | 用于流程中的节点的方法和装置 | |
| CN109783463A (zh) | 文件同步方法、装置及计算机可读存储介质 | |
| CN105138562A (zh) | 关系型数据库的数据处理方法及装置 | |
| US20140375686A1 (en) | Apparatus, method, and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151118 |