《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附: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.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

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

通过持久化接口进行存储操作,接口示意如下图:

《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

结构示意如下图:

《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

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”工具,单击【基本配置】菜单。把开发好的设备驱动程序集在配置工具中进行信息配置,证明当前的设备驱动在平台上可以运行,如下图:

《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

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

《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

17.2.3配制标签属性

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

《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

17.2.4安装实时数据库

下载“实时数据库安装包及二次开发包.rar”(下载地址)并进行安装,安装之后有服务管理器和企业管理器,如下图:《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

17.2.5配置实时数据库参数

运行“ServerSuperIO.Tool.exe”工具,单击【基本配置】菜单,启动OPC Server服务。如下图:

《连载 | 物联网框架ServerSuperIO教程》- 17.支持实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。

17.2.6运行程序

可以运行“ServerSuperIO.Host.exe”或“ServerSuperIO.UI.exe”的宿主程序,也可以运行自已二次开发的主程序。

17.3     注意事项

ServerSuperIO服务实例的名称就是实时数据库的点表名称,在配置服务实例名称的时候尽量使用字符和数字。

17.4     视频演示


1.[连载]《C#通讯(串口和网络)框架的设计与实现》

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

上一篇:Android学习过程中遇到的问题


下一篇:Ubuntu 12.04 安装 Apache2+PHP5+MySQL