一种报文生成方法及装置与流程

文档序号:23426120发布日期:2020-12-25 11:56阅读:98来源:国知局
一种报文生成方法及装置与流程
本申请涉及无线通信领域,尤其涉及一种报文方法及装置。
背景技术
:随着网络技术的不断发展,人们的日常生活与网络之间也越来越密不可分。其中,为了保证用户所使用的网络质量,对网络进行测试是必不可少的环节之一。相关技术中,为了进行网络测试,可以通过网络测试仪来生成报文信息,将该报文信息发送给路由器等网络设备来测试网络质量。然而,目前的报文信息不够有效,难以起到良好的测试作用。技术实现要素:为了解决现有技术存在的上述技术问题,本申请提供了一种报文生成方法及装置,可以通过掩码序列随机掩盖掉报文序列中的部分报文信息,从而能够生成长短不一的报文信息,增强了测试用例的随机性和多样性,提高了测试的有效性。第一方面,本申请实施例提供了一种报文生成方法,所述方法包括:获取掩码序列;通过所述掩码序列对第一调度信号序列进行处理,得到随机掩码后的第二调度信号序列;判断所述第二调度信号序列中的信号值是否全为0;若否,将所述第二调度信号序列对应的报文序列作为输出报文序列;若是,判断所述第一调度信号序列中的信号值是否全为0;若否,将所述第一调度信号序列对应的报文序列作为输出报文序列;若是,终止报文生成。可选的,所述将所述第二调度信号序列对应的报文序列作为输出报文序列,包括:确定所述第二调度信号序列中信号值为1的目标调度信号;确定出与所述目标调度信号对应的目标报文信息;根据所述目标报文信息生成所述第二调度信号序列对应的报文序列;将所述报文序列作为输出报文序列。可选的,所述掩码序列是通过伪随机序列发生器生成的。可选的,所述通过所述掩码序列对第一调度信号序列进行处理,得到随机掩码后的第二调度信号序列,包括:将所述掩码序列与所述第一调度信号序列进行与逻辑运算,得到随机掩码后的第二调度信号序列。可选的,所述目标报文信息对应的调度权值不为0,所述方法还包括:将所述调度权值减1,所述调度权值用于标识所述目标报文信息可用于生成所述输出报文序列的次数;重新执行所述获取掩码序列以及后续步骤。第二方面,本申请实施例提供了一种报文生成装置,所述装置包括获取单元、处理单元、第一判断单元、第一确定单元、第二判断单元和第二确定单元:所述获取单元,用于获取掩码序列;所述处理单元,用于通过所述掩码序列对第一调度信号序列进行处理,得到随机掩码后的第二调度信号序列;所述第一判断单元,用于判断所述第二调度信号序列中的信号值是否全为0;所述第一确定单元,用于若否,将所述第二调度信号序列对应的报文序列作为输出报文序列;所述第二判断单元,用于若是,判断所述第一调度信号序列中的信号值是否全为0;所述第二确定单元,用于若否,将所述第一调度信号序列对应的报文序列作为输出报文序列;若是,终止报文生成。可选的,所述第一确定单元具体用于:确定所述第二调度信号序列中信号值为1的目标调度信号;确定出与所述目标调度信号对应的目标报文信息;根据所述目标报文信息生成所述第二调度信号序列对应的报文序列;将所述报文序列作为输出报文序列。可选的,所述掩码序列是通过伪随机序列发生器生成的。可选的,所述处理单元具体用于:将所述掩码序列与所述第一调度信号序列进行与逻辑运算,得到随机掩码后的第二调度信号序列。可选的,所述目标报文信息对应的调度权值不为0,所述装置还包括调整单元和执行单元:所述调整单元,用于将所述调度权值减1,所述调度权值用于标识所述目标报文信息可用于生成所述输出报文序列的次数;所述执行单元,用于重新执行所述获取掩码序列以及后续步骤。通过上述技术方案可以看出,本申请提供了一种报文生成方法,处理设备可以获取掩码序列,通过该掩码序列对第一调度信号进行处理,随机对第一调度信号序列中的调度信号进行掩码处理,得到第二调度信号序列,然后判断第二调度信号序列中的信号值是否全为0,若否,则将第二调度信号序列对应的报文序列作为输出报文序列,若是,则进一步判断第一调度信号序列中的信号值是否全为0,若否,则将第一调度信号序列对应的报文序列作为输出报文序列,若是,则终止报文生成。由于第二调度信号序列中的调度信号被掩码处理,从而,处理设备所生成的输出报文序列的长度和内容可以具备一定的随机性,提高了测试的有效性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本申请实施例提供的一种报文生成方法的流程图;图2为本申请实施例提供的一种实际应用场景中报文生成方法的示意图;图3为本申请实施例提供的一种实际应用场景中报文生成方法的示意图;图4为本申请实施例提供的一种报文生成装置的结构框图。具体实施方式为了使本
技术领域
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在相关技术中,报文信息是通过固定的报文序列来生成的,每次生成一个报文信息时,都会调取该报文序列中的每一条报文信息来组成一个完整的报文信息。由于组成每一次调度的报文信息都基本相同,因此所生成的报文信息在长度和内容上基本一致,是可以预测的,不具有随机性,难以起到良好的测试效果。为了解决上述技术问题,本申请实施例提供了一种报文生成方法及装置,可以通过掩码序列随机掩盖掉报文序列中的部分报文信息,从而能够生成长短不一的报文信息,增强了测试用例的随机性和多样性,提高了测试的有效性。实施例一:本申请实施例提供了一种报文生成方法,下面结合附图进行介绍。参见图1,图1为本申请实施例提供的一种报文生成方法的流程图,该方法包括:s101:获取掩码序列。为了增强网络测试的随机性,在本申请实施例中,可以选择生成长度不同的报文信息来进行测试。可以理解的是,由于报文信息是通过报文序列中的各种短报文信息组成的,因此,可以通过随机掩盖掉其中的部分报文信息来实现长度不同的效果。为了实现掩盖效果,首先,处理设备可以获取一个用于掩码的掩码序列。该掩码序列的生成方式可以包括多种,例如,在一种可能的实现方式中,该掩码序列可以是通过伪随机序列发生器来生成的。s102:通过掩码序列对第一调度信号序列进行处理,得到随机掩码后的第二调度信号序列。其中,第一调度信号序列用于体现报文序列中的报文信息的调度情况。在该第一调度信号序列中包括两种信号值1和0,若第一调度信号的信号值为1,则说明该第一调度信号对应的报文信息为可以调度的报文信息;若第一调度信号的信号值为0,则说明该第一调度信号对应的报文信息为无法调度的报文信息。在相关技术中,由于每一次调度时所调度的都是报文序列中的所有可调度的报文信息,因此在对应的调度信号序列中信号值为1的调度信号基本一致,从而所生成的报文信息的长度和内容基本一致。基于此,为了使报文信息具备一定的随机性,处理设备可以通过该掩码序列对第一调度信号序列进行处理,得到随机掩码后的第二调度信号序列,该掩码序列能够使第一调度信号序列中的一些信号值为1的调度信号在第二调度信号序列中变为0,从而能够起到掩码作用。这些变为0的调度信号所对应的报文信息在此次调度中就不会放入最终生成的报文信息中,从而使最终生成的报文信息具有一定的随机性。s103:判断第二调度信号序列中的信号值是否全为0。由于掩码序列会使第一调度信号序列中一些调度信号的信号值由1变为0,因此,为了防止最终输出的报文信息长度为0,处理设备首先可以判断该第二调度信号序列中的信号值是否全为0。s104:若否,将第二调度信号序列对应的报文序列作为输出报文序列。若第二调度信号序列中的信号值不全为0,说明有一部分可以输出的报文信息所对应的调度信号未被掩码,即可以组成最终输出的输出报文序列。此时,处理设备可以将第二调度信号序列所对应的报文序列作为输出报文序列。其中,生成输出报文序列的具体方式如下:处理设备首先可以确定出该第二调度信号序列中信号值为1的目标调度信号,然后确定出与该目标调度信号对应的目标报文信息,该目标报文信息在此次报文生成中可以加入输出报文序列中,切该目标报文信息对应的目标调度信号未被掩码序列所掩盖。随后,处理设备可以根据该目标报文信息生成第二调度信号序列所对应的报文序列,然后将该报文序列作为输出报文序列。s105:若是,判断第一调度信号序列中的信号值是否全为0。若处理设备判断第二调度信号序列中的信号值全为0,则说明有以下两种情况:第一,第一调度信号序列中具有信号值为1的调度信号,但是这些调度信号由于掩码序列的作用,信号值在第二调度信号序列中变为0。此时,为了避免输出的报文序列长度为0,处理设备可以进一步的根据第一调度信号序列来生成输出报文序列。第二,第一调度信号序列中本身就不具备信号值为1的调度信号,即第一调度信号序列所对应的报文序列中的报文信息都不可被再次调度,说明该报文序列已经完成了生成测试报文的功能,报文生成过程结束。基于此,处理设备需要对第一报文序列中的信号值进行进一步的判断,从而得到第一调度信号序列的具体情况。处理设备可以判断第一调度信号序列中的信号值是否全为0。s106:若否,将第一调度信号序列对应的报文序列作为输出报文序列。若第一调度信号序列中的信号值不全为0,说明第一信号序列所对应的报文序列中具有可以被调度的报文信息,只是由于掩码序列被掩盖起来了。此时,处理设备可以将第一调度信号序列对应的报文序列作为输出报文序列。其中,生成该输出报文序列的方法与基于第二调度信号序列来生成的方式可以相同。s107:若是,终止报文生成。若第一调度信号序列中的信号值全为0,则说明第一调度信号序列对应的报文序列中已经没有可以调用的报文信息,此时,处理设备可以终止此次报文生成过程。通过上述技术方案可以看出,本申请提供了一种报文生成方法,处理设备可以获取掩码序列,通过该掩码序列对第一调度信号进行处理,随机对第一调度信号序列中的调度信号进行掩码处理,得到第二调度信号序列,然后判断第二调度信号序列中的信号值是否全为0,若否,则将第二调度信号序列对应的报文序列作为输出报文序列,若是,则进一步判断第一调度信号序列中的信号值是否全为0,若否,则将第一调度信号序列对应的报文序列作为输出报文序列,若是,则终止报文生成。由于第二调度信号序列中的调度信号被掩码处理,从而,处理设备所生成的输出报文序列的长度和内容可以具备一定的随机性,提高了测试的有效性。其中,通过掩码序列对第一调度信号序列进行处理的方式可以包括多种,只要满足能够使第一调度信号序列中的随机调度信号的信号值转变为0即可。例如,在一种可能的实现方式中,处理设备可以将掩码序列玉第一调度信号序列进行与逻辑运算,得到随机掩码后的第二调度信号序列。其中,掩码序列中的数值是随机生成的,为一组包含0和1的随机字符串。若第一调度信号序列中的某一调度信号的信号值为1,掩码序列中与其对应的数值为0,那么在进行与逻辑运算后,该调度信号在第二调度信号序列中的信号值就会变为0,从而被掩码,其对应的报文信息无法加入到此次输出报文序列中。此外,在生成输出报文序列后,为了使原始报文序列中的报文信息可被调度的机会较为平衡,处理设备可以为报文序列中的每一条报文信息设置一个调度权值。其中,上述目标报文信息所对应的调度权值不为0,说明该目标报文信息可以被调度生成输出报文序列。在生成输出报文序列后,处理设备可以将该调度权值减1,该调度权值用于标识该目标报文信息可用于生成输出报文序列的次数。当该调度权值不为0时,说明该报文信息还可以用于生成输出报文序列,即该报文信息对应的第一调度信号序列中的调度信号信号值为1;当该调度权值为0时,说明该报文信息已经无法用于生成输出报文度列,此时对应的第一调度信号序列中的调度信号信号值为0。随后,处理设备可以重新执行获取掩码序列以及后续步骤,从而重新执行生成输出报文序列中的过程。实施例二:为了便于理解本申请提供的技术方案,本申请实施例将结合一种实际应用场景,对本申请提供的报文生成方法进行介绍。参见图2,图2为本申请实施例提供的一种实际应用场景中报文生成方法的示意图。其中,初始报文序列是指用于生成报文的报文信息所在序列。q0-qn代表n条报文信息,weight为每一条报文信息所对应的调度权值。首先,处理设备可以根据该调度权值,生成第一调度信号序列bitmap。其中,调度权值不为0的报文信息所对应的调度信号信号值为1,调度权值为0的报文信息所对应的调度信号信号值为0。参见图3,图3为本申请实施例提供的一种实际应用场景中报文生成方法的示意图。处理设备可以通过伪随机序列(pseudo-randombinarysequence,简称prbs)发生器生成掩码序列mask,该掩码序列中具有n个数值为0或1的随机值。处理设备可以将该mask序列与第一调度信号序列进行与逻辑运算,得到第二调度信号序列bitmap&mask。此外,为了进一步提高报文信息的多样性,处理设备还可以向用户提供设置报文包长分布的功能,即用户可以设置不同长度的报文序列在最终生成的全部报文序列中所占的比例。例如,用户可以设置如下表格所示的包长分布:报文长度报文数比例64字节1128字节2256字节4512字节7处理设备将基于上述报文比例进行报文生成,最终生成的四种长度64字节、128字节、256字节和512字节长度的报文数比例为1:2:4:7。随后,处理设备可以先对第二调度信号序列bitmap&mask进行判断,判断其信号值是否全为0。若否,则基于第二调度信号序列生成输出报文序列p1,并将该p1序列中报文信息对应的weight值-1;若是,处理设备对第一调度信号序列bitmap进行判断,判断其信号值是否全为0。若否,则基于第一调度信号序列bitmap生成输出报文序列p2,同时将该p2序列中报文信息对应的weight值-1。若第一信号序列中的信号值全为0,则说明此轮报文生成过程已经结束,此时处理设备可以将初始报文序列中的全部报文信息的weight值恢复为初始值,进行下一轮报文信息的生成。实施例三:基于上述实施例提供的一种报文生成方法,本申请实施例还提供了一种报文生成装置,参见图4,图4为本申请实施例提供的一种报文生成装置400的结构框图,装置400包括获取单元401、处理单元402、第一判断单元403、第一确定单元404、第二判断单元405和第二确定单元406:所述获取单元401,用于获取掩码序列;所述处理单元402,用于通过所述掩码序列对第一调度信号序列进行处理,得到随机掩码后的第二调度信号序列;所述第一判断单元403,用于判断所述第二调度信号序列中的信号值是否全为0;所述第一确定单元404,用于若否,将所述第二调度信号序列对应的报文序列作为输出报文序列;所述第二判断单元405,用于若是,判断所述第一调度信号序列中的信号值是否全为0;所述第二确定单元406,用于若否,将所述第一调度信号序列对应的报文序列作为输出报文序列;若是,终止报文生成。在一种可能的实现方式中,所述第一确定单元404具体用于:确定所述第二调度信号序列中信号值为1的目标调度信号;确定出与所述目标调度信号对应的目标报文信息;根据所述目标报文信息生成所述第二调度信号序列对应的报文序列;将所述报文序列作为输出报文序列。在一种可能的实现方式中,所述掩码序列是通过伪随机序列发生器生成的。在一种可能的实现方式中,所述处理单元402具体用于:将所述掩码序列与所述第一调度信号序列进行与逻辑运算,得到随机掩码后的第二调度信号序列。在一种可能的实现方式中,所述目标报文信息对应的调度权值不为0,所述装置还包括调整单元和执行单元:所述调整单元,用于将所述调度权值减1,所述调度权值用于标识所述目标报文信息可用于生成所述输出报文序列的次数;所述执行单元,用于重新执行所述获取掩码序列以及后续步骤。应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本申请的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1