System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种电力市场交易的执行方法,尤其涉及一种基于贡献度激励的电力市场智能合约执行方法及其系统。
技术介绍
1、在目前的电力市场交易场景中,交易操作需要经过多个环节,有多个主体共同参与,交易的安全性和便捷性以及市场的稳定性影响这电力市场交易的发展。区块链技术具有去中心化、分布式存储等技术优势可以建立一种去中心化的电力市场交易应用,降低电力交易的中介成本,提供更高的交易灵活性与可靠性,提升电力市场交易的公平性与透明性。然而,区块链多节点共识和多副本存储的基础架构,在多主体的电力市场交易中无法及时高效的处理高并发和海量数据处理的需求。智能合约作为区块链应用的核心技术之一,提高了区块链的业务承载能力,使电力市场交易这类多主体、流程复杂的业务可以基于区块链开展应用,但受限于智能合约引擎的算力限制,其执行效率相比其他分布式系统存在一定劣势。
技术实现思路
1、专利技术目的:本专利技术的目的是为了提高电力市场交易的安全性、便捷性和时效性,提供了一种基于贡献度激励的电力市场智能合约执行方法及其系统。
2、技术方案:本专利技术所述的基于贡献度激励的电力市场智能合约执行方法,包括如下步骤:
3、(1)区块链客户端接收电力市场交易系统的交易数据并进行封装,向区块链节点模块发起智能合约调用任务;
4、(2)区块链节点模块解析调用任务参数;
5、(3)区块链节点模块拆分智能合约调用请求;
6、(4)区块链节点模块基于累计贡献度构建智能合约
7、(5)区块链节点模块将调用请求转发至智能合约引擎集合内各个智能合约引擎;
8、(6)智能合约引擎模块执行区块链节点模块转发的调用请求将响应结果返回至区块链节点模块;
9、(7)智能合约引擎模块基于本次智能合约执行过程中各个智能合约引擎的贡献度进行奖励发放,并实时更新各智能合约引擎的累积贡献度;
10、(8)区块链节点模块收集各个智能合约引擎的执行结果并进行组装后经区块链客户端传输至电力市场交易系统。
11、进一步的,所述步骤(1)中电力市场交易系统的交易数据包括交易需求数据、交易申报数据、交易出清数据以及交易结算数据。
12、进一步的,所述步骤(1)区块链客户端对交易数据的封装方法包括:
13、(1.1)将交易数据进行结构化处理,以键值对形式封装为多层级数据对象并进行序列化;
14、(1.2)通过区块链客户端内的账户身份私钥对生成的交易数据序列化对象进行数字签名。
15、进一步的,所述步骤(2)区块链节点模块解析调用参数包括:
16、(2.1)接收并取出区块链客户端发送的调用请求中的载荷字段,反序列化后得到封装的交易数据包;
17、(2.2)通过公钥完成数字验签操作后,得到完整的交易数据;
18、(2.3)接收并取出区块链客户端发送的调用请求中的函数名字段,得到目标智能合约名称、版本以及调用函数信息。
19、进一步的,所述步骤(3)区块链节点模块拆分智能合约调用请求包括:
20、(3.1)交易数据依赖关系分析,两笔独立数据交易分别为t1与t2,满足以下全部条件时,判定两笔交易是否存在依赖关系:
21、rt1∩wt2=φ
22、wt1∩rt2=φ
23、wt1∩wt2=φ
24、其中,rt1表示t1中的读集合,wt1表示写集合,rt2表示t2中读集合,wt2表示写集合;
25、(3.2)若交易数据不存在依赖关系,执行并行分析;
26、(3.3)若交易数据存在依赖关系,针对存在依赖关系的交易数据基于区块链节点模块中的调用记录追溯其请求时间戳,以是否存在相同资源依赖为分组规则进行交易分组,组内交易按照请求时间戳进行排序,执行顺序分析。
27、进一步的,所述步骤(4)区块链节点模块构建智能合约引擎集合包括:
28、l={q1,q2...,qi,...,qm}
29、
30、a={q1,q2,...,qn}
31、其中,cqi为智能合约引擎qi的累积贡献度,m为智能合约引擎总数,n为智能合约引擎集合a的基数,即基于智能合约资源互斥验证规则计算得出的本次执行需要的智能合约引擎数量。
32、进一步的,所述步骤(5)区块链节点模块将调用请求转发至集合内的各个智能合约引擎包括:
33、(5.1)将智能合约调用请求通过非对称加密算法进行加密并计算哈希值,并通过一致性哈希算法进行目标分配,确定每组调用请求的目标智能合约引擎;
34、(5.2)通过私有协议将调用请求发送至智能合约引擎集合中的各个成员,各成员通过私钥进行解密后执行智能合约函数调用。
35、进一步的,所述步骤(6)智能合约引擎模块执行区块链节点模块转发的调用请求,智能合约引擎模块若调用成功,则将函数输出作为响应数据返回至区块链节点模块;若调用失败,则将合约事件作为响应数据返回至区块链节点模块,合约事件存储调用异常信息。
36、进一步的,所述步骤(7)各智能合约引擎的累积贡献度更新包括:
37、(7.1)计算智能合约执行贡献度总收益
38、其中,n为智能合约引擎集合a的基数,β为单个智能合约引擎的固定收益,δ为收益的动态权重系数,根据智能合约分组情况进行动态调节,调节范围为(0,1);
39、(7.2)计算各个智能合约引擎的贡献度收益
40、其中,pi为智能合约引擎i的执行准确度,ti为智能合约引擎i的执行耗时;
41、(7.3)更新累积贡献度
42、进一步的,所述步骤(8)包括:
43、(8.1)区块链节点模块收集各个智能合约引擎的执行结果,按响应数据的接收顺序对响应数据包进行解密,解密后的数据存入响应数据队列;
44、(8.2)按照响应数据包的数量创建线程,从响应数据队列中取出响应数据解析后存入缓存中,每个线程独立对响应数据中的合约函数输出或合约事件进行解析;
45、(8.3)调度线程从缓存中获取所有解析结果并完成组装,经区块链客户端传输至电力市场交易系统。
46、本专利技术所述的基于贡献度激励的电力市场智能合约执行系统,包括:
47、区块链客户端:用于接收电力市场交易系统的交易数据并进行封装,向区块链节点发起智能合约调用任务;
48、区块链节点模块:用于解析调用参数将智能合约调用请求进行拆分,基于预设的选取规则构建智能合约引擎集合,同时将调用请求转发至集合内的各个智能合约引擎,并收集各个智能合约引擎的执行结果经区块链客户端传输至电力市场交易系统;
49、智能合约引擎模块:执行区块链节点模块转发的调用请求讲响应结果返回至区块链节点模块,同时基于本次智能合约执行过程中各个智能合约引擎的贡献度本文档来自技高网...
【技术保护点】
1.一种基于贡献度激励的电力市场智能合约执行方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(1)中电力市场交易系统的交易数据包括交易需求数据、交易申报数据、交易出清数据以及交易结算数据。
3.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(1)区块链客户端对交易数据的封装方法包括:
4.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(2)区块链节点模块解析调用参数包括:
5.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(3)区块链节点模块拆分智能合约调用请求包括:
6.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(4)区块链节点模块构建智能合约引擎集合包括:
7.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(5)区块链节点模块将调用请求转发至集合内各个智
8.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(7)各智能合约引擎的累积贡献度更新包括:
9.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(8)包括:
10.一种基于贡献度激励的电力市场智能合约执行系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于贡献度激励的电力市场智能合约执行方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(1)中电力市场交易系统的交易数据包括交易需求数据、交易申报数据、交易出清数据以及交易结算数据。
3.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(1)区块链客户端对交易数据的封装方法包括:
4.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(2)区块链节点模块解析调用参数包括:
5.根据权利要求1所述的基于贡献度激励的电力市场智能合约执行方法,其特征在于,所述步骤(3)区块链节点模块...
【专利技术属性】
技术研发人员:胡江溢,高铭泽,李昀,李宁峰,姜炜超,高宇,孙绘,贾茹,周宇,胡远征,
申请(专利权)人:南瑞集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。