[发明专利]文件合并方法、装置及电子设备在审
申请号: | 202011082613.6 | 申请日: | 2020-10-10 |
公开(公告)号: | CN112395252A | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 刘舟;郭文杰 | 申请(专利权)人: | 广州三七互娱科技有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/16;G06F16/174;G06F16/182 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 陈志明 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 合并 方法 装置 电子设备 | ||
本申请公开了一种文件合并方法、装置及电子设备,所述方法包括:从分布式文件系统的数据库中获取数据分区中待合并的多个第一文件。将多个第一文件移动至数据分区中的临时文件夹,并对临时文件夹中的多个第一文件进行合并处理,形成第二文件,临时文件夹的文件属性为非隐藏。将第二文件发送至数据分区中的隐藏文件夹,并在检测到第二文件完全发送至隐藏文件夹后,将隐藏文件夹的文件属性由隐藏变更为非隐藏,以将第二文件回写至数据分区。
技术领域
本申请涉及数据处理技术领域,特别涉及一种文件合并方法、装置及电子设备。
背景技术
应用程序的日志在多个服务器同时运行时,上报到kafka的日志由消费者进程消费处理后,会以分布式存储的方式,对这些日志文件以ORC(Optimized Row Columnar)文件的格式进行压缩存储。由于ORC文件是分批落地,因此为保证实时查询的需要,每个批次的间隔需尽可能的小,且对于海量数据的采集,往往会使用多个消费者进行落地,导致分布式存储上的日志是以大量的ORC小文件形式落地,影响日志查询效率。为此,现有技术通过Hive提供的SQL(Structured Query Language)指令对这些ORC文件进行合并,以提高查询效率。
但由于Hive提供的SQL指令是在Hive分区映射的hdfs(Hadoop分布式文件系统)的文件夹上直接处理的,在合并结束后计算引擎会删除原文件夹的文件。因此在对有新增文件的文件夹上进行文件合并时,若新增文件为实时新增且文件合并过程所需时间过长,则在将合并后的文件覆盖到原文件夹时,会导致合并过程中该文件夹新增的文件被删除,造成数据丢失。
发明内容
本申请的目的在于至少解决现有技术中存在的技术问题之一,提供一种文件合并方法、装置及电子设备,避免文件在合并过程中,实时新增的文件被删除导致数据丢失,从而保证被存储的文件的完整性。
本申请实施例提供一种文件合并方法,包括:
从分布式文件系统的数据库中获取数据分区中待合并的多个第一文件。
将多个第一文件移动至数据分区中的临时文件夹,并对临时文件夹中的多个第一文件进行合并处理,形成第二文件,临时文件夹的文件属性为非隐藏。
将第二文件发送至数据分区中的隐藏文件夹,并在检测到第二文件完全发送至隐藏文件夹后,将隐藏文件夹的文件属性由隐藏变更为非隐藏,以将第二文件回写至数据分区。
进一步的,所述将多个第一文件移动至数据分区中的临时文件夹,包括:
检测多个第一文件的总文件尺寸,并在检测到多个第一文件的总文件尺寸处于预设范围时,生成临时文件夹,并将多个第一文件移动至临时文件夹。
进一步的,所述将多个第一文件移动至数据分区中的临时文件夹,包括:
扫描文件属性数据库,获取多个第一文件中各第一文件的各文件属性,文件属性数据库记录有第一文件的属性数据,属性数据包括第一文件的文件尺寸。
根据各第一文件的各文件属性,检测多个第一文件的总文件尺寸。
进一步的,所述将多个第一文件移动至数据分区中的临时文件夹,包括:
根据临时文件夹的存储地址,修改多个第一文件在分布式文件系统的元数据上的索引节点,以将多个第一文件移动至数据分区中的临时文件夹。
进一步的,在以将第二文件回写至数据分区后,还包括:
将第二文件的文件属性发送至文件属性数据库。
进一步的,在检测到第二文件完全发送至隐藏文件夹后,还包括:
删除临时文件夹。
进一步的,在本申请实施例中,提供了一种文件合并装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州三七互娱科技有限公司,未经广州三七互娱科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011082613.6/2.html,转载请声明来源钻瓜专利网。