• 
    

    
    

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

      ?

      數(shù)據(jù)庫(kù)同步編程解決方案

      2017-08-31 21:51:46王站立
      關(guān)鍵詞:附加條件字段線程

      王站立,修 瑋

      (朝陽(yáng)師范高等專科學(xué)校,遼寧朝陽(yáng)122000)

      【學(xué)術(shù)研究】

      數(shù)據(jù)庫(kù)同步編程解決方案

      王站立,修 瑋

      (朝陽(yáng)師范高等??茖W(xué)校,遼寧朝陽(yáng)122000)

      在實(shí)現(xiàn)信息系統(tǒng)過(guò)程中,多個(gè)異地的數(shù)據(jù)庫(kù)需要實(shí)現(xiàn)相互同步.不同的數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)本身規(guī)則提出的數(shù)據(jù)庫(kù)同步方案五花八門(mén),而且約束繁雜.所以數(shù)據(jù)庫(kù)管理員可根據(jù)系統(tǒng)環(huán)境不同編程來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步.

      數(shù)據(jù)庫(kù)同步;編程;解決方案

      在信息化社會(huì)中,信息是進(jìn)行決策管理和科學(xué)研究的前提條件.?dāng)?shù)據(jù)庫(kù)是管理信息系統(tǒng)、決策支持系統(tǒng)、辦公自動(dòng)系統(tǒng)等各類信息系統(tǒng)的核心部分[1].在信息系統(tǒng)中,多個(gè)異地?cái)?shù)據(jù)庫(kù)服務(wù)器可能形成樹(shù)型的邏輯結(jié)構(gòu),即一個(gè)服務(wù)器只能有一個(gè)上級(jí)服務(wù)器,但可以有多個(gè)下級(jí)服務(wù)器,所以將需要同步的數(shù)據(jù)分為向上同步和向下同步.向上同步是指將本級(jí)服務(wù)器數(shù)據(jù)同步至上級(jí)(根節(jié)點(diǎn)方向)服務(wù)器中,而向下同步指將本級(jí)服務(wù)器數(shù)據(jù)同步至下級(jí)(葉子節(jié)點(diǎn)方向)服務(wù)器中.異地?cái)?shù)據(jù)庫(kù)同步已經(jīng)成為一個(gè)重要研究方向,下面以O(shè)racle數(shù)據(jù)庫(kù)系統(tǒng)為例,說(shuō)明如何通過(guò)編程實(shí)現(xiàn)數(shù)據(jù)同步.

      1 方案分析

      在實(shí)現(xiàn)過(guò)程中需要注意幾個(gè)事項(xiàng):首先,當(dāng)本級(jí)服務(wù)器同步數(shù)據(jù)到遠(yuǎn)程服務(wù)器后,遠(yuǎn)程服務(wù)器應(yīng)該避免再把同一數(shù)據(jù)同步回本級(jí)服務(wù)器,否則會(huì)造成死循環(huán);其次,本級(jí)服務(wù)器向遠(yuǎn)程同步過(guò)程中,對(duì)于當(dāng)前數(shù)據(jù)庫(kù)同一個(gè)表的數(shù)據(jù),可能需要同步至不同的遠(yuǎn)程服務(wù)器,而不是將表的全部數(shù)據(jù)同步至所有下級(jí)服務(wù)器[2].例如:將“人員信息表”中工作單位為遼寧地區(qū)的人員同步至沈陽(yáng)服務(wù)器,將工作單位為吉林地區(qū)的人員同步至長(zhǎng)春服務(wù)器,這樣在向遠(yuǎn)程服務(wù)器同步時(shí),查詢需要同步的數(shù)據(jù)需要附加條件,并且需要指定將數(shù)據(jù)同步到哪個(gè)服務(wù)器.

      2 實(shí)現(xiàn)流程

      考慮實(shí)現(xiàn)過(guò)程的復(fù)雜度,本文在同步過(guò)程中不考慮表結(jié)構(gòu)的不同,默認(rèn)為各個(gè)服務(wù)器中表結(jié)構(gòu)相同,而且僅同步表數(shù)據(jù),并不同步表結(jié)構(gòu).主要流程及步驟如下:

      2.1 讀取同步控制信息表

      表1為同步控制信息表,用來(lái)存儲(chǔ)控制實(shí)現(xiàn)同步線程(任務(wù))的啟動(dòng)、頻率等信息.同步線程中每間隔10 s(甚至更短時(shí)間)讀取本表信息,然后決定是否開(kāi)啟一次同步過(guò)程.其中字段SynchInterval為同步線程的執(zhí)行頻率,數(shù)據(jù)庫(kù)管理員可根據(jù)網(wǎng)絡(luò)帶寬、數(shù)據(jù)庫(kù)性能等綜合因素酌情設(shè)置或修改.如果本表信息同時(shí)滿足以下條件那么啟動(dòng)同步過(guò)程,否則沒(méi)必要啟動(dòng)同步:(1)Enabled標(biāo)志為1(啟用);(2)LastSynchTime + SynchInterval <系統(tǒng)當(dāng)前時(shí)間,說(shuō)明超過(guò)同步周期.

      表1 同步控制信息表

      字段名類型及寬度說(shuō)明SynchIntervalint同步時(shí)間間隔,單位:s.LastSynchTimeTIMESTAMP最后同步時(shí)間.Enabledint啟用1,停用0.

      2.2 遍歷遠(yuǎn)程服務(wù)器信息

      遠(yuǎn)程服務(wù)器信息存儲(chǔ)于數(shù)據(jù)庫(kù)表(SYNCHSERVER)中,該表用來(lái)存儲(chǔ)各服務(wù)器基本配置信息,這些信息主要包括服務(wù)器的類型(向上同步還是向下同步)、服務(wù)器IP、服務(wù)器端口、同步數(shù)據(jù)庫(kù)的名稱、數(shù)據(jù)庫(kù)用戶名、數(shù)據(jù)庫(kù)密碼等.同步線程開(kāi)啟后,根據(jù)服務(wù)器類型查詢服務(wù)器信息列表,對(duì)于列表中的每個(gè)服務(wù)器進(jìn)行連接,同步數(shù)據(jù)、斷開(kāi)連接.

      2.3 查詢當(dāng)前的遠(yuǎn)程服務(wù)器需要同步的表名及附加條件

      確定當(dāng)前同步的遠(yuǎn)程服務(wù)器后,根據(jù)服務(wù)器ID查詢同步索引表(表2).表2存儲(chǔ)需要同步到對(duì)應(yīng)服務(wù)器的表名及附加條件.獲取表名即可查詢對(duì)應(yīng)表需要同步的數(shù)據(jù).而在查詢對(duì)應(yīng)表格數(shù)據(jù)時(shí)候附加查詢條件則很好解決了同一表格數(shù)據(jù)同步到不同遠(yuǎn)程服務(wù)器的問(wèn)題.

      表2 同步索引列表

      字段名類型及寬度說(shuō)明TableNameVarchar(50)同步表名稱(主鍵).ServerIDint同步服務(wù)器ID(主鍵).AppendWhereVarchar(200)同步時(shí)附加條件.默認(rèn)為"".

      2.4 同步表數(shù)據(jù)

      為了記錄同步狀態(tài),對(duì)于每一張需要同步數(shù)據(jù)的表,除了原有需求字段外,加如下三個(gè)字段(見(jiàn)表3).

      其中,OPUP標(biāo)志向上同步時(shí)間,初始化可為NULL.向上同步本條數(shù)據(jù)后修改為系統(tǒng)當(dāng)前時(shí)間.OPDOWN為向下同步時(shí)間,使用方法同OPUP.OPCURR為本地操作記錄時(shí)間,更新記錄時(shí)需更新該字段為當(dāng)前系統(tǒng)時(shí)間.每次向上同步時(shí)可根據(jù)查詢條件(OPUP IS NULL OR OPUP< OPCURR) 檢索出滿足條件的記錄上傳.向下同步同理.如果需要同步的記錄過(guò)多而同步的頻率又過(guò)高則會(huì)增加服務(wù)器負(fù)擔(dān),建議每次同步部分?jǐn)?shù)據(jù)(例如,限制每次最多同步100條記錄).每張需要同步的表需要建立主索引,根據(jù)主索引來(lái)決定插入或更新限制到同步數(shù)據(jù)庫(kù)中.主索引字段不能使用自動(dòng)遞增方式.

      表3 功能表

      字段名類型說(shuō)明……根據(jù)需要表結(jié)構(gòu)字段OPUPTIMESTAMP向上同步時(shí)間OPDOWNTIMESTAMP向下同步時(shí)間OPCURRTIMESTAMP本地操作時(shí)間

      具體實(shí)現(xiàn)流程如圖1:

      3 結(jié)論

      利用編程的方法解決數(shù)據(jù)庫(kù)同步的方案優(yōu)點(diǎn)明顯.首先,同步過(guò)程更加方便和靈活,可隨意指定目標(biāo)服務(wù)器及同步的表,而且還可以將表中不同的記錄同步到不同的服務(wù)器;其次,擴(kuò)展性和維護(hù)性更強(qiáng).當(dāng)某個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),不會(huì)影響整體應(yīng)用,保證數(shù)據(jù)庫(kù)的持續(xù)工作;另外安全性和易用性也得到保障.編程實(shí)現(xiàn)的工具不會(huì)影響數(shù)據(jù)庫(kù)的內(nèi)部工作,只是根據(jù)用戶需求實(shí)現(xiàn)具體操作,大大方便了用戶.

      [1]譚懷遠(yuǎn). 讓Oracle跑得更快:Orace 10g性能分析與優(yōu)化思路[M].北京:電子工業(yè)出版社,2010.

      [2]格里沃爾德. Oracle高級(jí)編程[M].北京:清華大學(xué)出版社,2007.

      (審稿人 李樹(shù)東 鄧景茹,責(zé)任編輯 王 巍)

      The solution to database synchronization programming

      WANG Zhan-li, XIU Wei

      (Chaoyang Teachers College, Chaoyang Liaoning 122000)

      During the process of realizing information system, many databases in different areas need synchronization. Different database systems not only propose different synchronization schemes according to their own rules but also interweave complicatedly. So the database administrator can realize the database synchronization by programming according to different systematic environment.

      database synchronization; programming; solution

      2015—10—10

      王站立(1981-),男,遼寧朝陽(yáng)市人,講師,主要從事計(jì)算機(jī)教學(xué)研究.

      TP311.13

      A

      1008-5688(2017)01-0032-02

      猜你喜歡
      附加條件字段線程
      圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
      淺析附條件不起訴制度
      卷宗(2019年11期)2019-04-20 13:32:16
      淺談拉格朗日乘數(shù)法在條件極值的應(yīng)用
      淺談linux多線程協(xié)作
      激發(fā)中學(xué)生課外閱讀興趣要做到“三不要”
      CNMARC304字段和314字段責(zé)任附注方式解析
      無(wú)正題名文獻(xiàn)著錄方法評(píng)述
      關(guān)于CNMARC的3--字段改革的必要性與可行性研究
      Linux線程實(shí)現(xiàn)技術(shù)研究
      么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
      广德县| 西平县| 大同县| 香河县| 临澧县| 武鸣县| 新余市| 西贡区| 博白县| 高要市| 海阳市| 丁青县| 乌兰察布市| 兰州市| 昌图县| 双峰县| 白城市| 同心县| 敦煌市| 孟津县| 义乌市| 砀山县| 潢川县| 海兴县| 河间市| 甘泉县| 光山县| 逊克县| 麦盖提县| 楚雄市| 连城县| 宜黄县| 西平县| 滨海县| 炎陵县| 裕民县| 类乌齐县| 三亚市| 南昌市| 马边| 广安市|