一种基于WEB实现不同数据库之间数据上传与同步的方法技术

技术编号:19098711 阅读:32 留言:0更新日期:2018-10-03 02:43
本发明专利技术涉及WEB技术领域,特别涉及基于WEB实现不同数据库之间数据上传与同步的方法。本发明专利技术方法步骤是:1、从数据库读取全部表的数据;2、对数据进行封装并装换成JSON格式;3、通过网络向服务端发送JSON格式数据包;4、服务端接收数据并处理,返回结果;5、根据返回的状态码异步更新本次上传的数量和时间;6、定时自动重复执行步骤1至步骤5,实时同步与备份数据。本发明专利技术解决了在不同的数据库或者不同的服务器之间进行数据实时上传和同步等问题,可以用于实现不同数据库之间的数据实时备份与同步。

【技术实现步骤摘要】
一种基于WEB实现不同数据库之间数据上传与同步的方法
本专利技术涉及WEB
,特别涉及基于WEB实现不同数据库之间数据上传与同步的方法。
技术介绍
JSON(JavaScriptObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。但是,目前面临的主要问题有:不同的品牌的不同数据库之间无法有效进行数据交互,当需要把某一个数据库的数据上传或备份到另一个数据库的时候,会遇到不同种数据库之间无法互通数据的问题。上传或备份时数据数量多导致数据量太大,以至于数据上传失败或者无法上传问题。
技术实现思路
本专利技术解决的技术问题在于提供基于WEB实现不同数据库之间数据上传与同步的方法,解决了在不同的数据库之间对于数据上传或备份时不能进行数据通讯的问题,还解决了数据上传和备份时数据过多导致数据无法上传和失败的问题。本专利技术解决上述技术问题的技术方案是:所述的方法包含以下几个步骤:步骤一、从需要上传的数据库查询出所有数据;步骤二、对数据进行封装并转换成JSON格式;步骤三、通过网络发送JSON格式数据包给服务器;步骤四、服务端接收数据、处理并返回结果;步骤五、根据返回的结果步骤判断是否需要修改数量和时间;步骤六、定时自动执行步骤一至步骤五,直至完成数据备份和同步。本专利技术的有益效果:本专利技术基于WEB实现不同数据库之间数据上传和备份的方法,针对不同的数据库之间不同的数据类型之间的数据上传与备份,数据量过大导致的数据无法传输或者传输失败的问题。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的方法流程图。具体实施方式如图1所示,本专利技术采用如下步骤可以实现不同数据库之间的数据上传和备份:步骤一、从需要上传的数据库查询出所有数据;步骤二、对数据进行封装并转换成JSON格式;步骤三、通过网络发送JSON格式数据包给服务器;步骤四、服务端接收数据、处理并返回结果;步骤五、根据返回的结果异步判断是否需要修改数量和时间;步骤六、定时自动执行步骤一至步骤五,直至完成数据备份和同步。所述的步骤一中,使用showtables查询全部数据库的表数据,获取当前需要上传的数据库的全部表名集合。所述的步骤二中,对数据进行封装和转换,使用select*from具体表名来获取一张表的数据,需要表中有修改时间字段,并且当数据库中这张表中数据被修改时,该字段所对应的时间必须改变,该字段用于查询数据时作为拆分数据的条件,如果数据量过大,并且该时间区间内数据量过多,则需要使用表的主键来区分排序数据,并根据主键的值来拆分数据。select*fromtestTablewhere(modifyDate=具体修改时间andid>具体主键值)ormodifyDate>具体修改时间orderbymodifyDateasc,idasc;如果数据过多,则可以使用limit子句来进一步拆分数据。对于获取到的数据,将数据的列和数据的值使用list集合分开存储,其中需要获取主键列的最大值,参考如下方法获取主键列:StringtablePKColumn=null;try{DatabaseMetaDatametaData=connection.getMetaData();ResultSetprimaryKeys=metaData.getPrimaryKeys(null,null,tableName);if(primaryKeys.next()){tablePKColumn=primaryKeys.getString("COLUMN_NAME");}}catch(SQLExceptione){log.error("异常",e);}由于传输数据使用JSON来传输,所以将查询的数据进行一步转换,将数据库中的列单独取出,存储到有序集合中,再把数据库中查询出来的值也存储到有序集合中,最后把列和值放入一个集合中,此集合就包含了数据列和数据的值,其中数据列只有一列,并且和数据值相互对应,这样就减少了数据的存储量,加快了传输速度。如果使用对象传输,则生成的JSON字符串会是列和值一一对应,数据冗余过多,增大的数据量,减慢传输速度。所述的步骤三和步骤四中,使用网络发送JSON格式字符串给服务端,由服务端处理并返回处理结果。使用httpClient客户端来定时发送封装好的数据给服务端,由服务端处理数据,服务端接收到JSON数据后进行处理,如果完成则返回成功标识,失败则返回错误信息。所述的步骤五和步骤六中,对服务端返回的数据进行判断,服务端处理完成数据,会返回状态码,异步判断状态码是否为保存成功,如果是保存成功,则将本次上传的数据的最大修改时间和最大id记录到数据库表中。需要新建一张表用来存储该数据库中其他表的上传时间和最大主键值,这个表中需要有时间字段来存储最大时间,字符型字段类存储其他表的表名和其他表的最大主键,修改当前上传的这张表的时间和最大id。通过循环步骤一中的集合,定时重复步骤一至步骤五,直到步骤一中的集合遍历完毕,完成该库的全表数据上传。本文档来自技高网...

【技术保护点】
1.基于WEB实现不同数据库之间数据上传与同步的方法,其特征在于:所述的方法包含以下几个步骤:步骤一、从需要上传的数据库查询出所有数据;步骤二、 对数据进行封装并转换成JSON格式;步骤三、通过网络发送JSON格式数据包给服务器;步骤四、服务端接收数据、处理并返回结果;步骤五、根据返回的结果异步判断是否需要修改数量和时间;步骤六、定时自动执行步骤一至步骤五,进行数据实时备份和同步,直至完成。

【技术特征摘要】
1.基于WEB实现不同数据库之间数据上传与同步的方法,其特征在于:所述的方法包含以下几个步骤:步骤一、从需要上传的数据库查询出所有数据;步骤二、对数据进行封装并转换成JSON格式;步骤三、通过网络发送JSON格式数据包给服务器;步骤四、服务端接收数据、处理并返回结果;步骤五、根据返回的结果异步判断是否需要修改数量和时间;步骤六、定时自动执行步骤一至步骤五,进行数据实时备份和同步,直至完成。2.根据权利要求1所述的基于WEB实现不同数据库之间数据上传与同步的方法,其特征在于:可以实现不同数据库之间的数据上传和同步,不必对原始数据表进行更改字段即可实现数据备份,支持MySQL,SqlServer,Oracle,DB2等不同的数据库。3.根据权利要求1所述的基于WEB实现不同数据库之间数据上传与同步的方法,其特征在于:所述的步骤一中,编写SQL语句查询出需要上传的...

【专利技术属性】
技术研发人员:杨欢张来卿庞严冬
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司
类型:发明
国别省市:广东,44

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

1