Method and apparatus for running program, and storage medium
By storing metadata in a shared storage system on the cloud platform, the first instance is allowed to send a call request to the second instance at the extension point, which solves the problem of limited freedom in the development of the second program. It enables the second program to rely on the complex computing tasks of the first program, and improves the flexibility and functional expansion of the program.
Patent Information
- Application Number
- PCT/CN2025/083831
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-29
- Filing Date
- 2025-03-20
- Publication Date
- 2025-10-02
AI Technical Summary
In the prior art, when a first instance in a cloud platform calls a second program while running a first program, the computing tasks of the second program are independent of the first program, resulting in limited freedom in developing the second program and an inability to implement complex computing tasks.
The first metadata is saved in a shared storage space in the cloud platform. Through the storage system shared by the first instance and the second instance, the first instance sends a call request carrying a metadata identifier when running to an extension point. The second instance reads the metadata and runs the second program to realize metadata inheritance.
The development freedom of the second program is improved, enabling it to realize complex computing tasks that rely on the first program, and enhancing the program's flexibility and functional expansion capabilities.
Smart Images

Figure CN2025083831_02102025_PF_FP_ABST
Abstract
Description
Method, device and storage medium for running program
[0001] This application claims priority to Chinese patent application No. 202410390919.X filed on March 29, 2024, entitled “Method, device and storage medium for running a program”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present application relates to the field of communications, and in particular to a method, device, and storage medium for running a program. Background Art
[0003] A cloud platform can be used to run programs. It includes instances, which can be used to run programs. For example, a cloud platform may include a first instance and a second instance. The first instance can be a virtual machine or container, and the second instance can be a virtual machine or container. The first instance is used to run a first program, and the second instance is used to run a second program, which is a program that the first program needs to call. In other words, a portion of the computing tasks required by the first program can be separated from the first program and implemented by the second program.
[0004] In related art, when a first instance needs to call a second program while running the first program, it can send a call request to the second instance. The second instance runs the second program based on the call request, obtains the execution result of the second program after running the second program, and sends a call response to the first instance, which includes the execution result. The first instance then continues to run the first program based on the execution result.
[0005] In the related art, the computing task implemented by the second program that can be run by the second instance is a simple computing task independent of the first program. This places many restrictions on developing the second program, reducing the degree of freedom in developing the second program. Summary of the Invention
[0006] This application provides a method, device, and storage medium for running a program to increase the degree of freedom in program development. The technical solution is as follows:
[0007] In a first aspect, the present application provides a method for running a program, the method being applied to a cloud platform, wherein the cloud platform runs a first instance and a second instance, the first instance being a virtual machine or a container, the second instance being a virtual machine or a container, the first instance including a first program, the second instance including a second program, the first program including a first extension point, the first extension point being used to indicate the call of the second program, and the cloud platform storing first metadata that the first program needs to pass to the second program. In the method, when the first program in the first instance runs to the first extension point, the cloud platform sends a first call request to the second instance, the first call request including an identifier of the second program and an identifier of the first metadata, the first call request being used to instruct the second instance to run the second program based on the identifier of the first metadata and the identifier of the second program. The cloud platform transmits the first running result obtained by the second instance running the second program to the first instance, so that the first instance continues to run the first program based on the first running result.
[0008] Since the cloud platform is used to store the first metadata, the space in the cloud platform can be accessed by the first instance and the second instance, that is, the storage space in the cloud platform used to store the first metadata is a shared storage space. In this way, when the first program in the first instance runs to the first extension point, the cloud platform sends a first call request to the second instance. The first call request includes the identifier of the second program and the identifier of the first metadata. The second instance can read the first metadata from the cloud platform based on the identifier of the first metadata, and pass the first metadata required by the first program to the second instance. The second instance can run the second program based on the first metadata. In this way, when developing the second program, you can develop a program that depends on the metadata provided by the first program, that is, you can develop a second program that depends on the computing tasks of the first program, without many restrictions on the development of the second program, which increases the freedom of developing the second program.
[0009] In one possible implementation, the cloud platform includes a hook function associated with a first extension point. This hook function is used to instruct the first instance to send a first call request to the second instance. The first instance is configured to call the hook function when running to the first extension point. When the hook function is called by the first instance, the cloud platform sends the first call request to the second instance based on the hook function. In this way, by detecting whether the hook function has been called, the cloud platform determines whether the first instance needs to call the second program, thereby accurately determining whether the first call request needs to be sent to the second instance.
[0010] In another possible implementation, the first instance also includes a third program, the cloud platform also stores second metadata required to run the third program, the second program includes a second extension point, and the second extension point is used to indicate the call of the third program. When the second program in the second instance runs to the second extension point, the cloud platform sends a second call request to the first instance, the second call request includes the identifier of the third program and the identifier of the second metadata, and the second call request is used to instruct the first instance to run the third program based on the identifier of the second metadata and the identifier of the third program. The cloud platform transmits the second running result obtained by the first instance running the third program to the second instance, so that the second instance continues to run the second program based on the second running result. In this way, when the second program needs to call back the third program to the first instance, the cloud platform sends a second call request to the first instance, causing the first instance to run the third program. In this way, a second program that can call back the third program in the first instance can be developed, thereby increasing the freedom of developing the second program.
[0011] In another possible implementation, the first call request also includes the identifier of the first instance, and the cloud platform receives the identifier of the first instance from the second instance. Based on the identifier of the first instance, the cloud platform sends the second call request to the first instance, thereby accurately calling back the third program to the first instance.
[0012] In another possible implementation, the cloud platform receives a first program and a second program from an external source, loads the first program into a first instance, and loads the second program into a second instance.
[0013] In another possible implementation, the cloud platform is a Software as a Service (SaaS) platform.
[0014] In another possible implementation, the first program is a vendor-layer program of the SaaS platform, and the second program is a tenant-layer program of the SaaS platform.
[0015] In another possible implementation, the first call request is a remote procedure call (RPC) protocol request.
[0016] In a second aspect, the present application provides a device for running a program, configured to execute the method in the first aspect or any possible implementation of the first aspect. Specifically, the device includes a unit configured to execute the method in the first aspect or any possible implementation of the first aspect.
[0017] In a third aspect, the present application provides a computing device cluster, the computing device cluster comprising at least one computing device, each computing device comprising a processor and a memory;
[0018] The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method in the first aspect or any possible implementation manner of the first aspect.
[0019] In a fourth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device cluster, causes the computing device cluster to execute the method in the first aspect or any possible implementation of the first aspect.
[0020] In a fifth aspect, the present application provides a computer-readable storage medium comprising computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method in the first aspect or any possible implementation of the first aspect.
[0021] In a sixth aspect, the present application provides a chip comprising a memory and a processor, wherein the memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory to execute the method in the first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] FIG1 is a schematic diagram of a cloud platform provided in an embodiment of the present application;
[0023] FIG2 is a schematic diagram of another cloud platform provided in an embodiment of the present application;
[0024] FIG3 is a schematic diagram of another cloud platform provided in an embodiment of the present application;
[0025] FIG4 is a schematic diagram of an interface provided in an embodiment of the present application;
[0026] FIG5 is a schematic diagram of a first program and a second program provided in an embodiment of the present application;
[0027] FIG6 is a flow chart of a method for running a program provided in an embodiment of the present application;
[0028] FIG7 is a flow chart of another method for running a program provided in an embodiment of the present application;
[0029] FIG8 is a schematic diagram of the structure of a device for running a program provided in an embodiment of the present application;
[0030] FIG9 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0031] FIG10 is a schematic diagram of a cluster structure of a running program provided in an embodiment of the present application;
[0032] FIG11 is a schematic diagram of another cluster structure of a running program provided in an embodiment of the present application. DETAILED DESCRIPTION
[0033] Cloud platforms include instances, which are used to run programs. Instances can be virtual machines or containers on the cloud platform. If the same instance is used to run two programs—a first program and a second program—the first program needs to call the second program, which may be different types. This can lead to operational security issues when running the first and second programs, and the second program could cause the instance to crash.
[0034] For example, the first program is a vendor-level program on the cloud platform, while the second program is a tenant-level program on the cloud platform. The first program might be developed based on program code provided by the cloud platform and is therefore relatively secure. The second program might be a program written freely by the tenant in a general-purpose programming language and may have security issues. Therefore, when running both the first and second programs on the same instance, the instance might crash when running the second program.
[0035] To solve this problem, two instances can be used to run the first program and the second program, that is, one instance runs the first program and the other instance runs the second program, so as to perform process isolation on the running environments of the two programs.
[0036] In some embodiments, referring to FIG1 , an embodiment of the present application provides a cloud platform 100, which includes a first instance 101 and a second instance 102. The first instance 101 may be a virtual machine or container on the cloud platform, and the second instance 102 may be a virtual machine or container on the cloud platform. However, the first instance 101 and the second instance 102 are different.
[0037] The cloud platform 100 can receive a first program and a second program from the outside, load the first program into the first instance 101, and load the second program into the second instance 102, so that the first instance 101 includes the first program and the second instance 102 includes the second program, and the second program is the program that the first program needs to call.
[0038] The first instance 101 is used to receive a run request, where the run request includes an identifier of a first program to be run, obtain third metadata, where the third metadata is metadata required to run the first program, run the first program corresponding to the identifier of the first program based on the third metadata, and when it is detected during the process of running the first program that a second program needs to be called, send a first call request to the second instance 102, where the first call request includes the identifier of the second program.
[0039] The second instance 102 is used to receive the first call request, obtain the second program based on the identifier of the second program included in the first call request, run the second program, and after running the second program, send a first call response to the first instance 101. The first call response includes a first running result obtained by running the second program.
[0040] The first instance 101 is further configured to receive a first call response and continue running the first program based on the first running result.
[0041] In some embodiments, the identifier of the second program is used to indicate or point to the second program, and is a program identifier used to identify the second program.
[0042] In some embodiments, the first program and / or the second program may be programs developed by a technician (also referred to as a tenant). The external device may include a terminal device corresponding to the technician, that is, the technician develops the first program on the terminal device based on the program code provided by the cloud platform 100, freely writes the second program in a general programming language, and then uploads the first program and the second program to the cloud platform 100. The cloud platform 100 may receive the first program and the second program from the terminal device, load the first program into the first instance 101 in the cloud platform 100, and load the second program into the second instance 102 in the cloud platform 100.
[0043] The first program may need to provide the first metadata to the second program. The first metadata and the third metadata are both metadata of the first program, that is, the metadata of the first program includes the first metadata and the third metadata. Second instance 102 requires the first metadata when running the second program. Because first instance 101 and second instance 102 are two different operating environments across virtual machines or containers, second instance 102 cannot directly call the first metadata from first instance 101. In other words, first instance 101 cannot send the first metadata to second instance 102.
[0044] Because first instance 101 cannot send the first metadata to second instance 102, the second program cannot inherit the first program's metadata, and second instance 102 cannot run the second program based on the first metadata. Therefore, the logic of the second program is relatively independent of the logic of the first program, and the computing task implemented by the second program is a simple computing task independent of the first program.
[0045] Since the second program cannot inherit the first metadata, the second program can only implement independent simple computing tasks. Therefore, when developing the second program, only a second program that does not rely on the metadata of the first program can be developed, that is, only a second program that implements simple computing tasks can be developed, which limits the development freedom.
[0046] First instance 101 cannot use the first call request to carry the first metadata, and can send the first metadata to second instance 102 by sending the first call request to second instance 102. Carrying the first metadata through the first call request requires encapsulating the first metadata in the first call request, which is very costly.
[0047] Furthermore, if the second program running in second instance 102 is a third program, first instance 101 may also include a third program. While the second program may need to call the third program, second instance 102 cannot request first instance 101 to call the third program when running the second program. Therefore, when developing the second program, it is also impossible to develop a second program that can call the third program, limiting the freedom of development of the second program.
[0048] To enable the second program to inherit the metadata of the first program, cloud platform 100 stores the first metadata. The space storing the first metadata in cloud platform 100 is a shared space, accessible to both first instance 101 and second instance 102. First instance 101 can store the first metadata in the shared space and notify second instance 102 of the identifier of the first metadata. Second instance 102 can then read the first metadata from the shared space based on the identifier of the first metadata.
[0049] In some embodiments, referring to FIG2 , cloud platform 100 further includes a storage system 103 . Storage system 103 includes metadata of the first program, i.e., storage system 103 includes first metadata and third metadata. Storage system 103 is a shared storage system that can be accessed by both first instance 101 and second instance 102 .
[0050] A first program developed by a technician may include a first extension point, which is used to instruct the call of a second program. The first program includes first content, a first extension point, and second content. The first extension point is located between the first content and the second content, the first content is located before the first extension point, and the first extension point is located before the second content. Cloud platform 100 includes a first hook function corresponding to the first extension point. The first hook function includes an identifier of the second program and an identifier of the first metadata. The first hook function is used to instruct cloud platform 100 to send a first call request to second instance 102. Optionally, the first hook function includes logic for sending the first call request to second instance 102.
[0051] Thus, the first instance 101 is configured to read the third metadata from the storage system 103, execute the first content included in the first program based on the third metadata, start executing the first extension point after executing the first content, and call the first hook function in the cloud platform 100 based on the executed first extension point.
[0052] When it is detected that the first hook function is called by the first instance 101, the cloud platform 100 is used to send a first call request to the second instance 102 by running the first hook function, and the first call request includes an identifier of the first metadata in the first hook function and an identifier of the second program.
[0053] The second instance 102 is configured to receive the first call request, read the first metadata from the storage system 103 based on the identifier of the first metadata, and run the second program corresponding to the identifier of the second program based on the first metadata.
[0054] Because storage system 103 is a shared storage system accessible to both first instance 101 and second instance 102, when first instance 101 calls the second program, the first call request sent by cloud platform 100 to second instance 102 may include the identifier of the first metadata. In this way, second instance 102 can read the first metadata from storage system 103 based on the identifier of the first metadata, thereby enabling the first program to provide the first metadata to the second program.
[0055] The second instance 102 runs the second program based on the first metadata, so that the second program can inherit the metadata of the first program. In this way, when developing the second program, it is possible to develop a second program that implements complex computing tasks related to the first program, that is, it is possible to develop a second program that relies on the metadata of the first program, thereby increasing the degree of freedom in developing the second program.
[0056] In some embodiments, the second program developed by a technician includes third content, a second extension point, and fourth content. The second extension point is used to instruct the call of the third program. The second extension point is located between the third content and the fourth content, the third content is located before the second extension point, and the second extension point is located before the fourth content. Storage system 103 also includes second metadata required to run the third program. Cloud platform 100 includes a second hook function corresponding to the second extension point. The second hook function includes an identifier for the third program and an identifier for the second metadata. The second hook function is used to instruct cloud platform 100 to send a second call request to first instance 101.
[0057] The second instance 102 is configured to receive the first call request, read the first metadata from the storage system 103 based on the identifier of the first metadata, execute the third content included in the second program based on the first metadata, execute the second extension point after executing the third content, and call the second hook function based on the executed second extension point.
[0058] When it is detected that the second hook function is called by the second instance 102, the cloud platform 100 is further used to send a second call request to the first instance 101 by running the second hook function, and the second call request includes the identifier of the third program in the second hook function and the identifier of the second metadata.
[0059] The first instance 101 is also used to receive a second call request, read the second metadata from the storage system 103 based on the identifier of the second metadata, run the third program corresponding to the identifier of the third program based on the second metadata, and send a second call response to the cloud platform 100, where the second call response includes a second running result of running the third program.
[0060] The cloud platform 100 is further configured to receive a second call response and send the second call response to the second instance 102 .
[0061] The second instance 102 is further configured to receive a second call response, continue to execute the fourth content of the second program based on the second execution result, and obtain the first execution result of the second program after executing the fourth content.
[0062] In some embodiments, referring to FIG. 3 , the first instance 101 includes a first metadata engine, and the second instance 102 includes a second metadata engine.
[0063] The first metadata engine is configured to read metadata from the storage system 103. For example, the first metadata engine is configured to read third metadata from the storage system 103, and / or read second metadata from the storage system 103 based on an identifier of the second metadata.
[0064] The second metadata engine is configured to read metadata from the storage system 103. For example, the second metadata engine is configured to read the first metadata from the storage system 103 based on the identifier of the first metadata.
[0065] In some embodiments, first instance 101 occupies first hardware resources of cloud platform 100, and the first hardware resources are used to run first instance 101. Second instance 102 occupies second hardware resources of cloud platform 100, and the second hardware resources are used to run second instance 102. Optionally, the first hardware resources include at least one processor and memory space, and the second hardware resources include at least one processor and memory space.
[0066] In some embodiments, the storage system 103 may be a database or a file system, etc.
[0067] In some embodiments, the cloud platform 100 may be a software as a service (SaaS) platform.
[0068] In some embodiments, the first program is a vendor-layer program of the SaaS platform, and the second program is a tenant-layer program of the SaaS platform.
[0069] That is, the first program is a program developed based on the program code included in the SaaS platform, and the second program is a program developed based on a general programming language. Optionally, the general programming language can be a programming language such as Java, JavaScript, or GROOVY, which is an agile development language based on the JVM (Java Virtual Machine).
[0070] Optionally, the SaaS platform can display a first development interface, which includes a first component library and a first editing area. The first component library includes multiple components, each component implements different functions, and the technicians who develop the first program and the second program can be tenants on the SaaS platform.
[0071] Based on the functionality of the first program to be developed, the tenant can drag multiple components from the first component library into the first editing area, set a first extension point in the first editing area, and set the execution order between the multiple components in the first editing area and the first extension point. The SaaS platform then generates the first program and third metadata for the first program based on the multiple components in the first editing area and the first extension point, as well as the execution order between the multiple components in the first editing area and the first extension point, and stores the third metadata in the storage system 103.
[0072] Each component in the first component library is the program code included in the SaaS platform. Because the program code included in the SaaS platform may not meet the needs of tenants, tenants need to perform secondary development to meet their needs. In other words, tenants can use a general programming language to write a second program. Optionally, the components in the first component library may be one or more application programming interfaces (APIs).
[0073] Because tenants can use a general-purpose programming language to write their second program, rather than basing it on the program code included with the SaaS platform, they can freely write their second program, freeing up their freedom for secondary development. After developing the second program, the tenant can provide it to the SaaS platform. The SaaS platform can then generate first metadata that the first program needs to provide to the second program and save the first metadata to storage system 103.
[0074] After obtaining the first and second programs, the SaaS platform starts first instance 101 and second instance 102, loading the first program into first instance 101 and the second program into second instance 102, so that first instance 101 includes the first program and second instance 102 includes the second program. When the tenant needs to run the first program, they can send a run request to first instance 101. After receiving the run request, first instance 101 runs the first program.
[0075] For example, the SaaS platform can display the first development interface as shown in Figure 4. The first component library of the first development interface includes an input component, a query component, an update component, etc. The input component is used to receive input data, the query component is used to query the database, and the update component is used to update the database.
[0076] Assume that the database is used to store the correspondence between user names and ages. The first program that the tenant needs to develop is used to query a user's age from the database and determine whether the user's age is the same as the user's actual age. If different, the user's age stored in the database is updated to the user's actual age, and the judgment log is recorded.
[0077] Based on the functionality that the first program needs to implement, the tenant drags an input component, a query component, and an update component from the first component library of the first development interface to the first editing area of the first development interface, and sets a first extension point in the first editing area. In the first editing area, the execution order of the input component is set to be earlier than the execution order of the query component, the execution order of the query component is set to be earlier than the execution order of the first extension point, and the execution order of the first extension point is set to be earlier than the execution order of the update component. The input component, query component, and update component are the input API, query API, and update API, respectively.
[0078] Because the first component library lacks a component for determining whether the user's age is the same as their actual age and logging the determination, the tenant needs to write a second program in a general-purpose programming language. The first extension point is used to instruct the call to the second program. Referring to Figure 5 , the second program is used to determine whether the user's age is the same as their actual age and, if different, log the determination. The second program includes a determination API and a logging API.
[0079] Referring to FIG5 , the SaaS platform generates a first program and third metadata for the first program based on the input component, query component, first extension point, and update component included in the first editing area, as well as the execution order among the input component, query component, first extension point, and update component. The first program includes an input API, a query API, a first extension point, and an update API. The SaaS platform obtains a second program, which includes a judgment API and a record API, and generates first metadata that the first program needs to provide to the second program based on the second program. The SaaS platform starts the first instance 101 and the second instance 102, loads the first program into the first instance 101, and loads the second program into the second instance 102, so that the first instance 101 includes the first program and the second instance 102 includes the second program, and stores the third metadata and the first metadata in the storage system 103.
[0080] The third metadata includes the type of input data.
[0081] In some embodiments, the third program may also be a vendor-layer program of the SaaS platform, that is, the third program is a program developed based on the program code included in the SaaS platform.
[0082] The process of a tenant developing a third program may be as follows: the SaaS platform displays a second development interface, which may be the same as the first development interface. Based on the functions to be implemented by the third program to be developed, the tenant can drag multiple components from the second component library included in the second development interface to the second editing area included in the second development interface, and set the execution order between the multiple components in the second editing area. The SaaS platform then generates the third program and second metadata for the third program based on the multiple components in the second editing area and the execution order between the multiple components in the second editing area, and saves the second metadata in the storage system 103. In addition, the SaaS platform also loads the third program into the started first instance 101, so that the first instance 101 also includes the third program.
[0083] In some embodiments, the cloud platform 100 is a computing device cluster, which includes at least one first computing device and at least one second computing device. The first instance 101 is the at least one first computing device, and the second instance 102 is the at least one second computing device.
[0084] In some embodiments, the at least one first computing device does not include resources required to run the second program, but the at least one second computing device includes resources required to run the second program.
[0085] 6 , an embodiment of the present application provides a method 600 for running a program. The method 600 is applied to the cloud platform shown in FIG. 2 , and the method 600 includes the following process.
[0086] Step 601: The first instance receives a run request, which includes an identifier of a first program and an identifier of third metadata.
[0087] The tenant may send the run request to the first instance of the cloud platform, where the run request includes the identifier of the first program corresponding to the tenant and the identifier of the third metadata, etc. Optionally, the identifier of the first program may be a uniform resource locator (URL) of the first program, etc.
[0088] Step 602: The first instance reads the third metadata from the cloud platform based on the identifier of the third metadata, and runs the first program corresponding to the identifier of the first program based on the third metadata.
[0089] In step 602, the first instance reads the third metadata from the storage system included in the cloud platform based on the identification of the third metadata, searches for the first program from the programs included in the first instance based on the identification of the first program, the first program includes the first content, the first extension point and the second content, and runs the first content based on the third metadata.
[0090] In some embodiments, the first content includes at least one API, and the second content includes at least one API, so the first program includes multiple APIs and a first extension point. Optionally, the first extension point may also be an API.
[0091] The third metadata includes sub-metadata of each API in the first program.
[0092] As shown in Figure 7, the first example scans the first API included in the first program. If the scanned API is not the first extension point, the sub-metadata of the scanned API is obtained from the third metadata, and the scanned API is executed based on the sub-metadata. After the scanned API is executed, the next API is scanned.
[0093] For example, for the first program in FIG5 , the first instance scans the first API of the first program as an input API, and obtains sub-metadata of the input API from the third metadata, where the sub-metadata defines the format and type of the user name to be queried.
[0094] The first instance runs an input API based on the sub-metadata and receives a user name to be queried, namely, name1, through the input API. Before receiving name1, the first instance determines, based on the sub-metadata, whether the format and type of name1 satisfy the format and type defined in the sub-metadata. If so, name1 is accepted.
[0095] The first instance then scans the next API, which is a query API, and obtains sub-metadata for the query API from the third metadata. This sub-metadata defines the address of the database to be queried. Assume that the database stores a correspondence between name1 and age 30. The first instance runs the query API and determines the database based on the address. Based on name1, it retrieves the corresponding age from the database, which is 30.
[0096] The first instance scans the next API, which is the first extension point, and performs the following operations.
[0097] Step 603: When the first instance runs to the first extension point included in the first program, the first hook function corresponding to the first extension point is called, and the cloud platform includes the first hook function.
[0098] The first hook function includes an identifier of the second program and an identifier of the first metadata.
[0099] In step 603, when the first instance runs to the first extension point included in the first program, it determines the first hook function corresponding to the first extension point in the cloud platform and initiates a function call for the first hook function to the cloud platform.
[0100] In some embodiments, the first extension point includes an identifier of the first hook function, and the first instance initiates a function call for the first hook function to the cloud platform based on the identifier of the first hook function.
[0101] Step 604: When the first hook function is called by the first instance, the cloud platform sends a first call request to the second instance, where the first call request includes an identifier of the first metadata and an identifier of the second program.
[0102] When the first instance initiates a function call for the first hook function to the cloud platform, the cloud platform can detect the function call for the first hook function, and then send a first call request to the second instance by running the first hook function. The first call request includes the identifier of the first metadata in the first hook function and the identifier of the second program.
[0103] In some embodiments, the first call request also includes an identifier of the first instance.
[0104] In some embodiments, the first call request includes a first input parameter, which is obtained by running the first content. When the first instance initiates a function call for the first hook function to the cloud platform, it also sends the first input parameter to the cloud platform.
[0105] In some embodiments, referring to FIG7 , the first instance determines the currently scanned API. If the API is a first extension point, it determines a first hook function based on the first extension point and initiates a function call to the cloud platform for the first hook function. The cloud platform detects the function call to the first hook function, obtains the first metadata identifier and the second program identifier from the first hook function, and sends a first call request to the second instance. The first call request includes the first metadata identifier and the second program identifier.
[0106] For example, referring to Figure 5 , the API currently scanned by the first instance is the first extension point, which also corresponds to a tenant. When the first instance initiates a function call to the cloud platform for the first hook function, it also notifies the cloud platform of the tenant's identifier. The tenant's identifier corresponds to the second instance, so the cloud platform can determine the second instance based on the tenant's identifier and send a first call request to the second instance. The first call request includes a first input parameter, an identifier of the first metadata, and an identifier of the second program. The first input parameter includes the queried age of 30, and the first metadata includes the actual age of the user to be queried, which is 35.
[0107] In some embodiments, the first instance and the second instance communicate with each other using a remote procedure call protocol (RPC), and the first call request may be an RPC request, etc.
[0108] Step 605: The second instance receives the first call request, reads the first metadata from the cloud platform based on the identifier of the first metadata included in the first call request, and executes the second program corresponding to the identifier of the second program based on the first metadata.
[0109] In step 605, the second instance receives the first call request, reads the first metadata from a storage system included in the cloud platform based on the identifier of the first metadata included in the first call request, retrieves the second program from programs included in the second instance based on the identifier of the second program included in the first call request, and runs the second program based on the first metadata. Optionally, if the first call request also includes a first input parameter, the second instance runs the second program based on the first metadata and the first input parameter.
[0110] In some embodiments, the second program may include third content, a second extension point, and fourth content, and the third content is executed based on the first metadata.
[0111] In some embodiments, the third content includes at least one API, and the fourth content includes at least one API, so the second program includes multiple APIs and a second extension point. Optionally, the second extension point may also be an API.
[0112] The first metadata includes sub-metadata of each API in the second program.
[0113] In some embodiments, regarding step 605, referring to FIG. 7 , the second instance scans the first API included in the second program. If the scanned API is not the second extension point, the second instance obtains sub-metadata of the scanned API from the first metadata, executes the scanned API based on the sub-metadata, and then scans the next API after executing the scanned API.
[0114] For example, for the second program in Figure 5, the second instance receives a first call request, which includes a first input parameter (the queried age 30), an identifier of the first metadata, and an identifier of the second program. Based on the identifier of the first metadata, the first metadata is obtained from the storage system of the cloud platform. The first metadata includes the actual age 35 of the user to be queried. Based on the identifier of the second program, the second program is obtained, and the first API of the second program is scanned as a judgment API. The judgment API is run to determine whether the queried age 30 is the same as the actual age 35, and the judgment result obtained is different. The second instance scans the next API as a record API, and records the judgment result by running the record API.
[0115] In some embodiments, if the second program includes a second extension point, the second instance runs the second program through the following process, where the second extension point corresponds to a second hook function in the cloud platform, and the second hook function includes an identifier of the third program and an identifier of the second metadata. Optionally, the second extension point includes an identifier of the second hook function.
[0116] 6051: The second instance runs the third content included in the second program based on the first metadata.
[0117] 6052: When the second instance runs to the second extension point included in the second program based on the first metadata, the second instance calls the second hook function corresponding to the second extension point.
[0118] In 6052, when the second instance runs to the second extension point included in the second program, it determines the second hook function corresponding to the second extension point in the cloud platform and initiates a function call for the second hook function to the cloud platform.
[0119] In some embodiments, the second extension point includes an identifier of the second hook function, and the second instance initiates a function call for the second hook function to the cloud platform based on the identifier of the second hook function.
[0120] In some embodiments, the first call request includes the identifier of the first instance, and when the second instance initiates a function call to the cloud platform for the second hook function, it also sends the identifier of the first instance to the cloud platform. Furthermore, when the second instance initiates a function call to the cloud platform for the second hook function, it sends a second input parameter to the cloud platform, where the second input parameter is obtained by executing the third content.
[0121] 6053: When the second hook function is called by the second instance, the cloud platform sends a second call request to the first instance, where the second call request includes an identifier of the second metadata and an identifier of the third program.
[0122] When the second instance initiates a function call for the second hook function to the cloud platform, the cloud platform can detect the function call for the second hook function, and then send a second call request to the first instance by running the second hook function. The second call request includes the identifier of the second metadata in the second hook function and the identifier of the third program.
[0123] In some embodiments, the cloud platform receives an identifier of the first instance, and based on the identifier of the first instance, sends a second call request to the first instance.
[0124] In some embodiments, the cloud platform further receives a second input parameter sent by the second instance, and the second call request may further include the second input parameter.
[0125] In some embodiments, the second call request may be an RPC request.
[0126] 6054: The first instance receives the second call request, reads the second metadata from the cloud platform based on the identifier of the second metadata, and runs the third program corresponding to the identifier of the third program based on the second metadata.
[0127] In 6054, the first instance receives the second call request, reads the second metadata from the cloud platform's storage system based on the identifier of the second metadata included in the second call request, retrieves the third program from the programs included in the first instance based on the identifier of the third program included in the second call request, and runs the third program based on the second metadata. Optionally, if the second call request also includes a second input parameter, the first instance runs the third program based on the second metadata and the second input parameter.
[0128] In some embodiments, the third program includes multiple APIs, and the second metadata includes sub-metadata for each API in the third program. The first instance scans a first API included in the third program, obtains the sub-metadata for the scanned API from the second metadata, and runs the scanned API based on the sub-metadata. After running the scanned API, the first instance scans the next API and runs the scanned APIs in the same manner as described above until the last API in the third program is run.
[0129] 6055: The first instance sends a second call response to the cloud platform. The second call response includes a second running result obtained by running the third program and an identifier of the second instance.
[0130] In some embodiments, the second call response may be an RPC response.
[0131] 6056: The cloud platform receives the second call response, obtains the identifier of the second instance from the second call response, and sends the second call response to the second instance based on the identifier of the second instance.
[0132] 6057: The second instance receives the second call response and continues to run the second program based on the second running result.
[0133] In 6057, the second instance receives the second call response and continues to run the fourth content included in the second program based on the second running result.
[0134] Step 606: The second instance sends a first call response to the cloud platform. The first call response includes a first running result obtained by running the second program and an identifier of the first instance.
[0135] For example, for the second program shown in Figure 5, after the second instance runs the second program, the first running result obtained is that the queried age is different from the actual age, and a first call response is sent to the cloud platform. The first call response includes the first running result and the identifier of the first instance.
[0136] In some embodiments, the first call response may be an RPC response.
[0137] Step 607: The cloud platform receives the first call response, and sends the first call response to the first instance based on the identifier of the first instance.
[0138] In step 607 , the cloud platform receives the first call response, reads the identifier of the first instance from the first call response, and sends the first call response to the first instance based on the identifier of the first instance.
[0139] Step 608: The first instance receives the first call response and continues to run the first program based on the first running result.
[0140] In step 608 , the first instance receives the first call response and continues to execute the second content included in the first program based on the first execution result.
[0141] Referring to Figure 7, after receiving the first call response, the first instance scans the next API of the first extension point included in the first program, obtains sub-metadata of the scanned API from the third metadata, and runs the scanned API based on the sub-metadata. After running the scanned API, it scans the next API and continues running the scanned APIs in the same manner as described above until it runs the last API of the first program.
[0142] For example, for the first program in Figure 5, after the first instance receives the first call response, it scans the next API from the first extension point included in the first program. The scanned API is the update API. Since the first running result included in the first call response is that the queried age and the actual age are different, the sub-metadata of the update API is obtained from the third metadata. The sub-metadata includes the actual age 35, and the age of the user to be queried stored in the database is updated from 30 to the actual age 35.
[0143] In an embodiment of the present application, since the cloud platform includes first metadata, the first program includes a first extension point, and the first call point is used to indicate that the second program needs to be called. The first instance runs the first program, and when it runs to the first extension point of the first program, it initiates a call request to the cloud platform for the first hook function corresponding to the first extension point. Upon detecting the call request for the first hook function, the cloud platform sends the first call request to the second instance. The first call request includes the identifier of the first metadata in the first hook function and the identifier of the second program. Since the space used to store metadata in the cloud platform is a shared space that can be accessed by the first instance and the second instance, the second instance can read the first metadata from the space based on the identifier of the first metadata, thereby enabling the first program to provide the first metadata to the second program. The second instance can run the first program based on the first metadata. In this way, the second instance can run the second program based on the metadata of the first program, and the second program can inherit the metadata of the first program. In other words, a second program that depends on the metadata of the first program can be developed, thereby increasing the degree of freedom in developing the second program.
[0144] Referring to Figure 8, an embodiment of the present application provides a device 800 for running a program. The device 800 can be deployed on the cloud platform 100 shown in Figure 1, Figure 2 or Figure 3, or the device 800 can be deployed on the cloud platform of the method 600 shown in Figure 6.
[0145] The apparatus 800 runs a first instance and a second instance, the first instance being a virtual machine or a container, the second instance being a virtual machine or a container, the first instance including a first program, the second instance including a second program, the first program including a first extension point, the first extension point being used to instruct calling the second program, the apparatus 800 including a storage unit 801 and a sending unit 802;
[0146] Storage unit 801, used for storing first metadata that a first program needs to transfer to a second program;
[0147] A sending unit 802 is configured to send a first call request to a second instance when the first program in the first instance runs to the first extension point, the first call request including an identifier of the second program and an identifier of the first metadata, and the first call request being used to instruct the second instance to run the second program based on the identifier of the first metadata and the identifier of the second program;
[0148] The sending unit 802 is further configured to transmit a first running result obtained by the second instance running the second program to the first instance, so that the first instance continues to run the first program based on the first running result.
[0149] Optionally, the detailed implementation process of the sending unit 802 sending the first call request to the second instance can refer to the relevant content of step 604 of the method shown in Figure 6, and will not be described in detail here.
[0150] Optionally, the detailed implementation process of the sending unit 802 transmitting the first running result obtained by the second instance running the second program to the first instance can be found in the relevant content of step 607 of the method shown in FIG6 , which will not be described in detail here.
[0151] Optionally, the apparatus 800 further includes a hook function associated with the first extension point, the hook function being used to instruct sending the first call request to the second instance, and the first instance being used to call the hook function when running to the first extension point;
[0152] The sending unit 802 is configured to send a first calling request to the second instance based on the hook function when the hook function is called by the first instance.
[0153] Optionally, the detailed implementation process of the sending unit 802 sending the first call request to the second instance based on the hook function can refer to the relevant content of step 604 of the method shown in Figure 6, which will not be described in detail here.
[0154] Optionally, the first instance further includes a third program, the storage unit 801 is further configured to store second metadata required for running the third program, the second program includes a second extension point, and the second extension point is used to indicate calling the third program; and the sending unit 802 is further configured to:
[0155] When the second program in the second instance runs to the second extension point, a second call request is sent to the first instance, where the second call request includes an identifier of the third program and an identifier of the second metadata, and the second call request is used to instruct the first instance to run the third program based on the identifier of the second metadata and the identifier of the third program.
[0156] A second running result obtained by the first instance running the third program is transmitted to the second instance, so that the second instance continues to run the second program based on the second running result.
[0157] Optionally, the detailed implementation process of the sending unit 802 sending the second call request to the first instance can refer to the relevant content of step 6053 of the method shown in Figure 6, and will not be described in detail here.
[0158] Optionally, the detailed implementation process of the sending unit 802 transmitting the second running result obtained by the first instance running the third program to the second instance can be found in the relevant content of step 6056 of the method shown in Figure 6, which is not described in detail here.
[0159] Optionally, the first call request further includes an identifier of the first instance, and the apparatus 800 further includes: a first receiving unit 803;
[0160] A first receiving unit 803 is configured to receive an identifier of the first instance sent by the second instance;
[0161] The sending unit 802 is configured to send a second calling request to the first instance based on the identifier of the first instance.
[0162] Optionally, the detailed implementation process of the first receiving unit 803 receiving the identifier of the first instance sent by the second instance can refer to the relevant content of step 6053 of the method shown in FIG6 , which will not be described in detail here.
[0163] Optionally, the detailed implementation process of the sending unit 802 sending the second call request to the first instance based on the identifier of the first instance can be found in the relevant content of step 6053 of the method shown in Figure 6, and will not be described in detail here.
[0164] Optionally, the apparatus 800 further includes a second receiving unit 804 and a processing unit 805;
[0165] The second receiving unit 804 is configured to receive a first program and a second program from an external source;
[0166] The processing unit 805 is configured to load a first program into the first instance and load a second program into the second instance.
[0167] Optionally, the device 800 is a Software as a Service (SaaS) platform.
[0168] Optionally, the first program is a vendor-layer program of the SaaS platform, and the second program is a tenant-layer program of the SaaS platform.
[0169] Optionally, the first call request is a remote procedure call (RPC) protocol request.
[0170] In an embodiment of the present application, since the storage unit stores the first metadata, the storage unit can be accessed by the first instance and the second instance. In this way, when the first program in the first instance runs to the first extension point, the sending unit sends a first call request to the second instance. The first call request includes the identifier of the second program and the identifier of the first metadata. The second instance can read the first metadata from the storage unit based on the identifier of the first metadata, and pass the first metadata required by the first program to the second instance. The second instance can run the second program based on the first metadata. In this way, when developing the second program, you can develop a program that depends on the metadata provided by the first program, that is, you can develop a second program that depends on the computing tasks of the first program, without many restrictions on the development of the second program, thereby increasing the freedom of developing the second program.
[0171] 9 , an embodiment of the present application provides a computing device 900. For example, the computing device 900 may be a device in the cloud platform 100 shown in FIG. 1 , FIG. 2 , or FIG. 3 , or a device in the cloud platform of the method 600 shown in FIG. 6 .
[0172] As shown in Figure 9, computing device 900 includes a bus 902, a processor 904, a memory 906, and a communication interface 908. Processor 904, memory 906, and communication interface 908 communicate with each other via bus 902. Computing device 900 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in computing device 900.
[0173] Bus 902 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, for example. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG9 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 902 may include a path for transmitting information between various components of computing device 900 (e.g., processor 904, memory 906, and communication interface 908).
[0174] The processor 904 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0175] The memory 906 may include volatile memory, such as random access memory (RAM). The memory 906 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0176] 9 , the memory 906 stores executable program code, and the processor 904 executes the executable program code to respectively implement the functions of the storage unit 801, the sending unit 802, the first receiving unit 803, the second receiving unit 804, and the processing unit 805 in the apparatus 800 shown in FIG8 , thereby implementing the method provided by any of the above embodiments. In other words, the memory 906 stores instructions for executing the method provided by any of the above embodiments. Alternatively,
[0177] The communication interface 908 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 900 and other devices or a communication network.
[0178] Embodiments of the present application also provide a cluster for running programs. The cluster for running programs includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0179] As shown in Figure 10, the cluster for running programs includes at least one computing device 900. The memory 906 of one or more computing devices 900 in the cluster for running programs may store the same instructions for executing the method provided in any of the above embodiments.
[0180] In some possible implementations, the memory 906 of one or more computing devices 900 in the cluster running the program may also store partial instructions for executing the above-mentioned method for running the program. In other words, the combination of one or more computing devices 900 can jointly execute instructions for executing the method provided in any of the above-mentioned embodiments.
[0181] In some possible implementations, one or more computing devices in the cluster running the program can be connected via a network. The network can be a wide area network (WAN) or a local area network (LAN), etc. FIG. 11 illustrates a possible implementation. As shown in FIG. 11 , two computing devices 900A and 900B are connected via a network. Specifically, each computing device is connected to the network via a communication interface in the computing device.
[0182] In this type of possible implementation, the memory 906 in the computing device 900A stores instructions for executing the functions of the sending unit 802, the first receiving unit 803, and the second receiving unit 804 in the embodiment shown in FIG8 . Simultaneously, the memory 906 in the computing device 900B stores instructions for executing the functions of the storage unit 801 and the processing unit 805 in the embodiment shown in FIG8 .
[0183] It should be understood that the functionality of the computing device 900A shown in FIG11 may also be implemented by multiple computing devices 900. Similarly, the functionality of the computing device 900B may also be implemented by multiple computing devices 900.
[0184] The present application also provides another cluster for running programs. The connection relationship between the computing devices in the cluster for running programs can be similar to the connection method of the cluster for running programs described in Figure 11. The difference is that the memory 906 of one or more computing devices 900 in the cluster for running programs can store the same instructions for executing the method provided in any of the above embodiments.
[0185] In some possible implementations, the memory 906 of one or more computing devices 900 in the cluster running the program may also store partial instructions for executing the method provided in any of the above embodiments. In other words, the combination of one or more computing devices 900 can jointly execute instructions for executing the method provided in any of the above embodiments.
[0186] The present application also provides a computer program product comprising instructions. The computer program product may be software or a program product comprising instructions that can be run on a computing device or stored on any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the method provided in any of the above embodiments.
[0187] The present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the method provided in any of the above embodiments.
[0188] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.
[0189] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A method for running a program, characterized in that: The method is applied to a cloud platform, where the cloud platform runs a first instance and a second instance, where the first instance is a virtual machine or a container, and the second instance is a virtual machine or a container, the first instance includes a first program, the second instance includes a second program, the first program includes a first extension point, and the first extension point is used to indicate calling the second program. The cloud platform stores first metadata that the first program needs to pass to the second program. The method includes: When the first program in the first instance runs to the first extension point, the cloud platform sends a first call request to the second instance, where the first call request includes an identifier of the second program and an identifier of the first metadata, and the first call request is used to instruct the second instance to run the second program based on the identifier of the first metadata and the identifier of the second program. The cloud platform transmits a first running result obtained by the second instance running the second program to the first instance, so that the first instance continues to run the first program based on the first running result.
2. The method according to claim 1, wherein The cloud platform includes a hook function associated with the first extension point, the hook function is used to instruct to send the first call request to the second instance, and the first instance is used to call the hook function when running to the first extension point; The cloud platform sends a first call request to the second instance, including: When the hook function is called by the first instance, the cloud platform sends the first calling request to the second instance based on the hook function.
3. The method according to claim 1 or 2, wherein: The first instance further includes a third program, the cloud platform further stores second metadata required to run the third program, the second program includes a second extension point, and the second extension point is used to indicate calling the third program; the method further includes: When the second program in the second instance runs to the second extension point, the cloud platform sends a second call request to the first instance, where the second call request includes an identifier of the third program and an identifier of the second metadata, and the second call request is used to instruct the first instance to run the third program based on the identifier of the second metadata and the identifier of the third program. The cloud platform transmits a second running result obtained by the first instance running the third program to the second instance, so that the second instance continues to run the second program based on the second running result.
4. The method according to claim 3, wherein The first call request further includes an identifier of the first instance, and the method further includes: The cloud platform receives the identifier of the first instance sent by the second instance; The cloud platform sends a second call request to the first instance, including: The cloud platform sends the second call request to the first instance based on the identifier of the first instance.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The cloud platform receives the first program and the second program from the outside; The cloud platform loads the first program into the first instance, and loads the second program into the second instance.
6. The method according to any one of claims 1 to 5, wherein: The cloud platform is a software as a service (SaaS) platform.
7. The method according to claim 6, wherein The first program is a vendor-layer program of the SaaS platform, and the second program is a tenant-layer program of the SaaS platform.
8. The method according to any one of claims 1 to 7, wherein: The first call request is a remote procedure call (RPC) request.
9. A device for running a program, characterized in that: The device runs a first instance and a second instance, the first instance is a virtual machine or a container, the second instance is a virtual machine or a container, the first instance includes a first program, the second instance includes a second program, the first program includes a first extension point, and the first extension point is used to indicate calling the second program. The device includes a storage unit and a sending unit; The storage unit is used to store first metadata that the first program needs to pass to the second program; the sending unit is configured to, when the first program in the first instance runs to the first extension point, send a first call request to the second instance, the first call request including an identifier of the second program and an identifier of the first metadata, the first call request being used to instruct the second instance to run the second program based on the identifier of the first metadata and the identifier of the second program; The sending unit is further configured to transmit a first running result obtained by the second instance running the second program to the first instance, so that the first instance continues to run the first program based on the first running result.
10. The device according to claim 9, wherein The apparatus includes a hook function associated with the first extension point, the hook function is used to instruct to send the first call request to the second instance, and the first instance is used to call the hook function when running to the first extension point; The sending unit is configured to send the first calling request to the second instance based on the hook function when the hook function is called by the first instance.
11. The device according to claim 9 or 10, characterized in that The first instance further includes a third program, the storage unit is further configured to store second metadata required for running the third program, the second program includes a second extension point, and the second extension point is configured to indicate calling the third program; the sending unit is further configured to: When the second program in the second instance runs to the second extension point, sending a second call request to the first instance, where the second call request includes an identifier of the third program and an identifier of the second metadata, and the second call request is used to instruct the first instance to run the third program based on the identifier of the second metadata and the identifier of the third program; A second running result obtained by the first instance running the third program is transmitted to the second instance, so that the second instance continues to run the second program based on the second running result.
12. The device according to claim 11, wherein The first call request further includes an identifier of the first instance, and the apparatus further includes: a first receiving unit; The first receiving unit is configured to receive the identifier of the first instance sent by the second instance; The sending unit is configured to send the second calling request to the first instance based on the identifier of the first instance.
13. The device according to any one of claims 9 to 12, characterized in that The device further includes a second receiving unit and a processing unit; The second receiving unit is configured to receive the first program and the second program from an external source; The processing unit is configured to load the first program into the first instance and load the second program into the second instance.
14. The device according to any one of claims 9 to 13, characterized in that The device is a Software as a Service (SaaS) platform.
15. The device according to claim 14, wherein The first program is a vendor-layer program of the SaaS platform, and the second program is a tenant-layer program of the SaaS platform.
16. The device according to any one of claims 9 to 15, characterized in that The first call request is a remote procedure call (RPC) request.
17. A computing device cluster, characterized in that: comprising at least one computing device, each computing device including a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in a memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 8.
18. A computer-readable storage medium, characterized in that The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 8.
19. A computer program product comprising instructions, characterized in that When the instruction is executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Providing fine-grained access remote command execution for virtual machine instances in a distributed computing environment
CN108292349A
Method for virtual link power-off recovery of cloud platform virtual machine
CN108363607A
Application layer storage method and device based on cloud platform
CN112328368A
Cloud platform and program code processing method based on cloud platform
CN114327742A
Small program calling method, small program detection method, small program calling device, small program detection device and small program system
CN114924890A