CN112506762A - 应用程序接口参数的筛选方法、装置、设备及存储介质 - Google Patents
应用程序接口参数的筛选方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112506762A CN112506762A CN202011359850.2A CN202011359850A CN112506762A CN 112506762 A CN112506762 A CN 112506762A CN 202011359850 A CN202011359850 A CN 202011359850A CN 112506762 A CN112506762 A CN 112506762A
- Authority
- CN
- China
- Prior art keywords
- parameter information
- candidate
- information
- candidate parameter
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了应用程序接口参数的筛选方法、装置、电子设备及存储介质,涉及大数据和深度学习等人工智能技术领域。具体实现方案为:获取待测试的应用程序接口API的多个候选参数信息;针对每个候选参数信息,根据候选参数信息对应的配置参数信息确定候选参数信息的配置参数标识信息;根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息;从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合。由此,实现了对API的候选参数进行自动筛选,避免了人工手动筛选导致的人力和时间的浪费,节省了时间成本,提高了筛选效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及大数据、深度学习等人工智能技术领域,尤其涉及应用程序接口参数的筛选方法、装置、电子设备及存储介质。
背景技术
相关技术中,深度学习框架中算子是最基本的计算单元,其计算开销影响着模型的训练效率。其中,对算子的性能进行监控,能够发现在版本迭代过程中对性能具有负面影响的修改,避免算子性能衰减。
为了全面监控算子的性能,需测试算子对应的应用程序接口(ApplicationProgramming Interface,API),因此,如何更好的实现应用程序接口参数的筛选成为亟待解决的问题。
发明内容
本申请提供了一种应用程序接口参数的筛选方法、装置、电子设备以及存储介质。
根据本申请的第一方面,提供了一种应用程序接口参数的筛选方法,包括:
获取待测试的应用程序接口API的多个候选参数信息,其中,每个所述候选参数信息均包括配置参数信息;
针对每个所述候选参数信息,根据所述候选参数信息对应的配置参数信息确定所述候选参数信息的配置参数标识信息;
根据每个所述候选参数信息的配置参数标识信息,将所述多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到所述API的多组第一候选参数信息;
从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合,其中,N为大于或等于1的整数。
根据本申请的第二方面,提供了一种应用程序接口参数的筛选装置,包括:
第一获取模块,用于获取待测试的应用程序接口API的多个候选参数信息,其中,每个所述候选参数信息均包括配置参数信息;
第一确定模块,用于针对每个所述候选参数信息,根据所述候选参数信息对应的配置参数信息确定所述候选参数信息的配置参数标识信息;
第二确定模块,用于根据每个所述候选参数信息的配置参数标识信息,将所述多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到所述API的多组第一候选参数信息;
第一处理模块,用于从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合,其中,N为大于或等于1的整数。
根据本申请的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请的第一方面所述的应用程序接口参数的筛选方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面所述的面所述的应用程序接口参数的筛选方法。
根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请第一方面的应用程序接口参数的筛选方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一个实施例的应用程序接口参数的筛选方法的流程图;
图2是根据本申请一个具体实施例的应用程序接口参数的筛选方法的流程图;
图3是根据本申请一个确定API的目标参数信息集合的流程图;
图4是根据本申请一个应用程序接口参数的筛选装置的示意图;
图5是根据本申请另一个应用程序接口参数的筛选装置的示意图;
图6是根据本申请又一个应用程序接口参数的筛选装置的示意图;
图7是根据本申请又一个应用程序接口参数的筛选装置的示意图;
图8是根据本申请实施例的应用程序接口参数的筛选方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,深度学习框架中算子(operator)是最基本的计算单元,其计算开销影响着模型的训练效率。其中,对算子的性能进行监控,能够发现在版本迭代过程中对性能具有负面影响的修改,避免算子性能衰减。
为了全面监控算子的性能,需测试算子对应的应用程序接口(ApplicationProgramming Interface,API),在测试一个API时,需要获取API的配置参数信息,其中,API的配置参数信息可为多个。由于API的配置可以从用户构建的模型中进行采集,使得算子性能的监控能够覆盖实际场景,因此采集得到的API配置参数信息的数目是非常庞大的。由于算子的性能监控***需要例行运行API的每个配置,因此,会导致重复和冗余的配置会浪费计算资源,且人工筛选配置需要的人力和时间成本太大。
为了解决上述问题,本申请提出了一种应用程序接口参数的筛选方法、装置、电子设备及存储介质,本申请在获取待测试的应用程序接口API的多个候选参数信息,其中,每个所述候选参数信息均包括配置参数信息,之后针对每个候选参数信息,根据候选参数信息对应的配置参数信息确定候选参数信息的配置参数标识信息,然后根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息,从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合,其中,N为大于或等于1的整数。由此,结合API的配置参数标识信息,从多个候选参数信息中,得到API的多组第一候选参数信息,并对API的多组第一候选参数信息进行筛选,以得到API的目标参数,实现了对API的候选参数进行自动筛选,减少了人工手动筛选导致的人力和时间的浪费,节省了时间成本,提高了筛选效率。
下面参考附图描述本申请实施例的应用程序接口参数的筛选方法、装置、电子设备以及存储介质。
图1是根据本申请一个实施例的应用程序接口参数的筛选方法的流程图。需要说明的是,本申请实施例的应用程序接口参数的筛选方法可应用于本申请实施例的应用程序接口参数的筛选装置,该装置具体可以为硬件设备,或者硬件设备中的软件等,并且该装置可应用在电子设备中,其中,电子设备可以包括终端设备或者服务器。例如移动终端包括智能手机、平板电脑、PAD、个人数字助理等。本申请实施例对此不作限定。
S101、获取待测试的应用程序接口API的多个候选参数信息,其中,每个候选参数信息均包括配置参数信息。
需要说明的是,本申请实施例的应用程序接口参数的筛选方法适用于算子性能监控***。举例而言,算子性能监控***可包括应用程序接口参数的筛选装置和性能测试装置。其中,应用程序接口参数的筛选装置可以是终端。
在本申请的一个实施例中,为了全面监控算子的性能,在测试应用程序接口API(Application Programming Interface,API)时,可获取待测试的应用程序接口API的多个候选参数信息。
例如,获取待测试的应用程序接口API的多个候选参数信息可为API_Name(args1,args2,args3),其中,API_Name为API的名称,args1,args2,args3为是API_Name的多个候选参数信息,其中,args1,args2,args3均包括配置参数信息。对应地,API_Name可包括多个配置参数信息。
S102、针对每个候选参数信息,根据候选参数信息对应的配置参数信息确定候选参数信息的配置参数标识信息。
在本申请的一个实施例中,可获取与API对应的计算单元,其中,计算单元包括多条计算逻辑,然后针对每个配置参数信息,获取配置参数信息与计算逻辑之间的对应关系,之后根据每个配置参数信息的对应关系,确定多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息,然后根据多个配置参数信息中除了目标配置参数信息之外的其他配置参数信息,生成候选参数信息的配置参数标识信息。
其中,确定多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息,然后根据多个配置参数信息中除了目标配置参数信息之外的其他配置参数信息,可理解为执行同一条计算逻辑,其任意参数取值都不会对性能有明显影响,因此需要对同一条计算逻辑的目标配置参数信息进行忽略,以便得到从多个配置参数信息中除了目标配置参数信息以外的其他配置参数信息,以便生成配置参数标识信息。
S103、根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息。
也就是说,确定候选参数信息的配置参数标识信息后,可从多个候选参数信息中,获取配置参数标识信息相同的候选参数信息,并将相同的候选参数信息分为一组,以得到API的多组第一候选参数信息。
S104、从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合,其中,N为大于或等于1的整数。
也就是说,获取到API的多组第一候选参数信息后,可从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合。
由于API中的候选参数信息中输入参数会影响算子的整体性能,且是否存在输入参数的不同情况,所获取API的目标参数集合的方式不同。对应地,在本申请的一个实施例,在候选参数信息之中不具有输入参数信息的情况下,从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合;在候选信息之中具有输入参数信息的情况下,根据输入参数信息的输入参数标识信息,从每组第一候选参数信息中选择与输入参数标识信息匹配的N个候选参数信息,以形成API的目标参数信息集合。具体地实现过程可参考后续实施例。
为了避免出现重复的API的目标参数,在本申请的一个实施例中,可将候选参数信息中的配置参数标识信息以及输入参数标识信息均相同的参数删除。
根据本申请实施例的应用程序接口参数的筛选方法,获取待测试的应用程序接口API的多个候选参数信息,其中,每个候选参数信息均包括配置参数信息,然后针对每个候选参数信息,根据候选参数信息对应的配置参数信息确定候选参数信息的配置参数标识信息,之后根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息,从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合,其中,N为大于或等于1的整数。由此,结合API的配置参数标识信息,从多个候选参数信息中,得到API的多组第一候选参数信息,并对API的多组第一候选参数信息进行筛选,以得到API的目标参数,实现了对API的候选参数进行自动筛选,减少了人工手动筛选导致的人力和时间的浪费,节省了时间成本,提高了筛选效率。
为了本领域人员更容易理解本申请,本申请提出了一个具体实施例的应用程序接口参数的筛选方法,其中,需要说明的是,所述具体实施例的应用程序接口参数的筛选方法是对上述实施例的进一步细化或者优化。图2是根据本申请一个具体实施例的应用程序接口参数的筛选方法的流程图,如图2所示,该应用程序接口参数的筛选方法可以包括:
S201、获取待测试的应用程序接口API的多个候选参数信息,其中,每个候选参数信息均包括配置参数信息。
例如,获取待测试的应用程序接口API的多个候选参数信息可为API_Name(args1,args2,args3),其中,API_Name为API的名称,args1,args2,args3为是API_Name的多个候选参数信息,其中,args1,args2,args3均包括配置参数信息。对应地,API_Name可包括多个配置参数信息。
S202、获取与API对应的计算单元,其中,计算单元包括多条计算逻辑。
S203、针对每个配置参数信息,获取配置参数信息与计算逻辑之间的对应关系。
例如,配置参数信息与计算逻辑之间的对应关系可预先存储至服务器中。对应地,获取到多个配置参数信息后,可根据每个配置参数信息,从服务器中获取配置参数信息与计算逻辑之间的对应关系。
S204、根据每个配置参数信息的对应关系,确定多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息。
其中,确定多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息,可理解为执行同一条计算逻辑,其任意参数取值都不会对算子的性能有明显影响,对应地,从多个配置参数信息中,将存在不同参数取值均对应同一条计算逻辑的目标配置参数信息进行忽略。
S205、根据多个配置参数信息中除了目标配置参数信息之外的其他配置参数信息,生成候选参数信息的配置参数标识信息。
也就是说,确定目标配置参数信息后,可获取多个配置参数信息中除了目标配置参数信息以外的其他配置参数信息,进而生成配置参数标识信息。
举例而言,假设API的名称为API_1,获取到的API配置参数为API_1(args1=v1,args2=v2,args3=v3,args4=v4),其中,从多个配置参数信息中,可确定目标配置参数信息(可忽略参数)为args3,之后从args1=v1,args2=v2,args3=v3,args4=v4多个配置参数信息中去除args3=v3目标配置参数信息,以得到其他配置参数信息,并生成配置参数标识信息,例如配置参数标识信息为“args1=v1,args2=v2,agrs4=v4”。
在本申请的一个实施例中,若不存在不同参数取值均对应同一条计算逻辑的目标配置参数信息,可直接生成候选参数信息的配置参数标识信息,例如,生成候选参数信息的配置参数标识信息“args1=v1,args2=v2,args3=v3,agrs4=v4”。
S206、根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息。
为了后续更准确地获取目标参数,可对多个候选参数信息进行第一次分组,对应地,在根据多个配置参数信息中除了目标配置参数信息之外的其他配置参数信息,生成候选参数信息的配置参数标识信息步骤之后,可根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息。
S207、判断候选参数信息是否具有输入参数信息。
S208、在候选参数信息之中不具有输入参数信息的情况下,从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合。
举例而言,得到API的多组第一候选参数信息之后,且在检测到候选参数之中不具有输入参数信息的情况下,可从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合。其中,不具有输入参数信息的情况可理解为输入参数为零个。
S209、在候选信息之中具有输入参数信息的情况下,根据输入参数信息的输入参数标识信息,将每组第一候选参数信息中,输入参数标识信息相同的候选参数信息分为一组,以得到每组第一候选参数信息的多组第二候选参数信息。
在本申请的一个实施例中,得到API的多组第一候选参数信息之后,且在检测到候选信息之中具有输入参数信息的情况下,可根据输入参数信息的输入参数标识信息,将每组第一候选参数信息中,输入参数标识信息相同的候选参数信息分为一组,以得到每组第一候选参数信息的多组第二候选参数信息。
其中,输入参数信息的输入参数标识信息可通过以下方式得到:获取输入参数信息的维度信息,之后根据维度信息,确定候选参数信息的输入参数标识信息。
其中,检测到候选信息之中具有输入参数信息的情况,可理解为算子性能与输入形状(shape)有关。其中,shape用于计算矩阵中每个维度的大小,因此,需要为每个输入参数信息的形状打标签,可将该标签作为该输入参数信息的输入参数标识信息。
在本申请的一个实施例中,为每个输入参数信息的形状打标签,可将该标签作为该输入参数信息的输入参数标识信息可通过以下方式实现:深度学习框架中由于算子的计算特点,输入的shape会对算子性能产生影响,因此通过对输入的shape进行标记,能够选取到更加丰富的测试配置。
例如,对于单输入的API,可以设计标签:is_power_of_2,取值为1时表示输入shape是为2的幂,为0是表示输入shape不是2的幂,4-D表示输入是4维的数组;对于多输入的API,多个输入的shape不同,在算子的计算性能表现上也不同,因此可以设计标签is_same_shape,取值为1时表示多个输入的shape相同,0表示输入的shape不相同。需要说明的是,在实际应用中可灵活地设计shape的标签,对此本申请不做限制。
S210、对每个输入参数标识信息对应的组进行候选参数选择,并根据选择到的候选参数信息,形成API的目标参数信息集合。
在本申请的一个实施例中,可针对每个所述输入参数标识信息对应的组,获取本组中每个候选参数信息的输入参数信息的数据输入量,然后根据数据输入量从大到小的顺序,对本组中的候选参数信息进行排序,以得到本组的候选参数排序结果。
例如,可针对每组第二候选参数信息,获取当前组中每个候选参数信息的输入shape,根据输入shape的大小,进行排序,以得到当前组的候选参数排序结果,从每组第二候选参数信息的候选参数排序结果中分别选择N个候选参数信息,以形成API的目标参数信息集合。其中,shape的大小用来计算数组和矩阵中所有元素的个数。
为了进一步准确的获取目标参数,在本申请的实施例中,如图3所示,可通过以下方式根据候选参数排序结果,对本组的候选参数进行选择:
S301、在本组中的候选参数信息的数量小于或者等于N的情况下,选择本组中的所有候选参数信息。
S302、在本组中的候选参数信息的数量大于N的情况下,从当前组的候选参数排序结果中获取排序在第一位的候选参数信息,并获取排序在最后一位的候选参数信息。
S303、从排序在第二位到倒数第二位之间的候选参数信息中,获取N-2个候选参数信息,其中,N为大于或者等于3的整数。
根据本申请实施例的应用程序接口参数的筛选方法,获取待测试的应用程序接口API的多个候选参数信息,其中,每个候选参数信息均包括配置参数信息,然后针对每个候选参数信息,根据候选参数信息对应的配置参数信息确定候选参数信息的配置参数标识信息,之后根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息,然后通过判断候选参数信息中是否具有输入参数信息的情况,以获取目标参数。由此,实现了对API的候选参数进行自动筛选,减少了人工手动筛选导致的人力和时间的浪费,避免了重复工作,节省了时间成本,且在保障API配置多样性的同时,提高了筛选效率。
与上述几种实施例提供的应用程序接口参数的筛选方法相对应,本申请的一种实施例还提供一种应用程序接口参数的筛选装置,由于本申请实施例提供的应用程序接口参数的筛选装置与上述几种实施例提供的应用程序接口参数的筛选方法相对应,因此在应用程序接口参数的筛选方法的实施方式也适用于本实施例提供的应用程序接口参数的筛选装置,在本实施例中不再详细描述。
图4是根据本申请应用程序接口参数的筛选装置的示意图。如图4所示,该应用程序接口参数的筛选装置400包括:第一获取模块410、第一确定模块420、第二确定模块430和第一处理模块440。其中:
第一获取模块410,用于获取待测试的应用程序接口API的多个候选参数信息,其中,每个所述候选参数信息均包括配置参数信息;
第一确定模块420,用于针对每个所述候选参数信息,根据所述候选参数信息对应的配置参数信息确定所述候选参数信息的配置参数标识信息;作为一种示例,所述第一确定模块420,具体用于:获取与所述API对应的计算单元,其中,所述计算单元包括多条计算逻辑;针对每个所述配置参数信息,获取所述配置参数信息与计算逻辑之间的对应关系;根据每个所述配置参数信息的所述对应关系,确定所述多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息;根据所述多个配置参数信息中除了所述目标配置参数信息之外的其他配置参数信息,生成所述候选参数信息的配置参数标识信息。
第二确定模块430,用于根据每个所述候选参数信息的配置参数标识信息,将所述多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到所述API的多组第一候选参数信息;
第一处理模块440,用于从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合,其中,N为大于或等于1的整数。
在本申请的一个实施例中,如图5所示,所述第一处理模块540,包括:第一确定子模块5401,用于在所述候选参数信息之中不具有输入参数信息的情况下,从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合;第二确定子模块5402,用于在所述候选信息之中具有所述输入参数信息的情况下,根据所述输入参数信息的输入参数标识信息,从每组第一候选参数信息中选择与所述输入参数标识信息匹配的N个候选参数信息,以形成所述API的目标参数信息集合;。
在本申请的一个实施例中,所述输入参数信息的输入参数标识信息的通过以下方式得到:获取所述输入参数信息的维度信息;根据所述维度信息,确定所述候选参数信息的输入参数标识信息。
其中,图5中510-540和图4中的410-440具有相同功能和结构。
在本申请的一个实施例中,如图6所示,所述输入参数标识信息包括多个,所述根据所述输入参数信息的输入参数标识信息,所述第二确定子模块6402,包括:第一确定单元64021,将每组第一候选参数信息中,输入参数标识信息相同的候选参数信息分为一组,以得到每组第一候选参数信息的多组第二候选参数信息;第二确定单元64022,用于对每个所述输入参数标识信息对应的组进行候选参数选择,并根据选择到的候选参数信息,形成所述API的目标参数信息集合。
其中,图6中的610-6402和图5中的510-5402具有相同功能和结构。
在本申请的一个实施例中,如图7所示,所述第二确定单元74022,包括:第一获取子单元740221,用于针对每个所述输入参数标识信息对应的组,获取本组中每个候选参数信息的输入参数信息的数据输入量;第一确定子单元740222,用于根据所述数据输入量从大到小的顺序,对所述本组中的候选参数信息进行排序,以得到所述本组的候选参数排序结果;第二确定子单元740223,用于根据所述候选参数排序结果,对所述本组中的候选参数进行选择。
在本申请的一个实施例中,所述第二确定子单元740223,具体用于:在本组中的候选参数信息的数量小于或者等于N的情况下,选择所述本组中的所有候选参数信息;在本组中的候选参数信息的数量大于N的情况下,从本组的候选参数排序结果中获取排序在第一位的候选参数信息,并获取排序在最后一位的候选参数信息;从排序在第二位到倒数第二位之间的候选参数信息中,获取N-2个候选参数信息,其中,所述N为大于或者等于3的整数。
其中,图7中的710-74022和图6中的610-64022具有相同功能和结构。
根据本申请实施例的应用程序接口参数的筛选装置,获取待测试的应用程序接口API的多个候选参数信息,其中,每个候选参数信息均包括配置参数信息,然后针对每个候选参数信息,根据候选参数信息对应的配置参数信息确定候选参数信息的配置参数标识信息,之后根据每个候选参数信息的配置参数标识信息,将多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到API的多组第一候选参数信息,从每组第一候选参数信息中分别选择N个候选参数信息,以形成API的目标参数集合,其中,N为大于或等于1的整数。由此,结合API的配置参数标识信息,从多个候选参数信息中,得到API的多组第一候选参数信息,并对API的多组第一候选参数信息进行筛选,以得到API的目标参数,实现了对API的候选参数进行自动筛选,减少了人工手动筛选导致的人力和时间的浪费,节省了时间成本,提高了筛选效率。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的应用程序接口参数的筛选方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的应用程序接口参数的筛选方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的应用程序接口参数的筛选方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的应用程序接口参数的筛选方法对应的程序指令/模块(例如,附图4所示的第一获取模块410、第一确定模块420、第二确定模块430和第一处理模块440)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的应用程序接口参数的筛选方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据应用程序接口参数的筛选的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至应用程序接口参数的筛选的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
应用程序接口参数的筛选方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与应用程序接口参数的筛选的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务端可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“Virtual Private Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (17)
1.一种应用程序接口参数的筛选方法,包括:
获取待测试的应用程序接口API的多个候选参数信息,其中,每个所述候选参数信息均包括配置参数信息;
针对每个所述候选参数信息,根据所述候选参数信息对应的配置参数信息确定所述候选参数信息的配置参数标识信息;
根据每个所述候选参数信息的配置参数标识信息,将所述多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到所述API的多组第一候选参数信息;
从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合,其中,N为大于或等于1的整数。
2.根据权利要求1所述的方法,其中,所述从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合,包括:
在所述候选参数信息之中不具有输入参数信息的情况下,从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合;
在所述候选信息之中具有所述输入参数信息的情况下,根据所述输入参数信息的输入参数标识信息,从每组第一候选参数信息中选择与所述输入参数标识信息匹配的N个候选参数信息,以形成所述API的目标参数信息集合。
3.根据权利要求2所述的方法,其中,所述输入参数标识信息包括多个,所述根据所述输入参数信息的输入参数标识信息,从每组第一候选参数信息中选择与所述输入参数标识信息匹配的N个候选参数信息,以形成所述API的目标参数信息集合,包括:
将每组第一候选参数信息中,输入参数标识信息相同的候选参数信息分为一组,以得到每组第一候选参数信息的多组第二候选参数信息;
对每个所述输入参数标识信息对应的组进行候选参数选择,并根据选择到的候选参数信息,形成所述API的目标参数信息集合。
4.根据权利要求2所述的方法,所述输入参数信息的输入参数标识信息的通过以下方式得到:
获取所述输入参数信息的维度信息;
根据所述维度信息,确定所述候选参数信息的输入参数标识信息。
5.根据权利要求3所述的方法,其中,所述对每个所述输入参数标识信息对应的组进行候选参数选择,包括:
针对每个所述输入参数标识信息对应的组,获取本组中每个候选参数信息的输入参数信息的数据输入量;
根据所述数据输入量从大到小的顺序,对所述本组中的候选参数信息进行排序,以得到所述本组的候选参数排序结果;
根据所述候选参数排序结果,对所述本组的候选参数进行选择。
6.根据权利要求5所述的方法,其中,所述根据所述候选参数排序结果,对本组的候选参数进行选择包括:
在本组中的候选参数信息的数量小于或者等于N的情况下,选择所述本组中的所有候选参数信息;
在本组中的候选参数信息的数量大于N的情况下,从本组的候选参数排序结果中获取排序在第一位的候选参数信息,并获取排序在最后一位的候选参数信息;
从排序在第二位到倒数第二位之间的候选参数信息中,获取N-2个候选参数信息,其中,所述N为大于或者等于3的整数。
7.根据权利要求1所述的方法,其中,所述配置参数信息包括多个,所述根据所述候选参数信息的配置参数信息确定所述候选参数信息的配置参数标识信息,包括:
获取与所述API对应的计算单元,其中,所述计算单元包括多条计算逻辑;
针对每个所述配置参数信息,获取所述配置参数信息与计算逻辑之间的对应关系;
根据每个所述配置参数信息的所述对应关系,确定所述多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息;
根据所述多个配置参数信息中除了所述目标配置参数信息之外的其他配置参数信息,生成所述候选参数信息的配置参数标识信息。
8.一种应用程序接口参数的筛选装置,包括:
第一获取模块,用于获取待测试的应用程序接口API的多个候选参数信息,其中,每个所述候选参数信息均包括配置参数信息;
第一确定模块,用于针对每个所述候选参数信息,根据所述候选参数信息对应的配置参数信息确定所述候选参数信息的配置参数标识信息;
第二确定模块,用于根据每个所述候选参数信息的配置参数标识信息,将所述多个候选参数信息中,配置参数标识信息相同的候选参数信息分为一组,以得到所述API的多组第一候选参数信息;
第一处理模块,用于从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合,其中,N为大于或等于1的整数。
9.根据权利要求8所述的装置,其中,所述第一处理模块,包括:
第一确定子模块,用于在所述候选参数信息之中不具有输入参数信息的情况下,从每组第一候选参数信息中分别选择N个候选参数信息,以形成所述API的目标参数集合;
第二确定子模块,用于在所述候选信息之中具有所述输入参数信息的情况下,根据所述输入参数信息的输入参数标识信息,从每组第一候选参数信息中选择与所述输入参数标识信息匹配的N个候选参数信息,以形成所述API的目标参数信息集合。
10.根据权利要求9所述的装置,其中,所述输入参数标识信息包括多个,所述根据所述输入参数信息的输入参数标识信息,所述第二确定子模块,包括:
第一确定单元,将每组第一候选参数信息中,输入参数标识信息相同的候选参数信息分为一组,以得到每组第一候选参数信息的多组第二候选参数信息;
第二确定单元,用于对每个所述输入参数标识信息对应的组进行候选参数选择,并根据选择到的候选参数信息,形成所述API的目标参数信息集合。
11.根据权利要求9所述的装置,所述输入参数信息的输入参数标识信息的通过以下方式得到:
获取所述输入参数信息的维度信息;
根据所述维度信息,确定所述候选参数信息的输入参数标识信息。
12.根据权利要求10所述的装置,其中,所述第二确定单元,包括:
第一获取子单元,用于针对每个所述输入参数标识信息对应的组,获取本组中每个候选参数信息的输入参数信息的数据输入量;
第一确定子单元,用于根据所述数据输入量从大到小的顺序,对所述本组中的候选参数信息进行排序,以得到所述本组的候选参数排序结果;
第二确定子单元,用于根据所述候选参数排序结果,对所述本组的候选参数进行选择。
13.根据权利要求12所述的装置,其中,所述第二确定子单元,具体用于:
在本组中的候选参数信息的数量小于或者等于N的情况下,选择所述本组中的所有候选参数信息;
在本组中的候选参数信息的数量大于N的情况下,从本组的候选参数排序结果中获取排序在第一位的候选参数信息,并获取排序在最后一位的候选参数信息;
从排序在第二位到倒数第二位之间的候选参数信息中,获取N-2个候选参数信息,其中,所述N为大于或者等于3的整数。
14.根据权利要求8所述的装置,其中,所述第一确定模块,具体用于:
获取与所述API对应的计算单元,其中,所述计算单元包括多条计算逻辑;
针对每个所述配置参数信息,获取所述配置参数信息与计算逻辑之间的对应关系;
根据每个所述配置参数信息的所述对应关系,确定所述多个配置参数信息中,存在不同参数取值均对应同一条计算逻辑的目标配置参数信息;
根据所述多个配置参数信息中除了所述目标配置参数信息之外的其他配置参数信息,生成所述候选参数信息的配置参数标识信息。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的应用程序接口参数的筛选方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的应用程序接口参数的筛选方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011359850.2A CN112506762B (zh) | 2020-11-27 | 2020-11-27 | 应用程序接口参数的筛选方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011359850.2A CN112506762B (zh) | 2020-11-27 | 2020-11-27 | 应用程序接口参数的筛选方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506762A true CN112506762A (zh) | 2021-03-16 |
CN112506762B CN112506762B (zh) | 2022-03-15 |
Family
ID=74967010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011359850.2A Active CN112506762B (zh) | 2020-11-27 | 2020-11-27 | 应用程序接口参数的筛选方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506762B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9094299B1 (en) * | 2013-01-08 | 2015-07-28 | Juniper Networks, Inc. | Auto-generation of platform-independent interface and operational scripts for configuring network devices |
CN106201864A (zh) * | 2016-06-27 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种应用程序编程接口api测试方法、装置及移动设备 |
CN107908542A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 测试用例创建方法、装置、计算机设备及存储介质 |
EP3516825A1 (en) * | 2016-09-20 | 2019-07-31 | Convida Wireless, LLC | Service layer support for multiple interface nodes |
CN110275822A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 应用程序接口的性能测试方法、装置、设备及存储介质 |
CN110334019A (zh) * | 2019-06-18 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种测试方法、装置及可读存储介质 |
CN111581083A (zh) * | 2020-04-26 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 一种接口测试方法、装置、电子设备及存储介质 |
CN111723097A (zh) * | 2020-06-29 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 应用程序接口配置方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-27 CN CN202011359850.2A patent/CN112506762B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9094299B1 (en) * | 2013-01-08 | 2015-07-28 | Juniper Networks, Inc. | Auto-generation of platform-independent interface and operational scripts for configuring network devices |
CN106201864A (zh) * | 2016-06-27 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种应用程序编程接口api测试方法、装置及移动设备 |
EP3516825A1 (en) * | 2016-09-20 | 2019-07-31 | Convida Wireless, LLC | Service layer support for multiple interface nodes |
CN107908542A (zh) * | 2017-07-26 | 2018-04-13 | 平安壹钱包电子商务有限公司 | 测试用例创建方法、装置、计算机设备及存储介质 |
CN110275822A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 应用程序接口的性能测试方法、装置、设备及存储介质 |
CN110334019A (zh) * | 2019-06-18 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种测试方法、装置及可读存储介质 |
CN111581083A (zh) * | 2020-04-26 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 一种接口测试方法、装置、电子设备及存储介质 |
CN111723097A (zh) * | 2020-06-29 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 应用程序接口配置方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
漆莲芝等: ""测控软件数据接口测试与典型缺陷分析"", 《测控技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112506762B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111784663A (zh) | 零部件的检测方法、装置、电子设备及存储介质 | |
CN110706147B (zh) | 图像处理的环境确定方法、装置、电子设备和存储介质 | |
CN112668586A (zh) | 模型训练、图片处理方法及设备、存储介质、程序产品 | |
CN114021156A (zh) | 漏洞自动化聚合的整理方法、装置、设备以及存储介质 | |
CN113238943A (zh) | 持续集成测试的方法和装置 | |
CN112016326A (zh) | 一种地图区域词识别方法、装置、电子设备和存储介质 | |
CN111966925A (zh) | 楼栋兴趣点判重方法、装置、电子设备和存储介质 | |
CN112084150A (zh) | 模型训练、数据检索方法,装置,设备以及存储介质 | |
CN112149828B (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
CN110555486B (zh) | 模型结构的延时预测方法、装置以及电子设备 | |
CN112699314A (zh) | 热点事件确定方法、装置、电子设备及存储介质 | |
CN110995687B (zh) | 一种猫池设备识别方法、装置、设备及存储介质 | |
CN112532483A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112506762B (zh) | 应用程序接口参数的筛选方法、装置、设备及存储介质 | |
CN112364185A (zh) | 多媒体资源的特征确定方法、装置、电子设备和存储介质 | |
CN111966767A (zh) | 轨迹热力图生成方法、装置、电子设备和存储介质 | |
CN111538656B (zh) | 梯度检查的监控方法、装置、设备及存储介质 | |
CN114862223A (zh) | 一种机器人调度方法、装置、设备及存储介质 | |
CN111581049B (zh) | 分布式***运行状态监测方法、装置、设备及存储介质 | |
CN115481594A (zh) | 计分板实现方法、计分板、电子设备及存储介质 | |
CN112270412A (zh) | 网络算子处理方法、装置、电子设备及存储介质 | |
CN112270414A (zh) | 算子监控方法、装置、电子设备及存储介质 | |
CN112381167A (zh) | 训练任务分类模型的方法、任务分类方法和装置 | |
CN111292223A (zh) | 图计算的处理方法、装置、电子设备及存储介质 | |
CN112101284A (zh) | 图像识别方法、图像识别模型的训练方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |