CN115462054B - 通信转换方法、网关设备、网络系统和计算机介质 - Google Patents
通信转换方法、网关设备、网络系统和计算机介质 Download PDFInfo
- Publication number
- CN115462054B CN115462054B CN202080100288.3A CN202080100288A CN115462054B CN 115462054 B CN115462054 B CN 115462054B CN 202080100288 A CN202080100288 A CN 202080100288A CN 115462054 B CN115462054 B CN 115462054B
- Authority
- CN
- China
- Prior art keywords
- message
- publish
- subscribe
- server
- consumer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000006854 communication Effects 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 title claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000007704 transition Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007500 overflow downdraw method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及通信转换方法、网关设备、网络系统和计算机介质。实现服务器客户端系统和发布订阅系统之间的通信转换的方法,包括:接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自所述服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息;解析所述消息,确定提供所述目标服务的主机和服务提供者以及要接收所述响应消息的消费者;向所确定的主机上的服务提供者发送针对所述目标服务的请求消息;接收来自所述服务提供者的响应消息;以及向所述响应消息添加所述消费者的标识信息,并发送至所述发布订阅系统。
Description
技术领域
本公开通常涉及网络技术领域,更具体地,涉及用于实现服务器客户端系统和发布订阅系统之间的通信的通信转换方法、网关设备、网络系统和计算机介质。
背景技术
近来,OPC基金会对于规范增加了发布-订阅(pub-sub)能力,作为客户端-服务器模式及其请求-响应方式的替代方案。概念上,pub-sub模式中的发布者(数据源)向Broker(消息代理)发送消息,Broker向之前已经请求发送关于特定话题的消息的数据消费者节点中继消息。与客户端-服务器模式相比,pub-sub这种模式解耦了数据源和数据消费者,并将系统从集中模式转变为分布式模式。
这种框架结构的关键优势在于简化了运行在可编程逻辑控制器、人机接口(HMI)系统以及跨不同供应商的系统的企业资源计划(ERP)系统等IT系统上运行的软件。结果是可以更快速的建立工厂,可以收集并且分析更多信息。这些额外的分析可以改进操作效率,并且通过更早发现问题,可以减少停机时间。
在现有技术中,Eclipse 4diacTM针对基于IEC 61499标准的分布式工业过程测量和控制系统提供了一种开源架构。其可以使用发布者和订阅者进行应用程序通信。然而,在这种方法中,工程师需要针对每一个数据点来手动配置Pub/Sub功能块。
参考文献1:US7720914B2,对从发布/订阅服务接收到的消息进行操作,https://patents.google.com/patent/US7720914B2/en。
参考文献2:US7890572B2(与US7720914B2相同),Pub/Sub消息调用订阅者的应用程序https://patents.google.com/patent/US7890572B2/en。
发明内容
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于上述,本公开提出了一种能够简单方便地实现传统的基于客户端-服务器的系统与基于发布-订阅模式的系统之间的通信转换的方法。
根据本公开的一个方面提供了实现服务器客户端系统和发布订阅系统之间的通信转换的方法,包括:接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自所述服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息;解析所述消息,确定提供所述目标服务的主机和服务提供者以及要接收所述响应消息的消费者;向所确定的主机上的服务提供者发送针对所述目标服务的请求消息;接收来自所述服务提供者的响应消息;以及向所述响应消息添加所述消费者的标识信息,并发送至所述发布订阅系统。
可选地,在上述方面的一个示例中,所述消息的主题包括提供所述目标服务的主机的名称、服务提供者的名称以及目标服务的名称。
可选地,在上述方面的一个示例中,所述消息的有效载荷还包括:所述消费者要订阅的目标服务所对应的函数名称和参数。
可选地,在上述方面的一个示例中,在接收来自发布订阅系统的消息之前,所述方法还包括:扫描服务器客户端系统中的服务提供者所提供的服务;以及将所述服务在发布订阅系统中发布,使得发布订阅系统中消费者能够与其感兴趣的服务的服务提供者建立连接。
根据本公开的另一方面,提供了网关设备,包括:发布订阅系统消息接收单元,被配置为接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息;解析单元,被配置为解析所述消息,确定提供所述目标服务的主机和服务提供者以及接收响应消息的消费者;请求消息发送单元,被配置为向所确定的主机上的服务提供者发送针对所述目标服务的请求消息;响应消息接收单元,被配置为接收来自所述服务提供者的响应消息;以及服务器客户端系统消息发送单元,被配置为向所述响应消息添加所述消费者的标识信息,并发送至所述发布订阅系统。
可选地,在上述方面的一个示例中,所述消息的主题包括提供所述目标服务的主机的名称、服务提供者的名称以及目标服务的名称。
可选地,在上述方面的一个示例中,所述消息的有效载荷还包括:所述消费者要订阅的目标服务所对应的函数名称和参数。
可选地,在上述方面的一个示例中,所述网关设备还包括:服务扫描单元,被配置为扫描服务器客户端系统中的服务提供者所提供的服务,以及将所述服务在发布订阅系统中发布,使得发布订阅系统中消费者能够与其想要订阅的服务的服务提供者建立连接。
根据本公开的另一方面,提供了网络系统,包括:一个服务器客户端系统和一个发布订阅系统,其中,所述服务器客户端系统中设置一个根据以上所述的网关设备,所述服务器客户端系统和所述发布订阅系统经由所述网关设备进行通信。
根据本公开的另一方面,提供了网关设备,包括:至少一个处理器;以及与所述至少一个处理器耦合的一个存储器,所述存储器用于存储指令,当所述指令被所述至少一个处理器执行时,使得所述处理器执行如上所述的方法。
根据本公开的另一方面,提供了一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行如上所述的方法。
在根据本公开的方法和网关设备中,对网络系统中的角色、以及发送消息的主题和有效载荷重新进行了定义,从而可以支持服务器客户端系统和发布订阅系统之间的通信。
在根据本公开的方法和网关设备中,可以自动扫描和广播服务器能够提供的服务,而无需针对每一个数据点进行手工配置。
在根据本公开的方法和网关设备中,可以动态地并且自动地创建Pub/Sub客户端。
根据本公开的实现服务器客户端系统和发布订阅系统之间的通信转换的方法提供了一种IT和OT系统的融合方法,根据本公开的方法是一种低代码的方法,减小了技术人员的开发负担,提高了工业通信的效率。
通过采用根据本公开的方法,可以扩展产品的应用场景,提高产品的竞争力。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。
图1示出了根据本发明的一个实施例的实现服务器客户端系统和发布订阅系统之间的通信转换方法的示例性过程的流程图;
图2是示出了根据本公开的另一个实施例的网关设备200的示例性配置的框图;
图3示出了利用根据本公开的网关设备进行通信的网络系统的一个示意性框图;
图4示出了根据本公开的另一个实施例利用网关设备进行通信的网络系统的操作流程图;
图5示出了根据本公开又一个实施例的服务器客户端系统和发布订阅系统进行通信的操作流程图;以及
图6示出了根据本公开的实施例的实现服务器客户端系统和发布订阅系统之间的通信转换的方法的网关设备的方框图。
附图标记
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在客户端-服务器系统中,服务器向一个或多个客户端提供函数或者服务,客户端针对这些函数或服务发起请求。客户端和服务器按照请求-响应的模式来交换消息。客户端发送带有服务器地址的请求,服务器回复带有客户端地址的响应。
在发布订阅(pub-sub)系统中,发布者将消息发布在中间消息Broker(消息代理)或者事件总线上,订阅者向Broker登记订阅,让Broker进行过滤。这种模式解耦了服务提供者和消费者,消费者只需要预先配置Broker的地址。
在本公开中,提出一种能够简单方便地实现传统的基于客户端-服务器的系统与基于发布-订阅模式的系统之间的通信转换的方法。
下面结合附图来描述根据本公开的实施例的实现服务器客户端系统和发布订阅系统之间的通信转换的方法,网关设备和网络系统。
图1示出了根据本发明的一个实施例的实现服务器客户端系统和发布订阅系统之间的通信转换方法100的示例性过程的流程图。
首先,在步骤S102中,接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息。
在根据本公开的方案中,对从发布订阅系统发送至服务器客户端系统的消息进行定义。其中,消息的主题包括能够表示该消息要发送至的服务器客户端系统中的目标服务的相关信息,例如,可以将消息的主题定义为包括提供目标服务的主机的名称、服务提供者的名称以及目标服务的名称的字符串,这样可以使得服务器客户端系统接收到消息之后能够确定要将该消息发送至哪个主机的哪个服务器提供者;在消息的有效载荷中可以包括要接收响应消息的发布订阅系统中的消费者的标识信息,这样,在服务器客户端系统的响应消息发送至发布订阅系统之后,其中的Broker可以知道要将该响应消息转发给哪个消费者。
其中,消息的主题和有效载荷可以定义为JSON格式的字符串,或者xml格式、二进制格式等。在本发明中,对于消息的主题和有效载荷的具体形式不做限定。
此外,可选地,在消息的有效载荷中还可以包括目标服务所对应的函数名,以及函数的参数等。
通过这样的方式,将函数名和函数参数放在载荷中而不是消息的主题中,可以减少主题的数量;此外,可以映射到具体函数进行调用,从而触发服务器的服务。
在接收到来自发布订阅系统的消息之后,在步骤S104中,解析所述消息,确定提供所述目标服务的主机和服务提供者以及要接收响应消息的消费者。
在步骤S106中,向所确定的主机上的服务提供者发送针对所述目标服务的请求消息。
在根据本公开的方法中,在服务器客户端系统侧执行的数据通信模式就是常见的请求-响应模式,由于在上一步骤S104中确定了提供所述目标服务的主机和服务提供者,因此可以将针对所述目标服务的请求消息直接发送至相应的服务提供者。
接着,在步骤S108中,可以接收到来自所述服务提供者的响应消息。
在步骤S110中,根据在步骤S104中所确定的发布订阅系统中要接收响应消息的消费者,向响应消息添加该消费者的标识信息,例如可以将标识信息添加在发送至发布订阅系统的响应消息的主题上,然后将该消息发送至发布订阅系统。
发布订阅系统中的Broker在接收到该消息之后,可以根据其中关于消费者的标识信息,确定要将该响应消息发送给哪个消费者。本领域技术人员可以理解在发布订阅系统中Broker如何对消息进行转发的具体过程,在此不再详述。
在上述方法中,在服务器客户端系统中采用请求-响应模式,在发布订阅系统中采用发布订阅模式,无需对各自的系统进行任何改变,就可以实现服务器客户端系统和发布订阅系统之间的通信转换,通过上述步骤,发布订阅系统中的消费者可以向服务器客户端中的服务器请求感兴趣的服务。
在一个示例中,在服务器客户端接收来自发布订阅系统的消费者的消息之前,可以包括步骤S101,首先扫描服务器客户端系统中的服务提供者所提供的服务,然后,将所述服务在发布订阅系统中发布,使得发布订阅系统中消费者能够与其感兴趣的服务的服务提供者建立连接。
通过这样的方式,可以自动扫描和广播服务,并且通过网关动态地并且自动地创建Pub/Sub客户端。
在一个具体示例中,可以扫描所有服务器提供者的服务库,然后订阅对应的主题。所有服务,包括对应的函数名和参数,都可以组织为JSON格式的消息,并将其主题定义为“adv”,即广告。
优选地,可以定期广播广告消息,每一个消费者可以订阅感兴趣的主题,并且通过解析广告得到其感兴趣的服务,例如可以得到函数名和参数等。
图2是示出了根据本公开的另一个实施例的网关设备200的示例性配置的框图。通过网关设备,实现服务器客户端系统和发布订阅系统之间的通信转换。
如图2所示,网关设备200包括:发布订阅系统消息接收单元202、解析单元204、请求消息发送单元206、响应消息接收单元208以及服务器客户端系统消息发送单元210。
其中,发布订阅系统消息接收单元202被配置为接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息。
解析单元204被配置为解析所述消息,确定提供所述目标服务的主机和服务提供者以及接收响应消息的消费者。
请求消息发送单元206被配置为向所确定的主机上的服务提供者发送针对所述目标服务的请求消息。
响应消息接收单元208被配置为接收来自所述服务提供者的响应消息。
服务器客户端系统消息发送单元210被配置为向所述响应消息添加所述消费者的标识信息,并发送至所述发布订阅系统。
其中,所述消息的主题可以包括提供所述目标服务的主机的名称、服务提供者的名称以及目标服务的名称。
其中,所述消息的有效载荷还可以包括:所述消费者要订阅的目标服务所对应的函数名称和参数。
在一个示例中,网关设备还可以包括:服务扫描单元201,其被配置为扫描服务器客户端系统中的服务提供者所提供的服务,以及将所述服务在发布订阅系统中发布,使得发布订阅系统中消费者能够与其想要订阅的服务的服务提供者建立连接。
图2所示的网关设备200的各个部分的操作和功能的细节例如可以与参照结合图1描述的本公开的实现服务器客户端系统和发布订阅系统之间的通信转换的方法100的实施例的相关部分相同或类似,这里不再详细描述。
通过以上所述的方法或者网关设备,可以实现服务器客户端系统和发布订阅系统之间的通信转换。
还需要说明的是,图2所示的网关设备200及其组成单元的结构仅仅是示例性的,本领域技术人员可以根据需要对图2所示的结构框图进行修改。
图3示出了利用根据本公开的网关设备进行通信的网络系统300的一个示意性框图。
图3所示的网络系统300包括服务器客户端系统301和发布订阅系统302。在服务器客户端系统301中设置一个如以上所述的网关设备200。服务器客户端系统301和发布订阅系统302可以通过网关设备200进行通信。
下面参照图4,详细描述服务器客户端系统401和发布订阅系统402通过网关设备200进行通信的一个具体示例,在图4中具体说明了发布订阅系统402中的消费者A 405和消费者B 406订阅服务器客户端系统401中的服务的详细过程。
在图4中,401表示客户端服务器系统中的一个服务器Host1,402表示发布订阅系统,403表示Host1上的一个Provider1(服务提供者),200表示如以上所述的网关设备,220是网关设备创建的一个Client1(客户端),404是Broker(消息代理),405是消费者A,406是消费者B。
首先,在步骤S411,网关设备220向Broker 404订阅“Sub Host1/Provider1/Interface1”。
接着,消费者A 405在S412-1中,进行订阅,“Sub ClientA/InterfaceReply1”。然后,在步骤S413-1中向Broker 404发布“Pub Host1/Provider1/Interface1”,该消息的主题上包括了要订阅的服务的主机名称Host1,服务提供者名称Provider1,以及要定制的服务名称Interface1;类似地,消费者B 406在S412-2中进行订阅,“ClientB/InterfaceReply1”,然后在S413-2中,向Broker 404发布“Pub Host1/Provider1/Interface1”,该消息主题上包括了要订阅的服务的主机名称Host1,服务提供者名称Provider1,以及要定制的服务名称Interface1。
在步骤S414中,Broker 404转发消息“Fwd Host1/Provider1/Interface1”。
在步骤S415,在网关设备200中创建一个客户端Client1 220,Client1 220向Provider1 403发送请求消息“Interface1”。
在步骤S416,Client1 220收到来自Provider1 403的响应消息“InterfaceReply1”。
在步骤S417-1和步骤S417-2中,Client1 220分别发布“Pub ClientA/InterfaceReply1”和“Pub ClientB/InterfaceReply1”。
在步骤S418-1和S418-2,Broker 404分别向消费者A和消费者B转发“FwdClientA/InterfaceReply1”和“Fwd ClientB/InterfaceReply1”。
通过上述步骤,就完成了发布订阅系统中的消费者A和消费者B向服务器客户端系统中的主机Host1上的服务提供者Provider1订阅服务Interface1的整个过程。
在上述过程中,服务提供者(服务器)订阅可以提供的服务,消费者发布消息作为请求,同时消费者还可以订阅作为针对该请求的响应而接收的话题。
下面再参照图5说明根据本公开另一个实施例的服务器客户端系统和发布订阅系统进行通信的具体示例。
图5中,501表示Host1(服务器),502表示发布订阅系统,Host1 501上设置有Provider1(服务提供者)503和网关200。504表示Broker,505表示消费者A。
整个通信过程可以分为五个步骤,包括扫描S51,发现S52,连接S53,请求/响应S54和断开S55。
具体地,扫描步骤S51包括:在子步骤S511中,网关200扫描Host1 501是的服务提供者可以提供的所有服务,然后在子步骤S512中,网关200向发布订阅系统的Broker 504订阅所有服务“Sub all interface”。
发现步骤S52包括:在子步骤S521中,发布订阅系统中的消费者A 505订阅关于Host1 501的广告“Sub Host1 adv”;在子步骤S522中,网关200向Broker 504发布Host1501所能提供的所有服务的广告“Pub Host1 adv”;在子步骤S523中,Broker 504将广告转发至消费者A 505“Forward Host1 adv”。
连接步骤S53包括:在子步骤S531中,消费者A 505向Broker 504订阅“onConnect”消息“Sub“onConnect”message”;在子步骤S532中,消费者A 505向Broker 504发布“Connect”消息“Pub“Connect”message”;在子步骤S533中,Broker 504将“Connect”消息转发给网关200“Forward“Connect”message”;在子步骤S534中,网关200创建一个客户端,在子步骤S535中,该客户端向Provider1 503发送对于服务“Interface1”的连接请求消息“Interface1 Connect()”;在子步骤S536中,Provider1 503向网关200发送响应消息“Interface1 Connected()”;在子步骤S537中,网关200向Broker 504发布消息“Pub“onConnect”message;在子步骤S538中,Broker 504将“onConnect”消息转发给消费者A505“Forward“onConnect”message”。
请求/响应步骤S54包括:在子步骤S541中,消费者A 505向Broker 504订阅“onGet”消息“Sub“onGet”message”;在子步骤S542中,消费者A 505向Broker 504发布“Get”消息“Pub“Get”message”;在子步骤S543中,Broker 504将“Get”消息转发给网关200“Forward“Get”message”;在子步骤S544中,客户端向Provider1 503发送对于服务“Interface1”的获得请求消息“Interface1 Get()”;在子步骤S545中,Provider1 503向网关200发送响应消息“Interface1 onGet()”;在子步骤S546中,网关200向Broker504发布消息“Pub“onGet”message”;在子步骤S547中,Broker 504将“onGet”消息转发给消费者A“Forward“onGet”message”。
最后,断开步骤S55包括:在子步骤S551中,消费者A 505向Broker 504发布“Disconnect”消息,“Pub“disconnect”message”;在子步骤S552中,Broker 504将“Disconnect”消息转发给网关200“Forward“Disconnect”message”;在子步骤S553中,网关200删除创建的客户端,在子步骤S554中,向Provider1 503发送“Interface1 Disconnect()”消息。
在上述过程中,由于网关接收到的来自发布订阅系统的消息的主题带有服务器客户端系统中提供服务的主机的名称、服务提供者的名称以及服务的名称,因此网关可以向相应的服务提供者发送针对目标服务的请求消息,对于服务器返回的响应消息,网关可以根据接收到的消息中的有效载荷所包括的发送该消息的消费者的信息,而在响应消息中标识该响应消息的目标消费者。
以上参照图5,详细描述了服务器客户端系统和发布订阅系统进行通信的一个具体示例,本领域技术人员可以理解,根据本公开的方法不限于该示例所示出的各个步骤。
例如,本领域技术人员可以理解,可以在建立连接之后,保持连接,使得消费者和服务器之间进行多次通信,也可以在每次通信之前建立连接,在通信之后再断开连接。
如上参照图1到图5,对根据本公开的实施例的实现服务器客户端系统和发布订阅系统之间的通信转换的方法、网关设备和网络系统的实施例进行了描述。以上所述的网关设备可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图6示出了根据本公开的实施例的实现服务器客户端系统和发布订阅系统之间的通信转换的方法的网关设备600的方框图。根据一个实施例,网关设备600可以包括至少一个处理器602,处理器602执行在计算机可读存储介质(即,存储器604)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器604中存储计算机可执行指令,其当执行时使得至少一个处理器602完成以上参照图1所描述的实现服务器客户端系统和发布订阅系统之间的通信转换的方法。
应该理解,在存储器604中存储的计算机可执行指令当执行时使得至少一个处理器602进行本公开的各个实施例中以上结合图1-5描述的各种操作和功能。
根据一个实施例,提供了一种非暂时性机器可读介质。该非暂时性机器可读介质可以具有机器可执行指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-5描述的各种操作和功能。
根据一个实施例,提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-5描述的各种操作和功能。
根据一个实施例,提供了一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-5描述的各种操作和功能。
在根据本公开的方法和网关设备中,对网络系统中的角色、以及发送消息的主题和有效载荷重新进行了定义,从而可以支持服务器客户端系统和发布订阅系统之间的通信。
在根据本公开的方法和网关设备中,可以自动扫描和广播服务器能够提供的服务,而无需针对每一个数据点进行手工配置。
在根据本公开的方法和网关设备中,可以动态地并且自动地创建Pub/Sub客户端。
根据本公开的实现服务器客户端系统和发布订阅系统之间的通信的方法提供了一种IT和OT系统的融合方法,根据本公开的方法是一种低代码的方法,减小了技术人员的开发负担,提高了工业通信的效率。
通过采用根据本公开的方法,可以扩展产品的应用场景,提高产品的竞争力。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (9)
1.实现服务器客户端系统和发布订阅系统之间的通信转换的方法,所述方法由服务器客户端系统与发布订阅系统之间的网关设备执行,所述方法包括:
接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自所述服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息;
解析所述消息,确定提供所述目标服务的主机和服务提供者以及要接收所述响应消息的消费者;
向所确定的主机上的服务提供者发送针对所述目标服务的请求消息;
接收来自所述服务提供者的响应消息;以及
向所述响应消息添加所述消费者的标识信息,并发送至所述发布订阅系统;
所述消息的主题包括提供所述目标服务的主机的名称、服务提供者的名称以及目标服务的名称;
所述消息的有效载荷还包括:所述消费者要订阅的目标服务所对应的函数名称和参数。
2.如权利要求1所述的方法,其中,在接收来自发布订阅系统的消息之前,所述方法还包括:
扫描服务器客户端系统中的服务提供者所提供的服务;以及
将所述服务在发布订阅系统中发布,使得发布订阅系统中消费者能够与其感兴趣的服务的服务提供者建立连接。
3.网关设备,包括:
发布订阅系统消息接收单元,被配置为接收来自发布订阅系统的消息,其中,所述消息的主题包括与该消息要发送至的服务器客户端系统中的目标服务有关的信息,所述消息的有效载荷包括要接收来自服务器客户端系统的响应消息的、所述发布订阅系统中的消费者的标识信息;
解析单元,被配置为解析所述消息,确定提供所述目标服务的主机和服务提供者以及接收响应消息的消费者;
请求消息发送单元,被配置为向所确定的主机上的服务提供者发送针对所述目标服务的请求消息;
响应消息接收单元,被配置为接收来自所述服务提供者的响应消息;以及
服务器客户端系统消息发送单元,被配置为向所述响应消息添加所述消费者的标识信息,并发送至所述发布订阅系统;
所述消息的主题包括提供所述目标服务的主机的名称、服务提供者的名称以及目标服务的名称;
所述消息的有效载荷还包括:所述消费者要订阅的目标服务所对应的函数名称和参数;
所述服务器客户端系统和所述发布订阅系统经由所述网关设备进行通信。
4.如权利要求3所述的网关设备,还包括:
服务扫描单元,被配置为扫描服务器客户端系统中的服务提供者所提供的服务,以及将所述服务在发布订阅系统中发布,使得发布订阅系统中消费者能够与其想要订阅的服务的服务提供者建立连接。
5.网络系统,包括:一个服务器客户端系统和一个发布订阅系统,其中,所述服务器客户端系统中设置一个根据权利要求3-4中任意一项所述的网关设备,所述服务器客户端系统和所述发布订阅系统经由所述网关设备进行通信。
6.网关设备(600),包括:
至少一个处理器(602);以及
与所述至少一个处理器(602)耦合的一个存储器(604),所述存储器用于存储指令,当所述指令被所述至少一个处理器(602)执行时,使得所述处理器(602)执行如权利要求1-2中任意一项所述的方法。
7.一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1-2中任意一项所述的方法。
8.一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1-2中任意一项所述的方法。
9.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1-2中任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/092985 WO2021237588A1 (zh) | 2020-05-28 | 2020-05-28 | 通信转换方法、网关设备、网络系统和计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115462054A CN115462054A (zh) | 2022-12-09 |
CN115462054B true CN115462054B (zh) | 2025-01-28 |
Family
ID=78745266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080100288.3A Active CN115462054B (zh) | 2020-05-28 | 2020-05-28 | 通信转换方法、网关设备、网络系统和计算机介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11876876B2 (zh) |
EP (1) | EP4142234B1 (zh) |
CN (1) | CN115462054B (zh) |
WO (1) | WO2021237588A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720910B2 (en) * | 2002-07-26 | 2010-05-18 | International Business Machines Corporation | Interactive filtering electronic messages received from a publication/subscription service |
US8825811B2 (en) * | 2012-03-15 | 2014-09-02 | International Business Machines Corporation | Connection management and optimization for services delivered over networks |
MX359818B (es) * | 2012-05-24 | 2018-10-11 | Google Inc | Sistemas, metodos y productos de programas informaticos para proporcionar un protocolo sin contacto. |
CN103338267B (zh) * | 2013-07-18 | 2016-10-12 | 厦门大学 | 一种SIP和Web服务融合的移动智能社区增值业务平台 |
CN104092767B (zh) * | 2014-07-21 | 2017-06-13 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
WO2016014516A1 (en) * | 2014-07-21 | 2016-01-28 | Convida Wireless, Llc | Service layer interworking using mqtt protocol |
US10645181B2 (en) * | 2016-12-12 | 2020-05-05 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN108696551A (zh) * | 2017-04-06 | 2018-10-23 | 中兴通讯股份有限公司 | 系统进程间请求寻址的方法和装置 |
CN110048927B (zh) * | 2018-01-16 | 2020-12-15 | 华为技术有限公司 | 通信方法和通信装置 |
CN109274730B (zh) * | 2018-09-04 | 2021-07-23 | 上海联寓智能科技有限公司 | 物联网系统、mqtt消息传输的优化方法及装置 |
CN109618005B (zh) * | 2019-01-18 | 2020-12-08 | 华为终端有限公司 | 调用服务器的方法和代理服务器 |
KR20210059254A (ko) * | 2019-11-15 | 2021-05-25 | 한국전자기술연구원 | OPC UA 서버를 이용한 OPC UA Publisher 게이트웨이 구성 방법 |
-
2020
- 2020-05-28 CN CN202080100288.3A patent/CN115462054B/zh active Active
- 2020-05-28 WO PCT/CN2020/092985 patent/WO2021237588A1/zh active IP Right Grant
- 2020-05-28 EP EP20937858.7A patent/EP4142234B1/en active Active
- 2020-05-28 US US17/927,277 patent/US11876876B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2021237588A1 (zh) | 2021-12-02 |
EP4142234B1 (en) | 2025-04-30 |
CN115462054A (zh) | 2022-12-09 |
EP4142234C0 (en) | 2025-04-30 |
EP4142234A4 (en) | 2024-02-28 |
US11876876B2 (en) | 2024-01-16 |
US20230199087A1 (en) | 2023-06-22 |
EP4142234A1 (en) | 2023-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8069209B1 (en) | Method for activating and deactivating client-side services from a distant server | |
US20150249629A1 (en) | Transmitting Rich Media Between a Personal Server and a Mobile Device over a Wide Area Network | |
US20030088704A1 (en) | Method and apparatus for processing electronic mail | |
JP2003163953A (ja) | Mmsメッセージとsms/emsメッセージとの間のインターオペラビリティシステム、および関連する交換方法 | |
US9491598B2 (en) | Methods and apparatus for communicating messages between mobile communications devices and internet enabled devices | |
US10997376B2 (en) | Electronic message translation management | |
JP2007325190A (ja) | プッシュゲートウェイ、在圏登録サーバ、携帯端末、プッシュシステム及びプッシュ方法 | |
CN113572835A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
US11888688B2 (en) | Configuration information subscription method and apparatus | |
US20230300106A1 (en) | Data processing method, network element device and readable storage medium | |
CN106487538B (zh) | 业务提速方法、策略控制平台以及系统 | |
GB2580419A (en) | Electronic message control | |
WO2017143743A1 (zh) | 一种异构协议互通方法及控制器 | |
JP6169662B2 (ja) | Api変換アダプタ、api変換システム、及びapi変換プログラム | |
CN115150364B (zh) | 支持多通信协议并发通信的业务请求处理系统和方法 | |
CN115462054B (zh) | 通信转换方法、网关设备、网络系统和计算机介质 | |
US11245567B2 (en) | Electronic message adaptation | |
US20050256959A1 (en) | Method of and system for multimedia messaging system interoperability | |
CN114844995B (zh) | 信息的处理方法、服务器和终端 | |
KR102093749B1 (ko) | 웹브라우저 기반의 다중 디바이스를 이용한 콘텐츠 출력 시스템 및 방법 | |
US7774773B2 (en) | Active node, and contents transfer system and method using the active node | |
WO2023040350A1 (zh) | 云端与物联网设备间的通信方法、装置、介质及产品 | |
US20100299613A1 (en) | Method for the provision of a convergent messaging service for at least one terminal in a mobile radio network system and corresponding working unit | |
JP5914594B2 (ja) | 通信装置およびその動作方法、クライアント装置およびその動作方法、ならびにコンテンツデータ | |
HK40053612A (zh) | 一种数据处理方法、网元设备以及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |