題目: 手機數(shù)據(jù)遷移
院(系) 計算機科學(xué)與技術(shù)學(xué)院
專 業(yè) 計算機科學(xué)與技術(shù)
摘 要
個人信息是對人們?nèi)粘I羁偨?jīng)常使用的信息的統(tǒng)稱,而隨著手機應(yīng)用的大范圍普及,信息技術(shù)的發(fā)展已經(jīng)實現(xiàn)了電子化,存儲在手機中的個人信息越來越重要。手機的地址本記載了聯(lián)系人的詳細信息,為了避免用戶因手機損壞或丟失而造成聯(lián)系人信息遺失,以及減少用戶平時在多個終端設(shè)備上維護同一份個人信息的不便,本文設(shè)計了一種基于Android手機操作系統(tǒng)和SyncML(Synchronizatfon Markup Language)數(shù)據(jù)同步協(xié)議的個人信息同步系統(tǒng)。
首先,筆者在仔細研究了當(dāng)前主要數(shù)據(jù)同步協(xié)議的基礎(chǔ)上,通過分析比較,最終選定SyncML數(shù)據(jù)同步協(xié)議作為整個個人信息管理PIM (Person Information Management)系統(tǒng)的基礎(chǔ)協(xié)議。SsyncML協(xié)議是一種基于*ML的數(shù)據(jù)同步協(xié)議,它使得各種不同類型的終端設(shè)備和應(yīng)用服務(wù)器之間可以通過相同的方式進行數(shù)據(jù)同步。
其次,分析當(dāng)前同步問題的難點,通過對SyncML協(xié)議的軟件技術(shù)研究,針對本系統(tǒng)提出了具體的解決思路和方法。并針對當(dāng)前移動設(shè)備數(shù)據(jù)同步方案存在的種種不足,提出了自己的移動設(shè)備數(shù)據(jù)同步系統(tǒng)架構(gòu)解決方案,以客戶端保存的更新列表作為同步過程中的仲裁判據(jù),使得在同步邏輯和沖突處理上邏輯上有了簡化。
然后,通過對整個PIM系統(tǒng)分析,將本PIM系統(tǒng)劃分為五個模塊進行實現(xiàn):與用戶交互的圖形界面(UI)模塊,負責(zé)數(shù)據(jù)傳輸服務(wù)的網(wǎng)絡(luò)服務(wù)模塊部分,進行SyncML協(xié)議處理的數(shù)據(jù)同步模塊部分,同步資源管理模塊,以及配置管理模塊。
最后,通過對以上模塊在PC機上的編程實現(xiàn),并用Android手機模擬器完成調(diào)試,完成了本文所研究內(nèi)容的具體實踐。
關(guān)鍵詞:手機軟件,手機數(shù)據(jù),遷移,同步,SyncML,PIM,通訊錄
ABSTRACT
Personal information is frequently used information collectively referred to peoples daily lives, with the wide range of popular mobile applications, the development of information technology to achieve electronic personal information stored in the phone more and more important. T
……(新文秘網(wǎng)http://120pk.cn省略1754字,正式會員可完整閱讀)……
e management module, as well as configuration management module.
Finally, to achieve the above module programming on a PC and the Android phone emulator to complete debugging, completion of this research practice.
keywords: Mobile Phone software, contacts, synchronized, phone data,migration,syncML,PIM
目錄
第1章 緒論 7
1.1 課題的背景 7
1.2 數(shù)據(jù)同步現(xiàn)狀 8
1.2.1 同步協(xié)議的選擇 9
1.2.2 SyncML同步協(xié)議的現(xiàn)狀 11
1.3 本文的研究內(nèi)容 12
第2章 SyncML協(xié)議 13
2.1 SyncML 協(xié)議分析 13
2.1.1 SyncML 應(yīng)用環(huán)境 14
2.1.2 SyncML同步協(xié)議 16
2.1.3 SyncML表示協(xié)議 18
2.1.4 SyncML傳輸綁定協(xié)議 20
2.2 數(shù)據(jù)同步的基本類型和基本概念 21
2.2.1 SyncML數(shù)據(jù)同步類型 21
2.2.2 SyncML協(xié)議中的基本概念 22
第3章 Android客戶端設(shè)計 27
3.1 客戶端的整體結(jié)構(gòu)與設(shè)計 27
3.2 模塊設(shè)計 28
3.2.1 用戶界面模塊 30
3.2.2 網(wǎng)絡(luò)服務(wù)模塊 30
3.2.3 數(shù)據(jù)同步模塊 31
3.2.4 同步資源管理模塊 31
3.2.5 用戶設(shè)置管理模塊 32
第4章 關(guān)鍵算法實現(xiàn) 33
4.1獲取本地更新列表 33
4.1.1 接口方法和變量 33
4.1.2 獲取更新鏈表 33
4.1.3 獲取之前存儲的fingerprints 34
4.1.4 獲取當(dāng)前的通訊錄數(shù)據(jù)fingerprints 34
4.1.5 根據(jù) fingerprints獲取更新列表 34
4.2 更新并存儲更新過的fingerprints 35
4.2.1 清空更新列表 35
4.2.2 計算 fingerprints 35
4.3 客戶端同步數(shù)據(jù)流處理 36
4.3.1 SyncItem和*ml 37
4.3.2 傳輸數(shù)據(jù)結(jié)構(gòu)和SyncItem 38
4.3.3 本地數(shù)據(jù)庫和傳輸數(shù)據(jù)結(jié)構(gòu) 39
第5章 系統(tǒng)測試 41
5.1 搭建Android應(yīng)用的開發(fā)環(huán)境 41
5.2 程序界面 42
5.2.1 登陸界面 43
5.2.2 設(shè)置界面 45
5.2.3 編輯界面 45
5.3 測試 47
5.3.1 測試環(huán)境 47
5.3.2 測試用例 47
5.3.3 測試結(jié)果 47
第6章
總結(jié)與展望 49
6.1 總結(jié) 49
6.2 展望 49
參考文獻 50
致謝 51
第1章 緒論
1.1 課題的背景
現(xiàn)代化的通信手段使得人們之間信息溝通的廣度、頻度以及便捷性都有了大幅度的提升,手機己成為現(xiàn)代人互相聯(lián)系不可或缺的工具,幾乎每個用戶都在其手機或其它終端上存儲了大量個人信息,包括地址本、短信、鈴聲、圖片等。這些信息的搜集都耗費了相當(dāng)多的精力,一旦手機丟失,所損失的往往不僅是一部手機,更為重要的是將丟失手機中所存儲的各種信息。另外用戶在使用移動設(shè)備獲得移動性和便利的同時,也遇到很多問題。移動設(shè)備的用戶不得不在個人電腦和移動設(shè)備上同時維護數(shù)份相同的個人信息,如聯(lián)系人、電子郵件、短信、日程表等等,這都給用戶造成了很大的不便。
隨著近幾年互聯(lián)網(wǎng)技術(shù)的不斷成熟,對于傳統(tǒng)的信息終端PC(Personal Computer),通過成熟的B/S(browser and server)架構(gòu),可以方便的實現(xiàn)PC機的數(shù)據(jù)同步,但對于移動終端,由于移動數(shù)據(jù)網(wǎng)絡(luò)以及移動終端處理能力的局限性,使得移動終端到互聯(lián)網(wǎng)間的數(shù)據(jù)交互仍有一定的困難,另外私有的數(shù)據(jù)同步和終端管理協(xié)議的數(shù)量的不斷增加限制了移動設(shè)備的使用以及用戶的機動性。這也就要求PIM(Person Information Management)服務(wù)必須占用更少的資源,提供更好的服務(wù)。為了解決這些問題,本課題實現(xiàn)的PIM系統(tǒng)采用了SyncML(Synchronizatfon Markup Language)協(xié)議來保證不同型號的終端與服務(wù)器數(shù)據(jù)同步的需求。
SyncML協(xié)議是唯一一種行業(yè)通用的移動數(shù)據(jù)同步化協(xié)議,是由OMA(Open Mobile Alliance)組織制定的關(guān)于數(shù)據(jù)同步和終端管理的一種開放性協(xié)議的目的在于與終端用戶、設(shè)備開發(fā)商、數(shù)據(jù)提供商、基礎(chǔ)構(gòu)件開發(fā)商、應(yīng)用軟件開發(fā)商及服務(wù)提供商協(xié)同工作,以真正實現(xiàn)使用任何終端設(shè)備均可隨時隨地訪問任何網(wǎng)絡(luò)數(shù)據(jù)。OMA制定的SyncML協(xié)議為不同的終端平臺,系統(tǒng)和數(shù)據(jù)類供了一個統(tǒng)一的數(shù)據(jù)同步和終端管理的規(guī)范,以消除基于不同終端平臺,系統(tǒng),數(shù)據(jù)類型的數(shù)據(jù)同步和終端管理協(xié)議給用戶、運營商、開發(fā)者所造成障礙。本課題就是在目前日趨成熟的SyncML數(shù)據(jù)同步協(xié)議的基礎(chǔ)上,實現(xiàn)了基于Android手機操作系統(tǒng)的移動終端與互聯(lián)網(wǎng)應(yīng)用服務(wù)器間的數(shù)據(jù)交換,從而使得用戶通過該系統(tǒng),可以通過不同終端方便地獲取完全一致的個人聯(lián)系人信息。
Google于2008年8月開放Android手機操作系統(tǒng)的源碼,這使Android操作系統(tǒng)從一開始就奠定了移動操作系統(tǒng)上的霸主地位。雖然基于非智能手機上的PIM應(yīng)用已經(jīng)日趨成熟,但是由于智能手機數(shù)據(jù)存儲容量大大超過了非智能手機,因此同步的數(shù)據(jù)也遠遠超過了非智能手機,而且,智能手機也要求PIM應(yīng)用具有較強的容錯能力。這些因素都給本文中的PIM應(yīng)用研究帶來了挑戰(zhàn)。
1.2 數(shù)據(jù)同步現(xiàn)狀
數(shù)據(jù)同步業(yè)務(wù)是一種支持兩數(shù)據(jù)源間進行數(shù)據(jù)同步的機制?梢院唵蔚卣J為在數(shù)據(jù)同步發(fā)生時,同步的雙方必須完成兩個任務(wù):將本方對數(shù)據(jù)源的修改發(fā)送給對方、根據(jù)對方發(fā)送的數(shù)據(jù)源修改記錄修改本方的數(shù)據(jù)源內(nèi)容。但是,一個完整的同步過程,它應(yīng)該包含更多任務(wù),例如:修改沖突、異常處理、日志管理等。另外,一個成熟的同步協(xié)議,也應(yīng)該支持多種同步方式,即允許兩數(shù)據(jù)源之間以特定的規(guī)則來交換數(shù)據(jù)。在某些規(guī)則下,某數(shù)據(jù)源需要將本方所有數(shù)據(jù)發(fā)送給進行同步另一數(shù)據(jù)源,而在另外一些情況下,某數(shù)據(jù)源儀需將發(fā)生改變的數(shù)據(jù)發(fā)送給進行同步的另一個數(shù)據(jù)源。從數(shù)據(jù)的角度分析,有電子郵件、地址本、短消息、行程安排等;從承載方式角度分析,有紅外、藍牙、GPRS、CDMA、電纜等。目前數(shù)據(jù)同步的豐要應(yīng)用領(lǐng)域有:電子日歷表(vCalendar)、聯(lián)系人(vCard)、電子郵件、網(wǎng)絡(luò)文件、時鐘、音頻視頻。
1.2.1 同步協(xié)議的選擇
目前比較常見的同步技術(shù)分別是:微軟的Activesync、Palm Hotsync、CPISync、SyncML。
Activesync是微軟公司為支持終端與桌面系統(tǒng)同步的而提供的產(chǎn)品,可以實現(xiàn)從文件到數(shù)據(jù)記錄等多種級別的數(shù)據(jù)同步。Activesync的總體結(jié)構(gòu)分成三部分:作于平臺上的同步管理模塊、工作于便攜終端上的模塊、以及被稱為ServiceProvider(SP)具體數(shù)據(jù)訪問模塊。Astivesync沒有對同步的記錄的表示與結(jié)構(gòu)作任何規(guī)定,只要求SSP為每一條記錄提供一個在SSP內(nèi)部唯一的標(biāo)識,SSP不提供映射管理能力。
Hotsync技術(shù)為PalmOS與PC平臺之間提供數(shù)據(jù)交換、程序安裝等能力。它包含了運行在PalmOS平臺上一個客戶組件(Hotsync Client)、在PC平臺上的同步管理程序(HotsyncManager)和同步管理器(Sync Manager)以及其它支持性的技術(shù)規(guī)范框架實現(xiàn)規(guī)范(Notifierdll實現(xiàn)規(guī)范、Conduits實現(xiàn)規(guī)范等內(nèi)容)。Hotsync支持的是一種端點到端點模式的同步。
CPISync是Cornell大學(xué)多位教授在他們所提出的集合一致化(Set Reconcile)算法基礎(chǔ)上設(shè)計實現(xiàn)的一種同步方式。CPIsync的算法中立于網(wǎng)絡(luò)拓撲與通信方式。本質(zhì)上,它依賴于內(nèi)容的比較,而不是更新消息的傳遞,在無需更多額外協(xié)調(diào)的情況下就可以支持松散P2P環(huán)境下的同步。由于它的同步數(shù)據(jù)單位是以數(shù)表示的信息單元,在具體環(huán)境中的應(yīng)用仍有很大的局限性。
雖然目前己經(jīng)有了很多的數(shù)據(jù)同步協(xié)議,而且各種新的協(xié)議還在不斷產(chǎn)生,但它們都有很大的局限性:其中大多數(shù)只能支持有限種類的設(shè)備、系統(tǒng)及數(shù)據(jù)類型。這些互不兼容的協(xié)議增加了各方面工作的復(fù)雜度,限制了便攜設(shè)備的進一步使用。為此,當(dāng)前著名的一些通信企業(yè)聯(lián)合起來,制定了一種全行業(yè)通用的移動數(shù)據(jù)同步協(xié)議一SyncML,開放性是它最重要的特點。SyncML是一種增量同步協(xié)議,對同步發(fā)生時,只發(fā)送數(shù)據(jù)庫中標(biāo)記為需要同步的記錄,同步后再重置該記錄的標(biāo)記。SyncML數(shù)據(jù)同步的特點是同步速度快、開放性好、支持各種不同操作系統(tǒng)的同步設(shè)備。
對前述的幾個同步設(shè)計方案,從計算強度、邏輯拓撲、系統(tǒng)規(guī)模、計算復(fù)雜度、使用環(huán)境等方 ……(未完,全文共27388字,當(dāng)前僅顯示4926字,請閱讀下面提示信息。
收藏《畢業(yè)論文:手機數(shù)據(jù)遷移》)