王龙
摘 要:随着信息技术的飞速发展,传统的课堂签到模式已不再适用。二维条码不仅具有快速识读、数据容量大、纠错能力强和可靠性高等优点,还可进行中文编码,更适合表示汉字,已逐渐被使用作为新的课堂签到方式。本文基于分布型数据库的思想设计了二维码的手机签到系统,该系统通过任务控制和系统控制的方式支持整个系统的有效运行,为设计出高效、低碳环保的课堂签到系统提供了有力的保障。
关键词:二维码;课堂签到;任务控制;系统控制;环保
中图分类号:TP274 文献标识码:A
Abstract:With the rapid development of information technology,the traditional classroom sign-in model is no longer applicable.QR Code not only has the advantages of rapid reading,large data capacity,strong error correction ability and high reliability,but also can be used for Chinese coding,more suitable for the representation of Chinese characters,which has been gradually used as a new way of classroom sign-in.Based on the idea of distributed database,this paper designs a mobile QR Code sign-in system,which supports the effective operation of the whole system through task control and system control,and provides a powerful guarantee for the design of an efficient,low-carbon and environment-friendly classroom sign-in system.
Keywords:QR Code;classroom sign-in;task control;system control;environment-friendly
1 引言(Introduction)
人們日常生活中说的条形码大多都是指一维条码,一维条码是二维条码出现的基础,它的诞生使民众的生活更方便,生产效率更高。然而一维条码的容量有限,只能用来识别物品,却不能对物品进行描述,因此,一维码已经不能满足生产生活的需求。
随着计算机自动识别技术和信息技术的发展,二维码于20世纪80年代出现,由于其优越的特性,使之得到迅速的发展和广泛的应用。学者对二维码的加密技术进行研究,通过光学加密等方式对二维码进行加密[1-3],以便更好地保护个人信息和财产安全。将二维码设计成动态的形式进行课堂和会议签到,不仅便于教师后续的查询统计工作,也有效避免了静态二维码容易作弊的问题[4]。
手机签到系统包括课堂管理、用户权限管理和二维码生成等,是一种高效、便捷、环保的签到方式。因此,以网络为基础,创建课前签到系统成为发展的必然趋势[5]。本文基于二维码设计并实现了一种绿色环保又高效的课堂签到管理系统。
2 条码技术探析(Analysis of barcode technology)
2.1 一维条码和二维码的技术对比
二维码是为了补足一维条码的不足而诞生的,一维条码是由一排宽度不等、排列不一的矩形条纹组成,它们可以代表字母、标点符号和数字。条码技术将计算机技术、通讯、光电技术融合到一起,是自动化识别领域的重要手段。而一维条码只能标识物品,不能传递图像和汉字信息,因此很多领域都无法使用。二维条码的出现轻松解决了这个问题,而且它的容量大,对计算机的依赖更少。信息化技术一直在不断发展,故二维码技术也需要继续发展,以便在有限的空间内表达更多的信息、容纳更多的数据,使物品信息尽可能多的被描述[6]。
二维码可以在有限的空间内表达比一维条码更多的数据信息,深浅不一的几何图形相间在一起按一定的规律进行排布,使用比特流符号“0”“1”表示浅色和深色,将比特流符号进行排列组合就能表达出相关的图像和文字信息。通过扫描二维码可将这些排布过的比特流信息识别出来,在横向和纵向两个维度同时进行信息表达。
二维码具有可靠性高、安全性能高、存储容量大等优点,因此二维码可以对物品进行描述,而一维条码只能对物品进行标识[7],一维码与二维码的性能比较如表1所示。
从表格中可看出,二维条码比一维条码表现出了更多的优点:其一,二维条码在有限的空间编辑存储更多的数据,将屏幕上的二维空间充分利用起来,将数据存储密度提高了几倍。其二,二维码较之一维码有很强的纠错能力,即使二维码部分损毁也能被识别。
2.2 二维条码的种类
不同的领域需要不同形式的二维条码,即行排式二维码、矩阵式二维码和邮政码[8,9]:
(1)行排式二维条码
这是一种在识别和读取都和一维条码类似的二维条码,在识别上和一维条码兼容。与一维条码的区别是多行排列。
(2)矩阵式二维条码
这是融合了图像识别技术和编码技术的新型图像自动生成识别术,采用深浅不一的点阵在固定的矩形空间中进行排列,组合方式不同就代表着不同的信息。
(3)邮政码
邮政码也属于二维条码的一种,通过长度不同的条形排列组合编码,邮政码主要用于邮件的编码,例如BPO 4-State、Post net等。
2.3 QR码概述与特征
QR Code(Quick Response Code)属于矩阵式二维条码,通过深浅不一的块状结构排列组合进行编码,由比特流符号“0”“1”组成。QR码不仅可以快速准确的被识别,也可以描述汉字信息,图2为QR码的实例。
QR码的主要特征:
(1)快速识别
二维的英文为Quick Response Code,顾名思义可以快速识别,也是QR码的主要特征,使用识读设备可以快速识别QR码的信息。比如,使用同样的识别设备对PDF417码进行识读,每秒钟只能读出三个;而识别Data Martix码,每秒也只能识别两个或三个;对于QR码,每秒可识别三十个。
(2)描述汉字
QR码有特定的汉字编码模式,其他的二维条码大多没有这个特征,这也是QR码在我国得到广泛使用的原因。QR码表达一个汉字仅需13 bit,而没有汉字编码模式需要16 bit,由此看来,QR码的汉字表达能力更强。它的其他特征如表2所示。
2.4 QR码的结构
QR码是一种矩阵图像,由“点”和“空”排列组合而成,它们分别由二进制中的“1”和“0”表示,还有专门表示汉字信息和图像信息的编码,完整的QR码由编码区域和功能图形区域构成[10]。
编码区由数据纠错、格式信息和版本信息组成,具体的值由纠错级别、版本号和输入信息决定。功能图形区域由校正信息、定位图形、位置探测图像分隔符、位置探测区组成。不同数据和版本的QR码的大小和形状是一样的,是为了识读QR码时提供准确的位置信息。
2.5 QR码编码
QR码编码是利用相关的技术对原始数据进行处理后生成二维码的过程。二维码编码流程主要由选择编码模式、对数据进行编码、编码纠错、矩阵模块排列、处理掩模和格式分析组成。图3为编码的流程图。
QR码通常有四种数据模式:数字、字母数字、8位字节和中国汉字。在这几种数据模式中,不同的数据模式可生成不同的二进制位流。在编码时需要改变数据模式时,要加入新的数据模式开始符和终止符,然后将生成的二进制位流每八位一个码的格式进行编码,位流数不足的可以按要求进行填充。不同的编码模式有其对应的编码规则和字符计算长度、指示符。
为了保证当二维码部分损坏时,能保留数据信息并被识别出来,最后需要加上纠错编码。根据纠错级别的不同,恢复码字容量也不同,纠错级别L、M、Q和H的恢复容量分别为7%、15%、25%和30%。
矩阵形式的模块排列方式:QR码是由矩阵模块排列而成,具体是分隔符、数据码字、定位图形、校正区和位置探测图形。位流有很多的排列方式,一个字码也可以看成单独的二进制位流,排列时可从高到低、从左至右,或从上至下进行排列,在末尾改变走向。图4为有规律的位流模块排列方式。
为了保证QR码的可靠性,需要进行掩模处理,总共处理八次,挑出结果最好的一个。掩模处理只用于编码区域,不能用于功能图形区,用掩模图形对编码区域(版本和格式信息除外)进行XOR操作。
2.6 QR码解码
QR码解码是编码的逆向过程,包含了QR码识读和译码两个过程。QR识读时比较重要的是图像预处理,图像预处理的质量直接影响着解码结果。图像预处理由四个步骤组成:图像灰度化、中值滤波、图像校正和二值化。QR码识读流程图如图5所示。
译码过程包括深浅模块的识别、确认版本、确认格式、消除掩模、纠错过程和数据译码,流程如图6所示。
3 课堂签到系统的分析与设计(Analysis and design of classroom sign-in system)
QR碼签到是利用二维码编码技术将学生的信息生成二维码,通过网络将二维码发送到学生的手机或其他终端设备,签到时利用二维码的识别技术,对学生的二维码进行扫描识别来进行课堂签到。
3.1 系统设计
系统共由三部分组成,即系统管理、权限管理和二维码管理。
系统管理分为学生管理和报表统计管理,学生管理包含了上课时间、地点和课程名称等;报表统计管理是最后对课堂签到进行统计。
权限管理系统是教师的相关权限,在上课之前先初始化管理员的用户名和密码,进入登录界面,登录后进入主界面,可以建立新的子账号、修改密码和编辑账号等操作。
二维码管理系统是整个系统的核心部分,运用到二维码的编码和译码技术,进行二维码的生成和识别。基于二维码的手机签到系统可以对课堂签到系统进行有效的签到和统计,将学生的个人信息生成的二维码进行扫码签到。系统结构如图7所示。
(1)数据层包含了学生的个人信息,这些信息存储在数据库或文本文件中,用这些数据来生成签到二维码。
(2)二维码管理层是主要进行二维码的生成和识别,是核心部分。将数据层的个人信息生成二维码;学生到场进行扫码签到并同步到服务器中。
(3)服务器层也是存储层,存储整个系统的数据,要求有一定的容量、稳定和安全。
(4)数据管理层主要是方便老师进行系统的管理,方便进行签到数据的统计、查阅和存储。
3.2 统计工作
课程结束后教师可对到课学生人数进行统计,查看实到人数和名单,该课程应到人数和名单。可形成报表,并支持打印功能。
3.3 学生个人信息管理
为了管理签到的有效性,很有必要将学生个人信息导入或后期导出设计到系统中。课程信息和学生信息确定后,提前将学生的姓名和手机号等信息生成二维码导入系统;课程结束后,将学生签到情况导出备份,以便期末作为成绩考核的依据。
3.4 系统数据库设计
系统数据库涉及课程的名称、时间、地点、教师信息、学生个人信息。发送给学生的二维码根据课程的不同,所生成的二维码也不同。可根据二维码查询到课程的具体信息。不同课程需要不同的教师来进行签到管理,除了课程ID外,还要相关教师提供个人信息,用于学生签到出现问题或者有请假这类的情况出现时能及时联系到教师。
4 课堂签到系统的实现(The realization of the classroom sign-in system)
系统的实现主要有两点,一是给相关学生发送签到二维码信息;二是学生进行课前签到时,扫描识别二维码中的信息。这涉及二维码的编码和解码,本设计使用Java程序进行编码。
4.1 QR码编码
构造二维码信息:签到时二维码所包含的信息有姓名、身份证号、手机号和课程的名称。在生成二维码之前,要先将数据信息构造出来,生成QR码的方法为GetQRcode(),包含了学生的姓名、电话号码和课程名称,这些参数构造成字符串QRCodeinfostr。用于解码的方法为EncoderQRcode(),这个方法由组成二维码的字符串和生成二维码的途径组成。
QR码图像生成:将代表学生信息的字符串构造好后,调用具体编码程序。首先,预设纠错等级、编码模式的确定、版本信息和格式信息的确定;其次,新建画板,将画板的颜色、大小等信息选好;最后,调用QRcode Encoder Handler中的calQrcode()来计算码字。该步骤完成后,进行数组Code Out确认,true或是false,如果是true则为深色,反之则为浅色。将所有的点进行确认,“真”的点即生成黑色或深色,“假”则生成浅色或白色,最后生成二维码图像。
4.2 QR码解码
QR码解码是系统设计的关键技术之一,扫描设备对二维码进行扫描,进而识别出其中的信息,并将信息发送到服务器,服务器反馈数据完成签到。本文主要通过zxing项目来实现解码,流程为识读二维码图像、转换为二进制符号、译码,最后输出结果。通过扫描二维码进行签到后,在手机签到系统里显示出该学生签到的具体时间、学生姓名和具体课程信息。
4.3 权限管理
教师作为管理员登录系统后,进入设置页面,可以添加管理员,比如班长、学习委员或是其他导师。有的教师课时比较多,可以让其他管理员来做签到的统计工作。
4.4 系统的测试
为了确保系统的正确性和可靠性,需要对不同的模块进行审查,在代码完成后对系统进行测试必不可少。
(1)代码逻辑测试,代码的质量决定了模块运行的持续性。因此,在编写代码时,必须严格按照测试的要求进行编写,测试输出是否符合预期的要求。
(2)功能性测试,为了测试模块之间的衔接是否紧密,各个功能之间的组合是否符合最初系统设计的要求,有一些细微的功能上的差别是否会影响到系统的运行,本系统虽然还是存在一些细小的误差,但是不会影响整个系统的运行。
(3)压力测试,当多个管理员登录系统进行操作时,测试服务器是否能承载。经过以上测试发现本系统存在一些不足和缺点,一边测试一边进行修改,力争使本系统符合要求。
5 结论(Conclusion)
本文对一维条码和二维条码的特点和应用进行了对比分析,着重研究了二维码的基本原理和应用优势。结合二维码在签到系统研发领域的优势和广阔的应用前景,以二维码手机签到系统为出发点,对手机签到系统的需求、功能和数据库等进行了分析,完成了二维码课堂签到系统的设计和测试,为课堂签到提供了更高效、环保的签到方式。
参考文献(References)
[1] P.A.Cheremkhin,V.V.Krasnov,V.G.Rodin,et al.QR code optical encryption using spatially incoherent illumination[J].Laser Physics Letters,2017,14(2):026-202.
[2] P.Y.Li,Y.H.Chen.High payload secret hiding technology for QR codes[J].EURASIP Journal on Image and Video Processing,2017,14(1):2-8.
[3] Z.Fu,Y.Cheng,B.Yu.Rich QR code with three-layer information using visual secret sharing scheme[J].Multimedia Tools and Applications,2019:1-15.
[4] 尚澤宇.动态二维码签到系统设计与实现研究[J].福建电脑,2018,3:152-153.
[5] 曹记东,斌涛.二维码加密的手机签到系统设计[J].无线互联科技,2016,5:44-45.
[6] S.H.Unger.Patte detection and recognition[J].Proceeding of the IRE,1959,47(10):1740-1750.
[7] 朱诗兵.信息论与编码理论[M].北京:科学出版社,2005:30-90.
[8] T.Polidis,J.Swartz,Fundamentals of bar code information theory[J].IEEE computer magazine,1990,23(4):77-86.
[9] 彼德鲁,赖剑煌,译.数字图像处理疑难解析[M].北京:机械工业出版社,2005:20-30.
[10] 齐金月.二维条码的生产与识别研究[D].哈尔滨工程大学图书馆,2004:17-23.
作者简介:
王 龙(1988-),男,硕士,讲师.研究领域:软件工程应用.