您好!  欢迎来到广东省物联网协会!    
设为首页  |         加入收藏夹  |       一码中特100      
当前位置:首页-一码中特100-正文
基于NFC手机的RFID中间件设计
   点击:3263
    射频识别(RFID)中间件位于RFID阅读器与上层服务器应用层之间,具有屏蔽底层设备、标签数据清洗、数据交互等功能。目前,国内外许多企业以及机构也都致力于RFID 中间件的研究,如:IBM、Microsoft、清华同方等都有自己的RFID 中间件产品。 这些产品大多部署在服务器端,如果短时间内产生了海量RFID 数据,大量原始数据都将集中在服务器端,对中间件的数据处理能力是很大的考验。同时,海量数据的传输会占用网络带宽,如果网络出现故障,有可能会造成数据的丢失。随着大数据时代的到来,传统RFID 中间件的瓶颈逐渐暴露,直接影响系统的整体性能。因此,在面对海量RFID原始数据的情况下,如何减小服务器端处理压力,降低系统对网络的依赖性成为RFID 中间件急需解决的问题。本文就一种基于 NFC手机的RFID中间件进行研究与实现,将RFID 中间件技术与移动互联网相结合,弥补了传统RFID 中间件的不足之处,并且符合当前发展趋势。

一码中特100 www.29dz3.cn   1 中间件设计方案

  1.1 系统架构

  根据RFID 中间件功能需求以及移动设备资源有限等特点,提出了如图1 所示的系统架构。

  

图1 系统总体架构图

 

  图1 系统总体架构图

  1)设备管理??橹饕?4 个部分,NFC读卡部分负责调用手机自带 NFC??榻卸寥”昵┬畔?外接阅读器管理部分兼容外接阅读器驱动,并通过蓝牙、WiFi、3G网络等与之进行数据交互;工作日志管理部分主要对手机及中间件的工作日志进行管理;手机状态查询部分能够实时地对手机电量、剩余存储空间、信号等状态进行查询。

  2)数据处理??橹饕? 个部分,协议校验部分负责对RFID 标签数据根据标识位进行初步校验,去除残缺的或者非本系统数据;标签缓存部分采用BlockingQueue 队列作为缓存将初步校验后的数据存储;冗余数据处理部分采用自适应的临近排序算法(Sorted Neighborhood Method,SNM)去除冗余数据;数据校验部分采用 CRC16 算法对标签数据中的校验源数据进行校验,以此验证标签数据是否被篡改过;数据分类部分根据约定的数据规则将数据进行分类。

  3)数据库??椴捎?SQLite 嵌入式数据库存储处理好的数据。

  4)数据交互??椴捎肣uartz框架结合Socket编程实现中间件与服务器之间的数据交互。

  5)任务管理??楦涸鸾衿鞫朔⑺屠吹拿钗募谢捍嬗牍芾?。

  1.2 系统设计重点

  1.2.1 设备管理???/p>

  该??橹饕杂布璞傅墓芾碛爰嗫?,集成NFC以及外接读卡器驱动,并且能够对系统工作日志以及手机状态进行查询。

  系统主要采用 NFC??槎訰FID 卡片进行读写,集成多种NFC标准,可自动判别卡片类型,相关代码如下所示:

  mTechLists =new String[][]{new String[]{MifareClassic.class.getName()},

  new String[]{MifareUltralight.class.getName()},

  new String[]{NdefFormatable.class.getName()},

  new String[]{Ndef.class.getName()},

  new String[]{IsoDep.class.getName()},

  new String[]{NfcV.class.getName()},

  new String[]{NfcF.class.getName()},

  new String[]{NfcB.class.getName()},

  new String[]{NfcA.class.getName()}};

  为了使系统有良好的可扩展性,中间件兼容多种读卡器驱动,通过蓝牙、WiFi、3G 网络等与外接读卡器进行数据传输。

  此外,提供良好的接口,可对中间件工作日志以及手机电量、信号强度、剩余存储空间等信息进行实时查询与管理。

  1.2.2 数据处理???/p>

  1)数据缓存、校验及冗余数据处理。

  系统采用BlockingQueue 队列作为缓存来存储短时间内接收的大量数据。 将接收的卡片数据进行初步校验,去除残缺或者非本系统数据。

  表1 为标签数据格式,其中UID 为每个标签唯一标识,校验数据中前7 位是用于生成校验码的原始数据,第8 位为本系统标签标识,且对每个标签的前7位校验数据采用 CRC16 算法生成校验码,与标签UID 一起由服务器通过JSON 文件写入到手机端数据库中。 当读取到标签数据后,中间件首先根据校验源数据中第8 位标识符来判断该卡片是否为本系统所属,然后采用相同的 CRC16 算法对前7 位校验数据生成校验码,并根据标签 UID 与数据库中的校验码相比较,以此来判断标签数据是否被改写。 8 位校验源数据在校验完成后需去掉,只将有用数据存储。

  表1 RFID 标签数据格式

  

表1 RFID 标签数据格式

 

  数据冗余是RFID 系统不可避免的问题,如果数据不清洗,大量有用、无用的数据会占用网络带宽,增加系统处理负担;如果将接收的数据逐一与数据库中的数据进行比对,虽然准确率高,但是面对大量的RFID数据时会降低系统效率,因此,针对移动端有限的资源以及对数据处理效率的综合考虑,本系统采用SNM 算法来处理冗余数据。

  数据清洗流程如图2 所示。

  

图2 数据清洗流程图

 

  图2 数据清洗流程图

  2)数据分类。

   将通过清洗的数据根据事先约定好的数据规则进行分类,比如事先规定卡片中第 Ni ~Nj 位为数据标识位,则将数据存储到 SQLite 数据库相应表格中。

 
会员服务条款 | 协会地图 | QQ:2278462013 | 粤ICP备 11102855 号

Copyright ? 广东省物联网协会 版权所有  邮编:510640  邮箱: [email protected]
联系地址:广州市天河区广园快速路551号广之旅大厦首层(总部)
广州科学城兴普紫园国际607(秘书处)    
联系电话:020-29131502 马小姐、邹小姐
          020-29131501 郑小姐        
  
  • 第十三届全国人民代表大会常务委员会委员长简历 2018-11-04
  • 男神变逗比,情侣约会中发生的尴尬趣事,如何巧妙化解? 2018-11-04
  • 国际货币基金组织称土库曼斯坦缩减开支或让货币贬值 2018-08-13
  • 广州市第十五届人大常委会第十四次会议第二次全体会议 2018-08-13
  • 十二届全国人大常委会第五次会议 2018-08-12
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2018-08-11
  • 【加拿大房产网加拿大新房加拿大房产信息网】 2018-08-11
  • 四川一干部染赌一夜输16万再难抽身,为全县最年轻女乡长 2018-08-10
  • 强生“因爱而生”活动 2018-08-09
  • 曾感动过无数人母亲节,陪妈妈一起看场电影吧 2018-08-09
  • 政务新媒体启动“关停整合” 2018-08-08
  • 溃疡恶变也会腹痛 这些肿瘤最容易被误诊 2018-08-08
  • <这里是重庆>首播 带你游山玩水 通晓重庆趣闻 2018-08-07
  • 中方不得不强力回击相关新闻 2018-08-07
  • 习近平在视察北部战区海军时强调贯彻转型建设要求 锻造海上精兵劲旅 2018-08-06
  • 677| 811| 255| 371| 865| 135| 843| 441| 347| 186|