劉銘剛 王廷春 李勇 逄銘玉 高凱歌
摘? 要:以Real Application Clusters (RAC)數(shù)據(jù)庫結(jié)構(gòu)為基礎(chǔ),將不同工程數(shù)據(jù)進行整合,構(gòu)建工程數(shù)據(jù)資源池系統(tǒng),解決數(shù)據(jù)時效問題及各系統(tǒng)數(shù)據(jù)相互獨立不能有效資源共享問題。采用VS.NET的ASP.NET開發(fā)平臺,基于C#語言的B/S結(jié)構(gòu)網(wǎng)絡(luò)架構(gòu)和Oracle數(shù)據(jù)庫架構(gòu)提供的數(shù)據(jù)支持,實現(xiàn)了局域網(wǎng)與工程數(shù)據(jù)庫服務(wù)器的互聯(lián),最終基于Big-Table模式開發(fā)了帶有數(shù)據(jù)用戶可視化功能的數(shù)據(jù)資源池系統(tǒng),為實現(xiàn)生產(chǎn)輔助決策工作提供技術(shù)支持和數(shù)據(jù)基礎(chǔ)。
關(guān)鍵詞:RAC數(shù)據(jù)庫;數(shù)據(jù)資源池;數(shù)據(jù)備份;工程應用
中圖分類號:TP311.13? ? ? 文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2019)14-0026-02
Abstract: On the basis of Real Application Clusters (RAC) database structure, different engineering data are integrated, and the engineering data resource pool system is constructed to solve the problem of data aging and the problem that the data of each system is independent of each other and cannot effectively share resources. The interconnection between LAN and engineering database server is realized using ASP.NET development platform of VS.NET, based on the data support provided by B/S structure network architecture and Oracle database architecture of C# language. Finally, based on Big-Table pattern, a data resource pool system with data user visualization function is developed, which provides technical support and data basis for the realization of production aided decision-making.
Keywords: RAC database; data resource pool; data backup; engineering application
1 概述
由于工程數(shù)據(jù)信息系統(tǒng)的獨立性,難以集成為統(tǒng)一的有機整體,給進一步利用數(shù)據(jù)指導工程作業(yè)造成了很大的困難。目前工程中的生產(chǎn)數(shù)據(jù)庫和設(shè)備信息庫之間沒進行集成處理,它們相互獨立,沒有數(shù)據(jù)關(guān)聯(lián),在實際生產(chǎn)過程中有效利用性差,對實際生產(chǎn)不能發(fā)揮最大價值。因此以RAC數(shù)據(jù)庫結(jié)構(gòu)為基礎(chǔ),將不同系統(tǒng)的數(shù)據(jù)進行整合,構(gòu)建數(shù)據(jù)資源池系統(tǒng),解決數(shù)據(jù)時效問題及各系統(tǒng)數(shù)據(jù)相互獨立不能有效資源共享問題勢在必行。
2 RAC集群技術(shù)
真正應用集群是Oracle RAC數(shù)據(jù)庫的一個組件選項,在Oracle 9i中首次推出。目前Oracle真正應用集群已發(fā)展成一項成熟的技術(shù)[1],且Oracle RAC為伸縮應用程序以超越單個服務(wù)器的能力限制提供了一個選擇,這使得用戶可以利用低成本的普通硬件來降低他們的總擁有成本,并提供一個可伸縮的技術(shù)環(huán)境來支持其應用程序負載。
使用Oracle真正應用集群,Oracle數(shù)據(jù)庫可跨一組集群服務(wù)器運行任意打包的或定義的應用程序[2-4],不需要對這些應用程序做任何改動。這就提供了最高的可用性和最靈活的可伸縮性。如果集群中的一個服務(wù)器故障,Oracle可繼續(xù)在其余的服務(wù)器上運行。當需要更多的處理能力時,只需要添加服務(wù)器即可,無需用戶下線。為保證低成本,可使用標準化的普通硬件組建出最高端系統(tǒng)。
RAC技術(shù)通過CPU共享和存儲設(shè)備共享來實現(xiàn)多節(jié)點之間的無縫集群,用戶提交的每一項任務(wù)將被自動分配給集群中的多臺機器執(zhí)行,用戶不必通過冗余的硬件來滿足高可靠性要求[5]。另一方面,RAC可以實現(xiàn)CPU的共享,即使普通服務(wù)器組成的集群也能實現(xiàn)過去只有大型主機才能提供的高性能[6]。
3 數(shù)據(jù)資源池系統(tǒng)建設(shè)方案
3.1 總體架構(gòu)
整個平臺采用VS.NET的ASP.NET開發(fā)平臺,基于C#語言的B/S結(jié)構(gòu),采用能夠支持較高的網(wǎng)站并發(fā)訪問請求的framework3.5 WEB,服務(wù)器端部署在Windows/Linux/Unix平臺上。采用提供了查詢控制的關(guān)系型數(shù)據(jù)庫ORACLE數(shù)據(jù)庫。該系統(tǒng)配置一臺應用服務(wù)器和兩臺SQLServer數(shù)據(jù)庫服務(wù)器,應用服務(wù)器內(nèi)部署特定的應用系統(tǒng),通過局域網(wǎng)與數(shù)據(jù)庫服務(wù)器互聯(lián)[7-9]。系統(tǒng)平臺架構(gòu)如圖1所示。
3.2 RAC數(shù)據(jù)庫建設(shè)
3.2.1 硬件配置
考慮CPU、電源、網(wǎng)卡及光纖卡重要部件的剩余負載能力;同時服務(wù)器的關(guān)鍵設(shè)備須支持可熱插拔;配置的內(nèi)存應能自檢并糾錯;為磁盤陣列另配Hot Spare磁盤等。目前系統(tǒng)整體硬件配置如下表1所示。三臺電腦通過有序分層(邏輯層次劃分)進行連接,形成計算集群。隨著數(shù)據(jù)量的增加,系統(tǒng)計算、緩存壓力過大時,可以通過拓展硬件集群做到資源利用最大化。
3.2.2 軟件配置
3.3 應用軟件系統(tǒng)
該系統(tǒng)集成工程相關(guān)的數(shù)據(jù)庫,形成數(shù)據(jù)資源池,如PDPMIS、A1、A2、自動化數(shù)據(jù)庫、系統(tǒng)效率(OPRS)數(shù)據(jù)庫、功圖計量數(shù)據(jù)庫等數(shù)據(jù)庫。需滿足各種專業(yè)數(shù)據(jù)庫的信息進行統(tǒng)一管理,并可以根據(jù)用戶自定義的規(guī)則,從各種異構(gòu)專業(yè)系統(tǒng)中不同的表取一些有用的數(shù)據(jù),去除大量的冗余數(shù)據(jù),確保數(shù)據(jù)的實時性。
3.4 數(shù)據(jù)庫備份方案
由于計算機系統(tǒng)中硬件故障、軟件錯誤、操作員失誤以及惡意破壞等情況將造成運行事務(wù)非正常中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至破壞數(shù)據(jù)庫結(jié)構(gòu)完整,造成全部或部分數(shù)據(jù)丟失[10]。因此必須選擇有效的備份方案,防止數(shù)據(jù)庫的安全性和完整性被破壞,保證并發(fā)事務(wù)的正確執(zhí)行,或者確保在數(shù)據(jù)丟失或遭到破壞的情況下可以快速恢復數(shù)據(jù)庫,使系統(tǒng)恢復正常工作,因此本系統(tǒng)采用最新的Oracle數(shù)據(jù)備份功能進行系統(tǒng)優(yōu)化。
在不影響用戶對數(shù)據(jù)庫訪問的的情況下,系統(tǒng)采用Oracle數(shù)據(jù)庫冷熱結(jié)合的物理備份方式,同時也可以保證備份數(shù)據(jù)的安全性和數(shù)據(jù)恢復的靈活性,物理備份的頻率為1周/次。
4 結(jié)論
Oracle RAC應用集群技術(shù)不僅大大的節(jié)約了數(shù)據(jù)資源池系統(tǒng)的硬件成本,而且該技術(shù)支持靈活的應用規(guī)模擴充,保證系統(tǒng)性能的同時,使服務(wù)器使用最大化。通過并行處理技術(shù)提高事務(wù)響應時間,數(shù)據(jù)庫和應用服務(wù)器的負載均衡,使系統(tǒng)的負載能力和擴展能力彈性很大,可以從容應付高強度的業(yè)務(wù)需求,為大量數(shù)據(jù)的查詢和分析提供了條件。
參考文獻:
[1]張曉明.大話Oracle RAC集群、高可用性、備份與恢復[M].北京:人民郵電出版社,2009.
[2]張樂行.Oracle集群數(shù)據(jù)庫在上海市標準信息服務(wù)系統(tǒng)中的應用[J].上海標準化,2005(10):17-18.
[3]Oracle備份與恢復[EB/OL].http://www.cnblogs.com/skyblue/archive/2007/09/11/889687.html.
[4]K.Gopalakrishnan.Oracle Database 11g Oracle Real Application Clusters Handbook,Second Edition[M].第二版.北京:清華大學出版社,2012:1-16.
[5]馮宇彥,趙占雪,陳婉婷.云服務(wù)的解決方案探索[J].信息技術(shù)與標準化,2011,09:68-70.
[6]王雪嬌,陳俊松,夏湘玲,等.私有云存儲在企業(yè)的應用[J].中國管理信息化,2014,17(04):48-49.
[7]顏歡.計算機軟件工程的管理與應用[J].電子技術(shù)與軟件工程,2018,20:70.
[8]楊帆.以計算機軟件工程為基礎(chǔ)的現(xiàn)代化技術(shù)[J].電子技術(shù)與軟件工程,2018,20:133.
[9]于泳波.Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化研究[J].價值工程,2018,37(13):228-229.
[10]楊明珉,陳勇.MySQL集群到Oracle數(shù)據(jù)庫的數(shù)據(jù)同步方法[J].計算機系統(tǒng)應用,20127(06):60-68.
[11]李祥琴,楊利.Oracle關(guān)系數(shù)據(jù)庫的運行效率優(yōu)化技術(shù)分析[J].微電子學與計算機,2013510:112-115.