System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现DNS高效存储与溯源的方法和系统技术方案_技高网

一种实现DNS高效存储与溯源的方法和系统技术方案

技术编号:42207315 阅读:16 留言:0更新日期:2024-07-30 18:51
本申请涉及一种实现DNS高效存储与溯源的方法和系统,其中方法包括:处理步骤具体如下:对DNS原始日志解压;分别基于用户IP和请求域名domain,建立多级索引;将解压后的DNS原始日志写入对应的多级索引,形成双索引备份日志。本申请具有的技术效果是:解决传统DNS日志存储查询占用存储空间多,不便于进行解压查询使得无法在规定时间内反馈查询结果的问题。

【技术实现步骤摘要】

本专利技术涉及dns日志存储查询,尤其是涉及一种实现dns高效存储与溯源的方法和系统。


技术介绍

1、dns作为互联网的入口,通过对dns业务流量采集,一方面是满足网信安dns日志监测要求,另一方面为运营商数据挖掘、应用分析等提供可能。按照工信部要求运营商存储dns日志至少6个月,并且运营商在1小时内反馈7天以内的dns日志的查询结果。

2、随着互联网流量规模越来越大,其日志量不断上升,部分省份dns日志存储高达40t,8千亿条。存储6个月则至少需要7200t的存储空间。若要求数据备份则需要存储设备增加一倍。除此之外,机房设备机位、电力等运营开销也是笔不小的费用。如图1,传统dns日志存储查询流程主要通过采集、存储步骤完成对dns日志的存储,未对日志进行治理,占用较多存储空间。待接收查询指令后进行解压查询,效率低下,在实际应用场景中无法在规定时间内反馈查询结果。

3、目前业内针对dns日志存储需求除了增加存储设备以外,没有更好的方案。针对dns日志查询指令反馈的需求通过建设大数据平台,把每天的历史数据进行全面解析,存储在大数据平台。这同样耗费大量计算与存储资源。


技术实现思路

1、为了解决传统dns日志存储查询占用存储空间多,不便于进行解压查询使得无法在规定时间内反馈查询结果的问题,本申请提供一种实现dns高效存储与溯源的方法和系统。

2、本申请提供一种实现dns高效存储与溯源的方法和系统,采用如下的技术方案:

3、一种实现dns高效存储的方法,处理步骤具体如下:

4、对dns原始日志解压;

5、分别基于用户ip和请求域名domain,建立多级索引;

6、将解压后的dns原始日志写入对应的多级索引,形成双索引备份日志。

7、进一步地,所述多级索引的建立方法包括:

8、首先,按照日期进行日期分类;

9、每个日期分类下,按照24小时进行时间分类;

10、每个时间分类下,按照预设目录个数进行目录分类;

11、每个目录分类下,按照预设文件个数进行文件分类。

12、进一步地,所述基于ip建立的多级索引还包括在时间分类之后、目录分类之前,增加ip类型分类。

13、进一步地,所述将解压后的dns原始日志写入基于ip建立的多级索引包括:

14、计算用户ip的hash值,用该ip的hash值对n进行取余操作,则对应日志属于和余数a相同的目录;

15、计算domain的hash值,用该domain的hash值对m进行取余操作,则对应日志属于和余数b相同的文件;

16、将对应日志写入目录a下的文件b中;

17、其中,n为基于ip建立的多级索引下的预设目录个数,m为基于ip建立的多级索引下的预设文件个数。

18、进一步地,所述将解压后的dns原始日志写入基于domain建立的多级索引包括:

19、计算domain所属域的hash值,用该domain所属域的hash值对x进行取余操作,则对应日志属于和余数p相同的文件;

20、计算domain的hash值,用该domain的hash值对y进行取余操作,则对应日志属于和余数q相同的文件;

21、将对应日志写入目录p下的文件q中;

22、其中,x为基于domain建立的多级索引下的预设目录个数,y为基于domain建立的多级索引下的预设文件个数。

23、进一步地,在写入所述解压后的dns原始日志前,还包括对解压后的dns原始日志进行字段转换;在写入所述解压后的dns原始日志后还包括对写入文件进行压缩。

24、进一步地,所述字段转换是将字段由字符串类型转换成十六进制,所述压缩采用g-zip压缩算法。

25、一种实现dns高效溯源的方法,基于如权利要求1-7中任一所述的方法获得的双索引备份日志,根据检索要求进行dns日志的检索溯源。

26、一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如上所述的方法。

27、一种实现dns高效存储的系统,包括一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述方法的指令。

28、综上所述,本申请包括以下至少一种有益技术效果:

29、1.通过建立基于ip或域名的多级索引,将原本杂乱无序的原始日志划分成多个有序且部分内容相同或相近的小文件再进行压缩,总体文件体积远小于原始dns压缩日志,且完整保留全量原始日志字段信息;

30、2.将原始日志基于ip和域名治理后形成两份数据,每一份数据都完整保留了全量dns原始日志的字段信息,且总体体积仍大大小于原始日志。两份存储数据互为备份,相比于单一存储提升了可靠性;

31、3.在基于ip和域名大类的多级索引处理后,大大缩减了待检索的日志量,提升了检索查询效率。

本文档来自技高网...

【技术保护点】

1.一种实现DNS高效存储的方法,其特征在于:处理步骤具体如下:

2.根据权利要求1所述的一种实现DNS高效存储的方法,其特征在于:所述多级索引的建立方法包括:

3.根据权利要求2所述的一种实现DNS高效存储的方法,其特征在于:所述基于IP建立的多级索引还包括在时间分类之后、目录分类之前,增加IP类型分类。

4.根据权利要求1所述的一种实现DNS高效存储的方法,其特征在于:所述将解压后的DNS原始日志写入基于IP建立的多级索引包括:

5.根据权利要求1所述的一种实现DNS高效存储的方法,其特征在于:所述将解压后的DNS原始日志写入基于domain建立的多级索引包括:

6.根据权利要求1所述的一种实现DNS高效存储的方法,其特征在于:在写入所述解压后的DNS原始日志前,还包括对解压后的DNS原始日志进行字段转换;在写入所述解压后的DNS原始日志后还包括对写入文件进行压缩。

7.根据权利要求6所述的一种实现DNS高效存储的方法,其特征在于:所述字段转换是将字段由字符串类型转换成十六进制,所述压缩采用g-zip压缩算法。

8.一种实现DNS高效溯源的方法,其特征在于:基于如权利要求1-7中任一所述的方法获得的双索引备份日志,根据检索要求进行DNS日志的检索溯源。

9.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,其特征在于:所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1至7中任一所述的方法。

10.一种实现DNS高效存储的系统,其特征在于:包括一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1至7中任一所述方法的指令。

...

【技术特征摘要】

1.一种实现dns高效存储的方法,其特征在于:处理步骤具体如下:

2.根据权利要求1所述的一种实现dns高效存储的方法,其特征在于:所述多级索引的建立方法包括:

3.根据权利要求2所述的一种实现dns高效存储的方法,其特征在于:所述基于ip建立的多级索引还包括在时间分类之后、目录分类之前,增加ip类型分类。

4.根据权利要求1所述的一种实现dns高效存储的方法,其特征在于:所述将解压后的dns原始日志写入基于ip建立的多级索引包括:

5.根据权利要求1所述的一种实现dns高效存储的方法,其特征在于:所述将解压后的dns原始日志写入基于domain建立的多级索引包括:

6.根据权利要求1所述的一种实现dns高效存储的方法,其特征在于:在写入所述解压后的dns原始日志前,还包括对解压后的dns原始日志进行字段转换;在写入所述解压后的dns原...

【专利技术属性】
技术研发人员:吴兴利张慧丽成旭升汪勇
申请(专利权)人:南京优速网络科技有限公司
类型:发明
国别省市:

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

1