CN115460470A - 组播数据转发方法、装置、设备及可读存储介质 - Google Patents

组播数据转发方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN115460470A
CN115460470A CN202210999196.4A CN202210999196A CN115460470A CN 115460470 A CN115460470 A CN 115460470A CN 202210999196 A CN202210999196 A CN 202210999196A CN 115460470 A CN115460470 A CN 115460470A
Authority
CN
China
Prior art keywords
client
multicast
program
multicast data
file descriptor
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
Application number
CN202210999196.4A
Other languages
English (en)
Other versions
CN115460470B (zh
Inventor
周明星
张显峰
付予豪
王静
郑玲玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Wuhan Fiberhome Technical Services Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd, Wuhan Fiberhome Technical Services Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202210999196.4A priority Critical patent/CN115460470B/zh
Publication of CN115460470A publication Critical patent/CN115460470A/zh
Application granted granted Critical
Publication of CN115460470B publication Critical patent/CN115460470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种组播数据转发方法、装置、设备及可读存储介质。该方法包括:在用户态下建立客户端的用户态文件描述符与媒体请求对应的节目IP的第一关联关系;在内核态下基于用户态文件描述符查找内核态文件描述符;建立节目IP与内核态文件描述符的第二关联关系;将组播服务器下发的节目IP对应的组播数据转换成单播数据,基于第二关联关系,调用内核态文件描述符对应的套接字发送函数将单播数据发送至客户端。通过本发明,在用户态下处理与客户端/组播服务器的协议交互,在内核态下处理组播数据的格式转换和转发,既提升了网关对组播数据的转发性能又实现了多客户端的并发,使得同一网关可以承载多个客户端。

Description

组播数据转发方法、装置、设备及可读存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种组播数据转发方法、装置、设备及可读存储介质。
背景技术
随着智能网关的技术发展,无STB(Set Top Box,数字视频变换盒)的IPTV(Internet Protocol Television,网路协定电视)业务承载能力被逐步推广。要求在家庭网络环境下,开发手机客户端功能作为用户使用IPTV的界面,用户通过手机客户端选取节目,然后在支持DLNA(Digital Living Network Alliance,数字生活网络联盟)的智能电视机上观看节目内容,并在手机客户端上进行节目播放控制,实现IPTV的业务功能。
当前通过家庭网关承载IPTV业务,是电视端向网关发起数据请求,网关依据数据请求,从组播服务器获取组播数据,然后将UDP格式的组播数据封装进单播TCP报文后转发给电视端。该过程中,网关中的处理模块在用户态下处理TCP交互、组播数据的格式转换以及组播数据转发,且要对组播数据进行多次拷贝,导致网关对组播数据的转发性能较差。
为了解决网关对组播数据的转发性能较差这一技术问题,现有技术中提出在内核态下处理与客户端/组播服务器的协议交互,以及组播数据的格式转换和转发。但这种方式下,协议交互的并发无法支持,导致只能承载一个客户端。
发明内容
为解决现有技术中存在的上述技术问题,本发明提供一种组播数据转发方法、装置、设备及可读存储介质。
第一方面,本发明提供一种组播数据转发方法,所述组播数据转发方法包括:
在用户态下执行如下步骤:
接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;
生成所述节目IP对应的组播加入报文并发送至组播服务器;
在内核态下执行如下步骤:
基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;
建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。
可选的,所述基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符的步骤包括:
通过进程文件系统和所述客户端的用户态文件描述符,在用户态文件描述符数组中查找所述客户端的用户态文件描述符对应的客户端的内核态文件描述符。
可选的,在所述调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端的步骤之后,还包括:
在用户态下执行如下步骤:
若确定所述客户端掉线,则检测所述节目IP是否关联其他客户端的用户态文件描述符;
若所述节目IP不关联其他客户端的用户态文件描述符,则生成所述节目IP对应的组播离开报文并发送至组播服务器,以供组播服务器停止下发所述节目IP对应的组播数据。
可选的,当收到所述客户端发送的组播离开报文时,确定所述客户端掉线;或,检测到与所述客户端的通信连接超时,确定所述客户端掉线。
可选的,在所述确定所述客户端掉线之后,还包括:
在用户态下执行如下步骤:
解除所述第一关联关系和第二关联关系。
可选的,在所述检测所述节目IP是否关联其他客户端的用户态文件描述符的步骤之后,还包括:
若所述节目IP关联其他客户端的用户态文件描述符,在内核态下执行如下步骤:
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,调用其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
可选的,在所述调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端的步骤之后,还包括:
在用户态下执行如下步骤:
接收其他客户端发送的对应所述节目IP的媒体请求,建立所述其他客户端的用户态文件描述符与所述节目IP的第三关联关系;
在内核态下执行如下步骤:
基于所述其他客户端的用户态文件描述符查找其他客户端的内核态文件描述符;
建立所述节目IP与所述其他客户端的内核态文件描述符的第四关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第四关联关系,调用所述其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
第二方面,本发明还提供一种组播数据转发装置,所述组播数据转发装置包括:
用户态模块,用于在用户态下执行如下步骤:
接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;
生成所述节目IP对应的组播加入报文并发送至组播服务器;
内核态模块,用于在内核态下执行如下步骤:
基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;
建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。
第三方面,本发明还提供一种组播数据转发设备,所述组播数据转发设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的组播数据转发程序,其中所述组播数据转发程序被所述处理器执行时,实现如上所述的组播数据转发方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有组播数据转发程序,其中所述组播数据转发程序被处理器执行时,实现如上所述的组播数据转发方法的步骤。
本发明中,在用户态下执行如下步骤:接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;生成所述节目IP对应的组播加入报文并发送至组播服务器;在内核态下执行如下步骤:基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。通过本发明,在用户态下处理与客户端/组播服务器的协议交互,在内核态下处理组播数据的格式转换和转发,既提升了网关对组播数据的转发性能又实现了多客户端的并发,使得同一网关可以承载多个客户端。
附图说明
图1为本发明实施例方案中涉及的组播数据转发设备的硬件结构示意图;
图2为本发明组播数据转发方法一实施例的流程示意图;
图3为网关执行组播数据转发方法的场景示意图;
图4为查找客户端的内核态文件描述符的示意图;
图5为本发明组播数据转发装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种组播数据转发设备,该组播数据转发设备可以是家庭网关设备。
参照图1,图1为本发明实施例方案中涉及的组播数据转发设备的硬件结构示意图。本发明实施例中,组播数据转发设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及组播数据转发程序。其中,处理器1001可以调用存储器1005中存储的组播数据转发程序,并执行本发明实施例提供的组播数据转发方法。
第二方面,本发明实施例提供了一种组播数据转发方法。
一实施例中,参照图2,图2为本发明组播数据转发方法一实施例的流程示意图。如图2所示,所述组播数据转发方法包括:
在用户态下执行如下步骤:
步骤S101,接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;
步骤S102,生成所述节目IP对应的组播加入报文并发送至组播服务器;
本实施例中,执行主体为网关,网关包含用户态模块(udpxy)以及内核态模块(udpxy_ko)。其中,用户态模块用于在用户态下处理与客户端/组播服务器的协议交互,内核态模块用于在内核态下处理组播数据的格式转换和转发。
参照图3,图3为网关执行组播数据转发方法的场景示意图。如图3所示,用户态模块:对下行网络担任HTTP服务器,监听和处理HTTP协议交互;对上行网络担任IGMP客户端,处理IGMP协议交互;对系统内部,负责维护转发记录表、处理HTTP到IGMP的协议转换、下发指定IP的组播数据流上CPU的控制指令;内核态模块:接收上行网络下发的UDP数据流,在内核层执行一次拷贝动作,提取IPTV数据流报文目的IP,提取数据包净荷,基于转发记录表,完成数据净荷的内核态socket发包,发送TCP数据流至电视端。
本实施例中,在用户态下接收客户端发送的媒体请求,从而得到客户端的用户态文件描述符以及媒体请求对应的节目IP,然后,建立客户端的用户态文件描述符与节目IP的第一关联关系。
在内核态下执行如下步骤:
步骤S201,基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;
步骤S202,建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;
需要说明的是,对每一个新创建的套接字,会创建struct socket(即用户态文件描述符)和struct sock(即内核态文件描述符)两个数据结构。这两个结构就像孪生兄弟,struct socket面向用户空间,struct sock面向内核空间。
本实施例中,容易理解的是,在用户态下建立客户端的用户态文件描述符与节目IP的第一关联关系后,进一步通过ioctl方式将客户端的用户态文件描述符与节目IP发送至内核态模块,从而在内核态下基于客户端的用户态文件描述符查找客户端的内核态文件描述符,而客户端的用户态文件描述符与客户端的内核态文件描述符呈对应关系,即可建立节目IP与客户端的内核态文件描述符的第二关联关系。
进一步地,一实施例中,步骤S201包括:
通过进程文件系统和所述客户端的用户态文件描述符,在用户态文件描述符数组中查找所述客户端的用户态文件描述符对应的客户端的内核态文件描述符。
本实施例中,参照图4,图4为查找客户端的内核态文件描述符的示意图。如图4所示,内核态模块通过进程文件系统(task_struct file)和客户端的用户态文件描述符,在用户态文件描述符数组中,查找到对应的电视客户端socket文件f_op,再获取并保存该文件的内核态描述符(即客户端的内核态文件描述符)。
步骤S203,接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。
本实施例中,步骤S102中向组播服务器发送的节目IP对应的组播加入报文,引发组播服务器下发节目IP对应的组播数据。在内核态下,接收该组播数据并拷贝至CPU,从拷贝的组播数据中取出媒体净荷,然后基于媒体净荷封装得到目标格式的单播数据,其中目标格式可以是TCP格式,即得到包含了媒体净荷的TCP包,然后基于第二关联关系,确定该组播数据的节目IP对应的客户端的内核态文件描述符,最后即可调用客户端的内核态文件描述符对应的套接字发送函数将单播数据发送至客户端。
本实施例中,在用户态下执行如下步骤:接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;生成所述节目IP对应的组播加入报文并发送至组播服务器;在内核态下执行如下步骤:基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。通过本实施例,在用户态下处理与客户端/组播服务器的协议交互,在内核态下处理组播数据的格式转换和转发,既提升了网关对组播数据的转发性能又实现了多客户端的并发,使得同一网关可以承载多个客户端。
进一步地,一实施例中,在步骤S203之后,还包括:
在用户态下执行如下步骤:
若确定所述客户端掉线,则检测所述节目IP是否关联其他客户端的用户态文件描述符;若所述节目IP不关联其他客户端的用户态文件描述符,则生成所述节目IP对应的组播离开报文并发送至组播服务器,以供组播服务器停止下发所述节目IP对应的组播数据。
进一步地,一实施例中,当收到所述客户端发送的组播离开报文时,确定所述客户端掉线;或,检测到与所述客户端的通信连接超时,确定所述客户端掉线。
本实施例中,客户端掉线有两种方式:一种是收到客户端发送的HTTP报文,里面包含离开组的信息(即组播离开报文);另一种是被动掉线,此时依赖监听端口上的TCP连接是否超时,若超时,则确定对应的客户端掉线了。
容易理解的是,每收到一条客户端发起的媒体请求,都会建立客户端的用户态文件描述符与媒体请求对应的节目IP的关联关系。具体方式为:将客户端的用户态文件描述符和媒体请求对应的节目IP关联记录到转发记录表中。
若检测到客户端掉线,则需要检测该节目IP是否关联其他客户端的用户态文件描述符。若该节目IP不关联其他客户端的用户态文件描述符,则不再需要从组播服务器获取该节目IP对应的组播数据。因此,发送相应的组播离开报文至组播服务器,以供组播服务器停止下发该节目IP对应的组播数据。若该节目IP关联其他客户端的用户态文件描述符,则仍需从组播服务器获取该节目IP对应的组播数据,则不发送对应的组播离开报文。
进一步地,一实施例中,在所述确定所述客户端掉线之后,还包括:
在用户态下执行如下步骤:
解除所述第一关联关系和第二关联关系。
本实施例中,不论该节目IP是否关联其他客户端的用户态文件描述符,在客户端掉线后,需要解除上述第一关联关系和第二关联关系。
进一步地,一实施例中,在所述检测所述节目IP是否关联其他客户端的用户态文件描述符的步骤之后,还包括:
若所述节目IP关联其他客户端的用户态文件描述符,在内核态下执行如下步骤:接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,调用其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
本实施例中,若节目IP关联其他客户端的用户态文件描述符,则不发送对应的组播离开报文,即组播服务器会继续下发该节目IP对应的组播数据,从而在内核态下继续接收组播服务器下发的节目IP对应的组播数据,并将组播数据转换成单播数据,调用其他客户端的内核态文件描述符对应的套接字发送函数将单播数据发送至其他客户端。具体过程参照上述步骤S203的实施例。
进一步地,一实施例中,在步骤S203之后,还包括:
在用户态下执行如下步骤:
接收其他客户端发送的对应所述节目IP的媒体请求,建立所述其他客户端的用户态文件描述符与所述节目IP的第三关联关系;
在内核态下执行如下步骤:
基于所述其他客户端的用户态文件描述符查找其他客户端的内核态文件描述符;建立所述节目IP与所述其他客户端的内核态文件描述符的第四关联关系;接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第四关联关系,调用所述其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
本实施例中,基于上述步骤S101~步骤S203,组播服务器下发节目IP对应的组播数据的动作已经再进行了,若此时收到其他客户端发送的对应该节目IP的媒体请求,建立其他客户端的用户态文件描述符与节目IP的第三关联关系即可,具体过程参照步骤S101的实施例。此时,无需再次发送节目IP对应的组播加入报文至组播服务器。
同理,参照步骤S201~步骤S203的实施例,将该节目IP对应的组播数据转成单播数据后发送至该其他客户端。
第三方面,本发明实施例还提供一种组播数据转发装置。
一实施例中,参照图5,图5为本发明组播数据转发装置一实施例的功能模块示意图。如图5所示,组播数据转发装置包括:
用户态模块10,用于在用户态下执行如下步骤:
接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;
生成所述节目IP对应的组播加入报文并发送至组播服务器;
内核态模块20,用于在内核态下执行如下步骤:
基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;
建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。
进一步地,一实施例中,内核态模块20,用于在内核态下执行如下步骤:
通过进程文件系统和所述客户端的用户态文件描述符,在用户态文件描述符数组中查找所述客户端的用户态文件描述符对应的客户端的内核态文件描述符。
进一步地,一实施例中,用户态模块10,用于在用户态下执行如下步骤:
若确定所述客户端掉线,则检测所述节目IP是否关联其他客户端的用户态文件描述符;
若所述节目IP不关联其他客户端的用户态文件描述符,则生成所述节目IP对应的组播离开报文并发送至组播服务器,以供组播服务器停止下发所述节目IP对应的组播数据。
进一步地,一实施例中,当收到所述客户端发送的组播离开报文时,确定所述客户端掉线;或,检测到与所述客户端的通信连接超时,确定所述客户端掉线。
进一步地,一实施例中,用户态模块10,用于在用户态下执行如下步骤:
解除所述第一关联关系和第二关联关系。
进一步地,一实施例中,若所述节目IP关联其他客户端的用户态文件描述符,内核态模块20,用于在内核态下执行如下步骤:
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,调用其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
进一步地,一实施例中,用户态模块10,用于在用户态下执行如下步骤:
接收其他客户端发送的对应所述节目IP的媒体请求,建立所述其他客户端的用户态文件描述符与所述节目IP的第三关联关系;
内核态模块20,用于在内核态下执行如下步骤:
基于所述其他客户端的用户态文件描述符查找其他客户端的内核态文件描述符;
建立所述节目IP与所述其他客户端的内核态文件描述符的第四关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第四关联关系,调用所述其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
其中,上述组播数据转发装置中各个模块的功能实现与上述组播数据转发方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有组播数据转发程序,其中所述组播数据转发程序被处理器执行时,实现如上述的组播数据转发方法的步骤。
其中,组播数据转发程序被执行时所实现的方法可参照本发明组播数据转发方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种组播数据转发方法,其特征在于,所述组播数据转发方法包括:
在用户态下执行如下步骤:
接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;
生成所述节目IP对应的组播加入报文并发送至组播服务器;
在内核态下执行如下步骤:
基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;
建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。
2.如权利要求1所述的组播数据转发方法,其特征在于,所述基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符的步骤包括:
通过进程文件系统和所述客户端的用户态文件描述符,在用户态文件描述符数组中查找所述客户端的用户态文件描述符对应的客户端的内核态文件描述符。
3.如权利要求1所述的组播数据转发方法,其特征在于,在所述调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端的步骤之后,还包括:
在用户态下执行如下步骤:
若确定所述客户端掉线,则检测所述节目IP是否关联其他客户端的用户态文件描述符;
若所述节目IP不关联其他客户端的用户态文件描述符,则生成所述节目IP对应的组播离开报文并发送至组播服务器,以供组播服务器停止下发所述节目IP对应的组播数据。
4.如权利要求3所述的组播数据转发方法,其特征在于,当收到所述客户端发送的组播离开报文时,确定所述客户端掉线;或,检测到与所述客户端的通信连接超时,确定所述客户端掉线。
5.如权利要求4所述的组播数据转发方法,其特征在于,在所述确定所述客户端掉线之后,还包括:
在用户态下执行如下步骤:
解除所述第一关联关系和第二关联关系。
6.如权利要求3所述的组播数据转发方法,其特征在于,在所述检测所述节目IP是否关联其他客户端的用户态文件描述符的步骤之后,还包括:
若所述节目IP关联其他客户端的用户态文件描述符,在内核态下执行如下步骤:
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,调用其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
7.如权利要求1所述的组播数据转发方法,其特征在于,在所述调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端的步骤之后,还包括:
在用户态下执行如下步骤:
接收其他客户端发送的对应所述节目IP的媒体请求,建立所述其他客户端的用户态文件描述符与所述节目IP的第三关联关系;
在内核态下执行如下步骤:
基于所述其他客户端的用户态文件描述符查找其他客户端的内核态文件描述符;
建立所述节目IP与所述其他客户端的内核态文件描述符的第四关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第四关联关系,调用所述其他客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述其他客户端。
8.一种组播数据转发装置,其特征在于,所述组播数据转发装置包括:
用户态模块,用于在用户态下执行如下步骤:
接收客户端发送的媒体请求,并建立所述客户端的用户态文件描述符与所述媒体请求对应的节目IP的第一关联关系;
生成所述节目IP对应的组播加入报文并发送至组播服务器;
内核态模块,用于在内核态下执行如下步骤:
基于所述客户端的用户态文件描述符查找客户端的内核态文件描述符;
建立所述节目IP与所述客户端的内核态文件描述符的第二关联关系;
接收组播服务器下发的所述节目IP对应的组播数据,将所述组播数据转换成单播数据,基于所述第二关联关系,调用所述客户端的内核态文件描述符对应的套接字发送函数将所述单播数据发送至所述客户端。
9.一种组播数据转发设备,其特征在于,所述组播数据转发设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的组播数据转发程序,其中所述组播数据转发程序被所述处理器执行时,实现如权利要求1至7中任一项所述的组播数据转发方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有组播数据转发程序,其中所述组播数据转发程序被处理器执行时,实现如权利要求1至7中任一项所述的组播数据转发方法的步骤。
CN202210999196.4A 2022-08-19 2022-08-19 组播数据转发方法、装置、设备及可读存储介质 Active CN115460470B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210999196.4A CN115460470B (zh) 2022-08-19 2022-08-19 组播数据转发方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210999196.4A CN115460470B (zh) 2022-08-19 2022-08-19 组播数据转发方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN115460470A true CN115460470A (zh) 2022-12-09
CN115460470B CN115460470B (zh) 2024-03-26

Family

ID=84297956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210999196.4A Active CN115460470B (zh) 2022-08-19 2022-08-19 组播数据转发方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115460470B (zh)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004254288A (ja) * 2003-01-29 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> マルチキャストデータ通信システム及び方法、クライアント側ゲートウェイ、サーバ側ゲートウェイ、コンピュータプログラム、ならびに、コンピュータプログラムを記録した記録媒体
WO2010127599A1 (zh) * 2009-05-05 2010-11-11 中兴通讯股份有限公司 组播业务断开后快速恢复的方法、装置及网关设备
CN105991755A (zh) * 2015-05-21 2016-10-05 杭州迪普科技有限公司 业务报文分发方法及装置
WO2017121273A1 (zh) * 2016-01-12 2017-07-20 阿里巴巴集团控股有限公司 一种kvm虚拟化下处理i/o请求的方法和装置
CN107948762A (zh) * 2016-10-13 2018-04-20 华为技术有限公司 直播视频的传输方法、装置和系统
CN109766187A (zh) * 2019-01-10 2019-05-17 烽火通信科技股份有限公司 网络数据包高速处理转发方法及系统
CN110535813A (zh) * 2018-05-25 2019-12-03 网宿科技股份有限公司 内核态协议栈与用户态协议栈并存处理方法和装置
CN110855610A (zh) * 2019-09-30 2020-02-28 视联动力信息技术股份有限公司 一种数据包的处理方法、装置及存储介质
CN111857993A (zh) * 2020-06-24 2020-10-30 烽火通信科技股份有限公司 一种内核态调用用户态函数的方法
CN112416863A (zh) * 2020-10-19 2021-02-26 网宿科技股份有限公司 数据存储方法及缓存服务器
CN112468886A (zh) * 2020-11-05 2021-03-09 烽火通信科技股份有限公司 组播数据转发方法、装置、设备及可读存储介质
CN112532585A (zh) * 2020-11-02 2021-03-19 杭州迪普科技股份有限公司 一种进程间报文传输的方法、设备及介质
CN113259400A (zh) * 2021-07-14 2021-08-13 南京易科腾信息技术有限公司 基于网络协议的网络交互系统、方法及存储介质
WO2022095571A1 (zh) * 2020-11-03 2022-05-12 中兴通讯股份有限公司 报文转发方法、装置和计算机可读存储介质
WO2022105884A1 (zh) * 2020-11-23 2022-05-27 中兴通讯股份有限公司 数据传输方法、装置、网络设备、存储介质
CN114697391A (zh) * 2022-04-08 2022-07-01 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质
CN114691390A (zh) * 2022-03-07 2022-07-01 阿里巴巴(中国)有限公司 用户态程序的处理方法和装置、存储介质及处理器

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004254288A (ja) * 2003-01-29 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> マルチキャストデータ通信システム及び方法、クライアント側ゲートウェイ、サーバ側ゲートウェイ、コンピュータプログラム、ならびに、コンピュータプログラムを記録した記録媒体
WO2010127599A1 (zh) * 2009-05-05 2010-11-11 中兴通讯股份有限公司 组播业务断开后快速恢复的方法、装置及网关设备
CN105991755A (zh) * 2015-05-21 2016-10-05 杭州迪普科技有限公司 业务报文分发方法及装置
WO2017121273A1 (zh) * 2016-01-12 2017-07-20 阿里巴巴集团控股有限公司 一种kvm虚拟化下处理i/o请求的方法和装置
CN107948762A (zh) * 2016-10-13 2018-04-20 华为技术有限公司 直播视频的传输方法、装置和系统
CN110535813A (zh) * 2018-05-25 2019-12-03 网宿科技股份有限公司 内核态协议栈与用户态协议栈并存处理方法和装置
CN109766187A (zh) * 2019-01-10 2019-05-17 烽火通信科技股份有限公司 网络数据包高速处理转发方法及系统
CN110855610A (zh) * 2019-09-30 2020-02-28 视联动力信息技术股份有限公司 一种数据包的处理方法、装置及存储介质
CN111857993A (zh) * 2020-06-24 2020-10-30 烽火通信科技股份有限公司 一种内核态调用用户态函数的方法
CN112416863A (zh) * 2020-10-19 2021-02-26 网宿科技股份有限公司 数据存储方法及缓存服务器
CN112532585A (zh) * 2020-11-02 2021-03-19 杭州迪普科技股份有限公司 一种进程间报文传输的方法、设备及介质
WO2022095571A1 (zh) * 2020-11-03 2022-05-12 中兴通讯股份有限公司 报文转发方法、装置和计算机可读存储介质
CN112468886A (zh) * 2020-11-05 2021-03-09 烽火通信科技股份有限公司 组播数据转发方法、装置、设备及可读存储介质
WO2022105884A1 (zh) * 2020-11-23 2022-05-27 中兴通讯股份有限公司 数据传输方法、装置、网络设备、存储介质
CN113259400A (zh) * 2021-07-14 2021-08-13 南京易科腾信息技术有限公司 基于网络协议的网络交互系统、方法及存储介质
CN114691390A (zh) * 2022-03-07 2022-07-01 阿里巴巴(中国)有限公司 用户态程序的处理方法和装置、存储介质及处理器
CN114697391A (zh) * 2022-04-08 2022-07-01 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN115460470B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
US11070970B2 (en) Apparatus and method for providing universal plug and play service based on Wi-Fi direct connection in portable terminal
US11871333B2 (en) Wireless network service type
US9043424B2 (en) Method for activating and deactivating client-side services from a remote server
CN111405042B (zh) 一种电子设备的发现方法、装置、存储介质和电子装置
EP2933982B1 (en) Media stream transfer method and user equipment
US20110141950A1 (en) SYSTEM AND METHOD OF MULTI-MEDIA CONFERENCING BETWEEN UNIVERSAL PLUG AND PLAY (UPnP) ENABLED TELEPHONY DEVICES AND WIRELESS AREA NETWORK (WAN) DEVICES
US8942213B2 (en) Method and system for accessing storage devices
CN106210049B (zh) 一种基于消息队列的集群通信方法及系统
WO2016165584A1 (zh) 一种终端之间的通信方法和装置
WO2019153722A1 (zh) 终端通信的方法、装置、终端及存储介质
US8719434B2 (en) Agnostic peripheral control for media communication appliances
US9992343B2 (en) Text translation of an audio recording during recording capture
JP2005202968A (ja) 発見プロトコルを設定するシステム及び方法
WO2019218478A1 (zh) 一种通话服务的响应方法及设备
US20080025306A1 (en) Internet protocol television system, method for providing internet protocol multicast TV signal, TV transferring apparatus, and TV receiving apparatus
CN112187486A (zh) 智能设备之间的交互方法及智能设备
CN112468886B (zh) 组播数据转发方法、装置、设备及可读存储介质
CN115460470B (zh) 组播数据转发方法、装置、设备及可读存储介质
CN112383617A (zh) 进行长连接的方法、装置、终端设备以及介质
CN112383801A (zh) 媒体流分发方法、装置、分发服务器及存储介质
US20110035432A1 (en) System, server device, and method for sharing files between server device and client terminal
CN111901648B (zh) 一种数据共享方法及相关装置
CN116647707B (zh) 组播调度方法、装置和系统
CN115802081A (zh) 消息分发方法、服务器及存储介质
CN117294746A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230410

Address after: 430000 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province

Applicant after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Address before: Floor 11, building 1, no.6, Gaoxin 4th Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province 430205

Applicant before: WUHAN FIBERHOME TECHNICAL SERVICES Co.,Ltd.

Applicant before: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant