李明明
(吉林大學 網絡中心,吉林 長春130025)
隨著科技的發展,21 世紀計算機技術開始進入一個被稱為后PC 技術的時代。后PC 時代的到來,使得人們開始越來越多地接觸到一個新的概念—嵌入式產品。像手機、PDA(如商務通等)均屬于手持的嵌入式產品!VCD 機、機頂盒等也屬于嵌入式產品,而像車載GPS 系統、數控機床、網絡冰箱等同樣都采用嵌入式系統[1-3]。
隨著消費結構的改變,人們對家電的靈活性和可控性提出了更高的需求,這些需求都極大地刺激了嵌入式的發展和產業化的進程[4]。嵌入式數據庫不需要數據庫驅動程序,直接將數據庫的庫文件鏈接到應用程序中。應用程序通過API 訪問數據庫,而不是TCP/IP。因此,嵌入式數據庫的部署是與應用程序在一起的[5-8]。比如常見的版本控制器Sub Version,它所用的嵌入式數據庫就是跟應用程序放在一起的。
一個分布式事務是為了實現特定的業務功能,而訪問數據庫的一個最小邏輯工作單位,是一個操作序列。在分布式應用中,一個分布式的事務即全局事務,通常由一個主事務和在不同節點的子事務組成。
在多線程服務器的編程環境中,為了保證對象的一致性,對象上的操作仍然需要原子操作,通過互斥機制例如mute X 變量(即互斥變量,設計一個全局變量作為訪問標一記,使資源獨占訪問)可以實現這一點。通過服務器操作的同步加強客戶協同,客戶可以將服務器作為一種共享資源的設施來使用。上述同步訪問對象的機制提供了大多數應用中所需要的東西避免了線程相互干擾。
Berkeley DB 為許多編程語言提供了實用的API接口,包括c、c+ +、java、python 和PHP 等。所有同數據庫相關的操作都由Berkeley DB 函數庫負責統一完成。這樣無論是系統中的多個進程,或者是相同進程中的多個線程,都可以在同一時間調用訪問數據庫的函數[9]。而底層的數據加鎖、事務日志 和存儲管理等都在Berkeley DB 函數庫中實現。它們對應用程序來講是完全透明的。如果想在資源受限的嵌入式系統上進行數據庫管理,Berkeley DB 可能就是惟一正確的選擇。
傳輸層是銀行數據庫系統中最為重要,最為關鍵的一層,是唯一可以負責系統總體的數據傳輸和數據控制的一個系統層面,系統傳輸層提供銀行各個分支機構和中心服務器的端到端的交換數據信息機制,并為相應的上層和下層提供可靠的銀行分支機構的目的站點信息,如圖1 所示。

圖1 銀行數據庫系統傳輸層體系結構示意圖
在基于Berkeley DB 分布式銀行數據庫系統傳輸層接口設計過程中,其系統在網絡中的傳輸層上主要包括若干相互連接的銀行數據庫系統分支機構和中心服務器,且系統中的每一分支機構都與中心服務器相連接,分支機構之間可以相互進行通信,同時由分支機構所統計的款項等業務數據信息都通過傳輸層流向中心服務器進行數據統計,因此傳輸層接口的設計在此銀行數據庫系統中占有重要地位[10-12]。
為了實現分布式的網絡功能,主要設計成網絡服務,以服務進程的方式實現??傮w的流程如圖2 所示。
系統應用的綜合測試主要體現嵌入式分布式銀行數據庫系統在應用及推廣過程中必須考慮的若干因素,在不會影響系統整體性能及資源配置的前提條件下,需盡量提高該系統的各項指標,從而是系統得以極大推廣。
(1) 系統配置。系統的資源管理部件主要是用于統一配置整個數據庫系統中的有效資源,數據庫打開之前,系統的全部配置操作都必需完成。
(2) 支持語言。作為系統中的數據庫操作標準,不僅需要存在眾所周知的SQL 結構化檢索標準,同時也必須存在使用于嵌入式環境下的C/C+ +標準接口模型。

圖2 設計總體流程
(3) 適用平臺。系統的嵌入式性質使得數據庫系統的多平臺支持成為一項重要的性能指標要求。
(4) 系統的易操作性。系統實現后是否具有易操作性、交互操作是否友好是該系統得以推廣的重要考慮因素,因此必須對系統進行易用性測試[13-16]。
如圖3 所示是系統綜合測試中的一項結果。
隨著現代信息化的深入,計算機應用深入到生活中的每一個角落,同時由于計算機網絡的普及,催生了一系列新的應用與技術,如3G 等通信的廣泛應用,對于Internet 的數據通信、數據共享以及高數據處理能力的廣泛需求,嵌入式系統數據庫技術的分布式研究與應用己經變得不可或缺。
[1] 白春禮.分布式數據庫系統及其應用[M]. 北京:科學出版社,2005.
[2] 劉志峰.分布事務監控器的恢復處理研究[D]. 北京:中國科學院研究生院(軟件研究所),2003.
[3] 鄭振嵋.分布式數據庫[M].北京:科學出版社,1998.
[4] 郭秀敏.嵌入式視頻數據庫數據加密系統的設計[J]. 微計算機信息,2009(11):2-3.
[5] 張 永.嵌入式數據庫系統的設計與實現[D].北京:清華大學,2004.
[6] 吳小博,嵌入式數據庫Berkeley DB 研究[D].茂名:湛江師范學院實驗教學管理部,2008.
[7] 鄔 蒙,吳 華. 嵌入式數據庫讀寫卡的設計方法[J]. 陜西煤炭,2005(1):1-3.
[8] 范亞國,張能立. 基于嵌入式數據庫的海量存儲技術研究與應用[J].中國水運(學版),2007(9):1-4.

圖3 系統數據自動恢復測試結果
[9] 杜亞欣,阮學斌,SQLite ODBC 在KY44B0X 開發板上的移植研究[J].福建電腦,2009(4):1-2.
[10] 舒 展. 嵌入式系統綜述[J]. 現代計算機(專業版),2011(5):3-4.
[11] 肖 為.嵌入式系統概述及其在綜合信息終端中的應用及前景[J].北京廣播學院學報(自然科學版),2001(4):4-7.
[12] 呂京建,肖海橋. 面向21 世紀的嵌入式系統[J]. 半導體技術,2001(1):1-3.
[13] Dunham M,Helal A,Balakrishnan S. A mobile transaction model that captures both the data and movement behaviour[J]. Mobile Networks and Applications,1999,7(2):149-162.
[14] Olson M A. Seleeting and Im Plementingan Embedded Database System[J]. IEEE Computer,2000(3):75-83.
[15] Anton Okillianski. Embedded Database-the Ung lamorous Database Option that Works[J]. Journal of Programmer,2002(12):112-122.
[16] Tesanovie A,Ke Shens,Hansson J. APP lieation-tailored Database Systems:A Case of As PeetsinAn Embedded Database. ProeofInt Confon Database Engineering and APP lieations、IDEAS[C]//Portugal. 2004:145-163.