[发明专利]一种日志数据的存储方法和装置无效
| 申请号: | 200710172018.X | 申请日: | 2007-12-07 |
| 公开(公告)号: | CN101187936A | 公开(公告)日: | 2008-05-28 |
| 发明(设计)人: | 蔡永航;邵小唐 | 申请(专利权)人: | 圣诺网络技术(上海)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/58 |
| 代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 苏培华;逯长明 |
| 地址: | 200050上海市长*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 日志 数据 存储 方法 装置 | ||
技术领域
本发明涉及计算机消息处理技术领域,特别是涉及一种将消息处理系统的日志数据存储在磁盘上的方法和装置。
背景技术
消息处理系统一般是指为帮助用户在网络间传递消息的计算机软件系统,具体应用有电子邮件系统,手机短消息网关,手机彩信网关等等。
在消息处理系统中日志模块主要是用来记录整个系统的运行情况以及用户操作行为等,系统中的每一个预先设置的日志记录点都将产生一条日志信息,随着系统的运行,系统将会不间断的产生日志信息。日志信息可以显示到登录该系统的终端显示器上,这种方式主要用于用户调试和查看系统状态;日志信息也可以存储到文件中,这种方式一般用于长期跟踪系统的运行状况以及用户的使用系统的行为。
日志信息直接显示到终端上,优点是可以实时地得到日志信息,直接输出到终端上对于系统的负载比较小,缺点是日志信息不能保存,输出行数还要受用户终端程序的限制。
因此,在很多的应用场合,一般都采用将日志信息存储到相应的日志文件中的方式。日志文件即保存有日志信息的资料,该方式的优点是基本没有条数的限制,可以使用软件浏览相应的日志信息。
现有技术中将日志信息写入文件的传统方式是将内容追加到文件尾部。具体的,将内容追加到文件尾部包含两个步骤,第一步是将文件内容写入磁盘,第二步是文件系统更新该文件的长度和所占用磁盘信息。但是在实际应用中,上述将日志信息写入文件的方式存在较大的缺陷。
首先,如果频繁追加内容至日志文件将导致此种更新文件系统信息的操作频繁发生,而由于追加文件内容和更新文件系统信息的操作是一个不可分割的过程,继而导致日志文件写入速度降低,增加了系统IO(输入输出)压力,对需要进行大量文件操作的消息系统来说影响尤其严重。
其次,现在的系统普遍采用的日志文件管理方式为同一天的日志写入一个日志文件中,该方式首先会带来上述的日志文件写入速度降低,增大系统IO压力的缺陷;其次,当需要记录的日志数据非常多时,日志文件过大将严重减慢文件的打开速度,进一步可能降低日志文件写入速度或浏览速度。
总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够提出一种创新的、以日志文件方式存储日志数据的方法,以克服现有技术的缺陷。
发明内容
本发明所要解决的技术问题是提供一种日志数据的存储方法和装置,能够提高日志数据写入日志文件的速度,对系统IO压力较小,并可以提高日志信息的读取速度。
为了解决上述问题,本发明公开了一种日志数据的存储方法,可以包括:获取需要存储的日志数据;判断该日志数据的长度是否超过预置的日志文件的基本块的长度;所述日志文件包括既定字节的基本块和扩展块;如果超过,则将该日志数据记录至预置的日志文件的扩展块中;如果没有超过,则将该日志数据记录至所述日志文件的空基本块中;每个基本块对应一条日志记录。
优选的,所述的方法还可以包括:判断当前欲写入日志数据的日志文件中的基本块是否已经全部用完;如果是,则自动创建一新的日志文件;如果否,则继续执行。
优选的,完成对日志数据的记录后,所述的方法还可以包括:将该日志数据在日志文件中的位置和长度记录至所述日志文件的索引块。
优选的,所述的方法还可以包括:判断如果向扩展块中写入所述日志数据,是否会超出扩展块的设定容量;如果是,则增加扩展块的容量,以容纳所述日志数据;并写入所述日志数据;如果否,则直接向扩展块写入所述日志数据。
依据本发明的另一优选实施例,还公开了一种日志数据的存储装置,包括:
接口模块,用于获取需要存储的日志数据;
写入模块,用于向日志文件写入日志数据;
第一判断模块,用于判断该日志数据的长度是否超过预置的日志文件的基本块的长度;所述日志文件包括既定字节的基本块和扩展块;如果超过,则通知所述写入模块将该日志数据记录至预置的日志文件的扩展块中;如果没有超过,则通知所述写入模块将该日志数据记录至所述日志文件的空基本块中;每个基本块对应一条日志记录。
优选的,所述的装置还可以包括:
第二判断模块,用于判断当前欲写入日志数据的日志文件中的基本块是否已经全部用完;如果是,则通知日志文件创建模块;如果否,则继续执行。
日志文件创建模块,用于依据通知自动创建一新的日志文件。
优选的,所述的装置还可以包括:
索引更新模块,用于当完成对日志数据的记录后,将该日志数据在日志文件中的位置和长度记录至所述日志文件的索引块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于圣诺网络技术(上海)有限公司,未经圣诺网络技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710172018.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





