WO2012126261A1 - 一种媒体流化的方法和媒体控制器 - Google Patents

一种媒体流化的方法和媒体控制器 Download PDF

Info

Publication number
WO2012126261A1
WO2012126261A1 PCT/CN2011/083540 CN2011083540W WO2012126261A1 WO 2012126261 A1 WO2012126261 A1 WO 2012126261A1 CN 2011083540 W CN2011083540 W CN 2011083540W WO 2012126261 A1 WO2012126261 A1 WO 2012126261A1
Authority
WO
WIPO (PCT)
Prior art keywords
user equipment
index
data
media
streaming request
Prior art date
Application number
PCT/CN2011/083540
Other languages
English (en)
French (fr)
Inventor
江龙
郑晓东
杨恒宗
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP11861788.5A priority Critical patent/EP2613493B1/en
Priority to JP2013538058A priority patent/JP5729659B2/ja
Publication of WO2012126261A1 publication Critical patent/WO2012126261A1/zh
Priority to US13/896,114 priority patent/US9491212B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]

Definitions

  • the present invention relates to communication technologies, and in particular, to a media streaming method and a media controller.
  • media streaming is to push data frequently accessed by users to the edge of the core network through a distribution network, and then the distribution network sends the streaming media content stored therein and required by the user to the user equipment through a router, where the distribution is distributed.
  • the network can include a media distribution network (MDN, Media) Delivery Network) and content distribution network (Content Delivery Network).
  • MDN media distribution network
  • Content Delivery Network Content Distribution Network
  • the current media streaming process is: when the user terminal needs to access a certain streaming media, an application is sent to the distribution network CPU, and the CPU applies for a buffer space for storing data, and uses the first address of the cache space as the purpose of receiving data. The address sends a request for acquiring data to the storage device, and returns the obtained data to the user terminal.
  • the distribution network CPU In the media streaming scenario, as the number of users increases, the distribution network CPU also needs to complete other system tasks, thereby reducing the performance of the distribution network CPU.
  • Embodiments of the present invention provide a media streaming method and a media controller, which implement separation of data from a distribution network CPU, and improve a running speed of a distribution network CPU.
  • An embodiment of the present invention provides a method for media streaming, including:
  • the media controller binds the streaming request of the user equipment to the index in the corresponding table, and sends the streaming request of the user equipment and the index to the media server, so that the media server is configured according to the
  • the correspondence table controls the storage device to send the data to be streamed requested by the streaming request to an address corresponding to the index cache;
  • the embodiment of the present invention further provides a media controller, where the media controller can be located in a distribution network, including:
  • a request receiving module configured to receive a media streaming request sent by the user equipment
  • An index allocation module configured to allocate an index to the user equipment, where the index is used to indicate that data to be streamed requested by the streaming request is stored in an address of a corresponding cache in the media controller;
  • a storage module configured to bind the streaming request of the user equipment received by the request receiving module to an index allocated by the index allocation module, and store the information in a correspondence table
  • a sending module configured to send the streaming request of the user equipment and the index to a media server, so that the media server controls, according to the correspondence table, that the storage device requests the streaming request to be fluidized
  • the data is sent to the address corresponding to the cache
  • a data receiving module configured to receive data to be streamed by the streaming request sent by the storage device
  • the streaming module is configured to query the corresponding table in the storage module, and stream the data to be streamed by the streaming request to the corresponding user equipment.
  • the technical solution provided by the embodiment of the present invention can store the data requested by the user through the media controller, and stream the data to the corresponding user, thereby realizing the separation of the data from the distribution network CPU.
  • the running speed of the distribution network CPU is improved, and by allocating to the user equipment index, the increase of the address bit width when the user is too much is avoided.
  • FIG. 1 is a schematic diagram of implementing media streaming in the prior art
  • FIG. 2 is a flowchart of a method for media streaming according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a media controller device according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of still another method for media streaming according to an embodiment of the present invention.
  • An embodiment of the present invention provides a method for media streaming, as shown in FIG. 2, where the media controller and the media server may be located in a distribution network, where the media controller may be an FPGA (Field). Programmable Gate Array, the media server can be the CPU in the distribution network, and the storage device can be an SSD (Solid State). Disk, SSD), including:
  • the media controller receives the media streaming request sent by the user equipment, and allocates an index to the user equipment, where the index is used to indicate that the data to be streamed requested by the streaming request is stored in the media control.
  • the streaming request sent by the user equipment may include identity information of the user, for example, an IP address or user name information of the user, and the like, and may also include information such as the type or name of the requested data, for example, requesting video data or audio data, and the like. .
  • the buffer in the media controller may be further divided into the same or different blocks according to the size of the storage space of the data, and each block corresponds to one index.
  • the 4G cache can be divided into 4096 identical blocks, and the size of each block is 1 Mbyte, and each block is assigned an index, and the index can be 1-4096. Any non-repeating integer in the case, if the address corresponding to the IMbyte block is 10000 to 20000, the index indicates the 1 Mbyte space corresponding to the address from 10000 to 20000.
  • the index is randomly assigned to the user equipment.
  • the media controller can also maintain an available index table, where the index is not allocated to the user equipment, for example, there are 4096 indexes, but 4000 of them have been allocated to the user equipment, and the available index table includes the remaining 96 indexes.
  • the user can receive the media streaming request sent by the user equipment after the index is not indexed, and notify the user equipment to wait; for example, divide the 4G cache into 4096 indexes.
  • the user equipment is notified to wait until the 4096 indexes are released, that is, the released index is re-recorded in the available index.
  • the released index is assigned to the waiting user device.
  • the media controller binds the streaming request of the user equipment to the index, and stores the streaming request of the user equipment and the index to the media server, so that the media server And controlling, by the storage table, the storage device to send the data to be streamed requested by the streaming request to an address of the index corresponding cache.
  • the correspondence table may include, but is not limited to, the following information, where the size of the request data corresponding to the streaming request of the user equipment in the table is optional, and when the size of the request data needs to be saved in the corresponding table, the request data is The size is returned by the media server after receiving the streaming request from the user device and the index:
  • index Cache address User ID Request data name Request data size 1 10000-20000 ID1 Video 1 50M ... ... ... ... ... 4096 110000-120000 ID4096 Video 4096 80M
  • the media controller receives the data to be streamed by the streaming request sent by the storage device, and streams the data to be streamed by the streaming request by querying the corresponding table. Give the corresponding user device.
  • the corresponding table is queried, and the corresponding request data is read from the cache of the media controller to the user equipment in the corresponding table. After the data is streamed, the index corresponding to the user equipment is released, and deleted. The information about the binding of the user equipment of the user equipment to the index in the correspondence table.
  • the present invention provides a media controller.
  • the media controller is located in a distribution network, and the media controller may be an FPGA (Field Programmable). Gate Array, Field Programmable Gate Array), including:
  • the request receiving module 31 is configured to receive a media streaming request sent by the user equipment.
  • the streaming request sent by the user equipment may include identity information of the user, for example, an IP address or user name information of the user, and the like, and may also include information such as the type or name of the requested data, for example, requesting video data or audio data, and the like. .
  • the index allocation module 32 is configured to allocate an index to the user equipment, where the index is used to indicate that the data to be streamed requested by the streaming request is stored in an address of a corresponding cache in the media controller.
  • the determining the indexing module is further configured to divide the buffer in the media controller into the same or different blocks according to the size of the storage space of the data, and each block Corresponds to an index.
  • the size of the storage space of the data is 1 Mbyte
  • the 4G cache can be divided into 4096 identical blocks, and the size of each block is 1 Mbyte, and each block is assigned an index, and the index can be 1-4096. Any non-repeating integer in the case, if the address corresponding to the IMbyte block is 10000 to 20000, the index indicates the 1 Mbyte space corresponding to the address from 10000 to 20000.
  • the index is randomly assigned to the user equipment.
  • the media controller can also maintain an available index table, where the index is not allocated to the user equipment, for example, there are 4096 indexes, but 4000 of them have been allocated to the user equipment, and the available index table includes the remaining 96 indexes.
  • the notification module is further configured to: after the index is all allocated to the user equipment, after the index is not indexed, the media controller receives the media streaming request sent by the user equipment, and notifies the user equipment. wait.
  • the 4G cache is divided into 4096 indexes.
  • the 4096 indexes are allocated to the user equipment, when the media streaming request sent by the user equipment is received, the user equipment is notified to wait until the 4096 indexes are released. If the released index is re-recorded in the available index table, the released index is allocated to the waiting user equipment.
  • the storage module 33 is configured to bind the streaming request of the user equipment received by the request receiving module 31 to the index allocated by the index allocating module 32, and store the information in the correspondence table.
  • the length of the data to be streamed requested by the streaming request received by the data receiving module 35 and/or the broadband information corresponding to the user equipment may be stored in a correspondence table.
  • the correspondence table may include, but is not limited to, the following information, where the size of the request data corresponding to the streaming request of the user equipment in the table is optional, and when the size of the request data needs to be saved in the corresponding table, the request data is The size is returned by the media server after receiving the streaming request from the user device and the index:
  • index Cache address User ID Request data name Request data size 1 10,000 to 20,000 ID1 Video 1 50M ... ... ... ... ... 4096 110000-120000 ID4096 Video 4096 80M
  • the sending module 34 is configured to send the streaming request of the user equipment and the index to the media server, so that the media server controls, according to the correspondence table, the required flow that the storage device requests the streaming request
  • the data is sent to the address corresponding to the cache.
  • the data receiving module 35 is configured to receive data to be fluidized requested by the streaming request sent by the storage device.
  • the length of the data to be streamed and/or the broadband information corresponding to the user equipment that is requested by the streaming request sent by the media server is received.
  • the streaming module 36 is configured to query the corresponding table in the storage module, and stream the data to be streamed by the streaming request to the corresponding user equipment.
  • the corresponding table is queried, and the corresponding request data is read from the cache of the media controller to the user equipment in the corresponding table.
  • the method may further include: a release module, configured to release the index corresponding to the user equipment after the data to be streamed by the streaming request is streamed to the corresponding user equipment, And deleting the information that the streaming request of the user equipment in the correspondence table is bound to the index.
  • the embodiment of the present invention provides another method for media streaming, specifically combining the media controller as an FPGA, the media server as an MDN CPU, and the storage device as an SSD, and the user equipment 1 requesting to stream the video data 2 as an example.
  • Description, as shown in Figure 4, includes:
  • the FPGA divides the cache into the same block according to the size of the storage space of the data, and each block corresponds to an index. For example, if the size of the storage space of the data is 1 Mbyte, the 4G cache can be divided into 4096 identical blocks, and the size of each block is 1 Mbyte, and each block is assigned an index, and the index can be 1-4096. Any non-repeating integer in the index, which is used to indicate the cache address corresponding to each block.
  • the user equipment 1 sends a media streaming request to the FPGA.
  • the specific media streaming request may include the identity information of the user equipment 1 and the related information that the data name to be streamed is the video data 2.
  • the data requested to be streamed may be video or audio or other form of data.
  • the FPGA After receiving the media streaming request of the user equipment 1, the FPGA allocates the index to the index 100 (the cached address indicated by the index may be 10000 to 20000), and binds the media streaming request to the index 100 and stores the data in the corresponding table. At the same time, the streaming request and the index 100 of the user equipment 1 are sent to the CPU of the MDN.
  • the corresponding table may include but is not limited to the following:
  • the CPU of the MDN may return the size of the video data 2 (for example, 800 M) to the FPGA, and the FPGA adds the size of the received video data 2.
  • the corresponding corresponding table is as follows:
  • the CPU of the MDN After receiving the streaming request and the index 100 of the user equipment 1, the CPU of the MDN reads the corresponding table control SSD stored in the FPGA and sends the video data 2 to the cache address 10000 to 20000 corresponding to the index 100 in the FPGA.
  • the FPGA After the FPGA receives the video data 2 sent by the SSD, the video data 2 is streamed to the user equipment 1 by querying the correspondence table.
  • the FPGA releases the index 100 corresponding to the user equipment 1, and deletes the information that the streaming request of the user equipment 1 in the corresponding table is bound to the index 100.
  • a media streaming method is provided by the embodiment of the present invention.
  • the media controller stores data requested by the user to be streamed, and streams the data to the corresponding user, thereby realizing separation of data from the distribution network CPU.
  • the service processing capability of the network CPU is distributed, and the index is allocated to avoid the gradual increase of the address bit width when the user is too large, so that the internal buffer space of the media controller can be effectively managed while maintaining the fluidized broadband. , thereby reducing the dependence of the hardware scheme on the address bit width.
  • each module included is only divided according to functional logic, but is not limited to the above division, as long as the corresponding function can be implemented;
  • the specific names are also for convenience of distinguishing from each other and are not intended to limit the scope of the present invention.
  • the storage medium may be a read only memory, a magnetic disk or an optical disk or the like.

Abstract

一种媒体流化的方法和媒体控制器,本发明实施例的技术方案包括:首先媒体控制器接收用户设备发送的媒体流化请求,并分配给该用户设备一个索引;然后媒体控制器将所述用户设备的流化请求与所述索引绑定并存储在对应表中,将所述用户设备的流化请求和所述索引发送给媒体服务器;最后媒体控制器接收存储设备发送的所述流化请求所请求的要流化的数据,并通过查询所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。其通过媒体控制器存放用户请求要流化的数据,并将该数据流化给对应用户设备,实现了数据从分发网络CPU中的分离,提高了分发网络CPU的业务处理能力,并且通过分配索引的方式,避免了用户过多时地址位宽的增多。

Description

一种媒体流化的方法和媒体控制器
本申请要求了2011年3月23日提交的、申请号为201110077211.1、发明名称为“一种媒体流化的方法和媒体控制器”的中国申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术,尤其涉及一种媒体流化的方法和媒体控制器。
发明背景
如图1所示,媒体流化是通过分发网络将用户经常访问的数据推向核心网络的边缘,然后分发网络通过路由器将其内部存放的且用户需要的流媒体内容发送给用户设备,其中分发网络可以包括媒体分发网络(MDN,Media Delivery Network)和内容分发网络(Content Delivery Network)。目前的媒体流化过程为:当用户终端需要访问某个流媒体时,向分发网络CPU发出申请,该CPU申请一段缓存空间用于存放数据,并以该缓存空间的首地址作为接收数据的目的地址,向存储设备发送获取数据的请求,并将获取到的数据返回给用户终端。
在媒体流化场景中随着用户数量的增加,由于分发网络CPU还需要完成其它的系统任务,故会降低分发网络CPU的性能。
发明内容
本发明的实施例提供了一种媒体流化的方法和媒体控制器,实现了数据从分发网络CPU中的分离,提高了分发网络CPU的运行速度。
本发明实施例提供了一种媒体流化的方法,包括:
媒体控制器接收用户设备发送的媒体流化请求,并分配给该用户设备一个索引,所述索引用于指示将所述流化请求所请求的要流化的数据存放到所述媒体控制器中对应缓存的地址;
媒体控制器将所述用户设备的流化请求与所述索引绑定并存储在对应表中,将所述用户设备的流化请求和所述索引发送给媒体服务器,使得所述媒体服务器根据所述对应表控制存储设备将所述流化请求所请求的要流化的数据发送给所述索引对应缓存的地址中;
媒体控制器接收所述存储设备发送的所述流化请求所请求的要流化的数据,并通过查询所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。
本发明实施例还提供了一种媒体控制器,所述媒体控制器可以位于分发网络中,包括:
请求接收模块,用于接收用户设备发送的媒体流化请求;
索引分配模块,用于分配给所述用户设备一个索引,所述索引用于指示将所述流化请求所请求的要流化的数据存放到所述媒体控制器中对应缓存的地址;
存储模块,用于将所述请求接收模块接收到的所述用户设备的流化请求与所述索引分配模块分配的索引绑定,并存储在对应表中;
发送模块,用于将所述用户设备的流化请求和所述索引发送给媒体服务器,使得所述媒体服务器根据所述对应表控制所述存储设备将所述流化请求所请求的要流化的数据发送给所述索引对应缓存的地址中;
数据接收模块,用于接收所述存储设备发送的所述流化请求所请求的要流化的数据;
流化模块,用于查询所述存储模块中的所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。
由上述本发明的实施例提供的技术方案可以看出,其通过媒体控制器存放用户请求流化的数据,并将所述数据流化给对应用户,实现了数据从分发网络CPU中的分离,提高了分发网络CPU的运行速度,并且通过分配给用户设备索引,避免了用户过多时地址位宽的增多。
附图简要说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中实现媒体流化的示意图;
图2为本发明实施例提供的一种媒体流化的方法流程图;
图3为本发明实施例提供的一种媒体控制器装置示意图;
图4为本发明实施例提供的又一种媒体流化的方法流程图。
实施本发明的方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种媒体流化的方法,如图2所示,其中媒体控制器和媒体服务器可以位于分发网络中,其中媒体控制器可以是FPGA(Field Programmable Gate Array,现场可编程门阵列),媒体服务器可以是分发网络中的CPU,存储设备可以是SSD(Solid State Disk,固态硬盘),包括:
21、媒体控制器接收用户设备发送的媒体流化请求,并分配给该用户设备一个索引,所述索引用于指示将所述流化请求所请求的要流化的数据存放到所述媒体控制器中对应缓存的地址。
具体地,用户设备发送的流化请求可以包括用户的身份信息,例如,用户的IP地址或用户名信息等;也可以包括请求数据的种类或名称等信息,例如,请求视频数据或音频数据等。
作为可选的,在执行21之前,还可以包括将媒体控制器中的缓存根据数据的存储空间的大小划分为相同或不相同的块,每个块对应一个索引。例如,若确定数据的存储空间的大小为1Mbyte,则可以将4G的缓存划分为4096个相同的块,每个块的大小即为1Mbyte,每个块对应分配一个索引,索引可以为1-4096中的任意不重复的整数,若IMbyte块对应的地址为10000至20000,则索引指示的即为地址从10000至20000对应的1Mbyte空间。当接收到用户设备发送的媒体流化请求,则将索引随机的分配给该用户设备。
进一步,媒体控制器中还可以维护一个可用索引表,表中记载没有被分配给用户设备的索引,例如,共有4096个索引,但其中4000个已经分配给用户设备,则可用索引表中包含剩余的96个索引。当所述索引被全部分配给用户设备后,即可用索引表中没有索引后,接收用户设备发送的媒体流化请求,通知用户设备等待;例如,将4G的缓存划分为4096个索引,当这4096个索引都分配给用户设备后,再接收到用户设备发送的媒体流化请求时,通知该用户设备等待,直到4096个索引中有释放的,即该被释放的索引被重新记载在可用索引表中时,则将该释放的索引分配给等待的用户设备。
22、媒体控制器将所述用户设备的流化请求与所述索引绑定并存储在对应表中,将所述用户设备的流化请求和所述索引发送给媒体服务器,使得所述媒体服务器根据所述对应表控制存储设备将所述流化请求所请求的要流化的数据发送给所述索引对应缓存的地址中。
作为可选的,对应表中可以包括但不局限于以下信息,表中用户设备的流化请求对应请求数据的大小是可选的,当对应表中需要保存请求数据的大小时,该请求数据的大小是由媒体服务器在接收到用户设备的流化请求和所述索引后返回的:
索引 缓存地址 用户ID 请求数据的名称 请求数据的大小
1 10000-20000 ID1 视频1 50M
4096 110000-120000 ID4096 视频4096 80M
23、媒体控制器接收所述存储设备发送的所述流化请求所请求的要流化的数据,并通过查询所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。
具体地,查询所述对应表,从媒体控制器的缓存中读取相应的请求数据流化给所述对应表中的用户设备,数据流化完成后释放所述用户设备对应的索引,并删除所述对应表中所述用户设备的流化请求与所述索引绑定的信息。
本发明提供了一种媒体控制器,如图3所示,所述媒体控制器位于分发网络中,上述媒体控制器可以是FPGA(Field Programmable Gate Array,现场可编程门阵列),具体包括:
请求接收模块31,用于接收用户设备发送的媒体流化请求。
具体地,用户设备发送的流化请求可以包括用户的身份信息,例如,用户的IP地址或用户名信息等;也可以包括请求数据的种类或名称等信息,例如,请求视频数据或音频数据等。
索引分配模块32,用于分配给所述用户设备一个索引,所述索引用于指示将所述流化请求所请求的要流化的数据存放到所述媒体控制器中对应缓存的地址。
作为可选的,在执行索引分配模块32之前,还可以包括确定索引模块,用于将所述媒体控制器中的缓存根据数据的存储空间的大小划分为相同或不相同的块,每个块对应一个索引。例如,若确定数据的存储空间的大小为1Mbyte,则可以将4G的缓存划分为4096个相同的块,每个块的大小即为1Mbyte,每个块对应分配一个索引,索引可以为1-4096中的任意不重复的整数,若IMbyte块对应的地址为10000至20000,则索引指示的即为地址从10000至20000对应的1Mbyte空间。当接收到用户设备发送的媒体流化请求,则将索引随机的分配给该用户设备。
进一步,媒体控制器中还可以维护一个可用索引表,表中记载没有被分配给用户设备的索引,例如,共有4096个索引,但其中4000个已经分配给用户设备,则可用索引表中包含剩余的96个索引。作为可选的,还可以包括通知模块,用于当所述索引被全部分配给用户设备后,即可用索引表中没有索引后,媒体控制器接收用户设备发送的媒体流化请求,通知用户设备等待。例如,将4G的缓存划分为4096个索引,当这4096个索引都分配给用户设备后,再接收到用户设备发送的媒体流化请求时,通知该用户设备等待,直到4096个索引中有释放的,即该被释放的索引被重新记载在可用索引表中时,则将该释放的索引分配给等待的用户设备。
存储模块33,用于将请求接收模块31接收到的所述用户设备的流化请求与索引分配模块32分配的索引绑定,并存储在对应表中。作为可选的,还可以用于将数据接收模块35接收到的所述流化请求所请求的要流化的数据的长度和/或所述用户设备对应的宽带信息存储在对应表中。
作为可选的,对应表中可以包括但不局限于以下信息,表中用户设备的流化请求对应请求数据的大小是可选的,当对应表中需要保存请求数据的大小时,该请求数据的大小是由媒体服务器在接收到用户设备的流化请求和所述索引后返回的:
索引 缓存地址 用户ID 请求数据的名称 请求数据的大小
1 10000至20000 ID1 视频1 50M
4096 110000-120000 ID4096 视频4096 80M
发送模块34,用于将所述用户设备的流化请求和所述索引发送给媒体服务器,使得所述媒体服务器根据所述对应表控制所述存储设备将所述流化请求所请求的要流化的数据发送给所述索引对应缓存的地址中。
数据接收模块35,用于接收所述存储设备发送的所述流化请求所请求的要流化的数据。作为可选的,还可以用于接收所述媒体服务器发送的所述流化请求所请求的要流化的数据的长度和/或所述用户设备对应的宽带信息。
流化模块36,用于查询所述存储模块中的所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。
具体地,查询所述对应表,从媒体控制器的缓存中读取相应的请求数据流化给所述对应表中的用户设备。作为可选的数据流化完成后还可以包括释放模块,用于在将所述流化请求所请求的要流化的数据流化给对应的用户设备后,释放所述用户设备对应的索引,并删除所述对应表中所述用户设备的流化请求与所述索引绑定的信息。
本发明实施例提供了又一种媒体流化的方法,具体结合媒体控制器为FPGA、媒体服务器为MDN的CPU以及存储设备为SSD,以用户设备1请求要流化视频数据2为例进行详细说明,如图4所示,包括:
41、FPGA将缓存根据数据的存储空间的大小划分为相同的块,每个块对应一个索引。例如,若确定数据的存储空间的大小为1Mbyte,则可以将4G的缓存划分为4096个相同的块,每个块的大小即为1Mbyte,每个块对应分配一个索引,索引可以为1-4096中的任意不重复的整数,索引用于指示每个块对应的缓存地址。
42、用户设备1发送媒体流化请求给FPGA。具体媒体流化请求中可以包括用户设备1的身份信息、请求要流化的数据名称为视频数据2等相关信息。请求要流化的数据可以是视频或音频也可以是其它形式的数据。
43、FPGA接收到用户设备1的媒体流化请求后分配给其索引100(索引指示的缓存地址可以是10000至20000),并将媒体流化请求与索引100绑定并存储在对应表中,同时将用户设备1的流化请求和索引100发送给MDN的CPU,对应表具体可以包括但不限于下表:
索引 缓存地址 用户ID 请求数据的名称
100 10000至20000 用户设备1 视频数据2
作为可选的,若FPGA中4096个缓存都已分配给用户设备后,当FPGA接收到用户设备1的媒体流化请求时,则通知用户设备1等待。
44、作为可选的,MDN的CPU接收到用户设备1的流化请求和索引100后,可以将视频数据2的大小(例如800M)返回给FPGA,FPGA将接收到的视频数据2的大小添加到对应表中,具体添加后的对应表如下:
索引 缓存地址 用户ID 请求数据的名称 请求数据的大小
100 10000至20000 用户设备1 视频数据2 800M
45、MDN的CPU接收到用户设备1的流化请求和索引100后,读取FPGA中存储的对应表控制SSD将视频数据2发送给FPGA中索引100对应的缓存地址10000至20000中。
46、FPGA接收到SSD发送的视频数据2后,通过查询对应表,将视频数据2流化给用户设备1。
47、数据流化完成后FPGA释放用户设备1对应的索引100,并删除对应表中用户设备1的流化请求与索引100绑定的信息。
本发明实施例提供的一种媒体流化的方法,其通过媒体控制器存放用户请求要流化的数据,并将该数据流化给对应用户,实现了数据从分发网络CPU中的分离,提高了分发网络CPU的业务处理能力,并且通过分配索引的方式,避免了用户过多时地址位宽的逐渐增多,使得在保持流化宽带不变的情况下可以有效地管理媒体控制器的内部缓存空间,从而减少了硬件方案对地址位宽的依赖。
值得注意的是,上述媒体控制器实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

  1. 一种媒体流化的方法,其特征在于,包括:
    媒体控制器接收用户设备发送的媒体流化请求,并分配给该用户设备一个索引,所述索引用于指示将所述流化请求所请求的要流化的数据存放到所述媒体控制器中对应缓存的地址;
    媒体控制器将所述用户设备的流化请求与所述索引绑定并存储在对应表中,将所述用户设备的流化请求和所述索引发送给媒体服务器,使得所述媒体服务器根据所述对应表控制存储设备将所述流化请求所请求的要流化的数据发送给所述索引对应缓存的地址中;
    媒体控制器接收所述存储设备发送的所述流化请求所请求的要流化的数据,并通过查询所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。
  2. 根据权利要求1所述的方法,其特征在于,在所述媒体控制器接收用户设备发送的媒体流化请求之前,还包括:
    所述媒体控制器将缓存根据数据的存储空间的大小划分为相同的块,每个块对应一个索引。
  3. 根据权利要求1所述的方法,其特征在于,在将所述流化请求所请求的要流化的数据流化给对应的用户设备后,还包括:
    释放所述用户设备对应的索引,并删除所述对应表中所述用户设备的流化请求与所述索引绑定的信息。
  4. 根据权利要求1或2所述的方法,其特征在于,当所述索引被全部分配给用户设备后,还包括:
    所述媒体控制器接收用户设备发送的媒体流化请求,通知用户设备等待。
  5. 根据权利要求1所述的方法,其特征在于,在将所述用户设备的流化请求和所述索引发送给媒体服务器后,还包括:
    所述媒体控制器接收所述媒体服务器发送的所述流化请求所请求的要流化的数据的长度和/或所述用户设备对应的宽带信息,并将其存储在对应表中。
  6. 一种媒体控制器,其特征在于,所述媒体控制器位于分发网络中,包括:
    请求接收模块,用于接收用户设备发送的媒体流化请求;
    索引分配模块,用于分配给所述用户设备一个索引,所述索引用于指示将所述流化请求所请求的要流化的数据存放到所述媒体控制器中对应缓存的地址;
    存储模块,用于将所述请求接收模块接收到的所述用户设备的流化请求与所述索引分配模块分配的索引绑定,并存储在对应表中;
    发送模块,用于将所述用户设备的流化请求和所述索引发送给媒体服务器,使得所述媒体服务器根据所述对应表控制存储设备将所述流化请求所请求的要流化的数据发送给所述索引对应缓存的地址中;
    数据接收模块,用于接收所述存储设备发送的所述流化请求所请求的要流化的数据;
    流化模块,用于查询所述存储模块中的所述对应表,将所述流化请求所请求的要流化的数据流化给对应的用户设备。
  7. 根据权利要求6所述的媒体控制器,其特征在于,还包括:
    确定索引模块,用于将所述媒体控制器中的缓存根据数据的存储空间的大小划分为相同的块,每个块对应一个索引。
  8. 根据权利要求6所述的媒体控制器,其特征在于,还包括:
    释放模块,用于在将所述流化请求所请求的要流化的数据流化给对应的用户设备后,释放所述用户设备对应的索引,并删除所述对应表中所述用户设备的流化请求与所述索引绑定的信息。
  9. 根据权利要求6或7所述的媒体控制器,其特征在于,还包括:
    通知模块,用于当所述索引被全部分配给用户设备后,所述媒体控制器接收用户设备发送的媒体流化请求,通知用户设备等待。
  10. 根据权利要求6所述的媒体控制器,其特征在于,
    所述数据接收模块,还用于接收所述媒体服务器发送的所述流化请求所请求的要流化的数据的长度和/或所述用户设备对应的宽带信息;
    所述存储模块,还用于将所述数据接收模块接收到的所述流化请求所请求的要流化的数据的长度和/或所述用户设备对应的宽带信息存储在对应表中。
PCT/CN2011/083540 2011-03-23 2011-12-06 一种媒体流化的方法和媒体控制器 WO2012126261A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP11861788.5A EP2613493B1 (en) 2011-03-23 2011-12-06 Media streaming method and media controller
JP2013538058A JP5729659B2 (ja) 2011-03-23 2011-12-06 メディアストリーミング方法およびメディアコントローラ
US13/896,114 US9491212B2 (en) 2011-03-23 2013-05-16 Method for streaming media and media controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2011100772111A CN102130960B (zh) 2011-03-23 2011-03-23 一种媒体流化的方法和媒体控制器
CN201110077211.1 2011-03-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/896,114 Continuation US9491212B2 (en) 2011-03-23 2013-05-16 Method for streaming media and media controller

Publications (1)

Publication Number Publication Date
WO2012126261A1 true WO2012126261A1 (zh) 2012-09-27

Family

ID=44268849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/083540 WO2012126261A1 (zh) 2011-03-23 2011-12-06 一种媒体流化的方法和媒体控制器

Country Status (5)

Country Link
US (1) US9491212B2 (zh)
EP (1) EP2613493B1 (zh)
JP (1) JP5729659B2 (zh)
CN (1) CN102130960B (zh)
WO (1) WO2012126261A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130960B (zh) * 2011-03-23 2013-10-09 华为技术有限公司 一种媒体流化的方法和媒体控制器
WO2015192344A1 (zh) * 2014-06-18 2015-12-23 华为技术有限公司 一种控制业务数据流的方法及装置
CN110062259B (zh) * 2019-04-19 2021-09-28 视联动力信息技术股份有限公司 视频获取方法、系统、设备和计算机可读存储介质
CN111083527A (zh) * 2019-12-31 2020-04-28 北京视博云科技有限公司 应用的视频播放方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909509A (zh) * 2006-07-19 2007-02-07 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端
CN101094243A (zh) * 2007-05-31 2007-12-26 广东中大讯通软件科技有限公司 基于UPnP的不同类型设备间的多媒体适配系统及多媒体内容适配方法
CN101340574A (zh) * 2008-08-04 2009-01-07 中兴通讯股份有限公司 一种实现零拷贝发送流媒体数据的方法及系统
CN101365170A (zh) * 2007-08-09 2009-02-11 华为技术有限公司 分离架构下实现预定会议的方法、系统及装置
US20100312826A1 (en) * 2009-06-08 2010-12-09 Sarosi George W Methods and apparatus for premises content distribution
CN102130960A (zh) * 2011-03-23 2011-07-20 华为技术有限公司 一种媒体流化的方法和媒体控制器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438630B1 (en) * 1999-10-06 2002-08-20 Sun Microsystems, Inc. Scheduling storage accesses for multiple continuous media streams
US6708213B1 (en) * 1999-12-06 2004-03-16 Lucent Technologies Inc. Method for streaming multimedia information over public networks
AU2002247257A1 (en) * 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US8224964B1 (en) * 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
JP2006304272A (ja) * 2005-03-25 2006-11-02 Matsushita Electric Ind Co Ltd 送信装置
JP2007067521A (ja) * 2005-08-29 2007-03-15 Nec Corp 配信装置、ストリーミングコンテンツ配信システム、配信方法、および、配信プログラム
US9176741B2 (en) * 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
US7924456B1 (en) 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
CN101083756A (zh) * 2007-03-14 2007-12-05 中国科学技术大学 基于互联网的电视流媒体数据实时传输和服务装置及方法
TWI376603B (en) 2007-09-21 2012-11-11 Phison Electronics Corp Solid state disk storage system with a parallel accessing architecture and a solid state disk controller
CN101216790A (zh) * 2008-01-17 2008-07-09 四川大学 一种与源结构无关的备份数据共享存储方法
US7921178B2 (en) 2008-12-04 2011-04-05 Voltaire Ltd. Device, system, and method of accessing storage
CN101582919A (zh) * 2009-04-14 2009-11-18 冯俊秋 网络电视播放方法及系统
EP2333686B1 (en) * 2009-11-20 2018-01-10 Samsung SDS Co. Ltd. Anti-virus protection system and method thereof
US9253548B2 (en) * 2010-05-27 2016-02-02 Adobe Systems Incorporated Optimizing caches for media streaming

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909509A (zh) * 2006-07-19 2007-02-07 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端
CN101094243A (zh) * 2007-05-31 2007-12-26 广东中大讯通软件科技有限公司 基于UPnP的不同类型设备间的多媒体适配系统及多媒体内容适配方法
CN101365170A (zh) * 2007-08-09 2009-02-11 华为技术有限公司 分离架构下实现预定会议的方法、系统及装置
CN101340574A (zh) * 2008-08-04 2009-01-07 中兴通讯股份有限公司 一种实现零拷贝发送流媒体数据的方法及系统
US20100312826A1 (en) * 2009-06-08 2010-12-09 Sarosi George W Methods and apparatus for premises content distribution
CN102130960A (zh) * 2011-03-23 2011-07-20 华为技术有限公司 一种媒体流化的方法和媒体控制器

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN102130960A (zh) 2011-07-20
US9491212B2 (en) 2016-11-08
JP5729659B2 (ja) 2015-06-03
EP2613493B1 (en) 2017-09-13
EP2613493A4 (en) 2014-04-02
EP2613493A1 (en) 2013-07-10
CN102130960B (zh) 2013-10-09
JP2014501075A (ja) 2014-01-16
US20130254268A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
WO2012111905A2 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
US20090083392A1 (en) Simple, efficient rdma mechanism
WO2012126261A1 (zh) 一种媒体流化的方法和媒体控制器
US10466935B2 (en) Methods for sharing NVM SSD across a cluster group and devices thereof
CN101076021A (zh) 网络数据存储系统
CN101063963A (zh) 数据零拷贝文件的移动方法
WO2011144093A2 (zh) 队列调度的方法和装置
TW200805059A (en) Flash memory apparatus and access method to flash memory
WO2016197628A1 (zh) 终端会议负载均衡方法、装置及系统
JP3547840B2 (ja) マルチメディアサーバ
WO2015027806A1 (zh) 一种内存数据的读写处理方法和装置
CN110493344B (zh) 文件下载方法和装置
WO2020199760A1 (zh) 数据存储方法、存储器和服务器
WO2017092384A1 (zh) 一种集群数据库分布式存储的方法和装置
WO2014104679A1 (en) Method and apparatus for managing memory
WO2013176431A1 (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
US9407670B2 (en) Broadcasting media from a stationary source to multiple mobile devices over Wi-Fi
Ren et al. Design, implementation, and evaluation of a NUMA-aware cache for iSCSI storage servers
WO2009109126A1 (zh) 数据缓存方法和装置
CN114257545B (zh) 一种报文转发方法及装置
US20040210725A1 (en) Stream memory manager
KR101901266B1 (ko) 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법
WO2017177400A1 (zh) 一种数据处理方法及系统
CN110660205B (zh) 报警信息处理方法、装置、电子设备及可读存储介质
WO2016080648A1 (ko) 스트리밍 서비스 제공 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011861788

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011861788

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2013538058

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE