洪曉彬
摘 要:分布式應用軟件的廣泛使用,促使了社會信息化水平得到提高。數據庫作為軟件重要組成部分,需要得到合理應用與設計?;谶@種認識,文章對數據庫在分布式應用軟件中的功能與操作問題展開了分析,采用數據分片技術實現數據庫設計,促使數據庫數據訪問、處理等能力得到提高,進一步滿足軟件的應用要求。
關鍵詞:數據庫;分布式應用軟件;數據分片技術
在當今醫療、教育、金融等多個領域,分布式應用軟件都得到了廣泛應用。在分布式應用軟件中,數據庫占據重要地位,需要實現合理應用和設計,才能保證軟件順利實現數據訪問和操作?!盎ヂ摼W+”時代下,分布式應用軟件需要面對海量數據信息操作和訪問需求,因此,加強數據庫的應用與設計研究,使數據庫充分發揮功能,有助于為數據的聚集和操作提供強有力的技術支撐。
1 數據庫在分布式應用軟件中的應用
1.1 數據庫功能
分布式應用軟件可以實現數據訪問和操作,而軟件各項功能的實現依賴于數據庫及其管理系統。為提高訪問效率,分布式應用軟件近年來開始采用并發訪問技術,使得大量用戶得以訪問數據庫。數據庫功能能否滿足軟件應用需求,關系到軟件數據操作處理效率。現階段,數據庫公司完成了大量數據庫產品的開發,如ORACLE,SQLServer等,能夠為分布式軟件提供數據插入、查詢、修改等功能,滿足軟件數據操作需求。例如,ORACLE數據庫作為分布式數據庫,同時也是關系數據管理系統的一種,能夠在分布式環境不同服務器上實現數據庫連接,為數據庫操作提供支持[1]。作為一種信息存儲、加工和組織工具,數據庫目前從無結構發展至網狀結構、關系結構,直至如今對象結構,其間經歷了數十年,陸續引進了數據倉庫、數據挖掘等技術,因此,在分布式軟件中應用具備豐富功能。首先,通過交互界面,軟件能夠實現信息輸入,在數據庫中進行數據保存,執行數據插入操作。在軟件界面上實現請求信息輸入,Web服務器會完成信息接收,按照服務規則解析邏輯業務請求,分離數據庫處理的信息,提出數據連接請求,完成訪問數據庫橋梁的建立。利用數據庫調用Insert命令,能夠對數據表、字段信息等各種數據進行插入,實現分布式管理信息添加,完成軟件更新操作。其次,執行Select操作,利用數據庫能夠進行信息查詢,無論失敗或成功都會反饋信息,通過將結果封裝在一起,供用戶實現信息查詢。再者,使用軟件可以對部分數據進行刪除,即通過執行相應操作完成數據刪除,成功會將數據狀態返回,失敗會提示數據被其他程序占用。在操作過程中,將涉及多個時間表,調用delete語句。最后,應用分布式軟件進行數據修改,可以采取與數據插入相似的操作方法,執行update語句。如果利用數據庫修改新值,無需對數據庫記錄進行修改,可以直接對數據內容進行修改[2]。
1.2 數據庫操作
分布式應用軟件利用數據庫進行分布式事務操作,需要將每個事務劃分為多個子事務,各事務需要利用多個命令操作。在實際應用時,需要集成分布在不同位置的數據庫,對各事務對應關聯場地進行加載,達到激活事務的目的。在操作過程中,需要對事務的獨立性、原子性和一致性進行保證,故需要解決兩個關鍵問題,即各場地局部數據集成和事務管理問題。從以往操作來看,主要采用移動Agent技術進行子事務的封裝。在分布式網絡中,由于Agent能夠實現自由移動,所以能夠達到事務處理場地,通過事務處理得到相應結果。根據Agent反饋的結果,可以實現任意事務與其他事務的分布式計算,將Agent移動至新場地完成相關運算,然后將數據計算結果統一返回至原場地[3]。由于數據需要在特定服務器上集中存儲,因此,在數據復雜度和規模不斷增加的情況下,數據庫服務器處理能力將逐步減弱,需要利用分布式存儲技術完成海量數據分散處理再進行統一管理。
2 數據庫在分布式應用軟件中的設計
2.1 整體架構設計
結合分布式應用軟件的數據庫操作需求,還需引入分片處理技術完成實時數據處理,按照一定規則完成全局數據劃分,即進行水平分片和垂直分片,在不同服務器節點上進行數據存儲,實現服務接口的提供[4]。在數據庫訪問過程中,可以根據請求內容進行對應分片服務接口的調用,使數據集中處理壓力得到減輕,并且使數據得到實時處理。相較于傳統數據庫架構,采用該技術能夠實現數據交叉冗余存儲,實現動態容錯,因此,能夠使軟件的可用性和可靠性得到提高。在實際設計時,還應采用面向服務的架構(Service-Oriented Architecture,SOA)完成微服務架構的建構。在分布式環境中,可以將業務邏輯拆分成粒度小的服務,完成細粒度應用級開發。通過將數據庫功能分解到各離散服務器中,可以實現方案解耦。利用服務器間接口和契約,可以聯系應用程序不同功能單元,得到高度內聚自治單元。根據分布式應用軟件功能需求,可以對實時數據類型進行確定,將數據讀寫操作虛擬成細粒度數據服務,在獲取數據過程中根據需求進行相應接口的調用,完成實時數據庫查詢,使數據訪問量得到減少,使每個數據分片成為獨立微型實時庫,利用云服務器進行發布,可以使云計算的強大災備能力得到發揮,使各數據片冗余存儲得到保證。遵循負載均衡策略,在云服務器各節點上實現分散存儲,可以實現數據即服務功能,使數據的完備性得到保證。
2.2 數據庫功能結構
從數據庫功能結構設計上來看,需將微服務架構模式與云計算結合在一起,通過實現二者優勢互補完成虛擬隔離網絡環境的構建,避免數據庫受到病毒、黑客等網絡攻擊。從總體上來看,云服務平臺屬于服務注冊中心,為數據庫核心部分。在服務提供方面,需要完成物理資源層、云計算應用程序接口層和云服務管理層的構建。在數據庫應用時,EMS高級應用軟件和圖形用戶界面會發送請求,服務提供者會在服務注冊中心實現服務發布,利用云計算應用程序接口實現云服務的提供。通過綁定獲得的服務,可以得到業務解決方案。在服務注冊中心,包含大量服務描述。借助云服務平臺,可實現相應服務查找,并對服務進行授權。在物理資源層,包含數據資源、計算資源、存儲資源等資源,能夠與云服務管理層實現通信連接,實現任務、資源、用戶和安全管理。用戶界面層包含手機瀏覽器、平板瀏覽器和PC瀏覽器,能夠實現用戶請求發送。在實際進行數據庫應用部署時,可以在云服務器上完成用戶界面、數據庫服務和后臺處理程序的部署。采用云服務形式,數據庫可以提供對外訪問接口,在數據庫服務與用戶之間,需要利用后臺處理程序建立連接橋梁,完成數據分片處理。
2.3 數據庫實現方法
在數據庫設計實現方面,可以在阿里云上實現數據庫開發,使用Visual Studio 2015開發工具,采用Java和C#作為開發語言。在數據庫架構實現上,需要采用Windows平臺,利用ASP.NET建立網頁客戶端。在云服務器上,可以實現所有應用程序的部署,并借助IIS8.0實現服務發布。通過摒棄關系數據模型,完成結構體模型的建立,可以采用分片技術完成數據分片處理,在云服務器上各節點實現數據分散存儲,完成數據庫分布式處理操作。利用云服務器提供的服務總線標準訪問服務接口,可以進行數據實時訪問,完成服務及時調用。由于數據庫由服務配置文件、服務接口和接口實現類構成,可以為每個服務提供多個接口,各接口與相應實現類對應,因此,可以利用特定C#程序代碼進行數據庫連接功能實現。利用文件,可以完成服務地址、契約等參數配置,利用RTDBService實現API網關定義,完成實時數據分片和封裝。利用服務中心建立連接關系后,可以借助網關下微服務實現客戶端請求分配,完成數據庫實時訪問,達到數據操作目標。由于接口眾多,在數據庫訪問時各接口和數據刷新頻率不同,所以能夠在云服務器上實現數據服務部署,加強云計算彈性服務的充分利用,使服務器上計算機資源得到合理配置。通過實現資源最大化利用,可以使數據訪問請求響應時間得到縮短,促使數據訪問速度得到進一步提高。
3 結語
在分布式應用軟件中,需要利用數據庫完成數據加工、處理和操作,軟件響應時間直接受數據庫操作速度影響。本文結合軟件對數據庫應用要求,采用分片技術實現數據庫設計,能夠使數據庫借助云服務平臺提供多個服務接口,實現數據快速處理,能夠縮短硬件響應時間的同時,也使得軟件得到優化。
[參考文獻]
[1]劉文強.ORACLE數據庫在管理系統中的分布式應用[J].福建電腦,2018(12):149-150.
[2]楊新愛.數據庫在分布式管理系統中的應用與優化設計[J].電腦編程技巧與維護,2016(16):73-74.
[3]高奕.數據庫在分布式管理系統中的應用及優化設計研究[J].信息系統工程,2018(1):60.
[4]馮顯力,韋化,韋洪波,等.含微服務的調度自動化系統分布式實時數據庫[J].電力系統保護與控制,2018(21):138-144.