共计 1372 个字符,预计需要花费 4 分钟才能阅读完成。
最近要构建一个综合自动化剖析平台,需要是实现煤矿十几个子自动化零碎的数据收集、剖析、报表、统计性能。
当初的趋势是构建物联网大数据平台。然而现有零碎是基于传统的 EF5+PSpace 实时数据库。
先从实时数据库开始下手剖析。拿到 sdk 是.net、java、c 三种。最初一种不会。剖析前两种。
pSpace
pSpace 是一个高性能、高吞吐能力、可靠性强、跨平台的实时 / 历史数据库系统,能够用于采集、压缩、存储、加工、剖析任何带有工夫个性的生产信息,产品提供全系列的工业通信接口及 ERP 业务接口,实现生产监控到调度治理的完满整合,极大地提高企业智能化及决策的精度和速度。
上面是 pSpace 的架构图,咱们做到我的项目应该是在最上层,首要的是读取 PSpace 的数据。
在 pSpace SDK 设计中采纳了分层架构的思维,别离蕴含 psAPISDK.dll、pSpaceAPI.dll、psNetClient.dll 模块,其中 psAPISDK.dll 为内部接口模块,pSpaceAPI.dll 为外部实现接口模块,psNetClient.dll 为服务器客户端模块。次要实现了以下性能:
.Net SDK
Java SDK
开发
pSpace 的数据分为实时数据和历史数据。历史数据能够做成 API 接口模式提供给 Web 前端。实时数据如果采纳短连贯,也能行,毕竟我的项目面向用户少。但总感觉不太优雅。也想了几种形式:SDK 提倡用公布 / 订阅模式订阅实时数据,钻研后也实现了,防止了短连贯对数据库性能的影响。
简略的 demo(跑了一下午,数据没中断,证实这种形式可行):
....
tagTree = TagTree.CreateInstance(dbConnector);
rootNode = tagTree.GetTreeRoot();
tagManager = tagTree.GetMgr();
vector = new TagVector();
vector.Add((ITag)rootNode.SelectSingleNode("/ 电力监控总 / 地方变电所 /J1 高开 Uab@PV"));
RealDataSet dataSet = new RealDataSet();
realSubscriber = new RealSubscriber();
realSubscriber.CreateAndRead(dbConnector, vector, dataSet);
var evt = new RealDataChangedEventHandler(realSubscriber_RealDataChanged);
realSubscriber.RealDataChanged += evt;
realSubscriber.Enabled = true;
...
java、windows service 也尝试,都能够实现,惟一有余是无奈应用.net core。用.net core 须要配合 windows service 或者.net framework。有工夫用.net core 把 sdk 重写。
实现的 web+ 挪动端
前面的架构(参考他人设计 ^v^)
对于物联网
当初物联网技术倒退炽热,大部分能够间接基于 MQTT 协定写入实时数据库。前面筹备试用 TDengine+EMQX。也有很多能够参考,阿里云、华为云等云厂商都有物联网平台。但限于数据安全性,目前施行性不大,公有部署平台还行。