CN117130681A - 应用启动方法、装置、设备、介质和程序产品 - Google Patents

应用启动方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN117130681A
CN117130681A CN202310941418.1A CN202310941418A CN117130681A CN 117130681 A CN117130681 A CN 117130681A CN 202310941418 A CN202310941418 A CN 202310941418A CN 117130681 A CN117130681 A CN 117130681A
Authority
CN
China
Prior art keywords
application
starting
target
platform server
cloud platform
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.)
Pending
Application number
CN202310941418.1A
Other languages
English (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.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp 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 China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Priority to CN202310941418.1A priority Critical patent/CN117130681A/zh
Publication of CN117130681A publication Critical patent/CN117130681A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种应用启动方法、装置、设备、介质和程序产品,应用于目标终端。所述方法包括:在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器,然后,目标终端接收云平台服务器基于状态信息发送的用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用的启动方式指示信息,根据启动方式指示信息,执行针对目标应用的应用启动流程。采用本方法能够自动确定是启动目标终端本地部署的实现目标应用还是云平台服务器上部署的目标应用,实现了目标应用的自适应启动,不需要用户进行选择然后连接云平台服务器手动进行启动,操作更方便。

Description

应用启动方法、装置、设备、介质和程序产品
技术领域
本申请涉及云终端技术领域,特别是涉及一种应用启动方法、装置、设备、介质和程序产品。
背景技术
随着云终端的发展,云电脑或者云手机等可以为用户提供办公、视频以及游戏等多种业务。用户还可以通过云终端使用云平台上部署的云应用业务。
目前,云业务的启动需要用户首先启动云终端与云平台的连接,然后在云平台虚拟终端侧手动打开云应用,操作比较复杂。
发明内容
基于此,有必要针对上述技术问题,提供一种操作更简单的应用启动方法、装置、设备、介质和程序产品。
第一方面,本申请提供了一种应用启动方法,用于目标终端。该方法包括:在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器;接收云平台服务器基于状态信息发送的启动方式指示信息,启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式指示信息,执行针对目标应用的应用启动流程。
在其中一个实施例中,方法还包括:基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。
在其中一个实施例中,根据启动方式指示信息,执行针对目标应用的应用启动流程,包括:在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
在其中一个实施例中,方法还包括:在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
在其中一个实施例中,根据启动方式指示信息,执行针对目标应用的应用启动流程,包括:在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
在其中一个实施例中,方法还包括:接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
在其中一个实施例中,状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
第二方面,本申请提供了一种应用启动方法,用于云平台服务器,该方法包括:接收目标终端发送的状态信息;根据状态信息确定目标应用的启动方式,启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在其中一个实施例中,根据状态信息确定目标应用的启动方式,包括:根据状态信息确定目标终端本地部署的目标应用的第一启动优先级;根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级;根据第一启动优先级和第二启动优先级确定启动方式。
在其中一个实施例中,状态信息包括CPU占用率、GPU占用率以及DDR占用率,根据状态信息确定目标终端本地部署的目标应用的第一启动优先级,包括:根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
在其中一个实施例中,状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级,包括:根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
在其中一个实施例中,根据第一启动优先级和第二启动优先级确定启动方式,包括:若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用;若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。
在其中一个实施例中,方法还包括:若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在其中一个实施例中,方法还包括:若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
第三方面,本申请还提供了一种应用启动装置,用于目标终端。该装置包括:
状态信息发送模块,用于在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器;
启动方式指示信息接收模块,用于接收云平台服务器基于状态信息发送的启动方式指示信息,启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;
执行模块,用于根据启动方式指示信息,执行针对目标应用的应用启动流程。
在其中一个实施例中,还包括请求接收模块,用于基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。
在其中一个实施例中,执行模块,具体用于在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
在其中一个实施例中,还包括本地应用数据发送模块,用于在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
在其中一个实施例中,执行模块,具体用于在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
在其中一个实施例中,还包括云应用数据接收模块,接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
在其中一个实施例中,状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
第四方面,本申请还提供了一种应用启动装置,用于云平台服务器。该装置包括:
状态信息接收模块,用于接收目标终端发送的状态信息;
确定模块,用于根据状态信息确定目标应用的启动方式,启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;
启动方式指示信息发送模块,用于根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在其中一个实施例中,确定模块,具体用于根据状态信息确定目标终端本地部署的目标应用的第一启动优先级;根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级;根据第一启动优先级和第二启动优先级确定启动方式。
在其中一个实施例中,状态信息包括CPU占用率、GPU占用率以及DDR占用率,确定模块,具体用于根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
在其中一个实施例中,状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,确定模块,具体用于根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
在其中一个实施例中,确定模块,具体用于若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用;若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。
在其中一个实施例中,还包括云应用数据发送模块,用于若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在其中一个实施例中,还包括本地应用数据接收模块,用于若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
第五方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面任一所述的应用启动方法。
第六方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面任一所述的应用启动方法。
第七方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面任一所述的应用启动方法。
上述应用启动方法、装置、设备、介质和程序产品,应用于目标终端,在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器,然后,目标终端接收云平台服务器基于状态信息发送的用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用的启动方式指示信息,根据启动方式指示信息,执行针对目标应用的应用启动流程。这样,在接收到针对目标应用的启动请求后,接收云平台服务器基于目标终端的状态信息发送的启动方式指示信息,确定针对目标应用的启动流程,能够自动确定是启动目标终端本地部署的目标应用还是云平台服务器上部署的目标应用,实现了目标应用的自适应启动,当需要启动云平台服务器上部署的目标应用时不需要用户进行选择然后连接云平台服务器手动进行启动,同时目标终端本地部署的目标应用与云平台服务器上部署的目标应用的启动入口一致,操作更方便。
附图说明
图1为一个实施例中应用启动方法的应用环境图;
图2为一个实施例中用户手动进行应用启动方法的示意图;
图3为一个实施例中应用启动方法的流程示意图;
图4为另一个实施例中应用启动方法的流程示意图;
图5为另一个实施例中应用启动方法的流程示意图;
图6为另一个实施例中应用启动方法的流程示意图;
图7为另一个实施例中应用启动方法的流程图;
图8为一个实施例中应用启动装置的结构框图;
图9为另一个实施例中应用启动装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的应用启动方法,可以应用于如图1所示的应用环境中。其中,目标终端101与云平台服务器102通信连接。目标终端101可以是云终端,如云手机,云电脑等。如图1所示,云平台服务器102包括以下部分:
(1)虚拟机CPU/GPU:通过x86/ARM服务器模拟的虚拟的云手机或云电脑,向用户提供云业务服务。
(2)抓屏编码器:渲染画面后,抓屏编码器负责将云业务音视频画面进行重新编码并传输到目标终端。
(3)应用数据同步:负责目标终端本地部署的本地应用与云平台服务器上部署的云应用的数据同步,管理应用类型标签、数据同步标签。
(4)启动分析器:按照网络状态、资源情况及数据同步状态,分析当前应该启动云平台服务器上部署的云应用或目标终端本地部署的本地应用。
(5)数据传输:负责将视频流传输到目标终端,并支持云平台服务器上部署的云应用与目标终端本地部署的本地应用同步数据的传输。
目标终端101包括以下部分:
(1)数据传输:接收云平台服务器发送的视频数据,并支持云平台服务器上部署的云应用与目标终端本地部署的本地应用同步数据的传输。
(2)自适应启动控制:实时监控目标终端的网络、资源状态信息,当用户需要启动应用时,将状态信息发送到云平台服务器的启动分析器。
(3)云应用适配模块:接收云业务的视频流,解码呈现给用户,同时收集用户输入,上传到云平台服务器虚拟机。
(4)应用数据同步:负责目标终端本地部署的本地应用与云平台服务器上部署的云应用的数据同步。
(5)桌面控制器:控制目标终端桌面,将原桌面启动应用的动作替换为自适应启动云平台服务器上部署的云应用/目标终端本地部署的本地应用。
(6)本地应用:目标终端本地部署的应用。
传统技术中,如图2所示,需要用户手动选择使用云平台服务器上部署的云应用或者云终端本地部署的本地应用,如果用户需要使用云平台服务器上部署的云应用,需要手动连接云平台服务器和云终端,然后在云平台服务器上打开云应用,启动步骤复杂。
基于上述传统技术,本申请实施例提供的应用启动方法,应用于目标终端,在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器,然后,目标终端接收云平台服务器基于状态信息发送的用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用的启动方式指示信息,根据启动方式指示信息,执行针对目标应用的应用启动流程。这样,能够自动确定是启动目标终端本地部署的目标应用还是云平台服务器上部署的目标应用,实现了目标应用的自适应启动,当需要启动云平台服务器上部署的目标应用时不需要用户进行选择然后连接云平台服务器手动进行启动,同时目标终端本地部署的目标应用与云平台服务器上部署的目标应用的启动入口一致,操作更方便。
需要说明的是,本申请实施例所带来的有益效果或者所解决的技术问题并不限定于这一个,还可以是其它隐含或者关联的问题,具体可以参见下述实施例的描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
在一个实施例中,如图3所示,提供了一种应用启动方法,以该方法应用于图1中的目标终端为例进行说明,包括以下步骤:
步骤301,在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器。
可选的,基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。其中,目标应用为待启动的应用,应用启动入口可以是目标终端本地的应用图标,当目标终端检测到目标应用的应用图标被点击时,即接收到针对目标应用的启动请求,获取目标终端当前的状态信息,然后将状态信息发送到云平台服务器。可选的,状态信息可以包括云平台服务器与目标终端之间的一段时间的网络状况,还可以包括目标终端一段时间内的本地资源占用情况,例如状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
步骤302,接收云平台服务器基于状态信息发送的启动方式指示信息。
启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用。目标终端本地和云平台服务器上均部署有目标应用,其中,目标终端本地部署的目标应用也即如图1中介绍的本地应用,云平台服务器上部署的目标应用也即云应用。云平台服务器根据接收到的目标终端的状态信息可以确定目标终端和云平台服务器各自当前的状态,例如目标终端当前本地资源的占用情况或者云平台服务器与目标终端之间的网络状况等,根据目标终端和云平台服务器各自当前的状态然后确定目标应用的启动指示信息。
步骤303根据启动方式指示信息,执行针对目标应用的应用启动流程。
根据启动方式指示信息启动目标应用,可选的,可以是启动目标终端本地部署的目标应用或者是启动云平台服务器上部署的目标应用。
上述实施例中,应用于目标终端,在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器,然后,目标终端接收云平台服务器基于状态信息发送的用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用的启动方式指示信息,根据启动方式指示信息,执行针对目标应用的应用启动流程。这样,在接收到针对目标应用的启动请求后,接收云平台服务器基于目标终端的状态信息发送的启动方式指示信息,确定针对目标应用的启动流程,能够自动确定是启动目标终端本地部署的目标应用还是云平台服务器上部署的目标应用,实现了目标应用的自适应启动,当需要启动云平台服务器上部署的目标应用时不需要用户进行选择然后连接云平台服务器手动进行启动,同时目标终端本地部署的目标应用与云平台服务器上部署的目标应用的启动入口一致,操作更方便。
在一个实施例中,根据启动方式指示信息,执行针对目标应用的应用启动流程,包括两种方式:
第一种方式,在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
当云平台服务器发送的启动方式指示信息指示启动目标终端本地部署的目标应用时,创建目标终端本地部署的目标应用的进程,然后实例化目标终端本地部署的目标应用的进程,目标应用启动,用户可以通过目标终端本地部署的目标应用使用目标应用。
可选的,在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
为了保证目标终端本地部署的目标应用和云平台服务器上部署的目标应用的数据同步,在用户关闭目标终端本地部署的目标应用后,目标终端将本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,即将目标终端本地部署的目标应用的数据同步至云平台服务器上部署的目标应用中。可选的,可以设置数据同步标志位,当数据同步完成时,将数据同步标志位设置为完成。
可选的,在目标终端本地部署的目标应用启动之前,如果之前的本地应用数据同步未完成,则先进行本地应用数据同步。
第二种方式,在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
当云平台服务器发送的启动方式指示信息指示启动云平台服务器上部署的目标应用时,目标终端实例化本地的云播放器应用,通过云播放器应用接收云平台服务器上部署的目标应用发送的视频流,然后解码进行播放,实现目标应用的启动。
可选的,接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
当启动的是云平台服务器上部署目标应用时,为了保证目标终端部署的目标应用的数据和云平台服务器上部署的目标应用的数据同步,在用户关闭目标应用后,目标终端接收云平台服务器发送的云应用数据,即将云平台服务器上部署的目标应用在运行过程中的云应用数据同步至目标终端部署的目标应用中。
可选的,在云平台服务器上部署的目标应用启动之前,如果之前的云应用数据同步未完成,则先进行云应用数据同步。
上述实施例中,在启动目标应用的前后对目标终端部署的目标应用的数据和云平台服务器上部署的目标应用的数据进行同步,保证了目标终端和云平台服务器中目标应用的数据一致性。
在一个实施例中,如图4所示,还提供了一种应用启动方法,用于如图1所示的云平台服务器,该方法包括:
步骤401,接收目标终端发送的状态信息。
可选的,状态信息如上述实施例中所述。
步骤402,根据状态信息确定目标应用的启动方式。
启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用。为了保证用户的使用体验,可以在目标终端和云平台服务器中选择具备更好的运行条件的一侧来启动目标应用。可选的,可以通过对目标终端本地部署的目标应用和云平台服务器上部署的目标应用的启动优先级各自进行评估,启动优先级高也即具备更好的运行条件。
可选的,根据状态信息确定目标应用的启动方式的步骤如图5所示,包括:
步骤501,根据状态信息确定目标终端本地部署的目标应用的第一启动优先级。
其中,第一启动优先级可以表示目标终端本地部署的目标应用的运行条件。状态信息包括CPU占用率、GPU占用率以及DDR占用率,根据状态信息确定目标终端本地部署的目标应用的第一启动优先级,包括:根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
可选的,可以通过评分的方式得到第一启动优先级,例如CPU占用率,针对不同的应用有不同的标准,例如,游戏类应用<20%,其他类应用<50%,符合条件第一启动优先级得1分。针对GPU占用率,游戏类应用<20%,其他类应用<50%,符合条件第一启动优先级得1分。针对DDR占用率,游戏类应用<20%,其他类应用<50%,符合条件第一启动优先级得1分。不符合以上条件的不得分。
第一数据同步标志位为1,即目标终端本地部署的目标应用的本地应用数据同步完成,第一启动优先级得2分。
步骤502,根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级。
其中,第二启动优先级可以表示云平台服务器上部署的目标应用的运行条件。状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级,包括:根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
可选的,针对带宽,要求可满足云平台服务器上部署的目标应用视频流传输,平均带宽>1.6*平均视频码率,符合上述条件第二启动优先级得1分。针对时延,时延为云平台服务器到目标终端延迟,不同的应用对应不同的时延要求,例如游戏类应用<17ms,视频类应用<70ms,办公类应用<50ms,符合条件第二启动优先级得1分。针对网络抖动因子,值越高代表带宽抖动越厉害。一般要求网络抖动因子<0.5,符合条件第二启动优先级得1分,网络抖动因子计算方法如下:
第二数据同步标志位为1,即云平台服务器上部署的目标应用的云应用数据同步完成,第二启动优先级得2分。
可选的,第一启动优先级和第二启动优先级还可以根据神经网络模型进行确定,根据历史的状态信息对神经网络模型进行训练,得到训练好的神经网络模型,然后将实时获取的状态信息输入神经网络模型,可以得到状态信息对应的第一启动优先级和第二启动优先级。
步骤503,根据第一启动优先级和第二启动优先级确定启动方式。
根据第一启动优先级和第二启动优先级确定启动方式,包括以下两种情况。
若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用。第一启动优先级大于第二启动优先级,说明此时目标终端本地部署的目标应用的运行条件更好,因此,可以选择启动目标终端本地部署的目标应用。
若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。第一启动优先级小于第二启动优先级,说明此时云平台服务器上部署的目标应用的运行条件更好,因此,可以选择启动云平台服务器上部署的目标应用。
步骤403,根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在云平台服务器确定启动方式指示信息后,将启动方式指示信息发送至目标终端,目标终端根据启动方式,执行如上述实施例中所述的针对目标应用的应用启动流程。
上述实施例中,根据状态信息确定目标应用的启动方式,选取目标终端或者云平台服务器中运行条件更好的平台启动目标应用,能够保证目标应用使用过程中的稳定性。
在一个实施例中,为了保证目标终端部署的目标应用的数据和云平台服务器上部署的目标应用的数据同步,若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,完成将云平台服务器上部署的目标应用的数据同步到目标终端部署的目标应用。可选的,可以设置数据同步标志位,当数据同步完成时,将数据同步标志位设置为完成。
若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
可选的,在云平台服务器上部署的目标应用启动前,如果数据同步未完成,则接受本地应用数据,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据同步到云平台服务器上部署的目标应用。
在本申请的实施例中,请参考图6,其示出了本申请实施例提供的一种应用启动方法的流程图,该应用启动方法包括以下步骤:
步骤601,目标终端在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器。
步骤602,云平台服务器接收目标终端发送的状态信息。
步骤603,云平台服务器根据状态信息确定目标终端本地部署的目标应用的第一启动优先级。
步骤604,云平台服务器根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级。
步骤605,云平台服务器根据第一启动优先级和第二启动优先级确定启动方式。
步骤606,云平台服务器根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
步骤607,目标终端接收云平台服务器基于状态信息发送的启动方式指示信息。
步骤608,目标终端根据启动方式指示信息,执行针对目标应用的应用启动流程。
在一个实施例中,本申请的应用启动方法的流程图如图7所示。用户点击目标终端桌面目标应用图标,目标终端上传状态信息,云平台服务器计算第一启动优先级和第二启动优先级,然后确定启动方式,包括两种情况,启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用。启动云平台服务器上部署的目标应用需要启动云应用同时发送视频流至目标终端进行解码播放,使用户能够使用目标应用。
然后,用户使用业务,此时数据同步标志位设置为未完成,当用户停止使用业务,进行目标终端本地部署的目标应用和云平台服务器上部署的目标应用的数据同步,数据同步完成后将数据同步标志位设置为完成。
在一个实施例中,为了方便读者理解本申请实施例提供的技术方案,对本申请的应用启动方法进行举例说明。
1、用户点击云手机桌面的游戏应用,云手机也即目标终端,包括的具体模块请参考图1。
(1)目标终端桌面控制器截获ActivityManagerService(活动管理器服务)的Socket(套接字)通信启动请求。
(2)目标终端通知自适应启动控制模组,将状态信息例如网络状态(30Mbps、12msTTL、0.15)、本地资源占用率(15%、10%、30%)、需要启动的应用包名(如com.android.somegame)发送到云平台服务器的启动分析器。
(3)启动分析器根据网络状态、本地资源占用率及应用数据同步标识(第一数据同步标志位为完成、第二数据同步标志位为完成),评价云平台服务器上部署的目标应用与目标终端本地部署的目标应用的启动优先级分别为(5、4),此时,云平台服务器上部署的目标应用的第二启动优先级高,决定采用云平台服务器上部署的目标应用启动,并通知目标终端自适应启动控制模组。
(4)启动分析器通知云平台服务器的虚拟主机启动云平台服务器上部署的目标应用(com.android.somegame),同时开始抓屏编码并发送视频流到目标终端。目标终端自适应启动控制模块通过socket通知Zygote进程启动目标终端进程,实例化云播放器,并从云平台服务器接收视频流进行解码并播放。
(5)用户使用云平台服务器上部署的目标应用进行游戏。
(6)用户使用完成后,当目标应用关闭,云平台服务器应用数据同步模组将云平台服务器端运行的云应用数据(数据目录可以是/data/app/data)同步到目标终端本地部署的目标应用,同步完成后设置第二数据同步标志位为完成。
2、用户点击云手机桌面的视频应用。
(1)目标终端桌面控制器截获ActivityManagerService的Socket通信启动请求。
(2)通知自适应启动控制模组,将状态信息,如网络状态(20Mbps、25ms TTL、0.75)、本地资源占用率(25%、10%、15%)、需要启动的应用包名(如com.android.somevideo)发送到云平台服务器的启动分析器。
(3)云平台服务器的启动分析器根据网络状态、本地资源占用率及应用数据同步标识(第二数据同步标志位为未完成、第一数据同步标志位为完成),评价云平台服务器上部署的目标应用与目标终端本地部署的目标应用的启动优先级分别为(2、5),决定采用目标终端本地部署的目标应用启动,并通知目标终端自适应启动控制模组。
(4)目标终端自适应启动控制模块通过socket通知Zygote进程启动视频应用进程,实例化com.android.somevideo.startAPP。
(5)用户使用目标终端本地部署的目标应用观看视频。
(6)用户使用完成后,当目标应用关闭,目标终端侧应用数据同步模组将将所述目标终端本地部署的所述目标应用在运行过程中产生的本地应用数据(数据目录可以是/data/app/data)发送到所述云平台服务器,将所述本地应用数据同步到云平台服务器上部署的目标应用,同步完成后设置第一数据同步标志位为完成。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用启动方法的应用启动装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用启动装置实施例中的具体限定可以参见上文中对于应用启动方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种应用启动装置800,用于目标终端,包括:状态信息发送模块801、启动方式指示信息接收模块802和执行模块803,其中:
该状态信息发送模块801,用于在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器;
该启动方式指示信息接收模块802,用于接收云平台服务器基于状态信息发送的启动方式指示信息,启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;
该执行模块803,用于根据启动方式指示信息,执行针对目标应用的应用启动流程。
在一个实施例中,还包括请求接收模块,用于基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。
在一个实施例中,该执行模块803,具体用于在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
在一个实施例中,还包括本地应用数据发送模块,用于在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
在一个实施例中,该执行模块803,具体用于在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
在一个实施例中,还包括云应用数据接收模块,接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
在一个实施例中,状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
上述应用启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图9所示,提供了一种应用启动装置900,用于云平台服务器,包括:状态信息接收模块901、确定模块902和启动方式指示信息发送模块903,其中:
该状态信息接收模块901,用于接收目标终端发送的状态信息;
该确定模块902,用于根据状态信息确定目标应用的启动方式,启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;
该启动方式指示信息发送模块903,用于根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在一个实施例中,该确定模块902,具体用于根据状态信息确定目标终端本地部署的目标应用的第一启动优先级;根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级;根据第一启动优先级和第二启动优先级确定启动方式。
在一个实施例中,状态信息包括CPU占用率、GPU占用率以及DDR占用率,该确定模块902,具体用于根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
在一个实施例中,状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,该确定模块902,具体用于根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
在一个实施例中,该确定模块902,具体用于若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用;若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。
在一个实施例中,还包括云应用数据发送模块,用于若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在一个实施例中,还包括本地应用数据接收模块,用于若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
上述应用启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储状态信息数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用启动方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用启动方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器;接收云平台服务器基于状态信息发送的启动方式指示信息,启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式指示信息,执行针对目标应用的应用启动流程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
在一个实施例中,状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收目标终端发送的状态信息;根据状态信息确定目标应用的启动方式,启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据状态信息确定目标终端本地部署的目标应用的第一启动优先级;根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级;根据第一启动优先级和第二启动优先级确定启动方式。
在一个实施例中,状态信息包括CPU占用率、GPU占用率以及DDR占用率,处理器执行计算机程序时还实现以下步骤:根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
在一个实施例中,状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,处理器执行计算机程序时还实现以下步骤:根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用;若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器;接收云平台服务器基于状态信息发送的启动方式指示信息,启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式指示信息,执行针对目标应用的应用启动流程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
在一个实施例中,状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收目标终端发送的状态信息;根据状态信息确定目标应用的启动方式,启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据状态信息确定目标终端本地部署的目标应用的第一启动优先级;根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级;根据第一启动优先级和第二启动优先级确定启动方式。
在一个实施例中,状态信息包括CPU占用率、GPU占用率以及DDR占用率,计算机程序被处理器执行时还实现以下步骤:根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
在一个实施例中,状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,计算机程序被处理器执行时还实现以下步骤:根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用;若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:在接收到针对目标应用的启动请求之后,获取目标终端的状态信息,并将状态信息发送至云平台服务器;接收云平台服务器基于状态信息发送的启动方式指示信息,启动方式指示信息用于指示启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式指示信息,执行针对目标应用的应用启动流程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于目标终端本地提供的应用启动入口,接收针对目标应用的启动请求。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在启动方式指示信息指示启动目标终端本地部署的目标应用的情况下,实例化目标终端本地部署的目标应用,以启动目标终端本地部署的目标应用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标应用关闭后,将目标终端本地部署的目标应用在运行过程中产生的本地应用数据发送到云平台服务器,以对本地应用数据进行同步。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在启动方式指示信息指示启动云平台服务器上部署的目标应用的情况下,实例化目标终端本地部署的云播放器应用,以接收云平台服务器上部署的目标应用启动后的视频流数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收云应用数据,云应用数据为云平台服务器上部署的目标应用在运行过程中产生的云应用数据;基于云应用数据进行数据同步。
在一个实施例中,状态信息包括:带宽、云平台服务器至目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收目标终端发送的状态信息;根据状态信息确定目标应用的启动方式,启动方式包括启动目标终端本地部署的目标应用或者启动云平台服务器上部署的目标应用;根据启动方式向目标终端发送启动方式指示信息,以指示目标终端根据启动方式,执行针对目标应用的应用启动流程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据状态信息确定目标终端本地部署的目标应用的第一启动优先级;根据状态信息确定云平台服务器上部署的目标应用的第二启动优先级;根据第一启动优先级和第二启动优先级确定启动方式。
在一个实施例中,状态信息包括CPU占用率、GPU占用率以及DDR占用率,计算机程序被处理器执行时还实现以下步骤:根据CPU占用率、GPU占用率、DDR占用率以及第一数据同步标志位计算目标终端本地部署的目标应用的第一启动优先级,第一数据同步标志位的值用于指示目标终端本地部署的目标应用的本地应用数据同步是否完成。
在一个实施例中,状态信息包括带宽、云平台服务器至目标终端的时延以及网络抖动因子,计算机程序被处理器执行时还实现以下步骤:根据带宽、时延、网络抖动因子以及第二数据同步标志位计算云平台服务器上部署的目标应用的第二启动优先级,其中,第二数据同步标志位的值用于指示云平台服务器上部署的目标应用的云应用数据同步是否完成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第一启动优先级大于第二启动优先级,则确定启动方式为启动目标终端本地部署的目标应用;若第一启动优先级小于第二启动优先级,则确定启动方式为启动云平台服务器上部署的目标应用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若启动方式为启动云平台服务器上部署的目标应用,则在目标应用关闭后,将云平台服务器上部署的目标应用在运行过程中产生的云应用数据发送到目标终端,以对云应用数据进行同步。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若启动方式为启动云平台服务器上部署的目标应用,则接收本地应用数据,本地应用数据为目标终端本地部署的目标应用在运行过程中产生的本地应用数据。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (19)

1.一种应用启动方法,其特征在于,用于目标终端,所述方法包括:
在接收到针对目标应用的启动请求之后,获取所述目标终端的状态信息,并将所述状态信息发送至云平台服务器;
接收所述云平台服务器基于所述状态信息发送的启动方式指示信息,所述启动方式指示信息用于指示启动所述目标终端本地部署的所述目标应用或者启动所述云平台服务器上部署的所述目标应用;
根据所述启动方式指示信息,执行针对所述目标应用的应用启动流程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述目标终端本地提供的应用启动入口,接收针对所述目标应用的启动请求。
3.根据权利要求1所述的方法,其特征在于,所述根据所述启动方式指示信息,执行针对所述目标应用的应用启动流程,包括:
在所述启动方式指示信息指示启动所述目标终端本地部署的所述目标应用的情况下,实例化所述目标终端本地部署的所述目标应用,以启动所述目标终端本地部署的所述目标应用。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述目标应用关闭后,将所述目标终端本地部署的所述目标应用在运行过程中产生的本地应用数据发送到所述云平台服务器,以对所述本地应用数据进行同步。
5.根据权利要求1所述的方法,其特征在于,所述根据所述启动方式指示信息,执行针对所述目标应用的应用启动流程,包括:
在所述启动方式指示信息指示启动所述云平台服务器上部署的所述目标应用的情况下,实例化所述目标终端本地部署的云播放器应用,以接收所述云平台服务器上部署的所述目标应用启动后的视频流数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收云应用数据,所述云应用数据为所述云平台服务器上部署的所述目标应用在运行过程中产生的云应用数据;
基于所述云应用数据进行数据同步。
7.根据权利要求1至6任一所述的方法,其特征在于,所述状态信息包括:带宽、所述云平台服务器至所述目标终端的时延、网络抖动因子、CPU占用率、GPU占用率以及DDR占用率中的至少一种。
8.一种应用启动方法,其特征在于,用于云平台服务器,所述方法包括:
接收目标终端发送的状态信息;
根据所述状态信息确定所述目标应用的启动方式,所述启动方式包括启动所述目标终端本地部署的所述目标应用或者启动所述云平台服务器上部署的所述目标应用;
根据所述启动方式向所述目标终端发送启动方式指示信息,以指示所述目标终端根据所述启动方式,执行针对所述目标应用的应用启动流程。
9.根据权利要求8所述的方法,其特征在于,所述根据所述状态信息确定所述目标应用的启动方式,包括:
根据所述状态信息确定所述目标终端本地部署的所述目标应用的第一启动优先级;
根据所述状态信息确定所述云平台服务器上部署的所述目标应用的第二启动优先级;
根据所述第一启动优先级和所述第二启动优先级确定所述启动方式。
10.根据权利要求9所述的方法,其特征在于,所述状态信息包括CPU占用率、GPU占用率以及DDR占用率,所述根据所述状态信息确定所述目标终端本地部署的所述目标应用的第一启动优先级,包括:
根据所述CPU占用率、所述GPU占用率、所述DDR占用率以及第一数据同步标志位计算所述目标终端本地部署的所述目标应用的第一启动优先级,所述第一数据同步标志位的值用于指示所述目标终端本地部署的所述目标应用的本地应用数据同步是否完成。
11.根据权利要求9所述的方法,其特征在于,所述状态信息包括带宽、所述云平台服务器至所述目标终端的时延以及网络抖动因子,所述根据所述状态信息确定所述云平台服务器上部署的所述目标应用的第二启动优先级,包括:
根据所述带宽、所述时延、所述网络抖动因子以及第二数据同步标志位计算所述云平台服务器上部署的所述目标应用的第二启动优先级,其中,所述第二数据同步标志位的值用于指示所述云平台服务器上部署的所述目标应用的云应用数据同步是否完成。
12.根据权利要求9所述的方法,其特征在于,所述根据所述第一启动优先级和所述第二启动优先级确定所述启动方式,包括:
若所述第一启动优先级大于所述第二启动优先级,则确定启动方式为启动所述目标终端本地部署的所述目标应用;
若所述第一启动优先级小于所述第二启动优先级,则确定启动方式为启动所述云平台服务器上部署的所述目标应用。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述启动方式为启动所述云平台服务器上部署的所述目标应用,则在所述目标应用关闭后,将所述云平台服务器上部署的所述目标应用在运行过程中产生的云应用数据发送到所述目标终端,以对所述云应用数据进行同步。
14.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述启动方式为启动所述云平台服务器上部署的所述目标应用,则接收本地应用数据,所述本地应用数据为所述目标终端本地部署的所述目标应用在运行过程中产生的本地应用数据。
15.一种应用启动装置,其特征在于,用于目标终端,所述装置包括:
状态信息发送模块,用于在接收到针对目标应用的启动请求之后,获取所述目标终端的状态信息,并将所述状态信息发送至云平台服务器;
启动方式指示信息接收模块,用于接收所述云平台服务器基于所述状态信息发送的启动方式指示信息,所述启动方式指示信息用于指示启动所述目标终端本地部署的所述目标应用或者启动所述云平台服务器上部署的所述目标应用;
执行模块,用于根据所述启动方式指示信息,执行针对所述目标应用的应用启动流程。
16.一种应用启动装置,其特征在于,用于云平台服务器,所述装置包括:
状态信息接收模块,用于接收目标终端发送的状态信息;
确定模块,用于根据所述状态信息确定所述目标应用的启动方式,所述启动方式包括启动所述目标终端本地部署的所述目标应用或者启动所述云平台服务器上部署的所述目标应用;
启动方式指示信息发送模块,用于根据所述启动方式向所述目标终端发送启动方式指示信息,以指示所述目标终端根据所述启动方式,执行针对所述目标应用的应用启动流程。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7或8至14中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7或8至14中任一项所述的方法的步骤。
19.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7或8至14中任一项所述的方法的步骤。
CN202310941418.1A 2023-07-28 2023-07-28 应用启动方法、装置、设备、介质和程序产品 Pending CN117130681A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310941418.1A CN117130681A (zh) 2023-07-28 2023-07-28 应用启动方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310941418.1A CN117130681A (zh) 2023-07-28 2023-07-28 应用启动方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN117130681A true CN117130681A (zh) 2023-11-28

Family

ID=88855610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310941418.1A Pending CN117130681A (zh) 2023-07-28 2023-07-28 应用启动方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN117130681A (zh)

Similar Documents

Publication Publication Date Title
US10097596B2 (en) Multiple stream content presentation
US10762105B2 (en) Extensible application state preservation architecture
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
Cai et al. Toward gaming as a service
US9418464B2 (en) Control of timing for animations in dynamic icons
CN113209632B (zh) 一种云游戏的处理方法、装置、设备及存储介质
CN109395372A (zh) 实现游戏手柄远程操控电脑游戏的方法、系统与电子设备
US8888592B1 (en) Voice overlay
EP4223379A1 (en) Cloud gaming processing method, apparatus and device, and storage medium
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
CN111494936A (zh) 画面渲染方法、设备、系统及存储介质
JP7397094B2 (ja) リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム
US20230285854A1 (en) Live video-based interaction method and apparatus, device and storage medium
CN113157418A (zh) 服务器资源分配方法和装置、存储介质及电子设备
US8860720B1 (en) System and method for delivering graphics over network
US20230405455A1 (en) Method and apparatus for processing cloud gaming resource data, computer device, and storage medium
US20240169680A1 (en) Creating cloud-hosted, streamed augmented reality experiences with low perceived latency
US20150182857A1 (en) System and Method for Delivering Media over Network
CN113398595B (zh) 场景资源的更新方法及装置、存储介质、电子装置
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
WO2021139359A1 (zh) 图像处理方法、装置、电子设备及存储介质
CN117130681A (zh) 应用启动方法、装置、设备、介质和程序产品
WO2023045392A1 (zh) 一种云手机的实现方法及装置
US20130137520A1 (en) Game streaming system and method of supporting the multiuser and multiplatform
EP3069264B1 (en) Multiple stream content presentation

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