首页 / 专利库 / 物理 / 质能等价 / 开放应用程序编程接口选择方法及设备

开放应用程序编程接口选择方法及设备

阅读:157发布:2020-05-11

专利汇可以提供开放应用程序编程接口选择方法及设备专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供一种开放应用程序编程 接口 选择方法及设备。其中,方法包括:接收用户的调用 请求 ,调用请求包括OpenAPI功能参数;根据OpenAPI功能参数,确定OpenAPI等价集;根据OpenAPI等价集中每个OpenAPI对应的Qos属性值,从多个API中选择目标OpenAPI。采用本发明实施例,可以为用户从众多功能等价的OpenAPI中选出性能较佳的OpenAPI,提高对用户的服务 质量 。,下面是开放应用程序编程接口选择方法及设备专利的具体信息内容。

1.一种开放应用程序编程接口OpenAPI选择方法,其特征在于,包括:
接收用户的调用请求,所述调用请求包括OpenAPI功能参数;
根据所述OpenAPI功能参数,确定OpenAPI等价集,所述OpenAPI等价集包括多个具有相同功能的OpenAPI;
根据所述OpenAPI等价集中每个所述OpenAPI对应的服务质量Qos属性值,从多个所述OpenAPI中选择目标OpenAPI;
其中,所述根据所述OpenAPI等价集中每个所述OpenAPI对应的服务质量Qos属性值,从多个所述OpenAPI中选择目标OpenAPI包括:
从所述OpenAPI等价集中随机选择初始OpenAPI,并调用所述初始OpenAPI;
判断是否返回调用结果;
当判断结果为否时,将所述初始OpenAPI从所述OpenAPI等价集中去除,并对每个所述OpenAPI对应的Qos属性值进行归一化处理,生成每个所述OpenAPI对应的用户适用度值;根据每个所述OpenAPI对应的用户适用度值,从多个所述OpenAPI中选择所述目标OpenAPI。
2.根据权利要求1所述的OpenAPI选择方法,其特征在于,选择所述目标OpenAPI之后还包括:
调用所述目标OpenAPI;
判断是否返回调用结果;
如果判断结果为否,将所述目标OpenAPI从所述OpenAPI等价集中去除,并重新执行根据所述OpenAPI等价集中每个所述OpenAPI对应的Qos属性值,从多个所述OpenAPI中选择目标OpenAPI的操作。
3.根据权利要求1所述的OpenAPI选择方法,其特征在于,所述根据每个所述OpenAPI对应的用户适用度值,从多个所述OpenAPI中选择所述目标OpenAPI包括:
从多个所述OpenAPI中选择所述用户适用度值最大的所述OpenAPI作为所述目标OpenAPI。
4.根据权利要求1所述的OpenAPI选择方法,其特征在于,所述根据每个所述OpenAPI对应的用户适用度值,从多个所述OpenAPI中选择所述目标OpenAPI包括:
根据每个所述OpenAPI对应的用户适用度值,为每个所述OpenAPI分配一选择概率;
产生随机数;
根据所述随机数和所述选择概率,从多个所述OpenAPI中选择所述目标OpenAPI。
5.根据权利要求4所述的OpenAPI选择方法,其特征在于,所述根据所述随机数和所述选择概率,从多个所述OpenAPI中选择所述目标OpenAPI包括:
将所述选择概率按照从小到大的顺序排序;
将所述随机数依次与排序后的选择概率进行比较;
选择第一个大于所述随机数的选择概率对应的OpenAPI作为所述目标OpenAPI。
6.根据权利要求1所述的OpenAPI选择方法,其特征在于,所述调用所述初始OpenAPI包括:
通过调用界面向所述用户显示所述初始OpenAPI的参数列表;
接收所述用户通过所述调用界面提交的所述初始OpenAPI的参数信息;
根据所述参数信息调用所述初始OpenAPI。
7.一种开放应用程序编程接口OpenAPI选择设备,其特征在于,包括:
接收单元,用于接收用户的调用请求,所述调用请求包括OpenAPI功能参数;
确定单元,用于根据所述OpenAPI功能参数,确定OpenAPI等价集,所述OpenAPI等价集包括多个具有相同功能的OpenAPI;
选择单元,用于根据所述OpenAPI等价集中每个所述OpenAPI对应的服务质量Qos属性值,从多个所述OpenAPI中选择目标OpenAPI;
所述选择单元包括:
选择调用子单元,用于从所述OpenAPI等价集中随机选择初始OpenAPI,并调用所述初始OpenAPI;
判断子单元,用于判断是否有调用结果返回;
去除触发子单元,用于在所述判断子单元的判断结果为否时,将所述初始OpenAPI从所述OpenAPI等价集中去除,并触发生成子单元执行对每个所述OpenAPI对应的Qos属性值进行归一化处理,生成每个所述OpenAPI对应的用户适用度值的操作;
所述生成子单元,用于对每个所述OpenAPI对应的Qos属性值进行归一化处理,生成每个所述OpenAPI对应的用户适用度值;
选择子单元,用于根据每个所述OpenAPI对应的用户适用度值,从多个所述OpenAPI中选择所述目标OpenAPI。
8.根据权利要求7所述的OpenAPI选择设备,其特征在于,还包括:
调用单元,用于在所述选择单元选择出所述目标OpenAPI之后,调用所述目标OpenAPI;
判断单元,用于判断是否有调用结果返回;
去除触发单元,用于在所述判断单元的判断结果为否时,将所述目标OpenAPI从所述OpenAPI等价集中去除,并触发所述选择单元重新执行根据OpenAPI等价集中每个所述OpenAPI对应的Qos属性值,从多个所述OpenAPI中选择目标OpenAPI的操作。
9.根据权利要求7所述的OpenAPI选择设备,其特征在于,所述选择子单元包括:
第一选择模,用于从多个所述OpenAPI中选择所述用户适用度值最大的所述OpenAPI作为所述目标OpenAPI。
10.根据权利要求7所述的OpenAPI选择设备,其特征在于,所述选择子单元包括:
分配模块,用于根据每个所述OpenAPI对应的用户适用度值,为每个所述OpenAPI分配一选择概率;
产生模块,用于产生随机数;
第二选择模块,用于根据所述随机数和所述选择概率,从多个所述OpenAPI中选择所述目标OpenAPI。
11.根据权利要求10所述的OpenAPI选择设备,其特征在于,所述第二选择模块具体用于将所述选择概率按照从小到大的顺序排序,将所述随机数依次与排序后的选择概率进行比较,选择第一个大于所述随机数的选择概率对应的OpenAPI作为所述目标OpenAPI。
12.根据权利要求7所述的OpenAPI选择设备,其特征在于,所述选择调用子单元包括:
第三选择模块,用于从所述OpenAPI等价集中随机选择所述初始OpenAPI;
显示模块,用于通过调用界面向所述用户显示所述初始OpenAPI的参数列表;
接收模块,用于接收所述用户通过调用界面提交的所述初始OpenAPI的参数信息;
调用模块,用于根据所述参数信息调用所述初始OpenAPI。

说明书全文

开放应用程序编程接口选择方法及设备

技术领域

[0001] 本发明实施例涉及编程接口领域,尤其涉及一种开放应用程序编程接口(Open Application Programming Interface;简称为:OpenAPI)选择方法及设备。

背景技术

[0002] 随着OpenAPI技术的发展,OpenAPI提供者越来越多,互联网(Internet)上可用OpenAPI数量也在不断增加,而具有相同功能的OpenAPI的数量也在不断上升,这为用户提供了更多的选择。
[0003] 但是,由于功能等价的不同OpenAPI在响应时间、可靠性、稳定性等方面存在较大差异,因此,如何从众多功能等价的OpenAPI中选择性能较佳的OpenAPI成为阻碍OpenAPI进一步发展和普及的难题。

发明内容

[0004] 本发明实施例提供一种开放应用程序编程接口选择方法及设备,可以从众多功能等价的OpenAPI中选择性能较佳的OpenAPI。
[0005] 本发明实施例提供一种开放应用程序编程接口OpenAPI选择方法,包括:
[0006] 接收用户的调用请求,所述调用请求包括OpenAPI功能参数;
[0007] 根据所述OpenAPI功能参数,确定OpenAPI等价集,所述OpenAPI等价集包括多个具有相同功能的OpenAPI;
[0008] 根据所述OpenAPI等价集中每个所述OpenAPI对应的服务质量Qos属性值,从多个所述OpenAPI中选择目标OpenAPI。
[0009] 本发明实施例提供一种开放应用程序编程接口OpenAPI选择设备,包括:
[0010] 接收单元,用于接收用户的调用请求,所述调用请求包括OpenAPI功能参数;
[0011] 确定单元,用于根据所述OpenAPI功能参数,确定OpenAPI等价集,所述OpenAPI等价集包括多个具有相同功能的OpenAPI;
[0012] 选择单元,用于根据所述OpenAPI等价集中每个所述OpenAPI对应的服务质量Qos属性值,从多个所述OpenAPI中选择目标OpenAPI。
[0013] 本发明实施例的开放应用程序编程接口OpenAPI选择方法及设备,在接收到用户的调用请求之后,根据调用请求确定具有相同功能的多个OpenAPI,然后根据每个OpenAPI的Qos属性值从中为用户选择目标OpenAPI。本发明实施例通过Qos属性值来反映具有相同功能的不同OpenAPI的性能,并基于此从中选择出目标OpenAPI,为用户选择性能较佳的OpenAPI,提高了对用户的服务质量。附图说明
[0014] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1为本发明实施例一提供的OpenAPI选择方法的流程图
[0016] 图2为本发明实施例二提供的OpenAPI选择方法的流程图;
[0017] 图3A为本发明实施例三提供的OpenAPI选择方法的流程图;
[0018] 图3B为本发明实施例三提供的步骤304的实施方法的流程图;
[0019] 图4为本发明实施例四提供的OpenAPI选择方法的流程图;
[0020] 图5为本发明实施例五提供的OpenAPI选择设备的结构示意图;
[0021] 图6为本发明实施例六提供的OpenAPI选择设备的结构示意图;
[0022] 图7为本发明实施例七提供的OpenAPI选择设备的结构示意图。

具体实施方式

[0023] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 图1为本发明实施例一提供的OpenAPI选择方法的流程图。如图1所示,本实施例的方法包括:
[0025] 步骤101、接收用户的调用请求。
[0026] 具体的,用户向本实施例的OpenAPI选择设备(以下简称为选择设备)发送调用OpenAPI的调用请求。该调用请求包括OpenAPI功能参数,该OpenAPI功能参数既用于表明用户需要完成什么样的功能,也用于表明选择设备需要选择的OpenAPI类型。
[0027] 步骤102、根据OpenAPI功能参数,确定OpenAPI等价集。
[0028] 其中,在OpenAPI数据库中,预先存储有以功能划分出的多个OpenAPI等价集。每个OpenAPI等价集包括多个具有相同功能的OpenAPI。在本实施例中,选择设备根据OpenAPI功能参数从多个OpenAPI等价集中确定出包括有用户需要的OpenAPI的OpenAPI等价集。
[0029] 步骤103、根据OpenAPI等价集中每个OpenAPI对应的Qos属性值,从多个OpenAPI中选择目标OpenAPI。
[0030] 其中,选择设备预先存储有OpenAPI数据库中每个被调用过的OpenAPI对应的Qos属性值。Qos属性值用于表征每个OpenAPI的性能,Qos属性是预先根据Web服务的Qos指标,结合OpenAPI领域的特殊需求,并鉴于实用性和可测量性的考虑而定义的。每个Qos属性均有一个数值,用于表示QOs属性的好坏,但并不限于此。
[0031] 在本实施例中,选择设备在确定出OpenAPI等价集之后,获取其中每个OpenAPI对应的Qos属性值,从多个具有相同功能的OpenAPI中选择一个OpenAPI作为目标OpenAPI。
[0032] 本实施例的OpenAPI选择方法,通过Qos属性值来反映具有相同功能的不同OpenAPI的性能,并基于此从中选择出目标OpenAPI,解决了现有技术无法从众多功能等价的OpenAPI中选出性能较佳OpenAPI的问题,为用户选择性能较佳的OpenAPI,提高对用户的服务质量。
[0033] 在此说明,在本发明各实施例中,Qos属性可以包括主观Qos属性和/或客观Qos属性,主观Qos属性主要反映用户对OpenAPI的评价,客观Qos属性主要反映OpenAPI调用过程中的一些性能。主观Qos属性可以包括以下任意一个或其组合:易用性(Usability)、正确性(Correctness)、性价比(Performance/Price)或主观安全性(Security)。其中,易用性用于反映调用OpenAPI的过程是否简单,返回的结果是否容易理解。正确性用于评价调用OpenAPI后得到的结果是否是用户期望的结果。性价比是指一OpenAPI的实际应用价值与用户调用该OpenAPI所花费的费用的比值。主观安全性是指用户在调用OpenAPI后对OpenAPI是否安全给出的评价。另外,还可以对上述各种主观Qos属性进行加权平均处理,获取综合主观评价值。客观Qos属性可以包括以下任意一种或其组合:加密安全性、响应时间(Response Time)、可用性(Availability)或稳定性(Stability)。其中,加密安全性是指OpenAPI调用的传输过程是否进行了加密。响应时间是指调用OpenAPI的快慢程度,即从用户发起调用到用户得到返回结果的时间差。可用性用于评价当前的OpenAPI是否可用,可以用用户成功调用OpenAPI的比率来表征。稳定性可以用平均故障间隔时间(Mean Time between Failures;简称为:MTBF)来表示,是指OpenAPI两次调用失败之间的平均工作时间。
[0034] 图2为本发明实施例二提供的OpenAPI选择方法的流程图。本实施例基于实施例一实现,如图2所示,本实施例的方法在步骤103之后还包括以下步骤:
[0035] 步骤104、调用目标OpenAPI。
[0036] 当选择设备为用户选择出目标OpenAPI后,还会向OpenAPI数据库调用选择出的目标OpenAPI。其中,向OpenAPI数据库调用目标OpenAPI的过程包括:选择设备获取目标OpenAPI的参数列表;选择设备向用户提供调用界面,在该调用界面上显示目标OpenAPI的参数列表;用户通过调用界面输入目标OpenAPI的参数信息后,并通过点击用户界面上提供的调用功能,提交确认调用;之后,选择设备向OpenAPI数据库中调用OpenAPI。其中,调用成功后,OpenAPI数据库会向选择设备返回调用结果;如果调用不成功,则OpenAPI数据库不会返回调用结果。
[0037] 步骤105、判断是否返回调用结果;如果判断结果为否,执行步骤106;如果判断结果为是,执行步骤107。
[0038] 具体的,选择设备调用目标OpenAPI后,判断OpenAPI数据库是否返回了调用结果,也就是判断调用是否成功。其中,选择设备可以预先设定OpenAPI数据库返回调用结果的时间,则选择设备可以通过判断是否超时来判断是否有调用结果返回。另外,选择设备也可以通过状态码来判断是否有调用结果返回。
[0039] 步骤106、将该目标OpenAPI从OpenAPI等价集中去除,并重新执行步骤103。
[0040] 当调用不成功时,说明OpenAPI数据库中不存在该目标OpenAPI,故选择设备将选择出的目标OpenAPI从OpenAPI等价集中去除,并重新执行步骤103以重新为用户选择新的目标OpenAPI。此时的OpenAPI等价集是去除之前选择出的目标OpenAPI后的OpenAPI等价集。
[0041] 步骤107、向用户返回调用结果。
[0042] 当调用成功时,选择设备向用户返回调用结果。
[0043] 进一步,在该步骤中还可以包括用户返回对调用目标OpenAPI的主观评价结果,即主观Qos属性值的过程。其中,用户返回主观Qos属性值的操作在后续将做进一步描述。
[0044] 本实施例的OpenAPI选择方法,通过对选择的目标OpenAPI进行调用,并在调用不成功时继续在去除调用不成功的OpenAPI后的OpenAPI等价集中进行选择,以保证为用户成功选择目标OpenAPI,保证用户得到服务,提高OpenAPI对用户的服务质量。
[0045] 图3A为本发明实施例三提供的OpenAPI选择方法的流程图。如图3A所示,本实施例的方法包括:
[0046] 步骤301、接收用户的调用请求。
[0047] 步骤302、根据OpenAPI功能参数,确定OpenAPI等价集。
[0048] 步骤301和步骤302详见步骤101和步骤102的描述,在此不再赘述。
[0049] 步骤303、对每个OpenAPI对应的Qos属性值进行归一化处理,生成每个OpenAPI对应的用户适用度值。
[0050] 其中,每个OpenAPI对应的Qos属性值用于供选择设备为用户从多个具有相同功能的OpenAPI中选择一个适合度最高的物理OpenAPI。当每个OpenAPI对应多个Qos属性时,一些Qos属性的值越大,表示OpenAPI性能越高,例如可用性,一些Qos属性的值越小,表示OpenAPI性能越高,例如响应时间。将Qos属性值越大,表示OpenAPI性能越好的Qos属性称为增量型Qos属性,相应的将其值称为增量型Qos属性值;将Qos属性值越小,表示OpenAPI性能越好的Qos属性称为减量型Qos属性,相应的将其值称为减量型Qos属性值。为了计算方便,在本实施例中,选择设备对各种Qos属性值进行归一化处理,并生成用户适用度值,以用户适用度值这一个指标来评价OpenAPI的性能。
[0051] 具体的,选择设备根据公式(1)对增量型Qos属性值进行归一化处理。
[0052]
[0053] 选择设备根据公式(2)对减量型Qos属性值进行归一化处理。
[0054]
[0055] 其中, 表示第i个OpenAPI的第k个Qos属性值; 表示第i个OpenAPI的第k个归一化的Qos属性值;n表示OpenAPI的个数,i=1...n;k=1...m,m表示每个OpenAPI的Qos属性的个数。例如:当每个OpenAPI对应的Qos属性同时包括易用性、正确性、性价比、安全性、响应时间、可用性和稳定性时,m为7。
[0056] 在此说明,当OpenAPI对应的Qos属性仅包括增量型Qos属性时,可以仅根据公式(1)进行归一化处理,也可以不进行归一化处理。同理,当OpenAPI对应的Qos属性仅包括减量型Qos属性时,可以仅根据公式(2)进行归一化处理,也可以不进行归一化处理。
[0057] 当进行归一化处理后,选择设备可以根据公式(3)对归一化处理后的Qos属性值进行加权平均处理,生成用户适用度值。
[0058]
[0059] 其中,wk表示每个OpenAPI的第k个归一化的Qos属性值的权重值;在本实施例中,该权重值是预先设定的,且对于每个OpenAPI而言,该wk是相同的,但并不限于此;Ui表示第i个OpenAPI对应的用户适用度值。
[0060] 步骤304、根据每个OpenAPI对应的用户适用度值,从多个OpenAPI中选择目标OpenAPI。
[0061] 其中,根据归一化处理后的Qos属性值得到的用户适用度值越大,表明OpenAPI的性能越好。
[0062] 步骤304的一种实施方式为:选择设备从多个OpenAPI中选择用户适用度值最大的OpenAPI作为目标OpenAPI。具体的,选择设备将获取的多个用户适用度值进行比较,获取最大的用户适用度值,进而将最大的用户适用度值对应的OpenAPI作为目标OpenAPI。该实施方式简单易于实现,且选择出的目标OpenAPI为最佳OpenAPI,在调用该目标OpenAPI后可使用户获得质量较高的服务。
[0063] 进一步,本实施例提供步骤304的另一种实施方式,如图3B所示,该实施方式包括:
[0064] 步骤3041、根据每个OpenAPI对应的用户适用度值,为每个OpenAPI分配一选择概率。
[0065] 其中,选择设备为每个OpenAPI分配不同的选择概率,保证性能好的OpenAPI分配的选择概率大。也就是说,如果OpenAPI的用户适用度值越大,选择设备为其分配的选择概率越大。选择设备所分配的所有选择概率之和为1。假设有n个OpenAPI,按照从小到大的顺序排列后分别为:apiid1,apiid2,...,apiidi,...,apiidn,相应的选择概率分别为p1,p2,...,pi,...,pn,其中,p1+p2+....+pi+...+pn=1。n个选择概率将划分出n+1个概率区间。
[0066] 步骤3042、产生随机数。
[0067] 具体的,选择设备根据一定的算法产生0-1之间的随机数。
[0068] 步骤3043、根据随机数和选择概率,从多个OpenAPI中选择目标OpenAPI。
[0069] 具体的,选择设备将选择概率按照从小到大的顺序排序;然后,将随机数依次与排序后的选择概率进行比较,直到比较出第一个大于随机数的选择概率为止,选择第一个大于随机数的选择概率对应的OpenAPI作为目标OpenAPI。也就是说,选择设备判断该随机数出现在哪个概率区间,取该概率区间的上限对应的OpenAPI,将该OpenAPI作为目标OpenAPI。
[0070] 该实施方式通过产生0-1之间的随机数,并根据随机数和为OpenAPI分配的选择概率选择目标OpenAPI,可以保证概率较大的OpenAPI被选择的可能性较大,也就是说可以保证性能越好的OpenAPI被选择的概率越高,并且还能够保证每个OpenAPI都有被选择的可能。
[0071] 其中,步骤303和步骤304可以看做是步骤103的一种具体实施方式。
[0072] 本实施例的OpenAPI选择方法,通过对Qos属性值进行归一化处理,获取用户适用度值,并根据用户适用度值来选择目标OpenAPI,用用户适用度值来反映具有相同功能的不同OpenAPI的性能,并基于此从中选择目标OpenAPI,简化了选择目标OpenAPI的操作,解决了现有技术无法从众多功能等价的OpenAPI中选出较佳OpenAPI的问题,为用户选择性能较佳的OpenAPI,提高对用户的服务质量。
[0073] 图4为本发明实施例四提供的OpenAPI选择方法的流程图。本实施例基于实施例三实现,如图4所示,本实施例的方法在步骤303之前包括:
[0074] 步骤30a、从OpenAPI等价集中随机选择初始OpenAPI,并向OpenAPI数据库调用初始OpenAPI。
[0075] 具体的,选择设备OpenAPI等价集中随机选择一个OpenAPI作为初始OpenAPI,并获取初始OpenAPI的参数列表;之后,通过调用界面向用户显示初始OpenAPI的参数列表;在用户通过调用界面输入初始OpenAPI的参数信息后,接收用户通过调用界面提交的初始OpenAPI的参数信息;根据参数信息向OpenAPI数据库中调用初始OpenAPI。其中,向OpenAPI数据中调用该初始OpenAPI的过程可参见实施例二中步骤104中调用目标OpenAPI的描述。
[0076] 步骤30b、判断OpenAPI数据库是否返回调用结果;如果判断结果为否,执行步骤30c;如果判断结果为是,执行步骤308。
[0077] 其中,具体判断是否返回调用结果的方法可参见步骤105中的描述,在此不再赘述。如果返回调用结果,表示调用成功;如果没有返回调用结果,表示调用失败。
[0078] 步骤30c、将初始OpenAPI从OpenAPI等价集中去除,并转去执行步骤303以及步骤304。
[0079] 上述步骤用于在根据Qos属性值选择目标OpenAPI之前,首先从OpenAIP等价集中随机选择一个OpenAPI,并向OpenAPI数据库进行调用。如果调用成功,则不再执行后续步骤,可以节约调用OpenAPI的流程,提高调用OpenAPI的效率。如果调用不成功,进而根据Qos属性值来从多个OpenAPI中选择性能较佳的OpenAPI,可以提高调用的成功率,提高调用OpenAIP的效率。
[0080] 进一步,如图4所示,本实施例的方法在步骤304之后,还包括:
[0081] 步骤305、向OpenAPI数据库调用目标OpenAPI。
[0082] 步骤306、判断OpenAPI数据库是否返回调用结果;如果判断结果为否,执行步骤307;如果判断结果为是,执行步骤308。
[0083] 步骤307、将目标OpenAPI从OpenAPI等价集中去除,并转去执行步骤303。
[0084] 步骤308、向用户返回调用结果,并结束此次OpenAPI调用操作。
[0085] 上述步骤305-步骤308可参见实施例二中步骤104-步骤107的描述,在此不再赘述。
[0086] 本实施例的OpenAPI选择方法,在根据Qos属性值选择目标OpenAPI之前,首先从OpenAIP等价集中随机选择一个OpenAPI,并向OpenAPI数据库进行调用,在调用初始OpenAPI成功时,不再执行后续步骤,可以节约调用OpenAPI的流程,提高调用OpenAPI的效率;在调用初始OpenAPI不成功时,进而根据Qos属性值来从多个OpenAPI中选择性能较佳的OpenAPI,可以提高调用的成功率,提高调用OpenAIP的效率。
[0087] 进一步,在上述各实施例中,在根据OpenAPI等价集中每个OpenAPI对应的服务质量Qos属性值,从多个OpenAPI中选择目标OpenAPI之前包括:生成每个OpenAPI对应的Qos属性值的操作。在本发明各实施例中,Qos属性可以包括客观Qos属性和/或主观Qos属性。其中,客观Qos属性主要是反映OpenAPI调用过程中的一些性能,因此,主要通过检测调用每个OpenAPI的过程,获取每个OpenAPI对应的客观Qos属性值。主观Qos属性主要是用户对OpenAPI的评价,因此,主观Qos属性值主要是由测试用户调用每个OpenAPI结束后反馈的。在此说明,测试用户是指与获取OpenAPI的Qos属性相关的用户,既可以是专用于获取OpenAPI的Qos属性值的测试环境中的负责调用OpenAPI的用户,也可以是实际应用环境中能够通过调用OpenAPI而提供OpenAPI的Qos属性值的用户,例如上述各实施例中的用户就可以作为此处的测试用户。其中,在实际应用过程中获取OpenAPI对应的客观Qos属性值和/或主观Qos属性值为一种优选实施方式。
[0088] 进一步,当获取到OpenAPI对应的客观Qos属性值和/或主观Qos属性值后,还要将获取的客观Qos属性值和/或主观Qos属性值存储到Qos属性信息表中,同时将产生客观Qos属性值和/或主观Qos属性值的调用API的过程中的调用信息存储到调用记录表中,调用信息可以包括调用该OpenAPI的用户的标识(ID)、被调用的OpenAPI的标识(ID)、被调用时间、次数等。Qos属性信息表和调用记录表存在映射关系,且保持同步,即每次添加一条新的调用信息到调用记录表中时,都要更新Qos属性信息表中相应的OpenAPI的QoS属性值。
[0089] 更进一步,考虑到QoS属性值受当前网络状态的影响较大,为了减少网络状态对当前QoS属性值的影响,在将获取的客观Qos属性值和/或主观Qos属性值加入到Qos属性信息表之前,选择设备具体通过公式(4)对各Qos属性值进行平均加权处理。
[0090] Y′(t)=λ×Y(t)+(1-λ)×Y′(t-1) (4)
[0091] 其中,Y(t)表示第t时刻获取的客观Qos属性值和/或主观Qos属性值;Y′(t)表示第t时刻经平均加权处理后的客观Qos属性值和/或主观Qos属性值;Y′(t-1)表示第t-1时刻经平均加权处理后的客观Qos属性值和/或主观Qos属性值;其中,t-1时刻是指t时刻的前一时刻,亦即公式(4)表示用前一时刻得到的Qos属性值对当前得到的Qos属性值进行平均加权处理。λ为常数系数,优选的取值范围为0~1之间,更为优选的取值范围为0.2~0.3,例如当λ取0.25时,公式(4)变为:Y′(t)=0.25×Y(t)+0.75×Y′(t-1)。
[0092] 基于上述,本发明以下实施例将进一步介绍生成Qos属性值的方法流程。
[0093] 其中,一种生成客观Qos属性值的实施方式为:通过插入在调用过程中的检测程序,对由测试用户发起的调用每个OpenAPI的过程进行检测,并由检测程序获取每个OpenAPI的客观Qos属性值。具体的,在用户通过选择设备调用OpenAPI的过程中选择合适的位置插入检测程序,即将检测程序的代码内置于调用程序代码中;当用户发起调用OpenAPI的调用请求时,检测程序代码被激活检测整个调用过程,例如:记录调用请求的发起时间、返回调用结果的时间、响应的状态码等,从而获取响应时间(返回调用结果的时间与调用请求的发起时间的差值),并由响应状态码获知OpenAPI的可用性(及即是否调用成功),进一步,该检测程序还可以通过综合可用性的历史信息,即对所记录的该OpenAPI之前一段时间内的可用性进行综合评测,获取该OpenAPI当前的稳定性等。在获取到各种客观Qos属性值后,选择设备还会将客观Qos属性值存储到Qos属性信息表中,并将调用OpenAPI的调用信息存储到调用记录表中。
[0094] 另一种生成客观Qos属性值的实施方式为:通过插入在调用过程中的检测程序,对选择设备轮循调用每个OpenAPI的过程进行检测,并由检测程序获取每个OpenAPI的客观Qos属性值。具体的,选择设备通过向用户或管理员提供一管理界面,在该管理界面上包括需要用户或管理员设定的信息,例如:设定执行轮循操作的时间间隔,即计时器开启后,批次运行任务的延迟,时间单位可为毫秒;开启轮循功能,结束轮循功能等。用户或管理员通过点击开启轮循功能就可以启动选择设备自动根据设定的时间间隔轮循调用OpenAPI数据库中的每个OpenAPI,而检测程序会获取每个OpenAPI对应的客观Qos属性值,例如:可用性、响应时间、稳定性以及客观安全性等。用户或管理员通过点击结束轮循功能就可以使选择设备结束轮循调用OpenAPI的操作。进一步,在该管理界面上还包括一查看选择设备性能的功能,用户或管理员在点击开启轮循功能之前,可以通过点击查看选择设备性能的功能获取选择设备的物理资源的平均使用状态,例如可以查看到CPU的使用率、内存使用率以及线程总数等;之后,用户或管理员通过综合评测判断选择设备的当前状态是否适合执行轮循操作,当平均使用状态满足预设状态条件时,在通过点击开始轮循功能指示选择设备轮循调用每个OpenAPI。
[0095] 其中,一种获取主观Qos属性值的实施方式为:测试用户根据评价界面中OpenAPI的历史评价信息,对评价界面中的主观Qos属性列表中的主观Qos属性进行评价,以通过评价界面返回主观Qos属性值。其中,评价界面是由选择设备或嵌入OpenAPI中的评价程序在调用OpenAPI的过程结束后提供给测试用户的。
[0096] 当评价界面是由选择设备提供给用户时,该实施方式具体为:用户通过开放能调用工具发起调用OpenAPI的调用请求后,选择设备根据调用请求对OpenAPI进行调用,其调用过程可以参见上述实施例中的描述。在调用结束后,选择设备向用户提供评价界面,该评价界面包括该OpenAPI的历史评价信息以及主观Qos属性列表。该评价界面中的历史评价信息主要是指前一段时间内其他用户给出的该OpenAPI的主观Qos属性值,该用户参考历史评价信息,对主观Qos属性列表中的各主观Qos属性进行评价,给出每个主观Qos属性的值,并通过点击评价界面上的提交功能,将主观Qos属性值返回给选择设备。选择设备在接收到OpenAPI的主观Qos属性值后,将其存储到Qos属性信息表中。
[0097] 当评价界面是由评价程序提供给用户时,该实施方式具体为:为了获取更加方便的获得用户的评价信息,OpenAPI开发者通过在OpenAPI中嵌入评价程序(又称为评价控件),当用户调用OpenAPI结束后,嵌入OpenAPI中的评价程序被激活,评价程序通过向选择设备的调用记录表中获取该OpenAPI的历史调用信息(包括OpenAPI的ID、发起调用的用户的ID等),然后根据该历史调用信息从选择设备的Qos属性信息表中获取该OpenAPI的历史评价信息,然后向用户提供包括历史评价信息和主观Qos属性列表的评价界面。用户参考历史评价信息,对主观Qos属性列表中的各主观Qos属性进行评价,给出每个主观Qos属性的值,并通过点击评价界面上的提交功能,将主观Qos属性值返回给选择设备。
[0098] 在上述生成主观Qos属性值的各实施方式的基础上,本实施例的选择设备还可以采用jquery的rating和progressbar等插件,根据Qos属性信息表中的Qos属性值和调用记录表中相应的调用信息,绘制某些Qos属性的波动曲线,并将绘制的波动曲线通过评价界面提供给用户,便于用户对当前OpenAPI做出正确的评价。例如:可以绘制一段时间内,正确性波动曲线、性价比波动曲线、综合评价波动曲线等,还可以绘制客观Qos属性的波动曲线,以辅助用户做出对主观Qos属性的评价。
[0099] 上述各实施例方式,通过检测调用OpenAPI的过程或由用户反馈来获取OpenAPI的Qos属性值,所获取的Qos属性值符合OpenAPI领域的需求,能够正确反映OpenAPI的性能差异,为上述选择OpenAPI的实施例提供了基础,使得上述各实施例能够在众多功能等价的OpenAPI中为用户选择出性能较佳的OpenAPI,解决了现有技术存在的问题,提高了OpenAPI对用户的服务质量。
[0100] 图5为本发明实施例五提供的OpenAPI选择设备的结构示意图。如图5所示,本实施例的选择设备包括:接收单元51、确定单元52和选择单元53。
[0101] 其中,接收单元51,用于接收用户的调用请求,所述调用请求包括OpenAPI功能参数。确定单元52,与接收单元51连接,用于根据OpenAPI功能参数,确定OpenAPI等价集,所述OpenAPI等价集包括多个具有相同功能的OpenAPI。选择单元53,与确定单元52连接,用于根据OpenAPI等价集中每个OpenAPI对应的Qos属性值,从多个OpenAPI中选择目标OpenAPI。
[0102] 本实施例的OpenAPI选择设备的各功能单元可用于执行图1所示实施例的方法流程,其工作原理不再赘述,详见方法实施例的描述。
[0103] 本实施例的OpenAPI选择设备,通过Qos属性值来反映具有相同功能的不同OpenAPI的性能,并基于此从众多功能等价的OpenAPI中选择出目标OpenAPI,解决了现有技术无法从众多功能等价的OpenAPI中选出性能较佳OpenAPI的问题,为用户选择性能较佳的OpenAPI,提高对用户的服务质量。
[0104] 图6为本发明实施例六提供的OpenAPI选择设备的结构示意图。本实施例基于图5所示实施例实现,如图6所示,本实施例的选择设备还包括:调用单元61、判断单元62和去除触发单元63。
[0105] 其中,调用单元61,与选择单元53连接,用于在选择单元53选择出目标OpenAPI之后,向OpenAPI数据库调用目标OpenAPI。判断单元62,用于判断OpenAPI数据库是否有调用结果返回。去除触发单元63,与判断单元62和选择单元53连接,用于在判断单元62的判断结果为否时,将目标OpenAPI从OpenAPI等价集中去除,并触发选择单元53重新执行根据OpenAPI等价集中每个OpenAPI对应的Qos属性值,从多个OpenAPI中选择目标OpenAPI的操作。另外,当判断单元62的判断结果为是时,将向用户返回调用结果,并结束此次调用操作。
[0106] 上述各功能单元可用于执行图2所示方法流程,其工作原理不再赘述,详见图2所示实施例的描述。本实施例的OpenAPI选择设备,通过对选择的目标OpenAPI进行调用,并在调用不成功时继续在去除调用不成功的OpenAPI后的OpenAPI等价集中进行选择,以保证为用户成功选择目标OpenAPI,保证用户得到服务,提高OpenAPI对用户的服务质量。
[0107] 进一步,本实施例的选择单元53包括:生成子单元531和选择子单元532。生成子单元531,与确定单元52连接,用于对每个OpenAPI对应的Qos属性值进行归一化处理,生成每个OpenAPI对应的用户适用度值。选择子单元532,与生成子单元531连接,用于根据每个OpenAPI对应的用户适用度值,从多个OpenAPI中选择目标OpenAPI。
[0108] 更进一步,选择子单元532的一种实现方式包括:第一选择模5321。该第一选择模块5321,与生成子单元531连接,用于从多个OpenAPI中选择用户适用度值最大的OpenAPI作为目标OpenAPI。
[0109] 选择子单元532的另一种实现方式包括:分配模块5322、产生模块5323和第二选择模块5324。具体的,分配模块5322,与生成子单元531连接,用于根据每个OpenAPI对应的用户适用度值,为每个OpenAPI分配一选择概率,所有选择概率之和为1;产生模块5323,用于产生随机数,例如0-1之间的随机数;第二选择模块5324,与分配模块5322和产生模块5323连接,用于根据随机数和选择概率,从多个OpenAPI中选择目标OpenAPI。
[0110] 其中,第二选择模块5324具体用于将选择概率按照从小到大的顺序排序,将随机数依次与排序后的选择概率进行比较,选择第一个大于随机数的选择概率对应的OpenAPI作为目标OpenAPI。
[0111] 上述各功能子单元或模块可用于执行图3A和图3B所示方法流程,其工作原理不再赘述,详见图3A和图3B所示方法实施例的描述。
[0112] 再进一步,如图6所示,本实施例的选择单元53还包括:选择调用子单元533、判断子单元534和去除触发子单元535。
[0113] 其中,选择调用子单元533,与确定单元52连接,用于从OpenAPI等价集中随机选择初始OpenAPI,并向OpenAPI数据库调用初始OpenAPI;判断子单元534,用于判断是否有调用结果返回;去除触发子单元535,与判断子单元534和生成子单元531连接,用于在判断子单元534的判断结果为否时,将初始OpenAPI从OpenAPI等价集中去除,并触发生成子单元531执行对每个OpenAPI对应的Qos属性值进行归一化处理,生成每个OpenAPI对应的用户适用度值的操作。
[0114] 如图6所示,选择调用子单元533的一种实现结构包括:第三选择模块5331、显示模块5332、接收模块5333和调用模块5334。具体的,第三选择模块5331,与确定单元52连接,用于从OpenAPI等价集中随机选择初始OpenAPI;显示模块5332,与第三选择模块5331连接,用于通过调用界面向用户显示初始OpenAPI的参数列表;接收模块5333,用于接收用户通过调用界面提交的初始OpenAPI的参数信息;调用模块5334,与接收模块5333连接,用于根据参数信息向OpenAPI数据库调用初始OpenAPI。
[0115] 上述功能子单元或模块可用于执行图4所示方法流程,其工作原理不再赘述,详见图4所示方法实施例的描述。
[0116] 如图6所示,生成子单元531的一种实现结构包括:第一归一化模块5311、第二归一化模块5312和生成模块5313。具体的,第一归一化模块5311,与确定单元52连接,用于根据公式(1)对增量型Qos属性值进行归一化处理;第二归一化模块5312,与确定单元52连接,用于根据公式(2)对减量型Qos属性值进行归一化处理;生成模块5313,与第一归一化模块5311和第二归一化模块5312连接,用于根据公式(3)生成每个OpenAPI对应的用户适用度值。
[0117] 上述功能单元可用于执行图3A所示的部分方法流程,其工作原理不再赘述,详见图3A所示方法实施例的描述。
[0118] 本实施例的OpenAPI选择设备,通过上述各功能单元、子单元或模块,可以根据Qos属性值从众多功能等价的OpenAPI中选择出目标OpenAPI,解决了现有技术无法从众多功能等价的OpenAPI中选出性能较佳OpenAPI的问题,为用户选择性能较佳的OpenAPI,提高对用户的服务质量。
[0119] 图7为本发明实施例七提供的OpenAPI选择设备的结构示意图。本实施例基于图6所示实施例实现,如图7所示,本实施例的选择设备还包括:生成单元71。该生成单元71,用于在使用Qos属性值之前,生成每个OpenAPI对应的Qos属性值。
[0120] 如图7所示,生成单元71具体可以包括以下任一获取子单元或其组合:第一获取子单元711,用于检测调用每个OpenAPI的过程,获取每个OpenAPI对应的客观Qos属性值。第二获取子单元712,用于获取测试用户调用每个OpenAPI结束后反馈的主观Qos属性值。
[0121] 进一步,本实施例的选择设备还包括:存储单元72。该存储单元72,与第一获取子单元711和/或第二获取子单元712连接,用于将每个OpenAPI对应的客观Qos属性值和/或主观Qos值存储到Qos属性信息表中,并将每个OpenAPI对应的调用信息存储到调用记录表中。
[0122] 在上述各功能单元的基础上,选择设备还包括:加权处理单元73。该加权处理单元73,与存储单元72、第一获取子单元711和/或第二获取子单元712连接,用于在存储单元72将每个OpenAPI对应的客观Qos属性值和/或主观Qos值存储到Qos属性信息表中之前,根据公式(4)对客观Qos属性值和/或主观Qos属性值进行加权平均处理,并使存储单元72将加权平均处理后的客观Qos属性值和/或主观Qos属性值存储到Qos属性信息表中。
[0123] 上述各功能单元可用于执行上述方法实施例提供的生成Qos属性值的方法流程,其工作原理不再赘述,详见方法实施例的描述。
[0124] 更进一步,第一获取子单元711包括以下任一获取模块或其组合:第一获取模块7111,用于在调用过程中插入检测程序,由检测程序对由测试用户发起的调用每个OpenAPI的过程进行检测,并获取每个OpenAPI的客观Qos属性值。第二获取模块7112,用于在调用过程中插入检测程序,由检测程序对OpenAPI选择设备轮循调用每个OpenAPI的过程进行检测,并获取每个OpenAPI的客观Qos属性值。
[0125] 其中,当第一获取子单元711包括第二获取模块7112时,还包括:第三获取模块7113和指示模块7114。具体的,第三获取模块7113,用于获取OpenAPI选择设备的物理资源的平均使用状态。指示模块7114,与第三获取模块7113连接,用于在平均使用状态满足预设状态条件时,指示OpenAPI选择设备轮循调用每个OpenAPI,为第二获取模块7112提供基础。
[0126] 其中,第二获取子单元712具体用于获取测试用户通过评价界面返回的主观Qos属性值,评价界面是由OpenAPI选择设备或嵌入OpenAPI中的评价程序在调用OpenAPI的过程结束后提供给测试用户的,测试用户具体根据评价界面中OpenAPI的历史评价信息,对评价界面中的主观Qos属性列表中的主观Qos属性进行评价。
[0127] 上述各功能子单元或模块可用于执行上述方法实施例提供的生成Qos属性值的方法流程,其工作原理不再赘述,详见方法实施例的描述。
[0128] 本实施例的OpenAPI选择设备,通过上述各功能单元、子单元或模块来获取OpenAPI的Qos属性值,所获取的Qos属性值符合OpenAPI领域的需求,能够正确反映OpenAPI的性能差异,为OpenAPI选择设备选择OpenAPI提供了基础,从而能够在众多功能等价的OpenAPI中为用户选择出性能较佳的OpenAPI,解决了现有技术存在的问题,提高了OpenAPI对用户的服务质量。
[0129] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0130] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈