CN113824750B - 一种传输数据的方法和数据传输*** - Google Patents
一种传输数据的方法和数据传输*** Download PDFInfo
- Publication number
- CN113824750B CN113824750B CN202010563357.6A CN202010563357A CN113824750B CN 113824750 B CN113824750 B CN 113824750B CN 202010563357 A CN202010563357 A CN 202010563357A CN 113824750 B CN113824750 B CN 113824750B
- Authority
- CN
- China
- Prior art keywords
- target
- node
- data
- home
- edge
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种传输数据的方法和数据传输***,属于CDN技术领域。所述方法包括:边缘节点基于目标终端的数据获取请求生成目标数据的回源需求;所述边缘节点触发所述调度中心查询所述目标数据对应的目标家用节点;所述边缘节点从所述目标家用节点获取所述目标数据;所述边缘节点将所述目标数据反馈至所述目标终端。采用本发明,可以降低CDN边缘节点到父节点所造成的内耗,大幅缩减CDN集群的服务成本。
Description
技术领域
本发明涉及CDN技术领域,特别涉及一种传输数据的方法和数据传输***。
背景技术
CDN集群通过在不同区域部署边缘节点的方式,使各区域内的用户终端就近从边缘节点的缓存服务器处获取所需的业务数据,以提高业务服务的响应速度。此外,CDN集群可以在边缘节点和业务数据的源站间设置有至少一层父节点,当边缘节点处不存在用户所需的业务数据时,边缘节点可以向其上层父节点处请求该业务数据,若上一层父节点处仍未存储该业务数据,则可以进一步向更上层父节点请求,直至回源获取,从而可以通过多级缓存来降低设备、带宽负载的突发压力。
然而目前CDN厂商间的竞争越发激烈,提高服务质量和降低运营成本已成为CDN厂商的主要关注点。其中,CDN集群中的父节点主要用于集群中业务数据的内部缓存和回源处理,其对于CDN厂商而言,基本属于企业的运营内耗。相应的,在保证CDN集群的服务质量的同时,减少CDN集群中边缘节点到父节点之间的内耗已成为降低运营成本的主要方向。故而,目前CDN领域中亟需一种在不影响CDN加速服务质量的前提下,能够有效降低边缘节点到父节点之间内耗的方法。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种传输数据的方法和数据传输***。所述技术方案如下:
第一方面,提供了一种传输数据的方法,所述方法应用于数据传输***,所述数据获取***包含CDN集群、调度中心和多个家用节点,其中,所述家用节点基于家用宽带网络传输数据,所述调度中心记录有各个所述家用节点的数据缓存状态,所述方法包括:
边缘节点基于目标终端的数据获取请求生成目标数据的回源需求;
所述边缘节点触发所述调度中心查询所述目标数据对应的目标家用节点;
所述边缘节点从所述目标家用节点获取所述目标数据;
所述边缘节点将所述目标数据反馈至所述目标终端。
第二方面,一种数据传输***,所述数据传输***包含CDN集群、调度中心和多个家用节点,其中,所述家用节点基于家用宽带网络传输数据,所述调度中心记录有各个所述家用节点的数据缓存状态,其中,边缘节点用于:
基于目标终端的数据获取请求生成目标数据的回源需求;
触发所述调度中心查询所述目标数据对应的目标家用节点;
从所述目标家用节点获取所述目标数据;
将所述目标数据反馈至所述目标终端。
本发明实施例提供的技术方案至少具有以下有益效果:
本发明实施例中,边缘节点基于目标终端的数据获取请求生成目标数据的回源需求;边缘节点触发调度中心查询目标数据对应的目标家用节点;边缘节点从目标家用节点获取目标数据;边缘节点将目标数据反馈至目标终端。这样,边缘节点处产生数据的回源需求时,可以访问家用节点来获取相应数据,而无需按照常规流程从CDN父节点处获取数据,故而可以大幅缩减边缘节点到CDN父节点之间的数据传输流量,降低边缘节点到CDN父节点之间的内耗。同时,相比于CDN集群所应用的商用带宽资源,家用带宽资源的价格更低,故而采用家用节点来替代CDN父节点进行数据传输,可以大幅缩减CDN集群的服务成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据传输***的网络框架图;
图2是本发明实施例提供的一种传输数据的方法流程图;
图3是本发明实施例提供的一种传输数据的方法流程图;
图4是本发明实施例提供的一种数据传输***的网络框架图;
图5是本发明实施例提供的一种数据传输***的网络框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种下载数据的方法,该方法的可以运用在数据传输***中,数据传输***可以包括CDN集群、调度中心和多个家用节点。其中,CDN集群可以是现有技术中包含多层节点的常规CDN集群,其边缘节点可以用于接收用户终端的数据获取请求,并基于本地存储的或者回父回源获取的数据进行响应;家用节点可以是基于家用宽带网络传输数据的设备节点,如电视盒子、智能音箱、家用计算机等,其可以具备一定的数据存储功能和数据传输功能,一个家用节点可以由一台或多台机器组成,本实施例中以一个家用节点包含一台机器为例进行说明,必要处将会对多台机器构成一个家用节点的情况额外进行说明。调度中心可以是上述多个家用节点的内容管理中心,主要用于记录各个家用节点上的数据缓存状态,基于数据缓存状态针对数据传输做出调度并发送指令。CDN集群的边缘节点和多个家用节点上可以部署有调度中心对应的调度客户端,通过调度客户端,边缘节点和家用节点可以与调度中心进行数据交互。进一步的,每个边缘节点和家用节点上可以运行有缓存管理进程,用于管理当前设备上已缓存的数据内容,缓存管理进程可以与当前设备上的进程软件(如调度客户端、网络连接进程等)进行数据交互。上述具体的场景架构可以如图1所示。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,边缘节点基于目标终端的数据获取请求生成目标数据的回源需求。
在实施中,目标终端想要下载目标数据时,可以根据目标数据的URL向DNS***发送域名解析请求。若目标数据的源站开通了CDN加速服务,DNS***则可以向目标终端反馈CDN集群中,距离目标终端最近的边缘节点的IP地址。从而,目标终端可以根据边缘节点的IP地址,向边缘节点发送针对目标数据的数据获取请求。边缘节点在接收到该数据获取请求后,其上的缓存管理进程可以根据其中携带的目标数据的URL,查找本地是否存储有目标数据。若未存储有,边缘节点则可以生成目标数据的回源需求;若存储有,则可以将本地存储的目标数据反馈给目标终端。
步骤202,边缘节点触发调度中心查询目标数据对应的目标家用节点。
在实施中,边缘节点生成目标数据的回源需求后,可以通过本机部署的调度客户端,向调度中心发送目标数据对应的节点查询请求,以触发调度中心查询目标数据对应的目标家用节点。需要说明的是,目标数据对应的目标家用节点,即为用于提供目标数据的获取服务的家用节点,具体可以是存储有目标数据的家用节点,或者是通过回源获取目标数据的家用节点。
可选的,可以指定从家用节点获取部分数据,而剩余数据仍旧通过回常规的CDN父节点或回源获取,相应的,步骤202的处理可以如下:若检测到目标数据的URL后缀为预设文件后缀,边缘节点则触发调度中心查询目标数据对应的目标家用节点。
在实施中,技术人员可以预先设定需要通过家用节点下载的数据文件,记录这些数据文件的文件后缀,并将其配置在CDN集群的边缘节点上。这样,边缘节点生成目标数据的回源需求后,其上的缓存管理进程可以先获取目标数据的URL后缀,判断其URL后缀是否为预设文件后缀,如可以判断是否为大文件的后缀,或者为视频文件的后缀等。如果是,边缘节点则可以触发调度中心查询目标数据对应的目标家用节点,并执行后续处理;如果不是,边缘节点则可以直接向其对应的CDN父节点发送目标数据的获取请求。这样,通过家用宽带网络来满足边缘节点上部分数据的回源请求,可以大幅度降低CDN父节点流出的带宽消耗,也能同时保证剩余数据的回源效率。
可选的,调度中心可以根据家用节点的数据缓存状态选取目标家用节点,相应的,步骤202的处理具体可以如下:边缘节点向调度中心发送目标数据的标识信息;调度中心根据标识信息和记录的各个家用节点的数据缓存状态,查询目标数据的存储节点;若查询到,调度中心则将存储节点确定为目标家用节点,否则将一个可用家用节点确定为目标家用节点。
其中,家用节点的数据缓存状态可以理解为家用节点中机器的数据缓存状态。
在实施中,边缘节点生成目标数据的回源需求后,可以通过调度客户端向调度中心发送目标数据的标识信息。该标识信息可以是用于识别确定目标数据的,如可以是目标数据的URL、资源名或者预设的数据编号等。调度中心获取到目标数据的标识信息后,可以读取本地记录的各个家用节点的数据缓存状态,然后根据目标数据的标识信息,查询目标数据的存储节点(即存储有目标数据的家用节点)。如果查询到,说明目标数据至少缓存在其中一个家用节点内的机器中,调度中心则可以将相应的存储节点确定为目标家用节点;如果未查询到,调度中心则可以将一个可用家用节点确定为目标家用节点。值得一提的是,由于调度中心处记录了所有家用节点的数据缓存状态,那么如果未查询到,则说明所有家用节点均未存储目标数据。此处,可用家用节点即为能够正常对外提供数据传输服务的家用节点。可以理解,由于数据缓存状态是以机器为单位记录的,那么在确定存储节点时,实质上是先确定存储有目标数据的机器,然后确定该机器所属的家用节点。
可选的,调度中心还可以记录有各个家用节点的带宽冗余状态,相应的,确定目标家用节点的处理具体可以如下:若查询到,且存储节点存在带宽冗余,调度中心则将存储节点确定为目标家用节点,否则将一个存在带宽冗余的家用节点确定为目标家用节点。
其中,家用节点的带宽冗余状态可以理解为家用节点中机器的带宽冗余状态。
在实施中,家用节点在对外提供数据传输服务时,可以通过调度客户端周期性向调度中心上报其包含的所有机器的实时的带宽冗余状态,以使调度中心根据机器的IP地址来记录对应的带宽冗余状态。这样,调度中心在查询到目标数据的存储节点后,可以进一步获取该存储节点中所有机器最新的带宽冗余状态。如果存储节点中某一机器存在带宽冗余,调度中心则可以将存储节点确定为目标家用节点。而如果未查询到存储有目标数据的家用节点,或者目标数据的存储节点的所有机器均不存在带宽冗余,调度中心则可以根据各个家用节点的带宽冗余状态,选取一个存在带宽冗余的家用节点(即包含带宽冗余的机器的家用节点)作为目标家用节点。进一步的,调度中心在选取目标家用节点时,还可以参考边缘节点的网络运营商和/或物理位置,选取与边缘节点属于同一网络运营商和/或与边缘节点物理位置较近的家用节点。这样,通过对家用节点的带宽冗余状态进行监控,可以避免某一个家用节点的所有机器负载过高,而导致数据传输的质量和效率变低。
步骤203,边缘节点从目标家用节点获取目标数据。
在实施中,在触发调度中心查询到目标数据对应的目标家用节点后,边缘节点可以通过其与目标家用节点之间的通信连接,从目标家用节点处获取目标数据。其中,边缘节点和目标家用节点间的通信连接可以是由边缘节点主动向目标家用节点发起建连请求后建立的,也可以是由目标家用节点主动向边缘节点发起建连请求后建立的,具体的处理可以参考后续说明。
可选的,若目标家用节点具备公网IP地址,边缘节点可以主动向目标家用节点发起连接以获取目标数据,相应的,步骤203的处理可以如下:边缘节点接收调度中心反馈的目标家用节点的公网IP地址;边缘节点根据公网IP地址向目标家用节点发送目标数据的传输请求;目标家用节点向边缘节点传输目标数据。
在实施中,调度中心查询到目标数据对应的目标家用节点后,可以将目标家用节点的公网IP地址反馈至边缘节点。边缘节点获取到目标家用节点的公网IP地址,可以通过其上的网络连接进程,根据该公网IP地址发起与目标家用节点的通信连接建立请求。之后,目标家用节点上的网络连接进程可以与边缘节点上的网络连接进程协商建立通信连接。进而,边缘节点可以通过建立的通信连接,向目标家用节点发送目标数据的传输请求。目标家用节点上的网络连接进程可以通过本地的缓存管理进程获取到目标数据,再向边缘节点传输目标数据。可以看出,由边缘节点作为连接的发起方,需要目标家用节点具备公网IP地址,以便于边缘节点能够主动访问到目标家用节点。
可选的,目标家用节点可以主动向边缘节点发起连接以传输目标数据,相应的,步骤203的处理可以如下:调度中心获取边缘节点的IP地址和本次数据请求的Task ID;调度中心向目标家用节点发送目标数据的传输请求,其中,传输请求携带有边缘节点的IP地址和Task ID;目标家用节点基于边缘节点的IP地址与边缘节点建立通信连接,并基于TaskID,向边缘节点传输所述目标数据。
在实施中,边缘节点向调度中心发送家用节点的节点查询请求时,可以在节点查询请求中添加边缘节点的IP地址和Task ID。其中,Task ID可以是边缘节点生成的,与本次目标数据的整个获取请求流程相关联的。调度中心接收到节点查询请求后,可以获取上述边缘节点的IP地址和Task ID。之后,调度中心在查询到目标家用节点后,可以向目标家用节点发送携带有上述IP地址和Task ID的目标数据的传输请求。目标家用节点接收到该传输请求之后,其上的网络连接进程可以基于边缘节点的IP地址,与边缘节点上的网络连接进程协商建立通信连接,再从本地的缓存管理进程处获取目标数据,然后基于Task ID向边缘节点中的网络连接进程传输目标数据。此处的Task ID即用于帮助边缘节点将目标家用节点的响应内容与数据请求进行对应。可以看出,家用节点主动向边缘节点发起连接,由于边缘节点一般具备公网IP地址,故而无论家用节点具备的是公网IP地址还是内网IP地址,都可以在两台设备间建立连接。具体来说,当家用节点不具备公网IP地址时,则可以通过上述反向建连的方式,主动与边缘节点建立连接,从而可以实现两台设备间的数据传输。值得一提的是,调度中心在查询到目标家用节点后,可以向边缘节点发送查询成功通知,从而边缘节点上的调度客户端可以通知其上的缓存管理进程,以使缓存管理进程与网络连接进程建立长连接,通过保持长连接请求,等待目标家用节点的反向建连,传输目标数据。
可选的,目标家用节点具备回源获取数据的功能,相应的,可以存在如下处理:若检测到本地未存储有目标数据,目标家用节点则回源获取目标数据。
在实施中,目标家用节点接收到目标数据的传输请求后,可以通过其上的缓存管理进程查询本地是否存储有目标数据。若检测到本地未存储有目标数据,目标家用节点则可以回源获取目标数据。此处,目标家用节点可以直接访问目标数据的源服务器以获取目标数据,或者通过CDN的父节点获取目标数据。
可选的,可以在家用节点上利用docker容器技术创建多个网络连接进程,以共同传输数据,相应的,每个家用节点中部署有多个docker容器,每个docker容器中运行有网络连接进程,家用节点向边缘节点传输数据的过程具体可以如下:目标家用节点在本地部署的多个docker容器中,选取实时带宽冗余最大的目标docker容器;目标家用节点通过目标docker容器内的网络连接进程,向边缘节点传输目标数据。
在实施中,家用节点可以根据其包含的每台机器的设备带宽、CPU、内存等性能参数,自适应地在每台机器上启动多个docker容器,每个docker容器中都可以运行有网络连接进程,每个网络连接进程具备各自的IP地址,以用于在家用节点与边缘节点间建立通信连接。这样,可参考图3所示,目标家用节点与边缘节点建立连接时,可以获取本地部署的多个docker容器的实时带宽冗余,然后选取其中实时带宽冗余最大的目标docker容器。进而,目标家用节点可以通过目标docker容器内的网络连接进程,与边缘节点建立通信连接,并基于通信连接向边缘节点传输目标数据。这样,由于docker容器启动快,资源占用小,所以可以在家用节点的一台机器上虚拟出多个用于传输数据的docker容器,每个docker容器可以对应一个家用宽带账号,通过多个家用宽带账号共同传输数据,可以有效解决单个家用带宽账号的上传带宽上限过低,而无法高效承载大型流量服务的问题。同时,家用节点的一台机器中的各个docker容器之间相互隔离,不会相互影响,不仅可以承接大型流量带宽的能力,也节约了带宽成本。
基于上述一个节点有多台机器,每台机器上都可以部署多个容器的思路,可以在家用节点上部署多个缓存管理进程,不同缓存管理进程用于管理不同的数据文件。这样,调度中心在查询目标家用节点时,可以进一步确定用于管理目标数据的目标缓存管理进程。进而在向目标家用节点发送针对目标数据的传输请求时,可以同时携带目标缓存管理进程的标识信息,以使目标家用节点的网络连接进程从目标缓存管理进程获取目标数据。
步骤204,边缘节点将目标数据反馈至目标终端。
可选的,家用节点可以同时采用增量上报和全量上报的方式,更新调度中心处记录的数据缓存状态,相应的处理可以如下:当本地的数据缓存状态发生变化时,目标家用节点向调度中心发送携带有缓存变化信息的缓存状态更新通知;当到达预设的周期空闲时段时,目标家用节点向调度中心发送本地缓存的全部数据的信息。
在实施中,目标家用节点的缓存管理进程可以持续监控本地的数据缓存状态,当出现数据增加、删除或者更新等缓存增量处理时,即可以检测到数据缓存状态发生变化,缓存管理进程则可以通过调度客户端向调度中心发送缓存状态更新通知,该缓存状态更新通知中可以携带有具体的缓存变化信息,如“数据URL、节点标识、缓存管理进程标识、增删改标识”,从而可以触发调度中心根据缓存变化信息更新本地记录的目标家用节点的数据缓存状态。
此外,目标家用节点可以根据数据历史传输记录,确定出周期空闲时段,其中,周期空闲时段即为一个周期内,数据传输任务较少,节点负载较低的时段,如可以是每日的凌晨2:00至4:00,也可以是每周的周一1:00至5:00等。当到达上述的周期空闲时段时,目标家用节点则可以向调度中心发送本地缓存的全部数据的信息,以避免调度中心记录的数据缓存状态与本地实际的数据缓存状态不一致,而导致数据重复无效回源的问题。
在另一实施例中,家用节点还可以作为边缘节点来响应用户终端的数据获取请求,具体的流程可以如图3所示:
步骤301,当接收到目标终端发送的目标数据的获取请求时,边缘节点触发调度中心查询目标数据对应的边缘家用节点。
在实施中,目标终端想要下载目标数据时,可以根据目标数据的URL向DNS***发送域名解析请求。若目标数据的源站开通了CDN加速服务,DNS***则可以向目标终端反馈CDN集群中,距离目标终端最近的边缘节点的IP地址。从而,目标终端可以根据边缘节点的IP地址,向边缘节点发送针对目标数据的数据获取请求。边缘节点在接收到该数据获取请求后,可以通过本机部署的调度客户端,向调度中心发送目标数据对应的节点查询请求,以触发调度中心查询目标数据对应的边缘家用节点。需要说明的是,边缘家用节点可以是用于作为边缘节点的家用节点,相对来说,步骤201-步骤204中提及的目标家用节点可以为用于作为回源处理的家用节点,故而可以称之为回源家用节点。进一步的,边缘家用节点和回源家用节点可以同时存在于数据传输***,一种实施例中,一个家用节点可以仅作为边缘家用节点或仅作为回源家用节点对外提供服务,这样,对于每个家用节点,可以预先设定该家用节点的功能(即属于边缘家用节点还是回源家用节点),调度中心在针对不同需求进行家用节点的查询时,可以针对性地在所有边缘家用节点或在所有回源家用节点中进行查询;另一实施例中,一个家用节点可以同时作为边缘家用节点和回源家用节点,调度中心在针对不同需求进行家用节点的查询时,可以在所有家用节点中进行查询。
步骤302,调度中心向目标终端或边缘家用节点提供通信信息,通信信息用于目标终端和边缘家用节点间建立通信连接。
在实施中,调度中心在查询到目标数据对应的边缘家用节点后,可以向目标终端提供通信信息,以使目标终端基于通信信息主动与边缘家用节点建立通信连接。或者,调度中心在查询到目标数据对应的边缘家用节点后,可以向边缘家用节点提供通信信息,以使边缘家用节点基于通信信息主动与目标终端建立通信连接。可以理解,通信信息是用于建立通信连接的,对目标终端侧来讲,调度中心提供的通信信息可以为边缘家用节点的IP地址,相应的,对于边缘家用节点,调度中心提供的通信信息可以为目标终端的IP地址。
步骤303,目标终端基于通信连接从边缘家用节点处获取目标数据。
值得一提的是,边缘家用节点在回源获取数据时,可以与CDN集群的边缘节点的处理相同,即可以通过CDN父节点获取数据,也可以通过回源家用节点获取数据。
上述步骤301-步骤303所示流程,可应用在如图5所示的网络结构中。
本发明实施例中,边缘节点基于目标终端的数据获取请求生成目标数据的回源需求;边缘节点触发调度中心查询目标数据对应的目标家用节点;边缘节点从目标家用节点获取目标数据;边缘节点将目标数据反馈至目标终端。这样,边缘节点处产生数据的回源需求时,可以访问家用节点来获取相应数据,而无需按照常规流程从CDN父节点处获取数据,故而可以大幅缩减边缘节点到CDN父节点之间的数据传输流量,降低边缘节点到CDN父节点之间的内耗。同时,相比于CDN集群所应用的商用带宽资源,家用带宽资源的价格更低,故而采用家用节点来替代CDN父节点进行数据传输,可以大幅缩减CDN集群的服务成本。
基于相同的技术构思,本发明实施例还提供了一种数据传输***,所述数据传输***包含CDN集群、调度中心和多个家用节点,其中,所述家用节点基于家用宽带网络传输数据,所述调度中心记录有各个所述家用节点的数据缓存状态,其中,边缘节点用于:
基于目标终端的数据获取请求生成目标数据的回源需求;
触发所述调度中心查询所述目标数据对应的目标家用节点;
从所述目标家用节点获取所述目标数据;
将所述目标数据反馈至所述目标终端。
可选的,所述边缘节点,具体用于:
接收所述调度中心反馈的所述目标家用节点的公网IP地址;
根据所述公网IP地址向所述目标家用节点发送所述目标数据的传输请求;
所述目标家用节点,用于向所述边缘节点传输所述目标数据。
可选的,所述调度中心,具体用于获取所述边缘节点的IP地址和本次数据请求的Task ID,向所述目标家用节点发送所述目标数据的传输请求,其中,所述传输请求携带有所述边缘节点的IP地址和Task ID;
所述目标家用节点,基于所述IP地址与所述边缘节点建立通信连接,并基于所述Task ID,向所述边缘节点传输所述目标数据。
可选的,每个所述家用节点中部署有多个docker容器,每个docker容器中运行有网络连接进程;
所述目标家用节点,还用于:
在本地部署的多个docker容器中,选取实时带宽冗余最大的目标docker容器;
通过所述目标docker容器内的网络连接进程,向所述边缘节点传输所述目标数据。
可选的,所述边缘节点,还用于当接收到所述目标终端发送的所述目标数据的获取请求时,触发所述调度中心查询所述目标数据对应的边缘家用节点;
所述调度中心,还用于向所述目标终端或所述边缘家用节点提供通信信息,所述通信信息用于所述目标终端和所述边缘家用节点间建立通信连接;
所述目标终端,用于基于所述通信连接从所述边缘家用节点处获取所述目标数据。
本发明实施例中,边缘节点基于目标终端的数据获取请求生成目标数据的回源需求;边缘节点触发调度中心查询目标数据对应的目标家用节点;边缘节点从目标家用节点获取目标数据;边缘节点将目标数据反馈至目标终端。这样,边缘节点处产生数据的回源需求时,可以访问家用节点来获取相应数据,而无需按照常规流程从CDN父节点处获取数据,故而可以大幅缩减边缘节点到CDN父节点之间的数据传输流量,降低边缘节点到CDN父节点之间的内耗。同时,相比于CDN集群所应用的商用带宽资源,家用带宽资源的价格更低,故而采用家用节点来替代CDN父节点进行数据传输,可以大幅缩减CDN集群的服务成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种传输数据的方法,其特征在于,所述方法应用于数据传输***,所述数据传输***包含CDN集群、调度中心和多个家用节点,其中,所述家用节点基于家用宽带网络传输数据,所述调度中心记录有各个所述家用节点的数据缓存状态,所述方法包括:
边缘节点基于目标终端的数据获取请求生成目标数据的回源需求;
所述边缘节点触发所述调度中心查询所述目标数据对应的目标家用节点;
所述边缘节点从所述目标家用节点获取所述目标数据;
所述边缘节点将所述目标数据反馈至所述目标终端;
当所述目标家用节点不具备公网IP地址时:所述边缘节点从所述目标家用节点获取所述目标数据,包括:
所述调度中心获取所述边缘节点的IP地址和本次数据请求的TaskID;
所述调度中心向所述目标家用节点发送所述目标数据的传输请求,其中,所述传输请求携带有所述IP地址和TaskID;
所述目标家用节点基于所述IP地址与所述边缘节点建立通信连接,并基于所述TaskID,向所述边缘节点传输所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述边缘节点触发所述调度中心查询所述目标数据对应的目标家用节点,包括:
若检测到所述目标数据的URL后缀为预设文件后缀,所述边缘节点则触发所述调度中心查询所述目标数据对应的目标家用节点。
3.根据权利要求1所述的方法,其特征在于,所述边缘节点触发所述调度中心查询所述目标数据对应的目标家用节点,包括:
所述边缘节点向所述调度中心发送所述目标数据的标识信息;
所述调度中心根据所述标识信息和记录的各个家用节点的数据缓存状态,查询所述目标数据的存储节点;
若查询到,所述调度中心则将所述存储节点确定为目标家用节点,否则将一个可用家用节点确定为目标家用节点。
4.根据权利要求3所述的方法,其特征在于,所述调度中心还记录有各个家用节点的带宽冗余状态;
所述调度中心则将所述存储节点确定为目标家用节点,否则将一个可用家用节点确定为目标家用节点,包括:
若查询到,且所述存储节点存在带宽冗余,所述调度中心则将所述存储节点确定为目标家用节点,否则将一个存在带宽冗余的家用节点确定为目标家用节点。
5.根据权利要求1所述的方法,其特征在于,所述边缘节点从所述目标家用节点获取所述目标数据,包括:
所述边缘节点接收所述调度中心反馈的所述目标家用节点的公网IP地址;
所述边缘节点根据所述公网IP地址向所述目标家用节点发送所述目标数据的传输请求;
所述目标家用节点向所述边缘节点传输所述目标数据。
6.根据权利要求5所述的方法,其特征在于,所述目标家用节点向所述边缘节点传输所述目标数据之前,还包括:
若检测到本地未存储有所述目标数据,所述目标家用节点则回源获取所述目标数据。
7.根据权利要求1所述的方法,其特征在于,每个所述家用节点中部署有多个docker容器,每个docker容器中运行有网络连接进程;
所述目标家用节点向所述边缘节点传输所述目标数据,包括:
所述目标家用节点在本地部署的多个docker容器中,选取实时带宽冗余最大的目标docker容器;
所述目标家用节点通过所述目标docker容器内的网络连接进程,向所述边缘节点传输所述目标数据。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当本地的数据缓存状态发生变化时,所述目标家用节点向所述调度中心发送携带有缓存变化信息的缓存状态更新通知;
当到达预设的周期空闲时段时,所述目标家用节点向所述调度中心发送本地缓存的全部数据的信息。
9.根据权利要求1所述的方法,其特征在于,所述家用节点还包括边缘家用节点,所述方法还包括:
当接收到所述目标终端发送的所述目标数据的获取请求时,所述边缘节点触发所述调度中心查询所述目标数据对应的边缘家用节点;
所述调度中心向所述目标终端或所述边缘家用节点提供通信信息,所述通信信息用于所述目标终端和所述边缘家用节点间建立通信连接;
所述目标终端基于所述通信连接从所述边缘家用节点处获取所述目标数据。
10.一种数据传输***,其特征在于,所述数据传输***包含CDN集群、调度中心和多个家用节点,其中,所述家用节点基于家用宽带网络传输数据,所述调度中心记录有各个所述家用节点的数据缓存状态,其中,边缘节点用于:
基于目标终端的数据获取请求生成目标数据的回源需求;
触发所述调度中心查询所述目标数据对应的目标家用节点;
从所述目标家用节点获取所述目标数据;
将所述目标数据反馈至所述目标终端;
当所述目标家用节点不具备公网IP地址时:
所述调度中心,具体用于获取所述边缘节点的IP地址和本次数据请求的TaskID,向所述目标家用节点发送所述目标数据的传输请求,其中,所述传输请求携带有所述IP地址和TaskID;
所述目标家用节点,基于所述IP地址与所述边缘节点建立通信连接,并基于所述TaskID,向所述边缘节点传输所述目标数据。
11.根据权利要求10所述的***,其特征在于,所述边缘节点,具体用于:
接收所述调度中心反馈的所述目标家用节点的公网IP地址;
根据所述公网IP地址向所述目标家用节点发送所述目标数据的传输请求;
所述目标家用节点,用于向所述边缘节点传输所述目标数据。
12.根据权利要求10所述的***,其特征在于,每个所述家用节点中部署有多个docker容器,每个docker容器中运行有网络连接进程;
所述目标家用节点,还用于:
在本地部署的多个docker容器中,选取实时带宽冗余最大的目标docker容器;
通过所述目标docker容器内的网络连接进程,向所述边缘节点传输所述目标数据。
13.根据权利要求10所述的***,其特征在于,所述家用节点还包括边缘家用节点,所述边缘节点,还用于当接收到所述目标终端发送的所述目标数据的获取请求时,触发所述调度中心查询所述目标数据对应的边缘家用节点;
所述调度中心,还用于向所述目标终端或所述边缘家用节点提供通信信息,所述通信信息用于所述目标终端和所述边缘家用节点间建立通信连接;
所述目标终端,用于基于所述通信连接从所述边缘家用节点处获取所述目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563357.6A CN113824750B (zh) | 2020-06-19 | 2020-06-19 | 一种传输数据的方法和数据传输*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563357.6A CN113824750B (zh) | 2020-06-19 | 2020-06-19 | 一种传输数据的方法和数据传输*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113824750A CN113824750A (zh) | 2021-12-21 |
CN113824750B true CN113824750B (zh) | 2023-04-18 |
Family
ID=78924685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010563357.6A Active CN113824750B (zh) | 2020-06-19 | 2020-06-19 | 一种传输数据的方法和数据传输*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113824750B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691690A (zh) * | 2022-03-31 | 2022-07-01 | 烽台科技(北京)有限公司 | 一种数据同步方法、装置、计算机设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616170A (zh) * | 2008-06-27 | 2009-12-30 | 华为技术有限公司 | 提供媒体流服务的方法及其*** |
CN103581032A (zh) * | 2012-08-03 | 2014-02-12 | 盛乐信息技术(上海)有限公司 | 路由器、p2p数据分享***及方法 |
CN104348798A (zh) * | 2013-07-31 | 2015-02-11 | 深圳市腾讯计算机***有限公司 | 一种分配网络的方法、装置、调度服务器和*** |
CN107181695A (zh) * | 2017-07-28 | 2017-09-19 | 成都谛听科技股份有限公司 | 分布式缓存方法及装置 |
CN108737500A (zh) * | 2018-04-20 | 2018-11-02 | 青岛海尔科技有限公司 | 目标资源获取、提供方法、装置、存储介质与计算机设备 |
CN109040787A (zh) * | 2018-09-05 | 2018-12-18 | 湖南华诺科技有限公司 | 一种分布式自治机顶盒内容分发网络的方法 |
CN109491758A (zh) * | 2018-10-11 | 2019-03-19 | 深圳市网心科技有限公司 | docker镜像分发方法、***、数据网关及计算机可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253838A (zh) * | 2013-06-27 | 2014-12-31 | 北京世纪互联宽带数据中心有限公司 | 一种cdn节点与cdn服务*** |
CN103561049A (zh) * | 2013-09-05 | 2014-02-05 | 乐视网信息技术(北京)股份有限公司 | 一种处理终端调度请求的方法、***及装置 |
CN106941507B (zh) * | 2016-01-04 | 2020-09-11 | 中兴通讯股份有限公司 | 请求消息的调度方法及装置 |
CN106230782A (zh) * | 2016-07-20 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种基于内容分发网络的信息处理方法及装置 |
CN106888270B (zh) * | 2017-03-30 | 2020-06-23 | 网宿科技股份有限公司 | 回源选路调度的方法和*** |
CN107483614B (zh) * | 2017-08-31 | 2021-01-22 | 京东方科技集团股份有限公司 | 基于cdn与p2p网络的内容调度方法及通信网络 |
CN110460652B (zh) * | 2019-07-26 | 2021-09-14 | 网宿科技股份有限公司 | 一种资源获取方法及边缘计算调度服务器 |
-
2020
- 2020-06-19 CN CN202010563357.6A patent/CN113824750B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616170A (zh) * | 2008-06-27 | 2009-12-30 | 华为技术有限公司 | 提供媒体流服务的方法及其*** |
CN103581032A (zh) * | 2012-08-03 | 2014-02-12 | 盛乐信息技术(上海)有限公司 | 路由器、p2p数据分享***及方法 |
CN104348798A (zh) * | 2013-07-31 | 2015-02-11 | 深圳市腾讯计算机***有限公司 | 一种分配网络的方法、装置、调度服务器和*** |
CN107181695A (zh) * | 2017-07-28 | 2017-09-19 | 成都谛听科技股份有限公司 | 分布式缓存方法及装置 |
CN108737500A (zh) * | 2018-04-20 | 2018-11-02 | 青岛海尔科技有限公司 | 目标资源获取、提供方法、装置、存储介质与计算机设备 |
CN109040787A (zh) * | 2018-09-05 | 2018-12-18 | 湖南华诺科技有限公司 | 一种分布式自治机顶盒内容分发网络的方法 |
CN109491758A (zh) * | 2018-10-11 | 2019-03-19 | 深圳市网心科技有限公司 | docker镜像分发方法、***、数据网关及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113824750A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657287B (zh) | 一种数据访问方法及*** | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
CN100588172C (zh) | 一种实现网络预订存储的***和方法 | |
CN109347968B (zh) | 一种下载资源文件的数据块的方法、设备和*** | |
US20070150602A1 (en) | Distributed and Replicated Sessions on Computing Grids | |
US7979563B2 (en) | Method and system for dynamic client/server network management using proxy servers | |
US7613768B2 (en) | Method and system for managing a streaming media service | |
EP2263164B1 (en) | Request routing based on class | |
US8463936B2 (en) | Method and device for distributing digital data in particular for a peer-to-peer network | |
CN101540775A (zh) | 内容分发方法、装置与内容分发网络*** | |
KR101602760B1 (ko) | p2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치 | |
EP1844591A1 (en) | System architecture and method for scheduled downloading services | |
US9760370B2 (en) | Load balancing using predictable state partitioning | |
CN115103008B (zh) | 一种服务请求转发*** | |
CN111371866B (zh) | 一种处理业务请求的方法和装置 | |
CN113824750B (zh) | 一种传输数据的方法和数据传输*** | |
EP1454456B1 (en) | Event notification over a communications network | |
EP1627500B1 (en) | Service management using multiple service location managers | |
CN112764696A (zh) | 一种云打印服务器、远程打印设备的智能打印方法及*** | |
CN113946408A (zh) | 云原生边缘容器控制方法、***及存储介质 | |
CN114338769B (zh) | 访问请求的处理方法及装置 | |
LT4797B (lt) | Internetinė informacijos saugojimo sistema ir būdas bei tokios sistemos konstrukcija | |
CN100580665C (zh) | 对文件共享应用的索引服务器支持的方法及索引服务器 | |
CN113824751A (zh) | 一种传输数据的方法和数据传输*** | |
US20230146880A1 (en) | Management system and management method |
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 |