数据处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:22754979 阅读:22 留言:0更新日期:2019-12-07 03:55
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质,所述方法包括:获取待处理的数据;根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,所述多次迭代运算的至少一次迭代运算中前n级逻辑运算后对应的中间数据缓存一级,所述n为大于1的正整数。本公开实施例通过在哈希算法的多次迭代运算的至少一次迭代运算中前n级逻辑运算后对应的中间数据缓存一级,简化了哈希算法在实现过程中数据缓存的流水级数,提高了数据处理效率,降低了计算机设备的功耗。

Data processing method, device, computer equipment and storage medium

The present disclosure relates to the field of computer technology, in particular to a data processing method, device, computer equipment and storage medium, the method includes: obtaining the data to be processed; according to the data to be processed, using a hash algorithm to carry out multiple iterations to obtain a hash value, and at least one iteration of the multiple iterations corresponds to the middle after the first N-level logic operation A level of inter data cache, wherein n is a positive integer greater than 1. The embodiment of the disclosure simplifies the pipeline number of data cache in the implementation process of the hash algorithm, improves the data processing efficiency, and reduces the power consumption of the computer equipment through the corresponding intermediate data cache level after the first N-level logic operation in at least one iteration of the multiple iteration operation of the hash algorithm.

【技术实现步骤摘要】
数据处理方法、装置、计算机设备及存储介质
本公开涉及计算机
,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
技术介绍
数据处理方法包括计算机设备对待处理的数据采用指定算法进行运算得到哈希值的方法。相关技术中,以指定算法为哈希运算为例,数据处理方法包括:计算机设备对待处理的数据采用哈希算法,通过多级迭代单元进行迭代循环得到哈希值。在上述的数据处理过程中,涉及很多个这样的迭代单元,使得迭代循环的流水级数非常多,导致数据处理速度较慢,计算机功耗较大。
技术实现思路
有鉴于此,本公开提出了一种数据处理方法、装置、计算机设备及存储介质。所述技术方案,如下:根据本公开的一方面,提供了一种数据处理方法,用于计算机设备中,所述方法包括:获取待处理的数据;根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,所述多次迭代运算的至少一次迭代运算中前n级逻辑运算后对应的中间数据缓存一级,所述n为大于1的正整数。在一种可能的实现方式中,所述根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,包括:在所述多次迭代运算的第i次迭代运算中,根据所述待处理的数据,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,所述i为指定次数值;根据缓存的所述中间数据,进行下级所述迭代单元各自对应的逻辑运算和缓存,得到所述第i次迭代运算的输出数据;其中,本次所述迭代运算的输出数据为下一次所述迭代运算的输入数据,所述多次迭代运算中的最后一次所述迭代运算的输出数据为所述哈希值。在另一种可能的实现方式中,所述方法,还包括:在所述多次迭代运算中除所述第i次迭代运算外的每次所述迭代运算中,根据所述待处理的数据,采用所述哈希算法进行多级所述迭代单元各自对应的逻辑运算和缓存,得到本次所述迭代运算的输出数据。在另一种可能的实现方式中,所述待处理的数据为比特币的区块头,所述哈希值为所述比特币的区块头对应的消息摘要。在另一种可能的实现方式中,所述在所述多次迭代运算的第i次迭代运算中,根据所述待处理的数据,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,包括:在所述多次迭代运算中的第2次迭代运算中,根据所述比特币的区块头的固定长度的第二数据块,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,所述n小于4。在另一种可能的实现方式中,所述比特币的区块头中的随机数包括t种取值,所述t为大于1的正整数,所述根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,包括:基于所述比特币的区块头中的所述随机数的不同取值,采用所述t条支路并列执行根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值的步骤。在另一种可能的实现方式中,所述哈希算法为安全哈希算法(SecureHashAlgorithm,SHA)256。在另一种可能的实现方式中,所述多次迭代运算的第i次迭代运算涉及x级迭代单元,所述i为指定次数值,所述x为正整数;所述x级迭代单元的第1级所述迭代单元包括n级逻辑运算单元和一级第一寄存器单元;其中,所述逻辑运算单元用于对本级所述逻辑运算单元的输入值进行逻辑运算得到本级所述逻辑运算单元的输出值,所述第一寄存器单元用于缓存经过n级所述逻辑运算单元运算后对应的中间数据。在另一种可能的实现方式中,所述第1级所述迭代单元的下级所述迭代单元中的每个所述迭代单元包括一级所述逻辑运算单元和一级第二寄存器单元;其中,所述下级所述迭代单元包括所述x级迭代单元中位于所述第1级所述迭代单元下级的x-1级所述迭代单元,所述第二寄存器单元用于缓存经过本级所述逻辑运算单元运算后对应的中间数据。根据本公开的另一方面,一种数据处理装置,用于计算机设备中,所述装置包括:获取模块,用于获取待处理的数据;运算模块,用于根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,所述多次迭代运算的至少一次迭代运算中前n级逻辑运算后对应的中间数据缓存一级,所述n为大于1的正整数。在一种可能的实现方式中,所述运算模块,还用于在所述多次迭代运算的第i次迭代运算中,根据所述待处理的数据,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,所述i为指定次数值;根据缓存的所述中间数据,进行下级所述迭代单元各自对应的逻辑运算和缓存,得到所述第i次迭代运算的输出数据;其中,本次所述迭代运算的输出数据为下一次所述迭代运算的输入数据,所述多次迭代运算中的最后一次所述迭代运算的输出数据为所述哈希值。在另一种可能的实现方式中,所述运算模块,还用于在所述多次迭代运算中除所述第i次迭代运算外的每次所述迭代运算中,根据所述待处理的数据,采用所述哈希算法进行多级所述迭代单元各自对应的逻辑运算和缓存,得到本次所述迭代运算的输出数据。在另一种可能的实现方式中,所述待处理的数据为比特币的区块头,所述哈希值为所述比特币的区块头对应的消息摘要。在另一种可能的实现方式中,所述运算模块,还用于在所述多次迭代运算中的第2次迭代运算中,根据所述比特币的区块头的固定长度的第二数据块,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,所述n小于4。在另一种可能的实现方式中,所述比特币的区块头中的随机数包括t种取值,所述t为大于1的正整数,所述运算模块,还用于基于所述比特币的区块头中的所述随机数的不同取值,采用所述t条支路并列执行根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值的步骤。在另一种可能的实现方式中,所述哈希算法为SHA256算法。在另一种可能的实现方式中,所述多次迭代运算的第i次迭代运算涉及x级迭代单元,所述i为指定次数值,所述x为正整数;所述x级迭代单元的第1级所述迭代单元包括n级逻辑运算单元和一级第一寄存器单元;其中,所述逻辑运算单元用于对本级所述逻辑运算单元的输入值进行逻辑运算得到本级所述逻辑运算单元的输出值,所述第一寄存器单元用于缓存经过n级所述逻辑运算单元运算后对应的中间数据。在另一种可能的实现方式中,所述第1级所述迭代单元的下级所述迭代单元中的每个所述迭代单元包括一级所述逻辑运算单元和一级第二寄存器单元;其中,所述下级所述迭代单元包括所述x级迭代单元中位于所述第1级所述迭代单元下级的x-1级所述迭代单元,所述第二寄存器单元用于缓存经过本级所述逻辑运算单元运算后对应的中间数据。根据本公开的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取待处理的数据;根据所述待处理的数据,采用哈希算法进本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,用于计算机设备中,所述方法包括:/n获取待处理的数据;/n根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,所述多次迭代运算的至少一次迭代运算中前n级逻辑运算后对应的中间数据缓存一级,所述n为大于1的正整数。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,用于计算机设备中,所述方法包括:
获取待处理的数据;
根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,所述多次迭代运算的至少一次迭代运算中前n级逻辑运算后对应的中间数据缓存一级,所述n为大于1的正整数。


2.根据权利要求1所述方法,其特征在于,所述根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,包括:
在所述多次迭代运算的第i次迭代运算中,根据所述待处理的数据,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,所述i为指定次数值;
根据缓存的所述中间数据,进行下级所述迭代单元各自对应的逻辑运算和缓存,得到所述第i次迭代运算的输出数据;
其中,本次所述迭代运算的输出数据为下一次所述迭代运算的输入数据,所述多次迭代运算中的最后一次所述迭代运算的输出数据为所述哈希值。


3.根据权利要求2所述方法,其特征在于,所述方法,还包括:
在所述多次迭代运算中除所述第i次迭代运算外的每次所述迭代运算中,根据所述待处理的数据,采用所述哈希算法进行多级所述迭代单元各自对应的逻辑运算和缓存,得到本次所述迭代运算的输出数据。


4.根据权利要求2所述方法,其特征在于,所述待处理的数据为比特币的区块头,所述哈希值为所述比特币的区块头对应的消息摘要。


5.根据权利要求4所述方法,其特征在于,所述在所述多次迭代运算的第i次迭代运算中,根据所述待处理的数据,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,包括:
在所述多次迭代运算中的第2次迭代运算中,根据所述比特币的区块头的固定长度的第二数据块,采用所述哈希算法进行第1级所述迭代单元的所述n级逻辑运算得到所述中间数据,将所述中间数据进行缓存,所述n小于4。


6.根据权利要求4所述方法,其特征在于,所述比特币的区块头中的随机数包括t种取值,所述t为大于1的正整数,所述根据所述待处理的数据,采用哈希算法进行多次迭代运算得到哈希值,包括:

【专利技术属性】
技术研发人员:唐平葛维胡均浩李振中石玲宁
申请(专利权)人:紫光展锐重庆科技有限公司
类型:发明
国别省市:重庆;50

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

1