APP下载

广域传感器数据库中的缓存技术研究

2015-04-29庄绪路

计算机时代 2015年3期
关键词:数据库

庄绪路

摘 要: 广域传感器数据库是当前国际上备受关注的由多学科高度交叉的新兴热点研究领域。广域传感器数据库具有巨大的应用价值,应用前景十分广阔。基于缓存技术和预取技术,提出了一种缓存技术与预取技术相结合的体系结构。对体系结构中各个模块的功能和实现算法进行了详细阐述,对算法进行了复杂性和实例分析,有效地解决了广域传感器数据库系统中,低频结点数据进入缓存替换出高频结点数据所造成的缓存命中率低和系统资源浪费问题。

关键词: 广域传感器; 数据库; 缓存技术; 预取技术

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2015)03-25-02

Abstract: Wide area sensor database is the current international concerns and the interdisciplinary emerging hot research field, it has very broad application prospect and great application value. Based on combination of the caching with prefetching technology, a system structure is put forward, the function and the algorithm of each module in the system structure is set forth,and the complexity of the algorithm is analysed with the example. The problem of low hit ratio and the waste of system resources in wide area sensor database, that is caused by the high frequency node data be replaced when the low frequency node data get into the cache, is effectively solved.

Key words: wide area sensor; database; cache technology; prefetching technology

0 引言

广域传感器数据库是当前国际上备受关注的、由多学科高度交叉的新兴热点研究领域[1],具有十分广阔的应用前景,在军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和巨大的实用价值,已经引起了世界许多国家军界、工业界和学术界的高度重视,被认为是对21世纪产生巨大影响力的技术之一。

1 现有缓存技术的局限性

广域传感器数据库系统中,数据的存储和访问是以结点的形式来实现的。在一个时间段内用户访问结点数据的频率高低不同,加之系统缓存的容量有限,当系统要缓存一些低频结点数据时,很可能会将某些高频结点数据替换出去。随后用户再次访问这些高频结点时,在缓存中无法找到相应的信息,则需要发送子查询重新收集该结点数据,这样势必导致传感器网络中用于传递查询语句和查询结果消息的数量增加,继而用户访问延迟增加,影响了整个系统的工作效率。为了在缓存中保留那些高频结点数据,必须有效地限制低频结点数据进入缓存,而单纯的缓存技术解决此问题具有很大的局限性[2~3]。

2 缓存技术与预取技术相结合

为了进一步缩短用户查询的响应时间,可以根据服务器中用户的访问历史在网络带宽可以满足的条件下对一些结点数据进行预取[4]。因此,本文提出了一个缓存技术与预取技术相结合的体系结构。结点数据在进入缓存之前必须经过预取模型的判断,把访问频率低于一定值的结点筛选掉,同时保证那些高频结点数据存入缓存中。此方法不仅可以减少用户访问延迟,而且可以提高缓存的命中率,是对缓存技术的有效补充[5~7]。如图1所示。与传统数据库系统中数据文档形式的缓存有所区别,广域传感器数据库系统中缓存的是结点数据。

2.1 查询分析器

查询分析器的主要功能是对用户输入的XPath查询进行分析,确定用户要查询的结点名称。根据XPath查询自身的特点,我们将用户输入的XPath查询Q写成数组形式Q[m],其中m为常数,表示查询Q中字符的个数。查询分析器通过QueryParser扫描分析器对用户输入的XPath查询语句进行分析,得到用户要查询的结点的DNS风格名字,并且用数组形式存放。

查询分析算法中用到的变量说明:

2.3 查询处理器

查询处理器就是将用户输入的XPath查询等价分解为众多子查询,分别采用确定性或是非确定性查询处理方式加以处理,最后将所得的查询结果进行组合,得到用户查询的最终结果。

2.4 缺失结点收集器

当用户要查询的结点数据不在站点服务器中时,系统就根据结点的DNS风格名字找到该结点所在源站点服务器的IP地址,然后向源站点发送子查询收集缺失的结点数据,并把收集到的数据发送到查询处理器中进行查询处理。

2.5 预取模型

在停车位置搜索服务系统中增加预取机制,虽然不减少结点数据的实际传输时间,但由于预取结点数据的传输利用了系统的相对空闲时间,使得结点数据的传输与查询结果返回给用户操作能够并行进行。

预取算法是预取方法的核心。预取算法需要控制两个方面才能得到良好的效果。一方面需要控制对哪些结点进行预取,另一方面需要控制预取的量,不能对网络应用产生较大的影响。根据停车位置搜索服务系统的特点,本文采用基于访问历史的预取方法,根据服务器上所有用户的访问历史对未来的访问进行预测。

在预取代价基础上,可得预取门限函数H=1-其中ρ=λs/b是系统的利用率,γ=αT /αB。

通过分析可知,随着系统负载的增加,预取门限也相应增大,较小量的结点将被预取。从门限函数H的计算公式可以看出,随着系统利用率的增加,门限函数H也变大,将会使较少的结点数据进入缓存,以免对网络性能造成更大的影响。

3 结束语

本文在缓存技术与预取技术结合的基础上,提出了一种缓存技术与预取技术相结合的体系结构,然后对体系结构中各个模块的功能和实现算法进行了详细阐述,最后对算法进行了复杂性和实例分析,有效地解决了广域传感器数据库系统中,低频结点数据进入缓存替换出高频结点数据所造成的缓存命中率低和系统资源浪费问题。

参考文献:

[1] Fran?oise Sailhan, Valerie Issarny.Cooperative Caching in Ad Hoc

Networks. Proceedings of the 4th International Conference on Mobile Data Management[J].London, 2003. Springer-Verlag,2013:13-28

[2] Zhimei Jiang, L. Kleinrock. Web prefetching in a mobile

environment[C]. IEEE Personal Communications,1998.5:25-34

[3] Zhimei J, Kleinrock L. Prefetching links on the WWW.In

Proceedings of the 1997 IEEE International Conference on Communications,Towards the Knowledge Millennium,Montreal [C]. Que, Canada,1997:483-489

[4] Z Jiang,L Kleinrock. An adaptive network prefetch scheme[C].

IEEE Journal on Selected Areas in Communications,1998.16(3):358-368

[5] 金志刚,杨晋生,胡琳.基于网络性能的智能预取技术[J].计算机工程,

2000.26:811-815

[6] 赵政,张钢,杨洁,王松,舒炎泰.Web智能代理的预取技术和缓存技术[J].

天津大学学报,2009.34(5):563-567

[7] 金志刚,张钢,舒炎泰.基于网络性能的智能Web加速技术—缓存与

预取[J].计算机研究与发展,2011.38(8):1001-1004

猜你喜欢

数据库
数据库
数据库
两种新的非确定数据库上的Top-K查询
数据库
数据库
数据库
数据库
数据库
数据库
数据库