隨著數(shù)據(jù)庫技術(shù)的發(fā)展和主機運算能力的提高,目前數(shù)據(jù)庫管理系統(tǒng)可以管理的數(shù)據(jù)庫規(guī)模越來越大,數(shù)據(jù)量高達幾百GB甚至TB以上。為方便數(shù)據(jù)管理和數(shù)據(jù)分析、挖掘、利用,企業(yè)及政府部門越來越傾向于構(gòu)建大型數(shù)據(jù)中心,實現(xiàn)數(shù)據(jù)大集中,但數(shù)據(jù)大集中對系統(tǒng)高可用性,系統(tǒng)容災(zāi),網(wǎng)絡(luò)運行提出了極高的要求,需要較高的建設(shè)成本,同時也隱含較大的系統(tǒng)風(fēng)險。如何既能充分享有數(shù)據(jù)集中的好處,又相對緩解數(shù)據(jù)中心系統(tǒng)風(fēng)險,降低運行維護成本,是很多單位面臨的課題。
1山東工商數(shù)據(jù)中心建設(shè)需求及問題
山東省工商行政管理局承擔(dān)著依法確認各類市場主體資格,對市場主體實行監(jiān)督管理,保護公平競爭,維護市場經(jīng)濟秩序的重要職責(zé)。為適應(yīng)社會經(jīng)濟的快速發(fā)展及工商行政管理改革創(chuàng)新需要,需要對各類工商業(yè)務(wù)系統(tǒng)進行整合,克服工商系統(tǒng)內(nèi)部各部門之間及上下級之間業(yè)務(wù)獨立,信息交流不暢的弊病,實現(xiàn)工商系統(tǒng)內(nèi)部橫向及縱向的業(yè)務(wù)聯(lián)動,實現(xiàn)對市場主體全方位動態(tài)監(jiān)管。為此,建立全省統(tǒng)一的業(yè)務(wù)系統(tǒng)和數(shù)據(jù)中心,實現(xiàn)工商基礎(chǔ)數(shù)據(jù)的集中和規(guī)范是一條必由之路。
將全省數(shù)據(jù)集中到省局,全省各級工商部門通過網(wǎng)絡(luò)聯(lián)接到省局數(shù)據(jù)中心進行聯(lián)機事務(wù)處理是一種比較理想的方案。但是,該方案面臨以下問題:
(1)山東工商“金管工程”二期建設(shè)實現(xiàn)了省、市、縣、所四級聯(lián)網(wǎng),采用統(tǒng)一的網(wǎng)絡(luò)標準,實行分級建設(shè)和運行維護,通信線路從運行商租賃。由于該網(wǎng)絡(luò)受限于各地運營商的服務(wù)質(zhì)量,同時各地維護能力不平衡,維護力量有限,難以滿足全省集中、實時訪問省局單一數(shù)據(jù)中心的需求。
(2)全省集中的聯(lián)機處理數(shù)據(jù)庫壓力極大,一旦出現(xiàn)故障,必然造成全系統(tǒng)業(yè)務(wù)停頓,系統(tǒng)運行風(fēng)險高,難以承受。
(3)全省集中的聯(lián)機處理數(shù)據(jù)中心由于地位非常關(guān)鍵,需要較高的運算能力和高可用的主機系統(tǒng),采取完備的系統(tǒng)容災(zāi)和備份措施,對運行環(huán)境及維護能力要求太高,一次性費用投入太高。
2兩級分布式數(shù)據(jù)中心設(shè)計
為緩解聯(lián)機處理業(yè)務(wù)全省集中的系統(tǒng)風(fēng)險和矛盾,山東工商采取了兩級分布式數(shù)據(jù)中心解決方案,即在市局建立數(shù)據(jù)運行中心,在省局建立數(shù)據(jù)處理中心。市局數(shù)據(jù)運行中心主要負責(zé)全市各項業(yè)務(wù)的聯(lián)機處理,全市各級工商業(yè)務(wù)人員通過部署在市局的J2EE應(yīng)用服務(wù)器直接連接到數(shù)據(jù)運行中心辦理各項工商業(yè)務(wù),日常業(yè)務(wù)產(chǎn)生的數(shù)據(jù)實時入庫。省局數(shù)據(jù)處理中心按照統(tǒng)一標準匯總?cè)I(yè)務(wù)數(shù)據(jù),主要提供數(shù)據(jù)挖掘分析,檢索服務(wù),數(shù)據(jù)共享,決策支持等,為各級政府部門和社會公眾提供基礎(chǔ)數(shù)據(jù)和決策支持服務(wù)。數(shù)據(jù)運行中心的數(shù)據(jù)在統(tǒng)一標準體系和安全管理體系的支持下,采取每日同步的方式匯總到省局數(shù)據(jù)處理中心的中心數(shù)據(jù)庫(ODS)。數(shù)據(jù)中心總體框架如圖1所示。
3數(shù)據(jù)同步設(shè)計
數(shù)據(jù)同步設(shè)計的重點在于市局數(shù)據(jù)運行中心向省局數(shù)據(jù)處理中心的數(shù)據(jù)匯總功能,即如何將全省各市局日常業(yè)務(wù)處理產(chǎn)生的大量基礎(chǔ)數(shù)據(jù)匯總到省局,如何在省、市間骨干線路帶寬有限(2M)的條件下,既要保證省市兩級數(shù)據(jù)中心的一致性、完整性,又要滿足一定的實時性要求,同時能夠方便管理,運行可靠。
考慮到省市兩級數(shù)據(jù)中心都采用了統(tǒng)一的OR—ACLE9i數(shù)據(jù)庫管理系統(tǒng),各市局采用統(tǒng)一的業(yè)務(wù)系統(tǒng),具有相同的數(shù)據(jù)庫結(jié)構(gòu),設(shè)計了基于DML觸發(fā)器的增量數(shù)據(jù)同步方案。DML觸發(fā)器是一種特殊類型的存儲過程,它在插人、刪除或修改特定表中數(shù)據(jù)時起作用。觸發(fā)器
的主要特點在于,不管何種原因造成數(shù)據(jù)變化,它均能夠自動響應(yīng)。當針對某特定表的insert,update或delete語句執(zhí)行時,用戶所定義的過程被隱含執(zhí)行。DML觸發(fā)器當insert,update或delete語句執(zhí)行時,由數(shù)據(jù)庫系統(tǒng)點火。
數(shù)據(jù)增量同步設(shè)計的思路是通過DML觸發(fā)器捕獲和記錄市局數(shù)據(jù)運行中心哪些記錄發(fā)生了變化,然后在省局數(shù)據(jù)處理中心數(shù)據(jù)庫中做相應(yīng)的變化,就可以實現(xiàn)數(shù)據(jù)更新同步,使數(shù)據(jù)處理中心的數(shù)據(jù)和數(shù)據(jù)運行中心的數(shù)據(jù)保持一致。
4數(shù)據(jù)同步實現(xiàn)
數(shù)據(jù)運行中心作為各市局業(yè)務(wù)的聯(lián)機處理數(shù)據(jù)庫,其數(shù)據(jù)每天都在發(fā)生變動,數(shù)據(jù)同步的關(guān)鍵是將數(shù)據(jù)的實時變動記錄下來。數(shù)據(jù)處理中心提取每個數(shù)據(jù)運行中心的數(shù)據(jù)變動記錄,定期(每天晚上)在數(shù)據(jù)處理中心數(shù)據(jù)庫“重做”,達到匯總各數(shù)據(jù)運行中心增量數(shù)據(jù)的目的,從而完成同步更新。
4.1數(shù)據(jù)運行中心
數(shù)據(jù)運行中心建立觸發(fā)器和日志表MOM—LOG.觸發(fā)器跟蹤每天所作的業(yè)務(wù),包括增加、刪除、修改,并將其記錄保存在表MON—LOG中。
日志表MON—LOG結(jié)構(gòu)如下:
對需要記錄其變動情況的數(shù)據(jù)表建立觸發(fā)器,以table01表為例,結(jié)構(gòu)如下:
觸發(fā)器在數(shù)據(jù)庫運行過程中可自動完成對數(shù)據(jù)表變動情況的記錄。
4.2數(shù)據(jù)處理中心
數(shù)據(jù)處理中心的主要任務(wù)是收集各運行中心數(shù)據(jù)變動情況,并將記錄變動情況的日志信息提取出來進行“重做”,從而使數(shù)據(jù)處理中心與數(shù)據(jù)運行中心保持同步。數(shù)據(jù)處理中心需建立與運行中心的遠程數(shù)據(jù)聯(lián)接,執(zhí)行同步操作的存儲過程和計劃任務(wù)。數(shù)據(jù)處理中心通過網(wǎng)絡(luò)遠程聯(lián)接運行中心提取數(shù)據(jù)表變動信息(數(shù)據(jù)變動日志),存儲過程根據(jù)變動信息更新數(shù)據(jù)處理中心數(shù)據(jù)庫,使其數(shù)據(jù)與運行中心同步。計劃任務(wù)負責(zé)定期調(diào)度存儲過程,實現(xiàn)自動數(shù)據(jù)同步工作。
數(shù)據(jù)處理中心存儲過程結(jié)構(gòu)如下:
4.3同步過程的啟動
在啟動增量同步過程之前,做數(shù)據(jù)運行中心數(shù)據(jù)向數(shù)據(jù)處理中心的全復(fù)制,建立增量同步的基準,然后利用每天晚上業(yè)務(wù)空閑時間將當天各地數(shù)據(jù)運行中心的增量數(shù)據(jù)同步到省局數(shù)據(jù)處理中心。同步過程由數(shù)據(jù)處理中心進行調(diào)度,在網(wǎng)絡(luò)等因素導(dǎo)致同步失敗時,可將同步過程回滾到失敗前的數(shù)據(jù)一致狀態(tài),等待下一個工作日完成上次同步成功以來的全部增量同步工作。
5結(jié)論
兩級分布式數(shù)據(jù)中心在山東工商系統(tǒng)進行了部署和運行,在網(wǎng)絡(luò)及硬件基礎(chǔ)設(shè)施有限的條件下,一方面,分散和降低了聯(lián)機業(yè)務(wù)處理系統(tǒng)風(fēng)險,較好解決了全省各級工商機關(guān)的業(yè)務(wù)辦理工作,另一方面,通過每天晚上的定時任務(wù),實現(xiàn)了全省數(shù)據(jù)的大集中,做到了每日同步,滿足了全省數(shù)據(jù)集中應(yīng)用的需求。運行結(jié)果表明,基于DML觸發(fā)器增量同步方案簡單易行,較好地解決了數(shù)據(jù)集中與分散的矛盾,具有實用、高效的特點。