一种数据写入的方法、装置及系统的制作方法

文档序号:7858260阅读:101来源:国知局
专利名称:一种数据写入的方法、装置及系统的制作方法
技术领域
本发明涉及通讯领域,尤其涉及一种数据写入的方法、装置及系统。
背景技术
分布式共享缓存交换(Distributed Shared Memory Switch,简称SMS)架构是一种网络交换架构,一般用于交换机和路由器中,主要由多个输入端口、第一级交换网络、多个中间缓存、第二级交换网络以及多个输出端口 五部分组成。其中,第一级交换网络用于将输入端口的数据送到中间缓存中,第二级交换网络用于将中间缓存中的数据送到相应的输出端口,第一、第二级交换网络可共享多个中间缓存。SMS架构采用共享中间缓存的方式,因此能够节省硬件实现中的存储资源和布线资源,同时利于交换架构的扩展。但是,由于SMS架构应用于多端口的交换机或路由器,在第一级交换网络中,当多个输入端口同时有数据需要发送到同一个中间缓存时会出现该缓存先接收哪个输入端口的数据的问题,即缓存的写入冲突;同理,在第二级交换网络中,当多个输出端口要从同一个中间缓存中读取数据时会出现哪个输出端口先读取该缓存中的数据的问题,即缓存的读出冲突。因此如何解决SMS架构的缓存读写冲突成为使用该架构的重要前提。现有技术中,基于SMS架构中的一种写入数据的方式采用的算法如下当前时隙内每个未匹配的中间缓存随机选择向一个需要传送数据的输入端口发送请求信息,该输入端口随机选择一个向其发送请求信号的未匹配的中间缓存进行数据缓存,并同时对其他未匹配的中间缓存发送一个已匹配的信号。在实现上述数据写入的过程中,发明人发现现有技术中至少存在如下问题上述方法采用随机匹配的方式,造成每个输入端口传输数据的机会不公平,以及相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失、以及读出冲突概率高的问题。

发明内容
本发明实施例提供一种数据写入的方法、装置及系统,根据每个时隙内输入端口发送的请求信息和预设的双轮询规则为输入端口分配中间缓存,从而提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,进而减少数据帧丢失和读出冲突出现的概率。为达到上述目的,本发明实施例采用的技术方案是,第一方面,提供了一种数据写入的方法,该方法包括获取当前时隙内有数据传输需求的输入端口发送的请求信息;在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存;将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的地址信息将数据写入所述第一中间缓存。
在第一种可能的实现方式中,根据第一方面,在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,具体实现为在当前时隙内根据第一轮询规则获取所述第一输入端口,其中,所述第一轮询规则为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口;在当前时隙内根据第二轮循规则获取所述第一中间缓存,其中,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写。将所述第一中间缓存分配给所述第一输入端口。在第二种可能的实现方式中,结合第一种可能的实现方式,优选的,所述中间缓存包含至少两个缓存区间,相应的,在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,包括在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存中任意一个未满未写的缓存区间;所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。在第三种可能的实现方式中,结合第一方面或第一种可能的实现方式或第二种可能的实现方式任一项,该方法还包括若在当前时隙内未获取到所述输入端口发送的请求信息,则在当前时隙内不进行所述中间缓存的分配。第二方面,提供了一种数据写入的方法,该方法包括有数据传输需求的输入端口在当前时隙内向双轮询器发送请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存;所述第一输入端口接收所述第一中间缓存的标识信息;所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。在第一种可能的实现方式中,根据第二方面,所述有数据传输需求的输入端口在当前时隙内向双轮询器发送请求信息,具体实现为所述输入端口在当前时隙内检测到到达所述输入端口的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。在第二种可能的实现方式中,结合第二方面或第一种可能的实现方式,该方法还包括所述中间缓存包含至少两个缓存区间,相应的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。第三方面,提供了一种数据写入的装置,该数据写入装置包括
获取单元,用于获取当前时隙内有数据传输需求的输入端口发送的请求信息,以及将所述请求信息发送给分配单元;分配单元,用于从所述获取单元接收所述请求信息,以及在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,以及将分配结果传输给发送单元;发送单元,用于从所述分配单元接收所述分配结果,以及将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。在第一种可能的实现方式中,结合第三方面,分配单元具体实现为第一选择模块,用于在当前时隙内根据第一轮询规则选择所述第一输入端口,其中,所述第一轮询规则为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一
相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口;第二选择模块,用于在当前时隙内根据第二轮循规则选择所述第一中间缓存,其中,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写;分配模块,用于将所述第一中间缓存分配给所述第一输入端口。在第二种可能的实现方式中,结合第一种可能的实现方式,优选的,所述中间缓存包含至少两个缓存区间,相应的,所述分配单元还用于在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存中任意一个未满未写的缓存区间;所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。在第三种可能的实现方式中,结合第三方面或第一种可能的实现方式或第二种可能的实现方式,分配单元还用于若在当前时隙内未接收到所述获取单元获取的所述输入端口发送的请求信息,则在当前时隙内不进行所述中间缓存的分配。第四方面,提供了一种输入端口,该输入端口包括第一发送单元,用于在当前时隙内向双轮询器发送数据传输的请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为所述输入端口分配第一中间缓存,接收单元,用于接收所述第一中间缓存的标识信息;写入单元,用于根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。在第一种可能的实现方式中,结合第四方面,发送单元还用于在当前时隙内检测到到达所述输入端口的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。在第二种可能的实现方式中,结合第四方面或第一种可能的实现方式,优选的,所述中间缓存包含至少两个缓存区间,相应的,所述第一中间缓存的标识信息包括
所述第一中间缓存的标识以及为所述输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。第五方面,提供了一种输入端口,该输入端口包括输入端口缓存,用于在当前时隙内向双轮询器发送数据传输的请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为所述输入端口分配第一中间缓存,接收所述第一中间缓存的标识信息,根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。在第一种可能的实现方式中,结合第五方面,输入端口缓存还用于在当前时隙内检测到到达所述输入端口缓存的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。在第二种可能的实现方式中,结合第五方面或第一种可能的实现方式,优选的,所述中间缓存包含至少两个缓存区间,相应的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。第六方面,提供了一种数据写入系统,该数据写入系统包括上述任一项所述的数据写入的装置,和上述任一项所述的输入端口。本发明实施例提供一种数据写入的方法、装置及系统,根据输入端口发送的请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种数据写入的方法的流程示意图;图2为本发明实施例提供的另一种数据写入的方法的流程示意图;图3为本发明实施例提供的另一种数据写入的方法的流程示意图;图4为本发明实施例提供的一种双轮询匹配示意图;图5为本发明实施例提供的一种数据写入的装置的结构图;图6为本发明实施例提供的另一种数据写入的装置的结构图;图7为本发明实施例提供的一种双轮询器的结构图;图8为本发明实施例提供的另一种双轮询器的结构图;图9为本发明实施例提供的一种输入端口的结构图;图10为本发明实施例提供的另一种输入端口的结构图;图11为本发明实施例提供的一种数据写入的系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例可应用于基于SMS架构的交换机的数据写入的调度,也可应用于基于SMS架构的路由器的数据写入的调度,其原理和实现过程相同,本发明实施例以应用于基于SMS架构的光纤通道(Fibre Channel,简称FC)交换机的数据写入的调度为例进行说明。本发明实施例分别从双轮询器侧和输入端口侧进行说明,并同时对二者的配合实施例进行说明,但这并不意味着二者必须配合实施,实际上,当双轮询器与输入端口分开实施时,其也解决了分别在双轮询器侧、输入端口侧上存在的问题,只是二者结合使用时,会获得更好的技术效果。参见图1,为双轮询器侧的数据写入的方法流程示意图,如图所示,可以包括以下步骤101 :获取当前时隙内有数据传输需求的输入端口发送的请求信息;102:在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配
第一中间缓存;示例性的,在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,可以包括在当前时隙内根据第一轮询规则选择所述第一输入端口,其中,所述第一轮询规则为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口;在当前时隙内根据第二轮循规则选择所述第一中间缓存,其中,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写;将所述第一中间缓存分配给所述第一输入端口。103 :将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的地址信息将数据写入所述第一中间缓存。本发明实施例提供一种数据写入的方法,根据输入端口发送的请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。参见图2,为输入端口侧的数据写入的方法流程示意图,如图所示,可以包括以下步骤201 :有数据传输需求的输入端口在当前时隙内向双轮询器发送请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存;示例性的,所述有数据传输需求的输入端口在当前时隙内向双轮询器发送请求信息,可以包括所述输入端口在当前时隙内检测到到达所述输入端口的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。202 :所述第一输入端口接收所述第一中间缓存的标识信息;203:所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。本实施例提供的数据写入 的方法,输入端口通过向双轮询器发送请求信息,使得双轮询器根据所述请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。下面通过具体实施例对上述方法实施例进行说明,参见图3,包括301 :当前时隙内所有有数据传输需求的输入端口分别向双轮询器发送请求信息;示例性的,每个输入端口都包括一个输入端口缓存,例如,该输入端口缓存可以为先进先出(First In First Out,简称FIFO,)缓存,数据帧进入输入端口后,首先存储在该输入端口对应的输入端口缓存中,当该输入端口缓存检测到数据帧的头部信息后,会立即向双轮询器发送数据传输的请求信息;。例如假设一共有N个输入端口,当前时隙内有η个输入端口缓存检测到对应的η个输入端口有数据需要传输,那么,当前时隙内,该η个输入端口缓存分别向双轮询器发送一个请求信息。302:双轮询器根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存;参见图4,为双轮询器根据请求信息和预设的双轮询规则为输入端口分配中间缓存的示意图,双轮询器可以包括第一轮询器A和第二轮询器B。示例性的,双轮询器为输入端口分配中间缓存的过程,可以包括以下步骤I、第一轮询器A在当前时隙内根据第一轮询规则选择第一输入端口 ;示例性的,第一轮询规则可以为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口 ;第一轮询器A根据第一轮询规则对有数据传输需求的输入端口进行轮询,使得在多次调度中对每个输入端口传输数据的机会是公平的,避免了随机选择输入端口时可能造成输入端口的数据等待时间过长而丢失或损坏。下面结合图4对该过程进行详细说明。例如假设一共有N个输入端口,所有输入端口预设的排序为从I到N,参见图4,第一轮询器A将所有输入端口预设的排序构成一个循环,其中,输入端口预设的排序可以由多种方式确定,在此不进行限定,例如可以随机进行排序,也可以根据输入端口的地址进行排序,不论选定哪种方式,确定后的排序方式在轮询过程中不变,例如,本实施例中N个输入端口的排序方式为1、2、3......N、l、2、3......N......,当然排序方式在根据实际需要发生变化后,第一轮询器A可以将排序方式进行更新后再根据新的排序方式进行轮询。第一轮询器A可以采用圆循环的方式或者其他形式的循环方式,循环方向可以是逆时针方向或者顺时针方向,本实施例以圆形逆时针方向循环方式为例进行说明。第一轮询器A可以选用指针或者其他形式来指示当前时隙被选中的输入端口,本实施例以指针为例进行说明。假设当前时隙的上一相邻时隙指针指向输入端口 1,在当前时隙内双轮询器接收到输入端口 3、5、7发送的请求信息,那么,双轮询器将以输入端I的下一个输入端口(即输入端口 2)作为起点,按照逆时针方向对该三个输入端口进行轮询,选择排序最靠前的发送请求信息的输入端口作为第一输入端口,即选择输入端口 3作为第一输入端口,并将指针指向输入端口 3。同理,进入下一个时隙后,第一轮询器A选择下一时隙内以输入端口 4起点,排序最靠前的发送请求信息的输入端口作为第一输入端口。优选的,若在当前时隙内没有输入端口发送请求信息,则在当前时隙内不进行中间缓存的分配,也即第一轮询器A的指针不发生改变。2、第二轮询器B在当前时隙内根据第二轮循规则选择所述第一中间缓存;示例性的,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写;第二轮询器B根据第二轮询规则对中间缓存进行轮询,使得在相邻时隙内到达的数据均匀分散在不同的中间缓存中,从而使得每个中间缓存的数据量是趋于均匀的,避免了随机选择中间缓存时可能造成每个中间缓存的数据不均匀而使数据丢失或发生读出冲突。下面结合图4对该过程进行详细说明。例如假设一共有M个中间缓存,所有预设的排序为从I到M,参见图4,第二轮询器B将所有中间缓存预设的排序构成一个循环,同理,中间缓存预设的排序可以由多种方式确定,在此不进行限定,例如可以随机进行排序,也可以根据中间缓存的地址进行排序,不论选定哪种方式,确定后的排序方式在轮询过程中不变,例如,本实施例中M个中间缓存
的排序方式为1、2、3......M、l、2、3......M......,当然排序方式在根据实际需要发生变
化后,第二轮询器B可以将排序方式进行更新后再根据新的排序方式进行轮询。第二轮询器B可以采用圆循环的方式或者其他形式的循环方式,循环方向可以是逆时针方向或者顺时针方向,本实施例以圆形逆时针方向循环方式为例进行说明。第二轮询器B也可以选用指针或者其他形式来指示当前时隙被选中的中间缓存,本实施例以指针为例进行说明。假设当前时隙的上一相邻时隙指针所指的方向是中间缓存1,当前时隙内共有三个中间缓存未满未写,分别为中间缓存4、5、7,那么,第二轮询器B将以中间缓存I的下一个中间缓存(即中间缓存2)作为起点,按照逆时针方向对该三个中间缓存进行轮询,选择排序最靠前的未满未写的中间缓存作为第一中间缓存,即选择4中间缓存作为第一中间缓存,并将指针指向中间缓存4。同理,进入下一个时隙后,第二轮询器B选择下一时隙内以中间缓存5为起点,排序最靠前的未满未写的中间缓存作为第一中间缓存。3、将所述第一中间缓存分配给所述第一输入端口。303、双轮询器将第一中间缓存的标识信息发送给第一输入端口 ;
例如,假设当前时隙内双轮询器选择的输入端口 3作为第一输入端口,选择的中间缓存4作为第一中间缓存,那么,双轮询器将第一中间缓存的标识信息发送给第一输入端口,例如,第一中间缓存的标识信息可以用4或者第一输入端口的其他可识别的信息表
/Jn ο优选的,中间缓存可以包含至少两个缓存区间,其中每个区间可存一个最大帧。由于在光纤通道交换机中,流控策略采用信用值和回复RDY的方式,不容许丢帧且能够交换变长帧,因此中间缓存所能存储最大帧总数要和对应的端口信用值总数相同,这样才能够保证不丢帧,所以,中间缓存和缓存区间设定的个数可以根据对应的端口信用值总数设定。例如,本实施例中设定有N输入端口,每个输入端口分配信用值为8(每个输入端口最多可同时占用其中的8个缓存区间,即缓存8个帧),设定每个中间缓存划分为四个缓存区间,每个缓存区间可存一个最大帧,则N个输入端口需要(NX 8)/4 = 2N个中间缓存,优选的,本实施例采用双端口中间缓存,可以实现在对中间缓存中的某个缓存区间进行写操作的同时
可以对该中间缓存中的另一个缓存区间进行读操作,从而提高了吞吐率。优选的,第二轮询器B根据第二轮循规则选择第一中间缓存时,可以同时选择第一中间缓存中的任意一个未满未写的缓存区间并分配给第一输入端口。例如,假设当前时隙内双轮询器选择的输入端口 3作为第一输入端口,选择的中间缓存4作为第一中间缓存,该中间缓存中可用的缓存区间分别为缓存区间2和缓存区间4,双轮询器可以任意选择第一中间缓存中的缓存区间2和缓存区间4分配给第一输入端口。优选的,第一中间缓存的标识信息可以包括第一中间缓存的标识以及为第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。例如,假设双轮询器选择第一中间缓存4中的缓存区间2分配给第一输入端口,那么,双轮询器将该中间缓存4和缓存区间2的标识信息发送给第一输入端口,例如,标识信息可以用“4(中间缓存号)+2(缓存区间号)”的形式或者该中间缓存4和缓存区间2的其他可识别信息表示。304:第一输入端口根据第一中间缓存发送的第一中间缓存的标识信息将数据写入所述第一中间缓存;优选的,第一输入端口还可以将第一中间缓存的标识信息写入第一中间缓存,第一中间缓存的标识信息可以包括第一中间缓存的标识以及为第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。优选的,第一输入端口可以将第一中间缓存的标识信息与待发送的数据同时写入
第一中间缓存。305 :第一中间缓存将第一中间缓存的标识信息发送给对应的输出端口,以使得所述输出端口根据所述第一中间缓存的标识信息读取所述第一输入端口写入所述第一中间缓存中的数据。示例性的,每个输入端口内都有帧信息,其中,该帧信息包括组播帧信息和单播帧信息,经解析后用于获得该输入端口的数据要发送的输出端口的端口号信息,每个输入端口的帧信息可以根据交换机内设置的路由表信息获取。示例性的,在接收到第一输入端口发送的第一中间缓存的标识信息后,第一中间缓存通过对该信息的解析获知第一输入端口数据存入的存储在所述第一中间缓存号以及存入的缓存区间号,再根据第一输入端口的帧信息解析出第一输入端口的数据要发送的输出端口号,并将第一中间缓存的标识信息发送给对应的输出端口,例如,可以将第一输入端口数据存入的中间缓存号以及存入的缓存区间号存入对应的输出端口的描述符队列中。例如,输入端口 I与中间缓存2匹配,并将数据存入中间缓存2的缓存区间3,且它的数据帧要去往输出端口 4。中间缓存2会将中间缓存2及其缓存区间3的数据发送给输出端口 4,例如,可以采用将数据“2 (表示中间缓存号)+3 (表示缓存区间号)”的形式存入到输出端口 4的描述符信息FIFO队列中,当然也可以采用其他数据形式表示。其中,每个输出端口有N个巾贞信息FIFO,可以表不为I号巾贞信息FIF0、2号巾贞信息
FIFO.....N号帧信息FIFO,它们分别对应N个输入端口,该N个FIFO中所存入的帧信息,
分别表明输入端口的数据将要去往该输出端口。例如输入端口 I来的数据,存入队列的I
号帧信息FIFO,表示输入端口 I提出请求有数据去往输出端口 4。示例性的,完成数据的写入后,各输出端口根据各自的描述符信息FIFO完成输出调度。其中,每个缓存在每个时隙内只能有一个数据帧被对应的输出端口读取,若同一个中间缓存中包含至少两个帧,且该至少两个帧来自不同的输入端口又去往不同的输出端口,那么输出端口调度时可能会出现读出冲突,此时需要对各输出端口进行读出冲突仲裁。可以采用随机、轮询或其他的方式进行读出冲突仲裁。例如,本实施例的每个中间缓存能够存4个最大帧,可能出现读出冲突,本实施例采用轮询的方式对输出调度进行仲裁,该方式可以保证在减小冲突的同时对交换架构的吞吐率影响较小。本实施例提供的数据写入的方法,输入端口通过向双轮询器发送请求信息,使得双轮询器根据所述请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。另一方面,本发明实施例提供了一种数据写入的装置50,该数据写入的装置50可以配置于基于SMS架构的交换机内,应用于基于SMS架构的交换机的数据写入,也可配置于基于SMS架构的路由器内,应用于基于SMS架构的路由器的数据写入。参见图5-图6,该装置50可以包括获取单元501,用于获取当前时隙内有数据传输需求的输入端口发送的请求信息,以及将所述请求信息发送给分配单元502 ;例如假设一共有N个输入端口,当前时隙内有有数据需要传输需求的输入端口的个数为η个,输入端口缓存检测到对应的η个输入端口有数据需要传输,那么,当前时隙内获取单元501获取该η个输入端口分别发送的请求信息。分配单元502,用于从所述获取单元501接收所述请求信息,以及在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,以及将分配结果传输给发送单兀503 ;进一步的,参见图6,分配单元502可以包括第一选择模块5021,用于在当前时隙内根据第一轮询规则选择所述第一输入端Π ;示例性的,所述第一轮询规则为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口 ;第一选择模块5021根据第一轮询规则对有数据传输需求的输入端口进行轮询,使得在多次调度中对每个输入端口传输数据的机会是公平的,避免了随机选择输入端口时可能造成输入端口的数据等待时间过长而丢失或损坏。下面结合图4对该过程进行详细说明。例如假设一共有N个输入端口,所有输入端口预设的排序为从I到N,参见图4,第一选择模块5021将所有输入端口预设的排序构成一个循环,其中,输入端口预设的排序可以由多种方式确定,在此不进行限定,例如可以随机进行排序,也可以根据输入端口的地址进行排序,不论选定哪种方式,确定 后的排序方式在轮询过程中不变,例如,本实施例中N
个输入端口的排序方式为1、2、3......N、l、2、3......N......,当然排序方式在根据实际
需要发生变化后,第一选择模块5021可以将排序方式进行更新后再根据新的排序方式进行轮询。第一选择模块5021可以采用圆循环的方式或者其他形式的循环方式,循环方向可以是逆时针方向或者顺时针方向,本实施例以圆形逆时针方向循环方式为例进行说明。第一选择模块5021可以选用指针或者其他形式来指示当前时隙被选中的输入端口,本实施例以指针为例进行说明。假设当前时隙的上一相邻时隙指针指向输入端口 1,在当前时隙内双轮询器接收到输入端口 3、5、7发送的请求信息,那么,双轮询器将以输入端I的下一个输入端口(即输入端口 2)作为起点,按照逆时针方向对该三个输入端口进行轮询,选择排序最靠前的发送请求信息的输入端口作为第一输入端口,即选择输入端口 3作为第一输入端口,并将指针指向输入端口 3。同理,进入下一个时隙后,第一选择模块5021选择下一时隙内以输入端口4为起点,排序最靠前的发送请求信息的输入端口作为第一输入端口。优选的,若在当前时隙内没有输入端口发送请求信息,则在当前时隙内不进行中间缓存的分配,也即第一选择模块5021的指针不发生改变。第二选择模块5022,用于在当前时隙内根据第二轮循规则选择所述第一中间缓存;示例性的,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写;第二选择模块5022根据第二轮询规则对中间缓存进行轮询,使得在相邻时隙内到达的数据均匀分散在不同的中间缓存中,从而使得每个中间缓存的数据量是趋于均匀的,避免了随机选择中间缓存时可能造成每个中间缓存的数据不均匀而使数据丢失或发生读出冲突。下面结合图4对该过程进行详细说明。例如假设一共有M个中间缓存,所有预设的排序为从I到M,参见图4,第二选择模块5022将所有中间缓存预设的排序构成一个循环,同理,中间缓存预设的排序可以由多种方式确定,在此不进行限定,例如可以随机进行排序,也可以根据中间缓存的地址进行排序,不论选定哪种方式,确定后的排序方式在轮询过程中不变,例如,本实施例中M个中间
缓存的排序方式为1、2、3......M、l、2、3......M......,当然排序方式在根据实际需要发
生变化后,第二选择模块5022可以将排序方式进行更新后再根据新的排序方式进行轮询。第二选择模块5022可以采用圆循环的方式或者其他形式的循环方式,循环方向可以是逆时针方向或者顺时针方向,本实施例以圆形逆时针方向循环方式为例进行说明。第二选择模块5022也可以选用指针或者其他形式来指示当前时隙被选中的中间缓存,本实施例以指针为例进行说明。假设当前时隙的上一相邻时隙指针所指的方向是中间缓存1,当前时隙内共有三个中间缓存未满未写,分别为中间缓存4、5、7,那么,第二选择模块5022将以中间缓存I的下一个中间缓存(即中间缓存2)作为起点,按照逆时针方向对该三个中间缓存进行轮询,选择排序最靠前的未满未写的中间缓存作为第一中间缓存,即选择中间缓存4作为第一中间缓存,并将指针指向中间缓存4。同理,进入下一个时隙后,第二选择模块5022选择下一时隙内以中间缓存5为起点,排序最靠前的未满未写的中间缓存作为第一中间缓存。分配模块5023,用于将所述第一中间缓存分配给所述第一输入端口。优选的,所述中间缓存包含至少两个缓存区间,其中每个区间可存一个最大帧。由于在光纤通道交换机中,流控策略采用信用值和回复RDY的方式,不容许丢帧且能够交换变长帧,因此中间缓存所能存储最大帧总数要和对应的端口信用值总数相同,这样才能够保证不丢帧,所以,中间缓存和缓存区间设定的个数可以根据对应的端口信用值总数设定。例如,本实施例中设定有N输入端口,每个输入端口分配信用值为8(每个输入端口最多可同时占用其中的8个缓存区间,即缓存8个帧),设定每个中间缓存划分为四个缓存区间,每个缓存区间可存一个最大帧,则N个输入端口需要(NX 8)/4 = 2N个中间缓存,优选的,本实施例采用双端口中间缓存,可以实现在对中间缓存中的某个缓存区间进行写操作的同时可以对该中间缓存中的另一个缓存区间进行读操作,从而提高了吞吐率。优选的,第二选择模块5022根据第二轮循规则选择第一中间缓存时,可以同时选择第一中间缓存中的任意一个未满未写的缓存区间并分配给第一输入端口。例如,假设当前时隙内装置40选择的输入端口 3作为第一输入端口,选择的中间缓存4作为第一中间缓存,该中间缓存中可用的缓存区间分别为缓存区间2和缓存区间4,该装置40可以任意选择第一中间缓存中的缓存区间2和缓存区间4分配给第一输入端口。发送单元503,用于从所述分配单元502接收所述分配结果,以及将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。示例性的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。例如,假设该装置50选择第一中间缓存4中的缓存区间2分配给第一输入端口,那么,该装置40将该中间缓存4的标识信息和缓存区间2的标识信息发送给第一输入端□。本发明实施例提供的一种数据写入的装置50,根据输入端口发送的请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。图7-图8描述了本发明实施例提供的一种双轮询器70,该双轮询器70对应于由上述实施例提供的数据写入的装置50,该双轮询器70可以配置于基于SMS架构的交换机内,应用于基于SMS架构的交换机的数据写入,也可配置于基于SMS架构的路由器内,应用于基于SMS架构的路由器的数据写入。具体的,该双轮询器70包括接收器701,用于获取当前时隙内有数据传输需求的输入端口发送的请求信息,以及将所述请求信息发送给轮询器;例如假设一共有N个输入端口,当前时隙内有有数据需要传输需求的输入端口的个数为η个,输入端口缓存检测到对应的η个输入端口有数据需要传输,那么,当前时隙内接收器501获取该η个输入端口分别发送的请求信息。轮询器702,用于从所述接收器接收所述请求信息,以及在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,以及将分配结果传输给发送器;进一步的,参见图8,轮询器702可以包括第一轮询器7021,用于在当前时隙内根据第一轮询规则选择所述第一输入端口 ;示例性的,所述第一轮询规则为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口 ;第一轮询器7021根据第一轮询规则对有数据传输需求的输入端口进行轮询,使得在多次调度中对每个输入端口传输数据的机会是公平的,避免了随机选择输入端口时可能造成输入端口的数据等待时间过长而丢失或损坏。下面结合图4对该过程进行详细说明。例如假设一共有N个输入端口,所有输入端口预设的排序为从I到N,参见图4,第一轮询器7021将所有输入端口预设的排序构成一个循环,其中,输入端口预设的排序可以由多种方式确定,在此不进行限定,例如可以随机进行排序,也可以根据输入端口的地址进行排序,不论选定哪种方式,确定后的排序方式在轮询过程中不变,例如,本实施例中N
个输入端口的排序方式为1、2、3......N、1、2、3......N......,当然排序方式在根据实际
需要发生变化后,第一轮询器7021可以将排序方式进行更新后再根据新的排序方式进行轮询。第一轮询器7021可以采用圆循环的方式或者其他形式的循环方式,循环方向可以是逆时针方向或者顺时针方向,本实施例以圆形逆时针方向循环方式为例进行说明。第一轮询器7021可以选用指针或者其他形式来指示当前时隙被选中的输入端口,本实施例以指针为例进行说明。假设当前时隙的上一相邻时隙指针指向输入端口 1,在当前时隙内双轮询器接收到输入端口 3、5、7发送的请求信息,那么,双轮询器将以输入端口 I的下一个输入端口(即I输入端口 2)作为起点,按照逆时针方向对该三个输入端口进行轮询,选择排序最靠前的发送请求信息的输入端口作为第一输入端口,即选择输入端口 3作为第一输入端口,并将指针指向输入端口 3。同理,进入下一个时隙后,第一轮询器7021选择下一时隙内以输入端口 4为起点,排序最靠前的发送请求信息的输入端口作为第一输入端口。优选的,若在当前时隙内没有输入端口发送请求信息,则在当前时隙内不进行中间缓存的分配,也即第一轮询器7021的指针不发生改变。第二轮询器7022,用于在当前时隙内根据第二轮循规则选择所述第一中间缓存;示例性的,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写;第二轮询器7022根据第二轮询规则对中间缓存进行轮询,使得在相邻时隙内到达的数据均匀分散在不同的中间缓存中,从而使得每个中间缓存的数据量是趋于均匀的,避免了随机选择中间缓存时可能造成每个中间缓存的数据不均匀而使数据丢失或发生读出冲突。下面结合图4对该过程进行详细说明。例如假设一共有M个中间缓存,所有预设的排序为从I到M,参见图5,第二轮询器7022将所有中间缓存预设的排序构成一个循环,同理,中间缓存预设的排序可以由多种方式确定,在此不进行限定,例如可以随机进行排序,也可以根据中间缓存的地址进行排
序,不论选定哪种方式,确定后的排序方式在轮询过程中不变,例如,本实施例中M个中间
缓存的排序方式为1、2、3......M、l、2、3......M......,当然排序方式在根据实际需要发
生变化后,第二轮询器7022可以将排序方式进行更新后再根据新的排序方式进行轮询。第二轮询器7022可以采用圆循环的方式或者其他形式的循环方式,循环方向可以是逆时针方向或者顺时针方向,本实施例以圆形逆时针方向循环方式为例进行说明。第二轮询器7022也可以选用指针或者其他形式来指示当前时隙被选中的中间缓存,本实施例以指针为例进行说明。假设当前时隙的上一相邻时隙指针所指的方向是中间缓存1,当前时隙内共有三个中间缓存未满未写,分别为中间缓存4、中间缓存5、中间缓存7,那么,第二轮询器7022将以中间缓存I的下一个中间缓存(即中间缓存2)作为起点,按照逆时针方向对该三个中间缓存进行轮询,选择排序最靠前的未满未写的中间缓存作为第一中间缓存,即选择中间缓存4作为第一中间缓存,并将指针指向中间缓存4。同理,进入下一个时隙后,第二轮询器7022选择下一时隙内以中间缓存5为起点,排序最靠前的未满未写的中间缓存作为第一中间缓存。处理器7023,用于将所述第一中间缓存分配给所述第一输入端口。优选的,所述中间缓存包含至少两个缓存区间,其中每个区间可存一个最大帧。由于在光纤通道交换机中,流控策略采用信用值和回复RDY(Ready)的方式,不容许丢帧且能够交换变长帧,因此中间缓存所能存储最大帧总数要和对应的端口信用值总数相同,这样才能够保证不丢帧,所以,中间缓存和缓存区间设定的个数可以根据对应的端口信用值总数设定。例如,本实施例中设定有N输入端口,每个输入端口分配信用值为8 (每个输入端口最多可同时占用其中的8个缓存区间,即缓存8个帧),设定每个中间缓存划分为四个缓存区间,每个缓存区间可存一个最大帧,则N个输入端口需要(NX8)/4 = 2N个中间缓存,优选的,本实施例采用双端口中间缓存,可以实现在对中间缓存中的某个缓存区间进行写操作的同时可以对该中间缓存中的另一个缓存区间进行读操作,从而提高了吞吐率。优选的,第二轮询器7022根据第二轮循规则选择第一中间缓存时,可以同时选择第一中间缓存中的任意一个未满未写的缓存区间并分配给第一输入端口。例如,假设当前时隙内轮询器70选择输入端口 3作为第一输入端口,选择中间缓存4作为第一中间缓存,该中间缓存中可用的缓存区间分别为缓存区间2和缓存区间4,该轮询器70可以任意选择第一中间缓存中的缓存区间2或缓存区间4分配给输入端口 3。发送器703,用于从所述轮询器702接收所述分配结果,以及将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。示例性的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。例如,假设该双轮询器70选择第一中间缓存4中的缓存区间2分配给第一输入端口,那么,该双轮询器70将该第一中间缓存的标号4和缓存区间的标号2发送给第一输入端口。本发明实施例提供的双轮询器70,,根据输 入端口发送的请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。本发明实施例提供了一种输入端口 90,该输入端口 90可以配置于基于SMS架构的交换机内,应用于基于SMS架构的交换机的数据写入,也可配置于基于SMS架构的路由器内,应用于基于SMS架构的路由器的数据写入。参见图9,该输入端口 90可以包括发送单元901,用于在当前时隙内向双轮询器发送数据传输的请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为所述输入端口分配第一中间缓存;示例性的,第一发送单元901在当前时隙内检测到到达所述输入端口的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。接收单元902,用于接收所述第一中间缓存的标识信息;优选的,中间缓存可以包含至少两个缓存区间,其中每个区间可存一个最大帧。则第一中间缓存的标识信息可以包括第一中间缓存的标识以及为第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。写入单元903,用于根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。本实施例提供的一种输入端口 90,通过向双轮询器发送请求信息,使得双轮询器根据所述请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。本发明实施例提供了另一种输入端口 100,该输入端口 100对应于由上述实施例提供的输入端口 90,该输入端口 100可以配置于基于SMS架构的交换机内,应用于基于SMS架构的交换机的数据写入,也可配置于基于SMS架构的路由器内,应用于基于SMS架构的路由器的数据写入。参见图10,该输入端口包括输入端口缓存1001,用于在当前时隙内向双轮询器发送数据传输的请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为所述输入端口分配第一中间缓存,接收所述第一中间缓存的标识信息,根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。示例性的,每个输入端口都包括一个输入端口缓存,例如,该输入端口缓存可以为FIFO。示例性的,数据帧进入输入端口后,首先存储在该输入端口对应的输入端口缓存中,输入端口缓存701在当前时隙内检测到到达输入端口缓存的数据帧的帧头部信息后,向双轮询器发送请求信息。优选的,所述中间缓存包含至少两个缓存区间,其中每个区间可存一个最大帧,第一中间缓存的标识信息可以包括第一中间缓存的标识以及为第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。本实施例提供的一种输入端口 100,通过向双轮询器发送请求信息,使得双轮询器根据所述请求信息和预设的双轮询规则,为输入端口 分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。再一方面,本实施例提供了一种数据写入系统,该数据写入系统可以为基于SMS架构的交换机,也可以为基于SMS架构的路由器。参见图11,该系统包括上述实施例所述的任何一种数据写入装置或双轮询器,以及上述实施例所述的至少一个输入端口。本发明实施例提供的一种数据写入的系统,根据输入端口发送的请求信息和预设的双轮询规则,为输入端口分配中间缓存,提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧均匀程度,从而减少数据帧丢失和读出冲突的概率,解决了现有技术中相邻时隙内到达各中间缓存的数据帧不均匀,从而造成数据帧丢失和读出冲突概率高的问题。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种数据写入的方法,其特征在于,包括 获取当前时隙内有数据传输需求的输入端ロ发送的请求信息; 在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端ロ分配第一中间缓存; 将所述第一中间缓存的标识信息发送给所述第一输入端ロ,以使得所述第一输入端ロ根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。
2.根据权利要求I所述的数据写入的方法,其特征在于,所述双轮询规则包括第一轮询规则和第二轮询规则,所述在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端ロ分配第一中间缓存包括 在当前时隙内根据第一轮询规则选择所述第一输入端ロ,其中,所述第一轮询规则为在所有输入端ロ预设的排序的循环方向上,在姆个时隙内以上一相邻时隙选定的输入端ロ的下一个输入端ロ作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端ロ作为第一输入端ロ; 在当前时隙内根据第二轮循规则选择所述第一中间缓存,其中,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下ー个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写; 将所述第一中间缓存分配给所述第一输入端ロ。
3.根据权利要求2所述的数据写入的方法,其特征在于所述中间缓存包含至少两个缓存区间,相应的, 在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端ロ分配第一中间缓存,包括在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端ロ分配第一中间缓存中任意一个未满未写的缓存区间; 所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端ロ分配的第一中间缓存中任意一个未满未写的缓存区间的标识。
4.根据权利要求1-3任一项所述的数据写入的方法,其特征在于还包括 若在当前时隙内未获取到所述输入端ロ发送的请求信息,则在当前时隙内不进行所述中间缓存的分配。
5.一种数据写入的方法,其特征在于,包括 有数据传输需求的输入端ロ在当前时隙内向双轮询器发送请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端ロ分配第一中间缓存; 所述第一输入端ロ接收所述第一中间缓存的标识信息; 所述第一输入端ロ根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。
6.根据权利要求5所述的数据写入的方法,其特征在于,所述有数据传输需求的输入端ロ在当前时隙内向双轮询器发送请求信息,包括 所述输入端ロ在当前时隙内检测到到达所述输入端ロ的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。
7.根据权利要求5或6所述的数据写入的方法,其特征在于,所述中间缓存包含至少两个缓存区间,相应的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。
8.一种数据写入的装置,其特征在于,包括 获取单元,用于获取当前时隙内有数据传输需求的输入端口发送的请求信息,以及将所述请求信息发送给分配单元; 分配单元,用于从所述获取单元接收所述请求信息,以及在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存,以及将分配结果传输给发送单元; 发送单元,用于从所述分配单元接收所述分配结果,以及将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。
9.根据权利要求8所述的数据写入的装置,其特征在于,所述分配单元,包括 第一选择模块,用于在当前时隙内根据第一轮询规则选择所述第一输入端口,其中,所述第一轮询规则为在所有输入端口预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的输入端口的下一个输入端口作为起点,选择当前时隙内排序最靠前的发送请求信息的输入端口作为第一输入端口; 第二选择模块,用于在当前时隙内根据第二轮循规则选择所述第一中间缓存,其中,所述第二轮询规则为在所有中间缓存预设的排序的循环方向上,在每个时隙内以上一相邻时隙选定的中间缓存的下一个中间缓存作为起点,选择当前时隙内排序最靠前的可用的中间缓存作为第一中间缓存,所述可用的中间缓存指所述中间缓存未满未写; 分配模块,用于将所述第一中间缓存分配给所述第一输入端口。
10.根据权利要求9所述的数据写入的装置,其特征在于,所述中间缓存包含至少两个缓存区间,相应的, 所述分配单元还用于在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存中任意一个未满未写的缓存区间; 所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述第一输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。
11.根据权利要求8-10任一项所述的数据写入的装置,其特征在于, 所述分配单元还用于若在当前时隙内未接收到所述获取单元获取的所述输入端口发送的请求信息,则在当前时隙内不进行所述中间缓存的分配。
12.—种输入端口,其特征在于,包括 第一发送单元,用于在当前时隙内向双轮询器发送数据传输的请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为所述输入端口分配第一中间缓存; 接收单元,用于接收所述第一中间缓存的标识信息; 写入单元,用于根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。
13.根据权利要求12所述的输入端口,其特征在于,所述第一发送单元还用于在当前时隙内检测到到达所述输入端口的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。
14.根据权利要求12或13所述的输入端口,其特征在于,所述中间缓存包含至少两个缓存区间,相应的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。
15.—种输入端口,其特征在于,包括 输入端口缓存,用于在当前时隙内向双轮询器发送数据传输的请求信息,以使得双轮询器在当前时隙内根据所述请求信息和预设的双轮询规则为所述输入端口分配第一中间缓存,接收所述第一中间缓存的标识信息,根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。
16.根据权利要求15所述的输入端口,其特征在于,所述输入端口缓存还用于在当前时隙内检测到到达所述输入端口缓存的数据帧的帧头部信息后,向所述双轮询器发送所述请求信息。
17.根据权利要求15或16所述的输入端口,其特征在于,所述中间缓存包含至少两个缓存区间,相应的,所述第一中间缓存的标识信息包括所述第一中间缓存的标识以及为所述输入端口分配的第一中间缓存中任意一个未满未写的缓存区间的标识。
18.一种数据写入系统,其特征在于,包括如权利要求8-11任一项所述的数据写入的装置,和如权利要求12-14任一项所述的输入端口。
全文摘要
本发明实施例公开了一种数据写入的方法、装置及系统。本发明涉及通信领域,根据输入端口发送的请求信息和预设的双轮询规则,为输入端口分配中间缓存,进而提高了每个输入端口传输数据的公平程度和相邻时隙内到达各中间缓存的数据帧的均匀程度,从而减少数据帧丢失和读出冲突的概率。本发明实施例提供的方法包括获取当前时隙内有数据传输需求的输入端口发送的请求信息;在当前时隙内根据所述请求信息和预设的双轮询规则为第一输入端口分配第一中间缓存;将所述第一中间缓存的标识信息发送给所述第一输入端口,以使得所述第一输入端口根据所述第一中间缓存的标识信息将数据写入所述第一中间缓存。
文档编号H04L12/861GK102857443SQ20121029347
公开日2013年1月2日 申请日期2012年8月17日 优先权日2012年8月17日
发明者涂晓东, 刘林俊, 张青伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1