发明内容
本发明的主要目的在于提供一种基于区块链的数据迁移方法、设备、存储介质及装置,旨在解决现有技术中用户在遗失区块链中的数据后无法找回的技术问题。
为实现上述目的,本发明提供一种基于区块链的数据迁移方法,基于区块链的数据迁移方法包括以下步骤:
在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息;
根据签名信息和数据恢复请求生成数据迁移请求;
根据第一验证条件对数据迁移请求进行验证,获得第一验证结果;
在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。
可选的,根据签名信息和数据恢复请求生成数据迁移请求,包括:
根据第二验证条件对签名信息进行验证,获得第二验证结果;
在第二验证结果为通过时,获取预设审批节点对应的地址信息和秘钥信息;
根据地址信息、秘钥信息、签名信息和数据恢复请求生成数据迁移请求。
可选的,根据地址信息、秘钥信息、签名信息和数据恢复请求生成数据迁移请求,包括:
根据地址信息、秘钥信息、签名信息生成审批信息;
根据数据恢复请求确定原始地址、迁移地址及迁移数据信息;
创建迁移流程,迁移流程在执行时,将原始地址中与迁移数据信息对应的数据转移至迁移地址中;
根据迁移流程和审批信息生成数据迁移请求。
可选的,根据迁移流程和审批信息生成数据迁移请求,包括:
根据数据恢复请求确定目标区块链,并获取目标区块链对应的请求路径信息;
根据请求路径信息、迁移流程和审批信息生成数据迁移请求。
可选的,根据第一验证条件对数据迁移请求进行验证,获得第一验证结果,包括:
根据预设签名数量条件对签名信息进行验证,获得第三验证结果;
根据预设地址信息条件对地址信息进行验证,获得第四验证结果;
根据第三验证结果和第四验证结果确定数据迁移请求对应的第一验证结果。
可选的,根据第三验证结果和第四验证结果确定数据迁移请求对应的第一验证结果,包括:
根据秘钥信息对签名信息进行验证,获得第五验证结果;
根据秘钥信息对地址信息进行验证,获得第六验证结果;
根据第三验证结果、第四验证结果、第五验证结果和第六验证结果确定数据迁移请求对应的第一验证结果。
可选的,在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息,包括:
在接收到数据恢复请求时,根据数据恢复请求确定审批节点集合;
获取审批节点集合对应的地址信息,并将数据恢复请求发送至地址信息对应的审批节点;
接收审批节点基于数据恢复请求返回的签名信息。
此外,为实现上述目的,本发明还提出一种基于区块链的数据迁移装置,基于区块链的数据迁移装置包括:
接收模块,用于在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息;
请求生成模块,用于根据签名信息和数据恢复请求生成数据迁移请求;
验证模块,用于根据第一验证条件对数据迁移请求进行验证,获得第一验证结果;
迁移模块,用于在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。
此外,为实现上述目的,本发明还提出一种基于区块链的数据迁移设备,基于区块链的数据迁移设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的基于区块链的数据迁移程序,基于区块链的数据迁移程序被处理器执行时实现如上文所述的基于区块链的数据迁移方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,存储介质上存储有基于区块链的数据迁移程序,基于区块链的数据迁移程序被处理器执行时实现如上文所述的基于区块链的数据迁移方法的步骤。
在本发明中,在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息;根据签名信息和数据恢复请求生成数据迁移请求;根据第一验证条件对数据迁移请求进行验证,获得第一验证结果;在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。本发明支持用户针对遗失的数据发起数据恢复请求,通过预设审批节点进行审批后,与审批信息一同为用户生成数据迁移请求;同时再对审批信息进行验证,若审批信息正确,则为用户进行数据迁移,从而为用户找回遗失的数据。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于区块链的数据迁移设备结构示意图。
如图1所示,该基于区块链的数据迁移设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、操作者接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。操作者接口1003可以包括显示屏(Display),可选操作者接口1003还可以包括标准的有线接口、无线接口,对于操作者接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于区块链的数据迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、操作者接口模块以及基于区块链的数据迁移程序。
在图1所示的基于区块链的数据迁移设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;操作者接口1003主要用于连接操作者设备;所述基于区块链的数据迁移设备通过处理器1001调用存储器1005中存储的基于区块链的数据迁移程序,并执行本发明实施例提供的基于区块链的数据迁移方法。
基于上述硬件结构,提出本发明基于区块链的数据迁移方法的实施例。
参照图2,图2为本发明基于区块链的数据迁移方法第一实施例的流程示意图,提出本发明基于区块链的数据迁移方法第一实施例。
在第一实施例中,所述基于区块链的数据迁移方法包括以下步骤:
步骤S10:在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息。
应理解的是,本实施例的执行主体是为所述基于区块链的数据迁移设备,该基于区块链的数据迁移设备具有数据处理、数据通信及程序运行等功能,所述基于区块链的数据迁移设备可以为服务器等计算机设备,本实施例以服务器为例进行说明,当然,还可为其他具有相似功能的设备,本实施方式对此不加以限制。
在本实施方式中,用户需要恢复的数据可以为区块链中的数据,例如,用户在区块链中持有的资产数据等。用户在对资产数据进行操作时,通常需要利用私钥进行验证,若遗失私钥,则会导致该资产数据遗失。服务器上可配置业务管理系统,该业务管理系统可用于对区块链进行管理,还可以提供数据恢复业务,以执行本实施方式提出的基于区块链的数据迁移流程。
需要说明的是,数据恢复请求可以为web请求。用户可通过浏览器登录业务管理系统,并从预设的数据恢复界面中的控件输入数据恢复命令,浏览器根据该数据恢复命令向服务器发生数据恢复请求。或者,数据恢复请求还可以API调用请求。数据迁移流程可封装成一应用程序,并向外提供相应的API,以供用户调用,用户可输入该API调用指令调用该API,从而发起数据恢复请求。当然,数据恢复请求还可以为其他形式,本实施方式对此不加以限制。
预设审批节点可以为具有自动审批功能的节点,或者为具有审批资格用户所拥有的节点。预设审批节点在接收到数据恢复请求时,对该数据恢复请求进行验证,并进行签名。通常,用户在发起数据恢复请求时,需要输入身份认证信息,或者其他用于验证身份的信息,如历史数据迁移信息等。预设审批节点根据用户输入的信息进行验证,在验证通过后,利用自身秘钥进行签名。具体验证规则可根据需求进行设置,本实施方式对此不加以限制。
在具体实现时,步骤S10可以为:在接收到数据恢复请求时,根据数据恢复请求确定审批节点集合;获取审批节点集合对应的地址信息,并将数据恢复请求发送至地址信息对应的审批节点;接收审批节点基于数据恢复请求返回的签名信息。
审批节点集合是指可选审批节点的集合,审批节点集合中包括各审批节点对应的地址信息。例如,审批节点集合可以表示为[addr1,addr2,addr3],其中addr为各审批节点对应的地址。在进行数据恢复请求的转发,也可以根据需要从审批节点集合选择对应的审批节点进行转发,而不对所有审批节点进行转发。另外,为了针对不同用户提供不同的审批方式,审批节点集合可以为多个。用户在发起数据恢复请求时,可选择对应的审批节点集合。或者,由服务器根据数据恢复请求自动选择对应的审批节点集合。
步骤S20:根据签名信息和数据恢复请求生成数据迁移请求。
用户所持有的数据通常位于区块链内,区块链中的数据迁移需要在经过验证之后才能生效,并进行保存,且不可篡改。在本实施方式中,数据迁移请求用于指示一次数据迁移操作。
用户在发起数据恢复请求时,需要提供原始地址、迁移地址及迁移数据信息。原始地址为数据的当前存储地址,为需要转出的地址,原始地址可具体为用户的旧地址或黑客地址。迁移地址为数据迁移的目标地址,如用户所持有的新地址,迁移地址用于存储从原始地址转出的数据。迁移数据信息可为需要迁移的数据量大小,如数字资产的数量等。服务器根据原始地址、迁移地址及迁移数据信息创建一数据迁移流程信息,并将该迁移流程信息与签名信息组合成数据迁移请求。
步骤S30:根据第一验证条件对数据迁移请求进行验证,获得第一验证结果。
为了防止审批信息被伪造,本实施方式还需要对数据迁移请求进行验证。具体而言,是对数据迁移请求中的审批信息进行验证。在具体实现时,可对审批信息中签名信息的真伪进行验证,如根据审批节点对应的公钥对签名进行验证。当然,对审批信息进行验证的可根据需要进行设置,本实施方式对此不加以限制。
步骤S40:在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。
可以理解的是,在对数据迁移请求验证通过后,说明数据迁移请求合法,存在造假的可能性较小,此时,可执行数据迁移请求所指示的数据迁移操作。具体可以为将迁移数据信息对应的数据从原始地址中转出,再存入迁移地址中。
需要说明的是,为了使本实施例提出的数据迁移方法操作更方便,可将上述步骤写入至智能合约中。智能合约在被触发时,能够自动完成已配置的流程。其中,触发条件可设置为接收到数据恢复请求。
在第一实施例中,在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息;根据签名信息和数据恢复请求生成数据迁移请求;根据第一验证条件对数据迁移请求进行验证,获得第一验证结果;在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。本实施方式支持用户针对遗失的数据发起数据恢复请求,通过预设审批节点进行审批后,与审批信息一同为用户生成数据迁移请求;同时再对审批信息进行验证,若审批信息正确,则为用户进行数据迁移,从而为用户找回遗失的数据。
参照图3,图3为本发明基于区块链的数据迁移方法第二实施例的流程示意图,基于上述第一实施例,提出本发明基于区块链的数据迁移方法的第二实施例。
在第二实施例中,步骤S20,包括:
步骤S201:根据第二验证条件对签名信息进行验证,获得第二验证结果。
在本实施方式中,审批节点可以为多个,如3个、5个。为了防止存在部分审批节点的签名信息被伪造,可分别对各审批节点对应的签名信息进行验证。
在具体实现时,可根据获取各审批节点对应的公钥,根据公钥对各审批节点对应的签名信息进行验证。例如,通过预设的加密算法(如对称加密算法)对其签名信息进行加密,获得加密信息,将加密信息与公钥进行比对,得到比对结果。其中,第二验证条件可以为比对结果为是否一致。若一致,则第二验证结果为验证通过;若不一致,则第二验证结果为验证不通过。
步骤S202:在第二验证结果为通过时,获取预设审批节点对应的地址信息和秘钥信息。
为了便于后续的验证,需要提供各审批节点的信息。其中,地址信息参考第一实施例,在进行数据恢复请求时已知,服务器在执行步骤S202时,可根据历史记录获取各审批节点对应的地址信息。秘钥信息可以在预先进行配置,通过将各审批节点对应的秘钥信息与各审批节点对应的地址写入至配置文件,服务器在确定地址信息后,可直接根据地址查找配置文件获得对应的秘钥信息。
步骤S203:根据地址信息、秘钥信息、签名信息和数据恢复请求生成数据迁移请求。
服务器在获得个审批节点对应的地址信息、秘钥信息和签名信息后,可将其与数据恢复请求进行合并生成数据迁移请求。
在具体实现时,步骤S203可以为:根据地址信息、秘钥信息、签名信息生成审批信息;根据数据恢复请求确定原始地址、迁移地址及迁移数据信息;创建迁移流程,迁移流程在执行时,将原始地址中与迁移数据信息对应的数据转移至迁移地址中;根据迁移流程和审批信息生成数据迁移请求。
参照第一实施例,原始地址、迁移地址及迁移数据信息为用户在发起数据恢复请求时,直接输入的信息,服务器可直接进行读取,获得该信息。服务器为了对数据进行区别,便于后续对数据的读取,将地址信息、秘钥信息、签名信息作为审批信息,再根据迁移流程和审批信息生成数据迁移请求。
在本实施方式中,根据迁移流程和审批信息生成数据迁移请求看具体为:根据数据恢复请求确定目标区块链,并获取目标区块链对应的请求路径信息;根据请求路径信息、迁移流程和审批信息生成数据迁移请求。
需要说明的是,在本实施方式,步骤S10~S20还可以在区块链外执行,步骤S20~S30由区块链执行。此时,需要将数据迁移请求上传至目标区块链,以对数据迁移请求进行验证并执行。其中,请求路径信息是指数据迁移请求上链的网络通信地址,服务器可通过请求路径信息将数据迁移请求上传至目标区块链。此时,还需要注意,为了保证区块链内外的验证统一,审批节点所采用的签名算法应当与区块链所采用的保持一致。
对于一个业务管理系统而言,通常同时维护有多条区块链。为正确对用户遗失数据的转移,需要明确遗失数据所对应的区块链。其中,目标区块链可在用户发起数据恢复请求时,通过输入区块链命进行指定。服务器跟根据该区块链名,从预设的区块链路径信息表中,查找对应的请求路径信息。
在第二实施例中,根据第二验证条件对签名信息进行验证,获得第二验证结果;在第二验证结果为通过时,获取预设审批节点对应的地址信息和秘钥信息;再根据地址信息、秘钥信息、签名信息和数据恢复请求生成数据迁移请求。本实施方式先对各审批节点的签名信息进行验证,防止签名信息被伪造,同时为了后续验证的全面性,本实施方式还收集了各审批节点的地址及秘钥信息,从而提高了数据迁移的安全性,保证用户的数据安全。
参照图4,图4为本发明基于区块链的数据迁移方法第三实施例的流程示意图,基于上述第二实施例,提出本发明基于区块链的数据迁移方法的第三实施例。
在第三实施例中,步骤S30,包括:
步骤S301:根据预设签名数量条件对签名信息进行验证,获得第三验证结果。
需要说明的是,为防止数据恢复被滥用,本实施方式对数据恢复请求的审批信息进行多重验证,以保证在执行数据迁移功能能够正确应用。
在本实施方式中,预设签名数量条件是指签名信息的最小数量。通常,一个审批节点至生成一个签名信息,通过对签名信息的数据设置最小数值,保证数据恢复请求经过了多重验证,从而保证了数据恢复请求的可信度。
步骤S302:根据预设地址信息条件对地址信息进行验证,获得第四验证结果。
在本实施方式中,预设地址信息条件是指地址信息中必须包含的地址信息。一个地址信息对应一个审批节点,通过对地址信息中必须包含的地址信息进行限制,保证数据恢复请求得到必要审批节点的审批,从而保证了数据恢复请求的可信度。
步骤S303:根据第三验证结果和第四验证结果确定数据迁移请求对应的第一验证结果。
在通过对审批信息整体进行验证后,保证数据恢复请求得到必要的审批,避免数据恢复被滥用。具体的,服务器可在第三验证结果和第四验证结果均为通过时,判定第一验证结果为通过;反之则为不通过。或者,服务器还可以为第三验证结果和第四验证结果设置权重值,并进行计算,根据计算结果确定第一验证结果。
在本实施方式中,为进一步提高验证的可信度,步骤S303还可以为:根据秘钥信息对签名信息进行验证,获得第五验证结果;根据秘钥信息对地址信息进行验证,获得第六验证结果;根据第三验证结果、第四验证结果、第五验证结果和第六验证结果确定数据迁移请求对应的第一验证结果。
通过秘钥信息分别对签名信息和地址信息进行验证,可避免审批信息被伪造。例如,审批信息中包括签名信息[sign1,sign2]、秘钥信息[pub_key1,pub_key2]和地址信息[addr1,addr2]。预设签名数量条件为2,预设地址信息条件为[addr1]。此时,可判断数据迁移请求满足了预设签名数量条件及预设地址信息条件,第三验证结果和第四验证结果均为通过。进一步的,根据pub_key1验证sign1和addr1;根据pub_key2验证sign2和addr2。若均验证通过,则说明第五验证结果和第六验证结果均为通过。由此说明,数据迁移请求符号验证规则,具有较高可信性,可以其对应的数据迁移流程。
在第三实施例中,根据预设签名数量条件对签名信息进行验证,获得第三验证结果;根据预设地址信息条件对地址信息进行验证,获得第四验证结果;根据第三验证结果和第四验证结果确定数据迁移请求对应的第一验证结果。本实施方式对审批信息进行整体验证,针对多审批节点的签名信息进行多重验证,保证数据恢复请求的可信度,从而提高了数据迁移的安全性,保证用户的数据安全。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于区块链的数据迁移程序,所述基于区块链的数据迁移程序被处理器执行时实现如上文所述的基于区块链的数据迁移方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,参照图5,图5为本发明基于区块链的数据迁移装置第一实施例的结构框图,本发明实施例还提出一种基于区块链的数据迁移装置。
在本实施例中,基于区块链的数据迁移装置包括:
接收模块10,用于在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息;
请求生成模块20,用于根据签名信息和数据恢复请求生成数据迁移请求;
验证模块30,用于根据第一验证条件对数据迁移请求进行验证,获得第一验证结果;
迁移模块40,用于在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。
在本实施例中,在接收到数据恢复请求时,将数据恢复请求发送至预设审批节点,并接收预设审批节点基于数据恢复请求返回的签名信息;根据签名信息和数据恢复请求生成数据迁移请求;根据第一验证条件对数据迁移请求进行验证,获得第一验证结果;在第一验证结果为通过时,执行数据迁移请求对应的迁移操作。本实施例支持用户针对遗失的数据发起数据恢复请求,通过预设审批节点进行审批后,与审批信息一同为用户生成数据迁移请求;同时再对审批信息进行验证,若审批信息正确,则为用户进行数据迁移,从而为用户找回遗失的数据。
在一实施例中,请求生成模块20,还用于根据第二验证条件对签名信息进行验证,获得第二验证结果;在第二验证结果为通过时,获取预设审批节点对应的地址信息和秘钥信息;根据地址信息、秘钥信息、签名信息和数据恢复请求生成数据迁移请求。
在一实施例中,请求生成模块20,还用于根据地址信息、秘钥信息、签名信息生成审批信息;根据数据恢复请求确定原始地址、迁移地址及迁移数据信息;创建迁移流程,迁移流程在执行时,将原始地址中与迁移数据信息对应的数据转移至迁移地址中;根据迁移流程和审批信息生成数据迁移请求。
在一实施例中,请求生成模块20,还用于根据数据恢复请求确定目标区块链,并获取目标区块链对应的请求路径信息;根据请求路径信息、迁移流程和审批信息生成数据迁移请求。
在一实施例中,验证模块30,还用于根据预设签名数量条件对签名信息进行验证,获得第三验证结果;根据预设地址信息条件对地址信息进行验证,获得第四验证结果;根据第三验证结果和第四验证结果确定数据迁移请求对应的第一验证结果。
在一实施例中,验证模块30,还用于根据秘钥信息对签名信息进行验证,获得第五验证结果;根据秘钥信息对地址信息进行验证,获得第六验证结果;根据第三验证结果、第四验证结果、第五验证结果和第六验证结果确定数据迁移请求对应的第一验证结果。
在一实施例中,接收模块10,还用于在接收到数据恢复请求时,根据数据恢复请求确定审批节点集合;获取审批节点集合对应的地址信息,并将数据恢复请求发送至地址信息对应的审批节点;接收审批节点基于数据恢复请求返回的签名信息。
本发明所述基于区块链的数据迁移装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。