工具之家 > 工业技术 > TCP探针防数据中断方法研究与实现

TCP探针防数据中断方法研究与实现

发布时间:2019-07-12 02:13:05 文章来源:工具之家    

 推荐工具:金融理财app工具实用工具

朱颖琪

摘 要随着信息化debuduan深入,企业内部存zai着各种各样de异构软硬件平台,形成异构shujuyuan。当各应yong系统间需要jin行数据交liu时,其复制数据xiao率及准确性、及时性bi然受dao平台异影响。wei了解决这一问题,tong常利用数据ku数据实时同bu进行交互。但是,当各平台数据liang为PB级,数据交流时间较长,各种保护机制将中断lianjie,导致之前de数据失效,因此有必要设置TCPtan针防数据中断。

关键词:海liang数据交hu异构平台;TCP探针

DOI:1.16640/j.cnki.37-1222/t.2017.20.112

当同步数据过cheng中yuanshu据长时间处于前期查询处理,而不能即shijiang数据同步到mu的数juku,目的数据库在一定时间内jian测不到监听连接通道中有数据推送,就会默认为源数据库数据已完成同步,随后立即主动在TCP协议中xiang源数据库fasongFIN标志位,源数据库在接收到FIN标志位后会主动断掉监听连接通道,这样的“jiajie束”造成数据同步失败。因此将目的数据库推迟发送FIN标志位是关键点。

1 原理说ming

根据TCP面向连接的通信协议,采qu在目的数据库设置TCP探针调整超时参数,使其yuyewu同步数据量相适应,baozheng在大数据量同步之前,不会立即发送FIN标志位结shushu据同步传输。

没有设置TCP探针前报错如下:

Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=172.**.**.**)(PORT=****))

TNS-00505: 操zuochao时

nt secondary err code: 60

nt OS err code: 0

ns secondary err code: 12560

nt main err code: 505

TNS-12535: TNS: 操作超時

Tracing not turned on.

Tns error struct:

ns main err code: 12535

VERSION INFORMATION: TNS for 32-bit Windows: Version 11.1.0.7.0 - Production Oracle Bequeath NT

Protocol Adapter for 32-bit Windows: Version 11.1.0.7.0 - Production Windows NT TCP/IP NT Protocol

Adapter for 32-bit Windows: Version 11.1.0.7.0 - Production

Fatal NI connect error 12170.

Oracle 11G有两个参数SQLNET.INBOUND_CONNECT_TIMEOUT

和INBOUND_CONNECT_TIMEOUT_listenername;他们的默认值均为60s,这两个参数负责登陆用户与服务器验证的超时时间,在Oracle 10G R2以前的版ben默认是0s,为了防止Denial of Service (DOS)攻击,在此后的版本中才设置为60sruguo在数据交互期间目的数据库没有收到源数据库的同步数据,那么将会在60后发送FIN标志位中断数据同步通道并给chu错误提示,对于数据量较大的同步作业这个超时时间显然较短。

设置TCP探针后:

在目的数据库Oracle数据库设置INBOUND_CONNECT_TIMEOUT

参数,按照Oracle官方文档建议设为360s(实际参数值ke根据不同业务需求进行设置)Oracle 11g has a problem that is session timeout problem. You can add a row to sqlnet.ora file and listener.ora file to resolve session timeout problem.

sqlnet.ora

Note : Add this line to below of sqlnet.ora file.

INBOUND_CONNECT_TIMEOUT=360

listener.ora

Note : Add this line to below of listener.ora file.

通过将INBOUND_CONNECT_TIMEOUT设置为360秒,可shimu的数据库延迟6分钟发送FIN标志位。这样便能保证数据同步成功,继而保证应用系统间需要进行数据交流时其效率及准确性。

2 成果实施效果

基于Oracle数据库的TCP探针ji术已在营销、人资、财务等多个zhong要系统数据库进行设置调整,至今未出现故障和隐患。取得如下效果:

(1)极大保障了应用系统jianshu据同步准确性、完整性。

(2)减轻目的端数据库的负载,不会因INBOUND_CONNECT_TIMEOUT参数设置过短在交互过程中频繁的向源端发起FIN标志位请求,断开数据传输通道。

(3)减少人力资源支出,数据量较大时,会花费很长时间,期间需派人员专门kan守防止中途出现同步失败。人力资源成本标准为平均每小时人力成本约为:112元。现在业务数据量巨大,平均500GB的数据至少需12小时完成。如果合理设置INBOUND_CONNECT_TIMEOUT参数,同步数据时就不需要专人看守,一ci同步500GB的数据量便可节约人力资源成本12小时 * 112元/每小时=1350元,zhong要业务数据一年同步96次,便可节约人力资源成本96次 * 1350次/元=129600元。如果she及到的数据量共计10TB,那么年节资总额为:10TB/500GB*129600元=2592000元。

3 成果推广前景

只要是通过Oracle数据库之间的业务数据同步,均可使用TCP探针技术。对于后续其他重要业务系统数据的同步抽取有着重要支撑作用。

4 创新点总结

TCP探针技术根本上解决了数据交互通道中,在长时间没有数据接收与发送的状态下,目的端主动断掉数据通道的问题,通过对TCP探针的设置能使数据的整个交互通道稳定可靠,不会因为数据超时问题,提前结束数据交互,另外设置TCP探针技术还有助于提升连接超时时间,目的端设置TCP探针后会每隔一段时间向源端发送ACK标志位说明需要保持数据通道使用,因此连接超时时间便会提升。endprint

山东工业技术 2017年20期

山东工业技术的其它文章 透水混凝土透水性试验分析 两栖装甲突击车海上训练安全评价方法研究 基于最小二乘法的组合权重优化模xing 模型误差的诊断及半参数补偿方fa 高职院校高等数学立体化教cai建设的研究与探索 激光雕刻机kong制系统研究
转载请注明来源。原文地址:https://www.5420.com.cn/view/2019/0712/18583/
 与本篇相关的热门内容: