CN107463578B - 应用下载量统计数据去重方法、装置和终端设备 - Google Patents
应用下载量统计数据去重方法、装置和终端设备 Download PDFInfo
- Publication number
- CN107463578B CN107463578B CN201610394413.1A CN201610394413A CN107463578B CN 107463578 B CN107463578 B CN 107463578B CN 201610394413 A CN201610394413 A CN 201610394413A CN 107463578 B CN107463578 B CN 107463578B
- Authority
- CN
- China
- Prior art keywords
- data
- application
- field
- basic data
- data set
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种应用下载量统计数据去重方法,首先,获取由多条记录有应用下载量的基础数据构成的基础数据集;然后,以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;接下来,以所述数据组为任务节点,在所述数据组中判断出重复数据,并根据判断结果对重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;最后,根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。通过本方法,可有效去除应用下载量统计数据中的重复数据,解决了现有技术中没有去除应用下载量统计数据中的重复数据的解决方案的问题,进而解决目前对下载量统计不准确的问题。
Description
技术领域
本发明涉及数据统计领域,具体的说是一种应用下载量统计数据去重方法、一种应用下载量统计数据去重装置和一种应用下载量统计数据去重终端设备。
背景技术
目前,互联网中有很多应用商店,应用商店中提供各种种类的应用供用户下载。
为了解互联网中各个应用商店(APP store)中的不同应用的数量情况,需要对应用商店中的各个应用的数量进行统计。但是,目前应用商店中普遍存在应用重复上架的情况,比如同一个应用因版本、名称的差异,在同一商店内可能存在多个,每个的下载量可能相同也可能不同,从而会导致对应用下载量的统计不准确。相似的,为了解互联网中不同应用的总的数量,也需要对应用商店中的各个应用的数量进行统计,由于应用商店中普遍存在的应用重复问题,依照现有技术无法得到准确的统计结果。
发明内容
鉴于上述问题,迫切需要一种能够有效识别应用商店中的重复应用,并能够去除从应用商店中爬取的应用下载量统计数据中的重复数据的应用下载量统计数据去重方法,以及相对应的一种应用下载量统计数据去重装置和一种应用下载量统计数据去重终端设备。
本发明采用的技术方案是:
本申请提供一种应用下载量统计数据去重方法,包括:
获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段;
以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段;
以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;
根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
可选的,在所述根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集的步骤前,还包括:
对所述中间数据集中下载量字段相同的多条参照数据,从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,根据比较结果判断所述多条参照数据中是否含有重复数据,并对判断出的重复数据进行区分性打标。
可选的,所述应用下载量统计数据去重方法,还包括:
对所述结果数据集中的基础数据,根据所述基础数据中的应用名称字段在预设的别名库中查询相应的别名;
在所述基础数据中添加相应的别名字段,获得由添加别名字段后的基础数据构成的别名数据集。
可选的,所述应用下载量统计数据去重方法,还包括:
对所述别名数据集中的别名字段相同而应用商店标识字段不同的多条基础数据,从应用图标指纹字段和应用开发者字段中的至少一个维度进行比较,根据比较结果判断是否为相同应用,对不同应用的别名进行区分性修改,获得统计数据集。
可选的,所述获取由多条记录有应用下载量的基础数据构成的基础数据集的步骤,包括:
采用网络爬取方法从不同应用商店中爬取含有应用下载量的多条基础数据,所述多条基础数据构成基础数据集。
本申请还提供一种应用下载量统计数据去重装置,包括:
数据集获取模块,用于获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段;
数据分组模块,用于以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段;
数据打标模块,用于以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;
数据归约模块,用于根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
可选的,所述应用下载量统计数据去重装置,还包括:
同下载量判重模块,用于对所述中间数据集中下载量字段相同的多条参照数据,从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,根据比较结果判断所述多条参照数据中是否含有重复数据,并对判断出的重复数据进行区分性打标。
可选的,所述应用下载量统计数据去重装置,还包括:
别名查询模块,用于对所述结果数据集中的基础数据,根据所述基础数据中的应用名称字段在预设的别名库中查询相应的别名;
别名添加模块,用于在所述基础数据中添加相应的别名字段,获得由添加别名字段后的基础数据构成的别名数据集。
可选的,所述应用下载量统计数据去重装置,还包括:
别名核查模块,用于对所述别名数据集中的别名字段相同而应用商店标识字段不同的多条基础数据,从应用图标指纹字段和应用开发者字段中的至少一个维度进行比较,根据比较结果判断是否为相同应用,对不同应用的别名进行区分性修改,获得统计数据集。
可选的,所述数据集获取模块包括:
数据爬取单元,用于采用网络爬取方法从不同应用商店中爬取含有应用下载量的多条基础数据,所述多条基础数据构成基础数据集。
本申请还提供一种应用下载量统计数据去重终端设备,包括:
中央处理器;
输入输出单元;
存储器;
所述终端设备启动后对应用下载量统计数据去重。
本发明的有益效果为:
本申请提供一种应用下载量统计数据去重方法,首先,获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段;然后,以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段;接下来,以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;最后,根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
通过本方法,可有效去除应用下载量统计数据中的重复数据,解决了现有技术中没有去除应用下载量统计数据中的重复数据的解决方案的问题,进而能够较为准确的统计出同一应用商店中的各个应用的下载量,以及同一应用在所有应用商店中的下载量,从而解决目前对下载量统计不准确的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明提供的一种应用下载量统计数据去重方法实施例的流程图;
图2是本发明提供的一种应用下载量统计数据去重装置实施例的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。用于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到目前没有去除应用下载量统计数据中的重复数据的解决方案的问题,本发明实施例提供了一种应用下载量统计数据去重方法、一种应用下载量统计数据去重装置和一种应用下载量统计数据去重终端设备,下面依次结合附图对本发明的实施例进行详细说明。
请参考图1,其为本发明提供的一种应用下载量统计数据去重方法实施例的流程图,所述应用下载量统计数据去重方法包括如下步骤:
步骤S101:获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段。
本步骤,首先获取由多条记录有应用下载量的基础数据构成的基础数据集。
其中,所述基础数据集是通过网络爬虫从应用商店中爬取获得的,在本申请提供的一个实施例中,所述获取由多条记录有应用下载量的基础数据构成的基础数据集的步骤,包括:采用网络爬取方法从不同应用商店中爬取含有应用下载量的多条基础数据,所述多条基础数据构成基础数据集。
其中,所述网络爬取方法也称互联网数据采集方法,是一种自动的从互联网中发现并抓取网页,以及在网页中查询获得目标数据的方法,也叫做网络爬虫。从爬取原理来看,网络爬虫一般分为传统爬虫和聚焦爬虫,传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。通俗的讲,也就是通过源码解析来获得想要的内容。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
一种典型的网络爬取方法是nutch爬虫,nutch爬虫包括crawler(爬虫)和searcher(查询)两部分,其中,Crawler主要用于从网络上抓取网页并为这些网页建立索引,Searcher主要利用这些索引检索用户的查找关键词来产生查找结果即目标数据。利用nutch爬虫即可根据应用商店的url,在所述应用商店内自动打开链接的应用页面,并从所述应用页面中查询获取应用的应用名称、应用编码、应用版本、应用开发者、应用下载量、应用描述和应用商店标识等页面内容,摘取其中的字段组成基础数据,多个应用的基础数据共同组成基础数据集。
以上仅示例性对网络爬虫进行了说明,除此之外,非nutch爬虫也可以实现本步骤,此外,现有技术中,根据编程语言、应用环境等,还有多种多样的网络爬虫,例如Java爬虫、Python爬虫、C++爬虫、C#爬虫、PHP爬虫、ErLang爬虫和Ruby爬虫等,此均为现有技术中的成熟基础,因此本文不再赘述,其均在本申请的保护范围之内。
需要说明的是,本步骤中获取所述基础数据集的方法并不限于即时爬取,也可以是提前爬取完成后在本步骤中直接导入所述基础数据集,此外,采用现有技术中的其他方式能够获取应用商店中的应用下载量的数据的方法,也在本申请的保护范围之内。
步骤S102:以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段。
通过步骤S101,已获取由多条记录有应用下载量的基础数据构成的基础数据集,接下来,以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组。
本申请采用Map/Reduce算法进行运算,Map/Reduce是一种分布式计算框架模型。通过基于Map/Reduce框架的分布式并行计算可以驱动成千上万的计算节点,快速完成非常巨大数据量的计算任务。Map/Reduce框架将巨大的数据集分割成许多子集,各个计算节点只负责分配给其的子集的计算,然后将子集计算结果进行合并计算,得到最终结果,整个计算的效率非常高,每个节点承担的计算压力都是可控的,系统横向扩展能力极强,且具有较高的容错性。
Map/Reduce数据计算过程可以分为两个阶段:Map(映射)和Reduce(归约),分别对应于两个处理函数mapper和reducer。Map/Reduce对数据集进行并行处理时的过程如下:根据Map(映射)任务的数量,将数据集分解为多个数据块;分别对每个数据块中的每个原始键值对数据执行Map处理,得到每个原始键值对数据对应的中间结果键值对数据集;在得到所有原始键值对数据对应的中间结果键值对数据集后,分别对所有具有相同键的中间结果键值对数据进行相应的Reduce(归约)处理,得到相应的最终结果键值对数据。
基于上述运算方法,本步骤中,首先以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组,所述数据组即上文提到的数据块,以便于在后续步骤中以数据组为任务节点进行运算。
步骤S103:以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集。
通过步骤S102,已以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组,接下来,以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集。
经调查分析,同一应用商店中的应用重复上架的情形主要是应用版本更新导致的新旧版本应用的重复,其应用名称一般是相同的,其应用下载量一般相同或相差较小,而每个应用的下载量都是累计生成的,因此对于同一应用,其最新的数据中的下载量一般是最大的。鉴于以上分析结果,本步骤以具有相同应用名称的数据组为任务节点,将数据组中下载量最大的一条数据作为参照数据,所述参照数据将作为有效数据最终输出,在剩余的基础数据中,需要判断其是否为重复数据,判断方法就是与参照数据的下载量进行比较,比如,根据试验结果,重复应用的下载量相差一般不超过10%,因此,将10%作为预设的阈值条件,计算剩余基础数据的下载量字段与所述参照数据的差异,若小于10%,则认为两条数据为同一应用,及所述基础数据为重复数据,若大于10%,则认为两条数据不是同一应用,判断所述基础数据不是重复应用,即所述数据组中又至少包括两个应用,因此,接下来,需要将所述基础数据也作为参照数据供剩余基础数据进行比较计算,后续的剩余基础数据需要与之前确定的两条参照数据都进行比较,若与任一条的差异小于10%,则认为所述基础数据为重复数据,否则,将所述基础数据也作为参照数据,加入后续的比较计算中,如此循环执行,直至完成所述数据组内所有基础数据的判断,其中,在判断完成后,对判断出来的重复数据进行区分性打标,标记出所述数据组中的重复数据。在对每个数据组完成判断和打标后,最终获得由打标后的基础数据构成的中间数据集。
其中,所述打标是通过在所述基础数据中增加字段或修改所述基础数据中的指定字段,使其中的重复数据能够与参照数据进行区分的过程,例如,在每条重复数据后增加一个字段,标记为“重复数据”;又如将每条重复数据中的下载量字段修改为负数,在后续统计中也可以进行区分,只要不统计负数即可。
需要说明的是,本步骤中,可以仅对于重复数据进行打标,也可以对所有基础数据进行打标,只不过对于参照数据和重复数据打不同的标识,也可以实现本申请的目的,具体打标内容不再赘述,其均在本申请的保护范围之内。
步骤S104:根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
通过步骤S103,已以数据组为任务节点进行重复数据的判断,并根据判断结果对重复数据进行区分性打标,获得由打标后的基础数据构成的中间数据集,接下来,根据打标内容对所述中间数据集中的所有基础数据进行归约(reduce)处理,即可获得去除重复数据的结果数据集。
至此,通过步骤S101至步骤S104,完成了应用下载量统计数据去重流程,通过本方法,可以去除基础数据集中应用名称相同但下载量不同的重复数据,解决了现有技术中没有去除应用下载量统计数据中的重复数据的解决方案的问题,进而能够较为准确的统计出同一应用商店中的各个应用的下载量,以及同一应用在所有应用商店中的下载量,从而解决目前对下载量统计不准确的问题。同时由于采用了Map/Reduce算法,还具有计算速度快、效率高的优点。
考虑到同一应用商店中应用重复上架的一种情形是,应用商店对应用名称、应用图标或应用开发者等内容管理不严格、填写错误或其他原因导致应用重复,例如,腾讯QQ、QQ、QQ完整版等均为同一个应用。而在通过S101至步骤S104的去重步骤后,并不能去除上述情形的重复数据,所述中间数据集中还可能存在上述情形导致的重复数据,因此,在本申请提供的一个实施例中,在所述步骤S103后,还包括步骤:
对所述中间数据集中下载量字段相同的多条参照数据,从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,根据比较结果判断所述多条参照数据中是否含有重复数据,并对判断出的重复数据进行区分性打标。
其中,所述应用图标指纹是指根据应用的图标利用指纹生成器转换生成的数值化编码,例如将应用图标分成8*8等分,然后根据灰度生成共16位二进制01编码,将每份转换成16进制编码,这样生成的16位编码即称为应用图标指纹。
本步骤,可以在所述中间数据集中去除下载量相同而应用名称不同的重复数据,具体比较方法可以根据应用名称的字符重复比例(应用名称字段中的公共子串比例)进行判断,例如,设定一公共子串比例阈值50%,比较下载量相同的两条参照数据,其应用名称分别为QQ和腾讯QQ,其公共子串比例达到50%,则认为两条参照数据为同一应用的两条重复数据,可以对其中的一条打标为重复数据。
以上仅举例对本步骤进行说明,除此之外,为了提高判断的准确性,还可以增加应用图标指纹字段或应用开发者字段作为比较对象,例如在比较应用名称的同时,还考虑其应用开发者字段是否相同或者应用图标指纹字段是否相同,比如,即使两条参照数据的应用名称的公共子串比例高于50%,但若其开发者字段不同,也认为这两条参照数据代表不同应用。此外,也可以不根据应用名称而根据应用图标指纹字段进行判断等等,本步骤,可以从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,可形成多种比较方式,此处不再一一赘述,其均在本申请的保护范围之内。
由于本方法的最终目的是为了对应用的下载量进行统计,而不同应用商店对同一个应用可能会命名不同的应用名称,这样在统计同一应用在各个应用商店中的下载量以及所述应用总的下载量时,会导致数据失准,因此,在本申请提供的一个实施例中,建立一个别名库,所述别名库中记载有应用的标准名称与应用在各个应用商店中的应用名称的映射关系,在本申请中,将所述标准名称称为别名。
在本申请提供的一个实施例中,所述应用下载量统计数据去重方法,还包括:
对所述结果数据集中的基础数据,根据所述基础数据中的应用名称字段在预设的别名库中查询相应的别名;
在所述基础数据中添加相应的别名字段,获得由添加别名字段后的基础数据构成的别名数据集。
这样,通过统一同一应用的在不同应用商店中的名称,即可根据所述别名统计出同一应用在各个应用商店中的下载量以及所述应用总的下载量,获得更准确的数据。
需要说明的是,本步骤可以在生成结果数据集后执行,也可以作为变更方式在生成结果数据集或生成中间数据集的过程中执行,只要能实现与本步骤相同的目的,其均在本申请的保护范围之内。
考虑到,利用别名库对应用的名称进行统一时,可能会由于各个应用商店对同一应用可能有较多的应用名称,从而导致将不同的应用命名相同的别名,进而导致数据统计失准,因此,为了避免误操作,需要对可能存在的上述情形进行纠正,在本申请提供的一个实施例中,所述应用下载量统计数据去重方法,还包括:
对所述别名数据集中的别名字段相同而应用商店标识字段不同的多条基础数据,从应用图标指纹字段和应用开发者字段中的至少一个维度进行比较,根据比较结果判断是否为相同应用,对不同应用的别名进行区分性修改,获得统计数据集,从而区分出同一别名但实则不同的应用。
具体比较方法可以是根据字段中字符的重复比例、字段的大小差异等进行比较,可参照上文中对于下载量相同而应用名称不同的重复数据判断的实施例说明,此处不再一一赘述,其均在本申请的保护范围之内。在本申请提供的一个具体的实施例中,首先,利用网络爬虫从多个应用商店中爬取应用的下载量数据,由所述下载量数据组成基础数据集,其中所述下载量数据至少包括应用名称、应用商店标识字段如应用商店ID、应用图标指纹和应用下载量。
然后,对各个应用商店内的数据进行去重,第一步,对应用商店内应用名称相同而下载量不同的应用进行去重,例如:采用map算法,将所述基础数据集以应用商店ID和应用名称为key输出;接下来,采用reduce算法,寻找每个应用的参照数据:对同一商店内,相同应用名称的应用(完全相同,此处简称a)进行聚合,选取下载量重复次数最多的基础数据为该应用的第一条数据(简称a_down1)(若重复次数最多的数值含两个以上,则选取最大的)。其余数值(a_down2,a_down3,a_down4)与第一步中a_down1进行比较,若a_down2范围在90%~110%(预设的阈值条件)之间,则认为a_down2是相同应用,此时对a_down2的下载量赋值为-a_down1(负a_down1值),同时打标a_down1的名称;a_down3若范围在90%~110%之外,则认为是不同应用的下载量,此时a_down3打标为a_down3,名称为a(名称为a的都为相同应用);在a_down4时,需判断其是否在a_down1的90%~110%或a_down3的90%~110%范围,然后重复第二步,遍历所有数据。需要说明的是,此处的赋值也是打标的一种方式。
第二步,对应用商店内下载量相同而应用名称不同的应用进行去重,例如:采用map算法,以应用商店ID和第一步打标的下载量为key,且过滤掉下载量为0的数据;接下来,采用reduce算法,对下载量为负的直接打“特殊标”输出数据;对不能转化为数字的下载量打“特殊标”输出数据;对下载量为正的数据,选取下载量完全一样的应用进行判断,若获取的下载量字段有效位数大于或等于3个,且名字是包含关系(如qq,手机qq)或公共子串大于等于50%(如手机qq,qq2013),且指纹相同时,均判断为相同应用;公共子串个数大于0小于50%则判断且指纹是否相同;若公共子串=0,则为不同应用;若获取的下载量字段有效位数等于2个,且名字是包含关系或者完全相同,且指纹相同时则判断为同一应用;若公共子串大于等于50%,小于100%,则判断指纹是否相同;若公共子串小于50%,认为是不同应用;若下载量字段有效位数等于1个,则当且仅当名字包含或完全相同,且指纹相同时,才认为是相同应用。
再然后,针对由应用商店间下载打标所得别名库初步打标后的数据进行应用图标指纹判断,用于区分同一打标别名但实则不同的应用。第一步,如果有应用图标指纹,则与别名库中相同别名的应用图标指纹进行比较。如果存在相似应用图标指纹,则输出打标为相应的别名库的zid;如果不存在相似指纹,则将加入不依赖别名库进行自身两两比较指纹的数据列表,转入第三步。第二步,将待进行两两比较指纹的数据列表进行处理。判断为相似的应用打标为同一名称。第三步,如果无应用图标指纹,则输出打标结果依据商店内下载量打标,将同一商店内下载量相同,打标名称相同的所有数据打标为同一个名称。
最后,根据打标内容对所述中间数据集中的所有基础数据进行归约处理,即可获得去除重复数据的结果数据集。
在上述的实施例中,提供了一种应用下载量统计数据去重方法,与之相对应的,本申请还提供一种应用下载量统计数据去重装置。请参考图2,其为本发明提供的一种应用下载量统计数据去重装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的一种应用下载量统计数据去重装置,包括:
数据集获取模块101,用于获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段;
数据分组模块102,用于以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段;
数据打标模块103,用于以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;
数据归约模块104,用于根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
在本申请提供的一个实施例中,所述应用下载量统计数据去重装置,还包括:
同下载量判重模块,用于对所述中间数据集中下载量字段相同的多条参照数据,从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,根据比较结果判断所述多条参照数据中是否含有重复数据,并对判断出的重复数据进行区分性打标。
在本申请提供的一个实施例中,所述应用下载量统计数据去重装置,还包括:
别名查询模块,用于对所述结果数据集中的基础数据,根据所述基础数据中的应用名称字段在预设的别名库中查询相应的别名;
别名添加模块,用于在所述基础数据中添加相应的别名字段,获得由添加别名字段后的基础数据构成的别名数据集。
在本申请提供的一个实施例中,所述应用下载量统计数据去重装置,还包括:
别名核查模块,用于对所述别名数据集中的别名字段相同而应用商店标识字段不同的多条基础数据,从应用图标指纹字段和应用开发者字段中的至少一个维度进行比较,根据比较结果判断是否为相同应用,对不同应用的别名进行区分性修改,获得统计数据集。
在本申请提供的一个实施例中,所述数据集获取模块101包括:
数据爬取单元,用于采用网络爬取方法从不同应用商店中爬取含有应用下载量的多条基础数据,所述多条基础数据构成基础数据集。
以上,为本发明提供的一种应用下载量统计数据去重装置的实施例。
本申请还提供一种应用下载量统计数据去重终端设备,包括:
中央处理器;
输入输出单元;
存储器;
所述终端设备启动后对应用下载量统计数据去重。
本应用下载量统计数据去重终端设备在启动后可以使用上述应用下载量统计数据去重方法对应用下载量统计数据去重,因此相关之处请参见上述应用下载量统计数据去重方法的实施例说明,此处不再赘述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (10)
1.一种应用下载量统计数据去重方法,其特征在于,包括:
获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段;
以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段;
以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;
根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
2.根据权利要求1所述的应用下载量统计数据去重方法,其特征在于,在所述根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集的步骤前,还包括:
对所述中间数据集中下载量字段相同的多条参照数据,从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,根据比较结果判断所述多条参照数据中是否含有重复数据,并对判断出的重复数据进行区分性打标。
3.根据权利要求1或2所述的应用下载量统计数据去重方法,其特征在于,还包括:
对所述结果数据集中的基础数据,根据所述基础数据中的应用名称字段在预设的别名库中查询相应的别名;
在所述基础数据中添加相应的别名字段,获得由添加别名字段后的基础数据构成的别名数据集。
4.根据权利要求3所述的应用下载量统计数据去重方法,其特征在于,还包括:
对所述别名数据集中的别名字段相同而应用商店标识字段不同的多条基础数据,从应用图标指纹字段和应用开发者字段中的至少一个维度进行比较,根据比较结果判断是否为相同应用,对不同应用的别名进行区分性修改,获得统计数据集。
5.根据权利要求1所述的应用下载量统计数据去重方法,其特征在于,所述获取由多条记录有应用下载量的基础数据构成的基础数据集的步骤,包括:
采用网络爬取方法从不同应用商店中爬取含有应用下载量的多条基础数据,所述多条基础数据构成基础数据集。
6.一种应用下载量统计数据去重装置,其特征在于,包括:
数据集获取模块,用于获取由多条记录有应用下载量的基础数据构成的基础数据集;其中,所述基础数据至少包括应用名称字段、下载量字段和应用商店标识字段;
数据分组模块,用于以应用商店标识字段和应用名称字段为键值,采用map算法将所述基础数据集映射为多个数据组;其中,每个所述数据组中的所有基础数据有相同的应用名称字段和应用商店标识字段;
数据打标模块,用于以所述数据组为任务节点,选取所述数据组中下载量字段最大的一条基础数据作为参照数据;依次计算所述数据组中剩余的基础数据的下载量字段与所述参照数据的下载量字段之间的差异,判断所述差异是否符合预设的阈值条件,若符合,则判断所述基础数据为重复数据,否则将所述基础数据也作为参照数据供所述数据组中剩余的基础数据进行计算;根据判断结果对所述数据组内的重复数据进行区分性打标;处理完成后获得由所有所述数据组组成的中间数据集;
数据归约模块,用于根据打标内容对所述中间数据集中的所有基础数据进行归约处理,获得去除重复数据的结果数据集。
7.根据权利要求6所述的应用下载量统计数据去重装置,其特征在于,还包括:
同下载量判重模块,用于对所述中间数据集中下载量字段相同的多条参照数据,从应用名称字段、应用图标指纹字段和应用开发者字段中的至少一个维度互相进行比较,根据比较结果判断所述多条参照数据中是否含有重复数据,并对判断出的重复数据进行区分性打标。
8.根据权利要求6或7所述的应用下载量统计数据去重装置,其特征在于,还包括:
别名查询模块,用于对所述结果数据集中的基础数据,根据所述基础数据中的应用名称字段在预设的别名库中查询相应的别名;
别名添加模块,用于在所述基础数据中添加相应的别名字段,获得由添加别名字段后的基础数据构成的别名数据集。
9.根据权利要求8所述的应用下载量统计数据去重装置,其特征在于,还包括:
别名核查模块,用于对所述别名数据集中的别名字段相同而应用商店标识字段不同的多条基础数据,从应用图标指纹字段和应用开发者字段中的至少一个维度进行比较,根据比较结果判断是否为相同应用,对不同应用的别名进行区分性修改,获得统计数据集。
10.一种应用下载量统计数据去重终端设备,其特征在于,包括:
中央处理器;
输入输出单元;
存储器;
存储器存储有代码程序,所述代码程序被所述中央处理器执行时,执行权利要求1-5任一项所述的应用下载量统计数据去重方法;
所述终端设备启动后对应用下载量统计数据去重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394413.1A CN107463578B (zh) | 2016-06-06 | 2016-06-06 | 应用下载量统计数据去重方法、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394413.1A CN107463578B (zh) | 2016-06-06 | 2016-06-06 | 应用下载量统计数据去重方法、装置和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107463578A CN107463578A (zh) | 2017-12-12 |
CN107463578B true CN107463578B (zh) | 2020-01-14 |
Family
ID=60544604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610394413.1A Active CN107463578B (zh) | 2016-06-06 | 2016-06-06 | 应用下载量统计数据去重方法、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463578B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428117B (zh) * | 2019-01-09 | 2023-05-16 | 百度在线网络技术(北京)有限公司 | 应用程序的数据获取方法和装置 |
CN112463774B (zh) * | 2020-10-23 | 2021-10-12 | 完美世界控股集团有限公司 | 文本数据的去重方法、设备及存储介质 |
CN112328864B (zh) * | 2020-11-04 | 2023-06-23 | 浪潮云信息技术股份公司 | 一种Ceph对象存储的下载量统计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177109A (zh) * | 2013-03-27 | 2013-06-26 | 四川长虹电器股份有限公司 | 应用排名优化方法 |
CN103620591A (zh) * | 2011-06-14 | 2014-03-05 | 惠普发展公司,有限责任合伙企业 | 分布式文件系统中的去重复 |
CN103902311A (zh) * | 2012-12-27 | 2014-07-02 | 中国电信股份有限公司 | 应用下载列表调整方法、专用记录客户端及应用下载平台 |
WO2015027199A2 (en) * | 2013-08-22 | 2015-02-26 | Naqvi Shamim A | Method and system for addressing the problem of discovering relevant services and applications that are available over the internet or other communcations network |
-
2016
- 2016-06-06 CN CN201610394413.1A patent/CN107463578B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103620591A (zh) * | 2011-06-14 | 2014-03-05 | 惠普发展公司,有限责任合伙企业 | 分布式文件系统中的去重复 |
CN103902311A (zh) * | 2012-12-27 | 2014-07-02 | 中国电信股份有限公司 | 应用下载列表调整方法、专用记录客户端及应用下载平台 |
CN103177109A (zh) * | 2013-03-27 | 2013-06-26 | 四川长虹电器股份有限公司 | 应用排名优化方法 |
WO2015027199A2 (en) * | 2013-08-22 | 2015-02-26 | Naqvi Shamim A | Method and system for addressing the problem of discovering relevant services and applications that are available over the internet or other communcations network |
Also Published As
Publication number | Publication date |
---|---|
CN107463578A (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109448100B (zh) | 三维模型格式转换方法、系统、计算机设备及存储介质 | |
CN114911830B (zh) | 基于时序数据库的索引缓存方法、装置、设备及存储介质 | |
CN107463578B (zh) | 应用下载量统计数据去重方法、装置和终端设备 | |
CN114117160A (zh) | 一种基于威胁情报的威胁分析图谱生成、应用方法及装置 | |
CN104102701A (zh) | 一种基于hive的历史数据存档与查询方法 | |
CN111475511A (zh) | 基于树状结构的数据存储方法、访问方法、装置及设备 | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
CN111427871B (zh) | 数据处理方法、装置、设备 | |
CN111125087A (zh) | 数据的存储方法及装置 | |
CN105989284B (zh) | 网页入侵脚本特征的识别方法及设备 | |
CN115225308B (zh) | 大规模群体攻击流量的攻击团伙识别方法及相关设备 | |
CN115051863B (zh) | 异常流量检测的方法、装置、电子设备及可读存储介质 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN112463785B (zh) | 一种数据质量监控方法、装置、电子设备及存储介质 | |
CN107463581B (zh) | 应用下载量获取方法、装置和终端设备 | |
CN114662119A (zh) | 一种智能合约漏洞检测方法及装置 | |
CN111097175B (zh) | 一种模拟器的确定方法、装置及存储介质 | |
CN110990648A (zh) | 一种病毒查询方法、服务器及计算机可读存储介质 | |
CN113138936B (zh) | 数据处理方法、装置、存储介质及处理器 | |
CN117806832B (zh) | 一种提升模型训练速度的方法、系统、设备及存储介质 | |
CN111198877B (zh) | 数据存储和查询方法及装置 | |
CN116483735B (zh) | 一种代码变更的影响分析方法、装置、存储介质及设备 | |
CN112836924B (zh) | 一种资源分配审计的方法、装置、电子设备及存储介质 | |
CN112711480B (zh) | 数据链路解析方法及系统 | |
CN110750739B (zh) | 一种页面类型确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20211227 Address after: 100191 No. 40, Haidian District, Beijing, Xueyuan Road Patentee after: CHINA ACADEMY OF INFORMATION AND COMMUNICATIONS Address before: 100191 No. 52 Garden North Road, Beijing, Haidian District Patentee before: CHINA ACADEME OF TELECOMMUNICATION RESEARCH OF MIIT |
|
TR01 | Transfer of patent right |