变长并发日志文件设计及实现报告.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
变长并发日志文件设计及实现报告

2014-3-16变长并发日志文件的设计及实现 2014-3-16 变长并发日志文件的设计及实现 目录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc385630859 程序员简介 PAGEREF _Toc385630859 \h 2 HYPERLINK \l _Toc385630860 设计要求 PAGEREF _Toc385630860 \h 2 HYPERLINK \l _Toc385630861 系统组成 PAGEREF _Toc385630861 \h 2 HYPERLINK \l _Toc385630862 主要功能 PAGEREF _Toc385630862 \h 2 HYPERLINK \l _Toc385630863 结构设计与分析 PAGEREF _Toc385630863 \h 2 HYPERLINK \l _Toc385630864 文件结构设计 PAGEREF _Toc385630864 \h 2 HYPERLINK \l _Toc385630865 数据类型设计 PAGEREF _Toc385630865 \h 3 HYPERLINK \l _Toc385630866 写入数据设计 PAGEREF _Toc385630866 \h 3 HYPERLINK \l _Toc385630867 文件锁的设计 PAGEREF _Toc385630867 \h 3 HYPERLINK \l _Toc385630868 写入数据设计 PAGEREF _Toc385630868 \h 4 HYPERLINK \l _Toc385630869 读出数据设计 PAGEREF _Toc385630869 \h 5 HYPERLINK \l _Toc385630870 时间获取转换方法 PAGEREF _Toc385630870 \h 5 HYPERLINK \l _Toc385630871 读取数据设计 PAGEREF _Toc385630871 \h 5 HYPERLINK \l _Toc385630872 运行结果截图 PAGEREF _Toc385630872 \h 6 HYPERLINK \l _Toc385630873 遇到的问题及心得 PAGEREF _Toc385630873 \h 8 HYPERLINK \l _Toc385630874 采用的技术 PAGEREF _Toc385630874 \h 8 HYPERLINK \l _Toc385630875 开发环境 PAGEREF _Toc385630875 \h 9 程序员简介 姓名:李尔楠 学号班级:计科1101 设计要求 系统组成 系统由两个文件组成,日志文件及索引文件;日志文件存放日志记录,日志记录由日志记录结构描述,及日志记录体组成;每个日志记录可包含任意条数据项,每个数据项可是任意数据类型及长度;日志记录结构描述对本记录的每个数据项进行描述。包括数据类型及长度;日志记录体根据日志记录结构描述来存放日志记录数据。索引文件存放自动增长的日志记录号,日志记录发生的日期及时间,指向日志文件中相应日志记录的文件指针。 主要功能 增加日志记录: 生成日志记录并写入。根据本次日志记录各数据项生成日志记录结构描述,再生成日志记录体,并追加到日志文件尾。 追加日志记录时要考虑并发写入问题(加锁) 根据当前日期时间,及日志记录的位置生成索引记录,并发写入索引文件。 日志记录与索引记录要同时锁定,否则会发生错误 浏览日志: 浏览给定时间段日志。根据给定时间段,遍历索引文件找到给定时间段的索引记录,然后根据索引记录读出日志记录并显示,直到时间段结束。 结构设计与分析 文件结构设计 本程序总体设计为两个txt文件,即一个日志文件Log,一个索引文件Index。其中日志文件中主要保存当前记录的总长度,当前记录的每个内容的类型及长度,还有具体内容这三部分;索引文件中则保存的是写入日志的当前时间和当前日志开始的位置指针。 其结构体分别定义如下: struct logStructure { int dataType; int dataSize; }; typedef struct indexStructure { time_t writeTime; int logF; }indexStructure_t; 数据类型设计 由于要求随机写入随机的数据类型,所以在此定义了6种数据类型,分别为char int short long float double类型,另外用字符数组来存放string类型的数据。 数据类型及数据

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档