999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式數據庫在通信系統中的應用研究

2008-12-31 00:00:00
電腦知識與技術 2008年20期

摘要:本文介紹了嵌入式數據庫的典型應用,以及在某著名通訊企業各個交換設備普遍采用的嵌入式數據庫系統的結構。本文綜合了通訊行業普遍采用的數據庫結構以及結合關系型數據庫和網絡模型數據庫的特點,提出了基于事務處理和面向對象的輕量級實時嵌入式數據庫的基本架構。

關鍵詞:嵌入式數據庫;數據庫管理系統;事務管理;網絡模型;關系模型

中圖分類號:TP393文獻標識碼:A 文章編號:1009-3044(2008)20-30197-03

ApplicationResearch of Embedded Database in Communicate System

JI Wei

(School of Computer Science Engineering, Southeast University, Nanjing 210000, China)

Abstract: This paper describes a typical application of embedded database. It also introduce a structure of the embedded database which is universally used in switch equipments in a famous communication corporation. In this paper. The commondatabase architecture in communication system is adopted. At the same time, the characteristic of the relative DBMS and the network DBMS is used. Therefore, a basal architecture of the light and Real-time embedded database is raised, which is based on the transaction processing and object oriented.

Key words: Embedded Database; DBMS; Transaction Management; Network Model; Relative Model

1 引言

信息技術的迅猛發展使嵌入式系統逐步滲透到了社會生活的各個層面,無論是在各種國防應用還是在航空航天、核反應堆控制、電信行業、過程控制、敏捷制造、醫藥行業、信息家電等各類民用應用上都發揮了巨大的作用。嵌入式系統對數據處理的要求逐步在增加,我們不僅要求處理大量的數據和復雜的數據,還需要在應用變得更復雜、動態特性增加時,數據的處理保持一致性。傳統的基于文件系統的、自行開發的數據管理系統,因為功能匱乏,開發周期長和維護困難等缺點,已經遠遠不能滿足應用的要求。但是我們也無法考慮商用的關系型數據庫產品,如Oracle或Sybase,這些產品雖然非常優秀而且非常成熟,但是由于他們運行速度慢、開銷龐大,所以根本不能用于嵌入式系統。因此,開展嵌入式數據庫的研究已經是通信系統必須面臨的課題。

目前,國內外對于嵌入式數據庫系統的研究已經取得了不少成果。早在二十世紀八十年代,國外的學術界和產業界便相繼開展了這一方面的研發,如Berkley大學所開發的嵌入式數據庫Berkley DB,便是其中的典型代表。筆者所在的通訊企業在嵌入式數據庫的研究也有很長的一段歷史,形成了一套完整的解決方案。

2 嵌入式數據庫的基本需求與分類

2.1 基本需求

嵌入式數據庫同大型商用數據庫相比,其典型需求如下:

1) 開銷小。嵌入式設備其硬盤和內存空間都有一定的限制,因此其嵌入式操作系統和數據庫系統都不能占據太多的空間;2) 實時性。隨著通信規模的擴大,實時性已經成為嵌入數據庫主要特點之一,就是采用更高效的存取數據的機制,例如普遍采用的內存數據庫就是其中之一,以及網絡模型的應用,節約了存放索引的空間等。就是要保證數據庫的各個環節耗時是可以量測的,能夠使系統滿足真實反應客觀世界;3) 并發性、完整性、一致性。這是一個數據庫系統的基本功能;4) 分布式與移動性。隨著移動計算的來臨,分布在各個移動節點或者一個通信設備各個節點,需要保持數據的一致性、完整性,從而對于嵌入式數據庫系統的分布計算能力提出了更高的要求;5) 熱備份的能力。對于典型的通信的通信系統,對可靠性都有較高的需求,為了保證數據存儲的安全普遍采用的是備份的功能,例如雙機備份、以及多機互備份的能力;6) 與商用數據庫的接口功能。隨著通信系統的規模逐漸擴大,普遍的網管系統都采用商用的數據庫(后臺數據),而對于單板本身采用嵌入式數據庫(前臺數據),兩者存在互相訪問的需求。另外提供統一的接口形式,有利于前后臺數據的備份與一致性檢測;7) 與各種實時操作系統兼容的能力。為了提高嵌入式數據庫的可移植性,嵌入式數據庫應該滿足在常用的嵌入式數據庫(Vxworks, Psos, Qnx, WinCe)上應用的能力。

2.2 數據庫模型的分類

典型的數據庫模型有以下三種:關系型數據庫、層狀數據庫、網絡模型數據庫。而關系型數據庫由于其概念簡單、數據庫易于設計以及支持SQL語句等顯著優點而被廣泛采用。關系型數據庫的典型缺點是對于軟硬件的要求都相對較高,對于某些需要存儲索引的場合,在數據庫創建和打開期間需要耗費大量的時間。網絡模型數據庫同關系型數據庫相比,有更明顯的優勢。所占磁盤空間、創建數據庫時間和查詢時間等等都比關系型數據庫有明顯的改善。而網絡模型的實現也相對復雜,所以并沒有關系型數據庫應用那么廣泛。除了以上從數據模型來分類之外,數據庫的實現方式上已經逐漸由完全硬盤數據管理,轉換成對緩沖區數據的管理,以及更為普遍采用的內存數據庫。

3 筆者研究的嵌入式數據庫

3.1 基本架構

筆者所在的企業嵌入式數據庫也經歷了從文件系統到數據庫系統的轉變,就作者本人目前所接觸到的數據庫系統,其主要實現結構有:內存數據庫和AGENT數據庫。

內存數據庫是各個交換設備上普遍采用的通用的數據庫管理模型,是基于面向對象處理的關系型數據模型。其基本實現架構如圖1。

內存數據庫的特點如下:

1) 采用索引機制訪問數據庫,其耗時是可預測的;2) 采用面向對象特點組織數據;3) 與支撐系統配合,采用串行化訪問數據庫,有利于數據的一致性;4) 所有數據都在內存中存取,數據存取方式高效;5) 熱備份功能。內存數據庫支持主備之間數據的互備份;6) 數據的訪問機制,采用記錄號的方式,減少了直接訪問地址空間的開銷,不存在內存壓縮過程,效率高。

缺點:

1)由于采用基于索引的內存機制,所以系統上電后,需要創建表空間和索引,比較耗時,尤其系統龐大后,上電時間很長;2)采用索引機制,存儲要求很大,這樣當系統需求擴大時,這一條有可能成為系統的瓶頸;3)由于采用串行的處理機制,所以限制了支撐系統的設計,這樣不利于系統實時性能的提高;4)由于沒有完畢的事務處理策略,所以可能造成一個數據多個用戶訪問的情形,雖然是串行的,但是存在操作系統任務間的切換,所以可能造成數據的不一致。而由于這一條引起的數據不一致,加大了維護人員的負擔,所以屬于不易于定位的缺陷。

AGENT數據庫是傳輸所普遍采用的一種數據庫系統,其基本框架如圖2。

AGENT數據庫的特點如下:

1) 支持FLASH和MEM兩種數據存儲訪問方式;

2) 存儲控制部分采用一級緩沖,屏蔽了對FLASH的直接操作,而且緩存的存儲方式是虛擬的FLASH操作方法,加速了系統處理的性能;

3) 數據庫是一個典型的應用程序,沒有進程的概念,簡化了應用程序的使用;

4) 由于支持弱SQL功能,支持靈活的查詢功能,例如條件查詢等。

缺點:

1) 數據查詢效率低下。由于不支持索引查詢機制,所有查詢都是通過順序比較的過程完成的,所以,效率低下;

2) 數據完整性、一致性無法保證。沒有完整的事務處理機制,所以數據一致性的保證是通過信號量來完成,數據一致性保證條件不足;

3) 不支持主備備份功能。所以系統的安全性有一定的局限;

4) 數據的管理方式,采用壓縮存儲的方式,所以當存儲數目增大或多次增刪操作后,效率極其低下。

4 改進嵌入式數據庫系統

數據庫系統主要由兩部分業務組成:數據訪問業務和數據庫管理業務。綜合前兩種設計方案,改進后的數據庫管理體系結構如圖3所示。

4.1 數據庫各部分功能

典型的數據庫系統由以下三部分組成:數據庫管理功能、數據庫操作對象管理功能和數據庫存儲控制功能。數據庫操作對象是數據庫設計的核心結構,數據庫管理功能主要負責對用戶訪問的優化以及事務的相關管理,主要用來保證數據庫的三個基本特征,即保證數據的一致性、完整性以及并發性操作的支持。綜合后的數據庫方案特點如下:

1) 繼承了內存數據庫的優點,所有對于數據庫的操作都是在內存中進行,數據庫操作對象為內存對象,不關心底層用什么介質。

2) 由存儲控制管理來負責介質間存儲的轉化,即FLASH與緩沖之間的數據同步過程。對于需要完全存放在FLASH中的數據,設置溢出開關和定時器來保證數據的同步。溢出開關指需要FLASH與緩沖之間同步的操作個數,例如寫10次,同步一次等。

3) 事務的處理嚴格按照ACID的特征來設計,保證了數據庫操作的基本特征。事務的處理應該是輕量級的,即不占用太多的CPU時間。為了達到這一點需要跟鎖對象緊密配合起來,保證所有的設計環節是可量測的。

4) 高效的死鎖檢測機制。為了防止死鎖,所以每次都必須進行死鎖檢測維護,這個設計環節必須是可以量測的。關于這方面的深入細節,將作為專門課題進行討論。

4.2 數據庫各部分實現

這里數據庫各部分實現主要介紹數據庫的各個操作對象的結構,對其內部細節不作討論。

1) 表對象

typedef struct {

TableHandle;/*表句柄*/

TableName;/*表名稱*/

TableType;/*表類型*/

RecordNum;/*記錄數目*/

FieldVector;/*字段矢量*/

IndexVector;/*索引矢量*/

OwnerSession;/*自身會話*/

}Table_Object;

2) 數據庫對象

typedef struct {

DataBaseName;/*數據庫名稱*/

DBModel;/*數據庫模型RorN*/

TableVector;/*表矢量*/

LoggerHandle;/*日志*/

SessionVector;/*會話矢量*/

SysSession;/*系統會話*/

IsShutDown;/*關閉標志*/

IsReadOnly;/*只讀標志*/

}Database_Object;

3) 索引對象

typedef struct {

TableHandle;/*所屬表*/

IndexHandle;/*索引標識*/

FieldSet;/*字段數組*/

IsUnique;/*是否唯一*/

IndexItemNo;/*索引號*/

IndexProperty;/*索引屬性*/

IndexType;/*索引類型*/

}Index_Object;

4) 日志對象

typedef struct {

LogHandle;/*日志標識*/

LogSize;/*日志大小*/

LogCount;/*日志數目*/

IsNeedFlush;/*同步標志*/

IsWriteDelay;/*寫標志*/

FileBackup;/*文件備份*/

FileScript;/*文件腳本*/

LastId;/*最后一次ID*/

}Log_Object;

5) 事務過程處理介紹

Begin_Transaction;

|-鎖住一個區域

|-事務放進活動事務列表中

|-解鎖一個區域

Commit_Transaction;

|-提交任何子事務

|-同步日志記錄

|-調用事務結束接口

Abort_Transaction;

|-中止未完成的子事務

|-釋放這個事務的任何讀鎖

|-調用事務結束接口

事務的處理默認情況下都是自動完成的。

5 結束結

內存數據庫技術在通信產品的應用很多,建造一個通用的內存數據庫平臺,不但對企業目前的各種設備的研發有利,對于今后設備的研發都有很大的幫助。本文對其中常用的一些技術和問題進行了比較,只是從整體上對嵌入式數據庫進行了概要描述和說明,具體實現還有很多細節需要關注。

參考文獻:

[1] 王能斌. 數據庫系統教程[M]. 北京:電子工業出版社,2002.8.

[2] 張茹, 孫松林, 于曉剛. 嵌入式系統技術基礎[M]. 北京:北京郵電大學出版社, 2006.1.

主站蜘蛛池模板: 91人妻在线视频| 欧美一区二区啪啪| 久久国产热| 好吊色国产欧美日韩免费观看| 美女亚洲一区| 日韩成人午夜| 九九九九热精品视频| 亚洲午夜福利在线| 精品国产免费观看一区| 综合网久久| 伊人久久大香线蕉成人综合网| 日本成人一区| 日本少妇又色又爽又高潮| 成人一区在线| 丁香亚洲综合五月天婷婷| 欧美福利在线观看| 麻豆国产在线不卡一区二区| 欧美不卡视频在线| 毛片视频网| 熟妇人妻无乱码中文字幕真矢织江| 91免费精品国偷自产在线在线| 乱人伦视频中文字幕在线| 国产在线精品美女观看| 农村乱人伦一区二区| 国产成人做受免费视频| 少妇高潮惨叫久久久久久| 婷婷色婷婷| 国产精品30p| 高清无码一本到东京热| a亚洲天堂| 好吊色国产欧美日韩免费观看| 一本久道久久综合多人| 欧美日韩一区二区在线播放 | 最新国产精品鲁鲁免费视频| 久久久91人妻无码精品蜜桃HD| 精品国产欧美精品v| 一级全黄毛片| 久久综合色播五月男人的天堂| 久精品色妇丰满人妻| P尤物久久99国产综合精品| 97青草最新免费精品视频| 欧美日本在线观看| 91精品专区| 亚洲a级毛片| 激情国产精品一区| 国产精品美女在线| 亚洲国产精品日韩欧美一区| 久久精品娱乐亚洲领先| 99re热精品视频中文字幕不卡| 国产精品欧美日本韩免费一区二区三区不卡 | 中文字幕亚洲第一| 久久久久久久97| 无码日韩视频| 99久久精品国产精品亚洲| 中文字幕在线日韩91| 国产三级毛片| 亚洲av无码久久无遮挡| 黄色免费在线网址| 在线观看视频99| 国产人成午夜免费看| 欧美影院久久| 中文字幕不卡免费高清视频| 草草线在成年免费视频2| 99视频只有精品| 久久黄色影院| 国产91精选在线观看| 无码免费视频| 国产久操视频| 国产精品无码久久久久AV| 青青久视频| 国产日韩精品一区在线不卡| 国产丝袜一区二区三区视频免下载| 99中文字幕亚洲一区二区| 国产精品第三页在线看| 中文纯内无码H| 国产精品自在拍首页视频8| 国产在线专区| 曰韩免费无码AV一区二区| 国产在线专区| 欧美性猛交一区二区三区| 亚洲一区二区三区在线视频| 国产一在线观看|