首页> 中国专利> 一种实体的多粒度时空对象数据库建立方法

一种实体的多粒度时空对象数据库建立方法

摘要

本发明提供一种实体的多粒度时空对象数据库建立方法,包括S1)、将现实世界的任何时空实体抽象为具备8个方面的对象类,S2)、建立多粒度时空对象逻辑模型,S3)、建立多粒度时空对象物理模型,S4)、设置混搭数据库的访问接口,S5)、建立多粒度时空对象访问接口,包括对象产生、更新与消亡,通过该接口可以实现时空实体的实例化,本发明的多粒度时空对象数据库拓展了现有对象模型的描述能力,将属性和方法细化拓展为8个方面,能够描述随着时空变化的实体,可以更加全面的表达现实世界,提供更加易于人们理解的直接抽象的数据模型;能够对全空间进行统一的建模,能够兼容传统的多种数据类型,可以描述对象的主动行为和被动行为。

著录项

  • 公开/公告号CN112966055A

    专利类型发明专利

  • 公开/公告日2021-06-15

    原文格式PDF

  • 申请/专利权人 苏州中科蓝迪软件技术有限公司;

    申请/专利号CN202110249645.9

  • 发明设计人 刘小春;张亚军;张彦丽;

    申请日2021-03-08

  • 分类号G06F16/28(20190101);G06F16/21(20190101);G06F16/22(20190101);

  • 代理机构44663 广州博士科创知识产权代理有限公司;

  • 代理人王洪江

  • 地址 215000 江苏省苏州市苏州高新区科灵路78号

  • 入库时间 2023-06-19 11:26:00

说明书

技术领域

本发明涉及数据库技术领域,尤其是一种实体的多粒度时空对象数据库建立方法。

背景技术

地理信息技术的应用范畴已深入到现实世界的各个领域,而数据模型是其实现利用计算机抽象表达现实世界实体的桥梁。

传统的数据模型有矢量模型、栅格模型、时空模型、对象模型等。但是,这些数据模型的应用都有一定的局限性。如矢量、栅格数据模型是采用点、线、面、栅格数据对现实世界进行建模,时空模型主要解决了数据模型对于地理实体随时间变化的描述,对象模型主要侧重对象属性的描述,对于对象的组成、属性的共有性、私有性区分,行为、关系等的描述存在不足。

同时,现有的地理信息技术面对的数据类型更加丰富,如矢量、栅格、3d模型、BIM等等。不仅要表达静态的实体,还要表达动态变化的实体,如出租车的轨迹。不仅要描述实体的属性和一些简单的方法,还要要考虑现实世界实体间的关系,如汽车与车主之间的使用关系等,以及属性的共有性和私有性等。不仅要表达单一的实体,还要考虑实体之间的组成结构,如一栋建筑可以作为独立对象,同时也可以看做由楼层、房间等子对象的组成。不仅要表达当前时间的地理实体,还要记录实体的全生命周期等等。但是,现有数据模型不能一体化的解决这些问题。

因此,综合以上实际需求和传统数据模型的特点,亟需要设计了一种描述现实世界多粒度时空对象数据模型。

发明内容

针对现有技术的不足,本发明提供一种实体的多粒度时空对象数据库建立方法,该方法能够解决现有的地理信息数据模型对于四维时空中的实体全要素以及实体全生命周期建模能力不足,不能有效表达实体在多属性、多形态、多关系、多时空以及行为等粒度方面能力,并且不能表达实体在时空中位置、形态、关系、行为能力等要素的变化粒度能力的问题。

本发明的技术方案为:一种实体的多粒度时空对象数据库建立方法,包括以下步骤:

S1)、建立多粒度时空对象概念模型,其中,所述的多粒度时空对象包括空间对象和数据对象两类;

S101)、通过直接建模的方式,将现实世界的任何时空实体抽象并实例化为具备8个方面的对象类,再实例化为该对象类的一个实例,比如定义车类、汽车类和车座类、驾驶员类;

S102)、定义对象类之间的关系,包括组成、继承和关联关系;比如定义汽车类与车类是继承关系,车座类与汽车类是组成关系,汽车类与驾驶员类之间有驾驶关系,汽车类之间可以有指挥关系等;

S103)、为每一个对象类具体定义8个方面的内容,包括时空参考、位置、属性、关系、组成、形态、行为、认知的内容,一个对象类中可以定义多个属性、关系、形态,形态与位置相同可以直接引用,比如汽车对象类的时空参考为WGS84和UTC,位置为点,形态为点(引用位置)和模型,属性为汽车编码、汽车名称、汽车车主、汽车颜色、汽车里程等;

S2)、建立多粒度时空对象逻辑模型

通过设计对象类、对象、以及时空参考、位置、属性、关系、组成、形态、行为、认知的数据表结构,实现多粒度时空对象的逻辑模型设计,实现类模板和对象类的设计,以及类模板之间继承、关联关系、组成关系的设计,对象生命周期的设计;

S3)、建立多粒度时空对象物理模型

通过选用PostGIS、Neo4j、Mongodb、GeoMesa、HDFS搭建混合物理存储环境,实现多粒度时空对象的文件、关系数据、位置数据、图数据、模型数据、动态数据、BIM数据、矢量数据、遥感数据等数据的存储,并基于对象逻辑模型构建物理数据库结构,并基于数据库建立数据库级别索引,并能存储多粒度时空对象的全生命周期版本数据。

S4)、混搭数据库访问接口的设置

为了实现对混搭多个数据库的访问,基于JAVA语言对每种混搭数据库设置访问接口,包括基于PostGIS实现地理空间数据和对象属性等数据的访问接口、实现基于Neo4j的对象关系数据的访问接口、实现基于Mongodb的对象模型数据的访问接口、实现基于GeoMesa的时空轨迹与传感器时序数据的访问接口、实现基于HDFS的文件数据的访问接口,通过这些类访问接口可以实现对象属性、位置、形态、关系等特征的存储、更新的访问能力。

S5)、建立多粒度时空对象访问接口,通过定义多粒度时空对象内存结构并整合集成步骤S4)中的接口,实现多粒度时空对象访问接口,通过将来自多源的对象数据在多粒度时空对象内存结构中以多粒度时空对象整合,并将多粒度时空对象或者多粒度时空对象集传给多粒度时空对象访问接口,实现对象或者对象集合的存储与更新、以及多粒度时空对象的访问能力。

优选的,步骤S101)中,所述的8个方面分别为时空参照、空间位置、属性、关系、形态、组成、行为、认知。

优选的,步骤S101)中,所述的对象以对象类OType的方式进行管理,即同一类时空实体抽象后属于同一对象类。

优选的,步骤S102)中,通过对象类OType定义对象类之间的组成、关联关系、继承关系。

优选的,步骤S103)中,通过对象类OType定义8个方面的详细内容。

优选的,步骤S1)中,所述的模型通过版本的定义描述一个全动态的现实空间,记录了每个对象的全生命周期,并对其进行管理,其中,

对每个对象的进行全生命周期的管理,空间对象SObject和数据对象DObject都继承一个抽象对象AObject,通过抽象对象AObject记录对象的版本信息,将对象8个方面中任意一个方面的增、删、改作为一个动作,该动作通过事件的方式进行描述,并记录事件的过程,对象的每个动作都会新增一个版本信息,通过每一个对象所有的版本,实现对象的全生命周期管理。

优选的,步骤S103)中,通过对象的8个方面进行现实世界任何时空实体的描述,具体为:

1)、时空参照

通过时间、空间参考系统的定义和各参考系之间的转换,将空间系统扩展到了更加宏观和微观的的世界,支持对地球空间以及牛顿定律描述的空间进行所有时空实体的统一建模;

其中,所述的时空参照包括时间参考和空间参考,分别记录每个对象的时间参考和空间参考,任何一个多粒度时空对象都有一个时间参照和空间参照。

2)、属性

所述的属性记录时空实体具有的字段信息,每个对象类OType具有共有属性的定义,每个时空对象SObject除实例化所属对象类共有属性,还可定义自己独特的个性属性信息;

其中,对象的属性以属性集合的方式存储,属性集(Attributes)包含所有的属性(Attribute),每一个属性包含属性字段(Field)及字段取值(Domain)。

3)、空间位置和形态

空间位置描述对象的空间位置,而对象的形态关联对象的位置,因此,将对象的空间位置模块与对象的形态模块进行一体化的设计。

其中,Forms定义对象形态,一个对象可有多个形态,每一个形态都会与某个位置关联。其中,Position位置描述对象在某空间参考系下的空间位置,Form形态描述对象的形态,即时空实体抽象后的表现形式。对象的形态可以选取AForm形态抽象中定义的形态类型,也可以通过ACustomForm自定义。AForm形态抽象定义的对象形态包括GeometryForm简单几何,Block块状形态(模型、椭圆体、三角面),Surface表面(切片采样)。

对象形态的具体可视化展示,通过形态样式FormStyle进行描述,如线型、颜色等。

4)、关系

多粒度时空对象的关系模块将对象类之间的所有关系抽象为5类,分别为聚合关系、组合关系、继承关系、关联关系、依赖关系。定义对象之间的关系,前提是其所属的对象类之间已经定义该类关系。

对象的关系通过关系网(Network)描述,关系网记录了该对象与其他对象多种关系,每一种由基本构成元素和链接规则两个方面描述。基本构成元素是用来描述存储对象间关系的,而规则是为了能够实现对象间关系的约束。

关系的基本构成元素分别为关系对象(RObject)、关系节点(RNode)、关系边(REdge)、关系连接(Relation)。其中关系对象是关系节点和关系边的父类,它可以为关系关联对象。关系节点在关系网中表示的是一个结点,它可以包含多个关系连接。关系连接中记录了关系节点所关联的关系边和目标节点。连接规则(RelationRule),主要通过注册的方式添加到关系网中,对关系网中的关系的创建、变化、删除等进行约束和控制。

5、组成

所述的组成表达了同一时空实体的不同粒度,每个对象Sobject既可以看做其对象本身,又可以看做其子对象的组成,并可以根据业务场景的需求灵活呈现。

ComposeElement组成元素,定义某对象的组成元素(即子对象),包含子对象的标识,以及子对象与该对象之间的变换矩阵。

并通过AObjects对象组成的抽象进行对象组成的描述,具体的包含Composition组成关系,表示组成元素(子对象)与该对象之间是一种强关联,Aggregation聚集关系,表示组成元素(子对象)与该对象之间是一种弱关联。

6、行为、认知

行为和认知是对多粒度时空对象基本能力的扩展,是对象感知世界、收集信息、处理信息、触发行为整个过程的抽象。

行为和认知将行为和认知都定义成一种处理模型Model,处理模型通过模型的定义ModelDef和模型的抽象IModel两方面进行描述。

其中,模型定义描述该模型的输入和输出类型,而模型的抽象定义模型本身,其根据对象的行为运动是否需要外部调用,又分为主动模型和被动模型。

优选的,所述的时间参照主要是实现对对象时间属性的定义和表达,及在不同的时间基准下需要进行时间基准的转换,为基本结构模块提供时间参照访问接口,主要功能包括各种时间系统之间的相互转换,以及各种时间格式到标准时间记录方式的转换。

优选的,所述的空间参照主要是实现对对象空间属性的定义和表达,及面向太阳系空间各坐标系的定义和相互转换,为基本结构模块提供空间参照访问接口,主要功能包括定义地球和天球坐标系统,以及实现各坐标系统的相互转换。

优选的,所述的主动模型指对象本身所特有的活动行为,不由外部对象调用,是对象自身在满足一定的触发条件时(时间、规则、状态)触发行为模型。

优选的,所述的被动模型指对象与周围环境或其它对象有关的交互行为,由周围环境、外部对象调用,一般通过事件/消息触发行为模型。

优选的,步骤S3)中,所述的数据库级别索引包括空间索引、属性索引、时间索引、图索引,从而提高数据访问效率。

本发明的有益效果为:

1、本发明的数据库拓展了原有对象模型的描述能力,将属性和方法细化拓展为时空参考、空间位置、形态等8个方面,可以更加全面的表达现实世界,提供更加易于人们理解的直接抽象的数据模型;

2、本发明的数据库通过时空参照的定义,能够对全空间进行统一的建模,将描述的范围由地理实体扩展为现实世界存在的任何时空实体;

3、本发明支持对象具有多形态,一个对象可以具有矢量、模型、BIM等形态,并能够定义形态的样式,而不是将一个空间实体的数据割裂在不同的图层;

4、本发明能够兼容传统的多种数据类型,如常见的矢量数据、3d模型数据、BIM数据、轨迹数据、DEM数据、影像数据、地磁场数据等;

5、本发明通过组成的定义,表达同一时空实体的不同粒度,子对象也可以由更细粒度的子对象组成,该数据模型可以描述具有复杂结构的现实世界;

6、本发明能够表达对象本身和对象之间的判断和行为,描述现实世界和信息世界的动态联系,可以用以描述对象的主动行为和被动行为;

7、本发明通过版本的定义,对对象八个方面的动态变化进行描述,包括对象本身和对象的实时动态数据,记录了每一个对象从创建到消亡的整个全生命周期,使得数据模型描述了一个全动态的现实空间。

附图说明

图1为本发明实施例时空实体的对象化的流程示意图;

图2为本发明实施例对象基本数据结构图;

图3为本发明实施例对象全生命周期管理的结构示意图;

图4为本发明实施例属性的结构图;

图5为本发明实施例对象形态与空间位置的结构图;

图6为本发明实施例对象关系的结构示意图;

图7为本发明实施例对象组成的结构示意图;

图8为本发明实施例对象行为、认知的结构示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明:

本实施例提供一种实体的多粒度时空对象数据库建立方法,包括以下步骤:

S1)、建立多粒度时空对象概念模型

S101)、通过直接建模的方式,将现实世界的任何时空实体抽象并实例化为具备8个方面的对象类,其中,对象以对象类OType的方式进行管理,即同一类时空实体抽象后属于同一对象类,再实例化为该对象类的一个实例;如图1所示,这种数据模型的构建,使得现实世界的任何时空实体以直观的、符合人们日常认知思维的方式进行管理,

S102)、然后将每个对象通过时空参照、空间位置、属性、关系、形态、组成、行为、认知8个方面进行现实世界任何时空实体的描述,解析为对象的对应方面;所述对象的基本数据结构如下图2所示。首先,通过对象类OType定义该类对象在8个方面所具有的共有信息,然后实例化的任意一个对象可以定义其在8个面存在的自身私有信息。

本实施例所述的模型能够兼容传统的多种数据类型,如矢量数据、3d模型数据、BIM数据、轨迹数据、影像数据、DEM数据。无论这些数据作为对象8个方面的哪个方面,都首先创建对应的多粒度时空对象或者其本身就是对象,然后再进一步解析为对象的对应方面。如,矢量数据、3d模型数据、DEM、BIM数据作为对象的形态,而轨迹数据作为对象的动态属性,影像数据可以作为地球对象的样式数据,卫星轨道数据可以定义为卫星对象的行为模型等。

本实施例所述的多粒度时空对象包括空间对象和数据对象两类;数据对象即为对象产生的数据,存储为DObject,如影像数据作为遥感卫星对象观测地球所产生的数据,存储为数据对象。对象类OType、数据对象DObject、时空对象SObject。

如图3所示,本实施例还对每个对象的全生命周期进行相应的管理,所述的模型通过版本的定义描述一个全动态的现实空间,记录了每个对象的全生命周期,并对其进行管理,其中,空间对象SObject和数据对象DObject都继承一个抽象对象AObject,通过抽象对象AObject记录对象的版本信息,本实施例中,所述的版本信息包括创建版本、销毁版本、当前版本。

将对象8个方面中任意一个方面的增、删、改作为一个动作,该动作通过事件的方式进行描述,并记录事件的过程,对象的每个动作都会新增一个版本信息,通过每一个对象所有的版本,实现对象的全生命周期管理。

优选的,步骤S102)中,通过对象的时空参照、空间位置、属性、关系、形态、组成、行为、认知8个方面进行现实世界任何时空实体的描述,具体如下:

1)、时空参照

通过时间、空间参考系统的定义和各参考系之间的转换,将空间系统扩展到了更加宏观和微观的的世界,支持对地球空间以及牛顿定律描述的空间进行所有时空实体的统一建模;

其中,所述的时空参照包括时间参考和空间参考,分别记录每个对象的时间参考和空间参考,任何一个多粒度时空对象都有一个时间参照和空间参照。

所述的时间参照主要是实现对对象时间属性的定义和表达,及在不同的时间基准下需要进行时间基准的转换,为基本结构模块提供时间参照访问接口,主要功能包括各种时间系统之间的相互转换,以及各种时间格式到标准时间记录方式的转换。

优选的,所述的空间参照主要是实现对对象空间属性的定义和表达,及面向太阳系空间各坐标系的定义和相互转换,为基本结构模块提供空间参照访问接口,主要功能包括定义地球和天球坐标系统,以及实现各坐标系统的相互转换。

2)、属性

所述的属性记录时空实体具有的字段信息,每个对象类OType具有共有属性的定义,每个时空对象SObject除实例化所属对象类共有属性,还可定义自己独特的个性属性信息;

其中,对象的属性以属性集合的方式存储,属性集(Attributes)包含所有的属性(Attribute),每一个属性包含属性字段(Field)及字段取值(Domain)。如图4所示为对象属性的模型。

3)、空间位置和形态

空间位置描述对象的空间位置,而对象的形态关联对象的位置,因此,将对象的空间位置模块与对象的形态模块进行一体化的设计,如图5所示。

其中,Forms定义对象形态,一个对象可有多个形态,每一个形态都会与某个位置关联。其中,Position位置描述对象在某空间参考系下的空间位置,Form形态描述对象的形态,即时空实体抽象后的表现形式。对象的形态可以选取AForm形态抽象中定义的形态类型,也可以通过ACustomForm自定义。AForm形态抽象定义的对象形态包括GeometryForm简单几何,Block块状形态(模型、椭圆体、三角面),Surface表面(切片采样)。

对象形态的具体可视化展示,通过形态样式FormStyle进行描述,如线型、颜色等。

4)、关系

多粒度时空对象的关系模块将对象类之间的所有关系抽象为5类,分别为聚合关系、组合关系、继承关系、关联关系、依赖关系。定义对象之间的关系,前提是其所属的对象类之间已经定义该类关系。

对象的关系通过关系网(Network)描述,关系网记录了该对象与其他对象多种关系,每一种由基本构成元素和链接规则两个方面描述。基本构成元素是用来描述存储对象间关系的,而规则是为了能够实现对象间关系的约束。

关系的基本构成元素分别为关系对象(RObject)、关系节点(RNode)、关系边(REdge)、关系连接(Relation)。其中关系对象是关系节点和关系边的父类,它可以为关系关联对象。关系节点在关系网中表示的是一个结点,它可以包含多个关系连接。关系连接中记录了关系节点所关联的关系边和目标节点。连接规则(RelationRule),主要通过注册的方式添加到关系网中,对关系网中的关系的创建、变化、删除等进行约束和控制,如图6所示。

5、组成

所述的组成表达了同一时空实体的不同粒度,每个对象Sobject既可以看做其对象本身,又可以看做其子对象的组成,并可以根据业务场景的需求灵活呈现,如图7所示。

ComposeElement组成元素,定义某对象的组成元素(即子对象),包含子对象的标识,以及子对象与该对象之间的变换矩阵。

并通过AObjects对象组成的抽象进行对象组成的描述,具体的包含Composition组成关系,表示组成元素(子对象)与该对象之间是一种强关联,Aggregation聚集关系,表示组成元素(子对象)与该对象之间是一种弱关联。

6、行为、认知

行为和认知是对多粒度时空对象基本能力的扩展,是对象感知世界、收集信息、处理信息、触发行为整个过程的抽象,如图8所示。

行为和认知将行为和认知都定义成一种处理模型Model,处理模型通过模型的定义ModelDef和模型的抽象IModel两方面进行描述。

其中,模型定义描述该模型的输入和输出类型,而模型的抽象定义模型本身,其根据对象的行为运动是否需要外部调用,又分为主动模型和被动模型。

优选的,所述的主动模型指对象本身所特有的活动行为,不由外部对象调用,是对象自身在满足一定的触发条件时(时间、规则、状态)触发行为模型,例如:电子眼判断闯红灯、交通流量监控等等。这类行为的行为主体是对象自身。

优选的,所述的被动模型指对象与周围环境或其它对象有关的交互行为,由周围环境、外部对象调用,一般通过事件/消息触发行为模型,例如汽车导航、导弹飞行等等。

S2)、建立多粒度时空对象逻辑模型

通过设计对象类、对象、位置、属性、关系、形态、行为、认知的数据表结构,实现多粒度时空对象的逻辑模型设计。

S3)、建立多粒度时空对象物理模型

通过选用PostGIS、Neo4j、Mongodb、GeoMesa、HDFS搭建混合物理存储环境,实现文件、关系数据、位置数据、图数据、模型数据、动态数据、BIM数据、矢量数据、遥感数据等数据的存储,并基于对象逻辑模型构建物理数据库结构,并基于数据库建立数据库级别索引,所述的数据库级别索引包括空间索引、属性索引、时间索引、图索引,从而提高数据访问效率。

S4)、混搭数据库访问接口的设置

为了实现对混搭数据库的访问,基于JAVA语言对每种混搭数据库设置访问接口,包括基于PostGIS实现地理空间数据和对象属性等数据的访问接口、实现基于Neo4j的对象关系数据的访问接口、实现基于Mongodb的对象模型数据的访问接口、实现基于GeoMesa的时空轨迹与传感器时序数据的访问接口、实现基于HDFS的文件数据的访问接口,通过这些类访问接口可以实现对象属性、位置、形态、关系等特征的存储、更新、销毁等访问能力。

S5)、建立多粒度时空对象访问接口,通过定义多粒度时空对象内存结构并整合集成步骤S4)中的接口,实现多粒度时空对象访问接口,通过将自多源的对象数据在多粒度时空对象内存结构中以多粒度时空对象整合,并将多粒度时空对象或者多粒度时空对象集传给多粒度时空对象访问接口,实现对象或者对象集合的存储与更新。下表是实现的接口以及参数描述,其中save接口实现对象集的增加、删除与修改,objects是传入的对象集数据,PbResponseResult是定义的返回数据集的数据结构,包括返回消息以及返回查询数据集,query实现对象的查询,PbSpatialFilter是综合时空检索条件数据结构。

上述实施例和说明书中描述的只是说明本发明的原理和最佳实施例,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号