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

嵌入式高可用性數(shù)據(jù)管理的設(shè)計(jì)與實(shí)現(xiàn)

2007-01-01 00:00:00殷建軍謝長生

摘要:論述了在個(gè)人數(shù)字助理上如何設(shè)計(jì)一個(gè)高可用性數(shù)據(jù)管理軟件來保證數(shù)據(jù)的高可用性#65377;該軟件具有可擴(kuò)展性#65380;可移植性,容易升級(jí)#65377;

關(guān)鍵詞:個(gè)人數(shù)字助理; 高可用性; 備份; 恢復(fù)

中圖分類號(hào):TP311.52文獻(xiàn)標(biāo)志碼:A

文章編號(hào):1001-3695(2007)04-0220-03

近年來,嵌入式系統(tǒng)應(yīng)用迅速發(fā)展,人們已經(jīng)普遍使用著手機(jī)#65380;PDA(Personal Digital Assistant)#65380;手持設(shè)備和掌上電腦等信息電器,存儲(chǔ)和處理各種重要的信息#65377;與PC機(jī)系統(tǒng)不同,移動(dòng)嵌入式系統(tǒng)設(shè)備的電源無法持續(xù)供電,如不及時(shí)充電,容易造成數(shù)據(jù)的丟失[1]#65377;怎樣存儲(chǔ)和管理數(shù)據(jù)#65380;保證數(shù)據(jù)的可用性成為一個(gè)重要問題#65377;

1高可用性及其技術(shù)方案

可用性是產(chǎn)品的一個(gè)基本的自然屬性,是最終用戶使用產(chǎn)品的可用程度#65377;數(shù)據(jù)的可用性是指最終用戶能夠訪問所需要數(shù)據(jù)的可用程度[2]#65377;數(shù)據(jù)的高可用性表征系統(tǒng)數(shù)據(jù)容錯(cuò)并根據(jù)規(guī)范繼續(xù)提供業(yè)務(wù)的能力#65377;數(shù)據(jù)的高可用性技術(shù)方案有很多,如備份#65380;復(fù)制#65380;鏡像以及高可用集群#65380;容災(zāi)中心等#65377;它們都在高可用性方案中應(yīng)用極其廣泛,但根據(jù)應(yīng)用的對(duì)象不同,應(yīng)用的范圍和效果也不同#65377;

備份通常是指將數(shù)據(jù)的拷貝放到另一個(gè)更安全的#65380;容量更大的介質(zhì)上#65377;其主要目標(biāo)是防止用戶錯(cuò)誤或惡意地對(duì)數(shù)據(jù)進(jìn)行修改和刪除,以及病毒對(duì)文件和系統(tǒng)的破壞,或者意外的災(zāi)難導(dǎo)致的數(shù)據(jù)丟失和破壞#65377;備份一般分為本地備份和網(wǎng)絡(luò)備份#65377;其優(yōu)點(diǎn)是簡單#65380;有效#65380;成本低;缺點(diǎn)是實(shí)時(shí)性較差#65380;恢復(fù)時(shí)間較長#65377;

復(fù)制通常是指將一個(gè)系統(tǒng)中的數(shù)據(jù)通過網(wǎng)絡(luò)分布到另外一個(gè)或者多個(gè)地理位置不同的系統(tǒng)中,以適應(yīng)可伸縮組織的需要#65380;減輕主服務(wù)器的工作負(fù)荷和提高數(shù)據(jù)的使用效率#65377;復(fù)制的基本原理是:定期掃描數(shù)據(jù),尋找新的或者被更新的數(shù)據(jù),并將它們拷貝到另一個(gè)系統(tǒng)#65377;數(shù)據(jù)復(fù)制是通過將共享數(shù)據(jù)復(fù)制到位于不同地點(diǎn)的多個(gè)數(shù)據(jù)庫中,從而實(shí)現(xiàn)數(shù)據(jù)的本地訪問,減少網(wǎng)絡(luò)負(fù)荷,并提高數(shù)據(jù)訪問的性能,而且通過對(duì)數(shù)據(jù)定期同步,確保所有的用戶使用同樣的#65380;最新的數(shù)據(jù)#65377;該技術(shù)適用于用戶數(shù)量較大#65380;地理分布較廣,而且需要實(shí)時(shí)地訪問相同數(shù)據(jù)的應(yīng)用模式[3]#65377;

鏡像是磁盤鏡像,數(shù)據(jù)一旦建立鏡像,產(chǎn)生的每個(gè)I/O操作均可在兩個(gè)磁盤上執(zhí)行,而兩個(gè)磁盤看起來就像一個(gè)磁盤一樣#65377;鏡像磁盤在配置時(shí)確定磁盤的主次,數(shù)據(jù)一般首先發(fā)送到主磁盤,再發(fā)送到次磁盤#65377;鏡像技術(shù)在硬件的投資上較大,對(duì)兩點(diǎn)間的網(wǎng)絡(luò)帶寬有較大的要求#65377;

高可用集群和容災(zāi)中心技術(shù)雖然也是為了消除或減弱意外事件給系統(tǒng)帶來的影響,但其側(cè)重的方向不同,實(shí)現(xiàn)的手段和產(chǎn)生的效果也不盡相同#65377;集群和容災(zāi)技術(shù)的目的是為了保證系統(tǒng)的可用性#65377;也就是說,當(dāng)意外發(fā)生時(shí),系統(tǒng)所提供的服務(wù)和功能不會(huì)因此而間斷#65377;對(duì)數(shù)據(jù)而言,集群和容災(zāi)技術(shù)是保護(hù)系統(tǒng)的在線狀態(tài),保證數(shù)據(jù)可以隨時(shí)被訪問#65377;高可用集群和容災(zāi)中心技術(shù)主要應(yīng)用于數(shù)據(jù)中心級(jí)的超大型存儲(chǔ)系統(tǒng)中,其系統(tǒng)復(fù)雜,成本高昂[4]#65377;

對(duì)于PDA等類型的消費(fèi)類電子產(chǎn)品,一般使用嵌入式操作系統(tǒng),使用的數(shù)據(jù)量也較小,而且無長期保存需求#65377;在僅僅為了防止數(shù)據(jù)丟失的條件下,備份是一個(gè)簡單#65380;有效的防止數(shù)據(jù)丟失的方案#65377;此外,備份軟件不會(huì)產(chǎn)生大量的進(jìn)程,不會(huì)占有太多的CPU和系統(tǒng)資源#65377;

2系統(tǒng)設(shè)計(jì)

2.1系統(tǒng)的功能

為了保證PDA系統(tǒng)的高可用性,備份系統(tǒng)主要完成以下三個(gè)任務(wù):

(1) 備份數(shù)據(jù)#65377;PDA系統(tǒng)會(huì)根據(jù)用戶的選擇,自動(dòng)或手動(dòng)地進(jìn)行選擇性的備份,將數(shù)據(jù)備份到Flash#65380;永久存儲(chǔ)卡(如CF#65380;SD#65380;MMC等設(shè)備)之中#65377;此外,還可以通過串口#65380;網(wǎng)絡(luò)等備份在其他系統(tǒng)(如PC個(gè)人電腦系統(tǒng))的存儲(chǔ)介質(zhì)上#65377;

(2) 恢復(fù)數(shù)據(jù)#65377;PDA系統(tǒng)也會(huì)根據(jù)用戶的選擇來自動(dòng)或手動(dòng)地進(jìn)行系統(tǒng)恢復(fù)數(shù)據(jù)操作#65377;

(3) 系統(tǒng)升級(jí)#65377;在PDA系統(tǒng)升級(jí)之后,系統(tǒng)將會(huì)被設(shè)置成缺省設(shè)置,從而修改了用戶對(duì)PDA所作的個(gè)人設(shè)置#65377;系統(tǒng)根據(jù)用戶的選擇,自動(dòng)或手動(dòng)地進(jìn)行升級(jí)后的系統(tǒng)設(shè)置恢復(fù),還原升級(jí)前用戶的個(gè)人設(shè)置#65377;

2.2系統(tǒng)的構(gòu)架

備份系統(tǒng)被命名為Backup/Restore系統(tǒng)#65377;為了使備份系統(tǒng)具有更好的擴(kuò)展性#65380;移植性和保密性及便于升級(jí),將用戶界面和備份/恢復(fù)的具體實(shí)現(xiàn)過程分離開來#65377;如圖1所示,備份/恢復(fù)的具體實(shí)現(xiàn)過程被做成一個(gè)DLL,也就是BREngine.dll#65377;用戶界面被做成BRMain.exe#65377;BRMain.exe被激活后,用戶在操作用戶界面時(shí),程序加載BREngine.dll實(shí)現(xiàn)備份#65380;恢復(fù)#65377;

BREngine.dll是一個(gè)動(dòng)態(tài)鏈接庫;在系統(tǒng)定制時(shí),可以固化在ROM中,更新BREngine.dll即可升級(jí)整個(gè)軟件#65377;如圖1所示,BREngine.dll調(diào)用三個(gè)庫文件:①Zip.lib實(shí)現(xiàn)文件的壓縮和解壓縮;②Database.lib主要實(shí)現(xiàn)遍歷和讀/寫database;③通過讀/寫database實(shí)現(xiàn)備份/恢復(fù)database,F(xiàn)ilesystem.lib實(shí)現(xiàn)遍歷PDA中的所有文件并且備份和恢復(fù)這些文件#65377;這三個(gè)庫文件都是用Embedded VC++編程#65380;編譯得到的#65377;

Detecter.exe是一個(gè)監(jiān)測程序,系統(tǒng)啟動(dòng)后自動(dòng)運(yùn)行#65377;它從注冊表獲取用戶設(shè)定的相關(guān)信息,根據(jù)這些信息激活BRMain.exe進(jìn)行備份#65377;例如,用戶設(shè)定在PDA的電量低于30%時(shí)備份,Detecter.exe檢測到PDA的電量低于30%時(shí)即開始備份數(shù)據(jù)到用戶指定的位置#65377;還可以設(shè)定按每天/每周/每月進(jìn)行備份#65377;

2.3用戶界面

從圖1可以看出,Backup/Restore用戶界面分為三部分:

(1) Backup#65377;用戶主動(dòng)按需要選擇備份#65377;用戶需要設(shè)置備份文件名#65380;備份類型#65380;備份的位置#65380;備份密碼(恢復(fù)時(shí)需要驗(yàn)證)等#65377;

(2) AutoBackup#65377;PDA自動(dòng)備份#65377;用戶按照(1)設(shè)置后,注冊表記下這些設(shè)置#65377;當(dāng)PDA的電量低于30%時(shí),BRMain.exe被激活,自動(dòng)進(jìn)行備份,備份過程與Backup一樣#65377;用戶也可以選擇按每天/每周/每月進(jìn)行備份#65377;

(3) Restore#65377;將備份得到的數(shù)據(jù)恢復(fù)到PDA中#65377;恢復(fù)前需要進(jìn)行密碼驗(yàn)證和版本檢測#65377;

2.4Backup/Restore的流程

為了提高Backup/Restore的靈活性,根據(jù)Backup/Restore的功能,將備份的類型分為兩種,即PIM Only(僅備份個(gè)人信息管理)和All(全部備份),如表1所示#65377;

表1中,RegistryFile備份PDA注冊表的內(nèi)容;PIM Database備份用戶對(duì)PDA中的日歷#65380;聯(lián)系#65380;任務(wù)#65380;提醒等所作的設(shè)置;Version Log備份PDA的系統(tǒng)信息(包括軟件和硬件);File System備份PDA中所有文件,具有以下屬性的除外: MMC等外存儲(chǔ)卡中的文件也不備份#65377;

備份時(shí),如果用戶選擇的備份類型是PIM Only,先依次備份Version Log#65380;Registry#65380;PIM Database;然后將它們的備份文件壓縮;最后分別添加到一個(gè)事先創(chuàng)建好的ZIP壓縮包文件中#65377;這個(gè)ZIP包文件(被命名為xxx.abk)就是備份后的文件#65377;如果用戶選擇的備份類型是All,則遍歷PDA中的所有文件(包括先前的三個(gè)文件),再將符合條件的文件分別壓縮并添加到ZIP包文件中#65377;那么這個(gè)ZIP包文件就是備份后的文件#65377;在遍歷的過程中,記錄了每個(gè)文件的完整路徑名和文件名,這些信息均包含在壓縮文件中#65377;創(chuàng)建壓縮包和壓縮文件均調(diào)用QCIZip.lib實(shí)現(xiàn)#65377;恢復(fù)時(shí),根據(jù)文件的路徑名從壓縮包(xxx.abk)中將文件解壓在路徑名指定的位置,并覆蓋已經(jīng)存在的文件#65377;具體的實(shí)現(xiàn)流程如圖2所示#65377;

3系統(tǒng)的實(shí)現(xiàn)

3.1Registry的備份和恢復(fù)的實(shí)現(xiàn)

注冊表的備份和恢復(fù)可以直接調(diào)用API來實(shí)現(xiàn),即RegCopyFile()備份注冊表#65380;RegRestoreFile()恢復(fù)注冊表;也可以通過系統(tǒng)提供的動(dòng)態(tài)鏈接庫來實(shí)現(xiàn)#65377;本文采用第二種方法#65377;僅以備份為例:

3.2Detecter.exe的實(shí)現(xiàn)

為了實(shí)現(xiàn)Detecter.exe在系統(tǒng)啟動(dòng)后自動(dòng)運(yùn)行,先建立Detecter.exe的一個(gè)快捷方式Detecter.lnk,將其打進(jìn)NK.bin包中,并修改相關(guān)文件和作相關(guān)設(shè)置#65377;這樣Detecter.exe在系統(tǒng)啟動(dòng)后即可運(yùn)行#65377;Detecter.exe運(yùn)行后,產(chǎn)生一個(gè)監(jiān)測線程[5];該線程每隔幾秒讀取注冊表一次,獲取用戶的相關(guān)設(shè)置,根據(jù)設(shè)置激活備份程序進(jìn)行指定的備份#65377;例如,用戶可以設(shè)置當(dāng)PDA的電量低于30%開始備份,也可以設(shè)置按每天/每周/每月進(jìn)行備份#65377;

3.3Database的備份和恢復(fù)的實(shí)現(xiàn)

Database的備份和恢復(fù)是用C++類實(shí)現(xiàn)的,BREngine.dll僅調(diào)用它的成員函數(shù)#65377;備份Database時(shí),先遍歷系統(tǒng)的Database,獲得Database大小#65380;數(shù)目和記錄數(shù)等,再將內(nèi)容依次寫入備份文件中,即可完成備份#65377;恢復(fù)時(shí),則根據(jù)Database的數(shù)目和記錄,依次將內(nèi)容寫回Database#65377;用到的函數(shù)主要有:CeFindFirstDatabaseEx()和CeFindNextDatabaseEx()用于遍歷系統(tǒng)的Database,獲得其大小#65380;數(shù)目和記錄數(shù)等信息;ReadFile()和WriteFile()用于讀寫Database的內(nèi)容;CeOpenDatabaseEx()用于打開Database;CeOidGetInfoEx()用于獲得Database信息;CeReadRecordPropsEx()用于獲得記錄屬性#65377;

3.4File System的備份和恢復(fù)的實(shí)現(xiàn)

備份時(shí),先遍歷PDA中所有文件,將符合備份條件的文件的完整路徑名#65380;文件名等信息記錄在一個(gè)結(jié)構(gòu)體中;再循環(huán)從結(jié)構(gòu)體中讀出文件的路徑和文件名,根據(jù)路徑找到文件,復(fù)制其內(nèi)容;然后壓縮,添加到壓縮包中#65377;恢復(fù)時(shí),根據(jù)文件的路徑名和文件名,將文件解壓到指定的位置,覆蓋同名文件即可#65377;用到的函數(shù)主要有:FindFirstFile ()和FindNextFile()用于遍歷所有文件,并獲得相關(guān)信息;CreateArchive()創(chuàng)建一個(gè)壓縮包文件;AddToArchive()復(fù)制文件內(nèi)容,壓縮并放入壓縮包中;CloseArchive()關(guān)閉壓縮包文件#65377;

4結(jié)束語

對(duì)于商務(wù)人士使用的個(gè)人數(shù)字助理,高可用性數(shù)據(jù)管理有著相當(dāng)重要的意義#65377;本文在Windows CE.NET環(huán)境下[6],在PDA上設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)高可用性數(shù)據(jù)管理軟件#65377;實(shí)踐證明,該軟件能夠很好地自動(dòng)備份#65380;恢復(fù)數(shù)據(jù),有效地防止數(shù)據(jù)丟失或被破壞#65377;此外,本系統(tǒng)也可以為類似個(gè)人數(shù)字助理的嵌入式系統(tǒng)設(shè)備,如Smart Phone#65380;PMP等消費(fèi)電子產(chǎn)品,提供一個(gè)很好的高可用性的參考范例#65377;后續(xù)的工作應(yīng)考慮如何將該軟件移植到PMP系統(tǒng)之上#65377;

本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

主站蜘蛛池模板: 免费不卡视频| 亚洲 欧美 中文 AⅤ在线视频| 国产网站一区二区三区| 激情成人综合网| 亚洲黄网在线| 国产女主播一区| 在线免费无码视频| 亚洲精品无码久久毛片波多野吉| 国产成人精品一区二区秒拍1o| 国产超碰在线观看| 啪啪永久免费av| 扒开粉嫩的小缝隙喷白浆视频| 国产不卡国语在线| 国产精女同一区二区三区久| 99久视频| 2021天堂在线亚洲精品专区| 久久久久亚洲精品成人网| 亚洲人成网站在线播放2019| 免费人成又黄又爽的视频网站| 人妻中文久热无码丝袜| 精品91视频| 亚洲一级无毛片无码在线免费视频| 久久亚洲黄色视频| 欧美中文字幕一区| 99精品伊人久久久大香线蕉| 狠狠色成人综合首页| 婷婷六月综合| 精品国产自在在线在线观看| 老司国产精品视频| 精品久久久久久成人AV| 日韩经典精品无码一区二区| 久久人人妻人人爽人人卡片av| 亚洲国产欧美目韩成人综合| 久草国产在线观看| 国产成人精品第一区二区| 色吊丝av中文字幕| 国产成人免费视频精品一区二区| 亚洲成人动漫在线| 亚洲Av综合日韩精品久久久| 欧美亚洲中文精品三区| 国产男人的天堂| 制服无码网站| 成人午夜网址| 国产大片黄在线观看| 67194亚洲无码| 国产精品污视频| 天堂在线www网亚洲| 欧美中文字幕在线视频| 国产欧美日韩综合一区在线播放| 一本一道波多野结衣av黑人在线| 亚洲婷婷在线视频| 久久综合AV免费观看| 欧美日韩在线第一页| 亚洲中文字幕国产av| 国产18在线| 免费人成网站在线高清| 91毛片网| 免费一级大毛片a一观看不卡| 成人av专区精品无码国产| 免费无码网站| 91精品人妻一区二区| 日韩在线欧美在线| 亚洲无限乱码一二三四区| 日韩国产黄色网站| 国产成人区在线观看视频| 天天摸夜夜操| 日韩高清成人| 天堂av综合网| 欧美啪啪精品| 日韩欧美国产精品| 亚洲精品你懂的| 亚洲AV无码一二区三区在线播放| 亚洲天堂在线免费| 免费在线不卡视频| 成人国产小视频| 最新亚洲人成无码网站欣赏网| 久久精品66| 91福利国产成人精品导航| 亚洲婷婷丁香| 亚洲AV人人澡人人双人| 国产麻豆aⅴ精品无码| 午夜不卡福利|