著录项信息
专利名称 | 一种基于图标对比的android应用搜索山寨应用剔除方法 |
申请号 | CN201310224721.6 | 申请日期 | 2013-06-07 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-09-25 | 公开/公告号 | CN103324697A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 北京掌汇天下科技有限公司 | 申请人地址 | 北京市海淀区海淀大街3号鼎好电子大厦A座10层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京掌汇天下科技有限公司 | 当前权利人 | 北京掌汇天下科技有限公司 |
发明人 | 王京;缪志坚 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明为一种android应用搜索的山寨应用剔除方法,其包括以下步骤:由爬虫网络抓取符合条件的应用;判断该抓取到的符合条件的应用是否与认证数据库中存储的应用存在相同图标,若认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,若不存在,则该符合条件的应用属于新的应用;判断该抓取到的符合条件的应用是否与认证数据库中该应用具有相同的签名;若认证数据库中存储的应用与抓取到的应用包名与签名均相同,可将其判断为正版;若判断结果为否,将其判断为山寨应用。该发明采用包名、签名和图标认证的方式,有效剔除了在检索过程中的山寨应用。
1.一种android应用搜索的山寨应用剔除方法,其特征在于,其包括以下步骤:
步骤a,由爬虫网络抓取符合条件的应用;
步骤b,判断上述步骤a中抓取到的符合条件的应用是否与认证数据库中存在的应用存在相同的包名;若抓取到的符合条件的应用与认证数据库中存在的应用存在相同的包名,则跳转至下述步骤d;若不存在,则跳转至下述步骤c;
步骤c,判断该抓取到的符合条件的应用是否与认证数据库中存储的应用存在相同图标,若认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至下述步骤e;若不存在,则该符合条件的应用属于新的应用,跳转至下述步骤f;
步骤d,判断该抓取到的符合条件的应用是否与认证数据库中该应用具有相同的签名;
若认证数据库中存储的应用与抓取到的应用包名与签名均相同,可将其判断为正版,跳转至下述步骤f;若判断结果为否,将其判断为山寨应用,跳转至下述步骤e;
步骤e,将该抓取到的应用从网络中剔除,跳转至下述步骤h;
步骤f,将该抓取到的应用添加至正版应用索引列表;
步骤g,将上述步骤f中得到的正版应用索引列表,经整理后发送至前端呈现给用户;
步骤h,结束;
所述认证数据库的形成过程为:
步骤b1,将希望被收录进认证数据库的正版应用向认证数据库发出认证请求;
步骤b2,所述认证数据库对提出请求的正版应用进行认证;
步骤b3,将通过上述步骤b2认证的正版应用进行解析,获取正版作者签名;
步骤b4,获取正版应用图标;
步骤b5,从已认证正版应用中获取正版应用包名并存储在认证签名库;
步骤b6,将正版作者签名经过散列函数运算成为长串的序列码供储存和比较用,将数字签名以上述长串序列码的形式存储在认证签名库中;
步骤b7将所有的正版应用的包名存储至认证签名库;
步骤b8,将所有的正版应用的图标存储至应用图标库;
步骤b9,经过上述步骤b8存储至所述应用图标库的应用图标形成所 述应用图标库;
步骤b10,经过上述步骤b6存储至所述认证签名库的认证签名和所述步骤b7存储的正版包名形成所述认证签名库;
步骤b11,所述认证签名库和应用图标库形成所述认证数据库。
2.根据权利要求1所述的android应用搜索的山寨应用剔除方法,其特征在于,所述步骤c中图标对比的过程为:
步骤c1,抓取到的应用与认证数据库中存在的应用不存在相同的包名;
步骤c2,获取抓取到的应用图标;
步骤c3,将上述步骤c2抓取到的应用图标送往应用图标库进行检测;
步骤c4,对所有应用图标库中的图标进行检测;若认证数据库中存在与抓取到的应用图标相同、包名不同的图标,则跳转至步骤c5;若不存在,则跳转至步骤c6;
步骤c5,跳转至上述步骤e;
步骤c6,跳转至上述步骤f。
3.根据权利要求1或2所述的android应用搜索的山寨应用剔除方法,其特征在于,所述步骤d中签名对比的过程为:
步骤d1,所搜到的应用与认证数据库中存在的应用存在相同的包名;
步骤d2,抓取该抓取到的应用的签名;
步骤d3,将所述步骤d2获取的签名信息送达认证签名库送检;
步骤d4,在认证签名库中定位上述步骤d2中检测到的认证数据库中相同的包名所对应的签名;
步骤d5,检测所述步骤d3所送检的签名是否与所述步骤d4中定位的已认证签名相同;
若相同,则跳转至下述步骤d6;若不同,则跳转至下述步骤d7;
步骤d6,跳转至上述步骤f;
步骤d7,跳转至上述步骤e。
4.根据权利要求1所述的android应用搜索的山寨应用删除方法,其特征在于,上述步骤a中,由用户在前端输入关键词,所述爬虫网络根据用户所输入的关键词对全网范围内进行搜索,抓取符合关键词条件的android应用并形成初步列表。
5.根据权利要求1所述的android应用搜索的山寨应用删除方法,其特征在于,上述步骤c中对所有应用图标库中的图标进行对比的过程,采用模板匹配的方法进行比对,其过程为:
步骤c11,将认证数据库中的图标与抓取到的应用的图标统一大小;
步骤c12,比较所述认证数据库中的图标与抓取到的应用的图标的平均色,若平均色差小于一预设值k(k>0),则跳转至下述步骤c13,否则,跳转至上述步骤e;
步骤c13,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的乘法操作的模板匹配,计算匹配度R1,若R1大于一预设阈值K1(K1≥0),则执行下述步骤c14;
若否,则跳转至上述步骤e;
步骤c14,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的对均值的相对值的乘法操作的模板匹配,计算匹配度R2,若R2大于一预设阈值K2(K2≥0),则执行下述步骤c15;若否,则跳转至上述步骤e;
步骤c15,比较所述认证数据库中的图标与抓取到的应用的图标基于标准平方差匹配的模板匹配,计算匹配度R3,若R3大于一预设阈值K3(K3≥0),则跳转至上述步骤f;若否,则跳转至上述步骤e。
6.根据权利要求5所述的android应用搜索的山寨应用删除方法,其特征在于,上述步骤c13中匹配度R1,根据下述公式(1)计算,
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算;
上述步骤c14中匹配度R2,根据下述公式(2)计算,
其中,T′和I′由下述公式(3)、(4)定义,
T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″) (3)I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″T(x+x″,y+y″) (4)式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;x″,y″分别表示抓取到的应用的图标的截取的图像的横纵坐标值,w表示截取的图像的宽度,h表示截取的图像的高度,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算;
上述步骤c15中匹配度R3,根据下述公式(5)计算,
式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。
7.根据权利要求5所述的android应用搜索的山寨应用剔除方法,其特征在于,所述预设值k为10度;所述阈值K1取值为0.99;所述阈值K2取值为0.95;所述阈值K3取值为0.01。
8.根据权利要求1所述的android应用搜索的山寨应用剔除方法,其特征在于,所述认证数据库包括一认证签名库和一应用图标库,所述认证签名库中的包名和签名一一对应。
9.根据权利要求1所述的android应用搜索的山寨应用剔除方法,其特征在于,上述包名、签名和图标的判断过程的执行程序存储在一对比器内,所述对比器分别获取爬虫网络中的待抓取应用和认证数据库中的应用的包名、签名、图标信息;并将处理结果传输至一索引数据库内,形成所述正版应用索引列表,经整理后发送至前端。
一种基于图标对比的android应用搜索山寨应用剔除方法\n技术领域\n[0001] 本发明涉及一种搜索剔除方法,特别涉及一种基于图标对比和签名对比的android应用搜索山寨应用剔除方法。\n背景技术\n[0002] android应用搜索领域,目前存在一个严重的问题,就是山寨应用层出不穷,各种应用市场都存在大量用户看起来无法分辨的类似(或相同)应用,让用户无所适从;山寨应用的生成者,有两种主要的打包方式:一是不改变原应用包名,添加恶意代码之后使用自有签名发布;二是修改应用包名,同时使用自有签名发布。即使是Google Play上面,也存在不少这种形式的山寨软件,第三方市场中,这种问题就更是普遍。在人工审核中,这种问题在特别知名的应用中可以比较好的通过审核人员的知识进行人工过滤。但对于不太知名的软件,以及在全网应用抓取中,由于人工或者网络爬虫都无法以简单的标准判断一个应用是否为山寨应用,因此这个问题更加棘手。\n[0003] 请参阅中国发明专利《:网页搜索方法和装置》,申请号:CN201210548469.X,公开了一种网页搜索方法和装置,在浏览器搜索栏中加载预置的搜索引擎类别信息生成搜索引擎类别列表;在浏览器搜索栏输入框中接收输入的搜索用关键字;接收对所述搜索引擎类别列表中的搜索引擎类别的选择信息;加载所选的搜索引擎类别对应的搜索引擎列表;接收对所述搜索引擎列表中的搜索引擎的选择信息,并依据所述搜索用关键字向所选择的搜索引擎发起搜索请求。该专利中使用搜索关键字形成搜索引擎列表,并未在搜索过程中进行鉴别和确认,检索到的信息极易产生无法分辨的类似信息。\n[0004] 鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本创作。\n发明内容\n[0005] 本发明的目的在于提供一种android应用搜索的山寨应用剔除方法, 用以克服上述技术缺陷。\n[0006] 为实现上述目的,本发明提供一种android应用搜索的山寨应用剔除方法,其包括以下步骤:\n[0007] 步骤a,由爬虫网络抓取符合条件的应用;\n[0008] 步骤b,判断上述步骤a中抓取到的符合条件的应用是否与认证数据库中存在的应用存在相同的包名;若抓取到的符合条件的应用与认证数据库中存在的应用存在相同的包名,则跳转至下述步骤d;若不存在,则跳转至下述步骤c;\n[0009] 步骤c,判断该抓取到的符合条件的应用是否与认证数据库中存储的应用存在相同图标,若认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至下述步骤e;若不存在,则该符合条件的应用属于新的应用,跳转至下述步骤f;\n[0010] 步骤d,判断该抓取到的符合条件的应用是否与认证数据库中该应用具有相同的签名;若认证数据库中存储的应用与抓取到的应用包名与签名均相同,可将其判断为正版,跳转至下述步骤f;若判断结果为否,将其判断为山寨应用,跳转至下述步骤e;\n[0011] 步骤e,将该抓取到的应用从网络中剔除,跳转至下述步骤h;\n[0012] 步骤f,将该抓取到的应用添加至正版应用索引列表;\n[0013] 步骤g,将上述步骤f中得到的正版应用索引列表,经整理后发送至前端呈现给用户;\n[0014] 步骤h,结束。\n[0015] 较佳的,所述认证数据库的形成过程为:\n[0016] 步骤b1,将希望被收录进认证数据库的正版应用向认证数据库发出认证请求;\n[0017] 步骤b2,所述认证数据库对提出请求的正版应用进行认证;\n[0018] 步骤b3,将通过上述步骤b2认证的正版应用进行解析,获取正版作者签名;\n[0019] 步骤b4,获取正版应用图标;\n[0020] 步骤b5,从已认证正版应用中获取正版应用包名并存储在认证签名库;\n[0021] 步骤b6,将正版作者签名经过散列函数运算成为长串的序列码供储存和比较用,将数字签名以上述长串序列码的形式存储在认证签名库中;\n[0022] 步骤b7将所有的正版应用的包名存储至认证签名库;\n[0023] 步骤b8,将所有的正版应用的图标存储至应用图标库;\n[0024] 步骤b9,经过上述步骤b8存储至所述应用图标库的应用图标形成所 述应用图标库;\n[0025] 步骤b10,经过上述步骤b7存储至所述认证签名库的认证签名和存储的正版包名形成所述认证签名库;\n[0026] 步骤b11,所述认证签名库和应用图标库形成所述认证数据库。\n[0027] 较佳的,所述步骤c中图标对比的过程为:\n[0028] 步骤c1,抓取到的应用与认证数据库中存在的应用不存在相同的包名;\n[0029] 步骤c2,获取抓取到的应用图标;\n[0030] 步骤c3,将上述步骤c2抓取到的应用图标送往应用图标库进行检测;\n[0031] 步骤c4,对所有应用图标库中的图标进行检测;若认证数据库中存在与抓取到的应用图标相同、包名不同的图标,则跳转至步骤c5;若不存在,则跳转至步骤c6;\n[0032] 步骤c5,跳转至上述步骤e;\n[0033] 步骤c6,跳转至上述步骤f。\n[0034] 较佳的,所述步骤d中签名对比的过程为:\n[0035] 步骤d1,所搜到的应用与认证数据库中存在的应用存在相同的包名;\n[0036] 步骤d2,抓取该抓取到的应用的签名;\n[0037] 步骤d3,将所述步骤d1获取的签名信息送达认证签名库送检;\n[0038] 步骤d4,在认证签名库中定位上述步骤d2中检测到的认证数据库中相同的包名所对应的签名;\n[0039] 步骤d5,检测所述步骤d3所送检的签名是否与所述步骤d4中定位的已认证签名相同;若相同,则跳转至下述步骤d6;若不同,则跳转至下述步骤d7;\n[0040] 步骤d6,跳转至上述步骤e;\n[0041] 步骤d7,跳转至上述步骤f。\n[0042] 较佳的,上述步骤a中,由用户在前端输入关键词,所述爬虫网络根据用户所输入的关键词对全网范围内进行搜索,抓取符合关键词条件的android应用并形成初步列表。\n[0043] 较佳的,上述步骤c中对所有应用图标库中的图标进行对比的过程,采用模板匹配的方法进行比对,其过程为:\n[0044] 步骤c11,将认证数据库中的图标与抓取到的应用的图标统一大小;\n[0045] 步骤c12,比较所述认证数据库中的图标与抓取到的应用的图标的平均色,若平均色差小于一预设值k(k>0),则跳转至下述步骤c13,否则,跳转至上述步骤e;\n[0046] 步骤c13,比较所述认证数据库中的图标与抓取到的应用的图标基于 标准相关匹配的乘法操作的模板匹配,计算匹配度R1,若R1大于一预设阈值K1(K1≥0),则执行下述步骤c14;若否,则跳转至上述步骤e;\n[0047] 步骤c14,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的对均值的相对值的乘法操作的模板匹配,计算匹配度R2,若R2大于一预设阈值K2(K2≥\n0),则执行下述步骤c15;若否,则跳转至上述步骤e;\n[0048] 步骤c15,比较所述认证数据库中的图标与抓取到的应用的图标基于标准平方差匹配的模板匹配,计算匹配度R3,若R3大于一预设阈值K3(K3≥0),则跳装置上述步骤f;若否,则跳转至上述步骤e。\n[0049] 较佳的,上述步骤c13中匹配度R1,根据下述公式(1)计算,\n[0050]\n[0051] 式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算;\n[0052] 上述步骤c14中匹配度R2,根据下述公式(2)计算,\n[0053]\n[0054] 其中,T′和I′由下述公式(3)、(4)定义,\n[0055] T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″) (3)[0056] I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″T(x+x″,y+y″) (4)[0057] 式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;x″,y″分别表示抓取到的应用的图标的截取的图像的横纵坐标值,w表示截取的图像的宽度,h表示截取的图像的高度,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算;\n[0058] 上述步骤c15中匹配度R3,根据下述公式(5)计算,\n[0059]\n[0060] 式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。\n[0061] 较佳的,所述预设值k为10度;所述阈值K1取值为0.99;所述阈值K2 取值为0.95;所述阈值K3取值为0.01。\n[0062] 较佳的,所述认证数据库包括一认证签名库和一应用图标库,所述认证签名库中的包名和签名一一对应。\n[0063] 较佳的,上述包名、签名和图标的判断过程的执行程序存储在一对比器内,所述对比器分别获取爬虫网络中的待抓取应用和认证数据库中的应用的包名、签名、图标信息;并将处理结果传输至一索引数据库内,形成所述正版应用索引列表,经整理后发送至前端。\n[0064] 与现有技术比较本发明的有益效果在于:本发明android应用抓取的山寨应用剔除方法,将需要抓取的应用分别于一认证数据库中的应用先后进行包名、签名、图标的比对验证,能够有效鉴别抓取到的应用属于对正版应用修改包名的山寨应用,或者抓取到的应用为全新的应用,或者抓取到的应用属于继承原有包名对正版应用进行山寨,或者认证数据库中存在应用与抓取到的应用包名相同、签名不同的山寨应用的多种情况,经过三种不同的对比方式,有效剔除山寨应用;在判断过程中,其参照一预先形成的认证数据库,该认证数据库包括应用图标库和认证签名库,使所述图标认证和签名认证能够有序进行。\n附图说明\n[0065] 图1为本发明android应用搜索的山寨应用剔除方法第一实施例的流程图;\n[0066] 图2为本发明android应用搜索的山寨应用剔除方法的认证数据库实现过程的流程图;\n[0067] 图3为本发明android应用搜索的山寨应用剔除方法的图标对比实现方法的流程图;\n[0068] 图4所为本发明android应用搜索的山寨应用剔除方法中图标模板匹配过程的流程图;\n[0069] 图5为本发明android应用搜索的山寨应用剔除方法的签名对比实现方法的流程图。\n具体实施方式\n[0070] 以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。\n[0071] 实施例一:\n[0072] 本发明android应用搜索山寨应用剔除方法能够按以下步骤实现:\n[0073] 请参阅图1所示,其为本发明android应用搜索的山寨应用剔除方法第一实施例的流程图,该过程为:\n[0074] 步骤a101:由爬虫网络抓取符合条件的应用,具体为:用户在前端输入关键词,爬虫网络抓取到符合关键词条件的android应用并形成初步列表;\n[0075] 步骤a102:判断抓取到的应用是否与认证数据库中存在的应用存在相同的包名,将经过所述步骤a101所形成的列表中的应用依次送至认证数据库,将抓取到的应用的包名与全库应用的包名进行比对,判断是否存在相同的包名;若抓取到的应用与认证数据库中存在的应用存在相同的包名,则跳转至步骤a104;若不存在,则跳转至步骤a103;该发明中的认证数据库包括一应用图标库和一认证签名库,其中,所述认证签名库中的包名和签名一一对应。\n[0076] 步骤a103:判断该抓取到的应用是否与认证数据库中存在的应用存在相同图标,具体为,经过所述步骤a102判断若不存在相同的包名,则对抓取到的应用的图标进行进一步判断,若判断结果为是,即认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至步骤a105;若不存在,即认证数据库中存在与抓取到的应用包名不同、图标也不同的情况,属于新的应用,则跳转至步骤a106;\n[0077] 步骤a104:判断该抓取到的应用是否与认证数据库中该应用具有相同的签名;经过所述步骤102判断若存在相同的包名,则对抓取到的应用的签名进行进一步判断,若判断结果为是,即认证数据库中存在应用与抓取到的应用包名与签名均相同,可将其判断为正版,跳转至步骤a106;\n[0078] 经过步骤a102判断若存在相同的包名,则对抓取到的应用的签名进行进一步判断,若判断结果为否,及认证数据库中存在应用与抓取到的应用包名相同、签名不同,可将其判断为山寨,跳转至步骤a106。\n[0079] 步骤a105:将经过上述步骤a102、a103、a104步骤判定为包名相同、签名不同,或者包名不同、图标相同,则将该抓取到的应用从网络中剔除;\n[0080] 步骤a106:将经过上述步骤a102、a103、a104步骤判定为包名相同、签名相同,或者包名不同、图标不同,则将该抓取到的应用添加至正版应用索引列表;\n[0081] 步骤a107:通过上述步骤a101、a102、a103、a104、a106筛选得到的正版应用索引列表,经整理后发送至前端呈现给用户。\n[0082] 通过上述步骤a101、a102、a103、a104、a105筛选剔除的山寨应用, 将从应用网络中完全删除,不会再被抓取引擎重新抓取到。\n[0083] 请参阅图2所示,其为本发明android应用搜索的山寨应用剔除方法的认证数据库形成过程的流程图,该过程为:\n[0084] 步骤a201:正版应用请求认证;具体为,希望被收录进认证数据库的正版应用向认证数据库发出认证请求;\n[0085] 步骤a202:认证数据库对提出请求的正版应用进行认证;具体为,认证数据库首先检测该应用是否正版应用,分别执行下述步骤a203、a204、a205;\n[0086] 步骤a203:获取正版作者签名;具体为,通过正版认证的所述步骤202之后解析该应用,获取正版作者签名;\n[0087] 步骤a204:获取正版应用图标;具体为,从已认证应用中获取正版应用图标并存储在应用图标库;\n[0088] 步骤a205:获取正版包名;具体为,从已认证正版应用中获取正版应用包名并存储在认证签名库;\n[0089] 步骤a206:经散列函数运算成为序列码;具体为获取正版应用作者签名之后,将正版作者签名经过散列函数运算成为长串的序列码供储存和比较用,将数字签名以上述长串序列码的形式存储在认证签名库中;\n[0090] 步骤a207:存储至认证签名库;具体为,将所有的正版应用的包名存储至认证签名库;\n[0091] 步骤a208:存储至应用图标库;具体为,将所有的正版应用的图标存储至应用图标库;\n[0092] 步骤a209:形成应用图标库;具体为,经过步骤208存储至应用图标库的应用图标形成应用图标库;\n[0093] 步骤a210:形成认证签名库;具体为,经过步骤207存储至认证签名库的认证签名和存储的正版包名形成认证签名库;\n[0094] 步骤a211:形成认证数据库,具体为,认证签名库和应用图标库形成认证数据库。\n[0095] 步骤a103:判断该抓取到的应用是否与认证数据库中存在的应用存在相同图标,具体为,经过所述步骤a102判断若不存在相同的包名,则对抓取到的应用的图标进行进一步判断,若判断结果为是,即认证数据库中存在与抓取到的应用包名不同但图标相同的应用,可将其判断为山寨应用,则跳转至步骤a105;若不存在,即认证数据库中存在与抓取到的应用包名不同、图标也不同的情况,属于新的应用,则跳转至步骤a106;\n[0096] 请参阅图3所示,其为本发明android应用搜索的山寨应用剔除方法的图标对比实现方法的流程图;\n[0097] 步骤a300:抓取到的应用与认证数据库中存在的应用不存在相同的包名;\n[0098] 步骤a301:获取抓取到的应用图标,具体为,若判断结果为未检测到与认证数据库中存在相同包名的应用,则抓取到的应用图标;\n[0099] 步骤a302:向应用图标库送检,具体为,将所述步骤a301抓取到的应用图标送往应用图标库进行检测;\n[0100] 步骤a303:图像检测:是否模板匹配,具体为,对所有应用图标库中的图标进行检测,范围为应用图标库中所有应用图标,本实施例中使用模板匹配的方法进行检测,将认证数据库中的所有应用图标与该抓取应用的图标进行一一比对;具体为,经步骤a303检测结果若为匹配,则认证数据库中存在一应用与抓取到的应用,存在图标相同、包名不同的情况,可认定,此抓取到的应用属于对正版应用修改包名的山寨应用,将其判定为山寨并跳转至步骤a304;检测结果若为不匹配,则该抓取到的应用与认证数据库中现有应用包名不相同、图标也不相同,属于全新的应用,不属于山寨并跳转至步骤a305;\n[0101] 步骤a304:则将该抓取到的应用从网络中剔除(同上述步骤a105)跳转至步骤a105;\n[0102] 步骤a305:则将该抓取到的应用添加至正版应用索引列表(同上述步骤a105)。\n[0103] 其中,在所述步骤a302、步骤a303步骤之后亦可添加对抓取到的应用进行签名检测的步骤。\n[0104] 请参阅图4所示,其为本发明android应用搜索的山寨应用剔除方法中图标模板匹配过程的流程图,上述步骤a303中,所述抓取到的图标与认证数据库中的图标进行模板的过程为:\n[0105] 步骤a41,将认证数据库中的图标与抓取到的应用的图标统一大小;其大小根据预先设定的数值而定;\n[0106] 步骤a42,比较所述认证数据库中的图标与抓取到的应用的图标的平均色,若平均色差小于一预设值k(k>0),则跳转至下述步骤a43,否则,跳转至上述步骤a304;在本实施例中,该预设值k为10度;\n[0107] 步骤a43,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的乘法操作的模板匹配,计算匹配度R1,若R1大于一预设阈值K1,则执行下述步骤a44;若否,则跳转至步骤a46;在本实施例中该阈值K1(K1≥0)取值为0.99;\n[0108] 上述计算匹配度R1依据下述公式(1)进行,\n[0109]\n[0110] 式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。\n[0111] 步骤a44,比较所述认证数据库中的图标与抓取到的应用的图标基于标准相关匹配的对均值的相对值的乘法操作的模板匹配,计算匹配度R2,若R2大于一预设阈值K2(K2≥\n0),则执行下述步骤a45;若否,则跳转至步骤a46;在本实施例中该阈值K2取值为0.95;\n[0112] 上述计算匹配度R2依据下述公式(2)进行,\n[0113]\n[0114] 其中,T′和I′由下述公式(3)、(4)定义,\n[0115] T′(x′,y′)=T(x′,y′)-1/(w·h)·∑x″,y″T(x″,y″) (3)[0116] I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·∑x″,y″T(x+x″,y+y″) (4)[0117] 式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值;x″,y″分别表示抓取到的应用的图标的截取的图像的横纵坐标值,w表示截取的图像的宽度,h表示截取的图像的高度,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。\n[0118] 步骤a45,比较所述认证数据库中的图标与抓取到的应用的图标基于标准平方差匹配的模板匹配,计算匹配度R3,若R3大于一预设阈值K3(K3≥0),则跳装置上述步骤a305;\n若否,则跳转至步骤a46;在本实施例中该阈值K3取值为0.01;\n[0119] 上述计算匹配度R3依据下述公式(5)进行,\n[0120]\n[0121] 式中,x,y分别表示抓取到的应用的图标的横纵坐标值,x′,y′分别表示所述认证数据库中的一图标的横纵坐标值,T表示认证数据库中的一图标的像素点运算,I表示抓取到的应用的图标的像素点运算。\n[0122] 步骤a46,跳转至上述步骤a304;\n[0123] 步骤a47,跳转至上述步骤a305。\n[0124] 所述抓取到的图标与认证数据库中的图标进行上述模板匹配后,则可 断定该抓取到的应用程序是否为全新的应用程序。\n[0125] 请参阅图5所示,其为本发明android应用搜索的山寨应用剔除方法的签名对比实现方法的流程图。\n[0126] 步骤a400:抓取到的应用经由认证数据库判断,存在与认证数据库中所认证存储的应用具有相同的包名;\n[0127] 步骤a401:若判断结果为检测到与认证数据库中存在相同包名应用,则抓取该抓取到的应用的签名;\n[0128] 步骤a402:将所述步骤401获取的签名信息送达认证签名库送检;\n[0129] 步骤a403:在认证签名库中定位步骤102中检测到的认证数据库中相同的包名所对应的签名;\n[0130] 步骤a404:检测所述步骤402所送检的签名是否与所述步骤403中定位的已认证签名相同;若所述步骤402检测结果为不同,则认证数据库中存在已认证应用与所抓取到的应用具有相同的包名和不同的签名,可认定,抓取到的应用属于继承原有包名对正版应用进行山寨的方法,由于其无法复制原有作者的签名,所以通过此种方法将其鉴别出来,若检测结果为包名相同、签名不同,并跳转至步骤a405;若步骤402检测结果为相同,则认证数据库中存在已认证应用与所抓取到的应用具有相同的包名和签名,则可判定所抓取到的应用为正版,并跳转至步骤a406;\n[0131] 步骤a405:跳转至下述步骤a105;\n[0132] 步骤a406:跳转至下述步骤a106;\n[0133] 其中,在上述步骤a402、a403、a404之后亦可加入对抓取到的应用进行图标检测的步骤。\n[0134] 在本发明中,上述包名、签名和图标的判断过程的执行程序存储在一对比器内,所述对比器分别获取爬虫网络中的待抓取应用和认证数据库中的应用的包名、签名、图标信息;并将处理结果传输至一索引数据库内,形成所述正版应用索引列表,经整理后发送至前端。\n[0135] 以上所述仅为本发明的较佳实施例,对发明而言仅仅是说明性的,而非限制性的。\n本专业技术人员理解,在发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。
法律信息
- 2016-08-24
- 2013-10-30
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201310224721.6
申请日: 2013.06.07
- 2013-09-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2007-09-11
| | |
2
| |
2011-11-23
|
2011-06-27
| | |
3
| |
2011-10-19
|
2011-06-03
| | |
4
| |
2012-11-14
|
2012-06-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |