本发明涉及网关技术领域,尤其涉及基于云端识别的工业现场协议自动解析的方法及系统。
背景技术:
目前,目前,随着工业互联网的大力发展,制造商期望在系统范围内实现越来越多的自动化流程,因而必须考虑到it系统对于开放数据访问的需求,以及工业控制系统的实时要求。工业以太网系统需要高确定性和可靠性。在许多工厂自动化应用中,由于以太网具有更高带宽且能够与企业网络链接,它已替代传统的串行“现场总线”连接,但是工业网络具有其独特要求,例如可靠的数据传输和数据的时间同步,这些要求需要针对不同的应用采取不同的网络协议,从而带来多协议传输如何解析的挑战。
而工业网关设备作为工业现场环境和it系统的桥梁,承担了对工业现场复杂协议进行解析的任务,面对复杂多变的工业现场私有协议,工业网关需要有一套灵活的机制来有效的完成协议解析的功能,而现有的协议解析方式要么需要对工业网关设备单独进行个性化解析部署,要么对工业网关硬件资源浪费比较多,解析效率较低。
技术实现要素:
本发明实施例提供了基于云端识别的工业现场协议自动解析的方法及系统。所述技术方案如下:
根据本发明实施例的第一方面,提供一种基于云端识别的工业现场协议自动解析的方法,包括:
工业网关接收工业现场发送的协议解析请求;
根据所述协议解析请求,向预先设置的工业现场协议配置平台发送组件请求报文;
接收所述工业现场协议配置平台基于所述组件请求报文返回的目标协议解析组件;
基于所述目标协议解析组件解析所述工业网关接收到的与所述协议解析请求对应的待解析数据,获得相应的设备运行参数。
在一个实施例中,所述工业现场协议配置平台在接收到所述协议解析请求后,所述方法还包括:
判断是否能够从所述协议解析请求中识别出协议报文字段;
当能够识别出所述协议报文字段时,根据所述协议报文字段,识别出所述协议解析请求对应的协议类型;
将识别出的所述对应的协议发送至所述工业网关。
在一个实施例中,所述工业现场协议配置平台还用于:
当未能从所述协议解析请求中识别出协议报文字段时,生成协议类型提示通知;
向目标终端发送所述协议类型提示通知,以请求所述目标终端的用户对所述待解析数据对应的协议类型进行识别;
在接收到所述目标终端发送的协议类型识别结果后,将所述协议类型识别结果发送至所述工业网关。
在一个实施例中,所述基于所述目标协议解析组件解析所述工业网关接收到的与所述协议解析请求对应的待解析数据,获得相应的设备运行参数,包括:
调用所述目标协议解析组件的功能解析接口;
通过所述功能解析接口对所述待解析数据进行解析,以获得所述设备运行参数。
在一个实施例中,所述工业现场协议配置平台在接收到所述协议解析请求后,调用预先存储的协议解析组件库;
确定所述协议解析组件库中各目标协议解析组件能够解析的协议类型;
判断所述待解析数据是否与所述协议类型相匹配;
当所述待解析数据与所述协议类型相匹配时,确定解析所述待解析数据所需要的目标协议解析组件;
通过ip网络,向所述工业网关返回所述目标协议解析组件。
在一个实施例中,所述方法还包括:
将所述设备运行参数和所述待解析数据发送至组件管控平台,以通过所述组件管控平台分析所述设备运行参数的解析性能指标,其中,所述解析性能指标包括以下至少一项:解析正确率、解析延迟性、解析持续时长;
根据所述解析性能指标,判断所述目标协议解析组件的优劣性;
根据所述目标协议解析组件的优劣性,确定是否需要对所述目标协议解析组件进行性能优化;
当需要对所述目标协议解析组件进行性能优化时,将所述目标协议解析组件发送至所述组件管控平台进行升级。
在一个实施例中,所述判断所述目标协议解析组件的优劣性,包括:
a1、根据下述公式计算所述目标协议解析组件的判断值;
其中,λ为所述目标协议解析组件的判断值,yi为所述目标协议解析组件的第i个判断因素的值,xi为所述目标协议解析组件的第i个判断因素的最优值,hit为第t位专业人士对所述目标协议解析组件的第i个判断因素的重要性评定值,n为所述目标协议解析组件的判断因素数目,所述判断因素至少包含解析正确率、解析延迟性和解析持续时长;
a2、根据评价值确定所述目标协议解析组件的优劣性;
其中,λ为所述目标协议解析组件的优劣性判断结果。
根据本发明实施例的第二方面,提供一种基于云端识别的工业现场协议自动解析的系统,所述系统包括工业网关以及工业现场协议配置平台,其中,所述工业网关包括:
接收模块,用于接收工业现场发送的协议解析请求;
请求发送模块,用于根据所述协议解析请求,向预先设置的工业现场协议配置平台发送组件请求报文;
协议解析组件接收模块,用于接收所述工业现场协议配置平台基于所述组件请求报文返回的目标协议解析组件;
协议解析组件执行模块,用于基于所述目标协议解析组件解析所述工业网关接收到的与所述协议解析请求对应的待解析数据,获得相应的设备运行参数。
在一个实施例中,所述工业现场协议配置平台包括:
判断模块,用于在接收到所述协议解析请求后,判断是否能够从所述协议解析请求中识别出协议报文字段;
识别模块,用于当能够识别出所述协议报文字段时,根据所述协议报文字段,识别出所述协议解析请求对应的协议类型;
发送模块,用于将识别出的所述对应的协议发送至所述工业网关。
在一个实施例中,所述工业现场协议配置平台还用于:
当未能从所述协议解析请求中识别出协议报文字段时,生成协议类型提示通知;
向目标终端发送所述协议类型提示通知,以请求所述目标终端的用户对所述待解析数据对应的协议类型进行识别;
在接收到所述目标终端发送的协议类型识别结果后,将所述协议类型识别结果发送至所述工业网关。
在一个实施例中,所述协议解析组件执行模块包括:
调用子模块,用于调用所述目标协议解析组件的功能解析接口;
解析子模块,用于通过所述功能解析接口对所述待解析数据进行解析,以获得所述设备运行参数。
在一个实施例中,所述工业现场协议配置平台还用于:
在接收到所述协议解析请求后,调用预先存储的协议解析组件库;
确定所述协议解析组件库中各目标协议解析组件能够解析的协议类型;
判断所述待解析数据是否与所述协议类型相匹配;
当所述待解析数据与所述协议类型相匹配时,确定解析所述待解析数据所需要的目标协议解析组件;
通过ip网络,向所述工业网关返回所述目标协议解析组件。
在一个实施例中,所述系统还用于:
将所述设备运行参数和所述待解析数据发送至组件管控平台,以通过所述组件管控平台分析所述设备运行参数的解析性能指标,其中,所述解析性能指标包括以下至少一项:解析正确率、解析延迟性、解析持续时长;
根据所述解析性能指标,判断所述目标协议解析组件的优劣性;
根据所述目标协议解析组件的优劣性,确定是否需要对所述目标协议解析组件进行性能优化;
当需要对所述目标协议解析组件进行性能优化时,将所述目标协议解析组件发送至所述组件管控平台进行升级。
在一个实施例中,所述系统还用于:
a1、根据下述公式计算所述目标协议解析组件的判断值;
其中,λ为所述目标协议解析组件的判断值,yi为所述目标协议解析组件的第i个判断因素的值,xi为所述目标协议解析组件的第i个判断因素的最优值,hit为第t位专业人士对所述目标协议解析组件的第i个判断因素的重要性评定值,n为所述目标协议解析组件的判断因素数目,所述判断因素至少包含解析正确率、解析延迟性和解析持续时长;
a2、根据评价值确定所述目标协议解析组件的优劣性;
其中,λ为所述目标协议解析组件的优劣性判断结果。
本发明的实施例提供的技术方案可以包括以下有益效果:
在接收到协议解析请求后,通过向预先设置的工业现场协议配置平台发送组件请求报文,可基于该工业现场协议配置平台获取能够解析工业网关接收到的数据的协议解析组件,然后根据该解析组件自动解析与所述协议解析请求对应的待解析数据,从而获得相应的设备运行参数,如此,工业网关在接收到需要解析协议数据时,无需为工业网关定制专门的协议解析模块即无需为工业网关单独进行个性化解析部署,也无需工业网关预先加载大量的协议解析组件即无需浪费大量工业网关硬件资源,即可实现协议解析,有利于提高工业网关对协议以及该协议对应的数据的解析效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种基于云端识别的工业现场协议自动解析的方法的流程图。
图2是根据一示例性实施例示出的一种工业现场协议配置平台的框图。
图3是根据一示例性实施例示出的一种工业网关的框图。
图4是根据一示例性实施例示出的另一种基于云端识别的工业现场协议自动解析的方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
为了解决上述技术问题,本发明实施例提供了一种基于云端识别的工业现场协议自动解析的方法,如图1所示,该方法包括步骤s101至步骤s104:
在步骤s101中,工业网关接收工业现场发送的协议解析请求;
在步骤s102中,根据所述协议解析请求,向预先设置的工业现场协议配置平台发送组件请求报文;
在步骤s103中,接收所述工业现场协议配置平台基于所述组件请求报文返回的目标协议解析组件;
在步骤s104中,基于所述目标协议解析组件解析所述工业网关接收到的与所述协议解析请求对应的待解析数据,获得相应的设备运行参数。该待解析数据为与工业网关相连接的工业现场设备发送过来的数据,而该待解析数据可以包含在协议解析请求中,也可以不再本次发送的协议解析请求中,而是单独发送给工业网关的。
在接收到协议解析请求后,通过向预先设置的工业现场协议配置平台发送组件请求报文,可基于该工业现场协议配置平台获取能够解析工业网关接收到的数据的协议解析组件,然后根据该解析组件自动解析与所述协议解析请求对应的待解析数据,从而获得相应的设备运行参数,如此,工业网关在接收到需要解析协议数据时,无需为工业网关定制专门的协议解析模块即无需为工业网关单独进行个性化解析部署,也无需工业网关预先加载大量的协议解析组件即无需浪费大量工业网关硬件资源,即可实现协议解析,有利于提高工业网关对协议以及该协议对应的数据的解析效率。
在一个实施例中,所述工业现场协议配置平台在接收到所述协议解析请求后,所述方法还包括:
判断是否能够从所述协议解析请求中识别出协议报文字段;
当能够识别出所述协议报文字段时,根据所述协议报文字段,识别出所述协议解析请求对应的协议类型;
将识别出的所述对应的协议发送至所述工业网关。
工业现场协议配置平台在接收到协议解析请求后,可判断是否能够从协议解析请求中识别出协议报文字段,而如果能够识别出协议报文字段,则由于不同的协议对应不同的协议报文字段,因而,如果识别出了协议报文字段,就基于该协议报文字段,自动识别出了协议类型,然后发送给工业网关,这样不仅不需要工业网关识别协议、减轻了工业网关的识别负担,而且使得工业网关在不需要预先加载大量的协议解析组件,节省硬件成本的基础上,即可利用上述平台对协议以及该协议对应的数据进行自动解析。
在一个实施例中,所述工业现场协议配置平台还用于:
当未能从所述协议解析请求中识别出协议报文字段时,生成协议类型提示通知;
向目标终端发送所述协议类型提示通知,以请求所述目标终端的用户对所述待解析数据对应的协议类型进行识别;
在接收到所述目标终端发送的协议类型识别结果后,将所述协议类型识别结果发送至所述工业网关。
当工业现场协议配置平台未识别出协议报文字段时,可生成协议类型提示通知,然后向目标终端发送所述协议类型提示通知,以请求所述目标终端的用户对待解析数据对应的协议类型进行识别,即请求用户协助识别该协议类型,然后在接收到目标终端发送的协议类型识别结果后,将协议类型识别结果发送至所述工业网关发送至该工业现场协议配置平台,以便工业网关利用该协议类型识别结果向该平台请求该协议类型对应的协议解析组件,从而使得工业网关在不需要预先加载大量的协议解析组件,节省硬件成本的基础上,即可利用上述平台对协议以及该协议对应的数据进行自动解析。
在一个实施例中,所述基于所述目标协议解析组件解析所述工业网关接收到的与所述协议解析请求对应的待解析数据,获得相应的设备运行参数,包括:
调用所述目标协议解析组件的功能解析接口;
通过所述功能解析接口对所述待解析数据进行解析,以获得所述设备运行参数。
通过调用该目标协议解析组件的功能解析接口,可使得工业网关对待解析数据进行自动解析,以解析出该设备运行参数,而解析出来后可将该设备运行参数发送给it系统,从而使得在无需为工业网关单独进行个性化解析部署,也无需浪费大量工业网关硬件资源基础上,即可使得工业网关实现协议数据的解析,提高了协议解析效率。
在一个实施例中,所述工业现场协议配置平台在接收到所述协议解析请求后,调用预先存储的协议解析组件库;
确定所述协议解析组件库中各目标协议解析组件能够解析的协议类型;
判断所述待解析数据是否与所述协议类型相匹配;
当所述待解析数据与所述协议类型相匹配时,确定解析所述待解析数据所需要的目标协议解析组件;
通过ip网络,向所述工业网关返回所述目标协议解析组件。
工业现场协议配置平台在接收到协议解析请求后,会调用预先存储的协议解析组件库,以便确定出各目标协议解析组件能够解析的协议类型,然后判断待解析数据是否与所述协议类型相匹配,如根据该待解析数据中的协议报文字段判断是否匹配,若匹配,则能够从中确定出解析待解析数据所需要的目标协议解析组件,以便及时地为工业网关提供所需的目标协议解析组件。
在一个实施例中,所述方法还包括:
将所述设备运行参数和所述待解析数据发送至组件管控平台,以通过所述组件管控平台分析所述设备运行参数的解析性能指标,其中,所述解析性能指标包括以下至少一项:解析正确率、解析延迟性、解析持续时长;
根据所述解析性能指标,判断所述目标协议解析组件的优劣性;
根据所述目标协议解析组件的优劣性,确定是否需要对所述目标协议解析组件进行性能优化;
当需要对所述目标协议解析组件进行性能优化时,将所述目标协议解析组件发送至所述组件管控平台进行升级。
通过将所述设备运行参数和所述待解析数据发送至组件管控平台,可分析出该设备运行参数的解析性能指标,然后根据该解析性能指标,判断所述目标协议解析组件的优劣性,即解析性能指标高,则目标协议解析组件就比较优,否则,标协议解析组件就比较劣,因而,当根据目标协议解析组件的优劣性确定需要对所述目标协议解析组件进行性能优化时,可将该目标协议解析组件发送至所述组件管控平台进行优化升级,从而确保协议解析组件能够及时被优化升级,进而确保解析性能一直保持较高的状态,这也有利于提高工业网关的解析性能。
在一个实施例中,所述判断所述目标协议解析组件的优劣性,包括:
a1、根据下述公式计算所述目标协议解析组件的判断值;
其中,λ为所述目标协议解析组件的判断值,yi为所述目标协议解析组件的第i个判断因素的值,xi为所述目标协议解析组件的第i个判断因素的最优值,hit为第t位专业人士对所述目标协议解析组件的第i个判断因素的重要性评定值,n为所述目标协议解析组件的判断因素数目,所述判断因素至少包含解析正确率、解析延迟性和解析持续时长;
a2、根据评价值确定所述目标协议解析组件的优劣性;
其中,λ为所述目标协议解析组件的优劣性判断结果。
由于本发明的目标协议解析组件的每个判断因素对结果的影响程度都是量化的,非常清晰、明确,而且评价的结果是优劣性是个模糊的概念,能够通过转换直接直观得到所述目标协议解析组件的优劣性判断结果,并且在判断过程中所述目标协议解析组件的每个因素的权重是根据专业人士调查获得的,因而,使得优劣性计算结果更加具有信服力,更加准确。
最后,需要明确的是:本领域技术人员可根据实际需求,将上述多个实施例进行自由组合。
下面将结合其他实施例进一步详细说明本发明的技术方案:
本发明通过从云端的工业现场协议配置平台动态加载协议解析模块,来实现工业网关资源和效率的平衡。
(关于动态加载的流程下面有详细的介绍,动态加载的内容,这里面就不特定的指定了,对于嵌入式来说,一般是协议的sdk,java开发的设备可以是一个java的jar包,或者是osgi的bundle组件,到现在比较流程的容器技术,也可以是一个容器等,这些模块话的组件一般包含协议解析的处理流程)
本发明定义了一个工业现场协议配置平台,该平台如图2所示,包含如下四个模块:
1)协议解析请求接收模块
负责从工业网关接收协议解析请求,请求中附带了工业现场协议的协议报文字段信息。
(不同的协议的具体字段差别,比较大,有些协议是二进制的,比如ethernet协议接口的ip报文有12个字节的mac地址后面会有0x800的字段来识别这个是一个ip报文,由于工业现场的各种协议种类比较多,只要是协议报文格式是公开的,都可以很方便的识别出来,当然每种协议的识别字段也千差万别,本发明不做限制)
2)协议识别模块
负责根据工业现场协议的协议报文字段信息,识别出协议类型,如果协议特征比较明显,可以通过程序自动识别,如果无法自动识别则提示用户通人工方式识别协议类型,最后通过平台的配置页面手动输入协议类型。不同的协议,协议特征千差外别,一般公开的协议都有自己的封装格式,比如ip报文,先是目的mac,源mac再是ip报文等。
3)协议解析组件库
各种工业现场的协议解析组件的集合。
4)协议解析组件推送模块
把对应的协议解析功能组件通过ip网络推送给工业网关,网关加载组件后,可以调用组件提供的功能接口。
本发明还定义一种工业网关,该网关如图3所示包含如下三个模块:
1)协议解析请求发送模块
负责向配置平台发送协议解析组件加载请求,由于网关不负责识别协议类型,因此需要把对应的协议报文字段封装到请求报文中,发送给配置平台,由配置平台完成协议的识别过程。
2)协议解析组件加载模块
负责从配置平台接收协议解析组件,加载到工业网关的可执行环境。
3)协议解析组件执行模块
负责调用协议解析组件的接口,对特定的工业现场协议完成解析工作,识别出设备运行参数。解析出设备运行参数的作用是对设备进行状态监控,可以对设备进行数字化建模,这个也是经常提到的数字化双胞胎的基础。运行参数包含设备的各种信息,设备运行参数比如可以是机械臂的角度,坐标位置等。
本发明操作实例如下图4所示:
具体步骤:
工业网关接入了新的工业设备,收到不能识别的协议类型。
网关把不能识别的协议报文字段通过ip链路,发送给配置平台,请求平台解析出具体的协议类型。
配置平台收到请报文后,根据协议报文的字段进行协议类型的识别,如果协议特征比较明显,可以通过程序自动识别,如果无法自动识别则提示用户通人工方式识别协议类型,最后通过平台的配置页面手动输入协议类型。本示例中识别出协议类型为协议a。
配置平台通过ip链路把协议a的解析组件推送给工业网关。
工业网关收到协议a的解析组件后,加载到工业网关的运行环境,开始协议a的解析流程。
对应本发明实施例提供的上述基于云端识别的工业现场协议自动解析的方法,本发明实施例还提供一种基于云端识别的工业现场协议自动解析的系统包括工业网关以及工业现场协议配置平台,其中,所述工业网关包括:
接收模块,用于接收工业现场发送的协议解析请求;
请求发送模块,用于根据所述协议解析请求,向预先设置的工业现场协议配置平台发送组件请求报文;
协议解析组件接收模块,用于接收所述工业现场协议配置平台基于所述组件请求报文返回的目标协议解析组件;
协议解析组件执行模块,用于基于所述目标协议解析组件解析所述工业网关接收到的与所述协议解析请求对应的待解析数据,获得相应的设备运行参数。
在一个实施例中,所述工业现场协议配置平台包括:
判断模块,用于在接收到所述协议解析请求后,判断是否能够从所述协议解析请求中识别出协议报文字段;
识别模块,用于当能够识别出所述协议报文字段时,根据所述协议报文字段,识别出所述协议解析请求对应的协议类型;
发送模块,用于将识别出的所述对应的协议发送至所述工业网关。
在一个实施例中,所述工业现场协议配置平台还用于:
当未能从所述协议解析请求中识别出协议报文字段时,生成协议类型提示通知;
向目标终端发送所述协议类型提示通知,以请求所述目标终端的用户对所述待解析数据对应的协议类型进行识别;
在接收到所述目标终端发送的协议类型识别结果后,将所述协议类型识别结果发送至所述工业网关。
在一个实施例中,所述协议解析组件执行模块包括:
调用子模块,用于调用所述目标协议解析组件的功能解析接口;
解析子模块,用于通过所述功能解析接口对所述待解析数据进行解析,以获得所述设备运行参数。
在一个实施例中,所述工业现场协议配置平台还用于:
在接收到所述协议解析请求后,调用预先存储的协议解析组件库;
确定所述协议解析组件库中各目标协议解析组件能够解析的协议类型;
判断所述待解析数据是否与所述协议类型相匹配;
当所述待解析数据与所述协议类型相匹配时,确定解析所述待解析数据所需要的目标协议解析组件;
通过ip网络,向所述工业网关返回所述目标协议解析组件。
在一个实施例中,所述系统还用于:
将所述设备运行参数和所述待解析数据发送至组件管控平台,以通过所述组件管控平台分析所述设备运行参数的解析性能指标,其中,所述解析性能指标包括以下至少一项:解析正确率、解析延迟性、解析持续时长;
根据所述解析性能指标,判断所述目标协议解析组件的优劣性;
根据所述目标协议解析组件的优劣性,确定是否需要对所述目标协议解析组件进行性能优化;
当需要对所述目标协议解析组件进行性能优化时,将所述目标协议解析组件发送至所述组件管控平台进行升级。
在一个实施例中,所述系统还用于:
a1、根据下述公式计算所述目标协议解析组件的判断值;
其中,λ为所述目标协议解析组件的判断值,yi为所述目标协议解析组件的第i个判断因素的值,xi为所述目标协议解析组件的第i个判断因素的最优值,hit为第t位专业人士对所述目标协议解析组件的第i个判断因素的重要性评定值,n为所述目标协议解析组件的判断因素数目,所述判断因素至少包含解析正确率、解析延迟性和解析持续时长;
a2、根据评价值确定所述目标协议解析组件的优劣性;
其中,λ为所述目标协议解析组件的优劣性判断结果。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。