时间计算

可用度计算总结

╄→尐↘猪︶ㄣ 提交于 2019-12-27 01:46:21
可用度计算方案: 术语: MTTR、MTTF、MTBF是体现系统可靠性的重要指标,但是三者容易混淆,下文使用图解方式解释三者之间的区别,希望能起到解惑的效用。 MTTF (Mean Time To Failure,平均无故障时间),指系统无故障运行的平均时间,取所有从系统开始正常运行到发生故障之间的时间段的平均值。 MTTF =∑T1/ N MTTR (Mean Time To Repair,平均修复时间),指系统从发生故障到维修结束之间的时间段的平均值。MTTR =∑(T2+T3)/ N MTBF (Mean Time Between Failure,平均失效间隔),指系统两次故障发生时间之间的时间段的平均值。 MTBF =∑(T2+T3+T1)/ N 很明显:MTBF= MTTF+ MTTR 计算方案: 在告警系统中: 单机可用度 = MTTF / MTBF MTTF(∑T1/ N) : 平均无灾难级别告警的时间 MTTR(∑(T2+T3)/ N) 灾难级别告警从产生到修复的平均时间 MTBF(∑(T2+T3+T1)/ N): 灾难级别告警从上次修复到下次产生并修复的平均时间 具体计算逻辑: (1)当至少有一个未解决的灾难级别告警时:系统可用度为0% (2)当有0个未解决的灾难级别告警时: a. 若已解决的灾难级别告警数为0,则系统可用度为100% b.

mysql 计算两个日期时间的差函数.txt

ε祈祈猫儿з 提交于 2019-12-25 19:49:15
参考:https://blog.csdn.net/qq_27259009/article/details/79139543 1.TIMESTAMPDIFF函数 select TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13'); 结果是3; select TIMESTAMPDIFF(DAY,'2019-1-1','2019-01-3'); 比较天数,结果是2。 select TIMESTAMPDIFF(HOUR,'2019-12-25 15:49:35','2019-12-25 16:50:40'); 结果是1。 select TIMESTAMPDIFF(MINUTE,'2019-12-25 15:49:35','2019-12-25 16:50:40'); 结果是61。 参数1,可选: FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型。 参数2和参数3是待比较的两个时间, 比较是后一个时间减前一个时间。 2.DATEDIFF函数 功能:比较天数。天数 = 参数1 - 参数2。 select DATEDIFF('2013-01-13','2012-10-01'); 结果是104。 参数1,参数2 都是日期。 另外其它的日期函数。 now(

JS 计算两个时间间隔多久(时分秒)

若如初见. 提交于 2019-12-25 03:10:06
/** * JS 计算两个时间间隔多久(时分秒) * @param startTime "2019-10-23 15:27:23" * @param endTime "2019-10-23 15:27:55" * @return 1天2时3分5秒 */ export function twoTimeInterval(startTime, endTime) { // 开始时间 let d1 = startTime.replace(/\-/g, "/"); let date1 = new Date(d1); // 结束时间 let d2 = endTime.replace(/\-/g, "/"); let date2 = new Date(d2); // 时间相差秒数 let dateDiff = date2.getTime() - date1.getTime(); // 计算出相差天数 let days = Math.floor(dateDiff / (24 * 3600 * 1000)); // 计算出小时数 let residue1 = dateDiff % (24 * 3600 * 1000); // 计算天数后剩余的毫秒数 let hours = Math.floor(residue1 / (3600 * 1000)); // 计算相差分钟数 let residue2 =

【Java】【19】Date Calendar相关

半世苍凉 提交于 2019-12-24 23:40:45
前言: 发现开发过程当中要用到时间和日历的情况太多了,这里把我碰到的情况记录一下。 1,获取某月天数 2,获取两个日期之间的天数 3,查询当前日期前(后)x天的日期 4,获取某日期的前(后)N月的年月 5,周六周日判断 6,两个时间比较大小 7,计算年龄 8,发布时间的显示(距离当前时间多少小时,多少天) 9,判断是否是今天 10,日期转成周几 11,当前季度 12,当前时间的上一季度时间(分别为年、第几季度、季度的首月 ) 13,是否是中国春节月 14,获取一个时间的本周时间列表和上周时间列表 15,判断两段时间是否有重叠部分 16,获取当前是第多少周 正文: 1,获取某月天数 public static int getMaxDay(int year, int month) { Calendar cal = Calendar.getInstance(); //创建对象。不用new Calendar()的原因是Calendar是一个抽象类,且其构造方法是protected cal.clear(); //将所有字段值和时间值设置为未定义。Calendar类在set的时候,并不会立即生效,只有在get的时候才会生效,所以要先清理 cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month-1); return time

如何精准的获得时钟频率计算耗时——QueryPerformanceFrequency

ⅰ亾dé卋堺 提交于 2019-12-22 12:02:05
时间处理 在处理一些获得时间的问题时,可以用clock()函数简单的获得时钟,但是进度往往是不够的,这个时候可以用 QueryPerformanceFrequency(&frequency)获得更精确的时钟 1.clock(),字面精度1ms,实际精度是操作系统的时间片,windows下单核10ms,双核15ms 2.QueryPerformenceCounter,字面精度100ns(0.1us),实际精度100us左右 对于毫秒级 用2个都可以,对于us级建议用QueryPerformenceCounter 下面介绍QueryPerformenceCounter的快速用法: # include <iostream> # include <windows.h> using namespace std ; LARGE_INTEGER frequency ; void function ( ) { cout << "cost time=" ; } int main ( ) { double dff , begin_ , _end , time ; QueryPerformanceFrequency ( & frequency ) ; //获得时钟频率 dff = ( double ) frequency . QuadPart ; //取得频率*/

计算 函数的执行时间 的函数 clock()及其相关

谁说胖子不能爱 提交于 2019-12-21 07:08:01
基本概念介绍: clock() : 捕捉从程序开始运行到clock()被调用时所耗费的时间,这个时间单位是clock tick,即"时钟打点" clock_t :用于存储clock()所赋值变量的类型 CLK_TCK :机器时钟 每秒 所走的时钟打点数 补充 :上述均包含于头文件< time.h >中 具体模板(用法)如下: 举例说明: 我们这里用 普通算法 和 秦九韶算法 来比较它们各自的执行时间 普通算法 秦九韶算法(提取x因子,并从内往外算) # include <stdio.h> # include <math.h> # include <time.h> # define MAXK 1e7 /* 重复运行次数*/ typedef double ( * p ) ( int , double [ ] , double ) ; clock_t start , stop ; double duration ; double f1 ( int n , double a [ ] , double x ) ; double f2 ( int n , double a [ ] , double x ) ; double calculateTime ( p f , int n , double a [ ] , double x ) ; int main ( ) { double a [

linux内核分析笔记----调度

跟風遠走 提交于 2019-12-21 03:38:09
调度?咋这熟悉,我们是不是常在哪里听到。没错,是的,调度我们时常听过,比如交通管制调度啦等。这不,夏天这热, 标语贴的好:相应国电电力调度,做文明市民,好别扭啊!不管了。你要是还是不懂,再啰嗦讲个事,过年回家,和漂亮的GF回家,为了张普通的硬座票还要排老久对,甚至还可能被坑拿到黄牛票,这时你嘴里咧咧的啥:XX,啥火车站,做的啥春运调度啊!唉,这次你说到点上了。 总结一下:调度就是通过调度程序的合理调度,实现系统资源的最大限度发挥作用。多进程的并发正是这样的效果。其实原理一点也不复杂,道理也一样简单:只要又可以执行的进程,那么就总是会有进程正在执行。但简单的问题也会复杂化, 比如:我们买票为啥抱怨调度,归根接地感谢当年的人海战术(多说一句,其实现实的很多问题,一个人海战术解决所有,这战术中国人用起来最得心应手)。 好么,一般系统中进程的数目总会比处理器的个数多,所以竞争在所难免,调度的问题就集中在解决竞争的问题。 种类问题不多说:抢占和非抢占。linux提供了抢占式的多任务模式,下一阶段谁得到CPU的执行时间由调度程序决定。这怎么决定,是不是请个客,喝个酒啥的。对不起,linux无情的说,我是开源的,对所有人公平,哥不吃这一套。我有自己的一套原则(策略,这个我们待会儿再讲)。接着来术语,上面的过程叫做抢占,进程得到CPU的执行机会这段时间叫时间片,是由系统定义好的。后面我们会看到

第7章 AOE网与关键路径

纵饮孤独 提交于 2019-12-20 11:24:19
【AOE网】 【概念】 与AOV网相对应的是 边表示活动的有向无环图 AOE(Activity On Edge) ,如下图所示。 图中 顶点表示事件(Event) ,每个事件表示在其前的所有活动已经完成,其后的活动可以开始; 弧表示活动 ,弧上的权值表示相应活动所需的时间或费用。 与AOE有关的研究问题: 完成整个工程至少需要多少时间? 哪些活动是影响工程进度(费用)的关键? 【定义】 设 v 0 v_0 v 0 ​ 是起点,从 v 0 v_0 v 0 ​ 到 v i v_i v i ​ 的最长路径长度称为事件 v i v_i v i ​ 的最早发生时间,即是以 v i v_i v i ​ 为尾的所有活动的最早发生时间。 若活动 a i a_i a i ​ 是弧 < j , k > <j, k> < j , k > ,持续时间是 d u t ( < j , k > ) dut(<j, k>) d u t ( < j , k > ) ,设: ◆ e ( i ) e(i) e ( i ) :表示活动 a i a_i a i ​ 的最早开始时间。 ◆ l ( i ) l(i) l ( i ) :在不影响进度的前提下,表示活动 a i a_i a i ​ 的最晚开始时间。则 l ( i ) − e ( i ) l(i)-e(i) l ( i ) − e ( i ) 表示活动 a i a_i

oracle相关时间计算,得到季度第一天、最后一天

霸气de小男生 提交于 2019-12-19 23:37:55
------------------------------------------------ Oracle 日期------------------------------------------ -- 本季度第一天 SELECT to_char(TRUNC(SYSDATE, 'Q'), 'YYYY-MM-DD') FROM dual; -- 上个季度最后一天(可以用本季度第一天减去1得到) SELECT to_char(TRUNC(SYSDATE, 'Q') - 1, 'YYYY-MM-DD') FROM dual; -- 上个季度第一天(本季度第一天 减 3个月) SELECT to_char(add_months(TRUNC(SYSDATE, 'Q'), -3), 'YYYY-MM-DD') FROM dual; -- 上个季度第一天(本季度减一个月之后的月份的最后一天) select to_char(last_day(add_months(trunc(sysdate, 'Q'), -1)), 'yyyy-mm-dd') from dual --№1: 取得当前日期是本月的第几周 select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual; select to_char(sysdate, 'W') from dual

MFC操纵时间的常用方法

…衆ロ難τιáo~ 提交于 2019-12-16 19:23:14
1定义一个CTime类对象 CTime time; 2得到当前时间 time = CTime::GetCurrentTime(); 3 GetYear(),GetMonth(), GetDay(), GetHour(), GetMinute(), GetSecond(), GetDayOfWeek() 返回整型(int)对应项目 4 将当前时间格式化 CString date = time.Format("%Y-%m-%d %H:%M:%S %W-%A"); 说明: 1) 结果为:2006-10-13 17:23:47 41-Friday 2) 格式符号说明 %a—— 星期(缩写英文),如Fri; %A—— 星期(全写英文),如Friday %b—— 月份(缩写英文),如Oct %B—— 月份(全写英文),如 October %c—— 月/日/年 时:分:秒,如 10/13/06 19:17:17 %m—— 月份(数字 1 ~ 12) %d—— 日期(1 ~ 31) %H—— 时(24小时制)(0 ~ 23) %I—— 时(12小时制)(0 ~ 12) %M—— 分(0 ~ 59) %p—— 12小时中的AM/PM指示,或者AM,或者PM %S—— 秒(0 ~ 59) %j—— 一年当中的第几天,(1 ~ 366) %U—— 一年中的第几周,星期日作为每周的第一天(0 ~ 53)