CN115455113A - NoSQL数据库的同步方法、装置、设备及存储介质 - Google Patents
NoSQL数据库的同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115455113A CN115455113A CN202210938611.5A CN202210938611A CN115455113A CN 115455113 A CN115455113 A CN 115455113A CN 202210938611 A CN202210938611 A CN 202210938611A CN 115455113 A CN115455113 A CN 115455113A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- mongodb
- synchronous
- link address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000001360 synchronised effect Effects 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 6
- 230000010076 replication Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库同步领域,公开了一种NoSQL数据库的同步方法、装置、设备及存储介质。该方法包括:MongoDB数据系统接收存储数据,在MongoDB数据系统的主节点存储存储数据;基于主节点接收数据同步指令,分析数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;调用预置Oplog组件,复制MongoDB数据名称、链接地址、同步操作字段、同步数据类型,利用Oplog组件发送同步请求至Elasticsearch集群系统;Elasticsearch集群系统接收同步请求,获取Oplog组件中的MongoDB数据名称、链接地址、同步字段、同步数据类型;访问链接地址对应主节点,查询MongoDB数据名称对应的目标存储数据,根据同步操作字段和同步数据类型,对目标存储数据进行同步处理。
Description
技术领域
本发明涉及数据库同步领域,尤其涉及一种NoSQL数据库的同步方法、装置、设备及存储介质。
背景技术
MongoDB和Elasticsearch都是NoSQL数据库类型,但是MongoDB和Elasticsearch在数据库属性上差别,这种差别是数据库的架构导致的。例如,MongoDB数据库适合进行数据增删查改的存储场景,Elasticsearch集群适合全文索引和查询分析的场景。
现有技术中,MongoDB和Elasticsearch数据库之间的同步,定时查询MongoDB数据库,根据数据的更新字段为标识,由更新时间最晚往更新时间最新进行查询,每过一段时间查询一次,并把查询到的最新更新数据写入到elasticsearch,以此方式,往复操作。现有技术有以下不足:
1、时效性受限于定时的周期时长,数据行被真实删除的时候无法同步,需要单独处理。
2、受限于数据表必须有更新时间字段并且数据表更新的时候,必须同步更新这个更新时间字段。
因此,对MongoDB和Elasticsearch数据库之间的同步现有技术的同步周期过长,更新需要时间字段导致更新繁琐的技术问题,需要一种新的技术。
发明内容
本发明的主要目的在于解决同步周期过长,更新需要时间字段导致更新繁琐的技术问题。
本发明第一方面提供了一种NoSQL数据库的同步方法所述NoSQL数据库的同步方法应用于NoSQL数据库的同步系统,所述NoSQL数据库的同步系统包括:MongoDB数据系统、Elasticsearch集群系统,所述NoSQL数据库的同步方法包括:
所述MongoDB数据系统接收存储数据,在所述MongoDB数据系统的主节点存储所述存储数据;
基于所述主节点接收数据同步指令,分析所述数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
调用预置Oplog组件,复制所述MongoDB数据名称、所述链接地址、所述同步操作字段、所述同步数据类型,利用所述Oplog组件发送同步请求至所述Elasticsearch集群系统,其中,所述Oplog组件为MongoDB数据系统中的集成组件;
所述Elasticsearch集群系统接收同步请求,获取所述Oplog组件中的所述MongoDB数据名称、所述链接地址、所述同步字段、所述同步数据类型;
访问所述链接地址对应所述主节点,查询所述MongoDB数据名称对应的目标存储数据,根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理,以便实现所述Elasticsearch集群系统与MongoDB数据系统的数据同步。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理包括:
若同步操作字段为删除操作字段,则根据所述同步数据类型对应的删除指令,对所述Elasticsearch集群系统的目标存储数据、所述主节点的目标存储数据进行删除处理;
若同步操作字段为复制操作字段,则根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据复制进入所述Elasticsearch集群系统中。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据进入所述Elasticsearch集群系统中包括:
根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据复制,黏贴至所述Elasticsearch集群系统中所述同步数据类型对应的分布节点。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理包括:
若所述同步操作字段不为预置操作字段,则终止同步进程,将报错信息发送至所述MongoDB数据系统中。
可选的,在本发明第一方面的第四种实现方式中,在所述根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理之后,还包括:
所述Elasticsearch集群系统更新内部索引数据,以便快速查询目标存储数据。
可选的,在本发明第一方面的第五种实现方式中,所述访问所述链接地址对应所述主节点包括:
判断所述链接地址是否属于所述主节点;
若属于,则根据所述链接地址,建立与所述主节点的通信连接;
若不属于,则将报错信息发送至所述MongoDB数据系统中。
可选的,在本发明第一方面的第六种实现方式中,所述查询所述MongoDB数据名称对应的目标存储数据包括:
根据所述MongoDB数据名称,检索所述主节点的数据,得到所述MongoDB数据名称匹配的存储数据;
将所述所述MongoDB数据名称匹配的存储数据确认为目标存储数据。
本发明第二方面提供了一种NoSQL数据库的同步装置,所述NoSQL数据库的同步系统包括:
MongoDB数据系统、Elasticsearch集群系统;
所述MongoDB数据系统,用于接收存储数据,在所述MongoDB数据系统的主节点存储所述存储数据;
基于所述主节点接收数据同步指令,分析所述数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
调用预置Oplog组件,复制所述MongoDB数据名称、所述链接地址、所述同步操作字段、所述同步数据类型,利用所述Oplog组件发送同步请求至所述Elasticsearch集群系统,其中,所述Oplog组件为MongoDB数据系统中的集成组件;
所述Elasticsearch集群系统,用于接收同步请求,获取所述Oplog组件中的所述MongoDB数据名称、所述链接地址、所述同步字段、所述同步数据类型;
访问所述链接地址对应所述主节点,查询所述MongoDB数据名称对应的目标存储数据,根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理,以便实现所述Elasticsearch集群系统与MongoDB数据系统的数据同步。
本发明第三方面提供了一种NoSQL数据库的同步设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述NoSQL数据库的同步设备执行上述的NoSQL数据库的同步方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的NoSQL数据库的同步方法。
在本发明实施例中,通过执行数据处理过程中利用MongoDB数据系统中的Oplog组件的与Elasticsearch集群系统进行相互传输,Elasticsearch集群系统独立于MongoDB数据系统业务运行之外,独立自动化的进行同步到Elasticsearch集群系统,实现做到独立运行和高实时同步,解决了同步周期过长,更新需要时间字段导致更新繁琐的技术问题。
附图说明
图1为本发明实施例中NoSQL数据库的同步方法的一个实施例示意图;
图2为本发明实施例中NoSQL数据库的同步装置的一个实施例示意图;
图3为本发明实施例中NoSQL数据库的同步装置的另一个实施例示意图;
图4为本发明实施例中NoSQL数据库的同步设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种NoSQL数据库的同步方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中NoSQL数据库的同步方法的一个实施例,所述NoSQL数据库的同步方法应用于NoSQL数据库的同步系统,所述NoSQL数据库的同步系统包括:MongoDB数据系统、Elasticsearch集群系统,所述NoSQL数据库的同步方法包括:
101、MongoDB数据系统接收存储数据,在MongoDB数据系统的主节点存储存储数据;
在本实施例中,MongoDB数据系统的主节点接收请求操作,该节点用来存储数据信息。
102、基于主节点接收数据同步指令,分析数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
在本实施例中,MongoDB数据系统的主节点,接收配置指令,分析同步指令的具体信息,具体信息详细为MongoDB数据名称、链接地址、同步操作字段、同步数据类型。具体详细的处理方式可以如下伪代码表示:
103、调用预置Oplog组件,复制MongoDB数据名称、链接地址、同步操作字段、同步数据类型,利用Oplog组件发送同步请求至Elasticsearch集群系统,其中,Oplog组件为MongoDB数据系统中的集成组件;
在本实施例中,Oplog是用于存储MongoDB数据库所有数据的增删改操作记录的内部集成组件,Oplog的存在极大地方便了MongoDB副本集的各节点的数据同步,MongoDB的主节点接收请求操作,然后在Oplog中记录操作,异步地复制并应用这些操作。编写同步配置,其中包含但不限于,mongodb数据表名称,链接地址,需要同步的字段以及类型,目标elasticsearch数据索引,其目的是需要两个数据库的连接地址以及秘钥信息和需要同步的字段信息。
104、Elasticsearch集群系统接收同步请求,获取Oplog组件中的MongoDB数据名称、链接地址、同步字段、同步数据类型;
在本实施例中,Elasticsearch集群接收同步请求,建立与Oplog组件的通信连接,获取述Oplog组件中已经存在的MongoDB数据名称、链接地址、同步字段、同步数据类型。
105、访问链接地址对应主节点,查询MongoDB数据名称对应的目标存储数据,根据同步操作字段和同步数据类型,对目标存储数据进行同步处理,以便实现Elasticsearch集群系统与MongoDB数据系统的数据同步。
在本实施例中,基于连接地址访问到对应MongoDB数据系统的主节点,然后查询MongoDB数据名称对应的目标存储数据,基于同步操作字段和同步数据类型,操作目标存储数据,同步操作字段可以是删除、复制、修改等操作过程,由于数据类型存在不同类型,每种不同类型的数据也是进行不同执行过程。
进一步的,“根据同步操作字段和同步数据类型,对目标存储数据进行同步处理”可以执行以下步骤:
1051、若同步操作字段为删除操作字段,则根据同步数据类型对应的删除指令,对Elasticsearch集群系统的目标存储数据、主节点的目标存储数据进行删除处理;
1052、若同步操作字段为复制操作字段,则根据同步数据类型对应的复制指令,将主节点的目标存储数据复制进入Elasticsearch集群系统中。
在1051-1052步骤中,同步操作字段是采用匹配方式也即是IF类型,如果是删除操作字段“delete”,那就删除Elasticsearch集群系统、主节点中的目标存储数据,同步进行删除,而是复制操作字段“copy”,则从主节点复制目标存储数据进入Elasticsearch集群系统中。
具体可以采用以下伪代码执行:
进一步的,在1052可以执行以下步骤:
10521、根据同步数据类型对应的复制指令,将主节点的目标存储数据复制,黏贴至Elasticsearch集群系统中同步数据类型对应的分布节点。
在本实施例中,同步数据类型是整数类型(byte、short、int、long)、浮点数类型(float、double)、字符类型(char)、布尔类型(boolean)、文件扩展名后缀,不同的数据类型在Elasticsearch集群系统设置于不同的节点,分类黏贴至Elasticsearch集群系统中。
具体的,“根据同步操作字段和同步数据类型,对目标存储数据进行同步处理”还可以执行以下步骤:
1053、若同步操作字段不为预置操作字段,则终止同步进程,将报错信息发送至MongoDB数据系统中。
在本实施例中,同步操作字段不为预设的操作字段,直接返回无法执行的错误信息数据进入MongoDB数据系统中,并终止同步进程。
具体的,“访问链接地址对应主节点”执行以下步骤:
1054、判断链接地址是否属于主节点;
1055、若属于,则根据链接地址,建立与主节点的通信连接;
1056、若不属于,则将报错信息发送至MongoDB数据系统中。
在1054-1056步骤中,分析链接地址是否为主节点,发送两个探测字节字符,接收到回复数据后,建立与主节点的通信连接,而没有接收到回复数据后,则将报错信息发送至MongoDB数据系统中。
具体的,“查询MongoDB数据名称对应的目标存储数据”执行以下步骤:
1057、根据MongoDB数据名称,检索主节点的数据,得到MongoDB数据名称匹配的存储数据;
1058、将MongoDB数据名称匹配的存储数据确认为目标存储数据。
在1057-1058步骤中,基于MongoDB数据名称查询在主节点中数据进行表头匹配,获得匹配对应的存储数据,将匹配的存储数据确定为目标存储数据。
具体可以采用以下伪代码执行:
##以下变量可以来自数据配置
const targetTable="Book";
const targetIndex="book";
const oplogStartTime=1679999999999;##读取开始时间点,从哪个点开始同步
进一步的,在105之后,还可以执行以下步骤:
106、Elasticsearch集群系统更新内部索引数据,以便快速查询目标存储数据。
在本实施例中,在更新完成后的Elasticsearch集群系统,对Elasticsearch集群系统内部索引进行更新出处理,以便快速查询目标存储数据。
具体可以采用以下伪代码执行:
##更新索引
async function putIndex(index,targetTable,id){
const data=mongodb.model(targetTable).findById(id);
await es.index.put(index,id);
在本发明实施例中,通过执行数据处理过程中利用MongoDB数据系统中的Oplog组件的与Elasticsearch集群系统进行相互传输,Elasticsearch集群系统独立于MongoDB数据系统业务运行之外,独立自动化的进行同步到Elasticsearch集群系统,实现做到独立运行和高实时同步,解决了同步周期过长,更新需要时间字段导致更新繁琐的技术问题。
上面对本发明实施例中NoSQL数据库的同步方法进行了描述,下面对本发明实施例中NoSQL数据库的同步装置进行描述,请参阅图2,本发明实施例中NoSQL数据库的同步装置一个实施例所述NoSQL数据库的同步系统包括:
MongoDB数据系统201、Elasticsearch集群系统202;
所述MongoDB数据系统201,用于接收存储数据,在所述MongoDB数据系统的主节点存储所述存储数据;
基于所述主节点接收数据同步指令,分析所述数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
调用预置Oplog组件,复制所述MongoDB数据名称、所述链接地址、所述同步操作字段、所述同步数据类型,利用所述Oplog组件发送同步请求至所述Elasticsearch集群系统,其中,所述Oplog组件为MongoDB数据系统中的集成组件;
所述Elasticsearch集群系统202,用于接收同步请求,获取所述Oplog组件中的所述MongoDB数据名称、所述链接地址、所述同步字段、所述同步数据类型;
访问所述链接地址对应所述主节点,查询所述MongoDB数据名称对应的目标存储数据,根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理,以便实现所述Elasticsearch集群系统与MongoDB数据系统的数据同步。
在本发明实施例中,通过执行数据处理过程中利用MongoDB数据系统中的Oplog组件的与Elasticsearch集群系统进行相互传输,Elasticsearch集群系统独立于MongoDB数据系统业务运行之外,独立自动化的进行同步到Elasticsearch集群系统,实现做到独立运行和高实时同步,解决了同步周期过长,更新需要时间字段导致更新繁琐的技术问题。
请参阅图3,本发明实施例中NoSQL数据库的同步装置的另一个实施例包括:
MongoDB数据系统201、Elasticsearch集群系统202;
所述MongoDB数据系统201,用于接收存储数据,在所述MongoDB数据系统的主节点存储所述存储数据;
基于所述主节点接收数据同步指令,分析所述数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
调用预置Oplog组件,复制所述MongoDB数据名称、所述链接地址、所述同步操作字段、所述同步数据类型,利用所述Oplog组件发送同步请求至所述Elasticsearch集群系统,其中,所述Oplog组件为MongoDB数据系统中的集成组件;
所述Elasticsearch集群系统202,用于接收同步请求,获取所述Oplog组件中的所述MongoDB数据名称、所述链接地址、所述同步字段、所述同步数据类型;
访问所述链接地址对应所述主节点,查询所述MongoDB数据名称对应的目标存储数据,根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理,以便实现所述Elasticsearch集群系统与MongoDB数据系统的数据同步。
其中,所述Elasticsearch集群系统202具体用于:
若同步操作字段为删除操作字段,则根据所述同步数据类型对应的删除指令,对所述Elasticsearch集群系统的目标存储数据、所述主节点的目标存储数据进行删除处理;
若同步操作字段为复制操作字段,则根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据复制进入所述Elasticsearch集群系统中。
其中,所述Elasticsearch集群系统202具体用于:
根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据复制,黏贴至所述Elasticsearch集群系统中所述同步数据类型对应的分布节点。
其中,所述Elasticsearch集群系统202具体用于:
若所述同步操作字段不为预置操作字段,则终止同步进程,将报错信息发送至所述MongoDB数据系统中。
其中,所述NoSQL数据库的同步装置还包括索引更新模块203,索引更新模块203具体用于:
所述Elasticsearch集群系统更新内部索引数据,以便快速查询目标存储数据。
其中,所述Elasticsearch集群系统202具体用于:
判断所述链接地址是否属于所述主节点;
若属于,则根据所述链接地址,建立与所述主节点的通信连接;
若不属于,则将报错信息发送至所述MongoDB数据系统中。
其中,所述Elasticsearch集群系统202具体用于:
根据所述MongoDB数据名称,检索所述主节点的数据,得到所述MongoDB数据名称匹配的存储数据;
将所述所述MongoDB数据名称匹配的存储数据确认为目标存储数据。
在本发明实施例中,通过执行数据处理过程中利用MongoDB数据系统中的Oplog组件的与Elasticsearch集群系统进行相互传输,Elasticsearch集群系统独立于MongoDB数据系统业务运行之外,独立自动化的进行同步到Elasticsearch集群系统,实现做到独立运行和高实时同步,解决了同步周期过长,更新需要时间字段导致更新繁琐的技术问题。
上面图2和图3从模块化功能实体的角度对本发明实施例中的NoSQL数据库的同步装置进行详细描述,下面从硬件处理的角度对本发明实施例中NoSQL数据库的同步设备进行详细描述。
图4是本发明实施例提供的一种NoSQL数据库的同步设备的结构示意图,该NoSQL数据库的同步设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对NoSQL数据库的同步设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在NoSQL数据库的同步设备400上执行存储介质430中的一系列指令操作。
基于NoSQL数据库的同步设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作系统431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的NoSQL数据库的同步设备结构并不构成对基于NoSQL数据库的同步设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述NoSQL数据库的同步方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种NoSQL数据库的同步方法,其特征在于,所述NoSQL数据库的同步方法应用于NoSQL数据库的同步系统,所述NoSQL数据库的同步系统包括:MongoDB数据系统、Elasticsearch集群系统,所述NoSQL数据库的同步方法包括:
所述MongoDB数据系统接收存储数据,在所述MongoDB数据系统的主节点存储所述存储数据;
基于所述主节点接收数据同步指令,分析所述数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
调用预置Oplog组件,复制所述MongoDB数据名称、所述链接地址、所述同步操作字段、所述同步数据类型,利用所述Oplog组件发送同步请求至所述Elasticsearch集群系统,其中,所述Oplog组件为MongoDB数据系统中的集成组件;
所述Elasticsearch集群系统接收同步请求,获取所述Oplog组件中的所述MongoDB数据名称、所述链接地址、所述同步字段、所述同步数据类型;
访问所述链接地址对应所述主节点,查询所述MongoDB数据名称对应的目标存储数据,根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理,以便实现所述Elasticsearch集群系统与MongoDB数据系统的数据同步。
2.根据权利要求1所述的NoSQL数据库的同步方法,其特征在于,所述根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理包括:
若同步操作字段为删除操作字段,则根据所述同步数据类型对应的删除指令,对所述Elasticsearch集群系统的目标存储数据、所述主节点的目标存储数据进行删除处理;
若同步操作字段为复制操作字段,则根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据复制进入所述Elasticsearch集群系统中。
3.根据权利要求2所述的NoSQL数据库的同步方法,其特征在于,所述根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据进入所述Elasticsearch集群系统中包括:
根据所述同步数据类型对应的复制指令,将所述主节点的目标存储数据复制,黏贴至所述Elasticsearch集群系统中所述同步数据类型对应的分布节点。
4.根据权利要求1所述的NoSQL数据库的同步方法,其特征在于,所述根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理包括:
若所述同步操作字段不为预置操作字段,则终止同步进程,将报错信息发送至所述MongoDB数据系统中。
5.根据权利要求1所述的NoSQL数据库的同步方法,其特征在于,在所述根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理之后,还包括:
所述Elasticsearch集群系统更新内部索引数据,以便快速查询目标存储数据。
6.根据权利要求1所述的NoSQL数据库的同步方法,其特征在于,所述访问所述链接地址对应所述主节点包括:
判断所述链接地址是否属于所述主节点;
若属于,则根据所述链接地址,建立与所述主节点的通信连接;
若不属于,则将报错信息发送至所述MongoDB数据系统中。
7.根据权利要求1所述的NoSQL数据库的同步方法,其特征在于,所述查询所述MongoDB数据名称对应的目标存储数据包括:
根据所述MongoDB数据名称,检索所述主节点的数据,得到所述MongoDB数据名称匹配的存储数据;
将所述所述MongoDB数据名称匹配的存储数据确认为目标存储数据。
8.一种NoSQL数据库的同步装置,其特征在于,所述NoSQL数据库的同步系统包括:
MongoDB数据系统、Elasticsearch集群系统;
所述MongoDB数据系统,用于接收存储数据,在所述MongoDB数据系统的主节点存储所述存储数据;
基于所述主节点接收数据同步指令,分析所述数据同步指令中的MongoDB数据名称、链接地址、同步操作字段、同步数据类型;
调用预置Oplog组件,复制所述MongoDB数据名称、所述链接地址、所述同步操作字段、所述同步数据类型,利用所述Oplog组件发送同步请求至所述Elasticsearch集群系统,其中,所述Oplog组件为MongoDB数据系统中的集成组件;
所述Elasticsearch集群系统,用于接收同步请求,获取所述Oplog组件中的所述MongoDB数据名称、所述链接地址、所述同步字段、所述同步数据类型;
访问所述链接地址对应所述主节点,查询所述MongoDB数据名称对应的目标存储数据,根据所述同步操作字段和所述同步数据类型,对所述目标存储数据进行同步处理,以便实现所述Elasticsearch集群系统与MongoDB数据系统的数据同步。
9.一种NoSQL数据库的同步设备,其特征在于,所述NoSQL数据库的同步设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述NoSQL数据库的同步设备执行如权利要求1-7中任一项所述的NoSQL数据库的同步方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的NoSQL数据库的同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938611.5A CN115455113A (zh) | 2022-08-05 | 2022-08-05 | NoSQL数据库的同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938611.5A CN115455113A (zh) | 2022-08-05 | 2022-08-05 | NoSQL数据库的同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455113A true CN115455113A (zh) | 2022-12-09 |
Family
ID=84297514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210938611.5A Pending CN115455113A (zh) | 2022-08-05 | 2022-08-05 | NoSQL数据库的同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455113A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166568A1 (en) * | 2011-12-23 | 2013-06-27 | Nou Data Corporation | Scalable analysis platform for semi-structured data |
CN107329987A (zh) * | 2017-06-02 | 2017-11-07 | 广州启辰电子科技有限公司 | 一种基于mongo数据库的搜索系统 |
CN111367991A (zh) * | 2018-12-25 | 2020-07-03 | 中国科学院信息工程研究所 | 一种基于消息队列的MongoDB数据实时同步方法及系统 |
CN113704267A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 基于ElasticSearch的数据查询方法、系统、设备及存储介质 |
-
2022
- 2022-08-05 CN CN202210938611.5A patent/CN115455113A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166568A1 (en) * | 2011-12-23 | 2013-06-27 | Nou Data Corporation | Scalable analysis platform for semi-structured data |
CN107329987A (zh) * | 2017-06-02 | 2017-11-07 | 广州启辰电子科技有限公司 | 一种基于mongo数据库的搜索系统 |
CN111367991A (zh) * | 2018-12-25 | 2020-07-03 | 中国科学院信息工程研究所 | 一种基于消息队列的MongoDB数据实时同步方法及系统 |
CN113704267A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 基于ElasticSearch的数据查询方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9251163B2 (en) | File sharing system and file sharing method | |
CN103761318B (zh) | 一种关系型异构数据库数据同步的方法及系统 | |
CN107357848B (zh) | 基于驱动封装的数据库同步方法 | |
CN104809201A (zh) | 一种数据库同步的方法和装置 | |
US8380663B2 (en) | Data integrity in a database environment through background synchronization | |
CN104809200A (zh) | 一种数据库同步的方法和装置 | |
CN111143470A (zh) | 跨平台数据库数据同步比对方法及装置 | |
US7958154B2 (en) | Apparatus, system, and method for command manager support for pluggable data formats | |
CN109491988B (zh) | 一种支持全量更新的数据实时关联方法 | |
CN111767346A (zh) | 一种数据库的数据同步方法、装置、设备及存储介质 | |
CN113766027A (zh) | 一种流复制集群节点转发数据的方法及设备 | |
CN112416944A (zh) | 一种同步业务数据的方法和设备 | |
CN111858767A (zh) | 同步数据的处理方法、装置、设备及存储介质 | |
CN111914028A (zh) | 一种基于图增量同步异构数据源数据关系的方法及装置 | |
CN115455113A (zh) | NoSQL数据库的同步方法、装置、设备及存储介质 | |
CN105912427A (zh) | 一种数据容灾同步的方法及装置 | |
CN111966650B (zh) | 一种运维大数据共享数据表的处理方法、装置及存储介质 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN111090648A (zh) | 一种关系型数据库数据同步冲突解决方法 | |
CN116340411B (zh) | 一种数据处理的方法及装置 | |
CN113852698B (zh) | 一种群组协同的区块链数据同步系统 | |
CN110019212B (zh) | 一种数据处理方法、装置及数据库服务器 | |
CN109144995A (zh) | 一种高速公路海量交易数据检索方法 | |
CN114297301A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN116186165A (zh) | 数据复制方法、装置、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Building 1901, 1902, 1903, Qianhai Kexing Science Park, Labor Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong Province Applicant after: Shenzhen Flash Scissor Intelligent Technology Co.,Ltd. Address before: 518000 Unit 9ABCDE, Building 2, Haihong Industrial Plant Phase II, Haihong Industrial Plant, West Side of Xixiang Avenue, Labor Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong Applicant before: Shenzhen big brother Technology Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221209 |