对讲业务的实现方法及装置、对讲服务系统与流程

文档序号:33499574发布日期:2023-03-17 21:49阅读:55来源:国知局
对讲业务的实现方法及装置、对讲服务系统与流程

1.本技术涉及音视频通信技术领域,具体而言,涉及一种对讲业务的实现方法及装置、对讲服务系统。


背景技术:

2.相关技术中,由客户终端的应用发起对讲,在对讲信令交互完成后,由对讲服务端产生一个专门用于与客户终端收发媒体数据的通信端口;因此,在相关技术中每个应用和服务有专门的端口收发数据,用于在对讲服务收到对讲数据后直接转发给其他应用,如果同时多个对讲组发起业务,使用的网络端口会成倍的增加,导致向外网暴露的网络端口增多,浪费网络端口资源的问题。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术实施例提供了一种对讲业务的实现方法及装置、对讲服务系统,以至少解决由于相关技术针对同时发起的多组对讲业务提供多个网络端口造成的向外网暴露的网络端口数量增多的技术问题。
5.根据本技术实施例的一个方面,提供了一种对讲业务的实现方法,包括:在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包;对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口;根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据;根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包。
6.可选地,根据网络地址建立通信通道,包括:确定网络地址对应的客户端,并确定客户端发送数据包的客户端端口;根据网络地址和客户端端口确定套接字;根据套接字反向连接客户端端口,以在服务端端口和客户端端口之间建立通信通道。
7.可选地,套接字为udp套接字。
8.可选地,根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包,包括:对传输数据包的传输协议进行解析,得到协议头,其中,协议头包括:同步信源标识符;根据同步信源标识符确定目标用户标识和多个组用户标识,其中,目标用户标识用于指示发送数据包的多个客户端中的一个客户端,组用户标识用于指示接收目标数据包的多个客户端,目标数据包由目标用户标识指示的客户端发送;启动线程池,并通过线程池将数据包转发到组用户标识指示的客户端。
9.可选地,同步信源标识符还用于标识目标数据流,其中,目标数据流由目标用户标识指示的客户端发送的数据包组成。
10.可选地,在根据网络地址建立通信通道之后,对讲业务的实现方法还包括:监听通信通道;如果监听到通信通道中存在数据包,确定客户端发起对讲业务;如果监听到通信通道中不存在数据包,确定客户端未发起对讲业务。
11.根据本技术实施例的另一方面,还提供了一种对讲服务系统,该系统包括:客户端和服务端,客户端,包括多个客户端端口,用于向服务端发送数据包;服务端,用于执行上述的对讲业务的实现方法。
12.根据本技术实施例的另一方面,还提供了一种对讲业务的实现装置,该装置包括:启动模块,用于在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包;解析模块,用于对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口;创建模块,用于根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据;传输模块,用于根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包。
13.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的对讲业务的实现方法。
14.根据本技术实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,该处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述的对讲业务的实现方法。
15.在本技术实施例中,采用在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包;对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口;根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据;根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包的方式,通过使用单一网络端口接收对讲媒体数据,达到了大幅度减少对外网络端口个数的目的,从而实现了减少向外网暴露的网络端口的数量,节约网络端口资源的技术效果,进而解决了由于相关技术针对同时发起的多组对讲业务提供多个网络端口造成的向外网暴露的网络端口数量增多技术问题。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1是根据相关技术的一种通信系统的示意图;
18.图2是根据本技术实施例的一种对讲业务的实现方法的流程图;
19.图3是根据本技术实施例的一种实时传输协议的头结构图;
20.图4是根据本技术实施例的一种对讲服务系统的示意图;
21.图5是根据本技术实施例的一种对讲业务的实现装置的结构图;
22.图6是根据本技术实施例的一种对讲业务的流程图。
具体实施方式
23.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范
围。
24.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.为了更好地理解本技术实施例,以下将本技术实施例中涉及的技术术语解释如下:
26.套接字(socket):对网络中不同主机上的应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端。
27.线程池:一种多线程处理形式,在处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。
28.在相关技术中,一个组中有多少个成员,对讲服务就要产生多少的数据端口,因此,存在向外网暴露的网络端口数量多,浪费网络资源的问题。为了解决该问题,本技术实施例中提供了相关的解决方案,以下详细说明。
29.根据本技术实施例,提供了一种对讲业务的实现方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
30.本技术实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(global system of mobile communication,gsm)系统、码分多址(code division multiple access,cdma)系统、宽带码分多址(wideband code division multiple access,wcdma)系统、通用分组无线业务(general packet radio service,gprs)、长期演进(long term evolution,lte)系统、lte频分双工(frequency division duplex,fdd)系统、lte时分双工(time division duplex,tdd)、通用移动通信系统(universal mobile telecommunication system,umts)、全球互联微波接入(worldwide interoperability for microwave access,wimax)通信系统或5g系统等。
31.示例性的,本技术实施例应用的通信系统100如图1所示。该通信系统100可以包括网络设备110,网络设备110可以是与终端设备120(或称为通信终端、终端)通信的设备。网络设备110可以为特定的地理区域提供通信覆盖,并且可以与位于该覆盖区域内的终端设备进行通信。可选地,该网络设备110可以是gsm系统或cdma系统中的基站(base transceiver station,bts),也可以是wcdma系统中的基站(nodeb,nb),还可以是lte系统中的演进型基站(evolutional node b,enb或enodeb),或者是云无线接入网络(cloud radio access network,cran)中的无线控制器,或者该网络设备可以为移动交换中心、中继站、接入点、车载设备、可穿戴设备、集线器、交换机、网桥、路由器、5g网络中的网络侧设备或者未来演进的公共陆地移动网络(public land mobile network,plmn)中的网络设备等。
32.该通信系统100还包括位于网络设备110覆盖范围内的至少一个终端设备120。作为在此使用的“终端设备”包括但不限于经由有线线路连接,如经由公共交换电话网络(public switched telephone networks,pstn)、数字用户线路(digital subscriber line,dsl)、数字电缆、直接电缆连接;和/或另一数据连接/网络;和/或经由无线接口,如,针对蜂窝网络、无线局域网(wireless local area network,wlan)、诸如dvb-h网络的数字电视网络、卫星网络、am-fm广播发送器;和/或另一终端设备的被设置成接收/发送通信信号的装置;和/或物联网(internet of things,iot)设备。被设置成通过无线接口通信的终端设备可以被称为“无线通信终端”、“无线终端”或“移动终端”。移动终端的示例包括但不限于卫星或蜂窝电话;可以组合蜂窝无线电电话与数据处理、传真以及数据通信能力的个人通信系统(personal communications system,pcs)终端;可以包括无线电电话、寻呼机、因特网/内联网接入、web浏览器、记事簿、日历以及/或全球定位系统(global positioning system,gps)接收器的pda;以及常规膝上型和/或掌上型接收器或包括无线电电话收发器的其它电子装置。终端设备可以指接入终端、用户设备(user equipment,ue)、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字处理(personal digital assistant,pda)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、5g网络中的终端设备或者未来演进的plmn中的终端设备等。
33.可选地,终端设备120之间可以进行设备到设备(device to device,d2d)通信。
34.可选地,5g系统或5g网络还可以称为新无线(new radio,nr)系统或nr网络。
35.在上述运行环境下,本技术实施例提供了一种对讲业务的实现方法,如图2所示,该方法包括如下步骤:
36.步骤s202,在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包。
37.在步骤s202中,当检测到客户端发送用于实现对讲服务的数据包时,启动对讲服务进程,控制服务端启动一个符合用户数据报协议(user datagram protocol,udp)规则的udp端口(即服务端端口),并通过该udp端口接收来自客户端数据包。
38.步骤s204,对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口。
39.在步骤s204中,对udp端口接收到的多个数据包解析,解析每个数据包都将得到发送该数据包的客户端的网络地址和发送该数据包的网络端口。
40.步骤s206,根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据。
41.在步骤s206中,根据在步骤s204中解析得到的网络地址,确定在该网络地址发送上述数据包的客户端端口,并在步骤s202中启动的udp端口和该客户端端口之间建立用于传输数据包的通信通道。
42.步骤s208,根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包。
43.在步骤s208中,一个或多个客户端向其它客户端发起对将业务并发送数据包时,
通过上述通信通道传输数据包,以实现对讲业务。
44.通过上述步骤,可以实现将多端口业务转变为单端口业务,仅仅需要从网络层开通一个端口,就能满足业务需要的端口资源,极大的节省网络端口资源;同时,结合对讲业务的特点扩展协议,使得能够利用现有协议字段传递更多有效的数据,节省网络资源。
45.根据本技术一个可选的实施例,根据网络地址建立通信通道,包括:确定网络地址对应的客户端,并确定客户端发送数据包的客户端端口;根据网络地址和客户端端口确定套接字;根据套接字反向连接客户端端口,以在服务端端口和客户端端口之间建立通信通道。
46.在本实施例中,在通过步骤s204解析得到发送媒体通道包(即数据包)的客户端的网络地址之后,确定在该网络地址的客户端,并确定在该客户端上的,发送上述数据包的客户端端口;确定一个指示该客户端端口的套接字,当客户端发起对讲服务时,服务端识别上述套接字,反向连接到上述套接字指示的客户端端口,如果存在多个发送数据包的客户端端口,则对应每个端口分别确定一个套接字;因此,在服务端的udp端口和套接字指示的客户端端口之间成功建立了用于传输数据的通信通道。
47.根据本技术一些优选的实施例,套接字为udp套接字。
48.在一些优选的实施例中,上一实施例中确定的,用于指示发送数据包的客户端端口的套接字为udp套接字,通过udp套接字,客户端不需要与服务器连接就可以直接向服务器发送数据包。
49.根据本技术一个可选的实施例,根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包,包括以下步骤:对传输数据包的传输协议进行解析,得到协议头,其中,协议头包括:同步信源标识符;根据同步信源标识符确定目标用户标识和多个组用户标识,其中,目标用户标识用于指示发送数据包的多个客户端中的一个客户端,组用户标识用于指示接收目标数据包的多个客户端,目标数据包由目标用户标识指示的客户端发送;启动线程池,并通过线程池将数据包转发到组用户标识指示的客户端。
50.图3是实时传输协议的头结构图,在本实施例中,通过以下方法在通信通道中传输用于实现对讲业务的数据包,服务端在检测到客户端发送了数据包之后,解析用于传输该数据包的实时传输协议(real-time transport protocol,rtp),如图3所示,rtp的协议头中包括版本字段(v),用于指示rtp的协议版本;填充字段(p),用于指示数据包中可忽略的字节数;扩展字段(x);贡献源(contributing source,csrc)计数字段(cc),用于指示跟在固定协议头后面的csrc识别符数目;标志字段(m),用于标记数据流中的重要事件,如,标记帧边界;负载类型字段(pt),用于定义rtp协议的负载的类型;序列号字段(sequence number),用于指示rtp协议传输的数据包的序列号;时间戳字段(timestamp),用于指示rtp协议中传输的数据包中第一个字节的采样时间;和csrc列表字段;其中,版本字段(v)占用2比特,填充字段(p)占用1比特,扩展字段(x)占用1比特,csrc计数字段(cc)占用4比特,标志字段(m)占用1比特,负载类型字段(pt)占用7比特,序列号字段(sequence number)占用16比特,时间戳字段(timestamp)占用32比特,csrc列表字段占用32比特。
51.如图3所示,rtp的协议头中还包括同步信源标识符(synchronization source identifier,ssrc)字段,占用32比特;在本技术实施例中,用于标识发送数据包的客户端和接收数据包的客户端;在本技术实施例中,将ssrc的前两个字段设置为(目标)用户标识
(identity document,id)字段,用于存储发送数据包的用户id(即目标用户标识);将ssrc的后两个字段设置为组用户标识(identity document,id)字段,用于存储接收数据包的组用户id。因此,对rtp协议解析,可以得到发送数据包的用户id(即目标用户标识)和组用户id,并在得到用户id(即目标用户标识)和组用户id之后,启动接收线程池,该线程任务专门接收媒体数据(即数据包),并将媒体数据(即数据包)转发到组用户标识指示的组成员,极大提高对讲并发能力。
52.根据本技术另一些优选的实施例,同步信源标识符还用于标识目标数据流,其中,目标数据流由目标用户标识指示的客户端发送的数据包组成。
53.在另一些优选的实施例中,ssrc字段除用于标识发送数据包的客户端和接收数据包的客户端之外,还用于标识由客户端发送的数据包组成的数据流;通过序号的形式标识每个rtp数据流,不同的数据流对应不同的ssrc字段,对应不同的序列号。
54.根据本技术一个可选的实施例,在根据网络地址建立通信通道之后,对讲业务的实现方法还包括:监听通信通道;如果监听到通信通道中存在数据包,确定客户端发起对讲业务;如果监听到通信通道中不存在数据包,确定客户端未发起对讲业务。
55.在本实施例中,在建立了通信通道之后,服务端监听该数据通道,通过判断通信通道中是否存在数据包判断是否有客户端发起对讲业务;具体的,如果监听到数据通道中存在数据包,认为有客户端发起对讲业务;否则,如果监听到数据通道中不存在数据包,认为没有客户端发起对讲业务。
56.图4是根据本技术实施例提供的一种对讲服务系统的示意图,如图4所示,该系统包括:客户端40和服务端42,其中,客户端40,包括多个客户端端口,用于向服务端发送数据包;服务端42,用于启动一个udp端口,接收客户端发送的数据包;对数据包解析,得到发送数据包的客户端的网络地址和发送数据包的客户端端口;创建udp套接字,通过udp套接字反向连接发送数据包的客户端端口,在服务端和客户端之间建立通信通道;监听该通信通道,在监听到通信通道中存在数据包时,对传输数据包的传输协议解析,得到发送数据包的用户id和接收数据包的组用户id,并启动线程池传输数据包到组用户id指示的多个组用户。
57.图5时根据本技术实施例提供的一种对讲业务的实现装置的结构图,如图5所示,该装置包括:启动模块50,用于在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包;解析模块52,用于对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口;创建模块54,用于根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据;传输模块56,用于根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包。
58.图6是对讲业务的流程图,如图6所示,对讲服务启动,对讲业务的实现装置开始工作,启动模块50在服务端启动一个端口,等待接收客户端发送的数据包;在接收到数据包后,解析模块52对接收的数据包解析,得到发送数据包的客户端的网络地址和发送数据包的客户端端口;通过创建模块,创建udp套接字,以反向连接客户端,在客户端和服务端之间建立通信通道,传输模块56,监听该通信通道,并在监听到该通信通道中有数据包传输时,启动线程池,将客户端发送的数据包传输给组用户标识指示的多个组用户。
59.需要说明的是,图6所示实施例的优选实施方式可以参见图2所示实施例的相关描
述,此处不再赘述。
60.通过本技术实施例提供的方法,对讲服务仅仅启动一个udp端口,用于收发各个用户的媒体数据;服务端通过反向连接,和终端建立实际媒体通道进行媒体交互;同时,通过扩展的rtp协议,获取用户id和组id,解决数据从哪里来到哪里去的问题。另外,对服务端而言通过单端口和反向连接技术直接把单端口无连接的信道变成可管理的客户端连接信道,方便服务端管理多个客户端。
61.本技术实施例还提供了一种非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上的对讲业务的实现方法。
62.该存储介质用于存储执行以下功能的程序:在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包;对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口;根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据;根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包。
63.本技术实施例还提供了一种电子设备,包括:存储器和处理器,该处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的对讲业务的实现方法。
64.上述电子设备用于处理执行以下功能的程序:在服务端启动一个服务端端口,并通过服务端端口接收多个客户端发送的多个数据包;对多个数据包解析,得到多个客户端的网络地址和发送多个数据包的多个客户端端口;根据网络地址建立通信通道,其中,通信通道用于在服务端端口和多个客户端端口之间传输数据;根据通信通道,在多个客户端之间传输用于实现对讲业务的数据包。
65.需要说明的是,上述对讲业务的实现装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
66.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
67.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
68.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
69.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
70.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
71.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
72.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1