掌桥专利:专业的专利平台
掌桥专利
首页

一种远程过程调用方法及工作站

文献发布时间:2023-06-19 10:43:23


一种远程过程调用方法及工作站

技术领域

本发明涉及智能制造领域,尤其涉及一种远程过程调用方法及工作站。

背景技术

在智能制造领域,需要提供简洁、可靠、快速的工业互联网,但由于工厂管理要求、设备繁多场地限制等,传统的网络布局增加布局复杂性、成本高、可靠性变差等因素,影响着工业互联网的推广应用。

在智能制造领域,如数字孪生,其实现的核心之一就是工作站之间高速和高精度同步的相互协作,为此对工作站之间的交互协作对于快速和时间同步有很高的要求,因此需要提供一种远程过程调用的方法,以最大限度减少工作站之间的响应延时,且方便快捷、易于使用。

发明内容

本发明的目的之一在于提供一种远程过程调用方法,使之适合工业产线上的线性排布方式,实现工作站之间的高速和高精度同步的互相协作;目的之二在于提供一种工作站,使之适合工业产线上的线性排布方式,无需外接交换设备。

为实现本发明的第一目的,本发明提供了一种远程过程调用方法,应用于链状网络或环状网络,包括以下步骤:

执行循环:起始站发起远程过程调用帧,并根据链状组网连接顺序正向传递给下一站;下一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的下一站,直至终点站;终点站在接收到远程过程调用帧后根据链状组网连接顺序反向传递给上一站;上一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的上一站,直至起始站;起始站在接收到远程过程调用帧后结束本次调用。

进一步的,所述起始站、终点站分别为位于链状网络的两个端点的站点。

进一步的,所述起始站、终点站为环状网络的同一站点。

进一步的,所述源站执行:在远程过程调用帧中,添加本站的远程过程调用信息,指定目标站;所述目标站执行:从远程过程调用帧中复制以本站为目标站的远程调用信息,或在远程过程调用帧中添加返回值。

进一步的,所述远程过程调用帧的参数包括顺次连接的:站序号、动态服务序号、源站序号、目标站序号、函数名、返回方式、参数列表和返回值;其中,

所述站序号,为传递远程过程调用帧的当前工作站的序号;

所述动态服务序号,为顺序号,用于标记工作站的收发次数;

所述源站序号,为远程过程调用者站号;在当前站添加本站的远程过程调用信息时,以当前站序号为源站序号添加到远程过程调用帧中;

所述目标站序号,为远程过程调用被调用者站号,在当前站添加本站的远程过程调用信息时指定,添加到远程过程调用帧中;在当前站接收远程过程调用帧时,检查当前站序号是否和目标站序号一致,若一致,则当前站为目标站;

所述参数列表,为函数调用时所传递的特定值,可以是返回值;

所述返回值,为函数调用的返回值。

进一步的,所述站序号的设定是根据工作站在链状组网或环状组网的位置,按连接顺序编号,并定义起始站的站序号为0;终点站的站序号最大。

进一步的,所述动态服务序号为16位顺序号,每次工作站收发一次加1,溢出回0继续。

进一步的,所述远程过程调用帧的参数还包括认证方式、加密方式;所述认证方式、加密方式的值为设定的认证、加密算法的序号;所述认证方式、加密方式位于所述站序号和所述动态服务序号之间。

为实现本发明的第二目的,本发明提供了一种工作站,包括平台构架、软件系统、网络协议处理及转发模块和第一以太网口、第二以太网口,所述第一以太网口、第二以太网口用于组网,所述第一以太网口用于连接下一站,所述第二以太网口用于连接上一站;所述网络协议处理及转发模块用于所述远程过程调用帧的配置、复制、转发;所述工作站应用于链状网络或环状网络,执行如上任一方案所述的远程过程调用方法。

进一步的,所述第一以太网口和第二以太网口为千兆以太网口。

技术效果:

本发明的远程过程调用方法,适应产线本身传统的线性阵列排布形式,且通过精简远程过程调用帧的设计,使得工作站之间的互动变得更为容易和方便,精准切合工业互联网的特征需求。

本发明的工作站的组网放弃传统的星型组网,且无需外接交换设备,迎合产线本身传统的线性阵列排布形式,有较好的适应性。

附图说明

图1是本发明的工作站的功能框图;

图2是本发明的工作站的链状组网示例;

图3是本发明的工作站的环状组网示例;

图4是本发明的远程过程调用流程示例。

具体实施方式

为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

现结合附图和具体实施方式对本发明进一步说明。

如图1到图3所示,本发明公开了一种支持链状组网或环状组网的工作站,包括平台构架、软件系统、网络协议处理及转发模块和第一以太网口、第二以太网口。其中,平台构架采用x86或类似算力的平台架构,软件系统通常采用linux系统等开放式系统。所述的第一以太网口、第二以太网口用于组网,所述第一以太网口用于连接下一工作站,所述第二以太网口用于连接上一工作站,采用该方式,多个工作站可组成链状网络或环状网络。所述网络协议处理及转发模块用于通信协议处理和通信数据的转发,其中的数据包括远程过程调用帧,其执行的处理过程包括远程过程调用帧的配置、复制、转发。

通常,该链状网络或环状网络是基于千兆以太网,但也可应用在百兆网或更低速网络。

本发明的工作站的组网放弃传统的星型组网,且无需外接交换设备,迎合产线本身传统的线性阵列排布形式,有较好的适应性。

为实现工作站之间的交互协作,需要执行远程调用。常用的远程调用的方式有1、套接字调用;2、RPC服务调用;3、Web Service调用;4、Web API调用。其中,RPC服务调用、WebService调用、Web API调用为远程过程调用(或称为远程方法调用)。RPC的全称是RemoteProcedure Call是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的,本质上编写的调用代码基本相同。RPC为传输层协议,WebService调用、Web API调用为应用层协议,因此,RPC服务调用的封包少,处理效率更高。

在应用中,可通过侦测各工作站的以太网接口的连接情况,获得链状网络的起始站和终点站。当网络为环状网络时,可指定环状网络的起始站和终点站。

如图4所示,本发明给出一种适用于链状网络或环状网络的远程过程调用方法,处于链状网络或环状网络上的工作站根据位置和功能,被定义为起始站、终点站、源站和目标站,对于链状网络,所述起始站、终点站为位于链状网络的两个端点的站点;对于环状网络,起始站、终点站可以是指定的环状网络中的任一站点;源站为RFC调用者,目标站为RFC被调用者。

本发明的远程过程调用方法,包括以下步骤:

起始站A发起远程过程调用帧,并根据链状组网连接顺序正向传递给下一站;下一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的下一站,直至终点站N;终点站N在接收到远程过程调用帧后根据链状组网连接顺序反向传递给上一站;上一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的上一站,直至起始站A;起始站A在接收到远程过程调用帧后结束本次调用;然后再次发起新的远程过程调用帧。

通过该方式,在一个网络中,每次只有一个数据帧在链路传递,因此数据传输不会产生冲突,且无需考虑数据冲突处理,数据传输延时可以很小,实时性高。

其中,工作站作为源站执行:在远程过程调用帧中,添加本站的远程过程调用信息,指定目标站;工作站作为目标站执行:从远程过程调用帧中复制以本站为目标站的远程调用信息,或在远程过程调用帧中添加返回值。

所述远程过程调用帧包括远程过程调用层、链路层和物理层三层结构,其中所述远程过程传输层包括顺次连接的参数:站序号、认证方式、加密方式、动态服务序号、源站序号、目标站序号、函数名、返回方式、参数列表和返回值;其中:所述站序号,为转发远程过程调用帧的当前工作站的序号;所述认证方式、加密方式,为设定的认证、加密算法的序号;所述动态服务序号,为顺序号,用于标记工作站的收发次数;所述源站序号,为远程过程调用者站号;在当前站添加本站的远程过程调用信息时,以当前站序号为源站序号添加到远程过程调用帧中;所述目标站序号,为远程过程调用被调用者站号,在当前站添加本站的远程过程调用信息时指定,添加到远程过程调用帧中;在当前站接收远程过程调用帧时,检查当前站序号是否和目标站序号一致,若一致,则当前站为目标站;所述函数名,为符合C/C++规定的函数命名;所述返回方式,主要为两种方式:异步/同步;所述参数列表,为函数调用时所传递的特定值,可以是返回值;所述返回值,为函数调用的返回值。

优选的,站序号的设定是根据工作站在链状组网或环状组网的位置,按连接顺序编号,并定义起始站的站序号为0;终点站的站序号最大。

优选的,动态服务序号为16位顺序号,每次工作站收发一次加1,溢出回0继续。

优选的,所述认证方式、加密方式的值为设定的认证、加密算法的序号;认证方式,其中可选的认证方式涉及的算法包括MD5/SHA,S3国密算法等算法,可选的加密方式包括DES、RSA、SM3、SM4国密算法。在过程调用中,内嵌双向认证和加密算法,可保障数据安全。

在远程过程调用帧中,值的类型包括布尔BOOL(8位),字符CHAR(8位),无符号字符UCHAR(8位),短整数SHORT(16位),无符号短整数USHORT(16位)、整数INT(32位),无符号整数UINT(32位),长整数LONGLONG(64位),无符号长整数ULONGLONG(64位)、浮点数FLOAT(32位),双精度浮点数DOUBLE(64位),字符串STRING(‘\0’结尾的任意长字符串),二进制数据ARRAY等。

本发明的远程过程调用方法,适应产线本身传统的线性阵列排布形式,且通过精简远程过程调用帧的设计,使得工作站之间的互动变得更为容易和方便,精准切合工业互联网的特征需求。

尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

相关技术
  • 一种远程过程调用方法及工作站
  • 一种工作站包装方法以及实现该方法的工作站包装结构
技术分类

06120112657509