掌桥专利:专业的专利平台
掌桥专利
首页

一种基于区块链的数据维护的方法

文献发布时间:2023-06-19 12:18:04


一种基于区块链的数据维护的方法

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于区块链的数据维护的方法。

背景技术

区块链技术是一种分布式账本技术,开始的研究是数字货币的运用;其代表是比特币的发行;区块链由区块和哈希链构成:区块中包含区块头和区块尾,区块尾由梅克尔树、父哈希值、该区块对应的时间戳组成,区块头中记录着该区块的总的哈希值;哈希链是链接区块和区块之间的链状结构,区块链的区块账本之所以能保持完全相同,就是因为有哈希链的存在。

非对称加密算法的密码算法在区块链中的运用,是区块链系统的另一个巧妙设计,同时也构成了区块链系统中的信息不能篡改的重要原因;区块链是一种分布式账本,每个区块中记录着区块链的全部信息;当一个区块的信息想要变化的时候,就会向其他区块发送信息修改的验证请求,其他区块是不会同意一个和自己信息不同的修改请求的,这也使的区块链中的信息是不能够进行篡改的;要是想修改其中的信息,或者造假,除非你能掌控区块链中的超过一半的区块控制权,这是不可能的;比如:比特币在全球区块记账者有无所个,要是掌控其中的一半区块的记账权这几乎是不可能的;所以如果把区块链用到数据的存储中可以保证数据的绝对安全。

数据维护包括:定期备份、表空间占用情况检查、日志检查、根据应用访问情况做适当优化和数据的安全性。

数据维护随着科技的发展,有关数据维护的技术在不断发展,但是黑客攻击的技术和手段也在随着维护技术的发展在不断发展;而且传统的数据维护不但耗费大量人力,维护效率也不高;因此在原有技术的基础上,建立一种更加智能、安全的数据维护系统是十分有必要的。

发明内容

本发明的目的是在传统数据维护的基础上,结合区块链技术,提供一种基于区块链的数据维护的方法。

为实现上述目的,达到相应的技术效果,本发明提供的技术方案如下:

一种基于区块链的数据维护的方法,该方法为:根据业务需要生成区块链;数据的获取以及将新获得的数据写入区块链;区块链系统定时向客户端数据库发送数据验证请求,保证区块链中的数据和数据库中的数据一致;将旧区块链进行耗存的简化,数据库新的信息来源形成新的区块链。

在上述技术方案中,优选地,包括:根据公司或者机构的需求,按照统计出来的预估客户使用量信息量和公司的规模,以以往公司存储的客户相关信息为基础生成区块链。

在上述任一技术方案中,优选地,还包括:在获得新的客户信息以后,首先会通过检测系统,检测该客户信息是否合法;在检测到该客户信息数据合法时,则会将该信息数据存储到服务中心数据库,并将该信息发送到区块链系统,区块链系统将该信息写入区块链的区块中;若检测到的该客户信息的数据不合法时,则服务端拒绝该客户的请求,并在服务中心数据库记录该客户的相关信息,以便下次访问直接拒绝访问。

在上述任一技术方案中,优选地,还包括:区块链系统向客户端定时发送数据验证请求,根据公司需求,设置一个特定的时间段,最好是半小时为一轮;区块链系统每半小时会向客户端数据库发送数据验证的请求,当客户端收到该请求后,会自动比对该客户端数据库与区块链系统中的数据是否一致;若一致,则完成该请求;若不一致,则证明客户端数据库中的数据存在造假或丢失,则该系统会根据区块链还原客户端中的数据,并将该数据重新保存到客户端数据库。

在上述任一技术方案中,优选地,还包括:旧区块链耗存的简化为由于数据的不断增加,区块链过长或者内存占用较多,会影响区块链系统的工作效率;所以这里对这类区块链进行了简化,只取区块头的哈希值,作为新区块的首区块,旧的区块链从区块链系统中删除;客户端数据库新收到的数据信息,写入新的区块链形成的新的区块中。

在上述任一技术方案中,优选地,还包括:新区块链中的首区块记录有数据库合成旧区块链的形式,当新区块链向客户端数据库发送数据验证请求的时候,也包括了旧区块数据库信息的验证。

在上述任一技术方案中,优选地,还包括:当有黑客攻击客户端数据库的时候,客户端数据库会向区块链系统发送信息验证的请求,而区块链系统是不会同意一个和自己区块不同的信息的;该区块链系统验证的方式为:区块链系统中的每个区块均会比对自身区块中保存的有关需要修改的信息内容,当发现所修改的信息和自身信息不同时,则拒绝该信息的修改。

在上述任一技术方案中,优选地,还包括:区块链系统中的数据信息和客户端数据库中的信息依靠哈希值的形式进行比对;在客户端数据库收到请求信息以后,会将自身合成的哈希值和区块链哈希值进行对比,如果一致则证明客户端数据库中的数据正确,值得信赖;如果不一致,则证明客户端数据库中的数据存在修改或者造假,则会根据区块链系统还原其中的数据。

本发明所提供的一种基于区块链的数据维护的方法;由于依靠区块链技术为背景技术,使的保存在区块链中的数据具有不可篡改的特性,保证了数据的安全性;同时区块链旧区块链的耗存简化的设置,也对数据维护中空间占用问题提供了一种解决方法;该方案使数据维护更加智能和安全。

附图说明

图1为本发明一种基于区块链的数据维护的方法的流程图。

图2为本发明的数据信息动向图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

下面是一种基于区块链的数据维护方法的具体实施例。

如图1所示为一种基于区块链的数据维护的方法的流程图;步骤S100,首先,公司或者机构根据业务的需求(包括人流、地址)在适当的地方配置多个电脑端节点;电脑端节点要尽量多些,这样能增加区块链系统的安全性;节点选择完成以后,根据该机构或者公司以往获得的数据信息,生成区块链,生成区块链的方法为:把所有的用户信息按信息获取的时间顺序打包,按客户信息的数量均分成N份(打包后按时间的编号是1到N);数据信息打包完成以后,同时激活第一个区块,随机选择一个节点,将打包后的第一份数据写入区块;写入区块完成以后激活下一个区块,同时系统随机选择另一个节点,作为记账者,把第二份交易写入该区块;往后的步骤类似,这样便形成了区块数量为N的区块链。

优选地,当公司或者机构客户端数据库保存的客户数据比较少的时候,可以只生成区块链的首区块。

步骤S101,生成区块链以后,区块链就可以接收新的数据信息写入区块;客户端获取新的数据信息的时候,首先会通过检测系统,检测该客户信息是否合法;在检测到该客户信息数据合法时,则会将该信息数据存储到服务中心数据库,并将该信息发送到区块链系统,区块链系统将该信息写入区块链的区块中;若检测到的该客户信息的数据不合法时,则服务端拒绝该客户的请求,并在服务中心数据库记录该客户的相关信息,以便下次访问直接拒绝访问。

优选地,在新的数据信息发送到区块链系统的时候,区块链系统会将该信息进行打包;直到区块链系统产生新的记账者,生成新的区块以后,才会将被打包的数据信息写入新的区块。

优选地,区块链系统产生区块的方式为:设置生成新区块智能合约,当数据信息条数为10000条时产生新的区块;产生记账者的方式为,对节点进行从1开始的编号,节点编号为1至C,Α=B(modC),其中B为全部信息的总字节数,C为节点数,A为节点编号;A的编号对应的节点即为新区块对应的记账者。

步骤S102,建立区块链自动核对机制,区块链系统向客户端定时发送数据验证请求,根据公司需求,设置一个特定的时间段,最好是半小时为一轮;区块链系统每半小时会向客户端数据库发送数据验证的请求,当客户端收到该请求后,会自动比对该客户端数据库与区块链系统中的数据是否一致;若一致,则完成该请求;若不一致,则证明客户端数据库中的数据存在造假或丢失,则该系统会根据区块链还原客户端中的数据,并将该数据重新保存到客户端数据库。

优选地,区块链系统和客户端数据库比对的是区块哈希值;在客户端数据库获得区块链系统发送的比对信息数据请求的时候,会根据客户端数据库提供的信息,按照区块信息的合成方法,合成客户端数据库的信息哈希值;然后将该哈希值和区块链的信息默克尔根值进行比较。

优选地,区块默克尔根值指的是该区块中的交易事务的总的哈希值,位于默克尔树结构的顶端;其中任何一个交易事务的变化,都会引起默克尔根值的变化,因此默克尔根值能够代表全部的交易信息的总和。

优选地,当合成的数据库哈希值和区块链中区块默克尔根值相同的时候,则证明该客户端数据库中的数据可信;当合成的数据库哈希值和区块链中区块默克尔根值不同的时候,则说明该数据不可信,则区块链会根据自己存储的信息还原客户端数据库中的数据,并替代原数据。

步骤S103,将旧区块链进行耗存的简化,数据库新的信息来源形成新的区块链;区块链过长或者区块内存占用太大,会出现运行下降,甚至无法工作的问题;当区块链区块到达一定数量的时候将旧的区块链生成以每个区块的默克尔根值为最下层枝的默克尔树结构;该默克尔树作为新区块链的首区块。首区块生成以后,新打包的信息写入新形成的区块中。

优选地,将旧区块信息合成哈希值以及默克尔根值的顺序记录下来;新形成区块的首区块进行客户端数据库信息验证的过程依照所记录的形式(包括合成的顺序和结构)进行客户端数据库数据信息的验证。

应该理解以上所述实施例为本发明的一个具体实施例,并不是用来限制本发明的;当然,本发明还可以有其他很多实施例及其变形,本行业的普通技术人员在没有突破性的创新,对本发明的变形和修改,均属于本发明的保护范围。

相关技术
  • 一种基于区块链的数据维护的方法
  • 基于区块链的产业链数据维护方法及平台
技术分类

06120113240607