数据存储方法及装置制造方法及图纸

技术编号:8302408 阅读:221 留言:0更新日期:2013-02-07 07:29
本发明专利技术公开了一种数据存储方法及装置。其中,该方法包括:接收方接收发送方发送的当前数据包的当前包数据,其中,当前包数据携带有当前数据包的包类型标识ID;接收方根据包类型ID从地址缓存区中读取当前包数据的上一份包数据在数据缓存区中的第一存储地址,将第一存储地址、当前包数据作为新的包数据存储到数据缓存区;接收方记录新的包数据在数据缓存区中的第二存储地址,将第二存储地址添加到对应于包类型ID的地址缓存区。通过本发明专利技术,可以为多种类型的数据包仅分配一个独立的存储空间就能完成多种类型的数据包的存储,从而避免了随机读取内存(RAM)资源的浪费,方便对需要丢弃的数据包进行处理。

【技术实现步骤摘要】
数据存储方法及装置
本专利技术涉及通信领域,具体而言,涉及一种数据存储方法及装置。
技术介绍
近年来,随着需要传输的数据流量越来越大,通信系统对带宽的要求变得越来越高,同时,导致芯片上的高速接口与内部模块之间的接口数据的处理速度也越来越快。在通信系统中,接口并不仅仅需要传输一种类型的数据,通常情况下,同一个接口需要传输很多类型的数据。为了充分利用接口的带宽,对不同类型数据进行高效的管理,发送方一般可以根据不同类型的数据包进行调度管理,接收方则需要对不同类型的包进行存储管理。1、从发送方的角度看,接口在发送多种类型的数据包的时候,通常会面临如何安排不同类型的数据包的优先级的问题。这是因为有些类型的数据包实时性要求高,有些类型的数据包实时性要求低,在对各类型的数据包进行传输前,系统需要给不同类型的数据包分配不同的优先级:优先级高的数据包具有优先被发送的权利,而优先级低的数据包则可以安排在优先级高的数据包发送完之后再被发送。但是,这样往往导致优先级低的数据包往往在发送过程中被多次打断而延迟很久才能被发送出去。2、从接收方的角度看,接收方接收到的不同类型的数据包通常并不是按照一定顺序发送过来的。由于同一种类型的数据包的优先级是一样的,系统能够保证将同一种类型的数据包按照顺序发送,但是系统可能将不同类型的数据包按照顺序发送,造成接收方接收到的不同功能类型的数据包是乱序的。另外,由于在发送方处优先级低的数据包可能被打断很多次才能发出,这也导致接收方在对接收到的数据包进行存储管理时产生了很大的不便。由于很多数据包的数据量都比较大,所以一般需要将数据包分多次进行传输,而数据包里面的数据很多情况下是相互关联的,如果需要完成某种运算或者任务,往往需要把数据包里面的所有数据收集齐才能进行运算等操作。由此可见,对数据包里的包数据进行收集和存储尤为重要,如果同一个数据包的包数据能够被连续传输,则数据的收集就比较简单,但是,如果同一个数据包的包数据被传输的过程中被优先级较高的数据包抢断时,则容易导致该数据包的包数据被间隔传输,从而造成数据的收集的复杂。对于上述问题,现有技术中目前比较通用的解决方法是根据数据包的包类型标识(ID)最大数在接收方开辟独立的存储空间,每个标识(ID)对应一个单独的存储空间。接收方一旦收到发送方传输过来的数据包立即根据数据包的ID号找到其对应的存储空间进行存储,一旦某个类型的数据包接收完成时,则向内部处理模块发送中断信息,通知内部处理模块该ID号的数据包已经完成收集,可以处理了,内部处理模块只需要根据ID号到对应的包数据存储空间读取数据。如果当前情况下,有多种类型的数据包都接收完了,那么内部处理模块一般会按照数据包的优先级大小的顺序进行处理。上述方法确实能够保证数据包的处理效率,但其存在的最大问题在于数据包的接收存储是根据每个数据包ID来开辟数据包的存储空间的,而且每个ID对应的存储空间必须按照最大流量来开辟,因为发送方很有可能在某段时间内一直发某个ID数据包,而其他ID的存储空间在这段时间内一直处于空闲状态,因此,这种包数据的接收和存储方法很容易造成随机存取内存(RAM)资源的巨大浪费。同时,在数据包的传输过程中,由于包处理有时间限制(或者包传输出错),接收方为了不浪费处理时间,需要对超过处理时间或传输出错的数据包进行丢弃处理。针对相关技术中为了解决数据包乱序和数据包断续传输导致的数据包存储管理复杂的问题而采取的在接收方开辟独立的存储空间的方法,但同时容易造成RAM资源的浪费及丢弃数据包的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种存储方法及装置,以至少解决上述问题之一。根据本专利技术的一个方面,提供了一种数据存储方法,包括:接收方接收发送方发送的当前数据包的当前包数据,其中,当前包数据携带有当前数据包的包类型标识ID;接收方根据包类型ID从地址缓存区中读取当前包数据的上一份包数据在数据缓存区中的第一存储地址,将第一存储地址、当前包数据作为新的包数据存储到数据缓存区;接收方记录新的包数据在数据缓存区中的第二存储地址,将第二存储地址添加到对应于包类型ID的地址缓存区。优选地,在接收方接收发送方发送的当前数据包的当前包数据之后,包括:接收方根据其接收到的当前数据包的当前包数据携带的包起始状态标志确定当前包数据为当前数据包中的第一份包数据;接收方判定当前数据包接收开始。优选地,在接收方接收发送方发送的当前数据包的当前包数据之后,还包括:接收方根据其接收到的当前数据包的当前包数据中的包结束状态标志确定当前包数据为当前数据包中的最后一份包数据;接收方判定当前数据包接收完成。优选地,在接收方判定当前数据包接收完成之后,包括:接收方将当前数据包的包状态更新为有效;接收方上报当前数据包为能够被读取的消息。优选地,在接收方判定当前数据包接收完成后,还包括:接收方根据来自系统的执行命令将当前数据包的包状态更新为无效;接收方上报当前数据包为能够被丢弃的消息。优选地,在当前数据包接收完成之后,该方法还包括:根据当前数据包的最后一份包数据中的存储地址,以从后往前的顺序依次读取当前数据包的包数据,直至读取到当前数据包的第一份包数据结束。根据本专利技术的另一方面,提供了一种数据存储装置,包括:接收模块,用于接收发送方发送的当前数据包的当前包数据,其中,当前包数据携带有当前数据包的包类型标识ID;存储模块,根据包类型ID从地址缓存区中读取当前包数据的上一份包数据在数据缓存区中的第一存储地址,将第一存储地址、当前包数据作为新的包数据存储到数据缓存区;记录模块,用于记录新的包数据在数据缓存区中的第二存储地址,将第二存储地址添加到对应于包类型ID的地址缓存区。优选地,该装置还包括:判断模块,用于根据当前数据包的当前包数据中携带的包起始状态标识和/或包结束状态标志,确定当前数据包接收开始或接收完成。优选地,该装置还包括:更新模块,用于在判断模块判断当前数据包接收完成后,将当前数据包的包状态更新为有效。优选地,接收模块还用于接收系统发送的丢弃当前数据包的执行命令;更新模块还用于根据执行命令将当前数据包的包状态更新为无效。优选地,该装置还包括:读取模块,用于在当前数据包接收完成之后,根据当前数据包的最后一份包数据中的存储地址,以从后往前的顺序依次读取当前数据包的包数据,直至读取到当前数据包的第一份包数据结束。通过本专利技术,采用一种链表式的存储方法对当前数据包的当前包数据进行存储,并且将所有数据包的包数据存储在一个存储空间内,其中,当前包数据中包含上一份包数据中的存储地址,方便了当前数据包接收完成后对当前数据包进行链表式读取,解决了传统存储方法不能够支持乱序包接收、采用大量存储分区数据包导致的存储资源浪费的问题,进而达到了支持乱序包的包内断续传输、节省存储资源的效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的数据存储方法流程图;图2是根据本专利技术优选实施例一种乱序数据包的链表式存储方法流程图;图3是根据本专利技术实施例的数据流发送方式和包数据格式;图4是根据本专利技术实施例的数据存储示意图;本文档来自技高网
...
数据存储方法及装置

【技术保护点】
一种数据存储方法,其特征在于,包括:接收方接收发送方发送的当前数据包的当前包数据,其中,所述当前包数据携带有所述当前数据包的包类型标识ID;所述接收方根据所述包类型ID从地址缓存区中读取所述当前包数据的上一份包数据在数据缓存区中的第一存储地址,将所述第一存储地址、所述当前包数据作为新的包数据存储到所述数据缓存区;所述接收方记录所述新的包数据在所述数据缓存区中的第二存储地址,将所述第二存储地址添加到对应于所述包类型ID的所述地址缓存区。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:接收方接收发送方发送的当前数据包的当前包数据,其中,所述当前包数据携带有所述当前数据包的包类型标识ID;所述接收方从地址缓存区中读取所述当前包数据的上一份所述包类型ID的包数据在数据缓存区中的第一存储地址,将所述第一存储地址、所述当前包数据作为新的包数据存储到所述数据缓存区;所述接收方记录所述新的包数据在所述数据缓存区中的第二存储地址,将所述第二存储地址添加到对应于所述包类型ID的所述地址缓存区。2.根据权利要求1所述的方法,其特征在于,在接收方接收发送方发送的当前数据包的当前包数据之后,包括:所述接收方根据其接收到的所述当前数据包的所述当前包数据携带的包起始状态标志确定所述当前包数据为所述当前数据包中的第一份包数据;所述接收方判定所述当前数据包接收开始。3.根据权利要求1所述的方法,其特征在于,在接收方接收发送方发送的当前数据包的当前包数据之后,还包括:所述接收方根据其接收到的所述当前数据包的所述当前包数据中的包结束状态标志确定所述当前包数据为所述当前数据包中的最后一份包数据;所述接收方判定所述当前数据包接收完成。4.根据权利要求3所述的方法,其特征在于,在所述接收方判定所述当前数据包接收完成之后,包括:所述接收方将所述当前数据包的包状态更新为有效;所述接收方上报所述当前数据包为能够被读取的消息。5.根据权利要求3所述的方法,其特征在于,在所述接收方判定所述当前数据包接收完成后,还包括:所述接收方根据来自系统的执行命令将所述当前数据包的包状态更新为无效;所述接收方上报所述当前数据包为能够被丢弃的消息。6.根据权利要求1至5中任一项所述的方法,...

【专利技术属性】
技术研发人员:肖礼盛唐雄刘一非廖辉
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1