两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

日志記錄方法及裝置、電子設備、存儲介質與流程

文檔序號:11234174閱讀:1080來源:國知局
日志記錄方法及裝置、電子設備、存儲介質與流程

本公開涉及計算機技術領域,尤其涉及一種日志記錄方法及裝置、電子設備、計算機可讀存儲介質。



背景技術:

所謂日志是指系統(tǒng)所指定對象的某些操作和其操作結果按時間有序的集合。每個日志文件由日志記錄組成,每條日志記錄描述了一次單獨的系統(tǒng)事件。日志文件為服務器、工作站、防火墻和應用軟件等互聯(lián)網(wǎng)技術資源相關活動提供了必要、有價值的信息,這對于系統(tǒng)監(jiān)控、查詢、報表和安全審計是十分重要的。

所述日志文件的記錄方式通常是在系統(tǒng)運行的過程中,將必要的信息通過調用日志系統(tǒng)提供的應用程序接口(applicationprograminterface,api)寫入到指定的存貯設備中。例如,圖1為現(xiàn)有技術中的一種日志記錄方法,開發(fā)庫提供了若干個log(level,msg),其中l(wèi)evel為級別、msg為需要記錄的信息,應用層在需要記錄日志時調用該函數(shù);其處理過程大致如下:根據(jù)日志事件的配置屬性判斷是否需要記錄該日志事件,在需要記錄時對其中的日志信息進行格式化處理,并對目標日志文件進行初始化、換日處理和分片處理等預處理,最后將經(jīng)過格式化處理的日志信息寫入目標日志文件。采用該方法實現(xiàn)日志的記錄,簡單可靠、易于實現(xiàn)。但在并發(fā)處理的場景例如聯(lián)機業(yè)務系統(tǒng)中,當某個處理過程在同一時刻存在多個正在處理中的運行單元(多線程或多進程)時,如果都向同一個目標日志文件進行寫入,則會產(chǎn)生“日志交叉”或“分散日志”的情況,為日志的查看和分析帶來很大的不便,且由于日志為連續(xù)寫入模式,因此很難從日志上分析出“當前正處于處理過程中的運行單元”的信息。

需要說明的是,在上述背景技術部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現(xiàn)有技術的信息。



技術實現(xiàn)要素:

本公開的目的在于提供一種日志記錄方法及裝置、電子設備、計算機可讀存儲介質,進而至少在一定程度上克服由于相關技術的限制和缺陷而導致的一個或者多個問題。

本公開的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本公開的實踐而習得。

根據(jù)本公開的一個方面,提供一種日志記錄方法,用于記錄交易處理過程中的日志事件;所述日志記錄方法包括:

獲取當前交易處理過程中的日志事件,并判斷是否需要記錄所述日志事件;

在判斷需要記錄所述日志事件時,對所述日志事件中的日志信息進行格式化處理;

將經(jīng)過格式化處理的至少一個所述日志信息對應寫入至少一個臨時日志文件;

在所述當前交易處理過程結束后,將所有所述臨時日志文件提交至目標日志文件。

本公開的一種示例性實施例中,所述將所有所述臨時日志文件提交至目標日志文件包括:

獲取動態(tài)的日志文件名,以作為所述目標日志文件的名稱;

將所述臨時日志文件提交至所述日志文件名對應的所述目標日志文件中。

本公開的一種示例性實施例中,所述將所有所述臨時日志文件提交至目標日志文件還包括:

將所述目標日志文件根據(jù)日期進行分類;以及,

將所述目標日志文件根據(jù)大小或者時間段進行分片處理。

本公開的一種示例性實施例中,所述日志記錄方法還包括:

在將所有所述臨時日志文件提交至目標日志文件后,清除所述臨時日志文件。

本公開的一種示例性實施例中,所述臨時日志文件存儲于臨時文件、數(shù)據(jù)庫、共享內存、以及消息隊列中的任一載體中。

本公開的一種示例性實施例中,所述判斷是否需要記錄所述日志事件包括:

獲取所述日志事件的級別屬性;

根據(jù)所述級別屬性從一記錄有級別屬性和記錄指示的映射關系的映射函數(shù)中獲取是否需要記錄該日志事件的記錄指示。

本公開的一種示例性實施例中,所述對所述日志事件中的日志信息進行格式化處理包括:

檢測所述日志事件中的日志信息是否包括時間戳、線程號、以及函數(shù)名的信息;

在所述日志事件中的日志信息未包括所述時間戳、所述線程號、以及所述函數(shù)名中的任一項信息時,針對所述日志事件補充所述時間戳、所述線程號、以及所述函數(shù)名中的缺失信息。

根據(jù)本公開的一個方面,提供一種日志記錄裝置,用于記錄交易處理過程中的日志事件;所述日志記錄裝置包括:

事件采集模塊,用于獲取當前交易處理過程中的日志事件,并判斷是否需要記錄所述日志事件;

日志處理模塊,用于在判斷需要記錄所述日志事件時,對所述日志事件中的日志信息進行格式化處理;

臨時日志記錄模塊,用于將經(jīng)過格式化處理的至少一個所述日志信息對應寫入至少一個臨時日志文件;

目標日志記錄模塊,用于在所述當前交易處理過程結束后,將所有所述臨時日志文件提交至目標日志文件。

根據(jù)本公開的一個方面,提供一種電子設備,包括:

處理器;以及

存儲器,用于存儲所述處理器的可執(zhí)行指令;

其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行上述的日志記錄方法。

根據(jù)本公開的一個方面,提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述的日志記錄方法。

本公開示例性實施方式所提供的日志記錄方法及裝置,先將需要記錄的多個日志信息分別寫入多個臨時日志文件,再在交易處理結束后提交至目標日志文件。這樣一來,一方面可以通過區(qū)分臨時日志文件和目標日志文件,以達到識別處于交易處理過程中的運行單元和交易處理已經(jīng)結束的運行單元的目的,另一方面還可以在并發(fā)處理的情況下將不同的日志事件分別寫入至不同的日志文件中,從而避免交叉日志的產(chǎn)生,有利于日志的查看分析。

應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。

附圖說明

此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1示意性示出現(xiàn)有技術中日志記錄方法的處理過程示意圖;

圖2示意性示出本公開示例性實施例中日志記錄方法的流程圖;

圖3示意性示出本公開示例性實施例中日志記錄方法的處理過程示意圖;

圖4示意性示出本公開示例性實施例中日志記錄裝置的示意框圖;

圖5示意性示出本公開示例性實施例中電子設備的模塊示意圖;

圖6示意性示出本公開示例性實施例中程序產(chǎn)品的示意圖。

具體實施方式

現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限于在此闡述的范例;相反,提供這些實施方式使得本公開將更加全面和完整,并將示例實施方式的構思全面地傳達給本領域的技術人員。所描述的特征、結構或特性可以以任何合適的方式結合在一個或更多實施方式中。

此外,附圖僅為本公開的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應??梢圆捎密浖问絹韺崿F(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。

本示例實施方式提供了一種日志記錄方法,用于記錄交易處理過程中的日志事件;如圖2所示,所述日志記錄方法可以包括:

s1、獲取當前交易處理過程中的日志事件,并判斷是否需要記錄所述日志事件;

s2、在判斷需要記錄所述日志事件時,對所述日志事件中的日志信息進行格式化處理;

s3、將經(jīng)過格式化處理的至少一個所述日志信息對應寫入至少一個臨時日志文件;

s4、在所述當前交易處理過程結束后,將所有所述臨時日志文件提交至目標日志文件。

其中,臨時日志文件的寫入可以通過調用log(level,msg)來實現(xiàn),目標日志文件的提交可以通過log_flush(“日志文件名稱”)來實現(xiàn)。

本公開示例性實施方式所提供的日志記錄方法,先將需要記錄的多個日志信息分別寫入多個臨時日志文件,再在交易處理結束后提交至目標日志文件。這樣一來,一方面可以通過區(qū)分臨時日志文件和目標日志文件,以達到識別處于交易處理過程中的運行單元和交易處理已經(jīng)結束的運行單元的目的,另一方面還可以在并發(fā)處理的情況下將不同的日志事件分別寫入至不同的日志文件中,從而避免交叉日志的產(chǎn)生,有利于日志的查看分析。

下面結合圖3對本示例實施方式中的日志記錄方法進行詳細的說明。

在步驟s1中,獲取當前交易處理過程中的日志事件,并判斷是否需要記錄所述日志事件。

本示例實施方式中,所述日志事件可以包括級別和日志信息,所述日志信息中可以包括事件id、日期和時間、來源等屬性。其中,所述級別可以分為錯誤(error)、警告(warn)、信息(info)等多個級別,其可用于區(qū)分日志事件的等級,即只有達到某一級別才需執(zhí)行某一特定操作例如日志的輸出;所述日期和時間構成所述日志事件的時間戳,其默認配置為本地時間或者系統(tǒng)上電時間;所述事件id用于唯一標識的日志事件;所述來源用于標識日志事件的信息來源。

需要說明的是:每個所述日志事件中并不一定完全包括上述的各種屬性,例如在默認情況下日志事件沒有時間戳。

在此基礎上,所述判斷是否需要記錄所述日志事件可以包括:

s11、獲取所述日志事件的級別屬性;

s12、根據(jù)所述級別屬性從一記錄有級別屬性和記錄指示的映射關系的映射函數(shù)中獲取是否需要記錄該日志事件的記錄指示。

其中,所述記錄有級別屬性和記錄指示的映射關系的映射函數(shù)是預先設置的。這樣一來,根據(jù)所述映射函數(shù)即可獲取所述日志事件的級別屬性對應的記錄指示,從而確定是否需要對該日志事件進行記錄。

舉例來說,在當前交易處理過程中獲取了若干個日志事件,記為log1(error,msg1)、log2(info,msg2)、…、logn(warn,msgn);其中,log1的級別為error、日志信息為msg1,log2的級別為info、日志信息為msg2,logn的級別為warn、日志信息為msgn。根據(jù)預先設置的記錄有級別屬性和記錄指示的映射關系的映射函數(shù)可知,error級別和info級別對應的日志事件無需記錄,則相應的獲取無需記錄的記錄指示,而warn級別對應的日志事件需要進行記錄,則相應的獲取需要記錄的記錄指示。

在步驟s2中,在判斷需要記錄所述日志事件時,對所述日志事件中的日志信息進行格式化處理。

本示例實施方式中,所述格式化處理是指將日志信息中的必要屬性信息補充完整,例如增加時間戳、線程號、函數(shù)名等輔助信息,從而生成一份信息完整的日志文件。

在此基礎上,所述對所述日志事件中的日志信息進行格式化處理可以包括:

s21、檢測所述日志事件中的日志信息是否包括時間戳、線程號、以及函數(shù)名的信息;

s22、在所述日志事件中的日志信息未包括所述時間戳、所述線程號、以及所述函數(shù)名中的任一項信息時,針對所述日志事件補充所述時間戳、所述線程號、以及所述函數(shù)名中的缺失信息。

需要說明的是:在格式化處理的過程中,所述日志信息中的必要屬性信息不限于上述的時間戳、線程號、以及函數(shù)名,其還可能包括其它信息,本示例實施方式對此不做具體限定。

舉例來說,在獲取到需要記錄日志事件logn(warn,msgn)的記錄指示后,需要對其中的日志信息msgn進行格式化處理。其格式化處理的具體過程如下:首先檢測該日志事件logn(warn,msgn)中的日志信息msgn是否包括時間戳、線程號、以及函數(shù)名的信息,通過檢測可知該日志信息的線程號msgn為thread=2390、函數(shù)名為fun=proessa,但缺少時間戳的相關信息;在此基礎上,針對該日志事件進行查找可知,其時間戳信息應為20150314:220312,則將此時間戳信息補充至該日志事件的日志信息中,以完成對日志事件logn(warn,msgn)的格式化處理。

在步驟s3中,將經(jīng)過格式化處理的至少一個所述日志信息對應寫入至少一個臨時日志文件。

本示例實施方式中,所述臨時日志文件是指用于緩存需要記錄的日志信息的中間文件,其可存儲于臨時文件、數(shù)據(jù)庫、共享內存、以及消息隊列等載體中的任一載體中。需要說明的是;所述臨時日志文件的載體具有可擦除性,即其上存儲的臨時日志文件可以反復的寫入和擦除。

本實施例中,在非并發(fā)處理的情況下,可能僅存在一個需要記錄的日志信息,此時將需要記錄的日志信息相應的寫入一臨時日志文件即可。在并發(fā)處理的情況下,可能存在多個需要記錄的日志信息,此時便需對不同的日志信息進行區(qū)分,具體可以根據(jù)日志事件的進程號/線程號將不同的日志信息進行區(qū)分,以將其分別寫入至不同的臨時日志文件。

這樣一來,在寫入臨時日志文件時,不同進程/線程的日志事件可以分別對應寫入至不同的臨時日志文件中,從而避免出現(xiàn)交叉日志的情況。也就是說,本示例實施方式在寫入臨時日志文件的過程中,已經(jīng)完成了針對不同進程/線程的日志事件的區(qū)分隔離,從而解決了運行單元并發(fā)處理情況下因日志信息連續(xù)而導致的交叉日志的問題。

舉例來說,按照傳統(tǒng)的日志記錄方法,當多個處理單元并發(fā)同時運行該段代碼時,其輸出的日志往往會顯示為:

20150314:220312,pid=3212,thread=2390,fun=processa,file=processa.c,line=52|開始處理processa()…

20150314:220312,pid=3212,thread=2390,fun=processa,file=processa.c,line=54|processa()step1()ret=0…

20150314:220313,pid=5421,thread=4309,fun=processa,file=processa.c,line=52|開始處理processa()…

20150314:220313,pid=5421,thread=4309,fun=processa,file=processa.c,line=54|processa()step1()ret=0…

20150314:220315,pid=5421,thread=4309,fun=processa,file=processa.c,line=55|processa()stepn()ret=0…

20150314:220316,pid=3212,thread=2390,fun=processa,file=processa.c,line=55|processa()stepn()ret=0…

20150314:220316,pid=5421,thread=4309,fun=processa,file=processa.c,line=56|processa()處理結束

20150314:220317,pid=3212,thread=2390,fun=processa,file=processa.c,line=56|processa()處理結束

由此可知,以上的日志文件由兩個不同的處理單元(pid=3212與pid=5421)并發(fā)寫入,從而造成交叉日志。如果需要查看pid=3212的日志會非常不方便。在某些大并發(fā)、大交易量的日志文件中,并發(fā)處理數(shù)可能會有上百個、日志文件會大于1g、某些交易處理的時間跨度可能較大例如批量處理需要10分鐘,在此期間會不斷的記錄日志并形成交叉日志,這對于大文件系統(tǒng)的資源消耗很大且處理效率非常低。而本示例實施方式會將上述兩個并發(fā)處理的日志分別寫入兩個不同的臨時日志文件,從而避免交叉日志的產(chǎn)生,便于日志的查看分析。

在步驟s4中,在所述當前交易處理過程結束后,將所有所述臨時日志文件提交至目標日志文件。

本示例實施方式中,所述目標日志文件是最終記錄日志的主日志文件,其格式可以為文本文件。所述臨時日志文件的提交時間是在當前交易處理過程結束之后,在此之前反復的進行上述步驟s1-s3,即日志事件的獲取、待記錄日志信息的格式化處理、以及臨時日志文件的寫入。

考慮到為下次交易記錄做準備,在將所有的臨時日志文件提交至目標日志文件后,還需清除所述臨時日志文件,以確保下次記錄具有足夠的空間。

在此基礎上,所述將所有所述臨時日志文件提交至目標日志文件可以包括:

s41、獲取動態(tài)的日志文件名,以作為所述目標日志文件的名稱;

s42、將所述目標日志文件根據(jù)日期進行分類,以及根據(jù)大小或者時間段進行分片處理;

s43、將所述臨時日志文件提交至所述日志文件名對應的所述目標日志文件中。

其中,在提交臨時日志文件至目標日志文件時,可以通過調用開發(fā)庫提供的logflush指令來實現(xiàn)。

這樣一來,在日志系統(tǒng)運行過程中,即可實現(xiàn)日志文件名的動態(tài)指定,以將本次交易處理過程中所有需要記錄的日志提交到指定的日志文件中,從而實現(xiàn)日志文件名的動態(tài)指定。即實現(xiàn)如下邏輯:

log(“開始處理processa()…”);

iret=setp1();/*處理步點1*/

log(“processa()step1()ret=%d…”,iret);

iret=setpn();/*處理步點n*/

setlogname(“l(fā)og_processa”);/*在運行過程中指定日志名*/

log(“processa()stepn()ret=%d…”,iret);

log(“processa()處理結束”).

基于上述描述可知,本示例實施方式所提供的日志記錄方法,在外部系統(tǒng)調用log(level,msg)記錄日志時,可先將日志信息記錄到臨時日志文件中,再通過log_flush(“日志文件名稱”)的api將臨時日志文件中記錄的日志信息提交到指定的目標日志文件中,使得最終的日志文件不會產(chǎn)生交叉的現(xiàn)象,有利于日志的查看分析,同時支持動態(tài)指定日志文件名的功能。

本示例實施方式中還提供了一種日志記錄裝置,用于記錄交易處理過程中的日志事件;如圖4所示,所述日志記錄裝置可以包括:

事件采集模塊100,用于獲取當前交易處理過程中的日志事件,并判斷是否需要記錄所述日志事件;

日志處理模塊200,用于在判斷需要記錄所述日志事件時,對所述日志事件中的日志信息進行格式化處理;

臨時日志記錄模塊300,用于將經(jīng)過格式化處理的至少一個所述日志信息對應寫入至少一個臨時日志文件;

目標日志記錄模塊400,用于在所述當前交易處理過程結束后,將所有所述臨時日志文件提交至目標日志文件。

其中,所述臨時日志記錄模塊300在寫入臨時日志文件時可以通過調用log(level,msg)來實現(xiàn),所述目標日志記錄模塊400在提交目標日志文件時可以通過調用log_flush(“日志文件名稱”)來實現(xiàn)。

本公開示例性實施方式所提供的日志記錄裝置,一方面可以通過區(qū)分臨時日志文件和目標日志文件,以達到識別處于交易處理過程中的運行單元和交易處理已經(jīng)結束的運行單元的目的,另一方面可以在并發(fā)處理的情況下將不同的日志事件分別寫入至不同的日志文件中,從而避免交叉日志的產(chǎn)生,有利于日志的查看分析,再一方面還可以在日志系統(tǒng)運行過程中實現(xiàn)日志文件名的動態(tài)指定,以將本次交易處理過程中所有需要記錄的日志提交到指定的日志文件中。

需要說明的是:所述日志記錄裝置中各模塊單元的具體細節(jié)已經(jīng)在對應的日志記錄方法中進行了詳細的描述,這里不再贅述。

應當注意,盡管在上文詳細描述中提及了用于動作執(zhí)行的設備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據(jù)本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。

此外,盡管在附圖中以特定順序描述了本公開中方法的各個步驟,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些步驟,或是必須執(zhí)行全部所示的步驟才能實現(xiàn)期望的結果。附加的或備選的,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,以及/或者將一個步驟分解為多個步驟執(zhí)行等。

在本公開的示例性實施例中,還提供了一種能夠實現(xiàn)上述方法的電子設備。

所屬技術領域的技術人員能夠理解,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。

下面參照圖5來描述根據(jù)本發(fā)明的這種實施方式的電子設備600。附圖中的電子設備600僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。

如圖5所示,電子設備600以通用計算設備的形式表現(xiàn)。電子設備600的組件可以包括但不限于:上述至少一個處理單元610、上述至少一個存儲單元620、連接不同系統(tǒng)組件(包括存儲單元620和處理單元610)的總線630。

其中,所述存儲單元620存儲有程序代碼,所述程序代碼可以被所述處理單元610執(zhí)行,使得所述處理單元610執(zhí)行本說明書上述示例性方法部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。例如,所述處理單元610可以執(zhí)行如圖2中所示的步驟s1、獲取當前交易處理過程中的日志事件,并判斷是否需要記錄所述日志事件;步驟s2、在判斷需要記錄所述日志事件時,對所述日志事件中的日志信息進行格式化處理;步驟s3、將經(jīng)過格式化處理的至少一個所述日志信息對應寫入至少一個臨時日志文件;步驟s4、在所述當前交易處理過程結束后,將所有所述臨時日志文件提交至目標日志文件。

存儲單元620可以包括易失性存儲單元形式的可讀介質,例如隨機存取存儲單元(ram)6201和/或高速緩存存儲單元6202,還可以進一步包括只讀存儲單元(rom)6203。

存儲單元620還可以包括具有一組(至少一個)程序模塊6205的程序/實用工具6204,這樣的程序模塊6205包括但不限于:操作系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡環(huán)境的實現(xiàn)。

總線630可以為表示幾類總線結構中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結構中的任意總線結構的局域總線。

電子設備600也可以與一個或多個外部設備700(例如鍵盤、指向設備、藍牙設備等)通信,還可與一個或者多個使得用戶能與該電子設備600交互的設備通信,和/或與使得該電子設備600能與一個或多個其它計算設備進行通信的任何設備(例如路由器、調制解調器等等)通信。這種通信可以通過輸入/輸出(i/o)接口650進行。并且,電子設備600還可以通過網(wǎng)絡適配器660與一個或者多個網(wǎng)絡(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡,例如因特網(wǎng))通信。如圖所示,網(wǎng)絡適配器660通過總線630與電子設備600的其它模塊通信。應當明白,盡管圖中未示出,可以結合電子設備600使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、raid系統(tǒng)、磁帶驅動器以及數(shù)據(jù)備份存儲系統(tǒng)等。

通過以上的實施方式的描述,本領域的技術人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本公開實施方式的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、終端裝置、或者網(wǎng)絡設備等)執(zhí)行根據(jù)本公開實施方式的方法。

在本公開的示例性實施例中,還提供了一種計算機可讀存儲介質,其上存儲有能夠實現(xiàn)本說明書上述方法的程序產(chǎn)品。在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當所述程序產(chǎn)品在終端設備上運行時,所述程序代碼用于使所述終端設備執(zhí)行本說明書上述示例性方法部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。

參考圖6所示,描述了根據(jù)本發(fā)明的實施方式的用于實現(xiàn)上述方法的程序產(chǎn)品800,其可以采用便攜式緊湊盤只讀存儲器(cd-rom)并包括程序代碼,并可以在終端設備,例如個人電腦上運行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。

所述程序產(chǎn)品可以采用一個或多個可讀介質的任意組合??勺x介質可以是可讀信號介質或者可讀存儲介質??勺x存儲介質例如可以為但不限于電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。

計算機可讀信號介質可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合??勺x信號介質還可以是可讀存儲介質以外的任何可讀介質,該可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。

可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合。

可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,所述程序設計語言包括面向對象的程序設計語言—諸如java、c++等,還包括常規(guī)的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執(zhí)行、部分地在用戶設備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設備上部分在遠程計算設備上執(zhí)行、或者完全在遠程計算設備或服務器上執(zhí)行。在涉及遠程計算設備的情形中,遠程計算設備可以通過任意種類的網(wǎng)絡,包括局域網(wǎng)(lan)或廣域網(wǎng)(wan),連接到用戶計算設備,或者,可以連接到外部計算設備(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。

通過以上的實施方式的描述,本領域的技術人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本公開實施方式的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、移動終端、或者網(wǎng)絡設備等)執(zhí)行根據(jù)本公開實施方式的方法。

本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由所附的權利要求指出。

應當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權利要求來限。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阆中市| 昌黎县| 永城市| 荆门市| 沙坪坝区| 温泉县| 会东县| 思茅市| 汾西县| 镇巴县| 信丰县| 牟定县| 石城县| 乐平市| 抚松县| 苍溪县| 仙游县| 玉林市| 海林市| 仙游县| 辽阳市| 台东县| 江阴市| 和平县| 西昌市| 南康市| 佛冈县| 台东县| 勃利县| 清水县| 醴陵市| 托克托县| 高邑县| 钟祥市| 科技| 大石桥市| 榆林市| 南平市| 廉江市| 江油市| 石景山区|