CN106648557B - 一种应用程序编程接口api的分享方法和装置 - Google Patents
一种应用程序编程接口api的分享方法和装置 Download PDFInfo
- Publication number
- CN106648557B CN106648557B CN201510714189.5A CN201510714189A CN106648557B CN 106648557 B CN106648557 B CN 106648557B CN 201510714189 A CN201510714189 A CN 201510714189A CN 106648557 B CN106648557 B CN 106648557B
- Authority
- CN
- China
- Prior art keywords
- api
- target
- apis
- weighted average
- module
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种应用程序编程接口API的分享方法,网络服务器获取目标用户针对目标类型的API预先设置的统计条件,根据统计条件计算目标类型的API中每个API的加权平均数,根据加权平均数从目标类型的API中确定出参考API,获取目标用户开发的与目标类型相同类型的目标API,分析目标API和参考API的接口和运行逻辑,获得分析结果,将分析结果推送给目标用户,可以为API开发者分析出优秀的同类API,并将分析结果推送给API开发者,增强了API管理平台的功能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序编程接口API的分享方法和装置。
背景技术
API(Application Programming Interface,应用程序编程接口)管理平台支持API开发者发布API,并托管API的运行,以及允许APP开发者订购API。为了便于理解,API管理平台以WSO2API Manager为例,介绍现有API管理平台中API发布以及统计评价系统。如图1所述,API开发者可以在这个界面设置REST_API的接口。如图2所示,APP开发者在订购某个API后,API管理平台可以提供一个界面让APP开发者根据使用情况对其使用的API进行评分;此时,API管理平台在运行时可以和统计工具进行对接,统计出API的使用情况,并显示统计图,如图3所示。
在API管理平台上,不同的API开发者经常会将相同能力(即实现同一功能的API)封装为不同的REST_API(即一组架构约束条件和原则,满足约束条件和原则的应用程序设计),这些同类功能API的接口和运行逻辑均不相同,而这两点决定了API是否能在同类的API中脱颖而出。如何API开发者设计一个良好的API是API管理平台竞争力的重要体现。
发明内容
本发明实施例提供一种应用程序编程接口API的分享方法和装置,可以为API开发者分析出优秀的同类API,并将分析结果推送给API开发者,从而增强API管理平台的功能。
本发明第一方面提供了一种应用程序编程接口API的分享方法,包括:
网络服务器获取目标用户针对目标类型的API预先设置的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值,根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数,根据所述加权平均数从所述目标类型的API中确定出参考API,获取所述目标用户开发的与所述目标类型相同类型的目标API,分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果,将所述分析结果推送给所述目标用户。
在该技术方案中,网络服务器可以根据目标用户针对目标类型的API预先设置的统计条件确定参考API,参考API是所述目标类型中优秀的API,再分析目标API和参考API的接口和运行逻辑,并将分析结果推送给目标用户,使得目标用户可以根据其分析结果优化目标API,增加了网络服务器的功能,增强了用户体验。
在第一方面的第一种可能的实现方式中,网络服务器可以将所述目标类型中加权平均数大于或等于推荐指标的API确定为所述参考API,其中所述推荐指标是所述目标用户针对所述目标类型的API预先设置的。
在该技术方案中,推荐指标是目标用户预先制定的,那么根据该推荐指标筛选出的优秀API更符合目标用户的需求。
在第一方面的第二种可能的实现方式中,网络服务器可以根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序,根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
在该技术方案中,网络服务器不管目标用户设置的推荐指标,针对同一类型的API,排序靠前的API相比其余的API,总有优点可以参考。
结合第一方面的第一种至第二种中任一种可能的实现方式,在第三种可能的实现方式中,网络服务器可以判断所述目标API的加权平均数是否大于所述参考API中所有API的加权平均数,若否,服务器才分析所述目标API和所述参考API的接口和运行逻辑。
在第一方面的第四种可能的实现方式中,网络服务器可以比较所述目标API和所述参考API的接口,若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果。
结合第一方面的第四种可能的实现方式中,在第五种可能的实现方式中,若所述目标API和所述参考API的接口不相同,网络服务器则从所述参考API中提取与所述目标API不同的接口,对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
结合第一方面的第五种可能的实现方式中,在第六种可能的实现方式中,所述分析结果还包括提取到的所述接口对应的运行逻辑。
本发明第二方面提供了一种应用程序编程接口API的分享装置,包括:第一获取模块、计算模块、筛选模块、目标API获取模块、分析模块以及推送模块,所述分享装置通过上述模块执行第一方面的部分或全部方法。
本发明第三方面还提供了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括第一方面的部分或全部步骤。
本发明第四方面还提供了一种应用程序编程接口API的分享方法,包括:
网络服务器获取目标类型的API的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值,根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数,根据所述加权平均数从所述目标类型的API中确定出参考API,确定推荐所述参考API的目标用户,并获取所述目标用户开发的类型与所述目标类型相同的目标API,分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果,将所述分析结果推送给所述目标用户。
在第四方面的第一种可能的实现方式中,网络服务器可以将所述目标类型中加权平均数大于或等于参考门限值的API确定为所述参考API,所述参考门限值是系统预先指定的。
在第四方面的第二种可能的实现方式中,网络服务器可以根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序,根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
结合第四方面的第一种至第二种中任一种可能的实现方式,在第三种可能的实现方式中,网络服务器可以将订阅了所述目标类型API的用户确定为所述目标用户,或者,将上传了所述目标类型API的用户确定为所述目标用户。
在第四方面的第四种可能的实现方式中,网络服务器可以比较所述目标API和所述参考API的接口,若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果。
结合第四方面的第四种可能的实现方式中,在第五种可能的实现方式中,若所述目标API和所述参考API的接口不相同,网络服务器则从所述参考API中提取与所述目标API不同的接口,对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
结合第四方面的第五种可能的实现方式中,在第六种可能的实现方式中,所述分析结果还包括提取到的所述接口对应的运行逻辑。
本发明第五方面提供了一种应用程序编程接口API的分享装置,包括第一获取模块、计算模块、筛选模块、目标API获取模块、分析模块以及推送模块,所述分享装置通过上述模块执行第四方面的部分或全部方法。
本发明第六方面还提供了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括第一方面的部分或全部步骤。
本发明第七方面还提供了一种网络服务器,所述网络服务器包括通信接口、处理器和存储器,其中,所述存储器中存储一组程序,且处理器用于调用所述存储器中存储的程序,使得所述网络服务器执行如第一方面的部分或全部方法,或执行如第四方面的部分或全部方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中API管理平台的发布界面;
图2是现有技术中API管理平台的评价界面;
图3是现有技术中API使用情况的统计图;
图4是本发明实施例提供的API管理系统的示意图;
图5是本发明实施例提供的一种API的分享方法的流程示意图;
图6是图5所示的实施例中列举的运行逻辑的示意图;
图7是本发明实施例提供的另一种API的分享方法的流程示意图;
图8是本发明实施例提供的一种API的分享装置的结构示意图;
图9是图8所示实施例中筛选模块的结构示意图;
图10是本发明实施例提供的一种网络服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在此部分,首先对本发明各个实施例中均涉及的一些基本概念进行说明。
图4是本发明实施例提供的API管理系统的示意图。如图4所示,APP开发者在开发APP时,需要许多能力来支撑APP的运行,例如短信功能、下载功能,各个功能对应不同的API,这些功能均以REST_API的请求格式发送给API管理平台,API管理平台在获取到相应的API后,经过一定的逻辑处理,将API请求转发给真正的Server,Server在接收到API管理平台的请求后,完成请求的动作,并封装响应报文返回。需要说明的是,在实际应用中,API管理平台管理的API的数量不限定,不能以图4中的数量限制本发明。
其中,API管理平台是一个逻辑概念,一般情况下以独立服务器部署、以纯软件方式与其他设备合设、公有云部署、私有云部署、混合云部署等。目前IT领域多采用公有云和混合云部署方式,电信领域多采用独立服务器部署方式。总的来说,API管理平台可以理解为网络服务器,至于网络服务器的部署方式可以根据实际情况调整。
本发明实施例提供的API的分享方法,可以为API开发者分析出优秀的同类API,并将分析结果推送给API开发者,从而辅助API开发者优化自身API。详细描述请参照图5-图6对应的实施例。
请参阅图5,图5是本发明实施例提供的一种应用程序编程接口API的分享方法的示意图;如图5所示所述方法可以包括:
步骤S51,获取目标用户针对目标类型的API预先设置的统计条件。
目标用户API提供者中订阅了API的任一API提供者。API提供者可以理解为向API管理平台(即网络服务器)提供了API的用户;订阅可以理解为关注某一/些类型的API。API提供者可以订阅某一/些类型的API,并设置其API的统计条件。所述统计条件包括但不仅仅局限于单位时间内调用次数(例如每天调用次数)、单位时间内成功率、单位时间内时延的平均/方差/数学期望和/或单位时间内的传输流量的平均/方差/数学期望。
用户在订阅API时,可以选择感兴趣的统计条件作为子统计条件。进一步的,用户还可以设置每个子统计条件的权值。例如,统计条件包括单位时间内调用次数x,单位时间内成功率m,响应速度v,用户可以设置x的权值为50%、m的权值为30%,v的权值为20%。当然,用户可以根据实际需求调整每个子统计条件的权值。
API开发者在开发API时可以指定其类型,例如在API信息中指定或者API编排逻辑指定,API管理平台将指定的类型作为其API的类型;或者,API管理平台可以根据指定的类型进行分类,可以是通过统计分类(无教练机器自学习,例如通过上下行包长比例的调和平均数、响应熵值、资源类型(content-type)、时延的数学期望等)。可选的,API的类型可以根据其功能进行分类,例如:即时通讯、车辆服务、天气预报、音乐下载等等。
目标用户可以订阅多个类型的API,网络服务器可以对目标用户订阅的每种类型都进行统计。目标类型为目标用户订阅的类型中的任一种类型。
可选的,网络服务器可以根据预先设置的统计周期获取目标用户针对目标类型的API预先设置的统计条件;或者,当网络服务器接收到目标用户输入的统计指令时,获取目标用户针对目标类型的API预先设置的统计条件。
步骤S52,根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数。
网络服务器当获取到统计条件时,可以先根据所述统计条件统计目标类型的API,所述统计条件以单位时间内调用次数x,单位时间内成功率m,响应速度v为例,统计结果可以以表1为例,针对目标类型中的每一个API,网络服务器再根据每个子统计条件的权值,计算每个API的加权平均数。应指出的是,网络服务器如何根据统计条件获取如表1所示的统计结果,以及如何根据每个子统计条件的权值计算每个API的加权平均数,是本领域技术人员可理解的,在此不再赘述。还应指出的是,表1只是一种统计结果,不能以表1中内容限制本发明。
表1
步骤S53,根据所述加权平均数从所述目标类型的API中确定出参考API。
在一种可选的实施方式中,网络服务器当获取到统计条件时,可以获取目标用户针对所述目标类型的API预先设置的推荐指标,网络服务器再将所述目标类型中加权平均数大于或等于所述推荐指标的API确定为所述参考API。其中,推荐指标是衡量优秀API的一个标准,若API的加权平均数大于或等于所述推荐指标,则可以认为这类API为优秀API。
在另一种可选的实施方式中,网络服务器可以根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序,根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。其中N的值可以是目标用户指定的,也可以是网络服务器自行设置的。
步骤S54,获取所述目标用户开发的类型与所述目标类型相同的目标API。
目标用户可能向API管理平台提交了多个API,每个API的类型可能不同,网络服务器获取目标用户开发的和所述目标类型相同类型的目标API。将同一类型的API进行比较,获得的分析结果才更能体现优秀API的优点。
需要说明的是,步骤S53和步骤S54之间没有严格的先后执行顺序,还可以同步执行,本发明不限定。
步骤S55,分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果。可选的,网络服务器可以先判断所述目标API的加权平均数是否大于所述参考API中所有API的加权平均数,若是,说明所述目标API是所述目标类型的API中最优秀的API,就没有必要再将所述目标API与参考API进行分析比较,则结束本流程;否则,才分析所述目标API和所述参考API的接口和运行逻辑,以此避免不必要的运算开销。
网络服务器可以将目标API依次与各个参考API进行比较分析,获得分析结果,并将各个分析结果推送给目标用户。应指出的是,网络服务器分析目标API与各个参考API的具体方法相同,本发明实施例以目标API与其中一个参考API进行比较为例,目标API与其他参考API进行比较分析的具体方法以此类推,在此不再赘述。
在一种可选的实施方式中,网络服务器可以比较所述目标API和所述参考API的接口,若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果;若所述目标API和所述参考API的接口不相同,则从所述参考API中提取与所述目标API不同的接口,对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
假设,API 2为目标API,API 1为其中一个参考API,API 1的接口为:Get/musicdownload1?musicname={}&&musicformat={},API 2的接口为:Get/musicdownload2?song={},网络服务器分析API 1的北向接口,发现API 1多了一个参数,网络服务器跟踪API 1运行时刻填充到南向接口中的“musicformat”字段,发现为mp3,wma,wav等字符串,通过关联搜索,可以发现这些字符串均为音乐格式,可以得出API 1的功能是提供音乐格式的选择,网络服务器可以将这个功能作为分析结果,为目标用户提供改进的方向。
进一步的,网络服务器若发现目标API和参考API的接口不同,可以直接分析不同的接口对应的运行逻辑,从而获得分析结果,假设,运行逻辑如图6所示,通过分析可以得出:该功能是为移动终端设计的,特点是选取较小的资源以供下载。网络服务器通过分析运行逻辑可以更准确的获知不同的接口的功能,使得分析结果更准确。
再进一步的,网络服务器可以将不同的接口对应的运行逻辑作为分析结果。
步骤S56,将所述分析结果推送给所述目标用户。
网络服务器可以获取目标用户注册时提供的联系方式,通过所述联系方式将分析结果推送给目标用户。需要说明的是,所述联系方式包括但不仅仅局限于Email或SMS。
在图5所示的实施例中,网络服务器可以根据目标用户针对目标类型的API预先设置的统计条件确定参考API,参考API是所述目标类型中优秀的API,再分析目标API和参考API的接口和运行逻辑,并将分析结果推送给目标用户,使得目标用户可以根据其分析结果优化目标API,增加了网络服务器的功能。
图7和图5所示的实施例大致相同,区别在于:图5所示的实施例中,网络服务器在确定参考API时,是从每个目标用户的需求角度出发的,也就是说,针对每个目标用户的参考API的筛选机制不同,当然,其获得的分析结果更准确,更符合各个目标用户的改进方向;而图7所示的实施例中,网络服务器在确定参考API时,不是从每个目标用户的需求角度出发的,也就是说,针对每个目标用户的参考API的筛选机制相同,当然,降低了网络服务器的工作量。
请参阅图7,图7是本发明实施例提供的一种应用程序编程接口API的分享方法的示意图;如图7所示所述方法可以包括:
步骤S71,获取目标类型的API的统计条件。
API开发者在开发API时可以指定其类型,例如在API信息中指定或者API编排逻辑指定,API管理平台将指定的类型作为其API的类型;或者,API管理平台可以根据指定的类型进行分类,可以是通过统计分类(无教练机器自学习,例如通过上下行包长比例的调和平均数、响应熵值、资源类型(content-type)、时延的数学期望等)。可选的,API的类型可以根据其功能进行分类,例如:即时通讯、车辆服务、天气预报、音乐下载等等。
所述目标类型为网络服务器确定的类型中的任一种类型,网络服务器针对每一种类型的处理流程相同,本发明实施例只描述了其中一种类型为例的处理流程,其他类型的处理流程以此类型,在此不再赘述。
所述统计条件包括但不仅仅局限于单位时间内调用次数(例如每天调用次数)、单位时间内成功率、单位时间内时延的平均/方差/数学期望和/或单位时间内的传输流量的平均/方差/数学期望。
所述统计条件时系统预先设置的,可以包括多个子统计条件。进一步的,每个子统计条件对应一个权值。例如,统计条件包括单位时间内调用次数x,单位时间内成功率m,响应速度v,x的权值可以为70%、m的权值可以为30%,v的权值可以为20%。当然,系统可以根据实际需求调整每个子统计条件的权值。
步骤S72,根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数。
网络服务器当获取到统计条件时,可以先根据所述统计条件统计目标类型的API,所述统计条件以单位时间内调用次数x,单位时间内成功率m,响应速度v为例,统计结果可以以表1为例,针对目标类型中的每一个API,网络服务器再根据每个子统计条件的权值,计算每个API的加权平均数。应指出的是,网络服务器如何根据统计条件获取如表1所示的统计结果,以及如何根据每个子统计条件的权值计算每个API的加权平均数,是本领域技术人员可理解的,在此不再赘述。还应指出的是,表1只是一种统计结果,不能以表1中内容限制本发明。
步骤S73,根据所述加权平均数从所述目标类型的API中确定出参考API。
在一种可选的实施方式中,网络服务器当获取到统计条件时,可以将所述目标类型中加权平均数大于或等于参考门限值的API确定为所述参考API,所述参考门限值是系统预先指定的。参考门限值是衡量优秀API的一个标准,若API的加权平均数大于或等于所述参考门限值,则可以认为这类API为优秀API。
在另一种可选的实施方式中,网络服务器可以根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序,根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。其中N的值可以是目标用户指定的,也可以是网络服务器自行设置的。
步骤S74,确定推荐所述参考API的目标用户。
网络服务器可以将订阅了所述目标类型API的用户确定为所述目标用户,也就是说,只有订阅了目标类型API的用户,网络服务器才为其推送分析结果,减小了网络服务器的工作量;或者,网络服务器可以将上传了所述目标类型API的用户确定为所述目标用户。
其中,步骤S75~S76与步骤S54~S56对应,在此不再赘述。
请参阅图8,图8是本发明实施例提供的一种应用程序编程接口API的分享装置;如图8所示所述分享装置8至少可以包括第一获取模块81、计算模块82、筛选模块83、第二获取模块84、分析模块85以及推送模块86,其中:
在一种可选的实施方式中,第一获取模块81获取目标用户针对目标类型的API预先设置的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值,计算模块82根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数,筛选模块83根据所述加权平均数从所述目标类型的API中确定出参考API,第二获取模块84获取所述目标用户开发的与所述目标类型相同类型的目标API,分析模块85分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果,推送模块86将所述分析结果推送给所述目标用户。
可选的,所述筛选模块83具体用于:
将所述目标类型中加权平均数大于或等于推荐指标的API确定为所述参考API,其中所述推荐指标是所述目标用户针对所述目标类型的API预先设置的。
可选的,所述筛选模块83如图9所示可以包括排序单元831以及筛选单元832,其中,排序单元831根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序,筛选单元832根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
进一步的,所述分享装置8还可以包括判断模块87,用于判断所述目标API的加权平均数是否大于所述参考API中所有API的加权平均数,若否,则触发所述分析模块85分析所述目标API和所述参考API的接口和运行逻辑。
可选的,所述分析模块85具体用于:
比较所述目标API和所述参考API的接口,若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果。
若所述目标API和所述参考API的接口不相同,所述分析模块85具体还可以从所述参考API中提取与所述目标API不同的接口,对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
其中,所述分析结果还包括提取到的所述接口对应的运行逻辑。
在另一种可选的实施方式中,第一获取模块81获取目标类型的API的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值,计算模块82根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数,筛选模块83根据所述加权平均数从所述目标类型的API中确定出参考API,第二获取模块84确定推荐所述参考API的目标用户,并获取所述目标用户开发的类型与所述目标类型相同的目标API,分析模块85分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果,推送模块86将所述分析结果推送给所述目标用户。
可选的,所述筛选模块83具体用于:
将所述目标类型中加权平均数大于或等于参考门限值的API确定为所述参考API,所述参考门限值是系统预先指定的。
可选的,所述筛选模块83如图9所示可以包括排序单元831以及筛选单元832,其中,排序单元831根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序,筛选单元832根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
可选的,所述推送模块86具体可以用于:
将订阅了所述目标类型API的用户确定为所述目标用户;或者,
将上传了所述目标类型API的用户确定为所述目标用户。
进一步的,所述分享装置8还可以包括判断模块87,用于判断所述目标API的加权平均数是否大于所述参考API中所有API的加权平均数,若否,则触发所述分析模块85分析所述目标API和所述参考API的接口和运行逻辑。
可选的,所述分析模块85具体用于:
比较所述目标API和所述参考API的接口,若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果。
若所述目标API和所述参考API的接口不相同,所述分析模块85具体还可以从所述参考API中提取与所述目标API不同的接口,对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
其中,所述分析结果还包括提取到的所述接口对应的运行逻辑。
请参阅图10,图10是本发明实施例提供的一种网络服务器的结构示意图。如图10所示,所述网络服务器10可以包括:至少一个处理器101,例如CPU,至少一个通信总线102、存储器103、网络接口104、电源105。
本领域技术人员可以理解,图中示出的网络服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器101为网络服务器的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行网络服务器的各种功能和/或处理数据。所述处理器101可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器101可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是GPU、数字信号处理器(Digital SignalProcessor,简称DSP)的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
存储器103可用于存储软件程序以及模块,处理器101通过运行存储在存储器103的软件程序以及模块,从而执行网络服务器的各种功能应用以及实现数据处理。存储器103主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序,比如声音播放程序、图像播放程序等等;数据存储区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。在本发明具体实施方式中,存储器103可以包括易失性存储器,例如非挥发性动态随机存取内存(Nonvolatile Random AccessMemory,简称NVRAM)、相变化随机存取内存(Phase Change RAM,简称PRAM)、磁阻式随机存取内存(Magetoresistive RAM,简称MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)。非易失存储器储存处理器所执行的操作系统。存储器103从所述非易失存储器加载运行程序与数据到内存并将数字内容储存于大量储存装置中。所述操作系统包括用于控制和管理常规系统任务,例如内存管理、存储设备控制、电源管理等,以及有助于各种软硬件之间通信的各种组件和/或驱动器。在本发明实施方式中,所述操作系统可以是Google公司的Android系统、Apple公司开发的iOS系统或Microsoft公司开发的Windows操作系统等,或者是Vxworks这类的嵌入式操作系统。
电源105用于给网络服务器的不同部件进行供电以维持其运行。作为一般性理解,电源105括直接向网络服务器供电的外接电源,例如AC适配器等。在本发明的一些实施方式中,所述电源还可以作更为广泛的定义,例如还可以包括电源管理系统、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(如发光二极管),以及与电子设备的电能生成、管理及分布相关联的其他任何组件。
在一种可选的实施方式中,存储器103中存储一组程序代码,且处理器101用于调用存储器103中存储的程序代码,用于执行以下操作:
获取目标用户针对目标类型的API预先设置的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值,根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数,根据所述加权平均数从所述目标类型的API中确定出参考API,获取所述目标用户开发的与所述目标类型相同类型的目标API,分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果,将所述分析结果推送给所述目标用户。
可理解的是,本该实现方式中,网络服务器10的各功能模块的功能可根据图5所示方法实施例中的方法具体实现,可以具体对应图5的相关描述,此处不再赘述。
在另一种可选的实施方式中,存储器103中存储一组程序代码,且处理器101用于调用存储器103中存储的程序代码,用于执行以下操作:
获取目标类型的API的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值,根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数,根据所述加权平均数从所述目标类型的API中确定出参考API,确定推荐所述参考API的目标用户,并获取所述目标用户开发的与所述目标类型相同类型的目标API,分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果,将所述分析结果推送给所述目标用户。
可理解的是,本该实现方式中,网络服务器10的各功能模块的功能可根据图7所示方法实施例中的方法具体实现,可以具体对应图7的相关描述,此处不再赘述。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明实施例所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (24)
1.一种应用程序编程接口API的分享方法,其特征在于,包括:
获取目标用户针对目标类型的API预先设置的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值;
根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数;
根据所述加权平均数从所述目标类型的API中确定出参考API;
获取所述目标用户开发的与所述目标类型相同类型的目标API;
分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果;
将所述分析结果推送给所述目标用户。
2.如权利要求1所述的方法,其特征在于,
所述根据所述加权平均数从所述目标类型的API中确定出参考API包括:
将所述目标类型中加权平均数大于或等于推荐指标的API确定为所述参考API,其中所述推荐指标是所述目标用户针对所述目标类型的API预先设置的。
3.如权利要求1所述的方法,其特征在于,
所述根据所述加权平均数从所述目标类型的API中确定出参考API包括:
根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序;
根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果之前,所述方法还包括:
判断所述目标API的加权平均数是否大于所述参考API中所有API的加权平均数;
若否,则执行所述分析所述目标API和所述参考API的接口和运行逻辑的步骤。
5.如权利要求1所述的方法,其特征在于,所述分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果包括:
比较所述目标API和所述参考API的接口;
若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若所述目标API和所述参考API的接口不相同,则从所述参考API中提取与所述目标API不同的接口;
对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
7.如权利要求6所述的方法,其特征在于,
所述分析结果还包括提取到的所述接口对应的运行逻辑。
8.一种应用程序编程接口API的分享装置,其特征在于,包括:
第一获取模块,用于获取目标用户针对目标类型的API预先设置的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值;
计算模块,用于根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数;
筛选模块,用于根据所述加权平均数从所述目标类型的API中确定出参考API;
第二获取模块,用于获取所述目标用户开发的与所述目标类型相同类型的目标API;
分析模块,用于分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果;
推送模块,用于将所述分析结果推送给所述目标用户。
9.如权利要求8所述的装置,其特征在于,所述筛选模块具体用于:
将所述目标类型中加权平均数大于或等于推荐指标的API确定为所述参考API,其中所述推荐指标是所述目标用户针对所述目标类型的API预先设置的。
10.如权利要求8所述的装置,其特征在于,所述筛选模块包括:
排序单元,用于根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序;
筛选单元,用于根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
11.如权利要求8-10任一项所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述目标API的加权平均数是否大于所述参考API中所有API的加权平均数,若否,则触发所述分析模块分析所述目标API和所述参考API的接口和运行逻辑。
12.如权利要求8所述的装置,其特征在于,所述分析模块具体用于:
比较所述目标API和所述参考API的接口,若所述目标API和所述参考API的接口相同,则比较所述目标API和所述参考API的每个接口的运行逻辑,将所述运行逻辑的比较结果作为所述分析结果。
13.如权利要求12所述的装置,其特征在于,所述分析模块具体还用于:
若所述目标API和所述参考API的接口不相同,则从所述参考API中提取与所述目标API不同的接口,对提取到的所述接口进行关联搜索,以确定提取到的所述接口的功能,并将确定的所述功能作为所述分析结果。
14.如权利要求13所述的装置,其特征在于,
所述分析结果还包括提取到的所述接口对应的运行逻辑。
15.一种应用程序编程接口API的分享方法,其特征在于,包括:
获取目标类型的API的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值;
根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数;
根据所述加权平均数从所述目标类型的API中确定出参考API;
确定推荐所述参考API的目标用户,并获取所述目标用户开发的与所述目标类型相同类型的目标API;
分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果;
将所述分析结果推送给所述目标用户。
16.如权利要求15所述的方法,其特征在于,
所述根据所述加权平均数从所述目标类型的API中确定出参考API包括:
将所述目标类型中加权平均数大于或等于参考门限值的API确定为所述参考API,所述参考门限值是系统预先指定的。
17.如权利要求15所述的方法,其特征在于,
所述根据所述加权平均数从所述目标类型的API中确定出参考API包括:
根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序;
根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
18.如权利要求15-17中任一项所述的方法,其特征在于,
所述确定推荐所述参考API的目标用户包括:
将订阅了所述目标类型API的用户确定为所述目标用户;或者,
将上传了所述目标类型API的用户确定为所述目标用户。
19.一种应用程序编程接口API的分享装置,其特征在于,包括:
第一获取模块,用于获取目标类型的API的统计条件,所述统计条件包括至少一个子统计条件,每个所述子统计条件对应一个权值;
计算模块,用于根据所述统计条件计算所述目标类型的API中每个所述API的加权平均数;
筛选模块,用于根据所述加权平均数从所述目标类型的API中确定出参考API;
第二获取模块,用于确定推荐所述参考API的目标用户,并获取所述目标用户开发的类型与所述目标类型相同的目标API;
分析模块,用于分析所述目标API和所述参考API的接口和运行逻辑,获得分析结果;
推送模块,用于将所述分析结果推送给所述目标用户。
20.如权利要求19所述的装置,其特征在于,所述筛选模块具体用于:
将所述目标类型中加权平均数大于或等于参考门限值的API确定为所述参考API,所述参考门限值是系统预先指定的。
21.如权利要求19所述的装置,其特征在于,所述筛选模块包括:
排序单元,用于根据所述加权平均数由大到小的顺序对所述目标类型的API进行排序;
筛选单元,用于根据所述排序结果,将前N个API作为所述参考API,N等于预设阈值。
22.如权利要求19-21中任一项所述的装置,其特征在于,
所述第二获取模块具体用于:
将订阅了所述目标类型API的用户确定为所述目标用户;或者,
将上传了所述目标类型API的用户确定为所述目标用户。
23.一种应用程序编程接口API的分享装置,其特征在于,包括处理器和存储器,所述存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行权利要求1至6任意一项所属的方法。
24.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510714189.5A CN106648557B (zh) | 2015-10-28 | 2015-10-28 | 一种应用程序编程接口api的分享方法和装置 |
PCT/CN2016/091908 WO2017071341A1 (zh) | 2015-10-28 | 2016-07-27 | 一种应用程序编程接口api的分享方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510714189.5A CN106648557B (zh) | 2015-10-28 | 2015-10-28 | 一种应用程序编程接口api的分享方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106648557A CN106648557A (zh) | 2017-05-10 |
CN106648557B true CN106648557B (zh) | 2020-04-03 |
Family
ID=58629818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510714189.5A Active CN106648557B (zh) | 2015-10-28 | 2015-10-28 | 一种应用程序编程接口api的分享方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106648557B (zh) |
WO (1) | WO2017071341A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959014B (zh) * | 2017-05-17 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 用于监控平台的方法和装置 |
CN109814855A (zh) * | 2017-11-21 | 2019-05-28 | 南京大学 | 一种基于对象分类和自适应子图匹配的api推荐方法 |
CN109936589B (zh) * | 2017-12-15 | 2021-09-03 | 中国移动通信集团浙江有限公司 | 基于api热度值的动态负载均衡方法、装置及平台 |
CN110519749B (zh) * | 2018-05-21 | 2021-07-20 | 华为技术有限公司 | 一种api信息传输方法及装置 |
EP3582103A1 (en) * | 2018-06-14 | 2019-12-18 | QlikTech International AB | Methods and systems for application program interface management |
CN112738632B (zh) * | 2020-12-28 | 2022-11-25 | 深圳创维-Rgb电子有限公司 | 智能电视性能的优化方法、装置、设备及存储介质 |
CN112968808B (zh) * | 2021-02-01 | 2022-06-21 | 中科视拓(南京)科技有限公司 | 一种通用的部署深度目标检测网络api的方法 |
CN116016666A (zh) * | 2022-12-21 | 2023-04-25 | 中盈优创资讯科技有限公司 | 一种api发布的实现方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940865A (zh) * | 2005-09-29 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种应用编程接口控制方法和控制功能模块 |
CN101620536A (zh) * | 2009-08-17 | 2010-01-06 | 用友软件股份有限公司 | 一种调用功能函数的方法和装置 |
CN102203730A (zh) * | 2011-05-20 | 2011-09-28 | 华为技术有限公司 | 开放应用程序编程接口选择方法及设备 |
CN102203736A (zh) * | 2011-05-20 | 2011-09-28 | 华为技术有限公司 | 开放应用程序编程接口调用方法及设备 |
CN104298679A (zh) * | 2013-07-18 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 应用业务推荐方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603658B2 (en) * | 2004-02-19 | 2009-10-13 | Oracle International Corporation | Application functionality for a test tool for application programming interfaces |
US7512957B2 (en) * | 2004-12-03 | 2009-03-31 | Microsoft Corporation | Interface infrastructure for creating and interacting with web services |
CN104978261B (zh) * | 2014-04-03 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
-
2015
- 2015-10-28 CN CN201510714189.5A patent/CN106648557B/zh active Active
-
2016
- 2016-07-27 WO PCT/CN2016/091908 patent/WO2017071341A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940865A (zh) * | 2005-09-29 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种应用编程接口控制方法和控制功能模块 |
CN101620536A (zh) * | 2009-08-17 | 2010-01-06 | 用友软件股份有限公司 | 一种调用功能函数的方法和装置 |
CN102203730A (zh) * | 2011-05-20 | 2011-09-28 | 华为技术有限公司 | 开放应用程序编程接口选择方法及设备 |
CN102203736A (zh) * | 2011-05-20 | 2011-09-28 | 华为技术有限公司 | 开放应用程序编程接口调用方法及设备 |
CN104298679A (zh) * | 2013-07-18 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 应用业务推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106648557A (zh) | 2017-05-10 |
WO2017071341A1 (zh) | 2017-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648557B (zh) | 一种应用程序编程接口api的分享方法和装置 | |
US20180183651A1 (en) | Content push method and server, and terminal | |
US20200382374A1 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
US20200259715A1 (en) | Topology-Aware Continuous Evaluation of Microservice-based Applications | |
CN106294508B (zh) | 一种刷量工具检测方法及装置 | |
WO2016110234A1 (zh) | 面向云平台应用的服务推荐方法、设备及系统 | |
WO2019169723A1 (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN107392259B (zh) | 构建不均衡样本分类模型的方法和装置 | |
CN110781180A (zh) | 一种数据筛选方法和数据筛选装置 | |
CN112988185A (zh) | 云应用更新方法、装置、系统、电子设备及存储介质 | |
CN111782317A (zh) | 页面的测试方法和装置、存储介质和电子装置 | |
JP6668492B2 (ja) | 情報公開方法、情報公開装置及び記憶媒体 | |
CN114443943A (zh) | 一种信息调度方法、装置、设备及计算机可读存储介质 | |
CN110995856B (zh) | 一种服务器扩展的方法、装置、设备及存储介质 | |
CN113076094A (zh) | 前端组件构建方法、装置及电子设备 | |
CN112527459A (zh) | 一种基于Kubernetes集群的日志分析方法及装置 | |
CN110162361B (zh) | 基于用户行为的智能提示方法、装置、终端及存储介质 | |
CN111124382A (zh) | Java中的属性赋值方法、装置及服务器 | |
CN114722300A (zh) | 消息提醒方法、装置、电子设备及存储介质 | |
CN106817383B (zh) | 一种基于数据统计上报的访问周期管理方法及装置 | |
CN113642000A (zh) | 恶意应用的识别方法、装置、计算机设备及存储介质 | |
CN114143571B (zh) | 一种用户处理方法、装置、设备和存储介质 | |
CN109309717B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN115914219A (zh) | 任务请求处理方法、装置、系统、可读存储介质和电子设备 | |
CN113674023A (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 |