馮永勝 +許楠
摘 要: 針對(duì)移動(dòng)學(xué)習(xí)的空間跨度大,實(shí)時(shí)性不好的問題,利用微信平臺(tái)的信息廣交互性,提出一種基于微信的移動(dòng)學(xué)習(xí)平臺(tái)開發(fā)設(shè)計(jì)方案。設(shè)計(jì)移動(dòng)學(xué)習(xí)的資源調(diào)度模型,然后在嵌入式Linux內(nèi)核下將移動(dòng)學(xué)習(xí)資源調(diào)度模型移植到微信平臺(tái)中,進(jìn)行基于微信的移動(dòng)學(xué)習(xí)平臺(tái)嵌入式軟件開發(fā)設(shè)計(jì)。仿真實(shí)驗(yàn)結(jié)果表明,采用該平臺(tái)進(jìn)行移動(dòng)學(xué)習(xí)的效率得到明顯提升。
關(guān)鍵詞: 微信; 移動(dòng)學(xué)習(xí); 嵌入式軟件; 資源調(diào)度
中圖分類號(hào): TN926?34; TP391 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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 引 言
移動(dòng)學(xué)習(xí)需要強(qiáng)大的網(wǎng)絡(luò)資源作為支撐,通過通用的移動(dòng)學(xué)習(xí)終端APP實(shí)現(xiàn)在線視頻、音頻和學(xué)習(xí)資源的傳輸,以移動(dòng)學(xué)習(xí)方式進(jìn)行在線教育有效提高了學(xué)習(xí)效率,節(jié)省了時(shí)間開銷和資源開銷,在未來的學(xué)習(xí)方式改進(jìn)中具有重要意義。微信作為當(dāng)前很流行的移動(dòng)APP終端,基于微信進(jìn)行移動(dòng)學(xué)習(xí)平臺(tái)開發(fā)具有普遍性意義[1]。
研究基于微信的移動(dòng)學(xué)習(xí)平臺(tái)開發(fā)與設(shè)計(jì)方法,首先需要構(gòu)建學(xué)習(xí)資源的調(diào)度模型,并在嵌入式系統(tǒng)中進(jìn)行軟件設(shè)計(jì),構(gòu)建移動(dòng)學(xué)習(xí)的學(xué)習(xí)控件、數(shù)據(jù)庫(kù)結(jié)構(gòu)、學(xué)習(xí)框架和工具[2?3]。移動(dòng)學(xué)習(xí)的空間跨度大,采用常規(guī)的學(xué)習(xí)平臺(tái)開發(fā)方法需要占用大規(guī)模的網(wǎng)絡(luò)空間,時(shí)間開銷較大,移動(dòng)學(xué)習(xí)的實(shí)時(shí)性不好。對(duì)此,文獻(xiàn)[4]采用一種基于Co?training訓(xùn)練模式的移動(dòng)學(xué)習(xí)平臺(tái)構(gòu)建方法,通過對(duì)移動(dòng)學(xué)習(xí)資源的屬性歸類和特征降維,降低了資源開銷,提高了學(xué)習(xí)平臺(tái)的運(yùn)行效率,但隨著在線移動(dòng)學(xué)習(xí)規(guī)模的增大,無法實(shí)現(xiàn)交叉性移動(dòng)學(xué)習(xí)[5]。
針對(duì)上述問題,本文以微信平臺(tái)為基礎(chǔ)構(gòu)建一種改進(jìn)的移動(dòng)學(xué)習(xí)平臺(tái),進(jìn)行平臺(tái)的軟件開發(fā)設(shè)計(jì),最后進(jìn)行系統(tǒng)仿真分析,展示了本文設(shè)計(jì)的微信移動(dòng)學(xué)習(xí)平臺(tái)的可靠性,在提高學(xué)習(xí)效率方面具有較好的意義。
1 學(xué)習(xí)資源調(diào)度模型的設(shè)計(jì)
1.1 移動(dòng)學(xué)習(xí)資源的信息檢索及特征分析
為了實(shí)現(xiàn)對(duì)移動(dòng)學(xué)習(xí)平臺(tái)的開發(fā),需要首先進(jìn)行資源調(diào)度,在大數(shù)據(jù)環(huán)境下基于M?Learning學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行資源調(diào)度[6],假設(shè)在移動(dòng)學(xué)習(xí)平臺(tái)中資源數(shù)據(jù)庫(kù)的狀態(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ù)庫(kù)資源信息的特征集合進(jìn)行數(shù)據(jù)包處理,當(dāng)[n=1,2,…,N-1]時(shí),移動(dòng)學(xué)習(xí)資源數(shù)據(jù)庫(kù)資源信息的特征集合為:
[P={p1,p2,…,pm}, m∈N] (2)
采用語(yǔ)義特征匹配方法進(jìn)行信息檢索,假設(shè)[S={s1,s2,…,sm}]為移動(dòng)網(wǎng)絡(luò)用戶對(duì)學(xué)習(xí)資源的興趣偏好,計(jì)算移動(dòng)網(wǎng)絡(luò)用戶行為的非空有限論域:
[w′i=t′si-tsΔw, w″i=t′ei-tsΔw] (3)
在進(jìn)行信息資源檢索中,微信平臺(tái)處于空閑狀態(tài)[(k,N)]表示CPU正在進(jìn)行數(shù)據(jù)包處理,設(shè)定M?Learning嵌入式任務(wù)調(diào)度的時(shí)間序列集合,用[V=v1,v2,…,vn]表示微信平臺(tái)進(jìn)行學(xué)習(xí)任務(wù)調(diào)度的特征子向量,對(duì)多個(gè)微信平臺(tái)級(jí)聯(lián)的移動(dòng)用戶APP終端采用數(shù)據(jù)信息融合方法對(duì)資源流進(jìn)行數(shù)據(jù)融合[7],得到信息融合后的資源流為:
[flowk={n1,n2,…,nq}, q∈N] (4)
式中:[q]表示語(yǔ)義特征配準(zhǔn)閾值;[nq]表示傳輸數(shù)據(jù)序列;[N]表示學(xué)習(xí)資源的聚類屬性總數(shù)。
1.2 學(xué)習(xí)資源調(diào)度
在M?Learning學(xué)習(xí)平臺(tái)中,采用[pi]表示[x(t)]出現(xiàn)在移動(dòng)用戶進(jìn)行語(yǔ)義檢索區(qū)域的資源分配概率,采用優(yōu)先級(jí)列表分配方法進(jìn)行資源負(fù)載均衡控制,每當(dāng)進(jìn)程[k]就緒時(shí),首先估計(jì)語(yǔ)義特征信息配準(zhǔn)的Burst time(BTk),得到移動(dòng)學(xué)習(xí)資源檢索的時(shí)間片TQ(Time Quantum),由于時(shí)間片TQ是動(dòng)態(tài)分布的,在進(jìn)行移動(dòng)學(xué)習(xí)的微信平臺(tái)構(gòu)建中,通過設(shè)計(jì)進(jìn)程管理模型得到移動(dòng)資源信息流時(shí)間序列模型為:
[Xpu=sc(t)ej2πf0t=1TrecttTej2π(f0t+Kt2)2] (5)
式中:[sc(t)]表示移動(dòng)學(xué)習(xí)的云資源在訓(xùn)練集中屬于[bi]類的信息融合矢量;[ej2πf0t]表示用M?Learning學(xué)習(xí)的自相關(guān)變量。
基于自相關(guān)匹配濾波,得到移動(dòng)學(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ì)列中請(qǐng)求學(xué)習(xí)資源分配的本體匹配度;[μ(u)]為所有資源分配節(jié)點(diǎn)間的實(shí)例屬性集。
在結(jié)構(gòu)匹配階段,對(duì)移動(dòng)學(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)先級(jí)調(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)練樣本存在對(duì)應(yīng)的約束條件,其貼合度定義為:
[MMCM(c1,c2)=k=1n(x1k∧x2k)k=1n(x1k∨x2k)∈[0,1]] (12)
式中符號(hào)[∧,∨]分別表示圖結(jié)構(gòu)的匹配算子。
計(jì)算每個(gè)移動(dòng)學(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ǔ)義對(duì)應(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)
對(duì)于待匹配本體[A,B,]其有向圖表示為[G(A),][G(B),]求得綜合相似度,得到學(xué)習(xí)資源調(diào)度的傳遞函數(shù)為:
[h(A,B)=1NAi∈Axai-xb?(i),yai-yb?(i)] (18)
式中[NA]為移動(dòng)學(xué)習(xí)用戶[A]的屬性相似度。
2 系統(tǒng)的實(shí)現(xiàn)
2.1 嵌入式設(shè)計(jì)
進(jìn)行移動(dòng)學(xué)習(xí)平臺(tái)的開發(fā)設(shè)計(jì),需要采用交叉編譯方法構(gòu)建移動(dòng)學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)模型,對(duì)移動(dòng)學(xué)習(xí)資源調(diào)度算法進(jìn)行編程設(shè)計(jì),程序加載,采用嵌入式內(nèi)核設(shè)計(jì)方法進(jìn)行移動(dòng)學(xué)習(xí)平臺(tái)應(yīng)用程序開發(fā),采用數(shù)據(jù)加載模塊動(dòng)態(tài)驅(qū)動(dòng)微信平臺(tái)進(jìn)行人機(jī)交互,基于微信平臺(tái)的嵌入式Linux移動(dòng)學(xué)習(xí)系統(tǒng)分為4個(gè)層次[9?10],分別如下:
(1) 通過戶主目錄C5409 Device Simulator引導(dǎo)加載程序進(jìn)行移動(dòng)學(xué)習(xí)和集成控制,在微信平臺(tái)中識(shí)別用戶行為特征,同時(shí)給用戶提供一個(gè)簡(jiǎn)單、統(tǒng)一的系統(tǒng)調(diào)用接口,采用VME總線傳輸進(jìn)行時(shí)鐘初始化操作,移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)包括程序驅(qū)動(dòng)模塊、自動(dòng)配置模塊。建立Linux的根文件系統(tǒng)執(zhí)行移動(dòng)學(xué)習(xí)的總線控制和D/A轉(zhuǎn)換。
(2) Linux內(nèi)核把移動(dòng)網(wǎng)絡(luò)用戶行為加入到系統(tǒng)環(huán)境變量中,進(jìn)行在線學(xué)習(xí)和數(shù)據(jù)記錄。執(zhí)行Linux內(nèi)核的init進(jìn)程,進(jìn)行移動(dòng)學(xué)習(xí)資源的優(yōu)化配置。
(3) 文件管理系統(tǒng)(File System)。文件管理系統(tǒng)是實(shí)現(xiàn)對(duì)移動(dòng)學(xué)習(xí)資源的優(yōu)先控制和學(xué)習(xí)隊(duì)列的自動(dòng)排序,構(gòu)建TinyOS的通信機(jī)制,運(yùn)行如下代碼執(zhí)行信息傳輸:
Export Active Message//
PATH=$PATH:/Kernel_interface Mount /compilation/LoUNIX class 920t?eabi/bi
TinyOS用匯編和C語(yǔ)言編寫,由此生成根文件系統(tǒng),在嵌入式微信平臺(tái)中執(zhí)行交叉編譯。
(4) 用戶應(yīng)用程序(Application)。用戶應(yīng)用程序模塊實(shí)現(xiàn)微信平臺(tái)和移動(dòng)學(xué)習(xí)用戶之間的交叉訪問,通過多個(gè)組件(component)連接內(nèi)核執(zhí)行程序配置、編譯,檢測(cè)用戶的等級(jí),對(duì)塊設(shè)備進(jìn)行讀/寫操作。
2.2 開發(fā)流程
基于Qt/Embedded的應(yīng)用軟件在Linux內(nèi)核中開發(fā)微信移動(dòng)學(xué)習(xí)平臺(tái),在宿主機(jī)平臺(tái)上使用make menuconfig命令進(jìn)行交叉編譯,配置qt?embedded?arm執(zhí)行微信平臺(tái)的嵌入式學(xué)習(xí)算法寫入,在配置選項(xiàng)中,安裝qt?x11用于生成qvfb,建立x86開發(fā)環(huán)境配置qt?embedded?x86,使用惟一的ID0來識(shí)別移動(dòng)學(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就會(huì)響應(yīng)鍵盤操作,通過I2C從ZLG7290讀取按下的鍵值執(zhí)行移動(dòng)學(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)行微信識(shí)別,啟動(dòng)信號(hào)(Start Condition)接收數(shù)據(jù)的器件在接收到8位數(shù)據(jù)后,會(huì)向發(fā)送數(shù)據(jù)的器件發(fā)出一個(gè)低電平脈沖,進(jìn)行ZLG7290控制的編譯和安裝,實(shí)現(xiàn)基于微信移動(dòng)學(xué)習(xí)平臺(tái)的開發(fā)和設(shè)計(jì)。 綜上分析,基于微信平臺(tái)進(jìn)行移動(dòng)學(xué)習(xí)平臺(tái)的開發(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)閉。 基于微信的移動(dòng)學(xué)習(xí)平臺(tái)的軟件實(shí)現(xiàn)流程如圖1所示。 3 仿真測(cè)試 移動(dòng)學(xué)習(xí)用戶分布服從均值為1 000的均勻分布,在微信終端學(xué)習(xí)請(qǐng)求過程服從(0.02 10)的指數(shù)分布,隨機(jī)生成270個(gè)移動(dòng)用戶學(xué)習(xí)樣本點(diǎn),以學(xué)習(xí)效率為測(cè)試指標(biāo),圖2為不同方法進(jìn)行移動(dòng)學(xué)習(xí)的效率對(duì)比結(jié)果,圖3給出了不同方法的誤差收斂值對(duì)比結(jié)果。從圖2得知,隨著微信用戶節(jié)點(diǎn)數(shù)的增多,本文方法學(xué)習(xí)效率增大,當(dāng)用戶節(jié)點(diǎn)數(shù)達(dá)到80時(shí),學(xué)習(xí)效率達(dá)到100%,即最大學(xué)習(xí)效率,在線移動(dòng)學(xué)習(xí)的效率優(yōu)于傳統(tǒng)方法。由圖3的仿真結(jié)果得知,本文方法進(jìn)行學(xué)習(xí)的誤差較低,收斂性較好,說明系統(tǒng)的魯棒性較高。 4 結(jié) 語(yǔ) 為了提高移動(dòng)學(xué)習(xí)的效率和可靠性,利用微信平臺(tái)的信息廣交互性進(jìn)行移動(dòng)學(xué)習(xí)平臺(tái)構(gòu)建,提出基于微信的移動(dòng)學(xué)習(xí)平臺(tái)開發(fā)設(shè)計(jì)方案,首先進(jìn)行移動(dòng)學(xué)習(xí)的資源調(diào)度模型設(shè)計(jì),基于Qt/Embedded的應(yīng)用軟件在Linux內(nèi)核中開發(fā)微信移動(dòng)學(xué)習(xí)平臺(tái),實(shí)現(xiàn)平臺(tái)的軟件開發(fā)設(shè)計(jì),測(cè)試結(jié)果表明,采用該平臺(tái)進(jìn)行移動(dòng)學(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].自動(dòng)化學(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ù)測(cè)方法[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] 譚鵬許,陳越,蘭巨龍,等.用于云存儲(chǔ)的安全容錯(cuò)編碼[J].通信學(xué)報(bào),2014,35(3):109?114. [10] 魏理豪,王甜,陳飛,等.基于層次分析法的信息系統(tǒng)實(shí)用化評(píng)價(jià)研究[J].科技通報(bào),2014,30(2):142?148.