当前位置: 代码迷 >> Java Web开发 >> rrdtool中时间的存储格式是什么样的 急用
  详细解决方案

rrdtool中时间的存储格式是什么样的 急用

热度:506   发布时间:2016-04-17 10:54:46.0
rrdtool中时间的存储格式是什么样的 求助 急用
rrdtool的rrd文件中时间的存储格式是什么样的
比如 RrdDef rrdDef = new RrdDef("d:\\rrd\\test2009.rrd");//rrd 文件存放的目录
rrdDef.setStartTime(920804400L); //rrd 的存储的起始时间
rrdDef.addDatasource("speed", "COUNTER", 600, Double.NaN, Double.NaN);
rrdDef.addArchive("AVERAGE", 0.5, 1, 24);
rrdDef.addArchive("AVERAGE", 0.5, 6, 10);
RrdDb rrdDb = new RrdDb(rrdDef);
sample.setAndUpdate("920804700:12345");
sample.setAndUpdate("920805000:12357");
sample.setAndUpdate("920805300:12363");
sample.setAndUpdate("920805600:12363");
sample.setAndUpdate("920805900:12363");
sample.setAndUpdate("920806200:12373");
sample.setAndUpdate("920806500:12383");
sample.setAndUpdate("920806800:12393");
rrdDb.close();
中有哪些代表时间?sample.setAndUpdate("920804700:12345");中920804700表示的什么意思? 求助 急用
在线等

------解决方案--------------------
友情up
------解决方案--------------------
怎么刚刚帖出去的帖子就没了呢

JRobin 简单示例(ZT)

JRobin 主要用于时间序列数据的储存以及显示。它是RRDTools工具的纯java实现。它采用了与RRDTools同样的逻辑,并且采用同样的数据源,存档类 型,支持各种循环数据库的操作。JRobin给熟悉rrdtools工具但是又想使用纯java语言的人提供了一系列的api来支持循环数据库的操作。
先说一下RrdTools,它是round robin database tools的缩写。循环数据库(round robin database)具有固定的长度,数据库长度不会随着时间增加。数据库的空间是循环使用的,空间用完以后,最初的位置的数据将被新数据覆盖。这就类似一 个循环链表一样,有一个指针指向当前使用的空间,该空间使用完以后,指针自动的移动到下一个位置。
RrdTools数据库用来存储时间序列数据。一般来说,应该是数值类型,但是这也不是绝对的。使用rrdtools可以建立rrd数据库,储存数据,取回数据并且根据数据库中的内容使用gif格式生成图片。
JRobin没有使用任何本地方法以及类库,没有使用runtime.exec(),同时也不需要rrdtools的存在,因此在所有具有java运行环境的系统中都可以使用,具有很好的可移植性。
为了让大家对jrobin有个认识,我们先看一个例子,这个例子来自于jrobin的网站。

假设你在开一辆车,而且每过一定的时间你看了一下里程表,得到了如下的数据,并想根据这些数据计算车的速度。
 12:05 12345 KM 12:10 12357 KM 12:15 12363 KM 12:20 12363 KM 12:25 12363 KM 12:30 12373 KM 12:35 12383 KM 12:40 12393 KM 12:45 12399 KM 12:50 12405 KM 12:55 12411 KM 13:00 12415 KM 13:05 12420 KM 13:10 12422 KM 13:15 12423 KM
我们看一下JRobin来存储,并且显示速度的程序
 package jrobintest;import org.jrobin.core.*;import java.io.*;import org.jrobin.graph.*;import java.awt.Color;public class test1 { public static void main(String[] args) { try { RrdDef rrdDef = new RrdDef("d:\\test.rrd");
rrdDef.setStartTime(920804400L);
rrdDef.addDatasource("speed", "COUNTER", 600, Double.NaN, Double.NaN);
rrdDef.addArchive("AVERAGE", 0.5, 1, 24);
rrdDef.addArchive("AVERAGE", 0.5, 6, 10);
RrdDb rrdDb = new RrdDb(rrdDef);
Sample sample = rrdDb.createSample();
sample.setAndUpdate("920804700:12345");
sample.setAndUpdate("920805000:12357");
sample.setAndUpdate("920805300:12363");
sample.setAndUpdate("920805600:12363");
sample.setAndUpdate("920805900:12363");
sample.setAndUpdate("920806200:12373");
sample.setAndUpdate("920806500:12383");
sample.setAndUpdate("920806800:12393");
sample.setAndUpdate("920807100:12399");
sample.setAndUpdate("920807400:12405");
sample.setAndUpdate("920807700:12411");
sample.setAndUpdate("920808000:12415");
sample.setAndUpdate("920808300:12420");
sample.setAndUpdate("920808600:12422");
sample.setAndUpdate("920808900:12423");
rrdDb.close();
RrdGraphDef graphDef = new RrdGraphDef(920804400L, 920808000L);
graphDef.datasource("myspeed", "d:\\test.rrd", "speed", "AVERAGE");
graphDef.line("myspeed", new Color(0xFF, 0, 0), null, 2);
  相关解决方案