新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式移动数据库与Agent技术原理及设计

嵌入式移动数据库与Agent技术原理及设计

作者:时间:2010-03-15来源:网络收藏

概述:随着网络的迅速发展和不断渗透,在任何地点和任何时候都能接入网络获取各种信息,必将成为21世纪人类的普通要求;同时,通信的进步和人们对数据处理需求的不断提高,与各种智能通信设备紧密结合的已经得到了学术界、工业界、军事领域、民用部门等各方面的高度重视。移动计算和移动技术将使得这种需求得以实现。

本文引用地址:http://www.eepw.com.cn/article/152028.htm

移动环境中所具有的移动性、频繁的断接收、低带宽、电池电量有限性等特性,决定了移动中的计算环境不同于分布式数据库,给移动数据库的研究提出了许多新的挑战。本文分析移动数据库的特点、体系结构;介绍移动数据库系统中的一些关键性技术,及移动在移动数据库中的应用。

移动数据库是移动计算环境中的分布式数据库,由于移动数据库的应用大都嵌入到诸如掌上电脑、PDA、车载设备等移动通信设备中,故移动数据库有时也称为移动数据库。在数据库系统的研究历史中,传统的分布计算与分布数据库的研究是基于有线网络和固定主机的。这些都采用了一些默认的隐含假设,例如固定网络连接、对等通信代价、主机节点固定不变等。但进入20世纪90年代以来,随着移动通信技术和网络技术迅速发展,加之移动计算机和移动通信设备的大量普及,许多计算节点可以在移动过程中与网络建立连接,使得上述假设条件不成立。移动计算环境具有移动性、低带宽、频繁断接性、网络通信的非对称性、电源电力的有限性等特点,使得传统分布式数据库中的方法和技术不断直接应用于移动数据库。目前,移动数据库的应用与研究正在成为学术界的一个研究热点,有大批学者投入到这一新的研究领域。

1 移动数据库的体系结构

在传统的分布式计算系统中,各个计算节点之前是通过固定网络连接并保持网络的技术连接性的,而移动计算系统改变了这种假设条件。移动计算系统是固定节点和移动节点构成的分丰计算系统。移动计算的网络环境具有鲜明的特点:移动性、断接性、带宽多样性、可伸缩性、弱可靠性、网络通信的非对称性、电源能力的局限性等。移动环境中的分布式数据库就是移动数据库。它是传统分布式数据库系统的扩展,可以看作客户与固定服务器节点动态连接的分布式系统。移动数据库系统的结构如图1所示。

其中,移动客户机MC(Mobile Client)包括便携式电脑、PDA等;MSS(Mobile Support Station)支持移动计算的固定节点,具有无线通信接口;FH(Fixed Host)没有无线通信接口,安装有数据库和数据库管理系统。

2 嵌入式移动数据库的关键技术

为了实现移动数据库,必须解决移动计算环境中断接性、移动性、网络通信的不对称性等因素对移动数据库系统的影响。

(1)数据复制与缓存技术

该技术是解决移动数据库数接性的关键技术,在现有DBMS基础上进行修补以适应移动计算也采用该技术。传统的复制/缓存技术都是假设客户机和服务器之间是经常保持连接的,并基于这个前提来维护一致性。这在移动计算中是不适用的。目前,针对移动计算特点开展数据复制/缓存技术的研究最具代表性的是:J.Gray的两级复制机制、CODA系统以及缓存失效报告广播技术等。另外,SYBASE公司的移动数据库产品SQL ANYWHERE和SQL REMOTE也采用该技术来支持移动计算环境。

(2)数据广播

通俗地讲,数据广播是指在移动计算环境中,利用客户机与服务器通信的不对称性,以周期性广播的形式向客户机发送数据。其最大的优点是,广播开销不依赖移动用户数量的变化而变化,借助数据广播,可以在一定程度上解决移动数据库系统的断接问题。数据广播的研究可分为服务器和客户机两个方面:服务器主要考虑如何利用本地缓存进一步减少查询广播数据的时间。在国内,长沙国际科技大学的周兴铭院士对数据广播进行了深入研究,提出了数据广播的多盘调度算法。衡量数据广播调度算法好坏的参数是访问时间和调谐时间。

(3)位置相关查询优化

在移动数据库中,存在着与位置相关信息的查询及更新。查询通常是与位置相关的,即使是同一个问题,在不同的地方,所得查询结果是不同的,如“最近的医院在哪里?”。移动查询优化技术是指在传统分布式数据库查询优化技术的基础上,利用多种方法,消除带宽多样性、断接等因素造成的影响,使查询引擎能够根据当前可用网络条件采取恰当的优化策略;同时,针对移动计算机有限电源能力,合理地组织本地数据库管理、远程数据库访问等耗电能较多的操作,达到节能目的,延长关键数据的可用时间。

采用基于分割的地址更新策略时,由位置服务器维护的移动用户对象包含以下数据成员和方法:

分割集合――记录MSS的分割情况,例如{Cell1,Cell2},{Cell3,Cell4,Cell5};

LOC――记录移动用户最近报告的地址(无线单元的ID),例如Cell1;

ERR――移动用户当前所在的分割,例如,若LOC=Cell1,则ERR={Cell1,Cell2};

loc()――一个方法,用于返回该用户的实际地址,即上面介绍的地址查询过程。

在移动查询的应用中,有各种各样涉及地址的查询,例如“请寻找一名校园附近的医生”,“查找X,Y,Z,这三人都在同一条公路上,且Y在X与Z之间”,等等。一般地,可以把这一类地址相关查询表示为:

SELECT x1,x2,…,xn

FROM Users

WHERE(x1,loc=11∧…∧xn.loc=1n)∧C(11,…,1n)∧W(x1,…,xn)

其中C(11,…,1n)是关于地址11,…,1n的n元约束条件,而W(x1,…,xn)是关于对象x1,x2,…,xn非地址属性的n元约束条件,Users是所有移动用户的集合。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭