基于下载渠道统计应用软件的下载量的方法及装置技术领域
本发明涉及网络通信技术领域,具体涉及一种基于下载渠道统计应用软
件的下载量的方法及装置。
背景技术
随着互联网技术的日趋成熟,应用软件的种类和数量也越来越多。为了
提高用户数量,应用软件的提供商往往会为同一款应用软件设置多种下载渠
道。例如,以网络游戏为例来说,用户既可以通过浏览器中的广告链接进行
下载,也可以通过游戏保险箱进行下载,还可以通过软件管家、手机助手等
多种下载渠道进行下载。
这时,可能需要对各个下载渠道的下载量进行统计,以便于观察哪种下
载渠道的推广效果更好。在现有技术中,为了统计不同下载渠道的下载量,
需要为各个下载渠道分别定制相应的安装包,在安装包中除了包含应用软件
的安装信息外,还包含相应的下载渠道的信息,以便于在用户下载安装包的
过程中根据安装包中包含的渠道信息统计相应渠道的下载量。
由于应用软件的安装包往往数据量较大,例如网络游戏的安装包动辄能
够达到3GB左右的数据量,这时,假设下载渠道共有10个,需要为每个下载
渠道分别定制不同的安装包,并将这些安装包分别上传到服务器上。由此需
要占用30GB左右的网络资源,不仅造成了网络资源的浪费,也使得安装包的
上传过程非常耗时。而且,服务器在处理如此大负荷的任务时容易出现异常,
从而影响其他业务的正常运行。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分
地解决上述问题的基于下载渠道统计应用软件的下载量的方法及装置。
依据本发明的一个方面,提供了一种基于下载渠道统计应用软件的下载
量的方法,其中,包括:为每个下载渠道预设相应的渠道标识,生成与多个
渠道标识一一对应的多个下载工具包;根据各个下载工具包中包含的渠道标
识,将各个下载工具包分别提供给对应的下载渠道;当所述下载渠道接收到
来自客户端的下载请求时,将该下载渠道对应的下载工具包提供给客户端,
以供所述客户端通过所述下载工具包下载所述应用软件的安装包;其中,在
所述客户端通过所述下载工具包下载所述应用软件的安装包的过程中,根据
所述下载工具包中包含的渠道标识统计相应下载渠道的下载量。
依据本发明的另一方面,提供了一种基于下载渠道统计应用软件的下载
量的装置,其中,包括:生成模块,适于为每个下载渠道预设相应的渠道标
识,生成与多个渠道标识一一对应的多个下载工具包;分发模块,适于根据
各个下载工具包中包含的渠道标识,将各个下载工具包分别提供给对应的下
载渠道;下载统计模块,适于当所述下载渠道接收到来自客户端的下载请求
时,将该下载渠道对应的下载工具包提供给客户端,以供所述客户端通过所
述下载工具包下载所述应用软件的安装包;其中,根据所述下载工具包中包
含的渠道标识统计相应下载渠道的下载量。
在本发明提供的基于下载渠道统计应用软件的下载量的方法及装置中,
为每个下载渠道分别设置不同的下载工具包,并将该下载工具包提供给对应
的下载渠道,以供用户通过该下载工具包下载应用软件的安装包。在用户下
载过程中,通过下载工具包中包含的渠道标识统计该渠道的下载量。也就是
说,在本发明提供的方法中,分别为每个下载渠道提供一个下载工具包,由
各个下载工具包所下载的该应用软件的安装包是一样的,因此,只需向服务
器上传多个下载工具包以及一个安装包。由于下载工具包的数据量通常较小,
因而能够显著节约网络资源,缩短上传过程,进而降低了服务器的负载,减
少了出错率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技
术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它
目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本
领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,
而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示
相同的部件。在附图中:
图1示出了本发明一个实施例提供的基于下载渠道统计应用软件的下载
量的流程图;
图2示出了本发明一个具体实施例提供的基于下载渠道统计应用软件的
下载量的流程图;以及,
图3示出了本发明另一实施例提供的基于下载渠道统计应用软件的下载
量的装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示
了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不
应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地
理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于下载渠道统计应用软件的下载量的方法及
装置,至少能够解决传统的根据安装包统计各个下载渠道的下载量所导致的
网络资源占用多、响应速度慢以及服务器容易出错的技术问题。
图1示出了本发明一个实施例提供的基于下载渠道统计应用软件的下载
量的方法的流程图。如图1所示,该方法包括如下步骤:
步骤S110:为每个下载渠道预设相应的渠道标识,生成与多个渠道标识
一一对应的多个下载工具包。
具体地,各个下载渠道的渠道标识互不相同,因而,通过渠道标识能够
唯一地标识各个下载渠道。其中,渠道标识可以通过由阿拉伯数字构成的渠
道号来表示,也可以通过由阿拉伯数字和字母的组合构成的渠道代码来表示。
在本步骤中,根据下载渠道的数量设置相应数量的渠道标识,并生成与
下载渠道的数量一致的多个下载工具包,每个下载工具包中分别包含一个渠
道标识,各个下载工具包中所包含的渠道标识互不相同。
步骤S120:根据各个下载工具包中包含的渠道标识,将各个下载工具包
分别提供给对应的下载渠道。
具体地,可以将各个下载工具包发送给内容分发服务器,由内容分发服
务器根据下载工具包中包含的渠道标识,将各个下载工具包分发给对应的下
载渠道。
步骤S130:当一个下载渠道接收到来自客户端的下载请求时,将该下载
渠道对应的下载工具包提供给客户端,以供客户端通过该下载工具包下载应
用软件的安装包。其中,在客户端通过该下载工具包下载应用软件的安装包
的过程中,根据下载工具包中包含的渠道标识统计相应下载渠道的下载量。
具体地,为了便于统计相应下载渠道的下载量,可以在下载工具包下载
应用软件的安装包的过程中,生成存储有该下载工具包中包含的渠道标识的
配置文件,将生成的配置文件添加到应用软件的安装包中,以供应用软件的
安装包在安装过程中根据配置文件中包含的渠道标识统计该下载渠道对应的
安装量。具体统计时,可以向服务器发送包含渠道标识的打点请求,由服务
器根据接收到的打点请求中包含的渠道标识进行统计。
由此可见,在本实施例中,分别为每个下载渠道提供一个下载工具包,
由各个下载工具包所下载的该应用软件的安装包是一样的,因此,只需向服
务器上传多个下载工具包以及一个安装包。由于下载工具包的数据量通常较
小,因而能够显著节约网络资源,缩短上传过程,进而降低了服务器的负载,
减少了出错率。
图2示出了本发明另一个具体实施例提供的基于下载渠道统计应用软件
的下载量的方法的流程图。在本实施例中,以应用软件为网络游戏为例进行
说明,由于网络游戏的安装包通常数据量较大,因而采用本发明中的方式能
够更加显著地节约网络资源,提高上传速度。在本发明其他的实施例中,应
用软件也可以是其他各类软件,例如图像编辑类软件、视频播放类软件等。
如图2所示,该方法包括如下步骤:
步骤S210:为网络游戏的每个下载渠道预设相应的渠道标识。
网络游戏的下载渠道主要是指能够为用户提供软件下载服务的网络平
台。例如,在本实施例中,网络游戏的开发公司为了进行推广,同时提供了
三种下载渠道:下载渠道一为网络游戏开发公司的网站提供的网址导航,下
载渠道二为游戏保险箱,下载渠道三为软件管家。在本步骤中,为三种下载
渠道分别设置相应的渠道标识,其中,渠道标识通过阿拉伯数字组成的渠道
号表示。各个下载渠道的渠道标识互不相同,因此,通过渠道标识能够唯一
地区分各个下载渠道。
在本发明实施例中,假设三种下载渠道是为了便于描述,但是,在实际
场景中下载渠道的数量可能非常多,且多个下载渠道又可以进一步细分为若
干类别,因此,为了便于对下载渠道进行分类,渠道标识还可以通过由阿拉
伯数字和字母的组合所构成的渠道代码来表示。其中,相同类别的下载渠道
的渠道标识中所包含的字母相同,通过字母可以快速确定出下载渠道的类别。
例如,可以将下载渠道分为公司内部渠道以及外部宣传渠道两大类别。其中,
公司内部渠道包括网络游戏的开发公司内部提供的浏览器的网址导航、游戏
保险箱、软件管家以及手机助手等;外部宣传渠道包括其他网络公司提供的
游戏下载平台,例如,多玩等。通过渠道标识中所包含的首字母能够快速识
别出下载渠道属于公司内部渠道或外部宣传渠道。另外,上述的下载渠道还
可以进一步细分为若干个子渠道,例如,以浏览器的网址导航为例,该网址
导航上的每一个位置都可以作为一个子渠道,例如,在网址导航中可能同时
提供有由动态图片表示的游戏推广信息以及由文字形式表示的下载链接等。
这时,通过渠道标识中所包含的其他位置的字母或数字能够快速区分各个子
渠道。
另外,为了进一步提高网络安全性,还可以按照预设的加密算法对由阿
拉伯数字和/或字母组成的字符串进行加密,并将加密后得到的加密字符串作
为渠道标识。相应地,在后续的处理过程中,按照预设的解密算法进行解密
以获得渠道信息。
步骤S220:生成与多个渠道标识一一对应的多个下载工具包。
其中,下载工具包是用于下载网络游戏的专用下载器的安装包。该安装
包的数据量通常比较小,例如仅有3MB。为了进一步提高用户使用时的便利
性,该安装包可以设计为绿色免安装版本,即:下载完成后无需安装即可直
接运行。
在本步骤中生成的下载工具包的数量与步骤S210中的下载渠道的数量相
同。具体地,为了针对每个下载渠道分别生成一个对应的下载工具包,可以
通过如下方式实现:首先,根据指定下载渠道的渠道标识来生成下载工具包
所对应的编译文件,该编译文件中除包含一般的编译信息之外,还包含该下
载工具包所对应的下载渠道的渠道标识。例如,假设一个下载渠道的渠道标
识为“001”,则根据该渠道标识所生成的下载工具包所对应的编译文件中包
含“001”这一标识信息。然后,根据该编译文件,对下载工具包的源代码文
件进行编译,以生成完整的下载工具包。其中,下载工具包的源代码文件中
包含运行过程中的下载逻辑,当该下载工具包运行时,将根据源代码文件中
包含的下载逻辑依次执行设定的操作步骤。
由此可见,当三个下载渠道的渠道标识分别为“001”、“002”以及“003”
时,在本步骤中生成的三个下载工具包中分别包含上述的三个渠道标识
“001”、“002”以及“003”。优选地,还可以进一步在各个下载工具包的
文件名称中包含相应的渠道标识,以便于快速识别渠道信息。
步骤S230:根据各个下载工具包中包含的渠道标识,将各个下载工具包
分别提供给对应的下载渠道。
在实际情况中,为了能够将互联网上的资源快速分发到用户端,可以通
过内容分发网络(ContentDeliveryNetwork,简称CDN)来实现。在利用内
容分发网络实现的网络系统中,游戏开发公司一般将待下载的内容上传到公
司内部的CDN服务器,由该CDN服务器将待下载的内容分发给各个下载渠
道,以供用户终端下载。
具体地,在本步骤中,首先,将步骤S220中生成的三个下载工具包分别
上传到CDN服务器上,然后,由CDN服务器为各个下载工具包配置下载入
口,并将配置的下载入口提供给对应的下载渠道。例如,包含渠道标识“001”
的下载工具包所对应的下载入口为入口一,CDN服务器将该入口一提供给下
载渠道一;包含渠道标识“002”的下载工具包所对应的下载入口为入口二,
CDN服务器将该入口二提供给下载渠道二;包含渠道标识“003”的下载工
具包所对应的下载入口为入口三,CDN服务器将该入口三提供给下载渠道三。
其中,下载入口可以通过各种形式实现,例如,可以是超链接形式的下载地
址。
步骤S240:验证各个下载渠道所对应的下载工具包中包含的渠道标识是
否正确。
本步骤为一个可选的步骤,在本发明其他的实施例中,也可以省略本步
骤。执行本步骤的目的在于对提供给各个下载渠道的下载工具包进行测试,
以验证该下载工具包中包含的渠道标识与下载渠道的渠道标识是否一致。
具体地,可以由一台测试服务器模拟用户终端通过各个下载渠道下载相
应的下载工具包的操作过程,该测试服务器对下载到的下载工具包进行解析,
以获取其中包含的渠道标识,将获取到的渠道标识与下载该下载工具包时所
采用的下载渠道的渠道标识进行比对,若比对结果一致则确定该下载工具包
中包含的渠道标识是正确的,若比对结果不一致则确定该下载工具包中包含
的渠道标识有误。当确定出下载工具包中包含的渠道标识有误时,需要进一
步判断产生错误的原因,并进行纠正。通常情况下,产生的错误的原因至少
分两种,一种原因为:在步骤S220中生成与多个渠道标识一一对应的多个下
载工具包时发生了错误,例如,在将渠道标识写入下载工具包对应的编译文
件时发生了错误;另一种原因为:在步骤S230中将各个下载工具包分别提供
给对应的下载渠道时发生了错误,例如,CDN服务器为各个下载工具包配置
下载入口时发生了差错。除了上述两种原因之外,还可能由于其他原因导致
下载工具包中包含的渠道标识有误,测试服务器可以通过排除法进行排除,
从而最终确定出错误所产生的原因并进行纠正。
步骤S250:当下载渠道接收到来自客户端的下载请求时,将该下载渠道
对应的下载工具包提供给客户端,以供客户端通过下载工具包下载网络游戏
的安装包,并根据下载工具包中包含的渠道标识统计相应下载渠道的下载量。
例如,当渠道标识为“001”的下载渠道接收到来自客户端的下载请求时,
将包含“001”这一渠道标识的下载工具包提供给该客户端,以供该客户端通
过包含“001”的渠道标识的下载工具包下载网络游戏的安装包。
其中,当渠道标识为“001”的下载渠道接收到来自客户端的下载请求时,
可以由该下载渠道直接将相应的下载工具包提供给客户端,此时,下载渠道
需要预先根据CDN服务器提供的下载入口缓存相应的下载工具包。或者,也
可以由该下载渠道将下载请求重定向到CDN服务器上,由CDN服务器直接
为该客户端提供下载入口进行下载。本领域技术人员还可以通过其他多种方
式将该下载渠道对应的下载工具包提供给客户端,本发明对具体的提供方式
不做限定。
当客户端接收到该下载工具包后,通过下载工具包即可下载网络游戏的
安装包。具体实施时,取决于下载工具包中包含的下载逻辑,既可以由用户
手动触发下载网络游戏的安装包的操作,也可以由下载工具包自动触发下载
网络游戏的安装包的操作。
在客户端通过下载工具包下载网络游戏的安装包的过程中,根据该下载
工具包中包含的渠道标识“001”统计下载渠道一的下载量。为了统计该下载
渠道的下载量,可以由该下载工具包在下载应用软件的安装包的过程中,根
据下载工具包内部的软件源代码所包含的下载逻辑自动生成存储有该下载工
具包中包含的渠道标识“001”的配置文件,将该配置文件添加到网络游戏的
安装包中,以供网络游戏的安装包根据配置文件中包含的渠道标识“001”统
计该下载渠道对应的下载量以及安装量。其中,当网络游戏的安装包被下载
完成时,由该安装包根据其内部设定的运行逻辑向服务器发送包含渠道标识
“001”的打点请求,以供服务器根据接收到的打点请求中包含的渠道标识进
行打点统计;或者,也可以由下载工具包在检测到安装包下载完成时,根据
其内部设定的下载逻辑向服务器发送包含渠道标识“001”的下载类型的打点
请求,以供服务器根据接收到的打点请求中包含的渠道标识进行下载量的打
点统计。通过上述方式即可统计出该下载渠道对应的下载量。当网络游戏的
安装包执行安装操作时,由该安装包根据其内部设定的运行逻辑向服务器发
送包含渠道标识“001”的安装类型的打点请求,以供服务器根据接收到的打
点请求中包含的渠道标识进行安装量的打点统计。
由此可见,通过在下载过程中自动创建包含渠道标识的配置文件,能够
在后续统计下载量及安装量的过程中利用该配置文件统计相应渠道的下载量
及安装量,为统计过程提供了便利。另外,该配置文件也可以在步骤S220中
生成下载工具包时生成并存储在下载工具包中。
该配置文件除用于统计下载量和安装量之外,还可以进一步用于统计网
络游戏的登录量。在本实施例中,网络游戏的安装包中进一步包括用于登陆
该网络游戏的登陆工具包,该登陆工具包在登陆过程中能够根据该配置文件
统计该下载渠道对应的登陆量。而且,该配置文件还可以进一步用于统计该
下载渠道所对应的注册量、创建角色数量以及充值数量。也就是说,当客户
端通过某一下载渠道下载网络游戏之后,服务器能够监控下载完成的网络游
戏安装包在各个阶段的用户转化率。其中,按照执行顺序依次包括下载、安
装、注册、登陆、创建角色以及充值等阶段,每一阶段的用户转化率都可以
根据该配置文件中的渠道标识进行统计。
综上所述,通过本发明实施例提供的统计方法,只需提供多个下载工具
包以及一份安装包即可实现对各个下载渠道的下载量分别进行统计的效果。
由于下载工具包的数据量非常小,因此,节约了大量的网络资源,显著缩短
了上传时间,避免了服务器因负荷过大而卡死的状况发生。
图3示出了本发明另一实施例提供的基于下载渠道统计应用软件的下载
量的装置的结构图。如图3所示,该装置包括:
生成模块31,适于为每个下载渠道预设相应的渠道标识,生成与多个渠
道标识一一对应的多个下载工具包;
分发模块32,适于根据各个下载工具包中包含的渠道标识,将各个下载
工具包分别提供给对应的下载渠道;
下载统计模块33,适于当所述下载渠道接收到来自客户端的下载请求时,
将该下载渠道对应的下载工具包提供给客户端,以供所述客户端通过所述下
载工具包下载所述应用软件的安装包;其中,根据所述下载工具包中包含的
渠道标识统计相应下载渠道的下载量。
可选地,所述分发模块32具体用于:将各个下载工具包发送给内容分发
服务器,由所述内容分发服务器根据下载工具包中包含的渠道标识,将各个
下载工具包分发给对应的下载渠道。
可选地,所述下载统计模块33具体用于:向服务器发送包含所述渠道标
识的打点请求,由服务器根据接收到的打点请求中包含的渠道标识进行统计。
可选地,所述下载统计模块33进一步用于:在所述下载工具包下载所述
应用软件的安装包的过程中,根据该下载工具包中包含的渠道标识创建包含
该渠道标识的配置文件,以供所述应用软件的安装包根据所述配置文件中包
含的渠道标识统计该下载渠道对应的安装量。
可选地,所述应用软件的安装包中进一步包括用于登陆该应用软件的登
陆工具包,则所述配置文件进一步用于供所述登陆工具包统计该下载渠道对
应的登陆量。
上述各个模块的具体工作原理可参见方法实施例中相应步骤的描述,此
处不再赘述。
在本发明提供的基于下载渠道统计应用软件的下载量的方法及装置中,
为每个下载渠道分别设置不同的下载工具包,并将该下载工具包提供给对应
的下载渠道,以供用户通过该下载工具包下载应用软件的安装包。在用户下
载过程中,通过下载工具包中包含的渠道标识统计该渠道的下载量。也就是
说,在本发明提供的方法中,分别为每个下载渠道提供一个下载工具包,由
各个下载工具包所下载的该应用软件的安装包是一样的,因此,只需向服务
器上传多个下载工具包以及一个安装包。由于下载工具包的数据量通常较小,
因而能够显著节约网络资源,缩短上传过程,进而降低了服务器的负载,减
少了出错率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固
有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,
构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定
编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,
并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本
发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未
详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个
或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时
被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开
的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求
中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映
的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循
具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利
要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自
适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以
把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可
以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者
单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴
随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或
者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴
随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相
似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实
施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意
味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要
求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理
器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当
理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本
发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可
以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序
(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存
储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信
号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他
形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并
且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施
例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求
的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之
前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有
若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装
置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体
体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词
解释为名称。