论文部分内容阅读
多媒体查询语言为多媒体数据库提供了统一的查询接口,是多媒体数据库的重要基础部件。而已有的多媒体查询语言均针对某一具体应用或特定媒体类型,难以应用到多媒体数据库中。因而,设计一种查询能力强、语法简洁有效且扩充性良好的通用多媒体查询语言,并研究其查询的有效内部处理方法,具有重要意义。围绕多媒体查询语言的设计以及查询的内部处理优化,主要开展了六方面的研究工作:通用多媒体查询语言的设计、等价内部查询代数的设计、查询语言的编译和查询计划的生成、查询计划的优化、查询计划的执行以及原型系统的设计实现。通过分析多媒体查询的需求以及理想多媒体查询语言应具有的查询能力,总结归纳出16条评价准则。在此基础上,基于半结构化数据组织模型,设计出一种能支持常见多媒体查询类型的通用多媒体查询语言UMQL。通过扩展SQL,UMQL在其WHERE子句中引入了结构条件式、特征条件式和时空条件式,以支持结构、特征和时空等多媒体查询。然后,根据前面的16条评价准则,分析比较UMQL和已有多媒体查询语言的特点,结果表明:相比于其它多媒体查询语言,UMQL拥有更好的查询表述能力,能很好地支持结构、特征和时空等查询,且拥有简洁有效的语法形式。运用扩展巴克斯范式和逻辑代数,定义了UMQL完整的语法规则和语义规则,并据此设计UMQL语法分析器,实现对UMQL查询的语法合法性检查。为了内部表示UMQL查询以方便查询的处理优化,设计了一种与UMQL等价但更适合内部处理的查询代数UMQA。定义了UMQA算子,包括:连接、结构扩展、结构选择、常规选择、特征选择、时空选择等,这些算子使得UMQA拥有与UMQL等价的查询表达能力,并且方便查询的内部处理。定义了UMQA算子间的运算规则,即UMQA等价变换规则。基于这些等价规则的查询变换,能确保UMQA查询计划的语义正确性,是查询优化的重要基础。此外,还给出了UMQA查询计划生成算法,它能为任意UMQL查询生成等价UMQA查询计划。为优化UMQA查询计划以获得更好的执行性能,需要研究查询优化方法,主要研究了UMQA选择操作的放置方法。通过综合考虑UMQA代数操作的选择率和单位代价,给出了选择操作的最佳放置方法,据此,给出UMQA查询优化的一般性策略。设计了UMQA查询优化算法,它应用等价代数变换规则实现对UMQA查询计划的等价变换,使优化后的查询计划尽可能遵循一般性优化策略。该算法具有多项式时间复杂度,并且理论证明和实验分析均表明:该算法能为选择操作确定最佳放置,因而能有效地改善UMQA查询计划的执行性能。为了解释执行UMQA查询计划以获取多媒体目标数据,需要研究UMQA算子的高效实现方法。主要研究了传统方法无法解决的结构扩展、二元特征选择和二元时空选择的高效实现方法。提出了一套数据库对象前缀编码索引方案,根据该方案设计了结构扩展的直接实现算法和基于编码索引的实现算法,并从理论上分析比较了两者的执行代价。结果表明:基于编码索引的结构扩展算法拥有更好的效率。使用图相关理论阐明二元选择操作的求解本质,据此设计了二元选择操作的直接实现算法以及其改进算法,并从理论上分析比较了两者的执行代价。结果表明:二元选择操作的改进算法拥有更好的效率。最后,通过实验再次验证了这些UMQA代数操作的实现算法均切实可行。设计和实现了一个多媒体查询语言原型系统,它主要由语法分析器、查询优化器和查询执行器等功能部件组成,且本文涉及到的所有查询处理技术均已在该系统中实现,从而为多媒体查询语言及其查询处理研究提供了统一的实验平台。