WO2016179894A1 - 基于cdn的内容管理系统 - Google Patents

基于cdn的内容管理系统 Download PDF

Info

Publication number
WO2016179894A1
WO2016179894A1 PCT/CN2015/084341 CN2015084341W WO2016179894A1 WO 2016179894 A1 WO2016179894 A1 WO 2016179894A1 CN 2015084341 W CN2015084341 W CN 2015084341W WO 2016179894 A1 WO2016179894 A1 WO 2016179894A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
server
module
client
content management
Prior art date
Application number
PCT/CN2015/084341
Other languages
English (en)
French (fr)
Inventor
洪珂
陈亮
林更新
Original Assignee
网宿科技股份有限公司
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 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to EP15891597.5A priority Critical patent/EP3296870B1/en
Priority to US15/570,961 priority patent/US20180293111A1/en
Publication of WO2016179894A1 publication Critical patent/WO2016179894A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • 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
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • 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

Definitions

  • the present invention relates to a content management system, and in particular to a content management system based on a CDN (Content Delivery Network).
  • CDN Content Delivery Network
  • CDN Code Division Multiple Access
  • the edge cache server performs file caching in the following two cases:
  • the client sends a push request to delete or expire the file in order to solve the update problem of the client source file
  • the cache file cannot be processed according to different cache types, such as live stream control, streaming format conversion, and image format conversion for streaming media content;
  • an object of the present invention is to provide a CDN-based content management system, which sends a target URL and an operation type to a distributed scheduling server (Master), and the Master server sends the task to the task according to the scheduling policy.
  • Master distributed scheduling server
  • Server Work Server
  • the task message is quickly distributed to all content cache servers (CacheServers), which receive content management instructions and manage cache files.
  • the present invention provides a CDN-based content management system including a distributed scheduling center, a big data center, a task execution server cluster, a distributed reliable coordination system, and a content cache server;
  • the scheduling center includes a plurality of distributed scheduling servers, configured to perform task scheduling according to client requests;
  • the big data center is configured to save client task request data, perform task data statistics and analysis; and the task execution server clusters are deployed in different regions.
  • the distributed reliable coordination system is used to save all the servers of the content management system a status and an attribute;
  • the content cache server is configured to cache a client's file, and the content cache server is configured with a content management client;
  • the content management client is configured to execute the task executed by the task execution server, and Feedback task results to the task Line server.
  • a distributed scheduling server in the distributed scheduling center, is elected as a central scheduling server, and when any distributed scheduling server fails, the central scheduling server selects other distributed servers.
  • the dispatching server takes over the work of the faulty distributed dispatching server; if the central dispatching server fails, the other distributed dispatching servers elect to elect a new central dispatching server to take over the previous work.
  • the distributed scheduling server comprises a system interface module, a task scheduling module, a policy module, a task execution load balancing module, and a subtask allocation module;
  • the system interface module is configured to receive and verify a client content management request, and save the task data, and add the task to the task queue;
  • the policy module is configured to generate different customer policies according to service configuration data and customer types
  • the task scheduling module is configured to acquire a task in the task queue according to the current client policy and configuration, initialize the task, and schedule the execution of the task;
  • the task execution load balancing module is configured to register a current load, a CPU, a memory, and a task distribution of the task execution server, and select a task execution server with a lowest integrated load to perform task distribution according to the same region and an operator priority principle;
  • the subtask assignment module is configured to split task data into sub-parts according to a region or an operator. And send out to the task execution server of the corresponding target, and maintain the relationship between the task execution server and the subtask.
  • the task assignment module splits task data according to an area or an operator in an alternative manner, and encodes using a json data exchange language, and adopts asynchronous communication. Way to send.
  • the task execution server includes a subtask receiving module, a task computing module, a message sending module, a task feedback module, and a cache module;
  • the subtask receiving module is configured to receive a subtask sent by the distributed scheduling server, and add the subtask to the task queue;
  • the task calculation module is configured to calculate a range of the content cache server covered by the task according to the client CDN acceleration information cached by the cache module, and generate a task instruction;
  • the message sending module is configured to send a task instruction to all target machines
  • the task feedback module is configured to receive a task result fed back by the content management client, and update the task progress according to the task result;
  • the cache module is configured to cache the status of each node in the CDN network, update the software and hardware fault status of all nodes in real time, save and update the customer's service configuration data in real time, and cache the calculation result of the task target.
  • the message sending module when the message sending module sends a task instruction to the target machine, if the client fails to respond or the instruction sends a timeout, causing the transmission to fail, the retry is repeated several times, when retrying Add task instructions back to the task queue.
  • the content management client comprises a protocol processing module, a task execution module, and a task feedback module;
  • the protocol processing module is configured to receive and parse a task instruction sent by the task execution server, and add the task instruction to the task queue;
  • the task execution module is configured to acquire a task in a task queue and execute the task
  • the task feedback module is configured to feed back a task result to the task execution server.
  • the CDN-based content management system wherein when the task execution module executes the task, it first needs to determine the task type; if it is a prefetch task, it starts to download the file, and periodically reports the download progress to the location.
  • the task execution server if the task is pushed, the flag file expires or is deleted; if the file verification task, the MD5 value of the corresponding file is calculated; Service, the format conversion according to the target file.
  • the execution flow of the prefetch task includes the following steps:
  • the customer submits a prefetch task request
  • the client's task request is forwarded to any distributed scheduling server through the load balancing server;
  • the distributed scheduling server verifies the task data, and forwards the task to the currently better task execution server according to the corresponding prefetch policy and the load and attribute information of the task execution server;
  • the task execution server calculates the acceleration range of the client in the CDN network, and finds the load balancing server where the acceleration node cache server is located, and queries the corresponding content cache server;
  • the load balancing server returns a corresponding content cache server ip;
  • the task execution server sends a prefetch instruction to the content management client of the content cache server; determines whether the file to be prefetched exists; if not, requests the file from the primary content cache server; the first level cache server determines whether the file exists. If it does not exist, request the file from the client source server.
  • the execution flow of the push task includes the following steps:
  • the customer submits a push task request
  • the client's task request is forwarded to any distributed scheduling server through the load balancing server;
  • the distributed scheduling server verifies the task data, and decomposes the task into multiple subtasks according to the regional or carrier information, and allocates the tasks to the plurality of task execution servers;
  • the task execution server calculates the acceleration range of the client in the CDN network according to the target area and the operator;
  • the task execution server sends a push instruction to the content management client of the primary content cache server, and the content management client pushes the cache file;
  • the CDN-based content management system of the present invention has the following beneficial effects:
  • NM central dispatch server
  • the distributed reliable coordination system is used to manage the cluster status.
  • the cluster monitors all machine service status internally.
  • the Bully algorithm is used in the master cluster to elect the master server with the largest number to take over the global transaction coordination. Active/standby replacement combined with Master intelligent scheduling to achieve high system availability;
  • the master server receives the client request, and according to the load balancing, the scheduling policy and the operator decompose the task and send it to different Work servers, thereby utilizing the area and the operator of the Work server to reliably and efficiently perform the sending task and solve the cross-operator.
  • the problem of unreliable networks
  • FIG. 1 is a schematic structural diagram of a CDN-based content management system of the present invention
  • FIG. 2 is a schematic structural view of a Master server according to the present invention.
  • FIG. 4 is a schematic structural view of a Work server of the present invention.
  • Figure 5 is a flow chart showing the operation of the Work server of the present invention.
  • FIG. 7 is a schematic structural diagram of a content management client Beacon according to the present invention.
  • Figure 8 is a flow chart showing a preferred embodiment of the prefetch operation of the present invention.
  • Figure 9 shows a flow chart of a preferred embodiment of the push operation of the present invention.
  • the CDN-based content management system of the present invention includes a distributed dispatch center 1, a big data center 2, a task execution server cluster (Work cluster) 3, a distributed reliable coordination system 4, and a content cache server (CacheServer) 5.
  • a distributed dispatch center 1, a big data center 2, a task execution server cluster (Work cluster) 3, a distributed reliable coordination system 4, and a content cache server (CacheServer) 5.
  • Work cluster task execution server cluster
  • cacheServer content cache server
  • the distributed dispatch center 1 includes a plurality of distributed dispatch servers (Master servers) for performing task scheduling according to client requests.
  • the main function of the Master server is responsible for task receiving parsing and data.
  • Storage responsible for cluster management, scheduling tasks and managing task lifecycles.
  • multiple distributed scheduling servers can increase system throughput and ensure high availability by horizontally spreading distribution.
  • the front-end uses a reverse proxy for load balancing, so that client requests are evenly distributed across multiple distributed scheduling servers.
  • a master server is elected as a central dispatch server (NameMaster).
  • the NameMaster listens to information about all Master servers in the cluster. If any Master server fails, the NameMaster selects another Master to take over the work of the failed Master server according to the load status. If the NameMaster fails, the other Masters use the bulky algorithm to perform the election. After the election is completed, the new NameMaster takes over the previous work.
  • the Big Data Center 2 is used to store a large amount of customer task request data, and perform task data statistics and analysis.
  • the Work Cluster 3 is deployed in different areas and carriers, and is configured to receive task conversion instructions sent by the distributed scheduling server, and send and send task instructions to the content cache server of the corresponding area and the operator.
  • the distributed reliable coordination system 4 is used to save the state and attributes of all servers of the content management system.
  • the content management client Beacon is configured to execute the task delivered by the Work server, and feed back the task result to the Work server.
  • a typical CDN network there will be a multi-layer cache architecture.
  • a two-layer architecture is taken as an example, and is simply referred to as a primary cache and a secondary cache, but is not limited to a two-tier cache architecture.
  • the content caching server can include a multi-tiered caching architecture according to specific needs.
  • the Master server includes a system interface module 11, a task scheduling module 12, a policy module 13, a task execution load balancing module 14, and a subtask assignment module 15.
  • the task scheduling module 12 is connected to the system interface module 11, the policy module 13, and the Work load balancing module 14, respectively, and the Work load balancing module 14 is further connected to the subtask assignment module 15.
  • the system interface module 11 is configured to receive and verify customer content management requests, and save task data while adding tasks to the task queue.
  • the task scheduling module 12 is configured to acquire tasks in the task queue according to the current client policy and configuration, initialize the tasks, and schedule execution tasks.
  • the policy module 13 is configured to generate different customer policies according to the service configuration data and the client type for use by the task scheduling module.
  • the service configuration data includes, but is not limited to, a customer area acceleration range, a client level, and the like; the client types include, but are not limited to, web pages, pictures, downloads, on-demand, and live broadcasts.
  • the Work load balancing module 14 is configured to register the current load, CPU, memory, and task distribution of the Work server, and select the integrated workload minimum Work Server to perform task distribution according to the same region and operator priority.
  • ZooKeeper is a distributed, open source distributed application coordination service, an open source implementation of Google's Chubby, an important component of Hadoop and Hbase.
  • ZooKeeper is a software that provides consistent services for distributed applications, including: configuration maintenance, name service, distributed synchronization, group services, and more.
  • the subtask assignment module 15 is configured to split the task data into subtasks according to the area or the operator, and send the task data to the corresponding target Work server, and maintain the association relationship between the Work server and the subtask.
  • the subtask assignment module 15 splits the task data according to the region or the operator in an alternative manner, and encodes the data in the json data exchange language, and transmits the data in an asynchronous communication manner.
  • the workflow of the Master server includes the following steps:
  • the content management request includes, but is not limited to, push, prefetch, file check (coverage) request, and the like.
  • the task is decomposed into subtasks according to the attributes of the registered Work server, the current load status of the operator and the Work server, and the subtasks generated by the decomposition are sent to the corresponding Work server, and saved.
  • the Work server includes a subtask receiving module 31, a task computing module 32, a message sending module 33, a task feedback module 34, and a caching module 35.
  • the task calculation module 32 is connected to the subtask receiving module 31, the message sending module 33, and the cache module 35, and the message sending module 33 is further connected to the task feedback module 34.
  • the subtask receiving module 31 is configured to receive the subtask sent by the master server and add it to the task queue.
  • the task calculation module 32 is configured to calculate a range of the content cache server covered by the task according to the client CDN acceleration information cached by the cache module, and generate a task instruction.
  • the message sending module 33 is used to send task instructions to all target machines.
  • the message sending module 33 uses a highly efficient JAVA NIO asynchronous communication mechanism to send task instructions to all target machines using a multi-channel, proprietary protocol.
  • the task feedback module 34 is configured to receive the task result fed back by the content management client, and update the task progress according to the task result. Specifically, the task feedback module receives the task result fed back by the content management client by using the JAVA NIO asynchronous communication mechanism, and updates the task progress according to the task result.
  • the cache module 35 is configured to cache the status of each node in the CDN network, update the software and hardware fault status of all nodes in real time, save and update the customer's service configuration data in real time, and cache the calculation result of the task target.
  • the main function of the Work server is to receive tasks assigned by the distributed dispatch center, calculate task targets, construct task instructions and send them to the target machine, collect task results, and feed back to the distributed dispatch center.
  • the workflow of the Work server includes the following steps:
  • the message sending module establishes a connection with the target machine in a one-to-many manner, and sends task instructions accurately and efficiently.
  • the workflow of the message sending module includes the following steps:
  • step 62 determining whether a connection is established with the target machine; if yes, proceeding to step 64); if not, proceeding to step 63);
  • the content management client Beacon deployed on the content cache server includes a protocol processing module 51, a task execution module 52, and a task feedback module 53 that are sequentially connected.
  • the protocol processing module 51 is configured to receive and parse the task instructions sent by the Work server and add them to the task queue.
  • the task execution module 52 is configured to acquire tasks in the task queue and execute tasks.
  • the task feedback module 53 is configured to feed back the task results to the Work server.
  • the processing flow of the task execution module 52 is as follows:
  • the content of the file is cached first on the content cache server before the terminal client accesses. This operation is called prefetching. Referring to FIG. 8, for the prefetch task, the example execution flow is as follows:
  • the client submits a prefetching task request through an API or a page, such as http://www.a.com/test.flv;
  • the client's task request is forwarded to any Master server through a load balancing server such as lvs;
  • the Master server verifies the task data, and forwards the task to the currently preferred Work server according to the corresponding prefetch policy and the Work load and attribute information registered by ZooKeeper;
  • the Work server calculates the acceleration range of the client in the CDN network, and finds the load balancing server where the acceleration node cache server is located, and asks the corresponding content of the prefetch url: http://www.a.com/test.flv hash. Cache server;
  • the load balancing server returns the corresponding content cache server ip to 2.2.2.2;
  • the Work server sends a prefetch instruction to the content management client of the content cache server according to the ip address of the content cache server that is calculated and interrogated, and uses the high performance asynchronous communication and the private protocol; the content cache server determines whether the file already exists http ://www.a.com/test.flv; if it does not exist, request the file from the primary content cache server 1.1.1.1;
  • the Level 1 cache server determines whether the file exists, and if it does not exist, requests the file from the client source server, that is, directly downloads the file test.flv file to the customer domain name www.a.com.
  • the customer submits a push task request through an API or a page, such as http://www.a.com/test.flv;
  • the client's request is forwarded to any Master server through a load balancing server such as lvs;
  • the Master server verifies the task data, and according to the corresponding push policy and the information of the load, attribute, carrier, etc. registered in the ZooKeeper, the task is decomposed into multiple subtasks and distributed to several Work servers;
  • the Work server calculates the acceleration range of the client in the CDN network
  • the Work server uses the high-performance asynchronous communication and the private protocol to send the push instruction to the content management client of the primary content cache server, and the content management client pushes the cache file;
  • the CDN-based content management system of the present invention provides an overall content cache server content management system, which can manage the entire life cycle of the cache file of the content cache server according to different media types; Range and file popularity, providing precise range, granular traffic control and hotspot prefetching to enhance the customer's first access experience; using high-performance asynchronous communication, compressed privatization protocol, multi-channel architecture for task distribution, It satisfies the throughput and timeliness requirements of mass content management tasks; by providing content cache file coverage verification function, it can verify the file coverage of content cache nodes under current service conditions at any time; it can target different media such as pictures, Video, live broadcast, web page and other types of files, providing different types of management operations You can increase the throughput of your system by scaling out the Work Server without modifying the code and stopping the service. Therefore, the present invention effectively overcomes various shortcomings in the prior art and has high industrial utilization value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种基于CDN的内容管理系统,包括分布式调度中心、大数据中心、任务执行服务器集群、分布式可靠协调系统和内容缓存服务器;所述分布式调度中心用于根据客户请求进行任务调度;所述大数据中心用于保存客户任务请求数据;所述任务执行服务器集群用于接收分布式调度服务器发送的任务转换指令,并发送任务指令到对应区域和运营商的所述内容缓存服务器;所述分布式可靠协调系统用于保存内容管理系统的所有服务器的状态及属性;所述内容缓存服务器用于缓存客户的文件。本发明的基于CDN的内容管理系统能够实现对缓存文件有效管理。

Description

基于CDN的内容管理系统 技术领域
本发明涉及一种内容管理系统,特别是涉及一种基于CDN(Content Delivery Network,内容分发网络)的内容管理系统。
背景技术
随着互联网的蓬勃发展,通过网络来浏览网页、收听音乐、收看视频的用户越来越大。为了保证用户可以快速获取到网络信息,越来越多互联网网站需要通过CDN进行加速。CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。具体地,CDN通过采用边缘节点缓存客户数据的方式来提高客户端浏览器的访问速度。
现有技术中,边缘缓存服务器在以下两种情况下进行文件缓存:
一、客户发出推送请求,为解决客户源文件的更新问题,进行文件删除或过期处理;
二、通过预测分析可能存在的热点,进行预取操作,以提高客户端第一次访问体验。
然而,上述方式导致边缘服务器缓存了客户大量的缓存文件,存在以下不足:
(1)现有CDN产品缺少对边缘服务器的内容管理,不能对缓存文件进行整个生命周期的管理;
(2)无法根据不同缓存类型对缓存文件进行针对性处理,如针对流媒体内容进行直播流控制、流媒体格式转换、图片格式转化等处理;
(3)对缓存文件的预取功能无法实现范围精确控制、精细流量控制,以及冷热预取。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于CDN的内容管理系统,通过发送目标URL和操作类型到分布式调度服务器(Master),Master服务器根据调度策略发送到任务执行服务器(Work),Work服务器再尽 快分发任务消息到所有内容缓存服务器(CacheServer),CacheServer服务器接收内容管理指令并对缓存文件进行管理。
为实现上述目的及其他相关目的,本发明提供一种基于CDN的内容管理系统,包括分布式调度中心、大数据中心、任务执行服务器集群、分布式可靠协调系统和内容缓存服务器;所述分布式调度中心包括多个分布式调度服务器,用于根据客户请求进行任务调度;所述大数据中心用于保存客户任务请求数据,进行任务数据的统计和分析;所述任务执行服务器集群部署在不同区域和运营商,用于接收分布式调度服务器发送的任务转换指令,并发送任务指令到对应区域和运营商的所述内容缓存服务器;所述分布式可靠协调系统用于保存内容管理系统的所有服务器的状态及属性;所述内容缓存服务器用于缓存客户的文件,所述内容缓存服务器上部署有内容管理客户端;所述内容管理客户端用于执行所述任务执行服务器下发的任务,并反馈任务结果至所述任务执行服务器。
根据上述的基于CDN的内容管理系统,其中:所述分布式调度中心中,选举一台分布式调度服务器作为中央调度服务器,在任意一台分布式调度服务器故障时,中央调度服务器选择其他分布式调度服务器接管故障分布式调度服务器的工作;若中央调度服务器故障,则其他分布式调度服务器进行选举一个新的中央调度服务器接管之前的工作。
根据上述的基于CDN的内容管理系统,其中:所述分布式调度服务器包括系统接口模块、任务调度模块、策略模块、任务执行负载均衡模块和子任务分配模块;
所述系统接口模块用于接收和验证客户内容管理请求,并保存任务数据,同时将任务添加到任务队列中;
所述策略模块用于根据业务配置数据和客户类型生成不同的客户策略;
所述任务调度模块用于根据当前客户策略与配置,获取任务队列中的任务,初始化任务并调度执行任务;
所述任务执行负载均衡模块用于登记所述任务执行服务器当前的负载、CPU、内存和任务分发情况,并根据同一区域和运营商优先的原则,选择综合负载最低的任务执行服务器执行任务分发;
所述子任务分配模块用于将任务数据根据区域或运营商进行拆分为子任 务,并发送出到对应目标的任务执行服务器上,并维护任务执行服务器与子任务的关联关系。
进一步地,根据上述的基于CDN的内容管理系统,其中:所述任务分配模块将任务数据根据区域或运营商以二选一的方式进行拆分,并采用json数据交换语言进行编码,采用异步通信方式进行发送。
根据上述的基于CDN的内容管理系统,其中:所述任务执行服务器包括子任务接收模块、任务计算模块、消息发送模块、任务反馈模块和缓存模块;
所述子任务接收模块用于接收分布式调度服务器发送的子任务,并添加到任务队列中;
所述任务计算模块用于根据所述缓存模块缓存的客户CDN加速信息,计算任务的所覆盖的内容缓存服务器的范围,并生成任务指令;
所述消息发送模块用于发送任务指令到所有的目标机器;
所述任务反馈模块用于接收内容管理客户端反馈的任务结果,并根据任务结果更新任务进度;
所述缓存模块用于缓存CDN网络中各个节点的状态,实时更新所有节点的软硬件故障状态;保存和实时更新客户的业务配置数据,以及缓存任务目标的计算结果。
进一步地,根据上述的基于CDN的内容管理系统,其中:所述消息发送模块向目标机器发送任务指令时,若客户端反馈失败或指令发送超时导致发送失败,则重试若干次,重试时将任务指令重新添加到任务队列中。
根据上述的基于CDN的内容管理系统,其中:所述内容管理客户端包括协议处理模块、任务执行模块和任务反馈模块;
所述协议处理模块用于接收并解析任务执行服务器发送的任务指令,并添加到任务队列中;
所述任务执行模块用于获取任务队列中任务,并执行任务;
所述任务反馈模块用于向所述任务执行服务器反馈任务结果。
根据权利要求7所述的基于CDN的内容管理系统,其特征在于:所述任务执行模块执行任务时,首先需判断任务类型;若是预取任务,则开始下载文件,并定时汇报下载进度到所述任务执行服务器;若是推送任务,则标志文件过期或删除;若是文件校验任务,则计算对应文件的MD5值;若是文件转化任 务,则根据目标文件进行格式转化。
进一步地,根据上述的基于CDN的内容管理系统,其中:所述预取任务的执行流程包括以下步骤:
客户提交预取任务请求;
客户的任务请求通过负载均衡服务器转发到任意一台分布式调度服务器;
分布式调度服务器校验任务数据,并根据对应的预取策略与任务执行服务器的负载与属性信息,将任务转发到当前较优的任务执行服务器;
任务执行服务器计算客户在CDN网络中的加速范围,并找到加速节点缓存服务器所在的负载均衡服务器,询问对应的内容缓存服务器;
负载均衡服务器返回对应的内容缓存服务器ip;
任务执行服务器发送预取指令到内容缓存服务器的内容管理客户端;判断所要预取的文件是否存在;如果不存在,则向一级内容缓存服务器请求该文件;一级缓存服务器判断是否存在该文件,如果不存在,则向客户源服务器请求该文件。
进一步地,根据上述的基于CDN的内容管理系统,其中:所述推送任务的执行流程包括以下步骤:
客户提交推送任务请求;
客户的任务请求通过负载均衡服务器转发到任意一台分布式调度服务器;
分布式调度服务器校验任务数据,并根据区域或运营商信息将任务分解为多个子任务,并分配到若干个的任务执行服务器上;
任务执行服务器根据目标区域和运营商计算客户在CDN网络中的加速范围;
任务执行服务器发送推送指令到一级内容缓存服务器的内容管理客户端上,内容管理客户端推送缓存文件;
当完成所有的一级内容缓存服务器推送后,再发送指令到二级内容缓存服务器推送文件。
如上所述,本发明的基于CDN的内容管理系统,具有以下有益效果:
(1)采用分布式Master-Work架构,部署任意多台Master服务器与Work服务器,多个Master服务器组成分布式调度中心,其中选举一台Master服务器作为中央调度服务器(NameMaster,简称NM),负责全局事务管理,可横向扩 展服务器,提高系统吞吐量;
(2)支持预取、推送、文件校验(覆盖率)、图片格式转换、视频转换、直播控制等内容管理请求,且通过增加Work服务器和扩展缓存服务器客户端Beacon的方式,快速添加缓存管理功能;
(3)采用分布式可靠协调系统来管理集群状态,集群内部监听所有机器服务状态,当出现故障时,在Master集群中采用Bully算法选举编号最大的Master服务器接管全局事物协同,在Work集群中采用主备替换与Master智能调度方式相结合,以实现系统高可用性;
(4)Master服务器接收客户请求,并根据负载均衡,调度策略与运营商分解任务并发送到不同Work服务器,从而利用Work服务器所在区域与运营商,可靠、高效地进行发送任务,解决跨运营商网络不可靠的问题;
(5)采用大数据中心保存任务数据,解决日益增长的内容管理需求,且通过大数据中心能够实时统计客户实时运行状态,并对客户的内容管理需求进行挖掘与分析。
附图说明
图1显示为本发明的基于CDN的内容管理系统的结构示意图;
图2显示为本发明的Master服务器的结构示意图;
图3显示为本发明的Master服务器的工作流程图;
图4显示为本发明的Work服务器的结构示意图;
图5显示为本发明的Work服务器的工作流程图;
图6显示为本发明的消息发送模块的工作流程图;
图7显示为本发明的内容管理客户端Beacon的结构示意图;
图8显示为本发明中预取操作的一个优选实施例的流程图;
图9显示为本发明中推送操作的一个优选实施例的流程图。
元件标号说明
1    分布式调度中心
2    大数据中心
3    任务执行服务器集群
4    分布式可靠协调系统
5    内容缓存服务器
11   系统接口模块
12   任务调度模块
13   策略模块
14   Work负载均衡模块
15   子任务分配模块
31   子任务接收模块
32   任务计算模块
33   消息发送模块
34   任务反馈模块
35   缓存模块
51   协议处理模块
52   任务执行模块
53   任务反馈模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参照图1,本发明的基于CDN的内容管理系统包括分布式调度中心1、大数据中心2、任务执行服务器集群(Work集群)3、分布式可靠协调系统4和内容缓存服务器(CacheServer)5。
分布式调度中心1包括多个分布式调度服务器(Master服务器),用于根据客户请求进行任务调度。Master服务器的主要功能是负责任务接收解析和数据 存储,负责集群管理,对任务调度并管理任务生命周期。具体地,多台分布式调度服务器通过横向扩展分布,可以增加系统吞吐量并保证高可用性。同时,前端采用反向代理进行负载均衡,使客户请求均匀分布在多个分布式调度服务器上。
在分布式调度中心1中,选举一台Master服务器作为中央调度服务器(NameMaster)。NameMaster监听集群内所有Master服务器的信息。若发现任意一台Master服务器故障,NameMaster则根据负载情况,选择其他Master接管故障Master服务器的工作;若NameMaster故障,则其他Master采用bully算法进行选举,当完成选举后新NameMaster接管之前的工作。
大数据中心2用于保存海量的客户任务请求数据,进行任务数据的统计和分析。
Work集群3部署在不同区域和运营商,用于接收分布式调度服务器发送来的任务转换指令,并经过计算发送任务指令到对应区域和运营商的内容缓存服务器。
分布式可靠协调系统4用于保存内容管理系统的所有服务器的状态及属性。
内容缓存服务器5,其上部署有内容管理客户端Beacon,用于缓存客户的文件。
具体地,内容管理客户端Beacon用于执行Work服务器下发的任务,并反馈任务结果至Work服务器。在一般的CDN网络中,会存在多层缓存架构。本发明中,采用两层架构作为实例,并简称为一级缓存和二级缓存,但是不局限两层缓存架构。内容缓存服务器可根据具体需要包括多层缓存架构。
参照图2,Master服务器包括系统接口模块11、任务调度模块12、策略模块13、任务执行(Work)负载均衡模块14和子任务分配模块15。其中,任务调度模块12分别与系统接口模块11、策略模块13和Work负载均衡模块14相连,Work负载均衡模块14再与子任务分配模块15相连。
系统接口模块11用于接收和验证客户内容管理请求,并保存任务数据,同时将任务添加到任务队列中。
任务调度模块12用于根据当前客户策略与配置,获取任务队列中的任务,初始化任务并调度执行任务。
策略模块13用于根据业务配置数据和客户类型生成不同的客户策略,供任务调度模块使用。
具体地,业务配置数据包括但不限于客户区域加速范围、客户级别等;客户类型包括但不限于网页、图片、下载、点播和直播。
Work负载均衡模块14用于登记Work服务器当前的负载、CPU、内存和任务分发情况,并根据同一区域和运营商优先的原则,选择综合负载最低Work服务器执行任务分发。
具体地,Master服务器通过Zookeeper登记Work服务器当前的负载、CPU、内存和任务分发情况。其中,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。ZooKeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
子任务分配模块15用于将任务数据根据区域或运营商进行拆分为子任务,并发送到对应目标Work服务器上,并维护Work服务器与子任务的关联关系。
具体地,子任务分配模块15将任务数据根据区域或运营商以二选一的方式进行拆分,并采用json数据交换语言进行编码,采用异步通信方式进行发送。
由于保存了子任务与Work服务器的关联关系,当Work服务器故障时,可根据子任务与Work服务器的关联关系来恢复任务。
参照图3,Master服务器的工作流程包括以下步骤:
31)接收客户提交的内容管理请求;
其中,内容管理请求包括但不限于推送、预取、文件校验(覆盖率)请求等等。
32)解析验证内容管理请求;
33)生成任务并保存到数据库中,同时添加到当前任务对应的任务队列中;
34)获取各个任务队列中的任务,根据客户策略与配置判断是否符合运行条件;
35)如果符合运行条件,则根据注册的Work服务器的属性、所属运营商及Work服务器的当前负载状态,将任务分解为子任务;将分解生成的子任务发送到对应的Work服务器上,并保存子任务与Work服务器的关联关系;
36)若不符合运行条件,则不执行任何操作。
参照图4,Work服务器包括子任务接收模块31、任务计算模块32、消息发送模块33、任务反馈模块34和缓存模块35。其中,任务计算模块32分别与子任务接收模块31、消息发送模块33和缓存模块35相连,消息发送模块33再与任务反馈模块34相连。
子任务接收模块31用于接收Master服务器发送的子任务,并添加到任务队列中。
任务计算模块32用于根据缓存模块缓存的客户CDN加速信息,计算任务的所覆盖的内容缓存服务器的范围,并生成任务指令。
消息发送模块33用于发送任务指令到所有的目标机器。
具体地,消息发送模块33使用高效的JAVA NIO异步通信机制,采用多通道、私有协议发送任务指令到所有的目标机器。
任务反馈模块34用于接收内容管理客户端反馈的任务结果,并根据任务结果更新任务进度。具体地,任务反馈模块用JAVA NIO异步通信机制接收内容管理客户端反馈的任务结果,并根据任务结果更新任务进度。
缓存模块35用于缓存CDN网络中各个节点的状态,实时更新所有节点的软硬件故障状态;保存和实时更新客户的业务配置数据,以及缓存任务目标的计算结果。
Work服务器的主要功能是接收分布式调度中心指派的任务,计算任务目标,构造任务指令并发送到目标机器,收集任务结果,并反馈到分布式调度中心的工作。参照图5,Work服务器的工作流程包括以下步骤:
51)接收并解析Master服务器发送来的子任务,并添加到任务队列中;
52)获取任务队列中的任务,根据缓存模块的业务信息,计算客户在当前策略下的目标内容缓存服务器的信息;
53)根据任务类型生成任务指令;
54)将任务指令添加到消息发送模块。
消息发送模块以一对多的方式,与目标机器建立连接,并准确高效的发送任务指令。参照图6,消息发送模块的工作流程包括以下步骤:
61)从任务队列中获取待发送任务指令;
62)判断是否与目标机器建立连接;若是,转入步骤64);若否,转入步骤63);
63)新建一个与目标机器的连接;
64)采用私有协议异步发送任务指令至目标机器;
65)判断任务指令是否发送成功;若是,流程结束;若客户端反馈失败或指令发送超时导致发送失败,则重试若干次,重试时将任务指令重新添加到任务队列中。
参照图7,部署在内容缓存服务器上的内容管理客户端Beacon包括依次连接的协议处理模块51、任务执行模块52和任务反馈模块53。
协议处理模块51用于接收并解析Work服务器发送的任务指令,并添加到任务队列中。
任务执行模块52用于获取任务队列中任务,并执行任务。
任务反馈模块53用于向Work服务器反馈任务结果。
具体地,任务执行模块52的处理流程如下:
1)判断任务类型;
2)若是预取任务,则开始下载文件,并定时汇报下载进度到Work服务器;
3)若是推送任务,则标志文件过期;
4)若是文件校验任务,则计算对应文件的MD5值;
5)若是文件转化任务,则根据目标文件进行格式转化。
在内容分发网络中,为了提高终端客户一次访问的体验,会先于终端客户访问,将文件内容先缓存到内容缓存服务器上,该操作称为预取。参照图8,对于预取任务,其示例执行流程如下:
81)客户通过API或者页面提交预取任务请求,如http://www.a.com/test.flv;
82)客户的任务请求通过负载均衡服务器如lvs转发到任意一台Master服务器;
83)Master服务器校验任务数据,并根据对应的预取策略与ZooKeeper登记的Work负载与属性信息,将任务转发到当前较优的Work服务器;
84)Work服务器计算客户在CDN网络中的加速范围,并找到加速节点缓存服务器所在的负载均衡服务器,询问预取url:http://www.a.com/test.flv哈希后的对应内容缓存服务器;
85)负载均衡服务器返回对应的内容缓存服务器ip为2.2.2.2;
86)Work服务器根据计算与询问到的内容缓存服务器的ip地址,使用高性能异步通信与私有协议,发送预取指令到内容缓存服务器的内容管理客户端;内容缓存服务器判断是否已经存在该文件http://www.a.com/test.flv;如果不存在,则向一级内容缓存服务器1.1.1.1请求该文件;
87)一级缓存服务器判断是否存在该文件,如果不存在则向客户源服务器请求文件,即直接到客户域名www.a.com下载文件test.flv文件。
在内容分发网络中,当客户文件发生变更后,需要对在CDN网络中缓存文件做过期或删除处理,该操作称为推送。参照图9,对于推送任务,其示例流程如下:
91)客户通过API或者页面提交推送任务请求,如http://www.a.com/test.flv;
92)客户的请求通过负载均衡服务器如lvs转发到任意一台Master服务器;
93)Master服务器校验任务数据,并根据对应的推送策略与ZooKeeper中登记Work服务器的负载、属性、运营商等信息,将任务分解为多个子任务,并分配到若干个的Work服务器上;
94)Work服务器计算客户在CDN网络中的加速范围;
95)Work服务器使用高性能异步通信与私有协议发送推送指令到一级内容缓存服务器的内容管理客户端上,内容管理客户端推送缓存文件;
96)当完成所有的一级内容缓存服务器推送后,再发送指令到二级内容缓存服务器推送文件。
需要说明的是,上述示例仅以两层缓存架构来说明。对于多层缓存架构,可依次推送文件至多级内容缓存服务器上。
综上所述,本发明的基于CDN的内容管理系统提供了一套整体的内容缓存服务器内容管理系统,能够根据不同的媒体类型管理内容缓存服务器的缓存文件的整个生命周期;根据源站的加速范围和文件热度,能够提供精确的范围、精细流量控制和热点预取功能,提高客户的第一次访问体验;使用高性能异步通信,采用压缩的私有化协议,采用多通道架构进行任务分发,满足了海量内容管理任务的吞吐量和时效要求;通过提供内容缓存文件覆盖率校验功能,能够在任意时刻校验当前服务情况下,内容缓存节点的文件覆盖情况;能够针对不同媒体如图片、视频、直播、网页等类型的文件,提供不同类型的管理操 作;可以在不需修改代码和停止服务的情况下,可以通过横向扩展Work服务器,提高系统的吞吐量。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

  1. 一种基于CDN的内容管理系统,其特征在于:包括分布式调度中心、大数据中心、任务执行服务器集群、分布式可靠协调系统和内容缓存服务器;
    所述分布式调度中心包括多个分布式调度服务器,用于根据客户请求进行任务调度;
    所述大数据中心用于保存客户任务请求数据,进行任务数据的统计和分析;
    所述任务执行服务器集群部署在不同区域和运营商,用于接收分布式调度服务器发送的任务转换指令,并发送任务指令到对应区域和运营商的所述内容缓存服务器;
    所述分布式可靠协调系统用于保存内容管理系统的所有服务器的状态及属性;
    所述内容缓存服务器用于缓存客户的文件,所述内容缓存服务器上部署有内容管理客户端;所述内容管理客户端用于执行所述任务执行服务器下发的任务,并反馈任务结果至所述任务执行服务器。
  2. 根据权利要求1所述的基于CDN的内容管理系统,其特征在于:所述分布式调度中心中,选举一台分布式调度服务器作为中央调度服务器,在任意一台分布式调度服务器故障时,中央调度服务器选择其他分布式调度服务器接管故障分布式调度服务器的工作;若中央调度服务器故障,则其他分布式调度服务器进行选举一个新的中央调度服务器接管之前的工作。
  3. 根据权利要求1所述的基于CDN的内容管理系统,其特征在于:所述分布式调度服务器包括系统接口模块、任务调度模块、策略模块、任务执行负载均衡模块和子任务分配模块;
    所述系统接口模块用于接收和验证客户内容管理请求,并保存任务数据,同时将任务添加到任务队列中;
    所述策略模块用于根据业务配置数据和客户类型生成不同的客户策略;
    所述任务调度模块用于根据当前客户策略与配置,获取任务队列中的任 务,初始化任务并调度执行任务;
    所述任务执行负载均衡模块用于登记所述任务执行服务器当前的负载、CPU、内存和任务分发情况,并根据同一区域和运营商优先的原则,选择综合负载最低的任务执行服务器执行任务分发;
    所述子任务分配模块用于将任务数据根据区域或运营商进行拆分为子任务,并发送出到对应目标的任务执行服务器上,并维护任务执行服务器与子任务的关联关系。
  4. 根据权利要求3所述的基于CDN的内容管理系统,其特征在于:所述任务分配模块将任务数据根据区域或运营商以二选一的方式进行拆分,并采用json数据交换语言进行编码,采用异步通信方式进行发送。
  5. 根据权利要求1所述的基于CDN的内容管理系统,其特征在于:所述任务执行服务器包括子任务接收模块、任务计算模块、消息发送模块、任务反馈模块和缓存模块;
    所述子任务接收模块用于接收分布式调度服务器发送的子任务,并添加到任务队列中;
    所述任务计算模块用于根据所述缓存模块缓存的客户CDN加速信息,计算任务的所覆盖的内容缓存服务器的范围,并生成任务指令;
    所述消息发送模块用于发送任务指令到所有的目标机器;
    所述任务反馈模块用于接收内容管理客户端反馈的任务结果,并根据任务结果更新任务进度;
    所述缓存模块用于缓存CDN网络中各个节点的状态,实时更新所有节点的软硬件故障状态;保存和实时更新客户的业务配置数据,以及缓存任务目标的计算结果。
  6. 根据权利要求5所述的基于CDN的内容管理系统,其特征在于:所述消息发送模块向目标机器发送任务指令时,若客户端反馈失败或指令发送超时导致发送失败,则重试若干次,重试时将任务指令重新添加到任务队列中。
  7. 根据权利要求1所述的基于CDN的内容管理系统,其特征在于:所述内容管理客户端包括协议处理模块、任务执行模块和任务反馈模块;
    所述协议处理模块用于接收并解析任务执行服务器发送的任务指令,并添加到任务队列中;
    所述任务执行模块用于获取任务队列中任务,并执行任务;
    所述任务反馈模块用于向所述任务执行服务器反馈任务结果。
  8. 根据权利要求7所述的基于CDN的内容管理系统,其特征在于:所述任务执行模块执行任务时,首先需判断任务类型;若是预取任务,则开始下载文件,并定时汇报下载进度到所述任务执行服务器;若是推送任务,则标志文件过期或者删除;若是文件校验任务,则计算对应文件的MD5值;若是文件转化任务,则根据目标文件进行格式转化。
  9. 根据权利要求8所述的基于CDN的内容管理系统,其特征在于:所述预取任务的执行流程包括以下步骤:
    客户提交预取任务请求;
    客户的任务请求通过负载均衡服务器转发到任意一台分布式调度服务器;
    分布式调度服务器校验任务数据,并根据对应的预取策略与任务执行服务器的负载与属性信息,将任务转发到当前较优的任务执行服务器;
    任务执行服务器计算客户在CDN网络中的加速范围,并找到加速节点缓存服务器所在的负载均衡服务器,询问对应的内容缓存服务器;
    负载均衡服务器返回对应的内容缓存服务器ip;
    任务执行服务器发送预取指令到内容缓存服务器的内容管理客户端;判断所要预取的文件是否存在;如果不存在,则向一级内容缓存服务器请求该文件;一级缓存服务器判断是否存在该文件,如果不存在,则向客户源服务器请求该文件。
  10. 根据权利要求8所述的基于CDN的内容管理系统,其特征在于:所述推送任务的执行流程包括以下步骤:
    客户提交推送任务请求;
    客户的任务请求通过负载均衡服务器转发到任意一台分布式调度服务器;
    分布式调度服务器校验任务数据,并根据区域或运营商信息将任务分解为多个子任务,并分配到若干个的任务执行服务器上;
    任务执行服务器根据目标区域和运营商计算客户在CDN网络中的加速范围;
    任务执行服务器发送推送指令到一级内容缓存服务器的内容管理客户端上,内容管理客户端推送缓存文件;
    当完成所有的一级内容缓存服务器推送后,再发送指令到二级内容缓存服务器推送文件。
PCT/CN2015/084341 2015-05-12 2015-07-17 基于cdn的内容管理系统 WO2016179894A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15891597.5A EP3296870B1 (en) 2015-05-12 2015-07-17 Cdn-based content management system
US15/570,961 US20180293111A1 (en) 2015-05-12 2015-07-17 Cdn-based content management system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510239665.2A CN104834722B (zh) 2015-05-12 2015-05-12 基于cdn的内容管理系统
CN201510239665.2 2015-05-12

Publications (1)

Publication Number Publication Date
WO2016179894A1 true WO2016179894A1 (zh) 2016-11-17

Family

ID=53812608

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/084341 WO2016179894A1 (zh) 2015-05-12 2015-07-17 基于cdn的内容管理系统

Country Status (4)

Country Link
US (1) US20180293111A1 (zh)
EP (1) EP3296870B1 (zh)
CN (1) CN104834722B (zh)
WO (1) WO2016179894A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011931A (zh) * 2017-11-22 2018-05-08 用友金融信息技术股份有限公司 Web数据采集方法和Web数据采集系统
CN110365752A (zh) * 2019-06-27 2019-10-22 北京大米科技有限公司 业务数据的处理方法、装置、电子设备和存储介质
CN111163117A (zh) * 2018-11-07 2020-05-15 北京京东尚科信息技术有限公司 一种基于Zookeeper的对等式调度方法和装置
CN113364839A (zh) * 2021-05-26 2021-09-07 武汉虹旭信息技术有限责任公司 服务调用方法、服务调用装置及zookeeper集群
CN113778681A (zh) * 2021-09-10 2021-12-10 施麟 基于云计算的数据处理方法、装置及存储介质
CN114760116A (zh) * 2022-03-30 2022-07-15 北京奇艺世纪科技有限公司 验证方法、装置、电子设备及存储介质
CN116132537A (zh) * 2023-02-18 2023-05-16 广发证券股份有限公司 终端服务点的接入调度方法、系统及存储介质

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967619B (zh) * 2015-06-17 2018-09-04 深圳市腾讯计算机系统有限公司 文件推送方法、装置和系统
KR20170033121A (ko) * 2015-09-16 2017-03-24 삼성전자주식회사 서비스 처리 방법 및 이를 구현하는 전자 장치
CN105162878B (zh) * 2015-09-24 2018-08-31 网宿科技股份有限公司 基于分布式存储的文件分发系统及方法
CN105224246B (zh) * 2015-09-25 2018-11-09 联想(北京)有限公司 一种信息以及内存配置方法和装置
CN106657183A (zh) * 2015-10-30 2017-05-10 中兴通讯股份有限公司 缓存加速的方法及装置
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10671721B1 (en) * 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
CN105893147A (zh) * 2016-03-29 2016-08-24 乐视控股(北京)有限公司 多任务队列管理方法、设备及系统
CN105847395A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 一种缓存文件处理方法及设备
CN107623580B (zh) * 2016-07-15 2021-06-29 阿里巴巴集团控股有限公司 内容分发网络中的任务处理方法、装置和系统
CN106412043B (zh) * 2016-09-20 2019-09-13 网宿科技股份有限公司 Cdn网络流量引导方法和装置
CN106453122B (zh) * 2016-09-23 2019-06-04 北京奇虎科技有限公司 一种流数据传输节点的选取方法和装置
CN108123979A (zh) * 2016-11-30 2018-06-05 天津易遨在线科技有限公司 一种在线交流服务器集群架构
CN108696555B (zh) * 2017-04-11 2020-01-14 贵州白山云科技股份有限公司 一种设备探测方法及装置
EP3598697B1 (en) * 2017-04-14 2022-01-19 Huawei Technologies Co., Ltd. Content deployment method and distribution controller
CN107231436B (zh) * 2017-07-14 2021-02-02 网宿科技股份有限公司 一种进行业务调度的方法和装置
JP7013165B2 (ja) * 2017-08-08 2022-01-31 キヤノン株式会社 管理装置、管理装置の制御方法、及びプログラム
CN107562546B (zh) * 2017-09-18 2020-06-16 上海量明科技发展有限公司 任务分配方法、装置及即时通信工具
CN107784116A (zh) * 2017-11-10 2018-03-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的实现方法及系统
CN109936593B (zh) * 2017-12-15 2022-03-01 网宿科技股份有限公司 一种消息分发的方法和系统
CN108366086A (zh) * 2017-12-25 2018-08-03 聚好看科技股份有限公司 一种控制业务处理的方法及装置
CN108306971B (zh) * 2018-02-02 2020-06-23 网宿科技股份有限公司 一种发送数据资源的获取请求的方法和系统
CN109062923B (zh) * 2018-06-04 2022-04-19 创新先进技术有限公司 一种集群状态切换方法及装置
CN108958920B (zh) * 2018-07-13 2021-04-06 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统
CN109032803B (zh) 2018-08-01 2021-02-12 创新先进技术有限公司 数据处理方法和装置、客户端
CN109257448B (zh) * 2018-11-21 2021-07-09 网易(杭州)网络有限公司 一种会话信息同步的方法及装置、电子设备、存储介质
CN109660607B (zh) * 2018-12-05 2021-08-27 北京金山云网络技术有限公司 一种业务请求分发方法、接收方法、装置及服务器集群
CN109656689B (zh) * 2018-12-12 2023-07-18 万兴科技股份有限公司 任务处理系统和任务处理方法
CN109618003B (zh) * 2019-01-14 2022-02-22 网宿科技股份有限公司 一种服务器规划方法、服务器及存储介质
CN109873868A (zh) * 2019-03-01 2019-06-11 深圳市网心科技有限公司 一种计算能力共享方法、系统及相关设备
KR102664946B1 (ko) * 2019-03-21 2024-05-09 노키아 테크놀로지스 오와이 네트워크 기반 미디어 프로세싱 제어
CN110247954A (zh) * 2019-05-15 2019-09-17 南京苏宁软件技术有限公司 一种分布式任务的调度方法及系统
CN110471897B (zh) * 2019-08-22 2021-10-01 湖南快乐阳光互动娱乐传媒有限公司 文件管理方法及装置
CN111131515B (zh) * 2019-12-31 2022-07-15 武汉市烽视威科技有限公司 一种cdn边缘注入分发方法及系统
CN111476171B (zh) 2020-04-09 2021-03-26 腾讯科技(深圳)有限公司 分布式对象识别系统、方法及边缘计算设备
CN113301072A (zh) * 2020-04-13 2021-08-24 阿里巴巴集团控股有限公司 服务调度方法及系统、调度设备、客户端
CN111552885B (zh) * 2020-05-15 2024-01-30 国泰君安证券股份有限公司 实现自动化实时消息推送运营的系统及其方法
CN112000388B (zh) * 2020-06-05 2022-08-23 国网江苏省电力有限公司信息通信分公司 基于多边缘集群协同的并发任务调度方法及装置
CN111813528B (zh) * 2020-07-17 2023-04-18 公安部第三研究所 一种基于任务统计特性的视频大数据标准化汇聚网关系统及方法
CN112187656B (zh) * 2020-09-30 2023-10-03 安徽极玩云科技有限公司 一种cdn节点的管理系统
CN112202906B (zh) * 2020-10-09 2022-11-01 安徽极玩云科技有限公司 一种cdn访问优化方法及系统
CN112559519A (zh) * 2020-12-09 2021-03-26 北京红山信息科技研究院有限公司 一种大数据集群管理系统
CN112559152B (zh) * 2020-12-21 2022-08-09 南京南瑞信息通信科技有限公司 一种基于异步式编程的分布式任务注册及调度方法和系统
CN112799799A (zh) * 2020-12-29 2021-05-14 杭州涂鸦信息技术有限公司 数据消费方法及装置
CN113515358B (zh) * 2021-04-30 2024-04-12 北京奇艺世纪科技有限公司 任务调度方法、装置、电子设备及存储介质
CN113938482B (zh) * 2021-08-27 2024-01-19 网宿科技股份有限公司 内容分发网络的调度方法、调度系统、服务器及存储介质
CN113873289B (zh) * 2021-12-06 2022-02-18 深圳市华曦达科技股份有限公司 一种iptv系统直播调度的方法
CN114331352B (zh) * 2021-12-28 2024-05-28 江苏银承网络科技股份有限公司 同城大数据调度系统
CN115499435B (zh) * 2022-08-08 2023-08-11 中亿(深圳)信息科技有限公司 任务调度方法、系统、电子设备及计算机可读存储介质
CN117687781A (zh) * 2023-12-07 2024-03-12 上海信投数字科技有限公司 算力调度系统、方法、设备及可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801550A (zh) * 2011-05-27 2012-11-28 北京邮电大学 一种内容分发网络管理方法及装置
WO2014100759A1 (en) * 2012-12-21 2014-06-26 Akamai Technologies, Inc. Scalable content delivery network request handling mechanism
CN104011701A (zh) * 2011-12-14 2014-08-27 第三雷沃通讯有限责任公司 内容传送网络

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5938732A (en) * 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
US6687846B1 (en) * 2000-03-30 2004-02-03 Intel Corporation System and method for error handling and recovery
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US20020002611A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US7111057B1 (en) * 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US20020184368A1 (en) * 2001-04-06 2002-12-05 Yunsen Wang Network system, method and protocols for hierarchical service and content distribution via directory enabled network
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
KR100700717B1 (ko) * 2004-12-22 2007-03-27 한국전자통신연구원 컨텐트 구분에 의한 전송시스템의 클러스터링 장치 및 방법
CN101193294A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 一种视频内容服务系统和服务方法
US8397298B2 (en) * 2009-12-08 2013-03-12 At&T Intellectual Property I, L.P. Method and system for content distribution network security
CN102137133B (zh) * 2010-01-22 2015-01-21 华为技术有限公司 内容分发的方法、系统及调度服务器
US9237480B2 (en) * 2010-10-22 2016-01-12 Telefonaktiebolaget L M Ericsson (Publ) Accelerated content delivery
US8825608B2 (en) * 2011-02-23 2014-09-02 Level 3 Communications, Llc Content delivery network analytics management via edge stage collectors
US8510807B1 (en) * 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
CN103078880A (zh) * 2011-10-25 2013-05-01 中国移动通信集团公司 基于多个内容分发网络的内容信息处理方法、系统和设备
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
CN102447712B (zh) * 2012-01-20 2015-07-08 华为技术有限公司 内容分发网络中节点互联的方法、系统及节点
CN102595189B (zh) * 2012-02-23 2014-04-16 贵州省广播电视信息网络股份有限公司 一种内容集成营运平台系统
US8527645B1 (en) * 2012-10-15 2013-09-03 Limelight Networks, Inc. Distributing transcoding tasks across a dynamic set of resources using a queue responsive to restriction-inclusive queries
US10652087B2 (en) * 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
CN103747274B (zh) * 2013-12-18 2016-08-17 北京邮电大学 一种增设缓存集群的视频数据中心及其缓存资源调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801550A (zh) * 2011-05-27 2012-11-28 北京邮电大学 一种内容分发网络管理方法及装置
CN104011701A (zh) * 2011-12-14 2014-08-27 第三雷沃通讯有限责任公司 内容传送网络
WO2014100759A1 (en) * 2012-12-21 2014-06-26 Akamai Technologies, Inc. Scalable content delivery network request handling mechanism

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3296870A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011931A (zh) * 2017-11-22 2018-05-08 用友金融信息技术股份有限公司 Web数据采集方法和Web数据采集系统
CN111163117A (zh) * 2018-11-07 2020-05-15 北京京东尚科信息技术有限公司 一种基于Zookeeper的对等式调度方法和装置
CN111163117B (zh) * 2018-11-07 2023-01-31 北京京东尚科信息技术有限公司 一种基于Zookeeper的对等式调度方法和装置
CN110365752A (zh) * 2019-06-27 2019-10-22 北京大米科技有限公司 业务数据的处理方法、装置、电子设备和存储介质
CN113364839A (zh) * 2021-05-26 2021-09-07 武汉虹旭信息技术有限责任公司 服务调用方法、服务调用装置及zookeeper集群
CN113778681A (zh) * 2021-09-10 2021-12-10 施麟 基于云计算的数据处理方法、装置及存储介质
CN113778681B (zh) * 2021-09-10 2024-05-03 施麟 基于云计算的数据处理方法、装置及存储介质
CN114760116A (zh) * 2022-03-30 2022-07-15 北京奇艺世纪科技有限公司 验证方法、装置、电子设备及存储介质
CN114760116B (zh) * 2022-03-30 2024-04-12 北京奇艺世纪科技有限公司 验证方法、装置、电子设备及存储介质
CN116132537A (zh) * 2023-02-18 2023-05-16 广发证券股份有限公司 终端服务点的接入调度方法、系统及存储介质

Also Published As

Publication number Publication date
EP3296870B1 (en) 2020-12-30
US20180293111A1 (en) 2018-10-11
EP3296870A1 (en) 2018-03-21
CN104834722B (zh) 2018-03-02
CN104834722A (zh) 2015-08-12
EP3296870A4 (en) 2018-05-23

Similar Documents

Publication Publication Date Title
WO2016179894A1 (zh) 基于cdn的内容管理系统
US20220116477A1 (en) Control in a content delivery network
US10491523B2 (en) Load distribution in data networks
Sharma et al. Wormhole: Reliable {Pub-Sub} to Support Geo-replicated Internet Services
US7970856B2 (en) System and method for managing and distributing assets over a network
US20140188801A1 (en) Method and system for intelligent load balancing
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
WO2017161757A1 (zh) 一种流媒体文件分发方法及系统
US20170272498A1 (en) Streaming media file distribution method and system
KR20110032162A (ko) 네트워크에서의 컨텐츠 전송 서비스 방법 및 그 방법을 이용한 캐시 관리 장치
Tang et al. A user‐centric cooperative edge caching scheme for minimizing delay in 5G content delivery networks
CN115883657A (zh) 一种云盘服务加速调度的方法及系统
KR102436443B1 (ko) 실시간 데이터 전송 시스템에서의 자원 공유 제어 방법 및 장치
Nasim et al. Mobile publish/subscribe system for intelligent transport systems over a cloud environment
US20160132802A1 (en) Join function in a method and system for providing answers to requests
Peris et al. Distributed scheduling and data sharing in late-binding overlays
KR101491690B1 (ko) 네트워크에서의 컨텐츠 전송 서비스 방법 및 그 방법을 이용한 네트워크 노드 관리 장치
US9866649B2 (en) Automatic scaling of system for providing answers to requests
Priyanka et al. Insights on Effectiveness Towards Research Approaches Deployed in Content Delivery Network
Hong et al. Global-scale event dissemination on mobile social channeling platform
Faour et al. Weblins: A scalable WWW cluster-based server
JAYASREE et al. On Minimizing Energy Cost in Internet-scale Systems with Dynamic Data
Aktas et al. Distributed high performance grid information service
Harrouch et al. A new fault-tolerant architecture based on DASH for adaptive streaming video
GNANATHEJA et al. On Minimizing Energy Cost in Internet-scale Systems with Dynamic Data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15891597

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15570961

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2015891597

Country of ref document: EP