数据加载的方法、装置及系统的制作方法

文档序号:8472988阅读:259来源:国知局
数据加载的方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别是涉及一种数据加载的方法、装置及系统。
【背景技术】
[0002]基于互联网云技术的发展,大数据越来越受到关注。伴随着数据挖掘维度的增加、覆盖用户量的增大,挖掘到有价值的数据量也在不断的增加。在实际过程中,面对海量的有价值数据,为了提高用户的使用体验以及满足系统的性能,会将数据分别部署到多个机房或多个数据库中,用于承担不同用户的查询需求。例如,通常可以将大量数据存储在外部的数据库(如MySQL、Hbase)中,并定时进行更新。
[0003]现有技术中,对于多机房数据加载的场景,需要将待加载的数据块落地到跳板机的磁盘中,并由跳板机将磁盘化的数据块分别加载到各个机房中。
[0004]在上述数据加载的过程中,发明人发现:跳板机对多个机房的数据加载过程是串行实现的,即跳板机向一个机房加载数据后再向另一个机房进行数据加载。当实际应用中机房数量较多时,由于跳板机与机房之间的网络输入输出(Input/Output,简称网络I/O)接口资源有限,因此,数据加载过程耗时较长,影响系统的运行效率。

【发明内容】

[0005]有鉴于此,本发明提出了一种数据加载的方法、装置及系统,主要目的在于解决跨机房数据加载效率低的问题。
[0006]依据本发明的第一个方面,本发明提供了一种数据加载的方法,该方法包括:
[0007]将中转设备中的数据块发送至主机房中,主机房中包含多组加载机,其中,加载机的组数与从机房的个数相同,每组加载机的数量与对应从机房中的二级服务器数量相同;
[0008]通过主机房将数据块分别写入到各组的每个加载机中;
[0009]将加载机中的数据块写入到从机房中与加载机对应的二级服务器中。
[0010]依据本发明的第二个方面,本发明提供了一种数据加载的方法,该方法主要针对主机房一侧,包括:
[0011]主机房中控服务器接收中转设备发送的数据块;
[0012]主机房中控服务器将接收到的数据块分别写入到主机房中的各组加载机中,其中,主机房中包含多组加载机,加载机的组数与从机房的个数相同,每组加载机的数量与对应从机房中的二级服务器数量相同;
[0013]主机房中控服务器通过加载机将数据块写入到从机房中与加载机对应的二级服务器中。
[0014]依据本发明的第三个方面,本发明提供了一种数据加载的装置,该装置可以位于主机房中,包括:
[0015]接收单元,用于接收中转设备发送的数据块;
[0016]写入单元,用于将接收单元接收到的数据块分别写入到主机房中的各组加载机中,其中,主机房中包含多组加载机,加载机的组数与从机房的个数相同,每组加载机的数量与对应从机房中的二级服务器数量相同;
[0017]控制单元,用于控制加载机将写入单元写入的数据块写入到从机房中与加载机对应的二级服务器中。
[0018]依据本发明的第四个方面,本发明提供了一种数据加载的系统,该系统包括:
[0019]中转设备、主机房及从机房,其中主机房中包含主机房中控服务器及多组加载机,从机房中包含二级服务器,加载机的组数与从机房的个数相同,每组加载机的数量与对应从机房中的二级服务器数量相同;
[0020]中转设备,用于将数据块发送至主机房中控服务器;
[0021]主机房中控服务器,用于将中转设备发送的数据块分别写入到各组的每个加载机中;
[0022]加载机,用于将主机房中控服务器写入的数据块写入到从机房中与加载机对应的二级服务器中。
[0023]借由上述技术方案,本发明实施例提供的数据加载的方法,装置及系统,能够将中转设备中的数据块发送至主机房中,通过主机房将数据块分别写入到主机房内的各组加载机中,再由各组加载机将数据块写入到从机房中与加载机对应的二级服务器。与现有技术中由中转设备顺序推送数据到不同机房的方式相比,本发明由主机房负责数据的加载,通过主机房内的多组加载机并行向多个从机房中的二级服务器推送数据,中转设备只需将数据发送至主机房即可,由于中转设备只涉及一次数据加载过程,因此可以大大节省I/o的资源占用,从而能够提高跨机房环境下的数据加载效率。
[0024]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0025]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0026]图1示出了本发明实施例提供的一种数据加载的方法的流程图;
[0027]图2示出了本发明实施例提供的中转设备以一种方式发送数据块的示意图;
[0028]图3示出了本发明实施例提供的中转设备以一种方式发送数据分片的示意图;
[0029]图4示出了本发明实施例提供的中转设备以另一种方式发送数据分片的示意图;
[0030]图5示出了本发明实施例提供的以一种规则切片得到的数据分片的示意图;
[0031]图6示出了本发明实施例提供的以另一种规则切片得到的数据分片的示意图;
[0032]图7示出了本发明实施例提供的以另一种规则切片得到的数据分片的示意图;
[0033]图8示出了本发明实施例提供的主机房以一种方式向加载机写入数据的示意图;
[0034]图9示出了本发明实施例提供的主机房以另一种方式向加载机写入数据的示意图;
[0035]图10示出了本发明实施例提供的主机房以另一种方式向加载机写入数据的示意图;
[0036]图11示出了本发明实施例提供的一种数据加载的方法的流程图;
[0037]图12示出了本发明实施例提供的一种数据加载的装置的结构示意图;
[0038]图13示出了本发明实施例提供的另一种数据加载的装置的结构示意图;
[0039]图14示出了本发明实施例提供的一种数据加载的系统的示意图。
【具体实施方式】
[0040]下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0041]基于互联网云技术的发展,人们可以通过各种数据系统查询并使用海量的有价值数据,为了提高用户的使用体验以及满足系统的性能,数据通常分别部署在多个机房中,用于承担不同用户的查询需求。面对海量数据的更新,如果对大量机房一个个的更新数据,则会使数据更新时间过长;同时,中转设备将海量数据顺序推送给大量机房的过程中,也会严重占用中转设备的处理资源,因此这种方式在实际应用中的效果并不理想。为了解决跨机房环境下的数据加载效率低下的问题,本发明实施例提供了一种数据加载的方法,如图1所示,该方法包括:
[0042]101、中转设备将数据块发送至主机房中。
[0043]中转设备可以登录到目标设备进行维护,即可以将中转设备看作是一台服务器,它能够将系统内的海量数据落地到本地磁盘,然后将磁盘化的数据推送到各个机房中,在实际应用中,该中转设备可以是跳板机或者堡皇机;而主机房可以作为数据推送的中心,即由主机房向其他机房(从机房)推送数据。该主机房中包含有多组加载机,其中加载机的组数与从机房的个数相同。从机房中包含有大量二级服务器,其中二级服务器的数量与对应的主机房中每组加载机的数量相同。此种方式能够极大的缓解中转设备频繁向各个机房推送数据时造成的处理资源的过度占用。
[0044]进一步的,在中转设备将数据块发送至主机房的过程中,可以有不同的实现方式,这些实现方式可以包括:
[0045]I)中转设备将落地到本地磁盘的数据块发送至主机房中,如图2所示。
[0046]这种将数据块发送至主机房的实现方式虽然能够减小创建和维护数据推送进程的资源开销,但是由于数据块的数据量过大,还是会导致数据发送的时间过长。
[0047]2)中转设备将落地到本地磁盘的数据块切片后以单个进程向主机房串行发送数据分片,如图3所示。
[0048]这种将数据块切片后以单个进程向主机房串行发送数据分片的实现方式,能够减小单次发送的数据量,从而使每次发送数据的时间较短,相比于一次发送数据量较大的数据块可能造成的传输卡顿而言,通过多次发送小数据量的数据分片的方式能够更快的向主机房发送整个数据块包含的全部数据。
[0049]3)中转设备将落地到本地磁盘的数据块切片后以多个进程向主机房并行发送数据分片,如图4所示。
[0050]基于上述将数据块切片后以单个进程向主机房串行发送数据分片的方式而言,这种将数据分片以多个进程向主机房并行发送的实现方式虽然需要在创建和维护数据推送进程方面开销一定的资源,但是在不超出中转设备和主机房的处理资源的情况下,能够极大的提高向主机房发送数据的速度。
[0051]102、主机房将数据块分别写入到各组的每个加载机中。
[0052]当中转设备将数据块发送至主机房后,主机房会将接收到的数据块分别写入到各组的每个加载机中,这一步骤的结果是使每个加载机都被写入完整的数据块。
[0053]进一步的,在主机房将数据块分别写入到各组的每个加载机中时,与上述中转设备将数据块发送至主机房的实现方式类似,其实现方式可以包括:
[0054]a)当主机房接收到的是中转设备发送的数据块时,可以将该数据块以单个线程向各组的每个加载机串行发送,直至每个加载机都被写入完整的数据块。
[0055]b)当主机房接收到的是中转设备发送的数据块时,可以将该数据块以多个线程并行向各组的每个加载机发送,直至每个加载机都被写入完整的数据块。
[0056]这种以多个线程并行向各组加载机发送数据块的实现方式,虽然需要在创建和维护数据推送线程方面开销一定的资源,但是在不超出主机房的处理资源的情况下,能够极大的提高向加载机发送数据的速度。
[0057]c)当主机房接收到的是中转设备发送的数据块时,可以将数据块切片后获得数据分片,再将数据分片以单个线程依次向各组的每个加载机串行发送。
[0058]这种依次向加载机中写入数据量较小的数据分片的方式相对于一次向加载机中写入数据量较大的数据块而言,能够在整体上缩短向加载机中写入完整数据块的时间。
[0059]d)当主机房接收到的是中转设备发送的数据块时,可以将数据块切片后获得数据分片,再将数据分片以多
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1