APP下载

基于UML技术的空间基础数据库设计与实现

2017-08-30张永东张可佳

计算机测量与控制 2017年7期
关键词:基础数据库区域

李 龙,刘 澎,张永东,张可佳

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

基于UML技术的空间基础数据库设计与实现

李 龙,刘 澎,张永东,张可佳

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

设计合理的空间基础数据库不仅能提高整个空间数据操作时的性能和效率,而且还可以减少后期的维护修复工作,使整个空间基础数据运行的更加快捷,需要对空间基础数据建立数据库;当前的空间基础数据库设计方法采用ArcSDE数据引擎对空间基础数据进行不断地更新调整,再利用多源空间数据格式转换的技术对空间基础数据库进行设计,存在空间基础数据运行时速度缓慢,计算精度低的问题;为此,提出了一种基于UML技术的空间基础数据库设计方法;该方法首先在空间基础数据库设计中建立空间基础数据索引结构,利用R-树族构建空间基础数据索引树,依据空间基础数据索引树,扫描索引空间基础数据,过滤掉不满足查询条件的空间基础数据对象,使空间数据查询结果可以在额定时间内获得,然后采用空间基础数据点、数据线、以及由数据线组成的区域、一组区域、空间基础数据网络的详细存储方式对空间基础数据进行存储,利用MongoDB驱动程序对矢量空间数据进行存储存储,最后通过对空间基础数据库索引、查询、存储等设计实现了空间基础数据库的建立;仿真实验结果证明,所提方法提高了空间基础数据的建库速度,减少了数据运行的时间,提升了空间基础数据的利用率。

UML技术;空间基础数据库;设计与实现

0 引言

近年来,随着计算机网络的不断发展,空间基础数据库的应用受到了很多领域的高度重视,这些领域通过空间基础数据库管理系统的功能来辅助其工作与任务的完成,使空间基础数据库的设计与实现成为了当今的热门话题[1-2]。由于空间基础数据的运行具有复杂性,无序性,不安全性等特点,需要对其设计数据库方便其运行和处理。多数空间基础数据库的设计方法无法对空间基础数据库进行安全、灵活、全面的设计,导致空间基础数据运行或处理时出现操作延迟,数据丢失等情况[3-4]。在这种情况下,如何提高空间基础数据库设计与实现的精度成为了急需解决的问题。而基于UML技术的空间基础数据库设计方法可以对空间基础数据的索引查询和存储进行设计。是解决上述问题的有效途径[5-6],成为了空间基础数据库设计研究者的主要研究方向,受到了该领域学者的广泛关注,同时也取得了很多优秀的成果[7]。

文献[8]提出了一种基于SQLServer的空间基础数据库设计方法。该方法首先利用面向对象技术法以及C/S体系通过对图形数据的分解,进行空间基础数据和属性数据统一存储,然后采用分布式数据库管理系统中的GeoView系统完善关系数据库管理系统,从而完成对空间基础数据库的设计。该方法虽然较为简单,但是实现过程中存在精度低的问题。文献[9]提出了一种基于SDB的空间基础数据库设计方法。该方法首先采用SDB数据引擎对空间基础数据库进行构建与管理,为此建立专有的数据转换模块,然后完善空间基础数据库属性建设,修改空间数据库属性结构,编辑空间数据对象的属性值,为使用者提供灵活便捷的空间数据基础库功能,对空间基础数据库进行最大优化程度的构建与管理。该方法所设计的空间基础数据库较为完善,且利用率较高,但是存在消耗时间过长的问题。文献[10]提出了一种基于Oracle Spatial的空间基础数据库设计方法。该方法先将Oracle Spatial中的空间基础数据对象类型设为结构体,并使其可供OCI操作,然后根据OCI功能进行空间基础数据中异构数据的转换,将格式不同的空间基础数据在Oracle中实现集成,最后设计并实现一个基于Oracle Spatial的空间基础数据库。该方法对空间基础数据的设计与实现速度快,效果好,但是进行空间基础数据中异构数据转换过程比较繁琐。

针对上述产生的问题,提出了一种基于UML技术的空间基础数据库设计方法。该方法对空间基础数据库的索引、查询和存储进行了设计,仿真实验证明,所提方法可以迅速全面地对空间基础数据库进行设计,实验中的各项有利数据也证明了基于UML技术的空间基础数据库设计方法是可实现的。

1 基于UML技术的空间基础数据库设计方法

1.1 空间基础数据库索引查询设计

在空间基础数据库设计中建立空间基础数据索引结构,可利用扫描索引空间基础数据,过滤掉部分不满足查询条件的空间基础数据对象,从而减少空间系统负载。一般采用的空间基础数据索引为R-树族,依据空间基础数据索引树,使查询结果可以在额定时间内获得。在R-树族算法中,空间基础数据区域查询是最有代表性的查询方法,评估R-树族的性能一般以空间基础数据区域查询的性能来表示。空间基础数据区域查询的响应时间主要由读取与查询区域节点所需时间和CPU处理区域节点所需时间组成。因为访问一个空间基础数据节点页面的时间开销很大,所以基本可以忽略,以空间基础数据区域查询所需的访问节点数来表示空间基础数据库索引查询性能。

假设Nd为空间基础数据集中主引导记录的数目,N为R-树族中空间基础数据节点数目。空间基础数据集中所有MBR归一化在单位正方形U中。假如空间基础数据查询区域为Q,大小为qx×qy,空间基础数据查询区域均匀的分布在单位正方形U中。空间基础数据点查询表示空间基础数据区域查询在qx=qy=0时的一个特例。如果R-树族中空间基础数据节点nij的主引导记录为xij×yij,假设在一次空间基础数据点查询中该节点被访问的概率为NB(xij,yij),则:

U=[0,2]×[0,2]

(1)

NB(xij,yij)=xij×yij

(2)

其中:NB()代表在一个任意空间基础数据点查询中R-树族中空间基础数据节点访问次数,xij和yij分别代表空间基础数据节点的横纵坐标中第i个值和第j个值。

对空间基础数据给定区域qx×qy的查询,可能引起的空间基础数据节点访问次数为p(qx,qy):

(3)

其中:

p(qx,qy)=空间基础数据节点面积+qy*Lx+

qxLy+N*qx*qy

(4)

其中:Lx、Ly分别代表R-树族中空间基础数据节点X轴和Y轴的边长,H代表空间基础数据查询的响应时间。

由上式得知,R-树族中空间基础数据节点面积与空间基础数据节点周长都对R-树族的空间基础数据库区域查询性能有影响,R-树族中空间基础数据节点数目越少,区域查询效果就越好。所以空间基础数据库查询设计主要考虑以下内容:

(1)确定空间基础数据库结构,利用空间基础数据以及空间属性数据不同的管理方式,采用混合模式实现空间基础数据库的结构设计,混合模式是将空间基础数据存储在空间文件系统中。

(2)空间基础数据分析,空间基础数据分析包括确定空间基础数据范围中水平方向的空间基础数据范围以及垂直方向的空间基础数据范围以及空间基础数据分辨率等。基于UML技术的空间基础数据库设计方法依据的空间基础数据模型是基于对象的空间数据模型。

(3)空间基础数据访问方法设计,空间基础数据访问方法的组成部分是空间基础数据索引和在空间基础数据索引上的操作。

(4)空间基础数据查询操作设计,空间基础数据查询操作包括空间基础数据点查询和区域查询。

综上所述,完成对空间基础数据库索引查询的设计。

1.2 空间基础数据库存储设计

在空间基础数据库中需要将空间基础数据对象进行存储,以下是对空间基础数据对象存储的方式:(1)将空间基础数据对象的特征信息存储到空间基础数据库中,空间基础数据对象原来的几何图形保存到数据大对象中;(2)将空间基础数据对象的原始几何图形进行离散化,然后再进行存储。以下是空间基础数据对象的具体的存储方式:

对于空间数据点的存储:假设一个n维的空间基础数据点,用n元数组(x1,x2…,xn)表示。

对于空间基础数据线L的存储:用一组空间基础数据点表示为:

(5)

其中:a代表空间基础数据点,m代表空间基础数据点顺序值。

对于空间基础数据区域R的存储:把空间基础数据区域边界看成一条曲线,将区域看作一条闭合的曲线,用存储空间基础数据线的方式将闭合的曲线存储,空间基础数据区域的第一个点和最后一个点相同的情况下,空间基础数据区域R:

(6)

对于空间基础数据一组区域P的存储:用空间基础数据存储区域的方式存储一组区域:

P={R1,R2,…,Rm}

(7)

对空间基础数据网络的存储,空间基础数据网络是由若干数据点以及若干数据线组成的,则存储方式是点和线存储方式的结合。其存储方式表示为:

net={nodes,lines}

(8)

其中:

(9)

lines={L1,L2,…Lk}

(10)

其中:Li代表空间基础数据网络中的线,b代表空间基础数据点的数量值。

以上是空间数据库点、线、区域、一组区域、网络空间基础数据的存储设计。而针对矢量空间基础数据类型和结构特点的不同,创建不同的空间基础数据集合满足空间基础数据的存储:(1)空间基础数据集合,用来存储空间基础数据;(2)空间元数据项集合,用来存储空间基础数据中的元数据项。空间基础数据分为共享性数据和私人性数据,针对空间共享性数据,利用过滤器的安全模式将空间基础数据存储在统一的空间基础数据库中,针对空间私人性数据,每个私人用户利用权限控制的安全模式设计单独的空间存储数据库。以下是对矢量空间基础数据的具体存储方式。

针对矢量空间基础数据的存储采用的是Mongo DB驱动程序,Mongo DB驱动程序利用文档形式对空间基础数据进行存储,每个文档由空间基础数据对应值组成,可以存储复杂的空间基础数据。空间基础数据存储到数据库时,将每个空间基础数据对象转换成一个json数据对象,采用key/value方式存储空间基础数据对象的空间属性,实现了对矢量空间基础数据的存储,由此完成对空间基础数据库存储的设计。

2 仿真实验结果与分析

为了证明基于UML技术的空间基础数据库设计方法的有效性,需要进行一次仿真实验。实验仿真平台建立在由10台物理机构建的空间基础数据集环境下,实验数据取自于Shapefile文件中的若干空间基础数据,由此验证基于UML技术的空间基础数据库设计方法的整体有效性和可实现性。表1是基于UML技术的空间基础数据库设计方法中空间基础数据库查询数据量(万个)与查询响应时间(s)的关系。

表1 空间基础数据库查询数据量与查询响应时间关系

由表1可以明显看出,基于UML技术的空间基础数据库设计方法中空间数据库查询系统的响应时间随着空间数据量的变化而变化,在变化过程中随着空间基础数据量的增加查询响应时间也随之增加,但是幅度较小,查询数据量在1000万个-4000万个时,空间基础数据库查询响应时间以0.2 s的速度逐渐增长,查询数据量在5000万个以上时,查询响应时间以0.1 s的速度增长,说明了两点内容:(1)查询数据量的增加没有给查询系统的响应时间带来过分影响;(2)查询系统响应时间随着查询数据量的增加反而越来越少,这证明了基于UML技术的空间基础数据库设计方法具有良好的实用性,也证明了该方法是可实现的。表2是空间基础数据库存储速度(万个/s)与数据量(万个)的关系。

表2 空间基础数据库存储速度与数据量的关系

表2中的数据显示了不同数量的大规模空间基础数据存储时的速度,以每秒数万个的速度进行存储,有效提高了空间基础数据的运行效率。主要是因为利用基于UML技术的空间基础数据库设计方法进行空间数据存储时细化了存储模式,采用点、线、区域、组区域、网络等细化模式对空间基础数据进行存储,增强了存储的速度,提高了空间基础数据的存储精度。进一步证明了基于UML技术的空间基础数据库设计方法的整体性能和可行性。图1是本文方法对空间基础数据存储精度(%)的描述。

图1是对基于UML技术的空间基础数据库设计方法中空间基础数据量(万个)与存储精度(%)关系的描述。当空间基础数据刚开始进行存储时存储精度在87%左右,随着数据量的不断增加存储精度反而处于上升的趋势,且平稳处于90%以上,证明了基于UML技术的空间基础数据库设计方法存储时的安全稳定性。为空间基础数据库的实现提供了可靠依据。图2是文献[8]与本文空间基础数据库查询效率(%)的对比。

图1 空间基础数据库存储精度

图2中显示的是文献[8]所提方法与本文方法空间基础数据查询效率(%)的对比。在该对比中明显本文方法空间基础数据查询效率(%)较高,图中本文方法随着查询数据点的个数变化处于平稳的波动中,且波动是持续上升的,证明了基于UML技术的空间基础数据库设计方法在查询数据点(个)时的查询效率(%)很高,有利于基于UML技术的空间基础数据库设计方法的实现。

图2 空间基础数据库查询效率对比

仿真实验证明,基于UML技术的空间基础数据库设计方法对空间基础数据库的索引,查询以及存储进行了详细的设计,可以高效,安全,准确地对空间基础数据库进行设计与实现,是切实可行的数据库设计与实现方法。

3 结束语

采用当前方法对空间基础数据库进行设计与实现时,无法安全精确地对空间基础数据库进行设计与实现,存在数据库设计有误差,空间基础数据运行过程复杂的问题。提出了一种基于UML技术的空间基础数据库设计方法。并通过仿真实验证明,所提方法可以安全可靠地对空间基础数据库进行设计与实现,是该领域研究发展的重点参考对象,具有良好的应用价值。

[1] 李运兴,马 骏.基于Hadoop高性能查询的空间数据库设计与实现[J].中原工学院学报,2014,25(4):58-63.

[2] 王 琰,邓永刚.基于MapGIS的区域水文地质图空间数据库设计与实现[J].测绘技术装备,2016,18(1):62-63.

[3] 马海燕,李文欣.城市基础地理空间数据库设计与实现研究[J].科技资讯,2015,13(1):24-25.

[4] 陈达伦,陈荣国,谢 炯.基于MPP架构的并行空间数据库原型系统的设计与实现[J].地球信息科学学报,2016,18(2):151-159.

[5] 刘一明,胡卓玮,赵文吉,等.基于Geodatabase模型的扶贫开发空间数据库的设计与实现[J].工程勘察,2014,42(7):44-49.

[6] 史华林,何 飞,王云全,等.基于ArcSDE和SQL Sever城市规划空间数据库的设计与实现[J].江西科学,2014,32(3):357-360.

[7] 魏振华,刘志锋,李金萍,等.基于要素扩展管理的海量地质空间数据存储模型的设计与实现[J].计算机应用与软件,2014,31(7):36-39.

[8] 杜久升,王 莉,侯 争,等.露天矿卡车调度系统数据库设计与实现[J].金属矿山,2015,44(9):105-111.

[9] 吴 琰,唐小明.基于HBase的分布式空间数据库技术[J].吉林大学学报:理学版,2016,14(6):1355-1360.

[10] 陈 辉,赵晓华.学生上机实训考核系统中数据库设计与实现[J].电子设计工程,2016,24(18):4-6.

Based on UML Technology of Space Database Design and Implementation

Li long,Liu Peng,Zhang Yongdong,Zhang Kejia

(Computer and Information Technology, Northeast Petroleum University,Daqing 163318,China)

Design and reasonable basis of the database can not only improve performance and efficiency of the whole spatial data operation, but also can reduce the late maintenance repair work, make whole space based data run faster, need to create a database of space based data. The current spatial database design method using ArcSDE data engine to adjust constantly updated space based data reuse technology of multi-source spatial data format conversion based on space database design, there is space based data run-time speed is slow, the problem of low precision. To this end, this paper proposes a space based database design method based on UML technology. This method first based on space database design based spatial data index structure, using R - based data index tree tree building space, on the basis of space based data index tree, scanning index space based data, filter based data object does not satisfy the query conditions of space, make the space data query result can be gained in the rated time and then USES the data points in space, data line, and area of cable, a set of detailed area, space based data network based data storage model of space for storage, use mongo drivers to store of vector spatial data, finally through to the space foundation database index, query, storage design has realized the space such as the establishment of the underlying database. The simulation experimental results show that the proposed method improves the speed of space of the construction of basic data, reduced the data of the running time, improve the utilization of space based data.

UML technology; space the underlying database; design and implementation

2017-03-31;

2017-04-13。

李 龙(1966-),男,山东莱阳人,博士,副教授,硕士生导师,主要从事数据挖掘、智能系统方向的研究。

1671-4598(2017)07-0174-04

10.16526/j.cnki.11-4762/tp.2017.07.043

P208

A

猜你喜欢

基础数据库区域
“不等式”基础巩固
“整式”基础巩固
分割区域
“防”“治”并举 筑牢基础
数据库
区域发展篇
数据库
数据库
数据库
“五抓五促”夯基础