喬珠峰,趙繼春,王敏
(1. 北京市農(nóng)林科學(xué)院,北京市,100097; 2. 北京市農(nóng)村遠程信息服務(wù)工程技術(shù)研究中心,北京市,100097)
農(nóng)機技能培訓(xùn)是農(nóng)機化事業(yè)的重要內(nèi)容,加強農(nóng)機技能培訓(xùn)可以有效促進農(nóng)民生產(chǎn)技術(shù)認知水平和生產(chǎn)能力的提高[1],同時有效促進農(nóng)民在生產(chǎn)中采用更多的農(nóng)機新技術(shù)和新設(shè)備,提高農(nóng)業(yè)生產(chǎn)效率[2]。
網(wǎng)絡(luò)在線培訓(xùn)快速發(fā)展并對用戶的學(xué)習(xí)方式產(chǎn)生巨大改變[3]。國內(nèi)外學(xué)者在網(wǎng)絡(luò)學(xué)習(xí)資源推薦[4]、用戶建模[5]、自適應(yīng)學(xué)習(xí)[6]、學(xué)習(xí)資源傳輸[7]等方面開展了大量研究工作,構(gòu)建了大量公共學(xué)習(xí)平臺,如國內(nèi)的學(xué)堂在線,網(wǎng)易云課堂和果殼MOOC學(xué)院,國外的Udacity,Coursera和edX等應(yīng)用平臺。并將視覺跟蹤[8]、云平臺構(gòu)建技術(shù)[9]、大數(shù)據(jù)分析技術(shù)[10]、全媒體技術(shù)[11]應(yīng)用到在線教育,不斷提升用戶在線學(xué)習(xí)效果。然而,對于農(nóng)機用戶所在的廣大的農(nóng)村地區(qū),農(nóng)機技能培訓(xùn)依然存在瓶頸,如存在系統(tǒng)操作不夠便捷、應(yīng)用門檻高、學(xué)習(xí)支持不足、系統(tǒng)接入的網(wǎng)絡(luò)條件不理想等問題。
為提升農(nóng)機技能培訓(xùn)的便捷性,本文以嵌入式開發(fā)技術(shù)[12]為基礎(chǔ),研發(fā)設(shè)計了以RK3128為主控CPU的硬件終端設(shè)備。通過Android原生技術(shù)研發(fā)農(nóng)機技能培訓(xùn)硬件終端的客戶端軟件系統(tǒng),創(chuàng)新研究流媒體內(nèi)容分發(fā)技術(shù)實現(xiàn)視頻學(xué)習(xí)課件播放與控制管理,實現(xiàn)農(nóng)機培訓(xùn)課程點播、教學(xué)直播、資源推薦、大數(shù)據(jù)分析等功能,為用戶農(nóng)機技能培訓(xùn)提供便捷方式。
系統(tǒng)采用嵌入式軟硬件開發(fā)技術(shù),系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)圖Fig. 1 System structure diagram
在硬件設(shè)計方面,以RK3128主控CPU為設(shè)計核心,包括高清GPU解碼模塊、HDMI模塊、存儲模塊、電源模塊等。數(shù)據(jù)傳輸通過WIFI和以太網(wǎng)模塊,從流媒體軟件系統(tǒng)獲取農(nóng)機技能培訓(xùn)課件和直播流。流媒體輸出支持HDMI和AVI接口??蓪⒕W(wǎng)絡(luò)學(xué)習(xí)資源離線存儲到外接SD卡。在軟件設(shè)計方面,系統(tǒng)采用云計算體系結(jié)構(gòu),實現(xiàn)多級數(shù)字資源的統(tǒng)一管理、分布式部署,通過對資源的采集、管理、發(fā)布、服務(wù)的研發(fā),支持用戶通過終端設(shè)備學(xué)習(xí)訪問教學(xué)資源。
采用低功耗設(shè)計方式,終端設(shè)備以RK3128主控CPU為設(shè)計核心,包括ARM Mali-400圖形處理器、視頻處理器、WIFI、以太網(wǎng)、HDMI、數(shù)據(jù)存儲及電源等模塊。
為提升系統(tǒng)流媒體播放效果,主控模塊采用四核Cortex-A7高性能RK3128 CPU,主頻為1.3 GHz。圖形處理器為ARM Mali-400 MP2雙核GPU,支持OpenGL ES1.1/2.0。視頻處理器實現(xiàn)1 080 P多格式H.265硬件解碼。
采用ESP8089芯片作為WIFI數(shù)據(jù)傳輸模塊,具有超低功耗節(jié)能架構(gòu)設(shè)計,可在睡眠與喚醒模式之間實現(xiàn)快速切換,待機功耗小于1 mW。芯片具有穩(wěn)壓器及電源管理組件,漏電電流小于10 μA。WIFI模塊硬件原理圖如圖2所示。
采用RTL8201F芯片作為以太網(wǎng)數(shù)據(jù)傳輸模塊,支持MII(媒體獨立接口)、RMII(精簡媒體獨立接口),兼容10Base-T IEEE802.3,支持中斷功能,符合802.3az-2010標(biāo)準(zhǔn)。
終端設(shè)備采用Type A規(guī)格的HDMI接口,可同時傳輸視頻和音頻。能夠提供更高的數(shù)據(jù)傳輸帶寬,實現(xiàn)傳輸無壓縮的數(shù)字音頻及高分辨率視頻信號。帶寬支持SDTV、EDTV、HDTV、UHD和4K模式。HDMI接口原理如圖3所示。
圖2 WIFI模塊硬件原理圖Fig. 2 WIFI module hardware schematic diagram
圖3 HDMI接口原理圖Fig. 3 HDMIinterfaceschematic diagram
為實現(xiàn)數(shù)據(jù)高速存儲,終端設(shè)備的存儲共設(shè)計內(nèi)存、閃存、外接存儲卡三級模式。內(nèi)存采用兩塊NT5CB256M16CP-DI芯片,總?cè)萘? G,用于系統(tǒng)運行;閃存采用H27UCG8T2ETR-BC624A芯片,總?cè)萘? G,用于應(yīng)用軟件安裝和運行;外接存儲TF卡,總?cè)萘?28 G,用于用戶下載視頻課件資源。TF卡接口硬件原理圖如圖4所示。
設(shè)計選取ZEN056和FST7833作為電源控制模塊。NC/FST7833用來低壓檢測,當(dāng)輸入電壓高時,NC/ZEN056起到LDO的作用,輸出5 V,當(dāng)DC降低于5.5 V時,NC/FST7833輸出低電平導(dǎo)致Q1導(dǎo)通,此時NC/ZEN056不能正常工作,但DC_5V仍能保持接近5 V輸出。從而保證電源DC_IN是5 V。電源模塊原理如圖5所示。
圖4 TF卡接口原理圖Fig. 4 TF card interface schematic diagram
圖5 電源模塊原理圖Fig. 5 Power module schematic diagram
基于嵌入式的智能農(nóng)機技能培訓(xùn)系統(tǒng)軟件主要包括終端設(shè)備嵌入式軟件系統(tǒng)、流媒體系統(tǒng)和后臺管理系統(tǒng)三部分。終端設(shè)備為用戶提供簡潔的點播和直播學(xué)習(xí)終端;流媒體系統(tǒng)主要用于支撐點播系統(tǒng)和直播系統(tǒng),實現(xiàn)CDN分發(fā)和P2P共享技術(shù);后臺管理系統(tǒng)主要用于管理,包括從流媒體管理系統(tǒng)中同步媒體資源信息并對媒體資源管理、終端設(shè)備管理、用戶學(xué)習(xí)情況分析統(tǒng)計、設(shè)備升級管理等功能。
終端設(shè)備采用Android原生技術(shù)[12]開發(fā),實現(xiàn)學(xué)習(xí)視頻點播、直播、圖文信息瀏覽和學(xué)用信息反饋等功能。主要由Lancher、Media和Update三個應(yīng)用程序集成為系統(tǒng)room安裝包。三個子程序分別負責(zé)不同的功能,Lancher為主桌面程序,Media實現(xiàn)課件點播和直播功能播放程序,Update為系統(tǒng)升級程序。
系統(tǒng)主程序Lancher主要負責(zé)系統(tǒng)啟動、主界面展示、用戶賬號認證、點播課件分類展示、直播頻道展示和學(xué)習(xí)情況上傳等功能。播放程序Media主要是實現(xiàn)對MP4格式課件、m3u8直播流的音頻、視頻解碼播放。主程序流程圖見圖6所示。
系統(tǒng)升級程序Update支持手動升級和靜默升級,手動升級是用戶收到新版本消息后手動下載升級包并安裝,靜默升級是自動下載校驗升級包,在終端設(shè)備下一次開機時自動升級。在線升級流程圖如圖7所示。
流媒體系統(tǒng)實現(xiàn)視頻學(xué)習(xí)點播和直播資源管理與播放控制功能,為客戶端系統(tǒng)提供多媒體數(shù)據(jù)支持,實現(xiàn)視頻學(xué)習(xí)課件掃描入庫和學(xué)習(xí)課件的增加、刪除、修改、查看、發(fā)布等管理功能,負責(zé)視頻內(nèi)容分發(fā)、直播流采集轉(zhuǎn)發(fā)、內(nèi)容分發(fā)管理等控制功能。流媒體系統(tǒng)數(shù)據(jù)流設(shè)計圖如圖8所示。
圖6 主程序工作流程圖Fig. 6 Main program process diagram
圖7 在線升級流程圖Fig. 7 Online upgrade process diagram
圖8 流媒體數(shù)據(jù)流程圖Fig. 8 Streaming media system data flow diagram
(1) 客戶端發(fā)送媒體數(shù)據(jù)請求到CDN核心服務(wù)器;(2) CDN核心服務(wù)器把請求發(fā)往平衡服務(wù)器;(3) 平衡服務(wù)器根據(jù)帶寬負載平衡原則優(yōu)選邊緣服務(wù)器;(4) 平衡服務(wù)器重定向媒體數(shù)據(jù)請求到邊緣服務(wù)器,邊緣服務(wù)器提供媒體數(shù)據(jù)支持;(5) 客戶端提交學(xué)習(xí)記錄日志;(6) 直播數(shù)據(jù)切片直接發(fā)往邊緣服務(wù)器,邊緣服務(wù)器在線緩存;(7) 直播數(shù)據(jù)切片發(fā)送到客戶端播放;(8) 客戶端之間通過rtmfp協(xié)議傳輸視頻幀,實現(xiàn)P2P數(shù)據(jù);(9) 點播課件內(nèi)容定期向邊緣服務(wù)器分發(fā)。
CDN部署包含1個中心節(jié)點和16個二級節(jié)點,中心節(jié)點為應(yīng)用層網(wǎng)絡(luò)的核心,16個二級節(jié)點作為CDN邊緣推送節(jié)點(圖9),為提高流媒體服務(wù)效率,將各二級節(jié)點劃分成不同的自治域,各自治域中部署P2P服務(wù)。系統(tǒng)采用PUSH模型與PULL模型相結(jié)合的混合模式實現(xiàn)視頻文件同步。對于近期熱門視頻課件,系統(tǒng)采用PUSH模型,基于訪問率策略和事件策略[9, 13],主動將需要發(fā)布的視頻推送到分支節(jié)點邊緣服務(wù)器。對于沒有分發(fā)的視頻,采用PULL模型,邊緣服務(wù)器利用代理緩存機制,主動向中心服務(wù)器抓取資源。
圖9 CDN分發(fā)結(jié)構(gòu)圖Fig. 9 CDN distribution structure diagram
P2P調(diào)度策略采用接收者驅(qū)動模型獲取臨近節(jié)點數(shù)據(jù),由接收者決定節(jié)點連接方式,每一個節(jié)點都有一個唯一的編號PID,每次軟件啟動會向注冊服務(wù)器申請一個PID。所有的Overlay構(gòu)建消息都通過可靠的UDP協(xié)議來傳輸,媒體數(shù)據(jù)通過TCP碼率控制協(xié)議來進行傳輸,每個節(jié)點周期性生成自己的在線信息,在線信息結(jié)構(gòu)見表1。
表1 節(jié)點在線信息結(jié)構(gòu)Tab. 1 CDN node online information structure
每個Peer的初始生命周期t_tolive為一個恒定值,那么PUSH模式的周期
T=t_tolive/Ο(logN)
(1)
t_tolive的值影響單位時間內(nèi)Overlay中產(chǎn)生的在線消息包的個數(shù)PackNum=N/t_tolive。如果t_tolive越大,表示節(jié)點產(chǎn)生在線數(shù)據(jù)包的頻率越低。t_tolive的在線時長動態(tài)變化函數(shù)
(2)
F(t_live)表示節(jié)點生成在線數(shù)據(jù)包的間隔時間,t_live表示當(dāng)前節(jié)點的在線時長,以秒為單位。α為常量,在線時長增加t_live/α后發(fā)送周期增加10 s。當(dāng)節(jié)點在線時長超過30 min將恒定以120 s為發(fā)送周期,那么α的取值為150 s。
后臺管理系統(tǒng)主要功能是從流媒體管理系統(tǒng)中同步并管理媒體資源信息;提供服務(wù)接口,支持終端設(shè)備后臺獲取數(shù)據(jù);提供設(shè)備管理、欄目管理、視頻管理、學(xué)用統(tǒng)計、系統(tǒng)管理、升級管理等功能。后臺管理采用B/S 結(jié)構(gòu),運用MVC開發(fā)模式,使用SPRINGMVC、HIBERNATE等主流開發(fā)框架,數(shù)據(jù)庫使用ORACLE,WEB服務(wù)器使用開源TOMCAT。
終端設(shè)備通過遙控器操作學(xué)習(xí)課件,系統(tǒng)實現(xiàn)了流媒體直播、學(xué)習(xí)課件點播、學(xué)習(xí)資源智能推薦、學(xué)習(xí)需求反饋、學(xué)習(xí)離線統(tǒng)計等功能。點播支持WMV-9、MPEG-4和H.264標(biāo)準(zhǔn),播放碼率為1 027 kbit/s 和分辨率為1 080 P的課件和直播流均可流暢播放,無視頻停頓。
系統(tǒng)實現(xiàn)終端設(shè)備獲取用戶點播需求,可以預(yù)先下載資源也可通過網(wǎng)絡(luò)向管理后臺請求相關(guān)點播資源;系統(tǒng)支持高清直播流;終端設(shè)備系統(tǒng)在用戶學(xué)習(xí)時能夠把用戶信息、節(jié)目信息、播放時間等信息反饋到后臺管理系統(tǒng)進行分析統(tǒng)計。終端設(shè)備軟件主界面如圖10所示。
圖10 培訓(xùn)系統(tǒng)首頁Fig. 10 System main homepage
基于嵌入式的智能農(nóng)機技能培訓(xùn)系統(tǒng)終端設(shè)備性能測試是在千兆局域網(wǎng)環(huán)境下,點播學(xué)習(xí)視頻點播請求響應(yīng)時間小于1 s。直播流播放時,視頻延時小于5 s,響應(yīng)時間小于1 s。支持視頻畫面尺寸720×480、1 280×720、1 920×1 080分辨率,播放清晰流暢,數(shù)據(jù)響應(yīng)快。
基于嵌入式的智能農(nóng)機技能培訓(xùn)系統(tǒng)軟件部署應(yīng)用服務(wù)器部署配置為:四核心Intel Xeon E5462 CPU、8 G內(nèi)存;windows server2012操作系統(tǒng);1T SATA硬盤。測試工具采用Apache JMeter[14]測試應(yīng)用服務(wù)器視頻學(xué)習(xí)課件訪問并發(fā)壓力[15-17],通過并發(fā)訪問終端設(shè)備首頁和二級頁面,在500用戶并發(fā)時,首頁訪問平均響應(yīng)時間為2 507 ms,二級頁面平均響應(yīng)時間為1 431 ms。測試結(jié)果表明,單臺服務(wù)器支持500并發(fā)用戶學(xué)習(xí)訪問。測試數(shù)據(jù)表2所示。
表2 并發(fā)壓力測試數(shù)據(jù)結(jié)果Tab. 2 Concurrent stress test data results
測試目標(biāo)主要檢驗所采用的P2P方法是否能夠有效節(jié)約網(wǎng)絡(luò)帶寬[10]。測試環(huán)境在千兆局域網(wǎng)內(nèi),采用華為S5700-52C-SI網(wǎng)路交換設(shè)備,服務(wù)器負載測試工具采用SRS Bench,通過SmartSniff版本2.26監(jiān)控軟件抓取數(shù)據(jù)包流量。在局域網(wǎng)環(huán)境下選取20臺PC電腦安裝P2P取源監(jiān)控軟件SmartSniff,點播課件的碼率為800 Kbps,測試數(shù)據(jù)情況見表3。
表3 P2P取源及出口帶寬數(shù)據(jù)表Tab. 3 P2P source and outlet bandwidthTable
從表3分析可知,隨著訪問終端數(shù)量的增加,服務(wù)器端網(wǎng)絡(luò)出口帶寬趨于穩(wěn)定,客戶端去臨近的節(jié)點獲取數(shù)據(jù)。采用傳統(tǒng)的直連服務(wù)器訪問方式,帶寬為0.8×20=16 Mbps,實際消耗帶寬平均為3.7 Mbps,因此節(jié)約帶寬76.9%。通過取源監(jiān)控軟件SmartSniff來看,192.168.16.*網(wǎng)絡(luò)IP段的客戶端能到192.168.18.* IP段的客戶端獲取數(shù)據(jù),因此具有較好的網(wǎng)絡(luò)獲取數(shù)據(jù)效果。
終端設(shè)備加載農(nóng)機技能培訓(xùn)視頻課程300余部,在北京和張家口市等地區(qū)推廣應(yīng)用7 464套終端設(shè)備。為深入了解用戶應(yīng)用情況,對北京市懷柔區(qū)、大興區(qū)、順義區(qū)和東城區(qū)開展了用戶應(yīng)用滿意度調(diào)查,回收有效調(diào)研問卷249份。調(diào)查數(shù)據(jù)結(jié)果顯示,用戶對于基于嵌入式的智能農(nóng)機技能培訓(xùn)系統(tǒng)的平均滿意度超過90%,滿意度分布情況如圖11所示。
圖11 用戶應(yīng)用滿意度統(tǒng)計分布Fig. 11 User application satisfaction distribution
1) 本文應(yīng)用嵌入式、流媒體分發(fā)技術(shù)研發(fā)實現(xiàn)了智能農(nóng)機技能培訓(xùn)系統(tǒng)。系統(tǒng)應(yīng)用低功耗設(shè)計方法,以RK3128 CPU處理器為硬件控制核心,支持WIFI和以太網(wǎng)網(wǎng)絡(luò)通信方式與云端服務(wù)器通信。并基于CDN與P2P數(shù)據(jù)調(diào)度策略,應(yīng)用軟件工程技術(shù)研發(fā)了流媒體數(shù)據(jù)應(yīng)用與管理系統(tǒng)。
2) 開展智能農(nóng)機技能培訓(xùn)系統(tǒng)硬件及軟件測試,試驗結(jié)果表明,終端設(shè)備運行穩(wěn)定,可實現(xiàn)1 080 P流媒體流暢播放,訪問終端設(shè)備主頁平均響應(yīng)時間為2 507 ms,實現(xiàn)節(jié)約網(wǎng)絡(luò)帶寬75%以上,有效滿足預(yù)期設(shè)計需求。
3) 系統(tǒng)在北京13個涉農(nóng)地區(qū)和河北省張家口市等地區(qū)開展應(yīng)用,有效解決了農(nóng)村地區(qū)網(wǎng)絡(luò)接入不暢問題,用戶對系統(tǒng)應(yīng)用的平均滿意度超過90%,為農(nóng)機技能培訓(xùn)提供便捷化與智能化手段,得到了培訓(xùn)管理部門和用戶的高度認可,具有廣闊的應(yīng)用前景。