CN104156467A - Api推荐方法及api推荐装置 - Google Patents
Api推荐方法及api推荐装置 Download PDFInfo
- Publication number
- CN104156467A CN104156467A CN201410418948.9A CN201410418948A CN104156467A CN 104156467 A CN104156467 A CN 104156467A CN 201410418948 A CN201410418948 A CN 201410418948A CN 104156467 A CN104156467 A CN 104156467A
- Authority
- CN
- China
- Prior art keywords
- authority
- application
- application program
- api
- weights
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000011161 development Methods 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 73
- 230000006870 function Effects 0.000 abstract description 16
- 239000008186 active pharmaceutical agent Substances 0.000 abstract 7
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 7
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 7
- 102100021662 Baculoviral IAP repeat-containing protein 3 Human genes 0.000 description 7
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 7
- 101000896224 Homo sapiens Baculoviral IAP repeat-containing protein 3 Proteins 0.000 description 7
- 102100037024 E3 ubiquitin-protein ligase XIAP Human genes 0.000 description 5
- 101000804865 Homo sapiens E3 ubiquitin-protein ligase XIAP Proteins 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 102100021663 Baculoviral IAP repeat-containing protein 5 Human genes 0.000 description 3
- 101000896234 Homo sapiens Baculoviral IAP repeat-containing protein 5 Proteins 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 2
- 102100039986 Apoptosis inhibitor 5 Human genes 0.000 description 1
- 101000959871 Homo sapiens Apoptosis inhibitor 5 Proteins 0.000 description 1
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种应用开发接口API推荐方法及推荐装置,所述方法包括:获取多个权限的安全风险聚类信息;确定所述多个权限中一应用程序已使用的一权限;根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;根据所述至少一权限确定至少一API。本申请实施例的至少一个实施方案使得集成开发环境可以基于安全风险和功能因素给开发者提供可供选择的API,进而使得开发者可以快速准确的选择具有合适的安全风险和功能的API。
Description
技术领域
本申请涉及一种数据处理方法,尤其涉及一种API推荐方法及API推荐装置。
背景技术
近年来随着移动设备与移动互联网的高速发展,移动应用程序的数量出现了爆炸式的增长。与此同时,移动应用程序的功能被极大的扩展,用以丰富和满足用户各种各样的需求,例如:基于位置的服务(Location Based Services,LBS),基于社交平台的服务(SocialNetworking Services,SNS),等等。事实上,这些丰富的功能依赖于各种用户数据和设备的使用权限,例如位置访问权、通讯录访问权、短信访问权等等。这些访问权限的使用,使得用户产生了对于自身隐私、安全的担心。
丰富的API往往给应用程序的开发者带来困惑——不知道为了实现一个功能应该使用哪些应用开发接口(Application ProgrammingInterface,API)以达到更好的效果。为了降低门槛,也为了开发者更高效的工作,集成开发环境提供者常常会在相应的开发环境中提供基于前缀匹配的API提示/推荐等功能。
发明内容
本申请的目的是:提供一种基于安全风险的API推荐技术。
第一方面,本申请一个实施方案提供了一种API推荐方法,包括:
获取多个权限的安全风险聚类信息;
确定所述多个权限中一应用程序已使用的一权限;
根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
根据所述至少一权限确定至少一API。
第二方面,本申请一个实施方案提供了一种API推荐装置,包括:
聚类信息获取模块,用于获取多个权限的安全风险聚类信息;
已使用权限确定模块,用于确定所述多个权限中一应用程序已使用的一权限;
相关权限确定模块,用于根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
API确定模块,用于根据所述至少一权限确定至少一API。
第三方面,本申请一个实施方案提供了一种电子设备,包括上面所述的API推荐装置。
本申请实施例的至少一个实施方案通过一应用程序中已使用的权限来找到与该权限安全风险相似的权限,并根据这些安全风险相似的权限来得到相关的应用程序所使用的API,进而对应用程序的开发者进行基于安全风险的API推荐。使得集成开发环境可以基于安全风险和功能因素给开发者提供可供选择的API,进而使得开发者可以快速准确的选择具有合适的安全风险和功能的API。
附图说明
图1为本申请实施例的一种API推荐方法的流程图;
图2为本申请实施例的一种API推荐方法获取安全风险聚类信息的流程图;
图3a为本申请实施例的一种API推荐方法中应用程序与权限的二部图示意图;
图3b为本申请实施例一种API推荐方法的应用场景示意图;
图4为本申请实施例一种API推荐装置的结构示意框图;
图5a为本申请实施例一种API推荐装置的聚类信息获取模块的结构示意框图;
图5b为本申请实施例一种API推荐装置的聚类信息获取模块的结构示意框图;
图5c为本申请实施例一种API推荐装置的权值确定子模块的结构示意框图;
图5d和5e分别为本申请实施例两种API推荐装置的权限聚类单元的结构示意框图;
图6a为本申请实施例又一种API推荐装置的结构示意框图;
图6b为本申请实施例一种API推荐装置的已使用权限确定模块的结构示意框图;
图6c为本申请实施例一种API推荐装置的API确定模块的结构示意框图;
图6d为本申请实施例一种API推荐装置的API确定子模块的结构示意框图;
图7为本申请实施例一种电子设备的结构示意框图;
图8为本申请实施例再一种API推荐装置的结构示意框图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本申请的具体实施方式作进一步详细说明。以下实施例用于说明本申请,但不用来限制本申请的范围。
本领域技术人员可以理解,本申请中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
本申请发明人发现应用程序开发者在开发过程中选择API时还要考虑到用户对安全风险方面的需求,因此,如图1所示,本申请实施例提供了一种API推荐方法,包括:
S110获取多个权限的安全风险聚类信息;
S120确定所述多个权限中一应用程序已使用的一权限;
S130根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
S140根据所述至少一权限确定至少一API。
举例来说,本发明提供的API推荐装置作为本实施例的执行主体,执行S110~S140。具体地,所述API推荐装置可以以软件、硬件或软硬件结合的方式设置在用户设备或服务器设备中。
本申请实施例的至少一个实施方案通过一应用程序中已使用的权限来找到与该权限安全风险相似的权限,并根据这些安全风险相似的权限来得到相关的应用程序所使用的API,进而对应用程序的开发者进行基于安全风险的API推荐。使得集成开发环境可以基于安全风险和功能因素给开发者提供可供选择的API,进而使得开发者可以快速准确的选择具有合适的安全风险和功能的API。
通过下面的实施方式进一步说明本申请方法的各步骤:
S110获取多个权限的安全风险聚类信息。
在本申请实施例中,所述多个权限的安全风险聚类信息为基于安全风险对所述多个权限进行聚类的信息,例如可以包括:多个安全风险分组,例如可以包括:高风险组、中风险组、低风险组;每个安全风险分组中包括的一个或多个权限。其中,属于同一安全风险组的多个权限的安全风险相同或相似。
如图2所示,在本申请实施例一种可能的实施方式中,可以通过下面的方法来获取所述安全风险聚类信息:
S111确定多个应用程序与所述多个权限之间的多个申请关系;其中,所述多个申请关系中的每个申请关系对应于所述多个应用程序中的一应用程序申请所述多个权限中的一权限;
S112确定所述多个申请关系中每个申请关系的权值;
S113根据所述每个申请关系的所述权值对所述多个权限进行安全风险聚类,得到所述安全风险聚类信息。
本实施方式中,通过图2所示的安全风险聚类方法来对多个权限进行安全风险聚类,使得安全风险相似的权限被归为同一安全风险分组中,便于后续步骤基于安全风险对所述多个权限进行的处理。
如图3a所示,在本申请实施例中,发明人考虑到应用程序和权限的特性,提出了基于二部图的模型,来确定应用程序与权限之间的关系。其中,将多个应用程序作为二部图中的第一组节点,将多个权限作为二部图中的第二组节点,两组节点之间的连接由应用程序与权限的申请关系确定,即,当且仅当一应用程序申请了一权限时,所述应用程序与所述权限之间具有申请关系,建立有连接。
下面结合图3a所示的二部图进一步说明本申请实施例的步骤S111~S113:
在本申请实施例中,通过图3a所示的二部图表示本申请实施例多个应用程序与多个权限之间的关系,其中所述二部图G可以表示为:G={V,E,W},其中,
V为节点集,有V={Va,Vp},
Va为应用程序集,包括所述多个应用程序a1~aM,即Va={a1,···,aM},M为所述多个应用程序的个数,为正整数;
Vp为权限集,包括所述多个权限p1~pN,即Vp={p1,···,pN};N为所述多个权限的个数,为正整数;
E为申请关系集,其中,当且仅当所述多个应用程序中的一应用程序ai申请了所述多个权限中的一权限pj时,存在一申请关系eij∈E;
W为权值集,一权值wij∈W表示所述申请关系eij的权值。
如图2所示的实施方式中,二部图包括4个应用程序a1~a4,3个权限p1~p3,(在图2所示实施例中,所述应用程序a1~a4分别为:愤怒的小鸟(游戏类)、切水果(游戏类)、脸谱(社交类)以及麦块(游戏类);所述权限p1为读取手机状态、权限p2为访问精确位置、权限p3表示读取联系人);申请关系集包含8个申请关系(图2中通过应用程序与权限之间的连线表示):e11,e12,e21,e22,e32,e33,e42以及e43,它们分别对应的权值为0.3,0.7,0.2,0.8,0.5,0.5,0.4以及0.6。
本申请实施例中,所述权值wij表示所述应用程序ai与所述权限pj的相关性。在一种可能的实施方式中,所述权值wij表示所述应用程序ai申请所述权限pj的概率。这里应用程序ai申请权限pj的概率指的是,在确定所述应用程序ai申请了哪些权限之前,其申请权限pj的可能性。例如,对于图2中的申请关系e11来说,0.3表示应用程序a1申请权限p1的概率为0.3。
当然,在其它可能的实施方式中,所述权值还可以根据其它依据确定,来表示应用程序与权限之间的相关程度,特别的,在一种可能的实施方式中,可以根据用户的设定指令确定所述权值。
如上面所述的,在本申请实施例一种可能的实施方式中,所述步骤S112在确定所述权值时,可以根据所述每个申请关系对应的所述应用程序申请所述权限的概率确定所述每个申请关系的权值。
在本申请实施例中,可以根据历史数据获取所述概率。可选地,在一种可能的实施方式中,可以根据所述每个申请关系对应的所述应用程序所属的一应用分类中所有应用程序的权限申请历史数据确定对应的所述权值。在本实施方式中,所述应用分类可以是根据所述应用程序的功能划分的分类,例如游戏、办公、地图等;还可以是根据应用程序的开发商进行的分类,或者还可以是根据应用程序其它方面的相似性等进行的聚类分类等等。当然,本领域的技术人员可以知道,所述应用分类还可以是其它的分类标准进行的分类。
可选地,在本申请实施例一种可能的实施方式中,可以根据所述应用程序所属的所述应用分类中所有应用程序申请所述权限的频率与所述所有应用程序分别申请所述多个权限的多个频率之和的比值得到所述权值。可以通过下面的公式表示:
其中fij表示所述应用程序ai所属的所述应用分类中的应用程序申请权限pj的频率。
在本申请实施例一种可能的实施方式中,为了得到归一化的频率,可以通过所述应用分类中申请了一权限的应用程序的数量与该应用分类中所有应用程序的比值得到所述权限对应的所述频率。当然,在本申请实施例其它可能的实施方式中,还可以通过其它方式确定所述频率。
在本申请实施例其它可能的实施方式中,除了上述根据权限的申请频率确定所述每个申请关系的权值外,还可以根据其它参数确定所述权值,例如外部的先验知识,所述先验知识例如可以为本领域专家的意见、其它方法计算出了应用程序与权限之间的相关值等。
可以看出,通过本发明实施例上面的实施方案,可以对多个权限进行基于安全风险的聚类,将安全风险相似的权限划分在同一安全风险分组中,方便用户或应用平台基于安全风险对权限进行后续操作。
可选地,在一种可能的实施方式中,所述步骤S113包括:
获取与所述多个权限一一对应的多个权值向量;
根据所述多个权值向量对所述多个应用程序进行安全风险聚类。
其中,所述多个权值向量中的每个权值向量中包含与所述多个应用程序一一对应的多个元素,对于每个权值向量:
对应于与所述权值向量对应的权限与所述多个应用程序中的一应用程序之间有申请关系,所述权值向量中与所述应用程序对应的元素为所述申请关系的权值;
对应于与所述权值向量对应的权值与所述多个应用程序中的一应用程序之间没有申请关系,所述权值向量中与所述应用程序对应的元素为0。
可以看出,得到的所述多个权值向量中相同位置的元素对应于同一应用程序,例如,所有权值向量的第一个元素对应于第一个应用程序、第二个元素对应于第二个应用程序…最后一个元素对应于最后一个应用程序。
例如:一权限pi对应的权值向量表示为其中,所述权值向量包含M个元素,依次分别对应于M个应用程序,其中,当一应用程序申请所述权限pi时,对应的元素为所述应用程序与所述权限pi的申请关系的权值;当一应用程序没有申请所述权限pi时,用0代替该元素(此时可以看成所述应用程序申请所述权限的权值为0);权限pj表示为
例如,图3a所示的实施例中,权限p1对应的向量 这里的两个0分别表示应用程序a3和a4没有申请权限p1;权限p2对应的向量 权限p3对应的向量
可选地,在一种可能的实施方式中,可以根据所述多个权限中两个权限分别对应的权值向量的相似度来对所述多个权限进行安全风险聚类。例如,在所述多个权限中一些权限的安全风险已知的情况下,根据其它权限与这些权限的相似度,可以对所述其它权限进行聚类,进而可以估算该安全风险分组中其它权限的安全风险。
可选地,在一种可能的实施方式中,可以通过两个权限对应的权值向量的余弦距离来确定这两个权限的相似度:
同样的,本领域的技术人员可以知道,其它用于表示两个向量之间相似度的方法也可以用于本申请实施例确定两个权限的相似程度,例如通过两个向量之间的欧式距离或KL距离(Kullback-LeiblerDivergence)等来确定所述两个向量的相似度。
可选地,在另一种可能的实施方式中,所述步骤S113在获取了所述多个权限分别对应的多个权值向量之后,可以通过基于距离的聚类算法对所述多个权值向量进行聚类,进而确定所述多个权限的安全风险聚类。
例如,在一种可能的实施方式中,可以将每个权值向量看成是多维空间中的点(所述多维空间的维度与所述权值向量中的元素个数相等),通过基于距离的聚类算法,例如通过K-means聚类算法可以对所述多个权值向量进行聚类。当然,本领域技术人员可以知道,其它用于向量的聚类算法也可以应用在本申请实施例中对所述多个权值向量进行聚类,进而对所述多个权限进行聚类。
本领域的技术人员可以知道,上面所述的距离为两个向量之间的距离,例如上面所述的余弦距离、欧式距离等等。
可以看出,通过本发明实施例上面的实施方案,可以对多个权限进行基于安全风险的聚类,将安全风险相似的权限划分在同一权限安全风险分组中,方便用户或开发者基于安全风险对权限进行后续操作。
在本实施方式中,所述方法还可以包括:存储所述安全风险聚类信息。
当然,可选地,本领域技术人员可以知道,在一种可能的实施方式中,在所述安全风险聚类信息已经通过其它步骤或设备等获得的情况下,所述步骤S110还可以为从存储设备读取存储的所述安全风险聚类信息。
S120确定所述多个权限中一应用程序已使用的一权限。
在本申请实施例一种可能的应用场景中,步骤S120中所述应用程序可以为一开发中的应用程序,开发者在开发该应用程序时需要选择使用合适的API。
在该应用场景的一种可能的实施方式中,获取所述已使用的权限包括:
读取当前正在开发的应用程序的配置文件,从相应的权限申请段中获取应用正在使用的权限。
或者,在另一可能的实施方式中,通过检测当前应用程序已经使用的至少一个API,再根据所述至少一个API获得相对应的权限。
在本申请实施例另一种可能的应用场景中,开发者需要基于一已有应用程序开发一新的应用程序,例如对一已有应用程序进行下一版本的开发,此时步骤S120中所述应用程序也可以为所述已有应用程序。
S130根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限。
如上面所述的,所述安全风险聚类信息包括所述多个权限各自所属的安全风险分组。
在一种可能的实施方式中,所述步骤S130可以包括:
根据所述安全风险聚类信息确定所述已使用的权限所属的一安全风险聚类分组;
根据所述安全风险分组确定所述至少一权限。
在本申请实施例一种可能的实施方式中,所述至少一权限可以为所述安全风险分组中所有的权限,即包括所述已使用的权限。在另一种可能的实施方式中,所述至少一权限可以为所述安全风险分组中除了所述已使用的权限以外的其它权限。
S140根据所述至少一权限确定至少一API。
在本申请实施例中,所述步骤S140包括:
确定与所述至少一权限相关的至少一应用程序,其中,所述至少一应用程序中的每个应用程序申请所述至少一权限中的至少一权限;
获取所述至少一应用程序使用的至少一候选API;
根据设定的至少一确定标准在所述至少一候选API中确定所述至少一API。
在本申请实施例一种可能的实施方式中,所述至少一候选API可以为所述至少一应用程序使用的所有API。
在另一种可能的实施方式中,所述根据设定的至少一确定标准在所述至少一候选API中确定所述至少一API包括:
获取所述至少一应用程序中的每个应用程序与所述至少一候选API中每个API之间的API使用权值;
获取所述至少一应用程序中的每个应用程序申请所述至少一权限中每个权限的申请关系的权值;
根据所述API使用权值和所述申请关系的所述权值得到所述至少一候选API中每个API的推荐值;
根据所述推荐值确定所述至少一API。
在一种可能的实施方式中,一应用程序与一API之间的API使用权值例如可以通过该应用程序使用了几个API获得,例如,若一个应用程序使用了K个API,则该应用程序与该K个API之间的K个API使用权值皆为1/K。当然,本领域的技术人员可以知道,其它可能的应用程序与API之间的关系对应的值也可以作为所述API使用权值。
在一种可能的实施方式中,可以通过本地分析或者读取获得所述API使用权值,在其它可能的实施方式中,还可以从至少一外部设备获得所述API使用权值。
在一种可能的实施方式中,一应用程序与一权限的申请关系的权值例如可以采用图2和图3a所示实施例中获取的应用程序与权限之间申请关系的权值。
在一种可能的实施方式中,根据所述API使用权值和所述申请关系的权值得到所述每个API的推荐值例如可以为:使用该API的所有应用程序中,获取每个应用程序与所述至少一权限之间对应的申请关系的权值之和与该应用程序与API使用权值之间的乘积,再获得使用该API的所有应用程序的上述乘积之和,具体参见下面针对图3b所示实施例中对应的描述。
在本实施方式中,根据所述推荐值确定所述至少一API例如可以为:根据所述推荐值对所述至少一候选API进行排序,取排名前N位的N个候选API作为所述至少一API;或者,还可以将推荐值超过一设定推荐阈值的至少一候选API作为所述至少一API。
当然,本领域的技术人员可以知道,还可以根据其它确定标准来确定所述至少一API。例如,在本申请实施例一种可能的实施方式中,所述至少一确定标准例如可以为,所述至少一API为所述至少一候选API。
以图3b所示的应用场景为例,例如,与权限p1相关的至少一应用程序为应用程序a1和应用程序a2;与权限p1和权限p2相关的至少一应用程序为应用程序a1至应用程序a4。
在本实施方式中,例如,所述至少一权限为图3b所示的四个权限:权限p1至权限p4;图3b中只有四个应用程序申请了所述四个权限中的至少一一权限,因此,与所述四个权限相关的应用程序为图3b所示的四个应用程序:应用程序a1至应用程序a4;由图3b可以看出,该四个应用程序使用了五个API,分别为:API1~API5。
在本实施方式中,所述应用程序a1具有与权限p1和权限p2之间的两个申请关系,对应的权值分别为0.3和0.7,因此,应用程序a1的权值之和为1。同样可以得到应用程序a2的权值之和为0.6;应用程序a3的权值之和为0.6;应用程序a4的权值之和为0.4。
应用程序a1使用了两个API:API1和API2,因此应用程序a1与API1和API2之间的API使用权值分别为1/2;同样,应用程序a2与API1、API2以及API3之间的使用权值为1/3;应用程序a3与API2、API3以及API4之间的使用权值为1/3;应用程序a4与API3以及API4之间的使用权值为1/2。
因此,可以计算API1的推荐值为:1(应用程序a1的权值之和)与1/2(应用程序a1与API1之间的API使用权值)的乘积加上0.6(应用程序a2的权值之和)与1/3(应用程序a2与API1之间的API使用权值)的乘积=0.7。同样可以得到:
API2的推荐值=1/2+0.6/3+0.6/3=0.9;
API3的推荐值=0.6/3=0.2;
API4的推荐值=0.6/3+0.4/2=0.4。
可以看出API2的推荐值最高,API3的推荐值最低。如果只推荐推荐值最高的API,则本实施方式中所述至少一API为所述API2。
在另一种可能的实施方式中,还可以根据一排序标准对所述至少一API进行排序,以作为其出现在一推荐列表中的顺序。例如,以所述推荐值的大小进行排序。
本领域技术人员可以理解,在本申请具体实施方式的上述方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请具体实施方式的实施过程构成任何限定。
如图4所示,本申请实施例一种可能的实施方式提供了一种应用开发接口API推荐装置400,包括:
聚类信息获取模块410,用于获取多个权限的安全风险聚类信息;
已使用权限确定模块420,用于确定所述多个权限中一应用程序已使用的一权限;
相关权限确定模块430,用于根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
API确定模块440,用于根据所述至少一权限确定至少一API。
本申请实施例的至少一个实施方案通过一应用程序中已使用的权限来找到与该权限安全风险相似的权限,并根据这些安全风险相似的权限来得到相关的应用程序所使用的API,进而对应用程序的开发者进行基于安全风险的API推荐。使得集成开发环境可以基于安全风险和功能因素给开发者提供可供选择的API,进而使得开发者可以快速准确的选择具有合适的安全风险和功能的API。
通过下面的实施方式进一步说明本申请实施例的各模块。
在本申请实施例一种可能的实施方式中,所述聚类信息获取模块410获取的所述多个权限的安全风险聚类信息为基于安全风险对所述多个权限进行聚类的信息,例如可以包括:多个安全风险分组,例如可以包括:高风险组、中风险组、低风险组;每个安全风险分组中包括的一个或多个权限。其中,属于同一安全风险组的多个权限的安全风险相同或相似。
如图5a所示,在本申请实施例一种可能的实施方式中,所述聚类信息获取模块410包括:
申请关系确定子模块411,用于确定多个应用程序与所述多个权限之间的多个申请关系;其中,所述多个申请关系中的每个申请关系对应于所述多个应用程序中的一应用程序申请所述多个权限中的一权限;
权值确定子模块412,用于确定所述多个申请关系中每个申请关系的权值;
聚类信息获取子模块413,用于根据所述每个申请关系的所述权值对所述多个权限进行安全风险聚类,得到所述安全风险聚类信息。
本申请实施例的所述申请关系确定子模块411通过基于一二部图的模型确定所述多个应用程序和多个权限之间的关系。具体参见图2所示方法实施例中对应的描述。
在本申请实施例一种可能的实施方式中,对于所述多个应用程序与多个权限之间的多个申请关系以及每个申请关系对应的权值的进一步描述参见上述方法实施例中对图3a所示实施方式的描述,这里不再赘述。
在本申请实施例中,所述申请关系的权值对应于所述申请关系对应的应用程序与权限之间的相关性,一般来说,所述相关性越强,所述权值的大小越大。因此,所述权值确定子模块412根据所述应用程序与权值之间的相关性就可以确定所述权值的大小。
在一种可能的实施方式中,可以通过所述应用程序申请所述权限的概率的大小来获得所述相关性。当然,本领域的技术人员可以知道,在其它可能的实施方式中,除了所述概率外,还可以通过其它方式确定所述应用程序与权限之间的相关性。
可选地,如图5b所示,在一种可能的实施方式中,所述权值确定子模块412包括:
第一权值确定单元4121,用于根据所述每个申请关系对应的所述应用程序申请所述权限的概率确定所述每个申请关系的权值。
在本申请实施例一种可能的实施方式中,可以根据历史数据获取所述概率。例如,如图5c所示,在一种可能的实施方式中,所述权值确定子模块412包括:
第二权值确定单元4122,用于根据所述每个申请关系对应的所述应用程序所属的一应用分类中所述所有应用程序申请所述权限的频率与所述所有应用程序分别申请所述多个权限的多个频率之和的比值得到所述权值。具体参见图3a所示方法实施例中对应的描述。
在本申请实施例一种可能的实施方式中,为了得到归一化的频率,可以通过所述应用分类中申请了一权限的应用程序的数量与该应用分类中所有应用程序的比值得到所述权限对应的所述频率。当然,在本申请实施例其它可能的实施方式中,还可以通过其它方式确定所述频率。
在本实施方式中,所述应用分类可以是根据应用程序的功能划分的分类,例如游戏、办公、地图等;还可以是根据应用程序的开发商进行的分类,或者还可以是根据应用程序其它方面的相似性等进行的聚类分类等等。当然,本领域的技术人员可以知道,所述应用分类还可以是以其它的分类标准进行的分类。
如图5b所示,在一种可能的实施方式中,所述聚类信息获取子模块413包括:
权值向量获取单元4131,用于获取与所述多个权限一一对应的多个权值向量;
其中,所述多个权值向量中的每个权值向量中包含与所述多个应用程序一一对应的多个元素,其中,对于每个权值向量:
对应于与所述权值向量对应的权限与所述多个应用程序中的一应用程序之间有申请关系,所述权值向量中与所述应用程序对应的元素为所述申请关系的权值;
对应于与所述权值向量对应的权值与所述多个应用程序中的一应用程序之间没有申请关系,所述权值向量中与所述应用程序对应的元素为0。
在本实施方式中,所述聚类信息获取子模块413还包括:
权限聚类单元4132,用于根据所述多个权值向量对所述多个应用程序进行安全风险聚类。
可以看出,得到的所述多个权值向量中相同位置的元素对应于同一应用程序,例如,所有权值向量的第一个元素对应于第一个应用程序、第二个元素对应于第二个应用程序…最后一个元素对应于最后一个应用程序。具体参见上面方法实施例中对应的描述。
可选地,如图5d所示,在一种可能的实施方式中,所述权限聚类单元4132包括:
第一聚类子单元4132a,用于根据所述多个权限中两个权限分别对应的权值向量的相似度来对所述多个权限进行安全风险聚类。
例如,在所述多个权限中一些权限的安全风险已知的情况下,根据其它权限与这些权限的相似度,可以对所述其它权限进行聚类,进而可以估算该权限安全风险分组中其它权限的安全风险。
可选地,在一种可能的实施方式中,可以通过两个权限对应的权值向量的余弦距离来确定这两个权限的相似度。具体参见上述方法实施例中对应的描述。
同样的,本领域的技术人员可以知道,其它用于表示两个向量之间相似度的方法也可以用于本申请实施例确定两个权限的相似程度,例如上面所述的欧式距离。
可选地,如图5e所示,在一种可能的实施方式中,所述权限聚类单元4132包括:
第二聚类子单元4132b,用于通过基于距离的聚类算法对所述多个权值向量进行聚类,进而确定所述多个权限的安全风险聚类。
例如,在一种可能的实施方式中,可以将每个权值向量看成是多维空间中的点(所述多维空间的维度与所述权值向量中的元素个数相等),通过基于距离的聚类算法,例如通过K-means聚类算法可以对所述多个权值向量进行聚类。当然,本领域技术人员可以知道,其它用于向量的聚类算法也可以应用在本申请实施例中对所述多个权值向量进行聚类,进而对所述多个权限进行聚类。
本领域的技术人员可以知道,上面所述的距离为两个向量之间的距离,例如上面所述的余弦距离、欧式距离等等。
可以看出,通过本发明实施例上面的实施方案,可以对多个权限进行基于安全风险的聚类,将安全风险相似的权限划分在同一权限安全风险分组中,方便用户或开发者基于安全风险对权限进行后续操作。
如图6a所示,在一种可能的实施方式中,所述装置400还包括:
存储模块450,用于存储所述安全风险聚类信息。
当然,可选地,本领域技术人员可以知道,在一种可能的实施方式中,在所述安全风险聚类信息已经通过其它设备获得的情况下,所述聚类信息获取模块410还可以用于从所述存储模块450读取存储的所述安全风险聚类信息。
在本申请实施例一种可能的应用场景中,所述已使用权限确定模块420确定所述已使用的权限时,所述应用程序可以为一开发中的应用程序,开发者在开发该应用程序时需要选择使用合适的API。
在该应用场景的一种可能的实施方式中,如图6a所示,所述已使用权限确定模块420获取所述已使用的权限包括:
配置文件分析单元421,用于读取当前正在开发的应用程序的配置文件,从相应的权限申请段中获取应用正在使用的权限。
或者,在另一可能的实施方式中,如图6b所示,所述已使用权限确定模块420包括:
已使用API获取单元422,通过获取当前应用程序已经使用的至少一个API,再根据所述至少一个API获得相对应的权限。
在本申请实施例另一种可能的应用场景中,开发者需要基于一已有应用程序开发一新的应用程序,例如对一已有应用程序进行下一版本的开发,此时所述应用程序也可以为所述已有应用程序。
如上面所述的,所述安全风险聚类信息包括所述多个权限各自所属的安全风险分组。因此,如图6a所示,在一种可能的实施方式中,所述相关权限确定模块430包括:
安全风险分组确定子模块431,用于根据所述安全风险聚类信息确定所述已使用的权限所属的一安全风险分组;
相关权限确定子模块432,用于根据所述安全风险分组确定所述至少一权限。
在本申请实施例一种可能的实施方式中,所述至少一权限可以为所述安全风险分组中所有的权限,即包括所述已使用的权限。在另一种可能的实施方式中,所述至少一权限可以为所述安全风险分组中除了所述已使用的权限以外的其它权限。
如图6c所示,在一种可能的实施方式中,所述API确定模块440包括:
应用程序确定子模块441,用于确定与所述至少一权限相关的至少一应用程序;
候选API确定子模块442,用于获取所述至少一应用程序使用的至少一候选API;
API确定子模块443,用于根据设定的至少一确定标准在所述至少一候选API中确定所述至少一API。
其中,所述应用程序确定子模块441确定的所述至少一应用中的每个应用程序申请所述至少一权限中的至少一权限。
在本申请实施例一种可能的实施方式中,候选API确定子模块443可以确定所述至少一候选API可以为所述至少一应用程序使用的所有API。
如图6d所示,在另一种可能的实施方式中,所述候选API确定子模块443包括:
API使用权值获取单元4431,用于获取所述至少一应用程序中的每个应用程序与所述至少一候选API中每个API之间的API使用权值;
申请关系权值获取单元4432,用于获取所述至少一应用程序中的每个应用程序申请所述至少一权限中每个权限的申请关系的权值;
推荐值获取单元4433,用于根据所述API使用权值和所述申请关系的所述权值得到所述至少一候选API中每个API的推荐值;
API确定单元4434,用于根据所述推荐值确定所述至少一API。
所述API确定模块440中各子模块和单元的功能实现参见上述方法实施例中图3b所示实施例中对应的描述,这里不再赘述。
如图7所示,在本申请实施例一种可能的实施方式中提供了一种电子设备700,包括上面所述的API推荐装置710。
其中,在一种可能的实施方式中,所述电子设备700可以为一服务器,可选地,例如为一开发平台的服务器。
图8为本申请实施例提供的又一种API推荐装置800的结构示意图,本申请具体实施例并不对API推荐装置800的具体实现做限定。如图8所示,该API推荐装置800可以包括:
处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830、以及通信总线840。其中:
处理器810、通信接口820、以及存储器830通过通信总线840完成相互间的通信。
通信接口820,用于与比如客户端等的网元通信。
处理器810,用于执行程序832,具体可以执行上述方法实施例中的相关步骤。
具体地,程序832可以包括程序代码,所述程序代码包括计算机操作指令。
处理器810可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器830,用于存放程序832。存储器830可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序832具体可以用于使得所述API推荐装置800执行以下步骤:
获取多个权限的安全风险聚类信息;
确定所述多个权限中一应用程序已使用的一权限;
根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
根据所述至少一权限确定至少一API。
程序832中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本申请,而并非对本申请的限制,有关技术领域的普通技术人员,在不脱离本申请的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请的范畴,本申请的专利保护范围应由权利要求限定。
Claims (25)
1.一种应用开发接口API推荐方法,其特征在于,包括:
获取多个权限的安全风险聚类信息;
确定所述多个权限中一应用程序已使用的一权限;
根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
根据所述至少一权限确定至少一API。
2.如权利要求1所述的方法,其特征在于,所述根据所述至少一权限确定所述至少一API包括:
确定与所述至少一权限相关的至少一应用程序;
获取所述至少一应用程序使用的至少一候选API;
根据设定的至少一确定标准在所述至少一候选API中确定所述至少一API。
3.如权利要求2所述的方法,其特征在于,所述确定与所述至少一权限相关的所述至少一应用程序包括:
所述至少一应用程序中的每个应用程序申请所述至少一权限中的至少一权限。
4.如权利要求3所述的方法,其特征在于,所述根据设定的至少一确定标准在所述至少一候选API中确定所述至少一API包括:
获取所述至少一应用程序中的每个应用程序与所述至少一候选API中每个API之间的API使用权值;
获取所述至少一应用程序中的每个应用程序申请所述至少一权限中每个权限的申请关系的权值;
根据所述API使用权值和所述申请关系的所述权值得到所述至少一候选API中每个API的推荐值;
根据所述推荐值确定所述至少一API。
5.如权利要求1所述的方法,其特征在于,根据所述安全风险聚类信息和所述已使用的权限确定所述至少一权限包括:
根据所述安全风险聚类信息确定所述已使用的权限所属的一安全风险聚类分组;
根据所述安全风险分组确定所述至少一权限。
6.如权利要求1所述的方法,其特征在于,获取所述多个权限的安全风险聚类信息包括:
确定多个应用程序与所述多个权限之间的多个申请关系;其中,所述多个申请关系中的每个申请关系对应于所述多个应用程序中的一应用程序申请所述多个权限中的一权限;
确定所述多个申请关系中每个申请关系的权值;
根据所述每个申请关系的所述权值对所述多个权限进行安全风险聚类,得到所述安全风险聚类信息。
7.如权利要求6所述的方法,其特征在于,确定所述权值包括:
根据所述每个申请关系对应的所述应用程序申请所述权限的概率确定所述每个申请关系的权值。
8.如权利要求6所述的方法,其特征在于,确定所述权值包括:
根据所述每个申请关系对应的所述应用程序所属的一应用分类中所述所有应用程序申请所述权限的频率与所述所有应用程序分别申请所述多个权限的多个频率之和的比值得到所述权值。
9.如权利要求6所述的方法,其特征在于,根据所述权值对所述多个权限进行安全风险聚类包括:
获取与所述多个权限一一对应的多个权值向量;
根据所述多个权值向量对所述多个应用程序进行安全风险聚类;
其中,所述多个权值向量中的每个权值向量中包含与所述多个应用程序一一对应的多个元素,其中,对于每个权值向量:
对应于与所述权值向量对应的权限与所述多个应用程序中的一应用程序之间有申请关系,所述权值向量中与所述应用程序对应的元素为所述申请关系的权值;
对应于与所述权值向量对应的权值与所述多个应用程序中的一应用程序之间没有申请关系,所述权值向量中与所述应用程序对应的元素为0。
10.如权利要求9所述的方法,其特征在于,所述根据所述多个权值向量对所述多个权限进行安全风险聚类包括:
根据所述多个权限中两个权限分别对应的权值向量的相似度来对所述多个权限进行安全风险聚类。
11.如权利要求9所述的方法,其特征在于,所述根据所述多个权值向量对所述多个权限进行安全风险聚类包括:
通过基于距离的聚类算法对所述多个权值向量进行聚类,进而确定所述多个权限的安全风险聚类。
12.如权利要求6所述的方法,其特征在于,所述方法还包括:存储所述安全风险聚类信息。
13.一种应用开发接口API推荐装置,其特征在于,包括:
聚类信息获取模块,用于获取多个权限的安全风险聚类信息;
已使用权限确定模块,用于确定所述多个权限中一应用程序已使用的一权限;
相关权限确定模块,用于根据所述安全风险聚类信息和所述已使用的权限确定所述多个权限中与所述已使用的权限相关的至少一权限;
API确定模块,用于根据所述至少一权限确定至少一API。
14.如权利要求13所述的装置,其特征在于,所述API确定模块包括:
应用程序确定子模块,用于确定与所述至少一权限相关的至少一应用程序;
候选API确定子模块,用于获取所述至少一应用程序使用的至少一候选API;
API确定子模块,用于根据设定的至少一确定标准在所述至少一候选API中确定所述至少一API。
15.如权利要求14所述的装置,其特征在于,所述应用程序确定子模块确定的所述至少一应用中的每个应用程序申请所述至少一权限中的至少一权限。
16.如权利要求15所述的装置,其特征在于,所述候选API确定子模块包括:
API使用权值获取单元,用于获取所述至少一应用程序中的每个应用程序与所述至少一候选API中每个API之间的API使用权值;
申请关系权值获取单元,用于获取所述至少一应用程序中的每个应用程序申请所述至少一权限中每个权限的申请关系的权值;
推荐值获取单元,用于根据所述API使用权值和所述申请关系的所述权值得到所述至少一候选API中每个API的推荐值;
API确定单元,用于根据所述推荐值确定所述至少一API。
17.如权利要求13所述的装置,其特征在于,所述相关权限确定模块包括:
安全风险分组确定子模块,用于根据所述安全风险聚类信息确定所述已使用的权限所属的一安全风险分组;
相关权限确定子模块,用于根据所述安全风险分组确定所述至少一权限。
18.如权利要求13所述的装置,其特征在于,所述聚类信息获取模块包括:
申请关系确定子模块,用于确定多个应用程序与所述多个权限之间的多个申请关系;其中,所述多个申请关系中的每个申请关系对应于所述多个应用程序中的一应用程序申请所述多个权限中的一权限;
权值确定子模块,用于确定所述多个申请关系中每个申请关系的权值;
聚类信息获取子模块,用于根据所述每个申请关系的所述权值对所述多个权限进行安全风险聚类,得到所述安全风险聚类信息。
19.如权利要求18所述的装置,其特征在于,所述权值确定子模块包括:
第一权值确定单元,用于根据所述每个申请关系对应的所述应用程序申请所述权限的概率确定所述每个申请关系的权值。
20.如权利要求18所述的装置,其特征在于,所述权值确定子模块包括:
第二权值确定单元,用于根据所述每个申请关系对应的所述应用程序所属的一应用分类中所述所有应用程序申请所述权限的频率与所述所有应用程序分别申请所述多个权限的多个频率之和的比值得到所述权值。
21.如权利要求18所述的装置,其特征在于,所述聚类信息获取子模块包括:
权值向量获取单元,用于获取与所述多个权限一一对应的多个权值向量;
权限聚类单元,用于根据所述多个权值向量对所述多个应用程序进行安全风险聚类;
其中,所述多个权值向量中的每个权值向量中包含与所述多个应用程序一一对应的多个元素,其中,对于每个权值向量:
对应于与所述权值向量对应的权限与所述多个应用程序中的一应用程序之间有申请关系,所述权值向量中与所述应用程序对应的元素为所述申请关系的权值;
对应于与所述权值向量对应的权值与所述多个应用程序中的一应用程序之间没有申请关系,所述权值向量中与所述应用程序对应的元素为0。
22.如权利要求21所述的装置,其特征在于,所述权限聚类单元包括:
第一聚类子单元,用于根据所述多个权限中两个权限分别对应的权值向量的相似度来对所述多个权限进行安全风险聚类。
23.如权利要求21所述的装置,其特征在于,所述权限聚类单元包括:
第二聚类子单元,用于通过基于距离的聚类算法对所述多个权值向量进行聚类,进而确定所述多个权限的安全风险聚类。
24.如权利要求18所述的装置,其特征在于,所述装置还包括:
存储模块,用于存储所述安全风险聚类信息。
25.一种电子设备,其特征在于,包括权利要求13-24中任一项所述的应用开发接口API推荐装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410418948.9A CN104156467B (zh) | 2014-08-22 | 2014-08-22 | Api推荐方法及api推荐装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410418948.9A CN104156467B (zh) | 2014-08-22 | 2014-08-22 | Api推荐方法及api推荐装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156467A true CN104156467A (zh) | 2014-11-19 |
CN104156467B CN104156467B (zh) | 2018-05-29 |
Family
ID=51881965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410418948.9A Active CN104156467B (zh) | 2014-08-22 | 2014-08-22 | Api推荐方法及api推荐装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156467B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354327A (zh) * | 2015-11-26 | 2016-02-24 | 中山大学 | 一种基于大数据分析的接口api推荐方法及系统 |
CN107194002A (zh) * | 2017-06-14 | 2017-09-22 | 北京邮电大学 | 移动应用影响力评估方法和装置 |
CN107479879A (zh) * | 2017-07-28 | 2017-12-15 | 扬州大学 | 一种面向软件功能维护的api及其使用推荐方法 |
CN109032683A (zh) * | 2017-05-31 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 配置数据处理方法及装置 |
CN110309040A (zh) * | 2019-06-11 | 2019-10-08 | 东南大学 | 一种基于功能相似度的api推荐结果评估方法 |
CN110390194A (zh) * | 2018-04-17 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 应用权限的展示、确定方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289633A (zh) * | 2011-09-02 | 2011-12-21 | 广东欧珀移动通信有限公司 | Android平台下的应用程序动态权限管理方法 |
CN102467642A (zh) * | 2010-11-17 | 2012-05-23 | 北大方正集团有限公司 | 用于应用软件的权限控制方法和装置 |
CN103473504A (zh) * | 2013-09-25 | 2013-12-25 | 西安交通大学 | 一种基于类别分析的Android恶意代码检测方法 |
CN103605920A (zh) * | 2013-11-10 | 2014-02-26 | 电子科技大学 | 一种基于SEAndroid平台的应用程序动态安全管理方法及系统 |
US20140075546A1 (en) * | 2012-08-16 | 2014-03-13 | Tencent Technology (Shenzhen) Company Limited | Method and device for controlling invocation of an application programming interface |
-
2014
- 2014-08-22 CN CN201410418948.9A patent/CN104156467B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467642A (zh) * | 2010-11-17 | 2012-05-23 | 北大方正集团有限公司 | 用于应用软件的权限控制方法和装置 |
CN102289633A (zh) * | 2011-09-02 | 2011-12-21 | 广东欧珀移动通信有限公司 | Android平台下的应用程序动态权限管理方法 |
US20140075546A1 (en) * | 2012-08-16 | 2014-03-13 | Tencent Technology (Shenzhen) Company Limited | Method and device for controlling invocation of an application programming interface |
CN103473504A (zh) * | 2013-09-25 | 2013-12-25 | 西安交通大学 | 一种基于类别分析的Android恶意代码检测方法 |
CN103605920A (zh) * | 2013-11-10 | 2014-02-26 | 电子科技大学 | 一种基于SEAndroid平台的应用程序动态安全管理方法及系统 |
Non-Patent Citations (2)
Title |
---|
张叶慧 等: ""基于类别以及权限的Android恶意程序检测"", 《计算机工程与设计》 * |
潘伟丰 等: ""基于软件网络的服务自动分类和推荐方法研究"", 《计算机学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354327A (zh) * | 2015-11-26 | 2016-02-24 | 中山大学 | 一种基于大数据分析的接口api推荐方法及系统 |
CN109032683A (zh) * | 2017-05-31 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 配置数据处理方法及装置 |
CN109032683B (zh) * | 2017-05-31 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 配置数据处理方法及装置 |
CN107194002A (zh) * | 2017-06-14 | 2017-09-22 | 北京邮电大学 | 移动应用影响力评估方法和装置 |
CN107194002B (zh) * | 2017-06-14 | 2019-10-18 | 北京邮电大学 | 移动应用影响力评估方法和装置 |
CN107479879A (zh) * | 2017-07-28 | 2017-12-15 | 扬州大学 | 一种面向软件功能维护的api及其使用推荐方法 |
CN110390194A (zh) * | 2018-04-17 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 应用权限的展示、确定方法、装置及设备 |
CN110309040A (zh) * | 2019-06-11 | 2019-10-08 | 东南大学 | 一种基于功能相似度的api推荐结果评估方法 |
CN110309040B (zh) * | 2019-06-11 | 2024-01-12 | 东南大学 | 一种基于功能相似度的api推荐结果评估方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104156467B (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104090967A (zh) | 应用程序推荐方法及推荐装置 | |
US11797838B2 (en) | Efficient convolutional network for recommender systems | |
CN104156467A (zh) | Api推荐方法及api推荐装置 | |
Li et al. | Unsupervised streaming feature selection in social media | |
Zahra et al. | Novel centroid selection approaches for KMeans-clustering based recommender systems | |
CN105468742B (zh) | 恶意订单识别方法及装置 | |
CN106557485B (zh) | 一种选取文本分类训练集的方法及装置 | |
CN106156755B (zh) | 一种人脸识别中的相似度计算方法及系统 | |
CN104091071A (zh) | 应用程序的风险确定方法及确定装置 | |
CN109344326B (zh) | 一种社交圈的挖掘方法和装置 | |
CN111461637A (zh) | 简历筛选方法、装置、计算机设备和存储介质 | |
CN107895038B (zh) | 一种链路预测关系推荐方法及装置 | |
CN111090807B (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN109815406B (zh) | 一种数据处理、信息推荐方法及装置 | |
TW202022716A (zh) | 叢集結果的解釋方法和裝置 | |
CN111701247B (zh) | 用于确定统一账号的方法和设备 | |
CN104156468A (zh) | Api推荐方法及api推荐装置 | |
WO2017039684A1 (en) | Classifier | |
CN104778283A (zh) | 一种基于微博的用户职业分类方法及系统 | |
CN115311478A (zh) | 一种基于图深度聚类的联邦影像分类方法、存储介质 | |
CN104091117A (zh) | 基于安全风险的聚类方法及聚类装置 | |
CN104091131A (zh) | 应用程序与权限的关系确定方法及确定装置 | |
JP7316722B2 (ja) | ランダムシーケンス埋込みを用いた記号シーケンス解析における計算効率 | |
Divakar et al. | Performance evaluation of credit card fraud transactions using boosting algorithms | |
WO2019100771A1 (zh) | 问题推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |