一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法技术

技术编号:38383028 阅读:11 留言:0更新日期:2023-08-05 17:40
本发明专利技术公开了一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法,包括在BIM大数据中,BIM模型里隐含着大量的模型几何物理属性等结构化数据,将其通过Revit的导出接口,然后采用ODBC方式导入到关系数据库MySQL,以结构化数据形式存储在若干关系表中;对于各类非结构化数据,借鉴关系数据库概念设计E

【技术实现步骤摘要】
一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法


[0001]本专利技术涉及数据存储模型,具体是指一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法。

技术介绍

[0002]目前,BIM项目研发缺乏大数据集成应用思维,不符合新型互联网环境下资源共享、互补合作的建筑产业化发展趋势,建设BIM大数据集成应用平台是一个有意义的研发工作。其中,底层数据的组织存储直接影响着平台的高性能高可用特性,研究实现一种科学的数据存储模型至关重要。
[0003]BIM大数据具有典型的非结构化数据特点,仅采用传统SQL关系数据库的关系模型来组织和存储数据是不科学的,需结合NoSQL非关系数据库,研究“SQL+NoSQL”混合数据存储模型,即:基于关系模型组织存储BIM项目中的结构化数据,主要指BIM模型的几何物理属性数据;基于非关系模型组织存储BIM项目中的非结构化数据,主要指BIM模型、文档、图片数据等。同时,在一定程度上也实现了BIM数模分离,使得BIM模型轻量化。

技术实现思路

[0004]为解决上述技术问题,本专利技术提供的技术方案为:一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法,其包括以下步骤:
[0005](1)建立结构化数据的关系模型——SQL
[0006]在BIM大数据中,BIM模型里隐含着大量的模型几何物理属性以及项目相关的结构化数据,将其通过Revit的导出接口,然后采用ODBC方式导入到关系数据库MySQL,以结构化数据形式存储在若干关系表中;
[0007](2)建立非结构化数据的非关系模型——NoSQL
[0008](2.1)对于BIM大数据中的各类非结构化数据,把它们看作实体,应用关系数据库概念设计E

R图,表达各类非结构化数据之间的联系;
[0009](2.2)将E

R图中的每一个实体映射成文档型非关系数据库MongoDB中的每一个collection集合,collection中存储的每一个document文档即是实体对应关系表中的元组;
[0010](2.3)将E

R图中实体之间的联系映射成MongoDB中document之间的“引用”和“嵌入”,采用引用还是嵌入,需要结合常做的业务操作的效率问题。
[0011](3)设计BIM大数据的非结构化数据中客户交付数据的MongoDB数据模型,实现物理存储。其中,对于大于16M的数据采用GridFS方式实现存储。
[0012]优选地,所述BIM大数据的非结构化数据包括BIM模型/轻量化模型、模型导出的CAD图纸和图片、视频动画以及项目报告文档。
[0013]本专利技术与现有技术相比的优点在于:本专利技术提出的BIM大数据“SQL+NoSQL”混合数
据存储模型能很好地解决不同类型数据的融合集成这一影响BIM大数据技术落地的难题,为开发BIM大数据集成应用平台构建了一个科学的底层数据组织与存储;有了可靠稳定高质量的数据基础,再经过平台应用层开发,可以满足新型互联网环境下建筑行业资源共享、互补合作的产业化发展需求。
附图说明
[0014]图1是本专利技术结构化数据的关系模型示意图。
[0015]图2是本专利技术非结构化数据的E

R示意图。
[0016]图3是本专利技术映射的collection示意图。
[0017]图4是本专利技术两个document之间产生引用的示意图。
[0018]图5是本专利技术单独存放BIM模型的示意图。
具体实施方式
[0019]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0020]实施例:
[0021]结合附图1

5,本实施例公开了一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法,包括以下步骤:
[0022](1)建立结构化数据的关系模型——SQL
[0023]在BIM大数据中,BIM模型里隐含着大量的模型几何物理属性以及项目相关的结构化数据,将其通过Revit的导出接口,采用ODBC方式导入到关系数据库MySQL,以结构化数据形式存储在若干关系表中;经实验,不同BIM模型导入MySQL,会生成一套相同的关系模式,如图1所示(显示部分),这样就统一了底层结构化数据的存储模型,便于实现数据应用。
[0024](2)建立非结构化数据的非关系模型——NoSQL
[0025]BIM大数据中的非结构化数据主要指BIM项目完成后,给客户交付的数据,包括:BIM模型/轻量化模型、模型导出的CAD图纸和图片、视频动画以及项目报告文档(如净高分析报告、错漏碰缺报告等)。
[0026]把各类非结构化数据看作实体,借助关系数据库概念设计的E

R图表达出它们以及它们之间的联系,如图2所示。
[0027]接着,将E

R图中的每一个实体(即关系数据库中的每一个关系表)映射成文档型非关系数据库MongoDB中的每一个collection(集合),collection中存储的每一个document(文档)即是对应关系表中的元组;以“BIM模型”实体为例,映射的collection如图3所示,其中存储了两个document。每个文档会自动生成一个唯一标识“_id”,同时也保留了关系表的主码,如“BIM模型编号”。
[0028]接着,将E

R图中实体之间的联系,即关系表之间的参照完整性,映射成MongoDB中document之间的“引用”和“嵌入”。引用和关系表中的外码作用几乎一样,用于表示document之间的关联。如图4所示,通过“BIM模型编号”,两个document之间产生引用,相当
于存储了集合“BIMRVTFiles”和“ExportCADPic”之间的关联。嵌入会将两个关系表映射成一个collection,采用了非规范化设计思想,目的在于提高查询效率。那么,采用引用还是嵌入,需要结合常做的业务操作的效率问题。例如,经常需要查询BIM模型以及导出的CAD图纸相关信息,如果采用引用方式,设计了两个collection,则意味着两个集合要频繁进行连接操作,查询效率低,此时可以考虑嵌入方式。又例如,如果一个集合和多个集合有关联,某个业务操作经常需要更新该集合的非主属性,此时采用引用方式更合适,避免了数据存储冗余,那么就只需更新这个集合的文档数据,无需更新其它集合,提高了更新效率。
[0029]最后,设计出BIM大数据中非结构化客户交付数据的MongoDB数据模型,实现物理存储。需要注意的是MongoDB的文档只能存储最本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BIM大数据的“SQL+NoSQL”混合数据存储模型的建立方法,其特征在于,包括以下步骤:(1)建立结构化数据的关系模型——SQL在BIM大数据中,BIM模型里隐含着大量的模型几何物理属性以及项目相关的结构化数据,将其通过Revit的导出接口,然后采用ODBC方式导入到关系数据库MySQL,以结构化数据形式存储在若干关系表中;(2)建立非结构化数据的非关系模型——NoSQL(2.1)对于BIM大数据中的各类非结构化数据,把它们看作实体,应用关系数据库概念设计E

R图,表达各类非结构化数据之间的联系;(2.2)将E

R图中的每一个实体映射成文档型非关系数据库MongoDB中的每一个c...

【专利技术属性】
技术研发人员:侯筱婷黄一玠谷敬豪
申请(专利权)人:西安建筑科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1