【技术实现步骤摘要】
一种服务器数据同步方法、系统及存储介质
[0001]本专利技术涉及服务器领域,特别涉及一种服务器数据同步方法、系统及存储介质。
技术介绍
[0002]Elasticsearch为一个分布式搜索和数据分析引擎,其通常会采用MongoDB作为存储数据的后端数据库。然而Elasticsearch的性能受MongoDB数据库的数据同步速度影响,若MongoDB数据库不能及时将数据同步至Elasticsearch服务器,将会制约Elasticsearch服务器的搜索及数据分析能力,因此MongoDB数据库及Elasticsearch服务器之间数据同步是本领域的重要问题。
[0003]相关技术中,MongoDB数据库及Elasticsearch服务器之间的数据同步通过单个同步设备进行,而该同步设备通过监听MongoDB数据库中的集合的数据变更情况来进行数据同步。当MongoDB数据库中存有大量数据,或集合中的数据变更情况较多时,上述方式难以高效进行数据同步,无法保证数据吞吐量。
技术实现思路
[0004]本专利技 ...
【技术保护点】
【技术特征摘要】
1.一种服务器数据同步方法,其特征在于,包括:同步节点获取预设的同步列表,并确定所述同步列表中包含的MongoDB数据库中的集合;其中,多个所述同步节点与MongoDB数据库和Elasticsearch服务器建立数据连接,每一所述同步节点对应不同的同步列表;所述同步节点对所述集合中发生的数据变更操作进行监听,并在检测到所述数据变更操作发生时,将变更的数据更新至所述Elasticsearch服务器。2.根据权利要求1所述的服务器数据同步方法,其特征在于,当所述同步节点包含流处理模块、哈希分配模块及本地分片模块时,所述同步节点对所述集合中发生的数据变更操作进行监听,并在检测到所述数据变更操作发生时,将变更的数据更新至所述Elasticsearch服务器,包括:所述流处理模块对所述数据变更操作进行监听,并在确定所述数据变更操作发生时,将所述变更的数据发送至所述哈希分配模块;所述哈希分配模块根据接收到的数据条数及所述本地分片模块的分片数量,计算每一所述本地分片模块所处理数据的处理条数,并根据所述处理条数向所述本地分片模块分配所述数据;所述本地分片模块确定接收到的数据的字段信息,并确定所述字段信息与Elasticsearch服务器字段信息的映射关系,最后调用所述Elasticsearch服务器的数据更新接口,依照所述映射关系将所述数据更新至所述Elasticsearch服务器。3.根据权利要求2所述的服务器数据同步方法,其特征在于,在依照所述映射关系将所述数据更新至所述Elasticsearch服务器之后,还包括:所述本地分片模块通过所述数据更新接口获取更新进度,并将所述更新进度保存于进度存储区域。4.根据权利要求1至3任一项所述的服务器数据同步方法,其特征在于,在同步节点获取预设的同步列表之前,还包括:主节点获取所述MongoDB数据库中所有集合的集合数量及所述同步节点的节点数量,并利用所述集合数量及所述节点数量计算每一所述同步节点的集合监听量;所述主节点根据所述集合监听量将所述同步节点所需监听的集合写入同步列表,并将所述同步列表下发至对应的同步节点。5.根据权利要求4所述的服务器数据同步方法,其特征在于,在将所述同步列表下发至对应的同步节点之后,还包括:所述主节点在检测到扩容事件发生时,为新增的同步节点创建所述同步列表,并利用所述集合数量及更新后的节点数量对所述集合监听量进行更新;所述主节点根据所述更新后的集合监听量对对应的同步列表进行更新,以使更新后的同步列表包含的集合数量小于等于所述更新后的集合监听量,并将所述更新后的同步列表下发至对应的同步节点。6.根据权利要求4所述的服务器数据同步方法,其特征在于,在将所述同步列表下发至对应的同步节点之后,还包括:所述主节点在检测到缩容事件发生时,将待移除的同步节点对应的同步列表设置为待移除列表,并将所述待移除列表中的集合更新至其他所述同步列表;
所述主节点将所述待移除的同步节点及所述待移除列表移除,并将更新后的同步列表下发至对应的同步节点。7.根据权利要求4所述的服务...
【专利技术属性】
技术研发人员:祁溢,
申请(专利权)人:上海微盟企业发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。