CN112866413A - 数据传输方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据传输方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112866413A CN112866413A CN202110192226.6A CN202110192226A CN112866413A CN 112866413 A CN112866413 A CN 112866413A CN 202110192226 A CN202110192226 A CN 202110192226A CN 112866413 A CN112866413 A CN 112866413A
- Authority
- CN
- China
- Prior art keywords
- source server
- address
- addresses
- stream
- candidate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000005540 biological transmission Effects 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 68
- 238000001514 detection method Methods 0.000 claims abstract description 40
- 239000000523 sample Substances 0.000 claims description 73
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种数据传输方法、装置、电子设备和计算机可读存储介质。通过CDN向源服务器的至少两个源服务器地址分别发送探测请求消息,接收来自于至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息,根据探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个或者多个地址为候选地址,即根据时间差来衡量网络路径的质量,时间差越小对应的网络路径质量越好,因此,可以根据时间差确定出来网络质量较好的网络路径对应的候选地址,在需要向源服务器拉流时,从候选地址中选择一个目标地址,从目标地址对应的源服务器获取数据流,从而,提高了数据传输效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据传输方法、装置、电子设备和计算机可读存储介质。
背景技术
用户通过内容分发网络(Content Delivery Network,CDN)访问源服务器提供的服务,可以明显提高访问效率以及服务质量。
现有技术中,CDN上存储的源服务器的数据可以是源服务器主动推流至CDN的,也可以是CDN主动从源服务器拉流得到的;在CDN从源服务器拉流的过程中,通常CDN的运营人员与源服务器的运营人员通过人工沟通的方式,确定源服务器使用的运营商,CDN通过源服务器使用的运营商对应的地址,从源服务器拉流。
然而,采用现有技术的方法,CDN从源服务器拉流的效率不高。
发明内容
为了解决上述技术问题,本公开提供了一种数据传输方法、装置、电子设备和计算机可读存储介质。
第一方面,本公开提供一种数据传输方法,包括:
向至少两个源服务器地址分别发送探测请求消息;
接收来自于所述至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息;
根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址;
从目标地址对应的源服务器获取数据流;其中,所述目标地址为所述候选地址中的一个地址。
可选的,所述向源服务器的至少两个源服务器地址分别发送探测请求消息,包括:
周期性地向源服务器的至少两个源服务器地址分别发送探测请求消息。
可选的,所述从目标地址对应的源服务器获取数据流之前,还包括:
存储所述候选地址。
可选的,所述根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址,包括:
根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个地址第一为候选地址。
可选的,若所述候选地址为至少两个源服务器地址;
所述从目标地址对应的源服务器获取数据流之前,还包括:
根据负载均衡策略从所述候选地址中确定一个目标地址。
可选的,所述方法还包括:
CDN的第一机器接收客户端的转码流请求,所述转码流请求中包含码流标识;
所述第一机器向所述CDN的第二机器发送转码任务,所述转码任务用于指示所述第二机器对所述码流标识对应的码流进行转码;
所述第一机器接收所述第二机器发送的转码码流;
所述第一机器向所述客户端发送所述转码流响应,所述转码流响应中包含所述转码码流。
可选的,所述探测请求消息为因特网包探索器ping命令,所述ping命令的目的地址为所述源服务器地址。
第二方面,本公开提供一种数据传输装置,包括:
第一发送模块,用于向至少两个源服务器地址分别发送探测请求消息;
第一接收模块,用于接收来自于所述至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息;
确定模块,用于根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址;
获取模块,用于从目标地址对应的源服务器获取数据流;其中,所述目标地址为所述候选地址中的一个地址。
可选的,所述第一发送模块具体用于:
周期性地向至少两个源服务器地址分别发送探测请求消息。
可选的,所述装置还包括:
存储模块,用于存储所述候选地址。
可选的,所述确定模块具体用于:
根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个地址第一为候选地址。
可选的,若所述候选地址为至少两个源服务器地址;
所述确定模块还用于:
根据负载均衡策略从所述候选地址中确定一个目标地址。
可选的,所述装置还包括:
第二接收模块,用于CDN的第一机器接收客户端的转码流请求,所述转码流请求中包含码流标识;
第二发送模块,用于所述第一机器向所述CDN的第二机器发送转码任务,所述转码任务用于指示所述第二机器对所述码流标识对应的码流进行转码;
第三接收模块,用于所述第一机器接收所述第二机器发送的转码码流;
第三发送模块,用于所述第一机器向所述客户端发送所述转码流响应,所述转码流响应中包含所述转码码流。
可选的,所述探测请求消息为ping命令,所述ping命令的目的地址为所述源服务器地址。
第三方面,本公开提供一种数据传输方法,包括:
CDN的第一机器接收客户端的转码流请求,所述转码流请求中包含码流标识;
所述第一机器向所述CDN的第二机器发送转码任务,所述转码任务用于指示所述第二机器对所述码流标识对应的码流进行转码;
所述第一机器接收所述第二机器发送的转码码流;
所述第一机器向所述客户端发送所述转码流响应,所述转码流响应中包含所述转码码流。
第四方面,本公开提供一种数据传输装置,包括:
第一接收模块,用于接收客户端的转码流请求,所述转码流请求中包含码流标识;
第一发送模块,用于向所述CDN的第二机器发送转码任务,所述转码任务用于指示所述第二机器对所述码流标识对应的码流进行转码;
第二接收模块,用于接收所述第二机器发送的转码码流;
第二发送模块,用于第一机器向所述客户端发送所述转码流响应,所述转码流响应中包含所述转码码流。
第五方面,本公开提供一种电子设备,包括:处理器和存储器,所述处理器用于执行存储于所述存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据传输方法的步骤。
第六方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述数据传输方法的步骤。
第七方面,本公开提供一种电子设备,包括:处理器和存储器,所述处理器用于执行存储于所述存储器的计算机程序,所述计算机程序被处理器执行时实现第三方面所述的数据传输方法的步骤。
第八方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第三方面所述数据传输方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过CDN向至少两个源服务器地址分别发送探测请求消息,接收来自于至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息,根据探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个或者多个地址为候选地址,即根据时间差来衡量网络路径的网络质量,时间差越小对应的网络路径的网络质量越好,因此,可以根据时间差确定出来网络质量较好的网络路径对应的候选地址,在需要向源服务器拉流时,从候选地址中选择一个目标地址,从目标地址对应的源服务器获取数据流,由于候选地址的网络路径的网络质量较好,因此,从中选择的目标地址的网络路径的网络质量较好,从而,可以提高数据传输效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的一种通信网络系统架构示意图;
图2为本公开实施例提供的一种数据传输方法的流程示意图;
图3为本公开实施例提供的另一种数据传输方法的流程示意图;
图4为本公开实施例提供的再一种数据传输方法的流程示意图;
图5为本公开实施例提供的一种数据传输装置的结构示意图;
图6为本公开实施例提供的另一种数据传输装置的结构示意图;
图7为本公开实施例提供的一种电子设备的结构示意图;
图8为本公开实施例提供的另一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
CDN是指构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
图1为本公开提供的一种通信网络系统架构示意图,如图1所示,本公开提供的通信网络系统包括:源服务器101,CDN102和终端设备103。源服务器101与CDN102通信连接,CDN102与终端设备103通信连接。
本公开将服务提供商的服务器称为源服务器,源服务器101可以是一台物理服务器,也可以是多台物理服务器,多台物理服务器可以分布在同一物理位置,也可以分布在不同的物理位置。源服务器上可以设置多个端口,每个端口可以配置一个地址,例如,网际互连协议(Internet Protocol,IP)地址,不同端口上配置的地址可以属于同一运营商,也可以属于不同运营商,不同端口可以位于同一物理服务器,也可以位于不同的物理服务器。
CDN102中可以包括一个或多个节点服务器,每个节点服务器可以为一台物理服务器,也可以为多台物理服务器,节点服务器为分布在不同的物理位置的服务器,对此本公开不做限定。图1中示例性的示出了CDN102中包括2个节点服务器的情况,分别为:节点服务器1和节点服务器2。
终端设备103可以是电脑、平板、手机或者其他智能终端设备等,终端设备103上通常安装应用程序客户端,例如,在上述架构中,终端设备103上安装应用程序1的客户端,则源服务器101指应用程序1的服务器,应用程序可以是音视频应用程序、图像处理应用程序或者娱乐社交应用程序等,对此本公开不做限定。
服务提供商的数据存储于源服务器上,服务提供商为了提高客户端(客户端可以安装于图1中所示的终端设备)的访问效率和服务质量,通常会将源服务器上的数据预存储于CDN,客户端通过访问CDN来访问源服务器的数据。其中,源服务器可以主动向CDN推流以将数据预存储于CDN,CDN也可以主动向源服务器发送拉流请求,以请求获取源服务器的数据,从而,将源服务器的数据存储于CDN。CDN向源服务器发送拉流请求的场景包括但不限于:周期性的向源服务器发送拉流请求,以更新CDN上存储的源服务器对应的数据;或者,CDN接收到某客户端发送的访问请求,如果CDN上存储有访问请求对应的数据,则将对应的数据返回给客户端,如果CDN上没有存储访问请求对应的数据,则向访问请求对应的源服务器发送拉流请求,以响应客户端的访问请求。
然而,由于源服务器设置有多个端口,不同物理服务器的端口上配置的地址对应的网络路径可能不同,不同运营商的地址对应的网络路径也不同,因此,在CDN和源服务器之间可能存在多条网络路径,本公开旨在CDN从多条网络路径中选择一条合适的网络路径,以向源服务器发送拉流请求,从源服务器获取拉流响应,以提高CDN和源服务器之间数据传输的效率。
本公开通过CDN向至少两个源服务器地址发送探测请求消息,接收源服务器地址返回的探测响应消息,根据探测响应消息的接收时间和探测请求消息的发送时间的时间差,获知各源服务器地址对应的网络路径的网络质量,进而,以根据网络路径的网络质量,从多条网络路径中选择一条合适的网络路径,向该网络路径对应的源服务器地址发送拉流请求,以请求源服务器的数据。
本公开中探测请求消息和探测响应消息的目的在于确定网络路径的网络质量,探测请求消息和探测响应消息中不携带与服务相关的数据信息,例如,可以是探测请求消息为因特网包探索器(Packet Internet Groper,简称ping)命令或者其他的问答消息对,因此,探测请求消息和探测响应消息的传输和处理效率都较快,消耗的网络资源较少。
下面以几个具体的实施例对本公开的技术方案做详细描述。
图2为本公开实施例提供的一种数据传输方法的流程示意图,如图2所示,本实施例由CDN执行,本实施例的方法如下:
S201、向至少两个源服务器地址分别发送探测请求消息。
其中,一个域名可以对应多个源服务器地址,CDN可以通过域名服务器(DomainName Server,DNS)对域名进行解析获取到至少两个源服务器地址,向至少两个源服务器地址分别发送探测请求消息。源服务器地址可以为IP地址或其他地址,多个源服务器地址对应多条网络路径。
其中,源服务器地址以IP地址为例,假设,IP1属于运营商1,IP3属于运营商2,则路径1使用运营商1提供的网络,路径3使用运营商2提供的网络,路径1与路径3不同,路径1与路径3的数据传输时间可能相同也可能不同。IP1与IP2属于运营商1,但地址不同,因此路径1与路径2不同,路径1与路径2的数据传输时间可能相同也可能不同。CDN可以向IP1、IP2、IP3、IP4、IP5分别发送探测请求消息。
表1、源服务器地址与所属运营商和网络路径的对应关系
源服务器地址 | 所属运营商 | 网络路径 |
IP1 | 运营商1 | 路径1 |
IP2 | 运营商1 | 路径2 |
IP3 | 运营商2 | 路径3 |
IP4 | 运营商2 | 路径4 |
IP5 | 运营商3 | 路径5 |
探测请求消息中包含目的地址,向某个源服务器地址发送的探测请求消息的目的地址为该源服务器地址。
CDN可以同时向至少两个源服务器地址发送探测请求消息,也可以依次向至少两个源服务器地址发送探测请求消息,对此,本公开不做限制。
如果是同时向至少两个源服务器地址分别发送探测请求消息,则至少两条探测请求消息的发送时间相同;
如果是依次向至少两个源服务器地址发送的探测请求消息,则至少两条探测请求消息的发送时间不同,可以分别记录至少两条探测请求消息的发送时间。
可选的,CDN可以一直向至少两个源服务器地址分别发送探测请求消息;也可以在有拉流需求时向至少两个源服务器地址分别发送探测请求消息,也可以周期性的(每隔预设时长)向至少两个源服务器地址分别发送探测请求消息,对此本公开不做限定。
S202、接收来自于至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息。
针对每个源服务器地址,源服务器通过源服务器地址对应的端口接收到CDN发送的探测请求消息,其中,探测请求消息中的目的地址为该源服务器地址,再通过该端口向CDN发送探测响应消息,其中探测响应消息的源地址为该源服务器地址。但是,由于网络路径拥塞或者故障等情况,源服务器地址对应的端口可能并未收到探测请求消息,因此,也不会向CDN返回对应的探测响应消息,CDN则不会收到来自于该源服务器地址的探测响应消息;或者源服务器通过源服务器地址对应的端口收到了探测请求消息,且通过源服务器地址对应的端口向CDN发送了探测响应消息,但CDN未收到该探测响应消息,因此,CDN也不会收到来自于该源服务器地址的探测响应消息。
在上述过程中,一种可能的情况中,CDN接收到来自于至少两个源服务器地址中的全部源服务器地址的探测响应消息。另一种可能的情况中,CDN接收到来自于至少两个源服务器地址中的部分源服务器地址的探测响应消息。
可选的,由于每条网络路径是否畅通以及其传输时间不确定,可以在发出探测请求消息之后的预设时间段内,接收探测响应消息。
S203、根据探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址。
可选的,可以根据记录的探测响应消息的接收时间和对应的探测请求消息的发送时间,计算出时间差,例如,可以在发送探测请求消息之后启动一个定时器,当接收到探测响应消息之后停止定时器,即可以获得探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差。确定时间差最短的一个或者多个源服务器地址为候选地址。
如果多个探测请求消息是同时发送的,也可以直接根据接收探测响应消息的顺序,确定时间差最短的一个或者多个源服务器地址为候选地址。
可选的,可以只确定一个时间差最短的源服务器地址为候选地址,该候选地址对应的网络路径的网络质量最优,数据传输效率最快。
也可以确定多个时间差最短的源服务器地址为候选地址,例如,确定10个源服务器地址对应的时间差中,时间差按照从短到长的顺序,取前3的时间差对应的源服务器地址为候选地址,这样,可以提高某些场景的数据传输效率,例如,直播场景,需要不断的向源服务器发送拉流请求,则可以根据负载均衡的策略从多个候选地址中选择一个作为目标地址发送拉流请求,再例如,在一些需要保证数据传输可靠性的场景中,可以同时向多个地址发送拉流请求,以避免其中一条网络路径突然故障无法成功拉流的情况。
表2为一种源服务器地址与时间差的对应关系,表2是在表1的基础上增加了源服务器地址对应的时间差,如表2所示,可以确定时间差最短的一个源服务器地址为候选地址,则IP1为候选地址;也可以确定时间差最短的两个源服务器地址为候选地址,则IP1和IP2为候选地址。
表2、源服务器地址与时间差的对应关系示意表
源服务器地址 | 所属运营商 | 网络路径 | 时间差/毫秒 |
IP1 | 运营商1 | 路径1 | 300 |
IP2 | 运营商1 | 路径2 | 400 |
IP3 | 运营商2 | 路径3 | 800 |
IP4 | 运营商2 | 路径4 | 800 |
IP5 | 运营商3 | 路径5 | 600 |
本实施例中,S201-S203可以通过在CDN中设置探测服务器来执行,也可以由CDN中与源服务器通信的任一服务器执行,对此,本公开不做限制。
S204、从目标地址对应的源服务器获取数据流。
其中,目标地址为所述候选地址中的一个地址。
CDN需要向源服务器获取数据流时,从候选地址中选择一个作为目标地址,向目标地址发送拉流请求消息,其中,拉流请求消息用于请求从源服务器获取数据流。候选地址可能有一个或多个。如果有一个候选地址,则候选地址为目标地址。
如果有多个候选地址,一种可能的实现方式中,随机从多个候选地址中选择一个作为目标地址。
另一种可能的实现方式中,选择时间差最短的候选地址作为目标地址。
再一种可能的实现方式中,根据负载均衡策略从多个候选地址中确定一个目标地址。
CDN接收来自于目标地址的拉流响应消息,拉流响应消息中包含数据流。
源服务器接收到CDN发送的拉流请求消息以后,根据该拉流请求消息,获取该拉流请求消息对应的数据流,向CDN发送包含该数据流的拉流响应消息。
本实施例,通过CDN向至少两个源服务器地址分别发送探测请求消息,接收来自于至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息,根据探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个或者多个地址为候选地址,即根据时间差来衡量网络路径的质量,时间差越小对应的网络路径质量越好,因此,可以根据时间差确定出来网络质量较好的网络路径对应的候选地址,在需要向源服务器拉流时,从候选地址中选择一个目标地址,从目标地址对应的源服务器获取数据流,由于候选地址的网络路径的网络质量较好,因此,从中选择的目标地址的网络路径的网络质量较好,从而,可以提高数据传输效率。如果是接收到客户端的访问请求,CDN中没有存储访问请求对应的数据,从源服务器拉流,并向客户端返回数据,可以减小用户的等待时间,提高了用户体验。
在上述实施例中,进一步地,还可以根据是否接收到探测请求消息对应的探测响应消息,确定源服务器地址是否可达,如果接收到来自于某个源服务器地址的探测响应消息,说明CDN和该源服务器地址之间的网络路径可达,如果没接收到来自于某个源服务器地址的探测响应消息,说明CDN和该源服务器地址之间的网络路径不可达。进而,更新源服务器的域名和源服务器地址的对应关系。
图3为本公开实施例提供的另一种数据传输方法的流程示意图,图3是在图2所示实施例的基础上,进一步地,如图3所示,S204之前还包括S204A:
S204A、存储候选地址。
本实施例,通过将候选地址存储在CDN本地,当CDN需要拉流时,根据本地存储的候选地址确定目标地址,从而,无需一直向源服务器发送探测请求,只需定期更新存储的候选地址即可,可以进一步地的节约网络资源。
CDN中包括分布在不同物理位置的服务器,如图1所示,CDN102中包括节点服务器1和节点服务器2,如果终端设备103请求相关服务提供商的数据,根据就近等负载均衡策略,CDN确定节点服务器1与终端设备103连接并为终端设备103提供服务,若终端设备103向节点服务器1发送转码流请求,该转码流请求中请求进行转码的码流并不在节点服务器1中,而是在节点服务器2中,在一些场景中,终端设备103需要与节点服务器2建立连接,节点服务器2进行转码流,再发送给终端设备103。这样,终端设备需要进行重定向连接,增加了终端设备等待转码流的时间,用户体验不高。下面以图4所示的实施例进行说明本公开如何解决该技术问题。
图4为本公开实施例提供的再一种数据传输方法的流程示意图,如图4所示,本实施例提供的方法可以包括如下步骤:
S401、CDN的第一机器接收客户端的转码流请求。
其中,转码流请求中包含码流标识。
其中,客户端可以为上述终端设备103,第一机器可以为上述节点服务器1。第一机器接收到客户端的转码流请求以后,查看本地是否有与该码流标识对应的码流,如果没有与该码流标识对应的码流,并获取到该码流存储在第二机器中,其中,第二机器可以为上述节点服务器2。
S402、第一机器向CDN的第二机器发送转码任务,转码任务用于指示第二机器对码流标识对应的码流进行转码。
S403、第一机器接收第二机器发送的转码码流。
第一机器向第二机器发送转码任务,第二机器对码流标识对应的码流进行转码,得到转码码流,第二机器向第一机器发送该转码码流。
S404、第一机器向客户端发送转码流响应。
其中,转码流响应中包含转码码流。
本实施例,通过CDN的第一机器接收客户端的转码流请求,转码流请求中包含码流标识,第一机器向CDN的第二机器发送转码任务,转码任务用于指示第二机器对码流标识对应的码流进行转码,第一机器接收第二机器发送的转码码流,第一机器向客户端发送转码流响应,转码流响应中包含转码码流。转码流的过程中无需客户端重新定向连接,缩短了客户端等待转码流的时间,提高了用户体验,无需在客户端增加重定向的流程,降低客户端的开发成本。
可选的,上述图4所示实施例的可以独立执行,也可以与上述图2或图3所示实施例结合执行,当其结合执行时,可以理解,S401-S404与S201-S205的执行没有先后顺序,可以在S205之后执行S401,也可以在S201之前执行S401-S404,还可以同步执行S401-S404与S201-S205,对于S401-S404与S201-S205的执行顺序本公开不做限定。
图5为本公开实施例提供的一种数据传输装置的结构示意图,如图5所示,本公开提供装置包括:
第一发送模块501,用于向至少两个源服务器地址分别发送探测请求消息;
第一接收模块502,用于接收来自于至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息;
确定模块503,用于根据探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址;
获取模块504,用于从目标地址对应的源服务器获取数据流;其中,所述目标地址为所述候选地址中的一个地址。
可选的,第一发送模块501具体用于:
周期性地向源服务器的至少两个源服务器地址分别发送探测请求消息。
可选的,装置还包括:
存储模块,用于存储候选地址。
可选的,确定模块503具体用于:
根据探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个源服务器地址为候选地址。
可选的,确定模块503还用于:
根据负载均衡策略从候选地址中确定一个目标地址。
第二接收模块,用于CDN的第一机器接收客户端的转码流请求,转码流请求中包含码流标识;
第二发送模块,用于第一机器向CDN的第二机器发送转码任务,转码任务用于指示第二机器对码流标识对应的码流进行转码;
第三接收模块,用于第一机器接收第二机器发送的转码码流;
第三发送模块,用于第一机器向客户端发送转码流响应,转码流响应中包含转码码流。
可选的,探测请求消息为ping命令,ping命令的目的地址为源服务器地址。
图6为本公开实施例提供的另一种数据传输装置的结构示意图,如图6所示,本公开提供装置包括:
第一接收模块601,用于接收客户端的转码流请求,转码流请求中包含码流标识;
第一发送模块602,用于向CDN的第二机器发送转码任务,转码任务用于指示第二机器对码流标识对应的码流进行转码;
第二接收模块603,用于接收第二机器发送的转码码流;
第二发送模块604,用于第一机器向客户端发送转码流响应,转码流响应中包含转码码流。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本公开实施例提供的一种电子设备的结构示意图,如图7所示,本公开提供的电子设备包括:处理器701和存储器702。
处理器701用于执行存储于存储器702的计算机程序,计算机程序被处理器701执行时实现如上述图2-图4任一所示的数据传输方法的步骤。
图8为本公开实施例提供的另一种电子设备的结构示意图,如图8所示,本公开提供的电子设备包括:处理器801和存储器802。
处理器801用于执行存储于存储器802的计算机程序,计算机程序被处理器801执行时实现如上述图4所示的数据传输方法的步骤。
上述实施例的设备,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述图2-图4任一所示的数据传输方法。
本公开提供另一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述图4所示的数据传输方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
向至少两个源服务器地址分别发送探测请求消息;
接收来自于所述至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息;
根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址;
从目标地址对应的源服务器获取数据流;其中,所述目标地址为所述候选地址中的一个地址。
2.根据权利要求1所述的方法,其特征在于,所述向至少两个源服务器地址分别发送探测请求消息,包括:
周期性地向至少两个源服务器地址分别发送探测请求消息。
3.根据权利要求1或2所述的方法,其特征在于,所述从目标地址对应的源服务器获取数据流之前,还包括:
存储所述候选地址。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址,包括:
根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的一个源服务器地址为候选地址。
5.根据权利要求1或2所述的方法,其特征在于,若所述候选地址为至少两个源服务器地址;
所述从目标地址对应的源服务器获取数据流之前,还包括:
根据负载均衡策略从所述候选地址中确定一个目标地址。
6.根据权利要求1或2所述的方法,其特征在于,所述探测请求消息为因特网包探索器ping命令,所述ping命令的目的地址为所述源服务器地址。
7.根据权利要求1或2所述的方法,其特征在于,还包括:
内容分发网络CDN的第一机器接收客户端的转码流请求,所述转码流请求中包含码流标识;
所述第一机器向所述CDN的第二机器发送转码任务,所述转码任务用于指示所述第二机器对所述码流标识对应的码流进行转码;
所述第一机器接收所述第二机器发送的转码码流;
所述第一机器向所述客户端发送所述转码流响应,所述转码流响应中包含所述转码码流。
8.一种数据传输装置,其特征在于,包括:
第一发送模块,用于向至少两个源服务器地址分别发送探测请求消息;
第一接收模块,用于接收来自于所述至少两个源服务器地址中的全部或者部分源服务器地址的探测响应消息;
确定模块,用于根据所述探测响应消息的接收时间和对应的探测请求消息的发送时间的时间差,确定时间差最短的至少一个源服务器地址为候选地址;
获取模块,用于从目标地址对应的源服务器获取数据流;其中,所述目标地址为所述候选地址中的一个地址。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行存储于所述存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110192226.6A CN112866413A (zh) | 2021-02-19 | 2021-02-19 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110192226.6A CN112866413A (zh) | 2021-02-19 | 2021-02-19 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112866413A true CN112866413A (zh) | 2021-05-28 |
Family
ID=75988222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110192226.6A Pending CN112866413A (zh) | 2021-02-19 | 2021-02-19 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866413A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973214A (zh) * | 2021-09-30 | 2022-01-25 | 中通服科信信息技术有限公司 | 视频流格式转换方法、装置和存储介质 |
CN115190062A (zh) * | 2022-07-07 | 2022-10-14 | 中国工商银行股份有限公司 | 业务处理方法及装置、电子设备和计算机可读存储介质 |
WO2023123778A1 (zh) * | 2021-12-28 | 2023-07-06 | 北京小米移动软件有限公司 | 数据通信方法、装置、存储介质、电子设备和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180324275A1 (en) * | 2016-01-19 | 2018-11-08 | Alibaba Group Holding Limited | Selective information sharing between users of a social network |
CN109600642A (zh) * | 2018-12-17 | 2019-04-09 | 广州华多网络科技有限公司 | 一种cdn资源调度方法及装置 |
CN110213617A (zh) * | 2019-04-01 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 视频流转码迁移方法、装置和系统 |
CN110740191A (zh) * | 2019-10-29 | 2020-01-31 | 成都超有爱科技有限公司 | 资源访问方法、装置、电子设备及存储介质 |
CN111510734A (zh) * | 2020-04-17 | 2020-08-07 | 广州虎牙科技有限公司 | 一种cdn调度方法、装置、存储介质及设备 |
-
2021
- 2021-02-19 CN CN202110192226.6A patent/CN112866413A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180324275A1 (en) * | 2016-01-19 | 2018-11-08 | Alibaba Group Holding Limited | Selective information sharing between users of a social network |
CN109600642A (zh) * | 2018-12-17 | 2019-04-09 | 广州华多网络科技有限公司 | 一种cdn资源调度方法及装置 |
CN110213617A (zh) * | 2019-04-01 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 视频流转码迁移方法、装置和系统 |
CN110740191A (zh) * | 2019-10-29 | 2020-01-31 | 成都超有爱科技有限公司 | 资源访问方法、装置、电子设备及存储介质 |
CN111510734A (zh) * | 2020-04-17 | 2020-08-07 | 广州虎牙科技有限公司 | 一种cdn调度方法、装置、存储介质及设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973214A (zh) * | 2021-09-30 | 2022-01-25 | 中通服科信信息技术有限公司 | 视频流格式转换方法、装置和存储介质 |
WO2023123778A1 (zh) * | 2021-12-28 | 2023-07-06 | 北京小米移动软件有限公司 | 数据通信方法、装置、存储介质、电子设备和程序产品 |
CN115190062A (zh) * | 2022-07-07 | 2022-10-14 | 中国工商银行股份有限公司 | 业务处理方法及装置、电子设备和计算机可读存储介质 |
CN115190062B (zh) * | 2022-07-07 | 2024-02-06 | 中国工商银行股份有限公司 | 业务处理方法及装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866413A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
US8789118B2 (en) | Method, terminal and server for allocating signal route resource in voice on demand service | |
CN101989951A (zh) | 一种选择服务节点的方法、系统和设备 | |
US9130823B2 (en) | Apparatus and method for configuring personal network using PN routing table | |
CN101420337A (zh) | 一种资源定位的方法、装置和索引服务器 | |
US20150088995A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
US11533275B2 (en) | Method and apparatus for allocating server in wireless communication system | |
CN102209023A (zh) | 一种建立FCoE通信连接的方法、装置、名字服务器和系统 | |
CN113692753B (zh) | 网络装置和在网络装置中实现的搜索边缘服务的方法 | |
CN102368789A (zh) | 一种双栈终端连接网络的方法及系统 | |
JP5011433B2 (ja) | 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置 | |
WO2014059441A1 (en) | Identification of servers by common wide area network addresses | |
CN114585026A (zh) | 频点切换方法、终端、基站和存储介质 | |
CN114064275A (zh) | 数据处理方法及装置 | |
CN104955153B (zh) | 一种发现资源的方法、装置及设备 | |
US20140112307A1 (en) | User terminal and communication apparatus for preventing interuption of communication in information centric network and method thereof | |
CN109788075B (zh) | 专网网络系统、数据的获取方法及边缘服务器 | |
CN111600929A (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN110677489B (zh) | 媒体资源处理方法、装置、系统及存储介质 | |
CN109379277B (zh) | 一种基于路由寻址的分布式im通信方法及其装置 | |
CN111064594B (zh) | 网关的信息处理方法、网关、账号管理系统及存储介质 | |
CN107547286B (zh) | 地址解析协议arp表的生成方法及装置 | |
KR20150022440A (ko) | Mac 주소를 이용하는 이더넷 네트워크 장치 및 방법 | |
CN102957668A (zh) | 标识网中获取位置信息的方法和接入服务路由器 | |
CN111510514B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210528 |
|
RJ01 | Rejection of invention patent application after publication |