WO2020077579A1 - 区块链能源交易平台中的交易任务并行处理的方法与系统 - Google Patents

区块链能源交易平台中的交易任务并行处理的方法与系统 Download PDF

Info

Publication number
WO2020077579A1
WO2020077579A1 PCT/CN2018/110729 CN2018110729W WO2020077579A1 WO 2020077579 A1 WO2020077579 A1 WO 2020077579A1 CN 2018110729 W CN2018110729 W CN 2018110729W WO 2020077579 A1 WO2020077579 A1 WO 2020077579A1
Authority
WO
WIPO (PCT)
Prior art keywords
energy
nodes
transactions
blockchain network
transaction
Prior art date
Application number
PCT/CN2018/110729
Other languages
English (en)
French (fr)
Inventor
徐琨
张建军
Original Assignee
北京兆信通能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京兆信通能科技有限公司 filed Critical 北京兆信通能科技有限公司
Priority to PCT/CN2018/110729 priority Critical patent/WO2020077579A1/zh
Publication of WO2020077579A1 publication Critical patent/WO2020077579A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists

Definitions

  • This application generally relates to a blockchain energy trading platform, and specifically to a method and system for parallel processing of transaction tasks in a blockchain energy trading platform.
  • Blockchain is a technology that maintains growing transaction records, and can ensure that transaction records are reliably preserved.
  • an energy trading platform based on blockchain technology has emerged to process and deal with energy transactions in the energy network.
  • the transaction tasks are usually processed in a single-threaded manner, which may cause the blockchain energy trading platform to operate at a lower efficiency, which may occur during energy scheduling and / or transactions Blocked. Therefore, a method for parallel processing of transaction tasks is needed to improve the operating efficiency of the blockchain trading platform.
  • an energy trading system may include an energy trading system, including a blockchain network, the blockchain network is composed of multiple nodes, and each of the nodes is used to communicate with the multiple Every other node in each node communicates.
  • the blockchain network can receive multiple energy transactions initiated by multiple clients, each of the multiple clients has a communication connection with the blockchain network, and the multiple clients Each client in the terminal is associated with a network element registered in the energy trading system; in response to the multiple energy transactions, multiple sets of nodes are determined from multiple nodes of the blockchain network, the multiple Each group node in the group node corresponds to one energy transaction of the plurality of energy transactions; based on the plurality of group nodes, the plurality of energy transactions are processed in parallel to generate a plurality of parallel processing results; and the multiple Each of the parallel processing results is sent to the corresponding client.
  • a blockchain-based energy transaction method includes receiving multiple energy transactions initiated by multiple clients, each of the multiple clients having communication with the blockchain network Connected, and each of the multiple clients is associated with a network element registered in the energy trading system, the blockchain network is composed of multiple nodes, and each node is used to communicate with the Each other node in the plurality of nodes communicates; in response to the plurality of energy transactions, a plurality of groups of nodes are determined from the plurality of nodes in the blockchain network, and each group of nodes in the plurality of nodes corresponds to the One energy transaction among multiple energy transactions; based on the multiple sets of nodes, performing parallel processing on the multiple energy transactions to generate multiple parallel processing results; and processing each of the multiple parallel processing results in parallel Send to the corresponding client respectively.
  • a non-transitory computer-readable storage medium stores computer instructions, and when one or more processors execute the computer instructions, the one or more processors may perform the following operations.
  • the one or more processors may receive multiple energy transactions initiated by multiple clients, each of the multiple clients has a communication connection with the blockchain network, and the multiple clients Each client of is associated with a network element registered in the energy trading system, the blockchain network is composed of multiple nodes, and each node is used to communicate with each other node of the multiple nodes .
  • the one or more processors may determine multiple groups of nodes from multiple nodes of the blockchain network in response to the multiple energy transactions; each group of nodes in the multiple groups of nodes corresponds to the multiple An energy transaction in an energy transaction.
  • the one or more processors may perform parallel processing on the multiple energy transactions based on the multiple sets of nodes to generate multiple parallel processing results. And the one or more processors may send each of the multiple parallel processing results to the corresponding client respectively.
  • the blockchain network may further receive energy transaction proposals from corresponding clients; endorse the transaction proposals according to smart contracts To generate an endorsement result; transmit the endorsement result to the corresponding client; and receive an energy transaction generated by the corresponding client based on the endorsement result.
  • the multiple groups of nodes are determined from the multiple nodes of the blockchain network in response to the multiple energy transactions, and the blockchain network may further obtain the multiple energy transactions Concurrency; and based on the concurrency of the multiple energy transactions, determine the multiple sets of nodes.
  • the parallel processing includes at least one of multi-thread processing, thread pool processing, and coroutine processing.
  • the parallel processing is implemented based on a parallel algorithm including at least one of a division method, a divide-and-conquer method, a balanced tree method, a multiplication method, a pointer jumping method, and a pipeline method.
  • the blockchain network may further obtain a plurality of sub-steps of the at least one energy transaction; determine at least two of the plurality of sub-steps Substeps that can be performed in parallel; and performing parallel processing on the at least two substeps that can be performed in parallel.
  • At least one of the multiple nodes of the blockchain is implemented based on at least one of cloud container docker or microservices.
  • the energy source includes at least one of electric energy source, solar energy source, wind energy source, fuel energy source, water energy source, or nuclear energy source.
  • an energy trading device includes a computer program, and when the program is executed, the device may perform the following operations.
  • the device may receive multiple energy transactions initiated by multiple clients, each of the multiple clients has a communication connection with the blockchain network, and each of the multiple clients Associated with a network element registered in the energy trading system, the blockchain network is composed of multiple nodes, and each node is used to communicate with each other node of the multiple nodes; in response to the Multiple energy transactions, determining multiple groups of nodes from multiple nodes of the blockchain network; each group of nodes in the multiple groups of nodes corresponds to one of the multiple energy transactions; based on the multiple groups of nodes , Perform parallel processing on the multiple energy transactions to generate multiple parallel processing results; and send each of the multiple parallel processing results to the corresponding client.
  • an energy trading system may include an energy trading system including a receiving module for receiving multiple energy transactions initiated by multiple clients, each of the multiple clients It has a communication connection with the blockchain network, and each of the multiple clients is associated with a network element registered in the energy trading system.
  • the blockchain network is composed of multiple nodes, and the Nodes are used to communicate with each other node of the plurality of nodes; a node group determination module is used to determine a plurality of groups of nodes from the plurality of nodes of the blockchain network in response to the plurality of energy transactions , Each group of nodes in the plurality of groups of nodes corresponds to one of the plurality of energy transactions; a parallel processing control module is used to process the plurality of energy transactions in parallel based on the plurality of nodes to generate A plurality of parallel processing results; and a sending module, configured to send each of the plurality of parallel processing results to the corresponding client.
  • FIG. 1 is a schematic diagram of an exemplary energy network trading system according to some embodiments of the present application
  • FIG. 2 is a schematic diagram of an exemplary blockchain network according to some embodiments of the present application.
  • FIG. 3 is a schematic diagram of exemplary hardware and / or software components of a computing device according to some embodiments of the present application.
  • FIG. 4 is a schematic diagram of exemplary hardware and / or software components of a mobile device according to some embodiments of the present application.
  • 5a is an exemplary block diagram of processing multiple energy transactions in parallel according to some embodiments of the present application.
  • 5b is a flowchart of an exemplary process of processing multiple energy transactions in parallel according to some embodiments of the present application
  • FIG. 6 is a flowchart of an exemplary process for receiving an energy transaction initiated by a client according to some embodiments of the present application
  • FIG. 7 is a flowchart of an exemplary process of processing multiple steps in parallel in a single energy transaction according to some embodiments of the present application.
  • FIG. 8 is a schematic diagram of a parallel processing module according to some embodiments of the present application.
  • FIG. 9 is a schematic diagram of a cloud container docker module according to some embodiments of the present application.
  • This application uses a flowchart to illustrate the operations performed by the system according to the embodiments of the application. It should be understood that the operations of the flowcharts are not necessarily performed accurately in order. Instead, the various steps can be performed in reverse order or processed simultaneously. In addition, one or more other operations can be added to the flowchart. One or more operations can also be deleted from the flowchart.
  • FIG. 1 is a schematic diagram of an exemplary energy network trading system 100 according to some embodiments of the present application.
  • the energy network trading system 100 (hereinafter also referred to simply as the trading system 100) can be used as an energy trading platform, which can implement node-to-node transactions in the energy network based on the blockchain network 110.
  • the transaction system 100 can also be used as an intelligent communication and management platform, which can provide such as contract management, transaction settlement, energy demand forecasting, energy efficiency analysis, energy allocation, user management, information release, transaction monitoring, marketing Services such as analytics, or any combination of the services.
  • the energy network may be a distributed energy network including one or more network elements.
  • a network element may refer to an entity that can participate in energy exchange and / or transactions.
  • the energy exchanged and / or traded within the energy network may include any type of energy, such as electrical energy, solar energy, wind energy, fuel energy (e.g., gas, gasoline or coal), hydropower, nuclear energy, ocean energy, seawater salt energy, Biomass energy etc. or any combination thereof.
  • Exemplary network elements in the energy network may include energy providers, energy consumers, energy storage devices, energy intermediaries, etc., or any combination thereof.
  • Energy providers may include any entity capable of providing energy.
  • Exemplary energy providers may include wind power plants, photovoltaic devices, photovoltaic power plants, nuclear power plants, hydro energy devices, thermal power plants, marine energy power plants, seawater salt power plants, biomass power plants, etc., or any combination thereof.
  • Energy consumers can include any entity that can consume energy.
  • Exemplary energy consumers may include buildings (eg, residential buildings, commercial buildings, industrial buildings), institutions, electrical equipment (eg, laptop computers, smart phones, electric cars), etc., or any combination thereof.
  • the energy storage device may include any entity capable of storing energy.
  • Exemplary energy storage devices may include pumped energy storage devices, compressed air energy storage devices, superconducting magnetic energy storage devices, batteries / rechargeable batteries, thermal energy storage devices, hydrogen energy storage devices, flywheel energy storage devices, etc., or any combination thereof .
  • the network elements of the energy network may include a building 120, an energy storage system 130, a thermal power plant 140, a solar photovoltaic device 150, and an electric vehicle 160.
  • network elements may be associated with multiple types of devices, such as energy supply devices, energy consuming devices, and energy storage devices.
  • the network element may be an energy provider, an energy consumer, and / or an energy storage device at the same time.
  • a building 120 including multiple electrical devices and photovoltaic devices can not only consume power but also generate power.
  • the solar photovoltaic device 150 can supply energy, and also includes a solar pool for storing solar energy.
  • the network element and the device associated therewith may serve as a network element.
  • the device associated with the network element may participate as an independent network element in energy exchange and / or transactions in the transaction system 100.
  • the building 120 and the devices in it may be regarded as a network element building 120.
  • the photovoltaic devices of the building 120 can act as independent network elements.
  • two or more network elements of the energy network may be connected to each other to exchange energy.
  • the energy storage system 130, the thermal power plant 140, and / or the solar photovoltaic device 150 may supply power to the building 120 and the electric vehicle 160.
  • the energy storage system 130 may obtain energy from one or more other network elements and store the energy.
  • the building 120, the thermal power plant 140, and the solar photovoltaic device 150 may obtain energy from the energy storage system 130 or provide energy to the energy storage system 130.
  • the blockchain network 110 may be configured to process and / or store energy transactions occurring in the transaction system 100.
  • energy trading can refer to any successful or failed energy trading.
  • the energy transaction can be initiated by any network element in the energy network.
  • the energy transaction may be an energy purchase transaction initiated by an energy consumer or an energy sales transaction initiated by an energy provider.
  • the blockchain network 110 can utilize decentralized, distributed, and public digital ledgers to maintain a growing list of transaction records.
  • the blockchain network 110 can ensure that transaction records can be stored in a verifiable and permanent manner and cannot be modified retrospectively.
  • the blockchain network 110 may be any type of blockchain network, such as a public blockchain network, a private blockchain network, a semi-private blockchain network, an alliance chain, etc., or any combination thereof.
  • the blockchain network 110 may be a consortium chain. In the alliance chain, the consensus process is controlled by a pre-selected group of nodes, and the right to read the blockchain may be public or limited to the pre-selected group of nodes.
  • the blockchain network 110 may be built based on the Hyperledger fabric blockchain.
  • the blockchain network 110 may include multiple nodes, which may be assigned different functions, such as data storage, transaction approval, smart contract execution, transaction verification, data analysis, etc., or any combination.
  • the blockchain network 110 may allow users associated with network elements (eg, energy providers and / or energy consumers) to sell energy to and / or purchase energy from another network element.
  • the user of the network element can interact with the blockchain network 110 by initiating a transaction through a client (not shown in FIG. 1).
  • the blockchain network 110 can verify the transaction according to the smart contract, and if the transaction is valid, store the transaction in a block sealed with a lock (also called a “hash”).
  • a lock also called a “hash”.
  • one or more optional components may be added to the transaction system 100, or one or more components of the transaction system 100 described above may be omitted.
  • the electric car 160 may be omitted.
  • the energy network may exchange energy with external energy sources (eg, the national grid, another energy network).
  • FIG. 2 is a schematic diagram of an exemplary blockchain network 110 according to some embodiments of the present application. As described in connection with FIG. 1, the blockchain network 110 may be configured to process and record energy transactions that occur in the transaction system 100.
  • the blockchain network 110 may be a decentralized network of multiple nodes 210.
  • the nodes 210 may be connected to each other via the network 220 instead of being connected to a central server.
  • the node 210 may refer to a computing unit, which is capable of performing one or more functions of the node 210 disclosed in itself.
  • the node 210 may be implemented on any type of computing device.
  • the node 210 may be implemented on a computing device such as a personal computer, tablet computer, notebook computer, mobile device, or a portion of a computing device.
  • the node 210 may be implemented on a computing system containing multiple computing devices.
  • node 210 may be implemented on one or more components of computing device 300 as shown in FIG. 3.
  • multiple nodes 210 may have the same or different functions in the blockchain network 110.
  • the node 210 may include a peer, an orderer, and / or an authentication center.
  • Peer may refer to a node 210 that maintains a ledger and / or runs a smart contract (also known as a chain code) to perform read / write operations on the ledger.
  • the ledger can be used to store the blockchain, and optionally other information related to the transaction system 100 (eg, world state information).
  • a smart contract can refer to an automatically enforceable contract that contains rules for energy trading.
  • multiple nodes 210 may process multiple energy transactions in parallel.
  • multiple nodes 210 may be grouped, and each group of nodes may process multiple energy transactions in parallel; or multiple nodes 210 may allocate multiple energy transactions to multiple threads for parallel processing.
  • multiple nodes 210 may also process multiple sub-steps in a single energy transaction in parallel.
  • one or more nodes 210 of the blockchain network 110 may be configured to analyze and / or manage information related to the transaction system 100 to provide various services, such as contract management, transaction settlement, energy demand Forecasting, energy efficiency analysis, energy distribution, user management, information release, transaction monitoring, marketing analysis, etc. or any combination thereof.
  • the node 210 may provide user management services, such as user registration, user authentication, user information update, user account monitoring, user account suspension, etc., or any combination thereof.
  • the node 210 may provide contract management services, such as contract creation, contract execution, contract query, contract confirmation, contract cancellation, etc., or any combination thereof.
  • a user associated with a network element may send a request for a particular service to node 210 via client 240.
  • the node 210 may execute the request and send the execution result to the client 240 to provide the requested service to the user.
  • the node 210 of the blockchain network 110 may be owned and maintained by the entity (eg, organization, person) that maintains the transaction system 100.
  • node 210 may be owned and maintained by users associated with network elements of the energy network.
  • the network 220 may facilitate the exchange of information and / or data.
  • multiple nodes 210 of the blockchain network 110 may be connected to and / or communicate with each other via the network 220.
  • one or more nodes 210 of the blockchain network 110 may connect to and / or communicate with the client 240 via the network 220.
  • the network 220 may be any form of wired or wireless network, or any combination thereof.
  • the network 220 may include a wired network, a wired network, a fiber optic network, a telecommunications network, an intranet, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), and a metropolitan area network (MAN), public switched telephone network (PSTN), Bluetooth network, ZigBee network, near field communication (NFC) network, etc. or a combination thereof.
  • the network 220 may include one or more network access points.
  • the network 220 may include wired or wireless network access points, such as base stations and / or Internet exchange points 220-1, 220-2, ..., through which one or more components of the transaction system 100 may be connected to The network 220 exchanges data and / or information.
  • wired or wireless network access points such as base stations and / or Internet exchange points 220-1, 220-2, ..., through which one or more components of the transaction system 100 may be connected to
  • the network 220 exchanges data and / or information.
  • the blockchain network 110 can communicate with the client 240 and the storage device 230.
  • the storage device 230 may store data and / or instructions.
  • the storage device 230 may store data obtained from the node 210 and / or the client 240.
  • the storage device 230 may store information related to the transaction system 100, such as user information, transaction information, policy information, news information, etc., or any combination thereof.
  • the storage device 230 may store the block index and the historical index of the key.
  • the storage device 230 may store data and / or instructions that the blockchain network 110 may execute or use to perform the exemplary methods described in this application.
  • the storage device 230 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), etc., or a combination thereof.
  • Exemplary mass storage devices may include magnetic disks, optical disks, solid state disks, and the like.
  • Exemplary removable memory may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like.
  • Exemplary volatile read-only memory may include random access memory (RAM).
  • Exemplary RAM may include dynamic RAM (DRAM), double-rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero-capacitance RAM (Z-RAM), and the like.
  • Exemplary ROMs can include mask ROM (MROM), programmable ROM (PROM), erasable programmable ROM (PEROM), electronic erasable programmable ROM (EEPROM), compact disc ROM (CD-ROM), and digital Universal disk ROM, etc.
  • the storage device 230 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof.
  • one or more components of transaction system 100 may access storage device 230.
  • one or more components of the transaction system 100 may read and / or write information related to one or more transactions.
  • the node 210 may read and / or modify information related to one or more transactions stored in the storage device 230.
  • the client 240 may access the information stored in the storage device 230, but does not have permission to modify the information stored in the storage device 230.
  • the client 240 may be associated with the network element of the energy network, and may be used to enable user interaction between the user associated with the network element and the blockchain network 110.
  • the client 240 may be associated with the thermal power plant 140.
  • the administrator or employee of the thermal power plant 140 can send a transaction proposal to the blockchain network 110 via the client 240 to sell the excess energy.
  • the client 240 may be associated with the building 120. residents of the building 120 can send transaction proposals to the blockchain network 110 via the client 240 to purchase energy. Additionally or alternatively, the resident may submit a request to the blockchain network 110 via the client 240 to predict his / her energy demand for the next month.
  • the client 240 may include a software development kit (SDK).
  • SDK may provide an application programming interface (API) to connect to the blockchain network 110 and enable the client 240 to interact with the blockchain network 110.
  • API application programming interface
  • the SDK may package the transaction proposal entered by the user into an appropriate architectural format and / or generate a unique signature (eg, digital signature) for the transaction proposal.
  • the client 240 may install a client application.
  • the client application can be designed to enable users of the client 240 to trade and / or manage energy based on the blockchain network 110. For example, a user may send a transaction proposal for energy to the blockchain network 110 via a client application.
  • the user can view information on the client application (for example, predicted energy demand, settlement results regarding historical energy consumption, analysis results of energy efficiency, and warning information).
  • the client application can be a mobile application, a web application, a cloud application, a website, or any other software used for energy trading.
  • the client 240 may connect to or communicate with one or more components of the blockchain network 110 (eg, one or more nodes 210) via the network 220. Additionally or alternatively, the client 240 may be directly connected to one or more components of the blockchain network 110. In some embodiments, depending on the type of user (eg, registered user, VIP, guest), different users of the client 240 may have different user rights. For example, a registered user may have the right to trade energy on the blockchain network 110 and read transaction information related to the blockchain network 110. The visitor may only have the right to read the transaction information related to the blockchain network 110.
  • a registered user may have the right to trade energy on the blockchain network 110 and read transaction information related to the blockchain network 110. The visitor may only have the right to read the transaction information related to the blockchain network 110.
  • the client 240 may be configured to encrypt and decrypt information.
  • the client 240 may hold a private key and a public key.
  • the public key may be public, and may be obtained by any component in the transaction system 100.
  • the private key may be held privately by a component in the transaction system 100.
  • the client 240 can use its private key to encrypt the message and digitally sign the message.
  • the client 240 may use the public key of another component to decrypt the message and / or verify the message.
  • the client 240 may include a mobile device 240-1, a tablet 240-2, a laptop 240-3, a built-in device 240-4, etc., or a combination thereof.
  • the mobile device 240-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof.
  • the smart home devices may include smart lighting devices, smart appliance control devices, smart monitoring devices, smart TVs, smart cameras, walkie-talkies, etc., or any combination thereof.
  • the wearable device may include a smart bracelet, smart footwear, smart glass, smart helmet, smart watch, smart clothing, smart backpack, smart accessory, etc., or any combination thereof.
  • the smart mobile device may include a smart phone, personal digital assistant (PDA), gaming device, navigation device, POS machine, etc., or any combination thereof.
  • the virtual reality device and / or the augmented virtual reality device may include a virtual reality helmet, virtual reality glasses, virtual reality eye mask, enhanced virtual reality helmet, enhanced virtual reality glasses, enhanced virtual reality eye mask, etc. or Any combination.
  • the virtual reality device and / or augmented reality device may include Google GlassTM, RiftConTM, FragmentsTM, Gear VRTM, and so on.
  • the blockchain network 110 may include any number of component nodes 210.
  • the node 210 may be assigned any function.
  • the storage device 230 may be omitted.
  • FIG. 3 is a schematic diagram of exemplary hardware and / or software components of a computing device 300 according to some embodiments of the present application.
  • the computing device 300 may be used to implement any components of the transaction system 100 as described herein.
  • the nodes 210 and / or clients 240 of the blockchain network 110 may be implemented on the computing device 300 through their hardware, software programs, firmware, or a combination thereof.
  • Only one such computing device is shown, for convenience, computer functions related to the energy trading system 100 described herein may be implemented in a distributed manner on multiple similar platforms to distribute processing load.
  • the computing device 300 may include a communication port 350 connected to or connected to a network to facilitate data communication.
  • the computing device 300 may also include a processor 320 configured to execute instructions. Instructions may include, for example, routines, programs, objects, components, signals, data structures, procedures, modules, and functions that perform specific functions described herein.
  • the processor 320 may process information related to trading energy in the energy trading system 100. For example, the processor 320 may process multiple energy transactions in parallel.
  • the processor 320 may include at least one hardware processor, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP) , Central processing unit (CPU), graphics processing unit (GPU), physical processing unit (PPU), microcontroller unit, digital signal processor (DSP), field programmable gate array (FPGA), advanced RISC machine (ARM) , Programmable logic device (PLD), any circuit or processor capable of performing at least one function, etc., or any combination thereof.
  • RISC reduced instruction set computer
  • ASIC application specific integrated circuit
  • ASIP application specific instruction set processor
  • CPU Central processing unit
  • GPU graphics processing unit
  • PPU physical processing unit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ARM advanced RISC machine
  • PLD Programmable logic device
  • the computing device 300 may also include an internal communication bus 310, different types of program storage and data storage, including, for example, a disk 330, a read-only memory (ROM) 330, or a random access memory (RAM) 340.
  • the exemplary computing device may also include program instructions stored in ROM 330, RAM 340, and / or other types of non-transitory storage media executed by processor 320.
  • the method and / or process of the present application may be implemented in the form of program instructions.
  • the computing device 300 also includes an input / output component 360 that supports input / output between the computing device 300 and other components.
  • the computing device 300 may also receive programming and data via network communication.
  • the computing device 300 in this application may also include multiple processors. Therefore, the operations and / or method operations performed by one processor described in this application may also be performed jointly or separately by multiple processors. For example, if, in this application, the processor of the computing device 300 performs operations A and B, it should be understood that operations A and B may also be performed jointly or separately by two different processors in the calculation.
  • the computing device 300 eg, the first processor performs operation A, the second processor performs operation B, or the first and second processors collectively perform operations A and B).
  • the mobile device 400 may be used to implement any components of the transaction system 100 as described herein.
  • the node 210 and / or the client 240 of the blockchain network 110 may be implemented on the mobile device 400.
  • the mobile device 400 may include a communication platform 410, a display 420, a graphics processing unit (GPU) 430, a central processing unit (CPU) 440, an input / output 450, a memory 460, and a memory 490.
  • any other suitable components including but not limited to a system bus or controller (not shown), may also be included in the mobile device 400.
  • the operating system 470 eg, iOS TM , Android TM , Windows Phone TM, etc.
  • the application 480 may include a browser or any other suitable mobile application for receiving and presenting information related to the energy trading system 100.
  • applications 480 may include applications designed for energy trading as described elsewhere in this disclosure (eg, FIG. 2 and related descriptions).
  • User interaction with the information flow can be achieved via input / output 450 and provided to the blockchain network 110 and / or other components of the transaction system 100 via the network.
  • a computer hardware platform may be used as a hardware platform for one or more components described herein.
  • a computer with user interface components can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, the computer can also be used as a server.
  • PC personal computer
  • FIG. 5a is a block diagram of an exemplary process for processing energy transactions according to some embodiments of the present application.
  • 5a includes a receiving module 512, a node determining module 514, a parallel processing control module 516, and a sending module 518. All modules in FIG. 5a may be various modules in the blockchain network 110 or the nodes 210 in the blockchain network 110.
  • the receiving module 512 may be used to receive multiple energy transactions initiated by multiple clients. Each of the plurality of clients has a communication connection with the blockchain network, and each of the plurality of clients is associated with a network element registered in the energy trading system.
  • the node group determination module 514 may be used to determine multiple groups of nodes from multiple nodes of the blockchain network in response to the multiple energy transactions, each group of nodes in the multiple groups of nodes Corresponding to one of the plurality of energy transactions.
  • the parallel processing control module 516 may be used to perform parallel processing on the multiple energy transactions based on the multiple sets of nodes to generate multiple parallel processing results.
  • the sending module 518 may be used to send each of the multiple parallel processing results to the corresponding client.
  • system and its modules shown in FIG. 5a can be implemented in various ways.
  • the system and its modules may be implemented by hardware, software, or a combination of software and hardware.
  • the hardware part can be implemented with dedicated logic;
  • the software part can be stored in the memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware.
  • the acquisition module 512 and the transmission module 518 disclosed in FIG. 5a may be different modules in a system, or may be a module, such as an interface module, that implements two or more of the above modules.
  • Each module may share a storage medium, or each module may have its own storage medium. Such deformations are within the scope of protection of this application.
  • FIG. 5b is a flowchart of an exemplary process for processing energy transactions according to some embodiments of the present application.
  • FIG. 5b corresponds to FIG. 5a, and each step of the process 500 may be implemented by each module in FIG. 5a.
  • the process 500 may be performed by the transaction system 100.
  • the process 500 may be implemented as a set of instructions (eg, application programs) stored in a storage device (eg, the storage device of the node 210 and / or the storage device 230).
  • One or more elements in the trading system 100 can execute the set of instructions, and when the instructions are executed, one or more elements in the trading system 100 can be configured to execute the process 500.
  • the operations of the illustrated flow presented below are intended to be illustrative.
  • the process 500 may be completed by one or more additional operations not described and / or omitting one or more of the operations discussed.
  • the arrangement of operations in the flow shown in FIG. 5b and described below is not limitative.
  • the blockchain network 110 may include multiple nodes 210. Each of the plurality of nodes 210 may be configured to communicate with every other node of the blockchain network 110.
  • the client 240 associated with the network element of the energy network may be connected to and / or communicate with the blockchain network 110. For example, the client 240 may connect to and communicate with one or more nodes of the plurality of nodes 210.
  • the blockchain network 110 may receive multiple energy transactions initiated by multiple clients 240.
  • step 502 may be implemented by the receiving module 512.
  • the blockchain network 110 may receive an energy transaction from each client 240 of the plurality of clients 240 separately.
  • Each client 240 of the plurality of clients 240 may have a communication connection with the blockchain network 110.
  • each client 240 of the plurality of clients 240 may be associated with a network element (eg, energy provider, energy consumer, and / or energy storage device) registered in the transaction system.
  • Users associated with network elements such as administrators of network elements, can initiate energy transactions via client 240.
  • a user may use a client application installed on the client 240 to send a transaction proposal to the blockchain network 110.
  • the blockchain network 110 may endorse the transaction proposal and send it to the client 240.
  • the client 240 may generate a transaction based on the endorsement result and send it to the blockchain 110.
  • the energy transaction sent by the client 240 may be for one or more types of electric energy, solar energy, wind energy, fuel energy, water energy, nuclear energy, ocean energy, sea salt difference energy, biomass energy, etc. Energy trading.
  • the energy transactions sent by different clients 240 may be transactions of the same type or different types of energy.
  • the multiple energy transactions may be received by the blockchain network 110 at or near the same time.
  • the blockchain network 110 receives two or more energy transactions within a preset time interval, it can be considered that the blockchain network 110 receives the two or more energy transactions at approximately the same time.
  • the preset time interval may be automatically set by the trading system 100 or manually set by a user of the trading system 100.
  • the preset time interval may be half a minute or one minute, and the blockchain network considers all energy transactions received within the preset time interval to be received at almost the same time.
  • the blockchain network 110 can also obtain the concurrency of the multiple energy transactions.
  • the concurrency degree can measure the amount of transaction tasks that the transaction system 100 needs to process simultaneously. The higher the degree of concurrency, the greater the number of transaction tasks that the system needs to process simultaneously.
  • the concurrency of multiple energy transactions can be measured by the number of the multiple energy transactions. The greater the number of energy transactions that the blockchain network receives at or near the same time, the greater the concurrency of the multiple energy transactions, and the more transaction tasks the blockchain network 110 needs to process simultaneously.
  • multiple sets of nodes may be determined from multiple nodes 210 of the blockchain network 110.
  • the step 504 may be implemented by the node group determination module 514.
  • each group of nodes in the plurality of groups of nodes may correspond to one of the plurality of energy transactions to process its corresponding energy transaction.
  • each group of nodes may include nodes that process various tasks (such as receiving transaction proposals, generating transactions, sending transactions, verifying transactions, etc.), and the nodes in each group of nodes may divide and cooperate to complete various steps in an energy transaction.
  • each group of nodes in a plurality of groups of nodes can process one energy transaction among a plurality of energy transactions.
  • the group of nodes when a group of nodes processes their corresponding energy transactions, if at least two sub-steps of the energy transaction can be performed in parallel, the group of nodes can process the sub-steps that can be performed in parallel in parallel .
  • each group of different nodes may contain the same or different node types, and the trading system 100 may configure corresponding node groups according to the types and requirements of energy transactions.
  • the transaction system 100 may configure node groups containing different numbers of nodes for transactions of different energy sources (such as electricity, gasoline, and natural gas).
  • the blockchain network 110 may also determine the multiple sets of nodes based on the concurrency of multiple energy transactions. For example, if the concurrency is 10 and the total number of node groups is 80, the blockchain network 110 can allocate at least 10 groups of nodes to complete multiple energy transactions. For another example, when the concurrency is 100 and the total number of node groups is 80, the blockchain network 110 can only allocate up to 80 groups of nodes to process energy transactions. Transactions that can be processed simultaneously in the future need to wait for the previous transaction to complete before processing . In some embodiments, the blockchain network 110 may also determine the number of multiple groups of nodes based on the transaction time.
  • the blockchain network 110 can adjust the number of multiple groups of nodes to a smaller value; When the transaction time is from 9:00 am to 22:00 pm (transactions in this period are more frequent), the blockchain network 110 can adjust the number of multiple groups of nodes to a larger value.
  • the blockchain network 110 may include multiple preset node groups. When the blockchain network receives the multiple energy transactions, it may select corresponding multiple groups of nodes from multiple preset node groups to process the multiple energy transactions.
  • the blockchain network 110 may perform parallel processing on the multiple energy transactions based on the multiple sets of nodes to generate multiple parallel processing results.
  • step 506 may be implemented by the parallel processing control module 516. Among them, if at least a part of two transactions are processed by the blockchain network 110 at the same time or nearly at the same time, it can be considered that the two transactions are processed in parallel by the blockchain network 110.
  • the blockchain network 110 may separately send multiple energy transactions to a group of nodes among the multiple groups of nodes, and the group of nodes will then process the energy transactions it receives and generate processing results.
  • the processing results generated by the multiple groups of nodes may be referred to as parallel processing results.
  • the blockchain network 110 may randomly send multiple energy transactions to a group of nodes among multiple nodes.
  • the blockchain network 110 may separately send multiple energy transactions to a group of nodes among multiple groups of nodes based on a specific distribution strategy. For example, each group of nodes corresponds to a different transaction type (for example, different energy type transactions).
  • each group of nodes corresponds to a different transaction type (for example, different energy type transactions).
  • energy transactions may also be distributed according to other mapping relationships.
  • parallel processing may include at least one of multi-thread processing, thread pool processing, coroutine processing, and the like.
  • the blockchain network 110 may distribute the received multiple energy transactions to multiple threads, and each thread configures a group of nodes to complete multiple energy transactions.
  • the blockchain network 110 may also process multiple energy transactions in parallel based on thread pools and coroutines.
  • the thread pool is a form of multi-threaded processing, adding tasks to the queue during processing, and then automatically starting these tasks after creating threads; the effect of coroutines is similar to multi-threading, coroutines run on the same thread, However, there is no context switching for coroutines, and the scheduling of coroutines needs to be controlled by developers themselves.
  • parallel processing may be done on a parallel algorithm based on.
  • Exemplary parallel algorithms may include at least one of a division method, a divide and conquer method, a balanced tree method, a multiplication method, a pointer jump method, a pipeline method, and the like.
  • multiple energy transactions can also be processed in parallel according to other parallel algorithms.
  • the blockchain network 110 may send each of the parallel processing results to the corresponding client.
  • step 508 may be implemented by the sending module 518.
  • the blockchain network 110 may also store multiple parallel processing results in the memory 230 for query use.
  • the blockchain network may send the parallel processing result to the client through the network 220.
  • the process 600 may be executed by the transaction system 100.
  • the process 600 may be implemented as a set of instructions (eg, application programs) stored in a storage device (eg, the storage device / storage device 230 of the node 210).
  • One or more elements in the trading system 100 may execute the set of instructions, and when the instructions are executed, one or more elements in the trading system 100 may be configured to perform the process 600.
  • the operations of the illustrated flow presented below are intended to be illustrative.
  • the process 600 may be completed by one or more additional operations not described and / or omitting one or more of the operations discussed.
  • the arrangement of operations in the flow shown in FIG. 6 and described below is not limitative.
  • At least one node may receive an energy transaction proposal from the corresponding client 240.
  • the transaction proposal may be a transaction proposal for buying and selling energy in the transaction system 100.
  • the transaction proposal may be sent via the client 240 by the user associated with the network element.
  • a user may use a client application installed on the client 240 to send a transaction proposal.
  • the client application can use the SDK (eg Node SDK ⁇ Java SDK or Python SDK) and utilize the API to generate transaction proposals.
  • the client application can use the user's encrypted credentials to generate a digital signature.
  • the transaction proposal may include the user ID of the client 240, the user's digital signature, time stamp, the ID of the smart contract corresponding to the transaction proposal, the type of energy to be traded, and the amount of energy to be traded At least one of trading methods, trading prices of energy, etc. or any combination thereof.
  • At least one node may endorse the transaction proposal according to a smart contract to produce an endorsement result.
  • each node can endorse the transaction proposal by first verifying the transaction proposal. For example, each node may verify that the transaction proposal is complete and / or that the transaction proposal has not been submitted in the past. Additionally or alternatively, each node can verify that the digital signature of the transaction proposal is valid, and the submitter of the transaction proposal is properly authorized to submit the transaction proposal. After verifying the transaction proposal, each node can use the transaction proposal to simulate the execution of a smart contract to generate a transaction result. Each node can endorse the transaction result along with its digital signature.
  • the node that receives and endorses the transaction proposal may be any node of the blockchain network 110.
  • a node that receives and endorses transaction proposals may also be referred to as an endorser.
  • the node 210 may be selected according to the endorsement strategy.
  • the endorsement strategy may define one or more nodes 210 that need to endorse a specific type of transaction proposal. Additionally or alternatively, the endorsement strategy may define the requirements for effective endorsement of the transaction proposal. For example, the endorsement strategy may require that the transaction endorsement of a node is effective unless the minimum number or percentage of nodes, or all nodes endorse the transaction proposal.
  • an exemplary endorsement strategy may define that nodes A, B, and C need to propose endorsement for power transactions. Additionally or alternatively, the exemplary endorsement strategy may define that the endorsement of the transaction proposal is valid only when at least two of A, B, and C endorse the transaction proposal.
  • Smart contracts refer to automatically executed contracts that encode energy trading rules.
  • a smart contract may include the terms of an agreement between two parties regarding an energy transaction.
  • each node 210 of the nodes may store a smart contract.
  • the smart contract may also be stored in the storage device 230.
  • each node may endorse the transaction proposal according to the smart contract associated with the transaction proposal.
  • the transaction proposal may define the ID of the smart contract to be executed, and the node may execute the endorsement based on the defined smart contract.
  • the node may perform endorsement based on a smart contract signed by a user (eg, a manager of the corresponding network element) associated with the client 240.
  • smart contracts may be of various types, such as custom smart contracts, prefabricated smart contracts, open smart contracts, long-term smart contracts, short-term smart contracts, and so on.
  • At least one node in the multiple groups of nodes may transmit the endorsement result to the corresponding client.
  • at least one node in the plurality of groups of nodes may endorse the transaction result along with its digital signature.
  • the endorsement result may be transmitted to the corresponding client through at least one node of multiple groups of nodes through the network 220. For example, the endorsement result of the energy transaction initiated by the client 240-1 processed by the node group docker 810 will be transmitted to the client 240-1 by at least one node in the docker 810.
  • the blockchain network 110 may receive the energy transaction generated by the corresponding client based on the endorsement result.
  • the client 240 may generate a transaction based on the received endorsement result. In some embodiments, the client 240 only generates a transaction when or after it receives an endorsement result from an "enough" node. As used herein, if the client 240 receives endorsement results from a predetermined number of nodes, it may determine that it has received endorsement results from "enough" nodes. In some embodiments, a predetermined number of nodes may be specified by the requirements for effective endorsement in the endorsement strategy described in operation 604. For example, the endorsement strategy may define that as long as two of the three nodes E0, E1, and E2 transmit the endorsement result to the client 240, the endorsement of the transaction proposal is valid.
  • the client 240 can generate a transaction once it receives two endorsement results from E0, E1, and E2. In some embodiments, if the client 240 fails to receive an "enough" endorsement result, the transaction proposal may be discarded, and the user may need to initiate a new transaction proposal.
  • step 604 a storage step may be added for storing the endorsement result in the storage device 230.
  • the process 700 may be performed by the energy network trading system 100.
  • the process 700 may be implemented as a set of instructions or programs stored in a storage device (eg, the storage device in the node 210 and / or the storage device 230).
  • a storage device eg, the storage device in the node 210 and / or the storage device 230.
  • the process 700 may be implemented.
  • the operations of the illustrated flow presented below are intended to be illustrative. In some embodiments, the process 700 may be completed by one or more additional operations not described and / or omitting one or more of the operations discussed.
  • one or more steps in process 700 may be performed to implement or partially implement step 506 in process 500.
  • multiple sets of nodes in the blockchain network 110 can process multiple energy transactions in parallel.
  • a process 700 for processing a single energy transaction may be performed.
  • this article takes the blockchain 110 as an example to describe the execution process of the process 700. It should be understood that this is not intended to limit the scope of the present application, and the process 700 may be performed by a part of the blockchain 110, such as a group or a node.
  • the blockchain network 110 may obtain multiple sub-steps in at least one energy transaction.
  • the energy transaction may include multiple sub-steps.
  • a single energy transaction process may include at least the following steps: the buyer initiates a transaction to select the type of energy and the number of purchases, the blockchain network 110 processes the transaction, the transaction pays, and the transaction is completed.
  • the transaction payment may also include multiple second-level sub-steps, for example, step 1 needs to check whether the account balance is sufficient; step 2 needs to check whether the network status is good; step 3 checks whether the seller's account status is normal, etc.
  • the energy transaction process may further include: the client 240 generates a transaction and sends it to the blockchain network 110, the blockchain network 110 sorts the transactions and generates blocks, and the blockchain network 110 pairs the zone The sub-steps such as verification of transactions in the block.
  • the sub-step of the client generating the transaction may also include multiple secondary sub-steps, for example: the node generates an endorsement result according to the smart contract endorsement transaction proposal, and sends the endorsement result to the client, and the client based on the received endorsement result Generate transactions, etc.
  • the sub-steps of verifying all transactions can also include multiple second-level sub-steps, for example: the node can verify that the corresponding transaction proposal of the transaction has been endorsed consistently by the required node in accordance with the smart contract; the node can perform a ledger consistency check to Verify that the current state of the ledger is compatible with the state of the ledger when the block is generated; if the node determines that the endorsement strategy of the transaction has been satisfied and the current state of the ledger is compatible with the state of the ledger when the block is generated, the node can generate a transaction is valid Verification result; in response to the transaction being a valid verification result, the node can update the ledger by writing the transaction to the ledger; if the node determines that the transaction ’s endorsement strategy has not been satisfied or the current state of the ledger is incompatible with the ledger state at the time of generating the block, then The node can determine that the transaction is invalid, etc.
  • the sub-steps of different types of energy trading may be the same or similar.
  • the sub-steps may be the same, including sub-steps of transaction generation, transaction sending to blockchain network 110, transaction sequencing, and transaction verification.
  • the blockchain network 110 may determine that at least two of the plurality of sub-steps may be performed in parallel.
  • the sub-steps that can be performed in parallel refer to steps that can be performed simultaneously without affecting each other.
  • the buyer's confirmation of the account balance and the buyer's selection of the seller's account in a single energy transaction process can be performed simultaneously.
  • the first step is to check whether the account balance is sufficient and the third step is to check whether the seller's account status is normal, or it can be done at the same time.
  • the sub-step node in the energy transaction process may sequence one or more transactions and verify all transactions, which may be performed simultaneously.
  • the secondary sub-steps of the sub-steps of verifying all transactions can also be performed at the same time.
  • the blockchain network 110 can traverse all energy transaction processes and all its sub-steps and determine all sub-steps that can be performed in parallel for subsequent processing.
  • the blockchain network 110 may analyze all sub-steps in all energy transaction processes and classify these sub-steps. For example, the sub-steps can be classified based on whether they need to be executed in sequence; the sub-steps that can be performed in parallel are classified into one category, and the sub-steps that need to be performed in sequence are respectively classified into one category.
  • the classification results of the sub-steps in the energy trading process may be stored in a storage device (eg, storage device 230) of the energy trading system 100 in the form of a classification table, for example.
  • the blockchain network 110 may obtain the classification result of the sub-steps from the storage device to determine the sub-steps that can be performed in parallel in the sub-steps.
  • the blockchain network 110 may perform parallel processing on the at least two sub-steps that may be performed in parallel.
  • the blockchain network 110 may distribute two steps that can be processed in parallel to two nodes to process the tasks simultaneously.
  • the blockchain network 110 may allocate tasks corresponding to sub-steps that can be processed in parallel to different threads of the same node for processing separately.
  • the blockchain network 110 may process sub-steps such as buyer confirmation account balance and buyer selection seller account in parallel.
  • the blockchain network 110 can also process the first step (checking whether the account balance is sufficient) and the third step (checking whether the seller's account status is normal) of the second-level sub-step of buyer payment.
  • the blockchain network 110 may parallel process sub-steps in transaction verification, including verifying that the corresponding transaction proposal of the transaction has been consistently endorsed by the required node according to the smart contract and verifying the consistency of the ledger.
  • the blockchain network 110 may analyze the parallel processing results and perform further judgment and processing based on the analysis results. For example, the blockchain network 110 may send the parallel processing results of the first step of the buyer's payment (checking whether the account balance is sufficient) and the third step (checking whether the seller's account status is normal) to the transaction system 100, and the transaction system 100 determines the next operation (for example, if the balance is insufficient or the seller's account is abnormal, the system may terminate the continuation of the transaction).
  • a storage step may be added between step 702 and step 704 to store multiple acquired sub-steps.
  • step 702 and step 704 can be combined to complete the functions of acquiring substeps and determining substeps that can be performed in parallel.
  • the parallel processing module 800 may be a module with parallel processing function in the blockchain network 110.
  • the parallel processing module 800 may include one or more cloud containers docker (referred to as docker for short), such as docker 810, etc. These dockers may process multiple energy transactions received by the energy transaction system 100 in parallel. Docker is an open platform designed for developers and system administrators to publish and run distributed applications, allowing developers to package their applications and dependent packages into a portable container, and then publish to any popular It can also be virtualized on Linux machines. Each docker can finish processing one service, and one computer can run multiple dockers at the same time.
  • each docker may be used to implement a group of nodes in the blockchain network 110, and the group of nodes may include one or more nodes P.
  • docker 810 contains P 0 , P 1 , P 2 and P 3 .
  • the one or more nodes P respectively perform different functions in the energy trading process to implement various steps and sub-steps in the energy trading process.
  • the parallel processing module 800 can receive multiple energy transactions initiated from multiple clients 240 (eg, client 240-1, client 240-2, client 240-3, etc.), and through multiple docker pairs set in parallel The multiple energy transactions are processed in parallel, where each docker can correspond to at least one group of nodes, and each group of nodes can process one transaction.
  • the content of the client 240 is as the content of the client 240 described in FIG. 1 and will not be repeated here.
  • one or more nodes P in the docker may be configured to analyze and / or manage information related to the energy trading system 100 to provide various services, such as contract management, transaction settlement, and energy demand forecasting , Energy efficiency analysis, energy distribution, user management, information release, transaction monitoring, marketing analysis, etc. or any combination thereof.
  • one or more nodes P may provide user management services, such as user registration, user authentication, user information update, user account monitoring, user account suspension, etc., or any combination thereof.
  • one or more nodes P may provide contract management services, such as contract creation, contract execution, contract query, contract confirmation, contract cancellation, etc., or any combination thereof.
  • a user associated with a network element may send a request for a specific service to one or more nodes P via the client 240.
  • one or more nodes P may execute the request and send the execution result to the client 240 in order to provide the requested service to the user.
  • one or more nodes P in the docker may perform different functions in the energy transaction process to complete a complete energy transaction.
  • node P 0 can manage membership in the network (eg, CA node).
  • the node P 1 may implement receiving an offer for energy transaction from the client 240, and may endorse the transaction proposal according to the smart contract to generate an endorsement result (eg, endorser node).
  • Node P 2 can check transaction requests, verify endorsement and transaction results, and execute transactions, maintain blockchain and ledger structure, etc.
  • each node P will collaborate with each other, and may receive the result generated by the previous node for processing by this node, and finally cooperate to complete a complete energy transaction process.
  • node P 0 After the result of node P 0 is generated, it can be sent to node P 1.
  • Node P 1 generates a new processing result based on the result of node P 0 and sends it to P 2 , and so on, until all transaction processes have been completed.
  • multiple nodes in a docker can also process multiple sub-steps in an energy transaction in parallel.
  • nodes P 1 and P 2 can process two sub-steps in energy trading in parallel. This content will be described in further detail in FIG. 9.
  • the parallel processing module 800 may include one or more dockers, such as docker 810, docker 820, docker 830, and the like.
  • the one docker can process a complete energy transaction, and multiple dockers can process multiple complete energy transactions in parallel to improve the efficiency of the energy transaction.
  • Docker 820 and docker 830 can have the same or different structure as docker 810. For example, the number of nodes included in docker 820 may be the same as or different from docker 810.
  • the functions of the docker can also be implemented using the functions of the microservice architecture.
  • the basic idea of microservices is to consider creating applications around business domain components, which can be independently developed, managed, and accelerated.
  • the use of microservices cloud architectures and platforms in decentralized components makes deployment, management, and service function delivery easier.
  • each node P can be independently deployed to complete its own tasks, and communicate and cooperate with other nodes P through the microservice architecture to achieve a complete service, such as energy trading services.
  • the docker 810 can be regarded as a parallel processing sub-module of the processing module 800.
  • the docker 810 may include one or more nodes P, such as P 0 , P 1 , P 2 , P 3, and P 4 .
  • the one or more nodes P respectively perform different functions in the energy trading process to realize each sub-step in the energy trading process.
  • one or more nodes P in the docker may be configured to analyze and / or manage information related to the energy trading system 100 to provide various services.
  • the function of the node P is the same as the function of the node P described in FIG. 8 and will not be repeated here.
  • docker 810 can receive a single energy transaction of client 240 and complete the entire process of a single energy transaction in one docker.
  • multiple nodes P 0 , P 1 , P 2 , P 3, and P 4 in docker 810 can complete various steps in a single energy transaction process, and can cooperate with each other to complete the complete energy transaction process.
  • docker 810 may obtain multiple sub-steps in a single energy transaction, and the multiple sub-steps are respectively completed by multiple nodes P. And docker 810 can analyze and process the multiple sub-steps, and determine at least two of the steps that can be performed in parallel, that is, at least two nodes P can perform their respective functions in parallel.
  • the node P 0 After completing the verification of the normal status of the transaction network, the node P 0 sends the received transaction information to the node P 1 and the node P 2 respectively, and simultaneously executes their respective functions and performs their operations in parallel.
  • node P 1 can verify the status of the buyer's trading account
  • node P 2 can verify the status of the seller's trading account.
  • the node P 3 can execute the buyer's order placing operation; in response to the verification result of the node P 2 , the node P 4 can execute the seller's stocking operation, etc.
  • the parallel processing sub-module may aggregate the results of the parallel processing steps or sub-steps, and then send the aggregated parallel processing results to the next node or feed back to the system.
  • the parallel processing sub-module may summarize the parallel processing results of the node P 3 and the node P 4 and send them to the next node together for the next processing, or directly feed back the results to the trading system 100.
  • the docker 810 may further summarize the parallel processing results of the sub-steps of each node P, and feed back the parallel processing results to the node P to implement the function of the node P.
  • this application uses specific words to describe the embodiments of this application.
  • the terms “one embodiment”, “some embodiments”, and / or “some embodiments” mean that a particular feature, structure, or characteristic described in connection with some embodiments is included in at least one embodiment of the present application. Therefore, it should be emphasized and noted that “one embodiment” or “one embodiment” or “an alternative embodiment” mentioned twice or more at different positions in this specification does not necessarily refer to the same embodiment .
  • certain features, structures, or characteristics in one or more embodiments of the present application may be combined as appropriate.
  • the computer-readable signal medium may contain a propagated data signal containing a computer program code, for example, on baseband or as part of a carrier wave. This propagated signal can take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination thereof.
  • the computer-readable signal medium may be any computer-readable medium except the computer-readable storage medium, and the medium may be connected to an instruction execution system, apparatus, or device to communicate, propagate, or transmit a program for use.
  • Program code located on a computer-readable signal medium may be propagated through any suitable medium, including radio, cable, fiber-optic cable, RF, or similar media, or any combination of the foregoing.
  • the computer program code required for the operation of various aspects of this application can be written in any combination of one or more programming languages, including object-oriented programming, such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C ++, C #, VB. NET, Python or similar conventional procedural programming languages, such as "C" programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages such as Python, Ruby, Groovy or other programming languages.
  • the program code may run entirely on the user's computer, or as an independent software package on the user's computer, or partly on the user's computer, partly on a remote computer, or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any network, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (eg, via the Internet), or in a cloud computing environment, or as a service Use as software as a service (SaaS).
  • LAN local area network
  • WAN wide area network
  • SaaS software as a service

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请披露了一种能源交易方法,该方法包括接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联;响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。该方法能够有效地提高能源交易的处理效率。

Description

区块链能源交易平台中的交易任务并行处理的方法与系统 技术领域
本申请一般涉及用于区块链能源交易平台,并且具体地涉及区块链能源交易平台中的交易任务并行处理的方法和系统。
背景技术
能源供应的可靠性和充分性对社会的发展至关重要。传统的能源分配由中央系统(例如,国家电网)控制。例如,燃煤电厂、燃气电厂、核电厂和水电站坝等传统发电厂是集中式的,且通常需要将电能长距离传输,可能导致浪费资源。近年来出现了由多个网络单元(如能源供应商、能源消费者和/或能源存储)组成的分布式网络,为能源分配和管理提供了一种更有效的方式。在能量网络中,能量可以在不同的网络元素之间进行交换和/或交换。
区块链是一种维持不断增长的交易记录的技术,能保证交易记录得到可靠的保存。目前已经出现基于区块链技术的能源交易平台,用以处理与关于能源网络中的能源交易。然而在现有的区块链能源交易平台中,通常以单线程的方式处理交易任务,可能会导致区块链能源交易平台的运行效率较低,在能源调度和/或交易等过程中会发生阻塞。因此需要一种对交易任务进行并行处理的方法,以提高区块链交易平台的运行效率。
发明内容
根据本申请的一个方面,一种能源交易系统可以包括一种能源交易系统,包括区块链网络,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信。其中,所述区块链网络可以接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与所述区块链网络具有通信连接,且所述多个客户端中的每一个客户端与所述能源交易系统中注册的网络元素相关联;响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
根据本申请的一个方面,一种基于区块链的能源交易方法,包括接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区 块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
根据本申请的一个方面,一个非短暂性的计算机可读存储介质,存储有计算机指令,当一个或多个处理器执行所述计算机指令时,所述一个或多个处理器可以执行如下操作。所述一个或多个处理器可以接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信。所述一个或多个处理器可以响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点;所述多组节点中的每组节点对应所述多个能源交易中一个能源交易。所述一个或多个处理器可以基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果。以及所述一个或多个处理器可以将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
在一些实施例中,对于所述接收到的多个能源交易中的至少一个能源交易,所述区块链网络可以进一步从对应的客户端接收能源交易提议;根据智能合约对所述交易提议背书以产生背书结果;将所述背书结果传送至所述对应的客户端;以及接收所述对应的客户端基于所述背书结果而生成的能源交易。
在一些实施例中,所述响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述区块链网络可以进一步获取所述多个能源交易的并发度;以及基于所述多个能源交易的并发度,确定所述多组节点。
在一些实施例中,所述并行处理包括多线程处理、线程池处理和协程处理中的至少一个。
在一些实施例中,所述并行处理基于并行算法来实现,所述并行算法包括划分法、分治法、平衡树法、倍增法、指针跳跃法和流水线法中的至少一个。
在一些实施例中,对于所述多个能源交易中的至少一个能源交易,所述区块链网络可以进一步获取所述至少一个能源交易的多个子步骤;确定所述多个子步骤中至少 两个可以并行进行的子步骤;以及对所述至少两个可以并行进行的子步骤进行并行处理。
在一些实施例中,所述区块链的多个节点中的至少一个节点基于云容器docker或微服务中的至少一个实现。
在一些实施例中,所述能源包括电能源、太阳能源、风能源、燃料能源、水能源或核能源中的至少一种。
根据本申请的另一个方面,一个能源交易装置,包括计算机程序,当所述程序被执行时,所述装置可以执行如下操作。所述装置可以接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点;所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
根据本申请的一个方面,一种能源交易系统可以包括一种能源交易系统,包括接收模块,用于接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;节点组确定模块,用于响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;并行处理控制模块,用于基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及发送模块,用于将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
另外的特征将在接下来的描述中部分地阐述,并且对于本领域技术人员在查阅下文和附图时将部分地变得显而易见,或者可以通过示例的生产或操作而被学习。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将结合示例性实施例进一步进行描述。这些示例性的实施例将结合参考 图示进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的组件符号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的示例性能源网络交易系统的示意图;
图2是根据本申请的一些实施例所示的示例性区块链网络的示意图;
图3是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;
图5a是根据本申请的一些实施例所示的并行处理多个能源交易的示例性模块图;
图5b是根据本申请的一些实施例所示的并行处理多个能源交易的示例性流程的流程图;
图6是根据本申请的一些实施例所示的接收客户端发起的能源交易的示例性流程的流程图;
图7是根据本申请的一些实施例所示的并行处理单个能源交易中的多个步骤的示例性流程的流程图;
图8是根据本申请的一些实施例所示的并行处理模块的示意图;以及
图9是根据本申请的一些实施例所示的一个云容器docker的模块示意图;
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的一些实施例,而是与权利要求一致的最宽范围。
本文中所使用的术语仅用于描述特定示例性实施例,并不限制本申请的范围。如本文使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
根据以下对附图的描述,本申请的这些和其他的特征、特点、以及结构的相关元件的功能和操作方法,以及部件组合和制造经济更加显而易见,这些都构成说明书的一部分。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例的。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,流程图的操作不一定按照顺序来精确地执行。相反,可以按照倒序执行或同时处理各种步骤。此外,可以向流程图添加一个或以上其他操作。一个或以上操作也可以从流程图中删除。
图1是根据本申请的一些实施例所示的示例性能源网络交易系统100的示意图。能源网络交易系统100(在下文中也简称为交易系统100)可以用作能源交易平台,它可以基于区块链网络110在能源网络中实现节点到节点交易。在一些实施例中,交易系统100还可以用作智能的通信和管理平台,其可以提供诸如合同管理、交易结算、能源需求预测、能效分析、能源分配、用户管理、信息发布、交易监控、营销分析等服务,或所述服务的任何组合。
能源网络可以是包括一个或以上网络元素的分布式能源网络。如本文所使用的,网络元素可以指代可以参与能源交换和/或交易的实体。在能源网络内交换和/或交易的能源可包括任何类型的能源,例如电能、太阳能、风能、燃料能源(例如、燃气、汽油或煤)、水能、核能、海洋能、海水盐差能、生物质能等或其任何组合。
能源网络中的示例性网络元素可包括能源提供方、能源消费方、能源存储设备、能源中介方等或其任何组合。能源提供方可包括能够提供能源的任何实体。示例性能源提供方可包括风力发电厂、光伏装置、光伏电站、核电站、水能装置、火力发电厂、海洋能源发电厂、海水盐差能发电厂、生物质能发电厂等或其任何组合。能源消费方可包括可消耗能源的任何实体。示例性能源消费方可包括建筑物(例如,住宅建筑、商业建筑、工业建筑)、机构、电气设备(例如,膝上型电脑、智能电话、电动汽车)等或其任何组合。能源存储设备可包括能够存储能源的任何实体。示例性能源存储设备可包括抽水能源存储设备、压缩空气能源存储设备、超导磁能源存储设备、电池/可充电电池、热能源存储设备、氢能源存储设备、飞轮能源存储设备等或其任何组合。仅作为示例,如图1所示,能源网络的网络元素可包括建筑物120、储能系统130、火力发电厂140、太阳能光伏装置150和电动汽车160。
在一些实施例中,网络元素可以与多种类型的设备相关联,例如能源供应设备、能源消耗设备和能源存储设备。在这种情况下,网络元素可以同时是能源提供方、能源消费方和/或能源存储设备。例如,包括多个电气设备和光伏设备的建筑物120不仅可以消耗电力而且还可以产生电力。又例如,太阳能光伏装置150可以供应能源,同时也包括用于存储太阳能的太阳能池。在一些实施例中,网络元素和与之相关联的设备一起可以作为一个网络元素。附加地或替代地,与网络元素相关联的设备可以作为独立的网络元素,参与交易系统100中的能源交换和/或交易。仅作为示例,建筑物120及其中的设备可以被视为网络元素建筑物120。附加地或替代地,建筑物120的光伏设备可以作为独立的网络元素。
在一些实施例中,能源网络的两个或以上网络元素可以彼此连接以交换能源。仅作为示例,储能系统130、火力发电厂140和/或太阳能光伏装置150可以向建筑物120和电动汽车160供电。又例如,储能系统130可以从一个或以上其他网络元素获得能源并存储能源。再例如,建筑物120、火力发电厂140和太阳能光伏装置150可以从储能系统130获得能源或向储能系统130提供能源。
区块链网络110可以被配置用于处理和/或存储交易系统100中发生的能源交易。如本文所使用的,能源交易可以指任何成功的或失败的能源交易。所述能源交易可以由能源网络中的任何网络元素发起。例如,能源交易可以是由能源消费方发起的能源购买交易或由能源提供方发起的能源销售交易。
区块链网络110可以利用去中心的、分布式的和公共的数字账本,来维持不断增长的交易记录列表。区块链网络110可以保证交易记录可以以可验证和永久的方式存储,并且不能被追溯地修改。区块链网络110可以是任何类型的区块链网络,例如公有区块链网络、私有区块链网络、半私有区块链网络、联盟链等或其任何组合。在一些实施例中,区块链网络110可以是联盟链。在联盟链中,共识过程由预先选择的一组节点控制,读取区块链的权利可以是公开的或限于所述预先选择的一组节点。在一些实施例中,区块链网络110可以基于Hyper ledger fabric区块链构建。区块链网络110可以包括多个节点,其可以被分配有不同的功能,诸如数据存储、交易认可、智能合约执行、交易验证、数据分析等或者任何组合。
在运行时,区块链网络110可以允许与网络元素(例如,能源提供方和/或能源消费方)相关联的用户向另一网络元素销售能源和/或从另一网络元素购买能源。网络 元素的用户可以通过客户端(图1中未示出)发起交易来与区块链网络110交互。响应于交易,区块链网络110可以根据智能合约对交易进行验证,如果该交易是有效,将交易存储到用锁(也称为“哈希”)密封的区块中。
应当注意的是,以上对交易系统100的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。在一些实施例中,可以在交易系统100中添加一个或以上任选的组件,或者可以省略上述交易系统100的一个或以上组件。例如,可以省略电动汽车160。在一些实施例中,能源网络可以与外部能源(例如,国家电网、另一能源网络)交换能源。
图2是根据本申请的一些实施例所示的示例性区块链网络110的示意图。如结合图1所描述的,区块链网络110可以被配置用于处理和记录在交易系统100中发生的能源交易。
如图2所示,区块链网络110可以是多个节点210的去中心网络。节点210可以经由网络220彼此连接,而不是连接到中央服务器。如本文所使用的,节点210可以指计算单元,它能够执行在本身中所披露的节点210的一个或多个功能。节点210可以在任何类型的计算设备上实现。例如,节点210可以在诸如个人计算机、平板电脑、笔记本电脑、移动设备等计算设备或计算设备的一部分上实现。又例如,节点210可以在包含多个计算设备的计算系统上实现。在一些实施例中,节点210可以在如图3所示的计算设备300的一个或以上组件上实现。
在一些实施例中,多个节点210可以在区块链网络110中具有相同或不同的功能。仅作为示例,节点210可以包括peer、orderer和/或认证中心。Peer可以指维持账本和/或运行智能合约(也被称为链代码)以对账本执行读/写操作的节点210。账本可以用于存储区块链,以及可选地存储与交易系统100有关的其他信息(例如,世界状态信息)。智能合约可以指包含了能源交易的规则的可自动执行的合同。
在一些实施例中,多个节点210可以对多个能源交易进行并行处理。例如,多个节点210可以被分组,每组节点可以对多个能源交易进行并行处理;或者多个节点210可以将多个能源交易分配到多个线程中进行并行处理。又例如,多个节点210还可以对单个能源交易中的多个子步骤进行并行处理。
在一些实施例中,区块链网络110的一个或以上的节点210可以被配置用于分 析和/或管理与交易系统100相关的信息以提供多种服务,例如合同管理、交易结算、能源需求预测、能效分析、能源分配、用户管理、信息发布、交易监控、营销分析等或其任何组合。例如,节点210可以提供用户管理服务,诸如用户注册、用户认证、用户信息更新、用户账户监控、用户账户暂停等或其任何组合。又例如,节点210可以提供合同管理服务,例如合同创建、合同执行、合同查询、合同确认、合同取消等或其任何组合。在一些实施例中,与网络元素相关联的用户可以经由客户端240向节点210发送对特定服务的请求。响应于该请求,节点210可以执行该请求并将执行结果发送到客户端240,以向用户提供所请求的服务。
在一些实施例中,区块链网络110的节点210可以由维护交易系统100的实体(例如,组织、人)拥有和维护。或者,节点210可以由与能源网络的网络元素相关联的用户拥有和维护。
网络220可以促进信息和/或数据的交换。例如,区块链网络110的多个节点210可以经由网络220连接到彼此和/或彼此通信。又例如,区块链网络110的一个或以上节点210可以经由网络220连接到客户端240和/或与客户端240通信。在一些实施例中,网络220可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络220可以包括有线网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域区域网络(LAN)、广域网(WAN)、无线局部区域网络(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙网络、ZigBee网络,近场通信(NFC)网络等或其组合。在一些实施例中,网络220可以包括一个或多个网络接入点。例如,网络220可以包括有线或无线网络接入点,例如基站和/或互联网交换点220-1、220-2、......,交易系统100的一个或以上组件可以通过它们连接到网络220以交换数据和/或信息。
如图2所示,区块链网络110可以与客户端240和存储设备230进行通信连接。其中,存储设备230可以存储数据和/或指令。在一些实施例中,存储设备230可以存储从节点210和/或客户端240获得的数据。例如,存储设备230可以存储与交易系统100相关的信息,诸如用户信息、交易信息、政策信息、新闻信息等或其任何组合。又例如,存储设备230可以存储区块索引和键的历史索引。在一些实施例中,存储设备230可以存储区块链网络110可以执行或用于执行本申请中描述的示例性方法的数据和/或指令。
在一些实施例中,存储设备230可包括大容量存储器、可移除存储器、易失性 读写存储器、只读存储器(ROM)等或其组合。示例性的大容量储存器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的易失性只读存储器可以包括随机存取内存(RAM)。示例性的RAM可包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、闸流体RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电子可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用磁盘ROM等。在一些实施例中,所述存储设备230可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,交易系统100的一个或以上组件(例如,节点210和客户端240)可以访问存储设备230。在一些实施例中,当满足一个或以上条件时,交易系统100的一个或以上组件可以读取和/或写入与一个或以上交易有关的信息。例如,节点210可以读取和/或修改与存储设备230中存储的一个或以上交易有关的信息。又例如,客户端240可以访问存储设备230中存储的信息,但是不具有修改存储设备230中存储的信息的许可。
客户端240可以与能源网络的网络元素相关联,并且可以用于实现与网络元素相关联的用户与区块链网络110之间的用户交互。例如,客户端240可以与火力发电厂140相关联。火力发电厂140的管理员或员工可以经由客户端240发送交易提议给区块链网络110以将多余能源出售。又例如,客户端240可以与建筑物120相关联。建筑物120的居民可以经由客户端240发送交易提议给区块链网络110以购买能源。附加地或替代地,居民可以经由客户端240向区块链网络110提交预测他/她的下个月的能源需求的请求。
在一些实施例中,客户端240可以包括软件开发工具包(SDK)。SDK可以提供应用编程接口(API)以连接到区块链网络110,并且使客户端240能够与区块链网络110交互。例如,SDK可以将用户输入的交易提议打包成适当的架构格式和/或为该交易提议产生唯一签名(例如,数字签名)。在一些实施例中,客户端240可以安装客户端应用程序。客户端应用程序可以被设计为使客户端240的用户能够基于区块链网络110来交易和/或管理能源。例如,用户可以经由客户端应用向区块链网络110发送用于 能源的交易提议。又例如,用户可以在客户端应用上查看信息(例如,预测的能源需求、关于历史能源消耗的结算结果、能源效率的分析结果、警告信息)。客户端应用程序可以是移动应用程序、web应用程序、云应用程序、网站或用于能源交易的任何其他软件。
在一些实施例中,客户端240可以经由网络220连接到区块链网络110的一个或以上组件(例如,一个或多个节点210)或者与其通信。附加地或替代地,客户端240可以直接连接到区块链网络110的一个或以上组件。在一些实施例中,取决于用户的类型(例如,注册用户、VIP、访客),客户端240的不同用户可以具有不同的用户权限。例如,注册用户可以具有在区块链网络110上交易能源的权限并且读取与区块链网络110相关的交易信息。访问者可能仅具有阅读与区块链网络110相关的交易信息的权限。
在一些实施例中,客户端240可以被配置为加密和解密信息。例如,客户端240可以持有私钥和公钥。公钥可以是公共的,并且可以被交易系统100中的任何组件获取。私钥可以由交易系统100中的某个组件私下持有。当将消息发送到交易系统100的另一个组件时,客户端240可以使用其私钥对消息进行加密并对消息进行数字签名。当从交易系统100的另一组件接收消息时,客户端240可以使用另一个组件的公钥来解密该消息和/或验证消息。
在一些实施例中,客户端240可以包括移动设备240-1、平板电脑240-2、膝上型计算机240-3、内置设备240-4等或者组合它们。在一些实施例中,移动设备240-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋袜、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、POS机等或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强型虚拟现实头盔、增强型虚拟现实眼镜、增强型虚拟现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、RiftConTM、FragmentsTM、Gear VRTM等。
应当注意的是,图2中所示的示例及其描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做 出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。在一些实施例中,区块链网络110可包括任何数量的组件节点210。可以为节点210分配任何功能。在一些实施例中,可以省略存储设备230。
图3是根据本申请的一些实施例所示的计算设备300的示例性硬件和/或软件组件的示意图。计算设备300可用于实现如本文所述的交易系统100的任何组件。例如,区块链网络110的节点210和/或客户端240可以通过其硬件、软件程序、固件或其组合在计算设备300上实现。尽管仅示出了一个这样的计算设备,但是为了方便,与本文所述的能源交易系统100相关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负荷。
计算设备300可以包括连接到或与其连接网络的通信端口350,以促进数据通信。计算设备300还可以包括被配置为执行指令的处理器320。指令可以包括例如执行本文描述的特定功能的例程、程序、对象、组件、信号、数据结构、过程、模块和功能。在一些实施例中,处理器320可以处理与能源交易系统100中的交易能源有关的信息。例如,处理器320可以对多个能源交易进行并行处理。在一些实施例中,处理器320可以包括至少一个硬件处理器,例如微控制器、微处理器、简化指令集计算机(RISC)、应用专用集成电路(ASIC)、专用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机器(ARM)、可编程逻辑设备(PLD)、任何能够执行至少一个功能的电路或处理器等或其任意组合。
计算设备300还可以包括内部通信总线310、不同类型的程序存储和数据存储、包括例如盘330、只读存储器(ROM)330或随机存取存储器(RAM)340。示例性计算设备还可以包括存储在ROM 330、RAM 340和/或由处理器320执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备300还包括输入/输出组件360,其支持计算设备300与其他组件之间的输入/输出。计算装置300也可以通过网络通信接收程序设计和数据。
仅仅为了说明,图3中仅示出了一个处理器。然而,应该注意,本申请中的计算设备300还可以包括多个处理器。因此,由本申请中描述的由一个处理器执行的操作和/或方法操作也可以由多个处理器联合或单独执行。例如,如果在本申请中,计算设备300的处理器执行操作A和操作B,则应当理解,操作A和操作B也可以由计算中 的两个不同处理器联合或单独执行。计算设备300(例如,第一处理器执行操作A,第二处理器执行操作B,或者第一和第二处理器共同执行操作A和B)。
图4是根据本申请的一些实施例所示的移动设备400的示例性硬件和/或软件组件的示意图。移动设备400可用于实现如本文所述的交易系统100的任何组件。例如,区块链网络110的节点210和/或客户端240可以在移动设备400上实现。如图4所示,移动设备400可以包括通信平台410、显示器420、图形处理单元(GPU)430、中央处理单元(CPU)440、输入/输出450、内存460、存储器490。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备400内。
在一些实施例中,操作系统470(例如,iOS TM、Android TM、Windows Phone TM等)和一个或多个应用程序480可从储存器490装载至内存460,并通过CPU 440来执行。应用程序480可以包括浏览器或用于接收和呈现与能源交易系统100有关的信息的任何其他合适的移动应用程序。在一些实施例中,应用480可以包括如本公开中其他地方所描述(例如,图2和相关描述)的被设计用于能源交易的应用。用户与信息流的交互可以经由输入/输出450实现,并且经由网络提供给区块链网络110和/或交易系统100的其他组件。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述之一个或多个组件的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可用作服务器。
图5a根据本申请的一些实施例所示的处理能源交易的示例性流程的模块图。图5a包括接收模块512、节点确定模块514、并行处理控制模块516和发送模块518。图5a中的所有模块可以是区块链网络110或区块链网络110中的节点210中的各个模块。
在一些实施例中,接收模块512可以用于接收多个客户端发起的多个能源交易。所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联。在一些实施例中,节点组确定模块514可以用于响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易。在一些实施例中,并行处理控制模块516可以用于基于所述多组节点对所述多个能源交易进行并行 处理,以生成多个并行处理结果。在一些实施例中,发送模块518可以用于将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
应当理解,图5a所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。
需要注意的是,以上对于能源交易系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,图5a中披露的获取模块512与发送模块518可以是一个系统中的不同模块,也可以是一个模块,如接口模块,实现上述的两个或两个以上模块的功能。各个模块可以共用一个存储介质,各个模块也可以分别具有各自的存储介质。诸如此类的变形,均在本申请的保护范围之内。
图5b是根据本申请的一些实施例所示的处理能源交易的示例性流程的流程图。图5b与图5a对应,流程500的各个步骤可以由图5a中的各个模块实现。在一些实施例中,流程500可以由交易系统100执行。例如,流程500可以实现为存储设备(例如,节点210的存储设备和/或存储设备230)中存储的一组指令(例如,应用程序)。交易系统100中的一个或多个元件可以执行该组指令,并且当执行指令时,交易系统100中的一个或多个元件可以被配置用于执行流程500。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程500可以通过未描述的一个或多个以上附加操作和/或省略一个或以上所讨论的操作来完成。另外,其中如图5b所示和下面描述的流程的操作的排列不是限制性的。
如结合图2所述,区块链网络110可包括多个节点210。多个节点210中的每一个可以被配置用于与区块链网络110的每个其他节点通信。与能源网络的网络元素相关联的客户端240可以连接到区块链网络110和/或与区块链网络110通信。例如,客户端240可以连接到多个节点210中的一个或多个节点并与之通信。
在502中,区块链网络110可以接收多个客户端240发起的多个能源交易。在一些实施例中,步骤502可以由接收模块512实现。
在一些实施例中,区块链网络110可以分别从所述多个客户端240中的每个客 户端240接收一个能源交易。所述多个客户端240中的每一个客户端240可以与区块链网络110具有通信连接。在一些实施例中,所述多个客户端240的每一个客户端240可以与交易系统中注册的一网络元素(例如能源提供方、能源消费方和/或能源存储设备)相关联。与网络元素相关联的用户,诸如网络元素的管理者可以经由客户端240发起能源交易。例如,用户可以使用安装在客户端240上的客户端应用程序向区块链网络110发送交易提议。区块链网络110可以对所述交易提议进行背书并发送给客户端240。进一步地,客户端240可以基于所述背书结果生成交易,并发送给区块链110。在一些实施例中,客户端240发送的能源交易可以是针对电能、太阳能、风能、燃料能、水能、核能、海洋能、海水盐差能、生物质能等中的一种或多种类型的能源的交易。不同客户端240发送的能源交易可以是对相同类型或不同类型的能源的交易。
在一些实施例中,所述多个能源交易可以由区块链网络110在同一时刻或者近乎同一时刻接收。在本文中,如果区块链网络110在预设时间间隔内接收到两个及以上能源交易,则可以认为由区块链网络110在近乎同一时刻接收到所述两个及以上能源交易。所述预设时间间隔可以由交易系统100自动设定或者有交易系统100的用户手动设置。例如,所述预设时间间隔可以是半分钟或者一分钟,区块链网络将所述预设时间间隔内接收到的所有能源交易,看成是近乎在同一时刻接收到的。
在一些实施例中,区块链网络110还可以获取所述多个能源交易的并发度。所述并发度可以衡量交易系统100所需同时处理的交易任务量,并发度越高表示系统需要同时处理的交易任务的数量越多。在一些实施例中,多个能源交易的并发度可以由所述多个能源交易的数量来衡量。区块链网络在同一时间或近乎同一时间接收到的能源交易的数量越多,所述多个能源交易的并发度越大,区块链网络110需要同时处理的交易任务也越多。
在504中,响应于所述多个能源交易,可以从所述区块链网络110的多个节点210中确定多组节点。在一些实施例中,所述步骤504可以由节点组确定模块514实现。
在一些实施例中,所述多组节点中的每组节点可以分别对应多个能源交易中的一个能源交易,用于处理其对应的能源交易。例如,每组节点中可以包括处理各类任务(例如接收交易提议、生成交易、发送交易、验证交易等)的节点,每组节点中的节点可以分工合作以完成一个能源交易中的各个步骤。在一些实施例中,多组节点中的每组节点可以处理多个能源交易中的一个能源交易。在一些实施例中,在一组节点处理其对 应的能源交易时,如果所述能源交易的至少两个子步骤可以被并行进行,该组节点中可以对所述可以并行进行的子步骤进行并行处理。关于对能源交易的子步骤进行并行处理的细节可以在本申请的其他地方找到(例如,图7及其相关描述)。在一些实施例中,不同的每组节点可以包含相同或者不同的节点类型,交易系统100可以根据能源交易的类型和要求来配置相应的节点组。例如,交易系统100可以针对不同能源(如电力、汽油和天然气)的交易配置包含不同节点数的节点组。
在一些实施例中,区块链网络110还可以基于多个能源交易的并发度,确定所述多组节点。例如,并发度为10,且总节点组数为80,区块链网络110可以分配至少10组节点来完成多个能源交易。又例如,并发度为100,且总节点组数为80时,区块链网络110最多只能分配80组节点来处理能源交易,未来得及同时处理的交易需要等待之前的交易完成后再进行处理。的一些实施例中,区块链网络110还可以基于交易时间,确定多组节点的数量。例如,当交易时间在第一天下午22:00到第二天早上9:00时(该时间段的交易较少),区块链网络110可以调整多组节点的数量为较小的数值;当交易时间在上午9:00到下午22:00(该时间段的交易较为频繁)时,区块链网络110可以调整多组节点的数量为较大的数值。在一些实施例中,区块链网络110可以包括多个预设节点组。当区块链网络接收到所述多个能源交易时,可以从多组预设节点组中选取相应的多组节点来处理所述多个能源交易。
在506中,区块链网络110可以基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果。在一些实施例中,步骤506可以由并行处理控制模块516实现。其中,如果两个交易的至少一部分是同时或是近乎同时被区块链网络110处理的,可以认为所述两个交易被区块链网络110并行处理。在一些实施例中,区块链网络110可以将多个能源交易分别发送到多组节点中的一组节点,该组节点进而会对其接收到能源交易进行处理,并生成处理结果。所述多组节点各自生成的处理结果可以被称为是并行处理结果。
在一些实施例中,区块链网络110可以随机将多个能源交易分别发送给多个节点中一组节点。或者,区块链网络110可以基于特定的分发策略将多个能源交易分别发送给多组节点中一组节点。例如,每组节点对应不同的交易类型(例如,不同能源类型的交易),当区块链网络110接收到用户发起的能源交易时,可以根据每个能源交易请求的类型,将能源交易分发到相应的节点组。在其他实施例中,也可以是依据其他映射 关系对能源交易进行分发。
在一些实施例中,并行处理可以包括多线程处理、线程池处理和协程处理等中的至少一个。例如,区块链网络110可以将接收到的多个能源交易分配到多个线程中,每个线程配置一组节点,以完成多个能源交易。又例如,区块链网络110还可以基于线程池和协程来并行处理多个能源交易。其中,线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务;协程实现的效果和多线程类似,协程运行在同一个线程上,但是协程不存在上下文的切换,而协程的调度是需要开发者自己来控制的。在一些实施例中,并行处理可以基于的并行算法完成。示例性的并行算法可以包括划分法、分治法、平衡树法、倍增法、指针跳跃法和流水线法等中的至少一个。在其他实施例中,也可以依据其他并行算法对多个能源交易进行并行处理。
在508中,区块链网络110可以将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。在一些实施例中,步骤508可以由发送模块518实现。在一些实施例中,区块链网络110还可以将多个并行处理结果存储于存储器230中以供查询使用。在一些实施例中,区块链网络可以通过网络220将所述并行处理结果发送至客户端。
应当注意的是,以上对流程500的描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。
图6是根据本申请的一些实施例所示的接收客户端发起的能源交易的示例性流程的流程图。流程600可以由交易系统100执行。例如,流程600可以实现为存储设备(例如,节点210的存储设备/存储设备230)中存储的一组指令(例如,应用程序)。交易系统100中的一个或多个元件可以执行该组指令,并且当执行指令时,交易系统100中的一个或多个元件可以被配置用于执行流程600。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程600可以通过未描述的一个或多个以上附加操作和/或省略一个或以上所讨论的操作来完成。另外,其中如图6所示和下面描述的流程的操作的排列不是限制性的。
在602中,至少一个节点可以从对应的客户端240接收能源交易提议。交易提议可以是在交易系统100中买卖能源的交易提议。在一些实施例中,交易提议可以由与网络元素相关联的用户经由客户端240发送。例如,用户可以使用安装在客户端240 上的客户端应用程序来发送交易提议。在一些实施例中,客户端应用程序可以使用SDK(例如,Node SDK\Java SDK或Python SDK)并利用API来生成交易提议。可选地,客户端应用程序可以使用用户的加密凭证来产生数字签名。在一些实施例中,交易提议可以包括客户端240的用户的ID、用户的数字签名、时间戳、与交易提议相对应的智能合约的ID、要交易的能源的类型、要交易的能源的量、交易方法或能源的交易价格等或其任何组合中的至少一个。
在604中,至少一个节点可以根据智能合约对所述交易提议背书以产生背书结果。响应于收到的交易提议,每个节点可以通过首先验证交易提议来背书交易提议。例如,每个节点可以验证交易提议是完整的和/或交易提议未在过去已经提交。附加地或替代地,每个节点可以验证交易提议的数字签名是有效的,并且交易提议的提交者被适当地授权以提交交易提议。在验证交易提议之后,每个节点可以各自使用交易提议模拟智能合约的执行以生成交易结果。每个节点可以将交易结果连同其数字签名作为背书结果。
在一些实施例中,接收和背书交易提议的节点可以是区块链网络110的任何节点。如本文所使用的,接收和背书交易提议的节点也可以被称为endorser。在一些实施例中,可以根据背书策略在节点210中选择节点。背书策略可以定义一个或以上需要背书特定类型的交易提议的节点210。附加地或替代地,背书策略可以定义交易提议的有效背书的要求。例如,背书策略可能要求,除非最小数量或百分比的节点、或所有的节点对交易提议进行了背书,节点的交易背书才是有效的。仅作为示例,示例性背书策略可以定义节点A、B和C需要为电力交易提议背书。附加地或替代地,所述示例性背书策略可以定义只有在A、B和C中的至少两个背书所述交易提议时,所述交易提议的背书才是有效的。
智能合约是指编码能源交易规则的自动执行合同。例如,智能合约可以包括双方之间的关于能源交易的协议条款。在一些实施例中,节点中的每一个节点210可以存储智能合约。在一些实施例中,智能合约还可以存储在存储设备230中。在一些实施例中,每个节点可以根据与交易提议相关联的智能合约来背书交易提议。仅作为示例,交易提议可以定义要执行的智能合约的ID,并且节点可以基于所定义的智能合约来执行背书。又例如,节点可以基于由与客户端240相关联的用户(例如,相应网络元素的管理者)签署的智能合约来执行背书。在一些实施例中,智能合约可以是各种类型,例如 自定义智能合约、预制智能合约、开放式智能合约、长期智能合约、短期智能合约等。
在606中,多组节点中的至少一个节点可以将所述背书结果传送至所述对应的客户端。在一些实施例中,多组节点中的至少一个节点可以将交易结果连同其数字签名作为背书结果。在一些实施例中,背书结果可以由多组节点中的至少一个节点通过网络220传送至对应的客户端。例如,由节点组docker 810处理的客户端240-1发起的能源交易的背书结果,将由docker 810中的至少一个节点传送至客户端240-1。
在608中,区块链网络110可以接收所述对应的客户端基于所述背书结果而生成的能源交易。
在一些实施例中,客户端240可以基于所接收的背书结果生成交易。在一些实施例中,客户端240只有在其从“足够”节点接收背书结果时或之后生成交易。如这里所使用的,如果客户端240从预定数量的节点接收背书结果,则它可以确定它已从“足够”节点接收到背书结果。在一些实施例中,预定数量的节点可以由操作604所描述的背书策略中的有效背书的要求来规定。例如,背书策略可以定义只要三个节点E0、E1和E2中的两个将背书结果传送到客户端240,交易提议的背书是有效的。在这种情况下,客户端240一旦从E0、E1和E2接收到两个背书结果,就可以生成交易。在一些实施例中,如果客户端240未能接收“足够”背书结果,则可以丢弃交易提议,并且用户可能需要发起新的交易提议。
应当注意的是,以上对流程600的描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。步骤604和步骤606之间可以增加一个存储步骤用于将背书结果存储在存储设备230中。
图7是根据本申请的一些实施例所示的处理单个能源交易的示例性流程的流程图。在一些实施例中,流程700可以由能源网络交易系统100所执行。例如,流程700可以实现为存储设备(例如,节点210中的存储设备和/或存储设备230)中存储的一组指令或程序。当所述能源网络交易系统100中的一个或以上组件(例如,区块链网络110)执行所述指令或程序时,所述流程700可以被实现。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程700可以通过未描述的一个或以上附加操作和/或省略一个或以上所讨论的操作来完成。另外,其中如图7所示和下面描述的流程的操作的排列不是限制性的。在一些实施例中,流程700中的一个或多个步骤可以被执行 以实现或部分地实现流程500中的步骤506。如步骤506所描述的,区块链网络110中的多组节点可以对多个能源交易进行并行处理。当所述多组节点中的一组或多组节点处理其对应的能源交易时,可以执行用于处理单个能源交易的流程700。为描述方便,本文以区块链110为例来描述流程700的执行过程。应当理解的是,这不旨在限制本申请的范围,流程700可以由区块链110的一部分,如一组或一个节点来执行。
在702中,区块链网络110可以获取至少一个能源交易中的多个子步骤。所述能源交易可以包括多个子步骤。例如,单个能源交易流程至少可以包括:买家发起交易选择能源种类和购买数量、区块链网络110处理交易、交易支付、交易完成等子步骤。其中,所述交易支付也可以包括多个二级子步骤,例如第1步需要检查账户的余额是否充足;第2步需要检查网络状况是否良好;第3步检查卖家账户状况是否正常等。在一些实施例中,能源交易的流程还可以包括:客户端240生成交易并发送给区块链网络110、区块链网络110对交易并进行排序并生成区块、区块链网络110对区块中的交易进行验证等子步骤。其中,客户端生成交易的子步骤还可以包括多个二级子步骤,例如:节点根据智能合约背书交易提议以生成背书结果、并将背书结果发送到客户端、客户端基于所接收的背书结果生成交易等。对所有交易进行验证的子步骤也可以包括多个二级子步骤,例如:节点可以验证交易的相应交易提议已经被所需的节点根据智能合约一致地背书;节点可以执行账本一致性检查,以验证账本的当前状态和生成区块时账本的状态相兼容;如果节点确定交易的背书策略已经被满足并且账本的当前状态和生成区块时账本的状态相兼容,则节点可以生成交易是有效的验证结果;响应于交易是有效的验证结果,节点可以通过将交易写入账本来更新账本;如果节点确定交易的背书策略尚未满足或者账本的当前状态与生成区块时的账本状态不相容,则节点可以确定交易是无效的等。在一些实施例中,不同类型的能源交易的子步骤可以是相同或相似的。例如,对于电力交易和燃料交易,其子步骤可以是相同的,都包括交易生成、交易发送至区块链网络110、交易排序和交易验证等子步骤。
在704中,区块链网络110可以确定所述多个子步骤中至少两个可以并行进行的子步骤。所述可以并行进行的子步骤是指可以同时进行不会相互影响的步骤。在一些实施例中,单个能源交易流程中的买家确认账户余额、买家选择卖家账户可以同时进行。在买家付款的多个子步骤中,第1步需要检查账户的余额是否充足和第3步检查卖家账户状况是否正常,也可以同时进行。在一些实施例中,能源交易流程中的子步骤节点对 一个或以上的交易进行排序和对所有交易进行验证,可以同时进行。且对所有交易进行验证的子步骤中的二级子步骤(例如验证交易的相应交易提议已经被所需的节点根据智能合约一致地背书和验证账本的一致性)也可以同时进行。在一些实施例中,区块链网络110可以遍历所有能源交易流程及其所有子步骤,并确定其中所有可以并行进行的子步骤,以便后续的处理。
在一些实施例中,区块链网络110可以分析所有能源交易流程中的所有子步骤,并将这些子步骤进行分类。例如,可以基于是否需要按序执行,对所述子步骤进行分类;并将可以并行进行的子步骤分为一类,将需要按序进行的子步骤分别归为一类。可选的,能源交易流程中子步骤的分类结果可以,例如,以分类表的形式储存于能源交易系统100的储存设备(例如,存储设备230)。在步骤704中,区块链网络110可以从所述储存设备中获取子步骤的分类结果,以确定子步骤中可以并行进行的子步骤。
在706中,区块链网络110可以对所述至少两个可以并行进行的子步骤进行并行处理。例如,区块链网络110可以将可以并行处理的两个步骤分别分发给两个节点,以同时处理所述任务。又例如,区块链网络110也可以将可以并行处理的子步骤所对应的任务,分配到同一节点的不同的线程中进行分别处理。例如,区块链网络110可以将买家确认账户余额、买家选择卖家账户等子步骤进行并行处理。区块链网络110还可以将买家付款的二级子步骤的第1步(检查账户的余额是否充足)和第3步(检查卖家账户状况是否正常)进行并行处理。又例如,区块链网络110可以将交易验证中的子步骤,包括验证交易的相应交易提议已经被所需的节点根据智能合约一致地背书和验证账本的一致性等进行并行处理。在一些实施例中,区块链网络110可以对并行处理结果进行分析,并基于分析结果进行进一步的判断和处理。例如,区块链网络110可以将子步骤买家付款的第1步(检查账户的余额是否充足)和第3步(检查卖家账户状况是否正常)的并行处理结果发送交易系统100,由交易系统100判断下一步的操作(例如,余额不足或者卖家账户异常,系统可终止交易的继续)。
应当注意的是,以上对流程700的描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。例如,步骤702和步骤704之间可以增加一个存储步骤用于存储获取的多个子步骤。又例如,可以将步骤702和步骤704进行合并,同时完成获取子步骤和确定可以并行进行的子步骤的功能。
图8是根据本申请的一些实施例所示的示例性并行处理模块的示意图。并行处理模块800可以是区块链网络110中的一个具备并行处理功能的模块。并行处理模块800可以包括一个或以上云容器docker(简称为docker),例如docker 810等,这些docker可以对能源交易系统100接收到的多个能源交易进行并行处理。Docker是为开发者和系统管理员设计的用来发布和运行分布式应用程序的一个开放性平台,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。每个docker可以完成处理一个服务,一台计算机可以同时运行多个docker。
在一些实施例中,每个docker可以用以实现区块链网络110中的一组节点,该组节点可以包括一个或以上的节点P。例如docker 810中包含P 0、P 1、P 2和P 3等。所述一个或以上节点P在能源交易过程中分别执行不同的功能以实现能源交易过程中的各个步骤和子步骤。并行处理模块800可以接收来自多个客户端240(例如客户端240-1、客户端240-2、客户端240-3等)发起的多个能源交易,并通过并行设置的多个docker对所述多个能源交易进行并行处理,其中每个docker可以对应至少一组节点,每组节点分别可以处理一个交易。所述客户端240的内容如图1中描述的客户端240的内容,在此不再赘述。
在一些实施例中,所述docker中的一个或以上节点P可以被配置用于分析和/或管理与能源交易系统100相关的信息以提供多种服务,例如合同管理、交易结算、能源需求预测、能效分析、能源分配、用户管理、信息发布、交易监控、营销分析等或其任何组合。例如,一个或以上节点P可以提供用户管理服务,诸如用户注册、用户认证、用户信息更新、用户账户监控、用户账户暂停等或其任何组合。又例如,一个或以上节点P可以提供合同管理服务,例如合同创建、合同执行、合同查询、合同确认、合同取消等或其任何组合。在一些实施例中,与网络元素相关联的用户可以经由客户端240向一个或以上节点P发送对特定服务的请求。响应于该请求,一个或以上节点P可以执行该请求并将执行结果发送到客户端240,以便向用户提供所请求的服务。
在一些实施例中,所述docker中的一个或以上节点P可以在能源交易过程中分别执行不同的功能,以完成一个完整的能源交易。例如,节点P 0可以对网络中的成员身份进行管理(例如,CA节点)。节点P 1可以实现从客户端240接收用于能源交易的提议,并且可以根据智能合约背书交易提议以生成背书结果(例如,endorser节点)。 节点P 2可以实现检查交易请求,验证背书和交易的结果,并且执行交易,维护区块链和账本结构等。在一些实施例中,各个节点P之间会相互协作,并且可以接收上一节点产生的结果用于本节点的处理,最后协作完成一个完整的能源交易流程。例如,节点P 0的结果产生后可以发送给节点P 1,节点P 1基于节点P 0的结果产生新的处理结果,并发送给P 2,以此类推,直到所有交易流程都已完成。在一些实施例中,一个docker中的多个节点也可以并行处理一个能源交易中的多个子步骤。例如,节点P 1和P 2可以并行处理能源交易中的两个子步骤。该内容将在图9中进行进一步的详细描述。
在一些实施例中,并行处理模块800可以包括一个或以上docker,例如docker810、docker 820和docker 830等。所述一个docker可以处理一个完整的能源交易,多个docker可以并行处理完成多个完整的能源交易,以提高能源交易的效率。Docker 820和docker 830等可以和docker 810具有相同或不同的结构。例如,docker 820包含的节点数可以与docker 810相同或不同。
在一些实施例中,所述docker的功能也可以利用微服务架构的功能来实现。微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。在本申请中,各个节点P可被独立部署,完成各自的任务,通过微服务架构与其他节点P之间进行交流合作,实现一个完整的服务,例如能源交易服务。
图9是根据本申请的一些实施例所示的示例性docker的模块示意图。未描述方便,本文以docker 810为例来展开描述。所述docker 810可以被视为处理模块800的并行处理子模块。所述docker 810可以包含一个或以上节点P,例如P 0、P 1、P 2、P 3和P 4等。所述一个或以上节点P在能源交易过程中分别执行不同的功能以实现能源交易过程中的各个子步骤。在一些实施例中,所述docker中的一个或以上节点P可以被配置用于分析和/或管理与能源交易系统100相关的信息以提供多种服务。所述节点P的功能和图8中描述的节点P的功能相同,在此不再赘述。
在一些实施例中,docker810可以接收客户端240的单个能源交易,并在一个docker中完成单个能源交易的全部过程。在一些实施例中,docker810中的多个节点P 0、P 1、P 2、P 3和P 4等分别可以完成单个能源交易过程中的各个步骤,并且相互之间可以协作完成能源交易的完整过程。在一些实施例中,docker 810可以获取单个能源交易中的多个子步骤,所述多个子步骤分别由多个节点P对应完成。并且docker 810可以对所 述多个子步骤进行分析和处理,确定出其中至少两个可以并行进行的步骤,即至少两个节点P之间可以并行执行各自功能。例如,节点P 0在完成验证交易网络的状态正常后,将收到的交易信息分别发送给节点P 1和节点P 2,同时执行各自的功能,并行进行各自的操作。又例如,节点P 1可以验证买方的交易账号的状态,节点P 2可以验证卖方的交易账号的状态。并且响应于节点P 1的验证结果,节点P 3可以执行买家下单操作;响应于节点P 2的验证结果,节点P 4可以执行卖家的备货操作等。
在一些实施例中,并行处理子模块可以将并行处理步骤或子步骤的结果进行汇总,然后将汇总后的并行处理结果发送给下一节点或者反馈给系统。例如,并行处理子模块可以将节点P 3和节点P 4的并行处理结果进行汇总,一起发送给下一节点进行下一步处理,或者直接反馈结果给交易系统100。又例如,docker 810还可以进一步的汇总各个节点P中子步骤的并行处理结果,并将该并行处理结果反馈给节点P以实现节点P的功能。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域技术人员而言,在本申请内容的指导下,可作出多种变形和修改。然而,变形和修改不会背离本申请的范围。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可以进行各种变更、改良和修改。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如,术语“一实施例”,“一些实施例”和/或“一些实施例”意味着结合一些实施例描述的特定特征,结构或特性包括在本申请的至少一个实施例中。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特性可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合 执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可以表现为位于一个或以上计算机可读介质中的计算机产品,所述产品包括计算机可读程序编码。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。这种传播信号可以采用多种形式中的任何一种,包括电磁,光学等,或其任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质、或任何上述介质的组合。
本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET,Python或类似的常规程序编程语言,如"C"编程语言,Visual Basic、Fortran 1703、Perl、COBOL 1702、PHP、ABAP、动态编程语言如Python、Ruby和Groovy或其它编程语言。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利 要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

Claims (19)

  1. 一种能源交易系统,包括:
    区块链网络,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信,其中,所述区块链网络用于:
    接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与所述区块链网络具有通信连接,且所述多个客户端中的每一个客户端与所述能源交易系统中注册的网络元素相关联;
    响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;
    基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及
    将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
  2. 根据权利要求1所述的系统,其特征在于,所述接收多个客户端发起的多个能源交易,所述区块链网络进一步用于:
    对接收到的多个能源交易中的至少一个能源交易:
    从对应的客户端接收能源交易提议;
    根据智能合约对所述交易提议背书以产生背书结果;
    将所述背书结果传送至所述对应的客户端;以及
    接收所述对应的客户端基于所述背书结果而生成的能源交易。
  3. 根据权利要求1所述的系统,其特征在于,所述响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述区块链网络进一步用于:
    获取所述多个能源交易的并发度;以及
    基于所述多个能源交易的并发度,确定所述多组节点。
  4. 根据权利要求1所述的系统,其特征在于,所述并行处理包括多线程处理、线程池处理和协程处理中的至少一个。
  5. 根据权利要求1所述的系统,其特征在于,所述并行处理基于并行算法来实现,
    所述并行算法包括划分法、分治法、平衡树法、倍增法、指针跳跃法和流水线法中的至少一个。
  6. 根据权利要求1所述的系统,其特征在于,所述基于所述多组节点对所述多个能源交易进行并行处理,所述区块链网络进一步用于:
    对所述多个能源交易中的至少一个能源交易:
    获取所述至少一个能源交易的多个子步骤;
    确定所述多个子步骤中至少两个可以并行进行的子步骤;以及
    对所述至少两个可以并行进行的子步骤进行并行处理。
  7. 根据权利要求1所述的系统,其特征在于,所述区块链的多个节点中的至少一个节点基于云容器docker或微服务中的至少一个实现。
  8. 根据权利要求1所述的系统,其特征在于,所述能源包括电能源、太阳能源、风能源、燃料能源、水能源或核能源中的至少一种。
  9. 一种基于区块链的能源交易方法,包括:
    接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;
    响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;
    基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及
    将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
  10. 根据权利要求9所述的方法,其特征在于,所述接收多个客户端发起的多个能源交 易,包括:
    对接收到的多个能源交易中的至少一个能源交易:
    从对应的客户端接收能源交易提议;
    根据智能合约对所述交易提议背书以产生背书结果;
    将所述背书结果传送至所述对应的客户端;以及
    接收所述对应的客户端基于所述背书结果而生成的能源交易。
  11. 根据权利要求9所述的方法,其特征在于,所述响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,包括:
    获取所述多个能源交易的并发度;以及
    基于所述多个能源交易的并发度,确定所述多组节点。
  12. 根据权利要求9所述的方法,其特征在于,所述并行处理包括多线程处理、线程池处理和协程处理中的至少一个。
  13. 根据权利要求9所述的方法,其特征在于,所述并行处理基于并行算法来实现,
    所述并行算法包括划分法、分治法、平衡树法、倍增法、指针跳跃法和流水线法中的至少一个。
  14. 根据权利要求9所述的方法,其特征在于,所述基于所述多组节点对所述多个能源交易进行并行处理,包括:
    对所述多个能源交易中的至少一个能源交易:
    获取所述至少一个能源交易的多个子步骤;
    确定所述多个子步骤中至少两个可以并行进行的子步骤;以及
    对所述至少两个可以并行进行的子步骤进行并行处理。
  15. 根据权利要求9所述的方法,其特征在于,所述区块链的多个节点中的至少一个节点基于云容器docker或微服务中的至少一个实现。
  16. 根据权利要求9所述的方法,其特征在于,所述能源包括电能源、太阳能源、风能源、燃料能源、水能源或核能源中的至少一种。
  17. 一个非短暂性的计算机可读存储介质,存储有计算机指令,当所述计算机指令被一个或多个处理器执行时,实现如下操作:
    接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;
    响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点;所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;
    基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及
    将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
  18. 一个能源交易装置,其特征在于,所述装置包括至少一个存储介质以及至少一个处理器;
    所述至少一个存储介质用于存储计算机程序;
    所述至少一个处理器用于执行所述程序,以实现如下操作:
    接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;
    响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点;所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;
    基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及
    将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
  19. 一个能源交易系统,其特征在于,包括:
    接收模块,用于接收多个客户端发起的多个能源交易,所述多个客户端中的每一个客户端与区块链网络具有通信连接,且所述多个客户端中的每一个客户端与能源交易系统中注册的网络元素相关联,所述区块链网络由多个节点组成,且所述每个节点用于与所述多个节点中的每一个其他节点通信;
    节点组确定模块,用于响应于所述多个能源交易,从所述区块链网络的多个节点中确定多组节点,所述多组节点中的每组节点对应所述多个能源交易中一个能源交易;
    并行处理控制模块,用于基于所述多组节点,对所述多个能源交易进行并行处理,以生成多个并行处理结果;以及
    发送模块,用于将所述多个并行处理结果中每一个并行处理结果分别发送至对应的客户端。
PCT/CN2018/110729 2018-10-18 2018-10-18 区块链能源交易平台中的交易任务并行处理的方法与系统 WO2020077579A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110729 WO2020077579A1 (zh) 2018-10-18 2018-10-18 区块链能源交易平台中的交易任务并行处理的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110729 WO2020077579A1 (zh) 2018-10-18 2018-10-18 区块链能源交易平台中的交易任务并行处理的方法与系统

Publications (1)

Publication Number Publication Date
WO2020077579A1 true WO2020077579A1 (zh) 2020-04-23

Family

ID=70284193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/110729 WO2020077579A1 (zh) 2018-10-18 2018-10-18 区块链能源交易平台中的交易任务并行处理的方法与系统

Country Status (1)

Country Link
WO (1) WO2020077579A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200294156A1 (en) * 2019-03-11 2020-09-17 CoreChain Technologies, Inc. System and Method for Invoicing, Financing, and Payments Exchange
WO2022027175A1 (en) 2020-08-03 2022-02-10 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
EP3970009A4 (en) * 2020-08-03 2022-03-23 Alipay (Hangzhou) Information Technology Co., Ltd. SYSTEMS AND PROCEDURES FOR PROCESSING BLOCKCHAIN TRANSACTIONS

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897902A (zh) * 2017-02-21 2017-06-27 中链科技有限公司 基于区块链技术的服务交易方法、系统和交易服务器
CN107730258A (zh) * 2017-09-01 2018-02-23 上海点融信息科技有限责任公司 基于区块链的资源处理方法、装置及计算机可读存储介质
CN108431845A (zh) * 2015-10-13 2018-08-21 交互网格公司 基于区块链的分布式一致性控制的使用
CN108596613A (zh) * 2018-03-22 2018-09-28 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108431845A (zh) * 2015-10-13 2018-08-21 交互网格公司 基于区块链的分布式一致性控制的使用
CN106897902A (zh) * 2017-02-21 2017-06-27 中链科技有限公司 基于区块链技术的服务交易方法、系统和交易服务器
CN107730258A (zh) * 2017-09-01 2018-02-23 上海点融信息科技有限责任公司 基于区块链的资源处理方法、装置及计算机可读存储介质
CN108596613A (zh) * 2018-03-22 2018-09-28 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200294156A1 (en) * 2019-03-11 2020-09-17 CoreChain Technologies, Inc. System and Method for Invoicing, Financing, and Payments Exchange
WO2022027175A1 (en) 2020-08-03 2022-02-10 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
EP3970009A4 (en) * 2020-08-03 2022-03-23 Alipay (Hangzhou) Information Technology Co., Ltd. SYSTEMS AND PROCEDURES FOR PROCESSING BLOCKCHAIN TRANSACTIONS
EP3977390A4 (en) * 2020-08-03 2022-04-06 Alipay (Hangzhou) Information Technology Co., Ltd. BLOCKCHAIN TRANSACTION PROCESSING SYSTEMS AND METHODS
US11500845B2 (en) 2020-08-03 2022-11-15 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
US11604608B2 (en) 2020-08-03 2023-03-14 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods

Similar Documents

Publication Publication Date Title
Kirli et al. Smart contracts in energy systems: A systematic review of fundamental approaches and implementations
Huang et al. A review of transactive energy systems: Concept and implementation
Pieroni et al. Smarter city: smart energy grid based on blockchain technology
Dong et al. Blockchain: a secure, decentralized, trusted cyber infrastructure solution for future energy systems
EP3460940B1 (en) Power trading system
Mezquita et al. Multi-agent architecture for peer-to-peer electricity trading based on blockchain technology
US20200076198A1 (en) Microgrid energy reservoir transaction verification via secure, distributed ledger
CN105024865B (zh) 云联合即服务
Umar et al. Blockchain-based decentralized energy intra-trading with battery storage flexibility in a community microgrid system
Yap et al. Blockchain technology for distributed generation: A review of current development, challenges and future prospect
WO2020077579A1 (zh) 区块链能源交易平台中的交易任务并行处理的方法与系统
WO2020042129A1 (en) Systems and methods for blockchain-based energy grid transaction
Kvaternik et al. Privacy-preserving platform for transactive energy systems
Brousmichc et al. Blockchain energy market place evaluation: an agent-based approach
Yu et al. Distributed energy transaction mechanism design based on smart contract
CN110633573A (zh) 基于区块链的计算机实现的方法、系统和存储介质
Guo et al. A high-efficiency and incentive-compatible peer-to-peer energy trading mechanism
de Carvalho et al. Proposal for a new layer for energy cloud management: the regulatory layer
Lee et al. SPChain: A smart and private blockchain-enabled framework for combining GDPR-compliant digital assets management with AI models
Zhang et al. Security scheduling and transaction mechanism of virtual power plants based on dual blockchains
Karuseva et al. The impact of innovative technologies on consumers in the power supply market
Moon et al. A hyperledger-based P2P energy trading scheme using cloud computing with low capabillity devices
WO2020073263A1 (zh) 能效控制方法和系统
Misra et al. Smart grid technology: a cloud computing and data management approach
Dognini et al. Data spaces for energy, home and mobility

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18937504

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18937504

Country of ref document: EP

Kind code of ref document: A1