[发明专利]一种基于区块链的并发交易处理方法及其应用在审

专利信息
申请号: 202210810789.1 申请日: 2022-07-11
公开(公告)号: CN115018648A 公开(公告)日: 2022-09-06
发明(设计)人: 李京;陈聪;王盛姣;熊航;王硕 申请(专利权)人: 中国科学技术大学
主分类号: G06Q40/04 分类号: G06Q40/04;G06F16/27;G06F16/23
代理公司: 安徽省合肥新安专利代理有限责任公司 34101 代理人: 陆丽莉;何梅生
地址: 230026 安*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 区块 并发 交易 处理 方法 及其 应用
【权利要求书】:

1.一种基于区块链的并发交易处理方法,其特征是应用于由区块链、状态数据库S所组成的交易环境中,所述区块链的区块中存储有用户进行商品交易所产生的交易信息,所述状态数据库S中记录有所有数据对象的最新值;所述并发交易处理方法是按如下步骤进行:

步骤1:更新维护状态数据库S为最新值;

步骤1.1、定义状态数据库S={s1,s2,...,si,...,sI},其中,si表示第i个数据对象ai的状态信息,I为状态信息的总条数;令第i个数据对象ai的状态信息si是一个三元组其中,表示第i个数据对象ai的键,表示第i个数据对象ai的当前最新的版本号,表示第i个数据对象ai的当前值;

步骤1.2、构建待上链区块的交易信息集合,记为TX={tx1,tx2,...,txp,...,txP},其中,txp表示第p条交易信息,P为交易信息的总条数;所述第p条交易信息txp包含的操作数据,记为其中,dq,p表示第p条交易信息txp中的第q个操作,Qp表示第p条交易信息txp包含的最大操作数;令所述第p条交易信息txp中的第q个操作数据dq,p包含三元组其中,keyq,p表示第q个操作数据dq,p访问数据对象的键,表示第q个操作数据dq,p读取数据对象的版本号,表示第q个操作数据dq,p写入数据对象的值;

步骤1.3、遍历交易信息集合TX,并对第p条交易信息txp构建对应的交易读集其中,是第p条交易txp读取的第j个键版本对信息,keyj,p,分别表示第p条交易txp读取的第j个数据对象的键和版本号,J是第p条交易txp读取操作的总数;

步骤1.4、遍历交易读集RSp中的键版本对信息,对第j个键版本对信息如果状态数据库S中不存在键为keyj,p的数据对象或者存在键为keyj,p的数据对象对应的版本号小于则更新S中对应条目为其中,表示键为keyj,p,版本号为的数据对象的值;

步骤2:区块数据预处理;

步骤2.1、遍历交易信息集合TX,对第p条交易信息txp,构建对应的交易写集其中,是第p条交易txp写入的第k个键值对信息,keyk,p,分别表示第p条交易txp写入的第k个数据对象的键和值,K是第p条交易txp写入操作的总数;

步骤2.2、如果第p条交易信息txp的交易写集WSp为空,则表示第p条交易信息txp为读交易,并将第p条交易信息txp在区块中的位置前移到第一位;否则,表示第p条交易信息txp为写交易,并保持不动;

步骤2.3、遍历交易信息集合TX,如果第p条交易信息txp的交易读集RSp中存在一个键版本对满足小于状态数据库S中键为keyl,p的数据对象对应的版本号,则将相应交易标记出来,且被标记的交易不参与步骤3和步骤4;

步骤3:求解最大可合并交易序列集;

步骤3.1、遍历交易信息集合TX,对第p条交易信息txp,构建对应的值增量集ΔVp={<key1,p,Δval1,p>,<key2,p,Δval2,p>,...,<keye,p,Δvale,p>,...,<keyE,p,ΔvalE,p>},其中,<keye,p,Δvale,p>是第p条交易txp涉及的第e个数据对象的键和增值,E是第p条交易txp涉及的数据对象总数;

步骤3.2、判定交易是否语义合法:

对第p条交易信息txp,遍历ΔVp,并根据式(1)计算键为keye,p的数据对象ae的新值vale,p

式(1)中,是键为keye,p的数据对象ae在状态数据库S中记录的值,如果第p条交易信息txp涉及的所有数据对象的新值都大于等于0,则判定第p条交易信息txp的语义合法,否则标记第p条交易信息txp的语义不合法;

步骤3.3、定义一个数组arr,对第p条交易信息txp,令arr[p]表示以txp作为最后一条交易信息的最长合法交易序列的长度,初始化arr[p]为0;

步骤3.4、定义最大可合并交易序列集为B;

步骤3.5、记执行第p条交易txp后得到的状态数据库为Sp;记除txp外任意一条交易为txg;记执行第g条交易txg后得到的状态数据库为Sg;如果基于状态数据库Sp执行交易txg是合法的,则记是安全的;

步骤3.6、基于状态数据库S和交易信息集TX,利用式(2)更新数组arr中的元素arr[p],从而更新数组arr中的所有元素:

式(2)中,max(·)表示取最大值,∧表示且;

步骤3.6、找到数组arr中的最大值以及其对应的索引t,即arr[t]为数组arr中的最大值,令arr[t]对应的交易序列为最长合法交易子序列L=(tx′1,tx′2,...tx′i,...,tx′t),i∈[1,t],其中,tx′i表示交易序列L包含的任意一个交易,交易序列L包含的交易数|L|≤t,且在交易信息集合TX中能找到一个交易txk,使得tx′t=txk,k∈[1,t];

步骤3.8、将最长合法交易子序列L添加到最大可合并交易序列集B中,并执行L中交易后得到的状态数据库记为S′,并由除L中的交易以外的所有交易构成余下的交易信息集TX′;

步骤3.9、基于状态数据库S′和余下的交易信息集TX′重复步骤3.6~3.8,直至最大可合并交易序列集B不再更新为止,从而得到更新后的最大可合并交易序列集B′;

步骤4:合并交易;

步骤4.1、根据状态数据库S和更新后的最大可合并交易序列集B′,得到新的状态数据库SB

步骤4.2、建立一个空的读集RS′和一个空的写集WS′;

步骤4.3、遍历交易信息集TX,将TX中的任意一个交易访问的任意一个数据对象bh的键及其在状态数据库S中的版本号构成的二元组添加到读集RS′中;

步骤4.4、遍历交易信息集TX,将TX中的任意一个交易访问的任意一个数据对象bh的键及其在状态数据库SB中的值构成的二元组添加到写集WS′中;

步骤4.5、由读集RS′,写集WS′与最大可合并交易序列集B′中的交易序列构成处理完成的合并交易。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210810789.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top