[go: up one dir, main page]

CN118295731B - A cloud Android application running method and system, electronic device and storage medium - Google Patents

A cloud Android application running method and system, electronic device and storage medium

Info

Publication number
CN118295731B
CN118295731B CN202410404585.7A CN202410404585A CN118295731B CN 118295731 B CN118295731 B CN 118295731B CN 202410404585 A CN202410404585 A CN 202410404585A CN 118295731 B CN118295731 B CN 118295731B
Authority
CN
China
Prior art keywords
target
application
output
cloud
android
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410404585.7A
Other languages
Chinese (zh)
Other versions
CN118295731A (en
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mole Thread Intelligent Technology Beijing Co ltd
Moore Threads Technology Co Ltd
Original Assignee
Mole Thread Intelligent Technology Beijing Co ltd
Moore Threads Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mole Thread Intelligent Technology Beijing Co ltd, Moore Threads Technology Co Ltd filed Critical Mole Thread Intelligent Technology Beijing Co ltd
Priority to CN202410404585.7A priority Critical patent/CN118295731B/en
Publication of CN118295731A publication Critical patent/CN118295731A/en
Application granted granted Critical
Publication of CN118295731B publication Critical patent/CN118295731B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The method comprises the steps of receiving an application starting request sent by a client, wherein the application starting request comprises a target identifier, the target identifier is used for identifying a target Yun Anzhuo application and a target user needing to start a target Yun Anzhuo application, starting the target Yun Anzhuo application and rendering to obtain a display picture corresponding to the target Yun Anzhuo application based on the response of the target container to the application starting request, returning the display picture corresponding to the target Yun Anzhuo application to the client, and displaying the display picture corresponding to the target Yun Anzhuo application to the target user. The embodiment of the disclosure can effectively run the target Yun Anzhuo application on the physical machine of the cloud and effectively experience the target Yun Anzhuo application on the client.

Description

Cloud android application running method and system, electronic equipment and storage medium
Technical Field
The disclosure relates to the technical field of computers, in particular to a cloud android application running method and system, electronic equipment and a storage medium.
Background
In order for a user to experience using Yun Anzhuo applications anywhere and anytime, it is desirable to address the problem of providing the running environment of android applications on non-android operating systems. The solution adopted in the related art may be to deploy An Zhuoyun line (Android run) environment in a container to provide a running environment of an Android application. Since the container shares Linux Kernel with the operating system of the host, only An Zhuoyun lines (ART, android run) need to be deployed in the container, and a complete Android operating system (Android Linux Kernel, etc. need to be included in addition to Android run) need not be deployed. However, the kernel process contained in the Android run time occupies a large memory, so that the number of Yun Anzhuo applications capable of running in a single physical machine is limited.
Disclosure of Invention
The disclosure provides a cloud android application running method and system, electronic equipment and a technical scheme of a storage medium.
According to one aspect of the disclosure, a cloud android application running method is provided, the cloud android application running method is applied to a cloud, a physical machine of the cloud comprises a plurality of cloud android applications and a target container shared by the cloud android applications, the target container is used for providing an android runtime environment, an application starting request sent by a client is received, the application starting request comprises a target identifier, the target identifier is used for identifying a target Yun Anzhuo application and a target user needing to start the target Yun Anzhuo application, the target Yun Anzhuo application is one of the cloud android applications, the target Yun Anzhuo application is started based on the target container response to the application starting request, and a display picture corresponding to the target Yun Anzhuo application is rendered and obtained, and the display picture corresponding to the target Yun Anzhuo application is returned to the client, wherein the client is used for displaying the display picture corresponding to the target Yun Anzhuo application to the target user.
In one possible implementation manner, the physical machine comprises a login server, the receiving of the application starting request sent by the client comprises the steps of carrying out login authentication on login of the target user on the client based on the login server, and sending an application list to the client after the login authentication is passed, wherein the application list comprises application identifiers of Yun Anzhuo applications which can be started by the target user, and the receiving of the application starting request returned by the client, wherein the application starting request is generated based on selection operation of the target user on the application list on the client.
In one possible implementation, the method further includes creating, based on the login server, a target application server instance APP SERVER corresponding to the target Yun Anzhuo application according to the application launch request, where the target APP SERVER includes the target identifier.
In one possible implementation manner, the target container includes a core service and a virtual display synthesizer, the method includes starting the target Yun Anzhuo application based on the target container response to the application starting request, and rendering to obtain a display screen corresponding to the target Yun Anzhuo application, including sending the application starting request to the core service based on the target APP SERVER, starting the target Yun Anzhuo application based on the core service if it is determined that the target container currently supports starting the target Yun Anzhuo application, and after starting the target Yun Anzhuo application, creating a target output instance output corresponding to the target Yun Anzhuo application based on the virtual display synthesizer, wherein the target output includes the target identifier, and rendering to obtain the display screen corresponding to the target Yun Anzhuo application based on the target output.
In one possible implementation manner, the returning the display corresponding to the target Yun Anzhuo application to the client includes sending, based on the target output, the display corresponding to the target Yun Anzhuo application to the target APP SERVER according to the target identifier, performing image encoding on the display corresponding to the target Yun Anzhuo application based on the target APP SERVER, and sending an encoding result to the client, where the client decodes the encoding result to obtain the display corresponding to the target Yun Anzhuo application.
In one possible implementation manner, the virtual display synthesizer comprises a vertical synchronization vsync scheduler and a plurality of output lists, the method further comprises the steps of distributing vsync trigger time to each output list based on the vsync scheduler, wherein the vsync trigger time distributed by different output lists is different, and based on the vsync scheduler, responding to the fact that the target output list is not empty at the vsync trigger time corresponding to the target output list, and triggering each output in the target output list to send a vsync signal to a corresponding Yun Anzhuo application, wherein the target output list is the output list where the target output is located.
In one possible implementation, the method further includes determining, based on the vsync scheduler, a current affordable rendering load for the target container from the remaining rendering loads for each output list, and determining that the target container currently supports launching the target Yun Anzhuo application if the current affordable rendering load for the target container is greater than the rendering load required by the target Yun Anzhuo application.
In one possible implementation manner, the rendering to obtain the display screen corresponding to the target Yun Anzhuo application based on the target output includes determining, based on the vsync scheduler, the target output list corresponding to the target output, and sending, at a vsync trigger time corresponding to the target output list, a vsync signal to the target Yun Anzhuo application based on the target output, where the vsync signal is used to trigger a rendering operation corresponding to the target Yun Anzhuo application, so as to obtain the display screen corresponding to the target Yun Anzhuo application.
In a possible implementation manner, the determining, based on the vsync scheduler, the target output list corresponding to the target output includes determining, based on the vsync scheduler, whether at least one candidate output list with the residual rendering load meeting the rendering load requirement of the target Yun Anzhuo application exists in the multiple output lists, and determining, based on the vsync scheduler, the candidate output list with the residual rendering load being the largest as the target output list if at least one candidate output list exists.
In a possible implementation manner, the method further comprises the steps of clearing all the output of the plurality of output lists based on the vsync scheduler in the case that no candidate output list exists, sorting all the output of the plurality of output lists and the target output according to the rendering load demand from large to small to obtain an output sequence, and carrying out load balancing reassignment on the output according to a preset assignment principle based on the vsync scheduler for any one of the output sequences, wherein the preset assignment principle is used for controlling load balancing among the plurality of output lists after the output is assigned, and determining the output list where the target output is located as the target output list based on the vsync scheduler in the case that the load balancing reassignment of each output of the plurality of output lists is successfully completed.
In one possible implementation, the method further includes determining, based on the vsync scheduler, that the target container does not currently support launching the target Yun Anzhuo application in the event that there is at least one output load balancing reallocation failure in the output sequence.
In one possible implementation, the method further includes receiving a target event operation request executed by the target user at the client based on the target APP SERVER, wherein the target event operation request includes a text input operation request and an event input operation request, sending the target event operation request to the target Yun Anzhuo application through an android function module in the target container based on the core service, and returning an event processing result to the target APP SERVER, and returning the event processing result to the client based on the target APP SERVER.
According to one aspect of the disclosure, a cloud android application running system is provided, the cloud android application running system comprises a cloud end and a client, a physical machine of the cloud end comprises a plurality of cloud android applications and a target container shared by the cloud android applications, the target container is used for providing an android runtime environment, the client is used for sending an application starting request to the cloud end, the application starting request comprises a target identifier, the target identifier is used for identifying a target Yun Anzhuo application and a target user needing to start the target Yun Anzhuo application, the target Yun Anzhuo application is one of the cloud android applications, the target container is used for responding to the application starting request, starting the target Yun Anzhuo application and rendering to obtain a display picture corresponding to the target Yun Anzhuo application, and the client is used for showing the target user a display picture corresponding to the target Yun Anzhuo application.
According to an aspect of the disclosure, there is provided an electronic device comprising a processor, a memory for storing processor-executable instructions, wherein the processor is configured to invoke the instructions stored in the memory to perform the above method.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method.
In the embodiment of the disclosure, a physical machine of a cloud end in a Yun Anzhuo application running system comprises a plurality of cloud Android applications and a target container shared by the cloud Android applications for providing an Android running environment, compared with a mode of deploying a plurality of containerized Android run times on a single physical machine for providing the Android running environment, the method of sharing the target container can reduce memory consumption of the Android run times, so that the rest memory of the single physical machine can support running of more Yun Anzhuo applications, under an actual application scene, an application starting request sent to the cloud end by a client in the Yun Anzhuo application running system is received, the application starting request comprises a target identifier for identifying a target Yun Anzhuo application to be started and a target user for starting the target Yun Anzhuo application, the target Yun Anzhuo application is one of the cloud Android applications, the target Yun Anzhuo application is started on the basis of the response of the application starting request of the target container, and a display screen corresponding to the target Yun Anzhuo application is obtained, further, the display screen corresponding to the target Yun Anzhuo application can be returned to a client, the client can effectively display the target display screen corresponding to the target Yun Anzhuo application, so that the target Yun Anzhuo application can effectively run on the cloud end on the target client and the target client in order to realize effective display of the target user experience of the target Yun Anzhuo on the cloud end and the target user.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the technical aspects of the disclosure.
Fig. 1 shows a schematic diagram of a cloud android application running system in the related art.
Fig. 2 illustrates a flowchart of a cloud android application running method, according to an embodiment of the present disclosure.
Fig. 3 shows a schematic diagram of a cloud android application running system, according to an embodiment of the disclosure.
Fig. 4 illustrates a block diagram of a cloud android application runtime system, in accordance with an embodiment of the present disclosure.
Fig. 5 shows a block diagram of an electronic device, according to an embodiment of the disclosure.
Detailed Description
Various exemplary embodiments, features and aspects of the disclosure will be described in detail below with reference to the drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Although various aspects of the embodiments are illustrated in the accompanying drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The term "and/or" is merely an association relationship describing the associated object, and means that three relationships may exist, for example, a and/or B may mean that a exists alone, while a and B exist together, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, may mean including any one or more elements selected from the group consisting of A, B and C.
Furthermore, numerous specific details are set forth in the following detailed description in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements, and circuits well known to those skilled in the art have not been described in detail in order not to obscure the present disclosure.
Fig. 1 shows a schematic diagram of a cloud android application running system in the related art. As shown in fig. 1, in the related art, a plurality of containers (Container 1 to Container 3) are deployed in a single physical machine in the cloud, and each Container may provide a Android run time (Android run) for Yun Anzhuo applications Zhuo Huanjing (Android Environment), and the plurality of containers share an operating system (Host Linux OS) of the physical machine, and a Container Engine (Container Engine) is further provided in the physical machine to manage the plurality of containers. However, the kernel process included in the containerized Android run time occupies a relatively large memory, for example, generally occupies 200-300 m, so that the number of Yun Anzhuo applications that can be supported by the remaining memory of the physical machine is limited. Android runtime
In order to solve the related technical problems, the embodiment of the disclosure provides a cloud Android application running method, which can reduce the memory consumption of containerized Android run times, so that the remaining memory of a physical machine can support running of more Yun Anzhuo applications. The Yun Anzhuo application running method provided by the embodiment of the present disclosure is described in detail below.
Fig. 2 illustrates a flowchart of a cloud android application running method, according to an embodiment of the present disclosure. The method is applied to a cloud end of Yun Anzhuo application running systems, a physical machine of the cloud end comprises a plurality of cloud Android applications and a target container shared by the cloud Android applications, and the target container is used for providing an Android running environment (Android run-time Android run time). As shown in fig. 2, the method may include:
in step S21, an application start request sent by the client is received, where the application start request includes a target identifier, where the target identifier is used to identify a target Yun Anzhuo application and a target user that needs to start a target Yun Anzhuo application, and the target Yun Anzhuo application is one of multiple cloud android applications.
In step S22, the target Yun Anzhuo application is started based on the target container response to the application start request, and a display corresponding to the target Yun Anzhuo application is rendered.
In step S23, a display screen corresponding to the target Yun Anzhuo application is returned to the client, where the client is configured to display the display screen corresponding to the target Yun Anzhuo application to the target user.
In the embodiment of the disclosure, a physical machine of a cloud end in a Yun Anzhuo application running system comprises a plurality of cloud Android applications and a target container shared by the cloud Android applications for providing an Android running environment, compared with a mode of deploying a plurality of containerized Android run times on a single physical machine for providing the Android running environment, the method of sharing the target container can reduce memory consumption of the Android run times, so that the rest memory of the single physical machine can support running of more Yun Anzhuo applications, under an actual application scene, an application starting request sent to the cloud end by a client in the Yun Anzhuo application running system is received, the application starting request comprises a target identifier for identifying a target Yun Anzhuo application to be started and a target user for starting the target Yun Anzhuo application, the target Yun Anzhuo application is one of the cloud Android applications, the target Yun Anzhuo application is started on the basis of the response of the application starting request of the target container, and a display screen corresponding to the target Yun Anzhuo application is obtained, further, the display screen corresponding to the target Yun Anzhuo application can be returned to a client, the client can effectively display the target display screen corresponding to the target Yun Anzhuo application, so that the target Yun Anzhuo application can effectively run on the cloud end on the target client and the target client in order to realize effective display of the target user experience of the target Yun Anzhuo on the cloud end and the target user.
In addition, in the related art, in the case of deploying multiple containerized Android run times on a single physical machine, the same Yun Anzhuo application needs to be installed in each container, so that the data memory of the Yun Anzhuo application on the single physical machine occupies a relatively large space, and once application update occurs, the update needs to be performed for each container, which results in relatively long time consumption. In the embodiment of the disclosure, only one part of the same Yun Anzhuo application needs to be installed on a single physical machine in a manner of sharing the target container, so that the data memory occupation of Yun Anzhuo application on the single physical machine can be reduced, and when a certain Yun Anzhuo application needs to be updated, only one part of the cloud android application is installed on the single physical machine, and the updating operation needs to be executed only once, so that the application updating time is greatly shortened.
In one possible implementation, the physical machine comprises a login server, receives an application starting request sent by a client, and comprises the steps of carrying out login authentication on login of a target user on the client based on the login server, and sending an application list to the client after the login authentication is passed, wherein the application list comprises application identifiers of Yun Anzhuo applications which can be started by the target user, and receives the application starting request returned by the client, wherein the application starting request is generated based on selection operation of the target user on the application list on the client.
The cloud physical machine is provided with a login server, so that login of a user at a client can be effectively managed based on the login server, and after login authentication of a target user is passed, an application identifier of Yun Anzhuo applications which can be started by the target user is sent to the client for selection by the target user.
In one possible implementation, the method further includes creating a target APP SERVER corresponding to the target Yun Anzhuo application based on the login server according to the application launch request, wherein the target APP SERVER includes a target identifier.
Based on the application launch request for the target user launch target Yun Anzhuo application, a target APP SERVER is created ready for subsequent launching of the target Yun Anzhuo application for the target user. During the startup for the target user and the post-startup running of the target Yun Anzhuo application, data transfer is achieved based on the target APP SERVER communication with the client.
Fig. 3 shows a schematic diagram of a cloud android application running system, according to an embodiment of the disclosure. As shown in fig. 3, the physical machine of the cloud includes a Login Server (Login Server). After the user performs the login operation on the client, the client communicates with the login server, and the login server performs login authentication on the login of the user on the client so as to perform identity verification (for example, verification on a login account and a login password) on the user, so that the user can safely login to the cloud. The specific procedure of login authentication may refer to related art embodiments, which are not specifically limited by the present disclosure.
The Yun Anzhuo application running system can comprise a plurality of clients, and the same user can log in the cloud through different clients. As shown in fig. 3, the user 1 may log in the cloud on the basis of login information (for example, a login account number and a login password of the user 1) at the client 1, may log in the cloud on the basis of the same login information at the client 2, the user 2 may log in the cloud on the basis of login information (for example, a login account number and a login password of the user 2) at the client 3, and thus, the user m may log in the cloud on the basis of login information (for example, a login account number and a login password of the user m) at the client n.
In an example, after the client login is successful, the target user may obtain an application list corresponding to the target user from the cloud end, so as to display Yun Anzhuo applications that can be started to the target user. After the target user executes the selection operation on the application list, an application starting request of the target user is generated, and the application starting request is sent to the cloud.
The method for starting Yun Anzhuo applications needs to be executed for different users, and user handles (userhandle) of applications started by different users are different, wherein userhandle is used for uniquely identifying user identity information, and is combined with an application identifier of Yun Anzhuo applications required to be started by the user, so that a unique identifier of the application starting request is generated and is used for identifying the user corresponding to the application starting request and Yun Anzhuo applications required to be started. The specific form of the target identifier may be set in different forms according to actual needs, for example, may be a combination of the user identifier (userhandle) and an application identifier of the Yun Anzhuo application to be started, or may be a hash value of the user identifier and an application identifier of the Yun Anzhuo application to be started, which is not specifically limited in this disclosure.
For example, the application list corresponding to the target user includes Yun Anzhuo application identifiers of application 1 (APP 1), yun Anzhuo application 2 (APP 2) and Yun Anzhuo application 3 (APP 3), and after the target user performs a selection operation to select the APP2 application identifier, an application start request of the target user is generated, where the application start request includes the target identifier, a user identifier of the target user and the APP2 application identifier, and indicates that the application start request is used for requesting to start the APP2 for the target user.
After receiving the application starting request of the target user, the login server creates a target APP SERVER corresponding to the target Yun Anzhuo application to be started for the target user, wherein the target APP SERVER comprises a target identifier for identifying the target user and the target Yun Anzhuo application. For example, for an application start request that the target user needs to start APP2, the login server creates a target APP SERVER, and the target APP SERVER includes a target identifier, a user identifier of the target user, and an application identifier of APP 2.
Taking fig. 3 as an example, in the case that the user 1 starts the APP1 based on the client 1, the user 1 starts the APP2 based on the client 2, and the user 2 starts the APP2 based on the client 3, as shown in fig. 3, the login server creates APP SERVER1 (including the user identifier of the user 1 and the application identifier of the APP 1), APP SERVER2 (including the user identifier of the user 1 and the application identifier of the APP 2), APP SERVER3 (including the user identifier of the user 2 and the application identifier of the APP 2), and so on, which are not described in detail. The same user cannot simultaneously launch multiple identical Yun Anzhuo applications, multiple different Yun Anzhuo applications, and different users can simultaneously launch identical Yun Anzhuo applications.
In one possible implementation, the target container includes a core service and a virtual display synthesizer, the method includes starting a target Yun Anzhuo application based on a target container response application starting request and rendering to obtain a display corresponding to the target Yun Anzhuo application, and the method includes sending the application starting request to the core service based on the target APP SERVER, starting a target Yun Anzhuo application based on the core service if it is determined that the target container currently supports starting the target Yun Anzhuo application, creating a target output corresponding to the target Yun Anzhuo application based on the virtual display synthesizer after the target Yun Anzhuo application is started, wherein the target output includes a target identifier, and rendering to obtain a display corresponding to the target Yun Anzhuo application based on the target output.
Compared with the problem that in the related art, a display synthesizer in the android native state in the containerization Android Runtnime can only render a picture for one cloud android application, which results in the running of different Yun Anzhuo applications and requires setting of a plurality of different containers, the embodiment of the disclosure sets a virtual display synthesizer in the shared target container, and the corresponding display picture can be effectively rendered for different Yun Anzhuo applications through the virtual display synthesizer.
In the Yun Anzhuo application system of the embodiment of the present disclosure, only one target container may be deployed on a single physical machine, or a small number of target containers may be deployed, and each target container may be shared by multiple cloud Android applications installed on the single physical machine, so that memory consumption of Android run is effectively reduced, and the remaining memory of the single physical machine can support running more Yun Anzhuo applications.
After creating target APP SERVER for target user launch target Yun Anzhuo application, it is determined whether the target container currently supports the launch target Yun Anzhuo application, and in the case that the target container currently supports the launch target Yun Anzhuo application, the target Yun Anzhuo application is launched for the target user based on the core service. After the target Yun Anzhuo application is started, the virtual display synthesizer creates a corresponding target output so that the subsequent image rendering can be performed for the target Yun Anzhuo application started by the target user based on the target output.
After creating the target APP SERVER and the target output, the whole communication link of the target Yun Anzhuo application of which the target user of the client starts the cloud is built. The communication between the client and the target APP SERVER, and the communication between the target APP SERVER and the target output are implemented according to the target identifier for indicating the target user and the target Yun Anzhuo application.
As shown in FIG. 3, the physical machine further comprises a container manager for managing target containers, and the target containers share an operating system of the physical machine. The target container includes a Core Service and a virtual display synthesizer Virtual Surface Flinger. The core service in the target container starts APP1 and APP2 for user 1, and starts APP2 for user 2, and the virtual display synthesizer in the target container creates output1 (comprising: user identification of user 1 and application identification of APP 1), output2 (comprising: user identification of user 1 and application identification of APP 2), and output3 (comprising: user identification of user 2 and application identification of APP 2), wherein output1 performs picture rendering for APP1 started by user 1, output2 performs picture rendering for APP2 started by user 1, and output3 performs picture rendering for APP2 started by user 2.
According to the drawing flow of android, graphics cache is submitted to a virtual display synthesizer after APP rendering is completed, at this time, the virtual display synthesizer synthesizes all graphics rendered by the APP through corresponding output, and submits the synthesized graphics cache to corresponding APP SERVER. When all the graphics rendered by the APP have only one layer of graphics, no synthesis operation is executed, and the graphics cache of the unique layer of graphics is directly submitted to the corresponding APP SERVER. The specific rendering composition process may refer to the related art, which is not specifically limited by the present disclosure.
In an example, after creating a target output for the target user launch target Yun Anzhuo application, according to the drawing flow of android, the target Yun Anzhuo application submits the rendered graphics buffer to the virtual display compositor, at this time, the virtual display compositor composes all the rendered graphics for the target Yun Anzhuo application through the corresponding target output, and submits the composed graphics buffer to the corresponding target APP SERVER.
In one possible implementation, returning the display corresponding to the target Yun Anzhuo application to the client includes sending the display corresponding to the target Yun Anzhuo application to the target APP SERVER according to the target identifier based on the target output, performing image encoding on the display corresponding to the target Yun Anzhuo application based on the target APP SERVER, and sending the encoding result to the client, where the client is configured to decode the encoding result to obtain the display corresponding to the target Yun Anzhuo application.
The target APP SERVER can be used as an image encoder to effectively perform image encoding on the display picture corresponding to the target Yun Anzhuo application, and then the target APP SERVER is communicated with the client to send the encoding result to the client, so that the client can decode the encoding result to obtain the display picture corresponding to the target Yun Anzhuo application and display the display picture to the target user.
Because multiple cloud android applications installed on a single physical machine share the GPU of the physical machine, in order to avoid that excessive Yun Anzhuo applications on the same time slice use the GPU to render under the GPU time division multiplexing scene, the occupancy rate of the GPU is too high, and the rendering operation of the started multiple cloud android applications needs to be reasonably scheduled.
In one possible implementation manner, the virtual display synthesizer comprises a vsync scheduler and a plurality of output lists, the method further comprises the steps of distributing vsync trigger time to each output list based on the vsync scheduler, wherein the vsync trigger time distributed by different output lists is different, and based on the vsync scheduler, responding to non-empty target output lists at the vsync trigger time corresponding to the target output lists, and triggering each output in the target output list to send a vsync signal to a corresponding Yun Anzhuo application, wherein the target output list is the output list where the target output is located.
Setting a vsync scheduler and a plurality of output lists in a virtual display synthesizer, so that the output corresponding to a plurality of started cloud android applications can be reasonably distributed to the plurality of output lists through the vsync scheduler, the vsync trigger time distributed by different output lists is different, so that different output lists correspond to different time slices, and rendering operations among Yun Anzhuo applications corresponding to the output included in the different output lists are staggered, thereby balancing the system load.
In an example, the maximum number of output lists depends on the application frame rate fps supported by the current android running environment provided by the target container, and the average per-frame rendering time ms of Yun Anzhuo applications with highest GPU rendering load among the multiple cloud android applications on the current physical machine. For example, the maximum number of output lists N, n=rounded down (1000 ms/application frame rate fps/Yun Anzhuo application with highest GPU rendering load average rendering time ms per frame) may be determined by the following formula.
The application frame rate supported by the current android running environment provided by the target container may be 30fps, 60fps, 90fps, etc., which is not specifically limited by the present disclosure. A single android operating environment supports only one application frame rate.
For example, in the case where the application frame rate supported by the current android running environment provided by the target container is 30fps, and the average rendering time per frame of the Yun Anzhuo applications with the highest GPU rendering load among the current plurality of cloud android applications is 2.5ms, the maximum number n=the output list in the target container is rounded down (1000/30/2.5) =13.
For example, in the case where the application frame rate supported by the current android running environment provided by the target container is 60fps, and the average rendering time per frame of the Yun Anzhuo applications with the highest GPU rendering load among the current plurality of cloud android applications is 2.5ms, the maximum number n=the output list in the target container is rounded down (1000/60/2.5) =6.
In an example, the maximum sustainable rendering load = (1000 ms/maximum number N of application frame rate fps/output lists) for each output list.
For example, in the case where the application frame rate supported by the current android running environment provided by the target container is 60fps, and the maximum number of output lists in the target container n=6, the maximum affordable rendering load per output list= (1000/60/6) =2.6.
In an example, the rendering load required by each cloud android application on the current physical machine is related to the GPU occupancy when the cloud android application performs off-screen rendering when running independently in the current android running environment provided by the target container. For example, when the occupancy rate of the GPU of Yun Anzhuo application 1 (APP 1) when performing off-screen rendering when independently running in the current android running environment provided by the target container is 10%, it may be determined that the rendering load required by APP1 is 0.1.
In an example, for any one cloud android application on the current physical machine, after the cloud android application is updated, the rendering load required by the cloud android application needs to be recalculated.
In an example, for any one of the cloud android applications on the current physical machine, the rendering loads required by the Yun Anzhuo applications under different versions are stored in a preset configuration file, and the data structure may be { "app_id" [ { "version_0",0.2}, { "version_1",0.4}, { "version_2",0.4 }.
In one example, the Vsync scheduler slices a frame time into a plurality of time slices. Wherein one frame time= (1000 ms/application frame rate fps), the number of time slices is the same as the maximum number N of output lists. Thus, each output list may occupy a time slice separately. For any one output list, the starting time of the time slice corresponding to the output list is the vsync trigger time corresponding to the output list.
In an example, for any one of the output lists, the output list may include an active state and an inactive (deactive) state. When the output list is in the active state, it indicates that the output list is not empty, that is, the output list includes at least one output. When the output list is inactive, the output list is empty, that is, the output list does not include output.
For any one output list, judging whether the output list is not empty or not at the vsync trigger time corresponding to the output list. And triggering each output in the output list to send a vsync signal to the corresponding Yun Anzhuo application under the condition that the output list is not empty, so that Yun Anzhuo application corresponding to each output in the output list calls the GPU to render on the time slice corresponding to the output list, and under the condition that the output list is empty, the output list does not participate in scheduling, namely the vsync signal is not triggered.
For example, in the case where the application frame rate supported by the current android running environment provided by the target container is 30fps, one frame time is 33ms, and at this time, if the maximum number of output lists in the target container n=13, one frame time 33ms may be sliced into 13 time slices, each of which is about 2.54ms. The starting time of the first time slice of each frame time is the vsync trigger time of the output list 1, at this time, if the output list 1 is not empty, each output in the output list 1 is triggered to send a vsync signal to the corresponding Yun Anzhuo application, the starting time of the second time slice of each frame time is the vsync trigger time of the output list 2, at this time, if the output list 2 is not empty, each output in the output list 2 is triggered to send a vsync signal to the corresponding Yun Anzhuo application, and so on, until the starting time of the thirteenth time slice of each frame time is the vsync trigger time of the output list 13, at this time, if the output list 13 is not empty, each output in the output list 13 is triggered to send a vsync signal to the corresponding Yun Anzhuo application.
Aiming at the operation that the target Yun Anzhuo application is required to be started for the target user at present, based on the vsync scheduler, at the vsync triggering moment corresponding to the target output list, responding to the non-empty of the target output list, and triggering each output in the target output list to send a vsync signal to the corresponding Yun Anzhuo application, so that the purpose that the target output sends the vsync signal to the target Yun Anzhuo application can be effectively realized, and the rendering operation of the target Yun Anzhuo application is triggered and executed.
In one possible implementation, the method further includes determining, based on the vsync scheduler, a current affordable rendering load for the target container from the remaining rendering loads for each output list, and determining that the target container currently supports launching the target Yun Anzhuo application if the current affordable rendering load for the target container is greater than the rendering load required for the target Yun Anzhuo application.
When a target user needs to start a target Yun Anzhuo application, for any one output list, the vsync scheduler determines the remaining rendering load of the output list according to the rendering load required by each output in the output list, and further, according to the remaining rendering load of each output list, the current affordable rendering load corresponding to the target container can be determined. In the event that the current affordable rendering load for the target container is greater than the rendering load required by the target Yun Anzhuo application, it is determined that the target container currently supports launching the target Yun Anzhuo application, such that the core service in the target container launches the target Yun Anzhuo application.
In one possible implementation manner, rendering to obtain a display picture corresponding to the target Yun Anzhuo application based on the target output comprises determining a target output list corresponding to the target output based on a vsync scheduler, and sending a vsync signal to the target Yun Anzhuo application based on the target output at a vsync trigger time corresponding to the target output list, wherein the vsync signal is used for triggering a rendering operation corresponding to the target Yun Anzhuo application to obtain a display picture corresponding to the target Yun Anzhuo application.
After the target Yun Anzhuo application is started for the target user and the corresponding target output is created, a corresponding target output list is allocated for the target output, so that a vsync signal can be sent to the target Yun Anzhuo application at a vsync triggering time corresponding to the target output list, so that a rendering operation corresponding to the target Yun Anzhuo application is effectively triggered, and a display screen corresponding to the target Yun Anzhuo application is obtained.
In one possible implementation, determining the target output list corresponding to the target output based on the vsync scheduler includes determining, based on the vsync scheduler, whether at least one candidate output list exists in the plurality of output lists, where the residual rendering load meets the rendering load requirement of the target Yun Anzhuo application, and determining, based on the vsync scheduler, the candidate output list with the maximum residual rendering load as the target output list if the at least one candidate output list exists.
The vsync scheduler firstly judges whether at least one candidate output list with the residual rendering load meeting the rendering load requirement of the target Yun Anzhuo application exists according to the residual rendering load in each current output list, and under the condition that the candidate output list exists, the candidate output list with the maximum residual rendering load can determine the target output list which is the most suitable target output, further the target output can be directly distributed to the target output list, and then the target output can be scheduled on a time slice corresponding to the target output list, so that the picture rendering of the target Yun Anzhuo application is completed.
In a possible implementation manner, the method further comprises the steps of clearing all the output of the plurality of output lists based on the vsync scheduler under the condition that no candidate output list exists, sequencing all the output of the plurality of output lists and the target output according to the rendering load requirement from large to small to obtain an output sequence, and carrying out load balancing reassignment on any one output of the output sequences based on the vsync scheduler according to a preset assignment principle, wherein the preset assignment principle is used for controlling load balancing among the plurality of output lists after the output is assigned, and determining the output list where the target output is located as the target output list based on the vsync scheduler under the condition that the load balancing reassignment is successfully completed in the output sequence.
If the vsync scheduler determines that no candidate output list meeting the requirements exists currently, all the output lists in the output lists can be emptied, all the output lists in the output lists and the target output are ordered from large to small according to the rendering load requirement, so that an output sequence is obtained, further, load balancing reassignment can be performed on each output in the output sequence based on a preset assignment principle, if all the output in the output sequence successfully completes the load balancing reassignment, assignment of the target output is effectively completed, the output list in which the target output is located can be determined as the target output list, and subsequently, the target output can be scheduled on a time slice corresponding to the target output list, so as to complete picture rendering of the target Yun Anzhuo application.
In one example, firstly, the output data of each current output list is saved, then, all the output lists are emptied, all the output and target output in all the output lists are ordered from large to small according to the rendering load requirement, an output sequence is obtained, and then, the output in the output sequence is sequentially redistributed according to the order of the rendering load requirement from large to small.
In one example, for any one of the reassigned output, the appropriate list of outputs may be assigned to that output according to the following dichotomy. Specifically, outputlist to outputlistN are divided into left and right parts in the case where N output lists (output list1 to output list N) are included in the target container. For example, outputlist to outputlist (N/2) are divided into left half portions, outputlist { (N/2) +1} to outputlistN are divided into right half portions in the case where N is an even number, outputlist to outputlist [ (N+1)/2 ] are divided into left half portions, and outputlist { [ (N+1)/2 ] +1} to outputlistN are divided into right half portions in the case where N is an odd number.
And further, respectively calculating the total rendering load of the left half part and the total rendering load of the right half part, further determining the half part with smaller total rendering load, repeatedly dividing the half part into a left part and a right part, if the total rendering load is equal, preferentially selecting the left half part until one output list of the current output for load distribution can be finally found out, and further placing the output into the output list to participate in vsync scheduling, so that load balancing among N output lists after the output is distributed is realized.
After the load balancing reassignment is performed on all the output in the output sequence, if the assignment is successful, the rendering load of each output list can be ensured to be balanced in the rendering load of each time slice of one frame. At this time, the output list where the target output is located may be determined as the target output list, and then the target output may be scheduled on a time slice corresponding to the target output list, so as to complete the picture rendering applied by the target Yun Anzhuo.
In one possible implementation, the method further includes determining, based on the vsync scheduler, that the target container does not currently support launching the target Yun Anzhuo application in the event that there is at least one output load balancing reallocation failure in the output sequence.
After performing the above load balancing allocation for all of the outputs in the output sequence, if there is at least one output allocation failure, it may be determined that the target container does not currently support launching the target Yun Anzhuo application. At this time, the data stored before the load balancing is redistributed is restored, and the output data of each output list is returned to the target APP SERVER to inform the target APP SERVER that the target container does not support starting the target Yun Anzhuo application currently.
In an example, in the event that the current target container does not currently support launching the target Yun Anzhuo application, the target APP SERVER may determine if there are other target containers on the current physical machine that are capable of providing an android runtime environment and repeatedly perform the above operations to determine if the target Yun Anzhuo application can be successfully launched.
After the target Yun Anzhuo application is successfully started and the target output corresponding to the target Yun Anzhuo application is successfully allocated to the target output list to participate in vsync scheduling, the target output can be scheduled on a time slice corresponding to the target output list, so as to complete the picture rendering of the target Yun Anzhuo application.
In an example, android Runtnime in the target container may provide basic service capabilities of android, e.g., android Runtnime in the target container, support running Window manager service (Window MANAGER SERVICE, WMS), package manager service (PACKAGE MANAGER SERVICE, PMS), activity manager service (ACTIVITY MANAGER SERVICE, AMS), input manager service (Input MANAGER SERVICE, IMS), etc. in the target container. As shown in fig. 3, WMS, AMS, PMS, IMS are included in the target container.
The system comprises a management system, a PMS, an AMS, an IMS and an IMS, wherein the WMS is responsible for managing all windows of the management system, is mainly responsible for distributing windows and processing hierarchical relations among the windows, the PMS is responsible for managing information of Yun Anzhuo applications installed in the management system, provides a series of query interfaces, can acquire information of Yun Anzhuo applications installed and interfaces for installing, uninstalling and updating the cloud android application program, the AMS is responsible for managing lifecycle, task stack, switching between processes and activities and the like of Yun Anzhuo applications, cooperates with the PMS to ensure that Yun Anzhuo applications can run correctly and interact with users, and the IMS is a system service for processing various user operations and abstracting an event input system, and is mainly used for acquiring and distributing input events including device plug-in events, touch events and the like. Besides WMS, AMS, PMS, IMS, other modules can be set according to actual situations, which are not limited in this disclosure.
In one possible implementation, the method further includes receiving a target event operation request executed by a target user at the client based on the target APP SERVER, wherein the target event operation request includes a text input operation request, an event input operation request, sending the target event operation request to the target Yun Anzhuo application through an android function module in a target container based on a core service, returning event processing results to the target APP SERVER, and returning the event processing results to the client based on the target APP SERVER.
For text input operation requests, the core service acts as a relay bridge, and forwards the text input operation request applied by the target Yun Anzhuo to the client through the target APP SERVER, so that an input method is started on the client, and then an input result is transmitted back to the target Yun Anzhuo application through a channel.
For event input operation requests, such as key touch events, the key touch events are delivered by the client to the core service via the target APP SERVER, and by the core service to the target Yun Anzhuo application for processing through the event injection capabilities of the WMS.
The target event operation request may include other event operation requests in addition to the text input operation request and the event input operation request described above, which is not particularly limited in this disclosure. For any event, the core service is used as a transit bridge to realize data transmission between the client and the target Yun Anzhuo application, and specific event processing can refer to related android embodiments, which is not specifically limited in the disclosure.
According to the embodiment of the disclosure, a physical machine of a cloud end in a Yun Anzhuo application running system comprises a plurality of cloud Android applications and a target container shared by the cloud Android applications and used for providing an Android running environment, compared with a mode of deploying a plurality of containerized Android run times on a single physical machine to provide the Android running environment, the memory consumption of the Android run times can be reduced in a mode of sharing the target container, so that the rest memory of the single physical machine can support running of more Yun Anzhuo applications, under an actual application scene, an application starting request sent to the cloud end by a client in the Yun Anzhuo application running system is received, the application starting request comprises a target identifier to identify a target Yun Anzhuo application to be started, and a target user needing to start the target Yun Anzhuo application, the target Yun Anzhuo application is one of the cloud Android applications, the target container is used for responding to the application starting request, the target Yun Anzhuo application is started, a display screen corresponding to the target Yun Anzhuo application is obtained, further, the display screen corresponding to the target 5349 application can be supported by the client is returned to the client, the target 3449 application can be effectively displayed on the cloud end by the client, and the target Yun Anzhuo is effectively displayed on the target client in the cloud end by the physical machine, and the target user can effectively run on the target client by the target user Yun Anzhuo.
It will be appreciated that the above-mentioned method embodiments of the present disclosure may be combined with each other to form a combined embodiment without departing from the principle logic, and are limited to the description of the present disclosure. It will be appreciated by those skilled in the art that in the above-described methods of the embodiments, the particular order of execution of the steps should be determined by their function and possible inherent logic.
In addition, the disclosure further provides Yun Anzhuo application running systems, electronic devices, computer readable storage media and programs, which can be used for implementing any one of the cloud android application running methods provided in the disclosure, and corresponding technical schemes and descriptions and corresponding descriptions referring to method parts are not repeated.
Fig. 4 illustrates a block diagram of a cloud android application runtime system, in accordance with an embodiment of the present disclosure. As shown in fig. 4, the system 40 includes a cloud end and a client end, wherein a physical machine of the cloud end includes a plurality of cloud android applications and a target container shared by the cloud android applications, and the target container is used for providing an android runtime environment;
The cloud application server comprises a client and a cloud application server, wherein the client is used for sending an application starting request to the cloud application, the application starting request comprises a target identifier, the target identifier is used for identifying a target Yun Anzhuo application and a target user needing to start a target Yun Anzhuo application, and the target Yun Anzhuo application is one of a plurality of cloud android applications;
The target container is used for responding to the application starting request, starting the target Yun Anzhuo application and rendering to obtain a display picture corresponding to the target Yun Anzhuo application;
And the client is used for displaying a display picture corresponding to the target Yun Anzhuo application to the target user.
In one possible implementation, the physical machine includes a login server;
the login server is used for carrying out login authentication on the login of the target user at the client, and sending an application list to the client after the login authentication is passed, wherein the application list comprises application identifiers of Yun Anzhuo applications which can be started by the target user;
and the client is used for generating an application starting request based on the selection operation of the target user on the application list and sending the application starting request to the login server.
In one possible implementation, the login server is configured to create, according to the application start request, a target APP SERVER corresponding to the target Yun Anzhuo application, where the target APP SERVER includes a target identifier.
In one possible implementation, the target container includes a core service, a virtual display synthesizer;
A target APP SERVER for sending an application launch request to the core service;
A core service for launching the target Yun Anzhuo application if it is determined that the target container currently supports launching the target Yun Anzhuo application;
The virtual display synthesizer is used for creating a target output corresponding to the target Yun Anzhuo application after the target Yun Anzhuo application is started, wherein the target output comprises a target identifier;
and the target output is used for rendering and obtaining a display picture corresponding to the application of the target Yun Anzhuo.
In one possible implementation, the target output is configured to send, according to the target identifier, a display screen corresponding to the target Yun Anzhuo application to the target APP SERVER;
A target APP SERVER, configured to perform image encoding on a display screen corresponding to the application of the target Yun Anzhuo, and send an encoding result to the client;
And the client is used for decoding the coding result to obtain a display picture corresponding to the target Yun Anzhuo application.
In one possible implementation, the virtual display synthesizer includes a vsync scheduler and a plurality of output lists;
the vsync scheduler is used for distributing vsync trigger time to each output list, wherein the vsync trigger time distributed by different output lists is different;
The vsync scheduler is configured to, at a vsync trigger time corresponding to the target output list, trigger each output in the target output list to send a vsync signal to a corresponding Yun Anzhuo application in response to the target output list being non-empty, where the target output list is the output list where the target output is located.
In one possible implementation, the vsync scheduler is configured to determine, according to the remaining rendering load of each output list, a current affordable rendering load corresponding to the target container, and determine that the target container currently supports launching the target Yun Anzhuo application if the current affordable rendering load corresponding to the target container is greater than the rendering load required by the target Yun Anzhuo application.
In one possible implementation, the vsync scheduler is configured to determine a target output list corresponding to the target output;
And the target output is configured to send a vsync signal to the target Yun Anzhuo application at a vsync trigger time corresponding to the target output list, where the vsync signal is used to trigger a rendering operation corresponding to the target Yun Anzhuo application, so as to obtain a display screen corresponding to the target Yun Anzhuo application.
In one possible implementation, a vsync scheduler is configured to determine whether there is at least one candidate output list of the plurality of output lists for which the remaining rendering load meets the rendering load requirement of the target Yun Anzhuo application;
And the vsync scheduler is used for determining the candidate output list with the largest residual rendering load as a target output list in the case that at least one candidate output list exists.
In one possible implementation manner, the vsync scheduler is configured to empty all the output units in the multiple output units list and sort all the output units and the target output units in the multiple output units list from large to small according to the rendering load requirement, where no candidate output unit list exists, so as to obtain an output sequence;
The vsync scheduler is used for carrying out load balancing redistribution on any one output in the output sequence according to a preset distribution principle, wherein the preset distribution principle is used for controlling the load balancing among a plurality of output lists after the output is distributed;
And the vsync scheduler is used for determining an output list where the target output is located as a target output list under the condition that each output in the output sequence successfully completes load balancing redistribution.
In one possible implementation, the vsync scheduler is configured to determine that the target container does not currently support the launch target Yun Anzhuo application in the event that there is at least one output load balancing reallocation failure in the output sequence.
In one possible implementation, a target APP SERVER is configured to receive a target event operation request that is executed by a target user at a client, and send the target event operation request to a core service, where the target event operation request includes a text input operation request and an event input operation request;
The core service is used for sending a target event operation request to a target Yun Anzhuo application through an android functional module in a target container and returning an event processing result to a target APP SERVER;
And the target APP SERVER is used for returning the event processing result to the client.
The method has specific technical association with the internal structure of the computer system, and can solve the technical problems of improving the hardware operation efficiency or the execution effect (including reducing the data storage amount, reducing the data transmission amount, improving the hardware processing speed and the like), thereby obtaining the technical effect of improving the internal performance of the computer system which accords with the natural law.
In some embodiments, functions or modules included in an apparatus provided by the embodiments of the present disclosure may be used to perform a method described in the foregoing method embodiments, and specific implementations thereof may refer to descriptions of the foregoing method embodiments, which are not repeated herein for brevity.
The disclosed embodiments also provide a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method. The computer readable storage medium may be a volatile or nonvolatile computer readable storage medium.
The embodiment of the disclosure also provides electronic equipment, which comprises a processor and a memory for storing instructions executable by the processor, wherein the processor is configured to call the instructions stored by the memory so as to execute the method.
Embodiments of the present disclosure also provide a computer program product comprising computer readable code, or a non-transitory computer readable storage medium carrying computer readable code, which when run in a processor of an electronic device, performs the above method.
The electronic device may be provided as a terminal, server or other form of device.
Fig. 5 shows a block diagram of an electronic device, according to an embodiment of the disclosure. Referring to fig. 5, an electronic device 1900 may be provided as a server or terminal device. Referring to FIG. 5, electronic device 1900 includes a processing component 1922 that further includes one or more processors and memory resources represented by memory 1932 for storing instructions, such as application programs, that can be executed by processing component 1922. The application programs stored in memory 1932 may include one or more modules each corresponding to a set of instructions. Further, processing component 1922 is configured to execute instructions to perform the methods described above.
The electronic device 1900 may also include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input/output interface 1958. The electronic device 1900 may operate based on an operating system stored in memory 1932, such as the Microsoft Server operating system (Windows Server TM), the apple Inc. promoted graphical user interface-based operating system (Mac OS X TM), the multi-user, multi-process computer operating system (Unix TM), the free and open source Unix-like operating system (Linux TM), the open source Unix-like operating system (FreeBSD TM), or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium is also provided, such as memory 1932, including computer program instructions executable by processing component 1922 of electronic device 1900 to perform the methods described above.
The present disclosure may be a system, method, and/or computer program product. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical encoding device, punch cards or intra-groove protrusion structures such as those having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as SMALLTALK, C ++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The computer program product may be realized in particular by means of hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied as a computer storage medium, and in another alternative embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), or the like.
The foregoing description of various embodiments is intended to highlight differences between the various embodiments, which may be the same or similar to each other by reference, and is not repeated herein for the sake of brevity.
It will be appreciated by those skilled in the art that in the above-described method of the specific embodiments, the written order of steps is not meant to imply a strict order of execution but rather should be construed according to the function and possibly inherent logic of the steps.
If the technical scheme of the application relates to personal information, the product applying the technical scheme of the application clearly informs the personal information processing rule before processing the personal information and obtains the autonomous agreement of the individual. If the technical scheme of the application relates to sensitive personal information, the product applying the technical scheme of the application obtains individual consent before processing the sensitive personal information, and simultaneously meets the requirement of 'explicit consent'. For example, a clear and obvious mark is set at a personal information acquisition device such as a camera to inform that the personal information acquisition range is entered, personal information is acquired, if the personal voluntarily enters the acquisition range, the personal information is considered as consent to acquire the personal information, or if a clear mark/information is used on a personal information processing device to inform that the personal information processing rule is used, personal authorization is obtained through popup information or a mode of requesting the personal information to upload the personal information by the personal, wherein the personal information processing rule can comprise information such as a personal information processor, a personal information processing purpose, a processing mode, a processed personal information type and the like.
The foregoing description of the embodiments of the present disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (14)

1.一种云安卓应用运行方法,其特征在于,所述方法应用于云端,所述云端的物理机中包括多个云安卓应用、以及所述多个云安卓应用共享的目标容器,所述目标容器用于提供安卓运行时环境;所述方法包括:1. A cloud Android application running method, characterized in that the method is applied to a cloud, wherein a physical machine in the cloud includes multiple cloud Android applications and a target container shared by the multiple cloud Android applications, and the target container is used to provide an Android runtime environment; the method comprises: 接收客户端发送的应用启动请求,其中,所述应用启动请求中包括目标标识,所述目标标识用于标识目标云安卓应用,以及需要启动所述目标云安卓应用的目标用户,所述目标云安卓应用为所述多个云安卓应用中的一个;Receive an application startup request sent by a client, wherein the application startup request includes a target identifier, the target identifier is used to identify a target cloud Android application, and a target user who needs to start the target cloud Android application, and the target cloud Android application is one of the multiple cloud Android applications; 基于所述目标容器响应所述应用启动请求,启动所述目标云安卓应用,以及渲染得到所述目标云安卓应用对应的显示画面;The target container responds to the application start request, starts the target cloud Android application, and renders a display screen corresponding to the target cloud Android application; 向所述客户端返回所述目标云安卓应用对应的显示画面,其中,所述客户端用于将所述目标云安卓应用对应的显示画面向所述目标用户展示;Returning the display screen corresponding to the target cloud Android application to the client, wherein the client is used to display the display screen corresponding to the target cloud Android application to the target user; 所述目标容器中包括虚拟显示合成器;所述虚拟显示合成器中包括垂直同步vsync调度器、多个输出实例output列表;The target container includes a virtual display synthesizer; the virtual display synthesizer includes a vertical synchronization vsync scheduler and multiple output instance output lists; 所述方法还包括:基于所述vsync调度器,按照预设分配原则将已经启动的每个云安卓应用对应的output分配至对应的output列表,其中,所述预设分配原则用于控制所述多个output列表之间负载均衡;基于所述vsync调度器,为每个output列表分配vsync触发时刻,其中,不同output列表分配的vsync触发时刻不同;基于所述vsync调度器,任意一个output列表对应的vsync触发时刻,响应于该output列表非空,触发该output列表中的每个output向对应的云安卓应用发送vsync信号。The method also includes: based on the vsync scheduler, allocating the output corresponding to each started cloud Android application to the corresponding output list according to a preset allocation principle, wherein the preset allocation principle is used to control the load balancing between the multiple output lists; based on the vsync scheduler, allocating a vsync trigger time for each output list, wherein different output lists have different vsync trigger times allocated; based on the vsync scheduler, at the vsync trigger time corresponding to any output list, in response to the output list being non-empty, triggering each output in the output list to send a vsync signal to the corresponding cloud Android application. 2.根据权利要求1所述的方法,其特征在于,所述物理机中包括登录服务器;2. The method according to claim 1, wherein the physical machine includes a login server; 所述接收客户端发送的应用启动请求,包括:The receiving the application startup request sent by the client includes: 基于所述登录服务器,对所述目标用户在所述客户端的登录进行登录鉴权,以及在登录鉴权通过后,向所述客户端发送应用列表,其中,所述应用列表中包括所述目标用户能够启动的云安卓应用的应用标识;Based on the login server, perform login authentication on the target user at the client, and after the login authentication is passed, send an application list to the client, wherein the application list includes application identifiers of cloud Android applications that can be started by the target user; 接收所述客户端返回的所述应用启动请求,其中,所述应用启动请求是基于所述目标用户在所述客户端针对所述应用列表的选择操作生成的。The application start request returned by the client is received, wherein the application start request is generated based on a selection operation of the target user on the application list on the client. 3.根据权利要求2所述的方法,其特征在于,所述方法还包括:3. The method according to claim 2, further comprising: 基于所述登录服务器,根据所述应用启动请求,创建所述目标云安卓应用对应的目标应用程序服务器实例APP server,其中,所述目标APP server中包括所述目标标识。Based on the login server and according to the application start request, a target application server instance APP server corresponding to the target cloud Android application is created, wherein the target APP server includes the target identifier. 4.根据权利要求3所述的方法,其特征在于,所述目标容器中包括核心服务;4. The method according to claim 3, wherein the target container includes core services; 所述基于所述目标容器响应所述应用启动请求,启动所述目标云安卓应用,以及渲染得到所述目标云安卓应用对应的显示画面,包括:The step of responding to the application start request based on the target container, starting the target cloud Android application, and rendering a display screen corresponding to the target cloud Android application includes: 基于所述目标APP server,将所述应用启动请求发送至所述核心服务;Based on the target APP server, sending the application startup request to the core service; 在确定所述目标容器当前支持启动所述目标云安卓应用的情况下,基于所述核心服务启动所述目标云安卓应用;When it is determined that the target container currently supports launching the target cloud Android application, launching the target cloud Android application based on the core service; 在启动所述目标云安卓应用后,基于所述虚拟显示合成器创建所述目标云安卓应用对应的目标输出实例output,其中,所述目标output包括所述目标标识;After starting the target cloud Android application, creating a target output instance output corresponding to the target cloud Android application based on the virtual display synthesizer, wherein the target output includes the target identifier; 基于所述目标output,渲染得到所述目标云安卓应用对应的显示画面。Based on the target output, a display screen corresponding to the target cloud Android application is rendered. 5.根据权利要求4所述的方法,其特征在于,所述向所述客户端返回所述目标云安卓应用对应的显示画面,包括:5. The method according to claim 4, wherein returning the display screen corresponding to the target cloud Android application to the client comprises: 基于所述目标output,根据所述目标标识,将所述目标云安卓应用对应的显示画面发送至所述目标APP server;Based on the target output, according to the target identifier, the display screen corresponding to the target cloud Android application is sent to the target APP server; 基于所述目标APP server,对所述目标云安卓应用对应的显示画面进行图像编码,以及将编码结果发送至所述客户端,其中,所述客户端用于对所述编码结果解码得到所述目标云安卓应用对应的显示画面。Based on the target APP server, image encoding is performed on the display screen corresponding to the target cloud Android application, and the encoding result is sent to the client, wherein the client is used to decode the encoding result to obtain the display screen corresponding to the target cloud Android application. 6.根据权利要求1所述的方法,其特征在于,所述方法还包括:6. The method according to claim 1, further comprising: 基于所述vsync调度器,根据每个output列表的剩余渲染负载,确定所述目标容器对应的当前可承受渲染负载,以及在所述目标容器对应的当前可承受渲染负载大于所述目标云安卓应用所需的渲染负载的情况下,确定所述目标容器当前支持启动所述目标云安卓应用。Based on the vsync scheduler, the current tolerable rendering load corresponding to the target container is determined according to the remaining rendering load of each output list, and when the current tolerable rendering load corresponding to the target container is greater than the rendering load required by the target cloud Android application, it is determined that the target container currently supports launching the target cloud Android application. 7.根据权利要求1所述的方法,其特征在于,所述基于所述目标output,渲染得到所述目标云安卓应用对应的显示画面,包括:7. The method according to claim 1, wherein rendering a display screen corresponding to the target cloud Android application based on the target output comprises: 基于所述vsync调度器,确定所述目标output对应的所述目标output列表;Determine the target output list corresponding to the target output based on the vsync scheduler; 在所述目标output列表对应的vsync触发时刻,基于所述目标output,向所述目标云安卓应用发送vsync信号,其中,所述vsync信号用于触发所述目标云安卓应用对应的渲染操作,得到所述目标云安卓应用对应的显示画面。At the vsync triggering moment corresponding to the target output list, a vsync signal is sent to the target cloud Android application based on the target output, wherein the vsync signal is used to trigger the rendering operation corresponding to the target cloud Android application to obtain the display screen corresponding to the target cloud Android application. 8.根据权利要求7所述的方法,其特征在于,所述基于所述vsync调度器,确定所述目标output对应的所述目标output列表,包括:8. The method according to claim 7, wherein determining the target output list corresponding to the target output based on the vsync scheduler comprises: 基于所述vsync调度器,确定所述多个output列表中是否存在剩余渲染负载满足所述目标云安卓应用的渲染负载需求的至少一个候选output列表;Based on the vsync scheduler, determining whether there is at least one candidate output list among the multiple output lists whose remaining rendering load meets the rendering load requirement of the target cloud Android application; 在存在至少一个候选output列表的情况下,基于所述vsync调度器,将剩余渲染负载最大的候选output列表确定为所述目标output列表。In the case that there is at least one candidate output list, based on the vsync scheduler, the candidate output list with the largest remaining rendering load is determined as the target output list. 9.根据权利要求8所述的方法,其特征在于,所述方法还包括:9. The method according to claim 8, further comprising: 在不存在候选output列表的情况下,基于所述vsync调度器,清空所述多个output列表中的全部output,以及对所述多个output列表中的全部output以及所述目标output按照渲染负载需求从大到小进行排序,得到output序列;If no candidate output list exists, based on the vsync scheduler, clear all outputs in the multiple output lists, and sort all outputs in the multiple output lists and the target output from largest to smallest according to rendering load requirements to obtain an output sequence; 针对所述output序列中的任意一个output,基于所述vsync调度器,按照预设分配原则对该output进行负载均衡重新分配,其中,所述预设分配原则用于控制分配该output之后所述多个output列表之间负载均衡;For any output in the output sequence, based on the vsync scheduler, load balancing and redistributing the output according to a preset allocation principle, wherein the preset allocation principle is used to control the load balancing among the multiple output lists after the output is allocated; 在所述output序列中每个output均成功完成负载均衡重新分配的情况下,基于所述vsync调度器,将所述目标output所在的output列表确定为所述目标output列表。In a case where each output in the output sequence successfully completes load balancing redistribution, based on the vsync scheduler, the output list where the target output is located is determined as the target output list. 10.根据权利要求9所述的方法,其特征在于,所述方法还包括:10. The method according to claim 9, further comprising: 在所述output序列中存在至少一个output负载均衡重新分配失败的情况下,基于所述vsync调度器,确定所述目标容器当前不支持启动所述目标云安卓应用。In a case where at least one output load balancing redistribution fails in the output sequence, it is determined based on the vsync scheduler that the target container currently does not support starting the target cloud Android application. 11.根据权利要求4所述的方法,其特征在于,所述方法还包括:11. The method according to claim 4, further comprising: 基于所述目标APP server,接收所述目标用户在所述客户端执行的目标事件操作请求,其中,所述目标事件操作请求包括文本输入操作请求、事件输入操作请求;Based on the target APP server, receiving a target event operation request executed by the target user on the client, wherein the target event operation request includes a text input operation request and an event input operation request; 基于所述核心服务,通过所述目标容器中的安卓功能模块,将所述目标事件操作请求发送至所述目标云安卓应用,以及将事件处理结果返回至所述目标APP server;Based on the core service, the target event operation request is sent to the target cloud Android application through the Android function module in the target container, and the event processing result is returned to the target APP server; 基于所述目标APP server,将所述事件处理结果返回至所述客户端。Based on the target APP server, the event processing result is returned to the client. 12.一种云安卓应用运行系统,其特征在于,所述系统包括:云端和客户端,所述云端的物理机中包括多个云安卓应用、以及所述多个云安卓应用共享的目标容器,所述目标容器用于提供安卓运行时环境;12. A cloud Android application runtime system, characterized in that the system comprises: a cloud and a client, wherein a physical machine in the cloud comprises multiple cloud Android applications and a target container shared by the multiple cloud Android applications, wherein the target container is used to provide an Android runtime environment; 所述客户端,用于向所述云端发送应用启动请求,其中,所述应用启动请求中包括目标标识,所述目标标识用于标识目标云安卓应用,以及需要启动所述目标云安卓应用的目标用户,所述目标云安卓应用为所述多个云安卓应用中的一个;The client is configured to send an application startup request to the cloud, wherein the application startup request includes a target identifier, the target identifier is used to identify a target cloud Android application and a target user who needs to start the target cloud Android application, and the target cloud Android application is one of the multiple cloud Android applications; 所述目标容器,用于响应于所述应用启动请求,启动所述目标云安卓应用,以及渲染得到所述目标云安卓应用对应的显示画面;The target container is configured to start the target cloud Android application in response to the application start request, and render a display screen corresponding to the target cloud Android application; 所述客户端,用于向所述目标用户展示所述目标云安卓应用对应的显示画面;The client is used to display the display screen corresponding to the target cloud Android application to the target user; 所述目标容器中包括虚拟显示合成器,所述虚拟显示合成器中包括vsync调度器、多个output列表;The target container includes a virtual display synthesizer, and the virtual display synthesizer includes a vsync scheduler and multiple output lists; 所述vsync调度器,具体用于:按照预设分配原则将已经启动的每个云安卓应用对应的output分配至对应的output列表,其中,所述预设分配原则用于控制所述多个output列表之间负载均衡;为每个output列表分配vsync触发时刻,其中,不同output列表分配的vsync触发时刻不同;任意一个output列表对应的vsync触发时刻,响应于该output列表非空,触发该output列表中的每个output向对应的云安卓应用发送vsync信号。The vsync scheduler is specifically used to: allocate the output corresponding to each started cloud Android application to the corresponding output list according to a preset allocation principle, wherein the preset allocation principle is used to control the load balancing between the multiple output lists; allocate a vsync trigger time for each output list, wherein different output lists are allocated different vsync trigger times; at the vsync trigger time corresponding to any output list, in response to the output list being non-empty, trigger each output in the output list to send a vsync signal to the corresponding cloud Android application. 13.一种电子设备,其特征在于,包括:13. An electronic device, comprising: 处理器;processor; 用于存储处理器可执行指令的存储器;a memory for storing processor-executable instructions; 其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至11中任意一项所述的方法。The processor is configured to call the instructions stored in the memory to execute the method according to any one of claims 1 to 11. 14.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至11中任意一项所述的方法。14. A computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions implement the method according to any one of claims 1 to 11 when executed by a processor.
CN202410404585.7A 2024-04-03 2024-04-03 A cloud Android application running method and system, electronic device and storage medium Active CN118295731B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410404585.7A CN118295731B (en) 2024-04-03 2024-04-03 A cloud Android application running method and system, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410404585.7A CN118295731B (en) 2024-04-03 2024-04-03 A cloud Android application running method and system, electronic device and storage medium

Publications (2)

Publication Number Publication Date
CN118295731A CN118295731A (en) 2024-07-05
CN118295731B true CN118295731B (en) 2025-09-02

Family

ID=91682556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410404585.7A Active CN118295731B (en) 2024-04-03 2024-04-03 A cloud Android application running method and system, electronic device and storage medium

Country Status (1)

Country Link
CN (1) CN118295731B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793946A (en) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 Application deployment method and system based on cloud computing platform
CN107407918A (en) * 2015-02-12 2017-11-28 西门子公司 Expand your programmable logic controller with an app
CN114253652A (en) * 2021-12-31 2022-03-29 南京机敏软件科技有限公司 Method and system for realizing cloud application window list of android mobile terminal by simulating local App
CN116360928A (en) * 2023-05-15 2023-06-30 摩尔线程智能科技(北京)有限责任公司 Optimization method and device of android container display system and electronic equipment
CN117270987A (en) * 2022-06-14 2023-12-22 腾讯科技(深圳)有限公司 Application starting method and device, electronic equipment and computer readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0518364D0 (en) * 2005-09-09 2005-10-19 Univ Leicester A time-triggered co-operative (TTC) processor
US20130318280A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US9992238B2 (en) * 2015-11-11 2018-06-05 International Business Machines Corporation Proxy based data transfer utilizing direct memory access
CN105979009B (en) * 2016-07-06 2019-05-17 乾云数创(山东)信息技术研究院有限公司 A kind of increase load automatic balancing method for cloud application container
CN111729293B (en) * 2020-08-28 2020-12-22 腾讯科技(深圳)有限公司 Data processing method, device and storage medium
CN113521728B (en) * 2021-07-23 2025-02-07 北京字节跳动网络技术有限公司 Cloud application implementation method, device, electronic device and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107407918A (en) * 2015-02-12 2017-11-28 西门子公司 Expand your programmable logic controller with an app
CN104793946A (en) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 Application deployment method and system based on cloud computing platform
CN114253652A (en) * 2021-12-31 2022-03-29 南京机敏软件科技有限公司 Method and system for realizing cloud application window list of android mobile terminal by simulating local App
CN117270987A (en) * 2022-06-14 2023-12-22 腾讯科技(深圳)有限公司 Application starting method and device, electronic equipment and computer readable storage medium
CN116360928A (en) * 2023-05-15 2023-06-30 摩尔线程智能科技(北京)有限责任公司 Optimization method and device of android container display system and electronic equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"docker一个容器只能跑一个应用吗";WBOY;《https://www.php.cn/faq/494948.html》;20220815;第1-2页 *

Also Published As

Publication number Publication date
CN118295731A (en) 2024-07-05

Similar Documents

Publication Publication Date Title
CN110192182B (en) Dynamic and dedicated virtualized graphics processing
CN111475235B (en) Acceleration method, device, equipment and storage medium for function calculation cold start
US11762703B2 (en) Multi-region request-driven code execution system
Akkus et al. {SAND}: towards {High-Performance} serverless computing
CN112104723B (en) Multi-cluster data processing system and method
US10372499B1 (en) Efficient region selection system for executing request-driven code
US10061619B2 (en) Thread pool management
CN107636612B (en) Application migration device, method and storage medium
US8370493B2 (en) Saving program execution state
CN110888721A (en) Task scheduling method and related device
CN110247984B (en) Service processing method, device and storage medium
CN109697121B (en) Method, apparatus and computer readable medium for allocating processing resources to applications
US8621081B2 (en) Hypervisor controlled user device that enables available user device resources to be used for cloud computing
CN113366807B (en) Method, device and medium for shortening advertisement duration
US11528516B2 (en) Distributed transcoding method and distributed transcoding system
US11113075B2 (en) Launching a middleware-based application
EP3879875A1 (en) Resource change method and device, apparatus, and storage medium
CN110162397B (en) Resource allocation method, device and system
CN118295731B (en) A cloud Android application running method and system, electronic device and storage medium
CN111026406A (en) Application running method, device and computer readable storage medium
CN107045452B (en) Virtual machine scheduling method and device
CN109426561A (en) A kind of task processing method, device and equipment
CN114443230B (en) A virtual machine migration method and device
JP2017111581A (en) Information processing system, and control method
CN113542794B (en) Image encoding method, device, server and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: B655, 4th Floor, Building 14, Cuiwei Zhongli, Haidian District, Beijing, 100036

Applicant after: Mole Thread Intelligent Technology (Beijing) Co.,Ltd.

Address before: 209, 2nd Floor, No. 31 Haidian Street, Haidian District, Beijing

Applicant before: Moore Threads Technology Co., Ltd.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant