一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源队列管理接口的验证方法、电子设备、存储介质与流程

2022-11-30 07:01:36 来源:中国专利 TAG:


1.本技术实施例涉及芯片技术领域,特别涉及资源队列管理接口的验证方法、电子设备、存储介质。


背景技术:

2.资源队列管理接口是指芯片中的主模块和从模块之间用于传输资源队列管理信号和资源队列管理数据的接口。如图1所示,主模块包括接口1,从模块包括接口2,主模块和从模块通过接口1和接口2来传输资源队列管理信号和资源队列管理数据。其中,主模块为资源队列管理模块,从模块为请求资源和接收队列任务的处理模块。资源队列管理接口具体可以采用对应数量的管脚来实现。资源队列管理具体包括:资源申请、资源释放、资源入队、资源出队四种类型的操作。
3.目前的资源队列管理接口的验证方法主要采用主模块对应的资源队列管理接口代理模块来对主模块进行验证,采用从模块对应的资源队列管理接口代理模块来对从模块进行验证,这种方法中主模块对应的资源队列管理接口代理模块和从模块对应的资源队列管理接口代理模块的部分实现代码是重复的,且代码维护效率低,且无法实现对主模块和从模块之间的资源队列管理接口的交互过程进行验证。


技术实现要素:

4.本技术实施例提供一种资源队列管理接口的验证方法、电子设备、存储介质。
5.第一方面,本技术实施例提供一种资源队列管理接口的验证方法,包括:
6.生成验证实例;
7.在所述验证实例的第一资源队列管理接口与待验证的主模块的第二资源队列管理接口连接的情况下,通过所述验证实例实现对所述待验证的主模块的第二资源队列管理接口的验证;
8.在所述验证实例的第一资源队列管理接口与待验证的从模块的第三资源队列管理接口连接的情况下,通过所述验证实例实现对所述待验证的从模块的第三资源队列管理接口的验证;
9.在所述验证实例的第一资源队列管理接口同时与所述第二资源队列管理接口和所述第三资源队列管理接口连接的情况下,通过所述验证实例实现对所述第二资源队列管理接口和所述第三资源队列管理接口之间的交互过程的验证。
10.第二方面,本技术实施例提供一种电子设备,包括:
11.至少一个处理器;
12.存储器,存储器上存储有至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,实现上述任意一种资源队列管理接口的验证方法。
13.第三方面,本技术实施例提供一种存储介质,存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种资源队列管理接口的验证方法。
14.本技术实施例提供的资源队列管理接口的验证方法,通过生成验证实例的方式实现资源队列管理接口的验证方法,由于同一个验证实例可以对待验证的主模块的第二资源队列管理接口、待验证的从模块的第三资源队列管理接口、第二资源队列管理接口和第三资源队列管理接口之间的交互过程进行验证,使得代码上不会有重复的部分,且仅需要维护一套代码,提高了代码维护效率,且实现了对主模块和从模块之间的资源队列管理接口的交互过程进行验证。
附图说明
15.图1为相关技术中主模块和从模块的交互示意图;
16.图2为相关技术中采用主模块对应的资源队列管理接口代理模块对主模块进行验证的示意图;
17.图3为相关技术中采用从模块对应的资源队列管理接口代理模块对从模块进行验证的示意图;
18.图4为本技术一个实施例提供的资源队列管理接口的验证方法的流程图;
19.图5为本技术实施例提供的对待验证的主模块对应的第二资源队列管理接口进行验证的场景下资源池中的资源的状态变化示意图;
20.图6为本技术实施例提供的对待验证的从模块对应的第三资源队列管理接口进行验证的场景下资源池中的资源的状态变化示意图;
21.图7为本技术实施例提供的打包的数据结构示意图;
22.图8为本技术另一个实施例提供的资源队列管理接口的验证装置的组成框图;
23.图9为本技术实施例提供的验证实例的组成框图。
具体实施方式
24.为使本领域的技术人员更好地理解本技术的技术方案,下面结合附图对本技术提供的资源队列管理接口的验证方法、电子设备、存储介质进行详细描述。
25.在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本技术透彻和完整,并将使本领域技术人员充分理解本技术的范围。
26.在不冲突的情况下,本技术各实施例及实施例中的各特征可相互组合。
27.如本文所使用的,术语“和/或”包括至少一个相关列举条目的任何和所有组合。
28.本文所使用的术语仅用于描述特定实施例,且不意欲限制本技术。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加至少一个其它特征、整体、步骤、操作、元件、组件和/或其群组。
29.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本技术的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
30.图2为相关技术中采用主模块对应的资源队列管理接口代理模块对主模块进行验证的示意图。如图2所示,主模块对应的资源队列管理接口代理模块通过接口3与主模块的接口1进行资源队列管理信号和资源队列管理数据的传输,具体的,主模块对应的资源队列管理接口代理模块对主模块进行验证的过程大致包括:
31.通过接口3向待验证的主模块的接口1发送请求有效信号、用于表征资源申请的请求类型、需要申请的资源类型、需要申请的资源个数;通过接口3接收待验证的主模块通过接口1发送的响应有效信号和响应数据;采集接口3发送的请求有效信号、用于表征资源申请的请求类型、需要申请的资源类型、需要申请的资源个数,以及接口3接收的响应有效信号和响应数据,根据采集的数据对待验证的主模块进行验证;
32.通过接口3向待验证的主模块的接口1发送请求有效信号、用于表征资源释放的请求类型、待释放的资源个数、待释放的资源标识(id,identifier)序列;通过接口3接收待验证的主模块通过接口1发送的响应有效信号;采集接口3发送的请求有效信号、用于表征资源释放的请求类型、待释放的资源个数、待释放的资源id序列,以及接口3接收的响应有效信号;
33.通过接口3向待验证的主模块的接口1发送请求有效信号、用于表征资源入队的请求类型、待入队的资源id、入队特征参数;通过接口3接收待验证的主模块通过接口1发送的响应有效信号;采集接口3发送的请求有效信号、用于表征资源入队的请求类型、待入队的资源id、入队特征参数,以及接口3接收的响应有效信号;
34.通过接口3向待验证的主模块的接口1发送请求有效信号、用于表征资源出队的请求类型、资源出队队列号;通过接口3接收待验证的主模块通过接口1发送的响应有效信号和响应数据;采集接口3发送的请求有效信号、用于表征资源出队的请求类型、资源出队队列号,以及接口3接收的响应有效信号和响应数据;
35.将采集到的四种操作的数据发送到其他验证模块进行其他验证。
36.图3为相关技术中采用从模块对应的资源队列管理接口代理模块对从模块进行验证的示意图。如图3所示,从模块对应的资源队列管理接口代理模块通过接口4与从模块的接口2进行资源队列管理信号和资源队列管理数据的传输,具体的,从模块对应的资源队列管理接口代理模块对从模块进行验证的过程大致包括:
37.通过接口4检测到待验证的从模块通过接口2发送的请求有效信号和请求类型;解析请求类型;如果请求类型为资源申请和资源出队,通过接口4向待验证的从模块的接口2发送响应有效信号、响应数据和资源id;采集接口4接收的请求有效信号、请求类型,以及接口4发送的响应有效信号、响应数据和资源id,根据采集的数据对待验证的从模块进行验证;
38.如果请求类型为资源释放和资源入队,通过接口4向待验证的从模块的接口2发送响应有效信号;采集接口4接收的请求有效信号、请求类型,以及接口4发送的响应有效信号;
39.将采集到的四种操作的数据发送到其他验证模块进行其他验证。
40.由此可见,上述实现验证过程中,主模块对应的资源队列管理接口代理模块需要采集接口3发送和接收的数据,从模块对应的资源队列管理接口代理模块需要采集接口4发送和接收的数据,由于主模块对应的资源队列管理接口代理模块和从模块对应的资源队列
管理接口代理模块为两个相互独立的模块,接口3和接口4也是不同的接口,因此,需要分别采用相应的代码来采集接口3和接口4发送和接收的数据,也就是说,采集接口3发送和接收的数据的实现代码,以及采集接口4发送和接收的数据的实现代码实际上是相同的,也就是重复的。
41.另外,当待验证的主模块包含有多套接口1时,则需要针对每一套接口1分别编写相应的代码实现对该套接口1的验证,不同套接口1的代码各自维护;同样,当待验证的从模块包含有多套接口2时,则需要针对每一套接口2分别编写相应的代码实现对该套接口2的验证,不同套接口2的代码各自维护;使得验证过程中对代码的改进无法实现共享,经常重复踩坑,降低了代码维护效率。
42.另外,上述主模块对应的资源队列管理接口代理模块仅能对待验证的主模块的资源队列管理接口进行验证,从模块对应的资源队列管理接口代理模块仅能对待验证的从模块的资源队列管理接口进行验证,而无法实现对主模块和从模块之间的资源队列管理接口的交互过程进行验证。
43.在本技术实施例中,对资源队列管理接口的验证是指对资源队列管理接口传输资源队列管理信号和资源队列管理数据的验证,以及对传输数据的时序的验证,从而保证资源队列管理接口传输资源队列管理信号和资源队列管理数据的正确性,以及传输数据的时序的正确性。
44.在本技术实施例中,主模块负责资源队列的管理,从模块负责请求资源和接收队列任务的处理。
45.在本技术实施例中,资源是主模块和从模块进行业务处理过程中所使用的数据存储空间,资源分为多个种类,多个数量,不同种类的资源有参数的区分,比如某类资源具有相同的基地址、且每个资源按照固定数量进行偏移,但又都在最大偏移范围之内。
46.在本技术实施例中,资源id是资源的首地址,是一系列有规律,不可重叠,互不干扰的地址序列的首地址。
47.图4为本技术一个实施例提供的资源队列管理接口的验证方法的流程图。
48.第一方面,参照图4,本技术一个实施例提供一种资源队列管理接口的验证方法,包括:
49.步骤400、生成验证实例。
50.在本技术实施例中,一个验证实例可以实现对一套资源队列管理接口的验证。例如,一个验证实例可以实现对待验证的主模块的一套资源队列管理接口的验证,也可以实现对待验证的从模块的一套资源队列管理接口的验证,也可以实现对待验证的主模块的一套资源队列管理接口和待验证的从模块的一套资源队列管理接口之间的交互过程的验证。
51.在待验证的主模块包含有两套或两套以上资源队列管理接口的情况下,可以生成两个或两个以上验证实例实现对待验证的主模块的两套或两套以上资源队列管理接口的验证,而不需要重新编写代码来实现,提高了代码的使用效率。
52.在待验证的从模块包含有两套或两套以上资源队列管理接口的情况下,可以生成两个或两个以上验证实例实现对待验证的从模块的两套或两套以上资源队列管理接口的验证,而不需要重新编写代码来实现,提高了代码的使用效率。
53.在需要验证待验证的主模块的两套或两套以上资源队列管理接口和待验证的从
模块的两套或两套以上资源队列管理接口之间的交互过程的情况下,也可以生成两个或两个以上验证实例来实现验证,,而不需要重新编写代码来实现,提高了代码的使用效率。
54.在一些示例性实施例中,将主模块中对资源池中的资源的产生和管理过程提取出来,并且将资源的产生和管理过程设置为全局共享过程,资源池中的资源自然也是全局共享的资源,供验证实例使用,不同的验证实例共享同一个资源的产生和管理过程,从而能够在资源的产生和管理过程中提高对资源的覆盖率,降低了资源的冲突。
55.步骤401、在验证实例的第一资源队列管理接口与待验证的主模块的第二资源队列管理接口连接的情况下,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证。
56.在本技术实施例中,资源队列管理接口包含有资源申请、资源释放、资源入队和资源出队四种操作,下面针对这四种操作分别描述对第二资源队列管理接口的验证过程。
57.在一些示例性实施例中,在对待验证的主模块的第二资源队列管理接口进行验证之前,需要生成资源池中的资源,并将资源池中的资源的管理权限交给待验证的主模块。具体可以采用以下方式来实现:
58.根据配置参数生成每一种资源类型对应的资源id序列;
59.将配置参数配置到待验证的主模块中;
60.将资源id序列的数据存储空间地址参数配置到待验证的主模块中;
61.将资源id序列写入数据存储空间地址参数对应的数据存储空间地址中;
62.在待验证的主模块从数据存储空间地址中读取资源id序列后,将资源id序列清空。
63.在一些示例性实施例中,配置参数包括:资源基地址、资源个数、资源最大偏移范围参数、资源最小偏移地址。
64.在一些示例性实施例中,在初始状态下,即验证之前,资源池中的资源id序列为空,也就是将资源池中的资源的管理权限交给待验证的主模块后,资源池中没有可用的资源id;在验证结束后,资源池中的资源id序列也应该为空,保证资源池中没有可用的资源id,资源池中的所有资源全部回到待验证的主模块内部进行管理。
65.图5为本技术实施例提供的对待验证的主模块对应的第二资源队列管理接口进行验证的场景下资源池中的资源的状态变化示意图。如图5所示,生成资源id序列后,所生成的资源id序列中的所有资源id的状态均为空闲状态,将资源的管理权限交给待验证的主模块后,即校验之前,资源池中的资源id为空,在验证过程中,某些资源id的状态被修改为占用状态,验证之后,资源池中的资源id为空。
66.(一)资源申请
67.在本技术实施例中,资源申请包括资源申请成功和资源申请失败两种情况,下面分别描述这两种情况的验证过程。
68.(1)资源申请成功的情况
69.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证包括:
70.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资
源类型和需要申请的资源数量;
71.在通过第一资源队列管理接口接收第二资源队列管理接口发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,通过第一资源队列管理接口持续接收第二资源队列管理接口发送的第二响应数据,直到接收到第二资源队列管理接口发送的响应无效信号;其中,第二响应数据包括申请到的资源id;
72.将申请到的资源id加入申请到的资源id对应的资源类型对应的资源id序列中,将申请到的资源id的状态标识为空闲状态;
73.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
74.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续采集第二响应数据,直到采集到响应无效信号;
75.根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常。
76.在本技术实施例中,请求有效信号、第一请求类型和第一请求数据是并行发送的,响应有效信号和第一响应数据也是并行接收的,在接收第二响应数据的过程中也同时接收到了响应有效信号,也就是说,响应有效信号和第二响应数据也是并行接收的。
77.也就是说,在接收到响应有效信号的情况下,才能获得第一响应数据和第二响应数据;在接收到响应无效信号的情况下,则无法获得第一响应数据和第二响应数据。
78.在一些示例性实施例中,根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常包括:
79.在采集到的第二响应数据的数量和需要申请的资源数量相同的情况下,确定第二资源队列管理接口的时序正常;
80.在采集到的第二响应数据的数量和需要申请的资源数量不相同的情况下,确定第二资源队列管理接口的时序异常,输出第一告警信息,第一告警信息用于指示第二资源队列管理接口的时序异常。
81.在一些示例性实施例中,确定资源申请操作完成后,该方法还包括:
82.对所有申请到的资源id进行校验得到第一校验结果;
83.在第一校验结果指示所有申请到的资源id正常的情况下,继续执行将申请到的资源id加入申请到的资源id对应的资源类型对应的资源id序列中的步骤;
84.在第一校验结果指示至少一个申请到的资源id异常的情况下,输出第二告警信息,第二告警信息用于指示至少一个申请到的资源id异常,第二告警信息可以包括用于指示资源id异常的信息,以及异常的资源id。
85.在一些示例性实施例中,对某一个申请到的资源id进行校验包括:
86.在对某一个申请到的资源id的资源最小偏移地址进行校验得到的校验结果为校验成功,且对某一个申请到的资源id的资源类型计算成功,且某一个申请到的资源id不存在对应的资源类型对应的资源id序列中的情况下,确定某一个申请到的资源id正常;
87.在对某一个申请到的资源id的资源最小偏移地址进行校验得到的校验结果为校验失败,或对某一个申请到的资源id的资源类型计算失败,或某一个申请到的资源id存在对应的资源类型对应的资源id序列中的情况下,确定某一个申请到的资源id异常。
88.在一些示例性实施例中,申请到的资源id为资源池中的资源id,不同验证实例共
享同一个资源池。
89.(2)资源申请失败的情况
90.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证包括:
91.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
92.在通过第一资源队列管理接口接收第二资源队列管理接口发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请失败的情况下,确定资源申请操作完成;
93.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
94.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请失败的情况下,确定资源申请数据采集完成。
95.(二)资源释放
96.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证包括:
97.读取至少一个处于空闲状态的资源id,将读取的资源id从对应的资源类型对应的资源id序列中删除,表示这些资源id已经被释放,不能再被作为激励使用;
98.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第二请求类型和第二请求数据;其中,第二请求类型为资源释放,第二请求数据包括需要释放的资源数量,即读取的资源id的数量;
99.将读取的资源id包含在第三请求数据中通过第一资源队列管理接口依次发送给第二资源队列管理接口;在读取的资源id全部传输完成后,将请求有效信号转换为请求无效信号通过第一资源队列管理接口发送给第二资源队列管理接口;
100.在通过第一资源队列管理接口接收到第二资源队列管理接口发送的响应有效信号的情况下,确定资源释放操作完成;
101.在采集到请求有效信号的情况下,采集第二请求类型和第二请求数据;
102.在请求类型为资源释放的情况下,持续采集第三请求数据,直到采集到请求无效信号;采集响应有效信号;
103.根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常。
104.在本技术实施例中,请求有效信号、第二请求类型和第二请求数据是并行发送的,在发送第三请求数据的同时,也发送了请求有效信号,也就是说,请求有效信号和第三请求数据也是并行发送的。
105.也就是说,请求有效信号与第二请求类型、第二请求数据、第三请求数据并行发送的情况下,第二请求类型、第二请求数据、第三请求数据的发送才能被接收端获得。
106.在一些示例性实施例中,所述根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常包括:
107.在采集到的所述第三请求数据的数量和所述需要释放的资源数量相同的情况下,确定所述第二资源队列管理接口的时序正常;
108.在采集到的所述第三请求数据的数量和所述需要释放的资源数量不相同的情况下,确定所述第二资源队列管理接口的时序异常,输出第三告警信息。
109.(三)资源入队
110.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证包括:
111.读取一个处于空闲状态的资源id,将读取的资源id的状态修改为占用状态;
112.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括读取的资源id;
113.将读取的资源id对应的入队特征参数包含在第五请求数据中通过第一资源队列管理接口依次发送给第二资源队列管理接口;在入队特征参数全部传输完成后,将请求有效信号转换为请求无效信号通过第一资源队列管理接口发送给第二资源队列管理接口;
114.在通过第一资源队列管理接口接收到第二资源队列管理接口发送的响应有效信号的情况下,确定资源入队操作完成;
115.在采集到请求有效信号的情况下,采集第三请求类型和第四请求数据;
116.在请求类型为资源入队的情况下,持续采集第五请求数据,直到采集到请求无效信号;采集响应有效信号;
117.根据采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量确定第二资源队列管理接口的时序是否正常。
118.在本技术实施例中,请求有效信号、第三请求类型和第四请求数据是并行发送的,在发送第五请求数据的同时,也发送了请求有效信号,也就是说,第五请求数据和请求有效信号也是并行发送的。
119.也就是说,请求有效信号与第三请求类型、第四请求数据、第五请求数据并行发送的情况下,第三请求类型、第四请求数据、第五请求数据的发送才能被接收端获得。
120.在一些示例性实施例中,根据采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量确定第二资源队列管理接口的时序是否正常包括:
121.在采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量相同的情况下,确定第二资源队列管理接口的时序正常;
122.在采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量不相同的情况下,确定第二资源队列管理接口的时序异常,输出第四告警信息,第四告警信息用于指示第二资源队列管理接口的时序异常。
123.(四)资源出队
124.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证包括:
125.通过所述第一资源队列管理接口接收所述第二资源队列管理接口发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
126.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号;
127.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队成功,且所述出队的队列号对应的队列任务指示信号为队列任务指示无效信号的情况下,输出第五告警信息,第五告警信息用于指示第二资源队列管理接口的时序异常;
128.采集所述某一个队列的队列任务指示有效信号或队列任务指示无效信号;
129.在采集到请求有效信号的情况下,采集第四请求类型和第六请求数据;
130.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,确定资源出队数据采集完成。
131.在本技术实施例中,请求有效信号、第四请求类型和第六请求数据是并行发送的,响应有效信号、第三响应数据也是并行发送的。
132.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证还包括:
133.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队失败,且所述出队的队列号对应的队列任务指示信号为队列任务指示有效信号的情况下,通过第一资源队列管理接口接收第四响应数据;
134.在第四响应数据包括队列空的错误码的情况下,输出第六告警信息,第六告警信息用于指示第二资源队列管理接口的时序异常;
135.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第四响应数据。
136.在本技术实施例中,响应有效信号、第三响应数据是并行发送的。
137.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证还包括:
138.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队成功,且所述出队的队列号对应的队列任务指示信号为队列任务指示有效信号的情况下,通过第一资源队列管理接口接收第五响应数据;其中,第五响应数据包括:出队的队列号对应的资源id序列中的第一个资源id;
139.将第一个资源id的状态修改为空闲状态;
140.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,采集第五响应数据。
141.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证还包括:
142.对第一个资源id进行校验得到第二校验结果;
143.在第二校验结果指示第一个资源id正常的情况下,继续执行将第一个资源id的状态修改为空闲状态的步骤;
144.在第二校验结果指示第一个资源id异常的情况下,输出第七告警信息,第七告警信息用于指示第一个资源id异常。
145.在一些示例性实施例中,对第一个资源id进行校验包括:
146.在对第一个资源id的资源最小偏移地址进行校验得到的校验结果为校验成功,且对第一个资源id的资源类型计算成功,且第一个资源id不存在对应的资源类型对应的资源
id序列中,且第一个资源id的状态为空闲状态的情况下,确定第一个资源id正常;
147.在对第一个资源id的资源最小偏移地址进行校验得到的校验结果为校验失败,或对第一个资源id的资源类型计算失败,或第一个资源id存在对应的资源类型对应的资源id序列中,且第一个资源id的状态为占用状态的情况下,确定第一个资源id异常。
148.在一些示例性实施例中,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证还包括:
149.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队失败,且所述出队的队列号对应的队列任务指示信号为队列任务指示无效信号的情况下,接收第六响应数据;其中,第六响应数据包括:错误码;
150.在采集到响应有效信号、第三响应数据和队列任务指示无效信号,且第三响应数据指示出队失败的情况下,采集第六响应数据。
151.在一些示例性实施例中,该方法还包括:
152.将上述四种操作的验证过程中采集的数据打包发送给其他验证模块进行其他验证,打包的数据结构如图7所示。
153.步骤402、在验证实例的第一资源队列管理接口与待验证的从模块的第三资源队列管理接口连接的情况下,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证。
154.在本技术实施例中,资源队列管理接口包含有资源申请、资源释放、资源入队和资源出队四种操作,下面针对这四种操作分别描述对第三资源队列管理接口的验证过程。
155.在一些示例性实施例中,在对待验证的从模块的第三资源队列管理接口进行验证之前,需要生成资源池中的资源,并将生成资源池中的资源的配置参数发送给待验证的从模块,使得待验证的从模块可以正常工作。具体可以采用以下方式来生成资源池中的资源:根据配置参数生成每一种资源类型对应的资源id序列。
156.在一些示例性实施例中,配置参数包括:资源基地址、资源个数、资源最大偏移范围参数、资源最小偏移地址。
157.在一些示例性实施例中,在初始状态下,即验证之前,资源池中的资源id序列非空,也就是资源池中有可用的资源,并且资源池中的资源的状态必须为空闲状态;在验证结束后,资源池中的资源id序列也应该非空,保证资源池中的资源id序列的个数与初始状态下资源池中的资源id序列的个数相同,并且资源池中的资源id的状态也必须为空闲状态,保证待验证的从模块中没有异常的资源,也没有资源任务残留在待验证的从模块内部。
158.图6为本技术实施例提供的对待验证的从模块对应的第三资源队列管理接口进行验证的场景下资源池中的资源的状态变化示意图。如图6所示,在验证之前和验证之后,资源池中的资源id序列非空,资源id序列的个数也相同,资源id的状态也都为空闲状态,在验证过程中,某些资源id的状态被修改为占用状态。
159.(一)资源申请
160.在本技术实施例中,资源申请包括资源申请成功和资源申请失败两种情况,下面分别描述这两种情况的验证过程。
161.(1)资源申请成功的情况
162.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管
理接口的验证包括:
163.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量的情况下,在需要申请的资源类型对应的资源id序列中查找处于空闲状态的资源id;
164.在查找到的处于空闲状态的资源id的数量大于或等于需要申请的资源数量的情况下,从查找到的处于空闲状态的资源id中选择出n个资源id,将选择的n个资源id的状态修改为占用状态,选择的n个资源id不能再被作为激励使用;其中,n为需要申请的资源数量;
165.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号和第一响应数据;其中,第一响应数据指示资源申请成功;
166.将选择出的资源id包含在第二响应数据中通过第一资源队列管理接口依次发送给第三资源队列管理接口;在选择出的资源id全部传输完成后,将响应有效信号转换为响应无效信号通过第一资源队列管理接口发送给第三资源队列管理接口;
167.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
168.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续采集第二响应数据,直到采集到响应无效信号;
169.根据采集到的第二响应数据的数量和需要申请的资源数量确定第三资源队列管理接口的时序是否正常。
170.在本技术实施例中,请求有效信号、第一请求类型和第一请求数据是并行接收的,响应有效信号和第一响应数据是并行发送的,在发送第二响应数据的同时,也发送了响应有效信号,也就是说,第二响应数据和响应有效信号也是并行发送的。
171.在一些示例性实施例中,根据采集到的第二响应数据的数量和需要申请的资源数量确定第三资源队列管理接口的时序是否正常包括:
172.在采集到的第二响应数据的数量和需要申请的资源数量相同的情况下,确定第三资源队列管理接口的时序正常;
173.在采集到的第二响应数据的数量和需要申请的资源数量不相同的情况下,确定第三资源队列管理接口的时序异常,输出第八告警信息,第八告警信息用于指示第三资源队列管理接口的时序异常。
174.(2)资源申请失败的情况
175.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证包括:
176.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量的情况下,在需要申请的资源类型对应的资源id序列中查找处于空闲状态的资源id;
177.在查找到的处于空闲状态的资源id的数量小于需要申请的资源数量的情况下,通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号和第一响应数据;其中,第一响应数据指示资源申请失败;
178.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
179.在第一响应数据指示资源申请失败的情况下,确定资源申请数据采集完成。
180.(二)资源释放
181.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证包括:
182.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第二请求类型和第二请求数据;其中,第一请求类型为资源释放,第二请求数据包括需要释放的资源数量的情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第三请求数据,直到接收到第三资源队列管理接口发送的请求无效信号;其中,第三请求数据包括:需要释放的资源id;
183.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号;
184.将需要释放的资源id的状态修改为空闲状态;
185.在采集到请求有效信号的情况下,采集第二请求类型和第二请求数据;
186.在请求类型为资源释放的情况下,持续采集第三请求数据,直到接收到请求无效信号;采集响应有效信号;
187.根据采集到的第三请求数据的数量和需要释放的资源数量确定第三资源队列管理接口的时序是否正常。
188.在本技术实施例中,请求有效信号、第二请求类型和第二请求数据是并行发送的,在发送第三请求数据的同时,也发送了请求有效信号,也就是说,请求有效信号和第三请求数据也是并行发送的。
189.也就是说,请求有效信号与第二请求类型、第二请求数据、第三请求数据并行发送的情况下,第二请求类型、第二请求数据、第三请求数据才能被接收端获得。
190.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证还包括:
191.对需要释放的资源id进行校验得到第三校验结果;
192.在第三校验结果指示所有需要释放的资源id正常的情况下,继续执行将需要释放的资源id的状态修改为空闲状态的步骤;
193.在第三校验结果指示至少一个需要释放的资源id异常的情况下,输出第九告警信息,第九告警信息用于指示至少一个需要释放的资源id异常,第九告警信息可以包括用于指示资源id异常的信息,以及异常的资源id。
194.在一些示例性实施例中,对某一个需要释放的资源id进行校验包括:
195.在对某一个需要释放的资源id的资源最小偏移地址进行校验得到的校验结果为校验成功,且对某一个需要释放的资源id的资源类型计算成功,且某一个需要释放的资源id不存在对应的资源类型对应的资源id序列中的情况下,确定某一个需要释放的资源id正常;
196.在对某一个需要释放的资源id的资源最小偏移地址进行校验得到的校验结果为校验失败,或对某一个需要释放的资源id的资源类型计算失败,或某一个需要释放的资源id存在对应的资源类型对应的资源id序列中的情况下,确定某一个需要释放的资源id异常。
197.在一些示例性实施例中,根据采集到的第三请求数据的数量和需要释放的资源数量确定第三资源队列管理接口的时序是否正常包括:
198.在采集到的第三请求数据的数量和需要释放的资源数量相同的情况下,确定第三资源队列管理接口的时序正常;
199.在采集到的第三请求数据的数量和需要释放的资源数量不相同的情况下,确定第三资源队列管理接口的时序异常,输出第十告警信息,第十告警信息用于指示第三资源队列接口的时序异常。
200.(三)资源入队
201.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证包括:
202.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括入队的资源id的情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第五请求数据,直到接收到请求无效信号;其中,第五请求数据包括:入队的资源id对应的入队特征参数;
203.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号;
204.将入队的资源id的状态修改为空闲状态;
205.在采集到请求有效信号的情况下,采集第三请求类型和第四请求数据;
206.在第三请求类型为资源入队的情况下,持续采集第五请求数据,直到接收到请求无效信号;采集响应有效信号;
207.根据采集到的第五请求数据的数量和入队特征参数的数量确定第三资源队列管理接口的时序是否正常。
208.在本技术实施例中,请求有效信号、第三请求类型和第四请求数据是并行接收的,在接收第五请求数据的同时,也接收了请求有效信号,也就是说,第五请求数据和请求有效信号也是并行接收的。只有接收到了请求有效信号,才会去获取第三请求类型、第四请求数据和第五请求数据。
209.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证还包括:
210.对入队的资源id进行校验得到第四校验结果;
211.在第四校验结果为入队的资源id正常的情况下,继续执行将入队的资源id的状态修改为空闲状态的步骤;
212.在入队的资源id异常的情况下,输出第十一告警信息,第十一告警信息用于指示入队的资源id异常。
213.在一些示例性实施例中,对入队的资源id进行校验包括:
214.在对入队的资源id的资源最小偏移地址进行校验得到的校验结果为校验成功,且对入队的资源id的资源类型计算成功,且入队的资源id不存在对应的资源类型对应的资源id序列中,且入队的资源id的状态为占用状态的情况下,确定入队的资源id正常;
215.在对入队的资源id的资源最小偏移地址进行校验得到的校验结果为校验失败,或对入队的资源id的资源类型计算失败,或入队的资源id存在对应的资源类型对应的资源id
序列中,且入队的资源id的状态为空闲状态的情况下,确定入队的资源id异常。
216.在一些示例性实施例中,根据采集到的第五请求数据的数量和入队特征参数的数量确定第三资源队列管理接口的时序是否正常包括:
217.在采集到的第五请求数据的数量和入队特征参数的数量相同的情况下,确定第三资源队列管理接口的时序正常;
218.在采集到的第五请求数据的数量和入队特征参数的数量不相同的情况下,确定第三资源队列管理接口的时序异常,输出第十二告警信息,第十二告警信息用于指示第三资源队列管理接口的时序异常。
219.(四)资源出队
220.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证包括:
221.在某一个队列的队列号对应的资源id序列非空的情况下,通过所述第一资源队列管理接口向所述第三资源队列管理接口发送所述某一个队列的队列任务指示有效信号;
222.在某一个队列的队列号对应的资源id序列为空的情况下,通过所述第一资源队列管理接口向所述第三资源队列管理接口发送所述某一个队列的队列任务指示无效信号;
223.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号的情况下,判断出队的队列号对应的资源id序列是否为空;
224.在出队的队列号对应的资源id序列非空的情况下,通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号、第三响应数据;其中,第三响应数据指示出队成功;
225.将出队的队列号对应的资源id序列中的第一个资源id包含在第五响应数据中通过第一资源队列管理接口发送给第三资源队列管理接口;
226.在采集到请求有效信号的情况下,采集第四请求类型和第六请求数据;
227.在采集到响应有效信号、第三响应有效信号和队列任务指示有效信号,且第三响应有效信号指示出队成功的情况下,采集第五响应数据。
228.在本技术实施例中,请求有效信号、第四请求类型和第六请求数据是并行接收的,响应有效信号、第三响应数据是并行发送的,第五响应数据和响应有效信号也是并行发送的。
229.在一些示例性实施例中,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证还包括:
230.在出队的队列号对应的资源id序列为空的情况下,通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号、第三响应数据;其中,第三响应数据指示出队失败;
231.将随机的错误码包含在第六响应数据中通过第一资源队列管理接口发送给第三资源队列管理接口;
232.在采集到响应有效信号、第三响应有效信号和队列任务指示无效信号,且第三响应有效信号指示出队失败的情况下,采集第六响应数据。
233.在本技术实施例中,响应有效信号、第三响应数据是并行发送的。
234.在一些示例性实施例中,该方法还包括:
235.将上述四种操作的验证过程中采集的数据打包发送给其他验证模块进行其他验证,打包的数据结构如图7所示。
236.步骤403、在验证实例的第一资源队列管理接口同时与第二资源队列管理接口和第三资源队列管理接口连接的情况下,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证。
237.在本技术实施例中,资源队列管理接口包含有资源申请、资源释放、资源入队和资源出队四种操作,下面针对这四种操作分别描述对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证过程。
238.(一)资源申请
239.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证包括:
240.采集第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
241.采集第二资源队列管理接口发送的响应有效信号和第一响应数据;
242.在第一响应数据指示资源申请成功的情况下,持续采集第二资源队列管理接口发送的第二响应数据,直到采集到第二资源队列管理接口发送的响应无效信号;其中,第二响应数据包括:申请到的资源id;
243.根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常。
244.在一些示例性实施例中,根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常包括:
245.在采集到的第二响应数据的数量和需要申请的资源数量相同的情况下,确定第二资源队列管理接口的时序正常;
246.在采集到的第二响应数据的数量和需要申请的资源数量不相同的情况下,确定第二资源队列管理接口的时序异常,输出第一告警信息,第一告警信息用于指示第二资源队列管理接口的时序异常。
247.在一些示例性实施例中,在无法采集到申请到的资源id的情况下,可以采用预先生成的虚拟资源id来代替。
248.(二)资源释放
249.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证包括:
250.采集第三资源队列管理接口发送的请求有效信号、第二请求类型和第二请求数据;其中,第二请求类型为资源释放,第二请求数据包括需要释放的资源数量;
251.持续采集第三资源队列管理接口发送的第三请求数据,直到采集到第三资源队列管理接口发送的请求无效信号;其中,第三请求数据包括:需要释放的资源id;
252.采集第二资源队列管理接口发送的响应有效信号;
253.根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第
二资源队列管理接口的时序是否正常。
254.在一些示例性实施例中,在无法采集到需要释放的资源id的情况下,可以采用预先生成的虚拟资源id来代替。
255.在一些示例性实施例中,根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常包括:
256.在采集到的所述第三请求数据的数量和所述需要释放的资源数量相同的情况下,确定所述第二资源队列管理接口的时序正常;
257.在采集到的所述第三请求数据的数量和所述需要释放的资源数量不相同的情况下,确定所述第二资源队列管理接口的时序异常,输出第三告警信息。
258.(三)资源入队
259.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证包括:
260.采集第三资源队列管理接口发送的请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括入队的资源id;
261.持续采集第三资源队列管理接口发送的第五请求数据,直到采集到请求无效信号;其中,第五请求数据包括:入队的资源id对应的入队特征参数;
262.采集第二资源队列管理接口发送的响应有效信号;
263.根据采集到的第五请求数据的数量和入队的资源id对应的入队特征参数的数量确定第三资源队列管理接口的时序是否正常。
264.在一些示例性实施例中,在无法采集到入队的资源id的情况下,可以采用预先生成的虚拟资源id来代替。
265.在一些示例性实施例中,根据采集到的第五请求数据的数量和入队特征参数的数量确定第三资源队列管理接口的时序是否正常包括:
266.在采集到的第五请求数据的数量和入队特征参数的数量相同的情况下,确定第三资源队列管理接口的时序正常;
267.在采集到的第五请求数据的数量和入队特征参数的数量相同的情况下,确定第三资源队列管理接口的时序异常,输出第十一告警信息,第十一告警信息用于指示第三资源队列管理接口的时序异常。
268.(四)资源出队
269.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证包括:
270.采集第二资源队列管理接口发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
271.采集第三资源队列管理接口发送的请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号;
272.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,确定资源出队数据采集完成。
273.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证还包括:
274.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第四响应数据。
275.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证还包括:
276.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,采集第五响应数据。
277.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证还包括:
278.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第六响应数据。
279.在一些示例性实施例中,该方法还包括:
280.将上述四种操作的验证过程中采集的数据打包发送给其他验证模块进行其他验证,打包的数据结构如图7所示。
281.本技术实施例提供的资源队列管理接口的验证方法,通过生成验证实例的方式实现资源队列管理接口的验证方法,由于同一个验证实例可以对待验证的主模块的第二资源队列管理接口、待验证的从模块的第三资源队列管理接口、第二资源队列管理接口和第三资源队列管理接口之间的交互过程进行验证,使得代码上不会有重复的部分,且仅需要维护一套代码,提高了代码维护效率,且实现了对主模块和从模块之间的资源队列管理接口的交互过程进行验证。
282.第二方面,本技术另一个实施例提供一种电子设备,包括:
283.至少一个处理器;
284.存储器,存储器上存储有至少一个程序,当至少一个程序被至少一个处理器执行时,实现上述任意一种资源队列管理接口的验证方法。
285.其中,处理器为具有数据处理能力的器件,其包括但不限于中央处理器(cpu)等;存储器为具有数据存储能力的器件,其包括但不限于随机存取存储器(ram,更具体如sdram、ddr等)、只读存储器(rom)、带电可擦可编程只读存储器(eeprom)、闪存(flash)。
286.在一些实施例中,处理器、存储器通过总线相互连接,进而与计算设备的其它组件连接。
287.第三方面,本技术另一个实施例提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意一种资源队列管理接口的验证方法。
288.图8为本技术另一个实施例提供的资源队列管理接口的验证装置的组成框图。
289.第四方面,参照图8,本技术另一个实施例提供一种资源队列管理接口的验证装置,包括:
290.生成模块801,用于生成验证实例;
291.验证模块802,用于:
292.在验证实例的第一资源队列管理接口与待验证的主模块的第二资源队列管理接口连接的情况下,通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证;
293.在验证实例的第一资源队列管理接口与待验证的从模块的第三资源队列管理接口连接的情况下,通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证;
294.在验证实例的第一资源队列管理接口同时与第二资源队列管理接口和第三资源队列管理接口连接的情况下,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证。
295.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证:
296.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
297.在通过第一资源队列管理接口接收第二资源队列管理接口发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,通过第一资源队列管理接口持续接收第二资源队列管理接口发送的第二响应数据,直到接收到第二资源队列管理接口发送的响应无效信号;其中,第二响应数据包括申请到的资源标识id;
298.将申请到的资源id加入申请到的资源id对应的资源类型对应的资源id序列中,将申请到的资源id的状态标识为空闲状态;
299.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
300.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续采集第二响应数据,直到采集到响应无效信号;
301.根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常。
302.在一些示例性实施例中,验证模块802还用于:
303.在第一响应数据指示资源申请失败的情况下,确定资源申请操作完成;
304.在第一响应数据指示资源申请失败的情况下,确定资源申请数据采集完成。
305.在一些示例性实施例中,验证模块802具体用于采用以下方式实现根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常:
306.在采集到的第二响应数据的数量和需要申请的资源数量相同的情况下,确定第二资源队列管理接口的时序正常;
307.在采集到的第二响应数据的数量和需要申请的资源数量不相同的情况下,确定第二资源队列管理接口的时序异常,输出第一告警信息。
308.在一些示例性实施例中,验证模块802还用于:
309.对所有申请到的资源id进行校验得到第一校验结果;
310.在第一校验结果指示所有申请到的资源id正常的情况下,继续执行将申请到的资源id加入申请到的资源id对应的资源类型对应的资源id序列中的步骤;
311.在第一校验结果指示至少一个申请到的资源id异常的情况下,输出第二告警信息。
312.在一些示例性实施例中,申请到的资源id为资源池中的资源id,不同验证实例共享同一个资源池。
313.在一些示例性实施例中,验证模块802还用于:
314.根据配置参数生成每一种资源类型对应的资源id序列;
315.将配置参数配置到待验证的主模块中;
316.将资源id序列的数据存储空间地址参数配置到待验证的主模块中;
317.将资源id序列写入数据存储空间地址参数对应的数据存储空间地址中;
318.在待验证的主模块从数据存储空间地址中读取资源id序列后,将资源id序列清空。
319.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证:
320.读取至少一个处于空闲状态的资源id,将读取的资源id从对应的资源类型对应的资源id序列中删除;
321.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第二请求类型和第二请求数据;其中,第二请求类型为资源释放,第二请求数据包括需要释放的资源数量,即读取的资源id的数量;
322.将读取的资源id包含在第三请求数据中通过第一资源队列管理接口依次发送给第二资源队列管理接口;在读取的资源id全部传输完成后,将请求有效信号转换为请求无效信号通过第一资源队列管理接口发送给第二资源队列管理接口;
323.在通过第一资源队列管理接口接收到第二资源队列管理接口发送的响应有效信号的情况下,确定资源释放操作完成;
324.在采集到请求有效信号的情况下,采集第二请求类型和第二请求数据;
325.在请求类型为资源释放的情况下,持续采集第三请求数据,直到采集到请求无效信号;采集响应有效信号;
326.根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常。
327.在一些示例性实施例中,所述根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常包括:
328.在采集到的所述第三请求数据的数量和所述需要释放的资源数量相同的情况下,确定所述第二资源队列管理接口的时序正常;
329.在采集到的所述第三请求数据的数量和所述需要释放的资源数量不相同的情况下,确定所述第二资源队列管理接口的时序异常,输出第三告警信息。
330.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证:
331.读取一个处于空闲状态的资源id,将读取的资源id的状态修改为占用状态;
332.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括读取的资源id;
333.将读取的资源id对应的入队特征参数包含在第五请求数据中通过第一资源队列管理接口依次发送给第二资源队列管理接口;在入队特征参数全部传输完成后,将请求有效信号转换为请求无效信号通过第一资源队列管理接口发送给第二资源队列管理接口;
334.在通过第一资源队列管理接口接收到第二资源队列管理接口发送的响应有效信号的情况下,确定资源入队操作完成;
335.在采集到请求有效信号的情况下,采集第三请求类型和第四请求数据;
336.在请求类型为资源入队的情况下,持续采集第五请求数据,直到采集到请求无效信号;采集响应有效信号;
337.根据采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量确定第二资源队列管理接口的时序是否正常。
338.在一些示例性实施例中,验证模块802具体用于采用以下方式实现根据采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量确定第二资源队列管理接口的时序是否正常:
339.在采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量相同的情况下,确定第二资源队列管理接口的时序正常;
340.在采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量不相同的情况下,确定第二资源队列管理接口的时序异常,输出第四告警信息。
341.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的主模块的第二资源队列管理接口的验证:
342.通过所述第一资源队列管理接口接收所述第二资源队列管理接口发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
343.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号;
344.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队成功,且所述出队的队列号对应的队列任务指示信号为队列任务指示无效信号的情况下,输出第五告警信息;
345.采集所述某一个队列的队列任务指示有效信号或队列任务指示无效信号;
346.在采集到请求有效信号的情况下,采集第四请求类型和第六请求数据;
347.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,确定资源出队数据采集完成。
348.在一些示例性实施例中,验证模块802还用于:
349.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队失败,且所述出队的队列号对应的队列任务指示信号为队列任务指示有效信号的情况下,通过第一资源队列管理接口接收第四响应数据;
350.在第四响应数据包括队列空的错误码的情况下,输出第六告警信息;
351.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第四响应数据。
352.在一些示例性实施例中,验证模块802还用于:
353.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队成功,且所述出队的队列号对应的队列任务指示信号为队列任务指示有效信号的情况下,通过第一资源队列管理接口接收第五响应数据;其中,第五响应数据包括:出队的队列号对应的资源id序列中的第一个资源id;
354.将第一个资源id的状态修改为空闲状态;
355.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,
采集第五响应数据。
356.在一些示例性实施例中,验证模块802还用于:
357.对第一个资源id进行校验得到第二校验结果;
358.在第二校验结果指示第一个资源id正常的情况下,继续执行将第一个资源id的状态修改为空闲状态的步骤;
359.在第二校验结果指示第一个资源id异常的情况下,输出第七告警信息。
360.在一些示例性实施例中,验证模块802还用于:
361.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队失败,且所述出队的队列号对应的队列任务指示信号为队列任务指示无效信号的情况下,接收第六响应数据;其中,第六响应数据包括:随机的错误码;
362.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第六响应数据。
363.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证:
364.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量的情况下,在需要申请的资源类型对应的资源id序列中查找处于空闲状态的资源id;
365.在查找到的处于空闲状态的资源id的数量大于或等于需要申请的资源数量的情况下,从查找到的处于空闲状态的资源id中选择出n个资源id,将选择的n个资源id的状态修改为占用状态;其中,n为需要申请的资源数量;
366.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号和第一响应数据;其中,第一响应数据指示资源申请成功;
367.将选择出的资源id包含在第二响应数据中通过第一资源队列管理接口依次发送给第三资源队列管理接口;在选择出的资源id全部传输完成后,将响应有效信号转换为响应无效信号通过第一资源队列管理接口发送给第三资源队列管理接口;
368.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
369.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续采集第二响应数据,直到采集到响应无效信号;
370.根据采集到的第二响应数据的数量和需要申请的资源数量确定第三资源队列管理接口的时序是否正常。
371.在一些示例性实施例中,验证模块802还用于:
372.在查找到的处于空闲状态的资源id的数量小于需要申请的资源数量的情况下,通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号和第一响应数据;其中,第一响应数据指示资源申请失败;
373.在第一响应数据指示资源申请失败的情况下,确定资源申请数据采集完成。
374.在一些示例性实施例中,验证模块802具体用于采用以下方式实现根据采集到的第二响应数据的数量和需要申请的资源数量确定第三资源队列管理接口的时序是否正常:
375.在采集到的第二响应数据的数量和需要申请的资源数量相同的情况下,确定第三
资源队列管理接口的时序正常;
376.在采集到的第二响应数据的数量和需要申请的资源数量不相同的情况下,确定第三资源队列管理接口的时序异常,输出第八告警信息。
377.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证:
378.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第二请求类型和第二请求数据;其中,第一请求类型为资源释放,第二请求数据包括需要释放的资源数量的情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第三请求数据,直到接收到第三资源队列管理接口发送的请求无效信号;其中,第三请求数据包括:需要释放的资源id;
379.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号;
380.将需要释放的资源id的状态修改为空闲状态;
381.在采集到请求有效信号的情况下,采集第二请求类型和第二请求数据;
382.在请求类型为资源释放的情况下,持续采集第三请求数据,直到接收到请求无效信号;采集响应有效信号;
383.根据采集到的第三请求数据的数量和需要释放的资源数量确定第三资源队列管理接口的时序是否正常。
384.在一些示例性实施例中,验证模块802还用于:
385.对需要释放的资源id进行校验得到第三校验结果;
386.在第三校验结果指示所有需要释放的资源id正常的情况下,继续执行将需要释放的资源id的状态修改为空闲状态的步骤;
387.在第三校验结果指示至少一个需要释放的资源id异常的情况下,输出第九告警信息。
388.在一些示例性实施例中,验证模块802具体用于采用以下方式实现根据采集到的第三请求数据的数量和需要释放的资源数量确定第三资源队列管理接口的时序是否正常:
389.在采集到的第三请求数据的数量和需要释放的资源数量相同的情况下,确定第三资源队列管理接口的时序正常;
390.在采集到的第三请求数据的数量和需要释放的资源数量不相同的情况下,确定第三资源队列管理接口的时序异常,输出第十告警信息。
391.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证:
392.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括入队的资源id的情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第五请求数据,直到接收到请求无效信号;其中,第五请求数据包括:入队的资源id对应的入队特征参数;
393.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号;
394.将入队的资源id的状态修改为空闲状态;
395.在采集到请求有效信号的情况下,采集第三请求类型和第四请求数据;
396.在第三请求类型为资源入队的情况下,持续采集第五请求数据,直到接收到请求无效信号;采集响应有效信号;
397.根据采集到的第五请求数据的数量和入队特征参数的数量确定第三资源队列管理接口的时序是否正常。
398.在一些示例性实施例中,验证模块802还用于:
399.对入队的资源id进行校验得到第四校验结果;
400.在第四校验结果为入队的资源id正常的情况下,继续执行将入队的资源id的状态修改为空闲状态的步骤;
401.在入队的资源id异常的情况下,输出第十一告警信息。
402.在一些示例性实施例中,验证模块802具体用于采用以下方式实现根据采集到的第五请求数据的数量和入队特征参数的数量确定第三资源队列管理接口的时序是否正常:
403.在采集到的第五请求数据的数量和入队特征参数的数量相同的情况下,确定第三资源队列管理接口的时序正常;
404.在采集到的第五请求数据的数量和入队特征参数的数量不相同的情况下,确定第三资源队列管理接口的时序异常,输出第十二告警信息。
405.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对待验证的从模块的第三资源队列管理接口的验证:
406.在某一个队列的队列号对应的资源id序列非空的情况下,通过所述第一资源队列管理接口向所述第三资源队列管理接口发送所述某一个队列的队列任务指示有效信号;
407.在某一个队列的队列号对应的资源id序列为空的情况下,通过所述第一资源队列管理接口向所述第三资源队列管理接口发送所述某一个队列的队列任务指示无效信号;
408.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号的情况下,判断出队的队列号对应的资源id序列是否为空;
409.在出队的队列号对应的资源id序列非空的情况下,通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号、第三响应数据;其中,第三响应数据指示出队成功;
410.将出队的队列号对应的资源id序列中的第一个资源id包含在第五响应数据中通过第一资源队列管理接口发送给第三资源队列管理接口;
411.采集所述某一个队列的所述队列任务指示有效信号或所述队列任务指示无效信号;
412.在采集到请求有效信号的情况下,采集第四请求类型和第六请求数据;
413.在采集到响应有效信号、第三响应有效信号,且第三响应有效信号指示出队成功的情况下,采集第五响应数据。
414.在一些示例性实施例中,验证模块802还用于:
415.在出队的队列号对应的资源id序列为空的情况下,通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号、第三响应数据;其中,第三响应数据指示出队失败;
416.将随机的错误码包含在第六响应数据中通过第一资源队列管理接口发送给第三
资源队列管理接口;
417.在采集到响应有效信号、第三响应有效信号,且第三响应有效信号指示出队失败的情况下,采集第六响应数据。
418.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证:
419.采集第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
420.采集第二资源队列管理接口发送的响应有效信号和第一响应数据;
421.在第一响应数据指示资源申请成功的情况下,持续采集第二资源队列管理接口发送的第二响应数据,直到采集到第二资源队列管理接口发送的响应无效信号;其中,第二响应数据包括:申请到的资源id;
422.根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常。
423.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证:
424.采集所述第三资源队列管理接口发送的请求有效信号、第二请求类型和第二请求数据;其中,所述第二请求类型为资源释放,所述第二请求数据包括需要释放的资源数量;
425.持续采集所述第三资源队列管理接口发送的第三请求数据,直到采集到第三资源队列管理接口发送的请求无效信号;其中,所述第三请求数据包括:需要释放的资源id;
426.采集所述第二资源队列管理接口发送的响应有效信号;
427.根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常。
428.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证:
429.采集第三资源队列管理接口发送的请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括入队的资源id;
430.持续采集第三资源队列管理接口发送的第五请求数据,直到采集到请求无效信号;其中,第五请求数据包括:入队的资源id对应的入队特征参数;
431.采集第二资源队列管理接口发送的响应有效信号;
432.根据采集到的第五请求数据的数量和入队的资源id对应的入队特征参数的数量确定第三资源队列管理接口的时序是否正常。
433.在一些示例性实施例中,验证模块802具体用于采用以下方式实现通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证:
434.采集第二资源队列管理接口发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
435.采集所述第三资源队列管理接口发送的请求有效信号、第四请求类型和第六请求数据;其中,所述第四请求类型为资源出队,所述第六请求数据包括出队的队列号;
436.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响
应数据指示出队成功的情况下,确定资源出队数据采集完成。
437.本技术实施例的资源队列管理接口的验证装置的具体实现过程与前述实施例资源队列管理接口的验证方法的具体实现过程相同,这里不再赘述。
438.为了更直观的体现本技术的资源队列管理接口的验证装置的具体实现过程,下面描述一个验证实例实现验证所包括的单元。
439.如图9所示,每一个验证实例通过资源池单元、主驱动单元、采集单元、从驱动单元、接口单元实现,不同验证实例共享同一个资源池单元,不同验证实例的主驱动单元、采集单元、从驱动单元、接口单元均不相同。
440.其中,接口单元包括第一资源队列管理接口。
441.(一)对待验证的主模块的第二资源队列管理接口的验证
442.在进行验证之前,资源池单元用于:
443.根据配置参数生成每一种资源类型对应的资源id序列;
444.将配置参数配置到待验证的主模块中;
445.将资源id序列的数据存储空间地址参数配置到待验证的主模块中;
446.将资源id序列写入数据存储空间地址参数对应的数据存储空间地址中;
447.在待验证的主模块从数据存储空间地址中读取资源id序列后,将资源id序列清空。
448.(1)资源申请
449.a、针对资源申请成功的情况:
450.主驱动单元用于:
451.向接口单元发送请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
452.在接收接口单元发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续接收接口单元发送的第二响应数据,直到接收到接口单元发送的响应无效信号;其中,第二响应数据包括申请到的资源id;
453.接口单元用于:
454.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第一请求类型和第一请求数据,将请求有效信号、第一请求类型和第一请求数据发送给主驱动单元;
455.在通过第一资源队列管理接口接收第二资源队列管理接口发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,通过第一资源队列管理接口持续接收第二资源队列管理接口发送的第二响应数据,直到接收到第二资源队列管理接口发送的响应无效信号;将响应有效信号、第一响应数据、第二响应数据发送给主驱动单元;
456.资源池单元用于:
457.将申请到的资源id加入申请到的资源id对应的资源类型对应的资源id序列中,将申请到的资源id的状态标识为空闲状态;
458.采集单元用于:
459.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
460.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续采集第二响应数据,直到采集到响应无效信号;
461.根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常。
462.在一些示例性实施例中,资源池单元还用于:
463.对所有申请到的资源id进行校验得到第一校验结果;
464.在第一校验结果指示所有申请到的资源id正常的情况下,继续执行将申请到的资源id加入申请到的资源id对应的资源类型对应的资源id序列中的步骤;
465.在第一校验结果指示至少一个申请到的资源id异常的情况下,向主驱动单元发送第二告警信息;
466.主驱动单元还用于:输出第二告警信息,第二告警信息用于指示至少一个申请到的资源id异常,第二告警信息可以包括用于指示资源id异常的信息,以及异常的资源id。
467.b、针对资源申请失败的情况:
468.主驱动单元用于:
469.向接口单元发送请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
470.在接收接口单元发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请失败的情况下,确定资源申请操作完成;
471.接口单元用于:
472.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第一请求类型和第一请求数据,将请求有效信号、第一请求类型和第一请求数据发送给主驱动单元;
473.在通过第一资源队列管理接口接收第二资源队列管理接口发送的响应有效信号和第一响应数据,且第一响应数据指示资源申请失败的情况下,确定资源申请操作完成;将响应有效信号、第一响应数据发送给主驱动单元;
474.采集单元用于:
475.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
476.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请失败的情况下,确定资源申请数据采集完成。
477.(2)资源释放
478.主驱动单元用于:
479.读取至少一个处于空闲状态的资源id;
480.向接口单元发送请求有效信号、第二请求类型和第二请求数据;其中,第二请求类型为资源释放,第二请求数据包括需要释放的资源数量,即读取的资源id的数量;
481.将读取的资源id包含在第三请求数据中依次发送给接口单元;在读取的资源id全部传输完成后,将请求有效信号转换为请求无效信号发送接口单元;
482.在接收到接口单元发送的响应有效信号的情况下,确定资源释放操作完成;
483.资源池单元用于:
484.将读取的资源id从对应的资源类型对应的资源id序列中删除,表示这些资源id已
经被释放,不能再被作为激励使用;
485.接口单元用于:
486.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第二请求类型和第二请求数据;
487.将读取的资源id包含在第三请求数据中通过第一资源队列管理接口依次发送给第二资源队列管理接口;在读取的资源id全部传输完成后,将请求有效信号转换为请求无效信号通过第一资源队列管理接口发送给第二资源队列管理接口;
488.在通过第一资源队列管理接口接收到第二资源队列管理接口发送的响应有效信号的情况下,确定资源释放操作完成;
489.采集单元用于:
490.在采集到请求有效信号的情况下,采集第二请求类型和第二请求数据;
491.在请求类型为资源释放的情况下,持续采集第三请求数据,直到采集到请求无效信号;采集响应有效信号;
492.根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常。
493.(3)资源入队
494.主驱动单元用于:
495.读取一个处于空闲状态的资源id,通知资源池单元将读取的资源id的状态修改为占用状态;
496.向接口单元发送请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括读取的资源id;
497.将读取的资源id对应的入队特征参数包含在第五请求数据中依次发送给接口单元;在入队特征参数全部传输完成后,将请求有效信号转换为请求无效信号发送给接口单元;
498.在接收到接口单元发送的响应有效信号的情况下,确定资源入队操作完成;
499.接口单元用于:
500.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第三请求类型和第四请求数据;
501.将读取的资源id对应的入队特征参数包含在第五请求数据中通过第一资源队列管理接口依次发送给第二资源队列管理接口;在入队特征参数全部传输完成后,将请求有效信号转换为请求无效信号通过第一资源队列管理接口发送给第二资源队列管理接口;
502.在通过第一资源队列管理接口接收到第二资源队列管理接口发送的响应有效信号的情况下,向主驱动单元发送响应有效信号;
503.资源池单元用于:
504.将读取的资源id的状态修改为占用状态;
505.采集单元用于:
506.在采集到请求有效信号的情况下,采集第三请求类型和第四请求数据;
507.在请求类型为资源入队的情况下,持续采集第五请求数据,直到采集到请求无效信号;采集响应有效信号;
508.根据采集到的第五请求数据的数量和读取的资源id对应的入队特征参数的数量确定第二资源队列管理接口的时序是否正常。
509.(4)资源出队
510.在一些示例性实施例中,主驱动单元用于:
511.接收接口单元发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
512.向接口单元发送请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号;
513.在接收到接口单元发送的响应有效信号、第三响应数据,且第三响应数据指示出队成功,且所述出队的队列号对应的队列任务指示信号为队列任务指示无效信号的情况下,输出第四告警信息,第四告警信息用于指示第二资源队列管理接口的时序异常;
514.接口单元用于:
515.通过所述第一资源队列管理接口接收所述第二资源队列管理接口发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
516.通过第一资源队列管理接口向第二资源队列管理接口发送请求有效信号、第四请求类型和第六请求数据;
517.通过第一资源队列管理接口接收到响应有效信号、第三响应数据,向主驱动单元发送响应有效信号、第三响应数据和队列任务指示无效信号;
518.采集单元用于:
519.采集所述某一个队列的队列任务指示有效信号或队列任务指示无效信号;
520.在采集到请求有效信号的情况下,采集第四请求类型和第六请求数据;
521.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,确定资源出队数据采集完成。
522.在一些示例性实施例中,接口单元还用于:
523.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,通过第一资源队列管理接口接收第四响应数据;向主驱动模块发送响应有效信号、第三响应数据,向主驱动单元发送第四响应数据;
524.主驱动单元还用于:
525.在接收到接口单元发送的响应有效信号、第三响应数据,且第三响应数据指示出队失败,且所述出队的队列号对应的队列任务指示信号为队列任务指示有效信号的情况下,接收接口单元发送的第四响应数据;
526.在第四响应数据包括队列空的错误码的情况下,输出第五告警信息,第五告警信息用于指示第二资源队列管理接口的时序异常;
527.采集单元还用于:
528.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第四响应数据。
529.在一些示例性实施例中,接口单元还用于:
530.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,通过第一资源队列管理接口接收第五响应数据;其中,第五响
应数据包括:出队的队列号对应的资源id序列中的第一个资源id;
531.向主驱动单元发送响应有效信号、第三响应数据;
532.向主驱动单元发送第五响应数据;
533.主驱动单元还用于:
534.在接收到接口单元发送的响应有效信号、第三响应数据,且第三响应数据指示出队成功,且所述出队的队列号对应的队列任务指示信号为队列任务指示有效信号的情况下,接收接口单元发送的第五响应数据;
535.资源池单元还用于:
536.将第一个资源id的状态修改为空闲状态;
537.采集单元还用于:
538.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,采集第五响应数据。
539.在一些示例性实施例中,接口单元还用于:
540.在通过第一资源队列管理接口接收到响应有效信号、第三响应数据,且第三响应数据指示出队失败,接收第六响应数据;其中,第六响应数据包括:随机的错误码;
541.向主驱动单元发送响应有效信号、第三响应数据和队列任务指示无效信号;
542.向主驱动单元发送第六响应数据;
543.主驱动单元还用于:
544.在接收到接口单元发送的响应有效信号、第三响应数据,且第三响应数据指示出队失败,,且所述出队的队列号对应的队列任务指示信号为队列任务指示无效信号的情况下接收接口单元发送的第六响应数据;
545.采集单元还用于:
546.在采集到响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第六响应数据。
547.(二)对待验证的从模块的第三资源队列管理接口的验证
548.(1)资源申请
549.a、针对资源申请成功的情况
550.接口单元用于:
551.通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
552.向从驱动单元发送请求有效信号、第一请求类型和第一请求数据;
553.从驱动单元用于:
554.在接收到接口单元发送的请求有效信号、第一请求类型和第一请求数据的情况下,在需要申请的资源类型对应的资源id序列中查找处于空闲状态的资源id;
555.在查找到的处于空闲状态的资源id的数量大于或等于需要申请的资源数量的情况下,从查找到的处于空闲状态的资源id中选择出n个资源id;
556.资源池单元用于:
557.将选择的n个资源id的状态修改为占用状态,选择的n个资源id不能再被作为激励
使用;其中,n为需要申请的资源数量;
558.从驱动单元还用于:
559.向接口单元发送响应有效信号和第一响应数据;其中,第一响应数据指示资源申请成功;
560.将选择出的资源id包含在第二响应数据中依次发送给接口单元;在选择出的资源id全部传输完成后,将响应有效信号转换为响应无效信号发送给接口单元;
561.接口单元还用于:
562.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号和第一响应数据;
563.将选择出的资源id包含在第二响应数据中通过第一资源队列管理接口依次发送给第三资源队列管理接口;在选择出的资源id全部传输完成后,将响应有效信号转换为响应无效信号通过第一资源队列管理接口发送给第三资源队列管理接口;
564.采集单元用于:
565.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
566.在第一请求类型为资源申请,且采集到响应有效信号和第一响应数据,且第一响应数据指示资源申请成功的情况下,持续采集第二响应数据,直到采集到响应无效信号;
567.根据采集到的第二响应数据的数量和需要申请的资源数量确定第三资源队列管理接口的时序是否正常。
568.b、针对资源申请失败的情况
569.接口单元用于:
570.通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
571.向从驱动单元发送请求有效信号、第一请求类型和第一请求数据;
572.从驱动单元用于:
573.在接收到接口单元发送的请求有效信号、第一请求类型和第一请求数据的情况下,在需要申请的资源类型对应的资源id序列中查找处于空闲状态的资源id;
574.在查找到的处于空闲状态的资源id的数量小于需要申请的资源数量的情况下,向接口单元发送响应有效信号和第一响应数据;其中,第一响应数据指示资源申请失败;
575.接口单元还用于:
576.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号和第一响应数据;
577.采集单元用于:
578.在采集到请求有效信号的情况下,采集第一请求类型和第一请求数据;
579.在第一响应数据指示资源申请失败的情况下,确定资源申请数据采集完成。
580.(2)资源释放
581.从驱动单元用于:
582.在接收到接口单元发送的请求有效信号、第二请求类型和第二请求数据;其中,第一请求类型为资源释放,第二请求数据包括需要释放的资源数量的情况下,持续接收接口
单元发送的第三请求数据,直到接收到接口单元发送的请求无效信号;其中,第三请求数据包括:需要释放的资源id;
583.向接口单元发送响应有效信号;
584.接口单元用于:
585.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第二请求类型和第二请求数据情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第三请求数据,直到接收到第三资源队列管理接口发送的请求无效信号;
586.向从驱动单元发送请求有效信号、第二请求类型和第二请求数据;
587.向从驱动单元发送第三请求数据;
588.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号;
589.资源池单元用于:
590.将需要释放的资源id的状态修改为空闲状态;
591.采集单元用于:
592.在采集到请求有效信号的情况下,采集第二请求类型和第二请求数据;
593.在请求类型为资源释放的情况下,持续采集第三请求数据,直到接收到请求无效信号;采集响应有效信号;
594.根据采集到的第三请求数据的数量和需要释放的资源数量确定第三资源队列管理接口的时序是否正常。
595.在一些示例性实施例中,资源池单元还用于:
596.对需要释放的资源id进行校验得到第三校验结果;
597.在第三校验结果指示所有需要释放的资源id正常的情况下,继续执行将需要释放的资源id的状态修改为空闲状态的步骤;
598.在第三校验结果指示至少一个需要释放的资源id异常的情况下,向从驱动单元发送第八告警信息;
599.从驱动单元还用于:
600.输出第八告警信息,第八告警信息用于指示至少一个需要释放的资源id异常,第八告警信息可以包括用于指示资源id异常的信息,以及异常的资源id。
601.(3)资源入队
602.接口单元用于:
603.在通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括入队的资源id的情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第五请求数据,直到接收到请求无效信号;其中,第五请求数据包括:入队的资源id对应的入队特征参数;
604.向从驱动单元发送请求有效信号、第三请求类型和第四请求数据;
605.向从驱动单元持续发送第五请求数据;
606.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号;
607.从驱动单元用于:
608.在接收到接口单元发送的请求有效信号、第三请求类型和第四请求数据的情况下,通过第一资源队列管理接口持续接收第三资源队列管理接口发送的第五请求数据,直到接收到请求无效信号;
609.向接口单元发送响应有效信号;
610.资源池单元用于:
611.将入队的资源id的状态修改为空闲状态;
612.采集单元用于:
613.在采集到请求有效信号的情况下,采集第三请求类型和第四请求数据;
614.在第三请求类型为资源入队的情况下,持续采集第五请求数据,直到接收到请求无效信号;采集响应有效信号;
615.根据采集到的第五请求数据的数量和入队特征参数的数量确定第三资源队列管理接口的时序是否正常。
616.在一些示例性实施例中,资源池单元还用于:
617.对入队的资源id进行校验得到第四校验结果;
618.在第四校验结果为入队的资源id正常的情况下,继续执行将入队的资源id的状态修改为空闲状态的步骤;
619.在入队的资源id异常的情况下,向从驱动单元发送第十告警信息;
620.从驱动单元还用于:输出第十告警信息,第十告警信息用于指示入队的资源id异常。
621.(4)资源出队
622.接口单元用于:
623.通过所述第一资源队列管理接口向所述第三资源队列管理接口发送所述某一个队列的队列任务指示有效信号;
624.通过所述第一资源队列管理接口向所述第三资源队列管理接口发送所述某一个队列的队列任务指示无效信号;
625.通过第一资源队列管理接口接收到第三资源队列管理接口发送的请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号;
626.向从驱动单元发送请求有效信号、第四请求类型和第六请求数据;
627.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号、第三响应数据;其中,第三响应数据指示出队成功;
628.将出队的队列号对应的资源id序列中的第一个资源id包含在第五响应数据中通过第一资源队列管理接口发送给第三资源队列管理接口;
629.从驱动单元用于:
630.在某一个队列的队列号对应的资源id序列非空的情况下,向接口单元发送所述某一个队列的队列任务指示有效信号;
631.在某一个队列的队列号对应的资源id序列为空的情况下,向接口单元发送所述某一个队列的队列任务指示无效信号;
632.在接收到接口单元发送的请求有效信号、第四请求类型和第六请求数据的情况
下,判断出队的队列号对应的资源id序列是否为空;
633.在出队的队列号对应的资源id序列非空的情况下,向接口单元发送响应有效信号、第三响应数据;
634.将出队的队列号对应的资源id序列中的第一个资源id包含在第五响应数据中发送给接口单元;
635.采集模块用于:
636.采集所述某一个队列的所述队列任务指示有效信号或所述队列任务指示无效信号;
637.在采集到请求有效信号的情况下,采集第四请求类型和第六请求数据;
638.在采集到响应有效信号、第三响应有效信号,且第三响应有效信号指示出队成功的情况下,采集第五响应数据。
639.在一些示例性实施例中,从驱动单元还用于:
640.在出队的队列号对应的资源id序列为空的情况下,向接口单元发送响应有效信号、第三响应数据;其中,第三响应数据指示出队失败;
641.将随机的错误码包含在第六响应数据中发送给接口单元;
642.接口单元还用于:
643.通过第一资源队列管理接口向第三资源队列管理接口发送响应有效信号、第三响应数据;
644.将随机的错误码包含在第六响应数据中通过第一资源队列管理接口发送给第三资源队列管理接口;
645.采集单元还用于:
646.在采集到响应有效信号、第三响应有效信号,且第三响应有效信号指示出队失败的情况下,采集第六响应数据。
647.(三)对待验证的主模块的第二资源队列管理接口和待验证的从模块的第三资源队列管理接口之间的交互过程的验证
648.(1)资源申请
649.采集单元用于:
650.采集第三资源队列管理接口发送的请求有效信号、第一请求类型和第一请求数据;其中,第一请求类型为资源申请,第一请求数据包括需要申请的资源类型和需要申请的资源数量;
651.采集第二资源队列管理接口发送的响应有效信号和第一响应数据;
652.在第一响应数据指示资源申请成功的情况下,持续采集第二资源队列管理接口发送的第二响应数据,直到采集到第二资源队列管理接口发送的响应无效信号;其中,第二响应数据包括:申请到的资源id;
653.根据采集到的第二响应数据的数量和需要申请的资源数量确定第二资源队列管理接口的时序是否正常。
654.(2)资源释放
655.采集单元用于:
656.采集第三资源队列管理接口发送的请求有效信号、第二请求类型和第二请求数
据;其中,第二请求类型为资源释放,第二请求数据包括需要释放的资源数量;
657.持续采集第三资源队列管理接口发送的第三请求数据,直到采集到第三资源队列管理接口发送的请求无效信号;其中,第三请求数据包括:需要释放的资源id;
658.采集第二资源队列管理接口发送的响应有效信号;
659.根据采集到的所述第三请求数据的数量和所述需要释放的资源数量确定所述第二资源队列管理接口的时序是否正常。
660.(3)资源入队
661.采集单元用于:
662.采集第三资源队列管理接口发送的请求有效信号、第三请求类型和第四请求数据;其中,第三请求类型为资源入队,第四请求数据包括入队的资源id;
663.持续采集第三资源队列管理接口发送的第五请求数据,直到采集到请求无效信号;其中,第五请求数据包括:入队的资源id对应的入队特征参数;
664.采集第二资源队列管理接口发送的响应有效信号;
665.根据采集到的第五请求数据的数量和入队的资源id对应的入队特征参数的数量确定第三资源队列管理接口的时序是否正常。
666.(4)资源出队
667.采集单元用于:
668.采集第二资源队列管理接口发送的某一个队列的队列任务指示有效信号或队列任务指示无效信号;
669.采集第三资源队列管理接口发送的请求有效信号、第四请求类型和第六请求数据;其中,第四请求类型为资源出队,第六请求数据包括出队的队列号;
670.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,确定资源出队数据采集完成。
671.在一些示例性实施例中,通过验证实例实现对第二资源队列管理接口和第三资源队列管理接口之间的交互过程的验证还包括:
672.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第四响应数据。
673.在一些示例性实施例中,采集单元还用于:
674.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队成功的情况下,采集第五响应数据。
675.在一些示例性实施例中,采集单元还用于:
676.在采集到第二资源队列管理接口发送的响应有效信号、第三响应数据,且第三响应数据指示出队失败的情况下,采集第六响应数据。
677.在一些示例性实施例中,采集单元还用于:统计资源申请、资源释放、资源入队、资源出队的次数。
678.在一些示例性实施例中,接口单元还用于:进行断言和覆盖率统计。
679.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个
物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字多功能盘(dvd)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储器、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
680.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本技术的范围的情况下,可进行各种形式和细节上的改变。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献