欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于NFC手机的RFID中间件设计.docx

    • 资源ID:73268171       资源大小:20.10KB        全文页数:12页
    • 资源格式: DOCX        下载积分:13.8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要13.8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于NFC手机的RFID中间件设计.docx

    基于NFC手机的RFID中间件设计射频识别(RFID)中间件位于RFID阅读器与上层服务器应用层之间,具有屏蔽底层设备、标签数据清洗、数据交互等功能。目前,国内外许多企业以及机构也都致力于RFID中间件的研究,如:IBM、Microsoft、清华同方等都有自己的RFID中间件产品。这些产品大多部署在服务器端,如果短时间内产生了海量RFID数据,大量原始数据都将集中在服务器端,对中间件的数据处理能力是很大的考验。同时,海量数据的传输会占用网络带宽,如果网络出现故障,有可能会造成数据的丢失。随着大数据时代的到来,传统RFID中间件的瓶颈逐渐暴露,直接影响系统的整体性能。因此,在面对海量RFID原始数据的情况下,如何减小服务器端处理压力,降低系统对网络的依赖性成为RFID中间件急需解决的问题。本文就一种基于NFC手机的RFID中间件进行研究与实现,将RFID中间件技术与移动互联网相结合,弥补了传统RFID中间件的不足之处,并且符合当前发展趋势。1中间件设计方案1.1系统架构根据RFID中间件功能需求以及移动设备资源有限等特点,提出了如图1所示的系统架构。620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/kggqwnfcpya2021.jpg">图1系统总体架构图1)设备管理模块主要包含4个部分,NFC读卡部分负责调用手机自带NFC模块进行读取标签信息;外接阅读器管理部分兼容外接阅读器驱动,并通过蓝牙、WiFi、3G网络等与之进行数据交互;工作日志管理部分主要对手机及中间件的工作日志进行管理;手机状态查询部分能够实时地对手机电量、剩余存储空间、信号等状态进行查询。2)数据处理模块主要包含5个部分,协议校验部分负责对RFID标签数据根据标识位进行初步校验,去除残缺的或者非本系统数据;标签缓存部分采用BlockingQueue队列作为缓存将初步校验后的数据存储;冗余数据处理部分采用自适应的临近排序算法(SortedNeighborhoodMethod,SNM)去除冗余数据;数据校验部分采用CRC16算法对标签数据中的校验源数据进行校验,以此验证标签数据是否被篡改过;数据分类部分根据约定的数据规则将数据进行分类。3)数据库模块采用SQLite嵌入式数据库存储处理好的数据。4)数据交互模块采用Quartz框架结合Socket编程实现中间件与服务器之间的数据交互。5)任务管理模块负责将服务器端发送来的命令文件进行缓存与管理。1.2系统设计重点1.2.1设备管理模块该模块主要为对硬件设备的管理与监控,集成NFC以及外接读卡器驱动,并且能够对系统工作日志以及手机状态进行查询。系统主要采用NFC模块对RFID卡片进行读写,集成多种NFC标准,可自动判别卡片类型,相关代码如下所示:mTechLists=newStringnewStringMifareClassic.class.getName(),newStringMifareUltralight.class.getName(),newStringNdefFormatable.class.getName(),newStringNdef.class.getName(),newStringIsoDep.class.getName(),newStringNfcV.class.getName(),newStringNfcF.class.getName(),newStringNfcB.class.getName(),newStringNfcA.class.getName();为了使系统有良好的可扩展性,中间件兼容多种读卡器驱动,通过蓝牙、WiFi、3G网络等与外接读卡器进行数据传输。此外,提供良好的接口,可对中间件工作日志以及手机电量、信号强度、剩余存储空间等信息进行实时查询与管理。1.2.2数据处理模块1)数据缓存、校验及冗余数据处理。系统采用BlockingQueue队列作为缓存来存储短时间内接收的大量数据。将接收的卡片数据进行初步校验,去除残缺或者非本系统数据。表1为标签数据格式,其中UID为每个标签唯一标识,校验数据中前7位是用于生成校验码的原始数据,第8位为本系统标签标识,且对每个标签的前7位校验数据采用CRC16算法生成校验码,与标签UID一起由服务器通过JSON文件写入到手机端数据库中。当读取到标签数据后,中间件首先根据校验源数据中第8位标识符来判断该卡片是否为本系统所属,然后采用相同的CRC16算法对前7位校验数据生成校验码,并根据标签UID与数据库中的校验码相比较,以此来判断标签数据是否被改写。8位校验源数据在校验完成后需去掉,只将有用数据存储。表1RFID标签数据格式620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/qb2gi1gazgl2021.jpg">数据冗余是RFID系统不可避免的问题,如果数据不清洗,大量有用、无用的数据会占用网络带宽,增加系统处理负担;如果将接收的数据逐一与数据库中的数据进行比对,虽然准确率高,但是面对大量的RFID数据时会降低系统效率,因此,针对移动端有限的资源以及对数据处理效率的综合考虑,本系统采用SNM算法来处理冗余数据。数据清洗流程如图2所示。620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/tn1oaumyvaa2021.jpg">图2数据清洗流程图2)数据分类。将通过清洗的数据根据事先约定好的数据规则进行分类,比如事先规定卡片中第NiNj位为数据标识位,则将数据存储到SQLite数据库相应表格中。1.2.3数据交互模块该模块负责移动端中间件与服务器之间的数据交互,在保证数据完整性、安全性的前提下,提高传输速度。采用Socket通信,以文件的方式传输命令与数据,模块中采用CRC校验确保文件安全,并且支持文件断点上传、下载。将相关文件在移动端进行存储与备份,即使网络出现故障,中间件也可以正常工作,且不会造成数据丢失。数据交互流程如图3所示。620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/mxtyobau3nw2021.jpg">图3数据交互模块流程图中间件采用Quartz开源框架根据需求设置作业调度,在一定时间自动向服务器发送一次请求,若服务器端有新的命令,则获取该命令,解析并执行,无需人工干预,且参数可由服务器端下发命令进行修改,自动化程度高,可配置性好,服务器端采用多线程处理中间件的请求,进而提高处理效率。表2数据交互模块传输速度测试620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/b5up55lvkns2021.jpg">表2为对数据交互模块传输速度的测试结果,其中测试数据为支持ISO15693标准的RFID标签数据,手机端通过3G网络向服务器端上传RFID标签数据文件,支持文件断点续传,而且当文件传输完成后,还会在本地进行备份,避免文件数据丢失。由于手机端缓存有限,且经过测试,发送的数据包如果过大会导致数据丢失,所以系统数据包大小设置为1kB,且每发送一次数据包,都会加上报头用以标识该手机以及报尾用作CRC校验。当数据量较小时,传输速度受报头、报尾的影响较大,而当数据量增大时,报头、报尾对数据传输速度的影响越来越少。所以,当传输的数据量增大到一定程度时(100000条数据左右),所消耗的时间基本上与数据量大小成正比,此外,数据传输速度受网络因素以及设备读写速度影响较大。1.2.4任务管理模块将命令文件解析后依次执行,如果命令执行成功,则将命令文件移到备份文件夹中;如果由于网络原因造成命令执行失败,则将该命令加入到任务队列,待网络恢复后执行该命令,命令所需数据暂存在本地数据库中。如以下JSON命令所示,status表示命令状态,即服务器端命令是否正常;order_type表示命令类型,比如获取数据、修改参数等;details中表示要进行的详细操作,其中的object表示操作的对象;action表示对该对象执行的操作,比如获取某一类型的数据、获取日志文件、获取设备状态或者是修改请求上传/下载时间间隔等程序参数,使得该中间件可配置性好。620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/zpyuiuhpogc2021.jpg">1.2.5数据存储模块中间件根据服务器端发送来的命令,将相关数据生成JSON文件,发送到服务器端的同时,将JSON格式的数据文件备份到本地存储设备中,防止由于网络问题等原因造成的服务器端接收的数据不完整,只有服务器端收到完整数据,并且发送相关命令给中间件,中间件才能根据命令将相关数据文件删除,以此节省移动设备的存储空间。1.3系统优点1)减轻服务器端负担。RFID原始数据经由多个部署在移动设备上的中间件进行处理,将处理后的有效数据发送到服务器端,这样既减少服务器端的压力,又减少网络传输量,提高了系统运行效率。2)具有数据存储及备份功能,独立性强。移动设备的存储性能越来越强,当网络或者服务器端出现故障时,可将RFID数据存储在移动设备中,有效避免数据丢失。因此在断网的情况下也可以正常工作,解决了以往RFID中间件技术对网络的依赖。3)操作灵活,部署简单。NFC手机集读卡器、中间件于一体,可以根据数据量的大小增减设备数量,也可根据卡片分布对中间件位置做出调整,方便部署,同时也解决了以往RFID系统中读卡器与中间件之间信息安全及传输速率问题。4)系统可配置性高。中间件与服务器端通过传输JSON命令来控制系统进行相关操作或者更改系统参数,比如获取指定数据、改变数据交互时间间隔等。同时,操作人员也可以通过系统界面对中间件参数进行设置,解决了以往中间件自动化低、可配置性差等缺点。5)自动报警机制。系统定期对设备日志及状态信息进行自检,若出现紧急状况,比如设备电量不足、存储空间过满以及卡片信息被篡改等,可以及时地向指定的手机号码发送预警信息,避免造成损失,弥补了以往中间件报警不及时的弊端。2系统实现及运行效果系统采用Java语言基于Eclipse平台编写,数据库为SQLite嵌入式数据库,测试设备为魅族MX3智能手机,其RAM容量为2GB,CPU频率为1638MHz,ROM为32GB,测试用卡片遵循ISO15693标准,采用NFC模块读取卡片内容,部分运行界面如图4所示。620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/vw1rl5tx4e02021.jpg">图4系统运行部分界面当程序运行时,将手机连接电脑,在Eclipse中启动Dalvik调试监控服务器(DalvikDebugMonitorService,DDMS),并通过DDMS自带的Heap来查看系统消耗内存,显示该程序所占内存为22.628M,CPU占用率为6%,由此可见,该系统可在移动设备有限的资源中完美运行。并且经测试,包含1000W条RFID数据的SQLite数据库大小为188M,从所占存储空间来看,该RFID中间件可部署于大部分主流移动设备中,并且可有效处理并存储更多的数据。为了模拟处理大量RFID数据下系统工作状况,编写程序根据RFID数据规则自动生成测试数据,不同数据量的系统性能测试结果如表3所示。表3中间件部分性能测试620)this.style.width=620;"border=0alt=基于NFC手机的RFID中间件设计src="技术2021/2nd2cbehvxt2021.jpg">表3中T表示将原始数据经过清洗并且存入数据库所需时间,R和P分别表示数据清洗的召回率和正确率,R=系统正确识别的重复记录数/数据集中实际包含的重复记录数,P=系统正确识别的重复记录数/系统总共检索到的重复记录数,Size表示保存相应数据量数据库的大小。可以看出,系统能够满足基本的数据处理要求,但数据清洗的召回率、正确率及所耗时间还有待提高,分析其原因主要是滑动窗口的大小以及排序关键字的选择。当窗口太小时,容易漏配,即去除冗余效果不佳,导致召回率不理想;当窗口太大时,会产生许多没必要的比较,时间效果不理想。所以,采用自适应随机窗口在二者间找到一个平衡点。本系统选取的关键字是时间戳,而根据实际应用,新到达的RFID数据更能代表当前状况,所以每次比较都保留最新时间戳数据,这样,使得部分数据之间的时间阈值可能小于预设值,即有的数据被误认为是重复数据,导致了准确率不是很理想。3结束语本文提出了基于NFC手机的RFID中间件,由于NFC手机集读卡器与中间件功能于一体,且有较好的存储能力,即使在网络出现故障时中间件仍然可以运行,同时也使得系统部署更为灵活;数据交互模块采用Quartz框架与Socket编程相结合,自动化程度高;通过JSON命令或者良好的界面对参数进行设置,使得系统具有良好的可配置性;在系统发生异常时还可实时发出报警短信,以便及时处理;充分利用移动互联网的优势,将RFID中间件与移动平台完美结合,解决了传统中间件的诸多不便之处。1

    注意事项

    本文(基于NFC手机的RFID中间件设计.docx)为本站会员(安***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开