CN110572161A - 数据的编码方法、装置、计算机设备及可读存储介质 - Google Patents

数据的编码方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN110572161A
CN110572161A CN201910852816.XA CN201910852816A CN110572161A CN 110572161 A CN110572161 A CN 110572161A CN 201910852816 A CN201910852816 A CN 201910852816A CN 110572161 A CN110572161 A CN 110572161A
Authority
CN
China
Prior art keywords
character string
dictionary
sub
character
target
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
Application number
CN201910852816.XA
Other languages
English (en)
Other versions
CN110572161B (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.)
Anhui Cambricon Information Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian 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 Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN201910852816.XA priority Critical patent/CN110572161B/zh
Publication of CN110572161A publication Critical patent/CN110572161A/zh
Application granted granted Critical
Publication of CN110572161B publication Critical patent/CN110572161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及一种数据的编码方法、装置、计算机设备及可读存储介质。该方法包括:获取目标数据对应的待编码字符串;在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;将待编码字符串中的最长匹配字符串编码为目标索引值,并将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到待编码字符串对应的第一编码序列。采用本申请可以减少了编码设备中数据的存储量、传输量和I/O量。

Description

数据的编码方法、装置、计算机设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据的编码方法、装置、计算机设备及可读存储介质。
背景技术
目前,SOC(System on a Chip,片上系统)中数据的存储量、传输量和I/O(Input/Output,输入输出)量将直接影响SOC的运行效率和功耗。因此,亟需一种可以提高SOC的运行效率,并降低SOC的功耗的方案。
发明内容
基于此,有必要针对上述技术问题,提供一种数据的编码方法、装置、计算机设备及可读存储介质。
第一方面,提供了一种数据的编码方法,所述方法应用于编码设备,所述编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述方法包括:
获取目标数据对应的待编码字符串;
在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
将所述待编码字符串中的所述最长匹配字符串编码为所述目标索引值,并将所述待编码字符串中除所述最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到所述待编码字符串对应的第一编码序列。
第二方面,提供了一种字典的生成方法,所述方法应用于编码设备,所述编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述方法包括:
获取样本字符串;
在所述样本字符串中,确定目标字符,将所述目标字符存储至所述至少一个子字典中的第一子字典中,并生成所述目标字符对应的索引值,所述第一子字典为存储长度为一个字符长度的预设字符串的子字典,所述目标字符为所述第一子字典中未存储的字符;
以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串;
在所述样本字符串中,确定第一字符串,所述第一字符串为以所述第一个字符为起始字符,且长度为所述最长匹配字符串的长度与预设长度值的和值的字符串;
将所述第一字符串存储至第二子字典中,并生成所述第一字符串对应的索引值,所述第二子字典为存储长度为所述第一字符串的长度的预设字符串的子字典;
将所述样本字符串中的除以所述第一个字符为起始字符的所述最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
第三方面,提供了一种数据的编码装置,所述装置应用于编码设备,所述编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述装置包括:
获取模块,用于获取目标数据对应的待编码字符串;
确定模块,用于在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
第一编码模块,用于将所述待编码字符串中的所述最长匹配字符串编码为所述目标索引值,并将所述待编码字符串中除所述最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到所述待编码字符串对应的第一编码序列。
第四方面,提供了一种字典的生成装置,所述装置应用于编码设备,所述编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述装置包括:
获取模块,用于获取样本字符串;
第一存储模块,用于在所述样本字符串中,确定目标字符,将所述目标字符存储至所述至少一个子字典中的第一子字典中,并生成所述目标字符对应的索引值,所述第一子字典为存储长度为一个字符长度的预设字符串的子字典,所述目标字符为所述第一子字典中未存储的字符;
第一确定模块,用于以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串;
第二确定模块,用于在所述样本字符串中,确定第一字符串,所述第一字符串为以所述第一个字符为起始字符,且长度为所述最长匹配字符串的长度与预设长度值的和值的字符串;
第二存储模块,用于将所述第一字符串存储至第二子字典中,并生成所述第一字符串对应的索引值,所述第二子字典为存储长度为所述第一字符串的长度的预设字符串的子字典;
生成模块,用于将所述样本字符串中的除以所述第一个字符为起始字符的所述最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
第五方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面中任一项所述方法的步骤。
第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
第七方面,提供了一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现第一方面任一项所述的方法。
第八方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面中任一项所述方法的步骤。
第九方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面中任一项所述的方法的步骤。
第十方面,提供了一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现第二方面任一项所述的方法。
本申请实施例提供了一种数据的编码方法、装置、计算机设备及可读存储介质。编码设备获取目标数据对应的待编码字符串,在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值。然后,编码设备将待编码字符串中的最长匹配字符串编码为目标索引值,并将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到待编码字符串对应的第一编码序列。由于第一编码序列的字符数远远小于待编码字符串中的字符数,从而减少了编码设备的SOC中数据的存储量、传输量和I/O量,进而可以提高SOC的运行效率,并降低SOC的功耗,同时,由于采用最长匹配字符串对待编码字符串进行压缩,可以提高压缩效率。
附图说明
图1为本申请实施例提供的一种编码设备的系统架构图;
图2为本申请实施例提供的一种字典的生成方法的流程示意图;
图3为本申请实施例提供的一种数据的编码方法的流程示意图;
图4为本申请实施例提供的一种数据的编码方法的流程示意图;
图5为本申请实施例提供的一种数据的编码装置的结构示意图;
图6为本申请实施例提供的一种数据的编码装置的结构示意图;
图7为本申请实施例提供的一种字典的生成装置的结构示意图;
图8为本申请实施例提供的一种字典的生成装置的结构示意图;
图9为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请实施例提供了一种数据的编码方法,该方法可以应用于编码设备。其中,该编码设备可以为网络设备、服务器、用户终端等电子设备,也可以为其他类型的电子设备,本申请实施例不作限定。图1为本申请实施例提供的一种编码设备的系统架构图。如图1所示,该编码设备包括至少一个存储器和至少一个处理器。该至少一个存储器用于存储计算机程序和包含多个子字典的字典。每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同。其中,字典中的第一个子字典可以存储长度为一个字符长度的预设字符串,也可以存储长度为多个字符长度的预设字符串,本申请实施例不作限定;同时,相邻子字典中的预设字符串的长度可以相差一个字符长度,也可以相差多个字符长度,本申请实施例不作限定。本申请实施例以第一个子字典存储长度为一个字符长度的预设字符串,且相邻子字典中的预设字符串的长度相差一个字符长度为例进行介绍,其他情况与之类似。
该至少一个处理器用于执行数据的编码操作,以减少数据的存储量、传输量和I/O量,从而提高编码设备的运行效率,并降低编码设备的功耗。其中,该至少一个处理器可以包括IPU(Intelligent Processing Unit,智能处理器)、CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)中的一种或多种;该至少一个处理器可以为主从CT/LT架构中的处理器。
为了便于理解,本申请实施例优先对本申请实施例提供的一种字典的生成方法进行详细的说明。如图2所示,具体步骤如下:
步骤201,获取样本字符串。
在实施中,当编码设备需要生成字典时,编码设备可以获取预先存储的样本字符串。例如,样本字符串为ababcababac。
步骤202,在样本字符串中,确定目标字符,将目标字符存储至至少一个子字典中的第一子字典中,并生成目标字符对应的索引值。
其中,第一子字典为存储长度为一个字符长度的预设字符串的子字典,目标字符为第一子字典中未存储的字符。
在实施中,编码设备获取到样本字符串后,可以在该样本字符串中,确定第一子字典中未存储的字符(即目标字符)。其中,第一子字典为存储长度为一个字符长度的预设字符串的子字典。然后,编码设备可以将确定出的目标字符,存储至第一子字典中,并生成目标字符对应的索引值。例如,如表1所示,原子字典1(即第一子字典)为空,样本字符串为ababcababac,则目标字符为a、b和c,编码设备可以将目标字符a、b和c存储至子字典1中,并生成目标字符a对应的索引值0,目标字符b对应的索引值1,目标字符c对应的索引值2。
表1
步骤203,以样本字符串中的第一个字符为起始字符,在样本字符串中,确定与至少一个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串。
在实施中,编码设备将目标字符存储至第一子字典中后,编码设备可以以样本字符串中的第一个字符为起始字符,在样本字符串中,确定与各子字典中的预设字符串相匹配的匹配字符串,并在各匹配字符串中确定最长匹配字符串。例如,匹配字符串为a、ab和aba,则最长匹配字符串为aba。其中,编码设备可以以样本字符串中的第一个字符为起始字符,在样本字符串中,确定与各子字典中的预设字符串相匹配的匹配字符串的处理过程如下:
步骤一,针对字典中的每个子字典,以样本字符串中的第一个字符为起始字符,在样本字符串中,选取该子字典对应的第二字符串。
其中,第二字符串的长度与该子字典包含的预设字符串的长度相同。
在实施中,针对字典中的每个子字典,编码设备可以以样本字符串中的第一个字符为起始字符,在样本字符串中,选取与该子字典包含的预设字符串的长度相同的第二字符串。例如,如表1所示,样本字符串为ababcababac,则子字典1对应的第二字符串为a,子字典2对应的第二字符串为ab,子字典3对应的第二字符串为aba,子字典4对应的第二字符串为abab。
编码设备选取出与该子字典对应的第二字符串后,可以进一步判断该子字典包含的预设字符串中是否存在该子字典对应的第二字符串。如果该子字典包含的预设字符串中存在该子字典对应的第二字符串,则编码设备执行步骤二。如果该子字典包含的预设字符串中不存在该子字典对应的第二字符串,则编码设备可以确定该子字典对应的第二字符串为非匹配字符串。
步骤二,确定该子字典对应的第二字符串为匹配字符串。
在实施中,如果该子字典包含的预设字符串中存在该子字典对应的第二字符串,则编码设备可以确定该子字典对应的第二字符串为匹配字符串。例如,如表1所示,子字典1包含的预设字符串中存在子字典1对应的第二字符串a,则编码设备可以确定子字典1对应的第二字符串a为匹配字符串。
步骤204,在样本字符串中,确定第一字符串,第一字符串为以第一个字符为起始字符,且长度为最长匹配字符串的长度与预设长度值的和值的字符串。
在实施中,编码设备中可以预先存储有预设长度值。该预设长度值可以由技术人员根据经验进行设置。编码设备得到最长匹配字符串后,编码设备可以进一步在样本字符串中,确定以第一个字符为起始字符,且长度为最长匹配字符串的长度与预设长度值的和值的第一字符串。例如,预设长度值为1,样本字符串为ababcababac,最长匹配字符串为a,则第一字符串为ab。
步骤205,将第一字符串存储至第二子字典中,并生成第一字符串对应的索引值。
其中,第二子字典为存储长度为第一字符串的长度的预设字符串的子字典。
在实施中,编码设备得到第一字符串后,可以将该第一字符串存储至用于存储长度为第一字符串的长度的预设字符串的第二子字典中,并生成该第一字符串对应的索引值。例如,如表2所示,第一字符串为ab,则编码设备可以将第一字符串ab存储至子字典2(即第二子字典)中,并生成第一字符串ab对应的索引值3。
表2
可选的,编码设备在将第一字符串存储至第二子字典中之前,编码设备还可以判断字典中是否存在第二子字典。如果字典中不存在第二子字典,则编码设备可以在字典中创建第二子字典。
步骤206,将样本字符串中的除以第一个字符为起始字符的最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
在实施中,编码设备将第一字符串存储至第二子字典中后,可以将样本字符串中的除以第一个字符为起始字符的最长匹配字符串以外的其余字符作为新的样本字符串。例如,样本字符串为ababcababac,最长匹配字符串为a,则新的样本字符串为babcababac。然后,编码设备可以以新的样本字符串重复执行步骤203至步骤206的字典生成处理过程。
示例一,该示例一中,样本字符串为babcababac,预设长度值为1。具体处理过程如下:
步骤一,如表2所示,编码设备确定出的子字典1对应的第二字符串为b,子字典2对应的第二字符串为ba,子字典3对应的第二字符串为bab,子字典4对应的第二字符串为babc。编码设备确定出的匹配字符串为b,则最长匹配字符串为b。
步骤二,编码设备确定出的第一字符串为ba。
步骤三,如表3所示,编码设备将第一字符串ba存储至子字典2中,并生成第一字符串ba对应的索引值4。
表3
步骤四,编码设备确定出的新的样本字符串为abcababac。
示例二,该示例二中,样本字符串为abcababac,预设长度值为1。具体处理过程如下:
步骤一,如表3所示,编码设备确定出的子字典1对应的第二字符串为a,子字典2对应的第二字符串为ab,子字典3对应的第二字符串为abc,子字典4对应的第二字符串为abca。编码设备确定出的匹配字符串为a和ab,则最长匹配字符串为ab。
步骤二,编码设备确定出的第一字符串为abc。
步骤三,如表4所示,编码设备将第一字符串abc存储至子字典3中,并生成第一字符串abc对应的索引值5。
表4
步骤四,编码设备确定出的新的样本字符串为cababac。
示例三,该示例三中,样本字符串为cababac,预设长度值为1。具体处理过程如下:
步骤一,如表4所示,编码设备确定出的子字典1对应的第二字符串为c,子字典2对应的第二字符串为ca,子字典3对应的第二字符串为cab,子字典4对应的第二字符串为caba。编码设备确定出的匹配字符串为c,则最长匹配字符串为c。
步骤二,编码设备确定出的第一字符串为ca。
步骤三,如表5所示,编码设备将第一字符串ca存储至子字典2中,并生成第一字符串ca对应的索引值6。
表5
步骤四,编码设备确定出的新的样本字符串为ababac。
示例四,该示例四中,样本字符串为ababac,预设长度值为1。具体处理过程如下:
步骤一,如表5所示,编码设备确定出的子字典1对应的第二字符串为a,子字典2对应的第二字符串为ab,子字典3对应的第二字符串为aba,子字典4对应的第二字符串为abab。编码设备确定出的匹配字符串为a和ab,则最长匹配字符串为ab。
步骤二,编码设备确定出的第一字符串为aba。
步骤三,如表6所示,编码设备将第一字符串aba存储至子字典3中,并生成第一字符串aba对应的索引值7。
表6
步骤四,编码设备确定出的新的样本字符串为abac。
示例五,该示例五中,样本字符串为abac,预设长度值为1。具体处理过程如下:
步骤一,如表6所示,编码设备确定出的子字典1对应的第二字符串为a,子字典2对应的第二字符串为ab,子字典3对应的第二字符串为aba,子字典4对应的第二字符串为abac。编码设备确定出的匹配字符串为a、ab和aba,则最长匹配字符串为aba。
步骤二,编码设备确定出的第一字符串为abac。
步骤三,如表7所示,编码设备将第一字符串abac存储至子字典4中,并生成第一字符串abac对应的索引值8。
表7
步骤四,编码设备确定出的新的样本字符串为空。
本申请实施例还提供的一种数据的编码方法,如图3所示,具体步骤如下:
步骤301,获取目标数据对应的待编码字符串。
在实施中,当编码设备需要对目标数据进行编码时,编码设备可以获取该目标数据对应的待编码字符串。例如,待编码字符串为ababcababac。
可选的,针对不同类型的目标数据,编码设备获取目标数据对应的待编码字符串的处理过程也不同。当目标数据为人工智能网络中的数据时,编码设备按照任意维度对目标数据进行切分,得到切分后的目标数据。然后,编码设备可以获取切分后的目标数据对应的待编码字符串。
在实施中,当目标数据为人工智能网络中的数据时,编码设备接收到目标数据后,可以按照任意维度对目标数据进行切分,得到切分后的目标数据。然后,编码设备可以获取切分后的目标数据对应的待编码字符串。例如,当目标数据为人工智能网络中的三维特征图时,编码设备可以在二维特征图(feature map)方向切分三维特征图,得到切分后的三维特征图。
步骤302,在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值。
在实施中,编码设备中可以预先存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同。如表8所示,字典包含的各子字典中预设字符串和索引值的对应关系。
表8
编码设备获取到待编码字符串后,可以在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在各匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值。例如,匹配字符串为a、ab和aba,则如表8所示,最长匹配字符串为aba,最长匹配字符串aba对应的索引值为7。其中,如图4所示,编码设备在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串的处理过程如下:
步骤401,在待编码字符串中,确定目标字符。
在实施中,编码设备可以在待编码字符串中,确定目标字符。其中,该目标字符可以为该待编码字符串中的第一个字符,也可以为该待编码字符串中的其他字符,本申请实施例不作限定。本申请实施例以该目标字符为该待编码字符串中的第一个字符为例进行介绍,其他情况与之类似。
步骤402,针对字典中的每个子字典,根据预设的目标字符串选取规则,在待编码字符串中,选取该子字典对应的且包含目标字符的目标字符串。
其中,目标字符串的长度与该子字典包含的预设字符串的长度相同。
在实施中,编码设备中可以预先存储有目标字符串选取规则。该目标字符串选取规则可以有技术人员进行设置。编码设备确定目标字符后,可以针对字典中的每个子字典,根据预设的目标字符串选取规则,在待编码字符串中,选取该子字典对应的包含该目标字符,且长度与该子字典包含的预设字符串的长度相同的目标字符串。编码设备选取出该子字典对应的且包含目标字符的目标字符串后,可以进一步判断该子字典包含的预设字符串中是否存在该子字典对应的目标字符串。如果该子字典包含的预设字符串中存在该子字典对应的目标字符串,则执行步骤403。如果该子字典包含的预设字符串中不存在该子字典对应的目标字符串,则编码设备确定该子字典对应的目标字符串为非匹配字符串。
其中,针对不同的目标字符串选取规则,编码设备在待编码字符串中,选取该子字典对应的包含该目标字符,且长度与该子字典包含的预设字符串的长度相同的目标字符串也不同。本申请实施例提供了三种可行的实施方式,具体如下:
实施方式一,在待编码字符串中,以目标字符为起始字符,选取该子字典对应的目标字符串。
在实施中,编码设备确定目标字符后,可以在待编码字符串中,以目标字符为起始字符,选取该子字典对应的目标字符串。例如,待编码字符串为ababcababac,目标字符为第一个字符a,则子字典1对应的目标字符串为a,子字典2对应的目标字符串为ab,子字典3对应的目标字符串为aba,子字典4对应的目标字符串为abab。
实施方式二,在待编码字符串中,以目标字符为结尾字符,选取该子字典对应的目标字符串。
在实施中,编码设备确定目标字符后,可以在待编码字符串中,以目标字符为结尾字符,选取该子字典对应的目标字符串。例如,待编码字符串为ababcababac,目标字符为第四个字符b,则子字典1对应的目标字符串为b,子字典2对应的目标字符串为ab,子字典3对应的目标字符串为bab,子字典4对应的目标字符串为abab。
实施方式三,在待编码字符串中,以目标字符为中间字符,选取该子字典对应的目标字符串。
在实施中,编码设备确定目标字符后,可以在待编码字符串中,以目标字符为中间字符,选取该子字典对应的目标字符串。例如,待编码字符串为ababcababac,目标字符为第三个字符a,则子字典1对应的目标字符串为a,子字典2对应的目标字符串为ba,子字典3对应的目标字符串为bab,子字典4对应的目标字符串为abab。
步骤403,确定该子字典对应的目标字符串为匹配字符串。
在实施中,如果该子字典包含的预设字符串中存在该子字典对应的目标字符串,则编码设备可以确定该子字典对应的目标字符串为匹配字符串。例如,以目标字符为起始字符,子字典1对应的目标字符串为a,子字典2对应的目标字符串为ab,子字典3对应的目标字符串为aba,子字典4对应的目标字符串为abab,如表8所示,匹配字符串为a、ab和aba。
步骤303,将待编码字符串中的最长匹配字符串编码为目标索引值,并将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到待编码字符串对应的第一编码序列。
在实施中,编码设备得到最长匹配字符串和目标索引值后,可以将待编码字符串中的最长匹配字符串编码为目标索引值。例如,待编码字符串为ababcababac,最长匹配字符串为aba,最长匹配字符串aba对应的索引值为7,则编码设备可以将待编码字符串ababcababac中的aba编码为7。然后,编码字符串可以进一步将将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串。例如,待编码字符串为ababcababac,最长匹配字符串为aba,则新的待编码字符串为bcababac。之后,编码设备可以对新的待编码字符串重复执行步骤301至步骤303的编码处理,直到得到待编码字符串对应的第一编码序列。
示例一,该示例一中,待编码字符串为bcababac,目标字符为第一个字符,目标字符串选取规则为以目标字符为起始字符,选取各子字典对应的目标字符串。
步骤一,编码设备确定出的子字典1对应的目标字符串为b,子字典2对应的目标字符串为bc,子字典3对应的目标字符串为bca,子字典4对应的目标字符串为bcab。如表8所示,编码设备确定出的匹配字符串为b,最长匹配字符串为b,最长匹配字符串b对应的索引值为1。
步骤二,编码设备将待编码字符串bcababac中的b编码为1。
步骤三,编码设备确定出的新的待编码字符串为cababac。
示例二,该示例二中,待编码字符串为cababac,目标字符为第一个字符,目标字符串选取规则为以目标字符为起始字符,选取各子字典对应的目标字符串。
步骤一,编码设备确定出的子字典1对应的目标字符串为c,子字典2对应的目标字符串为ca,子字典3对应的目标字符串为cab,子字典4对应的目标字符串为caba。如表8所示,编码设备确定出的匹配字符串为c和ca,最长匹配字符串为ca,最长匹配字符串ca对应的索引值为6。
步骤二,编码设备将待编码字符串cababac中的ca编码为6。
步骤三,编码设备确定出的新的待编码字符串为babac。
示例三,该示例三中,待编码字符串为babac,目标字符为第一个字符,目标字符串选取规则为以目标字符为起始字符,选取各子字典对应的目标字符串。
步骤一,编码设备确定出的子字典1对应的目标字符串为b,子字典2对应的目标字符串为ba,子字典3对应的目标字符串为bab,子字典4对应的目标字符串为baba。如表8所示,编码设备确定出的匹配字符串为b和ba,最长匹配字符串为ba,最长匹配字符串ba对应的索引值为4。
步骤二,编码设备将待编码字符串babac中的ba编码为4。
步骤三,编码设备确定出的新的待编码字符串为bac。
示例四,该示例四中,待编码字符串为bac,目标字符为第一个字符,目标字符串选取规则为以目标字符为起始字符,选取各子字典对应的目标字符串。
步骤一,编码设备确定出的子字典1对应的目标字符串为b,子字典2对应的目标字符串为ba,子字典3对应的目标字符串为bab,子字典4对应的目标字符串为baba。如表8所示,编码设备确定出的匹配字符串为b和ba,最长匹配字符串为ba,最长匹配字符串ba对应的索引值为4。
步骤二,编码设备将待编码字符串bac中的ba编码为4。
步骤三,编码设备确定出的新的待编码字符串为c。
示例五,该示例五中,待编码字符串为c,目标字符为第一个字符,目标字符串选取规则为以目标字符为起始字符,选取各子字典对应的目标字符串。
步骤一,编码设备确定出的子字典1对应的目标字符串为c。如表8所示,编码设备确定出的匹配字符串为c,最长匹配字符串为c,最长匹配字符串c对应的索引值为2。
步骤二,编码设备将待编码字符串c中的c编码为2。
步骤三,编码设备确定出的新的待编码字符串为空。该待编码字符串ababcababac对应的第一编码序列为716442。
可选的,编码设备得到待编码字符串对应的第一编码系列后,可以根据预设的编码算法,对第一编码序列进行编码,得到待编码字符串对应的第二编码序列。
在实施中,编码设备中可以预先存储有编码算法。其中,该编码算法可以由技术人员根据经验进行设置;该编码算法可以为哈夫曼(huffman)编码算法,也可以为其他类型的编码算法,本申请实施例不作限定。编码设备得到待编码字符串对应的第一编码系列后,可以根据预设的编码算法,对第一编码序列进行编码,得到待编码字符串对应的第二编码序列。这样,编码设备可以进一步减少数据的存储量、传输量和I/O量。可选的,针对编码算法,编码设备可以采用固定编码表,从而减少编码算法的硬件开销。
本申请实施例提供了一种数据的编码方法。编码设备获取目标数据对应的待编码字符串,在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值。然后,编码设备将待编码字符串中的最长匹配字符串编码为目标索引值,并将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到待编码字符串对应的第一编码序列。由于第一编码序列的字符数远远小于待编码字符串中的字符数,从而减少了编码设备的SOC中数据的存储量、传输量和I/O量,进而可以提高SOC的运行效率,并降低SOC的功耗,同时,由于采用最长匹配字符串对待编码字符串进行压缩,可以提高压缩效率。
本申请实施例还提供了一种数据的编码装置,该装置应用于编码设备,编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,如图5所示,该装置包括:
获取模块510,用于获取目标数据对应的待编码字符串;
确定模块520,用于在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
第一编码模块530,用于将待编码字符串中的最长匹配字符串编码为目标索引值,并将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到待编码字符串对应的第一编码序列。
作为一种可选地实施方式,确定模块520,包括:
第一确定子模块,用于在待编码字符串中,确定目标字符;
选择子模块,用于针对字典中的每个子字典,根据预设的目标字符串选取规则,在待编码字符串中,选取该子字典对应的且包含目标字符的目标字符串,目标字符串的长度与该子字典包含的预设字符串的长度相同;
第二确定子模块,用于如果该子字典包含的预设字符串中存在该子字典对应的目标字符串,则确定该子字典对应的目标字符串为匹配字符串。
作为一种可选地实施方式,选择子模块,包括:
选择单元,用于在待编码字符串中,以目标字符为起始字符,选取该子字典对应的目标字符串;或者,
选择单元,用于在待编码字符串中,以目标字符为结尾字符,选取该子字典对应的目标字符串;或者,
选择单元,用于在待编码字符串中,以目标字符为中间字符,选取该子字典对应的目标字符串。
作为一种可选地实施方式,如图6所示,该装置还包括:
第二编码模块540,用于根据预设的编码算法,对第一编码序列进行编码,得到待编码字符串对应的第二编码序列。
作为一种可选地实施方式,获取模块510,包括:
切分子模块,用于当目标数据为人工智能网络中的数据时,按照任意维度对目标数据进行切分,得到切分后的目标数据;
获取子模块,用于获取切分后的目标数据对应的待编码字符串。
本申请实施例提供了一种数据的编码装置。编码设备获取目标数据对应的待编码字符串,在待编码字符串中,确定与多个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值。然后,编码设备将待编码字符串中的最长匹配字符串编码为目标索引值,并将待编码字符串中除最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到待编码字符串对应的第一编码序列。由于第一编码序列的字符数远远小于待编码字符串中的字符数,从而减少了编码设备的SOC中数据的存储量、传输量和I/O量,进而可以提高SOC的运行效率,并降低SOC的功耗,同时,由于采用最长匹配字符串对待编码字符串进行压缩,可以提高压缩效率。
本申请实施例还提供了一种字典的生成装置,该装置应用于编码设备,编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,如图7所示,该装置包括:
获取模块710,用于获取样本字符串;
第一存储模块720,用于在样本字符串中,确定目标字符,将目标字符存储至至少一个子字典中的第一子字典中,并生成目标字符对应的索引值,第一子字典为存储长度为一个字符长度的预设字符串的子字典,目标字符为第一子字典中未存储的字符;
第一确定模块730,用于以样本字符串中的第一个字符为起始字符,在样本字符串中,确定与至少一个子字典中的预设字符串相匹配的匹配字符串,并在匹配字符串中确定最长匹配字符串;
第二确定模块740,用于在样本字符串中,确定第一字符串,第一字符串为以第一个字符为起始字符,且长度为最长匹配字符串的长度与预设长度值的和值的字符串;
第二存储模块750,用于将第一字符串存储至第二子字典中,并生成第一字符串对应的索引值,第二子字典为存储长度为第一字符串的长度的预设字符串的子字典;
生成模块760,用于将样本字符串中的除以第一个字符为起始字符的最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
作为一种可选地实施方式,第一确定模块730,包括:
选择子模块,用于针对字典中的每个子字典,以样本字符串中的第一个字符为起始字符,在样本字符串中,选取该子字典对应的第二字符串,第二字符串的长度与该子字典包含的预设字符串的长度相同;
确定子模块,用于如果该子字典包含的预设字符串中存在该子字典对应的第二字符串,则确定该子字典对应的第二字符串为匹配字符串。
作为一种可选地实施方式,如图8所示,该装置还包括:
创建模块770,用于如果字典中不存在第二子字典,则在字典中创建第二子字典。
在一个实施例中,提供了一种计算机设备,如图9所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据的编码方法步骤。
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据的编码方法的步骤。
在一个实施例中,一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述数据的编码方法。
在一个实施例中,提供了一种计算机设备,如图9所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述字典的生成方法步骤。
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述字典的生成方法的步骤。
在一个实施例中,一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述字典的生成方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
进一步需要说明的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本披露各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本披露的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款A1,对应权1;
条款A2,对应权2;
条款A3,对应权3;
条款A4,对应权4;
条款A5,对应权5;
条款A6,对应权6;
条款A7,对应权7;
条款A8,对应权8;
条款A9,对应权9;
条款A10,对应权10;
条款A11,对应权11;
条款A12,对应权12;
条款A13,对应权13;
条款A14,对应权14;
条款A15,对应权15;
条款A16,对应权16;
条款A17,对应权17;
条款A18,对应权18;
条款A19,对应权19;
条款A20,对应权20;
条款A21,对应权21;
条款A22,对应权22;
例如,条款A1、一种数据的编码方法,所述方法应用于编码设备,所述编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述方法包括:
获取目标数据对应的待编码字符串;
在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
将所述待编码字符串中的所述最长匹配字符串编码为所述目标索引值,并将所述待编码字符串中除所述最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到所述待编码字符串对应的第一编码序列。
条款A2、根据条款A1所述的方法,所述在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,包括:
在所述待编码字符串中,确定目标字符;
针对字典中的每个子字典,根据预设的目标字符串选取规则,在所述待编码字符串中,选取该子字典对应的且包含所述目标字符的目标字符串,所述目标字符串的长度与该子字典包含的预设字符串的长度相同;
如果该子字典包含的预设字符串中存在该子字典对应的目标字符串,则确定该子字典对应的目标字符串为匹配字符串。
条款A3、根据条款A2所述的方法,所述根据预设的目标字符串选取规则,在所述待编码字符串中,选取该子字典对应的且包含所述目标字符的目标字符串,包括:
在所述待编码字符串中,以所述目标字符为起始字符,选取该子字典对应的目标字符串;或者,
在所述待编码字符串中,以所述目标字符为结尾字符,选取该子字典对应的目标字符串;或者,
在所述待编码字符串中,以所述目标字符为中间字符,选取该子字典对应的目标字符串。
条款A4、根据条款A1所述的方法,所述方法还包括:
根据预设的编码算法,对所述第一编码序列进行编码,得到所述待编码字符串对应的第二编码序列。
条款A5、根据条款A1所述的方法,所述获取目标数据对应的待编码字符串,包括:
当目标数据为人工智能网络中的数据时,按照任意维度对所述目标数据进行切分,得到切分后的目标数据;
获取所述切分后的目标数据对应的待编码字符串。
条款A6、一种字典的生成方法,所述方法应用于编码设备,所述编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述方法包括:
获取样本字符串;
在所述样本字符串中,确定目标字符,将所述目标字符存储至所述至少一个子字典中的第一子字典中,并生成所述目标字符对应的索引值,所述第一子字典为存储长度为一个字符长度的预设字符串的子字典,所述目标字符为所述第一子字典中未存储的字符;
以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串;
在所述样本字符串中,确定第一字符串,所述第一字符串为以所述第一个字符为起始字符,且长度为所述最长匹配字符串的长度与预设长度值的和值的字符串;
将所述第一字符串存储至第二子字典中,并生成所述第一字符串对应的索引值,所述第二子字典为存储长度为所述第一字符串的长度的预设字符串的子字典;
将所述样本字符串中的除以所述第一个字符为起始字符的所述最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
条款A7、根据条款A6所述的方法,所述以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,包括:
针对字典中的每个子字典,以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,选取该子字典对应的第二字符串,所述第二字符串的长度与该子字典包含的预设字符串的长度相同;
如果该子字典包含的预设字符串中存在该子字典对应的第二字符串,则确定该子字典对应的第二字符串为匹配字符串。
条款A8、根据条款A6所述的方法,在所述将所述第一字符串存储至第二子字典中之前,所述方法还包括:
如果所述字典中不存在所述第二子字典,则在所述字典中创建所述第二子字典。
条款A9、一种数据的编码装置,所述装置应用于编码设备,所述编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述装置包括:
获取模块,用于获取目标数据对应的待编码字符串;
确定模块,用于在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
第一编码模块,用于将所述待编码字符串中的所述最长匹配字符串编码为所述目标索引值,并将所述待编码字符串中除所述最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到所述待编码字符串对应的第一编码序列。
条款A10、根据条款A9所述的装置,所述确定模块,包括:
第一确定子模块,用于在所述待编码字符串中,确定目标字符;
选择子模块,用于针对字典中的每个子字典,根据预设的目标字符串选取规则,在所述待编码字符串中,选取该子字典对应的且包含所述目标字符的目标字符串,所述目标字符串的长度与该子字典包含的预设字符串的长度相同;
第二确定子模块,用于如果该子字典包含的预设字符串中存在该子字典对应的目标字符串,则确定该子字典对应的目标字符串为匹配字符串。
条款A11、根据条款A10所述的装置,所述选择子模块,包括:
选择单元,用于在所述待编码字符串中,以所述目标字符为起始字符,选取该子字典对应的目标字符串;或者,
选择单元,用于在所述待编码字符串中,以所述目标字符为结尾字符,选取该子字典对应的目标字符串;或者,
选择单元,用于在所述待编码字符串中,以所述目标字符为中间字符,选取该子字典对应的目标字符串。
条款A12、根据条款A9所述的装置,所述装置还包括:
第二编码模块,用于根据预设的编码算法,对所述第一编码序列进行编码,得到所述待编码字符串对应的第二编码序列。
条款A13、根据条款A9所述的装置,所述获取模块,包括:
切分子模块,用于当目标数据为人工智能网络中的数据时,按照任意维度对所述目标数据进行切分,得到切分后的目标数据;
获取子模块,用于获取所述切分后的目标数据对应的待编码字符串。
条款A14、一种字典的生成装置,所述装置应用于编码设备,所述编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述装置包括:
获取模块,用于获取样本字符串;
第一存储模块,用于在所述样本字符串中,确定目标字符,将所述目标字符存储至所述至少一个子字典中的第一子字典中,并生成所述目标字符对应的索引值,所述第一子字典为存储长度为一个字符长度的预设字符串的子字典,所述目标字符为所述第一子字典中未存储的字符;
第一确定模块,用于以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串;
第二确定模块,用于在所述样本字符串中,确定第一字符串,所述第一字符串为以所述第一个字符为起始字符,且长度为所述最长匹配字符串的长度与预设长度值的和值的字符串;
第二存储模块,用于将所述第一字符串存储至第二子字典中,并生成所述第一字符串对应的索引值,所述第二子字典为存储长度为所述第一字符串的长度的预设字符串的子字典;
生成模块,用于将所述样本字符串中的除以所述第一个字符为起始字符的所述最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
条款A15、根据条款A14所述的装置,所述第一确定模块,包括:
选择子模块,用于针对字典中的每个子字典,以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,选取该子字典对应的第二字符串,所述第二字符串的长度与该子字典包含的预设字符串的长度相同;
确定子模块,用于如果该子字典包含的预设字符串中存在该子字典对应的第二字符串,则确定该子字典对应的第二字符串为匹配字符串。
条款A16、根据条款A14所述的装置,所述装置还包括:
创建模块,用于如果所述字典中不存在所述第二子字典,则在所述字典中创建所述第二子字典。
条款A17、一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现条款A1至条款A5中任一项所述方法的步骤。
条款A18、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现条款A1至条款A5中任一项所述的方法的步骤。
条款A19、一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求条款A1至条款A5中任一项所述的方法。
条款A20、一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现条款A6至条款A8中任一项所述方法的步骤。
条款A21、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现条款A6至条款A8中任一项所述的方法的步骤。
条款A22、一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求条款A6至条款A8中任一项所述的方法。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。

Claims (16)

1.一种数据的编码方法,其特征在于,所述方法应用于编码设备,所述编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述方法包括:
获取目标数据对应的待编码字符串;
在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
将所述待编码字符串中的所述最长匹配字符串编码为所述目标索引值,并将所述待编码字符串中除所述最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到所述待编码字符串对应的第一编码序列。
2.根据权利要求1所述的方法,其特征在于,所述在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,包括:
在所述待编码字符串中,确定目标字符;
针对字典中的每个子字典,根据预设的目标字符串选取规则,在所述待编码字符串中,选取该子字典对应的且包含所述目标字符的目标字符串,所述目标字符串的长度与该子字典包含的预设字符串的长度相同;
如果该子字典包含的预设字符串中存在该子字典对应的目标字符串,则确定该子字典对应的目标字符串为匹配字符串。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的目标字符串选取规则,在所述待编码字符串中,选取该子字典对应的且包含所述目标字符的目标字符串,包括:
在所述待编码字符串中,以所述目标字符为起始字符,选取该子字典对应的目标字符串;或者,
在所述待编码字符串中,以所述目标字符为结尾字符,选取该子字典对应的目标字符串;或者,
在所述待编码字符串中,以所述目标字符为中间字符,选取该子字典对应的目标字符串。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设的编码算法,对所述第一编码序列进行编码,得到所述待编码字符串对应的第二编码序列。
5.根据权利要求1所述的方法,其特征在于,所述获取目标数据对应的待编码字符串,包括:
当目标数据为人工智能网络中的数据时,按照任意维度对所述目标数据进行切分,得到切分后的目标数据;
获取所述切分后的目标数据对应的待编码字符串。
6.一种字典的生成方法,其特征在于,所述方法应用于编码设备,所述编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述方法包括:
获取样本字符串;
在所述样本字符串中,确定目标字符,将所述目标字符存储至所述至少一个子字典中的第一子字典中,并生成所述目标字符对应的索引值,所述第一子字典为存储长度为一个字符长度的预设字符串的子字典,所述目标字符为所述第一子字典中未存储的字符;
以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串;
在所述样本字符串中,确定第一字符串,所述第一字符串为以所述第一个字符为起始字符,且长度为所述最长匹配字符串的长度与预设长度值的和值的字符串;
将所述第一字符串存储至第二子字典中,并生成所述第一字符串对应的索引值,所述第二子字典为存储长度为所述第一字符串的长度的预设字符串的子字典;
将所述样本字符串中的除以所述第一个字符为起始字符的所述最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
7.根据权利要求6所述的方法,其特征在于,所述以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,包括:
针对字典中的每个子字典,以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,选取该子字典对应的第二字符串,所述第二字符串的长度与该子字典包含的预设字符串的长度相同;
如果该子字典包含的预设字符串中存在该子字典对应的第二字符串,则确定该子字典对应的第二字符串为匹配字符串。
8.根据权利要求6所述的方法,其特征在于,在所述将所述第一字符串存储至第二子字典中之前,所述方法还包括:
如果所述字典中不存在所述第二子字典,则在所述字典中创建所述第二子字典。
9.一种数据的编码装置,其特征在于,所述装置应用于编码设备,所述编码设备中存储有包含多个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述装置包括:
获取模块,用于获取目标数据对应的待编码字符串;
确定模块,用于在所述待编码字符串中,确定与所述多个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串,以及确定所述最长匹配字符串对应的目标索引值;
第一编码模块,用于将所述待编码字符串中的所述最长匹配字符串编码为所述目标索引值,并将所述待编码字符串中除所述最长匹配字符串的至少一个子字符串作为新的待编码字符串继续进行编码处理,直到得到所述待编码字符串对应的第一编码序列。
10.一种字典的生成装置,其特征在于,所述装置应用于编码设备,所述编码设备中存储有包含至少一个子字典的字典,其中,每个子字典中包含长度相同的预设字符串和索引值的对应关系,且不同子字典中预设字符串的长度不同,所述装置包括:
获取模块,用于获取样本字符串;
第一存储模块,用于在所述样本字符串中,确定目标字符,将所述目标字符存储至所述至少一个子字典中的第一子字典中,并生成所述目标字符对应的索引值,所述第一子字典为存储长度为一个字符长度的预设字符串的子字典,所述目标字符为所述第一子字典中未存储的字符;
第一确定模块,用于以所述样本字符串中的第一个字符为起始字符,在所述样本字符串中,确定与所述至少一个子字典中的预设字符串相匹配的匹配字符串,并在所述匹配字符串中确定最长匹配字符串;
第二确定模块,用于在所述样本字符串中,确定第一字符串,所述第一字符串为以所述第一个字符为起始字符,且长度为所述最长匹配字符串的长度与预设长度值的和值的字符串;
第二存储模块,用于将所述第一字符串存储至第二子字典中,并生成所述第一字符串对应的索引值,所述第二子字典为存储长度为所述第一字符串的长度的预设字符串的子字典;
生成模块,用于将所述样本字符串中的除以所述第一个字符为起始字符的所述最长匹配字符串以外的其余字符作为新的样本字符串继续进行字典生成处理。
11.一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
13.一种芯片系统,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至5任一项所述的方法。
14.一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求6至8中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6至8中任一项所述的方法的步骤。
16.一种芯片系统,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求6至8任一项所述的方法。
CN201910852816.XA 2019-09-10 2019-09-10 数据的编码方法、装置、计算机设备及可读存储介质 Active CN110572161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910852816.XA CN110572161B (zh) 2019-09-10 2019-09-10 数据的编码方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910852816.XA CN110572161B (zh) 2019-09-10 2019-09-10 数据的编码方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110572161A true CN110572161A (zh) 2019-12-13
CN110572161B CN110572161B (zh) 2020-12-11

Family

ID=68778678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910852816.XA Active CN110572161B (zh) 2019-09-10 2019-09-10 数据的编码方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110572161B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309988A (zh) * 2020-02-03 2020-06-19 北京字节跳动网络技术有限公司 基于编码的字符串检索方法、装置及电子设备
CN112199922A (zh) * 2020-08-25 2021-01-08 中国物品编码中心 编码方法、装置、设备及计算机可读存储介质
CN112260872A (zh) * 2020-10-22 2021-01-22 北京理工大学 一种基于字符串匹配的标识异构识别方法及系统
CN116822456A (zh) * 2023-07-03 2023-09-29 中科驭数(北京)科技有限公司 字符串编码方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995973A (zh) * 2014-05-27 2014-08-20 哈尔滨工业大学 一种基于过完备字典集合划分的信号稀疏分解方法
US20180102789A1 (en) * 2016-10-06 2018-04-12 Fujitsu Limited Computer-readable recording medium, encoding apparatus, and encoding method
CN109933644A (zh) * 2019-03-22 2019-06-25 中国农业银行股份有限公司 一种字符串匹配方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995973A (zh) * 2014-05-27 2014-08-20 哈尔滨工业大学 一种基于过完备字典集合划分的信号稀疏分解方法
US20180102789A1 (en) * 2016-10-06 2018-04-12 Fujitsu Limited Computer-readable recording medium, encoding apparatus, and encoding method
CN109933644A (zh) * 2019-03-22 2019-06-25 中国农业银行股份有限公司 一种字符串匹配方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309988A (zh) * 2020-02-03 2020-06-19 北京字节跳动网络技术有限公司 基于编码的字符串检索方法、装置及电子设备
CN111309988B (zh) * 2020-02-03 2023-05-02 北京字节跳动网络技术有限公司 基于编码的字符串检索方法、装置及电子设备
CN112199922A (zh) * 2020-08-25 2021-01-08 中国物品编码中心 编码方法、装置、设备及计算机可读存储介质
CN112199922B (zh) * 2020-08-25 2023-08-22 中国物品编码中心 编码方法、装置、设备及计算机可读存储介质
CN112260872A (zh) * 2020-10-22 2021-01-22 北京理工大学 一种基于字符串匹配的标识异构识别方法及系统
CN116822456A (zh) * 2023-07-03 2023-09-29 中科驭数(北京)科技有限公司 字符串编码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110572161B (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN110572161B (zh) 数据的编码方法、装置、计算机设备及可读存储介质
Gawrychowski Pattern matching in Lempel-Ziv compressed strings: fast, simple, and deterministic
CN106326475B (zh) 一种高效的静态哈希表实现方法及系统
Boffa et al. A learned approach to design compressed rank/select data structures
Boffa et al. A “Learned” Approach to Quicken and Compress Rank/Select Dictionaries∗
Ferragina et al. Compressed cache-oblivious String B-tree
Cobas et al. A fast and small subsampled r-index
AU2022291509A1 (en) Identification method, generation method, dimensional compression method, display method, and information processing device
Rahman et al. A novel lossless coding technique for image compression
CN108304384B (zh) 拆词方法及设备
Li et al. Embedding Compression in Recommender Systems: A Survey
Quispe-Ayala et al. Image classification using data compression techniques
CN106484782B (zh) 一种基于多核哈希学习的大规模医学图像检索方法
Danciu et al. Topology-based sparsification of graph annotations
Besiris et al. Dictionary-based color image retrieval using multiset theory
Lee et al. Similar pair identification using locality-sensitive hashing technique
CN113468383B (zh) 家族关系图谱的搜索方法、装置、电子设备及存储介质
CN113630123B (zh) 一种数据压缩系统及方法
Sandhawalia et al. Searching with expectations
US9799130B1 (en) Lossless spatial feature descriptor compression
CN113468186A (zh) 数据表主键关联方法、装置、计算机设备及可读存储介质
CN113407786A (zh) 基于欧氏距离的度量空间索引构建方法、装置及相关设备
CN112650870A (zh) 一种训练图片排序模型的方法、图片排序的方法以及装置
Ghassabi et al. Deduplication of Textual Data by NLP Approaches
CN112598092B (zh) 图元识别匹配方法、装置、计算机设备及可读存储介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201104

Address after: Room 611-194, R & D center building, China (Hefei) international intelligent voice Industrial Park, 3333 Xiyou Road, hi tech Zone, Hefei City, Anhui Province

Applicant after: Anhui Cambrian Information Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Zhongke Cambrian Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant