本申請涉及計算機領域,具體而言,涉及一種時間的所屬時間片段的確定方法和裝置。
背景技術:
在實時流處理的分析業(yè)務中,對時間的處理是很常見的。其中,現(xiàn)有技術中處理時間的方法為按著時間片的方式對時間進行處理,比如,任意一天的時間可以按照單位秒統(tǒng)計為24*60*60=86400秒,用戶需要對這86400秒按照時間片進行劃分,可以按照30s為一個時間片段進行劃分,還可以按照50s為一個時間片段進行劃分。若一個時間片段為按照30s進行劃分的,則該時間段內的時間片段的數(shù)量為:86400/30=2880個,這種時間片段適合組織在分布式下存儲的數(shù)據(jù)。
現(xiàn)用戶指定一個時間點,需查找該指定時間點屬于多個時間片段中的哪一個片段。若通過現(xiàn)有技術中人工查找的方法查詢指定時間點所屬的時間片段,效率慢,精確度低,極大的影響了處理效率。
針對上述的問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:
本申請實施例提供了一種時間的所屬時間片段的確定方法和裝置,以至少解決現(xiàn)有技術中待確定時間所屬時間片段查找精度較低的技術問題。
根據(jù)本申請實施例的一個方面,提供了一種時間的所屬時間片段的確定方法,包括:獲取用戶選取的待確定時間;查詢目標時間段,其中,所述目標時間段為用于確定所述待確定時間所屬時間片段的時間段;以及根據(jù)所述目標時間段計算所述待確定時間的所述所屬時間片段,其中,所述目標時間段包括至少一個時間片段。
進一步地,所述方法還包括:將所述目標時間段的格式轉化為目標格式,得到轉化格式之后的所述目標時間段;以及根據(jù)所述目標時間段計算所述待確定時間的所述所屬時間片段包括:根據(jù)轉化格式之后的所述目標時間段確定所述所屬時間片段。
進一步地,根據(jù)轉化格式之后的所述目標時間段確定所述所屬時間片段包括:獲 取所述目標時間段的起始時間;根據(jù)所述起始時間和所述待確定時間計算片段標識;以及將轉化格式之后的所述目標時間段與所述片段標識進行聚合,得到所述所屬時間片段。
進一步地,根據(jù)所述起始時間和所述待確定時間計算片段標識包括:計算所述待確定時間和所述起始時間的時間差;計算所述時間差和預設時間長度的比值,其中,所述預設時間長度為所述目標時間段內任一時間片段的時間長度,所述目標時間段內每個時間片段的時間長度相同;以及計算所述比值與預設數(shù)值的和,得到所述片段標識。
進一步地,獲取用戶選取的待確定時間包括:接收來自用戶的輸入指令,其中,所述輸入指令為輸入所述待確定時間的指令。
根據(jù)本申請實施例的另一方面,還提供了一種時間的所屬時間片段的確定裝置,包括:獲取單元,用于獲取用戶選取的待確定時間;查詢單元,用于查詢目標時間段,其中,所述目標時間段為用于確定所述待確定時間所屬時間片段的時間段;以及計算單元,用于根據(jù)所述目標時間段計算所述待確定時間的所述所屬時間片段,其中,所述目標時間段包括至少一個時間片段。
進一步地,所述裝置還包括:轉化單元,用于將所述目標時間段的格式轉化為目標格式,得到轉化格式之后的所述目標時間段;以及所述計算單元包括:確定子單元,用于根據(jù)轉化格式之后的所述目標時間段確定所述所屬時間片段。
進一步地,所述確定子單元包括:獲取模塊,用于獲取所述目標時間段的起始時間;確定模塊,用于根據(jù)所述起始時間和所述待確定時間計算片段標識;以及聚合模塊,用于將轉化格式之后的所述目標時間段與所述片段標識進行聚合,得到所述所屬時間片段。
進一步地,所述確定模塊包括:第一計算子模塊,用于計算所述待確定時間和所述起始時間的時間差;第二計算子模塊,用于計算所述時間差和預設時間長度的比值,其中,所述預設時間長度為所述目標時間段內任一時間片段的時間長度,所述目標時間段內每個時間片段的時間長度相同;以及第三計算子模塊,用于計算所述比值與預設數(shù)值的和,得到所述片段標識。
進一步地,所述獲取單元包括:接收模塊,用于接收來自用戶的輸入指令,其中,所述輸入指令為輸入所述待確定時間的指令。
在本申請實施例中,采用獲取用戶選取的待確定時間;查詢目標時間段,其中,所述目標時間段為用于確定所述待確定時間所屬時間片段的時間段;以及根據(jù)所述目標時間段計算所述待確定時間的所述所屬時間片段,其中,所述目標時間段包括至少一個時間片段的方式。通過用戶選取的待確定時間,在目標時間段內查找該待確定時間的起始時間,通過對起始時間和待確定時間進行處理,即可確定待確定時間的所屬時間片段,相對于現(xiàn)有技術中通過人工查找待確定時間的所屬時間片段的方法,提高了查找的準確度,并提高了查找速度,達到了準確查找待確定時間在目標時間段內所屬時間片段的目的,進而解決了現(xiàn)有技術中待確定時間所屬時間片段查找精度較低的技術問題,從而實現(xiàn)了快速并準確查找待確定時間所屬時間片段的技術效果。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1是根據(jù)本申請實施例的一種時間的所屬時間片段的確定方法的流程圖;以及
圖2是根據(jù)本申請實施例的一種時間的所屬時間片段的確定裝置的示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本申請方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
需要說明的是,本申請的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
根據(jù)本申請實施例,提供了一種時間的所屬時間片段的確定方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算 機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本申請實施例的一種時間的所屬時間片段的確定方法的流程圖,如圖1所示,該方法包括如下步驟S102至步驟S106:
步驟S102,獲取用戶選取的待確定時間。
具體地,用戶可以根據(jù)需要設置指定時間assignTime(即,待確定時間)。例如,用戶設置的assignTime可以為2015.10.11.13:15,該時間表示為2015年10月11日13時15分。
步驟S104,查詢目標時間段,其中,目標時間段為用于確定待確定時間所屬時間片段的時間段。
具體地,通過目標時間段確定assignTime的所屬時間片段,其中,目標時間段可以選取為一個月、兩天,還可以選取為一天。假設,用戶設置目標時間段為一天,若assignTime為2015年10月11日13時15分,則該目標時間段為2015年10月11日零時至2015年10月11日24時,此時,將目標時間段可以表示為2015.10.11即可。若針對該待確定時間用戶設置的目標時間段為兩天,則目標時間段為2015年10月10日零時至2015年10月11日24時這一段時間,則目標時間段可以表示為2015.10.10-2015.10.11。
步驟S106,根據(jù)目標時間段計算待確定時間的所屬時間片段,其中,目標時間段包括至少一個時間片段。
在本申請實施例中,通過用戶選取的待確定時間,在目標時間段內查找該待確定時間的起始時間,通過對起始時間和待確定時間進行處理,即可確定待確定時間的所屬時間片段,相對于現(xiàn)有技術中通過人工查找待確定時間的所屬時間片段的方法,提高了查找的準確度,并提高了查找速度,達到了準確查找待確定時間在目標時間段內所屬時間片段的目的,進而解決了現(xiàn)有技術中待確定時間所屬時間片段查找精度較低的技術問題,從而實現(xiàn)了快速并準確查找待確定時間所屬時間片段的技術效果。
在本申請下述實施例中,目標時間段均以一天為例進行說明。
可選的,本申請中時間的所屬時間片段的確定方法還包括如下步驟S1:
步驟S1,將目標時間段的格式轉化為目標格式,得到轉化格式之后的目標時間段。
具體地,若用戶設置的assignTime為2015.10.11.13:15,則通過該時間即可確定目 標時間段為2015年10月11日零時至2015年10月11日24時。系統(tǒng)中獲取到的該目標時間段可能為2015.10.11,還可能為2015-10-11,即目標時間段的格式不統(tǒng)一。因此,通過時間格式化類(DateFormat)對獲取到的目標時間段進行格式轉化,轉化為統(tǒng)一的格式。例如,轉化之后的目標格式為yyyyMMdd格式,則將獲取到的目標時間段2015.10.11轉化為20151011即可,其中,yyyy表示為年份,MM表示為月份,dd表示為日。
根據(jù)目標時間段計算待確定時間的所屬時間片段包括步驟S3:根據(jù)轉化格式之后的目標時間段確定所屬時間片段。
進一步地,根據(jù)轉化格式之后的目標時間段確定所屬時間片段包括步驟S31至步驟S35:
步驟S31,獲取目標時間段的起始時間。
步驟S33,根據(jù)起始時間和待確定時間計算片段標識。
步驟S35,將轉化格式之后的目標時間段與片段標識進行聚合,得到所屬時間片段。
具體地,若目標時間段為2015.10.11.00:00-2015.10.11.24:00(也即2015年10月11日),則該目標時間段的起始時間startTime為2015.10.11.00:00。
將起始時間startTime 2015.10.11.00:00和指定時間assignTime(即,待確定時間)進行處理,即可計算出指定時間assignTime的片段標識。其中,片段標識可以為目標時間段內每個時間片段的順序符號,例如目標時間段內的第一個時間片段用“1”表示,第二個時間片段用“2”表示,……,第i個時間片段用“i”表示。片段標識還可以用其它符號來表示,例如,“a”、“b”、“c”等符號。在本申請實施例中,片段標識用阿拉伯數(shù)字來表示,即,第一個時間片段用“1”表示,第二個時間片段用“2”表示,…,第i個時間片段用“i”表示。
若步驟S33中計算出的片段標識為200,則將200與轉化格式之后的目標時間段(例如,20151011)進行聚合,得到所屬時間片段(例如,20151011200)。其中,所屬時間片段包括轉化格式之后的目標時間段(例如,20151011)和片段標識(例如,200)兩部分。
需要說明的是,在本申請中,起始時間startTime和指定時間assignTime(即,待確定時間)的單位可以選取為分、秒,還可以選取為毫秒。作為優(yōu)選,在實施例中,設定起始時間startTime和指定時間assignTime的單位均為毫秒。
可選的,根據(jù)起始時間和待確定時間計算片段標識包括如下步驟S331至步驟S335:
步驟S331,計算待確定時間和起始時間的時間差。
步驟S333,計算時間差和預設時間長度的比值,其中,預設時間長度為目標時間段內任一時間片段的時間長度,目標時間段內每個時間片段的時間長度相同。
步驟S335,計算比值與預設數(shù)值的和,得到片段標識。
具體地,計算指定時間assignTime和起始時間startTime的差值,得到時間差即(assignTime-startTime)。求取時間差和預設時間長度slice的比值,即(assignTime-startTime)/slice,再對計算得到的比值進行加預設數(shù)值的運算,得到片段標識,其中,預設數(shù)值的選取為1。
上述計算過程可以用下述公式來表示:sequence=(assignTime-startTime)/slice+1,其中,sequence為片段標識,slice為預設時間長度,assignTime為指定時間(即,待確定時間),1為預設數(shù)值。
需要說明的是,目標時間段內時間片段的數(shù)量的計算方法為:目標時間段內的總毫秒數(shù)/slice。其中,slice的單位為毫秒,并且該slice與公式sequence=(assignTime-startTime)/slice+1中的slice的取值相同。
例如,起始時間startTime為2015.10.11.00:00,指定時間assignTime為2015.10.11.13:00,計算assignTime和startTime的差值為,得到時間差為13小時,即13×60×60×1000=46800000ms。選取slice的數(shù)值為30s,即30000ms,計算46800000ms和30000ms的比值等于1560,再對1560進行加1運算,得到1561,其中,1561即為片段標識。
可選的,獲取用戶選取的待確定時間包括如下步驟S1021:
步驟S1021,接收來自用戶的輸入指令,其中,輸入指令為輸入待確定時間的指令。
具體地,用戶可根據(jù)實際需要在系統(tǒng)中輸入待確定時間,其中,待確定時間的數(shù)量可以為一個,還可以為多個。當用戶輸入待確定時間之后,通過日歷類實例Calendar可以根據(jù)輸入的待確定時間確定目標時間段。若待確定時間為2015.10.11.13:15,則通過日歷類實例Calendar即可確定待確定時間的當前日期為2015年10月11日,進而可以根據(jù)該日期查詢目標時間段。例如,若用戶設定的目標時間段為一天,則查詢到該待確定時間的目標時間段即為2015年10月11日;若用戶設定的目標時間段為兩天,則查詢到該待確定時間的目標時間段為2015.10.10.00:00-2015.10.11.24:00。
本申請實施例還提供了一種時間的所屬時間片段的確定裝置,該確定裝置主要用于執(zhí)行本申請實施例上述內容所提供的時間的所屬時間片段的確定方法,以下對本申請實施例送提供的時間的所屬時間片段的確定裝置做具體介紹。
圖2是根據(jù)本申請實施例的一種時間的所屬時間片段的確定裝置的示意圖,如圖2所示,該網(wǎng)頁中指標的處理裝置主要包括獲取單元10、查詢單元20和計算單元30,其中:
獲取單元10,用于獲取用戶選取的待確定時間。
具體地,用戶可以根據(jù)需要設置指定時間assignTime(即,待確定時間)。例如,用戶設置的assignTime可以為2015.10.11.13:15,該時間表示為2015年10月11日13時15分。
查詢單元20,用于查詢目標時間段,其中,目標時間段為用于確定待確定時間所屬時間片段的時間段。
具體地,通過目標時間段確定assignTime的所屬時間片段,其中,目標時間段可以選取為一個月、兩天,還可以選取為一天。假設,用戶設置目標時間段為一天,若assignTime為2015年10月11日13時15分,則該目標時間段為2015年10月11日零時至2015年10月11日24時,此時,將目標時間段可以表示為2015.10.11即可。若針對該待確定時間用戶設置的目標時間段為兩天,則目標時間段為2015年10月10日零時至2015年10月11日24時這一段時間,則目標時間段可以表示為2015.10.10-2015.10.11。
計算單元30,用于根據(jù)目標時間段計算待確定時間的所屬時間片段,其中,目標時間段包括至少一個時間片段。
在本申請實施例中,通過用戶選取的待確定時間,在目標時間段內查找該待確定時間的起始時間,通過對起始時間和待確定時間進行處理,即可確定待確定時間的所屬時間片段,相對于現(xiàn)有技術中通過人工查找待確定時間的所屬時間片段的裝置,提高了查找的準確度,并提高了查找速度,達到了準確查找待確定時間在目標時間段內所屬時間片段的目的,進而解決了現(xiàn)有技術中待確定時間所屬時間片段查找精度較低的技術問題,從而實現(xiàn)了快速并準確查找待確定時間所屬時間片段的技術效果。
可選的,時間的所屬時間片段的確定裝置還包括:轉化單元,用于將目標時間段的格式轉化為目標格式,得到轉化格式之后的目標時間段。計算單元包括:確定子單元,用于根據(jù)轉化格式之后的目標時間段確定所屬時間片段。
具體地,若用戶設置的assignTime為2015.10.11.13:15,則通過該時間即可確定目標時間段為2015年10月11日零時至2015年10月11日24時。系統(tǒng)中獲取到的該目標時間段可能為2015.10.11,還可能為2015-10-11,即目標時間段的格式不統(tǒng)一。因此,通過轉化單元將獲取到的目標時間段進行格式轉化,轉化為統(tǒng)一的格式。例如,轉化之后的目標格式為yyyyMMdd格式,則將獲取到的目標時間段2015.10.11轉化為20151011即可,其中,yyyy表示為年份,MM表示為月份,dd表示為日。并根據(jù)確定子單元確定轉化格式之后的目標時間段確定所屬時間片段。
進一步地,確定子單元包括:獲取模塊,用于獲取目標時間段的起始時間;確定模塊,用于根據(jù)起始時間和待確定時間計算片段標識;聚合模塊,用于將轉化格式之后的目標時間段與片段標識進行聚合,得到所屬時間片段。
具體地,若目標時間段為2015.10.11.00:00-2015.10.11.24:00(也即2015年10月11日),則通過獲取單元獲取到的該目標時間段的起始時間startTime為2015.10.11.00:00。
通過計算單元將起始時間startTime 2015.10.11.00:00和指定時間assignTime(即,待確定時間)進行計算,即可計算出指定時間assignTime的片段標識。其中,片段標識可以為目標時間段內每個時間片段的順序符號,例如目標時間段內的第一個時間片段用“1”表示,第二個時間片段用“2”表示,……,第i個時間片段用“i”表示。片段標識還可以用其它符號來表示,例如,“a、“b”、“c”等符號。在本申請實施例中,片段標識用阿拉伯數(shù)字來表示,即,第一個時間片段用“1”表示,第二個時間片段用“2”表示,……,第i個時間片段用“i”表示。
若確定模塊中計算出的片段標識為200,則通過聚合模塊將200與轉化格式之后的目標時間段(例如,20151011)進行聚合,得到所屬時間片段(例如,20151011200)。其中,所屬時間片段包括轉化格式之后的目標時間段(例如,20151011)和片段標識(例如,200)兩部分。
需要說明的是,在本申請中,起始時間startTime和指定時間assignTime(即,待確定時間)的單位可以選取為分、秒,還可以選取為毫秒。作為優(yōu)選,在實施例中,設定起始時間startTime和指定時間assignTime的單位均為毫秒。
可選的,確定模塊包括:第一計算子模塊,用于計算待確定時間和起始時間的時間差;第二計算子模塊,用于計算時間差和預設時間長度的比值,其中,預設時間長度為目標時間段內任一時間片段的時間長度,目標時間段內每個時間片段的時間長度相同;第三計算子模塊,用于計算比值與預設數(shù)值的和,得到片段標識。
具體地,通過第一計算子模塊計算指定時間assignTime和起始時間startTime的差值,得到時間差即(assignTime-startTime)。通過第二計算子模塊計算時間差和預設時間長度的比值,即(assignTime-startTime)/slice,再通過第三計算子模塊對計算得到的比值進行加預設數(shù)值的運算,得到片段標識,其中,預設數(shù)值的選取為1。
上述計算過程可以用下述公式來表示:sequence=(assignTime-startTime)/slice+1,其中,sequence為片段標識,slice為預設時間長度,assignTime為指定時間(即,待確定時間),1為預設數(shù)值。
需要說明的是,目標時間段內時間片段的數(shù)量的計算方法為:目標時間段內的總毫秒數(shù)/slice=時間片段的數(shù)量。其中,slice的單位為毫秒,并且該slice與公式sequence=(assignTime-startTime)/slice+1中的slice的取值相同。
可選的,獲取單元包括:接收模塊,用于接收來自用戶的輸入指令,其中,輸入指令為輸入待確定時間的指令。
具體地,用戶可根據(jù)實際需要在系統(tǒng)中輸入待確定時間,其中,待確定時間的數(shù)量可以為一個,還可以為多個。當用戶輸入待確定時間之后,通過日歷類實例Calendar可以根據(jù)輸入的待確定時間確定目標時間段。若待確定時間為2015.10.11.13:15,則通過日歷類實例Calendar即可確定待確定時間的當前日期為2015年10月11日,進而可以根據(jù)該日期查詢目標時間段。例如,若用戶設定的目標時間段為一天,則查詢到該待確定時間的目標時間段即為2015年10月11日;若用戶設定的目標時間段為兩天,則查詢到該待確定時間的目標時間段為2015.10.10.00:00-2015.10.11.24:00。
所述時間的所屬時間片段的確定裝置包括處理器和存儲器,上述獲取單元、查詢單元和計算單元等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元來實現(xiàn)相應的功能。
處理器中包含內核,由內核去存儲器中調取相應的程序單元。內核可以設置一個或以上,通過調整內核參數(shù)來準確查找待確定時間在目標時間段內所屬時間片段,進而解決了現(xiàn)有技術中待確定時間所屬時間片段查找精度較低的技術問題。
存儲器可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產(chǎn)品,當在數(shù)據(jù)處理設備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:獲取用戶選取的待確定時間;查詢目標時間段,其中,所述目標時間段為用于確定所述待確定時間所屬時間片段的時間段;以及根據(jù)所 述目標時間段計算所述待確定時間的所述所屬時間片段,其中,所述目標時間段包括至少一個時間片段。
上述本申請實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本申請的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本申請的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述僅是本申請的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。