CN102065137A - 一种网络数据库表数据应用程序同步的方法 - Google Patents

一种网络数据库表数据应用程序同步的方法 Download PDF

Info

Publication number
CN102065137A
CN102065137A CN2010105977823A CN201010597782A CN102065137A CN 102065137 A CN102065137 A CN 102065137A CN 2010105977823 A CN2010105977823 A CN 2010105977823A CN 201010597782 A CN201010597782 A CN 201010597782A CN 102065137 A CN102065137 A CN 102065137A
Authority
CN
China
Prior art keywords
data
service
database
synchronous
server end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105977823A
Other languages
English (en)
Other versions
CN102065137B (zh
Inventor
宋智强
武志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Software Co Ltd
Original Assignee
Shandong Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Software Co Ltd filed Critical Shandong Inspur Software Co Ltd
Priority to CN 201010597782 priority Critical patent/CN102065137B/zh
Publication of CN102065137A publication Critical patent/CN102065137A/zh
Application granted granted Critical
Publication of CN102065137B publication Critical patent/CN102065137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种网络数据库表数据应用程序同步的方法,首先把需要同步的两个数据库定义为客户端和服务器端,数据来源一端的数据库定义为客户端,而数据需要更新一端的数据库定义为服务器端,客户端系统定时器服务通过读取基本的配置信息表来确认需要同步的表以及对应的同步服务定义,同步服务和服务器端的同步服务通过建立HTTP通道来实现两个数据库之间的数据同步,数据在进入HTTP通道之前进行了压缩操作,到底服务器端的同步服务之后进行解压,解压之后实现数据库的分析处理,执行更新数据的操作。

Description

一种网络数据库表数据应用程序同步的方法
技术领域
本发明涉及一种互联网行业分布式数据库领域,通过J2EE架构实现的网络数据库数据之间的同步,具体地说是一种网络数据库表数据同步的应用程序的实现方法。
背景技术
随着互联网应用日新月异的发展,企业在互联网上都有自己的应用系统、网站等;跨地域不同网络的限制,导致因为网络原因需要站点建立在不同的地域,即便是在同一城市或者地域也会因为用户量的庞大,单单的硬件上的考虑很难满足,技术架构需要支持群集的方式,包括Web服务器的负载均衡、应用服务器的集群、以及数据库层面的水平切分,都是为了支持分布式的架构,在这种背景下,大多数Web服务器和应用服务器都提供一些功能去快速实现,数据库层面反而限制比较多。
人们在工作、学习和生活中越来越多地使用互联网,互联网成为了一种载体,改变着人们的生活;很多企业也看到了机遇,把自己的信息系统建立在互联网上,企业员工通过互联网进行办公,不管是在家里还是在出差的路途上都能通过互联网及时的获得公司的信息,真正的实现了无论在何地都能进行办公;电子商务在互联网上也取得了飞速发展,各种各样的网站应时而生。在信息系统建立在互联网的同时,大的企业应用系统的可用性受到了很大挑战,企业的数据是一种重要的资源,数据库的安全性和稳定性是保证正常业务运转的根本,基于大用户量的考虑系统往往都是采用负载均衡式的分布式系统,在分布式环境下数据库之间的数据需要通过网络进行交互,很多时候处于容灾的考虑也需要建立异地数据库备份,本发明就是为了解决网络数据库之间的数据交互问题,通过应用程序实现异地数据库数据之间的同步。
发明内容
本发明的目的是提供一种本发明就是解决数据库切分之后数据库之间数据的一致性问题,从而实现数据库分布式架构的目的。
本发明的目的是按以下方式实现的,首先把需要同步的两个数据库定义为客户端和服务器端,数据来源一端的数据库定义为客户端,而数据需要更新一端的数据库定义为服务器端,客户端系统定时器服务通过读取基本的配置信息表来确认需要同步的表以及对应的同步服务定义,同步服务和服务器端的同步服务通过建立HTTP通道来实现两个数据库之间的数据同步,数据在进入HTTP通道之前进行了压缩操作,到底服务器端的同步服务之后进行解压,解压之后实现数据库的分析处理,执行更新数据的操作;
具体步骤如下:
1)WEB服务引擎通过读取配置信息建立需要数据同步表的数据同步任务;
2)数据任务执行具体的数据同步服务对数据进行读取加工,包括压缩整理等;并建立数据传输通道发送数据;
3)服务器端的同步服务接收数据之后对数据进行相应的加工处理,包括解压、校验等过程;
4)数据同步服务根据配置信息读取数据并对数据进行分流处理,根据不同情况将数据同步到数据库中;
5)同步服务完成数据同步操作并记录接收日志反馈接收信息,客户端获取正确的反馈结果完成完整的数据同步操作。
应用程序WEB服务方式实现的网络多数据库之间的数据同步,通过HTTP协议建立一种受限比较低的传输通道,并在数据传输上增加数据压缩、解压、校验步骤,保证数据的高效、安全、一致。
本发明的实现方法所具有的优异效果如下:
1)采用WEB服务实现,避免了数据库的差异,适用于多种方式实现的应用系统。
2)通过HTTP协议建立通道进行传输,避免了很多时候网络防火墙的限制。
3)数据在整个通过过程中采用了压缩和加压的方式,既保证了数据传输的高效,减少了网络带宽的使用;同时也保证了传输的安全性。
4)实现了网络上多数据库之间的数据同步,适用于分布式架构下的数据库系统。
附图说明
附图1为网络数据库表数据应用程序同步流程图;
具体实施方式
参照说明书附图结合实施例对本发明的作以下详细地说明。
实施例:下面分别介绍主要几部分的实现内容:
Figure BSA00000392611400021
初始化
初始化的过程实际上服务引擎读取配置信息的过程,包括从上传URL表(UPLOAD_URL)中读取系统定义好的同步服务相关信息,并从URL映射表(URL_TAB)中读取相关表对应的同步服务信息,确认具体需要传输的表,以及通过哪个同步服务进行同步;然后读取每个需要上传数据的表的配置信息,主要包括上传数据表(UPLOAD_TABS)、上传字段表(UPLOAD_COLS)、增量字段表(INCREMENT_COLS)、自定义功能表(CUSTOMIZE)等表的信息。如下表所示。
UPLOAD_URL
  序号   列名   描述   类型   NULL   主键   缺省值
  SEQ   编号   INTEGER   否   是
  URL   URL   VARchar(256)   否   唯一列
  ENABLE   是否启用   char(1)   1
  NOTE   备注
URL_TAB
Figure BSA00000392611400032
创建定时任务
根据读取到的配置信息为上传数据(UPLOAD_TABS)表中的每一个数据创建一个定时任务,并添加到定时调度中。如下表所示。
Figure BSA00000392611400033
UPLOAD_TABS
  序号  列名   描述   类型   NULL   主键   缺省值
  1.  SEQ   编号   INTEGER   否   是
  2.  TABNAME   表名   VARchar(128)   否   唯一列
  3.  DESC   描述   VARchar(64)
  4.  MAXROWS   最大行数   INTEGER   否   1000
  5.  PERIOD   周期长度(秒)   INTEGER   否   300
  6.  INCREMENT   是否增量上传   char(1)   否   1
  7.  ALL_COLS   是否全部字段   char(1)   否   1
  8.  REPLACE_COL   替换字段   char(1)   0
  9.  CUSTOMIZE   是否自定义   char(1)   0
  10.  MULTI_DS   是否多数据源   char(1)   0
  11.  ENABLE   是否启用   char(1)   1
  12.  NOTE   备注   VARchar(64)   否
Figure BSA00000392611400041
读数据
从上传日志中根据记录类型和增量字段读取上一次成功上传的信息,记录下增量字段值。然后根据表名、上传字段等配置信息生成一个按照增量字段方向排序的标准SQL。执行SQL后得到一个java.util.ResultSet,逐行扫描结果集到最大可上传行数,把每一行记录根据结果集元数据保存在一个java.uti.Map里,然后再把Map都存放到java.util.List中。如下表所示。
UPLOAD_LOG
Figure BSA00000392611400042
UPLOAD_COLS
Figure BSA00000392611400043
INCREMENT_COLS
Figure BSA00000392611400044
上传数据
调用上传工具类执行上传数据操作,数据以对象的方式传递和解析。分为以下步骤:
1)读对象;2)压缩成字节流;3)读字节流;4)分包;5)传输字节流;6)验证传输状态;7)接收字节流;8)验证完整性;9)读字节流;10)解压缩;11)读对象;
Figure BSA00000392611400052
接收数据
读取接收到的对象,包括表名等信息。主键、增量字段等信息如果在接收端已经配置,也可以不同时上传,在接收端根据表名等信息再进行查询。
Figure BSA00000392611400053
分流数据
遍历接收到的更新数据执行,根据主键判断该条记录是否已经存在,如果存在分流到一个以后执行更新操作的数组中,如果不存在则分流到用来执行插入操作的数组中。
Figure BSA00000392611400054
执行更新
执行插入操作的过程要考虑主键冲突的情况,对于使用最大号表情况的数据插入操作,如果两方程序都同时可以执行插入操作的话,因为最新值的不同步,可能会导致生成的最大号重复。
接收日志
执行更新后记录接收日志,主要包括类型、日期、时间、增量字段、消耗时间、状态等信息,如下表所示。
RECEIVE_LOG
Figure BSA00000392611400056
Figure BSA00000392611400057
返回结果
不管执行成功与否,只要是网络状态正常,都应当返回一个执行的结果。这里面的信息通常包括状态、接收总记录数、更新记录数量、插入记录数量、增量字段以及最大增量值等信息。
Figure BSA00000392611400061
上传日志
得到返回结果后或者出现网络通信异常后都应当几下本次上传的信息,主要包括类型、日期、时间、增量字段、消耗时间、状态等信息。
根据这个日志检查每个表的上传状态。如下表所示。
UPLOAD_LOG
  序号   列名   描述   类型   NULL   主键   缺省值
  14.   SEQ   流水   LONG   否   是
  15.   URL   URL   VARchar(256)
  16.   ACCOUNT_TYPE   表名   VARchar(128)   否
  17.   ACCOUNT_DATE   日期   char(8)   索引
  18.   ACCOUNT_TIME   时间   char(8)
  19.   TIMESTAMP   时间戳   LONG
  20.   TOTAL   上传总数   INTEGER
  21.   UPDATES   插入成功数   INTEGER
  22.   INSERTS   更新成功数   INTEGER
  23.   ELAPSE   耗时(毫秒)   INTEGER
  24.   INCREMENT   增量字段   VARchar(256)
  25.   INCREMENTVAL   增量值   VARchar(256)
  26.   STATUS   状态   char(1)
Figure BSA00000392611400062
安全性
考虑通过在上传时包含用户与密码对象进行安全性包括,在接收端对取得到数据与密码进行校验,如果校验成功则执行后续操作,失败则退出。
Figure BSA00000392611400063
自定义功能
对于复杂的数据同步操作,使用通用程序可能很难完成定制,可考虑定制开发程序实现。这些类型的程序一般是客户端程序与服务器端程序成对出现。可以根据特殊的业务需要进行特定的开发。如下表所示。
CUSTOMIZE
  序号   列名   描述   类型   NULL   主键  缺省值
  1.   SEQ   编号   INTEGER   否   是
  2.   TABNAME   表名   VARchar(128)   否
  3.   DESC   描述   VARchar(64)
  4.   TYPE   类型   VARchar(8)  CLIENT SERVER
  5.   ENABLE   是否启用   char(1)  1
  6.   BEAN_ID   ID   VARchar(48)
  7.   BEAN_CLASS   实现类   VARchar(128)
  8.   DATE   日期   char(8)
  9.   TIME   时间   char(8)
  10.   NOTE   备注   VARchar(32)
Figure BSA00000392611400071
任务检查
检查定时任务的状态,每个定时任务的都有一个时间戳,如果上次执行的时间戳到当前时间超过了阈值设置,则根据情况的轻重缓急生成相应的告警信息。如果问题非常严重,达到了设定的最大限度值,则取消任务重新调度一次。
Figure BSA00000392611400072
上传检查
定时检查上传日志表,逐个扫描每个上传任务的执行情况,对出现问题的上传任务进行深入分析。
本发明的有益效果是:
1、本发明实现了通过应用程序WEB服务方式进行多数据库之间数据同步的问题,避免了通过数据库产品本身去实现的复杂程度。
2、本发明同步服务采用HTTP协议方式建立传输通道,避免了很多防火墙层面的限制,只要是公网访问的通用端口就能建立数据传输通道。
3、本发明实现了传输过程中的数据压缩、数据解压以及数据校验等步骤,增加了数据传输的高效性以及数据的准确性和安全性。

Claims (2)

1.一种网络数据库表数据应用程序同步的方法,其特征在于首先把需要同步的两个数据库定义为客户端和服务器端,数据来源一端的数据库定义为客户端,而数据需要更新一端的数据库定义为服务器端,客户端系统定时器服务通过读取基本的配置信息表来确认需要同步的表以及对应的同步服务定义,同步服务和服务器端的同步服务通过建立HTTP通道来实现两个数据库之间的数据同步,数据在进入HTTP通道之前进行了压缩操作,到底服务器端的同步服务之后进行解压,解压之后实现数据库的分析处理,执行更新数据的操作;
具体步骤如下:
1)WEB服务引擎通过读取配置信息建立需要数据同步表的数据同步任务;
2)数据任务执行具体的数据同步服务对数据进行读取加工,包括压缩整理等;并建立数据传输通道发送数据;
3)服务器端的同步服务接收数据之后对数据进行相应的加工处理,包括解压、校验过程;
4)数据同步服务根据配置信息读取数据并对数据进行分流处理,根据不同情况将数据同步到数据库中;
5)同步服务完成数据同步操作并记录接收日志反馈接收信息,客户端获取正确的反馈结果完成完整的数据同步操作。
2.根据权利要求1所述的方法,其特征在于,应用程序WEB服务方式实现的网络多数据库之间的数据同步,通过HTTP协议建立一种受限比较低的传输通道,并在数据传输上增加数据压缩、解压、校验步骤,保证数据的高效、安全、一致。
CN 201010597782 2010-12-21 2010-12-21 一种网络数据库表数据应用程序同步的方法 Active CN102065137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010597782 CN102065137B (zh) 2010-12-21 2010-12-21 一种网络数据库表数据应用程序同步的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010597782 CN102065137B (zh) 2010-12-21 2010-12-21 一种网络数据库表数据应用程序同步的方法

Publications (2)

Publication Number Publication Date
CN102065137A true CN102065137A (zh) 2011-05-18
CN102065137B CN102065137B (zh) 2013-08-14

Family

ID=44000236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010597782 Active CN102065137B (zh) 2010-12-21 2010-12-21 一种网络数据库表数据应用程序同步的方法

Country Status (1)

Country Link
CN (1) CN102065137B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020157A (zh) * 2012-11-23 2013-04-03 山东电力集团公司 一种跨物理隔离的高可靠性实时文件生成方法
CN103106200A (zh) * 2011-11-09 2013-05-15 上海盛霄云计算技术有限公司 非关系型数据库同步系统及双写同步方法
CN103220178A (zh) * 2013-04-24 2013-07-24 沈文策 网络应用处理系统和方法
CN104133674A (zh) * 2014-07-11 2014-11-05 国家电网公司 一种异构系统及异构系统的模型同步方法
CN104699771A (zh) * 2015-03-02 2015-06-10 北京京东尚科信息技术有限公司 数据同步方法和集群节点
CN107506403A (zh) * 2017-08-03 2017-12-22 国网江苏省电力公司信息通信分公司 一种网格化信息系统及数据同步变动方法
CN108415951A (zh) * 2018-02-02 2018-08-17 广东睿江云计算股份有限公司 一种数据库控制方法和系统
CN108959504A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种文件系统远程数据同步实现方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501271A (zh) * 2002-11-15 2004-06-02 鸿富锦精密工业(深圳)有限公司 数据同步系统和方法
CN101159764A (zh) * 2007-11-21 2008-04-09 中国电信股份有限公司 一种访问移动业务门户数据的方法和系统
CN101409614A (zh) * 2007-10-12 2009-04-15 华为技术有限公司 一种数据同步方法、系统和设备
CN101681344A (zh) * 2007-06-22 2010-03-24 微软公司 带同步的双向数据修改

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501271A (zh) * 2002-11-15 2004-06-02 鸿富锦精密工业(深圳)有限公司 数据同步系统和方法
CN101681344A (zh) * 2007-06-22 2010-03-24 微软公司 带同步的双向数据修改
CN101409614A (zh) * 2007-10-12 2009-04-15 华为技术有限公司 一种数据同步方法、系统和设备
CN101159764A (zh) * 2007-11-21 2008-04-09 中国电信股份有限公司 一种访问移动业务门户数据的方法和系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106200A (zh) * 2011-11-09 2013-05-15 上海盛霄云计算技术有限公司 非关系型数据库同步系统及双写同步方法
CN103106200B (zh) * 2011-11-09 2017-08-01 上海盛大网络发展有限公司 非关系型数据库同步系统及双写同步方法
CN103020157A (zh) * 2012-11-23 2013-04-03 山东电力集团公司 一种跨物理隔离的高可靠性实时文件生成方法
CN103220178A (zh) * 2013-04-24 2013-07-24 沈文策 网络应用处理系统和方法
CN104133674A (zh) * 2014-07-11 2014-11-05 国家电网公司 一种异构系统及异构系统的模型同步方法
CN104133674B (zh) * 2014-07-11 2017-07-11 国家电网公司 一种异构系统及异构系统的模型同步方法
CN104699771A (zh) * 2015-03-02 2015-06-10 北京京东尚科信息技术有限公司 数据同步方法和集群节点
CN107506403A (zh) * 2017-08-03 2017-12-22 国网江苏省电力公司信息通信分公司 一种网格化信息系统及数据同步变动方法
CN107506403B (zh) * 2017-08-03 2020-06-23 国网江苏省电力公司信息通信分公司 一种网格化信息系统及数据同步变动方法
CN108415951A (zh) * 2018-02-02 2018-08-17 广东睿江云计算股份有限公司 一种数据库控制方法和系统
CN108959504A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种文件系统远程数据同步实现方法和系统
CN108959504B (zh) * 2018-06-27 2021-11-26 郑州云海信息技术有限公司 一种文件系统远程数据同步实现方法和系统

Also Published As

Publication number Publication date
CN102065137B (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
CN102065137B (zh) 一种网络数据库表数据应用程序同步的方法
US9591088B2 (en) Method and system for collecting and providing application usage analytics
US9613147B2 (en) Collection of telemetry data by a telemetry library within a client device
CN105373448B (zh) 数据库中故障数据的恢复方法和系统
CN102571966B (zh) 一种大型xml文件的网络传输方法
CN107818120B (zh) 基于大数据的数据处理方法和装置
CN103379140B (zh) 一种日志处理规则同步方法及相关设备和系统
CN106951557B (zh) 日志关联方法、装置和应用其的计算机系统
MY142583A (en) Method, system, and apparatus for discovering and connecting to data sources
JP2010128877A (ja) ウェブシステムおよび処理記録収集方法
CN102833080A (zh) 一种应用软件的进程间通信方法和系统
CN110781230A (zh) 一种数据接入方法、装置及设备
KR20190079517A (ko) 블록체인 기반 IoT 환경에서의 다중 검색을 지원하는 데이터 구조체를 이용한 검색 방법 및 그 방법에 따른 장치
CN111915301A (zh) 基于区块链的数据处理方法、装置、电子设备及可读介质
CN104899312B (zh) 一种多层分类数据体系的数据更新方法
US10003669B2 (en) Methods and apparatus to create and transmit a condensed logging data file
CN100433642C (zh) 一种故障定位和故障排除方法和系统
US20240004851A1 (en) Systems and methods for creating a reorganization-immune blockchain index using mono-increasing sequence records
CN116155689A (zh) 一种基于ClickHouse的高可用Kong网关日志分析方法及系统
JP6364727B2 (ja) 情報処理システム、分散処理方法、及び、プログラム
US20150331917A1 (en) Recording medium having stored therein transmission order determination program, transmission order determination device, and transmission order determination method
CN114925044A (zh) 基于云存储的数据同步方法、装置、设备及存储介质
US20070271229A1 (en) System and method for data searching among multiple enterprise applications
CN107330089B (zh) 跨网络结构化数据收集系统
Watson et al. Establishing a Geospatial Discovery Network with efficient discovery and modeling services in multi-cloud environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant