CN117421304A - 面向数字孪生平台的关系型和时序型数据库协同运行方法 - Google Patents
面向数字孪生平台的关系型和时序型数据库协同运行方法 Download PDFInfo
- Publication number
- CN117421304A CN117421304A CN202311449953.1A CN202311449953A CN117421304A CN 117421304 A CN117421304 A CN 117421304A CN 202311449953 A CN202311449953 A CN 202311449953A CN 117421304 A CN117421304 A CN 117421304A
- Authority
- CN
- China
- Prior art keywords
- database
- time sequence
- relational
- data
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013461 design Methods 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 9
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 4
- 238000009434 installation Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 241000512668 Eunectes Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种面向数字孪生平台的关系型和时序型数据库协同运行方法,属于数字孪生平台数据库协同运行技术领域;所要解决的技术问题为:提供一种面向数字孪生平台的关系型和时序型数据库协同运行方法的改进;解决该技术问题采用的技术方案为:在本地安装关系型数据库服务程序和时序型数据库服务程序,并在项目中配置关系型数据库服务和时序型数据库接口;完成对关系型数据库和时序型数据库的物理设计;使用插件编写时序型数据库的接口代码;调用关系型数据库和时序型数据库的数据接口,采用SQL语句和No‑SQL语句对数据库执行增加、删除、查询和修改功能;本发明应用于数字孪生平台数据库协同运行。
Description
技术领域
本发明提供一种面向数字孪生平台的关系型和时序型数据库协同运行方法,属于数字孪生平台数据库协同运行技术领域。
背景技术
随着工业4.0时代的到来,工业装备系统呈现出复杂化趋势,对设备运行维护的难度更大,要求更高;数字孪生技术作为工业互联网时代最受关注的新兴技术,为解决复杂装备系统故障诊断、预测性维护、协调优化等难点提供新的思路;数字孪生平台数据处理是构建数字孪生系统的技术难点,在复杂场景下高效实现数据采集、数据预处理、数据存储和数据访问是数字孪生系统稳定可靠运行的技术保障。
目前采用以下手段支持对数字孪生系统的构建和运行:
(1)改进网络结构和硬件条件以满足数字孪生数据存储需求;
(2)使用关系型、键值型等数据库构建数字孪生数据架构;
(3)使用大数据云存储技术实现数字孪生数据的云边协同;
而上述三种方式各有利弊,其中:
第(1)种架构方式能够高效快速搭建稳定的数字孪生系统数据存储结构,但是不适用于大规模数据量的数字孪生平台;
第(2)种方式采用技术较为成熟的数据库技术,但是对时序性大数据的处理仍然存在短板;
第(3)种云存储技术较好的避免了前两种方式的弊端,但是云存储服务器大多由非开源公司提供,并且不适用于涉及机密数据的业务场景。
根据数字孪生数据特性分析,数字孪生系统数据库既要满足大量实时高并发的时序性数据读写,也要满足复杂业务数据存储,而以上提出的三种数据架构方式均不能很好的满足数字孪生平台的需要;考虑到数字孪生平台既要进行实时数据的演示,也需要用机理模型执行实时分析预测等业务,单纯使用时序性数据库或关系型数据库均无法满足数字孪生平台的需求。
发明内容
本发明为了克服现有技术中存在的不足,所要解决的技术问题为:提供一种面向数字孪生平台的关系型和时序型数据库协同运行方法的改进。
为了解决上述技术问题,本发明采用的技术方案为:一种面向数字孪生平台的关系型和时序型数据库协同运行方法,包括如下的协同运行步骤:
步骤S1:在本地安装关系型数据库服务程序和时序型数据库服务程序,并在项目中配置关系型数据库服务和时序型数据库接口;
步骤S2:完成对关系型数据库和时序型数据库的物理设计;
步骤S3:使用Telegraf插件编写时序型数据库的OPC UA接口代码;
步骤S4:使用Django Controller调用关系型数据库和时序型数据库的数据接口API,采用SQL语句和No-SQL语句对数据库执行增加、删除、查询和修改功能。
所述步骤S1中安装服务程序和配置接口的具体方法为:
下载对应操作系统版本的数据库软件安装包,并按照官方文档完成关系型数据库和时序型数据库的安装和测试;
在Django环境中安装关系型数据库接口包,并在项目中的Settings.py文件中完成Database的配置,正确填写ENGINE、NAME、USER、PASSWORD、HOST、PORT信息,完成项目与关系型数据库的连接配置;
在Django环境中安装时序型数据库接口,配置url、token、org的信息,完成时序型数据库的配置及初始化。
所述步骤S2中对关系型数据库和时序型数据库进行物理设计的具体方法为:
根据需求分析,分析实体、关系和属性,实体之间关系按照1:1、1:N、N:M关系设计外键和关系表,完成关系型数据库的概念设计、逻辑设计、物理设计;
设计时序型数据库,完成数据库、测量值、数据标签、数据字段、时间戳的设计。
所述步骤S3中编写接口代码的具体方法为:
打开时序型数据库页面,输入账号密码登录,配置Telegraf插件用于读取实时设备数据;
打开Telegarf插件,选择对应的Bucket名称,搜索OPC UA Client;
打开OPC UA Client,对OPC UA通讯协议接口进行编程,实现设备之间的数据交换和通信。
所述步骤S4中调用数据接口运行数据库的具体方法为:
在Django Controller中编程,并使用No-SQL语言在时序型数据库中执行查询操作,读取现场设备实时数据;
在Django Controller中编程,使用SQL语句在关系型数据库中实现增加、删除、查询和修改功能。
本发明相对于现有技术具备的有益效果为:本发明针对数字孪生平台内部数据特性,提出了一种开源稳定、对时序数据和业务数据有较为稳定处理能力的R-TSDB数据架构(关系型数据库+时序型数据库)及协同运行方法,用于处理数字孪生平台的高并发时序数据和复杂业务数据;本发明使用时序数据库存储DCS系统实时数据,实现平台时序数据存储,采用的时序数据库是一种专门针对时间序列数据的数据库系统,能够支持大量实时高并发的时序性数据读写,有较为理想的历史数据压缩存储能力,使用关系型数据库存储平台业务数据,保存机理模型计算结果,如调度指令、协同优化方案、预警预测信息,预防性维护等业务数据;本发明采用的关系数据库技术成熟,可高效安全稳定的实现数字孪生平台对数据的处理、存储和读取功能,确保数字孪生平台的稳定运行。
附图说明
下面结合附图对本发明做进一步说明:
图1为本发明采用R-TSDB双核数据架构及协同运行效果图;
图2为本发明采用数字孪生平台时序型数据库的设计效果图。
具体实施方式
如图1和图2所示,本发明提供一种面向数字孪生平台的关系型和时序型数据库(R-TSDB数据架构)协同运行的方法策略,主要在Apache+Python+Django环境下使用,选取InfluxDB作为时序数据库(TSDB),MySQL作为关系数据库(RDB),具体的实施方式如下:
步骤S1:在本地安装MySQL数据库服务和InfluxDB 2.7数据库服务,并在Django环境中安装Python MySQL Driver,编写InfluxDB数据接口API。
步骤S1的具体实施步骤如下:
步骤S11:从MySQL官网和InfluxDB官网下载对应系统版本的软件安装包,并按照官方文档完成数据库的安装和测试。下载Navicatfor MySQL并安装,作为MySQL的数据库管理软件。打开Navicat软件,点击新建连接,输入连接名、主机地址、端口、用户名和密码,点击测试连接,提示正确后点击确定,完成新建连接。新建连接完成后,点击新建数据库,输入数据库名称,字符集推荐使用UFT8字符集,以免出现数据乱码。
步骤S12:推荐使用Anaconda软件搭建Django环境;可通过新建虚拟环境搭建Django项目工作环境,并在虚拟环境中安装pymsql驱动;在Anaconda的Environment中,搜索pymysql包,点击Apply完成pymsql驱动安装。
步骤S13:在Anaconda的Environment中搜索influxdb_client包,点击Apply完成influxdb_clientd的安装;由于InfluxDB在Django框架中没有成熟的数据接口,因此在Django需要手动编写InfluxDB数据接口。
InfluxDB数据接口编写方法:从influxdb_client中导入(import)InfluxDBClient类,并新建一个client对象,在client对象初始化时传入influxDB的Url、Token和Org信息,完成influxDB的数据对象client初始化。
InfluxDB读写接口编写方法:利用数据接口对象client,使用client.write_api()和client.query_api()对象方法,传入influxDB语言实现对数据库的访问查询功能。
步骤S2:按照关系型数据库设计方法设计MySQL数据库,明确实体、关系和属性,完成数据库物理设计,设计时序型数据库InfluxDB数据库物理结构。
步骤S2的具体实施步骤如下:
步骤S21:根据需求分析,分析实体、关系和属性,实体之间关系按照1:1,1:N和N:M关系设计外键和关系表,完成关系型数据库的概念设计、逻辑设计和物理设计:
如果2个实体是1:1关系,则在任意一张实体表中增加另一个实体的主键作为外键即可;
如果2个实体是1:N关系,则在N侧实体表中增加1侧实体的主键作为外键;
如果2个实体是N:M关系,则需要新增一张关系表,将N侧和M侧的实体主键均存入关系表中作为外键。
步骤S22:设计influxDB时序型数据库,完成数据库(Bucket)、测量值(Measurement)、数据标签( Tags)、数据字段(Fields)、时间戳(Timestamp)的设计。
数据库(Bucket)设计:数据库按照物理实体系统名字命名,根据系统功能新建多个数据库,有效避免数据过大导致数据库运行效率降低;一个数据库包含多个测量值。
测量值(Measurement)设计:测量值是按照Key-Value形式存储记录该数据的测点信息;测量值是唯一的且一般不会变化。
数据标签(Tags):数据标签是按照Key-Value形式存储记录该数据所属的设备名称、设备位置、测点位置、测量单位等具体信息;数据标签的值一般不会变化。
数据字段(Fields):数据字段是记录该数据的I/O类型,如温度、湿度、电流等;数据字段所对应的值单独记录,随时间实时变化。
时间戳(Timestamp):时间戳是记录该数据的采集时间,influxDB会自动按照UTC标准时间为每条数据标记时间戳。
步骤S3:使用Telegraf插件配置InfluxDB的OPC UA接口,实现与现场设备通信,对设备测点实时数据进行采集存储。
步骤S3的具体实施步骤如下:
步骤S31:打开influxDB数据库页面(http://localhost:8086),输入账号密码登录;在数据库(Bucket)处选择从Telegraf导入数据。
步骤S32:打开Telegarf插件,选择对应的Bucket名称,搜索OPC UA Client。Telegarf插件也支持其他通信协议,可在Telegarf插件中搜索对应协议,并进行编程;实施例中使用的是OPC UA协议实现通信。
步骤S33:打开OPC UA Client,对OPC UA通讯协议接口进行编程,实现从工业自动化系统中实现设备之间的数据交换和通信。
步骤S4:使用Django Controller调用MySQL Driver和InfluxDB数据接口API,利用SQL语句和InfluxDB语句对数据库执行增加、删除、查询和修改功能。
步骤S4的具体实施步骤如下:
步骤S41:在Django Controller中编程,并使用InfluxDB语言在InfluxDB数据库中执行查询操作,读取现场设备实时数据。
使用influxDB语言编写查询语句,关键词from是明确查询的数据库名称(Bucket);range是明确查询的时间(如-5s,表示5秒前数据);filter是过滤器,用于明确具体查询条件,如测量值、数据标签值或者数据字段值等。
Django Controller中引入InfluxDB数据接口InfluxDBAPI,创建并初始化InfluxDBClient对象,使用InfluxDBClient.query_api.query()方法执行数据库查询操作。
Django Controller中引入InfluxDB数据接口InfluxDBAPI,创建并初始化InfluxDBClient对象,使用InfluxDBClient.write_api.query()方法执行数据库新增操作。
InfluxDBClient.query_api.query()方法的返回值是influxRecord格式,可自定义函数将其转换为Python Dict格式,以便于其他程序使用。
步骤S42:在Django Controller中编程,使用SQL语句在MySQL数据库中实现增加、删除、查询和修改功能。
在Django Controller项目文件中,从django.db中引入connection,并初始化cursor对象;编写Select、Insert、Update等SQL语句,使用cursor对象调用execute方法,完成对MySQL数据库的增删查改。
cursor对象调用execute方法的返回值为Python List格式,可自定义函数将List格式转换为Python Dict格式,以便于其他程序使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种面向数字孪生平台的关系型和时序型数据库协同运行方法,其特征在于:包括如下的协同运行步骤:
步骤S1:在本地安装关系型数据库服务程序和时序型数据库服务程序,并在项目中配置关系型数据库服务和时序型数据库接口;
步骤S2:完成对关系型数据库和时序型数据库的物理设计;
步骤S3:使用Telegraf插件编写时序型数据库的OPC UA接口代码;
步骤S4:使用Django Controller调用关系型数据库和时序型数据库的数据接口API,采用SQL语句和No-SQL语句对数据库执行增加、删除、查询和修改功能。
2.根据权利要求1所述的一种面向数字孪生平台的关系型和时序型数据库协同运行方法,其特征在于:所述步骤S1中安装服务程序和配置接口的具体方法为:
下载对应操作系统版本的数据库软件安装包,并按照官方文档完成关系型数据库和时序型数据库的安装和测试;
在Django环境中安装关系型数据库接口包,并在项目中的Settings.py文件中完成Database的配置,正确填写ENGINE、NAME、USER、PASSWORD、HOST、PORT信息,完成项目与关系型数据库的连接配置;
在Django环境中安装时序型数据库接口,配置url、token、org的信息,完成时序型数据库的配置及初始化。
3.根据权利要求2所述的一种面向数字孪生平台的关系型和时序型数据库协同运行方法,其特征在于:所述步骤S2中对关系型数据库和时序型数据库进行物理设计的具体方法为:
根据需求分析,分析实体、关系和属性,实体之间关系按照1:1、1:N、N:M关系设计外键和关系表,完成关系型数据库的概念设计、逻辑设计、物理设计;
设计时序型数据库,完成数据库、测量值、数据标签、数据字段、时间戳的设计。
4.根据权利要求3所述的一种面向数字孪生平台的关系型和时序型数据库协同运行方法,其特征在于:所述步骤S3中编写接口代码的具体方法为:
打开时序型数据库页面,输入账号密码登录,配置Telegraf插件用于读取实时设备数据;
打开Telegarf插件,选择对应的Bucket名称,搜索OPC UA Client;
打开OPC UA Client,对OPC UA通讯协议接口进行编程,实现设备之间的数据交换和通信。
5.根据权利要求4所述的一种面向数字孪生平台的关系型和时序型数据库协同运行方法,其特征在于:所述步骤S4中调用数据接口运行数据库的具体方法为:
在Django Controller中编程,并使用No-SQL语言在时序型数据库中执行查询操作,读取现场设备实时数据;
在Django Controller中编程,使用SQL语句在关系型数据库中实现增加、删除、查询和修改功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311449953.1A CN117421304A (zh) | 2023-11-02 | 2023-11-02 | 面向数字孪生平台的关系型和时序型数据库协同运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311449953.1A CN117421304A (zh) | 2023-11-02 | 2023-11-02 | 面向数字孪生平台的关系型和时序型数据库协同运行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117421304A true CN117421304A (zh) | 2024-01-19 |
Family
ID=89528133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311449953.1A Pending CN117421304A (zh) | 2023-11-02 | 2023-11-02 | 面向数字孪生平台的关系型和时序型数据库协同运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117421304A (zh) |
-
2023
- 2023-11-02 CN CN202311449953.1A patent/CN117421304A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182404B2 (en) | Data replication technique in database management system | |
US8712965B2 (en) | Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse | |
CN100440205C (zh) | 利用联机分析处理变型先发地高速缓存的系统和方法 | |
CN104252501B (zh) | 一种执行数据库操作命令的计算设备和方法 | |
US9251222B2 (en) | Abstracted dynamic report definition generation for use within information technology infrastructure | |
US11055352B1 (en) | Engine independent query plan optimization | |
US11321315B2 (en) | Methods and systems for database optimization | |
CN113010547B (zh) | 一种基于图神经网络的数据库查询优化方法及系统 | |
CN102426582B (zh) | 数据操作管理装置和数据操作管理方法 | |
CN103177056A (zh) | 存储为行存储和列存储二者的混合数据库表 | |
US20140046928A1 (en) | Query plans with parameter markers in place of object identifiers | |
US9930113B2 (en) | Data retrieval via a telecommunication network | |
CN103177058A (zh) | 存储为行存储和列存储二者的混合数据库表 | |
US20160246854A1 (en) | Parallel transactional-statistics collection for improving operation of a dbms optimizer module | |
WO2023231665A1 (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
EP2610768B1 (en) | Data archiving and de-archiving in a business environment | |
CN108763323B (zh) | 基于资源集和大数据技术的气象格点文件应用方法 | |
CN114730312A (zh) | 从异构数据源创建的受管物化视图 | |
US9373093B2 (en) | Gateway service manager for business object applications | |
US20150302113A1 (en) | Apparatus and methods for organizing data items by directed graph | |
US11615061B1 (en) | Evaluating workload for database migration recommendations | |
CN117421304A (zh) | 面向数字孪生平台的关系型和时序型数据库协同运行方法 | |
CN115168389A (zh) | 请求处理方法以及装置 | |
EP2990960A1 (en) | Data retrieval via a telecommunication network | |
EP3436988B1 (en) | "methods and systems for database optimisation" |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |