基于微信的移动学习平台开发与设计

2017-04-14 19:34冯永胜许楠
现代电子技术 2017年7期
关键词:嵌入式软件移动学习微信

冯永胜 +许楠

摘 要: 针对移动学习的空间跨度大,实时性不好的问题,利用微信平台的信息广交互性,提出一种基于微信的移动学习平台开发设计方案。设计移动学习的资源调度模型,然后在嵌入式Linux内核下将移动学习资源调度模型移植到微信平台中,进行基于微信的移动学习平台嵌入式软件开发设计。仿真实验结果表明,采用该平台进行移动学习的效率得到明显提升。

关键词: 微信; 移动学习; 嵌入式软件; 资源调度

中图分类号: TN926?34; TP391 文献标识码: 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 引 言

移动学习需要强大的网络资源作为支撑,通过通用的移动学习终端APP实现在线视频、音频和学习资源的传输,以移动学习方式进行在线教育有效提高了学习效率,节省了时间开销和资源开销,在未来的学习方式改进中具有重要意义。微信作为当前很流行的移动APP终端,基于微信进行移动学习平台开发具有普遍性意义[1]。

研究基于微信的移动学习平台开发与设计方法,首先需要构建学习资源的调度模型,并在嵌入式系统中进行软件设计,构建移动学习的学习控件、数据库结构、学习框架和工具[2?3]。移动学习的空间跨度大,采用常规的学习平台开发方法需要占用大规模的网络空间,时间开销较大,移动学习的实时性不好。对此,文献[4]采用一种基于Co?training训练模式的移动学习平台构建方法,通过对移动学习资源的属性归类和特征降维,降低了资源开销,提高了学习平台的运行效率,但随着在线移动学习规模的增大,无法实现交叉性移动学习[5]。

针对上述问题,本文以微信平台为基础构建一种改进的移动学习平台,进行平台的软件开发设计,最后进行系统仿真分析,展示了本文设计的微信移动学习平台的可靠性,在提高学习效率方面具有较好的意义。

1 学习资源调度模型的设计

1.1 移动学习资源的信息检索及特征分析

为了实现对移动学习平台的开发,需要首先进行资源调度,在大数据环境下基于M?Learning学习网络进行资源调度[6],假设在移动学习平台中资源数据库的状态空间为:

[S=k,n,0≤k≤K,0≤n≤N] (1)

当[n=N]时,M?Learning学习网络通过输出数据库资源信息的特征集合进行数据包处理,当[n=1,2,…,N-1]时,移动学习资源数据库资源信息的特征集合为:

[P={p1,p2,…,pm}, m∈N] (2)

采用语义特征匹配方法进行信息检索,假设[S={s1,s2,…,sm}]为移动网络用户对学习资源的兴趣偏好,计算移动网络用户行为的非空有限论域:

[w′i=t′si-tsΔw, w″i=t′ei-tsΔw] (3)

在进行信息资源检索中,微信平台处于空闲状态[(k,N)]表示CPU正在进行数据包处理,设定M?Learning嵌入式任务调度的时间序列集合,用[V=v1,v2,…,vn]表示微信平台进行学习任务调度的特征子向量,对多个微信平台级联的移动用户APP终端采用数据信息融合方法对资源流进行数据融合[7],得到信息融合后的资源流为:

[flowk={n1,n2,…,nq}, q∈N] (4)

式中:[q]表示语义特征配准阈值;[nq]表示传输数据序列;[N]表示学习资源的聚类属性总数。

1.2 学习资源调度

在M?Learning學习平台中,采用[pi]表示[x(t)]出现在移动用户进行语义检索区域的资源分配概率,采用优先级列表分配方法进行资源负载均衡控制,每当进程[k]就绪时,首先估计语义特征信息配准的Burst time(BTk),得到移动学习资源检索的时间片TQ(Time Quantum),由于时间片TQ是动态分布的,在进行移动学习的微信平台构建中,通过设计进程管理模型得到移动资源信息流时间序列模型为:

[Xpu=sc(t)ej2πf0t=1TrecttTej2π(f0t+Kt2)2] (5)

式中:[sc(t)]表示移动学习的云资源在训练集中属于[bi]类的信息融合矢量;[ej2πf0t]表示用M?Learning学习的自相关变量。

基于自相关匹配滤波,得到移动学习资源调度均衡的标准值[SCMh]分别表示为:

[CMh=j=1NMh×qjrη(u)+μ(u)N] (6)

[SCMh=i=1M(Mh-CMh)2+σjkwjk] (7)

式中:[qj]为等待队列中请求学习资源分配的本体匹配度;[μ(u)]为所有资源分配节点间的实例属性集。

在结构匹配阶段,对移动学习资源信息流进行相似度衡量,得到输出的特征空间匹配向量为:

[x=i=1NsiΨi=Ψs,Ψ=[Ψ1,Ψ2,…,ΨN]] (8)

式中:[si]为相同位置节点相似值;[Ψs]为初始概率分布,[Ψs={πi,i=1,2,…,N}]表示本体结构特征。由此得到M?Learning学习的优先级调度的约束条件:

[?LELM?β=0→β=i=1NαihT(xi)=HTα] (9)

[d∞p,q=i=1mpi-qiz1z, z>0] (10)

[dp,q=N-sN] (11)

本体结构特征与第[i]个训练样本存在对应的约束条件,其贴合度定义为:

[MMCM(c1,c2)=k=1n(x1k∧x2k)k=1n(x1k∨x2k)∈[0,1]] (12)

式中符号[∧,∨]分别表示图结构的匹配算子。

计算每个移动学习资源调度的适应度值,采用相似父/子概念确定学习资源调度的上下限,得到节点集到节点标记集的特征映射为:

[r.dom=cici∈C∧ci?r] (13)

[r.dom=cjcj∈C∧?c?rcj] (14)

M?Learnin学习资源本体的估计结果为:

[minQ 12QΩ-PΩ2F+μQ*] (15)

基于整体语义对应的自相关匹配原理,计算学习资源本体匹配(Ontology Matching)的自相关特征函数[8],得到资源分配的聚类累积量:

[cum(λ1x1,λ2x2,…,λkxk)=i=1kλicum(x1,x2,…,xk)] (16)

通过子图抽取信息流的[k]阶累积量为[ckx(τ1,τ2,…,τk-1)],在本体层次结构中得到输出的数据融合向量为:

[X=x(n),x(n+τ1),…,x(n+τk-1)] (17)

对于待匹配本体[A,B,]其有向图表示为[G(A),][G(B),]求得综合相似度,得到学习资源调度的传递函数为:

[h(A,B)=1NAi∈Axai-xb?(i),yai-yb?(i)] (18)

式中[NA]为移动学习用户[A]的属性相似度。

2 系统的实现

2.1 嵌入式设计

进行移动学习平台的开发设计,需要采用交叉编译方法构建移动学习网络结构模型,对移动学习资源调度算法进行编程设计,程序加载,采用嵌入式内核设计方法进行移动学习平台应用程序开发,采用数据加载模块动态驱动微信平台进行人机交互,基于微信平台的嵌入式Linux移动学习系统分为4个层次[9?10],分别如下:

(1) 通过户主目录C5409 Device Simulator引导加载程序进行移动学习和集成控制,在微信平台中识别用户行为特征,同时给用户提供一个简单、统一的系统调用接口,采用VME总线传输进行时钟初始化操作,移动学习平台设计包括程序驱动模块、自动配置模块。建立Linux的根文件系统执行移动学习的总线控制和D/A转换。

(2) Linux内核把移动网络用户行为加入到系统环境变量中,进行在线学习和数据记录。执行Linux内核的init进程,进行移动学习资源的优化配置。

(3) 文件管理系统(File System)。文件管理系统是实现对移动学习资源的优先控制和学习队列的自动排序,构建TinyOS的通信机制,运行如下代码执行信息传输:

Export Active Message//

PATH=$PATH:/Kernel_interface Mount /compilation/LoUNIX class 920t?eabi/bi

TinyOS用汇编和C语言编写,由此生成根文件系统,在嵌入式微信平台中执行交叉编译。

(4) 用户应用程序(Application)。用户应用程序模块实现微信平台和移动学习用户之间的交叉访问,通过多个组件(component)连接内核执行程序配置、编译,检测用户的等级,对块设备进行读/写操作。

2.2 开发流程

基于Qt/Embedded的应用软件在Linux内核中开发微信移动学习平台,在宿主机平台上使用make menuconfig命令进行交叉编译,配置qt?embedded?arm执行微信平台的嵌入式学习算法写入,在配置选项中,安装qt?x11用于生成qvfb,建立x86开发环境配置qt?embedded?x86,使用惟一的ID0来识别移动学习网络用户,Qt/Embedded for x86开发环境建立内容如下:

Generates Settings ???>

Qt/Embedded source install?qt?x11.sh???>

[/mnt/nfs] downloaded //模式选择及参数设置

Applets links(Qt Virtual Fram Buffer) ???>

(/home/ SDICmdSta /nfs) qt?embedded?SDIDatSta prefix

//SDICON寄存

Root file Data loading module Tuning ???>

//设置SDICmdSta寄存器的特殊标志

[/mnt/nfs] WeChat platform. /Provide Boot loader environment

//微信Qtopia应用环境

[root@hjembed qt_bin] Generate bin, SBIN folder commands

[root@hjembed qt_bin] deprecated:aliased

//设置SDICON寄存器

[root@hjembed qt_bin] SDIPRE Embedded access

//设置SDIPRE寄存器

[root@hjembed qt_bin] Script sSDICmdArg file

Shells ???>

??? Ash SDIBSize register //设置块模式、总线宽度

[root@hjembed qt_bin]Check DatFinTag File System

//DatFin标志已设置

[root@hjembed qt_bin]Lash(arm?angstrom?linux)

//lib清除SDICmdSta寄存器中的相应标志位

在进行了ZLG7290初始化操作之后,ZLG7290就会响应键盘操作,通过I2C从ZLG7290读取按下的键值执行移动学习:

for(i=0;i

{*s=RcvByte();

Ack_I2C(0);

S++;}

配置完成后,地址01H,复位值00H,新建目录filesystem,DIDTimer寄存器,实现寄存器的位操作,设置timeout周期,保存ZLG7290系统状态并在SDIDatCon寄存器中设置块模式进行微信识别,启动信号(Start Condition)接收数据的器件在接收到8位数据后,会向发送数据的器件发出一个低电平脉冲,进行ZLG7290控制的编译和安装,实现基于微信移动学习平台的开发和设计。

综上分析,基于微信平台进行移动学习平台的开发的操作通过以下3个函数实现:

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()负责设置GPIO为输出方式并且设置PWM相关寄存器,控制S3C2440内部A/D转换的打开和关闭。

基于微信的移动学习平台的软件实现流程如图1所示。

3 仿真测试

移动学习用户分布服从均值为1 000的均匀分布,在微信终端学习请求过程服从(0.02 10)的指数分布,随机生成270个移动用户学习样本点,以学习效率为测试指标,图2为不同方法进行移动学习的效率对比结果,图3给出了不同方法的误差收敛值对比结果。从图2得知,随着微信用户节点数的增多,本文方法学习效率增大,当用户节点数达到80时,学习效率达到100%,即最大学习效率,在线移动学习的效率优于传统方法。由图3的仿真结果得知,本文方法进行学习的误差较低,收敛性较好,说明系统的鲁棒性较高。

4 结 语

为了提高移动学习的效率和可靠性,利用微信平台的信息广交互性进行移动学习平台构建,提出基于微信的移动学习平台开发设计方案,首先进行移动学习的资源调度模型设计,基于Qt/Embedded的应用软件在Linux内核中开发微信移动学习平台,实现平台的软件开发设计,测试结果表明,采用该平台进行移动学习的效率得到明显提升,系统的鲁棒性较好。

注:本文通讯作者为许楠。

参考文献

[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算法中基于多规则的数据关联方法[J].自动化学报,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] 张普宁,刘元安,吴帆,等.物联网中适用于内容搜索的实体状态匹配预测方法[J].电子与信息学报,2015,37(12):2815?2820.

[7] 王跃飞,于炯,鲁亮.面向内存云的数据块索引方法[J].计算机应用,2016,36(5):1222?1227.

[8] 崔永君,张永花.基于特征尺度均衡的Linux系统双阈值任务调度算法[J].计算机科学,2015,42(6):181?184.

[9] 谭鹏许,陈越,兰巨龙,等.用于云存储的安全容错编码[J].通信学报,2014,35(3):109?114.

[10] 魏理豪,王甜,陈飞,等.基于层次分析法的信息系统实用化评价研究[J].科技通报,2014,30(2):142?148.

猜你喜欢
嵌入式软件移动学习微信
实时嵌入式软件的测试技术
全景相机遥控器嵌入式软件V1.0 相关操作分析
智能手机在大学生移动学习中的应用研究
基于云计算的移动学习平台的设计
基于移动学习的自动问答系统设计
移动学习方式下实验教学资源建设的研究
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制