国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Andriod的CDIO教學系統(tǒng)數(shù)據(jù)庫同步技術優(yōu)化方案

2016-12-23 19:49:41胡海燕
科教導刊·電子版 2016年29期

胡海燕

摘 要 為更好地實現(xiàn)工程教育改革目標,將CDIO模式下的教學系統(tǒng)擴展移植到Android手機平臺,本文重點研究了CDIO教學系統(tǒng)在Android移動平臺使用的過程中,如何更好地保持客戶端與服務器數(shù)據(jù)庫同步的問題。研究的關鍵問題是將Hash算法運用于Android平臺CDIO教學系統(tǒng)的數(shù)據(jù)庫更新,相對于傳統(tǒng)的數(shù)據(jù)同步算法減少了網(wǎng)絡流量,增加了網(wǎng)絡利用率,使系統(tǒng)性能得到優(yōu)化。

關鍵詞 Android 數(shù)據(jù)同步 Hash

中圖分類號:TN929.5-4;TP391 文獻標識碼:A

0引言

受到網(wǎng)絡條件以及Android系統(tǒng)資源等多方面因素,Android系統(tǒng)通常不能和服務器網(wǎng)絡保持實時連接,而且網(wǎng)絡狀況也是不停地在變化,絕大部分Android系統(tǒng)是離線工作的,客戶端數(shù)據(jù)更新時,不僅要更新本地存儲設備內(nèi)的數(shù)據(jù)庫,同時也要通知遠程服務器,并使服務器內(nèi)的數(shù)據(jù)庫進行更新,這樣才能保持數(shù)據(jù)的一致性。而當本地設備要進行數(shù)據(jù)查詢時,它要發(fā)送請求給遠程數(shù)據(jù)庫,得到最新的數(shù)據(jù)信息,并更新到本地數(shù)據(jù)庫。

1傳統(tǒng)數(shù)據(jù)同步技術的不足

(1)當Android系統(tǒng)進行查詢時,即使本地存儲設備上的數(shù)據(jù)是最新的,它不去讀取它,而直接向服務器數(shù)據(jù)庫提交查詢,增加了服務器的負擔,浪費了本地數(shù)據(jù)庫可用資源。

(2)查詢的所有結果通過網(wǎng)絡進行傳輸,傳回Android系統(tǒng),即使查詢結果中的部分數(shù)據(jù),和本地存儲設備上的數(shù)據(jù)是重復一樣的,這些重復數(shù)據(jù)也要進行傳輸。

(3)Android系統(tǒng)在得到數(shù)據(jù)結果后,要更新所有的數(shù)據(jù),即使其中的部分數(shù)據(jù)不需要更新。

2一種基于 Hash算法的新方案

由于Andriod的移動性、間斷性、資源的有限性、存儲設備的特點以及網(wǎng)絡帶寬多樣性,決定了要有一種策略,使得該系統(tǒng)的數(shù)據(jù)庫和服務器數(shù)據(jù)庫進行更新時達到優(yōu)化。本文利用Hash算法具有可以使任意長度的的信息壓縮成為固定長度的比特串的特點,來減少數(shù)據(jù)流量從而增加系統(tǒng)利用率,實現(xiàn)同步優(yōu)化。

2.1系統(tǒng)模型

(1)Android系統(tǒng)向本地數(shù)據(jù)庫行一次查詢,得到查詢信息,并利用Hash算法,把自己的查詢數(shù)據(jù)結果取可以唯一地表示一段數(shù)據(jù)的“簽名”,任何兩段不同的數(shù)據(jù)所取得的簽名不會一致,即任何不同的數(shù)據(jù)查詢結果不會重復。Android系統(tǒng)把該簽名信息與查詢語句一并通過網(wǎng)絡提交給服務器數(shù)據(jù)庫。

(2)服務器數(shù)據(jù)庫得到查詢請求后,得到一組數(shù)據(jù)結果,并且用相同的Hash算法得到這組數(shù)據(jù)的數(shù)字“簽名”。然后服務器把兩組簽名進行比對,可以得到Android系統(tǒng)的哪些數(shù)據(jù)結果和服務器數(shù)據(jù)庫的查詢結果不吻合。服務器只把所有不吻合的數(shù)據(jù)結果,通過網(wǎng)絡返回給Android系統(tǒng)。

(3)Android系統(tǒng)在得到這些不吻合數(shù)據(jù)后,對自己的本地數(shù)據(jù)庫進行更新,寫到存儲設備之上。

2.2 具體方案

2.2.1Android平臺教學系統(tǒng)中Hash應用

在Android平臺教學系統(tǒng)中,當有新的查詢要求時,可以先對本地的數(shù)據(jù)庫數(shù)據(jù)進行離線查詢,并且對查詢數(shù)據(jù)結果進行Hash運算,取得簽名,由于Hash函數(shù)的特性,一條數(shù)據(jù)結果可以用該簽名唯一地代表,下面表述了全部過程。

(1)經(jīng)過查詢后,可以在Android存儲器的數(shù)據(jù)庫中得到N列結果,假設分別為(R1,R2,…,Rn),且每列數(shù)據(jù)長度為m。

(2)對每一列結果進行Hash運算,得到N個Hash簽名,(H1,H2,…,Hn),且每個Hash摘要長度為n。

(3)對所有N列結果進行Hash計算,得到長度為n的HL

(4)把HL和(H1,H2,…,Hn)以及查詢語句一并通過網(wǎng)絡發(fā)送給服務端

2.2.2服務端的Hash應用

在服務端維護著數(shù)據(jù)庫的實時數(shù)據(jù)??蛻舳藭粫r地把最新的數(shù)據(jù)發(fā)送給服務端,更新服務端的數(shù)據(jù),同時,它也負責著對客戶端數(shù)據(jù)庫服務系統(tǒng)的查詢做出及時的響應。

在接受到客戶端的請求之后,當然包括了HL、(H1,H2,…,Hn),以及查詢語句,服務端進行如下操作。

(1)用查詢語句對服務器端數(shù)據(jù)庫進行查詢,得到T列數(shù)據(jù)結果,假設分別是(R1,R2,…,Rn),且每列數(shù)據(jù)長度為m;

(2)把該組數(shù)據(jù)結果用相同的Hash算法進行處理,得到T列結果,假設分別為(H1,H2,…,Hn)且每個摘要的長度為rl;

(3)對所有N列結果進行Hash計算,得到長度為n的HL;

(4)比較HL與HL,如果兩者相同,由Hash函數(shù)的特性,可以肯定的說,客戶端得到的數(shù)據(jù)結果與服務器數(shù)據(jù)庫得到的數(shù)據(jù)結果是一致的,那么服務端數(shù)據(jù)庫就不用把所有的查詢結果都返回給客戶端,只要通知客戶端在其之上的數(shù)據(jù)就是最新的數(shù)據(jù)即可,所有Android上的當前數(shù)據(jù)都是有效的。

(5)如果HL與HL兩者不同。那么就說明兩者的原始查詢數(shù)據(jù)結果是不同的,這時服務端把從客戶端得到的(H1,H2,…,Hn)與從服務端得到的(R1,R2,…,Rn)逐條進行比較,所有不相同的結果即為被更新或新增加的數(shù)據(jù)。這些所有不同的Hash所對應的原始數(shù)據(jù)結果,都應該被通過網(wǎng)絡傳送回客戶端。

(6)客戶端在接收到這些不同的數(shù)據(jù)結果后,會把他們更新到自己本地的數(shù)據(jù)庫之中,使其與服務器端保持數(shù)據(jù)的一致性。

3結論

為了能實現(xiàn)學生“隨時、隨地、隨身”個性化學習,本文將CDIO教學系統(tǒng)引入Android移動平臺,在教學方式上實現(xiàn)突破。本文重點對此模式下數(shù)據(jù)同步技術優(yōu)化的研究,針對于傳統(tǒng)數(shù)據(jù)同步技術 的不足,提出了一種新的數(shù)據(jù)同步方案,通過實驗驗證,對系統(tǒng)優(yōu)化有實際意義。

基金項目:吉林省社會科學基金項目 《基于大數(shù)據(jù)服務平臺的創(chuàng)新創(chuàng)業(yè)型大學生培養(yǎng)研究》(2016B192)。

普兰店市| 九江市| 柏乡县| 平顺县| 岚皋县| 南阳市| 外汇| 鞍山市| 渝北区| 加查县| 巴彦淖尔市| 墨脱县| 屏边| 含山县| 新津县| 大关县| 莎车县| 永清县| 五常市| 鞍山市| 陵水| 永年县| 宁武县| 香河县| 错那县| 什邡市| 莒南县| 迁西县| 东明县| 安图县| 自治县| 凤阳县| 安阳市| 南和县| 江阴市| 彭州市| 涿鹿县| 泗水县| 绥棱县| 容城县| 和田市|