下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 移動(dòng)系統(tǒng)中離線(xiàn)數(shù)據(jù)技術(shù)研究 唐廣花 李強(qiáng)摘 要:文章通過(guò)對(duì)移動(dòng)應(yīng)用中離線(xiàn)數(shù)據(jù)技術(shù)的研究,結(jié)合電力、公路等外業(yè)管理系統(tǒng)的業(yè)務(wù)需求,提出了移動(dòng)應(yīng)用系統(tǒng)中采用離線(xiàn)數(shù)據(jù)技術(shù)的總體解決方案,從而解決當(dāng)前移動(dòng)應(yīng)用系統(tǒng)在信號(hào)不穩(wěn)定區(qū)域的應(yīng)用問(wèn)題。關(guān)鍵詞:外業(yè)管理;離線(xiàn)數(shù)據(jù);移動(dòng)應(yīng)用:tp393.02 文獻(xiàn)標(biāo)志碼:a :2095-2945(2018)31-0045-02abstract: based on the research of off-line data technology in mobile application and the busin
2、ess requirement of electric power and highway field management system, this paper puts forward the overall solution of off-line data technology in mobile application system, thus solving the application problem of the current mobile application system in the region with unstable signal.keywords: fie
3、ld management; offline data; mobile applications1 概述隨著智能手機(jī)及其他智能移動(dòng)終端的普及,伴隨而來(lái)的是app呈現(xiàn)爆發(fā)式增長(zhǎng)。然而,當(dāng)前大部分的app都是在線(xiàn)使用,而部分行業(yè),外業(yè)工作人員很多時(shí)候需要在崇山峻嶺的野外,甚至是隧道中進(jìn)行戶(hù)外作業(yè),這些地方通訊信號(hào)還沒(méi)完全覆蓋或者網(wǎng)絡(luò)很不穩(wěn)定,在線(xiàn)的app將無(wú)法進(jìn)行正常的操作,因此在這些app中必須采用離線(xiàn)數(shù)據(jù)處理技術(shù),讓工作人員能夠在無(wú)網(wǎng)絡(luò)的情況下保持順暢的數(shù)據(jù)錄入及查詢(xún)工作。2 移動(dòng)應(yīng)用系統(tǒng)離線(xiàn)數(shù)據(jù)技術(shù)分析2.1 離線(xiàn)數(shù)據(jù)技術(shù)分析當(dāng)前,用于移動(dòng)app的離線(xiàn)數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展已經(jīng)比較成熟,常見(jiàn)的離
4、線(xiàn)數(shù)據(jù)存儲(chǔ)技術(shù)主要有sqlite數(shù)據(jù)庫(kù)技術(shù)、基于localstorage客戶(hù)端本地文件存儲(chǔ)技術(shù)以及indexeddb移動(dòng)數(shù)據(jù)庫(kù)技術(shù)等等。各種離線(xiàn)數(shù)據(jù)技術(shù)各有千秋,sqlite功能強(qiáng)大但操作比較麻煩,基于localstorage本地文件方式操作簡(jiǎn)單但是只能存儲(chǔ)數(shù)量級(jí)較小的數(shù)據(jù),相對(duì)而言indexeddb既可以存儲(chǔ)大量的數(shù)據(jù)又操作便捷,indexeddb能夠在客戶(hù)端存儲(chǔ)大量的結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)以對(duì)象的方式進(jìn)行保存和管理,indexeddb創(chuàng)建了一套使用索引高效檢索的api,通過(guò)api可以高效地對(duì)數(shù)據(jù)進(jìn)行保存和讀取,同時(shí)支持查詢(xún)和搜索,所以使用indexeddb做為移動(dòng)端數(shù)據(jù)庫(kù)比較合適。2.2 離線(xiàn)應(yīng)
5、用系統(tǒng)總體方案2.2.1 業(yè)務(wù)模式外業(yè)人員使用移動(dòng)app基于離線(xiàn)狀態(tài)獨(dú)立開(kāi)展外業(yè)處理(數(shù)據(jù)采集等),移動(dòng)端app通過(guò)本地?cái)?shù)據(jù)庫(kù)臨時(shí)存儲(chǔ)離線(xiàn)狀態(tài)下新錄入的業(yè)務(wù)數(shù)據(jù),回到網(wǎng)絡(luò)狀況好的環(huán)境下,啟動(dòng)數(shù)據(jù)同步,將移動(dòng)端數(shù)據(jù)提交到服務(wù)器數(shù)據(jù)中,內(nèi)業(yè)人員及管理人員通過(guò)pc端對(duì)數(shù)據(jù)進(jìn)行后續(xù)的處理及應(yīng)用。2.2.2 實(shí)現(xiàn)思路移動(dòng)端app基于indexeddb數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),建立移動(dòng)端與服務(wù)器端的數(shù)據(jù)操作規(guī)則(哪些數(shù)據(jù)在移動(dòng)端進(jìn)行新增和修改,哪些數(shù)據(jù)只能在web端修改等),據(jù)此規(guī)則建立基于http的數(shù)據(jù)同步服務(wù)(webservice)并部署至外網(wǎng),移動(dòng)端通過(guò)webservice與服務(wù)器進(jìn)行數(shù)據(jù)交換。2.2.3 系
6、統(tǒng)結(jié)構(gòu)(見(jiàn)圖1)3 離線(xiàn)數(shù)據(jù)的實(shí)現(xiàn)方案3.1 數(shù)據(jù)規(guī)則定義為了讓數(shù)據(jù)在移動(dòng)端的離線(xiàn)操作和pc web端的在線(xiàn)操作之間達(dá)到統(tǒng)一,而不出現(xiàn)混亂,就必須在數(shù)據(jù)的訪問(wèn)、修改、交換上定義一定的規(guī)則,從數(shù)據(jù)交換的角度,移動(dòng)端的所有數(shù)據(jù)可以分為基礎(chǔ)數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)兩大類(lèi),其訪問(wèn)、修改及交換的規(guī)則如下:基礎(chǔ)數(shù)據(jù):只能在pc端進(jìn)行修改,移動(dòng)端只能訪問(wèn)不可修改,在進(jìn)行數(shù)據(jù)交換時(shí),只需從服務(wù)器下載至移動(dòng)端,無(wú)需從移動(dòng)端上傳服務(wù)器。業(yè)務(wù)數(shù)據(jù):對(duì)于本地新增的部分業(yè)務(wù)數(shù)據(jù),在數(shù)據(jù)與服務(wù)器進(jìn)行交換前可以任意修改,當(dāng)數(shù)據(jù)上傳服務(wù)器之后,在移動(dòng)端只能查詢(xún),不能再進(jìn)行編輯,只能在pc端進(jìn)行修改。非本設(shè)備新增的業(yè)務(wù)數(shù)據(jù)一律不能編輯、
7、只能查詢(xún)。在進(jìn)行數(shù)據(jù)交換時(shí),需要上傳本地新增的部分?jǐn)?shù)據(jù),還需要從服務(wù)器下載必要的業(yè)務(wù)數(shù)據(jù)到移動(dòng)端,以備查閱。3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)為了實(shí)現(xiàn)移動(dòng)端與服務(wù)器數(shù)據(jù)的交換,保證交換的規(guī)則和交換效率,數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)需要在實(shí)現(xiàn)原有業(yè)務(wù)需求的基礎(chǔ)上增加以下的設(shè)計(jì):(1)增加一個(gè)數(shù)據(jù)交換定義表,用于記錄移動(dòng)端數(shù)據(jù)與服務(wù)器的交換規(guī)則,后續(xù)的數(shù)據(jù)管理及交換都按此表中的定義進(jìn)行操作,數(shù)據(jù)定義表主要包含表名稱(chēng)、說(shuō)明、交換規(guī)則等字段,表結(jié)構(gòu)及數(shù)據(jù)示例如表1:(2)在所有的業(yè)務(wù)數(shù)據(jù)庫(kù)表上增加同步狀態(tài)標(biāo)志字段,用來(lái)標(biāo)記哪些記錄為新增的(需要上傳的),哪些是同步完成(不能再在移動(dòng)端進(jìn)行修改)的記錄,字段類(lèi)型為整數(shù),移動(dòng)端新增
8、的記錄該字段默認(rèn)為0,同步完成后的相應(yīng)記錄的狀態(tài)標(biāo)記字段設(shè)為1,一般業(yè)務(wù)數(shù)據(jù)表結(jié)構(gòu)及數(shù)據(jù)如表2:3.3 離線(xiàn)數(shù)據(jù)訪問(wèn)實(shí)現(xiàn)indexeddb以對(duì)象的方式存取數(shù)據(jù),它創(chuàng)建了一套api,通過(guò)api實(shí)現(xiàn)數(shù)據(jù)的基本操作,使用起來(lái)簡(jiǎn)單且直觀。通過(guò)indexeddb.open(數(shù)據(jù)庫(kù)名稱(chēng),版本號(hào))打開(kāi)移動(dòng)端數(shù)據(jù)庫(kù),建立與數(shù)據(jù)庫(kù)的連接。在indexeddb中沒(méi)有表的概念,而是objectstore,一個(gè)數(shù)據(jù)庫(kù)中可以包含多個(gè)objectstore,objectstore是一個(gè)靈活的數(shù)據(jù)結(jié)構(gòu),可以存放多種類(lèi)型數(shù)據(jù)。一個(gè)objectstore相當(dāng)于一張表,里面存儲(chǔ)的每條數(shù)據(jù)和一個(gè)鍵相關(guān)聯(lián)。3.4 數(shù)據(jù)同步當(dāng)移動(dòng)終端
9、處于離線(xiàn)操作時(shí),采集的數(shù)據(jù)只能臨時(shí)保存在本機(jī),無(wú)法存儲(chǔ)到更加安全的服務(wù)器上,也不能進(jìn)行后續(xù)的業(yè)務(wù)處理,同時(shí)本地的基礎(chǔ)數(shù)據(jù)等也會(huì)因?yàn)榉?wù)器上的數(shù)據(jù)更新而變得過(guò)時(shí),所以當(dāng)移動(dòng)設(shè)備進(jìn)入網(wǎng)絡(luò)狀況較好的區(qū)域時(shí),需要盡快進(jìn)行數(shù)據(jù)同步,將采集的數(shù)據(jù)上傳至服務(wù)器,同時(shí)從服務(wù)器下載最新的其他數(shù)據(jù)。讓本機(jī)和服務(wù)器的數(shù)據(jù)都保持最新?tīng)顟B(tài)。數(shù)據(jù)同步主要分為數(shù)據(jù)上傳和數(shù)據(jù)下載兩個(gè)部分,通過(guò)調(diào)用部署在服務(wù)器上的webservice的相關(guān)方法來(lái)實(shí)現(xiàn)。3.4.1 數(shù)據(jù)上傳將本地新增數(shù)據(jù)上傳至服務(wù)器,保存到服務(wù)器數(shù)據(jù)庫(kù)中,上傳數(shù)據(jù)的整個(gè)流程:(1)獲取數(shù)據(jù):根據(jù)數(shù)據(jù)定義表中定義的數(shù)據(jù)上傳表清單(這些表中有可能有新增數(shù)據(jù)),逐個(gè)表
10、進(jìn)行獲取數(shù)據(jù),只讀取各表中數(shù)據(jù)同步狀態(tài)為0的數(shù)據(jù);(2)數(shù)據(jù)上傳:將獲取到的數(shù)據(jù)轉(zhuǎn)換成json格式或者xml格式的文件包,通過(guò)調(diào)用數(shù)據(jù)同步服務(wù)的提交數(shù)據(jù)方法,將數(shù)據(jù)提交給服務(wù),通過(guò)服務(wù)(webservice)將數(shù)據(jù)傳輸給服務(wù)器;(3)數(shù)據(jù)接收:服務(wù)器接收到上傳的數(shù)據(jù)包后,進(jìn)行解析,將上傳的數(shù)據(jù)逐個(gè)插入到對(duì)應(yīng)的表中,在數(shù)據(jù)插入前先開(kāi)啟事務(wù),如果發(fā)生異常,全部回滾,返回失敗標(biāo)記給移動(dòng)端;當(dāng)全部數(shù)據(jù)正常插入后,結(jié)束事務(wù),返回成功標(biāo)記給移動(dòng)端;(4)數(shù)據(jù)狀態(tài)更新:當(dāng)數(shù)據(jù)同步服務(wù)反饋數(shù)據(jù)同步成功后,移動(dòng)端將本次上傳數(shù)據(jù)對(duì)應(yīng)的狀態(tài)全部修改為1。3.4.2 數(shù)據(jù)下載下載基礎(chǔ)數(shù)據(jù)及必要的業(yè)務(wù)數(shù)據(jù)到移動(dòng)端,替換
11、現(xiàn)有數(shù)據(jù),數(shù)據(jù)下載流程:(1)請(qǐng)求下載:通過(guò)調(diào)用webserice的數(shù)據(jù)下載接口,發(fā)起數(shù)據(jù)下載請(qǐng)求;(2)數(shù)據(jù)準(zhǔn)備:webservice獲取服務(wù)器上最新的數(shù)據(jù)(只獲取同步定義表中列舉的表中的全部數(shù)據(jù)),轉(zhuǎn)換成json格式或者xml格式的數(shù)據(jù)包;(3)數(shù)據(jù)傳輸:通過(guò)http協(xié)議將數(shù)據(jù)包從服務(wù)器下載至移動(dòng)端;(4)數(shù)據(jù)替換:解析收到的數(shù)據(jù)包后,開(kāi)啟事務(wù),將移動(dòng)端對(duì)應(yīng)表中原有的數(shù)據(jù)全部刪除,將下載的新數(shù)據(jù)添加到對(duì)應(yīng)的表中,如發(fā)生異常,回滾事務(wù),將移動(dòng)端數(shù)據(jù)還原為下載之前的狀態(tài),正常完成數(shù)據(jù)替換后,更新移動(dòng)端數(shù)據(jù)同步時(shí)間。4 結(jié)束語(yǔ)本文基于外業(yè)app系統(tǒng),對(duì)數(shù)據(jù)離線(xiàn)技術(shù)及實(shí)現(xiàn)方案進(jìn)行了探索,以indexdb作為移動(dòng)終端的數(shù)據(jù)庫(kù),提出了離線(xiàn)應(yīng)用系統(tǒng)數(shù)據(jù)處理的基本框架,從數(shù)據(jù)交換規(guī)則定義、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、移動(dòng)數(shù)據(jù)庫(kù)訪問(wèn)、數(shù)據(jù)同步等方面對(duì)實(shí)現(xiàn)應(yīng)用系統(tǒng)的離線(xiàn)數(shù)據(jù)處
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村振興經(jīng)濟(jì)本地化研究-洞察分析
- 《膝部運(yùn)動(dòng)學(xué)》課件
- 《企業(yè)利潤(rùn)分配管理》課件
- 再審租賃合同(2篇)
- 《泰康養(yǎng)老社區(qū)》課件
- 2025年人教新課標(biāo)五年級(jí)英語(yǔ)上冊(cè)月考試卷
- 2025年浙教版高三地理下冊(cè)階段測(cè)試試卷
- 體育館改造合作協(xié)議
- 特殊病種護(hù)理增援
- 醫(yī)療環(huán)保企業(yè)醫(yī)務(wù)人員聘用合同
- 【9歷期末】安徽省合肥市包河區(qū)智育聯(lián)盟2023-2024學(xué)年九年級(jí)上學(xué)期1月期末歷史試題
- 2024年度專(zhuān)業(yè)外語(yǔ)培訓(xùn)機(jī)構(gòu)兼職外教聘任合同3篇
- 個(gè)人的車(chē)位租賃合同范文-個(gè)人車(chē)位租賃合同簡(jiǎn)單版
- 2025-2025學(xué)年小學(xué)數(shù)學(xué)教研組工作計(jì)劃
- 水族館改造合同
- 湖南省益陽(yáng)市2022-2023學(xué)年高三上學(xué)期數(shù)學(xué)期末試卷
- 【MOOC】教學(xué)研究的數(shù)據(jù)處理與工具應(yīng)用-愛(ài)課程 中國(guó)大學(xué)慕課MOOC答案
- 《小學(xué)科學(xué)實(shí)驗(yàn)創(chuàng)新》課件
- 拌合站安全事故案例
- 《紅色家書(shū)》讀書(shū)分享會(huì)主題班會(huì)課件
- 2025年廣東省春季高考數(shù)學(xué)仿真模擬試卷試題(含答案解析+答題卡)
評(píng)論
0/150
提交評(píng)論