CN111625258B - 默克尔树更新方法、装置、设备及可读存储介质 - Google Patents

默克尔树更新方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111625258B
CN111625258B CN202010453608.5A CN202010453608A CN111625258B CN 111625258 B CN111625258 B CN 111625258B CN 202010453608 A CN202010453608 A CN 202010453608A CN 111625258 B CN111625258 B CN 111625258B
Authority
CN
China
Prior art keywords
target
data
preset
training
hash
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
CN202010453608.5A
Other languages
English (en)
Other versions
CN111625258A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010453608.5A priority Critical patent/CN111625258B/zh
Publication of CN111625258A publication Critical patent/CN111625258A/zh
Priority to PCT/CN2021/093397 priority patent/WO2021233182A1/zh
Application granted granted Critical
Publication of CN111625258B publication Critical patent/CN111625258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种默克尔树更新方法、装置、设备及可读存储介质,所述默克尔树更新方法包括:获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型,进而基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型,进而基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。本申请解决了默克尔树更新时计算效率低的技术问题。

Description

默克尔树更新方法、装置、设备及可读存储介质
技术领域
本申请涉及金融科技(Fintech)的人工智能领域,尤其涉及一种默克尔树更新方法、装置、设备及可读存储介质。
背景技术
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。
随着计算机软件和人工智能的不断发展,人工智能的应用领域也越来越广泛,目前,默克尔(Merkle)树是一种用于快速验证数据完整性的数据结构。其原理是通过分组哈希,使得哈希值匹配能够从叶节点快速上溯到根节点,进而达到降低数据查询时计算复杂度的目的,但是,当默克尔树的随机叶子节点需要更新时,除了需要更新随机叶子节点之外,还需要对随机叶子节点所在树分枝的所有节点进行更新,进而导致默克尔树更新时的计算量过大,计算复杂度过高,进而导致默克树更新时的计算效率过低,所以,现在技术中存在默克尔树更新时计算效率低的技术问题。
发明内容
本申请的主要目的在于提供一种默克尔树更新方法、装置、设备及可读存储介质,旨在解决现有技术中默克尔树更新时计算效率低的技术问题。
为实现上述目的,本申请提供一种默克尔树更新方法,所述默克尔树更新方法包括:
获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型;
基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型;
基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。
可选地,所述更新数据包括新增数据块,
所述基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树的步骤包括:
生成所述新增数据块对应的目标随机叶子节点,并将所述新增数据块输入所述目标哈希编码模型,获得所述新增数据块对应的输出哈希编码值;
基于所述输出哈希编码值,匹配所述目标随机叶子节点对应的目标父节点;
基于所述目标随机叶子节点和所述目标父节点,更新所述随机叶子节点层,获得所述目标默克尔树。
可选地,所述基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型的步骤包括:
基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合;
获取所述数据类别集合对应的目标哈希编码值集合,并确定所述目标数据集对应的训练数据和所述目标哈希编码值集合对应的目标哈希编码值;
基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型。
可选地,所述基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型的步骤包括:
将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值;
计算所述初始哈希编码值和所述目标哈希编码值之间的训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对;
若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述预设哈希编码模型未达到所述预设迭代结束条件,并基于所述初始哈希编码值优化所述极化损失函数;
基于优化后的所述极化损失函数,重新训练所述预设哈希编码模型,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值;
若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,并将所述预设哈希编码模型作为所述目标哈希编码模型。
可选地,所述将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值的步骤包括:
将所述训练数据输入所述预设哈希编码模型,对所述训练数据进行哈希,获得训练哈希结果;
基于所述极化损失函数,对所述训练哈希结果进行极化,获得极化结果;
基于所述极化结果,确定所述初始哈希编码值。
可选地,所述原数据集包括一个或者多个原数据块、以及与各所述原数据块对应的目标哈希编码值,所述待更新默克尔树包括一个或者多个随机叶子节点、一个或者多个中间节点、以及根节点,
在所述获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型步骤之前,所述默克尔树更新方法包括:
生成各所述原数据块对应的随机叶子节点,其中,一所述原数据块对应一所述随机叶子节点;
基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点。
可选地,各所述中间节点包括一个或者多个第一层中间节点、以及一个或者多个上层中间节点;
所述基于各所述目标哈希值和所述预设哈希编码模型,生成各所述中间节点和所述根节点的步骤包括:
生成各所述目标哈希编码值对应的第一层中间节点,其中,一所述目标哈希编码值对应一所述第一层中间节点;
基于所述预设哈希编码模型,循环生成各所述第一层中间节点对应的上层中间节点,直至获得所述根节点。
本申请还提供一种默克尔树更新装置,所述默克尔树更新装置为虚拟装置,且所述默克尔树更新装置应用于默克尔树更新设备,所述默克尔树更新装置包括:
确定模块,用于获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型;
训练模块,用于基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型;
更新模块,用于基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。
可选地,所述更新模块包括:
哈希编码子模块,用于生成所述新增数据块对应的目标随机叶子节点,并将所述新增数据块输入所述目标哈希编码模型,获得所述新增数据块对应的输出哈希编码值;
匹配子模块,用于基于所述输出哈希编码值,匹配所述目标随机叶子节点对应的目标父节点;
更新子模块,用于基于所述目标随机叶子节点和所述目标父节点,更新所述随机叶子节点层,获得所述目标默克尔树。
可选地,所述训练模块包括:
提取子模块,用于基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合;
迭代训练子模块,用于基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型。
可选地,迭代训练子模块包括:
哈希编码单元,用于将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值;
比对单元,用于计算所述初始哈希编码值和所述目标哈希编码值之间的训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对;
第一判定单元,用于若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述预设哈希编码模型未达到所述预设迭代结束条件,并基于所述初始哈希编码值优化所述极化损失函数;
重新训练单元,用于基于优化后的所述极化损失函数,重新训练所述预设哈希编码模型,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值;
第二判定单元,用于若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,并将所述预设哈希编码模型作为所述目标哈希编码模型。
可选地,所述哈希编码单元包括:
哈希子单元,用于将所述训练数据输入所述预设哈希编码模型,对所述训练数据进行哈希,获得训练哈希结果;
极化子单元,用于基于所述极化损失函数,对所述训练哈希结果进行极化,获得极化结果;
确定子单元,用于基于所述极化结果,确定所述初始哈希编码值。
可选地,所述默克尔树更新装置还包括:
第一生成模块,用于生成各所述原数据块对应的随机叶子节点,其中,一所述原数据块对应一所述随机叶子节点;
第二生成模块,用于基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点。
可选地,所述第二生成模块包括:
生成子模块,用于生成各所述目标哈希编码值对应的第一层中间节点,其中,一所述目标哈希编码值对应一所述第一层中间节点;
循环生成子模块,用于基于所述预设哈希编码模型,循环生成各所述第一层中间节点对应的上层中间节点,直至获得所述根节点。
本申请还提供一种默克尔树更新设备,所述默克尔树更新设备为实体设备,所述默克尔树更新设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述默克尔树更新方法的程序,所述默克尔树更新方法的程序被处理器执行时可实现如上述的默克尔树更新方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有实现默克尔树更新方法的程序,所述默克尔树更新方法的程序被处理器执行时实现如上述的默克尔树更新方法的步骤。
本申请通过获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型,进而基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型,进而基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。也即,本申请提供了一种基于预设哈希编码模型构建的待更新默克尔树,进而当所述待更新默克尔树需要进行更新时,获取更新数据和所述待更新默克树对应的原数据集,进而基于所述更新数据和所述原数据集,进行对所述预设哈希编码模型的训练更新,获得目标哈希编码模型,进一步地,基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。也即,本申请在更新待更新默克尔树时,无论默克树更新多少随机叶子节点上的数据,只需对所述预设哈希编码模型进行一次训练更新,进而基于训练更新获得的哈希编码模型,对待更新默克尔树的随机叶子节点层进行更新,即可完成对所述待更新默克尔树的更新,进而相比于当前的默克尔树的更新方法,当默克尔树的随机叶子节点需要更新时,只需更新默克尔树的随机叶子节点层即可完成对所述待更新默克尔树的更新,无需对随机叶子节点所在树分枝的所有节点进行更新,进而降低了默克尔树更新时的计算量,进而降低了默克尔树更新时计算复杂度,所以,解决了默克尔树更新时计算效率低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请默克尔树更新方法第一实施例的流程示意图;
图2为本申请默克尔树更新方法中二叉默克尔树的示意图;
图3为本申请默克尔树更新方法第二实施例的流程示意图;
图4为本申请实施例方案涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种默克尔树更新方法,在本申请默克尔树更新方法的第一实施例中,参照图1,所述默克尔树更新方法包括:
步骤S10,获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型;
在本实施例中,需要说明的是,所述原数据集包括一个或者多个原数据块,各所述原数据块对应一个或者多个数据类别,一所述数据类别对应一目标哈希编码值,其中,所述目标哈希编码值为基于预设哈希编码方式对相对应的数据类别对应的原数据块进行哈希编码获得的,其中,所述预设哈希编码方式包括随机目标哈希编码和自适应目标哈希编码等,且需要说明的是,每一所述数据类别中的任意两个所述原数据块之间的汉明距离小于或者等于预设第一汉明距离阀值,例如,假设预设第一汉明距离阀值为1,原数据块A为0101010111,原数据块B为0101010101,则原数据块A与原数据块B之间的汉明距离为1,进而判定原数据块A和原数据块B属于同一所述数据类别。
另外地,需要说明的是,所述更新数据为向所述待更新默克尔树中加入的新增数据,其中,所述新增数据包括一个或者多个新增数据块,所述待更新默克尔树为存储所述原数据集的数据结构,其中,所述待更新默克尔树包括随机叶子节点层、各中间节点层和根节点,其中,所述随机叶子节点层包括一个或者多个随机叶子节点,所述中间节点层包括一个或者多个中间节点,如图2所示为二叉默克尔树示意图,其中,最上层的单个节点为根节点,最下层的1,2,3,4,5,6,7,8均为随机叶子节点,处于最上层和最下层之间的节点为各所述中间节点,另外地,需要说明的是,所述随机叶子节点为存储所述原数据块的节点,一所述随机叶子节点对应一所述原数据块,所述中间节点和所述根节点为存储所述预设哈希编码模型的目标模型输出值的节点,其中,所述目标模型输出值为基于所述预设哈希编码模型和所述模型输入值而获得的哈希编码值,其中,在所述待更新默克尔树中,每一层节点存储的模型输出值对应的模型输入值均为上一层存储的哈希编码值,所述根节点存储的模型输出值对应的模型输入值为最后一层中间节点层对应的哈希编码值,其中,需要说明的是,对于所述预设哈希编码模型,属于同一数据类别的原数据块输入所述预设哈希编码模型,将输出相同的输出哈希编码值,所述输出哈希编码值为所述数据类别对应的目标哈希编码值,同样地,属于同一类别的模型输入值,所述预设哈希编码值均可输出相同的模型输出值,例如,假设在所述待更新默克尔树中,节点层M包括4个节点(A,B,C,D),节点层M对应的上一节点层N包括2个节点(E,F),其中,节点A和节点B指向节点E,节点C和节点D指向节点F,若所述预设哈希编码模型为H,则满足H(A)=E,H(B)=E,H(C)=F,H(D)=F。
获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型,具体地,从预设存储数据库中提取各新增数据块和待更新默克尔树,并确定所述待更新默克尔树中各随机叶子节点对应的原数据块和每一所述原数据块对应的目标哈希编码值,并获取构建所述待更新默克树所采用的预设哈希编码模型,其中,所述待更新默克尔树为基于预设哈希编码模型、各所述原数据块和各所述目标哈希编码值构建的,也即,首先生成各所述原数据块对应的随机叶子节点层,并生成各所述目标哈希编码值对应的第一中间节点层,其中,所述第一中间节点层为所述随机叶子节点层的相邻的上一节点层,进一步地,以各所述目标哈希编码层为所述预设哈希编码模型的输入,获得对应的各模型输出值,进而生成各所述模型输出值对应的第二中间节点层,其中,所述第二中间节点层为所述第一中间节点层的相邻的上一节点层,进而以各所述模型输出值为所述预设哈希编码模型的输入,循环进行各中间节点层的生成,直至获得所述根节点,则完成所述待更新默克尔树的构建。
步骤S20,基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型;
在本实施例中,基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型,具体地,将各所述新增数据块加入所述原数据集,并在各所述目标哈希编码中为各所述新增数据块匹配对应的目标哈希编码值,获得所述目标数据集,并从所述目标数据集中选取训练数据和所述训练数据对应的目标哈希编码值集,其中,所述训练数据包括一个或者多个所述目标数据集中的训练数据块,所述目标哈希编码值集包括各所述训练数据块对应的目标哈希编码值,进而基于所述目标哈希编码值集和所述训练数据,对所述预设哈希编码模型进行迭代训练更新,直至满足预设迭代结束条件,获得所述目标哈希编码模型。
其中,所述基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型的步骤包括:
步骤S21,基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合;
在本实施例中,需要说明的是,所述目标数据集合包括一个或者多个训练数据块,所述数据类别集合包括各所述训练数据块对应的数据类别。
步骤S22,获取所述数据类别集合对应的目标哈希编码值集合,并确定所述目标数据集对应的训练数据和所述目标哈希编码值集合对应的目标哈希编码值;
在本实施例中,需要说明的是,所述目标哈希编码值集合包括各所述数据类别对应的目标哈希编码值。
获取所述数据类别集合对应的目标哈希编码值集合,并确定所述目标数据集对应的训练数据和所述目标哈希编码值集合对应的目标哈希编码值,具体地,获取各所述数据类别对应的目标哈希编码值,并从所述目标数据集中提取所述训练数据,从所述目标哈希编码集合中提取所述训练数据对应的目标哈希编码值。
优选地,分别从各所述数据类别中提取预设数量的数据块作为训练数据块,并将各所述训练数据块作为所述训练数据,并在所述目标哈希编码值集合中确定各所述训练数据块所述数据类别对应的目标哈希编码值。
步骤S23,基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型。
在本实施例中,需要说明的是,所述预设迭代结束条件包括达到预设迭代次数阀值、极化损失函数收敛等,所述迭代训练包括一轮或者多轮训练。
基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型,具体地,从所述训练数据中提取训练数据块输入所述预设哈希编码模型,基于所述训练数据块对应的目标哈希编码值,对所述预设哈希编码模型进行训练更新,并判断训练更新后的所述预设哈希编码模型是否满足预设迭代结束条件,若训练更新后的所述预设哈希编码模型满足预设迭代结束条件,则将训练更新后的所述预设哈希编码模型作为所述目标哈希编码模型,若训练更新后的所述预设哈希编码模型不满足预设迭代结束条件,则获取本轮训练的初始哈希编码值,并基于所述初始哈希编码值和所述目标哈希编码结果,优化所述极化损失函数,并重新对优化后的所述预设哈希编码模型进行训练更新,直至训练更新后的所述预设哈希编码模型满足预设迭代结束条件。
其中,所述基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型的步骤包括:
步骤S221,将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值;
在本实施例中,将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值,具体地,在所述训练数据中提取训练数据块,并将所述训练数据块对应的待处理训练矩阵输入所述预设哈希编码模型,其中,所述待处理训练矩阵为训练数据块的矩阵表示形式,用于存储所述待处理训练矩阵中的数据,以对所述待处理训练矩阵进行哈希,获得哈希向量,进而基于所述极化损失函数,对所述哈希向量的每一比特位进行强制极化,获得所述哈希向量对应的极化向量,进而基于所述极化向量中每一比特位对应的极化标识,生成所述初始哈希编码值,其中,所述极化损失函数如下所示,
L(v,t^c)=max(m-v*t^c,0)
其中,L为所述极化损失函数,m为预设强制极化参数,v为所述哈希向量中每一哈希向量比特位上的数值,且v的绝对值大于m,t^c为所述哈希向量比特位对应的目标哈希值,所述目标哈希值为所述训练数据块对应的目标哈希编码值上的比特位数值,且t^c={-1,+1},且所述极化损失函数收敛于0,例如,假设m为1,t^c为1,v为-1,此时,L=2,若要使得极化损失函数收敛于0,则需要对v进行强制极化,使得v为1,此时L=0,进而当t^c等于1时,所述哈希向量比特位上的数值将朝正方向逐渐远离0,当t^c等于-1时,所述哈希向量比特位上的数值将朝负方向逐渐远离0,进而在极化成功后,获得的极化向量中每一比特位的极化标识应与对应的目标哈希值一致,进一步地,由于同一数据类别的目标哈希编码值相同,所以属于同一数据类别的各训练数据块对应的极化向量中每一比特位上的极化标识一致,进而基于各所述极化标识,获得的模型输出值一致,也即,对于属于同一数据类别的模型输入数据,训练好的所述预设哈希编码模型可输出相同的模型输出值。
另外地,需要说明的是,所述哈希向量中每一比特位对应所述预设哈希编码的一极化输出通道,每一所述极化输出通道对应的预设强制极化参数均由对所述预设哈希编码模型进行训练而得到,进而每一所述极化输出通道对应的预设强制极化参数可能相同,也可能不同,其中,所述极化输出通道用于基于所述预设强制极化参数,通过对应的所述极化损失函数,强制极化所述哈希向量中每一比特位上的数值,并输出所述初始哈希编码值中对应的比特位的编码数值。
其中,所述将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值的步骤包括:
步骤A10,将所述训练数据输入所述预设哈希编码模型,对所述训练数据进行哈希,获得训练哈希结果;
在本实施例中,需要说明的是,所述预设哈希编码模型包括隐藏层和哈希层,所述隐藏层为进行数据处理的一层或者多层神经网络,所述数据处理包括卷积。池化等,所述哈希层为进行哈希的一层或者多层神经网络。
将所述训练数据输入所述预设哈希编码模型,对所述训练数据进行哈希,获得训练哈希结果,具体地,提取所述训练数据中的训练数据块,并将所述训练数据块对应的待处理训练矩阵输入所述隐藏层,对所述待处理训练矩阵进行预设次数的卷积和池化处理,获得特征表示矩阵,进而将所述特征表示矩阵输入所述哈希层,对所述特征表示矩阵进行全连接,获得哈希向量,并将所述哈希向量作为所述训练哈希结果。
步骤A20,基于所述极化损失函数,对所述训练哈希结果进行极化,获得极化结果;
在本实施例中,基于所述极化损失函数,对所述训练哈希结果进行极化,获得极化结果,具体地,基于所述极化损失函数,对所述哈希向量中的每一比特位进行极化,获得极化向量,并将所述极化向量作为所述极化结果,例如,假设所述哈希向量为(-1,-8),则进行极化后,获得所述极化向量为(1,-8).
步骤A30,基于所述极化结果,确定所述初始哈希编码值。
在本实施例中,基于所述极化结果,确定所述初始哈希编码值,具体地,提取所述极化结果中的每一比特位对应的极化标识,其中,所述极化标识为所述比特位的正负符号,进而基于各所述极化标识,确定所述初始哈希编码值,例如,假设所述极化结果为(1,-8,-7,0.9),则所述初始哈希编码值为1001。
步骤S222,计算所述初始哈希编码值和所述目标哈希编码值之间的训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对;
在本实施例中,计算所述初始哈希编码值和所述目标哈希编码结果之间的训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对,具体地,将所述初始哈希编码值的每一比特位上的数值与所述目标哈希编码结果的每一比特位上的数值进行比对,确定所述初始哈希编码值和所述目标哈希编码结果比特位不相同的比特位数量,并将所述比特位数量作为所述训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对,例如,假设所述初始哈希编码值为向量(1,1,1,1),所述目标哈希编码结果为向量(-1,1,1,-1),则所述比特位数量为2,则所述训练汉明距离为2。
步骤S223,若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述预设哈希编码模型未达到所述预设迭代结束条件,并基于所述初始哈希编码值优化所述极化损失函数;
在本实施例中,若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述预设哈希编码模型未达到所述预设迭代结束条件,并基于所述初始哈希编码值优化所述极化损失函数,具体地,若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述极化损失函数并未在所述待哈希训练矩阵的所有比特位上收敛,也即,所述极化损失函数未收敛,进而判定所述预设哈希编码模型未达到所述预设迭代结束条件,进而确定所述初始哈希编码值和所述目标哈希编码结果之间的一个或者多个不同比特位,并确定各所述不同比特位对应的未收敛极化输出通道,并调整各所述未收敛极化输出通道对应的极化损失函数中的预设强制极化参数,其中,所述未收敛极化输出通道为未收敛的极化损失函数对应的极化输出通道,其中,所述预设哈希编码模型包括一个或者多个极化输出通道,且所述极化输出通道的数量与所述待哈希训练矩阵的比特位的数量相关,也即,一所述比特位对应一所述极化输出通道。
步骤S224,基于优化后的所述极化损失函数,重新训练所述预设哈希编码模型,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值;
在本实施例中,基于优化后的所述极化损失函数,重新进行所述预设哈希编码模型的训练,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值,具体地,重新获取所述训练数据对应的待哈希训练矩阵,并基于重新获取的待哈希训练矩阵,对优化后的所述极化损失函数对应的预设哈希编码模型重新进行迭代训练,以继续优化所述极化损失函数,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值。
步骤S225,若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,并将所述预设哈希编码模型作为所述目标哈希编码模型。
在本实施例中,若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,并将所述预设哈希编码模型作为所述目标哈希编码模型,具体地,若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,也即,所述预设哈希编码模型中各所述极化输出通道对应的极化损失函数收敛,进而将所述预设哈希编码模型作为所述目标哈希编码模型。
步骤S30,基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。
在本实施例中,基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树,具体地,生成各所述新增数据块对应的新增随机叶子节点,并将各所述新增数据块输入所述目标哈希编码模型,输出哈希编码值,进而基于各所述新增模型输出值,确定各所述新增数据块的目标父节点,进而将各所述新增随机叶子节点连接至对应的所述目标父节点,获得所述目标默克尔树。
进一步地,将所述目标哈希编码模型的模型参数发送至各默克树使用方,各默克尔树使用方即可基于所述模型参数构建各自的目标默克尔树。
其中,所述更新数据包括新增数据块,
所述基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树的步骤包括:
步骤S31,生成所述新增数据块对应的目标随机叶子节点,并将所述新增数据块输入所述目标哈希编码模型,获得所述新增数据块对应的输出哈希编码值;
在本实施例中,需要说明的是,所述目标随机叶子节点为存储所述新增数据块的默克尔树节点,所述更新数据至少包括一个新增数据块。
生成所述新增数据块对应的目标随机叶子节点,并将所述新增数据块输入所述目标哈希编码模型,获得所述新增数据块对应的输出哈希编码值,具体地,生成各所述新增数据块对应的目标随机叶子节点,并将各所述新增数据块输入所述目标哈希编码模型,分别对各所述新增数据块进行哈希编码,获得各所述新增数据块对应的输出哈希编码值,其中,属于同一数据类别的新增数据块对应同一所述输出哈希编码值。
步骤S32,基于所述输出哈希编码值,匹配所述目标随机叶子节点对应的目标父节点;
在本实施例中,需要说明的是,一所述目标父节点对应一所述目标哈希编码值。
基于所述输出哈希编码值,匹配所述目标随机叶子节点对应的目标父节点,具体地,将每一所述输出哈希编码值分别与各所述目标哈希编码值进行对比,在各所述目标哈希编码值中分别确定与每一所述输出哈希编码值相同的选定目标哈希编码值,并将每一所述选定目标哈希编码值对应的默克尔树节点作为各所述目标随机叶子节点对应的所述目标父节点。
步骤S33,基于所述目标随机叶子节点和所述目标父节点,更新所述随机叶子节点层,获得所述目标默克尔树。
在本实施例中,基于所述目标随机叶子节点和所述目标父节点,更新所述随机叶子节点层,获得所述目标默克尔树,具体地,将各所述目标随机叶子节点分别连接至对应的目标父节点,以更新所述随机叶子节点层,获得所述目标默克尔树,进而由于各所述目标哈希编码值没有发生改变,在所述待更新默克尔树的待更新随机叶子节点需要大量更新时,无需对所述待更新随机叶子节点所在树分支的所有进行更新,只需更新随机叶子节点层,即可完成对所述待更新默克尔树的更新,进而减少了默克尔树更新时的计算量,且降低了计算复杂度。
本实施例通过获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型,进而基于所述更新数据和所述原数据集,确定目标数据集,进而基于所述目标数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型,进而基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。也即,本实施例提供了一种基于预设哈希编码模型构建的待更新默克尔树,进而当所述待更新默克尔树需要进行更新时,获取更新数据和所述待更新默克树对应的原数据集,进而基于所述更新数据和所述原数据集,进行对所述预设哈希编码模型的训练更新,获得目标哈希编码模型,进一步地,基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。也即,本实施例在更新待更新默克尔树时,无论默克树更新多少随机叶子节点上的数据,只需对所述预设哈希编码模型进行一次训练更新,进而基于训练更新获得的哈希编码模型,对待更新默克尔树的随机叶子节点层进行更新,即可完成对所述待更新默克尔树的更新,进而相比于当前的默克尔树的更新方法,当默克尔树的随机叶子节点需要更新时,只需更新默克尔树的随机叶子节点层即可完成对所述待更新默克尔树的更新,无需对随机叶子节点所在树分枝的所有节点进行更新,进而降低了默克尔树更新时的计算量,进而降低了默克尔树更新时计算复杂度,所以,解决了默克尔树更新时计算效率低的技术问题。
进一步地,参照图3,基于本申请中第一实施例,在本申请的另一实施例中,所述原数据集包括一个或者多个原数据块、以及与各所述原数据块对应的目标哈希编码值,所述待更新默克尔树包括一个或者多个随机叶子节点、一个或者多个中间节点、以及根节点,
在所述获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型步骤之前,所述默克尔树更新方法包括:
步骤B10,生成各所述原数据块对应的随机叶子节点,其中,一所述原数据块对应一所述随机叶子节点;
在本实施例中,需要说明的是,所述随机叶子节点为存储所述原数据块的默克尔树节点。
步骤B20,基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点。
在本实施例中,各所述中间节点包括一个或者多个第一层中间节点和一个或者多个第二层中间节点。
基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点,具体地,生成各所述目标哈希编码值对应的第一层中间节点,其中,所述第一层中间节点为存储所述目标哈希编码值的默克尔树节点,且一所述目标哈希编码值对应一所述第一层中间节点,进而将各所述目标哈希编码值输入所述预设哈希编码模型,分别对各所述目标哈希编码值进行哈希编码,获得各所述目标哈希编码值对应的第二层哈希编码值,其中,一所述第二层哈希编码值属于同一数据类别的一个或者多个目标哈希编码值,进而生成各所述第二层哈希编码值对应的第二层中间节点,进而将所述第二层哈希编码值作为所述预设哈希编码模型的输入,继续生成其他各层的中间节点,直至所述预设哈希编码模型输出单个哈希编码值,并生成所述单个哈希编码值对应的根节点,以完成所述待更新默克尔树的构建。
其中,各所述中间节点包括一个或者多个第一层中间节点、以及一个或者多个上层中间节点;
所述基于各所述目标哈希值和所述预设哈希编码模型,生成各所述中间节点和所述根节点的步骤包括:
步骤B21,生成各所述目标哈希编码值对应的第一层中间节点,其中,一所述目标哈希编码值对应一所述第一层中间节点;
在本实施例中,需要说明的是,所述第一层中间节点为存储所述目标哈希编码值的默克尔树节点。
步骤B22,基于所述预设哈希编码模型,循环生成各所述第一层中间节点对应的上层中间节点,直至获得所述根节点。
在本实施例中,基于所述预设哈希编码模型,循环生成各所述第一层中间节点对应的上层中间节点,直至获得所述根节点,具体地,将各所述第一层中间节点对应的目标哈希编码值输入所述预设哈希编码模型,输出各所述目标哈希编码值对应的第二层哈希编码值,进而生成各所述第二层哈希编码值对应的第二层中间节点,进一步地,基于所述预设哈希编码模型,继续生成其他各层的中间节点,直至所述预设哈希编码模型输出单个哈希编码值,并生成所述单个哈希编码值对应的根节点,以完成所述待更新默克尔树的构建。
本实施例首先生成各所述原数据块对应的随机叶子节点,其中,一所述原数据块对应一所述随机叶子节点,进而基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点。也即,本实施例提供了一种基于预设哈希编码模型构建默克尔树的方法,也即,首先生成各所述原数据块对应的随机叶子节点,进而生成各所述目标哈希编码值对应的中间节点,进一步地,基于所述预设哈希编码模型和各所述目标哈希编码值,即可生成其余的各中间节点和根节点,进而完成所述待更新默克尔树的构建,所以,由于本实施例可直接基于预设哈希编码模型,直接生成输入数据块对应的哈希编码值,无需对每一输入数据块进行复杂的哈希变换,进而提高了默克尔树的构建效率,进一步地,在更新所述待更新默克尔树时,只需对所述待更新默克树的预设哈希编码模型进行一次训练更新,即可完成对所述待更新默克尔树的更新,避免了在更新待更新默克尔树时,需对随机叶子节点所在树分枝的所有节点进行更新的情况发生,进而降低了默克尔树更新时的计算量,进一步地,降低了默克尔树更新时计算复杂度,所以,为解决默克尔树更新时计算效率低的技术问题奠定了基础。
参照图4,图4是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图4所示,该默克尔树更新设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该默克尔树更新设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图4中示出的默克尔树更新设备结构并不构成对默克尔树更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块以及默克尔树更新程序。操作***是管理和控制默克尔树更新设备硬件和软件资源的程序,支持默克尔树更新程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与默克尔树更新***中其它硬件和软件之间通信。
在图4所示的默克尔树更新设备中,处理器1001用于执行存储器1005中存储的默克尔树更新程序,实现上述任一项所述的默克尔树更新方法的步骤。
本申请默克尔树更新设备具体实施方式与上述默克尔树更新方法各实施例基本相同,在此不再赘述。
本申请实施例还提供一种默克尔树更新装置,所述默克尔树更新装置应用于默克尔树更新设备,所述默克尔树更新装置包括:
确定模块,用于获取更新数据和待更新默克尔树,并确定所述待更新默克树对应的原数据集和预设哈希编码模型;
训练模块,用于基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型;
更新模块,用于基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树。
可选地,所述更新模块包括:
哈希编码子模块,用于生成所述新增数据块对应的目标随机叶子节点,并将所述新增数据块输入所述目标哈希编码模型,获得所述新增数据块对应的输出哈希编码值;
匹配子模块,用于基于所述输出哈希编码值,匹配所述目标随机叶子节点对应的目标父节点;
更新子模块,用于基于所述目标随机叶子节点和所述目标父节点,更新所述随机叶子节点层,获得所述目标默克尔树。
可选地,所述训练模块包括:
提取子模块,用于基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合;
迭代训练子模块,用于基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型。
可选地,迭代训练子模块包括:
哈希编码单元,用于将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值;
比对单元,用于计算所述初始哈希编码值和所述目标哈希编码值之间的训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对;
第一判定单元,用于若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述预设哈希编码模型未达到所述预设迭代结束条件,并基于所述初始哈希编码值优化所述极化损失函数;
重新训练单元,用于基于优化后的所述极化损失函数,重新训练所述预设哈希编码模型,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值;
第二判定单元,用于若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,并将所述预设哈希编码模型作为所述目标哈希编码模型。
可选地,所述哈希编码单元包括:
哈希子单元,用于将所述训练数据输入所述预设哈希编码模型,对所述训练数据进行哈希,获得训练哈希结果;
极化子单元,用于基于所述极化损失函数,对所述训练哈希结果进行极化,获得极化结果;
确定子单元,用于基于所述极化结果,确定所述初始哈希编码值。
可选地,所述默克尔树更新装置还包括:
第一生成模块,用于生成各所述原数据块对应的随机叶子节点,其中,一所述原数据块对应一所述随机叶子节点;
第二生成模块,用于基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点。
可选地,所述第二生成模块包括:
生成子模块,用于生成各所述目标哈希编码值对应的第一层中间节点,其中,一所述目标哈希编码值对应一所述第一层中间节点;
循环生成子模块,用于基于所述预设哈希编码模型,循环生成各所述第一层中间节点对应的上层中间节点,直至获得所述根节点。
本申请默克尔树更新装置的具体实施方式与上述默克尔树更新方法各实施例基本相同,在此不再赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。

Claims (10)

1.一种默克尔树更新方法,其特征在于,所述默克尔树更新方法包括:
获取更新数据和待更新默克尔树,并确定所述待更新默克尔树对应的原数据集和预设哈希编码模型;
基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型;
基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树;
其中,所述基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型的步骤包括:
基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合,其中,所述目标数据集包括一个或者多个训练数据块,所述数据类别集合包括各所述训练数据块对应的数据类别;
获取所述数据类别集合对应的目标哈希编码值集合,并确定所述目标数据集对应的训练数据和所述目标哈希编码值集合对应的目标哈希编码值,其中,所述目标哈希编码值集合包括各所述数据类别对应的目标哈希编码值;
基于所述训练数据和所述目标哈希编码值,对预设哈希编码模型进行迭代训练更新,直至满足预设迭代结束条件,获得所述目标哈希编码模型。
2.如权利要求1所述默克尔树更新方法,其特征在于,所述更新数据包括新增数据块,
所述基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树的步骤包括:
生成所述新增数据块对应的目标随机叶子节点,并将所述新增数据块输入所述目标哈希编码模型,获得所述新增数据块对应的输出哈希编码值;
基于所述输出哈希编码值,匹配所述目标随机叶子节点对应的目标父节点;
基于所述目标随机叶子节点和所述目标父节点,更新所述随机叶子节点层,获得所述目标默克尔树。
3.如权利要求1所述默克尔树更新方法,其特征在于,所述基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型的步骤包括:
基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合;
获取所述数据类别集合对应的目标哈希编码值集合,并确定所述目标数据集对应的训练数据和所述目标哈希编码值集合对应的目标哈希编码值;
基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型。
4.如权利要求3所述默克尔树更新方法,其特征在于,所述基于所述训练数据和所述目标哈希编码值,对所述预设哈希编码模型进行迭代训练,以优化所述预设哈希编码模型对应的极化损失函数,直至所述预设哈希编码模型达到预设迭代结束条件,获得所述目标哈希编码模型的步骤包括:
将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值;
计算所述初始哈希编码值和所述目标哈希编码值之间的训练汉明距离,并将所述训练汉明距离与预设汉明距离阀值进行比对;
若所述训练汉明距离大于所述预设汉明距离阀值,则判定所述预设哈希编码模型未达到所述预设迭代结束条件,并基于所述初始哈希编码值优化所述极化损失函数;
基于优化后的所述极化损失函数,重新训练所述预设哈希编码模型,直至所述训练汉明距离小于或者等于所述预设汉明距离阀值;
若所述训练汉明距离小于或者等于所述预设汉明距离阀值,则判定所述预设哈希编码模型达到所述预设迭代结束条件,并将所述预设哈希编码模型作为所述目标哈希编码模型。
5.如权利要求4所述默克尔树更新方法,其特征在于,所述将所述训练数据输入所述预设哈希编码模型,以基于所述极化损失函数,对所述训练数据进行哈希编码,获得初始哈希编码值的步骤包括:
将所述训练数据输入所述预设哈希编码模型,对所述训练数据进行哈希,获得训练哈希结果;
基于所述极化损失函数,对所述训练哈希结果进行极化,获得极化结果;
基于所述极化结果,确定所述初始哈希编码值。
6.如权利要求1所述默克尔树更新方法,其特征在于,所述原数据集包括一个或者多个原数据块、以及与各所述原数据块对应的目标哈希编码值,所述待更新默克尔树包括一个或者多个随机叶子节点、一个或者多个中间节点、以及根节点,
在所述获取更新数据和待更新默克尔树,并确定所述待更新默克尔树对应的原数据集和预设哈希编码模型步骤之前,所述默克尔树更新方法还包括:
生成各所述原数据块对应的随机叶子节点,其中,一所述原数据块对应一所述随机叶子节点;
基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点。
7.如权利要求6所述默克尔树更新方法,其特征在于,各所述中间节点包括一个或者多个第一层中间节点、以及一个或者多个上层中间节点;
所述基于各所述目标哈希编码值和所述预设哈希编码模型,生成各所述中间节点和所述根节点的步骤包括:
生成各所述目标哈希编码值对应的第一层中间节点,其中,一所述目标哈希编码值对应一所述第一层中间节点;
基于所述预设哈希编码模型,循环生成各所述第一层中间节点对应的上层中间节点,直至获得所述根节点。
8.一种默克尔树更新装置,其特征在于,所述默克尔树更新装置包括:
确定模块,用于获取更新数据和待更新默克尔树,并确定所述待更新默克尔树对应的原数据集和预设哈希编码模型;
训练模块,用于基于所述更新数据和所述原数据集,对所述预设哈希编码模型进行训练更新,获得目标哈希编码模型;
更新模块,用于基于所述目标哈希编码模型和所述更新数据,更新所述待更新默克尔树的随机叶子节点层,获得目标默克尔树;
其中,所述训练模块还用于:
基于所述更新数据和所述原数据集,确定目标数据集,并确定所述目标数据集对应的数据类别集合,其中,所述目标数据集包括一个或者多个训练数据块,所述数据类别集合包括各所述训练数据块对应的数据类别;
获取所述数据类别集合对应的目标哈希编码值集合,并确定所述目标数据集对应的训练数据和所述目标哈希编码值集合对应的目标哈希编码值,其中,所述目标哈希编码值集合包括各所述数据类别对应的目标哈希编码值;
基于所述训练数据和所述目标哈希编码值,对预设哈希编码模型进行迭代训练更新,直至满足预设迭代结束条件,获得所述目标哈希编码模型。
9.一种默克尔树更新设备,其特征在于,所述默克尔树更新设备包括:存储器、处理器以及存储在存储器上的用于实现所述默克尔树更新方法的程序,
所述存储器用于存储实现默克尔树更新方法的程序;
所述处理器用于执行实现所述默克尔树更新方法的程序,以实现如权利要求1至7中任一项所述默克尔树更新方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现默克尔树更新方法的程序,所述实现默克尔树更新方法的程序被处理器执行以实现如权利要求1至7中任一项所述默克尔树更新方法的步骤。
CN202010453608.5A 2020-05-22 2020-05-22 默克尔树更新方法、装置、设备及可读存储介质 Active CN111625258B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010453608.5A CN111625258B (zh) 2020-05-22 2020-05-22 默克尔树更新方法、装置、设备及可读存储介质
PCT/CN2021/093397 WO2021233182A1 (zh) 2020-05-22 2021-05-12 默克尔树更新方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010453608.5A CN111625258B (zh) 2020-05-22 2020-05-22 默克尔树更新方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111625258A CN111625258A (zh) 2020-09-04
CN111625258B true CN111625258B (zh) 2021-08-27

Family

ID=72260731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010453608.5A Active CN111625258B (zh) 2020-05-22 2020-05-22 默克尔树更新方法、装置、设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN111625258B (zh)
WO (1) WO2021233182A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625258B (zh) * 2020-05-22 2021-08-27 深圳前海微众银行股份有限公司 默克尔树更新方法、装置、设备及可读存储介质
CN114281793A (zh) * 2020-09-28 2022-04-05 华为技术有限公司 数据校验方法、装置和***
CN112380209B (zh) * 2020-10-29 2021-08-20 华东师范大学 一种面向区块链多通道状态数据的聚集结构树方法
CN112559518A (zh) * 2020-12-10 2021-03-26 杭州趣链科技有限公司 默克尔树更新方法、终端设备及存储介质
CN113377979B (zh) * 2021-06-09 2023-09-19 中国国家铁路集团有限公司 一种基于默克尔树的列车开行方案对比生成优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868369A (zh) * 2016-03-30 2016-08-17 电子科技大学 一种基于Merkle树结构的数据模型验证***与方法
CN106897368A (zh) * 2017-01-16 2017-06-27 西安电子科技大学 Merkle哈希求和树及其可验证数据库更新操作方法
WO2018109260A1 (en) * 2016-12-16 2018-06-21 Nokia Technologies Oy Secure document management
CN109829549A (zh) * 2019-01-30 2019-05-31 宁波大学 基于演化树的哈希学习方法及其无监督的在线哈希学习方法
CN110033264A (zh) * 2019-01-31 2019-07-19 阿里巴巴集团控股有限公司 构建区块对应的梅克尔树、简单支付验证方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218574A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于哈希树的数据动态操作可验证性方法
CN105512273A (zh) * 2015-12-03 2016-04-20 中山大学 一种基于可变长深度哈希学习的图像检索方法
CN106845280A (zh) * 2017-03-14 2017-06-13 广东工业大学 一种Merkle哈希树云数据完整性审计方法及***
CN110134803B (zh) * 2019-05-17 2020-12-11 哈尔滨工程大学 基于哈希学习的图像数据快速检索方法
CN110704664B (zh) * 2019-08-28 2022-04-05 宁波大学 一种哈希检索方法
CN110688501B (zh) * 2019-08-28 2022-04-05 宁波大学 一种基于深度学习的全卷积网络的哈希检索方法
CN111625258B (zh) * 2020-05-22 2021-08-27 深圳前海微众银行股份有限公司 默克尔树更新方法、装置、设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868369A (zh) * 2016-03-30 2016-08-17 电子科技大学 一种基于Merkle树结构的数据模型验证***与方法
WO2018109260A1 (en) * 2016-12-16 2018-06-21 Nokia Technologies Oy Secure document management
CN106897368A (zh) * 2017-01-16 2017-06-27 西安电子科技大学 Merkle哈希求和树及其可验证数据库更新操作方法
CN109829549A (zh) * 2019-01-30 2019-05-31 宁波大学 基于演化树的哈希学习方法及其无监督的在线哈希学习方法
CN110033264A (zh) * 2019-01-31 2019-07-19 阿里巴巴集团控股有限公司 构建区块对应的梅克尔树、简单支付验证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Merkle Tree学习;风之舞555;《博客园:https://www.cnblogs.com/fengzhiwu/p/5524324.html》;20160527;第1-17页 *

Also Published As

Publication number Publication date
CN111625258A (zh) 2020-09-04
WO2021233182A1 (zh) 2021-11-25

Similar Documents

Publication Publication Date Title
CN111625258B (zh) 默克尔树更新方法、装置、设备及可读存储介质
CN111626408B (zh) 哈希编码方法、装置、设备及可读存储介质
CN111967609B (zh) 模型参数验证方法、设备及可读存储介质
US8538938B2 (en) Interactive proof to validate outsourced data stream processing
CN111368901A (zh) 基于联邦学习的多方联合建模方法、设备和介质
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
WO2021232747A1 (zh) 数据确权方法、设备及可读存储介质
Ghosh et al. Communication-efficient and byzantine-robust distributed learning with error feedback
CN112100450A (zh) 一种图计算数据分割方法、终端设备及存储介质
WO2021233183A1 (zh) 神经网络校验方法、装置、设备及可读存储介质
CN113011529A (zh) 文本分类模型的训练方法、装置、设备及可读存储介质
CN106227881A (zh) 一种信息处理方法及服务器
CN116957112A (zh) 联合模型的训练方法、装置、设备及存储介质
CN114462582A (zh) 基于卷积神经网络模型的数据处理方法及装置、设备
CN114239237A (zh) 一种支持数字孪生的配电网仿真场景生成***与方法
WO2022148087A1 (zh) 编程语言翻译模型的训练方法、装置、设备及存储介质
CN108717444A (zh) 一种基于分布式结构的大数据聚类方法和装置
CN114298319A (zh) 联合学习贡献值的确定方法、装置、电子设备及存储介质
CN115114442A (zh) 知识图谱的更新方法和装置、存储介质及电子设备
CN111445030A (zh) 基于逐步回归法的联邦建模方法、设备和可读存储介质
Nguyen et al. Optimize coding and node selection for coded distributed computing over wireless edge networks
CN111033532B (zh) 生成对抗网络的训练方法和***、电子设备和存储介质
CN113572679B (zh) 账户亲密度的生成方法、装置、电子设备和存储介质
CN111949839B (zh) 数据关联方法、电子设备及介质
CN113824546B (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