一种基于地理分布式数据查询的数据任务重分配方法与流程

文档序号:15238000发布日期:2018-08-24 07:52阅读:228来源:国知局

本发明涉及通讯技术领域,尤其涉及一种基于地理分布式数据查询的数据任务重分配方法。



背景技术:

随着网络的发展,大数据时代中,数据信息已经十分普遍,在进行数据查询过程中,为了提高用户访问服务器的速度以及减少数据传输占用的带宽,很多公司都在全球建立他们的数据中心。比如微软和亚马逊,在全球建立了几十个数据中心。这些在不同区域的数据中心不断产生大量的数据,比如用户活动日志,服务器管理日志以及性能日志等。分析这些分布在不同区域的数据中心中的数据是一个很重要的工作。比如说,分析用户查询日志可以做广告决定,分析网络日志可以检测dos攻击,分析系统日志可以建立预测模型等。但是,对分布在不同数据中心的数据进行分析是需要成本的,这一成本主要包括数据移动的链接成本以及数据中心进行任务计算的成本。对于公司企业来说,最小化这一成本是很有必要的。

现有技术的主要采用了集中式方法,即将要分析的数据从不同区域的数据中心传输到一个数据中心,然后在这一数据中心进行数据分析。这种方法的缺点有:1)对于现在针对大规模数据的应用,集中式方法需要传输大量的数据,造成严重的带宽浪费,并且耗费的时间也很长。2)有一些数据中心保存的数据涉及到隐私问题,无法随意传输到其他数据中心。



技术实现要素:

针对上述缺陷或不足,本发明的目的在于提供一种基于地理分布式数据查询的数据任务重分配方法,通过对不同数据中心的数据进行重新安排以及对执行查询任务的数据中心进行重新安排,将一个任务在不同的数据中心中执行,减少分析式查询过程消耗的总成本。

为达到以上目的,本发明的技术方案为:

一种基于地理分布式数据查询的数据任务重分配方法,包括:

1)、获取多个查询任务;

2)、根据查询任务的状态以及当前时刻的数据,用统计学方法对未来的信息进行预测,并且使用固定时域控制算法,对未来一段时间内的成本进行最小化处理,获取未来时刻的数据处理中心;

3)、通过mfhc算法,进行任务分配,根据任务分配对数据的存储位置进行移动,移动到数据处理中心;

4)、根据任务分配对数据进行sql操作,以使得下一刻操作时将数据进行移动处理;

5)、重复执行步骤1)-4),直到完成所有查询任务。

所述步骤2)具体包括:

2.1、获取交换原始数据占用的带宽cor,运行任务的计算成本ccom,以及对执行任务的数据中心进行重分配所带来的交换成本csw:

其中,所述d为数据中心集合,每个数据中心有若干个区域;p为区域集合;g为任务集合,每个任务g属于一个分析式查询,每个分析式查询都可以表示成一个dag图;op为区域p原始数据的数据量;ldc(p),d为区域p所在的数据中心到数据中心d的连接成本;ck,g为任务g在数据中心k的单位计算成本;bk,g为任务g在数据中心k要运行的数据总量;ii,g为任务g在数据中心i要运行的中间数据的数据量;xp,d为二值变量,若区域p的原始数据要传输到数据中心d,其值为1,否则为0;yd,g为二值变量,若任务g要在数据中心d中执行,其值为1,否则为0;

2.2、计算总成本:

2.3、通过fhc算法对总成本进行最小化处理:

subjectto:fort=τ..τ+ω

其中涉及的两个符号x与y定义为:

其中,fp为区域p数据的最小备份数量;

fhc算法通过对[t,t+w]时间段内的总成本进行最小化,从而求出y,根据y的值求出x。

所述步骤3)具体包括:

3.1、在t时刻,将mfhc算法结合(w+1)个fhc算法的结果,采用多数投票算法得到最终的y值,再根据y的值确定x的值;

3.2、根据求得的x值,对数据进行重新分配,将数据传输到指定的数据中心,再根据求得的y值,以使得通过对数据进行sql操作执行数据中心的任务。

与现有技术比较,本发明的有益效果为:

本发明提供了一种基于地理分布式数据查询的数据任务重分配方法,利用mfhc算法对分布式系统的任务和数据进行重新分配,对不同数据中心的数据进行重新安排以及对执行查询任务的数据中心进行重新安排,将一个任务在不同的数据中心中执行。以达到减少分析式查询过程消耗的总成本的目的,并解决部分数据因隐私或者其他限制无法传输到其他数据中心的问题。减少了查询的总成本,解决了部分数据因隐私或者其他限制无法传输到其他数据中心的问题,提高了任务的查询速度,节省了成本。

附图说明

图1是本发明的基于地理分布式数据查询的数据任务重分配方法流程图;

图2是本发明的控制流程框图;

图3是本发明的mfhc算法流程图。

具体实施方式

下面将结合附图对本发明做详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

如图1所示,本发明提供了一种基于地理分布式数据查询的数据任务重分配方法:

1)、获取多个查询任务;

2)、根据查询任务的状态以及当前时刻的数据,用统计学方法对未来的信息进行预测,并且使用固定时域控制算法(fixedhorizoncontrol,fhc)对未来一段时间内的成本进行最小化处理,获取未来时刻的数据处理中心;

所述步骤2)具体包括:

2.1、获取交换原始数据占用的带宽cor,运行任务的计算成本ccom,以及对执行任务的数据中心进行重分配所带来的交换成本csw:

所述d为数据中心集合,每个数据中心有若干个区域;p为区域集合;g为任务集合,每个任务g属于一个分析式查询,每个分析式查询都可以表示成一个dag图;op为区域p原始数据的数据量;ldc(p),d为区域p所在的数据中心到数据中心d的连接成本;ck,g为任务g在数据中心k的单位计算成本;bk,g为任务g在数据中心k要运行的数据总量;ii,g为任务g在数据中心i要运行的中间数据的数据量;xp,d为二值变量,若区域p的原始数据要传输到数据中心d,其值为1,否则为0;yd,g为二值变量,若任务g要在数据中心d中执行,其值为1,否则为0;

2.2、计算总成本:

2.3、通过fhc算法对总成本进行最小化处理:

subjectto:fort=τ....τ+ω

其中涉及的两个符号x与y定义为:

其中,fp为区域p数据的最小备份数量;

fhc算法通过对[t,t+w]时间段内的总成本进行最小化,从而求出y,根据y的值求出x。

3)、通过mfhc算法,进行任务分配,根据任务分配对数据的存储位置进行移动,移动到数据处理中心;

如图3所示,所述步骤3)具体包括:

3.1、在t时刻,将mfhc算法结合(w+1)个fhc算法的结果,采用多数投票算法得到最终的y值,再根据y的值确定x的值;

3.2、根据求得的x值,对数据进行重新分配,将数据传输到指定的数据中心,再根据求得的y值,以使得通过对数据进行sql操作执行数据中心的任务。

示例性的,如图2所示,a代表数据中心执行任务,a的外圈代表数据中心进行了数据转移。初始时,算法决定在数据中心a执行任务,结束后下一时刻决定在d与e执行任务,所以将数据中心a产生的中间数据传输到数据中心d和数据中心e,这两个数据中心任务执行结束后,再在数据中心d执行最后的任务,所以将数据中心e的中间结果传输到数据中心d,最后再在数据中心d执行任务。

4)、根据任务分配对数据进行sql操作,以使得下一刻操作时将数据进行移动处理;

本发明中,初始时,数据分布在不同的数据中心,此时有多个查询任务要求执行;系统针对每个任务以及数据分布情况,以系统总体成本最小为目标,决定某一个时间段内任务在哪一些数据中心上执行,以及被执行的数据应该拷贝到哪些数据中心中。在下一时间段,重复该过程。

本发明利用fhc算法对分布式系统的任务和数据进行重新分配。

5)、重复执行步骤1)-4),直到完成所有查询任务。

需要说明的是,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga,field-programmablegatearray)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

对于本领域技术人员而言,显然能了解到上述具体事实例只是本发明的优选方案,因此本领域的技术人员对本发明中的某些部分所可能作出的改进、变动,体现的仍是本发明的原理,实现的仍是本发明的目的,均属于本发明所保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1