一种应用于电信领域的空间数据管理中间件及其实现方法与流程

文档序号:11155630阅读:498来源:国知局
一种应用于电信领域的空间数据管理中间件及其实现方法与制造工艺

本发明涉及GIS空间数据管理技术领域,具体地说是一种应用于电信领域的空间数据管理中间件及其实现方法。



背景技术:

地理信息系统(GIS)技术是近些年迅速发展起来的一门空间信息分析技术,在电信领域有着广泛的应用。

空间数据管理中间件是一种介于GIS渲染引擎和数据库管理系统之间的中间件技术,是GIS软件平台的核心组成部分,主要解决空间数据的交互问题。常见的空间数据中间件方案有Esri的ArcSDE、Sun的Oracle Spatial和超图的SuperMap SDX+等。

随着地理信息技术的蓬勃发展,其应用场景越发广泛。空间数据的数据结构为了支撑上层应用变得越发复杂,需要支持的数据种类也越来越多。栅格数据、矢量数据、三维数据、网络数据等多种类型的数据源支撑了GIS平台多样化的能力,如:

1、栅格数据分析:包括生成高程栅格、坡度栅格(可以通过高程栅格转换)、距离栅格、密度栅格,重分类、栅格计算等具体功能。

2、矢量数据分析:包括基于空间位置的查询、缓冲区分析、叠置分析、邻近分析、泰森多边形、空间统计等功能。

3、三维分析:包括创建栅格和TIN表面,对于表面积与体积、坡度坡向、可视性分析、表面长度等一系列表面分析,还有Arcscence三维可视化及二维转三维的数据转换等。

4、网络分析:包括最佳路径、最近设施、服务区、上下行、选址与配置等具体的可运用于解决生活中实际问题的功能。

上述列举的空间分析功能只是GIS领域的冰山一角,其功能都依赖于底层数据模型的建模。可以说,空间数据底层模型是决定地理信息系统的适用范围和执行效率的关键性要素。

然而,越发臃肿庞大的地理信息系统也带来了显著的问题,那就是数据复杂度与软件复杂度的提升。以在GIS业界处于领先地位的Arcgis平台为例,其提供的功能涵盖了GIS领域的方方面面,而每个专业方向却只使用很小一部分功能。经调研发现:在电信领域,90%的业务场景只依赖于GIS软件平台的极少部分功能,功能利用率不足整个平台功能的5%。为了这5%的功能,运营商却又不得不购买并部署整套GIS平台软件。

由此带来的问题有三:

一、购买和部署庞大的GIS软件带来软硬件的高额投入;

二、因系统复杂度高、项目工程庞大,导致软件研发成本提高;

三、由于目前主流的商用和开源GIS平台的底层模型都需要考虑支持各个专业方向的通用化场景,对于数据结构的完备性、严谨性、普适性要求很高。这也决定了其空间数据模型复杂度较高,在读写时更容易出现I/O瓶颈。为了解决I/O瓶颈,通常的做法只能通过分布式数据集群的方式进行数据切片,提高并发能力。但这又会进一步加剧问题一和问题二。

在目前主流商用和开源GIS平台在处理静态空间数据时,均有着良好的运行效率。但是对于动态变化的热数据,读写瓶颈明显。解决该问题的传统思路是数据集群方案,虽可有效缓解读写瓶颈,但又带来了新的IT复杂度提升与软硬件成本增加问题。

基于以上现状,本发明提出一种应用于电信领域的空间数据管理中间件及其实现方法,来解决上述问题。本发明基于电信领域的特点,发明了一套为电信领域量身打造的空间数据模型并为其封装了空间数据管理中间件。因为是定向化建模,空间数据的数据结构得到大幅度的精简,以提升效率。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种应用于电信领域的空间数据管理中间件及其实现方法。

一种应用于电信领域的空间数据管理中间件,包括以下功能架构:

空间分析服务模块,提供包括对资源的空间检索、范围查询、缓冲区查询的空间分析接口;

搜索服务模块,基于搜索服务器,提供一个分布式的全文搜索引擎;

网络分析服务模块,提供最优路径查询、可能管网路径分析、以及对深度优先、广度优先、A+算法三种基础算法的支持;

空间数据读写服务模块,用于空间数据的读写与索引的自动维护;

高速缓存服务模块,利用Redis内存数据库缓存高速变更的数据,用于包括监控的实时性场景;

地图渲染适配器,适配各GIS图片渲染引擎提供动态地图渲染服务。

所述中间件适配的数据库类型包括Oracle、Postgresql、Neo4J和Redis数据库。

一种应用于电信领域的空间数据管理中间件实现方法,其实现过程为:

首先对电信领域地理信息系统的使用特点进行分析;

然后设计一套空间数据数据结构;

在这套数据结构上封装空间数据管理中间件,该管理中间件通过搜索服务模块提供索引功能,提升空间数据读写和分析的效率。

分析后的电信领域地理信息系统的使用特点包括,

将空间对象分为二维平面上的点、线、线集合三种对象;

无线专业、传输外线专业的数据编辑需要动态渲染;

电信领域采用WGS84地球椭球坐标;

最小的线单元由两端的点单元组成,不存在无明确端点的线单元;

最小的线单元长度为L取值范围为0.5m<L<2000m;

复杂的线集合单元,可由最小线单元组合而成。

所述空间数据数据结构由以下元数据组成:

空间数据源定义表,定义数据源连接的数据库信息,包括数据源名称、数据库类别、数据库连接JSON、数据库连接池大小;

空间数据源注册表,确定数据源与要素类型的关系;

要素类定义表,为空间要素类的具体定义表,包括要素名称、要素类型、要素类数据库名称和要素详情JSON。

基于电信领域地理信息系统的使用特点,所述空间数据数据结构具体分为点资源空间数据结构、线资源空间数据结构、线集合空间数据结构。

所述点资源空间数据结构为二进制数据结构,每条点资源数据占用32字节,一字节为8bit;其中,

字节1:是否使用,0为废弃,1为使用;

字节2:要素类型,1为点,2为线,3为线集合;

字节3-6:唯一标识,INTEGER类型,

字节7-8:希尔伯特曲线LEVEL值,取值为0-29;

字节9-10:希尔伯特曲线长度;

字节11-18:图元标签,用于标签展示;

字节19-20:展示标识,作为样式渲染标识;

字节21-22:级别标识,作为比例尺级别渲染标识;

字节23-24:版本标识,标识数据模型的版本信息;

字节25-32:保留空间,暂无特别作用。

所述线资源空间数据结构采用二进制数据结构,每条线资源数据占用32字节,每个字节为8bit,其中,

字节1:是否使用,0为废弃,1为使用;

字节2:要素类型,1为点,2为线,3为线集合;

字节3-6:唯一标识,INTEGER类型;

字节7-14:图元标签,用于标签展示;

字节15-16:展示标识,作为样式渲染标识;

字节17-18:级别标识,作为比例尺级别渲染标识;

字节19-20:版本标识,标识数据模型的版本信息;

字节21-24:头链接标识,线对象的头端点标识;

字节25-28:尾链接标识,线对象的尾端点标识;

字节29-32:保留空间,暂无特别作用。

所述线集合空间数据结构为二进制数据结构,每条线资源数据占用24+4N个字节,N代表组成线集合的线的数量,每个字节为8bit,其中,

字节1:是否使用,0为废弃,1为使用;

字节2:要素类型,1为点,2为线,3为线集合;

字节3-6:唯一标识,INTEGER类型;

字节7-14:图元标签,用于标签展示;

字节15-16:展示标识,作为样式渲染标识;

字节17-18:级别标识,作为比例尺级别渲染标识;

字节19-20:版本标识,标识数据模型的版本信息;

字节21-24:保留空间,暂无特别作用;

字节25-(24+4N): 线资源链表。

封装中间件后,该中间件通过搜索服务模块提供索引功能,具体为:

点类型数据的索引采用希尔伯特曲线算法,其希尔伯特曲线坐标为0到1,网格级别为0到29;

线与线集合类型数据的索引采用广度优先算法,算法的初始值为希尔伯特曲线坐标区间。

本发明的一种应用于电信领域的空间数据管理中间件及其实现方法和现有技术相比,具有以下有益效果:

本发明以牺牲空间数据模型的完备性、严谨性、普适性为代价,采用了更简洁的数据结构,使空间数据的读取效率得到大幅提升;通常,空间原始空间数据与网络拓扑数据的GIS原理差异很大,需要以两种不同的格式进行存储,这样会增加数据同步和生成网络的开销,实时性较差,本发明结合电信领域的建模特点将两种数据在建模层面合二为一,可大大提升数据网络分析的效率。

本发明提供了一种不扩充数据集群而提升空间数据读写效率的解决方案,间接节省了软硬件成本和开发成本,可带来一定的经济效益,通过模型的精简、合理降低数据精度等手段,换取数据存储效率的提升,实用性强,适用范围广泛,具有很好的推广应用价值。

附图说明

附图1是中间件的实现示意图。

附图2是空间数据数据结构示意图。

附图3为点资源数据结构的二进制数据结构图。

附图4为线资源空间数据结构的二进制数据结构图。

附图5为线集合资源空间数据结构的二进制数据结构图。

附图6为点索引采用的希尔伯特曲线原理图。

附图7为希尔伯特的一维线示意图。

附图8为中间件在地理信息系统中所处的位置示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步说明。

一种应用于电信领域的空间数据管理中间件,专门针对电信/通信行业的数据特点设计的一套空间数据数据结构并在这套结构基础上封装了空间数据管理中间件。中间件依靠独特的建模和索引方法,可大大提升空间数据读写和分析的效率。

空间数据管理中间件基于Java开发,对电信领域地理信息系统的使用特点进行归纳,以底层精简和功能定向化为目标,进行模型设计。

包括以下功能架构:

空间分析服务模块,提供包括对资源的空间检索、范围查询、缓冲区查询的空间分析接口。

搜索服务模块,即图中的Elasticsearch服务,ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。中间件集成了对ElasticSearch接口的支持

网络分析服务模块,提供最优路径查询、可能管网路径分析、以及对深度优先、广度优先、A+算法三种基础算法的支持;

空间数据读写服务模块,用于空间数据的读写与索引的自动维护;

高速缓存服务模块,利用Redis内存数据库缓存高速变更的数据,用于包括监控的实时性场景;

地图渲染适配器,适配各GIS图片渲染引擎提供动态地图渲染服务。

所述中间件适配的数据库类型包括Oracle、Postgresql、Neo4J和Redis数据库。

一种应用于电信领域的空间数据管理中间件实现方法,通过一套为电信领域量身打造的空间数据模型并为其封装了空间数据管理中间件来实现。因为是定向化建模,空间数据的数据结构得到大幅度的精简,以提升效率。

本发明中的空间数据管理中间件,理论上可以适配任意GIS渲染组件,并不与特定平台耦合,是电信领域GIS应用的良好补充方案。附图8中为本发明的中间件在地理信息系统中所处的位置。

本发明是解决电信领域空间数据读写性能瓶颈问题的一种有效优化方案。通过直接在最底层数据结构上进行优化并为其封装数据服务中间件,在不增加集群节点的情况下也可明显提升个空间数据的读写效率。

其实现过程为:

首先对电信领域地理信息系统的使用特点进行分析;

然后设计一套空间数据数据结构;

在这套数据结构上封装空间数据管理中间件,该管理中间件通过搜索服务模块提供索引功能,提升空间数据读写和分析的效率。

分析后的电信领域地理信息系统的使用特点包括,

在电信领域,空间对象主要为二维平面上的点、线、线集合三种对象。可不考虑更复杂的空间模型。

在电信领域,无线专业、传输外线专业的数据编辑对实时性要求较高,需要动态渲染,无法使用切片技术。

电信领域采用WGS84地球椭球坐标,不需要考虑投影与坐标转化的开销

在电信领域,对实时变动的网络资源进行深度优先、广度优先和A+算法遍历有着普遍的需求(传统商用GIS引擎只支持静态的网络数据)

对于小比例尺下的地图展示(小比例尺指视野更宽广),只需要展示数据的大致轮廓,对空间准确度和精确数量的展示没有太高要求,对数据实时性要求不高。允许使用定期缓存,允许使用更大程度的近似以提升查询效率。

对于大比例尺下的地图展示(大比例尺指视野更狭小),数据的最大精度误差在0.5米内即可满足使用要求

在电信领域巡检、监视类需求对数据实时性非常高但展示数据量有限,数据管理中间件需支持内存数据库

在电信领域,最小的线单元由两端的点单元组成(如管道由两端人井组成),不存在无明确端点的线单元。

在电信领域,最小的线单元(一般为管道、杆路资源)长度为L。0.5m<L<2000m,没有例外。

在电信领域,更复杂的线集合单元(如光缆段铺设在N条管道中),可由最小线单元组合而成,没有例外。

所述空间数据数据结构如附图2所示,其由以下元数据组成:

空间数据源定义表,定义数据源连接的数据库信息,包括数据源名称、数据库类别、数据库连接JSON、数据库连接池大小;

空间数据源注册表,确定数据源与要素类型的关系;

要素类定义表,为空间要素类的具体定义表,包括要素名称、要素类型、要素类数据库名称和要素详情JSON。

基于电信领域地理信息系统的使用特点,所述空间数据数据结构具体分为点资源空间数据结构、线资源空间数据结构、线集合空间数据结构,鉴于此,下面分三个实施例进行详细描述。

实施例1:

如附图3所示的为点资源数据结构的二进制数据结构。每条点资源数据占用32字节,图中每个方框代表一字节(8bit);其中,

字节1:是否使用,0为废弃,1为使用;

字节2:要素类型,1为点,2为线,3为线集合;

字节3-6:唯一标识,INTEGER类型,

字节7-8:希尔伯特曲线LEVEL值,取值为0-29;

字节9-10:希尔伯特曲线长度;

字节11-18:图元标签,用于标签展示;

字节19-20:展示标识,作为样式渲染标识;

字节21-22:级别标识,作为比例尺级别渲染标识;

字节23-24:版本标识,标识数据模型的版本信息;

字节25-32:保留空间,暂无特别作用。

实施例2:

如附图4所示的为线资源空间数据结构采用二进制数据结构,每条线资源数据占用32字节,图中每个方框代表一字节(8bit),其中,

字节1:是否使用,0为废弃,1为使用;

字节2:要素类型,1为点,2为线,3为线集合;

字节3-6:唯一标识,INTEGER类型;

字节7-14:图元标签,用于标签展示;

字节15-16:展示标识,作为样式渲染标识;

字节17-18:级别标识,作为比例尺级别渲染标识;

字节19-20:版本标识,标识数据模型的版本信息;

字节21-24:头链接标识,线对象的头端点标识;

字节25-28:尾链接标识,线对象的尾端点标识;

字节29-32:保留空间,暂无特别作用。

实施例3:

如附图5所示的为线集合空间数据结构为二进制数据结构,每条线资源数据占用24+4N个字节,N代表组成线集合的线的数量,图中每个方框代表一字节(8bit),其中,

字节1:是否使用,0为废弃,1为使用;

字节2:要素类型,1为点,2为线,3为线集合;

字节3-6:唯一标识,INTEGER类型;

字节7-14:图元标签,用于标签展示;

字节15-16:展示标识,作为样式渲染标识;

字节17-18:级别标识,作为比例尺级别渲染标识;

字节19-20:版本标识,标识数据模型的版本信息;

字节21-24:保留空间,暂无特别作用;

字节25-(24+4N): 线资源链表。

封装中间件后,该中间件通过搜索服务模块提供索引功能,具体为:

1)点类型数据的索引采用希尔伯特曲线算法,其希尔伯特曲线坐标为0到1,网格级别为0到29。

本发明的点索引采用的希尔伯特曲线原理图如附图6所示。

希尔伯特曲线是一种能填充满一个平面正方形的分形曲线(空间填充曲线),由大卫•希尔伯特在1891年提出。由于它能填满平面,它的豪斯多夫维是2。取它填充的正方形的边长为1,第n步的希尔伯特曲线的长度是2n - 2-n。

如附图6,7所示,空间中任意一点,可用希尔伯特的一维线的长度来表示。其重要的数学特性为“希尔伯特曲线坐标”(也可以叫做“希尔伯特曲线长度”,因为曲线是只有一个维度)和“切分级别”两个概念。所谓的“希尔伯特曲线坐标”就是球面(地球)层次分解之后对空间区域的紧凑的表示,“希尔伯特曲线长度”的值越相近的在地理空间上也越相近(参考附图7的横坐标轴)。“切分级别”代表空间切分的比例,一个“希尔伯特曲线坐标”具有不同的“切分级别”以代表不同的数据精度,在地理信息系统中与比例尺的特性所对应。

基于上述数学特征,本发明用希尔伯特曲线作为点的空间索引算法基础。

2)线与线集合类型数据的索引采用广度优先算法,算法的初始值为希尔伯特曲线坐标区间。本发明的线、线集合索引采用的BFS原理图如附图8所示。

本发明根据电信领域功能特点精简建模,单机读写并发量十分优秀;原始空间数据与网络拓扑数据使用一套模型,提升了实时热数据的网络分析效率;基于精简模型特点,本发明的空间索引生成算法空间占用率小,读写性能高。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1