数据编码方法及相关装置、电子设备和存储介质制造方法及图纸

技术编号:34094448 阅读:23 留言:0更新日期:2022-07-11 21:58
本申请公开了一种数据编码方法及相关装置、电子设备和存储介质,其中,数据编码方法包括:基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。上述方案,能够加速区块链待编码数据的流动性。块链待编码数据的流动性。块链待编码数据的流动性。

【技术实现步骤摘要】
数据编码方法及相关装置、电子设备和存储介质


[0001]本申请涉及数据编码
,特别是涉及一种数据编码方法及相关装置、电子设备和存储介质。

技术介绍

[0002]在区块链数据编码场景中,区块链数据编码方式过程中格式的统一格外重要。在实际应用中,通过对数据中字节压缩处理,使各方便于遵循特定规则或者编码协议完成交互。
[0003]目前,区块链数据编码方式一般采用简单的格式信息集合,这种情况下字节数较大,在多方参与的背景下合约格式多样,并且无法统一,进而降低了数据传输效率。有鉴于此,如何加速区块链待编码数据的流动性成为亟待解决的问题。

技术实现思路

[0004]本申请主要解决的技术问题是提供一种数据编码方法及相关装置、电子设备和存储介质,能够加速区块链待编码数据的流动性。
[0005]为了解决上述技术问题,本申请第一方面提供了一种数据编码方法,包括:基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。
[0006]为了解决上述技术问题,本申请第二方面提供了一种数据编码装置,包括选择模块、确定模块和编码模块,选择模块用于基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;确定模块,用于基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;编码模块,用于利用目标编码方式对待编码数据进行编码,得到用于在区块链传输的编码数据。
[0007]为了解决上述技术问题,本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的数据编码方法。
[0008]为了解决上述技术问题,本申请第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,所述程序指令用于实现上述第一方面中的数据编码方法。
[0009]上述方案,基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式;其中,最佳编码方式基于编码效益从多种候选编码方式选择得到;再基于各个测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定待编码数据的目标编码方式;利用目标编码方式对待编码数据进行编码,得到用于在区块链
传输的编码数据,一方面通过测试数据获取数据量与编码方式之间的关系,有助于不同数据量的待编码数据选择最佳编码方式,另一方面由于待编码数据编码后进一步减少数据的占用空间,能够尽可能地使区块链中各方完成交互,故此,能够加速区块链待编码数据的流动性。
附图说明
[0010]图1是本申请数据编码方法一实施例的流程示意图;
[0011]图2是图1中步骤S11编码方式一实施例的示意图;
[0012]图3是本申请数据编码装置一实施例的框架示意图;
[0013]图4是本申请电子设备一实施例的框架示意图;
[0014]图5是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
[0015]下面结合说明书附图,对本申请实施例的方案进行详细说明。
[0016]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
[0017]本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
[0018]请参阅图1,图1是本申请数据编码方法一实施例的流程示意图。具体而言,可以包括如下步骤:
[0019]步骤S11:基于多种候选编码方式分别对各个测试数据进行编码,确定各个测试数据的最佳编码方式。
[0020]在一个实施场景中,候选编码方式可以包括但不限于:RLP(Recursive Length Prefix,递归长度前缀)编码方式、固定字节编码方式、可变字节编码方式等编码方式,候选编码方式可以根据实际情况进行设置,在此不做具体限定。
[0021]在一个实施场景中,可以预先获取众多待编码数据,在此基础上,测试数据可以从众多待编码数据中抽样得到,需要说明的是,在实际应用中,待编码数据可以为用于区块链传输的待上链数据。例如,可以将众多待上链数据按照各自的数据量分别划分至不同数据集合,基于此可以分别从不同数据集合抽取至少一个待上链数据作为测试数据。测试数据可以根据实际情况进行选择,在此不做具体限定。
[0022]本公开实施例中,最佳编码方式基于编码效益从多种候选编码方式选择得到。举例来说,可以对于各测试数据来说,可以获取各种候选编码方式对该测试数据进行编码的编码效益,并选择其中编码效益最好的候选编码方式,作为该测试数据的最佳编码方式。具体而言,编码效益可以包括第一编码效益和第二编码效益,第一编码效益与压缩率相关,第二编码效益与编码所需的数据编码时长、数据存储空间中至少一者相关。上述方式,通过不同的编码效益,选择最佳的编码方式,进而使数据编码后的字节占用空间减小,进一步提高编码后数据的流动性。
[0023]在一个实施场景中,第一编码效益可以基于多种候选编码方式分别对测试数据中各字符的第一编码时长,获取测试数据分别采用多种候选编码方式的第二编码时长,再基于测试数据分别采用多种候选编码方式的第二编码时长之间的时长差值,获取测试数据的第一编码效益;其中,时长差值与压缩率正相关。上述方式,通过获取多种候选编码方式分别对测试数据中各字符的第一编码时长,以度量不同编码方式之间编码时长的差异,以此来间接地反映压缩率,有助于提升度量压缩率的效率。
[0024]在一个具体实施场景中,如前所述,前述时长差值与压缩率为正相关关系。以多种候选编码方式包括固定字节编码方式和可变字节编码方式为例,由于固定字节编码方式的压缩率相对恒定,故在此情况下,测试数据分别采用多种候选编码方式的第二编码时长之间的时长差值越大,表明测试数据经过可变字节编码方式的压缩率越大。其他情况可以以此类推,在此不再一一举例。
[0025]在一个具体实施场景中,多种候选编码方式可以包括固定字节编码方式和可变字节编码方式,基于前述多种候选编码方式分别对测试数据中各字符的第一编码时长,为了获取测试数据分别采用多种候选编码方式的第二编码时长,可以将固定字节编码方式和可变字节编码方式,分别作为当前编码方式,并将当前编码方式对测试数据中各字符的第一编码时长的平均值,作为测试数据采用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据编码方法,其特征在于,包括:基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式;其中,所述最佳编码方式基于编码效益从所述多种候选编码方式选择得到;基于各个所述测试数据的第一数据量和最佳编码方式,以及待编码数据的第二数据量,确定所述待编码数据的目标编码方式;利用所述目标编码方式对所述待编码数据进行编码,得到用于在区块链传输的编码数据。2.根据权利要求1所述的方法,其特征在于,所述编码效益包括第一编码效益和第二编码效益,所述第一编码效益与压缩率相关,所述第二编码效益与编码所需的数据编码时长、数据存储空间中至少一者相关。3.根据权利要求2所述的方法,其特征在于,所述第一编码效益的获取步骤包括:基于所述多种候选编码方式分别对测试数据中各字符的第一编码时长,获取所述测试数据分别采用所述多种候选编码方式的第二编码时长;基于所述测试数据分别采用所述多种候选编码方式的第二编码时长之间的时长差值,获取所述测试数据的第一编码效益;其中,所述时长差值与所述压缩率正相关。4.根据权利要求3所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于所述多种候选编码方式分别对所述测试数据中各字符的第一编码时长,获取所述测试数据分别采用所述多种候选编码方式的第二编码时长,包括:将所述固定字节编码方式和所述可变字节编码方式,分别作为当前编码方式;将所述当前编码方式对所述测试数据中各所述字符的第一编码时长的平均值,作为所述测试数据采用所述当前编码方式的第三编码时长;将所述测试数据采用所述当前编码方式的第三编码时长和所述当前编码方式的加权系数之积,作为所述测试数据采用所述当前编码方式的第二编码时长;其中,所述固定字节编码方式的加权系数不小于所述可变字节编码方式的加权系数。5.根据权利要求3所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于所述测试数据分别采用所述多种候选编码方式的第二编码时长之间的时长差异,获取所述测试数据的第一编码效益,包括:获取所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码时长的时长差值;基于所述时长差值,得到所述测试数据的第一编码效益。6.根据权利要求3所述的方法,其特征在于,所述多种候选编码方式包括固定字节编码方式和可变字节编码方式,所述基于多种候选编码方式分别对各个测试数据进行编码,确定各个所述测试数据的最佳编码方式,包括:基于所述测试数据的第一编码效益不满足第一条件,获取所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码效益;基于所述测试数据分别采用所述固定字节编码方式和所述可变字节编码方式的第二编码效益,选择所述固定字节编码方式或所述可变字节编码方式,作为所述测试数据的最佳编码方式。
7.根据权利要求2所述的方法,其特征在于,所述第一编码效益的获取步骤包括:基于所述多种候选编码方式分别对测试数据中各字符进行编码,得到所述测试数据中各所述字符分别采用所述多种候选编码方式进行编码后的字节数;对于各种所述候选编码方式,基于所述候选编码方式的映射关系和各所述字符分别采用所述候选编码方式进行编码后的字节数,得到所述测试数据采用所述候选编码方式的第一...

【专利技术属性】
技术研发人员:任园詹大卫方洋何耀鵾肖尤雷储双双万胜
申请(专利权)人:科大讯飞股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1