CN102065137B - 一种网络数据库表数据应用程序同步的方法 - Google Patents
一种网络数据库表数据应用程序同步的方法 Download PDFInfo
- Publication number
- CN102065137B CN102065137B CN 201010597782 CN201010597782A CN102065137B CN 102065137 B CN102065137 B CN 102065137B CN 201010597782 CN201010597782 CN 201010597782 CN 201010597782 A CN201010597782 A CN 201010597782A CN 102065137 B CN102065137 B CN 102065137B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- database
- server end
- synchronizing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 6
- 230000001360 synchronised effect Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000013144 data compression Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种网络数据库表数据应用程序同步的方法,首先把需要同步的两个数据库定义为客户端和服务器端,数据来源一端的数据库定义为客户端,而数据需要更新一端的数据库定义为服务器端,客户端系统定时器服务通过读取基本的配置信息表来确认需要同步的表以及对应的同步服务定义,同步服务和服务器端的同步服务通过建立HTTP通道来实现两个数据库之间的数据同步,数据在进入HTTP通道之前进行了压缩操作,到底服务器端的同步服务之后进行解压,解压之后实现数据库的分析处理,执行更新数据的操作。
Description
技术领域
本发明涉及一种互联网行业分布式数据库领域,通过J2EE架构实现的网络数据库数据之间的同步,具体地说是一种网络数据库表数据同步的应用程序的实现方法。
背景技术
随着互联网应用日新月异的发展,企业在互联网上都有自己的应用系统、网站等;跨地域不同网络的限制,导致因为网络原因需要站点建立在不同的地域,即便是在同一城市或者地域也会因为用户量的庞大,单单的硬件上的考虑很难满足,技术架构需要支持群集的方式,包括Web服务器的负载均衡、应用服务器的集群、以及数据库层面的水平切分,都是为了支持分布式的架构,在这种背景下,大多数Web服务器和应用服务器都提供一些功能去快速实现,数据库层面反而限制比较多。
人们在工作、学习和生活中越来越多地使用互联网,互联网成为了一种载体,改变着人们的生活;很多企业也看到了机遇,把自己的信息系统建立在互联网上,企业员工通过互联网进行办公,不管是在家里还是在出差的路途上都能通过互联网及时的获得公司的信息,真正的实现了无论在何地都能进行办公;电子商务在互联网上也取得了飞速发展,各种各样的网站应时而生。在信息系统建立在互联网的同时,大的企业应用系统的可用性受到了很大挑战,企业的数据是一种重要的资源,数据库的安全性和稳定性是保证正常业务运转的根本,基于大用户量的考虑系统往往都是采用负载均衡式的分布式系统,在分布式环境下数据库之间的数据需要通过网络进行交互,很多时候处于容灾的考虑也需要建立异地数据库备份,本发明就是为了解决网络数据库之间的数据交互问题,通过应用程序实现异地数据库数据之间的同步。
发明内容
本发明的目的是提供一种本发明就是解决数据库切分之后数据库之间数据的一致性问题,从而实现数据库分布式架构的目的。
本发明的目的是按以下方式实现的,首先把需要同步的两个数据库定义为客户端和服务器端,数据来源一端的数据库定义为客户端,而数据需要更新一端的数据库定义为服务器端,客户端系统定时器服务通过读取基本的配置信息表来确认需要同步的表以及对应的同步服务定义,同步服务和服务器端的同步服务通过建立HTTP通道来实现两个数据库之间的数据同步,数据在进入HTTP通道之前进行了压缩操作,到底服务器端的同步服务之后进行解压,解压之后实现数据库的分析处理,执行更新数据的操作;
具体步骤如下:
1)WEB服务引擎通过读取配置信息建立需要数据同步表的数据同步任务;
2)数据任务执行具体的数据同步服务对数据进行读取加工,包括压缩整理等;并建立数据传输通道发送数据;
3)服务器端的同步服务接收数据之后对数据进行相应的加工处理,包括解压、校验等过程;
4)数据同步服务根据配置信息读取数据并对数据进行分流处理,根据不同情况将数据同步到数据库中;
5)同步服务完成数据同步操作并记录接收日志反馈接收信息,客户端获取正确的反馈结果完成完整的数据同步操作。
应用程序WEB服务方式实现的网络多数据库之间的数据同步,通过HTTP协议建立一种受限比较低的传输通道,并在数据传输上增加数据压缩、解压、校验步骤,保证数据的高效、安全、一致。
本发明的实现方法所具有的优异效果如下:
1)采用WEB服务实现,避免了数据库的差异,适用于多种方式实现的应用系统。
2)通过HTTP协议建立通道进行传输,避免了很多时候网络防火墙的限制。
3)数据在整个通过过程中采用了压缩和加压的方式,既保证了数据传输的高效,减少了网络带宽的使用;同时也保证了传输的安全性。
4)实现了网络上多数据库之间的数据同步,适用于分布式架构下的数据库系统。
附图说明
附图1为网络数据库表数据应用程序同步流程图;
具体实施方式
参照说明书附图结合实施例对本发明的作以下详细地说明。
实施例:下面分别介绍主要几部分的实现内容:
初始化的过程实际上服务引擎读取配置信息的过程,包括从上传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
创建定时任务
根据读取到的配置信息为上传数据(UPLOAD_TABS)表中的每一个数据创建一个定时任务,并添加到定时调度中。如下表所示。
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) | 否 |
从上传日志中根据记录类型和增量字段读取上一次成功上传的信息,记录下增量字段值。然后根据表名、上传字段等配置信息生成一个按照增量字段方向排序的标准SQL。执行SQL后得到一个java.util.ResultSet,逐行扫描结果集到最大可上传行数,把每一行记录根据结果集元数据保存在一个java.uti.Map里,然后再把Map都存放到java.util.List中。如下表所示。
UPLOAD_LOG
UPLOAD_COLS
INCREMENT_COLS
调用上传工具类执行上传数据操作,数据以对象的方式传递和解析。分为以下步骤:
1)读对象;2)压缩成字节流;3)读字节流;4)分包;5)传输字节流;6)验证传输状态;7)接收字节流;8)验证完整性;9)读字节流;10)解压缩;11)读对象;
读取接收到的对象,包括表名等信息。主键、增量字段等信息如果在接收端已经配置,也可以不同时上传,在接收端根据表名等信息再进行查询。
遍历接收到的更新数据执行,根据主键判断该条记录是否已经存在,如果存在分流到一个以后执行更新操作的数组中,如果不存在则分流到用来执行插入操作的数组中。
执行插入操作的过程要考虑主键冲突的情况,对于使用最大号表情况的数据插入操作,如果两方程序都同时可以执行插入操作的话,因为最新值的不同步,可能会导致生成的最大号重复。
执行更新后记录接收日志,主要包括类型、日期、时间、增量字段、消耗时间、状态等信息,如下表所示。
RECEIVE_LOG
返回结果
不管执行成功与否,只要是网络状态正常,都应当返回一个执行的结果。这里面的信息通常包括状态、接收总记录数、更新记录数量、插入记录数量、增量字段以及最大增量值等信息。
得到返回结果后或者出现网络通信异常后都应当几下本次上传的信息,主要包括类型、日期、时间、增量字段、消耗时间、状态等信息。
根据这个日志检查每个表的上传状态。如下表所示。
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) |
考虑通过在上传时包含用户与密码对象进行安全性包括,在接收端对取得到数据与密码进行校验,如果校验成功则执行后续操作,失败则退出。
对于复杂的数据同步操作,使用通用程序可能很难完成定制,可考虑定制开发程序实现。这些类型的程序一般是客户端程序与服务器端程序成对出现。可以根据特殊的业务需要进行特定的开发。如下表所示。
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) |
检查定时任务的状态,每个定时任务的都有一个时间戳,如果上次执行的时间戳到当前时间超过了阈值设置,则根据情况的轻重缓急生成相应的告警信息。如果问题非常严重,达到了设定的最大限度值,则取消任务重新调度一次。
定时检查上传日志表,逐个扫描每个上传任务的执行情况,对出现问题的上传任务进行深入分析。
本发明的有益效果是:
1、本发明实现了通过应用程序WEB服务方式进行多数据库之间数据同步的问题,避免了通过数据库产品本身去实现的复杂程度。
2、本发明同步服务采用HTTP协议方式建立传输通道,避免了很多防火墙层面的限制,只要是公网访问的通用端口就能建立数据传输通道。
3、本发明实现了传输过程中的数据压缩、数据解压以及数据校验等步骤,增加了数据传输的高效性以及数据的准确性和安全性。
Claims (2)
1.一种网络数据库用应用程序实现表数据同步的方法,其特征在于首先把需要同步的两个数据库定义为客户端和服务器端,数据来源一端的数据库定义为客户端,而数据需要更新一端的数据库定义为服务器端,客户端系统定时器服务通过读取基本的配置信息表来确认需要同步的表以及对应的同步服务定义,客户端的同步服务和服务器端的同步服务通过建立HTTP通道来实现两个数据库之间的数据同步,数据在进入HTTP通道之前进行了压缩操作,压缩数据传输到达服务器端的同步服务之后进行解压,解压之后实现数据库的分析处理,执行更新数据的操作;
具体步骤如下:
1)WEB服务引擎通过读取配置信息建立需要数据同步表的数据同步任务;
2)同步数据任务执行具体的数据同步服务对数据进行读取加工,包括压缩整理数据,并建立数据传输的HTTP通道发送数据;
3)服务器端的同步服务接收数据之后对数据进行相应的加工处理,包括解压、校验过程;
4)服务器端的数据同步服务,根据配置信息读取数据并对数据进行分流处理,根据不同情况将数据同步到数据库中;
5)服务器端的数据同步服务完成数据同步操作并记录接收日志反馈接收信息,客户端获取正确的反馈结果完成完整的数据同步操作。
2.根据权利要求1所述的方法,其特征在于,用应用程序实现的网络多数据库之间的数据同步,通过HTTP协议建立一种受限比较低的传输通道,并在数据传输上增加数据压缩、解压、校验步骤,保证数据的安全、一致。
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 CN102065137A (zh) | 2011-05-18 |
CN102065137B true 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) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106200B (zh) * | 2011-11-09 | 2017-08-01 | 上海盛大网络发展有限公司 | 非关系型数据库同步系统及双写同步方法 |
CN103020157A (zh) * | 2012-11-23 | 2013-04-03 | 山东电力集团公司 | 一种跨物理隔离的高可靠性实时文件生成方法 |
CN103220178B (zh) * | 2013-04-24 | 2016-08-17 | 沈文策 | 网络应用处理系统和方法 |
CN104133674B (zh) * | 2014-07-11 | 2017-07-11 | 国家电网公司 | 一种异构系统及异构系统的模型同步方法 |
CN104699771B (zh) * | 2015-03-02 | 2019-09-20 | 北京京东尚科信息技术有限公司 | 数据同步方法和集群节点 |
CN107506403B (zh) * | 2017-08-03 | 2020-06-23 | 国网江苏省电力公司信息通信分公司 | 一种网格化信息系统及数据同步变动方法 |
CN108415951B (zh) * | 2018-02-02 | 2022-01-11 | 广东睿江云计算股份有限公司 | 一种数据库控制方法和系统 |
CN108959504B (zh) * | 2018-06-27 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种文件系统远程数据同步实现方法和系统 |
Citations (4)
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 | 微软公司 | 带同步的双向数据修改 |
-
2010
- 2010-12-21 CN CN 201010597782 patent/CN102065137B/zh active Active
Patent Citations (4)
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 | 中国电信股份有限公司 | 一种访问移动业务门户数据的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102065137A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102065137B (zh) | 一种网络数据库表数据应用程序同步的方法 | |
US9613147B2 (en) | Collection of telemetry data by a telemetry library within a client device | |
CN107818120B (zh) | 基于大数据的数据处理方法和装置 | |
CN103209087B (zh) | 分布式日志统计处理方法和系统 | |
US20160134716A1 (en) | Method and system for collecting and providing application usage analytics | |
CN106951557B (zh) | 日志关联方法、装置和应用其的计算机系统 | |
CN101371245A (zh) | 动态应用程序使用信息的分布式采集和汇集 | |
JP2010128877A (ja) | ウェブシステムおよび処理記録収集方法 | |
US9342396B2 (en) | Self-stabilizing network nodes in mobile discovery system | |
CN113282611B (zh) | 一种流数据同步的方法、装置、计算机设备及存储介质 | |
CN102833080A (zh) | 一种应用软件的进程间通信方法和系统 | |
CN109716317A (zh) | 用于创建时间准确的事件流的系统和方法 | |
CN111915301A (zh) | 基于区块链的数据处理方法、装置、电子设备及可读介质 | |
CA2519021A1 (en) | System and method of providing date, arithmetic, and other functions for olap sources | |
JP6364727B2 (ja) | 情報処理システム、分散処理方法、及び、プログラム | |
CN102611758B (zh) | 一种利用负载均衡器同步集群数据的方法 | |
JP2014026480A (ja) | 複数の情報システムおける出力比較方法 | |
Doblander et al. | Shared dictionary compression in publish/subscribe systems | |
CN116155689A (zh) | 一种基于ClickHouse的高可用Kong网关日志分析方法及系统 | |
Anderson | Professionalization of journalism | |
CN110569456B (zh) | Web端数据离线缓存方法及装置、电子设备 | |
CN114925044A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
JP5175817B2 (ja) | リクエスト代行システム及びリクエスト代行方法 | |
US12160469B2 (en) | Systems and methods for improved blockchain data indexing by avoiding throughput bottlenecks | |
KR101584661B1 (ko) | Rte 기반 빅데이터 분석 시스템 및 방법 |
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 |