标签数据一般都是二进制编码,读取后需要将二进制编码数据转换成unicode数据。标签数据的解析和过滤流程如图2所示。
在标签读取过程中实现标签的二进制位编码到unicode编码的转换,在标签数据处理环节则根据转换获得的标签unicode编码以及过滤条件对标签进行过滤,为信息应用层提供有意义的标签信息。
过滤规则可以通过Web页面进行设置,设置信息存储到过滤规则配置文件中。进行过滤时,过滤器读取配置文件并应用于过滤规则。
3 数据存储与管理的实现
3.1 构建嵌入式数据库
SQLite3是轻型、免费和开源的嵌入式数据库,支持绝大多数标准的SQL92语句,工作速度快,可以满足中间件数据处理的实时要求。因此选用SQLite3数据库在大小和功能方面是一个理想的折中。
SQLite3嵌入式数据库提供了源码,在硬件平台上对源码进行交叉编译即可实现移植。编译后,生成了大小为93 KB的sqlite3可执行文件和大小为991 KB的sqlite3动态链接库libsqlite3.so。
3.2 数据模型在数据库中的实现
嵌入式数据库中以单个库文件形式进行数据存储,数据库文件可以在不同的操作系统平台下使用而无需转换。数据库文件内部采用表数据页和索引数据页两种存储结构进行组织。用户定义的临时表和系统中的临时表(用于排序、分组等操作)以临时数据库文件形式进行管理。
SQLite数据库应用体系结构如图3所示。