CN113342547A - 一种远程服务调用方法、装置、电子设备及可读存储介质 - Google Patents
一种远程服务调用方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113342547A CN113342547A CN202110629467.2A CN202110629467A CN113342547A CN 113342547 A CN113342547 A CN 113342547A CN 202110629467 A CN202110629467 A CN 202110629467A CN 113342547 A CN113342547 A CN 113342547A
- Authority
- CN
- China
- Prior art keywords
- opc
- server
- gateway
- connection
- connection address
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种远程服务调用方法、装置、电子设备及可读存储介质,所述方法包括:网关解析到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接,网关监听TCP长连接是否发生断开事件,若发生断开事件,OPC UA客户端通过网关基于权重的随机算法,获取OPC UA服务器连接地址和数字证书与OPC UA服务器建立TCP长连接,OPC UA客户端从OPC UA服务器的地址空间中获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。本发明的有益效果主要在于:能够支持多台OPC UA服务器的负载均衡、以及水平动态扩展,保证了跨语音系统的远程服务调用。
Description
技术领域
本发明涉及OPC UA服务器与OPC UA客户端交互技术领域,具体而言,涉及一种远程服务调用方法、装置、电子设备及可读存储介质。
背景技术
计算机应用中,单机在性能上很难承受住产品的压力,需要不断水平扩展多台计算机来提升整体的性能,同时为了充分利用多台计算机的集群,需要对其从架构上进行划分,以提供不同的服务,服务间相互调用完成整个产品的功能,远程过程调用能够帮助我们解决服务间的信息传递,但是,现有技术中谷歌的GRPC系统不支持服务发现和负载均衡,阿里巴巴的DUBBO分布式系统也不支持水平动态扩展服务,以及不能实现跨语言调用服务。
发明内容
本发明的目的在于提供一种远程服务调方法,能够支持多台OPC UA服务器的负载均衡,以及水平动态扩展,并且保证了跨语音系统的远程服务调用。
本发明是这样实现的:一种远程服务调用方法,所述方法包括以下步骤:
网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将所述OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
所述网关通过所述授权服务器的Http接口,获取每台所述OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,所述OPC UA服务器至少配置两台,所述授权服务器中保存每台OPC UA服务器的数字证书和账号信息;
所述网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将所述配置文件中断开事件的所述OPC UA服务器的连接地址和访问权重删除;
响应OPC UA客户端的远程访问,所述网关基于权重的随机算法,获取所述OPC UA服务器的连接地址和数字证书与所述OPC UA服务器建立TCP长连接;
所述OPC UA客户端从所述OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。
在一些实施例中,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将所述OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,包括:
在计算机硬盘下创建所述配置文件,所述网关读取配置文件,并对所述配置文件进行解析,解析后得到每台所述OPC UA服务器的连接地址和访问权重;
响应运维人员的操作指令,所述网关将解析到的所述OPC UA服务器的连接地址作为参数,输入到所述授权服务器的Http接口中。
在一些实施例中,所述网关通过所述授权服务器的Http接口,获取每台所述OPCUA服务器的账号信息与OPC UA服务器建立TCP长连接,包括:
所述授权服务器的Http接口将获取的每台所述OPC UA服务器的账号信息,保存至SQLite数据库的列表中;
所述网关通过所述授权服务器的Http接口,从所述SQLite数据库的列表中获取所述OPC UA服务器的连接地址和所述OPC UA服务器的账号信息与所述OPC UA服务器建立TCP长连接。
在一些实施例中,所述网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将所述配置文件中断开事件的所述OPC UA服务器的连接地址和访问权重删除,包括:
所述网关发送心跳报文监听TCP长连接,若心跳报文无响应,则TCP长连接发生断开事件;
所述网关将从所述配置文件中删除所述断开事件的所述OPC UA服务器的连接地址和访问权重。
在一些实施例中,所述方法还包括:
所述网关获取断开事件对应所述OPC UA服务器的访问权重,并将该访问权重分配给任意两台所述OPC UA服务器,同时调用短信消息接口发送故障消息;
所述网关解析所述配置文件,将解析到的所述OPC UA服务器的连接地址和访问权重与原始记录中的所述OPC UA服务器的连接地址和访问权重进行匹配;
若匹配到相同的所述OPC UA服务器的连接地址和访问权重,则将解析到的所述OPC UA服务器的连接地址和访问权重更新到所述配置文件中。
在一些实施例中,响应OPC UA客户端的远程访问,所述网关基于权重的随机算法,获取所述OPC UA服务器的连接地址和数字证书与所述OPC UA服务器建立TCP长连接,包括:
响应所述OPC UA客户端的远程访问,网关基于权重的随机算法从所述配置文件中获取OPC UA服务器的连接地址;
所述OPC UA客户端通过所述授权服务器的Http接口,获取所述OPC UA服务器连接地址和数字证书与所述OPC UA服务器建立TCP长连接。
在一些实施例中,所述OPC UA客户端从所述OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务,包括:
所述OPC UA客户端根据地址标识符,从所述OPC UA服务器地址空间中获取对象结点ID和方法结点ID,以及根据所述方法结点ID从所述对象结点ID的属性中获取输入参数;
所述OPC UA客户端将所述输入参数添加到所述参数列表中并执行,完成所述OPCUA服务器的远程调用。
在一些实施例中,一种远程服务调用装置,所述装置包括:
获取模块,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
连接模块,网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,所述授权服务器中保存每台OPC UA服务器的数字证书和账号信息;
监听模块,网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将所述配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;
算法模块,响应OPC UA客户端的远程访问,所述网关基于权重的随机算法,获取所述OPC UA服务器连接地址和数字证书与所述OPC UA服务器建立TCP长连接;
注册模块,所述OPC UA客户端从所述OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。
在一些实施例中,一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如所述远程服务调用方法的步骤。
在一些实施例中,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如所述远程服务调用方法的步骤。
本发明的有益效果主要在于:本申请中网关解析配置文件,得到OPC UA服务器的连接地址,将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,运用授权服务器的Http接口获取每台所述OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;授权服务器用于保存数字证书和账号信息,授权服务器保障了通信的安全性,同时加快响应请求,保征了通信的及时性和有效性;然后,网关定时监听长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除,避免网关获取到断开事件的OPC UA服务器的连接地址和访问权重,网关重新读取配置文件进行解析,并将解析后的OPC UA服务器连接地址和权重进行更新,更新及调用新加入的OPCUA服务器连接地址和权重的过程,不需要重新启动OPC UA服务器,实现了OPC UA服务器水平动态扩展服务;然后,响应OPC UA客户端的远程访问,网关基于权重的随机算法,从配置文件中新加载一台OPC UA服务器的连接地址和访问权重,运用授权服务器的Http接口获取OPC UA服务器账号信息,根据OPC UA服务器的账号信息和数字证书,OPC UA客户端与OPCUA服务器建立TCP长连接,该算法保证了多台OPC UA服务器的负载均衡;另外,网关与OPCUA客户端均通过授权服务器的Http接口建立TCP长连接,连接后OPC UA客户端执行添加到参数列表中的输入参数,完成OPCUA服务器的远程调用,以及OPC UA服务器采用规范通信编程语言,因此,保证了远程过程调用不受编程语言限制,实现了跨语言服务调用。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种远程服务调用方法交互流程示意图。
图2为本发明实施例所提供的一种远程服务调用方法的获取授权服务器的Http接口流程示意图。
图3为本发明实施例所提供的一种远程服务调用方法的网关与OPC UA服务器建立TCP长连接流程示意图。
图4为本发明实施例所提供的一种远程服务调用方法的网关监听断开事件流程示意图。
图5为本发明实施例所提供的一种远程服务调用方法的网关配置OPC UA服务器流程示意图。
图6为本发明实施例所提供的一种远程服务调用方法的OPC UA客户端与OPC UA服务器建立TCP长连接流程示意图。
图7为本发明实施例所提供的一种远程服务调用方法的OPC UA客户端完成调用流程示意图。
图8为本发明实施例所提供的一种远程服务调用装置的结构示意图。
图9为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计,因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着当今工业的快速发展,生产效率需求的不断提升,以及控制技术、信息技术和网络技术的快速发展和融合,不同工业领域对数据采集和远距离传输的需求也是越来越多,由于工业设备的生产商众多,不同厂商生产的应用在不同工业场合上的设备产生的数据格式和类型也有很大不同,现有的数据网关大多通过RS485/CAN/ModBus等总线技术完成数据采集,只支持采集单一类型的客户端,多类型的计量装置兼容性差甚至不能兼容,因此,造成网关支持的客户端数量少。
目前,OPC UA已经成为独立于微软,UNIX或其他的操作系统企业层和嵌入式自动组建之间的桥梁,根据标准互联网协议(IP)设计的适配器调用OPC UA服务器,由于OPC UA服务器存储空间大,OPC UA服务器不易与客户端集成,造成了其无法实时的处理信息数据,使用灵活性较差,且能源消耗量大。
本申请通过网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPCUA服务器的连接地址作为参数输入到授权服务器的Http接口中,配置文件中记录每台OPCUA服务器的连接地址和访问权重;网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,授权服务器中保存每台OPC UA服务器的数字证书和账号信息;网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;响应OPC UA客户端的远程访问,网关基于权重的随机算法,获取OPC UA服务器连接地址和数字证书与OPC UA服务器建立TCP长连接;OPC UA客户端从OPCUA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。具体来说,本申请网关通过授权服务器的Http接口,获取OPC UA服务器的连接地址和OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接,授权服务器能够保障通信的安全性,同时加快响应请求,保征了通信的及时性和有效性;网关根据定时发送心跳报文监听TCP长连接,若发送断开事件,则将断开事件对应的OPC UA服务器的连接地址和访问权重删除,避免了网关获取到无心跳报文对应断开事件的OPC UA服务器的连接地址和访问权重,同时,对配置文件进行解析并更新,实现了新加载OPC UA服务器水平动态扩展,并且新加载的OPCUA服务器不用重新启动,即可提供服务;响应OPC UA客户端的访问请求,网关基于权重的随机算法,从配置文件中新加载一台OPC UA服务器连接地址和访问权重,随机结果中自动生成对应的权重,累加每台OPC UA服务器的权重,得到OPC UA服务器的权重区间,根据权重区间生成随机数,网关随机调用任一随机数实现多台OPC UA服务器负载均衡,然后,OPC UA客户端通过对象结点ID和方法结点ID,生成参数列表,OPC UA客户端执行添加到参数列表中的输入参数,完成OPC UA客户端远程调用注册服务,也就是说,网关与OPC UA客户端均通过授权服务器的Http接口建立TCP长连接,以及OPC UA服务器采用规范通信编程语言,因此,保证了远程过程调用不受编程语言限制,实现了跨语言服务调用。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明实施例所提供了一种远程服务调用方法;如图1所示,所述方法中响应OPCUA客户端远程访问包括以下步骤:
步骤S10,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,配置文件中记录每台OPC UA服务器的连接地址和访问权重;
步骤S20,网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,授权服务器中保存每台OPC UA服务器的数字证书和账号信息;
步骤S30,网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;
步骤S40,响应OPC UA客户端的远程访问,网关基于权重的随机算法,获取OPC UA服务器连接地址和数字证书与OPC UA服务器建立TCP长连接;
步骤S50,OPC UA客户端从OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。
步骤S10在具体实施时,在计算机硬盘指定目录下手动创建配置文件,配置文件用于记录每台OPC UA服务器的连接地址和被访问权重,网关解析配置文件,解析后得到OPCUA服务器的连接地址,并将OPC UA服务器的连接地址作为参数,输入到授权服务器的Http接口中。
步骤S20在具体实施时,任意选择多台OPC UA服务器,网关通过授权服务器的Http接口获取每台OPC UA服务器的账号信息分别与OPC UA服务器建立TCP长连接,授权服务器用于保存每台OPC UA服务器账号信息和数字证书。
步骤S30在具体实施时,网关定时发送心跳报文监听网关与OPC UA服务器建立的TCP长连接是否发生断开事件,若心跳报文无响应,则OPC UA服务器发生断开事件,网关将断开事件对应的OPC UA服务器的连接地址和访问权重从配置文件中删除。
步骤S40在具体实施时,响应OPC UA客户端的远程服务访问调用,网关基于权重的随机算法,从配置文件中重新加载一台OPC UA服务器连接地址和访问权重,随机结果中自动生成对应的权重,累加每台OPC UA服务器的权重,得到OPC UA服务器的权重区间,根据权重区间生成随机数,OPC UA客户端通过网关随机调用任一随机数对应的OPC UA服务器的连接地址和数字证书与OPC UA服务器建立TCP长连接。
步骤S50在具体实施时,OPC UA客户端根据对象结点ID的标识符,从OPC UA服务器的地址空间中获取对象结点ID,以及根据方法结点ID的标识符,从OPC UA服务器地址空间中获取方法结点ID,根据对象结点ID和方法结点ID生成参数列表,OPC UA客户端执行参数列表,完成OPC UA客户端远程调用注册服务。
在一些实施例中,图2为本发明实施例所提供的一种远程服务调用方法获取授权服务器的Http接口流程示意图;如图2所示,具体获取授权服务器的Http接口包括以下步骤:
在一些实施例中,上述步骤S10中,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,包括:
步骤S101,在计算机硬盘下创建配置文件,网关读取配置文件,并对配置文件进行解析,解析后得到每台OPC UA服务器的连接地址和访问权重。
步骤S102,响应运维人员的操作指令,网关将解析到的OPC UA服务器的连接地址作为参数,输入到授权服务器的Http接口中。
步骤S101在具体实施时,在计算机硬盘指定目录下手动创建配置文件,配置文件用于记录每台OPC UA服务器的连接地址和访问权重,该OPC UA服务器的连接地址和访问权重的格式为:
连接地址1访问权重1;
连接地址2访问权重2;
其中,连接地址和访问权重之间采用半角空格分隔,每台OPC UA服务器的连接地址和访问权重占一行,访问权重为一个整数,所有OPC UA服务器的访问权重之和为10;
网关读取配置文件,并对配置文件逐行解析,解析后得到每台OPC UA服务器的连接地址和访问权重,其中,OPC UA服务器的连接地址为键,访问权重为值,以键值的方式保存。
步骤S102在具体实施时,响应运维人员的操作指令,网关将每台OPC UA服务器连接地址作为参数,输入到授权服务器的Http接口中,通过授权服务器的Http接口获取OPCUA服务器的账号信息和数字证书。
在一些实施例中,图3为本发明实施例所提供的一种远程服务调用方法的网关与OPC UA服务器建立TCP长连接流程示意图;如图3所示,具体建立TCP长连接包括以下步骤:
在一些实施例中,上述步骤S20中,网关通过授权服务器的Http接口,获取每台OPCUA服务器的账号信息与OPC UA服务器建立TCP长连接,包括:
步骤S201,授权服务器的Http接口将获取的每台OPC UA服务器的账号信息,保存至SQLite数据库的列表中。
步骤S202,网关通过授权服务器的Http接口,从SQLite数据库的列表中获取OPCUA服务器的连接地址和OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接。
步骤S201在具体实施时,启动授权服务器,通过授权服务器的Http接口获取每台OPC UA服务器的账号信息,并将该账号信息保存至SQLite数据库的列表中,其中,SQLite数据库的列表包括:连接地址、账号信息、账号密码、数字证书;
例如:SQLite数据库的列表包括以下内容:
CREATE TABLE"connect_info"(
"connect_address"TEXT(32)NOT NULL DEFAULT”,--OPC UA服务器的连接地址;
"username"TEXT(32)DEFAULT NULL,--OPC UA服务器的账号信息;
"password"TEXT(32)DEFAULT NULL,--OPC UA服务器的账号密码;
"certificate"BLOB DEFAULT NULL,--OPC UA服务器的数字证书;
PRIMARY KEY("connect_address")--主键;
其中,connect_info为表名。
步骤S202在具体实施时,网关通过授权服务器Http接口,获取SQLite数据库列表中的OPC UA服务器的连接地址和OPC UA服务器的账号信息,与OPC UA服务器建立TCP长连接,根据OPC UA规范第12部分实现服务发现。
在一些实施例中,图4为本发明实施例所提供的一种远程服务调用方法的网关监听断开事件流程示意图;如图4所示,具体监听TCP长连接包括以下步骤:
在一些实施例中,上述步骤S30中,网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除,包括:
步骤S301,网关发送心跳报文监听TCP长连接,若心跳报文无响应,则TCP长连接发生断开事件。
步骤S302,网关将从配置文件中删除断开事件的OPC UA服务器的连接地址和访问权重。
步骤S301在具体实施时,网关定时发送心跳报文监听TCP长连接,若心跳报文无响应,则TCP长连接不可用,OPC UA服务器连接发生断开事件。
步骤S302在具体实施时,网关读取配置文件,从配置文件中查找出断开事件对应的OPC UA服务器的连接地址和访问权重,并进行删除。
在一些实施例中,图5为本发明实施例所提供的一种远程服务调用方法的网关配置OPC UA服务器流程示意图;如图5所示,具体更新配置文件包括以下步骤:
在一些实施例中,基于上述步骤S30,所述方法还包括:
步骤3011,网关获取断开事件对应OPC UA服务器的访问权重,并将该访问权重分配给任意两台OPC UA服务器,同时调用短信消息接口发送故障消息。
步骤3012,网关解析配置文件,将解析到的OPC UA服务器的连接地址和访问权重与原始记录中的OPC UA服务器的连接地址和访问权重进行匹配。
步骤3013,若匹配到相同的OPC UA服务器的连接地址和访问权重,则将解析到的OPC UA服务器的连接地址和访问权重更新到配置文件中。
步骤3011在具体实施时,网关从配置文件中获取断开事件的OPC UA服务器的连接地址和访问权重,并将该访问权重分配给任一两台OPC UA服务器;
例如:OPC UA服务器配置有三台分别为A、B、C,访问权重分别为2、4、4,若OPC UA服务器A处于断开事件,则将OPC UA服务器A的访问权重2均分给OPC UA服务器B、C,因此,OPCUA服务器B、C的访问权重变为5、5,若OPC UA服务器B处于断开事件,则将OPC UA服务器B的访问权重4均分给A、C,OPC UA服务器A、C的访问权重变为4、6;
另外,网关调用短信消息接口,发送OPC UA服务器不可用的消息给运维人员,提醒故障处理。
步骤3012在具体实施时,网关监听到配置文件中OPC UA服务器的连接地址和访问权重的变化,对配置文件进行逐行解析,将解析到的OPC UA服务器的连接地址和访问权重与原始记录中的OPC UA服务器的连接地址和访问权重进行匹配。
步骤3013在具体实施时,若匹配到相同的OPC UA服务器的连接地址和访问权重,则将解析到的OPC UA服务器的连接地址和访问权重更新到配置文件中,若匹配不到相同的OPC UA服务器的连接地址和访问权重,则执行更新后的配置文件,在不需要重新启动OPCUA服务器的状态下,实现OPC UA服务器的水平动态扩展服务。
在一些实施例中,图6为本发明实施例所提供的一种远程服务调用方法的OPC UA客户端与OPC UA服务器建立TCP长连接流程示意图;如图6所示,具体OPC UA客户端连接OPCUA服务器包括以下步骤:
在一些实施例中,上述步骤S40中,响应OPC UA客户端的远程访问,网关基于权重的随机算法,获取OPC UA服务器的连接地址和数字证书与OPC UA服务器建立TCP长连接,包括:
步骤S401,响应OPC UA客户端的远程访问,网关基于权重的随机算法从配置文件中获取OPC UA服务器的连接地址。
步骤S402,OPC UA客户端通过授权服务器的Http接口,获取OPC UA服务器连接地址和数字证书与所述OPC UA服务器建立TCP长连接。
步骤S401在具体实施时,响应OPC UA客户端远程访问,网关基于权重的随机算法,网关读取配置文件并解析,解析后获取一台OPC UA服务器的连接地址和访问权重;
例如:配置文件中设置4台OPC UA服务器,随机结果中OPC UA服务器为A:B:C:D对应的访问权重1:2:3:4,累加每台OPC UA服务器的访问权重A(1)-B(3)-C(6)-D(10),得到4台OPC UA服务器的访问权重区间分别为{0,1}{1,3}{3,6}{6,10};
根据OPC UA服务器的访问权重区间,得到{0,10}的随机数,网关随机访问任一随机数与OPC UA客户端建立访问连接。
步骤S402在具体实施时,OPC UA客户端通过授权服务器的Http接口,从SQLite数据库列表中获取OPC UA服务器的连接地址获和OPC UA服务器的数字证书,与OPC UA服务器建立TCP长连接。
在一些实施例中,图7为本发明实施例所提供的一种远程服务调用方法的OPC UA客户端完成调用流程示意图;如图7所示,具体完成调用注册服务包括以下步骤:
在一些实施例中,上述步骤S50中,OPC UA客户端从OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务,包括:
步骤S501,OPC UA客户端根据标识符,从OPC UA服务器地址空间中获取对象结点ID和方法结点ID,以及根据方法结点ID从对象结点ID的属性中获取输入参数。
步骤S502,OPC UA客户端将输入参数添加到参数列表中并执行,完成OPCUA服务器的远程调用。
步骤S501在具体实施时,OPC UA客户端根据对象结点ID的标识符ns=2;s=calculator,从OPC UA服务器地址空间中获取对象结点ID calculator,以及OPC UA客户端根据方法结点ID的标识符ns=2;s=calculator/add,从OPC UA服务器地址空间中获取方法结点ID,然后,根据方法结点ID从对象结点ID的属性中获取输入参数。
步骤S502在具体实施时,OPC UA客户端将获取的输入参数添加到参数列表中,其中,输入参数为两个整数,OPC UA客户端根据输入的参数触发OPC UA服务器执行加法运算,并将运算结果输出给参数列表,OPC UA客户端执行参数列表,即完成OPC UA客户端调用注册服务。
步骤S501、S502中OPC UA对象结点和方法结点生成,包括以下内容:
1)建立方法结点的类别AddMethod,该类别包含三个整数对象Argument X、Argument Y以及Argument Z,其中,三个对象的类别为OPC UA规范定义的数据;
2)以AddMethod类别定义,获取输入参数,返回包含Argument X和Argument Y的一个参数列表Argument[];
3)以AddMethod类定义,获取输出参数,返回包含Argument Z的一个参数列表Argument[];
4)以AddMethod类定义一个方法结点,生成两个整数的加法运算,接收两个整数的输入参数列表Argument[],以及输出只包含一个整数的输出参数列表Argument[];
5)根据OPC UA规范第5部分信息模型,针对对象结点ID的属性,获取业务节点ID的参数,方法结点ID即浏览名,预设OPC UA地址空间已有对象结点计算器,地址空间索引为:2、浏览名为:calculator、业务标识符为:ns=2;s=calculator;
6)针对对象结点计算器创建方法结点ID,方法结点ID的浏览名设置为add,对应的结点标识符设置为ns=2;s=calculator/add,将方法结点ID的浏览名设置到对象结点ID的属性中,从而得到具有对象结点ID的属性的方法结点ID的浏览名;
7)绑定方法结点ID和AddMethod类别,将方法结点ID的输入参数添加到OPC UA地址空间,用于设置连接OPC UA服务器的账号信息和生成数字证书。
图8为本申请实施例提供了一种远程服务调用装置,所述装置包括:
获取模块601,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPCUA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
连接模块602,网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,所述授权服务器中保存每台OPC UA服务器的数字证书和账号信息;
监听模块603,网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;
算法模块604,响应OPC UA客户端的远程访问,网关基于权重的随机算法,获取OPCUA服务器连接地址和数字证书与OPC UA服务器建立TCP长连接;
注册模块605,OPC UA客户端从OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。
图9为本申请实施例提供的一种电子设备70的结构示意图,包括:处理器701、存储介质702和总线703,存储介质702存储有处理器701可执行的机器可读指令,当电子设备运行上述的信息处理的方法时,处理器701与存储介质702之间通过总线703通信,处理器701执行机器可读指令,以执行以下步骤:
网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,所述授权服务器中保存每台OPCUA服务器的数字证书和账号信息;
网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;
响应OPC UA客户端的远程访问,网关基于权重的随机算法,获取OPC UA服务器连接地址和数字证书与OPC UA服务器建立TCP长连接;
OPC UA客户端从OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及输入参数,完成调用注册服务。
在本申请实施例中,所述存储介质还可以执行其它机器可读指令,以执行本申请中其它所述的方法,关于具体执行的方法步骤和原理参见上述的说明,在此不再详细赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行以下步骤:
网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,所述授权服务器中保存每台OPCUA服务器的数字证书和账号信息;
网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;
响应OPC UA客户端的远程访问,网关基于权重的随机算法,获取OPC UA服务器连接地址和数字证书与OPC UA服务器建立TCP长连接;
OPC UA客户端从OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及输入参数,完成调用注册服务。
在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行本申请中其它所述的方法,关于具体执行的方法步骤和原理参见上述的说明,在此不再详细赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种远程服务调用方法,其特征在于,所述方法包括:
网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将所述OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
所述网关通过所述授权服务器的Http接口,获取每台所述OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接;其中,所述OPC UA服务器至少配置两台,所述授权服务器中保存每台OPC UA服务器的数字证书和账号信息;
所述网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将所述配置文件中断开事件的所述OPC UA服务器的连接地址和访问权重删除;
响应OPC UA客户端的远程访问,所述网关基于权重的随机算法,获取所述OPC UA服务器的连接地址和数字证书与所述OPC UA服务器建立TCP长连接;
所述OPC UA客户端从所述OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。
2.根据权利要求1所述的远程服务调用方法,其特征在于,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将所述OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,包括:
在计算机硬盘下创建所述配置文件,所述网关读取配置文件,并对所述配置文件进行解析,解析后得到每台所述OPC UA服务器的连接地址和访问权重;
响应运维人员的操作指令,所述网关将解析到的所述OPC UA服务器的连接地址作为参数,输入到所述授权服务器的Http接口中。
3.根据权利要求1所述的远程服务调用方法,其特征在于,所述网关通过所述授权服务器的Http接口,获取每台所述OPC UA服务器的账号信息与OPC UA服务器建立TCP长连接,包括:
所述授权服务器的Http接口将获取的每台所述OPC UA服务器的账号信息,保存至SQLite数据库的列表中;
所述网关通过所述授权服务器的Http接口,从所述SQLite数据库的列表中获取所述OPC UA服务器的连接地址和所述OPC UA服务器的账号信息与所述OPC UA服务器建立TCP长连接。
4.根据权利要求1所述的远程服务调用方法,其特征在于,所述网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将所述配置文件中断开事件的所述OPC UA服务器的连接地址和访问权重删除,包括:
所述网关发送心跳报文监听TCP长连接,若心跳报文无响应,则TCP长连接发生断开事件;
所述网关将从所述配置文件中删除所述断开事件的所述OPC UA服务器的连接地址和访问权重。
5.根据权利要求4所述的远程服务调用方法,其特征在于,所述方法还包括:
所述网关获取断开事件对应所述OPC UA服务器的访问权重,并将该访问权重分配给任意两台所述OPC UA服务器,同时调用短信消息接口发送故障消息;
所述网关解析所述配置文件,将解析到的所述OPC UA服务器的连接地址和访问权重与原始记录中的所述OPC UA服务器的连接地址和访问权重进行匹配;
若匹配到相同的所述OPC UA服务器的连接地址和访问权重,则将解析到的所述OPC UA服务器的连接地址和访问权重更新到所述配置文件中。
6.根据权利要求1所述的远程服务调用方法,其特征在于,响应OPC UA客户端的远程访问,所述网关基于权重的随机算法,获取所述OPC UA服务器的连接地址和数字证书与所述OPC UA服务器建立TCP长连接,包括:
响应所述OPC UA客户端的远程访问,网关基于权重的随机算法从所述配置文件中获取OPC UA服务器的连接地址;
所述OPC UA客户端通过所述授权服务器的Http接口,获取所述OPC UA服务器连接地址和数字证书与所述OPC UA服务器建立TCP长连接。
7.根据权利要求1所述的远程服务调用方法,其特征在于,所述OPC UA客户端从所述OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务,包括:
所述OPC UA客户端根据地址标识符,从所述OPC UA服务器地址空间中获取对象结点ID和方法结点ID,以及根据所述方法结点ID从所述对象结点ID的属性中获取输入参数;
所述OPC UA客户端将所述输入参数添加到所述参数列表中并执行,完成所述OPCUA服务器的远程调用。
8.一种远程服务调用装置,其特征在于,所述装置包括:
获取模块,网关解析配置文件,解析后得到OPC UA服务器的连接地址,并将OPC UA服务器的连接地址作为参数输入到授权服务器的Http接口中,所述配置文件中记录每台OPC UA服务器的连接地址和访问权重;
连接模块,网关通过授权服务器的Http接口,获取每台OPC UA服务器的账号信息与OPCUA服务器建立TCP长连接;其中,OPC UA服务器至少配置两台,所述授权服务器中保存每台OPC UA服务器的数字证书和账号信息;
监听模块,网关定时发送心跳报文监听TCP长连接是否发生断开事件,若发生断开事件,则将所述配置文件中断开事件的OPC UA服务器的连接地址和访问权重删除;
算法模块,响应OPC UA客户端的远程访问,所述网关基于权重的随机算法,获取所述OPC UA服务器连接地址和数字证书与所述OPC UA服务器建立TCP长连接;
注册模块,所述OPC UA客户端从所述OPC UA服务器的地址空间中,获取对象结点ID、方法结点ID及参数列表,完成调用注册服务。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629467.2A CN113342547B (zh) | 2021-06-04 | 2021-06-04 | 一种远程服务调用方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629467.2A CN113342547B (zh) | 2021-06-04 | 2021-06-04 | 一种远程服务调用方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342547A true CN113342547A (zh) | 2021-09-03 |
CN113342547B CN113342547B (zh) | 2023-06-06 |
Family
ID=77474323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629467.2A Active CN113342547B (zh) | 2021-06-04 | 2021-06-04 | 一种远程服务调用方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342547B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604244A (zh) * | 2022-07-01 | 2023-01-13 | 山东爱特云翔信息技术有限公司(Cn) | OpenStack适配负载均衡服务的方法、系统、装置及存储介质 |
CN116318863A (zh) * | 2023-02-14 | 2023-06-23 | 深圳市利谱信息技术有限公司 | 一种opc工业安全网关系统 |
CN116600016A (zh) * | 2023-07-19 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 站点调用方法及装置、存储介质及电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812253A (zh) * | 2014-12-29 | 2016-07-27 | 中国科学院沈阳自动化研究所 | 一种opc ua数据服务网关装置及其实现方法 |
WO2018234741A1 (en) * | 2017-06-23 | 2018-12-27 | Qio Technologies Ltd | SYSTEMS AND METHODS FOR INTELLIGENCE OF INDUSTRIAL ASSETS BY DISTRIBUTED SYSTEMIC ANTICIPATION |
US20190109713A1 (en) * | 2017-10-06 | 2019-04-11 | Stealthpath, Inc. | Methods for internet communication security |
EP3598713A1 (en) * | 2018-07-19 | 2020-01-22 | CODESYS Holding GmbH | Establishing a secure communication in an industrial control environment |
CN111567010A (zh) * | 2017-12-22 | 2020-08-21 | 普络西思Opc有限公司 | 用于管理opc ua服务器容量的方法、系统和计算机程序产品 |
WO2020240437A1 (en) * | 2019-05-31 | 2020-12-03 | ABB Schwiez AG | A method for configuring a monitoring system used to monitor industrial processes and industrial assets |
-
2021
- 2021-06-04 CN CN202110629467.2A patent/CN113342547B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812253A (zh) * | 2014-12-29 | 2016-07-27 | 中国科学院沈阳自动化研究所 | 一种opc ua数据服务网关装置及其实现方法 |
WO2018234741A1 (en) * | 2017-06-23 | 2018-12-27 | Qio Technologies Ltd | SYSTEMS AND METHODS FOR INTELLIGENCE OF INDUSTRIAL ASSETS BY DISTRIBUTED SYSTEMIC ANTICIPATION |
US20190109713A1 (en) * | 2017-10-06 | 2019-04-11 | Stealthpath, Inc. | Methods for internet communication security |
CN111567010A (zh) * | 2017-12-22 | 2020-08-21 | 普络西思Opc有限公司 | 用于管理opc ua服务器容量的方法、系统和计算机程序产品 |
EP3598713A1 (en) * | 2018-07-19 | 2020-01-22 | CODESYS Holding GmbH | Establishing a secure communication in an industrial control environment |
WO2020240437A1 (en) * | 2019-05-31 | 2020-12-03 | ABB Schwiez AG | A method for configuring a monitoring system used to monitor industrial processes and industrial assets |
Non-Patent Citations (2)
Title |
---|
GUTIERREZ-GUERRERO J M 等: "Automatic configuration of OPC UA for Industrial Internet of Things environments", 《ELECTRONICS》 * |
张策: "面向制造物联网的OPC UA信息模型研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604244A (zh) * | 2022-07-01 | 2023-01-13 | 山东爱特云翔信息技术有限公司(Cn) | OpenStack适配负载均衡服务的方法、系统、装置及存储介质 |
CN116318863A (zh) * | 2023-02-14 | 2023-06-23 | 深圳市利谱信息技术有限公司 | 一种opc工业安全网关系统 |
CN116318863B (zh) * | 2023-02-14 | 2023-10-13 | 深圳市利谱信息技术有限公司 | 一种opc工业安全网关系统 |
CN116600016A (zh) * | 2023-07-19 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 站点调用方法及装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113342547B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889551B (zh) | 一种智能硬件接入的物联网云平台的方法 | |
CN113342547B (zh) | 一种远程服务调用方法、装置、电子设备及可读存储介质 | |
CN112214338A (zh) | 一种基于微服务灵活部署的物联网云平台 | |
CN111427613B (zh) | 一种应用程序接口api管理方法和装置 | |
CN110932912A (zh) | 一种微服务架构下配置文件统一管理的实现方法 | |
CN115086176B (zh) | 基于SpringCloud微服务技术实现服务治理策略动态下发的系统 | |
CN112199353A (zh) | 一种数据处理方法及电力客户服务平台 | |
CN106547790B (zh) | 一种关系型数据库服务系统 | |
CN112468589A (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
CN114036236A (zh) | 多网关集群系统 | |
CN115225645B (zh) | 一种服务更新方法、装置、系统和存储介质 | |
CN111949719A (zh) | 一种电力系统的组态工具实现方法、装置及相关组件 | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN112910796A (zh) | 流量管理方法、装置、设备、存储介质以及程序产品 | |
CN112799849A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US20200099788A1 (en) | Context data management interface for contact center | |
EP3387533B1 (en) | Disaster recovery of cloud resources | |
CN109947451A (zh) | 一种集群应用文件更新方法、系统、介质及设备 | |
CN115550424B (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN110740151A (zh) | 一种微服务调整方法、装置、服务器及计算机存储介质 | |
CN115022175B (zh) | 一种配置信息的同步方法及装置 | |
CN109961261A (zh) | 一种智能统一合作办公的协同管理方法及系统 | |
CN114553866A (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 |