异构数据源集成系统查询优化

2012-04-19 01:20
科技传播 2012年16期
关键词:数据源异构视图

张 杰

国防信息学院,湖北武汉 430013

伴随着计算机网络的不断普及和World Wide Web的出现,导致若干Web异构数据源形成,异构数据源集成为这些自然分布的异构数据源提供了完整的模式和较为一致的接口,可以消除异构、实现数据源的透明分布。对于系统查询而言,网络信息量的大幅增加与网络延迟二者之间形成了强烈的反差及矛盾,导致网络拥挤不堪,使得网络用户难以获得应有或理想的服务效果。异构源数据源集成系统中,由于不同数据源具备着不同的查询功能及不同效率,使得系统往往需要进行大量的数据处理工作,因此必须对系统的查询功能进行优化。

为使其延迟性得到系统改善,优化过程中必须以缩减系统处理用户请求的时间为前提基础。对于计算机网络中存在的各种不同存储结构的数据,所有异构数据源集成系统均可以实现集成,因此对于HTML、XML文件等半结构化数据源,DBMS等可处理结构化数据源和文本文件等非结构化数据源等都能处理[1]。异构数据集成系统需要处理大量的数据,且各数据之间的结构大不相同,严重影响了查询速度,因此必须采取优化措施改善查询效率。本文结合实际,谈谈利用缓存技术和预取技术对查询进行优化的思路。

1 缓存技术

通常情况下将程序中响应消息的本地存储区以及控制传输信息存储、删除或获取的子系统,也即是指临时文件交换区[2],将其定义为缓存。利用缓存保存可以对消息进行缓存响应,能够降低网络的带宽消耗和将来的响应时间,对于请求消息也同样适用。

异构数据源集成系统具有很高的数据查询能力,能够实现对大量HTML、XML以及文本文件等进行处理,通常情况下,该类数据文件的查询速度较慢,所所有的查询均从局部数据源进行检索,其速度必然很慢。异构数据源集成系统利用缓存技术提高数据查询速度,它有效的实现所有用户对全局视图查询结构的缓存存放,同时对新结果不断更新,以此来替代数据源中的旧有的结果,从而有效提高缓存中数据的检索命中率。在缓存中,保存查询所需的全局视图名和选择条件,如果用户的查询与这些条件符合,可以由缓存直接读取查询结果。如用户所需的查询结果未存在于缓存中,然后再将查询内容进行分解,并将分解后的结果送至各数据源,以此来获取整个数据查询结果。通常缓存中可以命中的查询结果越多其查询速度也就越快,这与缓存采用的替换算法有很大关系。在选择缓存的的替换算法时,可以进行如下考虑:

1)局部视图变化后,对缓存中旧的内容进行修改;2)当数据源中的数据不断更新时,比较适合采用LRU替换算法;3)由于不同数据源的数据具有不同的访问,由此看来传统的LRU算法亟待改进,根据不同数据其访问品读的不同,将Cache块划分成不同的区域,同时将所有数据源均单独分配一个独立区域,同时该区域内容只允许请求结果进行替代。

通过缓存技术的应用,有效改善了系统性能,然而任何事物都有其两面性,缓存技术也一样,当缓存中所对应的存储局部视图出现了一定变化时,就会产生缓存中的数据结果与局部数据源数据结果不一致的现象,必须进行刷新。针对这一情况,根据不同的应用需求,异构数据源集成系统采取按需刷新和定期刷新的方式进行数据源的刷新。定期(根据数据源信息更新的时间确定)对局部视图检查,看其是否有所变化,同时根据其变化来对缓存内容作出相应的修改,对于一些需要快速响应的查询处理,可从缓存种中直接进行数据的读取。当然缓存内容一般会对局部视图在两次刷新前改变的情况不能进行很好的反映。如果是一些对精准度要求极高的查询需求,定期的刷新显然已无法满足用户的需求了。异构数据源集成系统则可以弥补其不足,通过按需刷新的方式,若出现新用户查询请求时,首先对缓存中视图变化进行检查,若缓存视图中未出现变化情况,可直接提出缓存中的相应数据结果,如果缓存中查不到所需结果,则对查询进行分解,在各个数据源中查询更新后的数据,同时修改缓存的内容。

2 预取技术

缓存技术具有统一模式的机制特点,预取技术弥补了它的这一不足,在提高互联网信息检索速度上受到越来越多的重视,在备受关注的Web检索系统中有着十分广泛的应用[3]。其技术理论依据为:首先使用者在向服务器发出两次HTTP请求间存在一定的使用者空闲和思考时间,其长度一般为几秒到几分钟不等。若想将此段时间充分利用,即将使用的文件提前进行取回,并将其存放于缓存中,以此来减少相应等待的时间。也即是将用户即将访问的数据,在用户的请求发出之前,先放置于缓存中,当用户对其数据发出相应的请求信息后,由于该数据已经提前存放于缓存中,便可有效减少用户等待的时间,从而将数据访问等待的时间降到最小[4]。

这种理论应用到异构数据源集成系统也同样适用。

异构数据源集成系统中有多种多样的用户需求,查询模式也各不相同,且请求具有随机性。同时,也不可避免的存在这种情况:有些用户经常进行相同的查询,他们只希望浏览结果而不想执行查询;有些服务固定或相对固定。针对这种用户的需求特点,通过服务器自动提供所需信息给那些需求相对固定的用户,我们将其定义为服务器领取,其本质也即是服务定制。一般情况下异构数据源集成系统服务器会通过手工定制的方法来实现其数据访问,预取过程中用户不想在访问中花费太多的等待时间,可提前填写申请定制服务表,对其服务内容起始时间以及访问周期、所需服务的时间等内容的详细填写。当用户提出浏览请求时,不需要及时做出处理,只需将服务器端处理好的结果及时进行显示即可[5]。

异构数据源集成系统引入预取技术提高了查询的效率,同时针对不同用户的不同访问模式,借助服务器预取服务以及客户预取服务科有效提高其使用的效率。

3 不同策略的综合运用

图1 系统结构图

异构数据源集成系统整体数据由基于机群的数据分布进行预处理,通过缓存、预取、基于用户需求等策略,能够提高系统的应答效率。结合缓存、预取和基于机群的数据分布三种查询优化策略,同时从用户请求以及数据信息等方面来提高系统运行的效率,进而提高系统对不同用户不同请求方式和海量数据的查询效率[6]。对系统的整体优化结构见图1所示。

总而言之,异构数据集成系统可以对各种数据进行集成,并具有强大的数据处理量,进行查询优化是必须处理的工作。

[1]张亚栋.分布式异构数据源集成研究[D].河北工业大学硕士学位论文,2005.

[2]麻亮. 信息集成系统中查询结果合成研究[D].西安电子科技大学硕士学位论文,2008.

[3]唐九阳,杨强,张维明,等. 异构集成系统中面向查询规划的数据源能力描述框架[J],2006,27(8):1509-1513.

[4]何颖,王于同.异构数据源集成系统的查询重写技术研究[J].杭州电子科技大学学报,2005,25(2):65-68.

[5]尚蕾,孙志挥.基于X ML的异构数据集成系统的查询处理[J].计算机工程,2005,31(5):79-82.

[6]马伟.一种基于XML的异构数据源集成系统的研究[D].西安电子科技大学硕士学位论文,2008.

猜你喜欢
数据源异构视图
试论同课异构之“同”与“异”
Web 大数据系统数据源选择*
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于不同网络数据源的期刊评价研究
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究