CN103532854B - 一种报文的存储和转发方法及装置 - Google Patents

一种报文的存储和转发方法及装置 Download PDF

Info

Publication number
CN103532854B
CN103532854B CN201310500069.6A CN201310500069A CN103532854B CN 103532854 B CN103532854 B CN 103532854B CN 201310500069 A CN201310500069 A CN 201310500069A CN 103532854 B CN103532854 B CN 103532854B
Authority
CN
China
Prior art keywords
message
header information
information
data
memory element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310500069.6A
Other languages
English (en)
Other versions
CN103532854A (zh
Inventor
李建国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201310500069.6A priority Critical patent/CN103532854B/zh
Publication of CN103532854A publication Critical patent/CN103532854A/zh
Application granted granted Critical
Publication of CN103532854B publication Critical patent/CN103532854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种报文的存储和转发方法及装置,涉及数据通信技术领域,用于解决转发报文可靠性较低的问题。本发明实施例具体包括:接收到待存储的报文后,获取报文的头部信息和数据信息;使用预定校验规则对报文的头部信息进行运算,生成HEC字段信息;对报文的数据信息进行加扰,生成扰码后的数据字段信息;将报文的头部信息、生成的HEC字段信息和扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新写指针指向缓存装置的下一个相邻空闲存储单元。本发明实施例提供的方案适于对报文进行存储和转发时采用。

Description

一种报文的存储和转发方法及装置
技术领域
本发明涉及数据通信技术领域,尤其涉及一种报文的存储和转发方法及装置。
背景技术
在数据通信技术领域中,转发设备(如路由器、交换机等)可以采用存储再转发的方式来转发接收的所有报文,即转发设备把从一个端口接收到的所有报文先存储起来,然后再通过其他端口发出去。
在现有技术中,采用存储再转发的方式对报文进行存储转发时,转发设备将接收的各个报文的报文长度、开始地址等信息以缓冲区描述符(Buffer Description,BD)表的方式存储,将实际的报文内容根据BD表项中的开始地址放置在另一个缓存装置中,其中一个BD表项对应一个报文。BD项为一种描述报文长度、报文的开始地址等信息的存储结构。当读取报文时,转发设备在缓存装置中首先获取BD表项,然后根据BD表项中包括的报文的长度信息来获取对应的报文,并且根据BD表项中报文的开始地址信息得到下一个BD表项的开始地址,从而可以依次获取缓存装置中缓存的所有报文。
然而,在缓存装置中,采用将BD表项和BD表项对应的报文内容连续存储时,当其中一个BD表项出错(其中BD表出错表示报文的头部信息出现错误)时,导致转发设备无法获取报文的长度信息,从而转发设备无法正确的获取出错BD表项对应的报文的数据信息,那么也无法找到下一个BD表项的正确位置,从而使得转发设备无法获取该出错的BD表项后面的所有报文,从而导致转发报文的可靠性较低。
发明内容
本发明的实施例提供一种报文的存储和转发方法及装置,用于解决转发报文可靠性较低的问题。
一方面,本发明的实施例提供一种报文的存储方法,包括:
接收到待存储的报文后,获取所述报文的头部信息和数据信息;
使用预定校验规则对所述报文的头部信息进行运算,生成头部差错控制HEC字段信息;对所述报文的数据信息进行加扰,生成扰码后的数据字段信息;
将所述报文的头部信息、生成的HEC字段信息和所述扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新所述写指针指向所述缓存装置的下一个相邻空闲存储单元。
另一方面,本发明的实施例提供一种报文的存储装置,包括:
写操作模块,用于接收到待存储的报文后,获取所述报文的头部信息和数据信息;
校验处理模块,用于使用预定校验规则对所述报文的头部信息进行处理,生成头部差错控制HEC字段信息,对所述报文的数据信息进行加扰,获得扰码后的数据字段信息;
所述写操作模块,还用于将所述报文的头部信息、生成的HEC字段信息和所述扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新所述写指针指向所述缓存装置的下一个相邻空闲存储单元。
又一方面,本发明的实施例提供一种报文的转发方法,包括:
从缓存装置的读指针当前指向的存储单元开始依次读取报文的头部信息以及对应的头部差错控制HEC字段信息;
使用预定校验规则对所述报文的头部信息进行校验;
当对所述报文的头部信息校验成功时,转发所述报文;并更新所述读指针指向所述缓存装置的用于存储下一个报文的相邻存储单元。
在本发明的另一实施例中,所述使用预定校验规则对所述报文的头部信息进行校验,包括:
使用所述预定校验规则对所述报文的头部信息进行运算,获得运算结果;
将所述运算结果与所述报文的头部信息对应的头部差错控制HEC字段信息进行比对;
当所述运算结果与所述HEC字段信息一致时,表示对所述报文的头部信息校验成功;
当所述运算结果与所述HEC字段信息不一致时,表示对所述报文的头部信息校验失败。
在本发明的另一实施例中,所述当对所述报文的头部信息校验成功时,转发所述报文,包括:
根据所述报文的头部信息中的报文长度获取所述报文的数据字段信息;对所述报文的数据字段信息进行解扰,获得所述报文的数据信息;
转发所述报文,所述报文包括所述报文的头部信息和所述报文的数据信息。
在本发明的另一实施例中,在所述使用预定校验规则对所述报文的头部信息进行校验之后,所述方法还包括:
当对所述报文的头部信息校验失败时,更新所述读指针指向所述缓存装置的下一个相邻存储单元,从更新后的所述读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,使用所述预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验;
当对所述存储单元的内容作为报文的头部信息校验成功时,获得所述报文的头部信息对应的数据字段信息,对所述报文的数据字段信息进行解扰,获得所述报文的数据信息;转发所述报文的头部信息和所述报文的数据信息;
当对所述存储单元的内容作为报文的头部信息校验失败时,更新所述读指针指向所述缓存装置的下一个相邻存储单元,从更新后读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,使用所述预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验,直到获取校验成功的报文,并进行转发。
再一方面,本发明的实施例提供一种报文的转发装置,包括:
读操作模块,用于控制读指针,从缓存装置的所述读指针当前指向的存储单元开始依次读取报文的头部信息以及对应的头部差错控制HEC字段信息;并在完成报文转发后,更新读指针指向所述缓存装置的用于存储下一个报文的相邻存储单元;
校验处理模块,用于使用预定校验规则对所述报文的头部信息进行校验;
发送模块,用于当所述校验处理模块对所述报文的头部信息校验成功时,转发所述报文。
在本发明的另一实施例中,所述校验处理模块,包括:
运算单元,用于使用所述预定校验规则对所述报文的头部信息进行运算,获得运算结果;
比较处理单元,用于将所述运算单元获得的所述运算结果与所述报文的头部信息对应的头部差错控制HEC字段信息进行比对;当所述运算结果与所述HEC字段信息一致时,表示对所述报文的头部信息校验成功,并通知所述发送模块;当所述运算结果与所述HEC字段信息不一致时,表示对所述报文的头部信息校验失败,并通知所述读操作模块更新所述读指针指向所述缓存装置的下一个相邻存储单元。
在本发明的另一实施例中,所述读操作模块,还用于当所述校验处理模块对所述报文的头部信息校验成功时,根据所述报文的头部信息中的报文长度获取所述报文的数据字段信息;对所述报文的数据字段信息进行解扰,获得所述报文的数据信息,通知所述发送模块;
所述发送模块,还用于根据所述读操作模块的通知,转发所述报文的头部信息和所述报文的数据信息。
在本发明的另一实施例中,所述读操作模块,还用于当所述校验处理模块对所述报文的头部信息校验失败时,从所述缓存装置中更新后的所述读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,通知所述校验处理模块使用所述预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验。
本发明实施例提供的一种报文的存储和转发方法及装置,通过接收到待存储的报文后,获取报文的头部信息和数据信息;使用预定校验规则对报文的头部信息进行运算,生成HEC字段信息;对报文的数据信息进行加扰,生成扰码后的数据字段信息;将报文的头部信息、生成的HEC字段信息和扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新写指针指向缓存装置的下一个相邻空闲存储单元。在现有技术的缓存装置中,采用将BD表项和BD表项对应的报文内容连续存储,当缓存装置中的某一个BD表项出错(其中BD表项出错表示报文的头部信息出现错误)时,导致转发设备无法获取报文的长度信息,导致转发设备无法正确的获取出错BD表项对应的报文的数据信息,那么也无法找到下一BD表项的正确位置,从而使得无法获取该出错的BD表项后面的所有报文,从而导致转发报文的可靠性较低,与现有技术不同的是,本发明实施例可以通过读指针搜索报文的头部信息,并且对搜索到的报文的头部信息进行校验,使得对报文的头部信息校验成功时直接转发该报文;对报文的头部信息校验失败时,转发设备自动以写入报文方向获取下一报文的头部信息,然后进行校验操作,直到获取校验成功的下一报文,然后执行转发操作,从而本发明实施例实现了转发设备在检测到出错的报文的头部信息之后,能够保证出错的信息后面的报文均能够正常转发,提高了转发报文的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文的存储方法的流程图;
图2为本发明实施例提供的报文的存储和转发方法中的缓存装置的结构示意图;
图3为本发明实施例提供的一种报文的转发方法的流程图;
图4为本发明实施例提供的另一种报文的转发方法的流程图;
图5为本发明实施例提供的一种报文的存储装置的结构示意图;
图6为本发明实施例提供的一种报文的转发装置的结构示意图;
图7为本发明实施例提供的另一种报文的转发装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明实施例提供一种报文的存储方法,该方法的执行主体为转发设备,具体如下:
101,接收到待存储的报文后,获取报文的头部信息和数据信息。
102,使用预定校验规则对报文的头部信息进行运算,生成头部差错控制(HeadError Control,HEC)字段信息;对报文的数据信息进行加扰,生成扰码后的数据字段信息。
本步骤中的预定校验规则具体为错误修正码(Error Correct Code,ECC)的校验方法或者循环冗余校验码(Cyclic Redundancy Check,CRC)的校验方法等。为了方便描述,本实施例中以预定校验规则为ECC的校验方法为例进行说明。
转发设备使用ECC的校验方法对该报文的头部信息进行处理,具体为:使用汉明(Hamming)码的方法对头部信息进行分割,如1/2、1/4、1/8…直到达到其精度为单bit为止,每次分割后的数据分别进行偶效验和奇效验,都会得到1bit的ECCe(偶效验)和ECCo(奇效验),最后把这些效验位组合在一起,从而生成HEC字段信息。其中,HEC字段信息用于存储报文的头部信息,以便转发设备在读取该报文时,将HEC字段信息作为验证该报文是否正确的依据之一。
为了将报文的数据信息与报文的头部信息加以区分,以及增加报文的数据信息的随机性,转发设备对报文的数据信息进行加扰,生成扰码后的数据字段信息。
103,将报文的头部信息、生成的HEC字段信息和扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新写指针指向缓存装置的下一个相邻空闲存储单元。
转发设备通过ECC的校验方法得到HEC字段信息,以及扰码后的数据字段信息之后,按照先缓存报文的头部信息、再缓存HEC字段信息、后缓存数据字段信息的顺序,将报文的头部信息、HEC字段信息和扰码后的数据字段信息缓存在缓存装置中。
需要说明的是,转发设备将报文的头部信息以存储单元为单位进行保存;将HEC字段信息以存储单元为单位进行保存;将数据字段以存储单元为单位进行保存;在缓存装置中,按照写入报文方向将数据字段存储在HEC字段信息的后面。其中,写入报文方向可以为顺时针方向或者逆时针方向。一般情况下,HEC字段信息通常占用一个存储单元。当然,根据HEC字段信息的实际大小,和/或存储单元的实际大小,HEC字段信息也可以占用多个存储单元。
在本实施例中,缓存装置为转发设备中用来存储报文的存储区域。其中,缓存装置以存储单元为单位,具体为2n个存储单元。n为缓存装置对应的通道的地址线个数。例如,当一个通道有10根地址线时,该通道对应的缓存装置为210(210=1024)个存储单元。值得说明的是,本实施例不限制存储单元的大小,比如,该存储单元可以为4字节或者8字节等。一个通道对应一个缓存装置,当出现多个通道时,则对应的有多个缓存装置,为了方便叙述,本发明实施例以单通道为例进行描述。
另外需要说明的是,在缓存装置中标记写指针和读指针。其中,写指针为转发设备同步存储报文位置的地址,在本实施例中可以表示为读指针为转发设备将要读取的报文所在位置的地址。
本发明实施例提供的一种报文的存储方法,通过接收到待存储的报文后,获取报文的头部信息和数据信息;使用预定校验规则对报文的头部信息进行运算,生成HEC字段信息;对报文的数据信息进行加扰,生成扰码后的数据字段信息;将报文的头部信息、生成的HEC字段信息和扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新写指针指向缓存装置的下一个相邻空闲存储单元。在现有技术的缓存装置中,采用将BD表项和BD表项对应的报文内容连续存储,当缓存装置中的某一个BD表项出错(其中BD表项出错表示报文的头部信息出现错误)时,导致转发设备无法获取报文的长度信息,导致转发设备无法正确的获取出错BD表项对应的报文的数据信息,那么也无法找到下一BD表项的正确位置,从而使得无法获取该出错的BD表项后面的所有报文,从而导致转发报文的可靠性较低,与现有技术不同的是,本发明实施例通过在缓存装置中以报文的头部信息、HEC字段以及数据字段进行存储,可以保证转发设备在读取缓存装置中的报文时,当出现出错的报文的头部信息时,保证出错的信息后面的报文均能够正常转发,从而提高了转发报文的可靠性。另外将报文的头部信息以HEC字段信息的形式进行存储,便于转发设备检验报文的头部信息是否正确,将报文的数据信息进行加扰,可以将报文的头部信息与报文的数据信息进行区分,使得转发设备在查找报文的头部信息时,不会将报文的数据信息误认为报文的头部信息,以及增强了报文的数据信息的随机性。
需要说明的是,本实施例中的缓存装置如图2所示,在缓存装置201中包括报文的头部信息202、HEC字段信息203以及数据字段信息204。从图2中可以看出,该缓存装置201中包括三个报文。每个报文由报文的头部信息202、HEC字段信息203以及数据字段信息204组成。其中,报文的头部信息202可以存放在报文信息字段中。
根据图2所示,转发设备接收三个报文(报文A、报文B以及报文C),并在缓存装置201中以写入报文方向存储这三个报文(报文A、报文B以及报文C),设置报文A、报文B以及报文C均占用6个存储单元,在转发设备接收这三个报文之前,缓存装置201中的写指针为000000,则转发设备在缓存装置201中存储这三个报文之后,写指针更新为010010。可以理解的是,当缓存装置中没有缓存的报文时,该缓存装置的写指针与读指针一致,当转发设备接收到报文之后,将接收到的报文存储在缓存装置中,并同步更新写指针。
如图3所示,本发明实施例提供一种报文的转发方法,该方法的执行主体为转发设备,具体如下:
301,从缓存装置的读指针当前指向的存储单元开始依次读取报文的头部信息以及对应的HEC字段信息。
转发设备在获取缓存装置的报文的头部信息之前,首先判断缓存装置中的写指针与读指针是否一致,当写指针与读指针不一致时,从缓存装置中读指针指向的位置处查找报文的头部信息,然后获取该报文的头部信息。
302,使用预定校验规则对报文的头部信息进行校验。
本实施例中的预定校验规则以图1中所述的ECC的校验方法为例进行说明。
303,当对报文的头部信息校验成功时,转发报文;并更新读指针指向缓存装置的用于存储下一个报文的相邻存储单元。
具体的,在转发设备对报文的头部信息校验成功之后,根据报文的头部信息中的报文长度获取报文的数据字段信息;对报文的数据字段信息进行解扰,获得报文的数据信息。转发设备转发的报文包括报文的头部信息和报文的数据信息。
进一步的,在转发设备转发报文之后,根据报文所占存储单元的个数,更新读指针。
可以理解的是,报文的头部信息、报文的HEC字段信息以及报文的数据字段信息均以存储单元为单位存储在缓存装置中。例如,报文的头部信息占用一个存储单元,报文的HEC字段信息占用一个存储单元,报文的数据字段信息占用四个存储单元,则报文共占用六个存储单元。设置在转发设备读取报文之前的读指针为010000,则当转发设备读取报文之后,读指针更新为010110。
本发明实施例提供的一种报文的转发方法,通过从缓存装置的读指针当前指向的存储单元开始依次读取报文的头部信息以及对应的头部差错控制HEC字段信息;使用预定校验规则对报文的头部信息进行校验;当对报文的头部信息校验成功时,转发报文;并更新读指针指向缓存装置的用于存储下一个报文的相邻存储单元。在现有技术的缓存装置中,采用将BD表项和BD表项对应的报文内容连续存储,当缓存装置中的某一个BD表项出错(其中BD表项出错表示报文的头部信息出现错误)时,导致转发设备无法获取报文的长度信息,导致转发设备无法正确的获取出错BD表项对应的报文的数据信息,那么也无法找到下一BD表项的正确位置,从而使得无法获取该出错的BD表项后面的所有报文,从而导致转发报文的可靠性较低,与现有技术不同的是,本发明实施例可以通过读指针搜索报文的头部信息,并且对搜索到的报文的头部信息进行校验,使得对报文的头部信息校验成功时直接转发该报文,从而提高了转发报文的可靠性。
通过图3中步骤302的描述:“使用预定校验规则对报文的头部信息进行校验。”具体包括:使用预定校验规则对报文的头部信息进行运算,获得运算结果;将运算结果与报文的头部信息对应的头部差错控制HEC字段信息进行比对;当运算结果与HEC字段信息一致时,表示对报文的头部信息校验成功;当运算结果与HEC字段信息不一致时,表示对报文的头部信息校验失败。
具体的如图4所示,如下所示:
401,转发设备使用预定校验规则对报文的头部信息进行运算,获得运算结果。
本步骤中,转发设备使用预定校验规则对报文的头部信息进行运算的方法,可参考图1中步骤102中转发设备生成HEC字段信息的方法,在此不一一赘述。
402,转发设备将运算结果与报文的头部信息对应的HEC字段信息的内容进行比对。
由于缓存装置中存储的HEC字段信息是采用预定校验规则(ECC的校验方法)生成的,以及运算结果也是由预定校验规则对报文的头部信息进行运算生成的,所以当运算结果与HEC字段信息的内容一致时,表示报文的头部信息正确,即对报文的头部信息校验成功。则转发设备继续执行步骤403。
当运算结果与HEC字段信息的内容不一致时,表示报文的头部信息错误,即对报文的头部信息校验失败。则转发设备继续执行步骤404。
403,转发设备转发报文,并更新读指针。
具体的,当转发设备对报文的头部信息校验成功时,根据报文的头部信息获取报文的数据字段;对报文的数据字段中的内容进行解扰,获得报文的数据信息;然后转发报文,报文包括报文的头部信息和报文的数据信息。
404,转发设备以写入报文方向获取下一存储单元的内容,直至获取校验成功的报文,并进行转发。
当对报文的头部信息校验失败时,更新读指针指向缓存装置的下一个相邻存储单元(存储单元A),从更新后的读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,使用预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验。需要说明的是,由于转发模块不清楚存储单元的那一部分是报文头部信息、HEC字段信息和数据信息,所以按照头部信息以及HEC字段信息所占用的存储单元的个数,去读取内容并按照预定校验规则对报文的头部信息进行运算,当运算结果与HEC字段信息的内容一致时,表示报文的头部信息正确,即对报文的头部信息校验成功。那么就可以根据报文头部信息中的报文长度信息继续读取缓存装置中的数据字段信息并进行转发;如果校验失败,则说明该读取的内容并非报文头部信息和HEC字段信息,或者说报文出错;这样继续读取按照头部信息以及HEC字段信息所占用的存储单元的个数,去读取内容缓存单元中的内容并进行校验。直到转发设备获取校验成功的报文,并进行转发。
值得说明的是,转发设备从缓存装置中删除校验失败的报文。
本发明实施例可以通过读指针当前指向的存储单元获取报文的头部信息,并且通过采用HEC字段信息来对获取的报文的头部信息进行校验,使得对报文的头部信息校验成功时直接转发该报文;对报文的头部信息校验失败时,转发设备自动以写入报文方向获取下一报文的头部信息,然后进行校验操作,直到获取校验成功的下一报文,然后执行转发操作,从而实现了转发设备在检测到出错的报文的头部信息之后,能够保证出错的信息后面的报文均能够正常转发,提高了转发报文的可靠性。
实施例2
如图5所示,本发明实施例提供一种报文的存储装置50,该装置50包括:写操作模块501,校验处理模块502。具体的,该装置50可以为转发设备(如路由器或者交换机等)。
写操作模块501,用于接收到待存储的报文后,获取报文的头部信息和数据信息;
校验处理模块502,用于使用预定校验规则对报文的头部信息进行处理,生成头部差错控制HEC字段信息,对报文的数据信息进行加扰,获得扰码后的数据字段信息;
写操作模块501,还用于将报文的头部信息、生成的HEC字段信息和扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新写指针指向缓存装置的下一个相邻空闲存储单元。
具体的,写操作模块501按照先缓存报文的头部信息、再缓存HEC字段信息、后缓存数据字段信息的顺序,将报文的头部信息、HEC字段信息和扰码后的数据字段信息存储在缓存装置中。
需要说明的是,图5所示装置50中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例通过在缓存装置中以报文的头部信息、HEC字段信息以及数据字段信息进行存储,可以保证转发设备在读取缓存装置中的报文时,删除仅出错的信息,而保证出错的信息后面的报文均能够正常转发,从而提高了转发报文的可靠性。另外将报文的头部信息以HEC字段信息的形式进行存储,便于转发设备检验报文的头部信息是否正确,将报文的数据信息进行加扰,可以将报文的头部信息与报文的数据信息进行区分,且增强了报文的数据信息的随机性。
如图6所示,本发明实施例提供一种报文的转发装置60,该装置60包括:读操作模块601,校验处理模块602,发送模块603。具体的,该装置60可以为转发设备(如路由器或者交换机等)。
读操作模块601,用于控制读指针,从缓存装置的读指针当前指向的存储单元开始依次读取报文的头部信息以及对应的头部差错控制HEC字段信息;并在完成报文转发后,更新读指针指向缓存装置的用于存储下一个报文的相邻存储单元。
校验处理模块602,用于使用预定校验规则对报文的头部信息进行校验。
发送模块603,用于当校验处理模块602对报文的头部信息校验成功时,转发报文。
进一步的,如图7所示,本发明实施例还可以提供另一种报文的转发装置70。其中,该转发装置70中的校验处理模块602,包括:运算单元6021,比较处理单元6022。
运算单元6021,用于使用预定校验规则对报文的头部信息进行运算,获得运算结果。
比较处理单元6022,用于将运算单元6021获得的运算结果与报文的头部信息对应的HEC字段信息进行比对;当运算结果与HEC字段信息一致时,表示对报文的头部信息校验成功,并通知发送模块603;当运算结果与HEC字段信息不一致时,表示对报文的头部信息校验失败,并通知读操作模块601更新读指针指向缓存装置的下一个相邻存储单元。
进一步的,当校验处理模块602对报文的头部信息校验成功时,读操作模块601根据报文的头部信息中的报文长度获取报文的数据字段信息;对报文的数据字段信息进行解扰,获得报文的数据信息,通知发送模块603。根据读操作模块601的通知,发送模块603转发报文的头部信息和报文的数据信息。
进一步的,当校验处理模块602对报文的头部信息校验失败时,读操作模块601从缓存装置中更新后的读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,通知校验处理模块602使用预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验。
需要说明的是,图6所示装置60至图7所示装置70中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例可以保证出错的信息后面的报文均能够正常转发,从而提高了转发报文的可靠性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种报文的存储方法,其特征在于,包括:
接收到待存储的报文后,获取所述报文的头部信息和数据信息;
使用预定校验规则对所述报文的头部信息进行运算,生成头部差错控制HEC字段信息;对所述报文的数据信息进行加扰,生成扰码后的数据字段信息,用以对报文的头部信息和数据信息进行区分;
将所述报文的头部信息、生成的HEC字段信息和所述扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新所述写指针指向所述缓存装置的下一个相邻空闲存储单元,以便于转发设备根据写入报文方向依次校验报文的头部信息和HEC字段信息,并在对报文的头部信息校验成功时,转发报文,在对报文的头部信息校验失败时,自动获取下一个相邻报文的头部信息和HEC字段信息进行校验。
2.一种报文的存储装置,其特征在于,包括:
写操作模块,用于接收到待存储的报文后,获取所述报文的头部信息和数据信息;
校验处理模块,用于使用预定校验规则对所述报文的头部信息进行处理,生成头部差错控制HEC字段信息,对所述报文的数据信息进行加扰,获得扰码后的数据字段信息,用以对报文的头部信息和数据信息进行区分;
所述写操作模块,还用于将所述报文的头部信息、生成的HEC字段信息和所述扰码后的数据字段信息依次写入写指针当前指向的存储单元作为起始地址的缓存装置中,并更新所述写指针指向所述缓存装置的下一个相邻空闲存储单元,以便于转发设备根据写入报文方向依次校验报文的头部信息和HEC字段信息,并在对报文的头部信息校验成功时,转发报文,在对报文的头部信息校验失败时,自动获取下一个相邻报文的头部信息和HEC字段信息进行校验。
3.一种报文的转发方法,其特征在于,包括:
从缓存装置的读指针当前指向的存储单元开始根据写入报文方向依次读取报文的头部信息以及对应的头部差错控制HEC字段信息;
使用预定校验规则对所述报文的头部信息进行校验;
当对所述报文的头部信息校验成功时,转发所述报文;并更新所述读指针指向所述缓存装置的用于存储下一个报文的相邻存储单元;
当对所述报文的头部信息校验失败时,更新所述读指针指向所述缓存装置的下一个相邻存储单元,并对下一个相邻存储单元的头部信息和HEC字段信息进行校验。
4.根据权利要求3所述的报文的转发方法,其特征在于,所述使用预定校验规则对所述报文的头部信息进行校验,包括:
使用所述预定校验规则对所述报文的头部信息进行运算,获得运算结果;
将所述运算结果与所述报文的头部信息对应的头部差错控制HEC字段信息进行比对;
当所述运算结果与所述HEC字段信息一致时,表示对所述报文的头部信息校验成功;
当所述运算结果与所述HEC字段信息不一致时,表示对所述报文的头部信息校验失败。
5.根据权利要求3所述的报文的转发方法,其特征在于,所述当对所述报文的头部信息校验成功时,转发所述报文,包括:
根据所述报文的头部信息中的报文长度获取所述报文的数据字段信息;对所述报文的数据字段信息进行解扰,获得所述报文的数据信息;
转发所述报文,所述报文包括所述报文的头部信息和所述报文的数据信息。
6.根据权利要求3-5任一项所述的报文的转发方法,其特征在于,当对所述报文的头部信息校验失败时,更新所述读指针指向所述缓存装置的下一个相邻存储单元,并对下一个相邻存储单元的头部信息和HEC字段信息进行校验,包括:
从更新后的所述读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,使用所述预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验;
当对所述存储单元的内容作为报文的头部信息校验成功时,获得所述报文的头部信息对应的数据字段信息,对所述报文的数据字段信息进行解扰,获得所述报文的数据信息;转发所述报文的头部信息和所述报文的数据信息;
当对所述存储单元的内容作为报文的头部信息校验失败时,更新所述读指针指向所述缓存装置的下一个相邻存储单元,从更新后读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,使用所述预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验,直到获取校验成功的报文,并进行转发。
7.一种报文的转发装置,其特征在于,包括:
读操作模块,用于控制读指针,从缓存装置的所述读指针当前指向的存储单元开始根据写入报文方向依次读取报文的头部信息以及对应的头部差错控制HEC字段信息;并在完成报文转发后,更新读指针指向所述缓存装置的用于存储下一个报文的相邻存储单元;
校验处理模块,用于使用预定校验规则对所述报文的头部信息进行校验;
发送模块,用于当所述校验处理模块对所述报文的头部信息校验成功时,转发所述报文;
所述读操作模块,还用于当所述校验处理模块对所述报文的头部信息校验失败时,更新所述读指针指向所述缓存装置的下一个相邻存储单元,以便于校验处理模块并对下一个相邻存储单元的头部信息和HEC字段信息进行校验。
8.根据权利要求7所述的报文的转发装置,其特征在于,所述校验处理模块,包括:
运算单元,用于使用所述预定校验规则对所述报文的头部信息进行运算,获得运算结果;
比较处理单元,用于将所述运算单元获得的所述运算结果与所述报文的头部信息对应的头部差错控制HEC字段信息进行比对;当所述运算结果与所述HEC字段信息一致时,表示对所述报文的头部信息校验成功,并通知所述发送模块;当所述运算结果与所述HEC字段信息不一致时,表示对所述报文的头部信息校验失败,并通知所述读操作模块更新所述读指针指向所述缓存装置的下一个相邻存储单元。
9.根据权利要求7所述的报文的转发装置,其特征在于,
所述读操作模块,还用于当所述校验处理模块对所述报文的头部信息校验成功时,根据所述报文的头部信息中的报文长度获取所述报文的数据字段信息;对所述报文的数据字段信息进行解扰,获得所述报文的数据信息,通知所述发送模块;
所述发送模块,还用于根据所述读操作模块的通知,转发所述报文的头部信息和所述报文的数据信息。
10.根据权利要求7-9任一项所述的报文的转发装置,其特征在于,
所述读操作模块,还用于当所述校验处理模块对所述报文的头部信息校验失败时,从所述缓存装置中更新后的所述读指针当前指向的存储单元开始依次获取与报文的头部信息和HEC字段信息长度相同的存储单元的内容,通知所述校验处理模块使用所述预定校验规则对与报文的头部信息长度相同的存储单元的内容作为报文的头部信息进行校验。
CN201310500069.6A 2013-10-22 2013-10-22 一种报文的存储和转发方法及装置 Active CN103532854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310500069.6A CN103532854B (zh) 2013-10-22 2013-10-22 一种报文的存储和转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310500069.6A CN103532854B (zh) 2013-10-22 2013-10-22 一种报文的存储和转发方法及装置

Publications (2)

Publication Number Publication Date
CN103532854A CN103532854A (zh) 2014-01-22
CN103532854B true CN103532854B (zh) 2017-05-10

Family

ID=49934544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310500069.6A Active CN103532854B (zh) 2013-10-22 2013-10-22 一种报文的存储和转发方法及装置

Country Status (1)

Country Link
CN (1) CN103532854B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995676A (zh) * 2014-06-16 2014-08-20 国家电网公司 数据存储方法及装置和数据处理方法及装置
CN104796460B (zh) * 2015-03-26 2019-03-22 小米科技有限责任公司 文件传输方法和装置
WO2017054182A1 (zh) * 2015-09-30 2017-04-06 华为技术有限公司 一种数据校验方法和装置
CN107370674B (zh) * 2016-05-13 2020-12-01 华为技术有限公司 一种数据传输的方法、设备和系统
CN107844515B (zh) * 2017-09-26 2021-08-17 北京安博通科技股份有限公司 数据合规检查方法及装置
CN107864073B (zh) * 2017-12-13 2021-03-09 中国银行股份有限公司 一种swift报文批量发送方法和装置
CN108881022B (zh) * 2018-05-30 2020-11-10 中国人民解放军战略支援部队信息工程大学 一种数据报加扰查表转发的网络节点装置和方法
CN110445721B (zh) * 2019-09-09 2021-12-14 迈普通信技术股份有限公司 一种报文转发方法及装置
CN111935020A (zh) * 2020-09-22 2020-11-13 四川科道芯国智能技术股份有限公司 报文生成方法及电路及存储介质
CN113205672A (zh) * 2021-04-13 2021-08-03 华中科技大学 一种纵联保护量测数据的恢复方法和纵联通信系统
CN115421402A (zh) * 2021-05-16 2022-12-02 武汉领普科技有限公司 自发电开关的处理方法及其控制系统
CN113346980B (zh) * 2021-08-02 2023-08-11 浙江国利信安科技有限公司 用于消息转发的方法、电子设备和计算机存储介质
CN114237945B (zh) * 2022-02-25 2022-05-13 四川鸿创电子科技有限公司 一种基于srio接口的互联系统消息处理方法、装置和介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375466C (zh) * 2002-04-10 2008-03-12 中兴通讯股份有限公司 一种数据包转发控制装置和方法
CN1264317C (zh) * 2003-12-09 2006-07-12 上海交通大学 弹性分组环网的多环互连传输方法
CN101784126B (zh) * 2008-12-31 2012-09-19 上海庆科信息技术有限公司 无线数据传输装置
US8483563B2 (en) * 2009-12-16 2013-07-09 Futurewei Technologies, Inc. Header error control protected ten gigabit passive optical network downstream frame synchronization pattern

Also Published As

Publication number Publication date
CN103532854A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN103532854B (zh) 一种报文的存储和转发方法及装置
EP3575964B1 (en) Data storage method, data recovery method in a distributed storage system with m+k storage nodes
US8843806B2 (en) Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems
CN105706059B (zh) 非易失性存储器中的错误校正
CN105162512B (zh) 多通道卫星遥感数据处理与存储系统及测试方法
US20140317479A1 (en) Methods and apparatus for error detection and correction in data storage systems
CN104765693A (zh) 一种用于存储数据的方法、装置和系统
US9916200B2 (en) Fault-tolerant distributed information handling systems and methods
CN105247488A (zh) 在硬件中提供对数据帧区段的线速率合并的高性能读取-修改-写入系统
CN105045721A (zh) 一种数据一致性校验的方法和装置
CN106933603A (zh) 一种芯片烧录的方法、装置和微控制器
CN105701410A (zh) 一种获得源代码中信息的方法、装置及系统
CN105740088A (zh) 闪存数据纠错方法及装置
CN103838638B (zh) Fpga外挂存储器校验方法及装置
CN109743133A (zh) 数据对账方法及装置
US20110041031A1 (en) Separate memories and address busses to store data and signature
CN110289949A (zh) 密钥管理方法及装置
CN106919474A (zh) 一种缓存数据保护方法和装置
CN106815153A (zh) 一种安全存储方法、装置和系统
CN104348571B (zh) 数据分块方法及装置
CN105680983A (zh) 一种解速率匹配和解交织的方法和装置
US20200133766A1 (en) Detecting single event upsets and stuck-at faults in ram-based data path controllers
CN103391246A (zh) 报文处理方法及装置
CN103823637B (zh) 一种数据处理方法及设备
CN104298572A (zh) 一种纠错方法、装置和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 16 Hing Hing Road, Chengdu high tech Development Zone, Sichuan, China 16

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder