WO2010043146A1 - Method and device, server cluster for media file storage processing and service processing - Google Patents

Method and device, server cluster for media file storage processing and service processing Download PDF

Info

Publication number
WO2010043146A1
WO2010043146A1 PCT/CN2009/074114 CN2009074114W WO2010043146A1 WO 2010043146 A1 WO2010043146 A1 WO 2010043146A1 CN 2009074114 W CN2009074114 W CN 2009074114W WO 2010043146 A1 WO2010043146 A1 WO 2010043146A1
Authority
WO
WIPO (PCT)
Prior art keywords
media file
servers
server
terminal
media
Prior art date
Application number
PCT/CN2009/074114
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Publication of WO2010043146A1 publication Critical patent/WO2010043146A1/en

Links

Classifications

    • 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

Definitions

  • the present invention relates to a load balancing technology, and more particularly to a media file storage processing and service processing method and apparatus, and a server cluster. Background technique
  • ⁇ V Internet Protocol Television
  • PC personal computer
  • IP multimedia information services such as live TV and on-demand TV.
  • the server In the IPTV service system, the server is responsible for storing media files such as movies. When the server receives a media file request sent by the client, it provides the client with the media file it requested.
  • the serviceability of each server is limited. For example: A server can access 500 to 1000 users at the same time, or can generate 500M bandwidth at the same time. When the server's serviceability is full, there is no way to provide more services. For example: A server can access 500 users at the same time. After 500 users have access, the service request of the 501st user will be rejected.
  • Server clustering technology can bring together several servers and provide services like a server.
  • one or several servers act as scheduling servers to schedule servers in the server cluster, and select appropriate servers to process media file requests for service to users.
  • a server cluster consists of 20 servers, each of which can access 500 users at the same time.
  • the server cluster can access 10,000 users at the same time.
  • the media files requested by each user may be different when accessed. If the 20 servers in the cluster store Movies 8, B, and CT, respectively, the dispatch server will schedule the server that stores the corresponding movie to provide the user with the requested movie. At this time, because the heat of different media files is different, that is: popular with users.
  • the server that causes the media files with higher storage heat is accessed by users more frequently, and the load is larger.
  • some servers that store media files with lower heat are accessed by users with less frequency and less load, which may occur.
  • the ability to store servers with hot media files cannot meet the user's service needs and cannot serve more users, while the ability to store less hot media files is underutilized.
  • you can redundantly store some hot media files between servers for example: Store the hottest videos on all servers.
  • the service capability of a server reaches the limit, the user can go to other servers to obtain the requested media file.
  • redundant storage between servers also implements backup of media files.
  • the redundant storage server can serve as a backup server to replace the failed server to provide services to users.
  • the failure rate is also small.
  • the load is high, the failure rate is high. Therefore, in order to ensure the stability of the server, load sharing scheduling between redundantly stored servers is required to achieve load balancing between servers of redundant storage.
  • each edge server (Edge Server, hereinafter referred to as ES) in the existing IPTV system is organized into a server cluster to provide media file services at the level of the IPTV system.
  • Each ES serves a user in a certain area.
  • the ES of the area where the user is located is selected to provide services for the user.
  • the media file request of the user in the ES local area of the user's area is selected, and the media file of the user's interest is selected and stored locally and provided to the user.
  • There is no sharing between ESs in the server cluster Users at different times may be unbalanced at different times. This results in a heavy ES load in a certain area.
  • the ES load in a certain area is light and cannot be achieved between ESs. Load sharing and negative Load balancing.
  • the ES of each area needs to store all the media files required by users in the local area. If a small number of users interested in some less hot media files are scattered in different areas, ESs in different areas will satisfy a small number of users in the domain. The request needs to save the corresponding media file, which inevitably leads to unnecessary redundant storage, thereby reducing the kind of media files that the entire server cluster can provide.
  • the ESs are organized in a Peer-to-Peer (P2P) manner to form a P2P ES cluster, and resource sharing is implemented between the ESs.
  • P2P Peer-to-Peer
  • the ES cluster provides a method for querying media files. Compared with the previous prior art, the content sharing between ESs is implemented, and a fully distributed structure is adopted in the P2P ES cluster, thereby avoiding a single point of failure for the entire The impact of the cluster system increases the robustness of the system. However, load sharing and load balancing between ESs is still not possible in a P2P ES cluster. For example: If a hot movie is only stored on one of the ESs, all requests for that movie will still be concentrated on the ES, causing a hot spot effect.
  • the inventors have found that: In the prior art, in a P2P-based server cluster, although internal scheduling of the server is implemented, an appropriate server can be selected to serve the user. Among them, the P2P-based server cluster is also referred to as a P2P server cluster. However, how to perform redundant storage between servers to achieve load sharing and load balancing between servers and to effectively utilize the service capabilities of each server is not possible in a P2P server cluster. Summary of the invention
  • the embodiments of the present invention provide a media file storage processing and service processing method and device, and a server cluster, which implement load sharing and load balancing between servers in a server cluster, and effectively utilize the service capabilities of each server.
  • a media file storage processing method provided by an embodiment of the present invention includes: Determining the popularity level of the media file according to the popularity of the media file;
  • the M sub-streams occupying the same bandwidth are respectively stored on M servers in the server cluster.
  • a heat identification module configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance;
  • a determining module configured to determine, according to a correspondence between a preset heat level and a number of servers storing the same media file, a number M of servers corresponding to a heat level of the media file; and a coding unit, configured to encode the media file
  • the M sub-streams occupying the same bandwidth
  • the storage allocation module is configured to send the M sub-streams with the same occupied bandwidth to the M servers in the server cluster according to the server load balancing principle.
  • a media file storage processing device configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance, according to a preset heat level and a number of servers storing the same media file Corresponding relationship, determining the number M of servers corresponding to the heat level of the media file, and encoding the media file into M sub-streams with the same occupied bandwidth, and according to the principle of server load balancing, the M sub-streams occupying the same bandwidth Sent to M server storage;
  • the M servers of the L servers are respectively configured to store one of the M sub-streams with the same occupied bandwidth encoded by the media file according to the server load balancing principle, and receive the media sent by the terminal.
  • a file obtaining request and sending, to the terminal, a substream of the media file corresponding to the file identifier in the media file obtaining request, where M is an integer greater than 1, and M is less than or equal to L.
  • Another server cluster provided by the embodiment of the present invention includes L servers, and one of the L servers is configured to determine the heat corresponding to the heat of the media file according to the correspondence information between the preset heat and heat levels.
  • M is an integer greater than 1, and M is less than or equal to L;
  • the M servers of the L servers are respectively configured to store one of the M sub-streams with the same occupied bandwidth encoded by the media file according to the server load balancing principle, and receive the media file acquisition request sent by the terminal, and Subsequent to the stored media file corresponding to the file identifier in the media file acquisition request, To the terminal.
  • the M servers in the server cluster respectively send the substreams of the media files stored to the terminal to the terminal according to the end user identifier, where the media files are encoded into M occupied bandwidths according to the heat degree.
  • the substreams are respectively stored on the M servers according to the server load balancing principle, and M is an integer greater than 1.
  • the first receiving module is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier;
  • a querying module configured to query, according to the media file identifier, an address of the M servers that store the M sub-streams of the media file in the server cluster; and an acquiring module, configured to: according to the addresses of the M servers, respectively Obtaining N substreams of the media file in the M servers, where N is an integer greater than 1 and N is less than or equal to M;
  • a sending module configured to be separately from the M servers according to the terminal user identifier
  • the N sub-streams of the media file that are obtained and corresponding to the media file identifier are sent to the terminal; wherein the media file is encoded into M sub-streams with the same occupied bandwidth according to the heat, and is load-balanced according to the server.
  • the principles are stored on the M servers, respectively, and are integers greater than one.
  • the servers of the L servers are respectively used to store one substream of the same sub-stream with the same occupied bandwidth encoded by the same media file according to the principle of server load balancing, and ⁇ is an integer greater than 1. , and ⁇ is less than or equal to L;
  • the media file processing device is configured to receive a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier, and is stored in the server cluster according to the terminal user identifier.
  • the sub-stream of the media file corresponding to the media file identifier is sent to the terminal.
  • the media files are encoded into two sub-streams with the same bandwidth and stored in one server in the server cluster.
  • the server cluster receives the media file acquisition request sent by the terminal, respectively, sending the sub-streams of the media files stored on the server to the terminal, and the terminal may restore the multiple sub-streams according to the received sub-flows.
  • Media files which realize load sharing and load balancing between servers in a server cluster, so that the service capabilities of each server can be effectively utilized.
  • FIG. 1 is a flowchart of an embodiment of a media file storage processing method according to the present invention.
  • FIG. 2 is a schematic structural diagram of an embodiment of a media file storage processing apparatus according to the present invention
  • FIG. 3 is a flowchart of an embodiment of a media file service processing method according to the present invention
  • FIG. 4 is a flowchart of another embodiment of a method for processing a media file service according to the present invention.
  • 5 is a flowchart of still another embodiment of a media file service processing method according to the present invention;
  • FIG. 6 is a schematic structural diagram of an embodiment of a media file service processing apparatus according to the present invention.
  • FIG. 8 is a schematic structural diagram of another embodiment of a server cluster according to the present invention.
  • FIG. 9 is a schematic structural diagram of still another embodiment of a server cluster according to the present invention.
  • FIG. 10 is a schematic structural diagram of still another embodiment of a server cluster according to the present invention. detailed description
  • the media file storage processing method may encode the media file into M sub-streams with the same occupied bandwidth according to the heat of the media file, and according to the server load balancing principle, the M occupied bandwidths are the same.
  • the substreams are stored separately on M servers in the server cluster.
  • the media file may be encoded by a practical network coding method. Because the media files are encoded according to the heat, the M sub-streams with the same bandwidth are encoded by the practical network coding method, and are stored on the M servers in the server cluster according to the principle of load balancing among the servers in the server cluster.
  • the M substreams of the media files stored on the M servers are respectively sent to the terminal, thereby realizing load sharing and load balancing between the servers in the server cluster, so that each server The service capabilities are effectively utilized.
  • FIG. 1 it is a flowchart of an embodiment of a media file storage processing method according to the present invention, which includes the following steps:
  • Step 101 Determine a heat level of the media file according to the heat of the media file.
  • the hotness of the media file may be determined by counting the number of times the media file is accessed by the user terminal for a certain period of time, and the heat level of the media file is further determined according to the heat range included in the preset heat level.
  • Step 102 Determine, according to a correspondence between a preset heat level and a number of servers storing the same media file, the number M of servers corresponding to the heat level of the media file.
  • the heat may be sequentially decreased according to the heat level such as the first heat level, the second heat level, and the third heat level, that is, the higher the heat level, the lower the heat.
  • the number of servers storing the media files of the first heat level with the highest heat is the number L of servers constituting the server cluster, L is an integer greater than or equal to M; the number of servers storing media files of other heat levels other than the first heat level is P , P is an integer less than L.
  • P may take an integer value in L/Q or L/2Q- 1 , and Q is a heat level.
  • Load sharing and load balancing, and encoding the media files with lower heat levels into fewer sub-flows and storing them on each server, can reduce the waste of server resources caused by redundant storage in the server cluster, so that each The server's service capabilities are fully utilized.
  • Step 103 The media file is encoded into M sub-streams with the same occupied bandwidth by using a practical network coding method.
  • Step 104 According to the server load balancing principle, the M sub-streams with the same occupied bandwidth are respectively stored on the M servers in the server cluster.
  • the address of the M servers storing the substreams of the media file may be recorded, so that after receiving the media file acquisition request sent by the user terminal, the server cluster queries and stores the substreams of the media file.
  • the address of the server which gets the subflow of the media file from the corresponding server.
  • the address of the M servers storing the substreams of the media file may be recorded in a manner corresponding to the correspondence between the media file identifier and the address of the server, which may be implemented by: establishing a media file identifier and an address of the server.
  • Corresponding relationship information and storing the correspondence information in each server in the server cluster; establishing correspondence information between the media file identifier and the address of the server, and dividing the correspondence information into multiple parts, Stored on a plurality of different servers in the server cluster; establish correspondence information between the media file identifier and the address of the server, and store the correspondence information on one or more specific servers in the server cluster, or Distributed across multiple specific servers. Because different media files have different enthusiasm. Depending on the degree of heat, the heat of the media files can be graded, and the different media files are divided into a plurality of different heat levels, for example: the first heat level, the second heat level and the third heat level have three heat levels.
  • the media file of the first heat level it is possible to set the media file of the first heat level to be the hottest, the media file of the second heat level to be hot, and so on.
  • L there are L servers in a server cluster, and L is an integer greater than 1.
  • the following is an example in which the media files are divided into three heat levels, and the media files are encoded, and the encoded M sub-streams are respectively stored on the M servers according to the server load balancing principle. For other heat levels, reference may be made. deal with.
  • the media files are divided into different heat levels.
  • the popularity level of each media file may be determined according to the frequency at which each media file is accessed by the user for a certain period of time. For example: a frequency greater than or equal to 100 is the first heat level, a frequency between 50 and 100 is the second heat level, and a frequency less than or equal to 50 is the third heat level.
  • the heat level of the media file may be divided according to the frequency of the media files accessed by the user in a certain period of time and the preset number of media files included in each heat level, wherein the number of media files included in each heat level may be based on The actual situation needs to be updated.
  • the preset first heat level contains 10 media files
  • the second heat level contains 20 media files
  • the remaining media files belong to the third heat level, then sorted according to the frequency of user accesses from high to low for a certain period of time.
  • the first 10 media files belong to the first heat level
  • the 11th to 30th media files sorted according to the user access frequency from high to low belong to the second heat level
  • the remaining media files belong to the third heat level.
  • Each of the X media files of the first heat level is encoded into L sub-streams occupying the same bandwidth and stored on L servers in the server cluster.
  • the terminal only needs to obtain a plurality of substreams of the same media file from the L servers, and the media files can be restored by encoding and combining the substreams. In this way, even if the server in the server cluster is down, as long as it is not a large area, for example: After more than eighty servers are down, the user terminal can obtain enough substreams of the same media file to restore the media files.
  • a sub-flow of the media file may be separately obtained from each server in the server cluster. Since the server bandwidth occupied by each sub-flow is 1/L of the bandwidth occupied by the media file, the bandwidth consumed by each server to support one media file acquisition request only accounts for 1/L of the bandwidth required for the transmission of the media file. L servers together provide complete media file transfer bandwidth. For each media file acquisition request, load sharing and load balancing are implemented between servers in the server cluster. In general, the media file acquisition request between the servers for the first level of heat is always load-sharing, and the load balancing between servers is realized.
  • each of the Y media files of the second heat level if the number of servers in the server cluster is even, that is, L is an even number, all are encoded into L/2 sub-streams occupying the same bandwidth, each will The media files are stored on L/2 servers in the server cluster.
  • the L/2 sub-streams of the first media file in the second heat level may be respectively stored in any L/2 servers in the server cluster, and the L/2 sub-streams of the second media file are separately stored.
  • L/2 subflows of the third media file are stored on any L/2 servers in the server cluster, and L/2 subflows of the fourth media file They are stored separately on the other L/2 servers in the server cluster, and so on.
  • the Y media files of the second heat level are coded into (L-1)/2 and (L+1)/2 occupied bandwidths. Subflow, which stores each media file evenly on (L-1)/2 and (L+1)/2 servers in the server cluster.
  • the (L-1)/2 substreams of the first media file in the second heat level may be respectively stored in any (L-1)/2 servers in the server cluster, and the second media file is The encoded (L+1)/2 substreams are stored separately on the other (L+1)/2 servers in the server cluster; the third media file is encoded into (L-1)/2 substreams Any (L-1) stored in the server cluster 12 On the server, the (L+1)/2 substreams into which the fourth media file is encoded are stored separately on the other (L+1)/2 servers in the server cluster, and so on.
  • the terminal only needs to obtain a plurality of substreams of the same media file from the L servers, and the media files can be restored by encoding and combining the substreams.
  • the server in the server cluster is down, as long as it is not a large-scale downtime, for example: more than 80% of the servers that store the same media file substream are down, the user terminal can get enough of the same media file. Substreams, thereby restoring media files.
  • L/2 or (L-1)/2 or (L+1)/2 servers storing the media file substream to provide complete media file transmission.
  • the heat of different media files in the same heat level is different, for example: the heat of media file A is high, and 1000 end users request to obtain the media file, then the 1000 media file acquisition request Provided by 10 servers where the sub-stream of the media file A is located, each server needs to serve the bandwidth of 100 media files, the heat of the media file B is low, and 800 end users request to obtain the media file, then the 800 media
  • the file acquisition request is provided by the 10 servers where the media file B is located.
  • Each server needs to serve the bandwidth of 80 media files.
  • the overall bandwidth occupied by each media file may also be different, which makes it possible to store different media of the same heat level. Load differences and load differences between servers in the file subflow.
  • the total heat of the media file and the required occupied bandwidth should be considered, and the total heat of the media files on each server and the required occupied bandwidth are approximately equal to achieve Better load sharing and load balancing.
  • the remaining capacity may be the total bandwidth supported by the server and the total bandwidth occupied by the media stream sub-streams, and the remaining capacity is selected.
  • the Z media files of the three-heat level are respectively encoded into R sub-streams and stored in R servers. According to the principle of the practical network coding, the terminal only needs to obtain a plurality of substreams of the same media file from the R servers, and the media files can be restored by encoding and combining the substreams.
  • the media file of the third heat level compared with the media files of the first heat level and the second heat level, the number of servers serving the end user cannot be guaranteed, and correspondingly, the load sharing and the system between the servers The robustness effect is also relatively poor.
  • the impact on load sharing between the entire servers is not very large.
  • the redundant storage reduces the waste of the server storage space resources compared to the media files of the first heat level and the second heat level, so that each The server's service capabilities are effectively utilized.
  • FIG. 2 is a schematic structural diagram of an embodiment of a media file storage processing apparatus according to the present invention.
  • the media file storage processing apparatus of this embodiment may be used to implement the foregoing embodiment of the media file storage processing embodiment of the present invention, which includes a popularity identification module 201, a determination module 202, an encoding module 203, and a storage allocation module 204.
  • the heat identification unit 201 is configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance.
  • the determining module 202 is configured to determine the number M of servers corresponding to the heat level of the media file according to the correspondence between the preset heat level and the number of servers storing the same media file.
  • the encoding module 203 is configured to encode the media file into M sub-streams with the same occupied bandwidth.
  • the storage allocation module 204 is configured to send the M sub-streams with the same occupied bandwidth encoded by the encoding module 203 to the M servers in the server cluster according to the server load balancing principle.
  • the heat may be sequentially decreased according to the heat level such as the first heat level, the second heat level, and the third heat level, that is, the higher the heat level, the lower the heat.
  • the number of servers storing the media files of the first heat level with the highest heat is the number L of servers constituting the server cluster, L is an integer greater than or equal to M; the number of servers storing media files of other heat levels other than the first heat level is P , P is an integer less than L.
  • P may take an integer value in L/Q or L/2Q- 1 , and Q is a heat level.
  • the media file storage processing apparatus of the embodiment of the present invention may further include a recording module 205 for recording an address of the M servers storing the substreams of the media file.
  • a server cluster provided by the embodiment of the present invention can be used to implement the media file storage processing method of the foregoing embodiment, which includes a media file storage processing device and L servers.
  • the M servers of the L servers are respectively configured to store one substream of the M sub-streams with the same occupied bandwidth that the same media file is encoded according to the server load balancing principle, and receive the media file acquisition request sent by the terminal. And sending, to the terminal, a substream of the media file corresponding to the file identifier in the media file obtaining request, where M is an integer greater than 1, and M is less than or equal to L.
  • the media file storage processing device is configured to encode the same media file into M sub-streams with the same occupied bandwidth, and send the M sub-streams with the same occupied bandwidth to the M servers for storage according to the server load balancing principle.
  • the media file storage processing device can be implemented by a media center in a server cluster.
  • Another server cluster provided by the embodiment of the present invention may be used to implement the media file storage processing method of the foregoing embodiment, which includes L servers, and one of the L servers is used to encode the same media file into M occupations. Substreams with the same bandwidth, and load balancing according to the server Then, M sub-streams occupying the same bandwidth are respectively stored on M servers in the L servers, M is an integer greater than 1, and M is less than or equal to L.
  • the M servers of the L servers are respectively configured to store one substream of the M sub-streams with the same occupied bandwidth that the same media file is encoded according to the server load balancing principle, receive the media file acquisition request sent by the terminal, and The sub-streams of the media files corresponding to the file identifiers in the media file acquisition request are respectively sent to the terminal.
  • a media file service processing method provided by the embodiment of the present invention includes: receiving a media file acquisition request sent by a terminal, where the media file acquisition request carries a media file identifier and a terminal user identifier; M of the M substreams in the server cluster
  • the servers respectively send substreams of the respective stored media files to the terminal according to the end user identifier.
  • the media files are encoded into M sub-streams with the same bandwidth according to the heat, and are respectively stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
  • the utility network coding method is a network media coding method, which can encode a media file into a plurality of substreams, and arbitrarily receive a part of the substreams of the plurality of substreams, and decode and combine the partial substreams.
  • the original media file is restored for playback, and the playback quality is not affected.
  • the server cluster in the embodiment of the present invention is a P2P server cluster formed by organizing a plurality of servers together in a P2P manner.
  • the media files are pre-according to the heat, they are encoded into M sub-streams with the same bandwidth and are stored in the M servers in the server cluster according to the principle of load balancing between servers in the server cluster.
  • the M substreams of the media files stored on the M servers are respectively sent to the terminal, thereby realizing load sharing and load balancing between the servers in the server cluster, so that the service capabilities of the servers are effective. use.
  • FIG. 3 it is a flowchart of an embodiment of a method for processing a media file service according to the present invention, which includes the following steps:
  • Step 301 The server cluster receives a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier.
  • Media file identification in a service The device cluster uniquely identifies a media file, which may be one or more of the name of the media file, the serial number of the media file, the storage time of the media file, and the bandwidth required by the media file.
  • Step 302 The server that receives the media file acquisition request in the server cluster queries the address of the M servers corresponding to the media file identifier in the media file acquisition request.
  • the media files are encoded into M sub-streams with the same bandwidth according to the heat, and are stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
  • the correspondence information between the media file identifier and the address of the server may be separately stored on each server in the server cluster, so that the server that receives the media file acquisition request sent by the terminal queries the media file identifier stored by the server.
  • the correspondence information between the addresses of the servers can obtain the addresses of the M servers corresponding to the media file identifiers in the media file acquisition request.
  • the correspondence information between the media file identifier and the address of the server may also be divided into multiple parts, which are respectively stored on a plurality of different servers in the server cluster, and the server that receives the media file acquisition request sent by the terminal is in itself
  • the information is exchanged with other servers, and the addresses of the M servers corresponding to the media file identifier in the media file acquisition request are obtained from other servers.
  • the correspondence information between the media file identifier and the address of the server may be all stored on one or more specific servers in the server cluster, or distributed on multiple specific servers, and the media file sent by the terminal is received.
  • the requested server obtains the address of the M servers corresponding to the media file identifier in the media file acquisition request from the specific server.
  • Step 303 The server that receives the media file acquisition request in the server cluster forwards the media file acquisition request to the corresponding M servers according to the addresses of the M servers.
  • the server receiving the media file acquisition request is one of the M servers, there is no need to forward the media file acquisition request to itself.
  • Step 304 The M servers that receive the media file acquisition request send the substreams of the stored media files to the terminal according to the terminal user identifier. After receiving the multiple substreams of the media file returned by the server cluster, the terminal may decode and combine the multiple substreams, and then restore the original media file and play it.
  • FIG. 4 it is a flowchart of another embodiment of a method for processing a media file service according to the present invention, which includes the following steps:
  • Step 401 The server cluster receives a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier.
  • the media file identifier uniquely identifies a media file in a server cluster, and may specifically be one or more of a name of the media file, a serial number of the media file, a storage time of the media file, and a bandwidth required for the media file. .
  • Step 402 The server that receives the media file acquisition request in the server cluster queries the address of the M servers corresponding to the media file identifier in the media file acquisition request.
  • the media files are encoded into M sub-streams with the same bandwidth according to the heat, and are stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
  • the correspondence information between the media file identifier and the address of the server may be separately stored on each server in the server cluster, so that the server that receives the media file acquisition request sent by the terminal queries the media file identifier stored by the server.
  • the correspondence information between the addresses of the servers can obtain the addresses of the M servers corresponding to the media file identifiers in the media file acquisition request.
  • the correspondence information between the media file identifier and the address of the server may also be divided into multiple parts, which are respectively stored on a plurality of different servers in the server cluster, and the server that receives the media file acquisition request sent by the terminal is in itself
  • the address of the server corresponding to the media file identifier in the media file acquisition request is not stored, the information is exchanged with other servers, and the addresses of the M servers corresponding to the media file identifier in the media file acquisition request are obtained from other servers.
  • the correspondence information between the media file identifier and the address of the server may be all stored on one or more specific servers in the server cluster, or distributed on multiple specific servers, and the media file sent by the terminal is received.
  • the requested server obtains the address of the M servers corresponding to the media file identifier in the media file acquisition request from the specific server.
  • Step 403 The server that receives the media file acquisition request in the server cluster obtains the N substreams of the media file from the M servers according to the addresses of the M servers, and is an integer greater than 1 and N is less than or equal to M.
  • the server receiving the media file acquisition request is one of the M servers, there is no need to forward the media file acquisition request to itself.
  • Step 404 The server that receives the media file acquisition request sends the N substreams of the obtained media file to the terminal respectively according to the terminal user identifier.
  • the terminal After receiving the multiple substreams of the media file returned by the server cluster, the terminal can decode and combine the multiple substreams to restore the original media file and play it.
  • FIG. 5 it is a flowchart of still another embodiment of a media file service processing method according to the present invention, which includes the following steps:
  • Step 501 The server cluster receives a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier.
  • the media file identifier uniquely identifies a media file in a server cluster, and may specifically be one or more of a name of the media file, a serial number of the media file, a storage time of the media file, and a bandwidth required for the media file. .
  • Step 502 The server that receives the media file acquisition request in the server cluster queries the address of the M servers corresponding to the media file identifier in the media file acquisition request.
  • the media files are encoded into M sub-streams with the same bandwidth according to the heat, and are stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
  • the correspondence information between the media file identifier and the address of the server may be separately stored on each server in the server cluster, so that the server that receives the media file acquisition request sent by the terminal queries the media file identifier stored by the server.
  • the correspondence information between the addresses of the servers can obtain the addresses of the M servers corresponding to the media file identifiers in the media file acquisition request.
  • the correspondence information between the media file identifier and the address of the server may also be divided into multiple parts, which are respectively stored on a plurality of different servers in the server cluster, and received by the terminal.
  • the server that obtains the media file acquisition request does not store the address of the server corresponding to the media file identifier in the media file acquisition request, and performs information interaction with other servers, and obtains the media file identifier corresponding to the media file acquisition request from other servers.
  • the address of the M servers may be all stored on one or more specific servers in the server cluster, or distributed on multiple specific servers, and the media file sent by the terminal is received.
  • the requested server obtains the address of the M servers corresponding to the media file identifier in the media file acquisition request from the specific server.
  • Step 503 The server that receives the media file acquisition request in the server cluster sends the indication information to the corresponding M servers according to the addresses of the M servers, and instructs the sub-flows of the media files respectively stored by the M servers to be sent to the terminal.
  • the indication information carries an end user identifier.
  • the server receiving the media file acquisition request is one of the M servers, it is not necessary to send the indication information to itself.
  • Step 504 The M servers that receive the indication information respectively send the N sub-streams of the respective stored media files to the terminal according to the terminal user identifier.
  • the terminal After receiving the multiple substreams of the media file returned by the server cluster, the terminal can decode and combine the multiple substreams to restore the original media file and play it.
  • FIG. 6 is a schematic structural diagram of an embodiment of a media file service processing apparatus according to the present invention.
  • the media file service processing apparatus of the embodiment may be used to implement the foregoing media file service processing method embodiment shown in FIG.
  • the first receiving module 601 is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier.
  • the querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request.
  • the obtaining module 603 is configured to obtain N substreams of the media file from the M servers according to the addresses of the M servers queried by the query module 602, which are integers greater than 1 and N. Less than or equal to M.
  • the sending module 604 is configured to send the N substreams of the media file corresponding to the media file identifier acquired by the obtaining module 603 to the terminal according to the terminal user identifier in the media file obtaining request.
  • the media file is encoded into M sub-streams having the same occupied bandwidth according to the heat, and is respectively stored on M servers according to the server load balancing principle, where M is an integer greater than 1.
  • a server cluster provided by the embodiment of the present invention the server cluster of the embodiment may be used to implement the foregoing media file service processing method embodiment of the present invention, which includes a media file service processing device 1 and L servers 2.
  • the M servers of the L servers 2 are respectively configured to store one substream of the M sub-streams with the same occupied bandwidth, which is encoded by the same media file according to the server load balancing principle, where M is an integer greater than 1, and M is less than or equal to L.
  • the media file service processing apparatus 1 is configured to receive a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier, and stores the M servers in the server cluster according to the terminal user identifier.
  • FIG. 7 it is a schematic structural diagram of an embodiment of a server cluster according to the present invention.
  • the server cluster of the embodiment includes five servers, that is, the value of L is 5.
  • FIG. 8 is a schematic structural diagram of another embodiment of a server cluster according to the present invention.
  • the server 2 of the embodiment includes a storage module 701
  • the media file service processing apparatus 1 includes The first receiving module 601, the querying module 602, the obtaining module 603, and the sending module 604.
  • the storage module 701 is configured to store, among the other servers 2 in the server cluster, one substream of the M sub-streams with the same occupied bandwidth, which are encoded into the same media file according to the load balancing principle.
  • the first receiving module 601 is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier.
  • the querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request.
  • the obtaining module 603 is configured to obtain N sub-streams of the media file from the M servers according to the addresses of the M servers queried by the query module 602, where N is an integer greater than 1 and N is less than or equal to M.
  • the sending module 604 is configured to obtain an end user identifier according to the media file acquisition request.
  • the N substreams of the media files corresponding to the media file identifiers obtained by the obtaining module 603 from the storage modules 701 of the M servers 2 are sent to the terminal.
  • FIG. 9 it is a schematic structural diagram of another embodiment of the server cluster of the present invention.
  • the server cluster of the embodiment can be used to implement the process of the media file service processing method embodiment shown in FIG. 3 .
  • the media file service processing apparatus 1 in this embodiment includes a first receiving module 601, a querying module 602, and a forwarding module 801.
  • the server 2 includes a second receiving module 802 and a storage module. 701 and sending module 604.
  • the first receiving module 601 is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries a media file identifier and an end user identifier.
  • the querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request.
  • the forwarding module 801 is configured to forward the media file acquisition request to the second receiving module 802 of the M servers 2 according to the addresses of the M servers queried by the query module 602.
  • the second receiving module 802 is configured to receive a media file acquisition request forwarded by the forwarding module 801.
  • the storage module 701 is configured to store, in accordance with the load balancing principle, one sub-stream of the M sub-streams with the same occupied bandwidth, which are encoded by the same media file, with other servers in the server cluster.
  • the sending module 604 stores, according to the terminal user identifier carried in the media file request received by the second receiving module 802, a substream of the media file corresponding to the media file identifier stored in the storage module 701 of the server 2 where the sending module 604 is located. Send to the terminal.
  • Fig. 9 shows only the connection relationship between the media file service processing apparatus 1 and a server 2. For the case where the server cluster includes a plurality of servers, the connection relationship between the media file service processing apparatus 1 and the other servers 2 is the same.
  • FIG. 10 it is a schematic structural diagram of another embodiment of a server cluster according to the present invention.
  • the server cluster of this embodiment can be used to implement the process of the media file service processing method embodiment shown in FIG. 5.
  • the media file service processing apparatus 1 in this embodiment includes a first receiving module 601, a querying module 602, and an indicating module 901.
  • the server 2 includes a second receiving module 802 and a storage module. 701 and sending module 604.
  • the first receiving module 601 The method is configured to receive a media file acquisition request sent by the terminal, where the media file acquisition request carries a media file identifier and an end user identifier.
  • the querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request.
  • the indication module 901 is configured to send the indication information to the second receiving module 802 of the M servers 2 according to the address of the M servers that are queried by the querying module 602, where the indication information includes the terminal user identifier and the media file identifier, and the indication M
  • the sending module 604 of the server 2 sends the sub-stream of the media file corresponding to the media file identifier stored on the server 2 of the sending module 604 to the terminal according to the terminal user identifier.
  • the second receiving module 802 is configured to receive a media file obtaining request forwarded by the forwarding module 801.
  • the storage module 701 is configured to store, among the other servers 2 in the server cluster, one substream of the M sub-streams with the same occupied bandwidth, which are encoded into the same media file according to the load balancing principle.
  • the sending module 604 sends the substream of the media file corresponding to the media file identifier stored in the storage module 701 of the server 2 where the sending module 604 is located, according to the terminal user identifier in the indication information received by the second receiving module 802. terminal.
  • FIG. 10 shows only the connection relationship between the media file service processing apparatus 1 and one server 2. For the case where the server cluster includes a plurality of servers, the connection relationship between the media file service processing apparatus 1 and the other servers 2 is the same.
  • the L storage modules 701 of the L servers 2 are respectively used to store L media streams of the same heat level with the highest popularity.
  • L servers 2 are in accordance with the load balancing principle, wherein the P storage modules 701 are also respectively configured to store P media files of the same heat level other than the first heat level encoded into P sub-streams having the same occupied bandwidth A subflow.
  • P takes an integer value in L/Q or L/2Q- 1
  • Q is a heat level.
  • the media file is encoded into M sub-streams with the same occupied bandwidth according to the load balancing principle of the servers in the server cluster, and are respectively stored on the M servers in the server cluster.
  • the server cluster receives the media file acquisition request sent by the terminal, respectively, the M substreams of the media files stored on the M servers are sent to the terminal, and the terminal may be restored according to the received multiple substreams of the M substreams.
  • the media files are output, thereby realizing load sharing and load balancing between servers in the server cluster, and considering the storage redundancy and system robustness of the server cluster, so that the service capabilities of the servers are effectively utilized.

Abstract

A method and device, server cluster for media file storage processing and service processing are disclosed in the embodiments of the present invention. Wherein, the method for media file storage processing includes: determining a heat level of a media file according to a heat of the media file; determining the amount M of servers corresponding to the heat level of the media file according to the correspondent relationship between the preset heat level and the amount of servers storing the same media file; encoding the media files into M sub-streams of the same bandwidth; and in accordance with the principles of the server load balancing, storing the M sub-streams of the same bandwidth on M servers of the server cluster respectively. By means of the embodiments of the present invention, load sharing and load balancing can be realized among servers in the server cluster, and the service ability of each server is used effectively.

Description

媒体文件存储处理与业务处理方法及装置、 服务器集群 技术领域  Media file storage processing and business processing method and device, server cluster
本发明涉及负载均衡技术, 尤其是一种媒体文件存储处理与业务处理方 法及装置、 服务器集群。 背景技术  The present invention relates to a load balancing technology, and more particularly to a media file storage processing and service processing method and apparatus, and a server cluster. Background technique
网络电视( Internet Protocol Television , 以下简称: ΙΡΤ V )是以家用电视 机、 个人计算机 ( Personal Computer以下简称: PC )或其它电子类设备为显 网络, 提供包括电视节目以及基于电视节目的其它增值业务在内的内容丰富 的视听类宽带 IP多媒体信息业务, 例如: 直播电视、 点播电视。  Internet Protocol Television (hereinafter referred to as: ΙΡΤ V) is a home TV, personal computer (PC) or other electronic equipment for the display network, providing TV programs and other value-added services based on TV programs. A wide range of audio-visual broadband IP multimedia information services, such as live TV and on-demand TV.
在 IPTV业务系统中, 由服务器负责存储影片等媒体文件。 当服务器接收 到客户端发送的媒体文件请求时, 向客户端提供其请求的媒体文件。 每台服 务器的可服务能力是有限的。 例如: 一台服务器可以同时接入 500〜1000个用 户, 或者可同时产生 500M的带宽等。 当服务器的可服务能力被占满时, 就无 法再提供更多的服务。 例如: 某台服务器可以同时接入 500个用户, 在已经有 500个用户接入后, 第 501个用户的服务请求就会被拒绝。  In the IPTV service system, the server is responsible for storing media files such as movies. When the server receives a media file request sent by the client, it provides the client with the media file it requested. The serviceability of each server is limited. For example: A server can access 500 to 1000 users at the same time, or can generate 500M bandwidth at the same time. When the server's serviceability is full, there is no way to provide more services. For example: A server can access 500 users at the same time. After 500 users have access, the service request of the 501st user will be rejected.
服务器集群技术可以将若干个服务器聚集在一起, 像一个服务器一样提 供服务。 在聚集在一起的服务器集群中, 由一个或几个服务器作为调度服务 器对服务器集群中的服务器进行调度,选择合适的服务器处理媒体文件请求, 为用户服务。 例如: 一个服务器集群中包括 20个服务器, 每个服务器可同时 接入 500个用户, 则该服务器集群一共可同时接入 10000个用户。 每个用户接 入时, 其请求的媒体文件可能不同。 如果该集群中的 20个服务器分别存储影 片八、 B、 C T, 则调度服务器会调度存储相应影片的服务器来为用户提 供其请求的影片。 此时, 由于不同媒体文件的热度不同, 即: 受用户欢迎的 程度不同, 导致存储热度较高的媒体文件的服务器被用户访问频率较大, 负 载较大, 而一些存储热度较低的媒体文件的服务器被用户访问频率较小, 负 载较小, 这就可能出现存储热度较高的媒体文件的服务器的能力无法满足用 户的服务需求而无法为更多用户提供服务, 而存储热度较低的媒体文件的服 务器的能力得不到充分利用。 为了解决这个问题, 可以在服务器之间冗余存 储一些热度较高的媒体文件, 例如: 在所有服务器上都存储热度最高的影片。 这样, 当一个服务器的服务能力达到极限时, 用户可以到其它的服务器获得 请求的媒体文件。 另外, 服务器之间的冗余存储也实现了媒体文件的备份, 当某个服务器发生故障时, 冗余存储服务器可以作为备份服务器接替该发生 故障的服务器向用户提供服务。 通常情况下, 服务器的负载较小时, 故障率 也较小, 反之, 负载较高时, 故障率较高。 因此, 为了保证服务器的稳定性, 就需要在冗余存储的服务器之间进行负荷分担调度, 实现冗余存储的服务器 之间的负载均衡。 Server clustering technology can bring together several servers and provide services like a server. In a cluster of servers that are clustered together, one or several servers act as scheduling servers to schedule servers in the server cluster, and select appropriate servers to process media file requests for service to users. For example: A server cluster consists of 20 servers, each of which can access 500 users at the same time. The server cluster can access 10,000 users at the same time. The media files requested by each user may be different when accessed. If the 20 servers in the cluster store Movies 8, B, and CT, respectively, the dispatch server will schedule the server that stores the corresponding movie to provide the user with the requested movie. At this time, because the heat of different media files is different, that is: popular with users. Different degrees, the server that causes the media files with higher storage heat is accessed by users more frequently, and the load is larger. However, some servers that store media files with lower heat are accessed by users with less frequency and less load, which may occur. The ability to store servers with hot media files cannot meet the user's service needs and cannot serve more users, while the ability to store less hot media files is underutilized. To solve this problem, you can redundantly store some hot media files between servers, for example: Store the hottest videos on all servers. Thus, when the service capability of a server reaches the limit, the user can go to other servers to obtain the requested media file. In addition, redundant storage between servers also implements backup of media files. When a server fails, the redundant storage server can serve as a backup server to replace the failed server to provide services to users. Normally, when the load on the server is small, the failure rate is also small. Conversely, when the load is high, the failure rate is high. Therefore, in order to ensure the stability of the server, load sharing scheduling between redundantly stored servers is required to achieve load balancing between servers of redundant storage.
但是, 在服务器集群中的冗余存储时, 又必然减少整个服务器集群可提 供的媒体文件的种类。 因此, 服务器集群的冗余存储与服务能力的利用效率 是一对矛盾的因素。 当存储的冗余度小时, 服务器集群的服务能力无法得到 有效利用。 而当服务器集群的服务能力得到有效利用时, 存储的冗余度又较 大。 因此, 在服务器集群中, 如何实现冗余存储与服务能力利用效率之间的 平衡, 是一个亟待解决的问题。  However, when redundant storage in a server cluster, it is inevitable to reduce the types of media files that can be provided by the entire server cluster. Therefore, the redundant storage of server clusters and the utilization efficiency of service capabilities are a pair of contradictory factors. When the redundancy of storage is small, the service capabilities of the server cluster cannot be effectively utilized. When the server cluster's service capabilities are effectively utilized, the storage redundancy is greater. Therefore, in a server cluster, how to achieve a balance between redundant storage and service utilization efficiency is an urgent problem to be solved.
其中一种现有技术中,现有 IPTV系统中的各个边缘服务器( Edge Server, 以下简称: ES )在 IPTV系统的层面上组织成服务器集群提供媒体文件服务。 每个 ES服务一定区域的用户。 当用户请求媒体文件时, 选择用户所在区域的 ES为用户提供服务。 用户所在区域的 ES本区域用户的媒体文件请求, 选择用 户感兴趣的媒体文件存储在本地, 并提供给用户。 该服务器集群中的各个 ES 之间没有共享, 在不同时刻, 不同区域的用户可能不平衡, 这就导致某个区 域的 ES负荷较重, 某个区域的 ES负荷较轻, 无法实现 ES之间的负荷分担与负 载均衡。 另外, 各区域的 ES都需要存储本区域用户需要的所有媒体文件, 如 果对一些热度较低的媒体文件感兴趣的少数用户分散在不同区域, 就会导致 不同区域的 ES为了满足本域内少数用户的请求都需要保存相应媒体文件, 这 就必然导致一些不必要的冗余存储, 从而减少整个服务器集群可提供的媒体 文件的种类。 In one of the prior art, each edge server (Edge Server, hereinafter referred to as ES) in the existing IPTV system is organized into a server cluster to provide media file services at the level of the IPTV system. Each ES serves a user in a certain area. When the user requests a media file, the ES of the area where the user is located is selected to provide services for the user. The media file request of the user in the ES local area of the user's area is selected, and the media file of the user's interest is selected and stored locally and provided to the user. There is no sharing between ESs in the server cluster. Users at different times may be unbalanced at different times. This results in a heavy ES load in a certain area. The ES load in a certain area is light and cannot be achieved between ESs. Load sharing and negative Load balancing. In addition, the ES of each area needs to store all the media files required by users in the local area. If a small number of users interested in some less hot media files are scattered in different areas, ESs in different areas will satisfy a small number of users in the domain. The request needs to save the corresponding media file, which inevitably leads to unnecessary redundant storage, thereby reducing the kind of media files that the entire server cluster can provide.
在另一种现有技术中, 将 ES按照点对点 ( Peer-to-Peer, 以下简称: P2P ) 的方式组织在一起形成 P2P ES集群, 在各 ES之间实现资源共享。 通过在 P2P ES集群中的 P2P查询, 可以得到所有 ES中媒体文件的分布情况。 该 P2P服务器  In another prior art, the ESs are organized in a Peer-to-Peer (P2P) manner to form a P2P ES cluster, and resource sharing is implemented between the ESs. Through the P2P query in the P2P ES cluster, the distribution of media files in all ESs can be obtained. The P2P server
ES集群提供了媒体文件的查询方法, 与上一种现有技术相比, 实现了 ES之间 的内容共享, 并且, 在 P2P ES集群中采用了全分布式结构, 避免了单点故障 对整个集群系统的影响, 增加了系统的鲁棒性。 但是, 在 P2P ES集群中仍然 无法实现 ES之间的负荷分担与负载均衡。 例如: 如果某热度较高的影片仅仅 存储于其中一个 ES上, 则所有对该影片的请求依然会集中到该 ES , 从而造成 热点效应。 The ES cluster provides a method for querying media files. Compared with the previous prior art, the content sharing between ESs is implemented, and a fully distributed structure is adopted in the P2P ES cluster, thereby avoiding a single point of failure for the entire The impact of the cluster system increases the robustness of the system. However, load sharing and load balancing between ESs is still not possible in a P2P ES cluster. For example: If a hot movie is only stored on one of the ESs, all requests for that movie will still be concentrated on the ES, causing a hot spot effect.
在实现本发明的过程中, 发明人发现: 现有技术中, 在基于 P2P的服务器 集群中, 虽然实现了对服务器的内部调度, 可以选择合适的服务器为用户服 务。 其中, 基于 P2P的服务器集群也简称为 P2P服务器集群。 但是, 对于如何 在服务器之间进行冗余存储, 以在服务器之间实现负荷分担与负载均衡, 并 使各服务器的服务能力得到有效利用, 在 P2P服务器集群中尚无法实现。 发明内容  In the process of implementing the present invention, the inventors have found that: In the prior art, in a P2P-based server cluster, although internal scheduling of the server is implemented, an appropriate server can be selected to serve the user. Among them, the P2P-based server cluster is also referred to as a P2P server cluster. However, how to perform redundant storage between servers to achieve load sharing and load balancing between servers and to effectively utilize the service capabilities of each server is not possible in a P2P server cluster. Summary of the invention
本发明实施例提供一种媒体文件存储处理与业务处理方法及装置、 服务 器集群, 实现服务器集群中服务器之间实现负荷分担与负载均衡, 并使各服 务器的服务能力得到有效利用。  The embodiments of the present invention provide a media file storage processing and service processing method and device, and a server cluster, which implement load sharing and load balancing between servers in a server cluster, and effectively utilize the service capabilities of each server.
本发明实施例提供的一种媒体文件存储处理方法, 包括: 根据媒体文件的热度确定该媒体文件的热度级别; A media file storage processing method provided by an embodiment of the present invention includes: Determining the popularity level of the media file according to the popularity of the media file;
根据预先设置的热度级别与存储同一媒体文件的服务器数量之间的对应 关系, 确定所述媒体文件的热度级别对应的服务器数量 M;  Determining, according to a correspondence between a preset heat level and a number of servers storing the same media file, a number of servers corresponding to the heat level of the media file;
将所述媒体文件编码成 M个占用带宽相同的子流;  Encoding the media file into M sub-streams occupying the same bandwidth;
按照服务器负载均衡原则,将所述 M个占用带宽相同的子流分别存储在 服务器集群中的 M个服务器上。  According to the principle of server load balancing, the M sub-streams occupying the same bandwidth are respectively stored on M servers in the server cluster.
本发明实施例提供的一种媒体文件存储处理装置, 包括:  A media file storage processing apparatus provided by an embodiment of the present invention includes:
热度识别模块, 用于根据预先设置的热度与热度级别之间的对应关系信 息, 确定媒体文件的热度对应的热度级别;  a heat identification module, configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance;
确定模块, 用于根据预先设置的热度级别与存储同一媒体文件的服务器 数量之间的对应关系, 确定所述媒体文件的热度级别对应的服务器数量 M; 编码单元, 用于将所述媒体文件编码成 M个占用带宽相同的子流; 存储分配模块, 用于按照服务器负载均衡原则, 将所述 M个占用带宽相 同的子流分别发送给服务器集群中的 M个服务器存储。  a determining module, configured to determine, according to a correspondence between a preset heat level and a number of servers storing the same media file, a number M of servers corresponding to a heat level of the media file; and a coding unit, configured to encode the media file The M sub-streams occupying the same bandwidth; the storage allocation module is configured to send the M sub-streams with the same occupied bandwidth to the M servers in the server cluster according to the server load balancing principle.
本发明实施例提供的一种服务器集群, 包括:  A server cluster provided by an embodiment of the present invention includes:
媒体文件存储处理装置, 用于根据预先设置的热度与热度级别之间的对 应关系信息, 确定媒体文件的热度对应的热度级别, 根据预先设置的热度级 别与存储同一媒体文件的服务器数量之间的对应关系, 确定所述媒体文件的 热度级别对应的服务器数量 M,并将所述媒体文件编码成 M个占用带宽相同 的子流, 以及按照服务器负载均衡原则, 将 M个占用带宽相同的子流分别发 送给 M 个服务器存储;  a media file storage processing device, configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance, according to a preset heat level and a number of servers storing the same media file Corresponding relationship, determining the number M of servers corresponding to the heat level of the media file, and encoding the media file into M sub-streams with the same occupied bandwidth, and according to the principle of server load balancing, the M sub-streams occupying the same bandwidth Sent to M server storage;
L个服务器, 该 L个服务器中的 M 个服务器分别用于按照服务器负载 均衡原则,存储所述媒体文件被编码成的 M个占用带宽相同的子流中的一个 子流, 接收终端发送的媒体文件获取请求, 以及将存储的、 所述媒体文件获 取请求中文件标识对应的媒体文件的子流, 发送给所述终端, M为大于 1的 整数, 且 M小于或等于 L。 本发明实施例提供的另一种服务器集群, 包括 L个服务器, 该 L个服务 器中的一个服务器用于根据预先设置的热度与热度级别之间的对应关系信 息, 确定媒体文件的热度对应的热度级别, 根据预先设置的热度级别与存储 同一媒体文件的服务器数量之间的对应关系, 确定所述媒体文件的热度级别 对应的服务器数量 M, 并将所述媒体文件编码成 M个占用带宽相同的子流, 以及按照服务器负载均衡原则, 将 M个占用带宽相同的子流分别存储在所述 L个服务器中的 M 个服务器上, M为大于 1的整数, 且 M小于或等于 L; 所述 L个服务器中的 M个服务器分别用于按照服务器负载均衡原则, 存储所述媒体文件被编码成的 M个占用带宽相同的子流中的一个子流,接收 终端发送的媒体文件获取请求, 以及将存储的、 所述媒体文件获取请求中文 件标识对应的媒体文件的子流, 发送给所述终端。 L servers, the M servers of the L servers are respectively configured to store one of the M sub-streams with the same occupied bandwidth encoded by the media file according to the server load balancing principle, and receive the media sent by the terminal. a file obtaining request, and sending, to the terminal, a substream of the media file corresponding to the file identifier in the media file obtaining request, where M is an integer greater than 1, and M is less than or equal to L. Another server cluster provided by the embodiment of the present invention includes L servers, and one of the L servers is configured to determine the heat corresponding to the heat of the media file according to the correspondence information between the preset heat and heat levels. Level, determining a number M of servers corresponding to the heat level of the media file according to a correspondence between a preset heat level and a number of servers storing the same media file, and encoding the media file into M occupied bandwidths Sub-flow, and according to the principle of server load balancing, storing M sub-streams having the same occupied bandwidth respectively on M servers in the L servers, M is an integer greater than 1, and M is less than or equal to L; The M servers of the L servers are respectively configured to store one of the M sub-streams with the same occupied bandwidth encoded by the media file according to the server load balancing principle, and receive the media file acquisition request sent by the terminal, and Subsequent to the stored media file corresponding to the file identifier in the media file acquisition request, To the terminal.
本发明实施例提供的一种媒体文件业务处理方法, 包括:  A media file service processing method provided by the embodiment of the present invention includes:
接收终端发送的媒体文件获取请求 , 该媒体文件获取请求中携带有媒体 文件标识与终端用户标识;  Receiving a media file acquisition request sent by the terminal, where the media file acquisition request carries a media file identifier and an end user identifier;
服务器集群中的 M个服务器, 根据所述终端用户标识, 分别将各自存储 的所述媒体文件的子流发送给所述终端, 其中, 所述媒体文件根据热度, 被 编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原则分别存储在所 述 M个服务器上, M为大于 1的整数。  The M servers in the server cluster respectively send the substreams of the media files stored to the terminal to the terminal according to the end user identifier, where the media files are encoded into M occupied bandwidths according to the heat degree. The substreams are respectively stored on the M servers according to the server load balancing principle, and M is an integer greater than 1.
本发明实施例提供的一种媒体文件业务处理装置, 包括:  A device for processing a media file service according to an embodiment of the present invention includes:
第一接收模块, 用于接收终端发送的媒体文件获取请求, 该媒体文件获 取请求中携带有媒体文件标识与终端用户标识;  The first receiving module is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier;
查询模块, 用于根据所述媒体文件标识, 查询服务器集群中存储所述媒 体文件的 M个子流的 M个服务器的地址; 获取模块, 用于根据所述 M个服 务器的地址,分别从所述 M个服务器中获取所述媒体文件的 N个子流,其中 , N为大于 1的整数且 N小于或等于 M;  a querying module, configured to query, according to the media file identifier, an address of the M servers that store the M sub-streams of the media file in the server cluster; and an acquiring module, configured to: according to the addresses of the M servers, respectively Obtaining N substreams of the media file in the M servers, where N is an integer greater than 1 and N is less than or equal to M;
发送模块, 用于根据所述终端用户标识, 将分别从所述 M个服务器上的 获取的且和所述媒体文件标识对应的媒体文件的 N个子流,发送给所述终端; 其中, 所述媒体文件根据热度, 被编码成 M个占用带宽相同的子流, 并 按照服务器负载均衡原则分别存储在所述 M个服务器上,Μ为大于 1的整数。 a sending module, configured to be separately from the M servers according to the terminal user identifier The N sub-streams of the media file that are obtained and corresponding to the media file identifier are sent to the terminal; wherein the media file is encoded into M sub-streams with the same occupied bandwidth according to the heat, and is load-balanced according to the server. The principles are stored on the M servers, respectively, and are integers greater than one.
本发明实施例提供的又一种服务器集群, 包括:  Another server cluster provided by the embodiment of the present invention includes:
L个服务器, 该 L个服务器中的 Μ 个服务器分别用于按照服务器负载 均衡原则,存储同一媒体文件被编码成的 Μ个占用带宽相同的子流中的一个 子流, Μ为大于 1的整数, 且 Μ小于或等于 L;  L servers, the servers of the L servers are respectively used to store one substream of the same sub-stream with the same occupied bandwidth encoded by the same media file according to the principle of server load balancing, and Μ is an integer greater than 1. , and Μ is less than or equal to L;
媒体文件处理装置, 用于接收终端发送的媒体文件获取请求, 该媒体文 件获取请求中携带有媒体文件标识与终端用户标识, 以及根据所述终端用户 标识, 将分别存储在服务器集群中 Μ个服务器上的、 所述媒体文件标识对应 的媒体文件的子流, 发送给所述终端。 置、 服务器集群, 可以根据媒体文件的热度, 按照服务器集群中服务器之间 负载均衡的原则, 将媒体文件编码成 Μ个占用带宽相同的子流并分别存储在 服务器集群中的 Μ个服务器上。 当服务器集群接收到终端发送的媒体文件获 取请求时, 分别将该 Μ个服务器上存储的媒体文件的 Μ个子流发送给终端, 终端便可以根据接收到的 Μ个子流中的多个子流还原出媒体文件,从而实现 了服务器集群中服务器之间的负荷分担与负载均衡, 使各服务器的服务能力 得到有效利用。  The media file processing device is configured to receive a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier, and is stored in the server cluster according to the terminal user identifier. The sub-stream of the media file corresponding to the media file identifier is sent to the terminal. According to the heat of media files, according to the principle of load balancing between servers in the server cluster, the media files are encoded into two sub-streams with the same bandwidth and stored in one server in the server cluster. When the server cluster receives the media file acquisition request sent by the terminal, respectively, sending the sub-streams of the media files stored on the server to the terminal, and the terminal may restore the multiple sub-streams according to the received sub-flows. Media files, which realize load sharing and load balancing between servers in a server cluster, so that the service capabilities of each server can be effectively utilized.
下面通过附图和实施例, 对本发明的技术方案做进一步的详细描述。 附图说明  The technical solution of the present invention will be further described in detail below through the accompanying drawings and embodiments. DRAWINGS
图 1为本发明媒体文件存储处理方法一个实施例的流程图;  1 is a flowchart of an embodiment of a media file storage processing method according to the present invention;
图 2为本发明媒体文件存储处理装置一个实施例的结构示意图; 图 3为本发明媒体文件业务处理方法一个实施例的流程图;  2 is a schematic structural diagram of an embodiment of a media file storage processing apparatus according to the present invention; FIG. 3 is a flowchart of an embodiment of a media file service processing method according to the present invention;
图 4为本发明媒体文件业务处理方法另一个实施例的流程图; 图 5为本发明媒体文件业务处理方法又一个实施例的流程图; 图 6为本发明媒体文件业务处理装置一个实施例的结构示意图; 图 7为本发明服务器集群一个实施例的结构示意图; 4 is a flowchart of another embodiment of a method for processing a media file service according to the present invention; 5 is a flowchart of still another embodiment of a media file service processing method according to the present invention; FIG. 6 is a schematic structural diagram of an embodiment of a media file service processing apparatus according to the present invention;
图 8为本发明服务器集群另一个实施例的结构示意图;  8 is a schematic structural diagram of another embodiment of a server cluster according to the present invention;
图 9为本发明服务器集群又一个实施例的结构示意图;  9 is a schematic structural diagram of still another embodiment of a server cluster according to the present invention;
图 10为本发明服务器集群再一个实施例的结构示意图。 具体实施方式  FIG. 10 is a schematic structural diagram of still another embodiment of a server cluster according to the present invention. detailed description
本发明实施例提供的一种媒体文件存储处理方法, 可以根据媒体文件的 热度, 将媒体文件编码成 M个占用带宽相同的子流, 并按照服务器负载均衡 原则, 将该 M个占用带宽相同的子流分别存储在服务器集群中的 M个服务 器上。具体地,在本发明的以下各实施例中,可以采用实用网络编码(Practical network coding )方法对媒体文件进行编码。 由于媒体文件按照热度, 采用实 用网络编码方法编码成 M个占用带宽相同的子流, 并按照服务器集群中服务 器之间负载均衡的原则, 分别存储在服务器集群中的 M个服务器上, 当服务 器集群接收到终端发送的媒体文件获取请求时, 可以分别将该 M个服务器上 存储的媒体文件的 M个子流发送给终端,从而实现了服务器集群中服务器之 间的负荷分担与负载均衡, 使各服务器的服务能力得到有效利用。  The media file storage processing method provided by the embodiment of the present invention may encode the media file into M sub-streams with the same occupied bandwidth according to the heat of the media file, and according to the server load balancing principle, the M occupied bandwidths are the same. The substreams are stored separately on M servers in the server cluster. Specifically, in the following embodiments of the present invention, the media file may be encoded by a practical network coding method. Because the media files are encoded according to the heat, the M sub-streams with the same bandwidth are encoded by the practical network coding method, and are stored on the M servers in the server cluster according to the principle of load balancing among the servers in the server cluster. When receiving the media file acquisition request sent by the terminal, the M substreams of the media files stored on the M servers are respectively sent to the terminal, thereby realizing load sharing and load balancing between the servers in the server cluster, so that each server The service capabilities are effectively utilized.
如图 1所示, 为本发明媒体文件存储处理方法一个实施例的流程图, 其 包括以下步骤:  As shown in FIG. 1 , it is a flowchart of an embodiment of a media file storage processing method according to the present invention, which includes the following steps:
步骤 101 , 根据媒体文件的热度确定该媒体文件的热度级别。  Step 101: Determine a heat level of the media file according to the heat of the media file.
具体地, 可以通过统计的该媒体文件在某段时间内被用户终端访问的次 数来确定媒体文件的热度, 进一步根据预先设置的热度级别包括的热度范围 来确定该媒体文件的热度级别。  Specifically, the hotness of the media file may be determined by counting the number of times the media file is accessed by the user terminal for a certain period of time, and the heat level of the media file is further determined according to the heat range included in the preset heat level.
步骤 102, 根据预先设置的热度级别与存储同一媒体文件的服务器数量 之间的对应关系, 确定媒体文件的热度级别对应的服务器数量 M。 作为本发明的一个具体实施例, 可以规定热度按照第一热度级别、 第二 热度级别、 第三热度级别 等热度级别依次降低, 即: 热度级别越高, 热度越低。 存储热度最高的第一热度级别的媒体文件的服务器数量为构成服 务器集群的服务器的数量 L, L为大于或等于 M的整数; 存储第一热度级别 以外其余热度级别的媒体文件的服务器数量为 P, P为小于 L的整数。 具体 地, P可以取 L/Q或 L/2Q-1中的整数值, Q为热度级别。 Step 102: Determine, according to a correspondence between a preset heat level and a number of servers storing the same media file, the number M of servers corresponding to the heat level of the media file. As a specific embodiment of the present invention, the heat may be sequentially decreased according to the heat level such as the first heat level, the second heat level, and the third heat level, that is, the higher the heat level, the lower the heat. The number of servers storing the media files of the first heat level with the highest heat is the number L of servers constituting the server cluster, L is an integer greater than or equal to M; the number of servers storing media files of other heat levels other than the first heat level is P , P is an integer less than L. Specifically, P may take an integer value in L/Q or L/2Q- 1 , and Q is a heat level.
由于热度级别越高的媒体文件占用的服务器资源越多, 将热度级别越高 的媒体文件编码成越多的子流并存储在各服务器上, 可以使服务器集群中的 各服务器之间实现较好的负荷分担与负载均衡效果, 而将将热度级别越低的 媒体文件编码成越少的子流并存储在各服务器上, 可以减少服务器集群中冗 余存储带来的服务器资源的浪费, 使各服务器的服务能力得到充分利用。  The higher the heat level, the more server resources the media files occupy. The more media files with higher heat levels are encoded into more sub-flows and stored on each server, which can make the servers in the server cluster better. Load sharing and load balancing, and encoding the media files with lower heat levels into fewer sub-flows and storing them on each server, can reduce the waste of server resources caused by redundant storage in the server cluster, so that each The server's service capabilities are fully utilized.
步骤 103 , 将媒体文件采用实用网络编码方法编码成 M个占用带宽相同 的子流。  Step 103: The media file is encoded into M sub-streams with the same occupied bandwidth by using a practical network coding method.
步骤 104, 按照服务器负载均衡原则, 将 M个占用带宽相同的子流分别 存储在服务器集群中的 M个服务器上。  Step 104: According to the server load balancing principle, the M sub-streams with the same occupied bandwidth are respectively stored on the M servers in the server cluster.
在图 1所示实施例的步骤 104之后, 可以记录存储媒体文件的子流的 M 个服务器的地址, 以便服务器集群接收到用户终端发送的媒体文件获取请求 后, 查询存储该媒体文件各子流的服务器的地址, 从相应服务器中获取该媒 体文件的子流。 具体地, 可以以媒体文件标识与服务器的地址之间的对应关 系的方式来记录存储媒体文件的子流的 M个服务器的地址, 其可以通过如下 方式实现: 建立媒体文件标识与服务器的地址之间的对应关系信息, 并将该 对应关系信息分别存储在服务器集群中的各个服务器上; 建立媒体文件标识 与服务器的地址之间的对应关系信息, 并将该对应关系信息分为多个部分, 分别存储在服务器集群中的多个不同服务器上; 建立媒体文件标识与服务器 的地址之间的对应关系信息, 并将该对应关系信息全部存储在服务器集群中 的一个或多个特定服务器上, 或者分散存储在多个特定服务器上。 由于不同的媒体文件有不同的热度。 根据热度的不同, 可以对媒体文 件的热度进行分级,将不同的媒体文件划分为多个不同的热度级别,例如: 第一热度级别、 第二热度级别与第三热度级别共三个热度级别。 可以设定 第一热度级别的媒体文件热度最高, 第二热度级别的媒体文件热度次之, 以此类推。 假设一个服务器集群中有 L个服务器, L为大于 1的整数。 以下 以将媒体文件分为三个热度级别为例, 说明对媒体文件进行编码, 并按照 服务器负载均衡原则将编码的 M个子流分别存储在 M个服务器上的实施例, 对于其它热度级别可参考处理。 After the step 104 of the embodiment shown in FIG. 1, the address of the M servers storing the substreams of the media file may be recorded, so that after receiving the media file acquisition request sent by the user terminal, the server cluster queries and stores the substreams of the media file. The address of the server, which gets the subflow of the media file from the corresponding server. Specifically, the address of the M servers storing the substreams of the media file may be recorded in a manner corresponding to the correspondence between the media file identifier and the address of the server, which may be implemented by: establishing a media file identifier and an address of the server. Corresponding relationship information, and storing the correspondence information in each server in the server cluster; establishing correspondence information between the media file identifier and the address of the server, and dividing the correspondence information into multiple parts, Stored on a plurality of different servers in the server cluster; establish correspondence information between the media file identifier and the address of the server, and store the correspondence information on one or more specific servers in the server cluster, or Distributed across multiple specific servers. Because different media files have different enthusiasm. Depending on the degree of heat, the heat of the media files can be graded, and the different media files are divided into a plurality of different heat levels, for example: the first heat level, the second heat level and the third heat level have three heat levels. It is possible to set the media file of the first heat level to be the hottest, the media file of the second heat level to be hot, and so on. Suppose there are L servers in a server cluster, and L is an integer greater than 1. The following is an example in which the media files are divided into three heat levels, and the media files are encoded, and the encoded M sub-streams are respectively stored on the M servers according to the server load balancing principle. For other heat levels, reference may be made. deal with.
首先, 对媒体文件划分为不同的热度级别。 具体地, 可以根据各媒体 文件在某段时间内被用户访问的频率来确定各媒体文件的热度级别。 例 如: 频率大于或等于 100的为第一热度级别, 频率介于 50与 100之间的为第 二热度级别, 频率小于或等于 50的为第三热度级别。 另外, 也可以根据各 媒体文件在某段时间内被用户访问的频率及预设的各热度级别包含的媒 体文件数量, 来划分媒体文件的热度级别, 其中各热度级别包含的媒体文 件数量可以根据实际情况需要进行更新。 例如: 预设第一热度级别包含 10 个媒体文件, 第二热度级别包含 20个媒体文件, 其余媒体文件属于第三热 度级别, 则在某段时间内, 按照被用户访问频率从高到低排序的前 10个媒 体文件属于第一热度级别, 按照被用户访问频率从高到低排序的第 11至第 30个媒体文件属于第二热度级别, 其余媒体文件属于第三热度级别。 对媒 体文件划分热度级别后, 假设第一热度级别的媒体文件有 X个, 第二热度 级别的媒体文件有 Y个, 第三热度级别的媒体文件有 Z个。  First, the media files are divided into different heat levels. Specifically, the popularity level of each media file may be determined according to the frequency at which each media file is accessed by the user for a certain period of time. For example: a frequency greater than or equal to 100 is the first heat level, a frequency between 50 and 100 is the second heat level, and a frequency less than or equal to 50 is the third heat level. In addition, the heat level of the media file may be divided according to the frequency of the media files accessed by the user in a certain period of time and the preset number of media files included in each heat level, wherein the number of media files included in each heat level may be based on The actual situation needs to be updated. For example: The preset first heat level contains 10 media files, the second heat level contains 20 media files, and the remaining media files belong to the third heat level, then sorted according to the frequency of user accesses from high to low for a certain period of time. The first 10 media files belong to the first heat level, and the 11th to 30th media files sorted according to the user access frequency from high to low belong to the second heat level, and the remaining media files belong to the third heat level. After dividing the heat level of the media file, it is assumed that there are X media files of the first heat level, Y media files of the second heat level, and Z media files of the third heat level.
对于第一热度级别的 X个媒体文件中的每一个媒体文件, 都编码成 L 个占用带宽相同的子流并分别存储在服务器集群中的 L个服务器上。 按照 实用网络编码原理,终端只需要从这 L个服务器中获取同一个媒体文件的若 干个子流, 就可以通过对该子流的编码、 组合, 还原出媒体文件。 这样, 即使服务器集群中的服务器发生宕机, 只要不是大面积宕机, 例如: 百分 之八十以上的服务器宕机, 用户终端就可以获得同一媒体文件的足够多的 子流, 从而还原媒体文件。 Each of the X media files of the first heat level is encoded into L sub-streams occupying the same bandwidth and stored on L servers in the server cluster. According to the principle of the practical network coding, the terminal only needs to obtain a plurality of substreams of the same media file from the L servers, and the media files can be restored by encoding and combining the substreams. In this way, even if the server in the server cluster is down, as long as it is not a large area, for example: After more than eighty servers are down, the user terminal can obtain enough substreams of the same media file to restore the media files.
由于服务器集群中各个服务器上都存储了第一热度级别的媒体文件 的子流, 当终端用户请求获取该媒体文件时, 可以从服务器集群中的各个 服务器分别获取该媒体文件的一个子流。 由于每个子流占用的服务器带宽 均为该媒体文件所占带宽的 1/L , 这样, 每个服务器支持一个媒体文件获 取请求所消耗的带宽只占该媒体文件传输所需带宽的 1/L, L个服务器共同 提供完整的媒体文件传输带宽, 对于每个媒体文件获取请求, 服务器集群 中各服务器之间实现了负荷分担与负载均衡。 从总体上看, 服务器之间对 第一级别热度的媒体文件获取请求始终是负荷分担的, 实现了服务器之间 的负载均衡。  Since the sub-stream of the media file of the first heat level is stored on each server in the server cluster, when the end user requests to obtain the media file, a sub-flow of the media file may be separately obtained from each server in the server cluster. Since the server bandwidth occupied by each sub-flow is 1/L of the bandwidth occupied by the media file, the bandwidth consumed by each server to support one media file acquisition request only accounts for 1/L of the bandwidth required for the transmission of the media file. L servers together provide complete media file transfer bandwidth. For each media file acquisition request, load sharing and load balancing are implemented between servers in the server cluster. In general, the media file acquisition request between the servers for the first level of heat is always load-sharing, and the load balancing between servers is realized.
对于第二热度级别的 Y个媒体文件中的每一个媒体文件, 若服务器集 群中服务器的数量为偶数, 即: L为偶数, 都编码成 L/2个占用带宽相同的 子流, 将每个媒体文件均勾存储在服务器集群中 L/2个服务器上。 具体地, 可以将第二热度级别中第一个媒体文件的 L/2个子流分别存储在服务器集 群中的任意 L/2个服务器上, 将第二个媒体文件的 L/2个子流分别存储在服 务器集群中的另外 L/2个服务器上; 第三个媒体文件的 L/2个子流存储在服 务器集群中的任意 L/2个服务器上, 将第四个媒体文件的 L/2个子流分别存 储在服务器集群中的另外 L/2个服务器上, 以此类推。 若服务器集群中服 务器的数量为奇数, 即: L为奇数, 将第二热度级别的 Y个媒体文件, 间隔 编码成 (L-1 ) /2与 (L+1 ) /2个占用带宽相同的子流, 将每个媒体文件均 匀存储在服务器集群中的 (L-1 ) /2与 (L+1 ) /2个个服务器上。 具体地, 可以将第二热度级别中第一个媒体文件的(L-1 ) /2个子流分别存储在服务 器集群中的任意( L-1 )/2个服务器上,将第二个媒体文件被编码成的( L+1 ) /2个子流分别存储在服务器集群中的另外(L+1 ) /2个服务器上; 第三个媒 体文件被编码成的 (L-1 ) /2个子流存储在服务器集群中的任意 (L-1 ) 12 个服务器上, 将第四个媒体文件被编码成的 (L+1 ) /2个子流分别存储在 服务器集群中的另外(L+1 ) /2个服务器上, 以此类推。 按照实用网络编码 原理, 终端只需要从这 L个服务器中获取同一个媒体文件的若干个子流, 就可以通过对该子流的编码、 组合, 还原出媒体文件。 这样, 即使服务器 集群中的服务器发生宕机, 只要不是大面积宕机, 例如: 存储同一媒体文 件子流的百分之八十以上的服务器宕机, 用户终端就可以获得同一媒体文 件的足够多的子流, 从而还原媒体文件。 For each of the Y media files of the second heat level, if the number of servers in the server cluster is even, that is, L is an even number, all are encoded into L/2 sub-streams occupying the same bandwidth, each will The media files are stored on L/2 servers in the server cluster. Specifically, the L/2 sub-streams of the first media file in the second heat level may be respectively stored in any L/2 servers in the server cluster, and the L/2 sub-streams of the second media file are separately stored. On another L/2 servers in the server cluster; L/2 subflows of the third media file are stored on any L/2 servers in the server cluster, and L/2 subflows of the fourth media file They are stored separately on the other L/2 servers in the server cluster, and so on. If the number of servers in the server cluster is an odd number, that is, L is an odd number, the Y media files of the second heat level are coded into (L-1)/2 and (L+1)/2 occupied bandwidths. Subflow, which stores each media file evenly on (L-1)/2 and (L+1)/2 servers in the server cluster. Specifically, the (L-1)/2 substreams of the first media file in the second heat level may be respectively stored in any (L-1)/2 servers in the server cluster, and the second media file is The encoded (L+1)/2 substreams are stored separately on the other (L+1)/2 servers in the server cluster; the third media file is encoded into (L-1)/2 substreams Any (L-1) stored in the server cluster 12 On the server, the (L+1)/2 substreams into which the fourth media file is encoded are stored separately on the other (L+1)/2 servers in the server cluster, and so on. According to the principle of the practical network coding, the terminal only needs to obtain a plurality of substreams of the same media file from the L servers, and the media files can be restored by encoding and combining the substreams. In this way, even if the server in the server cluster is down, as long as it is not a large-scale downtime, for example: more than 80% of the servers that store the same media file substream are down, the user terminal can get enough of the same media file. Substreams, thereby restoring media files.
针对第二热度级别的媒体文件获取请求, 均有存储该媒体文件子流的 L/2个或(L-1 ) /2个或(L+1 ) /2个服务器共同提供完整的媒体文件传输带 宽, 对于每个媒体文件获取请求, 在服务器集群中 L/2个或 (L-1 ) /2个或 ( L+1 ) /2个服务器之间实现了负荷分担与负载均衡。 从全局来看, 由于 同一热度级别中不同的媒体文件的热度是有差别的, 例如: 媒体文件 A的 热度较高, 有 1000个终端用户请求获取该媒体文件, 则该 1000个媒体文件 获取请求由媒体文件 A的子流所在的 10个服务器提供, 每个服务器需要服 务 100个媒体文件的带宽, 媒体文件 B的热度较低, 有 800个终端用户请求 获取该媒体文件,则该 800个媒体文件获取请求由媒体文件 B所在的 10个服 务器提供, 每个服务器需要服务 80个媒体文件的带宽, 另外, 各媒体文件 所占用的总体带宽也可能不同, 这就使得存储同一热度级别的不同媒体文 件子流的服务器之间出现负荷差异与负载差异。 因此, 在服务器上放置第 二热度级别的媒体文件子流时, 要考虑媒体文件的总热度与所需占用带 宽, 保证各服务器上的媒体文件的总热度及所需占用带宽近似相当, 以达 到较好的负荷分担与负载均衡效果。  For the media file acquisition request of the second heat level, there are L/2 or (L-1)/2 or (L+1)/2 servers storing the media file substream to provide complete media file transmission. Bandwidth, for each media file acquisition request, load sharing and load balancing between L/2 or (L-1) /2 or (L+1) /2 servers in the server cluster. From a global perspective, since the heat of different media files in the same heat level is different, for example: the heat of media file A is high, and 1000 end users request to obtain the media file, then the 1000 media file acquisition request Provided by 10 servers where the sub-stream of the media file A is located, each server needs to serve the bandwidth of 100 media files, the heat of the media file B is low, and 800 end users request to obtain the media file, then the 800 media The file acquisition request is provided by the 10 servers where the media file B is located. Each server needs to serve the bandwidth of 80 media files. In addition, the overall bandwidth occupied by each media file may also be different, which makes it possible to store different media of the same heat level. Load differences and load differences between servers in the file subflow. Therefore, when placing the second heat level media file substream on the server, the total heat of the media file and the required occupied bandwidth should be considered, and the total heat of the media files on each server and the required occupied bandwidth are approximately equal to achieve Better load sharing and load balancing.
相对于第一热度级别的媒体文件来说, 因为只有 L/2个或 (L-l ) /2个 或 (L+1 ) /2个服务器存储同一媒体文件的子流, 可为终端用户提供同一 媒体文件的服务器规模减少, 部分服务器宕机对媒体文件质量的影响相对 较大, 因此, 服务器集群系统的鲁棒性有所降低, 但是, 由于第二级别热 度的媒体文件被访问频率相对较低, 相对于第一热度级别的媒体文件来 说, 减少了冗余存储导致对服务器存储空间资源的浪费, 使各服务器的服 务能力得到有效利用。 Relative to the media file of the first heat level, because only L/2 or (Ll) /2 or (L+1) /2 servers store substreams of the same media file, the same media can be provided to the end user. The server size of the file is reduced, and the impact of some server downtime on the quality of the media file is relatively large. Therefore, the robustness of the server cluster system is reduced, but due to the second level of heat The degree of access to the media files is relatively low. Compared with the media files of the first heat level, the redundant storage reduces the waste of the server storage space resources, and the service capabilities of the servers are effectively utilized.
对于第三热度级别的 Z个媒体文件, 查看服务器集群中各服务器的剩 余能力, 该剩余能力可以是服务器所支持的总带宽与存储各媒体文件子流 所占用的总带宽只差, 选择出剩余能力大于预设阈值的服务器或剩余能力 最多的前若干个服务器,假设有 R个。将三热度级别的 Z个媒体文件分别编 码成 R个子流分别存储在 R个服务器上。 按照实用网络编码原理, 终端只需 要从这 R个服务器中获取同一个媒体文件的若干个子流, 就可以通过对该 子流的编码、 组合, 还原出媒体文件。 这样, 即使服务器集群中的服务器 发生宕机, 只要不是大面积宕机, 例如: 存储同一媒体文件子流的百分之 八十以上的服务器宕机, 用户终端就可以获得同一媒体文件的足够多的子 流 , 从而还原媒体文件。  For the Z media files of the third heat level, view the remaining capacity of each server in the server cluster. The remaining capacity may be the total bandwidth supported by the server and the total bandwidth occupied by the media stream sub-streams, and the remaining capacity is selected. A server with a capacity greater than a preset threshold or a few servers with the highest remaining capacity, assuming R. The Z media files of the three-heat level are respectively encoded into R sub-streams and stored in R servers. According to the principle of the practical network coding, the terminal only needs to obtain a plurality of substreams of the same media file from the R servers, and the media files can be restored by encoding and combining the substreams. In this way, even if the server in the server cluster is down, as long as it is not a large-scale downtime, for example: more than 80% of the servers that store the same media file substream are down, the user terminal can get enough of the same media file. Substreams, thereby restoring media files.
显然, 第三热度级别的媒体文件, 相对于第一热度级别与第二热度级 别的媒体文件来说, 为终端用户提供服务的服务器数量无法得到保证, 相 应的, 服务器之间的负荷分担与系统鲁棒性效果也相对较差。 但是, 由于 第三热度级别的媒体文件的访问频率较低, 对整体服务器之间的负荷分担 的影响并不是很大。 并且, 由于第三级别热度的媒体文件被访问频率相对 较低, 相对于第一热度级别与第二热度级别的媒体文件来说, 减少了冗余 存储导致对服务器存储空间资源的浪费, 使各服务器的服务能力得到有效 利用。  Obviously, the media file of the third heat level, compared with the media files of the first heat level and the second heat level, the number of servers serving the end user cannot be guaranteed, and correspondingly, the load sharing and the system between the servers The robustness effect is also relatively poor. However, due to the low frequency of access to media files of the third heat level, the impact on load sharing between the entire servers is not very large. Moreover, since the third-level hot media file is accessed at a relatively low frequency, the redundant storage reduces the waste of the server storage space resources compared to the media files of the first heat level and the second heat level, so that each The server's service capabilities are effectively utilized.
如图 2所示,为本发明媒体文件存储处理装置一个实施例的结构示意图。 该实施例的媒体文件存储处理装置可用于实现本发明上述本发明媒体文件存 储处理实施例的流程, 其包括热度识别模块 201、 确定模块 202、 编码模块 203与存储分配模块 204。 其中, 热度识别单元 201用于根据预先设置的热度 与热度级别之间的对应关系信息, 确定媒体文件的热度对应的热度级别。 确 定模块 202用于根据预先设置的热度级别与存储同一媒体文件的服务器数量 之间的对应关系, 确定媒体文件的热度级别对应的服务器数量 M。 编码模块 203用于将媒体文件编码成 M个占用带宽相同的子流。 存储分配模块 204用 于按照服务器负载均衡原则, 将编码模块 203编码成的 M个占用带宽相同的 子流分别发送给服务器集群中的 M个服务器存储。 FIG. 2 is a schematic structural diagram of an embodiment of a media file storage processing apparatus according to the present invention. The media file storage processing apparatus of this embodiment may be used to implement the foregoing embodiment of the media file storage processing embodiment of the present invention, which includes a popularity identification module 201, a determination module 202, an encoding module 203, and a storage allocation module 204. The heat identification unit 201 is configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance. Indeed The determining module 202 is configured to determine the number M of servers corresponding to the heat level of the media file according to the correspondence between the preset heat level and the number of servers storing the same media file. The encoding module 203 is configured to encode the media file into M sub-streams with the same occupied bandwidth. The storage allocation module 204 is configured to send the M sub-streams with the same occupied bandwidth encoded by the encoding module 203 to the M servers in the server cluster according to the server load balancing principle.
作为本发明的一个具体实施例, 可以规定热度按照第一热度级别、 第二 热度级别、 第三热度级别 等热度级别依次降低, 即: 热度级别越高, 热度越低。 存储热度最高的第一热度级别的媒体文件的服务器数量为构成服 务器集群的服务器的数量 L, L为大于或等于 M的整数; 存储第一热度级别 以外其余热度级别的媒体文件的服务器数量为 P, P为小于 L的整数。 具体 地, P可以取 L/Q或 L/2Q-1中的整数值, Q为热度级别。 As a specific embodiment of the present invention, the heat may be sequentially decreased according to the heat level such as the first heat level, the second heat level, and the third heat level, that is, the higher the heat level, the lower the heat. The number of servers storing the media files of the first heat level with the highest heat is the number L of servers constituting the server cluster, L is an integer greater than or equal to M; the number of servers storing media files of other heat levels other than the first heat level is P , P is an integer less than L. Specifically, P may take an integer value in L/Q or L/2Q- 1 , and Q is a heat level.
进一步地, 如图 2所示, 本发明实施例的媒体文件存储处理装置还可以 包括记录模块 205 , 用于记录存储媒体文件的子流的 M个服务器的地址。  Further, as shown in FIG. 2, the media file storage processing apparatus of the embodiment of the present invention may further include a recording module 205 for recording an address of the M servers storing the substreams of the media file.
本发明实施例提供的一种服务器集群, 可用于实现上述实施例的媒体文 件存储处理方法, 其包括媒体文件存储处理装置与 L个服务器。 其中, L个 服务器中的 M 个服务器分别用于按照服务器负载均衡原则,存储同一媒体文 件被编码成的 M个占用带宽相同的子流中的一个子流,接收终端发送的媒体 文件获取请求, 以及将各自存储的、 媒体文件获取请求中文件标识对应的媒 体文件的子流, 发送给终端, M为大于 1的整数, 且 M小于或等于 L。 媒体 文件存储处理装置用于将同一媒体文件编码成 M个占用带宽相同的子流, 并 按照服务器负载均衡原则,将 M个占用带宽相同的子流分别发送给上述 M个 服务器存储。 具体地, 该媒体文件存储处理装置可以通过服务器集群中的媒 体中心实现。  A server cluster provided by the embodiment of the present invention can be used to implement the media file storage processing method of the foregoing embodiment, which includes a media file storage processing device and L servers. The M servers of the L servers are respectively configured to store one substream of the M sub-streams with the same occupied bandwidth that the same media file is encoded according to the server load balancing principle, and receive the media file acquisition request sent by the terminal. And sending, to the terminal, a substream of the media file corresponding to the file identifier in the media file obtaining request, where M is an integer greater than 1, and M is less than or equal to L. The media file storage processing device is configured to encode the same media file into M sub-streams with the same occupied bandwidth, and send the M sub-streams with the same occupied bandwidth to the M servers for storage according to the server load balancing principle. Specifically, the media file storage processing device can be implemented by a media center in a server cluster.
本发明实施例提供的另一种服务器集群, 可用于实现上述实施例的媒体 文件存储处理方法, 其包括 L个服务器, 该 L个服务器中的一个服务器用于 将同一媒体文件编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原 则, 将 M个占用带宽相同的子流分别存储在该 L个服务器中的 M个服务器 上, M为大于 1的整数, 且 M小于或等于 L。 L个服务器中的 M个服务器 分别用于按照服务器负载均衡原则,存储同一媒体文件被编码成的 M个占用 带宽相同的子流中的一个子流, 接收终端发送的媒体文件获取请求, 以及将 各自存储的、 媒体文件获取请求中文件标识对应的媒体文件的子流, 发送给 终端。 Another server cluster provided by the embodiment of the present invention may be used to implement the media file storage processing method of the foregoing embodiment, which includes L servers, and one of the L servers is used to encode the same media file into M occupations. Substreams with the same bandwidth, and load balancing according to the server Then, M sub-streams occupying the same bandwidth are respectively stored on M servers in the L servers, M is an integer greater than 1, and M is less than or equal to L. The M servers of the L servers are respectively configured to store one substream of the M sub-streams with the same occupied bandwidth that the same media file is encoded according to the server load balancing principle, receive the media file acquisition request sent by the terminal, and The sub-streams of the media files corresponding to the file identifiers in the media file acquisition request are respectively sent to the terminal.
本发明实施例提供的一种媒体文件业务处理方法, 包括: 接收终端发送 的媒体文件获取请求, 该媒体文件获取请求中携带有媒体文件标识与终端用 户标识; 服务器集群中的 M个子流的 M个服务器, 根据终端用户标识, 分 别将各自存储的媒体文件的子流发送给终端。 其中的媒体文件根据热度, 被 编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原则分别存储在上 述 M个服务器上, M为大于 1的整数。 实用网络编码方法是一种网络媒体编 码方法, 该方法可以将一个媒体文件编码成为多个子流, 任意接收到该多个 子流中的部分子流, 对该部分子流进行解码、 组合, 即可还原出原媒体文件 进行播放, 并且播放质量不受影响。 作为一个实施例, 本发明实施例中的服 务器集群为按照 P2P方式将多个服务器组织在一起形成的 P2P服务器集群。  A media file service processing method provided by the embodiment of the present invention includes: receiving a media file acquisition request sent by a terminal, where the media file acquisition request carries a media file identifier and a terminal user identifier; M of the M substreams in the server cluster The servers respectively send substreams of the respective stored media files to the terminal according to the end user identifier. The media files are encoded into M sub-streams with the same bandwidth according to the heat, and are respectively stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1. The utility network coding method is a network media coding method, which can encode a media file into a plurality of substreams, and arbitrarily receive a part of the substreams of the plurality of substreams, and decode and combine the partial substreams. The original media file is restored for playback, and the playback quality is not affected. As an embodiment, the server cluster in the embodiment of the present invention is a P2P server cluster formed by organizing a plurality of servers together in a P2P manner.
由于媒体文件被预先按照热度,编码成 M个占用带宽相同的子流并按照 服务器集群中服务器之间负载均衡的原则, 分别存储在服务器集群中的 M个 服务器上, 当服务器集群接收到终端发送的媒体文件获取请求时, 分别将该 M个服务器上存储的媒体文件的 M个子流发送给终端,从而实现了服务器集 群中服务器之间的负荷分担与负载均衡, 使各服务器的服务能力得到有效利 用。  Because the media files are pre-according to the heat, they are encoded into M sub-streams with the same bandwidth and are stored in the M servers in the server cluster according to the principle of load balancing between servers in the server cluster. When the media file is obtained, the M substreams of the media files stored on the M servers are respectively sent to the terminal, thereby realizing load sharing and load balancing between the servers in the server cluster, so that the service capabilities of the servers are effective. use.
如图 3所示, 为本发明媒体文件业务处理方法一个实施例的流程图, 其包括以下步骤:  As shown in FIG. 3, it is a flowchart of an embodiment of a method for processing a media file service according to the present invention, which includes the following steps:
步骤 301 , 服务器集群接收终端发送的媒体文件获取请求, 该媒体文件 获取请求中携带有媒体文件标识与终端用户标识。 媒体文件标识在一个服务 器集群中唯一的标识一个媒体文件, 其具体可以为媒体文件的名称、 媒体文 件的序号、 媒体文件存储时间、 媒体文件所需占用的带宽等信息中的一种或 多种。 Step 301: The server cluster receives a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier. Media file identification in a service The device cluster uniquely identifies a media file, which may be one or more of the name of the media file, the serial number of the media file, the storage time of the media file, and the bandwidth required by the media file.
步骤 302, 服务器集群中接收到媒体文件获取请求的服务器, 查询媒体 文件获取请求中媒体文件标识对应的 M个服务器的地址。 其中的媒体文件根 据热度, 被编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原则分 别存储在上述 M个服务器上, M为大于 1的整数。  Step 302: The server that receives the media file acquisition request in the server cluster queries the address of the M servers corresponding to the media file identifier in the media file acquisition request. The media files are encoded into M sub-streams with the same bandwidth according to the heat, and are stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
具体地, 媒体文件标识与服务器的地址之间的对应关系信息可以分别存 储在服务器集群中的各个服务器上, 这样, 接收到终端发送的媒体文件获取 请求的服务器通过查询自身存储的媒体文件标识与服务器的地址之间的对应 关系信息,便可以获取媒体文件获取请求中媒体文件标识对应的 M个服务器 的地址。 另外, 媒体文件标识与服务器的地址之间的对应关系信息也可以分 为多个部分, 分别存储在服务器集群中的多个不同服务器上, 接收到终端发 送的媒体文件获取请求的服务器, 在自身中未存储媒体文件获取请求中媒体 文件标识对应的服务器的地址时, 与其它服务器进行信息交互, 从其它服务 器获取媒体文件获取请求中媒体文件标识对应的 M个服务器的地址。 或者, 媒体文件标识与服务器的地址之间的对应关系信息也可以全部存储在服务器 集群中的一个或多个特定服务器上, 或者分散存储在多个特定服务器上, 接 收到终端发送的媒体文件获取请求的服务器, 从特定的服务器获取媒体文件 获取请求中媒体文件标识对应的 M个服务器的地址。  Specifically, the correspondence information between the media file identifier and the address of the server may be separately stored on each server in the server cluster, so that the server that receives the media file acquisition request sent by the terminal queries the media file identifier stored by the server. The correspondence information between the addresses of the servers can obtain the addresses of the M servers corresponding to the media file identifiers in the media file acquisition request. In addition, the correspondence information between the media file identifier and the address of the server may also be divided into multiple parts, which are respectively stored on a plurality of different servers in the server cluster, and the server that receives the media file acquisition request sent by the terminal is in itself When the address of the server corresponding to the media file identifier in the media file acquisition request is not stored, the information is exchanged with other servers, and the addresses of the M servers corresponding to the media file identifier in the media file acquisition request are obtained from other servers. Alternatively, the correspondence information between the media file identifier and the address of the server may be all stored on one or more specific servers in the server cluster, or distributed on multiple specific servers, and the media file sent by the terminal is received. The requested server obtains the address of the M servers corresponding to the media file identifier in the media file acquisition request from the specific server.
步骤 303 , 服务器集群中接收到媒体文件获取请求的服务器, 根据 M个 服务器的地址, 分别将媒体文件获取请求转发给相应的 M个服务器。  Step 303: The server that receives the media file acquisition request in the server cluster forwards the media file acquisition request to the corresponding M servers according to the addresses of the M servers.
如果接收到媒体文件获取请求的服务器是 M个服务器之一,则不需要向 自身转发媒体文件获取请求。  If the server receiving the media file acquisition request is one of the M servers, there is no need to forward the media file acquisition request to itself.
步骤 304, 接收到媒体文件获取请求的 M个服务器, 根据终端用户标识, 将各自存储的媒体文件的子流发送给终端。 终端接收到服务器集群返回的媒体文件的多个子流后, 可以对该多个子 流进行解码、 组合, 即可还原出原媒体文件并进行播放。 Step 304: The M servers that receive the media file acquisition request send the substreams of the stored media files to the terminal according to the terminal user identifier. After receiving the multiple substreams of the media file returned by the server cluster, the terminal may decode and combine the multiple substreams, and then restore the original media file and play it.
如图 4所示, 为本发明媒体文件业务处理方法另一个实施例的流程图, 其包括以下步骤:  As shown in FIG. 4, it is a flowchart of another embodiment of a method for processing a media file service according to the present invention, which includes the following steps:
步骤 401 , 服务器集群接收终端发送的媒体文件获取请求, 该媒体文件 获取请求中携带有媒体文件标识与终端用户标识。 媒体文件标识在一个服务 器集群中唯一的标识一个媒体文件, 其具体可以为媒体文件的名称、 媒体文 件的序号、 媒体文件存储时间、 媒体文件所需占用的带宽等信息中的一种或 多种。  Step 401: The server cluster receives a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier. The media file identifier uniquely identifies a media file in a server cluster, and may specifically be one or more of a name of the media file, a serial number of the media file, a storage time of the media file, and a bandwidth required for the media file. .
步骤 402, 服务器集群中接收到媒体文件获取请求的服务器, 查询媒体 文件获取请求中媒体文件标识对应的 M个服务器的地址。 其中的媒体文件根 据热度, 被编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原则分 别存储在上述 M个服务器上, M为大于 1的整数。  Step 402: The server that receives the media file acquisition request in the server cluster queries the address of the M servers corresponding to the media file identifier in the media file acquisition request. The media files are encoded into M sub-streams with the same bandwidth according to the heat, and are stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
具体地, 媒体文件标识与服务器的地址之间的对应关系信息可以分别存 储在服务器集群中的各个服务器上, 这样, 接收到终端发送的媒体文件获取 请求的服务器通过查询自身存储的媒体文件标识与服务器的地址之间的对应 关系信息,便可以获取媒体文件获取请求中媒体文件标识对应的 M个服务器 的地址。 另外, 媒体文件标识与服务器的地址之间的对应关系信息也可以分 为多个部分, 分别存储在服务器集群中的多个不同服务器上, 接收到终端发 送的媒体文件获取请求的服务器, 在自身中未存储媒体文件获取请求中媒体 文件标识对应的服务器的地址时, 与其它服务器进行信息交互, 从其它服务 器获取媒体文件获取请求中媒体文件标识对应的 M个服务器的地址。 或者, 媒体文件标识与服务器的地址之间的对应关系信息也可以全部存储在服务器 集群中的一个或多个特定服务器上, 或者分散存储在多个特定服务器上, 接 收到终端发送的媒体文件获取请求的服务器, 从特定的服务器获取媒体文件 获取请求中媒体文件标识对应的 M个服务器的地址。 步骤 403 , 服务器集群中接收到媒体文件获取请求的服务器, 根据 M个 服务器的地址, 分别从 M个服务器中获取媒体文件的 N个子流, 为大于 1 的整数且 N小于或等于 M。 Specifically, the correspondence information between the media file identifier and the address of the server may be separately stored on each server in the server cluster, so that the server that receives the media file acquisition request sent by the terminal queries the media file identifier stored by the server. The correspondence information between the addresses of the servers can obtain the addresses of the M servers corresponding to the media file identifiers in the media file acquisition request. In addition, the correspondence information between the media file identifier and the address of the server may also be divided into multiple parts, which are respectively stored on a plurality of different servers in the server cluster, and the server that receives the media file acquisition request sent by the terminal is in itself When the address of the server corresponding to the media file identifier in the media file acquisition request is not stored, the information is exchanged with other servers, and the addresses of the M servers corresponding to the media file identifier in the media file acquisition request are obtained from other servers. Alternatively, the correspondence information between the media file identifier and the address of the server may be all stored on one or more specific servers in the server cluster, or distributed on multiple specific servers, and the media file sent by the terminal is received. The requested server obtains the address of the M servers corresponding to the media file identifier in the media file acquisition request from the specific server. Step 403: The server that receives the media file acquisition request in the server cluster obtains the N substreams of the media file from the M servers according to the addresses of the M servers, and is an integer greater than 1 and N is less than or equal to M.
如果接收到媒体文件获取请求的服务器是 M个服务器之一,则不需要向 自身转发媒体文件获取请求。  If the server receiving the media file acquisition request is one of the M servers, there is no need to forward the media file acquisition request to itself.
步骤 404,接收到媒体文件获取请求的服务器,根据终端用户标识, 分别 将获取到的媒体文件的 N个子流分别发送给终端。  Step 404: The server that receives the media file acquisition request sends the N substreams of the obtained media file to the terminal respectively according to the terminal user identifier.
终端接收到服务器集群返回的媒体文件的多个子流后, 可以对该多个子 流进行解码、 组合, 即可还原出原媒体文件并进行播放。  After receiving the multiple substreams of the media file returned by the server cluster, the terminal can decode and combine the multiple substreams to restore the original media file and play it.
如图 5所示, 为本发明媒体文件业务处理方法又一个实施例的流程图 , 其包括以下步骤:  As shown in FIG. 5, it is a flowchart of still another embodiment of a media file service processing method according to the present invention, which includes the following steps:
步骤 501 , 服务器集群接收终端发送的媒体文件获取请求, 该媒体文件 获取请求中携带有媒体文件标识与终端用户标识。 媒体文件标识在一个服务 器集群中唯一的标识一个媒体文件, 其具体可以为媒体文件的名称、 媒体文 件的序号、 媒体文件存储时间、 媒体文件所需占用的带宽等信息中的一种或 多种。  Step 501: The server cluster receives a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier. The media file identifier uniquely identifies a media file in a server cluster, and may specifically be one or more of a name of the media file, a serial number of the media file, a storage time of the media file, and a bandwidth required for the media file. .
步骤 502, 服务器集群中接收到媒体文件获取请求的服务器, 查询媒体 文件获取请求中媒体文件标识对应的 M个服务器的地址。 其中的媒体文件根 据热度, 被编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原则分 别存储在上述 M个服务器上, M为大于 1的整数。  Step 502: The server that receives the media file acquisition request in the server cluster queries the address of the M servers corresponding to the media file identifier in the media file acquisition request. The media files are encoded into M sub-streams with the same bandwidth according to the heat, and are stored on the above M servers according to the server load balancing principle, where M is an integer greater than 1.
具体地, 媒体文件标识与服务器的地址之间的对应关系信息可以分别存 储在服务器集群中的各个服务器上, 这样, 接收到终端发送的媒体文件获取 请求的服务器通过查询自身存储的媒体文件标识与服务器的地址之间的对应 关系信息,便可以获取媒体文件获取请求中媒体文件标识对应的 M个服务器 的地址。 另外, 媒体文件标识与服务器的地址之间的对应关系信息也可以分 为多个部分, 分别存储在服务器集群中的多个不同服务器上, 接收到终端发 送的媒体文件获取请求的服务器, 在自身中未存储媒体文件获取请求中媒体 文件标识对应的服务器的地址时, 与其它服务器进行信息交互, 从其它服务 器获取媒体文件获取请求中媒体文件标识对应的 M个服务器的地址。 或者, 媒体文件标识与服务器的地址之间的对应关系信息也可以全部存储在服务器 集群中的一个或多个特定服务器上, 或者分散存储在多个特定服务器上, 接 收到终端发送的媒体文件获取请求的服务器, 从特定的服务器获取媒体文件 获取请求中媒体文件标识对应的 M个服务器的地址。 Specifically, the correspondence information between the media file identifier and the address of the server may be separately stored on each server in the server cluster, so that the server that receives the media file acquisition request sent by the terminal queries the media file identifier stored by the server. The correspondence information between the addresses of the servers can obtain the addresses of the M servers corresponding to the media file identifiers in the media file acquisition request. In addition, the correspondence information between the media file identifier and the address of the server may also be divided into multiple parts, which are respectively stored on a plurality of different servers in the server cluster, and received by the terminal. The server that obtains the media file acquisition request does not store the address of the server corresponding to the media file identifier in the media file acquisition request, and performs information interaction with other servers, and obtains the media file identifier corresponding to the media file acquisition request from other servers. The address of the M servers. Alternatively, the correspondence information between the media file identifier and the address of the server may be all stored on one or more specific servers in the server cluster, or distributed on multiple specific servers, and the media file sent by the terminal is received. The requested server obtains the address of the M servers corresponding to the media file identifier in the media file acquisition request from the specific server.
步骤 503 , 服务器集群中接收到媒体文件获取请求的服务器, 根据 M个 服务器的地址, 分别向相应的 M个服务器发送指示信息, 指示 M个服务器 分别各自存储的媒体文件的子流发送给终端 , 所述指示信息中携带有终端用 户标识。  Step 503: The server that receives the media file acquisition request in the server cluster sends the indication information to the corresponding M servers according to the addresses of the M servers, and instructs the sub-flows of the media files respectively stored by the M servers to be sent to the terminal. The indication information carries an end user identifier.
如果接收到媒体文件获取请求的服务器是 M个服务器之一,则不需要向 自身发送指示信息。  If the server receiving the media file acquisition request is one of the M servers, it is not necessary to send the indication information to itself.
步骤 504, 接收到指示信息的 M个服务器, 根据终端用户标识, 分别将 各自存储的媒体文件的 N个子流分别发送给终端。  Step 504: The M servers that receive the indication information respectively send the N sub-streams of the respective stored media files to the terminal according to the terminal user identifier.
终端接收到服务器集群返回的媒体文件的多个子流后, 可以对该多个子 流进行解码、 组合, 即可还原出原媒体文件并进行播放。  After receiving the multiple substreams of the media file returned by the server cluster, the terminal can decode and combine the multiple substreams to restore the original media file and play it.
如图 6所示,为本发明媒体文件业务处理装置一个实施例的结构示意图, 该实施例的媒体文件业务处理装置可用于实现上述图 4所示的媒体文件业务 处理方法实施例, 其包括第一接收模块 601、 查询模块 602、 获取模块 603与 发送模块 604。 其中, 第一接收模块 601用于接收终端发送的媒体文件获取 请求, 该媒体文件获取请求中携带有媒体文件标识与终端用户标识。 查询模 块 602用于根据媒体文件标识与服务器的地址之间的对应关系信息, 查询存 储媒体文件获取请求中媒体文件标识对应的媒体文件的 M个子流的 M个服 务器的地址。 获取模块 603用于根据查询模块 602查询到的 M个服务器的地 址, 分别从 M个服务器中获取媒体文件的 N个子流, 为大于 1的整数且 N 小于或等于 M。发送模块 604用于根据媒体文件获取请求中的终端用户标识, 将获取模块 603获取到的、 媒体文件标识对应的媒体文件的 N个子流, 发送 给终端。 所述媒体文件根据热度, 被编码成 M个占用带宽相同的子流, 并按 照服务器负载均衡原则分别存储在 M个服务器上,其中, M为大于 1的整数。 FIG. 6 is a schematic structural diagram of an embodiment of a media file service processing apparatus according to the present invention. The media file service processing apparatus of the embodiment may be used to implement the foregoing media file service processing method embodiment shown in FIG. A receiving module 601, a query module 602, an obtaining module 603 and a sending module 604. The first receiving module 601 is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier. The querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request. The obtaining module 603 is configured to obtain N substreams of the media file from the M servers according to the addresses of the M servers queried by the query module 602, which are integers greater than 1 and N. Less than or equal to M. The sending module 604 is configured to send the N substreams of the media file corresponding to the media file identifier acquired by the obtaining module 603 to the terminal according to the terminal user identifier in the media file obtaining request. The media file is encoded into M sub-streams having the same occupied bandwidth according to the heat, and is respectively stored on M servers according to the server load balancing principle, where M is an integer greater than 1.
本发明实施例提供的一种服务器集群, 该实施例的服务器集群可用于实 现本发明上述媒体文件业务处理方法实施例, 其包括媒体文件业务处理装置 1与 L个服务器 2。 其中, L个服务器 2中的 M 个服务器分别用于按照服务 器负载均衡原则,存储同一媒体文件被编码成的 M个占用带宽相同的子流中 的一个子流, M为大于 1的整数, 且 M小于或等于 L。 媒体文件业务处理装 置 1用于接收终端发送的媒体文件获取请求, 该媒体文件获取请求中携带有 媒体文件标识与终端用户标识, 以及根据终端用户标识, 将分别存储在服务 器集群中 M个服务器 2上的、 媒体文件标识对应的媒体文件的子流, 发送给 终端。 如图 7所示, 为本发明服务器集群一个实施例的结构示意图, 该实施 例的服务器集群包括 5个服务器, 即: L的取值为 5。  A server cluster provided by the embodiment of the present invention, the server cluster of the embodiment may be used to implement the foregoing media file service processing method embodiment of the present invention, which includes a media file service processing device 1 and L servers 2. The M servers of the L servers 2 are respectively configured to store one substream of the M sub-streams with the same occupied bandwidth, which is encoded by the same media file according to the server load balancing principle, where M is an integer greater than 1, and M is less than or equal to L. The media file service processing apparatus 1 is configured to receive a media file acquisition request sent by the terminal, where the media file acquisition request carries the media file identifier and the terminal user identifier, and stores the M servers in the server cluster according to the terminal user identifier. The sub-stream of the media file corresponding to the media file identifier is sent to the terminal. As shown in FIG. 7, it is a schematic structural diagram of an embodiment of a server cluster according to the present invention. The server cluster of the embodiment includes five servers, that is, the value of L is 5.
如图 8所示, 为本发明服务器集群另一个实施例的结构示意图, 与图 7 所示实施例的服务器集群相比, 该实施例的服务器 2 包括存储模块 701 , 媒 体文件业务处理装置 1包括第一接收模块 601、 查询模块 602、 获取模块 603 与与发送模块 604。 其中, 存储模块 701 用于与服务器集群中其它服务器 2 之间按照负载均衡原则,存储同一媒体文件被编码成的 M个占用带宽相同的 子流中的一个子流。 第一接收模块 601用于接收终端发送的媒体文件获取请 求, 该媒体文件获取请求中携带有媒体文件标识与终端用户标识。 查询模块 602 用于根据媒体文件标识与服务器的地址之间的对应关系信息, 查询存储 媒体文件获取请求中媒体文件标识对应的媒体文件的 M个子流的 M个服务 器的地址。获取模块 603用于根据查询模块 602查询到的 M个服务器的地址, 分别从 M个服务器中获取媒体文件的 N个子流, 其中, N为大于 1的整数且 N小于或等于 M。 发送模块 604用于根据媒体文件获取请求中的终端用户标 识, 将获取模块 603从 M个服务器 2上存储模块 701中获取到的、 媒体文件 标识对应的媒体文件的 N个子流, 发送给终端。 FIG. 8 is a schematic structural diagram of another embodiment of a server cluster according to the present invention. Compared with the server cluster of the embodiment shown in FIG. 7, the server 2 of the embodiment includes a storage module 701, and the media file service processing apparatus 1 includes The first receiving module 601, the querying module 602, the obtaining module 603, and the sending module 604. The storage module 701 is configured to store, among the other servers 2 in the server cluster, one substream of the M sub-streams with the same occupied bandwidth, which are encoded into the same media file according to the load balancing principle. The first receiving module 601 is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier. The querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request. The obtaining module 603 is configured to obtain N sub-streams of the media file from the M servers according to the addresses of the M servers queried by the query module 602, where N is an integer greater than 1 and N is less than or equal to M. The sending module 604 is configured to obtain an end user identifier according to the media file acquisition request. The N substreams of the media files corresponding to the media file identifiers obtained by the obtaining module 603 from the storage modules 701 of the M servers 2 are sent to the terminal.
如图 9所示, 为本发明服务器集群又一个实施例的结构示意图, 该实施 例的服务器集群可用于实现如图 3 所示媒体文件业务处理方法实施例的流 程。 与图 7所示实施例的服务器集群相比, 该实施例中的媒体文件业务处理 装置 1包括第一接收模块 601、 查询模块 602与转发模块 801 , 服务器 2包括 第二接收模块 802、 存储模块 701与发送模块 604。 其中, 第一接收模块 601 用于接收终端发送的媒体文件获取请求 , 该媒体文件获取请求中携带有媒体 文件标识与终端用户标识。 查询模块 602用于根据媒体文件标识与服务器的 地址之间的对应关系信息, 查询存储媒体文件获取请求中媒体文件标识对应 的媒体文件的 M个子流的 M个服务器的地址。 转发模块 801用于根据查询 模块 602查询到的 M个服务器的地址,分别将媒体文件获取请求转发给 M个 服务器 2中的第二接收模块 802。 第二接收模块 802用于接收转发模块 801 转发的媒体文件获取请求。 存储模块 701 用于与服务器集群中其它服务器 2 之间按照负载均衡原则,存储同一媒体文件被编码成的 M个占用带宽相同的 子流中的一个子流。 发送模块 604根据第二接收模块 802接收到的媒体文件 请求中携带的终端用户标识, 将存储在该发送模块 604所在服务器 2上存储 模块 701中的、 媒体文件标识对应的媒体文件的子流, 发送给终端。 图 9仅 示出了媒体文件业务处理装置 1与一个服务器 2连接关系 , 对于服务器集群 中包括多个服务器的情况, 媒体文件业务处理装置 1与其它服务器 2的连接 关系相同。  As shown in FIG. 9 , it is a schematic structural diagram of another embodiment of the server cluster of the present invention. The server cluster of the embodiment can be used to implement the process of the media file service processing method embodiment shown in FIG. 3 . Compared with the server cluster of the embodiment shown in FIG. 7, the media file service processing apparatus 1 in this embodiment includes a first receiving module 601, a querying module 602, and a forwarding module 801. The server 2 includes a second receiving module 802 and a storage module. 701 and sending module 604. The first receiving module 601 is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries a media file identifier and an end user identifier. The querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request. The forwarding module 801 is configured to forward the media file acquisition request to the second receiving module 802 of the M servers 2 according to the addresses of the M servers queried by the query module 602. The second receiving module 802 is configured to receive a media file acquisition request forwarded by the forwarding module 801. The storage module 701 is configured to store, in accordance with the load balancing principle, one sub-stream of the M sub-streams with the same occupied bandwidth, which are encoded by the same media file, with other servers in the server cluster. The sending module 604 stores, according to the terminal user identifier carried in the media file request received by the second receiving module 802, a substream of the media file corresponding to the media file identifier stored in the storage module 701 of the server 2 where the sending module 604 is located. Send to the terminal. Fig. 9 shows only the connection relationship between the media file service processing apparatus 1 and a server 2. For the case where the server cluster includes a plurality of servers, the connection relationship between the media file service processing apparatus 1 and the other servers 2 is the same.
如图 10所示, 为本发明服务器集群再一个实施例的结构示意图,该实施 例的服务器集群可用于实现如图 5 所示媒体文件业务处理方法实施例的流 程。 与图 7所示实施例的服务器集群相比, 该实施例中的媒体文件业务处理 装置 1包括第一接收模块 601、 查询模块 602与指示模块 901 , 服务器 2包括 第二接收模块 802、 存储模块 701与发送模块 604。 其中, 第一接收模块 601 用于接收终端发送的媒体文件获取请求, 该媒体文件获取请求中携带有媒体 文件标识与终端用户标识。 查询模块 602用于根据媒体文件标识与服务器的 地址之间的对应关系信息, 查询存储媒体文件获取请求中媒体文件标识对应 的媒体文件的 M个子流的 M个服务器的地址。 指示模块 901用于根据查询 模块 602查询到的 M个服务器的地址, 分别向 M个服务器 2中的第二接收 模块 802发送指示信息, 该指示信息中包括终端用户标识与媒体文件标识, 指示 M个服务器 2中的发送模块 604根据终端用户标识, 将存储在该发送模 块 604所在服务器 2上的、 媒体文件标识对应的媒体文件的子流, 发送给终 端。 第二接收模块 802用于接收转发模块 801转发的媒体文件获取请求。 存 储模块 701用于与服务器集群中其它服务器 2之间按照负载均衡原则, 存储 同一媒体文件被编码成的 M个占用带宽相同的子流中的一个子流。发送模块 604根据第二接收模块 802接收到的指示信息中的终端用户标识,将存储在该 发送模块 604所在服务器 2上存储模块 701中的、媒体文件标识对应的媒体文 件的子流, 发送给终端。 图 10仅示出了媒体文件业务处理装置 1与一个服务 器 2连接关系, 对于服务器集群中包括多个服务器的情况,媒体文件业务处理 装置 1与其它服务器 2的连接关系相同。 As shown in FIG. 10, it is a schematic structural diagram of another embodiment of a server cluster according to the present invention. The server cluster of this embodiment can be used to implement the process of the media file service processing method embodiment shown in FIG. 5. Compared with the server cluster of the embodiment shown in FIG. 7, the media file service processing apparatus 1 in this embodiment includes a first receiving module 601, a querying module 602, and an indicating module 901. The server 2 includes a second receiving module 802 and a storage module. 701 and sending module 604. The first receiving module 601 The method is configured to receive a media file acquisition request sent by the terminal, where the media file acquisition request carries a media file identifier and an end user identifier. The querying module 602 is configured to query, according to the correspondence information between the media file identifier and the address of the server, the addresses of the M servers of the M substreams of the media file corresponding to the media file identifier in the storage media file obtaining request. The indication module 901 is configured to send the indication information to the second receiving module 802 of the M servers 2 according to the address of the M servers that are queried by the querying module 602, where the indication information includes the terminal user identifier and the media file identifier, and the indication M The sending module 604 of the server 2 sends the sub-stream of the media file corresponding to the media file identifier stored on the server 2 of the sending module 604 to the terminal according to the terminal user identifier. The second receiving module 802 is configured to receive a media file obtaining request forwarded by the forwarding module 801. The storage module 701 is configured to store, among the other servers 2 in the server cluster, one substream of the M sub-streams with the same occupied bandwidth, which are encoded into the same media file according to the load balancing principle. The sending module 604 sends the substream of the media file corresponding to the media file identifier stored in the storage module 701 of the server 2 where the sending module 604 is located, according to the terminal user identifier in the indication information received by the second receiving module 802. terminal. FIG. 10 shows only the connection relationship between the media file service processing apparatus 1 and one server 2. For the case where the server cluster includes a plurality of servers, the connection relationship between the media file service processing apparatus 1 and the other servers 2 is the same.
在本发明上述实施例的服务器集群中, L个服务器 2中的 L个存储模块 701分别用于存储热度最高的第一热度级别的媒体文件被编码成的 L个占用 带宽相同的子流中的一个子流, L个服务器 2按照负载均衡原则, 其中的 P 个存储模块 701还分别用于存储第一热度级别以外其余热度级别的媒体文件 被编码成的 P个占用带宽相同的子流中的一个子流。作为一个具体实施例, P 取 L/Q或 L/2Q-1中的整数值, Q为热度级别。 In the server cluster of the foregoing embodiment of the present invention, the L storage modules 701 of the L servers 2 are respectively used to store L media streams of the same heat level with the highest popularity. A sub-flow, L servers 2 are in accordance with the load balancing principle, wherein the P storage modules 701 are also respectively configured to store P media files of the same heat level other than the first heat level encoded into P sub-streams having the same occupied bandwidth A subflow. As a specific embodiment, P takes an integer value in L/Q or L/2Q- 1 , and Q is a heat level.
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机 可读取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程 序代码的介质。 A person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed. The steps of the foregoing method embodiments are included; and the foregoing storage medium includes: ROM, RAM, disk or optical disk, etc. The media of the sequence code.
本发明实施例可以预先根据媒体文件的热度,按照服务器集群中服务器 之间负载均衡的原则, 将该媒体文件编码成 M个占用带宽相同的子流并分别 存储在服务器集群中的 M个服务器上, 当服务器集群接收到终端发送的媒体 文件获取请求时, 分别将该 M个服务器上存储的媒体文件的 M个子流发送给 终端, 终端便可以根据接收到的 M个子流中的多个子流还原出媒体文件, 从 而实现了服务器集群中服务器之间的负荷分担与负载均衡, 并考虑了服务器 集群的存储冗余度与系统鲁棒性, 使各服务器的服务能力得到有效利用。  In the embodiment of the present invention, according to the heat of the media file, the media file is encoded into M sub-streams with the same occupied bandwidth according to the load balancing principle of the servers in the server cluster, and are respectively stored on the M servers in the server cluster. When the server cluster receives the media file acquisition request sent by the terminal, respectively, the M substreams of the media files stored on the M servers are sent to the terminal, and the terminal may be restored according to the received multiple substreams of the M substreams. The media files are output, thereby realizing load sharing and load balancing between servers in the server cluster, and considering the storage redundancy and system robustness of the server cluster, so that the service capabilities of the servers are effectively utilized.
最后所应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对本 发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明, 本领 域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等 同替换, 而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。  It should be noted that the above embodiments are merely illustrative of the technical solutions of the present invention and are not to be construed as limiting. Although the present invention has been described in detail with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that the invention may be modified or equivalently substituted without departing from the invention. The spirit and scope of the programme.

Claims

权 利 要 求 Rights request
1、 一种媒体文件存储处理方法, 其特征在于, 包括: A method for processing a media file storage, comprising:
根据媒体文件的热度确定该媒体文件的热度级别;  Determining the popularity level of the media file according to the popularity of the media file;
根据预先设置的热度级别与存储同一媒体文件的服务器数量之间的对应 关系, 确定所述媒体文件的热度级别对应的服务器数量 M;  Determining, according to a correspondence between a preset heat level and a number of servers storing the same media file, a number of servers corresponding to the heat level of the media file;
将所述媒体文件编码成 M个占用带宽相同的子流;  Encoding the media file into M sub-streams occupying the same bandwidth;
按照服务器负载均衡原则,将所述 M个占用带宽相同的子流分别存储在 服务器集群中的 M个服务器上。  According to the principle of server load balancing, the M sub-streams occupying the same bandwidth are respectively stored on M servers in the server cluster.
2、根据权利要求 1所述的方法, 其特征在于, 所述热度级别与存储同一 媒体文件的服务器数量之间的对应关系包括:  The method according to claim 1, wherein the correspondence between the heat level and the number of servers storing the same media file comprises:
存储热度最高的第一热度级别的媒体文件的服务器数量为构成所述服务 器集群的服务器的数量 L, L为大于或等于 M的整数; 为小于 L的整数。  The number of servers storing the hottest first heat level media files is the number of servers constituting the server cluster L, L is an integer greater than or equal to M; is an integer less than L.
3、 根据权利要求 2所述的方法, 其特征在于, P取自 L/Q或 L/2( ^中的 整数值, Q为热度级别。 3. Method according to claim 2, characterized in that P is taken from L/Q or L/2 ( an integer value in ^, Q is a heat level).
4、 根据权利要求 1至 3任意一项所述的方法, 其特征在于, 将所述 M 个占用带宽相同的子流分别存储在服务器集群中的 M个服务器上之后,还包 括:  The method according to any one of claims 1 to 3, wherein after the M sub-streams having the same occupied bandwidth are respectively stored on the M servers in the server cluster, the method further includes:
记录存储所述媒体文件的子流的 M个服务器的地址。  The addresses of the M servers storing the substreams of the media files are recorded.
5、 一种媒体文件存储处理装置, 其特征在于, 包括:  A media file storage processing device, comprising:
热度识别模块, 用于根据预先设置的热度与热度级别之间的对应关系信 息, 确定媒体文件的热度对应的热度级别;  a heat identification module, configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance;
确定模块, 用于根据预先设置的热度级别与存储同一媒体文件的服务器 数量之间的对应关系, 确定所述媒体文件的热度级别对应的服务器数量 M; 编码单元, 用于将所述媒体文件编码成 M个占用带宽相同的子流; 存储分配模块, 用于按照服务器负载均衡原则, 将所述 M个占用带宽相 同的子流分别发送给服务器集群中的 M个服务器存储。 a determining module, configured to determine, according to a correspondence between a preset heat level and a number of servers storing the same media file, a number M of servers corresponding to a heat level of the media file; and a coding unit, configured to encode the media file M sub-streams occupying the same bandwidth; The storage allocation module is configured to send the M sub-streams with the same occupied bandwidth to the M server storages in the server cluster according to the server load balancing principle.
6、根据权利要求 5所述的装置, 其特征在于, 热度最高的第一热度级别 的媒体文件的服务器数量为构成所述服务器集群的服务器的数量 L, L 为大 于或等于 M的整数; 为小于 L的整数。  The device according to claim 5, wherein the number of servers of the media files of the first heat level with the highest heat is the number L of servers constituting the server cluster, L is an integer greater than or equal to M; An integer less than L.
7、 根据权利要求 5或 6所述的装置, 其特征在于, 还包括:  7. The device according to claim 5 or 6, further comprising:
记录模块, 用于记录存储所述媒体文件的子流的 M个服务器的地址。 And a recording module, configured to record an address of the M servers storing the substreams of the media file.
8、 一种服务器集群, 其特征在于, 包括: 8. A server cluster, comprising:
媒体文件存储处理装置, 用于根据预先设置的热度与热度级别之间的对 应关系信息, 确定媒体文件的热度对应的热度级别, 根据预先设置的热度级 别与存储同一媒体文件的服务器数量之间的对应关系, 确定所述媒体文件的 热度级别对应的服务器数量 M,并将所述媒体文件编码成 M个占用带宽相同 的子流, 以及按照服务器负载均衡原则, 将 M个占用带宽相同的子流分别发 送给 M 个服务器存储;  a media file storage processing device, configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the heat and the heat level set in advance, according to a preset heat level and a number of servers storing the same media file Corresponding relationship, determining the number M of servers corresponding to the heat level of the media file, and encoding the media file into M sub-streams with the same occupied bandwidth, and according to the principle of server load balancing, the M sub-streams occupying the same bandwidth Sent to M server storage;
L个服务器, 该 L个服务器中的 M 个服务器分别用于按照服务器负载 均衡原则,存储所述媒体文件被编码成的 M个占用带宽相同的子流中的一个 子流, 接收终端发送的媒体文件获取请求, 以及将存储的、 所述媒体文件获 取请求中文件标识对应的媒体文件的子流, 发送给所述终端, M为大于 1的 整数, 且 M小于或等于 L。  L servers, the M servers of the L servers are respectively configured to store one of the M sub-streams with the same occupied bandwidth encoded by the media file according to the server load balancing principle, and receive the media sent by the terminal. a file obtaining request, and sending, to the terminal, a substream of the media file corresponding to the file identifier in the media file obtaining request, where M is an integer greater than 1, and M is less than or equal to L.
9、 一种服务器集群, 其特征在于, 包括 L个服务器, 该 L个服务器中 的一个服务器用于根据预先设置的热度与热度级别之间的对应关系信息, 确 定媒体文件的热度对应的热度级别, 根据预先设置的热度级别与存储同一媒 体文件的服务器数量之间的对应关系, 确定所述媒体文件的热度级别对应的 服务器数量 M, 并将所述媒体文件编码成 M个占用带宽相同的子流, 以及按 照服务器负载均衡原则,将 M个占用带宽相同的子流分别存储在所述 L个服 务器中的 M 个服务器上, M为大于 1的整数, 且 M小于或等于 L; A server cluster, comprising: L servers, wherein one of the L servers is configured to determine a heat level corresponding to the heat of the media file according to the correspondence information between the preset heat and heat levels. Determining, according to a correspondence between a preset heat level and a number of servers storing the same media file, a number M of servers corresponding to a heat level of the media file, and encoding the media file into M sub-bands having the same occupied bandwidth Stream, and press According to the principle of server load balancing, M sub-streams occupying the same bandwidth are respectively stored on M servers in the L servers, M is an integer greater than 1, and M is less than or equal to L;
所述 L个服务器中的 M个服务器分别用于按照服务器负载均衡原则, 存储所述媒体文件被编码成的 M个占用带宽相同的子流中的一个子流,接收 终端发送的媒体文件获取请求, 以及将存储的、 所述媒体文件获取请求中文 件标识对应的媒体文件的子流, 发送给所述终端。  The M servers of the L servers are respectively configured to store one of the M substreams with the same occupied bandwidth, and receive the media file acquisition request sent by the terminal according to the server load balancing principle. And sending, to the terminal, the substream of the media file corresponding to the file identifier in the media file obtaining request that is stored.
10、 一种媒体文件业务处理方法, 其特征在于, 包括:  A method for processing a media file service, comprising:
接收终端发送的媒体文件获取请求 , 该媒体文件获取请求中携带有媒体 文件标识与终端用户标识;  Receiving a media file acquisition request sent by the terminal, where the media file acquisition request carries a media file identifier and an end user identifier;
服务器集群中的 M个服务器, 根据所述终端用户标识, 分别将各自存储 的所述媒体文件的子流发送给所述终端, 其中, 所述媒体文件根据热度, 被 编码成 M个占用带宽相同的子流, 并按照服务器负载均衡原则分别存储在所 述 M个服务器上, M为大于 1的整数。  The M servers in the server cluster respectively send the substreams of the media files stored to the terminal to the terminal according to the end user identifier, where the media files are encoded into M occupied bandwidths according to the heat degree. The substreams are respectively stored on the M servers according to the server load balancing principle, and M is an integer greater than 1.
11、 根据权利要求 10所述的方法, 其特征在于, 所述接收终端发送的媒 体文件获取请求之后, 还包括:  The method according to claim 10, further comprising: after receiving the media file acquisition request sent by the terminal,
查询存储所述媒体文件的所述 M个服务器的地址;  Querying an address of the M servers storing the media file;
根据所述 M个服务器的地址,分别将所述媒体文件获取请求转发给所述 M个服务器; 或者  And forwarding, according to the addresses of the M servers, the media file acquisition request to the M servers respectively; or
所述分别将各自存储的所述媒体文件的子流发送给所述终端包括: 查询存储所述媒体文件的所述 M个服务器的地址;  And sending, to the terminal, the sub-streams of the media files that are respectively stored, respectively: querying an address of the M servers that store the media files;
根据所述 M个服务器的地址, 分别从所述 M个服务器中获取所述媒体 文件的 N个子流, 为大于 1的整数且 N小于或等于 M;  Obtaining, according to the addresses of the M servers, N substreams of the media file from the M servers, being an integer greater than 1 and N being less than or equal to M;
根据所述终端用户标识, 将所述媒体文件的 N个子流分别发送给所述终 端; 或者  Sending N substreams of the media file to the terminal according to the end user identifier; or
所述分别将各自存储的所述媒体文件的子流发送给所述终端包括: 查询存储所述媒体文件的所述 M个服务器的地址; 指示所述 M 个服务器分别各自存储的所述媒体文件的子流发送给所述 终端。 And sending, to the terminal, the sub-streams of the media files that are stored separately, respectively: querying an address of the M servers that store the media files; And sending a substream of the media file respectively stored by the M servers to the terminal.
12、 根据权利要求 10或 11所述的方法, 其特征在于, 存储热度最高的 第一热度级别的媒体文件的服务器数量为构成所述服务器集群的服务器的数 量 L, L为大于或等于 M的整数; 为小于 L的整数。  The method according to claim 10 or 11, wherein the number of servers storing the media files of the first heat level with the highest heat is the number L of servers constituting the server cluster, L is greater than or equal to M Integer; is an integer less than L.
13、 根据权利要求 10或 11所述的方法, 其特征在于, 还包括: 所述终端接收所述服务器集群返回的所述媒体文件的多个子流, 并对该 多个子流进行解码、 组合, 还原出所述媒体文件。  The method according to claim 10 or 11, further comprising: receiving, by the terminal, a plurality of substreams of the media file returned by the server cluster, and decoding and combining the plurality of substreams, Restore the media file.
14、 一种媒体文件业务处理装置, 其特征在于, 包括:  14. A media file service processing device, comprising:
第一接收模块, 用于接收终端发送的媒体文件获取请求, 该媒体文件获 取请求中携带有媒体文件标识与终端用户标识;  The first receiving module is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier;
查询模块, 用于根据所述媒体文件标识, 查询服务器集群中存储所述媒 体文件的 M个子流的 M个服务器的地址; 获取模块, 用于根据所述 M个服 务器的地址,分别从所述 M个服务器中获取所述媒体文件的 N个子流,其中 , N为大于 1的整数且 N小于或等于 M;  a querying module, configured to query, according to the media file identifier, an address of the M servers that store the M sub-streams of the media file in the server cluster; and an acquiring module, configured to: according to the addresses of the M servers, respectively Obtaining N substreams of the media file in the M servers, where N is an integer greater than 1 and N is less than or equal to M;
发送模块, 用于根据所述终端用户标识, 将分别从所述 M个服务器上的 获取的且和所述媒体文件标识对应的媒体文件的 N个子流,发送给所述终端; 其中, 所述媒体文件根据热度, 被编码成 M个占用带宽相同的子流, 并 按照服务器负载均衡原则分别存储在所述 M个服务器上,Μ为大于 1的整数。  a sending module, configured to send, to the terminal, the N sub-streams of the media files that are respectively obtained from the M servers and corresponding to the media file identifier, according to the terminal user identifier, where The media file is encoded into M sub-streams having the same bandwidth according to the heat, and is respectively stored on the M servers according to the server load balancing principle, and is an integer greater than 1.
15、 一种服务器集群, 其特征在于, 包括:  15. A server cluster, comprising:
L个服务器, 该 L个服务器中的 Μ 个服务器分别用于按照服务器负载 均衡原则,存储同一媒体文件被编码成的 Μ个占用带宽相同的子流中的一个 子流, Μ为大于 1的整数, 且 Μ小于或等于 L;  L servers, the servers of the L servers are respectively used to store one substream of the same sub-stream with the same occupied bandwidth encoded by the same media file according to the principle of server load balancing, and Μ is an integer greater than 1. , and Μ is less than or equal to L;
媒体文件处理装置, 用于接收终端发送的媒体文件获取请求, 该媒体文 件获取请求中携带有媒体文件标识与终端用户标识, 以及根据所述终端用户 标识, 将分别存储在服务器集群中 M个服务器上的、 所述媒体文件标识对应 的媒体文件的子流, 发送给所述终端。 a media file processing apparatus, configured to receive a media file acquisition request sent by the terminal, the media text The device obtains the media file identifier and the terminal user identifier, and the sub-streams of the media files corresponding to the media file identifiers stored on the M servers in the server cluster are sent to the sub-users. The terminal.
16、根据权利要求 15所述的服务器集群,其特征在于,所述服务器包括: 存储模块,用于与所述服务器集群中其它服务器之间按照负载均衡原则, 存储同一媒体文件被编码成的 M个占用带宽相同的子流中的一个子流; 相应 地,  The server cluster according to claim 15, wherein the server comprises: a storage module, configured to store, according to a load balancing principle, an M that is encoded by the same media file with other servers in the server cluster. One of the substreams occupying the same bandwidth; accordingly,
所述媒体文件处理装置包括:  The media file processing apparatus includes:
第一接收模块, 用于接收终端发送的媒体文件获取请求, 该媒体文件获 取请求中携带有媒体文件标识与终端用户标识;  The first receiving module is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier;
查询模块, 用于查询存储所述媒体文件的 M个子流的 M个服务器的地 址;  a query module, configured to query an address of the M servers storing the M substreams of the media file;
获取模块, 用于根据所述 M个服务器的地址, 分别从所述 M个服务器 中获取所述媒体文件的 N个子流, 为大于 1的整数且 N小于或等于 M;  An obtaining module, configured to acquire, according to the addresses of the M servers, N sub-streams of the media file from the M servers, respectively, being an integer greater than 1 and N is less than or equal to M;
发送模块, 用于根据所述终端用户标识, 将分别存储在所述 M个服务器 上存储模块中的、 所述媒体文件标识对应的媒体文件的 N个子流, 发送给所 述终端; 或者  a sending module, configured to send, according to the terminal user identifier, N substreams of the media file corresponding to the media file identifier stored in the storage modules of the M servers to the terminal; or
所述媒体文件处理装置包括:  The media file processing apparatus includes:
第一接收模块, 用于接收终端发送的媒体文件获取请求, 该媒体文件获 取请求中携带有媒体文件标识与终端用户标识;  The first receiving module is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier;
查询模块, 用于查询存储所述媒体文件的 M个子流的 M个服务器的地 址;  a query module, configured to query an address of the M servers storing the M substreams of the media file;
转发模块, 用于根据所述 M个服务器的地址, 分别将所述媒体文件获取 请求转发给所述 M个服务器; 相应地,  a forwarding module, configured to forward the media file acquisition request to the M servers according to the addresses of the M servers;
所述服务器包括:  The server includes:
第二接收模块, 用于接收所述转发模块转发的媒体文件获取请求; 存储模块,用于与所述服务器集群中其它服务器之间按照负载均衡原则, 存储同一媒体文件被编码成的 M个占用带宽相同的子流中的一个子流; a second receiving module, configured to receive a media file acquisition request forwarded by the forwarding module; a storage module, configured to store, in accordance with a load balancing principle, one sub-stream of the M sub-streams with the same occupied bandwidth encoded by the same media file, and the other servers in the server cluster;
发送模块, 用于根据所述媒体文件获取请求中的所述终端用户标识, 将 分别存储在所述存储模块中的、 所述媒体文件标识对应的媒体文件的子流, 发送给所述终端; 或者  a sending module, configured to send, according to the terminal user identifier in the media file obtaining request, a substream of the media file corresponding to the media file identifier stored in the storage module, to the terminal; Or
所述媒体文件处理装置包括:  The media file processing apparatus includes:
第一接收模块, 用于接收终端发送的媒体文件获取请求, 该媒体文件获 取请求中携带有媒体文件标识与终端用户标识;  The first receiving module is configured to receive a media file obtaining request sent by the terminal, where the media file obtaining request carries the media file identifier and the terminal user identifier;
查询模块, 用于查询存储所述媒体文件的 M个子流的 M个服务器的地 址;  a query module, configured to query an address of the M servers storing the M substreams of the media file;
指示模块, 用于根据所述 M个服务器的地址, 分别指示所述 M个服务 器中的发送模块根据所述终端用户标识, 将存储在该发送模块所在服务器上 的、 所述媒体文件标识对应的媒体文件的子流, 发送给所述终端; 相应地, 所述服务器包括:  The indication module is configured to: according to the address of the M servers, respectively, the sending module of the M servers, according to the terminal user identifier, the media file identifier corresponding to the media file identifier stored on the server where the sending module is located a substream of the media file is sent to the terminal; correspondingly, the server includes:
第二接收模块, 用于接收所述指示模块发送的指示信息;  a second receiving module, configured to receive indication information sent by the indication module;
存储模块,用于与所述服务器集群中其它服务器之间按照负载均衡原则, 存储同一媒体文件被编码成的 M个占用带宽相同的子流中的一个子流;  a storage module, configured to store, in accordance with a load balancing principle, one sub-stream of the M sub-streams with the same occupied bandwidth encoded by the same media file;
发送模块, 用于根据所述媒体文件获取请求中的所述终端用户标识, 将 分别存储在所述存储模块中的、 所述媒体文件标识对应的媒体文件的子流, 发送给所述终端。  And a sending module, configured to send, according to the terminal user identifier in the media file obtaining request, a substream of the media file corresponding to the media file identifier stored in the storage module, to the terminal.
17、 根据权利要求 16所述的服务器集群, 其特征在于, 所述 L个服务器 中的 L个存储模块分别用于存储热度最高的第一热度级别的媒体文件被编码 成的 L个占用带宽相同的子流中的一个子流, 所述 L个服务器按照负载均衡 原则, 其中的 P个存储模块还分别用于存储第一热度级别以外其余热度级别 的媒体文件被编码成的 P个占用带宽相同的子流中的一个子流。  The server cluster according to claim 16, wherein the L storage modules of the L servers are respectively used to store the media files of the first heat level with the highest heat, and the L occupied bandwidths are the same. a sub-stream of the sub-flows, the L servers are in accordance with the load balancing principle, wherein the P storage modules are also respectively used to store the media data of the remaining heat levels other than the first heat level, and the P occupied bandwidths are the same. A subflow in the subflow.
PCT/CN2009/074114 2008-10-14 2009-09-22 Method and device, server cluster for media file storage processing and service processing WO2010043146A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810170226.0 2008-10-14
CN200810170226.0A CN101729357B (en) 2008-10-14 2008-10-14 Method and device for storage processing and service processing of media files and server cluster

Publications (1)

Publication Number Publication Date
WO2010043146A1 true WO2010043146A1 (en) 2010-04-22

Family

ID=42106228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/074114 WO2010043146A1 (en) 2008-10-14 2009-09-22 Method and device, server cluster for media file storage processing and service processing

Country Status (2)

Country Link
CN (1) CN101729357B (en)
WO (1) WO2010043146A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113840161A (en) * 2020-06-23 2021-12-24 龙芯中科技术股份有限公司 Streaming media transmission method, receiving method, device, electronic equipment and storage medium
CN115334321A (en) * 2022-08-10 2022-11-11 北京百度网讯科技有限公司 Method and device for acquiring access heat of video stream, electronic equipment and medium

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137283B (en) * 2010-06-10 2014-10-08 华为软件技术有限公司 Application online deployment method, device and system
CN102523256B (en) * 2011-11-30 2014-07-30 华为技术有限公司 Content management method, device and system
CN103186350B (en) * 2011-12-31 2016-03-30 北京快网科技有限公司 The moving method of mixing storage system and hot spot data block
CN103856535B (en) * 2012-12-05 2018-09-04 腾讯科技(北京)有限公司 A kind of method and apparatus obtaining user data
CN103150347B (en) * 2013-02-07 2015-10-21 浙江大学 Based on the dynamic replication management method of file temperature
CN107277097A (en) * 2016-04-08 2017-10-20 北京优朋普乐科技有限公司 Content distributing network and its load estimation equalization methods
CN107277093A (en) * 2016-04-08 2017-10-20 北京优朋普乐科技有限公司 Content distributing network and its load-balancing method
CN105959273A (en) * 2016-04-25 2016-09-21 乐视控股(北京)有限公司 Streaming media file distribution method and streaming media file distribution device
CN109660819A (en) * 2017-10-10 2019-04-19 中国移动通信有限公司研究院 Service buffer method, apparatus and serving BS based on mobile edge calculations
CN110022338B (en) * 2018-01-09 2022-05-27 阿里巴巴集团控股有限公司 File reading method and system, metadata server and user equipment
CN115550368B (en) * 2022-11-30 2023-03-10 苏州浪潮智能科技有限公司 Metadata reporting method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484150A (en) * 2002-09-17 2004-03-24 陈朝江 Method for managing stream media data
CN1816053A (en) * 2006-03-10 2006-08-09 清华大学 Flow-media direct-broadcasting P2P network method based on conversation initialization protocol
US20080016201A1 (en) * 2006-07-15 2008-01-17 Solid State Networks, Inc. Methods and apparatus for transferring data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232464A (en) * 2008-02-28 2008-07-30 清华大学 P2P real time stream media buffer replacing method based on time weight parameter
CN101232600B (en) * 2008-03-04 2011-07-20 华为技术有限公司 Device, system and method for providing order program contents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484150A (en) * 2002-09-17 2004-03-24 陈朝江 Method for managing stream media data
CN1816053A (en) * 2006-03-10 2006-08-09 清华大学 Flow-media direct-broadcasting P2P network method based on conversation initialization protocol
US20080016201A1 (en) * 2006-07-15 2008-01-17 Solid State Networks, Inc. Methods and apparatus for transferring data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113840161A (en) * 2020-06-23 2021-12-24 龙芯中科技术股份有限公司 Streaming media transmission method, receiving method, device, electronic equipment and storage medium
CN113840161B (en) * 2020-06-23 2023-07-25 龙芯中科技术股份有限公司 Streaming media transmission method, receiving method, device, electronic equipment and storage medium
CN115334321A (en) * 2022-08-10 2022-11-11 北京百度网讯科技有限公司 Method and device for acquiring access heat of video stream, electronic equipment and medium
CN115334321B (en) * 2022-08-10 2024-04-09 北京百度网讯科技有限公司 Method and device for acquiring access heat of video stream, electronic equipment and medium

Also Published As

Publication number Publication date
CN101729357A (en) 2010-06-09
CN101729357B (en) 2013-06-05

Similar Documents

Publication Publication Date Title
WO2010043146A1 (en) Method and device, server cluster for media file storage processing and service processing
CN1767636B (en) Content distribution method, program, and information processing apparatus
US8880650B2 (en) System and method for storing streaming media file
KR101138897B1 (en) Method for splitting and distributing a file
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
US20080189429A1 (en) Apparatus and method for peer-to-peer streaming
US9497035B2 (en) Method, device, and system for playing media based on P2P
US20070288638A1 (en) Methods and distributed systems for data location and delivery
CN101594292A (en) Content delivery method, service redirection method and system, node device
WO2010031335A1 (en) Method for controlling media server and system thereof
US8249638B2 (en) Device and method for participating in a peer-to-peer network
KR20130040236A (en) Method, server and terminal for audio and video on demand
TW201234194A (en) Data stream management system for accessing mass data
Yiu et al. Distributed storage to support user interactivity in peer-to-peer video streaming
CN101800751B (en) Distributed real-time data-coding transmission method
Cheng et al. Peer-assisted view-dependent progressive mesh streaming
Ho et al. Cluster-based replication for P2P-based video-on-demand service
WO2009135374A1 (en) Iptv media delivery system, method for distributing iptv media contents and media delivery system
Meskovic et al. Content delivery architectures for live video streaming: hybrid cdn-p2p as the best option
KR100797389B1 (en) The cluster based streaming system and method using multiple description coding
Veeravalli et al. Distributed multimedia retrieval strategies for large scale networked systems
Lopez-Fuentes et al. Architecture for Media streaming delivery over P2P networks
Zhang et al. A P2P VoD system using dynamic priority
Dong et al. Exploiting limited upstream bandwidth in peer-to-peer streaming
Pal et al. A distinctive analysis of new hybrid overlay approach with classical overlay approaches for P2P live streaming

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: 09820222

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09820222

Country of ref document: EP

Kind code of ref document: A1