基于高并发语言的物联网接入模块的制作方法

文档序号:16097675发布日期:2018-11-27 23:47阅读:280来源:国知局

本发明涉及物联网技术领域,具体地涉及一种基于高并发语言的物联网接入模块。



背景技术:

传统工业级的设备及传感器接入,都是通过PLC中转,将电气设备和传感器接入PLC,然后通过485或者串口将数据接入IP网络,PLC成本高,施工复杂,编程和开发难度大,响应速度和接入的设备数量都存在很大的瓶颈。现在工业环境中,传感器数量巨大,型号和制式繁多,这些接入设备升级更新频繁,要解决这些问题,需要一种更加灵活,拓展性强,性能更加优异的接入方案,支持多线程,高并发,大批量,实时数据分析和采集,以及设备和传感器状态监控和管理等。



技术实现要素:

为了克服现有技术中的上述不足,本发明提供一种基于高并发语言的物联网接入模块,其能够能处理高并发、大数据量的请求,并且,可以接入大批量设备而保持高性能和稳定。

本发明提供一种基于高并发语言的物联网接入模块。所述物联网接入模块包括接入服务器、接入设备和协议转换器。当所述接入设备为IP设备时,所述接入设备直接连接到所述接入服务器,并且,当所述接入设备为非IP设备时,所述接入设备通过所述协议转换器连接到所述接入服务器。所述接入服务器连接到IP网络。在所述接入服务器、所述接入设备和所述协议转换器都被上电后,服务启动,开启TCP监听,开通对外数据收发的通讯通道,获取解析数据,从获取的解析数据提取用于生成下联设备的指令的相关数据,响应于所述下联设备的连接请求来对相应请求进行处理,根据预定的规则建立与所述下联设备的通讯通道,其中,所述下联设备为所述接入设备或所述协议转换器。

优选地,所述获取解析数据是从内置的解析脚本或从外部获取的解析脚本中获取解析数据。

优选地,所述获取解析数据是基于自定义的通信协议自动获取解析数据。

优选地,所述接入服务器对所述接入设备实时采集的数据进行实时分析、汇聚和综合分析。

优选地,所述接入服务器对所述接入设备的通讯状态、故障状态、告警状态和实时数据进行全面监控。

优选地,当所述下联设备不具备主动上报数据能力时,所述接入服务器将轮询指令下发给所述下联设备中。

优选地,所述接入服务器监控所述下联设备的指令控制、状态监控和固件升级。

优选地,所述接入服务器是运行接入服务程序的单片机。

优选地,所述接入设备是工业传感器。

优选地,所述接入设备是串口设备、IP设备、458设备和RS232设备中的一种或多种。

优选地,所述协议转换器是485线、数字量输入输出接线、模拟量输入输出接线、RS232串口线中的一种。

本发明可以替代PLC,采用通用搭载linux系统的嵌入式板运行,成本低,功耗小,安装简单,施工周期短,可远程操作,节省大量人工。本发明对接入设备适应性好,能接入市面上常见的各种设备。扩展性强,可以通过简单配置,通过远程操作,即可以将新的设备接入。本发明采用Golang开发的基于协程的并发程序,能处理高并发、大数据量的请求,并可以接入大批量设备而保持高性能和稳定。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1为利用根据本发明的基于高并发语言的物联网接入模块进行设备接入的示例的基本流程图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本发明提供一种基于高并发语言的物联网接入模块。所述物联网接入模块包括接入服务器、接入设备和协议转换器,其中,接入设备和协议转换器也被统称为下联设备。当接入设备为IP设备时,接入设备直接连接到所述接入服务器。相反,当接入设备为非IP设备时,接入设备通过协议转换器连接到接入服务器。接入服务器连接到IP网络。在接入服务器、接入设备和协议转换器都被上电后,服务启动,开启TCP监听,开通对外数据收发的通讯通道,获取解析数据,从获取的解析数据提取用于生成下联设备的指令的相关数据,响应于下联设备的连接请求来对相应请求进行处理,根据预定的规则建立与下联设备的通讯通道。

下面结合利用根据本发明的基于高并发语言的物联网接入模块进行设备接入的示例来描述本发明的物联网接入模块。图1示出了利用根据本发明的基于高并发语言的物联网接入模块进行设备接入的示例的基本流程图。

首先,将工控板(充当接入服务器)、协转器和接入设备按照施工原理图连接,按照组网要求配置各个设备的网络(即,联网),然后将它们全部上电。上电后服务会自启动,下联设备(即,协转器和/或接入设备)通过各种通讯管道接入服务(步骤S1)。这里的工控板指的是运行接入服务程序的单片机。也就是说,工控板是物理上的一块电路板,上面运行的是接入服务器程序。协转器需要接在接入服务器上,当然是通过网络进行连接的。如果接入设备(比如工业传感器)是IP设备,则该接入设备可以直接连接到接入服务器,否则作为非IP设备的接入设备需要通过协转器(通过485线、数字量输入输出接线、模拟量输入输出接线、RS232串口线中的一种,或者其他的电气信号线连接)连接到接入服务器。联网指的是连接到IP网络。具体地,接入服务器需要连接IP网络。请注意,这里的嵌入式工控板搭载定制Linux系统,运行采用Golang开发的接入服务器程序,采用自定义的物联通信协议,基于socket和modbus进行数据通信。

然后,开启TCP监听(步骤S2),即,监听通讯管道。通讯管道是指接入服务器和下联设备之间的通讯管道,下联设备为例如协转器、传感器等等。同时,将下联设备传入的数据进行解码,得到即时数据,依据解析脚本进行数据分析,根据规则进行告警,数据上报等等。

接下来,开通对外数据收发通道(步骤S3)。此后,获取解析数据(步骤S4)。具体地,在各个设备都启动完毕后,工控板使用内置解析脚本或者即时去拉取解析脚本,从解析脚本中提取相关数据,组装成各下联设备的相关指令,按照通讯协议编码。这里还有一个配套系统,用来管理各种设备以及接入服务器等等,其包括管理各种接入设备的解析脚本,接入服务器会去这个配套系统里拉取解析脚本。相关数据指的是解析下联设备采集的数字信号所需要的数据,例如温度传感器采集的数字信号,上来的是2字节,最高位是正负号,代表温度是零度以上还是零度以下,这些解析的要求需要在解析脚本里进行配置和说明,这些数据就是相关数据了,即一段代码。氧气传感器的解析数据是另一种规则,即另一段代码,等等。另外,请注意,接入服务器每次启动,会去脚本存放的服务器自动下载相应的解析脚本,还有就是接入服务器会监听脚本服务器发送的更新事件,一旦脚本发生变更,这边会收到更新事件,接入服务器就会重新下载新的解析脚本。如果新增某一个类型的设备,则通过设备说明,配置相应解析脚本。同时,通过消息通知接入服务器程序,或者直接重启接入服务器程序,新型号的设备就能接入。

随后,处理下联设备连接请求(步骤S5)。具体地,接入服务程序响应各个下联设备接入请求,开启协程(协程是一种用户态的轻量级线程。线程是进程的一个实体,是CPU调度和分派的基本单位,它是此进程更小的能独立运行的基本单位,这是操作系统里的概念,接入服务器采用了协程这种方式来实现并发处理,效率更高,性能更好)对相关联的请求进行处理。同时,接入服务器程序缓存和持有所有接入设备的连接,保持心跳,使通讯管道可用。这里的心跳是指下联设备和接入服务器之间定期交互特定的数据包,让接入服务器明确知道下联设备的状态,例如:是否在线,是否正常采集数据等等。

接着,依据一定规则建立通讯管道,并对通讯管道进行全生命周期管理(步骤S6)。这里的通讯数据都是按照自定义协议被编码的。依据解析脚本进行数据分析,根据规则进行告警,数据上报等等。期间还会同步进行网络状态监控,下联设备的各种指令控制、状态监控和固件升级等等。

特别地,像485类型的设备不具备主动上报数据能力,就需要将轮询指令下发到设备中。一般的传感器,采集的数据会通过一根信号线持续往外送,只要接受这个信号线的数据就可以一直得到最新的采集数据了,但是485设备是不支持的,485设备采集的数据是存储在寄存器里面的,所以需要通过读取寄存器里面数据才能得到485设备最新采集的数据。这里的轮询指令就是将各个485设备存储采集数据的寄存器地址进行编码,组成一条或者若干条指令读取寄存器数据的指令,这部分指令数据是按照modbus协议进行组织的,发送给485设备,485设备响应读取指令,就会返回相应寄存器里面的数据给接入服务器,接入服务器会按照一定的时间间隔进行发送这些指令来获取数据和读取485设备状态。对于嵌入式设备,嵌入式系统通过socket定时向接入服务器发送自己的各项数据,接入服务器也通过socket发送数据包操作嵌入式设备,例如控制开关状态,接入服务器发送一条开关控制指令数据包到接入设备,接入设备通过socket收到数据包后,按照通讯协议进行解码,得知需要控制开关,然后给电气设备发送电平信号操作开关。

最后,下联设备通过通讯管道来进行数据收发(步骤S7)。如上所述,根据本发明的基于高并发语言的物联网接入模块,基于自定义的物联网设备私有通信协议,自动获取解析脚本,对设备实时采集的数据进行实时分析,汇聚数据,进行综合分析,进行预定义的决策。对接入设备的通讯状态、故障状态、告警状态、实时数据等等进行全面监控。维护通讯管道,对接入设备通信提供稳定高效的指令和数据交互渠道。可以提供大批量设备接入能力,采用Golang开发的接入服务器,对多线程、高并发有着强力支持,通过协议转换器,将各种不同协议接口的物联设备统一接入服务器上,支持串口设备、IP设备、458设备、RS232设备。

因此,本发明可以替代PLC,采用通用搭载linux系统的嵌入式板运行,成本低,功耗小,安装简单,施工周期短,可远程操作,节省大量人工。本发明对接入设备适应性好,能接入市面上常见的各种设备。扩展性强,可以通过简单配置,通过远程操作,即可以将新的设备接入。本发明采用Golang开发的基于协程的并发程序,能处理高并发、大数据量的请求,可以接入大根据规则进行告警,数据上报等等批量设备而保持高性能和稳定。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1