校风云培训学校管理系统
您所在的位置:培训学校管理系统 > 学校系统技术文章 >> 上课点名系统关键任务实现

上课点名系统关键任务实现

  2017-05-08   来源:未知 
3.1跨平台网络交互实现
 
由于该系统横跨两大平台Windows桌面平台和Android 移动平台,即使得两者间通过网络的交互和数据的准确传送 就显得尤为重要。首先,需要重点考虑是选用HTTP协议还 是较为底层的TCP/IP协议。就现实方便而言,HTTP协议相 应地要更为占优,对于HTTP消息的解析工具和API均已臻 至完善。但是由于HTTP协议直接针对应用层部分,每一个 数据包中都含带了许多冗余的参数信息,在效率上将略差于 采用底层的TCP协议。而且该系统对实时性要求很高,尤其 是声音文件的传送更需要做到尽量地快捷、快速,虽然在编程 工作量方面TCP比HTTP要显现劣势,但是综合考虑性能,本 研究决定选用较为底层的TCP协议进行编程。
 
其次,是PC端与移动端两大平台间消息格式的设定,其 设定的好坏将直接关系到数据能否实现稳定快速的传送。研 究中,系统采用了自定义TLV (Tag-Length-Value)编码,该方 式以标签头+内容长度+内容的方式进行编码,如此既保证了 数据发送接收的一致性,又提高了整体运行效率。在此,给出 这_信息编码格式如图1所示。
 
 
当TAG=1时,表示内容为JSON格式编码。当TAG = 2 时,表示对应内容为二进制编码(该系统一般为语音文件)。 由于平台和编程语言的不同(PC端为C + +、Android端为 JAVA),在实现方式上又将各有差异。
 
3.2计算繁重任务的多线程实现
 
在训练和测试中,由于数据量大,运行时间长,若单线程 运行会出现“假死”的现象,所以多线程操作也就成了必然。 QT中的多线程采用继承QThread类,通过实现mn函数来构 建完成。多线程运行的同时,还需要并行与主线程消息的通 讯,如主线程需要获知模型训练的进度等。这个时候就可以 采用QT独有的Signal-Slot机制,利用异步性质,使得多线程 的消息传递简单可靠。
 
基于i-vector声纹识别技术的上课点名系统为教师课堂 出勤管理提供了一整套行之有效的解决方案,减轻了教师上 课点名的负担,减少了冒名顶替等不诚信、不公正现象的发生。系统在PC端使用QT5和C ++实现,在移动端使用JAVA 和Android SDK实现,完成了从PC端到移动端完整清晰、连 贯_体的系统;该系统具备简洁实用的特性,训练时既可采用 默认设置一键训练,也可自己调整参数手动训练;点名时既可 采取无管控、无顺序的自由点名,也可采用模拟传统方式的顺 序点名。与此同时,声纹识别的最新技术研究必然对该领域 的创新研究有启发性作用。
 

本文由校风云培训学校管理系统责任编辑,如有转载,请注明来源,感谢您的支持!