譚欽紅,黃茂碟,張作運(yùn)
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
基于Android的情報(bào)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
譚欽紅,黃茂碟,張作運(yùn)
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
根據(jù)現(xiàn)有信息處理方式,設(shè)計(jì)了基于Android的情報(bào)管理系統(tǒng)。情報(bào)管理系統(tǒng)通過網(wǎng)絡(luò)實(shí)時(shí)上傳采集的情報(bào)信息,管理員及時(shí)處理并下發(fā)指令,APP用戶根據(jù)指令進(jìn)行處理并將結(jié)果反饋給管理員從而形成閉合的信息處理方式。緊急情況下手機(jī)客戶端直接與后臺管理端進(jìn)行視頻直播,更加快捷地做出處理措施。詳細(xì)闡述了系統(tǒng)的總體構(gòu)架,介紹了系統(tǒng)的功能模塊和具體實(shí)現(xiàn),對系統(tǒng)進(jìn)行測試,并提出系統(tǒng)需要完善的地方。
Android;情報(bào)管理系統(tǒng);JAX-WS;視頻通話
隨著 “互聯(lián)網(wǎng)+”[1]時(shí)代的到來,傳統(tǒng)行業(yè)中情報(bào)信息處理方式顯得有些過時(shí),如民警執(zhí)法、事故現(xiàn)場指揮救援等采集的情報(bào)信息往往是事后處理,導(dǎo)致信息滯留,采集設(shè)備也因行業(yè)不同使應(yīng)用場景受限。本文基于互聯(lián)網(wǎng)技術(shù),采用全新信息處理模式,設(shè)計(jì)了基于Android[2]的情報(bào)管理系統(tǒng)。選用開源MySQL[3]關(guān)系型數(shù)據(jù)庫放置在網(wǎng)絡(luò)服務(wù)端,通過Web Service技術(shù)進(jìn)行數(shù)據(jù)傳輸,利用線程及流媒體技術(shù)進(jìn)行視頻數(shù)據(jù)傳輸,實(shí)現(xiàn)信息及時(shí)上傳處理并利用Android平臺擴(kuò)展應(yīng)用場景,達(dá)到了較好的情報(bào)管理效果。
1.1 系統(tǒng)簡介
情報(bào)管理系統(tǒng)主要包括后臺數(shù)據(jù)存儲服務(wù)器、手機(jī)端(包括手機(jī)客戶端和手機(jī)服務(wù)端)和后臺管理端三部分,其系統(tǒng)架構(gòu)圖如圖1所示。手機(jī)端采集情報(bào)信息上傳至后臺管理端,后臺管理端處理采集信息下發(fā)指令給手機(jī)端,手機(jī)端用戶根據(jù)指令內(nèi)容完成相應(yīng)動(dòng)作并進(jìn)行反饋從而完成一條閉合的信息處理。情報(bào)信息數(shù)據(jù)在兩大服務(wù)器中進(jìn)行處理。系統(tǒng)接入互聯(lián)網(wǎng),實(shí)時(shí)將現(xiàn)場音視頻圖像回傳給后臺管理端,將手機(jī)變成隨身攜帶的監(jiān)控點(diǎn),彌補(bǔ)傳統(tǒng)監(jiān)控設(shè)備有圖像沒聲音,無法實(shí)時(shí)上傳視頻圖像等問題。
圖1 情報(bào)管理系統(tǒng)架構(gòu)圖
1.2 系統(tǒng)設(shè)計(jì)
情報(bào)管理系統(tǒng)手機(jī)端由Android平臺開發(fā)完成,手機(jī)端采用C/S[4]架構(gòu)將應(yīng)用程序分為手機(jī)客戶端、手機(jī)服務(wù)端兩部分,手機(jī)服務(wù)端與數(shù)據(jù)存儲服務(wù)器進(jìn)行數(shù)據(jù)交互;后臺管理端由.NET[5]平臺開發(fā)完成,后臺管理端訪問數(shù)據(jù)存儲服務(wù)器獲得數(shù)據(jù)。
通過調(diào)用JAX-WS[6]服務(wù)來發(fā)布使用Web Service框架的手機(jī)服務(wù)端,簡化了Java技術(shù)開發(fā)和部署Web Service的工作。手機(jī)客戶端采集情報(bào)信息通過HTTP協(xié)議訪問Tomcat發(fā)布的Web Service服務(wù)器接口將信息存入數(shù)據(jù)庫,將圖片存入FTP服務(wù)器并將圖片路徑寫入數(shù)據(jù)庫中。后臺管理端通過訪問數(shù)據(jù)庫得到情報(bào)信息,進(jìn)行分析并下發(fā)處理指令寫入數(shù)據(jù)庫中,同時(shí)接收手機(jī)客戶端通過Socket連接請求的實(shí)時(shí)視頻傳輸。情報(bào)管理系統(tǒng)數(shù)據(jù)流圖如圖2所示。
圖2 情報(bào)管理系統(tǒng)數(shù)據(jù)流圖
情報(bào)管理系統(tǒng)主要有三大功能模塊:情報(bào)模塊、指令模塊、視頻圖傳模塊。情報(bào)模塊包括后臺管理端的情報(bào)管理和手機(jī)端的情報(bào)采集,兩者共同完成情報(bào)信息的管理以及采集;指令模塊包括后臺管理端的指令管理和手機(jī)端的指令處理,兩者共同完成實(shí)時(shí)指令的處理;視頻圖傳模塊實(shí)現(xiàn)一對多的通信模式,后臺管理端可以同時(shí)接受多個(gè)手機(jī)客戶端發(fā)起的視頻連接請求,實(shí)時(shí)監(jiān)聽完成視頻傳輸,并在視頻通話結(jié)束后把視頻存入FTP服務(wù)器中將視頻路徑寫入數(shù)據(jù)庫。
2.1 情報(bào)模塊
該模塊手機(jī)客戶端通過HTTP方法上傳情報(bào)信息,情報(bào)信息包括情報(bào)標(biāo)題、情報(bào)內(nèi)容、發(fā)生時(shí)間和地點(diǎn),以及選擇圖片作為附件等,同時(shí)手機(jī)客戶端用戶可以查看歷史上傳情報(bào)。從后臺管理端,管理員可以查看相應(yīng)的情報(bào)信息,實(shí)時(shí)監(jiān)聽手機(jī)端是否上傳情報(bào)。
2.1.1 情報(bào)模塊手機(jī)端實(shí)現(xiàn)
完成該模塊功能需要在程序中申明INTERNET權(quán)限讓APP應(yīng)用接入網(wǎng)絡(luò),申明調(diào)用手機(jī)攝像頭拍照和操作權(quán)限允許APP應(yīng)用拍照以及操作手機(jī)圖庫照片,APP應(yīng)用實(shí)現(xiàn)完整信息上傳。
在手機(jī)客戶端定義InformToServer類,利用HTTP的POST請求方法實(shí)現(xiàn)客戶端與服務(wù)器之間的數(shù)據(jù)傳輸。訪問服務(wù)端Web Service接口的方法如下:HttpPost httpPost = new HttpPost(urlAddress)創(chuàng)建POST請求方法,并且在List
在手機(jī)客戶端創(chuàng)建基于JAX-WS的InformActivity客戶端類,在手機(jī)服務(wù)端創(chuàng)建基于JAX-WS的Upload服務(wù)端類,實(shí)現(xiàn)WSDL對Web Service接口的定義。手機(jī)客戶端通過訪問手機(jī)服務(wù)端指定Web Service的wsdlURL(訪問路徑)和QName(命名空間)完成圖片信息的上傳。
2.1.2 情報(bào)模塊后臺管理端實(shí)現(xiàn)
該模塊后臺管理端將實(shí)時(shí)監(jiān)聽手機(jī)端上傳情報(bào)信息條數(shù),提醒管理員系統(tǒng)中存在未處理情報(bào)。
點(diǎn)擊主界面“情報(bào)管理”按鈕,通過mysql.mySqlCommand.ExecuteReader()方法訪問數(shù)據(jù)庫,將返回的數(shù)據(jù)在ListView控件中顯示。管理員可以按照指定日期的時(shí)間段、所屬機(jī)構(gòu)以及情報(bào)信息狀態(tài)查詢情報(bào)內(nèi)容。管理員根據(jù)上傳的情報(bào)內(nèi)容做出正確處理措施并將以指令方式下達(dá)給APP用戶,通過new Order(order_ID, inform_ID)方法跳轉(zhuǎn)到指令下發(fā)界面進(jìn)行下發(fā)操作。
2.2 指令模塊
該模塊中手機(jī)客戶端主動(dòng)向手機(jī)服務(wù)端請求查詢后臺管理端下發(fā)的指令信息,后臺下發(fā)的指令內(nèi)容插入MySQL數(shù)據(jù)庫中,手機(jī)服務(wù)端訪問數(shù)據(jù)庫,將數(shù)據(jù)反饋給手機(jī)客戶端,利用ListView控件將信息顯示在APP界面上,并根據(jù)指令信息進(jìn)行情報(bào)反饋。
2.2.1 指令模塊手機(jī)端實(shí)現(xiàn)
點(diǎn)擊APP應(yīng)用主界面的“新指令”按鈕,使用HTTP的POST請求訪問手機(jī)服務(wù)端的Web Service接口。手機(jī)服務(wù)端反饋數(shù)據(jù)較多,將采用JSON數(shù)組形式進(jìn)行返回。首先將從數(shù)據(jù)庫中獲得的數(shù)據(jù)以鍵值對的方式存入HashMap散列表中,接著調(diào)用JSONObject類將HashMap對象轉(zhuǎn)成Jason數(shù)組反饋給手機(jī)客戶端。手機(jī)客戶端以Jason格式接收數(shù)據(jù)再進(jìn)行處理。
APP主界面中將實(shí)時(shí)顯示未讀指令條數(shù),提醒APP用戶及時(shí)查看新指令并對指令進(jìn)行反饋。該功能將在手機(jī)客戶端設(shè)置一個(gè)定時(shí)任務(wù),不斷輪詢手機(jī)服務(wù)端得到最新數(shù)據(jù)[7],實(shí)現(xiàn)方法如下:Timer timer = new Timer()創(chuàng)建定時(shí)器,TimerTask task = new TimerTask()創(chuàng)建執(zhí)行任務(wù),利用timer.schedule(task, 0, 3000)執(zhí)行定時(shí)任務(wù)。
2.2.2 指令模塊后臺管理端實(shí)現(xiàn)
后臺管理端的指令功能包括指令管理和指令模板兩個(gè)模塊。指令管理即為管理員下達(dá)新指令,指令模板將日常事件生成樣板,在下達(dá)新指令時(shí)選擇即可。模塊內(nèi)容可根據(jù)日期、狀態(tài)或者標(biāo)題進(jìn)行查詢,同時(shí)可完成新建與刪除操作。后臺管理端指令下發(fā)流程如圖3所示。
圖3 指令下發(fā)流程
2.3 視頻圖傳模塊
該模塊中手機(jī)客戶端將直接與后臺管理端進(jìn)行網(wǎng)絡(luò)連接完成視頻通話[8],此通信方式實(shí)現(xiàn)了視頻傳輸實(shí)時(shí)性高、傳輸效率高等。情報(bào)管理系統(tǒng)可實(shí)現(xiàn)多個(gè)手機(jī)客戶端與后臺管理端通話,同時(shí)進(jìn)行多個(gè)場景的視頻監(jiān)控。手機(jī)客戶端與后臺管理端交互的數(shù)據(jù)流向如圖2虛線標(biāo)識部分所示。該模塊采用傳輸控制協(xié)議[9](Transmission Control Protocol,TCP)協(xié)議建立連接實(shí)現(xiàn)Socket通信。
(1)手機(jī)客戶端視頻請求
Socket通信前對APP應(yīng)用中視頻通話的視頻質(zhì)量進(jìn)行設(shè)置。首先在程序中申明調(diào)用使用手機(jī)攝像頭拍照權(quán)限對攝像頭進(jìn)行初始化,設(shè)置視頻寬度、視頻高度等影響視頻質(zhì)量因素的值。完成視頻通話準(zhǔn)備工作后新開線程建立TCP連接,實(shí)現(xiàn)方法如下:client=new Socket(serverUrl,serverPort)定義MyThread對象方法,Thread th = new MyThread()實(shí)例化MyThread對象,th.start()執(zhí)行連接請求。
(2)后臺管理端接收請求并存儲視頻
后臺管理端接收來自手機(jī)客戶端的TCP請求,點(diǎn)擊打開視頻播放器實(shí)現(xiàn)與手機(jī)用戶視頻通話,在視頻通話結(jié)束后將視頻存入FTP服務(wù)器并在數(shù)據(jù)庫中寫入視頻存放地址,以便回放歷史視頻查看。為了完成多個(gè)場景下視頻監(jiān)控,后臺管理端同時(shí)開啟多個(gè)Socket線程接收手機(jī)客戶端的視頻請求。實(shí)現(xiàn)方法如下:
實(shí)例化名SocketServer對象,名為server;
調(diào)用server對象的接入函數(shù),數(shù)據(jù)流接收函數(shù),中斷函數(shù);
開始監(jiān)聽server對象;
(3)后臺管理端視頻回放
每次視頻通話結(jié)束后臺管理端會(huì)將視頻存入FTP服務(wù)器,訪問數(shù)據(jù)庫得到視頻存儲地址對視頻進(jìn)行回放,為事件處理提供有利證據(jù)。系統(tǒng)需要在指定管理員身份下查看相關(guān)視頻錄像。該功能的偽代碼如下:
獲得歷史視頻存儲地址lvi;
實(shí)例化名為vlc的視頻播放對象;
設(shè)置vlc的名稱:lvi.SubItems[3].Text;
開始播放視頻;
系統(tǒng)手機(jī)服務(wù)端由MyEclipse、Tomcat、JDK、MySQL開發(fā)完成,手機(jī)客戶端由Eclipse、JDK、Android SDK、ADT開發(fā)完成,后臺管理端由Visual Studio開發(fā)完成?;谙到y(tǒng)開發(fā)環(huán)境以及系統(tǒng)框架的設(shè)計(jì),首先在xampp中開啟MySQL服務(wù),其次打開系統(tǒng)后臺管理端可執(zhí)行文件,并在MyEclipse軟件中啟動(dòng)Tomcat服務(wù)器開啟系統(tǒng)手機(jī)服務(wù)端,為手機(jī)客戶端提供可訪問Web Service接口。最后將情報(bào)管理系統(tǒng)手機(jī)APP的安裝文件apk安裝到Android手機(jī)終端,進(jìn)行系統(tǒng)測試。
(1)系統(tǒng)主界面
系統(tǒng)主界面的呈現(xiàn)方式對于用戶體驗(yàn)是至關(guān)重要的,簡單大方的UI設(shè)計(jì)方便用戶快速定位到所需功能。在手機(jī)端和后臺管理端的主界面都直接設(shè)置了系統(tǒng)功能模塊按鈕,用戶點(diǎn)擊按鈕即可跳轉(zhuǎn)對應(yīng)功能模塊,進(jìn)入系統(tǒng)主界面流程如圖4所示。
圖4 主界面流程圖
(2)情報(bào)和指令模塊
情報(bào)模塊和指令模塊是相互關(guān)聯(lián)的功能模塊。手機(jī)客戶端采集情報(bào)上傳,后臺管理端根據(jù)情報(bào)信息下發(fā)處理指令,手機(jī)端對指令信息進(jìn)行情報(bào)反饋,因此情報(bào)與指令模塊測試一起進(jìn)行。進(jìn)入模塊流程如圖5所示。
圖5 情報(bào)和指令模塊流程圖
(3)視頻圖傳模塊
視頻圖傳是系統(tǒng)開發(fā)的核心,要求視頻清晰,對該模塊進(jìn)行測試。APP應(yīng)用接入網(wǎng)絡(luò)并調(diào)用手機(jī)攝像頭進(jìn)行視頻錄入與后臺管理端進(jìn)行Socket連接完成實(shí)時(shí)通話,視頻通話流程如圖6所示。
圖6 視頻通話流程圖
情報(bào)管理系統(tǒng)應(yīng)用解決了傳統(tǒng)行業(yè)中的信息滯留問題,同時(shí)將隨身攜帶的手機(jī)變成監(jiān)控點(diǎn)、定位點(diǎn),節(jié)約了不少設(shè)備資金。這樣的系統(tǒng)取代了傳統(tǒng)行業(yè)中的情報(bào)信息處理方式,隨時(shí)隨地采集信息,實(shí)時(shí)上傳,及時(shí)處理。此外,系統(tǒng)還需要進(jìn)一步完善,做到Android手機(jī)端之間的信息共享。
[1] 寧家駿.“互聯(lián)網(wǎng)+”行動(dòng)計(jì)劃的實(shí)施背景、內(nèi)涵及主要內(nèi)容[J]. 電子政務(wù), 2015(6):32-38.
[2] LEE J K, LEE J Y. Android programming techniques for improving performance[C]. 2011 3rd International Conference on Awareness Science and Technology (ICAST2011), 2011:386-389.
[3] CABRAL S K. MySQL 5.5: improving on the world’s most popular open source database[J]. Database Trends and Applications, 2011, 25(3):30.
[4] 陳俊斌.C/S與B/S結(jié)合的軟件體系結(jié)構(gòu)[J]. 電子技術(shù)與軟件工程,2015(3):68-69.
[5] 王海燕.C#.NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(6):78-81.
[6] 彭邦倫.利用JAX—WS開發(fā)Web Service[J]. 電腦編程技巧與維護(hù), 2008(12):21-23.
[7] 倪紅軍.基于Android平臺的消息推送研究與實(shí)現(xiàn)[J]. 實(shí)驗(yàn)室研究與探索, 2014,33(5):99-100.
[8] 鄧蕊.基于Android的視頻監(jiān)控的研究與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué),2012.
[9] Xiong Yonghua, Wu Min, Jia Weijia. Delay prediction for real-time video adaptive transmisson over TCP[J]. Journal of Multimedia, 2010,5(3):216-223.
譚欽紅(1968— ),女,碩士,副教授,主要研究方向:復(fù)雜可編程邏輯器件、無線電電子學(xué)、互聯(lián)網(wǎng)技術(shù)。
黃茂碟(1992— ),女,碩士,主要研究方向:互聯(lián)網(wǎng)技術(shù)。
張作運(yùn)(1990— ),男,碩士,主要研究方向:互聯(lián)網(wǎng)技術(shù)。
德州儀器汽車處理器出貨量突破1.5億,憑借更安全
且更互聯(lián)的駕駛體驗(yàn)推動(dòng)汽車市場創(chuàng)新
為了持續(xù)拓展在汽車市場的領(lǐng)導(dǎo)力,德州儀器(TI)日前宣布其高級駕駛員輔助系統(tǒng)(ADAS)及數(shù)字化駕駛艙片上系統(tǒng)(SoC)的出貨量已經(jīng)突破1.5億,為超過35家原始設(shè)備制造商(OEM)提供服務(wù)。TI在汽車領(lǐng)域擁有長達(dá)35年的歷史,同時(shí)為世界各地的汽車制造商提供了數(shù)以億計(jì)的模擬和嵌入式處理解決方案,憑借豐富的經(jīng)驗(yàn),TI所創(chuàng)造的TDA和“Jacinto”處理器系列能夠幫助設(shè)計(jì)人員開發(fā)出更安全且更互聯(lián)的應(yīng)用。TI的汽車處理器能夠滿足汽車制造商對于生產(chǎn)下一代汽車的所有需求,不僅能讓消費(fèi)者享受駕駛的樂趣,同時(shí)還為他們提供了所需的功能,包括總成本優(yōu)化下的全新應(yīng)用以及相較于以往車輛更具交互性和響應(yīng)性的特性。
憑借TI具有更高功能性和性能的多核異構(gòu)架構(gòu),汽車制造商能夠充分利用已安裝的硬件組件在同一平臺上實(shí)現(xiàn)創(chuàng)新,同時(shí)在不影響系統(tǒng)性能的情況下擴(kuò)展當(dāng)前的軟件投入。該架構(gòu)還可以實(shí)現(xiàn)更強(qiáng)的并發(fā)性,從而使得設(shè)計(jì)人員能夠進(jìn)一步擴(kuò)大圖像、信號和視覺的處理能力。此外,相較于其他解決方案,采用通用處理器以及簡化多OS和多域軟件架構(gòu)的TI汽車處理器具有更高的電源效率,其所提供的可擴(kuò)展性能夠在多個(gè)模式、系統(tǒng)和應(yīng)用中實(shí)現(xiàn)投入產(chǎn)出最佳化,從而輕松在同類產(chǎn)品中脫穎而出。
ADAS:更安全的駕駛體驗(yàn)
TI的TDAx駕駛員輔助SoC系列能夠提供可擴(kuò)展且開放的解決方案,這些解決方案都基于針對ADAS應(yīng)用共同的硬件和軟件架構(gòu)而開發(fā),包括基于攝像頭的前視(單聲道/立體聲)、后視、全景環(huán)視與夜視系統(tǒng),以及多范圍雷達(dá)和傳感器融合系統(tǒng)。由于多核異構(gòu)架構(gòu)集成了例如圖像信號處理器(ISP)、嵌入式視覺引擎(EVE)和數(shù)字信號處理器(DSP)等特定用途的硬件加速器(HWA),TI的TDAx SoC變得與眾不同,能夠在低功耗的情況下執(zhí)行高度復(fù)雜的成像和信號處理。
數(shù)字化駕駛艙:更互聯(lián)的駕駛體驗(yàn)
“Jacinto”系列處理器可支持多種汽車數(shù)字化駕駛艙應(yīng)用,包括信息娛樂、針對信息娛樂的車載音響主機(jī)協(xié)同處理、信息化ADAS、集成式數(shù)字化駕駛艙、數(shù)字化儀表板和抬頭顯示等。為了保障汽車的安全性和魯棒性,“Jacinto”多核異構(gòu)的架構(gòu)中擁有硬件防火墻,可將高級操作系統(tǒng)(HLOS)與安全操作系統(tǒng)隔離,同時(shí)也能執(zhí)行滿足ASIL-B安全認(rèn)證的穩(wěn)健多域軟件架構(gòu)。這些處理器為下一代汽車帶來了前所未有的豐富特性、車內(nèi)信息娛樂、儀表板以及車載智能通訊特性。
更多詳情,敬請查閱http://www.ti.com.cn。
(TI 公司供稿)
Design and implementation of information management system based on Android
Tan Qinhong, Huang Maodie, Zhang Zuoyun
(School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China)
According to available information treatment, this paper designs information management system based on Android. Information management system uploads the collected intelligence information by the network timely, the administrator handles and issues a directive in time, APP user processes the directive and the results are, fed back to the administrator so as to form a closed way processed information in accordance with instructions. Phone can directly connect with the admin client to achieve live video in an emergency, and make action more quickly. This paper describes the overall system architecture, the function modules and implementation of the system. The system is tested, then the further improvements of the system are pointed out.
Android; information management system; JAX-WS; video call
TN919.82
A
10.19358/j.issn.1674- 7720.2017.02.030
譚欽紅,黃茂碟,張作運(yùn).基于Android的情報(bào)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2017,36(2):100-103.
2016-08-25)