CN106650496B - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN106650496B
CN106650496B CN201611170864.3A CN201611170864A CN106650496B CN 106650496 B CN106650496 B CN 106650496B CN 201611170864 A CN201611170864 A CN 201611170864A CN 106650496 B CN106650496 B CN 106650496B
Authority
CN
China
Prior art keywords
target
hash value
binary tree
data
transaction
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
CN201611170864.3A
Other languages
English (en)
Other versions
CN106650496A (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.)
Shanghai Canaan Jiesi Information Technology Co ltd
Original Assignee
Hangzhou Canaan Creative Information Technology 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 Hangzhou Canaan Creative Information Technology Ltd filed Critical Hangzhou Canaan Creative Information Technology Ltd
Priority to CN201611170864.3A priority Critical patent/CN106650496B/zh
Publication of CN106650496A publication Critical patent/CN106650496A/zh
Application granted granted Critical
Publication of CN106650496B publication Critical patent/CN106650496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法及装置,用以提高数据保全效率,降低数据保全成本。所述方法包括:接收目标用户发送的待保全数据;计算所述待保全数据对应的哈希值;将所述待保全数据对应的哈希值存储于目标数据块中;判断所述目标数据块是否满足预设要求;当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;计算所述目标二叉树根节点的哈希值;将所述目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中。采用本发明所提供的方法,实现了对多条带保全数据的批量保全,提高了数据保全的效率,降低了数据保全的成本。

Description

一种数据处理方法及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种数据处理方法及装置。
背景技术
区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块,每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接下一个数据库块。
由于存储在区块链中的数据不易丢失和篡改,因此,在数据保全和数据公证领域都有着重要作用。在进行数据保全时,将数据对应的哈希值存储在区块链中,并在交易获得预设次数的确认之后,确定数据保全成功。
然而,区块链中交易确认的周期较长,当有多条数据需要保全时,每条数据对应的哈希值在存储至区块链中之后,都需要等待较长的时间来保证哈希值所在交易获得了足够次数的确认,因而,保全效率较低。其次,每一笔交易都需要交纳一定的费用,且每一笔交易都需要占用区块链的一部分存储空间,当有多条数据需要保全时,需要较高的保全成本,因而,如何提出一种数据处理方法,以提高数据保全的效率,降低数据保全成本是一亟待解决的技术问题。
发明内容
本发明提供一种数据处理方法及装置,用以提高数据保全效率,降低数据保全成本。
本发明提供一种数据处理方法,包括:
接收目标用户发送的待保全数据;
计算所述待保全数据对应的哈希值;
将所述待保全数据对应的哈希值存储于目标数据块中;
判断所述目标数据块是否满足预设要求;
当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;
计算所述目标二叉树根节点的哈希值;
将所述目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中。
本发明的有益效果在于:通过多条待保全数据对应的哈希值构造目标二叉树,并将目标二叉树根节点的哈希值存储在用于进行虚拟货币交易的目标区块链中,实现了对多条带保全数据的批量保全,提高了数据保全的效率,降低了数据保全的成本。
在一个实施例中,在将所述目标二叉树根节点的哈希值存储至所述目标区块链中之后,所述方法还包括:
判断所述哈希值所在交易得到确认的次数是否达到预设次数阈值;
当所述哈希值所在交易得到确认的次数达到预设次数阈值时,提取所述哈希值所在交易的交易标识;
将所述交易标识发送给所述目标用户。
本实施例的有益效果在于:由于区块链中的交易得到确认的次数越多,则越不容易被篡改,因而,当目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时才提取该交易对应的标识,降低了交易被篡改的可能性,提高了数据保全的安全性。
在一个实施例中,所述当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树,包括:
当当前时间与上次生成二叉树的时间的间隔达到预设时间间隔时,获取上次生成二叉树之后新增的哈希值;
根据所述新增的哈希值构造目标二叉树。
本实施例的有益效果在于:根据预设时间间隔将该时间间隔内新增加的哈希值生成目标二叉树,从而实现了对新增数据的自动保全。
在一个实施例中,所述当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树,包括:
当上次生成二叉树之后所述目标数据块中新增的哈希值达到预设数目时,根据所述新增的哈希值构造目标二叉树。
本实施例的有益效果在于:当上次生成二叉树之后所述目标数据块中新增的哈希值达到预设数目时,根据新增加的哈希值生成目标二叉树,从而实现了对新增数据的自动保全。
在一个实施例中,所述方法还包括:
接收所述目标用户发送的对第一目标数据的验证请求,其中,所述验证请求中包括所述第一目标数据、所述第一目标数据对应的交易标识和预设二叉树路径,所述预设二叉树路径记录有所述第一目标数据对应的哈希值在所述预设二叉树路径中的位置;
计算所述第一目标数据对应的哈希值;
将所述第一目标数据对应的哈希值代入所述预设二叉树路径中计算所述预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
从所述目标区块链中查找所述第一目标数据对应的交易标识所标识的第一目标交易;
提取所述第一目标交易中所存储的第二目标哈希值,并与所述第一目标哈希值进行比对;
当所述第一目标哈希值与所述第二目标哈希值比对结果一致时,确定所述第一目标数据验证通过。
本实施例的有益效果在于:通过将第一目标数据对应的哈希值代入预设二叉树路径中,得到预设二叉树路径所对应的二叉树根节点的第一目标哈希值,并将第一目标哈希值和第一目标数据进行保全时生成的第二目标哈希值进行比对,实现了对特定数据的验证。
在一个实施例中,所述方法还包括:
接收所述目标用户发送的对多条第二目标数据的验证请求,其中,所述验证请求中包括所述第二目标数据以及所述第二目标数据对应的交易标识;
计算每条第二目标数据对应的哈希值;
根据所述第二目标数据对应的哈希值构造二叉树;
计算所述二叉树根节点的第三目标哈希值;
从所述目标区块链中查找所述第二目标数据对应的交易标识所标识的第二目标交易;
提取所述第二目标交易中所存储的第四目标哈希值,并与所述第三目标哈希值进行比对;
当所述第三目标哈希值与所述第四目标哈希值比对结果一致时,确定所述第二目标数据验证通过。
本实施例的有益效果在于:计算接收到的多条第二目标数据的哈希值,构造二叉树,从而得到第二目标数据对应的第三目标哈希值,并将第三目标哈希值和第二目标数据进行保全时生成的第四目标哈希值进行比对,实现了对多条数据的整体验证。
本发明还提供一种数据处理装置,包括:
第一接收模块,用于接收目标用户发送的待保全数据;
第一计算模块,用于计算所述待保全数据对应的哈希值;
第一存储模块,用于将所述待保全数据对应的哈希值存储于目标数据块中;
第一判断模块,用于判断所述目标数据块是否满足预设要求;
第一构造模块,用于当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;
第二计算模块,用于计算所述目标二叉树根节点的哈希值;
第二存储模块,用于将所述目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中。
在一个实施例中,所述装置还包括:
第二判断模块,用于在将所述目标二叉树根节点的哈希值存储至所述目标区块链中之后,判断所述目标二叉树根节点的哈希值所在交易得到确认的次数是否达到预设次数阈值;
第一提取模块,用于当所述目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时,提取所述目标二叉树根节点的哈希值所在交易的交易标识;
发送模块,用于将所述交易标识发送给所述目标用户。
在一个实施例中,所述第一构造模块,包括:
获取子模块,用于当当前时间与上次生成二叉树的时间的间隔达到预设时间间隔时,获取上次生成二叉树之后新增的哈希值;
第一构造子模块,用于根据所述新增的哈希值构造目标二叉树。
在一个实施例中,所述第一构造模块,包括:
第二构造子模块,用于当上次生成二叉树之后所述目标数据块中新增的哈希值达到预设数目时,根据所述新增的哈希值构造目标二叉树。
在一个实施例中,所述装置还包括:
第二接收模块,用于接收所述目标用户发送的对第一目标数据的验证请求,其中,所述验证请求中包括所述第一目标数据、所述第一目标数据对应的交易标识和预设二叉树路径,所述预设二叉树路径记录有所述第一目标数据对应的哈希值在所述预设二叉树路径中的位置;
第二计算模块,用于计算所述第一目标数据对应的哈希值;
第三计算模块,用于将所述第一目标数据对应的哈希值代入所述预设二叉树路径中计算所述预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
第一查找模块,用于从所述目标区块链中查找所述第一目标数据对应的交易标识所标识的第一目标交易;
第二提取模块,用于提取所述第一目标交易中所存储的第二目标哈希值,并与所述第一目标哈希值进行比对;
第一确定模块,用于当所述第一目标哈希值与所述第二目标哈希值比对结果一致时,确定所述第一目标数据验证通过。
在一个实施例中,所述装置还包括:
第三接收模块,用于接收所述目标用户发送的对多条第二目标数据的验证请求,其中,所述验证请求中包括所述第二目标数据以及所述第二目标数据对应的交易标识;
第四计算模块,用于计算每条第二目标数据对应的哈希值;
第二构造模块,用于根据所述第二目标数据对应的哈希值构造二叉树;
第五计算模块,用于计算所述二叉树根节点的第三目标哈希值;
第二查找模块,用于从所述目标区块链中查找所述第二目标数据对应的交易标识所标识的第二目标交易;
第三提取模块,用于提取所述第二目标交易中所存储的第四目标哈希值,并与所述第三目标哈希值进行比对;
第一确定模块,用于当所述第三目标哈希值与所述第四目标哈希值比对结果一致时,确定所述第二目标数据验证通过。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明一实施例中数据处理方法的流程图;
图2为本发明一实施例中数据处理方法的流程图;
图3为本发明一实施例中数据处理方法的流程图;
图4为本发明一实施例中数据处理方法的流程图;
图5为本发明一实施例中数据处理方法的流程图;
图6为本发明一实施例中数据处理装置的框图;
图7为本发明一实施例中数据处理装置的框图;
图8为本发明一实施例中数据处理装置的框图;
图9为本发明一实施例中数据处理装置的框图;
图10为本发明一实施例中数据处理装置的框图;
图11为本发明一实施例中数据处理装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
区块链技术是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块,每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接下一个数据库块。
区块链能实现全球数据信息的分布式记录(可以由系统参与者集体记录,而非由一个中心化的机构集中记录)与分布式存储(可以存储在所有参与记录数据的节点中,而非集中存储于中心化的机构节点中)。
区块链技术可以在信息不对称、不确定的环境下,建立满足经济活动赖以发生、发展的“信任”生态体系。区块链以数学算法(程序)作为背书,所有的规则都建立一个公开透明的数学算法(程序)之上,能够让所有不同政治文化背景的人群获得共识,解决价值转移和信用转移。
存储在进行虚拟货币交易的区块链中的数据不易丢失和篡改,然而,由于区块链中交易确认的周期较长,每一笔交易都需要交纳一定的费用,且每一笔交易都需要占用区块链的一部分存储空间,当有多条数据需要保全时,保全效率较低,成本较高,基于此,本发明提供一种数据处理方法,用来解决当有多条数据需要保全时,保全效率较低,保全成本较高的问题。
图1为本发明一实施例中数据处理方法的流程图,如图1所示,本发明中识别码处理方法可用于提供公证服务的机构所对应的服务器,该方法包括如下步骤S101-S107:
在步骤S101中,接收目标用户发送的待保全数据;
在步骤S102中,计算待保全数据对应的哈希值;
在步骤S103中,将待保全数据对应的哈希值存储于目标数据块中;
在步骤S104中,判断目标数据块是否满足预设要求;
在步骤S105中,当目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;
在步骤S106中,计算目标二叉树根节点的哈希值;
在步骤S107中,将目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中。
本实施例中,在接收到目标用户发送的待保全数据时,计算待保全数据对应的哈希值;将待保全数据对应的哈希值存储于目标数据块中。
数据块是一组或几组按顺序连续排列在一起的记录。本实施例中的目标数据块,是根据接收到的多条待保全数据对应的哈希值来构造的。
每当接收到待保全数据时,将每条待保全数据对应的哈希值存储在该目标数据块中。
具体而言,对目标数据块进行监控,判断该目标数据块是否满足预设要求(如新增加的哈希值数目达到100个或者当前时间距上次构造二叉树的时间间隔达到1小时),则根据将新增加的哈希值构造目标二叉树。
该目标二叉树中,只要知道底层节点上的哈希值,就能够根据预先规定的哈希函数求得具有相同父节点两个子节点对应的父节点的哈希值,因而,不管构造的二叉树有几层,只要知道底层节点,就可以通过一定次数的计算得到该二叉树根节点的哈希值。当计算出目标二叉树根节点的哈希值后,将目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中。
本发明的有益效果在于:通过多条待保全数据对应的哈希值构造目标二叉树,并将目标二叉树根节点的哈希值存储在用于进行虚拟货币交易的目标区块链中,实现了对多条待保全数据的批量保全,提高了数据保全的效率,降低了数据保全的成本。
在一个实施例中,如图2所示,在步骤S107之后,方法还可被实施为如下步骤S201-S203:
在步骤S201中,判断目标二叉树根节点的哈希值所在交易得到确认的次数是否达到预设次数阈值;
在步骤S202中,当目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时,提取目标二叉树根节点的哈希值所在交易的交易标识;
在步骤S203中,将交易标识发送给目标用户。
区块链不可更改的原理是一个交易被加入到一个区块中,需要10分钟得到交易的确认,之后的所有区块都会包含该交易,每增加一个区块意味着新增一次确认。因而,时间越久,获得的确认次数越多,交易越不易被篡改。因为想要进行修改,必须重新构造后面的区块。当最终创建的区块长度超过原主分支区块,成为新的主分支。也就是说,其他人想要对交易进行篡改,其设备必须具备比区块链全网的算力还要强大的算力,才可能对交易进行篡改,而目标并不存在这样的设备。
基于上述原因,本实施例中,在将目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中之后,为了防止被他人篡改。还需要等待一定时间,以使得目标二叉树根节点的哈希值所在的交易得到预设次数的确认。当目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时,则认为该哈希值所在交易已经无法被篡改。提取该哈希值所在交易的交易标识,并将该交易标识返回给发送待保全请求的目标用户。
另外,上述提到了获得的确认次数越多,交易越不易被篡改,因而,交易得到确认的次数也可以根据数据的重要程度来确定,重要程度越高,所需的确认次数越高。
本实施例的有益效果在于:由于区块链中的交易得到确认的次数越多,则越不容易被篡改,因而,当目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时才提取该交易对应的标识,降低了交易被篡改的可能性,提高了数据保全的安全性。
在一个实施例中,如图3所示,上述步骤S105可被实施为如下步骤S301-S302:
在步骤S301中,当当前时间与上次生成二叉树的时间的间隔达到预设时间间隔时,获取上次生成二叉树之后新增的哈希值;
在步骤S302中,根据新增的哈希值构造目标二叉树。
由于待保全数据会不断更新,因而,需要对新增加的或修改的数据生成新的哈希值,并将哈希值存储在目标数据块中。
本实施例中,每隔一段时间,获取区块链中在该段时间内新增加的哈希值,并根据新增加的哈希值生成目标二叉树。例如,预设时间间隔为一小时,每个整点将数据块中新增加的哈希值生成二叉树。假设在预设时间间隔内新增有4个哈希值,则将这4个哈希值作为二叉树的底层子节点,根据预先规定的哈希函数,能够得到两个父节点,进而根据这两个父节点得到二叉树的根节点。
另外,当预设时间间隔之内没有新增加的哈希值时,则可暂不生成二叉树,等到下一个整点,通过距当前时间两小时内的哈希值共同生成二叉树。
当预设时间间隔之内新增加的哈希值只有一个时。该哈希值可以自身复制,来得到两个或两个以上的底层子节点,进而满足构造二叉树的要求。
本实施例的有益效果在于:根据预设时间间隔将该时间间隔内新增加的哈希值生成目标二叉树,从而实现了对新增数据的自动保全。
在一个实施例中,上述步骤S105可被实施为如下步骤:
当上次生成二叉树之后目标数据块中新增的哈希值达到预设数目时,根据新增的哈希值构造目标二叉树。
本实施例中,在上次生成二叉树之后,当数据块中新增加的哈希值达到预设数目时,根据新增加的哈希值生成目标二叉树。
本实施例的有益效果在于:当上次生成二叉树之后目标数据块中新增的哈希值达到预设数目时,根据新增加的哈希值生成目标二叉树,从而实现了对新增数据的自动保全。
在一个实施例中,如图4所示,在上述步骤S107之后,方法还可被实施为如下步骤S401-S406:
在步骤S401中,接收目标用户发送的对第一目标数据的验证请求,其中,验证请求中包括第一目标数据、第一目标数据对应的交易标识和预设二叉树路径,预设二叉树路径记录有第一目标数据对应的哈希值在预设二叉树路径中的位置;
在步骤S402中,计算第一目标数据对应的哈希值;
在步骤S403中,将第一目标数据对应的哈希值代入预设二叉树路径中计算预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
在步骤S404中,从目标区块链中查找第一目标数据对应的交易标识所标识的第一目标交易;
在步骤S405中,提取第一目标交易中所存储的第二目标哈希值,并与第一目标哈希值进行比对;
在步骤S406中,当第一目标哈希值与第二目标哈希值比对结果一致时,确定第一目标数据验证通过。
本实施例适用于对上述批量保全的数据中某特定数据的验证。
用户将数据保存在区块链中,是为了对数据进行保全,而在对数据进行保全之后,为避免自己手中的数据被其他人篡改,则可以向其进行数据保全时所在的公证机构去验证数据。
在验证时,用户需要向公正机构所在的服务器发送对数据进行验证的请求,该验证请求中,包括要验证的数据;要验证的数据在保全时,公证机构向其发送的用来标识保全数据所在交易的交易标识;以及数据在保全时,根据批量数据哈希值构造的二叉树的路径。
该二叉树路径记录有从第一目标数据对应的哈希值所在叶子结点位置到根节点之间路径上所有节点的哈希值。例如,当该目标数据对应的哈希值A1在二叉树中的位置为最底层最左边,则需要知道二叉树中该哈希值A1右边与该哈希值A1具有同一父节点的哈希值B1,由于根据预先设定的哈希函数能够计算出A1和B1的父节点A2,因而,该路径中只需要记录该哈希值A2右边与该哈希值A2具有同一父节点的哈希值B2,而无需记录A2的值。进而,能够减少用户与公证机构之间的数据传输,提高传输速度。
公证机构在接收到用户发送的验证请求时,计算该验证请求中要验证的数据对应的哈希值。将要验证的数据对应的哈希值代入用户所提供的二叉树的路径中,计算该二叉树路径所对应的二叉树根节点的第一目标哈希值。
同时,公证机构根据用户提供的交易标识,从目标区块链中查找该交易标识所标识的交易。提取该交易中所存储的第二目标哈希值,并将该第二目标哈希值与之前计算的第一目标哈希值进行比对。
当第一目标哈希值与第二目标哈希值的比对结果一致时,说明要验证的数据未被修改,则确定该数据的验证通过。
需要说明的是,上述步骤S101-S107所对应的数据保全方案,既可以由执行上述步骤S40-S406的公证机构来完成,也可以由只提供保全服务的保全机构来完成。
本实施例的有益效果在于:通过将第一目标数据对应的哈希值代入预设二叉树路径中,得到预设二叉树路径所对应的二叉树根节点的第一目标哈希值,并将第一目标哈希值和第一目标数据进行保全时生成的第二目标哈希值进行比对,实现了对特定数据的验证。
在一个实施例中,如图5所示,在上述步骤S107之后,方法还可被实施为如下步骤S501-S507:
在步骤S501中,接收目标用户发送的对多条第二目标数据的验证请求,其中,验证请求中包括第二目标数据以及第二目标数据对应的交易标识;
在步骤S502中,计算每条第二目标数据对应的哈希值;
在步骤S503中,根据第二目标数据对应的哈希值构造二叉树;
在步骤S504中,计算二叉树根节点的第三目标哈希值;
在步骤S505中,从目标区块链中查找第二目标数据对应的交易标识所标识的第二目标交易;
在步骤S506中,提取第二目标交易中所存储的第四目标哈希值,并与第三目标哈希值进行比对;
在步骤S507中,当第三目标哈希值与第四目标哈希值比对结果一致时,确定第二目标数据验证通过。
本实施例适用于对上述批量保全的数据进行整体验证。
在验证时,用户需要向公正机构所在的服务器发送对数据进行验证的请求,该验证请求中,包括要验证的多条数据以及要验证的多条数据在保全时公证机构向其发送的用来标识保全数据所在交易的交易标识;
需要说明的是,要验证的多条数据在保全时所对应的哈希值需要在同一二叉树中。
公证机构在接收到用户发送的验证请求时,计算每条数据对应的哈希值;根据所有计算得到的哈希值构造二叉树,并计算该二叉树根节点的第三目标哈希值。
同时,公证机构根据用户提供的交易标识,从目标区块链中查找该交易标识所标识的交易。提取该交易中所存储的第四目标哈希值,并将该第四目标哈希值与之前计算的第三目标哈希值进行比对。
当第三目标哈希值与第四目标哈希值的比对结果一致时,说明要验证的数据未被修改,则确定该数据的验证通过。
另外,如果要验证的多条数据在保全时所对应的哈希值并不全部在同一二叉树中,则根据哈希值所在二叉树对这些数据进行分组,其中,位于同一二叉树的哈希值对应的数据在同一组内。
假设分组后,A组内数据的条数为100,则判断与A组哈希值对应的数据在保全时所构造的二叉树所包含的哈希值数目。
如果与A组哈希值对应数据在保全时所构造的二叉树中所包含的哈希值数目也为100,则可直接根据预先规定的哈希函数计算A组数据对应的哈希值,并根据A组数据对应的哈希值构造二叉树,并计算该二叉树根节点的第三目标哈希值。
如果与A组哈希值对应的数据在保全时所构造的二叉树中所包含的哈希值大于100,则说明A组内的数据并不是数据保全时的所有数据,则需要用户提供该组数据在保全时所构造的二叉树的路径,将A组内的数据代入该二叉树路径中求得该二叉树根节点的第三目标哈希值,并与第二目标交易所存储的第四哈希值进行比较,当第三哈希值和第四哈希值比对结果一致时,确定要验证的数据验证通过。
在分组之后,如果某组内的哈希值只有一个,则可通过上述步骤S401-S406所记载的方案来实现。
本实施例的有益效果在于:计算接收到的多条第二目标数据的哈希值,构造二叉树,从而得到第二目标数据对应的第三目标哈希值,并将第三目标哈希值和第二目标数据进行保全时生成的第四目标哈希值进行比对,实现了对多条数据的整体验证。
图6为本发明一实施例中数据处理装置的框图,如图6所示,本发明中识别码处理装置可用于提供公证服务的机构所对应的服务器,该装置包括如下模块:
第一接收模块61,用于接收目标用户发送的待保全数据;
第一计算模块62,用于计算待保全数据对应的哈希值;
第一存储模块63,用于将待保全数据对应的哈希值存储于目标数据块中;
第一判断模块64,用于判断目标数据块是否满足预设要求;
第一构造模块65,用于当目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;
第二计算模块66,用于计算目标二叉树根节点的哈希值;
第二存储模块67,用于将目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中。
在一个实施例中,如图7所示,装置还包括:
第二判断模块71,用于在将目标二叉树根节点的哈希值存储至目标区块链中之后,判断目标二叉树根节点的哈希值所在交易得到确认的次数是否达到预设次数阈值;
第一提取模块72,用于当目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时,提取目标二叉树根节点的哈希值所在交易的交易标识;
发送模块73,用于将交易标识发送给目标用户。
在一个实施例中,如图8所示,第一构造模块65,包括:
获取子模块81,用于当当前时间与上次生成二叉树的时间的间隔达到预设时间间隔时,获取上次生成二叉树之后新增的哈希值;
第一构造子模块82,用于根据新增的哈希值构造目标二叉树。
在一个实施例中,如图9所示,第一构造模块65,包括:
第二构造子模块91,用于当上次生成二叉树之后目标数据块中新增的哈希值达到预设数目时,根据新增的哈希值构造目标二叉树。
在一个实施例中,如图10所示,装置还包括:
第二接收模块101,用于接收目标用户发送的对第一目标数据的验证请求,其中,验证请求中包括第一目标数据、第一目标数据对应的交易标识和预设二叉树路径,预设二叉树路径记录有第一目标数据对应的哈希值在预设二叉树路径中的位置;
第二计算模块102,用于计算第一目标数据对应的哈希值;
第三计算模块103,用于将第一目标数据对应的哈希值代入预设二叉树路径中计算预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
第一查找模块104,用于从目标区块链中查找第一目标数据对应的交易标识所标识的第一目标交易;
第二提取模块105,用于提取第一目标交易中所存储的第二目标哈希值,并与第一目标哈希值进行比对;
第一确定模块106,用于当第一目标哈希值与第二目标哈希值比对结果一致时,确定第一目标数据验证通过。
在一个实施例中,如图11所示,装置还包括:
第三接收模块111,用于接收目标用户发送的对多条第二目标数据的验证请求,其中,验证请求中包括第二目标数据以及第二目标数据对应的交易标识;
第四计算模块112,用于计算每条第二目标数据对应的哈希值;
第二构造模块113,用于根据第二目标数据对应的哈希值构造二叉树;
第五计算模块114,用于计算二叉树根节点的第三目标哈希值;
第二查找模块115,用于从目标区块链中查找第二目标数据对应的交易标识所标识的第二目标交易;
第三提取模块116,用于提取第二目标交易中所存储的第四目标哈希值,并与第三目标哈希值进行比对;
第一确定模块117,用于当第三目标哈希值与第四目标哈希值比对结果一致时,确定第二目标数据验证通过。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (4)

1.一种数据处理方法,其特征在于,包括:
接收目标用户发送的待保全数据;
计算所述待保全数据对应的哈希值;
将所述待保全数据对应的哈希值存储于目标数据块中;
判断所述目标数据块是否满足预设要求;
当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;
计算所述目标二叉树根节点的哈希值;
将所述目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中;
在将所述目标二叉树根节点的哈希值存储至所述目标区块链中之后,所述方法还包括:
判断所述目标二叉树根节点的哈希值所在交易得到确认的次数是否达到预设次数阈值;
当所述目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时,提取所述目标二叉树根节点的哈希值所在交易的交易标识;
将所述交易标识发送给所述目标用户;
所述当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树,包括:
当当前时间与上次生成二叉树的时间的间隔达到预设时间间隔时,获取上次生成二叉树之后新增的哈希值;
根据所述新增的哈希值构造目标二叉树;
所述当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树,包括:
当上次生成二叉树之后所述目标数据块中新增的哈希值达到预设数目时,根据所述新增的哈希值构造目标二叉树;
所述方法还包括:
接收所述目标用户发送的对第一目标数据的验证请求,其中,所述验证请求中包括所述第一目标数据、所述第一目标数据对应的交易标识和预设二叉树路径,所述预设二叉树路径记录有所述第一目标数据对应的哈希值在所述预设二叉树路径中的位置;
计算所述第一目标数据对应的哈希值;
将所述第一目标数据对应的哈希值代入所述预设二叉树路径中计算所述预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
从所述目标区块链中查找所述第一目标数据对应的交易标识所标识的第一目标交易;
提取所述第一目标交易中所存储的第二目标哈希值,并与所述第一目标哈希值进行比对;
当所述第一目标哈希值与所述第二目标哈希值比对结果一致时,确定所述第一目标数据验证通过。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述目标用户发送的对多条第二目标数据的验证请求,其中,所述验证请求中包括所述第二目标数据以及所述第二目标数据对应的交易标识;
计算每条第二目标数据对应的哈希值;
根据所述第二目标数据对应的哈希值构造二叉树;
计算由所述第二目标数据对应的哈希值构造的二叉树的根节点的第三目标哈希值;
从所述目标区块链中查找所述第二目标数据对应的交易标识所标识的第二目标交易;
提取所述第二目标交易中所存储的第四目标哈希值,并与所述第三目标哈希值进行比对;
当所述第三目标哈希值与所述第四目标哈希值比对结果一致时,确定所述第二目标数据验证通过。
3.一种数据处理装置,其特征在于,包括:
第一接收模块,用于接收目标用户发送的待保全数据;
第一计算模块,用于计算所述待保全数据对应的哈希值;
第一存储模块,用于将所述待保全数据对应的哈希值存储于目标数据块中;
第一判断模块,用于判断所述目标数据块是否满足预设要求;
第一构造模块,用于当所述目标数据块满足预设要求时,根据目标哈希值构造目标二叉树;
第二计算模块,用于计算所述目标二叉树根节点的哈希值;
第二存储模块,用于将所述目标二叉树根节点的哈希值存储至用于进行虚拟货币交易的目标区块链中;
所述装置还包括:
第二判断模块,用于在将所述目标二叉树根节点的哈希值存储至所述目标区块链中之后,判断所述目标二叉树根节点的哈希值所在交易得到确认的次数是否达到预设次数阈值;
第一提取模块,用于当所述目标二叉树根节点的哈希值所在交易得到确认的次数达到预设次数时,提取所述目标二叉树根节点的哈希值所在交易的交易标识;
发送模块,用于将所述交易标识发送给所述目标用户;
所述第一构造模块,包括:
获取子模块,用于当当前时间与上次生成二叉树的时间的间隔达到预设时间间隔时,获取上次生成二叉树之后新增的哈希值;
第一构造子模块,用于根据所述新增的哈希值构造目标二叉树;
所述装置还包括:
第二接收模块,用于接收所述目标用户发送的对第一目标数据的验证请求,其中,所述验证请求中包括所述第一目标数据、所述第一目标数据对应的交易标识和预设二叉树路径,所述预设二叉树路径记录有所述第一目标数据对应的哈希值在所述预设二叉树路径中的位置;
第二计算模块,用于计算所述第一目标数据对应的哈希值;
第三计算模块,用于将所述第一目标数据对应的哈希值代入所述预设二叉树路径中计算所述预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
第一查找模块,用于从所述目标区块链中查找所述第一目标数据对应的交易标识所标识的第一目标交易;
第二提取模块,用于提取所述第一目标交易中所存储的第二目标哈希值,并与所述第一目标哈希值进行比对;
第一确定模块,用于当所述第一目标哈希值与所述第二目标哈希值比对结果一致时,确定所述第一目标数据验证通过;
所述装置还包括:
第二接收模块,用于接收所述目标用户发送的对第一目标数据的验证请求,其中,所述验证请求中包括所述第一目标数据、所述第一目标数据对应的交易标识和预设二叉树路径,所述预设二叉树路径记录有所述第一目标数据对应的哈希值在所述预设二叉树路径中的位置;
第二计算模块,用于计算所述第一目标数据对应的哈希值;
第三计算模块,用于将所述第一目标数据对应的哈希值代入所述预设二叉树路径中计算所述预设二叉树路径所对应的二叉树根节点的第一目标哈希值;
第一查找模块,用于从所述目标区块链中查找所述第一目标数据对应的交易标识所标识的第一目标交易;
第二提取模块,用于提取所述第一目标交易中所存储的第二目标哈希值,并与所述第一目标哈希值进行比对;
第一确定模块,用于当所述第一目标哈希值与所述第二目标哈希值比对结果一致时,确定所述第一目标数据验证通过。
4.如权利要求3所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于接收所述目标用户发送的对多条第二目标数据的验证请求,其中,所述验证请求中包括所述第二目标数据以及所述第二目标数据对应的交易标识;
第四计算模块,用于计算每条第二目标数据对应的哈希值;
第二构造模块,用于根据所述第二目标数据对应的哈希值构造二叉树;
第五计算模块,用于计算由所述第二目标数据对应的哈希值构造的二叉树的根节点的第三目标哈希值;
第二查找模块,用于从所述目标区块链中查找所述第二目标数据对应的交易标识所标识的第二目标交易;
第三提取模块,用于提取所述第二目标交易中所存储的第四目标哈希值,并与所述第三目标哈希值进行比对;
第一确定模块,用于当所述第三目标哈希值与所述第四目标哈希值比对结果一致时,确定所述第二目标数据验证通过。
CN201611170864.3A 2016-12-16 2016-12-16 一种数据处理方法及装置 Active CN106650496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611170864.3A CN106650496B (zh) 2016-12-16 2016-12-16 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611170864.3A CN106650496B (zh) 2016-12-16 2016-12-16 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN106650496A CN106650496A (zh) 2017-05-10
CN106650496B true CN106650496B (zh) 2020-03-31

Family

ID=58823149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611170864.3A Active CN106650496B (zh) 2016-12-16 2016-12-16 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN106650496B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171787B (zh) * 2017-06-08 2020-04-14 杭州云证网络科技有限公司 一种基于多重哈希算法的数据盲签存证方法及系统
CN108076057B (zh) * 2017-12-14 2020-10-09 北京中星仝创科技有限公司 一种基于区块链的数据保全系统及方法
CN109087101B (zh) * 2018-08-07 2021-09-07 北京三快在线科技有限公司 交易校验方法、装置、存储介质及电子设备
CN110896390B (zh) * 2018-09-12 2021-05-11 华为技术有限公司 一种发送消息的方法、验证消息的方法、装置及通信系统
CN110309197B (zh) * 2019-05-24 2023-04-18 平安科技(深圳)有限公司 项目数据验证方法及其装置
CN112613049B (zh) * 2020-12-18 2024-04-26 杭州前云数据技术有限公司 基于区块链的统一云存储系统及实现数据保全的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105392051A (zh) * 2015-10-27 2016-03-09 无锡天脉聚源传媒科技有限公司 一种视频请求处理方法及装置
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106230851A (zh) * 2016-08-29 2016-12-14 中金云金融(北京)大数据科技股份有限公司 基于区块链的数据保全方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185B (zh) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 区块链的数据对比及共识方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105392051A (zh) * 2015-10-27 2016-03-09 无锡天脉聚源传媒科技有限公司 一种视频请求处理方法及装置
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106230851A (zh) * 2016-08-29 2016-12-14 中金云金融(北京)大数据科技股份有限公司 基于区块链的数据保全方法及系统

Also Published As

Publication number Publication date
CN106650496A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106650496B (zh) 一种数据处理方法及装置
KR102226258B1 (ko) 재전송 공격을 검출하기 위한 시스템 및 방법
US11720711B2 (en) System and method for interaction object management in a blockchain environment
CN108764870B (zh) 基于区块链的交易处理方法及装置、电子设备
US9836908B2 (en) System and method for securely receiving and counting votes in an election
JP6034927B1 (ja) 秘密計算システム、秘密計算装置、およびプログラム
US20170352219A1 (en) System and method for securely receiving and counting votes in an election
KR102239398B1 (ko) 재전송 공격을 검출하기 위한 시스템 및 방법
EP3698518B1 (en) Primary and secondary blockchain device
JP2020511059A (ja) 情報認証方法及びシステム
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
WO2016022864A2 (en) System and method for securely receiving and counting votes in an election
CN108769264B (zh) 一种区块链分域方法
US11888985B2 (en) Blockchain system, registration terminal, approval terminal, smart contract registration method, and smart contract registration program
CN111461751A (zh) 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置
CN112258188B (zh) 一种区块链交易的处理方法、装置、设备及系统
CN110910091A (zh) 一种数据处理方法、设备及介质
CN110765318A (zh) 查询区块链数据的方法及装置
CN111415105B (zh) 点评验证方法及节点、人口热力图数据节点和管理系统
EP4002180A1 (en) Secure multi distributed ledger system
WO2024009091A1 (en) Computer implemented systems and methods
CN117010890A (zh) 基于区块链的交易处理方法、相关装置及介质和程序产品
CN117829909A (zh) 一种基于区块链技术的积分平台数据安全处理系统及方法
CN117176322A (zh) 一种隐私集合求交系统、方法及装置
CN113112359A (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

Effective date of registration: 20211020

Address after: 200436 room 138, No. 5 and 6, Lane 1188, Wanrong Road, Jing'an District, Shanghai

Patentee after: Shanghai Canaan Jiesi Information Technology Co.,Ltd.

Address before: Room 1203, 12 / F, building 4, No. 9, Jiuhuan Road, Jianggan District, Hangzhou City, Zhejiang Province, 310019

Patentee before: Hangzhou Canaan Creative Information Technology Ltd.

TR01 Transfer of patent right