1. 前言
一提到数据库,大家肯定会想到SQL Server、Oracle等关系型数据库。实际上,数据库的种类非常多,在计算机发展的历史上,存在着多种类型的数据库。
早期,关系型数据库与层次型数据库、网络型数据库并驾齐驱,但关系型数据库依靠其描述简单、实现容易等特点,在竞争中取得了胜利,在上世纪90年代初期,从Foxpro、Access到Oracle、Informix、SyBase、SQL server,关系型数据库一统天下。
但在特定的应用领域中,关系型数据库并不能完美表现,于是,产生了新的数据库类型:在协同办公领域中使用的文档型数据库(如NOTES),在嵌入式应用领域中使用的嵌入式数据库(如SQLite),在工业监控领域使用的实时数据库(如PI),等等。
从发展的历史看, 数据库是数据管理的高级阶段, 它是由文件管理系统发展起来的。 关系数据库产生于20 世纪 60 年代, 是目前在数据库领域中应用最为广泛的数据库产品,主要用于人、财、物的管理,广泛服务于各个行业的管理领域。实时数据库是随着 20 世纪 80 年代工业信息化的发展而产生的, 主要服务于流程企业的生产领域,目前已延伸应用于非流程工业。它的功能主要是将生产过程中产生的大量实时数据采集和存储下来为下一步的优化分析提供数据基础。 关系数据库的发展已成熟, 实时数据库则尚处于发展阶段, 应用空间较大。 除关系数据库、实时数据库外, 其他类型的数据库主要被用来满足特定领域对数据存储的个性化需求,因此它们的应用范围往往限于某一领域,如:应用于网络搜索的非结构化数据库等。
实时数据库的实时性、压缩效率和检索能力等方面远远优于关系数据库。在流程工业中由于生产线规模很大、流程很长,在任一时点生产线均会产生大量生产数据(如:温度、压力、流量等) ,只有采用实时数据库才能对如此大量生产数据进行存储。
2. 数据库种类
2.1. 关系型数据库
关系数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM首先提出,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为数据库架构的主流模型。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。关系型数据库有着以下特点:
容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。
使用方便:通用的SQL语言使得操作关系型数据库非常方便,程序员甚至于数据管理员可以方便地在逻辑层面操作数据库,而完全不必理解其底层实现。
易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。
目前,关系数据库广泛应用于各个行业,用于构筑管理信息系统,如ERP,MIS,EAM等重要系统,是构建管理信息系统,存储及处理关系数据的不可缺少基础软件。
2.2. 实时数据库
实时数据库是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物。实时数据库最起初是基于先进控制和优化控制而出现的,对数据的实时性要求比较高,因而实时、高效、稳定是实时数据库最关键的指标。
早期实时数据库的概念即我们所说的内存数据库,其相当于数据中枢的作用,将厂级相互孤立的DCS数据有效整合起来,在厂级应用中某个DCS的数据可为其他DCS的工艺算法提供数据支持,其有效解决了数据孤岛问题,拓展了DCS的功能,因而,实时数据库在先进控制和优化控制中起到了尤为重要的作用。
但早期的内存数据库并不能有效的解决实时数据的细时间粒度压缩存储,工业模型对象数值属性高度分类抽象,大容量数据的高效实时检索及处理等关键问题。而实时数据库在数据通信、数据组织、数据存储、数据检索、数据访问、数据处理、数据展现等方面的专业化及产品化,为构建基于大容量实时历史数据之上的分析应用提供了便捷稳定的数据支撑,使应用系统可以从更高更深层次充分利用宝贵的生产实时历史数据。
目前,实时数据库已广泛应用于电力、石油石化、交通、冶金、军工、环保等行业,是构建工业生产调度监控系统、指挥系统,生产实时历史数据中心的不可缺少的基础软件。
2.3. 两种数据库的差别
2.3.1. 数据的组织方式
实时数据库可以简单地理解为它是这样的数据库:由测点信息库、实时数据库、历史数据库三个数据库组成。
测点信息库含有一个测点基本信息字段的一张表,这个表以测点标签作为关键字,对应一条测点基本信息的记录包含一条测点的基本配置信息,如压缩偏差,例外偏差,测点描述等。用户可从此数据库中查询测点的基本信息。实时数据库是内存快照数据库,反映了生产实时数据的时间戳、数值、质量等秒级变化。用户可从此数据库中查询生产实时数据的实时数据值(值,时间戳,质量)。
历史数据库是含有一个以测点名称字段和时间字段为关键字的一张表,这张表的另外的一个重要的字段就是数值字段,用来存储测点的采集值,除了这些字段,还可以包含数据的状态,数据质量字段等。随着时间的变化,不断地将实时数据库中的实时数据进行压缩过滤,并更新磁盘历史数据文件中的表里的数据。用户可从此数据库中查询生产实时数据的历史样本值或历史插值数据。
而对于关系数据库则是根据各个实体之间的关系来设计数据表的。
2.3.2. 系统稳定性
由于实时数据库记录的是和生产相关的数据,并且和时间相关,所以要求其必须能够长时间稳定运行,否则就会导致数据的丢失。目前一些实时数据库已经具有缓存数据的功能,当数据采集机器和实时数据库服务器之间通信出现故障时,可以把采集到的数据缓存到本地,当通信恢复正常后,把缓存的数据写入到实时数据库服务器中,极大地保证了数据的完整性。
而对于关系数据库来说,如果不是应用在关键业务,比如金融证券等,对稳定要求一般来说不是很高。
2.3.3. 数据来源
针对不同的类型的企业,实时数据库的数据的来源也不尽相同。主要来源有DCS控制系统,数据采集系统(SCADA),手工录入,关系数据库等。这些数据的主要特点就是都和生产直接相关,并且大多数的数据都是数值型数据,比如设备或介质的压力、温度、流量、位置、电压、电流、功率等。
关系数据库的来源更加多样。除了记录数值数据外,也记录描述性的数据,如姓名家庭住址等信息。
一般来说,实时数据库的数据来源一般是设备。而关系数据库的数据来源一般是来自于人。
2.3.4. 数据压缩
实时数据库因为存储的数据量非常大,比如要采集10000点的数据,每5秒采集一个数据,假设采集的都是32位浮点数,那么一天的数据量(仅数值属性不含时间属性)就是10000*(60/5)*60*24*4/1024=675000K,大约675M的数据。由此可见数据量的庞大,而且占用磁盘的空间大,对数据的访问速度也会降低。因此各个数据库厂家大都开发出自己的数据压缩算法,对数据进行压缩。常用的压缩算法可以分为三类:无损压缩,有损压缩,二级压缩。其中,无损压缩一般以通用压缩理论为基础,采取huffman等经典的压缩算法;而有损压缩则更多地考虑了工业实时数据的特征,而采取的一些特殊舍点算法;二级压缩技术,则是同时利用了这两种数据压缩技术。实时数据库的无损压缩以通用压缩理论为基础。目前比较著名的有损压缩算法,有常用的旋转门压缩算法,以及一些变通压缩算法(如在旋转门算法基础上改用二次均方差作为偏差比较,以提高数据还原精度),这些算法原理都比较简单。
关系型数据库则不会对数据进行压缩。
2.3.5. 数据的访问方式
实时数据库一般有以下3种方式访问数据
1) 使用自己的API,这种方式效率最高也最简单。
2) 使用ODBC或者OLEDB,这种方式不大常用,主要是给那些刚刚接触实时数据库或者以前对关系型数据库了解的用户使用的。
3) 使用Opc方式访问数据。Opc是一种广泛使用的工业标准,虽然效率不高,但是目前很多的厂家都支持。
关系数据库访问数据的方式是通过结构化查询语言(SQL)来访问的。
2.3.6. 应用领域
过程控制系统是实时数据库系统最重要的应用领域之一.在生产装置运行过程中,实时数据库实时记录采集装置的运行数据,随时掌握装置的运行状况,并通过对生产过程的关键数据的监控和分析,对出现的问题及时处理,使生产的运行状态保持安全平稳,当生产状况发生变化时可以及时作出反映;通过对影响原材料用量的过程监视以及对水电汽的用量的监测分析,可以及时发现问题,特别对生产调度人员来说,可以及时地平衡物料供应,减少单耗,提高经济效益。
而关系数据库的应用则广泛的多,在各行各业基本都可以见到。大多数应用在管理方面,比如管理信息系统(MIS),客户关系管理(CRM)等。
2.3.7. 客户端工具
实时数据库由于目前并没有统一的标准,各个实时数据库客户端工具基本上都是由厂商自己提供的,主要是数据展示工具,组态工具,管理工具等。因为主要是面向流程工业,所以实时数据库都带有组态和发布工具。
关系数据库因为应用范围广泛,客户工具相当丰富。除了厂商提供的工具外,第三方软件厂商也可以为关系数据库厂商开发客户端工具。
3. 实时数据库特点
工业监控系统的定义非常大,所有需要对运行设备进行自动化监视、控制的系统都可以定义为工业监控系统,这里面就包括火电厂厂级监控系统(SIS),在这类应用领域中,数据库应用有如下特点:测点数据多、存储量大、时效性强等。
3.1. 测点数量多
一个新建300WM的火电厂的SIS系统,需要处理的测点数超过了10000点,这些测点的变化周期通常在1秒钟之内,也就是说,需要将超过10000点的数据在1秒钟之内保存到数据库中。
3.2. 存储量大
实时数据库的核心就是对大量的实时信息进行处理,由于成年累月的数据将占据大量的硬盘空间。例如对于 1万点的系统,每 1秒钟存储一次,每次单点占用 8个字节,那么保存 10年的数据量将有 10000*8*10*365*86400=25228800000000字节,也就是 23TGB。若用 80GB的硬盘存放,需要存放 293块硬盘!
3.3. 时效性强
每个需要处理的测点的值都与时间相关,一秒钟之后的数据与一秒钟之前的数据可能就不一样了,因此,在保存测点值的同时,必须通过某种方法将其对应的时间也纪录起来。
4. 不选择关系型数据库的理由
关系型数据库,较难处理工业控制领域的数据。主要原因是:
4.1. 插入速度慢
一般关系型数据库是基于事务处理的,在处理失效后,还要回滚作业。所以至少要存放两处,该机制使速度较慢;既使用今日的Intel P4 双至强类CPU,在对2000 个测点进行插入时也用占用10s 以上的时间。而工业监控系统需要面对的是数万点的实时数据以秒级的间隔存放数据。
4.2. 维护困难
商用数据库为了保证完整性,所有的内容往往放在一个文件内,这对海量数据的存放维护发生困难。如果有一个200G 的数据库,完全备份就可能要一天。备份文件中有一个错误就可能导致200G 的备份文件失效,所以不实用。
4.3. 不能满足实时应用的需求
用数据库存放实时数据据及查询方式不能满足实时应用的需要。一个简单的例子是假定以1 秒为间隔存放好了数据,一周有数据604800 组,但是现要以60 秒为间隔取出其中10080 组或者以等间隔原则取出8888 组,标准SQL 语法就较难实现。
因此,工业监控领域以及电厂SIS应用领域,必须寻找适合实时应用需要的实时数据库系统。
实时数据库压缩算法
实时数据库系统的技术核心在于数据压缩。需要将数据经压缩后再存入硬盘,当需要用数据时再解压缩硬盘上的数据。目前用于国内外实时数据库上的压缩算法通常分为两类:无损压缩和有损压缩。
4.1 无损压缩
大多数信息的表达都存在着一定的冗余度,通过采用一定的模型和编码方法,可以降低这种冗余度。Huffman编码是无损压缩中非常著名的算法之一。 WinRar和WinZip等软件都采用了类似Huffman编码的压缩方式。这些压缩方法的共同特点是:压缩和解压过程中,信息不会发生变化。
在实时数据库中,也可以采用这些无损压缩技术,但是在实现时,必须要考虑压缩和解压缩的效率,如果某个压缩算法的压缩比非常高,但是其解压的速度非常慢,则肯定不能用于实时数据库中,否则,人们在查询数据时,会等待得失去耐心。
4.2 有损压缩
相对于无损压缩,有缩压缩肯定会丢失一些信息,但必须要保证这些丢失的信息不能影响系统数据的精度。大家在其它领域中也遇到过有损压缩的应用,比如:JPG图像压缩就是一种有损压缩,MP3声音压缩也是一种有损压缩。
在实时数据库中,有损压缩主要有两种方法:死区压缩和趋势压缩。
死区压缩
所谓死区就是定义某一测点的值不变的范围。采用死区压缩就是记录该点死区之外的数据值。例如有一测点 A,定义其死区为 1%,上次记录的测点值为 110.00,那么此次采集的测点值为 111.00,那么两者差值(111-110)/110<1%,那么认为此次测点值在该点的死区范围内,则认为不变化,即不记录。若下一次测点值为 120.00,那么两者差值(120-110)/110>1%,那么认为此次测点值在该点的死区范围外,则认为变化,记录。
趋势压缩
趋势压缩,是根据测点的阶段性趋势进行压缩,原则上只记录满足趋势条件的起点和终点。PI的旋转门压缩技术是该类算法的典范。
实时数据库系统市场分析
分类 类型 厂商-产品 优缺点
外资 OSI-PI
Aspen-InfoPlus.21
Honeywell-PHD
Instep-Edna
Wonderware-Historian
Rockwell-RSSQL
Siemens-SIMATIC-IT-Historian
内资 北京华恒信远-PI
北京和利时-HiRIS
浙江中控-ESP-iSYS
上海麦杰-OpenPlant
中科启信-Aglior
北京亚控-KingRDB
北京三维力控-pSpace
紫金桥-RealDB
未完待续……
分享到:
相关推荐
在智慧园区建设的浪潮中,一个集高效、安全、便捷于一体的综合解决方案正逐步成为现代园区管理的标配。这一方案旨在解决传统园区面临的智能化水平低、信息孤岛、管理手段落后等痛点,通过信息化平台与智能硬件的深度融合,为园区带来前所未有的变革。 首先,智慧园区综合解决方案以提升园区整体智能化水平为核心,打破了信息孤岛现象。通过构建统一的智能运营中心(IOC),采用1+N模式,即一个智能运营中心集成多个应用系统,实现了园区内各系统的互联互通与数据共享。IOC运营中心如同园区的“智慧大脑”,利用大数据可视化技术,将园区安防、机电设备运行、车辆通行、人员流动、能源能耗等关键信息实时呈现在拼接巨屏上,管理者可直观掌握园区运行状态,实现科学决策。这种“万物互联”的能力不仅消除了系统间的壁垒,还大幅提升了管理效率,让园区管理更加精细化、智能化。 更令人兴奋的是,该方案融入了诸多前沿科技,让智慧园区充满了未来感。例如,利用AI视频分析技术,智慧园区实现了对人脸、车辆、行为的智能识别与追踪,不仅极大提升了安防水平,还能为园区提供精准的人流分析、车辆管理等增值服务。同时,无人机巡查、巡逻机器人等智能设备的加入,让园区安全无死角,管理更轻松。特别是巡逻机器人,不仅能进行360度地面全天候巡检,还能自主绕障、充电,甚至具备火灾预警、空气质量检测等环境感知能力,成为了园区管理的得力助手。此外,通过构建高精度数字孪生系统,将园区现实场景与数字世界完美融合,管理者可借助VR/AR技术进行远程巡检、设备维护等操作,仿佛置身于一个虚拟与现实交织的智慧世界。 最值得关注的是,智慧园区综合解决方案还带来了显著的经济与社会效益。通过优化园区管理流程,实现降本增效。例如,智能库存管理、及时响应采购需求等举措,大幅减少了库存积压与浪费;而设备自动化与远程监控则降低了维修与人力成本。同时,借助大数据分析技术,园区可精准把握产业趋势,优化招商策略,提高入驻企业满意度与营收水平。此外,智慧园区的低碳节能设计,通过能源分析与精细化管理,实现了能耗的显著降低,为园区可持续发展奠定了坚实基础。总之,这一综合解决方案不仅让园区管理变得更加智慧、高效,更为入驻企业与员工带来了更加舒适、便捷的工作与生活环境,是未来园区建设的必然趋势。
labelme标注的json转mask掩码图,用于分割数据集 批量转化,生成cityscapes格式的数据集
(参考GUI)MATLAB GUI漂浮物垃圾分类检测.zip
人脸识别项目源码实战
人脸识别项目实战
本仿真模型基于MATLAB/Simulink(版本MATLAB 2016Rb)软件。建议采用matlab2016 Rb及以上版本打开。(若需要其他版本可联系代为转换) CSDN详情地址:https://blog.csdn.net/qq_50594161/article/details/146242453sharetype=blogdetail&sharerId=146242453&sharerefer=PC&sharesource=qq_50594161&spm=1011.2480.3001.8118
实战练习分词、创建词表、文本处理
在智慧园区建设的浪潮中,一个集高效、安全、便捷于一体的综合解决方案正逐步成为现代园区管理的标配。这一方案旨在解决传统园区面临的智能化水平低、信息孤岛、管理手段落后等痛点,通过信息化平台与智能硬件的深度融合,为园区带来前所未有的变革。 首先,智慧园区综合解决方案以提升园区整体智能化水平为核心,打破了信息孤岛现象。通过构建统一的智能运营中心(IOC),采用1+N模式,即一个智能运营中心集成多个应用系统,实现了园区内各系统的互联互通与数据共享。IOC运营中心如同园区的“智慧大脑”,利用大数据可视化技术,将园区安防、机电设备运行、车辆通行、人员流动、能源能耗等关键信息实时呈现在拼接巨屏上,管理者可直观掌握园区运行状态,实现科学决策。这种“万物互联”的能力不仅消除了系统间的壁垒,还大幅提升了管理效率,让园区管理更加精细化、智能化。 更令人兴奋的是,该方案融入了诸多前沿科技,让智慧园区充满了未来感。例如,利用AI视频分析技术,智慧园区实现了对人脸、车辆、行为的智能识别与追踪,不仅极大提升了安防水平,还能为园区提供精准的人流分析、车辆管理等增值服务。同时,无人机巡查、巡逻机器人等智能设备的加入,让园区安全无死角,管理更轻松。特别是巡逻机器人,不仅能进行360度地面全天候巡检,还能自主绕障、充电,甚至具备火灾预警、空气质量检测等环境感知能力,成为了园区管理的得力助手。此外,通过构建高精度数字孪生系统,将园区现实场景与数字世界完美融合,管理者可借助VR/AR技术进行远程巡检、设备维护等操作,仿佛置身于一个虚拟与现实交织的智慧世界。 最值得关注的是,智慧园区综合解决方案还带来了显著的经济与社会效益。通过优化园区管理流程,实现降本增效。例如,智能库存管理、及时响应采购需求等举措,大幅减少了库存积压与浪费;而设备自动化与远程监控则降低了维修与人力成本。同时,借助大数据分析技术,园区可精准把握产业趋势,优化招商策略,提高入驻企业满意度与营收水平。此外,智慧园区的低碳节能设计,通过能源分析与精细化管理,实现了能耗的显著降低,为园区可持续发展奠定了坚实基础。总之,这一综合解决方案不仅让园区管理变得更加智慧、高效,更为入驻企业与员工带来了更加舒适、便捷的工作与生活环境,是未来园区建设的必然趋势。
人脸识别项目源码实战
学生信息管理系统是一个基于Java Web技术的综合性管理平台。通过此系统,可以实现对学生、教师、选课信息等的动态管理, 提升学校管理效率。系统采用分层架构设计,前端使用HTML、CSS,JavaScript和jQuery,后端基于Servlet,JSP和Spring框架,数据库采用MySQL。主要有四个大功能,学生管理( 增加学生信息、删除学生信息、修改学生信息、查询学生信息)、教师管理(增加教师信息、删除教师信息、修改教师信息、查询教师信息)、选课信息管理(添加选课、查询选课情况、删除选课记录)、系统管理( 登录与注册功能、 用户角色管理(老师,学生,管理员)、系统日志查看)。 技术架构 1.前端技术 HTML,CSS:静态页面布局与样式 JavaScript,jQuery:动态交互、DOM操作和AJAX请求 2.后端技术 Servlet:控制层,处理用户请求 JSP:页面动态生成 Spring:依赖注入,业务逻辑分离 3.数据库 MySQL:存储学生、教师,课程等数据 JDBC:数据库连接与操作
本课程是 PHP 进阶系列之 Swoole 入门精讲,系统讲解 Swoole 在 PHP 高性能开发中的应用,涵盖 协程、异步编程、WebSocket、TCP/UDP 通信、任务投递、定时器等核心功能。通过理论解析和实战案例相结合,帮助开发者掌握 Swoole 的基本使用方法及其在高并发场景下的应用。 适用人群: 适合 有一定 PHP 基础的开发者、希望提升后端性能优化能力的工程师,以及 对高并发、异步编程感兴趣的学习者。 能学到什么: 掌握 Swoole 基础——理解 Swoole 的核心概念,如协程、异步编程、事件驱动等。 高并发处理——学习如何使用 Swoole 构建高并发的 Web 服务器、TCP/UDP 服务器。 实战项目经验——通过案例实践,掌握 Swoole 在 WebSocket、消息队列、微服务等场景的应用。 阅读建议: 建议先掌握 PHP 基础,了解 HTTP 服务器和并发处理相关概念。学习过程中,结合 官方文档和实际项目 进行实践,加深理解,逐步提升 Swoole 开发能力。
人脸识别项目实战
人脸识别项目实战
功能简介:本工具可实现批量对照片文件的人脸识别,并按指定分辨率进行转换保存。 可为人脸识别采集系统提供很好的辅助工具。 软件基本于OPENVC开发,识别精确,转换高效。 人脸识别工具 +人脸采集处理
内容概要:本文探讨了利用肌长变化反馈控制(FCM-ML)和演员-评论家强化学习(ACRL-NGN)来有效实现人体上肢和下肢无意识姿态稳定的算法方法。通过构建一个包含949条肌肉和22个关节的全身计算模型,在不同初始姿势的情况下进行模拟试验,验证了这些方法的有效性和鲁棒性,结果显示FCM-ML方法比其他传统方法更适用于此类任务。研究指出人类及其他脊椎动物在无意识状态下,通过抗拮抗性的肌肉长度变化反馈机制来维持舒适状态下的自然身体姿势(NBP)。此外,研究还表明这种控制策略有助于机器人设计、运动员训练以及康复患者的治疗。 适用人群:生物力学、机器人学以及神经科学领域的研究人员、工程师,以及关注人体姿态控制及其应用的学者和技术人员。 使用场景及目标:①解释人和非人的脊椎动物如何在无意识情况下维持最佳姿势,特别是处于重力环境中的自然身体姿势(NBP)。②为机器人肌肉控制提供理论支持和发展方向,特别是在模拟多肌肉协调控制方面。③指导运动训练及病患恢复计划的设计与优化。 其他说明:研究发现ACRL-NGN结合FCM-ML不仅能够迅速有效地实现期望的姿态稳定性,而且不需要对肌肉分类,这使其在复
反编译apk重要的工具之一
人脸识别项目实战
FDTD复现圆偏振超透镜 ,FDTD; 复现; 圆偏振; 超透镜;,FDTD技术在超透镜复现圆偏振的实践
手势识别项目实战