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虚 ...
随机推荐
- 微信群之Java技术红包问答
缘起 年前公司拿到B+轮融资,相应的在战略上也做了很大的调整,毕竟B轮要做的事情不仅仅是增加用户数,于是乎公司在2017年的开头补充了一部分技术团队,这次人员选择上主要针对一些工作经验在1-2年的技术 ...
- 【Java基础】 static
static static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念.被 ...
- jQuery给CheckBox全选与不全选
$(function(){ $("#checkAll").click(function() {//全选 $('input[name="DATA"]').prop ...
- screen printing
https://www.youtube.com/watch?v=kWKOgHaze0s sample website provide http://midwestsign.com/index.asp ...
- 快速排序OC、Swift版源码
前言: 你要问我学学算法在工作当中有什么用,说实话,当达不到那个地步的时候,可能我们不能直接的感觉到它的用处!你就抱着这样一个心态,当一些APP中涉及到算法的时候我不想给其他人画界面!公司的项目也是暂 ...
- HTML第一课
<标签名 属性>内容</标签名> <标签/> 静态网页与动态网页的区别:是否从数据库提取数据相对路径跟绝对路径../代表高一级的 牛逼的空格< ...
- 4052: [Cerc2013]Magical GCD
4052: [Cerc2013]Magical GCD Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 148 Solved: 70[Submit][ ...
- Servlet 3.0/3.1 中的异步处理
在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理.如果一个请求需要进行IO操作,比如访问数据库.调 ...
- 很污的机器学习:从xhamster网站找到喜欢的片子
前言 最近迷上了看黄片(大雾).每次总是去搜索想看的片子,什么asian porn anal pussy 什么的我都不知道. 搜索着搜索着我手也累了,而且我喜欢的片子也是有一定的特征的,我不想把所有的 ...
- Android -- 自定义ScrollView实现放大回弹效果
1,刚刚在别人开源的项目中看到了一个挺不错的用户体验,效果图如下: 2,那下面我们就来实现一下,首先看一下布局,由于一般只是我们包含头像的那部分方法,所以这里我们要把布局分成两部分,对应的布局文件效果 ...