異常檢測的方法及裝置
本發明涉及資訊技術領域,尤其涉及一種異常檢測的方法及裝置。
目前,隨著線上業務的快速發展,使得線上業務的業務量在不斷增加。而業務量的增加對運維工作(如,及時發現業務執行過程中的異常,並採取相應的應對措施)提出了較高要求。
在現有技術中,當需要監控的線上業務的業務量較大時,若對每個業務均進行監控,會導致資源耗費過多。因此,通常採用時間序列分析(Seasonal and Trend decomposition using Loess,STL)方法,對業務量較大的線上業務是否出現異常進行監測。
具體的,STL方法是基於社會活動存在規律這一假設的。由於用戶的活動在時間上是存在規律的(例如,工作日存在上下班高峰期,人們需要吃午飯和晚飯),因此由用戶發起的業務在時間上也存在規律(如,購買公車車票的業務在上下班高峰期時的業務量會較高,其餘時間業務量較少,餐飲業在中午和晚間業務量較高,而其餘時間業務量較少)。於是,STL方法可根據業務資料存在的規律,來判斷業務是否出現異常。
現有STL方法,將確定的業務資料在時間上的分佈(即,時間序列)進行分解,得到該時間序列對應的趨勢性部分、週期性部分以及隨機部分,之後藉由刪除週期性部分,根據對趨勢性部分以及隨機部分進行假設檢驗,對時間序列中的異常點排查。
但是,現有STL方法的檢測準確率較低,因此本說明書提供一種新的異常檢測方法。
本說明書實施例提供一種異常檢測的方法及裝置,用於解決現有STL方法,檢測準確率低的問題。
本說明書實施例採用下述技術方案:
一種異常檢測的方法,包括:
確定業務資料對應的時間序列;
對所述時間序列進行頻譜分析,確定所述時間序列的週期;
針對每個週期,確定該週期包含的干擾資料;
根據該週期包含的各業務資料和/或其他週期包含的各業務資料,調整該週期包含的干擾資料;
藉由時間序列分析STL方法,對調整干擾資料後的時間序列進行異常檢測。
一種異常檢測的裝置,包括:
時間序列確定模組,確定業務資料對應的時間序列;
週期確定模組,對所述時間序列進行頻譜分析,確定所述時間序列的週期;
干擾確定模組,針對每個週期,確定該週期包含的干擾資料;
資料處理模組,根據該週期包含的各業務資料和/或其他週期包含的各業務資料,調整該週期包含的干擾資料;
異常檢測模組,藉由時間序列分析STL方法,對調整干擾資料後的時間序列進行異常檢測。
一種伺服器,其中,所述伺服器包括:一個或多個處理器及記憶體,記憶體儲存有程式,並且被配置成由一個或多個處理器執行以下步驟:
確定業務資料對應的時間序列;
對所述時間序列進行頻譜分析,確定所述時間序列的週期;
針對每個週期,確定該週期包含的干擾資料;
根據該週期包含的各業務資料和/或其他週期包含的各業務資料,調整該週期包含的干擾資料;
藉由時間序列分析STL方法,對調整干擾資料後的時間序列進行異常檢測。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:
藉由本說明書提供的方法及裝置,在藉由STL方法進行檢測之前,先對時間序列進行頻譜分析,確定時間序列的週期,之後針對每個週期,確定該週期中包含的干擾資料,再根據各週期包含的業務資料,對該週期包含的干擾資料進行調整,最後藉由STL方法對調整後的時間序列進行異常檢測。藉由根據頻率分析確定出的週期,以及對干擾資料的調整,可減少STL方法誤報異常或者漏報異常的概率,提高了檢測的準確率。
為使本說明書的目的、技術方案和優點更加清楚,下面將結合本說明書具體實施例及相應的圖式對本發明技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基於說明書中的實施例,本領域具有通常知識者在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
以下結合圖式,詳細說明本發明各實施例提供的技術方案。
圖1為說明書實施例提供的一種異常檢測的過程,具體可包括以下步驟:
S100:確定業務資料對應的時間序列。
在本說明書一個或多個實施例中,該異常檢測過程為檢測在業務執行過程中的業務資料是否出現異常,因此該異常檢測過程可由執行業務的服務方執行。具體可以由該服務方的伺服器執行該異常檢測過程。當然,該伺服器可以是專門進行異常檢測的伺服器,或者也可以是在執行業務的同時兼顧進行異常檢測的伺服器,並且該伺服器可以是單獨的一台設備,或者也可以是由多台設備組成的系統(如,分散式伺服器),本說明書對此不作限定。
具體的,由於STL方法是基於業務資料是存在週期性規律這一假設的,因此在進行檢測之前伺服器可先確定待檢測的業務資料,其中,該待檢測的業務資料為一段時間伺服器採集的業務資料。當然,具體檢測哪一時間段的業務資料是否出現異常可根據需要設置,或者根據人工輸入確定,本說明書不限定具體藉由何種方式確定。
例如,假設運維員工需要確定日回款資料是否存在異常,則可設置該待檢測的業務資料為24小時內接收到的到業務資料的總額,或者,運維人員希望確定周交易量資料是否存在異常,則可設置該待檢測的業務資料為7個自然日內執行的交易業務的數量,等等。
需要說明的是,在本說明書中,為了可避免個體行為的不可預測性的帶來的影響,所以該STL方法分析的對象可為某類業務的業務資料的量化值對應的時間序列。例如,收單機構向發卡機構發送的業務請求的數量,便可作為業務資料的一種量化值,或者,金融機構每小時交易總額,也可視為交易業務的業務資料的一種量化值,等等。
另外,在本說明書中,由於通常在較長時間尺度上確定的週期性規律更為準確,所以為了提高異常檢測的準確率,為了使伺服器後續可確定更準確的時間序列的週期,伺服器在確定出待檢測的業務資料對應的時間段之後,還可根據歷史記錄中的業務資料,確定用於後續異常檢測的業務資料的量化值對應的時間序列。
例如,如圖2a所示的週期性資料為待檢測的業務資料,定義橫軸為時間,縱軸為業務數量,可見該週期性資料中只有兩個週期。但是,假如在點A的時間點,業務數量出現了波動,如圖2b所示。那麼若根據圖2b則很難確定一個準確的週期。而假如採集較長時間尺度上業務數量,根據歷史記錄中的業務數量(即,虛線部分)和待檢測的業務數量,確定時間序列,如圖2c所示,則可減少點A這樣的背景噪音對確定準確的週期來帶的影響。
具體的,伺服器可根據預設的係數以及該待檢測的業務資料的時間段,確定時間序列的時間長度,以提高確定出的時間序列的強健性。其中,該係數可以根據需要進行設置,本說明書不做限定。
例如,假設該係數為100,該待檢測的業務資料的時間段為1天,伺服器執行步驟S100的時間為2018年1月1日10:00AM,則伺服器可根據歷史記錄中從2017年9月23日10:00AM至2018年12月31日10:00AM的業務資料,以及2018年12月31日10:00AM 至2018年1月1日10:00AM採集的待檢測的業務資料,確定該業務資料的量化值對應的時間序列。
S102:對所述時間序列進行頻譜分析,確定所述時間序列的週期。
在本說明書中,為了準確的確定該時間序列的週期,伺服器可對該時間週期進行頻譜分析,將該業務資料的量化值對應的時間序列的函數作為時域信號轉換為頻域信號,進而根據確定出的頻率分佈函數確定該時間序列的週期。
具體的,首先,伺服器可確定該時間序列中的業務資料與時間的函數關係,也就是確定該時間序列的函數表達式,之後藉由對該函數表達式進行傅立葉變換,得到該業務資料的頻率分佈的函數表達式,即,頻率分佈函數,如,圖3所示。
圖3中左側為時間序列,右側為頻率分佈函數。其中,該頻率分佈函數的縱軸為頻率的能量,並且可見多個頻率分量。其中,每個頻率分量的能量可對應於時間序列中不同週期震盪的業務資料的振幅。該對應關係可如箭頭所示。
其次,伺服器可根據該頻率分佈函數中各頻率分量的能量大小,從各頻率分量中選擇一個頻率分量的頻率作為該時間序列的週期。具體的,伺服器可按照各頻率分量的能量大小從高到低的順序,選擇至少一個頻率分量,並根據選擇的頻率分量的頻率數值確定該時間序列的週期。例如,根據各頻率分量中的能量最大的頻率分量的頻率,確定該時間序列的週期。
S104:針對每個週期,確定該週期包含的干擾資料;
S106:根據該週期包含的各業務資料和/或其他週期包含的各業務資料,調整該週期包含的干擾資料。
在本說明書實施例中,當確定出了該時間序列的週期之後,伺服器便可根據該週期,對該時間序列中影響後續異常檢測的干擾資料進行調整,以減少干擾資料對異常檢測準確率的干擾,提高後續進行異常檢測時的準確率。其中,干擾資料不是該時間序列中的異常點,但是容易被誤認為異常的業務資料。例如,工作日和節假日的業務資料可能存在較大差異,但是該差異為正常的,但是會破壞時間序列整體的週期性,容易被誤認為是異常。干擾資料可以是業務資料的量化值中,屬於干擾部分的數值,或者當業務資料的量化值中包含干擾部分的數值時,確定該業務資料為干擾資料。
具體的,在本說明書中干擾資料可包括:由指定類型的日期帶來的干擾資料,以及由業務發展的趨勢變化帶來的干擾資料,等干擾資料。下面針對以上兩種干擾資料進行調整的過程進行說明。
具體的,對於由指定類型的日期的業務波動帶來的干擾資料,該指定類型至少可包括:節假日、曆法節氣日(如,冬至、龍頭節)等,本說明書對於該指定類型如何確定不做限定,可根據需要進行設置。為了方便後續描述本說明書以節假日為例進行說明書。伺服器可先根據各業務資料中各業務資料的日期,確定屬於節假日的業務資料。之後,伺服器針對每個週期,判斷該週期中是否包含屬於節假日的業務資料,若是,則調整屬於節假日的業務資料,若否,則不調整。
其中,伺服器在調整屬於節假日的業務資料的量化值時,可採用以下兩種方法:
第一種方法:伺服器可確定該屬於節假日的業務資料所在的週期,利用同一週期內的不屬於節假日的其他業務資料,調整該屬於節假日的業務資料。例如,當屬於節假日的業務資料相對其他日期的業務資料較少時,可將其他日期的業務資料的量化值與該屬於節假日的業務資料的量化值相加,作為該屬於節假日的業務資料的量化值。具體的,若在該時間序列中時間粒度小於一天,則該週期中的每個自然日可對應多個業務資料的量化值,於是,伺服器可根據一天中包含的各業務資料的量化值的相位,確定該屬於節假日的業務資料在該相位上的業務資料的量化值,之後再確定該週期的其他日期的業務資料在該相位上的業務資料的量化值的中位數,最後將該中位數與該屬於節假日的業務資料在該相位上的業務資料之和,重新確定為該屬於節假日的業務資料在該相位上的業務資料。
如圖4所示,圖4中為一個週期橫軸為時間,縱軸為業務量的量化值,該週期包含4個自然日D1~D4,其中D4為節假日。於是,對於D4中的深色的業務資料的量化值,伺服器可選擇其他日期的業務資料中相同相位的業務資料的量化值(也標記為深色),並確定各量化值的中位數,最後將該中位數與D4中的深色的業務資料的量化值之和,作為D4該相位上的業務資料的量化值。當然,若該節假日的業務資料的量化值若高於其他自然日的業務資料的量化值,則在確定出中位數之後,可將該中位數與對該節假日的業務資料的量化值進行之差,重新作為節假日的業務資料的量化值,本說明書對此不再贅述。
第二種方法:伺服器可根據節假日在該週期內的相位,根據其他週期包含的相同相位的業務資料的量化值,調整該節假日的業務資料的量化值。例如以圖5為例,假設以一天為一個週期,則D1~D4分別為4個週期。則伺服器可針對相同相位的業務資料的量化值,選取D3業務資料的量化值,調整D4業務資料的量化值。
另外,對於由於業務變化趨勢帶來的干擾資料,伺服器可對該時間序列的函數進行導數分析,並在確定該時間序列的變化趨勢超過預設閾值之後,再對干擾資料進行調整。在對業務變化趨勢帶來的干擾資料進行調整時,伺服器可針對每個週期,可根據該週期以及與其相鄰的其他週期包含的業務資料,對該週期內各業務資料進行差分處理或者對數處理,或者,伺服器也可根據該週期包含的各業務資料,確定該週期包含的各業務資料的中位數,並根據確定出的中位數調整該週期包含的各業務資料。其中,預設閾值可根據需要進行設置本說明書不做限定。
具體的,首先,伺服器可藉由對該時間序列的函數進行導數分析。例如,伺服器可對該時間序列的函數求導,確定該時間序列的導數函數。並根據該導數函數與橫軸之間所圍面積的變化趨勢,確定該時間序列的變化趨勢,如圖6所示。
圖6為本說明書實施例提供導數函數的與橫軸之間的面積示意圖。其中,左側為時間序列的函數,右側為求導後的導數函數,可見當時間序列為增長趨勢的時間序列時,其對應的導數函數與橫軸之間的正面積在不斷增加,而當時間序列為減少趨勢的時間序列時,其對應的導數函數與橫軸之間的負面積在不斷增加。
其次,針對每個週期,伺服器可對確定該週期中各業務資料的量化值進行差分處理,即確定每兩個相鄰的業務資料的量化值之間的差值,並將確定出的各差值依次替代該週期中的各業務資料的量化值。
或者,伺服器也可對該週期中各業務資料的量化值進行對數處理,如,確定每兩個相鄰的業務資料的量化值之比的對數值,並將確定出的各對數值依次替代該週期中的各業務資料的量化值,或者對該時間序取對數。
或者,伺服器還可確定該週期內各業務資料的量化值的中位數,將各業務資料的量化值減去該中位數。並根據減去該中位數後的各業務資料的量化值,重新確定該時間序列。
藉由上述方法,可使該時間序列中各業務資料的量化值的變化趨勢趨於平緩,相當於對時間序列中的各業務資料的量化值進行了降敏處理,減少了由於業務變化趨勢過快導致後續異常分析時誤報的概率。
進一步地,上述對於由指定類型的日期的業務波動帶來的干擾資料的處理以及對於由於業務變化趨勢帶來的干擾資料的處理,可單獨選擇一種進行,或者也可組合執行,本說明書對此不做限定。
需要說明的是,在本說明書中,該干擾資料既可以是該時間序列中各業務資料的量化值多餘的部分,也可以是各業務資料的量化值中缺少的部分。例如圖4以及圖5中,添加到D4的量化值的中位數,便是該D4的業務資料的量化值中缺少的部分,而對各業務資料進行差分處理時,減去的部分量化值即為各業務資料的量化值多餘的部分。
S108:藉由時間序列分析STL方法,對調整干擾資料後的時間序列進行異常檢測。
在本說明書實施例中,當伺服器確定調整干擾資料的時間序列之後,便可藉由STL方法對該時間序列進行異常檢測。
具體的,由於該時間序列包含的各業務資料的量化值並不一定對應於完整的週期,所以為了減少對應於不完整週期的部分業務資料的量化值對異常檢測的影響,伺服器可對該時間序列中對應完整週期的各業務資料進行異常檢測。
另外,在本說明書中,該異常檢測可以採用假設檢驗方法,對該時間序列進行異常檢測。當然,由於利用假設檢驗方法對時間序列進行異常檢測已經是較為成熟的技術,因此本說明書對該檢測的具體過程不做過多贅述。
基於圖1所示的異常檢測過程,伺服器在確定出業務資料對應的時間序列之後,可先藉由對該時間序列進行頻譜分析,確定該時間序列的週期,之後針對每個週期,根據該週期和/或其他週期包含的業務資料,對該週期包含的干擾資料進行調整,最後藉由STL方法,對調整後的時間序列(進行異常檢測。其中,藉由頻譜分析可以確定更為靈活準確的週期,使得後續可以根據該週期,對該時間序列中的干擾資料進行調整,減少干擾資料對異常檢測的準確率的影響。解決了現有STL技術在進行異常檢測時準確率低的問題。
另外,由於業務的複雜性,在步驟S102中,服氣在對業務資料對應的時間序列在進行頻譜分析後,可能存在確定出的頻率分佈函數的若干頻率分量的能量大小比較接近的情況,如圖7所示。圖7為本說明書實施例提供的一種頻率分佈函數的示意圖。則此時伺服器還可按照各頻率分量的能量大小從高到低的順序,選擇相加後能量大小超過總能量大小一半的各頻率分量,確定該時間序列的多個週期。其中,總量能量大小為,該頻率分佈函數中各頻率分量的能量之和。
於是,在步驟S104中伺服器也可根據確定出的各週期中的至少一個週期,對該週期內包含的干擾資料進行調整。例如,伺服器可針對頻率較高的每個週期,對該週期內包含的干擾資料進行處理,之後再針對頻率較低的每個週期,對該週期內包含的干擾資料進行處理。當然,具體如何根據確定出的多個週期對時間序列進行處理,本說明書不做限定。
進一步地,在對屬於節假日的業務資料的量化值進行調整時,若伺服器選擇根據該週期內包含的不屬於節假日的各業務資料的量化值進行調整,則該伺服器在確定該時間序列的週期時,可選擇頻率較低的週期,以避免頻率較高的週期內包含的不屬於節假日的各業務資料的數量較少,導致調整不夠準確。例如,若伺服器選擇週期為2個自然日,則伺服器只能根據該週期內另一日的業務資料的量化值,對該屬於節假日的業務資料的量化值進行調整。而若伺服器選擇週期為7個自然日,則伺服器可根據該週期內多個不屬於節假日的業務資料的量化值,對該週期內屬於節假日的業務資料的量化值進行調整。
更進一步地,在本說明書中,伺服器確定的時間序列中還可能存在難以調整的干擾資料。例如,當賣場大促銷時交易業務量會出現激增(但是可以確定該業務量的激增是正常現象),而由於賣場大促銷通常對應的週期一般都是以年記的很難藉由該時間序列中的業務資料的量化值調整大促銷時出現的業務資料的量化值的劇烈變化。
於是,為了防止這類干擾資料對異常檢測準確率的影響,伺服器在進行異常檢測之前,還可根據該時間序列對應的日期區間,確定歷史日誌中相同時日期區間內報告為異常的日誌,以及對該報告為異常的日誌的處理結果,調整異常檢測的判斷條件。
例如,如圖8所示的波動,假設其中點A為賣場大促銷導致的業務資料的大幅增漲。則伺服器可獲取歷史上同一段日期區間的歷史日誌,確定是否存在報告為異常的日誌,若存在,則進一步確定對該異常的日誌的處理結果,並根據該處理結果,調整判斷條件,若不存在,則不調整判斷條件。
如,假設該點A為賣場周年促銷,則伺服器可獲取上一年相同日期區間的歷史日誌,假如去年同樣由於大促銷發生了報警為異常的日誌,則由於該大促銷導致的波動是正常的資料量的波動,因此處理結果可以是不進行處理,則此時伺服器可根據該處理結果,確定該波動是正常的波動,若遇到相同的情況,可以不用報警,並相應調整判斷條件。如,假設原有的判斷條件為業務資料變動超過200時,確定出現異常,則此時可將該判斷條件調整為業務資料變動超過2000時,確定出現異常。
其中,具體如何調整判斷條件,可根據需要進行設置本說明書不做限定。
另外,當伺服器確定出該時間序列中存在異常的業務資料時,除了可以藉由報警提示運維人員進行處理以外,還可對該異常的業務資料調整為非異常的業務資料,並將調整後的時間序列中的各業務資料作為已檢測資料儲存。以便後續在需要進行異常檢測時,伺服器可根據儲存的已檢測資料以及採集的待檢測資料,確定業務資料對應的時間序列,避免歷史上出現的異常的業務資料,對異常檢測的影響。
具體的,伺服器可確定該異常的業務資料對應的日期,再根據其他日期的業務資料替換該異常的業務資料。其中,當該時間序列的粒度小於一天時,可以根據其他日期相同相位的業務資料替換該異常的業務資料。
需要說明的是,本說明書實施例所提供方法的各步驟的執行主體均可以是同一設備,或者,該方法也由不同設備作為執行主體。比如,步驟S100和步驟S102的執行主體可以為設備1,步驟S102的執行主體可以為設備2;或者,步驟S100的執行主體可以為設備1,步驟S102和步驟S104的執行主體可以為設備2;等等。上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
基於圖1所示的異常檢測的方法,本說明書實施例還提供一種異常檢測的裝置,如圖9所示。
圖9為本說明書實施例提供的一種異常檢測的裝置的結構示意圖,所述裝置包括:
時間序列確定模組200,確定業務資料對應的時間序列;
週期確定模組202,對所述時間序列進行頻譜分析,確定所述時間序列的週期;
干擾確定模組204,針對每個週期,確定該週期包含的干擾資料
資料處理模組206,根據該週期包含的各業務資料和/或其他週期包含的各業務資料,調整該週期包含的干擾資料;
異常檢測模組208,藉由時間序列分析STL方法,對調整干擾資料後的時間序列進行異常檢測。
週期確定模組202,對所述時間序列進行頻域轉換,確定所述業務資料的頻率分佈函數,根據所述頻率分佈函數中各頻率分量的能量大小,確定所述時間序列的週期。
所述干擾確定模組204,根據該週期包含的各業務資料的日期,確定各業務資料中的屬於指定類型日期的業務資料,作為干擾資料,其中,所述指定類型至少包括:節假日
資料處理模組206,根據該週期包含各業務資料中不屬於所述指定類型日期的業務資料,調整所述干擾資料,或者根據所述干擾資料在該週期內的相位,根據其他週期包含的相同相位的業務資料,調整所述干擾資料。
所述干擾確定模組204,當確定所述時間序列的變化趨勢超過預設閾值時,確定該週期包含的各業務資料為干擾資料。
資料處理模組206,根據該週期以及與其相鄰的其他週期包含的干擾資料,對該週期內各干擾資料進行差分處理或者對數處理,或者根據該週期包含的各干擾資料,確定該週期包含的各干擾資料的中位數,並根據所述中位數調整該週期包含的各干擾資料。
所述資料處理模組206,將該週期包含的各干擾資料與所述中位數的差值,作為調整後的各干擾資料。
所述異常檢測模組208,對調整干擾資料後的時間序列進行異常檢測之前,根據所述時間序列對應的日期區間,確定歷史日誌中相同日期區間內報告異常的日誌及其處理結果,根據所述報告異常的日誌及其處理結果,調整所述異常檢測的判斷條件。
所述時間序列確定模組200,根據儲存的已檢測資料以及採集的待檢測資料,確定業務資料對應的時間序列。
所述裝置還包括:
資料儲存模組210,當確定存在異常的業務資料時,將所述異常的業務資料調整為非異常的業務資料,並將調整後所述時間序列中包含的各業務資料作為已檢測資料儲存。
基於圖1所述的異常檢測的方法,本說明書對應提供一種伺服器,如圖10所示,其中,所述伺服器包括:一個或多個處理器及記憶體,記憶體儲存有程式,並且被配置成由一個或多個處理器執行以下步驟:
確定業務資料對應的時間序列;
對所述時間序列進行頻譜分析,確定所述時間序列的週期;
針對每個週期,確定該週期包含的干擾資料;
根據該週期包含的各業務資料和/或其他週期包含的各業務資料,調整該週期包含的干擾資料;
藉由時間序列分析STL方法,對調整干擾資料後的時間序列進行異常檢測。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都藉由將改進的方法流程編程到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種集成電路,其邏輯功能由用戶對裝置編程來確定。由設計人員自行編程來把一個數位系統“集成”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的集成電路晶片。而且,如今,取代手工地製作集成電路晶片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始碼也得用特定的編程語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯編程並編程到集成電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀媒體、邏輯閘、開關、專用集成電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以藉由將方法步驟進行邏輯編程來使得控制器以邏輯閘、開關、專用集成電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、筆記型電腦、蜂窩電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本發明時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得藉由電腦或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式化資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式化資料處理設備上,使得在電腦或其他可程式化設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟(CD-ROM)、數位化多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本發明的實施例可提供為方法、系統或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、物件、組件、資料結構等等。也可以在分散式計算環境中實踐本發明,在這些分散式計算環境中,由藉由通信網路而被連接的遠端處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發明的實施例而已,並不用於限制本發明。對於本領域技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發明的申請專利範圍之內。
S100~S108‧‧‧步驟
200‧‧‧時間序列確定模組
202‧‧‧週期確定模組
204‧‧‧干擾確定模組
206‧‧‧資料處理模組
208‧‧‧異常檢測模組
210‧‧‧資料儲存模組
此處所說明的圖式用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在圖式中:
圖1為本說明書實施例提供的一種異常檢測的過程;
圖2a至圖2c為本說明書實施例提供的不同時間尺度上的週期性資料的示意圖;
圖3為本說明書提供的時間序列與頻率分佈函數對應關係的示意圖;
圖4為本說明書實施例提供的一種業務資料調整的示意圖;
圖5為本說明書實施例提供的另一種業務資料調整的示意圖;
圖6為本說明書實施例提供的導數函數的與橫軸之間的面積示意圖;
圖7為本說明書實施例提供的一種頻率分佈函數的示意圖;
圖8為本說明書實施例提供的難以調整的干擾資料的示意圖;
圖9為本說明書實施例提供的一種異常檢測的裝置的結構示意圖;
圖10為本說明書實施例提供的一種伺服器的結構示意圖。