CN106682061B - 一种分布式起源数据收集与存储系统 - Google Patents
一种分布式起源数据收集与存储系统 Download PDFInfo
- Publication number
- CN106682061B CN106682061B CN201610901863.5A CN201610901863A CN106682061B CN 106682061 B CN106682061 B CN 106682061B CN 201610901863 A CN201610901863 A CN 201610901863A CN 106682061 B CN106682061 B CN 106682061B
- Authority
- CN
- China
- Prior art keywords
- origin
- file
- task
- records
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013480 data collection Methods 0.000 claims abstract description 19
- 238000013500 data storage Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 140
- 239000000872 buffer Substances 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000002085 persistent effect Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 abstract 2
- 230000006399 behavior Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式起源数据收集与存储系统,包括:内核态的起源信息收集模块、用户态的起源记录生成模块以及存储层模块,其中,起源信息收集模块是一个轻量级堆栈式文件系统,能挂载于任意的POSIX标准文件系统之上,起源记录生成模块分析起源信息收集模块收集的起源日志,生成起源关系,存储层模块以分布式文件系统为存储后端,为其他两个模块提供存储服务并将起源记录持久化到键值型起源数据库中。此发明具有高灵活性、高可移植性特点,适用于任意支持POSIX标准的分布式文件系统,且具有在用户态收集起源信息所不可比拟的低性能开销。
Description
技术领域
本发明涉及分布式文件系统中起源数据收集技术领域,具体涉及一种分布式起源数据收集与存储系统,更具体的说涉及了一种适用于任意POSIX标准分布式文件系统的高性能起源数据收集与存储系统。
背景技术
随着云存储平台的数据量不断增长,人们不满足于仅仅对海量数据的存储,而且希望能从海量数据中挖掘出更多的价值。另外,对于用户来说,数据的可靠性也变得越来越重要。比如,当用户在分布式文件系统中获取一个文件时,用户可能会问,这个文件是怎么来的,与其他文件存在什么联系,可靠性和安全性如何?显然,存储系统所收集的普通日志无法从根本上回答这些问题。起源(Provenance)信息作为一种描述数据对象演化历史的特殊元数据,正好可以用来回答上述问题。通过利用起源信息,用户可以更准确地表达分布式存储中数据的特征,进一步挖掘数据的价值,充分提升分布式存储系统中复杂数据的分析和应用。
目前,大部分的起源收集存储系统只适用于本地存储或特定云服务(如AWS),不能满足主流分布式文件系统的需求。文献[Transparent result caching]、文献[Lineagefile system]以及文献[Provenance-aware storage systems]通过修改系统内核,从而达到在本地系统收集起源数据的目的,这不仅对原系统产生安全隐患,而且不能直接适用于分布式环境。中国专利公开号为CN104092755A的专利以及文献[Provenance for thecloud]设计了专门的服务拦截协议收集云端的起源数据,但这两个起源收集装置只适用于特定的与服务,不能普遍适用于任意支持POSIX标准的分布式文件系统。
另外为分布式文件系统而设计的起源收集存储系统在用户态收集起源信息,性能上无法比肩在内核态收集起源。文献[Story book:An efficient extensible provenanceframework]和[Towards a provenance-aware distributed filesystem]在用户态采用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。
进一步地,所述键值型起源数据库采用Tokyo Cabinet数据库作为存储起源记录的数据库,包含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数据库存放任务,键为任务程序绝对路径的pnum号和进程启动时间,存放的任务相关信息包括:根进程pid,任务结束时间etime,宿主用户uid以及任务执行时的参数信息。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明采用了堆栈式文件系统技术,能够像FUSE文件系统那样易于开发,可移植性高,适用于任意POSIX标准的分布式文件系统。
(2)本发明在内核态收集起源数据,能获得比用户态的FUSE文件系统更低的性能开销。
(3)本发明的起源记录生成模块中的任务提取器提出一种全新的任务提取算法,该算法通过把具有相同目的的进程提取成任务,以任务代替进程作为文件操作的对象,不仅更加准确地描述分布式文件系统中的起源关系,而且降低了起源数据的存储空间。
(4)本发明采用最广泛使用的开发起源模型描述起源记录,并高效存储到键值型起源数据库中,提供多个起源记录查询接口,使得收集的起源信息具有易用性。
附图说明
图1是本发明公开的一种分布式起源数据收集与存储系统的结构原理图;
图2是本发明的IO起源记录的存储结构图;
图3是本发明的进程起源记录的存储结构图;
图4是本发明中任务提取器的工作流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本实施例公开了一种分布式起源数据收集与存储系统,包括内核态的起源信息收集模块(provfs)、用户态的起源记录生成模块以及存储层模块。
一、起源信息收集模块
起源信息收集模块处于内核态,通过堆叠式文件系统技术wrapfs以及劫持系统调用,分别收集分布式文件系统客户端的文件操作记录与进程行为记录,缓冲在一个环形缓冲队列中,再通过起源信息记录器(Logger)将缓冲队列的起源日志持久化到日志文件中。其不修改内核以及分布式文件系统的组件,从而获得高可移植性,同时保障分布式文件系统能够稳定运行。
起源信息收集模块用于在客户端的内核空间收集IO起源记录和进程起源记录,包括IO拦截子模块、进程拦截子模块、起源信息收集器以及起源信息记录器。
其中,IO拦截子模块基于wrapfs堆栈式文件系统,修改open,read,write,aio_read,aio_write这几个IO操作接口,从而完成IO拦截监控。IO拦截子模块位于虚拟文件系统与具体文件系统之间,通过正常转发用户从虚拟文件系统下发的IO,在不影响用户正常IO的前提下,进行收集用户IO的起源信息。进程拦截子模块是在Linux系统环境的客户端下,当文件系统挂载时,开启监控进程相关系统调用exit和exit_group。当文件系统卸载时,关闭监控进程相关系统调用。起源信息收集器用于收集分布式文件系统客户端的文件操作记录与进程行为记录。起源信息记录器(Logger)用于将缓冲队列的起源日志持久化到日志文件中。
起源信息收集器收集的IO起源记录的存储结构如图2所示,包含以下信息:记录类型(读/写)、进程PID、进程启动时间stime、文件的inode号、操作时间、用户UID、文件绝对路径的长度、文件绝对路径。
此外,起源信息收集器收集的进程起源记录的存储结构如图3所示,包含以下信息:记录类型、用户UID、进程PID、父进程PID、进程启动时间stime、进程结束时间etime、父进程启动时间、程序路径长度、环境信息长度、程序路径和环境信息。其中,进程PID与进程启动时间stime作为标识一个进程的唯一标识。
在内核态收集完IO起源记录和进程起源记录后,起源信息收集模块(provfs)将这些记录存储为起源日志,以供后续起源信息的分析与生成。起源信息收集模块(provfs)采用了一个暂存起源记录的环形缓冲池,环形缓冲池采用kfifo数据结构,并具有一个内核线程作为起源日志异步刷写线程。基于典型的消费者-生产者模型,起源信息收集器向缓冲池加入起源记录,起源信息记录器(Logger)则异步地从缓冲队列读取起源记录,写到存储层的起源日志文件中。
二、起源记录生成模块
起源记录生成模块处于用户态,用于批量处理起源日志,生成文件、进程的起源关系记录。先通过任务提取器分析进程行为,把多个进程组合成任务,再结合任务与文件操作记录生成Used,WGB,WTB等起源关系记录,并调用存储层模块接口持久化起源关系记录到键值型起源数据库。
起源记录生成模块包括任务提取器和起源记录生成器,
其中,任务提取器分析进程起源记录,把相互关联的多个进程组合成任务,输出进程到任务的哈希映射表P2TM。
任务提取器中任务提取方法的流程如图4所示,具体步骤如下:
S1、将起源信息收集模块(provfs)收集的进程信息列表加载入哈希映射表P2TM中,以进程的父进程PID作为初始值;
S2、遍历哈希映射表P2TM,过滤未知的父节点,若其父进程不存在P2TM的进程,将父进程PID改成自身PID,完成初始化;
S3、遍历哈希映射表P2TM的进程,回溯找到根节点,每一个进程在第一次找到自身的根节点时,更新为新的父进程PID,减少后续的重复查找,以达到路径压缩的效果,最后生成进程到任务的哈希映射表P2TM。
其中,起源记录生成器结合进程到任务的哈希映射表P2TM与文件操作记录生成Used,WGB,WTB三种起源关系记录,并调用存储层模块接口持久化起源关系记录到存储层模块的键值型起源数据库中。
本实施例中,起源关系的描述模型采用开放起源模型,描述Used,wasGeneratedBy(WGB),wasTriggerBy(WTB)三种关系,分别表示某个进程/任务使用过某文件,某文件由某进程/任务所产生,以及某进程被某任务所触发。
三、存储层模块
存储层模块为其他两个模块提供存储服务并将起源记录持久化到键值型起源数据库中。存储层模块以分布式文件系统作为存储后端,包括起源日志文件以及存储起源日志记录的键值型数据库。其中键值型数据库为Tokyo Cabinet,键值型起源数据库设计如下表所示:
表1.键值型数据库
键值型数据库采用Tokyo Cabinet数据库作为存储起源记录的数据库,包含F2N、N2F、ARGV2N、N2ARGV、TASK、WTB、WGB、USED、GENERATED九个数据库。
其中,F2N、N2F、ARGV2N、N2ARGV作为优化起源关系存储的数据库。F2N是文件绝对路径到一个起源对象号pnum(provenance number)的索引数据库,N2F是F2N的逆,即从一个pnum得到文件的路径。同样,ARGV2N和N2ARGV数据库是为了建立进程的参数信息的索引。
其中,WTB、WGB、USED、GENERATED作为主要存储起源关系的数据库。WTB数据库存放WTB起源记录,以进程PID,启动时间为键,存储所属任务的pnum、启动时间,以及进程的启动时间、结束时间、进程的可执行程序的绝对路径pnum。WGB数据库以文件路径pnum、操作时间optime作为键,存储WGB起源记录(任务pnum,启动时间)。USED和GENERATED数据库分别存储任务pnum所读写过的文件信息。
为了提升存储与查询起源信息的效率,存储层为文件或者程序的绝对路径以及进程参数信息建立了索引信息。F2N是文件绝对路径到一个起源对象号pnum(provenancenumber)的索引数据库,N2F是F2N的逆,即从一个pnum得到文件的路径。同样,ARGV2N和N2ARGV数据库是为了建立进程的参数信息的索引。
TASK数据库存放任务,键为任务程序绝对路径的pnum号和进程启动时间,存放的任务相关信息包括:根进程pid,任务结束时间etime,宿主用户uid以及任务执行时的参数信息(命令行)。
WTB数据库存放WTB起源记录,以进程PID,启动时间为键,存储所属任务的pnum、启动时间,以及进程的启动时间、结束时间、进程的可执行程序的绝对路径pnum。
WGB数据库以文件路径pnum、操作时间optime作为键,存储WGB起源记录(任务pnum,启动时间)。USED和GENERATED数据库分别存储任务pnum所读写过的文件信息。
Used,wasGeneratedBy(WGB),wasTriggerBy(WTB)三种起源关系记录分别存储在USED,WGB,WTB键值型起源数据库。
存储层模块以被监控分布式文件系统为存储后端,包含F2N、N2F、ARGV2N、N2ARGV、TASK、WTB、WGB、USED、GENERATED九个数据库。并构建起源记录索引,提供键值型起源数据库的查询接口,主要包含起源记录单点查询、Top-k查询和范围查询。
综上所述,本实施例公开了一种普遍适用于主流分布式文件系统的高性能起源数据收集存储系统,即ProDFS(Provenance for Distributed File System)。ProDFS通过实现一个轻量级的provfs堆栈式文件系统收集起源信息,不修改内核以及分布式文件系统的组件,从而获得高可移植性,同时保障分布式文件系统能够稳定运行。其次,为解决以进程粒度无法准确描述分布式文件系统的起源关系问题,本发明的起源记录生成模块中的任务提取器采用一种全新的任务提取算法,该算法通过把具有相同目的的进程提取成任务,以任务代替进程作为文件操作的对象,从而更加准确描述分布式文件系统中的起源关系。另外,ProDFS采用最广泛使用的开发起源模型描述起源记录,并高效存储到键值型起源数据库中,提供多个起源记录查询接口,使得收集的起源信息具有易用性。此发明具有灵活性高、可移植性高特点,适用于任意支持POSIX标准的分布式文件系统,且具有在用户态收集起源信息所不可比拟的低性能开销。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种分布式起源数据收集与存储系统,其特征在于,该系统包括:起源信息收集模块、起源记录生成模块以及存储层模块,其中,
所述起源信息收集模块处于内核态,通过wrapfs堆栈式文件系统技术以及劫持系统调用,分别收集分布式文件系统客户端的文件操作记录与进程行为记录,缓冲在一个环形缓冲队列中,异步将缓冲队列的起源日志持久化到日志文件中;其不修改内核以及分布式文件系统的组件,从而获得高可移植性,同时保障分布式文件系统能够稳定运行;
所述起源记录生成模块处于用户态,用于批量处理起源日志,生成文件、进程的起源关系记录,并调用所述存储层模块接口持久化起源关系记录到键值型起源数据库;
所述存储层模块包括起源日志文件以及存储起源日志记录的键值型起源数据库,以分布式文件系统作为存储后端提供存储服务,并将起源记录持久化到键值型起源数据库中;
所述起源信息收集模块包括IO拦截子模块、进程拦截子模块、起源信息收集器以及起源信息记录器;
其中,所述IO拦截子模块基于wrapfs堆栈式文件系统,处于虚拟文件系统与具体文件系统之间,通过修改wrapfs文件系统的IO操作接口,完成对虚拟文件系统下发IO的拦截监控;所述进程拦截子模块是在Linux系统环境的客户端下,当文件系统挂载时,开启监控进程相关系统调用exit和exit_group,当文件系统卸载时,关闭监控进程相关系统调用;所述起源信息收集器用于收集分布式文件系统客户端的文件操作记录与进程行为记录;所述起源信息记录器用于将缓冲队列的起源日志持久化到日志文件中;
所述起源信息收集器收集的进程起源记录包含以下信息:记录类型、用户UID、进程PID、父进程PID、进程启动时间stime、进程结束时间etime、父进程启动时间、程序路径长度、环境信息长度、程序路径和环境信息,其中,所述进程PID与所述进程启动时间stime作为标识一个进程的唯一标识。
2.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,
所述起源信息收集器收集的IO起源记录包含以下信息:记录类型为读或写、进程PID、进程启动时间stime、文件的inode号、操作时间、用户UID、文件绝对路径的长度、文件绝对路径。
3.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,
所述起源信息收集模块采用一个暂存起源记录的环形缓冲池,所述环形缓冲池采用kfifo数据结构,并具有一个内核线程作为起源日志异步刷写线程。
4.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,
所述起源记录生成模块包括任务提取器和起源记录生成器;其中,
所述任务提取器分析进程起源记录,把相互关联的多个进程组合成任务,输出进程到任务的哈希映射表P2TM;
所述起源记录生成器结合所述进程到任务的哈希映射表P2TM与文件操作记录生成起源关系记录,并调用所述存储层模块接口持久化起源关系记录到所述存储层模块的键值型起源数据库中。
5.根据权利要求4所述的一种分布式起源数据收集与存储系统,其特征在于,
所述起源关系的描述模型采用开放起源模型,描述Used、wasGeneratedBy、wasTriggerBy三种关系,分别表示某个进程/任务使用过某文件、某文件由某进程/任务所产生以及某进程被某任务所触发。
6.根据权利要求4所述的一种分布式起源数据收集与存储系统,其特征在于,
所述任务提取器中任务提取方法的具体步骤如下:
S1、将起源信息收集模块收集的进程信息列表加载入哈希映射表P2TM中,以进程的父进程PID作为初始值;
S2、遍历哈希映射表P2TM,过滤未知的父节点,若其父进程不存在P2TM的进程,将父进程PID改成自身PID,完成初始化;
S3、遍历哈希映射表P2TM的进程,回溯找到根节点,每一个进程在第一次找到自身的根节点时,更新为新的父进程PID,减少后续的重复查找,以达到路径压缩的效果,最后生成进程到任务的哈希映射表P2TM。
7.根据权利要求1所述的一种分布式起源数据收集与存储系统,其特征在于,
所述键值型起源数据库采用Tokyo Cabinet数据库作为存储起源记录的数据库,包含F2N、N2F、ARGV2N、N2ARGV、TASK、WTB、WGB、USED、GENERATED九个数据库,并构建起源记录索引,提供键值型起源数据库的查询接口,包含起源记录单点查询、Top-k查询和范围查询。
8.根据权利要求7所述的一种分布式起源数据收集与存储系统,其特征在于,
所述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数据库存放任务,键为任务程序绝对路径的pnum号和进程启动时间,存放的任务相关信息包括:根进程pid,任务结束时间etime,宿主用户uid以及任务执行时的参数信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610901863.5A CN106682061B (zh) | 2016-10-17 | 2016-10-17 | 一种分布式起源数据收集与存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610901863.5A CN106682061B (zh) | 2016-10-17 | 2016-10-17 | 一种分布式起源数据收集与存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106682061A CN106682061A (zh) | 2017-05-17 |
CN106682061B true CN106682061B (zh) | 2019-09-17 |
Family
ID=58840257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610901863.5A Active CN106682061B (zh) | 2016-10-17 | 2016-10-17 | 一种分布式起源数据收集与存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106682061B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569651A (zh) * | 2019-08-27 | 2019-12-13 | 北京明朝万达科技股份有限公司 | 基于国产操作系统的文件透明加解密方法及系统 |
CN111241136A (zh) * | 2020-01-07 | 2020-06-05 | 桂林电子科技大学 | 一种基于数据缓冲池的Top-k高效用项集挖掘方法 |
CN111831757B (zh) * | 2020-06-09 | 2023-05-12 | 时时同云科技(成都)有限责任公司 | 分布式全局唯一标识信息的生成和管理方法及装置 |
CN112269536A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 存储软件系统调优方法、装置及计算机可读存储介质 |
CN114327662B (zh) * | 2021-12-30 | 2024-10-18 | 山石网科通信技术股份有限公司 | 操作系统的处理方法及装置、存储介质和处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670708A (zh) * | 2004-03-17 | 2005-09-21 | 联想(北京)有限公司 | 一种计算机日志的管理方法 |
CN104901996A (zh) * | 2015-01-15 | 2015-09-09 | 南京师范大学 | 分布式缓存协同中避免内容重复存储的方法和装置 |
CN105279240A (zh) * | 2015-09-28 | 2016-01-27 | 暨南大学 | 客户端起源信息关联感知的元数据预取方法及系统 |
-
2016
- 2016-10-17 CN CN201610901863.5A patent/CN106682061B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670708A (zh) * | 2004-03-17 | 2005-09-21 | 联想(北京)有限公司 | 一种计算机日志的管理方法 |
CN104901996A (zh) * | 2015-01-15 | 2015-09-09 | 南京师范大学 | 分布式缓存协同中避免内容重复存储的方法和装置 |
CN105279240A (zh) * | 2015-09-28 | 2016-01-27 | 暨南大学 | 客户端起源信息关联感知的元数据预取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106682061A (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106682061B (zh) | 一种分布式起源数据收集与存储系统 | |
CN107169083B (zh) | 公安卡口海量车辆数据存储与检索方法及装置、电子设备 | |
US11093466B2 (en) | Incremental out-of-place updates for index structures | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
Vora | Hadoop-HBase for large-scale data | |
US8868576B1 (en) | Storing files in a parallel computing system based on user-specified parser function | |
CN101866358B (zh) | 一种多维区间查询方法及系统 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
US9501488B1 (en) | Data migration using parallel log-structured file system middleware to overcome archive file system limitations | |
KR20130049111A (ko) | 분산 처리를 이용한 포렌식 인덱스 방법 및 장치 | |
KR101674176B1 (ko) | 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법 | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储系统 | |
CN109783018A (zh) | 一种数据存储的方法及装置 | |
CN114168540A (zh) | 文件索引信息处理方法、装置、电子设备及存储介质 | |
US10901982B2 (en) | Managing a data set | |
CN115114370B (zh) | 主从数据库的同步方法、装置、电子设备和存储介质 | |
US10262000B1 (en) | Global distributed file append using log-structured file system | |
US11860869B1 (en) | Performing queries to a consistent view of a data set across query engine types | |
US10558611B2 (en) | Format aware file system with file-to-object decomposition | |
CN107818126B (zh) | 一种面向Mongo数据库的全文信息检索方法 | |
CN111782588A (zh) | 一种文件读取方法、装置、设备和介质 | |
Zhanikeev | A new practical design for browsable over-the-network indexing | |
US10558618B1 (en) | Metadata compression | |
CN117807045B (zh) | 一种多级文件系统及其构建方法 | |
US20230055003A1 (en) | Method for Organizing Data by Events, Software and System for Same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |