基于CDN的反劫持下载方法和系统技术方案

技术编号:21899237 阅读:33 留言:0更新日期:2019-08-17 18:34
本发明专利技术公开了一种基于CDN的反劫持下载方法和系统,通过统计用户端和CDN节点的下载失败率,对被劫持率进行预估,对于设定时间范围内下载失败率较高的用户端和CDN节点的应用下载请求,在备用服务器的带宽占用率满足条件的情况下,直接发送备用地址给用户端,减少用户端的等待时间,提高用户体验;另外,设置多台备用服务器,满足劫持风险高的情况下的用户下载需求,提高用户端的更新成功率;同时,通过管理多台备用服务器的启动情况,在确保下载需求得到满足的同时,尽可能地减少资源占用。

Anti-hijacking Download Method and System Based on CDN

【技术实现步骤摘要】
基于CDN的反劫持下载方法和系统
本专利技术涉及应用文件下载
,具体而言涉及一种基于CDN的反劫持下载方法和系统。
技术介绍
目前,很多企业将自己开发的APP放在公网CDN上,便于用户下载至用户端使用。但用户在使用过程中,经常在下载完成时发现并非原APP,即该下载过程有可能被第三方所劫持。在专利号为CN201410369830.1的专利技术专利“一种应用下载中防止DNS劫持的方法、装置和系统”中,通过对比分别从第一服务器、第二服务器处接收到的响应消息中的第一特征信息和第二特征信息是否匹配,来判断当前下载过程是否被劫持,如被劫持,采用第二服务器获取下载应用。其中,第一特征信息和第二特征信息可以为MD5值或内容长度信息。前述专利技术专利必须在通过比对后才能识别出下载过程是否被劫持,对于被劫持的用户来说,需要等待一段时间才能够获取第二服务器的地址,用户体验不佳。
技术实现思路
本专利技术目的在于提供一种基于CDN的反劫持下载方法和系统,通过统计用户端和CDN节点的下载失败率,对被劫持率进行预估,对于设定时间范围内下载失败率较高的用户端和CDN节点的应用下载请求,在备用服务器的带宽占用率满足条件的情况下,直接发送备用地址给用户端,减少用户端的等待时间,提高用户体验;另外,设置多台备用服务器,满足劫持风险高的情况下的用户下载需求,提高用户端的更新成功率;同时,通过管理多台备用服务器的启动情况,在确保下载需求得到满足的同时,尽可能地减少资源占用。为达成上述目的,结合图1,本专利技术提出一种基于CDN的反劫持下载方法,所述下载方法包括:S1:创建用户数据库和CDN节点数据库,所述用户数据库用于存储第一设定时间范围内所有下载失败率大于第一下载失败率阈值的用户ID,所述CDN节点数据库用于存储第二设定时间范围内所有下载失败率大于第二下载失败率阈值的CDN节点的IP地址。S2:接收用户端发送的应用下载请求,所述应用下载请求中包括请求下载文件信息、用户ID和/或CDN节点的IP地址。S3:将所述应用下载请求中包含的用户ID与用户数据库做比对,将所述应用下载请求中包含的CDN节点的IP地址与CDN节点数据库做比对,如果所述应用下载请求中包含的用户ID和/或CDN节点的IP地址中的任意一个存储在用户数据库和/或CDN节点数据库中,进入步骤S4,否则,进入步骤S5。S4:对请求下载文件的备用地址所在的备用服务器的带宽占用率进行检测,如果备用服务器的带宽占用率小于带宽占用率阈值,返回请求下载文件的备用地址至用户端,否则定期循环检测带宽占用率,直至循环次数达到第一预设次数阈值,返回等待信息至用户端,结束流程。S5:返回请求下载文件的下载主地址、备用地址、MD5值和文件大小。S6:接收用户端发送的下载结果反馈信息,如果下载结果反馈信息为主地址下载成功,结束流程,如果下载结果反馈信息为备用地址下载成功,统计所述下载结果反馈信息对应的用户ID在第一设定时间范围内的失败率、和对应的CDN节点的IP地址在第二设定时间范围内的失败率,根据统计的失败率确定是否更新用户数据库和CDN节点数据库,结束流程。基于前述方法,本专利技术还提及一种基于CDN的反劫持下载系统,所述系统包括下载管理模块、服务器管理模块、至少一个备用服务器。所述下载管理模块包括请求接收单元、用户数据库、CDN节点数据库、比对单元、带宽占用率检测单元、统计单元。所述用户数据库用于存储第一设定时间范围内所有下载失败率大于第一下载失败率阈值的用户ID。所述CDN节点数据库用于存储第二设定时间范围内所有下载失败率大于第二下载失败率阈值的CDN节点的IP地址;接收用户端发送的应用下载请求,所述应用下载请求中包括请求下载文件信息、用户ID和/或CDN节点的IP地址。所述请求接收单元用于接收并解析用户端发送的应用下载请求,所述应用下载请求中包括请求下载文件信息、用户ID和/或CDN节点的IP地址。所述比对单元用于将所述应用下载请求中包含的用户ID与用户数据库做比对,将所述应用下载请求中包含的CDN节点的IP地址与CDN节点数据库做比对:如果所述应用下载请求中包含的用户ID和/或CDN节点的IP地址中的任意一个存储在用户数据库和/或CDN节点数据库中,调用带宽占用率检测单元对请求下载文件的备用地址所在的备用服务器的带宽占用率进行检测,并根据检测结果将返回请求下载文件的备用地址或者返回等待信息;否则,返回请求下载文件的下载主地址、备用地址、MD5值和文件大小。所述统计单元用于接收用户端发送的下载结果反馈信息,根据下载结果反馈信息统计所述下载结果反馈信息对应的用户ID在第一设定时间范围内的失败率、和对应的CDN节点的IP地址在第二设定时间范围内的失败率,根据统计的失败率确定是否更新用户数据库和CDN节点数据库。所述服务器管理模块根据更新的应用文件的类型、用户数据库中的用户ID数量、CDN节点数据库中的CDN节点的IP地址数量,对所述至少一个备用服务器的启动状态进行管理。本专利技术提出,通过统计用户端和CDN节点的下载失败率,对被劫持率进行预估,当某一用户ID的下载失败率较高时,说明该用户端有可能被劫持,当某一CDN节点的下载失败率较高时,说明该CDN节点有可能被劫持或者出现了系统故障,针对前述三种情况,如果仍然返回下载主地址,比对失败和/或下载失败的可能性很高,用户在等待一段时间后,将会从备用服务器下载文件。为了减少用户等待时间,提高用户体验,对于设定时间范围内下载失败率较高的用户端和CDN节点的应用下载请求,在备用服务器的带宽占用率满足条件的情况下,直接发送备用地址给用户端,使用户直接链接至备用服务器进行文件下载,省去特征信息的获取时间以及以及比对时间。为了不影响备用服务器的正常运行,本专利技术还设置如下:只有在备用服务器的带宽占用率小于带宽占用率阈值时,才会返回备用地址。以上本专利技术的技术方案,与现有相比,其显著的有益效果在于:1)通过统计用户端和CDN节点的下载失败率,对被劫持率进行预估,对于设定时间范围内下载失败率较高的用户端和CDN节点的应用下载请求,在备用服务器的带宽占用率满足条件的情况下,直接发送备用地址给用户端,减少用户端的等待时间,提高用户体验。2)通过设置多台备用服务器,满足劫持风险高的情况下的用户下载需求,提高用户端的更新成功率。3)通过管理多台备用服务器的启动情况,在确保下载需求得到满足的同时,尽可能地减少资源占用。应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的专利技术主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的专利技术主题的一部分。结合附图从下面的描述中可以更加全面地理解本专利技术教导的前述和其他方面、实施例和特征。本专利技术的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本专利技术教导的具体实施方式的实践中得知。附图说明附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本专利技术的各个方面的实施例,其中:图1是本专利技术的基于CDN的反劫持下载方法的流程图。图2是本本文档来自技高网...

【技术保护点】
1.一种基于CDN的反劫持下载方法,其特征在于,所述下载方法包括:S1:创建用户数据库和CDN节点数据库,所述用户数据库用于存储第一设定时间范围内所有下载失败率大于第一下载失败率阈值的用户ID,所述CDN节点数据库用于存储第二设定时间范围内所有下载失败率大于第二下载失败率阈值的CDN节点的IP地址;S2:接收用户端发送的应用下载请求,所述应用下载请求中包括请求下载文件信息、用户ID和/或CDN节点的IP地址;S3:将所述应用下载请求中包含的用户ID与用户数据库做比对,将所述应用下载请求中包含的CDN节点的IP地址与CDN节点数据库做比对,如果所述应用下载请求中包含的用户ID和/或CDN节点的IP地址中的任意一个存储在用户数据库和/或CDN节点数据库中,进入步骤S4,否则,进入步骤S5;S4:对请求下载文件的备用地址所在的备用服务器的带宽占用率进行检测,如果备用服务器的带宽占用率小于带宽占用率阈值,返回请求下载文件的备用地址至用户端,否则定期循环检测带宽占用率,直至循环次数达到第一预设次数阈值,返回等待信息至用户端,结束流程;S5:返回请求下载文件的下载主地址、备用地址、MD5值和文件大小;S6:接收用户端发送的下载结果反馈信息,如果下载结果反馈信息为主地址下载成功,结束流程,如果下载结果反馈信息为备用地址下载成功,统计所述下载结果反馈信息对应的用户ID在第一设定时间范围内的失败率、和对应的CDN节点的IP地址在第二设定时间范围内的失败率,根据统计的失败率确定是否更新用户数据库和CDN节点数据库,结束流程。...

【技术特征摘要】
1.一种基于CDN的反劫持下载方法,其特征在于,所述下载方法包括:S1:创建用户数据库和CDN节点数据库,所述用户数据库用于存储第一设定时间范围内所有下载失败率大于第一下载失败率阈值的用户ID,所述CDN节点数据库用于存储第二设定时间范围内所有下载失败率大于第二下载失败率阈值的CDN节点的IP地址;S2:接收用户端发送的应用下载请求,所述应用下载请求中包括请求下载文件信息、用户ID和/或CDN节点的IP地址;S3:将所述应用下载请求中包含的用户ID与用户数据库做比对,将所述应用下载请求中包含的CDN节点的IP地址与CDN节点数据库做比对,如果所述应用下载请求中包含的用户ID和/或CDN节点的IP地址中的任意一个存储在用户数据库和/或CDN节点数据库中,进入步骤S4,否则,进入步骤S5;S4:对请求下载文件的备用地址所在的备用服务器的带宽占用率进行检测,如果备用服务器的带宽占用率小于带宽占用率阈值,返回请求下载文件的备用地址至用户端,否则定期循环检测带宽占用率,直至循环次数达到第一预设次数阈值,返回等待信息至用户端,结束流程;S5:返回请求下载文件的下载主地址、备用地址、MD5值和文件大小;S6:接收用户端发送的下载结果反馈信息,如果下载结果反馈信息为主地址下载成功,结束流程,如果下载结果反馈信息为备用地址下载成功,统计所述下载结果反馈信息对应的用户ID在第一设定时间范围内的失败率、和对应的CDN节点的IP地址在第二设定时间范围内的失败率,根据统计的失败率确定是否更新用户数据库和CDN节点数据库,结束流程。2.根据权利要求1所述的基于CDN的反劫持下载方法,其特征在于,步骤S5中,所述用户端接收返回的下载主地址、备用地址、MD5值和文件大小,按照以下步骤下载请求下载文件:S51:获取下载主地址上的实际文件大小,将之与返回的文件大小做比对,如果比对成功,进入步骤S52,否则,循环获取下载主地址上的实际文件大小,将之与返回的文件大小做比对,直至比对失败次数达到第二预设次数阈值,进入步骤S54;S52:获取下载主地址上的文件的实际MD5值,将之与返回的MD5值做比对,如果比对成功,进入步骤S53,否则,循环获取下载主地址上的文件的实际MD5值,将之与返回的MD5值做比对,直至比对失败次数达到第三预设次数阈值,进入步骤S54;S53:从下载主地址下载文件,并返回主地址下载成功指令,结束流程;S54:从备用地址下载文件,并返回备用地址下载成功指令,结束流程。3.根据权利要求1所述的基于CDN的反劫持下载方法,其特征在于,所述第一设定时间范围为以当前时刻作为终点的第一设定时间区间范围。4.根据权利要求1所述的基于CDN的反劫持下载方法,其特征在于,所述第二设定时间范围为以当前时刻作为终点的第二设定时间区间范围。5.根据权利要求1-4任意一项中所述的基于CDN的反劫持下载方法,其特征在于,所述方法还包括:设置多个备用服务器,每个备用服务器...

【专利技术属性】
技术研发人员:张兵杰
申请(专利权)人:苏宁消费金融有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1