Rrd 文档 总结 (三) 深入研究一下
来源:互联网 发布:知否 齐衡 编辑:程序博客网 时间:2024/05/18 15:50
2010年1月19日 星期二
* 研究一下JRobin的实现原理
* JRobin它自己扩展了数据类型,如RrdString、RrdInt、RrdLong、RrdDouble等!这些数据类型类型都是从RrdPrimitive这个类继承的。
* 在RrdPrimitive中的成员变量中有一个RrdBackend类的实例和一个pointer。
* 我们可以认为RrdBackend中包含了整个Rrd文件的所有信息,pointer 则是指向数据位置。
* 我们可以根据 pointer 和 RrdBackend 去读和写数据到rrd文件。
* *****************************************************************
* RrdBackend 现在有两种真正的具体实现,一个是RrdMemoryBackend,一个是RrdNioBackend
* RrdMemoryBackend 是将数据都存到内存中,RrdNioBackend 是将数据写到磁盘中。
* RrdMemoryBackend 用一个byte[] buffer数据存储信息,rrd文件的所有信息都通过RrdDef的定义算出所占用的Byte,这个数目就是buffer的下标。再将数据以Byte的形式写到buffer中。
* 我们可以通过参考RrdMemoryBackend 的实现,扩展出一种新的RrdBackend,如数据库的存储方式,这样就能将rrd数据存到数据库中了。
* 具体是,参考RrdMemoryBackend 将他的成员变量 buffer 提供出 Setter和getter方法,这样我们就能取到byte[]数组,再参考他的RrdMemoryBackendFactory类,更改他其中的方法,open exists delete 方法,将数据存到数据库中,并对其操作。
* 大概的就是这种方式思路,具体实现请仔细研究源码。
* ******************************************************************
* 以上 仅仅是我个人看JRobin源码了解到的,如有什么理解错误请指出!谢谢!
- Rrd 文档 总结 (三) 深入研究一下
- Rrd 文档 总结(一)
- Rrd 文档 总结(二) 介绍 JRobin
- YOUYOU深入学习Ganglia之二(转存RRD到MongoDB三种方案)
- MyBatis3.3.0文档学习总结(三) --sqlSession深入源码
- MyBatis3.3.0文档学习总结(三续) --sqlSession深入源码
- Android 深入的研究一下蓝牙
- WebService之WSDL文档深入分析(三)
- 软工之软工文档总结(三)
- java网络协议文章(研究一下)
- 深入QuickReport(三)
- 深入struts2(三)
- 深入QuickReport(三)
- ElasticSearch(三)--文档
- Jasmine文档(三)
- rrd数据库
- J2EE总结(三)——深入理解JSP开发工作原理
- 《深入理解Java虚拟机》读后总结 (三)JVM内存监控
- 什么是linux Qt
- 开始
- 使用 UNIX 的 10 个良好习惯
- 开心!!
- list-choice
- Rrd 文档 总结 (三) 深入研究一下
- prototype框架中dom对象方法
- 探索企业服务总线:了解 ESB 如何帮助您满足 SOA 解决方案的需求
- Shortcut 快捷方式 使用 - 1
- 努力准备 获取成功
- 指定的网络名不再可用
- 问题定义
- 在MSDN里看到的很有用的用户角色管理方法
- useradd 和adduser的区别及用法