一种导入数据的方法及装置制造方法及图纸

技术编号:9535354 阅读:103 留言:0更新日期:2014-01-03 18:40
本发明专利技术公开了一种导入数据的方法及装置,用以解决现有技术中导入数据的方法可能会导致服务器瘫痪、导入数据的效率较低的问题。中间服务器获取各数据库服务器的负载状态信息,并据此确定向各数据库服务器导入数据的速率,当接收到客户端添加的任务时,根据该任务中包含的服务器标识,以确定出的向该服务器标识对应的数据库服务器导入数据的速率,向该服务器标识对应的数据库服务器导入数据。通过上述方法,中间服务器可根据数据库服务器的负载,以相应的速率向数据库服务器导入数据,因此降低了高负载数据库服务器瘫痪的风险,而且,中间服务器无需在指定的时间段导入数据,可实时的进行数据导入,这也提高了导入数据的效率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种导入数据的方法及装置,用以解决现有技术中导入数据的方法可能会导致服务器瘫痪、导入数据的效率较低的问题。中间服务器获取各数据库服务器的负载状态信息,并据此确定向各数据库服务器导入数据的速率,当接收到客户端添加的任务时,根据该任务中包含的服务器标识,以确定出的向该服务器标识对应的数据库服务器导入数据的速率,向该服务器标识对应的数据库服务器导入数据。通过上述方法,中间服务器可根据数据库服务器的负载,以相应的速率向数据库服务器导入数据,因此降低了高负载数据库服务器瘫痪的风险,而且,中间服务器无需在指定的时间段导入数据,可实时的进行数据导入,这也提高了导入数据的效率。【专利说明】一种导入数据的方法及装置
本专利技术涉及通信
,尤其涉及一种导入数据的方法及装置。
技术介绍
目前,用户可以通过客户端将数据导入到MySQL服务器中存储,以节省用户所使用终端的存储空间。由于MySQL服务器存储了许多用户的数据,因此,为了保证MySQL服务器中存储的数据的安全性,通常采用中间服务器将客户端与MySQL服务器隔离开,用户不能通过客户端直接将数据导入MySQL服务器,而要通过中间服务器将数据导入到MySQL服务器中,如图1所示。图1为现有技术中导入数据的系统结构示意图,图1所示的系统中包括客户端、作为中间服务器集群的Deferred Job服务器集群、数据存储区以及MySQL服务器集群。其中,Deferred Job服务器集群由作为中间服务器的各Deferred Job服务器构成,MySQL服务器集群由各MySQL服务器构成。基于图1所示的系统,当用户要将数据导入MySQL服务器中时,先将数据上传到数据存储区中(由于Deferred Job服务器并没有用于存储数据的存储空间,因此由数据存储区存储用户上传的数据),并通过客户端向Deferred Job服务器添加任务,添加的任务包含要导入的数据的数据标识以及要导入到的MySQL服务器的服务器标识。Deferred Job服务器根据添加的任务中包含的数据标识,从数据存储区中获取相应的数据,并根据添加的任务中包含的服务器标识,在指定的时间段将获取的数据导入到相应的MySQL服务器中。在现有技术中,考虑到在每天早上的2点到6点各MySQL服务器的负载较低,因此现有技术中Deferred Job服务器在每天早上的2点到6点将获取的数据导入到相应的MySQL服务器中。但是,在实际应用场景中,并不能保证每个MySQL服务器在早上2点到6点的负载都很低,也即,不能保证每个MySQL服务器在早上2点到6点都适合进行数据导入,如果某些MySQL服务器在早上2点到6点的负载仍然很高,那么在这个时间段向这些MySQL服务器导入数据势必会急剧增加MySQL服务器的负载,可能会导致MySQL服务器瘫痪。另外,在早上2点到6点这个时间段进行数据导入也并不能保证所有的数据都可以在这个时间段导入MySQL服务器,如果早上6点结束时仍有数据尚未导入MySQL服务器,则也只能等到下一个早上2点到6点才能导入,这也降低了导入数据的效率。
技术实现思路
本专利技术实施例提供一种导入数据的方法及装置,用以解决现有技术中导入数据的方法可能会导致MySQL服务器瘫痪,以及导入数据的效率较低的问题。本专利技术实施例提供的一种导入数据的方法,包括:中间服务器获取各数据库服务器的负载状态信息;并针对每个数据库服务器,根据获取到的该数据库服务器的负载状态信息,确定向该数据库服务器导入数据的速率,其中,该数据库服务器的负载越大,确定的向该数据库服务器导入数据的速率越小;以及当接收到客户端添加的任务时,根据所述任务中包含的数据标识,获取数据存储区中所述数据标识对应的数据;并根据所述任务中包含的服务器标识,以确定出的向所述服务器标识对应的数据库服务器导入数据的速率,向所述服务器标识对应的数据库服务器导入获取到的所述数据。本专利技术实施例提供的一种导入数据的方法,包括:数据库服务器向中间服务器提供所述数据库服务器的负载状态信息,使所述中间服务器根据所述数据库服务器的负载状态信息,确定向所述数据库服务器导入数据的速率;接收所述中间服务器以确定的所述速率导入的数据。本专利技术实施例提供的一种导入数据的装置,包括:负载获取模块,用于获取各数据库服务器的负载状态信息;确定模块,用于针对每个数据库服务器,根据负载获取模块获取到的该数据库服务器的负载状态信息,确定向该数据库服务器导入数据的速率,其中,该数据库服务器的负载越大,确定的向该数据库服务器导入数据的速率越小;数据获取模块,用于当接收到客户端添加的任务时,根据所述任务中包含的数据标识,获取数据存储区中所述数据标识对应的数据;导入模块,用于根据所述任务中包含的服务器标识,以所述确定模块确定出的向所述服务器标识对应的数据库服务器导入数据的速率,向所述服务器标识对应的数据库服务器导入所述数据获取模块获取到的所述数据。本专利技术实施例提供的一种导入数据的装置,包括:提供模块,用于向中间服务器提供所述数据库服务器的负载状态信息,使所述中间服务器根据所述数据库服务器的负载状态信息,确定向所述数据库服务器导入数据的速率;接收模块,用于接收所述中间服务器以确定的所述速率导入的数据。本专利技术实施例提供一种导入数据的方法及装置,中间服务器获取各数据库服务器的负载状态信息,并据此确定向各数据库服务器导入数据的速率,其中,数据库服务器的负载越大,确定的向该数据库服务器导入数据的速率越小,当接收到客户端添加的任务时,根据该任务中包含的服务器标识,以确定出的向该服务器标识对应的数据库服务器导入数据的速率,向该服务器标识对应的数据库服务器导入数据。通过上述方法,中间服务器可根据数据库服务器的负载,以相应的速率向数据库服务器导入数据,因此降低了高负载数据库服务器瘫痪的风险,而且,中间服务器无需在指定的时间段导入数据,可实时的进行数据导入,这也提高了导入数据的效率。【专利附图】【附图说明】图1为现有技术中导入数据的系统结构示意图;图2为本专利技术实施例提供的导入数据的过程;图3为本专利技术实施例提供的以中间服务器为Deferred Job服务器、数据库服务器为MySQL服务器为例的导入数据系统结构示意图;图4为本专利技术实施例提供的第一种导入数据的装置结构示意图;图5为本专利技术实施例提供的第二种导入数据的装置结构示意图。【具体实施方式】为了避免现有技术中,中间服务器向高负载的数据库服务器导入数据时容易导致高负载的数据库服务器瘫痪的问题,并提高数据导入的效率,本专利技术实施例中,中间服务器获取各数据库服务器的负载状态信息,并据此确定向各数据库服务器导入数据的速率,在向某个数据库服务器导入数据时,以确定的向该数据库服务器导入数据的速率进行数据导入。下面结合说明书附图,对本专利技术实施例进行详细描述。图2为本专利技术实施例提供的导入数据的过程,具体包括以下步骤:S201:中间服务器获取各数据库服务器的负载状态信息。在本专利技术实施例中,中间服务器可周期性的获取各数据库服务器的负载状态信息。具体的,中间服务器可按照第一设定周期,通过运行的获取进程从中心数据库中获取各数据库服务器的负载状态信息,其中,中心数据库中保存的各数据库服务器本文档来自技高网
...
一种导入数据的方法及装置

【技术保护点】
一种导入数据的方法,其特征在于,包括:中间服务器获取各数据库服务器的负载状态信息;并针对每个数据库服务器,根据获取到的该数据库服务器的负载状态信息,确定向该数据库服务器导入数据的速率,其中,该数据库服务器的负载越大,确定的向该数据库服务器导入数据的速率越小;以及当接收到客户端添加的任务时,根据所述任务中包含的数据标识,获取数据存储区中所述数据标识对应的数据;并根据所述任务中包含的服务器标识,以确定出的向所述服务器标识对应的数据库服务器导入数据的速率,向所述服务器标识对应的数据库服务器导入获取到的所述数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:汪海
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1