日志文件存储方法及装置制造方法及图纸

技术编号:15639038 阅读:41 留言:0更新日期:2017-06-15 20:59
一种日志文件存储方法及装置,所述方法包括:获取指定目录下的本地日志文件;将所获取的本地日志文件写入对应的云端文件;当确定所获取的本地日志文件写入对应的云端文件失败时,将对应的云端文件恢复至写入前的状态。上述的方案,可以在日志文件进行存储时节省开销。

【技术实现步骤摘要】
日志文件存储方法及装置
本专利技术属于日志文件处理
,特别是涉及一种日志文件存储方法及装置。
技术介绍
内容分发网络(ContentDeliveryNetwork,CDN)服务提供商是通过大量的边缘节点服务器来为客户提供加速服务。客户端的每一次访问,都会产生对应的日志文件。通过对日志文件进行分析处理,可以获取到有价值的信息,从而可以更好地为客户提供服务。ApacheHadoop是一款支持数据密集型分布式应用并以Apache2.0许可协议发布的开源软件框架,且支持在商品硬件构建的大型集群上运行的应用程序。Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)是Hadoop的一个核心组件,通过将多台服务器构建一个基于网络的分布式文件系统,实现海量数据的存储。但是,现有技术中的基于HDFS的日志文件存储方法,存在着运维成本高的问题。
技术实现思路
本专利技术实施例解决的问题是如何在日志文件进行存储时节省开销。为解决上述问题,本专利技术实施例提供了一种日志文件存储方法,所述方法包括:获取指定目录下的本地日志文件;将所获取的本地日志文件写入对应的云端文件;当确定所获取的本地日志文件写入对应的云端文件失败时,将对应的云端文件恢复至写入前的状态。可选地,所述将所获取的本地日志文件写入对应的云端文件,包括:分别采用二进制格式打开指定的本地日志文件和对应的云端文件;当确定采用二进制格式打开指定的本地日志文件和对应的云端文件成功时,将所述本地日志文件写入所述云端文件的末尾。可选地,所述对应的云端文件的大小的信息,为在将所获取的本地日志文件写入对应的云端文件之前获取。可选地,当确定所获取的本地日志文件写入对应的云端文件失败时,所述方法还包括:为所述本地日志文件添加出错标记,并记录所述对应的云端文件写入前的大小的信息;当再次遍历至所述本地日志文件且检测到所述出错标记时,获取所述对应的云端文件写入前的大小的信息;基于所述对应的云端文件写入前的大小的信息,将对应的云端文件恢复至写入前的状态;当将对应的云端文件恢复至写入前的状态时,重新执行所述将所述本地日志文件写入对应的云端文件的操作。可选地,所述基于所述对应的云端文件写入前的大小的信息,将对应的云端文件恢复至写入前的状态,包括:删除对应的云端文件的末尾的文件,以将对应的云端文件恢复至对应的云端文件写入前的大小。本专利技术实施例还提供了一种日志文件存储装置,所述装置包括:第一获取单元,适于获取指定目录下的本地日志文件;发送单元,适于将所获取的本地日志文件写入对应的云端文件;恢复单元,适于当确定所获取的本地日志文件写入对应的云端文件失败时,将对应的云端文件恢复至写入前的状态。可选地,所述发送单元,适于分别采用二进制格式打开指定的本地日志文件和对应的云端文件;当确定采用二进制格式打开指定的本地日志文件和对应的云端文件成功时,将所述本地日志文件写入所述云端文件的末尾。可选地,所述装置还包括:第二获取单元,适于在将所获取的本地日志文件写入对应的云端文件之前获取对应的云端文件的大小的信息。可选地,所述装置还包括:标记单元,适于为所述本地日志文件添加出错标记,并记录所述对应的云端文件写入前的大小的信息;恢复单元,适于当再次遍历至所述本地日志文件且检测到所述出错标记时,获取所述对应的云端文件写入前的大小的信息;基于所述对应的云端文件写入前的大小的信息,将对应的云端文件恢复至写入前的状态;重试单元,适于当将对应的云端文件恢复至写入前的状态时,重新执行所述将所述本地日志文件写入对应的云端文件的操作可选地,所述恢复单元,适于删除对应的云端文件的末尾的文件,以将对应的云端文件恢复至对应的云端文件写入前的大小。与现有技术相比,本专利技术的技术方案具有以下的优点:上述的方案,通过在确定将本地日志文件写入对应的云端文件失败时,将对应的云端文件自动恢复至写入前的大小,而无需人工手动删除写入失败本地日志文件,可以节省由于日志文件写入失败进行删除所耗费的时间人力资源,因而可以提高效率,并节约资源。附图说明图1是本专利技术实施例中一种的日志文件存储方法的流程图;图2是本专利技术实施例中另一种日志文件存储方法的流程图;图3是本专利技术实施例中如何对缓存周期内的日志文件进行压缩合并得到对应的本地日志文件的流程图;图4是本专利技术实施例中的一种日志文件存储装置的结构示意图。具体实施方式正如
技术介绍
所言,现有技术中的基于HDFS的日志文件存储方法,在将本地的日志文件写入对应的云端文件失败时,需要人工手动删除写入失败的本地文件。其中,在向同一个云端文件追加多个本地日志文件且失败时,HDFS提供的文件存储接口在网络连接未断开时支持失败重传。但是,当上传失败的次数达到预设的次数阈值或者网络连接中断时,HDFS将会反馈上传失败的信息,且不会将已经成功上传的不完整的日志内容进行删除。此时,现有一般采用人工手动的方式,将云端文件恢复至写入之前的状态,需要耗费大量的时间和精力,存在着操作复杂且效率低下的问题。为解决上述问题,本专利技术实施例中的技术方案通过在确定将本地日志文件写入对应的云端文件失败时,将对应的云端文件自动恢复至写入前的大小,可以节省由于日志文件写入失败进行删除所耗费的时间人力资源,因而可以提高效率,并节约资源。为使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。图1是本专利技术实施例中的一种日志文件存储方法的流程图。如图1所示的日志文件存储方法,可以包括:步骤S101:获取指定目录下的本地日志文件。在具体实施中,指定目录下的本地日志文件为待发送至云端进行存储的日志文件。步骤S102:将所获取的本地日志文件写入对应的云端文件。在具体实施中,对应的云端文件为存储在云端服务器中,且与所获取的本地日志文件具有相同域名。步骤S103:当确定所获取的本地日志文件写入对应的云端文件失败时,将对应的云端文件恢复至写入前的状态。在具体实施中,将对应的云端文件恢复至写入前的状态,也即将仅写入部分的所获取的本地日志文件的云端文件恢复至未写入所获取的本地日志文件时的状态,包括内容和大小。上述的方案,通过在确定将本地日志文件写入对应的云端文件失败时,将对应的云端文件自动恢复至写入前的大小,而无需人工手动删除写入失败本地日志文件,可以节省由于日志文件写入失败进行删除所耗费的时间人力资源,因而可以提高效率,并节约资源。下面将结合图2对本专利技术实施例中的日志文件存储方法进行详细的描述。参见图2,本专利技术实施例中的日志文件存储方法适于将服务器中存储的日志文件发送至云端进行存储,具体可以采用如下的步骤实现:步骤S201:获取指定目录下的本地日志文件。在本专利技术一实施例中,所获取的指定目录的本地日志文件可以是实时接收到预处理后的日志文件。例如,远程服务器在获取到边缘节点服务器产生的日志文件时,可以将所获取的日志文件按照域名和预设的第一时间粒度进行合并,并将合并后得到的日志文件发送至本专利技术实施例中的服务器中并存储。其中,第一时间粒度可以根据实际的需要进行设置,如5分钟。在本专利技术另一实施例中,指定的本地日志文件是将对应的缓存时间周期内所接收的远程服务器发送的经过预处理的日志文件进行压缩合并得到的GZIP格式的日志本文档来自技高网
...
日志文件存储方法及装置

【技术保护点】
一种日志文件存储方法,其特征在于,包括:获取指定目录下的本地日志文件;将所获取的本地日志文件写入对应的云端文件;当确定所获取的本地日志文件写入对应的云端文件失败时,将对应的云端文件恢复至写入前的状态。

【技术特征摘要】
1.一种日志文件存储方法,其特征在于,包括:获取指定目录下的本地日志文件;将所获取的本地日志文件写入对应的云端文件;当确定所获取的本地日志文件写入对应的云端文件失败时,将对应的云端文件恢复至写入前的状态。2.根据权利要求1所述的日志文件存储方法,其特征在于,所述将所获取的本地日志文件写入对应的云端文件,包括:分别采用二进制格式打开指定的本地日志文件和对应的云端文件;当确定采用二进制格式打开指定的本地日志文件和对应的云端文件成功时,将所述本地日志文件写入所述云端文件的末尾。3.根据权利要求1所述的日志文件存储方法,其特征在于,所述对应的云端文件的大小的信息,为在将所获取的本地日志文件写入对应的云端文件之前获取。4.根据权利要求3所述的日志文件存储方法,其特征在于,当确定所获取的本地日志文件写入对应的云端文件失败时,还包括:为所述本地日志文件添加出错标记,并记录所述对应的云端文件写入前的大小的信息;当再次遍历至所述本地日志文件且检测到所述出错标记时,获取所述对应的云端文件写入前的大小的信息;基于所述对应的云端文件写入前的大小的信息,将对应的云端文件恢复至写入前的状态;当将对应的云端文件恢复至写入前的状态时,重新执行所述将所述本地日志文件写入对应的云端文件的操作。5.根据权利要求4所述的日志文件存储方法,其特征在于,所述基于所述对应的云端文件写入前的大小的信息,将对应的云端文件恢复至写入前的状态,包括:删除对应的云端文件的末尾的文件,以将对应的云端文件恢复至对应的...

【专利技术属性】
技术研发人员:黄凯旋杨宁顾庆荣康凯
申请(专利权)人:江苏天联信息科技发展有限公司
类型:发明
国别省市:江苏,32

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

1