• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于NTP的Android時(shí)間同步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2015-10-15 06:19:04李華明康寶生
      時(shí)間頻率學(xué)報(bào) 2015年2期
      關(guān)鍵詞:應(yīng)用程序終端測(cè)試

      李華明,康寶生

      (西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,西安710127)

      基于NTP的Android時(shí)間同步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      李華明,康寶生

      (西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,西安710127)

      針對(duì)移動(dòng)設(shè)備保持精確系統(tǒng)時(shí)間的需求,在對(duì)適用的時(shí)間同步協(xié)議分析的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了一種基于NTP協(xié)議的Android系統(tǒng)時(shí)間同步系統(tǒng)。闡述了系統(tǒng)功能模塊和完整的時(shí)間同步工作流程,設(shè)計(jì)中采用了跨編譯的開發(fā)模式,形成了多層模塊化、可復(fù)用的系統(tǒng)架構(gòu)。經(jīng)過適配性測(cè)試、性能測(cè)試和實(shí)驗(yàn)結(jié)果分析,表明系統(tǒng)可為移動(dòng)設(shè)備提供毫秒級(jí)精度的授時(shí)功能,并具備較好的設(shè)備適配性和運(yùn)行時(shí)系統(tǒng)資源占用率低的特點(diǎn)。

      NTP協(xié)議; Android系統(tǒng); 時(shí)間同步; 跨編譯; 設(shè)備適配性

      0 引言

      隨著智能設(shè)備和網(wǎng)絡(luò)帶寬的技術(shù)發(fā)展,移動(dòng)終端不再局限于通訊功能,高速的計(jì)算能力和智能操作系統(tǒng)使移動(dòng)終端具備了巨大的發(fā)展空間,移動(dòng)終端自身也發(fā)展出多種形式的產(chǎn)品,例如手機(jī)、平板電腦、電子書、手持游戲設(shè)備甚至工業(yè)控制設(shè)備等,越來越多的網(wǎng)絡(luò)服務(wù)和應(yīng)用被移植到移動(dòng)終端上。

      精確的系統(tǒng)時(shí)間作為分布式網(wǎng)絡(luò)應(yīng)用系統(tǒng)的基礎(chǔ)支撐指標(biāo)之一[1],其精確性對(duì)于移動(dòng)設(shè)備而言越來越重要。例如手機(jī)商務(wù)辦公系統(tǒng)和事務(wù)提醒軟件,準(zhǔn)確的系統(tǒng)時(shí)間是保證效率的關(guān)鍵因素之一;針對(duì)手機(jī)開發(fā)的訂票系統(tǒng)、電子商務(wù)軟件以及學(xué)習(xí)考試系統(tǒng),也不能缺少準(zhǔn)確的時(shí)間控制;運(yùn)動(dòng)監(jiān)測(cè)系統(tǒng)、醫(yī)療輔助軟件則需要在準(zhǔn)確的時(shí)間內(nèi)進(jìn)行身體狀態(tài)分析或醫(yī)療措施的記錄等。從移動(dòng)設(shè)備的安全性出發(fā),時(shí)間同樣是一個(gè)不可缺少的基礎(chǔ)參數(shù),智能操作系統(tǒng)用日志的方式記錄下每個(gè)時(shí)刻系統(tǒng)中運(yùn)行的應(yīng)用程序,以及這些程序進(jìn)行的操作,準(zhǔn)確的系統(tǒng)時(shí)間在安全評(píng)估中將起到重要的作用。不論是用戶應(yīng)用的實(shí)際需要還是系統(tǒng)安全的保障需求,都對(duì)于移動(dòng)設(shè)備保持時(shí)間的精度提出了更高的要求。

      1 時(shí)間同步方法概述

      利用已被廣泛應(yīng)用的成熟可靠的授時(shí)體系,通過時(shí)間同步技術(shù)可以達(dá)到使移動(dòng)設(shè)備保持準(zhǔn)確時(shí)間的目的??梢詰?yīng)用于移動(dòng)終端的時(shí)間同步方法主要有4種。第1種是采用NITZ(Network Identity and Time Zone)協(xié)議[2]的網(wǎng)絡(luò)對(duì)時(shí)方法,NITZ需要電信運(yùn)營商和網(wǎng)絡(luò)設(shè)備支持,通過基于短波跳頻通信的時(shí)間信息同步法進(jìn)行時(shí)間同步。目前移動(dòng)設(shè)備使用最廣泛的Android操作系統(tǒng)和IOS操作系統(tǒng)中,內(nèi)置的時(shí)間同步功能都是基于NITZ協(xié)議實(shí)現(xiàn)的。由于NITZ自身的限制,其時(shí)間精度只能保持在分鐘級(jí),而且在很多地區(qū)實(shí)際上是無效的。第2種方式是通過NTP協(xié)議[3]在網(wǎng)絡(luò)上獲得高精度的時(shí)間。NTP協(xié)議是基于TCP/IP的同步時(shí)間協(xié)議,利用協(xié)議包含的一個(gè)64 bit時(shí)間戳進(jìn)行時(shí)間同步,其獲取國際標(biāo)準(zhǔn)時(shí)間UTC的來源是網(wǎng)絡(luò)中眾多的NTP時(shí)間服務(wù)器,通??色@得毫秒級(jí)的精度[4]。由于其穩(wěn)定性和高精度的特點(diǎn),使用NTP協(xié)議進(jìn)行時(shí)間同步,成為目前互聯(lián)網(wǎng)應(yīng)用中使用最為廣泛的方法。第3種是通過衛(wèi)星信號(hào)實(shí)現(xiàn)時(shí)間同步的方法。隨著硬件技術(shù)的發(fā)展,大部分移動(dòng)終端都包含了GPS模塊,部分移動(dòng)終端也包含了“北斗”授時(shí)定位模塊,其中以GPS信號(hào)授時(shí)最為常見。GPS授時(shí)有多種途徑,例如通過1 PPS秒脈沖信號(hào)、串口通信、IRIG-B輸出等[5],在工業(yè)應(yīng)用中可以保持毫秒級(jí)的時(shí)間精度。但手機(jī)等移動(dòng)設(shè)備因?yàn)橛布拗撇荒懿捎眠@些時(shí)間同步方式。通過直接應(yīng)用NMEA-0183協(xié)議[6]解析GPS信號(hào),獲取$GPGGA或$GPRMC數(shù)據(jù)信息中的UTC時(shí)間,是第3種可行的移動(dòng)設(shè)備時(shí)間同步方法,但這種方法依賴于衛(wèi)星信號(hào)的接收強(qiáng)度,對(duì)終端使用的環(huán)境和位置有明顯的限制條件。第4種方法是基于IEEE1588協(xié)議[7]進(jìn)行時(shí)間同步,該協(xié)議又稱為精確時(shí)鐘同步協(xié)議PTP(precision time protocol),在設(shè)備之間建立主從關(guān)系,實(shí)現(xiàn)時(shí)間和頻率的同步,在1588v2版本推出后,其時(shí)間精度可以達(dá)到微秒級(jí)。Hsu[8]等將PTPd守護(hù)進(jìn)程成功地部署在Android手機(jī)上,實(shí)現(xiàn)了移動(dòng)設(shè)備之間的PTP時(shí)間同步。但由于該協(xié)議需要多個(gè)設(shè)備共同參與計(jì)算,因此對(duì)于普通用戶而言,不具備實(shí)用性。

      從上述的4種同步方法可以看出,對(duì)于移動(dòng)設(shè)備的程序開發(fā)而言,NTP協(xié)議是硬件依賴性最小的時(shí)間同步協(xié)議,其應(yīng)用的環(huán)境和位置也不受特殊限制,毫秒級(jí)的同步精確度能夠滿足各種移動(dòng)應(yīng)用系統(tǒng)需求。因此,本文選擇使用NTP協(xié)議作為時(shí)間同步系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)協(xié)議。

      2 整體功能及流程描述

      在開源智能操作系統(tǒng)Android平臺(tái)基礎(chǔ)上,本文基于NTP協(xié)議設(shè)計(jì)了一個(gè)時(shí)間同步系統(tǒng),系統(tǒng)通過互聯(lián)網(wǎng)訪問NTP授時(shí)服務(wù)器獲得UTC時(shí)間,根據(jù)獲得的標(biāo)準(zhǔn)時(shí)間同步設(shè)備本機(jī)時(shí)間,以滿足移動(dòng)設(shè)備用戶對(duì)時(shí)間的精確性的需求。整個(gè)系統(tǒng)的功能包括5個(gè)部分:①時(shí)間獲取及同步功能;②系統(tǒng)Root檢驗(yàn)功能;③儒略日計(jì)算功能;④農(nóng)歷計(jì)算功能;⑤系統(tǒng)參數(shù)設(shè)置。

      時(shí)間獲取及同步功能,實(shí)現(xiàn)的是從授時(shí)服務(wù)器上獲取的標(biāo)準(zhǔn)時(shí)間和本機(jī)時(shí)間同步的功能,系統(tǒng)功能中的Root檢驗(yàn)、儒略日計(jì)算和農(nóng)歷計(jì)算3個(gè)功能都是貫穿在整個(gè)時(shí)間獲取及同步工作流程中的。完整的工作流程如圖1所示。

      圖1 時(shí)間獲取及同步工作流程

      時(shí)間獲取及同步工作流程中,需要進(jìn)行3次狀態(tài)檢驗(yàn),第1次為網(wǎng)絡(luò)連接狀態(tài)的判斷,通過Android系統(tǒng)提供的網(wǎng)絡(luò)連接管理器接口,可以獲取當(dāng)前系統(tǒng)的連接狀態(tài),無論是采用2G、3G還是Wi-Fi連接方式,只要移動(dòng)設(shè)備中存在有效的連接,即可進(jìn)行下一步操作;第2次檢驗(yàn)是針對(duì)是否獲得UTC標(biāo)準(zhǔn)時(shí)間,通過預(yù)先設(shè)定的超時(shí)閾值,在限定的時(shí)間內(nèi)由線程獲取授時(shí)服務(wù)器的標(biāo)準(zhǔn)時(shí)間,如果超時(shí)則標(biāo)示服務(wù)器無應(yīng)答;第3次判斷是針對(duì)應(yīng)用程序是否具備修改時(shí)間的權(quán)限,出于安全性的目的,Android系統(tǒng)禁止在沒有Root權(quán)限的情況下,由程序修改系統(tǒng)時(shí)間,因此要執(zhí)行時(shí)間同步操作,必須先進(jìn)行權(quán)限的檢查。應(yīng)用程序級(jí)的Root權(quán)限檢測(cè),可在靜默狀態(tài)下通過調(diào)用Shell環(huán)境下的su命令,向系統(tǒng)提出臨時(shí)切換用戶權(quán)限至Root高權(quán)限狀態(tài),通過判斷系統(tǒng)返回的信息,確定是否可以獲得高級(jí)別權(quán)限。

      儒略日和農(nóng)歷計(jì)算是將獲得的標(biāo)準(zhǔn)時(shí)間轉(zhuǎn)化成簡化儒略日和陰歷的時(shí)間信息。計(jì)算的陰歷的時(shí)間信息,包括陰歷日期、時(shí)辰、天干、節(jié)氣和屬相這些具有中國傳統(tǒng)特色的時(shí)間信息。系統(tǒng)參數(shù)設(shè)置功能是用來設(shè)置訪問的NTP授時(shí)服務(wù)器地址信息、訪問超時(shí)閾值、以及是否進(jìn)行儒略日和農(nóng)歷計(jì)算。

      3 系統(tǒng)架構(gòu)設(shè)計(jì)及實(shí)現(xiàn)

      移動(dòng)應(yīng)用App開發(fā)目前處于一個(gè)技術(shù)快速發(fā)展的時(shí)期,新的開發(fā)技術(shù)和架構(gòu)不斷出現(xiàn),跨平臺(tái)的App開發(fā)是必然的發(fā)展趨勢(shì)[9]。本文中設(shè)計(jì)并開發(fā)的Android時(shí)間同步系統(tǒng)名為SmartTime,開發(fā)中選擇Microsoft Visual Studio 2010作為開發(fā)平臺(tái),使用C#作為開發(fā)語言,通過Xamarin.Android框架實(shí)現(xiàn)了跨編譯環(huán)境的開發(fā)模式。應(yīng)用程序在編譯時(shí),被編譯為.NET框架中間語言IL代碼,運(yùn)行時(shí)將由Xamarin框架自動(dòng)轉(zhuǎn)換為機(jī)器碼。這種開發(fā)模式不同于傳統(tǒng)App開發(fā),它實(shí)現(xiàn)了統(tǒng)一編碼語言實(shí)現(xiàn)的業(yè)務(wù)邏輯代碼,可以在Android、IOS、Windows Phone甚至PC上的Windows多種操作系統(tǒng)上重用[10]。平臺(tái)間共享代碼模式,簡化了多平臺(tái)應(yīng)用開發(fā)的復(fù)雜性,當(dāng)針對(duì)某一具體平臺(tái)進(jìn)行開發(fā)時(shí),僅需要對(duì)其表示層根據(jù)操作系統(tǒng)特點(diǎn)進(jìn)行定制開發(fā)。同樣,系統(tǒng)的開發(fā)必須采用分層架構(gòu)設(shè)計(jì),對(duì)表示層和業(yè)務(wù)層進(jìn)行分離。

      SmartTime系統(tǒng)采用多層模塊化的架構(gòu)設(shè)計(jì),不但實(shí)現(xiàn)了表示層、業(yè)務(wù)層、數(shù)據(jù)層的分離,而且實(shí)現(xiàn)了面向?qū)ο蟮哪K化高內(nèi)聚、結(jié)構(gòu)清晰的特點(diǎn),提高了代碼的重用性。整個(gè)系統(tǒng)架構(gòu)設(shè)計(jì)如圖2所示。

      圖2 SmartTime系統(tǒng)架構(gòu)設(shè)計(jì)

      在表示層的實(shí)現(xiàn)過程中,SmartTime采用了多頁顯示的標(biāo)簽界面模式,內(nèi)嵌了3個(gè)屏幕界面,不同界面切換采用Tab標(biāo)簽的方式進(jìn)行。當(dāng)執(zhí)行時(shí)間獲取操作時(shí),系統(tǒng)啟動(dòng)TimeThread線程,獲取時(shí)間信息并進(jìn)行相關(guān)計(jì)算,計(jì)算的結(jié)果反饋給主UI線程,繪制在設(shè)備屏幕上。多線程的異步任務(wù)模式,使SmartTime具備了良好的用戶體驗(yàn)效果。圖3為時(shí)間同步系統(tǒng)實(shí)際運(yùn)行界面圖。

      圖3 時(shí)間同步系統(tǒng)實(shí)際運(yùn)行界面圖

      4 實(shí)驗(yàn)測(cè)試與分析

      移動(dòng)應(yīng)用程序的部署和測(cè)試,與傳統(tǒng)開發(fā)過程不同,不能只局限于算法正確性和魯棒性(robustness)的測(cè)試,還必須進(jìn)行軟件與移動(dòng)設(shè)備的兼容適配性測(cè)試。大量終端廠商采用各式各樣的硬件配置、定制化非標(biāo)準(zhǔn)的Android系統(tǒng),使得應(yīng)用程序與終端的適配性問題越來越嚴(yán)重,無法安裝、意外崩潰和閃退、屏幕比例失調(diào)、UI錯(cuò)位、無響應(yīng)等問題十分普遍。對(duì)SmartTime的兼容性測(cè)試采用了百度移動(dòng)云測(cè)試中心的Native App云測(cè)試方法,針對(duì)HTC、三星、華為、中興等15個(gè)品牌的134臺(tái)移動(dòng)設(shè)備進(jìn)行了兼容測(cè)試,基本覆蓋了目前主流的硬件解決方案、屏幕分辨率和Android版本以及測(cè)試結(jié)果如表1所示。

      表1 終端兼容性測(cè)試

      在測(cè)試未通過的8臺(tái)設(shè)備中,3臺(tái)設(shè)備存在無法安裝的錯(cuò)誤,4臺(tái)設(shè)備出現(xiàn)了閃退現(xiàn)象,1臺(tái)設(shè)備運(yùn)行正常但存在程序無法卸載的情況。同時(shí),使用monkey測(cè)試工具對(duì)系統(tǒng)進(jìn)行了性能測(cè)試,在性能測(cè)試中,使用魅族MX3和三星Galaxy Note II兩臺(tái)手機(jī)作為測(cè)試設(shè)備,測(cè)試后的性能指標(biāo)數(shù)據(jù)見表2。

      表2 性能測(cè)試數(shù)據(jù)

      在實(shí)驗(yàn)中采用30 s的時(shí)間間隔,由SmartTime向NTP授時(shí)服務(wù)器(pool.ntp.org)發(fā)出時(shí)間請(qǐng)求,并對(duì)時(shí)間偏差數(shù)據(jù)進(jìn)行記錄,累計(jì)300次后對(duì)數(shù)據(jù)進(jìn)行分析,圖4為時(shí)間偏差結(jié)果圖。圖中X軸為次數(shù),Y軸為偏差秒數(shù)。分析計(jì)算后得出時(shí)間偏差的均值為0.203 ms,標(biāo)準(zhǔn)差為5.445 ms(分析結(jié)果的有效位數(shù)取小數(shù)點(diǎn)后3位)。

      圖4 測(cè)試時(shí)間偏差結(jié)果圖

      從上述實(shí)驗(yàn)結(jié)果可以看出,SmartTime能夠?yàn)橐苿?dòng)設(shè)備提供毫秒級(jí)精度的時(shí)間同步功能。根據(jù)表1的終端適配率可以看出,采用此架構(gòu)設(shè)計(jì)開發(fā)出的應(yīng)用程序具備了良好的設(shè)備兼容性,表2中的數(shù)據(jù)證明了不同的硬件配置對(duì)于應(yīng)用程序的加載、電池耗量以及顯示幀率影響較大,但整體系統(tǒng)在運(yùn)行過程中占有的系統(tǒng)資源小,能夠提供良好的用戶體驗(yàn)。

      5 結(jié)語

      本文針對(duì)移動(dòng)智能設(shè)備的精確定時(shí)需求,對(duì)適用的時(shí)間同步方法和協(xié)議進(jìn)行了探討,選擇了使用NTP協(xié)議作為底層時(shí)間同步協(xié)議,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)應(yīng)用于Android系統(tǒng)環(huán)境下的時(shí)間同步系統(tǒng)。系統(tǒng)整體架構(gòu)采用了多層模塊化設(shè)計(jì),實(shí)現(xiàn)了表現(xiàn)層與業(yè)務(wù)層的分離,開發(fā)過程中應(yīng)用了跨編譯環(huán)境的開發(fā)模式。架構(gòu)中業(yè)務(wù)代碼重用性高的優(yōu)勢(shì),也使其可以通過定制表現(xiàn)層,快速構(gòu)建出應(yīng)用于其他智能系統(tǒng)環(huán)境下的時(shí)間同步系統(tǒng)。經(jīng)過實(shí)驗(yàn)測(cè)試,該系統(tǒng)具有設(shè)備兼容率高、運(yùn)行資源占用率低的特點(diǎn),并能夠?yàn)橐苿?dòng)設(shè)備提供毫秒級(jí)精度的時(shí)間同步功能。

      [1]趙英, 王旖旎, 馬嚴(yán), 等.基于NTP的時(shí)鐘調(diào)整策略分析[J].小型微型計(jì)算機(jī)系統(tǒng), 2008, 29(10): 1811-1815.

      [2]BARI F, BONNER T W.Network identity and time zone(nitz) functionality for non-3gpp devices: United States, 20080 032736A1[P].2008-02-07.

      [3]MILLS D L.Network Time Protocol Version 4 Reference and Implementation Guide[R].Electrical and Computer Engineering Technical Report.State of Delaware: University of Delaware, 2006.

      [4]劉立月, 王更生, 魏永軍, 等.分布式系統(tǒng)時(shí)鐘同步設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程, 2006, 32(2): 279-281.

      [5]DANA P H.Global positioning system(GPS) time dissemination for real-time applications[J].Real-Time Systems, 1997, 12(1): 9-40.

      [6]KLAUS B.The NMEA 0183 Protocol(2001)[EB/OL].(2013-04-02)[2014-05-26].http://www.tronico.fi/OH6NT/docs/NME A0183.pdf.

      [7]IEEE Std.1588-2008, IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems[S].2008.

      [8]HSU Wang-hsin, LIU You-shun, LIN Wen-yen, et al.A measurement of time synchronization on mobile devices[C]// IEEE International Instrumentation and Measurement Technology Conference, 2012(5): 2692-2694.

      [9]GAVALAS D, ECONOMOU D.Development platforms for mobile applications: status and trends[J].IEEE Software, 2011, 28(1): 77-86.

      [10]PUDER A, ANTEBO I.Cross-compiling Android applications to iOS and windows phone 7[J].Mobile Networks and Applications, 2013, 18(1): 3-21.

      Design and implementation of an NTP-based time synchronization system for Android

      LI Hua-ming,KANG Bao-sheng
      (College of Information Science and Technology,Northwest University,Xi′an 710127,China)

      Aiming at keeping accurate system time for mobile devices to maintain,and according to an analysis of applicable protocols,we designed and implemented an Android time synchronization system based on NTP protocol.The system modules and whole synchronization workflow were described,a cross-compiler development model was used in the design,a multi-layered modular and reusable architecture was formed.The equipment suitability testing,the performance testing and the analysis of the experimental results demonstrated that the system can provide a timing precision of millisecond for mobile devices,and it has characteristics of good suitability and low resources occupancy at runtime.

      NTP; Android; time synchronization; cross-compiler; equipment suitability

      P127.1

      A

      1674-0637(2015)02-0082-06

      10.13875/j.issn.1674-0637.2015-02-0082-06

      2014-09-12

      李華明,男,博士研究生,高級(jí)工程師,主要從事虛擬現(xiàn)實(shí),分布式計(jì)算,高性能計(jì)算研究。

      猜你喜歡
      應(yīng)用程序終端測(cè)試
      幽默大測(cè)試
      幽默大師(2020年11期)2020-11-26 06:12:12
      X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
      刪除Win10中自帶的應(yīng)用程序
      “攝問”測(cè)試
      “攝問”測(cè)試
      “攝問”測(cè)試
      多功能北斗船載終端的開發(fā)應(yīng)用
      電子制作(2016年15期)2017-01-15 13:39:14
      ABB Elastimold 10kV電纜終端及中間接頭
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      甘泉县| 平阴县| 苏尼特左旗| 准格尔旗| 会宁县| 新安县| 普兰店市| 镇江市| 南岸区| 广宗县| 蒙自县| 鹤庆县| 泰来县| 林州市| 汉川市| 额尔古纳市| 东港市| 邳州市| 莲花县| 彩票| 苏尼特左旗| 监利县| 东港市| 佛学| 卓资县| 自贡市| 察隅县| 卓资县| 渭南市| 太白县| 仙桃市| 三穗县| 柳州市| 尉犁县| 金川县| 清徐县| 溆浦县| 白朗县| 灵武市| 东莞市| 南城县|