題目: 手機(jī)數(shù)據(jù)遷移
院(系) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)
摘 要
個(gè)人信息是對(duì)人們?nèi)粘I羁偨?jīng)常使用的信息的統(tǒng)稱,而隨著手機(jī)應(yīng)用的大范圍普及,信息技術(shù)的發(fā)展已經(jīng)實(shí)現(xiàn)了電子化,存儲(chǔ)在手機(jī)中的個(gè)人信息越來(lái)越重要。手機(jī)的地址本記載了聯(lián)系人的詳細(xì)信息,為了避免用戶因手機(jī)損壞或丟失而造成聯(lián)系人信息遺失,以及減少用戶平時(shí)在多個(gè)終端設(shè)備上維護(hù)同一份個(gè)人信息的不便,本文設(shè)計(jì)了一種基于Android手機(jī)操作系統(tǒng)和SyncML(Synchronizatfon Markup Language)數(shù)據(jù)同步協(xié)議的個(gè)人信息同步系統(tǒng)。
首先,筆者在仔細(xì)研究了當(dāng)前主要數(shù)據(jù)同步協(xié)議的基礎(chǔ)上,通過(guò)分析比較,最終選定SyncML數(shù)據(jù)同步協(xié)議作為整個(gè)個(gè)人信息管理PIM (Person Information Management)系統(tǒng)的基礎(chǔ)協(xié)議。SsyncML協(xié)議是一種基于*ML的數(shù)據(jù)同步協(xié)議,它使得各種不同類型的終端設(shè)備和應(yīng)用服務(wù)器之間可以通過(guò)相同的方式進(jìn)行數(shù)據(jù)同步。
其次,分析當(dāng)前同步問(wèn)題的難點(diǎn),通過(guò)對(duì)SyncML協(xié)議的軟件技術(shù)研究,針對(duì)本系統(tǒng)提出了具體的解決思路和方法。并針對(duì)當(dāng)前移動(dòng)設(shè)備數(shù)據(jù)同步方案存在的種種不足,提出了自己的移動(dòng)設(shè)備數(shù)據(jù)同步系統(tǒng)架構(gòu)解決方案,以客戶端保存的更新列表作為同步過(guò)程中的仲裁判據(jù),使得在同步邏輯和沖突處理上邏輯上有了簡(jiǎn)化。
然后,通過(guò)對(duì)整個(gè)PIM系統(tǒng)分析,將本PIM系統(tǒng)劃分為五個(gè)模塊進(jìn)行實(shí)現(xiàn):與用戶交互的圖形界面(UI)模塊,負(fù)責(zé)數(shù)據(jù)傳輸服務(wù)的網(wǎng)絡(luò)服務(wù)模塊部分,進(jìn)行SyncML協(xié)議處理的數(shù)據(jù)同步模塊部分,同步資源管理模塊,以及配置管理模塊。
最后,通過(guò)對(duì)以上模塊在PC機(jī)上的編程實(shí)現(xiàn),并用Android手機(jī)模擬器完成調(diào)試,完成了本文所研究?jī)?nèi)容的具體實(shí)踐。
關(guān)鍵詞:手機(jī)軟件,手機(jī)數(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字,正式會(huì)員可完整閱讀)……
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 本文的研究?jī)?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è)計(jì) 27
3.1 客戶端的整體結(jié)構(gòu)與設(shè)計(jì) 27
3.2 模塊設(shè)計(jì) 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)鍵算法實(shí)現(xiàn) 33
4.1獲取本地更新列表 33
4.1.1 接口方法和變量 33
4.1.2 獲取更新鏈表 33
4.1.3 獲取之前存儲(chǔ)的fingerprints 34
4.1.4 獲取當(dāng)前的通訊錄數(shù)據(jù)fingerprints 34
4.1.5 根據(jù) fingerprints獲取更新列表 34
4.2 更新并存儲(chǔ)更新過(guò)的fingerprints 35
4.2.1 清空更新列表 35
4.2.2 計(jì)算 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 本地?cái)?shù)據(jù)庫(kù)和傳輸數(shù)據(jù)結(jié)構(gòu) 39
第5章 系統(tǒng)測(cè)試 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 測(cè)試 47
5.3.1 測(cè)試環(huán)境 47
5.3.2 測(cè)試用例 47
5.3.3 測(cè)試結(jié)果 47
第6章
總結(jié)與展望 49
6.1 總結(jié) 49
6.2 展望 49
參考文獻(xiàn) 50
致謝 51
第1章 緒論
1.1 課題的背景
現(xiàn)代化的通信手段使得人們之間信息溝通的廣度、頻度以及便捷性都有了大幅度的提升,手機(jī)己成為現(xiàn)代人互相聯(lián)系不可或缺的工具,幾乎每個(gè)用戶都在其手機(jī)或其它終端上存儲(chǔ)了大量個(gè)人信息,包括地址本、短信、鈴聲、圖片等。這些信息的搜集都耗費(fèi)了相當(dāng)多的精力,一旦手機(jī)丟失,所損失的往往不僅是一部手機(jī),更為重要的是將丟失手機(jī)中所存儲(chǔ)的各種信息。另外用戶在使用移動(dòng)設(shè)備獲得移動(dòng)性和便利的同時(shí),也遇到很多問(wèn)題。移動(dòng)設(shè)備的用戶不得不在個(gè)人電腦和移動(dòng)設(shè)備上同時(shí)維護(hù)數(shù)份相同的個(gè)人信息,如聯(lián)系人、電子郵件、短信、日程表等等,這都給用戶造成了很大的不便。
隨著近幾年互聯(lián)網(wǎng)技術(shù)的不斷成熟,對(duì)于傳統(tǒng)的信息終端PC(Personal Computer),通過(guò)成熟的B/S(browser and server)架構(gòu),可以方便的實(shí)現(xiàn)PC機(jī)的數(shù)據(jù)同步,但對(duì)于移動(dòng)終端,由于移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)以及移動(dòng)終端處理能力的局限性,使得移動(dòng)終端到互聯(lián)網(wǎng)間的數(shù)據(jù)交互仍有一定的困難,另外私有的數(shù)據(jù)同步和終端管理協(xié)議的數(shù)量的不斷增加限制了移動(dòng)設(shè)備的使用以及用戶的機(jī)動(dòng)性。這也就要求PIM(Person Information Management)服務(wù)必須占用更少的資源,提供更好的服務(wù)。為了解決這些問(wèn)題,本課題實(shí)現(xiàn)的PIM系統(tǒng)采用了SyncML(Synchronizatfon Markup Language)協(xié)議來(lái)保證不同型號(hào)的終端與服務(wù)器數(shù)據(jù)同步的需求。
SyncML協(xié)議是唯一一種行業(yè)通用的移動(dòng)數(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é)同工作,以真正實(shí)現(xiàn)使用任何終端設(shè)備均可隨時(shí)隨地訪問(wèn)任何網(wǎng)絡(luò)數(shù)據(jù)。OMA制定的SyncML協(xié)議為不同的終端平臺(tái),系統(tǒng)和數(shù)據(jù)類供了一個(gè)統(tǒng)一的數(shù)據(jù)同步和終端管理的規(guī)范,以消除基于不同終端平臺(tái),系統(tǒng),數(shù)據(jù)類型的數(shù)據(jù)同步和終端管理協(xié)議給用戶、運(yùn)營(yíng)商、開發(fā)者所造成障礙。本課題就是在目前日趨成熟的SyncML數(shù)據(jù)同步協(xié)議的基礎(chǔ)上,實(shí)現(xiàn)了基于Android手機(jī)操作系統(tǒng)的移動(dòng)終端與互聯(lián)網(wǎng)應(yīng)用服務(wù)器間的數(shù)據(jù)交換,從而使得用戶通過(guò)該系統(tǒng),可以通過(guò)不同終端方便地獲取完全一致的個(gè)人聯(lián)系人信息。
Google于2008年8月開放Android手機(jī)操作系統(tǒng)的源碼,這使Android操作系統(tǒng)從一開始就奠定了移動(dòng)操作系統(tǒng)上的霸主地位。雖然基于非智能手機(jī)上的PIM應(yīng)用已經(jīng)日趨成熟,但是由于智能手機(jī)數(shù)據(jù)存儲(chǔ)容量大大超過(guò)了非智能手機(jī),因此同步的數(shù)據(jù)也遠(yuǎn)遠(yuǎn)超過(guò)了非智能手機(jī),而且,智能手機(jī)也要求PIM應(yīng)用具有較強(qiáng)的容錯(cuò)能力。這些因素都給本文中的PIM應(yīng)用研究帶來(lái)了挑戰(zhàn)。
1.2 數(shù)據(jù)同步現(xiàn)狀
數(shù)據(jù)同步業(yè)務(wù)是一種支持兩數(shù)據(jù)源間進(jìn)行數(shù)據(jù)同步的機(jī)制。可以簡(jiǎn)單地認(rèn)為在數(shù)據(jù)同步發(fā)生時(shí),同步的雙方必須完成兩個(gè)任務(wù):將本方對(duì)數(shù)據(jù)源的修改發(fā)送給對(duì)方、根據(jù)對(duì)方發(fā)送的數(shù)據(jù)源修改記錄修改本方的數(shù)據(jù)源內(nèi)容。但是,一個(gè)完整的同步過(guò)程,它應(yīng)該包含更多任務(wù),例如:修改沖突、異常處理、日志管理等。另外,一個(gè)成熟的同步協(xié)議,也應(yīng)該支持多種同步方式,即允許兩數(shù)據(jù)源之間以特定的規(guī)則來(lái)交換數(shù)據(jù)。在某些規(guī)則下,某數(shù)據(jù)源需要將本方所有數(shù)據(jù)發(fā)送給進(jìn)行同步另一數(shù)據(jù)源,而在另外一些情況下,某數(shù)據(jù)源儀需將發(fā)生改變的數(shù)據(jù)發(fā)送給進(jìn)行同步的另一個(gè)數(shù)據(jù)源。從數(shù)據(jù)的角度分析,有電子郵件、地址本、短消息、行程安排等;從承載方式角度分析,有紅外、藍(lán)牙、GPRS、CDMA、電纜等。目前數(shù)據(jù)同步的豐要應(yīng)用領(lǐng)域有:電子日歷表(vCalendar)、聯(lián)系人(vCard)、電子郵件、網(wǎng)絡(luò)文件、時(shí)鐘、音頻視頻。
1.2.1 同步協(xié)議的選擇
目前比較常見的同步技術(shù)分別是:微軟的Activesync、Palm Hotsync、CPISync、SyncML。
Activesync是微軟公司為支持終端與桌面系統(tǒng)同步的而提供的產(chǎn)品,可以實(shí)現(xiàn)從文件到數(shù)據(jù)記錄等多種級(jí)別的數(shù)據(jù)同步。Activesync的總體結(jié)構(gòu)分成三部分:作于平臺(tái)上的同步管理模塊、工作于便攜終端上的模塊、以及被稱為ServiceProvider(SP)具體數(shù)據(jù)訪問(wèn)模塊。Astivesync沒(méi)有對(duì)同步的記錄的表示與結(jié)構(gòu)作任何規(guī)定,只要求SSP為每一條記錄提供一個(gè)在SSP內(nèi)部唯一的標(biāo)識(shí),SSP不提供映射管理能力。
Hotsync技術(shù)為PalmOS與PC平臺(tái)之間提供數(shù)據(jù)交換、程序安裝等能力。它包含了運(yùn)行在PalmOS平臺(tái)上一個(gè)客戶組件(Hotsync Client)、在PC平臺(tái)上的同步管理程序(HotsyncManager)和同步管理器(Sync Manager)以及其它支持性的技術(shù)規(guī)范框架實(shí)現(xiàn)規(guī)范(Notifierdll實(shí)現(xiàn)規(guī)范、Conduits實(shí)現(xiàn)規(guī)范等內(nèi)容)。Hotsync支持的是一種端點(diǎn)到端點(diǎn)模式的同步。
CPISync是Cornell大學(xué)多位教授在他們所提出的集合一致化(Set Reconcile)算法基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)的一種同步方式。CPIsync的算法中立于網(wǎng)絡(luò)拓?fù)渑c通信方式。本質(zhì)上,它依賴于內(nèi)容的比較,而不是更新消息的傳遞,在無(wú)需更多額外協(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è)備的進(jìn)一步使用。為此,當(dāng)前著名的一些通信企業(yè)聯(lián)合起來(lái),制定了一種全行業(yè)通用的移動(dòng)數(shù)據(jù)同步協(xié)議一SyncML,開放性是它最重要的特點(diǎn)。SyncML是一種增量同步協(xié)議,對(duì)同步發(fā)生時(shí),只發(fā)送數(shù)據(jù)庫(kù)中標(biāo)記為需要同步的記錄,同步后再重置該記錄的標(biāo)記。SyncML數(shù)據(jù)同步的特點(diǎn)是同步速度快、開放性好、支持各種不同操作系統(tǒng)的同步設(shè)備。
對(duì)前述的幾個(gè)同步設(shè)計(jì)方案,從計(jì)算強(qiáng)度、邏輯拓?fù)洹⑾到y(tǒng)規(guī)模、計(jì)算復(fù)雜度、使用環(huán)境等方 ……(未完,全文共27388字,當(dāng)前僅顯示4926字,請(qǐng)閱讀下面提示信息。
收藏《畢業(yè)論文:手機(jī)數(shù)據(jù)遷移》)