一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多源异构CIM数据库融合访问系统及方法与流程

2022-04-30 13:43:20 来源:中国专利 TAG:

一种多源异构cim数据库融合访问系统及方法
技术领域
1.本发明属于数据库访问技术领域,尤其涉及一种多源异构cim数据库融合访问系统及方法。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.城市信息模型(cim,city information modeling),是以城市信息数据为基数,建立三维城市空间模型和城市信息的有机综合体,从范围上讲是大场景的gis数据 小场景的bim数据 物联网的有机结合。因此,一个cim数据库既包含丰富的空间数据,也包含政府各部门的业务数据、iot数据和社会公众产生的数据,这些数据根据来源的不同,存储所采用的数据库也不同,有面向对象的数据库、有关系型数据库,还有其他类型数据库。
4.但是,对于某一个对象,例如一个建筑物,往往在多个数据库中都有相关数据,例如相关遥感影像、gis数据、cad图纸等等,这些都在不同的数据库中进行存储,若要对这些相关数据进行查询,需针对这些数据库进行依次访问和搜索,工作过程繁琐。在创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。并且索引需要占用物理空间,特别是聚集索引,需要较大的空间。在实际操作过程中,当对表中的数据进行增加、删除和修改等操作时,索引也要动态的维护,降低了数据的维护速度。


技术实现要素:

5.为克服上述现有技术的不足,本发明提供了一种多源异构cim数据库融合访问系统及方法。通过构建编目,实现了不同来源数据的整合和索引,结合预先配置的不同数据库的账户信息,能够实现不同数据源的动态切换。
6.为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
7.一种多源异构cim数据库融合访问系统,包括数据库服务器、业务服务器和客户端;所述业务服务器,被配置为包括:
8.账户信息配置模块,用于管理所述多个数据库的账户信息;
9.编目信息配置模块,用于管理编目信息,所述编目信息包括数据资源目录,用于存储数据资源的基本信息及数据来源;
10.数据查询模块,用于接收客户端发送的查询请求,根据所述编目信息,确定待查询数据的数据库来源;根据所述数据库来源获取相应账户信息,并创建访问链接;获取查询结果并反馈至所述客户端;
11.所述客户端,被配置为:获取查询请求,并发送至业务服务器,以及接收业务服务器反馈的查询结果。
12.进一步地,所述查询请求为地点名称、项目名称、项目开工完工时间或项目编号。
13.进一步地,所述查询结果包括查询请求相应区域的遥感影像、gis数据、地形数据
和建筑bim数据。
14.进一步地,所述客户端还包括:数据可视化模块,用于对查询结果进行可视化。
15.进一步地,所述可视化基于轻量化bim引擎,具体包括:
16.分离bim模型的拓扑结构,抽取bim模型中的对应数据并用于显示。
17.进一步地,分离bim模型的拓扑结构,包括以下过程:
18.通过方向包围盒进行两个构件的碰撞关系初判断;
19.根据初判断结果,遍历其中一个构件的所有边线几何上的线段,向另外一个构件的所有面做两个段射线检测,如果不相交,则归为不相交类;如果相交,但距离小于线段长度,归为不相交;如果相交,且小于线段长度,归为相交类;
20.两个构件分别进行边界几何点对另外一个构件的面的相交判断,如没有任意数据出现在相交类,则判定两构件不相交,反之如有任意线段与任意面相交,则判定两物体有碰撞;
21.判断两个构件是否为包含关系,取第一构件的所有几何点位置为起点,向任意方向发射射线,与第二构件监测碰撞;
22.如所有碰撞信息中,单个碰撞的次数均为奇数,则判定第二构件包含第一构件,如所有的碰撞信息中,单个碰撞的次数均为偶数,则判定第二构件不包含第一构件;如所有碰撞信息中,既有偶数也有奇数,则判定第二构件部分包含第一构件,则第二构件和第一构件发生碰撞。
23.一个或多个实施例提供了一种多源异构cim数据库融合访问方法,预先配置多个数据库的账户信息,以及编目信息,所述编目信息包括数据资源目录,用于存储数据资源的基本信息及数据来源;所述方法包括以下步骤:
24.接收客户端发送的查询请求,根据所述编目信息,确定待查询数据的数据库来源;根据所述数据库来源获取相应账户信息,并创建访问链接;获取查询结果。
25.进一步地,所述查询请求为地点名称、项目名称、项目开工完工时间或项目编号。
26.进一步地,所述查询结果包括查询请求相应区域的遥感影像、gis数据、地形数据和建筑bim数据。
27.进一步地,所述客户端还包括:数据可视化模块,用于对查询结果进行可视化。
28.以上一个或多个技术方案存在以下有益效果:
29.通过构建编目,实现了不同来源数据的整合和索引,为后续数据的查询和应用提供了基础;通过预先配置不同数据库的账户信息,在基于编目获取数据源后,能够快速访问相应数据库,实现了数据源的动态切换。
30.通过数模分离的机制将几何信息与非几何信息进行分别存储,按需调用,基于轻量化bim引擎,能够对构件拓扑关系及属性进行必要性判断,保证模型完整性的基础上对bim模型进行数据抽取,并且使用分块式加载方式,使得数据加载效率更高,更加流畅。
附图说明
31.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
32.图1为本发明实施例一中所述多源异构cim数据库融合访问系统框架图;
33.图2为本发明实施例二中所述多源异构cim数据库融合访问方法整体流程图。
具体实施方式
34.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
35.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
36.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
37.实施例一
38.本实施例公开了一种多源异构cim数据库融合访问系统,所述系统包括数据库服务器、业务服务器和客户端。
39.所述数据库服务器包括异构的多个数据库,用于存储不同来源的数据,例如关系型数据库,用于存放各类业务相关数据;文件数据库用于存放系统中所有的文件数据,空间数据库则用于保存如坐标、点位信息、二三维图形相关数据;时序数据库用于保存实时数据信息等。各类数据库在系统使用过程中根据需要进行配置,以保证系统的高效稳定运行;
40.所述业务服务器与数据库服务器通信连接,被配置为包括:
41.账户信息配置模块,用于管理所述多个数据库的账户信息;
42.编目信息配置模块,用于管理编目信息,所述编目信息包括资源目录与多个数据库之间的对应关系。其中,所述资源目录是按照信息资源分类体系或其他方式对信息资源核心元数据的有序排列,用于管理相关遥感影像、gis数据、cad图纸信息资源等。
43.信息资源核心元数据是描述信息资源各种属性和特征数据的基本集合,包括信息资源的内容信息、管理信息、获取方式信息等等。通过信息资源核心元数据的描述,信息资源目录使用者能够准确地了解和掌握信息资源的基本概况,发现和定位所需要的信息资源。所述管理信息包括信息资源对应的数据、数据源名称、数据库名称和数据库链接。预先根据数据类型,将数据在后台与相应的数据库绑定,根据数据库名称、数据源名称、数据库的链接、用户名、密码等信息,即可以实现访问。
44.数据查询模块,用于接收客户端发送的查询请求,根据所述编目信息,确定待查询数据的数据库来源;根据所述数据库来源获取相应账户信息,并创建访问链接;获取查询结果并反馈至所述客户端。在用户发起调用指令时,通过链接地址进行访问,后台支持多个链接同时访问同一数据库,极大提高使用人员工作效率。
45.所述客户端与业务服务器通信连接,被配置为包括:
46.数据查询模块,用于获取查询请求,并发送至业务服务器,以及接收业务服务器反馈的查询结果;所述查询请求包括但不限于地点名称、项目名称、项目开工完工时间、项目编号等。
47.数据可视化模块,包括查询结果显示单元,用于对查询结果进行可视化。作为一种实施方式,除查询结果显示单元外,所述数据可视化模块还包括多个其他显示单元,供用户
选择显示的数据,所述显示单元包括但不限于bim模型显示单元、物联网数据显示单元(即对设置传感器等数据采集装置的地方进行数据显示)。若要在查询结果的基础上,对相应区域的bim模型进行可视化,则调取相应bim数据,基于轻量化bim引擎进行可视化。
48.具体地,基于轻量化bim引擎进行可视化具体包括:分离bim模型的拓扑结构,根据查询结果,抽取bim模型中的对应数据并用于显示。
49.本实施例采用了数模分离的机制,几何信息与非几何信息分别存储,按需调用,同时使用了分块式加载的方式,使整体使用更加流畅;bim引擎前端使用webgl技术,对数据做了轻量化的处理,兼容电脑、手机、平板等各个平台,查询方便。
50.本实施例所述的bim引擎,包括如下改进:
51.(1)提升模型渲染速度:原bim引擎可以在pc浏览器中快速浏览。为保证建筑在手机端能够快速加载,bim引擎进一步进行数模分离。并将多个实例同时渲染降低drawcall,明显提高了图形绘制帧率。
52.(2)按需加载:bim引擎分离出bim模型拓扑结构后,只加基本框架结构和开关、有线电视、阀门、暖气片等终端数据,不加载管线等隐蔽工程数据,大大减少了数据的加载量,提升数据交互速度,提升用户体验。
53.(3)模型检测:bim引擎对构件拓扑关系及属性进行必要性判断,保证模型上传时bim模型的完整性。
54.分离bim模型的拓扑结构,包括以下过程:
55.通过方向包围盒进行两个构件的碰撞关系初判断;
56.根据初判断结果,遍历其中一个构件的所有边线几何上的线段,向另外一个构件的所有面做两个段射线检测,如果不相交,则归为不相交类;如果相交,但距离小于线段长度,归为不相交;如果相交,且小于线段长度,归为相交类;
57.两个构件分别进行边界几何点对另外一个构件的面的相交判断,如没有任意数据出现在相交类,则判定两构件不相交,反之如有任意线段与任意面相交,则判定两物体有碰撞;
58.判断两个构件是否为包含关系,取第一构件的所有几何点位置为起点,向任意方向发射射线,与第二构件监测碰撞;
59.如所有碰撞信息中,单个碰撞的次数均为奇数,则判定第二构件包含第一构件,如所有的碰撞信息中,单个碰撞的次数均为偶数,则判定第二构件不包含第一构件;如所有碰撞信息中,既有偶数也有奇数,则判定第二构件部分包含第一构件,则第二构件和第一构件发生碰撞。
60.还包括住宅内的物体判断,步骤如下:
61.自动形成房间范围模型:
62.把整个地板视为一个平面空间,计算墙的空间拓扑关系;
63.取所有墙的叶节点,沿最近节点的反方向发射射线,去碰撞另外一个墙体,生成新的点位,根据生成新的点位结合原封闭墙面生成一个单独的空间;
64.将原先整个平面切割成多个空间,并获得封闭的、连续的和用来形容房间平面的点位信息;
65.进行碰撞空间的优化,利用标高和板与板距离信息来获取房间高度,利用封闭点
位信息和房间高度来生成立体的房间模型,根据房间模型进行房间内物体判断。
66.判定某设备或者构件,是否在某房间范围内:
67.使用一个构件上的点发射射线,与另外一构件发生碰撞,监测碰撞次数的奇偶性,再判定包含关系;在房间内构件的判定通过构件发射射线,与房间模型发生碰撞,监测碰撞次数的奇偶性,再判定包含关系。
68.作为一种具体地实现方式,所述bim引擎,可以采用如下bim数据图形引擎,该图形引擎的具体操作为以下步骤:
69.s1:ifc文件信息解析,利用apstex ifc framework将bim软件导出的ifc文件进行解析,主要获取ifc文件中的结构及构件的类型、属性信息。
70.s2:结构属性信息存储,将解析后的数据按结构、构件、属性进行分表存储到mysql数据库中。
71.分出的结构表中信息由project、site、building、buildingstorey形成四层信息关联结构,由buildingstorey与构件表中的构件信息相关联,每个构件的若干属性信息由属性表采用name-value的形式进行存储。
72.s3:ifc图形转换,利用ifcopenshell中的ifcconvert将ifc转化为dae(collada)文件,转化完成后,在nodejs服务端利用threejs中的colladaloader.js转化dae文件,在转化过程中再使用simplifymodifier.js将部分几何进行减面和减顶点优化处理。
73.s4:图形数据存储,通过scene.tojson方法获取图形数据,初步获取到的数据存在冗余,因此将几何数据重构,并将上述几何对象存储至mongo数据库中。
74.几何对象包括:type、name、guid、material_uuid、geometry、matrix、data等信息,材质数据暂时不做处理,正常存储至mongo数据库中。
75.s5:构件信息更新,将ifc文件中解析出的构件属性信息转成json对象,并更新至mesh对象的userdata属性中。
76.s6:接口开发,围绕着常规应用,后端采用java语言进行接口开发。
77.后端采用java语言进行接口开发主要提供:文件信息获取接口、图形mesh获取接口、ifc结构获取接口等以用于前端调用。
78.s7:渲染交互,前端通过接口获取图形数据,然后利用threejs库的objectloader.js进行加载并渲染到浏览器中,并在前端实现例如测量、剖切、漫游、视图切换等常规功能。
79.实施例二
80.本实施例提供了一种多源异构cim数据库融合访问方法。预先配置多个数据库的账户信息,以及编目信息,所述编目信息包括数据资源目录,用于存储数据资源的基本信息及数据来源;所述方法具体包括以下步骤:
81.接收客户端发送的查询请求,根据所述编目信息,确定待查询数据的数据库来源;根据所述数据库来源获取相应账户信息,并创建访问链接;获取查询结果。
82.以上实施例二中涉及的各步骤与实施例一相对应,具体实施方式可参见实施例一的相关说明部分。
83.以上一个或多个实施例具有以下技术效果:
84.通过构建编目,实现了不同来源数据的整合和索引,为后续数据的查询和应用提
供了基础;通过预先配置不同数据库的账户信息,在基于编目获取数据源后,能够快速访问相应数据库,实现了数据源的动态切换。
85.利用轻量化技术和lod技术实现城市级海量(亿级别)数据的同步加载、浏览、编辑、分析和输出,支撑地上地下、室内室外三维场景的快速浏览及二三维一体化展示;最大程度上实现二维数据、三维数据、bim数据、倾斜摄影数据、物联网大数据等多源数据融合,可为构建数字城市应用的基础平台提供有效支撑。
86.本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
87.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献