一种基于云架构的电网地理信息系统及容错方法与流程

文档序号:12176639阅读:269来源:国知局
一种基于云架构的电网地理信息系统及容错方法与流程
本发明涉及云架构存储领域,并且更具体地,涉及一种基于云架构的电网地理信息系统及容错方法。
背景技术
:云环境为海量数据提供了高效快速的计算、存储功能,云计算建立的是具有高可扩展性的数据管理系统,能为用户提供良好的数据可获取性、数据统一性和安全性等特性。利用云平台进行数据的存储管理,能有效的利用云计算平台的各种优势,从而更好的为用户提供服务。云环境下,作业在并行执行过程中会产生一定的结果数据,该数据是由一个阶段产生并作为下一个阶段的输入,这样的数据被认为是中间数据。对中间数据的研究是非常必要的,例如在一个小规模应用中,一个服务器上的中间数据丢失会导致作业运行时间加长50%。因此中间数据的容错处理技术关系到电网GIS云平台的稳定运行。技术实现要素:为了解决上述问题,本发明提供一种基于云架构的电网地理信息系统和容错方法。根据本发明的一个方面,提供一种基于云架构的电网地理信息系统,所述系统由多个数据中心组成,其特征在于,每个数据中心包括:多个用于存放实际数据资源以及满足实际计算的服务请求的节点以及用于连接每个数据中心内多个节点的交换器,所述节点分为:主节点MN,用于接收作业请求信息、进行任务的分配以及工作节点故障时根据中间数据的类型进行相应的容错处理;工作节点WN,用于执行主节点分配的作业任务,并将存储资源的使用情况以及任务的执行状况上报至主节点;子任务容错数据管理节点MFMN,用于存放任务中映射Map子任务产生的中间数据的备份信息,并维护子任务备份信息表STask-list;以及任务容错数据管理节点TFMN,用于存放任务产生的中间数据的容错数据信息,并维护任务备份信息表Task-list。优选地,每个数据中心采用机架的方式来组织拓扑结构,每个机架承载多个节点,每个机架上的多个节点通过交换器连接。优选地,所述主节点分为内部的任务调度器和资源管理器,任务调度器负责任务的调度和执行,以及资源管理器负责整个数据中心的所有节点的存储资源信息的维护,主节点还包括节点有效信息表EN-Cloud和存储资源选择表SR-Cloud。优选地,所述中间数据具有文件名作为文件标识FN,以及一个或多个与文件名对应的存储服务器的物理地址FPA。优选地,所述STask-list表的信息包括:作业标识JobID、执行任务标识TaskID、子任务标识MapID、文件标识FN、物理地址FPA、文件大小FileSize以及冗余数Re-num。优选地,所述Task-list表的信息包括:作业标识JobID、执行任务标识TaskID、文件标识FN、物理地址FPA、文件大小FileSize以及冗余数Re-num。优选地,所述在相同的机架内网络带宽的总和大于不同机架之间的带宽,同一个数据中心内的传输带宽要大于不同数据中心传输带宽。本发明通过设计实现了一种基于云架构的电网地理信息系统,通过所需实现功能的不同,将系统中的服务器节点分为不同的类别,并搭建系统,使得所述系统可以通过不同节点的特性进行中间数据的备份处理以及容错处理,以保证系统运行时的稳定性和可用性。根据本发明的另一个方面,提供一种基于云架构的电网地理信息系统的容错方法,包括:主节点判断任务所在的工作节点是否出现故障;如果任务所在的工作节点出现故障,所述主节点根据中间数据的类型在本数据中心的子任务容错数据管理节点MFMN或任务容错数据管理节点TFMN中查找相应的备份信息进行不同的数据容错处理:所述中间数据分为任务内MR中间数据和任务间RM中间数据。优选地,当MR中间数据丢失时,在子任务容错数据管理节点MFMN内查找子任务备份信息表STask-list中丢失MR中间数据的子任务对应的备份信息,MFMN根据STask-list中子任务对应的备份信息确定是否完成所述子任务,如果未完成所述子任务,则通过广播方式将任务分配在响应时间最快的节点上;如果已经完成所述子任务,则直接读取备份的子任务产生的MR中间数据;如果STask-list表中没有子任务对应的备份信息,则由MN重新分配子任务执行。优选地,当RM中间数据丢失时,在TFMN的任务备份信息表Task-list中根据任务ID查找丢失RM中间数据的任务对应的备份信息;如果表中有备份信息,则通过广播方式获得响应时间最快的节点信息,将获取不到RM中间数据的任务分配到该节点上;如果Task-list信息表中没有备份信息则查找子任务备份信息表STask-list,根据表中信息产生丢失的中间数据。优选地,所述MR中间数据是由Map子任务产生的数据,且作为规约Reduce子任务的输入数据,MR中间数据可表示为MDS={m1.d,m2.d,...,mm.d},其中单个数据集mi.d由多个属性组成,mi.d=<size,flag,num,taski>,其中,size为数据集mi.d的大小,flag为数据集mi.d在系统中是否需要进行存储,num表示mi.d需要存放容错数据的数据,taski表示mi.d是由哪个任务产生的。优选地,所述RM中间数据是Reduce子任务输出的结果数据集,用tiD表示任务taski内产生的结果数据集,该数据作为其后续任务suc(taski)的输入,且所述RM中间数据丢失后由taski任务重新执行产生。优选地,在进行MR中间数据容错处理之前,还包括对MR中间数据进行数据部署,所述方法为:步骤1,在MN中查找存储资源选择表SR-Cloud,在本机架内选择存储资源信息,如果本机架内有空节点信息,则将存储设备名发送给工作节点WN,并进行步骤3,如果本机架内没有空节点信息,则进行步骤2;步骤2,如果在本机架内没有空节点信息,则在不同机架内选择存储资源替代,并将该机架内节点相对应的存储设备名发送给工作节点WN;步骤3,WN根据存储设备名信息将Map子任务产生的中间数据以同步方式写入该节点的本地文件系统中,同时WN向MFMN发出容错数据信息MessM告知MFMN有新的容错数据信息;步骤4,MFMN收到容错数据信息MessM后,取出MessM中的FN与子任务备份信息表STask-list中信息进行比对,如果表中有所述容错数据信息MessM中的FN,则将备份信息添加到表中相应项后面,否则,则创建新的条目。优选地,在进行RM中间数据数据容错处理之前,还包括对RM中间数据进行数据部署,所述方法为:步骤1,WN在执行子任务时读取任务列表中信息,如果还有其它任务需要执行,则进行步骤2,否则,进行步骤7;步骤2,在MN的资源管理器中查找存储资源选择表SR-Cloud,在本机架内选择存储资源信息,如果本机架内有空节点信息,则将存储设备名发送给工作节点WN,并进行步骤5,如果本机架内没有空节点信息,则进行步骤3;步骤3,如果在本机架内没有空节点信息,则在本数据中心中不同机架内选择存储资源替代,并将该机架内节点相对应的存储设备名发送给工作节点WN,若本数据中心的不同机架中没有空节点信息,则进行步骤4;步骤4,查询其他数据中心MN位置信息,并发送请求信息;其他数据中心接收到请求消息后,根据请求消息查找该数据中心SR-Cloud并将空节点信息对应的存储设备名发送返回至原数据中心,并进行步骤5,如果在该数据中心中没有空节点,则重复步骤2;步骤5,WN根据存储设备名信息将任务产生的RM中间数据以同步方式写入该节点的本地文件系统中,并向TFMN发出容错数据信息MessR告知TFMN有新的容错数据信息;步骤6,TFMN收到容错数据信息MessR后,取出MessR中的FN与任务备份信息表Task-list中信息进行比对,如果表中有所述容错数据信息MessR中的FN,则将备份信息添加到表中相应项后面,否则,则创建新的条目;步骤7,WN将任务输出的数据写入到电网地理信息系统的存储系统中。优选地,如果任务所在的工作节点没有故障,则数据中心处理待存储数据的具体过程为:步骤1,MN接收到作业信息后,MN的任务调度器从作业的配置文件中读取划分信息,并根据该划分信息为每个作业创建一个Map子任务以及若干Reduce子任务,并指定子任务标识MapID;步骤2,WN通过发送心跳包告知MN是否已做好接受任务的准备,并将节点资源信息作为心跳包的内容发送给MN;步骤3,MN分配Map子任务,并根据该子任务是任务间的子任务还是任务内的子任务,查找资源管理器中存储资源选择表;步骤4,WN节点接收到子任务后开始执行,并根据中间数据的类型进行中间数据的复制,并将所述中间数据的备份信息发送给MFMN或者TFMN;步骤5,MFMN和TFMN接收到中间数据的备份信息表后,将所述信息存储至STask-list或Task-list中。本发明通过设计了一种数据的容错方法,根据不同任务类型产生的不同中间数据类型进行不同的数据部署方法,同时当服务器故障导致中间数据丢失时,可以通过进行丢失数据的类型判断,进行快速的备份数据调度或者任务重新分配以保证地理信息系统的运行性能以及数据容错能力,提高基于云计算的电网GIS平台的健壮性与可用性。附图说明通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:图1为根据本发明优选实施例的数据中心的结构示意图;图2为根据本发明优选实施例的电网地理信息系统的容错方法的流程图;图3为根据本发明优选实施例的MR中间数据部署方法的流程图;以及图4为根据本发明优选实施例的RM中间数据部署方法的流程图。具体实施方式现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属
技术领域
的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。除非另有说明,此处使用的术语(包括科技术语)对所属
技术领域
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。图1为根据本发明优选实施例的数据中心的结构示意图。如图1所示,根据数据中心所实现的功能的不同,将数据中心中的节点划分为主节点MN、工作节点WN、子任务容错数据管理节点MFMN以及任务容错数据管理节点TFMN。优选地,作业请求信息MSG来自于用户或者其他数据中心,这些消息以队列的形式发送给数据中心,由数据中心进行处理,并将处理后的信息发送至用户或其他数据中心。优选地,主节点用于接收作业请求信息、进行任务的分配以及工作节点故障时进行容错处理调度,且主节点分为内部的任务调度器和资源管理器。其中任务调度器负责任务的调度的执行,资源管理器负责整个数据中心的所有节点的存储资源信息的维护。主节点还包括节点有效信息表EN-Cloud和存储资源选择表SR-Cloud。应当了解的是,主节点每隔周期时间会对每个工作节点进行ping操作,以探测工作节点是否出现机器故障,故而,主节点会占用大量的内存资源的CPU资源,因此,每个数据中心使用一个专用的服务器作为主节点负责请求任务的执行,并维护其他数据中心的主节点位置信息表。优选地,工作节点是数据中心中执行主节点分配任务的节点,并对任务产生的数据进行存储。其中,工作节点通过周期的心跳包与主节点进行通信,以表示自己处于正常的连接状态与工作状态,并且将工作节点的存储资源的使用情况以及任务执行情况作为心跳包的信息上报至主节点。子任务容错数据管理节点MFMN用于存放子任务产生的中间数据信息,即MR中间数据的备份信息,当工作节点产生了一个或多个Map子任务的中间数据的备份后,即向MFMN注册容错数据信息,MFMN在收到该信息后,会根据该子任务的中间数据信息,对子任务备份信息表STask-list进行维护。优选地,所述子任务备份信息表STask-list包含的信息如表1所示:JobIDTaskIDMapIDFNFPAFileSizeRe-num表1其中,JobID是每个作业的唯一标识,在主节点内记录了每个作业的ID信息,一个作业可分为一个或多个任务;TaskID是执行任务的唯一标识;MapID是每个任务内的Map子任务执行时分配的ID,用于标识执行每一个Map子任务;FN为文件标识,用于标识一个文件的符号,是文件的唯一标识,每一个中间数据均具有唯一的文件标识;FPA(FilePhysicalAddress)为中间数据文件对应的存储服务器的物理地址;FileSize表示一个中间数据文件对应的存储大小;Re-num(RedundancyNumber)为冗余数,表示Map子任务产生的中间数据存放的数目。优选地,任务容错数据管理节点TFMN用于存放任务间产生的中间数据信息,即RM中间数据的备份信息,当工作节点产生了一个或多个任务的中间数据的备份后,即向TFMN注册容错数据信息,TFMN在收到该信息后,会根据该任务的中间数据信息,对任务备份信息表Task-list进行维护。优选地,所述任务备份信息表Task-list包含的信息如表2所示:JobIDTaskIDFNFPAFileSizeRe-num表2其中,信息表Task-list与信息表STask-list的不同在于表中存放的任务对应的中间数据的信息不同,信息表STask-list主要存放的是子任务的中间数据信息,信息表Task-list存放的是任务的中间数据信息。本发明设计的支持数据容错处理的基于云架构的电网地理信息系统利用系统所需要完成的不同功能,将节点划分为不同类型,并根据中间数据的不同类型,将其备份文件的信息存入到不同节点所管理的信息表上,在服务器出现故障时,可使系统快速响应以减少作业运行时间。图2为根据本发明优选实施例的电网地理信息系统的容错方法的流程图。如图2所示,容错处理方法200从步骤21开始。在步骤21中,主节点MN每隔周期时间会对每个工作节点WN进行ping操作,以判任务所在的WN是否出现故障,当任务所在的WN出现故障时,会导致服务器上所产生的中间数据丢失,此时进行步骤22。优选地,在步骤22中,MN首先对丢失的中间数据的类型进行判断,当Map子任务所在服务器出现故障时,判定丢失的中间数据为MR中间数据,如果所述故障的服务器上有正在执行的Map子任务,则该任务为时效任务,并进行步骤231;若MN判断某一任务taski的前置任务pre(taski)所在的服务器出现故障或该任务本身所在的服务器故障,则判定丢失的中间数据为RM中间数据,并进行步骤241。优选地,在步骤231中,当判定丢失的数据为MR中间数据时,MN向本数据中心的MFMN发送容错请求MessF1,其中MessF1中包含出现故障的WN中正在执行的Map子任务的MapID。优选地,在步骤232中,MFMN在接收到MN发送的MessF1后,根据MessF1中包含的MapID,在MFMN管理的STask-list中查找是否有与MessF1中包含的MapID相同的备份信息,如果STask-list中有与MessF1中包含的MapID相同的备份信息,则进行步骤233,否则进行步骤236。优选地,在步骤233后,MN判断出现故障的WN内的失效子任务是否完成,当失效子任务未完成时,进行步骤234,否则,进行步骤235。优选地,在步骤234中,失效子任务未完成,则MN通过广播方式将该未完成的失效子任务发送给响应最快的工作节点,以继续进行任务。优选地,在步骤235中,失效子任务完成,并存在备份信息,则WN直接将失效子任务的备份数据信息告知还未来得及读取该数据的工作节点,使任务可以继续进行。优选地,当STask-list中没有与MessF1中包含的MapID相同的备份信息时,MN重新执行分配该任务给正常的WN。优选地,在步骤241中,当判定丢失的数据为RM中间数据时,MN向本数据中心的TFMN发送容错请求MessF2,其中MessF2中包含出现故障的WN中正在执行的任务的TaskID以及任务taski的子任务标识MapID。优选地,在步骤242中,TFMN在接收到MN发送的MessF2后,根据MessF2中包含的TaskID,在TFMN管理的Task-list中查找是否有与MessF2中包含的TaskID相同的备份信息,如果Task-list中有与MessF2中包含的TaskID相同的备份信息,则进行步骤243,否则进行步骤244。优选地,在步骤243中,TFMN管理的Task-list中存在与MessF2中包含的TaskID相同的备份信息,TFMN将备份信息告知WN,WN将备份信息告知给还未来得及读取该信息的后续任务suc(taski)。优选地,在步骤244中,Task-list中没有与MessF2中包含的TaskID相同的备份信息,则将MessF2发送给MFMN,并查找MFMN管理的STask-list中与MessF2中包含的MapID相同的备份信息,并将该Map子任务的备份信息和Reduce子任务分配到响应时间最快的节点上,以完成任务taski。图3为根据本发明优选实施例的MR中间数据部署方法的流程图。如图3所示,MR中间数据部署方法300从步骤301开始。在步骤301中,在MN中查找存储资源选择表SR-Cloud,在本机架内选择存储资源信息,若本机架内有空节点可以进行信息存储,则进行步骤302,否则进行步骤303。优选地,在步骤302中,本机架内存在可以进行数据存储的空节点信息,则将所述空节点的存储设备名发送给Map子任务执行的工作节点。优选地,在步骤303中,本机架内没有空节点可以进行信息存储,则在本数据中心中的不同的机架内选择存储资源替代,并将所述其他机架内空节点相对应的存储设备名发送给Map子任务执行的工作节点。优选地,在步骤304中,工作节点根据接收到的存储设备名将Map子任务产生的MR中间数据以同步方式写入到所述空节点的本地文件系统中,同时WN向MFMN发出容错数据信息MessM以告知MFMN有新的容错数据信息需要进行处理。其中,MessM中至少包含子任务标识MapID、子任务产生的中间数据的文件标识FN以及中间数据文件对应的存储服务器的物理地址FPA。优选地,在步骤305中,MFMN接收到容错数据信息MessM后,取出MessM中的FN与STask-list中信息进行比对,若STask-list中包含MessM中的FN,则将备份信息添加到STask-list中相应项后;若STask-list中不包含MessM中的FN信息,则在表中新增一个条目,以保存接收到的容错数据信息。图4为根据本发明优选实施例的RM中间数据部署方法的流程图。如图4所示,RM中间数据部署方法400从步骤401开始。在步骤401中,WN在执行子任务时,同时读取任务列表中信息,如果所述任务还有其他子任务需要执行,则进行步骤402,否则执行步骤407。优选地,在步骤402中,在本机架的MN的资源管理器中查找存储资源选择表SR-Cloud,在本机架中选择空节点信息,如果本机架中存在空节点,则进行步骤405,若本机架中不存在空节点,则进行步骤403。优选地,在步骤403中,当本机架内不存在空节点时,则在本数据中心内搜索其他机架中是否有空节点信息,若本数据中心内其他机架中有空节点信息,则进行步骤405,否则进行步骤404。优选地,在步骤404中,当本数据中心内其他机架中也不存在空节点信息时,查询其他数据中心的主节点位置信息,并通过广播的方式发送请求信息,其他数据中心接收到原数据中心发送的请求后,根据请求信息搜索本数据中心的SR-Cloud并将空节点信息对应的存储设备名发送返回至原数据中心,并进行步骤405,如果在该数据中心中没有空节点,则重复步骤402,直到在本数据中心或其他数据中心中搜索到可用的空节点信息为止。优选地,在步骤405中,MN在本数据中心或其他数据中心获取到空节点信息后,将所述空节点对应的存储设备名发送给任务执行的WN,WN根据存储设备名信息将任务产生的RM中间数据以同步方式写入该节点的本地文件系统中,并向TFMN发出容错数据信息MessR告知TFMN有新的容错数据信息。其中,所述MessR至少包含任务标识TakID、任务产生的中间数据的文件标识FN以及中间数据文件对应的存储服务器的物理地址FPA。优选地,在步骤406中,TFMN收到容错数据信息MessR后,取出MessR中的FN与任务备份信息表Task-list中信息进行比对,如果表中有所述容错数据信息MessR中的FN,则将备份信息添加到表中相应项后面,否则,则创建新的条目。优选地,在步骤407中,当WN执行的任务没有其他子任务需要执行时,直接将任务输出的数据写入到地理信息系统的存储系统中。已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。通常地,在权利要求中使用的所有术语都根据他们在
技术领域
的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1