本发明涉及移动云计算领域,具体涉及一种移动云桌面同屏互动的方法及装置。
背景技术:
近十年来,随着互联网、物联网、移动智能终端设备的快速发展,推动着云计算的落地和商业化,云计算的发展推动着计算和存储向云端迁移,催生了许多新的应用场景,以移动云手机为例,当在云侧服务器上基于容器运行android系统,用户可以通过任何终端访问云端服务器上运行的android系统和已经安装在android系统中的app,此时用户就可以像在本地使用android手机一样,操作运行在云侧服务器上的android系统,它的特点是高效管理、灵活接入、资源可弹性分配、数据安全。但是一般情况下,服务器端一个容器只能同时运行一个android系统,这个android系统的桌面只会通过桌面传输协议投射给一个客户端。而在不少现实应用场景中,需要能够同时投射给不同用户的客户端,并且允许不同用户能够同时对同一个桌面进行操作,相互不会发生冲突,且操作所有用户可见。
为了解决前述问题,公开号为cn109634546a,公开日为2019年4月16日的中国专利公开了一种基于容器的多屏支付装置,该装置基于容器技术,通过一个主控芯片同时支持多系统多屏操作,同时采用容器数据交换桥接器,支持多系统屏幕之间的数据交换,采用屏幕切换器支持多系统屏幕之间的切换。采用该发明的支付装置,可以一个主控芯片支持多个系统运行同时多个屏幕显示,多系统以及显示屏幕之间可以进行无缝的焦点切换,内容转换以及数据交换,大大增强了支付设备的便利性,增强人机交互体验,方便支付设备的使用者与客户交流。公开号为cn106648670a,公开日为2017年5月10日的中国专利公开了一种云教室同屏共控系统和方法,该发明中云桌面显示设备用于接收第一接入指令后生成远程会话id,并根据第一接入指令发送第一云桌面接入指令和远程会话id;虚拟机服务器用于接收第一云桌面接入指令和远程会话id,并根据第一云桌面接入指令发送云桌面,接收第二云桌面接入指令后,发送远程会话id至辅助桌面显示设备,以及接收辅助桌面接入指令后,通过通信通道发送辅助桌面;辅助桌面显示设备用于接收第二接入指令,并根据第二接入指令发送第二云桌面接入指令,根据接收的远程会话id与虚拟机服务器建立通信通道,并发送辅助桌面接入指令至虚拟机服务器。通过启动远程协助服务来实现云教室同屏共控,不增加额外的内存占用,有效提高了工作稳定性。
公开号为cn109634546a的专利在容器的下层实现了容器数据交换桥接器和屏幕切换器,通过容器数据交换桥接器让不同容器之间共享数据,实际上仍然是投射到不同用户客户端的android桌面来自不同容器内的android系统,通过容器之间的数据共享让不同容器投射出去的云桌面一致,从而实现让用户感觉同屏的效果,这种方法当n个用户需要同屏时需要运行n个容器,每个容器中运行一个android系统,资源消耗比较大;公开号为cn106648670a的专利通过辅助桌面显示设备在接收到接入指令后,生成远程会话id,并根据接入指令发送云桌面接入指令和远程会话id;虚拟机服务器用于接收云桌面接入指令和远程会话id,并根据云桌面接入指令发送云桌面,在该专利中只阐述了两方设备接入的情况,未指出系统/方法是否具备可扩展性,同时每个设备接入时都会建立一个从云端服务器到端侧客户端之间的通信通道,同样也要消耗cpu和存储资源。
技术实现要素:
本发明的目的在于提供一种移动云桌面同屏互动的方法及装置。
实现本发明目的的技术方案为:一种移动云桌面同屏互动的方法,服务器端监控活跃客户端列表中记录的客户端,如有新客户端接入,将新接入客户端的id、端口和ip地址写入活跃客户端列表中,该方法具体步骤如下:
步骤1、判断是否有新指令到来,如有,跳转步骤2,如没有,跳转步骤3;
步骤2、压入指令队列,等待执行;
步骤3、指令队列中是否有指令等待执行,如有,跳转步骤4,如没有,跳转步骤1;
步骤4、从队列头部取出一条指令执行,获取图像信息;
步骤5、图像信息经过编码,得到视频帧;
步骤6、刷新活跃客户端列表;
步骤7、依次读取客户端列表中的接入客户端信息,将视频帧投射给活跃的客户端显示。
进一步的,服务器端通过tcp心跳机制保活监控活跃客户端列表中记录的客户端。
进一步的,所述活跃的客户端是指记录在活跃客户端列表中的客户端,保活监控下仍然处于活跃状态。
进一步的,依次读取客户端列表中的接入客户端信息,通过udp协议将视频帧投射给活跃的客户端显示。
本发明还提供一种移动云桌面同屏互动的装置,包括linux系统内核、dockdroid,容器、活跃客户端列表、指令队列;
linux系统内核用于加载dockdroid和容器;
dockdroid是运行于linux操作系统上的android虚拟化系统;
容器用于加载安卓操作系统;
活跃客户端列表用来记录客户端id、端口和客户端ip,通过tcp心跳机制保活监控,只有连接中的端信息才会被记录在这张表中;
指令队列用于记录来自客户端的用户操作指令,遵循先进先出原则,先进队列先被执行。
进一步的,所述通过tcp心跳机制保活监控,具体为:
若有新指令到来,压入指令队列,等待执行;
从队列头部取出一条指令执行,获取图像信息;
图像信息经过编码,得到视频帧;
刷新活跃客户端列表;
依次读取客户端列表中的接入客户端信息,将视频帧投射给活跃的客户端显示。
进一步的,所述活跃的客户端是指记录在活跃客户端列表中的客户端,保活监控下仍然处于活跃状态。
进一步的,通过udp协议将视频帧投射给活跃的客户端显示。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述移动云桌面同屏互动的方法。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述移动云桌面同屏互动的方法。
与现有技术相比,本发明的有益效果为:在服务器端设置活跃客户端列表和指令队列,当有客户端接入时,在活跃客户端列表中记录客户端id、端口和客户端ip,通过tcp心跳机制保活监控。根据客户端列表中记录的接入客户端信息,通过udp协议将视频帧投射给活跃的客户端;当服务器接收到来自不同客户端的操作指令时,根据指令到达的时间先后顺序,依次压入队列,按照队列先进先出的原理执行指令。相比现有的解决方案,客户端可扩展,对于接入设备的数量没有限制;视频帧只在投射时进行拷贝,无需开辟共享数据空间,不会占用太多的存储;操作指令按序依次执行,相互之间不会产生冲突,不会增加额外的计算压力。
附图说明
图1是移动云桌面同屏互动的方法流程图。
图2是移动云桌面同屏互动的系统示意图。
图3是本发明实施例中在线保单签订示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明提供一种移动云桌面同屏互动的方法及装置,实现不同用户之间云桌面的同屏互动,投射云桌面时通过分发视频帧“拷贝”实现同屏(在代码中,视频帧保存在全局变量中),云端接收到来自客户端的操作指令时,不区分来源,处理后返回给客户端,对于云端来说,一个容器还是运行一个android系统,操作指令来自于一个客户端;对于端侧来说,视频帧的拷贝让所有接入的设备接收到的是同一个容器中android系统桌面的投射。
下面结合附图对本发明的实施步骤进行详细说明。
如图1所示,一种移动云桌面同屏互动的方法,服务器端通过tcp心跳机制保活监控活跃客户端列表中记录的客户端,如有新客户端接入,将新接入客户端的id、端口和ip地址写入活跃客户端列表中,该方法具体包括如下步骤:
步骤1:是否有新指令到来,如有,跳转步骤2,如没有,跳转步骤3;
步骤2:压入指令队列,等待执行;
步骤3:指令队列中是否有指令等待执行,如有,跳转步骤4,如没有,跳转步骤1;
步骤4:从队列头部取出一条指令执行,获取图像信息;
步骤5:图像信息经过编码,得到视频帧;
步骤6:刷新活跃客户端列表;
步骤7:依次读取客户端列表中的接入客户端信息,通过udp协议将视频帧投射给活跃的客户端显示。
活跃的客户端是指记录在活跃客户端列表中的客户端,保活监控下仍然处于活跃状态。
如图2所示,本发明的一种移动云桌面同屏互动的系统,包括linux系统内核、dockdroid、容器、活跃客户端列表、指令队列;
linux系统内核用于加载dockdroid和容器;
dockdroid是运行于linux操作系统上的android虚拟化系统,google提供,开源,在github上可下载;
容器用于加载安卓操作系统;
活跃客户端列表用来记录客户端id、端口和客户端ip,通过tcp心跳机制保活监控,只有连接中的端信息才会被记录在这张表中;
指令队列:记录来自客户端的用户操作指令,遵循先进先出原则,先进队列先被执行。
需要指出的是,上述装置中各模块的实现方法具体详见上述移动云桌面同屏互动的方法部分,本发明不再做累述。
本发明还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述移动云桌面同屏互动的方法。
进一步的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述移动云桌面同屏互动的方法。
近年来,随着云计算的快速发展,云桌面因其“管理集中、访问灵活、数据安全、绿色节能”等特点,在诸如教育、金融等诸多领域得到了广泛的应用。
以云教学为例,老师和学生共享同一个云桌面,并都能对桌面进行操作。课件资源保存在云端,老师、学生所在的端侧可以通过任何客户端登录云端教室,共享课件资源,当老师翻动课件时,学生能看到课件被翻动,当学生在屏幕上写下对老师提问的回答时,老师能看到学生的作答,老师与学生的互动就如同面对面一样。
两个活跃客户端,服务器端的内容投射到客户端,客户端看到的内容是一致的,教室可以在ppt上操作,学生也可以操作ppt,这些操作指令不区分来源,按先后顺序压入栈,依次执行,多个客户端可以看的投射一致。
又例如金融领域,如图3所示,在线保单签订,保单销售员在线给客户讲解保单内容,双方看到的应该是同一份保单,双方无异议后,在保单上签字,云端加密,防止数据篡改问题,保证数据的完整性和一致性。
在本申请所提供的实施例中,应该理解到,所揭露的方法、装置、设备,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种移动云桌面同屏互动的方法,其特征在于,服务器端监控活跃客户端列表中记录的客户端,如有新客户端接入,将新接入客户端的id、端口和ip地址写入活跃客户端列表中,该方法具体步骤如下:
步骤1、判断是否有新指令到来,如有,跳转步骤2,如没有,跳转步骤3;
步骤2、压入指令队列,等待执行;
步骤3、指令队列中是否有指令等待执行,如有,跳转步骤4,如没有,跳转步骤1;
步骤4、从队列头部取出一条指令执行,获取图像信息;
步骤5、图像信息经过编码,得到视频帧;
步骤6、刷新活跃客户端列表;
步骤7、依次读取客户端列表中的接入客户端信息,将视频帧投射给活跃的客户端显示。
2.根据权利要求1所述的移动云桌面同屏互动的方法,其特征在于,服务器端通过tcp心跳机制保活监控活跃客户端列表中记录的客户端。
3.根据权利要求1所述的移动云桌面同屏互动的方法,其特征在于,所述活跃的客户端是指记录在活跃客户端列表中的客户端,保活监控下仍然处于活跃状态。
4.根据权利要求1所述的移动云桌面同屏互动的方法,其特征在于,依次读取客户端列表中的接入客户端信息,通过udp协议将视频帧投射给活跃的客户端显示。
5.一种移动云桌面同屏互动的装置,其特征在于,包括linux系统内核、dockdroid、容器、活跃客户端列表、指令队列;
linux系统内核用于加载dockdroid和容器;
dockdroid为运行于linux操作系统上的android虚拟化系统;
容器用于加载安卓操作系统;
活跃客户端列表用于记录客户端id、端口和客户端ip,通过tcp心跳机制保活监控,只有连接中的端信息才会被记录在这张表中;
指令队列用于记录来自客户端的用户操作指令,遵循先进先出原则,先进队列先被执行。
6.根据权利要求5所述的移动云桌面同屏互动的装置,其特征在于,所述通过tcp心跳机制保活监控,具体为:
若有新指令到来,压入指令队列,等待执行;
从队列头部取出一条指令执行,获取图像信息;
图像信息经过编码,得到视频帧;
刷新活跃客户端列表;
依次读取客户端列表中的接入客户端信息,将视频帧投射给活跃的客户端显示。
7.根据权利要求5所述的移动云桌面同屏互动的装置,其特征在于,所述活跃的客户端是指记录在活跃客户端列表中的客户端,保活监控下仍然处于活跃状态。
8.根据权利要求5所述的移动云桌面同屏互动的装置,其特征在于,通过udp协议将视频帧投射给活跃的客户端显示。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述移动云桌面同屏互动的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述移动云桌面同屏互动的方法。
技术总结