CN113590580A - 基于区块链的数据库管理方法、装置及存储介质 - Google Patents
基于区块链的数据库管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113590580A CN113590580A CN202110707414.8A CN202110707414A CN113590580A CN 113590580 A CN113590580 A CN 113590580A CN 202110707414 A CN202110707414 A CN 202110707414A CN 113590580 A CN113590580 A CN 113590580A
- Authority
- CN
- China
- Prior art keywords
- database
- instruction
- block chain
- blockchain
- storage state
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的数据库管理方法、装置及计算机可读存储介质,所述基于区块链的数据库管理方法包括:接收数据库指令,将所述数据库指令发送至对应的数据库,接收所述对应的数据库的返回消息;将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。通过本发明,无需再为数据库建立事务日志,存储在基于区块链的去中心化系统中的所有数据库指令或与数据库指令等效的区块链指令构成了数据库的事务日志,基于区块链的防篡改机制,保证了该事务日志无法遭到非法篡改,提升了数据库的安全性与可靠性。
Description
技术领域
本发明属于数据处理领域,更具体地,涉及一种基于区块链的数据库管理方法、装置及存储介质。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。目前,数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库都具有事务日志,用于记录所有数据库指令以及每个数据库指令对数据库所做的修改。事务日志是数据库的重要组件,如果数据库系统出现故障,则可根据事务日志对数据库进行恢复。
事务日志对于数据库而言是至关重要的,但现有技术中对于事务日志的保护力度不足,若事务日志遭到非法篡改,将导致事务日志失去其原有的作用,在数据库系统出现故障时,无法根据事务日志对数据库进行恢复。
发明内容
本发明的目的在于解决现有技术中对于事务日志的保护力度不足的技术问题。
为了实现上述目的,本发明提供一种基于区块链的数据库管理方法、装置及存储介质。
根据本发明的第一方面,提供了一种基于区块链的数据库管理方法,所述数据库管理方法包括以下步骤:
接收数据库指令,将所述数据库指令发送至对应的数据库,接收所述对应的数据库的返回消息;
将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统;
在所述将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统之后包括:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统的返回消息;
所述将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统包括:
检测所述数据库指令的类型是否属于目标类型,若所述数据库指令的类型属于目标类型,则将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。
作为优选的是,所述基于区块链的数据库管理方法还包括:
获取所述数据库指令中包含的命令字段,从预置映射表中获取所述命令字段对应的通用字段;
将所述数据库指令中包含的命令字段替换为所述通用字段,得到与所述数据库指令等效的区块链指令。
作为优选的是,所述将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统之后包括:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统反馈的接口信息,将接口信息与所述数据库指令对应的数据库标识关联保存至预置存储区域。
作为优选的是,所述基于区块链的数据库管理方法还包括:
当接收到数据库恢复指令时,获取所述数据库恢复指令对应的数据库标识;
从所述预置存储区域中获取所述数据库标识对应的接口信息组,在区块链中获取所述接口信息组中各个接口信息对应的数据库指令或与所述数据库指令等效的区块链指令,得到数据库指令组或区块链指令组;
根据所述数据库指令组或区块链指令组对所述数据库标识对应的数据库进行数据库恢复。
作为优选的是,所述基于区块链的数据库管理方法还包括:
接收数据验证指令,获取数据验证指令对应的待验证对象,从数据库中获取所述待验证对象的当前存储状态;
从区块链中获取所述待验证对象对应的数据库指令或与所述数据库指令等效的区块链指令,根据所述数据库指令或与所述数据库指令等效的区块链指令获取所述待验证对象的基准存储状态;
根据所述基准存储状态验证所述当前存储状态的有效性。
作为优选的是,所述根据所述基准存储状态验证所述当前存储状态的有效性包括:
检测所述当前存储状态与所述基准存储状态是否一致;
若当前存储状态与所述基准存储状态一致,则输出第一提示信息,用以提示当前存储状态有效;
若当前存储状态与所述基准存储状态不一致,则输出第二提示信息,用以提示当前存储状态无效。
根据本发明的第二方面,提供了一种基于区块链的数据库管理装置,所述数据库管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的数据库管理程序,所述基于区块链的数据库管理程序被所述处理器执行时实现上述任一种基于区块链的数据库管理方法的步骤。
根据本发明的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的数据库管理程序,所述基于区块链的数据库管理程序被处理器执行时实现上述任一种基于区块链的数据库管理方法的步骤。
本发明的有益效果在于:
本发明的基于区块链的数据库管理方法,当接收到数据库指令,将所述数据库指令发送至对应的数据库,进一步的,将该数据库指令或与该数据库指令等效的区块链指令发布至基于区块链的去中心化系统。通过本发明,无需再为数据库建立事务日志,存储在基于区块链的去中心化系统中的所有数据库指令或与数据库指令等效的区块链指令构成了数据库的事务日志,基于区块链的防篡改机制,保证了该事务日志无法遭到非法篡改,提升了数据库的安全性与可靠性。
本发明的基于区块链的数据库管理装置和计算机可读存储介质与上述基于区块链的数据库管理方法属于一个总的发明构思,故与上述基于区块链的数据库管理方法具有相同的有益效果。
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明基于区块链的数据库管理方法第一实施例的流程示意图;
图3为本发明基于区块链的数据库管理方法一实施例的场景示意图。
具体实施方式
下面将更详细地描述本发明的优选实施方式。虽然以下描述了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
实施例:如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
本发明实施例装置可以是PC,也可以平板电脑、便携计算机等终端设备。
如图1所示,该装置可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,装置还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的数据库管理程序。
在图1所示的装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于区块链的数据库管理程序,并执行以下操作:
接收数据库指令,将所述数据库指令发送至对应的数据库,接收所述对应的数据库的返回消息;
将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统的返回消息。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
检测所述数据库指令的类型是否属于目标类型,若所述数据库指令的类型属于目标类型,则将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
获取所述数据库指令中包含的命令字段,从预置映射表中获取所述命令字段对应的通用字段;
将所述数据库指令中包含的命令字段替换为所述通用字段,得到与所述数据库指令等效的区块链指令。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统反馈的接口信息,将接口信息与所述数据库指令对应的数据库标识关联保存至预置存储区域。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
当接收到数据库恢复指令时,获取所述数据库恢复指令对应的数据库标识;
从所述预置存储区域中获取所述数据库标识对应的接口信息组,在区块链中获取所述接口信息组中各个接口信息对应的数据库指令或与所述数据库指令等效的区块链指令,得到数据库指令组或区块链指令组;
根据所述数据库指令组或区块链指令组对所述数据库标识对应的数据库进行数据库恢复。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
接收数据验证指令,获取数据验证指令对应的待验证对象,从数据库中获取所述待验证对象的当前存储状态;
从区块链中获取所述待验证对象对应的数据库指令或与所述数据库指令等效的区块链指令,根据所述数据库指令或与所述数据库指令等效的区块链指令获取所述待验证对象的基准存储状态;
根据所述基准存储状态验证所述当前存储状态的有效性。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的数据库管理程序,还执行以下操作:
检测所述当前存储状态与所述基准存储状态是否一致;
若当前存储状态与所述基准存储状态一致,则输出第一提示信息,用以提示当前存储状态有效;
若当前存储状态与所述基准存储状态不一致,则输出第二提示信息,用以提示当前存储状态无效。
参照图2,图2为本发明基于区块链的数据库管理方法第一实施例的流程示意图。
在一实施例中,基于区块链的数据库管理方法包括:
步骤S10,接收数据库指令,将所述数据库指令发送至对应的数据库,接收所述对应的数据库的返回消息,如指令操作成功等;
步骤S20,将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。
参照图3,图3为本发明基于区块链的数据库管理方法一实施例的场景示意图。本实施例中,数据库指令可以由某个具体的应用发给对应的程序,然后由程序将该数据库指令发送给对应的数据库,将该数据库指令或与该数据库指令等效的区块链指令发布至基于区块链的去中心化系统。其中,程序可以为独立于该具体应用的程序,也可以与具体应用整合。程序或程序与应用的整合可以为区块链的节点,或与区块链中某个节点通讯,以供建立与基于区块链的去中心化系统的通信连接。程序或程序与应用的整合还可以关联多个数据库。
本实施例中,数据库指令例如:数据库密码修改指令、数据筛选指令、数据插入指令、数据删除指令、数据更新指令、数据查询指令等等。具体根据实际需要进行缩减或扩充,在此不作限制。
本实施例中,关于区块链狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
关于去中心化系统,在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统或结构,即去中心化系统。
本实施例中,当程序或程序与应用的整合关联多个数据库时,可以将数据库指令进行字段扩展,增加标识不同数据库的字段,在接收到数据库指令时,获取该数据库指令对应的数据库标识(数据库标识用于指示该数据库指令对应的数据库),然后将该数据库指令发送至该数据库标识对应的数据库,将该数据库指令发布至基于区块链的去中心化系统,或者是获取该数据库指令中的命令字段(数据库指令包括命令字段即数据字段),在预置映射表中查找命令字段对应的通用字段,并将命令字段替换为通用字段,数据字段不变,得到与该数据库指令等效的区块链指令,将该区块链指令发布至基于区块链的去中心化系统。例如一段数据库指令为“insert into数据表(字段1,字段2,字段3…)values(值1,值2,值3…)”,其中命令字段为“insert into…values…”预置映射表中该命令字段“insertinto…values…”对应的通用字段为“插入…值…”,将命令字段替换为通用字段后,得到的区块链指令为“插入数据表(字段1,字段2,字段3…)值(值1,值2,值3…)”。使用不同语言编写的命令字段,若代表的含义一致,则在预置映射表中对应同一通用字段。使得本发明方案可兼容多种不同语言的数据库指令,并使用同一种通用语言在区块链上对不同的数据库进行查询或验证。
本实施例中,由于有些数据库指令不会对数据库中的数据进行改动,例如一个查询指令,若接收到的数据库指令是查询指令,则无需将该指令发布至基于区块链的去中心化系统。因此,可对数据库指令的字段进行扩展,增加指令类型的字段,在接收到数据库指令后,可先通过该字段对数据库指令的类型进行判断,若数据库指令的类型属于目标类型,则执行步骤S20,本实施例中,目标类型可以包括:数据删除指令、数据新增指令、数据插入指令等会造成数据库数据发生更改的指令的集合。例如,在数据删除指令、数据新增指令、数据插入指令等会造成数据库数据发生更改的指令中增加字段“a”,若接收到数据库指令后,检测到数据库指令中包括字段“a”,则判断该数据库指令属于目标类型。或者是,提取数据删除指令、数据新增指令、数据插入指令等会造成数据库数据发生更改的指令各自的命令字段,得到命令字段的集合,在接收到数据库指令后,若该数据库指令的命令字段为命令字段集合中的一种,则判定该数据库指令为目标类型。
本实施例中,当接收到数据库指令,将所述数据库指令发送至对应的数据库,进一步的,将该数据库指令或与该数据库指令等效的区块链指令发布至基于区块链的去中心化系统。通过本实施例,无需再为数据库建立事务日志,存储在基于区块链的去中心化系统中的所有数据库指令或与数据库指令等效的区块链指令构成了数据库的事务日志,基于区块链的防篡改机制,保证了该事务日志无法遭到非法篡改,提升了数据库的安全性与可靠性。
进一步的,本发明基于区块链的数据库管理方法一实施例中,步骤S20之后包括:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统的返回消息。
本实施例中,当数据库指令或与数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,会接收到基于区块链的去中心化系统反馈的返回消息,通过该返回消息,告知用户此次数据库指令或与数据库指令等效的区块链指令以成功收录至基于区块链的去中心化系统。关于该方案的具体的实现方式,可在实现本发明所提供的数据库管理方法的程序与区块链的接口中进行区块链返回消息接收的设计,将区块链的返回消息送入所述程序;或者扩展实现本发明所提供的数据库管理方法的程序与数据库的接口内容,使其可以接收从区块链上返回的消息。
进一步的,本发明基于区块链的数据管理方法一实施例中,步骤S20包括:
检测所述数据库指令的类型是否属于目标类型,若所述数据库指令的类型属于目标类型,则将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。
本实施例中,由于有些数据库指令不会对数据库中的数据进行改动,例如一个查询指令,若接收到的数据库指令是查询指令,则无需将该指令发布至基于区块链的去中心化系统。因此,可对数据库指令的字段进行扩展,增加指令类型的字段,在接收到数据库指令后,可先通过该字段对数据库指令的类型进行判断,若数据库指令的类型属于目标类型,则执行步骤S20,本实施例中,目标类型可以包括:数据删除指令、数据新增指令、数据插入指令等会造成数据库数据发生更改的指令的集合。例如,在数据删除指令、数据新增指令、数据插入指令等会造成数据库数据发生更改的指令中增加字段“a”,若接收到数据库指令后,检测到数据库指令中包括字段“a”,则判断该数据库指令属于目标类型。或者是,提取数据删除指令、数据新增指令、数据插入指令等会造成数据库数据发生更改的指令各自的命令字段,得到命令字段的集合,在接收到数据库指令后,若该数据库指令的命令字段为命令字段集合中的一种,则判定该数据库指令为目标类型。具体的目标类型包含的指令类型可根据实际需要进行缩减或扩充。
本实施例中,只有当数据库指令为目标类型时,才会执行将数据库指令或数据指令等效的区块链指令发布至基于区块链的去中心化系统的步骤,一些不会造成数据库数据更改的指令,例如查询指令之类的数据库指令便不会被发布到区块链上,避免了无用数据的累积。
进一步的,本发明基于区块链的数据管理方法一实施例中,基于区块链的数据库管理方法还包括:
获取所述数据库指令中包含的命令字段,从预置映射表中获取所述命令字段对应的通用字段;
将所述数据库指令中包含的命令字段替换为所述通用字段,得到与所述数据库指令等效的区块链指令。
本实施例中,获取数据库指令中的命令字段(数据库指令包括命令字段即数据字段),在预置映射表中查找命令字段对应的通用字段,并将命令字段替换为通用字段,数据字段不变,得到与该数据库指令等效的区块链指令,将该区块链指令发布至基于区块链的去中心化系统。例如一段数据库指令为“insert into数据表(字段1,字段2,字段3…)values(值1,值2,值3…)”,其中命令字段为“insert into…values…”预置映射表中该命令字段“insert into…values…”对应的通用字段为“插入…值…”,将命令字段替换为通用字段后,得到的区块链指令为“插入数据表(字段1,字段2,字段3…)值(值1,值2,值3…)”。使用不同语言编写的命令字段,若代表的含义一致,则在预置映射表中对应同一通用字段。使得本发明方案可兼容多种不同语言的数据库指令。
进一步的,本发明基于区块链的数据管理方法一实施例中,步骤S20之后包括:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中化系统上收录成功后,接收基于区块链的去中心化系统反馈的接口信息,将接口信息与所述数据库指令对应的数据库标识关联保存至预置存储区域。
本实施例中,当数据库指令或与数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,会接收到区块链反馈的接口信息,接口信息包括此次发布行为对应的区块高度、地址哈希值、区块哈希值、交易哈希值或ipv4地址等消息,这样在以后想要调取此次发布的数据库指令或与数据库指令等效的区块链指令时,输入上述接口信息中的一种或多种,即可在区块链中获取此次数据库指令或与数据库指令等效的区块链指令。接收到的接口信息与数据库指令对应的数据库标识存储于基于区块链的数据管理装置中的存储器中或其他关联设备的存储器中。本实施例中,为了保证接口信息存储的安全性,可以以加密的方式存储,即为存储区域设置密码,只有输入正确的密码才可获取到预置存储区域中关联保存的接口信息与数据库标识,预置存储区域可分为多块,每一块以对应的数据库标识命名。后续,若需要获取发送至某个数据库的所有的数据库指令时,在该数据库对应的存储区域中获取存储的接口信息,根据接口信息在区块链上获取对应的数据库指令或数据库指令等效的区块链指令即可。
进一步的,本发明基于区块链的数据管理方法一实施例中,基于区块链的数据库管理方法还包括:
当接收到数据库恢复指令时,获取所述数据库恢复指令对应的数据库标识;
从所述预置存储区域中获取所述数据库标识对应的接口信息组,在区块链中获取所述接口信息组中各个接口信息对应的数据库指令或与所述数据库指令等效的区块链指令,得到数据库指令组或区块链指令组;
根据所述数据库指令组或区块链指令组对所述数据库标识对应的数据库进行数据库恢复。
现有技术中,数据具备份方法中,一种方式是事务日志备份。事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变。在进行数据库恢复时,使用完整的数据库备份和事务日志相结合,可以使一个数据库或者被选择的表空间恢复到某个特定时间点。如果从备份时刻起到发生故障时的所有日志文件都可以获得的话,则可以恢复到日志上涵盖到的任意时间点。
本实施例中,存储在区块链中的数据库指令组或区块链指令组相当于数据库的事务日志。当接收到数据库恢复指令时,获取该数据库恢复指令对应的数据库标识,即确定需要恢复的数据库。然后在预置存储区域中找到该数据库标识对应的分块,从该分块中获取接口信息组(存储区域以数据库标识进行分块,每个数据库标识对应的分块中存储有该数据库标识对应的所有接口信息)。在区块链中获取接口信息组中每个接口信息对应的数据库指令或数据库指令等效的区块链指令,得到数据库指令组(将每个区块链指令还原成对应的数据库指令,得到数据库指令组),即得到该数据库对应的事务日志。然后根据该数据库指令组和预先数据库备份(可以是该数据库刚建立时,对数据库进行一次备份,得到预先数据库备份)对数据库进行恢复。
本实施例中,鉴于区块链防篡改的机制,从区块链上获取的数据库指令组是完全可靠的,可用于对数据库进行恢复,提升了数据库数据存储的安全性与可靠性。
进一步的,本发明基于区块链的数据管理方法一实施例中,基于区块链的数据库管理方法还包括:
接收数据验证指令,获取数据验证指令对应的待验证对象,从数据库中获取所述待验证对象的当前存储状态;
从区块链中获取所述待验证对象对应的数据库指令或与所述数据库指令等效的区块链指令,根据所述数据库指令或与所述数据库指令等效的区块链指令获取所述待验证对象的基准存储状态;
根据所述基准存储状态验证所述当前存储状态的有效性。
本实施例中,数据验证指令用于对对应的数据(即待验证对象)在数据库中的存储状态是否正确进行检验。当接收到数据验证指令,若该数据验证指令对应的待验证对象为A,则从数据库中获取A的当前存储状态,例如A当前存储在数据库中。接着以A作为索引,在区块链上获取A对应的数据库指令或等效的区块链指令,当存在多个数据库指令或等效的区块链指令,选取时间离当前时间最近的一条数据库指令或等效的区块链指令。例如,获取的最近的一条A对应的数据库指令代表的含义为:删除A。即A的基准存储状态为“已删除”,而A在数据库中的当前存储状态为“存储”,则说明数据库中关于A的存储记录是无效的。
通过本实施例,可根据存储在区块链中的数据库指令对对应数据的存储状态进行检测,用以验证数据库中数据的真实性。
进一步的,本发明基于区块链的数据管理方法一实施例中,根据所述基准存储状态验证所述当前存储状态的有效性包括:
检测所述当前存储状态与所述基准存储状态是否一致;
若当前存储状态与所述基准存储状态一致,则输出第一提示信息,用以提示当前存储状态有效;
若当前存储状态与所述基准存储状态不一致,则输出第二提示信息,用以提示当前存储状态无效。
本实施例中,当当前存储状态与基准存储状态一致,则输出第一提示信息,用以提示当前存储状态有效;若当前存储状态与基准存储状态不一致,则输出第二提示信息,用以提示当前存储状态无效。提示的方式可以是灯光、文字、声音等。例如第一提示信息为发出“有效”的语音,第二提示信息发出“无效”的语音,或者第一提示信息发出绿色灯光闪烁,第二提示信息发出红色灯光闪烁。
本实施例中,对数据的存储状态进行检测,并输出检测结果,用以告知用户数据库中数据存储状态是否正确,帮助用户更好的管理数据库。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的数据库管理程序,所述基于区块链的数据库管理程序被处理器执行时实现如上所述的基于区块链的数据库管理方法的步骤。
本发明计算机可读存储介质的具体实施例与上述基于区块链的数据库管理方法的各个实施例基本相同,在此不做赘述。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (8)
1.一种基于区块链的数据库管理方法,其特征在于,所述基于区块链的数据库管理方法包括:
接收数据库指令,将所述数据库指令发送至对应的数据库,接收所述对应的数据库的返回消息;
将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统;
在所述将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统之后包括:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统的返回消息;
所述将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统包括:
检测所述数据库指令的类型是否属于目标类型,若所述数据库指令的类型属于目标类型,则将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统。
2.根据权利要求1所述的基于区块链的数据库管理方法,其特征在于,所述基于区块链的数据库管理方法还包括:
获取所述数据库指令中包含的命令字段,从预置映射表中获取所述命令字段对应的通用字段;
将所述数据库指令中包含的命令字段替换为所述通用字段,得到与所述数据库指令等效的区块链指令。
3.根据权利要求2所述的基于区块链的数据库管理方法,其特征在于,所述将所述数据库指令或与所述数据库指令等效的区块链指令发布至基于区块链的去中心化系统之后包括:
当所述数据库指令或与所述数据库指令等效的区块链指令在基于区块链的去中心化系统上收录成功后,接收基于区块链的去中心化系统反馈的接口信息,将接口信息与所述数据库指令对应的数据库标识关联保存至预置存储区域。
4.根据权利要求3所述的基于区块链的数据库管理方法,其特征在于,所述基于区块链的数据库管理方法还包括:
当接收到数据库恢复指令时,获取所述数据库恢复指令对应的数据库标识;
从所述预置存储区域中获取所述数据库标识对应的接口信息组,在区块链中获取所述接口信息组中各个接口信息对应的数据库指令或与所述数据库指令等效的区块链指令,得到数据库指令组或区块链指令组;
根据所述数据库指令组或区块链指令组对所述数据库标识对应的数据库进行数据库恢复。
5.根据权利要求1至4任一项所述的基于区块链的数据库管理方法,其特征在于,所述基于区块链的数据库管理方法还包括:
接收数据验证指令,获取数据验证指令对应的待验证对象,从数据库中获取所述待验证对象的当前存储状态;
从区块链中获取所述待验证对象对应的数据库指令或与所述数据库指令等效的区块链指令,根据所述数据库指令或与所述数据库指令等效的区块链指令获取所述待验证对象的基准存储状态;
根据所述基准存储状态验证所述当前存储状态的有效性。
6.根据权利要求4所述的基于区块链的数据库管理方法,其特征在于,所述根据所述基准存储状态验证所述当前存储状态的有效性包括:
检测所述当前存储状态与所述基准存储状态是否一致;
若当前存储状态与所述基准存储状态一致,则输出第一提示信息,用以提示当前存储状态有效;
若当前存储状态与所述基准存储状态不一致,则输出第二提示信息,用以提示当前存储状态无效。
7.一种基于区块链的数据库管理装置,其特征在于,所述基于区块链的数据库管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的数据库管理程序,所述基于区块链的数据库管理程序被所述处理器执行时实现如权利要求1至6任一项所述的基于区块链的数据库管理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于区块链的数据库管理程序,所述基于区块链的数据库管理程序被处理器执行时实现如权利要求1至6任一项所述的基于区块链的数据库管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110707414.8A CN113590580A (zh) | 2021-06-24 | 2021-06-24 | 基于区块链的数据库管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110707414.8A CN113590580A (zh) | 2021-06-24 | 2021-06-24 | 基于区块链的数据库管理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113590580A true CN113590580A (zh) | 2021-11-02 |
Family
ID=78244539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110707414.8A Withdrawn CN113590580A (zh) | 2021-06-24 | 2021-06-24 | 基于区块链的数据库管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590580A (zh) |
-
2021
- 2021-06-24 CN CN202110707414.8A patent/CN113590580A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228814B (zh) | 数据同步方法及装置 | |
CN108401026B (zh) | 基于区块链的数据存储方法、系统及计算机可读存储介质 | |
CN109614203B (zh) | 一种基于应用数据仿真的安卓应用云数据取证分析系统及方法 | |
CN109088914B (zh) | 区块的生成方法、区块链生态系统及计算机可读存储介质 | |
CN107766453A (zh) | 基于区块链的数据库管理方法、装置及存储介质 | |
CN107580032B (zh) | 数据处理方法、装置及设备 | |
CN112988770B (zh) | 序列号更新的方法、装置、电子设备和存储介质 | |
CN111382123A (zh) | 文件存储方法、装置、设备及存储介质 | |
US20200379982A1 (en) | Information processing system and method of controlling information processing system | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN108388616B (zh) | 数据收集装置、方法、系统及计算机可读存储介质 | |
CN113792274A (zh) | 一种信息管理方法、管理系统和存储介质 | |
CN116070294B (zh) | 一种权限管理方法、系统、装置、服务器及存储介质 | |
CN106713030A (zh) | 基于安全管控的软件源管理方法以及软件功能管理系统 | |
CN110928945B (zh) | 一种针对数据库的数据处理方法及装置,数据处理系统 | |
CN113890753B (zh) | 数字身份管理方法、装置、系统、计算机设备和存储介质 | |
CN113590580A (zh) | 基于区块链的数据库管理方法、装置及存储介质 | |
CN115113989B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN116010926A (zh) | 登陆认证方法、装置、计算机设备和存储介质 | |
CN114143308A (zh) | 文件上传信息处理方法、装置、计算机设备及存储介质 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
CN111639478B (zh) | 一种基于excel文档的数据自动稽核方法及系统 | |
CN114064574A (zh) | 结合rpa和ai的商标监察方法、装置、电子设备和存储介质 | |
CN113138763A (zh) | 页面搭建方法、装置、设备及计算机可读存储介质 | |
KR100567813B1 (ko) | 텐덤 시스템의 트랜잭션 분석 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211102 |
|
WW01 | Invention patent application withdrawn after publication |