数据缓存方法和装置的制作方法

文档序号:7683707阅读:190来源:国知局
专利名称:数据缓存方法和装置的制作方法
技术领域
本发明涉及信息存储领域,特别涉及一种数据緩存方法和装置。
技术背景为了使IP报文能够在不同的网络中正常传输,数据源端口 (SourcePort, 简称SP)在发送IP报文之前,经常需要对该IP报文进行分片;网络的出端 口接收所述1P报文时,将来自相同SP的IP报文片重组成一个完整的IP报文。网络的出端口对IP报文片重组之前,需要对该IP报文片进行缓存。具体緩 存步骤包括网络的出端口接收IP报文片,获得该IP报文片的SP信息;在重 组信息表中查找是否为所述SP信息分配了数据緩存通道,所述重组信息表为每 个SP信息记录其緩存到的数据緩存通道地址和状态信息;将接收到的IP报文 片存储到查找到的数据緩存通道中。如图l所示,现有技术提供的动态资源共享装置包括接收模块,用于接收 来自N个不同的SP发送的IP报文片;共享数据緩存模块,用于对所接收到的IP报 文片进行緩存;所述共享数据缓存模块划分成m个数据緩存通道,每个数据緩存 通道对应一个地址;所述动态资源共享装置还包括重组信息表,用于为每个SP信息记录其緩存到的数据緩存通道地址和状态信息;所述动态资源共享装置还包括地址分配回收才莫块,为所述SP信息分配空 闲的数据緩存通道地址。在实施本发明的过程中,发明人发现,现有技术存在如下技术问题由于 所述重组信息表为每个SP信息记录其緩存到的数据緩存通道地址和状态信息, 当网络的出端口能够接收到的SP数量增多时,所述重组信息表记录的信息也会随之增多。但是,数据緩存通道的数量是固定不变的,当没有空闲的数据緩存 通道时,网络的出端口会将没有分配数据緩存通道的IP报文片丢弃。即使没有 为SP分配数据緩存通道,所述重组信息表也会为该SP信息记录其緩存到的数据缓存通道地址和状态信息(例如记录缓存通道地址为空,状态信息为异常), 造成了存储资源的浪费。发明内容本发明的实施例提供一种数据緩存方法和装置,以在数据緩存过程中,节 省存储緩存资源使用情况的信息占用的存储空间。本发明解决上述技术问题的一个实施例是数据緩存方法,包括接收数 据,获得该数据的来源信息;在緩存地址索引表中查找是否为所述来源信息分 配了数据緩存通道,其中,所述緩存地址索引表记录每个数据緩存通道緩存的 数据的来源信息;若为所述来源信息分配了数据緩存通道,则将所述接收到的 数据緩存到查找到的数据緩存通道冲。本发明解决上述技术问题的另一个实施例是数据缓存装置,包括数据缓存单元,用于缓存数据,所述数据緩存单元划分成至少一条数据緩 存通道;緩存地址索引表,用于记录每个数据緩存通道緩存的数据的来源信息;数据接收单元,用于接收数据,获得该数据的来源信息;第一查找单元,用于在緩存地址索引表中查找是否为数据接收单元获得的 来源信息分配了数据緩存通道;第一数据存储单元,用于在所述第一查找单元查的查找结果为为所述来源信息分配了数据緩存通道时,将所述接收到的数据緩存到查找单元查找到的数 据緩存通道中。本发明实施例提供的数据緩存方法和装置,通过获取接收到的数据的来源 信息,并将所述数据存储到从緩存地址索引表中查找到的为该数据来源分配的 数据缓存通道中,实现了对接收到的数据进行緩存的目的。由于所述緩存地址 索引表记录每个数据緩存通道緩存的数据的来源信息,其占用的存储空间与数 据緩存通道的数量有关,对于网络出端口而言,数据緩存通道的数量是固定不 变的,所以緩存地址索引表占用的存储空间也是固定不变的,解决了现有技术 在数据来源数量增多时,保存的緩存资源使用情况的信息也会随之增多,从而 造成存储资源浪费的问题,减少了用于存储緩存资源使用情况的信息所使用的 存储空间,节约了緩存成本。


图l为现有技术提供的动态资源共享装置结构示意图; 图2为本发明实施例提供的数据缓存方法流程图; 图3为本发明实施例提供的数据緩存装置结构示意图。
具体实施方式
为了解决数据缓存过程中,用于存储緩存资源使用情况的信息占用过多存储空间的问题,本发明的实施例提供一种数据緩存方法。下面结合附图和实施例对本发明作详细说明本实施例以网络出端口对IP报文片进行緩存为例,对本发明实施例提供的 数据緩存方法进行说明在本实施例中,所述网络出端口包含512个数据緩存通道,用于为来自不 同SP的IP报文片提供缓存空间,每个数据緩存通道保存来自相同SP的IP报文片,所述网络的出端口能够接收到来自512K个不同SP的IP报文信息。如图2所示,本发明实施例提供的数据緩存方法,包括如下步骤步骤201,接收IP报文片,获得该IP报文片的SP信息。步骤202,在緩存地址索引表中查找是否为所述SP信息分配了数据缓存通 道,所述緩存地址索引表记录每个数据緩存通道缓存的IP报文片的SP信息。所述查找的步骤具体为根据IP报文片的SP信息,查找緩存地址索引表 中是否记录了与接收到的IP报文片的SP信息相同的SP信息,如果有,则表明 已经为该SP信息分配了数据缓存通道;如果没有,则表明没有为该SP信息分配数据缓存通道。步骤203,若为所述来源信息分配了数据緩存通道,将所接收的IP报文片 緩存到步骤202查找到的数据緩存通道中。为了能够判断出数据緩存通道中緩存的IP报文片是否可以输出重组,所述 緩存地址索引表还记录每个数据緩存通道缓存IP报文片的当前状态信息;如图l所示,本发明实施例提供的数据緩存方法还包括步骤204,将所述IP报文片缓存到数据緩存通道以后,修改该数据通道在 緩存地址索引表中记录的当前状态信息。步骤105,所述緩存地址索引表中记录的当前状态信息指示满足报文重组的 要求时,输出该当前状态信息所对应的数据緩存通道中的全部IP报文片,并将 緩存地址索引表中该数据緩存通道对应的SP信息和当前状态信息设置为空,即 表明该数据緩存通道为空闲状态。在步骤202中,当述緩存地址索引表中没有为接收到的IP报文片的SP信 息分配数据緩存通道(即緩存地址索引表.中没有记录与接收到的IP报文片的 SP信息相同的SP信息)时,本发明实施例提供的数据緩存方法还包括在緩存地址索引表中查找是否有空闲的数据緩存通道,若有空闲的数据緩存通道,则为所述接收到的IP报文片的SP信息分配数据緩存通道;将所述接收到的IP 报文片緩存到分配的数据緩存通道地址中,并将緩存地址索引表中该数据緩存 通道的SP信息更改为接收到的IP报文片的SP信息。当所述緩存地址索引表中 没有空闲的数据緩存通道时,将所接收到的数据丢弃。本实施例提供的数据緩存方法,所述緩存地址索引表需要为512个数据緩 存通道保存SP信息和当前状态信息,由于所述网络出端口能够接收512K个不 同SP发送的IP报文,所以緩存地址索引表用19Byte保存SP信息,1Byte保存 当前状态信息,缓存地址索引表所占用的存储空间大小为512* (19+1) Byte=10Kbyte;而使用现有技术保存信息时,重组信息表为每个SP信息记录其 緩存到的数据緩存通道地址和状态信息,由于网络的出端口包含512个数据缓 存通道,所以重组信息表用9Byte保存数据缓存通道地址,用lByte保存状态信 息,重组信息表占用的存储空间为512K* (9+1 ) Byte=5Mbyte,通过比较不 难看出,本发明实施例提供的数据緩存方法在緩存数据时,用于保存緩存信息 所占用的存储空间减少,由于本发明实施例提供的数据缓存方法保存的緩存信 息个数与数据緩存通道个数有关,而与SP个数无关,所以在SP数量增加时, 所保存的緩存信息数量不会随之增加,从而节约了存储资源。为了解决数据缓存过程中,用于存储緩存资源使用情况的信息占用过多存 储空间的问题,本发明的实施例提供一种数据緩存装置。下面结合附图和实施 例对本发明作详细说明本实施例以网络出端口对IP报文片进行緩存为例,对本发明实施例提供的 数据緩存装置进行说明在本实施例中,所述网络出端口能够接收来自521K个不同SP的IP才艮文, 如图3所示,本发明实施例提供的数据緩存装置包括数据缓存单元,用于緩存IP"t艮文片,所述数据緩存单元划分成至少一条数据緩存通道,在本实施例中,所述数据缓存单元划分成512个数据緩存通道;緩存地址索引表,用于记录每个数据緩存通道緩存的IP报文片的SP信息;数据接收单元,用于接收IP报文片,获得该IP报文片的SP信息;第 一查找单元,用于在緩存地址索引表中查找是否为数据接收单元获得的 SP信息分配了数据緩存通道,其具体的查找步骤可以参见如图l所示的步骤 102,此处不再赘述;第 一数据存储单元,用于在所述第 一查找单元查的查找结果为为所述SP信 息分配了数据緩存通道时,将所述接收到的IP报文片緩存到查找单元查找到的 数据緩存通道中。进一步地,所述装置还可以包括第二查找单元,用于在所述第一查找单元的查找结果为没有为所述数据接 收单元获得的SP信息分配数据缓存通道时,在所述緩存地址索引表中查找所述 数据緩存单元是否有空闲的数据緩存通道;数据緩存通道分配单元,用于在所述第二查找单元的查找结果为所述数据 緩存单元有空闲的数据緩存通道时,为所述数据接收单元获得的SP信息分配数 据緩存通道;第二数据存储单元,用于将所述接收到的数据緩存到数据緩存通道分配单 元分配的数据緩存通道中,并修改该数据緩存通道在緩存地址索引表中记录的 SP信息。进一步地,所述装置还可以包括丟弃单元,用于当所述第二查找单元的 查找结果为没有空闲的数据緩存通道时,将所述接收到的数据丟弃。为了能够判断出数据緩存通道中緩存的IP报文片是否可以输出重组,所述 緩存地址索引表,还用于记录每个数据緩存通道緩存IP报文片的当前状态信息;所述装置还可以包括状态修改单元,用于在所述第一数据存储单元或第二数据存储单元将所述接收到的IP报文片緩存到对应的数据緩存通道之后,修改该 数据通道在缓存地址索引表中记录的当前状态信息。进一步地,所述装置还可以包括数据输出单元,用于当所述缓存地址索引表中记录的当前状态信息指示满 足报文重组的要求时,输出该当前状态信息所对应的数据緩存通道中的全部IP 报文片,并将緩存地址索引表中该数据緩存通道对应的SP信息和当前状态信息 设置为空,即表明该数据緩存通道为空闲状态。在实际的使用过程中,所述緩存地址索引表和查找单元可以用内容可寻址 存储器(CAM)代替。本实施例提供的数据緩存装置,緩存地址索引表,需要为512个数据緩存 通道保存其所緩存的IP报文片的SP信息和当前状态信息,由于所述网络出端 口能够接收512K个不同SP发送的IP报文,所以用19Byte保存SP信息,1Byte 保存IP报文片组状态信息,所述信息存储单元占用的存储空间大小为512* (19+1 ) Byte=10Kbyte;而使用现有技术保存信息时,重组信息表为每个SP信 息记录其緩存到的数据緩存通道地址和状态信息,由于网络的出端口包含512 个数据緩存通道,所以重组信息表用9Byte保存数据緩存通道地址,用1Byte 保存状态信息,重组信息表占用占用的存储空间为512K*(9+1 )Byte=5Mbyte, 通过比较不难看出,本发明实施例提供的数据緩存装置,在緩存数据时,用于 保存緩存信息所占用的存储空间减少,由于本发明实施例提供的数据緩存装置, 在信息存储单元中,保存的緩存信息个数与数据缓存通道个数有关,而与SP个 数无关,所以在SP数量增加时,所保存的緩存信息数量不会随之增加,从而节 约了存储资源。上述实施例仅以网络的出端口根据SP信息对接收到的IP报文片緩存为例 进行说明,在实际的使用中,本发明实施例提供的数据緩存方法和装置,还可以根据数据的来源信息对其他成组数据緩存的过程中。以上所述,仅为本发明实施例的具体实施方式
,但本发明实施例的保护范 围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 实施例的保护范围应该以权利要求的保护范围为准。
权利要求
1、一种数据缓存方法,其特征在于,包括接收数据,获得该数据的来源信息;在缓存地址索引表中查找是否为所述来源信息分配了数据缓存通道,其中,所述缓存地址索引表记录每个数据缓存通道缓存的数据的来源信息;若为所述来源信息分配了数据缓存通道,则将所述接收到的数据缓存到查找到的数据缓存通道中。
2、 根据权利要求1所述的数据緩存方法,其特征在于,当没有为所述来源 信息分配数据緩存通道时,还包括在緩存地址索引表中查找是否有空闲的数据緩存通道,若有空闲的数据緩 存通道,则为所述来源信息分配数据緩存通道;将所述接收到的数据緩存到分配的数据緩存通道地址中,并修改该数据緩 存通道在緩存地址索引表中记录的来源信息。
3、 根据权利要求2所述的数据緩存方法,其特征在于,当没有空闲的数据 緩存通道地址时,将所接收到的lt据丢弃。
4、 根据权利要求1至3中任一权利要求所述的数据緩存方法,其特征在于, 所述緩存地址索引表还记录每个数据緩存通道.緩存数据的当前状态信息;将所述接收到的数据緩存到数据緩存通道之后,修改该数据通道在緩存地 址索引表中记录的当前状态信息。
5、 根据权利要求4所述的数据緩存方法,其特征在于,当所述緩存地址索 引表中记录的当前状态信息指示满足报文重组的要求时,还包括输出该当前状态信息所对应的数据緩存通道中的全部数据,并将緩存地址 索引表中该数据緩存通道对应的来源信息和当前状态信息设置为空。
6、 一种数据緩存装置,其特征在于,包括数据緩存单元,用于緩存数据,所述数据缓存单元划分成至少一条数据緩 存通道;緩存地址索引表,用于记录每个数据缓存通道缓存的数据的来源信息;数据接收单元,用于接收数据,获得该数据的来源信息;第 一查找单元,用于在緩存地址索引表中查找是否为数据接收单元获得的 来源信息分配了数据緩存通道;第一数据存储单元,用于在所述第一查找单元查的查找结果为为所述来源 信息分配了数据緩存通道时,将所述接收到的数据緩存到查找单元查找到的数 据緩存通道中。
7、 根据权利要求6所述的数据緩存装置,其特征在于,还包括第二查找单元,用于在所述第一查找单元的查找结果为没有为所述数据接 收单元获得的来源信息分配数据緩存通道时,在所述緩存地址索引表中查找所 述数据緩存单元是否有空闲的数据緩存通道;数据緩存通道分配单元,用于在所述第二查找单元的查找结果为所述数据 緩存单元有空闲的数据緩存通道时,为所述数据接收单元获得的来源信息分配 数据緩存通道;第二数据存储单元,用于将所述接收到的数据缓存到数据缓存通道分配单 元分配的数据緩存通道中,并修改该数据緩存通道在緩存地址索引表中记录的来源信息。
8、 根据权利要求7所述的数据緩存装置,其特征在于,所述装置还包括丢 弃单元,用于当所述第二查找单元的查找结果为没有空闲的数据緩存通道时, 将所述接收到的数据丢弃。
9、 根据权利要求7或8所述的数据緩存装置,其特征在于,所述緩存地址 索引表,还用于记录每个数据緩存通道緩存数据的当前状态信息;所述装置还包括状态修改单元,用于在所述第一数据存储单元或所述第二数据存储单元将 所述接收到的数据緩存到对应的数据緩存通道之后,修改该数据通道在緩存地 址索引表中记录的当前状态信息。
10、 根据权利要求9所述的数据緩存装置,其特征在于,还包括数据输出单元,用于当所述緩存地址索引表中记录的当前状态信息指示满 足报文重组的要求时,输出该当前状态信息所对应的数据緩存通道中的全部数置为空。
全文摘要
本发明公开了一种数据缓存方法和装置,涉及信息存储领域,为解决数据缓存过程中,用于存储缓存资源使用情况的信息占用过多存储空间的问题而发明。本发明的技术方案为数据缓存方法,包括接接收数据,获得该数据的来源信息;在缓存地址索引表中查找是否为所述来源信息分配了数据缓存通道,其中,所述缓存地址索引表记录每个数据缓存通道缓存的数据的来源信息;若为所述来源信息分配了数据缓存通道,则将所述接收到的数据缓存到查找到的数据缓存通道中。本发明实施例提供的数据缓存方法和装置,适用于对组类型的数据进行缓存。
文档编号H04L12/56GK101237405SQ20081000768
公开日2008年8月6日 申请日期2008年3月6日 优先权日2008年3月6日
发明者月 刘, 键 周, 钿 王, 亮 靳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1