日志数据的存储方法及系统技术方案

技术编号:14483374 阅读:74 留言:0更新日期:2017-01-26 02:55
本发明专利技术涉及计算机技术领域,公开了一种日志数据的存储方法及系统,所述方法包括:将日志数据按照所属实体簇的不同划分为多个日志记录分片;将各个日志记录分片分别写入分布式消息队列的不同主题;采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统。本发明专利技术实施例提出的日志数据的存储方法及系统,不仅实现了日志数据的无丢失暂存与快速装载,而且还能够保证日志数据以方便查询的格式装载到数据仓库中。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种日志数据的存储方法及系统
技术介绍
日志数据里蕴含有价值的信息。日志数据的及时有效的存储和分析,能够带来客观的商业价值。比如,通过分析服务器运行日志数据,我们可以分析发生故障的原因。通过分析电商网站的日志数据,我们可以了解用户最近的浏览/购买行为的变化,进而为其进行个性化的推荐。可见,个性化的分析需要我们保留明细的日志数据,而实时分析则要求我们尽快地把数据装载到数据仓库中。这是个性化实时分析的两个挑战,也就是明细数据不能丢失,数据要尽快装载。传统的日志处理技术只关注宏观信息,直接在数据流上进行一些简单检测,只需要保存必要的汇总数据,并且对数据入库的延迟问题没有具体要求。在实现本专利技术过程中专利技术人发现现有的日志数据的处理技术中至少存在以下缺陷:传统的日志处理技术无法快速实现日志数据中留明细日志数据的暂存,而且不能确保日志数据无丢失、快速地进入数据仓库。
技术实现思路
鉴于上述问题,本专利技术提出了一种日志数据的存储方法及系统,能够实现日志数据的无丢失暂存与快速装载。本专利技术的一个方面,提供了一种日志数据的存储方法,包括:将日志数据按照所属实体簇的不同划分为多个日志记录分片;将各个日志记录分片分别写入分布式消息队列的不同主题;采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统。可选地,所述方法还包括:通过接收日志数据流中包含的日志和/或读取指定文件中的日志实现日志数据的获取。可选地,所述将日志数据按照所属实体簇的不同划分为多个日志记录分片,包括:根据实体到实体簇的映射关系,将日志数据按照所属实体簇的不同划分为多个日志记录分片;其中,日志记录分片中包含有不同实体的日志数据。可选地,所述方法还包括:在所述分布式文件系统的每个数据节点上配置一个数据装载器,并为每一数据装载器划分对应的数据装载任务;所述数据装载任务包含实体簇集以及该实体簇集对应的主题集;所述主题集为所述实体簇集对应的日志记录分片在分布式消息队列中所存放的多个消息队列主题。可选地,所述采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统,包括:运行各个数据装载器,以使每一数据装载器根据其对应的数据装载任务,采用多线程方式从所述数据装载任务中包含的实体簇集对应的主题集中拉取日志记录分片,其中,每个线程拉取一个主题的日志记录分片;将各数据装载器拉取的日志记录分片,以压缩列存储格式保存到分布式文件系统。可选地,所述将各数据装载器拉取的日志记录分片,以压缩列存储格式保存到分布式文件系统,包括:每一数据装载器分别监控各自启动的多线程所拉取的日志记录分片的数据总量是否达到预设的数据阈值;若达到预设的数据阈值,则对每一线程所拉取的日志记录分片进行数据排序,并且把各个线程所拉取的日志记录分片进行组合,生成日志数据块;将所述日志数据块以压缩列存储格式保存到分布式文件系统。可选地,所述将所述日志数据块以压缩列存储格式保存到分布式文件系统之后,还包括:创建第一元信息表Block表,所述第一元信息表中包含有日志数据块的ID、日志数据块在分布式文件系统上的逻辑文件名,以及该日志数据块包含的实体簇信息,所述实体簇信息至少包括实体簇的ID;创建第二元信息表Offset表,所述第二元信息表中包含实体簇的ID,以及该实体簇ID对应消息队列的主题的偏移地址。可选地,所述方法还包括:定期对所述分布式文件系统中每个数据节点上配置的数据装载器对应的数据装载任务进行调整。本专利技术的又一个方面,提供了一种日志数据的存储系统,包括:数据划分单元,用于将日志数据按照所属实体簇的不同划分为多个日志记录分片;数据写入单元,用于将各个日志记录分片分别写入分布式消息队列的不同主题;数据装载单元,用于采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统。可选地,所数系统还包括:配置单元,用于在所述分布式文件系统的每个数据节点上配置一个数据装载器,并为每一数据装载器划分对应的数据装载任务;所述数据装载任务包含实体簇集以及该实体簇集对应的主题集;所述主题集为所述实体簇集对应的日志记录分片在分布式消息队列中所存放的多个消息队列主题;数据装载单元,具体用于运行各个数据装载器,以使每一数据装载器根据其对应的数据装载任务,采用多线程方式从所述数据装载任务中包含的实体簇集对应的主题集中拉取日志记录分片,其中,每个线程拉取一个主题的日志记录分片;以及,将各数据装载器拉取的日志记录分片,以压缩列存储格式保存到分布式文件系统。本专利技术实施例提供的日志数据的存储方法及系统,通过将日志数据按照所属实体簇的不同划分为多个日志记录分片,并分别写入分布式消息队列的不同主题,将分布式消息队列的不同主题中存放的日志记录分片采用多线程方式并行装载到分布式文件系统,不仅实现了日志数据的并行、快速的存储,保证日志数据不丢失,而且并行装载方式还能够保证日志数据以方便查询的格式装载到数据仓库中。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例的一种日志数据的存储方法的流程图;图2示出了本专利技术另一实施例的一种日志数据的存储方法的流程图;图3示出了本专利技术实施例的一种日志数据的存储方法中步骤S13的细分流程图;图4示出了本专利技术实施例中日志数据装载的并行处理的原理示意图;图5示出了本专利技术实施例的一种日志数据的存储系统的结构示意图;图6示出了本专利技术另一实施例的一种日志数据的存储系统的系统架构图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。图1示意性示出了本专利技术一个实施例的日志数据的存储方法的流程图。参照图1,本专利技术实施例的日志数据的存储方法具体包括以下步骤:S11、将日志数据按照所属实体簇的不同划分本文档来自技高网
...
日志数据的存储方法及系统

【技术保护点】
一种日志数据的存储方法,其特征在于,包括:将日志数据按照所属实体簇的不同划分为多个日志记录分片;将各个日志记录分片分别写入分布式消息队列的不同主题;采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统。

【技术特征摘要】
1.一种日志数据的存储方法,其特征在于,包括:将日志数据按照所属实体簇的不同划分为多个日志记录分片;将各个日志记录分片分别写入分布式消息队列的不同主题;采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过接收日志数据流中包含的日志和/或读取指定文件中的日志实现日志数据的获取。3.根据权利要求1所述的方法,其特征在于,所述将日志数据按照所属实体簇的不同划分为多个日志记录分片,包括:根据实体到实体簇的映射关系,将日志数据按照所属实体簇的不同划分为多个日志记录分片;其中,日志记录分片中包含有不同实体的日志数据。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:在所述分布式文件系统的每个数据节点上配置一个数据装载器,并为每一数据装载器划分对应的数据装载任务;所述数据装载任务包含实体簇集以及该实体簇集对应的主题集;所述主题集为所述实体簇集对应的日志记录分片在分布式消息队列中所存放的多个消息队列主题。5.根据权利要求4所述的方法,其特征在于,所述采用多线程方式,将所述分布式消息队列的不同主题中存放的日志记录分片并行装载到分布式文件系统,包括:运行各个数据装载器,以使每一数据装载器根据其对应的数据装载任务,采用多线程方式从所述数据装载任务中包含的实体簇集对应的主题集中拉取日志记录分片,其中,每个线程拉取一个主题的日志记录分片;将各数据装载器拉取的日志记录分片,以压缩列存储格式保存到分布式文件系统。6.根据权利要求5所述的方法,其特征在于,所述将各数据装载器拉取的日志记录分片,以压缩列存储格式保存到分布式文件系统,包括:每一数据装载器分别监控各自启动的多线程所拉取的日志记录分片的数据总量是否达到预设的数据阈值;若达到预设的数据阈值,则对每一线程所拉取的日志...

【专利技术属性】
技术研发人员:陈跃国覃雄派杜小勇金国栋丛一鸣刘阳
申请(专利权)人:中国人民大学
类型:发明
国别省市:北京;11

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

1