CN115695512A - 基于微服务架构的数据订阅方法、***、设备和存储介质 - Google Patents
基于微服务架构的数据订阅方法、***、设备和存储介质 Download PDFInfo
- Publication number
- CN115695512A CN115695512A CN202211302727.6A CN202211302727A CN115695512A CN 115695512 A CN115695512 A CN 115695512A CN 202211302727 A CN202211302727 A CN 202211302727A CN 115695512 A CN115695512 A CN 115695512A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- sub
- target
- control
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于微服务架构的数据订阅方法,包括:S1、所述数据代理服务接收工业控制组件发送的对目标数据的订阅请求;所述订阅请求包括所述目标数据的资源类型和资源路径,且所述订阅请求为全局统一格式的;S2、所述数据代理服务根据所述订阅请求中的资源类型,基于所述注册信息,查找具有所述资源类型的目标数据的目标子控制服务,将所述订阅请求发送至所述目标子控制服务;S3、所述数据代理服务接收所述目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。本发明的方法提高了微服务***的通信效率,并且提高了微服务***的可扩展性和可维护性。
Description
技术领域
本发明涉及数据订阅技术领域,尤其涉及一种基于微服务架构的数据订阅方法、***、设备和存储介质。
背景技术
微服务架构是一种软件架构方式,它将应用构建成一系列按业务领域划分模块的、自治的子服务。在微服务架构中,每个子服务都是自我包含的,用于实现单一的业务功能。微服务架构下的微服务***通过将功能分解到离散的各个子服务中,降低***整体的耦合性,以提高微服务***整体的灵活性和可扩展性。
在微服务架构的应用场景中,各个子服务由于承载着不同的业务类型,它们和上层的应用之间往往会使用不同的通信协议进行订阅数据的传输。对于上层的应用来说,需要使用不同的通信协议去应对不同的业务场景下,对不同的子服务发出不同格式的数据订阅请求。每当增加一种不同业务类型的子服务时,都需要上层的应用相应地增加一种通信协议和一种数据订阅请求格式,以对新的子服务进行兼容,这使得应用的维护和微服务***的拓展变得极为繁琐。为了解决上述问题,现有的微服务架构通常使用API(ApplicationProgramming Interface,应用程序编程接口)网关作为子服务和上层应用之间的数据统一的出入口,上层应用可以使用任意的通信协议与API网关进行通信;API网关接收到数据订阅请求后,首先基于与上层应用之间的通信协议,解析得到上层应用发出的不同格式的数据订阅请求;接着解析该数据订阅请求,基于该数据订阅请求的业务类型确定对应的子服务;然后按照其与对应的子服务之间的通信协议将该订阅请求发送到对应的子服务进行处理,得到订阅数据;最后再按照其与上层应用间的通信协议,将订阅数据转发给上层应用。这虽然将上层应用从繁琐的通信协议中解放了出来,但API网关复杂的数据转换过程限制了微服务***内部的通信效率,降低了微服务***通信的实时性;此外,对于API网关来说,它必须理解每一种业务类型的协议,在实际应用中,有的API网关使用硬编码的方式来处理不同的协议,有的API网关则使用静态路由表来配置协议和子服务之间的映射关系。而不管是哪种方式,每当微服务***进行业务调整或容量扩充时,都需要修改API网关的软件代码或者静态路由表,这不仅增加了微服务***维护的负担,也降低了微服务***的可扩展性和可维护性。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种基于微服务架构的数据订阅方法,其解决了现有的微服务***通信效率低、可扩展性和可维护性较差的技术问题。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
第一方面,本发明实施例提供一种基于微服务架构的数据订阅方法,所述数据订阅方法应用于工业控制***环境中,实现工业控制组件对工业控制***中的***数据的订阅,所述微服务架构包括工业控制组件、数据代理服务和子控制服务,所述数据代理服务分别与工业控制组件和子控制服务通信连接,所述数据代理服务本地存储有子控制服务的注册信息,所述注册信息包括子控制服务本地的资源类型;所述数据订阅方法包括:
S1、所述数据代理服务接收工业控制组件发送的对目标数据的订阅请求;所述订阅请求包括所述目标数据的资源类型和资源路径,且所述订阅请求为全局统一格式的;
S2、所述数据代理服务根据所述订阅请求中的资源类型,基于所述注册信息,查找具有所述资源类型的目标数据的目标子控制服务,将所述订阅请求发送至所述目标子控制服务;
S3、所述数据代理服务接收所述目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。
本发明实施例提出的数据订阅方法,根据数据代理服务本地存储的注册信息,对子控制服务本地的资源类型进行预先的统计,并同时规定了在微服务架构下的微服务***中,描述数据资源的统一格式,即订阅请求的统一格式,规定订阅请求中需要包含资源类型和资源路径,从而使得数据代理服务能够基于订阅请求中的资源类型,根据数据代理服务本地存储的注册信息,快速定位该订阅请求对应的子控制服务,并将该订阅请求直接转发至子控制服务,进而得到目标数据,从而省去了订阅请求格式转换的过程,提高了微服务***的通信效率,特别适用于工业控制***这种数据流量小,但对数据实时性要求较高的应用场景。
此外,基于数据代理服务本地存储的注册信息,每当有新扩展的子控制服务加入当前的微服务***时,新的子控制服务只需在注册时向数据代理服务提供其本地的资源类型,使数据代理服务更新本地存储的注册信息,即可完成数据代理服务对新的子控制服务的兼容,这极大地提高了微服务***的可扩展性和可维护性。
可选地,所述目标子控制服务返回的目标数据为:目标子控制服务基于数据代理服务发送的所述订阅请求,从所述订阅请求中包含的资源路径所指定的存储位置获取的数据。
可选地,在S1中,所述订阅请求为对多项目标数据的批量订阅请求,所述批量订阅请求包括每一项目标数据的资源类型和资源路径;
所述S2包括:所述数据代理服务根据所述批量订阅请求,遍历每一项目标数据对应的资源类型,基于所述注册信息查找具有所述资源类型的目标数据的目标子控制服务,将该项目标数据对应的资源类型和资源路径分发至所述目标子控制服务;
所述S3包括:所述数据代理服务接收所有目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。
可选地,所述订阅请求的格式为URI(Uniform Resource Identifier,统一资源标识符)格式,所述URI格式的定义为:资源类型://资源路径。
可选地,所述工业控制组件包括DCS(Distributed Control System,集散控制***)实时监控***、DCS报警***、运维管理平台、智能仪表管理***中的一种或多种;
所述资源类型包括实时数据资源、历史数据资源、报警数据资源、诊断数据资源、图片数据资源中的一种或多种;
所述子控制服务服务包括实时数据子服务、历史数据子服务、报警子服务、诊断子服务、图片数据子服务中的一种或多种。
可选地,所述注册信息为动态路由信息表,所述动态路由信息表包括子控制服务的身份识别码和该子控制服务本地的资源类型;
所述S2包括:所述数据代理服务根据所述订阅请求中的资源类型,基于动态路由信息表,查找具有所述资源类型的目标数据的目标子控制服务的身份识别码,根据所述身份识别码,将所述订阅请求发送至与所述身份识别码对应的目标子控制服务。
可选地,当所述数据代理服务接收到新的子控制服务的注册请求时,从所述注册请求中提取新的子控制服务的身份识别码和该子控制服务本地的资源类型,将该子控制服务的所述身份识别码和该子控制服务本地的所述资源类型添加至动态路由信息表;
当所述数据代理服务收到已注册的子控制服务的注销请求时,从所述注销请求中提取所述已注册的子控制服务的身份识别码,将所述身份识别码和所述身份识别码对应的资源类型从动态路由信息表中删除。
第二方面,本发明实施例提供一种微服务***,包括:
工业控制组件,所述工业控制组件用于向数据代理服务模块发送对目标数据的订阅请求,所述订阅请求包括目标数据的资源类型和资源路径,且所述订阅请求为全局统一格式的;
数据代理服务模块,所述数据代理服务模块本地存储有至少一个子控制模块的注册信息,所述注册信息包括子控制模块本地的资源类型;所述数据代理服务模块用于接收工业控制组件发送的所述订阅请求,并基于所述订阅请求中包含的资源类型,查找具有所述资源类型的目标数据的目标子控制模块,将所述订阅请求发送至所述目标子控制模块;以及,接收目标子控制模块返回的目标数据,并将所述目标数据转发至工业控制组件;
子控制模块,用于接收数据代理服务模块发送的所述订阅请求,以及基于所述订阅请求中包含的资源路径,将所述资源路径指定的目标数据发送至数据代理服务模块。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述的基于微服务架构的数据订阅方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于微服务架构的数据订阅方法的步骤。
(三)有益效果
本发明实施例提出的数据订阅方法,根据数据代理服务本地存储的注册信息,对子控制服务本地的资源类型进行预先的统计,并同时规定了在微服务架构下的微服务***中,描述数据资源的统一格式,即订阅请求的统一格式,规定订阅请求中需要包含资源类型和资源路径,从而使得数据代理服务能够基于订阅请求中的资源类型,根据数据代理服务本地存储的注册信息,快速定位该订阅请求对应的子控制服务,并将该订阅请求直接转发至子控制服务,进而得到目标数据,从而省去了订阅请求格式转换的过程,提高了微服务***的通信效率,特别适用于工业控制***这种数据流量小,但对数据实时性要求较高的应用场景。
此外,基于数据代理服务本地存储的注册信息,每当有新扩展的子控制服务加入当前的微服务***时,新的子控制服务只需在注册时向数据代理服务提供其本地的资源类型,使数据代理服务更新本地存储的注册信息,即可完成数据代理服务对新的子控制服务的兼容,这极大地提高了微服务***的可扩展性和可维护性。
附图说明
图1为实施例中提供的一种基于微服务架构的数据订阅方法的流程示意图;
图2为实施例中提供的一种微服务架构的示意图;
图3为实施例中提供的另一种微服务架构的示意图;
图4为实施例中提供的一种URI格式的订阅请求的格式示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
如图1所示的流程示意图,本实施例提供一种基于微服务架构的数据订阅方法,可应用于工业控制***环境中,实现工业控制组件对工业控制***中的***数据的订阅。所述***数据可为工业控制***中工控设备产生、传输、接收或保存的数据等。
如图2所示,所述微服务架构包括工业控制组件、数据代理服务和子控制服务,所述数据代理服务分别与工业控制组件和子控制服务通信连接,或者称数据代理服务分别与工业控制组件和子控制服务进行通信交互,所述数据代理服务本地存储有子控制服务的注册信息,所述注册信息包括子控制服务本地的资源类型。所述工业控制组件包括DCS实时监控***、DCS报警***、运维管理平台、智能仪表管理***中的一种或多种;所述子控制服务包括实时数据子服务、历史数据子服务、报警子服务、诊断子服务、图片数据子服务中的一种或多种。
本实施例提供的数据订阅方法包括:
S1、所述数据代理服务接收工业控制组件发送的对目标数据的订阅请求。所述订阅请求包括所述目标数据的资源类型和资源路径,且所述订阅请求为全局统一格式的。
具体地,所述订阅请求的格式可为自定义的格式,也可为为URI格式,所述URI格式的定义为:资源类型://资源路径。URI格式通常在互联网领域中用于标识某一资源。本实施例创造性地将其用于在工业控制***的微服务***中标识工业控制组件指定的目标数据,以实现对目标数据的快速定位。
S2、所述数据代理服务根据所述订阅请求中的资源类型,基于所述注册信息,查找具有所述资源类型的目标数据的目标子控制服务,将所述订阅请求发送至所述目标子控制服务。
具体地,所述注册信息至少应当包括子控制服务的本地的资源类型,以及可使数据代理服务识别该子控制服务的标识信息。较佳地,所述注册信息可为为动态路由信息表,所述动态路由信息表包括子控制服务的身份识别码和本地的资源类型。具体地,所述身份识别码可为子控制服务的ID(Identity document,身份标识号码)、序列号或UUID(Universally Unique Identifier,全局唯一标识符)。
需要说明的是,所述资源类型应当是和子控制服务的业务类型是一一对应的,通常在微服务架构下,一个子控制服务只实现一个业务类型,因而其本地的资源类型也只有一个。例如,本发明实施例应用于工业控制***环境中,实现工业控制组件对工业控制***中的***数据的订阅时,所述子控制服务包括:实时数据子服务、历史数据子服务、报警子服务、诊断子服务、图片数据子服务;对应的,所述资源类型包括:实时数据资源、历史数据资源、报警数据资源、诊断数据资源、图片数据资源。
在本步骤中,由于订阅请求为全局统一格式的,因此,数据代理服务在接收到工业控制组件发送的订阅请求后,不需要理解该订阅请求的具体内容,只需根据订阅请求中的资源类型快速确定该订阅请求对应的目标子控制服务,然后将该订阅请求直接转发给该目标子控制服务即可,因而能够有效简化数据代理服务的处理流程,提高数据代理服务的工作效率,进而提高微服务***的通信效率。
S3、所述数据代理服务接收所述目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。
具体地,所述目标子控制服务返回的目标数据为:目标子控制服务基于数据代理服务发送的所述订阅请求,从所述订阅请求中包含的资源路径所指定的存储位置获取的数据。
本发明实施例提出的数据订阅方法,根据数据代理服务本地存储的注册信息,对子控制服务本地的资源类型进行预先的统计,并同时规定了在微服务架构下的微服务***中,描述数据资源的统一格式,即订阅请求的统一格式,规定订阅请求中需要包含资源类型和资源路径,从而使得数据代理服务能够基于订阅请求中的资源类型,根据数据代理服务本地存储的注册信息,快速定位该订阅请求对应的子控制服务,并将该订阅请求直接转发至子控制服务,进而得到目标数据,从而省去了订阅请求格式转换的过程,提高了微服务***的通信效率,特别适用于工业控制***这种数据流量小,但对数据实时性要求较高的应用场景。
实施例二
为了更好地理解实施例一,本实施例基于工业控制***这一具体应用场景,结合具体的步骤进行进行详细说明。
如图3所示,所述微服务架构包括工业控制组件、数据代理服务和子控制服务,所述数据代理服务分别与工业控制组件和子控制服务通信连接,所述数据代理服务本地存储有动态路由信息表,所述动态路由信息表包括子控制服务的身份识别码和本地的资源类型。所述工业控制组件包括DCS实时监控***和DCS报警***,所述子控制服务包括实时数据子服务、历史数据子服务、报警子服务、诊断子服务、图片数据子服务。所述DCS实时监控***需要的订阅数据的资源类型包括实时数据资源、历史数据资源、报警数据资源、诊断数据资源、图片数据资源,所述DCS报警***需要的订阅数据的资源类型包括报警数据资源。
需要说明的,所述数据代理服务本地的动态路由信息表基于子控制服务的注册请求或注销请求更新,具体地:当所述数据代理服务接收到新的子控制服务的注册请求时,从所述注册请求中提取新的子控制服务的身份识别码和本地的资源类型,将新的子控制服务的所述身份识别码和本地的所述资源类型添加至动态路由信息表。当所述数据代理服务收到已注册的子控制服务的注销请求时,从所述注销请求中提取所述已注册的子控制服务的身份识别码,将所述身份识别码和所述身份识别码对应的资源类型从动态路由信息表中删除。
基于上述数据代理服务的注册机制,每当有新扩展的子控制服务加入当前的微服务***时,新的子控制服务只需在注册时向数据代理服务提供其本地的资源类型,使数据代理服务更新本地存储的注册信息,即可完成数据代理服务对新的子控制服务的兼容,这极大地提高了微服务***的可扩展性和可维护性。
本实施例提供的数据订阅方法,包括以下步骤:
S1、所述数据代理服务接收工业控制组件发送的对目标数据的URI格式的订阅请求;所述订阅请求包括所述目标数据的资源类型和资源路径。
所述URI格式的定义为:资源类型://资源路径。具体地,URI格式的订阅请求字符串如图4所示,其中var表示资源类型为实时数据资源。对应于子控制服务的业务类型,所述资源类型包括实时数据资源、历史数据资源、报警数据资源、诊断数据资源、图片数据资源,其在URI格式的订阅请求字符串中可分别使用字符var、history、alarm、diag、pic表示。所述资源路径用于定位目标数据的路径,子控制服务可根据所述资源路径寻找到对应的目标数据。
特别地,订阅请求可为对多项目标数据的批量订阅请求,所述批量订阅请求包括与每一项目标数据的对应的多个订阅请求,每个订阅请求均为URI格式的。
S2、所述数据代理服务根据所述订阅请求中的资源类型,基于动态路由信息表,查找确定具有所述资源类型的目标数据的目标子控制服务的身份识别码,根据所述身份识别码,将所述订阅请求发送至与所述身份识别码对应的目标子控制服务。
特别地,当订阅请求为批量订阅请求时,所述数据代理服务根据所述批量订阅请求,遍历每一项目标数据对应的资源类型,基于所述注册信息查找具有所述资源类型的目标数据的目标子控制服务,将该项目标数据对应的资源类型和资源路径分发至所述目标子控制服务。需要说明地,当订阅请求为批量订阅请求时,批量订阅请求中某几项目标数据的资源类型可能相同,也即,一个子控制服务可能收到关于一个批量订阅请求的多个资源路径,当该子控制服务按照多个所述资源路径得到多项目标数据时,可将多个所述目标数据整合至一个数据包中并返回给数据代理服务,数据代理服务直接将该数据包转发给工业控制组件,以提高网络传输效率。
S3、所述数据代理服务接收所述目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。其中,所述目标子控制服务返回的目标数据为:目标子控制服务基于数据代理服务发送的所述订阅请求,从所述订阅请求中包含的资源路径所指定的存储位置获取的数据。
特别地,对应订阅请求为批量订阅请求时,所述数据代理服务接收所有目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。
实施例三
本实施例提供一种微服务***,包括工业控制组件、数据代理服务模块和多个子控制模块。具体地:
工业控制组件,所述工业控制组件用于向数据代理服务模块发送对目标数据的订阅请求,所述订阅请求包括目标数据的资源类型和资源路径。所述工业控制组件可根据用户需求设置为多个。
数据代理服务模块,所述数据代理服务模块本地存储有至少一个子控制模块的注册信息,所述注册信息包括子控制模块本地的资源类型;所述数据代理服务模块用于接收工业控制组件发送的所述订阅请求,并基于所述订阅请求中包含的资源类型,查找具有所述资源类型的目标数据的目标子控制模块,将所述订阅请求发送至所述目标子控制模块;以及,接收目标子控制模块返回的目标数据,并将所述目标数据转发至工业控制组件。
子控制模块,用于接收数据代理服务模块发送的所述订阅请求,以及基于所述订阅请求中包含的资源路径,将所述资源路径指定的目标数据发送至数据代理服务模块。所述子控制模块可根据具体的业务类型设备为多个。
具体地,所述数据代理服务模块和子控制模块可集成于同一服务器中,且子控制模块与工业控制***中的DCS控制器通信连接,子控制模块预先从DCS控制器处直接获取自身需要的资源类型的数据,并保存到预先约定好的存储位置中,或者子控制模块从DCS控制器处获取原始数据,在本地对原始数据进行处理或加工转换成自身需要的资源类型的数据后,保存到预先约定好的存储位置中,以便子控制模块根据数据代理服务模块转发的订阅请求,及时将对应的目标数据发送至数据代理服务模块。
本实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现实施例一或二所述的基于微服务架构的数据订阅方法的步骤。
本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一或二所述的基于微服务架构的数据订阅方法的步骤。
由于本发明上述实施例所描述的***/装置,为实施本发明上述实施例的方法所采用的***/装置,故而基于本发明上述实施例所描述的方法,本领域所属技术人员能够了解该***/装置的具体结构及变形,因而在此不再赘述。凡是本发明上述实施例的方法所采用的***/装置都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
Claims (10)
1.一种基于微服务架构的数据订阅方法,其特征在于,所述数据订阅方法应用于工业控制***环境中,实现工业控制组件对工业控制***中的***数据的订阅;所述微服务架构包括工业控制组件、数据代理服务和子控制服务,所述数据代理服务分别与工业控制组件和子控制服务通信连接,所述数据代理服务本地存储有子控制服务的注册信息,所述注册信息包括子控制服务本地的资源类型;所述数据订阅方法包括:
S1、所述数据代理服务接收工业控制组件发送的对目标数据的订阅请求;所述订阅请求包括所述目标数据的资源类型和资源路径,且所述订阅请求为全局统一格式的;
S2、所述数据代理服务根据所述订阅请求中的资源类型,基于所述注册信息,查找具有所述资源类型的目标数据的目标子控制服务,将所述订阅请求发送至所述目标子控制服务;
S3、所述数据代理服务接收所述目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。
2.根据权利要求1所述的数据订阅方法,其特征在于,所述目标子控制服务返回的目标数据为:目标子控制服务基于数据代理服务发送的所述订阅请求,从所述订阅请求中包含的资源路径所指定的存储位置获取的数据。
3.根据权利要求1所述的数据订阅方法,其特征在于,在S1中,所述订阅请求为对多项目标数据的批量订阅请求,所述批量订阅请求包括每一项目标数据的资源类型和资源路径;
所述S2包括:所述数据代理服务根据所述批量订阅请求,遍历每一项目标数据对应的资源类型,基于所述注册信息查找具有所述资源类型的目标数据的目标子控制服务,将该项目标数据对应的资源类型和资源路径分发至所述目标子控制服务;
所述S3包括:所述数据代理服务接收所有目标子控制服务返回的目标数据,将所述目标数据转发至所述工业控制组件。
4.根据权利要求1所述的的数据订阅方法,其特征在于,所述订阅请求的格式为URI格式,所述URI格式的定义为:资源类型://资源路径。
5.根据权利要求1所述的数据订阅方法,其特征在于,所述工业控制组件包括DCS实时监控***、DCS报警***、运维管理平台、智能仪表管理***中的一种或多种;
所述资源类型包括实时数据资源、历史数据资源、报警数据资源、诊断数据资源、图片数据资源中的一种或多种;
所述子控制服务包括实时数据子服务、历史数据子服务、报警子服务、诊断子服务、图片数据子服务中的一种或多种。
6.根据权利要求1所述的数据订阅方法,其特征在于,所述注册信息为动态路由信息表,所述动态路由信息表包括子控制服务的身份识别码和该子控制服务本地的资源类型;
所述S2包括:所述数据代理服务根据所述订阅请求中的资源类型,基于动态路由信息表,查找具有所述资源类型的目标数据的目标子控制服务的身份识别码,根据所述身份识别码,将所述订阅请求发送至与所述身份识别码对应的目标子控制服务。
7.根据权利要求6所述的数据订阅方法,其特征在于,
当所述数据代理服务接收到新的子控制服务的注册请求时,从所述注册请求中提取新的子控制服务的身份识别码和该子控制服务本地的资源类型,将该子控制服务的所述身份识别码和该子控制服务本地的所述资源类型添加至动态路由信息表;
当所述数据代理服务收到已注册的子控制服务的注销请求时,从所述注销请求中提取所述已注册的子控制服务的身份识别码,将所述身份识别码和所述身份识别码对应的资源类型从动态路由信息表中删除。
8.一种微服务***,其特征在于,包括:
工业控制组件,所述工业控制组件用于向数据代理服务模块发送对目标数据的订阅请求,所述订阅请求包括目标数据的资源类型和资源路径,且所述订阅请求为全局统一格式的;
数据代理服务模块,所述数据代理服务模块本地存储有至少一个子控制模块的注册信息,所述注册信息包括子控制模块本地的资源类型;所述数据代理服务模块用于接收工业控制组件发送的所述订阅请求,并基于所述订阅请求中包含的资源类型,查找具有所述资源类型的目标数据的目标子控制模块,将所述订阅请求发送至所述目标子控制模块;以及,接收目标子控制模块返回的目标数据,并将所述目标数据转发至工业控制组件;
子控制模块,用于接收数据代理服务模块发送的所述订阅请求,以及基于所述订阅请求中包含的资源路径,将所述资源路径指定的目标数据发送至数据代理服务模块。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现权利要求1至7任一项所述的基于微服务架构的数据订阅方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的基于微服务架构的数据订阅方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302727.6A CN115695512A (zh) | 2022-10-24 | 2022-10-24 | 基于微服务架构的数据订阅方法、***、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302727.6A CN115695512A (zh) | 2022-10-24 | 2022-10-24 | 基于微服务架构的数据订阅方法、***、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695512A true CN115695512A (zh) | 2023-02-03 |
Family
ID=85099477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211302727.6A Pending CN115695512A (zh) | 2022-10-24 | 2022-10-24 | 基于微服务架构的数据订阅方法、***、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695512A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881571A (zh) * | 2023-07-27 | 2023-10-13 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及*** |
-
2022
- 2022-10-24 CN CN202211302727.6A patent/CN115695512A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881571A (zh) * | 2023-07-27 | 2023-10-13 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及*** |
CN116881571B (zh) * | 2023-07-27 | 2024-01-12 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10965718B2 (en) | Method for providing wireless application privilege management | |
CN102136933B (zh) | 设备管理方法、中间件及机器通信平台、设备和*** | |
AU2002351015C1 (en) | Method and device for defining objects allowing to establish a device management tree for mobile communication devices | |
EP1542409B1 (en) | Protocol for multi-hop ad-hoc networks | |
US6708217B1 (en) | Method and system for receiving and demultiplexing multi-modal document content | |
CN100499498C (zh) | 一种实现mib适配的装置、***及方法 | |
WO2003090423A1 (en) | Method for implementing content delivery network (cdn) internetworking, respective networks and interface component | |
EP1036455A1 (en) | Communications network | |
US20210365482A1 (en) | Chat system, chatbot server device, chatbot id management device, chat mediation server device, program, chat method, and chat mediation method | |
CN103534988A (zh) | 消息发布与订阅的方法及装置 | |
US20190089648A1 (en) | Resource subscription method, resource subscription apparatus, and resource subscription system | |
CN109840155A (zh) | 一种实现远程过程调用的方法及装置 | |
US8027435B2 (en) | Method and system for protocol embedded automated test control | |
CN115695512A (zh) | 基于微服务架构的数据订阅方法、***、设备和存储介质 | |
CN113826424A (zh) | 用于向网络提供外部业务的实体 | |
US7693972B2 (en) | Directory service in an automation system | |
CN101345657A (zh) | 基于简单网络管理协议集群管理多个网元的方法及*** | |
US20100049804A1 (en) | Instant Messaging | |
CN112954658B (zh) | 适于通信协议层数据交换的名片***及数据交换的方法 | |
JP2005143100A (ja) | モバイル機器からerpにアクセスする方法 | |
CN105991579B (zh) | 信息发送方法、相关网络设备以及*** | |
CN108848031A (zh) | 信息传输方法及装置 | |
CN101257495B (zh) | 一种语义消息传输方法及通讯***以及消息处理装置 | |
CN113301088B (zh) | 消息处理方法、装置、***、电子设备及可读存储介质 | |
Millard et al. | Reworking OHP: the road to OHP-Nav |
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 |