ServerSuperIO 3.5版本的体系结构,以及未来规划的几点思考
一.特点
1.轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。
2.不仅是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。
3.支持协议驱动器,可以按规范写标准协议和自定义协议。
4.支持发送数据缓存器,支持命令缓存重发和按优先级别发送。
5.支持协议过滤器,按规则筛选数据,并且可以承继接口,自定义过滤方式。
6.支持接收数据缓存器,可以缓存不符合过滤器的数据,和下次接收数据进行拼接。
7.支持按设备命令优先级别进行调度设备,保证有高级别命令的驱动及时发送。
8.支持一个设备驱动,同时支持串口和网络两种通讯方式,可以监视IO通道数据。
9.支持一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。
10.支持多设备共享同一IO通道进行通讯。
11.支持定时清理超时的网络IO通道。
12.支持显示视图接口,满足不同显示需求。
13.支持服务组件接口,4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。
14.支持OPC Server服务和OPC Client服务。
15.支持实时数据库。
16.支持创建多服务实例,完成不同业务的拆分。
17.支持跨平台部署,可以运行在Linux和Windows系统。
18.设备驱动与设备驱动,设备驱动与服务器(云端)可以实时双向交互,上传数据和指令下发。
二. 现在的体系结构
ServerSuperIO正在向体系化方面发展,在基础核心框架稳定的情况下,逐步的在丰富内容。现在3.5版本的体系结构如下图:

三.未来规划的几点思考
- 设备驱动
“设备”泛指各类终端数据源,例如:PLC、传感器、大型设备、仪表、PC机客户端等等。现在的问题是缺少各类“设备”驱动的集成,这部分工作量比较大,也比较耗时。可以先从某个行业作为切入点,把相关的设备驱动集成进来,例如:环保行业等等。同时,也需要更多的网友能够加到现在的建设团队中,如果网友愿意把行业的驱动贡献出来,ServerSuperIO完整源代码也将对网友或团体开放,本着贡献对等的原则。
2. 实时数据库与业务的结合
实时数据库非常适合保存监测点的时序数据,但是也有其缺点,就是对业务数据的支持,也可以理解为适合保存设备产生的数据,不适合保存人产生的数据。弥补这个问题,就涉及到关系数据库与实时库数据库怎么结合的问题?我的想法是,现在设备驱动的监测数据和OPC Client读过来的数据都是以Tag的方式存在,把这部分进行统一配置,在关系数据库按业务划分逻辑组别把相关Tag包含进来,这样形成对业务数据的整体整合,当然这只是一部分想法,还可以把其他的策略加进来,逐步完善。
3. UI显示HMI
HMI也是ServerSuperIO比较欠缺的方面,我的想法是利用组态软件形成界面,按Tag与实时数据库进行结合,可能也有更好的方案,都可以随时交流。
以上就是这些内容,希望感兴趣的网友广泛讨论、交流。
2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍
2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案
3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO
物联网&集成技术(.NET) QQ群:
下载地址:官方网址
ServerSuperIO 3.5版本的体系结构,以及未来规划的几点思考的更多相关文章
- CSDN开博一周年--总结、感想和未来规划
2012年9月22日,我在CSDN发表了第1篇博文-为了忘却的纪念,我的天龙游戏生涯.本文讲述了我大学期间玩网络游戏-天龙八部的故事. 在大学期间,实际上我也有自己的帐号-huoyingfans,主要 ...
- 《专访 RocketMQ 联合创始人:项目思路、技术细节和未来规划》
专访 RocketMQ 联合创始人:项目思路.技术细节和未来规划 木环 阅读数:138092017 年 2 月 20 日 18:00 编者按 这些年开源氛围越来越好,各大 IT 公司都纷纷将一 ...
- 阿里技术专家详解 Dubbo 实践,演进及未来规划
Dubbo 整体介绍 Dubbo 是一款高性能,轻量级的 Java RPC 框架.虽然它是以 Java 语言来出名的,但是现在我们生态里面已经有 Go.Python.PHP.Node.JS 等等语言. ...
- 独立博客网站FansUnion.cn运营2年的经验和教训以及未来规划
今天,我把运营了2年的独立博客网站FansUnion给"归零"了. 2012年6月,我成功搭建了自己的博客网站FansUnion.cn,这是由于自己的不懈努力和时代发展成就的 ...
- YTT的提问以及由此引出的未来规划之思考
未来规划之思考 我已经很久没有考虑过未来的规划了,之所以没有规划,是因为我觉得现实是复杂的,我现在的认知还不够深刻,建立在肤浅认知上的规划是容易经受现实的冲击而轻易改变的,与其规划变来变去,还不如干脆 ...
- 关于未来IT职业教育的思考
回首过去20年的IT教育,从基本的办公软件(应用软件)到基础设施培训(网络.ps.3d等)再到软件开发(java等),可以说是见证了中国计算机发展的整个阶段,随着时代的变迁,计算机从最初的普及阶段到深 ...
- 阿里技术专家详解Dubbo实践,演进及未来规划
https://mp.weixin.qq.com/s/9rVGHYfeE8yM2qkSVd2yEQ
- TLSv网络安全标准,会话加密协议展望未来
本文是关于TLSv1.3采用的三部分系列的第三部分也是最后一部分.它解决了网络加密和监控的选项,包括备用会话加密协议. 通过TLSv1.3的批准,并在IETF出版物队列中,是时候考虑部署选项和障碍,并 ...
- 1_JVM与Java体系结构
目录 JVM与Java体系结构 前言 架构师每天都在思考什么? 为什么要学习JVM Java vs C++ 推荐书籍 Java生态圈 字节码 多语言混合编程 Java发展的重大事件 虚拟机与Java虚 ...
随机推荐
- VUE2.0实现购物车和地址选配功能学习第六节
第六节 地址列表过滤和展开所有的地址 html:<li v-for="(item,index) in filterAddress">js: new Vue({ el:' ...
- java标签(label)求16进制字符串的整数和 把一个整数转为4个16进制字符表示
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #4f76cb } p.p2 { margin: 0.0px 0. ...
- [C#7] 1.Tuples(元组)
1. 老版本代码 class Program { static void Main(string[] args) { var fullName = GetFullName(); Console.Wri ...
- MySQL Sniffer
MySQL Sniffer 是360开源的一个基于 MySQL 协议的抓包工具, 能实时抓取客户端端请求,并格式化输出操作语句,操作十分简单.对于问题的定位,操作的审核是个不错的利器. Github地 ...
- 基于Struts自定义MVC-2
自定义MVC 数据库:Oracle表:User(id,uname,upwd)自定义Struts框架一.定义Action接口 import javax.servlet.http.*; pu ...
- observe.js 源码 学习笔记
/** * observejs --- By dnt http://kmdjs.github.io/ * Github: https://github.com/kmdjs/observejs * MI ...
- 一个可以将 json 字符串 直接绑定到 view 上的Android库
android-data-binding 这是一个可以将 json 字符串 直接绑定到 view 上的库, 不用先将 json 转换为 model 类. 传送门(https://github.com/ ...
- ACM 阶乘的0
阶乘的0 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 计算n!的十进制表示最后有多少个0 输入 第一行输入一个整数N表示测试数据的组数(1<=N< ...
- WeMall微信商城源码插件代金券部分代码
WeMall微信商城源码插件Coupon代金券代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php na ...
- 3101: N皇后
3101: N皇后 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 88 Solved: 41[Submit][S ...