基于主动数据库的移动P2P查询处理

时间:2022-09-05 02:21:00

基于主动数据库的移动P2P查询处理

摘要:提出了一个基于主动数据库移动构造及管理系统模型。它采用主动数据库中的事件―条件―活动(ECA)规则来定义的逻辑结构并利用其触发器机制来实施的执行和管理,不仅大大简化了支持即时或连续查询的p2p系统的体系结构而且通过主动数据库的安全机制能确保从自治数据库中获取信息的安全性和有效性。给出了移动P2P系统中节点的体系结构,的结构、管理与生存周期并给出了一个应用实例。

关键词:P2P数据交换系统;查询处理;移动;主动数据库

中图分类号: TP392

文献标识码:A

0引言

低功耗无线电通信技术、嵌入式计算技术、卫星传感器技术及集成电路技术的飞速发展和日益成熟使得移动P2P系统成为可能。移动P2P系统是由移动主机和无线通信网络构成的P2P系统。 它通过直接交换实现对等计算机(称为对等体)间的资源和服务共享,具有自组织性、自适应性与容错性高等特点。其应用所处的环境在结构、内容和负载上都表现出极强的动态特征。随着节点的不断移动,系统的拓扑结构和各节点中所包含的数据内容通常会频繁地变化。这种特征需要一种具有灵活性、主动性、自主性的处理技术与之相配,而移动Agent技术正是具有这种功能特点的理想技术,如当使用移动Agent进行查询处理时可以将发现机制和搜索策略封装在移动中以简化P2P系统的查询处理机制。因此目前大部分关于移动P2P的研究工作都是基于移动的。例如: 文献[1]给出了P2P环境下移动的适宜性和节点组织;文献[2]中作者强调移动不仅可以增进有效性而且可以使分布式的信息检索更加健壮和易于实现;文献[3]介绍了利用移动来实现从各种数据源收集相关信息的复杂查询,文中不仅介绍了如何使用移动,还给出了通过本地处理来减少网络流量的具体方法。

然而,采用移动进行移动P2P查询处理时也会出现一些性能和可扩展性方面的问题。系统中的每个节点需要存放,执行和交换大量的功能类似的面向数据操作的移动,如何对移动实施有效管理成为一个需要解决的问题。基于此,本文提出了一个基于主动数据库(ADBMS)的移动构造及管理系统模型。它采用主动数据库的事件―条件―活动(ECA)规则来定义的逻辑。这样,的(部分)逻辑便可以以一种可说明的,面向数据的方法定义:触发活动的事件可以在规则的事件部分说明,条件部分可以说明活动激活的附加要求,移动的执行和增、删、改等维护操作均借助于主动数据库的相应机制完成,从而大大提高系统的有效性,可扩展性,便携性和安全性。

本文的主要贡献在于提出了基于主动数据库的P2P体系结构,并提出了基于ECA规则的移动的构造方法及其运行管理机制。主要优点在于:

1) 通过主动数据库中的触发器机制定义移动的逻辑并借助于主动数据库的相应机制来管理系统中大量的移动可以大大减少冗余的代码,提高系统的可扩展性,便携性,安全性和优化处理;

2) 由于移动的大部分操作是数据库操作和事件监控, 因此通过主动数据库管理系统的触发器机制可以有效地执行移动的任务;

3) 数据安全性问题可以交由ADBMS来处理。ECA规则的安全机制可以借由ADBMS的安全机制来实现从而可以直接为每个移动指定权限;

4) 通过传输ECA规则而不是应用代码可以有效地实现移动的迁移。 特别是当构成的规则是规则模式的实例时,只需传递规则的模式名和实例化参数即可。

1基于主动数据库的P2P系统体系结构

本节给出基于主动数据库的移动P2P系统的体系结构。它可以有效地支持P2P系统的可扩展性和有效性。P2P系统中每个节点的体系结构如图1所示。

每个节点由主动数据库管理系统ADBMS,P2P管理器(P2P Manager)和P2P应用接口(P2P Application Interface)构成。其中ADBMS用来存储和管理用户数据和构成移动的ECA规则。ADBMS能监控数据库内部和外部世界的各种事件并能根据所支持的权限和优先级评估和激活相应的ECA规则,进而实现移动的功能。同时借由ADBMS的安全机制可以为宿主的ECA规则设置一定的存取权限,从而保护数据库不受假的损害。

P2P管理器用来管理与该对等体相关联的信息,它包括两个功能部件:邻居管理器(Neighbor Manager,NM)和移动管理器(Mobile Agent Manager,MAM)。

NM通过使用通信网络来实现对等体与其邻居节点之间的通信。该模块封装了发现和建立新邻居和废除现有邻居的算法。该算法可以由NM模块内部、其他节点请求、MAM或ADBMS触发。NM的另一个主要任务是从邻居节点收发移动。该任务需与MAM协作完成。

MAM主要负责移动的接收和分派,即负责存储和激活接收到的和向其他节点派出的移动。移动的激活需通过ADBMS激活相应的ECA规则。移动的分派需首先构造合适的包含代码(ECA规则)和状态数据的包,然后通过NM模块协调它们的传输。MAM也负责管理存放在数据库中的元信息。如,MAM负责检验接收到的的合法性并对其ECA规则设置适当的权限。

P2P应用接口负责用户与P2P管理器之间的通信。用户通过它开发P2P应用系统并管理其本地数据。对每个用户请求,P2P应用接口都会产生相应的移动并交由MAM进行管理。

2基于主动数据库的移动查询

本节阐述基于主动规则的移动的结构及其基于主动数据库的组织和管理。其优越性在于:

(1) 移动本身无需设置专门的机制来存储和维护与其自身相关的规则和代码,所有关于规则的处理机制均由主动数据库统一管理和维护,从而大大压缩了移动的代码,有助于其在移动P2P网络中的迁移。

(2) 通过主动数据库可以对移动实施更为有效的管理。比如,可以有效地实现的版本管理;合并搜寻同样信息的规则从而避免系统中大量冗余规则的出现。

(3) 主动数据库可以为移动的执行提供有力保证。规则的执行(优先级,耦合和消耗模型等)完全转移到ADBMS中,ADBMS可以对其进行进一步地优化处理。

2.1移动的结构

P2P系统中的移动查询的执行可分为两个阶段: 1) 寻找并迁移到能够提供所求信息的目标节点上; 2) 从目标节点上获取信息并将其传送回查询端。由此可将构成移动的主动规则分成两组:M_规则组即迁移/配置/管理规则组和R_规则组即信息检索规则组。

M_规则组主要负责移动的迁移,配置和管理。具体来说,它利用对等体的数据库中的信息和存活期间所获得的历史数据实现各种资源搜索策略,进而将移动查询传送到能提供所需数据的节点上。为了完成路由任务,它首先调用NM模块的功能以发现新的邻居节点,然后调用MAM模块将迁移到所选的对等体上。当移动到达存放所需信息的节点时,它还需负责配置信息检索规则组,这包括向目标节点的数据库中插入或激活适当的规则,该功能可以通过调用目标节点的MAM来实现。同时,它还需负责的自我管理。这包括对生命周期的管理(克隆和自我中止),错误处理等等。

R_规则组主要负责实现信息的检索。 即根据查询的定义,在目标节点的数据库中收集信息并将查询结果传回源节点。

每个移动可以形式化地定义为一个4元组。其中:

MAID为的唯一标识;

M_RULE_LIST为由偶对构成的规则序列,它构成移动逻辑的M_规则组。其中RULE_ID标识ECA规则,PRIORITY标识其优先级;

M_DATASET 为与M_RULE_LIST相关的控制数据集,包含初始参数,状态信息和所收集或导出的数据等;

R_RULE_LIST为由偶对构成的规则序列,它构成移动逻辑的R_规则组;

R_DATASET为信息检索规则所使用的信息检索数据集。信息检索数据集包含查询的参数信息;

MAX_HOP_COUNT为移动资源搜索的最大跳数。

由于移动的所有数据结构均建立在主动数据库的基础上,因而数据集中的元素均为存储于DBMS中的数据元素。

由上述移动执行的两个阶段可知,M_规则的执行优先级一定大于R_规则。

每个规则可形式地描述为:

On

(if)

Then

(Else)

即一个规则是一个三元组。即RULE::=(, , )。其语义为一旦特定的特定的事件发生且特定的条件出现,则执行特定的活动。

2.2移动的管理

每个端点的数据库中都存在一张配置表MA_RULES_DEPLOY_TABLE,MAM通过该表实施对的配置管理。其结构为:

MA_RULES_DEPLOY_TABLE(MA_ID, RULE_ID, PRIORITY)

其中MA_ID标识规则所属的移动。RULE_ID是所包含的规则标识。PRIORITY标识该规则在中的执行优先级。ADBMS的规则机制将会监控对该关系的插入,删除和修改并按照优先级触发相应的规则。

当用户向P2P系统提交一个查询请求或一个请求创建一个新时,MAM便创建一个,它将一直存在于系统中直到完成查询任务为止。移动的生命周期如图2所示。

当MAM根据用户的请求创建了的所有规则并通过ADBMS将其存储于规则库中时(事件1)移动便处于就绪状态。

MAM将移动的优先级最高的M_规则插入配置表,当ADBMS监测到MA_RULES_DEPLOY_TABLE表中插入了一条新记录时,便根据其优先级评价其M_规则的条件并触发规则中活动的执行(事件2),此时便处于活动状态。

当的M_规则发现其所在节点没有所求信息时,它便向MAM申请创建一个新的用以迁移到其他节点上,MAM将为其构造相应的规则代码和状态数据包,然后通过调用NM模块协调其传输(事件3),此时处于迁移状态。当一个移动迁移到一个新的节点时,新节点的MAM将负责其所有运行状态的管理。

当的M_规则发现其所在节点存在所求信息时,便通过MAM激活其R_规则(向配置表中插入R_规则记录以便ADBMS触发其规则体的执行)。R_规则开始执行查询和数据收集工作,然后将查询结果发送回查询端(事件4)。此时,处于执行状态。

当执行完其查询任务或其搜索操作达到其最大跳数时,便通过MAM激活其M_规则组中的消亡规则(事件5)。此时处于消亡状态。一个的消亡由消亡规则中的生存期或其他逻辑定义。消亡后其所有规则和数据集都将从数据库和规则库中删除。

3应用实例

假定城市中大部分汽车都有由GPS,导航器,汽车传感器,小型ADBMS,和一个P2P系统构成的驾驶辅助系统。GPS检测汽车的地理位置,导航器模块根据该地理位置信息来标识汽车所在的路段。导航器模块中包含一个电子地图,它将所有道路分成若干段并给每个段赋予一个唯一的标识(SID)。汽车传感器每隔一定的时间间隔便采集一次关于汽车速度,交通密度等要被监控的参数,它们均存储在ADBMS的关系Traffic中:

Traffic(timestamp, SID, speed,dist, engine_on)

其中,timestamp为传感器采集数据的时间;SID标识当前汽车所在的路段;speed和dist为上一次数据采集时间到本次数据采集时间内的平均速度及与其他车辆之间的平均车距;engine_on标识汽车的引擎是否工作。

aDBMS检测下列简单事件:

SEGMENT_CHANGE(new_seg,new_tuple): 当汽车行驶到另一路段时该事件发生,new_seg 为新路段标识(SID),new_tuple为在Traffic中插入的元组。

SPEED_CHANGE( speed_diff, new_tuple):当Traffic中speed的值与上一个采集时间点的速度值之差超过一定的阈值时,该事件发生。速度的差值插入到表speed_diff 中。

DIST_CHANGE(dist_diff,tuple):当Traffic中的平均距离dist的值与上一个采集时间点的距离之差超过一定的阈值时,该事件发生。距离的差值插入到表dist_diff 中。

此外,MAM模块还提供下列操作元语:

NOTIFY_FOR_LEAVE(dest):通知MAM相应的移动将会迁移到满足查询条件dest的节点上。

NOTIFY_FOR_SEND(p1,…,pn,node_id):通知MAM向源节点送回查询结果。

DEPLOY(MA_id, rule_id, priority):用规则rule_id配置MA_id。

当驾驶员需要查询某个路段(如3号)的交通状况时,他便通过P2P_Interface向系统提交一个查询,P2P系统便会产生一个移动以完成下列主要功能:

1) 寻找在3号路段的汽车节点;

2) 查询该节点中Traffic关系以得到所需的交通信息并判断是否出现交通堵塞(如当平均速度改变超过20km时或当平均距离低于4m时便可判定为交通堵塞);

3) 当其中一个节点无法提供所需信息时迁移到其他多个适合的节点收集信息;

4) 将查询结果返回给提出查询的节点(源节点)。

由此,这个需如下规则:

其中:

LAST_TS:存储在Traffic关系中最后插入的元组时间戳的值。

my_id:拥有该规则的标识。

LEAVE:触发其迁移规则的外部事件,该外部事件由P2P层支持。

DETECT(3):检测是否存在位于第3路段的节点。

当一个移动到达一个顶点之后,相应的M_a便被以最高的优先级插入到MA_RULES_DEPLOY_TABLE表中。该规则随后便由ADBMS的触发器机制触发执行,如果条件为真,规则M_a便从MA_RULES_DEPLOY_TABLE表中删除,其他4个规则:M_b, M_c,R_a,R_b,便入到MA_RULES_DEPLOY_TABLE表中。规则M_b负责管理,即确保节点仍然在所要求的路段上,否则迁移规则M_c便被触发,移动迁移到其他节点。R_a, R_b 负责通过传感器所收集的信息监控交通状况并将查询结果传回用户所在的节点(其node_id为11011)。

4结语

本文提出了一个借助主动数据库技术中的ECA规则来实现和管理移动的P2P系统模型。它采用主动数据库的事件―条件―活动(ECA)规则来定义的逻辑结构并利用其触发器机制来实施的执行和管理从而简化了P2P系统和的结构,大大提高了移动管理的有效性。文中给出了移动P2P系统中节点的体系结构,的结构、管理与生存周期。下一步的工作是系统功能和结构的进一步优化,尤其是对于一组完成类似任务的的部署和配置的进一步优化。

上一篇:一种大容量的自适应信息隐藏方法 下一篇:基于控制点误差控制的网格简化算法