CN115442446A - 一种工业互联网下微服务架构的工业通信管理系统及方法 - Google Patents
一种工业互联网下微服务架构的工业通信管理系统及方法 Download PDFInfo
- Publication number
- CN115442446A CN115442446A CN202211055146.7A CN202211055146A CN115442446A CN 115442446 A CN115442446 A CN 115442446A CN 202211055146 A CN202211055146 A CN 202211055146A CN 115442446 A CN115442446 A CN 115442446A
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- module
- user
- processing module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004891 communication Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 105
- 239000000284 extract Substances 0.000 claims abstract description 14
- 238000007726 management method Methods 0.000 claims description 96
- 238000011161 development Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000004806 packaging method and process Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种工业互联网下微服务架构的工业通信管理系统及方法,该系统包括:前端界面模块采集用户信息;消息处理模块将用户信息输入消息队列中,生成界面消息队列;数据处理模块提取界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对界面消息队列进行解包,生成用户数据;协议管理模块利用远程过程调用方式将用户数据传输给自定义协议模块;自定义协议模块提取序列化数据结构文件的数据类型与数据格式,并利用数据类型与数据格式将用户自定义协议转化为工业协议;设备管理模块基于用户数据进行设备管理。本方法也扩展了接入协议的种类,实现了对协议插件化灵活管理,从而扩展了通信设备的种类,也提高了可复用性。
Description
技术领域
本发明涉及工业通信技术领域,具体涉及一种工业互联网下微服务架构的工业通信管理系统及方法。
背景技术
随着工业互联网的发展,各类智能采集器、控制器、边缘计算等技术开始融入到工业生产过程的各个环节中,各种智能设备的接入,带来种类繁多的工业协议,要实现各类智能设备的兼容,需要实现大量不同的工业协议,对这些协议的自定义开发、可持续管理以及对多种设备的灵活管理成为了工业生产软件的一个开发难点重点,同时,为打造出部署简单、轻量、好用、智慧、易维护的工业通信软件,各工业软件制造商以及物联网厂商开始在设计产品架构时考虑互联网技术如微服务架构等。
微服务是系统架构上的一种设计风格,主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过RESTful API(RESTful风格的接口,是一套协议来规范多种形式的前端和同一个后台的交互方式)方式进行通信协作,被拆分成的每一个小型服务,单独维护着自身的数据存储,具有组件化、松耦合、自治、去中心化的小、独、轻、松的特点,这些微服务可以使用不同的语言来编写。
当前与设备层接入的通信系统从整体设计思路上主要有两种:一是仍旧将工业控制作为一个单体服务系统进行设计开发,设计一个完整的监控系统;在这种设计模式下,用户自定义开发协议以及对自定义开发协议进行运行调试的难度巨大;系统封闭,只支持特定的协议,不同设备种类的支持性较差;用户在部署时需要完整地部署一整套监控系统,且由于系统内部拓扑结构复杂,封装不够完善,用户部署难度高。
二是将系统和监控平台分开,这种设计的思路仅被少数开源系统采用,这些系统虽然已经将设备通信和原有的监控软件进行了拆分,但仍是将数据展示、数据传输、协议解析、设备管理作为一个整体进行设计,仍旧不够轻量、简单,并且在如何管理用户自定义开发协议上仍有较大缺陷,用户必须下载通信系统完整的源代码再进行协议开发,开发难度较大,代码维护难度高;对不同种类设备的支持性也较差。
由此可见,在这两种思路下,均不能在不增加过多开发量的情况下解决部署简单易用、系统的可复用、协议插件化灵活管理和多设备接入的问题。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中与设备层接入的通信系统不能在不增加过多开发量的情况下解决部署简单易用、系统的可复用、协议插件化灵活管理和多设备接入的缺陷,从而提供一种工业互联网下微服务架构的工业通信管理系统及方法。
本发明实施例提供了一种工业互联网下微服务架构的工业通信管理系统,包括:
前端界面模块、消息处理模块、数据处理模块、协议管理模块、自定义协议模块和设备管理模块;
前端界面模块,用于采集用户信息,将用户信息发送给消息处理模块;
消息处理模块,用于将用户信息输入消息队列中,生成界面消息队列,并将界面消息队列发送给数据处理模块;
数据处理模块分别连接消息处理模块、协议管理模块和设备管理模块,用于提取界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对界面消息队列进行解包,生成用户数据;
协议管理模块,用于利用远程过程调用方式将用户数据传输给自定义协议模块;
自定义协议模块,用于基于用户数据获取用户自定义协议与序列化数据结构文件,提取序列化数据结构文件的数据类型与数据格式,并利用数据类型与数据格式将用户自定义协议转化为工业协议,将工业协议通过协议管理模块传输给设备;
设备管理模块,用于基于用户数据进行设备管理。
本发明提供的一种工业互联网下微服务架构的工业通信管理系统,通过远程过程调用方式给用户自定义协议提供接入方式,以便用户在可以在正常通信的同时给用户提供协议管理的功能;通过序列化数据结构文件规定了协议接入条件,统一了协议接入的方式和数据打包的方式,降低了设备接入和维护难度,也扩展了接入协议的种类,实现了对协议插件化灵活管理,从而扩展了通信设备的种类,也提高了可复用性。
可选地,数据处理模块,还用于当消息类型为协议类型时,将用户数据传输给协议管理模块;当消息类型为设备消息时,将用户数据传输给设备管理模块。
可选地,还包括:协议处理模块;协议处理模块连接前端界面模块和自定义协议模块;
前端界面模块获取序列化数据结构文件与协议令牌;协议处理模块基于序列化数据结构文件生成远程过程调用服务端用于远程过程调用客户端,并将自定义协议开发代码与协议令牌输入远程过程调用客户端中,生成用户自定义协议,将用户自定义协议传输给自定义协议模块。
可选地,还包括:数据库模块;数据库模块与数据处理模块连接;
数据库模块基于用户数据调用展示数据,将展示数据传输给数据处理模块,数据处理模块将展示数据通过消息处理模块传输给前端界面模块进行显示。
可选地,数据库模块包括:实时数据库单元、配置数据库单元和历史数据库单元;
实时数据库单元,用于根据时序存储设备实时数据;
配置数据库单元,用于存储配置数据、用户数据与设备管理数据;
历史数据库单元,用于利用分布式文件存储方式存储历史数据。
可选地,序列化数据结构文件采用protobuf文件。
可选地,远程过程调用方式采用gRPC方式。
在本申请的第二个方面,还提出了一种工业互联网下微服务架构的工业通信管理方法,包括:
前端界面模块采集用户信息,将用户信息发送给消息处理模块;
消息处理模块将用户信息输入消息队列中,生成界面消息队列,并将界面消息队列发送给数据处理模块;
数据处理模块提取界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对界面消息队列进行解包,生成用户数据;
协议管理模块利用远程过程调用方式将用户数据传输给自定义协议模块;
自定义协议模块基于用户数据获取用户自定义协议与序列化数据结构文件,提取序列化数据结构文件的数据类型与数据格式,并利用数据类型与数据格式将用户自定义协议转化为工业协议,将工业协议通过协议管理模块传输给设备;
设备管理模块基于用户数据进行设备管理。
可选地,数据处理模块提取界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对界面消息队列进行解包,生成用户数据,包括:
当消息类型为协议类型时,将用户数据传输给协议管理模块,当消息类型为设备消息时,将用户数据传输给设备管理模块。
可选地,还包括:
前端界面模块获取序列化数据结构文件与协议令牌,协议处理模块基于序列化数据结构文件生成远程过程调用服务端用于远程过程调用客户端,并将自定义协议开发代码与协议令牌输入远程过程调用客户端中,生成用户自定义协议,将用户自定义协议传输给自定义协议模块。
可选地,还包括:
数据库模块基于用户数据调用展示数据,将展示数据传输给数据处理模块,数据处理模块将展示数据通过消息处理模块传输给前端界面模块进行显示。
可选地,数据库模块基于用户数据调用展示数据,将展示数据传输给数据处理模块,数据处理模块将展示数据通过消息处理模块传输给前端界面模块进行显示,还包括:
实时数据库单元根据时序存储设备实时数据;
配置数据库单元存储配置数据、用户数据与设备管理数据;
历史数据库单元利用分布式文件存储方式存储历史数据。
可选地,序列化数据结构文件采用protobuf文件。
可选地,远程过程调用方式采用gRPC方式。
在本申请的第三个方面,还提出了一种计算机设备,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述计算机程序,执行上述第一方面的方法。
在本申请的第四个方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面的方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中一种工业互联网下微服务架构的工业通信管理系统的原理框图;
图2为本发明实施例1中用户自定义协议灵活接入系统的示意图;
图3为本发明实施例1中数据库模块8的原理框图;
图4为本发明实施例2中一种工业互联网下微服务架构的工业通信管理方法的流程图;
图5为本发明实施例2中步骤S407的流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本实施例提供一种工业互联网下微服务架构的工业通信管理系统,如图1所示,包括:前端界面模块1、消息处理模块2、数据处理模块3、协议管理模块4、自定义协议模块5和设备管理模块6;
上述前端界面模块1,用于采集用户信息,将上述用户信息发送给上述消息处理模块2。
具体的,前端界面模块1通过RESTFUL API发送用户信息给消息处理模块2;
进一步地,前端界面模块1与消息处理模块2通过超文本传输协议(http)进行数据传输。
上述消息处理模块2,用于将上述用户信息输入消息队列中,生成界面消息队列,并将上述界面消息队列发送给上述数据处理模块3。
具体的,消息处理模块2将用户信息的地址、类型等作为队列头部信息,将用户信息的内容以消息队列的形式进行封装,进而生成界面消息队列。
上述数据处理模块3分别连接上述消息处理模块2、上述协议管理模块4和上述设备管理模块6,用于提取上述界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对上述界面消息队列进行解包,生成用户数据。
具体的,上述数据处理模块3,还用于当上述消息类型为协议类型时,将上述用户数据传输给上述协议管理模块4;当上述消息类型为设备消息时,将上述用户数据传输给上述设备管理模块6。
进一步地,数据处理模块3根据具体消息头(即队列头部信息,发送的消息的消息头会标明消息处理模块2接到的是一个什么类型的操作,比如增加一个设备,下发一个指令给设备等)执行对应的程序,对界面消息队列进行解包;若是对设备或者数据库的操作则将解包消息,对相应的数据库进行增删改查的操作;若是对协议进行操作,则首先将界面消息队列解包,并按照对应的协议(即用户自定义协议)的格式进行打包,并将用户数据通过gRPC传输给自定义协议模块5。
上述协议管理模块4,用于利用远程过程调用方式将上述用户数据传输给上述自定义协议模块5。
具体的,上述远程过程调用方式采用gRPC方式(gRPC是一个高性能、开源和通用的RPC(Remote Procedure Call,远程过程调用)框架,基于protobuf(Protocol Buffers,是一种用于序列化结构数据的工具,实现数据的存储与交换,与编程语言和开发平台无关)序列化协议开发,且支持众多开发语言),其中,gRPC方式面向服务端和移动端,基于HTTP/2(超文本传输协议的最新版本)设计,带来诸如双向流、流控、头部压缩、单TCP(Transmission Control Protocol,传输控制协议)连接上的多复用请求等特性,这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
上述自定义协议模块5,用于基于上述用户数据获取用户自定义协议与序列化数据结构文件,提取上述序列化数据结构文件的数据类型与数据格式,并利用上述数据类型与上述数据格式将上述用户自定义协议转化为工业协议,将上述工业协议通过上述协议管理模块4传输给设备(可以根据协议的不同传输给不同种类的设备)。
具体的,上述序列化数据结构文件采用protobuf文件。
进一步地,自定义协议模块5远程调用系统提供send_data函数(调用函数),将数据转化为符合系统中protobuf文件对应的数据类型和格式后传输给协议管理模块4,协议管理模块4通过消息队列将数据发送给数据处理模块3。
上述设备管理模块6,用于基于上述用户数据进行设备管理。
具体的,设备管理模块6提供对接入系统的设备进行管理,包括对设备信息的增删改查,以及设备影子模型的建立,点表的构建,设备的生命周期(连接、启动、重启、关机、删除)管理。
上述一种工业互联网下微服务架构的工业通信管理系统,通过微服务的设计方法将各模块解耦,以构建工业互联网下微服务架构的通用工业通信管理框架,以便更灵活的接入第三方应用和数据源;并且通过gRPC形式给用户自定义协议提供接入方式,以便用户在可以使用系统提供的公共通信方法的同时给用户提供协议管理的功能;通过protobuf规定了协议接入条件,统一了协议接入的方式和数据打包的方式,降低了系统接入和维护难度,也扩展了系统可以接入的协议的种类,从而扩展了通信设备的种类,也提高了系统的可复用性;最后各个服务模块均以容器的形式进行管理,系统轻量,封装良好,便于部署,方便移植,运维难度小。
优选地,还包括:协议处理模块7;上述协议处理模块7连接上述前端界面模块1和上述自定义协议模块5;
上述前端界面模块1获取上述序列化数据结构文件与协议令牌;上述协议处理模块7基于上述序列化数据结构文件生成远程过程调用服务端用于远程过程调用客户端,并将自定义协议开发代码与上述协议令牌输入上述远程过程调用客户端中,生成上述用户自定义协议,将上述用户自定义协议传输给上述自定义协议模块5。
具体的,如图2所示,前端界面模块1下载系统提供protobuf文件,内包含对设备的生命周期的管理、如何链接到平台、提供可远程调用的基本通讯类(包括建立网口、串口链接;数据打包等);协议处理模块7根据protobuf文件和用户开发的协议的语言生成对应的gRPC服务端和gRPC客户端;协议处理模块7在生成的gRPC客户端中补充用户自定义协议开发代码;通过前端界面模块1申请用户自定义需要接入系统的协议的token(令牌,标记),并将token放入gRPC客户端代码中;在前端界面上协议管理模块4选择新增协议,并填写token和新增协议的名称,将程序上传至自定义协议模块5,进而可选择并使用该自定义协议。
下面通过一个具体的实施例来说明利用协议处理模块7编写自定义modbus协议(modbus协议是应用于电子控制器上的一种通用语言)接入系统的过程的,其过程如下:
(1)通过前端界面模块1下载本系统提供的protobuf文件;
(2)在协议处理模块7安装protoc(protoc是protobuf文件的编译器),vcpkg(vcpkg是微软C++团队开发的适用于C和C++库的跨平台开源软件包管理器)和gRPC,并根据用户自己使用的编程语言,由c++命令执行对应的命令,具体的c++命令为:
export PATH=<安装gRPC的路径>/bin:$PATH;
PROTO_PATH=<你的proto文件所在的路径>;
protoc-I./src--gRPC_out=./src/--plugin=protoc-gen-gRPC=`whichgRPC_cpp_plugin`$PROTO_PATH;
protoc-I./src--cpp_out=./src//$PROTO_PATH
进而,根据系统提供的protobuf文件生成gRPC的客户端和服务端程序,当前的gRPC客户端程序中就包含了对设备的生命周期的管理、如何链接到平台、提供可远程调用的基本通讯类(包括建立网口、串口链接;数据打包等)的所有可以远程调用的函数;
(3)用c++编写gRPC客户端程序,调用系统提供的可远程调用的函数,编写自定义的modbus协议,并按照系统提供的protobuf文件中对数据格式的要求,进行数据类型转化,进而规定了系统收到数据的格式;
(4)通过前端界面模块1申请该modbus协议接入系统的token,相当于给modbus协议申请了一个在系统中的ID,并在界面中填写接入协议的名称,完成对新增modbus协议的接入申请;并将包含该协议的gRPC客户端程序以及协议参数配置基本系的JSON(JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式)文件上传至系统所在服务器;
(5)用户在前端界面模块1选择刚上传的modbus协议。
优选地,还包括:数据库模块8;上述数据库模块8与上述数据处理模块3连接;
上述数据库模块8基于上述用户数据调用展示数据,将上述展示数据传输给上述数据处理模块3,上述数据处理模块3将上述展示数据通过上述消息处理模块2传输给上述前端界面模块1进行显示。
进一步地,系统启动时,数据处理模块3从数据库模块8(包括历史数据库单元和配置数据库单元)提取用户配置信息、用户信息,和最新历史数据。
优选地,如图3所示,上述数据库模块8包括:实时数据库单元9、配置数据库单元10和历史数据库单元11;
实时数据库单元9,用于根据时序存储设备实时数据。
具体的,消息处理模块2与数据处理模块3通信,将用户所选的需要展示的数据点(即用户数据)从实时数据库单元9中查询取出,再转发给前端界面模块1进行显示。
进一步地,数据处理模块3将把数据全量推送给实时数据库单元9,进行实时数据库9的更新,并将数据全量推送给历史数据库单元11进行备份。
配置数据库单元10,用于存储配置数据、上述用户数据与设备管理数据。
具体的,配置数据库单元10采用关系型数据库存储系统有关的配置信息、用户信息、设备管理信息等。
历史数据库单元11,用于利用分布式文件存储方式存储历史数据。
具体的,分布式文件存储方式采用mongodb(分布式文档存储数据库)存储历史数据。
实施例2
本实施例提供一种工业互联网下微服务架构的工业通信管理方法,如图4所示,包括:
S401、前端界面模块采集用户信息,将上述用户信息发送给消息处理模块。
具体的,前端界面模块通过RESTFUL API发送用户信息给消息处理模块;
进一步地,前端界面模块与消息处理模块通过超文本传输协议(http)进行数据传输。
S402、上述消息处理模块将上述用户信息输入消息队列中,生成界面消息队列,并将上述界面消息队列发送给数据处理模块。
具体的,消息处理模块将用户信息的地址、类型等作为队列头部信息,将用户信息的内容以消息队列的形式进行封装,进而生成界面消息队列。
S403、上述数据处理模块提取上述界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对上述界面消息队列进行解包,生成用户数据。
具体的,上述数据处理模块,还用于当上述消息类型为协议类型时,将上述用户数据传输给上述协议管理模块;当上述消息类型为设备消息时,将上述用户数据传输给上述设备管理模块。
进一步地,数据处理模块根据具体消息头(即队列头部信息,发送的消息的消息头会标明消息处理模块接到的是一个什么类型的操作,比如增加一个设备,下发一个指令给设备等)执行对应的程序,对界面消息队列进行解包;若是对设备或者数据库的操作则将解包消息,对相应的数据库进行增删改查的操作;若是对协议进行操作,则首先将界面消息队列解包,并按照对应的协议(即用户自定义协议)的格式进行打包,并将用户数据通过gRPC传输给自定义协议模块。
S404、协议管理模块利用远程过程调用方式将上述用户数据传输给自定义协议模块。
具体的,上述远程过程调用方式采用gRPC方式(gRPC是一个高性能、开源和通用的RPC(Remote Procedure Call,远程过程调用)框架,基于protobuf(Protocol Buffers,是一种用于序列化结构数据的工具,实现数据的存储与交换,与编程语言和开发平台无关)序列化协议开发,且支持众多开发语言),其中,gRPC方式面向服务端和移动端,基于HTTP/2(超文本传输协议的最新版本)设计,带来诸如双向流、流控、头部压缩、单TCP(Transmission Control Protocol,传输控制协议)连接上的多复用请求等特性,这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
S405、上述自定义协议模块基于上述用户数据获取用户自定义协议与序列化数据结构文件,提取上述序列化数据结构文件的数据类型与数据格式,并利用上述数据类型与上述数据格式将上述用户自定义协议转化为工业协议,将上述工业协议通过上述协议管理模块传输给设备。
具体的,上述序列化数据结构文件采用protobuf文件。
进一步地,自定义协议模块远程调用系统提供send_data函数(调用函数),将数据转化为符合系统中protobuf文件对应的数据类型和格式后传输给协议管理模块,协议管理模块通过消息队列将数据发送给数据处理模块。
S406、设备管理模块基于上述用户数据进行设备管理。
具体的,设备管理模块提供对接入系统的设备进行管理,包括对设备信息的增删改查,以及设备影子模型的建立,点表的构建,设备的生命周期(连接、启动、重启、关机、删除)管理。
上述一种工业互联网下微服务架构的工业通信管理方法,通过微服务的设计方法将系统之间各模块解耦,以便更灵活的接入第三方应用和数据源;并且通过gRPC形式给用户自定义协议提供接入方式,以便用户在可以使用系统提供的公共通信方法的同时给用户提供协议管理的功能;通过protobuf规定了协议接入条件,统一了协议接入的方式和数据打包的方式,降低了系统接入和维护难度,也扩展了系统可以接入的协议的种类,从而扩展了通信设备的种类,也提高了系统的可复用性;最后各个服务模块均以容器的形式进行管理,系统轻量,封装良好,便于部署,方便移植,运维难度小。
优选地,还包括:
上述前端界面模块获取上述序列化数据结构文件与协议令牌,协议处理模块基于上述序列化数据结构文件生成远程过程调用服务端用于远程过程调用客户端,并将自定义协议开发代码与上述协议令牌输入上述远程过程调用客户端中,生成上述用户自定义协议,将上述用户自定义协议传输给上述自定义协议模块。
具体的,如图2所示,前端界面模块下载系统提供protobuf文件,内包含对设备的生命周期的管理、如何链接到平台、提供可远程调用的基本通讯类(包括建立网口、串口链接;数据打包等);协议处理模块根据protobuf文件和用户开发的协议的语言生成对应的gRPC服务端和gRPC客户端;协议处理模块在生成的gRPC客户端中补充用户自定义协议开发代码;通过前端界面模块申请用户自定义需要接入系统的协议的token(令牌,标记),并将token放入gRPC客户端代码中;在前端界面上协议管理模块选择新增协议,并填写token和新增协议的名称,将程序上传至自定义协议模块,进而可选择并使用该自定义协议。
优选地,还包括:
S407、数据库模块基于上述用户数据调用展示数据,将上述展示数据传输给上述数据处理模块,上述数据处理模块将上述展示数据通过上述消息处理模块传输给上述前端界面模块进行显示。
进一步地,系统启动时,数据处理模块从数据库模块(包括历史数据库单元和配置数据库单元)提取用户配置信息、用户信息,和最新历史数据。
优选地,如图5所示,步骤S407,即数据库模块基于上述用户数据调用展示数据,将上述展示数据传输给上述数据处理模块,上述数据处理模块将上述展示数据通过上述消息处理模块传输给上述前端界面模块进行显示,还包括:
S4071、实时数据库单元根据时序存储设备实时数据。
具体的,消息处理模块与数据处理模块通信,将用户所选的需要展示的数据点(即用户数据)从实时数据库单元中查询取出,再转发给前端界面模块进行显示。
进一步地,数据处理模块将把数据全量推送给实时数据库单元,进行实时数据库单元的更新,并将数据全量推送给历史数据库单元进行备份。
S4072、配置数据库单元存储配置数据、上述用户数据与设备管理数据。
具体的,配置数据库单元采用关系型数据库存储系统有关的配置信息、用户信息、设备管理信息等。
S4073、历史数据库单元利用分布式文件存储方式存储历史数据。
具体的,分布式文件存储方式采用mongodb(分布式文档存储数据库)存储历史数据。
实施例3
本实施例提供一种计算机设备,包括存储器和处理器,处理器用于读取存储器中存储的指令,以执行上述任意方法实施例中的一种工业互联网下微服务架构的工业通信管理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
实施例4
本实施例提供一种计算机可读存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一种工业互联网下微服务架构的工业通信管理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种工业互联网下微服务架构的工业通信管理系统,其特征在于,包括:前端界面模块、消息处理模块、数据处理模块、协议管理模块、自定义协议模块和设备管理模块;
所述前端界面模块,用于采集用户信息,将所述用户信息发送给所述消息处理模块;
所述消息处理模块,用于将所述用户信息输入消息队列中,生成界面消息队列,并将所述界面消息队列发送给所述数据处理模块;
所述数据处理模块分别连接所述消息处理模块、所述协议管理模块和所述设备管理模块,用于提取所述界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对所述界面消息队列进行解包,生成用户数据;
所述协议管理模块,用于利用远程过程调用方式将所述用户数据传输给所述自定义协议模块;
所述自定义协议模块,用于基于所述用户数据获取用户自定义协议与序列化数据结构文件,提取所述序列化数据结构文件的数据类型与数据格式,并利用所述数据类型与所述数据格式将所述用户自定义协议转化为工业协议,将所述工业协议通过所述协议管理模块传输给设备;
所述设备管理模块,用于基于所述用户数据进行设备管理。
2.根据权利要求1所述的一种工业互联网下微服务架构的工业通信管理系统,其特征在于,所述数据处理模块,还用于当所述消息类型为协议类型时,将所述用户数据传输给所述协议管理模块;当所述消息类型为设备消息时,将所述用户数据传输给所述设备管理模块。
3.根据权利要求1所述的一种工业互联网下微服务架构的工业通信管理系统,其特征在于,还包括:协议处理模块;所述协议处理模块连接所述前端界面模块和所述自定义协议模块;
所述前端界面模块获取所述序列化数据结构文件与协议令牌;所述协议处理模块基于所述序列化数据结构文件生成远程过程调用服务端用于远程过程调用客户端,并将自定义协议开发代码与所述协议令牌输入所述远程过程调用客户端中,生成所述用户自定义协议,将所述用户自定义协议传输给所述自定义协议模块。
4.根据权利要求1所述的一种工业互联网下微服务架构的工业通信管理系统,其特征在于,还包括:数据库模块;所述数据库模块与所述数据处理模块连接;
所述数据库模块基于所述用户数据调用展示数据,将所述展示数据传输给所述数据处理模块,所述数据处理模块将所述展示数据通过所述消息处理模块传输给所述前端界面模块进行显示。
5.根据权利要求4所述的一种工业互联网下微服务架构的工业通信管理系统,其特征在于,所述数据库模块包括:实时数据库单元、配置数据库单元和历史数据库单元;
所述实时数据库单元,用于根据时序存储设备实时数据;
所述配置数据库单元,用于存储配置数据、所述用户数据与设备管理数据;
所述历史数据库单元,用于利用分布式文件存储方式存储历史数据。
6.根据权利要求1任一项所述的一种工业互联网下微服务架构的工业通信管理系统,其特征在于,所述序列化数据结构文件采用protobuf文件。
7.根据权利要求1所述的一种工业互联网下微服务架构的工业通信管理系统,其特征在于,所述远程过程调用方式采用gRPC方式。
8.一种工业互联网下微服务架构的工业通信管理方法,其特征在于,包括:
前端界面模块采集用户信息,将所述用户信息发送给消息处理模块;
所述消息处理模块将所述用户信息输入消息队列中,生成界面消息队列,并将所述界面消息队列发送给数据处理模块;
所述数据处理模块提取所述界面消息队列的队列头部信息,并基于队列头部信息中的消息类型对所述界面消息队列进行解包,生成用户数据;
协议管理模块利用远程过程调用方式将所述用户数据传输给自定义协议模块;
所述自定义协议模块基于所述用户数据获取用户自定义协议与序列化数据结构文件,提取所述序列化数据结构文件的数据类型与数据格式,并利用所述数据类型与所述数据格式将所述用户自定义协议转化为工业协议,将所述工业协议通过所述协议管理模块传输给设备;
设备管理模块基于所述用户数据进行设备管理。
9.一种计算机设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述处理器被配置用于调用所述计算机程序,执行如权利要求8中所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求8中所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211055146.7A CN115442446A (zh) | 2022-08-31 | 2022-08-31 | 一种工业互联网下微服务架构的工业通信管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211055146.7A CN115442446A (zh) | 2022-08-31 | 2022-08-31 | 一种工业互联网下微服务架构的工业通信管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115442446A true CN115442446A (zh) | 2022-12-06 |
Family
ID=84245460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211055146.7A Pending CN115442446A (zh) | 2022-08-31 | 2022-08-31 | 一种工业互联网下微服务架构的工业通信管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442446A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984316A (zh) * | 2018-06-15 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种用于分布式数据处理的方法、装置、电子设备及计算机存储介质 |
CN109673232A (zh) * | 2018-11-02 | 2019-04-26 | 中国农业大学 | 一种基于微服务架构的智慧滴灌云服务管理系统 |
CN110109996A (zh) * | 2019-05-15 | 2019-08-09 | 浪潮通用软件有限公司 | 一种工业互联网设备实时数据采集与存储方法及系统 |
CN111082904A (zh) * | 2019-12-06 | 2020-04-28 | 安徽芯智科技有限公司 | 一种基于rtos的rpc通信方法 |
CN112925660A (zh) * | 2021-02-26 | 2021-06-08 | 重庆斯欧智能科技研究院有限公司 | 一种工业互联的信息交互系统 |
WO2021203968A1 (zh) * | 2020-10-28 | 2021-10-14 | 平安科技(深圳)有限公司 | 多注册中心的微服务统一管理方法、装置、设备及介质 |
WO2021238287A1 (zh) * | 2020-05-29 | 2021-12-02 | 苏州浪潮智能科技有限公司 | 一种分布式系统主动推送的方法、系统、设备及介质 |
CN113805867A (zh) * | 2021-08-24 | 2021-12-17 | 中通服咨询设计研究院有限公司 | 一种基于可视化静态脚本引擎的物联网平台 |
CN113900794A (zh) * | 2021-08-31 | 2022-01-07 | 艾普工华科技(武汉)有限公司 | 一种工业数据采集平台及方法 |
CN114615301A (zh) * | 2022-03-10 | 2022-06-10 | 天津航天机电设备研究所 | 一种集成异构工业互联网设备的平台及其构建方法 |
CN114640659A (zh) * | 2022-03-29 | 2022-06-17 | 北京白海科技有限公司 | 一种云端编码辅助方法、装置、电子设备及存储介质 |
CN114760373A (zh) * | 2022-06-13 | 2022-07-15 | 北京智芯微电子科技有限公司 | 数据传输方法和装置、计算机可读存储介质、融合终端 |
US20220236978A1 (en) * | 2020-04-22 | 2022-07-28 | Tencent Technology (Shenzhen) Company Limited | Micro-service management system and deployment method, and related device |
CN114945039A (zh) * | 2022-05-30 | 2022-08-26 | 重庆忽米网络科技有限公司 | 基于分布式的工业设备数据处理系统及方法 |
-
2022
- 2022-08-31 CN CN202211055146.7A patent/CN115442446A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984316A (zh) * | 2018-06-15 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种用于分布式数据处理的方法、装置、电子设备及计算机存储介质 |
CN109673232A (zh) * | 2018-11-02 | 2019-04-26 | 中国农业大学 | 一种基于微服务架构的智慧滴灌云服务管理系统 |
CN110109996A (zh) * | 2019-05-15 | 2019-08-09 | 浪潮通用软件有限公司 | 一种工业互联网设备实时数据采集与存储方法及系统 |
CN111082904A (zh) * | 2019-12-06 | 2020-04-28 | 安徽芯智科技有限公司 | 一种基于rtos的rpc通信方法 |
US20220236978A1 (en) * | 2020-04-22 | 2022-07-28 | Tencent Technology (Shenzhen) Company Limited | Micro-service management system and deployment method, and related device |
WO2021238287A1 (zh) * | 2020-05-29 | 2021-12-02 | 苏州浪潮智能科技有限公司 | 一种分布式系统主动推送的方法、系统、设备及介质 |
WO2021203968A1 (zh) * | 2020-10-28 | 2021-10-14 | 平安科技(深圳)有限公司 | 多注册中心的微服务统一管理方法、装置、设备及介质 |
CN112925660A (zh) * | 2021-02-26 | 2021-06-08 | 重庆斯欧智能科技研究院有限公司 | 一种工业互联的信息交互系统 |
CN113805867A (zh) * | 2021-08-24 | 2021-12-17 | 中通服咨询设计研究院有限公司 | 一种基于可视化静态脚本引擎的物联网平台 |
CN113900794A (zh) * | 2021-08-31 | 2022-01-07 | 艾普工华科技(武汉)有限公司 | 一种工业数据采集平台及方法 |
CN114615301A (zh) * | 2022-03-10 | 2022-06-10 | 天津航天机电设备研究所 | 一种集成异构工业互联网设备的平台及其构建方法 |
CN114640659A (zh) * | 2022-03-29 | 2022-06-17 | 北京白海科技有限公司 | 一种云端编码辅助方法、装置、电子设备及存储介质 |
CN114945039A (zh) * | 2022-05-30 | 2022-08-26 | 重庆忽米网络科技有限公司 | 基于分布式的工业设备数据处理系统及方法 |
CN114760373A (zh) * | 2022-06-13 | 2022-07-15 | 北京智芯微电子科技有限公司 | 数据传输方法和装置、计算机可读存储介质、融合终端 |
Non-Patent Citations (1)
Title |
---|
王鹏;: "工业互联网中边缘计算服务平台的构建", 企业技术开发, no. 01, 1 January 2019 (2019-01-01) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108037961B (zh) | 一种应用程序配置方法、装置、服务器和存储介质 | |
Lekić et al. | IoT sensor integration to Node-RED platform | |
CN101695032B (zh) | 统一客户端、统一客户端的业务配置方法及系统 | |
US8046444B2 (en) | Universal network adapter for industrial control networks | |
CN109525624A (zh) | 一种容器登录方法、装置及存储介质 | |
US8584081B2 (en) | Server side application integration framework | |
CN107438102B (zh) | 一种云平台镜像制作系统及其实现方法 | |
CN104581785B (zh) | 无线网络测试方法、测试装置和移动终端 | |
CN107211232A (zh) | 轻量级机器对机器协议与装置管理协议的互工作 | |
CN111314371A (zh) | 基于智能网关技术的边缘设备接入系统及接入方法 | |
CN110995859A (zh) | 一种基于泛在物联网的变电站智能支撑平台系统 | |
US20210112125A1 (en) | System and method for provisioning protocol agnostic interface to internet of things application frameworks | |
CN102571919B (zh) | 工作站动态远程控制终端的方法和系统 | |
CN115357308B (zh) | 基于Docker的边缘物联代理装置、系统及应用方法 | |
CN113542365A (zh) | 基于多场景应用的端边物联网平台架构 | |
CN115174621B (zh) | 用于水电站智能巡检的边缘物联代理装置 | |
CN114221690A (zh) | 用于云边协同系统的语义模型构建方法 | |
CN112988409A (zh) | 一种接口调用方法、装置、计算机设备及存储介质 | |
CN115442446A (zh) | 一种工业互联网下微服务架构的工业通信管理系统及方法 | |
CN115509563B (zh) | 镜像文件制作方法、装置、设备及介质 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
US10289462B1 (en) | Systems and methods for integration of websphere optimized local adapters with the spring framework | |
CN114035819A (zh) | 一种物联网串口设备的数据采集控制方法、系统及装置 | |
CN111651146A (zh) | 一种函数生成方法、装置、设备和介质 | |
KR100884543B1 (ko) | 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |