CN111061523B - 一种软件包调用管理方法、系统、装置及存储介质 - Google Patents

一种软件包调用管理方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN111061523B
CN111061523B CN201911167828.5A CN201911167828A CN111061523B CN 111061523 B CN111061523 B CN 111061523B CN 201911167828 A CN201911167828 A CN 201911167828A CN 111061523 B CN111061523 B CN 111061523B
Authority
CN
China
Prior art keywords
software package
parameter
input
parameters
output
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.)
Active
Application number
CN201911167828.5A
Other languages
English (en)
Other versions
CN111061523A (zh
Inventor
苟亚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201911167828.5A priority Critical patent/CN111061523B/zh
Publication of CN111061523A publication Critical patent/CN111061523A/zh
Application granted granted Critical
Publication of CN111061523B publication Critical patent/CN111061523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Abstract

本发明涉及一种软件包调用管理方法、系统及存储介质。方法包括:获取软件包的所有接口;获取调用软件包的程序的输入参数阈值区间;针对每个接口配置不同的输入参数,并将输入参数分别输入软件包;获取软件包对应每个输入参数输出的输出参数,根据输出参数与输入参数阈值区间,得到软件包的输入参数限制范围。通过获取软件包的各个接口,针对每个接口配置若干输入参数,将输入参数分别输入软件包,结合软件包对应输入参数输出的输出参数和调用所述软件包的程序的输入参数阈值区间,以此得到该程序调用该软件包,输入所述软件包的输入参数限制范围,避免软件包的使用导致的程序崩溃情况,进而提高程序的稳定性。

Description

一种软件包调用管理方法、系统、装置及存储介质
技术领域
本发明涉及软件管理技术领域,尤其涉及一种软件包调用管理方法、系统、装置及存储介质。
背景技术
目前移动应用程序通过集成SDK扩展业务场景偏多,使用SDK的目的是为了快速,高效的完成产品需求,并且在一定程度上方便用户的使用,降低用户的学习成本;
很多应用程序集成了三方登陆,如QQ、微信、微博等第三方登录功能,这些常见的的第三方登录功能都是基于第三方所提供的SDK包所实现的;在爱奇艺App中台的场景中,很多独立应用集成基线的SDK,例如在“爱奇艺国际版”、“爱奇艺极速版”、“爱奇艺知识”等App中“帮助反馈”模块是直接使用爱奇艺主客户端的SDK。
SDK在给开发者带来方便的同时也会增加一定的风险,接入方在调用接口的时,对于API的理解和使用可能不完全符合设计者的规范,或者SDK内部容错机制不完善,从而导致在某些场景上有使用的风险,具体而言,对于SDK的接入方而言,其所能知晓的信息仅有SDK所实现的功能、SDK的接口所需配置的参数要求等信息,由于无法知晓和更改SDK内部的程序代码,所以,接入方在修改自身程序也有可能出现无法适配SDK的情况,而出现这类问题十分容易导致自身程序崩溃。
发明内容
为了解决现有技术存在的问题,本发明的至少一个实施例提供了一种软件包调用管理方法、系统、装置及存储介质。
第一方面,本发明实施例提供了一种软件包调用管理方法,所述方法包括:
获取所述软件包的所有接口;
获取调用所述软件包的程序的输入参数阈值区间;
针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包;
获取所述软件包对应每个所述输入参数输出的输出参数,根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围。
基于上述技术方案,本发明实施例还可以做出如下改进。
结合第一方面,在第一方面的第一种实施例中,所述根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围,包括:
判断所述输出参数是否与输入参数阈值区间相符;其中,符合所述输入参数阈值区间的参数均满足所述程序正常运行的参数要求;
若所述输出参数与所述输入参数阈值区间相符,则将所述输出参数对应的输入参数作为条件参数,基于所有所述条件参数,得到所述软件包的输入参数限制范围;
若所述输出参数与所述输入参数阈值区间不相符,则将所述输出参数和与所述输出参数对应的所述输入参数进行存储,并生成异常报告。
结合第一方面的第一种实施例,在第一方面的第二种实施例中,所述异常报告中包括:输入参数的异常信息和输出参数的异常信息;其中,所述输入参数的异常信息包括:所述输入参数的当前堆栈、所述输入参数输入所述软件包的当前日期和所述输入参数输入所述软件包的线程参数;所述输出参数的异常信息包括:所述输出参数的参数类型、所述输出参数的数据大小、所述输出参数的类名称、所述输出参数对应的线程名称。
结合第一方面的第一种实施例,在第一方面的第三种实施例中,所述基于所有所述条件参数,得到所述软件包的输入参数限制范围,包括:
针对每个所述接口,判断所述条件参数的数量是否达到预设数量;
若所述条件参数的数量达到预设数量,则根据所述条件参数进行汇总得到所述接口对应的所述输入参数限制范围;
若所述条件参数的数量未达到预设数量,则继续对应所述接口配置所述输入参数,并将所述输入参数输入所述软件包。
结合第一方面,在第一方面的第四种实施例中,所述将所述输入参数分别输入所述软件包之前,所述方法还包括:
判断所述输入参数是否异常;
若所述输入参数异常,暂停将所述输入参数输入所述软件包的线程,并弹出警告提示;
当接收到对应所述警告提示的确定信息时,继续进行所述线程。
结合第一方面的第四种实施例,在第一方面的第五种实施例中,所述判断所述输入参数是否异常,包括:
获取输入参数的参数信息与所述输入参数对应的接口的参数要求;
判断所述参数信息是否符合所述参数要求;
若所述参数信息符合所述参数要求,输入所述软件包的输入参数未异常;
若所述参数信息不符合所述参数要求,输入所述软件包的输入参数异常。
结合第一方面或第一方面的第一、第二、第三、第四或第五种实施例,在第一方面的第六种实施例中,所述获取所述软件包的所有接口,包括:
判断所述软件包是否已经进行映射;
若所述软件包已经进行映射,根据所述映射获取所述软件包的所有接口;
若所述软件包未进行映射,获取所述软件包的所有方法,并根据所述方法得到相应的接口。
第二方面,本发明实施例提供了一种软件包调用管理系统,所述系统包括:
第一获取单元,用于获取所述软件包的所有接口;
第二获取单元,用于获取调用所述软件包的程序的输入参数阈值区间;
配置单元,用于针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包;
第三获取单元,用于获取所述软件包对应每个所述输入参数输出的输出参数;
处理单元,用于根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围。
第三方面,本发明实施例提供了一种软件包调用管理装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面中任一实施例所述的软件包调用管理方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一实施例所述的软件包调用管理方法。
本发明的上述技术方案与现有技术相比具有如下优点:通过获取软件包的各个接口,针对每个接口配置若干输入参数,将输入参数分别输入软件包,结合软件包对应输入参数输出的输出参数和调用所述软件包的程序的输入参数阈值区间,以此得到该程序调用该软件包,输入所述软件包的输入参数限制范围,避免软件包的使用导致的程序崩溃情况,进而提高程序的稳定性。
附图说明
图1为本发明各个实施例提供的终端的一种示意图;
图2是本发明实施例提供的一种软件包调用管理方法流程示意图;
图3是本发明另一实施例提供的一种软件包调用管理方法流程示意图;
图4是本发明又一实施例提供的一种软件包调用管理方法流程示意图其一;
图5是本发明又一实施例提供的一种软件包调用管理方法流程示意图其二;
图6是本发明又一实施例提供的一种软件包调用管理方法流程示意图其三;
图7是本发明又一实施例提供的一种软件包调用管理方法流程示意图其四;
图8是本发明又一实施例提供的一种软件包调用管理系统结构示意图;
图9是本发明又一实施例提供的一种软件包调用管理装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,本发明实施例提供的为实现本发明各个实施例的一种终端的硬件结构示意图,包括检测装置110、存储器1130、处理器1110、通信接口1120和通信总线1140,各电子元器件通过通信总线1140完成相互间的通信,其中,终端可以是诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
如图2所示,本发明实施例提供了一种软件包调用管理方法。参照图1,所述方法包括如下步骤:
S11、获取所述软件包的所有接口。
在本实施例中,软件包即软件开发工具包SDK,SDK一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发者通过获取其他人提供的SDK,将该SDK集成到自己的程序中就可以快速的实现某些功能,只需按照该SDK的参数要求输入相应的各项参数,加载该SDK后就可以输出所需的参数或者功能,但是,由于SDK一般都是完全封装起来的工具包,用户无法确定工具包中的代码逻辑流程,而在大型的软件开发过程中较常使用宏定义这一功能,被宏定义的字符串在不同的代码块中均会表示为另一字符串,若出现SDK中的字符串被用户宏定义,就会影响到SDK的运行,导致系统崩溃或者SDK无法正常运转,风险较大,不仅如此,由于上面说到的SDK的封装性,用户无法确认代码中出错的部分,故障十分难以排除,会导致用户付出大量的精力才能排除该故障,在本步骤中,获取软件包的所有接口,即获取SDK的API,API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。而SDK包含了多少个功能性代码块就会有多少个相应的API,以方便用户按要求准确输入参数实现不同的功能。
S12、获取调用所述软件包的程序的输入参数阈值区间。
在本实施例中,在使用软件包时,程序对应软件包的接口配置参数即可使用软件包所包含的功能,但是由于软件包中的代码未知,所以软件包最终所输出的参数是否适配自身程序的要求也是未知的,用户在编辑程序时,针对自身的每个调用方法均会有相应的参数要求,在本方案中,根据与软件包相关联的程序代码,确定出所述输入参数阈值区间,比如,软件包所实现的功能是逻辑运算,可能出现软件包最终输出的数值超过程序的使用要求,比如,int类型的数值的范围为0和2的32次方–1,而软件包并不知道我们程序所需的输入参数的要求,而开发人员也不知道软件包的内部运行逻辑,所以,在使用软件包时需要进行一定的限制,降低软件包的使用对于程序的风险。
S13、针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包。
在本实施例中,通过对每个接口配置不同的输入参数,其中输入参数可以是任意数据类型、数据长度的参数,以便于用户确认软件包中的容错范围,在本步骤中,输入参数可以是针对软件包中任一项功能设置的对应的参数,也可以是针对软件包中若干项功能同时配置的参数,本方案对此不作特别限定。
在本实施例中,通过将配合好的各个输入参数分别输入软件包,通过将各项输入参数输入软件包,而后查看软件包的输出情况是否符合预期,进而验证软件包的容错范围。
在本实施例中,由于代码中可以定义各种不同类型的参数的相互转换,比如,自定义类型的参数转换为字符串类型的参数、字典类型的参数转换为数组类型的参数、字符串类型的参数转换为整型、浮点型的参数,而软件包在公开的参数要求中可能并不会将其可参数要求可转换的方式公开,因为参数转换后出错的可能性较大,而为了保证软家包的使用稳定性,所以,软件包有可能将其所能适配的参数的要求进行限制。
同时,由于每个程序都不会完全一致,其所需求的参数均会有相应的变化,软件包所公开的输入参数的限制条件对应得到的输出参数并不能适配调用该软件包的每个程序,而使用该软件包的程序开发人员并不知晓该软件包的内部工作逻辑,所以,在使用软件包时,就算是按照软件包的参数要求开发相应的程序代码,也有可能因为软家包的输出参数导致程序崩溃,为避免出现这种情况,在本步骤中,针对软件包的每个接口配置不同的输入参数,以确定软件包对应的输出参数具体范围,其中,配置的输入参数可以是任意类型的输入参数,这样可以确定软件包中是否存在可转换参数类型的代码,以提高软件包的输入参数要求的范围,减少开发人员对于自身程序的修改;还可以是根据软件包所公开的输入参数要求的区间配置输入参数,而后可以根据软件包的输出参数是否适配,确定出程序调用该软件包应当如何输入参数,保证程序可以良好运行。
S14、获取所述软件包对应每个所述输入参数输出的输出参数,根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围。
在本实施例中,软件包对应每个输入参数输出的输出参数包括但不限于:图形界面参数、图形界面上标注的字符串或数字、运算结果等数据,而输出参数有可能会导致调用软件包的程序崩溃,程序崩溃为软件开发过程中较为常见的异常,而也有可能出现输出异常的输出参数并不会导致程序异常,但是会出现软件包的功能不完整或者软件包的功能完全无法实现的情况。
如图3所示,本发明实施例提供了一种软件包调用管理方法。参照图3,所述方法包括如下步骤:
S21、获取所述软件包的所有接口。
有关步骤S21,详细可参见步骤S11中的描述,本实施例在此不再赘述。
S22、获取调用所述软件包的程序的输入参数阈值区间。
有关步骤S22,详细可参见步骤S12中的描述,本实施例在此不再赘述。
S23、针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包。
有关步骤S23,详细可参见步骤S13中的描述,本实施例在此不再赘述。
S24、判断所述输出参数是否与输入参数阈值区间相符;其中,符合所述输入参数阈值区间的参数均满足所述程序正常运行的参数要求。
S25a、若所述输出参数与所述输入参数阈值区间相符,则将所述输出参数对应的输入参数作为条件参数,基于所有所述条件参数,得到所述软件包的输入参数限制范围。
在本实施例中,由于输入参数阈值区间是根据调用软件包的程序的参数要求得到的,而开发人员对于自己所开发的代码所需要的参数要求是十分清楚的,所以只要软件包的输出参数与输入参数阈值区间相符,则说明该输出参数对应的输入参数是符合程序要求的,该输入参数既可以满足软件包的要求,也可以得到符合调用该软件包的程序的输出参数。
在本实施例中,根据所有所述条件参数,得到软件包的输入参数限制范围,比如,当某个接口对应配置的输入参数中存在两个条件参数时,结合软件包的输入参数要求,即可得到该接口的输入参数限制范围,这种范围有可能并不能包含所有的条件参数,但是,输入参数限制范围内的每个参数均可以输入软件包,且软件包对应的输出参数也可以符合自身程序的要求;当然,针对每个接口所配置的输入参数越多,所能得到的条件参数的数量就越多,最终得到的输入参数限制范围的精度就越高,用户可以根据自身需求设定相应的数量,以提高数据处理效率。
S25b、若所述输出参数与所述输入参数阈值区间不相符,则将所述输出参数和与所述输出参数对应的所述输入参数进行存储,并生成异常报告。
在本实施例中,针对软件包所输出的与输入参数阈值区间不相符的输出参数,将输出参数与相应的输入参数对应存储并生成异常报告,生成输入参数限制范围不仅需要与输入参数阈值区间相符的输出参数对应的条件参数,不相符的输入参数也可以用以参考得到输入参数限制范围。
所述异常报告中包括:输入参数的异常信息和输出参数的异常信息;其中,所述输入参数的异常信息包括:所述输入参数的当前堆栈、所述输入参数输入所述软件包的当前日期和所述输入参数输入所述软件包的线程参数;所述输出参数的异常信息包括:所述输出参数的参数类型、所述输出参数的数据大小、所述输出参数的类名称、所述输出参数对应的线程名称。
如图4所示,在本实施例中,步骤S25中,基于所有所述条件参数,得到所述软件包的输入参数限制范围,包括如下步骤:
S31、针对每个所述接口,判断所述条件参数的数量是否达到预设数量。
在本实施例中,通过上述步骤得到一系列条件参数,而每个条件参数均对应一个接口,但是确定一个接口的输入参数限制范围,至少需要两个点才能得到,所以,在本方案中确定条件参数的数量是否达到预设数量,预设数量可以是由用户设定,也可以是现有技术中的离散点数据确定阈值区间所需的数量,本方案中的预设数量越大越好,但是考虑到处理效率的问题,可以根据实际要求的精度来进行设定,本方案对此不作特别限定。
S32a、若所述条件参数的数量达到预设数量,则根据所述条件参数进行汇总得到所述接口对应的所述输入参数限制范围。
在本实施例中,到条件参数的数量达到预设数量时,可以通过现有技术中的汇总方法得到接口对应的输入参数限制范围。
由于上述实施例中所配置的输入参数是存在不同的类型的,所以,针对每个接口,所配置的每种类型的条件参数的数量均需达到预设数量,以此,才能确定该接口对应的每种类型的输入参数限制范围,若某种类型的输入参数无法得到符合输入参数阈值区间的输出参数,则可以判断该接口无法适配该类型的输入参数,具体的,我们此时可以根据上述实施例中的异常报告确定接口无法适配的参数类型。即,针对每个接口,判断所述接口所适配的参数类型的条件参数的数量是否达到预设数量,其中,参数类型为所述输入参数的参数类型。
S32b、若所述条件参数的数量未达到预设数量,则继续对应所述接口配置所述输入参数,并将所述输入参数输入所述软件包。
在本实施例中,结合上述实施例,当条件参数的数量未达到预设数量时,则继续执行步骤S23~S25b,以保证条件参数的数量达到预设数量。
如图5所示,本发明实施例提供一种软件包调用管理方法,与上述实施例相比,区别在于,所述将所述输入参数分别输入所述软件包之前,所述方法还包括如下步骤:
S41、判断所述输入参数是否异常。
S42、若所述输入参数异常,暂停将所述输入参数输入所述软件包的线程,并弹出警告提示。
在本实施例中,可以暂停将所述输入参数输入所述软件包的线程;当接收到对应所述警告提示的确定信息时,继续进行所述线程。在弹出警告提示后,暂停进程继续运行,由用户基于警告提示犯规确认信息后,再继续进行线程,由于本方案中是测试软件包的容差范围,所以,也可以不暂停线程运行,暂停线程运行可以方便用户了解此时的程序运行情况,提高用户体验。
S43、当接收到对应所述警告提示的确定信息时,继续进行所述线程。
在本实施例中,在弹出的警告提示上可以设置同意继续进行线程的按钮和拒绝继续进行线程的按钮,在接收到同意继续进行线程的按钮对应的确定信息时,即可继续进行线程,还可以通过在其他位置设置虚拟按钮,本方案中对此不作特别限定。
如图6所示,在本实施例中,步骤S41判断所述输入参数是否异常具体包括如下步骤:
S51、获取输入参数的参数信息与所述输入参数对应的接口的参数要求。
S52、判断所述参数信息是否符合所述参数要求。
S53a、若所述参数信息符合所述参数要求,输入所述软件包的输入参数未异常。
S53b、若所述参数信息不符合所述参数要求,输入所述软件包的输入参数异常。
在本实施例中,输入参数异常可以是因为输入参数不符合软件包的参数要求,具体的,可以根据软件包对输入参数的参数要求,对输入参数进行类型匹配检测、判空处理、边界大小处理等判断,以得到输入参数是否异常。
在输入参数异常时,将输入参数的参数信息进行存储,参数信息可以是输入参数的参数类型、数据大小、类名称、是否为字符串、是否为数字、记录当前堆栈、日期、线程参数等信息。
如图7所示,本发明实施例提供了一种软件包调用管理方法。参照图7,所述方法包括如下步骤:
S61、判断所述软件包是否已经进行映射。
S62a、若所述软件包已经进行映射,根据所述映射获取所述软件包的所有接口。
在本实施例中,当软件包和调用该软件包的程序已进行映射,则可以直接根据映射获取到程序输入该软件包的各个接口的输入参数,所以,在本方案中,可以根据映射获取得到该软件包的各个功能模块的接口。
S62b、若所述软件包未进行映射,获取所述软件包的所有方法,并根据所述方法得到相应的接口。
SDK的“方法”就相当于接口,每个SDK各个模块的方法都是独一无二的,可以将方法名称做一个encode或者base64的加密算法,生成key,这个key的value就是接口的名称,在业务方调用的时候直接使用这个key从最开始存储的文件中寻找到即将调用的方法。
在本实施例中,当软件包未进行映射时,需要获取软件包的配置文件和需求文件,根据配置文件得到各个方法的接口,通过该接口将数参数输入软件包中。
S63、获取调用所述软件包的程序的输入参数阈值区间。
有关步骤S63,详细可参见步骤S12中的描述,本实施例在此不再赘述。
S64、针对每个接口配置不同的输入参数,并将所述输入参数分别输入所述软件包。
有关步骤S64,详细可参见步骤S13中的描述,本实施例在此不再赘述。
S65、获取所述软件包对应每个所述输入参数输出的输出参数,根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围。
有关步骤S65,详细可参见步骤S14中的描述,本实施例在此不再赘述。
如图8所示,本发明实施例提供了一种软件包调用管理系统。参照图8,所述系统包括:第一获取单元11、第二获取单元12、配置单元13、第三获取单元14和处理单元15。
在本实施例中,第一获取单元11,用于获取所述软件包的所有接口。
在本实施例中,第二获取单元12,用于获取调用所述软件包的程序的输入参数阈值区间。
在本实施例中,配置单元13,用于针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包。
在本实施例中,第三获取单元14,用于获取所述软件包对应每个所述输入参数输出的输出参数。
在本实施例中,处理单元15,用于根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围。
在本实施例中,所述管理系统还包括:第一判断单元和存储单元。
在本实施例中,第一判断单元,用于判断所述输出参数是否与输入参数阈值区间相符;其中,符合所述输入参数阈值区间的参数均满足所述程序正常运行的参数要求。
在本实施例中,所述处理单元15,具体用于若所述输出参数与所述输入参数阈值区间相符,则将所述输出参数对应的输入参数作为条件参数,基于所有所述条件参数,得到所述软件包的输入参数限制范围。
在本实施例中,存储单元,用于若所述输出参数与所述输入参数阈值区间不相符,则将所述输出参数和与所述输出参数对应的所述输入参数进行存储,并生成异常报告。
在本实施例中,所述处理单元15,具体用于针对每个所述接口,判断所述条件参数的数量是否达到预设数量;若所述条件参数的数量达到预设数量,则根据所述条件参数进行汇总得到所述接口对应的所述输入参数限制范围;若所述条件参数的数量未达到预设数量,则继续对应所述接口配置所述输入参数,并将所述输入参数输入所述软件包。
在本实施例中,所述管理系统还包括:第二判断单元和线程控制单元。
在本实施例中,第二判断单元,用于判断所述输入参数是否异常。
在本实施例中,线程控制单元,用于若所述输入参数异常,暂停将所述输入参数输入所述软件包的线程,并弹出警告提示;当接收到对应所述警告提示的确定信息时,继续进行所述线程。
在本实施例中,所述第二判断单元,具体用于获取输入参数的参数信息与所述输入参数对应的接口的参数要求;判断所述参数信息是否符合所述参数要求;若所述参数信息符合所述参数要求,输入所述软件包的输入参数未异常;若所述参数信息不符合所述参数要求,输入所述软件包的输入参数异常。
所述输入参数的参数信息包括:当前堆栈、当前日期和线程参数;所述输出参数的参数信息包括:参数类型、数据大小、类名称、线程名称。
在本实施例中,所述第一单元,具体用于判断所述软件包是否已经进行映射;若所述软件包已经进行映射,根据所述映射获取所述软件包的所有接口;若所述软件包未进行映射,获取所述软件包的所有方法,并根据所述方法得到相应的接口。
如图9所示,本发明实施例提供了一种软件包调用管理装置,包括处理器1110、通信接口1120、存储器1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信;
存储器1130,用于存放计算机程序;
处理器1110,用于执行存储器1130上所存放的程序时,现如下步骤:
获取所述软件包的所有接口;
针对每个接口配置不同的输入参数,并将所述输入参数分别输入所述软件包;
获取所述软件包对应每个所述输入参数输出的输出参数,并将输出异常的输出参数对应输入参数进行存储;其中,输出异常的所述输出参数会导致调用所述软件包的程序异常。
本发明实施例提供的电子设备,处理器1110通过执行存储器1130上所存放的程序实现了通过获取软件包的各个接口,针对每个接口配置若干输入参数,将输入参数分别输入软件包,结合软件包对应输入参数输出的输出参数的情况,将输出异常的输出参数与相应的输入参数进行存储,以此得到该软件包的容错范围,减少软件包的使用导致的程序崩溃情况,进而提高软件包的使用率。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器1130还可以是至少一个位于远离前述处理器1110的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以第一方面中任一实施例所述的软件包调用管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种软件包调用管理方法,其特征在于,所述方法包括:
获取所述软件包的所有接口;
获取调用所述软件包的程序的输入参数阈值区间;
针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包;
获取所述软件包对应每个所述输入参数输出的输出参数,根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围;
所述根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围,包括:
判断所述输出参数是否与输入参数阈值区间相符;其中,符合所述输入参数阈值区间的参数均满足所述程序正常运行的参数要求;
若所述输出参数与所述输入参数阈值区间相符,则将所述输出参数对应的输入参数作为条件参数,基于所有所述条件参数,得到所述软件包的输入参数限制范围。
2.根据权利要求1所述的方法,其特征在于,所述根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围,包括:
若所述输出参数与所述输入参数阈值区间不相符,则将所述输出参数和与所述输出参数对应的所述输入参数进行存储,并生成异常报告。
3.根据权利要求2所述的方法,其特征在于,所述异常报告中包括:输入参数的异常信息和输出参数的异常信息;其中,所述输入参数的异常信息包括:所述输入参数的当前堆栈、所述输入参数输入所述软件包的当前日期和所述输入参数输入所述软件包的线程参数;所述输出参数的异常信息包括:所述输出参数的参数类型、所述输出参数的数据大小、所述输出参数的类名称、所述输出参数对应的线程名称。
4.根据权利要求2所述的方法,其特征在于,所述基于所有所述条件参数,得到所述软件包的输入参数限制范围,包括:
针对每个所述接口,判断所述条件参数的数量是否达到预设数量;
若所述条件参数的数量达到预设数量,则根据所述条件参数进行汇总得到所述接口对应的所述输入参数限制范围;
若所述条件参数的数量未达到预设数量,则继续对应所述接口配置所述输入参数,并将所述输入参数输入所述软件包。
5.根据权利要求1所述的方法,其特征在于,所述将所述输入参数分别输入所述软件包之前,所述方法还包括:
判断所述输入参数是否异常;
若所述输入参数异常,暂停将所述输入参数输入所述软件包的线程,并弹出警告提示;
当接收到对应所述警告提示的确定信息时,继续进行所述线程。
6.根据权利要求5所述的方法,其特征在于,所述判断所述输入参数是否异常,包括:
获取输入参数的参数信息与所述输入参数对应的接口的参数要求;
判断所述参数信息是否符合所述参数要求;
若所述参数信息符合所述参数要求,输入所述软件包的输入参数未异常;
若所述参数信息不符合所述参数要求,输入所述软件包的输入参数异常。
7.根据权利要求1~6中任一所述的方法,其特征在于,所述获取所述软件包的所有接口,包括:
判断所述软件包是否已经进行映射;
若所述软件包已经进行映射,根据所述映射获取所述软件包的所有接口;
若所述软件包未进行映射,获取所述软件包的所有方法,并根据所述方法得到相应的接口。
8.一种软件包调用管理系统,其特征在于,所述系统包括:
第一获取单元,用于获取所述软件包的所有接口;
第二获取单元,用于获取调用所述软件包的程序的输入参数阈值区间;
配置单元,用于针对每个所述接口配置不同的输入参数,并将所述输入参数分别输入所述软件包;
第三获取单元,用于获取所述软件包对应每个所述输入参数输出的输出参数;
处理单元,用于根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围;
所述根据所述输出参数与所述输入参数阈值区间,得到所述软件包的输入参数限制范围,包括:
判断所述输出参数是否与输入参数阈值区间相符;其中,符合所述输入参数阈值区间的参数均满足所述程序正常运行的参数要求;
若所述输出参数与所述输入参数阈值区间相符,则将所述输出参数对应的输入参数作为条件参数,基于所有所述条件参数,得到所述软件包的输入参数限制范围。
9.一种软件包调用管理装置,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1~7中任一所述的软件包调用管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~7中任一所述的软件包调用管理方法。
CN201911167828.5A 2019-11-25 2019-11-25 一种软件包调用管理方法、系统、装置及存储介质 Active CN111061523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911167828.5A CN111061523B (zh) 2019-11-25 2019-11-25 一种软件包调用管理方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911167828.5A CN111061523B (zh) 2019-11-25 2019-11-25 一种软件包调用管理方法、系统、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111061523A CN111061523A (zh) 2020-04-24
CN111061523B true CN111061523B (zh) 2023-12-15

Family

ID=70298314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911167828.5A Active CN111061523B (zh) 2019-11-25 2019-11-25 一种软件包调用管理方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111061523B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521198A (zh) * 2023-04-13 2023-08-01 广州汽车集团股份有限公司 数据处理方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502906A (zh) * 2016-10-27 2017-03-15 广州华多网络科技有限公司 一种测试应用程序的方法和装置
CN109684103A (zh) * 2018-12-17 2019-04-26 上海曼恒数字技术股份有限公司 一种接口调用方法、装置、服务器及存储介质
CN110334019A (zh) * 2019-06-18 2019-10-15 平安普惠企业管理有限公司 一种测试方法、装置及可读存储介质
CN110347445A (zh) * 2019-07-12 2019-10-18 财付通支付科技有限公司 Sdk调用方法、装置、服务器及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774771B2 (en) * 2005-09-26 2010-08-10 InstallShield, Inc. Method and system for managing and organizing software package installations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502906A (zh) * 2016-10-27 2017-03-15 广州华多网络科技有限公司 一种测试应用程序的方法和装置
CN109684103A (zh) * 2018-12-17 2019-04-26 上海曼恒数字技术股份有限公司 一种接口调用方法、装置、服务器及存储介质
CN110334019A (zh) * 2019-06-18 2019-10-15 平安普惠企业管理有限公司 一种测试方法、装置及可读存储介质
CN110347445A (zh) * 2019-07-12 2019-10-18 财付通支付科技有限公司 Sdk调用方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN111061523A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
TWI756266B (zh) 基於驗證碼的檢查方法及裝置
EP3451192A1 (en) Text classification method and apparatus
US10073899B2 (en) Efficient storage using automatic data translation
US10157122B1 (en) Automated generation and execution of computer software test cases
TWI435236B (zh) 惡意程式偵測裝置、惡意程式偵測方法及其電腦程式產品
WO2019169723A1 (zh) 测试用例选择方法、装置、设备以及计算机可读存储介质
WO2015090143A1 (en) Method and apparatus for finding bugs in computer program codes
JP7044839B2 (ja) エンドツーエンドモデルのトレーニング方法および装置
WO2020143186A1 (zh) 推荐系统训练方法、装置、计算机设备及存储介质
WO2019223136A1 (zh) 数据获取方法、装置、计算机设备以及存储介质
US20130231914A1 (en) Providing translation alternatives on mobile devices by usage of mechanic signals
JP2020013126A (ja) 身元認証方法、身元認証装置、電子機器及びコンピュータ読み取り可能な記憶媒体
CN111694572A (zh) 代码格式转换方法、装置、计算机设备及存储介质
CN111061523B (zh) 一种软件包调用管理方法、系统、装置及存储介质
KR20210120936A (ko) 음성 인터랙션 방법, 장치, 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램 제품
WO2019161618A1 (zh) 字符串解析方法、装置、设备及计算机可读存储介质
JP2021192214A (ja) アプリケーションの動作状態を検証する方法および装置
US20180314683A1 (en) Method and device for processing natural language
WO2021243342A1 (en) Action recommendation for application failure
CN113360300A (zh) 接口调用链路生成方法、装置、设备及可读存储介质
CN112307477A (zh) 代码检测方法、装置、存储介质以及终端
US11023426B1 (en) Method and system for detection of open source web application version
WO2021072872A1 (zh) 基于字符转换的姓名存储方法、装置、计算机设备
US10409916B2 (en) Natural language processing system
WO2021217915A1 (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