CN114374682B - 数据分享方法、系统及存储介质和终端设备 - Google Patents
数据分享方法、系统及存储介质和终端设备 Download PDFInfo
- Publication number
- CN114374682B CN114374682B CN202210020331.6A CN202210020331A CN114374682B CN 114374682 B CN114374682 B CN 114374682B CN 202210020331 A CN202210020331 A CN 202210020331A CN 114374682 B CN114374682 B CN 114374682B
- Authority
- CN
- China
- Prior art keywords
- data
- application client
- application
- data sharing
- video data
- 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.)
- Active
Links
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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Abstract
本发明实施例公开了一种数据分享方法、系统及存储介质和终端设备,应用于通信技术领域。数据分享系统根据第一应用客户端的数据分享请求,与第一应用客户端之间建立基于数据分享会话的通信连接,且将第一应用客户端的当前屏幕显示数据及采集的视频数据进行融合得到界面显示数据,进而将得到的界面显示数据发送给数据分享会话的应用客户端进行显示。这样通过数据分享系统将分享用户的第一应用客户端的当前屏幕显示数据与采集的视频数据进行融合,实现了将多种类型的数据进行同屏分享;且由于将当前屏幕显示数据与视频数据进行融合得到同一图层的界面显示数据,数据量比较小,使得在数据分享过程中传输的数据量小,提高了数据分享的速率。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种数据分享方法、系统及存储介质和终端设备。
背景技术
现有的远程通信可以应用于较多的场景中,比如远程视频会议、直播等场景,在这些场景中,多个用户的应用终端可以加入到远程通信会话中,而创建远程通信会话的用户可以通过应用终端将待分享数据传送给其它用户的应用终端,实现了数据的分享。
但是在现有的数据分享过程中,主要实现了将分享用户使用的应用终端中的数据进行分享,并不能分享其它的数据。
发明内容
本发明实施例提供一种数据分享方法、系统及存储介质和终端设备,实现了将多种类型的数据进行分享。
本发明实施例一方面提供一种数据分享方法,包括:
当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接;
通过所述通信连接接收所述第一应用客户端发送的当前屏幕显示数据;
采集当前环境的视频数据;
将所述当前屏幕显示数据及视频数据进行融合得到界面显示数据;
将所述界面显示数据发送给所述数据分享会话的应用客户端进行显示,所述数据分享会话的应用客户端包括所述第一应用客户端。
本发明实施例另一方面提供一种数据分享系统,包括:
连接建立单元,用于当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接;
屏幕数据单元,用于通过所述通信连接接收所述第一应用客户端发送的当前屏幕显示数据;
采集单元,用于采集当前环境的视频数据;
融合单元,用于将所述当前屏幕显示数据及视频数据进行融合得到界面显示数据;
分享单元,用于将所述界面显示数据发送给所述数据分享会话的应用客户端进行显示,所述数据分享会话的应用客户端包括所述第一应用客户端。
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面所述的数据分享方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面所述的数据分享方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
可见,在本实施例的方法中,数据分享系统根据第一应用客户端的数据分享请求,与第一应用客户端之间建立基于数据分享会话的通信连接,且会将第一应用客户端的当前屏幕显示数据及采集的当前环境的视频数据进行融合得到界面显示数据,进而将得到的界面显示数据发送给数据分享会话的应用客户端(包括第一应用客户端)进行显示。这样通过数据分享系统将分享用户的第一应用客户端的当前屏幕显示数据与采集的视频数据进行融合,实现了将多种类型的数据进行同屏分享;且由于将当前屏幕显示数据与视频数据进行融合得到同一图层的界面显示数据,数据量比较小,使得在数据分享过程中传输的数据量小,提高了数据分享的速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据分享方法所应用的场景的示意图;
图2是本发明一个实施例提供的一种数据分享方法的流程图;
图3是本发明一个实施例中界面显示数据对应的应用界面的示意图;
图4是本发明一个应用实施例提供的一种数据分享方法的流程图;
图5是本发明一个应用实施例提供中建立基于数据分享会话的通信连接的示意图;
图6是本发明另一应用实施例中数据分享方法所应用于的分布式系统的示意图;
图7是本发明另一应用实施例中区块结构的示意图;
图8是本发明实施例提供的一种数据分享系统的逻辑结构示意图;
图9是本发明实施例提供的一种终端设备的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种数据分享方法,主要可以应用于如图1所示的远程通信的场景中,比如远程会议或直播等场景,在该场景中可以包括:分享用户的第一应用客户端10、数据分享系统11和至少一个被分享用户分别对应的第二应用客户端11,其中:
第一应用客户端10,是分享用户使用的应用客户端,主要用于发起数据分享的流程,并接收数据分享系统11返回的界面显示数据,并根据界面显示数据直接渲染得到应用界面进行显示。
该第一应用客户端10具体可以是装载有应用程序或浏览器的手机、个人计算机或平板电脑等。
数据分享系统11,用于分别与第一应用客户端10和第二应用客户端11之间建立基于数据分享会话的通信连接,且将分享用户的第一应用客户端10的当前屏幕显示数据及数据分享系统11所采集的视频数据进行融合,得到界面显示数据,并将界面显示数据分别发送给第一应用客户端10和第二应用客户端11。
该数据分享系统11具体可以应用于全景相机或摄像装置等视频采集装置中。
第二应用客户端11,是被分享用户使用的应用客户端,可以接收数据分享系统发送的界面显示数据,并根据界面显示数据直接渲染得到应用界面进行显示。
如图2所示,在本实施例中,数据分享系统11可以通过步骤实现对界面显示数据的分享:
步骤101,当接收到第一应用客户端10发送的数据分享请求时,根据数据分享请求与第一应用客户端10之间建立基于数据分享会话的通信连接。
可以理解,分享用户可以通过第一应用客户端10访问数据分享系统11,而数据分享系统11会将相关的应用界面信息返回给第一应用客户端10,而第一应用客户端10根据应用界面信息显示相应的应用界面,用户可以在应用界面进行操作,使得第一应用客户端10向数据分享系统11发起数据分享请求,而当数据分析系统11接收到数据分享请求后,可以发起本实施例的流程。
步骤102,通过通信连接接收第一应用客户端10发送的当前屏幕显示数据。
当前屏幕显示数据是指第一应用客户端10当前正显示的数据,可以包括如下任一格式的数据:文本(比如PPT等文件)、音频、视频、图片及网页等。
步骤103,采集当前环境的视频数据。当前环境主要是数据分享系统11当前所处环境的视频数据,在视频数据中可以包含人物信息等。
步骤104,将当前屏幕显示数据及视频数据进行融合得到界面显示数据,这里的融合主要是将当前屏幕显示数据和视频数据融合到一个图层中,形成一个图层的界面显示数据。
具体地,数据分享系统11融合得到界面显示数据后,各个应用客户端根据界面显示数据显示的应用界面中,当前屏幕显示数据与视频数据所表示的主要内容之间不会相互遮盖,比如当前屏幕显示数据显示在应用界面的左侧,而视频数据显示在应用界面的右侧,且当前屏幕显示数据与视频数据在应用界面中所占用的区域大小可以相同,也可以不同。
具体地,数据分享系统11得到界面显示数据时,一种情况下,可以设置当前屏幕显示数据和视频数据分别在应用界面中所占区域的信息,及当前屏幕显示数据和视频数据显示的大小等信息,则融合得到的界面显示数据会包括这些信息及当前屏幕显示数据和视频数据。这种情况下是直接将采集的所有视频数据都融合到界面显示数据中。
另一种情况下,数据分享系统11可以获取视频数据中的人物子视频数据,人物子视频数据中包含的人物具有音频信息,并设置人物子视频数据在界面显示数据对应的应用界面中所占用的区域信息,且确定界面显示数据包括当前屏幕显示数据、人物子视频数据及区域信息等。这样可以突出地将视频数据中的主要人物的视频数据融合到界面显示数据中。
其中,人物子视频数据是只包含具有音频信息的人物的视频数据,比如在人物子视频数据所表示的画面中只包含具有音频信息的人物。由于视频数据中可以包含多个人物的数据,且每个人物会在不同时间发出声音,则不同时间获取的人物子视频数据会不同,比如在会议现场有多个主讲人,在时间点1主讲人1进行演讲,则获取的人物子视频数据中只包含主讲人1的数据,而在时间点2主讲人2进行演讲,则获取的人物子视频数据中只包含主讲人2的数据。
进一步地,在上述视频数据中每个人物所处的位置会不同,则在其它情况下,不仅需要获取人物子视频数据,还需要获取人物子视频数据对应人物所处的位置信息,进而在设置人物子视频数据在界面显示数据对应的应用界面中所占用的区域信息时,可以根据获取的位置信息设置人物子视频数据在界面显示数据对应的应用界面中所占用的区域信息,使得该人物子视频数据在应用界面占用的区域与上述获取的位置信息相对应。
例如图3所示,在应用界面中包括多个子区域,每个子区域对应视频数据中包含的一个人物的位置信息,比如在采集的视频数据所表示画面中包括多个人物,每个人物具有一个位置信息,图中各个人物的位置与子区域的对应关系通过虚线的双箭头来表示。当人物1具有音频信息时,获取的人物子视频数据中包括人物1的数据,且根据人物1在视频中的位置信息,则可以将人物子视频数据融合到应用界面的子区域1中进行显示,在应用界面则不会显示其它子区域;当人物2具有音频信息时,获取的人物子视频数据中包括人物2的数据,且根据人物2在视频中的位置信息,则可以将人物子视频数据融合到应用界面的子区域2中进行显示。
步骤105,将界面显示数据发送给数据分享会话的各个应用客户端进行显示,而数据分享会话的应用客户端可以包括第一应用客户端10,也可以包括第二应用客户端12。
其中,第二应用客户端12可以主动加入到上述数据分享会话中,并连接到数据分享系统11,即可接收数据分享系统11发送的界面显示数据。
需要说明的是,为了实现上述步骤101到105中的数据分享方法,需要保证数据分享系统11与第一应用客户端10之间的通信连接的稳定。在具体实现时,第一应用客户端10与数据分享系统11之间可以进行心跳监测,具体地,数据分享系统11会接收第一应用客户端10发送的心跳信息,心跳信息中包括第一应用客户端10是否处于数据分享的状态的标识信息,则数据分享系统11会根据心跳信息向第一应用客户端10返回心跳反馈信息,及记录心跳信息中的标识信息。
其中,数据分享系统11记录心跳信息中的标识信息主要是为了拒绝其它应用客户端发起的数据分享,使得在同一时间内只有一个应用客户端进行数据分享,从而保证了数据分享的稳定性。具体地,当数据分享系统11接收第二应用客户端12的数据分享请求,若当前系统中记录的标识信息用于标识第一应用客户端10处于数据分享的状态,拒绝第二应用客户端12的数据分享请求。
可见,在本实施例的方法中,数据分享系统11根据第一应用客户端10的数据分享请求,与第一应用客户端10之间建立基于数据分享会话的通信连接,且会将第一应用客户端的当前屏幕显示数据及采集的当前环境的视频数据进行融合得到界面显示数据,进而将得到的界面显示数据发送给数据分享会话的应用客户端(包括第一应用客户端)进行显示。这样通过数据分享系统将分享用户的第一应用客户端的当前屏幕显示数据与采集的视频数据进行融合,实现了将多种类型的数据进行同屏分享;且由于将当前屏幕显示数据与视频数据进行融合得到同一图层的界面显示数据,数据量比较小,使得在数据分享过程中传输的数据量小,提高了数据分享的速率。
在一个具体的实施例中,数据分享系统11可以包括应用模块110和服务器模块111,在数据分享的过程中,数据分享系统11可以先创建应用模块110与服务器模块111,及建立应用模块110与服务器模块111之间的持久连接,比如websocket连接等。其中:应用模块110和服务器模块111通过相互的通信,执行上述步骤101而由服务器模块111执行上述步骤102、104和105;上述步骤103即采集当前环境的视频数据由应用模块110来执行。其中,服务器模块111和应用模块110都可以是数据分享系统11创建的虚拟模块。
具体地,应用模块110和服务器模块111在执行上述步骤101时,可以通过服务器模块111接收数据分享请求后,将数据分享请求发送给应用模块110,当服务器模块111接收到应用模块110根据数据分享请求返回的提供(offer)信令及候选(ICE Candidate)信令,通过服务器模块111将提供信令和候选信令返回给第一应用客户端10,并接收第一应用客户端10的应答(answer)信令,则与第一应用客户端10之间建立数据分享会话的通信连接。
以下以一个具体的应用实例来说明本发明的数据分享方法,本实施例的方法可以应用于如图1所述的场景中,且本实施例中数据分享系统11主要应用于摄像装置中,该摄像装置可以具有两个背靠背摄像头,用于采集当前环境中的视频数据,数据分享系统11中的应用模块110与服务器模块111之间建立持久的WebSocket连接,而第一应用客户端10具体为浏览器。具体地,如图4所示,本实施例的数据分享方法可以包括如下步骤:
步骤201,当第一应用客户端10与应用数据分享系统11的摄像装置处于同一局域网时,分享用户可以操作第一应用客户端10,使得第一应用客户端10根据数据分享系统11中服务器模块111的地址信息访问服务器模块111,服务器模块111会向第一应用客户端10返回与服务器模块111相关的应用界面信息,由第一应用客户端10显示相应的应用界面。
其中,数据分享系统11中服务器模块111的地址信息具体可以为摄像装置的网络地址+服务器模块111的端口信息。
步骤202,分享用户在第一应用客户端10显示的应用界面进行操作,以触发第一应用客户端10与服务器模块111之间建立WebSocket连接,通过WebSocket连接将数据分享请求发送给服务器模块111。
步骤203,服务器模块111接收到数据分享请求后,与第一应用客户端10之间建立基于数据分享会话的通信连接。
步骤204,服务器模块111通过该通信连接获取第一应用客户端10的当前屏幕显示数据,而应用模块110采集摄像装置所处的当前环境的视频数据,并发送给服务器模块111。
具体地,如图5所示,当分享用户在第一应用客户端10显示的应用界面点击“分享屏幕”按钮时,第一应用客户端10可以通过函数navigator.mediaDevices.getUserMedia()获取当前屏幕显示数据。同时,第一应用客户端10可以通过WebSocket连接发送数据分享请求,具体为start_projection信令给服务器模块111;服务器模块111接收到收到start_projection信令后,转发给应用模块110,应用模块110会向服务器模块111返回offer信令和iceCandidate信令,再由服务器模块111将offer信令和iceCandidate信令返回给第一应用客户端10。
进一步地,第一应用客户端10接收到offer信令和iceCandidate信令后,调用RTCPeerConnection.addIceCanDidate()和RTCPeerConnection.createAnswer(),向服务器模块111返回answer信令和iceCandidate信令,服务器模块111会将answer信令和iceCandidate信令返回给应用模块110,这样即可建立数据分享系统11与第一应用客户端10之间的基于数据分享会话的通信连接,即WebRTC连接。这样,第一应用客户端10可以通过WebRTC连接将上述获取的当前屏幕显示数据发送给服务器模块111。
步骤205,服务器模块111将当前屏幕显示数据与视频数据进行融合得到界面显示数据,具体融合的方法见上述实施例中所述,在此不进行赘述。
步骤206,服务器模块111将界面显示数据发送给第一应用客户端10进行显示。
在这个过程中,被分享用户的第二应用客户端12可以主动加入到上述数据分享会话中,并连接到数据分享系统11中的服务器模块111,则服务器模块111也会将界面显示数据发送给第二应用客户端12进行显示。这里第二应用客户端12与第一应用客户端10可以在同一局域网中,也可以在远程网络中。
步骤207,当分享用户操作第一应用客户端10,使得第一应用客户端10结束数据分享流程时,断开与服务器模块111之间的连接。
具体地,当分享用户在第一应用客户端10显示的应用界面上点击“结束分享”的按钮时,第一应用客户端10可以调用RTCPeerConnection.close()以断开与服务器模块111之间的通信连接,且调用localStream.getVideoTracks()[0].stop()以停止媒体流(即上述的服务器模块111融合得到的界面显示数据)的拉取;第一应用客户端10通过与服务器模块111之间的WebSocket连接向服务器模块111发送bye信令,以告知多服务器模块111结束数据分享。
需要说明的是,由于本实施例中的第一应用客户端10主要是通过浏览器来实现,如第一应用客户端10使用不同的浏览器来连接应用模块,应用模块直接获取第一应用客户端10的媒体流,可能会存在应用模块与第一应用客户端10的兼容性问题,因此本申请的数据分享系统设置了虚拟的服务器模块111和应用模块,通过服务器模块111来整合第一应用客户端10和应用模块110的数据,服务器模块111与第一应用客户端10的websocket连接可保证获取不同类型的浏览器上传的媒体流数据,服务器模块111可以根据第一应用客户端10的浏览器类型,将上述融合得到的界面显示数据转化为与浏览器类型对应浏览器所支持的界面显示数据,并将转化后的界面显示数据发送给第一应用客户端10。同时服务器模块111和应用模块110的分离,使得服务器模块111对第一应用客户端10和应用模块110的数据进行整合不会影响到应用模块110的视频数据采集质量,提高了视频数据采集质量以及数据整合质量。
另外需要说明的是,在数据分享的过程中,第一应用客户端10会按照一定的周期(比如每隔3s等)向服务器模块111发送心跳信息,在心跳信息中包括第一应用客户端10处于数据分享的状态的第一标识信息,而服务器模块111接收到心跳信息后向第一应用客户端10返回心跳反馈信息,且记录心跳信息中的第一标识信息。则服务器模块111会根据该第一标识信息拒绝其它应用客户端的数据分享请求。
进一步地,当第一应用客户端10的数据分享结束后,服务器模块111会删除系统中记录的第一标识信息,这样可以接受其它应用客户端的数据分享请求。
以下以另一具体的应用实例来说明本发明中数据分享方法,本发明实施例中的数据分享系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
以分布式系统为区块链系统为例,参见图6是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,Peer ToPeer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图6示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务还包括实现数据分享功能的代码,该数据分享功能主要包括:
当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接;通过所述通信连接接收所述第一应用客户端发送的当前屏幕显示数据;采集当前环境的视频数据;将所述当前屏幕显示数据及视频数据进行融合得到界面显示数据;将所述界面显示数据发送给所述数据分享会话的应用客户端进行显示,所述数据分享会话的应用客户端包括所述第一应用客户端。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图7为本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本发明实施例还提供一种数据分享系统,其结构示意图如图8所示,具体可以包括:
连接建立单元20,用于当接收第一应用客户端到发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接。
该连接建立单元20,具体用于创建服务器模块和应用模块,及建立所述服务器模块与应用模块之间的连接,通过服务器模块接收所述数据分享请求后,将所述数据分享请求发送给应用模块;所述服务器模块接收所述应用模块根据所述数据分享请求返回的提供信令及候选信令;通过所述服务器模块将所述提供信令和候选信令返回给第一应用客户端,并接收所述第一应用客户端的应答信令,则与所述第一应用客户端之间建立数据分享会话的通信连接。
屏幕数据单元21,用于通过所述连接建立单元20建立的通信连接接收所述第一应用客户端发送的当前屏幕显示数据。
采集单元22,用于采集当前环境的视频数据。
融合单元23,用于将所述屏幕数据单元21接收的当前屏幕显示数据及采集单元23采集的视频数据进行融合得到界面显示数据。
该融合单元23,具体用于获取所述视频数据中的人物子视频数据,所述人物子视频数据中包含的人物具有音频信息;设置所述人物子视频数据在所述界面显示数据对应的应用界面中所占用的区域信息;确定所述界面显示数据包括所述当前屏幕显示数据、人物子视频数据及区域信息。
其中,视频数据中包含多个人物;该融合单元23,还用于获取所述人物子视频数据对应人物所处的位置信息;则融合单元23在设置所述人物子视频数据在所述界面显示数据对应的应用界面中所占用的区域信息时,具体用于根据所述位置信息设置所述人物子视频数据在所述界面显示数据对应的应用界面中所占用的区域信息,使得所述人物视频数据在应用界面占用的区域与所述位置信息相对应。
分享单元24,用于将所述融合单元23得到的界面显示数据发送给所述数据分享会话的应用客户端进行显示,所述数据分享会话的应用客户端包括所述第一应用客户端。
进一步地,本本实施例的数据分享系统还可以包括:心跳单元25,用于接收所述第一应用客户端发送的心跳信息,所述心跳信息中包括所述第一应用客户端是否处于数据分享的状态的标识信息;根据所述心跳信息向所述第一应用客户端返回心跳反馈信息,及记录所述标识信息。
这样,当连接建立单元20接收第二应用客户端的数据分享请求,若所述心跳单元25记录的标识信息用于标识所述第一应用客户端处于数据分享的状态,拒绝所述第二应用客户端的数据分享请求。
进一步地,当连接建立单元20,还用于当所述第一应用客户端结束对数据的分享,断开与所述第一应用客户端之间的所述通信连接,删除所述心跳单元25记录的标识信息。
在本实施例的系统中,融合单元23将分享用户的第一应用客户端的当前屏幕显示数据与采集的视频数据进行融合,实现了将多种类型的数据进行同屏分享;且由于将当前屏幕显示数据与视频数据进行融合得到同一图层的界面显示数据,数据量比较小,使得分享单元24在数据分享过程中传输的数据量小,提高了数据分享的速率。
本发明实施例还提供一种终端设备,其结构示意图如图9所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)30(例如,一个或一个以上处理器)和存储器31,一个或一个以上存储应用程序321或数据322的存储介质32(例如一个或一个以上海量存储设备)。其中,存储器31和存储介质32可以是短暂存储或持久存储。存储在存储介质32的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器30可以设置为与存储介质32通信,在终端设备上执行存储介质32中的一系列指令操作。
具体地,在存储介质32中储存的应用程序321包括数据分享的应用程序,且该程序可以包括上述数据分享系统中的连接建立单元20,屏幕数据单元21,融合单元23,采集单元22,分享单元24和心跳单元25,在此不进行赘述。更进一步地,中央处理器30可以设置为与存储介质32通信,在终端设备上执行存储介质32中储存的数据分享的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源33,一个或一个以上有线或无线网络接口34,一个或一个以上输入输出接口35,和/或,一个或一个以上操作系统323,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由上述数据分享系统所执行的步骤可以基于该图9所示的终端设备的结构。
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述数据分享系统所执行的数据分享方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述数据分享系统所执行的数据分享方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
另外,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的数据分享方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种数据分享方法、系统及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种数据分享方法,其特征在于,包括:
当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接;
通过所述通信连接接收所述第一应用客户端发送的当前屏幕显示数据;
采集当前环境的视频数据;
将所述当前屏幕显示数据及视频数据进行融合得到界面显示数据;
将所述界面显示数据发送给所述数据分享会话的应用客户端进行显示,所述数据分享会话的应用客户端包括所述第一应用客户端;
其中所述将所述当前屏幕显示数据及视频数据进行融合得到界面显示数据,具体包括:
获取所述视频数据中的人物子视频数据,所述人物子视频数据中包含的人物具有音频信息;
获取所述人物子视频数据对应人物所处的位置信息,根据所述位置信息设置所述人物子视频数据在所述界面显示数据对应的应用界面中所占用的区域信息,使得所述人物子视频数据在应用界面占用的区域与所述位置信息相对应;其中应用界面上包括对应视频数据中人物位置信息的子区域;当人物具有音频信息时,获取的人物子视频数据中包括人物的数据,且根据人物在视频中的位置信息,将人物子视频数据融合到应用界面的子区域中进行显示,在应用界面不会显示其他子区域;
确定所述界面显示数据包括所述当前屏幕显示数据、人物子视频数据及区域信息。
2.如权利要求1所述的方法,其特征在于,所述当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接之前,所述方法还包括:
创建服务器模块和应用模块,及建立所述服务器模块与应用模块之间的连接;
则所述当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接,具体包括:
通过所述服务器模块接收所述第一应用客户端发送的数据分享请求后,将所述数据分享请求发送给应用模块;
所述服务器模块接收所述应用模块根据所述数据分享请求返回的提供信令及候选信令;
通过所述服务器模块将所述提供信令和候选信令返回给第一应用客户端,并接收所述第一应用客户端的应答信令,则与所述第一应用客户端之间建立数据分享会话的通信连接。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述第一应用客户端发送的心跳信息,所述心跳信息中包括所述第一应用客户端是否处于数据分享的状态的标识信息;
根据所述心跳信息向所述第一应用客户端返回心跳反馈信息,及记录所述标识信息。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
当接收第二应用客户端的数据分享请求,若所述标识信息用于标识所述第一应用客户端处于数据分享的状态,拒绝所述第二应用客户端的数据分享请求。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第一应用客户端结束对数据的分享,断开与所述第一应用客户端之间的所述通信连接,删除所述标识信息。
6.一种数据分享系统,其特征在于,包括:
连接建立单元,用于当接收到第一应用客户端发送的数据分享请求时,根据所述数据分享请求与第一应用客户端之间建立基于数据分享会话的通信连接;
屏幕数据单元,用于通过所述通信连接接收所述第一应用客户端发送的当前屏幕显示数据;
采集单元,用于采集当前环境的视频数据;
融合单元,用于将所述当前屏幕显示数据及视频数据进行融合得到界面显示数据;
分享单元,用于将所述界面显示数据发送给所述数据分享会话的应用客户端进行显示,所述数据分享会话的应用客户端包括所述第一应用客户端;
其中所述融合单元具体用于获取所述视频数据中的人物子视频数据,所述人物子视频数据中包含的人物具有音频信息;
获取所述人物子视频数据对应人物所处的位置信息,根据所述位置信息设置所述人物子视频数据在所述界面显示数据对应的应用界面中所占用的区域信息,使得所述人物子视频数据在应用界面占用的区域与所述位置信息相对应;其中应用界面上包括对应视频数据中人物位置信息的子区域;当人物具有音频信息时,获取的人物子视频数据中包括人物的数据,且根据人物在视频中的位置信息,将人物子视频数据融合到应用界面的子区域中进行显示,在应用界面不会显示其他子区域;
确定所述界面显示数据包括所述当前屏幕显示数据、人物子视频数据及区域信息。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至5任一项所述的数据分享方法。
8.一种终端设备,其特征在于,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如权利要求1至5任一项所述的数据分享方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210020331.6A CN114374682B (zh) | 2022-01-07 | 2022-01-07 | 数据分享方法、系统及存储介质和终端设备 |
PCT/CN2022/077938 WO2023130545A1 (zh) | 2022-01-07 | 2022-02-25 | 数据分享方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210020331.6A CN114374682B (zh) | 2022-01-07 | 2022-01-07 | 数据分享方法、系统及存储介质和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114374682A CN114374682A (zh) | 2022-04-19 |
CN114374682B true CN114374682B (zh) | 2023-03-28 |
Family
ID=81143549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210020331.6A Active CN114374682B (zh) | 2022-01-07 | 2022-01-07 | 数据分享方法、系统及存储介质和终端设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114374682B (zh) |
WO (1) | WO2023130545A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101080000A (zh) * | 2007-07-17 | 2007-11-28 | 华为技术有限公司 | 视频会议中显示发言人的方法、系统、服务器和终端 |
CN105306868A (zh) * | 2014-06-17 | 2016-02-03 | 三亚中兴软件有限责任公司 | 视频会议系统及方法 |
US9942519B1 (en) * | 2017-02-21 | 2018-04-10 | Cisco Technology, Inc. | Technologies for following participants in a video conference |
CN112272283A (zh) * | 2020-09-14 | 2021-01-26 | 重庆国翔创新教学设备有限公司 | 基于双摄像头的多方在线学习方法、客户端及服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459816B (zh) * | 2007-12-14 | 2015-09-09 | 华为终端有限公司 | 一种多点双流会议中控制辅流令牌的方法、系统及设备 |
US20180063480A1 (en) * | 2016-08-29 | 2018-03-01 | Microsoft Technology Licensing, Llc | Gallery view in online meeting systems |
CN107509052B (zh) * | 2017-09-08 | 2020-07-07 | 广州视源电子科技股份有限公司 | 双流视频会议方法、装置、电子设备及系统 |
CN109495711B (zh) * | 2018-12-29 | 2020-10-16 | 南京维沃软件技术有限公司 | 视频通话处理方法、发送终端、接收终端及电子设备 |
CN115643359B (zh) * | 2020-02-28 | 2023-08-22 | 华为技术有限公司 | 一种增强的视频通话方法和系统、电子设备 |
-
2022
- 2022-01-07 CN CN202210020331.6A patent/CN114374682B/zh active Active
- 2022-02-25 WO PCT/CN2022/077938 patent/WO2023130545A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101080000A (zh) * | 2007-07-17 | 2007-11-28 | 华为技术有限公司 | 视频会议中显示发言人的方法、系统、服务器和终端 |
CN105306868A (zh) * | 2014-06-17 | 2016-02-03 | 三亚中兴软件有限责任公司 | 视频会议系统及方法 |
US9942519B1 (en) * | 2017-02-21 | 2018-04-10 | Cisco Technology, Inc. | Technologies for following participants in a video conference |
CN112272283A (zh) * | 2020-09-14 | 2021-01-26 | 重庆国翔创新教学设备有限公司 | 基于双摄像头的多方在线学习方法、客户端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN114374682A (zh) | 2022-04-19 |
WO2023130545A1 (zh) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836114B2 (en) | Device searching system and method for data transmission | |
EP2933982B1 (en) | Media stream transfer method and user equipment | |
CN111432158B (zh) | 媒体节点的负载均衡方法及装置、存储介质、电子装置 | |
JP6399204B2 (ja) | 情報処理装置、画面切り替え方法、プログラム、伝送システム | |
CN112817671B (zh) | 图像处理方法、装置、设备以及计算机可读存储介质 | |
CN111600963A (zh) | 文档数据传输方法和装置 | |
CN111131753B (zh) | 一种会议处理方法及会管平台服务器 | |
CN114374682B (zh) | 数据分享方法、系统及存储介质和终端设备 | |
CN113099157A (zh) | 一种视频会议控制方法和装置 | |
CN110620672B (zh) | 多人会话数据处理方法、装置、计算机设备和存储介质 | |
CN114285829B (zh) | WebRTC连接方法及系统 | |
CN115379279A (zh) | 多屏联动的交互方法及装置、系统、存储介质、电子设备 | |
CN111404977B (zh) | 文档远程演示和观看方法以及终端设备 | |
US9485458B2 (en) | Data processing method and device | |
CN112332995A (zh) | 会议状态更新方法、装置、计算机设备和存储介质 | |
CN115037978B (zh) | 投屏方法及相关设备 | |
CN115037979B (zh) | 投屏方法及相关设备 | |
CN113810775B (zh) | 语音视频连线系统和方法 | |
CN114979687A (zh) | 基于边缘计算的连麦控制方法及装置 | |
CN111541855A (zh) | 一种视频通话方法、装置及系统 | |
JP2017212644A (ja) | 通信装置、システム、情報処理方法及びプログラム | |
CN115002101A (zh) | 云会议的文件共享方法及相关装置 | |
CN114493578A (zh) | 一种用户注册方法、装置及存储介质和服务器 | |
WO2017096788A1 (zh) | 一种视频通话时生成联系人头像的方法和系统 | |
CN117640594A (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 |