一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云边协同的工业物联网智能路由系统的制作方法

2022-04-02 02:14:15 来源:中国专利 TAG:


1.本发明涉及的是一种物联网领域的技术,具体是一种云边协同的工业物联网智能路由系统。


背景技术:

2.在工业4.0时代,物联网技术占有重要的地位。工业智能化的发展离不开设备的升级,其中尤为重要的一点是运用物联网技术将工业物联设备与云平台结合,通过云平台强大的计算能力对工业生产中的物联设备得到的数据进行合适的处理。然而,物联网技术在工业生产实践过程中仍然面临着以下几个方面的难题:首先,工业生产中存在大量的异构设备,这些设备可能是跨车间甚至跨地区的,如何有效地对这些异构设备进行统一的数据采集与管理是物联网技术应用过程中急需解决的难题之一;其次,对于涉及到多个异构设备的流程任务,设备之间如何交互并协作完成业务流程也是一个重要的问题;另外,对于工业生产过程中产生的大量数据如何进行高效、准确的数据分析也是一个值得考虑的问题。
3.现有的解决手段包括由服务端直接与设备终端建立长连接进行通信,或通过开发应用并部署到云平台的方式对设备采集得到的数据进行分析决策,并通过工控计算机对设备进行闭环控制,但这些技术手段在面对多地区的大量设备时可能存在网络通信延迟等问题,仅限于数据的采集与提供,不易于实施使用。


技术实现要素:

4.本发明针对现有技术存在的上述不足,提出一种云边协同的工业物联网智能路由系统,将数据清洗、数据转换、数据压缩以设备服务运行实例管理等任务交由在地理上距离工业生产设备较近的边缘计算节点,再将经过边缘计算节点预处理的数据传递至云端服务,在云端服务基于预先配置好的业务流程实现完整的数据监听、处理、分析等功能,来实现云边协同的业务流程执行与工业设备状态监控过程。
5.本发明是通过以下技术方案实现的:
6.本发明涉及一种云边协同的工业物联网智能路由系统,包括:用于在边缘端对工业物联设备所产生的数据进行采集与预处理的边缘数据路由、用于管理用户配置的设备数据模板以及定义设备数据处理相关的数据清洗策略与数据转换规则脚本的设备模板配置模块、用于对运行在特定地区的边缘端设备服务的状态进行管理的边缘服务管理模块、流程配置模块、用于对边缘数据路由得到的数据进行监听与分发的消息分发模块、用于根据业务流程的需要,对来自消息分发模块的新的消息进行数据融合、服务调用以及顺序流控制,并且对数据流进行背压控制的流程执行单元、用于在云端维护当前各个边缘计算节点当中的边缘服务管理模块所管理的各个设备服务的状态以及服务相关的元信息,以支持流程执行单元的服务调用请求的服务注册中心以及用于对来自流程执行单元的日志进行结构化的存储,并结合来自服务注册中心的设备服务健康数值进行设备健康分析的监控分析模块,其中:由各个设备对应的服务运行实例将采集到的业务数据发送到边缘数据路由提
供的数据采集接口,再经边缘数据路由进行统一的预处理后将其推送至云端消息队列,流程配置模块对用户定义的业务流程建模与标注(bpmn)模型进行验证,检查业务流程模型在语法上是否正确并对该模型进行解析,消息分发模块对云端消息队列进行数据监听,并且基于流程配置模块先前决定的消息分发规则来完成消息的分发,服务注册中心通过心跳机制与相对更加稳定的边缘服务管理模块进行交互,在交互过程中边缘服务管理模块会将各个设备服务在该时间段内的平均健康数值发送至服务注册中心。
7.所述的预处理过程依据设备数据模板来进行,通过设备数据模板来对异构的工业设备进行适配,具体包括:数据清洗、数据转换以及数据压缩,其中:数据清洗的过程依据设备数据模板中配置的数据清洗策略进行;数据转换的过程依据设备数据模板中用户自定义的数据转换规则脚本完成,再采用deflate数据压缩算法来将数据进行无损压缩再将其发送至云端,减少从边缘计算节点到云端服务的网络带宽占用。
8.所述的数据清洗策略包括静态滑动窗口策略以及自适应滑动窗口策略两种预置的策略,其中:静态滑动窗口策略可配置时间粒度或数据元组数目粒度的窗口,基于固定大小的窗口对采集到的数据流进行均值平滑来降低噪声与缺失值的影响;自适应滑动窗口策略采用统计平滑处理算法,利用概率统计方法自适应地调整滑动窗口的大小。针对不同类型的设备,通过调整该设备的数据清洗策略来适配不同的数据采集场景需求。
9.所述的数据转换规则脚本定义边缘数据路由针对该类型的设备采集得到的数据需要如何进行数据转换。考虑到设备的异构性,采用预置的转换规则可能不足以满足多样化的数据转换需求,因此该部分支持通过自定义规则脚本的方式来定义数据转换规则。设备模板配置模块对这些数据进行分布式存储,使得多个地区边缘端的设备模板配置模块能够共享同种类型设备的模板数据。
10.所述的设备服务在启动时优选通过调用该模块的服务注册接口将服务描述发送至该模块进行注册,此后边缘服务管理模块通过心跳机制与边缘端的设备服务进行交互,来维护各个设备服务当前的运行状态。
11.所述的注册过程允许设备服务为自身注册一个健康检查接口,此后在通过心跳机制进行交互的过程中,边缘服务管理模块访问各个设备服务的健康检查接口,来获取各个设备服务目前运行的设备状态数据并进行记录。
12.所述的设备状态数据,即设备服务的健康状态包括:up、busy与down,分别用于表示当前设备服务可用、忙碌以及失效三种状态。在下一次边缘服务管理模块与云端的服务注册中心进行交互时,边缘服务管理模块会根据该时间段内服务的健康状态对各个服务的平均健康数值进行计算,并发送至服务注册中心。
13.为便于后续的使用,平均健康数值保持在区间[0,1]内。
[0014]
所述的平均健康数值其中:n为从上次本模块与云端服务注册中心交互至今期间内模块获得指定服务健康状态的总次数,n
up
为期间内该服务健康状态为up的次数,n
busy
为期间内该服务健康状态为busy的次数,k为取值在区间(0,1]的常数,为设备负载率的上限,即设备状态为忙碌的次数占比的上限。
[0015]
该计算公式限制设备服务忙碌状态对健康数值的贡献度,在设备服务负载率过高时平均健康数值将有所降低,使其更加适合于在后续背压控制以及异常检测过程中被使
用。这种计算设备服务的平均健康数值并发送至云端的方式,相比较于云端服务注册中心直接与边缘端的设备服务进行交互的方式能够极大地降低网络通讯的开销,使得云端服务注册中心能够同时管理更多设备服务的状态,从而使得系统更具有可扩展性。
[0016]
所述的解析具体包括:将bpmn流程模型视作图数据结构,基于广度优先搜索遍历该流程模型中各个任务节点,对各个节点进行解析。针对每个任务节点的解析操作,首先需要获取其文本形式的描述,然后结合领域知识图谱对文本对应的语义进行解析,根据语义描述查找与该任务语义相匹配的服务接口,从而决定运行过程中对该任务节点的数据处理规则。此外,还需要根据bpmn语法解析节点可能使用bpmn扩展进行的额外的配置,例如背压控制策略的配置等。根据上述解析过程,流程配置模块决定完成该业务流程所需要的消息分发规则与数据处理规则,来对消息分发模块进行配置,并生成对应的流程执行单元,以支持后续的响应式的业务流程执行过程。
[0017]
所述的分发是指:消息分发模块使用哈希表存储各个消息源与流程执行单元的对应关系,使得在消息分发过程中对于一条新的数据能够快速找到其对应的流程执行单元的集合,将消息发送到集合中的各个处理单元,并在接收到各个处理单元的消息确认后从内存中删除该消息,完成一次消息的分发。
[0018]
所述的数据融合是指:针对需要处理多个数据源输入的任务节点,将来自消息分发模块的多条数据进行融合的过程。该过程支持根据时限融合或根据指定字段融合两种方式。根据时限的融合方式具体指流程执行单元将收到的第一条数据存入缓存中,在限制时间内如果接收到来自其他所有数据源的消息则对这些数据进行融合,否则将其作为异常数据,不进行服务调用,只将相关数据发送至监控分析模块,同时将其从缓存中剔除。时限的长度采用统一的默认值,但也可根据用户要求在运行阶段进行手动调整。该融合方式适用于使用频率相对较低的业务,如生产成品批次记录等。
[0019]
对于高频使用的业务,由于边缘端到云端之间存在网络延迟,根据时限融合可能使得数据元组顺序错乱,需要采用根据指定字段融合的方式进行数据融合,具体为:用户在配置设备数据模板时,在数据转换规则脚本中指定一个字段作为融合的依据,之后边缘数据路由在完成数据预处理后会将该数据元组打上标签,标签内容包含用户指定的字段名与对应的值;流程执行单元收到带有标签的数据元组时将字段值与对应的数据元组存入缓存中,待带有相同标签的所有消息到达该处理单元时将这些数据元组进行融合。之后,流程执行单元以融合得到的数据作为输入,调用与其任务相匹配的服务接口,根据得到的结果进行顺序流控制。
[0020]
所述的顺序流控制具体是指:根据数据处理规则中的顺序流控制函数,由服务调用结果计算得到该流程中下一个需要被执行的任务节点,再对该服务调用结果进行封装发送至该任务节点对应的消息队列,由消息分发模块触发下一个任务节点的执行,再由流程执行单元需要将本次数据处理过程的上下文与处理结果发送至监控分析模块进行数据分析。
[0021]
此外,在上述过程中,流程执行单元还需要对数据流进行背压控制来防止由于数据产生速率过快导致的数据积压。
[0022]
所述的服务调用具体是指:根据数据处理规则当中对当前任务节点所匹配的服务资源以及接口的定义,流程执行单元将经过数据融合得到的数据作为输入数据,向服务注
representation,sdr)并作为htm网络的输入,通过htm的学习算法不断预测在当前数据流中下一输入的sdr,当接收到新的sdr(记作d')时,根据上一轮预测的sdr(记作d)计算出一个原始的异常分数其中:d
·
d'表示上一轮预测的sdr与新的sdr数组的标量积,|d'|表示新的sdr数组中表示所有值为1的位的数目。
[0030]
为容忍设备数据的噪声,监控分析模块不直接对原始异常分数设置阈值进行异常的检测,而是根据异常分数的分布计算当前发生异常的概率,对异常概率设置阈值来进行异常的检测,具体为:记录最近w个异常分数的值,然后计算这些值的平均值μ以及标准差σ,将这些值的分布视作高斯分布,通过高斯分布的右尾函数(q函数)来计算异常概率,即其中:s
t
表示第t次计算得到的异常分数。
[0031]
使用数据分布来计算异常的概率,对计算得到的概率设定阈值来判定数据异常,能够有效地减轻噪声的影响,提高数据分析算法的鲁棒性。
[0032]
优选地,监控分析模块将输入的日志以及异常检测的结果一并存入日志历史数据中,并且定时生成阶段性的数据分析报告供业务人员进行分析;在检测发现异常时对相关用户进行预警通知。技术效果
[0033]
本发明整体解决了现有技术在工业物联网环境下,无法对分布在多地区的大量的异构设备进行低延迟的数据采集与统一管理;现有技术对于涉及到多个异构设备的流程任务,无法协调各个设备之间的交互使得任务正确高效完成;以及无法对工业生产过程中所产生的大量数据进行快速、准确的分析以对可能发生的设备异常情况进行检测。
[0034]
与现有技术相比,本发明通过增强对边缘端计算资源的利用,能够缓解从物联设备到云端之间网络带宽的压力;同时,在边缘端提供对异构设备基于模板的配置支持,能够有效地支持工业生产环境中多种异构设备的接入,并且具有良好的可扩展性;此外,在云端通过多个不同功能单元的协作,结合流式的数据处理方法,能够有效地支持业务流程自动化的执行,并且根据数据处理日志进行全面的分析,能够针对物联设备产生的数据提供有效的数据分析与预警反馈方案。
附图说明
[0035]
图1为本发明的方法框架图;
[0036]
图2为本发明的实施例系统结构图。
具体实施方式
[0037]
如图1所示,为本实施例涉及一种云边协同的工业物联网智能路由系统,以工业生产设备控制服务所采集的数据为输入,结合业务流程模型,采用云边协同的方法实现工业生产中的流程任务的数据监听、分发与处理,并将数据处理结果与状态作为日志进行记录,采用异常检测算法对日志进行数据分析,在数据分析结果发现异常时对相关用户进行预警通知,并对数据分析报告等信息进行记录以供上层企业应用查询使用,该系统包括:设备模板配置模块、流程配置模块、边缘数据路由、消息分发模块、流程执行单元、服务注册中心、边缘服务管理模块以及监控分析模块。
[0038]
所述的设备模板配置模块接收设备模板配置文件作为输入,对其进行解析得到设备对应的数据清洗策略以及数据转换规则脚本,将这些数据保存至分布式数据存储中供后续查询使用。
[0039]
所述的流程配置模块包括:模型验证单元和模型解析单元,其中:模型验证单元根据流程模型语法规则对输入的业务流程模型进行验证,确认流程模型中语法上无误后将其输出至模型解析单元;模型解析单元对业务流程模型先后进行拓扑结构分析、语义解析以及服务匹配,决定完成该业务流程所需要的消息分发规则与数据处理规则,根据这些规则分别对消息分发模块以及流程执行单元进行配置。
[0040]
所述的边缘数据路由包括:数据清洗单元、数据转换单元和数据压缩单元,其中:数据清洗单元根据输入对应设备的类型,查询对应的设备数据模板,再根据设备数据模板中定义的数据清洗策略对输入的业务数据进行清洗后输出至数据转换单元;数据转换单元对经过清洗的数据执行设备数据模板中定义数据转换规则脚本,并将转换后的数据输出至数据压缩单元;数据压缩单元对转换后的数据进行压缩处理后发送至云端的消息队列。
[0041]
所述的消息分发模块包括:数据监听单元和消息分发单元,其中:数据监听单元对消息队列中的数据进行监听,在获取到来自边缘数据路由的新数据时将其作为输入,通过调用消息分发单元的接口触发消息的分发。消息分发单元根据该消息对应的消息队列以及消息中包含的数据对应的设备标识计算得到该消息的索引,并基于该索引在本地的哈希表中查找对应的流程执行单元的集合,将消息发送到该集合中的各个流程执行单元,完成消息的分发。
[0042]
所述的流程执行单元包括:数据流背压控制单元、数据融合单元、服务调用单元和顺序流控制单元,其中:数据流背压控制单元对该流程执行单元的消息接收速率与消息处理速率进行统计,在消息接收速率高于处理速率时启用背压控制策略对数据流进行背压控制;数据融合单元根据需要将来自消息分发模块的多条数据进行融合处理,并将其输出至服务调用单元;服务调用单元将经过融合的数据作为输入,向服务注册中心发起服务调用的请求,并将请求返回的结果输出至顺序流控制单元;顺序流控制单元将服务调用的结果作为输入,执行顺序流控制函数来决定完成流程所需执行的下一任务节点,将服务调用的结果进行封装后发送至消息队列以触发流程进一步的执行,同时将本次数据处理过程相关数据发送至监控分析模块用于数据分析。
[0043]
所述的服务注册中心对来自边缘服务管理模块的服务元信息与服务状态进行管理,将相关数据保存至内存数据库中供后续查询或服务调用过程使用。
[0044]
所述的边缘服务管理模块对运行在边缘端的设备服务进行管理,接收服务的描述文件并解析得到服务的元数据,同时通过心跳机制定期接收服务的状态数据,据此计算服务的平均健康数值并定期发送至服务注册中心。
[0045]
所述的监控分析模块包括:日志记录单元、异常检测单元、预警反馈单元和层次时序记忆网络,其中:日志记录单元对来自流程执行单元的日志进行结构化的存储,并将其输出至异常检测单元;异常检测单元根据该日志对应的服务元数据、服务调用的输入、服务调用的结果等数据进行编码及空间池处理得到sdr,将其作为输入利用层次时序记忆网络进行预测,并基于预测结果对新的数据进行异常检测,在检测得到异常时将异常相关信息输出至预警反馈单元;预警反馈单元根据来自异常检测单元的异常相关信息,通过预先设定
的用户个人信息中的联系方式对相关用户进行预警通知,并进行记录,同时定期地将异常检测结果聚合形成阶段性的数据分析报告供用户查询使用。
[0046]
如图2所示,本实施例涉及上述系统的路由方法,具体包括:配置阶段和运行阶段。
[0047]
在配置阶段,用户可以采用yaml格式编写设备模板配置文件,通过restapi发送至边缘端的设备模板配置模块。部署在不同地区的设备模板配置模块采用副本集集群架构部署mongodb实现数据的分布式存储。用户还可以构建bpmn业务流程模型,通过restapi发送至云端的流程配置模块。流程配置模块通过查询先前构建的存储于neo4j图数据库的领域知识图谱,来辅助解析bpmn流程模型,根据解析的结果对流程相关的消息分发模块和流程执行单元进行配置。
[0048]
在运行阶段,生产车间中的物联设备集合的实时数据可以提供给opc server,并且可以开发部署设备对应的ecn微服务来与opc server交互实现数据与指令的读写。设备ecn微服务在服务注册时将自身的服务描述文件(wadl或wsdl)发送至边缘服务管理模块,并且在运行时将设备本身的状态数据与设备采集得到的业务数据以json格式通过rest api分别发送至边缘服务管理模块与边缘数据路由。边缘服务管理模块根据设备状态数据计算设备的健康状态,并且同步至云端的服务注册中心。服务注册中心将该状态更新至redis内存数据库中,供后续流程执行单元以及监控分析模块的使用。边缘数据路由根据设备模板对业务数据进行预处理后,将数据推送至云端的kafka消息队列。云端的消息分发模块监听kafka消息队列,在监听到新的消息时将其分发至对应的流程执行单元。流程执行单元在处理新的消息时,通过服务注册中心进行数据处理过程所需的服务调用请求,并且结合设备健康状态数据来对数据流进行背压控制,在数据处理完毕时将本次数据处理相关的数据发送至监控分析模块,并且在需要的时候构建一条新的消息推送至消息分发模块,用以触发业务流程中下一数据处理任务的执行。监控分析模块根据数据处理过程产生的数据形成流程执行日志记录到mongodb数据库中,并且结合设备健康状态数据对其进行分析,在检测发生异常时对用户进行预警通知,将分析结果与预警通知记录也一并存入mongodb数据库中。之后,上层的企业应用如erp、mes等系统可以通过云端服务提供的rest api查询得到json格式的业务流程的执行日志或预警通知记录,并且可以查询json或html形式的数据分析报告,其中json格式的报告可用于系统后台记录与处理,html形式的报告可用于电子邮件等应用场景下对用户可视化展示来辅助用户理解、审查数据分析结果。
[0049]
本实施例与现有技术比较如下表所示。
[0050]
表1技术特性对比
[0051]
工业设备与云端服务之间数据传输的网络带宽占用的降低、异构设备数据统一采集处理难度的降低以及多设备协同的业务流程执行过程的灵活性的提升。本发明通过进行设备数据模板的配置,实现在边缘端对异构的工业设备采集得到的数据的清洗、转换以及压缩,同时提供可选的数据清洗策略以及支持自定义的数据转换规则,充分利用边缘端的计算能力来降低工业设备与云端服务之间数据传输的网络开销;同时将边缘端对设备数据模板进行分布式的存储,使得分布式部署的多个边缘端能够高效复用同种设备的模板,从而降低运维成本;利用边缘节点协助云端对设备服务信息与状态进行管理,从而缓解对多地区的各个设备服务进行中心化管理的压力;通过对业务流程的描述,基于bpmn流程模型语法及其扩展实现业务流程拓扑结构的解析,同时借助工业设备相关的领域知识图谱的辅
助实现智能的业务流程语义解析,从而提高多设备协同生产流程的灵活性;针对数据处理过程中数据生产与消费速率不均衡的现象,提出合适的背压控制方法,防止数据的积压,从而提升系统运行的鲁棒性;针对数据处理过程产生的日志,采用基于htm网络的异常检测算法进行快速的异常检测与分析,在检测出异常时能够及时以通知的形式对用户进行反馈,从而快速发现故障,以减少生产过程中发生的故障可能带来的损失。
[0052]
以上组件/模块/算法/操作中、为本发明独创、从未被公开且其工作方式与任何现有文献记载均不相同的包括:边缘端与云端协同完成的服务状态管理过程、多设备服务协同交互的流程执行过程以及针对设备服务的基于htm网络的异常检测算法。
[0053]
所述的边缘端与云端协同完成的服务状态管理过程的技术细节具体为:边缘服务管理模块通过心跳机制与边缘端的设备服务进行交互并维护服务当前运行状态,且根据该状态定期计算服务的平均健康数值并发送至服务注册中心,使得云端的服务注册中心能够感知边缘端的设备服务状态变化,而无需造成过多的从边缘端到云端之间的网络通讯开销。
[0054]
所述的多设备服务协同交互的流程执行过程的技术细节具体为:根据流程配置模块对业务流程模型解析所得到的消息分发规则与数据处理规则,消息分发模块对设备服务相关数据对应的消息队列进行监听以及分发,流程执行单元对被分发到的数据进行数据融合、服务调用、顺序流控制以及数据流背压控制,使得用户能够方便地通过流程模型来对需要多设备服务协同完成的流程任务进行定义,同时使得系统能够快速地对流程相关的新的数据进行响应。
[0055]
所述的针对设备服务的基于htm网络的异常检测算法的技术细节具体为:监控分析模块对来自流程执行单元的日志进行编码与空间池处理,经过htm网络预测,依据预测结果基于异常数据的分布来计算异常概率,据此得出异常检测结果。该算法涉及到来自流程执行单元的日志,同时将设备服务的实例信息、接口信息等静态信息以及服务的健康数值、接口调用的输入与返回等动态数据纳入考量范围,使得异常检测的结果更为可靠。
[0056]
与现有技术相比,本装置/方法的性能指标提升在于:通过对边缘端计算资源的充分利用,降低了云端与边缘端之间网络通讯的开销,提高了同规模下对运行在边缘端的服务进行数据采集与管理的效率;在流程执行过程中针对数据积压问题采用合适的背压控制方法进行处理,提高了系统运行的鲁棒性;采用基于htm网络的异常检测算法对流程执行过程中产生的日志进行快速的分析,使得系统在大数据量场景下能够保持良好的可用性,
[0057]
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献