馮永勝 +許楠
摘 要: 針對移動學(xué)習(xí)的空間跨度大,實(shí)時(shí)性不好的問題,利用微信平臺的信息廣交互性,提出一種基于微信的移動學(xué)習(xí)平臺開發(fā)設(shè)計(jì)方案。設(shè)計(jì)移動學(xué)習(xí)的資源調(diào)度模型,然后在嵌入式Linux內(nèi)核下將移動學(xué)習(xí)資源調(diào)度模型移植到微信平臺中,進(jìn)行基于微信的移動學(xué)習(xí)平臺嵌入式軟件開發(fā)設(shè)計(jì)。仿真實(shí)驗(yàn)結(jié)果表明,采用該平臺進(jìn)行移動學(xué)習(xí)的效率得到明顯提升。
關(guān)鍵詞: 微信; 移動學(xué)習(xí); 嵌入式軟件; 資源調(diào)度
中圖分類號: TN926?34; TP391 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)07?0008?04
Design and development of mobile learning platform based on WeChat
FENG Yongsheng, XU Nan
(School of Information Technology, Heilongjiang Bayi Agricultural University, Daqing 163319, China)
Abstract: Since the mobile learning has long space span and poor real?time performance, a design and development scheme of the mobile learning platform based on WeChat is proposed according to the information interaction of the WeChat platform. The resource scheduling model of the mobile learning was designed, and transplanted into the WeChat platform with the embedded Linux kernel to design and develop the embedded software of the mobile learning platform based on WeChat. The simulation experiment results show that the efficiency of the mobile learning has been improved significantly with the platform.
Keywords: WeChat; mobile learning; embedded software; resource scheduling
0 引 言
移動學(xué)習(xí)需要強(qiáng)大的網(wǎng)絡(luò)資源作為支撐,通過通用的移動學(xué)習(xí)終端APP實(shí)現(xiàn)在線視頻、音頻和學(xué)習(xí)資源的傳輸,以移動學(xué)習(xí)方式進(jìn)行在線教育有效提高了學(xué)習(xí)效率,節(jié)省了時(shí)間開銷和資源開銷,在未來的學(xué)習(xí)方式改進(jìn)中具有重要意義。微信作為當(dāng)前很流行的移動APP終端,基于微信進(jìn)行移動學(xué)習(xí)平臺開發(fā)具有普遍性意義[1]。
研究基于微信的移動學(xué)習(xí)平臺開發(fā)與設(shè)計(jì)方法,首先需要構(gòu)建學(xué)習(xí)資源的調(diào)度模型,并在嵌入式系統(tǒng)中進(jìn)行軟件設(shè)計(jì),構(gòu)建移動學(xué)習(xí)的學(xué)習(xí)控件、數(shù)據(jù)庫結(jié)構(gòu)、學(xué)習(xí)框架和工具[2?3]。移動學(xué)習(xí)的空間跨度大,采用常規(guī)的學(xué)習(xí)平臺開發(fā)方法需要占用大規(guī)模的網(wǎng)絡(luò)空間,時(shí)間開銷較大,移動學(xué)習(xí)的實(shí)時(shí)性不好。對此,文獻(xiàn)[4]采用一種基于Co?training訓(xùn)練模式的移動學(xué)習(xí)平臺構(gòu)建方法,通過對移動學(xué)習(xí)資源的屬性歸類和特征降維,降低了資源開銷,提高了學(xué)習(xí)平臺的運(yùn)行效率,但隨著在線移動學(xué)習(xí)規(guī)模的增大,無法實(shí)現(xiàn)交叉性移動學(xué)習(xí)[5]。
針對上述問題,本文以微信平臺為基礎(chǔ)構(gòu)建一種改進(jìn)的移動學(xué)習(xí)平臺,進(jìn)行平臺的軟件開發(fā)設(shè)計(jì),最后進(jìn)行系統(tǒng)仿真分析,展示了本文設(shè)計(jì)的微信移動學(xué)習(xí)平臺的可靠性,在提高學(xué)習(xí)效率方面具有較好的意義。
1 學(xué)習(xí)資源調(diào)度模型的設(shè)計(jì)
1.1 移動學(xué)習(xí)資源的信息檢索及特征分析
為了實(shí)現(xiàn)對移動學(xué)習(xí)平臺的開發(fā),需要首先進(jìn)行資源調(diào)度,在大數(shù)據(jù)環(huán)境下基于M?Learning學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行資源調(diào)度[6],假設(shè)在移動學(xué)習(xí)平臺中資源數(shù)據(jù)庫的狀態(tài)空間為:
[S=k,n,0≤k≤K,0≤n≤N] (1)
當(dāng)[n=N]時(shí),M?Learning學(xué)習(xí)網(wǎng)絡(luò)通過輸出數(shù)據(jù)庫資源信息的特征集合進(jìn)行數(shù)據(jù)包處理,當(dāng)[n=1,2,…,N-1]時(shí),移動學(xué)習(xí)資源數(shù)據(jù)庫資源信息的特征集合為:
[P={p1,p2,…,pm}, m∈N] (2)
采用語義特征匹配方法進(jìn)行信息檢索,假設(shè)[S={s1,s2,…,sm}]為移動網(wǎng)絡(luò)用戶對學(xué)習(xí)資源的興趣偏好,計(jì)算移動網(wǎng)絡(luò)用戶行為的非空有限論域:
[w′i=t′si-tsΔw, w″i=t′ei-tsΔw] (3)
在進(jìn)行信息資源檢索中,微信平臺處于空閑狀態(tài)[(k,N)]表示CPU正在進(jìn)行數(shù)據(jù)包處理,設(shè)定M?Learning嵌入式任務(wù)調(diào)度的時(shí)間序列集合,用[V=v1,v2,…,vn]表示微信平臺進(jìn)行學(xué)習(xí)任務(wù)調(diào)度的特征子向量,對多個(gè)微信平臺級聯(lián)的移動用戶APP終端采用數(shù)據(jù)信息融合方法對資源流進(jìn)行數(shù)據(jù)融合[7],得到信息融合后的資源流為:
[flowk={n1,n2,…,nq}, q∈N] (4)
式中:[q]表示語義特征配準(zhǔn)閾值;[nq]表示傳輸數(shù)據(jù)序列;[N]表示學(xué)習(xí)資源的聚類屬性總數(shù)。
1.2 學(xué)習(xí)資源調(diào)度
在M?Learning學(xué)習(xí)平臺中,采用[pi]表示[x(t)]出現(xiàn)在移動用戶進(jìn)行語義檢索區(qū)域的資源分配概率,采用優(yōu)先級列表分配方法進(jìn)行資源負(fù)載均衡控制,每當(dāng)進(jìn)程[k]就緒時(shí),首先估計(jì)語義特征信息配準(zhǔn)的Burst time(BTk),得到移動學(xué)習(xí)資源檢索的時(shí)間片TQ(Time Quantum),由于時(shí)間片TQ是動態(tài)分布的,在進(jìn)行移動學(xué)習(xí)的微信平臺構(gòu)建中,通過設(shè)計(jì)進(jìn)程管理模型得到移動資源信息流時(shí)間序列模型為:
[Xpu=sc(t)ej2πf0t=1TrecttTej2π(f0t+Kt2)2] (5)
式中:[sc(t)]表示移動學(xué)習(xí)的云資源在訓(xùn)練集中屬于[bi]類的信息融合矢量;[ej2πf0t]表示用M?Learning學(xué)習(xí)的自相關(guān)變量。
基于自相關(guān)匹配濾波,得到移動學(xué)習(xí)資源調(diào)度均衡的標(biāo)準(zhǔn)值[SCMh]分別表示為:
[CMh=j=1NMh×qjrη(u)+μ(u)N] (6)
[SCMh=i=1M(Mh-CMh)2+σjkwjk] (7)
式中:[qj]為等待隊(duì)列中請求學(xué)習(xí)資源分配的本體匹配度;[μ(u)]為所有資源分配節(jié)點(diǎn)間的實(shí)例屬性集。
在結(jié)構(gòu)匹配階段,對移動學(xué)習(xí)資源信息流進(jìn)行相似度衡量,得到輸出的特征空間匹配向量為:
[x=i=1NsiΨi=Ψs,Ψ=[Ψ1,Ψ2,…,ΨN]] (8)
式中:[si]為相同位置節(jié)點(diǎn)相似值;[Ψs]為初始概率分布,[Ψs={πi,i=1,2,…,N}]表示本體結(jié)構(gòu)特征。由此得到M?Learning學(xué)習(xí)的優(yōu)先級調(diào)度的約束條件:
[?LELM?β=0→β=i=1NαihT(xi)=HTα] (9)
[d∞p,q=i=1mpi-qiz1z, z>0] (10)
[dp,q=N-sN] (11)
本體結(jié)構(gòu)特征與第[i]個(gè)訓(xùn)練樣本存在對應(yīng)的約束條件,其貼合度定義為:
[MMCM(c1,c2)=k=1n(x1k∧x2k)k=1n(x1k∨x2k)∈[0,1]] (12)
式中符號[∧,∨]分別表示圖結(jié)構(gòu)的匹配算子。
計(jì)算每個(gè)移動學(xué)習(xí)資源調(diào)度的適應(yīng)度值,采用相似父/子概念確定學(xué)習(xí)資源調(diào)度的上下限,得到節(jié)點(diǎn)集到節(jié)點(diǎn)標(biāo)記集的特征映射為:
[r.dom=cici∈C∧ci?r] (13)
[r.dom=cjcj∈C∧?c?rcj] (14)
M?Learnin學(xué)習(xí)資源本體的估計(jì)結(jié)果為:
[minQ 12QΩ-PΩ2F+μQ*] (15)
基于整體語義對應(yīng)的自相關(guān)匹配原理,計(jì)算學(xué)習(xí)資源本體匹配(Ontology Matching)的自相關(guān)特征函數(shù)[8],得到資源分配的聚類累積量:
[cum(λ1x1,λ2x2,…,λkxk)=i=1kλicum(x1,x2,…,xk)] (16)
通過子圖抽取信息流的[k]階累積量為[ckx(τ1,τ2,…,τk-1)],在本體層次結(jié)構(gòu)中得到輸出的數(shù)據(jù)融合向量為:
[X=x(n),x(n+τ1),…,x(n+τk-1)] (17)
對于待匹配本體[A,B,]其有向圖表示為[G(A),][G(B),]求得綜合相似度,得到學(xué)習(xí)資源調(diào)度的傳遞函數(shù)為:
[h(A,B)=1NAi∈Axai-xb?(i),yai-yb?(i)] (18)
式中[NA]為移動學(xué)習(xí)用戶[A]的屬性相似度。
2 系統(tǒng)的實(shí)現(xiàn)
2.1 嵌入式設(shè)計(jì)
進(jìn)行移動學(xué)習(xí)平臺的開發(fā)設(shè)計(jì),需要采用交叉編譯方法構(gòu)建移動學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)模型,對移動學(xué)習(xí)資源調(diào)度算法進(jìn)行編程設(shè)計(jì),程序加載,采用嵌入式內(nèi)核設(shè)計(jì)方法進(jìn)行移動學(xué)習(xí)平臺應(yīng)用程序開發(fā),采用數(shù)據(jù)加載模塊動態(tài)驅(qū)動微信平臺進(jìn)行人機(jī)交互,基于微信平臺的嵌入式Linux移動學(xué)習(xí)系統(tǒng)分為4個(gè)層次[9?10],分別如下:
(1) 通過戶主目錄C5409 Device Simulator引導(dǎo)加載程序進(jìn)行移動學(xué)習(xí)和集成控制,在微信平臺中識別用戶行為特征,同時(shí)給用戶提供一個(gè)簡單、統(tǒng)一的系統(tǒng)調(diào)用接口,采用VME總線傳輸進(jìn)行時(shí)鐘初始化操作,移動學(xué)習(xí)平臺設(shè)計(jì)包括程序驅(qū)動模塊、自動配置模塊。建立Linux的根文件系統(tǒng)執(zhí)行移動學(xué)習(xí)的總線控制和D/A轉(zhuǎn)換。
(2) Linux內(nèi)核把移動網(wǎng)絡(luò)用戶行為加入到系統(tǒng)環(huán)境變量中,進(jìn)行在線學(xué)習(xí)和數(shù)據(jù)記錄。執(zhí)行Linux內(nèi)核的init進(jìn)程,進(jìn)行移動學(xué)習(xí)資源的優(yōu)化配置。
(3) 文件管理系統(tǒng)(File System)。文件管理系統(tǒng)是實(shí)現(xiàn)對移動學(xué)習(xí)資源的優(yōu)先控制和學(xué)習(xí)隊(duì)列的自動排序,構(gòu)建TinyOS的通信機(jī)制,運(yùn)行如下代碼執(zhí)行信息傳輸:
Export Active Message//
PATH=$PATH:/Kernel_interface Mount /compilation/LoUNIX class 920t?eabi/bi
TinyOS用匯編和C語言編寫,由此生成根文件系統(tǒng),在嵌入式微信平臺中執(zhí)行交叉編譯。
(4) 用戶應(yīng)用程序(Application)。用戶應(yīng)用程序模塊實(shí)現(xiàn)微信平臺和移動學(xué)習(xí)用戶之間的交叉訪問,通過多個(gè)組件(component)連接內(nèi)核執(zhí)行程序配置、編譯,檢測用戶的等級,對塊設(shè)備進(jìn)行讀/寫操作。
2.2 開發(fā)流程
基于Qt/Embedded的應(yīng)用軟件在Linux內(nèi)核中開發(fā)微信移動學(xué)習(xí)平臺,在宿主機(jī)平臺上使用make menuconfig命令進(jìn)行交叉編譯,配置qt?embedded?arm執(zhí)行微信平臺的嵌入式學(xué)習(xí)算法寫入,在配置選項(xiàng)中,安裝qt?x11用于生成qvfb,建立x86開發(fā)環(huán)境配置qt?embedded?x86,使用惟一的ID0來識別移動學(xué)習(xí)網(wǎng)絡(luò)用戶,Qt/Embedded for x86開發(fā)環(huán)境建立內(nèi)容如下:
Generates Settings ???>
Qt/Embedded source install?qt?x11.sh???>
[/mnt/nfs] downloaded //模式選擇及參數(shù)設(shè)置
Applets links(Qt Virtual Fram Buffer) ???>
(/home/ SDICmdSta /nfs) qt?embedded?SDIDatSta prefix
//SDICON寄存
Root file Data loading module Tuning ???>
//設(shè)置SDICmdSta寄存器的特殊標(biāo)志
[/mnt/nfs] WeChat platform. /Provide Boot loader environment
//微信Qtopia應(yīng)用環(huán)境
[root@hjembed qt_bin] Generate bin, SBIN folder commands
[root@hjembed qt_bin] deprecated:aliased
//設(shè)置SDICON寄存器
[root@hjembed qt_bin] SDIPRE Embedded access
//設(shè)置SDIPRE寄存器
[root@hjembed qt_bin] Script sSDICmdArg file
Shells ???>
??? Ash SDIBSize register //設(shè)置塊模式、總線寬度
[root@hjembed qt_bin]Check DatFinTag File System
//DatFin標(biāo)志已設(shè)置
[root@hjembed qt_bin]Lash(arm?angstrom?linux)
//lib清除SDICmdSta寄存器中的相應(yīng)標(biāo)志位
在進(jìn)行了ZLG7290初始化操作之后,ZLG7290就會響應(yīng)鍵盤操作,通過I2C從ZLG7290讀取按下的鍵值執(zhí)行移動學(xué)習(xí):
for(i=0;i {*s=RcvByte(); Ack_I2C(0); S++;} 配置完成后,地址01H,復(fù)位值00H,新建目錄filesystem,DIDTimer寄存器,實(shí)現(xiàn)寄存器的位操作,設(shè)置timeout周期,保存ZLG7290系統(tǒng)狀態(tài)并在SDIDatCon寄存器中設(shè)置塊模式進(jìn)行微信識別,啟動信號(Start Condition)接收數(shù)據(jù)的器件在接收到8位數(shù)據(jù)后,會向發(fā)送數(shù)據(jù)的器件發(fā)出一個(gè)低電平脈沖,進(jìn)行ZLG7290控制的編譯和安裝,實(shí)現(xiàn)基于微信移動學(xué)習(xí)平臺的開發(fā)和設(shè)計(jì)。 綜上分析,基于微信平臺進(jìn)行移動學(xué)習(xí)平臺的開發(fā)的操作通過以下3個(gè)函數(shù)實(shí)現(xiàn): static int s3c2440_adc_open(struct s3c2440_pwm_close *filp) static int s3c24xx_pwm_ioctl_adc_release(define DEVICE_NAME, struct file *filp) static ssize_t MISC_DYNAMIC_MINOR (struct file *filp, char * operations dev_fops* size_t count, loff_t *ppos) 其中:s3c2440_adc_open()和s3c2440_adc_release()負(fù)責(zé)設(shè)置GPIO為輸出方式并且設(shè)置PWM相關(guān)寄存器,控制S3C2440內(nèi)部A/D轉(zhuǎn)換的打開和關(guān)閉。 基于微信的移動學(xué)習(xí)平臺的軟件實(shí)現(xiàn)流程如圖1所示。 3 仿真測試 移動學(xué)習(xí)用戶分布服從均值為1 000的均勻分布,在微信終端學(xué)習(xí)請求過程服從(0.02 10)的指數(shù)分布,隨機(jī)生成270個(gè)移動用戶學(xué)習(xí)樣本點(diǎn),以學(xué)習(xí)效率為測試指標(biāo),圖2為不同方法進(jìn)行移動學(xué)習(xí)的效率對比結(jié)果,圖3給出了不同方法的誤差收斂值對比結(jié)果。從圖2得知,隨著微信用戶節(jié)點(diǎn)數(shù)的增多,本文方法學(xué)習(xí)效率增大,當(dāng)用戶節(jié)點(diǎn)數(shù)達(dá)到80時(shí),學(xué)習(xí)效率達(dá)到100%,即最大學(xué)習(xí)效率,在線移動學(xué)習(xí)的效率優(yōu)于傳統(tǒng)方法。由圖3的仿真結(jié)果得知,本文方法進(jìn)行學(xué)習(xí)的誤差較低,收斂性較好,說明系統(tǒng)的魯棒性較高。 4 結(jié) 語 為了提高移動學(xué)習(xí)的效率和可靠性,利用微信平臺的信息廣交互性進(jìn)行移動學(xué)習(xí)平臺構(gòu)建,提出基于微信的移動學(xué)習(xí)平臺開發(fā)設(shè)計(jì)方案,首先進(jìn)行移動學(xué)習(xí)的資源調(diào)度模型設(shè)計(jì),基于Qt/Embedded的應(yīng)用軟件在Linux內(nèi)核中開發(fā)微信移動學(xué)習(xí)平臺,實(shí)現(xiàn)平臺的軟件開發(fā)設(shè)計(jì),測試結(jié)果表明,采用該平臺進(jìn)行移動學(xué)習(xí)的效率得到明顯提升,系統(tǒng)的魯棒性較好。 注:本文通訊作者為許楠。 參考文獻(xiàn) [1] KARAMI E, DOBRE O A. Identification of SM?OFDM and AL?OFDM signals based on their second?order cyclostationarity [J]. IEEE transactions on vehicular technology, 2015, 64(3): 942?953. [2] MOHAMMADKARIMI M, DOBRE O A. Blind identification of spatial multiplexing and Alamouti space?time block code via Kolmogorov?Smirnov(K?S) test [J]. IEEE communications letters, 2014, 18(10): 1711?1714. [3] ELDEMERDASH Y A, DOBRE O A, MAREY M, et al. An efficient algorithm for space?time block code classification [C]// Proceedings of 2013 IEEE Global Communications Conference. Atlanta, USA: IEEE, 2013: 3329?3334. [4] 郭帥,馬書根,李斌,等.VorSLAM算法中基于多規(guī)則的數(shù)據(jù)關(guān)聯(lián)方法[J].自動化學(xué)報(bào),2012,38(1):1?12. [5] COHEN W W, RAVIKUMAR P, FIENBERG S E. A comparison of string distance metrics for name?matching tasks [C]// Proceedings of 2003 International Joint Conference on Artificial Intelligence. Pittsburgh: s. n., 2003: 73?78. [6] 張普寧,劉元安,吳帆,等.物聯(lián)網(wǎng)中適用于內(nèi)容搜索的實(shí)體狀態(tài)匹配預(yù)測方法[J].電子與信息學(xué)報(bào),2015,37(12):2815?2820. [7] 王躍飛,于炯,魯亮.面向內(nèi)存云的數(shù)據(jù)塊索引方法[J].計(jì)算機(jī)應(yīng)用,2016,36(5):1222?1227. [8] 崔永君,張永花.基于特征尺度均衡的Linux系統(tǒng)雙閾值任務(wù)調(diào)度算法[J].計(jì)算機(jī)科學(xué),2015,42(6):181?184. [9] 譚鵬許,陳越,蘭巨龍,等.用于云存儲的安全容錯(cuò)編碼[J].通信學(xué)報(bào),2014,35(3):109?114. [10] 魏理豪,王甜,陳飛,等.基于層次分析法的信息系統(tǒng)實(shí)用化評價(jià)研究[J].科技通報(bào),2014,30(2):142?148.