Data processing method, device, electronic device and storage medium
By deploying standard computing engines and conversion modules on blockchain node devices, the compatibility problem of heterogeneous computing engines in off-chain computing tasks is solved, the cost of algorithm transplantation is reduced, and computing resources are expanded to support more off-chain computing tasks. .
Patent Information
- Application Number
- CN202210343405.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2042-03-31
AI Technical Summary
The off-chain computing engines on node devices in blockchain networks are limited and need to follow a specific development paradigm, resulting in existing computing engines that do not meet the paradigm need to be transformed to perform off-chain computing tasks, and the cost of algorithm transplantation is high.
Deploy standard computing engines on node devices and introduce conversion modules as the conversion medium between standard computing engines and heterogeneous computing engines, so that heterogeneous computing engines that do not conform to the development paradigm can be used without or only a small amount of transformations Support off-chain computing tasks.
It reduces the cost of algorithm transplantation, expands the limited computing engine resources of node equipment, and supports more types of off-chain computing tasks.
Smart Images

Figure CN114820187B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this specification belong to the field of blockchain technology, and in particular, relate to a data processing method, device, electronic device and storage medium. Background Art
[0002] Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc. In the blockchain system, data blocks are combined into a chain data structure in a sequential manner according to time sequence, and a distributed ledger that cannot be tampered with or forged is guaranteed by cryptography. Due to the characteristics of blockchain such as decentralization, information cannot be tampered with, and autonomy, blockchain has also received more and more attention and application.
[0003] The blockchain network can undertake off-chain computing tasks based on the definition of smart contracts. At this time, each node device in the blockchain network will call the locally deployed off-chain computing engine under the guidance of the events generated by the smart contract to implement the off-chain computing tasks. However, the total amount of off-chain computing engines on the node devices is limited and needs to follow a specific development paradigm, which means that some existing computing engines that do not conform to the relevant development paradigm need to be significantly modified before they can be used to implement off-chain computing tasks, and the cost of algorithm transplantation is relatively high. Summary of the invention
[0004] The object of the present invention is to provide a data processing method, device, electronic device and storage medium.
[0005] According to a first aspect of one or more embodiments of this specification, a data processing method is proposed, which is applied to a first node device deployed with a first blockchain node, and the blockchain network to which the first blockchain node belongs is deployed with an off-chain computing contract; the method includes:
[0006] Listening to a task event for a first computing task generated by the off-chain computing contract;
[0007] In the case where the first blockchain node belongs to the participant node corresponding to the first computing task, the first standard computing engine deployed on the first node device is called to execute the first computing task, and the first standard computing engine is used to: send the standard task request corresponding to the first computing task to the conversion module, and the conversion module converts the standard task request into a heterogeneous task request recognizable by the first heterogeneous computing engine, and receives the standard execution result returned by the conversion module, and the standard execution result is obtained by the conversion module converting the heterogeneous execution result generated by the first heterogeneous computing engine based on the heterogeneous task request.
[0008] According to a second aspect of one or more embodiments of this specification, a data processing device is proposed, which is applied to a first node device deployed with a first blockchain node, and the blockchain network to which the first blockchain node belongs is deployed with an off-chain computing contract; the device includes:
[0009] An event monitoring unit, used to monitor a task event for the first computing task generated by the off-chain computing contract;
[0010] A task execution unit is used to call a first standard computing engine deployed on a first node device to execute a first computing task when the first blockchain node belongs to a participant node corresponding to a first computing task. The first standard computing engine is used to: send a standard task request corresponding to the first computing task to a conversion module, and the conversion module converts the standard task request into a heterogeneous task request recognizable by the first heterogeneous computing engine, and receives a standard execution result returned by the conversion module. The standard execution result is obtained by converting the conversion module into a heterogeneous execution result generated by the first heterogeneous computing engine based on the heterogeneous task request.
[0011] According to a third aspect of one or more embodiments of this specification, an electronic device is provided, including:
[0012] processor;
[0013] a memory for storing processor-executable instructions;
[0014] The processor implements the method as described in the first aspect by running the executable instructions.
[0015] According to a fourth aspect of one or more embodiments of the present specification, a computer-readable storage medium is provided, on which computer instructions are stored, and when the instructions are executed by a processor, the steps of the method described in the first aspect are implemented.
[0016] In the embodiments of this specification, a standard computing engine that conforms to the development paradigm that supports the execution of off-chain computing tasks is deployed on the node device, and a conversion module is introduced as a conversion medium between the standard computing engine and the heterogeneous computing engine. This allows heterogeneous computing engines that do not conform to the relevant development paradigm to support the execution of off-chain computing tasks without or with only a small amount of modification, thereby reducing the algorithm transplantation cost and expanding the limited computing engine resources of the node device to support the implementation of more types of off-chain computing tasks. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0018] Figure 1 It is a flowchart of a data processing method provided by an exemplary embodiment.
[0019] Figure 2a It is a schematic diagram of the architecture of a data processing system provided by an exemplary embodiment.
[0020] Figure 2b It is a schematic diagram of the architecture of another data processing system provided by an exemplary embodiment.
[0021] Figure 3 This is a schematic diagram of a computing engine interaction scenario provided by an exemplary embodiment.
[0022] Figure 4 It is a structural schematic diagram of a device provided by an exemplary embodiment.
[0023] Figure 5 It is a block diagram of a data processing device provided by an exemplary embodiment. DETAILED DESCRIPTION
[0024] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.
[0025] Figure 1 This is a flowchart of a data processing method provided by an exemplary embodiment. The method is applied to a first node device deployed with a first blockchain node, and the blockchain network to which the first blockchain node belongs is deployed with an off-chain computing contract; the method includes:
[0026] S102: Monitoring a task event for a first computing task generated by the off-chain computing contract;
[0027] In the embodiments of this specification, the off-chain computing contract is an on-chain carrier for carrying off-chain computing tasks. The off-chain computing contract defines several subtasks included in the off-chain computing task, which are used to describe the data flow in an off-chain computing task and the computing collaboration process of each node device. Since the off-chain computing contract is deployed on the blockchain network, the participant nodes of the off-chain computing task defined by the off-chain computing contract are limited to no more than the scope of each blockchain node in the blockchain network. Obviously, multiple off-chain computing contracts can be deployed in the same blockchain network, and the number and performance of the participant nodes involved in different off-chain computing contracts can be flexibly configured, which enables the deployment of off-chain computing tasks of different task types, task requirements and task scales based on the same blockchain network.
[0028] In order to illustrate how the off-chain computing contract guides the implementation of the off-chain computing tasks it defines, the following will briefly introduce the implementation logic of the off-chain computing tasks through the operation process of a typical off-chain computing contract. Users can generate the code of the off-chain computing contract through the visual contract orchestration system and deploy the off-chain computing contract in the blockchain network, so that the off-chain computing contract defines a type of off-chain computing task workflow, which is reflected in several subtasks with execution dependency order. After the off-chain computing contract is successfully deployed, users who have the authority to call the off-chain computing contract can create and start an off-chain computing task by initiating a task creation transaction to the off-chain computing contract. After receiving the task creation transaction, the off-chain computing contract will correspondingly create a task instance of the off-chain computing task belonging to the initiator user. The task instance maintains the task completion status of the off-chain computing task, which is specifically reflected in the task completion status of each subtask under the off-chain computing task. After the off-chain computing contract responds to the task creation transaction and generates the corresponding task instance, it will further trigger the execution of the first subtask corresponding to the instance. This is reflected in the off-chain computing contract as an event that generates a participant node containing the first subtask. Each blockchain node in the blockchain network can listen to the event, and the node devices of the blockchain nodes that determine that they belong to the participant nodes of the first subtask will further call the off-chain computing resources and / or off-chain storage resources that match the first subtask to execute the first subtask off-chain. Finally, after the execution is completed, the node devices of the participant nodes will further report to the chain. The off-chain computing contract initiates a result return transaction carrying the execution result of the first subtask, so that the off-chain computing contract updates the task completion status of the corresponding task instance. For example, when the execution result of the first subtask is successful, the off-chain computing contract will mark the task completion status of the first subtask in the corresponding task instance as completed, thereby triggering the execution of the next batch of subtasks according to the dependency order of the subtasks contained in the predefined off-chain computing task, and then generating an event of the participating node containing the next batch of subtasks for each blockchain node in the blockchain network to monitor, and its subsequent process is similar to the aforementioned process of processing the first subtask. In this way, a cycle of "off-chain computing contract updates task completion status → off-chain computing contract generates subtask events → blockchain nodes monitor subtask events and the designated node device executes subtasks → node devices initiate subtask result return transactions to off-chain computing contracts → off-chain computing contracts update task completion status" is formed, until the task completion status of all subtasks in the task instance in the off-chain computing contract is completed, it is determined that the off-chain computing task corresponding to the task instance has been executed.
[0029] It is not difficult to find that the tasks performed by the off-chain computing contract during the execution of the off-chain computing task only include scheduling tasks such as creating task instances, receiving subtask results, subtask scheduling and subtask distribution. In fact, the actual tasks defined and required by the off-chain computing task, such as data calculation, data transfer and data storage, are not really executed. These tasks that consume a lot of resources are scheduled to the corresponding off-chain of each node device for execution, thereby realizing a distributed computing based on blockchain through the event monitoring mechanism and the transaction feedback mechanism, so that the off-chain computing task is anchored by the off-chain computing contract on the blockchain, and the off-chain resources are fully utilized under the premise of ensuring that the entire process of task execution can be traced. At the same time, different node devices rely on the blockchain to achieve trusted information interaction and collaborative computing. In addition, since the off-chain computing task is defined in the form of a contract and the design of the off-chain computing task is not constrained by the on-chain resources, this means that different off-chain computing contracts can be designed to meet different actual needs, and the on-chain collaboration method is expanded through off-chain resources.
[0030] In an embodiment of the present specification, the off-chain computing contract maintains a task completion status corresponding to the off-chain computing task, and the task completion status is used to describe the completion status of each subtask contained in the off-chain computing task; when the first computing task belongs to a subtask of the off-chain computing task, the monitoring of the task event generated by the off-chain computing contract for the first computing task includes: monitoring the task event generated by the off-chain computing contract for the first computing task when the task completion status meets the execution condition corresponding to the first computing task. In an embodiment of the present specification, the off-chain computing task is represented as a corresponding task instance on the off-chain computing contract, and its task completion status is maintained in the corresponding task instance of the off-chain computing contract, which is specifically manifested as the completion status of each subtask maintained in the task instance. Since the execution dependency order of each subtask contained in the off-chain computing task has been pre-defined, which means that the execution condition of each subtask has also been determined, the off-chain computing contract can further determine the first computing task to be executed next based on the completion status of each subtask contained in the off-chain computing task, thereby initiating a task event for the first computing task. Furthermore, it also includes: when the first computing task is completed, a result return transaction containing the execution result corresponding to the first computing task is initiated to the off-chain computing contract through the first blockchain node to update the task completion status corresponding to the off-chain computing task maintained by the off-chain computing contract. As mentioned above, when the node device executes the first computing task by calling resources and completes the execution, the task completion status of the off-chain computing task maintained by the off-chain computing contract will be updated by initiating a result return transaction, so that the off-chain computing contract can further determine the next subtask to be executed according to the execution dependency order of each subtask in the off-chain computing task, and generate a task event for the next subtask. In the embodiment of this specification, the entity that listens to the task event generated by the off-chain computing contract and initiates a result return transaction to the off-chain computing contract is specifically the scheduling engine deployed on the first node device.
[0031] In an embodiment of the present specification, the task event for the first computing task generated by the off-chain computing contract monitored by the node device records the description information of the participant node of the first computing task. The task event includes the description information of the participant node of the first computing task, which means that the first computing task specifies the identity information of the blockchain nodes involved in the participation. The first node device can determine that the first blockchain node deployed by itself belongs to the participant of the first computing task when it is determined that the description information of the participant node contains the identification information of the first blockchain node deployed by itself, so the first node device needs to respond and execute the first computing task; if the description information of the participant node does not contain the identification information of the first blockchain node, the first node device can determine that the first blockchain node deployed by itself does not belong to the participant of the first computing task, so the first node device will not respond to execute the first computing task. In addition, the task event will also record the task identifiers of the off-chain computing task and the first computing task, so as to distinguish different tasks and subtasks. This is mainly to facilitate any subsequent node device to correctly identify the result of the first computing task in the off-chain computing task when it completes the execution of the first computing task and returns the result return transaction, so that the off-chain computing contract can correctly update the completion status of the first computing task in the task instance of the corresponding off-chain computing task through the result return transaction, so as to deal with the situation where the same task contains multiple subtasks and the same off-chain computing year contract creates multiple off-chain computing task instances at the same time. Of course, the first computing task also records the operations such as calculations and data transfers that it needs to perform, and specifies the source of the required data. This information is used to inform each node device of the task type and implementation method of the first computing task, so as to guide the node device to perform the first computing task as expected after determining the callable resources corresponding to the task type and implementation method of the first computing task.
[0032] As mentioned above, the task completion status is updated by the off-chain computing contract in response to the transaction trigger corresponding to the off-chain computing task, wherein the transaction corresponding to the off-chain computing task includes the task creation transaction corresponding to the off-chain computing task, or the result return transaction initiated by any node device when any of the subtasks is executed.
[0033] In the embodiments of this specification, the off-chain computing contract maintains the task completion status corresponding to one or more off-chain computing tasks. Normally, an off-chain computing contract will only define one type of off-chain computing task, but can create multiple task instances corresponding to the off-chain computing task, and each task instance will record the task completion status corresponding to the task instance. Therefore, the multiple task instances maintained on the off-chain computing contract can be triggered by different users initiating task creation contracts to the off-chain computing contract respectively, or they can be triggered by the same user by initiating task creation contracts multiple times, but these task instances have the same execution logic, that is, the task types of the tasks maintained by the off-chain computing contract are the same.
[0034] S104: When the first blockchain node belongs to a participant node corresponding to the first computing task, the first standard computing engine deployed on the first node device is called to execute the first computing task, and the first standard computing engine is used to: send the standard task request corresponding to the first computing task to the conversion module, and the conversion module converts the standard task request into a heterogeneous task request recognizable by the first heterogeneous computing engine, and receives the standard execution result returned by the conversion module, and the standard execution result is obtained by the conversion module converting the heterogeneous execution result generated by the first heterogeneous computing engine based on the heterogeneous task request.
[0035] In the embodiment of this specification, when the first node device determines that the first blockchain node deployed by itself belongs to the participant node corresponding to the first computing task, it will trigger the execution of the first computing task. At this time, the first node device will search locally for callable resources that can support the execution of the first computing task. Since the first standard computing engine deployed by the first node device can support the task type of the first computing task recorded in the execution task event, the first node device can call the first standard computing engine to execute the first computing task. In the embodiment of this specification, the entity that searches for callable resources locally and calls the computing engine under the chain to execute the computing task is specifically the scheduling engine deployed on the first node device. However, it should be noted that although the standard computing engine claims to the first node device that it has the ability to process the first computing task, it does not directly participate in the actual execution process of the first computing task such as data calculation, but only acts as an intermediary between the scheduling engine deployed on the first node device and the first heterogeneous computing engine that actually executes the first computing task, for conveying and converting task requests and task execution results.
[0036] In the embodiments of this specification, the off-chain computing engine that can be directly called by the first node device needs to comply with a set of standardized development paradigms to support the execution of off-chain computing tasks defined for the off-chain computing contract, that is, only the off-chain computing engine obtained according to a specific development paradigm can support the execution of the first computing task. The above-mentioned development paradigm is mainly reflected in the limitation of the programming language for writing the off-chain computing engine and / or the limitation of the supported network transport layer protocol. The limitation of this development paradigm is caused by the fact that the on-chain-off-chain computing system, which is used to execute the off-chain computing tasks defined by the off-chain computing contract and includes the scheduling engine, computing engine, data engine and other callable resources of each node device deployed with the blockchain node, is only installed with an SDK (Software Development Kit) that supports a specific programming language and a specific network transport layer protocol. Therefore, if it is necessary to make the off-chain computing engine compatible with other programming languages able to support the execution of off-chain computing tasks, there are two conventional practices: one is to rewrite the computing engine written using other development paradigms according to the programming language required by the on-chain-off-chain computing system; the other is to install an SDK that supports more programming languages for the on-chain-off-chain computing system. The former is equivalent to secondary development of the existing computing engine, which requires a large degree of program modification and high program transplantation costs, while the latter requires an upgrade of the underlying architecture of the on-chain-off-chain computing system installation, which also faces the problem of high development costs.
[0037] The heterogeneous computing engine involved in the embodiments of this specification refers to an off-chain computing engine that does not conform to the above-mentioned development paradigm and cannot be directly called by the first node device, while the standard computing engine involved in the embodiments of this specification refers to an off-chain computing engine that conforms to the above-mentioned development paradigm and can be directly called by the first node device. At the execution level, it is reflected as follows: when calling the first standard computing engine, the scheduling engine sends to the first standard computing engine a standard task request of the first computing task, and the standard task request can be recognized and responded to by the first standard computing engine, but cannot be recognized and responded to by the first heterogeneous computing engine; correspondingly, the first heterogeneous computing engine itself has a set of calling specifications, which can recognize the heterogeneous task request defined by the first heterogeneous computing engine, and execute the corresponding computing task in response to the heterogeneous task request, and generate the heterogeneous execution result defined by the first heterogeneous computing engine after executing the computing task, but the heterogeneous execution result cannot be directly recognized by the scheduling engine.
[0038] Since the interactive information between the first heterogeneous computing engine and the scheduling engine cannot be recognized by each other, it is impossible to directly hang the first heterogeneous computing engine on the scheduling engine so that it can be directly called by the scheduling engine, that is, it is impossible to introduce it into the on-chain-off-chain computing system without making a lot of modifications to the first heterogeneous computing engine or the on-chain-off-chain computing system to participate in the execution of off-chain computing tasks. Therefore, the embodiment of this specification sets up a first standard computing engine as an intermediary to connect the existing first heterogeneous computing engine in the node device, on the one hand, so that the scheduling engine can call it as smoothly as calling the off-chain computing engine that conforms to the relevant development paradigm, and on the other hand, it can also enable the first heterogeneous computing engine that does not conform to the relevant development paradigm to access the on-chain-off-chain computing system without any modification or only a small amount of modification, thereby reducing the development cost.
[0039] As mentioned above, the first node device calls the first standard computing engine to execute the first computing task, which specifically refers to the scheduling engine deployed in the first computing device sending the standard task request corresponding to the first computing task generated by itself to the first standard computing engine. Each first standard computing engine uniquely corresponds to a first heterogeneous computing engine. After the first standard computing engine receives the standard task request, it will further convert it through the conversion module, convert the standard task request into a heterogeneous task request that can be recognized by the corresponding first heterogeneous computing engine, and make the heterogeneous task request received by the corresponding first heterogeneous computing engine. After receiving the heterogeneous task request, the first heterogeneous computing engine will execute the first computing task, that is, perform the corresponding computing operation according to the computing task type, input data and other parameters carried in the heterogeneous task request. Finally, when the first heterogeneous computing engine completes execution of the first computing task, the generated heterogeneous execution result corresponding to the first computing task can be converted into a standard execution result that can be recognized by the first standard computing engine and the scheduling engine through the conversion module, so that the first standard computing engine will eventually return the standard execution result received from the conversion module to the scheduling engine, and the scheduling engine will carry it in the result return transaction corresponding to the first computing task and initiate the result return transaction to the off-chain computing contract.
[0040] In the embodiments of the present specification, the first heterogeneous computing engine is deployed on the first node device, or the first heterogeneous computing engine is not deployed on the first node device and a network connection is established between the first heterogeneous computing engine and the first standard computing engine. The first heterogeneous computing engine can be deployed on the first node device, in which case a local connection is established between the first standard computing engine and the first heterogeneous computing engine, and the interaction is performed through local calls; or the first heterogeneous computing engine can also be deployed outside the first node device, so that the heterogeneous computing engine in the external device establishes a network connection with the standard computing engine deployed on the first node device. The network connection can be established using a peer architecture or a client-server architecture, wherein, in the case of using a client-server architecture to establish a network connection, the first heterogeneous computing engine can be used as a client and the first standard computing engine as a server, or the first heterogeneous computing engine can be used as a server and the first standard computing engine as a client.
[0041] Furthermore, the network connection is established by the first standard computing engine and the first heterogeneous computing engine through the network protocol supported by the first heterogeneous computing engine. In the embodiment of this specification, the heterogeneous computing engine, as an existing computing engine, has its supported network transport layer protocol determined, and the specific network transport layer protocol supported by the scheduling engine in the first node device has also been determined, which means that even if the programming language of the heterogeneous computing engine conforms to the development paradigm of the on-chain-off-chain computing system, its corresponding network transport layer protocol is inconsistent with the specific network transport layer protocol supported by the scheduling engine, which will also cause the heterogeneous computing engine to be unable to directly access the scheduling engine and thus be unable to participate in the execution of off-chain computing tasks. Therefore, the embodiments of this specification introduce a standard computing engine as an intermediary to perform conversion and adaptation of the network transport layer protocol, that is, by establishing a network connection between the first standard computing engine and the scheduling engine using the first transport layer protocol supported by the scheduling engine, and establishing a second transport layer protocol supported by the first heterogeneous computing engine between the first standard computing engine and the first heterogeneous computing engine, thereby breaking through the network transmission barrier caused by the inconsistency of the network protocol between the scheduling engine and the first heterogeneous computing engine, and using a standard computing engine that simultaneously supports multiple network protocols as a bridge connecting the scheduling engine and the first heterogeneous computing engine, it is possible to connect heterogeneous computing engines with heterogeneous network protocols to the on-chain-off-chain computing system without making any changes to the network transmission.
[0042] In the embodiment of this specification, the conversion module is an interface program of the first standard computing engine or the first heterogeneous computing engine. Figure 2a or Figure 2b As shown, Figure 2a and Figure 2bEach of them is a schematic diagram of the architecture of a data processing system provided by an exemplary embodiment, which describes the basic architecture of a part of the on-chain-off-chain computing system (limited to the first node device) when the first heterogeneous computing engine is not deployed on the first node device. It can be found that in Figure 2a The conversion module is deployed on the first node device as an interface program of the first standard computing engine, and Figure 2b The middle conversion module is deployed as the first heterogeneous computing engine 2 outside the first node device, and is deployed on the external device together with the first heterogeneous computing engine.
[0043] In the embodiment of the present specification, the first standard computing engine is also used to: obtain the input data that the first computing task depends on from the first node device, and carry the input data in the standard task request. Since the first heterogeneous computing engine cannot directly access the on-chain-off-chain computing system, but needs to use the standard computing engine as an intermediary, the first heterogeneous computing engine lacks the ability to directly call the on-chain-off-chain computing system. For example, when executing the first computing task, the first heterogeneous computing engine may need to call the calling engine on the first node device to access some on-chain information (block information, contract status, etc.) of the blockchain network, but because it does not know the network address and calling rules of the scheduling engine (including the definition of the request structure and the definition of the response structure, these unknowns will cause the heterogeneous computing engine and the scheduling engine to be unable to recognize each other even if they can interact with each other. The interactive information transmitted between each other cannot be recognized by each other), so this requirement cannot be met. In order to avoid the above phenomenon, after receiving the call from the scheduling engine, the first standard engine can first collect the data in some on-chain-off-chain computing systems that the first heterogeneous computing engine will rely on when executing the first computing task in the future, and carry these data in the standard task request as the input data that the first computing task depends on, and then send the standard task request carrying the input data to the conversion module, so that the first heterogeneous computing engine can directly obtain these input data without temporarily obtaining them from the on-chain-off-chain computing system during the execution of the first computing task.
[0044] In an embodiment of the present specification, the first heterogeneous computing engine triggers sending the heterogeneous execution result to the conversion module when the first computing task is executed, and / or the first heterogeneous computing engine triggers sending the heterogeneous execution result to the conversion module when receiving a result query request for the first computing task. In an embodiment of the present specification, the first heterogeneous computing engine can send the generated heterogeneous execution result to the conversion module at the moment of completing the execution of the first computing task, and the conversion module returns the standard execution result obtained by converting it to the first standard computing engine; the first heterogeneous computing engine can also store the corresponding heterogeneous execution result locally in the first heterogeneous computing engine after completing the execution of the first computing task, and wait for the first standard computing engine to send it a result query request for the first computing task, and then trigger sending the heterogeneous execution result to the conversion module, and the conversion module returns the standard execution result obtained by converting it to the first standard computing engine. The embodiment of the present specification provides at least two ways to obtain the heterogeneous execution result corresponding to the first computing task, including actively pushing results and waiting for query results, to adapt to a variety of different application scenarios.
[0045] In the embodiments of this specification, a standard computing engine that conforms to the development paradigm that supports the execution of off-chain computing tasks is deployed on the node device, and a conversion module is introduced as a conversion medium between the standard computing engine and the heterogeneous computing engine. This allows heterogeneous computing engines that do not conform to the relevant development paradigm to support the execution of off-chain computing tasks without or with only a small amount of modification, thereby reducing the algorithm transplantation cost and expanding the limited computing engine resources of the node device to support the implementation of more types of off-chain computing tasks.
[0046] In the case where the first computing task corresponds to multiple participating nodes, multiple node devices will be involved in jointly executing the first computing task, specifically, it refers to the data interaction between multiple computing engines that are respectively connected to the multiple node devices through network connections or directly deployed on the multiple node devices. In the embodiments of this specification, the first heterogeneous computing engine that establishes a network connection with the first node device may also interact with other computing engines during the execution of the first computing task, and the first heterogeneous computing engine can achieve such interaction between computing engines in a variety of ways.
[0047] In one embodiment, the first heterogeneous computing engine is used to: in the process of executing the first computing task in response to the heterogeneous task request, obtain the first data sent by other computing engines for use in the process of executing the first computing task; and / or, send the second data generated in the process of executing the first computing task in response to the heterogeneous task request to the other computing engines, so that the other computing engines use the second data in the process of executing the first computing task. In this embodiment, the first heterogeneous computing engine can know which computing engines participate in the first computing task through the heterogeneous task request. Therefore, the first heterogeneous computing engine can, on the one hand, receive the first data of other computing engines that are also in the process of executing the first computing task during the execution of the first computing task, and the first data will be used by the first heterogeneous computing engine in the subsequent execution of the first computing task. On the other hand, the generated second data can also be sent to those other computing engines that are executing the first computing task that need to obtain the second data defined in the first computing task, so that the second data can be used in the subsequent execution of the first computing task by the other computing engines.
[0048] like Figure 3 As shown, Figure 3 This is a schematic diagram of a scenario of computing engine interaction provided by an exemplary embodiment. It is assumed that the participant nodes corresponding to the first computing task include the first blockchain node, the second blockchain node and the third blockchain node at the same time, and the computing engines specifically involved in executing the first computing task include the standard computing engine A and the off-chain computing engine A deployed on the first node device, the off-chain computing engine B deployed on the second node device, the standard computing engine B deployed on the third node device, and the heterogeneous computing engine A with which the standard computing engine A is connected, and the heterogeneous computing engine B with which the standard computing engine B is connected. Assuming that the definition of the first computing task includes the data interaction process in which the heterogeneous computing engine A obtains the first data from the off-chain computing engine B and sends the second data generated by itself to the heterogeneous computing engine B, then, for the heterogeneous computing engine A, it can obtain the second data provided by the off-chain computing engine B through the network connection established between it and the off-chain computing engine B, and send the first data generated by itself to the heterogeneous computing engine B through the network connection established between it and the heterogeneous computing engine B, thereby completing the data interaction process between the computing engines defined by the first computing task, so as to finally complete the first computing task with the help of the collaborative interaction of multiple computing engines.
[0049] In another embodiment, the first heterogeneous computing engine is used to: in the process of executing the first computing task in response to the heterogeneous task request, obtain the first data received by the first standard computing engine from other computing engines for use in the process of executing the first computing task; and / or, send the second data generated in the process of executing the first computing task in response to the heterogeneous task request to the other computing engines through the first standard computing engine, so that the other computing engines use the second data in the process of executing the first computing task. Different from the above embodiment, this embodiment requires that the heterogeneous computing engine can establish a network connection with the corresponding standard computing engine, but cannot establish a network connection with other computing engines participating in the execution of the first computing task. This is because the heterogeneous computing engine and other off-chain computing engines that conform to the on-chain-off-chain computing system development paradigm may not be able to establish a network connection normally (for example, due to inconsistent network protocols). Even if a network connection can be established, it may not be possible to recognize each other's interactive data (for example, due to inconsistent structure definitions caused by inconsistent programming languages). Therefore, in order to ensure the effectiveness of the interaction, it is necessary to avoid data interaction through the network connection directly established between the heterogeneous computing engine and other computing engines as much as possible. In this embodiment, a network connection is established between all off-chain computing engines that participate in executing the first computing task and conform to the on-chain-off-chain computing system development paradigm. When a heterogeneous computing engine has the need to interact with other computing engines for data, the corresponding standard computing engine is used as an intermediary to realize the conversion and forwarding of the interactive data, thereby ensuring the effectiveness of the interaction between the heterogeneous computing engine and other computing engines.
[0050] like Figure 3As shown, it is assumed that heterogeneous computing engine A has not established a direct network connection with heterogeneous computing engine B, and that off-chain computing engine A and off-chain computing engine B have not established a direct network connection. It is also assumed that the definition of the first computing task includes a data interaction process in which heterogeneous computing engine A obtains first data from off-chain computing engine B and sends second data generated by itself to heterogeneous computing engine B. Therefore, for the off-chain computing engine B, it can send the first data generated when executing the first computing task to the standard computing engine A; for the heterogeneous computing engine A, on the one hand, it receives the first data that the standard computing engine A obtains from the off-chain computing engine B and converts it through the conversion module and obtains the first data that can be recognized by the heterogeneous computing engine A; on the other hand, it converts the second data generated in the process of executing the first computing task into the second data that can be recognized by the on-chain-off-chain computing system through the conversion module and sends it to the standard computing engine A, and then the standard computing engine A forwards the second data that can be recognized by the on-chain-off-chain computing system to the standard computing engine B, so that the standard computing engine B passes the second data that can be recognized by the on-chain-off-chain computing system through the conversion module to obtain the second data that can be recognized by the heterogeneous computing engine B and finally sends it to the heterogeneous computing engine B, thereby completing the data interaction process between the computing engines defined by the first computing task, and finally completing the first computing task with the help of the collaborative interaction of multiple computing engines.
[0051] The other computing engines involved in the embodiments of this specification include: off-chain computing engines other than the first standard computing engine deployed on any node device, or heterogeneous computing engines other than the first heterogeneous computing engine that have established a network connection with the standard computing engine deployed on any node device, wherein the blockchain node in the blockchain network deployed on any node device belongs to the participant node.
[0052] Figure 4 is a schematic structural diagram of a device provided by an exemplary embodiment. Figure 4 At the hardware level, the device includes a processor 402, an internal bus 404, a network interface 406, a memory 408, and a non-volatile memory 410, and may also include hardware required for other functions. One or more embodiments of this specification may be implemented based on software, such as the processor 402 reading the corresponding computer program from the non-volatile memory 410 into the memory 408 and then running it. Of course, in addition to the software implementation, one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0053] like Figure 5 As shown, Figure 5is a block diagram of a data processing device provided by this specification according to an exemplary embodiment. The device can be applied to Figure 4 In the device shown, the technical solution of this specification is implemented; the device is applied to a first node device deployed with a first blockchain node, and the blockchain network to which the first blockchain node belongs is deployed with an off-chain computing contract; the device includes:
[0054] An event monitoring unit 501 is used to monitor the task event for the first computing task generated by the off-chain computing contract;
[0055] The task execution unit 502 is used to call the first standard computing engine deployed on the first node device to execute the first computing task when the first blockchain node belongs to the participant node corresponding to the first computing task. The first standard computing engine is used to: send the standard task request corresponding to the first computing task to the conversion module, and the conversion module converts the standard task request into a heterogeneous task request recognizable by the first heterogeneous computing engine, and receives the standard execution result returned by the conversion module. The standard execution result is obtained by converting the heterogeneous execution result generated by the first heterogeneous computing engine based on the heterogeneous task request by the conversion module.
[0056] Optionally, the conversion module is an interface program of the first standard computing engine or the first heterogeneous computing engine.
[0057] Optionally, the first standard computing engine is further used to: obtain input data on which the first computing task depends from the first node device, and carry the input data in the standard task request.
[0058] Optionally, the first heterogeneous computing engine triggers sending the heterogeneous execution result to the conversion module when the first computing task is executed, and / or,
[0059] The first heterogeneous computing engine triggers sending the heterogeneous execution result to the conversion module when receiving a result query request for the first computing task.
[0060] Optionally, the first heterogeneous computing engine is deployed on the first node device, or the first heterogeneous computing engine is not deployed on the first node device and a network connection is established between the first heterogeneous computing engine and the first standard computing engine.
[0061] Optionally, the network connection is established between the first standard computing engine and the first heterogeneous computing engine through a network protocol supported by the first heterogeneous computing engine.
[0062] Optionally, the first heterogeneous computing engine is used to: in the process of executing the first computing task in response to the heterogeneous task request, obtain the first data sent by other computing engines for use in the process of executing the first computing task; and / or,
[0063] The second data generated in the process of executing the first computing task in response to the heterogeneous task request is sent to the other computing engine, so that the other computing engine uses the second data in the process of executing the first computing task.
[0064] Optionally, the first heterogeneous computing engine is used to:
[0065] In the process of executing the first computing task in response to the heterogeneous task request, obtaining the first data received by the first standard computing engine from other computing engines for use in the process of executing the first computing task; and / or,
[0066] The second data generated in the process of executing the first computing task in response to the heterogeneous task request is sent to the other computing engines through the first standard computing engine, so that the other computing engines use the second data in the process of executing the first computing task.
[0067] Optionally, the other computing engines include:
[0068] An off-chain computing engine other than the first standard computing engine deployed on any node device, or a heterogeneous computing engine other than the first heterogeneous computing engine that has a network connection with the standard computing engine deployed on any node device, wherein the blockchain node in the blockchain network deployed on any node device belongs to the participant node.
[0069] Optionally, the off-chain computing contract maintains a task completion status corresponding to the off-chain computing task, and the task completion status is used to describe the completion status of each subtask included in the off-chain computing task; when the first computing task belongs to a subtask of the off-chain computing task, the event monitoring unit 501 is specifically used to:
[0070] Listen to the task event for the first computing task generated by the off-chain computing contract when the task completion status meets the execution condition corresponding to the first computing task.
[0071] Optionally, the task completion status is updated by the off-chain computing contract in response to a transaction trigger corresponding to the off-chain computing task, wherein the transaction corresponding to the off-chain computing task includes a task creation transaction corresponding to the off-chain computing task, or a result return transaction initiated by any node device upon completion of execution of any of the subtasks.
[0072] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0073] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0074] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, the present invention does not exclude that with the development of computer technology in the future, the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0075] Although one or more embodiments of the present specification provide method operation steps as described in the embodiments or flow charts, more or less operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps, and does not represent the only execution order. When the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment). The term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, product or equipment including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such a process, method, product or equipment. In the absence of more restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or equipment including the elements. For example, if the words first, second, etc. are used to represent the name, they do not represent any specific order.
[0076] For the convenience of description, the above devices are described in various modules according to their functions. Of course, when implementing one or more of the present specification, the functions of each module can be implemented in the same or more software and / or hardware, or the module implementing the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0077] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0078] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0079] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0080] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0081] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0082] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0083] It should be understood by those skilled in the art that one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, one or more embodiments of the present specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0084] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0085] Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. In the description of this specification, the description of the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representation of the above terms does not necessarily target the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples without contradiction.
[0086] The above description is only an example of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. For those skilled in the art, one or more embodiments of this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification shall be included in the scope of the claims.
Claims
1. A data processing method is applied to a first node device deployed with a first blockchain node, and the blockchain network to which the first blockchain node belongs is deployed with an off-chain computing contract; the method comprises: Listening to a task event for a first computing task generated by the off-chain computing contract; In the case where the first blockchain node belongs to the participant node corresponding to the first computing task, the first standard computing engine deployed on the first node device is called to execute the first computing task, and the first standard computing engine is used to: send the standard task request corresponding to the first computing task to the conversion module, and the conversion module converts the standard task request into a heterogeneous task request recognizable by the first heterogeneous computing engine, and receives the standard execution result returned by the conversion module, and the standard execution result is obtained by the conversion module converting the heterogeneous execution result generated by the first heterogeneous computing engine based on the heterogeneous task request. 2 . According to the method of claim 1 , the conversion module is an interface program of the first standard computing engine or the first heterogeneous computing engine.
3. According to the method of claim 1, the first standard computing engine is further used to: obtain input data that the first computing task depends on from the first node device, and carry the input data in the standard task request.
4. The method according to claim 1, wherein the first heterogeneous computing engine triggers sending the heterogeneous execution result to the conversion module when the first computing task is executed, and / or, The first heterogeneous computing engine sends the heterogeneous execution result to the conversion module when receiving a result query request for the first computing task.
5. According to the method of claim 1, the first heterogeneous computing engine is deployed on the first node device, or the first heterogeneous computing engine is not deployed on the first node device and a network connection is established between the first heterogeneous computing engine and the first standard computing engine. 6 . The method according to claim 5 , wherein the network connection is established between the first standard computing engine and the first heterogeneous computing engine through a network protocol supported by the first heterogeneous computing engine.
7. According to the method of claim 1, the first heterogeneous computing engine is used to: in the process of executing the first computing task in response to the heterogeneous task request, obtain the first data sent by other computing engines for use in the process of executing the first computing task; and / or, The second data generated in the process of executing the first computing task in response to the heterogeneous task request is sent to the other computing engine, so that the other computing engine uses the second data in the process of executing the first computing task.
8. The method according to claim 1, wherein the first heterogeneous computing engine is used to: In the process of executing the first computing task in response to the heterogeneous task request, obtaining the first data received by the first standard computing engine from other computing engines for use in the process of executing the first computing task; and / or, The second data generated in the process of executing the first computing task in response to the heterogeneous task request is sent to the other computing engines through the first standard computing engine, so that the other computing engines use the second data in the process of executing the first computing task.
9. The method according to claim 7 or 8, wherein the other computing engine comprises: An off-chain computing engine other than the first standard computing engine deployed on any node device, or a heterogeneous computing engine other than the first heterogeneous computing engine that has a network connection with the standard computing engine deployed on any node device, wherein the blockchain node in the blockchain network deployed on any node device belongs to the participant node.
10. According to the method of claim 1, the off-chain computing contract maintains a task completion status corresponding to the off-chain computing task, and the task completion status is used to describe the completion status of each subtask included in the off-chain computing task; when the first computing task belongs to a subtask of the off-chain computing task, the monitoring of the task event generated by the off-chain computing contract for the first computing task includes: Listen to the task event for the first computing task generated by the off-chain computing contract when the task completion status meets the execution condition corresponding to the first computing task.
11. The method according to claim 10, wherein the task completion status is updated by the off-chain computing contract in response to a transaction trigger corresponding to the off-chain computing task, wherein: The transaction corresponding to the off-chain computing task includes a task creation transaction corresponding to the off-chain computing task, or a result return transaction initiated by any node device when any of the subtasks is executed.
12. A data processing device, applied to a first node device deployed with a first blockchain node, wherein the blockchain network to which the first blockchain node belongs is deployed with an off-chain computing contract; the device comprises: An event monitoring unit, used to monitor a task event for the first computing task generated by the off-chain computing contract; A task execution unit is used to call a first standard computing engine deployed on a first node device to execute a first computing task when the first blockchain node belongs to a participant node corresponding to a first computing task. The first standard computing engine is used to: send a standard task request corresponding to the first computing task to a conversion module, and the conversion module converts the standard task request into a heterogeneous task request recognizable by the first heterogeneous computing engine, and receives a standard execution result returned by the conversion module. The standard execution result is obtained by converting the conversion module into a heterogeneous execution result generated by the first heterogeneous computing engine based on the heterogeneous task request.
13. An electronic device comprising: processor; a memory for storing processor-executable instructions; The processor implements the method according to any one of claims 1 to 11 by running the executable instructions.
14. A computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Method for scheduling calculation service for business process contract
CN113067898A
Conversion scheduling framework algorithm of high-concurrency and high-availability heterogeneous system
CN113590299A
