mysql与MongoDB数据同步的方法及其系统技术方案

技术编号:13093306 阅读:90 留言:0更新日期:2016-03-30 20:10
本发明专利技术公开一种mysql与MongoDB数据同步的方法,在开发机上调用OpenReplicator,读取A服务器上日志文件,失败则启动A服务器mysql并联网成功,成功则执行步骤5.2;5.2)、在开发机上定义计数器n;5.3)、开发机读取A服务器上的第n行binlog,将赋值给字符串S1;5.4)、S1为空则同步结束,不为空判断S1是否包含insert\update关键字,包含则执行步骤5.5,否则n=n+1,执行步骤5.3;MongoDB上执行S2语句,失败则同步结束;成功则n=n+1并执行步骤5.3。本发明专利技术还公开一种采用上述方法的系统。本发明专利技术可发挥mysql与MongoDB这两者的优势。

【技术实现步骤摘要】

本专利技术涉及一种my sql与MongoDB数据同步的方法,特别是涉及一种能实现上述方法的系统。
技术介绍
mysql是现有的一个关系型数据库管理系统。MongoDB是目前IT行业常用的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。因此,有必要针对mysql研发一种将mysql里面的数据同步到MongoDB数据库的方法,以便进行整合、开发。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种mysql与MongoDB数据同步的方法。本专利技术还提供一种my sql与MongoDB数据同步的系统。为了达成上述目的,本专利技术的解决方案是:一种mysql与MongoDB数据同步的方法,通过以下步骤实现:1)、在开发机上搭建开发环境;2)、在A服务器上安装mysql数据库,并将数据库引擎设置为INN0DB,启动数据库;3)、在B服务器上安装MongoDB数据库; 4)、在开发机上,打开Ec 1 ipse,新建一个工程,配置好依赖jar包;5)、在开发机上新建一个类,在类里面编写数据同步代码,步骤如下:5.1)、在开发机上调用OpenRepl icator,读取A服务器上mysql的binlog日志文件,如果读取失败,则启动A服务器mysql并联网成功,联网成功之后执行步骤5.2;如果读取binlog日志文件成功,则执行步骤5.2 ;5.2)、在开发机上定义计数器11,11 = 1;5.3)、开发机读取A服务器上的第η行binlog,将赋值给字符串S1;5.4)、如果S1为空,则同步结束,如果不为空,进一步判断S1是否包含insert\update关键字,如果包含则执行步骤5.5,否则n = n+l,执行步骤5.3 ;5.5),开发机将S1转为MongoDB可执行的字符串S2 ;5.6)、开发机调用MongoDB JDBC驱动,连接MongoDB,如果连接失败,则启动B服务器MongoDB数据库并联网成功,如果联网成功则执行步骤5.7 ;5.7)、调用MongoDB驱动,在MongoDB上执行S2语句,如果失败,则同步结束;如果成功,贝>Jn = n+l,并执行步骤5.3。一种mysql与MongoDB数据同步的系统,采用如如前所述的方法。采用上述方案后,本专利技术的my sq 1与MongoDB数据同步的方法具有以下有益效果:本专利技术的目的是让开发人员能够将将my sql数据同步到MongoDB。软件开发时直接从MongoDB取数据,从而发挥my sq 1与MongoDB这两者的优势本专利技术的mysql与MongoDB数据同步的系统也具有以上有益效果。【附图说明】图1为本专利技术的mysql与MongoDB数据同步的方法的流程框图。【具体实施方式】为了进一步解释本专利技术的技术方案,下面通过具体实施例来对本专利技术进行详细阐述。实施例一如图1所示,本专利技术的mysql与MongoDB数据同步的方法主要通过以下步骤实现:1)、在开发机上搭建开发环境;2)、在A服务器上安装mysql数据库,并将数据库引擎设置为INN0DB,启动数据库;其中,INN0DB或InnoDB是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。3)、在B服务器上安装MongoDB数据库;4)、在开发机上,打开Eclipse,新建一个工程,配置好依赖jar包;其中,jar包就是已经写好的一些类,将这些类进行打包,就可以将这些jar包引入项目中,然后就可以直接使用这些jar包中的类和属性。5)、在开发机上新建一个类,在类里面编写数据同步代码,详细步骤如下:5.1)、在开发机上调用OpenReplicator,读取A服务器上mysql的binlog日志文件,如果读取失败,则启动A服务器mysql并联网成功,联网成功之后执行步骤5.2;如果读取binlog日志文件成功,则执行步骤5.2;其中,0pen Repl icator是一个用Java编写的MySQLbinlog分析程序。5.2)、在开发机上定义计数器η,n = l;5.3)、开发机读取A服务器上的第η行binlog,将赋值给字符串SI;5.4)、如果S1为空,则同步结束,如果不为空,进一步判断S1是否包含insert\update这两个关键字。如果包含则执行步骤5.5,否则n = n+l,执行步骤5.3 ;5.5),开发机将S1转为MongoDB可执行的字符串S2 ;5.6)、开发机调用MongoDB JDBC驱动,连接MongoDB,如果连接失败,则启动B服务器MongoDB数据库并联网成功,如果联网成功则执行步骤5.7 ;5.7)、调用MongoDB驱动,在MongoDB上执行S2语句,如果失败,则同步结束;如果成功,贝>Jn = n+l,并执行步骤5.3。本专利技术的my s q 1与MongoDB数据同步的系统,能实现如前所述的方法。实施例二本专利技术经测试通过后,即可部署到生产环境,进入实际应用阶段。l、Mysql数据库为企业已经在运行中的数据库。2、MongoDB数据库为企业将来大数据分析用到的No SQL数据库集。3、同步程序服务器为本专利中提到的程序部署环境,该服务器与My sql和MongoDB通过TCP/IP协议通信。操作系统为Cent0S6.6。部署实施过程:3.1、在同步程序服务器安装JDK。3.2、将本专利技术开发的程序拷贝到/11817100&1/1:01^1311/目录下。3.3、在系统定时器设定定时任务,每秒调用一次该程序。 3.4、启动定时任务,观察MongoDB数据库。数据已经同步过来。同步成功。上述实施例和附图并非限定本专利技术的产品形态和式样,任何所属
的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本专利技术的专利范畴。【主权项】1.一种mysql与MongoDB数据同步的方法,其特征在于,通过以下步骤实现: 1)、在开发机上搭建开发环境; 2)、在A服务器上安装mysql数据库,并将数据库弓I擎设置为INN0DB,启动数据库; 3)、在B服务器上安装MongoDB数据库; 4)、在开发机上,打开Ec1 ipse,新建一个工程,配置好依赖jar包; 5)、在开发机上新建一个类,在类里面编写数据同步代码,步骤如下: 5.1)、在开发机上调用OpenReplicator,读取A服务器上mysql的binlog日志文件,如果读取失败,则启动A服务器mysql并联网成功,联网成功之后执行步骤5.2 ;如果读取binlog日志文件成功,则执行步骤5.2 ; 5.2)、在开发机上定义计数器η,n=l; 5.3)、开发机读取A服务器上的第η行binlog,将赋值给字符串SI; 5.4)、如果S1为空,则同步结束,如果不为空,进一步判断S1是否包含insert\update关键字,如果包含则执行步骤5.5,否则n = n+l,执行步骤5.3 ; 5.5)、开发机将S1转为MongoDB可执行的字符串S2; 5.6)、开发机调用MongoDBJDBC驱动,连接MongoDB,如果连接失败,则启动B服务器MongoDB数据库并联网成功,如果联网成功则执行步骤5.7 ; 5.7)、调本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105447111.html" title="mysql与MongoDB数据同步的方法及其系统原文来自X技术">mysql与MongoDB数据同步的方法及其系统</a>

【技术保护点】
一种mysql与MongoDB数据同步的方法,其特征在于,通过以下步骤实现:1)、在开发机上搭建开发环境;2)、在A服务器上安装mysql数据库,并将数据库引擎设置为INNODB,启动数据库;3)、在B服务器上安装MongoDB数据库;4)、在开发机上,打开Eclipse,新建一个工程,配置好依赖jar包;5)、在开发机上新建一个类,在类里面编写数据同步代码,步骤如下:5.1)、在开发机上调用OpenReplicator,读取A服务器上mysql的binlog日志文件,如果读取失败,则启动A服务器mysql并联网成功,联网成功之后执行步骤5.2;如果读取binlog日志文件成功,则执行步骤5.2;5.2)、在开发机上定义计数器n,n=1;5.3)、开发机读取A服务器上的第n行binlog,将赋值给字符串S1;5.4)、如果S1为空,则同步结束,如果不为空,进一步判断S1是否包含insert\update关键字,如果包含则执行步骤5.5,否则n=n+1,执行步骤5.3;5.5)、开发机将S1转为MongoDB可执行的字符串S2;5.6)、开发机调用MongoDB JDBC驱动,连接MongoDB,如果连接失败,则启动B服务器MongoDB数据库并联网成功,如果联网成功则执行步骤5.7;5.7)、调用MongoDB驱动,在MongoDB上执行S2语句,如果失败,则同步结束;如果成功,则n=n+1,并执行步骤5.3。...

【技术特征摘要】

【专利技术属性】
技术研发人员:姚俊峰阙锦龙文燕柴满林胡子豪
申请(专利权)人:铜陵有色金属集团股份有限公司金冠铜业分公司厦门大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1