CN109522314B - 基于区块链的数据归档方法及终端设备 - Google Patents
基于区块链的数据归档方法及终端设备 Download PDFInfo
- Publication number
- CN109522314B CN109522314B CN201811202877.3A CN201811202877A CN109522314B CN 109522314 B CN109522314 B CN 109522314B CN 201811202877 A CN201811202877 A CN 201811202877A CN 109522314 B CN109522314 B CN 109522314B
- Authority
- CN
- China
- Prior art keywords
- data
- account book
- accounting
- block chain
- time period
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据处理技术领域,提供了基于区块链的数据归档方法、终端设备以及计算机可读存储介质,包括:创建多个区块链账本,每个区块链账本对应预设的记账时间段和运行时间段,记账时间段指示区块链账本可支持数据记账的时间段,运行时间段指示区块链账本可提供数据服务的时间段;获取记账数据及对应的数据时间,查找数据时间所在的记账时间段对应的区块链账本,并将记账数据在该区块链账本中进行记账;若当前时间超出运行时间段,则将运行时间段对应的区块链账本确定为目标账本,并对目标账本以及目标账本中的记账数据进行归档处理。本发明通过创建多个区块链账本,并对过期的区块链账本进行归档处理,提升了存储资源的有效利用率。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及基于区块链的数据归档方法、终端设备以及计算机可读存储介质。
背景技术
随着信息技术的更新,区块链作为新兴的存储方式逐渐成为发展的热门,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并通过密码学的方式保证数据不被篡改和伪造,在数据存储方面存在优势。
基于区块链的特性,区块链中的数据不可撤销或删除,强行删除区块链中的数据则会导致区块链完整性验证失败。在此基础上,若区块链中的数据已经无效,则无法对其进行归档处理,只能让无效的数据在区块链中继续存储,造成存储资源浪费,区块链资源的有效利用率低。
发明内容
有鉴于此,本发明实施例提供了基于区块链的数据归档方法、终端设备以及计算机可读存储介质,以解决现有技术中无法对区块链中的数据进行归档,区块链存储资源的有效利用率低的问题。
本发明实施例的第一方面提供了一种基于区块链的数据归档方法,包括:
创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理。
本发明实施例的第二方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理。
本发明实施例与现有技术相比存在的有益效果是:
本发明实施例通过创建多个区块链账本,在获取到记账数据及对应的数据时间后,查找与数据时间符合的区块链账本,并将记账数据在该区块链账本中进行记账,若当前时间超出某个区块链账本提供数据服务的运行时间段,则对该区块链账本及该区块链账本中的记账数据进行归档处理,本发明实施例基于不同的时间创建多个区块链账本进行记账,并对过期的区块链账本进行归档,防止过期的区块链账本及账本数据继续占用存储资源,提升了区块链资源的有效利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的基于区块链的数据归档方法的实现流程图;
图2是本发明实施例二提供的基于区块链的数据归档方法的实现流程图;
图3是本发明实施例三提供的基于区块链的数据归档方法的实现流程图;
图4是本发明实施例四提供的基于区块链的数据归档方法的实现流程图;
图5是本发明实施例五提供的基于区块链的数据归档方法的实现流程图;
图6是本发明实施例六提供的一个数据记账过程的示意图;
图7是本发明实施例七提供的终端设备的结构框图;
图8是本发明实施例八提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的基于区块链的数据归档方法的实现流程,详述如下:
在S101中,创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段。
相对于传统的仅建立一条区块链账本进行记账,在本发明实施例中,创建多个区块链账本,多个区块链账本运行在同一个区块链网络中,即区块链网络中的区块链节点保存有某个区块链账本或某几个区块链账本的副本,并向外提供基于区块链账本的服务。其中,不同的区块链账本之间互相隔离,在创建区块链账本时,每个区块链账本都对应预设的记账时间段和运行时间段,记账时间段指示区块链账本可支持数据记账的时间段,运行时间段指示区块链账本可提供数据服务(可运行)的时间段,运行时间段可设置为与记账时间段相同或不同。值得一提的是,多个区块链账本的创建可基于区块链的channel机制、分区机制或分片机制等机制实现,本发明实施例对此不做限定。另外,为了防止在数据记账时发生选择冲突,每个区块链账本的记账时间段在设置时应保持互相隔离,即不同区块链账本的记账时间段在时间上不产生重合。
在S102中,获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账。
若接收到待进行记账的记账数据及其对应的数据时间(比如从上游系统获取记账数据及数据时间),则根据数据时间在多个区块链账本中选择一个区块链账本进行记账数据的记账,其中,数据时间可包含在记账数据内,也可以是额外的数据,并与记账数据打包发送,数据时间可以是记账数据生成的时间,也可以是由记账数据的发起方(如用户或上游系统等)自定义的时间。具体地,首先获取多个区块链账本的多个记账时间段,确定数据时间位于的记账时间段,进而确定该记账时间段对应的区块链账本,将记账数据在该区块链账本中进行记账。在记账过程中,对记账数据进行共识验证,并在共识验证成功后通知区块链网络中的所有区块链节点将记账数据添加至该区块链账本,共识验证的算法可采用实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法或委托权益证明(Delegated Proof of Stake,DPOS)算法等,本发明实施例对此不做限定。举例来说,如图6所示,假设已创建有三个区块链账本,记账时间段分别为2016年整年、2017年整年和2018年整年,并且在图6中,N、M和L均为大于3的整数。若获取到的记账数据对应的数据时间为2018年1月1日,则将该记账数据在记账时间段为2018年整年的区块链账本中进行记账,具体地,基于记账数据生成区块N+1,并将区块N+1链接在区块N后。
在S103中,监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理。
对于已创建且正在运行的区块链账本,监控当前时间,并判断当前时间是否超出区块链账本的运行时间段,当前时间的监控可实时进行或每隔预设的监控间隔进行。若当前时间未超出运行时间段,则不执行操作;若当前时间超出运行时间段,则将该运行时间段对应的区块链账本确定为目标账本,并对目标账本以及目标账本中的所有记账数据进行归档处理,其中,归档处理可为对记账数据进行备份,也可为直接删除记账数据。在完成归档处理后,通知区块链网络中的所有区块链节点停止运行该区块链账本,并删除该区块链账本中的所有记账数据,从而防止无效的记账数据继续占用存储资源。
通过图1所示实施例可知,在本发明实施例中,通过创建多个区块链账本,然后获取记账数据及对应的数据时间,查找数据时间对应的区块链账本,将记账数据在该区块链账本中进行记账,同时监控当前时间,若当前时间超出某个区块链账本的运行时间段,则将运行时间段对应的区块链账本确定为目标账本,并对目标账本以及目标账本中的记账数据进行归档处理,本发明实施例基于不同的时间段创建多个区块链账本进行记账,适用于业务场景,并且实现了对过期的账本数据及区块链账本的归档处理,提升了存储资源的有效利用率。
图2所示,是在本发明实施例一的基础上,将对目标账本以及目标账本中的记账数据进行归档处理的过程进行细化后的得到的一种数据归档方法。本发明实施例提供了基于区块链的数据归档方法的实现流程图,如图2所示,该数据归档方法可以包括以下步骤:
在S201中,选定一个支持所述目标账本的区块链节点,由所述区块链节点将所述目标账本中的所述记账数据上传至归档服务器,并获取所述归档服务器返回的检索标识,所述检索标识用于在所述归档服务器中查找所述记账数据。
由于区块链网络中不同的区块链节点可能具有不同的账本权限,比如已创建的区块链账本包括AccountA、AccountB和AccountC,区块链节点NodeA仅存储区块链账本AccountA的副本,区块链节点NodeB存储有区块链账本AccountA和AccountB的副本,区块链节点NodeC存储有区块链账本AccountA、AccountB和AccountC的副本,则区块链节点NodeA、NodeB和NodeC具有不同的账本权限。在本发明实施例中,在进行归档处理时,在区块链网络中支持目标账本的多个区块链节点(存储有目标账本的多个区块链节点)选定一个,选定可以是随机选定或根据特定的条件进行选定。在选定完成后,由选定的区块链节点将自身存储的目标账本中的所有记账数据上传至预设的归档服务器。归档服务器在接收到目标账本中的记账数据后,将记账数据进行存储,并向上传记账数据的区块链节点返回检索标识,该检索标识用于在归档服务器中查找记账数据。值得一提的是,检索标识可以是记账数据在归档服务器中的存储地址,可以是服务器对记账数据进行哈希加密后得到的消息摘要,也可以是服务器自定义的与记账数据对应的特殊标识。
可选地,区块链节点将记账数据上传完成后,对本地的记账数据进行哈希加密生成第一验证信息,并接收归档服务器返回的第二验证信息,若第一验证信息与第二验证信息不同,则重新上传记账数据。在本发明实施例中,设置验证机制,具体设置区块链节点在将记账数据上传至归档服务器后,该区块链节点对本地的记账数据进行哈希加密生成第一验证信息,并且设置归档服务器对接收到的记账数据进行哈希加密生成第二验证信息,并将第二验证信息返回至区块链节点。由于相同的数据进行哈希加密后的结果一致,故进行归档处理的区块链节点将第一验证信息和第二验证信息进行比对后,若第一验证信息与第二验证信息相同,证明上传至归档服务器的记账数据无误,则继续执行后续操作;若第一验证信息与第二验证信息不同,证明区块链节点本地的记账数据与归档服务器中的记账数据不一致,则由区块链节点重新上传记账数据,并且归档服务器在接收到重新上传的记账数据后,根据重新上传的记账数据覆盖已存储的记账数据。通过上述方法可保证进行归档处理的数据的完整性,在上述方法的基础上,还可设置重试次数阈值,当区块链节点重新上传记账数据的次数超过重试次数阈值时,区块链节点基于目标账本进行告警。
在S202中,在支持所述目标账本的所有所述区块链节点中共享所述检索标识,并通知支持所述目标账本的所有所述区块链节点删除所述记账数据,停止运行所述目标账本。
区块链节点在接收到归档服务器返回的检索标识后,基于检索标识在区块链网络中发送广播,通知区块链网络中支持目标账本的所有区块链节点接收并存储检索标识。然后,对记账数据进行归档处理的区块链节点继续通知支持目标账本的所有区块链节点删除目标账本中的所有账本数据,并停止运行目标账本,即在支持目标账本的所有区块链节点本地删除目标账本。若用户欲查询目标账本中的账本数据,则直接基于区块链节点中的检索标识在归档服务器中进行查询。
通过图2所示实施例可知,在本发明实施例中,通过选定一个支持目标账本的区块链节点,由该区块链节点将目标账本中的记账数据上传至归档服务器,并获取归档服务器返回的检索标识,然后在支持目标账本的所有区块链节点中共享检索标识,并通知支持目标账本的所有区块链节点删除记账数据,停止运行目标账本,本发明实施例详细阐述了实现归档处理的具体过程,实现了归档处理的有序化。
图3所示,是在本发明实施例二的基础上,对由区块链节点将目标账本中的记账数据上传至归档服务器,并获取归档服务器返回的检索标识的过程进行扩展后的得到的一种数据归档方法。本发明实施例提供了基于区块链的数据归档方法的实现流程图,如图3所示,该数据归档方法可以包括以下步骤:
在S301中,由所述区块链节点对所述目标账本中的所述记账数据进行结算处理,得到结算数据。
在实际应用场景中,可能需要对归档的数据进行数据结算,比如在新开展2018年的业务时,需要对2017年已完成的业务进行结算。故在本发明实施例中,在当前时间到达目标账本的运行时间段,并由选定的区块链节点对目标账本进行归档处理时,由该区块链节点对目标账本中的记账数据进行结算处理得到结算数据,结算处理的结算规则根据实际应用场景进行制定。比如若目标账本中存储的是与保险业务相关的记账数据,则可设置结算规则为统计目标账本中的订单总数、保费收入以及赔款支出。
在S302中,将所述目标账本后的一个所述区块链账本确定为下级账本,将所述结算数据作为所述下级账本的初始数据进行记账,并在记账成功后执行通知支持所述目标账本的所有所述区块链节点删除所述记账数据的操作,其中,所述下级账本的所述记账时间段位于所述目标账本的所述记账时间段后。
在完成对结算数据的计算后,将位于目标账本的记账时间段后的记账时间段对应的区块链账本确定为下级账本,下级账本的具体确定方式根据实际应用场景进行制定。举例来说,一种创建多个区块链账本的方式是根据每个自然年进行创建,即每个自然年都对应一个区块链账本,该区块链账本的记账时间段和运行时间段均为对应的自然年整年,则在确定目标账本后,将目标账本所在自然年的下一个自然年对应的区块链账本作为下级账本。比如区块链账本AccountD的记账时间段和运行时间段均为2017年,区块链账本AccountE的记账时间段和运行时间段均为2018年,区块链账本AccountF的记账时间段和运行时间段均为2019年,若确定出的目标账本为区块链账本AccountD,则在进行结算处理时,确定出下级账本为区块链账本AccountE。
将结算数据作为下级账本的初始数据进行记账,其中,若下级账本并未创建,则创建下级账本,并将结算数据作为下级账本的创世区块中的数据进行记账;若下级账本已有创世区块,则将基于结算数据生成的区块链接在下级账本最新的区块后,进行记账。在下级账本中记账完成后,并且完成将记账数据上传至归档服务器的操作后,区块链节点通知支持目标账本的所有区块链节点删除记账数据。
通过图3所示实施例可知,在本发明实施例中,由区块链节点对目标账本中的记账数据进行结算处理得到结算数据,然后将目标账本后的一个区块链账本确定为下级账本,将结算数据作为下级账本的初始数据进行记账,并在记账成功后执行通知支持目标账本的所有区块链节点删除记账数据的操作,本发明实施例在归档时实现了数据结算,并将结算数据添加至下级账本,实现了在不同区块链账本之间的数据继承。
图4所示,是在本发明实施例二的基础上,对选定一个支持目标账本的区块链节点的过程进行细化后的得到的一种数据归档方法。本发明实施例提供了基于区块链的数据归档方法的实现流程图,如图4所示,该数据归档方法可以包括以下步骤:
在S401中,确定支持所述目标账本的多个所述区块链节点,并获取每个所述区块链节点所在主机的可用资源信息,所述可用资源信息包括中央处理器频率、中央处理器可用率以及内存可用量。
在确定了目标账本,并对目标账本及目标账本中的记账数据进行归档处理时,确定支持目标账本的多个区块链节点,从而获取支持目标账本的区块链节点所在主机的可用资源信息,可用资源信息包括中央处理器(Central Processing Unit,CPU)频率、CPU可用率以及内存可用量,当然根据实际应用场景的不同,可用资源信息还可包括更多内容。
在S402中,基于所述可用资源信息计算可用值,并选定所述可用值最高的所述主机下的所述区块链节点。
在得到区块链节点所在主机的可用资源信息后,基于可用资源信息计算可用值,可用值的计算公式如下:
Vaule=ωFreq-CPU·S(FreqCPU)+ωRatio-CPU·S(RatioCPU)
+ωCapacity-Memory·S(CapacityMemory)
在上述公式中,S(x)函数代表的是即以此类推,S(x)函数用于将CPU频率、CPU可用率和内存可用量的数值映射到0到1的范围内,便于进行计算。在上述公式中,Value代表可用值,FreqCPU和ωFreq-CPU分别代表CPU频率和CPU频率的权值;RatioCPU和ωRatio-CPU分别代表CPU可用率和CPU可用率的权值;CapacityMemory和ωCapacity-Memory分别代表内存可用量和内存可用量的权值。上述公式中的各个权值都应设置为大于零,权值的具体数值可根据实际应用场景中可用资源信息各个内容的重要性进行确定,重要程度越高,则将权值设置得越大,比如可分别将ωFreq-CPU、ωRatio-CPU和ωCapacity-Memory分别赋值为2、2和1。值得一提的是,为了方便进行计算,可预先为CPU频率和内存可用量设置基数值,并计算实际的数值与基数值之间的比值,将该比值代入上述公式中,以消除数值单位带来的影响。举例来说,将CPU频率的基数值设置为1吉赫(GHz),将内存可用量的基数值设置为1个太字节(TB),假设实际获取到的可用资源信息中,CPU频率和内存可用量分别为2吉赫和1太字节,则计算出的FreqCPU为2(2GHz/1GHz),CapacityMemory为1(1TB/1TB)。在计算出支持目标账本的每个区块链节点对应的可用值后,将可用值最高的区块链节点选定为对目标账本进行归档处理的执行主体。
通过图4所示实施例可知,在本发明实施例中,确定支持目标账本的多个区块链节点,并获取每个区块链节点所在主机的可用资源信息,基于可用资源信息计算可用值,并选定可用值最高的主机下的区块链节点,本发明实施例通过计算可用值,从而使处理能力最强的区块链节点进行归档处理,提升了归档处理的效率。
图5所示,是在本发明实施例一的基础上,对创建多个区块链账本的过程进行扩展后的得到的一种数据归档方法。本发明实施例提供了基于区块链的数据归档方法的实现流程图,如图5所示,该数据归档方法可以包括以下步骤:
在S501中,创建数据保留账本,其中,所述数据保留账本对应预设的保留标识,并且所述数据保留账本不进行归档处理。
在实际应用场景中,可能存在部分数据,用户并不希望其被归档,故在本发明实施例中,在创建多个区块链账本时,还创建数据保留账本,该数据保留账本对应预设的保留标识,并且数据保留账本及数据保留账本中的数据永不进行归档处理(比如可将该数据保留账本的记账时间段和运行时间段设置为永久或超过预设时间段,如超过50年)。
在S502中,若所述记账数据包含所述保留标识,则将所述记账数据在所述数据保留账本中进行记账。
在获取到记账数据及对应的数据时间后,若该记账数据包含保留标识,则一方面查找数据时间所在的记账时间段对应的区块链账本,并将记账数据在该区块链账本中进行记账;另一方面将该记账数据在数据保留账本中进行记账,从而保证该记账数据至少能在数据保留账本中存储,不会被全部归档。
通过图5所示实施例可知,在本发明实施例中,创建数据保留账本,其中,该数据保留账本对应预设的保留标识,并且该数据保留账本不进行归档处理,若获取到的记账数据包含保留标识,则将记账数据在数据保留账本中进行记账,本发明实施例通过额外创建不进行归档的数据保留账本,从而保证特定的记账数据能够永久保留,提升了数据归档在不同场景的适用性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图7示出了本发明实施例提供的终端设备的结构框图,该终端设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图7,所述终端设备包括:
创建单元71,用于创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
记账单元72,用于获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
归档单元73,用于监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理。
可选地,归档单元73包括:
上传单元,用于选定一个支持所述目标账本的区块链节点,由所述区块链节点将所述目标账本中的所述记账数据上传至归档服务器,并获取所述归档服务器返回的检索标识,所述检索标识用于在所述归档服务器中查找所述记账数据;
删除单元,用于在支持所述目标账本的所有所述区块链节点中共享所述检索标识,并通知支持所述目标账本的所有所述区块链节点删除所述记账数据,停止运行所述目标账本。
可选地,删除单元还包括:
结算单元,用于由所述区块链节点对所述目标账本中的所述记账数据进行结算处理,得到结算数据;
确定单元,用于将所述目标账本后的一个所述区块链账本确定为下级账本,将所述结算数据作为所述下级账本的初始数据进行记账,并在记账成功后执行通知支持所述目标账本的所有所述区块链节点删除所述记账数据的操作,其中,所述下级账本的所述记账时间段位于所述目标账本的所述记账时间段后。
可选地,上传单元包括:
获取单元,用于确定支持所述目标账本的多个所述区块链节点,并获取每个所述区块链节点所在主机的可用资源信息,所述可用资源信息包括中央处理器频率、中央处理器可用率以及内存可用量;
计算单元,用于基于所述可用资源信息计算可用值,并选定所述可用值最高的所述主机下的所述区块链节点。
可选地,创建单元71还包括:
额外创建单元,用于创建数据保留账本,其中,所述数据保留账本对应预设的保留标识,并且所述数据保留账本不进行归档处理;
记账单元72还包括:
额外记账单元,用于若所述记账数据包含所述保留标识,则将所述记账数据在所述数据保留账本中进行记账。
因此,本发明实施例提供的终端设备基于不同的时间创建多个区块链账本进行记账,并对过期的区块链账本进行归档,防止过期的区块链账本及账本数据继续占用存储资源,提升了区块链资源的有效利用率。
图8是本发明实施例提供的终端设备的示意图。如图8所示,该实施例的终端设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如基于区块链的数据归档程序。所述处理器80执行所述计算机程序82时实现上述各个基于区块链的数据归档方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器80执行所述计算机程序82时实现上述各终端设备实施例中各单元的功能,例如图7所示单元71至73的功能。
示例性的,所述计算机程序82可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述终端设备8中的执行过程。例如,所述计算机程序82可以被分割成创建单元、记账单元和归档单元,各单元具体功能如下:
创建单元,用于创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
记账单元,用于获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
归档单元,用于监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理。
所述终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的示例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于区块链的数据归档方法,其特征在于,包括:
创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理;
所述对所述目标账本以及所述目标账本中的所述记账数据进行归档处理,包括:
选定一个支持所述目标账本的区块链节点,由所述区块链节点将所述目标账本中的所述记账数据上传至归档服务器,并获取所述归档服务器返回的检索标识,所述检索标识用于在所述归档服务器中查找所述记账数据;
在支持所述目标账本的所有所述区块链节点中共享所述检索标识,并通知支持所述目标账本的所有所述区块链节点删除所述记账数据,停止运行所述目标账本;
所述由所述区块链节点将所述目标账本中的所述记账数据上传至归档服务器,并获取所述归档服务器返回的检索标识,还包括:
由所述区块链节点对所述目标账本中的所述记账数据进行结算处理,得到结算数据;
将所述目标账本后的一个所述区块链账本确定为下级账本,将所述结算数据作为所述下级账本的初始数据进行记账,并在记账成功后执行通知支持所述目标账本的所有所述区块链节点删除所述记账数据的操作,其中,所述下级账本的所述记账时间段位于所述目标账本的所述记账时间段后。
2.如权利要求1所述的数据归档方法,其特征在于,所述选定一个支持所述目标账本的区块链节点,包括:
确定支持所述目标账本的多个所述区块链节点,并获取每个所述区块链节点所在主机的可用资源信息,所述可用资源信息包括中央处理器频率、中央处理器可用率以及内存可用量;
基于所述可用资源信息计算可用值,并选定所述可用值最高的所述主机下的所述区块链节点。
3.如权利要求1所述的数据归档方法,其特征在于,所述创建多个区块链账本,还包括:
创建数据保留账本,其中,所述数据保留账本对应预设的保留标识,并且所述数据保留账本不进行归档处理;
所述获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账,还包括:
若所述记账数据包含所述保留标识,则将所述记账数据在所述数据保留账本中进行记账。
4.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
创建多个区块链账本,其中,每个所述区块链账本对应预设的记账时间段和运行时间段,所述记账时间段指示所述区块链账本可支持数据记账的时间段,所述运行时间段指示所述区块链账本可提供数据服务的时间段;
获取记账数据及对应的数据时间,查找所述数据时间所在的所述记账时间段对应的所述区块链账本,并将所述记账数据在所述区块链账本中进行记账;
监控当前时间,若所述当前时间超出所述运行时间段,则将所述运行时间段对应的所述区块链账本确定为目标账本,并对所述目标账本以及所述目标账本中的所述记账数据进行归档处理;
所述对所述目标账本以及所述目标账本中的所述记账数据进行归档处理,包括:
选定一个支持所述目标账本的区块链节点,由所述区块链节点将所述目标账本中的所述记账数据上传至归档服务器,并获取所述归档服务器返回的检索标识,所述检索标识用于在所述归档服务器中查找所述记账数据;
在支持所述目标账本的所有所述区块链节点中共享所述检索标识,并通知支持所述目标账本的所有所述区块链节点删除所述记账数据,停止运行所述目标账本;
所述由所述区块链节点将所述目标账本中的所述记账数据上传至归档服务器,并获取所述归档服务器返回的检索标识,还包括:
由所述区块链节点对所述目标账本中的所述记账数据进行结算处理,得到结算数据;
将所述目标账本后的一个所述区块链账本确定为下级账本,将所述结算数据作为所述下级账本的初始数据进行记账,并在记账成功后执行通知支持所述目标账本的所有所述区块链节点删除所述记账数据的操作,其中,所述下级账本的所述记账时间段位于所述目标账本的所述记账时间段后。
5.如权利要求4所述的终端设备,其特征在于,所述选定一个支持所述目标账本的区块链节点,包括:
确定支持所述目标账本的多个所述区块链节点,并获取每个所述区块链节点所在主机的可用资源信息,所述可用资源信息包括中央处理器频率、中央处理器可用率以及内存可用量;
基于所述可用资源信息计算可用值,并选定所述可用值最高的所述主机下的所述区块链节点。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据归档方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202877.3A CN109522314B (zh) | 2018-10-16 | 2018-10-16 | 基于区块链的数据归档方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202877.3A CN109522314B (zh) | 2018-10-16 | 2018-10-16 | 基于区块链的数据归档方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522314A CN109522314A (zh) | 2019-03-26 |
CN109522314B true CN109522314B (zh) | 2023-04-14 |
Family
ID=65772024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811202877.3A Active CN109522314B (zh) | 2018-10-16 | 2018-10-16 | 基于区块链的数据归档方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522314B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162540B (zh) * | 2019-04-17 | 2023-06-06 | 平安科技(深圳)有限公司 | 区块链账本数据的查询方法、电子装置及存储介质 |
CN110245006B (zh) * | 2019-05-07 | 2023-05-02 | 深圳壹账通智能科技有限公司 | 区块链事务的处理方法、装置、设备及存储介质 |
CN110866006A (zh) * | 2019-10-12 | 2020-03-06 | 苏宁云计算有限公司 | 过期数据的归档方法和装置 |
CN110970104B (zh) * | 2019-12-10 | 2023-09-12 | 中国标准化研究院 | 一种基于区块链的人体特征数据共享系统 |
CN111783133B (zh) * | 2020-06-02 | 2023-06-30 | 广东科学技术职业学院 | 一种基于区块链技术的网络资源管理方法 |
CN113220665B (zh) * | 2021-05-20 | 2023-10-20 | 成都质数斯达克科技有限公司 | 一种区块链数据归档方法、装置、电子设备及可读存储介质 |
CN113821381B (zh) * | 2021-11-18 | 2022-07-08 | 深圳电通信息技术有限公司 | 区块链节点资源备份及离线节点资源转移方法及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653560A (zh) * | 2014-11-28 | 2016-06-08 | 华为软件技术有限公司 | 数据归档方法和装置 |
CN105677685A (zh) * | 2014-11-21 | 2016-06-15 | 中芯国际集成电路制造(天津)有限公司 | 数据库系统及于数据库系统中存储和查询数据的方法 |
CN106294009A (zh) * | 2016-08-05 | 2017-01-04 | 北京小米移动软件有限公司 | 数据库归档方法及系统 |
CN106790431A (zh) * | 2016-12-05 | 2017-05-31 | 同济大学 | 基于区块链的云制造服务交易信息记录系统与方法 |
CN107239457A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 数据归档方法及装置 |
-
2018
- 2018-10-16 CN CN201811202877.3A patent/CN109522314B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677685A (zh) * | 2014-11-21 | 2016-06-15 | 中芯国际集成电路制造(天津)有限公司 | 数据库系统及于数据库系统中存储和查询数据的方法 |
CN105653560A (zh) * | 2014-11-28 | 2016-06-08 | 华为软件技术有限公司 | 数据归档方法和装置 |
CN107239457A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 数据归档方法及装置 |
CN106294009A (zh) * | 2016-08-05 | 2017-01-04 | 北京小米移动软件有限公司 | 数据库归档方法及系统 |
CN106790431A (zh) * | 2016-12-05 | 2017-05-31 | 同济大学 | 基于区块链的云制造服务交易信息记录系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109522314A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522314B (zh) | 基于区块链的数据归档方法及终端设备 | |
CN109656873B (zh) | 基于区块链的数据归档方法、装置及终端设备 | |
EP3552343B1 (en) | Method and apparatus for creating a finite blockchain | |
US20210152363A1 (en) | Blockchain recording methods and apparatuses, and computer devices | |
US20200310917A1 (en) | System and method for preserving data using replication and blockchain notarization | |
CN107809484B (zh) | 区块链交易信息处理方法及区块链节点 | |
CN109543455B (zh) | 一种区块链的数据归档方法及装置 | |
US9020893B2 (en) | Asynchronous namespace maintenance | |
US20190156332A1 (en) | Optimization of high volume transaction performance on a blockchain | |
CN110543448A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN112153085A (zh) | 一种数据处理方法、节点及区块链系统 | |
CN110958300B (zh) | 一种数据的上传方法、系统、装置、电子设备和计算机可读介质 | |
CN108255989B (zh) | 图片存储方法、装置、终端设备及计算机存储介质 | |
US10169085B2 (en) | Distributed computing of a task utilizing a copy of an original file stored on a recovery site and based on file modification times | |
WO2019228558A2 (en) | Methods and devices for providing traversable key-value data storage on blockchain | |
CN110597887A (zh) | 一种基于区块链网络的数据管理方法、装置及存储介质 | |
WO2021174836A1 (zh) | 差分包生成方法方法、装置、计算机设备及存储介质 | |
CN111984735A (zh) | 一种数据归档方法、装置、电子设备和存储介质 | |
CN102282545B (zh) | 存储系统 | |
CN111291002A (zh) | 文件对账方法、装置、计算机设备及存储介质 | |
CN115756568A (zh) | 业务规则的更新方法、装置、电子设备及存储介质 | |
CN112596959A (zh) | 分布式存储集群数据备份方法及装置 | |
CN113032820A (zh) | 文件存储方法、访问方法、装置、设备及存储介质 | |
CN115190136B (zh) | 一种数据存储方法、数据传输方法及计算设备 | |
CN113392138B (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 |