CN108268209A - 一种cdn***中的数据存储方法及cdn*** - Google Patents
一种cdn***中的数据存储方法及cdn*** Download PDFInfo
- Publication number
- CN108268209A CN108268209A CN201611265989.4A CN201611265989A CN108268209A CN 108268209 A CN108268209 A CN 108268209A CN 201611265989 A CN201611265989 A CN 201611265989A CN 108268209 A CN108268209 A CN 108268209A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- edge
- fringe
- edge node
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005012 migration Effects 0.000 claims description 12
- 238000013508 migration Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种CDN***中的数据存储方法及CDN***。该方法中,在获取到待存储的数据后,将所述待存储的数据发送到第一边缘节点,以使第一边缘节点存储所述数据;将所述数据复制到除第一边缘节点之外的至少第二边缘节点中,以使所述至少一个第二边缘节点存储所述数据,且所述数据不会被发送至核心节点。此外,还可以根据边缘节点的负载情况,将第一、第二边缘节点中存储的数据复制或迁移到其他边缘节点中。在上述方法,由于将待存储的数据直接存入边缘节点中,而非先存储到核心节点中,再由核心节点将数据发送给各边缘节点存储,使得存储的数据不被保存在所有用户都可以访问的核心节点,增加了数据的安全性,更有利于数据的版权保护。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种CDN***中的数据存储方法及CDN***。
背景技术
CDN(Content Delivery Network,内容分发网络)是一种通过在网络各处设置存储节点构成的在现有互联网基础之上的一层智能虚拟网络,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
CDN的基本原理是广泛采用各种存储节点,将这些存储节点分布到用户访问相对集中的地区或网络中。在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的、工作正常的存储节点上,由存储节点直接响应用户请求。CDN***中的存储节点包括核心节点和边缘节点。被注入到CDN***中的数据先被存储到核心节点中,然后将这些数据同步到边缘节点中,以方便用户访问。当用户请求访问数据时,CDN***根据设置的导向策略选择边缘节点,先从边缘节点中查找待访问的数据是否存在,若存在则直接从边缘节点中下载所需数据,否则回源到核心节点中下载所需数据。
在获取对于安全性有较高要求的数据时,若获取数据的请求中未包括表示具有获取权限的标识,则根据导向策略选择边缘节点时不会选择存储有该数据的边缘节点请求获取数据。然而,导向策略仅使得不能从边缘节点中获取数据,不会影响回源到核心节点获取数据,存在数据安全性、版权问题的隐患。
发明内容
本发明实施例提供了一种CDN***中的数据存储方法以及一种CDN***,用以实现将待存储的数据直接存储到CDN***中的边缘节点中,以保证数据的安全性。
本发明实施例提供的CDN***中的数据存储方法,包括:
获取待存储的数据;
将所述数据发送到第一边缘节点,以使所述第一边缘节点存储所述数据;
将所述数据复制到除第一边缘节点之外的至少一个第二边缘节点中,以使所述至少一个第二边缘节点存储所述数据,且所述数据不会被发送至核心节点。
可选地,所述将所述数据发送到第一边缘节点,包括:
根据各个边缘节点的负载情况,从各个边缘节点中选择第一边缘节点;
将所述数据发送到第一边缘节点。
可选地,将所述数据发送到第一边缘节点,包括:
若所述数据中包含有特定标识,则将所述数据发送到第一边缘节点;所述特定标识用于指示所述数据要存储于边缘节点中。
可选地,将所述数据复制到除第一边缘节点之外的至少一个第二边缘节点中,包括:
根据预先设置的备份份数以及除第一边缘节点之外的其他各边缘节点的负载情况,选择对应数量的用于备份所述数据的至少一个第二边缘节点;
将所述数据分别发送到用于备份所述数据的至少一个第二边缘节点进行备份。
可选地,该方法还包括:
当所述第一边缘节点中的负载情况满足预设条件时,根据除第一边缘节点和第二边缘节点之外的其他各边缘节点的负载情况,在所述其他各边缘节点中选择至少一个第三边缘节点;将所述第一边缘节点中存储的所述数据发送到所述至少一个第三边缘节点进行备份,或者,将所述第一边缘节点中存储的所述数据迁移到所述至少一个第三边缘节点;和/或
当所述第二边缘节点中的负载情况满足预设条件时,根据除第一边缘节点和第二边缘节点之外的其他各边缘节点的负载情况,在所述其他各边缘节点中选择至少一个第四边缘节点;将所述第二边缘节点中存储的所述数据发送到所述至少一个第四边缘节点进行备份,或者,将所述第二边缘节点中存储的所述数据迁移到所述至少一个第四边缘节点。
可选地,该方法还包括:
接收访问所述数据的请求,
在确认所述请求具有访问权限后,根据所述第一边缘节点、第二边缘节点、第三边缘节点以及第四边缘节点中的一个或多个的负载情况,确定为所述请求提供服务的边缘节点。
本发明实施例提供的CDN***,包括:数据发布节点、核心节点和多个边缘节点;
所述数据发布节点,用于获取待存储的数据,从所述多个边缘节点中选择第一边缘节点,将所述数据发送到第一边缘节点;
所述第一边缘节点,用于存储所述数据,并将所述数据复制到所述多个边缘节点中除所述第一边缘节点之外的至少一个第二边缘节点中,以使所述至少一个第二边缘节点存储所述数据,且所述数据不会被发送至核心节点。
可选地,所数据发布节点从所述多个边缘节点中选择第一边缘节点时,具体用于:
根据所述多个边缘节点的负载情况,从所述多个边缘节点中选择第一边缘节点。
可选地,所述数据发布节点,具体用于:
若所述数据中包含有特定标识,则将所述数据发送到第一边缘节点;所述特定标识用于指示硕士数据要存储于边缘节点中。
可选地,所述第一边缘节点在将所述数据复制到所述多个边缘节点中除所述第一边缘节点之外的至少一个第二边缘节点中时,具体用于:
根据预先设置的备份份数以及所述多个边缘节点中除第一边缘节点之外的其他各边缘节点的负载情况,选择对应数量的用于备份所述数据的至少一个第二边缘节点;
将所述数据分别发送到用于备份所述数据的至少一个第二边缘节点进行备份。
可选地,所述第一边缘节点还用于:当所述第一边缘节点的负载情况满足预设的条件时,根据所述多个边缘节点中除所述第一边缘节点和所述第二边缘节点之外的其他各边缘节点的负载情况,选择至少一个第三边缘节点;将所述数据发送到所述至少一个第三边缘节点进行备份,或者将所述数据迁移到所述第三边缘节点;和/或
所述第二边缘节点还用于:当所述第二边缘节点的负载情况满足预设的条件时,根据所述多个边缘节点中除所述第一边缘节点和所述第二边缘节点之外的其他各边缘节点的负载情况,选择至少一个第四边缘节点;将所述数据发送到所述至少一个第四边缘节点进行备份,或者将所述数据迁移到所述第四边缘节点。
可选地,还包括:
入口节点,用于接收访问所述数据的请求;在确认所述请求具有访问权限后,根据所述第一边缘节点、第二边缘节点、第三边缘节点以及第四边缘节点中的一个或多个的负载情况,确定为所述请求提供服务的边缘节点。
在本发明上述实施例中,在获取到待存储的数据后,将待存储的数据发送到第一边缘节点,以使第一边缘节点存储所述数据;将所述数据复制到除第一边缘节点之外的至少第二边缘节点中,以使上述至少一个第二边缘节点存储所述数据。由于将待存储的数据直接存入边缘节点中,而非先存储到核心节点中,再由核心节点将数据发送给各边缘节点存储,使得存储的数据不被保存在所有用户都可以访问的核心节点中,增加了数据的安全性,更有利于数据的版权保护。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为适用于本发明实施例的CDN***架构示意图;
图2为本发明实施例提供的CDN***中的数据存储方法的流程示意图之一;
图3为本发明实施例提供的CDN***中的数据存储方法的流程示意图之二;
图4为本发明实施例提供的CDN***中的数据存储方法的流程示意图之三。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
由于互联网的飞速发展,由于CDN***可以降低网络堵塞、提升用户网络访问体验,可以使得资源被合理利用,因此CDN***的应用显得越发重要。然而,随着CDN***的发展,也带来了新的挑战,在保证互联网信息传输顺畅、提高用户获取数据速度的同时,对数据版权的保护问题也日益严峻。
在使用CDN***时,数据的提供方将数据存储到CDN***,CDN***将待存储的数据存储到核心节点中,然后将核心节点中的数据同步到边缘节点中保存。当用户请求获取数据时,CDN***按照设置的导向策略,例如地域、优先级、网络等,选择出边缘节点,并查看选择的边缘节点中是否存储有的请求获取的数据,若有则从边缘节点中获取数据,若没有,该边缘节点还可以请求从其他边缘节点或者核心节点中获取该数据。若被户请求获取的数据为对安全性有较高要求的数据或需要保护版权的数据,CDN***还根据获取数据的请求判断该请求中是否有获取数据权限的标识,若请求中没有该标识,则根据设置的导向策略,该请求不会被发送到存储有该数据的边缘节点中。虽然无法从存储有该数据的边缘节点中获取数据,但并不会影响回源到上层节点或者、核心节点获取数据的过程,若核心节点中存储有该数据,即可获取该数据,不会再对此次请求是否具有获取权限进行判断。
例如,影片的供应商,在将影片数据上传到互联网时,为了提高用户获取影片数据的速度,可以将影片数据存储到CDN***中,通常是将影片存储到CDN***的核心节点中,再将影片由核心节点同步到边缘节点中。没有下载权限的用户在请求下载该影片时,请求中没有表示具有下载权限的标识,根据导向策略,该请求被发送到与用户较近的、没有存储影片的边缘节点。由于该边缘节点中没有存储该影片,需要向其他边缘节点发送下载该影片的请求,根据导向策略,被请求的其他边缘节点仍然为没有存储该影片的边缘节点。在多次请求仍无法下载影片时,则会进行回源下载,即将请求发送至上层节点或者核心节点,因为核心节点中存储有该影片,使得没有下载权限的用户也可以下载成功,使得影片的版权没有得到有效保护,给影片供应商造成损失。
为了解决上述问题,本发明实施例提供了一种CDN***中的数据存储方法,用以实现将待存储的数据直接存储到CDN***中的边缘节点中,以保证数据的安全性。
图1示例性的给出了一种适用于本发明实施例提供的数据存储方法的CDN***的架构图。如图所示,CDN***可以包括入口节点、核心存储集群(即若干个核心节点)、核心数据库、边缘节点集群(即若干个边缘节点)、边缘数据库、发布节点。
其中,发布节点用于根据数据提供方发送的存储数据的指示,将待存储的数据发送的核心节点或边缘节点中。数据提供方可以将待存储的数据直接上传到发布节点,也可以提供下载所述待存储数据的地址,以使发布节点根据该地址下载待存储的数据。
核心存储集群和边缘存储集群用于存储数据。在现有技术中,数据提供方提供的数据先被存储于核心存储集群中,然后根据再被同步到边缘存储集群中。
其中,由于边缘存储集群中的边缘节点的数量较多,还可以进一步地被划分层级,即如图1所示的二级节点集群以及边缘节点集群。核心节点中的数据先被同步存储在该核心节点管理的二级节点中,然后每个二级节点再将数据发送至其管理的边缘节点中以使边缘节点中存储有该数据。相应的,在从CDN***中获取数据时,先查看边缘节点中是否存储有所需数据,若没有,则查看管理该边缘节点的二级节点中是否存储有所需数据,若二级节点中也没有,则查看管理该二级节点的核心节点中是否存储有所需数据。
核心数据库和边缘数据库中分别保存有核心存储集群和边缘存储集群中存储的数据列表。例如,核心数据库中保存有核心存储集群中存储的影片列表,该列表中可以包括影片的名字、数据格式、数据大小等信息。当然,核心数据库也可以被集成在某个核心节点中,同样的,边缘数据库也可以被集成在某个边缘节点中。
入口节点用于接收用户发送的获取数据的请求,并根据CDN***的导向策略,选择用于提供服务的边缘节点或核心节点。例如,入口节点根据就近原则、负载均衡原则,将用户获取数据的请求发送至与用户较近的边缘节点,若该边缘节点中有用户所需的数据,则从该边缘节点中获取相应的数据,否则,选取其它边缘节点或者回源到核心节点。
应当理解,图1所示的CDN***的架构图仅为适用于本发明的一个具体实施例,可以应用本发明实施例提供的数据存储方法的CDN***还可以仅包括图1中的部分节点,或者还可以包括其他未示出的节点,或者图1中所示的多个节点还可以被集成在一个节点中,本发明实施例对此不作限制。
参见图2,为本发明实施例提供的CDN***中的数据存储方法的流程示意图。如图所示,该方法包括以下步骤:
步骤201、获取待存储的数据。
以图1所示的CDN***架构为例,上述步骤201可以由发布节点执行。发布节点可以直接获取数据提供方中的上传的数据,也可以根据数据提供方提供的数据获取地址,从相应的地址中获取待存储的数据。
可选地,在获取到待存储的数据后,还可以根据待存储的数据中是否携带有特定标识,确定按照现有技术执行数据存储过程,还是按照本发明实施例提供的数据存储方法进行存储;其中特定标识用于指示数据需要被存储于边缘节点中。
对于安全性有较高要求、获取数据时需要进行合法性验证的数据,可在注入到发布节点中时携带有该特定标识,以表明该数据需要被保护,应当按照本发明实施例提供的数据存储方法进行存储。对于安全性没有较高要求的数据,可以不携带该特定标识,即可按照现有技术进行存储。
步骤202、将数据发送到第一边缘节点,以使第一边缘节点存储该数据。
应当理解,所述“第一边缘节点”仅用于与其他边缘节点进行区分,并非特指某个边缘节点。
发布节点可以从该CDN***中的多个边缘节点中选择一个边缘节点用于存储待存储的数据,并将待存储的数据发送的到选择出的第一边缘节点,以使第一边缘节点存储该数据。
可选地,发布节点可以根据该CDN***中的各个边缘节点的负载情况,从各个边缘节点中选择第一边缘节点。发布节点可以在与用户较近的边缘节点中,选取一个负载较小的边缘节点存储该数据,能够使得该CDN***中的边缘节点的负载情况较为均衡。
步骤203、将待存储数据负载到除第一边缘节点之外的至少一个第二边缘节点中,以使上述至少一个第二边缘节点存储该数据。
在现有技术中,待存储数据先被存储到核心节点中,再由核心节点将数据复制到边缘节点中,以方便用户快速获取数据,而边缘节点不会再将数据复制并发送给其他边缘节点。
然而,应用本发明实施例提供的数据存储方法时,由于待存储数据是被直接存储到第一边缘节点中,若第一边缘节点仍按照现有技术中不再将数据复制并发送给其他边缘节点,那么该数据仅被存储于第一边缘节点中,当用户在请求获取该数据时,则不能从较近的边缘节点中快速获取数据,必须访问第一边缘节点才能获取到数据。
为了解决上述问题,本发明实施例中的第一边缘节点还可以从该CDN***中的其他边缘节点中选择至少一个第二边缘节点,将数据复制并发送到选择出的至少一个第二边缘节点中。
可选地,第一边缘节点可以根据预先设置的备份份数,以及该CDN***中除第一边缘节点之外的其他各边缘节点的负载情况,选择对应数量的用于备份该数据的第二边缘节点。其中,预先设置的备份份数,可以是该CDN***预先设置的一个默认值,也可以是数据提供方在将数据通过发布节点注入到该CDN***时由数据提供方设置的,当然,还可以通过其他方法进行设置,本发明实施例对此不作限制。
可选地,第一边缘节点的负载情况满足预设条件时,根据除第一边缘节点和第二边缘节点之外的其他各边缘节点的负载情况,在其他各边缘节点中选择至少一个第三边缘节点;然后将第一边缘节点中的数据复制并发送到第三边缘节点进行备份,或者,将第一边缘节点中的数据迁移到第三边缘节点中。
其中,负载的预设条件可以是某个数据被请求下载的次数达到预设阈值,或者,同时请求从该边缘节点中下载数据的请求达到预设阈值,或者,该边缘节点的CPU利用率达到预设阈值等,本发明对此不作限制。
同理,当第二边缘节点的负载满足预设条件时,根据除第一边缘节点和第二边缘节点之外的其他各边缘节点的负载情况,在其他各边缘节点中选择至少一个第四边缘节点;然后将第二边缘节点中的数据复制并发送到第四边缘节点进行备份,或者,将第二边缘节点中的数据迁移至第四边缘节点中。
可选地,当CDN***接收到客户端发送的访问数据请求时,先判断该请求是否具有访问权限。若该请求具有访问权限,则根据存储有该数据的边缘节点的负载情况,从上述第一边缘节点、第二边缘节点、第三边缘节点以及第四边缘节点中选择一个边缘节点为该请求提供服务。
在一个具体的实施例中,一个边缘节点中可以包括一个边缘管理服务模块、多个边缘存储服务模块以及多个边缘流媒体服务模块。其中,边缘管理服务模块可以管理该边缘节点中的所有边缘服务存储模块和边缘流媒体服务模块;边缘存储服务模块的数据与边缘流媒体服务模块的数量相同,一个边缘流媒体服务模块与一个边缘存储模块对应。
边缘流媒体服务模块可以接收用户发送的获取数据的请求,也可以向其对应的边缘存储模块发送心跳、负载等消息。边缘存储服务模块可以向其所在的边缘节点中的边缘管理服务模块以及其他边缘节点中的边缘管理服务模块上报心跳、负载、存储数据的信息状态等消息;上报的消息可以是定时发送的,也可以是当触发事件发生时上报。
当数据提供方通过发布节点将需要被特殊保护的影片A存储到CDN***时,其流程可以如图3所示。发布节点根据负载情况从CDN***中选择出第一边缘节点,并根据Hash算法从第一边缘节点中选择一个边缘存储服务模块,即第一边缘存储服务模块,用于存储影片A的数据。第一边缘存储服务模块向第一边缘节点中的第一边缘管理服务模块以及其他边缘节点中的边缘管理服务模块上报心跳、负载、存储数据的信息状态等消息。第一边缘管理服务模块可以接收到第一边缘节点中所有边缘存储服务模块上报的消息以及其他边缘节点中的边缘存储服务模块上报的消息,以知晓各边缘存储服务模块的负载情况以及存储的数据信息等;第一边缘管理服务模块根据第一边缘存储服务模块上报的消息,确定第一边缘存储服务模块中存储有新注入影片A的数据,根据预先设置的备份份数以及其他各边缘存储服务模块的负载情况,确定用于备份影片A的N个第二边缘存储服务模块,第二边缘存储服务模块可以是第一边缘节点中的,也可以是其他边缘节点中的。第一边缘管理服务模块在确定出第二边缘存储服务模块后,通知第二边缘存储服务模块从第一边缘存储服务模块中备份影片A,第二边缘存储服务模块则向第一边缘存储服务模块发送备份影片A的请求,第一边缘存储服务模块将影片A的数据发送给第二边缘存储服务模块进行备份。
当影片A的数据被请求下载的次数达到预设次数时,或者第一边缘管理服务模块的负载情况满足预设条件时,第一边缘管理服务模块还可以将影片A的数据备份或迁移到其他边缘存储服务模块中,如图4所示。第一边缘管理服务模块根据第一边缘存储服务模块上报的消息,确定第一边缘存储服务模块中影片A被请求下载的次数达到预设次数,或者确定第一边缘存储服务模块当前负载较大时,可以从其他边缘存储服务模块中选择负载较小的边缘存储服务模块,用于将影片A的数据复制到或迁移到选择出的边缘存储服务模块中,即第一边缘管理服务管理模块通知选择的边缘存储服务模块从第一边缘存储服务模块中获取影片A的数据,收到通知的边缘存储服务模块向第一边缘存储服务模块发送获取影片A的数据的请求,第一边缘存储服务模块将影片A的数据负载或迁移至其他边缘存储服务模块。
对安全性没有特殊要求的影片B,可以按照现有技术对其进行存储,先将其存储在核心节点中,再由核心节点备份到边缘节点中。当用户请求获取影片B时,先从边缘节点中的边缘存储服务模块中查找是否存储有影片B的数据,若有则将影片B的数据发送到客户端,若没有,则从该边缘节点中的其他边缘服务模块中查找,若也没有,则重新选择一个边缘节点,继续查找,当多次未查找到时,则从二级节点或核心节点中查找。
而对安全性有特殊要求的影片A,按时前述数据存储方法,将影片A的数据存储在第一边缘节点中,再由第一边缘节点备份到其他边缘节点中。当用户请求获取影片A时,入口服务器确定该请求是否具有下载影片A的权限。若该请求具有下载权限,则根据预先设置的导向策略,从存储有影片A的边缘节点中选择一个负载较小的边缘节点为该请求提供下载服务。若该请求不具有下载权限,则根据预先设置的导向策略,从没有存储影片A的边缘节点中选择边缘节点提供给发送请求的客户端,以使客户端向选择出的边缘节点发送下载请求,然而,选择出的边缘节点中并没有存储影片A,无法提供下载服务,该边缘节点还可以向其他边缘节点发送下载影片A的请求,然而请求的其他边缘节点仍为没有存储影片A的边缘节点,故多次请求均不能提供下载,因此回源到核心节点请求下载,然而核心节点中也没有存储影片A,因此不能为该请求提供下载服务,保证了影片A的版权。
在本发明上述实施例中,在获取到待存储的数据后,将待存储的数据发送到第一边缘节点,以使第一边缘节点存储所述数据;将所述数据复制到除第一边缘节点之外的至少第二边缘节点中,以使上述至少一个第二边缘节点存储所述数据。由于将待存储的数据直接存入边缘节点中,而非先存储到核心节点中,再由核心节点将数据发送给各边缘节点存储,使得存储的数据不被保存在所有用户都可以访问的核心节点中,增加了数据的安全性,更有利于数据的版权保护。
基于相同的技术构思,本发明实施例还提供了一种CDN***,用以实现上述方法实施例,该CDN***可以如图1所示。该CDN***至少包括:数据发布节点和多个边缘节点,进一步地,还可以包括入口节点。
数据发布节点,用于获取待存储的数据,从所述多个边缘节点中选择第一边缘节点,将所述数据发送到第一边缘节点。
第一边缘节点,用于存储所述数据,并将所述数据复制到所述多个边缘节点中除所述第一边缘节点之外的至少一个第二边缘节点中,以使所述至少一个第二边缘节点存储所述数据。
可选地,所数据发布节点从所述多个边缘节点中选择第一边缘节点时,具体用于:
根据所述多个边缘节点的负载情况,从所述多个边缘节点中选择第一边缘节点。
可选地,所述数据发布节点,具体用于:
若所述数据中包含有特定标识,则将所述数据发送到第一边缘节点;所述特定标识用于指示硕士数据要存储于边缘节点中。
可选地,所述第一边缘节点在将所述数据复制到所述多个边缘节点中除所述第一边缘节点之外的至少一个第二边缘节点中时,具体用于:
根据预先设置的备份份数以及所述多个边缘节点中除第一边缘节点之外的其他各边缘节点的负载情况,选择对应数量的用于备份所述数据的至少一个第二边缘节点;
将所述数据分别发送到用于备份所述数据的至少一个第二边缘节点进行备份。
可选地,所述第一边缘节点还用于:当所述第一边缘节点的负载情况满足预设的条件时,根据所述多个边缘节点中除所述第一边缘节点和所述第二边缘节点之外的其他各边缘节点的负载情况,选择至少一个第三边缘节点;将所述数据发送到所述至少一个第三边缘节点进行备份,或者将所述数据迁移到所述第三边缘节点。
可选地,所述第二边缘节点还用于:当所述第二边缘节点的负载情况满足预设的条件时,根据所述多个边缘节点中除所述第一边缘节点和所述第二边缘节点之外的其他各边缘节点的负载情况,选择至少一个第四边缘节点;将所述数据发送到所述至少一个第四边缘节点进行备份,或者将所述数据迁移到所述第四边缘节点。
可选地,该***还包括:入口节点,用于接收访问所述数据的请求;在确认所述请求具有访问权限后,根据所述第一边缘节点、第二边缘节点、第三边缘节点以及第四边缘节点中的一个或多个的负载情况,确定为所述请求提供服务的边缘节点。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种内容分发网络CDN***中的数据存储方法,其特征在于,包括:
获取待存储的数据;
将所述数据发送到第一边缘节点,以使所述第一边缘节点存储所述数据;
将所述数据复制到除第一边缘节点之外的至少一个第二边缘节点中,以使所述至少一个第二边缘节点存储所述数据,且所述数据不会被发送至核心节点。
2.如权利要求1所述的方法,其特征在于,所述将所述数据发送到第一边缘节点,包括:
根据各个边缘节点的负载情况,从各个边缘节点中选择第一边缘节点;
将所述数据发送到第一边缘节点。
3.如权利要求1所述的方法,其特征在于,将所述数据发送到第一边缘节点,包括:
若所述数据中包含有特定标识,则将所述数据发送到第一边缘节点;所述特定标识用于指示所述数据要存储于边缘节点中。
4.如权利要求1所述的方法,其特征在于,将所述数据复制到除第一边缘节点之外的至少一个第二边缘节点中,包括:
根据预先设置的备份份数以及除第一边缘节点之外的其他各边缘节点的负载情况,选择对应数量的用于备份所述数据的至少一个第二边缘节点;
将所述数据分别发送到用于备份所述数据的至少一个第二边缘节点进行备份。
5.如权利要求1所述的方法,其特征在于,还包括:
当所述第一边缘节点中的负载情况满足预设条件时,根据除第一边缘节点和第二边缘节点之外的其他各边缘节点的负载情况,在所述其他各边缘节点中选择至少一个第三边缘节点;将所述第一边缘节点中存储的所述数据发送到所述至少一个第三边缘节点进行备份,或者,将所述第一边缘节点中存储的所述数据迁移到所述至少一个第三边缘节点;和/或
当所述第二边缘节点中的负载情况满足预设条件时,根据除第一边缘节点和第二边缘节点之外的其他各边缘节点的负载情况,在所述其他各边缘节点中选择至少一个第四边缘节点;将所述第二边缘节点中存储的所述数据发送到所述至少一个第四边缘节点进行备份,或者,将所述第二边缘节点中存储的所述数据迁移到所述至少一个第四边缘节点。
6.如权利要求1至5中任一项所述的方法,其特征在于,还包括:
接收访问所述数据的请求,
在确认所述请求具有访问权限后,根据所述第一边缘节点、第二边缘节点、第三边缘节点以及第四边缘节点中的一个或多个的负载情况,确定为所述请求提供服务的边缘节点。
7.一种内容分发网络CDN***,其特征在于,包括:数据发布节点、核心节点和多个边缘节点;
所述数据发布节点,用于获取待存储的数据,从所述多个边缘节点中选择第一边缘节点,将所述数据发送到第一边缘节点;
所述第一边缘节点,用于存储所述数据,并将所述数据复制到所述多个边缘节点中除所述第一边缘节点之外的至少一个第二边缘节点中,以使所述至少一个第二边缘节点存储所述数据,且所述数据不会被发送至核心节点。
8.如权利要求7所述的***,其特征在于,所数据发布节点从所述多个边缘节点中选择第一边缘节点时,具体用于:
根据所述多个边缘节点的负载情况,从所述多个边缘节点中选择第一边缘节点。
9.如权利要求7所述的***,其特征在于,所述数据发布节点,具体用于:
若所述数据中包含有特定标识,则将所述数据发送到第一边缘节点;所述特定标识用于指示硕士数据要存储于边缘节点中。
10.如权利要求7所述的***,其特征在于,所述第一边缘节点在将所述数据复制到所述多个边缘节点中除所述第一边缘节点之外的至少一个第二边缘节点中时,具体用于:
根据预先设置的备份份数以及所述多个边缘节点中除第一边缘节点之外的其他各边缘节点的负载情况,选择对应数量的用于备份所述数据的至少一个第二边缘节点;
将所述数据分别发送到用于备份所述数据的至少一个第二边缘节点进行备份。
11.如权利要求7所述的***,其特征在于,所述第一边缘节点还用于:当所述第一边缘节点的负载情况满足预设的条件时,根据所述多个边缘节点中除所述第一边缘节点和所述第二边缘节点之外的其他各边缘节点的负载情况,选择至少一个第三边缘节点;将所述数据发送到所述至少一个第三边缘节点进行备份,或者将所述数据迁移到所述第三边缘节点;和/或
所述第二边缘节点还用于:当所述第二边缘节点的负载情况满足预设的条件时,根据所述多个边缘节点中除所述第一边缘节点和所述第二边缘节点之外的其他各边缘节点的负载情况,选择至少一个第四边缘节点;将所述数据发送到所述至少一个第四边缘节点进行备份,或者将所述数据迁移到所述第四边缘节点。
12.如权利要求7至11中任一项所述的***,其特征在于,还包括:
入口节点,用于接收访问所述数据的请求;在确认所述请求具有访问权限后,根据所述第一边缘节点、第二边缘节点、第三边缘节点以及第四边缘节点中的一个或多个的负载情况,确定为所述请求提供服务的边缘节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265989.4A CN108268209A (zh) | 2016-12-31 | 2016-12-31 | 一种cdn***中的数据存储方法及cdn*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265989.4A CN108268209A (zh) | 2016-12-31 | 2016-12-31 | 一种cdn***中的数据存储方法及cdn*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108268209A true CN108268209A (zh) | 2018-07-10 |
Family
ID=62770207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611265989.4A Pending CN108268209A (zh) | 2016-12-31 | 2016-12-31 | 一种cdn***中的数据存储方法及cdn*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268209A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756561A (zh) * | 2018-12-12 | 2019-05-14 | 北京世纪互联宽带数据中心有限公司 | 数据存储方法及其装置、电子设备、计算机可读介质 |
CN109981777A (zh) * | 2019-03-27 | 2019-07-05 | 深圳市网心科技有限公司 | 基于cdn的副本维护方法、服务器、副本存储节点以及*** |
CN110149407A (zh) * | 2019-05-24 | 2019-08-20 | 深圳市网心科技有限公司 | 网络接入方法及装置、计算机装置及存储介质 |
CN110601802A (zh) * | 2019-08-16 | 2019-12-20 | 网宿科技股份有限公司 | 一种降低集群回父带宽的方法及装置 |
CN111444043A (zh) * | 2020-03-27 | 2020-07-24 | 中移雄安信息通信科技有限公司 | 数据备份方法、装置、节点、***及介质 |
CN111597259A (zh) * | 2020-05-12 | 2020-08-28 | 北京爱奇艺科技有限公司 | 数据存储***、方法、装置、电子设备及存储介质 |
CN111726403A (zh) * | 2020-06-11 | 2020-09-29 | 深圳市赛宇景观设计工程有限公司 | 一种跨云平台的大数据管理的方法与*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127882A (zh) * | 2007-08-31 | 2008-02-20 | 中兴通讯股份有限公司 | 用于分布式网络电视***的分散存储方法及该*** |
CN101136932A (zh) * | 2006-10-20 | 2008-03-05 | 中兴通讯股份有限公司 | 一种集群式流媒体组网***及其内容发布和服务方法 |
CN102769669A (zh) * | 2012-07-03 | 2012-11-07 | Ut斯达康通讯有限公司 | 智能内容分发控制装置及*** |
CN103685368A (zh) * | 2012-09-10 | 2014-03-26 | 中国电信股份有限公司 | 用于迁移数据的方法及*** |
CN105930357A (zh) * | 2016-04-07 | 2016-09-07 | 深圳市慧动创想科技有限公司 | 分布式文件***及数据节点数据存储处理的方法、装置 |
-
2016
- 2016-12-31 CN CN201611265989.4A patent/CN108268209A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136932A (zh) * | 2006-10-20 | 2008-03-05 | 中兴通讯股份有限公司 | 一种集群式流媒体组网***及其内容发布和服务方法 |
CN101127882A (zh) * | 2007-08-31 | 2008-02-20 | 中兴通讯股份有限公司 | 用于分布式网络电视***的分散存储方法及该*** |
CN102769669A (zh) * | 2012-07-03 | 2012-11-07 | Ut斯达康通讯有限公司 | 智能内容分发控制装置及*** |
CN103685368A (zh) * | 2012-09-10 | 2014-03-26 | 中国电信股份有限公司 | 用于迁移数据的方法及*** |
CN105930357A (zh) * | 2016-04-07 | 2016-09-07 | 深圳市慧动创想科技有限公司 | 分布式文件***及数据节点数据存储处理的方法、装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756561A (zh) * | 2018-12-12 | 2019-05-14 | 北京世纪互联宽带数据中心有限公司 | 数据存储方法及其装置、电子设备、计算机可读介质 |
CN109756561B (zh) * | 2018-12-12 | 2022-10-14 | 北京世纪互联宽带数据中心有限公司 | 数据存储方法及其装置、电子设备、计算机可读介质 |
CN109981777A (zh) * | 2019-03-27 | 2019-07-05 | 深圳市网心科技有限公司 | 基于cdn的副本维护方法、服务器、副本存储节点以及*** |
CN110149407A (zh) * | 2019-05-24 | 2019-08-20 | 深圳市网心科技有限公司 | 网络接入方法及装置、计算机装置及存储介质 |
CN110601802A (zh) * | 2019-08-16 | 2019-12-20 | 网宿科技股份有限公司 | 一种降低集群回父带宽的方法及装置 |
CN110601802B (zh) * | 2019-08-16 | 2022-05-20 | 网宿科技股份有限公司 | 一种降低集群回父带宽的方法及装置 |
CN111444043A (zh) * | 2020-03-27 | 2020-07-24 | 中移雄安信息通信科技有限公司 | 数据备份方法、装置、节点、***及介质 |
CN111597259A (zh) * | 2020-05-12 | 2020-08-28 | 北京爱奇艺科技有限公司 | 数据存储***、方法、装置、电子设备及存储介质 |
CN111726403A (zh) * | 2020-06-11 | 2020-09-29 | 深圳市赛宇景观设计工程有限公司 | 一种跨云平台的大数据管理的方法与*** |
CN111726403B (zh) * | 2020-06-11 | 2021-01-29 | 和宇健康科技股份有限公司 | 一种跨云平台的大数据管理的方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268209A (zh) | 一种cdn***中的数据存储方法及cdn*** | |
US9495084B2 (en) | Method and apparatus for widget and widget-container distribution control based on content rules | |
US8156066B2 (en) | Rule-based content request handling | |
CN106506587A (zh) | 一种基于分布式存储的Docker镜像下载方法 | |
CN106325998B (zh) | 一种基于云计算的应用部署的方法和装置 | |
US20090165017A1 (en) | Stateless proportionally consistent addressing | |
US20150370872A1 (en) | Embeddable cloud analytics | |
CN102891869B (zh) | 一种内容分发网络及内容发布、调度方法 | |
CN106487850A (zh) | 一种云环境下获取镜像的方法、装置和*** | |
CN107819891A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US10162876B1 (en) | Embeddable cloud analytics | |
CN114586010A (zh) | 对象存储服务的输出路径中对象过滤代码的按需执行 | |
CN107818013A (zh) | 一种应用调度方法及装置 | |
US20220295133A1 (en) | Technologies for managing collaborative and multiplatform media content playlists | |
CN106960011A (zh) | 分布式文件***元数据管理***及方法 | |
CN107229649A (zh) | 数据更新***及方法 | |
CN107844542A (zh) | 一种分布式文件存储方法及装置 | |
CN106941522A (zh) | 轻量级分布式计算平台及其数据处理方法 | |
CN106940712A (zh) | 序列生成方法与设备 | |
CN107516048A (zh) | 一种控制分布式文件***中文件访问的方法与设备 | |
CN106888238A (zh) | 一种数据同步方法及装置 | |
Ohashi et al. | Token-based sharing control for IPFS | |
JP2005004615A (ja) | コンテンツ配信管理システム | |
CN103685453B (zh) | 一种云存储***中元数据的获取方法 | |
CN105516343A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180710 |