CN105574186A - 应用匹配方法和装置 - Google Patents

应用匹配方法和装置 Download PDF

Info

Publication number
CN105574186A
CN105574186A CN201510976305.0A CN201510976305A CN105574186A CN 105574186 A CN105574186 A CN 105574186A CN 201510976305 A CN201510976305 A CN 201510976305A CN 105574186 A CN105574186 A CN 105574186A
Authority
CN
China
Prior art keywords
known applications
title
intended application
application
bag
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
CN201510976305.0A
Other languages
English (en)
Other versions
CN105574186B (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 CN201510976305.0A priority Critical patent/CN105574186B/zh
Publication of CN105574186A publication Critical patent/CN105574186A/zh
Application granted granted Critical
Publication of CN105574186B publication Critical patent/CN105574186B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种应用匹配方法和装置。该方法包括:获取目标应用的应用数据包的包名称和App名称;根据所述目标应用的包名称在已知应用数据库中匹配已知应用;如果包名称匹配失败,则根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。另外,还可以根据包名称的部分匹配和图标比较来作为上述应用名称和App名称的补充。由此能够以高准确率和匹配率实现对目标应用的匹配。

Description

应用匹配方法和装置
技术领域
本申请涉及应用领域,尤其涉及应用匹配方法和装置。
背景技术
现如今,智能终端已经走进了千家万户。例如,由谷歌公司(GoogleInc.)开发的安卓(Android)系统也因其开源性和易用性占据了智能终端操作系统相当大的市场份额。安卓系统通过将APK(AndroidPackage,即应用数据包)直接传到安卓模拟器或是在智能终端中执行来进行安装。
由于种种原因,国内现在缺乏像GooglePlay这样的官方应用商店,各类发行平台林立。应用提供商通常会针对不同的发行平台,提供应用名称、App名称甚至是包名称不同的同一应用,导致现在应用市场上的应用命名混乱。由于各发行平台会获取其他发行平台上的应用,因此同一发行平台上可能会存在内容相同但名称不同的应用,用户也因此会遇到被发行平台推荐安装了名称不同但内容相同的应用,或是名称相同但其实并非用户实际想安装的应用,导致用户体验下降。
由于各应用通常无法从应用名称、包名称(PackageName)或是App名称(AppName)的直接比较来判断是否相同,因此需要一种应用匹配方法,来匹配名称可能不同但内容相同的应用,并区分名称可能相同但内容不同的应用。
发明内容
本申请通过对应用和/或其APK的多项属性信息(如应用名称、应用图标、APK解包后得到的包名称和App名称等)进行多维度、多流程的匹配,针对有无安装包的情况都提供了匹配方案,从而在最大程度上保证了应用的匹配率和准确率。
根据本申请的一个方面,提供了一种应用匹配方法,包括:获取目标应用的应用数据包的包名称和App名称;根据所述目标应用的包名称在已知应用数据库中匹配已知应用;如果包名称匹配失败,则根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。
这样,能够通过首先匹配准确度最高的包名称来实现准确快速的应用匹配。而在未查找到的情况下,通过比对应用名称和/或App名称,则能够在保证匹配准确率的同时实现更大范围的匹配。
优选地,根据目标应用的包名称在已知应用数据库中匹配已知应用可以包括:在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用;查找到与所述目标应用具有相同包名称的已知应用,则认为所述已知应用于所述目标应用匹配。这样,通过首先精确查找准确度最高的包名称,保证了应用匹配的高度精确性。
优选地,根据目标应用的应用名称的核心信息或者所属目标应用的APP名称在所述已知应用数据库中匹配已知应用可以包括:根据所述目标应用的App名称在所述已知应用数据库中查找已知应用或者根据所述目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用;确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同,则所述已知应用与所述目标应用匹配成功。
这样,在包名称匹配未查找到对应应用的情况下,通过比对核心应用名称和/或App名称,并基于比对结果相同在模糊比较包名称,则能够在保证匹配准确率的同时实现更大范围的匹配。
优选地,目标应用的应用名称的核心信息可以是核心应用名称,所述方法还包括:去除所述目标应用的应用名称中的无关部分得到核心应用名称。由此,进一步提高通过应用名称进行查找的准确性。
优选地,根据目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用包括如下任一项:在所述已知应用数据库中精确查找与所述目标应用具有相同核心应用名称的已知应用;在所述已知应用数据库中模糊匹配与所述目标应用具有相同核心应用名称的已知应用;以及使用将所述已知应用数据库作为搜索源的搜索引擎搜索所述核心应用名称。
这样,进一步明确了核心应用名称的比对可以根据实际情况选择是完全还是部分匹配,或者是符合搜索引擎搜索算法的匹配。
优选地,确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同可以包括:确定所述目标应用的包名称和所述已知应用的包名称的字符串使用符号“.”分隔,则比较包名称被分隔的部分,存在两个以下被分隔部分不同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同;或者去除所述目标应用的包名称和所述已知应用的包名称中的渠道标识;比较去除渠道标识后的目标应用的包名称和已知应用的包名称,若相同则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。
这样,就优选地实现了对于包名称至少部分相同的具体确定方法,由此在提高匹配率的同时保证了准确性。
优选地,将所述搜索到的已知应用的图标与所述目标应用的图标进行比较;两图标哈希指纹的汉明距离小于预设阈值,则判定所述目标应用与所述已知应用相匹配。
这样,对于无包情况或是对于之前比较未实现匹配的情况下,可以引入图标比较,由此进一步地在保证匹配准确率的同时实现更大范围的匹配。
根据本发明的另一个方面,提出了一种应用匹配装置,包括:名称获取单元,用于获取目标应用的应用数据包的包名称和App名称;包名称匹配单元,用于根据所述目标应用的包名称在已知应用数据库中匹配已知应用;应用名称/App名称匹配单元,如果包名称匹配失败,则根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。
优选地,所述包名称匹配单元可以在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用,并且若查找到与所述目标应用具有相同包名称的已知应用,则认为所述已知应用于所述目标应用匹配。
优选地,所述应用名称/App名称匹配单元可以根据所述目标应用的App名称在所述已知应用数据库中查找已知应用或者根据所述目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用,其中所述包名称匹配单元确定所查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同,则所述已知应用与所述目标应用匹配成功。
优选地,所述目标应用的应用名称的核心信息可以是核心应用名称,所述装置还可以包括:核心应用名称获取单元,用于去除所述目标应用的应用名称中的无关部分得到核心应用名称。
优选地,应用名称搜索单元可以用于在所述已知应用数据库中精确查找与所述目标应用具有相同核心应用名称的已知应用或是在所述已知应用数据库中模糊匹配与所述目标应用具有相同核心应用名称的已知应用;也可以包括搜索引擎,所述所述引擎使用所述已知应用数据库作为搜索源来搜索所述核心应用名称。
优选地,所述包名称匹配单元可以通过下述之一来确定包名称至少部分相同:确定所述目标应用的包名称和所述已知应用的包名称的字符串使用符号“.”分隔,则比较包名称被分隔的部分,存在两个以下被分隔部分不同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同;或者去除所述目标应用的包名称和所述已知应用的包名称中的渠道标识;比较去除渠道标识后的目标应用的包名称和已知应用的包名称,若相同则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。
优选地,所述装置还包括:图标比较单元,如果核心信息或App名称匹配失败,则用于将所述搜索到的已知应用的图标与所述目标应用的图标进行比较;图标比较判定单元,如果两图标哈希指纹的汉明距离小于预设阈值,则用于判定所述目标应用与所述已知应用相匹配。
通过上述应用匹配方法和装置,就能够通过灵活匹配应用名称、包名称和App名称来实现准确且高成功率的应用匹配。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是根据本发明一个实施例的应用匹配方法的流程图。
图2是根据本发明一个实施例的应用名称/App名称匹配步骤的流程图。
图3是根据本发明一个实施例的图标比较步骤的流程图。
图4是根据本发明一个实施例的应用匹配装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
对于应用发行平台而言,例如在新获取一个应用的时候,需要区分该应用是内容全新的应用,还是与已有应用内容实质相同的应用。由于这一判断区分过程通常无法通过简单比较应用名称来实现,因此本发明提出一种新的应用匹配方法和装置。虽然在下文的优选实施例中使用安卓应用数据包(APK)进行阐述,但是本发明的方法和装置也适用于其他使用应用数据包的系统和平台。
图1是根据本发明一个实施例的应用匹配方法的流程图。
在步骤110,获取目标应用的应用数据包的包名称和App名称。发行平台例如可以从下载链接获取应用的APK,并在随后判定该应用APK是新的应用还是与已有应用相同。由于获取到的应用通常是带有安装包的应用,因此本方法可以首先适用于目标应用具有应用数据包的情况。在应用有包的情况下,能够获知该应用的应用名称、包名称和App名称。例如,发行平台想要判断能从下载链接http://dtcq.9game.cn/下载的应用是否是已知应用,于是便从该链接获取应用的APK文件。该应用的应用名称是“刀塔传奇(剑圣的觉醒)”,APK解包后得到的包名称(PackageName)是“sh.lilith.dgame.uc”,App名称(AppName)是“Dota传奇”。
在步骤120,根据所述目标应用的包名称在已知应用数据库中匹配已知应用。这里的“匹配”可以采用本领域技术人员所认可的含义。在一个实施例中,该步骤可以包括在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用,如果查找到与所述目标应用具有相同包名称的已知应用,则认为所述已知应用于所述目标应用匹配。例如,若从应用数据库中找出包名称同样为“sh.lilith.dgame.uc”的已知应用,则可以直接判定该已知应用与目标应用匹配。
在步骤130,如果包名称匹配失败,则根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。在这里,应用名称的核心信息可以指的是核心应用名称。本发明的应用匹配方法还可以包括去除所述目标应用的应用名称中的无关部分得到核心应用名称,以便得到所需的应用名称的核心信息。例如,对于应用“刀塔传奇(剑圣的觉醒)”,其核心应用名称可以是去除了广告词“(剑圣的觉醒)”后得到的“刀塔传奇”。
在一个实施例中,步骤130可以如图2所示包括根据所述目标应用的App名称在所述已知应用数据库中查找已知应用或者根据所述目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用(步骤131);以及确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同,则所述已知应用与所述目标应用匹配成功(步骤132)。例如,可以首先在数据库中查找App名称“Dota传奇”和/或搜索核心应用名称“刀塔传奇”。随后如果查找或是搜索到的已知应用的包名称是“sh.lilith.dgame.mi”,这样就可以判定与目标应用的包名称“sh.lilith.dgame.uc”至少部分相同,因此判定上述下载链接http://dtcq.9game.cn/所对应的应用与已知应用是同一款应用。
上述对核心信息的搜索,可以是在应用数据库内的精确查找或是模糊匹配,也可以使用将应用数据库作为搜索源的搜索引擎进行搜索。在使用搜索引擎搜索时,可以对核心应用名称进行分词和计分,也可以选用多条搜索结果进行后续的包名称比较,例如选取搜索结果排名前5(计分前5)的已知应用进行随后的包名称比较,或是在先搜索核心应用名称再查找App名称最后比对包名称的情况下,选取例如搜索结果的前五条进行App名称查找和随后的包名称比较。
对于本文中提及的“精确查找”、“模糊匹配”和“搜索”,可以使用本领域技术人员周知的概念进行理解。例如对于“核心应用名称”为“刀塔传奇”和“App名称”为“Dota传奇”的目标应用来说,“精确查找”具有相同App名称的已知应用意味着查找到的已知应用与目标应用的App名称完全相同,都为“Dota传奇”,使用所述核心应用名称进行“模糊匹配”意味着所匹配的已知应用的核心应用名称至少包括字段“刀塔传奇”,“搜索”核心应用名称则意味着对“刀塔传奇”实施通常意义上搜索算法(该算法通常包括分词、计分、排序、取结果步骤,为本领域周知,在此不加赘述)。
在一个实施例中,确定包名称至少部分相同可以包括:确定所述目标应用的包名称和所述已知应用的包名称的字符串使用符号“.”分隔,则比较包名称被分隔的部分,存在两个以下被分隔部分不同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。在这里,两个以下被间隔部分不同可以是0、1或2个被间隔部分不同。例如,还是使用“sh.lilith.dgame.mi”和“sh.lilith.dgame.uc”的例子。在使用“.”分隔之后,各自得到四个被分隔部分“sh/lilith/dgame/mi”和“sh/lilith/dgame/uc”。由于其中只有一个被分隔部分不同,因此同样可以在核心应用名称和/或App名称相同的前提下,来判定目标应用与该已知应用是同一应用。
在另一个实施例中,确定包名称至少部分相同可以包括:去除所述目标应用的包名称和所述已知应用的包名称中的渠道标识;比较去除渠道标识后的目标应用的包名称和已知应用的包名称,若相同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。例如,已知应用包名称“sh.lilith.dgame.mi”的渠道标识是“mi”,而目标应用的包名称“sh.lilith.dgame.uc”的渠道标识是“uc”,两者在去除了渠道标识之后的包名称都为“sh.lilith.dgame”,即完全相同。由此可以结合核心应用名称和/或App名称相同,来判定目标应用与该已知应用是同一应用。另外,可以维护一个存储有各类渠道标识的渠道标识库。这样就可以根据渠道标识库中存储的各项,准确快捷地去除目标应用和已知应用的包名称中的渠道标识。
在一个优选实施例中,可以在比较过程中忽略包名称的大小写。例如,将包名称“sh.lilith.dgame.uc”判定为与“SH.LILITH.DGAME.UC”相同。
以上给出了在核心应用名称和/或App名称相同的前提下,根据包名称部分相同来判定同款应用的两个具体实现(即,去除渠道标识或被分隔部分的大部分相同)。然而可以理解的是,本领域技术人员也可以采用其他包名称部分相同的判定方式来判定同款应用而不背离本发明技术方案所涵盖的范围。
在一个实施例中,本发明的应用匹配方法还可以引入图标比较。图3是根据本发明实施例的图标比较步骤的示意图。在步骤140,可以将所述搜索到的已知应用的图标与所述目标应用的图标进行比较。在步骤150,如果两图标哈希指纹的汉明距离小于预设阈值,则判定所述目标应用与所述已知应用相匹配。该方法作为对上述方法及其优选实施例的补充或替换。例如在通过上述有包匹配方案未能找到与所述目标应用匹配的已知应用的情况下(即,无法获得包名称和App名称的情况下,例如仅提供在线使用版的情况),可以通过首先搜索或查找(例如,精确或模糊查找)核心应用名称,随后进行图标比较来判定匹配。又例如在包名称部分匹配也失败的情况下,通过应用名称、App名称和图标来判定匹配。
对于上例中所涉及的哈希指纹,在这里结合实例加以说明。在一个优选实施例中,可以将图标缩小(例如缩小到8x8,共64个像素)并灰度化,再计算灰度平均值。随后将每个像素的灰度与平均值相比较,大于等于平均值记为1,小于记为0,再转换此64位二进制值为16位16进制数,由此得到该图标的哈希值。在一个优选实施例中,如果两图标的16位哈希值的汉明距离小于5(即,不相同的位数小于5),则可以判定两图标相同。然而,显而易见的是,也可以根据实际情况使用更多或更少位数的哈希值,和/或更大或更小的阈值。例如,可以为16位哈希值的汉明距离判定设定为3、5或10的阈值,也可以直接求取64位的16进制哈希值并根据情况将判定阈值设为5、10或20。
在一个实施例中,上述方法可以在确定了与所述目标应用匹配的已知应用的情况下,将所述目标应用的信息加入所述已知应用数据库(或即所述应用搜索引擎的搜索源)。由此,通过不断地丰富已知应用数据库,能够持续改善应用的匹配率和准确率。
以上参考图1-3给出了应用匹配方法的技术方案。如下将参考图4给出对应的应用匹配装置。
图4是根据本发明一个实施例的应用匹配装置400的示意图。该应用匹配装置400用于将目标应用与已知应用匹配,并且包括名称获取单元410、包名称匹配单元420和应用名称/App名称匹配单元430。
名称获取单元410可以获取目标应用的应用数据包的包名称和App名称。包名称匹配单元420可以根据所述目标应用的包名称在已知应用数据库中匹配已知应用。应用名称/App名称匹配单元430则可以在包名称匹配失败的情况下根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。
在一个实施例中,包名称匹配单元420可以在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用,如果查找到与所述目标应用具有相同包名称的已知应用,则可认为所述已知应用于所述目标应用匹配。
在一个实施例中,应用名称/App名称匹配单元430可以包括应用名称匹配单元和App名称匹配单元中的任一或两者。应用名称匹配单元可以用于根据核心应用名称在应用数据库中进行搜索,而App名称匹配单元则可在应用数据库中查找该App名称。对于由所述App名称查找/应用名称搜索单元查找或者搜索到的已知应用,包名称匹配单元420可以确定上述已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称是否至少部分相同。若相同,则所述已知应用与所述目标应用匹配成功。
在一个实施例中,目标应用的应用名称的核心信息可以是核心应用名称。则应用匹配装置400还可以包括核心应用名称获取单元440,后者用于去除所述目标应用的应用名称中的无关部分得到核心应用名称。
在一个实施例中,应用名称搜索单元可以针对核心应用名称进行精确查找或模糊匹配,或是进行搜索。例如该应用名称搜索单元可以在所述已知应用数据库中精确查找或是模糊匹配与所述目标应用具有相同核心应用名称的已知应用。该应用名称搜索单元还可以包括搜索引擎或是就是搜索引擎本身。该搜索引擎使用所述已知应用数据库作为搜索源来搜索所述核心应用名称。
在一个实施例中,包名称匹配单元420也可以通过“.”分隔和去除渠道标识来确定包名称是否至少部分相同。由于与针对方法的阐述类似,在此不再赘述。
优选地,应用匹配装置400还可以包括图标比较单元450和图标比较判定单元460,作为上述包名称、应用名称和/或App名称匹配的补充或替换。图标比较单元450用于将所述搜索到的已知应用的图标与所述目标应用的图标进行比较。图标比较判定单元460用于在两图标哈希指纹的汉明距离小于预设阈值时判定所述目标应用与所述已知应用相匹配。在一个实施例中,在无法获取APK包并因此无法得知包名称及App名称的情况下,可以在应用名称匹配单元进行匹配的基础上,根据上述图标比较单元450和图标比较判定单元460的判定结果来实现应用匹配。
无论上述的哪一种情况,应用匹配装置都可以包括信息添加单元470。该信息添加单元可以在确定了与所述目标应用匹配的已知应用的情况下,将所述目标应用的信息加入所述已知应用数据库,由此实现数据库和搜索源的实时更新,从而持续提升匹配的准确率和成功率。
虽然在上文中给出了有关单元440-470的描述,但本领域技术人员应该理解的是,上述单元仅是用于实现本发明目的的优选而非必须的单元,因此在图4中用虚线示出。
上文中已经参考附图详细描述了根据本发明的应用匹配方法和装置。
此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种应用匹配方法,包括:
获取目标应用的应用数据包的包名称和App名称;
根据所述目标应用的包名称在已知应用数据库中匹配已知应用;
如果包名称匹配失败,则根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。
2.如权利要求1所述的方法,其中,根据所述目标应用的包名称在已知应用数据库中匹配已知应用包括:
在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用,
查找到与所述目标应用具有相同包名称的已知应用,则认为所述已知应用于所述目标应用匹配。
3.如权利要求1所述的方法,其中,根据所述目标应用的应用名称的核心信息或者所属目标应用的APP名称在所述已知应用数据库中匹配已知应用包括:
根据所述目标应用的App名称在所述已知应用数据库中查找已知应用或者根据所述目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用;
确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同,则所述已知应用与所述目标应用匹配成功。
4.如权利要求3所述的方法,其中,所述目标应用的应用名称的核心信息为核心应用名称,所述方法还包括:去除所述目标应用的应用名称中的无关部分得到核心应用名称。
5.如权利要求4所述的方法,其中,根据所述目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用包括如下任一项:
在所述已知应用数据库中精确查找与所述目标应用具有相同核心应用名称的已知应用;
在所述已知应用数据库中模糊匹配与所述目标应用具有相同核心应用名称的已知应用;以及
使用将所述已知应用数据库作为搜索源的搜索引擎搜索所述核心应用名称。
6.如权利要求3所述的方法,其中,确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同包括:
确定所述目标应用的包名称和所述已知应用的包名称的字符串使用符号“.”分隔,则比较包名称被分隔的部分,
存在两个以下被分隔部分不同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同;或者
去除所述目标应用的包名称和所述已知应用的包名称中的渠道标识;
比较去除渠道标识后的目标应用的包名称和已知应用的包名称,若相同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。
7.如权利要求1所述的方法,还包括:
将所述搜索到的已知应用的图标与所述目标应用的图标进行比较;
两图标哈希指纹的汉明距离小于预设阈值,则判定所述目标应用与所述已知应用相匹配。
8.一种应用匹配装置,包括:
名称获取单元,用于获取目标应用的应用数据包的包名称和App名称;
包名称匹配单元,用于根据所述目标应用的包名称在已知应用数据库中匹配已知应用;
应用名称/App名称匹配单元,如果包名称匹配失败,则根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。
9.如权利要求8所述的装置,其中所述包名称匹配单元在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用,并且若查找到与所述目标应用具有相同包名称的已知应用,则认为所述已知应用于所述目标应用匹配。
10.如权利要求8所述的装置,其中,所述应用名称/App名称匹配单元根据所述目标应用的App名称在所述已知应用数据库中查找已知应用或者根据所述目标应用的应用名称的核心信息在所述已知应用数据库中搜索已知应用,
其中所述包名称匹配单元确定所查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同,则所述已知应用与所述目标应用匹配成功。
11.如权利要求10所述的装置,其中,所述目标应用的应用名称的核心信息为核心应用名称,所述装置还包括:核心应用名称获取单元,用于去除所述目标应用的应用名称中的无关部分得到核心应用名称。
12.如权利要求11所述的装置,其中,所述应用名称匹配单元进行如下之一:
在所述已知应用数据库中精确查找与所述目标应用具有相同核心应用名称的已知应用;
在所述已知应用数据库中模糊匹配与所述目标应用具有相同核心应用名称的已知应用;或者
所述应用名称匹配单元包括搜索引擎,所述所述引擎使用所述已知应用数据库作为搜索源来搜索所述核心应用名称。
13.如权利要求10所述的装置,其中,所述包名称匹配单元通过下述之一来确定包名称至少部分相同:
确定所述目标应用的包名称和所述已知应用的包名称的字符串使用符号“.”分隔,则比较包名称被分隔的部分,
存在两个以下被分隔部分不同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同;或者
去除所述目标应用的包名称和所述已知应用的包名称中的渠道标识;
比较去除渠道标识后的目标应用的包名称和已知应用的包名称,若相同,则确定查找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。
14.如权利要求8所述的装置,还包括:
图标比较单元,用于将所述搜索到的已知应用的图标与所述目标应用的图标进行比较;
图标比较判定单元,两图标哈希指纹的汉明距离小于预设阈值,则用于判定所述目标应用与所述已知应用相匹配。
CN201510976305.0A 2015-12-21 2015-12-21 应用匹配方法和装置 Active CN105574186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510976305.0A CN105574186B (zh) 2015-12-21 2015-12-21 应用匹配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510976305.0A CN105574186B (zh) 2015-12-21 2015-12-21 应用匹配方法和装置

Publications (2)

Publication Number Publication Date
CN105574186A true CN105574186A (zh) 2016-05-11
CN105574186B CN105574186B (zh) 2019-02-15

Family

ID=55884317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510976305.0A Active CN105574186B (zh) 2015-12-21 2015-12-21 应用匹配方法和装置

Country Status (1)

Country Link
CN (1) CN105574186B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107609047A (zh) * 2017-08-18 2018-01-19 广东小天才科技有限公司 应用推荐方法、装置、移动设备及存储介质
CN110555304A (zh) * 2018-05-31 2019-12-10 武汉安天信息技术有限责任公司 恶意包名检测方法、恶意应用检测方法及相应装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003733A (ja) * 2011-06-14 2013-01-07 Docomo Systems Inc 通信装置、データアクセス方法、およびデータアクセスプログラム
CN103324697A (zh) * 2013-06-07 2013-09-25 北京掌汇天下科技有限公司 一种基于图标对比的android应用搜索山寨应用剔除方法
CN104090975A (zh) * 2014-07-18 2014-10-08 广州金山网络科技有限公司 一种应用管理方法及装置
CN104834690A (zh) * 2015-04-22 2015-08-12 北京金山安全软件有限公司 一种游戏应用的甄别方法及用户设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003733A (ja) * 2011-06-14 2013-01-07 Docomo Systems Inc 通信装置、データアクセス方法、およびデータアクセスプログラム
CN103324697A (zh) * 2013-06-07 2013-09-25 北京掌汇天下科技有限公司 一种基于图标对比的android应用搜索山寨应用剔除方法
CN104090975A (zh) * 2014-07-18 2014-10-08 广州金山网络科技有限公司 一种应用管理方法及装置
CN104834690A (zh) * 2015-04-22 2015-08-12 北京金山安全软件有限公司 一种游戏应用的甄别方法及用户设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107609047A (zh) * 2017-08-18 2018-01-19 广东小天才科技有限公司 应用推荐方法、装置、移动设备及存储介质
CN110555304A (zh) * 2018-05-31 2019-12-10 武汉安天信息技术有限责任公司 恶意包名检测方法、恶意应用检测方法及相应装置

Also Published As

Publication number Publication date
CN105574186B (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN104636488A (zh) 一种基于图片的重复视频文件确定方法及装置
CN102722585B (zh) 浏览器类型识别方法、装置及系统
CN109918285B (zh) 一种开源软件的安全识别方法及装置
CN109800560B (zh) 一种设备识别方法和装置
CN108140091A (zh) 漏洞发现装置、漏洞发现方法以及漏洞发现程序
CN107066303B (zh) 固件比对方法和装置
CN109635740B (zh) 视频目标检测方法、装置及图像处理设备
CN110543469B (zh) 一种数据库版本管理方法及服务器
CN105574186A (zh) 应用匹配方法和装置
CN110266598B (zh) 一种路由信息处理方法、装置、设备及可读存储介质
CN111797402A (zh) 一种软件漏洞检测的方法、装置及存储介质
CN112364014A (zh) 数据查询方法、装置、服务器及存储介质
CN114913321A (zh) 基于局部到全局知识迁移的物体注意力挖掘方法及系统
CN113052197B (zh) 身份识别的方法、装置、设备和介质
US20150193459A1 (en) Data file searching method
CN109684844B (zh) 一种webshell检测方法、装置以及计算设备、计算机可读存储介质
CN105653540B (zh) 文件属性信息的处理方法和装置
CN108366071B (zh) Url异常定位方法、装置、服务器及存储介质
CN110414845B (zh) 针对目标交易的风险评估方法及装置
CN112328779B (zh) 训练样本构建方法、装置、终端设备及存储介质
CN115345146A (zh) 一种文章检测的方法及装置
KR101963821B1 (ko) 프로그램 유사도 산출 방법 및 장치
CN110765318A (zh) 查询区块链数据的方法及装置
US7886282B1 (en) Augmenting signature-based technologies with functional flow graphs
CN106933834B (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

Effective date of registration: 20200810

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 radio square B tower 13 floor 02 unit self

Patentee before: Guangzhou Aijiuyou Information Technology Co.,Ltd.

TR01 Transfer of patent right