CN112698967A - 一种远程过程调用方法及工作站 - Google Patents
一种远程过程调用方法及工作站 Download PDFInfo
- Publication number
- CN112698967A CN112698967A CN202011591359.2A CN202011591359A CN112698967A CN 112698967 A CN112698967 A CN 112698967A CN 202011591359 A CN202011591359 A CN 202011591359A CN 112698967 A CN112698967 A CN 112698967A
- Authority
- CN
- China
- Prior art keywords
- station
- remote procedure
- procedure call
- serial number
- frame
- 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
- 238000000034 method Methods 0.000 title claims abstract description 151
- 230000006855 networking Effects 0.000 claims abstract description 22
- 230000000977 initiatory effect Effects 0.000 claims abstract description 3
- 230000008569 process Effects 0.000 claims description 11
- 239000000126 substance Substances 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 8
- 230000002452 interceptive effect Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000009776 industrial production Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种远程过程调用方法及工作站,所述方法应用于链状网络或环状网络,包括:执行循环:起始站发起远程过程调用帧,并根据链状组网连接顺序正向传递给下一站;下一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的下一站,直至终点站;终点站在接收到远程过程调用帧后根据链状组网连接顺序反向传递给上一站;上一站根据应用需求根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的上一站,直至起始站;起始站在接收到远程过程调用帧后结束本次调用。本方法适应产线本身传统的线性阵列排布形式,便于工作站间的交互协作,精准切合工业互联网的特征需求。
Description
技术领域
本发明涉及智能制造领域,尤其涉及一种远程过程调用方法及工作站。
背景技术
在智能制造领域,需要提供简洁、可靠、快速的工业互联网,但由于工厂管理要求、设备繁多场地限制等,传统的网络布局增加布局复杂性、成本高、可靠性变差等因素,影响着工业互联网的推广应用。
在智能制造领域,如数字孪生,其实现的核心之一就是工作站之间高速和高精度同步的相互协作,为此对工作站之间的交互协作对于快速和时间同步有很高的要求,因此需要提供一种远程过程调用的方法,以最大限度减少工作站之间的响应延时,且方便快捷、易于使用。
发明内容
本发明的目的之一在于提供一种远程过程调用方法,使之适合工业产线上的线性排布方式,实现工作站之间的高速和高精度同步的互相协作;目的之二在于提供一种工作站,使之适合工业产线上的线性排布方式,无需外接交换设备。
为实现本发明的第一目的,本发明提供了一种远程过程调用方法,应用于链状网络或环状网络,包括以下步骤:
执行循环:起始站发起远程过程调用帧,并根据链状组网连接顺序正向传递给下一站;下一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的下一站,直至终点站;终点站在接收到远程过程调用帧后根据链状组网连接顺序反向传递给上一站;上一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的上一站,直至起始站;起始站在接收到远程过程调用帧后结束本次调用。
进一步的,所述起始站、终点站分别为位于链状网络的两个端点的站点。
进一步的,所述起始站、终点站为环状网络的同一站点。
进一步的,所述源站执行:在远程过程调用帧中,添加本站的远程过程调用信息,指定目标站;所述目标站执行:从远程过程调用帧中复制以本站为目标站的远程调用信息,或在远程过程调用帧中添加返回值。
进一步的,所述远程过程调用帧的参数包括顺次连接的:站序号、动态服务序号、源站序号、目标站序号、函数名、返回方式、参数列表和返回值;其中,
所述站序号,为传递远程过程调用帧的当前工作站的序号;
所述动态服务序号,为顺序号,用于标记工作站的收发次数;
所述源站序号,为远程过程调用者站号;在当前站添加本站的远程过程调用信息时,以当前站序号为源站序号添加到远程过程调用帧中;
所述目标站序号,为远程过程调用被调用者站号,在当前站添加本站的远程过程调用信息时指定,添加到远程过程调用帧中;在当前站接收远程过程调用帧时,检查当前站序号是否和目标站序号一致,若一致,则当前站为目标站;
所述参数列表,为函数调用时所传递的特定值,可以是返回值;
所述返回值,为函数调用的返回值。
进一步的,所述站序号的设定是根据工作站在链状组网或环状组网的位置,按连接顺序编号,并定义起始站的站序号为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等。
本发明的远程过程调用方法,适应产线本身传统的线性阵列排布形式,且通过精简远程过程调用帧的设计,使得工作站之间的互动变得更为容易和方便,精准切合工业互联网的特征需求。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (10)
1.一种远程过程调用方法,其特征在于:应用于链状网络或环状网络,包括以下步骤:
执行循环:起始站发起远程过程调用帧,并根据链状组网连接顺序正向传递给下一站;下一站根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的下一站,直至终点站;终点站在接收到远程过程调用帧后根据链状组网连接顺序反向传递给上一站;上一站根据应用需求根据应用需求作为源站或作为目标站执行远程过程调用,更新远程过程调用帧,然后转发给它的上一站,直至起始站;起始站在接收到远程过程调用帧后结束本次调用。
2.如权利要求1所述的远程过程调用方法,其特征在于:所述起始站、终点站分别为位于链状网络的两个端点的站点。
3.如权利要求1所述的远程过程调用方法,其特征在于:所述起始站、终点站为环状网络的同一站点。
4.如权利要求1所述的远程过程调用方法,其特征在于:
所述源站执行:添加本站的远程过程调用信息,指定目标站;
所述目标站执行:复制以本站为目标站的远程调用信息或添加返回值。
5.如权利要求4所述的远程过程调用方法,其特征在于:所述远程过程调用帧的参数包括顺次连接的:站序号、动态服务序号、源站序号、目标站序号、函数名、返回方式、参数列表和返回值;其中,
所述站序号,为传递远程过程调用信息的当前工作站的序号;
所述动态服务序号,为顺序号,用于标记工作站的收发次数;
所述源站序号,为远程过程调用者站号;在当前站添加本站的远程过程调用信息时,以当前站序号为源站序号添加到远程过程调用帧中;
所述目标站序号,为远程过程调用被调用者站号,在当前站添加本站的远程过程调用信息时指定,添加到远程过程调用帧中;在当前站接收远程过程调用帧时,检查当前站序号是否和目标站序号一致,若一致,则当前站为目标站;
所述参数列表,为函数调用时所传递的特定值,可以是返回值;
所述返回值,为函数调用的返回值。
6.如权利要求5所述的远程过程调用方法,其特征在于:所述站序号的设定是根据工作站在链状组网或环状组网的位置,按连接顺序编号,并定义起始站的站序号为0;终点站的站序号最大。
7.如权利要求5所述的远程过程调用方法,其特征在于:所述动态服务序号为16位顺序号,每次工作站收发一次加1,溢出回0继续。
8.如权利要求5所述的远程过程调用方法,其特征在于:所述远程过程调用帧的参数还包括认证方式、加密方式;所述认证方式、加密方式的值为设定的认证、加密算法的序号;所述认证方式、加密方式位于所述站序号和所述动态服务序号之间。
9.一种工作站,其特征在于:包括平台构架、软件系统、远程调用模块和第一以太网口、第二以太网口,所述第一以太网口和第二以太网口组网,所述第一以太网口用于连接下一站,所述第二以太网口用于连接上一站;所述网络协议处理及转发模块用于所述远程过程调用帧的配置、复制、转发;所述工作站应用于链状网络或环状网络,执行如权利要求1到8任一项所述的远程过程调用方法。
10.如权利要求9所述的工作站,其特征在于:所述第一以太网口和第二以太网口为千兆以太网口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011591359.2A CN112698967A (zh) | 2020-12-29 | 2020-12-29 | 一种远程过程调用方法及工作站 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011591359.2A CN112698967A (zh) | 2020-12-29 | 2020-12-29 | 一种远程过程调用方法及工作站 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112698967A true CN112698967A (zh) | 2021-04-23 |
Family
ID=75511756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011591359.2A Pending CN112698967A (zh) | 2020-12-29 | 2020-12-29 | 一种远程过程调用方法及工作站 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698967A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337968A (zh) * | 2015-10-19 | 2016-02-17 | 江苏中威科技软件系统有限公司 | 一种跨平台通讯协议代码的转换方法及其系统 |
CN110234172A (zh) * | 2019-05-08 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、接入类别创建的方法及装置 |
CN111082904A (zh) * | 2019-12-06 | 2020-04-28 | 安徽芯智科技有限公司 | 一种基于rtos的rpc通信方法 |
-
2020
- 2020-12-29 CN CN202011591359.2A patent/CN112698967A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337968A (zh) * | 2015-10-19 | 2016-02-17 | 江苏中威科技软件系统有限公司 | 一种跨平台通讯协议代码的转换方法及其系统 |
CN110234172A (zh) * | 2019-05-08 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、接入类别创建的方法及装置 |
CN111082904A (zh) * | 2019-12-06 | 2020-04-28 | 安徽芯智科技有限公司 | 一种基于rtos的rpc通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754681B2 (en) | Announcing virtual machine migration | |
CN100372347C (zh) | 扩展边界网关协议的4over6隧道封装及解封装方法 | |
CN110677345B (zh) | 一种用户报文传输方法及通信设备 | |
CN106130991A (zh) | 一种数据转发方法及装置 | |
CN106970843B (zh) | 远程调用方法和装置 | |
CN102438331A (zh) | 一种移动终端通过手机上网的方法及系统 | |
US8379629B2 (en) | Data session handling | |
CN113726907A (zh) | 一种路由处理方法、网元设备、装置以及可读存储介质 | |
CN101222437A (zh) | 在二层交换网络中透传bpdu报文的方法和系统 | |
US20090238344A1 (en) | Communication control device and communication control method | |
CN111031020A (zh) | 一种基于端口映射的管理网络和租户网络通信的方法 | |
CN104486217A (zh) | 跨网络的报文转发方法和设备 | |
CN114363272B (zh) | 一种交换机的配置方法及相关设备 | |
CN110602143B (zh) | Pc端与远程设备实现通讯的方法、系统及可读存储介质 | |
CN107483369B (zh) | 一种报文处理方法及虚拟交换机 | |
CN112698967A (zh) | 一种远程过程调用方法及工作站 | |
CN104509083A (zh) | 通信系统、方法和程序 | |
US7639667B1 (en) | Method and system for transmitting messages in a communications network | |
CN113242313B (zh) | 数据同步方法、系统、装置、服务器及存储介质 | |
CN105516029A (zh) | 网络分组系统及其网络分组方法 | |
US8295802B2 (en) | Communication control device and communication control method for an emergency call over the internet | |
KR100273443B1 (ko) | 인터넷폰 프로토콜 | |
CN109962962B (zh) | 一种套接字socket连接的方法及设备 | |
JP5094446B2 (ja) | 交換装置、転送プログラム及び転送方法 | |
CN109768905A (zh) | 一种PPPoE报文传输的方法、系统、设备及存储介质 |
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 |