webskt-query-agent
########################################## ########### VERSION-4.0-20210406 ######## ########################################## 1)whois和reputation分表存储,查询结果单独写入;同步导出只对份额里结果表进行 ✅ 2)域名查询策略:先完全匹配查数据库,然后阶段二级域名查数据库,最后完全匹配查brightcloud ✅ 3)增加匹配方式字段 match_pattern: 1-右匹配:二级域名;2-全匹配:非二级域名 ✅
注意:query_success实际上是没用的,目前记录到db里的全部是查询成功的。查询不成功的会打印到日志中
- 对URL分类库近200万域名进行了查询:查询结果报告更新至confluence ✅
- 对k国数据进行查询:去掉.kz和.au后缀
########################################## ########### VERSION-3.0-20210318 ######## ##########################################
性能进一步优化: 1)数据库积累batch 查询 ✅ 优化性能:数据库查询5.5w/m;brightcloud查询7k-8k/m
########################################## ########### VERSION-2.0-20210312 ######## ########################################## 修改:
功能: 1)增加计费自统计功能(Offline每查询一个文件输出计次日志,update每update一次计次) ✅ 2)增加配置开关控制查询内容,只进行url_info查询,暂不查询whois和reputation ✅ 3)增加配置开关控制OfflineTask和UpdateTask,Update暂不开启 ✅ 4)WebSKT不做域名截断,只做去重、格式判断等简单校验,具体处理交给提交查询方CN去做 ✅ 目前要求:只取两级域名,顶级域参照https://publicsuffix.org/list/ 5)目前调用api查询,无法设置为优先本地库查询(SDK可配置相关参数)⛔️
OfflineTask 1)用户导入csv格式的查询列表文件 ✅ 2)导入完成后用户手动添加后缀名(.compl) ✅ 3)定时任务设置改为秒级 ✅ 4)查询过程中产出日志,包括查询进度、查询百分比等 ✅ 5)查询结束后保存查询结果文件(xxx.result),同时修改导入文件后缀名为(.done) ✅
UpdataTask
DB Sync 1)定时任务改为,用户触发,用户传入时间等参数执行同步脚本 ✅ full_bak.sh: ✅ 默认导入文件名:websktDB_full-%Y%m%d-%H%M%S.csv,如websktDB_full-20210310-115442.csv 可指定文件名:如 sh full_bak.sh -n filename recent_bak.sh: ✅ 默认导入近7天新增记录,文件名为websktDB_recent-%Y%m%d-%H%M%S.csv,如websktDB_full-20210310-115442.csv 可指定文件名,新增时段(create_time字段筛选的起止时间点):如 sh recent_bak.sh sh recent_bak.sh -n filename sh recent_bak.sh -s "2021-01-31 12:09:00" -e "2021-03-12"
性能: ❗️offline查询过程: 1)单个fqdn遍历,查mariadb或调用api,全部遍历完成后插入数据库,效率低,一分钟处理300个fqdn 2)全部遍历完成后插入数据库,中间程序失败会造成数据库保存失败 3)全部遍历完成后打印计次日志,中间程序失败会导致计次丢失 修改为: 1)bc查询积累至100个之后批量查询,一分钟处理1300个,效率提高至4~5倍。✅
########################################## ############# 初版-20210308 ########### ##########################################