CN113687865A - 执行多***应用程序的方法、服务器、终端设备及*** - Google Patents
执行多***应用程序的方法、服务器、终端设备及*** Download PDFInfo
- Publication number
- CN113687865A CN113687865A CN202010426227.8A CN202010426227A CN113687865A CN 113687865 A CN113687865 A CN 113687865A CN 202010426227 A CN202010426227 A CN 202010426227A CN 113687865 A CN113687865 A CN 113687865A
- Authority
- CN
- China
- Prior art keywords
- different
- server
- application
- terminal device
- operating system
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例提供执行多***应用程序的方法、服务器、终端设备及***,其中一个方法由服务器执行,并包括:接收来自不同终端设备的输入;基于所述不同输入确定对应的不同操作***及对应的不同应用程序;分别在所述不同操作***的实例中运行所述不同应用程序,以得到不同运行结果界面;以及分别向所述不同终端设备发送所述不同运行结果界面。
Description
技术领域
本说明书涉及虚拟应用技术领域,更具体地,涉及一种用于执行多***应用程序的方法、服务器、终端设备和***。
背景技术
随着信息技术的发展,诸如智能手机、笔记本电脑、平板电脑的终端设备上的操作***的版本以及种类不断变化,在终端设备上运行的应用程序的种类也越来越多。
通常,相对于服务器来说,终端设备上的硬件资源是有限的。因此,终端设备有时无法满足应用程序对于硬件资源的需求。
此外,由于应用程序所适用的操作***种类以及版本的差异,很多终端设备也无法运行某些应用程序。这给用户的使用带来不便。
因此,需要提供一种新的执行应用程序的方式,从而使得终端设备能够执行多种操作***的应用程序。
发明内容
本说明书的实施例提供一种用于执行多***应用程序的新技术方案。
根据本说明书的第一方面,提供了一种用于执行多***应用程序的方法,由服务器执行,并包括:接收来自不同终端设备的输入;基于所述不同输入确定对应的不同操作***及对应的不同应用程序;分别在所述不同操作***的实例中运行所述不同应用程序,以得到不同运行结果界面;以及分别向所述不同终端设备发送所述不同运行结果界面。
根据本说明书的第二方面,提供了一种用于执行多***应用程序的方法,由终端设备执行,并包括:通过输入装置接收针对不同应用程序的不同输入,其中,所述不同应用程序运行于不同操作***;将所述不同输入发送给服务器;从服务器接收针对不同应用程序的不同运行结果界面;以及呈现所述不同运行结果界面。
根据本说明书的第三方面,提供了一种服务器,用于执行上面所述的由服务器执行的方法。
根据本说明书的第四方面,提供了一种终端设备,用于执行上面所述的由终端设备执行的方法。
根据本说明书的第五方面,提供了一种用于执行多***应用程序的***,包括上面所述的服务器及终端设备。
在不同实施例中,通过在服务器中的不同操作***的实例中执行应用程序,使得终端设备能够兼容运行不同操作***的应用程序,从而减小应用程序对于终端设备软件和/或硬件资源的要求,并提升用户使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了根据一个实施例的用于执行多***应用程序的方法的示意性流程图。
图2示出了根据另一个实施例的用于执行多***应用程序的方法的示意性流程图。
图3示出了根据一个实施例的服务器的硬件示意性框图。
图4示出了根据一个实施例的服务器的示意性***架构。
图5示出了根据一个实施例的终端设备的硬件示意性框图。
图6示出了根据一个实施例的终端设备的示意性***架构。
图7示意性地示出了根据一个实施例的用于执行多***应用程序的***。
图8示意性地示出了用于执行多***应用程序的一个例子。
图9示意性地示出了用于执行多***应用程序的另一个例子。
具体实施方式
下面,参照附图描述本说明书的不同实施例和例子。
图1示出了根据一个实施例的用于执行多***应用程序的方法的示意性流程图。
图1示出的方法可以由服务器执行。在执行程序之前,用户的终端设备可以通过各种方式与服务器建立连接,并且服务器可以标示该终端设备和/或用户。根据这里的说明,本领域技术人员应当理解如何建立这种连接,在这里不再赘述。
如图1所示,在步骤S12,接收来自不同终端设备的输入。
在步骤S14,基于所述不同输入确定对应的不同操作***及对应的不同应用程序。操作***例如包括安卓操作***、Windows操作***、MacOS操作***等。
在步骤S16,分别在所述不同操作***的实例中运行所述不同应用程序,以得到不同运行结果界面。
在步骤S18,分别向所述不同终端设备发送所述不同运行结果界面。这里,运行结果界面可以是静态的,也可以是动态的。可以每次将完整的不同运行结果界面发送给终端设备;也可以根据各种协议,对运行也结果进行进行压缩;或者也可以仅将界面中变化的部分发送给终端设备,从而减轻网络传输的通信量。
在这个实施例中,在服务器端确定运行不同应用程序的不同操作***,并且在不同操作***的实例来运行应用程序。通过这种方式,可以减小对于终端设备的性能要求,从而可以实现“瘦终端”的技术方案。
此外,由于在服务器端运行应用程序,因此,可以由专业人员统一维护各种操作***以及处理资源,从而省去了用户在终端设备自己单独进行维护的麻烦。
此外,由于应用程序被放置在服务器端,因此,当诸如公司等的应用实体希望更改实体内部的软件设置时,可以很容易地在服务器端执行这种调整,而不需在每个终端设备上进行重新配置。这可以提升应用实体的工作效率。
此外,由于在服务器中判断操作***,因此,服务器端可以兼容多种不同操作***的应用程序。在实际应用中,不同的用户可能倾向于使用不同的操作***。这种方式可以兼容不同的操作***,从而满足用户的需求,提升用户的使用体验。
另外,这里产生运行结果界面。因此,在终端设备显示运行结果界面。这样,终端设备可以专注于界面的显示处理,而减轻对于其他处理能力的要求。由于终端设备所需的处理任务的范围被缩小,因此,终端设备可以针对有限的处理进行优化,从而可以在相同处理资源的情况下提升处理效率。
可以利用虚拟容器技术来实现操作***的实例,从而在服务器的不同容器中运行不同的操作***。
在某些情况下,一个用户可能需要使用不同操作***的应用程序。例如,该用户希望使用Windows操作***下的文字处理软件,同时又希望使用MACOS操作***下的图形处理软件。如果同时在用户的终端设备运行这两种应用程序的话,这回给用户带来很多困扰,增加终端设备的处理负荷。在这里,可以由服务器接收来自一个终端设备的至少两个输入。然后,服务器基于至少两个输入确定至少两个不同操作***及对应的不同应用程序。接着,服务器分别在所述至少两个操作***的实例中运行所述不同应用程序,以得到至少两个不同运行结果界面。最后,服务器向所述一个终端设备发送所述至少两个不同运行结果界面。
在这个实施例中,用户不必担心应用程序所依赖的操作***,也不用针对不同操作***的应用程序进行复杂的配置。对于一个用户来说,他可以使用多种不同操作***下的不同应用程序,并且使用体验与使用同一个操作***下的应用程序的体验相同。这给用户的使用带来许多灵活性。用户不再需要考虑***兼容的问题。另外,由于不需要在终端设备针对不同操作***的应用程序进行复杂的配置(例如,安装虚拟机等),因此,这减轻了对于用户专业知识的要求。此外,由于不需要在终端设备增加额外的配置,因此,这可以在一定程度上减小终端设备上功耗。对于移动设备来说,这可以是有利的。
此外,对于同一个终端设备的不同应用程序,可以分别创建操作***的实例。这样,每一个应用程序都可以保证较高的运行效率。对于用户来说,即使同时打开多个应用程序,他也可以得到较为流畅的使用体验。
在一个实施例中,可以在终端设备退出时,释放对应的操作***实例。例如,在运行应用程序时,可以创建与所述应用程序对应的操作***的实例,并在所述操作***的实例中运行所述应用程序。在检测到至少一个终端设备的退出时,退出所述至少一个终端设备所对应的操作***的实例,以释放对应的服务器资源。通过这种方式,可以根据需要创建操作***实例,并且,可以放置某个终端设备的操作***的实例一直占用服务器资源,从而提升服务器的整体利用效率。
例如,可以设置监测机制。服务器可以定时轮询所有操作***的实例,以检测对应的终端设备是否仍然处于活动状态。
此外,在退出操作***的实例时,服务器可以保存操作***的实例的当前快照(snapshot)。这样,当终端设备再次活跃时,服务器可以快速恢复到应用程序的运行状态。
还可以基于应用程序的退出,来释放服务器资源。例如,在运行应用程序时,创建与所述应用程序对应的操作***的实例,并在所述操作***的实例中运行所述应用程序。当所述应用程序退出时,退出与其对应的操作***的实例,以释放对应的服务器资源。通过这种方式,可以进一步节省服务器中的处理资源,提升服务器的使用效率。
可以通过流媒体传输协议发送所述不同运行结果界面。这样,用户可以及时收到最新的运行结果,从而提升远程使用的使用体验。
有时,当普通用户接收到陌生类型的文件时,他会感到不知如何处理。在这种情况下,该用户可能不知道如何使用文件。通过这里的方案,还可以减轻用户这方面的麻烦。例如,可以基于所述不同输入搜索对应的不同应用程序,以及基于所述不同应用程序确定能够运行所述不同应用程序的操作***。在这种情况下,服务器可以帮助用户判断所要运行的应用程序以及所需的操作***环境,从而省去用户的麻烦。
例如,使用Windows操作***的终端设备的用户可能接收到MacOS***下的文本文件(例如,*.pages文件)。该用户由于没有使用过MacOS操作***,因此,不知道如何打开*.pages文件,并且在Windows操作***下也缺乏用于打开该文件的应用程序。当使用上面的方案时,可以省去用户的这种烦恼。当用户在终端设备的屏幕上点击该文件的图标时,该点击操作作为输入信息被发送给服务器。服务器可以基于该输入信息,判断用户点击了*.pages文件。接着,服务器可以搜索打开该*.pages文件的应用程序,例如,Pages应用程序。然后。服务器搜索到运行Pages应用程序的操作***MACOS操作***。服务器可以创建MACOS操作***的实例,并在该实例上运行Pages应用程序,以打开用户的*.pages文件。这样减轻了用户自己搜索所需应用程序及操作***以及自己配置操作***的麻烦,可以提升用户的使用体验。
在这里,来自不同终端设备的输入可以是终端设备上的位置信息。服务器可以基于所述位置信息,判断用户的目标操作,例如,拖动图标,点击文件等。这样,在终端设备上可以执行定位处理,而不需要执行过多的其他处理,从而可以进一步减轻终端设备上的处理要求。通过这种方式,可以进一步减轻终端设备上的资源需求,减轻终端设备的成本。此外,由于终端设备仅需执行定位处理,因此,可以提升终端设备的运行效率。基于上面的描述,本领域技术人员应当理解,这里的应用程序应当具有广义上的含义,如上所述,“拖动图标,点击文件等”操作,也对应于某一个或多个应用程序。
通过这里的方案,在终端设备中不需要存储用户数据、程序数据等。用户的用户数据以及应用程序数据可以被存储在服务器中。在终端设备提供基本的输入检测以及显示处理功能。一方面,这可以极大地减轻对于终端设备的资源要求;另一方面,由于不需要在终端设备本地存储数据,因此,可以提升用户信息的安全性。例如,当用户的终端设备丢失或损坏时,用户不必担心自己的数据发生泄漏,也不必担心自己的数据丢失。
此外,这也可以方便用户的设备更换。当用户更换设备时,用户不必考虑如何将当前终端设备中的数据转移到其他终端设备中,也不必考虑当前终端设备的操作***与新终端设备的操作***的兼容性。
此外,这种方式也使得用户能够方便地同时使用不同的终端设备。例如,用户拥有智能手机、笔记本电脑、平板电脑。来自不同终端设备的输入可以包括用户的第一标示信息以及当前所使用的终端设备的第二标示信息。服务器可以基于第一标示信息和第二标示信息确定用户所使用的应用程序以及基于这些信息将相应的运行结果界面发送给相应的终端设备。通过这种方式,用户可以方便地在不同终端设备之间进行切换。此外,还可以在用户的不同终端设备上同时展现一个应用程序的运行结果界面或者一个应用程序的运行结果界面的不同部分。
可以基于终端设备的标识,在服务器为终端设备的用户分配服务器中的资源。例如,用户可以购买终端设备,并且当终端设备连接到服务器时,终端设备将自己的标识发送给服务器。服务器根据所购买的终端设备的标识,分配相应的资源。在诸如公司的实体机构使用终端设备的情况下,通过这种方式可以有效地控制实体机构使用相应资源的状况和方式。例如,实体机构可以控制其员工仅能使用所购买的终端设备,来访问服务器资源,从而避免由于使用其他设备所造成的信息泄露。此外,这也方便软件或操作***提供商统计和管理许可的范围。例如,软件或操作***提供商可以简单地基于终端设备的数量来发放许可。
此外,还可以基于用户标识在服务器为终端设备的用户分配服务器中的资源。例如,当用户使用终端设备连接到服务器时,终端设备将用户的标识发送给服务器。服务器根据用户的标识,分配相应的资源。在这种情况下,用户可以使用不同的终端设备来访问服务器并运行应用程序。
可以基于终端设备的标识和/或用户的标识,确定所要分配的服务器资源,例如,服务器中的容器数量、可用的操作***、存储容量、处理优先级、通信带宽等。例如,用户在购买这种云服务时,可以支付不同的价格,以购买不同的服务,从而满足用户的个性化需求。
还可以基于终端设备的标识和/或用户的标识,确定使用终端设备的用户是否被许可使用能运行应用程序的操作***。例如,在用户使用应用程序时,服务器可以首先检测该应用程序所需的操作***。如果用户尚未购买该操作***的许可,则服务器可以通过终端设备提示用户提供使用相应操作***的许可或者购买该许可。当用户获得该许可之后,服务器可以运行该应用程序。可以在用户首次运行应用程序时,确定用户的许可状况。此外,也可以定期检查用户的许可状况,以确保用户的许可没有过期。
由于用户的操作***位于服务器端,因此,通过这种方式可以有效地防止盗版。防止用户使用未经许可的操作***或软件。这可以方便操作***或软件提供商保护自己的版权,减小为维护自身权利的成本。由此,也可以降低用户使用操作***或软件的许可费用。
图2示出了根据另一个实施例的用于执行多***应用程序的方法的示意性流程图。
图2所示的方法可以由终端设备执行。在步骤S22,通过输入装置接收针对不同应用程序的不同输入,其中,所述不同应用程序运行于不同操作***。
在步骤S24,将所述不同输入发送给服务器。
在步骤S26,从服务器接收针对不同应用程序的不同运行结果界面。可以通过流媒体传输协议接收所述不同运行结果界面。
在步骤S28,通过显示装置呈现所述不同运行结果界面。
在针对图1的描述中,还描述了终端设备中的其他操作。在这里不再重复描述。
在一个例子,终端设备可以实现为另一个电子设备中的客户端程序或者虚拟机程序等。
图3示出了根据一个实施例的服务器的硬件示意性框图。
如图3所示,服务器300包括处理器302、存储器304。
服务器300还可以包括显示屏306、鼠标/键盘308、通信部件310和电源312等。
处理器302可以是各种处理器。存储器304可以存储服务器300运行所需的底层软件、***软件、应用软件、数据等。存储器304可以包括多种形式的存储器,例如,ROM、RAM、Flash等。
显示屏306可以是液晶显示屏、OLED显示屏等。在一个例子中,显示屏306可以是触摸屏。用户可以通过显示屏306、鼠标/键盘308等进行输入操作。
通信部件310例如可以包括WiFi通信部件、蓝牙通信部件、3G、4G和5G通信部件等。通过通信部件310,服务器300可以被布置中网络中。
图3所示的服务器仅是解释性的,并且决不是为了要限制这里的实施例、其应用或用途。
图3所示的服务器300可以用于执行上面根据图1所描述的方法。
图4示出了根据一个实施例的服务器的示意性***架构。如图4所示,在服务器300(如图3所述的硬件资源,包括CPU、GPU等各种硬件)上驻留基于内核的虚拟机320。在虚拟机320中运行不同的操作***,例如,Ubuntu操作***321a、Windows操作***321b等。例如,在Ubuntu操作***321a上设置容器322a、322b。在容器322a中创建安卓操作***的实例323a并运行安卓应用程序,在容器322b中创建安卓操作***的实例323b并运行安卓应用程序。在Ubuntu操作***321a上还配置流媒体传输模块324,例如,用于Ubuntu操作***的WebRTC服务器。安卓应用程序的运行结果界面可以通过流媒体传输模块324发送给各个终端设备。在Windows操作***321b上设置容器325a、325b。在容器325a中创建Windows操作***的实例326a并运行Windows应用程序,在容器325b中创建Windows操作***的实例326b并运行Windows应用程序。在Windows操作***321b上还配置流媒体传输模块327,例如,用于Windows操作***的WebRTC服务器。Windows应用程序的运行结果界面可以通过流媒体传输模块327发送给各个终端设备。
图5示出了根据一个实施例的终端设备的硬件示意性框图。
如图5所示,终端设备400包括处理器402、存储器404。
终端设备400还可以包括显示屏410、用户接口412、摄像头414、音频/视频接口416、传感器418和通信部件420等。此外,终端设备400还可以还包括电源管理芯片406以及电池408等。终端设备400可以各种智能设备等。
处理器402可以是各种处理器。存储器404可以存储终端设备400运行所需的底层软件、***软件、应用软件、数据等。存储器404可以包括多种形式的存储器,例如,ROM、RAM、Flash等。
显示屏410可以是液晶显示屏、OLED显示屏等。在一个例子中,显示屏410可以是触摸屏。用户可以通过显示屏410进行输入操作。此外,用户还可以通过触摸屏进行指纹识别等。
用户接口412可以包括USB接口、闪电接口、键盘等。
摄像头414可以是单摄像头,也可以是多摄像头。此外,摄像头414可以用于用户的面容识别。
音频/视频接口416例如可以包括扬声器接口、麦克风接口、诸如HDMI的视频传输接口等。
传感器418例如可以包括陀螺仪、加速度计、温度传感器、湿度传感器、压力传感器等等。例如,通过传感器可以确定终端设备周围的环境等。
通信部件420例如可以包括WiFi通信部件、蓝牙通信部件、3G、4G和5G通信部件等。通过通信部件420,终端设备400可以被布置中网络中。
电源管理芯片406可以用于管理输入终端设备400电源功率,还可以对电池408进行管理,以保证较大的利用效率。电池408例如是锂离子电池等。
图5所示的终端设备仅是解释性的,并且决不是为了要限制这里的实施例、其应用或用途。
图5所示的终端设备可以用于执行上面根据图2所描述的方法。
图6示出了根据一个实施例的终端设备的示意性***架构。如图6所示,在终端设备400(如图5所示的硬件资源)上可以驻留硬件抽象层430。在硬件抽象层430可以获取各种输入信息,例如,用户的触摸输入431、音频输入432、摄像头的图像输入433以及通过鼠标/键盘的输入434等。终端设备400通过网络传输引擎440,将上述输入信息发送给云端的服务器,并通过网络传输引擎440接收从服务器返回的运行结果界面。接着,通过显示模块450呈现运行结果界面。
网络传输引擎440可以包括WebRTC传输协议模块,并且可以包括智能比特率控制功能。显示模块450可以对所接收的运行结果界面的数据进行解码、渲染等处理,以将运行结果界面呈现给用户。
图7示意性地示出了根据一个实施例的用于执行多***应用程序的***。
如图7所示,用于执行多***应用程序的***包括上面描述的服务器522、524等及终端设备532、534、536等。服务器可以是服务器集群,并包括多个服务器。终端设备532、534、536可以包括智能手机、笔记本电脑、台式机等。
通过这里等方案,可以减轻对于终端设备等性能要求,并且终端设备的使用更加灵活。
图8示意性地示出了用于执行多***应用程序的一个例子。在图8所示的例子中,服务器可以运行不同终端设备的不同操作***的应用程序。
在图8的例子中,终端设备811、815连接到云端的服务器800。终端设备811例如是智能手机,终端设备815例如是笔记本电脑。例如,在终端设备811的界面上显示安卓***的应用程序图标812、813、814,在终端设备815的界面上显示Windows***的应用程序图标816、817。例如,终端设备811的用户点击图标812,终端设备815的用户点击图标816。用户的点击输入被发送给服务器800。
服务器800根据终端设备811、815的输入确定相应的应用程序及操作***。服务器800驻留基于内核的虚拟机820。在虚拟机820中运行Ubuntu操作***821a和Windows操作***821b。在Ubuntu操作***821a上设置容器822a。在容器322a中创建安卓操作***的实例823a并运行与图标812对应的安卓应用程序。在Ubuntu操作***821a上还配置流媒体传输模块824,例如,用于Ubuntu操作***的WebRTC服务器。安卓应用程序的运行结果界面可以通过流媒体传输模块824发送给终端设备811。在Windows操作***821b上设置容器825a。在容器825a中创建Windows操作***的实例826a并运行与图标816对应的Windows应用程序。在Windows操作***821b上还配置流媒体传输模块827,例如,用于Windows操作***的WebRTC服务器。Windows应用程序的运行结果界面可以通过流媒体传输模块827发送给终端设备815。
图9示意性地示出了用于执行多***应用程序的另一个例子。在图9所示的例子中,服务器可以运行一个终端设备的不同操作***的应用程序。
在图9的例子中,终端设备911连接到云端的服务器900。终端设备911例如是智能手机。例如,在终端设备911的界面上显示安卓***的应用程序图标912、913Windows***的应用程序图标914。例如,终端设备911的用户点击图标912、913、914。用户的点击输入被发送给服务器900。
服务器900根据终端设备911的输入确定相应的应用程序及操作***。服务器900驻留基于内核的虚拟机920。在虚拟机920中运行Ubuntu操作***921a和Windows操作***921b。在Ubuntu操作***921a上设置容器922a、922b。分别在容器922a、922b中创建安卓操作***的实例923a、923b并运行与图标912、913对应的安卓应用程序。在Ubuntu操作***921a上还配置流媒体传输模块924,例如,用于Ubuntu操作***的WebRTC服务器。安卓应用程序的运行结果界面可以通过流媒体传输模块924发送给终端设备911。在Windows操作***921b上设置容器925a。在容器925a中创建Windows操作***的实例926a并运行与图标914对应的Windows应用程序。在Windows操作***921b上还配置流媒体传输模块927,例如,用于Windows操作***的WebRTC服务器。Windows应用程序的运行结果界面可以通过流媒体传输模块927发送给终端设备911。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (12)
1.一种用于执行多***应用程序的方法,由服务器执行,并包括:
接收来自不同终端设备的输入;
基于所述不同输入确定对应的不同操作***及对应的不同应用程序;
分别在所述不同操作***的实例中运行所述不同应用程序,以得到不同运行结果界面;以及
分别向所述不同终端设备发送所述不同运行结果界面。
2.根据权利要求1所述的方法,其中,所述不同操作***的实例运行在服务器的不同容器中。
3.根据权利要求1所述的方法,其中,接收来自不同终端设备的输入包括:接收来自所述不同终端设备中的一个终端设备的至少两个输入,
其中,基于所述不同输入确定对应的不同应用程序及对应的不同操作***包括:基于所述至少两个输入确定至少两个不同操作***及对应的不同应用程序;
其中,分别在所述不同操作***的实例中运行所述不同应用程序,以得到不同运行结果界面包括:分别在所述至少两个操作***的实例中运行所述不同应用程序,以得到至少两个不同运行结果界面;以及
其中,分别向所述不同终端设备发送所述不同运行结果界面包括:向所述一个终端设备发送所述至少两个不同运行结果界面。
4.根据权利要求1所述的方法,其中,分别在所述不同操作***的实例中运行所述不同应用程序还包括:
创建与所述应用程序对应的操作***的实例,和
在所述操作***的实例中运行所述应用程序;以及
其中,所述方法还包括:在检测到所述不同终端设备中的至少一个终端设备的退出时,退出所述至少一个终端设备所对应的操作***的实例,以释放对应的服务器资源。
5.根据权利要求1所述的方法,其中,分别在所述不同操作***的实例中运行所述不同应用程序还包括:
创建与所述应用程序对应的操作***的实例,和
在所述操作***的实例中运行所述应用程序;以及
其中,所述方法还包括:当所述应用程序退出时退出与其对应的操作***的实例,以释放对应的服务器资源。
6.根据权利要求1所述的方法,其中,分别向所述不同终端设备发送所述不同运行结果界面包括:
通过流媒体传输协议发送所述不同运行结果界面。
7.根据权利要求1所述的方法,其中,基于所述不同输入确定对应的不同操作***及对应的不同应用程序包括:
基于所述不同输入搜索对应的不同应用程序;以及
基于所述不同应用程序搜索能够运行所述不同应用程序的操作***。
8.一种用于执行多***应用程序的方法,由终端设备执行,并包括:
通过输入装置接收针对不同应用程序的不同输入,其中,所述不同应用程序运行于不同操作***;
将所述不同输入发送给服务器;
从服务器接收针对不同应用程序的不同运行结果界面;以及
通过显示装置呈现所述不同运行结果界面。
9.根据权利要求8所述的方法,其中,从服务器接收针对不同应用程序的不同运行结果界面包括:
通过流媒体传输协议接收所述不同运行结果界面。
10.一种服务器,用于执行根据权利要求1所述的方法。
11.一种终端设备,用于执行根据权利要求7所述的方法。
12.一种用于执行多***应用程序的***,包括根据权利要求10所述的服务器及根据权利要求11所述的终端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010426227.8A CN113687865A (zh) | 2020-05-19 | 2020-05-19 | 执行多***应用程序的方法、服务器、终端设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010426227.8A CN113687865A (zh) | 2020-05-19 | 2020-05-19 | 执行多***应用程序的方法、服务器、终端设备及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113687865A true CN113687865A (zh) | 2021-11-23 |
Family
ID=78575929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010426227.8A Pending CN113687865A (zh) | 2020-05-19 | 2020-05-19 | 执行多***应用程序的方法、服务器、终端设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113687865A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2151757A1 (en) * | 2008-08-06 | 2010-02-10 | Samsung Electronics Co., Ltd. | Apparatus and method of supporting plurality of operating systems |
CN102202289A (zh) * | 2011-04-13 | 2011-09-28 | 张�林 | 一种通过移动终端远程调用软硬件资源的方法和*** |
US20110276621A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Operating system and application virtualization for application execution |
CN102404395A (zh) * | 2011-11-10 | 2012-04-04 | 浪潮电子信息产业股份有限公司 | 一种基于云计算的移动终端多操作***切换方法 |
CN102594786A (zh) * | 2011-01-04 | 2012-07-18 | 英属维京群岛商速位互动股份有限公司 | 多媒体互动***与客户端装置 |
CN103259874A (zh) * | 2013-06-05 | 2013-08-21 | 百度在线网络技术(北京)有限公司 | 应用程序的跨***运行方法、***及云端服务器 |
CN104049858A (zh) * | 2013-03-15 | 2014-09-17 | 宇宙互联有限公司 | 支持操作***共享的电子装置、***及方法 |
CN104049857A (zh) * | 2013-03-15 | 2014-09-17 | 宇宙互联有限公司 | 支持操作***共享的***及共享方法 |
KR20150120607A (ko) * | 2014-04-18 | 2015-10-28 | 김수하 | 클라우드 컴퓨팅 시스템 |
-
2020
- 2020-05-19 CN CN202010426227.8A patent/CN113687865A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2151757A1 (en) * | 2008-08-06 | 2010-02-10 | Samsung Electronics Co., Ltd. | Apparatus and method of supporting plurality of operating systems |
US20100037243A1 (en) * | 2008-08-06 | 2010-02-11 | Mo Sang-Dok | Apparatus and method of supporting plurality of operating systems |
US20110276621A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Operating system and application virtualization for application execution |
CN102594786A (zh) * | 2011-01-04 | 2012-07-18 | 英属维京群岛商速位互动股份有限公司 | 多媒体互动***与客户端装置 |
CN102202289A (zh) * | 2011-04-13 | 2011-09-28 | 张�林 | 一种通过移动终端远程调用软硬件资源的方法和*** |
CN102404395A (zh) * | 2011-11-10 | 2012-04-04 | 浪潮电子信息产业股份有限公司 | 一种基于云计算的移动终端多操作***切换方法 |
CN104049858A (zh) * | 2013-03-15 | 2014-09-17 | 宇宙互联有限公司 | 支持操作***共享的电子装置、***及方法 |
CN104049857A (zh) * | 2013-03-15 | 2014-09-17 | 宇宙互联有限公司 | 支持操作***共享的***及共享方法 |
CN103259874A (zh) * | 2013-06-05 | 2013-08-21 | 百度在线网络技术(北京)有限公司 | 应用程序的跨***运行方法、***及云端服务器 |
KR20150120607A (ko) * | 2014-04-18 | 2015-10-28 | 김수하 | 클라우드 컴퓨팅 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572833B (zh) | 自动应用更新 | |
US20100058341A1 (en) | Apparatus and method for setting input/output device in virtualization system | |
CN104516783A (zh) | 权限控制方法和装置 | |
US10198326B2 (en) | Intelligent restoration of a computing device | |
US20120206372A1 (en) | Method and system for flexible use of tablet information handling system resources | |
US10387167B2 (en) | Action-based computing resource configuration | |
US20150160827A1 (en) | Method of interface control and electronic device thereof | |
US11507444B1 (en) | Platform framework error handling | |
KR20200042793A (ko) | 복수의 운영체제들을 실행하는 전자장치 및 그 제어 방법 | |
EP3213198B1 (en) | Monitoring a mobile device application | |
CN108369538A (zh) | 下载视觉资产 | |
EP3410764B1 (en) | Method and device for resource statistics, and terminal | |
CN110995842A (zh) | 业务数据下载方法、装置、设备及存储介质 | |
CN112148499A (zh) | 数据上报方法、装置、计算机设备及介质 | |
US20220191273A1 (en) | Liaison System and Method for Cloud Computing Environment | |
US20160019602A1 (en) | Advertisement method of electronic device and electronic device thereof | |
CA3033830A1 (en) | Techniques for implementing universal commands in a welding or cutting system | |
WO2017180186A1 (en) | Task management system for a modular electronic device | |
CN113687865A (zh) | 执行多***应用程序的方法、服务器、终端设备及*** | |
US11720161B2 (en) | Platform framework arbitration | |
US11755738B2 (en) | Platform framework security state management | |
US20220417239A1 (en) | Platform framework authentication | |
CN104090818A (zh) | 信息处理方法、装置和*** | |
CN111026504B (zh) | 配置虚拟机中获取处理器信息的指令的处理方法、装置、cpu芯片、片上***和计算机 | |
US10897463B2 (en) | Managing and securing manageable resources in stateless web server architecture using servlet filters |
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 |