An application submission method and device, equipment, and storage medium

CN113867779BActive Publication Date: 2026-09-04SANGFOR TECH INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111145977.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-28
Publication Date
2026-09-04
Estimated Expiration
2041-09-28

AI Technical Summary

Technical Problem

然而,当借助Skein提交应用程序时,需要按照固定的规则对应用程序进行打包,同时本地打包环境与最后执行节点的运行环境必须一致,并且打包与提交的操作步骤都比较繁琐,从而带来用户的操作体验不佳等问题

Benefits of technology

[0040] In this embodiment, an application and its runtime configuration information are obtained, wherein the runtime configuration information includes basic runtime environment information and dependency information. Based on the basic runtime environment information and the dependency information, a target runtime environment for running the application is determined. The application and the target runtime environment are submitted to a first distributed cluster to deploy the target runtime environment on a target node of the first distributed cluster to run the application. By separating the application, the basic runtime environment, and the dependency packages, interference between different versions of the basic runtime environment can be avoided, and the consistency between the application's packaging environment and runtime environment can be ensured, thus avoiding runtime anomalies caused by inconsistencies. Furthermore, during the application packaging process, no specific packaging environment needs to be configured, thereby improving the ease of application packaging and enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113867779B_ABST
    Figure CN113867779B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a method and device for submitting an application, equipment and a storage medium. The method comprises: obtaining an application and running configuration information of the application, wherein the running configuration information comprises basic running environment information and dependency information; determining a target running environment for running the application based on the basic running environment information and the dependency information; and submitting the application and the target running environment to a first distributed cluster to deploy the target running environment in a target node of the first distributed cluster to run the application. In this way, the application, the basic running environment and the dependency package are separated, mutual interference between multiple versions of the basic running environment is avoided, and the consistency of the packaging environment and the running environment is ensured, thereby avoiding running abnormal problems caused by inconsistent environments. In addition, a specific packaging environment is not required during the packaging of the application, the operability of the packaging is improved, and user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to, but is not limited to, the field of distributed technology, and particularly to a method, apparatus, device, and storage medium for submitting applications. Background Technology

[0002] In related technologies, when running applications in a distributed environment, the application must first be submitted to the distributed system, which then schedules it to an idle node with available resources. However, when submitting an application using Skein, it needs to be packaged according to fixed rules, and the local packaging environment must be consistent with the runtime environment of the final execution node. Furthermore, the packaging and submission steps are cumbersome, leading to a poor user experience. Additionally, due to version and dependency differences between nodes in a distributed cluster, running the application on these nodes can easily result in application runtime errors. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide an application submission method, apparatus, device, and storage medium to solve at least one problem existing in the related art.

[0004] The technical solution of this invention is implemented as follows:

[0005] In a first aspect, embodiments of this application provide a method for submitting an application, the method comprising:

[0006] Obtain the application and its runtime configuration information, wherein the runtime configuration information includes basic runtime environment information and dependency information;

[0007] Based on the basic runtime environment information and the dependency information, the target runtime environment for running the application is determined;

[0008] The application and the target runtime environment are submitted to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application.

[0009] In some embodiments, determining the target runtime environment for running the application based on the basic runtime environment information and the dependency information includes: determining the basic runtime environment required for the application to run based on the basic runtime environment information; obtaining at least one dependency package referenced by the application based on the dependency information; and loading the at least one dependency package in the basic runtime environment to obtain the target runtime environment for running the application.

[0010] In this way, by combining the basic runtime environment with dependency packages, the dependency packages can be loaded in the basic runtime environment, thus achieving unified management of multiple basic runtime environments and dependency packages of the application, thereby avoiding mutual interference between multiple basic runtime environments.

[0011] In some embodiments, submitting the application and the target runtime environment to the first distributed cluster includes: using a submission tool to submit the application and the target runtime environment to the first distributed cluster.

[0012] In some embodiments, the application includes a Python application, and the underlying runtime environment information includes version information of the Python virtual environment.

[0013] In some embodiments, the method further includes: displaying a runtime configuration interface; obtaining the application and the application's runtime configuration information includes: in response to a runtime configuration operation performed on the runtime configuration interface, obtaining the configured application to be run, as well as the application's basic runtime environment information and dependency information.

[0014] In this way, visually importing application and runtime configuration information through a visual interface not only simplifies the application packaging and submission process but also enhances the user experience.

[0015] In some embodiments, the method can be applied to a first working node; the first working node is determined by the scheduling system of the second distributed cluster from multiple working nodes of the second distributed cluster based on a received scheduling command; obtaining the application and the application's runtime configuration information includes: obtaining the scheduling command from the scheduling system; and obtaining the application and the application's basic runtime environment information and dependency information based on the scheduling command.

[0016] In this way, the first working node can be determined by the scheduling system of the second distributed cluster based on scheduling commands, thereby improving the ease of use of distributed task scheduling.

[0017] In some embodiments, the runtime configuration information further includes hardware resource information required to run the application; submitting the application and the target runtime environment to the first distributed cluster to deploy the target runtime environment on a target node of the first distributed cluster to run the application includes: submitting the application, the target runtime environment, and the hardware resource information to the resource manager of the first distributed cluster, wherein the resource manager is used to determine a target node from the first distributed cluster based on the hardware resource information, and deploy the target runtime environment on the target node to run the application.

[0018] In this way, by deploying the target runtime environment required to run the application on the target node, the application's runtime anomalies caused by inconsistent runtime environments can be prevented, thereby improving the application's runtime accuracy.

[0019] In some embodiments, after submitting the application and the target runtime environment to the first distributed cluster, the method further includes: displaying a runtime status interface, the runtime status interface including a status display control; in response to a runtime status query request, obtaining the status information of the target node, and displaying the status information in real time in the status display control, the status information including the runtime status of the target node, and / or the runtime status of the application.

[0020] In this way, the running status of the application and / or the target node can be monitored in real time through a visual interface, which makes it easy for staff to quickly understand the operation of the node and thus achieve efficient management of the equipment.

[0021] In some embodiments, after submitting the application and the target runtime environment to the first distributed cluster, the method further includes: displaying a log query interface, the log query interface including a log query control and a log display control; in response to a trigger operation of the log query control, obtaining log information and displaying the log information on the log display control, the log information including the application's runtime logs.

[0022] In this way, the application's running logs can be displayed in real time through a visual interface, making it easier for staff to quickly understand and troubleshoot operational anomalies, thereby improving maintenance efficiency.

[0023] Secondly, embodiments of this application provide a method for submitting an application, the method comprising:

[0024] Display the runtime configuration interface;

[0025] In response to the runtime configuration operation performed on the runtime configuration interface, the application and the runtime configuration information of the application are obtained, wherein the runtime configuration information includes basic runtime environment information and dependency information;

[0026] In response to the submission operation performed on the runtime configuration interface, the application and the target runtime environment for running the application are submitted to the first distributed cluster, wherein the target runtime environment is determined based on the basic runtime environment information and the dependency information.

[0027] In this way, visually importing application and runtime configuration information through a visual interface not only simplifies the application packaging and submission process but also enhances the user experience.

[0028] In some embodiments, after submitting the application and the target runtime environment for running the application to the first distributed cluster, the method further includes: displaying a runtime status interface corresponding to the application, the runtime status interface including a status display control; in response to a runtime status query operation performed on the runtime status interface, obtaining the status information of a target node, and displaying the status information in real time in the status display control, the target node being a node running the application in the first distributed cluster, the status information including the runtime status of the target node and / or the runtime status of the application.

[0029] In some embodiments, after submitting the application and the target runtime environment for running the application to a first distributed cluster, the method further includes: displaying a log query interface for the application, the log query interface including a log query control and a log display control; in response to a trigger operation of the log query control, obtaining log information and displaying the log information on the log display control, the log information including the application's runtime logs.

[0030] Thirdly, embodiments of this application provide an application submission device, the device comprising:

[0031] The first acquisition module is used to acquire the application and the application's runtime configuration information, wherein the runtime configuration information includes basic runtime environment information and dependency information;

[0032] The second acquisition module is used to determine the target runtime environment for running the application based on the basic runtime environment information and the dependency information.

[0033] The first submission module is used to submit the application and the target runtime environment to the first distributed cluster, so as to deploy the target runtime environment in the target node of the first distributed cluster to run the application.

[0034] Fourthly, embodiments of this application provide an application submission device, the device comprising:

[0035] The first display module is used to display the runtime configuration interface;

[0036] The first response module is used to respond to the operation of running configuration performed on the running configuration interface, and to obtain the application and the running configuration information of the application, wherein the running configuration information includes basic running environment information and dependency information;

[0037] The second response module is used to respond to the submission operation performed on the runtime configuration interface by submitting the application and the target runtime environment for running the application to the first distributed cluster, wherein the target runtime environment is determined based on the basic runtime environment information and the dependency information.

[0038] Fifthly, embodiments of this application provide a computer device, including a memory and a processor, wherein the memory stores a computer program executable on the processor, characterized in that the processor executes the computer program to implement the steps in the above-described application submission method.

[0039] Sixthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the above-described application submission method.

[0040] In this embodiment, an application and its runtime configuration information are obtained, wherein the runtime configuration information includes basic runtime environment information and dependency information. Based on the basic runtime environment information and the dependency information, a target runtime environment for running the application is determined. The application and the target runtime environment are submitted to a first distributed cluster to deploy the target runtime environment on a target node of the first distributed cluster to run the application. By separating the application, the basic runtime environment, and the dependency packages, interference between different versions of the basic runtime environment can be avoided, and the consistency between the application's packaging environment and runtime environment can be ensured, thus avoiding runtime anomalies caused by inconsistencies. Furthermore, during the application packaging process, no specific packaging environment needs to be configured, thereby improving the ease of application packaging and enhancing the user experience. Attached Figure Description

[0041] Figure 1 A schematic diagram illustrating the implementation flow of an application submission method provided in an embodiment of the present invention;

[0042] Figure 2 A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0043] Figure 3A A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0044] Figure 3B A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0045] Figure 3C A schematic diagram of a running configuration interface provided in an embodiment of this application;

[0046] Figure 3D A schematic diagram of a running configuration interface provided in an embodiment of this application;

[0047] Figure 4 A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0048] Figure 5A A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0049] Figure 5B A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0050] Figure 5C A schematic diagram of a running status viewing interface provided in an embodiment of this application;

[0051] Figure 6A A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0052] Figure 6B A schematic diagram illustrating the implementation flow of an application submission method provided in this application embodiment;

[0053] Figure 6C A schematic diagram of a log query interface provided in an embodiment of this application;

[0054] Figure 7 A schematic diagram of the composition structure of a distributed Python task processing system provided in this application embodiment;

[0055] Figure 8 A schematic diagram of the composition structure of an application submission device provided in an embodiment of this application;

[0056] Figure 9 A schematic diagram of the composition structure of an application submission device provided in an embodiment of this application;

[0057] Figure 10 This is a schematic diagram of a hardware entity of a computer device provided in an embodiment of this application. Detailed Implementation

[0058] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application are further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0059] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0060] If the application documents contain similar descriptions such as "first / second", the following explanation shall be added: In the following description, the terms "first / second / third" are used only to distinguish similar objects and do not represent a specific order of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0061] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0062] The technical solution of this application will be further described in detail below with reference to the accompanying drawings and embodiments.

[0063] This application provides a method for submitting an application. This method can be applied to electronic devices, which can be implemented as various types of terminals such as laptops, tablets, desktop computers, set-top boxes, and mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable gaming devices), or as servers. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0064] Figure 1 This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 1 As shown, the method includes:

[0065] Step S11: Obtain the application and its runtime configuration information, which may include basic runtime environment information and dependency information.

[0066] Here, the application can be a directly executable file, or it can be compiled or interpreted program package data, software code, etc., that can be run. The application can be a standalone program or a program that requires a network connection. The application can be used to provide distributed services, or to perform data processing tasks, etc., and is not limited here. In implementation, the application can be a program written in any suitable programming language. For example, the application can be a program written in Python or other languages ​​such as C++. In some implementations, the application can be a program or service for performing specific tasks; for example, the application can be a Python model for performing real-time or offline computing tasks.

[0067] The basic runtime environment information may include the version information of the virtual environment running the application. Here, the virtual environment can be a virtual environment capable of running the application, such as a Python virtual environment capable of running Python applications, a Java Virtual Machine capable of running Java applications, etc. In implementation, the virtual environment can be a standard, unified, and universal environment, thus being applicable to at least most applications.

[0068] Dependency information may include dependencies referenced by the application; for example, the dependency information may be dependencies referenced by the application's main program.

[0069] In some implementations, the electronic device can retrieve the application and its runtime configuration information from a storage system. For example, when the electronic device receives a retrieval command, it retrieves the application and its runtime configuration information from the storage system based on the ID value of the retrieval command.

[0070] In some implementations, the electronic device can receive a user-submitted application to be run, along with the application's underlying runtime environment information and dependencies, through a visual interface.

[0071] Step S12: Based on the basic runtime environment information and the dependency information, determine the target runtime environment for running the application.

[0072] Here, the target runtime environment may include the environment required to run the application. For example, a runtime environment capable of running Python applications.

[0073] In some implementations, the electronic device can obtain the corresponding basic operating environment and dependency packages from the storage system based on the basic operating environment information and the dependency information, and load the dependency packages in the basic operating environment to obtain the target operating environment for running the application. For example, when the application is a Python program, the basic operating environment Python2 and the application's dependency packages are obtained from the storage system, and the dependency packages are loaded in the basic operating environment Python2 to obtain the target operating environment for running the Python application.

[0074] In some implementations, multiple operating environments that satisfy different basic operating environment information and dependency information can be pre-stored. Based on the basic operating environment information and dependency information of the application, the target operating environment for running the application can be determined from the multiple stored operating environments.

[0075] Step S13: Submit the application and the target runtime environment to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application.

[0076] Here, the target node is a node in a distributed cluster, wherein the distributed cluster includes multiple nodes, which are servers, computers or other terminals connected in a distributed network.

[0077] For example, taking a Python application and a target runtime environment as an example, the Python application and the target runtime environment are sent to the target node, and the target runtime environment is deployed on the target node to run the Python application.

[0078] In some embodiments, the application includes a Python application, and the basic runtime environment information includes the version information of the Python virtual environment. In some embodiments, step S13 above may include: using a submission tool to submit the application and the target runtime environment to the first distributed cluster.

[0079] Here, the submission tool may include, but is not limited to, the Skein module. The Skein module, based on the open-source Skein tool, is used to submit applications and their runtime environments, or task packages, to the resource manager of the first distributed cluster, and run them in the distributed environment. The resource manager of the first distributed cluster may include, but is not limited to, the general resource manager (Yet Another Resource Negotiator, Yarn), Pacemaker, etc.

[0080] For example, taking a Python application and its target runtime environment, the Skein module, and Yarn as an example, the Python application and its target runtime environment are submitted to Yarn through the Skein module.

[0081] In some embodiments, the runtime configuration information further includes hardware resource information required to run the application; step S13 includes: submitting the application, the target runtime environment, and the hardware resource information to the resource manager of the first distributed cluster, wherein the resource manager is used to determine a target node from the first distributed cluster based on the hardware resource information, and deploy the target runtime environment on the target node to run the application.

[0082] In some implementations, after the application, the target runtime environment, and the hardware resource information are submitted to the resource manager of the first distributed cluster, the resource manager may perform the following steps:

[0083] Step S131: Based on the hardware resource information, the resource manager of the first distributed cluster determines at least one idle node that satisfies the hardware resource information.

[0084] Here, the hardware resource information may include memory size, processor type, and number of cores, etc.

[0085] Step S132: Determine the target node for running the application based on the at least one idle node.

[0086] Here, when there is only one idle node, that idle node is used as the target node; when there are multiple idle nodes, the target node can be determined according to preset rules.

[0087] For example, Yarn is used to identify idle nodes in the first distributed cluster and to count at least one idle node that meets the hardware resource requirements. When there is only one idle node, this idle node is selected as the target node; when there are multiple idle nodes, they are sorted according to priority, and the target node is determined based on the sorting order. Priority can include resource utilization, processor type, etc., and the sorting can be from most to least or least to most; this is just an example and is not a limitation.

[0088] In step S133, the resource manager sends the application and the target runtime environment to the target node, and deploys the target runtime environment on the target node to run the application.

[0089] During implementation, after the resource manager identifies the target node among multiple worker nodes, it sends the application and target runtime environment to that target node and deploys the target runtime environment there. The application is then executed through this target runtime environment. This unifies the application's packaging and runtime environments, masking the differences in runtime environments across different nodes and avoiding runtime issues caused by discrepancies between the packaging and runtime environments in existing technologies.

[0090] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 2 This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 2 As shown, the method includes:

[0091] Step S21: Obtain the application and its runtime configuration information, which may include basic runtime environment information and dependency information.

[0092] The above step S21 corresponds to the aforementioned step S11. When implementing it, you can refer to the specific implementation method of the aforementioned step S11.

[0093] Step S22: Based on the basic operating environment information, determine the basic operating environment required for the application to run.

[0094] Here, the basic runtime environment information may include the version information of the virtual environment running the application. For example, when the application is a program written in Python, the version information of the virtual environment may include Python 2, Python 3, etc.

[0095] In some implementations, the electronic device can obtain the corresponding basic operating environment from the storage system based on the aforementioned basic operating environment. For example, when the application is a Python program, the Python2 basic operating environment for the Python program is obtained from the storage system.

[0096] Step S23: Based on the dependency information, obtain at least one dependency package referenced by the application.

[0097] Here, dependency information may include dependency information referenced by the application. For example, when the application is a program written in Python, the dependency information may be dependency information defined in the main file, and may include, but is not limited to, one or more of other Python files, third-party libraries, or files written in other languages.

[0098] In some implementations, the electronic device can obtain the corresponding dependency package from the storage system based on the dependency information. For example, when the application is a Python program and the dependency information is another Python file, the other Python file can be obtained from the storage system.

[0099] Step S24: Load the at least one dependency package in the basic runtime environment to obtain the target runtime environment for running the application.

[0100] Here, the target runtime environment includes the environment after the dependency packages are loaded in the basic runtime environment.

[0101] For example, taking the target runtime environment of a Python application as an example, the dependency packages defined in the main file of the Python application are loaded in the basic Python 2 runtime environment, and the environment after loading the dependency packages is used as the target runtime environment.

[0102] In implementation, the appropriate method can be used to load the dependency packages in the basic operating environment according to the actual situation, and the embodiments of this application are not limited in this regard.

[0103] Step S25: Submit the application and the target runtime environment to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application.

[0104] The above step S25 corresponds to the aforementioned step S13. When implementing it, you can refer to the specific implementation method of the aforementioned step S13.

[0105] In this embodiment, by combining pre-separated basic runtime environments with dependency packages, the dependency packages are loaded in a virtual environment to obtain the target runtime environment of the application, thus achieving unified management of multiple basic runtime environments and dependency packages for the application. This solves the problems in related technologies, such as runtime anomalies caused by inconsistencies between the packaging environment and the runtime environment when the application runs on a node, and slow upload speeds due to excessively large application runtime packages. This improves the correctness of application execution and enhances the user experience.

[0106] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 3A Figure 3 is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment. The method includes:

[0107] Step S311: Display the runtime configuration interface.

[0108] Here, the runtime configuration interface is used to import and configure the application's runtime configuration information. This runtime configuration information includes at least the application's basic environment information and dependency information. For example, such as... Figure 3C The running configuration interface shown is 300.

[0109] In some implementations, the operation configuration interface is displayed in the browser when the user accesses the electronic device through a browser, or in the app when the user accesses the electronic device through an app, or on the terminal when the user accesses the electronic device through a terminal. In practice, the appropriate method for displaying the operation configuration interface can be adopted according to the actual situation, and this application embodiment is not limited in this regard.

[0110] Step S312: In response to the run configuration operation performed on the run configuration interface, obtain the configured application to be run, as well as the basic runtime environment information and dependency information of the application.

[0111] Here, the run configuration operation may include, but is not limited to, importing the application in the run configuration interface, and configuring the application's basic runtime environment information and dependency information.

[0112] Step S313: Based on the basic runtime environment information and the dependency information, obtain the target runtime environment for running the application.

[0113] Step S314: Submit the application and the target runtime environment to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application.

[0114] Steps S313 to S314 above correspond to steps S12 to S13 above. When implementing them, you can refer to the specific implementation of steps S12 to S13 above.

[0115] In some embodiments, step S312 includes:

[0116] S3120 detects applications imported in the runtime configuration interface.

[0117] Here, the runtime configuration interface may at least include a mode selection box, which is used to configure the method of importing the application. The method of importing the application may include at least selecting a project file, writing a script, etc. For example, Figure 3C The mode selection box 320 is shown.

[0118] S3121, detects the basic environment information entered in the configuration interface.

[0119] Here, the runtime configuration interface may also include configuration controls for the basic environment, which support configuring the virtual environment automatically or manually. Automatic configuration may include automatically determining the virtual environment based on the application's programming language; manual configuration may involve the user selecting the virtual environment to run the application according to their actual needs.

[0120] For example, when the application is a program written in the Python programming language, the underlying environment can be Python 2, such as... Figure 3C The configuration control 310 for the basic environment is shown.

[0121] S3122, detect the dependency information entered in the runtime configuration interface;

[0122] Here, the runtime configuration interface may also include a dependency information configuration control, which supports configuring the dependency information of each module of the application in an automatic or manual manner. Automatic configuration may include reading the application's configuration file to determine the dependency information; manual configuration may involve the user customizing the application's dependency information according to actual needs.

[0123] For example, when the application is a Python program, the dependency information may include Python dependency packages, wherein automatic configuration includes reading at least one configuration item from the Python application's configuration file Requirement.txt and automatically populating the configuration information's configuration controls, such as... Figure 3C The configuration control 330 for the dependency information is shown.

[0124] In some embodiments, step S312 may further include:

[0125] S3123 detects the hardware resource information entered in the configuration interface.

[0126] Here, the runtime configuration interface may also include configuration controls for hardware resource information, which at least include information such as memory size, number of CPU cores, and / or runtime parameters. For example, ... Figure 3D The configuration control 340 for the hardware resource information is shown.

[0127] In this embodiment of the application, the import of applications and the visual configuration of application running information are carried out through a visual interface. This not only realizes the graphical management of application submission, but also simplifies the operation steps of application submission, thereby improving the user's operating experience.

[0128] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 3B This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 3B As shown, the method includes:

[0129] Step S321: Display the runtime configuration interface.

[0130] Step S322: In response to the run configuration operation performed on the run configuration interface, obtain the configured application to be run, as well as the basic runtime environment information and dependency information of the application.

[0131] Steps S321 to S322 above correspond to steps S311 to S312 above. When implementing them, you can refer to the specific implementation of steps S311 to S312 above.

[0132] Step S323: In response to the submission operation performed on the runtime configuration interface, the application and the target runtime environment for running the application are submitted to the first distributed cluster, wherein the target runtime environment is determined based on the basic runtime environment information and the dependency information.

[0133] Here, the configuration interface may also include a submit button, where the submit operation can be triggered by clicking the submit button. For example, as... Figure 3C The OK button 350 is shown.

[0134] In some embodiments, step S322 includes:

[0135] S3220 detects applications imported in the runtime configuration interface.

[0136] S3221 detects the basic runtime environment information entered in the runtime configuration interface.

[0137] S3222 detects the dependency information entered in the runtime configuration interface.

[0138] The steps S3220 to S3222 mentioned above correspond to the steps S3120 to S3122 mentioned above. In implementation, the specific implementation methods of the steps S3120 to S3122 mentioned above can be referred to.

[0139] In some embodiments, step S322 may further include:

[0140] S3223 detects the hardware resource information entered in the configuration interface.

[0141] The above step S3223 corresponds to the aforementioned step S3123. When implementing it, you can refer to the specific implementation method of the aforementioned step S3123.

[0142] In this embodiment of the application, the import of applications and the visual configuration of application running information are carried out through a visual interface. This not only realizes the graphical management of application submission, but also simplifies the operation steps of application submission, thereby improving the user's operating experience.

[0143] This application provides a method for submitting an application, applied in a first working node. Figure 4 This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 4 As shown, the method includes:

[0144] Step S41: The first working node obtains a scheduling command from the scheduling system;

[0145] Here, the first worker node is determined by the scheduling system of the second distributed cluster from multiple worker nodes in the second distributed cluster based on received scheduling commands. The second distributed cluster includes multiple worker nodes, and the scheduling system may include, but is not limited to, DolphinScheduler, Oozie, Apache Airflow, Azkaban, etc. The scheduling commands may include, but are not limited to, submitting an application, running an application, etc.

[0146] Step S42: The first working node obtains the application and the application's basic runtime environment information and dependency information based on the scheduling command.

[0147] The first working node parses the scheduling command, obtains its ID value, and searches the storage system for a storage directory matching the ID value. This storage directory includes at least the application, basic runtime environment information, and dependency information. The storage system may include an HDFS file system, an S3a cloud storage system, or other storable systems. In implementation, the electronic device can pre-upload the applications and runtime configuration information imported by the user in the runtime configuration interface to the storage system.

[0148] For example, taking the ID value as program name-time and HDFS file system as an example, the first worker node obtains the ID value of the scheduling command, searches for the file storage directory in HDFS that matches the ID value, and obtains the application, basic runtime environment information and dependency information from the storage directory.

[0149] Step S43: The first working node determines the target runtime environment for running the application based on the basic runtime environment information and the dependency information.

[0150] Here, the first working node can obtain the basic runtime environment file from the storage system based on the basic runtime environment information. Furthermore, the first working node can determine whether the corresponding dependency package has been loaded locally based on the dependency information. If the first working node has not loaded the corresponding dependency package, it obtains the dependency package from the storage system; if the first working node has loaded the corresponding dependency package, it obtains the dependency package locally. Based on the obtained basic runtime environment and dependency packages, the first working node loads the dependency packages in the basic runtime environment to obtain the target runtime environment of the application.

[0151] Step S44: The first working node submits the application and the target runtime environment to the first distributed cluster, so as to deploy the target runtime environment in the target node of the first distributed cluster to run the application.

[0152] The above step S44 corresponds to the aforementioned step S13. When implementing it, you can refer to the specific implementation method of the aforementioned step S13.

[0153] The first working node can be determined in the following way:

[0154] Step S401: The scheduling system of the second distributed cluster receives the scheduling command.

[0155] Here, the methods for issuing the scheduling command may include: the user triggering the scheduling control in the visual interface, or other devices sending scheduling commands to the scheduling system.

[0156] Step S402: The scheduling system determines the first working node based on the scheduling command.

[0157] In some embodiments, step S402 includes:

[0158] S4021, the scheduling system obtains resource information of at least one idle node from multiple working nodes.

[0159] Here, the resource information includes information such as processor type and memory size.

[0160] S4022, determine the first working node based on the resource information of the at least one idle node.

[0161] Here, when there is only one idle node, that idle node is designated as the first working node; when there are multiple idle nodes, the first working node can be determined according to preset rules. For example, multiple idle nodes can be sorted according to priorities such as resource utilization and processor type, and the idle node ranked first can be selected as the first working node. In implementation, an appropriate method can be adopted to determine the first working node according to the actual situation, and this application embodiment is not limited in this regard.

[0162] In this embodiment, by combining the file management system with the scheduling system of the second distributed cluster, both the application and command scheduling can be managed through the second distributed cluster, and can be uniformly managed with other workflows managed through the distributed cluster. This solves the problem in related technologies where applications running in a distributed environment lack unified management, thereby resolving the disconnect between applications and real-time tasks and the inability to manage them on the same platform, and improving the ease of use for distributed scheduling of applications.

[0163] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 5A This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 5A As shown, the method includes:

[0164] Step S511: Obtain the application and its runtime configuration information, wherein the runtime configuration information includes basic runtime environment information and dependency information.

[0165] Step S512: Based on the basic runtime environment information and the dependency information, determine the target runtime environment for running the application.

[0166] Step S513: Submit the application and the target runtime environment to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application.

[0167] Steps S511 to S513 above correspond to steps S11 to S13 above. When implementing them, you can refer to the specific implementation of steps S11 to S13 above.

[0168] Step S514: Display the running status interface, which includes at least a status display control.

[0169] Here, the running status interface is used to display the status information of the target node in real time, and the status display control can be a text box, a selection box, etc. For example, Figure 5C As shown, the running status viewing interface 500 includes at least an application name control 510 and a status display control 520.

[0170] Step S515: In response to the running status query request, obtain the status information of the target node and display the status information in real time in the status display control. The status information includes the running status of the target node and / or the running status of the application.

[0171] Here, when the electronic device receives a running status query request, it obtains the node's status information and / or the application's running result information from the target node, and returns the obtained status information to the status display control in the running status interface for display. The running status query request can be triggered automatically or manually. Automatic triggering can be a running status query request sent at preset intervals, while manual triggering can be a running status query request sent by the user manually clicking the running status query control. These triggering methods are for illustrative purposes only and are not intended to limit the scope of the request.

[0172] For example, when an electronic device detects that the target node cannot run the application normally, it returns "operational abnormality" and the corresponding alarm information to the operation status control for display, so that relevant personnel can handle the abnormality of the target node according to the alarm information displayed in the operation status control.

[0173] In this embodiment of the application, the running status of the application and / or the running status of the target node can be monitored in real time through a visual interface, so that staff can quickly understand the running status of the node and thus achieve efficient management of the equipment.

[0174] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 5BThis is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 5B As shown, the method includes:

[0175] Step S521: Display the runtime configuration interface;

[0176] Step S522: In response to the runtime configuration operation performed on the runtime configuration interface, obtain the application and the runtime configuration information of the application, wherein the runtime configuration information includes basic runtime environment information and dependency information;

[0177] Step S523: In response to the submission operation performed on the runtime configuration interface, the application and the target runtime environment for running the application are submitted to the first distributed cluster, wherein the target runtime environment is determined based on the basic runtime environment information and the dependency information. Steps S521 to S523 correspond to the aforementioned steps S321 to S323. In implementation, the specific implementation methods of steps S321 to S323 can be referred to.

[0178] Step S524: Display the running status interface corresponding to the application, the running status interface including at least a status display control.

[0179] Step S525: In response to the running status query operation performed on the running status interface, obtain the status information of the target node and display the status information in real time in the status display control. The target node is the node running the application in the first distributed cluster. The status information includes the running status of the target node and / or the running status of the application.

[0180] Steps S524 to S525 above correspond to steps S514 to S515 above. In implementation, the specific implementation methods of steps S514 to S515 above can be referred to.

[0181] In this embodiment of the application, the running status of the application and / or the running status of the target node can be monitored in real time through a visual interface, so that staff can quickly understand the running status of the node and thus achieve efficient management of the equipment.

[0182] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 6A This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 6A As shown, the method includes:

[0183] Step S611: Obtain the application and the application's runtime configuration information, wherein the runtime configuration information includes basic runtime environment information and dependency information.

[0184] Step S612: Based on the basic runtime environment information and the dependency information, determine the target runtime environment for running the application.

[0185] Step S613: Submit the application and the target runtime environment to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application.

[0186] Steps S611 to S613 above correspond to steps S11 to S13 above. When implementing them, you can refer to the specific implementation of steps S11 to S13 above.

[0187] Step S614: Display the log query interface, which includes at least a log query control and a log display control.

[0188] Here, the log query interface is used to display application running log information in real time. The log query control can be a button, and the log display control can be a text box, window, etc. For example, Figure 6C As shown, the log query interface 600 includes at least a log query control 610 and a log display control 620.

[0189] Step S615: In response to the triggering operation of the log query control, obtain log information and display the log information on the log display control. The log information includes the running log of the application.

[0190] Here, when the user triggers the log query control on the log query interface, the electronic device receives the log query request, responds to the log query request, obtains the application's running log information from the resource manager of the first distributed cluster, and displays the application's running log information on the log display control.

[0191] For example, taking an electronic device that includes a second distributed cluster and a resource manager for the first distributed cluster as Yarn, when the scheduling system of the second distributed cluster receives a run query request, it allocates a worker node according to the resource status of each node in the second distributed cluster. The worker node pulls the application's run log information from Yarn and stores the run log information in a specified directory, while also returning the run log information to the log display control for display.

[0192] In this embodiment, the application's running log information is viewed through a visual interface, which makes it easier for staff to quickly understand and troubleshoot abnormal problems, thereby improving the equipment's maintenance efficiency.

[0193] This application provides a method for submitting an application, which can be applied to electronic devices. Figure 6B This is a schematic diagram illustrating the implementation flow of the application submission method in this application embodiment, as shown below. Figure 6B As shown, the method includes:

[0194] Step S621: Display the runtime configuration interface;

[0195] Step S622: In response to the runtime configuration operation performed on the runtime configuration interface, obtain the application and the runtime configuration information of the application, wherein the runtime configuration information includes basic runtime environment information and dependency information;

[0196] Step S623: In response to the submission operation performed on the runtime configuration interface, the application and the target runtime environment for running the application are submitted to the first distributed cluster, wherein the target runtime environment is determined based on the basic runtime environment information and the dependency information.

[0197] The steps S621 to S623 described above correspond to the steps S321 to S323 described above. When implementing these steps, you can refer to the specific implementation methods of the steps S321 to S323 described above.

[0198] Step S624: Display the log query interface of the application, which includes at least a log query control and a log display control.

[0199] Step S625: In response to the triggering operation of the log query control, obtain log information and display the log information on the log display control. The log information includes the running log of the application.

[0200] Steps S624 to S625 above correspond to steps S514 to S515 above. In implementation, the specific implementation methods of steps S514 to S515 above can be referred to.

[0201] In this embodiment, the application's running log information is viewed through a visual interface, which makes it easier for staff to quickly understand and troubleshoot abnormal problems, thereby improving the equipment's maintenance efficiency.

[0202] This application provides a distributed Python task processing system. Figure 7A schematic diagram of a distributed Python task processing system provided for embodiments of this application is shown below. Figure 7 As shown, the system 700 includes: a task submission module 701, a task resource storage module 702, and a task execution module 703. The task submission module 701 is used to obtain task configuration information submitted by the user, and based on the task configuration information, retrieves the basic runtime environment file, dependency packages, and Python application for the task to be executed from the task resource storage module 702. Based on the basic runtime environment information and the dependency information, it determines the target runtime environment for running the Python application and submits the Python application and the target runtime environment to the task execution module 702. The task execution module 703 is used to run the Python application in the target runtime environment to execute the task to be executed. In some embodiments, the task submission module 701 can be implemented using the DolphinScheduler scheduling system, the task resource storage module 702 can be implemented using HDFS, and the task execution module 703 can be implemented using a Yarn cluster.

[0203] In some embodiments, the process of submitting a task based on the task submission module 701 may include the following steps:

[0204] Step S7011: The terminal displays the running configuration interface.

[0205] In step S7012, in response to the user's submission operation on the running configuration interface, the terminal submits the Python application and running configuration information to the task resource storage module 701, and sends a scheduling command to the second distributed cluster. The running configuration information includes basic running environment information and dependency information.

[0206] Step S7013: The scheduling system of the second distributed cluster determines the first working node from the multiple working nodes of the second distributed cluster based on the received scheduling command.

[0207] Step S7014: The first working node obtains the scheduling command from the scheduling system.

[0208] In step S7015, the first working node obtains the Python application and the application's basic runtime environment information and dependency information from the task resource storage module 702 based on the scheduling command.

[0209] Step S7016: The first working node obtains the basic operating environment from the task resource storage module 702 based on the basic operating environment information.

[0210] In step S7017, the first working node obtains the dependency package from the task resource storage module 720 based on the dependency information.

[0211] Step S7018: The first working node determines the target runtime environment of the Python application based on the basic runtime environment and the dependency packages.

[0212] In step S7019, using the Skein module, the first working node submits the Python application and the target runtime environment to the task execution module 703.

[0213] In some embodiments, the runtime configuration information further includes hardware resource information required to run the application, and the process of executing the task to be executed based on the task execution module 703 may include the following steps:

[0214] Step S7031: The resource manager Yarn of the first distributed cluster determines at least one idle node that meets the hardware resource information based on the hardware resource information.

[0215] In step S7032, the resource manager Yarn determines the target node for running the application based on the at least one idle node.

[0216] In step S7033, the resource manager Yarn sends the Python application and the target runtime environment to the target node, and deploys the target runtime environment on the target node to run the Python application.

[0217] In some embodiments, after the task execution module 703 has completed the task to be executed, the task submission module 701 may also provide a task for submitting a view of the Python running status. The specific submission process may include the following steps:

[0218] Step S70110: The terminal displays a running status interface, which includes at least a status display control.

[0219] In step S70111, the terminal responds to the user's query operation on the running status interface by sending a status query command to the scheduling system.

[0220] In step S70112, the scheduling system determines a second working node from multiple working nodes 701b of the second distributed cluster based on the status query command. The second working node and the first working node may be the same or different.

[0221] Step S70113: The second working node obtains the status query command from the scheduling system.

[0222] Step S70114: The second working node obtains the status information of the target node from the resource manager Yarn based on the status query command, and returns the status information to the terminal. The status information includes the running status of the target node and / or the running status of the application.

[0223] Step S70115: The terminal displays the received status information in the status display control in real time.

[0224] In some embodiments, after the task execution module 703 has completed executing the task to be executed, the task submission module 701 may also provide a task for submitting a task to view the Python execution log. The specific submission process may include the following steps:

[0225] Step S70116: The terminal displays a log query interface, which includes a log query control and a log display control.

[0226] In step S70117, the terminal responds to the user's trigger operation on the log query control in the log query interface by sending a log query command to the scheduling system.

[0227] In step S70118, the scheduling system determines a third working node from multiple working nodes 701b of the second distributed cluster based on the log query command. The third working node may be the same as or different from the first and second working nodes.

[0228] Step S70119: The third working node obtains the log query command from the scheduling system.

[0229] In step S70120, the third working node obtains the running log information of the Python application in the target node from the resource manager Yarn based on the status query command, and returns the running log information to the terminal.

[0230] Step S70121: The terminal displays the received operation log information on the log display control.

[0231] Based on the foregoing embodiments, this application provides an application submission device, which includes each module, each sub-module, and each unit, which can be implemented by a processor in a computer device; of course, it can also be implemented by specific logic circuits; in the implementation process, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.

[0232] Figure 8 This is a schematic diagram of the composition structure of the application submission device in the embodiments of this application, as shown below. Figure 8 As shown, the device 800 includes a first acquisition module 801, a second acquisition module 802, and a first submission module 803, wherein:

[0233] The first acquisition module 801 is used to acquire the application and the application's runtime configuration information, wherein the runtime configuration information includes basic runtime environment information and dependency information;

[0234] The second acquisition module 802 is used to determine the target runtime environment for running the application based on the basic runtime environment information and the dependency information.

[0235] The first submission module 803 is used to submit the application and the target runtime environment to the first distributed cluster, so as to deploy the target runtime environment in the target node of the first distributed cluster to run the application.

[0236] In some embodiments, the second acquisition module 802 includes at least a first acquisition submodule, a second acquisition submodule, and a first determination submodule, wherein the first acquisition submodule is used to determine the basic operating environment required for the application to run based on the basic operating environment information; the second acquisition submodule is used to acquire at least one dependency package referenced by the application based on the dependency information; and the first determination submodule is used to load the at least one dependency package in the basic operating environment to obtain a target operating environment for running the application.

[0237] In some embodiments, the first submission module 803 includes a first submission submodule, wherein the first submission submodule is used to submit the application and the target runtime environment to the first distributed cluster using a submission tool.

[0238] In some embodiments, the application includes a Python application, and the underlying runtime environment information includes version information of the Python virtual environment.

[0239] In some embodiments, the device 800 further includes a first display interface module, which is used to display a runtime configuration interface; wherein, the first acquisition module 801 includes a third acquisition submodule, which is used to acquire the configured application to be run and the basic runtime environment information and dependency information of the application in response to the runtime configuration operation performed on the runtime configuration interface.

[0240] In some embodiments, the device is applied to a first working node; the first working node is determined by the scheduling system of the second distributed cluster from multiple working nodes of the second distributed cluster based on a received scheduling command. The first acquisition module 801 includes a fourth acquisition submodule and a fifth acquisition submodule, the fourth acquisition submodule being used to acquire the scheduling command from the scheduling system; the fifth acquisition submodule being used to acquire, based on the scheduling command, the application and the application's basic runtime environment information and dependency information.

[0241] In some embodiments, the runtime configuration information further includes hardware resource information required to run the application; the first submission module 803 includes a second submission submodule, which is used to submit the application, the runtime environment and the hardware resource information to the resource manager of the first distributed cluster, wherein the resource manager is used to determine a target node from the first distributed cluster according to the hardware resource information, and deploy the target runtime environment on the target node to run the application.

[0242] In some embodiments, the device 800 further includes a second display interface module and a third display interface module. The second display interface module is used to display a running status interface, which includes a status display control. The third display interface module is used to respond to a running status query request, obtain the status information of the target node, and display the status information in the status display control in real time. The status information includes the running status of the target node and / or the running status of the application.

[0243] In some embodiments, the device 800 further includes a fourth display interface module and a fifth display interface module. The fourth display interface module is used to display a log query interface, which includes a log query control and a log display control. The fifth display interface module is used to obtain log information in response to a trigger operation of the log query control and display the log information on the log display control. The log information includes the running logs of the application.

[0244] Figure 9 This is a schematic diagram of the composition structure of the application submission device in the embodiments of this application, as shown below. Figure 9 As shown, the device 900 includes a first display module 901, a first response module 902, and a second response module 903, wherein:

[0245] The first display module is used to display the runtime configuration interface;

[0246] The first response module is used to respond to the operation of the operation configuration interface and obtain the application and the operation configuration information of the application, wherein the operation configuration information includes basic operation environment information and dependency information;

[0247] The second response module is used to respond to the submission operation performed on the runtime configuration interface by submitting the application and the target runtime environment for running the application to the first distributed cluster, wherein the target runtime environment is determined based on the basic runtime environment information and the dependency information.

[0248] In some embodiments, after submitting the application and the target runtime environment for running the application to the first distributed cluster, the apparatus further includes: a second display module and a third response module, wherein: the second display module is used to display a runtime status interface corresponding to the application, the runtime status interface including a status display control; the third response module is used to respond to a runtime status query operation performed on the runtime status interface, obtain the status information of the target node, and display the status information in real time in the status display control, the target node being the node running the application in the first distributed cluster, and the status information including the runtime status of the target node and / or the runtime status of the application.

[0249] In some embodiments, after submitting the application and the target runtime environment for running the application to the first distributed cluster, the apparatus further includes: a third display module and a fourth response module, wherein: the third display module is used to display a log query interface of the application, the log query interface including a log query control and a log display control; the fourth response module is used to respond to a trigger operation of the log query control, obtain log information, and display the log information on the log display control, the log information including the application's runtime log.

[0250] The description of the above device embodiments is similar to that of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the device embodiments of the present invention, please refer to the description of the method embodiments of the present invention for understanding.

[0251] It should be noted that, in the embodiments of this application, if the above-described application submission method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.

[0252] Correspondingly, embodiments of this application provide a computer device, including a memory and a processor. The memory stores a computer program that can run on the processor, and the processor executes the program to implement any of the methods described above.

[0253] Correspondingly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the methods described above.

[0254] It should be noted that the descriptions of the storage medium and device embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0255] It should be noted that, Figure 10 This is a schematic diagram of a hardware entity of a computer device in an embodiment of this application, such as... Figure 10 As shown, the hardware entity of the computer device 1000 includes: a processor 1001, a communication interface 1002, and a memory 1003, wherein:

[0256] Processor 1001 typically controls the overall operation of computer device 1000.

[0257] The communication interface 1002 enables computer devices to communicate with other terminals or servers via a network.

[0258] The memory 1003 is configured to store instructions and applications executable by the processor 1001, and can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data and video communication data) in the processor 1001 and various modules in the computer device 1000. It can be implemented by flash memory or random access memory (RAM).

[0259] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the invention. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of the invention, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the invention. The sequence numbers of the above-described embodiments of the invention are merely descriptive and do not represent the superiority or inferiority of the embodiments.

[0260] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0261] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.

[0262] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.

[0263] In addition, in the various embodiments of the present invention, each functional unit can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0264] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.

[0265] Alternatively, if the integrated units of this invention are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this invention, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0266] The above description is merely an embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for submitting an application, characterized in that, When applied to electronic devices, the method includes: Obtain the application and its runtime configuration information, wherein the application and its runtime configuration information are obtained based on runtime configuration operations performed through the runtime configuration interface, and the runtime configuration information includes basic runtime environment information, dependency information, and hardware resource information required to run the application. The basic runtime environment information includes the version information of the virtual environment running the application, and the dependency information includes at least one dependency package referenced by the main program of the application. Based on the basic runtime environment information and the dependency information, the target runtime environment for running the application is determined; The application and the target runtime environment are submitted to the first distributed cluster to deploy the target runtime environment on the target node of the first distributed cluster to run the application. The step of determining the target runtime environment for running the application based on the basic runtime environment information and the dependency information includes: Based on the aforementioned basic operating environment information, the basic operating environment required for the application to run is determined; Based on the dependency information, obtain at least one dependency package referenced by the application; Load the at least one dependency package in the basic runtime environment to obtain the target runtime environment for running the application; wherein, the target runtime environment is the environment required to run the application; Submitting the application and the target runtime environment to the first distributed cluster, so as to deploy the target runtime environment on the target node of the first distributed cluster to run the application, includes: Using a submission tool, the application, the target runtime environment, and the hardware resource information are submitted to the resource manager of the first distributed cluster. The resource manager is used to determine the target node from the first distributed cluster based on the hardware resource information, and to deploy the target runtime environment on the target node to run the application.

2. The method according to claim 1, characterized in that, The application includes a Python application, and the basic runtime environment information includes the version information of the Python virtual environment.

3. The method according to claim 1, characterized in that, The method further includes: Display the runtime configuration interface; The acquisition of the application and the application's runtime configuration information includes: In response to the runtime configuration operation performed on the runtime configuration interface, the configured application to be run, as well as the application's basic runtime environment information and dependency information, are obtained.

4. The method according to any one of claims 1 to 3, characterized in that, After submitting the application and the target runtime environment to the first distributed cluster, the method further includes: The running status interface includes a status display control. In response to a running status query request, the status information of the target node is obtained and displayed in real time in the status display control. The status information includes the running status of the target node and / or the running status of the application.

5. The method according to any one of claims 1 to 3, characterized in that, After submitting the application and the target runtime environment to the first distributed cluster, the method further includes: Display a log query interface, which includes a log query control and a log display control; In response to the trigger request of the log query control, log information is obtained and displayed on the log display control. The log information includes the running logs of the application.

6. A method for submitting an application, characterized in that, Used in electronic devices, including: Display the runtime configuration interface; In response to the runtime configuration operation performed on the runtime configuration interface, the application and the runtime configuration information of the application are obtained. The runtime configuration information includes basic runtime environment information, dependency information and hardware resource information required to run the application. The basic runtime environment information includes the version information of the virtual environment running the application, and the dependency information includes at least one dependency package referenced by the main program of the application. In response to the submission operation performed on the runtime configuration interface, the application and the target runtime environment for running the application are submitted to the first distributed cluster, wherein the target runtime environment is obtained by loading at least one dependency package referenced by the application in the base runtime environment, the base runtime environment is determined based on the base runtime environment information, the at least one dependency package is obtained based on the dependency information, and the target runtime environment is the environment required to run the application. Submitting the application and the target runtime environment for running the application to the first distributed cluster includes: Using a submission tool, the application, the target runtime environment for running the application, and the hardware resource information are submitted to the resource manager of the first distributed cluster; wherein, the resource manager is used to determine the target node from the first distributed cluster based on the hardware resource information, and deploy the target runtime environment on the target node to run the application.

7. The method according to claim 6, characterized in that, After submitting the application and the target runtime environment for running the application to the first distributed cluster, the process also includes: Displays a running status interface corresponding to the application, the running status interface including status display controls; In response to a running status query operation performed on the running status interface, the status information of the target node is obtained and the status information is displayed in real time in the status display control. The target node is the node running the application in the first distributed cluster, and the status information includes the running status of the target node and / or the running status of the application.

8. The method according to claim 6 or 7, characterized in that, After submitting the application and the target runtime environment for running the application to the first distributed cluster, the method further includes: The application's log query interface is displayed, which includes a log query control and a log display control; In response to the triggering operation of the log query control, log information is obtained and displayed on the log display control. The log information includes the running logs of the application.

9. An application submission device, characterized in that, The device, used in electronic devices, includes: The first acquisition module is used to acquire the application and the application's runtime configuration information. The application and the application's runtime configuration information are acquired based on runtime configuration operations performed through the runtime configuration interface. The runtime configuration information includes basic runtime environment information, dependency information, and hardware resource information required to run the application. The basic runtime environment information includes the version information of the virtual environment running the application, and the dependency information includes at least one dependency package referenced by the application's main program. The second acquisition module is used to determine the target runtime environment for running the application based on the basic runtime environment information and the dependency information. The first submission module is used to submit the application and the target runtime environment to the first distributed cluster, so as to deploy the target runtime environment on the target node of the first distributed cluster to run the application; The second acquisition module is further configured to: determine the basic runtime environment required for the application to run based on the basic runtime environment information; acquire at least one dependency package referenced by the application based on the dependency information; load the at least one dependency package in the basic runtime environment to obtain a target runtime environment for running the application; wherein, the target runtime environment is the environment required to run the application; The first submission module is used to submit the application, the target runtime environment, and the hardware resource information to the resource manager of the first distributed cluster using a submission tool. The resource manager is used to determine the target node from the first distributed cluster based on the hardware resource information and deploy the target runtime environment on the target node to run the application.

10. An application submission device, characterized in that, Applied in electronic devices, including: The first display module is used to display the runtime configuration interface; The first response module is used to respond to the operation of running configuration performed on the running configuration interface, and to obtain the application and the running configuration information of the application. The running configuration information includes basic running environment information, dependency information and hardware resource information required to run the application. The basic running environment information includes the version information of the virtual environment running the application, and the dependency information includes at least one dependency package referenced by the main program of the application. The second response module is used to respond to the submission operation performed on the running configuration interface by submitting the application and the target running environment for running the application to the first distributed cluster. The target running environment is obtained by loading at least one dependency package referenced by the application in the basic running environment. The basic running environment is determined based on the basic running environment information. The at least one dependency package is obtained based on the dependency information. The target running environment is the environment required to run the application. The second response module is used to submit the application, the target runtime environment for running the application, and the hardware resource information to the resource manager of the first distributed cluster using a submission tool; wherein, the resource manager is used to determine the target node from the first distributed cluster based on the hardware resource information, and deploy the target runtime environment on the target node to run the application.

11. A computer device comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the computer program, it implements the method according to any one of claims 1 to 8.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Development, operation and maintenance method and device and cloud computing PaaS platform

    CN107220100A

  • Method and device for quickly releasing program dependence

    CN110427226A

  • Distributed scheduling method and device, equipment and storage medium

    CN113225388A