CN102739552B - 一种实现多主控远程过程调用的方法及系统 - Google Patents

一种实现多主控远程过程调用的方法及系统 Download PDF

Info

Publication number
CN102739552B
CN102739552B CN201210250542.5A CN201210250542A CN102739552B CN 102739552 B CN102739552 B CN 102739552B CN 201210250542 A CN201210250542 A CN 201210250542A CN 102739552 B CN102739552 B CN 102739552B
Authority
CN
China
Prior art keywords
mpu
sequence number
rpc
numbering
encapsulated
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
Application number
CN201210250542.5A
Other languages
English (en)
Other versions
CN102739552A (zh
Inventor
王焕章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201210250542.5A priority Critical patent/CN102739552B/zh
Publication of CN102739552A publication Critical patent/CN102739552A/zh
Application granted granted Critical
Publication of CN102739552B publication Critical patent/CN102739552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明涉及网络通信领域中的路由交换控制技术,其公开了一种实现多主控远程过程调用的方法,解决传统技术中为了区分控制指令的来源而需要作大量的工作,导致开发效率低下和系统不稳定的问题。该方法通过给每个堆叠成员设备的MPU进行编号,将MPU编号封装在RPC序列号中,LPU根据序列号中的MPU编号确定指令来自那个MPU,很容易扩展RPC支持堆叠系统,提升开发效率,提高系统稳定性。此外,本发明还公开了一种实现多主控远程过程调用的系统,适用于堆叠系统。

Description

一种实现多主控远程过程调用的方法及系统
技术领域
本发明涉及网络通信领域中的路由交换控制技术,特别涉及一种实现多主控远程过程调用(Remote Procedure Call,简称RPC)的方法及系统。
背景技术
目前主流路由交换设备的系统架构一般分为数据平面、控制平面和监控平面三个子系统。其中,控制平面包括主控卡MPU控制平面和业务线卡LPU控制平面,MPU控制平面负责协议计算和整个设备的管理,LPU控制平面负责硬件芯片的设置和管理,MPU通过RPC下发指令到LPU来实现对硬件芯片的操作,如图1所示,MPU通过RPC下发指令到各LPU;图2中示意了MPU到LPU的RPC实现过程:MPU作为RPC客户端(client)将函数参数及key值封装为一个报文,发送至相应LPU,LPU接收报文后,作为RPC服务器端(Server)从报文中将函数参数及key值解析出来,通过key值匹配相应实体函数并执行。
在堆叠系统中,多个机架设备作为堆叠成员设备构成一个整体,虚拟为一台交换设备,存在多个主控卡对同一张线卡进行操作的情况,因LPU无法区分具体调用函数来自哪个MPU,容易出现混乱,例如:在图3中,堆叠成员设备1和堆叠成员设备2的MPU都有RPC指令下发到堆叠成员设备2的LPU2;LPU2无法区分收到的RPC指令到底是来自哪一个MPU;
现有技术中有一种实现方法是通过key值区分控制指令的来源,即不同的MPU到同一个LPU执行不同的操作函数,靠不同的函数名来区分MPU,因此,即使是同样的操作,也必须写多个函数,而MPU到LPU的操作很多,RPC函数有几百个,这就需要进行大量的复制;随着系统的构成日益复杂,MPU数目的不断增加,重复的函数数量很大,传统技术的处理方式会导致开发效率低下和系统不稳定。
发明内容
本发明所要解决的技术问题是:提出一种能够支持堆叠系统且处理简单的实现多主控远程过程调用的方法及系统,解决传统技术中为了区分控制指令的来源而需要作大量的工作,导致开发效率低下和系统不稳定的问题。
本发明解决上述技术问题所采用的方案是:一种实现多主控远程过程调用的系统,所述系统包括至少两个堆叠成员设备,其中每个堆叠成员设备包括:
调用管理模块,用于为所在堆叠成员设备的MPU设置MPU编号,并为MPU分配RPC序列号计数器;
MPU编号封装模块,用于在MPU每次下发RPC控制指令时,将MPU编号封装到RPC序列号中;
报文封装发送模块,用于将包含MPU编号的RPC序列号、函数key值、函数参数封装为一个以太报文,并发送至目标LPU;
MPU编号解析模块,用于目标LPU接收到MPU下发的以太报文后,从RPC序列号中提取MPU编号和真实的序列号,并提取出函数key值,进而找到对应的实体函数执行,将函数执行结果与所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
进一步,所述RPC序列号计数器用于为其所在MPU每次下发RPC控制指令时,自动分配RPC序列号。
进一步,所述RPC序列号具有32位。
进一步,所述将MPU编号封装到RPC序列号中的方法是:
将32位RPC序列号中的高4位分配给MPU编号使用,将剩余的28位分配给真实的序列号使用。
一种实现多主控远程过程调用的方法,包括以下步骤:
a.为每个堆叠成员设备的MPU设置MPU编号并分配RPC序列号计数器;
b.在任一MPU每次下发RPC控制指令时,根据RPC序列号计数器计算真实的序列号,并将自身的MPU编号和真实的序列号封装到RPC序列号中;
c.所述任一MPU将已封装了MPU编号的RPC序列号、函数key值、函数参数封装为一个以太报文,发送至目标LPU;
d.所述目标LPU对所述以太报文进行解析,从RPC序列号中提取MPU编号和真实的序列号,通过key值查找匹配的实体函数;
e.所述目标LPU执行该实体函数进行相应配置,将函数执行结果和所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
进一步,所述RPC序列号具有32位。
进一步,步骤b中,所述将该MPU编号和真实的序列号封装到RPC序列号的方法是:
将32位RPC序列号中的高4位分配给MPU编号使用,将剩余的28位分配给真实的序列号使用。
本发明的有益效果是:为每个MPU进行编号,并通过对RPC序列号进行扩展,将MPU编号封装至RPC序列号中,目标LPU根据RPC序列号中的MPU编号来确定本次控制指令来自哪个MPU,无需复制大量的RPC函数,从而降低了系统工作量,大大提升了开发效率和系统稳定性,特别适用于堆叠系统。
附图说明
图1为MPU通过RPC下发指令到各LPU的示意图;
图2为MPU到LPU的RPC实现过程示意图;
图3为多主控下发控制指令的示意图;
图4为实施例中的RPC序列号构成图;
图5为实施例中的实现多主控远程过程调用的系统结构框图;
图6为实施例中的实现多主控远程过程调用的方法流程图。
具体实施方式
针对传统技术中为了区分控制指令的来源而需要作大量的工作,导致开发效率低下和系统不稳定的问题,本发明提供了一种实现多主控远程过程调用的系统和方法,其基本思想为:给每个堆叠成员设备的MPU进行编号,将MPU编号封装在RPC序列号中,LPU根据序列号中的MPU编号确定指令来自那个MPU,很容易扩展RPC支持堆叠系统,提升开发效率,提高系统稳定性。
参见图5,本例中的实现多主控远程过程调用的系统,包括:
调用管理模块,用于为所在堆叠成员设备的主控卡设置MPU编号,并为MPU分配RPC序列号计数器;
MPU编号封装模块,用于在MPU每次下发RPC控制指令时,将MPU编号封装到RPC序列号中;
报文封装发送模块,用于将包含MPU编号的RPC序列号、函数key值、函数参数封装为一个以太报文,并发送至目标业务线卡LPU;
MPU编号解析模块,用于目标LPU接收到MPU下发的以太报文后,从RPC序列号中提取MPU编号和真实的序列号,并提取出函数key值,进而找到对应的实体函数执行,将函数执行结果与所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
所述RPC序列号计数器用于为其所在MPU每次下发RPC控制指令时,自动分配RPC序列号。序列计数器原用于跟踪每一次RPC操作,即MPU下发指令到LPU,LPU执行实际函数动作后,将结果值返回给MPU,这个过程是异步的,MPU就是依靠这个序列号计数器确定返回值对应那一次RPC;现扩展序列计数器的作用,包含MPU编号,LPU可得知RPC来自哪个MPU。
所述RPC序列号具有32位,参见图4,其高4位(28-31)分配给MPU编号使用,其剩余28位(0-27)作为递增的实际的序列号使用,从0开始递增,到最大值再翻转为0。
下面以一个实施例说明实现多主控远过程调用的方法,如图6所示,其包括以下步骤:
步骤S601,为每个堆叠成员设备的MPU设置MPU编号并分配RPC序列号计数器。
在本步骤中,定义32位的整数型RPC序列号,且为递增的:MPU每执行一次RPC,序列号值每次加一,加到最大值,翻转为零。将MPU编号封装到RPC序列号中,即将MPU编号定义在RPC序列号的高4位部分,真实的序列号填写在低28位部分。
步骤S602,在任一MPU每次下发RPC控制指令时,根据RPC序列号计数器计算真实的序列号,并将自身的MPU编号和真实的序列号封装到RPC序列号中。
本步骤中,每个堆叠成员设备的MPU每次下发RPC控制指令到某一LPU时,需要设置RPC序列号的高4位为自身的MPU编号,低28位为RPC计数器分配的真实的序列号。
步骤S603,所述任一MPU将已封装了MPU编号的RPC序列号、函数key值、函数参数封装为一个以太报文,发送至目标LPU。
本步骤中,需要发送RPC控制指令的MPU,将RPC序列号、函数key值、函数参数封装为一个以太格式的报文,即将RPC序列号、函数key值、函数参数,按照网络字节序方式,以字节流的方式填写到缓冲区,然后将缓冲内容通过以太网络接口发到目标LPU。
步骤S604,所述目标LPU对所述以太报文进行解析,从RPC序列号中提取MPU编号和真实的序列号,通过key值查找匹配的实体函数。
本步骤中,目标LPU将接收到的以太报文存在缓冲区,按照网络字节序方式,从缓冲区中将RPC序列号、函数key值、函数参数提取出来;并将RPC序列号的高4位分解出来,得到MPU编号;通过函数key值查找匹配的实体函数:LPU上大量函数指针以数组方式存储,遍历数组,对比key值,找到相应的函数指针。
步骤S605,所述目标LPU执行该实体函数进行相应配置,将函数执行结果和所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
本步骤中,目标LPU执行实体函数进行相应配置:即跳转到函数指针指向的函数实体执行,完成执行后,将函数执行结果和所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种实现多主控远程过程调用的系统,包括至少两个堆叠成员设备,其特征在于,每个堆叠成员设备包括:
调用管理模块,用于为所在堆叠成员设备的主控卡设置MPU编号,并为MPU分配RPC序列号计数器;
MPU编号封装模块,用于在MPU每次下发RPC控制指令时,将MPU编号封装到RPC序列号中;
报文封装发送模块,用于将包含MPU编号的RPC序列号、函数key值、函数参数封装为一个以太报文,并发送至目标业务线卡LPU;
MPU编号解析模块,用于目标LPU接收到MPU下发的以太报文后,从RPC序列号中提取MPU编号和真实的序列号,并提取出函数key值,进而找到对应的实体函数执行,将函数执行结果与所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
2.如权利要求1所述的一种实现多主控远程过程调用的系统,其特征在于,所述RPC序列号计数器用于为其所在MPU每次下发RPC控制指令时,自动分配RPC序列号。
3.如权利要求1或2所述的一种实现多主控远程过程调用的系统,其特征在于,所述RPC序列号具有32位。
4.如权利要求3所述的一种实现多主控远程过程调用的系统,其特征在于,所述将MPU编号封装到RPC序列号中的方法是:
将32位RPC序列号中的高4位分配给MPU编号使用,将剩余的28位作为真实的序列号使用。
5.一种实现多主控远程过程调用的方法,其特征在于,包括以下步骤:
a.为每个堆叠成员设备的MPU设置MPU编号并分配RPC序列号计数器;
b.在任一MPU每次下发RPC控制指令时,根据RPC序列号计数器计算真实的序列号,将自身的MPU编号和真实的序列号封装到RPC序列号中;
c.所述任一MPU将已封装了MPU编号的RPC序列号、函数key值、函数参数封装为一个以太报文,发送至目标LPU;
d.所述目标LPU对所述以太报文进行解析,从RPC序列号中提取MPU编号和真实的序列号,通过key值查找匹配的实体函数;
e.所述目标LPU执行该实体函数进行相应配置,将函数执行结果和所述真实的序列号封装为一个以太报文,返回给所述MPU编号对应的MPU。
6.如权利要求5所述的一种实现多主控远程过程调用的方法,其特征在于,所述RPC序列号具有32位。
7.如权利要求6所述的一种实现多主控远程过程调用的方法,其特征在于,步骤b中,所述将MPU编号和真实的序列号封装到RPC序列号中的方法是:
将32位RPC序列号的高4位分配给MPU编号使用,将剩余的28位分配给真实的序列号使用。
CN201210250542.5A 2012-07-19 2012-07-19 一种实现多主控远程过程调用的方法及系统 Active CN102739552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210250542.5A CN102739552B (zh) 2012-07-19 2012-07-19 一种实现多主控远程过程调用的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210250542.5A CN102739552B (zh) 2012-07-19 2012-07-19 一种实现多主控远程过程调用的方法及系统

Publications (2)

Publication Number Publication Date
CN102739552A CN102739552A (zh) 2012-10-17
CN102739552B true CN102739552B (zh) 2015-09-23

Family

ID=46994364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210250542.5A Active CN102739552B (zh) 2012-07-19 2012-07-19 一种实现多主控远程过程调用的方法及系统

Country Status (1)

Country Link
CN (1) CN102739552B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630318B (zh) * 2020-05-06 2023-05-12 华为技术有限公司 报文传输的方法和框式通信设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184032A (zh) * 2007-10-31 2008-05-21 中兴通讯股份有限公司 一种堆叠系统设备通讯的方法
CN101262501A (zh) * 2008-04-23 2008-09-10 杭州华三通信技术有限公司 一种多核系统中的核间通信方法和一种多核系统
CN101795206A (zh) * 2009-11-26 2010-08-04 福建星网锐捷网络有限公司 一种在分布式构成设备上实现snmp代理的方法和装置
CN102006315A (zh) * 2009-08-28 2011-04-06 迈普通信技术股份有限公司 分布式系统远程过程调用通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184032A (zh) * 2007-10-31 2008-05-21 中兴通讯股份有限公司 一种堆叠系统设备通讯的方法
CN101262501A (zh) * 2008-04-23 2008-09-10 杭州华三通信技术有限公司 一种多核系统中的核间通信方法和一种多核系统
CN102006315A (zh) * 2009-08-28 2011-04-06 迈普通信技术股份有限公司 分布式系统远程过程调用通信方法
CN101795206A (zh) * 2009-11-26 2010-08-04 福建星网锐捷网络有限公司 一种在分布式构成设备上实现snmp代理的方法和装置

Also Published As

Publication number Publication date
CN102739552A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN102769667B (zh) 一种id生成方法、装置和系统
CN104376416A (zh) 电网生产管理系统与调度自动化系统图形交互方法
CN103716147A (zh) 一种具有路径延时测量功能的采样值传输及同步方法
CN104820706A (zh) 基于地理信息的配电网全景实时监控系统及其方法
CN105426482A (zh) 一种图库一体的铁路10kV配电网海量监控信息HBase转存方法
CN103546272A (zh) 一种基于数据交换动态延时补偿的采样值同步方法
CN105046032A (zh) 基于cad绘制配电网线路的方法及系统
CN104168138A (zh) 一种电力通信网络系统集中拓扑生成展示方法
CN103236986B (zh) 负载分担方法及装置
CN104698374A (zh) 一种提高自动化继电保护测试仪测试效率和准确度的方法
CN101901163A (zh) 分配消息的方法和装置
CN105373834B (zh) 基于分布式计算的配电网短路电流计算方法及系统
CN102739552B (zh) 一种实现多主控远程过程调用的方法及系统
CN103728957B (zh) 一种基于实时数据库的hart现场设备管理方法及系统
CN205050133U (zh) 嵌入式系统中的时统系统
CN102857552B (zh) 云技术在电网电力信息控制中的应用
CN102521782A (zh) 一种基于实时数据库的动态数据智能发布方法及系统
CN104378419A (zh) 一种数据高速推送的方法及系统
CN104240142A (zh) 一种智能变电站二次系统配置的版本差异的高可视化展示方法
CN106817291A (zh) Vxlan实现装置及其工作方法
CN103384218A (zh) 一种基于业务等级的流量转发方法及系统
CN104519420A (zh) 一种无源光网络中报文转发方法
CN104298636A (zh) 一种嵌入式通讯服务系统
CN108038332A (zh) 一种面向未来态电网的在线图模快速生成方法
CN102523164B (zh) 一种在网卡中实现复杂同源同宿分流的系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant