发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单紧凑、成本低廉、操作简便、原理简单、处理能力强、延迟小、并发接入能力强、传输过程中对网络带宽要求低的支持多嵌入式设备计算迁移的系统及方法。
为解决上述技术问题,本发明采用以下技术方案:
一种支持多嵌入式设备计算迁移的系统,其特征在于包括:
计算机,内置与嵌入式设备对应的虚拟机,用来接收嵌入式设备提出的交互式服务请求、开启虚拟机以及建立计算机到嵌入式设备的数据传输路径;所述虚拟机用来执行嵌入式设备用户的操作指令,并将执行结果发送给编码机;所述执行结果为屏幕信息,所述屏幕信息包括执行用户操作指令时计算机屏幕所对应的视频图像和音频数据;
编码机,与计算机相连,用以接收来自计算机的视频图像和音频数据并进行并行压缩编码,然后发送给嵌入式设备;
嵌入式设备,用以接收编码机发送的数据以及与所述计算机进行交互式服务指令的传送。
作为本发明的进一步改进:
所述编码机为编码卡,所述编码卡包括用以从计算机处获取视频图像和音频数据的音视频接收单元、用以自音视频接收单元中获取视频图像和音频数据并将其转换成符合编码单元处理格式的高清多媒体接口单元、连接高清多媒体接口单元且用以对视频图像和音频数据进行并行压缩编码的编码单元、将编码单元压缩编码后的视频图像和音频数据进行发送的通讯单元以及对编码单元和通讯单元进行控制和协调的控制单元。
所述编码卡上设置有用来与计算机连接的USB接口。
所述编码卡上设置有用来与计算机连接的串口。
所述编码卡与一个嵌入式设备相对应,或者所述编码卡与两个以上的嵌入式设备相对应。
所述虚拟机的数量与嵌入式设备的数量一致。
所述编码机和嵌入式设备之间的通信方式为有线方式、或为无线方式。
本发明进一步提供一种支持多嵌入式设备计算迁移的方法,其步骤为:
嵌入式设备请求服务:任意一嵌入式设备向计算机发出交互式服务请求;
计算机提供交互式服务:初始化且启动服务程序,对连接的编码机驱动进行加载;接收用户端嵌入式设备的服务请求指令,即时对编码机资源是否足够进行判断;响应该服务请求指令,对应所述嵌入式设备开启一个虚拟机以及针对该嵌入式设备分配编码机资源,开启服务线程,进一步建立从虚拟机经编码机至嵌入式设备的数据传输路径,开始数据传送;
编码机对计算机传送来的视频图像和音频数据进行并行压缩编码,分发给嵌入式设备;
嵌入式设备接收服务:嵌入式设备接收经编码机并行压缩编码后的数据,获取其请求服务的视频图像和声音。
与现有技术相比,本发明的优点在于:
1、本发明利用家庭广泛普及的宽带网络和成熟的多媒体编解码技术,将嵌入式设备的计算和应用迁移至计算能力相对强大的家用电脑上,使得嵌入式终端轻量化,既无需移植即可使用计算机上开发的应用,又能缓解应用不断发展对硬件升级的要求,扩大了应用和信息服务的范围,通过计算机支持嵌入式设备满足用户日益增长的信息服务需求;
2、本发明采用虚拟化技术,为大量嵌入式设备提供计算机接入支持,提升了并发嵌入式设备的接入量,充分利用了计算机资源,减少了家用计算机的计算冗余;
3、本发明通过计算迁移,嵌入式终端仅需完成解码和输入输出处理,实现了嵌入式终端的轻量化,从而能够直接使用基于pc开发的任意应用,可扩展性好,同时无需对终端硬件更新升级,节约成本;
4、本发明嵌入式设备的计算和数据都发生在具有高计算存储能力的计算机中,网络传输的只是运行屏幕,机密数据和信息并不需要通过网络传递,没有被截获的危险,安全性高,且由于文件并不在嵌入式设备上存储,计算和存储只在计算机中运行,有利于文件保护;
5、本发明对数据进行高压缩比的并行压缩编码,网络传输时占用带宽少。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明支持多嵌入式设备计算迁移的系统包括计算机1、虚拟机11、编码机2以及嵌入式设备3。
其中,计算机1主要用以加载编码机2的驱动程序,接收嵌入式设备3提出的交互式服务请求,开启与嵌入式设备3对应的虚拟机11以及建立计算机1到嵌入式设备3的数据传输路径,且在该计算机1中包含一服务程序。虚拟机11为计算机1根据嵌入式设备3请求进行启动,且用以执行用户的操作指令,并将执行结果即屏幕信息发送给编码机2,该屏幕信息为包括执行用户操作指令时计算机屏幕所对应的视频图像和音频数据。
编码机2与计算机1相连,用以接收视频图像和音频数据并进行并行压缩编码,并发送给嵌入式设备3,其中编码机2和嵌入式设备3的通信方式可以采用有线或者无线的方式。
嵌入式设备3用以接收编码机2发送的数据以及与计算机1进行交互式服务指令传送。
在该系统中,虚拟机11与嵌入式设备3为一一对应,即一个虚拟机11对应一个嵌入式设备3,具体应用时,虚拟机11和嵌入式设备3可为多个。
嵌入式设备3为具有解压缩、解码以及具有无线或有线通讯方式的设备,即该嵌入式设备3与编码机2以及计算机1的通讯方式可以采用有线或者无线的方式。
这样在一台物理计算机1上安装多个虚拟机11,能够实现多用户共享一台物理计算机1。该模式下,物理计算机1为每个用户分配一个虚拟机11,用户通过使用虚拟机11将所有应用程序的计算和存储都在目标机上进行,执行结果(即虚拟机11的桌面屏幕信息和应用程序声音)则通过网络回传用户终端。在家庭中,可将计算机1作为目标机,家庭中各成员均可通过具有IO功能、解码播放功能和网络接入功能的终端,共享的目标机资源,提高计算机1的资源使用率。
此外,再参见图2中所示,编码机2由机壳(图中未示)以及内置于机壳的编码卡21组成。其中,编码卡21包括用以从计算机1处获取视频图像和音频数据的音视频接收单元212;用以自音视频接收单元212中获取视频图像和音频数据并将其转换成符合编码单元210处理格式的高清多媒体接口单元211;连接高清多媒体接口单元211,且用以对视频图像和音频数据进行并行压缩编码的编码单元210;将编码单元210压缩编码后的视频图像和音频数据进行发送的通讯单元214以及对编码单元210和通讯单元214进行控制和协调的控制单元213。
其中,应用时,编码单元210可采用提供高数据压缩比的H.264压缩算法,该算法可在同等图像质量的条件下,数据压缩比比目前对视频图像和音频数据普遍使用MPEG-2算法高2-3倍,比MPEG-4算法高1.5-2倍。
高清多媒体接口单元211可将1080P 到720P之间分辨率的图形的YUV422数据和PCM音频数据编码为H.264符合ISO13818的TS流格式。
在编码卡21上设置有USB接口(图中未示),实际使用时,编码机2可在其上连接一USB数据线去实现其与计算机1的连接。
另外,编码机2也可以通过在编码卡21上设置串口,且通过串口连接线连接于计算机1,实现与计算机1的数据传输。
一张编码卡21可对应多个嵌入式设备3,也可以对应单个嵌入式设备3。
参见图3中所示,实际操作时,可根据家庭用户端的实际嵌入式设备3的数目以及编码卡21的编码能力,在编码机2内设置一张或多张编码卡21,多张编码卡21置设于一编码机2内,该模式下可进一步扩展家庭中嵌入式设备3的并入量。
另外,编码卡21的编码能力,以目前编码卡21最大能力,即同时编码解码一路1280p60的视频图像数据来讲,如果编码卡21不需要解码能力,且用户对视频图像清晰度要求不高,即在将屏幕分辨率调整为720p30的话,则该编码卡21可以同时对4路视频图像数据进行编码,相对应地,整个系统可以接入4个嵌入式设备3以及在计算机1中开启对应四个嵌入式设备3的四个虚拟机11。
如图4所示,本发明支持多嵌入式设备计算迁移的方法,其步骤为:
1)嵌入式设备3请求服务:任意一嵌入式设备3向计算机1发出交互式服务请求(步骤302)。
2)计算机1提供交互式服务:
首先,初始化且启动服务程序,并对连接的编码机2驱动进行加载(步骤300和步骤 301);
其次,接收用户端嵌入式设备3的服务请求指令,即时对编码机2资源是否足够进行判断(步骤303);
其中,当计算机1接收到一嵌入式设备3的服务请求后,即会根据当前编码机2的使用情况且结合编码机2的实际编码能力去判断目前是否有剩余的编码机2资源可以提供:即,
如果编码机2资源不够,则拒绝嵌入式设备3的服务请求,并回传给嵌入式设备3一个请求失败的错误信息(步骤304);进一步再去判断嵌入式设备3是否选择退出,如果退出,则结束嵌入式设备3与计算机1的通信;如果用户端选择不退出,则计算机1会根据此次服务请求,再次去对编码机2资源是否充足进行判断(步骤305、步骤302和步骤303)。
如果编码机2资源足够,则响应该请求指令,对应该嵌入式设备3开启一个虚拟机11以及针对该嵌入式设备3分配编码机2资源,开启服务线程,进一步建立虚拟机11→编码机2→嵌入式设备3的数据传输路径,开始数据传送(步骤306、步骤307、步骤308和步骤310)。
在上述数据传送过程中,虚拟机11执行嵌入式设备3发送的服务请求指令,将执行结果即屏幕信息所对应的视频图像和音频数据传输给编码机2,进一步编码机2对视频图像和音频数据进行并行压缩编码,分发给嵌入式设备3。
3)嵌入式设备3接收服务:接收经编码机2并行压缩编码后的数据,获取其请求服务的视频图像和声音。
此外,在上述过程中,嵌入式设备3与计算机1保持实时交互,一旦嵌入式设备3发出终止服务的请求,计算机1便可及时对此请求进行响应,关闭虚拟机11,退出服务(步骤309、步骤311和步骤312)。
结合图1、图2、图4和图5中所示,以用户具有解压缩、解码以及无线通讯功能手机以及掌上电脑为例来对本发明的具体应用进行详述。
首先,使用前必须先将编码机2与计算机1进行相连,并且开启计算机1中的服务程序,其中,如果属首次在计算机1上使用,则计算机1在检测到该编码机2后对其进行驱动加载。
使用时,手机用户通过手机向计算机1发送一游戏服务请求指令,掌上电脑用户通过掌上电脑向计算机1亦发送一在线收看电视节目的服务请求指令。
计算机1接收到手机用户和掌上电脑用户的服务请求指令后,即根据编码机2的目前实际占用率,且结合编码机2的实际编码能力去判断是否又多余的资源可用,如果有,则响应该手机用户和掌上电脑用户服务请求指令,并分派编码机2资源给手机用户和掌上电脑用户,分别对手机用户和掌上电脑用户开启虚拟机A和虚拟机B,分别建立虚拟机A→编码机2→手机的数据传输路径,虚拟机B→编码机2→掌上电脑的数据传输路径。
其中,当手机用户和掌上电脑用户向计算机1发送请求服务的指令后,计算机1会对手机用户和掌上电脑的进行识别以及分别对应其建立一虚拟机对应一用户终端的一对一模式。
在此上述基础上:
对于手机用户,此时,虚拟机A执行其发送的游戏服务请求指令,实时地将执行结果即游戏屏幕信息传送给编码机2,编码机2进一步将接收的游戏屏幕信息所对应的视频图像和音频数据进行并行压缩编码,并发送到手机上进行解压缩和解码,实时予以播放显示,由于系统的实时性好,屏幕更新速度快,手机用户可以获得在计算机1一端玩游戏的体验。
对于掌上电脑用户,此时,虚拟机B执行其发送的在线收看电视节目的服务请求指令,连接网络且实时的将执行结果即执行在线收看电视节目指令时的屏幕信息所对应的视频图像和音频数据传送给编码机2,编码机2进一步将接收的屏幕信息进行并行压缩编码,并传送到掌上电脑用户处,掌上电脑进一步对其进行解压和解码操作,并在掌上电脑上予以播放和显示,由于系统的实时性好,屏幕更新速度,掌上电脑用户可以获得通过计算机1收看在线电视节目的体验。
由于虚拟化技术可对计算机硬件资源进行划分,即,能够支持多个操作系统的并发执行,因此在本发明中,当上述手机用户和掌上电脑用户同时接入时,计算机1会分别针对手机用户和掌上电脑用户开启各自专属的虚拟机11,即虚拟机A和虚拟机B。手机用户和掌上电脑用户分别通过其各自所属的虚拟机A和虚拟机B分别执行其相应的服务指令,且通过编码机2同时获得其相应服务所对应的屏幕信息。
此外,在传输屏幕信息所对应的视频图像和音频数据时,由于采用H.264压缩算法对其进行并行压缩和编码,数据压缩比高,传输时占用带宽非常少,且通过编码机2无线方式分发给手机用户1和掌上电脑用户2,故持有手机的用户以及持有掌上电脑的用户可以在家中任意地方获得在计算机操作的体验,且相互之间不影响。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。