CN113760197B - 基于equihash算法的数据存储方法、装置及系统 - Google Patents

基于equihash算法的数据存储方法、装置及系统 Download PDF

Info

Publication number
CN113760197B
CN113760197B CN202111294883.8A CN202111294883A CN113760197B CN 113760197 B CN113760197 B CN 113760197B CN 202111294883 A CN202111294883 A CN 202111294883A CN 113760197 B CN113760197 B CN 113760197B
Authority
CN
China
Prior art keywords
round
data
memory
processed
index sequence
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
CN202111294883.8A
Other languages
English (en)
Other versions
CN113760197A (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.)
Shenglong Singapore Pte Ltd
Original Assignee
Sunlune Technology Beijing 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 Sunlune Technology Beijing Co Ltd filed Critical Sunlune Technology Beijing Co Ltd
Priority to CN202111294883.8A priority Critical patent/CN113760197B/zh
Publication of CN113760197A publication Critical patent/CN113760197A/zh
Application granted granted Critical
Publication of CN113760197B publication Critical patent/CN113760197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于equihash算法的数据存储方法、装置及系统,所述方法包括:第k轮对第k‑1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k‑1轮的所述索引序号依次排列;对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号;基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据;将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据。本发明的技术方案,大大地节省了存储空间。

Description

基于equihash算法的数据存储方法、装置及系统
技术领域
本发明属于互联网技术领域,尤其涉及一种基于equihash算法的数据存储方法、装置及系统。
背景技术
Equihash是一种以内存为导向的工作证明算法;equihash利用Blake 2B算法(blake2B算法是一个哈希函数,blake2B是blake的64位版本,它可以生成最高512位的任意长度哈希)产生2百万个200比特的原始数据。这些原始数据,经过多轮的一定规则的异或碰撞计算,找到相互异或为0的512个200bit数据;如果这512个数据中不存在重复的数据,则认为找到一组解;每轮异或碰撞后要存储的数据的位宽不同,第一轮数据位宽最大,最后一轮数据位宽最小;每轮存储数据的同时,数据相关的编号也需要存储,用于回溯equihash解的512个原始数据。
但是,现有的方法存在存储的数据量很大、存储成本高的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于equihash算法的数据存储方法、装置及系统。
为了解决上述技术问题,本发明的实施例提供如下技术方案:
一种基于equihash算法的数据存储方法,包括:
第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1;
对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号;
基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据;将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据。
可选的,还包括:
获取多个200比特的原始数据,每个所述200比特的原始数据匹配有原始索引序号;
基于N比特,对多个所述200比特的原始数据进行分类,获取多个(200-N)比特的第一轮待处理数据,N为分类比特数;
将所述第一轮待处理数据以及原始索引序号存储至第一存储器,获取第零轮存储数据。
可选的,第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1,包括:
当k=2n+1时,对第2n轮存储数据进行读取,获取多个(200-N*(2n+1))比特的第2n+1轮待处理数据以及匹配的第2n+1轮索引序号,并将所述第2n+1轮索引序号存储至第二存储器的尾部;其中,n≥0;
当k=2n+2时,对第2n+1轮存储数据进行读取,获取多个(200-N*(2n+2))比特的第2n+2轮待处理数据以及匹配的第2n+2轮索引序号,并将所述第2n+2轮索引序号存储至所述第一存储器的尾部。
可选的,所述将所述第k轮索引序号存储至第m存储器的尾部,包括:
将所述第k轮索引序号从所述第一存储器或第二存储器的最大的空闲地址处开始,按照地址递减的顺序存储至所述第一存储器或第二存储器的尾部。
可选的,所述对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号,包括:
当k=2n+1时,对所述第2n+1轮待处理数据进行异或碰撞计算,获取第2n+1轮异或碰撞计算结果,以及第2n+2轮索引序号;其中,所述第2n+1轮异或碰撞计算结果包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,对所述第2n+2轮待处理数据进行第2n+2轮异或碰撞计算,获取第2n+2轮异或碰撞计算结果,以及第2n+3轮索引序号;其中,所述第2n+2轮异或碰撞计算结果包括多个(200-N*(2n+2))比特数据。
可选的,所述基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据,包括:
当k=2n+1时,基于所述N比特,对所述第2n+1轮异或碰撞计算结果进行分类,获取第2n+2轮待处理数据;其中,所述第2n+2轮待处理数据包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,基于N比特,对所述第2n+2轮异或碰撞计算结果进行分类,获取第2n+3轮待处理数据;其中,所述第2n+3轮待处理数据包括多个(200-N*(2n+2))比特数据。可选的,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据;
当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据。
可选的,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
将所述第k+1轮待处理数据以及所述第k+1轮索引序号从所述第一存储器或第二存储器的第0地址处开始,按照递增的顺序存储至所述第一存储器或第二存储器的头部,获取第k轮存储数据。
可选的,所述当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据,包括:
对所述第2n+2轮待处理数据以及第2n+2轮索引序号进行拼接;
将所述第2n+2轮待处理数据的位宽转换为所述第二存储器的位宽。
可选的,所述当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据,包括:
对所述第2n+3轮待处理数据以及第2n+3轮索引序号进行拼接;
将所述第2n+3轮待处理数据的位宽转换为所述第一存储器的位宽。
本发明的实施例还提供一种基于equihash算法的数据存储装置,包括:
读取模块,第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1;
计算模块,用于对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号;
分类模块,用于基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据;
存储模块,用于将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据。
本发明的实施例还提供一种基于equihash算法的数据存储系统,包括:
生成单元,用于生成原始数据;
异或碰撞计算单元,用于对从第一存储器或第二存储器读取的待处理数据进行异或碰撞计算,并将计算结果发送至选择器;
选择器,所述选择器用于根据所述计算结果对所述第一存储器以及第二存储器进行选择;
第一存储器,用于存储经过第2n轮处理的所述原始数据;其中,n≥0;
第二存储器,用于存储经过第2n+1轮处理的所述原始数据。
本发明的实施例还提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的方法。
本发明的实施例,具有如下技术效果:
本发明的上述技术方案,每轮存储的数据的位宽不同,第一轮的数据的位宽最大,最后一轮的数据的位宽最小,将每轮的存储数据及其对应的索引序号,转换成对应的存储器的位宽并紧密排列,大大地节省了存储空间;此外,后续各轮重新计算的数据的位宽会逐轮减少,所需存储空间减少,减少的存储空间可用于存储每轮读出的索引序号,索引序号存储在存储器的尾部,因此,数据和索引序号可以共享同一个存储器。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明实施例提供的一种基于equihash算法的数据存储方法的流程示意图;
图2是本发明实施例提供的一种基于equihash算法的数据存储方法的示例;
图3是本发明实施例提供的一种基于equihash算法的数据存储装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
请参阅图1,本发明的实施例提供一种基于equihash算法的数据存储方法,包括:
步骤S1:第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1;
其中,索引序号表示索引序号对应的数据在该轮所数据中排列的位置,第k轮索引序号以及前k-1轮的所述索引序号依次紧密排列。
具体的,还包括:获取多个200比特的原始数据,每个所述200比特的原始数据匹配有原始索引序号;
基于N比特,对多个所述200比特的原始数据进行分类,获取多个(200-N)比特的第一轮待处理数据,N为分类比特数;其中,N大于0;
将所述第一轮待处理数据以及原始索引序号存储至第一存储器,获取第零轮存储数据。
其中,第一存储器的位宽为W1比特,N可以为20。
第零轮存储数据的存储位置由其所属类别决定,类别小的存在存储器的低地址的位置,类别大的存储在存储器的高地址的位置。后续各轮的分类和存储规则和本轮一致,后续各轮不再赘述。
在实际应用场景中,将多个(200-N)比特数据和其对应的索引序号拼接在一起,再将拼接在一起的数据的位宽转换为W1比特,并紧密排列在第一存储器,有利于节省存储空间。
其中,所述对第k-1轮存储数据进行第k轮读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部,包括:
当k=2n+1时,对第2n轮存储数据进行读取,获取多个(200-N*(2n+1))比特的第2n+1轮待处理数据以及匹配的第2n+1轮索引序号,并将所述第2n+1轮索引序号存储至第二存储器的尾部;其中,n≥0;
当k=2n+2时,对第2n+1轮存储数据进行读取,获取多个(200-N*(2n+2))比特的第2n+2轮待处理数据以及匹配的第2n+2轮索引序号,并将所述第2n+2轮索引序号存储至所述第一存储器的尾部。
其中,第二存储器的位宽为W2比特。
读取的规则可以是:当某一类中的数据个数大于等于2时,则从存储器1中读出;如果某一类中的数据小于等于1,则不读;后续各轮的读取规则和本轮一致,后续各轮不再赘述。
本发明的实施例,第k轮索引序号以及前k-1轮的索引序号依次紧密排列,且不会被覆盖或者发生存储地址重叠的问题,大大节省了存储空间。
具体的,所述将所述第k轮索引序号存储至第m存储器的尾部,包括:
将所述第k轮索引序号从所述第一存储器或第二存储器的最大的空闲地址处开始,按照递减的顺序存储至所述第一存储器或第二存储器的尾部。
步骤S2:对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号;
其中,异或碰撞计算具体为:对于每一类中的多个数据,每两个数据按照比特异或计算,计算结果作为一个新产生的数据;
两个数按照比特异或计算的含义是:两个二进制数的对应比特如果相同,则该比特计算结果为0;如果对应比特不同,则该比特计算结果为1;例如:两个二进制数分别为1101和1110,则这两个数异或计算的结果为:0011。
新产生的数据的编号:表示参加异或计算的两个数据分别是该轮次读出的第几个数据。
具体的,所述对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号,包括:
当k=2n+1时,对所述第2n+1轮待处理数据进行异或碰撞计算,获取第2n+1轮异或碰撞计算结果,以及第2n+2轮索引序号;其中,所述第2n+1轮异或碰撞计算结果包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,对所述第2n+2轮待处理数据进行第2n+2轮异或碰撞计算,获取第2n+2轮异或碰撞计算结果,以及第2n+3轮索引序号;其中,所述第2n+2轮异或碰撞计算结果包括多个(200-N*(2n+2))比特数据。
本发明的实施例,每轮存储的数据的位宽不同,第一轮的数据的位宽最大,最后一轮的数据的位宽最小,将每轮的存储数据及其对应的索引序号,转换成对应的存储器的位宽并紧密排列,大大地节省了存储空间。
步骤S3:基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据;
具体的,所述基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据,包括:
当k=2n+1时,基于所述N比特,对所述第2n+1轮异或碰撞计算结果进行分类,获取第2n+2轮待处理数据;其中,所述第2n+2轮待处理数据包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,基于N比特,对所述第2n+2轮异或碰撞计算结果进行分类,获取第2n+3轮待处理数据;其中,所述第2n+3轮待处理数据包括多个(200-N*(2n+2))比特数据。
其中,比如N等于20时,同时选择低20比特,一共可以分为2的20次方类,每个数据所属类别就是其2的(低20比特值)次方。
在实际应用场景中,每轮存储的数据的位宽不同,第一轮的数据的位宽最大,最后一轮的数据的位宽最小。
步骤S4:将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据。
具体的,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据;
当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据。
其中,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
将所述第k+1轮待处理数据以及所述第k+1轮索引序号从所述第一存储器或第二存储器的第0地址处开始,按照递增的顺序存储至所述第一存储器或第二存储器的头部,获取第k轮存储数据。
本发明的实施例,依据上述读取规则,在对异或碰撞数据获取的第k+1轮待处理数据以及所述第k+1轮索引序号进行存储时,会覆盖上一轮存储在存储器的头部但未被读取的数据,且第k+1轮待处理数据以及所述第k+1轮索引序号不会发生覆盖或重叠,以便于数据的实时存储及后续的读取,且节省了大量的存储空间,每轮未被读取的数据不会影响后续的各轮的执行。
其中,所述当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据,包括:
对所述第2n+2轮待处理数据以及第2n+2轮索引序号进行拼接;
将所述第2n+2轮待处理数据的位宽转换为所述第二存储器的位宽。
其中,所述当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据,包括:
对所述第2n+3轮待处理数据以及第2n+3轮索引序号进行拼接;
将所述第2n+3轮待处理数据的位宽转换为所述第一存储器的位宽。
本发明的实施例,后续各轮重新计算的数据的位宽会逐轮减少,所需存储空间减少,减少的存储空间可用于存储每轮读出的索引序号,索引序号存储在存储器的尾部,且索引序号的存储不会发生覆盖或重叠,因此,数据和索引序号可以共享同一个存储器。
请参阅图2,本发明的上述实施例,可以通过以下实现方式实现:
首先,equihash基于Blake 2B算法产生2百万个200比特的原始数据;
当k=0时:
根据某N比特对这些200比特的原始数据进行分类,需要将剩余的(200-N)比特和其对应的索引序号(21比特)存储在第一存储器中,记作第零轮存储数据。
具体的,可以将多个(200-N)比特数据和其对应的索引序号拼接在一起,再将拼接在一起的数据的位宽转换为W1比特,并紧密排列在第一存储器中。
当k=1时;
读取第一存储器中存储的第零轮存储数据,基于第零轮的分类结果,确定需要读取的待处理的数据以及对应的索引序号,并将索引序号从最大的地址开始,按照递减的顺序存储至第二存储器的尾部;对读取的待处理的数据进行第一轮的异或碰撞计算,异或碰撞计算的结果为(200-N)比特,并产生对应的索引序号,第一轮产生的索引序号为26比特;将该(200-N)比特数据按照其中的N比特分类(例如:N为20),分类后的数据为(200-N*2)比特,将分类后的数据和其对应索引序号(26比特)从地址0处开始按照递增的顺序存储,存储在第二存储器的头部。
具体的,可以将多个(200-N*2)比特数据和其对应的索引序号拼接在一起,再将拼接在一起的数据的位宽转换为W2比特,紧密排列在第二存储器的头部。这样,第一轮读出的第零轮的21比特的索引号存储和第一轮异或碰撞计算新生成的数据及其对应的索引序号,可以共用第二存储器,并且二者的存储地址不能有重叠。
当k=2时;
读取第二存储器中存储的第零轮存储数据,基于第一轮的分类结果,确定需要读取的待处理的数据以及对应的索引序号,并将索引序号从空闲的最大的地址开始,按照递减的顺序存储至第二存储器的尾部;对读取的待处理的数据进行第二轮的异或碰撞计算,异或碰撞计算的结果为(200-N*2)比特,并产生对应的索引序号,第二轮产生的索引序号为26比特;将该(200-N*2)比特数据按照其中的N比特分类,分类后的数据为(200-N*3)比特,将分类后的数据和其对应索引序号(26比特)从第0地址处开始按照递增的顺序存储,存储在第一存储器的头部。
具体的,可以将多个(200-N*3)比特数据和其对应的索引序号拼接在一起,再将多个数据的位宽转换为W1比特,并紧密排列在第一存储器的头部。这样,第二轮读出的第一轮的26比特的索引号存储和第二轮重新计算新生成的数据及其对应索引序号,可以共用第一存储器,并且二者的存储地址不能有重叠。
当k=3时;
读取第一存储器中存储的第二轮存储数据,基于第二轮的分类结果,确定需要读取的待处理的数据以及对应的索引序号,并将索引序号存储至第二存储器的尾部,存储的位置是接着第零轮读出的索引序号存储结束地址的下一个地址开始存储,存储地址按照递减的顺序存储;对读取的待处理的数据进行第三轮的异或碰撞计算,异或碰撞计算的结果为(200-N*3)比特,并产生对应的索引序号,第三轮产生的索引序号为26比特;将该(200-N*3)比特数据按照其中的N比特分类,分类后的数据为(200-N*4)比特,将分类后的数据和其对应索引序号(26比特)从第0地址处开始按照递增的顺序存储,存储在第二存储器的头部。
具体的,可以将多个(200-N*4)比特数据和其对应的索引序号拼接在一起,再将拼接在一起的数据的位宽转换为W2比特,紧密排列在第二存储器的头部。这样,第三轮读出的第二轮的26比特索引号存储和第三轮重新计算新生成的数据及其对应索引序号,可以共用第二存储器,并且二者的存储地址不能有重叠。
当k=4时;
读取第二存储器中存储的第三轮存储数据,基于第三轮的分类结果,确定需要读取的待处理的数据以及对应的索引序号,并将索引序号存储至第一存储器的尾部,存储的位置是接着第一轮读出的索引序号存储结束地址的下一个地址开始存储,存储地址按照递减的顺序存储;对读取的待处理的数据进行第四轮的异或碰撞计算,异或碰撞计算的结果为(200-N*4)比特,并产生对应的索引序号,第四轮产生的索引序号为26比特;将该(200-N*4)比特数据按照其中的N比特分类,分类后的数据为(200-N*5)比特,将分类后的数据和其对应索引序号(26比特)从第0地址处开始按照递增的顺序存储,存储在第一存储器的头部。
具体的,可以将多个(200-N*5)比特数据和其对应的索引序号拼接在一起,再将拼接在一起的数据的位宽转换为W1比特,并紧密排列在第一存储器的头部;这样,第二轮读出的第三轮的26比特索引号存储和第四轮重新计算新生成的数据及其对应索引序号,可以共用第一存储器,并且二者的存储地址不能有重叠。
……
后续各轮的存储方法,和前面的方法相同;直至所有轮计算并存存储完成。
请参阅图3,本发明的实施例还提供一种基于equihash算法的数据存储装置300,包括:
读取模块301,第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1;
计算模块302,用于对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号;
分类模块303,用于基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据;
存储模块304,用于将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据。
可选的,还包括:
获取多个200比特的原始数据,每个所述200比特的原始数据匹配有原始索引序号;
基于N比特,对多个所述200比特的原始数据进行分类,获取多个(200-N)比特的第一轮待处理数据,N为分类比特数;
将所述第一轮待处理数据以及原始索引序号存储至第一存储器,获取第零轮存储数据。
可选的,所述对第k-1轮存储数据进行第k轮读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部,包括:
当k=2n+1时,对第2n轮存储数据进行读取,获取多个(200-N*(2n+1))比特的第2n+1轮待处理数据以及匹配的第2n+1轮索引序号,并将所述第2n+1轮索引序号存储至第二存储器的尾部;其中,n≥0;
当k=2n+2时,对第2n+1轮存储数据进行读取,获取多个(200-N*(2n+2))比特的第2n+2轮待处理数据以及匹配的第2n+2轮索引序号,并将所述第2n+2轮索引序号存储至所述第一存储器的尾部。
可选的,所述将所述第k轮索引序号存储至第m存储器的尾部,包括:
将所述第k轮索引序号从所述第一存储器或第二存储器的最大的空闲地址处开始,按照递减的顺序存储至所述第一存储器或第二存储器的尾部。
可选的,所述对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号,包括:
当k=2n+1时,对所述第2n+1轮待处理数据进行异或碰撞计算,获取第2n+1轮异或碰撞计算结果,以及第2n+2轮索引序号;其中,所述第2n+1轮异或碰撞计算结果包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,对所述第2n+2轮待处理数据进行第2n+2轮异或碰撞计算,获取第2n+2轮异或碰撞计算结果,以及第2n+3轮索引序号;其中,所述第2n+2轮异或碰撞计算结果包括多个(200-N*(2n+2))比特数据。
可选的,所述基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据,包括:
当k=2n+1时,基于所述N比特,对所述第2n+1轮异或碰撞计算结果进行分类,获取第2n+2轮待处理数据;其中,所述第2n+2轮待处理数据包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,基于N比特,对所述第2n+2轮异或碰撞计算结果进行分类,获取第2n+3轮待处理数据;其中,所述第2n+3轮待处理数据包括多个(200-N*(2n+2))比特数据。
可选的,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据;
当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据。
可选的,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
将所述第k+1轮待处理数据以及所述第k+1轮索引序号从所述第一存储器或第二存储器的第0地址处开始,按照递增的顺序存储至所述第一存储器或第二存储器的头部,获取第k轮存储数据。
可选的,所述当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据,包括:
对所述第2n+2轮待处理数据以及第2n+2轮索引序号进行拼接;
将所述第2n+2轮待处理数据的位宽转换为所述第二存储器的位宽。
可选的,所述当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据,包括:
对所述第2n+3轮待处理数据以及第2n+3轮索引序号进行拼接;
将所述第2n+3轮待处理数据的位宽转换为所述第一存储器的位宽。
请参阅图2,本发明的实施例还提供一种基于equihash算法的数据存储系统,包括:
生成单元,用于生成原始数据;
异或碰撞计算单元,用于对从第一存储器或第二存储器读取的待处理数据进行异或碰撞计算,并将计算结果发送至选择器;
选择器,所述选择器用于根据所述计算结果对所述第一存储器以及第二存储器进行选择;
第一存储器,用于存储经过第2n轮处理的所述原始数据;其中,n≥0;
第二存储器,用于存储经过第2n+1轮处理的所述原始数据。
本发明的实施例还提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的方法。
另外,本发明实施例的系统的其他构成及作用对本领域的技术人员来说是已知的,为减少冗余,此处不做赘述。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于equihash算法的数据存储方法,其特征在于,包括:
第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1;
对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号;
基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据;其中,N大于0;
将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取多个200比特的原始数据,每个所述200比特的原始数据匹配有原始索引序号;
基于N比特,对多个所述200比特的原始数据进行分类,获取多个(200-N)比特的第一轮待处理数据,N为分类比特数;
将所述第一轮待处理数据以及原始索引序号存储至第一存储器,获取第零轮存储数据。
3.根据权利要求2所述的方法,其特征在于,所述第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部,包括:
当k=2n+1时,对第2n轮存储数据进行读取,获取多个(200-N*(2n+1))比特的第2n+1轮待处理数据以及匹配的第2n+1轮索引序号,并将所述第2n+1轮索引序号存储至第二存储器的尾部;其中,n≥0;
当k=2n+2时,对第2n+1轮存储数据进行读取,获取多个(200-N*(2n+2))比特的第2n+2轮待处理数据以及匹配的第2n+2轮索引序号,并将所述第2n+2轮索引序号存储至所述第一存储器的尾部;
所述将所述第k轮索引序号存储至第m存储器的尾部,包括:
将所述第k轮索引序号从所述第一存储器或第二存储器的最大的空闲地址处开始,按照地址递减的顺序存储至所述第一存储器或第二存储器的尾部。
4.根据权利要求3所述的方法,其特征在于,所述对所述第k轮待处理数据进行异或碰撞计算,获取第k轮异或碰撞计算结果,以及第k+1轮索引序号,包括:
当k=2n+1时,对所述第2n+1轮待处理数据进行异或碰撞计算,获取第2n+1轮异或碰撞计算结果,以及第2n+2轮索引序号;其中,所述第2n+1轮异或碰撞计算结果包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,对所述第2n+2轮待处理数据进行第2n+2轮异或碰撞计算,获取第2n+2轮异或碰撞计算结果,以及第2n+3轮索引序号;其中,所述第2n+2轮异或碰撞计算结果包括多个(200-N*(2n+2))比特数据。
5.根据权利要求4所述的方法,其特征在于,所述基于N比特,对所述第k轮异或碰撞计算结果进行分类,获取第k+1轮待处理数据,包括:
当k=2n+1时,基于所述N比特,对所述第2n+1轮异或碰撞计算结果进行分类,获取第2n+2轮待处理数据;其中,所述第2n+2轮待处理数据包括多个(200-N*(2n+1))比特数据;
当k=2n+2时,基于N比特,对所述第2n+2轮异或碰撞计算结果进行分类,获取第2n+3轮待处理数据;其中,所述第2n+3轮待处理数据包括多个(200-N*(2n+2))比特数据。
6.根据权利要求5所述的方法,其特征在于,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
当k=2n+1时,将所述第2n+2轮待处理数据以及第2n+2轮索引序号存储至所述第二存储器的头部,获取第2n+1轮存储数据;然后对所述第2n+2轮待处理数据以及第2n+2轮索引序号进行拼接;将所述第2n+2轮待处理数据的位宽转换为所述第二存储器的位宽;
当k=2n+2时,将所述第2n+3轮待处理数据以及第2n+3轮索引序号存储至所述第一存储器的头部,获取第2n+2轮存储数据;然后对所述第2n+3轮待处理数据以及第2n+3轮索引序号进行拼接;将所述第2n+3轮待处理数据的位宽转换为所述第一存储器的位宽。
7.根据权利要求3所述的方法,其特征在于,所述将所述第k+1轮待处理数据以及所述第k+1轮索引序号存储至所述第m存储器的头部,获取第k轮存储数据,包括:
将所述第k+1轮待处理数据以及所述第k+1轮索引序号从所述第一存储器或第二存储器的第0地址处开始,按照递增的顺序存储至所述第一存储器或第二存储器的头部,获取第k轮存储数据。
8.一种基于equihash算法的数据存储系统,其特征在于,包括:
生成单元,用于生成原始数据;
异或碰撞计算单元,用于对从第一存储器或第二存储器读取的待处理数据进行异或碰撞计算,并将计算结果发送至选择器;
选择器,所述选择器用于根据所述计算结果对所述第一存储器以及第二存储器进行选择;
第一存储器,用于存储经过第2n轮处理的所述原始数据;其中,第k轮对第k-1轮存储数据进行读取,获取第k轮待处理数据以及匹配的第k轮索引序号,并将所述第k轮索引序号存储至第m存储器的尾部;其中,所述第k轮索引序号以及前k-1轮的所述索引序号依次排列;且1≤k<a;a为总轮数;当k为奇数时,m为2,当k为偶数时,m为1;n≥0;
第二存储器,用于存储经过第2n+1轮处理的所述原始数据。
9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的方法。
CN202111294883.8A 2021-11-03 2021-11-03 基于equihash算法的数据存储方法、装置及系统 Active CN113760197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111294883.8A CN113760197B (zh) 2021-11-03 2021-11-03 基于equihash算法的数据存储方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111294883.8A CN113760197B (zh) 2021-11-03 2021-11-03 基于equihash算法的数据存储方法、装置及系统

Publications (2)

Publication Number Publication Date
CN113760197A CN113760197A (zh) 2021-12-07
CN113760197B true CN113760197B (zh) 2022-02-08

Family

ID=78784557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111294883.8A Active CN113760197B (zh) 2021-11-03 2021-11-03 基于equihash算法的数据存储方法、装置及系统

Country Status (1)

Country Link
CN (1) CN113760197B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115221172B (zh) * 2022-07-25 2023-03-17 中国人民解放军陆军航空兵学院 一种基于便携终端电子化采集存储的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109913A (zh) * 2018-01-15 2019-08-09 北京比特大陆科技有限公司 一种zerocash挖矿算法的硬件实现方法及装置
CN110109926A (zh) * 2019-04-25 2019-08-09 杭州德旺信息技术有限公司 一种Equihash算法数据的排序装置和排序方法
CN111290791A (zh) * 2019-02-20 2020-06-16 上海天数智芯半导体有限公司 具有高性能密码操作的标量单元
CN111563277A (zh) * 2020-04-03 2020-08-21 上海坤振集成电路有限公司 一种区块链网络中的工作量证明方法以及一种区块链

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11349639B2 (en) * 2018-12-28 2022-05-31 ePIC Blockchain Technologies Inc. Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
KR20200093823A (ko) * 2019-01-29 2020-08-06 삼성전자주식회사 해시 솔루션을 위한 반도체 메모리 장치 및 이의 구동방법
CN111046042A (zh) * 2019-12-10 2020-04-21 厦门卫星定位应用股份有限公司 基于时空碰撞的快速检索方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109913A (zh) * 2018-01-15 2019-08-09 北京比特大陆科技有限公司 一种zerocash挖矿算法的硬件实现方法及装置
CN111290791A (zh) * 2019-02-20 2020-06-16 上海天数智芯半导体有限公司 具有高性能密码操作的标量单元
CN110109926A (zh) * 2019-04-25 2019-08-09 杭州德旺信息技术有限公司 一种Equihash算法数据的排序装置和排序方法
CN111563277A (zh) * 2020-04-03 2020-08-21 上海坤振集成电路有限公司 一种区块链网络中的工作量证明方法以及一种区块链

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Note on the Security of Equihash;Alcock, Leo 等;《CCSW "17: Proceedings of the 2017 on Cloud Computing Security Workshop》;20171103;全文 *
区块链关键技术及应用研究综述;章峰等;《网络与信息安全学报》;20180415(第04期);全文 *

Also Published As

Publication number Publication date
CN113760197A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN108701250B (zh) 数据定点化方法和装置
US20080307189A1 (en) Data partitioning via bucketing bloom filters
US8775457B2 (en) Efficient string matching state machine
CN113760197B (zh) 基于equihash算法的数据存储方法、装置及系统
WO2022108618A1 (en) Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device
CN112835552A (zh) 一种外积累加求解稀疏矩阵与稠密矩阵内积的方法
US20210049513A1 (en) Unsupervised model evaluation method, apparatus, server, and computer-readable storage medium
US20200117452A1 (en) Method for min-max computation in associative memory
CN110071782B (zh) 报文的处理方法和处理装置
CN116959540B (zh) 具有写掩码的数据校验系统
CN111913830B (zh) 一种重读操作处理方法、装置、设备及可读存储介质
CN111415700B (zh) 一种修复方法、装置及计算机存储介质
US11500767B2 (en) Method and device for determining a global memory size of a global memory size for a neural network
CN114138231B (zh) 执行矩阵乘法运算的方法、电路及soc
JP3869006B2 (ja) エラーコードを効率的に記憶するための方法及び装置
JP2000181807A (ja) 記録媒体のデータ検査方法及び装置
US9361180B2 (en) Storing data by an ECC memory
CN112818007B (zh) 数据处理方法、装置及可读存储介质
US7895393B2 (en) RAID system and the operating method for the same
CN114595486B (zh) 零数据识别方法、装置、可读存储介质及电子设备
CN111797972A (zh) 应用卷积神经网络处理数据的方法、装置和电子系统
CN112084062A (zh) 验证摄像头模组标定数据的方法及装置、电子设备和介质
CN112099959B (zh) 数据处理方法及装置
CN110968454B (zh) 确定已丢失数据块的恢复数据的方法和装置
CN111783444B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240421

Address after: 10 Jialeng Road, Singapore # 09-11

Patentee after: Shenglong (Singapore) Pte. Ltd.

Country or region after: Singapore

Address before: 1605, floor 16, No. 9, North Fourth Ring West Road, Haidian District, Beijing 100083

Patentee before: SUNLUNE TECHNOLOGY DEVELOPMENT (BEIJING) Co.,Ltd.

Country or region before: China