面向区块链的数据管理方法、装置、设备及存储介质制造方法及图纸

技术编号:22185991 阅读:29 留言:0更新日期:2019-09-25 03:36
本发明专利技术公开了面向区块链的数据管理方法、装置、设备及存储介质,方法包括:接收用户发送的第二次更新请求,其中,每一次更新请求包括待更新数据的第一状态以及第二状态;根据第一状态从一预设关系型数据库中获取待更新数据以及从预设区块链上查找与待更新数据对应的数据,其中,将关系型数据库中获取的待更新数据作为第一数据,将区块链上查找的与待更新数据对应的数据作为第二数据;比对第一数据与第二数据以判断是否一致;若不一致,根据所述第一状态以及第二状态判断第一数据是否满足预设数据补偿条件;以及若满足,根据所述第二状态对第一数据进行数据补偿。通过实施本方案可以有效保证上链事务的有序进行以及可以提高异常事务的处理能力。

Block Chain Oriented Data Management Method, Device, Equipment and Storage Media

【技术实现步骤摘要】
面向区块链的数据管理方法、装置、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种面向区块链的数据管理方法、装置、设备及存储介质。
技术介绍
区块链可以理解为分布式账本,在区块链保存数据的应用场景中,具体地,在区块链上保存由key-value键值对组成的数据结构的数据。其中,该key是键,value是值。由于这种结构保存的数据无法按照很复杂的条件来查询,目前,通常采用关系型数据库来保存用于查询链上所保存的数据的条件,因此,在区块链上以及一关系型数据库均存在相对应的一条数据,即在数据上链时需要将该数据也对应保存到一关系型数据库中,这种情况容易导致在更新区块链以及关系型数据库中的数据时双方的数据不一致的问题。例如,现有更新区块链以及关系型数据库中的数据的状态的方案中,通常采用先更新该关系型数据库中的数据的状态,再将与其相对应的数据及其状态写入链以更新该链上数据,进而保证在关系型数据库中成功更新该数据的状态的情况下再对应更新链上该数据的状态,然而,可能存在链上该数据的状态更新成功但没有返回或者返回失败的情况,导致该关系型数据库中已更新的数据的状态被回滚,从而导致该关系型数据库的数据与链上对应的数据不一致的问题,进而容易导致该链上的数据变成垃圾数据,且永久地保留在该链上。
技术实现思路
本专利技术实施例提供了一种面向区块链的数据管理方法、装置、设备及存储介质,可以有效解决该关系型数据库的数据与链上对应的数据不一致问题,避免因关系型数据库的数据与链上对应的数据不一致而导致的不良后果。第一方面,本专利技术实施例提供了一种面向区块链的数据管理方法,其包括:接收用户发送的第二次更新请求,其中,每一次更新请求包括待更新数据的第一状态以及第二状态,其中,所述第一状态以及第二状态为所述待更新数据的数据状态,所述数据状态为所述待更新数据的状态属性值;根据所述第一状态从一预设关系型数据库中获取待更新数据以及从预设区块链上查找与所述待更新数据对应的数据,其中,将所述关系型数据库中获取的待更新数据作为第一数据,将所述区块链上查找的与该待更新数据对应的数据作为第二数据;比对所述第一数据与所述第二数据以判断所述第一数据与所述第二数据是否一致;若所述第一数据与所述第二数据不一致,根据所述第一状态以及第二状态判断所述第一数据是否满足预设数据补偿条件;以及若所述第一数据满足预设数据补偿条件,根据所述第二状态对所述第一数据进行数据补偿。第二方面,本专利技术实施例还提供了一种面向区块链的数据管理装置,其包括:第一接收单元,用于接收用户发送的第二次更新请求,其中,每一次更新请求包括待更新数据的第一状态以及第二状态,其中,所述第一状态以及第二状态为所述待更新数据的数据状态,所述数据状态为所述待更新数据的状态属性值;第一获取单元,用于根据所述第一状态从一预设关系型数据库中获取待更新数据以及从预设区块链上查找与所述待更新数据对应的数据,其中,将所述关系型数据库中获取的待更新数据作为第一数据,将所述区块链上查找的与该待更新数据对应的数据作为第二数据;第一判断单元,用于比对所述第一数据与所述第二数据以判断所述第一数据与所述第二数据是否一致;第二判断单元,用于若所述第一数据与所述第二数据不一致,根据所述第一状态以及第二状态判断所述第一数据是否满足预设数据补偿条件;以及第一补偿单元,用于若所述第一数据满足预设数据补偿条件,根据所述第二状态对所述第一数据进行数据补偿。第三方面,本专利技术实施例还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述第一方面的方法。本专利技术实施例提供了一种面向区块链的数据管理方法、装置、设备及存储介质。本专利技术实施例能够有效解决保存在一关系型数据库中的数据与链上对应的数据不一致问题,避免因关系型数据库的数据与链上对应的数据不一致而无法更新链上数据的问题。本专利技术实施例通过接收用户发送的更新请求,并根据该更新请求来判断是否需要对该关系型数据库中的数据进行数据补偿,若判定需要对该关系型数据库中的数据进行数据补偿,则自动对该数据进行补偿,无须用户参与即可自动实现数据修复补偿。本专利技术实施例可以有效保证上链事务的有序进行以及可以提高异常事务的处理能力。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例提供的一种面向区块链的数据管理方法的流程示意图;图2为本专利技术第一实施例提供的一种面向区块链的数据管理方法的一流程示意图;图3为本专利技术第二实施例提供的一种面向区块链的数据管理方法的流程示意图;图4为本专利技术第三实施例提供的一种面向区块链的数据管理方法的流程示意图;图5为本专利技术第一实施例提供的一种面向区块链的数据管理装置的示意性框图;图6为本专利技术第一实施例提供的一种面向区块链的数据管理装置的第二判断单元的示意性框图;图7为本专利技术第二实施例提供的一种面向区块链的数据管理装置的示意性框图;图8为本专利技术第三实施例提供的一种面向区块链的数据管理装置的示意性框图;以及图9为本专利技术实施例提供的一种计算机设备的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1,其为本专利技术第一实施例提供的一种面向区块链的数据管理方法的示意性流程图。该面向区块链的数据管理方法可以运行在提供数据上链功能的终端设备中,具体地,该面向区块链的数据管理方法应用于一终端设备的用户端系统内,用于防止关系型数据库的数据与区块链上对应的数据不一致。其中,该终端设备可以为配置一预设区块链的智能手机、平板电脑或笔记本电脑等电子设备;或者独立的服务器或者多个服务器组成的服务器集群;该终端设备也可以为未配置一预设区块链,但可以与配置该预设区块链的其他终端设备进行交互。该方法可包括步骤S101至S105。S101、接收用户发送的第二次更新请求,其中,每一次更新请本文档来自技高网...

【技术保护点】
1.一种面向区块链的数据管理方法,其特征在于,包括:接收用户发送的第二次更新请求,其中,每一次更新请求包括待更新数据的第一状态以及第二状态,其中,所述第一状态以及第二状态为所述待更新数据的数据状态,所述数据状态为所述待更新数据的状态属性值;根据所述第一状态从一预设关系型数据库中获取待更新数据以及从预设区块链上查找与所述待更新数据对应的数据,其中,将所述关系型数据库中获取的待更新数据作为第一数据,将所述区块链上查找的与该待更新数据对应的数据作为第二数据;比对所述第一数据与所述第二数据以判断所述第一数据与所述第二数据是否一致;若所述第一数据与所述第二数据不一致,根据所述第一状态以及第二状态判断所述第一数据是否满足预设数据补偿条件;以及若所述第一数据满足预设数据补偿条件,根据所述第二状态对所述第一数据进行数据补偿。

【技术特征摘要】
1.一种面向区块链的数据管理方法,其特征在于,包括:接收用户发送的第二次更新请求,其中,每一次更新请求包括待更新数据的第一状态以及第二状态,其中,所述第一状态以及第二状态为所述待更新数据的数据状态,所述数据状态为所述待更新数据的状态属性值;根据所述第一状态从一预设关系型数据库中获取待更新数据以及从预设区块链上查找与所述待更新数据对应的数据,其中,将所述关系型数据库中获取的待更新数据作为第一数据,将所述区块链上查找的与该待更新数据对应的数据作为第二数据;比对所述第一数据与所述第二数据以判断所述第一数据与所述第二数据是否一致;若所述第一数据与所述第二数据不一致,根据所述第一状态以及第二状态判断所述第一数据是否满足预设数据补偿条件;以及若所述第一数据满足预设数据补偿条件,根据所述第二状态对所述第一数据进行数据补偿。2.根据权利要求1所述的面向区块链的数据管理方法,其特征在于,所述方法应用于一预设用户端,所述接收用户发送的第二次更新请求的步骤之前,还包括:若接收到用户发送的第一次更新请求,根据所述第一次更新请求的第一状态以及第二状态判断所述关系型数据库中的待更新数据是否满足预设状态流转规则;若所述关系型数据库中的待更新数据满足预设状态流转规则,更新所述待更新数据;通过调用更新链接口将更新后的待更新数据写入一预设区块链上;其中,所述更新链接口为所述区块链提供给所述用户端调用的接口;接收HTTP返回码并根据所述HTTP返回码判断是否出现更新异常;以及若出现更新异常,回滚所述关系型数据库中更新后的待更新数据。3.根据权利要求2所述的面向区块链的数据管理方法,其特征在于,所述根据所述第一次更新请求的第一状态以及第二状态判断所述关系型数据库中的待更新数据是否满足预设状态流转规则,包括:根据所述第一次更新请求的第一状态以及第二状态以及预设状态流转规则判断所述关系型数据库中的待更新数据是否可从第一状态更新为第二状态。4.根据权利要求1所述的面向区块链的数据管理方法,其特征在于,所述根据所述第一状态从一预设关系型数据库中获取待更新数据以及从预设区块链上查找与所述待更新数据对应的数据,包括:根据所述待更新数据的第一状态从一预设关系型数据库中获取所述待更新数据,其中,将所述关系型数据库中获取的待更新数据作为第一数据;以及根据所述第一数据从一预设区块链上查找与所述第一数据对应的数据,其中,将所述区块链上查找的与所述第一数据对应的数据作为第二数据。5.根据权利要求1所述的面向区块链的数据管理方法,其...

【专利技术属性】
技术研发人员:闫军
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1