基于区块链和SQL的数据处理方法技术

技术编号:31512899 阅读:13 留言:0更新日期:2021-12-22 23:54
本申请实施例中提供了一种基于区块链和SQL的数据处理方法,包括:首先获取用户信息;然后根据绑定关系,调用用户信息对应的智能合约,智能合约包括SQL数据库地址;进而根据SQL数据库地址,从多个节点服务器中确定出存储智能合约对应的SQL数据库的目标节点服务器;接着获取待处理交易操作;最终根据智能合约在目标节点服务器上执行待处理交易操作,以更新SQL数据库,得到执行结果,如此设计,通过在智能合约中设置SQL数据库地址,建立了区块链与SQL数据库的连接,使得用户的能够在不具备区块链底层代码知识的基础上,便捷地利用智能合约将待处理交易操作作用于SQL数据库,得到执行结果。行结果。行结果。

【技术实现步骤摘要】
基于区块链和SQL的数据处理方法


[0001]本申请涉及区块链技术,具体地,涉及一种基于区块链和SQL的数据处理方法。

技术介绍

[0002]目前区块链的存储技术和传统数据库的存储并没有较好的结合,在现有技术中,想要对区块链的智能合约中的数据进行调整(包括修改和操作),需要技术人员基于KV(key

value,键值)数据库结构进行代码底层的操作,这使得负责人员必须有专业的技术人员担任,且修改过程和修改内容体现并不直观。

技术实现思路

[0003]本申请实施例中提供了一种基于区块链和SQL的数据处理方法、装置、计算机设备及可读存储介质。
[0004]第一方面,本申请实施例提供一种基于区块链和SQL的数据处理方法,应用于区块链,区块链存储多个智能合约,智能合约与用户信息有绑定关系,区块链中包括多个节点服务器,方法包括:获取用户信息;根据绑定关系,调用用户信息对应的智能合约,智能合约包括SQL数据库地址;根据SQL数据库地址,从多个节点服务器中确定出存储智能合约对应的SQL数据库的目标节点服务器;获取待处理交易操作;根据智能合约在目标节点服务器上执行待处理交易操作,以更新SQL数据库,得到执行结果。
[0005]在一种可能的实施方式中,节点服务器配置有过滤器,智能合约包括执行函数,根据智能合约在目标节点服务器上执行待处理交易操作,包括:在执行函数通过过滤器的情况下,根据执行函数在目标节点服务器执行待处理交易操作。
[0006]在一种可能的实施方式中,判断执行函数是否通过过滤器的步骤,包括:判断执行函数对应的智能合约的合约标识是否与SQL数据库的数据库标识是否匹配;若合约标识与数据库标识匹配,则判断执行函数是否存在于预设执行函数范围,若执行函数存在于预设执行函数范围,则判定执行函数通过过滤器;若执行函数不存在于预设执行函数范围,则判定执行函数不通过过滤器;若合约标识与数据库标识不匹配,则判定执行函数不通过过滤器。
[0007]在一种可能的实施方式中,在根据智能合约在目标节点服务器上执行待处理交易操作之前,方法还包括:获取待执行的执行函数;
对待执行的执行函数进行第一代码结构检测,得到待执行的执行函数对应的第一代码结构检测结果;根据待执行的执行函数对应的第一代码结构检测结果对待执行的执行函数进行第一命令来源检测处理,得到待执行的执行函数对应的第一命令来源检测结果,第一命令来源检测处理是指针对待执行的执行函数的首次命令来源检测处理;基于虚拟SQL数据库下执行经过第一命令来源检测处理的待执行的执行函数,输出待执行的执行函数在虚拟SQL数据库执行后对应的执行结果,虚拟SQL数据库用于通过虚拟执行算法对执行函数进行模拟分析;对执行结果分别进行第二代码结构检测以及第二命令来源检测处理,得到执行结果对应的第二代码结构检测结果以及第二命令来源检测结果,第二命令来源检测处理是指针对待执行的执行函数的二次命令来源检测处理,命令来源检测处理是指在不执行执行函数的前提下,对执行函数中的程序代码进行分析,来寻找执行函数中由风险命令内容、命令生成变量和风险目标命令组成的恶意篡改代码组,风险命令内容包括目标风险命令内容,目标风险命令内容为长度大于预设阈值的字符串变量;其中,在包含目标风险命令内容的恶意篡改代码组中,当目标风险命令内容是通过赋值方式将数据传输至风险目标命令时,恶意篡改代码组对应的执行函数的命令来源检测结果为执行函数无异常;当待执行的执行函数对应的第一代码结构检测结果、第一命令来源检测结果、执行结果对应的第二代码结构检测结果和第二命令来源检测结果中至少一个检测结果为执行函数异常时,确定待执行的执行函数为异常执行函数。
[0008]在一种可能的实施方式中,当前执行函数为待执行的执行函数,对当前执行函数进行当前阶代码结构检测,得到当前执行函数对应的当前阶代码结构检测结果,包括:从当前执行函数中提取特征信息,得到至少一个待匹配特征信息;将各个待匹配特征信息和异常执行函数特征信息进行匹配;异常执行函数特征信息包括异常执行函数代码信息、异常执行函数正则串信息和异常执行函数熵信息中的至少一种;当至少一个待匹配特征信息匹配成功时,确定当前执行函数对应的当前阶代码结构检测结果为执行函数有异常。
[0009]在一种可能的实施方式中,异常执行函数熵信息的生成方法包括以下步骤:获取多个异常执行函数;分别从各个异常执行函数中提取代码元素,得到各个异常执行函数对应的代码元素集合,代码元素集合包括多个代码元素和各个代码元素对应的位置信息;基于同一异常执行函数对应的代码元素集合生成对应的待定熵信息,得到各个异常执行函数分别对应的待定熵信息;基于各个待定熵信息生成异常执行函数熵信息。
[0010]在一种可能的实施方式中,根据待执行的执行函数对应的第一代码结构检测结果对待执行的执行函数进行第一命令来源检测处理,得到待执行的执行函数对应的第一命令来源检测结果,包括:当第一代码结构检测结果为执行函数无异常时,对待执行的执行函数进行第一命令来源检测处理,得到待执行的执行函数对应的第一命令来源检测结果。
[0011]在一种可能的实施方式中,节点服务器配置有私钥,SQL数据库配置有密码,私钥用于加密密码,在根据智能合约在目标节点服务器上执行待处理交易操作,以更新SQL数据库,得到执行结果之前,方法还包括:调用目标节点服务器的目标私钥对SQL数据库的密码进行解密;调用解密后的SQL数据库的密码,以使目标节点服务器连接至SQL数据库。
[0012]在一种可能的实施方式中,方法还包括:判断多个节点服务器接收的执行结果是否一致;若是,则判定执行结果正常;若否,则判定SQL数据被篡改。
[0013]第二方面,本申请实施例提供一种基于区块链和SQL的数据处理装置,应用于区块链,区块链存储多个智能合约,智能合约与用户信息有绑定关系,区块链中包括多个节点服务器,装置包括:匹配模块,用于获取用户信息;根据绑定关系,调用用户信息对应的智能合约,智能合约包括SQL数据库地址;根据SQL数据库地址,从多个节点服务器中确定出存储智能合约对应的SQL数据库的目标节点服务器;执行模块,用于获取待处理交易操作;根据智能合约在目标节点服务器上执行待处理交易操作,以更新SQL数据库,得到执行结果。
[0014]第三方面,本申请实施例提供一种计算机设备,计算机设备包括处理器及存储有计算机命令的非易失性存储器,计算机命令被处理器执行时,计算机设备执行第一方面至少一种可能的实施方式中的基于区块链和SQL的数据处理方法。
[0015]第四方面,本申请实施例提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行第一方面至少一种可能的实施方式中的基于区块链和SQL的数据处理方法。
[0016]采用本申请实施例中提供的基于区块链和SQL的数据处理方法,首先获取用户信息;然后根据绑定关系,调用用户信息对应的智能合约,智能合约包括SQL数据库地址;进而根据SQL数据库地址,从多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链和SQL的数据处理方法,其特征在于,应用于区块链,所述区块链存储多个智能合约,所述智能合约与用户信息有绑定关系,所述区块链中包括多个节点服务器,所述方法包括:获取用户信息;根据所述绑定关系,调用所述用户信息对应的智能合约,所述智能合约包括SQL数据库地址;根据所述SQL数据库地址,从所述多个节点服务器中确定出存储所述智能合约对应的SQL数据库的目标节点服务器;获取待处理交易操作;根据所述智能合约在所述目标节点服务器上执行所述待处理交易操作,以更新所述SQL数据库,得到执行结果。2.根据权利要求1所述的方法,其特征在于,所述节点服务器配置有过滤器,所述智能合约包括执行函数,所述根据所述智能合约在所述目标节点服务器上执行所述待处理交易操作,包括:在所述执行函数通过所述过滤器的情况下,根据所述执行函数在所述目标节点服务器执行所述待处理交易操作。3.根据权利要求2所述的方法,其特征在于,判断所述执行函数是否通过所述过滤器的步骤,包括:判断所述执行函数对应的智能合约的合约标识是否与所述SQL数据库的数据库标识是否匹配;若所述合约标识与所述数据库标识匹配,则判断所述执行函数是否存在于预设执行函数范围,若所述执行函数存在于预设执行函数范围,则判定所述执行函数通过所述过滤器;若所述执行函数不存在于预设执行函数范围,则判定所述执行函数不通过所述过滤器;若所述合约标识与所述数据库标识不匹配,则判定所述执行函数不通过所述过滤器。4.根据权利要求2所述的方法,其特征在于,在所述根据所述智能合约在所述目标节点服务器上执行所述待处理交易操作之前,所述方法还包括:获取待执行的执行函数;对所述待执行的执行函数进行第一代码结构检测,得到所述待执行的执行函数对应的第一代码结构检测结果;根据所述待执行的执行函数对应的第一代码结构检测结果对所述待执行的执行函数进行第一命令来源检测处理,得到所述待执行的执行函数对应的第一命令来源检测结果,所述第一命令来源检测处理是指针对待执行的执行函数的首次命令来源检测处理;基于虚拟SQL数据库下执行经过第一命令来源检测处理的待执行的执行函数,输出所述待执行的执行函数在所述虚拟SQL数据库执行后对应的执行结果,所述虚拟SQL数据库用于通过虚拟执行算法对执行函数进行模拟分析;对所述执行结果分别进行第二代码结构检测以及第二命令来源检测处理,得到所述执行结果对应的第二代码结构检测结果以及第二命令来源检测结果,所述第二命令来源检测处理是指针对待执行的执行函数的二次命令来源检测处理,所述命令来源检测处理是指在不执行执行函数的前提下,对执行函数中的程序代码进行分析,来寻找执行函数中由风险
命令内容、命令生成变量和风险目标命令组成的恶意篡改代码组,所述风险命令内容包括目标风险命令内容,所述目标风险命令内容为长度大于预设阈值的字符串变量;其中,在包含目标风险命令内容的恶意篡改代码组中,当目标风险命令内容是通过赋值方式将数据传输至风险目标命令时,所述恶意篡改代码组对应的执行函数的命令来源检测结果为执行函数无异常;当所述待执行的执行函数对应的第一代码结构检测结果、第一命令来源检测结果、所述执行结果对应的第二代码结构检测结果和第二命令来源检测结果中至少一个检测结果为执行函数异常时,确定所述待执行的执行函数为异常执行函数。5.根据权利要求4所述的方法...

【专利技术属性】
技术研发人员:谢家贵李志平马若龙郭健张波朱斯语
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

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

1