移动计算环境下语义缓存及查询处理研究
移动计算环境中,由于通信带宽窄、网络断接频繁、移动终端资源有限等缺陷,造成了移动用户数据存取的瓶颈,使得移动计算环境下客户查询请求处理面临一定的挑战。在客户端进行数据缓存,减少移动节点对数据库服务器的访问正是解决此瓶颈的关键。传统的缓存技术主要包括页面缓存和元组缓存两种方式。其中页面缓存采用静态的时间和空间属性,对数据库的物理结构很敏感,当数据库中的数据空间聚集度较差时,将会加剧消耗有限的网络带宽,占用大量的移动设备存储空间;元组缓存会造成通讯开销昂贵、并行处理困难、不支持网络断接时的数据处理和一致性维护效率低等问题。因此,对于网络连接不稳定、网络资源十分有限、网络通讯代价昂贵的移动计算环境,采用传统缓存技术显然是不合适的。这就迫切需要一种新的缓存技术来支持移动客户机在网络弱连接或断接情况下的数据访问。语义缓存是基于客户查询语义相关建立的一种客户缓存,内容是由以往查询的结果以及相应的语义描述构成。由于移动客户进行的数据访问大多具有良好的语义相关性,采用语义缓存,客户端可以利用本地缓存的以往查询的语义信息进行推理判断,从而确定客户查询是否可在本地缓存获得全部或部分结果,尽可能地利用本地缓存处理查询。建立在语义缓存基础之上的查询处理就可以减少对数据库的访问及降低网络数据传输量,从而提高查询响应速度以及降低网络开销。因此语义缓存能很好地满足移动计算环境下的查询处理要求。目前,许多专家学者对语义缓存展开了相关研究,研究的内容主要包括语义缓存模型、语义缓存查询处理、语义缓存替换、语义缓存一致性维护、语义缓存查询裁剪优化等。本文针对当前语义缓存的研究热点问题,主要在语义缓存查询处理、语义缓存查询裁剪优化方面作了相关研究:在语义缓存查询处理研究方面,本文在引出了查询可导出的形式化定义,详细探讨了查询与缓存的各种匹配关系以及在各种匹配关系下的判定条件、探测查询和剩余查询,并在此基础上提出了基于单表的语义缓存查询处理策略。主要工作有:1)针对原有的修补查询处理涉及抽象复杂的概念且实现困难,提出了改进的修补查询处理(Amending Query Processing)策略。在查询包含于缓存却不能从缓存中导出时,修补查询以补充缓存所缺失的属性,使得查询能够从缓存中导出,增加了缓存的命中率和利用率;2)提出了无效查询处理(Invalid Query Processing),针对用户有时会提交无效查询(如无效属性、无效关系表、无效条件等),无效查询处理可以使无效查询在初始阶段丢弃而不作进一步操作,从而提高了查询处理的效率;3)对查询计划树(Query Plan Tree)结点的存储结构进行了改进,使得查询计划树的每个结点由原先的5个属性减少为3个属性,降低了创建查询计划树的空间消耗;4)设计了一个语义缓存查询处理实验模型,对单个缓存片和多个缓存片查询处理分别进行了实验模拟,实验结果证明了本文提出的语义缓存查询处理策略以及所涉及算法的正确性和有效性。在语义缓存查询裁减优化研究方面,语义缓存具有实用性的关键在于查询裁剪的快速执行和裁剪结果简单,如果查询裁剪过程消耗时间太多或者裁剪出的探测查询和剩余查询复杂度太高,均会影响查询处理的执行效率,语义缓存的实用性也将会大大降低。本文针对查询裁剪的时空消耗及裁剪结果的复杂度进行了相关改进,提出了基于逻辑规则的查询裁剪优化策略。主要工作有:1)深入分析了语义缓存查询处理优化的必要性以及优化的理论基础;2)分析了对逻辑公式运算进行化简的可能性,提出了新的12条优化规则,同时对谓词的可满足性进行判断以及优化处理,从而大大减少查询裁剪的中间逻辑式子的规模,使得裁剪得到的探测查询和剩余查询尽量简单;3)设计了合取式优化算法、探测查询优化算法和剩余查询优化算法;4)对优化策略进行了实验模拟,将优化和不优化的查询裁剪机制在裁剪的时间消耗、空间消耗、裁剪所得的探测查询、剩余查询的复杂度、缓存空间需求量五个性能指标进行对比,实验结果很好地说明了本文提出的优化策略的有效性。
移动计算;移动数据库;语义缓存;查询处理;查询裁剪优化
广西师范大学
硕士
计算机软件与理论
张超英
2010
中文
TP391.1
2014-05-29(万方平台首次上网日期,不代表论文的发表时间)