[go: up one dir, main page]

CN107977163B - 共享数据回收方法及装置 - Google Patents

共享数据回收方法及装置 Download PDF

Info

Publication number
CN107977163B
CN107977163B CN201710055111.6A CN201710055111A CN107977163B CN 107977163 B CN107977163 B CN 107977163B CN 201710055111 A CN201710055111 A CN 201710055111A CN 107977163 B CN107977163 B CN 107977163B
Authority
CN
China
Prior art keywords
data
node
block
shared
eigenvalue
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
CN201710055111.6A
Other languages
English (en)
Other versions
CN107977163A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710055111.6A priority Critical patent/CN107977163B/zh
Priority to MA047382A priority patent/MA47382A/fr
Priority to PCT/CN2018/073884 priority patent/WO2018137624A1/zh
Priority to EP18744537.4A priority patent/EP3575948B1/en
Publication of CN107977163A publication Critical patent/CN107977163A/zh
Priority to US16/430,077 priority patent/US10795778B2/en
Application granted granted Critical
Publication of CN107977163B publication Critical patent/CN107977163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是关于一种共享数据回收方法及装置,属于信息技术领域。所述方法包括:当接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值;将第一特征值广播至数据共享系统中的至少一个第二节点;如果根据第一特征值和多个第二特征值确定数据共享系统内各个节点所存储的共享数据的数据一致,则向至少一个第二节点广播回收指示信息;如果接收到由预设数目的多个回收指示信息,对共享数据中第一区块高度范围内的数据进行回收。本发明通过判断第一特征值和第二特征值是否一致,对共享数据进行回收,保证了区块中包括的数据一致性和安全性,也降低了数据共享系统中节点存储共享数据的压力。

Description

共享数据回收方法及装置
技术领域
本发明涉及信息技术领域,特别涉及一种共享数据回收方法及装置。
背景技术
随着信息技术的发展,区块链作为一项全新的技术得到大力的发展。区块链技术脱胎于2008年出现的比特币技术,是比特币的底层技术。区块链是指一串使用密码学方法相关联产生的区块,在生成区块时,需要基于上一个区块中的数据和当前交易信息生成,这样便使得区块链中每个区块中的数据均与上一个区块中的数据存在关联,因此,无法通过篡改区块上的数据来进行作弊,能够确保根据区块上的任何数据均是公开透明的,提高了交易信息的安全性。
近年来,由于区块链在生成共享数据时的安全性,因此区块链技术被频繁应用于诸如金融领域等需要将数据共享,同时还需要保障共享数据安全的领域中。在实施时,数据共享系统中可以存在多个节点,各个节点可以基于区块链技术共同维护一个共享数据,对于一个节点来说,在生成新的数据后,可以基于已有的区块链生成新的区块,该新的区块即是该共享数据的新数据,该节点会将新的区块发送给数据共享系统中的其他节点进行备份,这样每个节点中均存储有相同的共享数据。由于区块链上的数据是公开透明的且难以被篡改,可以保证数据共享系统中数据的安全性和数据一致性。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:随着区块中的数据不断增加,数据共享系统中每个节点存储共享数据所需的存储空间不断增长,使得在高频的数据生成环境下,共享数据的数据量急剧增加,每个节点存储共享数据所需的存储空间会产生急剧膨胀的现象,给数据共享系统中每个节点带来存储共享数据的压力,因此亟需一种能够在保证安全性和区块中包括的数据一致性的同时,降低数据共享系统中节点存储压力的共享数据回收方法。
发明内容
为克服相关技术中存在的问题,本发明提供一种共享数据回收方法及装置。
根据本发明实施例的第一方面,提供一种共享数据回收方法,所述方法应用于第一节点,所述第一节点为数据共享系统中的任意节点,所述方法包括:
当接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值,所述第一特征值由所述第一节点上所存储的共享数据中所述第一区块高度范围内数据得到;
将所述第一特征值广播至所述数据共享系统中的至少一个第二节点,所述第二节点为除所述第一节点以外的节点;
当接收到所述至少一个第二节点广播的多个第二特征值时,如果根据所述第一特征值和所述多个第二特征值确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播回收指示信息;
如果接收到预设数目的多个回收指示信息,对所述共享数据中所述第一区块高度范围内的数据进行回收。
本发明实施例提供的方法,通过计算第一节点在第一区块高度范围内的第一特征值和第二节点在第一区块高度范围内的第二特征值,并判断第一特征值和第二特征值是否一致确定节点存储的共享数据中第一区块高度范围内的数据是否一致,之后再对共享数据中第一区块高度范围内的数据进行回收,既保证了区块中包括的数据一致性和安全性,也降低了数据共享系统中节点存储共享数据的压力。
根据本公开实施例的第二方面,提供一种共享数据回收装置,所述装置应用于第一节点,所述第一节点为数据共享系统中的任意节点,所述装置包括:
计算模块,用于当接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值,所述第一特征值由所述第一节点上所存储的共享数据中所述第一区块高度范围内数据得到;
第一广播模块,用于将所述第一特征值广播至所述数据共享系统中的至少一个第二节点,所述第二节点为除所述第一节点以外的节点;
第二广播模块,用于当接收到所述至少一个第二节点广播的多个第二特征值时,如果根据所述第一特征值和所述多个第二特征值确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播回收指示信息;
回收模块,用于如果接收到预设数目的多个回收指示信息,对所述共享数据中所述第一区块高度范围内的数据进行回收。
本发明实施例提供的装置,通过计算第一节点在第一区块高度范围内的第一特征值和第二节点在第一区块高度范围内的第二特征值,并判断第一特征值和第二特征值是否一致确定节点存储的共享数据中第一区块高度范围内的数据是否一致,之后再对共享数据中第一区块高度范围内的数据进行回收,既保证了区块中包括的数据一致性和安全性,也降低了数据共享系统中节点存储共享数据的压力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1A是根据一示例性实施例示出的一种数据共享系统的示意图;
图1B是根据一示例性实施例示出的一种数据共享系统中节点存储的示意图;
图2A是根据一示例性实施例示出的一种共享数据回收方法的流程图;
图2B是根据一示例性实施例示出的一种数据共享系统中信息传输的示意图;
图2C是根据一示例性实施例示出的一种共享数据回收方法的流程图;
图3A是根据一示例性实施例示出的一种共享数据回收装置的框图;
图3B是根据一示例性实施例示出的一种共享数据回收装置的框图;
图3C是根据一示例性实施例示出的一种共享数据回收装置的框图;
图3D是根据一示例性实施例示出的一种共享数据回收装置的框图;
图3E是根据一示例性实施例示出的一种共享数据回收装置的框图;
图4是根据一示例性实施例示出的一种共享数据回收装置400的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在对本发明进行详细的解释说明之前,先对本发明实施例涉及的数据共享系统进行简单的介绍。
参见图1A,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括N个节点101,该N个节点101可以是指数据共享系统中各个客户端,其中,N为正整数。每个节点101可以在进行正常工作时生成数据,并基于数据维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到数据时,数据共享系统中的全部节点便将数据作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。其中,数据共享系统可为交易系统,交易系统指用于金融交易的系统。交易系统中可以包括N个节点,每个节点在进行交易时生成账本数据,并基于账本数据维护该交易系统内的共享账本。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将信息广播至数据共享系统中的其他节点。每个节点中可维护一个如表1所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,每个区块均存储有不同的数据,区块链上的全部区块存储的数据组成了区块链所在节点的共享数据。以数据共享系统为交易系统,共享数据为共享账本,区块特征值为hash(哈希)值为例进行说明,参见图1B,区块中存储的账本数据包括区块高度、转账人地址、接收人地址、金额、签名、公钥、上一条信息hash值和当前信息hash值。其中,区块高度用于指示当前区块在交易系统中区块链中所处的位置;转账人地址用于指示当前区块所记录交易的发起地址;接收人地址用于指示当前区块所记录交易的接收地址;金额是指当前区块所记录交易的交易额;签名用于标识当前区块所记录交易的发起用户,功能在于区别不同用户所发起的交易;公钥用于指示与当前区块存储的账本数据相关的节点,上一条信息hash值为当前区块的上一区块根据其存储的账本数据生成的hash值,本条信息hash值是为当前区块根据当前存储的账本数据生成的hash值。需要说明的是,当前区块在生成当前信息hash值时,需要基于该区块内的账本数据中的全部数据生成,这样便使得当前区块生成的当前信息hash值与上一条信息hash值相关,因而实现了将区块链中的区块串联起来的目的,使得对账本数据的任何篡改,均能够通过区块特征值的追溯而检测到,从而使得共享账本不容易被篡改,保证了共享账本的安全性。
为了使区块可以串联形成区块链并区分区块链上的各个区块,可以在区块中设置有区块高度,该区块高度用于指示当前区块在区块链中的位置,由于不同的节点包括的区块链是相同的,因此,区块链包括的区块在不同节点中的区块高度也是相同的。
为了保证数据共享系统中涉及的数据的安全性,数据共享系统可以维护数据信息表和MySQL(My Structure Quest Language,关系型数据库管理系统)事务。以数据共享系统为交易系统,共享数据为共享账本为例进行说明,在交易系统中数据信息表可为账户表,账户表用于对区块存储的账本数据中的详细信息进行存储,详细信息中涉及账本数据中相关交易额的流出和流向,包括地址信息和金额信息,地址信息和金额信息均根据MySQL事务中的数据生成。MySQL事务中包括流水信息、update from(转出)地址金额和update from(转出)地址金额,其中,流水信息用于指示交易额的流出和流向,可以根据区块存储的账本数据中的转账人地址和接收人地址生成;update from地址金额用于指示流水信息中转出的交易额,可以根据区块存储的账本数据中的金额生成;update to地址金额用于指示流水信息中转入的交易额,也可以根据区块存储的账本数据中的金额生成。这样,在生成账户表时,便可基于update from地址金额和update from(转出)地址金额生成地址信息和金额信息。
图2A是根据一示例性实施例示出的一种共享数据回收方法的流程图,如图2A所示,以数据共享系统为交易系统,共享数据为共享账本为例,该方法用于交易系统中的第一节点和至少一个第二节点中,交易系统中包括N个节点,该方法包括以下步骤。
201、当第一节点接收到携带第一区块高度的回收请求时,提取回收请求中的第一区块高度。
在本发明实施例中,第一节点可为交易系统中的任意节点,所接收到的回收请求可以来自交易系统中的任意节点,例如第二节点,为了降低交易系统中节点存储共享账本的压力,可以由第二节点发起该共享账本回收流程。例如,当第二节点检测到剩余存储空间小于预设存储空间时,根据交易系统的日交易信息量和剩余存储空间,确定第一区块高度,第二节点将携带第一区块高度的回收请求广播至交易系统中的该第二节点以外的节点。
在本发明实施例中,仅以第一节点所接收到的回收请求来自第二节点为例进行说明,由于第一节点和第二节点是交易系统中具有记账功能的两个节点,因此,第一节点也可以发起共享账本回收流程。为了便于理解,下述仅以第一节点发起该共享账本回收流程为例进行说明,第二节点的发起过程可以与第一节点的发起过程同理。
第一节点发起该共享账本回收流程的原因可以有多种,例如,一种原因可为第一节点根据自身的实际存储情况发起共享账本回收流程,也即是,第一节点可以通过对第一节点存储共享账本后的剩余存储空间进行检测,从而判断是否需要对第一节点存储的共享账本进行回收,若需要对第一节点存储的共享账本进行回收,则发起共享账本回收流程;另一种原因可为交易系统中设置有预设周期或预设数据量,当第一节点检测到间隔预设周期或者其存储的共享账本的数据量达到预设数据量,则发起共享账本回收流程。为了使交易系统中的数据保持一致,第一节点需要向交易系统中的其他节点发送回收请求,以便进行共享账本回收,在生成回收请求时可以通过执行下述步骤一和步骤二实现。
步骤一、当第一节点检测到剩余存储空间小于预设存储空间时,根据交易系统的日交易信息量和剩余存储空间,确定第二区块高度。
当第一节点检测到剩余存储空间小于预设存储空间时,则意味着随着账本数据量的增加,第一节点会产生存储共享账本的存储压力,且存储压力随着时间的推移会越来越大,因此,为了保证一段时间内保持正常的账本数据量的增加,可以考虑基于交易系统的日交易信息量和剩余存储空间,来确定究竟要回收掉多少账本数据。
其中,交易系统可以对交易系统中的日交易信息量进行统计,统计每天交易系统接收到的交易信息量,并每天定时将统计得到的日交易信息量发送给交易系统中的每个节点。第一节点在根据交易系统的日交易信息量和剩余存储空间确定第二区块高度时,可以设置天数临界值,用天数临界值与日交易信息量相乘,得到存储空间临界值,确定存储空间临界值与剩余存储空间之间的空间差值,将空间差值作为需要进行回收的账本数据的数据量,并根据数据量在共享账本中确定第二区块高度。其中,第二区块高度实质指示的是一个范围,也即需要将区块链中首个高度的区块至第二区块高度中间范围内存储的账本数据进行回收,仅剩余第二区块高度对应的账本数据及第二区块高度之后区块高度的账本数据。
其中,对于不同节点,其预设存储空间可以相同也可以不同,如果各个节点的存储能力相同,在存储相同大小的共享账本后的剩余存储空间也相同,则可以为其设置相同的预设存储空间,而如果各个节点之间的存储能力有差异,在存储相同大小的共享账本后的剩余存储空间会有所不同,则可以为其设置不同的预设存储空间,以便使得节点可以根据自身的实际存储情况来发起共享账本回收流程。
需要说明的是,若交易系统中设置有预设周期或预设数据量,则当第一节点检测到间隔预设周期或者其存储的共享账本的数据量达到预设数据量,即可在交易系统中获取预设的第二区块高度,并基于预设的第二区块高度发起共享账本回收流程,无需执行上述根据交易系统的日交易信息量和剩余存储空间,确定第二区块高度的过程。
步骤二、第一节点将携带第二区块高度的回收请求广播至交易系统中的至少一个第二节点。
当确定了第二区块高度时,第一节点便基于第二区块高度生成回收请求,使回收请求中携带第二区块高度。同时,根据其他节点的节点标识,将携带有第二区块高度的回收请求广播至交易系统中的其他节点。
需要说明的是,上述生成回收请求的过程可为第一节点在检测到剩余存储空间小于预设存储空间,或检测到间隔预设周期,或者检测到第一节点存储的共享账本的数据量达到预设数据量时,自动触发生成并发送回收请求,也可为工作人员在确定第一节点的剩余存储空间小于预设存储空间,或检测到间隔预设周期,或者检测到第一节点存储的共享账本的数据量达到预设数据量,由工作人员人为的进行触发生成并发送回收请求,本发明对此不进行具体限定。
实际上,发起的还可以是交易系统中至少一个第二节点中的控制节点,该控制节点可以在检测到多个节点的剩余存储空间小于预设存储空间,或检测到间隔预设周期,或者检测到多个节点存储的共享账本的数据量达到预设数据量时,触发生成并发送回收请求。
202、根据第一区块高度,第一节点在共享账本中确定待回收的第一区块高度范围内的账本数据。
在本发明实施例中,节点中存储的区块链在生成时,区块链包括的区块中的区块高度为连续的。其中,根据第一区块高度,第一节点可在其存储的区块链中确定从第一个区块的区块高度截止至第一区块高度时,区块高度范围内包括的账本数据。例如,若区块链中第一个区块的区块高度为Height(高度)(1),第二个区块的区块高度为Height(2),第三个区块的区块高度为Height(3),第四个区块的区块高度为Height(4),第五个区块的区块高度为Height(5),则第一区块高度可为Height(3),这样第一节点便可以根据第一区块高度Height(3),在共享账本的区块链中确定待回收的账本数据即为区块高度Height(1)至Height(3)所指示的区块中存储的账本数据,也即将区块高度为Height(1)的区块中包括的账本数据和区块高度为Height(2)的区块中包括的账本数据作为待回收的账本数据。
203、基于哈希算法,对第一区块高度范围内的账本数据进行特征值计算,得到第一节点的第一特征值。
在本发明实施例中,第一特征值由第一节点上所存储的共享账本中第一区块高度范围内账本数据得到。其中,上述步骤201至步骤203,事实上是第一节点在接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值的过程。本发明实施例以哈希算法为例,第一特征值可为第一区块高度范围内的账本数据的哈希值,而在实际应用的过程中,还可以采用其他算法实现,本发明对此不进行具体限定。
204、第一节点将第一特征值广播至交易系统中的N-1个第二节点。
在本发明实施例中,第二节点为除第一节点以外的节点,由于第一节点为交易系统中的任意节点,因此,当第一节点得到第一特征值后,便获取其他N-1个第二节点的N-1个节点标识,将第一特征值进行复制,并依次向N-1个节点标识指示的第二节点发送第一特征值,以使N-1个节点均可以接收到相同的第一特征值。
205、第一节点接收N-1个第二节点广播的N-1个第二特征值,判断第一特征值和多个第二特征值中所包括的相等特征值数目是否达到预设数目;如果达到预设数目,则执行下述步骤206;如果未达到预设数目,则执行下述步骤208。
在本发明实施例中,第二节点广播的第二特征值可以为第二节点存储的共享账本中第一区块高度范围内的账本数据的特征值。在本发明实施例中可以基于共识算法确定下述需要继续执行的步骤。其中,共识算法用于确定系统中多个节点中存储的数据是否一致,并根据存储的数据一致的节点个数判断当前系统中是否存在异常。共识算法可为BFT(Byzantine Fault Tolerance,容错算法),具体可以采用PBFT(Practical ByzantineFault Tolerance,实用拜占庭容错算法),本发明对此不进行具体限定。这样共识算法可以采用3F+1的机制判断多个第二特征值中,相等特征值数目是否达到预设数目。其中,F为当前交易系统可容错的节点数,可为预先设置。当第一特征值和多个第二特征值中所包括的相等特征值数目达到预设数目时,则确定交易系统中节点所存储的共享账本的账本数据一致,可以对共享账本进行回收,也即执行下述步骤206。
需要说明的是,上述提及的第一特征值和多个第二特征值中所包括的相等特征值数目达到预设数目,也即表示第一特征值和多个第二特征值中相等的特征值的数目达到预设数目,例如,设预设数目为3,若第一节点的第一特征值为1F8359E,第一节点接收到的第二特征值为四个,分别为1F84678E、1F8359E、1F8359E、1F8359E,则第一特征值和四个第二特征值中存在四个1F8359E,这样第一节点即可认为第一特征值和多个第二特征值中相等特征值的数目达到了预设数目,也即1F8359E的出现次数达到了3次,则确定交易系统中节点存储的共享账本的账本数据一致。当第一特征值和多个第二特征值中所包括的相等特征值数目未达到预设数目时,则确定交易系统中节点所存储的共享账本的账本数据不一致的节点较多,导致交易系统中存在错误,需要对交易系统进行修复,也即执行下述步骤208。
其中,在确定第一特征值和多个第二特征值中所包括的相等特征值数目是否达到预设数目的过程,实质上是确定第一特征值和多个第二特征值中所包括的最多的相等特征值数目是否达到预设数目。例如,若第一节点的第一特征值为1F8359E,接收到六个第二特征值,六个第二特征值分别为1F84678E、1F84678E、1F8359E、1F8359E、1F8359E、1F1248E,则六个第二特征值中存在三个1F8359E的第二特征值,两个1F84678E的第二特征值,也即1F8359E为第一节点接收到的最多的第二特征值,则第一节点仅需在第一特征值和多个第二特征值中确定等于1F8359E的特征值的数目是否达到预设数目即可,无需对判断等于1F84678E的特征值的数目是否达到预设数目。
需要说明的是,上述步骤204和步骤205的执行顺序不分先后,也即第一节点可以先将第一特征值广播至交易系统中的N-1个第二节点,也可以先接收N-1个第二节点广播的N-1个第二特征值,也可以同时执行上述步骤204和步骤205,本发明对此不进行具体限定。在第一节点接收到携带第一区块高度的回收请求时,N-1个第二节点也会接收到该回收请求,并执行上述步骤201至步骤205,因此,第一节点可以接收到N-1个第二节点发送的第二特征值。
上述步骤205所示的过程,事实上也即为根据第一特征值和多个第二特征值确定交易系统内各个节点所存储的共享账本的账本数据是否一致的过程,以确定后续是否需要向至少一个第二节点广播回收指示信息,保证了仅在交易系统内各个节点所存储的共享账本的账本数据一致的情况下对共享账本进行回收,保证了交易系统中节点所存储共享账本的账本数据的一致性和安全性。
206、如果达到预设数目,则第一节点确定交易系统内各个节点所存储的共享账本中所述第一区块高度范围内的账本数据一致,则向N-1个第二节点广播回收指示信息。
在本发明实施例中,如果第一特征值和多个第二特征值中所包括的相等特征值数目达到预设数目,则说明交易系统中节点上所存储共享账本的账本数据一致,这样便可以对共享账本进行回收,因此,向N-1个第二节点广播回收指示信息,以使N-1个第二节点执行对共享账本的回收操作。其中,广播回收指示信息的过程与上述将第一特征值广播至交易系统中的N-1个第二节点的过程一致,此处不再进行赘述。
需要说明的是,参见图2B,由于交易系统中的全部节点之间均存在信息连接,因此,N-1个第二节点中每个节点也会接收到其他节点发送的回收请求,并执行上述步骤201至步骤205,这样便需要N-1个第二节点中的每个节点在基于其他节点发送的第二特征值确定交易系统内各个节点所存储的共享账本的账本数据一致时,也会向交易系统的其他节点广播回收指示信息。对于交易系统中的任意节点,仅在其确定自身生成的特征值与接收到的其他节点发送的第二特征值相等且相等的特征值数目达到预设数目,才会向交易系统内的其他节点广播回收指示信息;若交易系统中的某一节点确定其自身生成的特征值与接收到的其他节点发送的第二特征值存在相等的特征值,但是相等的特征值的数目未达到预设数目,则将不会向其他节点广播回收指示信息。
207、如果第一节点接收到预设数目的回收指示信息,则对共享账本中第一区块高度范围内的账本数据进行回收。
在本发明实施例中,如果第一节点接收到预设数目的回收指示信息,则表示当前可以对共享账本进行回收,这样,第一节点便会将在共享账本中根据第一区块高度确定的待回收的账本数据进行回收。
其中,本发明实施例中提及的对数据进行的回收过程实质为将待回收的数据进行数据转移的过程,具体过程为确定预先设置的第一存储位置,将在共享数据中根据第一区块高度确定的待回收的数据转移到第一存储位置,由于这部分数据可能不会被经常访问到,因此,该过程也可以看做一个数据冷备的过程。进一步地,在进行回收后,还可以在第一节点上保留第一区块高度对应区块的当前区块特征值,以便后续需要还原或追溯被回收的数据时,可以基于保留的第一区块高度对应区块的当前区块特征值进行获取,也可在第一存储位置获取转移的被回收账本数据,进一步保证了数据的安全性,同时减轻了第一节点存储共享数据的压力。
需要说明的是,N-1个第二节点中的每个节点也均可接收到交易系统中其他节点广播的多个回收指示信息,当接收到的回收指示信息达到预设数目时,即可对在共享账本中根据第一区块高度确定的待回收的数据进行回收,这样便可以保持数据共享系统中节点所存储共享数据在执行共享数据回收后,依旧可以保持共享数据中数据的一致性和安全性。
208、如果未达到预设数目,则确定第一特征值和至少一个第二特征值中的目标特征值,该目标特征值为该第一特征值和至少一个第二特征值中相等特征值以外的特征值,向指定第二节点发送错误信息,用于通知该指定第二节点其所存储的共享数据发生错误,该指定第二节点为发送该目标特征值的第二节点。
在本发明实施例中,以第一节点的第一特征值和多个第二特征值中所包括的相等特征值数目未达到预设数目时,确定第一特征值和至少一个第二特征值中的目标特征值,并向指定第二节点发送错误信息为例,而在实际应用的过程中,交易系统中的每个节点在确定第一特征值和至少一个第二特征值中的目标特征值后,均会向指定第二节点发送错误信息。其中,向指定节点发送的错误信息中可以携带错误提示。当指定第二节点接收到错误信息时,需要统计接收到的错误信息的数目,若接收到的错误信息的个数超过个数阈值,则指定第二节点获取错误信息中的错误提示,确定其当前存储的共享账本中的账本数据与交易系统中其他节点存储的共享账本的账本数据不一致,并从其他节点获取该共享账本,对当前存储的共享账本进行替换,以使当前存储的共享账本与交易系统中其他节点存储的共享账本一致,实现对交易系统的修复。
其中,交易系统中的节点可以分为记账节点和非记账节点,记账节点用于存储交易系统中的共享账本,并根据交易系统每天接收到的交易信息对共享账本进行持续更新;非记账节点用于存储共享账本的镜像数据,也即对共享账本进行备份。进一步地,非记账节点中也可以存储共享账本,本发明对此不进行具体限定。
需要说明的是,上述步骤201至步骤208为第一节点是记账节点时需要执行的步骤,也即第一节点中仅存储有共享账本;对于第一节点为非记账节点的情况,第一节点中可能同时存储有共享账本和共享账本的镜像数据,这样参见图2C,需要在执行上述步骤207对共享账本进行回收时,还可以执行下述步骤209和步骤210。其中,为了减轻第一节点的负载,可以先执行上述步骤207中对共享账本的回收后,再执行下述步骤209和步骤210;也可以为了数据的一致性和安全性,同时执行上述步骤207以及下述步骤209和步骤210,本发明对此不进行具体限定。
209、如果第一节点接收到由N-1个第二节点广播的多个回收指示信息,则从共享数据的镜像数据中,确定第一区块高度范围内的镜像数据。
在本发明实施例中,镜像数据中记录了交易系统中节点存储的共享账本的变化过程,也即共享账本中仅显示其包括的账本数据中涉及的用户账户的现状,而镜像数据则记录了共享账本的账本数据中涉及的用户账户在一定时间段内的变化情况。若第一节点为非记账节点,则第一节点中可能存储有共享账本以及共享账本的镜像数据,这样便可以在共享账本的镜像数据中根据第一区块高度确定待回收的镜像数据。其中,确定待回收的镜像数据的过程与上述步骤202中确定待回收的账本数据的过程一致,此处不再进行赘述。
210、第一节点获取第一区块高度范围内的镜像数据的第二特征值,从共享数据的镜像数据中,回收第一区块高度范围内的镜像数据,并将第二特征值存储至剩余镜像数据中。
在本发明实施例中,第一节点根据回收请求中携带的第一区块高度,由于镜像数据在生成时也是基于区块高度来区分不同区块对应的镜像数据,且不同区块对应的镜像数据的区块高度与区块在共享账本中的区块高度一致,因此在镜像数据中,可以根据第一区块高度,来获取第一区块高度范围内的第二特征值。其中,获取第二特征值的过程与获取第一特征值的过程一致,此处不再进行赘述。
当根据第一区块高度确定第一区块高度范围内的镜像数据的第二特征值后,第一节点便从共享账本的镜像数据中,将第一区块高度范围内的镜像数据进行回收。其中,对镜像数据的回收过程与对账本数据的回收过程一致,也即确定预先设置的第二存储位置,将第一区块高度范围内的镜像数据转移到第二存储位置,由于这部分镜像数据可能不会被经常访问到,因此,该过程可以看做一个数据冷备的过程,仅仅保留第一区块高度范围外的镜像数据。进一步地,还可以在第一节点上将第二特征值存储至剩余镜像数据中,以便后续需要还原或追溯被回收的镜像数据时,可以基于保留的第二特征值进行获取,也可在第二存储位置获取转移的被回收镜像数据,进一步保证了镜像数据的安全性,同时减轻了第一节点存储镜像数据的压力。
例如,若第一区块高度为Height(3),区块链中第一个区块的区块高度为Height(高度)(1),第二个区块的区块高度为Height(2),第三个区块的区块高度为Height(3),第四个区块的区块高度为Height(4),第五个区块的区块高度为Height(5),则根据第一区块高度Height(3),在镜像数据中确定待回收的镜像数据即为区块高度Height(1)至Height(3)所指示的区块对应的镜像数据,根据区块高度Height(1)至Height(3)所指示的区块对应的镜像数据生成的第二特征值为1F84678E,则将Height(1)至Height(3)范围内的镜像数据进行回收,也即将Height(1)至Height(3)范围内的镜像数据删除,仅仅保留Height(3)所对应的镜像数据及Height(3)以后的镜像数据,并将1F84678E存储至Height(3)对应的位置。
本发明实施例提供的方法,通过计算第一节点在第一区块高度范围内的第一特征值和第二节点在第一区块高度范围内的第二特征值,并判断第一特征值和第二特征值是否一致确定节点存储的共享数据中第一区块高度范围内的数据是否一致,之后再对共享数据中第一区块高度范围内的数据进行回收,既保证了区块中包括的数据一致性和安全性,也降低了数据共享系统中节点存储共享数据的压力。
在另一个实施例中,通过提取回收请求中的第一区块高度,根据第一区块高度,在共享数据中确定待回收的第一区块高度范围内的共享数据,并基于哈希算法,对第一区块高度范围内的数据进行特征值计算,得到第一节点的第一特征值,保证了数据共享系统内的全部节点均可以按照第一区块高度对共享数据进行回收。
在另一个实施例中,判断第一特征值和多个第二特征值中所包括的相等特征值数目是否达到预设数目,如果达到预设数目,则确定数据共享系统内各个节点所存储的共享数据的数据一致,向至少一个第二节点广播回收指示信息,使得仅在第一特征值和多个第二特征值中所包括的相等特征值数目达到预设数目时才向至少一个第二节点广播回收指示信息,保证了节点所存储的共享数据在进行回收时也保持一致性和安全性。
在另一个实施例中,当检测到第一节点的剩余存储空间小于预设存储空间时,根据数据共享系统的日共享信息量和剩余存储空间,确定第二区块高度,并将携带第二区块高度的回收请求广播至数据共享系统中的至少一个第二节点,使得当检测到节点存在存储共享数据的压力时,可以即刻请求对共享数据进行回收,降低了节点存储共享数据的实际压力。
在另一个实施例中,如果接收到由至少一个第二节点广播的多个回收指示信息,则从共享数据的镜像数据中,确定第一区块高度范围内的镜像数据,并获取第一区块高度范围内的镜像数据的第二特征值,从共享数据的镜像数据中,回收第一区块高度范围内的镜像数据,并将第二特征值存储至剩余镜像数据中,使得共享数据的镜像数据也可以根据第一区块高度进行回收,进一步地减少了节点存储共享数据的压力。
图3A是根据一示例性实施例示出的一种共享数据回收装置的框图。参照图3A,该装置包括计算模块301,第一广播模块302,第二广播模块303和回收模块304。
该计算模块301,用于当接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值,第一特征值由第一节点上所存储的共享数据中第一区块高度范围内数据得到;
该第一广播模块302,用于将第一特征值广播至数据共享系统中的至少一个第二节点,第二节点为除第一节点以外的节点;
该第二广播模块303,用于当接收到至少一个第二节点广播的多个第二特征值时,如果根据第一特征值和多个第二特征值确定数据共享系统内各个节点所存储的共享数据中第一区块高度范围内的数据一致,则向至少一个第二节点广播回收指示信息;
该回收模块304,用于如果接收到预设数目的多个回收指示信息,对共享数据中第一区块高度范围内的数据进行回收。
本公开实施例提供的装置,通过计算第一节点在第一区块高度范围内的第一特征值和第二节点在第一区块高度范围内的第二特征值,并判断第一特征值和第二特征值是否一致确定节点存储的共享数据中第一区块高度范围内的数据是否一致,之后再对共享数据中第一区块高度范围内的数据进行回收,既保证了区块中包括的数据一致性和安全性,也降低了数据共享系统中节点存储共享数据的压力。
在另一个实施例中,参见图3B,该计算模块301,包括提取子模块3011,确定子模块3012和计算子模块3013。
该提取子模块3011,用于提取回收请求中的第一区块高度;
该确定子模块3012,用于根据第一区块高度,在共享数据中确定待回收的第一区块高度范围内的数据;
该计算子模块3013,用于基于哈希算法,对第一区块高度范围内的数据进行特征值计算,得到第一节点的第一特征值。
在另一个实施例中,该第二广播模块304,用于判断第一特征值和多个第二特征值中所包括的相等特征值数目是否达到预设数目;如果达到预设数目,则确定数据共享系统内各个节点所存储的共享数据中第一区块高度范围内的数据一致,则向至少一个第二节点广播回收指示信息。
在另一个实施例中,参见图3C,该装置还包括保留模块305。
该保留模块305,用于保留第一区块高度对应区块的当前区块特征值。
在另一个实施例中,参见图3D,该装置还包括第三广播模块306。
该第三广播模块306,用于当检测到第一节点的剩余存储空间小于预设存储空间时,根据数据共享系统的日共享信息量和剩余存储空间,确定第二区块高度;将携带第二区块高度的回收请求广播至数据共享系统中的至少一个第二节点;或,每到预设周期,则根据数据共享系统的日共享信息量,确定第二区块高度;将携带第二区块高度的回收请求广播至数据共享系统中的至少一个第二节点;或,当检测到当前存储的共享数据的数据量大于预设数据量,则根据数据共享系统的日共享信息量,确定第二区块高度;将携带第二区块高度的回收请求广播至数据共享系统中的至少一个第二节点。
在另一个实施例中,参见图3E,该装置还包括确定模块307和获取模块308。
该确定模块307,用于如果接收到由至少一个第二节点广播的多个回收指示信息,则从共享数据的镜像数据中,确定第一区块高度范围内的镜像数据;
该获取模块308,用于获取第一区块高度范围内的镜像数据的第二特征值;
该回收模块304,还用于从共享数据的镜像数据中,回收第一区块高度范围内的镜像数据,并将第二特征值存储至剩余镜像数据中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种共享数据回收装置400的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,I/O(Input/Output,输入/输出)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如SRAM(Static Random Access Memory,静态随机存取存储器),EEPROM(Electrically-Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为装置400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括LCD(Liquid Crystal Display,液晶显示器)和TP(TouchPanel,触摸面板)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个MIC(Microphone,麦克风),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到设备400的打开/关闭状态,组件的相对定位,例如组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS(Complementary Metal OxideSemiconductor,互补金属氧化物)或CCD(Charge-coupled Device,电荷耦合元件)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括NFC(Near Field Communication,近场通信)模块,以促进短程通信。例如,在NFC模块可基于RFID(Radio FrequencyIdentification,射频识别)技术,IrDA(Infra-red Data Association,红外数据协会)技术,UWB(Ultra Wideband,超宽带)技术,BT(Bluetooth,蓝牙)技术和其他技术来实现。
在示例性实施例中,装置400可以被一个或多个ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)、DSP(Digital signal Processor,数字信号处理器)、DSPD(Digital signal Processor Device,数字信号处理设备)、PLD(ProgrammableLogic Device,可编程逻辑器件)、FPGA)(Field Programmable Gate Array,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述共享数据回收方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器)、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由共享数据回收装置的处理器执行时,使得共享数据回收装置能够执行上述共享数据回收方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (12)

1.一种共享数据回收方法,其特征在于,所述方法应用于第一节点,所述第一节点为数据共享系统中的任意节点,所述方法包括:
当接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值,所述第一特征值由所述第一节点上所存储的共享数据中所述第一区块高度范围内数据得到;
将所述第一特征值广播至所述数据共享系统中的至少一个第二节点,所述第二节点为除所述第一节点以外的节点;
当接收到所述至少一个第二节点广播的多个第二特征值时,如果根据所述第一特征值和所述多个第二特征值确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播回收指示信息;
如果接收到预设数目的多个回收指示信息,对所述共享数据中所述第一区块高度范围内的数据进行回收。
2.根据权利要求1所述的方法,其特征在于,所述获取第一节点的第一特征值包括:
提取所述回收请求中的第一区块高度;
根据所述第一区块高度,在所述共享数据中确定待回收的第一区块高度范围内的数据;
基于哈希算法,对所述第一区块高度范围内的数据进行特征值计算,得到所述第一节点的第一特征值。
3.根据权利要求1所述的方法,其特征在于,如果根据所述第一特征值和所述多个第二特征值确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播回收指示信息包括:
判断所述第一特征值和所述多个第二特征值中所包括的相等特征值数目是否达到所述预设数目;
如果达到所述预设数目,则确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播所述回收指示信息。
4.根据权利要求1所述的方法,其特征在于,所述如果接收到预设数目的多个回收指示信息,对所述共享数据中所述第一区块高度范围内的数据进行回收之后,所述方法还包括:
保留所述第一区块高度对应区块的当前区块特征值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到所述第一节点的剩余存储空间小于预设存储空间时,根据所述数据共享系统的日共享信息量和所述剩余存储空间,确定第二区块高度;将携带所述第二区块高度的回收请求广播至所述数据共享系统中的至少一个第二节点;或,
每到预设周期,则根据所述数据共享系统的日共享信息量,确定第二区块高度;将携带所述第二区块高度的回收请求广播至所述数据共享系统中的至少一个第二节点;或,
当检测到当前存储的共享数据的数据量大于预设数据量,则根据所述数据共享系统的日共享信息量,确定第二区块高度;将携带所述第二区块高度的回收请求广播至所述数据共享系统中的至少一个第二节点。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果接收到由所述至少一个第二节点广播的多个回收指示信息,则从所述共享数据的镜像数据中,确定所述第一区块高度范围内的镜像数据;
获取所述第一区块高度范围内的镜像数据的第二特征值;
从所述共享数据的镜像数据中,回收所述第一区块高度范围内的镜像数据,并将所述第二特征值存储至剩余镜像数据中。
7.一种共享数据回收装置,其特征在于,所述装置应用于第一节点,所述第一节点为数据共享系统中的任意节点,所述装置包括:
计算模块,用于当接收到携带第一区块高度的回收请求时,获取第一节点的第一特征值,所述第一特征值由所述第一节点上所存储的共享数据中所述第一区块高度范围内数据得到;
第一广播模块,用于将所述第一特征值广播至所述数据共享系统中的至少一个第二节点,所述第二节点为除所述第一节点以外的节点;
第二广播模块,用于当接收到所述至少一个第二节点广播的多个第二特征值时,如果根据所述第一特征值和所述多个第二特征值确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播回收指示信息;
回收模块,用于如果接收到预设数目的多个回收指示信息,对所述共享数据中所述第一区块高度范围内的数据进行回收。
8.根据权利要求7所述的装置,其特征在于,所述计算模块包括:
提取子模块,用于提取所述回收请求中的第一区块高度;
确定子模块,用于根据所述第一区块高度,在所述共享数据中确定待回收的第一区块高度范围内的数据;
计算子模块,用于基于哈希算法,对所述第一区块高度范围内的数据进行特征值计算,得到所述第一节点的第一特征值。
9.根据权利要求7所述的装置,其特征在于,所述第二广播模块,用于判断所述第一特征值和所述多个第二特征值中所包括的相等特征值数目是否达到所述预设数目;如果达到所述预设数目,则确定所述数据共享系统内各个节点所存储的共享数据中所述第一区块高度范围内的数据一致,则向所述至少一个第二节点广播所述回收指示信息。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
保留模块,用于保留所述第一区块高度对应区块的当前区块特征值。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三广播模块,用于当检测到所述第一节点的剩余存储空间小于预设存储空间时,根据所述数据共享系统的日共享信息量和所述剩余存储空间,确定第二区块高度;将携带所述第二区块高度的回收请求广播至所述数据共享系统中的至少一个第二节点;或,每到预设周期,则根据所述数据共享系统的日共享信息量,确定第二区块高度;将携带所述第二区块高度的回收请求广播至所述数据共享系统中的至少一个第二节点;或,当检测到当前存储的共享数据的数据量大于预设数据量,则根据所述数据共享系统的日共享信息量,确定第二区块高度;将携带所述第二区块高度的回收请求广播至所述数据共享系统中的至少一个第二节点。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
确定模块,用于如果接收到由所述至少一个第二节点广播的多个回收指示信息,则从所述共享数据的镜像数据中,确定所述第一区块高度范围内的镜像数据;
获取模块,用于获取所述第一区块高度范围内的镜像数据的第二特征值;
所述回收模块,还用于从所述共享数据的镜像数据中,回收所述第一区块高度范围内的镜像数据,并将所述第二特征值存储至剩余镜像数据中。
CN201710055111.6A 2017-01-24 2017-01-24 共享数据回收方法及装置 Active CN107977163B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201710055111.6A CN107977163B (zh) 2017-01-24 2017-01-24 共享数据回收方法及装置
MA047382A MA47382A (fr) 2017-01-24 2018-01-23 Procédé de récupération de données partagées, dispositif, équipement informatique et support d'informations
PCT/CN2018/073884 WO2018137624A1 (zh) 2017-01-24 2018-01-23 共享数据回收方法、装置、计算机设备及存储介质
EP18744537.4A EP3575948B1 (en) 2017-01-24 2018-01-23 Shared data recovery method, device, computer equipment and storage medium
US16/430,077 US10795778B2 (en) 2017-01-24 2019-06-03 Shared data recovery method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710055111.6A CN107977163B (zh) 2017-01-24 2017-01-24 共享数据回收方法及装置

Publications (2)

Publication Number Publication Date
CN107977163A CN107977163A (zh) 2018-05-01
CN107977163B true CN107977163B (zh) 2019-09-10

Family

ID=62004240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710055111.6A Active CN107977163B (zh) 2017-01-24 2017-01-24 共享数据回收方法及装置

Country Status (5)

Country Link
US (1) US10795778B2 (zh)
EP (1) EP3575948B1 (zh)
CN (1) CN107977163B (zh)
MA (1) MA47382A (zh)
WO (1) WO2018137624A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667931B (zh) * 2018-05-10 2021-10-29 上海敏皓电力投资有限公司 基于gps/北斗定位的自组织区块链网络
US11646879B2 (en) * 2018-06-12 2023-05-09 Electronics And Telecommunications Research Institute Method and apparatus for selecting distributed consensus node based on proof of nonce
CN109544200A (zh) * 2018-10-11 2019-03-29 南京邮电大学 一种基于区块链的公共健身器材有奖使用方法
CN109508146B (zh) * 2018-10-11 2021-07-23 广西师范大学 一种区块链的周期性存储空间回收方法
US10791122B2 (en) 2019-07-04 2020-09-29 Alibaba Group Holding Limited Blockchain user account data
CN110474775B (zh) * 2019-07-04 2020-09-01 阿里巴巴集团控股有限公司 一种块链式账本中的用户创建方法、装置及设备
WO2019179540A2 (en) 2019-07-11 2019-09-26 Alibaba Group Holding Limited Shared blockchain data storage
SG11202002017YA (en) 2019-07-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage
CN110598882B (zh) * 2019-09-29 2023-09-19 腾讯科技(深圳)有限公司 一种回收可回收包装物的方法、装置和存储介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
EP3958144A1 (en) * 2020-08-19 2022-02-23 Siemens Aktiengesellschaft Blockchain blocks storage management
KR102221436B1 (ko) * 2020-10-26 2021-03-03 주식회사 동일아이씨티 컴퓨터 프로그램 자동 실행 방법
CN112732487B (zh) * 2021-01-07 2024-01-23 中国银联股份有限公司 一种数据恢复方法及装置
CN112905554B (zh) * 2021-02-07 2024-05-10 全链通有限公司 基于区块链的数据共享方法和装置
CN112822224B (zh) * 2021-04-19 2021-06-22 国网浙江省电力有限公司 一种用于财务数据查询的安全传输方法
CN115269734B (zh) * 2022-09-27 2022-11-29 北京奥星贝斯科技有限公司 分布式数据库的存储管理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI375887B (en) * 2008-10-31 2012-11-01 A Data Technology Co Ltd Flash memory device with wear-leveling mechanism and controlling method thereof
TW201142646A (en) * 2010-05-21 2011-12-01 xiang-yu Li Cloud data storage system
US20120030260A1 (en) * 2010-07-30 2012-02-02 Maohua Lu Scalable and parallel garbage collection method and system for incremental backups with data de-duplication
JP5685213B2 (ja) * 2012-02-22 2015-03-18 日本電信電話株式会社 差分レプリケーションシステム、マスターデータベース装置、及びスレーブデータベース装置
CN103488576B (zh) * 2013-09-18 2016-09-07 珠海金山网络游戏科技有限公司 一种高性能小区块内存管理方法
US9678681B2 (en) * 2015-06-17 2017-06-13 International Business Machines Corporation Secured multi-tenancy data in cloud-based storage environments
CN106201742B (zh) * 2016-07-04 2019-09-20 东软医疗系统股份有限公司 一种共享内存管理方法、装置及系统
MX2019000713A (es) * 2016-07-18 2019-11-28 Nant Holdings Ip Llc Sistemas, aparatos y metodos para maquina de aprendizaje distribuido.
CN110365491B (zh) * 2017-03-30 2021-03-26 腾讯科技(深圳)有限公司 业务处理方法、装置、设备、存储介质以及数据共享系统
US20190279172A1 (en) * 2018-03-06 2019-09-12 Dash Core Group, Inc. Methods and Systems for Object Validated Blockchain Accounts
US11374736B2 (en) * 2018-06-20 2022-06-28 Clemson University System and method for homomorphic encryption

Also Published As

Publication number Publication date
EP3575948B1 (en) 2021-11-17
US10795778B2 (en) 2020-10-06
WO2018137624A1 (zh) 2018-08-02
EP3575948A1 (en) 2019-12-04
CN107977163A (zh) 2018-05-01
US20190286532A1 (en) 2019-09-19
MA47382A (fr) 2019-12-04
EP3575948A4 (en) 2020-08-26

Similar Documents

Publication Publication Date Title
CN107977163B (zh) 共享数据回收方法及装置
KR102327574B1 (ko) 블록체인 기반 트랜잭션 프로세싱 방법 및 장치
US11875315B2 (en) Virtual currency settlement method, apparatus, and electronic device
US20200279332A1 (en) Currency settlement method, apparatus, and electronic device
US20160117500A1 (en) Device security using user interaction anomaly detection
CN106778141B (zh) 基于手势识别的解锁方法、装置及移动终端
CN104951935A (zh) 一种分账方法及装置
CN106920170B (zh) 交易提醒方法和装置
CN108009824A (zh) 数据共识方法、装置及电子设备
CN108039948A (zh) 节点维护方法、装置及电子设备
CN111145080A (zh) 一种图像生成模型的训练方法、图像生成方法及装置
CN112580064B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN106911465B (zh) 区块生成方法及装置
EP3236377B1 (en) Method, device and system for preventing account from being broken into
WO2016038378A1 (en) Interaction between users of mobile devices
KR102510353B1 (ko) 블록체인 기반 골프 서비스 제공 방법 및 시스템
CN111681001A (zh) 交易记录存储方法、电子设备及存储介质
CN105897425B (zh) 分配、请求社交网络账号的方法及装置
CN110046035A (zh) 系统切换方法、装置及电子设备
CN114387090B (zh) 担保关系数据处理方法、装置和设备
CN105450729B (zh) 数据同步方法及装置
CN112102081B (zh) 生成区块链的方法、装置、可读存储介质及区块链网络
CN110716985B (zh) 一种节点信息处理方法、装置及介质
CN109255601A (zh) 终端公交卡的处理方法及装置
HK40038149B (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