CN114598738A - 数据处理方法、装置、存储介质及计算机设备 - Google Patents
数据处理方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN114598738A CN114598738A CN202210161668.9A CN202210161668A CN114598738A CN 114598738 A CN114598738 A CN 114598738A CN 202210161668 A CN202210161668 A CN 202210161668A CN 114598738 A CN114598738 A CN 114598738A
- Authority
- CN
- China
- Prior art keywords
- client
- data stream
- server
- work process
- signaling
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 45
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 432
- 230000008569 process Effects 0.000 claims abstract description 412
- 230000011664 signaling Effects 0.000 claims abstract description 294
- 238000004891 communication Methods 0.000 claims abstract description 74
- 230000006870 function Effects 0.000 claims description 42
- 238000012790 confirmation Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000013508 migration Methods 0.000 claims description 9
- 230000005012 migration Effects 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000003786 synthesis reaction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 13
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 11
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、存储介质及计算机设备。其中方法包括:计算机设备通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;然后建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;再接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;并通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;最后将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。降低了数据处理过程中的延迟。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种数据处理方法、装置、存储介质及计算机设备。
背景技术
随着网络技术的发展,信息由文字传播,再到图文传播,再到视频传播。目前甚至可以实现真人和虚拟人物进行对话等操作。目前所采用的方式是服务端采集终端的数据,再返回一些数据以在终端实现虚拟人物的对话操作。
但是,现有技术中终端在接收到服务器发送的数据之后,需要对数据进行再次处理,当终端性能不足的情况下,或者终端和服务端的传输方式比较落后的情况下,会导致用户和虚拟人物对话的过程中产生延迟。
发明内容
本申请实施例提供一种数据处理方法、装置、存储介质及计算机设备。该数据处理方法可以实现对客户端发送的数据进行快速处理和传输,降低了数据处理过程中的延迟。
第一方面,本申请实施例提供了一种数据处理方法,包括:
通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;
建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;
接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;
通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;
将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
第二方面,本申请实施例提供了一种数据处理装置,包括:
匹配单元,用于通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;
连接单元,用于建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;
第一传输单元,用于接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;
调用单元,用于通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;
第二传输单元,用于将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请实施例提供的数据处理方法中的步骤。
第四方面,本申请实施例提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请实施例提供的数据处理方法中的步骤。
在本申请实施例中,计算机设备通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;然后建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;再接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;并通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;最后将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。第一客户端可以通过信令服务器来匹配到最适合第一客户端的目标服务端,并且第一客户端和目标服务端之间建立有低延迟的通信连接,从而降低了第一客户端和目标服务端之间交互数据的延迟。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理的第一场景示意图。
图2是本申请实施例提供的数据处理方法的第一流程示意图。
图3是本申请实施例提供的数据处理的第二场景示意图。
图4是本申请实施例提供的数据处理方法的第二流程示意图。
图5是本申请实施例提供的数据处理的第三场景示意图。
图6是本申请实施例提供的数据处理装置的结构示意图。
图7是本申请实施例提供的服务器的结构示意图。
图8是本申请实施例提供的数据交互方法的流程示意图。
图9是本申请实施例提供的数据交互的场景示意图。
图10是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着网络技术的发展,信息由文字传播,再到图文传播,再到视频传播。目前甚至可以实现真人和虚拟人物进行对话等操作。目前所采用的方式是服务端采集终端的数据,再返回一些数据以在终端实现虚拟人物的对话操作。
但是,现有技术中终端在接收到服务器发送的数据之后,需要对数据进行再次处理,当终端性能不足的情况下,或者终端和服务端的传输方式比较落后的情况下,会导致用户和虚拟人物对话的过程中产生延迟。
为了解决该技术问题,本申请实施例提供了一种数据处理方法,该数据处理方法可以应用于服务器,服务器可以根据该数据处理方法实现对客户端发送的数据进行快速处理和传输,降低了数据处理过程中的延迟。
请参阅图1,图1是本申请实施例提供的数据处理方法的第一场景示意图。
在本申请实施例的一些应用场景中,服务器可以同时和多个客户端连接,从而处理多个客户端发送的数据,然后服务器将处理好的数据再发送给对应的客户端。
如图1所示,其中服务器可以包括信令服务器、工作进程池、多个服务端。其中,信令服务器可以理解为服务器中的一个模块或者实体装置,多个服务端可以是服务器中的模块或者是子服务器。其中,服务端可以对应有一个或者多个工作进程。
当服务器建立了多个空闲的工作进程之后,空闲的工作进程会被加入到工作进程池中。每一工作进程和信令服务器之间可以建立第一信令连接。以第一客户端和服务器为例,第一客户端和信令服务器之间可以建立第二信令连接。
第一客户端可以通过第二信令连接将第一信令消息发送给信令服务器,信令服务器可以在工作进程池中确定出与第一信令消息匹配的第一工作进程。如图1所示,其中工作进程1就是第一客户端所匹配的第一工作进程。
然后服务器建立起第一客户端与工作进程1对应的目标服务端之间的通信连接。如图1,工作进程1可以是目标服务端对应的工作进程,目标服务端对应有多个功能模块,比如功能模块1、功能模块2等。
其中,目标服务端可以理解为是最适合第一客户端的服务端,比如目标服务端处理第一数据流的速度较快。
第一客户端和目标服务端之间建立通信连接之后,第一客户端可以获取用户的语音信息、文字信息、视频信息、图像信息中的一种或者多种,从而生成客户端需要向目标服务端传输的第一数据流。
目标服务端通过该通信连接获取第一客户端发送的第一数据流。其中,该通信连接可以是具备低延时、高带宽、高速率的连接,以实现对第一数据流的快速传输,或者快速传输目标服务端向第一客户端发送的第二数据流。
其中,第一客户端会通过用户所使用的电子设备采集用户的语音信息、文字信息、视频信息、图像信息中的一种或者多种,从而生成第一客户端需要向目标服务端传输的第一数据流。服务器通过控制第一工作进程加载第一数据流对应的功能模块来对第一数据流进行处理,从而生成需要向第一客户端传输的第二数据流。
如图1所示,在服务器处理第一数据流的过程中,工作进程1可以同时加载不同的功能模块,从而对第一数据流进行处理。比如,第一数据流包括图像和声音,则工作进程1可以加载对图像进行处理的功能模块,还可以加载对声音进行处理的功能模块,从而实现实时的对第一数据流进行处理,并输出第二数据流。
服务器可以通过通信连接将第二数据流输入到第一客户端中,第一客户端可以直接利用第二数据流实现对应的功能,比如在用户和虚拟客服、虚拟卡通人物、虚拟宠物等进行交流沟通时,第一客户端可以通过驱动第二数据流实现在第一客户端上展示对应的虚拟人角色,从而实现虚拟人角色和用户之间的互动。
比如第一客户端上的虚拟客服或者虚拟人物可以直接回复用户的提问,或者对用户进行主动会话等功能。或者,虚拟人角色能够实现对用户的表情迁移、文本信息回复等功能。
在本申请实施例中,由于信令服务器可以匹配出第一客户端最适合的第一工作进程,该第一工作进程对应的目标服务端时最适合第一客户端的,可以更好更快的完成对第一客户端输出的第一数据流进行处理。同时,第一客户端对应的第一工作进程可以加载不同的功能模块来实现实时的对第一数据流进行处理,第一客户端和目标服务端之间建立了低延时、高带宽、高速率的通信连接,并且目标服务端能够快速向第一客户端传输根据第一数据流生成的第二数据流。
第一客户端对应的用户设备可以不用耗费较多性能继续处理第一数据流来生成虚拟人角色对应的第二数据流,从而降低了用户通过第一客户端和虚拟人角色会话的延迟,或者降低了其他使用场景上的服务器和客户端之间的数据处理过程中的延迟。
请参阅图2,图2是本申请实施例提供的数据处理方法的第一流程示意图。该数据处理方法可以包括以下步骤:
110、通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程。
在一些实施方式中,服务器可以包括信令服务器,其中信令服务器可以理解为是服务器中的一个工作模块,或者信令服务器是一个单独的实体服务器。第一客户端可以通过信令服务器建立与整个服务器之间的第二信令连接,第一客户端和服务器之间可以通过第二信令连接进行会话。
比如第二信令连接为WebSocket连接,服务器可以通过WebSocket连接来获取第一客户端传输的第一信令信息。
其中,WebSocket是一种在单个TCP连接上进行全双工通信的协议,WebSocket使得第一客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
通过信令服务可以实现第一客户端和服务器中设置的空闲工作进程进行配对,从而确定出第一客户端对应的第一工作进程。并且信令服务可以为服务器和第一客户端在建立信令连接过程中的中转服务,信令服务还可以防止服务器和第一客户端之间的进行连接时暴露隐私信息,比如防止暴露用户的身份信息等。
在建立第二信令连接的过程中,服务器可以通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息。比如通过建立第二WebSocket连接与信令服务器连接,在建立第二WebSocket连接之后,第一客户端可以通过第二WebSocket连接将用于请求目标应用服务的第一信令消息发送给服务器。服务器接收第一信令消息,第一信令消息中还包含了第一客户端的目标应用服务所需要的SDK(Software Development Kit,软件开发工具包)信息。
比如,后续第一客户端向服务器发送的第一数据流为视频数据,则在发送第一数据流之前,第一客户端发送的第一信令消息包括视频数据对应的软件开发工具包名称,或者是视频数据对应的模型的名称,或者是软件模块名称。
在一些实施方式中,当服务器接收到第一信令消息之后,服务器可以根据第一信令消息在工作进程池中确定出与第一信令消息匹配的第一工作进程。例如,在工作进程池中有多个空闲工作进程,服务器可以在多个空闲工作进程中随机确定出一个空闲工作进程为第一个工作进程。或者,服务器可以根据第一信令消息在多个空闲工作进程中找到最适合第一客户端的第一工作进程,比如找到性能占用能够符合第一客户端需求的空闲工作进程为第一工作进程。
在一些实施方式中,在通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程之前。服务器还可以接收任一工作进程的连接请求,建立信令服务器与任一工作进程的连接,并将连接成功的工作进程放入工作进程池中。
例如,服务器可以启动多个空闲的工作进程,该工作进程可以和信令服务器之前建立第一信令连接,比如第一WebSocket连接,信令服务器通过第一信令连接获取每一空闲工作进程对应的身份信息。然后将每一空闲工作进程加入到空闲工作进程池中。
请一并参阅图3,图3是本申请实施例提供的数据处理方法的第二场景示意图。
其中,服务器包括信令服务器和多个工作进程,在多个工作进程中包含了不低于预设数量的空闲工作进程。
在一些实施方式中,在服务器获取第一客户端传输的第一信令消息之前,服务器可以创建不低于预设数量的空闲工作进程,同时对每一空闲工作进程设置对应的唯一身份信息。其中,每一空闲工作进程对应的身份信息可以包括该空闲工作进程对应的标识,还可以包括该空闲工作进程对应的可以加载的模型、软件开发工具包、软件模块等。
例如,如图3所示,在多个工作进程中,空闲工作进程1对应设置有唯一的身份信息,空闲工作进程N对应设置有唯一的身份信息。
在一些实施方式中,在服务器获取第一客户端发送的第一信令消息之前,服务器还可以对每一个空闲工作进程创建对应的第一信令连接。比如,空闲工作进程1设置有对应的第一信令连接,空闲工作进程N设置有对应的第一信令连接。其中,第一信令连接可以是第一WebSocket连接。
如图3所示,第一信令连接可以是每一空闲工作进程和信令服务器之间的信令连接。
在一些实施方式中,在服务器内创建的空闲工作进程会被不同的客户端所使用,则剩余的空闲工作进程会越来越少,如果剩余的空闲工作进程的数量小于预设数量,则服务器需要继续创建新的空闲工作进程及其对应的身份信息与第一信令连接。
在一些实施方式中,当某一空闲的工作进程确定为第一工作进程之后,服务器可以从工作进程池中删除该第一工作进程,以确保工作进程池中的工作进程全部为空闲工作进程。
如图3所示,当空闲工作进程1被确定出是第一客户端对应的第一工作进程之后,服务器可以将空闲工作进程1从工作进程池中删除,然后将空闲工作进程1确定为是就绪工作进程池中的第一工作进程,即将空闲工作进程1从工作进程池中移至就绪工作进程池中。
120、建立第一客户端与第一工作进程对应的目标服务端之间的通信连接。
在一些实施方式中,当服务器确定好第一客户端对应的第一工作进程之后,可以将第一工作进程对应的服务端确定为目标服务端,比如目标服务端可以是创建该进程的一个子服务器。第一客户端和目标服务端之间可以建立通信连接,该通信连接具备低延时、高带宽、高速率等特点。
比如,目标服务端和第一客户端之间可以建立起网页即时通信(WebRTC,WebReal-Time Communication)连接。然后第一客户端可以通过该通信连接将获取到的第一数据流传输到服务器中,其中第一数据流包括视频、图像、语音、文字等信息中的至少一种。
在一些实施方式中,在创建第一工作进程与第一客户端的通信连接之前,服务器可以获取第一客户端对应的第一互联网协议地址以及第一工作进程对应的第二互联网协议地址,然后通过第二信令连接将第二互联网协议地址发送到第一客户端,并通过第一工作进程对应的第一信令连接将第一互联网协议地址发送至第一工作进程。
比如,第一互联网协议地址可以是客户端对应得公网IP地址(Internet ProtocolAddress),第二互联网协议地址可以是服务器对应得公网IP地址。
然后,服务器可以通过信令服务器接收第一客户端传输的第一会话描述协议信息(SDP,Session Description Protocol)和第一工作进程发送的第二会话描述消息,通过信令服务器将第一会话描述消息转发至第一工作进程,将第二会话描述消息转发至第一客户端。
例如,信令服务器可以通过第二信令连接获取第一会话描述协议,通过第一信令连接获取第二会话描述协议,然后通过第二信令连接将第二会话描述协议转发至第一客户端,通过第一信令连接将第一会话描述协议转发至第一工作进程。
当第一客户端和第一工作进程对应的目标服务端之间获取会话描述协议之后,第一客户端和第一工作进程对应的目标服务端之间可以建立通信连接。比如WebRTC连接。
在一些实施方式中,在第一客户端可以和第一工作进程对应的目标服务端之间建立通信连接之后,信令服务器可以断开第二信令连接和第一信令连接,此时客户端和第一工作进程之间可以直接通过通信连接来进行数据传输。
130、接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端。
在一些实施方式中,第一客户端可以通过通信连接将第一数据流发送给服务器,服务器将第一数据流发送给第一工作进程对应的目标服务端。
比如第一数据流为视频数据、声音数据、文本数据等数据。比如用户在和虚拟人角色进行互动时,第一客户端对应的用户设备可以打开摄像头来采取包含用户表情的数据流,然后将该用户表情的数据流发送给目标服务端;第一客户端对应的用户设备可以通过打开麦克风采集用户的声音数据,然后将该声音数据发送给目标服务端;第一客户端对应的用户设备还可以采集用户输入的文本信息,然后将该文本信息发送给目标服务端。
140、通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流。
在一些实施方式中,服务器可以根据第一信令消息确定出处理第一数据流功能模块。然后服务器控制第一工作进程加载第一数据流对应的功能模块,第一工作进程则可以调用功能模块对第一数据流进行处理,从而得到第二数据流。
比如,第一数据流为视频数据时,服务器可以通过第一工作进程加载视频数据对应的动态人脸识别功能模块来对视频进行识别,从而实现对第一数据流的处理,得到动态的人脸数据,并将冬天的人脸数据作为第二数据流。
又比如,当第一数据流为包含用户表情的数据流时,服务器可以通过第一工作进程加载用于表情迁移的功能模块,通过功能模块对第一数据流进行处理,获得第一数据流对应的表情维度数据,将表情维度数据作为第二数据流。
再比如,当第一数据流为包含用户输入的文本信息时,服务器通过第一工作进程调用用于语音合成的功能模块,通过功能模块生成针对文本信息的回复信息,将回复信息作为第二数据流。
需要说明的是,当第一数据流为包含多种类型数据的数据流时,第一工作进程可以同时加载不同的功能模块来对第一数据流来进行处理,从而得到第二数据流,该第二数据流包含每一功能模块处理输出的数据。
150、将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
在第一工作进程处理第一数据流之后输出第二数据流,此时服务器可以通过通信连接将第二数据流发送给第一客户端,第一客户端在接收到第二数据流之后,可以直接驱动使用第二数据流,从而实现对应的功能。
比如,第一客户端可以通过第二数据流来驱动虚拟人角色,从而实现虚拟人角色实现表情上的变化,比如将用户的表情迁移到虚拟人角色身上。
第一客户端还可以通过第二数据流驱动虚拟人角色来回答用户的提问,通过文本或者语音的方式来对用户的问题进行回答,从而实现虚拟人角色和用户之间的互动。
虚拟人角色和用户之间的互动可以是在某一界面上进行的,比如,用户打开了虚拟人角色互动界面,此时,第一客户端则会通过上述方式来传输第一数据流,然后获取第二数据流,以驱动虚拟人角色和用户互动,由于整个过程中服务器选取了合适的第一工作进程来处理第一数据流,同时采用了低延时的通信连接来传输第一数据流和第二数据流,最终使得用户和虚拟人角色互动时,虚拟人角色回应用户的延时较低。
另外,由于第一客户端对应的第一工作进程可以加载不同的功能模块来实现实时的对第一数据流进行处理,进一步提高了处理第一数据流的速度,第一客户端对应的用户设备可以不用耗费较多性能继续处理第二数据流,从而降低了用户通过客户端和虚拟人角色会话的延迟,或者降低了其他使用场景上的服务器和客户端之间的数据处理过程中的延迟。
在本申请实施例中,计算机设备通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;然后建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;再接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;并通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;最后将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。第一客户端可以通过信令服务器来匹配到最适合第一客户端的目标服务端,并且第一客户端和目标服务端之间建立有低延迟的通信连接,从而降低了第一客户端和目标服务端之间交互数据的延迟。
为了更加详细的了解本申请实施例提供的数据处理方法,请参阅图4,图4是本申请实施例提供的数据处理方法的第二流程示意图。该数据处理方法可以包括以下步骤:
201、接收任一工作进程的连接请求,建立信令服务器与任一工作进程的第一信令连接,并将连接成功的工作进程放入工作进程池中。
在一些实施方式中,服务器包括多个服务端,每个服务端可以建立一个或多个工作进程,当该工作进程为空闲工作进程时,工作进程会发出连接请求,服务器接收任一工作进程的连接请求,建立信令服务器与该工作进程的第一信令连接,并将连接成功的工作进程放入工作进程池中。
在一些实施方式中,在服务器内设置有工作进程管理器,工作进程管理器可以对服务器内多个工作进程进行管理。比如,工作进程管理器可以创建多个新的工作进程。新的工作进程可以发出连接请求,服务器可以根据连接请求建立与任一工作进程之间的第一信令连接,并将连接成功的工作进程放入工作进程池中。
其中,第一信令连接可以是WebSocket连接。当每一工作进程被创建的时候,随之创建的还有每一工作进程对应的身份信息,信令服务器还可以通过第二服务器获取加入工作进程池的每一工作进程的身份信息。
请一并参阅图5,图5是本申请实施例提供的数据处理方法的第三场景示意图。
其中服务器中包含信令服务器、代理服务和工作进程。其中信令服务器可以理解为是服务器中的一个工作模块、或者是一个子服务器。信令服务器可以实现第一客户端和服务器中设置的空闲工作进程进行配对,从而确定出与第一客户端匹配的第一工作进程。并且信令服务器可以为服务器和第一客户端在建立信令连接过程中的中转服务,信令服务器还可以防止服务器和第一客户端之间的进行连接时暴露隐私信息,比如防止暴露用户的身份信息等。
在一些实施方式中,服务器可以创建多个空闲工作进程,每一空闲工作进程均可以对应有一个第一信令连接,其中第一信令连接可以是第一WebSocket连接,当空闲工作进程和信令服务器连接成功时,服务器可以将该空闲工作进程加入到工作进程池中。
当服务器创建多个空闲工作进程的时候,可以对每一个空闲工作进程创建对应的身份信息。比如,每一空闲工作进程对应的身份信息可以包括该空闲工作进程对应的标识,还可以包括该空闲工作进程对应的可以加载的模型、软件开发工具包、软件模块等。
202、接收第一客户端发送的连接请求,建立信令服务器与第一客户端之间的第二信令连接。
在一些实施方式中,如图5所示,信令服务器和第一客户端之间可以建立第二信令连接,其中第二信令连接可以是第二WebSocket连接,第一客户端可以通过第二信令连接主动向服务器发起会话。
其中,第二信令连接可以是第一客户端中的目标应用服务需要获取服务器数据时生成的,比如,第一客户端中的目标应用服务为用户需要和虚拟人角色进行沟通互动,此时第一客户端可以主动向服务器发起第二信令连接。
203、通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程。
在一些实施方式中,当建立与第一客户端之间的第二信令连接之后,服务器通过第二信令连接接收第一客户端发送的第一信令消息。其中第一信令消息包括第一客户端后续发送的第一数据流对应的特征信息,比如第一数据流对应的软件开发工具包名称,第一数据流对应的数据类型等。
在一些实施方式中,当服务器接收到第一信令消息之后,服务器可以根据第一信令消息在工作进程池中确定出与第一信令消息匹配的第一工作进程。例如,在工作进程池中有多个空闲工作进程,服务器可以在多个空闲工作进程中随机确定出一个空闲工作进程为第一个工作进程。或者,服务器可以根据第一信令消息在多个空闲工作进程中找到最适合第一客户端的第一工作进程,比如找到性能占用能够符合第一客户端需求的空闲工作进程为第一工作进程。
比如,服务器可以根据第一信令消息中的数据类型消息来确定出第一客户端的目标应用服务对应的第一工作进程。当数据类型为视频数据时,则可以确定出可以调用视频处理功能模块的工作进程为第一工作进程。
又比如,服务器可以对第一信令信息进行识别,从而确定出第一信息中包含的模型、软件开发工具包、软件模块信息。然后根据利用每一空闲工作进程对应的身份信息和模型、软件开发工具包、软件模块信息进行匹配,然后确认出匹配度最高的目标身份信息,将目标身份信息对应的工作进程确定为第一工作进程,该第一工作进程可以加载第一客户端对应的模型、软件开发工具包、软件模块,从而对第一客户端后续传输的第一数据流进行处理。
或者,当服务器接收到第二信令连接之后,可以在多个空闲工作进程中随机选取一个空闲工作进程为第一客户端对应的第一工作进程。
在一些实施方式中,服务器可以通过信令服务器在多个第一信令连接中随机选取一个目标第一信令连接和第二信令连接配对,后续第一客户端和其对应的第一工作进程之间可以同目标第一信令连接和第二信令连接进行信息交互。
204、通过信令服务器接收第一客户端发送的第一会话描述消息和第一工作进程发送的第二会话描述消息。
例如,第一客户端可以通过第二信令连接将第一会话描述消息发送给信令服务器,信令服务器通过第二信令连接接收第一会话描述协议。
第一工作进程可以通过第一信令连接将第二会话描述消息发送给信令服务器,信令服务器通过第一信令连接接收第二会话描述协议。
其中,第一会话描述消息和第二会话描述消息可以是会话描述协议(SDP,SessionDescription Protocol)。
在一些实施方式中,在通过信令服务器接收第一客户端发送的第一会话描述消息和第一工作进程发送的第二会话描述消息之前。服务器还可以获取第一客户端对应的第一互联网协议地址以及第一工作进程对应的第二互联网协议地址。
如图5所示,在一些实施方式中,服务器可以通过代理服务来获取客户端对应的第一互联网协议地址以及第一工作进程对应的第二互联网协议地址。
比如,代理服务可以通过第二信令连接获取客户端对应的第一互联网协议地址,通过第一信令连接获取第一工作进程对应的第二互联网协议地址。
其中,第一互联网协议地址可以是客户端对应得公网IP地址(Internet ProtocolAddress),第二互联网协议地址可以是服务器对应得公网IP地址。
当服务器获取到第一互联网协议地址和第二互联网协议地址之后,通过第二信令连接将第二互联网协议地址发送到第一客户端,并通过第一信令连接将第一互联网协议地址发送至第一工作进程。
205、通过信令服务器将第一会话描述消息转发至第一工作进程,将第二会话描述消息转发至第一客户端。
信令服务器通过第一信令连接将第一会话描述消息发送给第一工作进程。
信令服务器通过第二信令连接将第二会话描述消息发送给第一客户端。
206、通过信令服务器接收第一客户端发送的会话结束消息,并将会话结束消息发送至第一工作进程。
在一些实施方式中,当第一客户端确认会话结束的时候,则信令服务器可以通过第二信令连接接收第一客户端发送的会话结束消息,然后信令服务器通过第一信令连接将会话结束消息发送给第一工作进程。
207、通过信令服务器接收第一工作进程发送的根据会话结束消息生成的会话结束确认消息。
第一工作进程在接收到会话结束消息之后,第一工作进程会根据会话结束消息生成会话结束确认消息,然后通过第一信令连接将会话结束确认消息发送给信令服务器。
208、通过信令服务器将会话结束确认消息发送至第一客户端。
信令服务器通过第二信令连接将会话结束确认消息发送至第一客户端,然后第一客户端,第一客户端根据会话结束确认消息生成信令连接结束消息,然后将信令连接结束消息发送给信令服务器。
209、通过信令服务器接收第一客户端根据会话结束确认消息生成的信令连接结束消息。
当信令服务器接收到信令连接结束消息之后,会断开和第一客户端的第二信令连接,并且将第一工作进程从工作进程池中删除,此时的第一工作进程已经不再是空闲进程,而是需要处理第一客户端对应的数据的进程。
在一些实施方式中,在工作进程池中的工作进程全部都是空闲工作进程,当工作进程池中的某一空闲工作进程和第一客户端匹配时,则该空闲工作进程被确定为第一工作进程,此时服务器将第一工作进程从工作进程池中删除,并将第一工作进程加入到就绪工作进程池中。
在一些实施方式中,在第一客户端和服务器之间的会话结束之后,服务器可以断开第一工作进程和信令服务器之间的第一信令连接,断开第一客户端和信令服务器之间的第二信令连接。
210、建立第一客户端与第一工作进程对应的目标服务端之间的通信连接。
在一些实施方式中,当服务器确定好第一客户端对应的第一工作进程之后,可以将第一工作进程对应的服务端确定为目标服务端,比如目标服务端可以是创建该进程的一个子服务器。第一客户端和目标服务端之间可以建立通信连接,该通信连接具备低延时、高带宽、高速率等特点。
比如,目标服务端和第一客户端之间可以建立起网页即时通信(WebRTC,WebReal-Time Communication)连接。
211、接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端。
在一些实施方式中,第一客户端可以通过通信连接将第一数据流发送给服务器,服务器将第一数据流发送给第一工作进程对应的目标服务端。
比如第一数据流为视频数据、声音数据、文本数据等数据。比如用户在和虚拟人角色进行互动时,第一客户端对应的用户设备可以打开摄像头来采取包含用户表情的数据流,然后将该用户表情的数据流发送给目标服务端;第一客户端对应的用户设备可以通过打开麦克风采集用户的声音数据,然后将该声音数据发送给目标服务端;第一客户端对应的用户设备还可以采集用户输入的文本信息,然后将该文本信息发送给目标服务端。
在一些实施方式中,在建立第一客户端与第一工作进程对应的目标服务端之间的通信连接之后,在获取第一数据流之前。服务器可以将预设视频流发送至第一客户端,然后接收第一客户端根据预设视频流返回的用户输入的文本信息。
比如,服务器推送一段视频,用户看完视频之后,可以输入自己的见解或者对视频的描述,从而生成用户输入的文本信息。
212、通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流。
在一些实施方式中,服务器可以根据第一信令消息确定出处理第一数据流的功能模块。然后服务器控制第一工作进程加载第一数据流对应的功能模块,第一工作进程则可以调用功能模块对第一数据流进行处理,从而得到第二数据流。
比如,第一数据流为视频数据时,服务器可以通过第一工作进程加载视频数据对应的动态人脸识别功能模块来对视频进行识别,从而实现对第一数据流的处理,得到动态的人脸数据,并将冬天的人脸数据作为第二数据流。
又比如,当第一数据流为包含用户表情的数据流时,服务器可以通过第一工作进程加载用于表情迁移的功能模块,通过功能模块对第一数据流进行处理,获得第一数据流对应的表情维度数据,将表情维度数据作为第二数据流。
再比如,当第一数据流为包含用户输入的文本信息时,服务器通过第一工作进程调用用于语音合成的功能模块,通过功能模块生成针对文本信息的回复信息,将回复信息作为第二数据流。其中,该回复信息可以是音频信息和/或文本信息。
需要说明的是,当第一数据流为包含多种类型数据的数据流时,第一工作进程可以同时加载不同的功能模块来对第一数据流来进行处理,从而得到第二数据流,该第二数据流包含每一功能模块处理输出的数据。
例如,第一工作进程可以对不同的功能模块进行加载,例如,第一工作进程可以对不同类型的软件开发工具包进行加载,从而实现对第一数据流的处理。
针对于第一数据流,第一工作进程可以加载“表情迁移SDK”、“真人影像SDK”、“动作迁移SDK”等不同类型的软件开发工具包,从而是实现对第一数据流进行处理,得到第二数据流。
213、将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
在第一工作进程处理第一数据流之后输出第二数据流,此时服务器可以通过通信连接将第二数据流发送给第一客户端,第一客户端在接收到第二数据流之后,可以直接驱动使用第二数据流,从而实现对应的功能。
比如,第一客户端可以通过第二数据流来驱动虚拟人角色,从而实现虚拟人角色实现表情上的变化,比如将用户的表情迁移到虚拟人角色身上。
第一客户端还可以通过第二数据流驱动虚拟人角色来回答用户的提问,通过文本或者语音的方式来对用户的问题进行回答,从而实现虚拟人角色和用户之间的互动。
虚拟人角色和用户之间的互动可以是在某一界面上进行的,比如,用户打开了虚拟人角色互动界面,此时,第一客户端则会通过上述方式来传输第一数据流,然后获取第二数据流,以驱动虚拟人角色和用户互动,由于整个过程中服务器选取了与第一客户端最匹配的第一工作进程对应的目标服务端来处理第一数据流,同时采用了低延时的通信连接来传输第一数据流和第二数据流,最终使得用户和虚拟人角色互动时,虚拟人角色回应用户的延时较低。
另外,由于第一客户端对应的第一工作进程可以加载不同的功能模块来实现实时的对第一数据流进行处理,进一步提高了处理第一数据流的速度,第一客户端对应的用户设备可以不用耗费较多性能继续处理第二数据,从而降低了用户通过客户端和虚拟人角色会话的延迟,或者降低了其他使用场景上的服务器和客户端之间的数据处理过程中的延迟。
在本申请实施例中,服务器通过接收任一工作进程的连接请求,建立信令服务器与任一工作进程的第一信令连接,并将连接成功的工作进程放入工作进程池中。接收第一客户端发送的连接请求,建立信令服务器与第一客户端之间的第二信令连接,通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程。
再通过信令服务器接收第一客户端发送的第一会话描述消息和第一工作进程发送的第二会话描述消息。通过信令服务器将第一会话描述消息转发至第一工作进程,将第二会话描述消息转发至第一客户端。通过信令服务器接收第一客户端发送的会话结束消息,并将会话结束消息发送至第一工作进程。通过信令服务器接收第一工作进程发送的根据会话结束消息生成的会话结束确认消息。通过信令服务器将会话结束确认消息发送至第一客户端。通过信令服务器接收第一客户端根据会话结束确认消息生成的信令连接结束消息。
最后,建立第一客户端与第一工作进程对应的目标服务端之间的通信连接,接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端,通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流,将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
在第一客户端和服务器之间传输数据的过程中,服务器可以快速的对第一数据流进行处理,并实时的返回第二数据流给第一客户端,从而降低了整个数据传输过程中的延迟。在用户和虚拟人角色互动的场景中,能够降低虚拟人角色对用户进行回复的延迟。
请参阅图5,下面将结合具体的场景来进行描述。
该数据处理场景可以应用于用户和虚拟人对话的场景,或者应用在客户端虚拟人物构建的场景,当然也应用于其他场景,不应对本申请作出限制。
如图5所示,在服务器内部,设置有信令服务器、代理服务和工作进程。工作进程是通过工作进程管理器进行管理的。
服务器可以创建多个空闲工作进程,并且每一工作进程均设置有对应的身份信息。每一空闲工作进程和信令服务器之间建立有第一信令连接,该第一信令连接可以是第一WebSocket连接。然后信令服务器可以获取每一空闲工作进程对应的第一信令连接和身份信息。
当用户需要使用一些服务时,比如虚拟人服务,用户可以通过打开浏览器的形式进入网页,从而打开对应的第一客户端,然后通过第一客户端和服务器之间建立第二信令连接,比如建立第二WebSocket连接。
然后服务器可以接收客户端发送的第一信令信息,比如第一信令消息包括软件开发工具包名称等。然后服务器会在多个第一信令连接中随机选择一个和目标第一信令连接和第二信令连接配对,同时确认目标第一信令连接对应的空闲工作进程为第一工作进程。
服务器通过第二信令连接向第一客户端返回第一工作进程准备就绪消息,同时第一客户端通过第二信令连接接收第一工作进程准备就绪消息。
然后,服务器通过代理服务获取客户端对应的第一互联网协议地址和获取第一工作进程对应的第二互联网协议地址。其中代理服务可以采用turn代理。具体的,代理服务器可以通过第二信令连接获取第一客户端对应的第一互联网协议地址和通过第一信令连接获取第一工作进程对应的第二互联网协议地址。
代理服务器还可以通过第二信令连接向第一客户端发送第二互联网协议地址,通过第一信令连接向第一工作进程发送第一互联网协议地址。
第一客户端可以通过第二信令连接发送第一会话描述消息,信令服务器通过第一信令连接向第一工作进程发送第一会话描述消息,第一工作进程通过第一信令连接返回第二会话描述消息,第一客户端通过第二信令连接接收第二会话描述消息。
第一客户端接收到第二会话描述消息之后,可以通过第二信令连接发送会话结束消息至信令服务器,第一工作进程通过与信令服务器的第一信令连接接收会话结束消息,然后根据会话结束消息生成会话结束确认消息,然后通过第一信令连接发送会话结束确认消息至信令服务器,信令服务器通过第二信令连接发送会话结束确认消息至第一客户端。
服务器通过信令服务器接收第一客户端根据会话结束确认消息生成的信令连接结束消息,从而断开和第一客户端和信令服务器的第二信令连接,并将第一工作进程从工作进程池中删除,断开和第一工作进程和信令服务器的第一信令连接。
然后服务器会通过代理服务建立服务器和第一客户端之间的通信连接,比如建立网页即时通信(WebRTC,Web Real-Time Communication)连接。
在服务器和客户端之间建立通信连接之后,第一客户端可以向服务器发送第一数据流,比如视频、音频、图像、文字等数据。服务器可以控制第一工作进程调用加载对应的功能模块对第一数据流进行处理,比如调用对应的音频合成SDK、真人影像SDK等来对第一数据流进行处理。
在一些实施方式中,第一客户端在向服务器传输第一数据流的过程中,第一工作进程可以对已经传输完成的数据流进行实时处理,同时处理完成得到的第二数据流可以通过通信连接实时传输到第一客户端,从而降低数据处理过程中的延迟。同时服务器具备高性能的硬件,比如高性能的CPU和GPU,能够快速的对第一数据流进行处理,从而降低数据处理过程的延迟。
当第一客户端接收到第二数据流时,可以直接驱动第二数据流实现对应的功能,例如,第一客户端在接收到第二数据流之后,可以利用第二数据驱动虚拟人角色和用户进行对话,对用户提出的问题进行回答,或者对用户提出的要求进行展示等。第二客户端还可以根据第二数据流实现音频、视频播放等。从而实现对虚拟人角色的展示。
具体的,在实际的应用场景中,以表情迁移场景为例,当第一客户端通过摄像头获取到用户的表情数据流之后,第一客户端将第一数据流发送给第一工作进程对应的目标服务端,第一工作进程可以调用用于表情迁移的功能模块,然后通过功能模块对表情数据流进行处理,获得表情维度数据,将表情维度数据作为第二数据流发送给第一客户端。
第一客户端可以利用表情维度数据来驱动虚拟角色,从而使得虚拟角色在第一客户端上进行表情展示,从而实现虚拟角色和用户之间进行互动。
又比如,在用户和虚拟人互动的场景中,在建立所述第一客户端与第一工作进程对应的目标服务端之间的通信连接之后,服务器可以向客户端发送预设视频流发送至第一客户端进行播放,预设视频包括预设的目标角色。例如游戏中的一个角色。
或者,在建立所述第一客户端与第一工作进程对应的目标服务端之间的通信连接之后,服务器可以向客户端发送预设的文字、音频等数据,从而实现目标角色和用户的交互。
用户可以和该目标角色互动,用户可以说出一些话,或者打上一些字,从而在第一客户端上生成文本信息,第一客户端将文本信息发送给目标服务端,目标服务端可以调用第一工作进程加载语音合成的功能模块,然后生成针对文本信息的回复信息,将回复信息作为第二数据流。比如第一工作进程可以根据文本信息对用户进行回复,从而调用语音合成模块生成对应的音频和/或文字,然后将音频和/或文字作为回复信息,从而在第一客户端上利用该回复信息实现目标角色和用户进行互动。
在本申请实施例中,服务器可以针对于第一客户端传输的第一数据流控制第一工作进程加载对应的功能模块,从而实现对第一数据流中不同类型的数据进行快速处理,同时第一客户端和服务器之间还建立有低延时的通信连接,能够降低数据传输的延迟。最终,服务器在对第一客户端传输的数据进行处理时,第一客户端上能够快速接收到处理后的数据,当第一客户端实现对应的功能时,就会降低用户等待时间,提升第一客户端实现对应的功能的体验。
请参阅图6,图6是本申请实施例提供的数据处理装置的结构示意图。该数据处理装置300包括:
匹配单元310,用于通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程。
匹配单元310还用于接收任一工作进程的连接请求,建立信令服务器与任一工作进程的第一信令连接,并将连接成功的工作进程放入工作进程池中;接收第一客户端发送的连接请求,建立信令服务器与第一客户端之间的第二信令连接。
匹配单元310还用于在建立第一客户端与第一工作进程对应的目标服务端之间的通信连接之前,通过信令服务器接收第一客户端发送的第一会话描述消息和第一工作进程发送的第二会话描述消息;通过信令服务器将第一会话描述消息转发至第一工作进程,将第二会话描述消息转发至第一客户端。
匹配单元310还用于在通过信令服务器将第一会话描述消息转发至第一工作进程,将第二会话描述消息转发至第一客户端之后,通过信令服务器接收第一客户端发送的会话结束消息,并将会话结束消息发送至第一工作进程;通过信令服务器接收第一工作进程发送的根据会话结束消息生成的会话结束确认消息;通过信令服务器将会话结束确认消息发送至第一客户端;通过信令服务器接收第一客户端根据会话结束确认消息生成的信令连接结束消息,并将第一工作进程从工作进程池中删除。
连接单元320,用于建立第一客户端与第一工作进程对应的目标服务端之间的通信连接。
连接单元320还用于通过WebRTC协议建立第一客户端与第一工作进程对应的目标服务端之间的通信连接。
连接单元320还用于在建立第一客户端与第一工作进程对应的目标服务端之间的通信连接之后,将预设视频流发送至第一客户端进行播放,预设视频包括预设的目标角色。
第一传输单元330,用于接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端。
调用单元340,用于通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流。
调用单元340还用于第一数据流包括通过摄像头获取的包含用户表情的数据流时,通过第一工作进程调用用于表情迁移的功能模块;通过功能模块对第一数据流进行处理,获得第一数据流对应的表情维度数据,将表情维度数据作为第二数据流。
调用单元340还用于第一数据流包括来自于用户输入的文本信息时,通过第一工作进程调用用于语音合成的功能模块;通过功能模块生成针对文本信息的回复信息,将回复信息作为第二数据流。其中回复信息包括音频信息和/或文字信息。
第二传输单元350,用于将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
第二传输单元350还用于将第二数据流发送至第一客户端,以使得第一客户端根据第二数据流驱动第一客户端展示的虚拟人角色,其中,虚拟人角色为与用户交互的对象。
第二传输单元350还用于将第二数据流发送至第一客户端,以使得第一客户端根据第二数据流驱动目标角色输出回复信息。
计算机设备通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;然后建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;再接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;并通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;最后将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。第一客户端可以通过信令服务器来匹配到最适合第一客户端的目标服务端,并且第一客户端和目标服务端之间建立有低延迟的通信连接,从而降低了第一客户端和目标服务端之间交互数据的延迟。
本申请实施例还提供一种服务器,如图7所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图7中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
请参阅图8,图8是本申请实施例提供的数据交互方法的流程示意图。其中,该数据交互方法应用于客户端。该数据交互方法可以包括以下步骤:
510、获取第一数据流,并确定第一数据流对应的第一信令信息。
在一些实施方式中,当用户需要使用客户端使用对应的功能时,客户端可以通过用户设备获取视频、音频、图像、文字等第一数据流。比如,客户端可以通过用户设备的麦克风、摄像头等传感器设备获取第一数据流。
第一客户端在得到第一数据之后,还会确定第一数据流对应的第一信令信息。比如,当第一数据流为视频数据时,则第一信令信息包括处理视频数据对应的功能模块的名称,例如第一信息是模型名称、软件开发工具包名称、软件模块名称等。
520、创建与服务器之间的第二信令连接,通过第二信令连接将第一信令信息发送至服务器。
第一客户端可以主动先服务器发起创建第二信令连接的申请,服务器在识别客户端之后,可以和客户端之创建第二信令连接,然后第一客户端通过第二信令连接将第一信息发送至服务器。
服务器在接收到第一信息之后,可以确定第一客户端对应的第一工作进程和第一工作进程对应的第一信令连接。服务器会向第一客户端发送第一眼工作进程准备就绪的消息。
530、创建与服务器之间的通信连接,将第一数据流发送至服务器。
在一些实施方式中,当第一客户端接收到第一工作进程准备就绪的消息后。会向服务器发起创建通信连接的请求,服务器可以根据请求创建通信连接。比如,客户端可以向服务器发送第一客户端对应的第一互联网协议地址和第一会话描述消息,其中第一互联网协议地址可以是客户端对应的公网IP,第一会话描述消息可以是会话描述协议SDP。
第一客户端和服务器之间建立的可以是网页即时通信连接。第一客户端可以通过通信连接将第一数据流发送给服务器。该通信连接具备低延时的特点。
第一客户端可以实时的将获取到的第一数据流发送到服务器中,比如,第一客户端可以实时的将获取的视频数据发送到服务器中。
540、通过通信连接获取服务器根据第一信令信息和第一数据流返回的第二数据流。
服务器在接收到第一数据流之后,可以根据第一信息控制第一工作进程调用对应的功能模块,比如控制第一工作进程调用第一数据流对应的模型、软件开发工具包、软件模块等。
第一工作进程通过加载第一数据流对应的功能模块对第一数据流进行处理,从而得到第二数据流,第一客户端通过通信连接获取第二数据流,然后在用户设备上进行信息展示。比如通过第二数据流驱动虚拟人角色和用户互动。
在一些实施方式中,第一客户端在接收到第二数据流之后,第一客户端根据第二数据流生成展示信息,基于图形用户界面向用户显示展示信息,展示信息包括视频、图像、语音、文字中的至少一种。
在一些实施方式中,第一工作进程可以实时的第一数据流进行处理,比如,第一数据流为视频数据,第一工作进程可以实时的对每一帧视频数据进行处理,同时将处理得到的第二数据流通过通信连接实时的发送到第一客户端。
在本申请实施例中,第一客户端通过创建与服务器之间的第二信令连接,创建与服务器之间的第二信令连接,通过第二信令连接将第一信令信息发送至服务器。再通过第二信令连接将第一信息发送至服务器,然后创建与服务器之间的通信连接,将第一数据流发送至服务器。最后通过通信连接获取服务器根据第一信令信息和第一数据流返回的第二数据流。第一客户端通过和服务器之间建立低延时的通信连接,并且服务器可以实时的对第一数据流进行处理,客户端可以实时的接收到处理后的第二数据流,从而降低了服务器和第一客户端之间的数据交互延迟。
为了更加详细的了解本申请实施例提供的数据交互方法,请继续参阅图9,图9是本申请实施例提供的数据交互的场景示意图。
如图9所示,客户端和服务器之间建立有通信连接。
在第一客户端将第一数据流发送到服务器之前,第一客户端可以获取用户数据,并且对用户数据进行处理生成第一数据流,比如第一客户端可以获取用户输入的视频、音频、图像、文本等数据。然后第一客户端把这些用户数据进行整合,从而得到第一数据流,比如对相关联的用户数据进行打包,从而生成第一数据流。
服务器在接收到第一数据流之后,可以调用对应的第一工作进程加载第一数据流对应的功能模块来对第一数据流进行处理,得到第二数据流,然后通过将第二数据流发送到第一客户端。
第一客户端在接收到第二数据流之后,第一客户端根据第二数据流生成展示信息,基于图形用户界面向用户展示展示信息,展示信息包括视频、图像、语音、文字中的至少一种。比如,进行视频、音频播放,或者第一客户端展示的虚拟人物可以对用户提出的话进行回答,或者虚拟人物和用户进行交流沟通。
在整个数据交互的过程中,第一客户端通过和服务器之间建立低延时的通信连接,并且服务器可以实时的对第一数据流进行处理,第一客户端可以实时的接收到处理后的第二数据流,从而降低了服务器和第一客户端之间的数据交互延迟。
需要说明的是,在本申请实施例中还可以通过除服务器之外的多种计算机设备来执行本申请实施例提供的数据处理方法。而不仅仅局限于服务器执行本申请实施例提供的数据处理方法。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,PersonalComputer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图10所示,图10为本申请实施例提供的计算机设备的结构示意图。该计算机设备1000包括有一个或者一个以上处理核心的处理器701、有一个或一个以上计算机可读存储介质的存储器702及存储在存储器702上并可在处理器上运行的计算机程序。其中,处理器701与存储器702电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器701是计算机设备1000的控制中心,利用各种接口和线路连接整个计算机设备1000的各个部分,通过运行或加载存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备1000的各种功能和处理数据,从而对计算机设备1000进行整体监控。
在本申请实施例中,计算机设备1000中的处理器701会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能:
通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;
建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;
接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;
通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;
将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
可选的,如图10所示,计算机设备1000还包括:处理器701、存储器702、触控显示屏703、射频电路704、音频电路705、输入单元706以及电源707。其中,处理器701分别与触控显示屏703、射频电路704、音频电路705、输入单元706以及电源707电性连接。本领域技术人员可以理解,图10中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏703可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏703可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器701,并能接收处理器701发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器701以确定触摸事件的类型,随后处理器701根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏703而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏703也可以作为输入单元706的一部分实现输入功能。
射频电路704可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路705可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路705可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路705接收后转换为音频数据,再将音频数据输出处理器701处理后,经射频电路704以发送给比如另一计算机设备,或者将音频数据输出至存储器702以便进一步处理。音频电路705还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元706可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源707用于给计算机设备1000的各个部件供电。可选的,电源707可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源707还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图10中未示出,计算机设备1000还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备为服务器时,服务器通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;然后建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;再接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;并通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;最后将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。降低了数据处理过程中的延迟。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,当计算机可读存储介质为服务器的存储介质时,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据处理方法中的步骤。例如,该指令可以执行如下步骤:
通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与第一信令消息匹配的第一工作进程;
建立第一客户端与第一工作进程对应的目标服务端之间的通信连接;
接收第一客户端发送的第一数据流,并将第一数据流发送至第一工作进程对应的目标服务端;
通过第一工作进程调用对应的功能模块对第一数据流进行处理后得到第二数据流;
将第二数据流发送至第一客户端,以使得第一客户端展示第二数据流对应的界面。
上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种数据处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与所述第一信令消息匹配的第一工作进程;
建立所述第一客户端与所述第一工作进程对应的目标服务端之间的通信连接;
接收所述第一客户端发送的第一数据流,并将所述第一数据流发送至所述第一工作进程对应的目标服务端;
通过所述第一工作进程调用对应的功能模块对所述第一数据流进行处理后得到第二数据流;
将所述第二数据流发送至所述第一客户端,以使得所述第一客户端展示所述第二数据流对应的界面。
2.根据权利要求1所述的数据处理方法,其特征在于,所述第一数据流包括通过摄像头获取的包含用户表情的数据流;
所述通过所述第一工作进程调用对应的功能模块对所述第一数据流进行处理后得到第二数据流,包括:
通过所述第一工作进程调用用于表情迁移的功能模块;
通过所述功能模块对所述第一数据流进行处理,获得所述第一数据流对应的表情维度数据,将所述表情维度数据作为第二数据流。
3.根据权利要求2所述的方法,其特征在于,所述将所述第二数据流发送至所述第一客户端,以使得所述第一客户端展示所述第二数据流对应的界面,包括:
将所述第二数据流发送至所述第一客户端,以使得所述第一客户端根据所述第二数据流驱动虚拟角色的表情展示,其中,所述虚拟角色为所述第一客户端展示的与所述用户交互的对象。
4.根据权利要求1所述的数据处理方法,其特征在于,所述第一数据流包括来自于用户的文本信息;
所述通过所述第一工作进程调用对应的功能模块对所述第一数据流进行处理后得到第二数据流,包括:
通过所述第一工作进程调用用于语音合成的功能模块;
通过所述功能模块生成针对所述文本信息的回复信息,将所述回复信息作为第二数据流。
5.根据权利要求4所述的数据处理方法,其特征在于,在所述建立所述第一客户端与所述第一工作进程对应的目标服务端之间的通信连接之后,所述方法还包括:
将预设视频流发送至所述第一客户端进行播放,所述预设视频包括预设的目标角色;
所述将所述第二数据流发送至所述第一客户端,以使得所述第一客户端展示所述第二数据流对应的界面,包括:
将所述第二数据流发送至所述第一客户端,以使得所述第一客户端根据所述第二数据流驱动所述目标角色输出所述回复信息。
6.根据权利要求4所述的数据处理方法,其特征在于,所述回复信息包括音频信息和/或文字信息。
7.根据权利要求1所述的数据处理方法,其特征在于,所述建立所述第一客户端与所述第一工作进程对应的目标服务端之间的通信连接,包括:
通过WebRTC协议建立所述第一客户端与所述第一工作进程对应的目标服务端之间的通信连接。
8.根据权利要求1所述的数据处理方法,其特征在于,在所述通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与所述第一信令消息匹配的第一工作进程之前,所述方法还包括:
接收任一工作进程的连接请求,建立所述信令服务器与所述任一工作进程的第一信令连接,并将连接成功的工作进程放入所述工作进程池中;
接收所述第一客户端发送的连接请求,建立所述信令服务器与所述第一客户端之间的第二信令连接。
9.根据权利要求1所述的数据处理方法,其特征在于,在所述建立所述第一客户端与所述第一工作进程对应的目标服务端之间的通信连接之前,所述方法还包括:
通过所述信令服务器接收第一客户端发送的第一会话描述消息和所述第一工作进程发送的第二会话描述消息;
通过所述信令服务器将所述第一会话描述消息转发至所述第一工作进程,将所述第二会话描述消息转发至所述第一客户端。
10.根据权利要求9所述的数据处理方法,其特征在于,在所述通过所述信令服务器将所述第一会话描述消息转发至所述第一工作进程,将所述第二会话描述消息转发至所述第一客户端之后,所述方法还包括:
通过所述信令服务器接收第一客户端发送的会话结束消息,并将所述会话结束消息发送至所述第一工作进程;
通过所述信令服务器接收所述第一工作进程发送的根据所述会话结束消息生成的会话结束确认消息;
通过所述信令服务器将所述会话结束确认消息发送至所述第一客户端;
通过所述信令服务器接收所述第一客户端根据所述会话结束确认消息生成的信令连接结束消息,并将所述第一工作进程从所述工作进程池中删除。
11.一种数据处理装置,其特征在于,包括:
匹配单元,用于通过信令服务器接收第一客户端发送的用于请求目标应用服务的第一信令消息,从工作进程池中确定与所述第一信令消息匹配的第一工作进程;
连接单元,用于建立所述第一客户端与所述第一工作进程对应的目标服务端之间的通信连接;
第一传输单元,用于接收所述第一客户端发送的第一数据流,并将所述第一数据流发送至所述第一工作进程对应的目标服务端;
调用单元,用于通过所述第一工作进程调用对应的功能模块对所述第一数据流进行处理后得到第二数据流;
第二传输单元,用于将所述第二数据流发送至所述第一客户端,以使得所述第一客户端展示所述第二数据流对应的界面。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至10任一项所述的数据处理方法中的步骤。
13.一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述的数据处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210161668.9A CN114598738B (zh) | 2022-02-22 | 2022-02-22 | 数据处理方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210161668.9A CN114598738B (zh) | 2022-02-22 | 2022-02-22 | 数据处理方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598738A true CN114598738A (zh) | 2022-06-07 |
CN114598738B CN114598738B (zh) | 2024-08-30 |
Family
ID=81806901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210161668.9A Active CN114598738B (zh) | 2022-02-22 | 2022-02-22 | 数据处理方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598738B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447775B1 (en) * | 2003-11-07 | 2008-11-04 | Cisco Technology, Inc. | Methods and apparatus for supporting transmission of streaming data |
US20150180748A1 (en) * | 2013-12-20 | 2015-06-25 | Futurewei Technologies Inc. | METHOD AND APPARATUS OF WebRTC MEDIA CONTROL |
US20160269926A1 (en) * | 2013-10-08 | 2016-09-15 | Alef Mobitech Inc. | Systems and methods for providing mobility aspects to applications in the cloud |
CN107423118A (zh) * | 2017-04-21 | 2017-12-01 | 广州五舟科技股份有限公司 | 分布式计算数据转发方法和装置 |
CN109150690A (zh) * | 2017-06-16 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 交互数据处理方法、装置、计算机设备和存储介质 |
CN109309866A (zh) * | 2017-07-27 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、存储介质 |
CN109428859A (zh) * | 2017-08-25 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种同步通信方法、终端及服务器 |
CN109727595A (zh) * | 2018-12-29 | 2019-05-07 | 神思电子技术股份有限公司 | 一种语音识别服务器的软件设计方法 |
US20190356701A1 (en) * | 2018-05-17 | 2019-11-21 | Vmware, Inc. | Media optimization of browser-based real-time communications applications in a virtual desktop environment |
CN110536146A (zh) * | 2019-08-19 | 2019-12-03 | 广州点云科技有限公司 | 一种基于云游戏的直播开播方法、装置以及存储介质 |
CN112162628A (zh) * | 2020-09-01 | 2021-01-01 | 魔珐(上海)信息科技有限公司 | 基于虚拟角色的多模态交互方法、装置及系统、存储介质、终端 |
CN113329069A (zh) * | 2021-05-24 | 2021-08-31 | 西安统信软件技术有限公司 | 一种即时通信方法、系统及计算设备 |
CN113382026A (zh) * | 2021-08-16 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、相关设备及存储介质 |
CN113392201A (zh) * | 2021-06-18 | 2021-09-14 | 中国工商银行股份有限公司 | 信息交互方法、装置、电子设备、介质和程序产品 |
-
2022
- 2022-02-22 CN CN202210161668.9A patent/CN114598738B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447775B1 (en) * | 2003-11-07 | 2008-11-04 | Cisco Technology, Inc. | Methods and apparatus for supporting transmission of streaming data |
US20160269926A1 (en) * | 2013-10-08 | 2016-09-15 | Alef Mobitech Inc. | Systems and methods for providing mobility aspects to applications in the cloud |
US20150180748A1 (en) * | 2013-12-20 | 2015-06-25 | Futurewei Technologies Inc. | METHOD AND APPARATUS OF WebRTC MEDIA CONTROL |
CN107423118A (zh) * | 2017-04-21 | 2017-12-01 | 广州五舟科技股份有限公司 | 分布式计算数据转发方法和装置 |
CN109150690A (zh) * | 2017-06-16 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 交互数据处理方法、装置、计算机设备和存储介质 |
CN109309866A (zh) * | 2017-07-27 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、存储介质 |
CN109428859A (zh) * | 2017-08-25 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种同步通信方法、终端及服务器 |
US20190356701A1 (en) * | 2018-05-17 | 2019-11-21 | Vmware, Inc. | Media optimization of browser-based real-time communications applications in a virtual desktop environment |
CN109727595A (zh) * | 2018-12-29 | 2019-05-07 | 神思电子技术股份有限公司 | 一种语音识别服务器的软件设计方法 |
CN110536146A (zh) * | 2019-08-19 | 2019-12-03 | 广州点云科技有限公司 | 一种基于云游戏的直播开播方法、装置以及存储介质 |
CN112162628A (zh) * | 2020-09-01 | 2021-01-01 | 魔珐(上海)信息科技有限公司 | 基于虚拟角色的多模态交互方法、装置及系统、存储介质、终端 |
CN113329069A (zh) * | 2021-05-24 | 2021-08-31 | 西安统信软件技术有限公司 | 一种即时通信方法、系统及计算设备 |
CN113392201A (zh) * | 2021-06-18 | 2021-09-14 | 中国工商银行股份有限公司 | 信息交互方法、装置、电子设备、介质和程序产品 |
CN113382026A (zh) * | 2021-08-16 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、相关设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114598738B (zh) | 2024-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025686B2 (en) | Network call method and apparatus, terminal, and server | |
EP3873100A1 (en) | Interactive method and apparatus for live streaming | |
CN103716227B (zh) | 一种用于即时通讯中进行信息交互的方法和装置 | |
CN106789562B (zh) | 一种虚拟物品发送方法、接收方法、装置和系统 | |
WO2021129262A1 (zh) | 用于主动发起对话的服务端处理方法及服务器、能够主动发起对话的语音交互系统 | |
CN106973330B (zh) | 一种屏幕直播方法、装置和系统 | |
US9686506B2 (en) | Method, apparatus, system, and storage medium for video call and video call control | |
CN112312226B (zh) | 连麦方法、系统、装置、电子设备及存储介质 | |
KR20160144479A (ko) | 영상 통화 데이터의 디스플레이 | |
CN112245904A (zh) | 支持跨服游戏的方法、系统、存储介质及计算机设备 | |
CN108513088B (zh) | 群组视频会话的方法及装置 | |
WO2022017007A1 (zh) | 音频数据处理方法、服务器及存储介质 | |
CN113206781B (zh) | 客户端控制方法、装置、设备及存储介质 | |
JP7500574B2 (ja) | スタンドアロンプログラムの実行方法、装置、デバイス及びコンピュータプログラム | |
WO2022127670A1 (zh) | 一种通话方法、相关设备和系统 | |
CN113617020B (zh) | 游戏控制方法、装置、存储介质、服务器以及终端 | |
WO2021169834A1 (zh) | 会话信息处理方法及电子设备 | |
CN114598738B (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
CN113452948B (zh) | 会议终端的控制方法、装置、设备及存储介质 | |
CN108942926B (zh) | 一种人机交互的方法、装置和系统 | |
WO2022196769A1 (ja) | 情報処理方法、プログラム、及び情報処理装置 | |
CN116708703A (zh) | 消息显示方法、传输方法、装置、电子设备及存储介质 | |
CN116212366A (zh) | 游戏登入方法、装置、系统、计算机设备和存储介质 | |
CN118740901A (zh) | 视联网远程桌面的通信连接建立方法、装置、设备及介质 | |
CN115002059A (zh) | 信息处理方法、装置、计算机可读存储介质及计算机设备 |
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 |