CN114726480B - 数据编码方法及相关装置、电子设备和存储介质 - Google Patents
数据编码方法及相关装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114726480B CN114726480B CN202210220596.0A CN202210220596A CN114726480B CN 114726480 B CN114726480 B CN 114726480B CN 202210220596 A CN202210220596 A CN 202210220596A CN 114726480 B CN114726480 B CN 114726480B
- Authority
- CN
- China
- Prior art keywords
- coding
- data
- encoding
- mode
- test data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
- H04L1/0003—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
- H04L1/0005—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes applied to payload information
Abstract
本申请公开了一种数据编码方法及相关装置、电子设备和存储介质,其中,数据编码方法包括:基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。上述方案,能够加速区块链待编码数据的流动性。
Description
技术领域
本申请涉及数据编码技术领域,特别是涉及一种数据编码方法及相关装置、电子设备和存储介质。
背景技术
在区块链数据编码场景中,区块链数据编码方式过程中格式的统一格外重要。在实际应用中,通过对数据中字节压缩处理,使各方便于遵循特定规则或者编码协议完成交互。
目前,区块链数据编码方式一般采用简单的格式信息集合,这种情况下字节数较大,在多方参与的背景下合约格式多样,并且无法统一,进而降低了数据传输效率。有鉴于此,如何加速区块链待编码数据的流动性成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种数据编码方法及相关装置、电子设备和存储介质,能够加速区块链待编码数据的流动性。
为了解决上述技术问题,本申请第一方面提供了一种数据编码方法,包括:基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。
为了解决上述技术问题,本申请第二方面提供了一种数据编码装置,包括选择模块、确定模块和编码模块,选择模块用于基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;确定模块,用于基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;编码模块,用于利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。
为了解决上述技术问题,本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的数据编码方法。
为了解决上述技术问题,本申请第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,所述程序指令用于实现上述第一方面中的数据编码方法。
上述方案,基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据,一方面通过测试数据获取数据量与编码方式之间的关系,有助于不同数据量的待编码数据选择最佳编码方式,另一方面由于待编码数据编码后进一步减少数据的占用空间,能够尽可能地使区块链中各方完成交互,故此,能够加速区块链待编码数据的流动性。
附图说明
图1是本申请数据编码方法一实施例的流程示意图;
图2是图1中步骤S11编码方式一实施例的示意图;
图3是本申请数据编码装置一实施例的框架示意图;
图4是本申请电子设备一实施例的框架示意图;
图5是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请数据编码方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式。
在一个实施场景中,候选编码方式可以包括但不限于:RLP(Recursive LengthPrefix,递归长度前缀)编码方式、固定字节编码方式、可变字节编码方式等编码方式,候选编码方式可以根据实际情况进行设置,在此不做具体限定。
在一个实施场景中,可以预先获取众多待编码数据,在此基础上,测试数据可以从众多待编码数据中抽样得到,需要说明的是,在实际应用中,待编码数据可以为用于区块链传输的待上链数据。例如,可以将众多待上链数据按照各自的数据量分别划分至不同数据集合,基于此可以分别从不同数据集合抽取至少一个待上链数据作为测试数据。测试数据可以根据实际情况进行选择,在此不做具体限定。
本公开实施例中,最佳编码方式基于编码效益从多种候选编码方式选择得到。举例来说,可以对于各测试数据来说,可以获取各种候选编码方式对该测试数据进行编码的编码效益,并选择其中编码效益最好的候选编码方式,作为该测试数据的最佳编码方式。具体而言,编码效益可以包括第一编码效益和第二编码效益,第一编码效益与压缩率相关,第二编码效益与编码所需的数据编码时长、数据存储空间中至少一者相关。上述方式,通过不同的编码效益,选择最佳的编码方式,进而使数据编码后的字节占用空间减小,进一步提高编码后数据的流动性。
在一个实施场景中,第一编码效益可以基于多种候选编码方式分别对测试数据中各字符的第一编码时长,获取测试数据分别采用多种候选编码方式的第二编码时长,再基于测试数据分别采用多种候选编码方式的第二编码时长之间的时长差值,获取测试数据的第一编码效益;其中,时长差值与压缩率正相关。上述方式,通过获取多种候选编码方式分别对测试数据中各字符的第一编码时长,以度量不同编码方式之间编码时长的差异,以此来间接地反映压缩率,有助于提升度量压缩率的效率。
在一个具体实施场景中,如前所述,前述时长差值与压缩率为正相关关系。以多种候选编码方式包括固定字节编码方式和可变字节编码方式为例,由于固定字节编码方式的压缩率相对恒定,故在此情况下,测试数据分别采用多种候选编码方式的第二编码时长之间的时长差值越大,表明测试数据经过可变字节编码方式的压缩率越大。其他情况可以以此类推,在此不再一一举例。
在一个具体实施场景中,多种候选编码方式可以包括固定字节编码方式和可变字节编码方式,基于前述多种候选编码方式分别对测试数据中各字符的第一编码时长,为了获取测试数据分别采用多种候选编码方式的第二编码时长,可以将固定字节编码方式和可变字节编码方式,分别作为当前编码方式,并将当前编码方式对测试数据中各字符的第一编码时长的平均值,作为测试数据采用当前编码方式的第三编码时长;将测试数据采用当前编码方式的第三编码时长和当前编码方式的加权系数之积,作为测试数据采用当前编码方式的第二编码时长;其中,固定字节编码方式的加权系数不小于可变字节编码方式的加权系数。示例性地,给定测试数据Data(N)=[int(1),int(2)……int(99),int(100)],根据固定字节编码方式和可变字节编码方式对测试数据进行编码,得到各字符的第一编码时长,对测试数据中的各字符的第一编码时长进行求和,再取平均值,得到当前编码时长的第三编码时长,固定字节编码方式的第三编码时长为ts,可变字节编码方式的第三编码时长为tns,对ts和tns按如下公式进行计算:T1=αts,T2=βtns,T1和T2分别是固定字节编码方式和可变字节编码方式的第二编码时长,对于ts和tns进行加权处理后,尽可能地正确判断各字符编码时长,具体加权系数可以根据实际情况进行设置,在此不做具体限定。
进一步地,可变字节编码方式对测试数据编码,获取各字符的第一编码时长,请参阅图2,图2是图1中步骤S11编码方式一实施例的示意图,如图2所示,以32位计算机存储4字节数字7为例,固定字节编码方式在传输小于224(1677216)的数据可能会存在1个以上的字节浪费,对传输带来带宽压力,尤其是在物联网窄宽带模式下,需要优化传输字节。当前编码方式为可变字节编码方式时,字数7的有效字节数只占有1个字节,由此,可以增加1个字节来标识,整体可以缩减2字节空间。示例性地,采用固定字节编码方式,有效数据位编码时长为100ms,1字节中空数据位补齐所需编码时长为5ms,则字数7编码所需字节数为4字节,所需编码时长为115ms;采用可变字节编码方式,有效数据位编码时长为100ms,1个字节标识所需编码时长为5ms,则字数7编码所需字节数为2字节,所需编码时长为105ms,此时,字数7在固定字节编码方式下所需的第一编码时长为115ms,在可变字节编码方式下所需的第一编码时长为105ms。上述方式,通过对当前编码方式的第三编码时长进行加权处理,便于统计编码时长之间的差值,进而对编码时长进行分析比较,以此来间接地反映压缩率,有助于提升度量压缩率的效率。
在一个具体实施场景中,多种候选编码方式可以是固定字节编码方式和可变字节编码方式,基于前述测试数据分别采用多种候选编码方式的第二编码时长之间的时长差异,为了获取测试数据的第一编码效益,可以先获取测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码时长的时长差值,再基于时长差值,得到测试数据的第一编码效益。示例性地,T1和T2分别是固定字节编码方式和可变字节编码方式的第二编码时长,第一编码效益γi可以根据如下公式进行计算:γi=(T1-T2)*100%。上述方式,通过第一编码效益进一步选择对应的编码方式,使编码后的检测数据的空间占有率更小。
在一个具体实施场景中,多种候选编码方式可以是固定字节编码方式和可变字节编码方式,基于前述多种候选编码方式分别对各个测试数据进行编码,为了确定各个测试数据的最佳编码方式,若测试数据的第一编码效益不满足第一条件,获取测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益,再基于测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益,选择固定字节编码方式或可变字节编码方式,作为测试数据的最佳编码方式。上述方式,通过对第一编码效益是否满足第一条件进行判断,确定测试数据的最佳编码方式,提高测试数据对编码方式选择的准确性,进而加速待编码数据编码后的流动性。
在一个具体实施场景中,第一条件可以为测试数据的第一编码效益不低于预设阈值,在实际应用中,第一条件可以根据实际情况进行设置,在此不做具体限定。
在一个实施场景中,不同于前述通过编码时长间接地度量压缩率,以得到第一编码效益,第一编码效益还可以基于多种候选编码方式分别对测试数据中各字符进行编码,得到测试数据中各字符分别采用多种候选编码方式进行编码后的字节数,对于各种候选编码方式,基于候选编码方式的映射关系和各字符分别采用候选编码方式进行编码后的字节数,得到测试数据采用候选编码方式的第一编码效益;其中,映射关系表示字节数与压缩率之间的关系。上述方式,通过映射关系确定各字符编码后的压缩率,提高了确定测试数据采用候选编码方式的第一编码效益的速率,进一步提高了工作效率。
表1编码后的字节数与压缩率之间的映射关系
在一个具体实施场景中,候选编码方式的映射关系可以基于编码时长进行计算,候选编码方式的映射关系还可以基于编码后字节占用空间进行计算。示例性地,请参阅表1,表1是编码后的字节数与压缩率之间的映射关系,多种候选编码方式包括固定字节编码方式和可变字节编码方式。例如:当候选编码方式的映射关系基于编码后字节占用空间进行计算时,以数字7为例,数字编码前的字节占用空间为4字节,经过可变字节编码方式编码后,字节占用空间为2字节,字节占用空间节省了50%。候选编码方式的映射关系可以根据实际情况进行计算并确定,在此不做具体限定。
在一个具体实施场景中,基于前述候选编码方式的映射关系和各字符分别采用候选编码方式进行编码后的字节数,为了得到测试数据采用候选编码方式的第一编码效益,可以先基于候选编码方式的映射关系和各字符分别采用候选编码方式进行编码后的字节数,得到各字符采用候选编码方式的压缩率;再基于各字符采用候选编码方式的压缩率的平均值,得到测试数据采用候选编码方式的第一编码效益。上述方式,通过候选编码方式的映射关系,确定了当采用可变字节编码方式对于测试数据编码后的字节数越小,压缩率越大。
在一个具体实施场景中,多种候选编码方式包括固定字节编码方式和可变字节编码方式,基于前述多种候选编码方式分别对各个测试数据进行编码,为了确定各个测试数据的最佳编码方式,可以基于测试数据采用可变字节编码方式的第一编码效益不满足第二条件,获取测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益;再基于测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益,选择固定字节编码方式或可变字节编码方式,作为测试数据的最佳编码方式。上述方式,通过对第一编码效益是否满足第二条件进行判断,确定测试数据的最佳编码方式,进一步提高测试数据对编码方式选择的准确性,进而加速待编码数据编码后的流动性。
在一个具体实施场景中,第二条件可以为测试数据的第一编码效益不低于预设阈值,在实际应用中,第二条件可以根据实际情况进行设置,在此不做具体限定。
在一个实施场景中,第二编码效益可以基于候选编码方式分别对测试数据中各字符的数据编码时长和数据存储空间,获取各字符采用候选编码方式的字符编码效益;再将各字符采用候选编码方式的字符编码效益之和,作为测试数据采用候选编码方式的第二编码效益。上述方式,通过测试数据中各字符的数据编码时长和数据存储空间,确定多种候选编码方式的第二编码效益,进一步提高第二编码效益的准确性,进而加速待编码数据编码后的流动性。
在一个具体实施场景中,基于上述候选编码方式分别对测试数据中各字符的数据编码时长和数据存储空间,为了获取各字符采用候选编码方式的字符编码效益,可以基于各字符的数据编码时长,获取所述各字符的数据编码效益,并基于所述各字符的数据存储空间,获取各字符的数据编码效益和数据存储效益;再将数据编码效益和数据存储效益之积,作为字符编码效益。示例性地,给定测试数据Data=[int(1),int(2),int(3)],可以采用固定字节编码方式和可变字节编码方式对测试数据进行编码,对测试数据中各字符进行二进制规则处理,进而判断个字符的数据编码时长和数据存储空间关于数据编码时长的计算过程,可以参阅前述第一编码时长的相关描述,在此不再赘述;数据存储空间可以基于编码后的占用字节数进行计算。对数据编码效益和数据存储效益可以基于数据编码时长和数据存储空间进行区间性处理,例如:若数据编码时长大于100ms,数据编码效益为0.5;若数据编码时长在5ms至100ms之间,数据编码效益为1;若数据编码时长5ms,数据编码效益为1.5。若编码后的占用字节数大于4字节,数据存储效益为0.5;若编码后的占用字节数在2字节至4字节之间,数据编码效益为1;若编码后的占用字节数小于2字节,数据编码效益为1.5。需要说明的是,通常数据编码效益和数据存储效益成正向同比增长趋势,可变字节编码方式编码效益更高,并且更有优势。上述方式,通过确定各字符的数据编码效益各数据存储效益,进一步确定各字符编码效益,进而使各字符的编码效益准确度更高。
步骤S12:基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;
在一个具体实施场景中,第一数据量可以是测试数据的具体数据量,测试数据的第一数据量可以根据实际情况进行设置,在此不做具体限定。
在一个具体实施场景中,第二数据量可以是待编码数据的实际数据量,待编码数据的第二数据量可以根据实际情况进行设置,在此不做具体限定。
在一个实施场景中,基于前述各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,为确定待编码数据的目标编码方式,可以先获取各测试数据的第一数据量分别与第二数据量之间的数据量差值,再选择数据量差值满足第三条件的测试数据所对应的最佳编码方式,作为待编码数据的目标编码方式。上述方式,通过确定待编码数据的目标编码方式,可以减小待编码数据的字节占用空间,进一步加速区块链待编码数据的流动性。
在一个具体实施场景中,第三条件可以是第二数据量与各第一数据量之间的差值绝对值最小,第三条件还可以是第二数据量与各第一数据量之间的差值中最小且非负,第三条件可以根据实际情况进行设置,在此不做具体限定。
在一个实施场景中,为了适应待编码数据的数据量可能产生的突变,则可以定期或不定期地更新测试数据,并重新采用前述方式确定各个测试数据的最佳编码方式,以利用新的测试数据的最佳编码方式,确定当前待编码数据的目标编码方式。例如,可以每周进行更新,也可以每月,每年等,具体更新时间可以根据实际情况进行设置,在此不做具体限定。
步骤S13:利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。
在一个实施场景中,利用目标编码方式对待编码数据进行编码,可以得到编码后的最小数据包,再对数据包进行身份签名,对数据包私有数据进行加密处理。智能合约符合业务规则后区块链网络节点验证通过信息,节点数量超过预设节点验证通过,则表明数据落盘,预设节点可以根据实际情况进行设置;最终使用方进行解码即可获取链上数据,其中隐私数据还需要进行上层业务第二次解密处理。
上述方案,基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据,一方面通过测试数据获取数据量与编码方式之间的关系,有助于不同数据量的待编码数据选择最佳编码方式,另一方面由于待编码数据编码后进一步减少数据的占用空间,能够尽可能地使区块链中各方完成交互,故此,能够加速区块链待编码数据的流动性。
请参阅图3,图3是本申请数据编码装置一实施例的框架示意图。数据编码装置30包括选择模块31、确定模块32和编码模块33。其中,选择模块31用于基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式;其中,所述最佳编码方式基于编码效益从所述多种候选编码方式选择得到;确定模块32用于基于各个所述测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定所述待编码数据的目标编码方式;编码模块33用于利用所述目标编码方式对所述待编码数据进行编码,得到用于在区块链传输的编码数据。
上述方案,一方面通过测试数据获取数据量与编码方式之间的关系,有助于不同数据量的待编码数据选择最佳编码方式,另一方面由于待编码数据编码后进一步减少数据的占用空间,能够尽可能地使区块链中各方完成交互,故此,加速区块链待编码数据的流动性。
在一些公开实施例中,编码效益包括第一编码效益和第二编码效益,第一编码效益与压缩率相关,第二编码效益与编码所需的数据编码时长、数据存储空间中至少一者相关。
因此,通过不同的编码效益,选择最佳的编码方式,进而使数据编码后的字节占用空间减小,进一步提高编码后数据的流动性。
在一些公开实施例中,选择模块31包括第一编码子模块,第一编码子模块用于基于多种候选编码方式分别对测试数据中各字符的第一编码时长,获取测试数据分别采用多种候选编码方式的第二编码时长;选择模块31还包括第一获取子模块,第一获取子模块用于基于测试数据分别采用多种候选编码方式的第二编码时长之间的时长差值,获取测试数据的第一编码效益;其中,时长差值与压缩率正相关。
因此,通过获取多种候选编码方式分别对测试数据中各字符的第一编码时长,以度量不同编码方式之间编码时长的差异,以此来间接地反映压缩率,有助于提升度量压缩率的效率。
在一些公开实施例中,多种候选编码方式包括固定字节编码方式和可变字节编码方式,第一编码子模块包括确定单元,确定单元用于将固定字节编码方式和可变字节编码方式,分别作为当前编码方式;编码子模块还包括计算单元,计算单元用于将当前编码方式对测试数据中各字符的第一编码时长的平均值,作为测试数据采用当前编码方式的第三编码时长;计算单元还用于将测试数据采用当前编码方式的第三编码时长和当前编码方式的加权系数之积,作为测试数据采用当前编码方式的第二编码时长;其中,固定字节编码方式的加权系数不小于可变字节编码方式的加权系数。
因此,通过对当前编码方式的第三编码时长进行加权处理,便于统计编码时长之间的差值,进而对编码时长进行分析比较,以此来间接地反映压缩率,有助于提升度量压缩率的效率。
在一些公开实施例中,多种候选编码方式包括固定字节编码方式和可变字节编码方式,第一获取子模块包括计算单元,计算单元用于获取测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码时长的时长差值,再基于时长差值,得到测试数据的第一编码效益。
因此,通过第一编码效益进一步选择对应的编码方式,使编码后的数据的空间占有率更小。
在一些公开实施例中,多种候选编码方式包括固定字节编码方式和可变字节编码方式,选择模块31包括第一判断子模块,第一判断子模块用于基于测试数据的第一编码效益不满足第一条件,获取测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益;选择模块31还包括第一选择子模块,第一选择子模块用于基于测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益,选择固定字节编码方式或可变字节编码方式,作为测试数据的最佳编码方式。
因此,通过对第一编码效益是否满足第一条件进行判断,确定测试数据的最佳编码方式,提高测试数据对编码方式选择的准确性,进而加速待编码数据编码后的流动性。
在一些公开实施例中,选择模块31包括第二编码子模块,第二编码子模块用于基于多种候选编码方式分别对测试数据中各字符进行编码,得到测试数据中各字符分别采用多种候选编码方式进行编码后的字节数;选择模块31还包括第二获取子模块,第二获取子模块用于对各种候选编码方式,基于候选编码方式的映射关系和各字符分别采用候选编码方式进行编码后的字节数,得到测试数据采用候选编码方式的第一编码效益;其中,映射关系表示字节数与压缩率之间的关系。
因此,通过映射关系确定各字符编码后的压缩率,提高了确定测试数据采用候选编码方式的第一编码效益的速率,进一步提高了工作效率。
在一些公开实施例中,第二获取子模块包括编码单元,编码单元用于基于候选编码方式的映射关系和各字符分别采用候选编码方式进行编码后的字节数,得到各字符采用候选编码方式的压缩率;第二获取子模块还包括确定单元,确定单元用于基于各字符采用候选编码方式的压缩率的平均值,得到测试数据采用候选编码方式的第一编码效益。
因此,通过候选编码方式的映射关系,确定了当采用可变字节编码方式对于测试数据编码后的字节数越小,压缩率越大。
在一些公开实施例中,多种候选编码方式包括固定字节编码方式和可变字节编码方式,选择模块31包括第二判断子模块,第二判断子模块用于基于测试数据采用可变字节编码方式的第一编码效益不满足第二条件,获取测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益;选择模块31包括第二选择子模块,第二选择子模块用于基于测试数据分别采用固定字节编码方式和可变字节编码方式的第二编码效益,选择固定字节编码方式或可变字节编码方式,作为测试数据的最佳编码方式。
因此,通过对第一编码效益是否满足第二条件进行判断,确定测试数据的最佳编码方式,进一步提高测试数据对编码方式选择的准确性,进一步提高测试数据对编码方式选择的准确性,进而加速待编码数据编码后的流动性。
在一些公开实施例中,选择模块31包括第三编码子模块,第三编码子模块用于基于候选编码方式分别对测试数据中各字符的数据编码时长和数据存储空间,获取各字符采用候选编码方式的字符编码效益;选择模块31还包括第三选择子模块,第三选择子模块用于将各字符采用候选编码方式的字符编码效益之和,作为测试数据采用候选编码方式的第二编码效益。
因此,通过测试数据中各字符的数据编码时长和数据存储空间,确定多种候选编码方式的第二编码效益,进一步提高第二编码效益的准确性,进而加速待编码数据编码后的流动性。
在一些公开实施例中,第三编码子模块包括获取单元,获取单元用于基于各字符的数据编码时长,获取所述各字符的数据编码效益,并基于所述各字符的数据存储空间,获取各字符的数据编码效益和数据存储效益;第三编码子模块还包括计算单元,计算单元用于将数据编码效益和数据存储效益之积,作为字符编码效益。
因此,通过确定各字符的数据编码效益各数据存储效益,进一步确定各字符编码效益,进而使各字符的编码效益准确度更高。
在一些公开实施例中,确定模块32包括计算子模块,计算子模块用于获取各测试数据的第一数据量分别与第二数据量之间的数据量差值;确定模块32还包括选择子模块,选择子模块用于选择数据量差值满足第三条件的测试数据所对应的最佳编码方式,作为待编码数据的目标编码方式。
因此,通过确定待编码数据的目标编码方式,可以减小待编码数据的字节占用空间,进一步使区块链智能合约数据流动性加速。
请参阅图4,图4是本申请电子设备一实施例的框架示意图。电子设备40包括相互耦接的存储器41和处理器42,存储器41中存储有程序指令,处理器42用于执行程序指令以实现上述任一数据编码方法实施例中的步骤。具体地,电子设备40可以包括但不限于:台式计算机、笔记本电脑、服务器、手机、平板电脑等等,在此不做限定。
具体而言,处理器42用于控制其自身以及存储器41以实现上述任一数据编码方法实施例中的步骤。处理器42还可以称为CPU(Central Processing Unit,中央处理单元)。处理器42可能是一种集成电路芯片,具有信号的处理能力。处理器42还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器42可以由集成电路芯片共同实现。
上述方案,一方面通过测试数据获取数据量与编码方式之间的关系,有助于不同数据量的待编码数据选择最佳编码方式,另一方面由于待编码数据编码后进一步减少数据的占用空间,能够尽可能地使区块链中各方完成交互,故此,能够加速区块链待编码数据的流动性。
请参阅图5,图5是本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质50存储有能够被处理器运行的程序指令51,程序指令51用于实现上述任一数据编码方法实施例中的步骤。
上述方案,一方面通过测试数据获取数据量与编码方式之间的关系,有助于不同数据量的待编码数据选择最佳编码方式,另一方面由于待编码数据编码后进一步减少数据的占用空间,能够尽可能地使区块链中各方完成交互,故此,能够加速区块链待编码数据的流动性。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种数据编码方法,其特征在于,包括:
基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式;其中,所述最佳编码方式基于编码效益从所述多种候选编码方式选择得到;
基于各个所述测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定所述待编码数据的目标编码方式;
利用所述目标编码方式对所述待编码数据进行编码,得到用于在区块链传输的编码数据。
2.根据权利要求1所述的方法,其特征在于,所述编码效益包括第一编码效益和第二编码效益,所述第一编码效益与压缩率相关,所述第二编码效益与编码所需的数据编码时长、数据存储空间中至少一者相关。
3.根据权利要求2所述的方法,其特征在于,所述第一编码效益的获取步骤包括:
基于所述多种候选编码方式分别对测试数据中各字符的第一编码时长,获取所述测试数据分别采用所述多种候选编码方式的第二编码时长;
基于所述测试数据分别采用所述多种候选编码方式的第二编码时长之间的时长差值,获取所述测试数据的第一编码效益;其中,所述时长差值与所述压缩率正相关。
4.根据权利要求3所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于所述多种候选编码方式分别对所述测试数据中各字符的第一编码时长,获取所述测试数据分别采用所述多种候选编码方式的第二编码时长,包括:
将所述固定字节编码方式和所述可变字节编码方式,分别作为当前编码方式;
将所述当前编码方式对所述测试数据中各所述字符的第一编码时长的平均值,作为所述测试数据采用所述当前编码方式的第三编码时长;
将所述测试数据采用所述当前编码方式的第三编码时长和所述当前编码方式的加权系数之积,作为所述测试数据采用所述当前编码方式的第二编码时长;
其中,所述固定字节编码方式的加权系数不小于所述可变字节编码方式的加权系数。
5.根据权利要求3所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于所述测试数据分别采用所述多种候选编码方式的第二编码时长之间的时长差异,获取所述测试数据的第一编码效益,包括:
获取所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码时长的时长差值;
基于所述时长差值,得到所述测试数据的第一编码效益。
6.根据权利要求3所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式,包括:
基于所述测试数据的第一编码效益不满足第一条件,获取所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码效益;
基于所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码效益,选择所述固定字节编码方式或所述可变字节编码方式,作为所述测试数据的最佳编码方式。
7.根据权利要求2所述的方法,其特征在于,所述第一编码效益的获取步骤包括:
基于所述多种候选编码方式分别对测试数据中各字符进行编码,得到所述测试数据中各所述字符分别采用所述多种候选编码方式进行编码后的字节数;
对于各种所述候选编码方式,基于所述候选编码方式的映射关系和各所述字符分别采用所述候选编码方式进行编码后的字节数,得到所述测试数据采用所述候选编码方式的第一编码效益;
其中,所述映射关系表示所述字节数与压缩率之间的关系。
8.根据权利要求7所述的方法,其特征在于,所述基于所述候选编码方式的映射关系和各所述字符分别采用所述候选编码方式进行编码后的字节数,得到所述测试数据采用所述候选编码方式的第一编码效益,包括:
基于所述候选编码方式的映射关系和各所述字符分别采用所述候选编码方式进行编码后的字节数,得到各所述字符采用所述候选编码方式的压缩率;
基于各所述字符采用所述候选编码方式的压缩率的平均值,得到所述测试数据采用所述候选编码方式的第一编码效益。
9.根据权利要求7所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式,包括:
基于所述测试数据采用所述可变字节编码方式的第一编码效益不满足第二条件,获取所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码效益;
基于所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码效益,选择所述固定字节编码方式或所述可变字节编码方式,作为所述测试数据的最佳编码方式。
10.根据权利要求2所述的方法,其特征在于,所述第二编码效益的获取步骤包括:
基于所述候选编码方式分别对测试数据中各字符的数据编码时长和数据存储空间,获取所述各字符采用所述候选编码方式的字符编码效益;
将所述各字符采用所述候选编码方式的字符编码效益之和,作为所述测试数据采用所述候选编码方式的第二编码效益。
11.根据权利要求10所述的方法,其特征在于,所述基于所述候选编码方式分别对所述测试数据中各字符的数据编码时长和数据存储空间,获取所述各字符采用所述候选编码方式的字符编码效益,包括:
基于所述各字符的数据编码时长,获取所述各字符的数据编码效益,并基于所述各字符的数据存储空间,获取所述各字符的数据编码效益和数据存储效益;
将所述数据编码效益和所述数据存储效益之积,作为所述字符编码效益。
12.根据权利要求1所述的方法,其特征在于,所述基于各个所述测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定所述待编码数据的目标编码方式,包括:
获取各所述测试数据的第一数据量分别与所述第二数据量之间的数据量差值;
选择所述数据量差值满足第三条件的测试数据所对应的最佳编码方式,作为所述待编码数据的目标编码方式。
13.一种数据编码装置,其特征在于,包括:
选择模块,用于基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式;其中,所述最佳编码方式基于编码效益从所述多种候选编码方式选择得到;
确定模块,用于基于各个所述测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定所述待编码数据的目标编码方式;
编码模块,用于利用所述目标编码方式对所述待编码数据进行编码,得到用于在区块链传输的编码数据。
14.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述存储器中存储有程序指令,所述处理器用于执行所述程序指令以实现权利要求1至12任一项所述数据编码方法。
15.一种计算机可读存储介质,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1至12任一项所述数据编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210220596.0A CN114726480B (zh) | 2022-03-08 | 2022-03-08 | 数据编码方法及相关装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210220596.0A CN114726480B (zh) | 2022-03-08 | 2022-03-08 | 数据编码方法及相关装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726480A CN114726480A (zh) | 2022-07-08 |
CN114726480B true CN114726480B (zh) | 2023-07-25 |
Family
ID=82236846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210220596.0A Active CN114726480B (zh) | 2022-03-08 | 2022-03-08 | 数据编码方法及相关装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726480B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738471B (zh) * | 2023-08-10 | 2023-10-20 | 陕西昕晟链云信息科技有限公司 | 基于区块链的去中心化数据分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112888024A (zh) * | 2019-11-29 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN112953547A (zh) * | 2019-12-10 | 2021-06-11 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN113627131A (zh) * | 2021-08-18 | 2021-11-09 | 中国联合网络通信集团有限公司 | 电池标识编码方法、装置和电子设备 |
CN113781021A (zh) * | 2020-06-10 | 2021-12-10 | 徐蔚 | 采用码链区块的数字货币模型、方法、系统及装置 |
CN113836868A (zh) * | 2021-09-24 | 2021-12-24 | 中国联合网络通信集团有限公司 | 设备编码方法、设备标识平台、电子设备及存储介质 |
CN113869915A (zh) * | 2021-09-24 | 2021-12-31 | 中国联合网络通信集团有限公司 | 防窜货的方法、标识解析平台、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290034B2 (en) * | 1998-12-21 | 2012-10-16 | Zin Stai Pte. In, Llc | Video transmission and display including bit-wise sub-sampling video compression |
JP3866568B2 (ja) * | 2001-12-21 | 2007-01-10 | 富士通株式会社 | 画像圧縮方法 |
US10853198B2 (en) * | 2019-01-30 | 2020-12-01 | Bank Of America Corporation | System to restore a transformation state using blockchain technology |
CN113542225B (zh) * | 2021-06-17 | 2023-08-22 | 深圳市合广测控技术有限公司 | 一种数据的压缩方法、装置、终端设备及存储介质 |
-
2022
- 2022-03-08 CN CN202210220596.0A patent/CN114726480B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112888024A (zh) * | 2019-11-29 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN112953547A (zh) * | 2019-12-10 | 2021-06-11 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN113781021A (zh) * | 2020-06-10 | 2021-12-10 | 徐蔚 | 采用码链区块的数字货币模型、方法、系统及装置 |
CN113627131A (zh) * | 2021-08-18 | 2021-11-09 | 中国联合网络通信集团有限公司 | 电池标识编码方法、装置和电子设备 |
CN113836868A (zh) * | 2021-09-24 | 2021-12-24 | 中国联合网络通信集团有限公司 | 设备编码方法、设备标识平台、电子设备及存储介质 |
CN113869915A (zh) * | 2021-09-24 | 2021-12-31 | 中国联合网络通信集团有限公司 | 防窜货的方法、标识解析平台、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114726480A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6895410B2 (en) | Method and apparatus for providing a multimedia data stream | |
US10979324B2 (en) | Methods and apparatus for estimating total unique audiences | |
CN114726480B (zh) | 数据编码方法及相关装置、电子设备和存储介质 | |
CN110782286B (zh) | 广告推送方法、装置、服务器及计算机可读存储介质 | |
CN111626796B (zh) | 一种流量预估方法及装置 | |
CN112311720B (zh) | 数据的传输方法及装置 | |
US10075183B2 (en) | Compression and encryption of a file | |
US11669784B2 (en) | Content provider recommendations to improve targetting and other settings | |
CN114339252B (zh) | 一种数据压缩方法及装置 | |
CN111625467A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN113505765B (zh) | 基于用户头像的年龄预测方法、装置及电子设备 | |
CN115374318A (zh) | 模型调用方法、装置、计算机设备及存储介质 | |
CN107734285A (zh) | 一种画面时延计算系统、方法及装置 | |
CN115914408A (zh) | 短链接信息的数据分析方法和管理方法、电子设备 | |
CN114626338A (zh) | 数据的字符编码、解码方法、系统、设备及存储介质 | |
CN113162628A (zh) | 一种数据编码方法、数据解码方法、终端和存储介质 | |
CN114157578A (zh) | 网络状态预测方法及装置 | |
CN112261065A (zh) | 一种卫星通信压缩传输及计算解压缩的方法、装置 | |
CN108347451B (zh) | 图片处理系统、方法和装置 | |
US20080165760A1 (en) | Method and Apparatus For Optimizing Flow Control Over Wlans | |
US20230259837A1 (en) | Content provider recommendations to improve targetting and other settings | |
CN113644986A (zh) | 编码方法及装置 | |
CN115098793A (zh) | 基于大数据的用户画像分析方法及系统 | |
CN116980300A (zh) | 带宽估计方法、装置、电子设备及存储介质 | |
CN116800860A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |