应用程序远程操控方法及系统的制作方法

文档序号:9754720阅读:645来源:国知局
应用程序远程操控方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种数据交换技术,尤其是指一种应用程序远程操控方法及系统。
【背景技术】
[0002]随着宽带与移动互联网的发展与普及,智能设备(如手机、平板等)成为了每个人必备的电子产品,在智能设备的应用市场(appstore)中,有着数以百万计的应用程序(app),不同的应用程序服务着我们日常的工作、生活、运动、娱乐等各个方面。
[0003]但随着应用程序的大量增加以及同一应用来自不同来源,因此海量的应用程序必定带来着软件质量的良莠不齐,而不同来源的应用程序又有着可靠性难以确保的突出问题,随之而来使用者陷入了 “欲知应用程序详情,必先下载安装”的窘境,反复下载应用软件不仅耗费流量且也会占据智能设备的存储空间,而不安全来源的应用软件甚至直接会导致使用者不可估量的经济损失,且应用软件中本身就存在诸多,甚至不乏各类恶意软件、病毒、木马,存在违规收集用户信息、恶意“吸费”的产品,因此对于使用者来说,使用到这些海量的应用程序时,如何做出正确的选择成为了一个新的问题,选择的难度与成本也越来越尚O
[0004]再者,随着智能设备硬件的快速更新换代,不同应用程序对使用者智能设备的性能(诸如计算性能、图形处理性能等)有着不同的要求,因此对于需要直接运行在智能设备端的应用程序而言,许多低端智能设备的使用者被无情的排除在外,对应用程序的推广而S也是一种损失。

【发明内容】

[0005]本发明所要解决的技术问题是:提供了一种应用程序本身运行在服务端,且客户端可远程通过数据流交互操作的应用程序远程操控方法及系统。
[0006]为了解决上述技术问题,本发明采用的技术方案为:一种应用程序远程操控方法,包括步骤,
[0007]SI)用户通过客户端远程登录服务端与其握手建立通讯;
[0008]S2)用户远程请求开启应用程序;
[0009]S3)判断是否有空闲的安卓计算单元,是则继续步骤;
[0010]S4)分配空闲的安卓计算单元给当前用户;
[0011 ] S5)安卓计算单元加载与对应远程登录用户的用户数据;
[0012]S6)启动对应用户远程请求的应用程序;
[0013]S7)将应用程序运行过程中的画面、音频内容编码为音视频流;
[0014]S8)将音视频流传输至远程用户的客户端;
[0015]S9)客户端展现接收到的音视频流;
[0016]S10)接收远程用户的操作指令;
[0017]Sll)判断操作指令是否为退出应用程序,否则转到步骤S12;
[0018]S12)响应用户操作指令,投影用户操作于应用程序上,并返回步骤S7。
[0019]上述中,所述的步骤S6前还包括,判断用户远程请求开启应用程序是否于安卓计算单元上运行的安卓系统中安装,否则获取应用程序并安装后转到步骤S6的步骤。
[0020]上述中,所述步骤S8中,基于UDP协议并加入ACK机制、流量控制及拥塞控制对音视频流进行传输至远程用户。
[0021 ]上述中,所述步骤SI具体包括步骤,
[0022]SlOl)客户端发送握手数据包至服务端;
[0023]S102)服务端收到客户端的握手数据包;
[0024]S103)服务端生成与用户端相对应的同步cookie及密钥;
[0025]S104)服务端向客户端返回握手反馈、同步cookie及密钥;
[0026]S105)客户端收到服务端的握手反馈、同步cookie及密钥;
[0027]S106)客户端将收到的同步cookie与握手数据包发送至服务端;
[0028]S107)服务端收到客户端的握手数据包、同步cookie;
[0029]S108)服务端比对收到同步cookie与下发的同步cookie,确认有效性,有效则执行步骤S109;
[0030]S109)服务端与客户端连接成功,建立通讯。
[0031 ]上述中,所述步骤S7具体包括步骤,
[0032]S701)将音视频流切分为不大于网络最大传输单元的数据包;
[0033]S702)对切分的数据包通过递增序号编号;
[0034]所述步骤S8具体包括步骤,
[0035]S801)设定初始拥塞窗口及最大拥塞窗口 ;
[0036]S802)根据当前传输速度将切分的数据包依次发往客户端;
[0037]S803)客户端根据接收数据包的序号连续性判断接收是否完整,是则转到步骤S804及S805;
[0038]S804)对接收的数据包根据序号进行数据重组;
[0039]S805)向服务端发送确认字符包而后转到步骤S806、S807;
[0040]S806)增加传输速度,返回步骤S802 ;
[0041 ]S807)判断是否到达最大拥塞窗口,否则转到步骤S808;
[0042]S808)增加拥塞窗口,返回步骤S802。
[0043]上述中,所述步骤S803,否则转到步骤S809;
[0044]S809)向服务端发送丢包字符包;
[0045]S810)判断积压数据包是否超过阈值,是则转到步骤S811;
[0046]S811)降低传输速度,返回步骤S802。
[0047]上述中,所述的步骤S7中对画面内容采用H.264编码;对音频内容采用AAC编码。
[0048]本发明还涉及一种应用程序远程操控系统,包括,
[0049]用户远程登录模块,用于用户通过客户端远程登录服务端与其握手建立通讯而后转到应用请求模块;
[0050]应用请求模块,用于用户远程请求开启应用程序而后转到空闲判断模块;
[0051]空闲判断模块,用于判断是否有空闲的安卓计算单元,是则转到分配模块;
[0052]分配模块,用于分配空闲的安卓计算单元给当前用户而后转到加载模块;
[0053]加载模块,用于安卓计算单元加载与对应远程登录用户的用户数据而后转到启动丰旲块;
[0054]启动模块,用于启动对应用户远程请求的应用程序而后转到编码模块;
[0055]编码模块,用于将应用程序运行过程中的画面、音频内容编码为音视频流而后转到传输模块;
[0056]传输模块,用于将音视频流传输至远程用户的客户端而后转到展现模块;
[0057]展现模块,用于客户端展现接收到的音视频流而后转到操作接收模块;
[0058]操作接收模块,用于接收远程用户的操作指令而后转到操作判断模块;
[0059]操作判断模块,用于判断操作指令是否为退出应用程序,否则转到响应操作模块;
[0060]响应操作模块,用于响应用户操作指令,投影用户操作于应用程序上,并返回编码模块。
[0061 ]上述中,所述编码模块具体包括,
[0062]切分单元,用于将音视频流切分为不大于网络最大传输单元的数据包而后转到编号单元;
[0063]编号单元,用于对切分的数据包通过递增序号编号而后转到传输模块;
[0064]所述传输模块具体包括,
[0065]初始化单元,用于设定初始拥塞窗口及最大拥塞窗口而后转到发送单元;
[0066]发送单元,用于根据当前传输速度将切分的数据包依次发往客户端而后转到完整性判断单元;
[0067]完整性判断单元,用于客户端根据接收数据包的序号连续性判断接收是否完整,是则转到重组单元及确认字符发送单元;
[0068]重组单元,用于对接收的数据包根据序号进行数据重组;
[0069]确认字符发送单元,用于向服务端发送确认字符包而后转到加速单元及判断单元;
[0070]加速单元,用于增加传输速度,返回发送单元;
[0071]判断单元,用于判断是否到达最大拥塞窗口,否则转到增加单元;
[0072]增加单元,用于增加拥塞窗口,返回发送单元。
[0073]上述中,所述完整性判断单元在连续性判断接收是否完整为否则转到丢包字符发送单元;
[0074]丢包字符发送单元,用于向服务端发送丢包字符包而后转到积压判断单元;
[0075]积压判断单元,用于判断积压数据包是否超过阈值,是则转到减速单元;
[0076]减速单元,用于降低传输速度,返回发送单元。
[0077]本发明的有益效果在于:通过在服务端设置虚拟的安卓计算环境,根据用户远程操作指令启动相应应用程序后,以串流的方式将远程安卓计算环境上运行应用程序的声音、图像传输给用户,并实时将用户对应用程序的操作反馈,从而达到应用程序投影用户端运行的目的。应用程序无需本地下载与安装,即点即用,结合不同的应用环境可实现包括:避免用户客户端下载应用耗费大量流量;客户端无需下载直接试用应用程序;避免恶意应用程序危害用户客户端;避免客户端单机硬件配置带来的应用程序体验差异;更换设备使用应用程序无需同步应用程序存储数据的有益效果。
【附图说明】
[0078]下面结合附图详述本发明的具体结构
[0079]图1为本发明方法的流程图;
[0080]图2为本发明方法的步骤S7、S8具体流程图;
[0081 ]图3为本发明系统的具体实施示例图。
【具体实施方式】
[0082]为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0083]鉴于本发明需求,远程运行应用程序对应的音视频数据流需要以尽可能低的延迟的传输至用户客户端,方可满足体验需求。结合大量测试发现,音视频流的传输延迟需要控制在300毫秒以内
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1