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

?

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

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

李華明,康寶生

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

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

李華明,康寶生

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

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

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

0 引言

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

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

1 時間同步方法概述

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

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

2 整體功能及流程描述

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

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

圖1 時間獲取及同步工作流程

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

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

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

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

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

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

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

圖3 時間同步系統(tǒng)實際運行界面圖

4 實驗測試與分析

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

表1 終端兼容性測試

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

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

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

圖4 測試時間偏差結(jié)果圖

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

5 結(jié)語

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

[1]趙英, 王旖旎, 馬嚴, 等.基于NTP的時鐘調(diào)整策略分析[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è)計與實現(xiàn)[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

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

猜你喜歡
應(yīng)用程序終端測試
幽默大測試
幽默大師(2020年11期)2020-11-26 06:12:12
X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
刪除Win10中自帶的應(yīng)用程序
電腦報(2019年12期)2019-09-10 05:08:20
“攝問”測試
“攝問”測試
“攝問”測試
多功能北斗船載終端的開發(fā)應(yīng)用
電子制作(2016年15期)2017-01-15 13:39:14
ABB Elastimold 10kV電纜終端及中間接頭
自動化博覽(2014年4期)2014-02-28 22:31:14
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
无极县| 墨江| 丹江口市| 凤凰县| 西青区| 九江县| 兴海县| 玉屏| 辉县市| 通城县| 浦城县| 邵阳市| 兴国县| 石阡县| 防城港市| 青岛市| 通道| 嘉禾县| 桦南县| 康马县| 余姚市| 固原市| 根河市| 乐都县| 库伦旗| 卓资县| 万年县| 吴旗县| 叶城县| 古交市| 铁岭市| 枞阳县| 麻江县| 深圳市| 从化市| 荣昌县| 团风县| 行唐县| 武鸣县| 拜城县| 通化县|