CN108737853B - 一种数据文件的降码处理方法和服务器 - Google Patents

一种数据文件的降码处理方法和服务器 Download PDF

Info

Publication number
CN108737853B
CN108737853B CN201710262437.6A CN201710262437A CN108737853B CN 108737853 B CN108737853 B CN 108737853B CN 201710262437 A CN201710262437 A CN 201710262437A CN 108737853 B CN108737853 B CN 108737853B
Authority
CN
China
Prior art keywords
data file
server
client
original data
fileid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710262437.6A
Other languages
English (en)
Other versions
CN108737853A (zh
Inventor
胡亚军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710262437.6A priority Critical patent/CN108737853B/zh
Priority to PCT/CN2017/115179 priority patent/WO2018192236A1/zh
Publication of CN108737853A publication Critical patent/CN108737853A/zh
Priority to US16/504,789 priority patent/US11444998B2/en
Application granted granted Critical
Publication of CN108737853B publication Critical patent/CN108737853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开一种数据文件的降码处理方法和服务器,降低用户的下载时延,减少服务器的多次查询所增加的负荷。在该方法中,服务器接收第一客户端发送的申请上传请求;服务器根据申请上传请求从存储仓库中查询秒传索引,秒传索引用于记录预先存储到存储仓库中的多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息;若命中秒传索引,服务器向第一客户端发送第一秒传命中指令,第一秒传命中指令包括:第二fileid;服务器接收第二客户端发送的第一申请下载请求;服务器根据第二fileid从存储仓库中获取到第一降码数据文件,并向第二客户端发送第一降码数据文件。

Description

一种数据文件的降码处理方法和服务器
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据文件的降码处理方法和服务器。
背景技术
随着网络和多媒体技术的飞速发展,用户借助网络观看视频内容的需求得到了越来越广泛的应用,现有技术中,用户在使用社交工具聊天时可以进行视频文件的传输,为减少视频文件下载所需的流量,社交服务器通常需要对用户上传的视频文件进行降码。
现有技术中,社交服务器为视频文件设计的降码方法,可以包括如下步骤:用户A向社交服务器上传原视频文件,社交服务器对原视频文件进行转码,存储新生成的降码率视频文件,同时服务器记录原视频文件的文件标识(fileid)到降码率视频文件的fileid之间的关联索引,社交服务器通知用户A上传成功并反馈原视频文件的fileid,用户A将原视频文件的fileid分享到聊天内容中,通知用户B下载,用户B请求社交服务器下载用户A上传的视频文件,社交服务器根据用户A分享的fileid查询是否命中关联索引,如果命中则下载降码率视频文件返回给用户B,否则下载原视频文件返回给用户B。
在上述现有技术中,传统方案在每次用户请求下载时都查询关联索引,增加了用户的下载时延。另外,在群聊场景下,通常视频文件的下载次数是上传文件的数十倍,针对每个用户的下载请求,社交服务器都需要查询一次关联索引,因此在下载阶段还存在查询关联索引的读请求放大问题,即需要多次重复查询同一个用户分享的fileid,增加了社交服务器的负荷。
发明内容
本发明实施例提供了一种数据文件的降码处理方法和服务器,用于降低用户的下载时延,同时减少服务器的多次查询所增加的负荷。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种数据文件的降码处理方法,包括:
服务器接收第一客户端发送的申请上传请求,所述申请上传请求用于向服务器请求上传第一原数据文件;
所述服务器根据所述申请上传请求从存储仓库中查询秒传索引,所述秒传索引用于记录预先存储到所述存储仓库中的多个原数据文件的文件标识fileid和相应的降码数据文件的fileid的关联信息;
若所述秒传索引中记录有所述第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,所述服务器向所述第一客户端发送第一秒传命中指令,所述第一秒传命中指令包括:所述第二fileid,由所述第一客户端将所述第二fileid发送给第二客户端;
所述服务器接收所述第二客户端发送的第一申请下载请求,所述第一申请下载请求包括:所述第二客户端获取到的所述第二fileid;
所述服务器根据所述第二fileid从所述存储仓库中获取到所述第一降码数据文件,并向所述第二客户端发送所述第一降码数据文件。
第二方面,本发明实施例还提供一种服务器,包括:
接收模块,用于接收第一客户端发送的申请上传请求,所述申请上传请求用于向服务器请求上传第一原数据文件;
秒传索引查询模块,用于根据所述申请上传请求从存储仓库中查询秒传索引,所述秒传索引用于记录预先存储到所述存储仓库中的多个原数据文件的文件标识fileid和相应的降码数据文件的fileid的关联信息;
发送模块,用于若所述秒传索引中记录有所述第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,向所述第一客户端发送第一秒传命中指令,所述第一秒传命中指令包括:所述第二fileid,由所述第一客户端将所述第二fileid发送给第二客户端;
所述接收模块,还用于接收所述第二客户端发送的第一申请下载请求,所述第一申请下载请求包括:所述第二客户端获取到的所述第二fileid;
文件下载模块,用于根据所述第二fileid从所述存储仓库中获取到所述第一降码数据文件,并向所述第二客户端发送所述第一降码数据文件。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,服务器接收第一客户端发送的申请上传请求,申请上传请求用于向服务器请求上传第一原数据文件,服务器根据申请上传请求从存储仓库中查询秒传索引,秒传索引用于记录预先存储到存储仓库中的多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,服务器向第一客户端发送第一秒传命中指令,第一秒传命中指令包括:第二fileid,由第一客户端将第二fileid发送给第二客户端,服务器接收第二客户端发送的第一申请下载请求,第一申请下载请求包括:第二客户端获取到的第二fileid,服务器根据第二fileid从存储仓库中获取到第一降码数据文件,并向第二客户端发送第一降码数据文件。本发明实施例中服务器根据申请上传请求查询到秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息时,服务器返回的是第一降码数据文件的第二fileid,而不是第一原数据文件的第一fileid,从而第二客户端在请求下载时就不需要再查询上述的关联信息,因此在每次用户请求下载时省去了查询关联信息的步骤,因此可以降低用户的下载时延。另外本发明实施例中存储仓库中预先存储有多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若根据申请上传请求命中秒传索引,第一客户端不需要再上传第一原数据文件到服务器,从而降低了第一客户端的上传时延并节省上传流量。另外,本发明实施例中由于可以省去为第二客户端查询关联信息的步骤,因此当有多个第二客户端向本发明实施例提供的服务器发起申请下载请求时,也可以省去多次查询关联信息的步骤,减少服务器的多次查询所增加的负荷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的服务器与多个客户端之间的连接结构示意图;
图2为本发明实施例提供的一种数据文件的降码处理方法的流程方框示意图;
图3为本发明实施例提供的服务器执行视频文件的上传下载流程示意图;
图4-a为本发明实施例提供的一种服务器的组成结构示意图;
图4-b为本发明实施例提供的另一种服务器的组成结构示意图;
图4-c为本发明实施例提供的另一种服务器的组成结构示意图;
图4-d为本发明实施例提供的另一种服务器的组成结构示意图;
图5为本发明实施例提供的数据文件的降码处理方法应用于服务器的组成结构示意图。
具体实施方式
本发明实施例提供了一种数据文件的降码处理方法和服务器,用于降低用户的下载时延,同时减少服务器的多次查询所增加的负荷。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下分别进行详细说明。
本发明数据文件的降码处理方法的一个实施例,具体可以应用于数据文件上传到服务器时的降码处理场景中,如图1所示,为本发明实施例提供的服务器与多个客户端之间的连接结构示意图。本发明实施例中服务器连接有多个客户端,图1中以服务器连接有两个客户端(第一客户端和第二客户端)为例进行示例说明,其中,第一客户端是向服务器请求上传数据文件的客户端,第二客户端是向服务器请求下载数据文件的客户端,其中,服务器可以连接有多个第二客户端。例如在群聊场景下,该服务器具体为社交服务器,有一个社交客户端上传视频文件,有多个社交客户端下载视频文件。请参阅图1所示,该方法可以包括如下步骤:
101、服务器接收第一客户端发送的申请上传请求,申请上传请求用于向服务器请求上传第一原数据文件。
在本发明实施例中,第一客户端是请求上传的客户端,第一客户端上传数据文件需要通过申请信令的方式获取服务器信息和数据文件上传的存储位置的文件标识。第一客户端发送申请上传请求给服务器,服务器接收第一客户端发送的申请上传请求,服务器根据该申请上传请求确定第一客户端需要请求上传第一原数据文件。本发明实施例中的数据文件可以是多种电子文件,例如视频内容、图片、应用程序安装包等。本发明实施例中为了区分不同的数据文件,将第一客户端请求上传的数据文件定义为“第一原数据文件”。
在本发明的一些实施例中,步骤101服务器接收第一客户端发送的申请上传请求之前,本发明实施例提供的数据文件的降码处理方法还可以包括如下步骤:
A1、服务器从数据文件库中爬取到多个原数据文件;
A2、服务器对多个原数据文件分别进行重新编码,得到多个降码数据文件;
A3、服务器将多个原数据文件和多个降码数据文件存储到存储仓库中,以及将多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息更新到秒传索引中。
其中,步骤A1至步骤A3中描述了服务器对存储仓库的预存储方式,数据文件库的来源是互联网,也可以专用的企业内部数据库,服务器首先从数据文件库中爬取到多个原数据文件,然后逐个对原数据文件进行重新编码,然后将多个原数据文件和多个降码数据文件存储到存储仓库中,同时更新多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息到秒传索引中,从而增加了秒传索引中记录的关联信息。服务器爬取原数据文件的方式可以有多种。例如,在本发明的一些实施例中,步骤A1服务器从数据文件库中爬取到多个原数据文件,包括:
A11、服务器从数据文件库中爬取到下载量大于下载阈值的多个原数据文件。
其中,服务器可以设置下载阈值,对数据文件库中的所有原数据文件按照下载量进行排序,对于下载量大于下载阈值的原数据文件,服务器爬取到该原数据文件,然后进行重新编码以及存储到存储仓库中。举例说明,若数据文件为视频文件,则下载量大于下载阈值的原视频文件可以是热视频文件,则服务器可以对这些热视频文件进行重新编码。
102、服务器根据申请上传请求从存储仓库中查询秒传索引,秒传索引用于记录预先存储到存储仓库中的多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息。
在本发明实施例中,服务器接收到第一客户端发送的申请上传请求之后,服务器根据该申请上传请求从存储仓库中查询秒传索引。本发明实施例中,存储仓库中预先存储有多个原数据文件和相应的降码数据文件,并且存储仓库中还保存有秒传索引。其中,降码数据文件是指对原数据文件进行重新编码后生成的数据文件,该降码数据文件相对于原数据文件进行了重新编码,从而可以减少文件大小,也可以改变原数据文件的文件类型,具体重新编码的方式取决于应用场景。另外本发明实施例中原数据文件和相应的降码数据文件之间具有关联关系,原数据文件的fileid和相应的降码数据文件的fileid的关联信息记录在秒传索引中。其中,数据文件的fileid是数据文件在存储仓库存储位置的唯一标识,秒传索引是基于原数据文件创建的索引,记录有原数据文件所关联的降码数据文件的fileid的索引信息。
在本发明的一些实施例中,除了执行前述的步骤之外,本发明实施例提供的数据文件的降码处理方法还可以包括如下步骤:
B1、服务器从数据文件库中爬取到第二原数据文件;
B2、服务器根据第二原数据文件从存储仓库中查询秒传索引;
B3、若秒传索引中记录有第二原数据文件的fileid,则服务器将第二原数据文件丢弃,从数据文件库中继续爬取到第三原数据文件;
B4、若根据第二原数据文件没有查询到秒传索引,服务器将第二原数据文件重新编码为第二降码数据文件;
B5、服务器将第二原数据文件和第二降码数据文件存储到存储仓库中,以及将第二原数据文件的fileid和第二降码数据文件的fileid的关联信息更新到秒传索引中。
其中,本发明实施例中服务器还可以根据秒传索引解决现有技术中对同一个原数据文件进行二次降码所增加的服务器负荷。举例说明,服务器从数据文件库中爬取到第二原数据文件,服务器根据第二原数据文件从存储仓库中查询秒传索引,若秒传索引中记录有第二原数据文件的fileid,则服务器将第二原数据文件丢弃,从数据文件库中继续爬取到第三原数据文件。本发明实施例中服务器在第二原数据文件存储到存储仓库之前也可以先查询秒传索引,对于命中秒传索引的情况,服务器不再对第二原数据文件进行二次降码。举例说明,服务器可以基于申请上传时秒传命中的流水统计分析热点视频,根据视频类型过滤降码视频流水,解决降码视频被识别为热点视频之后二次降码的问题。
在本发明实施例中对于存储仓库中预先有的多个原数据文件,秒传索引用于记录多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,服务器根据第一客户端发送的申请上传请求查询该秒传索引,从而根据秒传索引的命中情况确定在存储仓库中是否已经存储了第一原数据文件。若存储仓库中已经存储了第一原数据文件并且对该第一原数据文件完成了降码处理,则可以继续执行后续步骤103至步骤105。
在本发明的一些实施例中,步骤102服务器根据申请上传请求从存储仓库中查询秒传索引之后,除了执行后续步骤103至步骤105之外,本发明实施例提供的数据文件的降码处理方法还可以包括如下步骤:
C1、若秒传索引中记录有第一原数据文件的第一fileid且存储仓库中不存在与第一原数据文件对应的第一降码数据文件,服务器向第一客户端发送第二秒传命中指令,第二秒传命中指令包括:第一fileid,由第一客户端将第一fileid发送给第二客户端;
C2、服务器接收第二客户端发送的第二申请下载请求,第二申请下载请求包括:第二客户端获取到的第一fileid;
C3、服务器根据第一fileid从存储仓库中获取到第一原数据文件,并向第二客户端发送第一原数据文件。
其中,在步骤C1至步骤C3所示的场景下,若秒传索引中记录有第一原数据文件的第一fileid且存储仓库中不存在与第一原数据文件对应的第一降码数据文件,服务器直接向第一客户端返回的是第二秒传命中指令,第一客户端接收到该第二秒传命中指令就可以确定已经“秒传”成功,第一客户端不需要再上传第一原数据文件到服务器,从而降低了第一客户端的上传时延并节省上传流量。在存储仓库中不存在与第一原数据文件对应的第一降码数据文件时,说明服务器没有对该第一原数据文件完成重新编码,此时服务器向第一客户端发送第二秒传命中指令,第二秒传命中指令包括:第一fileid,由第一客户端将第一fileid发送给第二客户端。服务器接收第二客户端发送的第二申请下载请求,第二申请下载请求包括:第二客户端获取到的第一fileid,服务器根据第一fileid从存储仓库中获取到第一原数据文件,并向第二客户端发送第一原数据文件。本发明实施例中服务器使用第一fileid从存储仓库中获取到第一原数据文件,服务器为第二客户端下载数据文件时不需要执行下载阶段查询关联信息的步骤,因此第二客户端在请求下载时就不需要再查询上述的关联信息,因此在每次用户请求下载时省去了查询关联信息的步骤,因此可以降低用户的下载时延。
在本发明的一些实施例中,步骤102服务器根据申请上传请求从存储仓库中查询秒传索引之后,除了执行后续步骤C1至步骤C3之外,本发明实施例提供的数据文件的降码处理方法还可以包括如下步骤:
D1、若根据申请上传请求没有查询到秒传索引,服务器向第一原数据文件分配第三fileid,并向第一客户端返回第三fileid;
D2、服务器接收第一客户端根据第三filedid发送的第一原数据文件,并将第一原数据文件重新编码为第一降码数据文件;
D3、服务器将第一原数据文件和第一降码数据文件存储到存储仓库中,以及将第一原数据文件的第三fileid和第一降码数据文件的第二fileid的关联信息更新到秒传索引中;
D4、服务器向第一客户端发送上传成功指令,上传成功指令包括:第二fileid。
其中,在存储仓库中没有记录第一原数据文件时,根据申请上传请求无法命中秒传索引,服务器向第一原数据文件分配第三fileid,并向第一客户端返回第三fileid,第一客户端根据第三filedid向服务器发送第一原数据文件,服务器接收稿第一原数据文件之后,重新编码为第一降码数据文件,服务器将第一原数据文件和第一降码数据文件存储到存储仓库中,以及将第一原数据文件的第三fileid和第一降码数据文件的第二fileid的关联信息更新到秒传索引中,从而使得后续再有客户端申请上传第一原数据文件时能够命中该秒传索引,服务器向第一客户端发送上传成功指令,上传成功指令包括:第二fileid,第一客户端可以将该第二fileid再分享给第二客户端,从而第二客户端可以向第二服务器发送第二申请下载请求,服务器的处理方式详见后续步骤104至步骤105中的说明。
在本发明的一些实施例中,步骤102服务器根据申请上传请求从存储仓库中查询秒传索引,包括:
E1、服务器获取第一原数据文件的消息摘要算法第五版(Message DigestAlgorithm 5,MD5)值;
E2、服务器根据第一原数据文件的MD5值从存储仓库中查询秒传索引。
其中,服务器接收到第一客户端发送的申请上传请求之后,从该申请上传请求中获取到第一原数据文件的MD5值,服务器根据第一原数据文件的MD5值从存储仓库中查询秒传索引,从而通过MD5的计算与匹配从而确定该第一原视频文件是否命中秒传索引。举例说明,服务器根据原视频文件的MD5值,查询秒传索引中是否有该原视频文件的记录,从而确定后续步骤是否执行步骤103。
103、若秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,服务器向第一客户端发送第一秒传命中指令,第一秒传命中指令包括:第二fileid,由第一客户端将第二fileid发送给第二客户端。
在本发明实施例中,若秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,则说明服务器已经在存储仓库中预先存储了第一原数据文件并且对该第一原数据文件完成了降码处理,将第一原数据文件重新编码后的数据文件定义为第一降码数据文件,若第一原数据文件在存储仓库中的存储位置对应的文件标识为第一fileid,第一降码数据文件在存储仓库中的存储位置对应的文件标识为第二fileid,则在秒传索引中就记录了第一fileid和第二fileid之间的关联信息。若根据第一客户端的申请上传请求命中了查询索引,服务器向第一客户端发送第一秒传命中指令,第一秒传命中指令包括:第二fileid,由第一客户端将第二fileid发送给第二客户端。由于服务器发送的第一秒传命中指令中包括的是第一降码数据文件的第二fileid,则第一客户端可以将该第二fileid发送给第二客户端,以使第二客户端能够根据该第二fileid完成数据文件的下载。
在本发明实施例中,若秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,服务器直接向第一客户端返回的是第一秒传命中指令,第一客户端接收到该第一秒传命中指令就可以确定已经“秒传”成功,第一客户端不需要再上传第一原数据文件到服务器,从而降低了第一客户端的上传时延并节省上传流量。
104、服务器接收第二客户端发送的第一申请下载请求,第一申请下载请求包括:第二客户端获取到的第二fileid。
在本发明实施例中,第二客户端通过第一客户端获取到第一客户端分享的第二fileid之后,第二客户端发送第一申请下载请求给服务器,该第一申请下载请求携带有第二客户端获取到的第二fileid,服务器根据该第一申请下载请求确定第二客户端需要下载的数据文件的fileid。
105、服务器根据第二fileid从存储仓库中获取到第一降码数据文件,并向第二客户端发送第一降码数据文件。
在本发明实施例中,服务器从第一申请下载请求获取到第二fileid之后,服务器根据该第二fileid从存储仓库中获取到第一降码数据文件,并向第二客户端发送第一降码数据文件,第二客户端从该服务器接收到第一降码数据文件。本发明实施例中服务器使用第二fileid从存储仓库中获取到第一降码数据文件,服务器为第二客户端下载数据文件时不需要执行下载阶段查询关联信息的步骤,因此第二客户端在请求下载时就不需要再查询上述的关联信息,因此在每次用户请求下载时省去了查询关联信息的步骤,因此可以降低用户的下载时延。另外,本发明实施例中由于可以省去为第二客户端查询关联信息的步骤,因此当有多个第二客户端向本发明实施例提供的服务器发起申请下载请求时,也可以省去多次查询关联信息的步骤,减少服务器的多次查询所增加的负荷。
通过以上实施例对本发明实施例的描述可知,服务器接收第一客户端发送的申请上传请求,申请上传请求用于向服务器请求上传第一原数据文件,服务器根据申请上传请求从存储仓库中查询秒传索引,秒传索引用于记录预先存储到存储仓库中的多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,服务器向第一客户端发送第一秒传命中指令,第一秒传命中指令包括:第二fileid,由第一客户端将第二fileid发送给第二客户端,服务器接收第二客户端发送的第一申请下载请求,第一申请下载请求包括:第二客户端获取到的第二fileid,服务器根据第二fileid从存储仓库中获取到第一降码数据文件,并向第二客户端发送第一降码数据文件。本发明实施例中服务器根据申请上传请求查询到秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息时,服务器返回的是第一降码数据文件的第二fileid,而不是第一原数据文件的第一fileid,从而第二客户端在请求下载时就不需要再查询上述的关联信息,因此在每次用户请求下载时省去了查询关联信息的步骤,因此可以降低用户的下载时延。另外本发明实施例中存储仓库中预先存储有多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若根据申请上传请求命中秒传索引,第一客户端不需要再上传第一原数据文件到服务器,从而降低了第一客户端的上传时延并节省上传流量。另外,本发明实施例中由于可以省去为第二客户端查询关联信息的步骤,因此当有多个第二客户端向本发明实施例提供的服务器发起申请下载请求时,也可以省去多次查询关联信息的步骤,减少服务器的多次查询所增加的负荷。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
本发明实施例中以数据文件具体为视频文件为例进行举例说明,本发明实施例中可以基于申请信令的方式实现视频文件的上传下载,后台建立基于视频文件的秒传索引,在秒传索引中记录热点视频与降码视频的关联信息。用户A发送申请上传请求,服务器查询秒传索引,基于查询结果返回原视频文件是否存在和视频文件的fileid信息,如果原视频文件存在且关联有降码视频,用户A直接通知用户B使用降码视频的fileid去下载,用户B可以从服务器下载到降码视频。本发明实施例中,服务器一侧使用存储仓库,在秒传索引中可以预先记录热视频文件与降码视频的关联关系,客户端1申请上传阶段秒传命中后无需再继续上传原视频文件,客户端1向客户端2分享服务器返回的降码视频fileid,通知客户端2可以直接下载降码视频。
请参阅图3所示,图3为本发明实施例提供的服务器执行视频文件的上传下载流程示意图。本发明实施例中主要是基于申请信令查询秒传索引的方式实现视频文件的上传下载,具体方法为:
步骤1:用户A使用客户端1向服务器中的信令模块发送申请上传请求。
步骤2:服务器中的信令模块向存储仓库查询秒传索引。
步骤3:若命中秒传索引,存储仓库向信令模块返回索引信息。
步骤4:信令模块向用户A返回原视频文件存在和降码视频的fileid信息。
步骤5:用户A使用客户端1向用户B的客户端2通知降码视频的fileid信息。
步骤6:用户B使用客户端2向服务器的上传下载模块发送申请下载请求。
步骤7:上传下载模块向存储仓库发送申请下载请求。
步骤8:存储仓库向上传下载模块回复降码视频。
步骤9:上传下载模块向用户B返回降码视频。
在上述实现场景下,信令模块接收到申请上传请求后访问存储仓库查询秒传索引,秒传命中后基于索引信息中是否关联降码信息返回原视频文件的fileid或降码视频的fileid,上传用户A通知下载用户B下载该fileid对应的视频,上传下载模块接收到用户B的下载请求后去存储仓库获取视频文件,存储仓库返回数据后将数据透传给用户B。
在上述实现场景下,服务器将某视频被识别为热视频后,对原视频文件转码,存储新生成的降码视频,然后在秒传索引中记录原视频的fileid到降码视频的fileid的关联信息,创建降码视频的秒传索引并记录降码视频fileid到原视频fileid的关联信息。服务器接收到用户A的申请上传信令请求后查该视频文件是否命中秒传索引。如果命中秒传索引且存在关联索引则返回原视频文件存在和降码视频fileid信息给用户A,如果命中秒传索引且不存在关联索引则返回原视频文件存在和原视频fileid信息给用户A,如果不命中秒传索引则返回原视频文件不存在并分配一个新的fileid给用户A。如果原视频文件已存在,用户A秒传命中,直接通知用户B使用申请信令返回的fileid下载文件,否则用户A先使用fileid上传文件,然后通知用户B使用fileid下载文件。最后用户B请求服务器下载视频文件,服务器返回fileid对应的文件。
通过前述的举例说明可知,本发明实施例中服务器使用秒传索引,用户转发或发送已经上传的视频时,申请上传阶段查秒传命中,不会再上传视频文件到后台,降低了上传时延并节省上传流量。基于秒传索引建立原视频文件和降码视频的关联信息,在申请上传阶段返回实际下载视频的fileid,现有技术在下载时需要查询关联索引,相比该现有技术,本发明实施例中服务器减少了一次下载阶段的查询,节省了下载时延。群聊场景下下载次数是上传的数十倍,在申请上传阶段查询秒传索引,解决了下载阶段查询索引的读请求放大问题。一个热文件上传,对应下载次数在数百次以上,现有技术中每个用户在下载阶段都需要查询索引,因此会查询数百次,本发明实施例中服务器不需要查询关联索引就可以为用户下载到视频文件。本发明实施例中还可以在申请上传阶段可通过秒传索引判断视频类型:降码视频、降码原视频、未降码的普通视频,从而可以灵活配置下载策略,并兼容老客户端的下载。在热视频识别方面,可基于申请上传时秒传命中的流水统计分析热点视频,根据视频类型过滤降码视频流水,解决降码视频被识别为热点后二次降码的问题。这里的流水指申请上传时秒传命中的流水,过滤掉降码视频秒传命中的流水,防止再次被识别为热点视频后重新进行降码处理导致二次降码。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图4-a所示,本发明实施例提供的一种服务器400,可以包括:接收模块401、秒传索引查询模块402、发送模块403、文件下载模块404,其中,
接收模块401,用于接收第一客户端发送的申请上传请求,所述申请上传请求用于向服务器请求上传第一原数据文件;
秒传索引查询模块402,用于根据所述申请上传请求从存储仓库中查询秒传索引,所述秒传索引用于记录预先存储到所述存储仓库中的多个原数据文件的文件标识fileid和相应的降码数据文件的fileid的关联信息;
发送模块403,用于若所述秒传索引中记录有所述第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,向所述第一客户端发送第一秒传命中指令,所述第一秒传命中指令包括:所述第二fileid,由所述第一客户端将所述第二fileid发送给第二客户端;
所述接收模块401,还用于接收所述第二客户端发送的第一申请下载请求,所述第一申请下载请求包括:所述第二客户端获取到的所述第二fileid;
文件下载模块404,用于根据所述第二fileid从所述存储仓库中获取到所述第一降码数据文件,并向所述第二客户端发送所述第一降码数据文件。
在本发明的一些实施例中,所述发送模块403,还用于所述秒传索引查询模块根据所述申请上传请求从存储仓库中查询秒传索引之后,若所述秒传索引中记录有所述第一原数据文件的第一fileid且所述存储仓库中不存在与所述第一原数据文件对应的第一降码数据文件,向所述第一客户端发送第二秒传命中指令,所述第二秒传命中指令包括:所述第一fileid,由所述第一客户端将所述第一fileid发送给第二客户端;
所述接收模块401,还用于接收所述第二客户端发送的第二申请下载请求,所述第二申请下载请求包括:所述第二客户端获取到的所述第一fileid;
所述文件下载模块404,还用于根据所述第一fileid从所述存储仓库中获取到所述第一原数据文件,并向所述第二客户端发送所述第一原数据文件。
在本发明的一些实施例中,请参阅图4-b所示,所述服务器400,还包括:标识分配模块405、第一降码模块406、第一存储模块407,其中,
所述标识分配模块405,用于所述秒传索引查询模块402根据所述申请上传请求从存储仓库中查询秒传索引之后,若根据所述申请上传请求没有查询到秒传索引,向所述第一原数据文件分配第三fileid,并向所述第一客户端返回所述第三fileid;
所述接收模块401,还用于接收所述第一客户端根据所述第三filedid发送的第一原数据文件;
所述第一降码模块406,用于将所述第一原数据文件重新编码为第一降码数据文件;
所述第一存储模块407,用于将所述第一原数据文件和所述第一降码数据文件存储到所述存储仓库中,以及将所述第一原数据文件的第三fileid和所述第一降码数据文件的第二fileid的关联信息更新到所述秒传索引中;
所述发送模块403,还用于向所述第一客户端发送上传成功指令,所述上传成功指令包括:所述第二fileid。
在本发明的一些实施例中,请参阅图4-c所示,相对于图4-a所示,所述服务器400,还包括:第一爬取模块408、第二降码模块409、第二存储模块410,其中,
所述第一爬取模块408,用于所述接收模块401接收第一客户端发送的申请上传请求之前,从数据文件库中爬取到多个原数据文件;
所述第二降码模块409,用于对所述多个原数据文件分别进行重新编码,得到多个降码数据文件;
所述第二存储模块410,用于将所述多个原数据文件和所述多个降码数据文件存储到所述存储仓库中,以及将所述多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息更新到所述秒传索引中。
进一步的,在本发明的一些实施例中,所述第一爬取模块408,具体用于从数据文件库中爬取到下载量大于下载阈值的多个原数据文件。
在本发明的一些实施例中,请参阅图4-d所示,相对于图4-a所示,所述服务器400,还包括:第二爬取模块411、第三降码模块412、第三存储模块413,其中,
所述第二爬取模块411,用于从数据文件库中爬取到第二原数据文件;
所述秒传索引查询模块402,还用于根据所述第二原数据文件从所述存储仓库中查询秒传索引;
所述第二爬取模块411,还用于若所述秒传索引中记录有所述第二原数据文件的fileid,则将所述第二原数据文件丢弃,从所述数据文件库中继续爬取到第三原数据文件;
所述第三降码模块412,用于若根据所述第二原数据文件没有查询到秒传索引,将所述第二原数据文件重新编码为第二降码数据文件;
所述第三存储模块413,用于将所述第二原数据文件和所述第二降码数据文件存储到所述存储仓库中,以及将所述第二原数据文件的fileid和所述第二降码数据文件的fileid的关联信息更新到所述秒传索引中。
在本发明的一些实施例中,所述秒传索引查询模块402,具体用于获取所述第一原数据文件的消息摘要算法第五版MD5值;根据所述第一原数据文件的MD5值从所述存储仓库中查询秒传索引。
通过以上对本发明实施例的描述可知,服务器接收第一客户端发送的申请上传请求,申请上传请求用于向服务器请求上传第一原数据文件,服务器根据申请上传请求从存储仓库中查询秒传索引,秒传索引用于记录预先存储到存储仓库中的多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,服务器向第一客户端发送第一秒传命中指令,第一秒传命中指令包括:第二fileid,由第一客户端将第二fileid发送给第二客户端,服务器接收第二客户端发送的第一申请下载请求,第一申请下载请求包括:第二客户端获取到的第二fileid,服务器根据第二fileid从存储仓库中获取到第一降码数据文件,并向第二客户端发送第一降码数据文件。本发明实施例中服务器根据申请上传请求查询到秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息时,服务器返回的是第一降码数据文件的第二fileid,而不是第一原数据文件的第一fileid,从而第二客户端在请求下载时就不需要再查询上述的关联信息,因此在每次用户请求下载时省去了查询关联信息的步骤,因此可以降低用户的下载时延。另外本发明实施例中存储仓库中预先存储有多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若根据申请上传请求命中秒传索引,第一客户端不需要再上传第一原数据文件到服务器,从而降低了第一客户端的上传时延并节省上传流量。另外,本发明实施例中由于可以省去为第二客户端查询关联信息的步骤,因此当有多个第二客户端向本发明实施例提供的服务器发起申请下载请求时,也可以省去多次查询关联信息的步骤,减少服务器的多次查询所增加的负荷。
图5是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的数据文件的降码处理方法步骤可以基于该图5所示的服务器结构。
通过前述的举例说明可知,本发明实施例中服务器根据申请上传请求查询到秒传索引中记录有第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息时,服务器返回的是第一降码数据文件的第二fileid,而不是第一原数据文件的第一fileid,从而第二客户端在请求下载时就不需要再查询上述的关联信息,因此在每次用户请求下载时省去了查询关联信息的步骤,因此可以降低用户的下载时延。另外本发明实施例中存储仓库中预先存储有多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息,若根据申请上传请求命中秒传索引,第一客户端不需要再上传第一原数据文件到服务器,从而降低了第一客户端的上传时延并节省上传流量。另外,本发明实施例中由于可以省去为第二客户端查询关联信息的步骤,因此当有多个第二客户端向本发明实施例提供的服务器发起申请下载请求时,也可以省去多次查询关联信息的步骤,减少服务器的多次查询所增加的负荷。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种数据文件的降码处理方法,其特征在于,包括:
服务器接收第一客户端发送的申请上传请求,所述申请上传请求用于向服务器请求上传第一原数据文件;
所述服务器根据所述申请上传请求从存储仓库中查询秒传索引,所述秒传索引用于记录预先存储到所述存储仓库中的多个原数据文件的文件标识fileid和相应的降码数据文件的fileid的关联信息;
若所述秒传索引中记录有所述第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,所述服务器向所述第一客户端发送第一秒传命中指令,所述第一秒传命中指令包括:所述第二fileid,由所述第一客户端将所述第二fileid发送给第二客户端;
所述服务器接收所述第二客户端发送的第一申请下载请求,所述第一申请下载请求包括:所述第二客户端获取到的所述第二fileid;
所述服务器根据所述第二fileid从所述存储仓库中获取到所述第一降码数据文件,并向所述第二客户端发送所述第一降码数据文件;
其中,所述服务器接收第一客户端发送的申请上传请求之前,所述服务器将多个原数据文件和多个降码数据文件存储到所述存储仓库中,以及将多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息更新到所述秒传索引中。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述申请上传请求从存储仓库中查询秒传索引之后,所述方法还包括:
若所述秒传索引中记录有所述第一原数据文件的第一fileid且所述存储仓库中不存在与所述第一原数据文件对应的第一降码数据文件,所述服务器向所述第一客户端发送第二秒传命中指令,所述第二秒传命中指令包括:所述第一fileid,由所述第一客户端将所述第一fileid发送给第二客户端;
所述服务器接收所述第二客户端发送的第二申请下载请求,所述第二申请下载请求包括:所述第二客户端获取到的所述第一fileid;
所述服务器根据所述第一fileid从所述存储仓库中获取到所述第一原数据文件,并向所述第二客户端发送所述第一原数据文件。
3.根据权利要求1所述的方法,其特征在于,所述服务器根据所述申请上传请求从存储仓库中查询秒传索引之后,所述方法还包括:
若根据所述申请上传请求没有查询到秒传索引,所述服务器向所述第一原数据文件分配第三fileid,并向所述第一客户端返回所述第三fileid;
所述服务器接收所述第一客户端根据所述第三filedid发送的第一原数据文件,并将所述第一原数据文件重新编码为第一降码数据文件;
所述服务器将所述第一原数据文件和所述第一降码数据文件存储到所述存储仓库中,以及将所述第一原数据文件的第三fileid和所述第一降码数据文件的第二fileid的关联信息更新到所述秒传索引中;
所述服务器向所述第一客户端发送上传成功指令,所述上传成功指令包括:所述第二fileid。
4.根据权利要求1所述的方法,其特征在于,所述服务器将多个原数据文件和多个降码数据文件存储到所述存储仓库中,以及将多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息更新到所述秒传索引中之前,所述方法还包括:
所述服务器从数据文件库中爬取到多个原数据文件;
所述服务器对所述多个原数据文件分别进行重新编码,得到所述多个降码数据文件。
5.根据权利要求4所述的方法,其特征在于,所述服务器从数据文件库中爬取到多个原数据文件,包括:
所述服务器从数据文件库中爬取到下载量大于下载阈值的多个原数据文件。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
所述服务器从数据文件库中爬取到第二原数据文件;
所述服务器根据所述第二原数据文件从所述存储仓库中查询秒传索引;
若所述秒传索引中记录有所述第二原数据文件的fileid,则所述服务器将所述第二原数据文件丢弃,从所述数据文件库中继续爬取到第三原数据文件;
若根据所述第二原数据文件没有查询到秒传索引,所述服务器将所述第二原数据文件重新编码为第二降码数据文件;
所述服务器将所述第二原数据文件和所述第二降码数据文件存储到所述存储仓库中,以及将所述第二原数据文件的fileid和所述第二降码数据文件的fileid的关联信息更新到所述秒传索引中。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述服务器根据所述申请上传请求从存储仓库中查询秒传索引,包括:
所述服务器获取所述第一原数据文件的消息摘要算法第五版MD5值;
所述服务器根据所述第一原数据文件的MD5值从所述存储仓库中查询秒传索引。
8.一种服务器,其特征在于,包括:
接收模块,用于接收第一客户端发送的申请上传请求,所述申请上传请求用于向服务器请求上传第一原数据文件;
秒传索引查询模块,用于根据所述申请上传请求从存储仓库中查询秒传索引,所述秒传索引用于记录预先存储到所述存储仓库中的多个原数据文件的文件标识fileid和相应的降码数据文件的fileid的关联信息;
发送模块,用于若所述秒传索引中记录有所述第一原数据文件的第一fileid和第一降码数据文件的第二fileid的关联信息,向所述第一客户端发送第一秒传命中指令,所述第一秒传命中指令包括:所述第二fileid,由所述第一客户端将所述第二fileid发送给第二客户端;
所述接收模块,还用于接收所述第二客户端发送的第一申请下载请求,所述第一申请下载请求包括:所述第二客户端获取到的所述第二fileid;
文件下载模块,用于根据所述第二fileid从所述存储仓库中获取到所述第一降码数据文件,并向所述第二客户端发送所述第一降码数据文件;
第二存储模块,用于所述接收第一客户端发送的申请上传请求之前,将多个原数据文件和多个降码数据文件存储到所述存储仓库中,以及将多个原数据文件的fileid和相应的降码数据文件的fileid的关联信息更新到所述秒传索引中。
9.根据权利要求8所述的服务器,其特征在于,
所述发送模块,还用于所述秒传索引查询模块根据所述申请上传请求从存储仓库中查询秒传索引之后,若所述秒传索引中记录有所述第一原数据文件的第一fileid且所述存储仓库中不存在与所述第一原数据文件对应的第一降码数据文件,向所述第一客户端发送第二秒传命中指令,所述第二秒传命中指令包括:所述第一fileid,由所述第一客户端将所述第一fileid发送给第二客户端;
所述接收模块,还用于接收所述第二客户端发送的第二申请下载请求,所述第二申请下载请求包括:所述第二客户端获取到的所述第一fileid;
所述文件下载模块,还用于根据所述第一fileid从所述存储仓库中获取到所述第一原数据文件,并向所述第二客户端发送所述第一原数据文件。
10.根据权利要求8所述的服务器,其特征在于,所述服务器,还包括:标识分配模块、第一降码模块、第一存储模块,其中,
所述标识分配模块,用于所述秒传索引查询模块根据所述申请上传请求从存储仓库中查询秒传索引之后,若根据所述申请上传请求没有查询到秒传索引,向所述第一原数据文件分配第三fileid,并向所述第一客户端返回所述第三fileid;
所述接收模块,还用于接收所述第一客户端根据所述第三filedid发送的第一原数据文件;
所述第一降码模块,用于将所述第一原数据文件重新编码为第一降码数据文件;
所述第一存储模块,用于将所述第一原数据文件和所述第一降码数据文件存储到所述存储仓库中,以及将所述第一原数据文件的第三fileid和所述第一降码数据文件的第二fileid的关联信息更新到所述秒传索引中;
所述发送模块,还用于向所述第一客户端发送上传成功指令,所述上传成功指令包括:所述第二fileid。
11.根据权利要求8所述的服务器,其特征在于,所述服务器,还包括:第一爬取模块、第二降码模块,其中,
所述第一爬取模块,用于所述接收模块接收第一客户端发送的申请上传请求之前,从数据文件库中爬取到多个原数据文件;
所述第二降码模块,用于对所述多个原数据文件分别进行重新编码,得到多个降码数据文件。
12.根据权利要求11所述的服务器,其特征在于,所述第一爬取模块,具体用于从数据文件库中爬取到下载量大于下载阈值的多个原数据文件。
13.根据权利要求8至12中任一项所述的服务器,其特征在于,所述服务器,还包括:第二爬取模块、第三降码模块、第三存储模块,其中,
所述第二爬取模块,用于从数据文件库中爬取到第二原数据文件;
所述秒传索引查询模块,还用于根据所述第二原数据文件从所述存储仓库中查询秒传索引;
所述第二爬取模块,还用于若所述秒传索引中记录有所述第二原数据文件的fileid,则将所述第二原数据文件丢弃,从所述数据文件库中继续爬取到第三原数据文件;
所述第三降码模块,用于若根据所述第二原数据文件没有查询到秒传索引,将所述第二原数据文件重新编码为第二降码数据文件;
所述第三存储模块,用于将所述第二原数据文件和所述第二降码数据文件存储到所述存储仓库中,以及将所述第二原数据文件的fileid和所述第二降码数据文件的fileid的关联信息更新到所述秒传索引中。
14.根据权利要求8至12中任一项所述的服务器,其特征在于,所述秒传索引查询模块,具体用于获取所述第一原数据文件的消息摘要算法第五版MD5值;根据所述第一原数据文件的MD5值从所述存储仓库中查询秒传索引。
CN201710262437.6A 2017-04-20 2017-04-20 一种数据文件的降码处理方法和服务器 Active CN108737853B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710262437.6A CN108737853B (zh) 2017-04-20 2017-04-20 一种数据文件的降码处理方法和服务器
PCT/CN2017/115179 WO2018192236A1 (zh) 2017-04-20 2017-12-08 一种数据文件的降码处理方法和服务器
US16/504,789 US11444998B2 (en) 2017-04-20 2019-07-08 Bit rate reduction processing method for data file, and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710262437.6A CN108737853B (zh) 2017-04-20 2017-04-20 一种数据文件的降码处理方法和服务器

Publications (2)

Publication Number Publication Date
CN108737853A CN108737853A (zh) 2018-11-02
CN108737853B true CN108737853B (zh) 2021-07-13

Family

ID=63855504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710262437.6A Active CN108737853B (zh) 2017-04-20 2017-04-20 一种数据文件的降码处理方法和服务器

Country Status (3)

Country Link
US (1) US11444998B2 (zh)
CN (1) CN108737853B (zh)
WO (1) WO2018192236A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266420B (zh) * 2019-04-29 2021-02-12 北京达佳互联信息技术有限公司 时钟同步方法、时钟同步装置和计算机可读存储介质
US11601814B2 (en) * 2021-02-18 2023-03-07 T-Mobile Usa, Inc. Mitigating malware in media
CN114172890B (zh) * 2021-11-03 2024-02-27 阿里巴巴(中国)有限公司 文件秒传处理方法、装置、存储介质及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921629A (zh) * 2006-09-22 2007-02-28 杭州华为三康技术有限公司 音视频监控系统和数据压缩转储器
CN101644996A (zh) * 2009-09-25 2010-02-10 杭州华三通信技术有限公司 索引数据的存储方法和存储控制装置
CN101977218A (zh) * 2010-10-20 2011-02-16 深圳市融创天下科技发展有限公司 一种互联网播放文件转码方法和系统
CN102780728A (zh) * 2011-05-13 2012-11-14 腾讯科技(深圳)有限公司 媒体文件转码下载方法及客户端
CN103209355A (zh) * 2012-01-16 2013-07-17 腾讯科技(深圳)有限公司 多媒体转码方法和系统
CN103379362A (zh) * 2012-04-24 2013-10-30 腾讯科技(深圳)有限公司 视频点播方法和系统
CN104980479A (zh) * 2014-08-26 2015-10-14 腾讯科技(深圳)有限公司 一种文件预推送方法、相关服务器及系统
WO2016055543A1 (de) * 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum schneiden von mehreren kodierten videoströmen ohne vorherige dekodierung

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838963A (en) * 1995-10-25 1998-11-17 Microsoft Corporation Apparatus and method for compressing a data file based on a dictionary file which matches segment lengths
US8327050B2 (en) * 2005-04-21 2012-12-04 International Business Machines Corporation Systems and methods for compressing files for storage and operation on compressed files
US8264344B2 (en) * 2006-03-06 2012-09-11 Cisco Technology, Inc. Remote surveillance and intervention using wireless phone
US8832045B2 (en) * 2006-04-07 2014-09-09 Data Storage Group, Inc. Data compression and storage techniques
EP2104105A1 (en) * 2008-03-20 2009-09-23 British Telecommunications Public Limited Company Digital audio and video clip encoding
US20100245583A1 (en) * 2009-03-25 2010-09-30 Syclipse Technologies, Inc. Apparatus for remote surveillance and applications therefor
US20120102154A1 (en) * 2010-10-26 2012-04-26 Futurewei Technologies, Inc. Cloud-Based Transcoding Platform Systems and Methods
US20120150793A1 (en) * 2010-12-08 2012-06-14 Christopher Paul Carroll Systems and methods for file loading
WO2012153173A2 (en) * 2011-01-29 2012-11-15 Redthorne Media, Llc Feedback oriented private overlay network for content distribution
US9271003B2 (en) * 2011-04-15 2016-02-23 Opera Software Ireland Limited Real-time audio or video transcoding
CN102882829A (zh) * 2011-07-11 2013-01-16 腾讯科技(深圳)有限公司 一种转码方法及系统
WO2014059651A1 (zh) * 2012-10-19 2014-04-24 北京大学深圳研究生院 一种射影自修复码的编码、数据重构及修复方法
CN103780652B (zh) * 2012-10-23 2017-12-01 腾讯科技(深圳)有限公司 一种微博资源分享的方法及系统
GB2507751A (en) * 2012-11-07 2014-05-14 Ibm Storing data files in a file system which provides reference data files
CN103905474B (zh) * 2012-12-25 2017-09-26 腾讯数码(天津)有限公司 一种信息共享方法、终端、服务器及系统
CN103973730B (zh) * 2013-01-29 2016-10-19 腾讯科技(深圳)有限公司 一种实现数据共享的方法、终端及系统
EP2770642B1 (en) * 2013-02-26 2022-10-05 Tata Consultancy Services Limited Systems and methods for data archival
US9503401B1 (en) * 2014-01-31 2016-11-22 Whatsapp Inc. Automated message recall from a sender's device
CN106210611B (zh) * 2015-04-30 2019-05-03 中国电信股份有限公司 一种用于播放视频的方法、视频监控平台和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921629A (zh) * 2006-09-22 2007-02-28 杭州华为三康技术有限公司 音视频监控系统和数据压缩转储器
CN101644996A (zh) * 2009-09-25 2010-02-10 杭州华三通信技术有限公司 索引数据的存储方法和存储控制装置
CN101977218A (zh) * 2010-10-20 2011-02-16 深圳市融创天下科技发展有限公司 一种互联网播放文件转码方法和系统
CN102780728A (zh) * 2011-05-13 2012-11-14 腾讯科技(深圳)有限公司 媒体文件转码下载方法及客户端
CN103209355A (zh) * 2012-01-16 2013-07-17 腾讯科技(深圳)有限公司 多媒体转码方法和系统
CN103379362A (zh) * 2012-04-24 2013-10-30 腾讯科技(深圳)有限公司 视频点播方法和系统
CN104980479A (zh) * 2014-08-26 2015-10-14 腾讯科技(深圳)有限公司 一种文件预推送方法、相关服务器及系统
WO2016055543A1 (de) * 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum schneiden von mehreren kodierten videoströmen ohne vorherige dekodierung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于DSP的MPEG2降码率系统的实现及优化;李松南;《中国优秀硕士学位论文全文数据库》;20061231;全文 *

Also Published As

Publication number Publication date
CN108737853A (zh) 2018-11-02
WO2018192236A1 (zh) 2018-10-25
US11444998B2 (en) 2022-09-13
US20190334968A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
CN110221817B (zh) 一种数据召回模块及推荐系统
US11350139B2 (en) Video live broadcast method and apparatus
US10536498B2 (en) Managing content on an ISP cache
US8280987B2 (en) Cloud data persistence engine
CN102307210B (zh) 一种数据下载系统及其数据管理和下载方法
US9876833B2 (en) Cloud-based video delivery
US20040249965A1 (en) Node caching system for streaming media applications
CN108737853B (zh) 一种数据文件的降码处理方法和服务器
CN105872640A (zh) 一种直播视频的获取方法、装置及系统
CN105144737A (zh) 媒体分发和管理平台
AU2011203246B2 (en) Content processing between locations workflow in content delivery networks
CN110620828A (zh) 一种文件推送方法、系统、装置、电子设备及介质
CN102281320A (zh) 控制云存储中数据冗余的方法及装置
KR100823730B1 (ko) 피투피 기반의 스트리밍 서비스 제공 방법 및 장치, 이를이용한 스트리밍 서비스 시스템
US20210067606A1 (en) Request processing in a content delivery framework
CN108777802B (zh) 一种缓存vr视频的方法和装置
CN110895583B (zh) 数据资源获取的方法、装置和系统
US10327133B2 (en) Making subscriber data addressable as a device in a mobile data network
WO2017096886A1 (zh) 内容推送的方法、装置以及系统
CN111190861A (zh) 热点文件管理方法、服务器及计算机可读存储介质
CN110392283A (zh) 一种节目分发方法、装置、服务器及存储介质
CN110636092B (zh) 一种内容访问系统、方法及内容服务器
US10516723B2 (en) Distributing subscriber data in a mobile data network
US20230099823A1 (en) System for privately sharing verified video
KR101434920B1 (ko) 자원 공유 방법 및 그를 수행하는 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant