APP下载

基于NFC技术的Android签到管理系统的设计与实现

2015-06-24魏小锐谢满游瑞泽

东莞理工学院学报 2015年3期
关键词:服务器端客户端标签

魏小锐 谢满 游瑞泽

(东莞理工学院 计算机学院,广东东莞 523808)

随着社会生活节奏的加快,日常的生活中信息交流的需求越来越大,各类团体活动越来越多,大到各种团体运动会、大型学术会议,小到各种学生社团活动。传统的活动组织,采用手工签到模式,但由于活动参与人数较多,手工签到工作相对麻烦,具体的签到情况也难以科学有效的管理。随着新技术的发展,活动的组织和开展趋向于高效、易于管理和控制的方向发展。传统的签到模式下,参与人员的签到资料汇总和分析,费时费力,且难以将报表实时化,难于及时对活动情况进行分析[1]。基于NFC技术的移动终端签到管理系统可以实现多台终端同时签到、刷卡,数据可自动上传到后台服务器、汇总及分析报表会自动生成,并可通过移动终端进行查询。基于NFC技术的Android签到管理系统应用方便,不需要特殊设备,只需要带有NFC芯片的手机安装客户端通过无线网络连接到指定的服务器即可,方便活动组织者对活动的管理,提高活动管理工作效率。

1 系统关键技术

1.1 Android平台

Android是由谷歌公司推出的手机开发平台,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和无线网络通讯功能。Android操作系统的系统架构采用了分层架构,从高层到低层分别为应用程序程、应用程序框架层、系统运行库层和Linux内核层组成。应用程序层主要是由JAVA语言编写的应用程序,例如日历、地图、浏览器、联系人管理程序等应用程度;应用程序框架层提供API框架,其中包括:视图 (Views)、内容提供器 (Content Providers)、资源管理器 (Resource Manager)、通知管理器(Notification Manager)、活动管理器 (Activity Manager)等服务;系统运行库层主要包含C/C++库,通过Android应用程序框架为开发者提供服务。内核层中主要功能包括:安全性管理、内存管理、进程管理以及驱动程序模型等[2-3]。

Android移动操作系统由于其开放性、丰富的硬件支持、方便开发等特点得到了大量的移动终端厂商和开发人员的的支持,Android手机配置的多样化、丰富易用的软件资源吸引了大量的用户。

1.2 NFC技术

NFC近场通信技术是由非接触式射频识别 (RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。NFC技术支持多种应用,包括移动支付与交易、对等式通信及移动中信息访问等[4-5]。

NFC手机内置NFC芯片,比原先仅作为标签使用的RFID增加了数据双向传送的功能,NFC设备可以用作非接触式智能卡、智能卡的读写器终端以及设备对设备的数据传输链路,通过NFC手机,可以在任何地点、任何时间,通过任何设备,完成以下几个基本类型的应用:付款和购票,电子票证,智能媒体以及交换、传输数据。随着芯片成本的下降,越来越多的智能手机配置了NFC芯片,NFC智能手机的高速普及也带来了NFC行业应用的多元化发展[6-7]。

2 基于NFC技术的移动签到管理系统设计

2.1 移动签到管理系统整体分析

移动签到管理系统主要是利用了智能移动终端的便携性为各种活动的组织方提供一个高效便捷的活动人员签到管理解决方案。该方案主要是提前将活动参与人员的相关信息通过移动终端或PC端注册到系统中,并将注册介质 (比如学生入学时注册的学生卡、带有会议信息的NFC标签等)发放到活动参与人手上,活动组织方可以通过在配置有NFC芯片的移动智能终端上安装签到管理系统客户端,并对活动的信息进行相应的设置,比如活动主题、活动时间、活动地点以及可参与的活动人员等信息,所有数据通过无线网络上传到服务器端进行相应的处理。当活动参与人签到时只需将注册介质与安装有签到管理系统的智能终端进行近距离的接触就可以完成整个签到过程并且系统会自动显示相关注册人的信息。通过基于NFC技术的签到管理系统可实现多台移动终端同时签到,数据自动上传到后台服务器进行相关处理,在后台管理系统中可实现资料汇总及相关报表自动生成,组织方可以通过移动终端对相关活动数据进行实时查询。

系统的整体架构如图1所示,带有NFC芯片的移动设备通过近距离无线通讯技术对签到标签的信息进行读取并格式化为本地数据存储在移动设备的本地数据库中,相关数据标准化后通过HTTP方式上传到服务器端并在服务器端进行相应的处理。数据在服务器端完成处理后同样通过HTTP网络传输到相应的移动终端并进行显示。

图1 系统总体设计框架

2.2 移动签到管理系统关键模块设计

2.2.1 标签与移动设备交互过程

将移动设备靠近NFC标签或IC卡 (包括智能卡),标签和移动设备的NFC芯片将产生短距高频的无线电进行感应,进行近场通信。移动设备的NFC芯片通过程度驱动读取到标签的相关数据,移动签到管理系统客户端将从芯片感应到的数据中提取出来所需的属性及内容进行分析处理。例如在移动设备上的客户端通过读取标签的唯一标识ID(每个标签卡都有一个唯一的固有属性ID用来标识)并与本地数据进行验证,判断该ID是否在该移动设备上有过感应标记,进而判断是否存在相关信息备份和活动记录。根据验证结果将实现移动设备端的信息展示并与服务端完成数据交互。如果移动设备本地没有该标签的相关记录则对该标签进行本地记录并与服务端进行数据同步。标签与移动设备交互过程如图2所示。

2.2.2 移动设备与服务器的数据交互过程

将移动设备感应到的标签信息封装成JSON格式的文本数据,再对服务端的验证接口进行HTTP请求,通过提取标签信息中的ID属性验证是否在服务端数据库中存在相关记录。服务器端接收到请接后经过处理通过HTTP报文方式将数据返回给客户端,通知该标签是否已经注册在本系统中。移动设备客户端根据验证结果进行响应,如果未注册将跳转到特定页面提示用户进行该标签的注册服务。注册的概念是:将标签介质和个人信息进行绑定。绑定的信息将连接服务端的注册接口进行数据上传,进而保存在后台数据库中,完成了标签的验证服务。

图2 标签与移动设备交互流程图

如果服务端中已经存在感应标签的相关信息,则说明该标签已经进行了注册服务,那么将通知客户端对该感应标签进行下一步的签到服务。在签到服务中,需要客户端预先对服务端进行活动的设定,整个设定的过程均通过HTTP请求,客户端的持有者需要用特定账户登录后台系统,每个特定账户将在后台系统中拥有专属的空间用于创建各种自定义活动。例如活动地点、时间、签到用户等信息,这些信息将在服务端进行保存,同时也封装成JSON格式数据返回给客户端进行信息展示。

在签到流程中,将感应的标签ID信息传递到服务端的签到接口中,签到接口将对此ID进行数据分析,判断当前是否处于特定的签到环境中,比如是否处于签到时间范围内,再将相关结果通知给客户端。客户端根据接收的数据进行响应,以弹窗方式告知用户是否签到成功,或是当前是否处于签到环境中。移动设备和服务器间的数据交互过程如图3所示。

2.3 移动签到管理系统关键接口设计

2.3.1 标签与移动设备交互过程相关接口

标签与移动设备之间的接口主要是近场通信中的NFC感应接口和标签的数据传输接口。主要包括NFC感应系统模块Reaction和传输模块Trans。

NFC感应模块Reaction主要是启动移动设备中的NFC模块,进行初始化并进入感应模式。当移动设备处于感应模式就做好了数据的读取准备,如果标签处于感应距离之内立即进行数据读取,完成前期的数据采集工作。

Reaction模块主要有以下接口:

DeviceInit:设备初始化接口,该接口主要用于验证设备对NFC技术的支持情况,并做好相关配置的初始化,比如检测当前设备支持的NFC类型,并获取NFC芯片的相关参数;

ResourceInit:资源初始化接口,该接口用于初始NFC芯片在运行时所需的相关资源,这里包括界面视图资源和芯片配置资源;

FunctionInit:功能初始化接口,该接口主要是运行时的数据处理方法的初始化。

图3 动设备与服务器的数据交互流程图

Trans模块主要有以下接口:

DataTrans:数据传输接口,主要用于NFC芯片和移动设备间在传输过程中的操作方法,主要是对感应数据传输的具体操作;

ServiceClose:服务关闭接口,用于感应过程结束后对各个资源的关闭操作,从而让移动设备处于低耗的状态。

2.3.2 移动设备与服务器的数据交互接口

服务器端作为数据和相关计算服务的核心,保证了整个签到过程的信息完整性和及时性。在移动设备和服务器间的交互过程中主要有这几大模块:账户注册登录模块UserAccount,账户签到模块User-Sign,后台管理模块ServerManage。

UserAccount:注册登录模块主要提供标签和对应持卡人的信息注册和登录服务,使相应标签能够被系统识别。其有如下接口:

UserCheck:标签检测接口,用于检测标签信息是否注册;

UserResponse:反馈接口,针对不同接口服务端将反馈给客户端相应的事件,从而通知客户端进行响应。

UserSign:签到模块定义了签到过程中需要包括的步骤,保证用户的签到过程严谨而准确并能实时记录。主要有以下接口:

SignInit:签到环境的检测接口,定义了一些方法在服务端中分析相关数据检验当前的签到环境,比如检验当前是否有相关活动需要签到,相关签到时间是否在允许范围内;

SignCheck:登录信息检测接口,用于检测某标签是否已经记录过相应的签到信息,从而获取返回结果;

SignResponse:签到的反馈接口,将签到的接口返回给客户端,并根据相应事件提示给用户。

ServerManage:后台管理模块,主要用于管理员和后台系统间的交互,完成签到、活动创建等服务的进行。其有如下接口:

AdminCheck:管理员管理接口,定义了包括检查账户信息等过程的接口,主要用于系统对客户端提交的管理员登陆信息进行验证,从而决定是否拥有后台操作的权限;

ActivityManage:签到活动的管理接口,客户端可以提交创建活动,编辑活动,查看活动签到情况等请求,务端需要对此进行响应,此接口定义了一系列相关方法来实现这些服务。

3 移动签到管理系统用户终端的展示

基于NFC技术的移动签到管理系统提供了移动端管理功能,如图4(a)所示,管理员通过“设定”进入设置界面可以对服务器路径等信息进行设置,通过“后台”可以登录到管理界面,如图4(b)所示,通过列表方式显示系统中的所有签到信息摘要,签到信息摘要中主要显示主题摘要及相应的已签到人数,例如,“NFC培训 (11)”表示该签到主题是NFC培训,已签到人数11人;“计算机学院教学研讨会”表示该主题暂时没有已签到人员。点击签到信息摘要可以查看签到主题的所有信息,包括活动主题、时间、地点以及已签到人员等。在本界面中可以通过右上角的“+”创建新的主题,如图4(c)所示,可以对活动主题、活动开始时间、活动地点以及主题备注信息等资料进行设置,完成签到主题创建后会返回上一主题列表界面。在实际的应用过程中,用户可以根据活动的需要对所持的移动终端进行相应的设置,不同的用户终端可以开启不同的签到主题,当移动客户端开启了某一主题的签到时,界面会显示当前的签到主题以及签到信息,如图4(d)所示,当前的签到主题为:计算机学院教学研讨会,当前的签到人员为:0。基于NFC技术的移动签到管理系统为了使系统更加易用以及可扩展性,移动客户端可开启不同的签到主题,签到时间自动开启结束,实现了在移动端对服务器端的远程设置,不同的移动端可连接不同的服务器端,所有信息上传到统一的服务器端方便管理员管理。

图4 系统展示

4 结语

基于NFC技术的Android签到管理系统充分应用了NFC的技术优点,在Android智能终端上实现了活动签到管理系统客户端,以无线通讯的方式与后台服务器端实现信息交互,实现了后台数据的自动处理,多台移动终端协同管理活动,提高了团体活动的管理效率。分析了在Android移动操作系统上应用程序的开发情况以及NFC技术开发特点,对基于NFC技术的Android签到管理系统的整体架构进行分析,对标签与移动设备交互模块和移动设备与服务器的数据交互模块等关键模块的数据处理流程与相关接口进行设计,并对移动签到管理系统客户端进行展示。

[1]郭雷勇,周志超,李宇,等.RFID技术在会议报到系统中研究与实现[J].微计算机信息,2012,28(1):36-38.

[2]陈璟,陈平华,李文亮.Android内核分析[J].现代计算机:专业版,2009(11):112-114.

[3]丁丽萍.Android操作系统的安全性分析[J].信息网络安全,2012(3):28-31.

[4]杨振兴.NFC技术Card Emulation模式在Android系统中的应用研究[J].软件导刊,2014,13(2):113-115.

[5]陈静,赵云雁,张志鸿.基于NFC技术的智能海报安全实现[J].郑州大学学报:工学版,2013,34(3):98-101.

[6]李峰.基于 NFC技术的移动支付应用探索[J].数字通信,2011(4):26-27.

[7]邱意敏,周力.基于NFC+3G技术的停车收费系统设计[J].安徽工程大学学报,2012,27(3):61-64.

猜你喜欢

服务器端客户端标签
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
无惧标签 Alfa Romeo Giulia 200HP
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
不害怕撕掉标签的人,都活出了真正的漂亮
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
标签化伤害了谁