当前位置: 首页 > 专利查询>暨南大学专利>正文

一种分布式起源数据收集与存储系统技术方案

技术编号:15391599 阅读:178 留言:0更新日期:2017-05-19 04:50
本发明专利技术公开了一种分布式起源数据收集与存储系统,包括:内核态的起源信息收集模块、用户态的起源记录生成模块以及存储层模块,其中,起源信息收集模块是一个轻量级堆栈式文件系统,能挂载于任意的POSIX标准文件系统之上,起源记录生成模块分析起源信息收集模块收集的起源日志,生成起源关系,存储层模块以分布式文件系统为存储后端,为其他两个模块提供存储服务并将起源记录持久化到键值型起源数据库中。此发明专利技术具有高灵活性、高可移植性特点,适用于任意支持POSIX标准的分布式文件系统,且具有在用户态收集起源信息所不可比拟的低性能开销。

A distributed data collection and storage system

The invention discloses a distributed origin data collection and storage system, including: the origin of the kernel information collection module, user state origin records generated module and memory module, wherein, the origin of the information collection module is a lightweight stackable file system, POSIX file system can be mounted in any standard, the origin of information the origin of the log collection module collects the origin records generated module analysis, generate the origin, the storage layer module to distributed file system for storage backend provides storage service for the other two modules and will have persistent source records to the key database type origin. The invention has high flexibility and high portability, and is suitable for any distributed file system supporting the POSIX standard, and has low cost performance which can not be collected in the user state to collect the origin information.

【技术实现步骤摘要】
一种分布式起源数据收集与存储系统
本专利技术涉及分布式文件系统中起源数据收集
,具体涉及一种分布式起源数据收集与存储系统,更具体的说涉及了一种适用于任意POSIX标准分布式文件系统的高性能起源数据收集与存储系统。
技术介绍
随着云存储平台的数据量不断增长,人们不满足于仅仅对海量数据的存储,而且希望能从海量数据中挖掘出更多的价值。另外,对于用户来说,数据的可靠性也变得越来越重要。比如,当用户在分布式文件系统中获取一个文件时,用户可能会问,这个文件是怎么来的,与其他文件存在什么联系,可靠性和安全性如何?显然,存储系统所收集的普通日志无法从根本上回答这些问题。起源(Provenance)信息作为一种描述数据对象演化历史的特殊元数据,正好可以用来回答上述问题。通过利用起源信息,用户可以更准确地表达分布式存储中数据的特征,进一步挖掘数据的价值,充分提升分布式存储系统中复杂数据的分析和应用。目前,大部分的起源收集存储系统只适用于本地存储或特定云服务(如AWS),不能满足主流分布式文件系统的需求。文献[Transparentresultcaching]、文献[Lineagefilesystem]以及文献[Provenance-awarestoragesystems]通过修改系统内核,从而达到在本地系统收集起源数据的目的,这不仅对原系统产生安全隐患,而且不能直接适用于分布式环境。中国专利公开号为CN104092755A的专利以及文献[Provenanceforthecloud]设计了专门的服务拦截协议收集云端的起源数据,但这两个起源收集装置只适用于特定的与服务,不能普遍适用于任意支持POSIX标准的分布式文件系统。另外为分布式文件系统而设计的起源收集存储系统在用户态收集起源信息,性能上无法比肩在内核态收集起源。文献[Storybook:Anefficientextensibleprovenanceframework]和[Towardsaprovenance-awaredistributedfilesystem]在用户态采用FUSE文件系统接口来收集起源数据,从而获得高可移植性,能普遍适用于主流的分布式文件系统,然而产生的性能开销较大。针对以上问题,目前亟待提出一种普遍适用于主流分布式文件系统的高性能起源数据收集存储系统。
技术实现思路
本专利技术的目的是为了解决现有技术中的上述缺陷,提供一种分布式起源数据收集与存储系统。本专利技术的目的可以通过采取如下技术方案达到:一种分布式起源数据收集与存储系统,该系统包括:内核态的起源信息收集模块(provfs)、用户态的起源记录生成模块以及存储层模块,其中,所述起源信息收集模块处于内核态,通过wrapfs堆叠式文件系统技术以及劫持系统调用,分别收集分布式文件系统客户端的文件操作记录与进程行为记录,缓冲在一个环形缓冲队列中,异步将缓冲队列的起源日志持久化到日志文件中;所述起源记录生成模块处于用户态,用于批量处理起源日志,生成文件、进程的起源关系记录,并调用所述存储层模块接口持久化起源关系记录到键值型起源数据库;所述存储层模块包括起源日志文件以及存储起源日志记录的键值型起源数据库,以分布式文件系统作为存储后端提供存储服务,并将起源记录持久化到键值型起源数据库中。进一步地,所述起源信息收集模块包括IO拦截子模块、进程拦截子模块、起源信息收集器以及起源信息记录器;其中,所述IO拦截子模块基于wrapfs堆栈式文件系统,处于虚拟文件系统与具体文件系统之间,通过修改IO操作接口,完成对虚拟文件系统下发IO的拦截监控;所述进程拦截子模块是在Linux系统环境的客户端下,当文件系统挂载时,开启监控进程相关系统调用exit和exit_group,当文件系统卸载时,关闭监控进程相关系统调用;所述起源信息收集器用于收集分布式文件系统客户端的文件操作记录与进程行为记录;所述起源信息记录器用于将缓冲队列的起源日志持久化到日志文件中。进一步地,所述起源信息收集器收集的IO起源记录包含以下信息:记录类型(读/写)、进程PID、进程启动时间stime、文件的inode号、操作时间、用户UID、文件绝对路径的长度、文件绝对路径。进一步地,所述起源信息收集器收集的进程起源记录包含以下信息:记录类型、用户UID、进程PID、父进程PID、进程启动时间stime、进程结束时间etime、父进程启动时间、程序路径长度、环境信息长度、程序路径和环境信息,其中,所述进程PID与所述进程启动时间stime作为标识一个进程的唯一标识。进一步地,所述起源信息收集模块采用一个暂存起源记录的环形缓冲池,所述环形缓冲池采用kfifo数据结构,并具有一个内核线程作为起源日志异步刷写线程。进一步地,所述起源记录生成模块包括任务提取器和起源记录生成器;其中,所述任务提取器分析进程起源记录,把相互关联的多个进程组合成任务,输出进程到任务的哈希映射表P2TM;所述起源记录生成器结合所述进程到任务的哈希映射表P2TM与文件操作记录生成起源关系记录,并调用所述存储层模块接口持久化起源关系记录到所述存储层模块的键值型起源数据库中。进一步地,所述起源关系的描述模型采用开放起源模型,描述Used、wasGeneratedBy、wasTriggerBy三种关系,分别表示某个进程/任务使用过某文件、某文件由某进程/任务所产生以及某进程被某任务所触发。进一步地,所述任务提取器中任务提取方法的具体步骤如下:S1、将起源信息收集模块收集的进程信息列表加载入哈希映射表P2TM中,以进程的父进程PID作为初始值;S2、遍历哈希映射表P2TM,过滤未知的父节点,若其父进程不存在P2TM的进程,将父进程PID改成自身PID,完成初始化;S3、遍历哈希映射表P2TM的进程,回溯找到根节点,每一个进程在第一次找到自身的根节点时,更新为新的父进程PID,减少后续的重复查找,以达到路径压缩的效果,最后生成进程到任务的哈希映射表P2TM。进一步地,所述键值型起源数据库采用TokyoCabinet数据库作为存储起源记录的数据库,包含F2N、N2F、ARGV2N、N2ARGV、TASK、WTB、WGB、USED、GENERATED九个数据库,并构建起源记录索引,提供键值型起源数据库的查询接口,包含起源记录单点查询、Top-k查询和范围查询。进一步地,所述F2N、所述N2F、所述ARGV2N、所述N2ARGV作为优化起源关系存储的数据库,所述F2N是文件绝对路径到一个起源对象号pnum的索引数据库,所述N2F是所述F2N的逆,即从一个pnum得到文件的路径看,所述ARGV2N和所述N2ARGV数据库是为了建立进程的参数信息的索引;所述WTB、所述WGB、所述USED、所述GENERATED作为主要存储起源关系的数据库,所述WTB数据库存放WTB起源记录,以进程PID,启动时间为键,存储所属任务的pnum、启动时间,以及进程的启动时间、结束时间、进程的可执行程序的绝对路径pnum,所述WGB数据库以文件路径pnum、操作时间optime作为键,存储WGB起源记录,所述USED和所述GENERATED数据库分别存储任务pnum所读写过的文件信息;所述TASK数据库存放任务,键为任务程序绝本文档来自技高网
...
一种分布式起源数据收集与存储系统

【技术保护点】
一种分布式起源数据收集与存储系统,其特征在于,该系统包括:起源信息收集模块、起源记录生成模块以及存储层模块,其中,所述起源信息收集模块处于内核态,通过wrapfs堆叠式文件系统技术以及劫持系统调用,分别收集分布式文件系统客户端的文件操作记录与进程行为记录,缓冲在一个环形缓冲队列中,异步将缓冲队列的起源日志持久化到日志文件中;所述起源记录生成模块处于用户态,用于批量处理起源日志,生成文件、进程的起源关系记录,并调用所述存储层模块接口持久化起源关系记录到键值型起源数据库;所述存储层模块包括起源日志文件以及存储起源日志记录的键值型起源数据库,以分布式文件系统作为存储后端提供存储服务,并将起源记录持久化到键值型起源数据库中。

【技术特征摘要】
1.一种分布式起源数据收集与存储系统,其特征在于,该系统包括:起源信息收集模块、起源记录生成模块以及存储层模块,其中,所述起源信息收集模块处于内核态,通过wrapfs堆叠式文件系统技术以及劫持系统调用,分别收集分布式文件系统客户端的文件操作记录与进程行为记录,缓冲在一个环形缓冲队列中,异步将缓冲队列的起源日志持久化到日志文件中;所述起源记录生成模块处于用户态,用于批量处理起源日志,生成文件、进程的起源关系记录,并调用所述存储层模块接口持久化起源关系记录到键值型起源数据库;所述存储层模块包括起源日志文件以及存储起源日志记录的键值型起源数据库,以分布式文件系统作为存储后端提供存储服务,并将起源记录持久化到键值型起源数据库中。2.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,所述起源信息收集模块包括IO拦截子模块、进程拦截子模块、起源信息收集器以及起源信息记录器;其中,所述IO拦截子模块基于wrapfs堆栈式文件系统,处于虚拟文件系统与具体文件系统之间,通过修改wrapfs文件系统的IO操作接口,完成对虚拟文件系统下发IO的拦截监控;所述进程拦截子模块是在Linux系统环境的客户端下,当文件系统挂载时,开启监控进程相关系统调用exit和exit_group,当文件系统卸载时,关闭监控进程相关系统调用;所述起源信息收集器用于收集分布式文件系统客户端的文件操作记录与进程行为记录;所述起源信息记录器用于将缓冲队列的起源日志持久化到日志文件中。3.根据权利要求2所述的一种分布式起源数据收集与存储系统,其特征在于,所述起源信息收集器收集的IO起源记录包含以下信息:记录类型(读/写)、进程PID、进程启动时间stime、文件的inode号、操作时间、用户UID、文件绝对路径的长度、文件绝对路径。4.根据权利要求2所述的一种分布式起源数据收集与存储系统,其特征在于,所述起源信息收集器收集的进程起源记录包含以下信息:记录类型、用户UID、进程PID、父进程PID、进程启动时间stime、进程结束时间etime、父进程启动时间、程序路径长度、环境信息长度、程序路径和环境信息,其中,所述进程PID与所述进程启动时间stime作为标识一个进程的唯一标识。5.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,所述起源信息收集模块采用一个暂存起源记录的环形缓冲池,所述环形缓冲池采用kfifo数据结构,并具有一个内核线程作为起源日志异步刷写线程。6.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,所述起源记录生成模块包括任务提取器和起源记录生成器;其中,所述任务提取器分析进程起源记录,把相互关联的多个进程组合成任务,输出进程到任务的哈希映射表P2TM...

【专利技术属性】
技术研发人员:邓玉辉吴国锦
申请(专利权)人:暨南大学
类型:发明
国别省市:广东,44

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

1