WO2019062304A1 - 用于管理区块链节点的计算资源的方法、设备和系统 - Google Patents

用于管理区块链节点的计算资源的方法、设备和系统 Download PDF

Info

Publication number
WO2019062304A1
WO2019062304A1 PCT/CN2018/096921 CN2018096921W WO2019062304A1 WO 2019062304 A1 WO2019062304 A1 WO 2019062304A1 CN 2018096921 W CN2018096921 W CN 2018096921W WO 2019062304 A1 WO2019062304 A1 WO 2019062304A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing resource
blockchain node
blockchain
configuration request
node
Prior art date
Application number
PCT/CN2018/096921
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 上海点融信息科技有限责任公司
Publication of WO2019062304A1 publication Critical patent/WO2019062304A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions

Definitions

  • Embodiments of the present disclosure generally relate to the field of information technology and, in particular, to methods, devices, and systems for managing computing resources of blockchain nodes.
  • a blockchain is a decentralized distributed accounting technique derived from bitcoin, which generates persistent unmodifiable records by superimposing encrypted block data in chronological order, and stores the records in a blockchain network.
  • each node participating in the blockchain maintains a reliable database.
  • the blockchain has the technical advantages of decentralization, non-tampering, process transparency and traceability. It is considered to have broad application prospects in many fields such as finance, credit reporting, Internet of Things, economic and trade settlement, and asset management.
  • the blockchain is usually divided into three types: public chain, alliance chain and private chain.
  • the public chain is open to the public, and users can access blockchain networks and block data without any authorization to initiate various transactions.
  • the alliance chain restricts the participation of only members of the alliance, and the operation rights on the blockchain are determined according to the relevant rules of the alliance customization.
  • the private chain is generally used within the private organization, and the operational rights on the blockchain are enforced according to the private organization's own rules.
  • the various applications of blockchain nodes and the implementation of corresponding operations depend on the computing resources they can utilize.
  • These computing resources that may be utilized and configurable may include, for example, data storage devices, volatile memory, CPU, network bandwidth, and the like. If the enterprise user is able to learn information about the utilization status of the computing resources of the blockchain node, this will enable the enterprise user to cost-effectively configure the computing resources utilized by the blockchain nodes as needed.
  • embodiments of the present disclosure propose methods, apparatus, and systems for managing computing resources of blockchain nodes.
  • a method for managing computing resources of a blockchain node includes: at a management server, transmitting a request to instruct at least one blockchain node installation state monitoring smart contract, the state monitoring smart contract configured to monitor usage status of computing resources of at least one blockchain node; Receiving at least one monitoring report of a utilization status of the computing resource including the at least one block chain node, performing at least one of: transmitting a warning to a user associated with the at least one block chain node, the warning indicating at least one block The utilization status of the computing resources of the chain node; and configuring the computing resources based on the at least one monitoring report.
  • configuring the computing resource comprises: determining an adjustment amount to the computing resource based on the at least one monitoring report; generating a configuration request for the computing resource based on the adjustment amount; and transmitting the configuration request to the blockchain node.
  • a method for managing computing resources of a monitoring blockchain node includes: at a blockchain node, executing a state monitoring smart contract to obtain a utilization state of a computing resource at a blockchain node; reporting a utilization state to a management server, such that the management server generates a configuration request for the computing resource,
  • the configuration request at least indicates an adjustment amount to the computing resource; and reconfigures the computing resource in response to receiving the configuration request.
  • an apparatus for managing computing resources of a blockchain node comprising: a processor; and a memory coupled to the processor and storing instructions that, when executed by the processor Actuating the apparatus includes the act of: transmitting, at the management server, a request to instruct at least one blockchain node installation state monitoring smart contract, the state monitoring smart contract configured to monitor utilization of computing resources of the at least one blockchain node a state, in response to receiving the at least one monitoring report of the utilization status of the computing resource including the at least one blockchain node, performing at least one of: transmitting a warning to a user associated with the at least one blockchain node, the warning indicating at least at least The utilization status of computing resources of a blockchain node; and configuring computing resources based on at least one monitoring report. .
  • an apparatus for managing computing resources of a monitored blockchain node includes: a processor; and a memory coupled to the processor and storing instructions that, when executed by the processor, cause the apparatus to perform an action comprising: performing a status monitoring smart contract at the blockchain node to obtain the zone a utilization status of the computing resource at the block chain node; reporting the utilization status to the management server such that the management server generates a configuration request for the computing resource, the configuration request indicating at least an adjustment amount to the computing resource; and in response to receiving the configuration request, re Configure computing resources.
  • a computer readable storage medium having computer readable program instructions stored thereon for performing the first and second aspects of the present disclosure is provided Methods.
  • Figure 1 shows a schematic diagram of a BaaS platform system architecture
  • Figure 2 is a schematic diagram showing a block chain node state monitoring system
  • FIG. 3 shows a schematic block diagram of a smart contract based blockchain node in accordance with an embodiment of the present disclosure
  • FIG. 4 illustrates an example flow diagram of a computing resource management process for a BaaS platform blockchain node in accordance with an embodiment of the present disclosure
  • FIG. 5 illustrates an example flow diagram of a method that may be performed at a management server in accordance with an embodiment of the present disclosure
  • FIG. 6 illustrates an example flow diagram of a storage capacity expansion process in accordance with one embodiment of the present disclosure
  • FIG. 7 illustrates an example flow chart of a storage capacity expansion process according to another embodiment of the present disclosure
  • FIG. 8 illustrates an example flow diagram of a method that may be performed at a blockchain node in accordance with an embodiment of the present disclosure
  • FIG. 9 shows a block diagram of a device in accordance with some embodiments of the present disclosure.
  • the term “comprise” and its various variants may be understood to mean an open term, which means “including but not limited to”.
  • the term “based on” can be understood to mean “based at least in part.”
  • the term “one embodiment” may be taken to mean “at least one embodiment.”
  • the term “another embodiment” may be understood to mean “at least one other embodiment.”
  • the "transmission”, “transmission” or “reception” used in the communication interaction process described below is not limited to a direct communication process, but is also intended to include a communication process via an intermediate node.
  • the state of the blockchain node is, for example, the service state of the node, the load of the computing resource, or the utilization state.
  • the utilization status of the computing resources includes, for example, utilization of the CPU, utilization of the data storage device, utilization status of the volatile memory, storage input/output (I/O) efficiency, network bandwidth, and the like.
  • various applications on the blockchain can be optimized.
  • block chain nodes need to perform complex calculation operations (such as hash calculation) to generate information, confirm services, and the like in various applications.
  • the blockchain node needs to confirm the blockchain number by hash calculation, and determine the validity of the transaction list by backtracking.
  • the recorded data stored in the blockchain will continue to grow, occupying the storage space of the blockchain nodes. Therefore, the efficiency of the operation (or computational) behavior of blockchain nodes is closely related to the configuration of computing resources at the nodes.
  • cloud-based blockchain as a service has become an application hotspot of blockchain technology.
  • Users such as individual enterprises
  • set up the BaaS platform provided by the BaaS service provider to create a corresponding virtual machine instance on the cloud and install a multi-node blockchain to obtain a block that meets their application requirements.
  • Chain to efficiently develop blockchain business.
  • the BaaS platform not only reduces the difficulty and cost of installing, configuring, managing, and using blockchains, but also provides personalized service to users.
  • the blockchain node status monitoring scheme is illustrated herein only in an embodiment based on a cloud platform. Those skilled in the art will appreciate that embodiments of the present disclosure are not limited to application to blockchains based on private clouds, public clouds, or non-cloud-based platforms.
  • FIG. 1 shows a schematic architectural diagram of a BaaS platform system 100.
  • the BaaS platform system 100 is erected based on the cloud 110, which includes a BaaS platform 120, a plurality of blockchain networks 130, 140, 150, and a schematically illustrated storage device 170 and blockchain user 160.
  • the BaaS platform 120 can provide the user 160 with a public chain, a federated chain, or a private chain service, and also serves as a portal for the user 160.
  • the BaaS platform 120 also provides various functions such as data management and data analysis to meet user-specific roles and industry needs.
  • the storage device 170 is used to store various configuration data, user information, log data, and the like of the BaaS platform system 100.
  • the blockchain networks 130, 140, and 150 can be user specific, each including a number of blockchain nodes.
  • each blockchain node may correspond to a virtual machine instance, and a corresponding node application is run in the virtual machine instance.
  • Each blockchain network has corresponding blockchain applications, such as financial, credit, Internet of Things, economic and trade settlement, asset management and other fields of application.
  • each blockchain network may also include a common blockchain node.
  • a blockchain node may belong to both the blockchain network 130 and the blockchain network 140.
  • the number of blockchain networks, users, and storage devices in the figures is merely illustrative, and may be any number.
  • One of the important functions of the BaaS platform is the state monitoring of the blockchain nodes to help the user grasp the state of each node in the blockchain, such as the service state and the load of computing resources such as CPU, memory, I/O, etc.
  • FIG. 2 shows a schematic diagram of an existing blockchain node status monitoring system 200.
  • System 200 can be erected based on cloud 210, including state monitoring server 220 and a plurality of blockchain nodes (e.g., blockchain nodes 230 and 240).
  • blockchain nodes e.g., blockchain nodes 230 and 240.
  • Monitoring agents are installed on the various blockchain nodes, for example, monitoring agents 235 and 245 are installed in blockchain nodes 230 and 240, respectively. Monitoring agents 235 and 245 are used to collect the status of the nodes and report status status to status monitoring server 220. Alternatively, the status monitoring server 220 can periodically collect status from the monitoring agents 235 and 245.
  • Such monitoring schemes as above have trust and security issues.
  • enterprises have very high requirements for the security and privacy protection of blockchain nodes, and the monitoring agents provided by the BaaS platform are opaque applications for enterprise users, and monitoring agents are difficult to implement by users.
  • the monitoring agent running directly in the blockchain node is likely to pose a security risk, posing a danger to the user's data security and privacy.
  • upgrades and maintenance are also very inconvenient when it is necessary to upgrade and maintain monitoring agents, such as discovering vulnerabilities or errors in monitoring agents.
  • a smart contract is a set of commitments defined in digital form, including the rights and obligations agreed upon by the contract participants.
  • the digital form means that the commitment needs to be written into the machine in readable code. As long as the parties reach an agreement, the rights and obligations established by the smart contract are guaranteed by the machine or network system.
  • Smart contracts based on blockchain technology can not only take advantage of the cost-efficiency of smart contracts, but also avoid the interference of malicious behaviors on the normal execution of smart contracts.
  • the smart contract is written into the blockchain in a digital form.
  • the characteristics of the blockchain technology ensure that the entire process of storage, reading and execution is transparent, traceable and non-tamperable.
  • a set of state machine systems is built up by the consensus algorithm of the blockchain, so that the smart contract can run efficiently.
  • FIG. 3 shows a schematic block diagram of a smart contract based blockchain node 300 in accordance with an embodiment of the present disclosure.
  • the blockchain node 300 includes a blockchain service module 320 and a computing resource management module 330. It is to be understood that other components and processes of the blockchain node 300 are not specifically shown and described in order to avoid unnecessarily obscuring aspects of the disclosed embodiments.
  • the blockchain service module 320 utilizes data generated by the blockchain to provide a series of operational services such as blockchain-based search queries and task submissions.
  • the blockchain service module 320 can also provide blockchain services through multiple smart contracts. Specifically, each smart contract is verified and run by the smart contract engine module 323, and the result of the run is written to the blockchain block (if the smart contract has a write operation) and returned to the blockchain application.
  • the smart contract engine module 323 places the smart contracts in a sandbox 321 so that the smart contracts do not have access to resources and information outside the sandbox.
  • blockchain service module 320 also provides node state monitoring services through state monitoring smart contracts 322.
  • the smart contract engine module 323 is extended to provide a state collection interface 324, and the state monitoring smart contract 322 can also invoke these interfaces in the sandbox 321 to obtain the state of the blockchain node 300.
  • the state collection interface 324 can be, for example, an interface for obtaining CPU usage, memory usage, and the like.
  • these state collection interfaces 324 may be function call interfaces, remote service (eg, HTTP RESTful) call interfaces, or other means.
  • An upper blockchain application e.g., a state monitoring server
  • the state monitoring smart contract 322 is verified and operated by the smart contract engine module 324.
  • the status monitoring smart contract 322 can invoke the status acquisition interface 323, read the node status, and return to the status monitoring server 320.
  • the status data can also be written into the blockchain leaving a history certificate that cannot be tampered with in the blockchain.
  • these interfaces may be standardized. Since the standard state acquisition interface and the smart contract engine are functional modules of the blockchain system, for example, through the definition and development documentation of the open state acquisition interface, developers and users can learn, verify and guarantee the security of these functional modules. .
  • the state monitoring smart contract 322 is still safe to operate in the sandbox 321 for the blockchain node 300.
  • the computing resource management module 330 is configured to manage computing resources at the blockchain node 300. In accordance with an embodiment of the present disclosure, when the computing resources of the monitored blockchain node 300 reach predetermined criteria or conditions, the computing resource management module 330 can implement configuration or reconfiguration of computing resources at the blockchain node 300 in accordance with configuration requirements. The operation of computing resource management module 330 will be described in detail below in accordance with a specific embodiment.
  • the computing resource management module 330 can be shown in FIG. 3 to include a storage capacity management module 331, a network bandwidth management module 332, a CPU kernel management module 333, and a storage read/write management module 334, which respectively implement management of corresponding computing resources. And configuration.
  • embodiments of the present disclosure also provide updates and upgrades to a secure, efficient condition monitoring solution.
  • the state monitoring smart contract needs to be upgraded, since this upgrade is the same as the ordinary smart contract upgrade, the original smart contract upgrade scheme of the blockchain platform can be reused.
  • the updated state monitoring smart contract re-installed by the user is re-installed and deployed on the blockchain node to implement the upgrade of the state monitoring smart contract.
  • the standard system state acquisition interface or its internal implementation needs to be upgraded, since this upgrade is an upgrade of the blockchain service software, the original service software upgrade scheme can be followed.
  • FIG. 4 illustrates an example flow diagram of a computing resource management process 400 for a BaaS platform blockchain node in accordance with an embodiment of the present disclosure.
  • a BaaS platform user 450, a BaaS platform 455, a BaaS platform status monitoring server 460, a smart contract engine 465, a status monitoring smart contract 470, and a computing resource management module 475 are shown in FIG. It will be understood that each object or functional module is shown only for facilitating the description, some of the objects or functional modules may be present in the same physical entity, or some of the objects or functional modules may be present in a cloud-based virtual environment. .
  • the BaaS platform state monitoring server 460 can be both a physical entity with the BaaS platform 455 and can be in the same physical entity, or both can be in a cloud-based virtual environment.
  • the smart contract engine 465, the state monitoring smart contract 470, and the computing resource management module 475 are similar to the smart contract engine module 323, the state monitoring smart contract 322, and the computing resource management module 330 described in connection with FIG. 3, which may be created on the cloud In the virtual machine. Therefore, the discrete objects or modules shown in FIG. 4 are merely illustrative, and the disclosure is not limited in this respect.
  • the BaaS platform user 450 sends (402) a request to create a blockchain platform to the BaaS platform 455.
  • the request may include the user's need for a blockchain, such as the number of blockchain nodes, the computing resource requirements of the nodes, the consensus algorithm, and the like.
  • the BaaS platform 455 uses the cloud platform resources to create (404) a certain number of blockchain nodes (eg, virtual machine instances) for the BaaS platform user 450 according to the request of the BaaS platform user 450, thereby forming a blockchain in which the user can conduct his business. platform.
  • the BaaS platform provider can monitor the smart contract 470 based on the standard system state acquisition interface and provide it to the BaaS platform user 450.
  • the status monitoring smart contract 470 is reviewed and signed by the BaaS platform user 450 of the blockchain and signed (406), and then requested (408) the node status monitoring service to the BaaS platform 455 and the status monitoring server 460 as needed.
  • the BaaS platform user 450 can inform the BaaS platform 455 of its monitoring requirements, alarm conditions, automatic calculation of computing resources, charging requirements, etc., according to the request, so as to obtain the desired information and perform subsequent processing according to the monitoring situation.
  • the BaaS user 450 can set the storage capacity for which it is desired to monitor blockchain data at each blockchain node, alert when the remaining of the storage capacity is below 10%, and automatically perform the BaaS platform 455 when an alert occurs. Storage capacity expansion.
  • the status monitoring server 460 deploys the status monitoring smart contract installation to each node of the blockchain of the BaaS platform user 450 based on the relevant information of the BaaS platform user 450.
  • the state monitoring server 460 installs (410) a state monitoring smart contract to a blockchain node of the BaaS platform user 450, and the smart contract engine 465 at the node initiates (412) an initialization state monitoring smart contract to ensure status. Monitor the normal operation of the smart contract 470.
  • the state monitoring server 460 can provide blockchain node state monitoring services for a number of users (eg, businesses), each of which can "own” several blockchain nodes.
  • the status monitoring server 460 periodically executes (414) a status monitoring smart contract, for example, which in turn calls a status monitoring smart contract on each blockchain node in turn.
  • the status query request may be a periodic or irregular status query instruction from the status monitoring server 460, such as an instruction to execute the status monitoring smart contract 470; the status query request may also be a blockchain Periodic or irregular active status queries triggered at node 310.
  • the smart contract engine 465 on the blockchain node executes the state monitoring smart contract 470 in the sandbox, and the state monitoring smart contract 470 invokes (416) the state query interface.
  • the smart contract engine 465 reads information such as CPU usage, memory usage, storage I/O, etc. through the standard system state collection interface, and returns (420) to the state monitoring smart contract 470, which in turn returns (422) to the state monitoring server.
  • the node status may indicate the service status of the block chain node. For example, when the node status indicates that the status monitoring smart contract 322 cannot operate correctly, the block chain service working status is abnormal.
  • the node status may also indicate the performance of the computing resource of the blockchain node, the running time of the blockchain node, and the like.
  • the status monitoring server 460 determines (424) whether the status of the node monitored by each block chain node satisfies the reporting condition based on the alarm condition. When satisfied, a monitoring report is sent (425) to the BaaS platform 455.
  • the monitoring report includes at least the node status of the corresponding blockchain node.
  • the monitoring report may include information about the node status in detail. For example, when the monitoring report relates to the utilization status of the data storage device, information about the utilization status of each storage device, the change of the storage capacity over time, and the like may be reported in detail.
  • the status monitoring server 460 analyzes the status of the received nodes and can provide various analysis reports to the user.
  • the Baa platform 455 upon receiving the monitoring report, can send (426) a warning to the user to alert the user to the blockchain node health. For example, when the node status indicates that the service status of the block chain node is incorrect, or the node status indicates that the load of the computing resource of the block chain node is greater than a predetermined threshold, an alert is sent to the user.
  • the predetermined reporting policy may be, for example, that the usage amount of the computing resource exceeds a threshold, or the remaining amount of the computing resource is lower than the warning value.
  • the reporting policy is that the remaining capacity of the storage device used for the blockchain data is less than 10%, that is, an alarm, when the state monitoring server monitors the storage device used by the blockchain data at the blockchain node If the remaining capacity is less than 10%, a monitoring report is sent to the BaaS platform 455 to inform the BaaS platform 455 of the information about the blockchain node requiring extended storage capacity.
  • the BaaS platform 455 receives the monitoring report, and if there is computing resource related information in the monitoring report, it can check 428 whether the BaaS platform user 450 corresponding to the monitoring report has enabled automatic configuration computing resources. Then, based at least on the monitoring report, an adjustment amount of the computing resource is determined (430) and a computing resource configuration request is sent (432) to the blockchain node. Alternatively, the configuration request can be sent via the status monitoring server 460. The operation at the BaaS platform 455 will also be described in detail below.
  • the compute resource management module 475 of the blockchain node configures (434) the compute resources and sends (436) a configuration response to the BaaS platform 455.
  • the configuration response can be sent via the status monitoring server 460.
  • the BaaS platform 455 upon receiving the configuration response fed back by the blockchain node, determines (438) additional charges for the resource configuration to accumulate fees for the resources consumed by the BaaS platform user 450. Subsequently, the BaaS platform 455 can send (440) a configuration response to the BaaS platform user 450, which can include various information about resource configuration, such as an overview of computing resources of the reconfigured blockchain node, additional billing, and the like. Alternatively, the BaaS platform 455 can send the determined additional billing to the billing system.
  • process 400 may include additional steps, fewer steps, different steps, or different from those depicted in FIG. The steps of the sequential arrangement. Additionally or alternatively, two or more steps of process 400 may be performed in parallel.
  • FIG. 5 illustrates a flow diagram of a method 500 for managing computing resources of a blockchain node, in accordance with an embodiment of the present disclosure. It should be understood that method 500 can be performed, for example, at the BaaS platform 455 described above with respect to FIG.
  • a management server e.g., BaaS platform 455 sends a request to instruct at least one blockchain node installation state to monitor the smart contract.
  • the state monitoring smart contract is as described above, which can be configured to monitor the utilization status of the computing resources of the blockchain node.
  • the management server can perform at least one of: associated with the at least one block chain node
  • the user sends a warning; and configures the computing resource based on at least one monitoring report.
  • the warning indicates at least the utilization status of the computing resources of the blockchain node, and may be sent to the user by short message or mail or other form.
  • the monitoring report may be from a status monitoring server or from a blockchain node, and the monitoring report may be a separate message about a certain monitoring item, or may include a combination of multiple monitoring items. Message.
  • the monitoring report may further include information about the node status in detail, for example, when the monitoring report relates to the utilization status of the data storage device, the utilization status of each storage device, the change of the storage capacity over time, and the like may be reported in detail. .
  • the management server when the management server receives a monitoring report including at least the utilization status of the computing resources, the management server can send a warning to the user to inform the current utilization status of the computing resources based on the configuration of the enterprise user.
  • the management server may also configure the computing resources at the blockchain node according to the information of the computing resources learned by the management server according to whether the user permits configuration of the blockchain node.
  • the management server may configure the computing resources at the blockchain nodes with a modest strategy based on the received monitoring reports.
  • a management server such as the BaaS platform 455, can determine an adjustment amount to the computing resource based on the received at least one monitoring report.
  • the BaaS platform 455 can analyze a plurality of monitoring reports for a certain blockchain node, and determine the amount of adjustment of the computing resources based on the trend and/or acceleration of the utilization state of the computing resources indicated in the monitoring report. .
  • the adjustment amount of the computing resource is determined according to the adjustment policy set by the BaaS platform user 450 or the like, considering the utilization state of the computing resource indicated by the monitoring report.
  • the BaaS platform 455 determines additional storage devices to be allocated to the blockchain node. For example, based on the adjusted amount of the determined storage capacity, considering the existing storage device of the blockchain node, it is determined whether the blockchain node is configured with additional network storage or local storage.
  • the BaaS platform 455 determines additional storage capacity that is allocated for use in the existing storage devices of the blockchain node. In other words, in the case of supporting expansion of an existing storage device, it is determined to directly expand the adjustment amount of the existing storage device.
  • the amount of adjustment for the network bandwidth of the blockchain node is determined based on at least the utilization status of the network bandwidth indicated by the at least one monitoring report.
  • the amount of adjustment for the volatile memory of the blockchain node is determined based on the usage of the volatile memory indicated in the monitoring report.
  • the adjustment of the number of CPU cores for the blockchain node is determined based on the usage of the CPU core indicated in the monitoring report.
  • the management server generates a configuration request for the computing resource.
  • the configuration request contains information indicating a configuration operation at the blockchain node.
  • a configuration request is then sent to the blockchain node.
  • a configuration request can be sent to a blockchain node using an application programming interface (API) of the cloud platform. Accordingly, at the blockchain node, reconfiguration of the computing resources is automatically performed in accordance with the configuration request.
  • API application programming interface
  • embodiments of the present disclosure provide support for a variety of underlying storage expansion modes of a cloud platform in the event that storage capacity at a blockchain node that is an instance of a virtual machine needs to be expanded.
  • FIGS. 6 and 7 show schematic diagrams of a blockchain node network storage extension process 600 and a local storage extension process 700, respectively.
  • Figure 6 illustrates a scenario where an existing network storage 640 needs to be expanded at a blockchain node.
  • Network storage 640 may be a storage device that blockchain node 660 is currently using, which may be any type of network storage device.
  • the network storage device can be dynamically mounted to the blockchain node 660, and the newly mounted network storage 650 and the existing network storage 640 can be divided into unified logic by the logical volume management service module 630. volume. From a file system perspective, the same logical volume can support a uniform file system mount point, which is transparent to the upper blockchain service. Thus, the storage capacity expansion of the blockchain node is supported by newly adding network storage.
  • the BaaS platform 455 determines that the blockchain node 660 extends its network storage.
  • the BaaS platform 455 detects the logical volume of the existing network storage device 640 by the blockchain node 660, and based on the determined additional network storage device 650 to be mounted, is generated to indicate that the additional storage device 650 is associated with the determined logical volume.
  • Linked configuration request the blockchain node 660 associates the network storage device 650 to the same logical volume as the network storage device 640 through the logical volume management service module 630 according to the received configuration request, and is mounted by the unified file system mount module 620. Go to the corresponding mount point.
  • FIG. 7 illustrates a scenario where existing local storage 740 needs to be expanded at a blockchain node.
  • Local storage 740 may be a storage device that blockchain node 760 is currently using, which may be any type of storage device.
  • the local storage device can be dynamically mounted to the blockchain node 760, and the newly mounted local storage 750 and the existing local storage 740 can be divided into unified logic by the logical volume management service module 730. volume. From a file system perspective, the same logical volume can support a uniform file system mount point, which is transparent to the upper blockchain service. Thus, the storage capacity expansion of the blockchain node is supported by newly adding network storage. The specific expansion process is similar to the process shown in FIG. 6, and details are not described herein again.
  • the extension to network storage or local storage may not require management of the service module through the logical volume, but rather by directly extending the existing network storage device or local storage device.
  • the BaaS platform 455 determines an additional storage capacity of the existing storage device of the blockchain node to be allocated for use based at least on the utilization status of the storage capacity indicated by the at least one monitoring report described above. The configuration request is then passed to the blockchain node to cause the blockchain node to reconfigure the storage device.
  • the above describes the operation at the management server by taking the storage capacity expansion as an example. It can be understood that the unified file system mount module 620 or 720 and the logical volume management service module 630 or 730 can be part of the capacity storage management module 331, which utilizes services supported by the operating system at the blockchain node for storage capacity. management. In addition, the configuration and adjustment of other computing resource items can be performed in a similar manner to enable automatic adjustment and configuration of computing resources.
  • FIG. 8 illustrates a flow diagram of a method 800 for managing computing resources of a blockchain node, in accordance with an embodiment of the present disclosure. It should be understood that the method 800 can be performed, for example, at the blockchain node 300, 660, or 760 described above with reference to FIG. 3, FIG. 6, or FIG.
  • a state monitoring smart contract is executed at the blockchain node to obtain utilization status of computing resources at the blockchain node, as described above in connection with FIG.
  • a utilization status of the computing resource is reported to the management server to cause the management server to generate a configuration request for the computing resource.
  • the configuration request indicates at least an adjustment to the computing resource.
  • a configuration request is received at the blockchain node to reconfigure the computing resources.
  • the blockchain node when the configuration request involves reconfiguration of the storage capacity, utilizes the logical volume management service to specify the additional network storage device according to the additional network storage device to be extended indicated by the configuration request. Configured to a logical volume that is associated with an existing network storage device at the blockchain node. The unified file system mount module is then mounted to the appropriate mount point.
  • the blockchain node configures the specified additional local storage device to a logical volume that is existing at the blockchain node in accordance with the additional local storage device to be extended as indicated by the configuration request. Local storage devices are associated. It is then mounted by the unified file system mount module to the appropriate mount point.
  • the blockchain node indicates the additional storage capacity to be expanded according to the configuration request, and allocates the additional storage capacity from the existing storage device of the blockchain node for use by the blockchain node.
  • the storage capacity configuration process described above is similar to the storage capacity expansion process described with reference to FIG. 6 and FIG. 7, and details are not described herein again.
  • the blockchain node when the configuration request relates to network bandwidth at the blockchain node, the blockchain node adjusts network bandwidth at the blockchain node to adjust the amount according to the amount of adjustment of the network bandwidth indicated by the configuration request. adaptation.
  • the configuration request involves the configuration of other computing resources at the blockchain node
  • the corresponding configuration module at the blockchain node implements automatic reconfiguration of these computing resources.
  • FIG. 9 illustrates a schematic block diagram of an electronic device 700 that can be used to implement embodiments of the present disclosure.
  • the electronic device 900 can be used to implement the server or blockchain node described in FIG. 4, or the electronic device 900 can also be used to implement any of the server or blockchain node nodes described in FIG.
  • device 900 includes a central processing unit (CPU) 901 (eg, a processor) that can be loaded into random access memory from computer program instructions stored in read only memory (ROM) 902 or from storage unit 908 ( Computer program instructions in RAM 903 to perform various appropriate actions and processes. In the RAM 903, various programs and data required for the operation of the device 900 can also be stored.
  • the CPU 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904.
  • An input/output (I/O) interface 905 is also coupled to bus 904.
  • a plurality of components in device 900 are coupled to I/O interface 905, including: input unit 906, such as a keyboard, mouse, etc.; output unit 907, such as various types of displays, speakers, etc.; storage unit 908, such as a magnetic disk, optical disk, etc. And a communication unit 909 such as a network card, a modem, a wireless communication transceiver, and the like. Communication unit 909 allows device 900 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
  • method 500, 800 or process 400 may be performed by processing unit 901.
  • method 500, 800 or process 400 can be implemented as a computer software program that is tangibly embodied in a machine readable medium, such as storage unit 908.
  • some or all of the computer program may be loaded and/or installed onto device 900 via ROM 902 and/or communication unit 909.
  • ROM 902 read-only memory
  • CPU 901 When a computer program is loaded into RAM 903 and executed by CPU 901, one or more of the actions or steps of 500, 800 or process 400 described above may be performed.
  • the intelligent contract based blockchain node system state monitoring scheme has many advantages.
  • the monitoring program is easy to implement. Smart contracts are mechanisms supported by the blockchain itself, so there is no need to develop separate system monitoring agent services.
  • the monitoring solution is safe and reliable.
  • the use of state monitoring smart contracts is transparent and non-tamperable, ensuring user data privacy and security, and easy to obtain user support and recognition.
  • the solution also guarantees the original security of the blockchain node without incurring additional security risks.
  • the monitoring program is easy to upgrade and maintain. Service software upgrades and smart contract upgrades that are available on the blockchain platform can be reused, eliminating the need to specifically develop upgrades for state monitoring systems.
  • the automatic on-demand allocation and reconfiguration of computing resources is realized, which effectively saves the use cost of the blockchain node.
  • the various example embodiments of the present disclosure can be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which can be executed by a controller, microprocessor or other computing device.
  • firmware or software which can be executed by a controller, microprocessor or other computing device.
  • a general purpose processor digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general purpose processor may be a microprocessor, or the processor may be any conventional processor, controller, microcontroller, or state machine.
  • the processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, a combination of one or more microprocessors and a DSP core, or any other such structure.
  • embodiments of the present disclosure may be described in the context of machine-executable instructions, such as those included in a device executed on a real or virtual processor of a target.
  • program modules include routines, programs, libraries, objects, classes, components, data structures, and the like that perform particular tasks or implement particular abstract data structures.
  • the functionality of the program modules may be combined or divided between the described program modules.
  • Machine-executable instructions for program modules can be executed within a local or distributed device. In a distributed device, program modules can be located in both local and remote storage media.
  • Computer program code for implementing the methods of the present disclosure can be written in one or more programming languages.
  • the computer program code can be provided to a general purpose computer, a special purpose computer or a processor of other programmable data processing apparatus such that the program code, when executed by a computer or other programmable data processing apparatus, causes a flowchart and/or block diagram.
  • the functions/operations specified in are implemented.
  • the program code can execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on the remote computer or entirely on the remote computer or server.
  • a machine-readable medium can be any tangible medium that contains or stores a program for or relating to an instruction execution system, apparatus, or device.
  • the machine readable medium can be a machine readable signal medium or a machine readable storage medium.
  • a machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of machine readable storage media include electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only Memory (EPROM or flash memory), optical storage device, magnetic storage device, or any suitable combination thereof.

Abstract

本公开的实施例涉及管理区块链节点的计算资源的方法、设备及系统。在区块链节点处安装并执行状态监控智能合约,该状态监控智能合约被配置用于监控至少一个区块链节点的计算资源的利用状态。根据来自区块链节点的计算资源的利用状态,管理服务器可以向区块链节点相应的用户发送警告,还可以确定对计算资源的调整量,并生成对计算资源的配置请求。区块链节点基于该配置请求,执行对计算资源的重新配置。本公开的实施例通过在状态监控中有效利用智能合约,提供了公开透明、安全可靠、易于升级的区块链节点状态监控的解决方案,并基于该监控方案实现了区块链节点处自动的计算资源的按需分配和重新配置。

Description

用于管理区块链节点的计算资源的方法、设备和系统 技术领域
本公开的实施例总体上涉及信息技术领域,并且具体地,涉及用于管理区块链节点的计算资源的方法、设备和系统。
背景技术
区块链是一种源自比特币的去中心化分布式记账技术,其通过将加密区块数据按照时间顺序叠加而生成持久的不可修改的记录,并且将记录存储在区块链网络的各个节点中,使得参与到区块链中的各个节点共同维护一个可靠数据库。由此,区块链具有去中心化、不可篡改、过程透明可追踪等技术优势,其被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。
根据区块链参与方的不同,区块链通常被分为公有链、联盟链和私有链三种类型。公有链对外开放,用户无需任何授权就可以访问区块链网络和区块数据,发起各种交易。联盟链限制了只有联盟中的成员才能参与,区块链上的操作权限根据联盟定制的相关规则来确定。私有链一般在私有组织内部使用,区块链上的操作权限根据私有组织的自行规定执行。
在诸多应用场景中,尤其是企业级的区块链(诸如联盟链和私有链)使用场景中,区块链的企业用户及时掌握其区块链各个节点的服务状态将是非常有利的。通过所掌握的区块链节点的服务状态的知识,使企业用户优化区块链上的各种应用成为可能。
一般而言,区块链节点的各种应用及相应的操作的实现依赖于其可以利用的计算资源。这些可以利用并且可以被配置的计算资源例如可以包括数据存储设备、易失性存储器、CPU、网络带宽等。如果企业用户能够获知与区块链节点的计算资源的利用状态有关的信息,这将支持企业用户根据需要而成本有效地配置区块链节点所利用的计算资源。
有鉴于此,期望的是提供一种基于公开透明、安全可靠的区块链节点状态监控而管理区块链节点处的计算资源的解决方案。
发明内容
总体上,本公开的实施例提出了用于管理区块链节点的计算资源的方法、设备和系统。
在本公开的第一方面,提供一种用于管理区块链节点的计算资源的方法。该方法包括:在管理服务器处,发送用以指令至少一个区块链节点安装状态监控智能合约的请求,状态监控智能合约被配置用于监控至少一个区块链节点的计算资源的利用状态;响应于接收到包括至少一个区块链节点的计算资源的利用状态的至少一个监控报告,执行以下至少一项:向与至少一个区块链节点相关联的用户发送警告,警告至少指示至少一个区块链节点的计算资源的利用状态;以及基于至少一个监控报告,对计算资源进行配置。在某些实施例中,对计算资源进行配置包括:基于至少一个监控报告,确定对计算资源的调整量;基于调整量,生成针对计算资源的配置请求;以及向区块链节点发送配置请求。
在本公开的第二方面,提供一种用于管理监控区块链节点的计算资源的方法。该方法包括:在区块链节点处,执行状态监控智能合约,以获取区块链节点处的计算资源的利用状态;向管理服务器报告利用状态,以使得管理服务器生成针对计算资源的配置请求,配置请求至少指示对计算资源的调整量;以及响应于接收到配置请求,重新配置计算资源。
根据本公开的第三方面,提供一种用于管理区块链节点的计算资源的设备,该设备包括:处理器;以及存储器,耦合至处理器并且存储有指令,指令在由处理器执行时使设备执行包括以下的动作:在管理服务器处发送用以指令至少一个区块链节点安装状态监控智能合约的请求,状态监控智能合约被配置用于监控至少一个区块链节点的计算资源的利用状态;响应于接收到包括至少一个区块链节点的计算资源的利用状态的至少一个监控报告,执行以下至少一项:向与至少一个区块链节点相关联的用户发送警告,警告至少指示至少一个区块链节点的计算资源的利用状态;以及基于至少一个监控报告,对计算资源进行配置。。
根据本公开的第四方面,提供一种用于管理监控区块链节点的计算资源的设备。该设备包括:处理器;以及存储器,耦合至处理器并且存储有 指令,指令在由处理器执行时使设备执行包括以下的动作:在区块链节点处,执行状态监控智能合约,以获取区块链节点处的计算资源的利用状态;向管理服务器报告利用状态,以使得管理服务器生成针对计算资源的配置请求,配置请求至少指示对计算资源的调整量;以及响应于接收到配置请求,重新配置计算资源。
根据本公开的第五方面,提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行根据本公开的第一方面和第二方面所描述的方法。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了BaaS平台系统架构的示意图;
图2示出了区块链节点状态监控系统的示意图;
图3示出了根据本公开的实施例的基于智能合约的区块链节点的示意性框图;
图4示出了根据本公开实施例的BaaS平台区块链节点的计算资源管理过程的示例流程图;
图5示出了根据本公开实施例的可以在管理服务器处执行的方法的示例流程图;
图6示出了根据本公开一个实施例的存储容量扩展过程的示例流程图;
图7示出了根据本公开另一实施例的存储容量扩展过程的示例流程图;
图8示出了根据本公开实施例的可以在区块链节点处执行的方法的示例流程图;以及
图9示出了根据本公开的一些实施例的设备的框图。
具体实施方式
现将结合附图对本公开的实施例进行具体的描述。应当注意的是,附图中对相似的部件或者功能组件可能使用同样的数字标示。所附附图仅仅旨在说明本公开的实施例。本领字段的技术人员可以在不偏离本公开精神和保护范围的基础上从下述描述得到替代的实施方式。
如本文中所述,术语"包括"及其各种变体可以被理解为开放式术语,其意味着"包括但不限于"。术语"基于"可以被理解为"至少部分地基于"。术语"一个实施例"可以被理解为"至少一个实施例"。术语"另一实施例"可以被理解为"至少一个其它实施例"。此外,在下文描述通信交互过程中所使用的"传输"、"发送"或"接收"不限于直接的通信过程,也旨在包括经由中间节点的通信过程。
如前所述,对于面向企业的区块链,企业用户获知区块链节点的状态将是有利的。区块链节点的状态例如是节点的服务状态、计算资源的负荷或利用状态等。计算资源的利用状态例如包括CPU的利用率、数据存储设备的利用率、易失性存储器的利用状态、存储输入/输出(I/O)效率、网络带宽等。基于区块链节点状态,可以优化区块链上的各种应用。
具体而言,区块链节点在各种应用中,需要通过执行复杂的计算操作(例如哈希计算)来生成信息、对业务进行确认等。例如,区块链节点需要通过哈希计算对区块链编号进行确认,通过回溯确定交易清单有效等。同时,区块链存储的记录数据会不断增长,占用区块链节点的存储空间。因此,区块链节点的操作(或计算)行为的效率与节点处的计算资源的配置有着密切的关系。通过监控区块链各节点的状态来管理区块链的计算资源,不仅能够动态地配置资源,有效提高区块链应用的性能,而且还能够为企业用户提供成本有效的应用解决方案。
目前,基于云的区块链即服务(BaaS,Blockchain as a Service)成为区块链技术的一个应用热点。用户(例如各个企业)通过对BaaS服务提供商所提供的BaaS平台进行设置,使其在云上创建相应的虚拟机实例并且安装部署多节点的区块链,从而获得符合自己应用需求的区块链,以高效地开发区块链业务。BaaS平台不仅降低了安装、配置、管理以及使用区块链的难 度和成本,还能够为用户提供个性化的服务。
本文中仅以基于云平台的实施例来示例说明区块链节点状态监控方案。本领域技术人员可以理解,本公开的实施例并不限于应用于基于私有云、公有云或者非基于云平台的区块链。
图1示出了BaaS平台系统100的示意架构图。如图所示,BaaS平台系统100基于云110而架设,其包括BaaS平台120、多个区块链网络130、140、150以及示意示出的存储装置170和区块链用户160。BaaS平台120可以为用户160提供公有链、联盟链或私有链服务,也充当面向用户160的门户。BaaS平台120还例如提供数据管理和数据分析等多种功能,从而满足用户特定的角色和行业需求。存储装置170用于存储BaaS平台系统100的各种配置数据、用户信息、日志数据等等。
区块链网络130、140和150可以是用户特定的,各自包括若干个区块链节点。在云应用环境中,各区块链节点可以对应于虚拟机实例,虚拟机实例中运行相应的节点应用程序。各个区块链网络具有相应的区块链应用,诸如金融、征信、物联网、经济贸易结算、资产管理等领域的各种应用。
需要注意的是,尽管区块链网络130、140、150被示意为各自独立,但各区块链网络也可以包括共同的区块链节点。例如,某个区块链节点可以既属于区块链网络130又属于区块链网络140。另外,图中区块链网络、用户以及存储装置的数量仅是示意,其可以是任意数量。
BaaS平台的重要功能之一是区块链节点的状态监控,以帮助用户及时掌握区块链各个节点的状态,诸如服务状态以及CPU、内存、I/O等的计算资源的负荷。
图2示出了现有的区块链节点状态监控系统200的示意图。系统200可以是基于云210而架设,其包括状态监控服务器220及多个区块链节点(例如,区块链节点230和240)。
在各个区块链节点上安装有监控代理,例如分别在区块链节点230和240中安装监控代理235和245。监控代理235和245用于收集节点的状态,并且将状态定时汇报给状态监控服务器220。可替代地,状态监控服务器220可以定时向监控代理235和245收集状态。
如上的这种监控方案存在着信任和安全问题。一般而言,企业对区块链节点的安全性和隐私保护的要求非常高,而BaaS平台提供的监控代理对企业用户来说是不透明的应用程序,监控代理难于受用户信任而实施。另一方面,直接运行于区块链节点中的监控代理容易造成安全隐患,给用户的数据安全、隐私安全带来危险。此外,在需要升级和维护监控代理的情况下,例如发现监控代理的漏洞或者错误,升级和维护也非常不方便。
有鉴于此,本公开的实施例提出基于智能合约(Smart Contract)的区块链节点状态监控以及基于状态监控而管理区块链节点处的计算资源的解决方案。智能合约是一套以数字形式定义的承诺,包括合约参与方约定的权利和义务。数字形式是指承诺需要以可读代码形式写入机器中,只要参与方达成协定,智能合约建立的权利和义务即由机器或网络系统执行得以保证。
基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对智能合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明、可跟踪且不可攥改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
图3示出了根据本公开的实施例的基于智能合约的区块链节点300的示意框图。在本实施例中,区块链节点300包括区块链服务模块320以及计算资源管理模块330。可以理解,为了便于描述本公开的实施例,未具体示出和描述所熟知的区块链节点300的其他部件和过程以免不必要地模糊本公开实施例的方面。
区块链服务模块320利用区块链产生的数据,提供基于区块链的搜索查询、任务提交等一系列操作服务。区块链服务模块320还可以通过多个智能合约来提供区块链服务。具体地,由智能合约引擎模块323验证和运行各个智能合约,将运行结果写入区块链区块(如果智能合约有写操作),并返回给区块链应用。为了防止恶意或者错误的智能合约对区块链节点产生破坏,智能合约引擎模块323将智能合约放置在沙盒(sandbox)321中运行,使得智能合约没有权限访问沙盒外部的资源和信息。
在本示例中,区块链服务模块320还通过状态监控智能合约322来提供节点状态监控服务。为此,对智能合约引擎模块323进行扩展,提供状态采集接口324,并且使得状态监控智能合约322在沙盒321中也可以调用这些接口,从而获取区块链节点300的状态。状态采集接口324例如可以是用于获取CPU使用率、存储器使用率等等的接口。取决于区块链节点的智能合约引擎的具体实现,这些状态采集接口324可以是函数调用接口,也可以是远程服务(例如,HTTP RESTful)调用接口,或者其他方式。
上层区块链应用(例如状态监控服务器)可以将状态监控智能合约322安装部署到区块链节点300上,并且其可以发送指令(例如,通过远程调用接口)以在区块链节点300处执行状态监控智能合约322。由智能合约引擎模块324来验证和运行状态监控智能合约322。状态监控智能合约322可以调用状态采集接口323,读取节点状态并返回给状态监控服务器320。可选地,取决于具体的状态监控业务需求,如果状态监控智能合约322有写操作,还可以将状态数据写入区块链中,在区块链中留下不可篡改的历史凭证。
需要注意的是,为了保障状态采集接口324的安全性和可信任性,这些接口可以是经标准化的。由于标准状态采集接口和智能合约引擎都是区块链系统的功能模块,例如,通过开放状态采集接口的定义和开发文档,使得开发者和用户均可以获知、验证并保证这些功能模块的安全性。
此外,在标准状态采集接口324安全可靠的情况下,由于没有对沙盒321开放其他权限,因而状态监控智能合约322在沙盒321中运行对区块链节点300而言仍然是安全的。
计算资源管理模块330被配置用于管理区块链节点300处的计算资源。根据本公开的实施例,当所监测的区块链节点300的计算资源达到预定准则或条件,计算资源管理模块330可以根据配置要求实现对区块链节点300处的计算资源的配置或重新配置。下文将根据具体实施例详细描述计算资源管理模块330的操作。
作为示例,图3中示出了计算资源管理模块330可以包括存储容量管理模块331、网络带宽管理模块332、CPU内核管理模块333以及存储读写 管理模块334,其分别实现对相应计算资源的管理和配置。
可以看到,本公开的实施例还提供安全、高效的状态监控解决方案的更新和升级。一方面,在状态监控智能合约需要升级的情况下,由于这种升级和普通的智能合约升级相同,因而可以复用区块链平台原有的智能合约升级方案。将经用户重新审核签名的更新后的状态监控智能合约重新安装部署到区块链节点上,以实现状态监控智能合约的升级。另一方面,在标准系统状态采集接口或者其内部实现需要升级的情况下,由于这种升级是区块链服务软件的升级,可以遵循原有的服务软件升级方案。
为了便于理解本公开的实施例,以BaaS平台的具体应用为例,图4示出了根据本公开实施例的BaaS平台区块链节点的计算资源管理过程400的示例流程图。
在图4中示出了BaaS平台用户450、BaaS平台455、BaaS平台状态监控服务器460、智能合约引擎465、状态监控智能合约470和计算资源管理模块475。可以理解,仅为了促进描述而将每个对象或功能模块示出,其中某些对象或功能模块可以存在于同一个物理实体中,或者某些对象或功能模块可以存在于基于云的虚拟环境中。例如,BaaS平台状态监控服务器460可以与BaaS平台455均是物理实体并且可以处于同一物理实体中,或者可以均在基于云的虚拟环境中。智能合约引擎465、状态监控智能合约470和计算资源管理模块475类似于结合图3所描述的智能合约引擎模块323、状态监控智能合约322和计算资源管理模块330,其可以是在云上所创建的虚拟机中。因此,图4所示的分立对象或模块仅是示意,本公开在此方面不做限制。
如图所示,BaaS平台用户450向BaaS平台455发送(402)创建区块链平台的请求。该请求可以包括用户对区块链的需求,例如区块链节点数目、节点的计算资源需求、共识算法等等。BaaS平台455根据BaaS平台用户450的请求,利用云平台资源,为BaaS平台用户450创建(404)一定数量的区块链节点(例如虚拟机实例),从而形成用户可以开展其业务的区块链平台。
根据本公开的实施例,BaaS平台提供商可以根据标准系统状态采集接 口开发状态监控智能合约470,并提供给BaaS平台用户450。状态监控智能合约470由区块链的BaaS平台用户450审阅认可通过并且签名(406),然后根据需要,向BaaS平台455和状态监控服务器460请求(408)节点状态监控服务。
可选地,BaaS平台用户450可以随着该请求将其监控需求、告警条件、计算资源是否自动配置、计费要求等告知BaaS平台455,以便根据监控情况获知想要的信息以及进行后续的处理。例如,BaaS用户450可以设置其希望监控各区块链节点处的用于区块链数据的存储容量,当该存储容量的剩余低于10%时告警,以及当出现告警时,BaaS平台455自动进行存储容量扩展。
状态监控服务器460根据BaaS平台用户450的相关信息,将状态监控智能合约安装部署到BaaS平台用户450的区块链的各个节点上。作为示例,状态监控服务器460将状态监控智能合约安装(410)到BaaS平台用户450的某个区块链节点,该节点处的智能合约引擎465启动(412)初始化状态监控智能合约,以保证状态监控智能合约470的正常运行。
在一些实施例中,状态监控服务器460可以为若干个用户(例如企业)提供区块链节点状态监控服务,每个用户均可"拥有"若干个区块链节点。在一个实施例中,状态监控服务器460定期执行(414)状态监控智能合约,例如,其轮流远程调用各个区块链节点上的状态监控智能合约。根据本公开的一些实施例,状态查询请求可以是来自于状态监控服务器460的定期或不定期的状态查询指令,例如用以执行状态监控智能合约470的指令;状态查询请求也可以是区块链节点310处所触发的定期或不定期的主动状态查询。
区块链节点上的智能合约引擎465在沙盒中执行状态监控智能合约470,状态监控智能合约470调用(416)状态查询接口。智能合约引擎465通过标准系统状态采集接口读取CPU使用率、内存使用率、存储I/O等信息,并且返回(420)给状态监控智能合约470,进而返回(422)给状态监控服务器。
可以理解,节点状态可以指示区块链节点的服务状态,例如当节点状 态指示状态监控智能合约322无法正确运行,则说明区块链服务工作状态不正常。节点状态还可以指示区块链节点的计算资源的状况、区块链节点的运行时长等工作性能。
状态监控服务器460根据告警条件,确定(424)各个区块链节点所监控的节点状态是否满足报告条件。当满足时,向BaaS平台455发送(425)监控报告。监控报告中至少包括相应的区块链节点的节点状态。可选地,监控报告中可以包括关于节点状态详细的信息,例如在监控报告涉及数据存储设备的利用状态时,可以详细报告各个存储设备的利用状态、存储容量随时间的变化等信息。
在一些实施例中,状态监控服务器460(或者Baa平台455)分析接收到的节点状态,可以为用户提供各种分析报告。此外,根据预定的报告策略,在接收到监控报告时,Baa平台455可以向用户发送(426)警告,以提示用户区块链节点运行状况。例如,当节点状态指示区块链节点的服务状态错误,或者节点状态指示区块链节点的计算资源的负荷大于预定阈值,向用户发送警告。
根据本公开的一个实施例,预定的报告策略例如可以是计算资源的使用量超过阈值,或者计算资源的剩余量低于预警值。例如,在报告策略为区块链数据所使用的存储设备的剩余容量低于10%即报警的情况下,当状态监控服务器监测到区块链节点处的区块链数据所使用的存储设备的剩余容量低于10%,则向BaaS平台455发送监控报告,以将区块链节点需要扩展存储容量的相关信息告知BaaS平台455。
在一些实施例中,BaaS平台455接收到监控报告,如果监控报告中存在计算资源相关信息,可以检查(428)与该监控报告相应的BaaS平台用户450是否启用了自动配置计算资源。然后,至少基于监控报告,确定(430)计算资源的调整量,并且向区块链节点发送(432)计算资源配置请求。可选地,该配置请求可以经由状态监控服务器460发送。下文还将具体描述BaaS平台455处的操作。
根据配置请求,区块链节点的计算资源管理模块475配置(434)计算资源,并向BaaS平台455发送(436)配置响应。可选地,该配置响应可 以经由状态监控服务器460发送。
在一个实施例中,BaaS平台455接收到区块链节点反馈的配置响应后,确定(438)该资源配置的附加计费,以便针对BaaS平台用户450所消费的资源累计费用。随后,BaaS平台455可以向BaaS平台用户450发送(440)配置响应,其可以包括关于资源配置的各种信息,例如重新配置后的区块链节点的计算资源的概况、附加计费等。可选地,BaaS平台455可以向计费系统发送所确定的附加计费。
可以理解,虽然图4示出了过程400的示例步骤顺序,但是在一些实施方式中,过程400可以包括附加的步骤、较少的步骤、不同的步骤或与图4中所描绘的那些不同地顺序布置的步骤。附加地或者备选地,可以并行执行过程400的两个或两个以上步骤。
图5图示了根据本公开的实施例的用于管理区块链节点的计算资源的方法500的流程图。应当理解,方法500例如可以在以上参考图4所描述的BaaS平台455处执行。
在510,管理服务器(例如BaaS平台455)发送用以指令至少一个区块链节点安装状态监控智能合约的请求。状态监控智能合约如上所描述,其可以被配置用于监控区块链节点的计算资源的利用状态。
在520,当接收到包括该至少一个区块链节点的计算资源的利用状态的至少一个监控报告时,管理服务器可以执行以下中的至少一项:向与该至少一个区块链节点相关联的用户发送警告;以及基于至少一个监控报告,对计算资源进行配置。该警告至少指示区块链节点的计算资源的利用状态,并且可以通过短消息或者邮件或者其他形式发送给用户。
根据本公开的实施例,该监控报告可以来自于状态监控服务器或者来自于区块链节点,并且监控报告可以是单独的关于某个监控项的消息,也可以是包括关于多个监控项的组合消息。此外,如上所描述的,监控报告还可以包括关于节点状态详细的信息,例如在监控报告涉及数据存储设备的利用状态时,可以详细报告各个存储设备的利用状态、存储容量随时间的变化等信息。
在一些实施例中,当管理服务器接收到至少包括计算资源的利用状态 的监控报告时,管理服务器可以根据企业用户的配置,向用户发送警告,以告知计算资源的当前利用状态。在另一些实施例中,管理服务器还可以根据用户是否许可对区块链节点进行配置,来根据管理服务器所获知的计算资源的信息而对区块链节点处的计算资源进行配置。在其他一些实施例中,例如在某些区块链应用的紧急情况下,管理服务器可以根据接收到的监控报告,采用适度的策略对区块链节点处的计算资源进行配置。
下面结合图4具体描述管理服务器对区块链节点处的计算资源的配置过程。管理服务器例如BaaS平台455可以基于接收到的至少一个监控报告,确定对计算资源的调整量。
在一个实施例中,BaaS平台455可以分析针对某个区块链节点的多个监控报告,根据监控报告中所指示的计算资源的利用状态的变化趋势和/或加速度来确定计算资源的调整量。或者,根据BaaS平台用户450所设置的调整策略等,考虑监控报告所指示的计算资源的利用状态,来确定计算资源的调整量。
根据本公开的一个实施例,当监控报告涉及用于区块链数据的存储容量时,BaaS平台455确定要分配给区块链节点的附加存储设备。例如,基于所确定存储容量的调整量,考虑区块链节点现有的存储设备,确定为区块链节点配置附加的网络存储还是本地存储。
根据本公开的另一实施例,当监控报告涉及用于区块链数据的存储容量时,BaaS平台455确定区块链节点的现有存储设备中被分配以供使用的附加存储容量。换言之,在支持扩容已有的存储设备的情况下,确定直接扩容已有的存储设备的调整量。
在本公开的一些实施例中,至少基于至少一个监控报告所指示的网络带宽的利用状态,确定针对区块链节点的网络带宽的调整量。或者,根据监控报告中所指示的易失性存储器的使用情况,确定针对区块链节点的易失性存储器的调整量。或者,根据监控报告中所指示的CPU内核的使用情况,确定针对区块链节点的CPU内核数目的调整。
接下来,基于计算资源的调整量,管理服务器生成针对计算资源的配置请求。该配置请求中包含指示区块链节点处的配置操作的信息。然后向 区块链节点发送配置请求。例如,可以利用云平台的应用程序接口(API),向区块链节点发送配置请求。相应地,在区块链节点处,根据该配置请求自动地执行对计算资源的重新配置。
根据本公开的实施例,在需要对作为虚拟机实例的区块链节点处的存储容量进行扩展的情况下,本公开的实施例提供对云平台的多种底层存储扩容方式的支持。
图6和图7分别示出了区块链节点网络存储扩展过程600和本地存储扩展过程700的示意图。图6示出了当区块链节点处需要对现有网络存储640进行扩展的场景。网络存储640可以是区块链节点660现正使用的存储设备,其可以是任何类型的网络存储设备。
根据本公开的实施例,网络存储设备可以动态挂载到区块链节点660,通过逻辑卷管理服务模块630,可以将新挂载的网络存储650和已有的网络存储640划分到统一的逻辑卷。从文件系统的角度看,相同的逻辑卷可以支持统一的文件系统挂载点,对于上层的区块链服务来看是透明的。由此,通过新添加网络存储的方式支持区块链节点的存储容量扩展。
在一个实施例中,BaaS平台455确定为区块链节点660扩展其网络存储。BaaS平台455检测区块链节点660现有网络存储设备640的逻辑卷,并且基于所确定的待挂载的附加网络存储设备650,生成用以指示将附加存储设备650与所确定的逻辑卷相关联的配置请求。相应地,区块链节点660根据接收到的配置请求,通过逻辑卷管理服务模块630将网络存储设备650关联到与网络存储设备640相同的逻辑卷,并由统一文件系统挂载模块620挂载到相应的挂载点。
图7示出了当区块链节点处需要对现有本地存储740进行扩展的场景。本地存储740可以是区块链节点760现正使用的存储设备,其可以是任何类型的存储设备。
根据本公开的实施例,本地存储设备可以动态挂载到区块链节点760,通过逻辑卷管理服务模块730,可以将新挂载的本地存储750和已有的本地存储740划分到统一的逻辑卷。从文件系统的角度看,相同的逻辑卷可以支持统一的文件系统挂载点,对于上层的区块链服务来看是透明的。由此, 通过新添加网络存储的方式支持区块链节点的存储容量扩展。具体的扩展过程与图6中所示的过程类似,在此不再赘述。
在另一实施例中,对网络存储或本地存储的扩展可以不需要通过逻辑卷管理服务模块,而是通过直接扩展现有的网络存储设备或本地存储设备。例如,BaaS平台455至少基于上述的至少一个监控报告所指示的存储容量的利用状态,确定区块链节点的现有存储设备中待被分配以供使用的附加存储容量。然后通过配置请求传送给区块链节点,以使得区块链节点重新配置存储设备。
以上以存储容量扩展为例具体描述了管理服务器处的操作。可以理解,统一文件系统挂载模块620或720与逻辑卷管理服务模块630或730可以是容量存储管理模块331的一部分,其利用区块链节点处的操作系统所支持的服务来进行存储容量的管理。此外,其他计算资源项的配置和调整可以以类似的方式进行,实现对计算资源的自动调整和配置。
图8图示了根据本公开的实施例的用于管理区块链节点的计算资源的方法800的流程图。应当理解,方法800例如可以在以上参考图3、图6或图7所描述的区块链节点300、660或760处执行。
在810,在区块链节点处执行状态监控智能合约,以获取区块链节点处的计算资源的利用状态,如以上结合图4所描述的。在820,向管理服务器报告计算资源的利用状态,以使得管理服务器生成针对计算资源的配置请求。该配置请求至少指示对计算资源的调整量。然后在830,在区块链节点处接收到配置请求,重新配置计算资源。
根据本公开的一个实施例,当配置请求涉及存储容量的重新配置时,区块链节点根据配置请求所指示的待扩展的附加网络存储设备,利用逻辑卷管理服务将所指定的附加网络存储设备配置到一逻辑卷,该逻辑卷与区块链节点处的现有网络存储设备相关联。然后由统一文件系统挂载模块挂载到相应的挂载点。
在一些实施例中,区块链节点根据配置请求所指示的待扩展的附加本地存储设备,将所指定的附加本地存储设备配置到一逻辑卷,该逻辑卷与区块链节点处的现有本地存储设备相关联。然后由统一文件系统挂载模块 挂载到相应的挂载点。
在另一些实施例中,区块链节点根据配置请求指示待扩展的附加存储容量,从区块链节点的现有存储设备中分配该附加存储容量,以供区块链节点使用。以上所描述的存储容量配置过程,与参考图6和图7所描述的存储容量扩展过程类似,在此不再赘述。
在一些实施例中,当配置请求涉及区块链节点处的网络带宽时,区块链节点根据配置请求指示的网络带宽的调整量,调整区块链节点处的网络带宽以与所述调整量适配。当配置请求涉及区块链节点处的其他计算资源的配置时,区块链节点处相应的配置模块实现对这些计算资源的自动重新配置。
图9图示了可以用来实施本公开的实施例的电子设备700的示意性框图。应当理解,电子设备900可以用以实现图4所描述的服务器或区块链节点,或者电子设备900也可以用以实现图4所描述的服务器或区块链节点节点中的任一个模块。如图9所示,设备900包括中央处理单元(CPU)901(例如处理器),其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各种方法或过程,例如方法500、800或过程400,可由处理单元901执行。例如,在一些实施例中,方法500、800或过程400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载 到RAM 903并由CPU 901执行时,可以执行上文描述的500、800或过程400中的一个或多个动作或步骤。
本公开的实施例提供的基于智能合约的区块链节点系统状态监控方案具有诸多优点。一是该监控方案易于实施。智能合约是区块链自身所支持的机制,因而不需要另外开发独立的系统监控代理服务。其次,该监控方案安全可靠。利用状态监控智能合约公开透明、不可篡改的优点,保证用户数据隐私安全,并且容易获取用户的支持认可。而且,该方案也保证了区块链节点原有的安全性,不会造成额外的安全风险。另外,该监控方案升级维护方便。可以复用区块链平台自身具备的服务软件升级和智能合约升级功能,从而不需要专门为状态监控系统额外开发升级方案。另一方面,基于以上的监控方案,实现了计算资源自动的按需分配和重新配置,有效节约区块链节点的使用成本。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本公开所描述的各种示例性的逻辑块、模块和电路。通用处理器可以是微处理器,或者,处理器也可以是任何普通的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。
作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的 程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应 当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。

Claims (30)

  1. 一种用于管理区块链节点的计算资源的方法,包括:
    在管理服务器处,发送用以指令至少一个区块链节点安装状态监控智能合约的请求,所述状态监控智能合约被配置用于监控所述至少一个区块链节点的计算资源的利用状态;
    响应于接收到包括所述至少一个区块链节点的所述计算资源的所述利用状态的至少一个监控报告,执行以下至少一项:
    向与所述至少一个区块链节点相关联的用户发送警告,所述警告至少指示所述至少一个区块链节点的所述计算资源的所述利用状态;以及
    基于所述至少一个监控报告,对所述计算资源进行配置。
  2. 根据权利要求1所述的方法,其中对所述计算资源进行配置包括:
    基于所述至少一个监控报告,确定对所述计算资源的调整量;
    基于所述调整量,生成针对所述计算资源的配置请求;以及
    向所述至少一个区块链节点发送所述配置请求。
  3. 根据权利要求2所述的方法,其中所述计算资源包括用于区块链数据的存储容量,并且其中确定所述调整量包括:
    至少基于所述至少一个监控报告所指示的所述存储容量的利用状态,确定待分配给所述至少一个区块链节点的附加存储设备。
  4. 根据权利要求3所述的方法,其中生成所述配置请求包括:
    确定所述至少一个区块链节点的现有存储设备的逻辑卷;以及
    基于所述附加存储设备的类型,生成用以指示将所述附加存储设备与所确定的逻辑卷相关联的配置请求。
  5. 根据权利要求2所述的方法,其中所述计算资源包括用于区块链数据的存储容量,并且其中确定所述调整量包括:
    至少基于所述至少一个监控报告所指示的所述存储容量的利用状态,确定所述至少一个区块链节点的现有存储设备中待被分配以供使用的附加存储容量。
  6. 根据权利要求2所述的方法,其中所述计算资源包括所述至少一个区块链节点处的网络带宽,并且其中确定所述调整量包括:
    至少基于所述至少一个监控报告所指示的所述网络带宽的利用状态, 确定针对所述至少一个区块链节点的网络带宽的调整量。
  7. 根据权利要求2所述的方法,其中所述管理服务器包括基于云平台的区块链即服务(BaaS)管理服务器,并且其中发送所述配置请求包括:
    利用所述云平台的应用程序接口,向所述至少一个区块链节点发送所述配置请求。
  8. 根据权利要求2所述的方法,还包括:
    基于所述计算资源的所述调整量,确定与所述至少一个区块链节点相关联的附加计费。
  9. 根据权利要求1所述的方法,还包括:
    确定对所述计算资源进行配置是否被所述用户许可;以及
    响应于对所述计算资源进行配置被所述用户许可,执行对所述计算资源的配置。
  10. 一种用于管理区块链节点的计算资源的方法,包括:
    在区块链节点处,执行状态监控智能合约,以获取所述区块链节点处的计算资源的利用状态;
    向管理服务器报告所述利用状态,以使得所述管理服务器生成针对所述计算资源的配置请求,所述配置请求至少指示对所述计算资源的调整量;以及
    响应于接收到所述配置请求,重新配置所述计算资源。
  11. 根据权利要求10所述的方法,其中所述计算资源包括用于区块链数据的存储容量并且所述配置请求指示待扩展的附加网络存储设备,其中所述重新配置包括:
    将所指示的附加网络存储设备配置到一逻辑卷,所述逻辑卷与所述区块链节点处的现有网络存储设备相关联。
  12. 根据权利要求10所述的方法,其中所述计算资源包括用于区块链数据的存储容量并且所述配置请求指示待扩展的附加本地存储设备,其中所述重新配置包括:
    将所指定的附加本地存储设备配置到一逻辑卷,所述逻辑卷与所述区块链节点处的现有本地存储设备相关联。
  13. 根据权利要求10所述的方法,其中所述计算资源包括用于区块链数据的存储容量并且所述配置请求指示待扩展的附加存储容量,其中所述 重新配置包括:
    从所述区块链节点的现有存储设备中分配所述附加存储容量,以供所述区块链节点使用。
  14. 根据权利要求10所述的方法,其中所述计算资源包括所述区块链节点处的网络带宽并且所述配置请求指示网络带宽的调整量,其中所述重新配置包括:
    调整所述区块链节点处的所述网络带宽以与所述调整量适配。
  15. 一种用于管理区块链节点的计算资源的设备,包括:
    处理器;以及
    存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时使所述设备执行包括以下的动作:
    在管理服务器处发送用以指令至少一个区块链节点安装状态监控智能合约的请求,所述状态监控智能合约被配置用于监控至少一个区块链节点的计算资源的利用状态;
    响应于接收到包括所述至少一个区块链节点的所述计算资源的所述利用状态的至少一个监控报告,执行以下至少一项:
    向与所述至少一个区块链节点相关联的用户发送警告,所述警告至少指示所述至少一个区块链节点的所述计算资源的所述利用状态;以及
    基于所述至少一个监控报告,对所述计算资源进行配置。
  16. 根据权利要求15所述的设备,其中对所述计算资源进行配置包括:
    基于所述至少一个监控报告,确定对所述计算资源的调整量;
    基于所述调整量,生成针对所述计算资源的配置请求;以及
    向所述至少一个区块链节点发送所述配置请求。
  17. 根据权利要求16所述的设备,其中所述计算资源包括用于区块链数据的存储容量,并且其中确定所述调整量包括:
    至少基于所述至少一个监控报告所指示的所述存储容量的利用状态,确定待分配给所述至少一个区块链节点的附加存储设备。
  18. 根据权利要求17所述的设备,其中生成所述配置请求包括:
    确定所述至少一个区块链节点的现有存储设备的逻辑卷;以及
    基于所述附加存储设备的类型,生成用以指示将所述附加存储设备与所确定的逻辑卷相关联的配置请求。
  19. 根据权利要求16所述的设备,其中所述计算资源包括用于区块链数据的存储容量,并且其中确定所述调整量包括:
    至少基于所述至少一个监控报告所指示的所述存储容量的利用状态,确定所述至少一个区块链节点的现有存储设备中待被分配以供使用的附加存储容量。
  20. 根据权利要求16所述的设备,其中所述计算资源包括所述至少一个区块链节点处的网络带宽,并且其中确定所述调整量包括:
    至少基于所述至少一个监控报告所指示的所述网络带宽的利用状态,确定针对所述至少一个区块链节点的网络带宽的调整量。
  21. 根据权利要求16所述的设备,其中所述管理服务器包括基于云平台的区块链即服务(BaaS)管理服务器,并且其中发送所述配置请求包括:
    利用所述云平台的应用程序接口,向所述至少一个区块链节点发送所述配置请求。
  22. 根据权利要求16所述的设备,所述动作还包括:
    基于所述计算资源的所述调整量,确定与所述至少一个区块链节点相关联的附加计费。
  23. 根据权利要求15所述的设备,所述动作还包括:
    确定对所述计算资源进行配置是否被所述用户许可;以及
    响应于对所述计算资源进行配置被所述用户许可,执行对所述计算资源的配置。
  24. 一种用于管理监控区块链节点的计算资源的设备,包括:
    处理器;以及
    存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时使设备执行包括以下的动作:
    在区块链节点处执行状态监控智能合约,以获取所述区块链节点处的计算资源的利用状态;
    向管理服务器报告所述利用状态,以使得所述管理服务器生成针对所述计算资源的配置请求,所述配置请求至少指示对所述计算资源的调整量;以及
    响应于接收到所述配置请求,重新配置所述计算资源。
  25. 根据权利要求24所述的设备,其中所述计算资源包括用于区块链 数据的存储容量并且所述配置请求指示待扩展的附加网络存储设备,其中所述重新配置包括:
    将所指示的附加网络存储设备配置到一逻辑卷,所述逻辑卷与所述区块链节点处的现有网络存储设备相关联。
  26. 根据权利要求24所述的设备,其中所述计算资源包括用于区块链数据的存储容量并且所述配置请求指示待扩展的附加本地存储设备,其中所述重新配置包括:
    将所指示的附加本地存储设备配置到一逻辑卷,所述逻辑卷与所述区块链节点处的现有本地存储设备相关联。
  27. 根据权利要求24所述的设备,其中所述计算资源包括区块链数据的存储容量并且所述配置请求指示待扩展的附加存储容量,其中所述重新配置包括:
    从所述区块链节点的现有存储设备中分配所述附加存储容量,以供所述区块链节点使用。
  28. 根据权利要求24所述的设备,其中所述计算资源包括所述区块链节点处的网络带宽并且所述配置请求指示网络带宽的调整量,其中所述重新配置包括:
    调整所述区块链节点处的所述网络带宽以与所述调整量适配。
  29. 一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1-9中任一项所述的方法。
  30. 一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求10-14中任一项所述的方法。
PCT/CN2018/096921 2017-09-26 2018-07-25 用于管理区块链节点的计算资源的方法、设备和系统 WO2019062304A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710884477.4A CN107832139A (zh) 2017-09-26 2017-09-26 用于管理区块链节点的计算资源的方法、设备和系统
CN201710884477.4 2017-09-26

Publications (1)

Publication Number Publication Date
WO2019062304A1 true WO2019062304A1 (zh) 2019-04-04

Family

ID=61643523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/096921 WO2019062304A1 (zh) 2017-09-26 2018-07-25 用于管理区块链节点的计算资源的方法、设备和系统

Country Status (2)

Country Link
CN (1) CN107832139A (zh)
WO (1) WO2019062304A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298190A (zh) * 2019-04-19 2019-10-01 矩阵元技术(深圳)有限公司 去中心化多方安全数据处理方法、装置及存储介质
CN110602236A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 节点控制方法、节点控制设备及存储介质
CN110971711A (zh) * 2019-12-30 2020-04-07 迈迩斯新能源科技(上海)有限公司 一种基于区块链技术的分布式车联网数据传输系统
CN111464395A (zh) * 2020-03-31 2020-07-28 腾讯科技(深圳)有限公司 一种创建区块链的方法、装置及可读存储介质
CN111459676A (zh) * 2020-03-31 2020-07-28 腾讯科技(深圳)有限公司 一种节点资源管理方法、装置及存储介质
CN111464393A (zh) * 2020-03-31 2020-07-28 腾讯科技(深圳)有限公司 一种区块链运行状态的监测方法、装置及存储介质
CN111612363A (zh) * 2020-05-26 2020-09-01 广东电网有限责任公司电力调度控制中心 基于区块链的电量调度方法、装置和计算机设备
CN112115434A (zh) * 2020-09-28 2020-12-22 上海对外经贸大学 一种基于区块链的舆情存证信息组织跨层级异构授权方法
CN113240351A (zh) * 2021-06-28 2021-08-10 平安信托有限责任公司 业务数据一致性检查方法、装置、电子设备及介质
CN113312663A (zh) * 2021-05-31 2021-08-27 尧领有限公司 分布式数据存储方法及系统、计算机可读存储介质
CN113518072A (zh) * 2021-04-19 2021-10-19 程博 一种基于物联网的大数据分析方法
CN114726561A (zh) * 2020-12-22 2022-07-08 京东科技信息技术有限公司 一种数据处理方法、装置和系统
CN117270843A (zh) * 2023-10-19 2023-12-22 江苏苏亿盟智能科技有限公司 一种基于区块链的编程数据推荐管理方法及系统

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832139A (zh) * 2017-09-26 2018-03-23 上海点融信息科技有限责任公司 用于管理区块链节点的计算资源的方法、设备和系统
CN108540577B (zh) * 2018-05-03 2021-02-19 青岛道合供应链管理有限公司 智慧供应链物联网管理平台的多区块链交叉复合应用系统
CN108712307B (zh) * 2018-05-11 2021-01-29 北京奇虎科技有限公司 一种基于区块链的带宽能力计算方法及装置
CN110580624B (zh) * 2018-06-07 2022-02-18 华为技术有限公司 链码升级方法及装置
EP3582521A1 (de) * 2018-06-14 2019-12-18 Siemens Aktiengesellschaft Vorrichtung und verfahren zum einrichtung und/oder bereitstellen einer arbeitsumgebung, insbesondere eingesetzt in einer maschinen economy umgebung
CN110611579A (zh) * 2018-06-15 2019-12-24 普华云创科技(北京)有限公司 基于区块链的设备监控预警方法、系统、设备及存储介质
CN109242667A (zh) * 2018-06-28 2019-01-18 平安科技(深圳)有限公司 资产管理方法及装置、计算机设备与可读存储介质
WO2020000349A1 (zh) * 2018-06-29 2020-01-02 财团法人交大思源基金会 分布式计算方法与管理系统
CN108959563B (zh) * 2018-07-04 2020-05-15 东北大学 一种容量可扩展区块链查询方法及系统
CN110705973B (zh) * 2018-07-10 2023-05-16 深圳市红砖坊技术有限公司 应用于区块链系统中矿工节点的共识方法和区块链系统
CN108985937B (zh) * 2018-07-10 2021-09-10 陈曦 一种基于区块链技术的计算资源共享方法及区块链系统
EP3599740A1 (de) * 2018-07-25 2020-01-29 Siemens Aktiengesellschaft Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank
CN109240826B (zh) * 2018-08-15 2020-10-23 泰链(厦门)科技有限公司 多区块链网络中节点共用计算设备时的计算资源分配方法
CN109189334B (zh) * 2018-08-16 2022-06-07 北京京东尚科信息技术有限公司 一种区块链网络服务平台及其扩容方法、存储介质
CN109191132B (zh) * 2018-08-20 2022-02-11 众安信息技术服务有限公司 部署智能合约的方法、系统和装置
WO2020037578A1 (zh) * 2018-08-22 2020-02-27 区链通网络有限公司 区块链资源使用控制方法、装置及存储介质
CN109241772B (zh) * 2018-09-07 2023-05-16 深圳市智税链科技有限公司 发票区块链记录方法、装置、区块链网关服务器和介质
CN109285071B (zh) * 2018-09-10 2022-12-27 中国银联股份有限公司 一种基于区块链的数据处理平台及数据处理方法
US20210194890A1 (en) * 2018-09-14 2021-06-24 Telefonaktiebolaget Lm Ericsson (Publ) In a distributed computing system with untrusted entities method and apparatus for enabling coordinated executions of actions
CN109391617B (zh) * 2018-10-15 2021-01-12 天津理工大学 一种基于区块链的网络设备配置管理方法及客户端
CN109639751B (zh) * 2018-10-16 2021-12-21 平安科技(深圳)有限公司 区块链节点监控方法、装置、系统及计算机存储介质
CN109409883B (zh) * 2018-10-19 2020-10-20 深圳和而泰数据资源与云技术有限公司 基于智能合约的协同处理方法、家电设备及服务器
CN109710405B (zh) * 2018-12-21 2023-04-14 平安科技(深圳)有限公司 区块链智能合约管理方法、装置、电子设备及存储介质
CN110866027A (zh) * 2018-12-29 2020-03-06 厦门安妮股份有限公司 一种提高区块链查询效率的系统及方法
CN109871279B (zh) * 2019-03-11 2021-10-01 京东方科技集团股份有限公司 共识任务协调方法及装置、区块链系统、存储介质
CN109981405B (zh) * 2019-03-20 2021-04-23 上海和数软件有限公司 节点管理方法、装置及计算机可读存储介质
CN110138586A (zh) * 2019-04-04 2019-08-16 平安科技(深圳)有限公司 区块链节点管理方法、电子装置、系统及可读存储介质
CN110109684B (zh) * 2019-04-04 2023-06-09 平安科技(深圳)有限公司 区块链节点管理代理服务安装方法、电子装置及存储介质
CN110209736A (zh) * 2019-05-06 2019-09-06 深圳壹账通智能科技有限公司 区块链数据处理的装置、方法及存储介质
CN110321074B (zh) * 2019-05-20 2021-07-09 西安电子科技大学 基于区块链和分布式存储系统的安全存储证明的共识方法
CN110198347B (zh) * 2019-05-21 2023-01-10 深圳前海微众银行股份有限公司 一种基于区块链的预警方法及分控服务器
CN110166565A (zh) * 2019-05-30 2019-08-23 中国联合网络通信集团有限公司 区块链分域触发方法及系统
CN110531924A (zh) * 2019-05-31 2019-12-03 杭州复杂美科技有限公司 用于扩展区块链存储容量的方法和设备、存储介质及系统
CN110377228A (zh) * 2019-06-19 2019-10-25 深圳壹账通智能科技有限公司 区块链节点的自动扩容方法、装置、运维终端及存储介质
CN110417896B (zh) * 2019-07-31 2022-01-28 中国工商银行股份有限公司 基于云的区块链动态组网的系统及方法
CN112182831B (zh) * 2019-08-16 2021-08-17 北京天德科技有限公司 智能投顾产业测试和评估沙盒
CN110545316A (zh) * 2019-08-19 2019-12-06 广州华旻信息科技有限公司 基于区块链技术的物联网信息交互装置
CN110866288B (zh) * 2019-11-18 2023-01-10 广州安加互联科技有限公司 一种基于区块链的数据保护方法、系统及终端
CN111464394B (zh) * 2020-03-31 2022-04-15 腾讯科技(深圳)有限公司 一种节点监控方法、装置以及存储介质
CN111614499B (zh) * 2020-05-25 2021-03-16 江苏永鼎通信有限公司 基于5g和区块链的信息处理方法及云计算服务器
CN112052021A (zh) * 2020-08-12 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 联盟区块链升级的方法、装置、设备及存储介质
CN111737324B (zh) * 2020-08-14 2021-02-09 支付宝(杭州)信息技术有限公司 数据分析方法及装置
CN112346926A (zh) * 2020-10-16 2021-02-09 北京金山云网络技术有限公司 资源状态监控方法、装置及电子设备
CN112711468B (zh) * 2020-12-21 2021-10-15 北京航空航天大学 基于区块链的雾计算网络资源监控和任务管理方法及系统
CN112765278B (zh) * 2021-01-28 2023-03-24 西华大学 基于区块链的无线物联网系统
CN112988334B (zh) * 2021-05-06 2021-08-31 云宏信息科技股份有限公司 对虚拟化环境下的多台主机进行管理的方法、可读介质
CN114721832A (zh) * 2022-05-12 2022-07-08 北京溪塔科技有限公司 一种区块链节点的初始化方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506203A (zh) * 2016-10-25 2017-03-15 杭州云象网络技术有限公司 一种应用于区块链的节点监控系统
CN106600245A (zh) * 2016-12-15 2017-04-26 国云科技股份有限公司 一种云计算资源调度系统及其实现方法
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107832139A (zh) * 2017-09-26 2018-03-23 上海点融信息科技有限责任公司 用于管理区块链节点的计算资源的方法、设备和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624919A (zh) * 2012-03-30 2012-08-01 电子科技大学 一种面向服务架构的分布式业务集成系统及其应用方法
CN103414748B (zh) * 2013-07-12 2016-12-28 广东电子工业研究院有限公司 一种云平台监控架构及其监控实现方法
CN106331151A (zh) * 2016-09-19 2017-01-11 中国银联股份有限公司 基于区块链结构的资源文件处理系统及方法
CN107317730B (zh) * 2017-08-21 2020-09-04 上海点融信息科技有限责任公司 用于监控区块链节点状态的方法、设备和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
CN106506203A (zh) * 2016-10-25 2017-03-15 杭州云象网络技术有限公司 一种应用于区块链的节点监控系统
CN106600245A (zh) * 2016-12-15 2017-04-26 国云科技股份有限公司 一种云计算资源调度系统及其实现方法
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107832139A (zh) * 2017-09-26 2018-03-23 上海点融信息科技有限责任公司 用于管理区块链节点的计算资源的方法、设备和系统

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298190A (zh) * 2019-04-19 2019-10-01 矩阵元技术(深圳)有限公司 去中心化多方安全数据处理方法、装置及存储介质
CN110602236A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 节点控制方法、节点控制设备及存储介质
CN110971711B (zh) * 2019-12-30 2023-03-24 迈迩斯新能源科技(上海)有限公司 一种基于区块链技术的分布式车联网数据传输系统
CN110971711A (zh) * 2019-12-30 2020-04-07 迈迩斯新能源科技(上海)有限公司 一种基于区块链技术的分布式车联网数据传输系统
CN111464393B (zh) * 2020-03-31 2023-08-18 腾讯科技(深圳)有限公司 一种区块链运行状态的监测方法、装置及存储介质
CN111459676A (zh) * 2020-03-31 2020-07-28 腾讯科技(深圳)有限公司 一种节点资源管理方法、装置及存储介质
CN111464395A (zh) * 2020-03-31 2020-07-28 腾讯科技(深圳)有限公司 一种创建区块链的方法、装置及可读存储介质
CN111464395B (zh) * 2020-03-31 2023-06-09 腾讯科技(深圳)有限公司 一种创建区块链的方法、装置及可读存储介质
CN111464393A (zh) * 2020-03-31 2020-07-28 腾讯科技(深圳)有限公司 一种区块链运行状态的监测方法、装置及存储介质
CN111612363A (zh) * 2020-05-26 2020-09-01 广东电网有限责任公司电力调度控制中心 基于区块链的电量调度方法、装置和计算机设备
CN111612363B (zh) * 2020-05-26 2023-11-14 广东电网有限责任公司电力调度控制中心 基于区块链的电量调度方法、装置、计算机设备和存储介质
CN112115434A (zh) * 2020-09-28 2020-12-22 上海对外经贸大学 一种基于区块链的舆情存证信息组织跨层级异构授权方法
CN114726561A (zh) * 2020-12-22 2022-07-08 京东科技信息技术有限公司 一种数据处理方法、装置和系统
CN114726561B (zh) * 2020-12-22 2024-04-05 京东科技信息技术有限公司 一种数据处理方法、装置和系统
CN113518072B (zh) * 2021-04-19 2022-08-30 中乾思创(北京)科技有限公司 一种基于物联网的大数据分析方法
CN113518072A (zh) * 2021-04-19 2021-10-19 程博 一种基于物联网的大数据分析方法
CN113312663A (zh) * 2021-05-31 2021-08-27 尧领有限公司 分布式数据存储方法及系统、计算机可读存储介质
CN113240351A (zh) * 2021-06-28 2021-08-10 平安信托有限责任公司 业务数据一致性检查方法、装置、电子设备及介质
CN117270843A (zh) * 2023-10-19 2023-12-22 江苏苏亿盟智能科技有限公司 一种基于区块链的编程数据推荐管理方法及系统
CN117270843B (zh) * 2023-10-19 2024-03-12 江苏苏亿盟智能科技有限公司 一种基于区块链的编程数据推荐管理方法及系统

Also Published As

Publication number Publication date
CN107832139A (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
WO2019062304A1 (zh) 用于管理区块链节点的计算资源的方法、设备和系统
CN107317730B (zh) 用于监控区块链节点状态的方法、设备和系统
US11418389B2 (en) Application deployment and management in a cloud computing environment
US20220091875A1 (en) Cloud native virtual machine runtime protection
CN107005422B (zh) 用于第二天操作的基于拓扑的管理的系统和方法
US9128773B2 (en) Data processing environment event correlation
US10620927B2 (en) Method, arrangement, computer program product and data processing program for deploying a software service
CN107943580A (zh) 用于管理区块链节点处的用户智能合约的方法以及设备
US9998393B2 (en) Method and system for managing resource capability in a service-centric system
US10936294B2 (en) Blockchain-based software compliance system
CN114365452A (zh) 用于在边缘计算环境中证明对象的方法和装置
US20200336489A1 (en) Cloud least identity privilege and data access framework
US20210011823A1 (en) Continuous testing, integration, and deployment management for edge computing
US10491465B2 (en) System and method for dynamic and extensible management of device nodes
US20230232549A1 (en) System and method for guided deployment of managed systems
Procaccianti et al. A catalogue of green architectural tactics for the cloud
US20210406053A1 (en) Rightsizing virtual machine deployments in a cloud computing environment
Lawrence et al. Using service level agreements for optimising cloud infrastructure services
US11841760B2 (en) Operating system for collecting and transferring usage data
US10346626B1 (en) Versioned access controls
Kundu et al. Collaborative and accountable hardware governance using blockchain
Schmieders et al. Architectural runtime models for privacy checks of cloud applications
WO2022154811A1 (en) System configuration freeze and change management of services deployed via continuous delivery on datacenters configured in cloud platforms
Shah Deterministic consumer applications enabled policy Architecture of Mobile Edge Computing ecosystem
US20240103818A1 (en) Annotation driven just in time and state-based rbac policy control

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: 18863343

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: 18863343

Country of ref document: EP

Kind code of ref document: A1