System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及交换机数据存储,具体而言,涉及一种均衡随机挑选指针的方法、装置和电子设备。
技术介绍
1、随着对核心交换机的带宽需求越来越大,一般会利用多个数据通路堆叠来达到更大的整体芯片带宽容量。大带宽容量交换机内部需要很大的报文缓存空间,这些缓存空间由多块存储器组合而成。多个数据通路在数据存储时需要先申请存储器的空闲地址(由地址指针指向),然后根据地址指针完成数据的存储。在设计上利用指针池子来维护每块存储器的可用空闲地址,当数据通道需要空闲地址时,将从指针池子中提取指针,数据通道按照指针指向将数据写入存储器中。当数据从存储器中被读取之后,对应的指针需重新释放进指针池子中。为了保证多个数据通道的数据均能正常存储,需要维持各个指针池子中的指针被均匀利用,避免出现某些指针池子的指针被耗尽的现象。
2、现有技术中,针对上述问题,采用对所有的指针池子的剩余指针数量进行排序的方式,每次选择剩余指针较多的多个指针池子以进行数据存储。但是,随着数据通道数量的持续增多,每个周期需要的指针相应增加,为了均匀性的考虑,所需的存储器的数量也增加。现有技术中采用的这种方式,每次均需对多个指针池子的剩余指针数量进行排序,在存储器数量较多、指针池子数据较多的场景下,该种方式存在排序算法复杂度增高,资源消耗增多等缺陷。
技术实现思路
1、本申请的目的包括,例如,提供了一种均衡随机挑选指针的方法、装置和电子设备,其能够在保障指针池子的均匀性的基础上,简化挑选复杂度。
2、本申请的实施例可以这样
3、第一方面,本申请提供一种均衡随机挑选指针的方法,应用于交换设备,所述交换设备包括由多块依次排列的存储器构成的存储空间,各所述存储器具有对应的指针池子,所述指针池子中维护的指针指向所述存储器的可用空闲地址,所述方法包括:
4、获取当前时钟周期所需的指针数量;
5、通过伪随机数发生器产生一在随机范围内的随机数,所述随机范围的宽度与所述指针池子的数量一致;
6、基于所述随机数在依次排列的多个指针池子中确定初始指针池子;
7、从所述初始指针池子开始,按照排列顺序向所述初始指针池子的两个相反的方向执行指针池子的挑选,直至从挑选出的指针池子中提取出所述所需的指针数量的指针为止。
8、在可选的实施方式中,所述基于所述随机数在依次排列的多个指针池子中确定初始指针池子的步骤之前,所述方法还包括:
9、确定多个指针池子中剩余指针最多的指针池子和剩余指针最少的指针池子;
10、检测剩余指针最多的指针池子中的指针数量与剩余指针最少的指针池子中的指针数量之间的差值是否大于预设阈值;
11、在所述差值大于所述预设阈值的情况下,确定剩余指针最少的第一预设个数的指针池子,并对该第一预设个数的指针池子进行屏蔽标记,其中,屏蔽标记后的指针池子不参与指针池子的挑选。
12、在可选的实施方式中,所述从所述初始指针池子开始,按照排列顺序向所述初始指针池子的两个相反的方向执行指针池子的挑选的步骤,包括:
13、从所述初始指针池子开始,在每一轮挑选中,按照排列顺序向所述初始指针池子的两个相反的方向分别挑选一个与所述初始指针池子相邻的且未进行屏蔽标记的指针池子,将挑选出的指针池子进行屏蔽标记,并分别从挑选出的指针池子中提取一个指针,直至从挑选出的指针池子中提取出所述所需的指针数量的指针为止。
14、在可选的实施方式中,所述方法还包括:
15、在所述剩余指针最多的指针池子和剩余指针最少的指针池子的指针数量之间的差值满足预设要求的情况下,确定剩余指针最多的第二预设个数的指针池子;
16、利用所述第二预设个数的指针池子替换掉挑选出的指针池子中的对应个数的指针池子,并从该第二预设个数的指针池子中提取出指针。
17、在可选的实施方式中,所述方法还包括:
18、将被替换掉的指针池子中提取出的指针释放至所述被替换掉的指针池子中。
19、在可选的实施方式中,判断所述剩余指针最多的指针池子和剩余指针最少的指针池子的指针数量之间的差值是否满足预设要求的步骤,包括:
20、在所述剩余指针最多的指针池子和剩余指针最少的指针池子的指针数量之间的差值小于第一阈值时,判定所述差值不满足预设要求;
21、在所述剩余指针最多的指针池子和剩余指针最少的指针池子的指针数量之间的差值大于或等于第一阈值且小于第二阈值时,基于产生的随机概率判断所述差值是否满足预设要求,其中,所述第一阈值小于第二阈值;
22、在所述剩余指针最多的指针池子和剩余指针最少的指针池子的指针数量之间的差值大于或等于第二阈值时,判定所述差值满足预设要求。
23、在可选的实施方式中,所述基于产生的随机概率判断所述差值是否满足预设要求的步骤,包括:
24、基于伪随机数发生器产生一随机概率;
25、检测所述随机概率是否小于设置的概率阈值;
26、在所述随机概率小于所述概率阈值的情况下,判定所述差值满足预设要求。
27、在可选的实施方式中,所述方法还包括:
28、根据提取的指针确定对应的存储器;
29、基于提取的指针在对应的存储器中指向的可用空闲地址执行数据存储操作。
30、第二方面,本申请提供一种均衡随机挑选指针的装置,应用于交换设备,所述交换设备包括由多块依次排列的存储器构成的存储空间,各所述存储器具有对应的指针池子,所述指针池子中维护的指针指向所述存储器的可用空闲地址,所述装置包括:
31、获取模块,用于获取当前时钟周期所需的指针数量;
32、处理模块,用于通过伪随机数发生器产生一在随机范围内的随机数,所述随机范围的宽度与所述指针池子的数量一致;
33、所述处理模块,还用于基于所述随机数在依次排列的多个指针池子中确定初始指针池子;
34、所述处理模块,还用于从所述初始指针池子开始,按照排列顺序向所述初始指针池子的两个相反的方向执行指针池子的挑选,直至从挑选出的指针池子中提取出所述所需的指针数量的指针为止。
35、第三方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法。
36、本申请实施例的有益效果包括,例如:
37、本申请提供一种均衡随机挑选指针的方法、装置和电子设备,在交换设备中,获取当前时钟周期所需的指针数量,通过伪随机数发生器产生一在随机范围内的随机数,该随机范围的宽度与交换设备中存储器的指针池子的数量一致。基于随机数在依次排列的多个指针池子中确定初始指针池子,从初始指针池子开始,按照排列顺序向初始指针池子的两个相反的方向执行指针池子的挑选,直至从本文档来自技高网...
【技术保护点】
1.一种均衡随机挑选指针的方法,其特征在于,应用于交换设备,所述交换设备包括由多块依次排列的存储器构成的存储空间,各所述存储器具有对应的指针池子,所述指针池子中维护的指针指向所述存储器的可用空闲地址,所述方法包括:
2.根据权利要求1所述的均衡随机挑选指针的方法,其特征在于,所述基于所述随机数在依次排列的多个指针池子中确定初始指针池子的步骤之前,所述方法还包括:
3.根据权利要求2所述的均衡随机挑选指针的方法,其特征在于,所述从所述初始指针池子开始,按照排列顺序向所述初始指针池子的两个相反的方向执行指针池子的挑选的步骤,包括:
4.根据权利要求2所述的均衡随机挑选指针的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的均衡随机挑选指针的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的均衡随机挑选指针的方法,其特征在于,判断所述剩余指针最多的指针池子和剩余指针最少的指针池子的指针数量之间的差值是否满足预设要求的步骤,包括:
7.根据权利要求6所述的均衡随机挑选指针的方法,其特征在于,所述基
8.根据权利要求1-7任意一项所述的均衡随机挑选指针的方法,其特征在于,所述方法还包括:
9.一种均衡随机挑选指针的装置,其特征在于,应用于交换设备,所述交换设备包括由多块依次排列的存储器构成的存储空间,各所述存储器具有对应的指针池子,所述指针池子中维护的指针指向所述存储器的可用空闲地址,所述装置包括:
10.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-8中任意一项所述的方法。
...【技术特征摘要】
1.一种均衡随机挑选指针的方法,其特征在于,应用于交换设备,所述交换设备包括由多块依次排列的存储器构成的存储空间,各所述存储器具有对应的指针池子,所述指针池子中维护的指针指向所述存储器的可用空闲地址,所述方法包括:
2.根据权利要求1所述的均衡随机挑选指针的方法,其特征在于,所述基于所述随机数在依次排列的多个指针池子中确定初始指针池子的步骤之前,所述方法还包括:
3.根据权利要求2所述的均衡随机挑选指针的方法,其特征在于,所述从所述初始指针池子开始,按照排列顺序向所述初始指针池子的两个相反的方向执行指针池子的挑选的步骤,包括:
4.根据权利要求2所述的均衡随机挑选指针的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的均衡随机挑选指针的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的均衡随机挑选指针的方法,其特征在于,判断所...
【专利技术属性】
技术研发人员:滕国兵,徐子轩,夏杰,
申请(专利权)人:苏州盛科通信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。