一种随机数测试方法、装置、设备和计算机程序产品制造方法及图纸

技术编号:38089054 阅读:10 留言:0更新日期:2023-07-06 08:59
本申请提供一种随机数测试方法、装置、设备和计算机程序产品,涉及网络安全技术领域。一种随机数测试方法,采用多核并行处理技术,包括:获取测试项并对所述测试项进行预处理,生成多个独立的测试子项;创建响应请求的前台线程和执行测试的后台线程;基于所述测试子项,通过所述后台线程获取并分配空闲的处理器核心分别执行每个所述测试子项并生成测试结果;发送测试完成事件至所述前台线程,并终止所述后台线程。本申请的技术方案采用多核多进程处理机制,提高处理器利用率,极大地缩短了测试周期。测试周期。测试周期。

【技术实现步骤摘要】
一种随机数测试方法、装置、设备和计算机程序产品


[0001]本申请涉及网络安全
,具体而言,涉及一种随机数测试方法、装置、设备和计算机程序产品。

技术介绍

[0002]随着物联网技术的快速崛起,物联网安全越来越受到人们的重视,而网络安全的基石—密钥,又取决于随机数的质量,随机数的质量好坏从本质上影响着安全的根基。
[0003]测试随机数的好坏需要通过产生大量的数据来验证其质量,因而需要能快速检测随机数质量的工具,以缩短开发/验证周期,加速产品上市时间。
[0004]目前市面上只有极少数的随机数测试工具,基本都使用单核多线程来进行随机数测试。现有技术的缺陷主要有三点:一是测试时间太长,因为随机数测试项比较多,运算量比较大,在测试数据量大的时候,通常需要好几个小时甚至一天的时间才能测试完成;二是现今的办公电脑大都是采用多核多线程技术,而市面上的测试工具或平台使用的基本都是单核多线程方案,导致CPU利用率极低,尤其是使用服务器进行加速测试时,其CPU效率更低;三是采用多线程时,需要处理线程间的同步问题,需要增加额外的时间成本。

技术实现思路

[0005]本申请提供一种随机数测试方法、装置、设备和计算机程序产品,采用多核多进程处理机制,在提高CPU利用率的同时还可以规避多线程带来的同步问题,极大的缩短了测试周期,节省大量的时间及人力成本。
[0006]根据本申请的一方面,提供一种随机数测试方法,采用多核并行处理技术,包括:获取测试项并对所述测试项进行预处理,生成多个独立的测试子项;创建响应请求的前台线程和执行测试的后台线程;基于所述测试子项,通过所述后台线程获取并分配空闲的处理器核心分别执行每个所述测试子项并生成测试结果;发送测试完成事件至所述前台线程,并终止所述后台线程。
[0007]根据一些实施例,对所述测试项进行预处理前需先进行所述测试项的初始化设置,包括:添加待测文件或文件夹;选择并保存测试标准和所述测试项;设置测试路径和测试报告的输出路径。
[0008]根据一些实施例,对所述测试项进行预处理包括:判断所述测试项是否存在依赖项,获取存在所述依赖项的第一测试项和不存在所述依赖项的第二测试项;根据所述第二测试项判断是否存在公共接口。
[0009]根据一些实施例,所述第一测试项与所述依赖项打包为第一测试子项,并进行独立封装。
[0010]根据一些实施例,根据所述第二测试项判断是否存在公共接口,包括:获取不存在公共接口的第二测试子项,并进行独立封装;获取存在公共接口的第三测试子项,并进行独立封装。
[0011]根据一些实施例,通过所述后台线程获取并分配空闲的处理器核心分别执行所述测试子项并生成测试结果,包括:获取所述测试子项及基于所述测试子项设立的独立测试项列表;获取所述空闲的处理器核心,并根据每个所述空闲的处理器核心创建一个新进程;为每个所述新进程分配所述独立测试项列表中的一个所述测试子项,通过所述空闲的处理器核心执行所述测试子项;生成所述独立测试项列表中每个所述测试子项的测试结果。
[0012]根据一些实施例,所述测试子项包括所述第一测试子项、所述第二测试子项和所述第三测试子项。
[0013]根据一些实施例,获取所述空闲的处理器核心,包括:所述空闲的处理器核心的数量对应处理器核心信号的数量;若获取到所述处理器核心信号,则分配所述空闲的处理器核心以用于执行所述测试子项;若未获取到所述处理器核心信号,则轮询等待所述空闲的处理器核心以用于执行所述测试子项。
[0014]根据一些实施例,所述测试完成事件包括:所述独立测试项列表中每个所述测试子项均已执行完毕;合并每个所述测试子项的测试结果以生成所述测试报告。
[0015]根据本申请的一方面,提供一种随机数测试装置,包括:输入模块,用于获取测试项并进行初始化设置;存储模块,用于存储所述测试项及测试报告;预处理模块,用于将已经过初始化设置的所述测试项拆分为独立的测试子项;执行模块,用于通过多个空闲的处理器核心及对应创建的多个新进程分别执行每个所述测试子项并生成测试结果;输出模块,用于合并全部所述测试子项的测试结果,并生成所述测试报告。
[0016]根据本申请的一方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得一个或多个处理器实现如前述的方法。
[0017]根据本申请的一方面,提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如前述的方法。
[0018]根据本申请的实施例,可将测试项拆分为公共部分和独立部分,并封装为单独的模块,并且采用多核多进程处理机制,提供处理器利用率,规避多线程可能出现的同步问题,极大地缩短了测试周期。
[0019]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0020]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
[0021]图1示出根据本申请示例实施例的一种随机数测试方法的流程图。
[0022]图2示出根据本申请示例实施例的测试项初始化设置流程图。
[0023]图3示出根据本申请示例实施例的测试项预处理流程图。
[0024]图4示出根据本申请示例实施例的前台线程流程图。
[0025]图5示出根据本申请示例实施例的后台线程流程图。
[0026]图6示出根据本申请示例实施例的一种随机数测试装置的框图。
[0027]图7示出根据本申请示例实施例的电子设备的框图。
具体实施方式
[0028]现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0029]所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置或操作等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
[0030]附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0031]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种随机数测试方法,采用多核并行处理技术,其特征在于,包括:获取测试项并对所述测试项进行预处理,生成多个独立的测试子项;创建响应请求的前台线程和执行测试的后台线程;基于所述测试子项,通过所述后台线程获取并分配空闲的处理器核心分别执行每个所述测试子项并生成测试结果;发送测试完成事件至所述前台线程,并终止所述后台线程。2.根据权利要求1所述的测试方法,其特征在于,对所述测试项进行预处理前需先进行所述测试项的初始化设置,包括:添加待测文件或文件夹;选择并保存测试标准和所述测试项;设置测试路径和测试报告的输出路径。3.根据权利要求1所述的测试方法,其特征在于,对所述测试项进行预处理包括:判断所述测试项是否存在依赖项,获取存在所述依赖项的第一测试项和不存在所述依赖项的第二测试项;根据所述第二测试项判断是否存在公共接口。4.根据权利要求3所述的测试方法,其特征在于,所述第一测试项与所述依赖项打包为第一测试子项,并进行独立封装。5.根据权利要求3所述的测试方法,其特征在于,根据所述第二测试项判断是否存在公共接口,包括:获取不存在公共接口的第二测试子项,并进行独立封装;获取存在公共接口的第三测试子项,并进行独立封装。6.根据权利要求1所述的测试方法,其特征在于,通过所述后台线程获取并分配空闲的处理器核心分别执行所述测试子项并生成测试结果,包括:获取所述测试子项及基于所述测试子项设立的独立测试项列表;获取所述空闲的处理器核心,并根据每个所述空闲的处理器核心创建一个新进程;为每个所述新进程分配所述独立测试项列表中的一个所述测试子项,通过所述空闲的处理器核心执行所述测试子项;生成所述独...

【专利技术属性】
技术研发人员:惠行行刘娟
申请(专利权)人:国民技术股份有限公司
类型:发明
国别省市:

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

1