CN115802098A - 一种云端应用的数据交互方法、客户端、渲染端及系统 - Google Patents

一种云端应用的数据交互方法、客户端、渲染端及系统 Download PDF

Info

Publication number
CN115802098A
CN115802098A CN202310085428.XA CN202310085428A CN115802098A CN 115802098 A CN115802098 A CN 115802098A CN 202310085428 A CN202310085428 A CN 202310085428A CN 115802098 A CN115802098 A CN 115802098A
Authority
CN
China
Prior art keywords
target
application
client
transmission channel
rendering end
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.)
Granted
Application number
CN202310085428.XA
Other languages
English (en)
Other versions
CN115802098B (zh
Inventor
王红梅
潘智超
陈江
刘岩
李建华
刘杰
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Easy Times Digital Technology Co ltd
Original Assignee
Beijing Easy Times Digital Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Easy Times Digital Technology Co ltd filed Critical Beijing Easy Times Digital Technology Co ltd
Priority to CN202310085428.XA priority Critical patent/CN115802098B/zh
Publication of CN115802098A publication Critical patent/CN115802098A/zh
Application granted granted Critical
Publication of CN115802098B publication Critical patent/CN115802098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种云端应用的数据交互方法、客户端、渲染端及系统,方法包括:获取应用服务器发送的应用清单;根据应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;通过网络信息检测服务器与目标渲染端交互,与目标渲染端建立第一传输通道和第二传输通道;通过第一传输通道接收目标渲染端发送的视频数据;获取用户根据视频数据通过客户端输入的交互指令;通过第二传输通道向目标渲染端发送交互指令,使目标渲染端根据交互指令调用目标应用反馈操作结果;本发明的方案有效避免了渲染节点冲突的问题,提升了传输效率和可靠性。

Description

一种云端应用的数据交互方法、客户端、渲染端及系统
技术领域
本发明涉及通信技术领域,特别是一种云端应用的数据交互方法、客户端、渲染端及系统。
背景技术
云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。提供资源的网络被称为“云”。边缘计算,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。
云端应用是以云计算为基础的应用调用方式,在云端应用的运行模式下,所有应用软件都在服务器端运行,并将渲染完毕后的应用软件的画面压缩后通过网络传送给用户。在客户端,用户的设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了;对应用硬件资源要求和运行环境安全性要求较高的场景中,通常采用服务器运行,用户通过远程桌面的方式进行操作和控制,但在运行特定应用程序且需要接入特定交互设备时,远程桌面不能满足其要求,且存在通信时延较高的问题。
发明内容
本发明要解决的技术问题是提供一种云端应用的数据交互方法、客户端、渲染端及系统,有效避免了渲染节点冲突的问题,提升了传输效率和可靠性。
为解决上述技术问题,本发明的技术方案如下:
一种云端应用的数据交互方法,应用于客户端,包括:
获取应用服务器发送的应用清单;
根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;
通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;
通过所述第一传输通道接收所述目标渲染端发送的视频数据;
获取用户根据所述视频数据通过所述客户端输入的交互指令;
通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果。
可选的,根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令,包括:
从所述应用清单选择所述目标应用;
产生所述目标应用的启动指令;
将所述目标应用的启动指令发送至调度服务器,由所述调度服务器向所述目标渲染端发送所述启动指令;所述启动指令中封装有所述目标应用的应用标识,所述目标渲染端是至少一个渲染端中空闲的渲染端。
可选的,通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道,包括:
从所述网络信息检测服务器获取所述客户端的第一网络地址;
将所述第一网络地址通过所述调度服务器发送至所述目标渲染端;
接收所述调度服务器发送的所述目标渲染端的第二网络地址;
根据所述第一网络地址和所述第二网络地址在所述客户端和所述目标渲染端之间建立第一传输通道和所述第二传输通道,所述第一传输通道和所述第二传输通道均为用户数据协议传输通道。
可选的,云端应用的数据交互方法,还包括:
若所述第一传输通道建立失败,通过网络转发服务器传输所述目标渲染端发送的视频数据;
若所述第二传输通道建立失败,通过所述网络转发服务器传输所述客户端发送的所述交互指令;
若所述第一传输通道和所述第二传输通道均建立失败,通过所述网络转发服务器传输所述目标渲染端发送的视频数据以及所述客户端发送的所述交互指令。
可选的,通过所述第一传输通道接收所述目标渲染端发送的视频数据,包括:
通过所述第一传输通道接收所述目标渲染端发送的编码后的视频数据,所述编码后的视频数据是所述目标渲染端根据所述目标应用的启动指令,获得的所述目标应用的渲染画面,将所述渲染画面和系统声音进行视频编码得到的。
可选的,通过所述第二传输通道向所述目标渲染端发送交互指令,包括:
将所述交互指令按照基于用户数据报文协议的可靠传输协议进行封装,得到封装好的预设编码格式的交互指令;
将所述预设编码格式的交互指令通过所述第二传输通道发送至所述目标渲染端。
本发明还提供一种云端应用的数据交互方法,应用于渲染端,包括:
通过调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
通过网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
通过所述第一传输通道向所述客户端发送视频数据;
通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
根据所述交互指令调用目标应用反馈操作结果。
本发明还提供一种客户端,包括:
第一收发模块,用于获取应用服务器发送的应用清单;根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;
第一处理模块,用于通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;
所述第一收发模块还用于通过所述第一传输通道接收所述目标渲染端发送的视频数据;
所述第一处理模块还用于获取用户根据所述视频数据通过所述客户端输入的交互指令;
所述第一收发模块还用于通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果。
本发明还提供一种渲染端,包括:
第二收发模块,用于通过调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
第二处理模块,用于通过网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
所述第二收发模块还用于通过所述第一传输通道向所述客户端发送视频数据;通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
所述第二处理模块还用于根据所述交互指令调用目标应用反馈操作结果。
本发明还提供一种云端应用的数据交互系统,包括:网络信息检测服务器、调度服务器以及至少一个渲染端;
所述至少一个渲染端中的目标渲染端通过所述调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
所述目标渲染端通过所述网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
所述目标渲染端通过所述第一传输通道向所述客户端发送视频数据;
所述目标渲染端通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
根据所述交互指令调用目标应用反馈操作结果。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过获取应用服务器发送的应用清单;根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;通过所述第一传输通道接收所述目标渲染端发送的视频数据;获取用户根据所述视频数据通过所述客户端输入的交互指令;通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果;有效避免了渲染节点冲突的问题,提升了传输效率和可靠性。
附图说明
图1是本发明实施例的应用于客户端的云端应用的数据交互方法的流程示意图;
图2是本发明提供的具体的实施例中云端应用的数据交互过程的示意图;
图3是本发明提供的具体的实施例中目标应用为体感应用时的数据交互方法的流程示意图;
图4是本发明提供的具体的实施例中应用于客户端的云端应用的数据交互方法的流程示意图;
图5是本发明提供的具体的实施例中应用于目标渲染端的云端应用的数据交互方法的流程示意图;
图6是本发明实施例的应用于渲染端的云端应用的数据交互方法的流程示意图;
图7是本发明实施例的客户端的结构示意图;
图8是本发明实施例的渲染端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提出一种云端应用的数据交互方法,应用于客户端,包括:
步骤11,获取应用服务器发送的应用清单;
步骤12,根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;
步骤13,通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;
步骤14,通过所述第一传输通道接收所述目标渲染端发送的视频数据;
步骤15,获取用户根据所述视频数据通过所述客户端输入的交互指令;
步骤16,通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果。
该实施例的数据交互方法优选应用于客户端与目标渲染端之间的远程交互场景,客户端获取应用服务器发送的应用清单,用户可以通过客户端指定应用清单中的目标应用,客户端会根据用户指定的目标应用通过调度服务器向目标渲染端发送目标应用的启动指令,目标渲染端可根据启动指令启动目标应用,同时通过网络信息检测服务器在客户端与目标渲染端之间建立第一传输通道和第二传输通道,目标渲染端将启动目标应用的应用运行画面编码为视频数据通过第一传输通道发送至客户端,客户端将视频数据解码并呈现给用户,根据视频数据,客户端可获得用户输入的交互指令,这里的交互指令是指用户要对目标应用执行的操作指令,客户端通过第二传输通道将交互指令发送给目标渲染端,目标渲染端根据交互指令调用目标应用反馈操作结果;其中,应用服务器的作用是提供应用管理功能,调度服务器的作用包括分配目标渲染端以及转发启动指令至目标渲染端;本发明的实施例有效避免了渲染节点冲突的问题,提升了传输效率和可靠性。
本发明一可选的实施例中,步骤12包括:
步骤121,从所述应用清单选择所述目标应用;
步骤122,产生所述目标应用的启动指令;
步骤123,将所述目标应用的启动指令发送至调度服务器,由所述调度服务器向所述目标渲染端发送所述启动指令;所述启动指令中封装有所述目标应用的应用标识,所述目标渲染端是至少一个渲染端中空闲的渲染端。
本发明的实施例中,应用服务器提供应用清单的查询HTTP(Hyper Text TransferProtocol,超文本传输协议)接口和应用同步接口,便于目标渲染端与客户端之间的应用同步;
客户端通过HTTP接口读取应用清单,并显示到客户端的应用列表,用户操作客户端,从应用清单中指定目标应用,客户端根据目标应用产生对应的启动指令,具体的,客户端识别目标应用的应用标识,将应用标识封装至启动指令中;将目标应用的启动指令发送至调度服务器,调度服务器可为该客户端分配目标渲染端,将该启动指令转发至目标渲染端;
需要说明的是,调度服务器对于目标渲染端的选择,优选基于对至少一个渲染端的负载情况进行监控,选择处于空闲状态或者负载低于一预设值的渲染端确定为目标渲染端;这里的监控可以是实时的,也可以是调度服务器接收到启动指令之后对当前的渲染端进行监控,本申请不以此为限制;
具体的,调度服务器接收到一客户端发送的目标应用的启动指令时,获取渲染端清单中每个渲染端的负载信息,对负载信息中的至少一项进行加权计算,得到该渲染端的负载评分,其中,负载评分低于一预设值即可确定该渲染端处于空闲状态;
负载评分越高,则表示该渲染端当前的负载最大,调度服务器可选择渲染端清单中当前负载评分最低的渲染端作为目标渲染端,将目标应用的启动指令发送至目标渲染端;其中,负载信息包括以下至少一项:该渲染端在上一预设时隙内的平均负载,当前时间,已运行时间,使用客户端的数目;
上述通过调度服务器进行客户端与目标渲染端的匹配连接,动态分配空闲状态的渲染端,有效避免渲染节点冲突的问题。
本发明一可选的实施例中,步骤13包括:
步骤131,从所述网络信息检测服务器获取所述客户端的第一网络地址;
步骤132,将所述第一网络地址通过所述调度服务器发送至所述目标渲染端;
步骤133,接收所述调度服务器发送的所述目标渲染端的第二网络地址;
步骤134,根据所述第一网络地址和所述第二网络地址在所述客户端和所述目标渲染端之间建立第一传输通道和所述第二传输通道,所述第一传输通道和所述第二传输通道均为用户数据协议传输通道。
本发明的实施例中,为了在客户端与目标渲染端之间建立第一传输通道和第二传输通道,客户端和目标渲染端通过调度服务器的协助各自建立相关的表项,使得双方发送的数据能够直接穿透对方的NAT(Network Address Translation,网络地址转换)网关,即建立第一传输通道和第二传输通道,可实现客户端与目标渲染端之间数据直接传输功能;
具体的,客户端从网络信息检测服务器获取对应的第一网络地址,向调度服务器发起通道建立指令和第一网络地址,调度服务器会将客户端的第一网络地址和目标渲染端的第二网络地址进行交换,即调度服务器将接收到的第一网络地址发送给目标渲染端,将接收到的第二网络地址反馈给客户端;
当客户端接收到第二网络地址后,客户端根据第二网络地址向目标渲染端的发送UDP(User Datagram Protocol,用户数据报协议)数据包,客户端会自动锁定第一个给出响应的第二网络地址的目标渲染端。同理,当目标渲染端收到由调度服务器发来的第一网络地址后,也会开始向第一网络地址的客户端发送UDP数据包,并且自动锁定第一个得到响应的第一网络地址的客户端,以建立第一传输通道和第二传输通道;
其中,第一传输通道和第二传输通道均为用户数据协议传输通道,可以有效地提高客户端与目标渲染端之间的数据传输效率,另外,第一传输通道和第二传输通道可以在数据传输的过程中配合数据重传机制,以提高传输的数据的可靠性。
本发明一可选的实施例中,步骤13还包括:
步骤135,若所述第一传输通道建立失败,通过网络转发服务器传输所述目标渲染端发送的视频数据;
步骤136,若所述第二传输通道建立失败,通过所述网络转发服务器传输所述客户端发送的所述交互指令;
步骤137,若所述第一传输通道和所述第二传输通道均建立失败,通过所述网络转发服务器传输所述目标渲染端发送的视频数据以及所述客户端发送的所述交互指令。
本发明的实施例中,第一传输通道用于从目标渲染端将视频数据传输至客户端,第二传输通道用于从客户端将交互指令传输至目标渲染端,当第一传输通道和/或第二传输通道建立失败时,原先需要第一传输通道和/或第二传输通道进行传输的数据(视频数据和/或交互指令),通过网络转发服务器进行传输,在第一传输通道和/或第二传输通道建立失败时,仍然可以保证该数据交互方法所在的系统或装置的正常运行,提高网络通道建立的成功率。
本发明一可选的实施例中,步骤14包括:
步骤141,通过所述第一传输通道接收所述目标渲染端发送的编码后的视频数据,所述编码后的视频数据是所述目标渲染端根据所述目标应用的启动指令获得的所述目标应用的渲染画面,将所述渲染画面和系统声音进行视频编码得到的。
本发明的实施例中,目标渲染端根据接收到的启动指令,其中,该启动指令中封装有目标应用的应用标识,目标渲染端根据该应用标识,通过应用服务器提供的应用同步接口查找应用清单中的应用信息,其中,这里的应用信息包括目标应用的存储路径;
目标渲染端根据目标应用的存储路径和启动指令,启动该目标应用,当目标应用启动后,识别该目标应用的渲染画面和系统声音,对渲染画面和系统声音进行视频编码,得到编码后的视频数据;该编码后的视频数据可通过第一传输通道由目标渲染端发送给客户端,这里的编码后的视频数据包括编码后的渲染画面码流与编码后的声音数据流;视频数据的编码方式为第一预设编码格式;
其中,目标渲染端对视频画面进行编码是为了将视频像素数据压缩成为视频码流,从而降低视频的数据量,以降低码率,便于视频数据的传输与存储;本申请中,目标渲染端对渲染画面的编码过程为:
a1)对渲染画面进行分块,得到多个图像块;
a2)将渲染画面进行运动估计与补偿处理,确定差值图像;
a3)对差值图像依次进行DCT(Discrete Cosine Transform,离散余弦变换)变换和量化处理,得到量化结果;
a4)对该量化结果进行扫描,即将二维的量化系数转换为一维序列,并对该一维序列进行编码,得到编码后的渲染画面码流。
其中,对渲染画面进行运动估计与补偿处理,得到差值图像,包括:
a21)将渲染画面分割成若干彼此不相重叠的小图像子块,在前一图像或者后一个图像的预设搜索窗口的范围内,为每个图像块寻找与之最为相似的一个图像块;
a22)通过计算最相似的图像块与该图像块之间的位置信息,可以得到关于该图像块的运动矢量,将当前图像块与预设参考块运动矢量所指向的最相似的图像块相减,得到残差图像块;
a23)根据多个残差图像块,得到差值图像。
本申请中,目标渲染端对系统声音的编码过程为:
b1)将系统声音的信号通过子带滤波器映射至频域;
b2)根据预设掩蔽门限值,确定分配给该系统声音的信号的比特数;
b3)按照该比特数,对系统声音的信号依次进行量化和编码,得到编码后的声音数据流。
本发明一可选的实施例中,步骤16包括:
步骤161,将所述交互指令按照基于用户数据报文协议的可靠传输协议进行封装,得到封装好的预设编码格式的交互指令;
步骤162,将所述预设编码格式的交互指令通过所述第二传输通道发送至所述目标渲染端。
本发明的实施例中,客户端对接收到的视频数据按照第一预设解码格式进行解码,该第一预设解码格式与上述的第一预设编码格式是对应的编码与解码格式;将解码后的渲染画面和系统声音呈现给用户,客户端按照一定频率实时采样用户的交互指令,对用户输入的交互指令按照基于用户数据报文协议的可靠传输协议进行封装,得到封装好的第二预设编码格式的交互指令;
其中,用户数据报文协议的可靠传输协议优选为KCP封装协议,这里对按照KCP封装协议进行封装进行说明:KCP封装协议是一种快速可靠协议,其平均延迟较低,可通过算法实现,并不负责底层协议的收发,使用者自行定义下层数据的发送方式,以callback(回调)的方式提供给KCP封装协议;KCP封装协议充分考虑了要传输的数据的流速(即单个数据从一端发送到一端所需要的时间),以浪费少量带宽的代价换取更快的传输速度,实现了在保证可靠性的情况下,提高数据的传输速率。
将封装好的第二预设编码格式的交互指令,从客户端通过第二传输通道发送至目标渲染端,该第二传输通道用于交互指令的传输,也可以用于其他辅助指令的传输,本申请不以此为限制;
进一步的,当目标渲染端接收到通过第二传输通道发送的交互指令;根据交互指令调用目标应用反馈操作结果,具体的,目标渲染端按照第二预设解码格式对交互指令进行解码,得到解码后的交互指令,该第二预设解码格式与上述的第二预设编码格式是对应的编码与解码格式;通过模拟器将交互指令传输至目标应用;目标应用识别交互指令,按照该交互指令操作,并将该交互指令的反馈操作结果反馈给目标渲染端。
如图2和3所示,一个具体的实施例中,用户通过客户端对目标应用进行交互,其中,该目标应用为一款基于体感的应用软件,客户端通过传感器采集用户的体感信息,体感信息可作为交互指令,对该应用软件进行操作;具体的:
步骤31,用户通过客户端从应用服务器提供的应用清单中选定目标应用,通过调度服务器将目标应用的启动指令传输至渲染节点,其中,应用服务器为客户端提供查询HTTP接口,为渲染节点提供应用同步接口,客户端可通过查询HTTP接口查询并显示应用清单,渲染节点可通过应用同步接口下载和/或更新应用,用户通过客户端选定目标应用,通过调度服务器将目标应用的启动应用指令以及应用编号发送至渲染节点;
步骤32,渲染节点和客户端通过调度服务器建立第一UDP传输通道和第二UDP传输通道,具体过程为:客户端和渲染节点分别通过网络信息服务器查询对应的NAT设备网络信息(第一网络地址和/或第二网络地址),通过调度服务器交换NAT设备网络信息和通道建立指令,进行UDP通道的建立;其中,若第一UDP传输通道和/或第二UDP传输通道建立失败,通过网络转发服务器建立通信通道;第一UDP传输通道用于视频数据传输,第二UDP传输通道采用KCP封装协议,用于交互指令和其他辅助指令传输;
步骤33,渲染节点根据应用编号查找本机应用清单的应用信息,确定目标应用的应用存储路径,按照启动应用指令启动该目标应用,识别目标应用的渲染画面,对渲染画面和系统声音按照第一预设编码格式进行编码处理,得到编码后的视频数据,将编码后的视频数据通过第一UDP传输通道传输至客户端;
步骤34,客户端将接收到的视频数据按照第二预设解码格式进行解码,并呈现给用户,对用户的交互指令进行实时采样,并对采样得到的交互指令进行KCP封装协议进行封装,并按照第二预设编码格式进行编码,得到编码后的交互指令,通过第二UDP传输通道将交互指令从客户端传数至渲染节点;
步骤35,渲染节点对接收到的交互指令按照第二预设解码格式进行解码,读取并解析交互指令,通过模拟器将交互操作指令传输至目标应用,目标应用识别交互指令并做出反馈;
通过第一UDP传输通道和第二UDP传输通道传输视频数据和交互指令,大大提高了数据传输的可靠性,降低传输时延,该实施例的数据交互方法适用于对数据传输时延要求较高的目标应用,当目标应用为体感的应用软件时,可以让用户体验到体感应用软件的实时互动体验。
如图4所示,又一具体的实施例中,对客户端的交互过程进行说明:
步骤41,客户端读取应用列表信息;客户端通过查询HTTP接口读取应用清单,并显示到客户端的应用列表,确定目标应用;
步骤42,发送目标应用的启动应用指令;用户操作客户端选中需要启动的目标应用,客户端识别该目标应用的应用编号,将应用编号和启动应用指令发送到调度服务器,调度服务器确定空闲状态的目标渲染端,将应用编号和启动应用指令转发至目标渲染端;
步骤43,建立通信通道;调度服务器分别发送建立通道指令到目标渲染端和客户端,客户端将通过调度服务器与目标渲染端建立第一UDP通信通道和第二UDP通信通道;
步骤44,读取视频数据并显示;客户端通过第一UDP通信通道接收目标渲染端发送的视频数据,根据第二预设编码格式对视频数据解码,并渲染到客户端界面,以呈现给用户;
步骤45,采集用户根据视频画面发出的交互指令,并将该交互指令发送至目标渲染端;客户端将按照一定采集频率采集用户交互指令,并将交互指令按照第二预设编码格式编码,通过第二UDP通信通道发送给目标渲染端。
如图5所示,对目标渲染端的交互过程进行说明:
步骤51,目标渲染端接收启动应用指令;目标渲染端通过调度服务器接收启动应用指令,读取应用编号,与客户端之间建立第一UDP通信通道和第二UDP通信通道,用于数据传输;
步骤52,启动应用;目标渲染端根据应用编号查询本机应用清单,获取目标应用的存储路径,并通过启动应用指令启动目标应用;
步骤53,编码应用运行画面;目标渲染端识别目标应用的应用窗口,将渲染画面和系统声音进行视频编码;
步骤54,传输视频画面;目标渲染端根据预设编码格式将视频数据进行封装,通过第一UDP通信通道发送到客户端;
步骤55,读取客户端的交互指令并模拟操作;目标渲染端通过第二UDP通信通道接收客户端发送的交互指令,根据预设解码格式进行数据解码,识别出交互数据,并通过模拟器将交互数据模拟到目标应用;
上述的步骤41-45和步骤51-55,客户端与目标渲染端之间通过调度服务进行匹配连接,动态分配空余的渲染端,有效避免了渲染端冲突的问题;两端通过UDP协议进行传输,有效提升了传输效率,交互指令通道还采用了KCP封装协议,提高了传输的可靠性。
本发明的实施例通过获取应用服务器发送的应用清单;根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;通过所述第一传输通道接收所述目标渲染端发送的视频数据;获取用户根据所述视频数据通过所述客户端输入的交互指令;通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果,从而有效避免了渲染节点冲突的问题,提升了传输效率和可靠性。
如图6所示,本发明还提供一种云端应用的数据交互方法,应用于渲染端,包括:
步骤61,通过调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
步骤62,通过网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
步骤63,通过所述第一传输通道向所述客户端发送视频数据;
步骤64,通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
步骤65,根据所述交互指令调用目标应用反馈操作结果。
需要说明的是,该应用于渲染端的方法是与上述应用于客户端的方法对应的方法,上述应用于客户端的方法实施例中的所有实现方式均适用于该应用于渲染端的方法的实施例中,也能达到相同的技术效果。
如图7所示,本发明还提供一种客户端70,包括:
第一收发模块71,用于获取应用服务器发送的应用清单;根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;
第一处理模块72,用于通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;
所述第一收发模块71还用于通过所述第一传输通道接收所述目标渲染端发送的视频数据;
所述第一处理模块72还用于获取用户根据所述视频数据通过所述客户端输入的交互指令;
所述第一收发模块71还用于通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果。
可选的,根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令,包括:
从所述应用清单选择所述目标应用;
产生所述目标应用的启动指令;
将所述目标应用的启动指令发送至调度服务器,由所述调度服务器向所述目标渲染端发送所述启动指令;所述启动指令中封装有所述目标应用的应用标识,所述目标渲染端是至少一个渲染端中空闲的渲染端。
可选的,通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道,包括:
从所述网络信息检测服务器获取所述客户端的第一网络地址;
将所述第一网络地址通过所述调度服务器发送至所述目标渲染端;
接收所述调度服务器发送的所述目标渲染端的第二网络地址;
根据所述第一网络地址和所述第二网络地址在所述客户端和所述目标渲染端之间建立第一传输通道和所述第二传输通道,所述第一传输通道和所述第二传输通道均为用户数据协议传输通道。
可选的,所述第一处理模块72还用于:
若所述第一传输通道建立失败,通过网络转发服务器传输所述目标渲染端发送的视频数据;
若所述第二传输通道建立失败,通过所述网络转发服务器传输所述客户端发送的所述交互指令;
若所述第一传输通道和所述第二传输通道均建立失败,通过所述网络转发服务器传输所述目标渲染端发送的视频数据以及所述客户端发送的所述交互指令。
可选的,通过所述第一传输通道接收所述目标渲染端发送的视频数据,包括:
通过所述第一传输通道接收所述目标渲染端发送的编码后的视频数据,所述编码后的视频数据是所述目标渲染端根据所述目标应用的启动指令,获得的所述目标应用的渲染画面,将所述渲染画面和系统声音进行视频编码得到的。
可选的,通过所述第二传输通道向所述目标渲染端发送交互指令,包括:
将所述交互指令按照基于用户数据报文协议的可靠传输协议进行封装,得到封装好的预设编码格式的交互指令;
将所述预设编码格式的交互指令通过所述第二传输通道发送至所述目标渲染端。
需要说明的是,该客户端是与上述应用于客户端的方法对应的客户端,上述应用于客户端的方法实施例中的所有实现方式均适用于该客户端的实施例中,也能达到相同的技术效果。
如图8所示,本发明还提供一种渲染端80,包括:
第二收发模块81,用于通过调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
第二处理模块82,用于通过网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
所述第二收发模块81还用于通过所述第一传输通道向所述客户端发送视频数据;通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
所述第二处理模块82还用于根据所述交互指令调用目标应用反馈操作结果。
需要说明的是,该渲染端是与上述应用于客户端的方法对应的渲染端,上述应用于渲染端的方法实施例中的所有实现方式均适用于该渲染端的实施例中,也能达到相同的技术效果。
本发明还提供一种云端应用的数据交互系统,包括:网络信息检测服务器、调度服务器以及至少一个渲染端;
所述至少一个渲染端中的目标渲染端通过所述调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
所述目标渲染端通过所述网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
所述目标渲染端通过所述第一传输通道向所述客户端发送视频数据;
所述目标渲染端通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
根据所述交互指令调用目标应用反馈操作结果。
需要说明的是,该系统是与上述方法对应的系统,上述方法实施例中的所有实现方式均适用于该系统的实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种云端应用的数据交互方法,其特征在于,应用于客户端,包括:
获取应用服务器发送的应用清单;
根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;
通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;
通过所述第一传输通道接收所述目标渲染端发送的视频数据;
获取用户根据所述视频数据通过所述客户端输入的交互指令;
通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果。
2.根据权利要求1所述的云端应用的数据交互方法,其特征在于,根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令,包括:
从所述应用清单选择所述目标应用;
产生所述目标应用的启动指令;
将所述目标应用的启动指令发送至调度服务器,由所述调度服务器向所述目标渲染端发送所述启动指令;所述启动指令中封装有所述目标应用的应用标识,所述目标渲染端是至少一个渲染端中空闲的渲染端。
3.根据权利要求1所述的云端应用的数据交互方法,其特征在于,通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道,包括:
从所述网络信息检测服务器获取所述客户端的第一网络地址;
将所述第一网络地址通过所述调度服务器发送至所述目标渲染端;
接收所述调度服务器发送的所述目标渲染端的第二网络地址;
根据所述第一网络地址和所述第二网络地址,在所述客户端和所述目标渲染端之间建立第一传输通道和所述第二传输通道,所述第一传输通道和所述第二传输通道均为用户数据协议传输通道。
4.根据权利要求3所述的云端应用的数据交互方法,其特征在于,还包括:
若所述第一传输通道建立失败,通过网络转发服务器传输所述目标渲染端发送的视频数据;
若所述第二传输通道建立失败,通过所述网络转发服务器传输所述客户端发送的所述交互指令;
若所述第一传输通道和所述第二传输通道均建立失败,通过所述网络转发服务器传输所述目标渲染端发送的视频数据以及所述客户端发送的所述交互指令。
5.根据权利要求1所述的云端应用的数据交互方法,其特征在于,通过所述第一传输通道接收所述目标渲染端发送的视频数据,包括:
通过所述第一传输通道接收所述目标渲染端发送的编码后的视频数据,所述编码后的视频数据是所述目标渲染端根据所述目标应用的启动指令,获得的所述目标应用的渲染画面,将所述渲染画面和系统声音进行视频编码得到的。
6.根据权利要求1所述的云端应用的数据交互方法,其特征在于,通过所述第二传输通道向所述目标渲染端发送交互指令,包括:
将所述交互指令按照基于用户数据报文协议的可靠传输协议进行封装,得到封装好的预设编码格式的交互指令;
将所述预设编码格式的交互指令通过所述第二传输通道发送至所述目标渲染端。
7.一种云端应用的数据交互方法,其特征在于,应用于渲染端,包括:
通过调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
通过网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
通过所述第一传输通道向所述客户端发送视频数据;
通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
根据所述交互指令调用目标应用反馈操作结果。
8.一种客户端,其特征在于,包括:
第一收发模块,用于获取应用服务器发送的应用清单;根据所述应用清单,通过调度服务器向目标渲染端发送目标应用的启动指令;
第一处理模块,用于通过网络信息检测服务器与所述目标渲染端交互,与所述目标渲染端建立第一传输通道和第二传输通道;
所述第一收发模块还用于通过所述第一传输通道接收所述目标渲染端发送的视频数据;
所述第一处理模块还用于获取用户根据所述视频数据通过所述客户端输入的交互指令;
所述第一收发模块还用于通过所述第二传输通道向所述目标渲染端发送所述交互指令,使所述目标渲染端根据所述交互指令调用所述目标应用反馈操作结果。
9.一种渲染端,其特征在于,包括:
第二收发模块,用于通过调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
第二处理模块,用于通过网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
所述第二收发模块还用于通过所述第一传输通道向所述客户端发送视频数据;通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
所述第二处理模块还用于根据所述交互指令调用目标应用反馈操作结果。
10.一种云端应用的数据交互系统,其特征在于,包括:网络信息检测服务器、调度服务器以及至少一个渲染端;
所述至少一个渲染端中的目标渲染端通过所述调度服务器接收客户端发送的目标应用的启动指令,所述目标应用是客户端从应用服务器获取应用清单,并从所述应用清单中选择的;
所述目标渲染端通过所述网络信息检测服务器与所述客户端交互,与所述客户端建立第一传输通道和第二传输通道;
所述目标渲染端通过所述第一传输通道向所述客户端发送视频数据;
所述目标渲染端通过所述第二传输通道接收所述客户端发送交互指令,所述交互指令是用户根据所述视频数据通过所述客户端输入的交互指令;
根据所述交互指令调用目标应用反馈操作结果。
CN202310085428.XA 2023-02-09 2023-02-09 一种云端应用的数据交互方法、客户端、渲染端及系统 Active CN115802098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310085428.XA CN115802098B (zh) 2023-02-09 2023-02-09 一种云端应用的数据交互方法、客户端、渲染端及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310085428.XA CN115802098B (zh) 2023-02-09 2023-02-09 一种云端应用的数据交互方法、客户端、渲染端及系统

Publications (2)

Publication Number Publication Date
CN115802098A true CN115802098A (zh) 2023-03-14
CN115802098B CN115802098B (zh) 2023-04-28

Family

ID=85430590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310085428.XA Active CN115802098B (zh) 2023-02-09 2023-02-09 一种云端应用的数据交互方法、客户端、渲染端及系统

Country Status (1)

Country Link
CN (1) CN115802098B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571900A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 一种实现远端实时操控的系统和方法
US20140195589A1 (en) * 2013-01-04 2014-07-10 Rockethouse, Llc Cloud-based rendering
CN110807111A (zh) * 2019-09-23 2020-02-18 北京铂石空间科技有限公司 三维图形的处理方法及装置、存储介质、电子设备
CN111818120A (zh) * 2020-05-20 2020-10-23 北京元心科技有限公司 端云用户交互方法、系统及相应设备、存储介质
CN113141511A (zh) * 2021-04-20 2021-07-20 上海卓易科技股份有限公司 一种图形渲染方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571900A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 一种实现远端实时操控的系统和方法
US20140195589A1 (en) * 2013-01-04 2014-07-10 Rockethouse, Llc Cloud-based rendering
CN110807111A (zh) * 2019-09-23 2020-02-18 北京铂石空间科技有限公司 三维图形的处理方法及装置、存储介质、电子设备
CN111818120A (zh) * 2020-05-20 2020-10-23 北京元心科技有限公司 端云用户交互方法、系统及相应设备、存储介质
CN113141511A (zh) * 2021-04-20 2021-07-20 上海卓易科技股份有限公司 一种图形渲染方法及设备

Also Published As

Publication number Publication date
CN115802098B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US6961754B2 (en) Interactive access, manipulation, sharing and exchange of multimedia data
EP1364511B1 (en) A digital television application protocol for interactive television
AU2003220302B2 (en) Methods and apparatus for generating graphical and media displays at a client
US20160112259A1 (en) Home Cloud with Virtualized Input and Output Roaming over Network
CN104412601B (zh) 容纳多种不同视频压缩技术的单个kvm客户端的系统和方法
WO2002097584A2 (en) Adaptive video server
CN109040786B (zh) 摄像头数据的传输方法、装置、系统及存储介质
KR20060110267A (ko) 신 클라이언트에서 그래픽 및 미디어 디스플레이를생성하기 위한 장치 및 방법
US8892633B2 (en) Apparatus and method for transmitting and receiving a user interface in a communication system
AU2002240200A1 (en) A digital television application protocol for interactive television
US8223834B2 (en) Communication apparatus and control method for communication apparatus
CN114221909B (zh) 数据传输方法、装置、终端及存储介质
CN115904281A (zh) 云桌面会议共享方法、服务器和计算机可读存储介质
CN115802098B (zh) 一种云端应用的数据交互方法、客户端、渲染端及系统
CN113015019A (zh) 数据处理方法、装置和系统
US20100049832A1 (en) Computer program product, a system and a method for providing video content to a target system
WO2011130962A1 (zh) 远程处理方法、装置及系统
CN105610979B (zh) 一种基于虚拟化技术的网络资源传输系统及其方法
WO2021071617A1 (en) Av1 codec for real-time video communication
CN109995589A (zh) 日志采集方法及系统
CN113923396B (zh) 基于视频会议场景下的远程桌面控制方法、装置和介质
Mauve Protocol Enhancement and Compression for X-Based Application Sharing
CN117579679A (zh) 信令交互方法和装置、电子设备及存储介质
CN117749896A (zh) 报文处理方法、报文处理装置
Kuo et al. Multimedia over IP for thin clients: building a collaborative resource-sharing prototype

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
GR01 Patent grant
GR01 Patent grant