应用识别方法和装置与流程

文档序号:12363814阅读:262来源:国知局
应用识别方法和装置与流程

本发明涉及互联网技术领域,特别是涉及一种应用识别方法和装置。



背景技术:

随着互联网的快速发展,出现了越来越多的应用。应用开发者为了扩大应用的下载量和激活量,往往借助应用分发平台(如应用宝、手机助手等)来进行分发和推广。在应用分发平台进行分发和推广之前,需要将该应用的APK(Android Application Package,安卓应用安装包)文件进行打包,生成应用渠道包。然而,在开发者向应用分发平台提交应用时,应用分发平台需要对应用进行分类,以便用户可以从该应用分发平台下载该应用。

目前应用分发平台对应用识别的方法主要有:(1)一般开发者在向应用分发平台提交应用时,会选择大的分类,如选择类别为游戏应用、软件应用等,应用分发平台会根据开发者的选择来标识应用的类别;(2)通过人工筛选,比如通过应用的名称和标识(logo)去判断应用是游戏应用还是其他应用。

由于目前基本上都是通过人工的方式对应用进行识别,因此不仅耗费时间长,消耗人力成本大,而且降低了应用分发的效率。



技术实现要素:

基于此,有必要针对现有技术的问题,提供一种能降低人力成本、提高应用分发效率的应用识别方法和装置。

一种应用识别方法,所述方法包括:

获取第一应用的应用名称和对应的渠道包名,以及获取第二应用的应用名称和对应的渠道包名;

判断所述第一应用的应用名称与第二应用的应用名称是否匹配;

如果匹配,则获取所述第一应用的渠道包名与所述第二应用的渠道包名之 间的相似度;

根据所述相似度判断所述第一应用与所述第二应用是否为同一应用。

一种应用识别装置,包括:

应用信息获取模块,用于获取第一应用的应用名称和对应的渠道包名,以及获取第二应用的应用名称和对应的渠道包名;

应用名称匹配模块,用于判断所述第一应用的应用名称与第二应用的应用名称是否匹配;

相似度获取模块,用于当第一应用的应用名称与第二应用的应用名称匹配时,则获取所述第一应用的渠道包名与所述第二应用的渠道包名之间的相似度;

判断模块,用于根据所述相似度判断所述第一应用与所述第二应用是否为同一应用。

上述应用识别方法和装置,在应用名称相同的情况下,再进一步获取两个应用的渠道包名之间的相似度,渠道包名相似,则两个应用更可能为同一应用,可直接判定为同一应用,否则区分为不同的应用。相对于现有的人工筛选和类别选择方式,这样自动地对应用进行分类的方式,降低了人力成本,从而也提高了应用分发效率。

附图说明

图1为一个实施例中应用识别方法的流程图;

图2为一个实施例中获取第一应用的渠道包名与第二应用的渠道包名之间的相似度的流程图;

图3为一个实施例中根据多个第一结构和多个第二结构计算第一应用的渠道包名与第二应用的渠道包名之间的相似度的流程图;

图4为一个实施例中应用识别方法的过程示意图;

图5为一个实施例中应用识别装置的结构框图;

图6为一个实施例中相似度获取模块的结构框图;

图7为一个实施例中相似度计算模块的结构框图;

图8是一个实施例中的服务器的内部结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

当开发者将应用分发到多个应用分发平台时,通常需要对应用进行识别。而应用分发平台,比如应用市场或者其它应用分发工具,在对应用进行分类时也需要对应用进行识别。

在一个实施例中,如图1所示,提出了一种应用识别方法,该方法以应用于应用分发平台进行举例说明,该方法包括:

步骤102,获取第一应用的应用名称和对应的渠道包名,以及获取第二应用的应用名称和对应的渠道包名。

应当说明的是,本申请中所使用的“第一”和“第二”仅用于将两个应用进行区分,因此第一应用和第二应用仅仅是相对的概念,并不受这些术语的限制。

具体的,第一应用可以是已确定类别的应用,而第二应用可以是需要进行识别的应用。反之,第二应用是已确定类别的应用时,则第一应用是需要进行识别的应用。举例来说,已确定类别的应用可以是应用开发者上传到应用分发平台并已确定好类别的应用,而需要识别的应用可以是应用分发平台从网络中随机抓取的应用。

应用分发平台可定时从网络中抓取大量的应用,确定这些应用的类别并进行复制,以提供更多的应用推荐给用户。而在确定应用的类别的环节中,识别两个应用为同一应用,特别是同一游戏应用在应用分类中非常重要,可解决一部分的应用分类问题。

通常应用开发者将开发的应用上传到应用分发平台时,会为每一个应用设置对应的应用名称。因此,网络中的每个应用都有对应的应用名称。比如,名 为“天天爱西游”的一款游戏应用,其对应的应用名称即为“天天爱西游”。当然,应用名称不局限于中文名称。

在应用分发平台对应用进行分发和推广之前,需要将该应用的APK(Android Application Package,安卓应用安装包)文件进行打包,生成的包称之为应用渠道包。每一个应用渠道包都具有唯一的渠道包名。所谓渠道包名(Package Name),是应用的唯一标识,渠道包名具有唯一性,一个渠道包名即代表一个应用,不允许两个应用使用同样的渠道包名。也就是说,对于两个应用,有可能其对应的应用名称相同,但是渠道包名不同。

步骤104,判断第一应用的应用名称与第二应用的应用名称是否匹配,若是,则执行步骤106,若否,则执行步骤110。

本实施例中,匹配是指第一应用的应用名称与第二应用的应用名称相同。两个应用的应用名称相同,才更有可能是同一应用,如果两个应用的应用名称都不相同,则明显是不同的应用。

步骤106,获取第一应用的渠道包名与第二应用的渠道包名之间的相似度。

具体的,可对第一应用的渠道包名和第二应用的渠道包名按照预设分隔符进行截断处理,分别得到第一应用的渠道包名分割后得到的多个字符串,以及第二应用的渠道包名截断后得到的多个字符串,根据得到的字符串来获取两者之间的相似度。

步骤108,根据相似度判断第一应用与第二应用是否为同一应用。

具体的,可预先设定阈值用于相似度判断,判断相似度是否大于或等于预设阈值。若是,则判定第一应用与第二应用为同一应用,否则判定第一应用与第二应用为不同的应用。举例说明,如果第一应用是应用分发平台中已确定类别的应用,当判定第二应用与第一应用为同一应用时,应用分发平台可不对第二应用进行分类和复制,当判定第二应用与第一应用不是同一应用,则应用分发平台可以对第二应用进行人工分类的方式确定类别,然后复制以便于向用户推荐第二应用。

优选的,预设阈值可设定为50%。经验证明,在应用名称相同的情况下,当两个应用的渠道包名的相似度在50%以上时,则这两个应用是同一应用的可 能性非常大,因此设定预设阈值为50%能够精确地判定两个应用是否为同一应用。

步骤110,判定第一应用和第二应用为不同的应用。

本实施例中,当第一应用的应用名称和第二应用的应用名称不匹配时,则第一应用和第二应用明显为不同的应用。

本实施例中,在应用名称相同的情况下,再进一步获取两个应用的渠道包名之间的相似度,渠道包名相似,则两个应用更可能为同一应用,可直接判定为同一应用,否则区分为不同的应用。相对于现有的人工筛选和类别选择方式,这样自动对应用进行分类的方式,降低了人力成本,从而也提高了应用分发效率。

如图2所示,在一个实施例中,获取第一应用的渠道包名与第二应用的渠道包名之间的相似度的步骤包括:

步骤126,根据预设的分隔符对第一应用的渠道包名进行截断处理,得到多个第一结构,以及,根据预设的分隔符对第二应用的渠道包名进行截断处理,得到多个第二结构。

预设的分隔符可以是除文字之外的符号,包括但不限于点号(.)、下划线(_)、斜线(/)等,在此不一一列举。

第一结构是指根据预设的分隔符对第一应用的渠道包名进行截断(或称之为拆分)处理得到的多个字符串。第二结构是指根据预设的分隔符对第二应用的渠道包名进行截断处理得到的多个字符串。

步骤146,根据多个第一结构和多个第二结构计算第一应用的渠道包名与第二应用的渠道包名之间的相似度。

通过对步骤126得到的多个第一结构(字符串)与多个第二结构(字符串)进行匹配,获取多个第一结构与多个第二结构之间的相似度。

本实施例中,根据应用渠道包名的命名规则,通过计算相似度来获取第一应用的渠道包名与第二应用的渠道包名之间的相似度,在应用名称相同的情况下,便可以快速地判定第一应用和第二应用是否为同一应用。

如图3所示,在一个实施例中,根据多个第一结构和多个第二结构计算第 一应用的渠道包名与第二应用的渠道包名之间的相似度的步骤包括:

步骤1462,将多个第一结构与多个第二结构进行匹配,得到多个第一结构与多个第二结构中相同结构的数目。

将步骤126获得的多个第一结构(字符串)与多个第二结构(字符串)进行匹配,得到多个第一结构与多个第二结构中完全相同的结构的数目。

步骤1464,统计第一结构的结构数目和第二结构的结构数目,并获取其中的最大结构数。

分别统计上述步骤126得到的多个第一结构和多个第二结构的结构数目,并获取其中的最大结构数。

步骤1466,计算相似度为相同结构的数目与最大结构数的比值。

具体的,相似度可以通过下面公式计算获得:其中,n为多个第一结构与多个第二结构中相同结构的数目,m为多个第一结构与多个第二结构中的最大结构数。

例如,以Andriod系统中的应用为例,第一应用的渠道包名为com.yinhan.pao,第二应用的渠道包名为com.yinhan.pao.nice。根据预设的分隔符点号(.)将第一渠道游戏的渠道包名进行截断处理后得到的多个第一结构为:com、yinhan和pao。根据预设的分隔符点号(.)将第二渠道游戏的渠道包名截断处理后得到的多个第二结构为:com、yinhan、pao和nice。

将上述多个第一结构和多个第二结构进行比对,可以确定相同的结构数目为3,第一结构的结构数目为3,第二结构的结构数目为5。通过比较第一结构的结构数目和第二结构的结构数目,可以确定最大结构数为5。

当相同的结构数目为3,最大结构数为5时,计算相似度为相同的结构数目与最大结构树的比值,即

下面以游戏应用为例来详细说明本发明实施例提供的应用识别方法。

游戏应用,是在移动终端中常见的应用。游戏应用通过应用分发平台进行 分发和推广之前,将游戏应用的API文件打包,生成游戏渠道包,简称为渠道包。游戏应用在发布的时候,由于渠道包保护的原因,会给不同的渠道包相同的应用名称但不同的渠道包名的游戏,这种类型的游戏简称为渠道游戏。本应用场景即以渠道游戏为例来说明游戏应用识别的方法原理。具体的,如图4所示,该方法包括:

步骤402,获取第一游戏应用的应用名称和对应的渠道包名,以及,获取第二游戏应用的应用名称和对应的渠道包名。

步骤404,判断第一游戏应用的应用名称和第二游戏应用的应用名称是否匹配,若是,则执行步骤406,若否,则执行步骤412。

本例中,匹配是指第一游戏应用的应用名称与第二游戏应用的应用名称相同。两个游戏应用的应用名称相同,才更有可能是同一渠道游戏,如果两个游戏应用的应用名称都不相同,则明显是不同的渠道游戏。游戏应用的应用名称可以是中文名称,但不局限于此。

步骤406,获取第一游戏应用的渠道包名与第二游戏应用的渠道包名之间的相似度。

步骤406的实现过程与上述实施例的步骤106的实现过程相同,具体可以参见步骤106部分,这里不再赘述。

步骤408,判断相似度是否大于50%,若是,则执行步骤410,若否,则执行步骤412。

步骤410,判断第一游戏应用和第二游戏应用为同一渠道游戏。

经验证明,在游戏应用的应用名称相同的情况下,当两个游戏应用的渠道包名的相似度在50%以上时,便能够精确地判定两个游戏应用为同一渠道游戏。

步骤412,判定第一游戏应用和第二游戏应用为不同的渠道游戏。本例中,当第一游戏应用的应用名称和第二游戏应用的应用名称不匹配时,则可以判定第一游戏应用和第二游戏应用明显为不同的渠道游戏。

在另一个实施例中,还提出一种应用识别装置。如图5所示,该装置包括:应用信息获取模块502,用于获取第一应用的应用名称和对应的渠道包名,以及 获取第二应用的应用名称和对应的渠道包名。应用名称匹配模块504,用于判断第一应用的应用名称与第二应用的应用名称是否匹配。相似度获取模块506,用于当第一应用的应用名称与第二应用的应用名称匹配时,则获取第一应用的渠道包名与第二应用的渠道包名之间的相似度。判断模块508,用于根据相似度判断第一应用与第二应用是否为同一应用。

在一个实施例中,相似度获取模块506包括:截断处理模块526,用于根据预设的分隔符对第一应用的渠道包名进行截断处理,得到多个第一结构,以及,根据预设的分隔符对第二应用的渠道包名进行截断处理,得到多个第二结构。相似度计算模块546,用于根据多个第一结构和多个第二结构计算第一应用的渠道包名与第二应用的渠道包名之间的相似度。

在一个实施例中,相似度计算模块546包括:匹配单元5462,用于将多个第一结构与多个第二结构进行匹配,得到多个第一结构与多个第二结构中相同结构的数目。最大结构数获取单元5464,用于统计第一结构的结构数目和第二结构的结构数目,并获取其中的最大结构数。计算单元5466用于计算相似度为相同结构的数目与最大结构数的比值。

在一个实施例中,判断模块508还用于判断相似度是否大于或等于预设阈值;当相似度大于或等于预设阈值时,判定第一应用与第二应用为同一应用。

在一个实施例中,预设阈值为50%。

如图8所示,在一个实施例中,还提供了一种服务器,包括通过系统总线连接的处理器、非易失性存储介质、内存和网络接口。服务器的处理器具有计算功能和控制整个服务器工作的控制功能,该处理器被配置为执行一种应用识别的方法。服务器的存储介质包括:磁存储介质、闪存型存储介质和光存储介质等。服务器的存储介质存储有操作系统和一种应用识别装置,该应用识别装置用于实现一种应用识别方法。内存用于为非易失性存储介质中的应用识别装置存储应用识别的判定结果和应用类别等。服务器的网络接口用于在处理器的指令下与外部网络交换数据,例如从网络中获取应用相关信息,包括应用名称和对应的渠道包名等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1