RFID中间件在Jini中的管理优化:由于Manager与Agent之间是透明的,Manager依靠Jini平台为其分配需要的Agent,而在实际的运行中发现,Manager从Jini中获取的Agent有的时候是处于工作状态,从而使获得的服务无效,这样就造成效率上的损失,因为Manager是在获得服务实例之后才能判断该服务是否可以使用。所以,针对这样的情况,本文进一步进行了优化管理,让Manager在Jini中查找时就能获知Agent的状态,从而改进管理。
3 咖中间件在Jini中的配置与管理
在基于Jini技术的RFID中问件平台中,RFID设备作为服务加入到Jini中.RFID中间件将自动进行配置.设备要工作需要配置好设备代理层(Agent),它是RFID中间件的一部分,负责对RFID阅读器设备的管理。首先,对两种设备代理层(Agent)进行区分:Agentl和Agent0。
(1)AgentI——包含RFID中间件设备代理层的“设备管理服务”集合和一个“配置服务端”,Jini联盟中至少有一个Agentl。
(2)AgentO——代表某台在Jini中还未被配置的RFID中间件,具有一个“配置客户端”。这里Agentl和AgentO都要有Jini环境,“配置服务端”和“配置客户端”在后面将有详细介绍。同上,将配置Agent所需要的服务统称为“设备管理服务”。
在基于Jini技术的RFID中间件平台中,对Agent的配置非常关键,其简单的配置流程如图2所示。
在设备接入后.正常运行的Agentl一旦监听到Jini的查找服务中有RFID设备服务对象进行了注册,它会在Jini的查找服务(LookupService)上根据服务的属性等信息来查询设备服务对象,查找服务(LookupServiee)会将查询后的结果返回.如果Agentl决定使用,查找服务(LookupServiee)会将服务的副本返回给Agentl,Agentl在从中获得服务提供者信息,与服务提供者进行通信,获得RFID设备服务对象,同时定义生成各种设备管理服务的服务对象,并将这些服务对象与RFID设备服务对象绑定,在Jini上注册;而未被配置的Agent0在监听到Jini的查找服务中有RFID设备管理服务对象注册后,会在Jini的查找服务(LookupServiee)上查询相关的服务信息,查找服务
将查询结果返回,如果Agent0认为返回的服务信息符合,决定采用,查询服务会将服务的副本返回给Agent0,从中获得服务提供者(这里是Agentl)信息,与服务提供者通信,获得服务实例,从而完成配置。
4 测试与分析
为了验证RFID设备在Jini平台上的“即插即用”性,本文通过软件模拟RFID阅读器,将虚拟阅读器按照Jini的规范封装成服务,Jini的配置服务端(ContigServer)开启,监听设备服务(VirtualReader)是否加入到Jini中,如图2所示。
图2等待设备加入
设备加入后,对设备进行配置,如图3所示。
图3 配置Agent
设备加入到Jini之后,配置服务端监听到设备加入,会对设备的Agent进行自动配置,通过以上测,可以看到RFID设备在Jini中的即插即用。