BR112014000597B1 - Método e sistema para download de arquivo multimídia - Google Patents

Método e sistema para download de arquivo multimídia Download PDF

Info

Publication number
BR112014000597B1
BR112014000597B1 BR112014000597-4A BR112014000597A BR112014000597B1 BR 112014000597 B1 BR112014000597 B1 BR 112014000597B1 BR 112014000597 A BR112014000597 A BR 112014000597A BR 112014000597 B1 BR112014000597 B1 BR 112014000597B1
Authority
BR
Brazil
Prior art keywords
transcoding
file
server
transcoded
download
Prior art date
Application number
BR112014000597-4A
Other languages
English (en)
Other versions
BR112014000597A2 (pt
Inventor
Liu Gang
Liang Chen
Original Assignee
Tencent Technology (Shenzhen) Company Limited
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 Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of BR112014000597A2 publication Critical patent/BR112014000597A2/pt
Publication of BR112014000597B1 publication Critical patent/BR112014000597B1/pt

Links

Images

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2326Scheduling disk or memory reading operations
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load

Abstract

MÉTODO DE DOWNLOAD OFFLINE, MÉTODO DE DOWNLOAD DE ARQUIVO MULTIMÍDIA e SISTEMA DESTES; a invenção provê método de download offline e um sistema deste, e um método de download de arquivo multimídia e um sistema deste. O sistema de download offline inclui: pelo menos dois servidores de download, sendo cada um deles configurado para retornar informação de carga a um servidor de distribuição de acordo com sua própria carga e obter informação de dados a partir da internet de acordo com uma tarefa offline; o servidor de distribuição, configurado para receber a informação de carga, regra de escalonamento e distribuir a tarefa offline aos servidores de download de acordo com a regra de escalonamento; e um servidor de armazenamento, comunicativamente conectado com o grupo de servidor de download e configurado para armazenar a informação de dados obtida pelo grupo de servidor de download e tornar a informação de dados disponível para fins de download. A solução de download offline pode escalonar tarefas offline de acordo com a carga dos servidores de download para melhorar a utilização dos servidores de download.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[0001] Este pedido reivindica a prioridade do Pedido de Patente Chinês No. 2012101221784, depositado em 24 de abril de 2012, e intitulado "Um método de vídeo sob demanda e sistema deste". O teor do pedido acima identificado é aqui incorporado por referência em sua totalidade.
CAMPO DA TECNOLOGIA
[0002] A presente invenção refere-se a uma tecnologia de download de dados de rede e particularmente a método de download off-line, a um método de download de arquivo multimídia, e sistemas destes.
ANTECEDENTES DA INVENÇÃO
[0003] Com o desenvolvimento de tecnologias de computador e exigências por parte de usuários em telas de alta-definição, o espaço de armazenamento ocupado por arquivos de vídeo multimídia tem se tornado cada vez maior. Um arquivo de vídeo multimídia tende a ocupar 4 GB ou 5 GB de armazenamento. Em outras palavras, com o boom e desenvolvimento de dispositivos móveis inteligentes integrados com multi-função, reproduzir multimídia em um dispositivo móvel se tornou tendência, mas o dispositivo móvel atualmente pode armazenar e processar somente o arquivo multimídia de tamanho relativamente pequeno. Portanto, um arquivo multimídia que ocupa um grande espaço em um computador precisa ser transcodificado em um arquivo multimídia que ocupa um espaço pequeno que torna o arquivo adequado para jogo em um dispositivo móvel.
[0004] Em um método de transcodificação de multimídia tradicional, o arquivo é transcodificado por um transcodificador local no equipamento do usuário tal como um computador ou um dispositivo móvel. A transcodificação leva um período de tempo que depende do desempenho da CPU e GPU (Unidade de Processamento Gráfico) do computador local e usualmente gasta horas. Além disso, a transcodificação ocupa a CPU demasiadamente e o computador local processa muito dificilmente outras tarefas durante a transcodificação. Portanto, o método tradicional é ineficiente na transcodificação de multimídia.
[0005] Além disso, o serviço de download de rede no estado da técnica consegue não consegue só baixar arquivos de vídeo multimídia, mas também baixar vários dados de recurso como software, fotos, livros, etc. Para economizar os recursos de download do equipamento do usuário, o estado da técnica apresenta download subscrito em nuvem, que também é chamada de download off-line, cuja essência é: ferramentas de download incluem um servidor e um cliente, e o servidor baixa previamente o arquivo no local do cliente configurado no equipamento do usuário. Por exemplo, um recurso não é popular e a velocidade para baixar o recurso é muito baixa, e, portanto, leva muito tempo para o cliente do equipamento do usuário baixar o recurso. Se o usuário aplicar a tecnologia de download off-line, o servidor configurado pelo provedor de serviço poderá baixar o recurso no local do cliente do usuário e o usuário poderá desligar o cliente local da ferramenta de ou desligar o dispositivo de usuário o que economiza tempo e eletricidade. Após o servidor concluir o download off-line, o usuário baixa o recurso do servidor da ferramenta de download para o equipamento de computador do usuário no lado do cliente a uma elevada velocidade. Download off-line economiza muito mais tempo de espera e mais importante ainda, a largura de banda do equipamento de computador do usuário pode ser desocupada para outras tarefas. O download offline provê um serviço de aceleração de rede ao deixar o servidor executar a operação de download por um proxy a elevada velocidade, transferindo o recurso baixado a um espaço off-line e depois deixando o usuário baixar o recurso a partir de um servidor off-line em um local do cliente e assim o download off-line é popularizado.
[0006] Um procedimento geral de download subscrito em nuvem é: um usuário submete um pedido de subscrição que carrega um endereço de download de arquivo de um arquivo a ser baixado; um servidor de gerenciamento de tarefa off-line recebe o pedido de subscrição submetido pelo usuário; depois de receber o pedido de subscrição, o servidor de gerenciamento de tarefa off-line consulta registros de mapeamento em uma base de dados e checa se um arquivo correspondente ao pedido de subscrição está sendo baixado ou foi baixado completamente no lado de nuvem do servidor , e em caso afirmativo, notifica o cliente diretamente e depois o cliente pode baixar a partir do lado de nuvem do servidor diretamente e usar uma tecnologia P2SP (ponto para servidor e ponto); se não for apropriado o arquivo ser combinado no servidor, um pedido de tarefa off-line será enviado a um servidor de distribuição de tarefa off-line; o servidor de distribuição de tarefa off-line em geral utiliza arquivos de configuração para administrar servidores de download e programa tarefas off-line de acordo com um intervalo de byte inicial de um Hash de link de download (o Hash é um processo de conversão de uma entrada de qualquer comprimento em uma saída de um comprimento fixo através de um algoritmo Hash em que a saída é um valor Hash) gerado através do cálculo de Hash do endereço de download de arquivo e as tarefas off-line são programadas para um cluster off-line de servidor de download ; o cluster off-line de servidor de download inicia o download de informação de dados a partir da internet de acordo com o endereço de download do arquivo que está na forma de uma URL (Uniform/Universal Recurso Locator, também chamada de endereço de página web); a informação de dados baixados é sincronizada para um servidor de armazenamento em nuvem, e o resultado do download é escrito em uma base de dados simultaneamente.
[0007] Em um Sistema off-line de download geral a distribuição de tarefa off-line é agrupar tarefas off-line de acordo com uma faixa do intervalo de byte inicial do Hash de link de download. Porém, exigências de download de usuários e tamanhos de arquivos a serem baixados são distribuídos muito desigualmente, o que acarreta cargas desiguais distribuídas aos servidores de download no cluster off-line de servidor de download. O servidor de download trabalha por meio do software p2p (ponto a ponto). Ou seja, cada servidor de download executa download com sua melhor capacidade. Portanto, tanto fontes de dados a partir das quais são obtidos fragmentos de dados como discos nos quais fragmentos de dados são escritos são randômicos e irregulares. O IO do servidor de download tende a ser um obstáculo do Sistema de download. A prática atual é somente agrupar tarefas randomicamente de acordo com o Hash de link de download e alocar as tarefas para o servidor de download no grupo correspondente e o efeito atual é ainda que o disco IO de alguns servidores de download se torna um obstáculo do sistema, as tarefas off-line tem que ser enfileiradas e o download não pode ser completado a tempo. Além disso, devido a características de uma rede P2SP (ponto para servidor e ponto), o download através de um servidor de download é incerto, e é difícil presumir se o download pode ser finalizado e quando o download será concluído, o que torna difícil determinar como os discos do servidor de download serão atualmente utilizados e como executar alocação.
[0008] Portanto, no Sistema off-line de download tradicional o servidor de download é simploriamente utilizado e o espaço no disco não pé suficientemente aproveitado.
DESCRIÇÃO RESUMIDA DA INVENÇÃO
[0009] Um aspecto da presente invenção é prover um método de download off-line e um sistema do mesmo para solucionar a baixa utilização de servidores de download em um sistema de download tradicional.
[00010] Outro aspecto da presente invenção é prover um método de download de arquivo multimídia e um sistema deste como solução de transcodificação de multimídia que melhore a eficiência de transcodificação.
[00011] Em um aspecto, concretizações da presente invenção provêm um sistema off-line de download, que inclui: um grupo de servidor de download, em que o grupo de servidor de download inclui pelo menos dois servidores de download , sendo cada qual configurado para retornar informação de carga para um servidor de distribuição de acordo com sua própria carga e obter informação de dados da Internet de acordo com uma tarefa off-line; o servidor de distribuição, configurado para obter a tarefa offline, comunicativamente conectado ao grupo de servidor de download e configurado para receber a informação de carga, gera um regra de escalonamento de acordo com a informação de carga, e distribui a tarefa off-line aos servidores de download de acordo com a regra de escalonamento scheduling rule; e um servidor de armazenamento, comunicativamente conectado ao grupo de servidor de download e configurado para armazenar a informação de dados obtida pelo grupo de servidor de download, e torna a informação de dados disponível para download.
[00012] Preferivelmente, o Sistema também inclui: uma base de dados de tarefa off-line, configurada para armazenar um link original da tarefa off-line, em que o grupo de servidor de download é comunicativamente conectado à base de dados de tarefa off-line e configurado para obter o link original da tarefa off-line a partir da base de dados de tarefa off-line, e o grupo de servidor de download é também configurado para escrever um endereço de portal de informação de dados correspondente à tarefa off-line completamente baixada na base de dados de tarefa off-line e gerar um registro de mapeamento; e um gerenciador de tarefa off-line, comunicativamente conectado à base de dados de tarefa off-line e ao servidor de distribuição e configurado para: julgar de acordo com o registro de mapeamento se a tarefa off-line obtida pelo servidor de distribuição foi completamente baixada; em caso afirmativo, prover o servidor de armazenamento diretamente com a informação de dados da tarefa off-line completamente baixada; em caso negativo, gerar um único número de sequência para a tarefa off-line cujo download está inacabado, escrever o número de sequência e um original link da tarefa off-line cujo download está inacabado na base de dados de tarefa off-line, e submeter a tarefa off-line cujo download está inacabado ao servidor de distribuição.
[00013] Preferivelmente, no sistema, os servidores de download são categorizados em diferentes tipos através de protocolos de download, e o servidor de distribuição inclui um módulo de classificação de tarefa, em que o módulo de classificação de tarefa é configurado para distribuir a tarefa off-line aos servidores de download de tipos correspondentes de acordo com os protocolos de download.
[00014] Preferivelmente, no sistema, o servidor de distribuição inclui um módulo de filtração, em que o módulo de filtração é configurado para comparar a tarefa off-line com tarefas off-line existentes, e remover por filtração a tarefa off-line que já existe.
[00015] Preferivelmente, no sistema, o servidor de distribuição inclui: um módulo de escalonamento de carga, configurado para receber a informação de carga, gerar uma regra de escalonamento de acordo com a informação de carga, e manter a regra de escalonamento e uma tabela de link que inclui informação sobre os servidores de download ; e um módulo de distribuição de tarefa, configurado para distribuir a tarefa off-line aos servidores de download de acordo com a regra de escalonamento e a informação na tabela de link.
[00016] Preferivelmente, no sistema, a informação de carga inclui carga de CPU, carga de disco, carga de memória, paralela, comprimento de fila, e comprimento de fila de espera, e a regra de escalonamento é alocar a tarefa off-line na proporção inversa a uma carga em tempo real do servidor de download, sendo que o tempo real é expresso como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralelo + e x comprimento de fila de espera, onde a, b, c, d, e e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[00017] Preferivelmente, o Sistema também inclui um servidor de estatística, configurado para obter parâmetros de download da tarefa off-line, e gerar logs de acordo com os parâmetros de download.
[00018] Além disso, concretizações da presente invenção fornecem um método de download off-line, que inclui: recebimento de retorno de informação de carga por cada um dos servidores de download de acordo com sua própria carga; obtenção de uma tarefa off-line; criação de uma regra de escalonamento de acordo com a informação de carga de cada servidor de download, e distribuição da tarefa off-line aos servidores de download de acordo com a regra de escalonamento; obtenção pelo servidor de download ao qual a tarefa off-line é distribuída, informação de dados a partir da Internet de acordo com a tarefa off-line, e armazenamento da informação de dados; e provisão da informação de dados correspondente à tarefa off-line de forma a finalizar o download off-line.
[00019] Preferivelmente, no método, a etapa de obtenção de informação de dados a partir da internet de acordo com a tarefa off-line e armazenamento da informação de dados inclui: obtenção de um link original da tarefa off-line, e obtenção da informação de dados de acordo com o link original; e armazenamento da informação de dados em um servidor de armazenamento sincronicamente, registro de um endereço de portal de armazenamento da informação de dados, e geração de um registro de mapeamento.
[00020] Preferivelmente, antes da etapa de geração de uma regra de escalonamento de acordo com a informação de carga de cada servidor de download e distribuição da tarefa off-line aos servidores de download de acordo com uma regra de escalonamento, o método também inclui: distribuição da tarefa off-line aos servidores de download de tipos correspondentes de acordo com protocolos de download.
[00021] Preferivelmente, antes da etapa de geração de uma regra de escalonamento de acordo com a informação de carga de cada servidor de download e distribuição da tarefa off-line aos servidores de download de acordo com uma regra de escalonamento, o método também inclui: comparação da tarefa off-line com tarefas off-line existentes, e remoção por filtração da tarefa off-line que já existe.
[00022] Preferivelmente, no método, a etapa de geração de uma regra de escalonamento de acordo com a informação de carga de cada servidor de download e distribuição da tarefa off-line aos servidores de download de acordo com uma regra de escalonamento inclui: geração de uma regra de escalonamento de acordo com informação de carga recebida, e manutenção da regra de escalonamento e uma tabela de link que inclui informação sobre os servidores de download ; e distribuição da tarefa off-line aos servidores de download de acordo com a regra de escalonamento e a informação na tabela de link.
[00023] Preferivelmente, no método, a informação de carga inclui carga de CPU, carga de disco, carga de memória, comprimento de fila paralela, e comprimento de fila de espera, e a regra de escalonamento é alocar a tarefa off-line na proporção inversa a uma carga em tempo real do servidor de download, sendo que a carga em tempo real é expressa como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralela + e x comprimento de fila de espera, onde a, b, c, d, e e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[00024] Preferivelmente, após a etapa de provisão de informação de dados correspondente à tarefa off-line de forma a finalizar download offline, o método também inclui: obtenção de parâmetros de download da tarefa off-line, e geração de logs de acordo com os parâmetros de download.
[00025] Em outro aspecto, concretizações da presente invenção fornecem um método de download de arquivo multimídia, incluindo: obtenção através de um servidor de transcodificação, um arquivo transcodificado gerado pela transcodificação de um arquivo multimídia; e retorno do arquivo transcodificado a um cliente de acordo com uma exigência do cliente.
[00026] Preferivelmente, no método, a obtenção através de um servidor de transcodificação, um arquivo transcodificado gerado pela transcodificação de um arquivo multimídia, inclui: transcodificação pelo servidor de transcodificação de antemão, um arquivo de vídeo que necessita de transcodificação e obtenção de arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo e armazenamento dos mesmos em uma base de dados de resultado de agregação de transcodificação; e o retorno do arquivo transcodificado a um cliente de acordo com uma exigência do cliente inclui: busca através de um servidor de combinação de formato de reprodução de vídeo quando o cliente escolhe reproduzir um arquivo de vídeo de acordo com a necessidade, da base de dados de resultados de agregação de transcodificação para um arquivo transcodificado cuja taxa de código e formato de vídeo são adequados para reproduzir no cliente, e notificação do arquivo transcodificado combinado ao cliente para reprodução sob demanda.
[00027] Preferivelmente, no método, os arquivos de vídeo que necessitam de transcodificação incluem: arquivos de vídeo baixados offline, e/ou arquivos de vídeo que são escalonados pro-ativamente por um servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação.
[00028] Preferivelmente, no método, os arquivos de vídeo que são pro-ativamente escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação são: arquivos de vídeo que haviam sido baixados por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre arquivos de vídeo baixados off-line.
[00029] Preferivelmente, no método, durante ou antes do servidor de transcodificação transcodificar antecipadamente o arquivo de vídeo que necessita de transcodificação, obter arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e os armazenar em uma base de dados de resultados de agregação de transcodificação, o método também inclui: agregação através de um servidor de análise de agregação de vídeo, arquivos de vídeo similares nos arquivos de vídeo baixados off-line, e armazenamento de um resultado de agregação na base de dados de resultados de agregação de transcodificação, onde correspondentemente, quando o cliente escolhe reproduzir um arquivo de vídeo sob demanda, se o servidor de combinação de formato de reprodução de vídeo não encontrar nenhum arquivo transcodificado adequado para reprodução no cliente na base de dados de resultados de agregação de transcodificação, o servidor de combinação de formato de reprodução de vídeo recomenda ao cliente outro arquivo de vídeo que esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda de forma a fazer a escolha do cliente em reproduzir o arquivo de vídeo recomendado sob demanda.
[00030] Preferivelmente, no método, o sistema de download off-line provido em qualquer concretização da presente invenção é usado para obter informação de dados de tarefa de download off-line como o arquivo de vídeo que necessita de transcodificação.
[00031] Preferivelmente, no método, a notificação do arquivo transcodificado combinado ao cliente para reprodução sob demanda inclui: obtenção e provisão de um link de vídeo, um endereço de download de vídeo ou uma semente BT correspondente ao arquivo transcodificado combinado para o cliente de forma que o cliente adicione o link de vídeo, o endereço de download de vídeo ou uma semente BT e use nuvem sob demanda para permitir clique para reproduzir o arquivo transcodificado.
[00032] Preferivelmente, no método, o arquivo transcodificado adequado para reprodução no cliente é obtido pela transcodificação do arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e apresenta uma taxa de código que combina largura de banda do cliente e apresenta um formato de vídeo suportado pelo cliente.
[00033] Preferivelmente, no método, o retorno do arquivo transcodificado a um cliente de acordo com a exigência do cliente inclui: obtenção de um identificador de multimídia original a partir do cliente; busca por um identificador de multimídia transcodificada correspondente ao identificador de multimídia original de acordo com uma relação de mapeamento armazenada entre o identificador de multimídia original e o identificador de multimídia transcodificada; obtenção do arquivo transcodificado de acordo com o identificador de multimídia transcodificada; e retorno do arquivo transcodificado obtido para o cliente.
[00034] Preferivelmente, no método, a obtenção do arquivo transcodificado de acordo com o identificador de multimídia transcodificada inclui: obtenção de informação básica e um endereço de download do arquivo transcodificado correspondente ao identificador de multimídia transcodificada; retorno da informação básica obtida e endereço de download para o cliente; e obtenção do arquivo transcodificado escolhido pelo cliente.
[00035] Preferivelmente, no método, a informação básica do arquivo transcodificado inclui informação de formato do arquivo transcodificado;
[00036] O método também inclui: obtenção de parâmetros de transcodificação de multimídia original do cliente; uma etapa de obtenção de informação básica e um endereço de download do arquivo transcodificado correspondente ao identificador de multimídia transcodificada e retorno da informação básica e o endereço de download para o cliente inclui: busca de informação básica do arquivo transcodificado correspondente ao identificador de multimídia transcodificada, em que a informação de formato do arquivo transcodificado combina os parâmetros de transcodificação da multimídia original; obtenção de um endereço de download do arquivo transcodificado correspondente à informação básica; e retorno da informação básica e o endereço de download do arquivo transcodificado correspondente à informação básica para o cliente.
[00037] Preferivelmente, no método, a obtenção por um servidor de transcodificação, de um arquivo transcodificado gerado pela transcodificação de um arquivo multimídia, inclui: obtenção de multimídia original e parâmetros de transcodificação da multimídia original, que são transferidos pelo cliente; e transcodificação, pelo servidor de transcodificação, da multimídia original de acordo com os parâmetros de transcodificação da multimídia original para obter o arquivo transcodificado.
[00038] Preferivelmente, o método também inclui: armazenamento do arquivo transcodificado obtido através da transcodificação; obtenção do identificador de multimídia transcodificada, da informação básica, do endereço de download, e do identificador de multimídia original correspondente à multimídia transcodificada; e armazenamento do identificador de multimídia original, do identificador de multimídia transcodificada, da informação básica, e do endereço de download correspondentemente.
[00039] Preferivelmente, no método, o identificador é um valor digest de informação de multimídia.
[00040] Em outro aspecto, concretizações da presente invenção fornecem um sistema de download de arquivo multimídia, incluindo: um servidor de transcodificação, configurado para obter um arquivo transcodificado gerado pela transcodificação de um arquivo multimídia; e um servidor de retorno de arquivo, configurado para retornar o arquivo transcodificado a um cliente de acordo com uma exigência do cliente.
[00041] Preferivelmente, i sistema também inclui uma base de dados de resultados de agregação de transcodificação; o servidor de transcodificação é especialmente configurado para transcodificar de antemão o arquivo de vídeo que necessita de transcodificação, obter arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e os armazenar na base de dados de resultados de agregação de transcodificação; a base de dados de resultados de agregação de transcodificação é configurada para armazenar cada arquivo transcodificado obtido pelo servidor de transcodificação; o servidor de retorno de arquivo é especificamente um servidor de combinação de formato de reprodução de vídeo, e é configurado para: em vista de um arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, buscar a base de dados de resultados de agregação de transcodificação para um arquivo transcodificado cuja taxa de código e formato de vídeo são adequados para reprodução no cliente e notificar o arquivo transcodificado combinado para o cliente para reprodução sob demanda.
[00042] Preferivelmente, o sistema inclui também um servidor de escalonamento de transcodificação, configurado para escalonar arquivos de vídeo que necessitam de transcodificação para o servidor de transcodificação.
[00043] Os arquivos de vídeo que necessitam de transcodificação incluem: arquivos de vídeo baixados off-line, e/ou arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação para o servidor de transcodificação para fins de transcodificação.
[00044] Preferivelmente, no sistema, os arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação para o servidor de transcodificação para fins de transcodificação são: arquivos de vídeo que haviam sido baixados por um número de vezes superior a um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
[00045] Preferivelmente, o Sistema também inclui: um servidor de análise de agregação de vídeo, configurado para agregar arquivos de vídeo similares nos arquivos de vídeo baixados off-line, e armazenar um resultado de agregação na base de dados de resultados de agregação de transcodificação, onde o servidor de combinação de formato de reprodução de vídeo é também configurado para: se não for encontrado nenhum arquivo transcodificado adequado para reprodução no cliente, recomendar para o cliente outro arquivo de vídeo que está em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, de forma a fazer a escolha do cliente se roda o arquivo de vídeo recomendado sob demanda.
[00046] Preferivelmente, no sistema, o arquivo transcodificado adequado para reproduzir no cliente é obtido pela transcodificação do arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e apresenta uma taxa de código que combina largura de banda do cliente e apresenta um formato de vídeo suportado pelo cliente.
[00047] Preferivelmente, o sistema também inclui uma base de dados de índice de transcodificação e um servidor de armazenamento de multimídia transcodificada; a base de dados de índice de transcodificação é configurada para armazenar uma relação de mapeamento entre um identificador de multimídia original e um identificador de multimídia transcodificada; o servidor de armazenamento de multimídia transcodificada é configurado para armazenar arquivos transcodificados; o servidor de retorno de arquivo é especificamente um servidor de gerenciamento de tarefa de transcodificação, e o servidor de gerenciamento de tarefa de transcodificação inclui: um módulo de obtenção de informação, configurado para obter o identificador de multimídia original do cliente; um módulo de busca, configurado para: buscar a base de dados de índice de transcodificação para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e obter o arquivo transcodificado do servidor de armazenamento de multimídia transcodificada de acordo com o identificador de multimídia transcodificada; e um módulo de comunicação, configurado para retornar o arquivo transcodificado obtido para o cliente.
[00048] Preferivelmente, no sistema, a base de dados de índice de transcodificação é também configurada para armazenar uma relação de mapeamento entre o identificador de multimídia transcodificada e informação básica junto com um endereço de download do arquivo transcodificado; o módulo de busca é especialmente configurado para buscar a base de dados de índice de transcodificação para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e para a informação básica e o endereço de download do arquivo transcodificado correspondente para o identificador de multimídia transcodificada; e o módulo de comunicação é especificamente configurado para retornar a informação básica e o endereço de download para o cliente, obter o arquivo transcodificado escolhido pelo cliente, e retornar o arquivo transcodificado escolhido pelo cliente para o cliente.
[00049] Preferivelmente, no sistema, a informação básica do arquivo transcodificado inclui informação de formato do arquivo transcodificado; o módulo de obtenção de informação é também configurado para obter parâmetros de transcodificação de multimídia original; o módulo de busca é especialmente configurado para buscar a base de dados de índice de transcodificação para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e para a informação básica do arquivo transcodificado correspondente ao identificador de multimídia transcodificada e cuja informação de formato combina os parâmetros de transcodificação da multimídia original, e obter o endereço de download do arquivo transcodificado correspondente à informação básica; e o módulo de comunicação é especificamente configurado para retornar a informação básica e o endereço de download do arquivo transcodificado correspondente à informação básica para o cliente, obter o arquivo transcodificado escolhido pelo cliente, e retornar o arquivo transcodificado escolhido pelo cliente para o cliente.
[00050] Preferivelmente, no sistema, o módulo de obtenção de informação é também configurado para obter a multimídia original e parâmetros de transcodificação da multimídia original, que são transferidos pelo cliente; o servidor de transcodificação é especialmente configurado para transcodificar a multimídia original de acordo com os parâmetros de transcodificação da multimídia original; o servidor de armazenamento de multimídia transcodificada é configurado para armazenar arquivos transcodificados gerados como um resultado de transcodificação pelo servidor de transcodificação; e o módulo de comunicação é também configurado para retornar os arquivos transcodificados gerados como um resultado de transcodificação para o cliente.
[00051] Preferivelmente, no sistema, o servidor de transcodificação é também configurado para obter o identificador de multimídia transcodificada, a informação básica, o endereço de download, e o identificador de multimídia original correspondente ao arquivo transcodificado; e a base de dados de índice de transcodificação é configurada para armazenar uma relação de mapeamento entre o identificador de multimídia original e o identificador de multimídia transcodificada obtido pelo servidor de transcodificação, e uma relação de mapeamento entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download.
[00052] Preferivelmente, no sistema, o identificador é um valor digest de informação de multimídia.
[00053] O método de download off-line e o sistema deste provido nas concretizações da presente invenção pode escalonar tarefas off-line de acordo com carga de cada servidor de download a fim de aperfeiçoar a utilização de servidores de download. O método de download de arquivo multimídia e o Sistema deste fornecidos nas concretizações da presente invenção usam um servidor do lado de rede de transcodificação para transcodificar multimídia de forma a salvar recursos consumidos por um cliente na transcodificação da multimídia, e melhorar a eficiência de processamento de multimídia do cliente.
BREVE DESCRIÇÃO DOS DESENHOS
[00054] A figura 1 é um diagrama estrutural esquemático de um sistema de download off-line de acordo com concretização 1 da presente invenção;
[00055] A figura 2 é um diagrama de módulo detalhado de um grupo de servidor de download no sistema de download off-line mostrado na figura 1;
[00056] A figura 3 é um diagrama de módulo detalhado de um servidor de distribuição no sistema de download off-line mostrado na figura 1;
[00057] A figura 4 é um fluxograma de um método de download off- line de acordo com concretização 2 da presente invenção;
[00058] A figura 5 é um fluxograma de um método de download offline de acordo com concretização 3 da presente invenção;
[00059] A figura 6 é um fluxograma de um método de download offline de acordo com concretização 4 da presente invenção;
[00060] A figura 7 é um diagrama estrutural esquemático de um sistema de download off-line de acordo com concretização 5 da presente invenção;
[00061] A figura 8 é um diagrama estrutural de um sistema de nuvem sob demanda baseado em download off-line de acordo com concretização 6 da presente invenção;
[00062] A figura 9 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 7 da presente invenção;
[00063] A figura 10 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 8 da presente invenção;
[00064] A figura 11 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 9 da presente invenção;
[00065] A figura 12 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 10 da presente invenção;
[00066] A figura 13 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 11 da presente invenção;
[00067] A figura 14 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 12 da presente invenção;
[00068] A figura 15 é um diagrama estrutural esquemático de um sistema de download de multimídia de acordo com concretização 13 da presente invenção; e
[00069] A figura 16 é um diagrama estrutural esquemático de um sistema de download de multimídia de acordo com outra concretização da presente invenção.
DESCRIÇÃO DETALHADA
[00070] Para tornar os objetivos, soluções técnica e vantagens de concretizações da presente invenção mais compreensíveis, a seguir é feita a descrição detalhada e completa das soluções técnicas em concretizações da presente invenção com referência aos desenhos de acompanhamento em concretizações da presente invenção. Evidentemente, as concretizações descritas são meramente uma parte ao invés de todas as concretizações da presente invenção. Todas as outras concretizações obtidas pelos versados na técnica com base na concretização da presente invenção sem interferências criativas podem ser enquadradas dentro do escopo de proteção da presente invenção.
[00071] Em um sistema de download off-line, o número de servidores de distribuição é enormemente diferente do número de servidores de download que atualmente executam operações de download. O número de servidores de download varia com as exigências de download. Atualmente uma prática geral é usar arquivos de configuração no servidor de distribuição para gerenciar os servidores de download que, porém, traz desvantagem para a preparação de expansão e atualização dos servidores de download e acarreta baixa utilização de servidores de download. Em vista dos problemas acima descritos, as concretizações da presente invenção apresentam um sistema de download off-line e um método de download off-line para solucionar a baixa utilização de servidores de download off-line em um processo de download off-line.
CONCRETIZAÇÃO 1
[00072] A figura 1 é um diagrama estrutural esquemático de um sistema de download off-line de acordo com concretização 1 da presente invenção. Conforme mostrado na figura 1, o sistema de download off-line 100 provido na concretização 1 da presente invenção inclui um grupo de servidor de download 110, um servidor de distribuição 120, e um servidor de armazenamento 130. O sistema de download off-line 100 é configurado para prover serviço de download off-line ao cliente. O cliente em geral é operado por um usuário, e pode ser na forma de hardware ou software. Um cliente software pode reproduzir em um equipamento do usuário.
[00073] A figura 2 é um diagrama de módulo detalhado de um grupo de servidor de download no sistema de download off-line mostrado na figura 1. Conforme mostrado na figura 2, o grupo de servidor de download 110 inclui especificamente pelo menos dois servidores de download 112, e cada servidor de download 112 é configurado para retornar a informação de carga de acordo com sua própria carga e obter informação de dados a partir da internet de acordo com uma tarefa offline. A informação de dados é um arquivo a ser baixado, por exemplo, um arquivo multimídia. Os servidores de download 112 podem ser categorizados em diferentes tipos através de protocolos de download. Nesta concretização, os protocolos de download incluem Bt (bit torrent), eMule (electronic mule), e Http (Hyper Text Transfer Protocol). Correspondentemente, existem três tipos de servidores de download 112 que correspondem aos três protocolos de download acima.
[00074] Conforme mostrado na figura 1, o servidor de distribuição 120 é comunicativamente conectado ao grupo de servidor de download 110, e é configurado para obter a tarefa off-line. A tarefa off-line pode ser obtida a partir de múltiplas fontes, por exemplo, gerada quando o cliente submete um pedido de tarefa de download off-line. Conforme mostrado na figura 3, o servidor de distribuição 120 pode incluir especificamente um módulo de classificação de tarefa 122, um módulo de filtração 124, um módulo de escalonamento de carga 126, e um módulo de distribuição de tarefa 128.
[00075] O módulo de classificação de tarefa 122 é configurado para distribuir a tarefa off-line obtida aos servidores de download 112 de tipos correspondentes de acordo com protocolos de download. Por exemplo, para evitar falha de download o módulo de classificação de tarefa 122 aloca uma tarefa off-line que suporta o protocolo de download Bt ao servidor de download 112 correspondente ao protocolo de download Bt ao invés de outro servidor de download 112 de um tipo inapropriado.
[00076] O módulo de filtração 124 é configurado para comparar a tarefa off-line obtida com tarefas off-line existentes, e remover por filtração a tarefa off-line que já existe. Ou seja, para a mesma tarefa offline, o pedido de download é enviado ao grupo de servidor de download 110 somente uma vez; se múltiplos usuários diferentes enviar pedidos de download para a mesma tarefa off-line, tais diferentes usuários poderão compartilhar a tarefa off-line e comum.
[00077] O módulo de escalonamento de carga 126 recebe retorno de informação de carga através dos servidores de download 112, e gera uma regra de escalonamento de acordo com a informação de carga. Por exemplo, o módulo de escalonamento de carga 126 pode receber a respectiva informação de carga que é retornada por cada servidor de download 112 respectivamente, ou recebe o retorno de informação de carga pelo servidor de download 112 que precisa retornar. O módulo de escalonamento de carga 126 mantém a regra de escalonamento e uma tabela de link que inclui a informação sobre cada servidor de download 112. Especificamente na concretização, a informação de carga inclui carga de CPU, carga de disco, carga de memória, comprimento de fila paralela, e comprimento de fila de espera. Elementos na tabela de link são informações sobre cada servidor de download 112, e especificamente incluem Endereço IP, porta, servidor de download identificador (servidor ID), horário do último relatório (lastReportTime), e carga em tempo real. O módulo de escalonamento de carga 126 atualiza a tabela de link de acordo com o retorno de informação de carga pelo servidor de download 112. Na concretização, o servidor de download 112 retorna a informação de carga na forma de pacotes Heartbeat. Os pacotes Heartbeat são enviados a cada 10 segundos para assegurar a última informação na tabela de link.
[00078] O módulo de distribuição de tarefa 128 distribui a tarefa offline aos servidores de download 112 de acordo com uma regra de escalonamento e a informação na tabela de link. Especificamente na concretização, a regra de escalonamento é alocar a tarefa off-line na proporção inversa a uma carga em tempo real do servidor de download 112. A carga em tempo real é expressa como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralela + e x comprimento de fila de espera, onde a, b, c, d, e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[00079] Conforme mostrado na figura 1, o servidor de armazenamento 130 é comunicativamente conectado ao grupo de servidor de download 110 e configurado para armazenar a informação de dados obtida pelo grupo de servidor de download 110, e tornar a informação de dados disponível para o cliente para fins de download.
[00080] O sistema de download off-line 100 também inclui uma base de dados de tarefa off-line 140, um gerenciador de tarefa off-line 150, e um servidor de estatística 160.
[00081] A base de dados de tarefa off-line 140 é configurada para armazenar um link original da tarefa off-line. O grupo de servidor de download 110 é comunicativamente conectado à base de dados de tarefa off-line 140, e obtém o link original da tarefa off-line a partir da base de dados de tarefa off-line 140. O grupo de servidor de download 110 escreve um endereço de portal da informação de dados correspondente a uma tarefa off-line completamente baixada na base de dados de tarefa off-line 140, e gera um registro de mapeamento. O registro de mapeamento pode registrar a posição de download da tarefa off-line, por exemplo, está baixando, baixados, ou suspensos e registrar o endereço de portal da informação de dados correspondente à tarefa off-line.
[00082] O gerenciador de tarefa off-line 150 é comunicativamente conectado à base de dados de tarefa off-line 140 e ao servidor de distribuição 120. O gerenciador de tarefa off-line 150 decide de acordo com o registro de mapeamento se a tarefa off-line foi baixada completamente; em caso afirmativo, provê a informação de dados diretamente; em caso negativo, gera um único número de sequência para a tarefa off-line cujo download está inacabado, escreve o número de sequência e um link original da tarefa off-line na base de dados de tarefa off-line 140, e submete a tarefa off-line cujo download está inacabado ao servidor de distribuição 120.
[00083] O servidor de estatística 160 obtém parâmetros de download da tarefa off-line, e gera logs de acordo com os parâmetros de download. Especificamente na concretização, os parâmetros de download podem incluir velocidade de download de URL (endereço web), tempo de download, conectividade de rede, resultado de download, e tamanho de arquivo no processo de processo de download. Os logs gerados estão disponíveis para estatísticas futuras e análise.
[00084] As funções do sistema de download off-line 100 são implementadas no seguinte procedimento:
[00085] O módulo de escalonamento de carga 126 gerencia heartbeat e saída do sistema do servidor de download 112 e recebe sua informação de carga. O módulo de escalonamento de carga 126 transfere informação sobre os servidores de download 112 para o módulo de distribuição de tarefa 128 por meio de um buffer dual. Quando o módulo de escalonamento de carga 126 escreve dados em um primeiro buffer, o módulo de distribuição de tarefa 128 lê dados de um segundo buffer. Após o módulo de escalonamento de carga 126 finalizar a escrita, o módulo de distribuição de tarefa 128 inicia a reprodução dos dados a partir do primeiro buffer, e o módulo de escalonamento de carga 126 escreve os dados no segundo buffer. O módulo de escalonamento de carga 126 mantém uma tabela de link. Cada elemento na tabela de link é informação sobre cada servidor de download 112, incluindo Endereço IP, porta, servidor de download identificador (servidor ID), horário do último relatório (lastReportTime), e carga em tempo real, onde o servidor ID é um número inteiro 64-bit sem signo o IP reside em bytes superiores, e a porta reside em bytes inferiores. O módulo de escalonamento de carga 126 então executa um índice hash para os elementos da tabela de link, utilizando servidor ID como chave. Desse modo, ao selecionar um servidor de download de acordo com os elementos na tabela de link, o módulo de distribuição de tarefa 128 pode apresentar um índice rápido para um elemento específico mantendo uma ordem transversal.
[00086] As operações detalhadas do servidor de download 112 que envia um pacote heartbeat ao módulo de escalonamento de carga 126 para relatar a informação de carga são as seguintes:
[00087] O servidor de download 112 envia um pacote heartbeat ao módulo de escalonamento de carga 126, com o pacote heartbeat que carrega a informação de carga. O pacote heartbeat pode ser enviado a cada 10 segundos. Ao receber o pacote heartbeat o módulo de escalonamento de carga 126 busca um jogo de informação de servidor de download (servidor Info Set) para checar se informação de servidor de download (servidor Info) existe, por exemplo, pelo cruzamento da tabela de link, e, em caso negativo, insere um novo pedaço de informação de servidor de download (servidor Info), ou, se a informação de servidor de download existir, checa se uma nova informação de carga no pacote heartbeat é diferente da informação de carga original do servidor de download. Se eles forem diferentes, um sinalizador precisa ser afixado para indicar que existe informação de carga diferente. Quando o módulo de escalonamento de carga 126 se comunica com o próximo módulo de distribuição de tarefa 128 a informação de carga do servidor de download precisa ser atualizada. Se informação de sobrecarga informação de sobrecarga (por exemplo, a carga de disco é superior a 85%, e o espaço no disco, a CPU, a memória, o comprimento de fila paralela, ou o comprimento de fila de espera excede um valor- limite) aparece na nova informação de carga, a informação de sobrecarga precisa ser notificada ao módulo de distribuição de tarefa 128 imediatamente.
[00088] As operações detalhadas da saída de sistema do servidor de download 112 pertencente ao módulo de escalonamento de carga 126 incluem especificamente:
[00089] Ao receber um pedido de saída de servidor de download, o módulo de escalonamento de carga 126 deleta a informação de servidor de download no servidor de download correspondente para o pedido de saída de sistema do jogo de informação de servidor de download, estabelece um sinalizador de necessidade de atualização da memória compartilhada, e notifica o módulo de distribuição de tarefa 128 imediatamente.
[00090] As operações detalhadas de manipulação de expiração de pacote heartbeat do servidor de download 112 especificamente incluem:
[00091] O módulo de escalonamento de carga 126 cruza o jogo de informação de servidor de download a cada 10 segundos, deleta o servidor de download 112 com um pacote heartbeat de expiração do jogo de informação de servidor de download, estabelece um sinalizador de necessidade de atualizar a memória compartilhada, e atualiza a informação sobre o servidor de download no tempo de atualização no próximo período de atualização.
[00092] As operações detalhadas de comunicação entre o módulo de escalonamento de carga 126 e o módulo de distribuição de tarefa 128 são como segue:
[00093] No momento de atualização, o módulo de escalonamento de carga 126 escreve todos os dados no jogo de informação de servidor de download em um buffer, e em seguida pelo estabelecimento de um sinalizador no buffer, instrui o módulo de distribuição de tarefa 128 para ler dados do buffer. A atualização pode ocorrer quando informação de sobrecarga aparece na informação de carga do servidor de download 112 ou quando o servidor de download sai do sistema. A atualização também pode ocorrer após os servidores de download 112 com expiração de pacote heartbeat serem apagados a cada 10 segundos, a necessidade de atualização é verificada. Se for necessária atualização o módulo de distribuição de tarefa 128 será notificado. Portanto, normalmente o módulo de escalonamento de carga 126 se comunica com o módulo de distribuição de tarefa 128 a cada 10 segundos. Em um ciclo superior, o módulo de distribuição de tarefa 128 verifica o sinalizador no buffer, e se o sinalizador for correto, lê informação sobre o servidor de download 112 a partir do buffer.
[00094] O escalonamento específico na concretização é implementado da seguinte forma:
[00095] Com base em um intervalo de byte inicial de um Hash de link de download, o servidor de distribuição executa o escalonamento de acordo com uma razão de capacidade decidida pela informação de carga do servidor de download 112. Se uma razão de alocação de um servidor de download 112 for estabelecida para 0, o servidor de distribuição não escalona mais tarefas off-line para este servidor de download para fins de download. Por exemplo, um esquema atual é alocar tarefas de acordo com bytes iniciais (0-255) do Hash de link de download, e 4 servidores de download A, B, C, e D ficam disponíveis.
[00096] Uma regra de escalonamento e alocação padrão é alocação randômica, por exemplo, 25% de (0-255) é alocado para A, e é o mesmo com B, C, e D. A regra de escalonamento correspondente é:
Figure img0001
[00097] Quando uma quinta máquina de servidor de download 112 (E) sai do sistema, se seu peso de carga for ignorado, 20% das tarefas off-line serão alocados a cada servidor de download 112,e a correspondente regra de escalonamento muda para:
Figure img0002
[00098] Após expiração do pacote heartbeat de um dos servidores de download 112, ocorre a retirada de registro, ou seja, o servidor de download precisa sair do sistema. Portanto, nenhuma nova tarefa offline será adicionada ao servidor de download 112, e os 5 servidores são reduzidos para 4 servidores. Neste momento, o módulo de escalonamento de carga 126 pode calcular a carga em tempo real de cada servidor de download 112 de acordo com a informação de carga, e atualizar a tabela de link mantida por ele. O módulo de distribuição de tarefa 128 lê informação de tabela de link a partir do módulo de escalonamento de carga 126, e escalona tarefas de acordo com a regra de escalonamento. A carga em tempo real é expressa como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralela + e x comprimento de fila de espera, onde a, b, c, d, e e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[00099] Cada servidor de download relata um valor ao módulo de distribuição de tarefa 128 de acordo com a mesma regra, em que o valor identifica a capacidade de carga atual do servidor, e um valor maior significa uma capacidade de carga atual menor. O módulo de distribuição de tarefa 128 executa o escalonamento na proporção inversa à capacidade de carga atual de cada servidor de download. Se a capacidade de carga atual de um servidor de download for 0, nenhuma tarefa será escalonada no servidor de download.
[000100] Alternativamente, o módulo de distribuição de tarefa 128 pode, bem no início, escalonar tarefas off-line para cada servidor de download com base na informação de carga.
CONCRETIZAÇÃO 2
[000101] A figura 4 é um fluxograma de um método de download offline de acordo com concretização 2 da presente invenção. Conforme mostrado na figura 4, o método de download off-line provido na concretização da presente invenção inclui as etapas S210-S250, conforme abaixo detalhado:
[000102] Etapa S210: cada servidor de download retorna informação de carga de acordo com sua própria carga.
[000103] Especificamente na concretização, a informação de carga do servidor de download 112 inclui carga de CPU, carga de disco, carga de memória, comprimento de fila paralela, comprimento de fila de espera, etc. O servidor de download 112 pode retornar a informação de carga na forma de pacotes Heartbeat. Os pacotes Heartbeat são enviados a cada 10 segundos. Naturalmente a informação de carga não é limitada aos itens listados acima e parâmetros correspondentes podem ser selecionados conforme informação de carga de acordo com atuais condições do servidor de download. Além disso, o intervalo de tempo de envio dos pacotes Heartbeat não é limitado a 10 segundos. Intervalos mais curtos significam atualização mais rápida da informação de carga, e os intervalos em uma faixa específica são suficientes para cumprir as exigências. Todos os servidores de download retornam a informação de carga em intervalos estabelecidos ou um servidor de download retorna a informação de carga somente quando ele descobre mudança de sua informação de carga.
[000104] Etapa S220: obtenção de uma tarefa off-line.
[000105] A tarefa off-line em geral pode ser provida quando um usuário utiliza o sistema de download off-line, e tarefas off-line podem incluir vários tipos tais como vídeo, áudio, e texto. De acordo com protocolos de download que são atualmente prevalentes, tarefas off-line podem ser categorizadas em três tipos baseados em protocolos de download tais como Bt, eMule, e Http. Um servidor de distribuição pode obter tarefas off-line a partir de um pedido de tarefa de download off-line enviado por um usuário.
[000106] Etapa S230: Regra de escalonamento de acordo com a informação de carga do servidor de download, e distribuição da tarefa off-line aos servidores de download de acordo com a regra de escalonamento.
[000107] Etapa S240: O servidor de download obtém informação de dados a partir da internet de acordo com a tarefa off-line, e armazena a informação de dados.
[000108] Após obtenção da tarefa off-line, o servidor de download pode obter informação de dados a partir da internet. Após a informação de dados ser obtida, pois a informação de dados não foi eliminada imediatamente pelo usuário, a informação de dados é geralmente armazenada em um servidor de armazenamento a fim de evitar download repetido no futuro.
[000109] Etapa S250: Provisão da informação de dados correspondente à tarefa off-line de forma a finalizar download off-line.
[000110] Quando o usuário precisa baixar a informação de dados correspondente à tarefa off-line, a informação de dados é pesquisada primeiramente de acordo com um índice e um resultado Hash, e em seguida um endereço de portal de armazenamento da informação de dados é lido e retorna ao usuário. O usuário pode baixar a informação de dados desejada de acordo com o endereço de portal. Se não for encontrado nenhum Hash correspondente, isso indica que a tarefa offline não havia sido baixada completamente e o método antecedente de download off-line pode ser executado para obter a informação de dados e depois provê-la ao usuário.
[000111] Além disso, após as etapas de download off-line estarem completas, uma etapa de obtenção de parâmetros de download da tarefa off-line e geração de logs de acordo com os parâmetros de download poderá ser realizada. Especificamente na concretização, os parâmetros de download incluem velocidade de download de URL, tempo de download, conectividade de rede, resultado de download, e tamanho de arquivo no processo de download. Cabe salientar que esta etapa é concebida somente para gerar logs disponíveis para estatísticas futuras e análise, sem apresentar qualquer impacto na finalização do download off-line.
CONCRETIZAÇÃO 3
[000112] A figura 5 é um fluxograma de um método de download offline de acordo com concretização 3 da presente invenção. Esta concretização é baseada na concretização 2, com referência ao sistema de download off-line provido na concretização 1, em que o processo detalhado de geração de uma regra de escalonamento de acordo com a informação de carga do servidor de download e distribuição da tarefa off-line aos servidores de download de acordo com a regra de escalonamento pode incluir:
[000113] Etapa S310: Comparação da tarefa off-line com tarefas offline existentes, e remoção por filtração da tarefa off-line que já existe.
[000114] Ou seja, a presente tarefa off-line obtida é comparada com tarefas off-line existentes, e as tarefas off-line existentes podem incluir tarefas off-line que haviam sido baixadas completamente e tarefas offline que estão sendo baixadas. Se uma tarefa off-line já existir, a tarefa off-line será removida por filtração, sem ser distribuída ao servidor de download. Ou seja, para a mesma tarefa off-line, o pedido de download será enviado ao grupo de servidor de download 110 somente uma vez; se múltiplos diferentes usuários enviarem pedidos de download para a mesma tarefa off-line, tais diferentes usuários poderão compartilhar a tarefa off-line comum.
[000115] Etapa S320: Distribuição da tarefa off-line aos servidores de download de tipos correspondentes de acordo com protocolos de download.
[000116] Conforme mencionado na etapa S220, as tarefas off-line obtidas podem ser baseadas em protocolos de download tais como Bt, eMule, e Http. As tarefas off-line de diferentes tipos precisam ser distribuídas aos servidores de download 112 de tipos correspondentes para evitar erros de download.
[000117] Etapa S330: Recebimento da informação de carga, regra de escalonamento de acordo com a informação de carga, e manutenção da regra de escalonamento e uma tabela de link que inclui informação sobre cada servidor de download.
[000118] Elementos na tabela de link são informações sobre o servidor de download 112, e especificamente incluem Endereço IP, porta, servidor de download identificador (servidor ID), horário do último relatório (lastReportTime), e carga em tempo real. A tabela de link é atualizada de acordo com o retorno de informação de carga pelo servidor de download 112. Especificamente na concretização, a regra de escalonamento é alocar as tarefas off-line na proporção inversa a uma carga em tempo real do servidor de download. A carga em tempo real é expressa como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralela + e x comprimento de fila de espera, onde a, b, c, d, e e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[000119] Etapa S340: Distribuição da tarefa off-line aos servidores de download de acordo com a regra de escalonamento e a informação na tabela de link.
[000120] Reprodução de dados na tabela de link, obtenção da informação sobre o servidor de download 112 registrado, e alocação das tarefas off-line de acordo com a carga em tempo real de cada servidor de download 112. O processo detalhado é: obtenção da carga em tempo real de cada servidor de download 112 pelo cruzamento da informação na tabela de link, cálculo das tarefas off-line que devem ser alocadas a cada servidor de download de acordo com a regra de escalonamento, mapeamento do resultado de cálculo para o IP do servidor de download 112, e em seguida distribuição das tarefas de download off-line ao servidor de download 112 com precisão de acordo com o Endereço IP do servidor de download 112. nas etapas acima, as etapas S310 e S320 são opcionais. Na etapa S320, distribuição da tarefa off-line aos servidores de download de tipos correspondentes pode ser: primeiramente, determinação do servidor de download do tipo correspondente a uma tarefa off-line, e em seguida, na etapa S330, geração de uma regra de escalonamento de acordo com a informação de carga do servidor de download do tipo correspondente, e distribuição da tarefa off-line ao servidor de download do tipo correspondente.
CONCRETIZAÇÃO 4
[000121] A figura 6 é um fluxograma de um método de download offline de acordo com concretização 4 da presente invenção. Conforme mostrado na figura 6, esta concretização é baseada na concretização 2 ou 3, e etapa S240 pode ser especificamente:
[000122] Etapa S410: Obtenção de um link original da tarefa off-line, e obtenção da informação de dados de acordo com o link original.
[000123] Cada tarefa off-line apresenta um link original. Quando uma tarefa off-line é obtida, um único número de sequência é alocado à tarefa off-line, e o número de sequência e o link original são armazenados em uma base de dados de tarefa off-line. Após obtenção da tarefa off-line alocada, o servidor de download 112 busca a base de dados de tarefa off-line para o link original correspondente de acordo com o número de sequência da tarefa off-line.
[000124] Etapa S420: Armazenamento da informação de dados sincronicamente, registro de um endereço de portal de armazenamento da informação de dados, e geração de um registro de mapeamento.
[000125] Após uma tarefa off-line ser baixada completamente, a informação de dados correspondente é armazenada pelo servidor de download em um servidor de armazenamento 130 sincronicamente. Para facilitar a pesquisa da informação de dados, cada pedaço de informação de dados baixada apresenta um único índice. Na concretização, o índice é especificamente um resultado Hash do endereço de download.
[000126] O processo de implementação detalhado do método de download off-line é similar ao processo de implementação das funções do sistema de download off-line 100, e não é repetido aqui mais detalhadamente.
[000127] O sistema de download off-line 100 inclui um servidor de distribuição 120, cada servidor de download 112 retorna sua informação de carga ao servidor de distribuição 120, e o servidor de distribuição 120 gera uma regra de escalonamento de acordo com atual informação de carga do servidor de download 112 e aloca a tarefa off-line de acordo com uma regra de escalonamento. Para um servidor de download 112 pesadamente carregado, pouca ou nenhuma tarefa será distribuída; para um servidor de download 112 levemente carregado, mais tarefas serão distribuídas. Portanto, as tarefas distribuídas a um servidor de download 112 dependem da extensão de sua carga em tempo real, melhorando assim a utilização dos servidores de download 112 e fazendo uso total dos espaços no disco.
[000128] Em geral, as concretizações da presente invenção fornecem um sistema de download off-line e um método de download off-line.
[000129] Um sistema de download off-line provido na concretização da presente invenção inclui: um grupo de servidor de download em que o grupo de servidor de download inclui pelo menos dois servidores de download cada um dos quais retorna a informação de carga de acordo com sua carga e obtém informação de dados a partir da internet de acordo com uma tarefa off-line; um servidor de distribuição, que obtém a tarefa off-line, se comunica com o grupo de servidor de download, recebe a informação de carga, gera uma regra de escalonamento de acordo com a informação de carga, e distribui a tarefa off-line aos servidores de download de acordo com a regra de escalonamento; e um servidor de armazenamento, comunicativamente conectado ao grupo de servidor de download e configurado para armazenar a informação de dados obtida pelo grupo de servidor de download e torna a informação de dados disponível para fins de download.
[000130] O sistema de download off-line também inclui: uma base de dados de tarefa off-line, configurada para armazenar link original da tarefa off-line, em que o grupo de servidor de download é comunicativamente conectado à base de dados de tarefa off-line e configurado para obter o link original da tarefa off-line a partir da base de dados de tarefa off-line, e o grupo de servidor de download é também configurado para escrever um endereço de portal de informação de dados correspondente a uma tarefa off-line completamente baixada na base de dados de tarefa off-line e para gerar um registro de mapeamento; e um gerenciador de tarefa off-line, comunicativamente conectado à base de dados de tarefa off-line e ao servidor de distribuição e configurado para: decidir de acordo com o registro de mapeamento se a tarefa off-line foi baixada completamente; em caso afirmativo, provê a informação de dados diretamente; em caso negativo, gera um único número de sequência para a tarefa off-line, escreve o número de sequência e um link original da tarefa off-line na base de dados de tarefa off-line, e submete a tarefa off-line ao servidor de distribuição.
[000131] Além disso, os servidores de download são categorizados em diferentes tipos através de protocolos de download, e o servidor de distribuição inclui um módulo de classificação de tarefa, em que o módulo de classificação de tarefa distribui a tarefa off-line aos servidores de download de tipos correspondentes de acordo com os protocolos de download.
[000132] Além disso, o servidor de distribuição inclui um módulo de filtração, em que o módulo de filtração compara a tarefa off-line com tarefas off-line existentes, e remove por filtração a tarefa off-line que já existe.
[000133] Além disso, o servidor de distribuição inclui: um módulo de escalonamento de carga, configurado para receber a informação de carga, regra de escalonamento de acordo com a informação de carga, e manter a regra de escalonamento e uma tabela de link que inclui informação sobre os servidores de download ; e um módulo de distribuição de tarefa, configurado para distribuir a tarefa off-line aos servidores de download de acordo com a regra de escalonamento e a informação na tabela de link.
[000134] Além disso, a informação de carga inclui carga de CPU, carga de disco, carga de memória, comprimento de fila paralela, e comprimento de fila de espera, e a regra de escalonamento é alocar a tarefa off-line na proporção inversa a uma carga em tempo real do servidor de download, sendo que a carga em tempo real é expressa como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralela + e x comprimento de fila de espera, onde a, b, c, d, e e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[000135] O sistema também inclui um servidor de estatística, que obtém parâmetros de download da tarefa off-line, e gera logs de acordo com os parâmetros de download.
[000136] Além disso, a concretização da presente invenção provê um método de download off-line, e o método inclui as seguintes etapas: retorno através de um servidor de download, informação de carga de acordo com sua carga; obtenção de uma tarefa off-line; geração de uma regra de escalonamento de acordo com a informação de carga de cada servidor de download, e distribuição da tarefa off-line de acordo com a regra de escalonamento; obtenção de informação de dados a partir da internet de acordo com a tarefa off-line, e armazenamento da informação de dados; e provisão de informação de dados correspondente à tarefa off-line de modo a finalizar download off-line.
[000137] Além disso, a etapa de obtenção de informação de dados a partir da internet de acordo com a tarefa off-line e armazenamento da informação de dados inclui: obtenção de um link original da tarefa off-line, e obtenção do informação de dados de acordo com o link original; armazenamento da informação de dados sincronicamente, registro de um endereço de portal de armazenamento da informação de dados, e geração de um registro de mapeamento.
[000138] Além disso, antes ou no processo da etapa de geração de uma regra de escalonamento de acordo com a informação de carga do servidor de download e distribuição da tarefa off-line de acordo com a regra de escalonamento, o método também inclui: distribuição da tarefa off-line aos servidores de download de tipos correspondentes de acordo com protocolos de download.
[000139] Além disso, a etapa de geração de uma regra de escalonamento de acordo com a informação de carga do servidor de download e distribuição da tarefa off-line de acordo com a regra de escalonamento inclui: comparação da tarefa off-line com tarefas off-line existentes, e remoção por filtração da tarefa off-line que já existe.
[000140] Além disso, a etapa de geração de uma regra de escalonamento de acordo com a informação de carga do servidor de download e distribuição da tarefa off-line de acordo com a regra de escalonamento inclui: recebimento da informação de carga, geração de uma regra de escalonamento de acordo com a informação de carga, e manutenção da regra de escalonamento e uma tabela de link que inclui informação sobre o servidor de download; e distribuição da tarefa off-line aos servidores de download de acordo com a regra de escalonamento e a informação na tabela de link.
[000141] Além disso, a informação de carga inclui Carga de CPU, carga de disco, carga de memória, comprimento de fila paralela, e comprimento de fila de espera, e a regra de escalonamento é alocar a tarefa off-line na proporção inversa a uma carga em tempo real do servidor de download, sendo que a carga em tempo real é expressa como: F = a x Carga de CPU + b x carga de disco + c x carga de memória + d x comprimento de fila paralela + e x comprimento de fila de espera, em que a, b, c, d, e e são fatores de ponderação que variam entre 0 e 1, e F representa a carga em tempo real.
[000142] Além disso, após a etapa de provisão de informação de dados correspondente à tarefa off-line de modo a finalizar download offline, o método inclui: obtenção de parâmetros de download da tarefa offline, e geração de logs de acordo com os parâmetros de download.
[000143] O sistema de download off-line inclui um servidor de distribuição, o servidor de download retorna sua informação de carga ao servidor de distribuição em tempo real, e o servidor de distribuição gera uma a regra de escalonamento de acordo com atual informação de carga do servidor de download e aloca a tarefa off-line de acordo com a regra de escalonamento. Para servidor de download pesadamente carregado, pouca ou nenhuma tarefa será distribuída; para um servidor de download pouco carregado, mais tarefas serão distribuídas. Portanto, as tarefas distribuídas a um servidor de download dependem da extensão de sua carga em tempo real, melhorando assim a utilização do servidor de download e fazendo uso integral dos espaços no disco.
[000144] A concretização da presente invenção também provê um método de download de arquivo multimídia, incluindo: obtenção por um servidor de transcodificação, de um arquivo transcodificado gerado pela transcodificação de um arquivo multimídia; e retorno do arquivo transcodificado para um cliente de acordo com a exigência do cliente.
[000145] Uma concretização da presente invenção também provê um sistema de download de arquivo multimídia, que inclui um servidor de transcodificação e um servidor de retorno de arquivo. O servidor de transcodificação é configurado para obter um arquivo transcodificado gerado pela transcodificação de um arquivo multimídia; e o servidor de retorno de arquivo é configurado para retornar o arquivo transcodificado para um cliente de acordo com a exigência do cliente.
[000146] No método de download de arquivo multimídia e no sistema deste provido na concretização da presente invenção, o servidor de transcodificação definido no lado de rede transcodifica multimídia de forma a cumprir a exigência do cliente, e pode retornar o arquivo transcodificado para o cliente de acordo com a exigência do cliente, economizando assim recursos consumidos pelo cliente para fins de transcodificação dos arquivos multimídia. Além disso, os arquivos transcodificados são normalmente reutilizáveis o que evita desperdício de recursos causado pela transcodificação repetida no cliente.
[000147] A solução de download de multimídia provida na concretização da presente invenção é aplicável a múltiplos casos de aplicação. Por exemplo, a multimídia baixada pode ser fotos, áudio ou arquivos de vídeo. Tipicamente, a solução é aplicável a download de arquivo de vídeo.
[000148] Além disso, a transcodificação executada de acordo com a exigência do cliente pode ser: múltiplas típicas exigências de cliente são pré-estabelecidas empiricamente e a transcodificação é executada de antemão de acordo com exigências de múltiplos clientes para obter arquivos transcodificados, e em seguida, um cliente solicita um arquivo multimídia, a exigência de cliente pré-estabelecida que combina a atual exigência do cliente é encontrada e um arquivo transcodificado é selecionado de acordo com a exigência combinada. Nesta solução, a transcodificação é executada de antemão, o que torna mais rápido ao cliente obter o arquivo transcodificado.
[000149] Alternativamente, as exigências do cliente são obtidas em tempo real de acordo com um pedido de obtenção de arquivo multimídia enviado pelo cliente. Por exemplo, as exigências especificam um tipo de exibição suportado pelo equipamento do usuário que hospeda o cliente, e exigem a captura da largura de banda do cliente e a rede e em seguida a operação de transcodificação é realizada em tempo real de acordo com as exigências, e o arquivo transcodificado é retornado para o cliente. Os benefícios desta solução residem no fato de a transcodificação ser realizada de acordo com exigências do cliente em tempo real, o que faz o arquivo transcodificado equiparar melhor as exigências do cliente.
[000150] O método de download de arquivo multimídia provido na concretização da presente invenção é aplicável a múltiplos casos de aplicação, e tipicamente, aplicável ao caso de vídeo-sob demanda, VOD na forma abreviada. Como seu nome subentende, vídeo-sob demanda é um sistema VOD que lê um programa conforme exigido por um usuário, ou seja, transmite um arquivo de vídeo clicado ou escolhido pelo usuário ao usuário solicitante. No vídeo-sob demanda, o cliente inicia uma conexão de vídeo-sob demanda pro-ativamente e o usuário escolhe iniciar, parar, voltar, avanço rápido ou pausa de um vídeo colocando enquanto apresenta a conexão de vídeo-sob demanda. A seguir o método de download de arquivo multimídia e o sistema deste são explanados com referência a exemplos.
CONCRETIZAÇÃO 5
[000151] Concretização 5 introduz um sistema de download de arquivo multimídia no sistema de download off-line. O sistema de download de arquivo multimídia é também chamado de sistema de transcodificação. O sistema de transcodificação provido na concretização pode incluir um servidor de transcodificação 710, uma base de dados de resultados de agregação de transcodificação 720, e um servidor de combinação de formato de reprodução de vídeo 730, conforme mostrado na figura 7.
[000152] O servidor de transcodificação 710 é especialmente configurado para transcodificar de antemão um arquivo de vídeo que necessita detranscodificação, obter arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e armazená- los na base de dados de resultados de agregação de transcodificação 720. A base de dados de resultados de agregação de transcodificação 720 é configurada para armazenar cada arquivo transcodificado obtido pelo servidor de transcodificação 710. O servidor de retorno de arquivo pode ser o servidor de combinação de formato de reprodução de vídeo 730, e é configurado para: em vista de um arquivo de vídeo escolhido por um cliente 750 para reprodução sob demanda, buscar a base de dados de resultados de agregação de transcodificação 720 para um arquivo transcodificado cuja taxa de código e formato de vídeo são adequados para reprodução no cliente no cliente 750, e notificar o arquivo transcodificado combinado para o cliente 750 para reprodução sob demanda.
[000153] Na concretização da presente invenção, os arquivos de vídeo transcodificados pelo servidor de transcodificação podem advir de duas fontes: uma fonte é arquivos de vídeo baixados off-line, e as operações de transcodificação executadas para tais arquivos de vídeo que geram arquivos transcodificados de diferentes taxas de código, que, por exemplo, correspondem a um modo de super-definição, um modo de alta-definição e um modo de definição padrão do cliente respectivamente e tais arquivos de vídeo podem ser obtidos em resposta ao pedido de tarefa de download off-line submetido pelo cliente; a outra fonte é arquivos de vídeo que foram baixados por usuários por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line conforme contado pelo sistema de download off-line, em que o tempo estabelecido pode ser por dia, e para facilitar a descrição na concretização da presente invenção, os arquivos de vídeo que foram baixados por usuários por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido tal como por dia podem ser chamados arquivos de vídeo hot. Tais arquivos de vídeo hot podem ser determinados de acordo com estatísticas sobre a contagem de downloads executados por um usuário específico, ou por determinados grupos de usuário ou por todos os usuários.
[000154] Os arquivos de vídeo baixados off-line podem ser obtidos pelo servidor de transcodificação 710 proativamente do sistema de download off-line, e os arquivos de vídeo hot podem ser obtidos pelo servidor de transcodificação 710 passivamente. Neste caso, para assegurar que o servidor de transcodificação 710 obterá os arquivos de vídeo hot, o sistema de transcodificação mostrado na figura 7 também inclui um servidor de escalonamento de transcodificação 740. O servidor de escalonamento de transcodificação 740 é configurado para obter os arquivos de vídeo hot, e os escalona ao servidor de transcodificação 710 que então transcodifica os arquivos de vídeo hot.
[000155] Ou seja, os arquivos de vídeo que necessitam de transcodificação podem incluir: arquivos de vídeo baixados off-line, e/ou arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação para o servidor de transcodificação para fins de transcodificação. Preferivelmente, os arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação são: arquivos de vídeo que foram baixados por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
[000156] Além disso, na concretização da presente invenção, cada arquivo transcodificado armazenado na base de dados de agregação de transcodificação e o arquivo de vídeo original correspondente ao arquivo transcodificado são identificados respectivamente. Neste caso, um Valor Hash pode ser utilizado para identificar o arquivo armazenado na base de dados de agregação de transcodificação, e um arquivo transcodificado com uma taxa de código diferente ou formato de vídeo apresenta um Valor Hash diferente mesmo se ele é transcodificado a partir do mesmo arquivo de vídeo original. Portanto, a base de dados de agregação de transcodificação inclui uma tabela de mapeamento, e a tabela de mapeamento inclui Valores Hash de arquivos de vídeo originais e Valores Hash de arquivos transcodificados, em que o Valor Hash de um arquivo transcodificado inclui a taxa de código e o formato de vídeo do arquivo transcodificado.
[000157] Portanto, na concretização da presente invenção, ao escolher um arquivo de vídeo para reprodução, o cliente pode enviar o valor Hash do arquivo de vídeo e uma largura de banda disponível do cliente ao servidor de combinação de formato de reprodução de vídeo. O servidor de combinação de formato de reprodução de vídeo busca a tabela de mapeamento para o Valor Hash do arquivo de vídeo recebido, e no arquivo transcodificado valores Hash correspondentes ao valor Hash de arquivo de vídeo, encontra um valor de arquivo transcodificado com uma taxa de código que equipara a largura de banda disponível do cliente e com um formato de vídeo suportado pelo cliente e determina um arquivo transcodificado correspondente ao valor Hash de arquivo transcodificado encontrado como o arquivo transcodificado adequado para reprodução no cliente.
[000158] Conforme revelado na descrição acima, na presente invenção, quando um cliente necessita reproduzir um arquivo de vídeo em um espaço off-line, pois o arquivo de vídeo foi transcodificado e apresenta uma taxa de código que combina o cliente, a taxa da reprodução de vídeo-sob demanda é muito melhorada.
[000159] Além disso, na concretização da presente invenção, para impedir pirataria e transferência, um leitor de arquivo personalizado pode ser adicionado no arquivo transcodificado. Por exemplo, uma assinatura digital é afixada através de uma chave privada do servidor. Desse modo usando o cliente reproduz o arquivo transcodificado sob demanda, o leitor de arquivo correto não fica disponível e o arquivo não pode ser reproduzido a menos que a assinatura seja autenticada devidamente.
[000160] Além disso, na prática, numerosos arquivos de vídeo similares existem no espaço off-line. Para economizar armazenamento do espaço off-line e melhorar a razão de combinação do arquivo transcodificado, o sistema de transcodificação mostrado na figura 7 também pode incluir um servidor de análise de agregação de vídeo, configurado para agregar arquivos de vídeo similares nos arquivos de vídeo baixados off-line, e armazenar um resultado de agregação na base de dados de resultados de agregação de transcodificação. Portanto, ao não encontrar arquivo transcodificado que atenda as condições, o servidor de combinação de formato de reprodução de vídeo recomenda para o cliente outro arquivo de vídeo eu esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, de forma que o cliente escolha reproduzir o arquivo de vídeo sob demanda recomendado.
[000161] Acima é descrito o sistema mostrado na figura 7. A seguir o Sistema mostrado na figura 7 é apresentado com referência a uma concretização:
CONCRETIZAÇÃO 6
[000162] Vide figura 8. A figura 8 é um diagrama estrutural de um sistema de nuvem sob demanda baseado em download off-line de acordo com concretização 6 da presente invenção. Conforme mostrado na figura 8, o sistema de nuvem sob demanda pode ser composto do sistema de download off-line e o sistema de transcodificação provido na concretização da presente invenção, e pode especificamente incluir módulos de função 13, que são descritos um por um a seguir:
1. Cliente de download 810:
[000163] (1) O cliente de download 810 é configurado para solicitar um servidor de gerenciamento de tarefa off-line 820 para baixar um arquivo de vídeo, e especificamente, submeter uma tarefa off-line ao servidor de gerenciamento de tarefa off-line 820, em que a tarefa off-line pode portar um endereço de download do arquivo de vídeo a ser baixado, por exemplo, portar uma Url, um link eMule, uma semente BT, ou um link Magnet. A concretização da presente invenção não limita a forma do endereço de download do arquivo.
[000164] (2) O cliente de download 810 é também configurado para: através do servidor de gerenciamento de tarefa off-line 820, consultar progresso de download do arquivo de vídeo escalonado para fins de download.
[000165] (3) O cliente de download 810 é também configurado para baixar instantaneamente o arquivo de vídeo a partir de um servidor de armazenamento em nuvem 830 imediatamente após o arquivo de vídeo escalonado para fins de download ter sido baixado off-line completamente. O servidor de armazenamento em nuvem 830 é o servidor de armazenamento no sistema de download off-line descrito inicialmente acima.
2. Cliente de reprodução 840: O cliente de reprodução é e grande ponderação na presente invenção. O cliente no sistema de transcodificação mostrado na figura 7 é o cliente de reprodução 840, e executa as seguintes operações:
[000166] (1) O cliente de reprodução 840 pode ser configurado para arrastar e soltar um arquivo de vídeo em um espaço off-line correspondente, e exibir e apresentar o arquivo de vídeo escolhido pelo usuário ao usuário.
[000167] (2) O cliente de reprodução 840 solicita o servidor de combinação de formato de reprodução de vídeo 730 para buscar um arquivo transcodificado correspondente ao arquivo de vídeo exigido para reprodução. Especificamente, de acordo com um Valor Hash de um arquivo de vídeo original requisitado, o cliente de reprodução 840 procura em arquivos transcodificados que ficam armazenados no servidor de combinação de formato de reprodução de vídeo 730 e gerados pela transcodificação do arquivo de vídeo original, de forma a obter e reproduzir um arquivo transcodificado que apresente uma taxa de código que combina a largura de banda do cliente de reprodução e apresente um formato de vídeo suportado pelo cliente de reprodução 840. O processo detalhado de reprodução do arquivo transcodificado sob demanda é: uso do cliente de download 810 para baixar uma parte específica do arquivo transcodificado, análise gramatical da estrutura do arquivo transcodificado a fim de obter um ponto de partida e um ponto de chegada da parte específica a ser baixada, e análise gramatical da estrutura do arquivo transcodificado a fim de separar pacotes de áudio- vídeo e decodificar os pacotes de áudio-vídeo; e exibição e reprodução dos dados de áudio-vídeo decodificados e reprodução do arquivo especificamente.
[000168] (3) O cliente de reprodução 840 interage com o usuário, e responde ao pedido de usuário para operação do arquivo de vídeo.
[000169] (4) O cliente de reprodução 840 pode ser encapsulado como um componente Axtive e instalado em um navegador para reproduzir vídeos, ou um Flash player do navegador é requisitado diretamente para reproduzir o arquivo transcodificado em um formato MP4. MP4 é um formato de excelente desempenho com um todo, e é suportado por grande parte de navegadores (Flash Player 9u3 ou uma versão posterior precisa ser instalada), o que torna possível estender a web-sob demanda. Portanto, na concretização da presente invenção, MP4 pode ser escolhido como um formato do recipiente de transcodificação. Para um link de reprodução submetido no lado da web, nenhum cliente precisará ser instalado e um Flash suportado pelo navegador será usado para reproduzir o arquivo diretamente.
3. Base de dados de tarefa off-line 850:
[000170] (1) A base de dados de tarefa off-line 850 é configurada para armazenar tarefas off-line em uma lista de tarefa off-line. O usuário submete tarefas off-line através do servidor de gerenciamento de tarefa off-line 820, e as tarefas off-line são armazenadas na base de dados de tarefa off-line 850.
[000171] (2) A base de dados de tarefa off-line 850 é também configurada para armazenar a posição final de conclusão de download de uma tarefa off-line. Após completar o download de uma tarefa off-line, o servidor de download off-line 860 sincroniza informação de dados da tarefa off-line a um servidor de armazenamento em nuvem 830, e o resultado de sincronização é escrito na base de dados de tarefa off-line 850. Por exemplo, a posição de conclusão da tarefa off-line e o portal da informação de dados no servidor de armazenamento em nuvem 830 são escritos na base de dados de tarefa off-line 850.
[000172] (3) A base de dados de tarefa off-line 850 fica também disponível para ser consultada pelo servidor de gerenciamento de tarefa off-line 820. Especificamente, quando um usuário submete uma tarefa off-line, o servidor de gerenciamento de tarefa off-line 820 busca a base de dados de tarefa off-line 850 para um arquivo que foi completamente baixado e solicitado pela tarefa off-line, e o arquivo é diretamente retornado ao cliente de download 810 de forma que o cliente de download 810 possa baixar instantaneamente o arquivo solicitado.
[000173] (4) A base de dados de tarefa off-line 850 é também configurada para receber sincronização de eliminação de arquivos. Por razões de espaço, arquivos obsoletos ou muito raramente acessados precisam ser deletados do servidor de armazenamento em nuvem 830, e a base de dados de tarefa off-line 850 precisa ser atualizada. Servidor de download off-line 860:
[000174] (1) Conforme escalonado por um servidor de distribuição de tarefa off-line 870, o servidor de download off-line 860 obtém um link de endereço de download a partir da base de dados de tarefa off-line 850 para baixar uma tarefa off-line.
[000175] (2) O servidor de download off-line 860 armazena informação de dados completamente baixada no servidor de armazenamento em nuvem 830 de forma que a informação de dados fique disponível para ser recuperada pelo cliente de download 810.
[000176] (3) O servidor de download off-line 860 relata o progresso e velocidade do download off-line ao servidor de distribuição de tarefa offline 870.
[000177] (4) O servidor de download off-line 860 escreve dados de resultados Hash de um arquivo final gerado no download off-line na base de dados de tarefa off-line 850.
5. Servidor de distribuição de tarefa off-line 870
[000178] (1) O servidor de distribuição de tarefa off-line 870 recebe informação de carga relatada pelo servidor de download off-line 860.
[000179] (2) De acordo com a informação de carga relatada pelo servidor de download off-line 860, o servidor de distribuição de tarefa off-line 870 escalona dinamicamente tarefas off-line em diferentes servidores de download off-line 860 de forma que as tarefas de download específicas sejam executadas.
[000180] (3) O servidor de distribuição de tarefa off-line 870 recebe relatórios sobre a informação de progresso de download e informação de velocidade de download a partir do servidor de download off-line 860, e sincroniza a informação de progresso ao servidor de gerenciamento de tarefa off-line 820.
[000181] (4) O servidor de distribuição de tarefa off-line 870 remove por filtração pedidos duplicados de tarefa de download off-line. O mesmo pedido de tarefa de download off-line precisa ser enviado ao servidor de download off-line 860 somente uma vez e diferentes usuários podem compartilhar da informação de progresso de download off-line da mesma tarefa off-line.
6. Servidor de gerenciamento de tarefa off-line 820
[000182] (1) O servidor de gerenciamento de tarefa off-line 820 recebe pedidos de tarefa de download off-line submetidos pelo cliente de download 810, e gera um único número de identificação de sequência para cada única tarefa off-line.
[000183] (2) O servidor de gerenciamento de tarefa off-line 820 escreve informação de link original da tarefa off-line na base de dados de tarefa off-line 850.
[000184] (3) O servidor de gerenciamento de tarefa off-line 820 recebe relatórios de progresso de download a partir do servidor de distribuição de tarefa off-line 870, e torna o progresso de download off-line disponível para ser consultado pelo cliente de download 810.
[000185] (4) De acordo com o registro de mapeamento na base de dados de tarefa off-line 850, o servidor de gerenciamento de tarefa offline 820 pode notificar o sucesso de download off-line ao usuário diretamente ao descobrir qualquer informação de dados que tenha sido baixada off-line completamente no servidor.
[000186] (5) Quando o cliente de download precisa recuperar a informação de dados baixada off-line completamente, o servidor de gerenciamento de tarefa off-line 820 provê um endereço de portal url a partir do qual o cliente de download 810 pode recuperar a informação de dados, e o endereço de portal serve como um endereço de fonte de download para o cliente de download 810.
7. Servidor de armazenamento em nuvem 830:
[000187] (1) O servidor de armazenamento em nuvem 830 armazena a informação de dados que foi baixada completamente no servidor de download off-line 860.
[000188] (2) O servidor de armazenamento em nuvem 830 provê o cliente de download 810 com um endereço de fonte de dados da informação de dados off-line recuperados.
[000189] (3) O servidor de armazenamento em nuvem 830 provê um servidor de transcodificação 710 com uma fonte de dados para fins de saída transcodificação.
8. Servidor de estatística 880:
[000190] (1) O servidor de estatística 880 recebe relatórios do cliente de download 810,em que os relatórios incluem informação tal como velocidade de download Url, tempo de download, conectividade de rede, resultado de download, e tamanho de arquivo durante e após o processo de download.
[000191] (2) O servidor de estatística 880 escreve a informação de estatísticas relatadas como logs, que ficam disponíveis para futura estatística e análise.
[000192] (3) O servidor de estatística 880 sincroniza um resultado de estatística de usuário de download a um servidor de escalonamento de transcodificação 740, de forma que o servidor de escalonamento de transcodificação 740 possa contar arquivos de vídeo que forma baixados por usuários por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
9. Servidor de combinação de formato de reprodução de vídeo 730:
[000193] (1) O servidor de combinação de formato de reprodução de vídeo 730 recebe um valor Hash de arquivo e uma largura de banda disponível do cliente de reprodução 840, em que o valor Hash de arquivo é provido pelo cliente de reprodução 840 quando um arquivo no espaço off-line é escolhido para reprodução.
[000194] (2) O servidor de combinação de formato de reprodução de vídeo 730 consulta uma base de dados de resultados de agregação de transcodificação 820, e retorna um arquivo transcodificado que combina a largura de banda do cliente de reprodução 840 para o cliente de reprodução 840. O arquivo transcodificado é um arquivo transcodificado que apresenta uma taxa de código que combina a largura de banda do cliente de reprodução 840 e apresenta um formato de vídeo suportado pelo cliente de reprodução 840 de acordo com consulta baseada no valor Hash do arquivo a ser reproduzido.
Servidor de escalonamento de transcodificação 740:
[000195] (1) De acordo com o resultado de estatística tal como popularidade e resultados de download de arquivos de vídeo conforme estatisticamente levantados pelo servidor de estatística 880, o servidor de escalonamento de transcodificação 740 proativamente transcodifica arquivos de vídeo no espaço off-line em um formato de vídeo adequado para reprodução em um navegador e vários terminais.
[000196] (2) O servidor de escalonamento de transcodificação 740 distribui arquivos de vídeo que necessitam de transcodificação a um ou mais servidores de transcodificação 710 para fins de transcodificação. 11. Servidor de transcodificação 710:
[000197] (1) Conforme escalonado pelo servidor de escalonamento de transcodificação 740, o servidor de transcodificação 710 baixa um arquivo de vídeo original do servidor de armazenamento em nuvem 830 para fins de transcodificação.
[000198] (2) O servidor de transcodificação 710 obtém informação de resultado de transcodificação do arquivo de vídeo original, incluindo um Valor Hash do arquivo de vídeo original, um Valor Hash do arquivo transcodificado, parâmetros de transcodificação, resolução, taxa de quadros, etc.
[000199] (3) O servidor de transcodificação 710 armazena a informação de resultado de transcodificação em uma base de dados de resultados de agregação de transcodificação 720.
12. Servidor de análise de agregação de vídeo 760:
[000200] (1) O servidor de análise de agregação de vídeo 760 arrasta e solta informação de arquivo de vídeo do servidor de armazenamento em nuvem 830 e a base de dados de tarefa off-line 850 para execução de análise de agregação.
[000201] (2) O servidor de análise de agregação de vídeo 760 executa análise de agregação for arquivos de vídeo com o mesmo efeito de percepção visual e armazena um resultado de análise em uma base de dados de resultados de agregação de transcodificação 720. Se não for encontrado um arquivo adequado para reprodução no processo de consulta, o cliente de reprodução 840 poderá pesquisar a base de dados de resultados de agregação de transcodificação 720 para outro arquivo adequado para reprodução.
13. Base de dados de resultados de agregação de transcodificação 720:
[000202] (1) A base de dados de resultados de agregação de transcodificação 720 recebe informação de resultado de transcodificação sincronizada a partir de um ou mais servidores de transcodificação 710.
[000203] (2) A base de dados de resultados de agregação de transcodificação 720 recebe resultados de agregação a partir do servidor de análise de agregação de vídeo 760.
[000204] (3) A base de dados de resultados de agregação de transcodificação 720 permite que o servidor de combinação de formato de reprodução de vídeo 730 busque por arquivos similares ali. Se um arquivo de vídeo não puder ser instantaneamente baixado ou diretamente reproduzido, um arquivo de vídeo similar a ele poderá ser obtido pela pesquisa da base de dados de resultados de agregação de transcodificação 720 e recomendado ao usuário como um substituto do arquivo escolhido pelo usuário. Devido à agregação de arquivos de vídeo, somente uma contraparte de arquivos de vídeo similares será retida.
[000205] É descrito acima o sistema provido na presente invenção. A seguir o método provido na presente invenção será apresentado:
CONCRETIZAÇÃO 7
[000206] A figura 9 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 7 da presente invenção. O método também, é chamado de método de vídeo-sob demanda. O método é aplicável ao sistema mostrado na figura 7 ou na figura 8, e o método inclui as seguintes etapas:
[000207] Etapa S901: O servidor de transcodificação transcodifica de antemão arquivos de vídeo que necessitam de transcodificação, obtém arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e armazena em seguida na base de dados de resultados de agregação de transcodificação.
[000208] Os arquivos de vídeo que necessitam de transcodificação incluem: arquivos de vídeo baixados off-line, e/ou arquivos de vídeo que são pro-ativamente escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação.
[000209] Preferivelmente, na concretização, os arquivos de vídeo que são pro-ativamente escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação são: arquivos de vídeo que foram baixados por usuários por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
[000210] Etapa S902: Quando o cliente de reprodução escolhe reproduzir um arquivo de vídeo sob demanda, o servidor de combinação de formato de reprodução de vídeo pesquisa a base de dados de resultados de agregação de transcodificação para um arquivo transcodificado cuja taxa de código e formato de vídeo sejam adequados para reprodução no cliente, e notifica o arquivo transcodificado combinado o cliente de reprodução para reprodução sob demanda.
[000211] Preferivelmente, na concretização, o arquivo transcodificado adequado para reprodução no cliente é obtido por transcodificação do arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e apresenta uma taxa de código que combina largura de banda do cliente e apresenta um formato de vídeo suportado pelo cliente.
[000212] Além disso, na concretização, durante e antes da etapa S901, o método também inclui: o servidor de análise de agregação de vídeo agrega arquivos de vídeo similares nos arquivos de vídeo baixados offline, e armazena um resultado de agregação na base de dados de resultados de agregação de transcodificação.
[000213] Desse modo, na concretização, se na etapa S902, o servidor de combinação de formato de reprodução de vídeo não encontrar arquivo transcodificado adequado para reprodução no cliente, o servidor de combinação de formato de reprodução de vídeo recomendará ao cliente de reprodução outro arquivo de vídeo que esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente de reprodução para reprodução sob demanda, de forma que o cliente de reprodução escolha entre reproduzir o arquivo de vídeo sob demanda recomendado ou não.
[000214] Além disso, como uma concretização da presente invenção, na etapa S902, a notificação do arquivo transcodificado encontrado ao cliente de reprodução para reprodução sob demanda pode especificamente incluir:
[000215] Pela adição de um link tal como ed2k, http, e ftp, o cliente de reprodução utiliza nuvem sob demanda para reproduzir o arquivo transcodificado sob demanda; ou
[000216] Um link de vídeo, um endereço de download de vídeo ou uma Semente BT correspondente ao arquivo transcodificado encontrado é obtido e provido ao cliente, de forma que o cliente adicione o link de vídeo, o endereço de download de vídeo ou a Semente BT e utilize nuvem sob demanda para permitir clicar para reproduzir o arquivo transcodificado. Por exemplo, se o cliente obtiver um link de vídeo, um pedido de vídeo-sob demanda será submetido a uma página de download off-line. Na página de download off-line o arquivo desejado é aberto. Como o arquivo foi transcodificado para combinar a largura de banda do cliente, um usuário poderá clicar para reproduzir o arquivo transcodificado diretamente. Se o cliente obtiver um endereço de download de vídeo, o usuário entra com o endereço de download de vídeo em uma homepage de nuvem sob demanda, submete o registro introduzido, e em seguida seleciona nuvem sob demanda. Se o cliente obtiver uma semente BT, o usuário adicionará a semente BT na homepage de nuvem sob demanda para transferência, submete o registro introduzido e em seguida seleciona nuvem sob demanda.
[000217] Naturalmente, na concretização da presente invenção, através da nuvem sob demanda, um video poderá ser assistido online diretamente através de um link de vídeo tal como um endereço de download de vídeo ou uma semente BT, sem solicitar download. Além disso, como o arquivo de nuvem sob demanda foi transcodificado em um formato de vídeo e uma taxa de código que são adequados para reprodução no cliente de reprodução, uma operação de arrastar-e-soltar é suportada para obter uma resposta instantânea e o usuário pode arrastar o progresso arbitrariamente que geralmente é respondido dentro de 2-7 segundos.
[000218] Além disso, na concretização da presente invenção, um arquivo a ser reproduzido é transcodificado de antemão em um formato de vídeo suportado pelo cliente. Desse modo, teoricamente, a concretização da presente invenção suporta clicar para reproduzir todos os formatos de vídeo, e evita vários erros causados por formatos de arquivo na tradicional tecnologia de reproduzir enquanto faz o download, que faz a maior diferença em comparação à tradicional tecnologia de reproduzir enquanto faz download. Além disso, na concretização da presente invenção, um arquivo de vídeo é transcodificado em diferentes taxas de código de antemão, e desse modo, ele pode ser escolhido para reproduzir o arquivo original para ter qualidade do arquivo original se a largura de banda permitir, e pode ser escolhida uma definição mais baixa a fim de assegurar uma reprodução suave se a largura de banda não for suficiente para suportar o modo "reproduzir-enquanto faz download" de um arquivo grande. O processo de download é transparente ao usuário. Um link de arquivo de vídeo é obtido na internet tal como de um fórum ou um e-mail. Através de uma tecnologia de nuvem sob demanda, o usuário pode clicar no link para reproduzir diretamente de forma que o usuário possa assistir e reproduzir um vídeo em qualquer lugar, em qualquer hora através de qualquer dispositivo.
[000219] É descrito acima o método de download de arquivo multimídia provido na presente invenção.
[000220] Conforme revelado na solução técnica que antecede, a presente invenção consegue os seguintes efeitos: 1. Na presente invenção, um link de vídeo, ou um endereço de link de download, ou uma semente BT de um arquivo de vídeo é notificado a um cliente de reprodução para suportar diretamente a reprodução de vídeo. Desse modo, em um e-mail ou fórum, se o link de arquivo de vídeo puder ser instantaneamente baixado em um espaço off-line, o video poderá ser diretamente reproduzido em uma grande extensão. 2. Na presente invenção, taxas de código e formatos de vídeo são diferenciados no servidor de transcodificação, e o servidor de transcodificação mascara diferenças de formatos de vídeo e taxas de código. Um arquivo apropriadamente reproduzível pode ser combinado de acordo com a largura de banda disponível do cliente de reprodução e o formato de vídeo suportado pelo cliente de reprodução, e uma função de nuvem sob demanda poderá ser aplicada aos arquivos que apresentam uma elevada taxa de código e não são adequados para reprodução em um cliente de baixa largura de banda no estado da técnica. 3. Na presente invenção, um arquivo de vídeo pode ser reproduzido online diretamente sob demanda através de uma entrada de reprodução tal como Flash suportada por um navegador, sem instalar software de cliente.
[000221] Sobretudo, o método de vídeo-sob demanda e sistema provido na concretização da presente invenção permite clicar para reproduzir um arquivo de vídeo mediante combinação do formato do arquivo de vídeo e a taxa de código que são adequados para reprodução.
[000222] A concretização da presente invenção provê um sistema de vídeo-sob demanda que inclui um cliente, e essencialmente o sistema também inclui um servidor de transcodificação, um servidor de combinação de formato de reprodução de vídeo, e uma base de dados de resultados de agregação de transcodificação.
[000223] O servidor de transcodificação é configurado para transcodificar o arquivo de vídeo que precisa de transcodificação, obter arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e armazená-los na base de dados de resultados de agregação de transcodificação.
[000224] A base de dados de resultados de agregação de transcodificação é configurada para armazenar cada arquivo transcodificado obtido pelo servidor de transcodificação.
[000225] O servidor de combinação de formato de reprodução de vídeo é configurado para: em vista de um arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, pesquisar a base de dados de resultados de agregação de transcodificação em relação a um arquivo transcodificado cuja taxa de código e formato de vídeo sejam adequados para reprodução no cliente, e notificar o arquivo transcodificado combinado ao cliente para reprodução sob demanda.
[000226] Preferivelmente, o sistema acima inclui um servidor de escalonamento de transcodificação; e os arquivos de vídeo que necessitam de transcodificação incluem: arquivos de vídeo baixados offline, e/ou arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação.
[000227] Preferivelmente, no sistema acima, os arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação são: arquivos de vídeo que foram baixados por usuários por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
[000228] Preferivelmente, o sistema também inclui: um servidor de análise de agregação de vídeo, configurado para agregar arquivos de vídeo similares nos arquivos de vídeo baixados offline, e armazenar um resultado de agregação na base de dados de resultados de agregação de transcodificação, em que o servidor de combinação de formato de reprodução de vídeo é configurado para: se nenhum arquivo transcodificado adequado para reprodução no cliente for encontrado, recomenda ao cliente outro arquivo de vídeo que esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, de forma que o cliente escolha entre reproduzir o arquivo de vídeo sob demanda recomendado.
[000229] Preferivelmente, no sistema acima, o arquivo transcodificado adequado para reprodução no cliente é obtido por transcodificação do arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e apresenta uma taxa de código que combina largura de banda do cliente e apresenta um formato de vídeo suportado pelo cliente.
[000230] A concretização da presente invenção provê um método de vídeo-sob demanda, que é aplicado ao sistema antecedente e inclui como seguintes etapas: A. O servidor de transcodificação transcodifica de antemão um arquivo de vídeo que precisa de transcodificação, obtém arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e os armazena em seguida na base de dados de resultados de agregação de transcodificação. B. Quando um cliente escolhe reproduzir um arquivo de vídeo sob demanda, o servidor de combinação de formato de reprodução de vídeo pesquisa a base de dados de resultados de agregação de transcodificação por um arquivo transcodificado cuja taxa de código e formato de vídeo sejam adequados para reprodução no cliente, e notifica o arquivo transcodificado combinado ao cliente para reprodução sob demanda.
[000231] Preferivelmente, na etapa A no método acima, os arquivos de vídeo que necessitam de transcodificação incluem: arquivos de vídeo baixados off-line, e/ou arquivos de vídeo que são are pro-ativamente escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação.
[000232] Preferivelmente, no método acima, os arquivos de vídeo que são pro-ativamente escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para fins de transcodificação são: arquivos de vídeo que foram baixados por usuários por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
[000233] Preferivelmente, durante ou antes da etapa A no método acima, o método também inclui: o servidor de análise de agregação de vídeo agrega arquivos de vídeo similares nos arquivos de vídeo baixados off-line, e armazena um resultado de agregação na base de dados de resultados de agregação de transcodificação; e
[000234] Correspondentemente, na etapa B, o servidor de combinação de formato de reprodução de vídeo é configurado para: se nenhum arquivo transcodificado adequado para reprodução no cliente for encontrado, recomenda para o cliente outro arquivo de vídeo que esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, de forma que o cliente escolha entre reproduzir o arquivo de vídeo sob demanda recomendado.
[000235] Preferivelmente, no método acima, a notificação do arquivo transcodificado combinado para o cliente para reprodução sob demanda inclui: obtenção e provisão de um link de vídeo, um endereço de download de vídeo ou uma Semente BT correspondente ao arquivo transcodificado combinado para o cliente; e o cliente adiciona o link de vídeo, o endereço de download de vídeo ou a Semente BT, e utiliza nuvem sob demanda para permitir clicar para reproduzir o arquivo transcodificado.
[000236] Preferivelmente, no método acima, o arquivo transcodificado adequado para reprodução no cliente é obtido pela transcodificação do arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e apresenta uma taxa de código que combina largura de banda do cliente e apresenta um formato de vídeo suportado pelo cliente.
[000237] O método de download de arquivo multimídia aplicado a vídeo-sob demanda, que é provido na concretização da presente invenção, é útil para solucionar problemas de grande parte de vídeos de rede existentes que tendem a apresentar conteúdos errados de um tópico similar e evita a consequência de um usuário encontrar um vídeo de rede indesejado após muito tempo e largura de banda ser consumida para fins de download do vídeo de rede.
[000238] A solução técnica provida na concretização da presente invenção também suporta o modo reproduzir-enquanto-faz-download na tecnologia de vídeo-sob demanda e não é limitada a formato específico do arquivo de vídeo tal como QQ Tornado, Thunder, etc; e o formato dos arquivos de vídeo que suportam reproduzir-enquanto-faz- download não são limitados a RM e RMVB. O RM e o RMVB são padrões de compressão de áudio-vídeo desenvolvidos pela Real Networks Corporation. O usuário pode usar RealPlayer ou RealOne Player para recursos de áudio-vídeo de rede de difusão ao vivo de acordo com os padrões, porém outros formatos de vídeo não são bem suportados. Ao reproduzir ou baixar um arquivo de vídeo, o método de download de arquivo multimídia provido na concretização leva em conta a relação entre a taxa de código do arquivo de vídeo e a largura de banda de usuário. Desse modo, a taxa de código do arquivo de vídeo transcodificado combina a largura de banda de usuário, interrupção de transmissão do arquivo de vídeo é evitada e é assegura reprodução suave.
[000239] O método de download de arquivo multimídia e o sistema deste provido na concretização da presente invenção também são aplicáveis a outros casos de download de arquivos multimídias, tais como um caso em que o servidor de transcodificação executa transcodificação de acordo com uma exigência em tempo real de um cliente.
[000240] A operação de retorno do arquivo transcodificado para um cliente de acordo com a exigência do cliente pode incluir especificamente: obtenção de um identificador de multimídia original do cliente; busca por um identificador de multimídia transcodificada correspondente ao identificador de multimídia original de acordo com uma relação de mapeamento armazenada entre o identificador de multimídia original e o identificador de multimídia transcodificada; obtenção do arquivo transcodificado de acordo com o identificador de multimídia transcodificada; e retorno do arquivo transcodificado obtido para o cliente.
[000241] A ordem de operação não é definitiva entre uma etapa de obtenção do arquivo transcodificado gerado como um resultado de transcodificação de um arquivo multimídia pelo servidor de transcodificação e uma etapa de obtenção das exigências de cliente. Por exemplo, a transcodificação pode ser executada de acordo com exigências de cliente pré-estabelecidas, e preferivelmente, a transcodificação é executada após as exigências de cliente serem obtidas em tempo real. A seguir serão apresentados detalhes com referência a concretizações.
CONCRETIZAÇÃO 8
[000242] A figura 10 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 8 da presente invenção. Conforme mostrado na figura 10, a concretização trata primeiramente da operação de transcodificação em um processo de download de multimídia, e também pode ser chamada de método de transcodificação de multimídia. O método inclui as seguintes etapas:
[000243] Etapa S101: Obter um identificador de multimídia original a partir de um cliente.
[000244] Em uma concretização, um identificador de multimídia pode ser um valor digest de informação de multimídia, tal como um valor Hash SHA de um arquivo, e valor Hash MD5 etc. Em outra concretização, o identificador de multimedia pode ser uma sequência de símbolo ou sequência numérica que identifica unicamente a multimídia e apresenta uma pequena quantidade de informação.
[000245] Especificamente, em uma concretização, a informação de multimídia original tais como nome de multimídia e caminho de arquivo, que é introduzido pelo usuário e necessita de transcodificação, pode ser obtida através de uma interface de usuário provida pelo cliente; a multimídia original correspondente ao nome de multimídia e o caminho de arquivo é obtido; o cliente obtém um valor digest de informação da multimídia original pelo uso de um algoritmo digest de informação, e o transfere a um servidor; e o servidor recebe o valor digest de informação da multimídia original que é transferido pelo cliente.
[000246] Etapa S102: Busca por um identificador de multimídia transcodificada correspondente ao identificador de multimídia original de acordo com a relação de mapeamento armazenada entre o identificador de multimídia original e o identificador de multimídia transcodificada.
[000247] Em uma concretização, o identificador de multimídia transcodificada armazenado no servidor pode ser obtido de antemão e uma tabela de relações de mapeamento entre o identificador de multimídia original e o identificador de multimídia transcodificada pode ser armazenada. Especificamente, na etapa S102, a tabela de relação de mapeamento pode ser pesquisada para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original.
[000248] Etapa S103: Obtenção da multimídia transcodificada, isto é, o arquivo transcodificado, de acordo com o identificador de multimídia transcodificada.
[000249] Etapa S104: Retorno da multimídia transcodificada obtida para o cliente.
CONCRETIZAÇÃO 9
[000250] A figura 11 é um fluxograma de um método de download de arquivo multimídia de acordo com concretização 9 da presente invenção. Com base na concretização 8, esta concretização também otimiza S103, e especificamente inclui as seguintes etapas:
[000251] Etapa S1031: Obtenção de informação básica e um endereço de download da multimídia transcodificada correspondente ao identificador de multimídia transcodificada.
[000252] Preferivelmente, a informação básica pode incluir nome de arquivo, tamanho de arquivo, informação de formato, tempo de criação, contagem de downloads, etc.
[000253] Etapa S1032: Retorno da informação básica obtida e endereço de download para o cliente.
[000254] Em uma concretização, é apropriado armazenar previamente uma tabela de relações de mapeamento entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download da multimídia transcodificada. A mesma multimídia original pode corresponder a multimídia transcodificada diferente que apresenta informação básica diferente. Desse modo, após o identificador de multimídia transcodificada correspondente ao identificador de multimídia original ser encontrado, a tabela de relação de mapeamento pode ser pesquisada para a informação básica e o endereço de download da multimídia transcodificada correspondente ao identificador de multimídia transcodificada, e a informação básica e o endereço de download da multimídia transcodificada são retornados ao cliente e prontamente disponíveis para o usuário, de forma que o usuário escolha o endereço de download para baixar a multimídia transcodificada de acordo com a informação básica da multimídia transcodificada.
[000255] Etapa S1033: Obtenção da multimídia transcodificada escolhida pelo cliente.
[000256] Especificamente, a multimídia transcodificada pode ser obtida de acordo com o endereço de download da multimídia transcodificada escolhida pelo usuário.
[000257] No método de transcodificação de multimídia acima descrito, o identificador de multimídia original especificado pelo usuário é obtido, e o identificador de multimídia transcodificada correspondente ao identificador de multimídia original é pesquisado; a multimídia transcodificada é obtida de acordo com o identificador de multimídia transcodificada, e a multimídia transcodificada obtida é retornada para o cliente. Desse modo, a multimídia é transcodificada e a multimídia original não precisa mais de transcodificação, o que economiza o tempo de transcodificação e melhora a eficiência de transcodificação de multimídia.
[000258] Em uma concretização, a informação básica da multimídia transcodificada pode incluir informação de formato da multimídia transcodificada.
[000259] Especificamente, a informação de formato pode incluir: tipo de arquivo, resolução, taxa de código, taxa de quadros, etc. Preferivelmente, a informação básica da multimídia transcodificada também inclui nome de arquivo, tamanho de arquivo, tempo de criação, contagem de downloads, etc.
[000260] Na concretização, o método pode incluir também: obtenção de parâmetros de transcodificação de multimídia original do cliente.
[000261] Especificamente, os parâmetros de transcodificação da multimídia original que necessitam de transcodificação, que são introduzidos pelo usuário, podem ser obtidos através de uma interface de usuário provida pelo cliente.
[000262] Preferivelmente, os parâmetros de transcodificação da multimídia original são informação de formato de multimídia transcodificada-alvo solicitada pelo usuário e transcodificada a partir da multimídia original, e incluem tipo de arquivo, resolução, taxa de código, taxa de quadros, etc. Os parâmetros de transcodificação introduzidos pelo usuário podem ser uma ou diversas das informações acima enumeradas. Como a informação de parâmetro de transcodificação tal como tipo de arquivo, resolução, taxa de código, e taxa de quadros é complicada, em uma concretização, é apropriado obter uma plataforma- alvo ou dispositivo-alvo que reproduzirá a multimídia transcodificada, que é introduzido pelo usuário, por exemplo, um tipo de dispositivo móvel (telefone móvel, MP4, etc); e obter os parâmetros de transcodificação da multimídia original de acordo com os parâmetros de transcodificação que combinam a plataforma-alvo pré-estabelecida ou dispositivo-alvo. Na concretização, o usuário precisa somente introduzir a plataforma-alvo ou dispositivo-alvo que irá reproduzir a multimídia transcodificada, não necessita introduzir parâmetros de transcodificação complicados, de forma que as operações de usuário sejam convenientes.
CONCRETIZAÇÃO 10
[000263] A figura 12 é um fluxograma de um método de download de arquivo multimídia de acordo com a concretização 10 da presente invenção. Conforme mostrado na figura 12, com base na concretização 8, esta concretização otimiza a etapa S1031, e inclui as seguintes etapas:
[000264] Etapa S1031a: Obtenção de informação básica da multimídia transcodificada correspondente ao identificador de multimídia transcodificada, em que a informação de formato da multimídia transcodificada combina os parâmetros de transcodificação da multimídia original.
[000265] Em uma concretização, é apropriado para a informação básica correspondente ao identificador de multimídia transcodificada, decidir se a informação de formato da informação básica combina os parâmetros de transcodificação da multimídia original, e obter a informação básica cuja informação de formato combina os parâmetros de transcodificação da multimídia original. Especificamente, uma combinação inexata ou uma combinação exata pode ser executada entre a informação de formato da informação básica e os parâmetros de transcodificação da multimídia original. Por exemplo, os parâmetros de multimídia original de transcodificação transferidos pelo usuário incluem um tipo de arquivo WMA e uma resolução 200x300; através de uma combinação inexata entre os parâmetros de transcodificação e a informação de formato da informação básica, obtém-se informação básica de toda multimídia transcodificada com um tipo de arquivo WMA ou uma resolução 200x300; através de uma combinação exata entre os parâmetros de transcodificação e a informação de formato da informação básica, apenas a informação básica de multimídia transcodificada com um tipo de arquivo WMA e uma resolução 200x300 é obtida.
[000266] Etapa S1031b: Obtenção de um endereço de download da multimídia transcodificada correspondente à informação básica.
[000267] Etapa S1031c: Retorno da informação básica e o endereço de download da multimídia transcodificada correspondente à informação básica para o cliente.
[000268] Na concretização, o identificador de multimídia original e parâmetros de transcodificação transferidos pelo usuário são obtidos, e a informação básica e o endereço de download de multimídia transcodificada correspondente ao identificador de multimídia original e os parâmetros de transcodificação são retornados ao usuário; Além disso, a multimídia transcodificada escolhida pelo usuário é retornada ao usuário, sem ter que transcodificar a multimídia original novamente, o que economiza tempo de transcodificação e melhora a eficiência de transcodificação de multimídia . Além disso, a informação básica da multimídia transcodificada, que é retornada ao usuário, combina os parâmetros de transcodificação introduzidos pelo usuário, de forma que as exigências de usuário sejam rigorosamente cumpridas e que o usuário possa escolher convenientemente multimídia desejada para fins de download.
[000269] Preferivelmente, quando apenas um arquivo multimídia transcodificado combina o identificador de multimídia original e os parâmetros de transcodificação que são introduzidos pelo usuário, não é necessário retornar a informação básica ou o endereço de download da multimídia transcodificada ao usuário para seleção, porém a multimídia transcodificada é obtida diretamente de acordo com o endereço de download e retornada ao usuário, o que reduz operações de usuário e melhora a conveniência de operações de usuário.
CONCRETIZAÇÃO 11
[000270] Em uma concretização, o método de download de arquivo multimídia também inclui: obtenção de multimídia original transferida pelo cliente, transcodificação da multimídia original, e retorno do multimídia transcodificada para o cliente.
[000271] Conforme mostrado na figura 13, a etapa de obtenção de multimídia original transferida pelo cliente, transcodificação da multimídia original, e retorno do multimídia transcodificada para o cliente inclui as seguintes etapas:
[000272] Etapa S131: Obtenção da multimídia original e parâmetros de transcodificação da multimídia original, que são transferidos pelo cliente.
[000273] Especificamente, uma interface de usuário do cliente pode prover uma interface para transferência da multimídia original e dos parâmetros de transcodificação da multimídia original, e o usuário pode usar a interface para transferir a multimídia original e os parâmetros de transcodificação da multimídia original se nenhuma multimídia transcodificada for encontrada que combine o identificador de multimídia original ou os parâmetros de transcodificação da multimídia original, que são introduzidos pelo usuário, ou, se a informação básica da multimídia transcodificada, que é retornada ao usuário, não cumprir exigências de usuário.
[000274] Etapa S132: Transcodificação da multimídia original de acordo com os parâmetros de transcodificação da multimídia original.
[000275] Especificamente, em uma concretização, a multimídia original transferida pelo usuário é obtida, e o servidor de transcodificação transcodifica a multimídia original de acordo com os parâmetros de transcodificação transferidos, e instrui o usuário a aceitar de volta a multimídia após conclusão da transcodificação. O usuário pode baixar a multimídia transcodificada diretamente. Preferivelmente, o usuário pode consultar o progresso de transcodificação da multimídia original através do cliente. Como o servidor de transcodificação notifica o usuário após completar a transcodificação, o usuário não precisa verificar se a transcodificação está completa no processo de transcodificação executado pelo servidor de transcodificação, e desse modo, a transcodificação off-line é suportada.
[000276] Etapa S133: Retorno da multimídia transcodificada gerada como um resultado de transcodificação para o cliente.
[000277] Na concretização, a multimídia original transferida pelo usuário é obtida se nenhuma multimídia transcodificada for encontrada que combine o identificador de multimídia original ou os parâmetros de transcodificação da multimídia original, que são introduzidos pelo usuário, ou, se a informação básica da multimídia transcodificada, que é retornada ao usuário, não cumprir as exigências de usuário; e a multimídia original é transcodificada de acordo com os parâmetros de transcodificação e retornada ao usuário, sem solicitar ao usuário a consumir recursos de sistema locais recursos de sistema locais para fins de transcodificação. É necessário apenas transferir a multimídia original e a multimídia transcodificada retornada pelo servidor de download. Geralmente, recursos de sistema e o tempo consumido para transferência e download de arquivo são menores do que aqueles consumidos para fins de transcodificação da multimídia. Desse modo, a concretização melhora a eficiência de transcodificação da multimídia localmente no lado do usuário.
CONCRETIZAÇÃO 12
[000278] Em uma concretização, após a etapa S132, o método de transcodificação de multimídia também inclui: armazenamento de dados de multimídia transcodificada.
[000279] Conforme mostrado na figura 14, o armazenamento dos dados de multimídia transcodificada inclui as seguintes etapas:
[000280] Etapa S141: Armazenamento da multimídia transcodificada gerada como resultado de transcodificação.
[000281] Especificamente, na etapa 141, a multimídia transcodificada gerada como resultado de transcodificação é armazenada de forma que ela fique disponível para repetidos downloads pelo usuário.
[000282] Etapa S142: Obtenção do identificador de multimídia transcodificada, da informação básica, do endereço de download, e do identificador de multimídia original correspondente à multimídia transcodificada.
[000283] Em uma concretização, um valor digest de informação da multimídia transcodificada pode ser obtido como um identificador de multimídia transcodificada, tal como um Valor Hash SHA de um arquivo, um Valor Hash MD5, etc. O tipo do identificador de multimídia transcodificada obtido na etapa S142 é consistente com o tipo do identificador de multimídia original obtido na etapa S101. Preferivelmente, a informação básica da multimídia transcodificada, tal como nome de arquivo, tamanho de arquivo, informação de formato, tempo de criação, e contagem de downloads, pode ser obtida, em que a informação de formato inclui tipo de arquivo, resolução, taxa de código, taxa de quadros, etc.
[000284] Etapa S143: Armazenamento do identificador de multimídia original, do identificador de multimídia transcodificada, da informação básica, e do endereço de download correspondentemente.
[000285] Especificamente, é apropriado armazenar uma tabela de relações de mapeamento entre o identificador de multimídia original e o identificador de multimídia transcodificada, e uma tabela de relações de mapeamento entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download.
[000286] Na concretização, com as tabelas de relação de mapeamentos anteriores armazenadas, quando um usuário precisa transcodificar multimídia original, um identificador da multimídia original poderá ser obtido; de acordo com o identificador de multimídia original, um identificador de multimídia transcodificada é pesquisado na tabela de relação de mapeamento informando se a multimídia transcodificada correspondente ao identificador de multimídia original existe e acelerando a consulta. Além disso, é apropriado pesquisar a tabela de relação de mapeamento para informação básica e um endereço de download que corresponda ao identificador de multimídia transcodificada, e retorne a informação básica e o endereço de download ao usuário para seleção, e retorne a multimídia transcodificada selecionada pelo usuário ao usuário, sem ter que executar transcodificação novamente. Desse modo, a velocidade de transcodificação é melhorada.
CONCRETIZAÇÃO 13
[000287] A figura 15 é um diagrama estrutural esquemático de um sistema de download de multimídia de acordo com concretização 13 da presente invenção. O sistema de download na concretização trata inicialmente das operações de transcodificação de multimídia e desse modo, o sistema também pode ser chamado de um sistema de transcodificação de multimídia. Conforme mostrado na figura 15, na concretização, o sistema de transcodificação de multimídia inclui uma base de dados de índice de transcodificação 601, um servidor de armazenamento de multimídia transcodificada 602, e um servidor de gerenciamento de tarefa de transcodificação 603, em que a base de dados de índice de transcodificação 601 é configurada para armazenar a relação de mapeamento entre um identificador de multimídia original e um identificador de multimídia transcodificada; e o servidor de armazenamento de multimídia transcodificada 602 é configurado para armazenar multimídia transcodificada, isto é, arquivos transcodificados.
[000288] O servidor de gerenciamento de tarefa de transcodificação 603 inclui um módulo de obtenção de informação 613, um módulo de busca 623, e um módulo de comunicação 633, em que o módulo de obtenção de informação 613 é configurado para obter o identificador de multimídia original.
[000289] Em uma concretização, o identificador de multimídia pode ser um valor digest de informação de multimídia, tal como um Valor Hash SHA de um arquivo, um Valor Hash MD5, etc. Em outra concretização, o identificador de multimídia pode ser uma sequência de símbolo ou sequência numérica que identifica unicamente a multimídia e apresenta uma pequena quantidade de informação.
[000290] Especificamente, em uma concretização, através de uma interface de usuário provida pelo cliente, o módulo de obtenção de informação 613 pode obter informação de multimídia original tal como nome de multimídia e caminho de arquivo, que é introduzido pelo usuário e precisa de transcodificação; e pode obter a multimídia original correspondente ao nome de multimídia e o caminho de arquivo; o cliente obtém um valor digest de informação da multimídia original pelo uso de um algoritmo digest de informação, e o transfere ao servidor de gerenciamento de tarefa de transcodificação; e o servidor de gerenciamento de tarefa de transcodificação recebe o valor digest de informação da multimídia original que é transferido pelo cliente.
[000291] O módulo de busca 623 é configurado para pesquisar um identificador de multimídia transcodificada correspondente ao identificador de multimídia original de acordo com a relação de mapeamento armazenada entre o identificador de multimídia original e o identificador de multimídia transcodificada, e obter a multimídia transcodificada a partir do servidor de armazenamento de multimídia transcodificada 602 de acordo com o identificador de multimídia transcodificada.
[000292] O módulo de comunicação 633 é configurado para retornar a multimídia transcodificada obtida ao usuário.
[000293] No sistema de transcodificação de multimídia acima descrito, o identificador de multimídia original especificado pelo usuário é obtido, e o identificador de multimídia transcodificada correspondente ao identificador de multimídia original é pesquisado; a multimídia transcodificada é obtida de acordo com o identificador de multimídia transcodificada, e a multimídia transcodificada obtida é retornada ao usuário. Desse modo, a multimídia é transcodificada e a multimídia original não precisa mais de transcodificação, economizando o tempo de transcodificação e melhorando a eficiência de transcodificação de multimídia.
[000294] Em uma concretização, a base de dados de índice de transcodificação 601 é também configurada para armazenar relação de mapeamentos entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download da multimídia transcodificada.
[000295] Na concretização, o módulo de busca 623 é configurado para buscar a base de dados de índice de transcodificação quanto ao identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e quanto à informação básica e o endereço de download da multimídia transcodificada correspondente ao identificador de multimídia transcodificada.
[000296] Preferivelmente, a informação básica inclui nome de arquivo, tamanho de arquivo, informação de formato, tempo de criação, contagem de downloads, etc.
[000297] O módulo de comunicação 633 é configurado para retornar a informação básica e o endereço de download ao usuário, obter a multimídia transcodificada escolhida pelo usuário, e retornar a multimídia transcodificada escolhida pelo usuário ao usuário.
[000298] A mesma multimídia original pode corresponder a multimídia transcodificada diferente que apresenta diferente informação básica. Desse modo, após encontrar o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, o módulo de busca 623 poderá ainda buscar a base de dados de índice de transcodificação 601 quanto à informação básica e ao endereço de download da multimídia correspondente ao identificador de multimídia transcodificada, e o módulo de comunicação 633 retorna a informação básica e o endereço de download da multimídia ao usuário de forma que o usuário escolha um endereço de download para baixar a multimídia de acordo com a informação básica da multimídia. Além disso, o módulo de comunicação 633 pode obter a multimídia transcodificada de acordo com o endereço de download da multimídia transcodificada escolhida pelo usuário, e retornar a multimídia transcodificada ao usuário.
[000299] Na concretização, o identificador de multimídia original transferido pelo usuário é obtido, e a informação básica e o endereço de download de multimídia transcodificada correspondente ao identificador de multimídia original são retornados ao usuário para seleção; além disso, a multimídia transcodificada escolhida pelo usuário é retornada ao usuário, sem ter que transcodificar a multimídia original novamente, economizando tempo de transcodificação e melhorando a eficiência de transcodificação de multimídia .
[000300] Na concretização, a informação básica da multimídia transcodificada inclui informação de formato da multimídia transcodificada.
[000301] Especificamente, a informação de formato inclui: tipo de arquivo, resolução, taxa de código, taxa de quadros, etc. Preferivelmente, a informação básica da multimídia transcodificada também inclui nome de arquivo, tamanho de arquivo, tempo de criação, contagem de downloads, etc.
[000302] Na concretização, o módulo de obtenção de informação 613 é também configurado para obter parâmetros de transcodificação de multimídia original.
[000303] Especificamente, o módulo de obtenção de informação 613 pode, através de uma interface de usuário provida pelo cliente, obter parâmetros de transcodificação da multimídia original que necessitam de transcodificação, que são introduzidos pelo usuário.
[000304] Preferivelmente, os parâmetros de transcodificação da multimídia original são informação de formato de multimídia transcodificada-alvo solicitada pelo usuário e transcodificada a partir da multimídia original, e incluem tipo de arquivo, resolução, taxa de código, taxa de quadros, etc. Os parâmetros de transcodificação introduzidos pelo usuário podem ser uma ou várias das informações acima enumeradas. Como a informação de parâmetro de transcodificada tal como tipo de arquivo, resolução, taxa de código, e taxa de quadros é complicada, em uma concretização, o módulo de obtenção de informação 613 pode obter uma plataforma-alvo ou dispositivo-alvo que reproduzirá a multimídia transcodificada, que é introduzido pelo usuário, por exemplo, um tipo de dispositivo móvel (telefone móvel, MP4, etc); e obter os parâmetros de transcodificação da multimídia original de acordo com os parâmetros de transcodificação que combinam a plataforma-alvo pré-estabelecida ou dispositivo-alvo. Na concretização, o usuário precisa somente introduzir a plataforma-alvo ou dispositivo- alvo que reproduzirá a multimídia transcodificada, e não precisa introduzir parâmetros de transcodificação complicados de forma que as operações de usuário sejam convenientes.
[000305] Em uma concretização, o módulo de busca 623 é configurado para buscar a base de dados de índice de transcodificação quanto ao identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e quanto à informação básica da multimídia transcodificada cuja informação de formato combina os parâmetros de transcodificação da multimídia original, e obter o endereço de download da multimídia transcodificada correspondente à informação básica.
[000306] Em uma concretização, o módulo de busca 623 pode pesquisar a informação básica correspondente ao identificador de multimídia transcodificada, julgar se a informação de formato da informação básica combina os parâmetros de transcodificação da multimídia original, e obter a informação básica cuja informação de formato combina os parâmetros de transcodificação da multimídia original. Especificamente, o módulo de busca 623 pode executar uma combinação inexata ou uma combinação exata entre a informação de formato da informação básica e os parâmetros de transcodificação da multimídia original. Por exemplo, os parâmetros de multimídia original de transcodificação transferidos pelo usuário incluem um tipo de arquivo WMA e uma resolução 200x300; através de uma combinação inexata entre os parâmetros de transcodificação e a informação de formato da informação básica, informação básica de toda multimídia transcodificada com um tipo de arquivo WMA ou uma resolução 200x300 é obtida; através de combinação exata entre os parâmetros de transcodificação e a informação de formato da informação básica, apenas a informação básica de multimídia transcodificada com um tipo de arquivo WMA e uma resolução 200x300 é obtida.
[000307] Na concretização, o módulo de comunicação 633 é configurado para retornar ao usuário a informação básica e o endereço de download que foram obtidos pelo módulo de busca 623, obter a multimídia transcodificada escolhida pelo usuário, e retornar a multimídia transcodificada escolhida pelo usuário ao usuário.
[000308] Na concretização, o identificador de multimídia original e parâmetros de transcodificação transferidos pelo usuário são obtidos e a informação básica e o endereço de download de multimídia transcodificada correspondente ao identificador de multimídia original e os parâmetros de transcodificação são retornados ao usuário; Além disso, a multimídia transcodificada escolhida pelo usuário é retornada ao usuário, sem ter que transcodificar a multimídia original novamente, economizando tempo de transcodificação e melhorando a eficiência de transcodificação de multimídia. Além disso, a informação básica da multimídia transcodificada, que é retornada ao usuário, combina os parâmetros de transcodificação introduzidos pelo usuário, de forma que as exigências de usuário sejam rigorosamente atendidas e o usuário possa escolher convenientemente a multimídia desejada para fins de download.
[000309] Preferivelmente, quando o módulo de busca 623 encontra somente um arquivo multimídia transcodificada que combina o identificador de multimídia original e os parâmetros de transcodificação que são introduzidos pelo usuário, não é necessário retornar a informação básica da multimídia transcodificada ao usuário para seleção, mas a multimídia transcodificada é obtida diretamente de acordo com o endereço de download, que reduz operações de usuário e melhora a conveniência de operações de usuário.
[000310] Em uma concretização, o módulo de obtenção de informação 613 é também configurado para obter a multimídia original transferida pelo usuário e os parâmetros de transcodificação da multimídia original.
[000311] Especificamente, uma interface de usuário do cliente pode prover uma interface para transferência da multimídia original e dos parâmetros de transcodificação da multimídia original, e o usuário pode usar a interface para transferir a multimídia original e os parâmetros de transcodificação da multimídia original se nenhuma multimídia transcodificada for encontrada que combine um identificador de multimídia original ou os parâmetros de transcodificação da multimídia original, que são introduzidos pelo usuário, ou, se a informação básica da multimídia transcodificada, que é retornada ao usuário, não atender as exigências de usuário.
[000312] Conforme mostrado na figura 16, na concretização, o método de transcodificação de multimídia também inclui um servidor de transcodificação 604, configurado para transcodificar a multimídia original de acordo com os parâmetros de transcodificação da multimídia original.
[000313] Especificamente, o servidor de transcodificação 604 pode transcodificar a multimídia original transferida de acordo com os parâmetros de transcodificação transferidos pelo usuário, e instruir o usuário a aceitar de volta a multimídia após conclusão da transcodificação. O usuário pode baixar a multimídia transcodificada diretamente. Preferivelmente, o usuário poderá consultar o progresso de transcodificação da multimídia original através do cliente. Como o servidor de transcodificação notifica o usuário após conclusão de transcodificação, o usuário não necessita se preocupar se a transcodificação está completa no processo de transcodificação executado pelo servidor de transcodificação, e desse modo, transcodificação off-line é suportada na concretização, o servidor de armazenamento de multimídia transcodificada 602 é configurado para armazenar a multimídia transcodificada gerada como um resultado de transcodificação pelo servidor de transcodificação 604.
[000314] Na concretização, o módulo de comunicação 633 é também configurado para retornar a multimídia transcodificada gerada como um resultado de transcodificação ao usuário.
[000315] Na concretização, a multimídia original transferida pelo usuário é obtida se nenhuma multimídia transcodificada for encontrada que combine um identificador de multimídia original ou os parâmetros de transcodificação da multimídia original, que são introduzidos pelo usuário, ou, se a informação básica da multimídia transcodificada, que é retornada ao usuário, não atender as exigências de usuário; e a multimídia original é transcodificada de acordo com os parâmetros de transcodificação e retornada ao usuário, sem solicitar ao usuário a consumir recursos de sistema locais para fins de transcodificação. É necessário apenas transferir a multimídia original e os parâmetros de transcodificação pelo servidor de download. Geralmente, recursos de sistema e tempo consumido para transferência e download de arquivo são menos do que aqueles consumidos para fins de transcodificação da multimídia. Desse modo, a concretização melhora a eficiência de transcodificação da multimídia no local no lado do usuário.
[000316] Em uma concretização, o servidor de transcodificação 604 é também configurado para obter o identificador de multimídia transcodificada, a informação básica, o endereço de download, e o identificador de multimídia original correspondente à multimídia transcodificada.
[000317] Em uma concretização, o servidor de transcodificação 604 pode obter um valor digest de informação da multimídia transcodificada como um identificador de multimídia transcodificada, tal como um Valor Hash SHA de um arquivo, um Valor Hash MD5, etc. O tipo do identificador de multimídia transcodificada obtido pelo servidor de transcodificação 604 é consistente com o tipo do identificador de multimídia original obtido pelo módulo de obtenção de informação 613. Preferivelmente, o servidor de transcodificação 604 pode obter informação básica da multimídia transcodificada, tal como nome de arquivo, tamanho de arquivo, informação de formato, tempo de criação, e contagem de downloads, em que a informação de formato inclui tipo de arquivo, resolução, taxa de código, taxa de quadros, etc.
[000318] Na concretização, a base de dados de índice de transcodificação 601 é configurada para armazenar a relação de mapeamento entre o identificador de multimídia transcodificada obtido pelo servidor de transcodificação 604 e o identificador de multimídia original, e a relação de mapeamento entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download.
[000319] Na concretização, a base de dados de índice de transcodificação 601 armazena a relação de mapeamentos anterior. Desse modo, quando um usuário precisa transcodificar multimídia original, um identificador da multimídia original pode ser obtido; de acordo com o identificador de multimídia original, um identificador de multimídia transcodificada é pesquisado na tabela de relação de mapeamento informando assim se a multimídia transcodificada correspondente ao identificador de multimídia original existe e acelerando a consulta. Além disso, é apropriado pesquisar a tabela de relação de mapeamento para informação básica e um endereço de download que corresponde ao identificador de multimídia transcodificada, e retornar a informação básica e o endereço de download ao usuário para seleção e retornar a multimídia transcodificada selecionada pelo usuário ao usuário, sem ter que executar a transcodificação novamente. Desse modo, a velocidade de transcodificação é melhorada.
[000320] Sobretudo, uma concretização da presente invenção provê um método de transcodificação de multimídia que inclui: obtenção de um identificador de multimídia original; busca de um identificador de multimídia transcodificada correspondente ao identificador de multimídia original de acordo com a relação de mapeamento armazenada entre o identificador de multimídia original e o identificador de multimídia transcodificada; obtenção do multimídia transcodificada de acordo com o identificador de multimídia transcodificada; e retorno da multimídia transcodificada obtida ao usuário.
[000321] Preferivelmente, a etapa de obtenção da multimídia transcodificada de acordo com o identificador de multimídia transcodificada inclui: obtenção de informação básica e um endereço de download da multimídia transcodificada correspondente ao identificador de multimídia transcodificada; retorno da informação básica obtida e endereço de download ao usuário; e obtenção do multimídia transcodificada escolhido pelo usuário.
[000322] Preferivelmente, a informação básica da multimídia transcodificada inclui informação de formato da multimídia transcodificada.
[000323] O método também inclui: obtenção de parâmetros de transcodificação da multimídia original, em que a etapa de obtenção de informação básica e um endereço de download da multimídia transcodificada correspondente ao identificador de multimídia transcodificada e retorno do informação básica e do endereço de download ao usuário inclui: busca de informação básica da multimídia transcodificada correspondente ao identificador de multimídia transcodificada, em que a informação de formato da multimídia transcodificada combina os parâmetros de transcodificação da multimídia original; e obtenção de um endereço de download da multimídia transcodificada correspondente à informação básica, e retorno do informação básica e do endereço de download da multimídia transcodificada correspondente à informação básica ao usuário.
[000324] Preferivelmente, o método também inclui: obtenção do multimídia original e parâmetros de transcodificação da multimídia original, que são transferidos pelo usuário; transcodificação da multimídia original de acordo com os parâmetros de transcodificação da multimídia original; e retorno do multimídia transcodificada gerada como resultado de transcodificação ao usuário.
[000325] Preferivelmente, o método também inclui: armazenamento da multimídia transcodificada gerada como resultado de transcodificação; obtenção do identificador de multimídia transcodificada, da informação básica, do endereço de download, e do identificador de multimídia original correspondente à multimídia transcodificada; e armazenamento do identificador de multimídia original, do identificador de multimídia transcodificada, da informação básica, e do endereço de download correspondentemente.
[000326] Preferivelmente, o identificador é um valor digest de informação de multimídia.
[000327] Desse modo, é necessário prover um sistema de transcodificação de multimídia para melhorar a eficiência de transcodificação.
[000328] Um sistema de transcodificação de multimídia inclui: uma base de dados de índice de transcodificação, configurada para armazenar uma relação de mapeamento entre um identificador de multimídia original e um identificador de multimídia transcodificada; um servidor de armazenamento de multimídia transcodificada , configurado para armazenar multimídia transcodificada; e um servidor de gerenciamento de tarefa de transcodificação, em que o servidor de gerenciamento de tarefa de transcodificação inclui: um módulo de obtenção de informação, configurado para obter o identificador de multimídia original; um módulo de busca, configurado para: pesquisar a base de dados de índice de transcodificação para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e obter a multimídia transcodificada a partir do servidor de armazenamento de multimídia transcodificada de acordo com o identificador de multimídia transcodificada; e um módulo de comunicação, configurado para retornar a multimídia transcodificada obtida ao usuário.
[000329] Preferivelmente, a base de dados de índice de transcodificação é também configurada para armazenar relação de mapeamentos entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download da multimídia transcodificada; o módulo de busca é configurado para pesquisar a base de dados de índice de transcodificação para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e para a informação básica e o endereço de download da multimídia transcodificada correspondente ao identificador de multimídia transcodificada; e o módulo de comunicação é configurado para retornar a informação básica e o endereço de download ao usuário, obter a multimídia transcodificada escolhido pelo usuário, e retornar a multimídia transcodificada escolhido pelo usuário ao usuário.
[000330] Preferivelmente, a informação básica da multimídia transcodificada inclui informação de formato da multimídia transcodificada; o módulo de obtenção de informação é também configurado para obter parâmetros de transcodificação de multimídia original; o módulo de busca é configurado para pesquisar a base de dados de índice de transcodificação para o identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e para a informação básica da multimídia transcodificada, cuja informação de formato combina os parâmetros de transcodificação da multimídia original, e obter o endereço de download da multimídia transcodificada correspondente à informação básica; e o módulo de comunicação é configurado para retornar a informação básica e o endereço de download da multimídia transcodificada correspondente à informação básica ao usuário, obter a mídia transcodificada escolhida pelo usuário, e retornar a multimídia transcodificada escolhida pelo usuário ao usuário.
[000331] Preferivelmente, o módulo de obtenção de informação é também configurado para obter a multimídia original transferida pelo usuário e os parâmetros de transcodificação da multimídia original; o sistema também inclui um servidor de transcodificação, configurado para transcodificar a multimídia original de acordo com os parâmetros de transcodificação da multimídia original; o servidor de armazenamento de multimídia transcodificada é configurado para armazenar multimídia transcodificada gerada como resultado de transcodificação pelo servidor de transcodificação; e o módulo de comunicação é também configurado para retornar a multimídia transcodificada gerada como resultado de transcodificação ao usuário.
[000332] Preferivelmente, o servidor de transcodificação é também configurado para obter o identificador de multimídia transcodificada, a informação básica, o endereço de download, e o identificador de multimídia original correspondente à multimídia transcodificada; e a base de dados de índice de transcodificação é configurada para armazenar uma relação de mapeamento entre o identificador de multimídia transcodificada obtido pelo servidor de transcodificação e o identificador de multimídia original, e uma relação de mapeamento entre o identificador de multimídia transcodificada e a informação básica junto com o endereço de download.
[000333] Preferivelmente, o identificador é um valor digest de informação de multimídia.
[000334] No método de transcodificação de multimídia e sistema descrito acima, o identificador de multimídia original especificado pelo usuário é obtido, e o identificador de multimídia transcodificada correspondente ao identificador de multimídia original é pesquisado; a multimídia transcodificada é obtida de acordo com o identificador de multimídia transcodificada, e a multimídia transcodificada obtida é retornada ao usuário. Desse modo, a multimídia é transcodificada e a multimídia original não precisa mais de transcodificação, economizando tempo de transcodificação e melhorando a eficiência de transcodificação de multimídia.
[000335] Os versados na técnica entenderão que todas ou parte das etapas dos métodos nas concretizações poderão ser implementadas através de um programa que instrui hardware relevante. O programa pode ser armazenado em um meio de armazenamento legível por computador. Quando o programa roda, as etapas acima dos métodos nas concretizações são executadas. O meio de armazenamento pode ser qualquer meio capaz de códigos de programa, tais como ROM, RAM, disco magnético ou disco óptico, e similares.
[000336] Finalmente, note-se que as concretizações que antecedem são meramente concebidas para fins de descrição das soluções técnicas da presente invenção, e não para restringir a presente invenção. Embora a presente invenção seja descrita detalhadamente com referência às concretizações anteriores, os versados na técnica entenderão que poderão ainda realizar modificações em relação às soluções técnicas descritas nas concretizações que antecedem, ou fazer substituições de algumas ou de todas as características técnicas destas, sem com isso abandonar o espírito e escopo das soluções técnicas das concretizações da presente invenção.

Claims (15)

1. Método de download de arquivo multimídia, caracterizado pelo fato de que compreende etapas de: obter, por um servidor de transcodificação, um arquivo transcodificado gerado ao transcodificar um arquivo multimídia; retornar o arquivo transcodificado para um cliente de acordo com uma exigência do cliente; a etapa de obter, por um servidor de transcodificação, um arquivo transcodificado gerado ao transcodificar um arquivo multimídia, compreende: transcodificar (S901), de antemão pelo servidor de transcodificação, um arquivo de vídeo que precisa de transcodificação em arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e armazená-los em uma base de dados de resultados de agregação de transcodificação; enquanto ou antes do servidor de transcodificação transcodificar (S901) de antemão o arquivo de vídeo que precisa de transcodificação nos arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e os armazenar na base de dados de resultados de agregação de transcodificação, o método ainda compreende etapas de: agregar, por um servidor de análise de agregação de vídeo, arquivos de vídeo similares nos arquivos de vídeo baixados off-line, e armazenar um resultado de agregação na base de dados de resultados de agregação de transcodificação, em que correspondentemente, quando um cliente escolher reproduzir um arquivo de vídeo sob demanda, em resposta a isto, o servidor de combinação de formato de reprodução de vídeo não encontrar arquivo transcodificado adequado para reprodução no cliente na base de dados de resultados de agregação de transcodificação, o servidor de combinação de formato de reprodução de vídeo recomenda ao cliente outro arquivo de vídeo que esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, de forma a fazer o cliente escolher por reproduzir o arquivo de vídeo sob demanda recomendado.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a etapa de retornar do arquivo transcodificado para um cliente de acordo com a exigência do cliente compreende: pesquisar (S902), por um servidor de combinação de formato de reprodução de vídeo quando o cliente escolhe reproduzir um arquivo de vídeo sob demanda, a base de dados de resultados de agregação de transcodificação por um arquivo transcodificado cuja taxa de código e formato de vídeo são adequados para reprodução no cliente, e notificar o arquivo transcodificado combinado para o cliente para reprodução sob demanda.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que: os arquivos de vídeo que necessitam de transcodificação compreendem: arquivos de vídeo baixados off-line, e/ou arquivos de vídeo que são pro-ativamente escalonados por um servidor de escalonamento de transcodificação ao servidor de transcodificação para transcodificar.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que: os arquivos de vídeo que são pro-ativamente escalonados pelo servidor de escalonamento de transcodificação ao servidor de transcodificação para transcodificar são: arquivos de vídeo que foram baixados por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
5. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que: a etapa de notificar o arquivo transcodificado combinado para o cliente para reprodução sob demanda compreende: obter e fornecer um link de vídeo, um endereço de download de vídeo ou uma semente BT correspondente ao arquivo transcodificado combinado para o cliente, de forma que o cliente adicione o link de vídeo, o endereço de download de vídeo ou a semente BT e use nuvem sob demanda para permitir clicar-para-reproduzir para o arquivo transcodificado.
6. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que: o arquivo transcodificado adequado para reprodução no cliente é obtido ao transcodificar o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e tem uma taxa de código que combina largura de banda do cliente e tem um formato de vídeo suportado pelo cliente.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a etapa de retornar o arquivo transcodificado para um cliente de acordo com a exigência do cliente compreende: obter (S101) um identificador de multimídia original do cliente; buscar (S102) por um identificador de multimídia transcodificada correspondente ao identificador de multimídia original de acordo com uma relação de mapeamento armazenada entre o identificador de multimídia original e o identificador de multimídia transcodificada; obter (S103) o arquivo transcodificado de acordo com o identificador de multimídia transcodificada; e retornar o arquivo transcodificado obtido para o cliente.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que: a etapa de obter, por um servidor de transcodificação, um arquivo transcodificado gerado ao transcodificar um arquivo multimídia, compreende: obter (S131) a multimídia original e parâmetros de transcodificação da multimídia original, que são transferidos pelo cliente; e transcodificar (S133), pelo servidor de transcodificação, a multimídia original de acordo com os parâmetros de transcodificação da multimídia original para obter o arquivo transcodificado.
9. Sistema de download de arquivo multimídia, caracterizado pelo fato de que compreende: um servidor de transcodificação (710), configurado para obter um arquivo transcodificado gerado ao transcodificar um arquivo multimídia; e um servidor de retorno de arquivo, configurado para retornar o arquivo transcodificado para um cliente de acordo com uma exigência do cliente; em que sistema ainda compreende uma base de dados de resultados de agregação de transcodificação (720); o servidor de transcodificação (710) é especialmente configurado para transcodificar de antemão um arquivo de vídeo que precisa de transcodificação em arquivos transcodificados de diferentes taxas de código e diferentes formatos de vídeo, e armazená-los na base de dados de resultados de agregação de transcodificação (720); o sistema ainda compreendendo: um servidor de análise de agregação de vídeo (760), configurado para agregar arquivos de vídeo similares nos arquivos de vídeo baixados off-line, e armazenar um resultado de agregação na base de dados de resultados de agregação de transcodificação (720), em que em que o servidor de retorno de arquivo é especificamente um servidor de combinação de formato de reprodução de vídeo (730), o servidor de combinação de formato de reprodução de vídeo (730) configurado para: em resposta a não ser encontrado arquivo transcodificado adequado para reprodução no cliente na base de dados de resultados de agregação de transcodificação (720), recomendar para o cliente outro arquivo de vídeo que esteja em uma relação agregada com o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, de forma a fazer com que o cliente escolha reproduzir o arquivo de vídeo sob demanda recomendado.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que: a base de dados de resultados de agregação de transcodificação (720) é configurada para armazenar cada arquivo transcodificado obtido pelo servidor de transcodificação (710);e o servidor de retorno de arquivo é especificamente configurado para: em vista de um arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, pesquisar a base de dados de resultados de agregação de transcodificação (720) por um arquivo transcodificado cuja taxa de código e formato de vídeo sejam adequados para reprodução no cliente, e notificar o arquivo transcodificado combinado para o cliente para reprodução sob demanda.
11. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que: o sistema ainda compreende um servidor de escalonamento de transcodificação (740), configurado para escalonar arquivos de vídeo que necessitam de transcodificação ao servidor de transcodificação (710); e os arquivos de vídeo que necessitam de transcodificação compreendem: arquivos de vídeo baixados off-line, e/ou arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação (740) ao servidor de transcodificação (710) para transcodificação.
12. Sistema, de acordo com a reivindicação 11, caracterizado pelo fato de que: os arquivos de vídeo que são escalonados pelo servidor de escalonamento de transcodificação (740) ao servidor de transcodificação (710) para transcodificação são: arquivos de vídeo que foram baixados por um número de vezes maior do que um limite estabelecido dentro de um tempo estabelecido entre os arquivos de vídeo baixados off-line.
13. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que: o arquivo transcodificado adequado para reprodução no cliente é obtido ao transcodificar o arquivo de vídeo escolhido pelo cliente para reprodução sob demanda, e tem uma taxa de código que combina largura de banda do cliente e tem um formato de vídeo suportado pelo cliente.
14. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que: o sistema ainda compreende uma base de dados de índice de transcodificação (601) e um servidor de armazenamento de multimídia transcodificada (602); a base de dados de índice de transcodificação (601) é configurada para armazenar uma relação de mapeamento entre um identificador de multimídia original e um identificador de multimídia transcodificada; o servidor de armazenamento de multimídia transcodificada (602) é configurado para armazenar arquivos transcodificados; o servidor de retorno de arquivo é especificamente um servidor de gerenciamento de tarefa de transcodificação (603), e o servidor de gerenciamento de tarefa de transcodificação (603) compreende: um módulo de obtenção de informação (613), configurado para obter o identificador de multimídia original do cliente; um módulo de busca (623), configurado para: pesquisar a base de dados de índice de transcodificação (601) pelo identificador de multimídia transcodificada correspondente ao identificador de multimídia original, e obter o arquivo transcodificado a partir do servidor de armazenamento de multimídia transcodificada (602) de acordo com o identificador de multimídia transcodificada; e um módulo de comunicação (633), configurado para retornar o arquivo transcodificado obtido para o cliente.
15. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que: o módulo de obtenção de informação (613) é ainda configurado para obter a multimídia original e os parâmetros de transcodificação da multimídia original transferidos pelo cliente; o servidor de transcodificação (701, 604) é especialmente configurado para transcodificar a multimídia original de acordo com os parâmetros de transcodificação da multimídia original; o servidor de armazenamento de multimídia transcodificada (602) é configurado para armazenar arquivos transcodificados gerados como um resultado de transcodificação pelo servidor de transcodificação (701, 604);e o módulo de comunicação (633) é ainda configurado para retornar os arquivos transcodificados gerados como resultado da transcodificação para o cliente.
BR112014000597-4A 2012-04-24 2013-04-24 Método e sistema para download de arquivo multimídia BR112014000597B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210122178.4 2012-04-24
CN201210122178.4A CN103379362B (zh) 2012-04-24 2012-04-24 视频点播方法和系统
PCT/CN2013/074647 WO2013159703A1 (en) 2012-04-24 2013-04-24 Offline download method, multimedia file download method and system thereof

Publications (2)

Publication Number Publication Date
BR112014000597A2 BR112014000597A2 (pt) 2017-02-14
BR112014000597B1 true BR112014000597B1 (pt) 2022-08-16

Family

ID=49463846

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014000597-4A BR112014000597B1 (pt) 2012-04-24 2013-04-24 Método e sistema para download de arquivo multimídia

Country Status (5)

Country Link
US (1) US20140165119A1 (pt)
CN (1) CN103379362B (pt)
BR (1) BR112014000597B1 (pt)
CA (1) CA2840106A1 (pt)
WO (1) WO2013159703A1 (pt)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386075B2 (en) * 2009-12-08 2016-07-05 At&T Intellectual Property I, L.P. Flexible download destination
US9557885B2 (en) 2011-08-09 2017-01-31 Gopro, Inc. Digital media editing
CN103002274B (zh) * 2011-09-16 2016-05-18 腾讯科技(深圳)有限公司 一种基于离线下载的移动多媒体实时转码播放系统及方法
WO2013135203A1 (en) 2012-03-16 2013-09-19 Tencent Technology (Shenzhen) Company Limited Offline download method and system
CN103457960B (zh) 2012-05-15 2018-03-09 腾讯科技(深圳)有限公司 网页游戏中加载文件的方法及系统
CN104618805B (zh) * 2013-11-01 2018-02-23 中国移动通信集团公司 一种视频点播方法和设备
US20150156249A1 (en) * 2013-12-04 2015-06-04 Verizon Patent And Licensing Inc. Providing notifications regarding the multicast of scheduled content or popular content
CN103747284A (zh) * 2013-12-27 2014-04-23 乐视网信息技术(北京)股份有限公司 一种视频推送方法及服务器
US9652667B2 (en) 2014-03-04 2017-05-16 Gopro, Inc. Automatic generation of video from spherical content using audio/visual analysis
JP2015191301A (ja) * 2014-03-27 2015-11-02 富士通株式会社 通信制御装置、蓄積装置、通信制御方法、及び通信制御プログラム
CN103957428A (zh) * 2014-05-16 2014-07-30 中国科学院上海高等研究院 基于众核处理器且带多码率转码功能的流媒体服务器
US9685194B2 (en) 2014-07-23 2017-06-20 Gopro, Inc. Voice-based video tagging
US9792502B2 (en) 2014-07-23 2017-10-17 Gopro, Inc. Generating video summaries for a video using video summary templates
CN104202356B (zh) * 2014-08-07 2015-10-21 西安交通大学 一种基于多码率版本的视频云点播系统视频文件部署方法
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10021212B1 (en) 2014-12-05 2018-07-10 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US9898477B1 (en) 2014-12-05 2018-02-20 EMC IP Holding Company LLC Writing to a site cache in a distributed file system
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US9646064B2 (en) * 2014-12-10 2017-05-09 Salesforce.Com, Inc. Template based software container
CN105791975A (zh) * 2014-12-26 2016-07-20 上海百事通信息技术股份有限公司 多屏互动流媒体平台及系统
US9734870B2 (en) 2015-01-05 2017-08-15 Gopro, Inc. Media identifier generation for camera-captured media
CN104618740A (zh) * 2015-01-28 2015-05-13 南京工业大学 一种基于云计算环境的多媒体点播系统
US9679605B2 (en) 2015-01-29 2017-06-13 Gopro, Inc. Variable playback speed template for video editing application
US10186012B2 (en) 2015-05-20 2019-01-22 Gopro, Inc. Virtual lens simulation for video and photo cropping
CN104935955B (zh) * 2015-05-29 2019-01-25 腾讯科技(北京)有限公司 一种传输直播视频流的方法、装置和系统
US9894393B2 (en) 2015-08-31 2018-02-13 Gopro, Inc. Video encoding for reduced streaming latency
US9721611B2 (en) 2015-10-20 2017-08-01 Gopro, Inc. System and method of generating video from video clips based on moments of interest within the video clips
US10204273B2 (en) 2015-10-20 2019-02-12 Gopro, Inc. System and method of providing recommendations of moments of interest within video clips post capture
CN106850710B (zh) 2015-12-03 2020-02-28 杭州海康威视数字技术股份有限公司 一种数据云存储系统、客户终端、存储服务器及应用方法
CN105898448A (zh) * 2015-12-14 2016-08-24 乐视云计算有限公司 转码属性信息的提交方法和装置
US10095696B1 (en) 2016-01-04 2018-10-09 Gopro, Inc. Systems and methods for generating recommendations of post-capture users to edit digital media content field
US10109319B2 (en) 2016-01-08 2018-10-23 Gopro, Inc. Digital media editing
US9812175B2 (en) 2016-02-04 2017-11-07 Gopro, Inc. Systems and methods for annotating a video
US9972066B1 (en) 2016-03-16 2018-05-15 Gopro, Inc. Systems and methods for providing variable image projection for spherical visual content
US10402938B1 (en) 2016-03-31 2019-09-03 Gopro, Inc. Systems and methods for modifying image distortion (curvature) for viewing distance in post capture
US9838731B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing with audio mixing option
US9794632B1 (en) 2016-04-07 2017-10-17 Gopro, Inc. Systems and methods for synchronization based on audio track changes in video editing
US9838730B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing
US9998769B1 (en) 2016-06-15 2018-06-12 Gopro, Inc. Systems and methods for transcoding media files
US10250894B1 (en) 2016-06-15 2019-04-02 Gopro, Inc. Systems and methods for providing transcoded portions of a video
US9922682B1 (en) 2016-06-15 2018-03-20 Gopro, Inc. Systems and methods for organizing video files
US10045120B2 (en) 2016-06-20 2018-08-07 Gopro, Inc. Associating audio with three-dimensional objects in videos
US10185891B1 (en) 2016-07-08 2019-01-22 Gopro, Inc. Systems and methods for compact convolutional neural networks
US10469909B1 (en) 2016-07-14 2019-11-05 Gopro, Inc. Systems and methods for providing access to still images derived from a video
US10395119B1 (en) 2016-08-10 2019-08-27 Gopro, Inc. Systems and methods for determining activities performed during video capture
CN106303295A (zh) * 2016-08-23 2017-01-04 北京汉博信息技术有限公司 一种可视化数据的处理方法
US9836853B1 (en) 2016-09-06 2017-12-05 Gopro, Inc. Three-dimensional convolutional neural networks for video highlight detection
US10282632B1 (en) 2016-09-21 2019-05-07 Gopro, Inc. Systems and methods for determining a sample frame order for analyzing a video
US10268898B1 (en) 2016-09-21 2019-04-23 Gopro, Inc. Systems and methods for determining a sample frame order for analyzing a video via segments
US10002641B1 (en) 2016-10-17 2018-06-19 Gopro, Inc. Systems and methods for determining highlight segment sets
US10284809B1 (en) 2016-11-07 2019-05-07 Gopro, Inc. Systems and methods for intelligently synchronizing events in visual content with musical features in audio content
US10262639B1 (en) 2016-11-08 2019-04-16 Gopro, Inc. Systems and methods for detecting musical features in audio content
CN106658028A (zh) * 2016-12-30 2017-05-10 中广热点云科技有限公司 多服务器视频点播资源的聚类处理方法
WO2018132964A1 (zh) * 2017-01-18 2018-07-26 深圳市大疆创新科技有限公司 传输编码数据的方法、装置、计算机系统和移动设备
US10534966B1 (en) 2017-02-02 2020-01-14 Gopro, Inc. Systems and methods for identifying activities and/or events represented in a video
US10339443B1 (en) 2017-02-24 2019-07-02 Gopro, Inc. Systems and methods for processing convolutional neural network operations using textures
US10127943B1 (en) 2017-03-02 2018-11-13 Gopro, Inc. Systems and methods for modifying videos based on music
US10185895B1 (en) 2017-03-23 2019-01-22 Gopro, Inc. Systems and methods for classifying activities captured within images
US10083718B1 (en) 2017-03-24 2018-09-25 Gopro, Inc. Systems and methods for editing videos based on motion
CN108737853B (zh) 2017-04-20 2021-07-13 腾讯科技(深圳)有限公司 一种数据文件的降码处理方法和服务器
US10187690B1 (en) 2017-04-24 2019-01-22 Gopro, Inc. Systems and methods to detect and correlate user responses to media content
US10395122B1 (en) 2017-05-12 2019-08-27 Gopro, Inc. Systems and methods for identifying moments in videos
US10437601B2 (en) * 2017-06-30 2019-10-08 Microsoft Technology Licensing, Llc Centralized memory management for multiple device streams
US10402698B1 (en) 2017-07-10 2019-09-03 Gopro, Inc. Systems and methods for identifying interesting moments within videos
US10614114B1 (en) 2017-07-10 2020-04-07 Gopro, Inc. Systems and methods for creating compilations based on hierarchical clustering
US10402656B1 (en) 2017-07-13 2019-09-03 Gopro, Inc. Systems and methods for accelerating video analysis
CN107257388A (zh) * 2017-08-21 2017-10-17 郑州云海信息技术有限公司 一种基于分布式集群系统的信息推送方法及装置
CN108234607B (zh) * 2017-12-18 2020-06-05 上海中畅数据技术有限公司 一种基于微服务架构模式下的文件分发方法与系统
CN108269132A (zh) * 2018-02-11 2018-07-10 深圳市茁壮网络股份有限公司 一种媒资资源的定价方法及定价系统
CN108574855A (zh) * 2018-03-15 2018-09-25 西安万像电子科技有限公司 视频流化方法、装置及系统
CN110830821A (zh) * 2018-08-14 2020-02-21 海能达通信股份有限公司 基于切片的rtp流传输方法、装置、终端及服务器
CN109218756A (zh) * 2018-09-28 2019-01-15 广州市协衡网络科技有限公司 一种摄像视频的点播方法、装置、服务器及存储介质
CN109729385A (zh) * 2018-12-25 2019-05-07 广州市百果园信息技术有限公司 视频下载方法、装置、计算机设备、存储介质和终端
CN109756488B (zh) * 2018-12-25 2021-09-24 深圳市网心科技有限公司 一种数据流获取方法、装置、设备及介质
CN111949365A (zh) * 2019-05-17 2020-11-17 中车株洲电力机车研究所有限公司 离线仿真方法及计算机存储介质
CN110381107B (zh) * 2019-05-24 2023-04-07 平安普惠企业管理有限公司 文件下载方法、装置、计算机设备及存储介质
CN110278451B (zh) * 2019-06-18 2022-04-22 北京奇艺世纪科技有限公司 图片在线转码方法、装置及电子设备
CN110830809B (zh) * 2019-11-20 2021-12-07 咪咕动漫有限公司 视频内容热度确定方法、电子设备及存储介质
CN111147895A (zh) * 2019-12-24 2020-05-12 西安天互通信有限公司 一种基于云计算的tb级视频转码方法
CN111107386A (zh) * 2019-12-27 2020-05-05 北京达佳互联信息技术有限公司 直播视频的回看方法、装置、电子设备、系统及存储介质
CN111857804A (zh) * 2020-07-22 2020-10-30 北京达佳互联信息技术有限公司 离线任务的处理方法、装置、电子设备及存储介质
CN112929756B (zh) * 2021-03-05 2023-07-21 深圳市迅雷网络技术有限公司 视频点播方法、p2p节点及计算机可读存储介质
CN113556552B (zh) * 2021-09-09 2022-07-08 深圳市万佳安物联科技股份有限公司 云端视频压缩的控制方法
CN113867632A (zh) * 2021-09-23 2021-12-31 恒睿(重庆)人工智能技术研究院有限公司 云视频识别方法、设备及计算机存储介质
CN114979776A (zh) * 2022-05-24 2022-08-30 厦门市思芯微科技有限公司 一种应用于wifi可视行车记录仪的视频转码方法
CN115022680B (zh) * 2022-08-03 2022-11-01 海易科技(北京)有限公司 视频播放方法、装置、电子设备和计算机可读介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001471B2 (en) * 2006-02-28 2011-08-16 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8752092B2 (en) * 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
US8375409B2 (en) * 2009-02-05 2013-02-12 Purplecomm Inc. Meta channel based media system control technology
CN102055964A (zh) * 2009-11-11 2011-05-11 腾讯科技(深圳)有限公司 一种多媒体文件转码方法和转码器
CN102118406B (zh) * 2009-12-31 2013-08-07 Tcl集团股份有限公司 一种终端设备离线下载方法及门户服务系统
US8964013B2 (en) * 2009-12-31 2015-02-24 Broadcom Corporation Display with elastic light manipulator
CN101945278B (zh) * 2010-09-15 2012-07-25 中国科学院深圳先进技术研究院 视频自适应转码方法和系统
CN101977228B (zh) * 2010-10-29 2013-04-24 优视科技有限公司 一种用于移动通讯设备终端的离线下载方法及其系统
CN102387220A (zh) * 2011-12-22 2012-03-21 乐视网信息技术(北京)股份有限公司 一种基于云存储的离线下载的方法及其系统

Also Published As

Publication number Publication date
CA2840106A1 (en) 2013-10-31
WO2013159703A1 (en) 2013-10-31
CN103379362A (zh) 2013-10-30
CN103379362B (zh) 2017-07-07
WO2013159703A9 (en) 2014-09-04
US20140165119A1 (en) 2014-06-12
BR112014000597A2 (pt) 2017-02-14

Similar Documents

Publication Publication Date Title
BR112014000597B1 (pt) Método e sistema para download de arquivo multimídia
US20230289329A1 (en) Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques
US8880650B2 (en) System and method for storing streaming media file
US8489760B2 (en) Media file storage format and adaptive delivery system
KR101629338B1 (ko) 저스트-인-타임 분산 비디오 캐시
US8943215B2 (en) Distributed smooth streaming utilizing dynamic manifests
US10291673B2 (en) Transcoding method and system, and distributed file apparatus
CN103002274B (zh) 一种基于离线下载的移动多媒体实时转码播放系统及方法
TWI549080B (zh) The method, system and device for sending information of category information
US20110191445A1 (en) Efficient streaming server
US20110191446A1 (en) Storing and streaming media content
CN102547478B (zh) 基于cdn的流媒体触发式切片点播系统和方法
CN104506950A (zh) 网络流媒体播放中的多线程下载方法、装置及下载设备
WO2013075578A1 (zh) 网络资源文件的离线下载系统和方法
JP6219800B2 (ja) マルチトラックビデオコンテンツを提供するためのマルチトラックビデオコンテンツサービス方法およびシステム
US20130212342A1 (en) Storage format for media streams
CN102624768B (zh) 在不同设备之间进行文件同步处理的方法和系统
BR112014001749B1 (pt) Método e sistema de download offline
JP2019533233A (ja) メディア記憶
CN103108008A (zh) 一种下载文件的方法及文件下载系统
CN101867777A (zh) 一种基于对等计算机顶盒的视频点播传输方法
CN110113626A (zh) 一种回放直播视频的方法及装置
EP3103264B1 (en) Methods and apparatus for naming video content chunks
US20130138736A1 (en) Multimedia file sharing method and system thereof
Dyaberi et al. Storage optimization for a peer-to-peer video-on-demand network

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 24/04/2013, OBSERVADAS AS CONDICOES LEGAIS