CN116032292B - 一种基于翻译文件的大数据高效存储方法 - Google Patents

一种基于翻译文件的大数据高效存储方法 Download PDF

Info

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
Application number
CN202310300380.XA
Other languages
English (en)
Other versions
CN116032292A (zh
Inventor
郑春光
葛玉梅
梅康
颜妍
杨玉猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Smart Translation Information Technology Co ltd
Original Assignee
Shandong Smart Translation Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Smart Translation Information Technology Co ltd filed Critical Shandong Smart Translation Information Technology Co ltd
Priority to CN202310300380.XA priority Critical patent/CN116032292B/zh
Publication of CN116032292A publication Critical patent/CN116032292A/zh
Application granted granted Critical
Publication of CN116032292B publication Critical patent/CN116032292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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开始执行,直至获得的新的滑动窗口的大小小于第二预设长度;将获得的所有输出结果按照先后顺序组成的序列记为译文序列的压缩序列;
获得所有编码对象对应的二值序列,根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列;将获得的编码序列进行临时存储并发送至会议现场的终端。
进一步地,所述对翻译文件进行预处理获得译文序列,包括的具体步骤如下:
将第一预设符号作为英文单词末尾的标识符,将第二预设符号作为句子末尾的标识符,将翻译文件中所有英文单词末尾的标识符替换为第一预设符号,将翻译文件中所有句子末尾的标识符替换为第二预设符号,同时,在翻译文件的开头添加一个第一预设符号,将第一预设符号、第二预设符号以及所有英文字母作为字符,将翻译文件包含的所有字符按照先后顺序组成的序列记为译文序列。
进一步地,所述根根据已压缩字符序列获得词组查找缓冲区,包括的具体步骤如下:
将已压缩字符序列中两个符号之间的所有英文字母组成的一个序列记为一个词 组,将已压缩字符序列中的一个符号也记为一个词组,其中,符号包括两种,分别为第一预 设符号和第二预设符号;将获得的已压缩字符序列中的所有词组按照先后顺序进行排列, 将最后
Figure SMS_1
个词组组成的序列作为词组查找缓冲区对填充后的译文序列,其中,
Figure SMS_2
表示第二 预设长度。
进一步地,所述获得先行缓冲区的所有字符串,包括的具体步骤如下:
根据符号将先行缓冲区划分为多个子序列,将每个子序列和每个符号都记为一个字符串,获得先行缓冲区的所有字符串,其中,符号包括两种,分别为第一预设符号和第二预设符号。
进一步地,所述在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,包括的具体步骤如下:
词组查找缓冲区存在与先行缓冲区的第1个字符串
Figure SMS_5
相同的词组,获得词组查找 缓冲区中与字符串
Figure SMS_7
相同的词组
Figure SMS_12
,其中,
Figure SMS_4
表示词组查找缓冲区中的第i个词组;如果存在 整数
Figure SMS_10
,并且使得词组查找缓冲区中的第i个词组
Figure SMS_13
到第i+z个词组
Figure SMS_16
之间的所有词组与先行缓冲区的第1个字符串
Figure SMS_3
到第1+z个字符串
Figure SMS_8
之间的所有字符串完 全相同,则将先行缓冲区的第1个字符串
Figure SMS_9
到第1+z个字符串
Figure SMS_14
之间的所有字符串组成的 序列记为最大匹配项,其中,s表示先行缓冲区中的所有字符串的数量;将词组查找缓冲区 中与字符串
Figure SMS_6
相同的词组
Figure SMS_11
的序号i记为偏移量,将整数z作为匹配长度;将偏移量和匹配 长度组成的二元组作为输出结果;将先行缓冲区的第1个字符串
Figure SMS_15
到第1+z个字符串
Figure SMS_17
之 间的所有字符串的长度之和作为滑动量。
进一步地,所述在查找区进行查找获得待处理区的最大匹配项,根据最大匹配项获得明文和平移量,包括的具体步骤如下:
判断字符查找缓冲区是否存在与先行缓冲区的第1个字符相同的字符:
如果字符查找缓冲区不存在与先行缓冲区的第1个字符
Figure SMS_18
相同的字符,则将先行 缓冲区的第1个字符
Figure SMS_19
作为最大匹配项,将最大匹配项作为输出结果,将最大匹配项中字符 的数量作为滑动量;
如果字符查找缓冲区存在与先行缓冲区的第1个字符
Figure SMS_21
相同的字符,获得字符查 找缓冲区中与字符
Figure SMS_24
相同的字符
Figure SMS_28
,其中,
Figure SMS_23
表示字符查找缓冲区中的第j个字符;如果存 在整数
Figure SMS_27
,并且使得字符查找缓冲区中的第j个字符
Figure SMS_30
到第j+r个 字符
Figure SMS_32
之间的所有字符与先行缓冲区的第1个字符
Figure SMS_22
到第1+r个字符
Figure SMS_26
之间的所有字符 完全相同,则将先行缓冲区的第1个字符
Figure SMS_29
到第1+r个字符
Figure SMS_33
之间的所有字符组成的序列 记为最大匹配项,其中,
Figure SMS_20
表示第一预设长度,
Figure SMS_25
表示第二预设长度;将字符查找缓冲区中 与字符
Figure SMS_31
相同的字符
Figure SMS_34
的序号j记为偏移量,将整数z作为匹配长度;将偏移量和匹配长度 组成的二元组作为输出结果;将匹配长度作为滑动量。
进一步地,所述获得所有编码对象对应的二值序列,包括的具体步骤如下:
将第一预设符号、第二预设符号以及所有英文字母记为字符,将所有字符以及
Figure SMS_35
之间的所有整数记为编码对象;
用长度为
Figure SMS_36
的短二值序列表示所有字符,其中,w表示所有字符的之类数 量,
Figure SMS_37
表示向上取整,设置所有字符对应的短二值序列的步骤具体为:将短二值序列中的 第1位记为区分位,并设置为0;将任意一个
Figure SMS_38
位二进制数据作为短二值序列的后
Figure SMS_39
位,任意两个字符对应的短二值序列均不相同;
用长度为
Figure SMS_40
的长二值序列表示所有
Figure SMS_41
之间的所有整数,其中,
Figure SMS_42
表 示第二预设长度,设置所有整数对应的长二值序列的步骤具体为:将长二值序列中的第1位 记为区分位,并设置为1;将整数对应的
Figure SMS_43
位二进制数据作为长二值序列的第2位到第
Figure SMS_44
位;将长二值序列中的最后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、设置滑动窗口和查找缓冲区的大小,具体为:设置滑动窗口的大小等于第一预 设长度,设置滑动窗口中的查找缓冲区的大小等于第二预设长度。为了保证能够快速地发 送译文,在本实施例中,第一预设长度
Figure SMS_45
,第二预设长度
Figure SMS_46
,在其他实施例中,实施 人员可根据需要设置第一预设长度和第二预设长度,但必须保证第一预设长度大于第二预 设长度。
2、获得滑动窗口和已压缩字符序列,在译文序列前填充
Figure SMS_47
个空字符,将译文序列 中的前
Figure SMS_48
个字符组成的序列作为滑动窗口,设置一个空序列作为已压缩字符序列。
3、获得滑动窗口中的字符查找缓冲区和先行缓冲区,具体为:将滑动窗口中前
Figure SMS_49
个字符组成的序列作为字符查找缓冲区,将滑动窗口中后
Figure SMS_50
个字符组成的序列作为先 行缓冲区。例如,对于填充后的译文序列“$$$$$$$$#i#have#a#dog&the#dog”,第一次获得 的滑动窗口为“$,$,$,$,$,$,$,$,#,I,#,h,a,v,e,#”,则滑动窗口中的字符查找缓冲区为 “$,$,$,$,$,$,$,$”,滑动窗口中的先行缓冲区“#,i,#,h,a,v,e,#”,本实施例用“$”表示空 字符。
4、根据已压缩字符序列获得词组查找缓冲区,具体为:将已压缩字符序列中两个 符号之间的所有英文字母组成的一个序列记为一个词组,将已压缩字符序列中的一个符号 也记为一个词组,其中,符号包括两种,分别为第一预设符号和第二预设符号;将获得的已 压缩字符序列中的所有词组按照先后顺序进行排列,将最后
Figure SMS_51
个词组组成的序列作为词组 查找缓冲区。
5、在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,具体为:
(1)获得先行缓冲区的所有字符串,具体为:根据符号将先行缓冲区划分为多个子序列,将每个子序列和每个符号都记为一个字符串,获得先行缓冲区的所有字符串,其中,符号包括两种,分别为第一预设符号和第二预设符号。例如,先行缓冲区“#,i,#,h,a,v,e,#”的所有字符串分别为“#”,“i”,“#”,“have”,“#”。
(2)判断词组查找缓冲区是否存在与先行缓冲区的第1个字符串
Figure SMS_52
相同的词组,存 在两种情况,分别为:
情况1:词组查找缓冲区不存在与先行缓冲区的第1个字符串
Figure SMS_53
相同的词组,则执 行步骤(3)。
情况2:词组查找缓冲区存在与先行缓冲区的第1个字符串
Figure SMS_57
相同的词组,获得词 组查找缓冲区中与字符串
Figure SMS_61
相同的词组
Figure SMS_67
,其中,
Figure SMS_54
表示词组查找缓冲区中的第i个词组;如 果存在整数
Figure SMS_59
,并且使得词组查找缓冲区中的第i个词组
Figure SMS_63
到第i+z个 词组
Figure SMS_66
之间的所有词组与先行缓冲区的第1个字符串
Figure SMS_56
到第1+z个字符串
Figure SMS_60
之间的所有 字符串完全相同,则将先行缓冲区的第1个字符串
Figure SMS_64
到第1+z个字符串
Figure SMS_68
之间的所有字符 串组成的序列记为最大匹配项,其中,s表示先行缓冲区中的所有字符串的数量;将词组查 找缓冲区中与字符串
Figure SMS_55
相同的词组
Figure SMS_58
的序号i记为偏移量,将整数z作为匹配长度;将偏移 量和匹配长度组成的二元组作为输出结果;将先行缓冲区的第1个字符串
Figure SMS_62
到第1+z个字符 串
Figure SMS_65
之间的所有字符串的长度之和作为滑动量;执行步骤6。
(3)判断字符查找缓冲区是否存在与先行缓冲区的第1个字符
Figure SMS_69
相同的字符,存在 两种情况,分别为:
情况1:字符查找缓冲区不存在与先行缓冲区的第1个字符
Figure SMS_70
相同的字符,则将先 行缓冲区的第1个字符
Figure SMS_71
作为最大匹配项,将最大匹配项作为输出结果,将最大匹配项中字 符的数量作为滑动量;执行步骤6。
情况2:字符查找缓冲区存在与先行缓冲区的第1个字符
Figure SMS_74
相同的字符,获得字符 查找缓冲区中与字符
Figure SMS_76
相同的字符
Figure SMS_80
,其中,
Figure SMS_73
表示字符查找缓冲区中的第j个字符;如果 存在整数
Figure SMS_78
,并且使得字符查找缓冲区中的第j个字符
Figure SMS_81
到第j+r 个字符
Figure SMS_84
之间的所有字符与先行缓冲区的第1个字符
Figure SMS_72
到第1+r个字符
Figure SMS_79
之间的所有字 符完全相同,则将先行缓冲区的第1个字符
Figure SMS_82
到第1+r个字符
Figure SMS_83
之间的所有字符组成的序 列记为最大匹配项;将字符查找缓冲区中与字符
Figure SMS_75
相同的字符
Figure SMS_77
的序号j记为偏移量,将整 数z作为匹配长度;将偏移量和匹配长度组成的二元组作为输出结果;将匹配长度作为滑动 量;执行步骤6。
6、根据滑动量获得新的滑动窗口,具体为:将滑动窗口向右滑动,滑动的长度等于 滑动量,将滑动后的滑动窗口作为新的滑动窗口;根据新的滑动窗口重新从步骤3开始执 行,直至获得的新的滑动窗口的大小小于第二预设长度
Figure SMS_85
将获得的所有输出结果按照先后顺序组成的序列记为译文序列的压缩序列。
如表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
Figure SMS_86
本实施例通过给LZ77压缩算法设置一个较小的查找缓冲区,保证了压缩算法的执行时间短;通过设置字符查找缓冲区和词组查找缓冲区,使得压缩算法既能够利用译文中的距离较近的字符的局部性实现高效压缩,又能够利用译文中的距离较远的字符的局部性实现高效压缩,最终保证对译文进行压缩的执行时间短的同时,压缩效率高,解决了LZ77压缩算法中查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,实现了翻译文件的高效存储,保证了会议现场能够快速且高效的获得译文序列。
S003.根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列。
经过步骤S002获得的压缩序列包括字符以及偏移量和匹配长度组成的二元组,其 中,字符包括第一预设符号、第二预设符号以及所有英文字母,偏移量和匹配长度的本质是
Figure SMS_87
之间的整数,因此,对压缩序列进行编码的编码对象包括所有字符以及
Figure SMS_88
之间的 所有整数,空字符不具有任务语义,只是为了保证先行缓冲区的完整,不需要编码,因此不 需要考虑空字符。
本发明通过二值序列对压缩序列进行编码,其中,二值序列由若干个0或1组成,编码的具体过程为:
1、获得所有编码对象对应的二值序列。
Figure SMS_89
之间的所有整数均为十进制数据,因此,获得每种整数的二进制数据,具体 为:由于整数的种类数量为
Figure SMS_90
,因此,只需要
Figure SMS_91
位二进制数据即可表示所以整数,
Figure SMS_92
表示向上取整。
包括第一预设符号、第二预设符号以及所有英文字母在内共有w=28种字符,因此, 只需要
Figure SMS_93
位二进制数据即可表示所以字符。
需要说明的是,由于整数对应的二进制数据和字符对应的二进制数据的位数不同,并且压缩序列中整数和字符是混在一起的,因此对压缩序列进行编码后获得的编码序列中,整数对应的二进制数据和字符对应的二进制数据也是混在一起的,导致无法解码。因此,本发明考虑在整数和字符对应的二值序列中设置一个区分位。
整数包含所有偏移量和匹配长度,在压缩序列中,有些偏移量和匹配长度根据字符查找缓冲区获得的,有些偏移量和匹配长度则是根据词组查找缓冲区获得的,为了保证能够对编码后的编码序列准确解码,需要在字符对应的二值序列中设置一个标识位。
综上所述,用长度为
Figure SMS_94
的短二值序列表示所有字符,进而根据短二值序 列对压缩序列中的所有字符进行编码,设置所有字符对应的短二值序列的步骤具体为:将 短二值序列中的第1位记为区分位,并设置为0;将任意一个
Figure SMS_95
位二进制数据作为短二 值序列的后
Figure SMS_96
位,需要注意的是,任意两个字符对应的短二值序列均不相同。
用长度为
Figure SMS_97
的长二值序列表示所有整数,进而根据所有长二值序列对 压缩序列中的所有偏移量和匹配长度进行编码,设置所有整数对应的长二值序列的步骤具 体为:将长二值序列中的第1位记为区分位,并设置为1;将整数对应的
Figure SMS_98
位二进制数 据作为长二值序列的第2位到第
Figure SMS_99
位;将长二值序列中的最后1位记为识别位,如 果偏移量和匹配长度根据字符查找缓冲区获得的,则将识别位设置为1,如果偏移量和匹配 长度根据词组查找缓冲区获得的,则将识别位设置为0。
需要说明的是,所有编码对象与二值序列之间的对应关系需要分别存储在会议现场的终端和翻译端。
2、根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列。
获得压缩序列中的所有字符对应的短二值序列以及所有偏移量和匹配长度对应的长二值序列,将获得的所有短二值序列和所有长二值序列按照先后顺序组成的序列记为编码序列,实现对压缩序列进行编码。
S004.将编码序列发送至会议现场的终端,通过对编码序列进行解码和解压获得译文序列。
实时将翻译端获得的编码序列发送至会议现场的终端,会议现场的终端通过对编码序列进行解码和解压获得译文序列,保证了会议现场能够快速且高效的获得译文序列;根据译文序列中所有的第一预设符号将所有英文单词拆分开,根据译文序列中所有的第二预设符号将所有句子拆分开,将拆分后的序列记为翻译文件,会议现场的终端再将翻译文件处理为音频,并将翻译文件和音频发送给所有与会者。
1、根据编码对象与二值序列之间的对应关系对编码序列进行解码,获得压缩序列。
(1)根据编码对象与二值序列之间的对应关系对编码序列进行解码,具体为:获取 编码序列中的第1个数据,由于编码对象与二值序列之间的对应关系中,无论是字符对应的 短二值序列还是整数对应的长二值序列,第1位均为区分位,因此,如果编码序列中的第1个 数据为0,则将编码序列的前
Figure SMS_100
个数据组成的序列作为短二值序列,并在编码对象 与二值序列之间的对应关系中,获得该短二值序列对应的字符;如果编码序列中的第1个数 据为1,则将编码序列的前
Figure SMS_101
个数据组成的序列作为长二值序列,并在编码对象 与二值序列之间的对应关系中,获得该长二值序列对应的整数。
(2)将获得短二值序列或长二值序列从编码序列中去除,获得新的编码序列。
(3)根据新的编码序列重新从步骤(1)开始执行,直至获得的新的编码序列为空。
将获得的所有字符和整数按着先后顺序组成的序列记为压缩序列。
2、对压缩序列进行解压获得译文序列。
(1)设置一个空序列作为译文序列,将译文序列中的前
Figure SMS_102
个字符组成的序列作为 滑动窗口。
(2)将滑动窗口中前
Figure SMS_103
个字符组成的序列作为字符查找缓冲区,将滑动窗口中后
Figure SMS_104
个字符组成的序列作为先行缓冲区。
(3)将译文序列中两个符号之间的所有英文字母组成的一个序列记为一个词组, 将已压缩字符序列中的一个符号也记为一个词组,其中,符号包括两种,分别为第一预设符 号和第二预设符号;将获得的已压缩字符序列中的所有词组按照先后顺序进行排列,将最 后
Figure SMS_105
个词组组成的序列作为词组查找缓冲区。
(4)对于压缩序列中对第v个数据,如果第v个数据为字符,将字符直接填充在译文序列的最后;如果第v个数据为整数,将该整数以及右侧相邻的一个整数作为一个二元组,将二元组中的第一个整数作为偏移量p,将二元组中的第二个长度作为匹配长度q;如果偏移量和匹配长度对应的长二值序列中的标识位为0,则将词组查找缓冲区中的第p个词组到的第p+q个词组组成的字符串填充在译文序列的最后,同时,将词组查找缓冲区中的第p个字符到的第p+q个字符组成的字符串的长度作为滑动量;如果偏移量和匹配长度对应的长二值序列中的标识位为1,则将字符查找缓冲区中的第p个字符到的第p+q个字符组成的字符串填充在译文序列的最后,同时,将匹配长度q作为滑动量。
(5)将滑动窗口向右滑动,滑动的长度等于滑动量,将滑动后的滑动窗口作为新的 滑动窗口;根据新的滑动窗口重新从步骤2开始执行,直至获得的新的滑动窗口的大小小于 第二预设长度
Figure SMS_106
,此时的译文序列为压缩序列的解压结果。
本发明通过给LZ77压缩算法设置一个较小的查找缓冲区,保证了压缩算法的执行时间短;通过设置字符查找缓冲区和词组查找缓冲区,使得压缩算法既能够利用译文中的距离较近的字符的局部性实现高效压缩,又能够利用译文中的距离较远的字符的局部性实现高效压缩,最终保证对译文进行压缩的执行时间短的同时,压缩效率高,解决了LZ77压缩算法中查找缓冲区的大小对执行时间和压缩效率的影响相矛盾的问题,实现了翻译文件的高效存储,保证了会议现场能够快速且高效的获得译文序列。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

Claims (6)

1.一种基于翻译文件的大数据高效存储方法,其特征在于,该方法包括以下步骤:
获得翻译文件,对翻译文件进行预处理获得译文序列;
结合字符查找缓冲区和词组查找缓冲区对译文序列进行压缩获得压缩序列,包括:
S1,在译文序列前填充第二预设长度个空字符,将译文序列中的前第一预设长度个字符组成的序列作为滑动窗口,设置一个空序列作为已压缩字符序列;
S2,将滑动窗口中前第二预设长度个字符组成的序列作为字符查找缓冲区,将滑动窗口中剩余的字符组成的序列作为先行缓冲区;
S3,根据已压缩字符序列获得词组查找缓冲区;
S401,获得先行缓冲区的所有字符串,判断词组查找缓冲区是否存在与先行缓冲区的第1个字符串相同的词组,如果不存在则执行S402;如果存在,在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,执行S5;
S402,在字符查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,执行S5;
S5,根据滑动量获得新的滑动窗口,将滑动后的滑动窗口作为新的滑动窗口;根据新的滑动窗口重新从S2开始执行,直至获得的新的滑动窗口的大小小于第二预设长度;将获得的所有输出结果按照先后顺序组成的序列记为译文序列的压缩序列;
获得所有编码对象对应的二值序列,根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列,将获得的编码序列进行临时存储并发送至会议现场的终端;
所述对翻译文件进行预处理获得译文序列,包括的具体步骤如下:
将第一预设符号作为英文单词末尾的标识符,将第二预设符号作为句子末尾的标识符,将翻译文件中所有英文单词末尾的标识符替换为第一预设符号,将翻译文件中所有句子末尾的标识符替换为第二预设符号,同时,在翻译文件的开头添加一个第一预设符号,将第一预设符号、第二预设符号以及所有英文字母作为字符,将翻译文件包含的所有字符按照先后顺序组成的序列记为译文序列;
所述根据已压缩字符序列获得词组查找缓冲区,包括的具体步骤如下:
将已压缩字符序列中两个符号之间的所有英文字母组成的一个序列记为一个词组,将已压缩字符序列中的一个符号也记为一个词组,其中,符号包括两种,分别为第一预设符号和第二预设符号;将获得的已压缩字符序列中的所有词组按照先后顺序进行排列,将最后
Figure QLYQS_1
个词组组成的序列作为词组查找缓冲区对填充后的译文序列,其中,/>
Figure QLYQS_2
表示第二预设长度。
2.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述获得先行缓冲区的所有字符串,包括的具体步骤如下:
根据符号将先行缓冲区划分为多个子序列,将每个子序列和每个符号都记为一个字符串,获得先行缓冲区的所有字符串,其中,符号包括两种,分别为第一预设符号和第二预设符号。
3.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述在词组查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,包括的具体步骤如下:
词组查找缓冲区存在与先行缓冲区的第1个字符串
Figure QLYQS_5
相同的词组,获得词组查找缓冲区中与字符串/>
Figure QLYQS_11
相同的词组/>
Figure QLYQS_15
,其中,/>
Figure QLYQS_4
表示词组查找缓冲区中的第i个词组;如果存在整数
Figure QLYQS_7
,并且使得词组查找缓冲区中的第i个词组/>
Figure QLYQS_10
到第i+z个词组/>
Figure QLYQS_12
之间的所有词组与先行缓冲区的第1个字符串/>
Figure QLYQS_3
到第1+z个字符串/>
Figure QLYQS_8
之间的所有字符串完全相同,则将先行缓冲区的第1个字符串/>
Figure QLYQS_14
到第1+z个字符串/>
Figure QLYQS_17
之间的所有字符串组成的序列记为最大匹配项,其中,s表示先行缓冲区中的所有字符串的数量;将词组查找缓冲区中与字符串/>
Figure QLYQS_6
相同的词组/>
Figure QLYQS_9
的序号i记为偏移量,将整数z作为匹配长度;将偏移量和匹配长度组成的二元组作为输出结果;将先行缓冲区的第1个字符串/>
Figure QLYQS_13
到第1+z个字符串/>
Figure QLYQS_16
之间的所有字符串的长度之和作为滑动量。
4.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,在字符查找缓冲区进行查找获得先行缓冲区的最大匹配项,根据最大匹配项获得输出结果和滑动量,包括的具体步骤如下:
判断字符查找缓冲区是否存在与先行缓冲区的第1个字符相同的字符:
如果字符查找缓冲区不存在与先行缓冲区的第1个字符
Figure QLYQS_18
相同的字符,则将先行缓冲区的第1个字符/>
Figure QLYQS_19
作为最大匹配项,将最大匹配项作为输出结果,将最大匹配项中字符的数量作为滑动量;
如果字符查找缓冲区存在与先行缓冲区的第1个字符
Figure QLYQS_21
相同的字符,获得字符查找缓冲区中与字符/>
Figure QLYQS_25
相同的字符/>
Figure QLYQS_28
,其中,/>
Figure QLYQS_22
表示字符查找缓冲区中的第j个字符;如果存在整数
Figure QLYQS_27
,并且使得字符查找缓冲区中的第j个字符/>
Figure QLYQS_32
到第j+r个字符/>
Figure QLYQS_34
之间的所有字符与先行缓冲区的第1个字符/>
Figure QLYQS_20
到第1+r个字符/>
Figure QLYQS_26
之间的所有字符完全相同,则将先行缓冲区的第1个字符/>
Figure QLYQS_30
到第1+r个字符/>
Figure QLYQS_31
之间的所有字符组成的序列记为最大匹配项,其中,/>
Figure QLYQS_23
表示第一预设长度,/>
Figure QLYQS_24
表示第二预设长度;将字符查找缓冲区中与字符/>
Figure QLYQS_29
相同的字符/>
Figure QLYQS_33
的序号j记为偏移量,将整数z作为匹配长度;将偏移量和匹配长度组成的二元组作为输出结果;将匹配长度作为滑动量。
5.根据权利要求1所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述获得所有编码对象对应的二值序列,包括的具体步骤如下:
将第一预设符号、第二预设符号以及所有英文字母记为字符,将所有字符以及
Figure QLYQS_35
之间的所有整数记为编码对象;
用长度为
Figure QLYQS_36
的短二值序列表示所有字符,其中,w表示所有字符的种类数量,设置所有字符对应的短二值序列的步骤具体为:将短二值序列中的第1位记为区分位,并设置为0;将任意一个/>
Figure QLYQS_37
位二进制数据作为短二值序列的后/>
Figure QLYQS_38
位,任意两个字符对应的短二值序列均不相同;
用长度为
Figure QLYQS_39
的长二值序列表示所有/>
Figure QLYQS_40
之间的所有整数,其中,/>
Figure QLYQS_41
表示第二预设长度,设置所有整数对应的长二值序列的步骤具体为:将长二值序列中的第1位记为区分位,并设置为1;将整数对应的/>
Figure QLYQS_42
位二进制数据作为长二值序列的第2位到第/>
Figure QLYQS_43
位;将长二值序列中的最后1位记为识别位,如果偏移量和匹配长度根据字符查找缓冲区获得的,则将识别位设置为1,如果偏移量和匹配长度根据词组查找缓冲区获得的,则将识别位设置为0。
6.根据权利要求5所述的一种基于翻译文件的大数据高效存储方法,其特征在于,所述根据所有编码对象对应的二值序列对压缩序列进行编码获得编码序列,包括的具体步骤如下:
获得压缩序列中的所有字符对应的短二值序列以及所有偏移量和匹配长度对应的长二值序列,将获得的所有短二值序列和所有长二值序列按照先后顺序组成的序列记为编码序列。
CN202310300380.XA 2023-03-27 2023-03-27 一种基于翻译文件的大数据高效存储方法 Active CN116032292B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116683916B (zh) * 2023-08-03 2023-10-10 山东五棵松电气科技有限公司 一种数据中心容灾***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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的压缩方法、装置及其介质

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