利索能及
我要发布
收藏
专利号: 2021102493183
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于Fabric的数据库访问日志上链方法,其特征在于,具体包括以下步骤:S1:基于HyperLedgerFabric构建数据库访问日志上链模型;

S2:在数据库访问日志上链模型中,基于Raft共识机制中日志应用的迟滞差值和节点迟滞差值的方差齐性检验,构建信誉值模型,并选举Leader节点;

S3:代理节点发起交易,经背书节点验证后,将交易信息广播给排序模块,由排序节点打包成块,通过组织节点写入账本。

2.根据权利要求1所述的一种基于Fabric的数据库访问日志上链方法,其特征在于,在构建的数据库访问日志上链模型中,以代理节点为客户端,构建HyperLedgerFabric区块链,通过Fabric智能合约将代理节点过滤后的数据库访问日志信息旁路到区块链。

3.根据权利要求1所述的一种基于Fabric的数据库访问日志上链方法,其特征在于,构建信誉值模型计算节点信誉值,具体包括以下步骤:根据收到的操作请求写入Raft节点中的LogEntry结构后,再将操作请求应用到状态机的延迟情况,计算任期Ti节点s的Raft中Log日志应用迟滞差值根据节点任期Ti、节点迟滞差值 节点历史平均迟滞差值 计算得到迟滞差值的方差;

利用节点迟滞差值的方差进行方差齐性检验得到方差比率;

基于节点s的任期Ti、迟滞差值的方差比率F来计算节点s的信誉值 表示为:

4.根据权利要求1所述的一种基于Fabric的数据库访问日志上链方法,其特征在于,选举Leader节点具体包括以下步骤:初始化节点任期T0、节点Log日志应用的迟滞差值 节点历史平均迟滞差值并将Leader节点个数k和Leader平均信誉值 初始化为0,将所有节点信誉值初始化为0.5;

当节点长时间未收到来自Leader的消息时,获取每个节点信誉值,当节点信誉值不小于历届Leader平均信誉值时,其转化为Candidate节点;

由Candidate节点发起新一轮Leader节点选举,根据节点的投票分布选出新的Leader,并根据信誉值模型计算节点的信誉值;

更新节点迟滞差值,并更新历届Leader平均信誉值、节点历史平均迟滞差值,用于下一轮信誉值模型的计算。

5.根据权利要求1所述的一种基于Fabric的数据库访问日志上链方法,其特征在于,步骤S3具体包括以下步骤:

S31:代理节点根据背书策略构造交易提案并广播给背书节点,交易提案经背书节点验证通过后,对模拟执行结果进行背书并返回给代理节点;

S32:代理节点收到模拟执行结果后验证背书签名,验证通过后将数据库访问日志封装为交易请求并广播给排序模块,排序模块将交易排序并打包成块,并将区块广播给组织节点;

S33:组织节点对区块进行有效性验证后将其写入本地账本,并将区块同步广播给组织内的其他节点,最后向代理节点返回交易验证结果。

6.一种基于Fabric的数据库访问日志上链系统,其特征在于,该系统包括日志旁路模块、交易背书模块、区块排序模块、区块生成模块、信誉值计算模块以及Leader节点选举模块,其中:

日志旁路模块,用于将数据库访问日志信息进行过滤打包,然后由代理节点构建交易提案,发起交易请求;

交易背书模块,用于背书节点在交易模拟执行过程中交易提案进行有效性验证,验证通过后向代理节点发回响应,代理节点收获足够的再发起正式的交易请求;

区块排序模块,用于对收到的正式交易请求进行排序并打包成块,然后将区块广播给组织节点;

区块生成模块,用于验证组织节点接受到的区块的有效性,验证通过后写入到所有组织节点的本地账本中。

信誉值计算模块,用于计算节点的信誉值,该信誉值被用于区块排序模块Leader节点的选举过程中,最终通过以Leader节点为准的方式实现一系列排序模块的共识和各节点日志的一致;

Leader节点选举模块,用于判断是否需要节点转换为Candidate节点以及进行Leader节点的选取。

7.根据权利要求1所述的一种基于Fabric的数据库访问日志上链系统,其特征在于,信誉值计算模块包括迟滞差值计算单元、迟滞差值方差计算单元、迟滞差值比率计算单元、节点信誉值计算单元,其中:

迟滞差值计算单元,用于根据Raft机制中每个节点Log日志写入,到应用至复制状态机的延迟情况,计算Raft中任期Ti节点s的Log日志应用迟滞差值;

迟滞差值方差计算单元,用于根据节点任期Ti、节点迟滞差值 节点历史平均迟滞差值 计算得到迟滞差值的方差;

迟滞差值比率计算单元,用于利用节点迟滞差值的方差进行方差齐性检验得到方差比率。

8.根据权利要求1所述的一种基于Fabric的数据库访问日志上链系统,其特征在于,Leader节点选举模块包括节点初始化单元、节点转化单元、选举统计单元,其中:节点初始化单元,用于对节点进行初始化,包括初始化节点任期T0、节点Log日志应用的迟滞差值 节点历史平均迟滞差值 并将Leader节点个数k和Leader平均信誉值 初始化为0,将所有节点信誉值初始化为0.5;

节点转化单元,用于在超过设置的时间未收到Leader节点的消息时,获取每个节点的信誉值,并将信誉值不小于历届Leader节点信誉值平均值的节点转换为Candidate节点;

选举统计单元,用于统计Candidate节点发起的Leader节点选举,将票数最多的k个Candidate节点作为新的Leader节点。