一种DNS日志编码封装的方法、设备及介质技术

技术编号:39041434 阅读:12 留言:0更新日期:2023-10-10 11:54
本发明专利技术涉及一种DNS日志编码封装的方法,该方法包括以下步骤:建立域名和业务IP映射字典;对任一条DNS日志中的域名/业务IP,搜索域名和业务IP映射字典,以相匹配的域名/业务IP编号替换DNS日志中的原始字符串表示,完成DNS日志的替换压缩;对若干条替换压缩后的DNS日志进行封装,生成至少一个UDP包发送至接收端。本发明专利技术与现有技术相比,其显著优点是:采用固定长度+非固定长度的编码格式,节省无效请求数据占用,通过使用映射字典对TOP域名和业务IP进行替换,极大压缩了域名字符串和业务IP占用空间,并且实现了将多条DNS日志封装到一个UDP包中,提升IP包头和UDP包头的使用率,减少传输数据报文数量,既满足了无时延传输要求,又达到了节约传输带宽的目的。又达到了节约传输带宽的目的。又达到了节约传输带宽的目的。

【技术实现步骤摘要】
一种DNS日志编码封装的方法、设备及介质


[0001]本专利技术涉及数据封装
,特别是一种DNS日志编码封装的方法、设备及介质。

技术介绍

[0002]在日常DNS报文解析生成DNS压缩日志后,需要通过FTP协议传输到指定的日志文件服务器目录下。但是FTP是明文传输,传输过程中如果出现网络中断等问题,可能会导致数据传输失败或损坏,可靠性较差。因此,基于UDP(用户数据包协议)的数据封装方法应运而生。通过将待传输数据封装到UDP报文的数据段内再进行传输,能够实现只要IP可达即可无时延传输的效果。
[0003]在数据封装过程中,常用TLV格式对传输数据进行编码。TLV格式是基本编码规则的一种,包括全称Tag(标签)、Length(长度)和Value(值)。在数据通信领域中,TLV格式中的T字段表示传输类型,L字段表示报文长度、V字段往往用来存放待传输的内容。数据封装的流程是在UDP数据报文的数据内容中加入TLV格式的编码内容。解封装的流程是从UDP数据报文中读取TLV格式内容并解码。
[0004]TLV格式虽然具有更好的兼容性和灵活性,但是每次编码会额外增加数字节的Tag和Length字段,导致实际传输数据量较原始的传输数据增大,对于一个省份日均产生数十TB级别DNS日志来说,十分消耗传输带宽。针对该问题,有方法提出使用gzip等通用压缩算法对编码后的数据进行压缩后再封装。但是对于数据重复率低的DNS日志来说通用压缩算法压缩效果较差,并且对CPU性能消耗较大。
[0005]文献1:中国专利技术专利CN200510117552.1公开了一种应用于互联网电子交易整合的系统及方法,虽然提到了编码,但其作用在于通过编码整合商品编号,实现一个网站的交易商品与另一个网站的商品陈列的整合,实际无法解决传输带宽占用压力大的问题。

技术实现思路

[0006]本专利技术的目的在于提供一种DNS日志编码封装的方法,在使用UDP封装DNS日志的基础上,设计了一款支持多种不同长度的编码格式,通过映射字典对TOP域名和业务IP进行替换,压缩了TOP域名字符串和业务IP的占用空间,提升IP包头和UDP包头的使用率,达到了同时满足无时延传输要求和节约传输带宽的目的。
[0007]实现本专利技术目的的技术解决方案为:
[0008]一种DNS日志编码封装的方法,该方法包括以下步骤:
[0009]建立域名和业务IP映射字典,其中,域名映射字典由各域名与设定域名编号的一一对应关系构成,业务IP映射字典由各业务IP与设定业务IP编号的一一对应关系构成;
[0010]对任一条DNS日志中的域名/业务IP,搜索域名和业务IP映射字典,以相匹配的域名/业务IP编号替换DNS日志中的原始字符串表示,完成DNS日志的替换压缩;
[0011]对若干条替换压缩后的DNS日志进行UDP封装,生成至少一个UDP包并发送至接收
端。
[0012]进一步的,域名编号的设定方法是:根据一个单位时间内的域名请求次数对域名进行由大至小排序后按序编号,域名编号为2字节。
[0013]进一步的,业务IP映射编号的设定方法是:为各业务IP地址设置一个编号,业务IP映射编号为2个字节。
[0014]进一步的,当DNS日志中的域名/业务IP在域名/业务IP映射字典中无相匹配的域名/业务IP编号时,保留其原始字符串表示。
[0015]进一步的,接收端接收UDP包后进行解封后,对压缩后的DNS日志,搜索域名和业务IP映射字典,以相匹配的字符串表示替换域名/业务IP编号,得到压缩后的DNS日志的原始字符串表示,完成压缩后的DNS日志还原。
[0016]进一步的,DNS日志包括IP类型、用户IP、域名、解析时间、记录解析地址、解析结果代码、DNS记录类型、CNAME域名以及业务IP。
[0017]进一步的,对域名/业务IP中结果不唯一的字段,同一字段内多个结果相对应的域名/业务IP编号之间使用第一分隔符进行分割,不同字段之间使用第二分隔符进行分割。
[0018]进一步的,UDP封装处理流程为:
[0019]设置UDP包,UDP包的头部包括源端口和目的端口,UDP包的报文数据包括至少一条压缩后的DNS日志,其中:源端口与DNS日志的用户IP对应,目的端口与DNS日志的业务IP对应;
[0020]根据UDP包的报文数据的长度,计算可容纳DNS日志的数量并进行存放,完成封装。
[0021]一种DNS日志编码封装设备,该设备包括:
[0022]存储器,用于存储计算机程序;
[0023]处理器,用于执行计算机程序时实现DNS日志编码封装的方法的步骤。
[0024]一种计算机可读存储介质,该计算可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现DNS日志编码封装的方法的步骤。
[0025]本专利技术与现有技术相比,其显著优点是:本专利技术采用一种固定长度+非固定长度的编码格式,节省无效请求数据占用,通过使用映射字典对TOP域名和业务IP进行替换,极大压缩了域名字符串和业务IP占用空间,并且实现了将多条DNS日志封装到一个UDP包中,提升IP包头和UDP包头的使用率,减少传输数据报文数量,既满足了无时延传输要求,又达到了节约传输带宽的目的。
附图说明
[0026]图1是本专利技术的实施例中DNS日志编码封装的方法的流程示意图。
[0027]图2是本专利技术的实施例中UDP包的结构示意图。
具体实施方式
[0028]以下结合附图,详细说明本专利技术的实施方式。
[0029]如图1所示,一种DNS日志编码封装的方法,该方法包括以下步骤:
[0030]建立域名和业务IP映射字典,其中,域名映射字典由各域名与设定域名编号的一一对应关系构成,业务IP映射字典由各业务IP与设定业务IP编号的一一对应关系构成;
[0031]对任一条DNS日志中的域名/业务IP,搜索域名和业务IP映射字典,以相匹配的域名/业务IP编号替换DNS日志中的原始字符串表示,完成DNS日志的替换压缩;
[0032]对若干条替换压缩后的DNS日志进行UDP封装,生成至少一个UDP包并发送至接收端。
[0033]具体的,域名编号的设定方法是:根据一个单位时间内的域名请求次数对域名进行由大至小排序后按序编号,域名编号为2字节。
[0034]具体的,业务IP映射编号的设定方法是:为各业务IP地址设置一个编号,业务IP映射编号为2个字节。
[0035]具体的,当DNS日志中的域名/业务IP在域名/业务IP映射字典中无相匹配的域名/业务IP编号时,保留其原始字符串表示。
[0036]具体的,接收端接收UDP包后进行解封后,对压缩后的DNS日志,搜索域名和业务IP映射字典,以相匹配的字符串表示替换域名/业务IP编号,得到压缩后的DNS日志的原始字符串表示,完成压缩后的DNS日志还原。
[0037]具体的,DNS日志包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DNS日志编码封装的方法,其特征在于:所述方法包括以下步骤:建立域名和业务IP映射字典,其中,域名映射字典由各域名与设定域名编号的一一对应关系构成,业务IP映射字典由各业务IP与设定业务IP编号的一一对应关系构成;对任一条DNS日志中的域名/业务IP,搜索域名和业务IP映射字典,以相匹配的域名/业务IP编号替换所述DNS日志中的原始字符串表示,完成DNS日志的替换压缩;对若干条替换压缩后的DNS日志进行UDP封装,生成至少一个UDP包并发送至接收端。2.根据权利要求1所述的DNS日志编码封装的方法,其特征在于:所述域名编号的设定方法是:根据一个单位时间内的域名请求次数对域名进行由大至小排序后按序编号,所述域名编号为2字节。3.根据权利要求1所述的DNS日志编码封装的方法,其特征在于:所述业务IP映射编号的设定方法是:为各业务IP地址设置一个编号,所述业务IP映射编号为2个字节。4.根据权利要求1所述的DNS日志编码封装的方法,其特征在于:当所述DNS日志中的域名/业务IP在所述域名/业务IP映射字典中无相匹配的域名/业务IP编号时,保留其原始字符串表示。5.根据权利要求1所述的DNS日志编码封装的方法,其特征在于:所述接收端接收所述UDP包后进行解封后,对压缩后的DNS日志,搜索域名和业务IP映射字典,以相匹配的字符串表示替换域名/业务IP编号,得到压...

【专利技术属性】
技术研发人员:吴兴利张慧丽戴云伟汪勇
申请(专利权)人:江苏省未来网络创新研究院
类型:发明
国别省市:

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

1