应用匹配方法和装置的制造方法_3

文档序号:9810713阅读:来源:国知局
找或者搜索到的已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称至少部分相同。例如,已知应用包名称“sh.lilith.dgame.mi”的渠道标识是“mi”,而目标应用的包名称“sh.lilith.dgame.uc”的渠道标识是“uc”,两者在去除了渠道标识之后的包名称都为“sh.lilith.dgame”,即完全相同。由此可以结合核心应用名称和/或App名称相同,来判定目标应用与该已知应用是同一应用。另外,可以维护一个存储有各类渠道标识的渠道标识库。这样就可以根据渠道标识库中存储的各项,准确快捷地去除目标应用和已知应用的包名称中的渠道标识。
[0042]在一个优选实施例中,可以在比较过程中忽略包名称的大小写。例如,将包名称“sh.lilith.dgame.uc” 判定为与 “SH.LILITH.DGAME.UCT 相同。
[0043]以上给出了在核心应用名称和/或App名称相同的前提下,根据包名称部分相同来判定同款应用的两个具体实现(即,去除渠道标识或被分隔部分的大部分相同)。然而可以理解的是,本领域技术人员也可以采用其他包名称部分相同的判定方式来判定同款应用而不背离本发明技术方案所涵盖的范围。
[0044]在一个实施例中,本发明的应用匹配方法还可以引入图标比较。图3是根据本发明实施例的图标比较步骤的示意图。在步骤140,可以将所述搜索到的已知应用的图标与所述目标应用的图标进行比较。在步骤150,如果两图标哈希指纹的汉明距离小于预设阈值,则判定所述目标应用与所述已知应用相匹配。该方法作为对上述方法及其优选实施例的补充或替换。例如在通过上述有包匹配方案未能找到与所述目标应用匹配的已知应用的情况下(即,无法获得包名称和App名称的情况下,例如仅提供在线使用版的情况),可以通过首先搜索或查找(例如,精确或模糊查找)核心应用名称,随后进行图标比较来判定匹配。又例如在包名称部分匹配也失败的情况下,通过应用名称、App名称和图标来判定匹配。
[0045]对于上例中所涉及的哈希指纹,在这里结合实例加以说明。在一个优选实施例中,可以将图标缩小(例如缩小到8x8,共64个像素)并灰度化,再计算灰度平均值。随后将每个像素的灰度与平均值相比较,大于等于平均值记为1,小于记为0,再转换此64位二进制值为16位16进制数,由此得到该图标的哈希值。在一个优选实施例中,如果两图标的16位哈希值的汉明距离小于5(即,不相同的位数小于5),则可以判定两图标相同。然而,显而易见的是,也可以根据实际情况使用更多或更少位数的哈希值,和/或更大或更小的阈值。例如,可以为16位哈希值的汉明距离判定设定为3、5或10的阈值,也可以直接求取64位的16进制哈希值并根据情况将判定阈值设为5、10或20。
[0046]在一个实施例中,上述方法可以在确定了与所述目标应用匹配的已知应用的情况下,将所述目标应用的信息加入所述已知应用数据库(或即所述应用搜索引擎的搜索源)。由此,通过不断地丰富已知应用数据库,能够持续改善应用的匹配率和准确率。
[0047]以上参考图1-3给出了应用匹配方法的技术方案。如下将参考图4给出对应的应用匹配装置。
[0048]图4是根据本发明一个实施例的应用匹配装置400的示意图。该应用匹配装置400用于将目标应用与已知应用匹配,并且包括名称获取单元410、包名称匹配单元420和应用名称/App名称匹配单元430。
[0049]名称获取单元410可以获取目标应用的应用数据包的包名称和App名称。包名称匹配单元420可以根据所述目标应用的包名称在已知应用数据库中匹配已知应用。应用名称/App名称匹配单元430则可以在包名称匹配失败的情况下根据所述目标应用的应用名称的核心信息或者所属目标应用的App名称在所述已知应用数据库中匹配已知应用。
[0050]在一个实施例中,包名称匹配单元420可以在所述已知应用数据库中查找与所述目标应用具有相同包名称的已知应用,如果查找到与所述目标应用具有相同包名称的已知应用,则可认为所述已知应用于所述目标应用匹配。
[0051 ] 在一个实施例中,应用名称/App名称匹配单元430可以包括应用名称匹配单元和App名称匹配单元中的任一或两者。应用名称匹配单元可以用于根据核心应用名称在应用数据库中进行搜索,而App名称匹配单元则可在应用数据库中查找该App名称。对于由所述App名称查找/应用名称搜索单元查找或者搜索到的已知应用,包名称匹配单元420可以确定上述已知应用在已知应用数据库中存储的包名称与所述目标应用的包名称是否至少部分相同。若相同,则所述已知应用与所述目标应用匹配成功。
[0052]在一个实施例中,目标应用的应用名称的核心信息可以是核心应用名称。则应用匹配装置400还可以包括核心应用名称获取单元440,后者用于去除所述目标应用的应用名称中的无关部分得到核心应用名称。
[0053]在一个实施例中,应用名称搜索单元可以针对核心应用名称进行精确查找或模糊匹配,或是进行搜索。例如该应用名称搜索单元可以在所述已知应用数据库中精确查找或是模糊匹配与所述目标应用具有相同核心应用名称的已知应用。该应用名称搜索单元还可以包括搜索引擎或是就是搜索引擎本身。该搜索引擎使用所述已知应用数据库作为搜索源来搜索所述核心应用名称。
[0054]在一个实施例中,包名称匹配单元420也可以通过分隔和去除渠道标识来确定包名称是否至少部分相同。由于与针对方法的阐述类似,在此不再赘述。
[0055]优选地,应用匹配装置400还可以包括图标比较单元450和图标比较判定单元460,作为上述包名称、应用名称和/或App名称匹配的补充或替换。图标比较单元450用于将所述搜索到的已知应用的图标与所述目标应用的图标进行比较。图标比较判定单元460用于在两图标哈希指纹的汉明距离小于预设阈值时判定所述目标应用与所述已知应用相匹配。在一个实施例中,在无法获取APK包并因此无法得知包名称及App名称的情况下,可以在应用名称匹配单元进行匹配的基础上,根据上述图标比较单元450和图标比较判定单元460的判定结果来实现应用匹配。
[0056]无论上述的哪一种情况,应用匹配装置都可以包括信息添加单元470。该信息添加单元可以在确定了与所述目标应用匹配的已知应用的情况下,将所述目标应用的信息加入所述已知应用数据库,由此实现数据库和搜索源的实时更新,从而持续提升匹配的准确率和成功率。
[0057]虽然在上文中给出了有关单元440-470的描述,但本领域技术人员应该理解的是,上述单元仅是用于实现本发明目的的优选而非必须的单元,因此在图4中用虚线示出。
[0058]上文中已经参考附图详细描述了根据本发明的应用匹配方法和装置。
[0059]此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1