The invention discloses an index allocation method and device based on the list, the preservation of all available through the creation of index in the Ethernet list in the list in each consecutive index save a node between the index segment connected by pointers together; distribution index, from the beginning of the first list, if the length of the first node index is greater than 1, the length of the index node minus 1, plus 1 starting index, and to return the original starting index; if the index is equal to 1 of the length of the first node, the node becomes empty, and release it. When the index is recovered, it goes through the linked list to search, and finds the first index that is larger than the index of the recovery target, and then returns the target index, between the node and its previous node. The index allocation method of the invention can not only ensure the correctness of index allocation, effectively save memory, but also greatly improve the efficiency of index distribution.
【技术实现步骤摘要】
基于链表的索引分配方法和装置
本专利技术涉及网络通信领域,尤其是涉及在以太网中通过创建链表进行表项索引分配的方法及装置。
技术介绍
在以太网交换机中需要保存各种各样的表,比如FDB(Forwarding Database,转发数据)表,路由表等等。这些表中保存了数目不等的表项,比如FDB表中的表项可以达到几千条,几万条甚至更多,而这些表项都有一个唯一索引,用户在配置一条FDB表项时,要从这成千上万条的表项中分配一个索引给它。而分配索引的快慢直接影响到交换机的性能,所以索引分配是一项很重要的技术。在分配索引时,传统的做法是使用位图(BITMAP),即将每个BIT位表示一个索引,如O表示这个索引还未被占,I表示已经被占。分配索引时,传统的做法是遍历这个位图,找到第一个为O的BIT,它的下标就是分配到的索引,然后将该BIT改成I。在回收索引时,直接根据索引找到对应的BIT,将该BIT改为0,下次又可以分配给其他的表项使用。用BITMAP分配索引的做法实现简单,而且由于是用BIT来表示索引,其能保证索引分配的正确性,且不会占用太多内存。但是,这种方案的不足之处在于 ...
【技术保护点】
一种基于链表的索引分配方法,其特征在于:在以太网中创建保存所有可用索引的链表;链表中包括至少一段索引连续的索引段,每一索引段形成一个结点,分配索引时,从链表的头开始,如果第一个结点的索引长度大于1,则把所述结点的索引长度减1,起始索引加1,并把原来的起始索引返回;如果第一个结点的索引长度等于1,则这个结点变为空,并将其释放。
【技术特征摘要】
1.一种基于链表的索引分配方法,其特征在于:在以太网中创建保存所有可用索引的链表;链表中包括至少一段索引连续的索引段,每一索引段形成一个结点,分配索引时,从链表的头开始,如果第一个结点的索引长度大于1,则把所述结点的索引长度减1,起始索引加1,并把原来的起始索引返回;如果第一个结点的索引长度等于1,则这个结点变为空,并将其释放。2.根据权利要求1所述的基于链表的索引分配方法,其特征在于:所述可用索引的结点通过所述双向链表相串联。3.根据权利要求1所述的基于链表的索引分配方法,其特征在于:所述索引连续的索引段包括索引长度为I的索引段。4.一种基于链表管理的索引分配方法,其特征在于:在以太网中建立一张保存所有可用索引的链表;链表中包括至少一段索引连续的索引段,每一段索引段形成一个结点;在回收目标索引时,遍历链表,找到第一个起始索引大于回收目标索引的结点,回收目标索引即在所述结点及其前一个结点间。5.根据权利要求4所述的基于链表管理的索引分配方法,其特征在于:在回收索引时, a)如目标索引只与前结点相连,则将前结点的索引长度加I; b)如目标索引只与后结点相连,则将后结点起始索引减I; c)如目标索引与前后结点都不相连,则创建一个新的...
【专利技术属性】
技术研发人员:陶秋平,周志洪,何志川,赵茂聪,
申请(专利权)人:盛科网络苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。