一种用于实时监控的循环事件存取方法和装置.pdf

上传人:1*** 文档编号:4578314 上传时间:2018-10-21 格式:PDF 页数:11 大小:509.06KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010233674.8

申请日:

2010.07.22

公开号:

CN101894161A

公开日:

2010.11.24

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 17/30变更事项:专利权人变更前:北京天融信科技股份有限公司变更后:北京天融信科技有限公司变更事项:地址变更前:100085 北京市海淀区上地东路1号院3号楼3层北侧301室变更后:100085 北京市海淀区上地东路1号院3号楼3层北侧301室|||专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 17/30变更事项:专利权人变更前:北京天融信科技有限公司变更后:北京天融信科技股份有限公司变更事项:地址变更前:100085 北京市海淀区上地东路1号院3号楼3层北侧301室变更后:100085 北京市海淀区上地东路1号院3号楼3层北侧301室|||专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 17/30变更事项:专利权人变更前:北京天融信科技股份有限公司变更后:北京天融信科技有限公司变更事项:地址变更前:100085 北京市海淀区上地东路1号院3号楼3层北侧301室变更后:100085 北京市海淀区上地东路1号院3号楼3层北侧301室|||专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 17/30变更事项:专利权人变更前:北京天融信科技有限公司变更后:北京天融信科技股份有限公司变更事项:地址变更前:100085 北京市海淀区上地东路1号院3号楼3层北侧301室变更后:100085 北京市海淀区上地东路1号院3号楼3层北侧301室|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20100722|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

北京天融信科技有限公司

发明人:

张凤羽

地址:

100085 北京市海淀区上地东路1号院3号楼3层北侧301室

优先权:

专利代理机构:

信息产业部电子专利中心 11010

代理人:

梁军

PDF下载: PDF下载
内容摘要

本发明公开了一种用于实时监控的循环事件存取方法和装置,在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,本发明的文件结构基于信息字段中的环形索引作为事件的索引,当写入的事件数未达到最大值n时,将新事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段。本发明通过环形索引反向快速定位要查找的事件,实现在高速插入的同时实现快速查询,有效循环利用磁盘空间,防止出现空间不足等问题。

权利要求书

1.一种用于实时监控的循环事件存取方法,其特征在于,包括:在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,信息字段包括文件中写入事件数的最大值n和最后一次写入事件的索引i,索引i与写入事件数的最大值n、事件信息字段关联,事件信息字段与事件字段关联;判断写入的事件数是否达到最大值n,当写入的事件数未达到最大值n时,将新事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段;通过索引i反向取出需要监控的事件。2.根据权利要求1所述用于实时监控的循环事件存取方法,其特征在于,所述索引i与写入事件数的最大值n、事件信息字段关联的具体内容是:所述索引i=(i)mod(n)+1,对应着该事件在当前文件的偏移和占用的空间大小的存储位置。3.根据权利要求1或2所述用于实时监控的循环事件存取方法,其特征在于,所述事件信息字段包括事件在当前文件的偏移和占用的空间大小,事件在当前文件的偏移和占用的空间大小分别占用一个字段。4.根据权利要求3所述用于实时监控的循环事件存取方法,其特征在于,所述空闲空间信息字段包括空闲空间在当前文件的偏移和空闲空间大小,空闲空间在当前文件的偏移和空闲空间大小分别占用一个字段。5.根据权利要求1、2或4所述用于实时监控的循环事件存取方法,其特征在于,所述当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段的具体过程是:步骤一、根据新事件索引i找到文件中其对应的老事件在当前文件的偏移,判断新事件是否小于等于老事件,若是,则跳转步骤二,否则跳转步骤三;步骤二、从老事件在当前文件的偏移处开始写入新事件,并把老事件的剩余空间变更为空闲空间记录下来;步骤三、将老事件占用的空间与其相邻的空闲空间合并成新的空闲空间,判断新事件是否小于等于新的空闲空间,若是,则跳转步骤四,否则跳转步骤五;步骤四、将新事件写入新的空闲空间,记录新事件在当前文件的偏移和占用的空间大小,并将剩余空间变更为空闲空间记录下来;步骤五、在文件末尾写入新事件,记录新事件在当前文件的偏移和占用的空间大小。6.根据权利要求1所述用于实时监控的循环事件存取方法,其特征在于,所述通过索引i反向取出需要监控的事件的具体过程是:从索引i开始,获取索引i、i-1、i-2、......对应事件的事件信息字段,取出该事件;当取出第x个事件时,若i-x≥0,则取出索引i-x+1对应的事件;若i-x<0,则取出索引n+i-x+1对应的事件。7.一种用于实时监控的循环事件存取装置,其特征在于,包括如下组成部分:文件创建模块,用于在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,信息字段包括文件中写入事件数的最大值n和最后一次写入事件的索引i,索引i与写入事件数的最大值n、事件信息字段关联,事件信息字段与事件字段关联;事件写入模块,用于判断写入的事件数是否达到最大值n,当写入的事件数未达到最大值n时,将事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段;事件读取模块,用于通过索引i反向取出需要监控的事件。8.根据权利要求7所述用于实时监控的循环事件存取装置,其特征在于,所述索引i与写入事件数的最大值n、事件信息字段关联的具体内容是:所述索引i=(i)mod(n)+1,对应着该事件的事件信息字段的存储位置。9.根据权利要求7或8所述用于实时监控的循环事件存取装置,其特征在于,所述事件读取模块,进一步用于,从索引i开始,获取索引i、i-1、i-2、......对应事件的事件信息字段,取出该事件;当取出第x个事件时,若i-x≥0,则取出索引i-x+1对应的事件;若i-x<0,则取出索引n+i-x+1对应的事件。

说明书

一种用于实时监控的循环事件存取方法和装置

技术领域

本发明涉及系统运行监控技术领域,尤其涉及一种用于实时监控的循环事件存取方法和装置。

背景技术

实时监控一般是指利用软件对系统运行的过程进行同步的监控,比如:网络事件监控,表示用户通过收集网络事件随时掌握当前网络中发生的最新事件。

在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。由关系数据结构组成的数据库系统被称为关系数据库系统。在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。关系数据结构把一些复杂的数据结构归结为简单的二元关系,即二维表格形式。

目前普遍使用的实时监控方法有:

1)基于关系数据库的实时监控事件存取方法

目前普遍采用的实时监控事件存取示方法为基于关系数据库的存取,如oracle、MYSQL等等。此方法过程为:当收集到新的事件时,把事件进行归一化或格式化处理,插入到数据库系统中。当用户进行监控时,再从数据库中查询最新事件,进行展示。

此方法虽然在数据量少时,运行良好,但是当事件达到每秒上千条、或数据库压力过大时,会导致查询新事件的数据库操作时延过大,有时无法取得新入库的事件,从而造成监控不及时,甚至无法监控。

2)基于文件的实时监控事件存取方法

这种方法是把事件写入到一个文件中,监控时从文件尾部取出最新事件展示。但是由于系统会不停的收到新的事件,把事件写入文件会造成文件大小骤增,最终耗光所有的系统资源,造成系统无法运行或崩溃。

发明内容

本发明要解决的技术问题是,提供一种用于实时监控的循环事件存取方法和装置,在低系统资源消耗的情况下保证对事件监控的实时性和稳定性。

本发明采用的技术方案是,所述用于实时监控的循环事件存取方法,包括:

在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,信息字段包括文件中写入事件数的最大值n和最后一次写入事件的索引i,索引i与写入事件数的最大值n、事件信息字段关联,事件信息字段与事件字段关联;

判断写入的事件数是否达到最大值n,当写入的事件数未达到最大值n时,将新事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;

当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段;

通过索引i反向取出需要监控的事件。

所述索引i与写入事件数的最大值n、事件信息字段关联的具体内容是:

所述索引i=(i)mod(n)+1,对应着该事件在当前文件的偏移和占用的空间大小的存储位置。

所述事件信息字段包括事件在当前文件的偏移和占用的空间大小,事件在当前文件的偏移和占用的空间大小分别占用一个字段。

所述空闲空间信息字段包括空闲空间在当前文件的偏移和空闲空间大小,空闲空间在当前文件的偏移和空闲空间大小分别占用一个字段。

所述当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段的具体过程是:

步骤一、根据新事件索引i找到文件中其对应的老事件在当前文件的偏移,判断新事件是否小于等于老事件,若是,则跳转步骤二,否则跳转步骤三;

步骤二、从老事件在当前文件的偏移处开始写入新事件,并把老事件的剩余空间变更为空闲空间记录下来;

步骤三、将老事件占用的空间与其相邻的空闲空间合并成新的空闲空间,判断新事件是否小于等于新的空闲空间,若是,则跳转步骤四,否则跳转步骤五;

步骤四、将新事件写入新的空闲空间,记录新事件在当前文件的偏移和占用的空间大小,并将剩余空间变更为空闲空间记录下来;

步骤五、在文件末尾写入新事件,记录新事件在当前文件的偏移和占用的空间大小。

所述通过索引i反向取出需要监控的事件的具体过程是:

从索引i开始,获取索引i、i-1、i-2、......对应的事件在当前文件的偏移和占用的空间大小,取出该事件;

当取出第x个事件时,若i-x≥0,则取出索引i-x+1对应的事件;若i-x<0,则取出索引n+i-x+1对应的事件。

本发明还提供一种用于实时监控的循环事件存取装置,包括如下组成部分:

文件创建模块,用于在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,信息字段包括文件中写入事件数的最大值n和最后一次写入事件的索引i,索引i与写入事件数的最大值n、事件信息字段关联,事件信息字段与事件字段关联;

事件写入模块,用于判断写入的事件数是否达到最大值n,当写入的事件数未达到最大值n时,将事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段;

事件读取模块,用于通过索引i反向取出需要监控的事件。

所述索引i与写入事件数的最大值n、事件信息字段关联的具体内容是:

所述索引i=(i)mod(n)+1,对应着该事件的事件信息字段的存储位置。

所述事件读取模块,进一步用于,

从索引i开始,获取索引i、i-1、i-2、......对应事件的事件信息字段,取出该事件;

当取出第x个事件时,若i-x≥0,则取出索引i-x+1对应的事件;若i-x<0,则取出索引n+i-x+1对应的事件。

采用上述技术方案,本发明至少具有下列优点:

本发明所述用于实时监控的循环事件存取方法和装置,在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,本发明的文件结构基于信息字段中的环形索引作为事件的索引,当写入的事件数未达到最大值n时,将新事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段。本发明通过环形索引反向快速定位要查找的事件,实现在高速插入的同时实现快速查询,有效循环利用磁盘空间,防止出现空间不足等问题。

附图说明

图1为本发明创建的文件结构示意图;

图2为本发明第一实施例所述用于实时监控的循环事件存取方法流程图;

图3为本发明第二实施例所述用于实时监控的循环事件存取装置组成示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明提出的所述用于实时监控的循环事件存取方法和装置,详细说明如后。

本发明第一实施例,如图2所示,所述用于实时监控的循环事件存取方法,包括如下具体步骤:

步骤S101,在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,信息字段包括文件中写入事件数的最大值n和最后一次写入事件的索引i,索引i=(i)mod(n)+1,对应着该事件在当前文件的偏移和占用的空间大小的存储位置。事件信息字段与事件字段关联;

如图1所示,文件结构中各字段的位置和使用方法为:

信息字段:占据第1-2字段,包括文件中写入事件数的最大值n和最后一次写入事件的索引i;

事件信息字段:预留第3~(2n+2)字段,当有事件写入时,在第3~(2n+2)字段中顺次存储事件在当前文件的偏移和事件占用的空间大小,事件在当前文件的偏移和占用的空间大小分别占用一个字段,当写入的事件数达到最大值n时,新事件会覆盖最老的事件。

空闲空间信息字段:预留第(2n+3)~(4n+2)字段,当有空闲空间产生时,在第(2n+3)~(4n+2)字段中顺次存储空闲空间在当前文件的偏移和空闲空间大小,空闲空间在当前文件的偏移和空闲空间大小分别占用一个字段。初始未写入事件时,空闲空间只有一个,距第1字段的偏移是(2n+3),该空闲空间的大小是文件大小减去前面(2n+2)字段的大小,陆续写入事件后,空闲空间的偏移、大小以及个数都会发生变化。

事件字段:第(4n+3)字段以后的文件空间,用于写入事件内容;

步骤S102,当有事件写入时,判断写入的事件数是否达到最大值n,当写入的事件数未达到最大值n时,将事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,跳转步骤S103;

步骤S103,根据新事件索引i找到文件中其对应的老事件在当前文件的偏移,判断新事件是否小于等于老事件,若是,则跳转步骤S104,否则跳转步骤S105;

步骤S104,从老事件在当前文件的偏移处开始写入新事件,并把老事件的剩余空间变更为空闲空间记录下来;

需要说明的是,如果新事件与老事件所占空间的大小相等,则没有剩余空间,故不会新产生空闲空间记录。

步骤S105,将老事件占用的空间与其相邻的空闲空间合并成新的空闲空间,判断新事件是否小于等于新的空闲空间,若是,则跳转步骤S106,否则跳转步骤S107;

步骤S106,将新事件写入新的空闲空间,记录新事件在当前文件的偏移和占用的空间大小,并将剩余空间变更为空闲空间记录下来;

需要说明的是,如果新事件与新的空闲空间大小相等,则没有剩余空间,故不会新产生空闲空间记录。

步骤S107,在文件末尾写入新事件,记录新事件在当前文件的偏移和占用的空间大小。

步骤S108,通过索引i反向取出需要监控的事件,具体的,从索引i开始,获取索引i、i-1、i-2、......对应的事件在当前文件的偏移和占用的空间大小,取出该事件;

当取出第x个事件时,若i-x≥0,则取出索引i-x+1对应的事件;若i-x<0,则取出索引n+i-x+1对应的事件。

本发明第二实施例,如图3所示,一种用于实时监控的循环事件存取装置,包括如下组成部分:

1)文件创建模块,用于在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,信息字段包括文件中写入事件数的最大值n和最后一次写入事件的索引i=(i)mod(n)+1,对应着该事件在当前文件的偏移和占用的空间大小的存储位置。事件信息字段与事件字段关联。

事件信息字段包括事件在当前文件的偏移和占用的空间大小,事件在当前文件的偏移和占用的空间大小分别占用一个字段。

空闲空间信息字段包括空闲空间在当前文件的偏移和空闲空间大小,空闲空间在当前文件的偏移和空闲空间大小分别占用一个字段。

2)事件写入模块,用于判断写入的事件数是否达到最大值n,当写入的事件数未达到最大值n时,将事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;

当写入的事件数达到最大值n时,根据新事件索引i找到文件中其对应的老事件在当前文件的偏移,判断新事件是否小于等于老事件,若是,则老事件在当前文件的偏移处开始写入新事件,并把老事件的剩余空间变更为空闲空间记录下来;

否则将老事件占用的空间与其相邻的空闲空间合并成新的空闲空间,进一步判断新事件是否小于等于新的空闲空间,若是,则将新事件写入新的空闲空间,记录新事件在当前文件的偏移和占用的空间大小,并将剩余空间变更为空闲空间记录下来,否则在文件末尾写入新事件,记录新事件在当前文件的偏移和占用的空间大小。

3)事件读取模块,用于通过索引i反向取出需要监控的事件。具体的,从索引i开始,获取索引i、i-1、i-2、......对应的事件在当前文件的偏移和占用的空间大小,取出该事件;

当取出第x个事件时,若i-x≥0,则取出索引i-x+1对应的事件;若i-x<0,则取出索引n+i-x+1对应的事件。

本发明的文件结构基于环形索引i=(i)mod(n)+1,可以实现在高速插入的同时实现快速查询,查找效率为O(2),同时可以有效循环利用磁盘空间,防止出现空间不足等问题。通过索引还能快速定位要查找的事件。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

一种用于实时监控的循环事件存取方法和装置.pdf_第1页
第1页 / 共11页
一种用于实时监控的循环事件存取方法和装置.pdf_第2页
第2页 / 共11页
一种用于实时监控的循环事件存取方法和装置.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种用于实时监控的循环事件存取方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种用于实时监控的循环事件存取方法和装置.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明公开了一种用于实时监控的循环事件存取方法和装置,在文件中依次创建信息字段、事件信息字段、空闲空间信息字段和事件字段,本发明的文件结构基于信息字段中的环形索引作为事件的索引,当写入的事件数未达到最大值n时,将新事件依次写入事件字段,同时更新事件信息字段和空闲空间信息字段;当写入的事件数达到最大值n时,将新事件覆盖最老的事件或者写入事件字段末尾,同时更新事件信息字段和空闲空间信息字段。本发明通过。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1