一种数据备份方法和系统与流程

文档序号:15385045发布日期:2018-09-08 00:28阅读:194来源:国知局

本发明涉及数据处理领域,尤指一种数据备份方法和系统。



背景技术:

随着互联网工程的推进,网络数据规模越来越大,网络数据内容不断朝着“高速化、海量化”的方向不断前进,并且随着数据量的提升,对这些宝贵的数据资源进行大数据分析逐渐地成为必然。

flume是由三部分组成:source、channel和sink。其中source从nginx等等数据发生器接收数据,channel是一种短暂的存储容器,sink将数据存储到集中存储器比如hbase和hdfs。

在实时流数据处理过程中,经过nginx、flume的source分发的数据暂存在flume的channel内,然后经过flume的sink处理后,存储到hdfs,然后压缩存储在hive中。但是数据处理过程中,往往会出现系统故障,导致数据丢失的现象,如果不实施一定措施,很容易造成大量日志数据丢失,造成无法挽回的损失。



技术实现要素:

本发明的目的是提供一种数据备份方法和系统,实现备份数据,避免数据处理故障出现数据丢失的目的。

本发明提供的技术方案如下:

本发明提供一种数据备份方法,包括步骤:

s100获取nginx服务器分发的日志信息;

s200备份储存所述日志信息至对应的预设储存区域。

进一步的,所述步骤s100之前包括步骤:

s010挂载至同一目标储存服务器;

所述步骤s200包括步骤:

s210将所述日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述日志信息至对应的第一预设储存区域内。

进一步的,所述s100之后,步骤s210之前包括步骤:

s201设定每一flume服务器获取的日志信息对应的储存格式和储存路径;所述第一预设储存区域包括与若干个储存路径;

所述步骤s210包括步骤:

s211根据所述储存格式转换所述日志信息;

s212将所述转换后的日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述转换后的日志信息至所述第一预设储存区域对应的储存路径中。

进一步的,所述步骤s200还包括步骤:

s220将所述日志信息发送至所述目标flume服务器,使得所述目标flume服务器储存所述日志信息至对应的第二预设储存区域内。

进一步的,所述步骤s200还包括步骤:

s230将所述日志信息储存至自身的第三预设储存区域内,且所述日志信息对应的保留时间为预设时长。

本发明还提供一种数据备份系统,包括:获取模块和控制模块;所述获取模块与所述控制模块连接;

所述获取模块,获取nginx服务器分发的日志信息;

所述控制模块,备份储存所述日志信息至对应的预设储存区域。

进一步的,还包括:

挂载模块,挂载至同一目标储存服务器;

所述控制模块包括:

第一存储单元,将所述日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述日志信息至对应的第一预设储存区域内。

进一步的,还包括:

设定模块,设定每一flume服务器获取的日志信息对应的储存格式和储存路径;所述第一预设储存区域包括与若干个储存路径;

所述第一储存单元包括:

转换子单元,根据所述储存格式转换所述日志信息;

储存子单元,将所述转换后的日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述转换后的日志信息至所述第一预设储存区域对应的储存路径中。

进一步的,所述控制模块还包括:

第二存储单元,将所述日志信息发送至所述目标flume服务器,使得所述目标flume服务器储存所述日志信息至对应的第二预设储存区域内。

进一步的,所述控制模块还包括:

第三存储单元,将所述日志信息储存至自身的第三预设储存区域内,且所述日志信息对应的保留时间为预设时长。

通过本发明提供的一种数据备份方法和系统,能够带来以下至少一种有益效果:

1)本发明通过nginx服务器获取日志信息并分发至各个flume服务器后,每个flume服务器将自身获取到的日志信息备份储存至预设储存区域内,从而实现日志信息的同步备份储存,避免数据处理传输过程出现故障时导致日志信息丢失的情况。

2)本发明将日志信息储存至目标储存服务器中对应的第一预设储存区域内,能够在数据处理出现故障时,通过从目标储存服务器中调取对应的日志信息,重新进行数据处理,避免数据丢失,保障数据处理的可靠性,由于直接从目标储存服务器调取相应的日志信息,能够提升数据处理的效率,而且由于储存服务器的容量大,储存备份日志信息的时间长,更能降低数据丢失的概率。

3)本发明通过flume服务器之间的相互备份,能够在数据处理出现故障时,通过从目标flume服务器中调取对应的日志信息,能够避免数据丢失,保障数据处理的可靠性。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种数据备份方法和系统的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种数据备份方法的一个实施例的流程图;

图2是本发明一种数据备份方法的另一个实施例的流程图;

图3是本发明一种数据备份方法的另一个实施例的流程图;

图4是本发明一种数据备份方法的另一个实施例的流程图;

图5是本发明一种数据备份方法的另一个实施例的流程图;

图6是本发明一种数据备份系统的一个实施例的结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

本发明一种数据备份方法的一个实施例,如图1所示,包括:

s100获取nginx服务器分发的日志信息;

s200备份储存所述日志信息至对应的预设储存区域。

具体的,本实施例应用于flume服务器,由于flume服务器是由三部分组成:source、channel和sink。其中source从nginx服务器接收日志信息,channel短暂存储日志信息,sink将日志信息存储到集中存储器比如hdfs服务器。移动终端根据公网域名发送用户网络行为日志信息,当日志信息到达域名服务器,则域名服务器则根据dns解析策略,将该公网域名解析到对应的公网ip中的某一个ip所在的带宽进行日志信息网络接收和传输,然后公网ip则通过nat映射关系,将日志信息传输到对应的局域网ip所对应的内部的局域网服务器,这里通过在两台nginx服务器上配置局域网ip(vip:192.168.***.***)参数设置,来实现互相备份容错,每次仅仅启动其中一台,若某台出现故障,则转换到另一台操作,即执行操作的nginx服务器状态为活跃状态(active),另一台则为等待被启动状态(back),当nginx服务器接收到日志信息后,分别将日志信息分发到多台flume服务器,并通过flume服务器将日志信息存储到对应的路径下。即在实时数据处理过程中,经过flume服务器的source接收nginx服务器分发的日志信息,将日志信息暂存在channel内,然后经过sink处理后,存储到hdfs,然后压缩存储在hive中。但是数据处理过程中,往往会出现系统故障,导致数据丢失和处理终止等现象,而故障的发现和处理又需要时间,所以通过nginx服务器获取移动终端通过局域网服务器上传的日志信息,nginx服务器将获取到的日志信息分发至各个flume服务器后,每个flume服务器将自身获取到的日志信息备份储存至预设储存区域内,从而实现日志信息的同步备份储存,避免数据处理传输过程出现故障时导致日志信息丢失的情况,对大数据架构起到一定的容错作用,不仅能够保障数据不丢失,而且为大数据架构异常检测和处理争取大量缓冲时间,提升数据处理的可靠性和高效性。

本发明一种数据备份方法的另一个实施例,是上述实施例的优化实施例,如图2所示,本实施例与上述实施例相比,主要改进在于,包括:

s010挂载至同一目标储存服务器;

s100获取nginx服务器分发的日志信息;

s210将所述日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述日志信息至对应的第一预设储存区域内。

具体的,本实施例中,若有多个flume服务器,通过那么在这多个flume服务器挂载至同一个目标储存服务器,该目标储存服务器中就有与flume服务器数量对应相同数量的第一预设储存区域,将日志信息储存至目标储存服务器中对应的第一预设储存区域内,能够在数据处理出现故障时,通过从目标储存服务器中调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接从目标储存服务器调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于储存服务器的容量大,储存备份日志信息的时间长,更能降低数据丢失的概率。

本发明一种数据备份方法的另一个实施例,是上述实施例的优化实施例,如图3所示,本实施例与上述实施例相比,主要改进在于,包括:

s010挂载至同一目标储存服务器;

s100获取nginx服务器分发的日志信息;

s201设定每一flume服务器获取的日志信息对应的储存格式和储存路径;所述第一预设储存区域包括与若干个储存路径;

s211根据所述储存格式转换所述日志信息;

s212将所述转换后的日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述转换后的日志信息至所述第一预设储存区域对应的储存路径中。

具体的,本实施例中通过修改flume源码,将flume服务器接收nginx服务器分发的日志信息存储到目标储存服务器中,即:

//定义日志信息在目标储存服务器中的存储格式

privatestaticfinalstringfilepath=“/nfs0/”+data+hour+“/”;

//将日志信息备份到存储服务器,即根据日志信息数组生成文件组,根据储存格式中的日志名对应存放日志信息至目标储存服务器的相应储存路径;

privatevoidbyte2file(byte[]buf,stringfilepath,stringfilename)

{

file=newfile(filepath+filename);

fos=newfileoutputstream(file);

bos=newbufferedoutputstream(fos);

bos.wirte(buf);

}

具体的,本实施例中,若有多个flume服务器,通过那么在这多个flume服务器挂载的同一个目标储存服务器中就有对应数量的存储文件,这些存储文件在目标储存服务器的同一个储存目录中,示例性的,有n个flume服务器,目标储存服务器会生成一个储存备份文件夹,这个储存备份文件会有n个子文件夹,第i个子文件夹对应储存第i个flume服务器获取的日志信息,将日志信息根据设定的储存格式进行转换,能够加快数据储存备份的效率,也便于根据同一储存格式进行查找调用,储存至目标储存服务器中对应的第一预设储存区域内,能够在数据处理出现故障时,通过储存格式快速、高效的从目标储存服务器中的储存路径调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接根据储存格式从目标储存服务器的储存路径调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于储存服务器的容量大,储存备份日志信息的时间长,更能降低数据丢失的概率。

本发明一种数据备份方法的另一个实施例,是上述实施例的优化实施例,如图4所示,本实施例与上述实施例相比,主要改进在于,包括:

s100获取nginx服务器分发的日志信息;

s220将所述日志信息发送至所述目标flume服务器,使得所述目标flume服务器储存所述日志信息至对应的第二预设储存区域内。

具体的,本实施例中,目标flume服务器可以是与当前flume服务器处于同级的任何一个其他的flume服务器,即若有n+1个flume服务器,这n+1个flume服务器并行式获取nginx服务器分发的日志信息,如果当nginx服务器检测到某台flume服务器由于故障或者数据流动性低而不接收日志信息,则将分发至该flume服务器的日志信息分发到其他n个中的任意一个flume服务器中。目标flume服务器也可以是与当前flume服务器处于不同级的主控flume服务器,即若有n+1个flume服务器,nginx服务器分发日志信息至n个flume服务器,这n个flume服务器将所有的日志信息汇总至剩下的主控flume服务器。本发明通过flume服务器之间的相互备份,能够在数据处理出现故障时,通过从目标flume服务器中调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接从目标储存服务器调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于不需要新增目标储存服务器,能够减少日志信息备份储存的搭建成本。

本发明一种数据备份方法的另一个实施例,是上述实施例的优化实施例,如图5所示,本实施例与上述实施例相比,主要改进在于,包括:

s100获取nginx服务器分发的日志信息;

s230将所述日志信息储存至自身的第三预设储存区域内,且所述日志信息对应的保留时间为预设时长。

具体的,本实施例中,在大数据实时收集和处理过程中,通过在flume服务器中设置适当大小的flume服务器存储容量,即第三预设储存区域的数据储存容量在flume服务器磁盘容量的可储存范围内,并且将日志信息储存至每个flume服务器对应的第三预设储存区域的储存保留时间为预设时长,这样在扩容的情况下,增加每个flume服务器保留自身获取的日志信息的储存时间,如通过大数据分析得到故障出现周期,以大于等于故障出现周期的时间为保留日志信息的预设时长,能够在数据处理出现故障的情况下,尽可能的从对应的flume服务器自身的储存空间(即第三预设储存区域)调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接从对应的flume服务器调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于不需要额外的目标flume服务器或者目标储存服务器进行备份储存,能够减少备份系统搭建的成本。

本发明一种数据备份系统的一个实施例,如图6所示,包括:获取模块100和控制模块200;所述获取模块100与所述控制模块连接;

所述获取模块100,获取nginx服务器分发的日志信息;

所述控制模块200,备份储存所述日志信息至对应的预设储存区域。

具体的,本实施例应用于flume服务器,由于flume服务器是由三部分组成:source、channel和sink。其中source从nginx服务器接收日志信息,channel短暂存储日志信息,sink将日志信息存储到集中存储器比如hdfs服务器。移动终端根据公网域名发送用户网络行为日志信息,当日志信息到达域名服务器,则域名服务器则根据dns解析策略,将该公网域名解析到对应的公网ip中的某一个ip所在的带宽进行日志信息网络接收和传输,然后公网ip则通过nat映射关系,将日志信息传输到对应的局域网ip所对应的内部的局域网服务器,这里通过在两台nginx服务器上配置局域网ip(vip:192.168.***.***)参数设置,来实现互相备份容错,每次仅仅启动其中一台,若某台出现故障,则转换到另一台操作,即执行操作的nginx服务器状态为活跃状态(active),另一台则为等待被启动状态(back),当nginx服务器接收到日志信息后,分别将日志信息分发到多台flume服务器,并通过flume服务器将日志信息存储到对应的路径下。即在实时数据处理过程中,经过flume服务器的source接收nginx服务器分发的日志信息,将日志信息暂存在channel内,然后经过sink处理后,存储到hdfs,然后压缩存储在hive中。但是数据处理过程中,往往会出现系统故障,导致数据丢失和处理终止等现象,而故障的发现和处理又需要时间,所以通过nginx服务器获取移动终端通过局域网服务器上传的日志信息,nginx服务器将获取到的日志信息分发至各个flume服务器后,每个flume服务器将自身获取到的日志信息备份储存至预设储存区域内,从而实现日志信息的同步备份储存,避免数据处理传输过程出现故障时导致日志信息丢失的情况,对大数据架构起到一定的容错作用,不仅能够保障数据不丢失,而且为大数据架构异常检测和处理争取大量缓冲时间,提升数据处理的可靠性和高效性。

本发明一种数据备份系统的另一个实施例,是上述实施例的优化实施例,本实施例与上述实施例相比,主要改进在于,还包括:

挂载模块,挂载至同一目标储存服务器;

所述控制模块200包括:

第一存储单元,将所述日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述日志信息至对应的第一预设储存区域内。

具体的,本实施例中,若有多个flume服务器,通过那么在这多个flume服务器挂载至同一个目标储存服务器,该目标储存服务器中就有与flume服务器数量对应相同数量的第一预设储存区域,将日志信息储存至目标储存服务器中对应的第一预设储存区域内,能够在数据处理出现故障时,通过从目标储存服务器中调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接从目标储存服务器调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于储存服务器的容量大,储存备份日志信息的时间长,更能降低数据丢失的概率。

优选的,还包括:

设定模块,设定每一flume服务器获取的日志信息对应的储存格式和储存路径;所述第一预设储存区域包括与若干个储存路径;

所述第一储存单元包括:

转换子单元,根据所述储存格式转换所述日志信息;

储存子单元,将所述转换后的日志信息发送至所述目标储存服务器,使得所述目标储存服务器储存所述转换后的日志信息至所述第一预设储存区域对应的储存路径中。

具体的,本实施例中,若有多个flume服务器,通过那么在这多个flume服务器挂载的同一个目标储存服务器中就有对应数量的存储文件,这些存储文件在目标储存服务器的同一个储存目录中,示例性的,有n个flume服务器,目标储存服务器会生成一个储存备份文件夹,这个储存备份文件会有n个子文件夹,第i个子文件夹对应储存第i个flume服务器获取的日志信息,将日志信息根据设定的储存格式进行转换,能够加快数据储存备份的效率,也便于根据同一储存格式进行查找调用,储存至目标储存服务器中对应的第一预设储存区域内,能够在数据处理出现故障时,通过储存格式快速、高效的从目标储存服务器中的储存路径调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接根据储存格式从目标储存服务器的储存路径调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于储存服务器的容量大,储存备份日志信息的时间长,更能降低数据丢失的概率。

优选的,所述控制模块200还包括:

第二存储单元,将所述日志信息发送至所述目标flume服务器,使得所述目标flume服务器储存所述日志信息至对应的第二预设储存区域内。

具体的,本实施例中,目标flume服务器可以是与当前flume服务器处于同级的任何一个其他的flume服务器,即若有n+1个flume服务器,这n+1个flume服务器并行式获取nginx服务器分发的日志信息,如果当nginx服务器检测到某台flume服务器由于故障或者数据流动性低而不接收日志信息,则将分发至该flume服务器的日志信息分发到其他n个中的任意一个flume服务器中。目标flume服务器也可以是与当前flume服务器处于不同级的主控flume服务器,即若有n+1个flume服务器,nginx服务器分发日志信息至n个flume服务器,这n个flume服务器将所有的日志信息汇总至剩下的主控flume服务器。本发明通过flume服务器之间的相互备份,能够在数据处理出现故障时,通过从目标flume服务器中调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接从目标储存服务器调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于不需要新增目标储存服务器,能够减少日志信息备份储存的搭建成本。

优选的,所述控制模块200还包括:

第三存储单元,将所述日志信息储存至自身的第三预设储存区域内,且所述日志信息对应的保留时间为预设时长。

具体的,本实施例中,在大数据实时收集和处理过程中,通过在flume服务器中设置适当大小的flume服务器存储容量,即第三预设储存区域的数据储存容量在flume服务器磁盘容量的可储存范围内,并且将日志信息储存至每个flume服务器对应的第三预设储存区域的储存保留时间为预设时长,这样在扩容的情况下,增加每个flume服务器保留自身获取的日志信息的储存时间,如通过大数据分析得到故障出现周期,以大于等于故障出现周期的时间为保留日志信息的预设时长,能够在数据处理出现故障的情况下,尽可能的从对应的flume服务器自身的储存空间(即第三预设储存区域)调取对应的日志信息,重新进行数据处理,能够避免数据丢失,保障数据处理的可靠性,由于不需要重新再获取日志信息,直接从对应的flume服务器调取相应的日志信息进行分析处理和故障排查,能够为故障检测和解除争取时间,提升数据处理的效率,而且由于不需要额外的目标flume服务器或者目标储存服务器进行备份储存,能够减少备份系统搭建的成本。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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