您的位置:首页 > 其它

fusionCharts dataStreamURL获取服务端数据更新问题解决

2013-07-09 09:51 417 查看
添加数据邮票
考虑这样一个场景,在我们绘制现场的CPU使用监视器FusionWidgets XT实时线图。在这个系统中,我们假设的CPU使用率的变化被记录,每10秒。但是,能够有效地消耗带宽,我们这个数据流的图表每90秒。

要设置刷新间隔,我们设置了初始XML / JSON数据作为下:
< 图表 dataStreamURL = '以路径/ DataProviderPage.aspx'  refreshInterval = '90' ... > ... 数据... </ 图>


现在,DataProviderPage.aspx页是负责提供CPU利用率的统计。每次调用时,它需要提供9历史价值(图表调用此页面每90秒,但数据每10秒更新系统)。

在传统的系统中,DataProviderPage.aspx将保持跟踪“什么样的数据,最后发送到图表?” 可以使用会话变量或存储在数据库中。这可有点麻烦在无国籍环境-服务器场中的,塞申斯将不能很好地扩展和利用数据库用于此目的,需要很多额外的代码,你就必须每一个连接的用户的详细信息存储。

FusionWidgets XT采用了智能功能,帮助您轻松解决这个 - 数据邮票。数据邮票基本上是一个令牌传递的信息与每个更新的图表,并返回到服务器,这有助于在轻松识别哪些数据,最后发送到图表吗?“

让我们来看看在行动。
动机
在我们的例子中,理想情况下,我们将做到以下几点:

图表时,第一次呈现,我们将提供初始的日期/时间数据邮票XML / JSON数据,这样可以通过这个图表数据流URL页面(DataProviderPage.aspx)作为查询字符串。

现在要求的数据流的的URL页面(DataProviderPage.aspx)邮票(在这种情况下,日期/时间)从querystring提供任何CPU的数据记录后,作为输出数据的时间。建立数据字符串后,它也将追加更新的数据的时间戳,它是提供的最后一个数据的日期/时间。

整个数据和盖章现在被送到图表实时更新。

图表将读取该数据,更新视图,然后更新自己的数据邮票。

再次实时数据图表民意测验,它现在将追加更新的数据杜绝dataStreamURL的请求数据。步骤2,3和4,现在将递归地发生。
 
设置
要设置初始数据邮票,在下面的数据,你需要设置以下:
<的图... dataStreamURL = 'DataProviderPage.aspx  refreshInterval = '90'  dataStamp = '13:43:45' ... >


正如你可以在上面看到的那样,我们已经添加了数据随着时间的邮票,这是在这个例子13:43:45。每隔90秒,图表将调用以下URL:
DataProviderPage ASPX ?FCTimeIndex = 35454 &dataStamp = 13 :43 :45


在这里,你可以看到dataStamp已被添加到URL FCTimeIndex仅仅是一个参数添加图表,以避免缓存问题。

现在你代码中DataProviderPage.aspx可以要求这个数据邮票,然后在此时间之后发生提供值。此外,在提供了9个值(最后90秒)您的DataProviderPage.aspx将需要更新数据邮票,通过提供时间的最后CPU读数。因此,输出的数据DataProviderPage.aspx会读一些为:
&label=13:43:55,13:44:05,13:44:15,13:44:25,13:44:35,13:44:45,13:44:55,13:45:05,13:45:15|
value=34,23,65,34,23,65,34,45,34&dataStamp=13:45:15


在上面的输出,我们提供:

9个值标签

为相同的价值

更新数据邮票,这是最后一个值在此更新中提供的日期/时间

一旦达到此更新图表,它会自动更新,以绘制9个新的值,也将更新其数据邮票。下一次当图表调用DataProviderPage.aspx的,它会调用以下URL:
DataProviderPage ASPX ?FCTimeIndex = 37564 &dataStamp = 13 :45 :15 


注意已经更新的datastamp如何实时更新指定。这有助于不断更新的数据邮票,从而保持轨道的最后一个数据发送到图表。

以上是官网上关于dataStamp的介绍,红色标记部分是关键,在处理程序中回传数据时要加入dataStamp的值要不下次你接受的dataStamp值为NULL。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息