登录  /  注册
NTP方式保证以时间戳同步可靠性
php中文网
发布: 2016-06-07 15:56:20
原创
1211人浏览过

数据库同步的方式有设置标志位同步方式、以时间戳同步的方式,对于一对一的同步这两种方式都满足,但是对于一对多的同步,则只能选择时间戳的同步方式了,但是已时间戳同步的方式的一个问题是如何可靠的保证数据可以不丢失的同步到数据库中。下面有两种方式

数据库同步的方式有设置标志位同步方式、以时间戳同步的方式,对于一对一的同步这两种方式都满足,但是对于一对多的同步,则只能选择时间戳的同步方式了,但是已时间戳同步的方式的一个问题是如何可靠的保证数据可以不丢失的同步到数据库中。下面有两种方式来保证以时间戳同步的可靠性。

1、计算服务器与客户端两台电脑的时间差,将该时间差记入在同步时间的比对当中,下图是使用kettle做的一个计算同步的时间差的思路:

\

该思路的xml代码为:


  
    getLeadValue
    
    
    
    Normal
    0
    /downloadServerData/commonData
    
    
    





ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELD


ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS
ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID
ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD
0.0 0.0 10000 50 50 N Y 50000 Y N 1000 100 - 2012/11/16 13:59:51.117 - 2014/05/12 15:22:12.008 backupConn ${CLIENT_DATABASE_IP} ORACLE Native ${CLIENT_DATABASE_NAME} ${CLIENT_DATABASE_PORT} ${CLIENT_DATABASE_USERNAME} ${CLIENT_DATABASE_PASSWORD} FORCE_IDENTIFIERS_TO_LOWERCASEN FORCE_IDENTIFIERS_TO_UPPERCASEN IS_CLUSTEREDN PORT_NUMBER${CLIENT_DATABASE_PORT} QUOTE_ALL_FIELDSN SUPPORTS_BOOLEAN_DATA_TYPEN USE_POOLINGN serverConn ${SERVER_DATABASE_IP} ORACLE Native ${SERVER_DATABASE_NAME} ${SERVER_DATABASE_PORT} ${SERVER_DATABASE_USERNAME} ${SERVER_DATABASE_PASSWORD} FORCE_IDENTIFIERS_TO_LOWERCASEN FORCE_IDENTIFIERS_TO_UPPERCASEN IS_CLUSTEREDN PORT_NUMBER${SERVER_DATABASE_PORT} QUOTE_ALL_FIELDSN SUPPORTS_BOOLEAN_DATA_TYPEN USE_POOLINGN wardConn ${CLIENT_DATABASE_IP} ORACLE Native ${CLIENT_DATABASE_NAME} ${CLIENT_DATABASE_PORT} ${CLIENT_DATABASE_USERNAME} ${CLIENT_DATABASE_PASSWORD} FORCE_IDENTIFIERS_TO_LOWERCASEN FORCE_IDENTIFIERS_TO_UPPERCASEN INITIAL_POOL_SIZE50 IS_CLUSTEREDN MAXIMUM_POOL_SIZE500 PORT_NUMBER${CLIENT_DATABASE_PORT} QUOTE_ALL_FIELDSN SUPPORTS_BOOLEAN_DATA_TYPEN USE_POOLINGY 增加常量增加常量 2Y 计算器Set Variables 2Y 调用DB存储过程调用DB存储过程 2Y 调用DB存储过程 2增加常量Y 增加常量 2计算器Y Set Variables 2 SetVariable Y 1 none TIMEDIFF DOWNLOAD_SERVER_COMMON_DATA_LEAD JVM Y 118 273 Y 增加常量 Constant Y 1 none DIVIDEND Integer 86400000 -1 -1 388 241 Y 增加常量 2 Constant Y 1 none DEVIATION Integer 10000 -1 -1 364 362 Y 计算器 Calculator Y 1 none TEMP SUBTRACT LOCAL_DATE SERVER_DATE BigNumber -1 -1 N TEMP2 ADD TEMP DEVIATION BigNumber -1 -1 N TIMEDIFF DIVIDE TEMP2 DIVIDEND BigNumber -1 -1 N 251 272 Y 调用DB存储过程 DBProc Y 1 none serverConn F_GET_SYSDATE2INT SERVER_DATE BigNumber Y 140 134 Y 调用DB存储过程 2 DBProc Y 1 none wardConn F_GET_SYSDATE2INT LOCAL_DATE BigNumber Y 353 132 Y N
登录后复制

2、通过NTP方式校对系统时间

1)如果可以连接到Internet网中,则可以采用国际上的校时服务器去校对时间

2)如果在内网中且不能上网,则可以自己定义一台都可访问到的台式机作为NTP服务器,其他机子与该计算机教士即可,下面是window NTP校时服务器的设置。

可以参考文章:NTP服务同步时间方案

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学