视频云平台IP库自动升级的方法与流程

文档序号:14717658发布日期:2018-06-16 01:53阅读:179来源:国知局
视频云平台IP库自动升级的方法与流程

本发明涉及一种视频云平台IP库自动升级的方法,特别是涉及一种视频云平台IP库自动升级的方法。



背景技术:

现有的一些IP(Internet Protocol,互联网协议地址)库更新基本有两种方式,一种是购买市面上IP库厂商提供的成型数据;另一种是使用一些开源的项目,国外的使用、Maxmin(IP智能与在线欺诈检测工具供应商)的开源项目GenIP(创知识产权)提供的免费数据,国内的基本都是使用由纯真QQwry(IP数据库文件)提供下载的免费数据;现在解决IP信息库自动升级的方法有两种:五十、需要定期购买,每年都需要支付一笔费用以获得新的数据更新,但是也存在获得新的IP数据的周期很长,时效性很低的问题;五十一、虽然不需要支付费用,但是数据来源于社区,数据的正确性、稳定性、覆盖率、更新维护周期都存在一定的不确定性,无法很好的直接拿来使用。



技术实现要素:

本发明所要解决的技术问题是提供一种视频云平台IP库自动升级的方法,其能够提供有效的IP更新,同时又能保证IP库的覆盖率,节省费用,还能保证在使用的IP访问速度,相对其他方案它表现的很智能化。

本发明是通过下述技术方案来解决上述技术问题的:一种视频云平台IP库自动升级的方法,其包括以下步骤:

步骤一、数据更新,首先初始化本地基本IP库数据,数据来源主要是通过网络获取开源纯真IP库、亚太地区IP库和购买翼南IP库,三者均已文件形式存在,将它们分别通过mariner系统导入cz_ip、apnic_ip、yinan_ip三个本地数据库表中以作为对比的基础数据;为保证时效性,每三个月刷新一次,mariner系统每次为手动启动,刷新完成即退出;

步骤二、IP自动升级,IP自动升级任务主要通过mercurycenter系统完成,系统按主要功能分为四部分,切表部分、任务生成部分、清除任务部分和任务执行部分;

步骤三、通知任务,通过analyzelog接口通知mercurynode系统下载VDN日志,Mercurynode系统通过finishanalyze接口通知mercurycenter下载完成并需要下载数据文件;

步骤四、下载任务,根据任务中param属性中的src和dst,将数据文件从远程地址src下载到本地地址dst中;

步骤四、导入任务,将数据文件读入缓存中然后依次写入speed_record表中;

步骤五、合并任务,从服务器表中取出状态为有用的server记录,根据server记录的ID字段及任务的token字段从speed_record表中获取speed_record记录,由speed_record记录得出某个isp下的各个IP的平均速度及访问次数,将IP、isp、平均速度、访问次数、token信息插入ip_speed表;

步骤六、判断任务,根据任务的token和isp从ip_speed表获取记录,由记录算出最近7次的平均速度,其平均速度在等于30kB和200kB之间,则根据记录中的isp信息生成一条speedContrast记录,否则根据平均速度及记录中的isp信息确定after_isp的值及constancy的值,更新或插入speedContrast记录到speed_contrast表;根据after_isp与记录的isp不同,且IP为未锁定状态,则在ip_change表中插入一条记录,并更新IP表对应记录的constancy字段,反之IP状态为锁定,只更新IP表对应记录的constancy字段;

步骤七、速度对比任务,从speed_contrast表中获得cnc_token和tel_token都等于给定token的记录,其记录cnc_speed大于tel_speed,constancy减一;反之cnc_speed小于tel_speed,constancy加一,更新IP表中的constancy字段;

步骤八、锁定任务,锁定IP表中记录的constancy字段值大于等于10或者小于等于-10、locked字段值为未锁定locked=0并且isp等于1电信的记录,并保存返回的更新锁定数tel_lock_num,锁定IP表中记录的constancy字段值大于等于10或者小于等于-10、locked字段值为未锁定locked=0并且isp等于2联通的记录,并保存返回的更新锁定数cnc_lock_num,解锁IP表中constancy字段值大于等于-5且小于等于5、locked字段值为锁定locked=1并且isp等于1电信的记录,并保存返回的更新解锁数tel_unlock_num,解锁IP表中constancy字段值大于等于-5且小于等于5、locked字段值为锁定locked=1并且isp等于2联通的记录,并保存返回的更新解锁数cnc_unlock_num,生成锁定、解锁记录,插入数据表locked_stat中;

步骤九、统计任务,从servier表中获取状态为有用的记录,按serverid和token从speed_record表中获取符合条件的所有记录的条数及这些的记录的平均速度,将serverid、平均速度、记录的条数、任务的生成日期插入speed_stat表中,从ip_change表按isp及日期获取联通和电信的IP,依据IP表过滤掉一天内两次跳转的IP,分别与apnic、yinan、chunzhen库对比,计算出电信或联通的IP在各个库中电信、联通、未知的个数,插入到change_stat表中,从servier表中获取状态为有用的记录,从section_stat表中获取状态为有用的速度区间记录,遍历server记录,根据speed_record表计算该服务器每个速度区间内的IP个数,会同server的主键,section_stat的主键插入到speedsection_stat表中。

优选地,所述步骤一中的mariner系统的实际处理流程主要包括如下步骤:

步骤三十,使数据初始化sober,获得数据资料,转步骤三十一;

步骤三十一,判断数据是否成功,成功则转步骤三十二,否则转步骤四十一;

步骤三十二,使数据初始化配置,在数据捕获操作完成后保存数据以用于后续操作,转步骤三十三;

步骤三十三,判断数据是否成功,成功则转步骤三十四,否则转步骤四十一;

步骤三十四,使数据重置marinertsk状态,转步骤三十五;

步骤三十五,判断数据是否成功,成功则转步骤三十六,否则转步骤四十一;

步骤三十六,获取未完成任务,转步骤三十七;

步骤三十七,判断有无任务,成功则转步骤三十八,否则转步骤四十;

步骤四十,生产mariner任务并插库,转步骤三十八;

步骤三十八,启动线程和执行任务,转步骤三十九;

步骤三十九,判断数据是否成功,成功则转步骤四十二,否则转步骤四十一;

步骤四十一,打印错误日志,转步骤四十二;

步骤四十二,退出本轮操作。

优选地,所述步骤一中的mariner系统主要负责以下几点:

一、判断给定的文件是否存在;

二、更新任务的状态为正在执行状态;

三、清空表apnic_ip或yinan_ip或cz_ip的数据;

四、从给定的文件路径中读取原始数据文件,将原始数据进行处理后插入表apnic_ip、yinan_ip或cz_ip中;

五、每次从apnic_ip表中取10000条IP记录,依次与yinan_ip表中信息、cz_ip表中信息和淘宝IP接口返回信息,有信息则不用返回数据,没有信息返回数据,进行isp对比;取在各方数据中isp都相同的IP记录,生成refresh_change对象,插入refersh_change表中;并将相同的IP进行锁定,其中淘宝IP为在线IP公共查询接口;

六、更新任务的结束时间,状态设置为成功。

优选地,所述步骤二中的mercurycenter系统的实际处理流程主要包括如下步骤:

步骤五十,初始化配置,转步骤五十一;

步骤五十一,判断数据是否成功,成功则转步骤五十二,否则转步骤五十六;

步骤五十二,初始化sober,转步骤五十三;

步骤五十三,判断数据是否成功,成功则转步骤五十四,否则转步骤五十六;

步骤五十四,重置任务状态,转步骤五十五;

步骤五十五,判断数据是否成功,成功则转到下流程,否则转步骤五十六;

步骤五十六,打印错误日志,转步骤五十七;

步骤五十七,退出本轮操作;

步骤五十八,获取未完成任务并启动,转步骤五十九;

步骤五十九,启动切表定时器,转步骤六十;

步骤六十,启动任务生成定时器,转步骤六十一;

步骤六十二,启动任务清理定时器,转步骤六十三;

步骤六十三,启动任务处理定时器。

优选地,所述步骤二中的mercurycenter系统主要负责以下几点:

十、切表部分,将每月的1号将speedrecord表切为上月,新建speedrecord表;

十一、任务生成部分,从服务器表中获取状态为有用的记录,根据获取的记录中的信息,生成任务,并插入任务表中;

十二、任务清除部分,将任务表中七天前包括七天的记录移动到任务_history表中,并删除本地主机上七天前的日志文件;

十三、任务执行部分;任务共分为下载任务、读取任务、合并任务、判定任务、速度对比任务、锁定任务和统计任务七个任务,当前一个任务结束后生成下一个任务,所有任务结束后跳出当日的任务处理线程。

本发明的积极进步效果在于:本发明能够既不需要每年都支付费用节省开支,又能让数据有很好的覆盖率,使数据的正确性、稳定性、覆盖率有一定的保证同时还能实时获得更新保证数据的时效性。

附图说明

图1为本发明的mariner系统流程示意图。

图2为本发明的mercurycenter系统流程示意图。

具体实施方式

下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。

本发明视频云平台IP库自动升级的方法包括以下步骤:

步骤一、数据更新,首先初始化本地基本IP库数据,数据来源主要是通过网络获取开源纯真IP库、亚太地区IP库和购买翼南IP库,三者均已文件形式存在,将它们分别通过mariner上系统导入cz_ip、apnic_ip、yinan_ip三个本地数据库表中以作为对比的基础数据;为保证时效性,每三个月刷新一次,mariner系统每次为手动启动,刷新完成即退出;

步骤二、IP自动升级,IP自动升级任务主要通过mercurycenter(基于Web的测试管理工具)系统完成,系统按主要功能分为四部分,切表部分、任务生成部分、清除任务部分和任务执行部分;

步骤三、通知任务,通过analyzelog接口通知mercurynode系统下载VDN(虚拟设备网络)日志,Mercurynode系统通过finishanalyze接口通知mercurycenter下载完成并需要下载数据文件;

步骤四、下载任务,根据任务(任务)中param(参数)属性中的src(source,源)和dst(destination,目的),将数据文件从远程地址src下载到本地地址dst中;

步骤四、导入任务,将数据文件读入缓存中然后依次写入speed_record表中;

步骤五、合并任务,从server(服务器)表中取出状态为有用的server记录,根据server记录的ID(identification,身份证)字段及任务的token(令牌)字段从speed_record表中获取speed_record记录,由speed_record记录得出某个isp((Internet Service Provider,互联网服务提供商)下的各个IP的平均速度及访问次数,将IP、isp、平均速度、访问次数、token信息插入ip_speed表;

步骤六、判断任务,根据任务的token和isp从ip_speed表获取记录,由记录算出最近7次的平均速度,其平均速度在等于30kB和200kB之间,则根据记录中的isp信息生成一条speedContrast记录,否则根据平均速度及记录中的isp信息确定after_isp的值及constancy(稳定性)的值,更新或插入speedContrast记录到speed_contrast表;根据after_isp与记录的isp不同,且IP为未锁定状态,则在ip_change表中插入一条记录,并更新IP表对应记录的constancy字段,反之IP状态为锁定,只更新IP表对应记录的constancy字段;

步骤七、速度对比任务,从speed_contrast表中获得cnc_token和tel_token都等于给定token的记录,其记录cnc_speed大于tel_speed,constancy减一;反之cnc_speed小于tel_speed,constancy加一,更新IP表中的constancy字段;

步骤八、锁定任务,锁定IP表中记录的constancy字段值大于等于10或者小于等于-10、locked(锁定的)字段值为未锁定locked=0并且isp等于1电信的记录,并保存返回的更新锁定数tel_lock_num,锁定IP表中记录的constancy字段值大于等于10或者小于等于-10、locked字段值为未锁定locked=0并且isp等于2联通的记录,并保存返回的更新锁定数cnc_lock_num,解锁IP表中constancy字段值大于等于-5且小于等于5、locked字段值为锁定locked=1并且isp等于1电信的记录,并保存返回的更新解锁数tel_unlock_num,解锁IP表中constancy字段值大于等于-5且小于等于5、locked字段值为锁定locked=1并且isp等于2联通的记录,并保存返回的更新解锁数cnc_unlock_num,生成锁定、解锁记录,插入数据表locked_stat中;

步骤九、统计任务,从servier表中获取状态为有用的记录,按serverid和token从speed_record表中获取符合条件的所有记录的条数及这些的记录的平均速度,将serverid、平均速度、记录的条数、任务的生成日期插入speed_stat表中,从ip_change表按isp及日期获取联通和电信的IP,依据IP表过滤掉一天内两次跳转的IP,分别与apnic、yinan、chunzhen库对比,计算出电信或联通的IP在各个库中电信、联通、未知的个数,插入到change_stat表中,从servier表中获取状态为有用的记录,从section_stat表中获取状态为有用的速度区间记录,遍历server记录,根据speed_record表计算该服务器每个速度区间内的IP个数,会同server的主键,section_stat的主键插入到speedsection_stat表中。

图1为本发明的mariner系统流程示意图。如图1所示,所述步骤一中的mariner系统的实际处理流程主要包括如下步骤:

步骤三十,使数据初始化sober,获得数据资料,转步骤三十一;

步骤三十一,判断数据是否成功,成功则转步骤三十二,否则转步骤四十一;

步骤三十二,使数据初始化配置,在数据捕获操作完成后保存数据以用于后续操作,转步骤三十三;

步骤三十三,判断数据是否成功,成功则转步骤三十四,否则转步骤四十一;

步骤三十四,使数据重置marinertsk状态,转步骤三十五;

步骤三十五,判断数据是否成功,成功则转步骤三十六,否则转步骤四十一;

步骤三十六,获取未完成任务,转步骤三十七;

步骤三十七,判断有无任务,成功则转步骤三十八,否则转步骤四十;

步骤四十,生产mariner任务并插库,转步骤三十八;

步骤三十八,启动线程和执行任务,转步骤三十九;

步骤三十九,判断数据是否成功,成功则转步骤四十二,否则转步骤四十一;

步骤四十一,打印错误日志,转步骤四十二;

步骤四十二,退出本轮操作。

所述步骤一中的mariner系统主要负责以下几点:

一、判断给定的文件是否存在;

二、更新任务的状态为正在执行状态;

三、清空表apnic_ip或yinan_ip或cz_ip的数据;

四、从给定的文件路径中读取原始数据文件,将原始数据进行处理后插入表apnic_ip、yinan_ip或cz_ip中;

五、每次从apnic_ip表中取10000条IP记录,依次与yinan_ip表中信息、cz_ip表中信息和淘宝IP接口返回信息,有信息则不用返回数据,没有信息返回数据,进行isp对比;取在各方数据中isp都相同的IP记录,生成refresh_change对象,插入refersh_change表中;并将相同的IP进行锁定,其中淘宝IP为在线IP公共查询接口;

六、更新任务的结束时间,状态设置为成功。

图2为本发明的mercurycenter系统流程示意图。如图2所示,所述步骤二中的mercurycenter系统的实际处理流程主要包括如下步骤:

步骤五十,初始化配置,转步骤五十一;

步骤五十一,判断数据是否成功,成功则转步骤五十二,否则转步骤五十六;

步骤五十二,初始化sober,转步骤五十三;

步骤五十三,判断数据是否成功,成功则转步骤五十四,否则转步骤五十六;

步骤五十四,重置任务状态,转步骤五十五;

步骤五十五,判断数据是否成功,成功则转到下流程,否则转步骤五十六;

步骤五十六,打印错误日志,转步骤五十七;

步骤五十七,退出本轮操作;

步骤五十八,获取未完成任务并启动,转步骤五十九;

步骤五十九,启动切表定时器,转步骤六十;

步骤六十,启动任务生成定时器,转步骤六十一;

步骤六十二,启动任务清理定时器,转步骤六十三;

步骤六十三,启动任务处理定时器。

所述步骤二中的mercurycenter系统主要负责以下几点:

十、切表部分,将每月的1号将speedrecord表切为上月,新建speedrecord表;

十一、任务生成部分,从服务器表中获取状态为有用的记录,根据获取的记录中的信息,生成任务,并插入任务表中;

十二、任务清除部分,将任务表中七天前包括七天的记录移动到任务_history表中,并删除本地主机上七天前的日志文件;

十三、任务执行部分;任务共分为下载任务、读取任务、合并任务、判定任务、速度对比任务、锁定任务和统计任务七个任务,当前一个任务结束后生成下一个任务,所有任务结束后跳出当日的任务处理线程。

以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1