论文部分内容阅读
由于不同的空间数据库系统在数据结构、数据模型和数据格式上存在较大差异,导致在不同应用系统间无法共享数据和服务。多源空间数据引擎就是要为驻留在不同的数据源中的数据提供一致的访问接口,并以一致的表示方式提供给用户。SDBE是一个基于Mediator-Wrapper方法的空间数据库引擎,它最突出的优点是系统采用了公共的查询语言GSQL及相应的公共数据模型,很好地屏蔽了不同数据源间的差别。SDBE还具有伸缩性好、易于扩展的特点,并且其体系结构十分适合用于分布式系统。但是,在现有的SDBE系统中,引擎接口和应用接口这两种客户应用开发接口还存在数据源与客户应用的耦合性强和不够灵活等缺陷,不能满足实际应用的需要。应用模型是一种基于对象的描述模型,它将数据视图作为一种对象来定义和使用,从而使其能够描述比较复杂的数据结构。应用模型不依赖特定的数据源,以一致的方式向客户应用提供关于数据源的描述模型;客户应用无需关心数据源的具体细节,只需通过应用模型获得预先定义的基于对象的数据视图——要素类,然后利用应用模型提供的接口来将要素类转换为查询即可进行数据访问。应用模型具有如下特点:①对象定义。应用模型把数据源中的数据表字段作为基本数据类型,通过对基本数据类型的组合可以构造比较复杂的对象类型。②对象嵌套。在定义对象时,可以用已经存在的要素类定义对象,以构造更为复杂的对象类型。③对象聚合。当两个要素表作连接时,可能会出现重复的数据,这是关系数据模式的一个缺点。而利用应用模型中的对象,可以对查询获得的关系型数据记录集进行加工,以一对多的对象聚合关系消除这种重复。应用模型的设计采用面向对象的程序设计思想,充分考虑了可扩充性。整个应用模型类体系均使用工厂方法来创建类对象,并通过Visitor模式来实现所有复杂的操作。扩充应用模型类体系只需在应用模型类体系中添加所需的子类,并扩充相应的Visitor接口;需要扩充新的功能时只需在Visitor类体系中添加新的Visitor类。应用模型是通过应用模型描述脚本来管理的。应用模型描述脚本还提供数据源访问信息管理、用户组管理和用户管理等功能。应用模型描述脚本将客户应用和数据源<WP=4>分离开来,客户必须具有SDBE的用户身份才能访问指定的应用模型,而访问数据源所需的用户身份由应用模型描述脚本中的数据源访问信息管理提供,客户应用无需关心。用户的身份通过指定所属的用户组来控制,根据用户组来确定应用模型的访问权限,属于某个用户组的用户能够访问特定的应用模型。应用模型描述脚本的结构比较复杂,因此图形用户界面的建模工具是必须的。通过应用建模工具我们能方便地创建、编辑应用模型和应用模型脚本中的其它信息。