发明内容
为此,需要提供一种网络包收发处理的技术方案,用以解决网络包收发处理装置在进行传输处理报文数据时,传输速度慢、报文容易出错、安全性低等问题。
为实现上述目的,发明人提供了一种网络包收发处理装置,包括运行模式配置模块,发送模块,接收模块,报文传输控制模块,存储管理模块,存储模块,检验模块,读取模块以及测试内核;所述存储模块包括多个存储单元;所述发送模块和报文传输控制模块连接,所述接收模块和报文传输控制模块连接,所述报文传输控制模块和存储模块连接,所述存储模块和存储管理模块连接,所述存储模块和校验模块连接,所述测试内核和存储管理模块连接;
所述运行模式配置模块用于配置装置的运行模式,所述运行模式包括工作模式和扫描模式;
当配置的运行模式为工作模式时,所述接收模块用于接收报文数据,并将报文数据传输至报文传输控制模块;
所述报文传输模块用于对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块;
所述存储管理模块用于接收数据,并将数据写入存储模块中,进行数据缓存;
所述发送模块用于在接收到数据传输请求后,发送存储模块中缓存的数据;
当配置的运行模式为扫描模式时,所述存储管理模块用于初始化存储模块的存储单元;
所述测试内核用于自行产生测试数据,所述存储管理模块还用于对测试数据进行地址译码后写入存储模块;
所述校验模块用于判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元;
所述校验模块还用于判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误;
所述测试内核还用于自行产生另一测试数据,所述存储管理模块还用于将另一测试数据写入存储单元,所述读取模块用于读取存储单元中的数据,所述校验模块还用于判断读取模块读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。
进一步地,所述报文传输控制模块包括报文剥离模块,报文丢弃模块,报文输出模块;
所述报文丢弃模块用于将错误的报文加以丢弃;
所述报文剥离模块用于将正确报文内部净荷与头尾域段相剥离;
所述报文输出模块用于输出内部净荷与头尾域段剥离后的正确报文。
进一步地,所述所述装置还包括指示信号输出模块,所述指示信号输出模块用于在报文丢弃模块将错误报文丢弃后输出指示信号。
进一步地,所述所述装置还包括中断生成模块,所述中断生成模块用于在单元测试错误时,产生中断并输出。
发明人还提供了一种网络包收发处理装置的设计方法,所述方法应用于网络包收发处理装置,所述网络包收发处理装置包括运行模式配置模块,发送模块,接收模块,报文传输控制模块,存储管理模块,存储模块,检验模块以及测试内核;存储模块包括多个存储单元;所述发送模块和报文传输控制模块连接,所述接收模块和报文传输控制模块连接,所述报文传输控制模块和存储模块连接,所述存储模块和存储管理模块连接,所述存储模块和校验模块连接,所述测试内核和存储管理模块连接;所述方法包括:
配置装置的运行模式,所述运行模式包括工作模式和扫描模式;
当配置的运行模式为工作模式时,所述方法包括以下步骤:
接收模块接收报文数据,并将报文数据传输至报文传输控制模块;
报文传输模块对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块;
存储管理模块接收数据,并将数据写入存储模块中,进行数据缓存;
发送模块在接收到数据请求后,发送存储模块中缓存的数据;
当配置的运行模式为扫描模式时,所述方法包括以下步骤:
初始化存储模块的存储单元;
测试内核自行产生测试数据,存储管理模块对测试数据进行地址译码后写入存储模块;
判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元;
判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误;
测试内核自行产生另一测试数据,存储管理模块将另一测试数据写入存储单元,读取存储单元中的数据,并判断读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。
进一步地,所述报文传输控制模块包括报文剥离模块,报文丢弃模块,报文输出模块;则所述步骤“报文传输模块对报文数据进行以太网报文数据校验”包括:
报文丢弃模块将错误的报文加以丢弃;
报文剥离模块将正确报文内部净荷与头尾域段相剥离;
报文输出模块输出内部净荷与头尾域段剥离后的正确报文。
进一步地,所述方法还包括步骤:
在报文丢弃模块将错误报文丢弃后输出指示信号。
进一步地,所述方法还包括步骤:
在单元测试错误时,产生中断并输出。
区别于现有技术,上述技术方案所述的网络包收发处理装置及其设计方法,所述方法应用于网络包收发处理装置,所述网络包收发处理装置包括运行模式配置模块,发送模块,接收模块,报文传输控制模块,存储管理模块,存储模块,检验模块以及测试内核;存储模块包括多个存储单元;所述发送模块和报文传输控制模块连接,所述接收模块和报文传输控制模块连接,所述报文传输控制模块和存储模块连接,所述存储模块和存储管理模块连接,所述存储模块和校验模块连接,所述测试内核和存储管理模块连接。
网络包收发处理装置在对报文进行收发时,运行模式包括工作模式和扫描模式,工作模式下网络包收发处理装置可以与外界进行交互,完成报文的收发操作;扫描模式下网络包收发处理装置可以对报文在处理器内部的传输状况进行测试,保证工作模式下报文可以正常传输。
当配置的运行模式为工作模式时,所述方法包括以下步骤:接收模块接收报文数据,并将报文数据传输至报文传输控制模块;报文传输模块对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块;存储管理模块接收数据,并将数据写入存储模块中,进行数据缓存;发送模块在接收到数据请求后,发送存储模块中缓存的数据。通过网络包收发处理装置的设计,可以很好地实现与外界进行报文数据交互的功能,且可以使得传输变得高效、快速。
当配置的运行模式为扫描模式时,所述方法包括以下步骤:初始化存储模块的存储单元;测试内核自行产生测试数据,存储管理模块对测试数据进行地址译码后写入存储模块;判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元;判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误;测试内核自行产生另一测试数据,存储管理模块将另一测试数据写入存储单元,读取存储单元中的数据,并判断读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。通过网络包收发处理装置内部测试内核生成测试数据,可以对报文在网络包收发处理装置内部的传输情况进行自我测验,从而保证工作模式下报文快速安全地传输,因而上述技术方案在数据通信领域具有广阔的市场前景。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施例所述网络包收发处理装置的示意图。所述装置包括运行模式配置模块,发送模块102,接收模块101,报文传输控制模块103,存储管理模块104,存储模块105,检验模块,读取模块以及测试内核;所述存储模块105包括多个存储单元;所述发送模块102和报文传输控制模块103连接,所述接收模块101和报文传输控制模块103连接,所述报文传输控制模块103和存储模块105连接,所述存储模块105和存储管理模块104连接,所述存储模块105和校验模块连接,所述测试内核和存储管理模块104连接。
所述运行模式配置模块用于配置装置的运行模式,所述运行模式包括工作模式和扫描模式。当配置的运行模式为工作模式时,所述接收模块用于接收报文数据,并将报文数据传输至报文传输控制模块;所述报文传输模块用于对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块;所述存储管理模块用于接收数据,并将数据写入存储模块中,进行数据缓存;所述发送模块用于在接收到数据传输请求后,发送存储模块中缓存的数据。
当配置的运行模式为扫描模式时,所述存储管理模块用于初始化存储模块的存储单元;所述测试内核用于自行产生测试数据,所述存储管理模块还用于对测试数据进行地址译码后写入存储模块;所述校验模块用于判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元;所述校验模块还用于判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误;所述测试内核还用于自行产生另一测试数据,所述存储管理模块还用于将另一测试数据写入存储单元,所述读取模块用于读取存储单元中的数据,所述校验模块还用于判断读取模块读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。
在使用网络包收发处理装置时,首先运行模式配置模块配置当前网络包收发处理装置的运行模式,所述运行模式包括工作模式和扫描模式,工作模式下网络包收发处理装置可以与外界(如以太网、局域网等)进行交互,完成报文的收发操作。例如网络包收发处理装置可以接收来自以太网的报文数据,在装置内部对报文数据进行传输处理后,再将处理后的报文数据发送至以太网,报文数据可以采用网络包的形式进行发送,进而实现网络包处理装置与以太网直接进行数据交互。扫描模式下网络包收发处理装置可以对报文在处理器内部的传输状况进行测试,保证工作模式下报文可以正常传输。例如报文数据传输过程中,出现报文数据丢失的状况,此时就需要对相关故障进行排查,可以将网络包收发处理装置的运行模式设置为扫描模式,通过处理器内部的测试内核生成测试数据,完成对数据的译码地址测试以及单元测试,若测试通过,则说明网络包收发处理装置内部运行正常,若测试不通过,则说明网络包收发处理装置内部在报文数据传输时存在一定问题,维护人员可以对网络包收发处理装置进行进一步检测,找出故障所在进而采用有效措施进行维护,从而保证报文传输的正常运作。
当配置的运行模式为工作模式时,首先接收模块101接收报文数据,并将报文数据传输至报文传输控制模块。接收模块所接收的报文数据可以是由外界发送至网络包收发处理装置,需要网络包收发处理装置进行运算处理的数据,发送端可以是以太网、局域网等。接收模块接收报文数据后,会将报文数据传输至报文传输控制模块,报文控制模块会对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块。报文数据传输过程中,需要满足相关协议的格式要求,否则容易发生错误,因而需要对报文数据进行以太网报文数据校验,保证报文的正确性。对于错误的校验错误的报文可以将其丢弃,而对于校验正确的报文则可以将其发送至存储管理模块中。存储管理模块在接收到数据后,可以通过存储接口将所接收的报文数据写入存储模块中,并对数据进行缓存。当需要对缓存的数据作进一步运算处理时,可以通过CPU接口将缓存的数据发送至CPU,以便CPU对数据进一步运算处理。运算处理后的数据,存储管理模块可以通过存储接口继续对CPU运算处理后的数据进行缓存。发送模块在接收到数据请求后,发送存储模块中缓存的数据。数据请求可以的发送端可以是以太网、局域网等。这样,就实现了网络包收发处理装置与外界(如以太网)之间数据的高效传输。
网络包收发处理装置的运行模式除了工作模式外,还包括扫描模式,扫描模式为网络包收发处理装置内部进行测试的一种模式,主要目的是测试报文在网络包收发处理装置内部进行传输过程中是否存在问题,进而排除故障,保证报文数据可以有效传输。当配置的运行模式为扫描模式时,对报文传输的测试包括地址测试以及单元测试。
对于地址测试,首先存储管理模块初始化存储模块的存储单元。存储模块中包括有多个存储单元,每个存储单元有其对应的存储地址,由于需要将测试数据写入到存储单元中,因而需要对各个存储单元进行初始化,排除其他因素对地址测试的影响,例如可以将各个存储单元中的存储值全部赋值为0。而后测试内核自行产生测试数据,存储管理模块对测试数据进行地址译码后写入存储模块。而后校验模块就可以判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元。而后判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误。例如某一存储模块包括10个存储单元,这10个存储单元对应的存储地址分别从0001~0010,并将存储单元中的存储的数据值都初始化为0。当测试内核生成一组测试数据后,将其写入到存储地址为0005对应的存储单元中,写入的数据值为100。读取模块首先会读取存储地址为0001的存储单元中所存储的数据,并将所读取的数据与写入的数据值(100)进行比较,如果相同则会记录0001这一存储地址,如果不同则继续读取存储地址为0002的存储单元中所存储的数据,并将所读取的数据与写入的数据值进行比较。以此类推,直到读取的数据与写入的数据值相同。例如当读取到存储地址为0004的存储单元时,所读取出来的数据为100,则说明所读取的数据与写入的数据一致,此时就会记录这一存储单元的存储地址(即0004),而后会将所记录的存储单元的存储地址(0004)与本应该写入的存储地址(0005)进行比较,不一致则说明测试内核生成的测试数据本应该写入存储地址为0005的存储单元中,但却写入了存储地址为0004的存储单元中,也就是说,地址测试错误。而如果所记录的存储单元的存储地址正确(即数据值为100的测试数据存入了存储地址为0005的存储单元中),则说明地址测试通过,而后就可以进行单元测试。
地址测试通过,说明测试内核生成的数据可以准确写入到正确的存储地址对应的存储单元中,但写入存储单元的数据同样也会发生错误,因而需要进行单元测试。对于单元测试,首先测试内核自行产生另一测试数据,存储管理模块将另一测试数据写入存储单元。读取存储单元中的数据,并判断读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。例如写入存储地址为0005的存储单元中的测试数据值为200,当读取模块在读取存储地址为0005的存储单元中的测试数据时,所读取的数据的值为199,则说明数据从写入到读取这一环节发生错误,单元测试错误。而如果读取出存储地址为0005的存储单元中的测试数据值也为200,则测试通过。通过地址测试和单元测试,可以保证报文数据在网络包收发处理装置内部传输的准确性,同时由于测试内核位于网络包收发处理装置内部,因而可以实现工作模式与扫描模式的快速切换,从而大大降低了网络包收发处理装置维护的步骤。
如图2所示,在本实施方式中,所述报文传输控制模块103包括报文剥离模块113,报文丢弃模块123,报文输出模块133。所述报文丢弃模块用于将错误的报文加以丢弃;所述报文剥离模块用于将正确报文内部净荷与头尾域段相剥离;所述报文输出模块用于输出内部净荷与头尾域段剥离后的正确报文。报文通常包括头域段、内部净荷以及尾域段,头域段包括报文的源地址、目标地址、类型等信息,内部净荷包括报文包含的有效的数据信息,尾域段包括CRC校验码等信息。错误的报文包括总长度错误的报文、头域段、内部净荷错误的报文以及尾域段错误的报文等,报文丢弃模块会对错误的报文加以丢弃,而对于正确的报文,报文剥离模块会将正确报文内部净荷与头尾域段相剥离,从而提取出正确报文的内部净荷所包含的有效的数据信息,进而报文输出模块输出内部净荷与头尾域段剥离后的正确报文。输出的报文可以传输至存储管理模块,以便进一步处理。通过报文传输控制模块可以对网络包报文数据进行有效校验,并对错误的报文加以丢弃,保证传输至存储管理模块的数据为正确的报文数据。
在本实施方式中,所述装置还包括指示信号输出模块,所述指示信号输出模块用于在报文丢弃模块将错误报文丢弃后输出指示信号。指示信号可以是语音信号,也可以是指示灯信号。如果报文一直处于被丢弃状态,往往是因为传输至报文传输控制模块的网络包报文数据存在问题,因而在报文丢弃模块将错误报文丢弃后,指示信号输出模块指示信号。测试人员可以根据指示信号判断报文数据是否发生错误,如果测试人员根据指示信号判断出如果报文一直处于错误状态,可以及时采取有效措施加以处理。
在本实施方式中,所述装置还包括中断生成模块,所述中断生成模块用于在单元测试错误时,产生中断并输出。如果单元测试错误,则说明报文数据写入到存储模块中的存储单元中发送错误,所读取出的数据与写入的数据不一致,如若继续传输报文,继续往存储单元中写入缓存数据,则这些数据最终往往无法被正确读取。因而对于单元测试错误时,中断生成模块产生中断,停止报文数据被继续写入存储模块中,测试人员进而可以对网络包收发处理装置进行进一步检测,找出问题所在加以解决。通过产生中断,可以对网络包收发处理装置存在的问题进行及时校验调整,进而保证报文收发的正确性。
上述技术方案所述的网络包收发处理装置及其设计方法,包括运行模式配置模块,发送模块,接收模块,报文传输控制模块,存储管理模块,存储模块,检验模块以及测试内核;存储模块包括多个存储单元;所述发送模块和报文传输控制模块连接,所述接收模块和报文传输控制模块连接,所述报文传输控制模块和存储模块连接,所述存储模块和存储管理模块连接,所述存储模块和校验模块连接,所述测试内核和存储管理模块连接。网络包收发处理装置在对报文进行收发时,运行模式包括工作模式和扫描模式,工作模式下网络包收发处理装置可以与外界进行交互,完成报文的收发操作;扫描模式下网络包收发处理装置可以对报文在处理器内部的传输状况进行测试,保证工作模式下报文可以正常传输。
当配置的运行模式为工作模式时,所述方法包括以下步骤:接收模块接收报文数据,并将报文数据传输至报文传输控制模块;报文传输模块对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块;存储管理模块接收数据,并将数据写入存储模块中,进行数据缓存;发送模块在接收到数据请求后,发送存储模块中缓存的数据。通过网络包收发处理装置的设计,可以很好地实现与外界进行报文数据交互的功能,且可以使得传输变得高效、快速。
当配置的运行模式为扫描模式时,所述方法包括以下步骤:初始化存储模块的存储单元;测试内核自行产生测试数据,存储管理模块对测试数据进行地址译码后写入存储模块;判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元;判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误;测试内核自行产生另一测试数据,存储管理模块将另一测试数据写入存储单元,读取存储单元中的数据,并判断读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。通过网络包收发处理装置内部测试内核生成测试数据,可以对报文在网络包收发处理装置内部的传输情况进行自我测验,从而保证工作模式下报文快速安全地传输,因而上述技术方案在数据通信领域具有广阔的市场前景。
以及发明人还提供了一种网络包收发处理装置的设计方法,所述方法应用于网络包收发处理装置,所述网络包收发处理装置包括运行模式配置模块,发送模块,接收模块,报文传输控制模块,存储管理模块,存储模块,检验模块以及测试内核;存储模块包括多个存储单元;所述发送模块和报文传输控制模块连接,所述接收模块和报文传输控制模块连接,所述报文传输控制模块和存储模块连接,所述存储模块和存储管理模块连接,所述存储模块和校验模块连接,所述测试内核和存储管理模块连接;所述方法包括以下步骤:
首先配置装置的运行模式,所述运行模式包括工作模式和扫描模式。工作模式下网络包收发处理装置可以与外界(如以太网、局域网等)进行交互,完成报文的收发操作。例如网络包收发处理装置可以接收来自以太网的报文数据,在装置内部对报文数据进行传输处理后,再将处理后的报文数据发送至以太网,报文数据可以采用网络包的形式进行发送,进而实现网络包处理装置与以太网直接进行数据交互。扫描模式下网络包收发处理装置可以对报文在处理器内部的传输状况进行测试,保证工作模式下报文可以正常传输。例如报文数据传输过程中,出现报文数据丢失的状况,此时就需要对相关故障进行排查,可以将网络包收发处理装置的运行模式设置为扫描模式,通过处理器内部的测试内核生成测试数据,完成对数据的译码地址测试以及单元测试,若测试通过,则说明网络包收发处理装置内部运行正常,若测试不通过,则说明网络包收发处理装置内部在报文数据传输时存在一定问题,维护人员可以对网络包收发处理装置进行进一步检测,找出故障所在进而采用有效措施进行维护,从而保证报文传输的正常运作。
请参阅图3,为本发明一实施例所述网络包收发处理装置的设计方法的流程图。当配置的运行模式为工作模式时,所述方法包括以下步骤:
首先进入步骤S301接收模块接收报文数据,并将报文数据传输至报文传输控制模块。接收模块所接收的报文数据可以是由外界发送至网络包收发处理装置,需要网络包收发处理装置进行运算处理的数据,发送端可以是以太网、局域网等。接收模块接收报文数据后,会将报文数据传输至报文传输控制模块,而后可以进入步骤S302报文控制模块对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块。报文数据传输过程中,需要满足相关协议的格式要求,否则容易发生错误,因而需要对报文数据进行以太网报文数据校验,保证报文的正确性。对于错误的校验错误的报文可以将其丢弃,而对于校验正确的报文则可以将其发送至存储管理模块中。而后可以进入步骤S303存储管理模块接收数据,并将数据写入存储模块中,进行数据缓存。当需要对缓存的数据作进一步运算处理时,可以通过CPU接口将缓存的数据发送至CPU,以便CPU对数据进一步运算处理。运算处理后的数据,存储管理模块可以通过存储接口继续对CPU运算处理后的数据进行缓存。而后可以进入步骤S304发送模块在接收到数据请求后,发送存储模块中缓存的数据。数据请求可以的发送端可以是以太网、局域网等。这样,就实现了网络包收发处理装置与外界(如以太网)之间数据的高效传输。
网络包收发处理装置的运行模式除了工作模式外,还包括扫描模式,扫描模式为网络包收发处理装置内部进行测试的一种模式,主要目的是测试报文在网络包收发处理装置内部进行传输过程中是否存在问题,进而排除故障,保证报文数据可以有效传输。当配置的运行模式为扫描模式时,对报文传输的测试包括地址测试以及单元测试。请参阅图4,为本发明另一实施例所述网络包收发处理装置的设计方法的流程图。在扫描模式下,所述方法具体包括如下步骤:
对于地址测试,首先进入步骤S401初始化存储模块的存储单元。存储模块中包括有多个存储单元,每个存储单元有其对应的存储地址,由于需要将测试数据写入到存储单元中,因而需要对各个存储单元进行初始化,排除其他因素对地址测试的影响,例如可以将各个存储单元中的存储值全部赋值为0。而后进入步骤S402测试内核自行产生测试数据,存储管理模块对测试数据进行地址译码后写入存储模块。而后进入步骤S403判断存储单元中的数据与测试数据是否一致,若一致则进入步骤S405记录该存储单元对应的存储地址,否则进入步骤S404继续遍历下一存储单元。而后进入步骤S406判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误。例如某一存储模块包括10个存储单元,这10个存储单元对应的存储地址分别从0001~0010,并将存储单元中的存储的数据值都初始化为0。当测试内核生成一组测试数据后,将其写入到存储地址为0005对应的存储单元中,写入的数据值为100。读取模块首先会读取存储地址为0001的存储单元中所存储的数据,并将所读取的数据与写入的数据值(100)进行比较,如果相同则会记录0001这一存储地址,如果不同则继续读取存储地址为0002的存储单元中所存储的数据,并将所读取的数据与写入的数据值进行比较。以此类推,直到读取的数据与写入的数据值相同。例如当读取到存储地址为0004的存储单元时,所读取出来的数据为100,则说明所读取的数据与写入的数据一致,此时就会记录这一存储单元的存储地址(即0004),而后会将所记录的存储单元的存储地址(0004)与本应该写入的存储地址(0005)进行比较,不一致则说明测试内核生成的测试数据本应该写入存储地址为0005的存储单元中,但却写入了存储地址为0004的存储单元中,也就是说,地址测试错误。而如果所记录的存储单元的存储地址正确(即数据值为100的测试数据存入了存储地址为0005的存储单元中),则说明地址测试通过,而后就可以进行单元测试。
地址测试通过,说明测试内核生成的数据可以准确写入到正确的存储地址对应的存储单元中,但写入存储单元的数据同样也会发生错误,因而需要进行单元测试。对于单元测试,首先进入步骤S407测试内核自行产生另一测试数据,存储管理模块将另一测试数据写入存储单元。而后进入步骤S408读取存储单元中的数据,并判断读取的数据与另一测试数据是否一致。若一致则测试通过,否则单元测试错误。例如写入存储地址为0005的存储单元中的测试数据值为200,当读取模块在读取存储地址为0005的存储单元中的测试数据时,所读取的数据的值为199,则说明数据从写入到读取这一环节发生错误,单元测试错误。而如果读取出存储地址为0005的存储单元中的测试数据值也为200,则测试通过。通过地址测试和单元测试,可以保证报文数据在网络包收发处理装置内部传输的准确性,同时由于测试内核位于网络包收发处理装置内部,因而可以实现工作模式与扫描模式的快速切换,从而大大降低了网络包收发处理装置维护时的步骤。
在本实施方式中,所述报文传输控制模块包括报文剥离模块,报文丢弃模块,报文输出模块。则所述步骤“报文传输模块对报文数据进行以太网报文数据校验”包括:报文丢弃模块将错误的报文加以丢弃;报文剥离模块将正确报文内部净荷与头尾域段相剥离;报文输出模块输出内部净荷与头尾域段剥离后的正确报文。报文通常包括头域段、内部净荷以及尾域段,头域段包括报文的源地址、目标地址、类型等信息,内部净荷包括报文包含的有效的数据信息,尾域段包括CRC校验码等信息。错误的报文包括总长度错误的报文、头域段、内部净荷错误的报文以及尾域段错误的报文等,报文丢弃模块会对错误的报文加以丢弃,而对于正确的报文,报文剥离模块会将正确报文内部净荷与头尾域段相剥离,从而提取出正确报文的内部净荷所包含的有效的数据信息,进而报文输出模块输出内部净荷与头尾域段剥离后的正确报文。输出的报文可以传输至存储管理模块,以便进一步处理。通过报文传输控制模块可以对网络包报文数据进行有效校验,并对错误的报文加以丢弃,保证传输至存储管理模块的数据为正确的报文数据。
在本实施方式中,所述网络包收发处理装置还包括指示信号输出模块,所述指示信号输出模块用于在报文丢弃模块将错误报文丢弃后输出指示信号。指示信号可以是语音信号,也可以是指示灯信号。如果报文一直处于被丢弃状态,往往是因为传输至报文传输控制模块的网络包报文数据存在问题,因而在报文丢弃模块将错误报文丢弃后,指示信号输出模块指示信号。测试人员可以根据指示信号判断报文数据是否发生错误,如果测试人员根据指示信号判断出如果报文一直处于错误状态,可以及时采取有效措施加以处理。
在本实施方式中,所述装置还包括中断生成模块,所述中断生成模块用于在单元测试错误时,产生中断并输出。如果单元测试错误,则说明报文数据写入到存储模块中的存储单元中发送错误,所读取出的数据与写入的数据不一致,如若继续传输报文,继续往存储单元中写入缓存数据,则这些数据最终往往无法被正确读取。因而对于单元测试错误时,中断生成模块产生中断,停止报文数据被继续写入存储模块中,测试人员进而可以对网络包收发处理装置进行进一步检测,找出问题所在加以解决。通过产生中断,可以对网络包收发处理装置存在的问题进行及时校验调整,进而保证报文收发的正确性。
上述技术方案所述的网络包收发处理装置及其设计方法,包括运行模式配置模块,发送模块,接收模块,报文传输控制模块,存储管理模块,存储模块,检验模块以及测试内核;存储模块包括多个存储单元;所述发送模块和报文传输控制模块连接,所述接收模块和报文传输控制模块连接,所述报文传输控制模块和存储模块连接,所述存储模块和存储管理模块连接,所述存储模块和校验模块连接,所述测试内核和存储管理模块连接。网络包收发处理装置在对报文进行收发时,运行模式包括工作模式和扫描模式,工作模式下网络包收发处理装置可以与外界进行交互,完成报文的收发操作;扫描模式下网络包收发处理装置可以对报文在处理器内部的传输状况进行测试,保证工作模式下报文可以正常传输。
当配置的运行模式为工作模式时,所述方法包括以下步骤:接收模块接收报文数据,并将报文数据传输至报文传输控制模块;报文传输模块对报文数据进行以太网报文数据校验,并将校验正确的数据发送至存储管理模块;存储管理模块接收数据,并将数据写入存储模块中,进行数据缓存;发送模块在接收到数据请求后,发送存储模块中缓存的数据。通过网络包收发处理装置的设计,可以很好地实现与外界进行报文数据交互的功能,且可以使得传输变得高效、快速。
当配置的运行模式为扫描模式时,所述方法包括以下步骤:初始化存储模块的存储单元;测试内核自行产生测试数据,存储管理模块对测试数据进行地址译码后写入存储模块;判断存储单元中的数据与测试数据是否一致,若一致则记录该存储单元对应的存储地址,否则继续遍历下一存储单元;判断记录的存储单元对应的存储地址是否正确,若正确则进入下一步骤,否则地址测试错误;测试内核自行产生另一测试数据,存储管理模块将另一测试数据写入存储单元,读取存储单元中的数据,并判断读取的数据与另一测试数据是否一致,若一致则测试通过,否则单元测试错误。通过网络包收发处理装置内部测试内核生成测试数据,可以对报文在网络包收发处理装置内部的传输情况进行自我测验,从而保证工作模式下报文快速安全地传输,因而上述技术方案在数据通信领域具有广阔的市场前景。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。