CN108933835A - 一种节约带宽资源的cdn分发方法 - Google Patents
一种节约带宽资源的cdn分发方法 Download PDFInfo
- Publication number
- CN108933835A CN108933835A CN201810811579.8A CN201810811579A CN108933835A CN 108933835 A CN108933835 A CN 108933835A CN 201810811579 A CN201810811579 A CN 201810811579A CN 108933835 A CN108933835 A CN 108933835A
- Authority
- CN
- China
- Prior art keywords
- file
- content
- edge
- packet
- load
- 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
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络通讯技术领域,具体一种节约带宽资源的CDN分发方法,包括中心主机把内容分发到边沿机M、边沿机M将内容接收并特定封装,最后转发给边沿机群、其它边沿机接收到边沿机M发送的数据后,对数据包进行解封装分析,然后去除重复UDP包,对UDP包数据进行重新排序,再存储成单个文件。本发明通过主干网络把中心主机内容通过可靠的HTTP协议分发到边沿机M,边沿机M再通过UDP组播的分发方式把内容分发给边沿机群,这样单个内容,可以同一时间快速发给整个边沿机群,大大节省了主干网络带宽资源;由于边沿机群转发内容时采用UDP组播方式,因其不可靠传输特性,采用HTTP纠错的方式,对出现错误的小部分内容进行可靠性修复。
Description
技术领域
本发明涉及网络通讯技术领域,具体一种节约带宽资源的CDN分发方法。
背景技术
随着高清、超清视频发展和普及,大数据、大容量内容分发渐渐成为主流,从而对网络带宽要求也越来越大;而传统的CDN分发***在带宽节约和内容快速分发方面显得越发困难。
传统CDN分发***主要有如下两种类型:
1、中心垂直分发模型:此种分发模式,主要依靠主干网络通过HTTP协议进行可靠分发,在数据大批量分发到边沿机群,容易导致主干网络拥堵,耗尽主干网络带宽资源,分发效率低下,分发时间长等问题;
2、树状分发模型:此种模式一定程度缓解了中心主干网络带宽压力,但在分发过程中要经过多级支线网络,容易导致分发效率低下,分发速度慢的问题。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种节约带宽资源的CDN分发方法,它可以实现通过一种中心主机到边沿主机采用可靠的HTTP分发,在边沿采用更为节省带宽资源的UDP分发模式以及HTTP纠错相结合的模式,以解决传统CDN两种分发模式的缺点。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现的:
一种节约带宽资源的CDN分发方法,包括如下步骤:
步骤1、中心主机通过主干网络以HTTP协议的方式把内容分发到由边沿机1、边沿机2……边沿机N组成的边沿机群中的任意一台边沿机,定义为边沿机M;
步骤2、边沿机M将内容接收完毕,然后再把内容通过特定封装,最后采用UDP组播方式转发给边沿机群,其中所述机群由边沿机1、边沿机2……边沿机N组成;
步骤3、其它边沿机接收到边沿机M发送的数据后,对数据包进行解封装分析,然后去除重复UDP包,对UDP包数据进行重新排序,再存储成单个文件,如果接收包有丢失,则标记该内容出错;
步骤4、所述机群中任意一台边沿机,定义为边沿机a,所述边沿机a接收内容,待内容接收结束后,如果该内容UDP分发过程中有出错,则对边沿机M发送HTTP请求进行纠错,对出错文件重新下载进行修复。
进一步地,所述步骤2中特定封装包括如下模式:
负载类型,所述负载类型用1个字节表示,若值为0表示负载为头部信息,若值为1表示为负载的内容;
负载长度,所述负载长度用2个字节表示,表示负载的长度;
文件索引,所述文件索引用4个字节表示,表示文件唯一标识,其中所述标识由32位MD5对文件名称加密生成;
包索引,所述包索引用4个字节表示,表示该包为该内容的分发序号;
文件大小,所述文件大小用8个字节表示,表示该文件大小,一个文件包含Y个负载,其中Y大于或等于1;
负载,所述负载用1316个字节表示,每个封装包最大携带1316个字节负载内容,如果负载类型为0,则负载内容为文件名称;如果负载类型为1,则负载为文件内容。
进一步地,所述步骤3中解封装分析,具体包括:根据负载类型确定接收到的包属于头部信息还是负载内容,同时根据文件索引确定接收到的负载属于哪一个文件,通过包索引确定接收到的数据是否产生重复、丢包、乱序问题。
进一步地,所述步骤2边沿机M转发给边沿机群中,具体包括如下步骤:
步骤2.1、获取文件信息:主要获取文件名称,文件大小;
步骤2.2、封装头部信息包,包括:
负载类型:值为0;
负载长度:文件名称长度;
文件索引:由32位MD5对文件名称加密生成;
包索引:值为0;
文件大小:获取的文件大小;
负载:文件名称,最大长度不能超过1316字节;
步骤2.3、封装内容信息包,包括:
负载类型:值为1;
负载长度:内容的真实长度;
文件索引:由32位MD5对文件名称加密生成;
包索引:从1开始,依次递增;
文件大小:获取的文件大小;
负载:文件内容,最大长度不能超过1316字节;
步骤2.4、UDP发送头部信息,发送成功则读取1316个字节为负载,否则返回步骤2.3;
步骤2.5、封装负载内容包;
步骤2.6、UDP发送负载内容包,若内容包小于1316个字节则结束,否则返回步骤2.4。
进一步地,所述步骤4对边沿机M发送HTTP请求进行纠错中,具体包括如下步骤:根据头部信息向边沿机M通过HTTP协议请求下载文件;若纠错成功则结束,否则重试三次,若继续失败则表明纠错失败。
本发明的有益效果:通过主干网络把中心主机内容通过可靠的HTTP协议分发到边沿机M,边沿机M再通过UDP组播的分发方式把内容分发给边沿机群,这样单个内容,可以同一时间快速发给整个边沿机群,大大节省了主干网络带宽资源,同时在大批量数据分发时,使分发效率更高,速度更快;由于边沿机群转发内容时采用UDP组播方式,因其不可靠传输特性,采用HTTP纠错的方式,对出现错误的小部分内容进行可靠性修复。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种节约带宽资源的CDN分发方法的流程示意图;
图2为本发明一种节约带宽资源的CDN分发方法中边沿机M转发给边沿机群的流程示意图;
图3为本发明一种节约带宽资源的CDN分发方法中边沿机M发送HTTP请求进行纠错的流程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示的一种节约带宽资源的CDN分发方法,包括如下步骤:
步骤1、中心主机通过主干网络以HTTP协议的方式把内容分发到由边沿机1、边沿机2……边沿机N组成的边沿机群中的任意一台边沿机,定义为边沿机M;
步骤2、边沿机M将内容接收完毕,然后再把内容通过特定封装,最后采用UDP组播方式转发给边沿机群,其中所述机群由边沿机1、边沿机2……边沿机N组成;
步骤3、其它边沿机接收到边沿机M发送的数据后,对数据包进行解封装分析,然后去除重复UDP包,对UDP包数据进行重新排序,再存储成单个文件,如果接收包有丢失,则标记该内容出错;
步骤4、所述机群中任意一台边沿机,定义为边沿机a,所述边沿机a接收内容,待内容接收结束后,如果该内容UDP分发过程中有出错,则对边沿机M发送HTTP请求进行纠错,对出错文件重新下载进行修复。
所述步骤2中特定封装包括如下模式:
负载类型,所述负载类型用1个字节表示,若值为0表示负载为头部信息,若值为1表示为负载的内容;
负载长度,所述负载长度用2个字节表示,表示负载的长度;
文件索引,所述文件索引用4个字节表示,表示文件唯一标识,其中所述标识由32位MD5对文件名称加密生成;
包索引,所述包索引用4个字节表示,表示该包为该内容的分发序号;
文件大小,所述文件大小用8个字节表示,表示该文件大小,一个文件包含Y个负载,其中Y大于或等于1;
负载,所述负载用1316个字节表示,每个封装包最大携带1316个字节负载内容,如果负载类型为0,则负载内容为文件名称;如果负载类型为1,则负载为文件内容。
所述步骤3中解封装分析,具体包括:根据负载类型确定接收到的包属于头部信息还是负载内容,同时根据文件索引确定接收到的负载属于哪一个文件,通过包索引确定接收到的数据是否产生重复、丢包、乱序问题。
如图2所示的所述步骤2边沿机M转发给边沿机群中,具体包括如下步骤:
步骤2.1、获取文件信息:主要获取文件名称,文件大小;
步骤2.2、封装头部信息包,包括:
负载类型:值为0;
负载长度:文件名称长度;
文件索引:由32位MD5对文件名称加密生成;
包索引:值为0;
文件大小:获取的文件大小;
负载:文件名称,最大长度不能超过1316字节;
步骤2.3、封装内容信息包,包括:
负载类型:值为1;
负载长度:内容的真实长度;
文件索引:由32位MD5对文件名称加密生成;
包索引:从1开始,依次递增;
文件大小:获取的文件大小;
负载:文件内容,最大长度不能超过1316字节;
步骤2.4、UDP发送头部信息,发送成功则读取1316个字节为负载,否则返回步骤2.3;
步骤2.5、封装负载内容包;
步骤2.6、UDP发送负载内容包,若内容包小于1316个字节则结束,否则返回步骤2.4。
如图3所示的所述步骤4对边沿机M发送HTTP请求进行纠错中,具体包括如下步骤:根据头部信息向边沿机M通过HTTP协议请求下载文件;若纠错成功则结束,否则重试三次,若继续失败则表明纠错失败。
其中关于术语:CDN为内容分发网络,HTTP为超文本协议,UDP为用户数据报协议,均为行业通用术语,此处不再叙述。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (5)
1.一种节约带宽资源的CDN分发方法,其特征在于,包括如下步骤:
步骤1、中心主机通过主干网络以HTTP协议的方式把内容分发到由边沿机1、边沿机2……边沿机N组成的边沿机群中的任意一台边沿机,定义为边沿机M;
步骤2、边沿机M将内容接收完毕,然后再把内容通过特定封装,最后采用UDP组播方式转发给边沿机群;
步骤3、其它边沿机接收到边沿机M发送的数据后,对数据包进行解封装分析,然后去除重复UDP包,对UDP包数据进行重新排序,再存储成单个文件,如果接收包有丢失,则标记该内容出错;
步骤4、所述机群中任意一台边沿机,定义为边沿机a,所述边沿机a接收内容,待内容接收结束后,如果该内容UDP分发过程中有出错,则对边沿机M发送HTTP请求进行纠错,对出错文件重新下载进行修复。
2.根据权利要求1所述的一种节约带宽资源的CDN分发方法,其特征在于,所述步骤2中特定封装包括如下模式:
负载类型,所述负载类型用1个字节表示,若值为0表示负载为头部信息,若值为1表示为负载的内容;
负载长度,所述负载长度用2个字节表示,表示负载的长度;
文件索引,所述文件索引用4个字节表示,表示文件唯一标识,其中所述标识由32位MD5对文件名称加密生成;
包索引,所述包索引用4个字节表示,表示该包为该内容的分发序号;
文件大小,所述文件大小用8个字节表示,表示该文件大小,一个文件包含Y个负载,其中Y大于或等于1;
负载,所述负载用1316个字节表示,每个封装包最大携带1316个字节负载内容,如果负载类型为0,则负载内容为文件名称;如果负载类型为1,则负载为文件内容。
3.根据权利要求1所述的一种节约带宽资源的CDN分发方法,其特征在于,所述步骤3中解封装分析,具体包括:根据负载类型确定接收到的包属于头部信息还是负载内容,同时根据文件索引确定接收到的负载属于哪一个文件,通过包索引确定接收到的数据是否产生重复、丢包、乱序问题。
4.根据权利要求1所述的一种节约带宽资源的CDN分发方法,其特征在于,所述步骤2边沿机M转发给边沿机群中,具体包括如下步骤:
步骤2.1、获取文件信息:主要获取文件名称,文件大小;
步骤2.2、封装头部信息包,包括:
负载类型:值为0;
负载长度:文件名称长度;
文件索引:由32位MD5对文件名称加密生成;
包索引:值为0;
文件大小:获取的文件大小;
负载:文件名称,最大长度不能超过1316字节;
步骤2.3、封装内容信息包,包括:
负载类型:值为1;
负载长度:内容的真实长度;
文件索引:由32位MD5对文件名称加密生成;
包索引:从1开始,依次递增;
文件大小:获取的文件大小;
负载:文件内容,最大长度不能超过1316字节;
步骤2.4、UDP发送头部信息,发送成功则读取1316个字节为负载,否则返回步骤2.3;
步骤2.5、封装负载内容包;
步骤2.6、UDP发送负载内容包,若内容包小于1316个字节则结束,否则返回步骤2.4。
5.根据权利要求1所述的一种节约带宽资源的CDN分发方法,其特征在于,所述步骤4对边沿机M发送HTTP请求进行纠错中,具体包括如下步骤:根据头部信息向边沿机M通过HTTP协议请求下载文件;若纠错成功则结束,否则重试三次,若继续失败则表明纠错失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810811579.8A CN108933835A (zh) | 2018-07-23 | 2018-07-23 | 一种节约带宽资源的cdn分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810811579.8A CN108933835A (zh) | 2018-07-23 | 2018-07-23 | 一种节约带宽资源的cdn分发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108933835A true CN108933835A (zh) | 2018-12-04 |
Family
ID=64444120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810811579.8A Pending CN108933835A (zh) | 2018-07-23 | 2018-07-23 | 一种节约带宽资源的cdn分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108933835A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738149A (zh) * | 2019-10-29 | 2021-04-30 | 贵州白山云科技股份有限公司 | 数据传输***和方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697354A (zh) * | 2005-06-17 | 2005-11-16 | 顾红波 | 用组播和单播协议可靠传输数据的方法及接收数据的主机 |
CN102404648A (zh) * | 2011-12-05 | 2012-04-04 | 深圳市同洲视讯传媒有限公司 | 一种内容分发***及方法 |
CN105468685A (zh) * | 2015-11-16 | 2016-04-06 | 东软集团股份有限公司 | 一种消息处理方法及装置 |
US20160241629A1 (en) * | 2015-02-17 | 2016-08-18 | Aver Information Inc. | File transfer method |
CN106034140A (zh) * | 2015-03-10 | 2016-10-19 | 中兴通讯股份有限公司 | 推送处理方法及装置 |
CN107105013A (zh) * | 2017-03-28 | 2017-08-29 | 北京洋浦伟业科技发展有限公司 | 文件的处理方法、服务器、终端和*** |
CN108155999A (zh) * | 2017-12-27 | 2018-06-12 | 罗建平 | 带tcp补包机制的智能udp组播文件分发***及方法 |
-
2018
- 2018-07-23 CN CN201810811579.8A patent/CN108933835A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697354A (zh) * | 2005-06-17 | 2005-11-16 | 顾红波 | 用组播和单播协议可靠传输数据的方法及接收数据的主机 |
CN102404648A (zh) * | 2011-12-05 | 2012-04-04 | 深圳市同洲视讯传媒有限公司 | 一种内容分发***及方法 |
US20160241629A1 (en) * | 2015-02-17 | 2016-08-18 | Aver Information Inc. | File transfer method |
CN106034140A (zh) * | 2015-03-10 | 2016-10-19 | 中兴通讯股份有限公司 | 推送处理方法及装置 |
CN105468685A (zh) * | 2015-11-16 | 2016-04-06 | 东软集团股份有限公司 | 一种消息处理方法及装置 |
CN107105013A (zh) * | 2017-03-28 | 2017-08-29 | 北京洋浦伟业科技发展有限公司 | 文件的处理方法、服务器、终端和*** |
CN108155999A (zh) * | 2017-12-27 | 2018-06-12 | 罗建平 | 带tcp补包机制的智能udp组播文件分发***及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738149A (zh) * | 2019-10-29 | 2021-04-30 | 贵州白山云科技股份有限公司 | 数据传输***和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017012510A1 (zh) | 传输灵活以太网的业务流的方法和装置 | |
US9154587B2 (en) | RoCE packet sequence acceleration | |
US7596144B2 (en) | System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration | |
EP2145435B1 (en) | Compression of data packets while maintaining endpoint-to-endpoint authentication | |
CN103428226B (zh) | 一种用户态与内核通信的方法与*** | |
US9356863B2 (en) | Communications over multiple protocol interfaces in a computing environment | |
CN100469002C (zh) | 数据分块传输方法及装置 | |
CN105099938B (zh) | 网络中拥塞窗口的确定方法和装置 | |
CN102769574A (zh) | 一种能够进行业务硬件加速的装置及其方法 | |
US8179795B2 (en) | Communication terminal apparatus, distribution apparatus, error notification method, and error notification program | |
EP2439890A1 (en) | Method and system for processing mobile multimedia data broadcasting service | |
WO2012083654A1 (zh) | Ip报文分片的处理方法和分布式*** | |
US20100272123A1 (en) | Efficient switch fabric bandwidth distribution | |
CN108933835A (zh) | 一种节约带宽资源的cdn分发方法 | |
CN102780633A (zh) | 一种基于capwap协议进行数据传输的装置和方法 | |
TW200302649A (en) | An interface and related methods for dynamic channelization in an Ethernet architecture | |
CN103051738B (zh) | 一种dhcp地址分配方法和*** | |
CN106686410B (zh) | Hls流媒体传输方法以及装置 | |
WO2019034061A1 (zh) | 数据传输方法、装置及*** | |
US20040267960A1 (en) | Force master capability during multicast transfers | |
WO2014190843A1 (zh) | 生成输入参数的方法及设备 | |
CN105763480B (zh) | 一种基于fpga实现流采样的装置及方法 | |
CN106102101A (zh) | 一种无线接入点与无线接入控制器连接的处理方法及*** | |
CN101252526B (zh) | 流量控制方法以及vpws网络*** | |
CN106571993B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181204 |