Api推荐方法及api推荐装置制造方法

文档序号:6624455阅读:190来源:国知局
Api推荐方法及api推荐装置制造方法
【专利摘要】本申请实施例公开了一种应用开发接口API推荐方法及推荐装置,所述方法包括:获取多个权限的安全风险聚类信息;确定所述多个权限中一应用程序已使用的一权限;根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;根据所述至少一权限确定至少一API。本申请实施例的一种可能的技术方案使得集成开发环境(IDE)可以基于安全风险因素给开发者提供可供选择的API,进而使得开发者可以快速准确的选择具有合适的安全风险的API。
【专利说明】API推荐方法及API推荐装置

【技术领域】
[0001] 本申请涉及一种数据处理方法,尤其涉及一种API推荐方法及API推荐装置。

【背景技术】
[0002] 近年来随着移动设备与移动互联网的高速发展,移动应用程序的数量出现了爆 炸式的增长。与此同时,移动应用程序的功能被极大的扩展,用以丰富和满足用户各种各 样的需求,例如:基于位置的服务(Location Based Services, LBS),基于社交平台的服务 (Social Networking Services, SNS),等等。事实上,这些丰富的功能依赖于各种用户数据 和设备的使用权限,例如位置访问权、通讯录访问权、短信访问权等等。这些访问权限的使 用,使得用户产生了对于自身隐私、安全的担心。
[0003] 丰富的API往往给应用程序的开发者带来困惑--不知道为了实现一个功能应该 使用哪些应用开发接口(Application Programming Interface, API)以达到更好的效果。 为了降低门槛,也为了开发者更高效的工作,开发平台提供者常常会在相应的开发环境中 提供基于如缀匹配的API提不/推荐等功能。


【发明内容】

[0004] 本申请的目的是:提供一种基于安全风险的API推荐技术。
[0005] 第一方面,本申请一个实施方案提供了一种API推荐方法,包括:
[0006] 获取多个权限的安全风险聚类信息;
[0007] 确定所述多个权限中一应用程序已使用的一权限;
[0008] 根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已 使用的权限相关的至少一权限;
[0009] 根据所述至少一权限确定至少一 API。
[0010] 第二方面,本申请一个实施方案提供了一种API推荐装置,包括:
[0011] 聚类信息获取模块,用于获取多个权限的安全风险聚类信息;
[0012] 已使用权限确定模块,用于确定所述多个权限中一应用程序已使用的一权限;
[0013] 相关权限确定模块,用于根据所述安全风险聚类信息和所述已使用的权限确定所 述多个权限中与所述已使用的权限相关的至少一权限;
[0014] API确定模块,用于根据所述至少一权限确定至少一 API。
[0015] 第三方面,本申请一个实施方案提供了一种电子设备,包括上面所述的API推荐 装直。
[0016] 本申请实施例的至少一个实施方案通过一应用程序中已使用的权限来找到与该 权限安全风险相似的权限,并根据这些安全风险相似的权限来对应用程序的开发者进行基 于安全风险的API推荐。使得集成开发环境(IDE)可以基于安全风险因素给开发者提供可 供选择的API,进而使得开发者可以快速准确的选择具有合适的安全风险的API。

【专利附图】

【附图说明】
[0017] 图1为本申请实施例的一种API推荐方法的流程图;
[0018] 图2为本申请实施例的一种API推荐方法获取安全风险聚类信息的流程图;
[0019] 图3为本申请实施例的一种API推荐方法中应用程序与权限的二部图示意图;
[0020] 图4为本申请实施例一种API推荐装置的结构示意框图;
[0021] 图5a为本申请实施例一种API推荐装置的聚类信息获取模块的结构示意框图;
[0022] 图5b为本申请实施例一种API推荐装置的聚类信息获取模块的结构示意框图;
[0023] 图5c为本申请实施例一种API推荐装置的权值确定子模块的结构示意框图;
[0024] 图5d和5e分别为本申请实施例两种API推荐装置的权限聚类单元的结构示意框 图;
[0025] 图6a为本申请实施例又一种API推荐装置的结构示意框图;
[0026] 图6b为本申请实施例一种API推荐装置的已使用权限确定模块的结构示意框 图;
[0027] 图6c分别为本申请实施例一种API推荐装置的API确定模块的结构示意框图;
[0028] 图7为本申请实施例一种电子设备的结构示意框图;
[0029] 图8为本申请实施例再一种API推荐装置的结构示意框图。

【具体实施方式】
[0030] 下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本申请的

【具体实施方式】作进一步详细说明。以下实施例用于说明本申请,但不用来限制本申请的范 围。
[0031] 本领域技术人员可以理解,本申请中的"第一"、"第二"等术语仅用于区别不同步 骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0032] 本申请发明人发现应用程序开发者在开发过程中选择API时还要考虑到用户对 安全风险方面的需求,因此,如图1所示,本申请实施例提供了一种API推荐方法,包括:
[0033] S110获取多个权限的安全风险聚类信息;
[0034] S120确定所述多个权限中一应用程序已使用的一权限;
[0035] S130根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所 述已使用的权限相关的至少一权限;
[0036] S140根据所述至少一权限确定至少一 API。
[0037] 举例来说,本发明提供的API推荐装置作为本实施例的执行主体,执行S110? S140。具体地,所述API推荐装置可以以软件、硬件或软硬件结合的方式设置在用户设备或 服务器设备中。
[0038] 本申请实施例的至少一个实施方案通过一应用程序中已使用的权限来找到与该 权限安全风险相似的权限,并根据这些安全风险相似的权限来对应用程序的开发者进行基 于安全风险的API推荐。使得IDE可以基于安全风险因素给开发者提供可供选择的API,进 而使得开发者可以快速准确的选择具有合适的安全风险的API。
[0039] 通过下面的实施方式进一步说明本申请方法的各步骤:
[0040] S110获取多个权限的安全风险聚类信息。
[0041] 在本申请实施例中,所述多个权限的安全风险聚类信息为基于安全风险对所述多 个权限进行聚类的信息,例如可以包括:多个安全风险分组,例如可以包括:高风险组、中 风险组、低风险组;每个安全风险分组中包括的一个或多个权限。其中,属于同一安全风险 组的多个权限的安全风险相同或相似。
[0042] 如图2所示,在本申请实施例一种可能的实施方式中,可以通过下面的方法来获 取所述安全风险聚类信息:
[0043] S111确定多个应用程序与所述多个权限之间的多个申请关系;其中,所述多个申 请关系中的每个申请关系对应于所述多个应用程序中的一应用程序申请所述多个权限中 的一权限;
[0044] S112确定所述多个申请关系中每个申请关系的权值;
[0045] S113根据所述每个申请关系的所述权值对所述多个权限进行安全风险聚类,得到 所述安全风险聚类信息。
[0046] 本实施方式中,可以通过图2所示的安全风险聚类方法来对多个权限进行安全风 险聚类,使得安全风险相似的权限被归为同一安全风险分组中,便于后续步骤基于安全风 险对所述多个权限进行的处理。
[0047] 如图3所示,在本申请实施例中,发明人考虑到应用程序和权限的特性,提出了基 于二部图的模型,来确定应用程序与权限之间的关系。其中,将多个应用程序作为二部图中 的第一组节点,将多个权限作为二部图中的第二组节点,两组节点之间的连接由应用程序 与权限的申请关系确定,即,当且仅当一应用程序申请了一权限时,所述应用程序与所述权 限之间具有申请关系,建立有连接。
[0048] 下面结合图3所示的二部图进一步说明本申请实施例的步骤S111?S113 :
[0049] 在本申请实施例中,通过图3所示的二部图表示本申请实施例多个应用程序与多 个权限之间的关系,其中所述二部图G可以表示为:G= {V,E,W},其中,
[0050] V 为节点集,有 V = {Va,Vp},
[0051] Va为应用程序集,包括所述多个应用程序ai?a M,即Va = {叫,· · ·,aM},Μ为所 述多个应用程序的个数,为正整数;
[0052] Vp为权限集,包括所述多个权限Pi?ρΝ,即V p = {ρρ · · ·,ρΝ} ;Ν为所述多个权 限的个数,为正整数;
[0053] Ε为申请关系集,其中,当且仅当所述多个应用程序中的一应用程序%申请了所述 多个权限中的一权限h时,存在一申请关系e E ;
[0054] W为权值集,一权值Wij e W表示所述申请关系eij的权值。
[0055] 如图2所示的实施方式中,二部图包括4个应用程序?a4,3个权限Pl?p 3, (在图2所示实施例中,所述应用程序ai?a4分别为:愤怒的小鸟(游戏类)、切水果(游 戏类)、脸谱(社交类)以及麦块(游戏类);所述权限pl为读取手机状态、权限P2为访问 精确位置、权限P3表示读取联系人);申请关系集包含8个申请关系(图2中通过应用程序 与权限之间的连线表示):e n,e12, e21,e22, e32, e33, e42以及e43,它们分别对应的权值为0. 3, 0· 7,0· 2,0· 8,0· 5,0· 5,0· 4 以及 0· 6。
[0056] 本申请实施例中,所述权值Wij表示所述应用程序ai与所述权限Pj的相关性。在 一种可能的实施方式中,所述权值表示所述应用程序%申请所述权限?的概率。这里 应用程序%申请权限h的概率指的是,在确定所述应用程序%申请了哪些权限之前,其申 请权限h的可能性。例如,对于图2中的申请关系ell来说,0. 3表示应用程序申请权 限Pi的概率为0.3。
[0057] 当然,在其它可能的实施方式中,所述权值还可以根据其它依据确定,来表示应用 程序与权限之间的相关程度,特别的,在一种可能的实施方式中,可以根据用户的设定指令 确定所述权值。
[0058] 如上面所述的,在本申请实施例一种可能的实施方式中,所述步骤S112在确定所 述权值时,可以根据所述每个申请关系对应的所述应用程序申请所述权限的概率确定所述 每个申请关系的权值。
[0059] 在本申请实施例中,可以根据历史数据获取所述概率。可选地,在一种可能的实施 方式中,可以根据所述每个申请关系对应的所述应用程序所属的一应用分类中所有应用程 序的权限申请历史数据确定对应的所述权值。在本实施方式中,所述应用分类可以是根据 所述应用程序的功能划分的分类,例如游戏、办公、地图等;还可以是根据应用程序的开发 商进行的分类,或者还可以是根据应用程序其它方面的相似性等进行的聚类分类等等。当 然,本领域的技术人员可以知道,所述应用分类还可以是其它的分类标准进行的分类。
[0060] 可选地,在本申请实施例一种可能的实施方式中,可以根据所述应用程序所属的 所述应用分类中所有应用程序申请所述权限的频率与所述所有应用程序分别申请所述多 个权限的多个频率之和的比值得到所述权值。可以通过下面的公式表示:
[0061]

【权利要求】
1. 一种应用开发接口 API推荐方法,其特征在于,包括: 获取多个权限的安全风险聚类信息; 确定所述多个权限中一应用程序已使用的一权限; 根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用 的权限相关的至少一权限; 根据所述至少一权限确定至少一 API。
2. 如权利要求1所述的方法,其特征在于,所述根据所述至少一权限确定所述至少一 API包括: 根据所述至少一权限与多个API之间的一对应关系,在所述多个API中确定所述至少 一 API。
3. 如权利要求2所述的方法,其特征在于,所述方法还包括: 获取所述对应关系。
4. 如权利要求1所述的方法,其特征在于,根据所述安全风险聚类信息和所述已使用 的权限确定所述至少一权限包括: 根据所述安全风险聚类信息确定所述已使用的权限所属的一安全风险聚类分组; 根据所述安全风险分组确定所述至少一权限。
5. 如权利要求1所述的方法,其特征在于,获取所述多个权限的安全风险聚类信息包 括: 确定多个应用程序与所述多个权限之间的多个申请关系;其中,所述多个申请关系 中的每个申请关系对应于所述多个应用程序中的一应用程序申请所述多个权限中的一权 限; 确定所述多个申请关系中每个申请关系的权值; 根据所述每个申请关系的所述权值对所述多个权限进行安全风险聚类,得到所述安全 风险聚类信息。
6. 如权利要求5所述的方法,其特征在于,确定所述权值包括: 根据所述每个申请关系对应的所述应用程序申请所述权限的概率确定所述每个申请 关系的权值。
7. 如权利要求5所述的方法,其特征在于,确定所述权值包括: 根据所述每个申请关系对应的所述应用程序所属的一应用分类中所述所有应用程序 申请所述权限的频率与所述所有应用程序分别申请所述多个权限的多个频率之和的比值 得到所述权值。
8. 如权利要求5所述的方法,其特征在于,根据所述权值对所述多个权限进行安全风 险聚类包括: 获取与所述多个权限一一对应的多个权值向量; 根据所述多个权值向量对所述多个应用程序进行安全风险聚类; 其中,所述多个权值向量中的每个权值向量中包含与所述多个应用程序一一对应的多 个元素,其中,对于每个权值向量: 对应于与所述权值向量对应的权限与所述多个应用程序中的一应用程序之间有申请 关系,所述权值向量中与所述应用程序对应的元素为所述申请关系的权值; 对应于与所述权值向量对应的权值与所述多个应用程序中的一应用程序之间没有申 请关系,所述权值向量中与所述应用程序对应的元素为0。
9. 如权利要求8所述的方法,其特征在于,所述根据所述多个权值向量对所述多个权 限进行安全风险聚类包括: 根据所述多个权限中两个权限分别对应的权值向量的相似度来对所述多个权限进行 安全风险聚类。
10. 如权利要求8所述的方法,其特征在于,所述根据所述多个权值向量对所述多个权 限进行安全风险聚类包括: 通过基于距离的聚类算法对所述多个权值向量进行聚类,进而确定所述多个权限的安 全风险聚类。
11. 如权利要求5所述的方法,其特征在于,所述方法还包括:存储所述安全风险聚类 信息。
12. -种应用开发接口 API推荐装置,其特征在于,包括: 聚类信息获取模块,用于获取多个权限的安全风险聚类信息; 已使用权限确定模块,用于确定所述多个权限中一应用程序已使用的一权限; 相关权限确定模块,用于根据所述安全风险聚类信息和所述已使用的权限确定所述多 个权限中与所述已使用的权限相关的至少一权限; API确定模块,用于根据所述至少一权限确定至少一 API。
13. 如权利要求12所述的装置,其特征在于,API确定模块包括: API确定子模块,用于根据所述至少一权限与多个API之间的一对应关系,在所述多个 API中确定所述至少一 API。
14. 如权利要求13所述的装置,其特征在于,所述API确定模块还包括: 对应关系获取子模块,用于获取所述对应关系。
15. 如权利要求12所述的装置,其特征在于,所述相关权限确定模块包括: 安全风险分组确定子模块,用于根据所述安全风险聚类信息确定所述已使用的权限所 属的一安全风险分组; 相关权限确定子模块,用于根据所述安全风险分组确定所述至少一权限。
16. 如权利要求12所述的装置,其特征在于,所述聚类信息获取模块包括: 申请关系确定子模块,用于确定多个应用程序与所述多个权限之间的多个申请关系; 其中,所述多个申请关系中的每个申请关系对应于所述多个应用程序中的一应用程序申请 所述多个权限中的一权限; 权值确定子模块,用于确定所述多个申请关系中每个申请关系的权值; 聚类信息获取子模块,用于根据所述每个申请关系的所述权值对所述多个权限进行安 全风险聚类,得到所述安全风险聚类信息。
17. 如权利要求16所述的装置,其特征在于,所述权值确定子模块包括: 第一权值确定单元,用于根据所述每个申请关系对应的所述应用程序申请所述权限的 概率确定所述每个申请关系的权值。
18. 如权利要求16所述的装置,其特征在于,所述权值确定子模块包括: 第二权值确定单元,用于根据所述每个申请关系对应的所述应用程序所属的一应用分 类中所述所有应用程序申请所述权限的频率与所述所有应用程序分别申请所述多个权限 的多个频率之和的比值得到所述权值。
19. 如权利要求16所述的装置,其特征在于,所述聚类信息获取子模块包括: 权值向量获取单兀,用于获取与所述多个权限 对应的多个权值向量; 权限聚类单元,用于根据所述多个权值向量对所述多个应用程序进行安全风险聚类; 其中,所述多个权值向量中的每个权值向量中包含与所述多个应用程序一一对应的多 个元素,其中,对于每个权值向量: 对应于与所述权值向量对应的权限与所述多个应用程序中的一应用程序之间有申请 关系,所述权值向量中与所述应用程序对应的元素为所述申请关系的权值; 对应于与所述权值向量对应的权值与所述多个应用程序中的一应用程序之间没有申 请关系,所述权值向量中与所述应用程序对应的元素为0。
20. 如权利要求19所述的装置,其特征在于,所述权限聚类单元包括: 第一聚类子单元,用于根据所述多个权限中两个权限分别对应的权值向量的相似度来 对所述多个权限进行安全风险聚类。
21. 如权利要求19所述的装置,其特征在于,所述权限聚类单元包括: 第二聚类子单元,用于通过基于距离的聚类算法对所述多个权值向量进行聚类,进而 确定所述多个权限的安全风险聚类。
22. 如权利要求16所述的装置,其特征在于,所述装置还包括: 存储模块,用于存储所述安全风险聚类信息。
23. -种电子设备,其特征在于,包括权利要求12-22中任一项所述的应用开发接口 API推荐装置。
【文档编号】G06F17/30GK104156468SQ201410419262
【公开日】2014年11月19日 申请日期:2014年8月22日 优先权日:2014年8月22日
【发明者】于魁飞 申请人:北京智谷睿拓技术服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1