发明内容
为了解决灵活以太网中成员的动态调增删带来原有成员承载业务断流问题,本发明提出了一种基于ram实现无损增删FlexE成员的方法,通过ram缓存数据的方式解决断流问题,实现FlexE带宽的动态调整。
为实现上述目的,本发明采用如下的技术方案。
在本发明实施例中,提出了一种基于ram实现无损增删FlexE成员的方法,该方法包括如下步骤:
S1 FlexE协议定义组内成员的对齐码块OH,OH码块被周期的插入在成员内;
S2成员到达接收方时,当检测到OH码块时,数据开始写入ram的地址0,同时拉高OH_Mark电平;
S3经过ram缓存数据,FlexE组内新老成员对齐后,每次均从ram中取出数据,从而实现了新成员的无损加入。
进一步的,根据实际需要调节资源,在带宽需求小时,加入的成员数量较少;当有带宽增加需求时,则加入新成员,加入成员的过程,原有成员上的业务可继续正常工作,不受新成员的影响。
进一步的,每个成员拥有一块ram,ram的深度与OH的周期保持倍数关系,组内成员OH周期是一致的。
进一步的,每个组内成员的OH码块固定出现在地址0。
进一步的,当发现OH码不在地址0,则认为链路传输发生错误,上报告警。
进一步的,根据每个成员ram的缓存数据量判断出各成员之间的延时。
进一步的,当新加入成员检测到OH码块后,根据原有成员ram读地址是否在地址0以及OH_Mark的高低,判断出新老成员的先后关系。
在本发明实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于ram实现无损增删FlexE组内成员的方法。
在本发明实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储执行基于ram实现无损增删FlexE组内成员的方法的计算机程序。
本发明的有益效果在于,针对现有的通信系统中存在的问题,本发明提出了一种基于ram实现无损增删FlexE组内成员的方法,通过ram缓存数据的方式解决断流问题,实现FlexE带宽的动态调整。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。以下实施用例仅用于更加清楚地说明本发明的系统方法及技术方案,而不能以此来限制本申请的保护范围。
根据本发明的实施方式,本发明提出了一种基于ram实现无损增删FlexE组内成员的方法,通过ram缓存数据的方式解决断流问题,实现FlexE带宽的动态调整。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是一种基于ram实现无损增删FlexE组内成员的方法的处理流程示意图。如图1所示,该方法包括如下步骤:
S1 FlexE协议定义组内成员的对齐码块OH,OH码块被周期的插入在成员内;
进一步的,根据实际需要调节资源,在带宽需求小时,加入的成员数量较少;当有带宽增加需求时,则加入新成员,加入成员的过程,原有成员上的业务可继续正常工作,不受新成员的影响。
S2成员到达接收方时,当检测到OH码块时,数据开始写入ram的地址0,同时拉高OH_Mark电平;
进一步的,每个成员拥有一块ram,ram的深度与OH的周期保持倍数关系,组内成员OH周期是一致的。
进一步的,每个组内成员的OH码块固定出现在地址0。
进一步的,当发现OH码不在地址0,则认为链路传输发生错误,上报告警。
S3经过ram缓存数据,FlexE组内新老成员对齐后,每次均从ram中取出数据,从而实现了新成员的无损加入。
进一步的,根据每个成员ram的缓存数据量判断出各成员之间的延时。
进一步的,当新加入成员检测到OH码块后,根据原有成员ram读地址是否在地址0以及OH_Mark的高低,判断出新老成员的先后关系。
具体实施时,当OH码写入地址0时,OH_Mark电平拉高;当地址0写入的不是OH码时,OH_Mark拉低。
具体实施时,当新加入成员检测到OH码块后,若原有成员ram的读地址不在地址0且OH_Mark为低电平时,可判断出新加入成员OH码块提前到达;若原有成员的ram读地址在0地址时且OH_Mark为高电平时,则认为原成员的OH码块与新加入成员是对齐的;若原有成员的读地址不在0地址且OH_Mark为高电平,则认为新成员数据来的晚。
具体实施时,若新加入成员OH码块提前到达,则等待原成员读地址回0;原成员地址回0后新成员与原成员数据按照相同速率,ram非空的情况下正常读出完成便完成新成员的无损加入。
具体实施时,若原成员的OH码块与新加入成员是对齐的;新成员与原成员按照相同速率,ram非空的情况下正常读出完成便完成无损加入。
具体实施时,新成员OH码块来的晚;则暂停读出原有成员的数据,当新成员的缓存数据写地址与原成员读地址相同时,新成员读地址切换到与原成员读地址相同,按照相同速率,ram非空的情况下正常读出完成便完成无损加入。
具体实施时,当暂缓读出原有成员数据会引入原有成员数据的堆积,当发现ram空间即将不足时,可放弃添加新成员上报告警,新加入成员与原成员时延超过设置ram深度;从而不影响原有成员上的也传输。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述一种基于ram实现无损增删FlexE成员的方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
实施例一:
一种基于ram实现无损增删FlexE成员的方法,具体实施步骤如下:
S1根据实际FlexE group组带宽需求,加入成员,FlexE协议定义组内成员的对齐码块OH,OH码块被周期的插入在成员内;
FlexE协议定义成员的对齐码块OH,OH码块被周期的插入在成员内(如图2所示),其周期用period_L表示。
OH码块位置固定有利于判断链路层丢失数据块的情况。
S2成员到达接收方时,当检测到OH码块时,数据开始写入ram中;
FlexE中group组内可存在n个成员(如图3所示),成员到达接收方时,当检测到OH码块时,数据开始写入ram中。
ram的深度决定可去除时延偏差的能力,深度的设置需要与OH的周期period_L保持倍数关系,这样可保证每个OH码块均被写入到地址0。
每个成员拥有一块ram,深度为h,h*m=period_L;当深度h确定,缓存的数量也就确定,缓存数量的m倍即是OH周期。
当OH码写入地址0时,定义标记OH_Mark,随后连续写入h个数据(非OH码),OH_Mark保持为高电平。当地址0写入的不是OH码时,OH_Mark拉低。
S3 FlexE组内原成员经过对齐后,每次均从ram中取出数据供恢复业务。
加入成员因时延的不确定,OH码块到达时间与已经拉齐的原成员OH码块比较可出现三种情况(如图4所示)。
情况一:新加入的成员提前到达。
情况二:新加入的成员与对齐的原成员OH码块同时出现。
情况三:新加入成员晚于原有对齐成员到达。
新加入成员检测到OH码块后,开始写入ram中,地址0写入OH码块。此时可判断新成员与原有对齐成员时延先后顺序,当原有成员的ram的读地址不在0地址且OH_Mark为低电平时,可判断出新加入成员OH码块提前到达,属于情况一。情况一出现说明新加入的成员需要把数据暂存在ram中,等待原成员读地址回0。原成员地址回0后新成员与原成员数据按照相同速率,ram非空的情况下正常读出完成便完成无损加入。
当原有成员的ram读地址在0地址时且OH_Mark为高电平时,说明原成员的OH码块与新加入成员是对齐的。属于情况二,新成员与原成员按照相同速率,ram非空的情况下正常读出完成便完成无损加入。
当新成员OH写入地址0时,原有成员的读地址不在0地址且OH_Mark为高电平,说明原成员的OH对齐线较新成员较早,新成员数据来的晚,属于情况三。此时暂停读出原有成员的数据,当新成员的缓存数据写地址与原成员读地址相同时,新成员读地址切换到与原成员读地址相同,按照相同速率,ram非空的情况下正常读出完成便完成无损加入。情况三时暂缓读出原有成员数据会引入原有成员数据的堆积,当发现ram空间即将不足时,可放弃添加新成员,上报告警,新加入成员与原成员时延超过设置ram深度。从而不影响原有成员上的也传输。
可实现FlexE组内成员动态的加入,扩大group组带宽。根据实际需要调节资源,在带宽需求小时,加入的成员数量较少。当有带宽增加需求时,可加入新成员,加入成员的过程,原有成员上的业务可继续正常工作,不受新成员的影响。同时根据每个成员ram的缓存数据量判断出各成员之间的延时。
利用ram读写地址的可控性,能够掌握OH码地址的准确定。当发现OH码不在地址0,还可发现链路传输发生错误,上报告警。
本发明的有益效果在于,针对现有的通信系统中存在的问题,提出了一种基于ram实现无损增删FlexE组内成员的方法,通过ram缓存数据的方式解决断流问题,实现FlexE带宽的动态调整。
本发明申请人结合说明书附图对本发明的实施用例做了详细的说明与描述,以上实施用例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。