CN111669537B - 一种数据分发方法、装置、电子设备及存储介质 - Google Patents
一种数据分发方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111669537B CN111669537B CN202010334772.4A CN202010334772A CN111669537B CN 111669537 B CN111669537 B CN 111669537B CN 202010334772 A CN202010334772 A CN 202010334772A CN 111669537 B CN111669537 B CN 111669537B
- Authority
- CN
- China
- Prior art keywords
- data
- cloud server
- server
- micro cloud
- autonomous
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000009826 distribution Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000004891 communication Methods 0.000 claims abstract description 90
- 230000005540 biological transmission Effects 0.000 claims abstract description 52
- 230000006855 networking Effects 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 66
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000011144 upstream manufacturing Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6402—Address allocation for clients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据分发方法、装置、电子设备及存储介质。该方法应用于自治服务器,自治服务器通过微云服务器与数据发送设备通信连接,自治服务器、微云服务器以及数据发送设备均部署于视联网中,该方法包括:确定数据发送设备与自治服务器之间的通信链路,通信链路用于将数据发送设备发送的数据上传到自治服务器;将通信链路上的各个微云服务器确定为目标微云服务器;控制各个目标微云服务器针对数据发送设备创建组播服务,以使目标微云服务器在接收到数据发送设备发送的数据后,通过创建的组播服务将数据发送到通信链路上的多个数据接收设备。通过上述方法,可降低自治服务器的链路带宽压力,从而提升自治服务器的整体数据通信并发性能。
Description
技术领域
本发明涉及数据处理的技术领域,特别是涉及一种数据分发方法、装置、电子设备及存储介质。
背景技术
在视联网视频会议中,自治服务器负责各个参会终端中的音视频数据的调度。例如,在某次视频会议中,参会终端1正在发言,参会终端2和参会终端3用于接听参会终端1中的音视频数据,如果自治服务器采用传统的调度方式,那么首先由参会终端1将自身产生的音视频数据上传到自治服务器,再由自治服务器将参会终端1上传的音视频数据分别发送到参会终端2和参会终端3。然而,在上述传统调度方式中,自治服务器负责所有参会终端的音视频数据的调度,需面临较大的链路带宽压力,导致自治服务器整体数据通信并发性能较差。
发明内容
本申请实施例提供了一种数据分发方法、装置、电子设备及存储介质,旨在降低自治服务器的链路带宽压力,提升自治服务器整体数据通信并发性能。
本申请实施例第一方面提供了一种数据分发方法,应用于自治服务器,所述自治服务器通过微云服务器与数据发送设备通信连接,所述自治服务器、所述微云服务器以及所述数据发送设备均部署于视联网中,所述方法包括:
确定所述数据发送设备与所述自治服务器之间的通信链路,所述通信链路上部署有至少一个微云服务器,所述通信链路用于将所述数据发送设备发送的数据上传到所述自治服务器;
将所述通信链路上的各个微云服务器确定为目标微云服务器;
控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,以使所述目标微云服务器在接收到所述数据发送设备发送的数据后,通过创建的组播服务将所述数据发送到所述通信链路上的多个数据接收设备。
可选地,确定所述数据发送设备与所述自治服务器之间的通信链路,包括:
确定所述数据发送设备的路径地址,所述路径地址中包含所述数据发送设备与所述自治服务器之间的各个微云服务器的信息;
根据所述路径地址确定所述数据发送设备与所述自治服务器之间的通信链路。
可选地,控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,包括:
获得与所述目标微云服务器的数量匹配的待分配组播地址;
将所述待分配组播地址按照一一对应的方式分别发送到各个所述目标微云服务器,以使各个所述目标微云服务器根据分配得到的待分配组播地址,在自身创建针对所述数据发送设备的组播服务。
可选地,所述方法还包括:
在自身创建针对所述数据发送设备的组播服务;
在接收到所述数据发送设备发送的数据后,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到不在所述通信链路上的多个数据接收设备。
本申请实施例第二方面提供了一种数据分发方法,应用于微云服务器,所述微云服务器分别与自治服务器和数据发送设备通信连接,所述微云服务器、所述自治服务器以及所述数据发送设备均部署于视联网中,所述方法包括:
接收所述数据发送设备发送的数据;
确定目标数据接收设备,所述数据接收设备具有接收所述数据发送设备发送的数据的权限;
通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备。
可选地,在接收所述数据发送设备发送的数据之前,所述方法还包括:
接收所述自治服务器发送的针对所述数据发送设备创建组播服务的命令;
获得所述命令中的待分配组播地址,所述待分配组播地址中包括编码地址和解码地址;
分配与所述编码地址对应的第一内存区域,所述第一内存区域用于存储所述数据发送设备发送的数据;
分配与所述解码地址对应的第二内存区域,所述第二内存区域用于将所述数据发送给所述数据接收设备。
可选地,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备,包括:
将所述数据存储到所述第一内存区域;
控制所述第二内存区域从所述第一内存区域中复制所述数据并进行存储;
从所述第二内存区域中读取所述数据并发送到所述目标数据接收设备。
本申请实施例第三方面提供了一种数据分发装置,应用于自治服务器,所述自治服务器通过微云服务器与数据发送设备通信连接,所述自治服务器、所述微云服务器以及所述数据发送设备均部署于视联网中,所述装置包括:
第一确定模块,用于确定所述数据发送设备与所述自治服务器之间的通信链路,所述通信链路上部署有至少一个微云服务器,所述通信链路用于将所述数据发送设备发送的数据上传到所述自治服务器;
第二确定模块,用于将所述通信链路上的各个微云服务器确定为目标微云服务器;
控制模块,用于控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,以使所述目标微云服务器在接收到所述数据发送设备发送的数据后,通过创建的组播服务将所述数据发送到所述通信链路上的多个数据接收设备。
本申请实施例第四方面提供了另一种数据分发装置,应用于微云服务器,所述微云服务器分别与自治服务器和数据发送设备通信连接,所述微云服务器、所述自治服务器以及所述数据发送设备均部署于视联网中,所述装置包括:
第一接收模块,用于接收所述数据发送设备发送的数据;
第五确定模块,用于确定目标数据接收设备,所述数据接收设备具有接收所述数据发送设备发送的数据的权限;
第三发送模块,用于通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备。
本申请实施例第五方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。
本申请实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的方法中的步骤。
本申请实施例第七方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第二方面所述的方法的步骤。
本申请实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第二方面所述的方法中的步骤。
通过本申请的数据分发方法,自治服务器首先确定数据发送设备与自身之间的通信链路,然后将通信链路上的各个微云服务器确定为目标微云服务器;接着控制各个目标微云服务器针对数据发送设备创建组播服务,以使各个目标微云服务器在接收到数据发送设备发送的数据后,通过创建的组播服务将数据发送到通信链路上的多个数据接收设备。本申请的数据分发方法,可以使微云服务器分担自治服务器的音视频流转发任务,相较于相关技术中的由自治服务器自身完成所有的数据接收设备的音视频流的转发,能显著降低自治服务器的链路带宽压力,从而提升自治服务器的整体数据通信并发性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍。
图1是本申请一实施例示出的一种实施环境示意图;
图2是本申请一实施例示出的一种传统音视频流调度过程示意图;
图3是本申请一实施例示出的一种数据分发方法的流程图;
图4是本申请一实施例示出的一种音视频流调度过程示意图;
图5是本申请一实施例示出的另一种音视频流调度过程示意图;
图6是本申请一实施例示出的另一种数据分发方法的流程图;
图7是本申请一实施例示出的一种创建组播服务的示意图;
图8是本申请一实施例示出的一种数据分发方法的整体流程图;
图9是本申请一实施例示出的一种数据分发装置的结构框图;
图10是本申请一实施例示出的另一种数据分发装置的结构框图;
图11是本申请一实施例示出的一种视联网的组网示意图;
图12是本申请一实施例示出的一种节点服务器的硬件结构示意图;
图13是本申请一实施例示出的一种接入交换机的硬件结构示意图;
图14是本申请一实施例示出的一种以太网协转网关的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于陈述本申请的数据分发方法,下面将以数据分发方法具体应用于视联网视频会议中音视频流的调度场景为例,对本申请各个实施例进行说明。实际上,本申请的数据分发方法还可以应用于除视联网视频会议外的其它场景,具体可根据实际需求进行设置,本申请对此不作具体限制。
基于视联网视频会议场景,本申请首先提供了一种实施环境示意图,如图1所示。图1是本申请一实施例示出的一种实施环境示意图。该实施环境中示出了视联网中的一个自治域(以理解为一个局域网,视联网是由多个自治域按层级形成的网络结构)的网络结构示意图,该自治域中包括一个自治服务器和连接到该自治服务器的多个层级的微云服务器,具体地,第一层级的微云服务器包括:微云服务器1和微云服务器2,第二层级的微云服务器包括:微云服务器3,终端1和终端2连接到微云服务器3,终端3连接到微云服务器1,终端4连接到微云服务器2。在此特别说明,图1仅示出了自治域的一种网络结构,实际上,基于视联网视频会议场景,自治域还可以具有其它多种网络结构,本申请对此不作具体限制。
下面将结合图1所示的实施环境,简单介绍相关技术中基于视联网视频会议场景进行音视频流调度的过程。
图2是本申请一实施例示出的一种传统音视频流调度过程示意图。在图2中,终端1用于采集音视频流,终端2-终端4用于接收终端1所采集的音视频流。在会议开始前,自治服务器预先为终端1创建组播服务,具体地,为终端1创建一个虚拟地址,用于存储终端1上传的音视频流,之后,将该虚拟地址下发到终端2-终端4;在会议开始时,自治服务器向各个终端发送开始会议指令,终端2-终端4在接收到该开始会议指令后,向虚拟地址发送准备接收音视频流的指令,由于终端2-终端4所请求的虚拟地址均在自治服务器上,因此,自治服务器接收到终端1上传的音视频流后,将该音视频流分别发送到终端2-终端4,例如在图2中,编号为1的箭头表示终端1将采集的音视频流上传到自治服务器,编号为2的箭头表示自治服务器将终端1将采集的音视频流发送给终端2,编号为3的箭头表示自治服务器将终端1将采集的音视频流发送给终端3,编号为4的箭头表示自治服务器将终端1将采集的音视频流发送给终端4。在该过程中,自治服务器需要负责所有的终端的音视频流的转发,因而面临较大的链路带宽压力,导致整体数据通信并发性能较差。
针对上述音视频流调度过程中所存在的问题,本申请提供了一种新的数据分发方法,即:自治服务器只负责一部分组播业务,将另一部分组播业务分派到其它微云服务器中,能有效缓解自治服务器的链路带宽压力,提升自治服务器的整体数据通信并发性能。
具体地,本申请的数据分发方法可应用于图1所示的自治服务器。图3是本申请一实施例示出的一种数据分发方法的流程图。参照图3,本申请的数据分发方法具体可以包括如下步骤:
步骤S11:确定所述数据发送设备与所述自治服务器之间的通信链路,所述通信链路上部署有至少一个微云服务器,所述通信链路用于将所述数据发送设备发送的数据上传到所述自治服务器。
在本实施例中,数据发送设备可以为任意设置有音频流和/或视频流采集组件的终端设备,用于在视联网视频会议中采集参会人员的音频流和/或视频流,数据发送设备可以包括:用于采集音频流的终端、用于采集视频流的终端以及用于采集音视频流的终端。
在本实施例中,由于自治服务器需要负责一部分音视频流的调度,因而,数据发送设备还需要通过自身与自治服务器之间的通信链路,将采集的音视频流上传到自治服务器。在图1中,以数据发送设备为终端1为例,终端1与自治服务器之间的通信链路为:自治服务器-微云服务器1-微云服务器3-终端1;以数据发送设备为终端3为例,终端3与自治服务器之间的通信链路为:自治服务器-微云服务器1-终端3。
步骤S12:将所述通信链路上的各个微云服务器确定为目标微云服务器。
在本实施例中,参照图1,以数据发送设备为终端1为例,确定得到的目标微云服务器包括:微云服务器1和微云服务器3,以数据发送设备为终端3为例,确定得到的目标微云服务器包括:微云服务器1。
步骤S13:控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,以使所述目标微云服务器在接收到所述数据发送设备发送的数据后,通过创建的组播服务将所述数据发送到所述通信链路上的多个数据接收设备。
在本实施例中,在确定出目标微云服务器后,自治服务器向各个目标微云服务器发送创建组播服务的命令,以控制各个目标微云服务器针对数据发送设备创建组播服务,组播服务主要用于对音视频流进行存储和转发。示例地,在图1中,以数据发送设备为终端1为例,自治服务器分别向微云服务器1和微云服务器3发送针对终端1创建组播服务的命令,以数据发送设备为终端3为例,自治服务器分别向微云服务器1发送为终端1创建组播服务的命令。
在本实施例中,数据接收设备为与各个微云服务器通信连接的终端设备,例如在图1中,如果终端2-终端4用于接收终端1采集的音视频流,终端1则为数据发送设备,终端2-终端4则为数据接收设备。
在本实施例中,各个目标微云服务器为数据发送设备创建组播服务后,在数据发送设备通过与自治服务器之间的通信链路向自治服务器上传音视频流时,各个目标微云服务器必然可以接收到该上传的音视频流,此时,各个目标微云服务器可以通过自身为数据发送设备创建的组播服务,将该上传的音视频流发送到与自身连接的数据接收设备。示例地,在图1中,以数据发送设备为终端2为例,微云服务器3在接收到终端2上传的音视频流时,可以通过自身为终端2创建的组播服务将该音视频流发送给终端1,微云服务器1在接收到终端2上传的音视频流时,可以通过自身为终端2创建的组播服务将该音视频流发送给终端3。
图4是本申请一实施例示出的一种音视频流调度过程示意图。下面将结合图4,对本申请中基于视联网视频会议场景进行音视频数据流调度的过程进行详细说明。
在图4中,终端1为数据发送设备,终端2-终端4用于在视联网视频会议中接收终端1采集的音视频流。首先,自治服务器在会议开始前预先根据终端1-终端4的音视频流的接收权限,确定作为数据发送设备的终端1及作为数据接收设备的终端2-终端4;接着,自治服务器针对终端1,确定其所在的通信链路,根据其所在的通信链路确定出目标微云服务器,即:微云服务器3和微云服务器1;接着,自治服务器控制微云服务器3和微云服务器1为终端1创建组播服务;之后,在视频会议开始时,终端1将采集的音视频流上传到自治服务器,图4中编号为1的箭头表示终端1将采集的音视频流上传到自治服务器;之后,在该音视频流上传到微云服务器3时,微云服务器3将该音视频流发送给终端2,图4中编号为2的箭头表示微云服务器3将该音视频流发送给终端2;之后,在该音视频流上传到微云服务器1时,微云服务器1将该音视频流发送给终端3,图4中编号为3的箭头表示微云服务器1将该音视频流发送给终端3;最后,在该音视频流上传到自治服务器时,自治服务器将该音视频流发送给终端4,图4中编号为4的箭头表示自治服务器将该音视频流发送给终端4。
在本申请中,自治服务器首先确定数据发送设备与自身之间的通信链路,然后将通信链路上的各个微云服务器确定为目标微云服务器;接着控制各个目标微云服务器针对数据发送设备创建组播服务,以使各个目标微云服务器在接收到数据发送设备发送的数据后,通过创建的组播服务将数据发送到通信链路上的多个数据接收设备。通过本申请的数据分发方法,可以使微云服务器分担自治服务器的音视频流转发任务,相较于相关技术中的由自治服务器自身完成所有的数据接收设备的音视频流的转发,能显著降低自治服务器的链路带宽压力,从而提升自治服务器的整体数据通信并发性能。
结合以上实施例,在一种实施方式中,确定所述数据发送设备与所述自治服务器之间的通信链路,可以包括如下步骤:
确定所述数据发送设备的路径地址,所述路径地址中包含所述数据发送设备与所述自治服务器之间的各个微云服务器的信息;
根据所述路径地址确定所述数据发送设备与所述自治服务器之间的通信链路。
在本实施例中,根据所述路径地址确定所述数据发送设备与所述自治服务器之间的通信链路具体可以包括:
提取所述路径地址中的各个入网标识;
将各个所述入网标识对应的微云服务器所形成的通信链路确定为所述数据发送设备与所述自治服务器之间的通信链路。
在本实施例中,每一个微云服务器在入网时,自治服务器会为其分配一个本自治域内唯一的号码,作为入网标识,同时,每一个视联网终端的路径地址中会包含其所在通信链路中的所有的微云服务器的入网标识,例如在图1中,假设微云服务器3的入网标识为041D,微云服务器1的入网标识为3F12,如果终端1的路径地址为{3F12,041D,0000,0000,0000,0000,0000,0000,0000},解析终端1的路径地址可以确定终端1位于微云服务器3下,且微云服务器3位于微云服务器1下,那么可以确定终端1与自治服务器之间的通信链路为:自治服务器-微云服务器1-微云服务器3-终端1。
结合以上实施例,在一种实施方式中,控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,包括:
获得与所述目标微云服务器的数量匹配的待分配组播地址;
将所述待分配组播地址按照一一对应的方式分别发送到各个所述目标微云服务器,以使各个所述目标微云服务器根据分配得到的待分配组播地址,在自身创建针对所述数据发送设备的组播服务。
在本实施例中,在确定出目标微云服务器后,自治服务器会为每一个目标微云服务器分配一个待分配组播地址,使得每一个目标微云服务器根据分配得到的待分配组播地址,在自身创建针对数据发送设备的组播服务。
示例地,参照图4,由于确定出的目标微云服务器包括:微云服务器3和微云服务器1,那么自治服务器为微云服务器3分配一个待分配组播地址X1,使得微云服务器3根据待分配组播地址X1为终端1创建组播服务;为微云服务器1分配一个待分配组播地址X2,使得微云服务器1根据待分配组播地址X2为终端1创建组播服务。
在本实施例中,每一个待分配组播地址在自治服务器中是唯一的,且未被占用。待分配组播地址用于标识微云服务器中某个内存区域的虚拟地址,使得连接到该微云服务器的终端可以通过请求该虚拟地址而获得虚拟地址中存储的数据。
示例地,在图4中,微云服务器3在接收到自治服务器分配的待分配组播地址后,为该待分配组播地址分配一个对应的内存区域,用于存储终端1上传的音视频流,同时从该内存区域中获得终端2所需的音视频流并发送给终端2,从而使得微云服务器3基于自身所创建的组播服务,将终端1上传的音视频流转发给终端2。
在本实施例中,自治服务器控制每一个数据发送设备与自治服务器之间的通信链路上的目标微云服务器为数据发送设备创建组播服务,使得目标微云服务器可以通过自身创建的组播服务将数据发送设备上传的音视频流发送给与自身连接的数据接收设备,相较于相关技术中的由自治服务器自身完成所有的数据接收设备的音视频流的转发,本申请能显著降低自治服务器的链路带宽压力,从而提升自治服务器的整体数据通信并发性能。
结合以上实施例,在一种实施方式中,自治服务器除了控制各个目标微云服务器为数据发送设备创建组播服务,还需要在自身为数据发送设备创建组播服务,从而为不在数据发送设备所在的通信链路上的数据接收设备进行音视频流的调度。该过程可包括如下步骤:
在自身创建针对所述数据发送设备的组播服务;
在接收到所述数据发送设备发送的数据后,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到不在所述通信链路上的多个数据接收设备。
具体地,自治服务器获得一个在本自治域内未被占用的待分配组播地址,为该待分配组播地址分配一个内存区域,当接收到数据发送设备上传的音视频流时,存储该音视频流,同时从该内存区域中获得数据发送设备上传的音视频流,并发送给不在数据发送设备所在的通信链路上的数据接收设备。
示例地,参照图4,由于终端4不在终端1与自治服务器之间的通信链路,因而,终端4的音视频流的调度需要由自治服务器完成。终端1在将采集的音视频流上传到自治服务器后,自治服务器通过自身为终端1创建的组播服务,将该上传的音视频流发送给微云服务器2,使得微云服务器2直接将该音视频流转发给终端4,其中,微云服务器2并不需要为终端1创建组播服务,其仅负责音视频流的转发即可。
图5是本申请一实施例示出的另一种音视频流调度过程示意图。在图5中,微云服务器4与微云服务器1通信连接,终端5与微云服务器4通信连接,微云服务器1在接收到终端1上传的音视频流之后,除了将该音视频流发送给终端3,还需要将该音视频流发送给微云服务器4,使得微云服务器4直接将该音视频流发送给终端5,其中,微云服务器4并不需要为终端1创建组播服务,其仅负责音视频流的转发即可。
在本实施例中,自治服务器在自身针对数据发送设备创建组播服务,使得自治服务器可以为不在数据发送设备所在的通信链路上的各个数据接收设备进行音视频流的调度,从而保证各个数据接收设备可以正常接收数据发送设备发送的数据,保证视频会议的正常进行。
本申请还提供了一种数据分发方法,应用于图1所示的微云服务器。图6是本申请一实施例示出的另一种数据分发方法的流程图。参照图6,本申请的数据分发方法可以包括如下步骤:
步骤S21:接收所述数据发送设备发送的数据;
步骤S22:确定目标数据接收设备,所述数据接收设备具有接收所述数据发送设备发送的数据的权限;
步骤S23:通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备。
在本实施例中,所提到的微云服务器均是指数据发送设备与自治服务器之间的通信链路上的各个目标微云服务器。当某个目标微云服务器接收到数据发送设备发送的音视频流后,确定具有接收该音视频流的所有的目标数据接收设备,然后通过自身为数据发送设备创建的组播服务将该音视频流发送到这些目标数据接收设备。
示例地,在图4中,微云服务器3在接收到终端1上传的音视频流之后,确定具有接收该音视频流的目标数据接收设备为终端2,然后将该音视频流发送给终端2;微云服务器1在接收到终端1上传的音视频流之后,确定具有接收该音视频流的目标数据接收设备为终端3,然后将该音视频流发送给终端3;自治服务器在接收到终端1上传的音视频流之后,确定具有接收该音视频流的目标数据接收设备为终端4,然后将该音视频流发送给微云服务器2,使得微云服务器2将该音视频流直接发送给终端4。
在本实施例中,每一个目标微云服务器可以通过自身为数据发送设备创建的组播服务,从而直接将数据发送设备上传的音视频流发送给与自身连接的具有接收该音视频流的目标数据接收设备,无需再等到自治服务器获得数据发送设备上传的音视频流后,再统一将该音视频流发送给各个数据接收设备,因而可有效降低自治服务器的链路带宽压力,提升自治服务器的整体数据通信并发性能。
结合以上实施例,在一种实施方式中,在接收所述数据发送设备发送的数据之前,目标微云服务器还需要为数据发送设备创建组播服务,创建过程具体可以包括以下步骤:
接收所述自治服务器发送的针对所述数据发送设备创建组播服务的命令;
获得所述命令中的待分配组播地址,所述待分配组播地址中包括编码地址和解码地址;
分配与所述编码地址对应的第一内存区域,所述第一内存区域用于存储所述数据发送设备发送的数据;
分配与所述解码地址对应的第二内存区域,所述第二内存区域用于将所述数据发送给所述数据接收设备。
结合以上实施例,在一种实施方式中,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备,包括:
将所述数据存储到所述第一内存区域;
控制所述第二内存区域从所述第一内存区域中复制所述数据并进行存储;
从所述第二内存区域中读取所述数据并发送到所述目标数据接收设备。
图7是本申请一实施例示出的一种创建组播服务的示意图。参照图7,在本实施例中,目标微云服务器在接收到数据发送设备上传的音视频流之后,将音视频流存储到第一内存区域中,同时,目标微云服务器控制第二内存区域实时监听第一内存区域,复制第一内存区域中新增的音视频流;之后,在从第二内存区域中获得音视频流发送给与自身连接的数据接收设备。
在本实施例中,待分配组播地址中包括编码地址和解码地址,编码地址用于标识存储数据发送设备上传的音视频流的内存区域,解码地址用于标识存储用于发送给数据接收设备的音视频流的内存区域。编码地址对应上行数据(数据发送设备上传的数据),解码地址对应下行数据(发送给数据接收设备的数据)。
具体地,自治服务器在确定出目标微云服务器之后,向各个目标微云服务器发送针对数据发送设备创建组播服务的命令;各个目标微云服务器在接收到该命令后,获得该命令中的待分配组播地址;针对编码地址,分配对应的第一内存区域,针对解码地址,分配对应的第二内存区域。示例地,参照图4,微云服务器3在接收到自治服务器分配的待分配组播地址X1之后,为待分配组播地址X1中的编码地址分配一个对应的第一内存区域,为待分配组播地址X1中的解码地址分配一个对应的第二内存区域。
在本实施例中,自治服务器在向各个目标微云服务器发送针对数据发送设备创建组播服务的命令之后,还需要向各个终端设备发送针对数据发送设备最近的组播地址,以告知这些终端可以向这些组播地址请求数据发送设备的音视频流。示例地,参照图4,自治服务器将发送给微云服务器3的待分配组播地址X1发送给终端2,以告知终端2可以从组播地址X1(位于微云服务器3)获得终端1的音视频流;自治服务器将发送给微云服务器1的待分配组播地址X2发送给终端3,以告知终端3可以从组播地址X2(位于微云服务器1)获得终端1的音视频流;自治服务器将为自身分配的待分配组播地址X3发送给终端4,以告知终端4可以从组播地址X3(位于自治服务器)获得终端1的音视频流。之后,自治服务器向各个终端下发开始会议指令,终端2向组播地址X1发送准备接收音视频流的指令,终端3向组播地址X2发送准备接收音视频流的指令,终端4向组播地址X3发送准备接收音视频流的指令;微云服务器3在接收到终端1的音视频流之后,在组播地址X1处存储终端1的音视频流,从组播地址X1处获得终端1的音视频流并发送给终端2,并将终端1的音视频流向上转发给微云服务器1;微云服务器1在接收到终端1的音视频流之后,在组播地址X2处存储终端1的音视频流,从组播地址X2处获得终端1的音视频流并发送给终端3,并将终端1的音视频流向上转发给自治服务器;自治服务器在接收到终端1的音视频流之后,在组播地址X3处存储终端1的音视频流,从组播地址X3处获得终端1的音视频流并发送给微云服务器2,使得微云服务器2将终端1的音视频流发送给终端4。
参照图4,假设自治服务器为自身分配的解码地址为aa:bb:cc:dd:ee:ff,为微云服务器1分配的解码地址为aa:bb:cc:dd:ee:f2,为微云服务器3分配的解码地址为aa:bb:cc:dd:ee:f1(在视联网内,组播地址是由一串6个字节的虚拟地址号码组成的);自治服务器为终端2分配的解码地址为aa:bb:cc:dd:ee:f1(对应微云服务器3),为终端3分配的解码地址为aa:bb:cc:dd:ee:f2(对应微云服务器1),为终端4分配的解码地址为aa:bb:cc:dd:ee:ff(对应自治服务器);因此,终端2-终端4可以从自身分配得到的解码地址处获得下行数据,换言之,终端2-终端4可以从距离自身最近的目标微云服务器处获得下行数据(具体地,自治服务器只负责1个终端(终端4)的下行数据;微云服务器1只负责1个终端(终端3)的下行数据;微云服务器2只负责1个终端(终端4)的下行数据;微云服务器3只负责1个终端(终端2)的下行数据),相比于相关技术中必须从自治服务器中获得下行数据,能明显降低自治服务器的链路带宽压力。
在本实施例中,各个目标微云服务器可以按照如下协议针对数据发送设备创建组播服务:
在该协议中,主动建立组播指令即自治服务器发送的针对数据发送设备创建组播服务的命令。根据该协议,目标微云服务器在接收到该指令后,首先校验该核心服务器(即:自治服务器)身份认证码,确认安全之后,过滤所有收到的标识为“视联网号码A”的数据,其中视联网号码A唯一标识数据发送设备,从中找到过滤类型为“音视频业务”并且发往“目标编码地址”的音视频数据(即:由数据发送设备上传到自治服务器的音视频数据);同时将该音视频数据存储到“解码地址A”处,用以提供音视频服务。
图8是本申请一实施例示出的一种数据分发方法的整体流程图。参照图8,在视频会议开始前,自治服务器首先获得各个目标微云服务器的待分配组播地址和各个数据接收设备最近的组播地址;自治服务器向各个目标微云服务器发送对应的待分配组播地址,使得各个目标微云服务器在接收到待分配的待分配组播地址时,主动为数据发送设备创建组播服务;自治服务器向各个数据接收设备发送对应的最近的组播地址;各个数据接收设备在接收到自治服务器发送的开始会议指令后,向各自的最近的组播地址处发送准备接收音视频流的指令;各个目标微云服务器在会议进行时,获得数据发送设备发送的音视频流,并基于自身为数据发送设备创建的组播服务,将获得的音视频流分发给与自身连接的数据接收设备。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本申请还提供了一种数据分发装置900,应用于自治服务器,所述自治服务器通过微云服务器与数据发送设备通信连接,所述自治服务器、所述微云服务器以及所述数据发送设备均部署于视联网中。图9是本申请一实施例示出的一种数据分发装置的结构框图。参照图9,本申请的数据分发装置900可以包括:
第一确定模块901,用于确定所述数据发送设备与所述自治服务器之间的通信链路,所述通信链路上部署有至少一个微云服务器,所述通信链路用于将所述数据发送设备发送的数据上传到所述自治服务器;
第二确定模块902,用于将所述通信链路上的各个微云服务器确定为目标微云服务器;
控制模块903,用于控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,以使所述目标微云服务器在接收到所述数据发送设备发送的数据后,通过创建的组播服务将所述数据发送到所述通信链路上的多个数据接收设备。
可选地,所述第一确定模块901包括:
第三确定模块,用于确定所述数据发送设备的路径地址,所述路径地址中包含所述数据发送设备与所述自治服务器之间的各个微云服务器的信息;
第四确定模块,用于根据所述路径地址确定所述数据发送设备与所述自治服务器之间的通信链路。
可选地,所述控制模块903包括:
第一获得模块,用于获得与所述目标微云服务器的数量匹配的待分配组播地址;
第一发送模块,用于将所述待分配组播地址按照一一对应的方式分别发送到各个所述目标微云服务器,以使各个所述目标微云服务器根据分配得到的待分配组播地址,在自身创建针对所述数据发送设备的组播服务。
可选地,所述装置900还包括:
创建模块,用于在自身创建针对所述数据发送设备的组播服务;
第二发送模块,用于在接收到所述数据发送设备发送的数据后,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到不在所述通信链路上的多个数据接收设备。
基于同一发明构思,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的数据分发方法中的步骤。
基于同一发明构思,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的数据分发方法中的步骤。
本申请还提供了另一种数据分发装置1000,应用于微云服务器,所述微云服务器分别与自治服务器和数据发送设备通信连接,所述微云服务器、所述自治服务器以及所述数据发送设备均部署于视联网中。图10是本申请一实施例示出的另一种数据分发装置的结构框图。参照图10,本申请的数据分发装置1000可以包括:
第一接收模块1001,用于接收所述数据发送设备发送的数据;
第五确定模块1002,用于确定目标数据接收设备,所述数据接收设备具有接收所述数据发送设备发送的数据的权限;
第三发送模块1003,用于通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备。
可选地,所述装置1000还包括:
第二接收模块,用于接收所述自治服务器发送的针对所述数据发送设备创建组播服务的命令;
第二获得模块,用于获得所述命令中的待分配组播地址,所述待分配组播地址中包括编码地址和解码地址;
第一分配模块,用于分配与所述编码地址对应的第一内存区域,所述第一内存区域用于存储所述数据发送设备发送的数据;
第二分配模块,用于分配与所述解码地址对应的第二内存区域,所述第二内存区域用于将所述数据发送给所述数据接收设备。
可选地,所述第三发送模块1003包括:
第一存储模块,用于将所述数据存储到所述第一内存区域;
第二存储模块,用于控制所述第二内存区域从所述第一内存区域中复制所述数据并进行存储;
第四发送模块,用于从所述第二内存区域中读取所述数据并发送到所述目标数据接收设备。
基于同一发明构思,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的数据分发方法中的步骤。
基于同一发明构思,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的数据分发方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
图11是本申请一实施例示出的一种视联网的组网示意图。如图11所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
图12是本申请一实施例示出的一种节点服务器的硬件结构示意图。如图12所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
图13是本申请一实施例示出的一种接入交换机的硬件结构示意图。如图13所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
图14是本申请一实施例示出的一种以太网协转网关的硬件结构示意图。如图14所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,遵循视联网的协议,自治服务器首先确定数据发送设备与自身之间的通信链路,然后将通信链路上的各个微云服务器确定为目标微云服务器;接着控制各个目标微云服务器针对数据发送设备创建组播服务,以使各个目标微云服务器在接收到数据发送设备发送的数据后,通过创建的组播服务将数据发送到通信链路上的多个数据接收设备。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据分发方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种数据分发方法,其特征在于,应用于自治服务器,所述自治服务器通过微云服务器与数据发送设备通信连接,所述自治服务器、所述微云服务器以及所述数据发送设备均部署于视联网中,所述方法包括:
确定所述数据发送设备与所述自治服务器之间的通信链路,所述通信链路上部署有至少一个微云服务器,所述通信链路用于将所述数据发送设备发送的数据上传到所述自治服务器;
将所述通信链路上的各个微云服务器确定为目标微云服务器;
控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,以使所述目标微云服务器在接收到所述数据发送设备发送的数据后,通过创建的组播服务将所述数据发送到所述通信链路上的多个数据接收设备。
2.根据权利要求1所述的方法,其特征在于,确定所述数据发送设备与所述自治服务器之间的通信链路,包括:
确定所述数据发送设备的路径地址,所述路径地址中包含所述数据发送设备与所述自治服务器之间的各个微云服务器的信息;
根据所述路径地址确定所述数据发送设备与所述自治服务器之间的通信链路。
3.根据权利要求1所述的方法,其特征在于,控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,包括:
获得与所述目标微云服务器的数量匹配的待分配组播地址;
将所述待分配组播地址按照一一对应的方式分别发送到各个所述目标微云服务器,以使各个所述目标微云服务器根据分配得到的待分配组播地址,在自身创建针对所述数据发送设备的组播服务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在自身创建针对所述数据发送设备的组播服务;
在接收到所述数据发送设备发送的数据后,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到不在所述通信链路上的多个数据接收设备。
5.一种数据分发方法,其特征在于,应用于微云服务器,所述微云服务器分别与自治服务器和数据发送设备通信连接,所述微云服务器、所述自治服务器以及所述数据发送设备均部署于视联网中,所述方法包括:
接收所述数据发送设备发送的数据;
确定目标数据接收设备,所述数据接收设备具有接收所述数据发送设备发送的数据的权限;
通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备。
6.根据权利要求5所述的方法,其特征在于,在接收所述数据发送设备发送的数据之前,所述方法还包括:
接收所述自治服务器发送的针对所述数据发送设备创建组播服务的命令;
获得所述命令中的待分配组播地址,所述待分配组播地址中包括编码地址和解码地址;
分配与所述编码地址对应的第一内存区域,所述第一内存区域用于存储所述数据发送设备发送的数据;
分配与所述解码地址对应的第二内存区域,所述第二内存区域用于将所述数据发送给所述数据接收设备。
7.根据权利要求6所述的方法,其特征在于,通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备,包括:
将所述数据存储到所述第一内存区域;
控制所述第二内存区域从所述第一内存区域中复制所述数据并进行存储;
从所述第二内存区域中读取所述数据并发送到所述目标数据接收设备。
8.一种数据分发装置,其特征在于,应用于自治服务器,所述自治服务器通过微云服务器与数据发送设备通信连接,所述自治服务器、所述微云服务器以及所述数据发送设备均部署于视联网中,所述装置包括:
第一确定模块,用于确定所述数据发送设备与所述自治服务器之间的通信链路,所述通信链路上部署有至少一个微云服务器,所述通信链路用于将所述数据发送设备发送的数据上传到所述自治服务器;
第二确定模块,用于将所述通信链路上的各个微云服务器确定为目标微云服务器;
控制模块,用于控制各个所述目标微云服务器针对所述数据发送设备创建组播服务,以使所述目标微云服务器在接收到所述数据发送设备发送的数据后,通过创建的组播服务将所述数据发送到所述通信链路上的多个数据接收设备。
9.一种数据分发装置,其特征在于,应用于微云服务器,所述微云服务器分别与自治服务器和数据发送设备通信连接,所述微云服务器、所述自治服务器以及所述数据发送设备均部署于视联网中,所述装置包括:
第一接收模块,用于接收所述数据发送设备发送的数据;
第五确定模块,用于确定目标数据接收设备,所述数据接收设备具有接收所述数据发送设备发送的数据的权限;
第三发送模块,用于通过在自身创建的针对所述数据发送设备的组播服务,将所述数据发送到所述目标数据接收设备。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-4任一所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一所述的方法中的步骤。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求5-7任一所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5-7任一所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010334772.4A CN111669537B (zh) | 2020-04-24 | 2020-04-24 | 一种数据分发方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010334772.4A CN111669537B (zh) | 2020-04-24 | 2020-04-24 | 一种数据分发方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669537A CN111669537A (zh) | 2020-09-15 |
CN111669537B true CN111669537B (zh) | 2023-12-29 |
Family
ID=72382886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010334772.4A Active CN111669537B (zh) | 2020-04-24 | 2020-04-24 | 一种数据分发方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669537B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390347A (zh) * | 2006-03-14 | 2009-03-18 | 松下电器产业株式会社 | 组播分发装置和组播分发方法 |
CN101873219A (zh) * | 2010-05-31 | 2010-10-27 | 中山大学深圳研究院 | 一种基于应用层组播的视频会议直播系统 |
CN103493445A (zh) * | 2012-02-22 | 2014-01-01 | 北京大学深圳研究生院 | 一种ip组播数据的分层分发方法、系统 |
CN106357542A (zh) * | 2016-10-12 | 2017-01-25 | 华为技术有限公司 | 提供组播业务的方法和软件定义网络控制器 |
CN109428768A (zh) * | 2017-10-27 | 2019-03-05 | 上海乾廷网络科技有限公司 | 一种自治网络的业务方法和自治网络 |
CN109729307A (zh) * | 2019-02-28 | 2019-05-07 | 北京理工大学 | 一种基于喷泉码的组播视频会议系统 |
CN110049268A (zh) * | 2019-04-19 | 2019-07-23 | 视联动力信息技术股份有限公司 | 一种可视电话连接方法及装置 |
CN110769289A (zh) * | 2018-07-26 | 2020-02-07 | 视联动力信息技术股份有限公司 | 一种终端升级方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546381B (zh) * | 2012-07-12 | 2017-06-09 | 华为技术有限公司 | 基于内部网关协议创建双向组播分发树的方法、装置及系统 |
-
2020
- 2020-04-24 CN CN202010334772.4A patent/CN111669537B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390347A (zh) * | 2006-03-14 | 2009-03-18 | 松下电器产业株式会社 | 组播分发装置和组播分发方法 |
CN101873219A (zh) * | 2010-05-31 | 2010-10-27 | 中山大学深圳研究院 | 一种基于应用层组播的视频会议直播系统 |
CN103493445A (zh) * | 2012-02-22 | 2014-01-01 | 北京大学深圳研究生院 | 一种ip组播数据的分层分发方法、系统 |
CN106357542A (zh) * | 2016-10-12 | 2017-01-25 | 华为技术有限公司 | 提供组播业务的方法和软件定义网络控制器 |
CN109428768A (zh) * | 2017-10-27 | 2019-03-05 | 上海乾廷网络科技有限公司 | 一种自治网络的业务方法和自治网络 |
CN110769289A (zh) * | 2018-07-26 | 2020-02-07 | 视联动力信息技术股份有限公司 | 一种终端升级方法和系统 |
CN109729307A (zh) * | 2019-02-28 | 2019-05-07 | 北京理工大学 | 一种基于喷泉码的组播视频会议系统 |
CN110049268A (zh) * | 2019-04-19 | 2019-07-23 | 视联动力信息技术股份有限公司 | 一种可视电话连接方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111669537A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109462753B (zh) | 一种视联网多会议测试系统和方法 | |
CN111193788A (zh) | 一种音视频流负载均衡方法和装置 | |
CN109996086B (zh) | 一种视联网业务状态查询方法及装置 | |
CN109617956B (zh) | 一种数据处理方法和装置 | |
CN110190973B (zh) | 一种在线状态检测方法及装置 | |
CN110475090B (zh) | 一种会议控制的方法和系统 | |
CN109768963B (zh) | 一种基于视联网的会议开启方法及系统 | |
CN110022295B (zh) | 一种数据传输的方法和视联网系统 | |
CN109246486B (zh) | 一种组帧方法和装置 | |
CN110650171B (zh) | 一种视联网业务调度系统及方法 | |
CN111327868B (zh) | 设置会议发言方角色的方法、终端、服务器、设备及介质 | |
CN110113557B (zh) | 一种多级会议实现方法和视联网系统 | |
CN110830826A (zh) | 视频转码设备调度方法及系统 | |
CN110446058B (zh) | 视频获取方法、系统、设备和计算机可读存储介质 | |
CN109743360B (zh) | 一种信息处理方法及装置 | |
CN110389771B (zh) | 一种视联网客户端的升级方法和系统 | |
CN113162910B (zh) | 一种资源传输方法、装置、电子设备及存储介质 | |
CN111225241B (zh) | 一种通信方法和装置 | |
CN110784683B (zh) | 一种监控资源的管理方法、装置及存储介质 | |
CN111526323B (zh) | 一种全景视频的处理方法和装置 | |
CN110474956B (zh) | 视联网设备封号方法、装置、电子设备及可读存储介质 | |
CN110213533B (zh) | 一种视联网监控视频流的获取方法及装置 | |
CN110166840B (zh) | 一种业务处理方法、系统及装置 | |
CN110688532B (zh) | 一种事务管理方法和装置 | |
CN111669537B (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 |