一种数据的分发方法及装置的制造方法

文档序号:8500068阅读:347来源:国知局
一种数据的分发方法及装置的制造方法
【技术领域】
[0001] 本发明设及互联网技术领域,特别设及一种数据的分发方法及装置。
【背景技术】
[0002] 在视频数据处理技术中,服务器需要从多个客户端接收视频数据和视频数据的相 关文件,相关文件可W为视频数据的描述文件,然后服务器对数据进行存储、建立索引等处 理。
[0003] 当同时有成千上万的客户端给服务器发送数据时,给服务器的存储容量和处理能 力都带来巨大的挑战。

【发明内容】

[0004] 本发明提供一种数据的分发方法及装置,用W将数据分发给多个服务器,W减少 主服务器的工作负荷。
[0005] 一方面,提供一种数据的分发方法,包括:
[0006] 接收至少一条实例数据;
[0007] 将至少一条所述实例数据记录在队列中;
[000引从所述队列中依次获取至少一条所述实例数据;
[0009] 将至少一条所述实例数据分发到至少一个服务器的一分表中,使得所述实例数据 存储在所述服务器的所述分表中。
[0010] 所述将至少一条所述实例数据分发到至少一个服务器的一分表中的步骤包括:
[0011] 根据所述实例数据的ID与所述服务器之间的对应关系W及所述实例数据的ID与 所述分表之间的对应关系,将至少一条所述实例数据分发到至少一个服务器的一分表中。
[0012] 所述根据所述实例数据的ID与所述服务器之间的对应关系W及所述实例数据的 ID与所述分表之间的对应关系,将至少一条所述实例数据分发到至少一个服务器的一分表 中的步骤之前,所述方法还包括:
[0013] 建立所述实例数据的ID与所述服务器之间的对应关系W及所述实例数据的ID与 所述分表之间的对应关系。
[0014] 所述建立所述实例数据的ID与所述服务器之间的对应关系W及所述实例数据的 ID与所述分表之间的对应关系的步骤包括:
[0015] 对所述实例数据的ID,进行hash算法,生成ID的哈希值;
[0016] 建立所述哈希值与所述服务器的标识之间的对应关系;
[0017] 建立所述哈希值与所述分表的标识之间的对应关系。
[0018] 所述建立所述哈希值与所述服务器的标识之间的对应关系的步骤包括:
[0019] 根据哈希值的数量级,建立所述哈希值与所述服务器的标识之间的对应关系。
[0020] 所述一条实例数据为一视频文件的一描述文件。
[0021] 另一方面,本发明还提供一种数据的分发装置,包括:
[0022] 接收单元,接收至少一条实例数据;
[0023] 记录单元,将至少一条所述实例数据记录在队列中;
[0024] 获取单元,从所述队列中依次获取至少一条所述实例数据;
[0025] 分发单元,将至少一条所述实例数据分发到至少一个服务器的一分表中,使得所 述实例数据存储在所述服务器的所述分表中。
[0026] 所述分发单元具体为:
[0027] 根据所述实例数据的ID与所述服务器之间的对应关系W及所述实例数据的ID与 所述分表之间的对应关系,将至少一条所述实例数据分发到至少一个服务器的一分表中。 [002引所述的装置,还包括:
[0029] 建立单元,建立所述实例数据的ID与所述服务器之间的对应关系W及所述实例 数据的ID与所述分表之间的对应关系。
[0030] 所述建立单元包括:
[003U 生成单元,对所述实例数据的ID,进行hash算法,生成ID的哈希值;
[0032] 第一建立单元,建立所述哈希值与所述服务器的标识之间的对应关系;
[0033] 第二建立单元,建立所述哈希值与所述分表的标识之间的对应关系。
[0034] 本发明中,当主服务器接收实例数据后,将所述实例数据分发到至少一个其他服 务器的一分表中,使得所述实例数据存储在所述其他服务器的所述分表中,后续其他服务 器进行数据处理、建立索引等,使数据均匀地分布在集群数据服务器中,能够减少海量大数 据的存储与快速读取带来的问题,减少主服务器的工作负荷,提高后续对数据的处理速度。
[0035] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、W及附图中所特别指出的结构来实现和获得。
[0036] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0037] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[003引图1为本发明实施例中一种数据的分发方法的流程图;
[0039] 图2为本发明实施例中一种数据的分发装置的连接示意图。
【具体实施方式】
[0040] W下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实 施例仅用于说明和解释本发明,并不用于限定本发明。
[0041] 如图1所示,为本发明所述的一种数据的分发方法的一实施例,包括:
[0042] 步骤S11,接收至少一条实例数据;所述一条实例数据可W为一视频文件的一描 述文件。描述文件可W包括;视频的分段地址、视频资源的标题、视频资源的摘要、视频资源 的视频地址、数据资源的用户ID信息。
[0043] 步骤S12,将至少一条所述实例数据记录在队列中;
[0044] 步骤S13,从所述队列中依次获取至少一条所述实例数据;
[0045] 步骤S14,将至少一条所述实例数据分发到至少一个服务器的一分表中,使得所述 实例数据存储在所述服务器的所述分表中。其中,步骤S14包括;根据所述实例数据的ID, hash计算出与所述服务器之间的对应关系W及所述实例数据与所述分表之间的对应关系, 将至少一条所述实例数据分发到至少一个服务器的一分表中。例如,实例数据的ID为ed3 f433d-bbl9-60f4-2e98-afc6d747cdc6,根据ID,进行hash计算,得到对应服务器1W及服 务器1中的分表2,则将实例数据分发到服务器1中的分表2中进行存储,W对实施数据进 行后续的其他处理(存储、数据处理、建立索引等)。
[0046] 其中,实例数据和服务器之间的关系为多对一或一对一的关系,也就是说,不同的 实例数据可W放到同一服务器中,实例数据和服务器分表之间的关系为多对一或者一对一 的关系。也就是说同一实例数据,可W存储在同一类实例下的数据分表中。例如,实例电视 数据和实例专辑数据,它们可W存储到各自类下的分表中。
[0047] 本发明中,当主服务器接收实例数据后,将所述实例数据分发到至少一个其他服 务器的一分表中,使得所述实例数据存储在所述其他服务器的所述分表中,后续其他服务 器进行数据处理、建立索引等,能够减少主服务器的工作负荷,提高后续对数据的处理速 度。
[0048] 其中,步骤S14之前,所述方法还包括:
[0049] 步骤S10,建立所述实例数据ID与所述服务器之间的对应关系W及所述实例数据 ID与所述分表之间的对应关系。
[0050] 其中,步骤S10包括;
[0化1] 步骤101,对所述实例数据ID,进行哈希hash算法,生成哈希值;
[0化2] 步骤102,建立所述哈希值与所述服务器的标识之间的对应关系;该步骤具体为: 根据哈希值的数量级,建立所述哈希值与所述服务器的标识之间的对应关系。例如,哈希值 在0-1W的范围内的实例数据对应服务器1,哈希值在1W-2W的范围内的实例数据对应服务 器2。该样,通过实例数据ID的哈希值的数量级可W确定服务器。
[0化3]步骤103,建立所述哈希值与所述分表的标识之间的对应关系。
[0化4] 本发明中,通过hash算法,能够使得数据比较均匀地分配给各个服务器的各个分 表中。
[005引如图2所示,为本发明所述的一种数据的分发装置,包括:
[0化6] 接收单元21,接收至少一条实例数据;
[0化7] 记录单元22,将至少一条所述实例数据记录在队列中;
[0化引获取单元23,从所述队列中依次获取至少一条所述实例数据;
[0化9] 分发单元24,将至少一条所述实例数据分发到至少一个服务器的一分表中,使得 所述实例数据存储在所述服务器的所述分表中。
[0060] 所述分发单元24具体为:
[0061] 根据所述实例数据ID,进行hash计算出
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1