CN116032292B - 一种基于翻译文件的大数据高效存储方法 - Google Patents
一种基于翻译文件的大数据高效存储方法 Download PDFInfo
- Publication number
- CN116032292B CN116032292B CN202310300380.XA CN202310300380A CN116032292B CN 116032292 B CN116032292 B CN 116032292B CN 202310300380 A CN202310300380 A CN 202310300380A CN 116032292 B CN116032292 B CN 116032292B
- Authority
- CN
- China
- Prior art keywords
- sequence
- character
- buffer
- phrase
- characters
- 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.)
- Active
Links
Images
Classifications
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及用于数据压缩的数据处理技术领域,具体涉及一种基于翻译文件的大数据高效存储方法,包括:获得翻译文件,对翻译文件进行预处理获得译文序列;结合字符查找缓冲区和词组查找缓冲区对译文序列进行压缩获得压缩序列,获得所有编码对象对应的二值序列,根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列;将编码序列发送至会议现场的终端。本发明通过给LZ77压缩算法设置一个较小的查找缓冲区以及字符查找缓冲区和词组查找缓冲区,保证对译文进行压缩的执行时间短的同时压缩效率高,解决了LZ77压缩算法中查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,实现了翻译文件的高效存储和快速获取。
Description
技术领域
本发明涉及用于数据压缩的数据处理技术领域,具体涉及一种基于翻译文件的大数据高效存储方法。
背景技术
同声传译是一种要求翻译员在听到讲话者的发言的同时给出相应的译文的翻译方式,其最大特点在于效率高,能够不影响或中断讲话者的思路,保证讲话者的连贯发言。在某些特定情况下,翻译员无法同步到场,此时就需要将讲话者在进行发言时收录的音频信号发送给翻译员,翻译员给出相应的译文序列,再将译文序列发送至会议现场的终端。
由于同声传译对时效有着很高的要求,因此要求译文序列的压缩效率高,同时执行时间短,会议现场为了高效且快速地获得译文序列,需要一种简单且快速的压缩算法;又因为同声传译是实时进行的,无法事先知道译文的统计特性,因此无法通过基于统计特性的压缩算法例如霍夫曼压缩算法对译文进行压缩。
基于上述要求,本发明通过LZ77压缩算法对译文进行压缩。LZ77压缩算法将译文中已经压缩过的数据作为查找缓冲区,将待压缩的数据作为先行缓冲区,利用了数据的局部性实现高效压缩,LZ77压缩算法中查找缓冲区的大小决定了算法的执行时间和压缩效率,因此存在查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,会议现场如何高效且快速的获得译文序列成为亟须解决的问题。
发明内容
本发明提供一种基于翻译文件的大数据高效存储方法,以解决现有的问题。
本发明的一种基于翻译文件的大数据高效存储方法采用如下技术方案:
本发明一个实施例提供了一种基于翻译文件的大数据高效存储方法,该方法包括以下步骤:
获得翻译文件,对翻译文件进行预处理获得译文序列;
结合字符查找缓冲区和词组查找缓冲区对译文序列进行压缩获得压缩序列,包括:
S1,在译文序列前填充第二预设长度个空字符,将译文序列中的前第一预设长度个字符组成的序列作为滑动窗口,设置一个空序列作为已压缩字符序列;
S2,将滑动窗口中前第二预设长度个字符组成的序列作为字符查找缓冲区,将滑动窗口中剩余的字符组成的序列作为先行缓冲区;
S3,根据已压缩字符序列获得词组查找缓冲区;
S401,获得先行缓冲区的所有字符串,判断词组查找缓冲区是否存在与先行缓冲区的第1个字符串相同的词组,如果不存在则执行S402;如果存在,在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,执行S5;
S402,在字符查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,执行S5;
S5,根据滑动量获得新的滑动窗口,将滑动后的滑动窗口作为新的滑动窗口;根据新的滑动窗口重新从S2开始执行,直至获得的新的滑动窗口的大小小于第二预设长度;将获得的所有输出结果按照先后顺序组成的序列记为译文序列的压缩序列;
获得所有编码对象对应的二值序列,根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列;将获得的编码序列进行临时存储并发送至会议现场的终端。
进一步地,所述对翻译文件进行预处理获得译文序列,包括的具体步骤如下:
将第一预设符号作为英文单词末尾的标识符,将第二预设符号作为句子末尾的标识符,将翻译文件中所有英文单词末尾的标识符替换为第一预设符号,将翻译文件中所有句子末尾的标识符替换为第二预设符号,同时,在翻译文件的开头添加一个第一预设符号,将第一预设符号、第二预设符号以及所有英文字母作为字符,将翻译文件包含的所有字符按照先后顺序组成的序列记为译文序列。
进一步地,所述根根据已压缩字符序列获得词组查找缓冲区,包括的具体步骤如下:
将已压缩字符序列中两个符号之间的所有英文字母组成的一个序列记为一个词
组,将已压缩字符序列中的一个符号也记为一个词组,其中,符号包括两种,分别为第一预
设符号和第二预设符号;将获得的已压缩字符序列中的所有词组按照先后顺序进行排列,
将最后个词组组成的序列作为词组查找缓冲区对填充后的译文序列,其中,表示第二
预设长度。
进一步地,所述获得先行缓冲区的所有字符串,包括的具体步骤如下:
根据符号将先行缓冲区划分为多个子序列,将每个子序列和每个符号都记为一个字符串,获得先行缓冲区的所有字符串,其中,符号包括两种,分别为第一预设符号和第二预设符号。
进一步地,所述在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,包括的具体步骤如下:
词组查找缓冲区存在与先行缓冲区的第1个字符串相同的词组,获得词组查找
缓冲区中与字符串相同的词组,其中,表示词组查找缓冲区中的第i个词组;如果存在
整数,并且使得词组查找缓冲区中的第i个词组到第i+z个词组
之间的所有词组与先行缓冲区的第1个字符串到第1+z个字符串之间的所有字符串完
全相同,则将先行缓冲区的第1个字符串到第1+z个字符串之间的所有字符串组成的
序列记为最大匹配项,其中,s表示先行缓冲区中的所有字符串的数量;将词组查找缓冲区
中与字符串相同的词组的序号i记为偏移量,将整数z作为匹配长度;将偏移量和匹配
长度组成的二元组作为输出结果;将先行缓冲区的第1个字符串到第1+z个字符串之
间的所有字符串的长度之和作为滑动量。
进一步地,所述在查找区进行查找获得待处理区的最大匹配项,根据最大匹配项获得明文和平移量,包括的具体步骤如下:
判断字符查找缓冲区是否存在与先行缓冲区的第1个字符相同的字符:
如果字符查找缓冲区存在与先行缓冲区的第1个字符相同的字符,获得字符查
找缓冲区中与字符相同的字符,其中,表示字符查找缓冲区中的第j个字符;如果存
在整数,并且使得字符查找缓冲区中的第j个字符到第j+r个
字符之间的所有字符与先行缓冲区的第1个字符到第1+r个字符之间的所有字符
完全相同,则将先行缓冲区的第1个字符到第1+r个字符之间的所有字符组成的序列
记为最大匹配项,其中,表示第一预设长度,表示第二预设长度;将字符查找缓冲区中
与字符相同的字符的序号j记为偏移量,将整数z作为匹配长度;将偏移量和匹配长度
组成的二元组作为输出结果;将匹配长度作为滑动量。
进一步地,所述获得所有编码对象对应的二值序列,包括的具体步骤如下:
用长度为的短二值序列表示所有字符,其中,w表示所有字符的之类数
量,表示向上取整,设置所有字符对应的短二值序列的步骤具体为:将短二值序列中的
第1位记为区分位,并设置为0;将任意一个位二进制数据作为短二值序列的后位,任意两个字符对应的短二值序列均不相同;
用长度为的长二值序列表示所有之间的所有整数,其中,表
示第二预设长度,设置所有整数对应的长二值序列的步骤具体为:将长二值序列中的第1位
记为区分位,并设置为1;将整数对应的位二进制数据作为长二值序列的第2位到第位;将长二值序列中的最后1位记为识别位,如果偏移量和匹配长度根据字符
查找缓冲区获得的,则将识别位设置为1,如果偏移量和匹配长度根据词组查找缓冲区获得
的,则将识别位设置为0。
进一步地,所述根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列,包括的具体步骤如下:
获得压缩序列中的所有字符对应的短二值序列以及所有偏移量和匹配长度对应的长二值序列,将获得的所有短二值序列和所有长二值序列按照先后顺序组成的序列记为编码序列。
本发明的技术方案的有益效果是:本发明通过给LZ77压缩算法设置一个较小的查找缓冲区,保证了压缩算法的执行时间短;通过设置字符查找缓冲区和词组查找缓冲区,使得压缩算法既能够利用译文中的距离较近的字符的局部性实现高效压缩,又能够利用译文中的距离较远的字符的局部性实现高效压缩,最终保证对译文进行压缩的执行时间短的同时,压缩效率高,解决了LZ77压缩算法中查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,实现了翻译文件的高效存储,保证了会议现场能够快速且高效的获得译文序列。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于翻译文件的大数据高效存储方法的步骤流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于翻译文件的大数据高效存储方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种基于翻译文件的大数据高效存储方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种基于翻译文件的大数据高效存储方法的步骤流程图,该方法包括以下步骤:
S001.获得翻译文件,对翻译文件进行预处理获得译文序列。
在本实施例之间,会议现场的终端从收音设备中接收讲话者的发言的语音信号,将接收到的语音信号发送至翻译端;翻译端的翻译员对接收到语音信号进行在线实时翻译,获得翻译后的翻译文本,预设时间段内的所有翻译文本组成翻译文件。
为了保证与会者对发言的通篇理解,同声传译对时效有着很高的要求,会议现场需要高效且快速的获得译文序列,因此,在本实施例中,预设时间段为5秒,在其他实施例中,实施人员可根据需要设置预设时间段。
需要说明的是,本实施例针对的翻译文件是英文版的翻译文件,因此,翻译文件是由英文单词、英文单词末尾的标识符以及句子末尾的标识符组成的,其中,英文单词是由若干个英文字母组成的;将第一预设符号作为英文单词末尾的标识符,将第二预设符号作为句子末尾的标识符,将翻译文件中所有英文单词末尾的标识符替换为第一预设符号,将翻译文件中所有句子末尾的标识符替换为第二预设符号,同时,在翻译文件的开头添加一个第一预设符号,将第一预设符号、第二预设符号以及所有英文字母作为字符,将翻译文件包含的所有字符按照先后顺序组成的序列记为译文序列,其中,第一预设符号为“#”,第二预设符号为“&”。
例如,在本实施例中,翻译文件为“i have a dog.the dog”,通过对翻译文件中所有英文单词末尾的标识符和句子末尾的标识符进行替换,得到的译文序列为“#i#have#a#dog&the#dog”。
S002.结合字符查找缓冲区和词组查找缓冲区对译文序列进行压缩获得压缩序列。
需要说明的是,由于同声传译对时效有着很高的要求,因此要求译文序列的压缩效率高,同时执行时间短,为了保证会议现场高效且快速的获得译文序列,需要一种简单且快速的压缩算法;又因为同声传译是实时进行的,无法事先知道译文的统计特性,因此无法通过基于统计特性的压缩算法例如霍夫曼压缩算法对译文进行压缩。因此,本实施例通过LZ77压缩算法对译文进行压缩发送。
LZ77压缩算法将译文中已压缩过的字符作为查找缓冲区,将待压缩的字符作为先行缓冲区,利用了字符的局部性实现高效压缩;LZ77压缩算法中查找缓冲区的大小决定了算法的执行时间和压缩效率:由于通过LZ77压缩算法对译文进行压缩时,需要在先行缓冲区搜索查找缓冲区中的最大匹配词组,因此,LZ77压缩算法中查找缓冲区越小,则搜索的时间越短,即算法的执行时间越短;由于LZ77压缩算法通过搜索先行缓冲区中的待压缩的字符是否在已压缩过的字符中出现过,用已压缩过的字符替代重复出现的字符,利用译文中的字符的局部性实现高效压缩,因此,当LZ77压缩算法中的查找缓冲区较小,可以利用的已压缩过的字符的数量较少,只能利用译文中的距离较近的字符的局部性,无法利用译文中的距离较远的字符的局部性,对字符的局部性的利用不完全,无法实现高效压缩,因此,LZ77压缩算法中查找缓冲区越小,则算法的压缩效率的越低。综上所述,LZ77压缩算法的查找缓冲区的大小对执行时间和压缩效率的影响相矛盾。
为了保证会议现场高效且快速的获得译文序列,需要设置一个较小的查找缓冲区,但较小的查找缓冲区会导致压缩效率的越低,因此,本发明设置两种查找缓冲区,分别为字符查找缓冲区和词组查找缓冲区,其中,字符查找缓冲区是以单个字符为对象,能够利用译文中的距离较近的字符的局部性实现高效压缩,词组查找缓冲区是以若干个字符组成的词组为对象,能够利用译文中的距离较远的字符的局部性实现高效压缩,最终实现会议现场高效且快速的获得译文序列。
1、设置滑动窗口和查找缓冲区的大小,具体为:设置滑动窗口的大小等于第一预
设长度,设置滑动窗口中的查找缓冲区的大小等于第二预设长度。为了保证能够快速地发
送译文,在本实施例中,第一预设长度,第二预设长度,在其他实施例中,实施
人员可根据需要设置第一预设长度和第二预设长度,但必须保证第一预设长度大于第二预
设长度。
3、获得滑动窗口中的字符查找缓冲区和先行缓冲区,具体为:将滑动窗口中前
个字符组成的序列作为字符查找缓冲区,将滑动窗口中后个字符组成的序列作为先
行缓冲区。例如,对于填充后的译文序列“$$$$$$$$#i#have#a#dog&the#dog”,第一次获得
的滑动窗口为“$,$,$,$,$,$,$,$,#,I,#,h,a,v,e,#”,则滑动窗口中的字符查找缓冲区为
“$,$,$,$,$,$,$,$”,滑动窗口中的先行缓冲区“#,i,#,h,a,v,e,#”,本实施例用“$”表示空
字符。
4、根据已压缩字符序列获得词组查找缓冲区,具体为:将已压缩字符序列中两个
符号之间的所有英文字母组成的一个序列记为一个词组,将已压缩字符序列中的一个符号
也记为一个词组,其中,符号包括两种,分别为第一预设符号和第二预设符号;将获得的已
压缩字符序列中的所有词组按照先后顺序进行排列,将最后个词组组成的序列作为词组
查找缓冲区。
5、在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,具体为:
(1)获得先行缓冲区的所有字符串,具体为:根据符号将先行缓冲区划分为多个子序列,将每个子序列和每个符号都记为一个字符串,获得先行缓冲区的所有字符串,其中,符号包括两种,分别为第一预设符号和第二预设符号。例如,先行缓冲区“#,i,#,h,a,v,e,#”的所有字符串分别为“#”,“i”,“#”,“have”,“#”。
情况2:词组查找缓冲区存在与先行缓冲区的第1个字符串相同的词组,获得词
组查找缓冲区中与字符串相同的词组,其中,表示词组查找缓冲区中的第i个词组;如
果存在整数,并且使得词组查找缓冲区中的第i个词组到第i+z个
词组之间的所有词组与先行缓冲区的第1个字符串到第1+z个字符串之间的所有
字符串完全相同,则将先行缓冲区的第1个字符串到第1+z个字符串之间的所有字符
串组成的序列记为最大匹配项,其中,s表示先行缓冲区中的所有字符串的数量;将词组查
找缓冲区中与字符串相同的词组的序号i记为偏移量,将整数z作为匹配长度;将偏移
量和匹配长度组成的二元组作为输出结果;将先行缓冲区的第1个字符串到第1+z个字符
串之间的所有字符串的长度之和作为滑动量;执行步骤6。
情况2:字符查找缓冲区存在与先行缓冲区的第1个字符相同的字符,获得字符
查找缓冲区中与字符相同的字符,其中,表示字符查找缓冲区中的第j个字符;如果
存在整数,并且使得字符查找缓冲区中的第j个字符到第j+r
个字符之间的所有字符与先行缓冲区的第1个字符到第1+r个字符之间的所有字
符完全相同,则将先行缓冲区的第1个字符到第1+r个字符之间的所有字符组成的序
列记为最大匹配项;将字符查找缓冲区中与字符相同的字符的序号j记为偏移量,将整
数z作为匹配长度;将偏移量和匹配长度组成的二元组作为输出结果;将匹配长度作为滑动
量;执行步骤6。
6、根据滑动量获得新的滑动窗口,具体为:将滑动窗口向右滑动,滑动的长度等于
滑动量,将滑动后的滑动窗口作为新的滑动窗口;根据新的滑动窗口重新从步骤3开始执
行,直至获得的新的滑动窗口的大小小于第二预设长度。
将获得的所有输出结果按照先后顺序组成的序列记为译文序列的压缩序列。
如表1所示,按照上述步骤对译文序列“#i#have#a#dog&the#dog”进行压缩获得的压缩序列为“#,i,7,1,h,a,v,e,6,1,5,1,4,1,d,o,g,&,t,h,e,7,2”。
表1
本实施例通过给LZ77压缩算法设置一个较小的查找缓冲区,保证了压缩算法的执行时间短;通过设置字符查找缓冲区和词组查找缓冲区,使得压缩算法既能够利用译文中的距离较近的字符的局部性实现高效压缩,又能够利用译文中的距离较远的字符的局部性实现高效压缩,最终保证对译文进行压缩的执行时间短的同时,压缩效率高,解决了LZ77压缩算法中查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,实现了翻译文件的高效存储,保证了会议现场能够快速且高效的获得译文序列。
S003.根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列。
经过步骤S002获得的压缩序列包括字符以及偏移量和匹配长度组成的二元组,其
中,字符包括第一预设符号、第二预设符号以及所有英文字母,偏移量和匹配长度的本质是之间的整数,因此,对压缩序列进行编码的编码对象包括所有字符以及之间的
所有整数,空字符不具有任务语义,只是为了保证先行缓冲区的完整,不需要编码,因此不
需要考虑空字符。
本发明通过二值序列对压缩序列进行编码,其中,二值序列由若干个0或1组成,编码的具体过程为:
1、获得所有编码对象对应的二值序列。
需要说明的是,由于整数对应的二进制数据和字符对应的二进制数据的位数不同,并且压缩序列中整数和字符是混在一起的,因此对压缩序列进行编码后获得的编码序列中,整数对应的二进制数据和字符对应的二进制数据也是混在一起的,导致无法解码。因此,本发明考虑在整数和字符对应的二值序列中设置一个区分位。
整数包含所有偏移量和匹配长度,在压缩序列中,有些偏移量和匹配长度根据字符查找缓冲区获得的,有些偏移量和匹配长度则是根据词组查找缓冲区获得的,为了保证能够对编码后的编码序列准确解码,需要在字符对应的二值序列中设置一个标识位。
综上所述,用长度为的短二值序列表示所有字符,进而根据短二值序
列对压缩序列中的所有字符进行编码,设置所有字符对应的短二值序列的步骤具体为:将
短二值序列中的第1位记为区分位,并设置为0;将任意一个位二进制数据作为短二
值序列的后位,需要注意的是,任意两个字符对应的短二值序列均不相同。
用长度为的长二值序列表示所有整数,进而根据所有长二值序列对
压缩序列中的所有偏移量和匹配长度进行编码,设置所有整数对应的长二值序列的步骤具
体为:将长二值序列中的第1位记为区分位,并设置为1;将整数对应的位二进制数
据作为长二值序列的第2位到第位;将长二值序列中的最后1位记为识别位,如
果偏移量和匹配长度根据字符查找缓冲区获得的,则将识别位设置为1,如果偏移量和匹配
长度根据词组查找缓冲区获得的,则将识别位设置为0。
需要说明的是,所有编码对象与二值序列之间的对应关系需要分别存储在会议现场的终端和翻译端。
2、根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列。
获得压缩序列中的所有字符对应的短二值序列以及所有偏移量和匹配长度对应的长二值序列,将获得的所有短二值序列和所有长二值序列按照先后顺序组成的序列记为编码序列,实现对压缩序列进行编码。
S004.将编码序列发送至会议现场的终端,通过对编码序列进行解码和解压获得译文序列。
实时将翻译端获得的编码序列发送至会议现场的终端,会议现场的终端通过对编码序列进行解码和解压获得译文序列,保证了会议现场能够快速且高效的获得译文序列;根据译文序列中所有的第一预设符号将所有英文单词拆分开,根据译文序列中所有的第二预设符号将所有句子拆分开,将拆分后的序列记为翻译文件,会议现场的终端再将翻译文件处理为音频,并将翻译文件和音频发送给所有与会者。
1、根据编码对象与二值序列之间的对应关系对编码序列进行解码,获得压缩序列。
(1)根据编码对象与二值序列之间的对应关系对编码序列进行解码,具体为:获取
编码序列中的第1个数据,由于编码对象与二值序列之间的对应关系中,无论是字符对应的
短二值序列还是整数对应的长二值序列,第1位均为区分位,因此,如果编码序列中的第1个
数据为0,则将编码序列的前个数据组成的序列作为短二值序列,并在编码对象
与二值序列之间的对应关系中,获得该短二值序列对应的字符;如果编码序列中的第1个数
据为1,则将编码序列的前个数据组成的序列作为长二值序列,并在编码对象
与二值序列之间的对应关系中,获得该长二值序列对应的整数。
(2)将获得短二值序列或长二值序列从编码序列中去除,获得新的编码序列。
(3)根据新的编码序列重新从步骤(1)开始执行,直至获得的新的编码序列为空。
将获得的所有字符和整数按着先后顺序组成的序列记为压缩序列。
2、对压缩序列进行解压获得译文序列。
(3)将译文序列中两个符号之间的所有英文字母组成的一个序列记为一个词组,
将已压缩字符序列中的一个符号也记为一个词组,其中,符号包括两种,分别为第一预设符
号和第二预设符号;将获得的已压缩字符序列中的所有词组按照先后顺序进行排列,将最
后个词组组成的序列作为词组查找缓冲区。
(4)对于压缩序列中对第v个数据,如果第v个数据为字符,将字符直接填充在译文序列的最后;如果第v个数据为整数,将该整数以及右侧相邻的一个整数作为一个二元组,将二元组中的第一个整数作为偏移量p,将二元组中的第二个长度作为匹配长度q;如果偏移量和匹配长度对应的长二值序列中的标识位为0,则将词组查找缓冲区中的第p个词组到的第p+q个词组组成的字符串填充在译文序列的最后,同时,将词组查找缓冲区中的第p个字符到的第p+q个字符组成的字符串的长度作为滑动量;如果偏移量和匹配长度对应的长二值序列中的标识位为1,则将字符查找缓冲区中的第p个字符到的第p+q个字符组成的字符串填充在译文序列的最后,同时,将匹配长度q作为滑动量。
(5)将滑动窗口向右滑动,滑动的长度等于滑动量,将滑动后的滑动窗口作为新的
滑动窗口;根据新的滑动窗口重新从步骤2开始执行,直至获得的新的滑动窗口的大小小于
第二预设长度,此时的译文序列为压缩序列的解压结果。
本发明通过给LZ77压缩算法设置一个较小的查找缓冲区,保证了压缩算法的执行时间短;通过设置字符查找缓冲区和词组查找缓冲区,使得压缩算法既能够利用译文中的距离较近的字符的局部性实现高效压缩,又能够利用译文中的距离较远的字符的局部性实现高效压缩,最终保证对译文进行压缩的执行时间短的同时,压缩效率高,解决了LZ77压缩算法中查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,实现了翻译文件的高效存储,保证了会议现场能够快速且高效的获得译文序列。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
Claims (6)
1.一种基于翻译文件的大数据高效存储方法,其特征在于,该方法包括以下步骤:
获得翻译文件,对翻译文件进行预处理获得译文序列;
结合字符查找缓冲区和词组查找缓冲区对译文序列进行压缩获得压缩序列,包括:
S1,在译文序列前填充第二预设长度个空字符,将译文序列中的前第一预设长度个字符组成的序列作为滑动窗口,设置一个空序列作为已压缩字符序列;
S2,将滑动窗口中前第二预设长度个字符组成的序列作为字符查找缓冲区,将滑动窗口中剩余的字符组成的序列作为先行缓冲区;
S3,根据已压缩字符序列获得词组查找缓冲区;
S401,获得先行缓冲区的所有字符串,判断词组查找缓冲区是否存在与先行缓冲区的第1个字符串相同的词组,如果不存在则执行S402;如果存在,在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,执行S5;
S402,在字符查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,执行S5;
S5,根据滑动量获得新的滑动窗口,将滑动后的滑动窗口作为新的滑动窗口;根据新的滑动窗口重新从S2开始执行,直至获得的新的滑动窗口的大小小于第二预设长度;将获得的所有输出结果按照先后顺序组成的序列记为译文序列的压缩序列;
获得所有编码对象对应的二值序列,根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列,将获得的编码序列进行临时存储并发送至会议现场的终端;
所述对翻译文件进行预处理获得译文序列,包括的具体步骤如下:
将第一预设符号作为英文单词末尾的标识符,将第二预设符号作为句子末尾的标识符,将翻译文件中所有英文单词末尾的标识符替换为第一预设符号,将翻译文件中所有句子末尾的标识符替换为第二预设符号,同时,在翻译文件的开头添加一个第一预设符号,将第一预设符号、第二预设符号以及所有英文字母作为字符,将翻译文件包含的所有字符按照先后顺序组成的序列记为译文序列;
所述根据已压缩字符序列获得词组查找缓冲区,包括的具体步骤如下:
2.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述获得先行缓冲区的所有字符串,包括的具体步骤如下:
根据符号将先行缓冲区划分为多个子序列,将每个子序列和每个符号都记为一个字符串,获得先行缓冲区的所有字符串,其中,符号包括两种,分别为第一预设符号和第二预设符号。
3.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,包括的具体步骤如下:
词组查找缓冲区存在与先行缓冲区的第1个字符串相同的词组,获得词组查找缓冲区中与字符串/>相同的词组/>,其中,/>表示词组查找缓冲区中的第i个词组;如果存在整数,并且使得词组查找缓冲区中的第i个词组/>到第i+z个词组/>之间的所有词组与先行缓冲区的第1个字符串/>到第1+z个字符串/>之间的所有字符串完全相同,则将先行缓冲区的第1个字符串/>到第1+z个字符串/>之间的所有字符串组成的序列记为最大匹配项,其中,s表示先行缓冲区中的所有字符串的数量;将词组查找缓冲区中与字符串/>相同的词组/>的序号i记为偏移量,将整数z作为匹配长度;将偏移量和匹配长度组成的二元组作为输出结果;将先行缓冲区的第1个字符串/>到第1+z个字符串/>之间的所有字符串的长度之和作为滑动量。
4.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,在字符查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,包括的具体步骤如下:
判断字符查找缓冲区是否存在与先行缓冲区的第1个字符相同的字符:
5.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述获得所有编码对象对应的二值序列,包括的具体步骤如下:
用长度为的短二值序列表示所有字符,其中,w表示所有字符的种类数量,设置所有字符对应的短二值序列的步骤具体为:将短二值序列中的第1位记为区分位,并设置为0;将任意一个/>位二进制数据作为短二值序列的后/>位,任意两个字符对应的短二值序列均不相同;
6.根据权利要求5所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列,包括的具体步骤如下:
获得压缩序列中的所有字符对应的短二值序列以及所有偏移量和匹配长度对应的长二值序列,将获得的所有短二值序列和所有长二值序列按照先后顺序组成的序列记为编码序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310300380.XA CN116032292B (zh) | 2023-03-27 | 2023-03-27 | 一种基于翻译文件的大数据高效存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310300380.XA CN116032292B (zh) | 2023-03-27 | 2023-03-27 | 一种基于翻译文件的大数据高效存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116032292A CN116032292A (zh) | 2023-04-28 |
CN116032292B true CN116032292B (zh) | 2023-06-09 |
Family
ID=86089448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310300380.XA Active CN116032292B (zh) | 2023-03-27 | 2023-03-27 | 一种基于翻译文件的大数据高效存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032292B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116683916B (zh) * | 2023-08-03 | 2023-10-10 | 山东五棵松电气科技有限公司 | 一种数据中心容灾*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992002989A1 (en) * | 1990-08-09 | 1992-02-20 | Telcor Systems Corporation | Compounds adaptive data compression system |
US6515598B2 (en) * | 2000-12-22 | 2003-02-04 | Cilys 53, Inc. | System and method for compressing and decompressing data in real time |
JP2007257188A (ja) * | 2006-03-22 | 2007-10-04 | Casio Comput Co Ltd | 辞書検索装置およびその制御プログラム |
JP5778595B2 (ja) * | 2012-02-08 | 2015-09-16 | 株式会社タムラ製作所 | データ圧縮方法及び装置 |
CN202931289U (zh) * | 2012-11-14 | 2013-05-08 | 无锡芯响电子科技有限公司 | 一种硬件lz77压缩实现*** |
US10581456B2 (en) * | 2016-06-22 | 2020-03-03 | Fujitsu Limited | Data compression device and data decompression device |
JP6834327B2 (ja) * | 2016-10-06 | 2021-02-24 | 富士通株式会社 | 符号化プログラム、符号化装置および符号化方法 |
CN108768403B (zh) * | 2018-05-30 | 2021-08-20 | 中国人民解放军战略支援部队信息工程大学 | 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器 |
US11763021B2 (en) * | 2020-10-19 | 2023-09-19 | Duality Technologies, Inc. | Efficient secure string search using homomorphic encryption |
CN114567331A (zh) * | 2022-01-29 | 2022-05-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于lz77的压缩方法、装置及其介质 |
-
2023
- 2023-03-27 CN CN202310300380.XA patent/CN116032292B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116032292A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5006849A (en) | Apparatus and method for effecting data compression | |
US4597057A (en) | System for compressed storage of 8-bit ASCII bytes using coded strings of 4 bit nibbles | |
US9223765B1 (en) | Encoding and decoding data using context model grouping | |
CN116032292B (zh) | 一种基于翻译文件的大数据高效存储方法 | |
US4295124A (en) | Communication method and system | |
CN101783788A (zh) | 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置 | |
CN110518917A (zh) | 基于Huffman编码的LZW数据压缩方法及*** | |
CN115840799B (zh) | 一种基于深度学习的知识产权综合管理*** | |
CN116610265B (zh) | 一种商务信息咨询***的数据存储方法 | |
US11669553B2 (en) | Context-dependent shared dictionaries | |
CN101388731B (zh) | 一种低速率等效语音水声通信技术 | |
JPS6356726B2 (zh) | ||
CN114662476A (zh) | 一种融合词典与字符特征的字符序列识别方法 | |
CN105630755A (zh) | 北斗卫星短报文扩大信息量传输的信源编解码方法及装置 | |
CN116645971A (zh) | 一种基于深度学习的语义通信文本传输优化方法 | |
CN115099244A (zh) | 一种语音翻译的方法、训练语音翻译模型的方法及装置 | |
Nguyen et al. | n‐Gram‐Based Text Compression | |
CN114595698A (zh) | 一种基于ccsk和深度学习的语义通信方法 | |
CN114491597A (zh) | 一种基于汉字部件组合的文本无载体信息隐藏方法 | |
KR20050053996A (ko) | 허프만 코드를 효율적으로 복호화하는 방법 및 장치 | |
Shanmugasundaram et al. | IIDBE: A lossless text transform for better compression | |
CN101741392A (zh) | 一种快速解析码长的哈夫曼解码方法 | |
Anto et al. | A Compression System for Unicode Files Using an Enhanced Lzw Method. | |
Shanmugasundaram et al. | Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE) | |
US20180041223A1 (en) | Method and apparatus for adaptive data compression |
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 |