发明内容
针对目前企业在进行工业互联网改造时,主要还是通过点对点集成的方式来实现***间的数据共享,对技术人员专业技术要求高,维护难度高;对企业开发和维护成本高,不利于企业在工业互联网时代下实现数字化、网络化、智能化等问题,本发明提出一种工业互联网的消息路径选择方法,首先,建立工业互联网消息路径选择模型;然后,通过工业互联网消息路径选择模型建立工业互联网消息路径选择平台,最后,建立工业互联网消息路径选择平台的消息传输模式和目标队列选择算法,实现消息在多源异构***间跨协议传输,减少企业中开发人员的开发工作,并降低***间的耦合度,通过以下步骤来实现:
A.建立工业互联网消息路径选择模型,完成工业互联网消息路径选择模型架构和功能模块设计;
B.通过工业互联网消息路径选择模型建立工业互联网消息路径选择平台;
C.建立工业互联网消息路径选择平台的消息传输模式和完成目标队列选择算法的设计。
所述步骤A特征为:所述工业互联网消息路径选择模型为消息路径选择的具体实现方法,其过程为消息处理流通过配置信息库中配置信息为入站适配器接收到的请求消息/发布消息和出站适配器接收到的响应消息选择传输路径,实现请求消息、发布消息和响应消息在多源异构***间跨协议传输,其中,工业互联网消息路径选择模型包括:①请求方***/发布方***;②入站适配器,用于将请求消息/发布消息进行传输协议转换后发送至消息队列1,以及将响应消息进行传输协议转换后发送至请求方***;③消息队列1,其为入站适配器与消息处理流间的缓冲队列;④消息处理流,用于为请求消息、发布消息和响应消息选择传输路径;⑤配置信息库,用于存储***及接口的配置信息;⑥消息队列2,其为出站适配器与消息处理流间的缓冲队列;⑦出站协议适配器,用于将请求消息/发布消息进行传输协议转换后发送至相应提供方***/订阅方***,以及将响应消息进行传输协议转换后发送至消息队列2;⑧提供方***/订阅方***;其模型架构如图1所示。
所述步骤B特征为:所述工业互联网消息路径选择平台的功能模块包括适配器模块、队列模块、核心处理模块和配置信息库,其中适配器模块包括入站适配器和出站适配器,入站适配器包括REST入站适配器、WS入站适配器、AMQP入站适配器、RPC入站适配器、RFC入站适配器、SMTP入站适配器和FTP入站适配器,出站适配器包括REST出站适配器、WS出站适配器、AMQP出站适配器、RPC出站适配器、RFC出站适配器、SMTP出站适配器和FTP出站适配器,协议适配器支持的协议包括表现层状态转移协议REST、简单对象访问协议WS、高级消息队列协议AMQP、远程过程调用协议RPC、远程函数调用协议RFC、简单邮件传输协议SMTP和文件传输协议FTP;队列模块用于连接适配器模块和核心处理模块,队列模块包括请求入队列、请求出队列、响应入队列和响应出队列;核心处理模块包括请求核心处理模块和响应核心处理模块;配置信息库包括***配置信息、服务配置信息和服务授权配置信息,如图2所示。
所述步骤B特征为:所述工业互联网消息路径选择平台的适配器模块包括入站适配器和出站适配器,入站适配器和出站适配器具有传输协议转换和消息格式转换的功能,在请求响应模式下,如图3所示,入站适配器将请求方***发出的请求消息转换为标准报文格式并发送至队列模块,同时从队列模块中获取相应的响应消息,将其转换为请求方***所要求的消息格式再发送至请求方***;出站适配器将从队列模块中获取的请求消息转换为提供方***所要求的消息格式,将其发送至提供方***,再将提供方***返回的响应消息转换为标准报文格式并发送至队列模块;在发布订阅模式下,入站适配器将发布方***发出的发布消息转换为标准报文格式并发送至队列模块,出站适配器将从队列模块中获取的发布消息转换为对应订阅方***所要求的消息格式并发送至订阅方***,如图4所示,其中消息格式包括标准报文格式、请求方***所要求的消息格式、提供方***所要求的消息格式、发布方***所要求的消息格式和订阅方***所要求的消息格式。
所述步骤B特征为:所述工业互联网消息路径选择平台的队列模块用于连接适配器模块和核心处理模块,队列模块包括:①请求入队列,用于将消息从入站适配器发送至核心处理模块的队列,队列类型表示为REQ-IN;②请求出队列,用于将消息从核心处理模块发送至出站适配器的队列,队列类型表示为REQ-OUT;③响应入队列,用于将消息从出站适配器发送至核心处理模块的队列,队列类型表示为RES-IN;④响应出队列,用于将消息从核心处理模块发送至入站适配器消息的队列,队列类型表示为RES-OUT。队列模块中请求出队列与响应出队列的队列名称由队列类型、传输协议和队列编号组成,其中传输协议包括表现层状态转移协议REST、简单对象访问协议WS、高级消息队列协议AMQP、远程过程调用协议RPC、远程函数调用协议RFC、简单邮件传输协议SMTP和文件传输协议FTP,如图5所示,并且队列模块中请求出队列通过队列名称中传输协议和队列编号匹配相应的响应出队列,以及在工业互联网消息路径选择平台中出站适配器根据传输协议持续观测相应请求出队列中的消息情况,如图6所示,当请求出队列r中存在消息m时,出站适配器从请求出队列r中取出消息m。
所述步骤B特征为:所述工业互联网消息路径选择平台的核心处理模块包括请求核心处理模块和响应核心处理模块,其中请求核心处理模块观测请求入队列的状态信息,当请求入队列中存在消息p时,请求核心处理模块获取消息p,并根据配置信息库中的配置信息将消息p传输至相应的队列中;响应核心处理模块观测响应入队列的状态信息,当响应入队列中存在消息q时,响应核心处理模块获取消息q,并根据配置信息库中的配置信息将消息q传输至相应的响应出队列中。
所述步骤B特征为:所述工业互联网消息路径选择平台的配置信息库包括***配置信息、服务配置信息和服务授权配置信息,其中***配置信息包括***标识、队列编号、***的入站协议和出站协议,入站协议为请求方***/发布方***发送消息时使用的传输协议,出站协议为提供方***/订阅方***接收消息时使用的传输协议;服务配置信息包括服务标识、与服务对应的***标识、服务的接口地址和人工设定的若干请求方式,其中服务为应用***对外提供的公开资源,接口地址为公开资源的访问路径信息;服务授权配置信息包括请求响应模式下提供方服务的服务标识和相应请求方***的***标识,发布订阅模式下发布方服务的服务标识和相应订阅方服务的服务标识,其中提供方服务为提供方***提供给请求方***使用的服务,发布方服务为发布方***发出消息时使用的服务,订阅方服务为订阅方***接收消息时使用的服务。
所述步骤C特征为:所述工业互联网消息路径选择平台的消息传输模式包括请求响应模式和发布订阅模式,如图7所示,其中请求响应模式用于请求方***与提供方***间的信息交换,首先请求方***将请求消息发送至工业互联网消息路径选择平台,其次工业互联网消息路径选择平台将获取的请求消息发送至相应的提供方***,然后提供方***将返回的响应消息返回至工业互联网消息路径选择平台,最后工业互联网消息路径选择平台将获取的响应消息发送至请求方***;发布订阅模式用于发布方***与订阅方***间的信息交换,发布方***将消息发送至工业互联网消息路径选择平台,再由工业互联网消息路径选择平台将消息发送至相应的订阅方***。
所述步骤C特征为:所述工业互联网消息路径选择平台的目标队列选择算法实现过程为:在工业互联网消息路径选择平台中请求入队列集合d={d
1,d
2,d
3,…,d
g,…,d
x},传输协议集合f={f
1,f
2,f
3,…,f
k,…,f
y},传输协议集合f对应的时延集合{c
1,c
2,c
3,…,c
k,…,c
y},在请求入队列d
g中,使用传输协议f
k的消息数量h
gk,传输协议集合f在请求入队列d
g中对应的消息数量的标识集合{h
g1,h
g2,h
g3,…,h
gk,…,h
gy},传输协议集合f在请求入队列集合d中对应的消息数量的标识集合
其中1≤g≤x,1≤k≤y,d
g为第g个请求入队列,f
k为第k种传输协议,c
k为使用传输协议f
k传输消息的时延,h
gk为请求入队列d
g中使用传输协议f
k的消息数量,当入站适配器接收到使用传输协议f
k的请求消息m'时,请求消息m'的目标队列选择算法为:首先,入站适配器获取请求入队列d
g中消息的总时延
则请求入队列集合d对应的总时延的标识集合V={V
1,V
2,V
3,…,V
g,…,V
x};然后,从总时延的标识集合V中获取最小总时延V
min,并通过V
min从请求入队列集合d中获取队列d
min,其中1≤min≤x;最后请求入队列d
min接收来至入站适配器的消息m'。
其中请求消息的目标队列选择算法,同时适用于响应消息和发布消息。
所述步骤C特征为:所述工业互联网消息路径选择平台的请求响应模式,用于请求方***与提供方***间的信息交换,其信息交换的工作流程包括入站适配器的路径选择流程、请求核心处理模块的路径选择流程、出站适配器的路径选择流程和响应核心处理模块的路径选择流程,如图8所示。
入站适配器的路径选择流程,如图9所示:
①入站适配器接收请求方***发出的请求消息F1,并转至步骤②,其中请求消息F1包含请求方***标识和提供方服务标识;
②入站适配器通过请求消息F1获取请求方***标识,并转至步骤③;
③通过配置信息库中的配置信息,判断请求方***标识是否合法,若合法则转至步骤⑥,反之则转至步骤④;
④生成相应的提示信息,并转至步骤⑤;
⑤将提示信息发送至请求方***,并结束计算;
⑥生成即时消息传输的传输标识Y1,并转至步骤⑦;
⑦将请求消息F1的消息格式转换为标准报文格式的消息F1',并转至步骤⑧,其中转换后的请求消息F1'包含传输标识Y1;
⑧将请求消息F1'发送至请求入队列,并转至步骤⑨;
⑨通过请求方***标识,从配置信息库中获取请求方***的入站协议和队列编号,并转至步骤⑩;
⑩通过请求方***的入站协议和队列编号,获取响应出队列R
1,并转至步骤
在超时时间U内,判断响应出队列R
1中是否存在传输标识为Y
1的响应消息G
1,若存在则转至步骤
反之则转至步骤④,其中超时时间U为请求消息F
1在工业互联网消息路径选择平台中允许的最大传输耗时;
根据请求方***要求的消息格式对响应消息G
1进行处理,并转至步骤
其中处理后的响应消息为G'
1;
将处理后的响应消息G'
1发送至请求方***,并结束计算。
请求核心处理模块路径选择流程,如图10所示:
①请求核心处理模块从请求入队列中获取请求消息F2,并转至步骤②;
②从请求消息F2中获取请求方***标识、提供方服务标识和消息传输标识为Y2,并转至步骤③;
③通过请求方***标识和提供方服务标识并结合配置信息库中配置信息判断请求方***有无权限调用服务,若有权限则转至步骤⑧,反之则转至步骤④;
④通过请求方***标识从配置信息库中获取请求方***的入站协议和队列编号,并转至步骤⑤;
⑤通过请求方***入站协议和队列编号获取响应出队列R2,并转至步骤⑥;
⑥生成相应的提示信息,并转至步骤⑦,其中提示信息包含消息传输标识Y2;
⑦将提示信息发送至响应出队列R2,并结束计算;
⑧通过服务标识从配置信息库中获取提供方***标识,并转至步骤⑨;
⑨通过提供方***标识获取提供方***出站协议和队列编号,并转至步骤⑩;
⑩通过提供方***出站协议和队列编号获取请求出队列L
2,并转至步骤
出站适配器的路径选择流程,如图11所示:
①出站适配器从请求出队列L3中获取请求消息F3,并转至步骤②;
②从请求消息F3中获取请求方***标识、提供方服务标识和消息传输标识Y3,并转至步骤③;
③通过提供方服务标识从配置信息库中获取服务的接口地址和相应的请求方式,并转至步骤④;
④根据提供方***要求的消息格式对请求消息F3进行处理,并转至步骤⑤,其中处理后的请求消息为F3';
⑤通过服务的接口地址和相应的请求方式将请求消息F3'发送至提供方***,并转至步骤⑥;
⑥判断提供方***返回的响应消息G3是否存在,若存在则转至步骤⑨,反之则转至步骤⑦;
⑦出站适配器生成相应的提示信息,并转至步骤⑧,其中提示信息包含请求方***标识、提供方服务标识和消息传输标识Y3;
⑧将提示信息发送至响应入队列,并结束;
⑨出站适配器获取提供方***返回的响应消息G3,并转至步骤⑩;
⑩将响应消息G
3的消息格式转换为标准报文格式,并转至步骤
其中转换后的响应消息G'
3包含消息传输标识Y
3;
响应核心处理模块的路径选择流程,如图12所示:
①响应核心处理模块从响应入队列中获取响应消息G4,并转至步骤②;
②从响应消息G4中获取请求方***标识,并转至步骤③;
③通过请求方***标识从配置信息库中获取请求方***的入站协议和队列编号,并转至步骤④;
④通过请求方***入站协议和队列编号获取响应出队列R4,并转至步骤⑤;
⑤将响应消息G4发送至响应出队列R4中,并结束计算。
所述步骤C特征为:所述工业互联网消息路径选择平台的发布订阅模式,用于发布方***与订阅方***间的信息交换,其信息交换包括发布阶段和订阅阶段,信息交换工作流程包括入站适配器的路径选择流程、请求核心处理模块的路径选择流程和出站适配器的路径选择流程,如图13所示。
发布阶段,入站适配器的路径选择流程,如图14所示:
①入站适配器接收发布方***发出的消息H5,并转至步骤②,其中消息H5包含当前发布方服务标识和发布方***标识;
②从消息H5中获取发布方服务标识和发布方***标识,并转至步骤③;
③通过配置信息库中的配置信息,判断发布方***标识是否合法,若合法则转至步骤⑥,反之则转至步骤④;
④生成相应的提示信息,并转至步骤⑤;
⑤将提示信息发送至发布方***,并结束计算;
⑥生成即时消息传输的传输标识Y5,并转至步骤⑦;
⑦将消息H5的消息格式转换为标准报文格式的消息H'5,并转至步骤⑧,其中转换后的消息H'5中包含传输标识Y5;
⑧将转换后的消息H'5发送至请求入队列,并转至步骤⑨;
⑨通过发布方***标识,从配置信息库中获取发布方***的入站协议和队列编号,并转至步骤⑩;
⑩通过发布方***的入站协议和队列编号,获取响应出队列R
5,并转至步骤
在超时时间U'内,判断响应出队列R
5中是否存在传输标识为Y
5的消息K
5,若存在则转至步骤
反之则转至步骤④,其中超时时间U'为消息H
5在工业互联网消息路径选择平台中允许的最大传输耗时;
根据请求方***要求的消息格式对消息K
5进行处理,并转至步骤
其中处理后的消息为K'
5;
将处理后的消息K'
5发送至发布方***,并结束计算。
发布阶段,请求核心处理模块的路径选择流程,如图15所示:
①请求核心处理模块从请求入队列中获取消息H6,并转至步骤②;
②从消息H6中获取发布方服务标识、发布方***标识和消息传输标识Y6,并转至步骤③;
③通过发布方服务标识和发布方***标识,并结合配置信息库中配置信息判断发布方***有无权限调用发布方服务,若有权限转至步骤④,反之则转至步骤
④通过发布方服务标识从配置信息库中获取对应订阅方服务标识集合S={S1,S2,S3,…,Si,…,Sn},并转至步骤⑤,其中订阅方服务标识集合S对应的订阅方***标识集合T={T1,T2,T3,…,Ti,…,Tn}、订阅方***的出站协议集合α={α1,α2,α3,…,αi,…,αn}、订阅方***的队列编号集合β={β1,β2,β3,…,βi,…,βn}、请求出队列集合γ={γ1,γ2,γ3,…,γi,…,γn}以及发送至适配器模块的消息集合M={M1,M2,M3,…,Mi,…,Mn},1≤i≤n,Si为第i个订阅方服务标识,Sn为第n个订阅方服务标识,Ti为第i个订阅方***的***标识,Tn为第n个订阅方***的***标识,αi为第i个订阅方***的出站协议,αn为第n个订阅方***的出站协议,βi为第i个订阅方***的队列编号,βn为第n个订阅方***的队列编号,γi为第i个请求出队列,γn为第n个请求出队列,Mi为第i个消息,Mn为第n个消息;
⑤判断订阅方服务标识集合S是否为空,若为空则转至步骤
反之则转至步骤⑥;
⑥从服务标识集合S中取出单个订阅方服务标识Si,并转至步骤⑦;
⑦通过订阅方服务标识Si从配置信息库中获取相应的订阅方***标识Ti,并转至步骤⑧;
⑧通过订阅方***标识Ti从配置信息库中获取订阅方***的出站协议αi和队列编号βi,并转至步骤⑨;
⑨通过订阅方***的出站协议αi和队列编号βi获取相应的请求出队列γi,并转至步骤⑩;
⑩对消息H
6进行处理,处理后的消息为M
i,并转至步骤
其中处理后的消息M
i包含订阅方服务标识S
i;
将处理后的消息M
i发送至请求出队列γ
i中,并转至步骤⑤;
生成相应的提示信息K
6,并转至步骤
其中提示信息K
6包含消息传输标识Y
6;
通过发布方***标识从配置信息库中获取发布方***的入站协议和队列编号,并转至步骤
通过发布方***入站协议和队列编号获取响应出队列R
6,并转至步骤
订阅阶段,出站适配器的路径选择流程,如图16所示:
①出站适配器从观测的请求出队列中获取请求核心处理模块处理后的消息P,并转至步骤②;
②通过消息P获取订阅方服务标识,并转至步骤③;
③通过订阅方服务标识从配置信息库中获取服务的接口地址和相应的请求方式,并转至步骤④;
④出站适配器根据订阅方***要求的消息格式对请求消息P进行处理,并转至步骤⑤,其中处理后的消息为P';
⑤通过服务的接口地址和相应的请求方式将消息P'发送至订阅方***,并结束计算。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
步骤1,建立工业互联网消息路径选择模型,其过程为消息处理流通过配置信息库中配置信息为入站适配器接收到的请求消息/发布消息和出站适配器接收到的响应消息选择传输路径,实现请求消息、发布消息和响应消息在多源异构***间跨协议传输,其中,工业互联网消息路径选择模型包括:①请求方***/发布方***;②入站适配器,用于将请求消息/发布消息进行传输协议转换后发送至消息队列1,以及将响应消息进行传输协议转换后发送至请求方***;③消息队列1,其为入站适配器与消息处理流间的缓冲队列;④消息处理流,用于为请求消息、发布消息和响应消息选择传输路径;⑤配置信息库,用于存储***及接口的配置信息;⑥消息队列2,其为出站适配器与消息处理流间的缓冲队列;⑦出站协议适配器,用于将请求消息/发布消息进行传输协议转换后发送至相应提供方***/订阅方***,以及将响应消息进行传输协议转换后发送至消息队列2;⑧提供方***/订阅方***;其模型架构如图1所示。
步骤2,通过工业互联网消息路径选择模型建立工业互联网消息路径选择平台,工业互联网消息路径选择平台的功能模块包括适配器模块、队列模块、核心处理模块和配置信息库,其中适配器模块包括入站适配器和出站适配器,入站适配器包括REST入站适配器、WS入站适配器、AMQP入站适配器、RPC入站适配器、RFC入站适配器、SMTP入站适配器和FTP入站适配器,出站适配器包括REST出站适配器、WS出站适配器、AMQP出站适配器、RPC出站适配器、RFC出站适配器、SMTP出站适配器和FTP出站适配器,协议适配器支持的协议包括表现层状态转移协议REST、简单对象访问协议WS、高级消息队列协议AMQP、远程过程调用协议RPC、远程函数调用协议RFC、简单邮件传输协议SMTP和文件传输协议FTP;队列模块用于连接适配器模块和核心处理模块,队列模块包括请求入队列、请求出队列、响应入队列和响应出队列;核心处理模块包括请求核心处理模块和响应核心处理模块;配置信息库包括***配置信息、服务配置信息和服务授权配置信息,如图2所示。
步骤3,完成工业互联网消息路径选择平台适配器模块的设计,适配器模块包括入站适配器和出站适配器,入站适配器和出站适配器具有传输协议转换和消息格式转换的功能,在请求响应模式下,如图3所示,入站适配器将请求方***发出的请求消息转换为标准报文格式并发送至队列模块,同时从队列模块中获取相应的响应消息,将其转换为请求方***所要求的消息格式再发送至请求方***;出站适配器将从队列模块中获取的请求消息转换为提供方***所要求的消息格式,将其发送至提供方***,再将提供方***返回的响应消息转换为标准报文格式并发送至队列模块;在发布订阅模式下,入站适配器将发布方***发出的发布消息转换为标准报文格式并发送至队列模块,出站适配器将从队列模块中获取的发布消息转换为对应订阅方***所要求的消息格式并发送至订阅方***,如图4所示,其中消息格式包括标准报文格式、请求方***所要求的消息格式、提供方***所要求的消息格式、发布方***所要求的消息格式和订阅方***所要求的消息格式。
步骤4,完成工业互联网消息路径选择平台队列模块的设计,用于连接适配器模块和核心处理模块,队列模块包括:①请求入队列,用于将消息从入站适配器发送至核心处理模块的队列,队列类型表示为REQ-IN;②请求出队列,用于将消息从核心处理模块发送至出站适配器的队列,队列类型表示为REQ-OUT;③响应入队列,用于将消息从出站适配器发送至核心处理模块的队列,队列类型表示为RES-IN;④响应出队列,用于将消息从核心处理模块发送至入站适配器的队列,队列类型表示为RES-OUT。队列模块中请求出队列与响应出队列的队列名称由队列类型、传输协议和队列编号组成,其中传输协议包括表现层状态转移协议REST、简单对象访问协议WS、高级消息队列协议AMQP、远程过程调用协议RPC、远程函数调用协议RFC、简单邮件传输协议SMTP和文件传输协议FTP,如图5所示,并且队列模块中请求出队列通过队列名称中传输协议和队列编号匹配相应的响应出队列,以及在工业互联网消息路径选择平台中出站适配器根据传输协议持续观测相应请求出队列中的消息情况,如图6所示,当请求出队列r中存在消息m时,出站适配器从请求出队列r中取出消息m。
步骤5,完成工业互联网消息路径选择平台的核心处理模块的设计,其由请求核心处理模块和响应核心处理模块组成,其中请求核心处理模块观测请求入队列的状态信息,当请求入队列中存在消息p时,请求核心处理模块获取消息p,并根据配置信息库中的配置信息将消息p传输至相应的队列中;响应核心处理模块观测响应入队列的状态信息,当响应入队列中存在消息q时,响应核心处理模块获取消息q,并根据配置信息库中的配置信息将消息q传输至相应的响应出队列中。
步骤6,完成工业互联网消息路径选择平台的配置信息库的设计,其由***配置信息、服务配置信息和服务授权配置信息组成,其中***配置信息包括***标识、队列编号、***的入站协议和出站协议,入站协议为请求方***/发布方***发送消息时使用的传输协议,出站协议为提供方***/订阅方***接收消息时使用的传输协议;服务配置信息包括服务标识、与服务对应的***标识、服务的接口地址和人工设定的若干请求方式,其中服务为应用***对外提供的公开资源,接口地址为公开资源的访问路径信息;服务授权配置信息包括请求响应模式下提供方服务的服务标识和相应请求方***的***标识,发布订阅模式下发布方服务的服务标识和相应订阅方服务的服务标识,其中提供方服务为提供方***提供给请求方***使用的服务,发布方服务为发布方***发出消息时使用的服务,订阅方服务为订阅方***接收消息时使用的服务。
步骤7,完成工业互联网消息路径选择平台的消息传输模式的设计,消息传输模式包括请求响应模式和发布订阅模式,如图7所示,其中请求响应模式用于请求方***与提供方***间的信息交换,首先请求方***将请求消息发送至工业互联网消息路径选择平台,其次工业互联网消息路径选择平台将获取的请求消息发送至相应的提供方***,然后提供方***将返回的响应消息返回至工业互联网消息路径选择平台,最后工业互联网消息路径选择平台将获取的响应消息发送至请求方***;发布订阅模式用于发布方***与订阅方***间的信息交换,发布方***将消息发送至工业互联网消息路径选择平台,再由工业互联网消息路径选择平台将消息发送至相应的订阅方***。
步骤8,完成工业互联网消息路径选择平台的目标队列选择算法,其实现过程为:在工业互联网消息路径选择平台中请求入队列集合d={d
1,d
2,d
3,…,d
g,…,d
x},传输协议集合f={f
1,f
2,f
3,…,f
k,…,f
y},传输协议集合f对应的时延集合{c
1,c
2,c
3,…,c
k,…,c
y},在请求入队列d
g中,使用传输协议f
k的消息数量h
gk,传输协议集合f在请求入队列d
g中对应的消息数量的标识集合{h
g1,h
g2,h
g3,…,h
gk,…,h
gy},传输协议集合f在请求入队列集合d中对应的消息数量的标识集合
其中1≤g≤x,1≤k≤y,d
g为第g个请求入队列,f
k为第k种传输协议,c
k为使用传输协议f
k传输消息的时延,h
gk为请求入队列d
g中使用传输协议f
k的消息数量,当入站适配器接收到使用传输协议f
k的请求消息m'时,请求消息m'的目标队列选择算法为:首先,入站适配器获取请求入队列d
g中消息的总时延
则请求入队列集合d对应的总时延的标识集合V={V
1,V
2,V
3,…,V
g,…,V
x};然后,从总时延的标识集合V中获取最小总时延V
min,并通过V
min从请求入队列集合d中获取队列d
min,其中1≤min≤x;最后请求入队列d
min接收来至入站适配器的消息m'。
其中请求消息的目标队列选择算法,同时适用于响应消息和发布消息。
步骤9,实现工业互联网消息路径选择平台的请求响应模式,请求响应模式用于请求方***与提供方***间的信息交换,其信息交换的工作流程包括入站适配器的路径选择流程、请求核心处理模块的路径选择流程、出站适配器的路径选择流程和响应核心处理模块的路径选择流程,如图8所示。
入站适配器的路径选择流程,如图9所示:
①入站适配器接收请求方***发出的请求消息F1,并转至步骤②,其中请求消息F1包含请求方***标识和提供方服务标识;
②入站适配器通过请求消息F1获取请求方***标识,并转至步骤③;
③通过配置信息库中的配置信息,判断请求方***标识是否合法,若合法则转至步骤⑥,反之则转至步骤④;
④生成相应的提示信息,并转至步骤⑤;
⑤将提示信息发送至请求方***,并结束计算;
⑥生成即时消息传输的传输标识Y1,并转至步骤⑦;
⑦将请求消息F1的消息格式转换为标准报文格式的消息F′1,并转至步骤⑧,其中转换后的请求消息F′1包含传输标识Y1;
⑧将请求消息F′1发送至请求入队列,并转至步骤⑨;
⑨通过请求方***标识,从配置信息库中获取请求方***的入站协议和队列编号,并转至步骤⑩;
⑩通过请求方***的入站协议和队列编号,获取响应出队列R
1,并转至步骤
在超时时间U内,判断响应出队列R
1中是否存在传输标识为Y
1的响应消息G
1,若存在则转至步骤
反之则转至步骤④,其中超时时间U为请求消息F
1在工业互联网消息路径选择平台中允许的最大传输耗时;
根据请求方***要求的消息格式对响应消息G
1进行处理,并转至步骤
其中处理后的响应消息为G'
1;
将处理后的响应消息G'
1发送至请求方***,并结束计算。
请求核心处理模块的路径选择流程,如图10所示:
①请求核心处理模块从请求入队列中获取请求消息F2,并转至步骤②;
②从请求消息F2中获取请求方***标识、提供方服务标识和消息传输标识为Y2,并转至步骤③;
③通过请求方***标识和提供方服务标识并结合配置信息库中配置信息判断请求方***有无权限调用服务,若有权限则转至步骤⑧,反之则转至步骤④;
④通过请求方***标识从配置信息库中获取请求方***的入站协议和队列编号,并转至步骤⑤;
⑤通过请求方***入站协议和队列编号获取响应出队列R2,并转至步骤⑥;
⑥生成相应的提示信息,并转至步骤⑦,其中提示信息包含消息传输标识Y2;
⑦将提示信息发送至响应出队列R2,并结束计算;
⑧通过服务标识从配置信息库中获取提供方***标识,并转至步骤⑨;
⑨通过提供方***标识获取提供方***出站协议和队列编号,并转至步骤⑩;
⑩通过提供方***出站协议和队列编号获取请求出队列L
2,并转至步骤
出站适配器的路径选择流程,如图11所示:
①出站适配器从请求出队列L3中获取请求消息F3,并转至步骤②;
②从请求消息F3中获取请求方***标识、提供方服务标识和消息传输标识Y3,并转至步骤③;
③通过提供方服务标识从配置信息库中获取服务的接口地址和相应的请求方式,并转至步骤④;
④根据提供方***要求的消息格式对请求消息F3进行处理,并转至步骤⑤,其中处理后的请求消息为F′3;
⑤通过服务的接口地址和相应的请求方式将请求消息F′3发送至提供方***,并转至步骤⑥;
⑥判断提供方***返回的响应消息G3是否存在,若存在则转至步骤⑨,反之则转至步骤⑦;
⑦出站适配器生成相应的提示信息,并转至步骤⑧,其中提示信息包含请求方***标识、提供方服务标识和消息传输标识Y3;
⑧将提示信息发送至响应入队列,并结束计算;
⑨出站适配器获取提供方***返回的响应消息G3,并转至步骤⑩;
⑩将响应消息G
3的消息格式转换为标准报文格式,并转至步骤
其中转换后的响应消息G'
3包含消息传输标识Y
3;
响应核心处理模块的路径选择流程,如图12所示:
①响应核心处理模块从响应入队列中获取响应消息G4,并转至步骤②;
②从响应消息G4中获取请求方***标识,并转至步骤③;
③通过请求方***标识从配置信息库中获取请求方***的入站协议和队列编号,并转至步骤④;
④通过请求方***入站协议和队列编号获取响应出队列R4,并转至步骤⑤;
⑤将响应消息G4发送至响应出队列R4中,并结束计算。
步骤10,实现工业互联网消息路径选择平台的发布订阅模式,发布订阅模式用于发布方***与订阅方***间的信息交换,其信息交换包括发布阶段和订阅阶段,信息交换工作流程包括入站适配器的路径选择流程、请求核心处理模块的路径选择流程和出站适配器的路径选择流程,如图13所示。
发布阶段,入站适配器的路径选择流程,如图14所示:
①入站适配器接收发布方***发出的消息H5,并转至步骤②,其中消息H5包含当前发布方服务标识和发布方***标识;
②从消息H5中获取发布方服务标识和发布方***标识,并转至步骤③;
③通过配置信息库中的配置信息,判断发布方***标识是否合法,若合法则转至步骤⑥,反之则转至步骤④;
④生成相应的提示信息,并转至步骤⑤;
⑤将提示信息发送至发布方***,并结束计算;
⑥生成即时消息传输的传输标识Y5,并转至步骤⑦;
⑦将消息H5的消息格式转换为标准报文格式的消息H'5,并转至步骤⑧,其中转换后的消息H'5中包含传输标识Y5;
⑧将转换后的消息H'5发送至请求入队列,并转至步骤⑨;
⑨通过发布方***标识,从配置信息库中获取发布方***的入站协议和队列编号,并转至步骤⑩;
⑩通过发布方***的入站协议和队列编号,获取响应出队列R
5,并转至步骤
在超时时间U'内,判断响应出队列R
5中是否存在传输标识为Y
5的消息K
5,若存在则转至步骤
反之则转至步骤④,其中超时时间U'为消息H
5在工业互联网消息路径选择平台中允许的最大传输耗时;
根据请求方***要求的消息格式对消息K
5进行处理,并转至步骤
其中处理后的消息为K'
5;
将处理后的消息K'
5发送至发布方***,并结束计算。
发布阶段,请求核心处理模块的路径选择流程,如图15所示:
①请求核心处理模块从请求入队列中获取消息H6,并转至步骤②;
②从消息H6中获取发布方服务标识、发布方***标识和消息传输标识Y6,并转至步骤③;
③通过发布方服务标识和发布方***标识,并结合配置信息库中配置信息判断发布方***有无权限调用发布方服务,若有权限转至步骤④,反之则转至步骤
④通过发布方服务标识从配置信息库中获取对应订阅方服务标识集合S={S1,S2,S3,…,Si,…,Sn},并转至步骤⑤,其中订阅方服务标识集合S对应的订阅方***标识集合T={T1,T2,T3,…,Ti,…,Tn}、订阅方***的出站协议集合α={α1,α2,α3,…,αi,…,αn}、订阅方***的队列编号集合β={β1,β2,β3,…,βi,…,βn}、请求出队列集合γ={γ1,γ2,γ3,…,γi,…,γn}以及发送至适配器模块的消息集合M={M1,M2,M3,…,Mi,…,Mn},1≤i≤n,Si为第i个订阅方服务标识,Sn为第n个订阅方服务标识,Ti为第i个订阅方***的***标识,Tn为第n个订阅方***的***标识,αi为第i个订阅方***的出站协议,αn为第n个订阅方***的出站协议,βi为第i个订阅方***的队列编号,βn为第n个订阅方***的队列编号,γi为第i个请求出队列,γn为第n个请求出队列,Mi为第i个消息,Mn为第n个消息;
⑤判断订阅方服务标识集合S是否为空,若为空则转至步骤
反之则转至步骤⑥;
⑥从服务标识集合S中取出单个订阅方服务标识Si,并转至步骤⑦;
⑦通过订阅方服务标识Si从配置信息库中获取相应的订阅方***标识Ti,并转至步骤⑧;
⑧通过订阅方***标识Ti从配置信息库中获取订阅方***的出站协议αi和队列编号βi,并转至步骤⑨;
⑨通过订阅方***的出站协议αi和队列编号βi获取相应的请求出队列γi,并转至步骤⑩;
⑩对消息H
6进行处理,处理后的消息为M
i,并转至步骤
其中处理后的消息M
i包含订阅方服务标识S
i;
将处理后的消息M
i发送至请求出队列γ
i中,并转至步骤⑤;
生成相应的提示信息K
6,并转至步骤
其中提示信息K
6包含消息传输标识Y
6;
通过发布方***标识从配置信息库中获取发布方***的入站协议和队列编号,并转至步骤
通过发布方***入站协议和队列编号获取响应出队列R
6,并转至步骤
订阅阶段,单个出站适配器的路径选择流程,如图16所示:
①出站适配器从观测的请求出队列中获取请求核心处理模块处理后的消息P,并转至步骤②;
②通过消息P获取订阅方服务标识,并转至步骤③;
③通过订阅方服务标识从配置信息库中获取服务的接口地址和相应的请求方式,并转至步骤④;
④出站适配器根据订阅方***要求的消息格式对请求消息P进行处理,并转至步骤⑤,其中处理后的消息为P';
⑤通过服务的接口地址和相应的请求方式将消息P'发送至订阅方***,并结束计算。
步骤11,工业互联网消息路径选择平台的具体实现过程为:
①设计架构模型,并转至步骤②;
②根据架构模型,设计功能模块,并转至步骤③;
③完成适配器模块的开发,为适配器模块中的适配器提供传输协议转换和消息格式转换功能,并转至步骤④;
④根据选定的消息队列中间件完成队列模块开发,消息队列中间件的名称包括IBM WebSphere MQ、ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ和RocketMQ,队列模块包括请求入队列、请求出队列、响应入队列和响应出队列,其中请求出队列与响应出队列的队列名称由队列类型、传输协议和队列编号组成,并转至步骤⑤;
⑤完成核心处理模块开发,包括请求核心处理模块和响应核心处理模块,请求核心处理模块用于从请求入队列中获取消息并发送至相应请求出队列;响应核心处理模块用于从响应入队列中获取消息并发送至相应响应出队列,并转至步骤⑥;
⑥完成***配置信息、服务配置信息和服务授权配置信息,并转至步骤⑦;
⑦部署,部署方式包括公有云部署、私有云部署、社区云部署、混合云部署和本地部署,部署模式包括传统模式、虚拟化模式及容器部署模式;
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。