• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      TCP探針防數(shù)據(jù)中斷方法研究與實現(xiàn)

      2017-10-17 22:18:20朱穎琪
      山東工業(yè)技術(shù) 2017年20期

      朱穎琪

      摘 要:隨著信息化的不斷深入,企業(yè)內(nèi)部存在著各種各樣的異構(gòu)軟、硬件平臺,形成異構(gòu)數(shù)據(jù)源。當(dāng)各應(yīng)用系統(tǒng)間需要進行數(shù)據(jù)交流時,其復(fù)制數(shù)據(jù)效率及準確性、及時性必然受到平臺異影響。為了解決這一問題,通常利用數(shù)據(jù)庫數(shù)據(jù)實時同步進行交互。但是,當(dāng)各平臺數(shù)據(jù)量為PB級,數(shù)據(jù)交流時間較長,各種保護機制將中斷連接,導(dǎo)致之前的數(shù)據(jù)失效,因此有必要設(shè)置TCP探針防數(shù)據(jù)中斷。

      關(guān)鍵詞:海量數(shù)據(jù)交互;異構(gòu)平臺;TCP探針

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

      當(dāng)同步數(shù)據(jù)過程中源數(shù)據(jù)長時間處于前期查詢處理,而不能即時將數(shù)據(jù)同步到目的數(shù)據(jù)庫,目的數(shù)據(jù)庫在一定時間內(nèi)檢測不到監(jiān)聽連接通道中有數(shù)據(jù)推送,就會默認為源數(shù)據(jù)庫數(shù)據(jù)已完成同步,隨后立即主動在TCP協(xié)議中向源數(shù)據(jù)庫發(fā)送FIN標志位,源數(shù)據(jù)庫在接收到FIN標志位后會主動斷掉監(jiān)聽連接通道,這樣的“假結(jié)束”造成數(shù)據(jù)同步失敗。因此將目的數(shù)據(jù)庫推遲發(fā)送FIN標志位是關(guān)鍵點。

      1 原理說明

      根據(jù)TCP面向連接的通信協(xié)議,采取在目的數(shù)據(jù)庫設(shè)置TCP探針調(diào)整超時參數(shù),使其與業(yè)務(wù)同步數(shù)據(jù)量相適應(yīng),保證在大數(shù)據(jù)量同步之前,不會立即發(fā)送FIN標志位結(jié)束數(shù)據(jù)同步傳輸。

      沒有設(shè)置TCP探針前報錯如下:

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

      TNS-00505: 操作超時

      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有兩個參數(shù)SQLNET.INBOUND_CONNECT_TIMEOUT

      和INBOUND_CONNECT_TIMEOUT_listenername;他們的默認值均為60s,這兩個參數(shù)負責(zé)登陸用戶與服務(wù)器驗證的超時時間,在Oracle 10G R2以前的版本默認是0s,為了防止Denial of Service (DOS)攻擊,在此后的版本中才設(shè)置為60s。如果在數(shù)據(jù)交互期間目的數(shù)據(jù)庫沒有收到源數(shù)據(jù)庫的同步數(shù)據(jù),那么將會在60后發(fā)送FIN標志位中斷數(shù)據(jù)同步通道并給出錯誤提示,對于數(shù)據(jù)量較大的同步作業(yè)這個超時時間顯然較短。

      設(shè)置TCP探針后:

      在目的數(shù)據(jù)庫Oracle數(shù)據(jù)庫設(shè)置INBOUND_CONNECT_TIMEOUT

      參數(shù),按照Oracle官方文檔建議設(shè)為360s(實際參數(shù)值可根據(jù)不同業(yè)務(wù)需求進行設(shè)置)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設(shè)置為360秒,可使目的數(shù)據(jù)庫延遲6分鐘發(fā)送FIN標志位。這樣便能保證數(shù)據(jù)同步成功,繼而保證應(yīng)用系統(tǒng)間需要進行數(shù)據(jù)交流時其效率及準確性。

      2 成果實施效果

      基于Oracle數(shù)據(jù)庫的TCP探針技術(shù)已在營銷、人資、財務(wù)等多個重要系統(tǒng)數(shù)據(jù)庫進行設(shè)置調(diào)整,至今未出現(xiàn)故障和隱患。取得如下效果:

      (1)極大保障了應(yīng)用系統(tǒng)間數(shù)據(jù)同步準確性、完整性。

      (2)減輕目的端數(shù)據(jù)庫的負載,不會因INBOUND_CONNECT_TIMEOUT參數(shù)設(shè)置過短在交互過程中頻繁的向源端發(fā)起FIN標志位請求,斷開數(shù)據(jù)傳輸通道。

      (3)減少人力資源支出,數(shù)據(jù)量較大時,會花費很長時間,期間需派人員專門看守防止中途出現(xiàn)同步失敗。人力資源成本標準為平均每小時人力成本約為:112元。現(xiàn)在業(yè)務(wù)數(shù)據(jù)量巨大,平均500GB的數(shù)據(jù)至少需12小時完成。如果合理設(shè)置INBOUND_CONNECT_TIMEOUT參數(shù),同步數(shù)據(jù)時就不需要專人看守,一次同步500GB的數(shù)據(jù)量便可節(jié)約人力資源成本12小時 * 112元/每小時=1350元,重要業(yè)務(wù)數(shù)據(jù)一年同步96次,便可節(jié)約人力資源成本96次 * 1350次/元=129600元。如果涉及到的數(shù)據(jù)量共計10TB,那么年節(jié)資總額為:10TB/500GB*129600元=2592000元。

      3 成果推廣前景

      只要是通過Oracle數(shù)據(jù)庫之間的業(yè)務(wù)數(shù)據(jù)同步,均可使用TCP探針技術(shù)。對于后續(xù)其他重要業(yè)務(wù)系統(tǒng)數(shù)據(jù)的同步抽取有著重要支撐作用。

      4 創(chuàng)新點總結(jié)

      TCP探針技術(shù)根本上解決了數(shù)據(jù)交互通道中,在長時間沒有數(shù)據(jù)接收與發(fā)送的狀態(tài)下,目的端主動斷掉數(shù)據(jù)通道的問題,通過對TCP探針的設(shè)置能使數(shù)據(jù)的整個交互通道穩(wěn)定可靠,不會因為數(shù)據(jù)超時問題,提前結(jié)束數(shù)據(jù)交互,另外設(shè)置TCP探針技術(shù)還有助于提升連接超時時間,目的端設(shè)置TCP探針后會每隔一段時間向源端發(fā)送ACK標志位說明需要保持數(shù)據(jù)通道使用,因此連接超時時間便會提升。endprint

      桐柏县| 萍乡市| 绥江县| 中西区| 淮北市| 浦县| 巴楚县| 阿拉善左旗| 上思县| 平阴县| 罗田县| 聂拉木县| 华阴市| 子洲县| 广东省| 江孜县| 双流县| 天柱县| 定边县| 孝感市| 江山市| 绥中县| 福海县| 马龙县| 全州县| 岳池县| 定陶县| 西平县| 兴山县| 汝城县| 安顺市| 万安县| 科技| 咸宁市| 南陵县| 吉隆县| 东丽区| 荔波县| 崇明县| 南郑县| 乌海市|