一种文件压缩方法及装置制造方法及图纸

技术编号:38719075 阅读:7 留言:0更新日期:2023-09-08 23:15
本申请提供一种文件压缩方法及装置,应用于区块链系统。该方法中压缩调度器可在区块链系统满足预设条件时启动压缩流程,选择要压缩的区块文件,然后对要压缩的区块文件进行压缩。该过程无需客户端感知压缩过程,并且无需用户在客户端上选择区块文件、压缩方式等,能够减少用户操作,提升用户体验。提升用户体验。提升用户体验。

【技术实现步骤摘要】
一种文件压缩方法及装置


[0001]本申请涉及区块链
,尤其涉及一种文件压缩方法及装置。

技术介绍

[0002]区块链可以理解为是一种分布式的账本,具有去中心化、防篡改、可追溯和公开透明等特点。目前,区块链已经应用于多种业务场景,比如金融资产交易结算、数字政务、存证防伪、数据服务等。随着时间和交易量的日益增长,区块链的账本越来越长,其所需的存储空间也不断增大,因此,数据存储空间不足成为了新的问题。基于此,可对区块链上的数据进行数据压缩,以解决数据存储空间不足的问题。
[0003]目前,在对数据进行压缩时通常是由用户在客户端上选择要压缩的数据、压缩策略等,然后对数据进行压缩。这种方式需要用户来参与操作,比较麻烦。

技术实现思路

[0004]本申请提供一种文件压缩方法及装置,用以减少用户操作,提升用户体验。
[0005]第一方面,本申请提供一种文件压缩方法,该方法可应用于区块链系统。具体的,该方法包括:在确定区块链系统满足预设压缩条件时,在区块链系统的区块链账本中选择第一区块文件。然后,对第一区块文件进行压缩,得到第二区块文件;最后,将区块链账本中的第一区块文件替换为第二区块文件。
[0006]通过上述技术方案,可以实现自动对区块文件的压缩,使得区块文件的存储成本降低。并且,无需客户端感知压缩过程,减少用户操作,能够提升用户体验。
[0007]在一种可能的设计中,所述预设压缩条件可以但不限于包括如下条件中的至少一项:
[0008]磁盘容量已使用的容量大于设定阈值;系统内存使用率小于设定阈值;系统中央处理器CPU使用率小于设定阈值;系统磁盘输入/输出IO小于设定阈值;系统网络IO小于设定阈值。
[0009]通过上述技术方案,可在区块链系统满足压缩条件时启动压缩流程,即无需客户端选择压缩时机,能够降低应用的侵入性。
[0010]在一种可能的设计中,可通过如下几种方式执行区块文件的压缩过程:
[0011]方式1:对第一区块文件进行标准压缩,得到第二区块文件。
[0012]方式2:确定第一区块文件包括的字段对应的哈夫曼编码,然后利用哈夫曼编码替换字段对应的数值。
[0013]具体的,可根据所述第一区块文件中包括的字段确定与所述第一区块文件对应的第一压缩模式库;然后根据第一压缩模式库确定第一区块文件中包括的字段的数值对应的哈夫曼编码;最后将第一区块文件中包括的字段的数值替换为所述哈夫曼编码,得到第二区块文件。
[0014]方式3:在方式2中利用哈夫曼编码替换第一区块文件中包括的字段对应的数值的
基础上,对替换后的区块文件继续进行标准压缩。
[0015]具体的,可根据所述第一区块文件中包括的字段确定与第一区块文件对应的第一压缩模式库;然后根据第一压缩模式库确定所述第一区块文件中包括的字段的数值对应的哈夫曼编码;再将第一区块文件中包括的字段的数值替换为哈夫曼编码,得到第三区块文件;最后对第三区块文件进行标准压缩,得到第二区块文件。
[0016]通过上述几种压缩方式,可以提升区块文件的压缩比,降低区块文件的存储成本。
[0017]第二方面,本申请提供一种文件压缩装置,该装置可包括:选择单元,用于在确定区块链系统满足预设压缩条件时,在所述区块链系统的区块链账本中选择第一区块文件;压缩单元,用于对所述第一区块文件进行压缩,得到第二区块文件;替换单元,用于将所述区块链账本中的所述第一区块文件替换为所述第二区块文件。
[0018]在一种可能的设计中,所述预设压缩条件可以但不限于包括如下条件中的至少一项:
[0019]磁盘容量已使用的容量大于设定阈值;系统内存使用率小于设定阈值;系统中央处理器CPU使用率小于设定阈值;系统磁盘输入/输出IO小于设定阈值;系统网络IO小于设定阈值。
[0020]在一种可能的设计中,压缩单元具体可以按如下方式对所述第一区块文件进行压缩,得到第二区块文件:
[0021]对所述第一区块文件进行标准压缩,得到第二区块文件。
[0022]在另一种可能的设计中,压缩单元具体还可以按如下方式对所述第一区块文件进行压缩,得到第二区块文件:
[0023]根据所述第一区块文件中包括的字段确定与所述第一区块文件对应的第一压缩模式库;根据所述第一压缩模式库确定所述第一区块文件中包括的字段的数值对应的哈夫曼编码;将所述第一区块文件中包括的字段的数值替换为所述哈夫曼编码,得到第二区块文件。
[0024]再一种可能的设计中,压缩单元还可以按如下方式对所述第一区块文件进行压缩,得到第二区块文件:
[0025]根据所述第一区块文件中包括的字段确定与所述第一区块文件对应的第一压缩模式库;根据所述第一压缩模式库确定所述第一区块文件中包括的字段的数值对应的哈夫曼编码;将所述第一区块文件中包括的字段的数值替换为所述哈夫曼编码,得到第三区块文件;对所述第三区块文件进行标准压缩,得到第二区块文件。
[0026]第三方面,本申请提供一种文件压缩设备,该文件压缩设备具有实现第一方面或第一方面任一种可能实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。
[0027]所述文件压缩设备包括:存储器和处理器;所述存储器,用于存储有计算机指令;所述处理器用于执行所述存储器所存储的计算机指令,以使所述文件压缩设备执行上述第一方面或第一方面任一种可能实现方式中所述的方法。
[0028]第四方面,本申请还提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面或第一方面任一种可能实现方式中所述的方法。
[0029]第五方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面或第一方面任一种可能实现方式中所述的方法。
[0030]关于第二方面至第五方面各种实施方式所带来的技术效果,可以参考对于第一方面或第一方面的各种实施方式的技术效果的介绍,在此处不作过多赘述。
附图说明
[0031]图1为本申请实施例提供的一种应用场景示意图;
[0032]图2为本申请实施例提供的一种文件压缩方法流程图;
[0033]图3为本申请实施例提供的另一种文件压缩方法流程图;
[0034]图4为本申请实施例提供的一种区块的结构示意图;
[0035]图5为本申请实施例提供的一种文件压缩流程示意图;
[0036]图6为本申请实施例提供的一种文件压缩装置的结构示意图;
[0037]图7为本申请实施例提供的一种文件压缩设备的结构示意图。
具体实施方式
[0038]下面将结合附图对本实施例的实施方式进行详细描述。
[0039]以下,首先对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
[0040]1)区块链:是一个共享数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件压缩方法,应用于区块链系统,其特征在于,包括:在确定所述区块链系统满足预设压缩条件时,在所述区块链系统的区块链账本中选择第一区块文件;对所述第一区块文件进行压缩,得到第二区块文件;将所述区块链账本中的所述第一区块文件替换为所述第二区块文件。2.如权利要求1所述的方法,其特征在于,所述预设压缩条件包括如下条件中的至少一项:磁盘容量已使用的容量大于设定阈值;系统内存使用率小于设定阈值;系统中央处理器CPU使用率小于设定阈值;系统磁盘输入/输出IO小于设定阈值;系统网络IO小于设定阈值。3.如权利要求1或2所述的方法,其特征在于,对所述第一区块文件进行压缩,得到第二区块文件,包括:对所述第一区块文件进行标准压缩,得到第二区块文件。4.如权利要求1或2所述的方法,其特征在于,对所述第一区块文件进行压缩,得到第二区块文件,包括:根据所述第一区块文件中包括的字段确定与所述第一区块文件对应的第一压缩模式库;根据所述第一压缩模式库确定所述字段的数值对应的哈夫曼编码;将所述第一区块文件中包括的所述字段的数值替换为所述哈夫曼编码,得到第二区块文件。5.如权利要求1或2所述的方法,其特征在于,对所述第一区块文件进行压缩,得到第二区块文件,包括:根据所述第一区块文件中包括的字段确定与所述第一区块文件对应的第一压缩模式库;根据所述第一压缩模式库确定所述字段的数值对应的哈夫曼编码;将所述第一区块文件中包括的所述字段的数值替换为所述哈夫曼编码,得到第三区块文件;对所述第三区块文件进行标准压缩,得到第二区块文件。6.一种文件压缩装置,其特征在于,包括:选择单元,用于在确定区块链系统满足预设压缩条件时,在所述区块链系统的区块链账本中选择第一区块文件;压缩单元,用于对所述第一区块文件进行压缩,得到第二区块文件;替换单元,用于将所述区块链账本中的所述第一区块文件替换为所述第二区块文件。7.如权利要求6所述的装置,其特征在于,所述预设压缩条件包括如下条件中的至少一项:磁...

【专利技术属性】
技术研发人员:郝利鹏汪雅伟王磊
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1