精华内容
下载资源
问答
  • WaterGEMS第三讲:EPS延时计算

    千次阅读 2017-07-30 21:33:37
    啥叫延时计算呢,这里延时指的是我计算的时间不是一个时间,而是好几个时间,比如我们以前都是计算在一个小时之内的压力和流量,但是现在我们要计算的是24小时内各个小时的压力和流量。 这原理是怎么样子的呢,其实...

    之前已经说过了水力计算以及水质计算的方法,但是这并不能代表我们的课程结束了,我们今天即将开始新的课程——EPS延时计算。啥叫延时计算呢,这里延时指的是我计算的时间不是一个时间,而是好几个时间,比如我们以前都是计算在一个小时之内的压力和流量,但是现在我们要计算的是24小时内各个小时的压力和流量。

    这原理是怎么样子的呢,其实把,就是乘一个系数,比如我们开始时候设置水量是20,那么每小时都有一个系数,如果系数是1.1,那么就是20*1.1=22。原理讲完了,下面我们来说一下软件是如何操作的。

    第一步按照第一、第二讲的方式将模型中的参数给它设定好,水质、水力分别运行一下,看看有没有毛病,没有毛病的话进行第二步,第一步如图1


    图1

    后选择 菜单栏中的Analysis->calculation options,弹出如图2的对话框。


    图2

    之后单击EPS solver中的一个项目(如果水质运行后,会有两个项目),然后进入属性菜单,如图3,并在菜单中选择进行水力或水质计算。


    图3

    在Calculation Times中的Time analysis Type中选择EPS选项,开始时间随便定一个就好,然后Duration (hours) 写上24小时,Hydraulic time step (hour)为每次步进一小时。

    之后选择菜单栏的components —> patterns ,后出现菜单如图4


    图4

    选择Hydraulic,并单击左上角新建选项,新建一个模式,并按照图5输入24小时的数据,其中第24小时数据一定要与Starting Multiplier数据相同,否则会报错


    图5

    同理,水质也这样订一下24小时数据,方法是选择右边的Constituent选项新建。

    之后,把水力的模式放入各个节点中(如果实际情况每个节点的模式会不同,即需要多建立几个Pattern),方法是选择菜单栏,View -> FlexTables -> Junction Table,之后打开Demand collection模块,把Pattern (Demand)选择为刚才新建的即可,如图6


    图6

    接下来,选择在FlexTable中选择Reservoir Table,并且在其中将Pattern (constituent)改为刚才新建的水质模式,如图7


    图7

    接下来按照图3,选择水力计算或者水质计算,然后compute(绿色的向右的箭头进行计算),计算之后如图8所示(计算为两次,一次水力,一次水质,本文仅用水质的做说明)。


    图8

    之后单击菜单栏Analysis -> Time Browser,并选择需要查看的时间,如图9


    图9

    之后通过FlexTable即可查看压力流量、水质等数据了。

    我的故事讲完了,希望大家喜欢,谢谢,如果再有时间的话,我会继续讲解WaterGems如何在工程中应用。

    展开全文
  • 计算机实习日记

    2011-11-26 12:22:41
    我提前个小时来到办公室,我发现同事们也已经陆续的到达。我首先找到行政部的田小姐办理入职的必要手续,她很热情地给我介绍公司的整体概况,同时交给我一些公司产品的简介和操作手册。这是我进入...
  • 我已经重装好多次系统了,电脑也换了一个,重装之后获取速度都可以,用了几天突然就开始很慢了,只要2K/s这样,20M的源代码获取四五个小时。 我电脑是 正版的win10 专业版(其他的盗版的,企业版的都试了),vss...
  • 对于7×24小时不间断运行的流程序...而这就面临着几个问题:比如一是保存多久的数据?二是重复计算的数据应该怎么处理,怎么保证幂等性?对于一个流系统,我们有以下希望:最好能做到exactly-once 处理延迟越低越好...

    对于7×24小时不间断运行的流程序来说,要保证fault tolerant是很难的,这不像是离线任务,如果失败了只需要清空已有结果,重新跑一次就可以了。对于流任务,如果要保证能够重新处理已处理过的数据,就要把数据保存下来;而这就面临着几个问题:比如一是保存多久的数据?二是重复计算的数据应该怎么处理,怎么保证幂等性?
    对于一个流系统,我们有以下希望:

    1. 最好能做到exactly-once
    2. 处理延迟越低越好
    3. 吞吐量越高越好
    4. 计算模型应当足够简单易用,又具有足够的表达力
    5. 从错误恢复的开销越低越好
    6. 足够的流控制能力(背压能力)


    Storm的ack机制

    storm的fault tolerant是这样工作的:每一个被storm的operator处理的数据都会向其上一个operator发送一份应答消息,通知其已被下游处理。storm的源operator保存了所有已发送的消息的每一个下游算子的应答消息,当它收到来自sink的应答时,它就知道该消息已经被完整处理,可以移除了。
    如果没有收到应答,storm就会重发该消息。显而易见,这是一种at least once的逻辑。另外,这种方式面临着严重的幂等性问题,例如对一个count算子,如果count的下游算子出错,source重发该消息,那么防止该消息被count两遍的逻辑需要程序员自己去实现。最后,这样一种处理方式非常低效,吞吐量很低。


    SparkStreaming 的moni Batch

    storm的实现方式就注定了与高吞吐量无缘。那么,为了提高吞吐量,把一批数据聚集在一起处理就是很自然的选择。Spark Streaming的实现就是基于这样的思路。

    我们可以在完全的连续计算与完全的分批计算中间取折中,通过控制每批计算数据的大小来控制延迟与吞吐量的制约,如果想要低延迟,就用小一点的batch,如果想要大吞吐量,就不得不忍受更高的延迟(更久的等待数据到来的时间和更多的计算)。

    image_1ceop58ha180p1h3ren58jk15gb9.png-105.7kB


    以这样的方式,可以在每个batch中做到exactly-once,但是这种方式也有其弊端:
    首先,batch的方式使得一些需要跨batch的操作变得非常困难,例如session window;用户不得不自己想办法去实现相关逻辑。
    其次,batch模式很难做好背压。当一个batch因为种种原因处理慢了,那么下一个batch要么不得不容纳更多的新来数据,要么不得不堆积更多的batch,整个任务可能会被拖垮,这是一个非常致命的问题。
    最后,batch的方式基本意味着其延迟是有比较高的下限的,实时性上不好。


    Flink的容错

    我们在传统数据库,如mysql中使用binlog来完成事务,这样的思路也可以被用在实现exactly-once模型中。例如,我们可以log下每个数据元素每一次被处理时的结果和当时所处的操作符的状态。这样,当我们需要fault tolerant时,我们只需要读一下log就可以了。这种模式规避了storm和spark所面临的问题,并且能够很好的实现exactly-once,唯一的弊端是:如何尽可能的减少log的成本?Flink给了我们答案。

    实现exactly-once的关键是什么?是能够准确的知道和快速记录下来当前的operator的状态、当前正在处理的元素(以及正处在不同算子之间传递的元素)。如果上面这些可以做到,那么fault tolerant无非就是从持久化存储中读取上次记录的这些元信息,并且恢复到程序中。那么Flink是如何实现的呢?

    Flink的分布式快照的核心是其轻量级异步分布式快照机制。为了实现这一机制,flink引入了一个概念,叫做Barrier。Barrier是一种标记,它被source产生并且插入到流数据中,被发送到下游节点。当下游节点处理到该barrier标志时,这就意味着在该barrier插入到流数据时,已经进入系统的数据在当前节点已经被处理完毕。

    image_1ceos05badva20hb5glen1voqm.png-15.3kB


    如图所示,每当一个barrier流过一个算子节点时,就说明了在该算子上,可以触发一次检查点,用以保存当前节点的状态和已经处理过的数据,这就是一份快照。(在这里可以联想一下micro-batch,把barrier想象成分割每个batch的逻辑,会好理解一点)这样的方式下,记录快照就像和前面提到的micro-batch一样容易。

    与此同时,该算子会向下游发送该barrier。因为数据在算子之间是按顺序发送的,所以当下游节点收到该barrier时,也就意味着同样的一批数据在下游节点上也处理完毕,可以进行一次checkpoint,保存基于该节点的一份快照,快照完成后,会通知JobMananger自己完成了这个快照。这就是分布式快照的基本含义。

    image_1ceot7q13apu1a04170af7j1jao34.png-66.6kB

    有时,有的算子的上游节点和下游节点都不止一个,应该怎么处理呢?如果有不止一个下游节点,就向每个下游发送barrier。同理,如果有不止一个上游节点,那么就要等到所有上游节点的同一批次的barrier到达之后,才能触发checkpoint。因为每个节点运算速度不同,所以有的上游节点可能已经在发下个barrier周期的数据了,有的上游节点还没发送本次的barrier,这时候,当前算子就要缓存一下提前到来的数据,等比较慢的上游节点发送barrier之后,才能处理下一批数据。

    当整个程序的最后一个算子sink都收到了这个barrier,也就意味着这个barrier和上个barrier之间所夹杂的这批元素已经全部落袋为安。这时,最后一个算子通知JobManager整个流程已经完成,而JobManager随后发出通知,要求所有算子删除本次快照内容,以完成清理。这整个部分,就是Flink的两阶段提交的checkpoint过程,如下面四幅图所示:

    image_1ceot517e14g31u2u1mnt12o91dkb1g.png-175.5kB


    image_1ceot5kqbnik1f2i1dss1q5c1a1t.png-221.3kB



    image_1ceot64dppjtojkq3n1jl5j0h2a.png-297.8kB



    image_1ceot6kes56sidn1f2u1voo19kf2n.png-255.5kB

    总之,通过这种方式,flink实现了我们前面提到的六项对流处理框架的要求:exactly-once、低延迟、高吞吐、易用的模型、方便的恢复机制。

    转载于:https://www.cnblogs.com/maoxiangyi/p/10845198.html

    展开全文
  • 但是我并没有买单词书,因为我知道我单词书并看不下去,所以我手机上下单词软件,是每天早上背半小时单词,晚上睡觉前再复习一遍。坚持在考试之前尽可能的多背遍。然后资料就是英语真题,因为 英二的时间较...

    展开全文
  • 闰月则是和阴历有关,不同于阳历的以公转制定的方式,阴历以月亮绕地球的时间来计算,所以会和阳历的365.25天相差10天21小时,于是,多出来的时间累积下来凑成一月,也就是闰月。 那么什么是闰秒?闰秒会带来...

    闰年闰月大家都知道,可是你听说过闰秒这回事情吗?

    闰年是为了弥补是我们的历法365天和地球实际公转365.25天的差距,所以每4年会一年是闰年,多出来的那一天就是2月29日。

    闰月则是和阴历有关,不同于阳历的以公转制定的方式,阴历以月亮绕地球的时间来计算,所以会和阳历的365.25天相差10天21小时,于是,多出来的时间累积下来凑成一个月,也就是闰月了。

    那么什么是闰秒?闰秒会带来什么影响?怎么解决闰秒带来的问题?

    闰秒定义

    要了解闰秒,首先需要了解几个基本的概念。

    平均太阳日:天空中的太阳连续两次出现最大仰角(90度)所经历的时间就是一个太阳日,而又由于太阳日的长短不同,所以取一年内的太阳日平均值,所以可以大致的认为一个平均太阳日就是一天24小时。

    UTC:英文为Coordinated Universal Time,中文叫做协调世界时或者世界标准时间,相信开发的同学都很清楚,他是世界上调节时钟和时间的主要时间标准,也是最接近格林威治标准时间GMT的时间系统之一。

    最早的时候,一秒根据平均太阳日的1/86400来定义,这个时间依赖于地球的自转和公转。后来直到1967年,秒被物理学重新定义,以铯133的振荡频率来定义秒,并可以用原子钟来测量。

    UTC的时间就是基于此来定义,而且他是一个固定的时间长度。

    但是由于地球自转的速度受到潮汐加速等众多因素的影响,平均太阳日的时间并不固定。

    为了让UTC贴近平均太阳日的时间,所以就产生了闰秒。

    闰秒分为两种形式:

    1. 正闰秒,也就是在23:59:59之后一秒是23:59:60,然后才是00:00:00,很奇葩很诡异是不是。

    2. 负闰秒,23:59:58的下一秒就是00:00:00,但是目前没有出现过负闰秒。

    闰秒的时间调整一般是在6月30日或者12月31日,而离我们最近的一次闰秒的调整则是在2016年的12月31日。

    从1972年到现在,已经发生了20多次闰秒,对于我们的系统配置来说,通过NTP的服务来进行时间同步,如果服务器收到闰秒的处理通知,则会一级级下发到最边缘的NTP服务器,然后通知到客户端的操作系统,最终由操作系统来处理闰秒。

    下面的表格是历年发生闰秒的时间:

    6月30日 12月31日
    1972年 +1 +1
    1973年 0 +1
    1974年 0 +1
    1975年 0 +1
    1976年 0 +1
    1977年 0 +1
    1978年 0 +1
    1979年 0 +1
    1981年 +1 0
    1982年 +1 0
    1983年 +1 0
    1985年 +1 0
    1987年 0 +1
    1989年 0 +1
    1990年 0 +1
    1992年 +1 0
    1993年 +1 0
    1994年 +1 0
    1995年 0 +1
    1997年 +1 0
    1998年 0 +1
    2005年 0 +1
    2008年 0 +1
    2012年 +1 0
    2015年 +1 0
    2016年 0 +1

     

    带来的影响

    虽然闰秒对普通人的日常生活没有任何影响,但是对于开启NTP服务的Linux系统来说有致命的风险,在Linux kernel 2.6.29之前版本存在bug,在进行闰秒调整时可能会引起系统导致ntpd进程死锁,从而导致crash。另外由于应用程序不能处理闰秒的问题导致时间的变化,会导致CPU load激增。

    在上一次闰秒产生,国外Reddit、Mozilla、FourSquare、Yelp、LinkedIn和Gawker都产生了一定的问题,其中Reddit宕机时间超过1个半小时。其中,或许你能很明显的看到异常错误信息:kernel[81951.244556] Clock: inserting leap second 23:59:60 UTC

    另外,针对数据库方面,23:59:60时间的问题兼容也不尽相同。

    PostgreSQL:PostgreSQL可以兼容23:59:60的写法,不会报错。

    Mysql:Mysql还不支持60秒写法,闰秒时必须使用unix time来表示时间,否则会报错。

    根据目前的信息来看,Linux内核版本高于2.6.29修复了这个问题,NTP版本高于4.2.2p1-9会把这一秒的时间分散到大约2000秒中,低于该版本的话则会直接加一秒或者减一秒。

     

    解决方案

    最简单直接的方法就是闰秒发生前停止ntpd服务,闰秒结束后再开启。

    提前一天停止ntp /etc/init.d/ntpd stop
    重置系统时间 date -s "`date`"
    重新开启ntp ntp/etc/init.d/ntpd start

    https://zh.wikipedia.org/wiki/%E9%97%B0%E7%A7%92

    https://developer.aliyun.com/article/68260

    https://yq.aliyun.com/articles/80045?spm=5176.10695662.1996646101.searchclickresult.746332ab0yvJRw

    https://www.cnblogs.com/luxianghao/p/6339470.html

    巨人的肩膀:

     

    实际上,由于地球自转的时间无法计算,他有可能变快,也有可能变慢,受到潮汐、天气和熔态金属在地球核心的流动等各方面因素的影响,下一次闰秒的时间无法预估,但是国际地球自转和参考系服务(IERS)会提前6个月公布下一次闰秒的时间。

    如何预测避免

     

    UTC 阿里云时间(北京时区 阿里云时间和UTC误差 备注
    2016/12/31 11:59:59 2016/12/31 19:59:59 +0 和UTC完全同步
    12:00:00 20:00:00 +0  
    12:00:01     每秒比UTC慢1/86400,经过12小时(43200秒)后,会比UTC慢0.5秒
      20:00:01 +1/86400  
    12:00:02      
      20:00:02 +2/86400  
     
    23:59:59      
      2017/1/1 07:59:59 +43199/86400  
    23:59:60     闰秒
      2017/1/1 08:00:00 -0.5秒 和UTC误差-0.5秒
    2017/1/1 00:00:00     每秒和UTC误差减少1/86400,经过12小时(43200秒)后,-0.5的误差消除
      08:00:01 -43199/86400  
    00:00:01      
      08:00:02 -43198/86400  
     
      19:59:59 -1/86400  
    11:59:59  
    2017/1/1 12:00:00 2017/1/1 20:00:00 0 再一次和UTC同步
    12:00:01 20:00:01 0  
     

    具体时间同步方案如下表格所示:

    阿里云的ECS云服务器的NTP服务采用忽略闰秒时刻的跳秒,缓慢同步消除闰秒带来的1秒误差的方案来面对闰秒事件,实际上采用的方案是闰秒发生前,每秒比UTC慢1/86400,经过12小时(43200秒)后,会比UTC慢0.5秒,闰秒发生之后,每秒和UTC误差减少1/86400,经过12小时(43200秒)后,-0.5的误差消除。国外Amazon也是这样的解决方案。

    以国内阿里云的处理方案举例,amazon同样也是采用该方案

    目前像google、阿里、amazon都有一些具体的应对方案,使用云服务的话可能不需要用户关心这方面的问题,如果是自己机房托管的话那么可能需要运维开发人员手动处理了。

    但是有一个很明显的问题就是,大公司一个服务上千台机器,操作起来成功太高,而且停止同步是否会带来其他的问题不好评估影响面。

    展开全文
  • 本人经历:平时开机后可以连上wifi,也能正常使用,用了过几个小时,就自动断网,重连居然提示无法链接这个网络。 接着怎么都连不上,重启电脑后就可以继续使用,但重启电脑会把原来打开的软件都关掉,为了...
  • c++ 控制台版 扫雷游戏

    千次阅读 2015-07-23 23:17:34
    一会,也没看别人怎么做的,大概1小时完成简单版本的扫雷游戏,由于没怎么c#,界面的事情可能迟天再做,明天要回家啦,哈哈! 先说思路,其实挺简单的。 (1) 随机生成10雷,标记到二维数组里...
  • 最近我都干些什么——反思!!

    千次阅读 多人点赞 2021-02-26 18:08:17
    从上学期开学之后就总是以太忙为理由,基本没有怎么更新博客。现在突然想总结反思一下这段时间我的...确实很累,特别是每次参加数学建模的那几天都着非人的生活,特别是美赛最后一天在电脑前一坐就是接近20个小时
  • 从寝室到机房,从机房到图书馆,C、C++、Java、只要是想写点自己感兴趣的东西,一坐就是几个小时,但那时年轻,起身,收拾,一路小跑会女神,轻轻松松。 现在工作,毫无意外的做着开发的工作,长时间久坐。写...
  • 训练总结 1.24

    2018-01-24 21:38:02
    今天看的KMP,只看博客上的一部分题目。一开始还是看不懂,后来找到一个举例说明KMP模板的题目,解释的很详细,才... 这几天看的这几个专题,都是处于一开始好几个小时看模板代码都看不懂,然后通过各种方法弄明
  • 这道题,深深的打击到我,在我知道提示的情况下 ,做小时,一直是runtime error,错次,自闭。。。。开始怀疑人生,真的。 我怎么这么菜!!! 这道题,用到一些我没学的东西,说实话现在我...
  • 过了天了,忘的差不多了,将就着看 一面二面 总共两小时,除去等待时间大概1小时一面 计算机网络 tcp和udp的区别 2.讲一讲tcp的三次握手 3.如果枪击类游戏中,子弹飞出去了,这时候你断网了,伤害会计算吗...
  • 而这就面临着几个问题:比如一是保存多久的数据?二是重复计算的数据应该怎么处理,怎么保证幂等性? 对于一个流系统,我们有以下希望: 最好能做到exactly-once 处理延迟越低越好 吞吐量越高越好 计算模型应当足够...
  • 考试时间超过3个小时的科目 1.7. 复试安排 1.8. 仓库内容 1.8.1. 录取信息 包含报录比、拟录取名单、分数线、基本分数线 1.8.2. 初试 初试相关的资料(真题、PPT、期末考试) 包括政治、英语一、数学一、...
  • 二、头脑风暴汇集的问题原貌展现

    热门讨论 2017-08-08 17:00:01
    1.软考之后就成为什么样的人,社会上对这个考试的认可度 ? 2.听说软考的通过率是50%,是真的吗? 3.软考有科? 4.软考的内容是什么? 5.什么时候开始做题?...13.一天只需2个小时可以不可以 14.怎么学习
  • 从寝室到机房,从机房到图书馆,C、C++、Java、只要是想写点自己感兴趣的东西,一坐就是几个小时,但那时年轻,起身,收拾,一路小跑会女神,轻轻松松。现在工作,毫无意外的做着开发的工作,长时间久坐。写代码一...
  • 第一章:初识Hadoop 开头的Grace Hopper的话就让我印象深刻:古时候人们用牛来拉重物,当一头牛拉不动的时候,人们从来没有考虑要想方设法培育出一头更强壮的...原先五分钟就可以读完的硬盘,现在却要用好几个小时
  • 15:需要有很多合作伙伴,其实整个项目里什么都一个人干不太实际,现在一个WEB系统需要的东西太多,图片处理等我们有网络化的合作伙伴,要处理某个图片,网上一发过去需求讲好几个小时后就给处理好,有的人专门...
  • 完形填空根据个人英语水平,水平高的自然顺序做下来就好了,像我这样,过了六级好年了,考研也过了两年多了,对英语已经是那种若即若离的状态的,最好选择先做阅读,后面来蒙。当然我今天很失败,先做了完形,所以...
  • MakeTcpHole

    2009-08-21 14:02:44
    而UDP呢,以这IP的这端口的第一UDP开始,结束呢,呵呵,也许是分钟,也许是几小时,这要看具体的实现)并且给这Session分配一端口,比如62000,然后改变这数据包的源端口为62000。所以本来是(10.0....
  • 疯狂的程序员

    热门讨论 2012-07-18 18:05:32
    一直过了月,这事情才总算落实,还像模像样跟人家签了代理合同。其实这家广告公司整个还没有他们寝室大,公司就两人:一男的,一女的。没办法,绝影想就这么一小的公司,人家在容易就范。人家想,就这么一...
  • 在测试期的时候我们采取立段这样的形式,那么这种准备以后,我们现在已经有了几测试的云安全客户端的支持,那么这样的话我们发展的第二阶段就是把这种收集的信息进行分布,并且统一的计算,包括资源的重新分配,...
  • 1. 北邮计算机类有好几个学院,它们之间有什么区别? 2. 北邮不同学院的相同专业有什么相同或不同之处? 3. 计算机科学与技术专业和电子信息专业有什么区别? 4. 北邮有夏令营吗? 5. 什么是组?报组是什么意思? 6....
  • 3.5.3 给40亿个不重复的unsigned int的整数,没排序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中? 3.5.4 在一个文件中有10G个整数,乱序排列,要求找出中位数。内存限制为2G。 3.5.5 时分秒针...
  • 数据结构与算法

    2008-03-15 11:35:38
    他继而寻思,尾巴被钉住了,一步子也跨不出的这只壁虎,到底 靠什么撑过了这十年?他于是暂时停止了装修工程看看它到底吃了什么!他要一探究 竟。过了不久,不知从哪里又钻出来一只壁虎,嘴里含着食物...啊!他一时...
  • 两款定时提醒休息工具-IT人士必备

    千次下载 热门讨论 2012-03-14 11:31:20
    无论你是个整天黏在肥皂剧前的宅人还是坐电脑面前的白领,一个澳大利亚的研究表明每坐一个小时经过短暂休息可以减轻上面提到的危害。短暂休息不是指去健身,虽然健身有其好处,但是对于抵消久坐危害却没有多少帮助。...
  • 我想大家都读这本书《异类》,为什么比尔盖茨成为比尔盖茨,是世界上最早花一万个小时做一个软件的,这个道理到Facebook阶段就不成立。为什么Facebook就成创始人?而且这个技术可能比在座的各位,很多都还...

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

怎么计算过了几个小时