一种移动互联网手机应用下载组合分析方法和装置
技术领域
本发明属于移动互联网领域,尤其是手机应用下载分析相关技术,具体地说是一种移动互联网手机应用下载组合分析方法和装置。
背景技术
随着移动互联网和智能手机的发展,越来越多的用户通过智能手机下载和使用游戏、阅读、聊天、社交网络、影音等应用软件。分析用户下载手机应用软件的行为和习惯,可以了解用户对哪些应用感兴趣,为产品营销提供数据支撑。
现有的手机应用下载分析方法,主要包括两种类型。
1、在手机终端采集用户下载应用软件的数据。这种方法可以统计用户安装的应用,但需要用户安装带统计功能的应用程序,分析用户覆盖率较低。
2、在应用下载网站统计分析用户下载数据。这种方法可以统计某个应用下载网站的用户下载数据,可以统计该网站各应用软件的下载数据,但不能准确定位到用户手机号码,用户分析覆盖率也不高。
此外,在对DPI采集的用户下载日志分析过程中,发现部分用户在下载应用时,存在多次发送HTTP请求的情况。为提升数据分析的准确性,需要对重复下载请求进行处理。
发明内容
本发明的目的是针对目前现有手机应用下载分析方法准确率和覆盖率较低的问题,提出一种移动互联网手机应用下载组合分析方法和装置,手机应用包括Android应用和IOS应用。本发明通过DPI系统采集用户移动互联网流量,并基于DPI技术对用户流量进行分析。目前Android应用和IOS应用下载绝大多数是使用HTTP协议的,因此本发明根据协议过滤出HTTP流量数据,再根据HTTP数据分析出用户下载应用的HTTP请求数据包,通过对重复HTTP请求日志的处理,添加IMSI、MDN等,采用网页内容分析、文件解包分析等方法,获得用户应用下载的分析结果。
本发明的技术方案是:
一种移动互联网手机应用下载组合分析装置,它包括深度包检测系统即DPI系统和移动互联网应用下载分析单元,所述的移动互联网应用下载分析单元包括分析模块和数据库;
所述的DPI系统通过分光采集用户移动互联网流量和AAA认证流量,从用户移动互联网流量中过滤出HTTP流量数据,并对HTTP流量和AAA认证流量数据进行预处理,得到用户下载手机应用的统一资源定位符即下载URL、用户手机号、下载时间并发送至移动互联网应用下载分析单元;
所述的移动互联网应用下载分析单元接收来自DPI系统预处理后的数据,对下载URL进行分析,获取下载来源网站和应用程序名称,将下载URL对应的用户手机号、下载时间、下载来源网站和应用程序名称存入数据库。
本发明的移动互联网应用下载分析单元对下载URL进行分析,获取应用下载网站和应用程序名称具体包括:首先,对下载URL进行检索,判断是否在数据库中存在;如果存在,直接通过数据库查到应用名称、下载来源网站;如果不存在,对下载URL进行分析,确定下载来源网站,并根据URL结尾字符判断应用下载类型;
如果是Android应用下载,使用网页分析法获得应用程序名称;如果不成功,则使用文件解包法获得应用程序名称;
如果是IOS应用下载,根据下载URL的一级域名进行判断,如果为apple.com,则该下载属于App store应用下载,使用App store应用下载分析法获得应用程序名称;如果一级域名不为apple.com,则该下载属于越狱应用下载,使用越狱应用下载分析法获得应用程序名称。
一种移动互联网手机应用下载组合分析方法,应用移动互联网手机应用下载组合分析装置,它包括以下步骤:
步骤一、获取用户移动互联网流量和AAA认证流量,从用户移动互联网流量中过滤出HTTP流量数据;
步骤二、DPI系统对HTTP流量数据和AAA认证数据进行预处理;得到下载URL、用户手机号、下载时间并发送至移动互联网应用下载分析单元;
步骤三、移动互联网应用下载分析单元对预处理后的数据进行分析,根据下载URL获取下载来源网站和应用程序名称, 将下载URL对应的用户手机号、下载时间、下载来源网站和应用程序名称存入数据库。
本发明的步骤二所述的数据预处理流程,包括以下步骤:
步骤A、分析HTTP 流量数据中Request的GET方式报文,将其中请求URL以“.apk”和“.ipa”为结尾的报文确定为用户下载应用的请求报文,请求报文中包括下载URL、下载时间、源IP地址;
步骤B、对重复下载请求进行处理,处理方法:按源IP地址、下载URL、下载时间进行排序,对后一条与前一条日志时间进行比较,小于设定时间只算作1次下载,剔除后一次日志,大于设定时间的日志保留,算作多次下载;
步骤C、实时分析AAA认证流量,过滤出其中来自PDSN的Accounting Request报文;
步骤D、分析Accounting Request报文,取其中Framed-IP-Address字段为用户手机IP,Calling-Station-ID字段为用户IMSI;
步骤E、根据GET报文中的源IP地址,实时查询其在AAA认证Accounting Request报文中相对应的IMSI;
步骤F、通过与BSS接口查询用户IMSI与用户手机号码MDN的对应关系,得到相应的用户手机号码MDN;
步骤G、得到预处理结果:下载URL、用户手机号、下载时间。
本发明的步骤三所述的根据下载URL获取下载来源网站和应用程序名称,具体包括以下步骤:
步骤A、在数据库中对下载URL进行检索,判断是否存在;
步骤B、如果存在,转步骤C;如果不存在,转步骤D;
步骤C、通过数据库查到应用名称、下载来源网站,转步骤N;
步骤D、对下载URL进行分析,确定下载来源网站,并根据URL结尾字符判断应用下载类型;
步骤E、判断下载URL结尾字符,如果以apk结尾,则转步骤F;如果以ipa结尾,则转步骤J;
步骤F、确定该下载为Android应用下载;
步骤G、使用网页分析法获取应用程序名称;
步骤H、判断网页分析法是否成功,如果成功,转步骤N;如果不成功,转步骤I;
步骤I、使用文件解包法获得应用程序名称,转步骤N;
步骤J、确定该下载为IOS应用下载;
步骤K、根据下载URL的一级域名进行判断,如果是apple.com,则该下载属于App store应用下载,转步骤L;如果不是apple.com,则该下载属于越狱应用下载,转步骤M;
步骤L、使用App store应用下载分析法获得应用程序名称,转步骤N;
步骤M、使用越狱应用下载分析法获得应用程序名称;
步骤N、最终得到分析结果,包括:用户手机号、下载软件名称、下载时间、下载来源网站。
本发明的步骤G通过网页分析法获取应用名称,包括以下步骤:
步骤A、利用爬虫程序对下载网站进行分析,自动判断应用下载URL上一级页面为应用展示页面;
步骤B、分析应用展示页面的源代码,取源代码中的title字段,得到应用程序名称;
步骤C、将下载URL与应用程序名称的对应关系写入数据库。
本发明的步骤I通过文件解包法获取应用名称,包括以下步骤:
步骤A、根据应用下载URL下载apk文件,对apk文件计算MD5校验值;
步骤B、判断apk文件MD5值在数据库中是否存在,如果不存在则转步骤C1,如果存在则转步骤D;
步骤C1、对apk文件进行解包处理,读其中AndroidManifest.xml文件的lable字段作为应用程序名称;
步骤C2、得到下载URL和应用程序名称的对应关系,并将应用程序名称、MD5值、下载URL对应关系写入数据库;
步骤D、通过数据库直接查询到应用名称。
本发明的步骤L通过App store应用下载分析法获取应用名称,包括以下步骤:
步骤A、通过程序分析该用户的HTTP数据,得到在用户发起应用下载URL请求的之前访问的URL;
步骤B、对访问URL进行分析,根据源代码的特征,识别出应用展示页面;
步骤C、程序自动分析应用展示页面的源代码,取源代码中的title字段,得到应用程序名称;
步骤D、将下载URL与应用程序名称的对应关系写入数据库。
本发明的步骤M通过越狱应用下载分析法获取应用名称,包括以下步骤:
步骤A、根据下载URL下载ipa文件,对ipa文件计算MD5校验值;
步骤B、判断ipa文件MD5值是否在数据库中存在,如果不存在则转步骤C1,如果存在则转步骤D;
步骤C1、如果不存在,则对ipa文件进行解包处理,读其中iTunesMetadata.plist文件的itemName字段作为应用程序名称;
步骤C2、得到下载URL和应用程序名称的对应关系,并将应用程序名称、MD5值、下载URL对应关系写入数据库;
步骤D、通过数据库直接查询到应用名称。
本发明的有益效果:
本发明通过DPI系统采集用户移动互联网流量,并基于DPI技术对用户流量进行分析。目前Android应用和IOS应用下载绝大多数是使用HTTP协议的,因此本发明根据协议过滤出HTTP流量数据,再根据HTTP数据分析出用户下载应用的HTTP请求数据包,通过对重复HTTP请求日志的处理,添加IMSI、MDN等,采用网页内容分析、文件解包分析等方法,获得用户应用下载的分析结果。
本发明从基础网络入手,通过组合多种分析方法,更加准确分析用户下载手机应用软件的行为和习惯,提高手机应用下载分析的准确率和覆盖率,为产品营销和提升用户体验提供有力的数据支撑。
本发明基于DPI技术对用户流量进行分析结合文件解包分析、网页内容分析等方法,最终得到用户下载手机应用的分析结果,可以准确定位到用户手机号码,大大提高了应用下载分析的准确率。
本发明不需要用户手机端配合,只要用户通过手机上网下载应用,就能获得分析结果,大大提高了分析的覆盖率。
附图说明
图1是本发明的流程示意图
图2是本发明数据预处理流程图
图3是本发明获取应用名称的流程图
图4是本发明通过网页分析法获取应用名称的流程图
图5是本发明通过文件解包法获取应用名称的流程图
图6是本发明通过App store应用下载分析法获取应用名称的流程图
图7是本发明通过越狱应用下载分析法获取应用名称的流程图
图8是本发明的结构示意图
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,本发明提出一种移动互联网手机应用下载组合分析方法和装置。具体说明如下:
(一)本发明的实现流程
如图1所示,为本发明手机应用下载组合分析的主流程示意图,包括以下步骤:
步骤一、DPI系统通过分光采集用户移动互联网和AAA认证流量,对用户流量进行分析,根据协议过滤出HTTP流量数据;
步骤二、DPI系统对HTTP流量数据和AAA认证数据进行预处理;
步骤三、对预处理后的数据进行数据分析;最终得到分析结果,包括:用户手机号、下载软件名称、下载时间、下载来源网站。
数据预处理流程
如图2所示,为本发明数据预处理流程,包括以下步骤:
步骤A、分析HTTP Request中的GET方式报文,将其中请求URL以“.apk”和“.ipa”为结尾的报文确定为用户下载应用的请求报文;
步骤B、对重复下载请求进行处理,处理方法:按源IP地址、下载URL、请求时间进行排序,对后一条与前一条日志时间进行比较,小于设定时间只算作1次下载(剔除其它日志),大于设定时间的日志保留(可算作多次下载);
步骤C、实时分析AAA认证流量,过滤出其中来自PDSN的Accounting Request报文;
步骤D、分析Accounting Request报文,取其中Framed-IP-
Address字段为用户手机IP,Calling-Station-ID字段为用户IMSI;
步骤E、根据GET报文中的源IP地址,实时查询其在AAA认证Accounting Request报文中相对应的IMSI;
步骤F、通过与BSS接口查询用户IMSI与手机号码(MDN)的对应关系,得到相应的用户手机号码;
步骤G、得到预处理结果:下载URL、用户手机号、下载时间。
(三)应用程序名称分析方法
应用下载网站为用户提供移动互联网应用程序下载,常见的Android应用下载网站有安卓市场、安智市场等,常见的IOS应用下载网站有App store、同步推等。
在网页分析法中,移动互联网应用下载分析单元利用爬虫程序对下载网站进行分析,自动判断应用下载URL上一级页面为应用展示页面;并分析应用展示页面的源代码,取源代码中的title字段,得到应用程序名称。
在App store应用下载分析法中,移动互联网应用下载分析单元对访问URL进行分析,根据源代码的特征,识别出应用展示页面;并分析应用展示页面的源代码,取源代码中的title字段,得到应用程序名称。
如图3所示,为本发明移动互联网应用下载分析单元获取应用名称的流程示意图,包括以下步骤:
步骤A、在数据库中对下载URL进行检索,判断是否存在;
步骤B、如果存在,转步骤C;如果不存在,转步骤D;
步骤C、通过数据库查到应用名称、下载来源网站,转步骤N;
步骤D、对下载URL进行分析,确定下载来源网站,并根据URL结尾字符判断应用下载类型;
步骤E、判断下载URL结尾字符,如果以apk结尾,则转步骤F;如果以ipa结尾,则转步骤J;
步骤F、确定该下载为Android应用下载;
步骤G、尝试使用网页分析法获取应用程序名称;
步骤H、判断网页分析法是否成功,如果成功,转步骤N;如果不成功,转步骤I;
步骤I、使用文件解包法获得应用程序名称,转步骤N;
步骤J、确定该下载为IOS应用下载;
步骤K、根据下载URL的一级域名进行判断,如果是apple.com,则该下载属于App store应用下载,转步骤L;如果不是apple.com,则该下载属于越狱应用下载,转步骤M;
步骤L、使用App store应用下载分析法获得应用程序名称,转步骤N;
步骤M、使用越狱应用下载分析法获得应用程序名称;
步骤N、最终得到分析结果,包括:用户手机号、下载软件名称、下载时间、下载来源网站。
本发明在获取应用程序名称时,是通过网页分析法、文件解包法、App store应用下载分析法、越狱应用下载分析法共四个方法组合实现的。
1、如图4所示,为本发明通过网页分析法获取应用名称的流程图,包括以下步骤:
步骤A、利用爬虫程序对下载网站进行分析,自动判断应用下载URL上一级页面为应用展示页面;
步骤B、分析应用展示页面的源代码,取源代码中的title字段,得到应用程序名称;
步骤C、将下载URL与应用程序名称的对应关系写入数据库。
2、如图5所示,为本发明通过文件解包法获取应用名称的流程图,包括以下步骤:
步骤A、程序根据应用下载URL自动下载apk文件,对apk文件计算MD5校验值;
步骤B、判断apk文件MD5值在数据库中是否存在,如果不存在则转步骤C1,如果存在则转步骤D;
步骤C1、通过程序对apk文件进行自动解包处理,读其中AndroidManifest.xml文件的lable字段作为应用程序名称;
步骤C2、得到下载URL和应用程序名称的对应关系,并将应用程序名称、MD5值、下载URL对应关系写入数据库;
步骤D、通过数据库直接查询到应用名称。
3、如图6所示,为本发明通过App store应用下载分析法获取应用名称的流程图,包括以下步骤:
步骤A、用户通过App store下载安装应用的流程是通过手机打开App store应用,在App store中打开具体应用展示页面,然后用Apple ID登录,获得授权后下载安装应用,所以用户下载应用之前会打开应用展示页面。该用户在发起应用下载URL的请求之前,会发起对应用展示页面的访问请求。通过程序分析该用户的HTTP数据,得到在用户发起应用下载URL请求的之前访问的URL;
步骤B、对访问URL进行分析,根据源代码的特征,识别出应用展示页面;
步骤C、程序自动分析应用展示页面的源代码,取源代码中的title字段,得到应用程序名称;
步骤D、将下载URL与应用程序名称的对应关系写入数据库。
4、如图7所示,为本发明通过越狱应用下载分析法获取应用名称的流程图,包括以下步骤:
步骤A、程序根据应用下载URL自动下载ipa文件,对ipa文件计算MD5校验值;
步骤B、判断ipa文件MD5值是否在数据库中存在,如果不存在则转步骤C1,如果存在则转步骤D;
步骤C1、如果不存在,则对通过程序对ipa文件进行自动解包处理,读其中iTunesMetadata.plist文件的itemName字段作为应用程序名称;
步骤C2、得到下载URL和应用程序名称的对应关系,并将应用程序名称、MD5值、下载URL对应关系写入数据库;
步骤D、通过数据库直接查询到应用名称。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。