CN105631013B - 生成哈希值的装置和方法 - Google Patents

生成哈希值的装置和方法 Download PDF

Info

Publication number
CN105631013B
CN105631013B CN201511007651.4A CN201511007651A CN105631013B CN 105631013 B CN105631013 B CN 105631013B CN 201511007651 A CN201511007651 A CN 201511007651A CN 105631013 B CN105631013 B CN 105631013B
Authority
CN
China
Prior art keywords
data
data block
group
cryptographic hash
module
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
Application number
CN201511007651.4A
Other languages
English (en)
Other versions
CN105631013A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201511007651.4A priority Critical patent/CN105631013B/zh
Publication of CN105631013A publication Critical patent/CN105631013A/zh
Application granted granted Critical
Publication of CN105631013B publication Critical patent/CN105631013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种生成哈希值的装置和方法,属于计算机技术领域。所述装置包括:m个数据输入通道,m个数据分块模块,一个运算资源通道和m个数据输出通道,m是大于或等于2的整数;所述m个数据输入通道分别连接所述m个数据分块模块,一个数据输入通道连接一个数据分块模块;所述m个数据分块模块分别连接所述运算资源通道,所述运算资源通道分别连接所述m个数据输出通道。本发明实施例由于复用相同的运算资源,从而节省了运算资源的开销。

Description

生成哈希值的装置和方法
技术领域
本发明涉及计算机技术领域,特别涉及一种生成哈希值的装置和方法。
背景技术
目前,哈希算法应用在诸如计算机或者存储等众多领域中,哈希算法能够将任意长度的消息映射成一个固定长度的哈希值,并且,一个消息唯一映射出一个哈希值,即使改变该消息中的一个字符,该消息的哈希值也会发生变化,从而能够抵抗哈希碰撞。
为了提高生成哈希值的系统带宽,目前生成哈希值的装置包括m个生成哈希值的生成通道,m是大于或等于2的整数;每个生成通道包括数据输入通道,数据分块模块,运算资源通道和数据输出通道,并且,数据输入通道,数据分块模块,运算资源通道和数据输出通道依次连接;其中,运算资源通道用于存储运算资源。
数据输入通道用于接收待计算哈希值的数据,并将该数据传输给数据分块模块;数据分块模块用于对该数据进行分块,得到多个数据块,并将该多个数据块传输给运算资源通道;运算资源通道用于通过该运算资源和哈希算法,对该多个数据块进行哈希运算,得到该数据的哈希值,并将该哈希值传输给数据输出通道;数据输出通道用于将该哈希值输出。
现有技术至少存在以下问题:
现有技术中m个生成通道需要m份运算资源,从而增加了运算资源的开销。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种生成哈希值的装置和方法。技术方案如下:
第一方面,本发明实施例提供了一种生成哈希值的装置,所述装置包括:m个数据输入通道,m个数据分块模块,一个运算资源通道和m个数据输出通道,m是大于或等于2的整数;
所述m个数据输入通道分别连接所述m个数据分块模块,一个数据输入通道连接一个数据分块模块;
所述m个数据分块模块分别连接所述运算资源通道,所述运算资源通道分别连接所述m个数据输出通道;
所述m个数据输入通道,用于接收m路数据,并将所述m路数据传输给m个数据分块模块,一个数据输入通道用于接收一路数据;
所述m个数据分块模块,用于对所述m路数据进行分块处理,得到m组数据块,并将所述m组数据块传输给所述运算资源通道,一个数据分块模块用于对一路数据进行分块处理;
所述运算资源通道,用于复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,并将所述m个哈希值传输给所述m个数据输出通道,一组数据块对应一个哈希值;
所述m个数据输出通道,用于输出所述m个哈希值,一个输出通道输出一个哈希值。
在本发明实施例提供的生成哈希值的装置中,通过对时间进行分片,复用相同的第一运算资源分别计算m路数据的哈希值,从而节省了运算资源的开销。
在一种可能的设计中,所述装置还包括:第一决策模块;
所述m个数据分块模块分别连接所述第一决策模块,所述第一决策模块连接所述运算资源通道;
所述第一决策模块,用于对所述m组数据块进行排序;
所述运算资源通道,还用于根据所述m组数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值。
在一种可能的设计中,第一决策模块可以对m组数据块进行排序,将排序后的m组数据块传输给运算资源通道,从而实现有序处理,可以对该m组数据块进行有效控制。
在另一种可能的设计中,所述第一决策模块包括第一选择器和m个第一决策器;
所述m个数据分块模块分别连接所述m个第一决策器,一个数据分块模块连接一个第一决策器;
所述m个第一决策器分别连接所述第一选择器;所述第一选择器连接所述运算资源通道;
所述m个第一决策器,用于从所述m组数据块中筛选出有效数据块,得到m组有效数据块,并将所述m组有效数据块传输给所述第一选择器;
所述第一选择器,用于对所述m组有效数据块进行排序。
在另一种可能的设计中,m个第一决策器可以将从m组数据块中筛选出m组有效数据块,第一选择器可以对m组有效数据块进行排序,从而运算资源通道可以仅对有效数据块进行处理,节省了第一运算资源,同时提高了处理效率。
在另一种可能的设计中,所述装置还包括:数据寄存器;
所述第一选择器连接所述数据寄存器,所述数据寄存器连接所述运算资源通道;
所述数据寄存器用于存储排序后的m组有效数据块。
在另一种可能的设计中,第一选择器将排序后的m组有效数据块存储在数据寄存器中,运算资源通道依次从数据寄存器中读取有效数据块,并对该有效数据块进行哈希运算。从而运算资源模块每次读取数据块时,不需要进行选择,直接读取即可,从而提高了处理效率。
在另一种可能的设计中,所述运算资源通道包括计算模块和第二决策模块;
所述m个数据分块模块分别连接所述计算模块,所述计算模块连接所述第二决策模块,所述第二决策模块分别连接所述m个数据输出通道;
所述m个数据分块模块,还用于在所述m组数据块中的每组数据块的最后一个数据块中添加结束标志;
所述计算模块,还用于复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块进行哈希运算得到m个哈希值,并将所述m个哈希值传输给所述第二决策模块;
所述第二决策模块,用于从所述m路数据的哈希值中选择包括结束标志的数据块的哈希值,将所述选择的哈希值传输给数据输出通道,将所述m个哈希值中未选择的哈希值传输给所述计算模块。
在另一种可能的设计中,通过迭代哈希算法能够提高哈希值的抵抗哈希碰撞性,提高了哈希值的准确性。
在另一种可能的设计中,所述第二决策模块包括第二选择器和m个第二决策器;
所述计算模块连接所述第二选择器,所述第二选择器分别连接所述m个第二决策器;
所述m个第二决策器分别连接所述m个数据输出通道,一个第二决策器连接一个数据输出通道;
所述计算模块,还用于将所述m个哈希值传输给所述第二选择器;
所述第二选择器,用于将所述m个哈希值传输给所述m个第二决策器,一个哈希值对应一个第二决策器;
所述m个第二决策器,用于从所述m路数据的哈希值中选择包括结束标志的数据块的哈希值,将所述选择的哈希值传输给数据输出通道,将所述未选择的哈希值传输给所述计算模块。
在另一种可能的设计中,通过迭代哈希算法能够提高哈希值的抵抗哈希碰撞性,提高了哈希值的准确性。
在另一种可能的设计中,所述第二决策模块,还包括:m个哈希存储模块;
所述第二选择器分别连接所述m个哈希存储模块;
所述m个哈希存储模块分别连接所述m个第二决策器,一个哈希存储模块连接一个第二决策器;
所述m个哈希存储模块,用于存储所述未选择的哈希值。
在另一种可能的设计中,哈希存储模块用于存储未选择的哈希值,从而计算模块可以从哈希存储模块中读取未选择的哈希值,从而根据未选择的哈希值,计算数据块的哈希值,提高了哈希值的准确性。
在另一种可能的设计中,所述计算模块包括n级计算单元,n是大于或等于2的整数;
所述n级计算单元,用于复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块中的每个数据块进行哈希运算。
在另一种可能的设计中,通过n级计算单元,可以提高系统带宽。
在另一种可能的设计中,所述装置还包括:哈希寄存器;
所述运算资源通道连接所述哈希寄存器,所述哈希寄存器分别连接所述m个数据输出通道;
所述哈希寄存器用于存储所述m路数据的哈希值。
在另一种可能的设计中,哈希寄存器用于存储m组数据块中的每个数据块的哈希值,从而暂存该哈希值能够实现对该哈希值的有效控制。
在另一种可能的设计中,所述装置还包括:m个数据存储模块;
所述m个数据分块模块分别连接所述m个数据存储模块,一个数据分块模块连接一个数据存储模块;
所述m个数据存储模块分别连接所述运算资源通道;
所述m个数据存储模块,用于存储所述m组数据块。
在另一种可能的设计中,数据存储模块用于存储数据分块模块传输的该组数据块,还用于该组数据块的运算指令,该运算指令可以为开始、暂停和/或结束等指令。从而可以实现对每路数据进行独立控制。
在另一种可能的设计中,所述装置还包括:随路计算通道;
所述m个数据分块模块分别连接所述随路计算通道,所述随路计算通道分别连接所述m个数据输出通道;
所述m个数据分块模块,还用于将所述m组数据块传输给所述随路计算通道;
所述随路计算通道,用于复用相同的第二运算资源对所述m组数据块进行随路运算,得到m个随路值,并将所述m个随路值传输给所述m个数据输出通道,一组数据块对应一个随路值;
所述m个数据输出通道,还用于将所述m个哈希值和随路值组合为m个组合结果,输出所述m个组合结果。
在另一种可能的设计中,可以将该运算资源通道和随路计算通道进行结合,扩大了应用范围。
第二方面,本发明实施例提供了一种生成哈希值的方法,所述方法包括:
接收m路数据,并对所述m路数据进行分块,得到m组数据块,m是大于或等于2的整数;
复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,一组数据块对应一个哈希值;
输出所述m个哈希值。
在一种可能的设计中,所述复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,包括:
对所述m组数据块进行排序;
根据所述m组数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值。
在另一种可能的设计中,所述对所述m组数据块进行排序,包括:
从所述m组数据块中筛选出有效数据块,得到m组有效数据块;
对所述m组有效数据块进行排序。
在另一种可能的设计中,所述对所述m路数据进行分块,得到m组数据块,包括:
根据分块粒度,对所述m路数据进行分块得到m组数据块;
在所述m组数据块中的每组数据块的最后一个数据块中添加结束标志;
所述复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,包括:
复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块中的每个数据块进行哈希运算,得到每个数据块的哈希值;
从所述每个数据块的哈希值中选择m个包括结束标志的数据块的哈希值。
在另一种可能的设计中,所述方法还包括:
复用相同的第二运算资源对所述m组数据块进行随路运算,得到m个随路值,一组数据块对应一个随路值;
所述输出所述m路数据的哈希值,包括:
将所述m个哈希值和随路值组合为m个组合结果,输出所述m个组合结果。
第三方面,本发明实施例提供了一种生成哈希值的装置,所述装置包括:接收器,处理器和发送器;
所述接收器,用于接收m路数据,m是大于或等于2的整数;
所述处理器,用于对所述m路数据进行分块,得到m组数据块;
所述处理器,还用于复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,一组数据块对应一个哈希值;
所述发送器,用于输出所述m个哈希值。
在一种可能的设计中,所述处理器,还用于对所述m组数据块进行排序;根据所述m组数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值。
在另一种可能的设计中,所述处理器,还用于从所述m组数据块中筛选出有效数据块,得到m组有效数据块;对所述m组有效数据块进行排序。
在另一种可能的设计中,所述处理器,还用于根据分块粒度,对所述m路数据进行分块得到m组数据块;在所述m组数据块中的每组数据块的最后一个数据块中添加结束标志;
所述处理器,还用于复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块中的每个数据块进行哈希运算,得到每个数据块的哈希值;从所述每个数据块的哈希值中选择m个包括结束标志的数据块的哈希值。
在另一种可能的设计中,所述处理器,还用于复用相同的第二运算资源对所述m组数据块进行随路运算,得到m个随路值,一组数据块对应一个随路值;
所述发送器,还用于将所述m个哈希值和随路值组合为m个组合结果,输出所述m个组合结果。
附图说明
图1是本发明实施例提供的一种生成哈希值的装置结构示意图;
图2-1是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-2是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-3是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-4是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-5是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-6是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-7是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-8是本发明实施例提供的一种计算模块的装置结构示意图;
图2-9是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-10是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图2-11是本发明实施例提供的另一种生成哈希值的装置结构示意图;
图3是本发明实施例提供的一种生成哈希值的方法流程图;
图4是本发明实施例提供的另一种生成哈希值的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,图1是本发明实施例提供的一种生成哈希值的装置结构示意图,生成哈希值的装置可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上接收器101、处理器102和发送器103;
该接收器101可以用于执行接收m路数据,m是大于或等于2的整数。
该处理器102可以用于执行该m路数据进行分块,得到m组数据块。
该处理器102还可以用于执行复用相同的第一运算资源对该m组数据块进行哈希运算得到m个哈希值,一组数据块对应一个哈希值。
该发送器103可以用于执行输出该m个哈希值。
可选的,生成哈希值的装置除了包括上述接收器101,处理器102和发送器103外,还可以包括其他部件。例如,还可以包括存储器104,一个或一个以上存储应用程序105或数据106的存储介质107(例如一个或一个以上海量存储设备)。其中,存储器104和存储介质107可以是短暂存储或持久存储。存储在存储介质107的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括发送控制信号的装置中的一系列指令操作。更进一步地,处理器102可以设置为与存储介质107通信,在生成哈希值的装置上执行存储介质107中的一系列指令操作。
生成哈希值的装置还可以包括一个或一个以上电源108,一个或一个以上有线或无线网络接口109,一个或一个以上输入输出接口110,一个或一个以上键盘110,和/或,一个或一个以上操作系统111,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
可选的,该处理器102,还用于对该m组数据块进行排序;根据该m组数据块的顺序,复用相同的第一运算资源对该m组数据块进行哈希运算得到m个哈希值。
可选的,该处理器102,还用于用于从该m组数据块中筛选出有效数据块,得到m组有效数据块;对该m组有效数据块进行排序。
该处理器102,还用于根据分块粒度,对该m路数据进行分块得到m组数据块;在该m组数据块中的每组数据块的最后一个数据块中添加结束标志;
该处理器102,还用于复用相同的第一运算资源,通过迭代哈希算法对该m组数据块中的每个数据块进行哈希运算,得到每个数据块的哈希值;从每个数据块的哈希值中选择m个包括结束标志的数据块的哈希值。
所述处理器102,还用于复用相同的第二运算资源对该m组数据块进行随路运算,得到m个随路值,一组数据块对应一个随路值;
所述发送器103,还用于将该m个哈希值和随路值组合为m个组合结果,输出该m个组合结果。
在本发明实施例中,通过对时间进行分片,复用相同的第一运算资源分别计算m路数据的哈希值,从而节省了运算资源的开销。
参见图2-1,本发明实施例提供了一种生成哈希值的装置,该装置包括:m个数据输入通道201,m个数据分块模块202,一个运算资源通道203和m个数据输出通道204,m是大于或等于2的整数;
m个数据输入通道201分别连接m个数据分块模块202,一个数据输入通道201连接一个数据分块模块202;
m个数据分块模块202分别连接运算资源通道203,运算资源通道203分别连接m个数据输出通道204。
m个数据输入通道201,用于接收m路数据,并将该m路数据传输给m个数据分块模块202。
一个数据输入通道201连接一个数据分块模块202,该数据输入通道201用于接收一路数据,并将该路数据传输给与该数据输入通道201连接的该数据分块模块202。
m个数据分块模块202,用于对该m路数据进行分块处理,得到m组数据块,并将该m组数据块传输给该运算资源通道203。
一个数据分块模块202用于接收与该数据分块模块202连接的数据输入通道201传输的该路数据,并对该路数据进行分块处理,得到一组数据块,从而m个数据分块模块202可以得到m组数据块。
数据分块模块202按照分块粒度,对该路数据进行分块处理,得到一组数据块,该组数据块中的每个数据块的大小不大于该分块粒度,当然,每个数据块的大小也可以都等于该分块粒度。
数据输入通道201将该路数据传输给数据分块模块202时,以数据流的形式进行传输,则数据分块模块202接收数据输入通道201传输的数据流,对该数据流进行分块处理,得到一组数据流。
数据分块模块202对该数据流进行分块处理,得到一组数据流的过程可以为:
数据分块模块202确定该数据流是否为该数据的最后1Byte数据,如果该数据流不是该数据的最后1Byte数据,根据该分块粒度对该数据流进行分块处理,并继续接收该数据的数据流。
如果该数据流是该数据的最后1Byte数据,确定该数据流大小是否等于该分块粒度;如果该数据流等于该分块粒度,将该数据流作为一个数据块,并在该数据流中添加结束标志。如果该数据流小于该分块粒度,在该数据流的末尾添加有效字段,使得该数据流的大小等于该分块粒度,将添加有效字段的该数据流作为一个数据块,并在该数据块中添加结束标志。
分块粒度可以根据需要进行设置并更改,在本发明实施例中,对分块粒度不作具体限定;例如,分块粒度可以为128bit。
运算资源通道203,用于复用相同的第一运算资源对该m组数据块进行哈希运算得到m个哈希值,并将该m个哈希值传输给该m个数据输出通道,一组数据块对应一个哈希值;
该m个数据输出通道204,用于输出该m个哈希值,一个输出通道输出一个哈希值。
运算资源通道203用于存储运算资源,接收m个数据分块模块202传输的m组数据块,通过该运算资源依次对该m组数据块进行哈希运算,得到m路数据中的每路数据的哈希值。
需要说明的是,运算资源至少包括32bit大素数乘法,还可以包括大量的循环移位,连续加法和异或算法等。并且,一个数据输入通道201对应一个数据分块模块202,一个数据分块模块202对应一个数据输出通道204。
需要说明的是,运算资源通道203依次对该m组数据块进行哈希运算时,是一组一组进行计算的,并且采用迭代哈希算法进行计算。
例如,将待计算哈希值的数据划分为3个数据块,分别为数据块1,数据块2和数据块3,运算资源通道203通过该相同的运算资源对数据块1进行哈希运算,得到数据块1的哈希值,将数据块1的哈希值作为数据块2的输入数据,也即通过该相同的运算资源,对数据块2和数据块1的哈希值进行哈希运算,得到数据块2的哈希值,将数据块2的哈希值作为数据块3的输入数据,也即通过该相同的运算资源,对数据块3和数据块2的哈希值进行哈希运算,得到数据块3的哈希值,将数据块3的哈希值确定为该数据的哈希值。
运算资源通道203还用于存储初始种子,初始种子可以任意值,例如,初始种子可以为0或者1等。
则运算资源通道203,还用于通过该初始种子和该运算资源,对该m组数据块进行哈希运算,得到m路数据中的每路数据的哈希值。
运算资源通道203还用于将m路数据中的每路数据的哈希值传输给m个数据输出通道204。
m个数据输出通道204中的每个数据输出通道204用于接收运算资源通道203传输的哈希值,输出该哈希值。
例如,第一数据输入通道201对应第一数据分块模块202,第一数据分块模块202对应第一数据输出通道204,则第一数据输入通道201接收一路数据,将该路数据传输给第一数据分块模块2021,第一数据分块模块2021对该路数据进行分块处理,得到一组数据块,将该组数据块传输给运算资源通道203;运算资源通道203接收第一数据分块模块202传输的该组数据块,对该组数据块进行哈希运算,得到该路数据的哈希值,将该哈希值输出给数据输出通道2041,数据输出通道2041输出该路数据的哈希值。
本发明实施例中,通过对时间进行分片,复用相同的运算资源可以节省运算资源的开销。
参见图2-2,该装置还包括:第一决策模块205;
m个数据分块模块202分别连接第一决策模块205,第一决策模块205连接运算资源通道203。
m个数据分块模块202中的每个数据分块模块202,还用于将该组数据块传输给第一决策模块205。
第一决策模块205用于接收m个数据分块模块202传输的m组数据块,对该m组数据块进行排序,将排序后的m组数据块依次传输给运算资源通道203。
第一决策模块205还用于根据接收该m组数据块的接收时间,对该m组数据块进行进行排序,或者根据该m组数据块的优先级别,对该m组数据块进行进行排序。
运算资源通道203,还用于依次接收第一决策模块205传输的m组数据块,根据接收该m组数据块的顺序,依次对该m组数据块进行哈希运算,得到m路数据中的每路数据的哈希值。
参见图2-3,第一决策模块205包括第一选择器2051和m个第一决策器2052;
m个数据分块模块202分别连接m个第一决策器2052,一个数据分块模块202对应一个第一决策器2052;m个第一决策器2052分别连接第一选择器2051;第一选择器2051连接运算资源通道203。
第一决策器2052可以为有效数据判决器,用于筛选该组数据块中的有效数据块。第一选择器2051可以为多路数据选择器,用于对m组有效数据块进行排序。
m个第一决策器2052,用于从该m组数据块中筛选出有效数据块,得到m组有效数据块,并将该m组有效数据块传输给第一选择器2051。
m个数据分块模块202中的每个数据分块模块202,还用于将该组数据块传输给与其连接的第一决策器2052,第一决策器2052,用于根据筛选规则,从该组数据块中筛选出有效数据块,将该组数据块中的无效数据丢弃,得到该组有效数据块。
第一决策器2052,还用于将该组有效数据块传输给第一选择器2051。
第一选择器2051,用于接收m个第一决策器2052传输的m组有效数据块,并对m组有效数据块进行排序,将排序后的m组有效数据块传输给运算资源通道203。
运算资源通道203还用于接收第一选择器2051传输的排序后的m组有效数据块,根据排序后的m组有效数据块,复用相同的第一运算资源依次对该m组数据块进行哈希运算,得到m路数据中的每路数据的哈希值。
由于运算资源通道203每次只能处理一组数据块中的一个有效数据块,为了保证不串组,参见图2-4,该装置还包括:数据寄存器206;
第一选择器2051连接数据寄存器206,数据寄存器206连接运算资源通道203。
第一选择器2051,还用于将排序后的m组有效数据块存储在数据寄存器206中。
运算资源通道203,还用于依次从数据寄存器206中读取有效数据块,并对该有效数据块进行哈希运算。
为了减少数据寄存器206的存储空间,第一选择器2051可以不将排序后的m组有效数据块全部存储在数据寄存器206中,而是每次只向数据寄存器206中存储一组有效数据块,则第一选择器2051,还用于从排序后的有效数据块中选择一组排在最前方的数据块,将选择的一组数据块存储在数据寄存器206中。
第一选择器2051,还用于实时检测数据寄存器206中是否存在有效数据块,如果不存在,重新从排序后的有效数据块中选择一组排在最前方的数据块,将选择的一组数据块存储在数据寄存器206中。
由于该哈希算法为迭代哈希算法,也即一组数据块只输出一个哈希值,因此,参见图2-5,该运算资源通道包括计算模块2031和第二决策模块2032。
m个数据分块模块202分别连接计算模块2031,计算模块2031连接第二决策模块2032,第二决策模块2032分别连接m个数据输出通道204;
m个数据分块模块202,还用于在m组数据块中的每组数据块的最后一个数据块中添加结束标志;
计算模块2031,还用于复用相同的第一运算资源,通过迭代哈希算法对该m组数据块进行哈希运算得到m个哈希值,并将m个哈希值传输给第二决策模块2032;
第二决策模块2032,用于从该m路数据的哈希值中选择包括结束标志的数据块的哈希值,将选择的哈希值传输给数据输出通道204,将m个哈希值中未选择的哈希值传输给计算模块2031。
计算模块2031,还用于接收第二决策模块2032传输的未选择的哈希值,根据该未选择的哈希值,计算下一个数据块的哈希值,直到计算出包括结束标志的数据块的哈希值。
参见图2-6,第二决策模块2032包括第二选择器20321和m个第二决策器20322;
计算模块2031连接第二选择器20321,第二选择器20321分别连接m个第二决策器20322;
m个第二决策器20322分别连接m个数据输出通道204,一个第二决策器20322连接一个数据输出通道204。
第二选择器20321可以为多路数据选择器,用于将该数据块的哈希值传输给该数据对应的数据输出通道204。
计算模块2031,还用于将该m个哈希值传输给第二选择器20321;
第二选择器20321,用于将该m个哈希值传输给m个第二决策器20322,一个哈希值对应一个第二决策器;
m个第二决策器20322,用于从该m路数据的哈希值中选择包括结束标志的数据块的哈希值,将选择的哈希值传输给数据输出通道204,将未选择的哈希值传输给计算模块2031。
计算模块2031,还用于接收第二决策器20322传输的未选择的哈希值,根据该未选择的哈希值,计算下一个数据块的哈希值,直到计算出包括结束标志的数据块的哈希值。
参见图2-7,第二决策模块2032还包括:m个哈希存储模块20323;
第二选择器20321分别连接m个哈希存储模块20323;
m个哈希存储模块20323分别连接m个第二决策器20322,一个哈希存储模块连接一个第二决策器;
m个哈希存储模块20323,用于存储未选择的哈希值。
m个哈希存储模块20323,用于存储未选择的哈希值。
参见图2-8,该计算模块2031包括n级计算单元,n是大于或等于2的整数。
n级计算单元,用于复用相同的第一运算资源,通过迭代哈希算法对该m组数据块中的每个数据块进行哈希运算。
n可以根据需要进行设置并更改,在本发明实施例中,对n不作具体限定。
例如,不同的逻辑芯片内部的资源和功能有不同,为了达到期望的Fmax时钟最高频率,需要利用step分段来打断关键路径。一般型号越新,价格越高的芯片资源和功能更强,所需要的step数量n越小。
再如,当该运算资源通道203为了适配随路计算通道211而设计的,则n需要根据系统要求的通道数量进行设置;当系统要求的通道数量为Nt时,n等于Nt或者Nt可以被n整除。
再如,当该运算资源通道203没有并发数和系统要求的通道数量的限制时,为了获得更大的合并带宽和较好的单通道带宽,n可以为1。
通过复用相同的运算资源不仅能够节省运算资源开销,还能够增大系统带宽,具体论证如下:
运算资源通道203的逻辑最高频率与时间分片个数正相关,也即Fmax∝Ncycle
单通道带宽则合并带宽为
其中,Fmax为逻辑最高频率,Ncycle为时间分片个数;Bsingle为单通道带宽,M为4k的倍数。
参见图2-9,该装置还包括:哈希寄存器207
运算资源通道203连接哈希寄存器207,哈希寄存器207分别连接m个数据输出通道204;
哈希寄存器207用于存储m路数据的哈希值。
参见图2-10,该装置还包括:m个数据存储模块208;
m个数据分块模块202分别连接m个数据存储模块208,一个数据分块模块202对应一个数据存储模块208;
m个数据存储模块208分别连接运算资源通道203。
m个数据分块模块202将m路数据进行分块处理,得到m组数据块之后,还用于将该m组数据块传输给数据存储模块208。数据存储模块208用于接收m个数据分块模块,存储该m组数据块。
数据存储模块208,还用于该组数据块的运算指令,该运算指令可以为开始、暂停和/或结束等指令。
当该运算指令为开始指令时,将该组数据块传输到运算资源通道203;当该运算指令为暂停指令时,对该组数据块进行暂停处理;当该运算指令为结束指令时,表示该组数据块已处理完成,通知数据输入通道201重新接收一路数据。
在本发明实施例中,可以将运算资源通道203与其他运算通道组进行组合,其他运算通道称为随路计算通道209,则参见图2-11,该装置还包括:随路计算通道209;
m个数据分块模块202分别连接随路计算通道209,随路计算通道209分别连接m个数据输出通道204;
m个数据分块模块202,还用于将m组数据块传输给随路计算通道209;
随路计算通道209,用于复用相同的第二运算资源对该m组数据块进行随路运算,得到m路数据的随路值,并将该m路数据的随路值传输给m个数据输出通道;
m个数据输出通道204,还用于将m路数据的哈希值和随路值组合为m路数据的组合结果,输出m路数据的组合结果。
一个组合结果包括一个哈希值和一个随路值。
进一步地,如果运算资源通道203的计算复杂度小于随路计算通道209的计算复杂度,则运算资源通道203优先计算出该数据块的哈希值,该哈希值并不能直接输出或者马上将该哈希值用于计算该数据块的下一个数据块的哈希值,而是要等到随路计算通道209计算出该数据块的随路值之后,将该哈希值和该随路值进行拟合,得到组合结果,输出该组合结果或者将该组合结果用于计算该数据块的下一个数据块的哈希值。
当然,如果运算资源通道203的计算复杂度大于随路计算通道209的计算复杂度,则随路计算通道209优先计算出该数据块的随路值,该随路值并不能直接输出或者马上将该随路值用于计算该数据块的下一个数据块的随路值,而是要等到运算资源通道203计算出该数据块的哈希值之后,将该哈希值和该随路值进行拟合,得到组合结果,输出该组合结果或者将该组合结果用于计算该数据块的下一个数据块的哈希值。
在本发明实施例中,通过对时间进行分片,复用相同的第一运算资源分别计算m路数据的哈希值,从而节省了运算资源的开销。
本发明实施例提供了一种生成哈希值的方法,该方法的执行主体可以为以上生成哈希值的装置,参见图3,其中,该方法包括:
步骤301:接收m路数据,并对该m路数据进行分块,得到m组数据块,m是大于或等于2的整数。
步骤302:复用相同的第一运算资源对该m组数据块进行哈希运算得到m个哈希值,一组数据块对应一个哈希值。
步骤303:输出该m个哈希值。
在本发明实施例中,通过对时间进行分片,复用相同的第一运算资源分别计算m路数据的哈希值,从而节省了运算资源的开销。
本发明实施例提供了一种生成哈希值的方法,该方法的执行主体可以为以上生成哈希值的装置,参见图4,其中,该方法包括:
步骤401:接收m路数据,并对该m路数据进行分块,得到m组数据块,m是大于或等于2的整数。
通过m个数据输入通道接收m路数据,通过m个数据分块模块对该m路数据进行分块处理,得到m组数据块。
其中,通过m个数据分块模块对该m路数据进行分块处理,得到m组数据块的步骤可以为:
根据分块粒度,对该m路数据进行分块得到m组数据块;在该m组数据块中的每组数据块的最后一个数据块中添加结束标志。
步骤402:从该m组数据块中筛选出有效数据块,得到m组有效数据块。
通过上述m个第一决策器从该m组数据块中的每组数据块中筛选出有效数据块,得到m组有效数据块。
步骤403:对该m组有效数据块进行排序。
通过第一选择器对该m组有效数据进行排序,将排序后的m组有效数据传输给运算资源通道。
步骤404:根据该m组有效数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值。
具体地,根据该m组有效数据块的顺序,复用相同的第一运算资源,通过迭代哈希算法对该m组数据块中的每个数据块进行哈希运算,得到每个数据块的哈希值;从每个数据块的哈希值中选择m个包括结束标志的数据块的哈希值。
步骤405:输出该m个哈希值。
如果不需要计算随路值,则可以直接输出该m个哈希值;如果需要计算随路值,则本步骤之前还包括:
复用相同的第二运算资源对该m组数据块进行随路运算,得到m个随路值,一组数据块对应一个随路值;
相应的,本步骤可以为:
将该m路数据的哈希值和随路值组合为m路数据的组合结果,输出该m路数据的组合结果。
在本发明实施例中,通过对时间进行分片,复用相同的第一运算资源分别计算m路数据的哈希值,从而节省了运算资源的开销。
需要说明的是:上述实施例提供的生成哈希值的装置在生成哈希值时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的生成哈希值的装置与生成哈希值的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种生成哈希值的装置,其特征在于,所述装置包括:m个数据输入通道,m个数据分块模块,一个运算资源通道和m个数据输出通道,m是大于或等于2的整数;
所述m个数据输入通道分别连接所述m个数据分块模块,一个数据输入通道连接一个数据分块模块;
所述m个数据分块模块分别连接所述运算资源通道,所述运算资源通道分别连接所述m个数据输出通道;
所述m个数据输入通道,用于接收m路数据,并将所述m路数据传输给m个数据输出通道,一个数据输入通道用于接收一路数据;
所述m个数据分块模块,用于对所述m路数据进行分块处理,得到m组数据块,并将所述m组数据块传输给所述运算资源通道,一个数据分块模块用于对一路数据进行分块处理;
所述运算资源通道,用于复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,并将所述m个哈希值传输给所述m个数据输出通道,一组数据块对应一个哈希值;
所述m个数据输出通道,用于输出所述m个哈希值,一个输出通道输出一个哈希值;
其中,所述运算资源通道包括计算模块和第二决策模块;
所述m个数据分块模块分别连接所述计算模块,所述计算模块连接所述第二决策模块,所述第二决策模块分别连接所述m个数据输出通道;
所述m个数据分块模块,还用于在所述m组数据块中的每组数据块的最后一个数据块中添加结束标志;
所述计算模块,还用于复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块进行哈希运算得到m个哈希值,并将所述m个哈希值传输给所述第二决策模块;
所述第二决策模块,用于从所述m路数据的哈希值中选择包括结束标志的数据块的哈希值,将所述选择的哈希值传输给数据输出通道,将所述m个哈希值中未选择的哈希值传输给所述计算模块。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括:第一决策模块;
所述m个数据分块模块分别连接所述第一决策模块,所述第一决策模块连接所述运算资源通道;
所述第一决策模块,用于对所述m组数据块进行排序;
所述运算资源通道,还用于根据所述m组数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值。
3.根据权利要求2所述的装置,其特征在于,所述第一决策模块包括第一选择器和m个第一决策器;
所述m个数据分块模块分别连接所述m个第一决策器,一个数据分块模块连接一个第一决策器;
所述m个第一决策器分别连接所述第一选择器;所述第一选择器连接所述运算资源通道;
所述m个第一决策器,用于从所述m组数据块中筛选出有效数据块,得到m组有效数据块,并将所述m组有效数据块传输给所述第一选择器;
所述第一选择器,用于对所述m组有效数据块进行排序。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:数据寄存器;
所述第一选择器连接所述数据寄存器,所述数据寄存器连接所述运算资源通道;
所述数据寄存器用于存储排序后的m组有效数据块。
5.根据权利要求1所述的装置,其特征在于,所述第二决策模块包括第二选择器和m个第二决策器;
所述计算模块连接所述第二选择器,所述第二选择器分别连接所述m个第二决策器;
所述m个第二决策器分别连接所述m个数据输出通道,一个第二决策器连接一个数据输出通道;
所述计算模块,还用于将所述m个哈希值传输给所述第二选择器;
所述第二选择器,用于将所述m个哈希值传输给所述m个第二决策器,一个哈希值对应一个第二决策器;
所述m个第二决策器,用于从所述m路数据的哈希值中选择包括结束标志的数据块的哈希值,将所述选择的哈希值传输给数据输出通道,将所述未选择的哈希值传输给所述计算模块。
6.根据权利要求5所述的装置,其特征在于,所述第二决策模块,还包括:m个哈希存储模块;
所述第二选择器分别连接所述m个哈希存储模块;
所述m个哈希存储模块分别连接所述m个第二决策器,一个哈希存储模块连接一个第二决策器;
所述m个哈希存储模块,用于存储所述未选择的哈希值。
7.根据权利要求1所述的装置,其特征在于,所述计算模块包括n级计算单元,n是大于或等于2的整数;
所述n级计算单元,用于复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块中的每个数据块进行哈希运算。
8.根据权利要求1所述的装置,其特征在于,所述装置还包括:哈希寄存器;
所述运算资源通道连接所述哈希寄存器,所述哈希寄存器分别连接所述m个数据输出通道;
所述哈希寄存器用于存储所述m路数据的哈希值。
9.根据权利要求1所述的装置,其特征在于,所述装置还包括:m个数据存储模块;
所述m个数据分块模块分别连接所述m个数据存储模块,一个数据分块模块连接一个数据存储模块;
所述m个数据存储模块分别连接所述运算资源通道;
所述m个数据存储模块,用于存储所述m组数据块。
10.根据权利要求1所述的装置,其特征在于,所述装置还包括:随路计算通道;
所述m个数据分块模块分别连接所述随路计算通道,所述随路计算通道分别连接所述m个数据输出通道;
所述m个数据分块模块,还用于将所述m组数据块传输给所述随路计算通道;
所述随路计算通道,用于复用相同的第二运算资源对所述m组数据块进行随路运算,得到m个随路值,并将所述m个随路值传输给所述m个数据输出通道,一组数据块对应一个随路值;
所述m个数据输出通道,还用于将所述m个哈希值和随路值组合为m个组合结果,输出所述m个组合结果。
11.一种生成哈希值的方法,其特征在于,所述方法包括:
接收m路数据,并对所述m路数据进行分块,得到m组数据块,m是大于或等于2的整数;
复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,一组数据块对应一个哈希值;
输出所述m个哈希值;
其中,所述复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,包括:
对所述m组数据块进行排序;
根据所述m组数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值;
其中,所述对所述m路数据进行分块,得到m组数据块,包括:
根据分块粒度,对所述m路数据进行分块得到m组数据块;
在所述m组数据块中的每组数据块的最后一个数据块中添加结束标志;
所述复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,包括:
复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块中的每个数据块进行哈希运算,得到每个数据块的哈希值;
从所述每个数据块的哈希值中选择m个包括结束标志的数据块的哈希值。
12.根据权利要求11所述的方法,其特征在于,所述对所述m组数据块进行排序,包括:
从所述m组数据块中筛选出有效数据块,得到m组有效数据块;
对所述m组有效数据块进行排序。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
复用相同的第二运算资源对所述m组数据块进行随路运算,得到m个随路值,一组数据块对应一个随路值;
所述输出所述m路数据的哈希值,包括:
将所述m个哈希值和随路值组合为m个组合结果,输出所述m个组合结果。
14.一种生成哈希值的装置,其特征在于,所述装置包括:接收器,处理器和发送器;
所述接收器,用于接收m路数据,m是大于或等于2的整数;
所述处理器,用于对所述m路数据进行分块,得到m组数据块;
所述处理器,还用于复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值,一组数据块对应一个哈希值;
所述发送器,用于输出所述m个哈希值;
所述处理器,还用于根据分块粒度,对所述m路数据进行分块得到m组数据块;在所述m组数据块中的每组数据块的最后一个数据块中添加结束标志;
所述处理器,还用于复用相同的第一运算资源,通过迭代哈希算法对所述m组数据块中的每个数据块进行哈希运算,得到每个数据块的哈希值;从所述每个数据块的哈希值中选择m个包括结束标志的数据块的哈希值。
15.根据权利要求14所述的装置,其特征在于,
所述处理器,还用于对所述m组数据块进行排序;根据所述m组数据块的顺序,复用相同的第一运算资源对所述m组数据块进行哈希运算得到m个哈希值。
16.根据权利要求15所述的装置,其特征在于,
所述处理器,还用于从所述m组数据块中筛选出有效数据块,得到m组有效数据块;对所述m组有效数据块进行排序。
17.根据权利要求14所述的装置,其特征在于,
所述处理器,还用于复用相同的第二运算资源对所述m组数据块进行随路运算,得到m个随路值,一组数据块对应一个随路值;
所述发送器,还用于将所述m个哈希值和随路值组合为m个组合结果,输出所述m个组合结果。
CN201511007651.4A 2015-12-29 2015-12-29 生成哈希值的装置和方法 Active CN105631013B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511007651.4A CN105631013B (zh) 2015-12-29 2015-12-29 生成哈希值的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511007651.4A CN105631013B (zh) 2015-12-29 2015-12-29 生成哈希值的装置和方法

Publications (2)

Publication Number Publication Date
CN105631013A CN105631013A (zh) 2016-06-01
CN105631013B true CN105631013B (zh) 2019-06-28

Family

ID=56045946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511007651.4A Active CN105631013B (zh) 2015-12-29 2015-12-29 生成哈希值的装置和方法

Country Status (1)

Country Link
CN (1) CN105631013B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110419036B (zh) * 2016-09-30 2022-04-12 华为技术有限公司 数据压缩方法、设备与计算设备
CN109905228B (zh) * 2017-12-07 2023-07-25 北京智云芯科技有限公司 一种实现哈希运算的专用计算电路
CN108090358B (zh) * 2017-12-28 2021-07-20 哈尔滨安天科技集团股份有限公司 一种防御哈希碰撞躲避反病毒检测的方法及系统
CN108768656B (zh) * 2018-04-17 2021-04-06 无锡科技职业学院 一种基于哈希算法的数据校验方法
CN110633154B (zh) * 2019-09-06 2020-10-02 中国科学院近代物理研究所 一种数据全排序方法及系统
CN114401461B (zh) * 2022-03-22 2022-06-14 深圳市讯禾实业有限公司 基于物联网技术多路数据采集及存储系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978151A (zh) * 2015-06-19 2015-10-14 浪潮电子信息产业股份有限公司 基于应用感知的重复数据删除存储系统中的数据重构方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083491A1 (en) * 2004-05-27 2007-04-12 Silverbrook Research Pty Ltd Storage of key in non-volatile memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978151A (zh) * 2015-06-19 2015-10-14 浪潮电子信息产业股份有限公司 基于应用感知的重复数据删除存储系统中的数据重构方法

Also Published As

Publication number Publication date
CN105631013A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105631013B (zh) 生成哈希值的装置和方法
CN108363615B (zh) 用于可重构处理系统的任务分配方法和系统
WO2018176385A1 (en) System and method for network slicing for service-oriented networks
US20150199216A1 (en) Scheduling and execution of tasks
US20050038984A1 (en) Internal synchronization control for adaptive integrated circuitry
CN102204183A (zh) 报文保序处理方法、保序协处理器和网络设备
CN105009540A (zh) 一种加扰方法及加扰装置
CN104023408A (zh) 调度器及其基于网络多路径并行传输的数据调度方法
CN110380988A (zh) 用于针对网络分组处理的功率感知的调度的技术
CN110058843A (zh) 伪随机数的生成方法、装置和服务器
KR20130097973A (ko) 작업 부하를 고려한 하드웨어 가속화 기반의 대규모 데이터의 분산 처리 장치 및 방법
CN105335211A (zh) 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法
CN112637080A (zh) 一种基于fpga的负载均衡处理系统
CN106293947B (zh) 虚拟化云环境下gpu-cpu混合资源分配系统和方法
CN106656103B (zh) 一种fir滤波器组及滤波方法
CN105207954A (zh) 发送数据包和吞吐量测试方法及装置
Visconti et al. FPGA based technical solutions for high throughput data processing and encryption for 5G communication: A review
CN109800074A (zh) 任务数据并发执行方法、装置以及电子设备
CN109240979A (zh) 数据处理芯片及led显示系统
US11388110B2 (en) Centralized scheduling apparatus and method considering non-uniform traffic
Makni et al. Heterogeneous multi-core architecture for a 4G communication in high-speed railway
CN106954264B (zh) 一种下行物理共享信道pdsch的资源映射方法及系统
WO2012149775A1 (zh) 数据处理的方法和装置
WO2017054514A1 (zh) 导频的配置方法及装置
US20230004787A1 (en) Distributed Deep Learning System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220908

Address after: No.1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan, 611730

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.