服務等級管理中時間的計算方法
【專利摘要】本發(fā)明公開了一種服務等級管理中時間的計算方法,包括以下步驟:步驟1,判斷開始時間是否處于工作時間段內(nèi);步驟2,若是,則根據(jù)處于工作時間段內(nèi)的開始時間和持續(xù)時間得到結束時間;步驟3,若否,則根據(jù)一個處于非工作時間段內(nèi)的開始時間和持續(xù)時間得到結束時間。本發(fā)明的服務等級管理中時間的計算方法在計算解決時間時考慮了多種特殊情況,使得計算出的解決時間更符合用戶習慣,也更方便用戶可以根據(jù)計算出的實際解決時間安排各種工作。
【專利說明】服務等級管理中時間的計算方法
【技術領域】
[0001] 本發(fā)明涉及服務等級管理中的時間解決方案,更具體地說,涉及服務等級管理中 時間的計算方法。
【背景技術】
[0002] ITIL (IT Infrastructure Library)是 CCTA (英國國家計算機和電信局)于 20 世 紀80年代末開發(fā)的一套IT服務管理標準庫,它把英國各個行業(yè)在IT管理方面的最佳實踐 歸納起來變成規(guī)范,旨在提高IT資源的利用率和服務質量。
[0003] IT運維平臺是基于ITIL標準,結合實際應用需求,研發(fā)的一套IT服務管理支撐平 臺軟件,能夠方便,靈活,全面地實施請求管理、事件管理、工單管理、變更管理、問題管理、 服務目錄管理、服務等級管理、配置管理等功能,可以適應不同規(guī)模的用戶和需求。其中, 服務等級管理通過對服務等級進行準確的定義,可以做到針對不同用戶擁有不同的服務等 級。并通過自動化流程和實時監(jiān)控服務情況,使用戶請求的問題能及時得到響應和解決,從 而使用戶能不斷改善服務質量。
[0004] 在服務等級管理中需要根據(jù)事件的最后修改時間及服務等級定義的要求解決時 長,得到事件的解決時間。在計算該解決時間時需要排除正常作息的休息時間,節(jié)假日,同 時需要考慮加班時間。如2014-11-149:15產(chǎn)生一個事件,自動匹配得到一個服務等級,該 等級的要求解決時長為1天1小時,按照中信信息股份有限公司目前的作息時間,該事件的 解決時間為2014-11-1710:15。在服務等級管理工作過程中,當按照某個等級對事件進行自 動升級時,需要根據(jù)該解決時間計算方法重新計算出該事件的下次升級時間。
[0005] 目前市場上,基于ITIL的服務等級管理在計算事件的解決時間時不會考慮正常 作息的休息時間,節(jié)假日,加班時間等情況。如2014-11-149:15產(chǎn)生一個事件,該等級的要 求解決時長為1天1小時,則該事件的解決時間為2014-11-1510:15。計算出的解決時間在 節(jié)假日周六,不符合用戶正常的上班時間要求。
[0006] 目前現(xiàn)有方法根據(jù)開始時間和要求解決時長,計算事件的解決時間時,只會機械 的算出一個解決時間。不會考慮正常工作時的必要休息時間,如中午吃飯花費的時間,下班 之后的時間;也不會考慮正常節(jié)假日,如周六、周日,國慶節(jié)等,而以上幾種時間不應該作為 用戶的有效工作時間而從要求解決時長中扣除。當用戶發(fā)生加班時,不會考慮節(jié)假日加班, 這時需要將加班時長從要求解決時長中扣除。通過這種機械方法計算出的解決時間,是在 假設用戶24小時工作這種極端情況下提出的。
【發(fā)明內(nèi)容】
[0007] 針對現(xiàn)有技術中存在的無法智能解決IT服務管理標準中的時間問題,本發(fā)明的 目的是提供服務等級管理中時間的計算方法。
[0008] 為實現(xiàn)上述目的,本發(fā)明采用如下技術方案:
[0009] 一種服務等級管理中時間的計算方法,根據(jù)開始時間和持續(xù)時長得到結束時間, 包括以下步驟:步驟1,判斷開始時間是否處于工作時間段內(nèi);步驟2,若是,則根據(jù)處于工 作時間段內(nèi)的開始時間和持續(xù)時間得到結束時間;步驟3,若否,則根據(jù)一個處于非工作時 間段內(nèi)的開始時間和持續(xù)時間得到結束時間。
[0010] 根據(jù)本發(fā)明的一實施例,步驟1進一步包括:預設工作時間段的起始時間;根據(jù)開 始時間判斷開始時間是否處于工作時間段內(nèi)。
[0011] 根據(jù)本發(fā)明的一實施例,步驟2和3根據(jù)開始時間、持續(xù)時間得到需要增加的時 間,其進一步包括:根據(jù)開始時間的秒數(shù)、排序時間和持續(xù)時間的秒數(shù),得到同一天內(nèi)的實 際結束秒數(shù);根據(jù)開始時間和需要增加的天數(shù),得到實際工作日期的時間。
[0012] 根據(jù)本發(fā)明的一實施例,根據(jù)持續(xù)時間與開始時間的和是否超過一天的工作時間 來累加需要增加的時間。
[0013] 在上述技術方案中,本發(fā)明的服務等級管理中時間的計算方法在計算解決時間時 考慮了多種特殊情況,使得計算出的解決時間更符合用戶習慣,也更方便用戶可以根據(jù)計 算出的實際解決時間安排各種工作。
【專利附圖】
【附圖說明】
[0014] 圖1是本發(fā)明服務等級管理中時間的計算方法的總體流程圖;
[0015] 圖2是判斷開始時間是否處于工作時間的流程圖;
[0016] 圖3是步驟2的具體流程圖;
[0017] 圖4是步驟3的具體流程圖;
[0018] 圖5是計算需要增加的天數(shù)的流程圖;
[0019] 圖6是計算同一天內(nèi)實際結束秒數(shù)的流程圖;
[0020] 圖7是計算實際工作日結束時間起的流程圖;
[0021] 圖8是計算同一天內(nèi)實際結束秒數(shù)的流程圖。
【具體實施方式】
[0022] 下面結合附圖和實施例進一步說明本發(fā)明的技術方案。
[0023] 本發(fā)明根據(jù)一個開始時間和要求解決時長,計算出結束時間,在計算結束時間時 根據(jù)配置的正常工作時間以及特殊的日期,保證了結束時間的實用性和準確性。
[0024] 本發(fā)明的應用場景為:當用戶在模擬頁面,輸入開始時間和要求解決時長,點擊確 定按鈕就可以得到實際的結束時間,通過在服務等級管理配置頁面中,對一些時間參數(shù)進 行配置。在頁面中可以點擊添加按鈕對正常工作時間、特殊工作日期進行添加,同時可以點 擊刪除按鈕刪除不需要的時間或日期。
[0025] 因此,如圖1所示,本發(fā)明的目的是根據(jù)開始時間和持續(xù)時長得到結束時間,其總 體流程為:
[0026] 步驟Sl :判斷開始時間是否處于工作時間段內(nèi)。Boolean isInWorktime(Date startTime),startTime 為開始時間
[0027] 步驟S2 :若是,則根據(jù)處于工作時間段內(nèi)的開始時間和持續(xù)時間得到結束時 間。Date testFinishTime(Date startTime, long duringseconds, int day), 其中 duringseconds為持續(xù)秒數(shù),day為持續(xù)天數(shù)。
[0028] 步驟S3 :若否,則根據(jù)一個處于非工作時間段內(nèi)的開始時間和持續(xù)時間得到結束 時間 ° Date getNotlnfforktime (Date startTime, long duringseconds, int day) 〇
[0029] 如圖2所示,步驟I進一步包括:
[0030] SI. I :startseconds = startTime,startTime 為開始時間,換算成秒為單位;
[0031] SL 2 :預設工作時間段的起始時間和結束時間,即worktime =-天第一個工作時 間。
[0032] 接下來利用Boolean isInWorktime (Date startTime),根據(jù)開始時間和起始時 間、結束時間的關系來判斷開始時間是否處于工作時間段內(nèi),即:
[0033] SL 3 :判斷worktime是否屬于工作時間列表,若否,貝Ij返回false,若是,則執(zhí)行 SI. 4〇
[0034] SL 4 :判斷startseconds是否處于worktime中,如是,則返回true,若否,則執(zhí)行 SI. 5〇
[0035] SI. 5 :worktime =下一個工作時間,并返回SI. 3。
[0036] 如圖3所示,步驟2根據(jù)處于工作時間的開始時間、持續(xù)時間得到結束時間,其進 一步包括:
[0037] S3. 1 :根據(jù)開始時間、持續(xù)時間、得到需要增加的天數(shù),此時將持續(xù)秒也化為整數(shù) 天,needAddDay = getNeedaddDays(Date startTime, long duringseconds, int day)。其 中startTime為開始時間,duringseconds為持續(xù)秒數(shù),day為持續(xù)天數(shù),函數(shù)返回值為需要 增加的天數(shù)。
[0038] S3. 2:根據(jù)開始時間的秒數(shù)、排序時間和持續(xù)時間的秒數(shù),得到同一天內(nèi)的實 際結束秒數(shù),starttime = getEndtime (seconds, sortworktimes duringseconds) 〇 其 中seconds為換算成秒的開始時間,sortworktimes為經(jīng)過排序的工作時間列表, duringseconds為持續(xù)秒數(shù),此時的結束秒數(shù)在一個工作日以后,函數(shù)返回值為結束秒數(shù)。
[0039] S3. 3 :根據(jù)開始時間和需要增加的天數(shù),得到實際工作日期的時間。getFinalEnd time(starttime, needAddDay)〇
[0040] 如圖4所示,步驟3根據(jù)處于非工作時間的開始時間、持續(xù)時間得到結束時間,其 進一步包括:
[0041] S4. 1 :根據(jù)開始時間、持續(xù)時間、得到需要增加的天數(shù),此時將持續(xù)秒也化為整數(shù) 天,needAddDay = getNeedaddDays(Date startTime, long duringseconds, int day)。其 中startTime為開始時間,duringseconds為持續(xù)秒數(shù),day為持續(xù)天數(shù),函數(shù)返回值為需要 增加的天數(shù)。
[0042] S4. 2:根據(jù)開始時間的秒數(shù)、排序時間和持續(xù)時間的秒數(shù),得到同一天內(nèi)的實 際結束秒數(shù),starttime = getEndtime (seconds, sortworktimes duringseconds) 〇 其 中seconds為換算成秒的開始時間,sortworktimes為經(jīng)過排序的工作時間列表, duringseconds為持續(xù)秒數(shù),此時的結束秒數(shù)在一個工作日以后,函數(shù)返回值為結束秒數(shù)。
[0043] S4. 3 :根據(jù)開始時間和需要增加的天數(shù),得到實際工作日期的時間。getFinalEnd time(starttime, needAddDay)〇
[0044] 如圖5所示,計算需要增加的時間的流程為:
[0045] S5. 1 :根據(jù)持續(xù)時間與開始時間的和是否超過一天的工作時間來判斷 needAddDay 是否加 1,若是,needAddDay++,若否,則執(zhí)行 S5. 2。
[0046] S5. 2 :將持續(xù)秒數(shù)換算成天數(shù)dayinseconds,和一個工作日內(nèi)的秒數(shù) duringseconds。
[0047] S5. 3 :needAddDay = needAddDay+day+dayinseconds〇
[0048] 如圖6所示,(根據(jù)開始時間秒數(shù)、排序時間和持續(xù)秒數(shù))計算同一天內(nèi)實際結束 秒數(shù)的流程為:
[0049] S6. 1 :判斷 starttime+duringtime〈 = list [i] ·結束時間?若是,則 endtime =持續(xù)時長 +starttime,若否,則 duringtime = duringtime-(list[i]·結束時 間-starttime)〇
[0050] S6. 2 :判斷 duringtime〈list [i].時長?若是,則 endtime =持續(xù)時長+list [i]. 開始時間,若否,則 druingtime = duringtime_list[i]·時長。
[0051] S6. 3 :endtime = list [0]·開始時間 +duringtime。
[0052] 如圖7所示,計算實際工作日起的流程為:
[0053] S7. 1 :判斷 intervalday>0 ?若否,則返回 date,若是,則 date = date 加一天。
[0054] S7. 2 :判斷date是否處于節(jié)假日?若是,date =離date最近的第一個工作日時 間。若否,則執(zhí)行S7. 3。
[0055] S7. 3 :intervalday -〇
[0056] 圖8所示,非工作時間情況下(根據(jù)排序時間和持續(xù)秒數(shù))計算同一天內(nèi)實際結 束秒數(shù)的流程為:
[0057] S8. 1 :判斷 i〈sortlist· length ?若否,return-1,若是,執(zhí)行 S8. 2。
[0058] S8. 2 :判斷 duringtime〈 = list [i] ·時長?若是,endtime =持續(xù)時長+list [i]. 開始時間,若否,duringtime = duringtime_list[i]·時長。
[0059] 為保證計算解決時間的速度,可以更好更快的存取數(shù)據(jù),同時保證數(shù)據(jù)的安全 性,故采用數(shù)據(jù)庫系統(tǒng),共需要三張表:
[0060] 1.特殊日期表(如表1),用于保存特殊日期,如節(jié)假日、加班日期。
[0061] 2.星期表(如表2),用于保存星期,總共7天。
[0062] 3.正常工作時間表(如表3),用于保存每天正常的工作時間,不包括休息時間。
[0063] 上述3張表格如下所示:
[0064] 類型:0·放假;L加班
[0065]
【權利要求】
1. 一種服務等級管理中時間的計算方法,其特征在于,根據(jù)開始時間和持續(xù)時長得到 結束時間,包括W下步驟: 步驟1,判斷開始時間是否處于工作時間段內(nèi); 步驟2,若是,則根據(jù)處于工作時間段內(nèi)的開始時間和持續(xù)時間得到結束時間; 步驟3,若否,則根據(jù)一個處于非工作時間段內(nèi)的開始時間和持續(xù)時間得到結束時間。
2. 如權利要求1所述的服務等級管理中時間的計算方法,其特征在于,步驟1進一步包 括: 預設工作時間段的起始時間; 根據(jù)所述開始時間來判斷開始時間是否處于工作時間段內(nèi)。
3. 如權利要求1所述的服務等級管理中時間的計算方法,其特征在于,步驟2和3根據(jù) 開始時間、持續(xù)時間得到需要增加的時間,其進一步包括: 根據(jù)開始時間的秒數(shù)、排序時間和持續(xù)時間的秒數(shù),得到同一天內(nèi)的實際結束秒數(shù); 根據(jù)得到同一天內(nèi)的實際結束秒數(shù)和需要增加的天數(shù),得到實際工作日期的時間。
4. 如權利要求3所述的服務等級管理中時間的計算方法,其特征在于: 根據(jù)持續(xù)時間與開始時間的和是否超過一天的工作時間來累加需要增加的時間。
【文檔編號】G06Q10/10GK104463565SQ201410822076
【公開日】2015年3月25日 申請日期:2014年12月22日 優(yōu)先權日:2014年12月22日
【發(fā)明者】張曙華, 楊虹, 孔凡強, 廖百成, 李??? 申請人:上海中信信息發(fā)展股份有限公司