应用运行方法及云服务器与流程

文档序号:13564646阅读:261来源:国知局

本发明涉及云技术领域,尤其涉及一种应用运行方法及云服务器。



背景技术:

随着云技术的不断发展,在云计算的范畴内,很多终端应用都会将复杂的计算过程放置于云服务器,利用云服务器的强大计算能力和存储能力,实现需要复杂计算的功能,而终端仅需要做一些简单的事情,即可以实现复杂的功能。

然而,在现有的云计算系统中,虽然将部分复杂的数据计算和存储功能置于云服务器端,但是用户终端仍需要进行较多数据转换以及数据展示(如绘制相应的图形界面)等操作,造成较多处理资源消耗,而且,针对不同的应用,用户终端需要安装不同的应用程序对这些数据进行解析和处理,造成较多的储存资源消耗。



技术实现要素:

本发明的主要目的在于提供一种应用运行方法及云服务器,旨在降低用户终端实现应用程序功能所造成的处理资源及储存资源的消耗。

为实现上述目的,本发明提供一种应用运行方法,应用于云服务器,该应用运行方法包括:

在接收到用户终端的应用启动请求时,启动所述应用启动请求对应的应用程序;

绘制所述应用程序的应用界面,并将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端,以供所述用户终端播放接收的所述第一视频数据,展示所述应用程序的应用界面。

可选地,所述在接收到用户终端的应用启动请求时,启动所述应用启动请求对应的应用程序的步骤之前,还包括:

在接收到所述用户终端发送的能力信息时,基于接收的所述能力信息创建对应所述用户终端的服务实例;

所述将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端的步骤包括:

调用所述服务实例将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端。

可选地,所述绘制所述应用程序的应用界面,并将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端的步骤之后,还包括:

在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件,并调用所述应用程序响应所述输入事件,产生界面刷新数据;

绘制所述界面刷新数据,并调用所述服务实例将所述界面刷新数据的绘图数据转换为第二视频数据后发送至所述用户终端,以供所述用户终端播放所述第二视频数据,并将所述输入数据对应的光标和/或鼠标指针叠加显示在播放的所述第二视频数据之上。

可选地,所述调用所述应用程序响应所述输入事件,产生界面刷新数据的步骤包括:

调用所述应用程序响应所述输入事件,产生界面刷新数据以及界面刷新区域信息;

在执行所述将所述第二视频数据发送至所述用户终端的同时,还执行以下步骤:

调用所述服务实例将所述刷新区域信息发送至所述用户终端,以供所述用户终端基于所述刷新区域信息播放所述第二视频数据。

可选地,所述在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件,并调用所述应用程序响应所述输入事件,产生界面刷新数据的步骤之前,还包括:

发送编解码协议至所述用户终端,以供所述用户终端在接收到输入数据时,采用所述编解码协议对接收的所述输入数据进行编码操作后发送至所述服务实例;

所述在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件的步骤包括:

在基于所述服务实例接收到所述用户终端发送的输入数据时,调用所述服务实例根据所述编解码协议,对接收的输入数据进行解码操作;

基于解码后的输入数据产生输入事件。

此外,为实现上述目的,本发明还提供一种云服务器,该云服务器包括:

主控模块,用于在接收到用户终端的应用启动请求时,启动所述应用启动请求对应的应用程序;

人机界面统一服务模块,用于绘制所述应用程序的应用界面,并将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端,以供所述用户终端播放接收的所述第一视频数据,展示所述应用程序的应用界面。

可选地,所述主控模块还用于在接收到所述用户终端发送的能力信息时,基于接收的所述能力信息创建对应所述用户终端的服务实例;

所述人机界面统一服务模块还用于调用所述服务实例将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端。

可选地,所述人机界面统一服务模块还用于在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件,并调用所述应用程序响应所述输入事件,产生界面刷新数据;还用于绘制所述界面刷新数据,并调用所述服务实例将所述界面刷新数据的绘图数据转换为第二视频数据后发送至所述用户终端,以供所述用户终端播放所述第二视频数据,并将所述输入数据对应的光标和/或鼠标指针叠加显示在播放的所述第二视频数据之上。

可选地,所述人机界面统一服务模块还用于调用所述应用程序响应所述输入事件,产生界面刷新数据以及界面刷新区域信息;还用于调用所述服务实例将所述刷新区域信息发送至所述用户终端,以供所述用户终端基于所述刷新区域信息播放所述第二视频数据。

可选地,所述主控模块还用于发送编解码协议至所述用户终端,以供所述用户终端在接收到输入数据时,采用所述编解码协议对接收的所述输入数据进行编码操作后发送至所述服务实例;

所述人机界面统一服务模块还用于在基于所述服务实例接收到所述用户终端发送的输入数据时,调用所述服务实例基于所述编解码协议,对接收的输入数据进行解码操作;还用于基于解码后的输入数据产生输入事件。

本发明提出的应用运行方法及云服务器,通过云服务器承担应用的计算、储存以及数据展示(如图形界面的生成)等工作,并由云服务器在生成数据展示的内容之后,将这些内容转换为视频数据(包括图像和声音),并将转换得到的视频数据发送给用户终端以视频播放的形式展示给用户,这样呈现给用户的界面即为应用程序所设计的应该呈现给用户的应用界面,使得用户终端不需要安装任何应用程序,仅需具备视频数据的播放功能即可实现相应应用程序的功能,降低了用户终端实现应用程序功能所造成的处理资源及存储资源的消耗。

附图说明

图1为本发明云服务器第一实施例的模块示意图;

图2为本发明云服务器第二实施例中云服务器和用户终端组成的应用运行系统的一种实现实例图;

图3为本发明云服务器第二实施例中用户终端的主控模块和云服务器主控模块的功能框架示例图;

图4为本发明云服务器第三实施例中用户终端的输入采集模块和服务实例的输入转换模块的功能框架示例图;

图5为本发明云服务器第三实施例中人机界面统一服务模块具体的实现实例图;

图6为本发明云服务器第四实施例中人机界面统一服务模块的一种工作流程示例图;

图7为本发明应用运行方法第一实施例的流程示意图;

图8为本发明应用运行方法第三实施例中服务器主控模块的初始化流程示意图;

图9为本发明应用运行方法第三实施例中输入设备与云服务器交互的工作流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种云服务器,参照图1,在本发明云服务器的第一实施例中,该云服务器包括:

主控模块10,用于在接收到用户终端的应用启动请求时,启动所述应用启动请求对应的应用程序;

人机界面统一服务模块20,用于绘制所述应用程序的应用界面,并将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端,以供所述用户终端播放接收的所述第一视频数据,展示所述应用程序的应用界面。

需要说明的是,本实施例提出的云服务器,旨在承担应用的计算、储存以及数据展示(如图形界面的生成)等工作,并由云服务器在生成数据展示的内容之后,将这些内容转换为视频数据(包括图像和声音),并将转换得到的视频数据发送给用户终端以视频播放的形式展示给用户,实现真正的云端化,使得用户终端不需要安装任何应用程序,仅需具备视频数据的播放功能即可实现相应应用程序的功能,降低了用户终端实现应用程序功能所造成的处理资源及存储资源的消耗。

在本实施例中,当用户需要运行应用程序时,可操作用户终端选择应用程序列表中相应的应用程序,以开启应用运行的处理流程。

用户终端在侦测到用户基于应用程序列表触发的选择操作时,生成应用启动请求,并将生成的应用启动请求发送至云服务器的主控模块10。其中,用户终端生成的应用启动请求携带有前述选择操作对应的应用程序信息。例如,用户终端在侦测到用户基于应用程序列表中“优酷”触发的选择操作时,生成应用启动请求“启动应用程序优酷”。

主控模块10在接收到用户终端传输的应用启动请求时,解析出该应用启动请求所携带的应用程序信息,并启动解析出的应用程序信息所对应的应用程序。

需要说明的是,人机界面统一服务模块20作为本发明功能实现的关键,其技术实现可以有多种形式。

例如,人机界面统一服务模块20可以使用云服务器宿主操作系统中自带的人机界面统一服务模块,通过对相应应用程序界面数据以及声音数据的截取,可以获得对应应用程序的原始视频数据,虚拟显卡就是其中一种实现方式。

又例如,人机界面统一服务模块20也可以采用统一的服务接口提供给应用程序使用,从而使得应用程序不需要考虑具体的绘图实现,只需要调用对应的服务接口,完成窗口以及窗口内容的填充即可,通过视频化改造之后的xserver系统也是其中的一种实现方式。也就是说,人机界面统一服务模块20实现方式包括了所有不是以刷新和填充物理显卡内容为目的,而是最终形成视频流的ui界面系统。以下以人机界面统一服务模块20采用统一服务接口的实现形式进行说明。

在本实施例中,人机界面统一服务模块20提供统一的api接口(applicationprogramminginterface,应用程序编程接口)由应用程序以客户端的角色向人机界面统一服务模块20请求界面服务,如窗口的创建与销毁,窗口中的绘图以及显示刷新等。

前述应用程序在启动后,即向人机界面统一服务模块20发出界面服务请求。

人机界面统一服务模块20在接收到应用程序发出的界面访问请求之后,对应用程序的应用界面进行绘制,实现应用程序的界面输出,然后将应用界面的绘图数据转换为第一视频数据后发送至用户终端。

其中,将应用界面的绘图数据转换为第一视频数据包括对绘图数据的压缩和编码,具体的压缩方式以及编码方式可预先根据实际需要进行设置,本实施例不做具体限制,例如,人机界面统一服务模块20对应用程序的应用界面进行绘制后,得到rgb格式的绘图数据,然后将rgb格式的绘图数据转码成yuv格式后进行视频的压缩编码,得到对应应用界面的第一视频数据。

相应的,用户终端在接收到前述第一视频数据之后,解码播放接收的第一视频数据,将第一视频数据显示在附接的显示设备上,这样呈现给用户的界面即为应用程序所设计的应该呈现给用户的应用界面。

本实施例提出的云服务器,通过承担应用的计算、储存以及数据展示(如图形界面的生成)等工作,并由云服务器在生成数据展示的内容之后,将这些内容转换为视频数据(包括图像和声音),并将转换得到的视频数据发送给用户终端以视频播放的形式展示给用户,这样呈现给用户的界面即为应用程序所设计的应该呈现给用户的应用界面,使得用户终端不需要安装任何应用程序,仅需具备视频数据的播放功能即可实现相应应用程序的功能,降低了用户终端实现应用程序功能所造成的处理资源及存储资源的消耗。

进一步地,基于第一实施例,提出了本发明云服务器的第二实施例,在本实施例中,所述主控模块10还用于在接收到所述用户终端发送的能力信息时,基于接收的所述能力信息创建对应所述用户终端的服务实例;

所述人机界面统一服务模块20还用于调用所述服务实例将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端。

需要说明的是,本实施例在第一实施例的基础上,进一步对云服务器初始化操作进行说明,其他可参照前述实施例,此处不再赘述。

参照图2,图2为云服务器和用户终端组成的应用运行系统的一种实现实例图。如图2所示,用户终端主要包括输入数据的采集模块、视频数据处理模块、通信模块以及与云服务器进行应用集中的管理和控制交互的主控模块。

在本实施例中,用户终端在发送应用启动请求至云服务器之前,还对其自身的能力信息进行采集。具体的,用户终端的主控模块对宿主系统的能力信息进行收集,其中,采集的能力信息包括显示器的分辨率/刷新率等,显卡的显存、带宽、位宽以及工作频率等,连接的输入设备(如图2所示的触摸屏、键盘、鼠标、摄像头即其他传感设备等)类型数量等。

在采集的能力信息之后,用户终端的主控模块将采集的能力信息通过图2所示的控制通道传输至云服务器的主控模块10。

主控模块10根据接收的能力信息进行决策,创建一个与该用户终端对应的服务实例,并根据这些能力信息进行初始化,同时将创建的服务实例的实例id以及能力信息传输给人机界面统一服务模块20,并实现用户之间的隔离。

进一步地,参照图3,图3为用户终端的主控模块和云服务器主控模块的功能框架示例图。如图3所示,用户终端的主控模块提供用户登录的入口,其采集的用户登录信息发送给云服务器的主控模块10进行安全鉴权。其中,云服务器的主控模块10在鉴权通过后,通过控制通道返回鉴权结果至用户终端的主控模块,指示其采集并反馈能力信息。其中,用户终端的主控模块采集能力信息的操作可参照前述相关描述,此处不再赘述。

此外,用户终端主控模块中的窗口管理子模块负责用户终端的窗口移动以及最小化、最大化等操作信息的管理,并与云服务器进行交互,使得相应的参数做相应的调整,同时窗口管理子模块提供用户的应用程序选择入口。其中,云服务器主控模块10在鉴权通过后,还返回与用户登录信息对应的应用程序列表,提供给用户进行选择,并将选择的结果发送给云服务器,由云服务器进行相应应用程序的启动,终止或切换等控制操作。

进一步地,如图2所示,云服务器主控模块10创建的对应用户终端的服务实例包括视频数据的通信模块以及视频化处理模块。在本实施例中,人机界面统一服务模块20在将应用界面的绘图数转换为第一视频数据时,具体将绘制的应用界面的绘图数据传输至服务实例的视频化处理模块,由视频化处理模块对接收的绘图数据进行转码,得到对应应用界面的第一视频数据。例如,视频化处理模块接收到人机界面统一服务模块20传输的rgb格式的绘图数据,则视频化处理模块将接收的rgb格式的绘图数据进行转码,具体转成yuv格式后进行视频的压缩编码,得到对应应用界面的第一视频数据,以实现对网络带宽的有效利用。本领域技术人员可以理解的是,由于对应用户终端的服务实例是由云服务器主控模块10根据用户终端的能力信息所创建的,服务实例的视频化处理模块转换得到的视频数据必然是与用户终端所适配的,使得用户终端仅需消耗较少的处理资源即可实现对应应用程序的视频数据的播放。

为进一步确保转换得到视频数据的质量以及转换效率,在本实施例中,人机界面统一服务模块20,还可在传输绘图数据至视频化处理模块时,根据应用程序调用的不同接口类型,将图片与文字的处理分类别传输至视频化处理模块进行转换。

进一步地,人机界面统一服务模块20在传输应用界面的绘图数据至服务实例的视频化处理模块的同时,还传输发送指示至视频化处理模块。

视频化处理模块在将人机界面统一服务模块20传输的应用界面的绘图数据转换为第一视频数据之后,根据前述发送指示,基于视频数据的通信模块,通过视频通道传输至用户终端。

如图2所示的用户终端的视频处理模块在接收到对应应用界面的第一视频数据时,在显示屏上解码播放接收的第一视频数据,即可将应用程序的应用界面展示给用户。

进一步地,在本实施例中,云服务器主控模块10在启动应用程序之后,将应用程序的进程id与创建的对应用户终端的服务实例进行绑定,并将该绑定关系传输至人机界面统一服务模块20,使得人机界面统一服务模块20在收到应用程序的界面服务请求时,能够根据进程id来决定应用程序窗口所运行的用户服务实例上下文,从而实现应用程序之间的用户隔离。

通俗的说,本发明可以实施一种类似应用商店(如安卓应用市场,360应用商店,appstore等)的云服务程序,运行在云服务器侧。而终端侧则实施一个统一的实现视频播放功能的客户端程序,用户终端通过对应的账户信息连接进入应用商店。应用商店服务程序根据账户信息给出可服务的应用列表,如果用户想使用某一个应用,用户不需要像目前的应用商店一样把应用程序下载下来,而是直接点击对应的应用图标,即可以直接开启对应的应用程序,进行正常的使用,与目前下载下来的应用使用起来无任何差别。对应的应用即通过视频化的界面数据通过终端侧的统一客户端程序进行显示。这样就可以通过一个客户端程序实现各种各样人机互动类型的应用程序的对接,实现应用程序的真正云端化。

进一步地,基于第二实施例,提出本发明云服务器的第三实施例,在本实施例中,所述人机界面统一服务模块20还用于在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件,并调用所述应用程序响应所述输入事件,产生界面刷新数据;还用于绘制所述界面刷新数据,并调用所述服务实例将所述界面刷新数据的绘图数据转换为第二视频数据后发送至所述用户终端,以供所述用户终端播放所述第二视频数据,并将所述输入数据对应的光标和/或鼠标指针叠加显示在播放的所述第二视频数据之上。

本领域技术人员可以理解的是,运行应用程序的目的在于实现相应的功能,而功能的实现必然涉及到应用程序与用户的交互,也即是应用程序对用户输入数据的响应。因此,本实施例在前述第二实施例的基础上,进一步增加了关于人机交互操作描述,其他可参照前述实施例,此处不再赘述。

继续参照图2,在本实施例中,前述对应用户终端的服务实例还包括输入转换模块和输入数据的通信模块,用户终端还包括输入采集模块和输入数据的通信模块。

具体的,参照图4,图4为用户终端的输入采集模块和服务实例的输入转换模块的功能框架示例图。如图4所示,输入采集模块可以实现对用户终端指定的输入设备进行监测,这可以由其宿主操作系统实现并传送给输入采集模块,也可以由输入采集模块本身集成。对于如触摸屏、键盘以及鼠标等常见通用的输入设备可以由用户终端的操作系统进行监测,输入采集模块通过宿主操作系统提供的机制和接口获取相应输入设备的输入数据。如需要对接一些比较特殊的输入设备,则可以在输入采集模块集成相应的监测程序,也可以由第三方提供监测程序,由输入采集模块提供统一的接口规范给第三方使用,以实现程序的兼容。

输入采集模块在监测到输入数据时,将监测到的输入数据按预设的协议进行规范化处理,并通过对应用户的输入通道发送给云服务器。

进一步地,在本实施例中,前述云服务器主控模块10在创建对应用户终端的服务实例之后,还用于发送编解码协议至所述用户终端,以供所述用户终端在接收到输入数据时,采用所述编解码协议对接收的所述输入数据进行编码操作后发送至所述服务实例;

所述人机界面统一服务模块20还用于在基于所述服务实例接收到所述用户终端发送的输入数据时,调用所述服务实例基于所述编解码协议,对接收的输入数据进行解码操作;还用于基于解码后的输入数据产生输入事件。

具体的,云服务器主控模块10将编解码协议通过控制通道传输至用户终端主控模块,由用户终端主控模块将编解码协议传输至输入采集模块,供输入采集模块对监测到的输入数据进行规范化处理(即编码操作)。

其中,编解码协议用于对不同的输入设备的输入数据进行抽象,分类别进行输入数据的转换,不同类别的输入设备采用不同的数据结构。相应的,云服务器需要根据数据结构中的类别id来识别对应的输入数据,例如键盘数据中,协议关键数据中头部会携带键盘类型的类别id,在数据内容中,填充了键盘键值的编码值,以及键盘键的按下和抬起动作所代表的值。

在本实施例中,对应用户终端的服务实例的输入转换模块在接收到输入采集模块通过输入通道传输的输入数据时,按照前述编解码协议对规范化后的输入数据进行转换(即解码操作),获得用户终端接收到原始输入设备的输入数据,传输至人机界面统一服务模块20。

参照图5,图5为人机界面统一服务模块20具体的实现实例图。如图5所示,它包括与云服务器主控模块10的交互子模块,以及生成输入事件等的事件管理子模块,应用程序的窗口管理子模块,界面绘图子模块,以及与视频化处理模块的交互子模块,与输入转换模块的交互子模块。其中,与云服务器主控模块10的交互子模块,用于获得云服务器主控模块10发送过来的对应用户终端的服务实例的实例id以及用户终端的能力信息,人机界面统一服务模块20根据这些参数信息生成相对应的服务实例,该服务实例通过与输入转换模块的交互子模块以及与视频化处理模块的交互子模块实现与对应用户终端的服务实例的对接。

具体的,人机界面统一服务模块20在接收到输入转换模块所传输的输入数据之后,通过事件管理子模块,按照事件生成的用户服务实例上下文以及对应的参数信息来确定将该事件通知给对应的应用程序对应的窗口。

相应的、应用程序根据其初始化窗口信息时设定的标志来选择是否监听对应的输入事件,以对输入事件进行相应的响应,产生界面刷新数据,然后向人机界面统一服务模块20请求界面服务。

人机界面统一服务模块20在接收到应用程序的界面服务请求之后,通过绘图子模块对所述界面刷新数据进行绘制,然后将界面刷新数据的绘图数据传输至对应用户终端的服务实例的视频化处理模块进行视频转码,得到第二视频数据,并由视频化处理模块基于视频数据的通信模块,将第二视频数据通过视频通道传输至用户终端,进行展示,具体可参照前述关于第一视频数据的相关处理流程,此处不再赘述。

此外,为保证用户体验的连续性和真实性,在本实施例中,用户终端的输入设备本身应该呈现的图片信息在用户终端进行呈现,所述用户终端在播放第二视频数据时,将接收的输入数据对应的光标和/或鼠标指针叠加显示在播放的所述第二视频数据之上。例如,针对鼠标设备,会将鼠标移动的坐标以及单击事件等信息发送给云服务器,同时用户终端本地的鼠标指针还是跟随用户的操作实时移动。

本实施例在前述实施例的基础上,进一步屏蔽了各应用程序间不同数据交互协议的差异,使得用户终端和云服务器实现了一对多的对接。同时,使得应用程序的敏感数据不需要在网络上进行传输,避免了被窃取的可能性,增加了用户终端和云服务器进行数据交互的安全性。

进一步地,基于第三实施例,提出本发明云服务器的第四实施例,在本实施例中,所述人机界面统一服务模块20还用于调用所述应用程序响应所述输入事件,产生界面刷新数据以及界面刷新区域信息;还用于调用所述服务实例将所述刷新区域信息发送至所述用户终端,以供所述用户终端基于所述刷新区域信息播放所述第二视频数据。

需要说明的是,本实施例在前述实施例的基础上,为进一步降低用户终端的处理资源消耗,本实施例进一步增加了界面的区域刷新操作。以下仅针对该区别进行说明,其他可参照前述实施例,此处不再赘述。

本领域技术人员可以理解的是,在界面刷新时,并不需要完全对整个界面进行刷新,仅需要对变化部分进行刷新。相应的,在本实施例中,应用程序在响应人机界面统一服务模块20产生的输入事件时,在生成界面刷新数据的同时,还生成对应界面刷新数据的界面刷新区域信息。

人机界面统一服务模块20在绘制界面刷新数据之后,将界面刷新数据的绘图数据传输至对应用户终端的视频化处理模块的同时,将前述界面刷新区域信息传输至视频化处理模块。

视频化处理模块在将界面刷新数据的绘图数据转换为第二视频数据之后,将界面刷新区域信息跟随第二视频数据一起传输至用户终端,供用户终端根据界面刷新区域信息播放第二视频数据,实现对界面刷新区域信息指定的应用界面区域进行刷新。例如,参照图6,图6为人机界面统一服务模块20的一种工作流程示例图。

本发明提供一种应用运行方法,应用于云服务器,结合参照图7和图1,在本发明应用运行方法的第一实施例中,该应用运行方法包括:

步骤s10,在接收到用户终端的应用启动请求时,启动所述应用启动请求对应的应用程序;

步骤s20,绘制所述应用程序的应用界面,并将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端,以供所述用户终端播放接收的所述第一视频数据,展示所述应用程序的应用界面。

需要说明的是,本实施例提出应用运行方法,应用于图7所示的云服务器,旨在使得云服务器承担应用的计算、储存以及数据展示(如图形界面的生成)等工作,并由云服务器在生成数据展示的内容之后,将这些内容转换为视频数据(包括图像和声音),并将转换得到的视频数据发送给用户终端以视频播放的形式展示给用户,实现真正的云端化,使得用户终端不需要安装任何应用程序,仅需具备视频数据的播放功能即可实现相应应用程序的功能,降低了用户终端实现应用程序功能所造成的处理资源及存储资源的消耗。

在本实施例中,当用户需要运行应用程序时,可操作用户终端选择应用程序列表中相应的应用程序,以开启应用运行的处理流程。

用户终端在侦测到用户基于应用程序列表触发的选择操作时,生成应用启动请求,并将生成的应用启动请求发送至云服务器的主控模块10。其中,用户终端生成的应用启动请求携带有前述选择操作对应的应用程序信息。例如,用户终端在侦测到用户基于应用程序列表中“优酷”触发的选择操作时,生成应用启动请求“启动应用程序优酷”。

主控模块10在接收到用户终端传输的应用启动请求时,解析出该应用启动请求所携带的应用程序信息,并启动解析出的应用程序信息所对应的应用程序。

需要说明的是,人机界面统一服务模块20作为本发明功能实现的关键,其技术实现可以有多种形式。

例如,人机界面统一服务模块20可以使用云服务器宿主操作系统中自带的人机界面统一服务模块,通过对相应应用程序界面数据以及声音数据的截取,可以获得对应应用程序的原始视频数据,虚拟显卡就是其中一种实现方式。

又例如,人机界面统一服务模块20也可以采用统一的服务接口提供给应用程序使用,从而使得应用程序不需要考虑具体的绘图实现,只需要调用对应的服务接口,完成窗口以及窗口内容的填充即可,通过视频化改造之后的xserver系统也是其中的一种实现方式。也就是说,人机界面统一服务模块20实现方式包括了所有不是以刷新和填充物理显卡内容为目的,而是最终形成视频流的ui界面系统。以下以人机界面统一服务模块20采用统一服务接口的实现形式进行说明。

在本实施例中,人机界面统一服务模块20提供统一的api接口(applicationprogramminginterface,应用程序编程接口)由应用程序以客户端的角色向人机界面统一服务模块20请求界面服务,如窗口的创建与销毁,窗口中的绘图以及显示刷新等。

前述应用程序在启动后,即向人机界面统一服务模块20发出界面服务请求。

人机界面统一服务模块20在接收到应用程序发出的界面访问请求之后,对应用程序的应用界面进行绘制,实现应用程序的界面输出,然后将应用界面的绘图数据转换为第一视频数据后发送至用户终端。

其中,将应用界面的绘图数据转换为第一视频数据包括对绘图数据的压缩和编码,具体的压缩方式以及编码方式可预先根据实际需要进行设置,本实施例不做具体限制,例如,人机界面统一服务模块20对应用程序的应用界面进行绘制后,得到rgb格式的绘图数据,然后将rgb格式的绘图数据转码成yuv格式后进行视频的压缩编码,得到对应应用界面的第一视频数据。

相应的,用户终端在接收到前述第一视频数据之后,解码播放接收的第一视频数据,将第一视频数据显示在附接的显示设备上,这样呈现给用户的界面即为应用程序所设计的应该呈现给用户的应用界面。

本实施例提出的云服务器,通过承担应用的计算、储存以及数据展示(如图形界面的生成)等工作,并由云服务器在生成数据展示的内容之后,将这些内容转换为视频数据(包括图像和声音),并将转换得到的视频数据发送给用户终端以视频播放的形式展示给用户,这样呈现给用户的界面即为应用程序所设计的应该呈现给用户的应用界面,使得用户终端不需要安装任何应用程序,仅需具备视频数据的播放功能即可实现相应应用程序的功能,降低了用户终端实现应用程序功能所造成的处理资源及存储资源的消耗。

进一步地,基于第一实施例,提出本发明应用运行方法的第二实施例,在本实施例中,步骤10之前,还包括:

在接收到所述用户终端发送的能力信息时,基于接收的所述能力信息创建对应所述用户终端的服务实例;

所述将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端的步骤包括:

调用所述服务实例将所述应用界面的绘图数据转换为第一视频数据后发送至所述用户终端。

需要说明的是,本实施例在第一实施例的基础上,进一步对云服务器初始化操作进行说明,其他可参照前述实施例,此处不再赘述。

参照图2,图2为云服务器和用户终端组成的应用运行系统的一种实现实例图。如图2所示,用户终端主要包括输入数据的采集模块、视频数据处理模块、通信模块以及与云服务器进行应用集中的管理和控制交互的主控模块。

在本实施例中,用户终端在发送应用启动请求至云服务器之前,还对其自身的能力信息进行采集。具体的,用户终端的主控模块对宿主系统的能力信息进行收集,其中,采集的能力信息包括显示器的分辨率/刷新率等,显卡的显存、带宽、位宽以及工作频率等,连接的输入设备(如图2所示的触摸屏、键盘、鼠标、摄像头即其他传感设备等)类型数量等。

在采集的能力信息之后,用户终端的主控模块将采集的能力信息通过图2所示的控制通道传输至云服务器的主控模块10。

主控模块10根据接收的能力信息进行决策,创建一个与该用户终端对应的服务实例,并根据这些能力信息进行初始化,同时将创建的服务实例的实例id以及能力信息传输给人机界面统一服务模块20,并实现用户之间的隔离。

进一步地,参照图3,图3为用户终端的主控模块和云服务器主控模块的功能框架示例图。如图3所示,用户终端的主控模块提供用户登录的入口,其采集的用户登录信息发送给云服务器的主控模块10进行安全鉴权。其中,云服务器的主控模块10在鉴权通过后,通过控制通道返回鉴权结果至用户终端的主控模块,指示其采集并反馈能力信息。其中,用户终端的主控模块采集能力信息的操作可参照前述相关描述,此处不再赘述。

此外,用户终端主控模块中的窗口管理子模块负责用户终端的窗口移动以及最小化、最大化等操作信息的管理,并与云服务器进行交互,使得相应的参数做相应的调整,同时窗口管理子模块提供用户的应用程序选择入口。其中,云服务器主控模块10在鉴权通过后,还返回与用户登录信息对应的应用程序列表,提供给用户进行选择,并将选择的结果发送给云服务器,由云服务器进行相应应用程序的启动,终止或切换等控制操作。

进一步地,如图2所示,云服务器主控模块10创建的对应用户终端的服务实例包括视频数据的通信模块以及视频化处理模块。在本实施例中,人机界面统一服务模块20在将应用界面的绘图数转换为第一视频数据时,具体将绘制的应用界面的绘图数据传输至服务实例的视频化处理模块,由视频化处理模块对接收的绘图数据进行转码,得到对应应用界面的第一视频数据。例如,视频化处理模块接收到人机界面统一服务模块20传输的rgb格式的绘图数据,则视频化处理模块将接收的rgb格式的绘图数据进行转码,具体转成yuv格式后进行视频的压缩编码,得到对应应用界面的第一视频数据,以实现对网络带宽的有效利用。本领域技术人员可以理解的是,由于对应用户终端的服务实例是由云服务器主控模块10根据用户终端的能力信息所创建的,服务实例的视频化处理模块转换得到的视频数据必然是与用户终端所适配的,使得用户终端仅需消耗较少的处理资源即可实现对应应用程序的视频数据的播放。

为进一步确保转换得到视频数据的质量以及转换效率,在本实施例中,人机界面统一服务模块20,还可在传输绘图数据至视频化处理模块时,根据应用程序调用的不同接口类型,将图片与文字的处理分类别传输至视频化处理模块进行转换。

进一步地,人机界面统一服务模块20在传输应用界面的绘图数据至服务实例的视频化处理模块的同时,还传输发送指示至视频化处理模块。

视频化处理模块在将人机界面统一服务模块20传输的应用界面的绘图数据转换为第一视频数据之后,根据前述发送指示,基于视频数据的通信模块,通过视频通道传输至用户终端。

如图2所示的用户终端的视频处理模块在接收到对应应用界面的第一视频数据时,在显示屏上解码播放接收的第一视频数据,即可将应用程序的应用界面展示给用户。

进一步地,在本实施例中,云服务器主控模块10在启动应用程序之后,将应用程序的进程id与创建的对应用户终端的服务实例进行绑定,并将该绑定关系传输至人机界面统一服务模块20,使得人机界面统一服务模块20在收到应用程序的界面服务请求时,能够根据进程id来决定应用程序窗口所运行的用户服务实例上下文,从而实现应用程序之间的用户隔离。

通俗的说,本发明可以实施一种类似应用商店(如安卓应用市场,360应用商店,appstore等)的云服务程序,运行在云服务器侧。而终端侧则实施一个统一的实现视频播放功能的客户端程序,用户终端通过对应的账户信息连接进入应用商店。应用商店服务程序根据账户信息给出可服务的应用列表,如果用户想使用某一个应用,用户不需要像目前的应用商店一样把应用程序下载下来,而是直接点击对应的应用图标,即可以直接开启对应的应用程序,进行正常的使用,与目前下载下来的应用使用起来无任何差别。对应的应用即通过视频化的界面数据通过终端侧的统一客户端程序进行显示。这样就可以通过一个客户端程序实现各种各样人机互动类型的应用程序的对接,实现应用程序的真正云端化。

进一步地,基于第二实施例,提出本发明应用运行方法的第三实施例,在本实施例中,步骤s20之后,还包括:

在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件,并调用所述应用程序响应所述输入事件,产生界面刷新数据;

绘制所述界面刷新数据,并调用所述服务实例将所述界面刷新数据的绘图数据转换为第二视频数据后发送至所述用户终端,以供所述用户终端播放所述第二视频数据,并将所述输入数据对应的光标和/或鼠标指针叠加显示在播放的所述第二视频数据之上。

本领域技术人员可以理解的是,运行应用程序的目的在于实现相应的功能,而功能的实现必然涉及到应用程序与用户的交互,也即是应用程序对用户输入数据的响应。因此,本实施例在前述第二实施例的基础上,进一步增加了关于人机交互操作描述,其他可参照前述实施例,此处不再赘述。

继续参照图2,在本实施例中,前述对应用户终端的服务实例还包括输入转换模块和输入数据的通信模块,用户终端还包括输入采集模块和输入数据的通信模块。

具体的,参照图4,图4为用户终端的输入采集模块和服务实例的输入转换模块的功能框架示例图。如图4所示,输入采集模块可以实现对用户终端指定的输入设备进行监测,这可以由其宿主操作系统实现并传送给输入采集模块,也可以由输入采集模块本身集成。对于如触摸屏、键盘以及鼠标等常见通用的输入设备可以由用户终端的操作系统进行监测,输入采集模块通过宿主操作系统提供的机制和接口获取相应输入设备的输入数据。如需要对接一些比较特殊的输入设备,则可以在输入采集模块集成相应的监测程序,也可以由第三方提供监测程序,由输入采集模块提供统一的接口规范给第三方使用,以实现程序的兼容。

输入采集模块在监测到输入数据时,将监测到的输入数据按预设的协议进行规范化处理,并通过对应用户的输入通道发送给云服务器。

进一步地,在本实施例中,所述在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件,并调用所述应用程序响应所述输入事件,产生界面刷新数据的步骤之前,还包括:

发送编解码协议至所述用户终端,以供所述用户终端在接收到输入数据时,采用所述编解码协议对接收的所述输入数据进行编码操作后发送至所述服务实例;

所述在基于所述服务实例接收到所述用户终端发送的输入数据时,产生携带所述输入数据的输入事件的步骤包括:

在基于所述服务实例接收到所述用户终端发送的输入数据时,调用所述服务实例根据所述编解码协议,对接收的输入数据进行解码操作;

基于解码后的输入数据产生输入事件。

具体的,云服务器主控模块10将编解码协议通过控制通道传输至用户终端主控模块,由用户终端主控模块将编解码协议传输至输入采集模块,供输入采集模块对监测到的输入数据进行规范化处理(即编码操作)。

其中,编解码协议用于对不同的输入设备的输入数据进行抽象,分类别进行输入数据的转换,不同类别的输入设备采用不同的数据结构。相应的,云服务器需要根据数据结构中的类别id来识别对应的输入数据,例如键盘数据中,协议关键数据中头部会携带键盘类型的类别id,在数据内容中,填充了键盘键值的编码值,以及键盘键的按下和抬起动作所代表的值。

在本实施例中,对应用户终端的服务实例的输入转换模块在接收到输入采集模块通过输入通道传输的输入数据时,按照前述编解码协议对规范化后的输入数据进行转换(即解码操作),获得用户终端接收到原始输入设备的输入数据,传输至人机界面统一服务模块20。

参照图5,图5为人机界面统一服务模块20具体的实现实例图。如图5所示,它包括与云服务器主控模块10的交互子模块,以及生成输入事件等的事件管理子模块,应用程序的窗口管理子模块,界面绘图子模块,以及与视频化处理模块的交互子模块,与输入转换模块的交互子模块。其中,与云服务器主控模块10的交互子模块,用于获得云服务器主控模块10发送过来的对应用户终端的服务实例的实例id以及用户终端的能力信息,人机界面统一服务模块20根据这些参数信息生成相对应的服务实例,该服务实例通过与输入转换模块的交互子模块以及与视频化处理模块的交互子模块实现与对应用户终端的服务实例的对接。

具体的,人机界面统一服务模块20在接收到输入转换模块所传输的输入数据之后,通过事件管理子模块,按照事件生成的用户服务实例上下文以及对应的参数信息来确定将该事件通知给对应的应用程序对应的窗口。

相应的、应用程序根据其初始化窗口信息时设定的标志来选择是否监听对应的输入事件,以对输入事件进行相应的响应,产生界面刷新数据,然后向人机界面统一服务模块20请求界面服务。

人机界面统一服务模块20在接收到应用程序的界面服务请求之后,通过绘图子模块对所述界面刷新数据进行绘制,然后将界面刷新数据的绘图数据传输至对应用户终端的服务实例的视频化处理模块进行视频转码,得到第二视频数据,并由视频化处理模块基于视频数据的通信模块,将第二视频数据通过视频通道传输至用户终端,进行展示,具体可参照前述关于第一视频数据的相关处理流程,此处不再赘述。

此外,为保证用户体验的连续性和真实性,在本实施例中,用户终端的输入设备本身应该呈现的图片信息在用户终端进行呈现,所述用户终端在播放第二视频数据时,将接收的输入数据对应的光标和/或鼠标指针叠加显示在播放的所述第二视频数据之上。例如,针对鼠标设备,会将鼠标移动的坐标以及单击事件等信息发送给云服务器,同时用户终端本地的鼠标指针还是跟随用户的操作实时移动。

进一步地,为便于理解本发明,可结合参照图8,图8为本实施例中服务器主控模块10的初始化流程示意图,其中,客户端即用户终端,服务端即云服务器,客户端上报的相关参数包括其能力信息,服务端主控即云服务器主控模块10,人机互动应用程序即本实施例所述的应用程序。

进一步地,为便于理解本发明,可结合参照图9,图9为本实施例中输入设备与云服务器交互的工作流程示意图。其中,客户端即用户终端,服务端即云服务器,人机互动应用即本实施例所述的应用程序。

本实施例在前述实施例的基础上,进一步屏蔽了各应用程序间不同数据交互协议的差异,使得用户终端和云服务器实现了一对多的对接。同时,使得应用程序的敏感数据不需要在网络上进行传输,避免了被窃取的可能性,增加了用户终端和云服务器进行数据交互的安全性。

进一步地,基于第三实施例,提出本发明应用运行方法的第四实施例,在本实施例中,所述调用所述应用程序响应所述输入事件,产生界面刷新数据的步骤包括:

调用所述应用程序响应所述输入事件,产生界面刷新数据以及界面刷新区域信息;

在执行所述将所述第二视频数据发送至所述用户终端的同时,还执行以下步骤:

调用所述服务实例将所述刷新区域信息发送至所述用户终端,以供所述用户终端基于所述刷新区域信息播放所述第二视频数据。

需要说明的是,本实施例在前述实施例的基础上,为进一步降低用户终端的处理资源消耗,本实施例进一步增加了界面的区域刷新操作。以下仅针对该区别进行说明,其他可参照前述实施例,此处不再赘述。

本领域技术人员可以理解的是,在界面刷新时,并不需要完全对整个界面进行刷新,仅需要对变化部分进行刷新。相应的,在本实施例中,应用程序在响应人机界面统一服务模块20产生的输入事件时,在生成界面刷新数据的同时,还生成对应界面刷新数据的界面刷新区域信息。

人机界面统一服务模块20在绘制界面刷新数据之后,将界面刷新数据的绘图数据传输至对应用户终端的视频化处理模块的同时,将前述界面刷新区域信息传输至视频化处理模块。

视频化处理模块在将界面刷新数据的绘图数据转换为第二视频数据之后,将界面刷新区域信息跟随第二视频数据一起传输至用户终端,供用户终端根据界面刷新区域信息播放第二视频数据,实现对界面刷新区域信息指定的应用界面区域进行刷新。例如,参照图6,图6为人机界面统一服务模块20的一种工作流程示例图。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1