CN112527753A - Dns解析记录无损压缩方法、装置、电子设备及存储介质 - Google Patents
Dns解析记录无损压缩方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112527753A CN112527753A CN202011460810.7A CN202011460810A CN112527753A CN 112527753 A CN112527753 A CN 112527753A CN 202011460810 A CN202011460810 A CN 202011460810A CN 112527753 A CN112527753 A CN 112527753A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- units
- data units
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006835 compression Effects 0.000 title claims abstract description 75
- 238000007906 compression Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004458 analytical method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 18
- 230000006837 decompression Effects 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 6
- 108010001267 Protein Subunits Proteins 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000003252 repetitive effect Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及压缩存储领域,提供一种DNS解析记录无损压缩方法,首先对解析记录中的数据进行划分切割形成数据单元,从而根据DNS解析记录的数据特征,进行针对性的数据处理,再对数据单元进行频率统计以获取各个数据单元的频率值,根据频率值划分为可压缩数据单元和不可压缩数据单元,将不可压缩的数据单元进行再分割形成数据子单元,并根据可压缩数据单元和数据子单元的频率值在所述结点池中依次选取节点对象构建节点树,最后根据节点树生成节点编码以完成无损压缩,如此对不可压缩数据单元进行再划分能够通过对重复子串设置编码,替换对重复子串中每个字符的编码,从而减少了传输数据量,加速生成无损压缩文件。
Description
技术领域
本发明涉及压缩存储领域,涉及一种无损压缩的方法,尤其涉及一种DNS解析记录无损压缩方法、装置、电子设备及计算机可读存储介质。
背景技术
无损压缩是程序设计流程优化的重要技术,对于大型文件的存储需求,无损压缩可以减少物理存储空间,提高存储资源的利用价值;对于不允许出现任何损失信息的文本文件,无损压缩可以完整的恢复到压缩前的信息,不会造成任何信息量的丢失;而对于大文件数据传输的应用场景,无损压缩可以减少传输数据量,提高服务器响应速度。在域名解析领域,难免需要对大量的DNS解析记录进行存储和传输,而DNS解析记录是一种对信息量完整度要求比较高的数据。因此,要实现对DNS解析记录的压缩,需要选择能够达到无损压缩效果的算法,而Huffman编码算法是公认的适用于数据压缩场合的无损压缩算法。
传统的无损压缩方法,通过Huffman编码算法,对待压缩文件中的字符进行重新编码,将出现频率高的字符设置较短的编码,来达到压缩目的。但这种压缩方法,没有对重复子串设置编码,而且在统计阶段,会对原始数据中每个字符进行精确统计,这不仅增加统计过程的耗时,也会增加Huffman树构造的复杂度。
因此,亟需一种能够进行针对性数据处理,简化了构造Huffman树复杂度、减少传输数据量,加速生成无损压缩文件、提升压缩速度的DNS解析记录无损压缩方法。
发明内容
本发明提供一种DNS解析记录无损压缩方法、装置、电子设备及计算机可读存储介质,其主要目的在于根据DNS解析记录的数据特征,进行针对性的数据处理,从而更加适用于域名解析领域,能够通过将原始数据单元化处理,来实现对每个单元子串出现频率的精确统计,从而简化了构造节点树的复杂度。
为实现上述目的,本发明提供的一种DNS解析记录无损压缩方法,包括:
解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元;
对所述数据单元进行频率统计以获取各个数据单元的频率值,根据所述频率值将所述数据单元划分为可压缩数据单元和不可压缩数据单元,将所述不可压缩的数据单元进行再分割形成数据子单元,并对所述数据子单元进行频率统计以获得所述数据子单元的频率值;
为所述可压缩数据单元和所述数据子单元生成根节点对象,将所述根节点对象放入结点池,并根据所述可压缩数据单元和所述数据子单元的频率值在所述结点池中依次选取节点对象构建节点树;
根据所述节点树生成节点编码以完成无损压缩。
可选地,在解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元之前,还包括多线程优化,所述多线程优化的过程包括:
建立第一容器和第二容器,其中,所述第一容器用于存储原文件列表,所述第二容器用于存储数据格式符合DNS解析记录格式的待压缩的文件;
采用两个线程并行处理执行所述原文件列表中的原文件和对所述待压缩的文件进行解析、压缩。
可选地,在采用两个线程并行处理执行所述原文件列表中的原文件和对所述待压缩的文件进行解析、压缩的过程中,包括:
执行所述原文件的线程不间断的从所述第一容器中取出原文件,对所述原文件进行执行处理形成待压缩的文件,并将所述待压缩的文件放入所述第二容器;
生成编码的线程不间断的从所述第二容器中取出待压缩的文件以构造节点树。
可选地,根据所述频率值将所述数据单元划分为可压缩数据单元和不可压缩数据单元的过程,包括:
预设频率阈值;
获取所述数据单元的频率值;
将所述频率值与所述频率阈值作比较,其中,
若所述数据单元的频率值等于所述频率阈值,则将所述数据单元作为不可压缩数据单元;若所述数据单元的频率值不等于所述频率阈值,则将所述数据单元作为可压缩数据单元。
可选地,在为所述可压缩数据单元和所述数据子单元生成根节点对象之前,还包括定义节点对象,其中,
所述节点对象至少包括:节点的唯一标识、数据域、频率值、当前节点的父节点的唯一标识、当前节点的左子节点的唯一标识,以及当前节点的右子节点的唯一标识。
可选地,将所述根节点对象放入结点池,并根据所述可压缩数据单元和所述数据子单元的频率值在所述结点池中依次选取节点对象构建节点树的过程,包括:
在所述可压缩数据单元和所述数据子单元中选择两个频率值最小的单元,将两个频率值最小的单元的频率值相加后生成新单元,为所述新单元生成新根节点,并将所述新根节点作为所述两个频率值最小的单元的父节点进行初步建树;
循环将所述新根节点放入所述结点池中,并再在所述结点池中选择两个频率值最小的单元再生成新单元,如此往复,直至经过有限次数的初步建树以形成节点树;其中,所述有限次数为所述数据单元的总数减一。
可选地,在根据所述节点树生成节点编码以完成无损压缩之后,还包括无损解压,所述无损解压的过程,包括:
在所述压缩文件中依次读取所述节点编码;
根据所述节点编码进行对照翻译形成翻译数据单元,并将每个节点编码对应的翻译数据单元存储至指定的解压文件中;
对所述解压文件进行解压,解压完成关闭解压文件。
为了解决上述问题,本发明还提供一种DNS解析记录无损压缩装置,所述装置包括:
文件解析单元,用于解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元;
频率统计单元,用于对所述数据单元进行频率统计以获取各个数据单元的频率值,根据所述频率值将所述数据单元划分为可压缩数据单元和不可压缩数据单元,将所述不可压缩的数据单元进行再分割形成数据子单元,并对所述数据子单元进行频率统计以获得所述数据子单元的频率值;
节点生成单元,用于为所述可压缩数据单元和所述数据子单元生成根节点对象,将所述根节点对象放入结点池,并根据所述可压缩数据单元和所述数据子单元的频率值在所述结点池中依次选取节点对象构建节点树;
无损压缩单元,用于根据所述节点树生成节点编码以完成无损压缩。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的DNS解析记录无损压缩方法中的步骤。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的DNS解析记录无损压缩方法。
本发明实施例首先解析待压缩的文件以提取解析记录,对解析记录中的数据进行划分切割形成数据单元,从而根据DNS解析记录的数据特征,进行针对性的数据处理,更加适用于域名解析领域,能够通过将原始数据单元化处理,来实现对每个单元子串出现频率的精确统计,再对数据单元进行频率统计以获取各个数据单元的频率值,根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元,将不可压缩的数据单元进行再分割形成数据子单元,并对数据子单元进行频率统计以获得数据子单元的频率值,再为可压缩数据单元和所述数据子单元生成根节点对象,将根节点对象放入结点池,并根据可压缩数据单元和数据子单元的频率值在所述结点池中依次选取节点对象构建节点树,最后根据节点树生成节点编码以完成无损压缩,如此对不可压缩数据单元进行再划分能够通过对重复子串设置编码,替换对重复子串中每个字符的编码,从而减少了传输数据量,加速生成无损压缩文件。
附图说明
图1为本发明一实施例提供的DNS解析记录无损压缩方法的流程示意图;
图2为本发明一实施例提供的DNS解析记录无损压缩方法中数据单元划分示意图;
图3为本发明一实施例提供的DNS解析记录无损压缩方法中节点树示意图;
图4为本发明一实施例提供的DNS解析记录无损压缩装置的模块示意图;
图5为本发明一实施例提供的实现DNS解析记录无损压缩方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种DNS解析记录无损压缩方法。参照图1所示,为本发明一实施例提供的DNS解析记录无损压缩方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,DNS解析记录无损压缩方法包括:
S1:解析待压缩的文件以提取解析记录,对解析记录中的数据进行划分切割形成数据单元;
在步骤S1之前还包括多线程优化,该多线程优化的过程包括:
建立第一容器和第二容器,其中,第一容器用于存储原文件列表,第二容器用于存储数据格式符合DNS解析记录格式的待压缩的文件;
采用两个线程并行处理执行原文件列表中的原文件和对待压缩的文件进行解析、压缩。
在采用两个线程并行处理执行原文件列表中的原文件和对待压缩的文件进行解析、压缩的过程中,包括:
执行原文件的线程不间断的从第一容器中取出原文件,对原文件进行执行处理形成待压缩的文件,并将待压缩的文件放入第二容器;
生成编码的线程不间断的从第二容器中取出待压缩的文件以构造节点树。
并且,在文件处理和生成编码的线程还没有执行结束前,主线程的写文件操作将被限制,即王第一容器输送原文件的操作将被限制,直至这两个并行线程执行结束后,主线程才执行写原文件的操作。
步骤S1中,DNS解析记录的主域名、主机记录和记录值都是以“.”分隔的分隔串,且频繁出现重复子串,因此,在压缩前,先扫描待压缩的原文件,提取出待压缩的原文件中的解析记录,再对每一条解析记录进行单元化处理,即将以“.”分隔的主域名、主机记录和记录值处理出成不同的单元,而记录类型、ttl分别单独作为一个单元。
如图2所示的数据单元划分示意图,在本实施例中,域名为tech.xyz res A121.168.103.2 600,其中主域名为tech.xyz,主机记录为res,记录类型为A,记录值为151.168.103.2,ttl为600,则将该域名划分切割为九个单元,将该域名进行划分,划分为“tech”、“xyz”、“res”、“A”、“151”、“168”、“103”、“2”、“600”九个数据单元,以便能够根据DNS解析记录的数据特征,进行针对性的数据处理,从而更加适用于域名解析领域,能够通过将原始数据单元化处理,进而来实现对每个单元子串出现频率的精确统计。
S2:对数据单元进行频率统计以获取各个数据单元的频率值,根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元,将不可压缩的数据单元进行再分割形成数据子单元,并对数据子单元进行频率统计以获得数据子单元的频率值。
在步骤S2中,根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元的过程,包括:
S21:预设频率阈值;
S22:获取数据单元的频率值;
S23:将频率值与所述频率阈值作比较,其中,
S24:若数据单元的频率值等于所述频率阈值,则将数据单元作为不可压缩数据单元;若数据单元的频率值不等于所述频率阈值,则将数据单元作为可压缩数据单元。
在本实施例中,该频率阈值为1,即根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元的标准为,将频率值为1的单元作为不可压缩数据单元,将频率值不为1的单元作为可压缩数据单元;其中,该频率值为相同数据单元的出现次数,由于出现频率为1的数据单元无法进行压缩,故需对出现频率为1的数据单元进行再分割,即若数据单元的频率值为1,则采用split算法对该数据单元进行再拆分形成更小的单元(数据子单元),直至将数据单元划分为单字符,比如,若本事实例中的“res”字符的频率值为1,则将其拆分为“re”和“s”,直至差分为单个字符,也就是说,若“re”的频率值依然为1,则,再将“re”差分为“r”和“e”,从而便于后续压缩。
需要说明的是,由于域名支持中文,因此在统计只包含单个字符的数据子单元或数据单元时,需要考虑中文域名的场景,因为在ASCII码中,1个标准的中文汉字占用2个字节空间,1个标准的英文字母占用1个字节空间,所以,在统计中文域名时,将1个中文字符分为2个单元进行统计。
S3:为可压缩数据单元和数据子单元生成根节点对象,将根节点对象放入结点池,并根据可压缩数据单元和数据子单元的频率值在结点池中依次选取节点对象构建节点树;
在为可压缩数据单元和数据子单元生成根节点对象之前,还包括定义节点对象,其中,
节点对象至少包括:节点的唯一标识、数据域、频率值、当前节点的父节点的唯一标识、当前节点的左子节点的唯一标识,以及当前节点的右子节点的唯一标识。
在步骤S3中,将根节点对象放入结点池,并根据可压缩数据单元和数据子单元的频率值在结点池中依次选取节点对象构建节点树的过程,包括:
S31:在可压缩数据单元和数据子单元中选择两个频率值最小的单元,将两个频率值最小的单元的频率值相加后生成新单元,为新单元生成新根节点,并将新根节点作为两个频率值最小的单元的父节点进行初步建树;
S32:循环将新根节点放入结点池中,并再在结点池中选择两个频率值最小的单元再生成新单元,如此往复,直至经过有限次数的初步建树以形成节点树;其中,有限次数为数据单元的总数减一,即如此循环往复即可构成节点树,在本实施例中,存在n个单元(可压缩数据单元或数据子单元)生成的根结点,那么,经过n-1次的筛选和建树操作后,将建造成一棵带权的节点树,可以是哈夫曼树。
S4:根据节点树生成节点编码以完成无损压缩;
在S4中,节点树构造完成后,该节点树的每个叶子结点的数据域均包含一个单元对象的具体内容,而每个非叶子结点的数据域都是null值。为计算每个叶子结点的节点编码,需从根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1;如果当前结点是叶子结点,将终止追溯,并将叶子结点的编码记录下来以形成节点编码;
如图3所示的节点编码获取示意图,在图3所示的实施例中,“tech”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“1101”;“xyz”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“01”;
“res”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“1111”;
“A”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“100010”;
“151”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“10000”;
“168”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“10100”;
“103”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“10101”;
“5”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“00010”;
“600”自根结点开始,逐一追溯叶子结点的路径,如果当前结点是左子节点,编码记作0,如果当前结点是右子结点,编码记作1,其节点编码为“001”,以此类推,获取节点编码表,而后将节点编码存入压缩文件,完成无损压缩。
在步骤S4中,在根据节点树生成节点编码以完成无损压缩之后,还包括无损解压,无损解压的过程,包括:
在压缩文件中依次读取节点编码;
根据节点编码进行对照翻译形成翻译数据单元,并将每个节点编码对应的翻译数据单元存储至指定的解压文件中;
对解压文件进行解压,解压完成关闭解压文件。
如此,完成无损压缩至无损解压的全过程。
如上所述,本发明提供的DNS解析记录无损压缩方法,首先解析待压缩的文件以提取解析记录,对解析记录中的数据进行划分切割形成数据单元,从而根据DNS解析记录的数据特征,进行针对性的数据处理,更加适用于域名解析领域,能够通过将原始数据单元化处理,来实现对每个单元子串出现频率的精确统计,再对数据单元进行频率统计以获取各个数据单元的频率值,根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元,将不可压缩的数据单元进行再分割形成数据子单元,并对数据子单元进行频率统计以获得数据子单元的频率值,再为可压缩数据单元和数据子单元生成根节点对象,将根节点对象放入结点池,并根据可压缩数据单元和数据子单元的频率值在结点池中依次选取节点对象构建节点树,最后根据节点树生成节点编码以完成无损压缩,如此对不可压缩数据单元进行再划分能够通过对重复子串设置编码,替换对重复子串中每个字符的编码,从而减少了传输数据量,加速生成无损压缩文件。
如图4所示,本发明提供一种DNS解析记录无损压缩装置100,本发明可以安装于电子设备中。根据实现的功能,该DNS解析记录无损压缩装置100可以包括文件解析单元101、频率统计单元102、节点生成单元103、无损压缩单元104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
文件解析单元101,用于解析待压缩的文件以提取解析记录,对解析记录中的数据进行划分切割形成数据单元;
频率统计单元102,用于对数据单元进行频率统计以获取各个数据单元的频率值,根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元,将不可压缩的数据单元进行再分割形成数据子单元,并对数据子单元进行频率统计以获得数据子单元的频率值;
节点生成单元103,用于为可压缩数据单元和数据子单元生成根节点对象,将根节点对象放入结点池,并根据可压缩数据单元和数据子单元的频率值在结点池中依次选取节点对象构建节点树;
无损压缩单元104,用于根据节点点树生成节点编码以完成无损压缩。
如图5所示,本发明提供一种DNS解析记录无损压缩方法的电子设备1。
该电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在存储器11中并可在所述处理器10上运行的计算机程序,如DNS解析记录无损压缩程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如DNS解析记录无损压缩程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如DNS解析记录无损压缩程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的DNS解析记录无损压缩程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元;
对数据单元进行频率统计以获取各个数据单元的频率值,根据频率值将数据单元划分为可压缩数据单元和不可压缩数据单元,将不可压缩的数据单元进行再分割形成数据子单元,并对数据子单元进行频率统计以获得数据子单元的频率值;
为可压缩数据单元和数据子单元生成根节点对象,将根节点对象放入结点池,并根据可压缩数据单元和数据子单元的频率值在结点池中依次选取节点对象构建节点树;
根据节点树生成节点编码以完成无损压缩。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述DNS解析记录无损压缩的私密和安全性,上述DNS解析记录无损压缩数据存储于本服务器集群所处区块链的节点中。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种DNS解析记录无损压缩方法,其特征在于,包括:
解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元;
对所述数据单元进行频率统计以获取各个数据单元的频率值,根据所述频率值将所述数据单元划分为可压缩数据单元和不可压缩数据单元,将所述不可压缩的数据单元进行再分割形成数据子单元,并对所述数据子单元进行频率统计以获得所述数据子单元的频率值;
为所述可压缩数据单元和所述数据子单元生成根节点对象,将所述根节点对象放入结点池,并根据所述可压缩数据单元和所述数据子单元的频率值在所述结点池中依次选取节点对象构建节点树;
根据所述节点树生成节点编码以完成无损压缩。
2.如权利要求1所述的DNS解析记录无损压缩方法,其特征在于,在解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元之前,还包括多线程优化,所述多线程优化的过程包括:
建立第一容器和第二容器,其中,所述第一容器用于存储原文件列表,所述第二容器用于存储数据格式符合DNS解析记录格式的待压缩的文件;
采用两个线程并行处理执行所述原文件列表中的原文件和对所述待压缩的文件进行解析、压缩。
3.如权利要求2所述的DNS解析记录无损压缩方法,其特征在于,在采用两个线程并行处理执行所述原文件列表中的原文件和对所述待压缩的文件进行解析、压缩的过程中,包括:
执行所述原文件的线程不间断的从所述第一容器中取出原文件,对所述原文件进行执行处理形成待压缩的文件,并将所述待压缩的文件放入所述第二容器;
生成编码的线程不间断的从所述第二容器中取出待压缩的文件以构造节点树。
4.如权利要求1所述的DNS解析记录无损压缩方法,其特征在于,根据所述频率值将所述数据单元划分为可压缩数据单元和不可压缩数据单元的过程,包括:
预设频率阈值;
获取所述数据单元的频率值;
将所述频率值与所述频率阈值作比较,其中,
若所述数据单元的频率值等于所述频率阈值,则将所述数据单元作为不可压缩数据单元;若所述数据单元的频率值不等于所述频率阈值,则将所述数据单元作为可压缩数据单元。
5.如权利要求3所述的DNS解析记录无损压缩方法,其特征在于,在为所述可压缩数据单元和所述数据子单元生成根节点对象之前,还包括定义节点对象,其中,
所述节点对象至少包括:节点的唯一标识、数据域、频率值、当前节点的父节点的唯一标识、当前节点的左子节点的唯一标识,以及当前节点的右子节点的唯一标识。
6.如权利要求5所述的DNS解析记录无损压缩方法,其特征在于,将所述根节点对象放入结点池,并根据所述可压缩数据单元和所述数据子单元的频率值在所述结点池中依次选取节点对象构建节点树的过程,包括:
在所述可压缩数据单元和所述数据子单元中选择两个频率值最小的单元,将两个频率值最小的单元的频率值相加后生成新单元,为所述新单元生成新根节点,并将所述新根节点作为所述两个频率值最小的单元的父节点进行初步建树;
循环将所述新根节点放入所述结点池中,并再在所述结点池中选择两个频率值最小的单元再生成新单元,如此往复,直至经过有限次数的初步建树以形成节点树;其中,所述有限次数为所述数据单元的总数减一。
7.如权利要求6所述的DNS解析记录无损压缩方法,其特征在于,在根据所述节点树生成节点编码以完成无损压缩之后,还包括无损解压,所述无损解压的过程,包括:
在所述压缩文件中依次读取所述节点编码;
根据所述节点编码进行对照翻译形成翻译数据单元,并将每个节点编码对应的翻译数据单元存储至指定的解压文件中;
对所述解压文件进行解压,解压完成关闭解压文件。
8.一种DNS解析记录无损压缩装置,其特征在于,所述装置包括:
文件解析单元,用于解析待压缩的文件以提取解析记录,对所述解析记录中的数据进行划分切割形成数据单元;
频率统计单元,用于对所述数据单元进行频率统计以获取各个数据单元的频率值,根据所述频率值将所述数据单元划分为可压缩数据单元和不可压缩数据单元,将所述不可压缩的数据单元进行再分割形成数据子单元,并对所述数据子单元进行频率统计以获得所述数据子单元的频率值;
节点生成单元,用于为所述可压缩数据单元和所述数据子单元生成根节点对象,将所述根节点对象放入结点池,并根据所述可压缩数据单元和所述数据子单元的频率值在所述结点池中依次选取节点对象构建节点树;
无损压缩单元,用于根据所述节点树生成节点编码以完成无损压缩。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的DNS解析记录无损压缩方法中的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的DNS解析记录无损压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011460810.7A CN112527753B (zh) | 2020-12-11 | 2020-12-11 | Dns解析记录无损压缩方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011460810.7A CN112527753B (zh) | 2020-12-11 | 2020-12-11 | Dns解析记录无损压缩方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527753A true CN112527753A (zh) | 2021-03-19 |
CN112527753B CN112527753B (zh) | 2023-05-26 |
Family
ID=74999218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011460810.7A Active CN112527753B (zh) | 2020-12-11 | 2020-12-11 | Dns解析记录无损压缩方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527753B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078644A1 (zh) * | 2011-11-30 | 2013-06-06 | 华为技术有限公司 | 路由前缀存储方法、装置及路由地址查找方法、装置 |
CN103685589A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 基于二进制编码的dns数据压缩、解压缩方法及系统 |
US20150347548A1 (en) * | 2014-05-30 | 2015-12-03 | Datto, Inc. | Management of data replication and storage apparatuses, methods and systems |
CN108829872A (zh) * | 2018-06-22 | 2018-11-16 | 武汉轻工大学 | 无损压缩文件的快速处理方法、设备、系统及存储介质 |
-
2020
- 2020-12-11 CN CN202011460810.7A patent/CN112527753B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078644A1 (zh) * | 2011-11-30 | 2013-06-06 | 华为技术有限公司 | 路由前缀存储方法、装置及路由地址查找方法、装置 |
CN103685589A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 基于二进制编码的dns数据压缩、解压缩方法及系统 |
US20150347548A1 (en) * | 2014-05-30 | 2015-12-03 | Datto, Inc. | Management of data replication and storage apparatuses, methods and systems |
CN108829872A (zh) * | 2018-06-22 | 2018-11-16 | 武汉轻工大学 | 无损压缩文件的快速处理方法、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112527753B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498355B2 (en) | Searchable, streaming text compression and decompression using a dictionary | |
CN112541338A (zh) | 相似文本匹配方法、装置、电子设备及计算机存储介质 | |
CN112464619B (zh) | 大数据处理方法、装置、设备及计算机可读存储介质 | |
CN112800008A (zh) | 日志消息的压缩、搜索和解压缩 | |
CN111651453A (zh) | 用户历史行为查询方法、装置、电子设备及存储介质 | |
CN112528013A (zh) | 文本摘要提取方法、装置、电子设备及存储介质 | |
CN112395251A (zh) | 数据文件的智能解析方法、装置、电子设备及存储介质 | |
CN113434674A (zh) | 数据解析方法、装置、电子设备及可读存储介质 | |
CN112733551A (zh) | 文本分析方法、装置、电子设备及可读存储介质 | |
CN115408350A (zh) | 日志压缩、日志还原方法、装置、计算机设备和存储介质 | |
CN112580079A (zh) | 权限配置方法、装置、电子设备及可读存储介质 | |
CN104346616A (zh) | 字符识别装置和字符识别方法 | |
CN115860023A (zh) | 基于二维码的卷烟设备管理方法、装置、电子设备及介质 | |
CN114398346A (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN113468175A (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN113722533A (zh) | 信息推送方法、装置、电子设备及可读存储介质 | |
CN113434413A (zh) | 基于数据差异的数据测试方法、装置、设备及存储介质 | |
CN112527753B (zh) | Dns解析记录无损压缩方法、装置、电子设备及存储介质 | |
CN112104662A (zh) | 远端数据读写方法、装置、设备及计算机可读存储介质 | |
CN112541688A (zh) | 业务数据校验方法、装置、电子设备及计算机存储介质 | |
CN115409041B (zh) | 一种非结构化数据提取方法、装置、设备及存储介质 | |
CN111884659B (zh) | 一种fst数据的压缩方法和装置 | |
KR102497634B1 (ko) | 문자 빈도 기반 서열 재정렬을 통한 fastq 데이터 압축 방법 및 장치 | |
CN115658968A (zh) | 业务数据造数方法、装置、电子设备及可读存储介质 | |
US8786471B1 (en) | Lossless data compression with variable width codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231013 Address after: Room 301-2, No. 206 Kaibin Road, Xuhui District, Shanghai, 200030 Patentee after: Ping An Technology (Shanghai) Co.,Ltd. Address before: 23rd floor, Ping An financial center, 5033 Yitian Road, Fuan community, Futian street, Futian District, Shenzhen City, Guangdong Province Patentee before: PING AN TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |