CN112398845B - 数据传输方法、数据传输装置、系统及电子设备 - Google Patents

数据传输方法、数据传输装置、系统及电子设备 Download PDF

Info

Publication number
CN112398845B
CN112398845B CN202011257896.3A CN202011257896A CN112398845B CN 112398845 B CN112398845 B CN 112398845B CN 202011257896 A CN202011257896 A CN 202011257896A CN 112398845 B CN112398845 B CN 112398845B
Authority
CN
China
Prior art keywords
port
server
identity information
client
link
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
Application number
CN202011257896.3A
Other languages
English (en)
Other versions
CN112398845A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011257896.3A priority Critical patent/CN112398845B/zh
Publication of CN112398845A publication Critical patent/CN112398845A/zh
Application granted granted Critical
Publication of CN112398845B publication Critical patent/CN112398845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本申请实施例提供了一种数据传输方法、数据传输装置、系统及电子设备,涉及通信技术领域,可以减少服务器中第一端口的开放数量,以减小服务器受到攻击的几率、提高服务器的转发能力。所述方法包括:接收客户端的目标端口发送的请求报文,所述请求报文携带所述目标端口的身份信息,所述目标端口为所述客户端用于发送通信请求的多个第二端口中的至少一个,多个所述第二端口与一个所述第一端口对应;根据所述身份信息,确定与所述目标端口对应的所述第一端口;当所述目标端口与所述第一端口正常连通时,通过所述第一端口接收所述目标端口发送的媒体流数据。

Description

数据传输方法、数据传输装置、系统及电子设备
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、数据传输装置、系统及电子设备。
背景技术
服务器可以用于路由或转发客户端的数据,服务器的一个特点是可以将自身“伪装”成网页即时通信(Web Real-Time Communication,简称WebRTC)中的一个客户端,WebRTC中的其他客户端并不清楚与自己连接的是一台真正的客户端,还是一台服务器,这种连接方式称为点对服务器(Peer to Server,简称P2S);服务器的另一个特点是可以将一个客户端的数据转发到其他多个客户端。
但现有技术中,服务器在与客户端交互时,需开放大量的端口,导致服务器容易受到攻击,且转发数据的能力降低。
发明内容
本申请实施例提供了一种数据传输方法、数据传输装置、系统及电子设备,以改善上述问题。
第一方面,提供一种数据传输方法,应用于服务器,服务器包括第一端口,所述方法包括:接收客户端的目标端口发送的请求报文,请求报文携带目标端口的身份信息,目标端口为所述客户端用于发送通信请求的多个第二端口中的至少一个,多个第二端口与一个第一端口对应;根据身份信息,确定与目标端口对应的第一端口;当目标端口与第一端口正常连通时,通过第一端口接收目标端口发送的媒体流数据。
第二方面,提供一种数据传输装置,包括:接收模块以及处理模块。接收模块,用于接收客户端的目标端口发送的请求报文,请求报文携带目标端口的身份信息,目标端口为客户端用于发送通信请求的多个第二端口中的至少一个,多个第二端口与数据传输装置中的一个第一端口对应;处理模块,用于确定与目标端口对应的第一端口;接收模块,还用于当目标端口与第一端口正常连通时,通过第一端口接收目标端口发送的媒体流数据。
第三方面,提供一种数据传输方法,应用于移动终端,客户端包括用于发送通信请求的多个第二端口,所述方法包括:通过目标端口向服务器发送请求报文,请求报文携带目标端口的身份信息,目标端口为多个第二端口中的至少一个;获取服务器根据身份信息确定的与目标端口对应的第一端口,多个第二端口与一个第一端口对应;与第一端口连通,通过第一端口发送媒体流数据。
第四方面,提供一种数据传输装置,包括:发送模块以及获取模块。发送模块,用于通过目标端口向服务器发送请求报文,请求报文携带目标端口的身份信息,移动终端包括用于发送通信请求的多个第二端口,目标端口为多个第二端口中的至少一个;获取模块,用于获取服务器根据身份信息确定的与目标端口对应的第一端口;发送模块,还用于与第一端口连通,通过第一端口发送媒体流数据。
第五方面,提供一种数据传输系统,包括公网负载均衡器以及多个服务器,多个服务器接入同一公网负载均衡器;服务器包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序用于执行第一方面所述的方法。
第六方面,提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序用于执行第一方面或第三方面所述的方法。
第七方面,提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行第一方面所述的方法。
本申请实施例提供的一种数据传输方法、数据传输装置、系统及电子设备中,服务器包括第一端口,客户端包括多个第二端口,多个第二端口与一个第一端口对应。服务器在接收客户端的目标端口发送的请求报文后,根据请求报文中携带的目标端口的身份信息,确定与该目标端口对应的第一端口。由于本申请中多个第二端口对应一个第一端口,进而多个第二端口通过一个第一端口向服务器发送的媒体流数据也为多条,即,本申请利用第二端口与第一端口的对应关系,可使多条媒体流数据通过同一第一端口传输至服务器,相较于现有技术中服务器为每条媒体流数据分配一个独立的第一端口,本申请可以大大减少服务器中第一端口的开放数量,减小服务器受攻击的几率,提高服务器的转发能力。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为服务器与客户端之间的数据传输图;
图2为本申请实施例提供的数据传输的流程示意图;
图3为本申请实施例提供的客户端与服务器之间传输数据的示意图;
图4为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图5为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图6为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图7为本申请实施例提供的数据传输的流程示意图;
图8为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图9为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图10为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图11为本申请实施例提供的数据传输装置的框图;
图12为本申请实施例提供的数据传输装置的框图;
图13为本申请实施例提供的数据传输的流程示意图;
图14为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图15为本申请实施例提供的客户端与服务器之间传输数据的过程图;
图16为本申请实施例提供的服务器与客户端各模块之间的交互图;
图17为本申请实施例提供的数据传输系统中服务器与公网负载均衡器;
图18为本申请实施例提供的电子设备中各个模块的关系框图;
图19为本申请实施例提供的计算机可读存储介质与应用程序的关系框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
如图1所示,服务器10可以与一个或多个客户端20建立通信,接收一个或多个客户端20发送的媒体流数据,并将接收到的媒体流数据转发到其他客户端20。
然而,服务器10需为接收到的每条媒体流数据分配一个单独的端口,导致服务器10需要开放大量的端口供客户端20接入。
其中,服务器10中开放的端口越多,服务器10受到攻击的几率越大。示例的,服务器10共有10000个端口,如果服务器10只开放了一个端口,则服务器10受到攻击的概率为万分之一;如果服务器10开放了5000个端口,则服务器10收到攻击的概率为二分之一。
服务器10开放的端口越多,其需要转发的媒体流数据越多,导致服务器10的转发能力降低。
针对上述问题,发明人经研究后提出了一种数据传输方法,可以解决服务器10为接收到的每条媒体流数据分配一个单独的端口,导致服务器10开放的端口多的问题。
本申请实施例不对服务器10的类型进行限定,不同类型的服务器10可以转发不同类型的数据,有的服务器10可以转发音视频数据流,有的服务器10可以转发文本数据等等。
以服务器10为选择性转发单元(Selective Forwarding Unit,简称SFU)为例,SFU可以转发音视频数据流。
本申请实施例的客户端20可以是电脑、手机、平板电脑等可以与服务器10传输数据的电子设备。
如图2所示,本申请实施例提供了一种数据传输方法,可应用于服务器10,本申请实施例描述的是服务器10侧的步骤流程,该方法可以包括:
S110、接收客户端的目标端口发送的请求报文,请求报文携带身份信息,目标端口为客户端用于发送通信请求的多个第二端口中的至少一个,多个第二端口与一个所述第一端口对应。
如图3所示,服务器10可以与一个或多个客户端20建立通信连接,每个客户端20可以包括多个第二端口,多个第二端口可以通过向服务器10发送通信请求,使服务器10与客户端20建立通信连接。其中目标端口为已向与服务器10建立通信连接的多个第二端口中,再次向服务器10发送请求报文的至少一个。
在一些实施例中,若与服务器10建立通信连接的客户端20为多个,多个客户端20中的部分客户端20可以同时通过目标端口向服务器10发送请求报文,或者,所有客户端20可以同时通过目标端口向服务器10发送请求报文,或者,在一个时间段,无客户端20向服务器10发送请求报文。
示例的,如图3所示,假设与服务器10建立通信连接的客户端20为三个,在一个时间段,只有一个客户端20通过目标端口向服务器10发送请求报文。如图4所示,假设与服务器10建立通信连接的客户端20为三个,在一个时间段内,三个客户端20通过目标端口同时向服务器10发送请求报文。
在一些实施例中,一个客户端20包括多个第二端口,多个第二端口中的部分第二端口可以作为目标端口向服务器10发送请求报文,或者,所有第二端口可以同时作为目标端口向服务器10发送请求报文,或者,在一个时间段内,无第二端口向服务器10发送请求报文。
在一些实施例中,多个第二端口与一个第一端口对应,包括:所有第二端口与多个第一端口对应,其中所有第二端口中的至少两个第二端口与一个第一端口对应;或者,所有第二端口与一个第一端口对应。
示例的,与服务器建立连接的第二端口的数量为1000个,每100个第二端口与一个第一端口对应,或者,1000个第二端口全部与一个第一端口对应。
在一些实施例中,在所有第二端口与多个第一端口对应,且多个客户端20与第一端口建立通信连接的情况下,可以以客户端20为单位,一个客户端20中的所有第二端口与同一个第一端口对应,或者,以多个客户端20为单位,多个客户端20中的所有第二端口与同一个第一端口对应,或者,一个客户端20中的一部分第二端口与一个第一端口对应,该客户端20中的另一部分第二端口与其他第一端口对应。
对于上述任一实施例,第二端口与第一端口对应表示为:客户端20可以通过第二端口向服务器10发送第一数据,服务器10中用于接收第一数据的端口为与该第二端口对应的第一端口。同理,服务器10也可以通过第一端口向客户端20返回第二数据,客户端20中用于接收第二数据的端口为与该第一端口对应的第二端口。
在一些实施例中,由于目标端口为多个第二端口中的至少一个,即,目标端口可以是任意一个第二端口。因此,目标端口的身份信息,实际为第二端口的身份信息。
每个目标端口的身份信息例如可以是用户身份证明(User Identification,简称UID)、身份标识号(Identity document,简称ID)等具有唯一标识的身份信息。
S120、根据身份信息,确定与目标端口对应的第一端口。
请求报文中携带了目标端口的身份信息,该身份信息可以作为唯一标识,使服务器10识别到目标端口的身份信息,进而根据身份信息与第一端口的对应关系,确定与目标端口对应的第一端口。
S130、当目标端口与第一端口正常连通时,通过第一端口接收目标端口发送的媒体流数据。
如图5所示,在目标端口与第一端口正常连通时,客户端20可以通过第二端口向服务器20发送媒体流数据。
在一些实施例中,如图5和图6所示,服务器10确定与目标端口对应的第一端口后,还可以向客户端20返回响应报文,将请求报文的请求结果返回至客户端20。请求结果可以包括目标端口与第一端口正常连通的信息,或者,请求结果也可以目标端口与第一端口未连通的信息。
在本申请实施例中,当目标端口与第一端口正常连通时,通过第一端口接收目标端口发送的媒体流数据,包括:当目标端口与第一端口正常连通时,向客户端20反馈目标端口与第一端口连接成功;通过第一端口接收目标端口发送的媒体流数据。
在一些实施例中,媒体流数据的类型与服务器20的类型对应,服务器10通过第一端口接收的媒体流数据可以是音视频数据流,也可以是文本数据等。
以服务器10通过第一端口接收的媒体流数据是音视频数据流为例,服务器10通过第一端口接收的媒体流数据可以为rtp报文和或rtcp报文。rtp报文例如可以传送GSM音频、JPEM图像等媒体数据,rtcp报文用于传送控制信息,以实现协议控制功能。
本申请实施例提供一种数据传输方法,服务器10包括第一端口,客户端20包括多个第二端口,多个第二端口与一个第一端口对应。服务器10在接收客户端的目标端口发送的请求报文后,根据请求报文中携带的目标端口的身份信息,确定与该目标端口对应的第一端口。由于本申请中多个第二端口对应一个第一端口,进而多个第二端口通过一个第一端口向服务器10发送的媒体流数据也为多条,即,本申请利用第二端口与第一端口的对应关系,可使多条媒体流数据通过同一第一端口传输至服务器10,相较于现有技术中服务器10为每条媒体流数据分配一个独立的第一端口,本申请可以大大减少服务器10中第一端口的开放数量,减小服务器10受攻击的几率,提高服务器10的转发能力。
如图7所示,本申请实施例提供了一种数据传输方法,可应用于服务器10,本申请实施例描述的是服务器10侧的步骤流程,该方法可以包括:
S101、接收客户端的第二端口发送的通信请求。
如图8所示,客户端20通过第二端口向服务器10发送通信请求后,服务器10可以根据客户端20的请求以及自身资源,响应客户端20,与发送通信请求的第二端口建立通信连接。
S102、为客户端的地址以及客户端用于发送通信请求的第二端口分配身份信息以及链路,链路与身份信息一一对应,链路为与第一端口对应的多个链路中的一个。
服务器10接收到客户端20的第二端口发送的通信请求后,可以向所有客户端的第二端口分配身份信息以及与身份信息一一对应的链路,链路为无源的点对点的物理连接,每个链路的一个节点和与其对应的身份信息所表示的第二端口连接,另一个节点和与其对应的第一端口连接。通过为第二端口分配唯一的链路,可以使客户端20通过第二端口发送的媒体流数据按照链路的路径,发送至与其对应的第一端口。
在一些实施例中,在所有第二端口与多个第一端口对应的情况下,所有链路也与多个第一端口对应,其中所有链路中的至少两个链路与一个第一端口对应。
在所有第二端口与一个第一端口对应的情况下,所有链路与一个第一端口对应。
在一些实施例中,为客户端的地址以及客户端用于发送通信请求的第二端口分配身份信息以及链路,包括:确定发送通信请求的客户端20的地址、以及该客户端中用于发送通信请求的第二端口;为该地址以及该第二端口分配身份信息以及链路。
其中,客户端20的地址可以是该客户端20的互联网协议地址(Internet ProtocolAddress,简称IP地址)。由于每个客户端20包括多个第二端口,因此,每个地址对应多个第二端口,可以为每个地址下的多个第二端口分别分配身份信息以及链路。
示例的,如图9所示,假设向服务器10发送通信请求的客户端包括客户端A、客户端B、客户端C,其中,客户端A通过第二端口a、第二端口b、以及第二端口c向服务器10发送通信请求,客户端B通过第二端口d以及第二端口e向服务器10发送通信请求,客户端C通过第二端口f以及第二端口g向服务器10发送通信请求。则服务器10可以分别向客户端A的第二端口a、客户端A的第二端口b、客户端A的第二端口c、客户端B的第二端口d、客户端B的第二端口e、客户端C的第二端口f、以及客户端C的第二端口g分配身份信息以及链路。
S103、将身份信息返回至第二端口。
如图10所示,服务器将为每个第二端口分配的身份信息返回至对应的第二端口。由于身份信息与链路一一对应,因此,在服务器10为第二端口分配身份信息以及链路后,可以返回身份信息至第二端口,进而根据每个目标端口的身份信息,确定与其对应的唯一的链路。
S110、接收客户端的目标端口发送的请求报文,请求报文携带身份信息,目标端口为客户端中用于发送通信请求的多个第二端口中的至少一个,多个第二端口与一个所述第一端口对应。
S120、根据身份信息,确定与目标端口对应的第一端口。
在一些实施例中,在所有第二端口与多个第一端口对应的情况下,所有链路与多个第一端口对应。因此,根据身份信息,确定与目标端口对应的第一端口,包括:根据身份信息,确定与身份信息对应的链路;再根据链路,确定与链路对应的第一端口,以确定与目标端口对应的身份信息。
在所有第二端口与一个第一端口对应的情况下,所有链路与一个第一端口对应,相当于不论是哪个第二端口,不论第二端口的身份信息是什么,所有第二端口均与唯一确定的第一端口对应。因此,根据身份信息确定与目标端口对应的第一端口时,可以根据目标端口的身份信息确定链路,确保从每个目标端口发出的数据按照与该目标端口对应的链路,发送到预设的唯一第一端口。
S130、当目标端口与第一端口正常连通时,通过第一端口接收目标端口发送的媒体流数据。
步骤S110~S130的其他解释说明与前述实施例中S110~S130的解释说明相同,在此不再赘述。
本申请实施例提供一种数据传输方法,客户端20可以通过第二端口向服务器10发送通信请求,以使发送通信请求的第二端口与服务器通信连接。服务器10接收到客户端20通过第二端口发送的通信请求后,可以向客户端20的每个第二端口分配身份信息以及与身份信息一一对应的链路,可以根据身份信息确定链路,确保从第二端口发送的数据可以沿链路发送至于第二端口对应的第一端口。由于每个链路为第一端口对应的多个链路中的一个,因此,多个媒体流数据可以通过多个链路发送到同一个第一端口,相较于现有技术,本申请可以大大减少服务器10中第一端口的开放数量,减小服务器10受攻击的几率,提高服务器10的转发能力。
如图11所示,其示出了本申请另一实施例提供的一种数据传输装置100的结构框图,应用于服务器10,该数据传输装置100包括接收模块101以及处理模块102。
接收模块101,用于接收客户端的目标端口发送的请求报文,请求报文携带目标端口的身份信息,目标端口为客户端用于发送通信请求的多个第二端口中的至少一个,多个第二端口与数据传输装置中的一个第一端口对应。
处理模块102,用于确定与目标端口对应的第一端口。
接收模块101,还用于当目标端口与第一端口正常连通时,通过第一端口接收所述目标端口发送的媒体流数据。
在此基础上,如图12所示,数据传输装置100还包括发送模块103。接收模块101还用于接收客户端的第二端口发送的通信请求;处理模块102还用于为客户端的地址以及客户端用于发送通信请求的第二端口分配身份信息以及链路,链路与身份信息一一对应,链路为与第一端口对应的多个链路中的一个;发送模块103用于将身份信息返回至第二端口。
处理模块102还用于根据身份信息,确定与身份信息对应的链路;根据所述链路,确定与目标端口对应的第一端口。
发送模块103还用于当所述目标端口与所述第一端口正常连通时,向所述客户端反馈所述目标端口与所述第一端口连接成功;接收模块101还用于通过第一端口接收目标端口发送的媒体流数据。
接收模块101还用于通过第一端口接收目标端口发送的rtp报文和rtcp报文。
处理模块102还用于确定发送通信请求的客户端的地址、以及该客户端中用于发送通信请求的第二端口,并为该地址以及该第二端口分配身份信息以及链路。
本申请实施例提供一种数据传输装置100,数据传输装置100包括接收模块101、处理模块102、发送模块103。数据传输装置100的解释说明以及有益效果与前述服务器侧实施例的解释说明以及有益效果相同,在此不再赘述。
如图13所示,本申请实施例提供了一种数据传输方法,可应用于客户端20,客户端包括用于发送通信请求的多个第二端口,本申请实施例描述的是客户端20侧的步骤流程,该方法可以包括:
S210、通过目标端口向服务器发送请求报文,请求报文携带目标端口的身份信息,目标端口为多个第二端口中的至少一个。
如图8所示,客户端20通过目标端口向服务器10发送请求报文之前,客户端20还可以通过第二端口向服务器10发送通信请求,以使客户端20通过第二端口与服务器10建立通信连接,服务器10接收到通信请求后,可以为第二端口分配身份信息。如图2和图3所示,二者建立通信连接后,客户端20可以通过目标端口向服务器10发送请求报文,请求报文中可以携带目标端口的身份信息。
在一些实施例中,客户端20可以通过多个第二端口与服务器10建立通信连接,在一个时间段,客户端20中与服务器10建立通信连接的所有第二端口都可以作为目标端口,向服务器10发送请求报文,或者,在一个时间段,客户端20中与服务器10建立通信连接的部分第二端口作为目标端口,向服务器10发送请求报文。
假设客户端20中的第二端口a、第二端口b、以及第二端口c与服务器10建立通信连接,如图14所示,第二端口a、第二端口b、以及第二端口c可以全部作为目标端口向服务器10发送请求报文,或者,如图15所示,第二端口a以及第二端口b作为目标端口向服务器10发送请求报文,第二端口c未作为目标端口向服务器10发送请求报文。
在一些实施例中,在一些实施例中,由于目标端口为多个第二端口中的至少一个,即,目标端口可以是任意一个第二端口。因此,目标端口的身份信息,实际为第二端口的身份信息。
每个目标端口的身份信息例如可以是UID或ID等具有唯一标识的身份信息。
S220、获取服务器根据身份信息确定的与目标端口对应的第一端口,多个第二端口与一个第一端口对应。
请求报文中携带了目标端口的身份信息,该身份信息可以作为唯一标识,使服务器10识别到目标端口的身份信息,进而根据身份信息与第一端口的对应关系,确定与目标端口对应的第一端口。
在一些实施例中,多个第二端口与一个第一端口对应,包括:所有第二端口与多个第一端口对应,其中所有第二端口中的至少两个第二端口与一个第一端口对应;或者,所有第二端口与一个第一端口对应。
示例的,与服务器建立连接的第二端口的数量为1000个,每100个第二端口与一个第一端口对应,或者,1000个第二端口全部与一个第一端口对应。
在一些实施例中,在所有第二端口与多个第一端口对应,且多个客户端20与第一端口建立通信连接的情况下,可以以客户端20为单位,一个客户端20中的所有第二端口与同一个第一端口对应,或者,以多个客户端20为单位,多个客户端20中的所有第二端口与同一个第一端口对应,或者,一个客户端20中的一部分第二端口与一个第一端口对应,该客户端20中的另一部分第二端口与其他第一端口对应。
S230、与第一端口连通,通过第一端口发送媒体流数据。
如图5所示,目标端口与第一端口连通后,客户端20可以通过第一端口向服务器20发送媒体流数据。
在一些实施例中,如图5和图6所示,在目标端口与第一端口连通后,客户端20还可以接收服务器10返回的响应报文,响应报文可以包括请求报文的请求结果。
在一些实施例中,媒体流数据的类型与服务器20的类型对应,服务器10通过第一端口接收的媒体流数据可以是音视频数据流,也可以是文本数据等。
以服务器10通过第一端口接收的媒体流数据是音视频数据流为例,服务器10通过第一端口接收的媒体流数据可以为rtp报文和或rtcp报文。rtp报文例如可以传送GSM音频、JPEM图像等媒体数据,rtcp报文用于传送控制信息,以实现协议控制功能。
本申请实施例提供一种数据传输方法,客户端20包括多个第二端口,服务器10包括第一端口,多个第二端口与一个第一端口对应。客户端20可以通过目标端口向服务器10发送携带目标端口的身份信息的请求报文,以根据身份信息确定与目标端口对应的第一端口。由于本申请中多个第二端口对应一个第一端口,进而多个第二端口通过一个第一端口向服务器10发送的媒体流数据也为多条,即,本申请利用第二端口与第一端口的对应关系,可使多条媒体流数据通过同一第一端口传输至服务器10,相较于现有技术中服务器10为每条媒体流数据分配一个独立的第一端口,本申请可以大大减少服务器10中第一端口的开放数量。
如图16所示,其示出了本申请另一实施例提供的一种数据传输装置200的结构框图,应用于客户端20,该数据传输装置200包括发送模块201以及获取模块202。
发送模块201,用于通过目标端口向服务器10发送请求报文,请求报文携带目标端口的身份信息,移动终端包括用于发送通信请求的多个第二端口,目标端口为多个第二端口中的至少一个。
获取模块202,用于获取服务器根据身份信息确定的与目标端口对应的第一端口。
发送模块201,还用于与第一端口连通,通过第一端口发送媒体流数据。
本申请实施例提供一种数据传输装置200,数据传输装置200包括发送模块201。数据传输装置200的解释说明以及有益效果与前述客户端侧实施例的解释说明以及有益效果相同,在此不再赘述。
如图17所示,其示出了本申请另一实施例提供的一种数据传输系统300的示意图,该数据传输系统300包括公网负载均衡器301以及多个服务器10,多个服务器10接入同一公网负载均衡器301。如图18所示,服务器10包括:一个或多个处理器11;存储器12;以及一个或多个应用程序13,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序用于执行前述服务器侧任一实施例所述的方法。
可以将多个服务器10连接在一个公网负载均衡器301上,利用公网负载均衡器301实现弹性缩容或扩容。与同一个公网负载均衡器301连接的多个服务器10的IP相同。
现有技术中,若一个服务器10中开放的第一端口过多,则该服务器10可能需要连接一个独立的公网负载均衡器301,即一个服务器10具有一个独立的公网IP。
本申请实施例提供的数据传输系统300中,由于与公网负载均衡器301连接的每个服务器10中开放的第一端口大大减少,因此,可以将多个服务器10挂载在同一个公网负载均衡器301上,使多个服务器10共用一个IP,以减少公网IP资源。
如图18所示,其示出了本申请另一实施例提供的一种电子设备400的结构框图,该电子设备400可以是手机、电脑、智能穿戴设备、移动电源(如充电宝)等能够运行应用程序且具有充电功能的电子设备400。本申请的电子设备400可以包括:一个或多个处理器401、存储器402、一个或多个应用程序403。其中一个或多个应用程序403被存储在存储器402中并被配置为由所述一个或多个处理器401执行,一个或多个应用程序403用于执行前述任一实施例所述的方法。
处理器401可以包括一个或者多个处理核。处理器401利用各种接口和线路连接整个电子设备400内的各个部分,通过运行或执行存储在存储器402内的指令、程序、代码集或指令集,以及调用存储在存储器402内的数据,执行电子设备400的各种功能和处理数据。可选地,处理器401可以采用数字信号处理(Digital Signal Processing,简称DSP)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)、可编程逻辑阵列(Programmable Logic Array,简称PLA)中的至少一种硬件形式来实现。处理器401可集成中央处理器(Central Processing Unit,简称CPU)、图像处理器(Graphics ProcessingUnit,简称GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器401中,单独通过一块通信芯片进行实现。
存储器402可以包括随机存储器(Random Access Memory,简称RAM),也可以包括只读存储器(Read-Only Memory,简称ROM)。存储器402可用于存储指令、程序、代码、代码集或指令集。存储器402可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备400在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
本申请实施例提供一种电子设备400,电子设备400的解释说明以及有益效果与前述实施例的解释说明以及有益效果相同,在此不再赘述。
如图19所示,其示出了本申请另一实施例提供的一种计算机可读存储介质500的结构框图。该计算机可读存储介质500中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质500可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选的,计算机可读存储介质500包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。
计算机可读存储介质500具有执行上述方法中的任何方法步骤的应用程序403的存储空间。这些应用程序403可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。应用程序403可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (8)

1.一种数据传输方法,应用于服务器,其特征在于,所述服务器包括第一端口,所述方法包括:
接收客户端的第二端口发送的通信请求,并与发送通信请求的第二端口建立通信连接;
为所述客户端用于发送所述通信请求的第二端口分配身份信息以及唯一的链路,所述链路与所述身份信息一一对应,所述链路为与所述第一端口对应的多个所述链路中的一个;
将所述身份信息返回至所述第二端口;
接收客户端的目标端口发送的请求报文,所述请求报文携带所述目标端口的身份信息,所述目标端口为所述客户端用于发送通信请求的多个第二端口中的至少一个,多个所述第二端口与一个所述第一端口对应;
确定所述身份信息对应的链路,并且确定所述链路对应的第一端口;
当所述目标端口与所述第一端口正常连通时,通过所述第一端口接收所述目标端口通过所述链路发送的媒体流数据。
2.根据权利要求1所述的方法,其特征在于,所述当所述目标端口与所述第一端口正常连通时,通过所述第一端口接收所述目标端口通过所述链路发送的媒体流数据,包括:
当所述目标端口与所述第一端口正常连通时,向所述客户端反馈所述目标端口与所述第一端口连接成功;
通过所述第一端口接收所述目标端口通过所述链路发送的媒体流数据。
3.根据权利要求1所述的方法,其特征在于,所述通过所述第一端口接收所述目标端口通过所述链路发送的媒体流数据,包括:
通过所述第一端口接收所述目标端口通过所述链路发送的rtp报文和rtcp报文。
4.一种数据传输装置,应用于服务器,其特征在于,所述服务器包括第一端口,所述装置包括:
接收模块,用于接收客户端的第二端口发送的通信请求,并与发送通信请求的第二端口建立通信连接;
处理模块,用于为所述客户端用于发送所述通信请求的第二端口分配身份信息以及唯一的链路,所述链路与所述身份信息一一对应,所述链路为与所述第一端口对应的多个所述链路中的一个;
发送模块,用于将所述身份信息返回至所述第二端口;
所述接收模块,还用于接收客户端的目标端口发送的请求报文,所述请求报文携带目标端口的身份信息,所述目标端口为所述客户端用于发送通信请求的多个第二端口中的至少一个,多个所述第二端口与所述数据传输装置中的一个第一端口对应;
所述处理模块,还用于确定所述身份信息对应的链路,并且确定所述链路对应的第一端口;
所述接收模块,还用于当所述目标端口与所述第一端口正常连通时,通过所述第一端口接收所述目标端口通过所述链路发送的媒体流数据。
5.一种数据传输方法,应用于移动终端,其特征在于,客户端包括用于发送通信请求的多个第二端口,所述方法包括:
通过所述第二端口向服务器发送通信请求,以使服务器与发送通信请求的第二端口建立通信连接,为所述客户端用于发送所述通信请求的第二端口分配身份信息以及唯一的链路,所述链路与所述身份信息一一对应,所述链路为与第一端口对应的多个所述链路中的一个;
通过第二端口获取所述服务器返回的身份信息;
通过目标端口向服务器发送请求报文,所述请求报文携带所述目标端口的身份信息,所述目标端口为所述多个第二端口中的至少一个;
获取所述服务器根据所述身份信息确定的与所述目标端口对应的第一端口,多个所述第二端口与一个所述第一端口对应;
与所述第一端口连通,通过所述链路向所述第一端口发送媒体流数据。
6.一种数据传输装置,其特征在于,客户端包括用于发送通信请求的多个第二端口,所述装置包括:
发送模块,用于通过所述第二端口向服务器发送通信请求,以使服务器与发送通信请求的第二端口建立通信连接,为所述客户端用于发送所述通信请求的第二端口分配身份信息以及唯一的链路,所述链路与所述身份信息一一对应,所述链路为与第一端口对应的多个所述链路中的一个;通过第二端口获取所述服务器返回的身份信息;通过目标端口向服务器发送请求报文,所述请求报文携带所述目标端口的身份信息,所述目标端口为所述多个第二端口中的至少一个;
获取模块,用于获取所述服务器根据所述身份信息确定的与所述目标端口对应的第一端口,多个所述第二端口与一个所述第一端口对应;
所述发送模块,还用于与所述第一端口连通,通过链路向所述第一端口发送媒体流数据。
7.一种数据传输系统,其特征在于,包括公网负载均衡器以及多个服务器,多个所述服务器接入同一所述公网负载均衡器;所述服务器包括:
一个或多个处理器;
存储器;以及,
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序用于执行权利要求1-3任一项所述的方法。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;以及,
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序用于执行权利要求1-3任一项或权利要求5所述的方法。
CN202011257896.3A 2020-11-11 2020-11-11 数据传输方法、数据传输装置、系统及电子设备 Active CN112398845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011257896.3A CN112398845B (zh) 2020-11-11 2020-11-11 数据传输方法、数据传输装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011257896.3A CN112398845B (zh) 2020-11-11 2020-11-11 数据传输方法、数据传输装置、系统及电子设备

Publications (2)

Publication Number Publication Date
CN112398845A CN112398845A (zh) 2021-02-23
CN112398845B true CN112398845B (zh) 2023-03-28

Family

ID=74600684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011257896.3A Active CN112398845B (zh) 2020-11-11 2020-11-11 数据传输方法、数据传输装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN112398845B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242760B (zh) * 2022-07-20 2023-12-26 深圳市灵镜技术有限公司 一种基于WebRTC的SFU系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101263483A (zh) * 2005-09-12 2008-09-10 微软公司 与多个进程共享端口
CN107222545A (zh) * 2017-06-20 2017-09-29 北京全域医疗技术有限公司 一种数据传输方法及装置
CN110011919A (zh) * 2019-03-27 2019-07-12 新华三技术有限公司 报文转发方法、装置、网络设备及存储介质
CN110008032A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 一种通信方式的实现方法及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160380966A1 (en) * 2015-06-25 2016-12-29 Microsoft Technology Licensing, Llc Media Relay Server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101263483A (zh) * 2005-09-12 2008-09-10 微软公司 与多个进程共享端口
CN107222545A (zh) * 2017-06-20 2017-09-29 北京全域医疗技术有限公司 一种数据传输方法及装置
CN110008032A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 一种通信方式的实现方法及电子设备
CN110011919A (zh) * 2019-03-27 2019-07-12 新华三技术有限公司 报文转发方法、装置、网络设备及存储介质

Also Published As

Publication number Publication date
CN112398845A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN106549878B (zh) 一种业务分流方法和装置
US20150081796A1 (en) Method, apparatus and system for transmitting media stream
CN112104754B (zh) 网络代理方法、系统、装置、设备及存储介质
CN111787079B (zh) 基于通信群组的通信方法、装置、服务器、系统及介质
CN114095557B (zh) 数据处理方法、装置、设备以及介质
CN113596191A (zh) 一种数据处理方法、网元设备以及可读存储介质
CN110012118B (zh) 一种提供网络地址转换nat服务的方法及控制器
CN111541555A (zh) 群聊优化方法及相关产品
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN112398845B (zh) 数据传输方法、数据传输装置、系统及电子设备
CN110012107B (zh) 一种数据通信方法、设备、装置、系统及存储介质
CN113993178A (zh) 多链路传输方法及装置、计算机可读存储介质、终端设备
CN112491978B (zh) 一种调度方法和设备
CN107483628B (zh) 基于dpdk的单向代理方法及系统
CN112968965A (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
CN116233481A (zh) 一种媒体流传输方法、媒体服务器以及通信系统
CN110708293A (zh) 多媒体业务的分流方法和装置
CN111416851A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
CN114629744B (zh) 基于macvlan主机网络的数据访问方法、系统及相关装置
KR101251630B1 (ko) 푸쉬 서비스 제공 시스템 및 방법
CN111315037B (zh) 通信链路建立方法、装置、计算机设备及存储介质
RU2679340C1 (ru) Маршрутизации сообщений без сохранения состояния
CN114615315A (zh) 线上会话的通讯方法、装置、设备及存储介质
CN112532534A (zh) 一种数据传输方法、装置以及计算机可读存储介质
CN111416852A (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