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

延迟控制、并发执行控制方法、装置、设备及存储介质与流程

2022-11-14 13:08:23 来源:中国专利 TAG:


1.本发明涉及数据测试领域,尤其涉及一种延迟控制、并发执行控制方法、装置、设备及存储介质。


背景技术:

2.传统的灰盒测试一般由测试人员基于软件源码的实现逻辑编写的易于执行的测试用例。随着系统逻辑复杂度的提高,测试用例需要能够精准控制多线程时序的场景需求。
3.linux调试环境下可以使用gdb调试工具中的调试命令,对运行中的进程中的多个业务线程进行控制,从而实现测试过程中,对进程中不同业务线程的精准时序操控。
4.发明人在实现本发明的过程中,发现现有技术存在如下缺陷:gdb工具是一个成熟专业的调试工具,需要具备较高的能力及对目标代码有一定了解,才能使用,并且其在实现自动化测试方面具有一定的技术难度。


技术实现要素:

5.本发明提供了一种延迟控制、并发执行控制方法、装置、设备及存储介质,以简单、准确的实现对并行测试场景中的各工作状态进行并发执行的控制。
6.根据本发明的一方面,提供了一种延迟控制方法,由配置在测试系统中的工作参数注入组件执行,其中,所述方法包括:
7.获取针对测试系统中待执行的目标测试用例注入的工作参数;
8.其中,目标测试用例在测试系统中解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态,工作参数用于标识目标工作状态机序列中的目标工作状态需要进行前延迟和/或后延迟;
9.在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略;
10.其中,处理策略包括下述至少一项:指示测试系统流转至当前工作状态机序列的下一工作状态进行加载,指示测试系统完成对所述当前工作状态的执行、执行前延迟处理以及执行后延迟处理。
11.可选地,根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略,包括:
12.根据所述工作参数和当前工作状态的延迟完成情况,检测当前工作状态是否需要执行前延迟处理且并未进行前延迟处理;
13.若是,则对所述当前工作状态执行前延迟处理,并标记当前工作状态完成前延迟,以控制当前工作状态对其他工作状态机序列中的关联工作状态进行异步等待;
14.若否,则执行所述当前工作状态后,根据所述工作参数检测当前工作状态是否需要执行后延迟处理;
15.如果确定需要执行后延迟处理,则对所述当前工作状态执行后延迟处理,并标记当前工作状态完成后延迟,以控制当前工作状态对其他工作状态机序列中的关联工作状态进行异步等待;
16.如果确定不需要执行后延迟处理,则指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
17.这样设置的好处是:通过对工作参数和当前工作状态的延迟完成情况的检测,来完成对当前工作状态执行前延迟处理和后延迟处理。这样可以更加清晰地确定当前工作状态需要的决策策略,可以实现对测试系统内作业的时序控制,从而实现与其它作业的并发控制。
18.可选地,在根据所述工作参数和当前工作状态的延迟完成情况,检测当前工作状态是否需要执行前延迟处理且并未进行前延迟处理之前,还包括:
19.如果确定当前工作状态完成后延迟,则清理所述当前工作状态的全部已完成延迟标记;
20.指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
21.这样设置的好处是:通过确定当前工作状态已经完成后延迟,需要清理全部已完成延迟标记,并流转至下一工作状态,这样可以更加确定当前工作状态机序列已经完成当前工作状态的处理,从而能够节约时间,提高准确率和效率。
22.可选地,在对所述当前工作状态执行前延迟处理之后,还包括:
23.在确定满足前延迟完成条件时,指示测试系统重新加载所述当前工作状态;
24.所述前延迟完成条件包括:接收到测试系统在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时所发送的提示信息,或者,确定延迟至预先设定的前延迟等待时间。
25.这样设置的好处是:通过判断是否满足前延迟完成条件,从而指示测试系统重新加载当前工作状态机序列。这样可以能够实现与其它作业的并发控制,实现各种不同响应能力的并发测试场景覆盖,从而也避免了由于等待时间太长而造成的资源浪费。
26.可选地,在对所述当前工作状态执行后延迟处理之后,还包括:
27.在确定满足后延迟完成条件时,指示测试系统重新加载所述当前工作状态;
28.所述后延迟完成条件包括:接收到测试系统在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时所发送的提示信息,或者,确定延迟至预先设定的后延迟等待时间。
29.这样设置的好处是:通过判断是否满足后延迟完成条件,从而指示测试系统重新加载当前工作状态机序列。这样可以能够实现与其它作业的并发控制,实现各种不同响应能力的并发测试场景覆盖,从而也避免了由于等待时间太长而造成的资源浪费。
30.根据本发明的另一方面,还提供了一种并发执行控制方法,由测试系统执行,其中,所述方法包括:
31.获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态;
32.触发各工作状态机序列的并行执行;
33.当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中
的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令;
34.其中,所述工作参数注入组件用于根据所述加载指令,根据预先注入的目标测试用例的工作参数和/或当前工作状态的延迟情况,确定并执行针对当前工作状态的处理策略。
35.可选地,在向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令之后,还包括:
36.在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时,生成与所述当前工作状态对应的提示信息;
37.将所述提示信息发送至所述工作参数注入组件,以触发所述工作参数注入组件指示测试系统重新加载当前工作状态。
38.这样设置的好处是:通过生成与当前工作状态对应的提示信息,以及将其发送至工作参数注入组件,从而能够更加快速准确地加载当前工作状态,从而能够提高自动化调试的可靠性和准确率,降低自动化调试中并发控制的复杂度。
39.根据本发明的另一方面,提供了一种延迟控制装置,由配置在测试系统中的工作参数注入组件执行,其中,所述装置包括:
40.工作参数获取模块,用于获取针对测试系统中待执行的目标测试用例注入的工作参数;
41.其中,目标测试用例在测试系统中解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态,工作参数用于标识目标工作状态机序列中的目标工作状态需要进行前延迟和/或后延迟;
42.处理策略确定模块,用于在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略;
43.其中,处理策略包括下述至少一项:指示测试系统流转至当前工作状态机序列的下一工作状态进行加载,指示测试系统完成对所述当前工作状态的执行、执行前延迟处理以及执行后延迟处理。
44.根据本发明的另一方面,还提供了一种并发执行控制装置,由测试系统执行,其中,包括:
45.目标测试用例获取模块,用于获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态;
46.并行执行触发模块,用于触发各工作状态机序列的并行执行;
47.加载指令发送模块,用于当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令;
48.其中,所述工作参数注入组件用于根据所述加载指令,根据预先注入的目标测试用例的工作参数和/或当前工作状态的延迟情况,确定并执行针对当前工作状态的处理策略。
49.根据本发明的另一方面,提供了一种电子设备,其中,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
50.其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一项实施例所述的延迟控制方法,或者执行本发明任一项实施例所述的并发执行控制方法。
51.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行本发明任一项实施例所述的延迟控制方法,或者执行本发明任一项实施例所述的并发执行控制方法。
52.本发明实施例的技术方案,通过由测试系统内的工作参数注入组件获取针对测试系统中待执行的目标测试用例注入的工作参数;在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略的技术手段,可以简单的通过配置工作参数的方式,简单、准确的实现对并行测试场景中的各工作状态的延迟控制,进而可以解决并发测试场景中并发控制困难的问题,降低了自动化调试中并发控制的复杂度,减轻了测试人员的调试工作难度,提高了自动化调试的可靠性和准确率,并实现对各种不同响应能力的并发测试场景覆盖。
53.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
54.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1a是根据本发明实施例一提供的一种延迟控制方法的流程图;
56.图1b是根据本发明实施例一提供的方法中的工作状态机序列的结构示意图;
57.图1c是根据本发明实施例一提供的方法中的注入工作参数的结构示意图;
58.图2是根据本发明实施例二提供的一种延迟控制方法的流程图;
59.图3a是根据本发明实施例三提供的一种并发执行控制方法的流程图;
60.图3b是本发明实施例所适用的一种由工作参数注入组件和测试系统共同实现的方法流程图;
61.图4是根据本发明实施例四提供的一种延迟控制装置的结构示意图;
62.图5是根据本发明实施例五提供的一种并发执行控制装置的结构示意图;
63.图6是实现本发明实施例方法的电子设备的结构示意图。
具体实施方式
64.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
65.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”、“当前”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
66.实施例一
67.图1a为本发明实施例一提供的一种延迟控制方法的流程图,本实施例可适用于在系统测试场景中,对测试系统内作业的各工作状态进行延迟控制的情况,该方法可以由延迟控制装置来执行,该延迟控制装置可以采用硬件和/或软件的形式实现,具体的,由配置在测试系统中的工作参数注入组件执行,其中,该工作参数注入组件可以以应用程序或者应用程序插件的方式预先安装于测试系统中,还可以作为系统代码的一部分预先写入该测试系统的系统代码中。
68.相应的,如图1a所示,该方法包括:
69.s110、获取针对测试系统中待执行的目标测试用例注入的工作参数。
70.在本实施例中,测试系统可以理解为待测试的软硬件产品,该软硬件产品通过运行预先编写得到的测试用例,可以对该软硬件产品进行各类功能测试。典型的,该测试系统可以为分布式系统,例如,分布式块存储系统等。
71.目标测试用例,可以理解为测试系统当前所需执行的一条特定的测试用例。典型的,测试用例可以由多个测试步骤顺次相连构成,以实现设定软件测试功能,其可以是需要进行自动化测试的程序代码。
72.其中,目标测试用例可以在测试系统中解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态,如图1b所示,为工作状态机序列的结构示意图。在图1b中,工作状态机序列中包括多个工作状态,每个工作状态分别可以表示为job stage 1、job stage 2、

、job stage n等。工作参数用于标识目标工作状态机序列中的目标工作状态需要进行前延迟和/或后延迟。
73.如前所述,本发明实施例所适用的测试系统主要是分布式测试系统,进而,针对一个目标测试用例,需要根据所需进行测试的分布式节点数量,首先将该目标测试用例解析为多个相同的工作状态机序列分别分发给不同的分布式节点,以供各分布式节点并发的执行各自的工作状态机序列。
74.其中,由于在目标测试用例中定义了多个测试步骤,进而通过对该目标测试用例进行解析后,可以相应生成与每个测试步骤分别对应的工作状态,并相应串联得到工作状态机序列。
75.在本实施例中,测试人员可以根据实际需要,指定工作状态机序列a中的工作状态a-a,与工作状态机序列b中的工作状态b-b进行并发执行。进而,测试人员可以通过为a-a和b-b分别设置前延迟的方式,控制a-a和b-b的并发执行状态,也即,当检测到a-a和b-b均处于前延迟状态时,触发a-a和b-b的继续执行;或者,测试人员还可以通过为a-a和b-b的前一工作状态分别设置后延迟的方式,控制a-a和b-b的并发执行状态。或者,测试人员还可以通
过针对a-a和b-b分别设置前延迟和后延迟等,本实施例对此并不进行限制。
76.相应的,该工作参数可以为针对一个具体的目标工作状态机序列中的一个具体的目标工作状态进行前延迟的设置,或者进行后延迟的设置,或者同时进行前延迟或者后延迟的设置。
77.其中,前延迟可以理解为在该目标工作状态执行之前,首先进行设定时长的延迟,后延迟可以理解为在该目标工作状态执行之后,下一工作状态执行之前,进行设定时长的延迟。具体的,该设定时长可以根据实际情况进行预设,一般来说,该设定时长会设置为一个相对于工作状态的执行时间较大的一个数值。
78.示例性的,假设在测试系统中,对待执行的目标测试用例进行解析,确定目标测试用例可以解析为3个用于并行执行的工作状态机序列(分别为工作状态机序列1、工作状态机序列2和工作状态机序列3),其中每个工作状态机序列包括5个工作状态(分别为job stage 1、job stage 2、job stage 3、job stage 4和job stage 5)。向待执行的目标测试用例注入的工作参数,可以为对工作状态机序列1中的job stage 1设置的前延迟、对工作状态机序列2中的job stage 4设置的前延迟等。
79.在本实施例的一个可选的实施方式中,可以在工作参数注入组件中预先封装一个或者多个注入接口。通过接口调用的方式,注入与待执行的目标测试用例匹配的工作参数。如图1c所示,为注入工作参数的结构示意图,其中可以通过接口调用的方式向工作参数注入组件注入与目标测试用例匹配的工作参数,具体的,接口可以包括socket、pipe、以及config file,工作参数注入组件可以是jif(job inject framework)。
80.s120、在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略。
81.其中,处理策略包括下述至少一项:指示测试系统流转至当前工作状态机序列的下一工作状态进行加载,指示测试系统完成对所述当前工作状态的执行、执行前延迟处理以及执行后延迟处理。
82.具体的,指示测试系统流转至当前工作状态机序列的下一工作状态进行加载可以理解为指示测试系统放弃对当前加载的当前工作状态的执行,而流转至当前工作状态机序列中,该当前工作状态的下一工作状态进行加载;指示测试系统完成对所述当前工作状态的执行可以理解为指示测试系统直接执行该当前工作状态;执行前延迟处理可以理解为在指示测试系统执行该当前工作状态对该当前工作状态进行延迟处理;执行后延迟处理可以理解为在确定测试系统完成对当前工作状态的执行后,对该当前工作状态进行延迟处理。
83.其中,所述当前工作状态的延迟完成情况是指该当前工作状态是否已经完成了前延迟处理,或者后延迟处理,或者同时完成了前延迟处理和后延迟处理。
84.续前例,当接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,假设当前工作状态为在工作状态机序列1中的job stage 2,也即接收到测试系统对工作状态机序列1中的job stage 2的加载指令时,因此需要根据获取到的预先注入的,针对该目标测试用例的工作参数和job stage 2的延迟完成情况中的至少一项,来确定并执行针对job stage2的处理策略。
85.本发明实施例的技术方案,通过由测试系统内的工作参数注入组件获取针对测试
系统中待执行的目标测试用例注入的工作参数;在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略的技术手段,可以简单的通过配置工作参数的方式,简单、准确的实现对并行测试场景中的各工作状态的延迟控制,进而可以解决并发测试场景中并发控制困难的问题,降低了自动化调试中并发控制的复杂度,减轻了测试人员的调试工作难度,提高了自动化调试的可靠性和准确率,并实现对各种不同响应能力的并发测试场景覆盖。
86.实施例二
87.图2为本发明实施例二提供的一种延迟控制方法的流程图,本实施例以上述各实施例为基础进行优化。在本实施例中,对根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略的操作进行具体化。
88.相应的,如图2所示,所述方法具体包括:
89.s210、获取针对测试系统中待执行的目标测试用例注入的工作参数。
90.其中,目标测试用例在测试系统中解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态,工作参数用于标识目标工作状态机序列中的目标工作状态需要进行前延迟和/或后延迟;
91.s220、在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据当前工作状态的延迟完成情况,检测当前工作状态是否完成后延迟:若是,执行s230;否则执行s240。
92.s230、清理所述当前工作状态的全部已完成延迟标记,并指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
93.续前例,当前工作状态为在工作状态机序列1中的job stage 2,假设job stage 2对应的工作参数和延迟完成情况为:已经完成后延迟处理。在检测job stage 2是否需要执行前延迟处理且并未进行前延迟处理之前,首先需要判断job stage 2是否完成后延迟处理,由于job stage 2已经完成了后延迟处理,所以需要清理job stage 2的全部已完成延迟标记,指示测试系统流转至job stage 2的job stage 3进行加载。
94.这样设置的好处是:通过确定当前工作状态已经完成后延迟,需要清理全部已完成延迟标记,并流转至下一工作状态,这样可以更加确定当前工作状态机序列已经完成当前工作状态的处理,从而能够节约时间,提高准确率和效率。
95.s240、根据所述工作参数和当前工作状态的延迟完成情况,检测当前工作状态是否需要执行前延迟处理且并未进行前延迟处理:若是,执行s250;否则执行s270。
96.s250、对所述当前工作状态执行前延迟处理,并标记当前工作状态完成前延迟,执行s260。
97.s260、在确定满足前延迟完成条件时,指示测试系统重新加载所述当前工作状态。
98.其中,所述前延迟完成条件包括:接收到测试系统在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时所发送的提示信息,或者,确定延迟至预先设定的前延迟等待时间。
99.在本实施例中,在测试系统对重新加载当前工作状态之前,需要判断是否满足前延迟完成条件,具体的,前延迟完成条件成功实现异步等待时所发送的提示信息或者延迟
至预先设定的前延迟等待时间。
100.续前例,当前工作状态为在工作状态机序列1中的job stage 2,假设工作状态机序列1中的job stage 2与工作状态机序列2中的job stage 3,预先设定的前延迟等待时间为30min。
101.具体的,接收到测试系统在确定工作状态机序列1中的job stage 2与工作状态机序列2中的job stage 3成功实现异步等待时所发送的提示信息,指示测试系统重新加载工作状态机序列1中的job stage 2。或者工作状态机序列1中的job stage 2一直未接收到成功实现异步等待时所发送的提示信息,等到超过30min之后,指示测试系统重新加载工作状态机序列1中的job stage 2。
102.这样设置的好处在于:通过判断是否满足前延迟完成条件,从而指示测试系统重新加载当前工作状态机序列。这样可以能够实现与其它作业的并发控制,实现各种不同响应能力的并发测试场景覆盖,从而也避免了由于等待时间太长而造成的资源浪费。
103.s270、执行所述当前工作状态机后,根据所述工作参数检测当前工作状态是否需要执行后延迟处理:若是,则执行s280;否则,执行s2100。
104.s280、对所述当前工作状态执行后延迟处理,并标记当前工作状态完成后延迟,执行s290。
105.s290、在确定满足后延迟完成条件时,指示测试系统重新加载所述当前工作状态机。
106.其中,所述后延迟完成条件包括:接收到测试系统在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时所发送的提示信息,或者,确定延迟至预先设定的后延迟等待时间。
107.在本实施例中,在测试系统对重新加载当前工作状态之前,需要判断是否满足后延迟完成条件,具体的,后延迟完成条件成功实现异步等待时所发送的提示信息或者延迟至预先设定的后延迟等待时间。
108.续前例,当前工作状态为在工作状态机序列1中的job stage 2,假设工作状态机序列1中的job stage 2与工作状态机序列3中的job stage 4,预先设定的后延迟等待时间为30min。
109.具体的,接收到测试系统在确定工作状态机序列1中的job stage 2与工作状态机序列2中的job stage 3成功实现异步等待时所发送的提示信息,指示测试系统重新加载工作状态机序列1中的job stage 2。或者工作状态机序列1中的job stage 2一直未接收到成功实现异步等待时所发送的提示信息,等到超过30min之后,指示测试系统重新加载job stage 2对应的当前工作状态机序列。
110.这样设置的好处在于:通过判断是否满足后延迟完成条件,从而指示测试系统重新加载当前工作状态机序列。这样可以能够实现与其它作业的并发控制,实现各种不同响应能力的并发测试场景覆盖,从而也避免了由于等待时间太长而造成的资源浪费。
111.s2100、指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
112.续前例,当前工作状态为在工作状态机序列1中的job stage 2,假设job stage 2对应的工作参数和当前工作状态的延迟完成情况为:没有进行前延迟处理并且需要进行前延迟处理,也没有进行后延迟处理并且需要进行后延迟处理。
113.首先,需要检测job stage 2是否需要执行前延迟处理且并未进行前延迟处理,由于job stage 2并未进行前延迟处理并且需要进行前延迟处理,则需要对job stage 2执行前延迟处理,并标记job stage 2完成前延迟,以控制job stage 2对其他工作状态机序列中的关联工作状态进行异步等待,也即工作状态机序列2和工作状态机序列3中的关联工作状态进行异步等待。
114.本实施例中另一个可选的实施方式,当前工作状态为在工作状态机序列1中的job stage 2,假设job stage 2对应的工作参数和当前工作状态的延迟完成情况为:不需要前延迟处理并且已经完成前延迟处理,没有进行后延迟处理并且需要进行后延迟处理。
115.首先,需要检测job stage 2是否需要执行前延迟处理且并未进行前延迟处理。由于job stage 2不需要前延迟处理并且已经完成前延迟处理,因此,则在指示测试系统完成对job stage 2的执行后,根据工作参数检测job stage 2是否需要执行后延迟处理。
116.进一步的,如果需要,则对job stage 2执行后延迟处理,并标记job stage2完成后延迟,以控制job stage 2对其他工作状态机序列(工作状态机序列2和工作状态机序列3)中的关联工作状态进行异步等待。如果确定不需要,则指示测试系统流转至当前工作状态机序列中job stage 2的下一工作状态job stage 3进行加载。
117.这样设置的好处在于:通过对工作参数和当前工作状态的延迟完成情况的检测,来完成对当前工作状态执行前延迟处理和后延迟处理。这样可以更加清晰地确定当前工作状态需要的决策策略,可以实现对测试系统内作业的时序控制,从而实现与其它作业的并发控制。
118.本发明实施例的技术方案通过判断工作参数和当前工作状态的延迟完成情况,来进一步地确定并执行针对当前工作状态的处理策略,可以更加清晰地确定当前工作状态需要的决策策略,可以实现对测试系统内作业的时序控制,从而实现与其它作业的并发控制,实现各种不同响应能力的并发测试场景覆盖,从而也避免了由于等待时间太长而造成的资源浪费。
119.实施例三
120.图3a为本发明实施例三提供的一种并发执行控制方法的流程图,本实施例可适用于测试系统对并发执行的多个工作状态机序列进行并发执行控制的情况,该方法可以由并发执行控制装置来执行,该并发执行控制装置可以采用硬件和/或软件的形式实现,具体的,可以由测试系统执行,其中,该测试系统可以立即为加载目标测试用例进行功能测试的分布式系统,一般包括多个分布式节点。
121.相应的,如图3所示,该方法包括:
122.s310、获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列。
123.其中,工作状态机序列中包括多个工作状态。
124.在本实施例中,测试系统解析得到的工作状态机序列的数量与测试人员需要并发执行的分布式节点的数量值相匹配。
125.s320、触发各工作状态机序列的并行执行。
126.具体的,测试系统可以将每个工作状态机序列分发至匹配的分布式节点,并触发各分布式节点并行的执行各自接收到的工作状态机序列。
127.s330、当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令。
128.其中,所述工作参数注入组件用于根据所述加载指令,根据预先注入的目标测试用例的工作参数和/或当前工作状态的延迟情况,确定并执行针对当前工作状态的处理策略。
129.在本实施例中,测试系统每当对当前工作状态机序列中的当前工作状态进行加载时,首先将该当前工作状态机序列中的当前工作状态发送至工作参数注入组件,由该工作参数注入组件代为判断需要对当前工作状态机序列中的当前工作状态进行何种处理策略的处理。
130.具体的,处理策略包括下述至少一项:指示测试系统流转至当前工作状态机序列的下一工作状态进行加载,指示测试系统完成对所述当前工作状态的执行、执行前延迟处理以及执行后延迟处理。
131.在本实施例中,测试系统需要获取待执行的目标测试用例,并解析为多个用于并行执行的工作状态机序列。比如说,可以解析为3个用于并行执行的工作状态机序列(分别为工作状态机序列1、工作状态机序列2和工作状态机序列3),其中每个工作状态机序列包括5个工作状态(分别为job stage 1、job stage 2、job stage 3、job stage 4和job stage5)。
132.进一步的,测试系统可以触发各工作状态机序列的并行执行,也即触发工作状态机序列1、工作状态机序列2和工作状态机序列3的并行执行。
133.相应的,当执行至对当前工作状态机序列中的当前工作状态的加载时,比如加载工作状态机序列1中的job stage 2、工作状态机序列2中的job stage 3、以及工作状态机序列3中的job stage 4,向测试系统中的工作参数注入组件发送对工作状态机序列1中的job stage 2、工作状态机序列2中的job stage 3、以及工作状态机序列3中的job stage 4的加载指令。
134.可选的,在向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令之后,还可以包括:
135.在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时,生成与所述当前工作状态对应的提示信息;将所述提示信息发送至所述工作参数注入组件,以触发所述工作参数注入组件指示测试系统重新加载当前工作状态机序列。
136.在本实施例中,在确定当前工作状态机序列与其他工作状态机序列中的关联工作状态成功实现异步等待时,也即当前工作状态机序列与其他工作状态机序列都处于前延迟状态或者后延迟状态,也即两者中的关联工作状态成功实现异步等待。
137.续前例,假设工作状态机序列1中的job stage 2和工作状态机序列2中的job stage 3需要进行工作状态的关联,也即工作状态机序列1中的job stage 2和工作状态机序列2中的job stage 3都处于前延迟状态或者后延迟状态,需要同步执行上述两个工作状态。因此,当工作状态机序列2中的job stage 3实现异步等待时,需要判断工作状态机序列1中的job stage 2是否完成操作,进入异步等待。如果工作状态机序列1中的job stage 2进入异步等待,则确定与工作状态机序列2中的job stage 3的关联工作状态成功实现异步等待,则生成与job stage 2对应的提示信息。
138.进一步的,将提示信息发送至工作参数注入组件,以触发工作参数注入组件指示测试系统重新加载工作状态机序列1中的job stage 2。
139.这样设置的好处是:通过生成与当前工作状态对应的提示信息,以及将其发送至工作参数注入组件,从而能够更加快速准确地加载当前工作状态,从而能够提高自动化调试的可靠性和准确率,降低自动化调试中并发控制的复杂度。
140.本发明实施例的技术方案,通过获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列;触发各工作状态机序列的并行执行;当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令的技术手段,可以简单的通过配置工作参数的方式,简单、准确的实现对并行测试场景中的各工作状态的延迟控制,进而可以解决并发测试场景中并发控制困难的问题,降低了自动化调试中并发控制的复杂度,减轻了测试人员的调试工作难度,提高了自动化调试的可靠性和准确率,并实现对各种不同响应能力的并发测试场景覆盖。
141.具体应用场景
142.图3b是本发明实施例所适用的一种由工作参数注入组件和测试系统共同实现的方法流程图。
143.其中,如图3b所示,该工作参数注入组件可以为job inject framework框架,该并发执行控制方法可以由测试系统中的job framework框架执行,
144.相应的,整个方法流程包括:首先通过测试系统中的job framework框架获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列,并向job inject framework框架注入工作参数,job inject framework框架获取针对测试系统中待执行的目标测试用例注入的工作参数。
145.进一步的,job inject framework框架在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据当前工作状态的延迟完成情况,检测当前工作状态是否完成后延迟:若是,则清理所述当前工作状态的全部已完成延迟标记,并通过返回同步完成指示值的方式,指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。否则,则根据所述工作参数和当前工作状态的延迟完成情况,检测当前工作状态是否需要执行前延迟处理且并未进行前延迟处理。
146.如果需要执行前延迟处理且并未进行前延迟处理,则对所述当前工作状态执行前延迟处理,并标记当前工作状态完成前延迟后,返回异步等待指示值。进而,在确定满足前延迟完成条件时,可以通过向job framework框架重投当前工作状态的方式,指示测试系统重新加载所述当前工作状态。
147.如果不需要执行前延迟处理,或者完成前延迟处理,则在完成对所述当前工作状态机的执行后,根据所述工作参数检测当前工作状态是否需要执行后延迟处理。
148.如果当前工作状态需要执行后延迟处理,则对所述当前工作状态执行后延迟处理,并标记当前工作状态完成后延迟后,返回异步等待指示值,并且在确定满足后延迟完成条件时,可以通过向job framework框架重投当前工作状态的方式,指示测试系统重新加载所述当前工作状态机。
149.如果当前工作状态不需要执行后延迟处理,则通过返回同步完成指示值的方式,
指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
150.另外的,等到结束上述操作之后,将同步完成指示值或者异步等待指示值的结果反馈给job framework框架来进行判断,在测试系统中的job framework框架会根据上述指示值,判定工作状态机序列是否同步完成(或者异步完成),从而能够确定任务的完成。
151.具体的,在delay timer中来判断是否到达预先设定的前延迟等待时间或者后延迟等待时间,如果是,则需要将当前工作状态重投至测试系统中的job framework框架。
152.实施例四
153.图4为本发明实施例四提供的一种延迟控制装置的结构示意图。本实施例所提供的一种延迟控制装置可以通过软件和/或硬件来实现,可配置于服务器或者终端设备中来实现本发明实施例中的一种延迟控制方法。如图4所示,该装置包括:工作参数获取模块410和处理策略确定模块420。
154.其中,工作参数获取模块410,用于获取针对测试系统中待执行的目标测试用例注入的工作参数;
155.其中,目标测试用例在测试系统中解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态,工作参数用于标识目标工作状态机序列中的目标工作状态需要进行前延迟和/或后延迟;
156.处理策略确定模块420,用于在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略;
157.其中,处理策略包括下述至少一项:指示测试系统流转至当前工作状态机序列的下一工作状态进行加载,指示测试系统完成对所述当前工作状态的执行、执行前延迟处理以及执行后延迟处理。
158.本发明实施例的技术方案,通过由测试系统内的工作参数注入组件获取针对测试系统中待执行的目标测试用例注入的工作参数;在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略的技术手段,可以简单的通过配置工作参数的方式,简单、准确的实现对并行测试场景中的各工作状态的延迟控制,进而可以解决并发测试场景中并发控制困难的问题,降低了自动化调试中并发控制的复杂度,减轻了测试人员的调试工作难度,提高了自动化调试的可靠性和准确率,并实现对各种不同响应能力的并发测试场景覆盖。
159.可选的,处理策略确定模块420,具体可以包括:
160.前延迟检测单元,用于根据所述工作参数和当前工作状态的延迟完成情况,检测当前工作状态是否需要执行前延迟处理且并未进行前延迟处理。
161.异步等待单元,用于当前工作状态需要执行前延迟处理且并未进行前延迟处理,则对所述当前工作状态执行前延迟处理,并标记当前工作状态完成前延迟,以控制当前工作状态对其他工作状态机序列中的关联工作状态进行异步等待。
162.后延迟处理判断单元,用于当前工作状态不需要执行前延迟处理且并未进行前延迟处理,则执行所述当前工作状态后,根据所述工作参数检测当前工作状态是否需要执行后延迟处理。
163.后延迟处理执行单元,用于如果确定需要执行后延迟处理,则对所述当前工作状态执行后延迟处理,并标记当前工作状态完成后延迟,以控制当前工作状态对其他工作状态机序列中的关联工作状态进行异步等待。后延迟处理不执行单元,用于如果确定不需要执行后延迟处理,则指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
164.可选的,还可以包括,延迟标记单元,具体可以用于:
165.在根据所述工作参数和当前工作状态的延迟完成情况,检测当前工作状态是否需要执行前延迟处理且并未进行前延迟处理之前,如果确定当前工作状态完成后延迟,则清理所述当前工作状态的全部已完成延迟标记;指示测试系统流转至当前工作状态机序列的下一工作状态进行加载。
166.可选的,还可以包括,前延迟完成条件确定单元,具体可以用于:
167.在对所述当前工作状态执行前延迟处理之后,在确定满足前延迟完成条件时,指示测试系统重新加载所述当前工作状态;
168.其中,所述前延迟完成条件包括:接收到测试系统在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时所发送的提示信息,或者,确定延迟至预先设定的前延迟等待时间。
169.可选的,还可以包括,后延迟完成条件确定单元,具体可以用于:在对所述当前工作状态执行后延迟处理之后,在确定满足后延迟完成条件时,指示测试系统重新加载所述当前工作状态;
170.其中,所述后延迟完成条件可以包括:接收到测试系统在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时所发送的提示信息,或者,确定延迟至预先设定的后延迟等待时间。
171.本发明实施例所提供的延迟控制装置可执行本发明任意实施例所提供的延迟控制方法,具备执行方法相应的功能模块和有益效果。
172.实施例五
173.图5为本发明实施例五提供的一种并发执行控制装置的结构示意图。本实施例所提供的一种并发执行控制装置可以通过软件和/或硬件来实现,可配置于服务器或者终端设备中来实现本发明实施例中的一种并发执行控制方法。如图5所示,该装置包括:目标测试用例获取模块510、并行执行触发模块520和加载指令发送模块530。
174.其中,目标测试用例获取模块510,用于获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态;
175.并行执行触发模块520,用于触发各工作状态机序列的并行执行;
176.加载指令发送模块530,用于当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令;
177.其中,所述工作参数注入组件用于根据所述加载指令,根据预先注入的目标测试用例的工作参数和/或当前工作状态的延迟情况,确定并执行针对当前工作状态的处理策略。
178.本发明实施例的技术方案,通过获取待执行的目标测试用例,并将目标测试用例
解析为多个用于并行执行的工作状态机序列;触发各工作状态机序列的并行执行;当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令的技术手段,可以简单的通过配置工作参数的方式,简单、准确的实现对并行测试场景中的各工作状态的延迟控制,进而可以解决并发测试场景中并发控制困难的问题,降低了自动化调试中并发控制的复杂度,减轻了测试人员的调试工作难度,提高了自动化调试的可靠性和准确率,并实现对各种不同响应能力的并发测试场景覆盖。
179.可选的,还可以包括,当前工作状态加载模块,可以具体用于:
180.在确定当前工作状态与其他工作状态机序列中的关联工作状态成功实现异步等待时,生成与所述当前工作状态对应的提示信息;将所述提示信息发送至所述工作参数注入组件,以触发所述工作参数注入组件指示测试系统重新加载当前工作状态。
181.本发明实施例所提供的并发执行控制装置可执行本发明任意实施例所提供的并发执行控制方法,具备执行方法相应的功能模块和有益效果。
182.实施例六
183.图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
184.如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
185.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
186.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如延迟控制、并发执行控制方法。
187.在一些实施例中,延迟控制、并发执行控制方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的延迟控制、并发执行控制方法的
一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行延迟控制、并发执行控制方法。
188.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
189.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
190.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
191.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
192.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
193.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云
主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
194.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
195.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
196.实施例七
197.本发明实施例七还提供一种包含计算机可读存储介质,所述计算机可读指令在由计算机处理器执行时用于执行一种延迟控制方法,该方法包括:获取针对测试系统中待执行的目标测试用例注入的工作参数;在接收到测试系统对当前工作状态机序列中的当前工作状态的加载指令时,根据所述工作参数和/或当前工作状态的延迟完成情况,确定并执行针对当前工作状态的处理策略。或者用于执行一种并发执行控制方法,该方法包括:获取待执行的目标测试用例,并将目标测试用例解析为多个用于并行执行的工作状态机序列,工作状态机序列中包括多个工作状态;触发各工作状态机序列的并行执行;当执行至对当前工作状态机序列中的当前工作状态的加载时,向所述测试系统中的工作参数注入组件发送对当前工作状态机序列中的当前工作状态的加载指令。
198.当然,本发明实施例所提供的一种包含计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的延迟控制、并发执行控制方法中的相关操作。
199.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
200.值得注意的是,上述延迟控制、并发执行控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
201.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

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

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

相关文献