(2)在数据移植前将重复的数据过滤掉。

(3)为企业内部和企业外部访问数据库提供Web Services

接口。

其中,数据过滤过程是在处理临时存放的XML文件的过程中完成的。方法是:将同一个卡号的多条记录按照读入的时间戳进行比较,若相邻记录的时间戳差值小于用户定义的阈值,则认为重复读取发生,剔出后1条记录。依次类推,剔出掉所有冗余数据。利用Web Services技术将对数据库的访问以服务的形式发布,供企业内部应用程序和企业合作伙伴调用[2]。以数据过滤为例,其核心代码如下:

for(int i=1;i《rowcount;i++)

{span=EndTime.Subtract(StartTime);

spantiIDe=sPan.Seconds; //相邻记录的时间戳之差

if(spantime《=0.002)

{subtime[i]=i;}

//若相邻时间戳差值小于2 ms,

//标记第2条记录为冗余数据

else subtime[i]=0;}

for(int j=1;j《rowcount;j++) //删除冗余记录

{if(subtime[j].ToString()!=“0”)

{ds.Tables[0].Rows[j].Delete();j=j-1;

rowcount=rowcount11;}

}

以下是服务接口层向应用系统发送SOAP响应,返回处理结果的部分代码[7]。

《report xmlns=“”》

《process procInsID=“503” givenID=“231” givenName=“

ShipOut”》

《event eventType=“report_tag_event”》

《header》Product Quantity Match Success

《/header》

《status》success《/status》

《tagList》

《tag ID=“00110011”detectTime=“2008-11-01 T13:13:

00.110+08:00”/》

《/tagList》

3 RFID中间件的实现及测试

RIFD中间件系统开发工具采用Eclipse3.2,应用服务器软件采用JBOSS4.0, Web容器为Tomcat5.5。此外,服务器端采用了基于Struts的MVC多层次结构框架,数据服务层则采用MySQL5.0数据库。