《连载 | 物联网框架ServerSuperIO教程》- 17.集成Golden实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍
《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。
《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明
《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍
《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。
《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。
《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项
《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项
《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项
《连载 | 物联网框架ServerSuperIO教程》- 9. 协议过滤器,解决一包多发、粘包、冗余数据
《连载 | 物联网框架ServerSuperIO教程》- 10.持续传输大块数据流的两种方式(如:文件)
《连载 | 物联网框架ServerSuperIO教程》- 11.实现设备(驱动)与设备(驱动)交互和级联控制。
《连载 | 物联网框架ServerSuperIO教程》- 12.服务接口的开发,以及与云端双向交互
《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求
《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载
《连载 | 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用
《连载 | 物联网框架ServerSuperIO教程》- 16.OPC Server的使用步骤
目 录
17.支持实时数据库,高并发保存测点数据... 2
17.1 概述... 2
17.2 ServerSuperIO与实时数据库对接... 4
17.2.1 继承动态接口,并设置持久化器... 4
17.2.2 增加设备驱动... 5
17.2.3 配制标签属性... 6
17.2.4 安装实时数据库... 7
17.2.5 配置实时数据库参数... 7
17.2.6 运行程序... 8
17.3 注意事项... 8
17.4 视频演示... 8
17.支持实时数据库,高并发保存测点数据     
17.1 概述
实时数据库系统是开发实时控制系统、数据采集系统等的后台支撑软件。大量使用实时数据库系统进行控制系统监控,系统先进控制和优化控制,并为企业的生产管理和调度、数据分析、决策支持及远程在线浏览提供实时数据服务和多种数据管理功能。实时数据库已经成为企业信息化的基础数据平台,可直接实时采集、获取企业运行过程中的各种数据,并将其转化为对各类业务有效的公共信息,满足企业生产管理、企业过程监控、企业经营管理之间对实时信息完整性、一致性、安全共享的需求,可为企业自动化系统与管理信息系统间建立起信息沟通的桥梁。
实时数据库的一个重要特性就是实时性,包括数据实时性和事务实时性。数据实时性是现场IO数据的更新周期,不能不考虑数据的实时性。一般数据的实时性主要受现场设备的制约,特别是对于一些比较老的系统而言,情况更是这样。事务实时性是指数据库对其事务处理的速度。它可以是事件触发方式或定时触发方式。事件触发是该事件一旦发生可以立刻获得调度,这类事件可以得到立即处理,但是比较消耗系统资源;定时触发是在一定时间范围内获得调度权。
系统框架示意如下图:

ServerSuperIO作为物联网通讯框架,是系统体系化建设的关键节点,同时也需要后台持久化服务的支持。实时采集传感器的点数据,用实时数据库对采集点数据进行时序存储是最理想的。
通过持久化接口进行存储操作,接口示意如下图:

结构示意如下图:

17.2 ServerSuperIO与实时数据库对接
使用过程比较简单,在二次开发设备驱动过程中,继承动态接口实现自定义属性保存实时数据;通过配制工作把设备驱动实现自定义的属性映射成Tag标签,然后设置持久化器;设备通讯后设备驱动会把实时数据更新到实时数据库中。
17.2.1继承动态接口,并设置持久化器
在设备驱动中实现临时保存数据的动态接口,可以把流量或信号之类的数据定义成相应的属性名称,每次采集到数据后更新相应的属性。
代码如下:
public class DeviceDyn:DeviceDynamic
{
public DeviceDyn() : base()
{
}
public override string GetAlertState()
{
throw new NotImplementedException("无报警信息");
}
private float Flow {set;get;}
private float Signal {set;get;}
}
开发好动态数据属性后,在设备驱动的初始化中设置该类持久化器,代码如下:
public DeviceDriver() : base()
{
_devicePara = new DevicePara();
_deviceDyn = new DeviceDyn(); //用实时数据库持久化动态数据
_deviceDyn.InitDataPersistence(new RDBPersistence()); _protocol = new DeviceProtocol();
_contextMenuComponent=new ContextMenuComponent(); }
当然,设备驱动的开发不仅仅包括这些,具体请参见以前的教程。
17.2.2增加设备驱动
运行“ServerSuperIO.Tool.exe”工具,单击【基本配置】菜单。把开发好的设备驱动程序集在配置工具中进行信息配置,证明当前的设备驱动在平台上可以运行,如下图:

上面配置的是程序集的基本信息,可供多个设备驱动实例使用。设备驱动在平台下运行,还需要进行实例化(具体的通讯实例),那么就要挂载设备驱动。挂载过程:创建服务实例,在服务实例下挂载可运行的设备实例。如下图:

17.2.3配制标签属性
运行“ServerSuperIO.Tool.exe”工具,单击【标签配置】菜单,把刚设备挂载的可运行设备驱动的动态数据接口的属性映射成Tag标签。如下图:

17.2.4安装实时数据库
下载“实时数据库安装包及二次开发包.rar”(下载地址)并进行安装,安装之后有服务管理器和企业管理器,如下图:
。
17.2.5配置实时数据库参数
运行“ServerSuperIO.Tool.exe”工具,单击【基本配置】菜单,启动OPC Server服务。如下图:

17.2.6运行程序
可以运行“ServerSuperIO.Host.exe”或“ServerSuperIO.UI.exe”的宿主程序,也可以运行自已二次开发的主程序。
17.3 注意事项
ServerSuperIO服务实例的名称就是实时数据库的点表名称,在配置服务实例名称的时候尽量使用字符和数字。
17.4 视频演示
2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍
2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案
3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO
物联网&集成技术(.NET) QQ群:
下载地址:http://www.bmpj.net/thread-14-1-1.html
《连载 | 物联网框架ServerSuperIO教程》- 17.集成Golden实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。的更多相关文章
- 《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》- 18.集成OPC Client,及使用步骤
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》- 16.集成OPC Server,及使用步骤。附:3.3 发布与版本更新说明。
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...
 - 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》- 5.轮询通讯模式开发及注意事项。附:网友制作的类库说明(CHM)
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 - 《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项
		
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
 
随机推荐
- 内核空间内存申请函数kmalloc  kzalloc  vmalloc的区别
			
我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free().注意:动态申请的内存使用完后必须要释放,否则会造成内存 ...
 - Educational Codeforces Round 63 (Rated for Div. 2)
			
传送门 A. Reverse a Substring 题意: 给你一串 s,让你判断能否通过反转区间[l,r]的元素,使得反转后的串的字典序小于 s: 如果能,输出 "YES",并 ...
 - django上传图片简单验证以及自动修改图片名称
			
django实现文件(图片)上传之后自动修改名称以及页面上传图片时的各种提醒: 1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在s ...
 - redis5.0.3单实例简单安装记录
			
redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...
 - python通过套接字来发送接收消息
			
案例如下: 1.启动一个服务端套接字服务 2.启动一个客户端套接字服务 3.客户端向服务端发送一个hello,服务端则回复一个word,并打印 参考地址:https://www.cnblogs.com ...
 - Evaluation of Forwarding Efficiency in NFV-Nodes Toward Predictable Service Chain Performance
			
文章名称:Evaluation of Forwarding Efficiency in NFV-Nodes Toward Predictable Service Chain Performance 发 ...
 - JMeter的介绍和简单使用
			
Apache官网(https://jmeter.apache.org/)对JMeter的解释: Apache JMeter™ Apache JMeter™应用程序是开源软件, 为负载功能和性能测试 ...
 - Angular+Ionic+RSA实现后端加密前端解密功能
			
因业务需要,需要给android应用安装证书,通过读取证书文件内容实现某些功能的控制: 流程:后台通过publicKey对指定内容的文件进行加密,生成文件共客户下载,客户下载后选择该证书文件读取到应用 ...
 - 移动文件(git mv)
			
使用git mv命令将mian.c移动为main2.c $ git mv main.c main2.c D:\Git\test (master -> origin) $ git status O ...
 - Python-Struct
			
从一个例子开始: >>> from struct import * >>> pack('hhl',1655, 255, 370) b'w\x06\xff\x00r\ ...