CN110943849B - 通信组建立方法、装置、计算机设备及存储介质 - Google Patents
通信组建立方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110943849B CN110943849B CN201911366264.8A CN201911366264A CN110943849B CN 110943849 B CN110943849 B CN 110943849B CN 201911366264 A CN201911366264 A CN 201911366264A CN 110943849 B CN110943849 B CN 110943849B
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- communication group
- communication terminal
- target communication
- 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
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种通信组建立方法、装置、计算机设备及存储介质。所述方法包括:获取客户端显示界面上的输入指令,根据输入指令选择目标通信终端,组成通信组,通信组包括通信密钥;在通信组中的目标通信终端中建立通信通道;实时接收通信组中每个目标通信终端的传输数据,传输数据包括数据类型和接收端信息;采用通信密钥对传输数据进行数据加扰处理,得到加扰数据;将加扰数据保存至预设的通信数据库中,并根据数据类型将加扰数据发送至通信组中与接收端信息对应的目标通信终端中。本发明的技术方案有利于业务员相互沟通合作,并保证消息私密性和降低展业成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种通信组建立方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的不断发展,很多线下交流都转移到通过线上实现,包括文字、语音或者视频的交互。
例如,很多音视频通信应用程序已经具备这样的功能,可以使用户之间的交流跨越了地域的局限。然而,通过互联网的线上交流虽然带来了便利,但是对于很多特定的交流场景,需要一定的安全和保密性。通过第三方应用程序实现的线上交互不可避免的存在泄漏的风险,并且,很多音视频沟通中也会产生大量的流量费用。
发明内容
本发明实施例提供一种通信组建立方法、装置、计算机设备及存储介质,以解决目前市场上的音视频通信过程中容易发生泄密,并产生大量的流量费用,不利于沟通安全的问题。
一种通信组建立方法,包括:
获取客户端显示界面上的输入指令,根据所述输入指令选择目标通信终端,组成通信组,所述通信组包括通信密钥;
在所述通信组中的所述目标通信终端中建立通信通道;
实时接收所述通信组中每个所述目标通信终端的传输数据,所述传输数据包括数据类型和接收端信息;
采用所述通信密钥对所述传输数据进行数据加扰处理,得到加扰数据;
将所述加扰数据保存至预设的通信数据库中,并根据所述数据类型将所述加扰数据发送至所述通信组中与所述接收端信息对应的所述目标通信终端中,其中,所述通信数据库和所述通信组关联。
一种通信组建立装置,包括:
获取指令模块,用于获取客户端显示界面上的输入指令,根据所述输入指令选择目标通信终端,组成通信组,所述通信组包括通信密钥;
通信通道模块,用于在所述通信组中的所述目标通信终端中建立通信通道;
数据接收模块,用于实时接收所述通信组中每个所述目标通信终端的传输数据,所述传输数据包括数据类型和接收端信息;
加扰数据模块,用于采用所述通信密钥对所述传输数据进行数据加扰处理,得到加扰数据;
通信数据库模块,用于将所述加扰数据保存至预设的通信数据库中,并根据所述数据类型将所述加扰数据发送至所述通信组中与所述接收端信息对应的所述目标通信终端中,其中,所述通信数据库和所述通信组关联。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述通信组建立方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述通信组建立方法。
上述通信组建立方法、装置、计算机设备及存储介质中,先接收客户端显示界面上的输入指令,根据输入指令选择通信终端,组成通信组,通信组包括通信密钥;为通信组内的通信终端建立视频通道;实时接收通信组内各个通信终端的传输数据,传输数据包括数据类型和接收端信息;采用通信密钥对传输数据进行数据加扰处理,得到加扰数据;最后将加扰数据保存至预设的通信数据库中,并根据数据类型将加扰数据发送至接收端信息对应的通信终端中,其中,通信数据库和通信组关联。通过输入指令为对应的通信终端建立通信组,并且建立视频通道,对视频通道内的传输数据进行加扰后保存,并且将传输数据发送到对应的通信终端。保证了不同通信终端视频交互的便利,并且也保证了数据交互的安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中通信组建立方法的一应用环境示意图;
图2是本发明一实施例中通信组建立方法的一流程图;
图3是本发明一实施例中通信组建立方法中步骤S11的一流程图;
图4是本发明一实施例中通信组建立方法的步骤S12的一流程图;
图5是本发明一实施例中通信组建立方法中步骤S15的一流程图;
图6是本发明一实施例中通信组建立方法中步骤S153的一流程图;
图7是本发明一实施例中通信组建立装置的一示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的通信组建立方法,可应用在如图1所示的应用环境中,该应用环境包括服务端和客户端,其中,服务端和应用客户端之间通过网络进行连接,该网络可以是有线网络或者无线网络,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机和平板电脑和便携式可穿戴设备,应用服务端和推送服务端具体均可以用独立的服务器或者多个服务器组成的服务器集群实现。服务端获取客户端显示界面上的输入指令,根据输入指令选择目标通信终端,组成通信组,通信组包括通信密钥;在通信组中的目标通信终端中建立通信通道;实时接收通信组中每个目标通信终端的传输数据,传输数据包括数据类型和接收端信息;采用通信密钥对传输数据进行数据加扰处理,得到加扰数据;将加扰数据保存至预设的通信数据库中,并根据数据类型将加扰数据发送至通信组中与接收端信息对应的目标通信终端中。
在一实施例中,如图2所示,提供一种通信组建立方法,以该方法应用在图1中的服务端为例进行说明,包括:
S11:获取客户端显示界面上的输入指令,根据输入指令选择目标通信终端,组成通信组,通信组包括通信密钥。
具体地,客户端为具有显示界面的智能终端,用户通过客户端界面进行编辑或者选择操作,客户端监控用户在显示界面上的操作,形成输入指令。具体地,用户可以在显示界面中输入需要建立视频交互的人员或者终端的名称、编码或者其他标识,或者,用户在显示界面中通过勾选、点击或者其他选择操作选择需要建立视频交互的人员或者终端的名称、编码或者其他标识。可选地,客户端在接收到用户输入的确认指令之后,将监控到的客户在显示界面上的操作,形成输入指令。
服务端在接收到输入指令之后,根据该输入指令来选择对应的目标通信终端,组成通信组。该通信组可以为一个语音和/或视频交互的群组或者社区,通信组内的目标通信终端可以与通信组内的其他目标通信终端进行实时的语音和/或视频交互。该通信组包括通信密钥,通过该通信密钥,可以对通信组内的数据交互进行加扰和/或解扰,更好地保证了数据交互的安全性。
S12:在通信组中的目标通信终端中建立通信通道。
具体地,可以采用WEBRTC(Web Real-Time Communication)技术为通信组内的目标通信终端建立视频通道。WEBRTC用于在不同的目标通信终端之间建立和管理基于浏览器的点对点(Peer To Peer Lending,P2P)的语音、视频、文件通信,WEBRTC服务系统还可以向第三方终端开放API(Application Programming Interface,应用程序接口)接口,用于接收参数返回结果。API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
通过WEBRTC技术为通信组内的多个目标通信终端建立视频通道可以采用网状模型或者转发模型。
在一个实施方式中,采用WEBRTC技术的网状模型为通信组内的多个目标通信终端建立视频通道。网状模型是基于WEBRTC技术的原生实现,每一个P2P连接有独立的传输策略控制,通信质量有一定的保障。通过网状模型建立的视频通道,音视频数据流只在多个目标通信终端之间相互传输,不经过任何的服务器节点,不做混流或转发。示例性地,以四个目标通信终端为例,要实现四个目标通信终端之间的音视频通话,每个目标通信终端与其它三个目标通信终端需要建立P2P连接,每一个P2P连接都有自己的媒体传输通道,负责音视频数据流的传输。
在一个实施方式中,采用WEBRTC技术的转发模型为通信组内的多个目标通信终端建立视频通道。
转发模型借助于中央服务器节点,目标通信终端无须直接与其它目标通信终端建立P2P连接,而只须与服务端建立P2P连接。服务端在接收到一个目标通信终端的音视频流之后负责转发给其它目标通信终端,也可以将多个目标通信终端的音视频流做混合或者转码后再传输。甚至可以在服务端上做媒体流协议的转换,方便接入其它流媒体服务系统。利用转发架构,可以很容易地在服务端做不同的定制化需求。
可选地,转发模型中的服务端实现可以为MCU(Multipoint Control Unit)或者SFU(Selective Forwarding Unit)两种。MCU是传统视频会议系统中的核心控制单元,在WEBRTC的技术实现中,适合于多人音视频通话场景,MCU可以对接收到的多路流进行转码和混合,输出为一路流,这样做的好处是节省终端用户的下行带宽,并且还能够对不同网络条件的用户,订制不同码率的输出视频流,让多人场景有更好的用户体验。其中,SFU是一种路由和转发WEBRTC客户端音视频数据流的服务端程序。相比于MCU,SFU的功能相对单一,SFU以最低的开销来转发各路媒体流,从发布客户端复制音视频流的信息,然后分发到多个订阅客户端。
S13:实时接收通信组中每个目标通信终端的传输数据,传输数据包括数据类型和接收端信息。
具体地,数据类型可以包括文本类型、图标类型、视频类型和音频类型等。接收端信息为对应的传输数据的发送目标端,即指该传输数据需要发送给哪个或者哪些目标通信终端。在目标通信终端发送传输数据时,可以指定接收端信息,该接收端信息可以为一个目标通信终端也可以为两个以上的目标通信终端。可选地,可以设置默认的接收端信息为发送到通信组内所有的目标通信终端,即在发送传输数据的目标通信终端未指定或者输入接收端信息时默认为群发模式,该群发模式可以是通信组内所有的目标通信终端,也可以是通信组内指定的两个以上的部分目标通信终端。而数据类型可以通过服务端进行智能识别确定。
S14:采用通信密钥对传输数据进行数据加扰处理,得到加扰数据。
具体地,通过通信密钥对传输数据进行加扰处理,所得到的进行过加扰处理的传输数据为加扰数据,其中,传输数据类型可以包括文本类型、图标类型、视频类型和音频类型等。提高数据传输和保存的安全性。
S15:将加扰数据保存至预设的通信数据库中,并根据数据类型将加扰数据发送至通信组中与接收端信息对应的目标通信终端中,其中,通信数据库和通信组关联。
具体地,通信数据库为根据建立好的通信组匹配的一个数据库,用于存储和该通信组相关的数据。在将传输数据进行加扰之后,将加扰数据保存至预设的通信数据库中。并且,根据数据类型选择对应的传输方式将加扰数据发送至接收端信息对应的目标通信终端中。
本实施例中,先接收客户端显示界面上的输入指令,根据输入指令选择目标通信终端,组成通信组,通信组包括通信密钥;为通信组内的目标通信终端建立视频通道;实时接收通信组内各个目标通信终端的传输数据,传输数据包括数据类型和接收端信息;采用通信密钥对传输数据进行数据加扰处理,得到加扰数据;最后将加扰数据保存至预设的通信数据库中,并根据数据类型将加扰数据发送至接收端信息对应的目标通信终端中,其中,通信数据库和通信组关联。通过输入指令为对应的目标通信终端建立通信组,并且建立视频通道,对视频通道内的传输数据进行加扰后保存,并且将传输数据发送到对应的目标通信终端。保证了不同目标通信终端视频交互的便利,并且也保证了数据交互的安全。
在一实施例中,如图3所示,在步骤S11中,根据输入指令选择目标通信终端,组成通信组,包括:
S111:从输入指令中获取目标通信终端标识。
具体地,该目标通信终端标识可以由用户通过客户端界面直接输入,或者可以由用户在客户端界面中进行选择得到。进一步地,可以通过输入约束条件的方式来选择目标通信终端。示例性地,可以通过选择地域位置、用户权限、用户等级、用户性别或者其他因素来输入约束条件。服务端在接收到该约束条件构成的输入指令之后,从预设的用户数据库中进行筛选,获取符合上述约束条件的目标通信终端的标识。优选地,可以在根据约束条件筛选出符合条件的目标通信终端标识之后,再返回这些目标通信终端标识至客户端界面中,由用户进行二次选择确认最终需要组成通信组的目标通信终端标识。
S112:采用分布式存储系统中的数据库查询目标通信终端标识对应的目标通信终端的在线状态,向处于不在线状态的目标通信终端发送上线提示信息。
具体地,采用的分布式存储系统中的数据库可以是一种开源的使用ANSI(美国国家标准协会)C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value分布式存储系统数据库,即Redis数据库,并且能够提供多种语言的API。通过Redis数据库查询要建立通信组的目标通信终端的在线状态,可选地,在线状态可以包括上线状态和不在线状态。向处于不在线状态的目标通信终端发送上线提示信息,以提示对应的目标通信终端进行上线操作。
可以理解地,若所有目标通信终端都处于上线状态,或者没有目标通信终端处于不在线状态,则直接将处于上线状态的目标通信终端组成通信组。
S113:继续查询目标通信终端的在线状态,将处于上线状态的目标通信终端组成通信组。
具体地,在向处于不在线状态的目标通信终端发送上线提示信息之后,继续查询目标通信终端对应的用户的在线状态,若目标通信终端均处于上线状态,则将处于上线状态的目标通信终端组成通信组。
可选地,直接继续查询目标通信终端对应的用户的在线状态,若目标通信终端均处于上线状态,则将处于上线状态的目标通信终端组成通信组。
可选地,可以设定查询间隔,即每隔一段时间查询目标通信终端对应的用户的在线状态,避免过多的消耗计算机的计算负担。
本实施例中,先从输入指令中获取目标通信终端标识;再从Redis数据库中查询目标通信终端标识对应的目标通信终端的在线状态,向处于不在线状态的目标通信终端发送上线提示信息;继续查询目标通信终端对应的用户的在线状态,若目标通信终端均处于上线状态,则将处于上线状态的目标通信终端组成通信组。保证了通信组的顺利建立,能够提高通信组建立的效率。
在一实施例中,如图4所示,在步骤S12中,在通信组中的目标通信终端中建立通信通道,包括:
S121:对通信组中的每一目标通信终端建立连接协议,其中,连接协议为允许网络地址转换或者防火墙后的对象可以通过传输控制协议或者用户数据报协议接收到数据。
具体地,对通信组中每一目标通信终端建立连接协议,其中连接协议可以是,采用P2P的STUN(Simple Traversal of UDP Through NAT)简单NAT穿越。其中STUN为NAT(网络地址转换)会话穿越应用程序,它允许位于NAT(或多重NAT)后的目标通信终端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地网络端口所绑定的互联网端端口。这些信息被用来在两个同时处于NAT路由器之后的目标通信终端之间创建UDP(User Datagram Protocol,用户数据报协议)通信。也可以简单的叫做NAT穿越。这种解决方案的基本思路是,局域网接入用户通过某种机制预先得到用户内网地址对应在NAT出口端上的公网地址,然后在用户报文中的地址信息处直接填写NAT出口端上的公网地址,而不是用户的私有IP地址,这样报文中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头部的IP地址即可,负载中的IP地址信息和报文头部地址信息是一致的。STUN协议就是基于此思路来解决应用层地址的转换问题的。
S122:若连接协议建立失败,则采用预设的媒体流转发服务对连接协议建立失败的目标通信终端建立通信通道。
具体地,在穿越过程中,内网主机向NAT外的STUN服务器发送STUN请求,STUN服务器收到请求消息,产生响应消息,响应消息中包含请求消息的源端口地址,即内网主机在NAT出口端对应的外部端口地址。然后响应消息通过NAT发送给内网主机,内网主机在以后的业务呼叫过程时,将该公网地址填入呼叫协议的报文负载中,告知对方自己的RTP(Real-time Transport Protocol,实时传输协议)接收地址和端口号为NAT外的地址和端口号。由于通过STUN协议己在NAT中预先建立媒体流的NAT映射表,故媒体流可以顺利穿越NAT。
进一步地,NAT穿越失败,则采用TURN媒体流转发服务对NAT穿越失败的目标通信终端建立视频通道。
具体地,TURN为中继穿越NAT(Traversal using relay NAT)的简称,解决思路是TURN服务器为客户端分配地址并对媒体流进行中继转发。在TURN网络协议中采用了CLIENT/SERVER结构(客户端和服务端结构),软件系统体系结构,通过它可以充分利用用户两端硬件环境的优势,将任务合理分配到CLIENT端和SERVER端来实现,降低了系统的通信开销。TURN CLIENT通过UDP向NAT外部的TURN SERVER发送请求消息询问自身网络地址转换后的网络地址,TURN SERVER收到请求消息,产生响应消息,响应消息中携带请求消息的源端口,即TURN CLIENT在NAT中对应的外部端口。然后响应消息通过NAT发送给TURN CLIENT,TURN CLIENT通过响应消息体中的内容得知TURN CLIENT在NAT中对应的外部地址,并且将外部地址填入呼叫协议的UDP负载中,同时还可以在终端注册时直接注册网络地址转换后的公有IP地址,这样就解决了穿越NAT的通信建立问题以及作为被呼叫时的问题。本地端的接收地址和端口号为NAT外的地址和端口号。
本实施例中,先对通信组内的每一目标通信终端建立连接协议,即可以是STUN网络协议的NAT穿越;若连接协议建立失败,则采用TURN媒体流转发服务对NAT穿越失败的目标通信终端建立视频通道。通过两种方式互补更好地保证了视频通道建立的顺利和可靠。
在一实施例中,如图5所示,在步骤S15中,根据数据类型将加扰数据发送至通信组中与接收端信息对应的目标通信终端中,包括:
S151:根据接收端信息从通信组中选取对应的目标通信终端,作为接收端。
具体地,接收端信息为发出传输数据的目标通信终端所选择的数据接收方,在该步骤中,通过接收端信息从通信组中选取对应的目标通信终端,作为接收端。
S152:根据数据类型对加扰数据进行分类,得到不同类型的加扰数据。
具体地,通过数据类型对加扰数据进行划分,可以将加扰数据划分为文本类型、图标类型、视频类型和音频类型等的加扰数据。
S153:通过预设的传输策略将不同类型的加扰数据发送到接收端中。
具体地,传输策略为预先设置好的数据传输方式,可选地,该传输策略可以包括对不同类型数据的传输时序上的选择、传输方式的选择、不同接收端的发送时序的选择等。通过传输策略的设定可以更好地保证数据传输的效率和安全。
示例性地,该传输策略可以为对不同类型的数据选择不同的传输方式,将系统划分为信令服务器,TURN、STUN P2P服务器和音视频中转服务器。信令服务器主要用于指令的加密传输,TURN服务器用于音视频流的转发,STUN P2P服务器用于NAT穿越打洞,实现服务器的P2P直连。音频数据或者视频数据采用RUDP协议,使用FEC前向纠错和统计拥塞控制算法去控制音视频的重传策略。在实际的音视频传输过程由于流量很大,容易导致音视频的卡顿和响应速度慢,传统的TCP(Transmission Control Protocol,传输控制协议)链接会由于需要保证数据的可靠交互在网络拥塞情况下会导致音视频数据重传,从而导致音视频播放卡顿等体验不好的效果。传统的UDP又会因为数据的不可靠,从而导致音视频播放画面的花屏的效果。
RUDP是一种可靠地UDP算法,它使用FEC前向纠错算法可以在每一帧数据做适当的冗余,当数据有错误时,可以通过冗余数据进行恢复,从而减少数据重传的次数和时间。RUDP也使用统计拥塞控制算法,可以在服务器之间实时统计数据流的接收和发送情况,根据统计结果动态调整发送/接收音视频包的数据量,从而达到网络数据的平稳,避免网络拥塞和波动。
因此,可以设定所有的音频和信令传输使用信令服务器,这可以优先保证音频的完整传输。音频到达后要和到达的视频进行时间戳关联,实现音视频同步。而PPT等文档资料采用信令服务器传输保证实时。
本实施例中,根据接收端信息从通信组中选取对应的目标通信终端,作为接收端;采用数据类型对加扰数据进行划分,得到不同类型的加扰数据;通过预设的传输策略将不同类型的加扰数据发送到接收端中。可以保证数据传输地灵活和有效,更好地便于通信组内的数据交互。
在一实施例中,如图6所示,在步骤S153中,通过预设的传输策略将不同类型的加扰数据发送到接收端中,包括:
S1531:从预设的传输策略中确定不同类型的加扰数据的传输时序,根据传输时序构建传输数据队列。
具体地,确定不同类型的加扰数据的传输时序,其中,传输时序为将类型为文本类型、图标类型、视频类型和音频类型等的经过加扰处理的加扰数据按照数据类型需求优先级或者数据大小等的特征来选择数据传输的先后时序,进一步的,将这些确定好传输时序的加扰数据构建成一组以上的传输数据队列。
S1532:从传输数据队列中依序将加扰数据发送至接收端中,其中,文本类型和音频类型的加扰数据采用信令服务器传输。
具体地,将传输数据队列中的加扰数据按照传输时序发送到与目标通信终端对应的接收端中,为了保证文本类型的加扰数据的安全性和音频类型的加扰数据传输稳定性可以采用信令服务器进行加密传输。
本实施例中,通过对不同类型的加扰数据通过传输时序进行构建传输数据队列,可以保证在通信组的交互中更好的保证数据交互的流畅性,做到有针对性的数据传输。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种通信组建立装置,该通信组建立装置与上述实施例中通信组建立方法一一对应。如图7所示,该通信组建立装置包括:获取指令模块11、通信通道模块12、数据接收模块13、加扰数据模块14和通信数据库模块15。各功能模块详细说明如下:
获取指令模块11,用于获取客户端显示界面上的输入指令,根据输入指令选择目标通信终端,组成通信组,通信组包括通信密钥;
通信通道模块12,用于在通信组中的目标通信终端中建立通信通道;
数据接收模块13,用于实时接收通信组中每个目标通信终端的传输数据,传输数据包括数据类型和接收端信息;
加扰数据模块14,用于采用通信密钥对传输数据进行数据加扰处理,得到加扰数据;
通信数据库模块15,用于将加扰数据保存至预设的通信数据库中,并根据数据类型将加扰数据发送至通信组中与接收端信息对应的目标通信终端中,其中,通信数据库和通信组关联。
进一步地,获取指令模块11包括:
获取标识子模块111,用于从输入指令中获取目标通信终端标识;
状态查询子模块112,用于采用分布式存储系统中的数据库查询目标通信终端标识对应的目标通信终端的在线状态,向处于不在线状态的目标通信终端发送上线提示信息;
通信组子模块113,用于继续查询目标通信终端在线状态,将处于上线状态的目标通信终端组成通信组。
进一步地,通信通道模块12包括:
连接协议子模块121,用于对通信组中的每一目标通信终端建立连接协议,其中,连接协议为允许网络地址转换或者防火墙后的对象可以通过传输控制协议或者用户数据报协议接收到数据;
转发服务子模块122,用于在连接协议建立失败时,采用预设的媒体流转发服务对连接协议建立失败的目标通信终端建立通信通道。
进一步地,通信数据库模块15包括:
接收端子模块151,用于根据接收端信息从通信组中选取对应的目标通信终端,作为接收端;
数据分类子模块152,用于根据数据类型对加扰数据进行分类,得到不同类型的加扰数据;
传输策略子模块153,用于通过预设的传输策略将不同类型的加扰数据发送到接收端中。
进一步地,传输策略子模块153包括:
传输队列子模块1531,用于从预设的传输策略中确定不同类型的加扰数据的传输时序,根据传输时序构建传输数据队列;
信令传输子模块1532,用于从传输数据队列中依序将加扰数据发送至接收端中,其中,文本类型和音频类型的加扰数据采用信令服务器传输。
关于通信组建立装置的具体限定可以参见上文中对于通信组建立方法的限定,在此不再赘述。上述通信组建立装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通信组建立方法。
在一实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中通信组建立方法的步骤,例如步骤S11至步骤S15。或者,处理器执行计算机程序时实现上述实施例中通信组建立装置的各模块/单元的功能,例模块11至模块15的功能。为避免重复,此处不再赘述。
在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中通信组建立方法,或者,该计算机程序被处理器执行时实现上述装置实施例中通信组建立装置中各模块/单元的功能。为避免重复,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
Claims (8)
1.一种通信组建立方法,其特征在于,所述通信组建立方法包括:
获取客户端显示界面上的输入指令,根据所述输入指令选择目标通信终端,组成通信组,所述通信组包括通信密钥;
采用WEBRTC技术在所述通信组中的所述目标通信终端中建立通信通道;其中,通过WEBRTC技术为通信组内的多个目标通信终端建立视频通道采用网状模型或者转发模型;
实时接收所述通信组中每个所述目标通信终端的传输数据,所述传输数据包括数据类型和接收端信息;所述数据类型包括文本类型、图标类型、视频类型和音频类型;
采用所述通信密钥对所述传输数据进行数据加扰处理,得到加扰数据;
将所述加扰数据保存至预设的通信数据库中,并根据所述数据类型选择对应的传输方式将所述加扰数据发送至所述通信组中与所述接收端信息对应的所述目标通信终端中,其中,所述通信数据库和所述通信组关联;
所述根据所述输入指令选择所述目标通信终端,组成通信组包括:
从所述输入指令中获取目标通信终端标识;
采用分布式存储系统中的数据库查询所述目标通信终端标识对应的所述目标通信终端的在线状态,向处于不在线状态的所述目标通信终端发送上线提示信息;
继续查询所述目标通信终端的在线状态,将处于上线状态的所述目标通信终端组成通信组。
2.如权利要求1所述的通信组建立方法,其特征在于,所述在所述通信组中的所述目标通信终端中建立通信通道包括:
对所述通信组中的每一所述目标通信终端建立连接协议,其中,所述连接协议为允许网络地址转换或者防火墙后的对象可以通过传输控制协议或者用户数据报协议接收到数据;
若所述连接协议建立失败,则采用预设的媒体流转发服务对所述连接协议建立失败的所述目标通信终端建立通信通道。
3.如权利要求1所述的通信组建立方法,其特征在于,所述根据所述数据类型将所述加扰数据发送至所述通信组中与所述接收端信息对应的所述目标通信终端中还包括:
根据所述接收端信息从通信组中选取对应的所述目标通信终端,作为接收端;
根据所述数据类型对所述加扰数据进行分类,得到不同类型的加扰数据;
通过预设的传输策略将不同类型的所述加扰数据发送到接收端中。
4.如权利要求3所述的通信组建立方法,其特征在于,所述通过预设的传输策略将不同类型的所述加扰数据发送到接收端中包括:
从所述预设的传输策略中确定不同类型的加扰数据的传输时序,根据所述传输时序构建传输数据队列;
从所述传输数据队列中依序将所述加扰数据发送至接收端中,其中,文本类型和音频类型的加扰数据采用信令服务器传输。
5.一种通信组建立装置,其特征在于,所述通信组建立装置包括:
获取指令模块,用于获取客户端显示界面上的输入指令,根据所述输入指令选择目标通信终端,组成通信组,所述通信组包括通信密钥;
通信通道模块,用于采用WEBRTC技术在所述通信组中的所述目标通信终端中建立通信通道;通过WEBRTC技术为通信组内的多个目标通信终端建立视频通道采用网状模型或者转发模型;
数据接收模块,用于实时接收所述通信组中每个所述目标通信终端的传输数据,所述传输数据包括数据类型和接收端信息;所述数据类型包括文本类型、图标类型、视频类型和音频类型;
加扰数据模块,用于采用所述通信密钥对所述传输数据进行数据加扰处理,得到加扰数据;
通信数据库模块,用于将所述加扰数据保存至预设的通信数据库中,并根据所述数据类型选择对应的传输方式将所述加扰数据发送至所述通信组中与所述接收端信息对应的所述目标通信终端中,其中,所述通信数据库和所述通信组关联;
所述获取指令模块包括:
获取标识子模块,用于从所述输入指令中获取目标通信终端标识;
状态查询子模块,用于采用分布式存储系统中的数据库查询所述目标通信终端标识对应的所述目标通信终端的在线状态,向处于不在线状态的所述目标通信终端发送上线提示信息;
通信组子模块,用于继续查询所述目标通信终端在线状态,将处于上线状态的所述目标通信终端组成通信组。
6.如权利要求5所述的通信组建立装置,其特征在于,所述通信通道模块包括:
连接协议子模块,用于对所述通信组中的每一所述目标通信终端建立连接协议,其中,所述连接协议为允许网络地址转换或者防火墙后的对象可以通过传输控制协议或者用户数据报协议接收到数据;
转发服务子模块,用于若所述连接协议建立失败,则采用预设的媒体流转发服务对所述连接协议建立失败的所述目标通信终端建立通信通道。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的通信组建立方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的通信组建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366264.8A CN110943849B (zh) | 2019-12-26 | 2019-12-26 | 通信组建立方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366264.8A CN110943849B (zh) | 2019-12-26 | 2019-12-26 | 通信组建立方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110943849A CN110943849A (zh) | 2020-03-31 |
CN110943849B true CN110943849B (zh) | 2023-04-18 |
Family
ID=69912185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911366264.8A Active CN110943849B (zh) | 2019-12-26 | 2019-12-26 | 通信组建立方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110943849B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111491126A (zh) * | 2020-04-10 | 2020-08-04 | 贵州新致普惠信息技术有限公司 | 提高多人联机视频语音稳定性的方法、系统以及设备 |
CN111629031B (zh) * | 2020-04-27 | 2023-04-07 | 浙江大华技术股份有限公司 | 集群存储的方法、系统、计算机设备及存储介质 |
CN113630466B (zh) * | 2021-08-11 | 2023-09-26 | 深圳市欧瑞博科技股份有限公司 | 数据传输方法、系统、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270516A (zh) * | 2014-09-23 | 2015-01-07 | 中兴通讯股份有限公司 | 解密方法和移动终端 |
CN105610789A (zh) * | 2015-12-18 | 2016-05-25 | 成都三零瑞通移动通信有限公司 | 一种适用于多人群聊即时通信的数据加密方法 |
CN107453975A (zh) * | 2016-05-31 | 2017-12-08 | 北京北信源软件股份有限公司 | 一种即时通信群内密聊方法 |
CN107483314A (zh) * | 2016-06-07 | 2017-12-15 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及系统、终端设备 |
WO2018010139A1 (zh) * | 2016-07-14 | 2018-01-18 | 富士通株式会社 | 群组通信装置、方法以及通信系统 |
CN109982448A (zh) * | 2019-04-04 | 2019-07-05 | 海能达通信股份有限公司 | 一种基于关键通信的组呼创建方法、装置及系统 |
-
2019
- 2019-12-26 CN CN201911366264.8A patent/CN110943849B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270516A (zh) * | 2014-09-23 | 2015-01-07 | 中兴通讯股份有限公司 | 解密方法和移动终端 |
CN105610789A (zh) * | 2015-12-18 | 2016-05-25 | 成都三零瑞通移动通信有限公司 | 一种适用于多人群聊即时通信的数据加密方法 |
CN107453975A (zh) * | 2016-05-31 | 2017-12-08 | 北京北信源软件股份有限公司 | 一种即时通信群内密聊方法 |
CN107483314A (zh) * | 2016-06-07 | 2017-12-15 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及系统、终端设备 |
WO2018010139A1 (zh) * | 2016-07-14 | 2018-01-18 | 富士通株式会社 | 群组通信装置、方法以及通信系统 |
CN109982448A (zh) * | 2019-04-04 | 2019-07-05 | 海能达通信股份有限公司 | 一种基于关键通信的组呼创建方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110943849A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110943849B (zh) | 通信组建立方法、装置、计算机设备及存储介质 | |
US10893080B2 (en) | Relaying multimedia conferencing utilizing software defined networking architecture | |
US9083585B2 (en) | Retransmission-based stream repair and stream join | |
US7941551B2 (en) | Tunneling of remote desktop sessions through firewalls | |
JP6389573B2 (ja) | データ送信方法及びシステム並びに関連装置 | |
CN110213652B (zh) | 一种音视频数据传输方法、装置及存储介质 | |
EP2989800B1 (en) | Data communication system and method | |
Dutton | WebRTC in the real world: STUN, TURN and signaling | |
US10187429B2 (en) | Selective redundancy for media sessions | |
CN109417548B (zh) | 封装媒体流量在基于数据报的传输层上的高效传输 | |
CN102763359B (zh) | 多播网络中流控制传输协议的通信量优化器及方法 | |
CN104518908A (zh) | 用于提供网络管理的方法和系统 | |
CN111182257A (zh) | 通信组建立方法、装置、计算机设备及存储介质 | |
CN111092802A (zh) | 一种消息交互方法、发送设备及接收设备 | |
WO2018119677A1 (zh) | 传输链路的续传方法、装置和系统 | |
EP2890081B1 (en) | Aggregated adaptive bit rate streaming | |
US8861520B1 (en) | Packet cloning for enhanced delivery of communication from a source device to one or more destination devices | |
Emmanuel et al. | A peer-to-peer architecture for real-time communication using Webrtc | |
US20230291679A1 (en) | Dynamic use of a packet recovery mechanism to avoid congestion along a network path | |
CN115277649A (zh) | 多媒体会议场景下的文档协同编辑的方法及装置 | |
US10009397B2 (en) | Optimizing teleconferencing using transparent relays | |
CN105991629B (zh) | Tcp连接建立方法及装置 | |
CN111338747A (zh) | 一种数据通信方法、装置、终端设备和存储介质 | |
US11546398B1 (en) | Real-time transport (RTC) with low latency and high scalability | |
Aguirre et al. | Darkcube: A k-Hypercube based P2P VoIP protocol |
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 |