CN106293779A - 一种识别应用安装包的方法及装置 - Google Patents

一种识别应用安装包的方法及装置 Download PDF

Info

Publication number
CN106293779A
CN106293779A CN201510237798.6A CN201510237798A CN106293779A CN 106293779 A CN106293779 A CN 106293779A CN 201510237798 A CN201510237798 A CN 201510237798A CN 106293779 A CN106293779 A CN 106293779A
Authority
CN
China
Prior art keywords
installation kit
bag
application
application installation
request
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
Application number
CN201510237798.6A
Other languages
English (en)
Other versions
CN106293779B (zh
Inventor
卓韦攸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Guangzhou I9Game Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou I9Game Information Technology Co Ltd filed Critical Guangzhou I9Game Information Technology Co Ltd
Priority to CN201510237798.6A priority Critical patent/CN106293779B/zh
Priority to PCT/CN2016/079759 priority patent/WO2016180193A1/zh
Publication of CN106293779A publication Critical patent/CN106293779A/zh
Application granted granted Critical
Publication of CN106293779B publication Critical patent/CN106293779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements 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)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种识别应用安装包的方法和装置,当判断请求识别的应用安装包的包名称没有在包黑名单中时,在保存应用安装包及其信息的数据库中查找与该请求识别的应用安装包匹配的应用,并当匹配成功时识别出该请求识别的应用安装包,从而识别的应用安装包不局限于相同平台提供的应用,能够高覆盖、高精度跨平台实现应用安装包的识别。

Description

一种识别应用安装包的方法及装置
技术领域
本发明涉及计算机应用开发技术领域,特别是涉及一种识别应用安装包的方法及装置。
背景技术
当前Android app应用发行平台众多,都能够根据应用安装包信息(包括自身发行平台的应用安装包和其他发行平台的应安装包)提供服务,以增强品牌影响力以及吸引留存用户。app应用页面、app应用专区信息、app应用相关信息的订阅推送、app应用升级、根据用户偏好精准推荐等服务,均依赖于app安装包与发行平台的应用安装包的关系进行识别(以下简称包识别)。
可见,包识别的覆盖面、精确度,直接影响着对其有依赖的服务的体验。但是,现有技术下,包识别却无法在跨平台的情况下实现。如下表所示:
应用名称 安装包包名 包大小 类型 发行平台
刀塔传奇 sh.lilith.dgame.yingyongbao 155.13M 游戏 应用宝
刀塔传奇 sh.lilith.dgame.dangle 152.72M 游戏 当乐游戏中心
刀塔传奇 sh.lilith.dgame.uc 152.5M 游戏 九游游戏中心
刀塔传奇 com.yunlan.unlock.dotachuanqi 4.89M 主题壁纸 木蚂蚁应用市场
例如,【应用宝】的“应用更新功能”无法识别大部分【九游游戏中心】提供的app(虽然其上有同款游戏),如无法识别【九游游戏中心】下载的“刀塔传奇”,【当乐游戏中心】的“应用管理”,无法识别大部分【九游游戏中心】提供的app(虽然其上有同款游戏),如无法识别【九游游戏中心】下载的“刀塔传奇”。
因此,综观各大发行平台,包识别的效果均不尽人意,特别是识别从其他发行平台下载的app应用。
发明内容
本发明主要解决的技术问题是提供一种识别应用安装包的方法及装置,能够高覆盖、高精度跨平台进行应用安装识别。
为解决上述技术问题,本发明一种识别应用安装包的方法,包括:
获取请求识别的应用安装包的信息;
确定所述请求识别的应用安装包不在包黑名单中,则根据所述请求识别的应用安装包的信息在数据库中匹配对应的应用程序;其中,所述数据库相对应的存储有应用程序信息以及正确的安装包信息,所述包黑名单中的安装包的包名称与数据库中安装包的包名称相似度满足预设条件;以及
匹配成功,则确定所述请求识别的应用安装包为所述应用程序的安装包。
其中,所述请求识别的应用安装包的信息包括:安装包大小、包名称、应用程序名称其中的一项或者多项。
所述的方法,还包括:
将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单。
其中,所述将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单包括:
根据请求识别的应用安装包的包名称在数据库中查询包列表;其中,所述包列表为所述数据库中的应用安装包的信息列表。
其中,所述将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单,还包括:
逐个计算所述包列表中包含的应用安装包的包名称与获取的所述应用安装包的包名称的相似度;以及
确定所述应用安装包最高的相似度低于第一阈值,则将所述请求识别的应用安装包信息保存至所述包黑名单中。
其中,所述逐个计算所述包列表中包含的应用安装包的包名称与请求识别的应用安装包的包名称的相似度包括:
根据RKR-GST算法逐个计算所述包列表中包含的应用安装包的包名称与请求识别的应用安装包的包名称的相似度。
其中,所述将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单还包括:
在包列表中待匹配的应用程序的包名称中提取关键字符以生成第一字符集,在所述请求识别的应用安装包的包名称中提取关键字符以生成第二字符集,并将所述第一字符集与所述第二字符集合并生成关键字符集合;
将所述第一字符集和所述第二字符集分别与所述关键字符集合进行比较;
确定不重叠的关键字符数量高于第二阈值,则将所述请求识别的应用安装包信息保存至所述包黑名单中。
其中,根据所述请求识别的应用安装包的信息在数据库中匹配对应的应用程序包括:
根据所述请求识别的应用安装包的安装包大小、包名称在所述数据库中匹配对应的应用程序;
匹配失败,则根据所述请求识别的应用安装包的应用名称在所述数据库中匹配对应的应用程序;
匹配成功,则确定所述请求识别的应用安装包为所述应用程序的安装包。
所述的方法,还包括:在所述匹配的应用程序中选择与所述请求识别的应用安装包的安装包名称相似度最高的应用程序作为所述请求识别的应用安装包对应的应用程序。
本发明另一方面提供一种识别应用安装包的装置,包括:
信息获取单元,用于获取请求识别的应用安装包的信息;
判断单元,用于判断所述信息获取单元获取的所述请求识别的应用安装包是否在一包黑名单中;其中,所述包黑名单中的安装包的包名称与数据库中安装包的包名称相似度满足预设条件,所述数据库相对应的存储有应用程序信息以及正确的安装包信息;
匹配单元,用于当所述判断单元确定所述请求识别的应用安装包的不在所述包黑名单中时,根据所述请求识别的应用安装包的信息在所述数据库中匹配对应的应用程序;以及
执行单元,用于当所述匹配单元匹配成功时,确定所述请求识别的应用安装包为所述应用程序的安装包。
所述的装置,还包括:包黑名单生成单元,用于将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单。
所述的装置,还包括:信息读取单元,用于读取所述应用名称匹配日志以获取应用包名称;其中,所述应用名称匹配日志为请求识别的应用安装包与所述数据库中存储的应用程序的匹配记录;
查询单元,用于根据请求识别的应用安装包的包名称在数据库中查询包列表;其中,所述包列表为所述数据库能够提供的应用安装包的信息列表;
其中,所述包黑名单生成单元包括:计算模块、保存模块;
所述计算模块,用于逐个计算所述包列表中包含的包名称与获取的所述应用安装包的包名称的相似度;
所述保存模块,用于当所述判断单元确定所述应用安装包最高相似度低于第一阈值时,将所述请求识别的应用安装包信息保存至所述包黑名单中。
其中,所述包黑名单生成单元包括:关键字符生成模块、比较模块、保存模块;
所述关键字符生成模块,用于在包列表中待匹配的应用程序的包名称中提取关键字符以生成第一字符集,在所述请求识别的应用安装包的包名称中提取关键字符以生成第二字符集,并将所述第一字符集与所述第二字符集合并生成关键字符集合;
所述比较模块,用于将所述第一字符集和所述第二字符集分别与所述关键字符集合进行比较;
所述保存模块,用于确定不重叠的关键字符数量高于第二阈值时,将所述请求识别的应用安装包信息保存至所述包黑名单中。
本发明的有益效果是:本发明提供一种识别应用安装包的方法和装置,当判断请求识别的应用安装包的包名称没有在包黑名单中时,在保存应用安装包及其信息的数据库中查找与该请求识别的应用安装包匹配的应用,并当匹配成功时识别出该请求识别的应用安装包,从而识别的应用安装包不局限于相同平台提供的应用,能够高覆盖、高精度跨平台实现应用安装包的识别。
附图说明
图1为本发明一种识别应用安装包的方法的第一实施方式的流程图;
图2为本发明一种识别应用安装包的方法中匹配对应的应用程序的方法的第一实施方式的流程图;
图3为本发明一种识别应用安装包的方法中匹配对应的应用程序的方法的第二实施方式的流程图;
图4为本发明一种识别应用安装包的方法的第二实施方式的流程图;
图5为本发明一种识别应用安装包的方法中生成包黑名单方法的第一实施方式的流程图;
图6为本发明一种识别应用安装包的方法中生成包黑名单方法的第二实施方式的流程图;
图7为本发明一种识别应用安装包的方法的第三实施方式的流程图;
图8为本发明一种识别应用安装包的装置的第一实施方式的结构示意图;
图9为本发明一种识别应用安装包的装置的第二实施方式的结构示意图;
图10为本发明一种识别应用安装包的装置的第三实施方式的结构示意图;
图11为本发明一种识别应用安装包的装置的第四实施方式的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
请参阅图1,为本发明一种识别应用安装包的方法的第一实施方式的流程图,该方法包括:
步骤S10,获取请求识别的应用安装包的信息。
其中,该信息包括应用名称、包名称和安装包大小其中的一项或多项。
具体地,服务器接收用户终端发送的请求识别的应用安装包信息,该用户终端可以基于android操作系统的智能手机、平板电脑等智能移动设备,安装了多个应用。这些应用的安装包可以是用户终端从相同的平台上下载的,还可以是从不同的应用程序发行平台上下载的。平台可以是九游游戏中心、当乐游戏中心、木蚂蚁应用市场等,能够提供多种应用安装的应用程序发行平台。
进一步地,该服务器获取的请求识别的应用安装包的数量可以是一个或者多个。
步骤S11,根据请求识别的应用安装包的信息判断该请求识别的应用安装包是否在包黑名单中。若是,则进入步骤S12,否则,进入步骤S13。
其中,该包黑名单根据识别应用安装包的历史记录生成,用于标记无法识别的应用安装包,其中,所述数据库相对应的存储有应用程序信息以及正确的安装包信息,所述包黑名单中的安装包的包名称与数据库中安装包的包名称相似度满足预设条件。
包黑名单的生成将在下文进行详细叙述。
步骤S12,确定该请求识别的应用安装包不能被识别。然后,流程结束。即,当请求识别的应用安装包在一包黑名单中时,则认为该请求识别的应用安装包无法识别,本流程结束。
步骤S13,根据该请求识别的应用安装包的信息在数据库中匹配对应的应用程序。
数据库中存储的应用程序以及正确的安装包信息是通过在服务器上运行的操作平台通过应用程序运营平台上传、开放平台接口推送、包采集审核入库等方式获取应用安装包,再通过aapt工具获取这些应用安装包的包名称,通过apktool工具获取这些应用安装包的应用名称,通过代码程序获取这些应用安装包的安装包大小。从而形成应用程序信息和其对应的正确的安装包信息。
步骤S14,匹配成功,则确定该请求识别的应用安装包为该应用程序的安装包。
优先实施方式中,当请求识别的应用安装包的信息与数据库中一应用安装包至少部分信息相同时,则匹配成功。当在数据库中没有查询到任何与该请求识别的应用安装包的信息相同的安装包信息时,则匹配失败。
利用本实施例的一种识别应用安装包的方法,当判断请求识别的应用安装包的包名称没有在包黑名单中时,在保存应用安装包及其信息的数据库中查找与该请求识别的应用安装包匹配的应用,并当匹配成功时识别出该请求识别的应用安装包,从而识别的应用安装包不局限于相同平台提供的应用,能够跨平台识别应用安装包,并进行高覆盖、高精度的包识别。
参阅图2,步骤S13,即,根据该请求识别的应用安装包的信息在数据库中匹配对应的应用程序的步骤,包括:
步骤S20,判断在数据库中是否有与请求识别的应用安装包的包名称以及安装包大小匹配的应用程序。若是,则进入步骤S22,否则,进入步骤S21。
步骤S21,判断在数据库中是否有与请求识别的应用安装包的应用名称匹配的应用程序。若是,则进入步骤S22。否则,流程结束。
步骤S22,确定该请求识别的应用安装包为该应用程序的安装包。然后,流程结束。
当根据应用安装包的包名和安装包大小并未在数据库中匹配成功时,则表明该请求识别的应用安装包不是由数据库用于收集应用程序安装包信息的发布平台发布的应用程序,而是由其它平台发布的。因此,在完成应用安装包是否为相同平台发布的应用的判断之后,还需要进一步地根据应用名称判断该请求识别的应用安装包是否有与数据库用于收集应用程序安装包信息的发布平台发布的应用的相同的应用,以完成跨平台的应用安装包的识别。数据库用于收集应用程序安装包信息的发布平台包括但不限于前面实施例的所述的数据库在形成应用程序信息和其对应的正确的安装包信息时,收集应用安装包的应用程序运营平台、开放平台等
通过步骤S20和步骤S21的判断,从而实现来源于相同平台或不同平台的应用安装包能够被数据库识别。
进一步地,参阅图3,步骤S21,即,判断在数据库中是否有与请求识别的应用安装包的应用名称匹配的应用程序的步骤之后,该方法还包括:
步骤S33,在匹配的应用中选择与该请求识别的应用安装包的包名称相似度最高的应用程序。
然后执行步骤S22所述的确定该请求识别的应用安装包为该应用程序的安装包。
当经过步骤S21的判断后确定该请求识别的应用安装包的包名称和安装包大小与该数据库提供的应用安装包的包名称和安装包大小不是完全相同,但是经过步骤S22查找到应用名称相同的应用安装包时,为了增加识别的准确率,执行如步骤S33所述的选择。
图3中的其他步骤请参见图2及其相应的文字说明。
请参阅图4,另一实施例的一种识别应用安装包的方法中,还包括:
步骤S45,将该请求识别的应用安装包的包名称与数据库中的安装包的包名称比较,生成包黑名单。
在优选实施方式中,步骤S45,在确定该请求识别的应用安装包不能被识别之后。
图4中的其他步骤请参见图1及其相应的文字说明。
请同时参阅图5,步骤S45,将该请求识别的应用安装包的包名称与数据库中的安装包的包名称比较,生成包黑名单,包括:
在确定该请求识别的应用安装包不能被识别的之后,步骤S50,保存应用程序的匹配日志;其中,应用程序的匹配日志为请求识别的应用安装包与所述数据库中存储的应用程序的匹配记录。
步骤S51,读取该应用名称匹配日志以获取应用安装包的包名称。
步骤S52,根据请求识别的应用安装包的包名称在数据库中查询包列表。
其中,该包列表为该数据库中的应用安装包的信息列表,即,该包列表记录了该数据库中的应用安装包的包名称的列表。
步骤S53,逐个计算该包列表中包含的应用安装包的包名称与获取的该应用安装包的包名称的相似度。
具体地,根据RKR-GST算法逐个计算该包列表中包含的应用安装包的包名称与获取的该应用安装包的包名称的相似度。
其中,同款的应用安装包在不同的发行平台上,通常应用名称是相同的,包名称可能相同,也可能不相同,不相同的包名称通常是因为在源包名称中加入了发行平台的渠道标识,而打入的渠道标识在包名称中的位置、内容都有可能不一样,包名称的相似度匹配是无序的。因此,采用RKR-GST算法计算包名称的称的相似度。
步骤S54,判断该应用安装包最高的相似度是否低于第一阈值。若是,则进入步骤S55,否则对该应用安装包不作处理。
步骤S55,将所述请求识别的应用安装包信息保存至所述包黑名单中。
该包黑名单在每次执行如上所述的识别应用安装包的流程之后,根据记录识别结果的匹配日志进行包黑名单更新,并在下一次进行应用安装包的识别过程中使用。
请参阅图6,在另一实施方式中,步骤S45,即,将该请求识别的应用安装包的包名称与数据库中的安装包的包名称比较,生成包黑名单的步骤,包括:
在确定该请求识别的应用安装包不能被识别的步骤之后,
步骤S60,保存应用程序的匹配日志;其中,应用程序的匹配日志为请求识别的应用安装包与所述数据库中存储的应用程序的匹配记录。
步骤S61,读取该应用名称匹配日志以获取应用安装包的包名称。
步骤S62,根据请求识别的应用安装包的包名称在数据库中查询包列表。
其中,该包列表为该数据库中的应用安装包的信息列表,即,该包列表记录了该数据库中的应用安装包的包名称的列表
步骤S63,在包列表中待匹配的应用程序的包名称中提取关键字符以生成第一字符集,在所述请求识别的应用安装包的包名称中提取关键字符以生成第二字符集,并将所述第一字符集与所述第二字符集合并生成关键字符集合。
具体地,将应用安装包的包名称进行关键字符(.)的分词处理,以分别生成第一字符集、第二字符集。
步骤S64,将所述第一字符集和所述第二字符集分别与所述关键字符集合进行比较。步骤S65,判断不重叠的关键字符数量是否高于第二阈值。若是,则进入步骤S66,否则,流程结束。
在本实施方式中,该阈值设定为2,但不局限于2,也可以根据实际情况调整第二阈值。
字符串相似度度量是寻找两个字符串的公共子串,利用公共子串的长度根据相应的公式来衡量两个字符串的相似程度。两个包名称的相似度越高,说明这两个包名称对应同款应用的可能性越大。
步骤S66,将该请求识别的应用安装包信息保存至该包黑名单中。然后,流程结束。
下面以这4个游戏apk文件对本实施方式进行说明:
链接①:http://dtcq.9game.cn/
链接②:http://game.xiaomi.com/app-appdetail--app_id__23682.html
链接③:http://www.9game.cn/yqdq/
链接④:http://www.9game.cn/yqdqol/
在步骤60中,分别对需要识别的游戏apk取出其appname属性,链接①、链接②、链接③、链接④的游戏apk的appname属性分别为:刀塔传奇、刀塔传奇、一骑当千OL、一骑当千OL。然后,将appname与数据库中保存的应用程序安装包的应用名称(appname)进行匹配,可以判定链接①、②可能为同个游戏,链接③、④可能为同个游戏。
在步骤S61中,由于步骤60中已经识别出链接①、②可能为同个游戏,链接③、④可能为同个游戏。故进一步取出apk文件内的packagename属性,其中链接①、链接②游戏apk的appname属性分别为:sh.lilith.dgame.uc、sh.lilith.dgame.mi,并进行关键字符(.)分词处理后进行不重叠词数的比较。
链接①:sh/lilith/dgame/uc
链接②:sh/lilith/dgame/mi
分词集合:sh/lilith/dgame/uc/mi
链接①和链接②对应分词集合的匹配词数分别为sh/lilith/dgame/uc/mi、sh/lilith/dgame/uc/mi,匹配分词后不重叠词数分别为1、1,取最大值1,发现小于2。故链接①和链接②对应的游戏apk为同个游戏,与人工验证结果一致。
类似原理,
链接③:com/yltx/tom/pkyjd/uc
链接④:com/qikuai/wanjun/uc
分词集合:com/yltx/tom/pkyjd/uc/qikuai/wanjun
链接③和链接④对应分词集合的匹配词数分别为com/yltx/tom/pkyjd/uc/qikuai/wanjun、com/yltx/tom/pkyjd/uc/qikuai/wanjun
匹配分词后不重叠词数分别为2、3,取最大值3,发现不满足小于2的条件。故链接③和链接④对应的游戏apk为不同游戏,与人工验证结果一致。
请参阅图7,步骤S14,即,当匹配成功时,确定该请求识别的应用安装包为该应用程序的安装包的步骤之后,该方法还包括:
步骤S75,反馈匹配的应用程序的安装包信息至用户终端。
此步骤将请求识别的应用安装包为查找到的应用程序的安装包,并将这个安装包的信息反馈至请求端,即,发送请求识别的应用安装包的信息至用户终端。
图7中的其他步骤请参阅图1及相应的文字说明。
请参阅图8,为本发明一种识别应用安装的装置的第一实施方式的结构示意图,该装置80包括信息获取单元81、判断单元82、匹配单元83以及执行单元84。
该信息获取单元81用于获取请求识别的应用安装包的信息。其中,该信息包括应用名称、包名称以及安装包大小。
进一步地,该信息获取单元81获取的请求识别的应用安装包的数量可以是一个或者多个。
该判断单元82用于判断该信息获取单元81获取的请求识别的应用安装包是否在一包黑名单中。其中,该包黑名单根据识别应用安装包的历史记录生成,用于保存与数据库中的应用安装包的包名称相似度满足预设条件的应用安装包信息,用于记录无法识别的应用安装包。该数据库相对应的存储有应用程序信息以及相应的正确的安装包信息。包黑名单的生成将在下文进行详细叙述。
该匹配单元83用于当该判断单元82确定该请求识别的应用安装包的包名称不在该包黑名单中时,根据该请求识别的应用安装包的信息在数据库中匹配对应的应用程序。
具体地,数据库中存储的应用程序以及正确的安装包信息是通过在服务器上运行的操作平台通过应用程序运营平台上传、开放平台接口推送、包采集审核入库等方式获取应用安装包,再通过aapt工具获取这些应用安装包的包名称,通过apktool工具获取这些应用安装包的应用名称,通过代码程序获取这些应用安装包的安装包大小。从而形成应用程序信息和其对应的正确的安装包信息。
该执行单元84用于当该匹配单元83匹配成功时,确定该请求识别的应用安装包为该应用程序的安装包,还用于当该匹配单元83没有匹配成功时,确定该请求识别的应用安装包不能被识别。
进一步地,该匹配单元83具体用于根据该请求识别的安装包的名称和大小在数据库中匹配对应的应用。
当匹配成功时,该执行单元84确定该请求识别的应用安装包为该应用程序的安装包;当没有匹配成功时,该匹配单元83还用于根据应用安装包的应用名称在数据库中匹配对应的应用。
当匹配成功时,该执行单元84确定该请求识别的应用安装包为该应用程序的安装包;当没有匹配成功时,该执行单元84确定该请求识别的应用安装包不能被识别。
其中,当根据应用安装包的包名和安装包大小并未在数据库中匹配成功时,则表明该请求识别的应用安装包不是由数据库用于收集应用程序安装包信息的发布平台发布的应用程序,而是由其它平台发布的。因此,在完成应用安装包是否为相同平台发布的应用的判断之后,还需要进一步地根据应用名称判断该请求识别的应用安装包是否有与数据库用于收集应用程序安装包信息的发布平台发布的应用的相同的应用,以完成跨平台的应用安装包的识别。数据库用于收集应用程序安装包信息的发布平台包括但不限于前面实施例的所述的数据库在形成应用程序信息和其对应的正确的安装包信息时,收集应用安装包的应用程序运营平台、开放平台等。
请参阅图9,该装置还包括包黑名单生成单元95,用于将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成包黑名单。
信息读取单元96,用于读取所述应用名称匹配日志以获取应用包名称;其中,所述应用名称匹配日志为请求识别的应用安装包与所述数据库中存储的应用程序的匹配记录。
当确定该请求识别的应用安装包不能被识别时,该信息读取单元96读取应用名称匹配日志以获取应用包名称。其中,该应用名称匹配日志记录了如完成上所述的实施例的识别应用安装包的后匹配成功的应用程序安装包,还包括没有匹配成功的应用的应用安装包。
查询单元97,用于根据请求识别的应用安装包的包名称在数据库中查询包列表;其中,所述包列表为所述数据库能够提供的应用安装包的信息列表
其中,该包列表为该数据库能够提供的应用安装包的信息列表,即,该包列表记录了数据库能够提供的应用安装包的包名称的列表。
在优选实施方式中,所述包黑名单生成单元95包括计算模块951和保存模块952;该所述计算模块951,用于逐个计算所述包列表中包含的包名称与获取的所述应用安装包的包名称的相似度。
具体地,该所述计算模块951根据RKR-GST算法逐个计算该包列表中包含的应用安装包的包名称与获取的该应用安装包的包名称的相似度。
所述保存模块952,用于当所述判断单元确定所述应用安装包最高相似度低于第一阈值时,将所述请求识别的应用安装包信息保存至所述包黑名单中。
图9中的其它单元请参见图8及相应的文字说明。
在另外一个实施例中,请参阅图10,该包黑名单生成单元105包括关键字符生成模块1053、比较模块1054、保存模块1052。
关键字符生成模块1053,用于根据查询单元107在数据中查询的包列表中一个待匹配的应用程序的包名称中提取关键字符以生成第一字符集,在所述请求识别的应用安装包的包名称中提取关键字符以生成第二字符集,并将所述第一字符集与所述第二字符集合并生成关键字符集合。具体地,该关键字符生成模块1053将应用安装包的包名称进行关键字符的分词处理,以分别生成第一字符集、第二字符集。
所述比较模块1054,用于将所述第一字符集和所述第二字符集分别与所述关键字符集合进行比较;
所述保存模块1052,用于确定不重叠的关键字符数量高于第二阈值时,将所述请求识别的应用安装包信息保存至所述包黑名单中。
优选实施方式中,包黑名单生成单元105还包括判断模块(图中未示出)还用于分别将第一字符集和所述第二字符集分别与所述关键字符集合比较后,判断不重叠的关键字符数量是否高于第二阈值。
当确定不重叠的关键字符数量高于第二阈值时,所述保存模块1052将该请求识别的应用安装包信息保存至该包黑名单中。当确定不重叠的关键字符数量不高于第二阈值时,则认为所述匹配单元匹配成功,该执行单元104确定该请求识别的应用安装包为该应用程序的安装包。
进一步地,当该匹配单元103根据请求识别的应用安装包的应用名称在数据库中匹配成功时,该执行单元104用于在该匹配单元103查找到的匹配的应用中选择与该请求识别的应用安装包的包名称相似度最高的应用程序,并将该请求识别的应用安装包识别为该应用程序的安装包。
图10中的其它单元请参见图9及相应的文字说明。
请参阅图11,为本发明一种应用安装包识别装置的第四实施方式的结构示意图,该装置还包括反馈单元115,当该执行单元114确定请求识别的应用安装包被识别为该应用程序的安装包后,该反馈单元115用于反馈查找到的应用程序的安装包信息至用户终端。
图11中的其它单元请参见图8及相应的文字说明。
本发明提供的一种识别应用安装包的装置,当判断请求识别的应用安装包的包名称没有在包黑名单中时,在保存应用安装包及其信息的数据库中查找与该请求识别的应用安装包匹配的应用,并当匹配成功时识别出该请求识别的应用安装包,从而识别的应用安装包不局限于相同平台提供的应用,能够跨平台识别应用安装包,并进行高覆盖、高精度的包识别。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种识别应用安装包的方法,包括:
获取请求识别的应用安装包的信息;
确定所述请求识别的应用安装包不在包黑名单中,则根据所述请求识别的应用安装包的信息在数据库中匹配对应的应用程序;其中,所述数据库相对应的存储有应用程序信息以及正确的安装包信息,所述包黑名单中的安装包的包名称与数据库中安装包的包名称相似度满足预设条件;以及
匹配成功,则确定所述请求识别的应用安装包为所述应用程序的安装包。
2.如权利要求1所述的方法,其中,所述请求识别的应用安装包的信息包括:安装包大小、包名称、应用程序名称其中的一项或者多项。
3.如权利要求2所述的方法,其中,所述方法还包括:
将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单。
4.如权利要求3所述的方法,其中,将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单包括:
根据请求识别的应用安装包的包名称在数据库中查询包列表;其中,所述包列表为所述数据库中的应用安装包的信息列表。
5.如权利要求4所述的方法,其中,所述将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单,还包括:
逐个计算所述包列表中包含的应用安装包的包名称与获取的所述 应用安装包的包名称的相似度;以及
确定所述应用安装包最高的相似度低于第一阈值,则将所述请求识别的应用安装包信息保存至所述包黑名单中。
6.如权利要求5所述的方法,其中,所述逐个计算所述包列表中包含的应用安装包的包名称与请求识别的应用安装包的包名称的相似度包括:
根据RKR-GST算法逐个计算所述包列表中包含的应用安装包的包名称与请求识别的应用安装包的包名称的相似度。
7.如权利要求4所述的方法,其中,所述将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单还包括:
在包列表中待匹配的应用程序的包名称中提取关键字符以生成第一字符集,在所述请求识别的应用安装包的包名称中提取关键字符以生成第二字符集,并将所述第一字符集与所述第二字符集合并生成关键字符集合;
将所述第一字符集和所述第二字符集分别与所述关键字符集合进行比较;
确定不重叠的关键字符数量高于第二阈值,则将所述请求识别的应用安装包信息保存至所述包黑名单中。
8.如权利要求2-7任意一项所述的方法,其中,根据所述请求识别的应用安装包的信息在数据库中匹配对应的应用程序包括:
根据所述请求识别的应用安装包的安装包大小、包名称在所述数据库中匹配对应的应用程序;
匹配失败,则根据所述请求识别的应用安装包的应用名称在所述数据库中匹配对应的应用程序;
匹配成功,则确定所述请求识别的应用安装包为所述应用程序的安装包。
9.如权利要求8所述的方法,还包括:
在所述匹配的应用程序中选择与所述请求识别的应用安装包的安装包名称相似度最高的应用程序作为所述请求识别的应用安装包对应的应用程序。
10.一种识别应用安装包的装置,包括:
信息获取单元,用于获取请求识别的应用安装包的信息;
判断单元,用于判断所述信息获取单元获取的所述请求识别的应用安装包是否在一包黑名单中;其中,所述包黑名单中的安装包的包名称与数据库中安装包的包名称相似度满足预设条件,所述数据库相对应的存储有应用程序信息以及正确的安装包信息;
匹配单元,用于当所述判断单元确定所述请求识别的应用安装包的不在所述包黑名单中时,根据所述请求识别的应用安装包的信息在所述数据库中匹配对应的应用程序;以及
执行单元,用于当所述匹配单元匹配成功时,确定所述请求识别的应用安装包为所述应用程序的安装包。
11.如权利要求10所述的装置,还包括:包黑名单生成单元,用于将所述请求识别的应用安装包的包名称与所述数据库中的安装包的包名称比较,生成所述包黑名单。
12.如权利要求11所述的装置,还包括:
信息读取单元,用于读取所述应用名称匹配日志以获取应用包名称;其中,所述应用名称匹配日志为请求识别的应用安装包与所述数据库中存储的应用程序的匹配记录;
查询单元,用于根据请求识别的应用安装包的包名称在数据库中查 询包列表;其中,所述包列表为所述数据库能够提供的应用安装包的信息列表。
13.如权利要求12所述的装置,其中,所述包黑名单生成单元包括:计算模块、保存模块;
所述计算模块,用于逐个计算所述包列表中包含的包名称与获取的所述应用安装包的包名称的相似度;
所述保存模块,用于当所述判断单元确定所述应用安装包最高相似度低于第一阈值时,将所述请求识别的应用安装包信息保存至所述包黑名单中。
14.如权利要求12所述的装置,其中,所述包黑名单生成单元包括:关键字符生成模块、比较模块、保存模块;
所述关键字符生成模块,用于在包列表中待匹配的应用程序的包名称中提取关键字符以生成第一字符集,在所述请求识别的应用安装包的包名称中提取关键字符以生成第二字符集,并将所述第一字符集与所述第二字符集合并生成关键字符集合;
所述比较模块,用于将所述第一字符集和所述第二字符集分别与所述关键字符集合进行比较;
所述保存模块,用于确定不重叠的关键字符数量高于第二阈值时,将所述请求识别的应用安装包信息保存至所述包黑名单中。
CN201510237798.6A 2015-05-11 2015-05-11 一种识别应用安装包的方法及装置 Active CN106293779B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510237798.6A CN106293779B (zh) 2015-05-11 2015-05-11 一种识别应用安装包的方法及装置
PCT/CN2016/079759 WO2016180193A1 (zh) 2015-05-11 2016-04-20 一种识别应用安装包的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510237798.6A CN106293779B (zh) 2015-05-11 2015-05-11 一种识别应用安装包的方法及装置

Publications (2)

Publication Number Publication Date
CN106293779A true CN106293779A (zh) 2017-01-04
CN106293779B CN106293779B (zh) 2019-11-08

Family

ID=57247738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510237798.6A Active CN106293779B (zh) 2015-05-11 2015-05-11 一种识别应用安装包的方法及装置

Country Status (2)

Country Link
CN (1) CN106293779B (zh)
WO (1) WO2016180193A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332824A (zh) * 2017-06-07 2017-11-07 北京奇安信科技有限公司 一种云应用的识别方法和装置
CN109977632A (zh) * 2019-02-20 2019-07-05 努比亚技术有限公司 防止盗版应用的方法、移动终端及计算机可读存储介质
CN112100044A (zh) * 2020-09-01 2020-12-18 广州掌淘网络科技有限公司 一种识别游戏相似程度的方法与设备
CN113050966A (zh) * 2021-03-12 2021-06-29 重庆长安汽车股份有限公司 一种车辆显示界面主题更新方法及系统
CN113378846A (zh) * 2021-06-13 2021-09-10 河北科技大学 成捆棒材端面字符识别方法
CN113835717A (zh) * 2020-06-23 2021-12-24 武汉斗鱼鱼乐网络科技有限公司 一种安装包获取方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955450B (zh) * 2019-12-16 2023-09-29 北京智游网安科技有限公司 一种应用包文件的归属统计方法、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217973A1 (en) * 2009-02-20 2010-08-26 Kress Andrew E System and method for encrypting provider identifiers on medical service claim transactions
CN102750482A (zh) * 2012-06-20 2012-10-24 东南大学 一种安卓市场中重包装应用的检测方法
CN103412767A (zh) * 2013-06-09 2013-11-27 百度国际科技(深圳)有限公司 一种应用版本的识别与升级方法以及系统
CN104133832A (zh) * 2014-05-15 2014-11-05 腾讯科技(深圳)有限公司 盗版应用的识别方法及装置
CN104317574A (zh) * 2014-09-30 2015-01-28 北京金山安全软件有限公司 识别应用程序类型的方法和装置
CN104424402A (zh) * 2013-08-28 2015-03-18 卓易畅想(北京)科技有限公司 一种用于检测盗版应用程序的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532730B (zh) * 2012-07-06 2016-09-07 哈尔滨安天科技股份有限公司 基于自解压技术的黑白名单自动化动态维护的方法及系统
CN103235913B (zh) * 2013-04-03 2016-12-28 北京奇虎科技有限公司 一种用于识别、拦截捆绑软件的系统、设备及方法
CN103679029A (zh) * 2013-12-11 2014-03-26 北京奇虎科技有限公司 一种修复山寨应用程序的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217973A1 (en) * 2009-02-20 2010-08-26 Kress Andrew E System and method for encrypting provider identifiers on medical service claim transactions
CN102750482A (zh) * 2012-06-20 2012-10-24 东南大学 一种安卓市场中重包装应用的检测方法
CN103412767A (zh) * 2013-06-09 2013-11-27 百度国际科技(深圳)有限公司 一种应用版本的识别与升级方法以及系统
CN104424402A (zh) * 2013-08-28 2015-03-18 卓易畅想(北京)科技有限公司 一种用于检测盗版应用程序的方法及装置
CN104133832A (zh) * 2014-05-15 2014-11-05 腾讯科技(深圳)有限公司 盗版应用的识别方法及装置
CN104317574A (zh) * 2014-09-30 2015-01-28 北京金山安全软件有限公司 识别应用程序类型的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332824A (zh) * 2017-06-07 2017-11-07 北京奇安信科技有限公司 一种云应用的识别方法和装置
CN107332824B (zh) * 2017-06-07 2020-07-28 奇安信科技集团股份有限公司 一种云应用的识别方法和装置
CN109977632A (zh) * 2019-02-20 2019-07-05 努比亚技术有限公司 防止盗版应用的方法、移动终端及计算机可读存储介质
CN113835717A (zh) * 2020-06-23 2021-12-24 武汉斗鱼鱼乐网络科技有限公司 一种安装包获取方法、装置、设备及存储介质
CN112100044A (zh) * 2020-09-01 2020-12-18 广州掌淘网络科技有限公司 一种识别游戏相似程度的方法与设备
CN112100044B (zh) * 2020-09-01 2023-03-24 广州掌淘网络科技有限公司 一种识别游戏相似程度的方法与设备
CN113050966A (zh) * 2021-03-12 2021-06-29 重庆长安汽车股份有限公司 一种车辆显示界面主题更新方法及系统
CN113378846A (zh) * 2021-06-13 2021-09-10 河北科技大学 成捆棒材端面字符识别方法

Also Published As

Publication number Publication date
CN106293779B (zh) 2019-11-08
WO2016180193A1 (zh) 2016-11-17

Similar Documents

Publication Publication Date Title
CN106293779A (zh) 一种识别应用安装包的方法及装置
US20190114668A1 (en) Application recommendation method and server
CN100533434C (zh) 在因特网搜索引擎上检测无效点击的方法和设备
CN101464905B (zh) 一种网页信息抽取的系统及方法
CN108062354A (zh) 信息推荐方法、系统、存储介质、电子设备及车辆
US20080059486A1 (en) Intelligent data search engine
KR101640051B1 (ko) 특유 콘텐츠 판정 장치, 특유 콘텐츠 판정 방법, 기록 매체, 콘텐츠 생성 장치 및 관련 콘텐츠 삽입 장치
CN107292463A (zh) 一种对应用程序进行项目评估的方法及系统
CN101853300A (zh) 一种视频下载服务网站的识别、评估方法及系统
CN104143005A (zh) 一种相关搜索系统及方法
US20130159337A1 (en) Method, apparatus and computer readable recording medium for a search using extension keywords
CN103534696A (zh) 针对口语语言理解中的域检测利用查询点击记录
CN106528851A (zh) 一种智能推荐方法及装置
CN107943873A (zh) 知识图谱建立方法、装置、计算机设备及存储介质
CN107315833A (zh) 基于应用程序的检索与下载的方法和装置
CN101959178A (zh) 一种用于识别无线终端的终端属性的方法与设备
CN106910135A (zh) 用户推荐方法及装置
CN106919576A (zh) 利用二级类目下的关键词库搜索应用程序的方法及装置
CN103577542B (zh) 应用程序的排名欺诈检测方法和排名欺诈检测系统
CN110209780B (zh) 一种问题模板生成方法、装置、服务器及存储介质
CN106919587A (zh) 应用程序搜索系统及方法
CN109241075A (zh) 指标基础数据的处理方法、设备及计算机可读存储介质
US7730062B2 (en) Cap-sensitive text search for documents
CN112685389B (zh) 数据管理方法、数据管理装置、电子设备及存储介质
CN111126503B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200526

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 02

Patentee before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd.