[发明专利]一种关系型数据库与非关系型数据库的同步系统及方法有效
申请号: | 201510817110.1 | 申请日: | 2015-11-23 |
公开(公告)号: | CN105279285B | 公开(公告)日: | 2018-07-24 |
发明(设计)人: | 蓝瑞垚 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海硕力知识产权代理事务所(普通合伙) 31251 | 代理人: | 郭桂峰 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关系 数据库 同步 系统 方法 | ||
本发明公开了一种关系型数据库与非关系型数据库的同步系统及方法,主要透过配置模块配置非关系型数据库中的文档字段与关系型数据库中的表字段的对应关系,并形成配置关系文档;读取模块根据该配置模块所生成的配置关系文档的文档名及由计时模块所提供的时间区域自该非关系型数据库读取相关数据;计时模块记录该读取模块访问该非关系型数据库的时间,提供上次访问时间至本次访问的时间区域给该读取模块;转换模块根据读取模块所读取的相关数据以及配置模块存储的配置关系文档生成针对该关系型数据库操作的命令语句;以及执行模块根据该转换模块生成的命令语句对该关系型数据库执行命令操作。
技术领域
本发明涉及数据库管理技术领域,特别是涉及一种关系型数据库与非关系型数据库的同步系统及方法。
背景技术
随着业务的发展,系统功能的增多,系统架构变得越来越复杂,对数据的存储与需求也变得越来越多样性。
目前对数据的存储,一般都采用关系型数据库,例如oracle,mysql。关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。然,随着业务的发展,一方面为了适应新业务而采用非关系型数据库,例如mongo DB,作为存储和管理数据的工具;另一方面为了兼容旧有系统而又必须采用关系型数据库。因此,如何兼容数据在非关系型数据库和关系型数据库的存储便成为急需要解决的问题。
针对上述问题,目前的解决方案主要有两种:方案一,对系统的接口进行更改采用统一的数据库;方案二,通过定时读取非关系型数据库中数据,生成关系型数据库相应的sql(Structured Query Language,结构化查询语言)语句再在关系型数据库中执行,从而操作数据。上述两种方案虽可实现上述两种数据库的数据兼容,然,方案一需要对传统的关系型数据库进行改造,方案二需要获取的数据无法反映出数据的改动,并且对无时间戳的数据无法判断是非。
因此,有必要提出一种新的关系型数据库与非关系型数据库同步方案,以避免现有技术的种种缺失,实已成为目前业界亟待克服之难题。
发明内容
鉴于上述现有技术的缺失,本发明之一目的在于提出一种关系型数据库与非关系型数据库的同步系统及方法,其无需对现有数据库改造。
本发明之另一目的在于提出一种关系型数据库与非关系型数据库的同步系统及方法,其能准确反映出数据变化。
为达上述及其他目的,本发明提出一种关系型数据库与非关系型数据库的同步系统,包括:配置模块,用于配置非关系型数据库中的文档字段与关系型数据库中的表字段的对应关系,并形成配置关系文档;读取模块,根据该配置模块所储存的配置关系文档的文档名及由计时模块所提供的时间区域自该非关系型数据库读取相关数据;计时模块,用于记录该读取模块访问该非关系型数据库的时间,提供上次访问时间至本次访问的时间区域给该读取模块;转换模块,根据读取模块所读取的相关数据以及配置模块存储的配置关系文档生成针对该关系型数据库操作的命令语句;以及执行模块,根据该转换模块生成的命令语句对该关系型数据库执行命令操作。
较佳地,本发明之系统还包括检测模块,用于检测该转换模块生成的命令语句中是否包含相同的主键,若有,则令该转换模块进一步将包含相同主键的命令语句合并。所述命令语句例如为插入(insert)、更新(update)或删除(delete)命令语句。
较佳地,本发明之计时模块为定时器,其可内嵌于该读取模块或独立于该读取模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510817110.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种物资编目检索方法
- 下一篇:一种数据库索引优化系统