论文部分内容阅读
发布/订阅系统使得用户能够对事件(发布消息)保持长期、即时的关注(订阅请求)。随着越来越多的消息使用XML格式进行发布,高效地实现XML发布/订阅系统能够满足诸如新闻订阅、竞价拍卖等众多实际应用的需求。由于关系数据库所具有的强大的数据存储能力和查询处理功能,如何利用关系数据库来实现XML发布/订阅系统已经成为研究的热点。CoDB是由北京大学数据库实验室开发研制的通用数据库管理系统。在CoDB之上高效地支持XML,发布数据的有序订阅是CoDB关系数据库系统迫切需要解决的问题。
针对目前XML发布/订阅系统缺少支持XML发布数据的有序订阅功能的问题,本文设计实现了CoDB中的XML发布/订阅系统,克服了使用关系数据进行有序匹配的难点,全面高效地支持XML数据的有序订阅。本文的贡献如下:
1.本文设计并实现了针对XML文档的基于范围(range-based)的关系存储策略。基于范围的关系存储策略不仅能够反映XML文档的树结构特征,而且完整地记录了各个文档节点之间的顺序关系。基于范围的关系存储在对XML发布数据进行关系化表示时完全保留了顺序信息。
2.本文设计并实现了基于XPath路径表达式的XPath订阅规则的结构信息和值信息的分离存储策略。通过对XPath的结构信息的压缩以及XPath公共组成结构的共享,显著地提升了XML发布数据的有序订阅的性能。
3.本文提出了基于层次(level-based)的XML发布数据的有序订阅算法。本文全面支持XML发布数据的有序订阅--即支持XPath订阅规则的各种轴(Axis)以及以[n]形式出现的XPath顺序判断谓词。
4.本文在CoDB关系数据库之上实现了XML发布/订阅系统,将处理发布/订阅匹配逻辑的主要实现算法通过存储过程和触发器植入CoDB关系数据库,实现了XML发布/订阅系统与CoDB的无缝结合。
本文设计实现了关系数据库CoDB中的XML发布/订阅系统,全面、高效地支持XML发布数据的有序订阅,并结合实验说明本文方法的有效性。