一种MTU信息的发送方法及装置与流程

文档序号:14717669发布日期:2018-06-16 01:53阅读:281来源:国知局
一种MTU信息的发送方法及装置与流程
本发明涉及通信
技术领域
,具体而言,涉及一种MTU信息的发送方法及装置。
背景技术
:在多协议标签交换(Multi-ProtocolLabelSwitching,MPLS)转发的过程中,需要在路由设备的接口配置最大传输单元(MaximumTransmissionUnit,MTU),以使超长报文分片转发。在配置接口的MPLSMTU时,每个接口板均会将配置的MPLSMTU信息存储到一个链表中。在配置接口的网络之间互连的协议(InternetProtocol,IP)MTU和/或接口MTU时,只有被配置的接口所在的接口板响应该配置指令,该接口板创建另一个链表,用于存储配置的IPMTU或接口MTU。IPMTU或接口MTU需要各接口板之间进行同步以保证MPLS报文跨接口板转发。但是,在接口板之间同步MTU信息时,通过远程过程调用协议(RemoteProcedureCall,RPC)消息承载。接口板在查找到一条MTU信息后,生成一条RPC消息并将其转发到需要同步的接口板,因此,当MTU信息量大时,需要连续、频繁地处理RPC消息,无法合理地运用接口板的计算资源。技术实现要素:有鉴于此,本发明实施例的目的在于提供一种MTU信息的发送方法及装置,能够更加合理地运用接口板的计算资源。第一方面,本发明实施例提供了一种MTU信息的发送方法,所述方法包括:步骤A:根据当前内存占用率确定一个远程过程调用协议RPC消息所承载的最大传输单元MTU信息的预设数量;步骤B:为承载所述预设数量的MTU信息的RPC消息分配内存;步骤C:将从第一接口板的MTU信息链表中提取的MTU信息存储到分配的内存中,形成RPC消息;步骤D:将形成的RPC消息发送给第二接口板。第二方面,本发明实施例还提供了一种MTU信息的发送装置,应用于第一接口板,包括:确定模块,用于根据当前内存占用率确定一个远程过程调用协议RPC消息所承载的最大传输单元MTU信息的预设数量;分配模块,用于为承载所述预设数量的MTU信息的RPC消息分配内存;生成模块,用于将从第一接口板的MTU信息链表中提取的MTU信息存储到分配的内存中,形成RPC消息;发送模块,用于将形成的RPC消息发送给第二接口板。本发明实施例提供的一种MTU信息的发送方法及装置,基于当前内存占用率为MTU信息确定一个RPC消息所需要承载的MTU信息的预设数量,从而能够通过该预设数量为RPC消息分配内存,从而能够更加合理地运用接口板的计算资源。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本发明实施例所提供的路由设备的结构示意图。图2示出了本发明实施例所提供的一种MTU信息的发送方法的流程图。图3示出了本发明实施例所提供的另一种MTU信息的发送方法的流程图。图4示出了本发明实施例所提供的一种MTU信息的发送装置的结构示意图。图5示出了本发明实施例所提供的另一种MTU信息的发送装置的结构示意图。图6示出了本发明实施例所提供的一种接口板的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,路由设备包括主控板(未图示),网板(未图示)和至少两个接口板(以包含两个接口板为例,即第一接口板和第二接口板),每个接口板上均配置有多个接口。各个接口板之间通过网板实现数据通信。对于接口,需要配置MTU,以使超长报文分片转发。这里,配置的MTU值包括MPLSMTU、IPMTU或者接口MTU。在接口板启动,或者由于故障需要重新启动时,接口板之间会基于配置指令进行MTU的配置,并在配置完成后进行同步。在本发明中,由于MPLSMTU无需各个接口板之间进行同步,因此,下述所提到的MTU信息指IPMTU和接口MTU。相对应的,存储MPLSMTU的链表也无需进行同步,因此,下述所提到的MTU信息链表指存储IPMTU和接口MTU的链表。基于此,本发明实施例提供了一种MTU信息的发送方法及装置,下面通过实施例进行描述。图2示出了本发明实施例提供的一种MTU信息的发送方法,如图2所示,所述方法应用于第一接口板,具体包括以下步骤:S101、第一接口板根据当前内存占用率确定一个RPC消息所承载的MTU信息的预设数量。S102、为承载所述预设数量的MTU信息的RPC消息分配内存。本发明实施例中,路由设备包含至少两个接口板,如图1中所示的第一接口板和第二接口板。在在第一接口板的MTU信息和第二接口板的MTU信息需要进行同步,以实现后续的MPLS报文跨板转发。此时,第一接口板需要确定进行同步所需要的RPC消息可以承载的MTU信息的预设数量。具体的,可以通过以下两种方式来建立内存占用率和预设数量之间的关系。也就是说,在当前内存占用率较小(即当前空闲内存资源充足)时,确定的所述预设数量较大,在当前内存占用率较大(即当前空闲内存资源紧张)时,确定的所述预设数量较小。方式1:在第一接口板上会预先存储有内存占用率和预设数量之间的映射关系(即第一映射关系),举例来说,当内存占用率为0~10%时,预设数量为300;为10%~20%时,预设数量为250;为20%~30%时,预设数量为200;为30%~40%时,预设数量为150;为40%~50%时,预设数量为100;为50%~60%时,预设数量为50;为60%~70%时,预设数量为25,为70%以上时,预设数量为1。第一接口板监测自身的内存占用率,记为当前内存占用率,比如当前内存占用率为35%,则相对应的预设数量为150。在第一接口板和第二接口板进行MTU信息同步时,RPC消息能承载150个MTU信息的长度向内存申请,第一接口板也以此长度为RPC消息分配内存。方式2:在第一接口板上存储内存占用率和比例系数之间的映射关系(即,第二映射关系)。举例来说,当内存占用率为0~10%时,比例系数为70%;为10%~20%时,比例系数为60%;为20%~30%时,比例系数为50%;为30%~40%时,比例系数为40%;为40%~50%时,比例系数为30%;为50%~60%时,比例系数为20%;为60%~70%时,比例系数为10%,为70%以上时,预设数量为1%。第一接口板监测自身的内存占用率,记为当前内存占用率,比如当前内存占用率为35%,比例系数为40%。在第一接口板和第二接口板进行MTU信息同步时,假设RPC消息所能承载的MTU信息的最大数量为500个,则预设数量=最大数量×比例系数,即为500×0.4=200。以RPC消息能承载200个MTU信息的长度向内存申请,第一接口板也以此长度为RPC消息分配内存。除上述两种方式外,其他以内存占用率和预设数量之间进行映射,满足当前内存占用率越大,则预设数量越小的条件都可以进行配置,在此不再赘述。需要说明的是,一个PRC消息的长度(即一个RPC消息所需要的内存)MTU信息的长度与预设数量的乘积,加上RPC消息头的长度须小于等于一个RPC消息长度的上限值(该上限值一般为64K)。通过上述方式确定的一个RPC消息所承载MTU信息的预设数量能够保证一个RPC消息传输的可靠性。S103、将从第一接口板的MTU信息链表中提取的MTU信息存储到分配的内存中,形成RPC消息。第一接口板首先将RPC消息的消息头写入分配的内存中,之后查找存储有MTU信息的MTU信息链表,并按照查找的顺序依次提取MTU信息链表中每一条MTU信息写入分配的内存中。若MTU信息链表中的MTU信息的数量小于/等于确定的预设数量,将MTU信息链表中的MTU信息提取完即可。若MTU信息链表中的MTU信息大于预设数量,则将分配的内存写满即可,此时,若MTU信息链表中还有未提取的MTU信息,第一接口板释放为所述RPC消息分配的内存,并返回步骤101,直至第一接口板的第二链表中不存在MTU信息。本发明实施例中,根据当前内存占用率确定所述预设数量并为承载MTU信息的RPC消息分配内存,能够避免频繁分配内存,从而能够更加合理的使用第一接口板上计算资源。这里,释放分配的内存即将分配的内存块中的消息清空,之后需要重新为一个RPC消息分配的内存。本发明实施例中,在第一接口板重新为一个PRC消息分配内存时,若当前内存占用率变化,那么,重新确定的预设数量以及分配的内存也可能发生了变化,若当前内存占用率的所处的占用率未发生变化,那么重新确定的预设数量以及分配的内存也不变。S104、将形成的RPC消息发送给第二接口板。第一接口板从分配的内存中提取完整的RPC消息的消息头和作为载荷的MTU信息,并将RPC消息发送给第二接口板,以便第二接口板在接收到RPC消息之后,提取RPC消息中的MTU信息并进行存储,以完成同步过程。本发明实施例提供的一种MTU信息的发送方法,基于当前内存占用率为MTU信确定一个RPC消息所需要承载的MTU信息的预设数量,从而能够通过该预设数量为RPC消息分配内存,从而能够更加合理地运用接口板的计算资源。在本发明实施例中,若链表中的MTU信息的大于中预设数量,那么在第一次将分配的内存写满之后,并在发送RPC消息后释放该内存,这时,MTU信息链表中还存在未提取的MTU信息,需要再次为承载待MTU信息的RPC消息分配的内存,而在发送RPC消息的过程中,若第一接口板上的CPU过于繁忙,可能会导致RPC消息发送较慢或者RPC消息无法发送,针对该问题,本发明实施例中采用如下方法解决,如图3所示,还包括:S201、监测预设时长内RPC消息的发送个数。预先设定CPU在预设时长内发送RPC消息的消息上限值,预先在第一接口板中创建定时器,定时器负责计时,CPU根据定时器记录的时间监测预设时长内发送的RPC消息的个数。这里预设时长可以设置为1s,本发明实施例对该预设时长的长度不做具体限定。S202、当所述发送个数大于第一预设个数时,增加发送所述RPC消息的时间间隔;S203、当所述发送个数大于第二预设个数时,减少发送所述RPC消息的时间间隔。在第一接口板中配置两个个数,即第一预设个数和第二预设个数。第一预设个数用于在RPC消息中所携带的MTU信息过多时,增加发送RPC消息的时间间隔,从而保证第一接口板在两次RPC消息之间能够有一定的时间处理其他业务的信息;第二预设个数用于在RPC消息中所携带的MTU过小时,减少发送RPC消息的时间间隔,从而保证MTU信息的同步周期不至于过长,保证在合理的时间内完成MTU信息的同步。需要说明的是,第一预设数值和第二预设数值可以根据经验进行设置。下面对本发明实施例提供的一种MTU信息的发送方法进行说明:在本实施例中,如图1所示,路由设备包含第一接口板和第二接口板,在第一接口板中,存储有预设数量和内存占用率之间的映射关系,如下表所示:内存占用率预设数量0%-10%30010%-20%25020%-30%20030%-40%15040%-50%10050%-60%5060%-70%1S1、第一接口板实时监测自身的内存占用率,并确定当前内存占用率为43%。S2、第一接口板获取到第二接口板需要进行MTU信息的同步时,根据上表所示的映射关系以及当前内存占用率43%,确定一个RPC消息所能够承载的MTU信息的预设数量为100个。S3、根据100个MTU信息的长度以及承载MTU信息的RPC消息的消息头的长度,为该RPC消息分配内存空间。S4、向分配的内存中写入RPC消息的消息头。S5、从第一接口板中所存储的MTU信息链表中查找需要同步给第二接口板的MTU信息,即包含IPMTU和接口MTU,并将提取到的MTU信息写入到分配的内存中,写入时MTU信息作为RPC消息的载荷附加在RPC消息的消息头之后,并判断提取的MTU信息的数量是否达到预设数量,如果达到则执行S6,如果未达到则继续执行S5。S6、当提取的MTU信息的数量达到预设数量100时,停止本次提取,此时,在内存中形成一个完整的RPC消息。S7、从内存中读出该条RPC消息,通过与第二接口板之间的网板,将该条RPC消息发送给第二接口板,并启动定时器监测RPC消息在预设时长内的发送个数(例如400个),例如1S内RPC消息的发送超出400个,则延长发送两个RPC消息之间的时间间隔,例如将将发送间隔从1ns调整到5ns,这样一来,在两次RPC消息两次发送之间,可以空闲出时间用于其他处理,避免MTU信息的同步过度占用计算资源,导致拖慢更优先级别的消息的处理,又例如1S内RPC消息的发送。S8、等待第二接口板的反馈消息,如果接收到第二接口板的反馈消息,则执行S9,如果未接收到则继续等待直至超时,则返回S7,重新发送该RPC消息。S9、判断MTU信息链表中是否存在未提取的MTU信息,如果存在,则释放分配的内存,并返回S1,再次当前内存占用率,重新确定预设数值,如果不存在则释放分配的内存,并结束流程。本发明实施例还提供了一种MTU信息的发送装置,应用于第一接口板,如图4所示,所述装置包括:确定模块11,用于根据当前内存占用率确定一个远程过程调用协议RPC消息所承载的最大传输单元MTU信息的预设数量;分配模块12,用于为承载所述预设数量的MTU信息的RPC消息分配内存;生成模块13,用于将从第一接口板的MTU信息链表中提取的MTU信息存储到分配的内存中,形成RPC消息;发送模块14,用于将形成的RPC消息发送给第二接口板。可选的,本发明实施例提供的一种MTU信息的发送装置,如图5所示,还包括:释放模块15,用于释放为承载MTU信息的RPC消息分配的内存,并在所述MTU信息链表中存在未提取的MTU信息时,通过所述确定模块再次确定所述预设数量。可选的,本发明实施例提供的MTU信息的发送装置中,所述第一接口板中存储有所述预设数量和内存占用率的映射关系,上述确定模块11,具体用于:监测当前内存占用率;根据所述当前内存占用率和所述第一映射关系,确定一个RPC消息所承载的MTU信息的预设数量。可选的,本发明实施例提供的MTU信息的发送装置,所述第一接口板中存储有比例系数和所述内存占用率的第二映射关系,具体用于:监测当前内存占用率;根据所述当前内存占用率和所述第二映射关系,确定比例系数,并根据所述比例系数和一个RPC消息所承载的MTU信息的最大数量,确定一个RPC消息所承载的MTU信息的预设数量。可选的,本发明实施例提供的MTU信息的发送装置,还包括:调整模块,用于:监测预设时长内RPC消息的发送个数;当所述发送个数大于或等于第一预设个数时,增加发送所述RPC消息的时间间隔;当所述发送个数小于或等于第二预设个数时,减少发送所述RPC消息的时间间隔。本发明实施例提供的一种MTU信息的发送装置,基于当前内存占用率为MTU信息确定一个RPC消息所需要承载的MTU信息的数量,从而能够通过该数量为RPC消息分配内存,从而能够更加合理地运用接口板的计算资源。图6为本发明一实施例提供的接口板30的结构示意图,用于执行图2中的MTU信息的发送方法,该设备包括存储器301、处理器302及存储在该存储器301上并可在该处理器302上运行的计算机程序,其中,上述处理器302执行上述计算机程序时实现上述MTU信息的发送方法的步骤。具体地,上述存储器301和处理器302能够为通用的存储器和处理器,这里不做具体限定,当处理器302运行存储器301存储的计算机程序时,能够执行上述MTU信息的发送方法。对应于图2中的MTU信息的发送方法,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述MTU信息的发送方法的步骤。具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述MTU信息的发送方法。本发明实施例所提供的MTU信息的发送装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1