【技术实现步骤摘要】
数据同步方法、装置、服务器及存储介质
本专利技术涉及数据处理
,尤其涉及一种数据同步方法、装置、服务器及存储介质。
技术介绍
目前,随着大数据技术的快速发展,各种应用场景层出不穷,针对不同的应用场景,所需的数据格式也各不相同。为了得到不同格式的数据,往往需要从数据源中获取数据,并将获取到的数据以相应的格式存储于存储引擎中。当数据源中的数据发生变更且需要将变更数据同步于存储引擎时,存储引擎需从数据源中获取变更数据。然而,在存储引擎有多个时,每个存储引擎均需与数据源建立网络连接,增添了数据源与存储引擎之间通信的繁杂性,另外,每个存储引擎均需通过网络连接对数据源中的数据进行分析处理,因此,将变更数据存入存储引擎所花费的时间较长,导致存储效率低下。因此,如何快速将变更数据同步于存储引擎,并减少数据源与存储引擎之间通信的繁杂性,成了有待解决的问题。
技术实现思路
鉴于以上内容,有必要提供一种数据同步方法、装置、服务器及存储介质,不仅能够降低数据源与存储引擎之间通信的繁杂性,还能够减少数据源所在 ...
【技术保护点】
1.一种数据同步方法,应用于服务器中,其特征在于,所述数据同步方法包括:/n监听数据源上的修改操作;/n当所述数据源上有修改操作产生时,从所述数据源对应的重做日志组中读取目标重做日志;/n解析所述目标重做日志,得到所述目标重做日志的类型,并获取所述目标重做日志中的变更数据;/n对所述变更数据进行清洗,得到目标数据,并根据所述类型存储所述目标数据;/n当接收到数据同步请求时,从所述数据同步请求中提取引擎信息;/n根据所述引擎信息确定存储引擎,并与所述存储引擎建立连接,得到网络链接;/n根据所述类型及所述目标数据,生成与所述存储引擎对应的指令;/n通过所述网络链接将所述指令发送 ...
【技术特征摘要】
1.一种数据同步方法,应用于服务器中,其特征在于,所述数据同步方法包括:
监听数据源上的修改操作;
当所述数据源上有修改操作产生时,从所述数据源对应的重做日志组中读取目标重做日志;
解析所述目标重做日志,得到所述目标重做日志的类型,并获取所述目标重做日志中的变更数据;
对所述变更数据进行清洗,得到目标数据,并根据所述类型存储所述目标数据;
当接收到数据同步请求时,从所述数据同步请求中提取引擎信息;
根据所述引擎信息确定存储引擎,并与所述存储引擎建立连接,得到网络链接;
根据所述类型及所述目标数据,生成与所述存储引擎对应的指令;
通过所述网络链接将所述指令发送至所述存储引擎,以使所述存储引擎完成数据同步。
2.如权利要求1所述的数据同步方法,其特征在于,所述从所述数据源对应的重做日志组中读取目标重做日志包括:
获取预先配置的线程数量;
根据所述线程数量创建线程,得到目标线程;
调用start命令启动所述目标线程;
通过启动后的目标线程按序逐条读取所述重做日志组中消息缓存队列的日志,并将读取到的日志作为所述目标重做日志;
将所述目标重做日志从所述消息缓存队列中剔除。
3.如权利要求1所述的数据同步方法,其特征在于,所述解析所述目标重做日志,得到所述目标重做日志的类型包括:
获取所述目标重做日志的日志名称及生成时间,并根据所述日志名称从预设列表中索引出与所述日志名称对应的抽象语法树;
获取所述抽象语法树的构建时间,并将与所述生成时间距离最近的构建时间确定为目标时间;
将所述目标时间对应的抽象语法树确定为第一抽象语法树;
获取所述目标重做日志的源码;
将所述源码的格式转换为预设格式,得到具有预设格式的目标代码;
对所述目标代码进行词法解析;
对词法解析后的目标代码进行语法解析,得到预处理代码;
根据所述预处理代码及所述日志名称,构建第二抽象语法树,并将所述第二抽象语法树存储于所述预设列表中;
将所述第一抽象语法树与所述第二抽象语法树进行对比,确定所述目标重做日志的类型。
4.如权利要求3所述的数据同步方法,其特征在于,所述将所述第一抽象语法树与所述第二抽象语法树进行对比,确定所述目标重做日志的类型包括:
当检测到不属于所述第一抽象语法树且属于所述第二抽象语法树的数据时,将该数据确定为新增数据,并将所述目标重做日志的类型确定为增加类型;及/或
当检测到属于所述第一抽象语法树且不属于所述第二抽象语法树的数据时,将该数据确定为删除数据,并将所述目标重做日志的类型确定为删除类型;及/或
当检测到所述第一抽象语法树与所述第二抽象语法树的相应位置上对应的数据不同时,将所述第二抽象语法树的相应位置上对应的数据确定为更改数据,并将所述目标重做日志的类型确定为更改类型。
5.如权利要求1...
【专利技术属性】
技术研发人员:丁永,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。