本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng)。
背景技術(shù):
隨著計算機技術(shù)和互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,數(shù)據(jù)中心對服務(wù)器設(shè)備數(shù)量的需求逐漸增大,大量的網(wǎng)絡(luò)業(yè)務(wù)涉及的應(yīng)用也越來越多。服務(wù)器設(shè)備在運行過程中,可以生成日志數(shù)據(jù),如系統(tǒng)日志數(shù)據(jù)和應(yīng)用日志數(shù)據(jù)。通過對日志數(shù)據(jù)進(jìn)行監(jiān)控和分析,可以獲得整個數(shù)據(jù)中心的服務(wù)器設(shè)備的運行狀態(tài),以便發(fā)現(xiàn)問題及時解決。對服務(wù)器設(shè)備日志的有效監(jiān)控是對數(shù)據(jù)中心服務(wù)器設(shè)備正常運行的重要保障。
在現(xiàn)有技術(shù)中,多是通過監(jiān)控服務(wù)器以輪詢方式獲取各監(jiān)控對象,即服務(wù)器設(shè)備的日志數(shù)據(jù)。
在針對數(shù)量較少的監(jiān)控對象時,使用這種輪詢方式可以較快獲得各監(jiān)控對象的日志數(shù)據(jù),但是,如果監(jiān)控對象數(shù)量較多,一次輪詢時間較長,獲得的日志數(shù)據(jù)的時效性較差,無法滿足實際要求,而且,監(jiān)控服務(wù)器在輪詢過程中,耗費較多內(nèi)存資源,一旦出現(xiàn)錯誤,將會導(dǎo)致線程擁塞,監(jiān)控服務(wù)器的性能壓力較大。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng),以提高日志數(shù)據(jù)的時效性,減輕監(jiān)控服務(wù)器的性能壓力。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:
一種基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng),包括監(jiān)控管理模塊、數(shù)據(jù)庫和多個日志推送模塊,每個日志推送模塊設(shè)置于不同的監(jiān)控對象中,日志推送模塊和監(jiān)控對象為一一對應(yīng)關(guān)系,其中,
第一日志推送模塊,用于對其對應(yīng)的第一監(jiān)控對象中的日志數(shù)據(jù)進(jìn)行監(jiān)測,抓取所述第一監(jiān)控對象中新增的第一日志數(shù)據(jù),并將所述第一日志數(shù)據(jù)推送給所述監(jiān)控管理模塊,所述第一日志推送模塊為多個日志推送模塊中的任意一個;
所述監(jiān)控管理模塊,用于接收所述第一日志推送模塊推送的所述第一日志數(shù)據(jù),將所述第一日志數(shù)據(jù)存放于所述數(shù)據(jù)庫中,以使所述數(shù)據(jù)庫中存儲有所有監(jiān)控對象的日志數(shù)據(jù)。
在本發(fā)明的一種具體實施方式中,
所述監(jiān)控管理模塊,還用于在監(jiān)測到有新的第二監(jiān)控對象加入時,獲得所述第二監(jiān)控對象的操作系統(tǒng)登錄信息,根據(jù)所述第二監(jiān)控對象的操作系統(tǒng)登錄信息和自身的連接信息,配置日志推送客戶端安裝程序,將配置后的所述日志推送客戶端安裝程序發(fā)送給所述第二監(jiān)控對象,以基于所述日志推送客戶端安裝程序,在所述第二監(jiān)控對象上完成相應(yīng)的第二日志推送模塊的設(shè)置。
在本發(fā)明的一種具體實施方式中,
所述監(jiān)控管理模塊,還用于在設(shè)定時長內(nèi)未接收到所述第二日志推送模塊的完成反饋信息時,重復(fù)執(zhí)行所述將配置后的所述日志推送客戶端安裝程序發(fā)送給所述第二監(jiān)控對象的步驟。
在本發(fā)明的一種具體實施方式中,還包括日志處理模塊,用于對所述數(shù)據(jù)庫中新增的日志數(shù)據(jù)進(jìn)行分析,根據(jù)分析結(jié)果和預(yù)設(shè)的處理策略,進(jìn)行相應(yīng)的處理操作。
在本發(fā)明的一種具體實施方式中,還包括告警通知模塊,
所述日志處理模塊,還用于根據(jù)所述分析結(jié)果,確定當(dāng)前是否存在故障,如果是,則在所述數(shù)據(jù)庫中獲取故障數(shù)據(jù),將所述故障數(shù)據(jù)發(fā)送給所述告警通知模塊,所述告警數(shù)據(jù)中攜帶故障相關(guān)屬性信息;
所述告警通知模塊,用于接收所述日志處理模塊發(fā)送的所述告警數(shù)據(jù),根據(jù)所述告警數(shù)據(jù),輸出告警通知。
在本發(fā)明的一種具體實施方式中,所述告警通知模塊,具體用于根據(jù)所述告警數(shù)據(jù),確定告警級別,根據(jù)所述告警級別對應(yīng)的通知策略,輸出所述告警通知。
在本發(fā)明的一種具體實施方式中,還包括多個自監(jiān)管模塊,每個自監(jiān)管模塊設(shè)置于不同的監(jiān)控對象中,自監(jiān)管模塊與日志推送模塊為一一對應(yīng)關(guān)系,
第一自監(jiān)管模塊,用于監(jiān)測其對應(yīng)的所述第一日志推送模塊的運行狀態(tài),在監(jiān)測到所述第一日志推送模塊運行出現(xiàn)異常時,生成異常事件,將所述異常事件發(fā)送給所述監(jiān)控管理模塊;
所述監(jiān)控管理模塊,還用于接收所述異常事件,并通過所述告警通知模塊輸出針對所述第一日志推送模塊的異常告警通知。
在本發(fā)明的一種具體實施方式中,
所述第一自監(jiān)管模塊,還用于在監(jiān)測到所述第一日志推送模塊運行出現(xiàn)異常時,對所述第一日志推送模塊進(jìn)行修復(fù)。
在本發(fā)明的一種具體實施方式中,
所述第一自監(jiān)管模塊,還用于在對所述第一日志推送模塊進(jìn)行成功修復(fù)后,向所述監(jiān)控管理模塊發(fā)送所述第一日志推送模塊的運行狀態(tài)恢復(fù)信息;
所述監(jiān)控管理模塊,還用于根據(jù)所述運行狀態(tài)恢復(fù)信息,消除針對所述第一日志推送模塊的異常事件,并通過所述告警通知模塊輸出針對所述第一日志推送模塊的故障恢復(fù)通知。
應(yīng)用本發(fā)明實施例所提供的技術(shù)方案,在每個監(jiān)控對象中均設(shè)置一個日志推送模塊,每個日志推送模塊對其對應(yīng)的監(jiān)控對象中的日志數(shù)據(jù)進(jìn)行監(jiān)測,在抓取到新增的日志數(shù)據(jù)時,將抓取到的新增的日志數(shù)據(jù)推送給監(jiān)控管理模塊,監(jiān)控管理模塊將新增的日志數(shù)據(jù)存放于數(shù)據(jù)庫中,使得數(shù)據(jù)庫中存儲有所有監(jiān)控對象的完整的日志數(shù)據(jù),進(jìn)而可以利用數(shù)據(jù)庫中的日志數(shù)據(jù)進(jìn)行進(jìn)一步分析。日志推送模塊監(jiān)測到日志數(shù)據(jù)變化時,可以及時將新增的日志數(shù)據(jù)推送給監(jiān)控管理模塊,監(jiān)控管理模塊可以及時獲知各個監(jiān)控對象的日志數(shù)據(jù),提高了日志數(shù)據(jù)的時效性,減輕了監(jiān)控服務(wù)器的性能壓力。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例中基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例中基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng)的另一種結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
參見圖1所示,為本發(fā)明實施例所提供的一種基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng),該系統(tǒng)包括監(jiān)控管理模塊210、數(shù)據(jù)庫220和多個日志推送模塊110,每個日志推送模塊110設(shè)置于不同的監(jiān)控對象中,日志推送模塊110和監(jiān)控對象為一一對應(yīng)關(guān)系,其中,
第一日志推送模塊,用于對其對應(yīng)的第一監(jiān)控對象中的日志數(shù)據(jù)進(jìn)行監(jiān)測,抓取第一監(jiān)控對象中新增的第一日志數(shù)據(jù),并將第一日志數(shù)據(jù)推送給監(jiān)控管理模塊210,第一日志推送模塊為多個日志推送模塊110中的任意一個;
監(jiān)控管理模塊210,用于接收第一日志推送模塊推送的第一日志數(shù)據(jù),將第一日志數(shù)據(jù)存放于數(shù)據(jù)庫220中,以使數(shù)據(jù)庫220中存儲有所有監(jiān)控對象的日志數(shù)據(jù)。
在本發(fā)明實施例中,基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng)包括監(jiān)控管理模塊210、數(shù)據(jù)庫220和多個日志推送模塊110。監(jiān)控管理模塊210可以設(shè)置于監(jiān)控服務(wù)器中,每個日志推送模塊110設(shè)置于不同的監(jiān)控對象中,日志推送模塊110和監(jiān)控對象為一一對應(yīng)關(guān)系,即每個監(jiān)控對象中均包含一個日志推送模塊110。日志推送模塊110可以對其對應(yīng)的監(jiān)控對象中的日志數(shù)據(jù)的變化情況進(jìn)行監(jiān)測。
第一日志推送模塊為與監(jiān)控管理模塊210連接的多個日志推送模塊110中的任意一個日志推送模塊。第一監(jiān)控對象為與第一日志推送模塊對應(yīng)的監(jiān)控對象。第一日志推送模塊可以在對第一監(jiān)控對象中的日志數(shù)據(jù)進(jìn)行監(jiān)測的過程中,如果監(jiān)測到日志數(shù)據(jù)有變化,則可以抓取第一監(jiān)控對象中新增的第一日志數(shù)據(jù),將第一日志數(shù)據(jù)推送給監(jiān)控管理模塊210。具體的,第一日志推送模塊可以根據(jù)預(yù)設(shè)的格式轉(zhuǎn)換要求,對第一日志數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換等數(shù)據(jù)處理,以使進(jìn)行數(shù)據(jù)處理后的第一日志數(shù)據(jù)符合監(jiān)控管理模塊210的數(shù)據(jù)要求。
監(jiān)控管理模塊210接收第一日志推送模塊推送的第一日志數(shù)據(jù),可以將第一日志數(shù)據(jù)存放于數(shù)據(jù)中,這樣,數(shù)據(jù)庫220中存儲有所有監(jiān)控對象的日志數(shù)據(jù)。
第一日志推送模塊為任意一個日志推送模塊,任意一個日志推送模塊110在監(jiān)測到其對應(yīng)的監(jiān)控對象有新增的日志數(shù)據(jù)時,都可以將新增的日志數(shù)據(jù)實時推送給監(jiān)控管理模塊210,這樣,監(jiān)控管理模塊210可以接收任意一個日志推送模塊110推送的日志數(shù)據(jù),及時將新增的日志數(shù)據(jù)存放于數(shù)據(jù)庫220中,使數(shù)據(jù)庫220中存儲所有監(jiān)控對象的完整的日志數(shù)據(jù)。
應(yīng)用本發(fā)明實施例所提供的技術(shù)方案,在每個監(jiān)控對象中均設(shè)置一個日志推送模塊,每個日志推送模塊對其對應(yīng)的監(jiān)控對象中的日志數(shù)據(jù)進(jìn)行監(jiān)測,在抓取到新增的日志數(shù)據(jù)時,將抓取到的新增的日志數(shù)據(jù)推送給監(jiān)控管理模塊,監(jiān)控管理模塊將新增的日志數(shù)據(jù)存放于數(shù)據(jù)庫中,使得數(shù)據(jù)庫中存儲有所有監(jiān)控對象的完整的日志數(shù)據(jù),進(jìn)而可以利用數(shù)據(jù)庫中的日志數(shù)據(jù)進(jìn)行進(jìn)一步分析。日志推送模塊監(jiān)測到日志數(shù)據(jù)變化時,可以及時將新增的日志數(shù)據(jù)推送給監(jiān)控管理模塊,監(jiān)控管理模塊可以及時獲知各個監(jiān)控對象的日志數(shù)據(jù),提高了日志數(shù)據(jù)的時效性,減輕了監(jiān)控服務(wù)器的性能壓力。
在本發(fā)明的一個實施例中,監(jiān)控管理模塊210,還可以用于在監(jiān)測到有新的第二監(jiān)控對象加入時,獲得第二監(jiān)控對象的操作系統(tǒng)登錄信息,根據(jù)第二監(jiān)控對象的操作系統(tǒng)登錄信息和自身的連接信息,配置日志推送客戶端安裝程序,將配置后的日志推送客戶端安裝程序發(fā)送給第二監(jiān)控對象,以基于日志推送客戶端安裝程序,在第二監(jiān)控對象上完成相應(yīng)的第二日志推送模塊的設(shè)置。
在本發(fā)明實施例中,監(jiān)控對象可以發(fā)生增減變化。在監(jiān)測到有新的第二監(jiān)控對象加入時,監(jiān)控管理模塊210可以控制在第二監(jiān)控對象中設(shè)置相應(yīng)的第二日志推送模塊,以使該第二日志推送模塊能夠?qū)Φ诙O(jiān)控對象中的日志數(shù)據(jù)的變化情況進(jìn)行監(jiān)測。
具體的,監(jiān)控管理模塊210可以獲得第二監(jiān)控對象的操作系統(tǒng)登錄信息,如用戶名、密碼等信息。監(jiān)控管理模塊210根據(jù)第二監(jiān)控對象的操作系統(tǒng)登錄信息和自身的連接信息,可以對日志推送客戶端安裝程序進(jìn)行配置,如在該日志推送客戶端安裝程序中配置第二監(jiān)控對象的操作系統(tǒng)的用戶名、密碼等信息,及監(jiān)控管理模塊210的IP地址、端口等信息。
監(jiān)控管理模塊210將配置后的日志推送客戶端安裝程序發(fā)送給第二監(jiān)控對象,基于該日志推送客戶端安裝程序,可以在第二監(jiān)控對象上完成相應(yīng)的第二日志推送模塊的設(shè)置。設(shè)置完成后,第二監(jiān)控對象對應(yīng)的第二日志推送模塊可以通過監(jiān)控管理模塊210的IP地址和端口信息與監(jiān)控管理模塊210建立連接,向監(jiān)控管理模塊210發(fā)送完成反饋信息,表明已在第二監(jiān)控對象中成功設(shè)置第二日志推送模塊。
如果監(jiān)控管理模塊210在設(shè)定時長內(nèi)未接收到第二日志推送模塊的完成反饋信息,則可以重復(fù)執(zhí)行將配置后的日志推送客戶端安裝程序發(fā)送給第二監(jiān)控對象的步驟。如果重復(fù)次數(shù)達(dá)到設(shè)定閾值,則可以輸出告警信息,以使運維人員對第二監(jiān)控對象進(jìn)行問題排查,或者由運維人員手動在第二監(jiān)控對象上設(shè)置第二日志推送模塊。
參見圖2所示,在本發(fā)明的一個實施例中,該系統(tǒng)還可以包括日志處理模塊230,用于對數(shù)據(jù)庫220中新增的日志數(shù)據(jù)進(jìn)行分析,根據(jù)分析結(jié)果和預(yù)設(shè)的處理策略,進(jìn)行相應(yīng)的處理操作。
在本發(fā)明實施例中,可以根據(jù)實際需求預(yù)先設(shè)定處理策略。監(jiān)控管理模塊210將接收到的各監(jiān)控對象的新增的日志數(shù)據(jù)存放于數(shù)據(jù)庫220中,可以通過數(shù)據(jù)庫220向日志處理模塊230提供完整的日志數(shù)據(jù)支持。
日志處理模塊230對數(shù)據(jù)庫220中新增的日志數(shù)據(jù)進(jìn)行分析,可以根據(jù)分析結(jié)果和預(yù)設(shè)的處理策略,進(jìn)行相應(yīng)的處理操作。比如,對新增的日志數(shù)據(jù)進(jìn)行分析,確定某監(jiān)控對象當(dāng)前傳輸速率較低,存在網(wǎng)絡(luò)擁堵情況,據(jù)此分析結(jié)果,可以生成流量均衡控制指令,使得網(wǎng)絡(luò)數(shù)據(jù)流向其他監(jiān)控對象,減輕該監(jiān)控對象的壓力。
如圖2所示,在本發(fā)明的一個實施例中,該系統(tǒng)還可以包括告警通知模塊240。
日志處理模塊230,還用于根據(jù)分析結(jié)果,確定當(dāng)前是否存在故障,如果是,則在數(shù)據(jù)庫220中獲取故障數(shù)據(jù),將故障數(shù)據(jù)發(fā)送給告警通知模塊240,故障數(shù)據(jù)中攜帶故障相關(guān)屬性信息;
告警通知模塊240,用于接收日志處理模塊230發(fā)送的告警數(shù)據(jù),根據(jù)告警數(shù)據(jù),輸出告警通知。
本發(fā)明實施例所提供的基于數(shù)據(jù)實時推送的日志監(jiān)控系統(tǒng)還可以包括告警通知模塊240。日志處理模塊230對數(shù)據(jù)庫220中新增的日志數(shù)據(jù)進(jìn)行分析,可以確定新增的日志數(shù)據(jù)中是否描述了故障信息,如果是,則可以根據(jù)該分析結(jié)果,確定當(dāng)前存在故障,進(jìn)一步可以在數(shù)據(jù)庫220中獲取故障數(shù)據(jù),故障數(shù)據(jù)中攜帶故障相關(guān)屬性信息,如故障級別、故障時間、故障位置、故障詳情、故障可能帶來的影響、故障處理建議等。日志處理模塊230將故障數(shù)據(jù)發(fā)送給告警通知模塊240。
告警通知模塊240接收日志處理模塊230發(fā)送的告警數(shù)據(jù),可以根據(jù)該告警數(shù)據(jù),輸出告警通知。具體的,告警通知模塊240可以根據(jù)告警數(shù)據(jù),確定告警級別,根據(jù)告警級別對應(yīng)的通知策略,輸出告警通知。
可以預(yù)先設(shè)定告警級別與通知策略的對應(yīng)關(guān)系,告警通知模塊240接收到告警數(shù)據(jù)后,可以根據(jù)告警數(shù)據(jù)中攜帶的故障相關(guān)屬性信息,確定告警級別。確定出告警級別后,可以根據(jù)預(yù)設(shè)的對應(yīng)關(guān)系,確定該告警級別對應(yīng)的通知策略,根據(jù)確定的通知策略,輸出告警通知。
比如,告警級別可以分為低、中、高等級別,對于高告警級別,對應(yīng)的通知策略可以是同時通過短信、郵件、電話三種方式輸出告警通知,以便相關(guān)人員能夠及時獲得該告警通知,對故障進(jìn)行排查,對于低告警級別,對應(yīng)的通知策略可以是在監(jiān)控顯示器上輸出告警通知。
在本發(fā)明的一個實施例中,該系統(tǒng)還可以包括多個自監(jiān)管模塊120,每個自監(jiān)管模塊120設(shè)置于不同的監(jiān)控對象中,自監(jiān)管模塊120與日志推送模塊110為一一對應(yīng)關(guān)系。
第一自監(jiān)管模塊,用于監(jiān)測其對應(yīng)的第一日志推送模塊的運行狀態(tài),在監(jiān)測到第一日志推送模塊運行出現(xiàn)異常時,生成異常事件,將異常事件發(fā)送給監(jiān)控管理模塊210;
監(jiān)控管理模塊210,還用于接收異常事件,并通過告警通知模塊240輸出針對第一日志推送模塊的異常告警通知。
在本發(fā)明實施例中,每個監(jiān)控對象中可以同時設(shè)置有一個日志推送模塊110和一個自監(jiān)管模塊120,日志推送模塊110和自監(jiān)管模塊120為一一對應(yīng)關(guān)系。自監(jiān)管模塊120可以對日志推送模塊110的運行狀態(tài)進(jìn)行監(jiān)測。對自監(jiān)管模塊120的配置可以參考對日志推送模塊110的配置。
第一日志推送模塊為本發(fā)明實施例所提供的系統(tǒng)中包含的多個日志推送模塊110中的任意一個,第一自監(jiān)管模塊與第一日志推送模塊相對應(yīng)。
第一自監(jiān)管模塊監(jiān)測其對應(yīng)的第一日志推送模塊的運行狀態(tài),在監(jiān)測到第一日志推送模塊運行出現(xiàn)異常時,可以生成異常事件,將該異常事件發(fā)送給監(jiān)控管理模塊210。日志推送模塊110的異??梢允蔷W(wǎng)絡(luò)異常或者程序異常等。
監(jiān)控管理模塊210接收到異常事件后,可以記錄該異常事件,并通過告警通知模塊240輸出針對第一日志推送模塊的異常告警通知,以使運維人員及時對異常事件進(jìn)行排查,避免影響日志數(shù)據(jù)獲取時效性。
第一自監(jiān)管模塊在監(jiān)測到第一日志推送模塊運行出現(xiàn)異常時,可以對第一日志推送模塊進(jìn)行修復(fù),如重啟第一日志推送模塊等。
第一自監(jiān)管模塊在對第一日志推送模塊進(jìn)行成功修復(fù)后,可以向監(jiān)控管理模塊210發(fā)送第一日志推送模塊的運行狀態(tài)恢復(fù)信息,表明第一日志推送模塊當(dāng)前已被成功修復(fù)。監(jiān)控管理模塊210根據(jù)運行狀態(tài)恢復(fù)信息,可以消除針對第一日志推送模塊的異常事件,并通過告警通知模塊240輸出針對第一次日志推送模塊110的故障恢復(fù)通知。
本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。