本发明涉及交易撮合领域,具体讲涉及一种双挂双摘分布式电力交易撮合方法及系统。
背景技术:
随着新一轮电力体制改革的推进,开放售电侧市场,允许分布式电源等多主体参与市场竞争已成为电力市场发展的趋势。由于现有电力市场机制按集中式发电供电模式设计,而分布式发电具有单体量少、点多、面广等特点,难以直接采用集中电力交易机制模式,导致分布式发电所需的电网公共服务、电力市场交易机制以及政府管理体制仍存在较多缺失,迫切需要开展分布式交易机制和模型研究。
技术实现要素:
为解决上述问题,本发明提供了一种双挂双摘分布式电力交易撮合方法及系统。
一种双挂双摘分布式电力交易撮合方法,包括:
采集在以太坊注册用户的交易合约;
基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;
基于所述以太坊进行双挂双摘交易撮合;
其中,所述用户包括购电用户和售电用户。
优选的,所述将所有的合约集合以区块的形式传播并存入区块链,包括:
将所有的合约集合基于区块的点对点形式在交易网络中传播,并进行信息公示;
用户对所述合约集合进行确认;
将所述确认后的合约集合存入区块链。
优选的,所述基于所述以太坊进行双挂双摘交易撮合包括:
基于交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;形成交易记录。
优选的,所述售电用户挂牌购电用户摘牌包括:
所述售电用户挂牌,挂牌的内容包括电量、电价;
所述购电用户按照价格由低到高的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述购电用户摘牌的内容包括电量和电价。
优选的,所述购电用户挂牌售电用户摘牌,包括:
所述购电用户挂牌,挂牌的内容包括电量、电价,其中所述挂牌内容的电量为所述挂牌购电用户摘牌时剩余的购电量;
根据所述售电用户挂牌购电用户摘牌时剩余的购电量,按照价格由高到低的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述售电用户摘牌的内容包括电量和电价。
优选的,所述合约,包括:交易内容、交易时间、双挂双摘的约束条件;其中,所述双挂双摘的约束条件包括:
售电用户挂牌电量约束、购电用户单次摘牌电量约束、购电用户挂牌电量约束和售电用户单次摘牌电量约束。
优选的,所述售电用户挂牌电量约束如下式所示:
q′mj=qmj
式中,q'mj:第j个售电用户的挂牌电量为;qmj:第j个售电用户发布的待售电量;
所述购电用户单次摘牌电量约束如下式所示:
q'nij≤min{qni,q'mj}
式中,qni:第i个购电用户发布的需求电量;q′mj:第j个售电用户的挂牌电量;q′nij第i个购电用户的摘牌电量;
所述购电用户挂牌电量约束如下式所示:
式中,q”ni:第i个购电用户的挂牌电量;
所述售电用户单次摘牌电量约束如下式所示:
式中,q″mji:第j个售电用户的摘牌电量。
优选的,所述采集在以太坊注册用户的交易合约之前,还包括:
在以太坊上注册用户,所述以太坊返回注册用户一对公钥和私钥作为账户地址和启动账户的钥匙;
优选的,在将所有的合约集合基于区块的点对点形式在交易网络中传播之前,还包括:在以太坊客户端制定交易的合约之后采用私钥进行签名,以确保合约的有效性。
一种双挂双摘分布式电力交易撮合系统,包括:
采集模块,用于采集在以太坊注册用户的交易合约;
传播模块,基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;
撮合模块,基于所述以太坊进行双挂双摘交易撮合;
其中,所述用户包括购电用户和售电用户。
优选的,所述传播模块包括:
信息公示子模块,用于将所有的合约集合基于区块的点对点形式在交易网络中传播,并进行信息公示;
确认子模块,用于用户对所述合约集合进行确认;
存储子模块,用于将所述确认后的合约集合存入区块链。
优选的,所述撮合模块包括:
循环交易子模块,基于交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;
记录子模块,用于形成交易记录。
与现有技术相比,本发明的有益效果为:
1、本发明提供的一种双挂双摘分布式电力交易撮合方法,包括:采集在以太坊注册用户的交易合约;基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;基于所述以太坊进行双挂双摘交易撮合;其中,所述用户包括购电用户和售电用户。本发明提供的技术方案实现了购电用户和售电用户之间的自主交易,不需要中心决策机构,解决了交易中信任问题。
2、本发明提供的技术方案将所有交易信息均写入区块链中,且用户可查询历史交易记录,保证了交易的公平性与透明性,提高了交易的灵活自主性。
附图说明
图1为本发明的双挂双摘分布式电力交易撮合方法流程图;
图2为本发明的双挂双摘的分布式交易流程图;
图3为本发明的基于以太坊的交易模型;
图4为本发明的双向挂牌交易模型流程图。
具体实施方式
本发明公开了一种基于以太坊的双挂双摘分布式电力交易撮合方法,该方法实现了点对点的分布式电力交易。该交易模式不再需要中心决策机构,用户和用户之间自主进行交易,并解决了交易中的信任问题,保证交易的公平性与透明性,提高了交易的灵活自主性。
实施例1:
一种双挂双摘分布式电力交易撮合方法,如图1所示:
步骤1:采集在以太坊注册用户的交易合约;
步骤2:基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;
步骤3:基于所述以太坊进行双挂双摘交易撮合;
其中,所述用户包括购电用户和售电用户。
在步骤1之前做如下操作,在以太坊上注册用户,所述以太坊返回注册用户一对公钥和私钥作为账户地址和启动账户的钥匙;
在以太坊客户端制定交易的合约之后采用私钥进行签名,以确保合约的有效性。
步骤1:采集在以太坊注册用户的交易合约。
步骤2:基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链,具体包括:
将所有的合约集合基于区块的点对点形式在交易网络中传播,并进行信息公示;
用户对所述合约集合进行确认;
将所述确认后的合约集合存入区块链。
步骤3:基于所述以太坊进行双挂双摘交易撮合包括:
基于交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;形成交易记录。
所述售电用户挂牌购电用户摘牌包括:
所述售电用户挂牌,挂牌的内容包括电量、电价;
所述购电用户按照价格由低到高的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述购电用户摘牌的内容包括电量和电价。
所述购电用户挂牌售电用户摘牌,包括:
所述购电用户挂牌,挂牌的内容包括电量、电价,其中所述挂牌内容的电量为所述挂牌购电用户摘牌时剩余的购电量;
根据所述售电用户挂牌购电用户摘牌时剩余的购电量,按照价格由高到低的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述售电用户摘牌的内容包括电量和电价。
所述合约,包括:交易内容、交易时间、双挂双摘的约束条件;其中,所述双挂双摘的约束条件包括:
售电用户挂牌电量约束、购电用户单次摘牌电量约束、购电用户挂牌电量约束和售电用户单次摘牌电量约束。
所述售电用户挂牌电量约束如下式所示:
q′mj=qmj
式中,q'mj:第j个售电用户的挂牌电量为;qmj:第j个售电用户发布的待售电量;
所述购电用户单次摘牌电量约束如下式所示:
q'nij≤min{qni,q'mj}
式中,qni:第i个购电用户发布的需求电量;q′mj:第j个售电用户的挂牌电量;q′nij第i个购电用户的摘牌电量;
所述购电用户挂牌电量约束如下式所示:
式中,q”ni:第i个购电用户的挂牌电量;
所述售电用户单次摘牌电量约束如下式所示:
式中,q″mji:第j个售电用户的摘牌电量。
实施例2:
本发明旨在提出一种基于区块链智能合约的去中心化分布式发电市场化交易撮合模式。步骤分为交易流程设计、双挂双摘规则设计、基于以太坊智能合约的交易实现。
步骤(1)交易流程设计
根据分布式交易规则,设计一套完整的用户双挂双摘交易模式,实现产消用户之间的电量交易,如图2所示,包含发布需求、交易发起、信息反馈、交易确认、交易达成、交易验证等环节。
交易流程如下:
对于具体的交易细则,有必要作如下几点说明:
1)为了提高交易的可行性,分布式购售电用户先要到交易平台注册,经过审核后才能准入,本发明的交易平台为以太坊。
2)为了提高交易的成功率,符合准入要求的购售电用户必须先要进行信息公示,本发明是将每个用户的所有合约构成用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链实现公示的。
3)交易允许用户对交易量进行部分摘牌,交易平台挂单之后用户就可以自行摘牌,本发明是通过以太坊中交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;形成交易记录。
4)交易采用多轮双向挂牌摘牌模式,每一轮余下的交易量都转到下一轮,电量不可以随意增减,价格可以根据上一轮市场需求作出修改。
5)出清的规则是,分布式购电用户摘牌按照价格由低往高的方式出清,分布式售电用户按照价格由高到底的方式出清。
步骤(2)双挂双摘的交易撮合模型设计
如图4所示,交易模式是多轮的购售电用户双挂双摘交易,以某个时间段一轮的交易为例,余下的均与上轮相类似。且在每一轮中挂牌摘牌都是双向的,因此双挂双摘的交易模型可以分为两个阶段,一是分布式售电用户挂牌购电用户摘牌阶段,在此阶段分布式售电用户挂牌,购电用户摘牌;二是分布式购电用户挂牌售电用户摘牌阶段,在此阶段分布式购电用户挂牌,售电用户摘牌。
假设有n个分布式购电用户n1,n2……nn发布购电需求,有m个分布式售电用户m1,m2……mm发布售电需求。第i个购电用户发布的需求电量为qni,公示电价为pni;第j个售电用户发布的待售电量为qmj,公示电价为pmj。每一轮的双向摘牌过程如下:
阶段1)售电用户挂牌购电用户摘牌阶段,该阶段规定售电用户的挂牌电量一经挂出不可自行修改,挂牌电价可以在每一轮后根据市场需求做出调整。假设第i个购电用户摘了第j个售电用户的牌,其中第j个售电用户的挂牌电量为q′mj,电价为p′mj,第i个购电用户的摘牌电量为q′nij,对应的摘牌电价为p′nij。
阶段2)购电用户挂牌售电用户摘牌阶段,该阶段规定购电用户的挂牌电量为除去上轮成交电量的公示电量,且不可自行更改,挂牌电价可自行调整。假设第j个售电用户摘了第i个购电用户的牌,其中第i个购电用户的挂牌电量为q”ni,电价为p″ni,第j个售电用户的摘牌电量为q”mji,对应的摘牌电价为p″mji。
双挂双摘的约束条件如下:
1)售电用户挂牌电量约束。
q′mj=qmj(1)
2)购电用户单次摘牌电量约束。
q'nij≤min{qni,q'mj}(2)
3)购电用户挂牌电量约束。
4)售电用户单次摘牌电量约束。
(3)基于以太坊智能合约的交易执行
以太坊以图灵完备、去中心化等特点,为实现基于智能合约的分布式交易提供了良好的支撑平台。产消用户在区块链网络中发布交易需求后,双方达成交易电价后,将自动触发以太坊虚拟机。虚拟机中存储着智能合约代码,智能合约被触发后,按照交易协议进行交易,交易信息自动写入合约,交易完成将在区块链末端增加新的区块,交易记录形成,写入区块链网络。
用户参与基于以太坊智能合约的交易执行分为如下几步:
第一步用户首先要注册以太坊账户,以太坊客户端返回用户一对公钥和私钥作为账户地址和启动账户的钥匙。
第二步参与者都可以制定交易的合约,包括交易内容、交易时间、触发合约自动执行的条件,参与者分别用各自私钥进行签名,以确保合约的有效性。
第三步合约通过p2p的方式在网络中传播,最新的合约集合将以区块的形式传播到交易网络中。
第四步交易者确认后的合约经过区块链网络传播并存入区块链。当交易开始后,发送请求,启动以太坊虚拟机对合约执行操作。
具体如图3所示,有购电需求的用户发布买入报价,有售电需求的用户发布卖出报价,有购电需求的用户和有售电需求的用户双方达成交易电价,触发以太坊虚拟机中利用区块链一致性算法构造的一套状态机,使智能合约有效运行,随后形成交易记录,其中交易记录中记录交易时间、交易账户、交易地址、交易协议、触发机制和合约代码。
实施例3
基于同一发明构思的本发明还提供了一种双挂双摘分布式电力交易撮合系统,包括:
采集模块,用于采集在以太坊注册用户的交易合约;
传播模块,基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;
撮合模块,基于所述以太坊进行双挂双摘交易撮合;
其中,所述用户包括购电用户和售电用户。
所述传播模块包括:
信息公示子模块,用于将所有的合约集合基于区块的点对点形式在交易网络中传播,并进行信息公示;
确认子模块,用于用户对所述合约集合进行确认;
存储子模块,用于将所述确认后的合约集合存入区块链。
所述撮合模块包括:
循环交易子模块,基于交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;
记录子模块,用于形成交易记录。
循环交易子模块包括:售电用户挂牌购电用户摘牌单元、购电用户挂牌售电用户摘牌单元和判断循环单元;
售电用户挂牌购电用户摘牌单元,用于所述售电用户挂牌,挂牌的内容包括电量、电价;所述购电用户按照价格由低到高的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;所述购电用户摘牌的内容包括电量和电价;
购电用户挂牌售电用户摘牌,包括:
所述购电用户挂牌,挂牌的内容包括电量、电价,其中所述挂牌内容的电量为所述挂牌购电用户摘牌时剩余的购电量;
根据所述售电用户挂牌购电用户摘牌时剩余的购电量,按照价格由高到低的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述售电用户摘牌的内容包括电量和电价;
判断循环单元,用于判断摘牌电量是否等于购电用户公示的购电量,若不等于则循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌,否则完成交易。
合约,包括:交易内容、交易时间、双挂双摘的约束条件;其中,所述双挂双摘的约束条件包括:
售电用户挂牌电量约束、购电用户单次摘牌电量约束、购电用户挂牌电量约束和售电用户单次摘牌电量约束。
售电用户挂牌电量约束如下式所示:
q′mj=qmj
式中,q'mj:第j个售电用户的挂牌电量为;qmj:第j个售电用户发布的待售电量;
所述购电用户单次摘牌电量约束如下式所示:
q'nij≤min{qni,q'mj}
式中,qni:第i个购电用户发布的需求电量;q′mj:第j个售电用户的挂牌电量;q′nij第i个购电用户的摘牌电量;
所述购电用户挂牌电量约束如下式所示:
式中,q”ni:第i个购电用户的挂牌电量;
所述售电用户单次摘牌电量约束如下式所示:
式中,q″mji:第j个售电用户的摘牌电量。
该系统还包括注册模块和签名模块,其中,注册模块,用于在以太坊上注册用户,所述以太坊返回注册用户一对公钥和私钥作为账户地址和启动账户的钥匙。
签名模块,用于在以太坊客户端制定交易的合约之后采用私钥进行签名,以确保合约的有效性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
1.一种双挂双摘分布式电力交易撮合方法,其特征在于,包括:
采集在以太坊注册用户的交易合约;
基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;
基于所述以太坊进行双挂双摘交易撮合;
其中,所述用户包括购电用户和售电用户。
2.如权利要求1所述的方法,其特征在于,所述将所有的合约集合以区块的形式传播并存入区块链,包括:
将所有的合约集合基于区块的点对点形式在交易网络中传播,并进行信息公示;
用户对所述合约集合进行确认;
将所述确认后的合约集合存入区块链。
3.如权利要求1所述的方法,其特征在于,所述基于所述以太坊进行双挂双摘交易撮合包括:
基于交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;形成交易记录。
4.如权利要求3所述的方法,其特征在于,所述售电用户挂牌购电用户摘牌包括:
所述售电用户挂牌,挂牌的内容包括电量、电价;
所述购电用户按照价格由低到高的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述购电用户摘牌的内容包括电量和电价。
5.如权利要求4所述的方法,其特征在于,所述购电用户挂牌售电用户摘牌,包括:
所述购电用户挂牌,挂牌的内容包括电量、电价,其中所述挂牌内容的电量为所述挂牌购电用户摘牌时剩余的购电量;
根据所述售电用户挂牌购电用户摘牌时剩余的购电量,按照价格由高到低的方式摘牌,并向以太坊虚拟机发送请求,启动以太坊虚拟机对区块链中的合约执行操作;
所述售电用户摘牌的内容包括电量和电价。
6.如权利要求1所述的方法,其特征在于,所述合约,包括:交易内容、交易时间、双挂双摘的约束条件;其中,所述双挂双摘的约束条件包括:
售电用户挂牌电量约束、购电用户单次摘牌电量约束、购电用户挂牌电量约束和售电用户单次摘牌电量约束。
7.如权利要求6所述的方法,其特征在于,所述售电用户挂牌电量约束如下式所示:
q′mj=qmj
式中,q′mj:第j个售电用户的挂牌电量为;qmj:第j个售电用户发布的待售电量;
所述购电用户单次摘牌电量约束如下式所示:
q′nij≤min{qni,q′mj}
式中,qni:第i个购电用户发布的需求电量;q′mj:第j个售电用户的挂牌电量;q′nij第i个购电用户的摘牌电量;
所述购电用户挂牌电量约束如下式所示:
式中,q”ni:第i个购电用户的挂牌电量;
所述售电用户单次摘牌电量约束如下式所示:
式中,q″mji:第j个售电用户的摘牌电量。
8.如权利要求2所述的方法,其特征在于,所述采集在以太坊注册用户的交易合约之前,还包括:
在以太坊上注册用户,所述以太坊返回注册用户一对公钥和私钥作为账户地址和启动账户的钥匙。
9.如权利要求8所述的方法,其特征在于,在将所有的合约集合基于区块的点对点形式在交易网络中传播之前,还包括:在以太坊客户端制定交易的合约之后采用私钥进行签名,以确保合约的有效性。
10.一种双挂双摘分布式电力交易撮合系统,其特征在于,包括:
采集模块,用于采集在以太坊注册用户的交易合约;
传播模块,基于每个用户的所有合约构成所述用户的合约集合,并将所有的合约集合以区块的形式传播并存入区块链;
撮合模块,基于所述以太坊进行双挂双摘交易撮合;
其中,所述用户包括购电用户和售电用户。
11.如权利要求10所述的系统,其特征在于,所述传播模块包括:
信息公示子模块,用于将所有的合约集合基于区块的点对点形式在交易网络中传播,并进行信息公示;
确认子模块,用于用户对所述合约集合进行确认;
存储子模块,用于将所述确认后的合约集合存入区块链。
12.如权利要求10所述的系统,其特征在于,所述撮合模块包括:
循环交易子模块,基于交易的合约循环进行售电用户挂牌购电用户摘牌和购电用户挂牌售电用户摘牌操作直到完成所有交易;
记录子模块,用于形成交易记录。
技术总结