【技术实现步骤摘要】
基于CDN的反劫持下载方法和系统
本专利技术涉及应用文件下载
,具体而言涉及一种基于CDN的反劫持下载方法和系统。
技术介绍
目前,很多企业将自己开发的APP放在公网CDN上,便于用户下载至用户端使用。但用户在使用过程中,经常在下载完成时发现并非原APP,即该下载过程有可能被第三方所劫持。在专利号为CN201410369830.1的专利技术专利“一种应用下载中防止DNS劫持的方法、装置和系统”中,通过对比分别从第一服务器、第二服务器处接收到的响应消息中的第一特征信息和第二特征信息是否匹配,来判断当前下载过程是否被劫持,如被劫持,采用第二服务器获取下载应用。其中,第一特征信息和第二特征信息可以为MD5值或内容长度信息。前述专利技术专利必须在通过比对后才能识别出下载过程是否被劫持,对于被劫持的用户来说,需要等待一段时间才能够获取第二服务器的地址,用户体验不佳。
技术实现思路
本专利技术目的在于提供一种基于CDN的反劫持下载方法和系统,通过统计用户端和CDN节点的下载失败率,对被劫持率进行预估,对于设定时间范围内下载失败率较高的用户端和CDN节点的应用下载请求,在备用服务器的带宽占用率满足条件的情况下,直接发送备用地址给用户端,减少用户端的等待时间,提高用户体验;另外,设置多台备用服务器,满足劫持风险高的情况下的用户下载需求,提高用户端的更新成功率;同时,通过管理多台备用服务器的启动情况,在确保下载需求得到满足的同时,尽可能地减少资源占用。为达成上述目的,结合图1,本专利技术提出一种基于CDN的反劫持下载方法,所述下载方法包括:S1:创建用户数据库和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值和文件大 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。