本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于多線程的數(shù)據(jù)處理方法及裝置。
背景技術(shù):
數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,數(shù)據(jù)庫對數(shù)據(jù)的查詢、處理速度遠遠超過普通文件的處理速度。隨著移動互聯(lián)網(wǎng)業(yè)務(wù)和用戶數(shù)量的快速增長,傳統(tǒng)的入庫機制已經(jīng)很難滿足入庫管理的需求,因此,采用多線程處理數(shù)據(jù)的方法應(yīng)運而生。然而,在多線程處理數(shù)據(jù)的過程中,有時會出現(xiàn)系統(tǒng)崩潰的情況,一旦系統(tǒng)崩潰,內(nèi)存中記錄的活躍線程數(shù)就會為0,在系統(tǒng)重啟后無法知曉哪些線程的數(shù)據(jù)尚未被處理完,從而導致數(shù)據(jù)處理失敗。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種基于多線程的數(shù)據(jù)處理方法及裝置,用于優(yōu)化數(shù)據(jù)庫中數(shù)據(jù)的處理方式。
一種基于多線程的數(shù)據(jù)處理方法,包括以下步驟:
重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程;
當確定重啟之前存在未處理完數(shù)據(jù)的線程時,采用當前線程繼續(xù)處理所述數(shù)據(jù);
當確定重啟之前不存在未處理完數(shù)據(jù)的線程時,重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,所述預(yù)設(shè)數(shù)量個線程用于處理重啟之后的新數(shù)據(jù)。
本發(fā)明實施例的一些有益效果可以包括:
采用本發(fā)明實施例提供的技術(shù)方案,能夠在重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程,并在確定重啟之前存在未處理完數(shù)據(jù)的線程時采用當前線程繼續(xù)處理數(shù)據(jù),使得設(shè)備重啟之后仍能繼續(xù)處理重啟之前尚未被處理完成的數(shù)據(jù),從而避免因設(shè)備重啟而中斷數(shù)據(jù)處理、導致數(shù)據(jù)處理失敗的情況。并且在確定重啟之前不存在未處理完數(shù)據(jù)的線程時重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,以處理重啟之后的新數(shù)據(jù),使得設(shè)備重啟之后的新數(shù)據(jù)能夠被及時處理,從而優(yōu)化數(shù)據(jù)處理的整個流程。
在一個實施例中,所述根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程,包括:
當所述線程對應(yīng)的第一標志位為1時,確定該線程未處理完數(shù)據(jù);
當所述線程對應(yīng)的第一標志位為0時,確定該線程已處理完數(shù)據(jù)。
該實施例中,根據(jù)第一標志位為1或者為0來確定線程是否處理完數(shù)據(jù),使得設(shè)備能夠根據(jù)線程的第一標志位準確確定出重啟之前是否存在未處理完數(shù)據(jù)的線程。
在一個實施例中,所述采用當前線程繼續(xù)處理所述數(shù)據(jù),包括:
獲取內(nèi)存中記錄的活躍線程數(shù),并判斷所述活躍線程數(shù)是否為零,所述活躍線程數(shù)指當前正在處理數(shù)據(jù)的線程數(shù)目;
當所述活躍線程數(shù)為零時,重新創(chuàng)建線程作為當前線程處理所述數(shù)據(jù);
當所述活躍線程數(shù)不為零時,將當前正在處理數(shù)據(jù)的線程作為當前線程繼續(xù)處理所述數(shù)據(jù)。
該實施例中,通過在內(nèi)存中記錄的活躍線程數(shù)為零時重新創(chuàng)建線程作為當前線程來處理數(shù)據(jù),并在活躍線程數(shù)不為零時將當前正在處理數(shù)據(jù)的線程作為當前線程繼續(xù)處理數(shù)據(jù),從而能夠確保有線程繼續(xù)處理未處理完的數(shù)據(jù),優(yōu)化了數(shù)據(jù)處理的整個流程。
在一個實施例中,所述采用當前線程繼續(xù)處理所述數(shù)據(jù)之后,所述方法還包括:
當確定所述當前線程已處理完所述數(shù)據(jù)時,將所述活躍線程數(shù)更新為零,并重新創(chuàng)建所述預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù)。
該實施例中,能夠在確定當前線程已處理完數(shù)據(jù)時,將活躍線程數(shù)更新為零,并重新創(chuàng)建預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù),使得重啟之后的新數(shù)據(jù)能夠被及時處理。
在一個實施例中,所述方法還包括:
對指定分區(qū)對應(yīng)的第二標志位進行標記,其中,當所述指定分區(qū)對應(yīng)的其中一個線程處理完所述指定分區(qū)的數(shù)據(jù)時,將所述第二標志位加1;
當所述第二標志位等于所述指定分區(qū)對應(yīng)的線程數(shù)目時,確定所述指定分區(qū)的數(shù)據(jù)已被處理完成,并對所述指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計;
刪除所述指定分區(qū)的第二標志位。
該實施例中,通過對指定分區(qū)對應(yīng)的第二標志位進行標記,并在其中一個線程處理完指定分區(qū)的數(shù)據(jù)時,將該指定分區(qū)的第二標志位加1,且在第二標志位等于該指定分區(qū)對應(yīng)的線程數(shù)目時,確定該指定分區(qū)的數(shù)據(jù)已被處理完成,對該指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計,使得設(shè)備能夠通過指定分區(qū)對應(yīng)的第二標志位來確定指定分區(qū)中的數(shù)據(jù)是否處理完,從而使指定分區(qū)中已被處理完的數(shù)據(jù)能夠被及時統(tǒng)計,提高了數(shù)據(jù)統(tǒng)計的效率。此外,本實施例在統(tǒng)計完指定分區(qū)中的數(shù)據(jù)之后刪除該指定分區(qū)的第二標志位,即設(shè)備不再對該指定分區(qū)標記第二標志位,從而為設(shè)備提供指定分區(qū)中的數(shù)據(jù)已被統(tǒng)計完成的信息。
一種基于多線程的數(shù)據(jù)處理裝置,其特征在于,包括:
判斷模塊,用于重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程;
處理模塊,用于當確定重啟之前存在未處理完數(shù)據(jù)的線程時,采用當前線程繼續(xù)處理所述數(shù)據(jù);
創(chuàng)建模塊,用于當確定重啟之前不存在未處理完數(shù)據(jù)的線程時,重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,所述預(yù)設(shè)數(shù)量個線程用于處理重啟之后的新數(shù)據(jù)。
在一個實施例中,所述判斷模塊用于:
當所述線程對應(yīng)的第一標志位為1時,確定該線程未處理完數(shù)據(jù);
當所述線程對應(yīng)的第一標志位為0時,確定該線程已處理完數(shù)據(jù)。
在一個實施例中,所述處理模塊包括:
判斷單元,用于獲取內(nèi)存中記錄的活躍線程數(shù),并判斷所述活躍線程數(shù)是否為零,所述活躍線程數(shù)指當前正在處理數(shù)據(jù)的線程數(shù)目;
第一創(chuàng)建單元,用于當所述活躍線程數(shù)為零時,重新創(chuàng)建線程作為當前線程處理所述數(shù)據(jù);
第二處理單元,用于當所述活躍線程數(shù)不為零時,將當前正在處理數(shù)據(jù)的線程作為當前線程繼續(xù)處理所述數(shù)據(jù)。
在一個實施例中,所述裝置還包括:
更新模塊,用于當確定所述當前線程已處理完所述數(shù)據(jù)時,將所述活躍線程數(shù)更新為零,并重新創(chuàng)建所述預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù)。
在一個實施例中,所述裝置還包括:
標記模塊,用于對指定分區(qū)對應(yīng)的第二標志位進行標記,其中,當所述指定分區(qū)對應(yīng)的其中一個線程處理完所述指定分區(qū)的數(shù)據(jù)時,將所述第二標志位加1;
統(tǒng)計模塊,用于當所述第二標志位等于所述指定分區(qū)對應(yīng)的線程數(shù)目時,確定所述指定分區(qū)的數(shù)據(jù)已被處理完成,并對所述指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計;
刪除模塊,用于刪除所述指定分區(qū)的第二標志位。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理方法的流程圖;
圖2為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理方法中步驟S12的流程圖;
圖3為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理方法的流程圖;
圖4為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理裝置的框圖;
圖5為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理裝置中處理模塊的框圖;
圖6為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理裝置的框圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理方法的流程圖。如圖1所示,該方法包括以下步驟S11-S13:
步驟S11,重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程。當確定重啟之前存在未處理完數(shù)據(jù)的線程時,執(zhí)行步驟S12;當確定重啟之前不存在未處理完數(shù)據(jù)的線程時,執(zhí)行步驟S13。
在一個實施例中,第一標志位采用0或1的方式來標記。例如,當某線程處理完數(shù)據(jù)時,其對應(yīng)的第一標志位則為0,當某線程未處理完數(shù)據(jù)時,其對應(yīng)的第一標志位則為1,因此,當線程對應(yīng)的第一標志位為1時,確定該線程未處理完數(shù)據(jù);當線程對應(yīng)的第一標志位為0時,確定該線程已處理完數(shù)據(jù)。
步驟S12,采用當前線程繼續(xù)處理數(shù)據(jù)。
步驟S13,重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,預(yù)設(shè)數(shù)量個線程用于處理重啟之后的新數(shù)據(jù)。
其中,預(yù)設(shè)數(shù)量為設(shè)備預(yù)先設(shè)定的線程數(shù)目。
采用本發(fā)明實施例提供的技術(shù)方案,能夠在重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程,并在確定重啟之前存在未處理完數(shù)據(jù)的線程時采用當前線程繼續(xù)處理數(shù)據(jù),使得設(shè)備重啟之后仍能繼續(xù)處理重啟之前尚未被處理完成的數(shù)據(jù),從而避免因設(shè)備重啟而中斷數(shù)據(jù)處理、導致數(shù)據(jù)處理失敗的情況。并且在確定重啟之前不存在未處理完數(shù)據(jù)的線程時重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,以處理重啟之后的新數(shù)據(jù),使得設(shè)備重啟之后的新數(shù)據(jù)能夠被及時處理,從而優(yōu)化數(shù)據(jù)處理的整個流程。
在一個實施例中,內(nèi)存中記錄有活躍線程數(shù),活躍線程數(shù)指當前正在處理數(shù)據(jù)的線程數(shù)目。并且,每當創(chuàng)建一個線程時,內(nèi)存中的活躍線程數(shù)就會加1,且每當一個線程處理完數(shù)據(jù)時,活躍線程數(shù)就會減1。因此,步驟S12可執(zhí)行為如圖2所示的步驟S21-S23:
步驟S21,獲取內(nèi)存中記錄的活躍線程數(shù),并判斷活躍線程數(shù)是否為零。當活躍線程數(shù)為零時,則執(zhí)行步驟S22;當活躍線程數(shù)不為零時,則執(zhí)行步驟S23。
步驟S22,重新創(chuàng)建線程作為當前線程處理數(shù)據(jù)。
執(zhí)行步驟S22時,重新創(chuàng)建的線程數(shù)目應(yīng)大于或等于設(shè)備重啟之前未處理完數(shù)據(jù)的線程數(shù)目,例如,設(shè)備重啟之前未處理完數(shù)據(jù)的線程數(shù)目為4,則重新創(chuàng)建4個線程作為當前線程處理數(shù)據(jù)。也可直接創(chuàng)建預(yù)設(shè)數(shù)量個線程作為當前線程處理數(shù)據(jù),其中,預(yù)設(shè)數(shù)量為設(shè)備預(yù)先設(shè)定的線程數(shù)目。
步驟S23,將當前正在處理數(shù)據(jù)的線程作為當前線程繼續(xù)處理數(shù)據(jù)。
該實施例中,通過在內(nèi)存中記錄的活躍線程數(shù)為零時重新創(chuàng)建線程作為當前線程來處理數(shù)據(jù),并在活躍線程數(shù)不為零時將當前正在處理數(shù)據(jù)的線程作為當前線程繼續(xù)處理數(shù)據(jù),從而能夠確保有線程繼續(xù)處理未處理完的數(shù)據(jù),優(yōu)化了數(shù)據(jù)處理的整個流程。
在一個實施例中,采用當前線程繼續(xù)處理數(shù)據(jù)之后,即執(zhí)行步驟S12之后,上述方法還包括以下步驟:當確定當前線程已處理完數(shù)據(jù)時,將活躍線程數(shù)更新為零,并重新創(chuàng)建預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù),其中,預(yù)設(shè)數(shù)量為設(shè)備預(yù)先設(shè)定的線程數(shù)目,新數(shù)據(jù)指設(shè)備重啟之后產(chǎn)生的新數(shù)據(jù)。
該實施例中,能夠在確定當前線程已處理完數(shù)據(jù)時,將活躍線程數(shù)更新為零,并重新創(chuàng)建預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù),使得重啟之后的新數(shù)據(jù)能夠被及時處理。
在一個實施例中,上述方法還包括如圖3所示的步驟S31-S33:
步驟S31,對指定分區(qū)對應(yīng)的第二標志位進行標記,其中,當指定分區(qū)對應(yīng)的其中一個線程處理完指定分區(qū)的數(shù)據(jù)時,將第二標志位加1。
步驟S32,當?shù)诙酥疚坏扔谥付ǚ謪^(qū)對應(yīng)的線程數(shù)目時,確定指定分區(qū)的數(shù)據(jù)已被處理完成,并對指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計。
步驟S33,刪除指定分區(qū)的第二標志位。
該實施例可應(yīng)用于數(shù)據(jù)庫中設(shè)有多個分區(qū)的場景,其中每個分區(qū)都對應(yīng)有預(yù)設(shè)數(shù)量個線程用以處理各分區(qū)中的數(shù)據(jù)。例如,預(yù)設(shè)數(shù)量為9,則每個分區(qū)都對應(yīng)有9個線程來處理各自分區(qū)中的數(shù)據(jù)。當有一個線程處理完指定分區(qū)的數(shù)據(jù)時,該指定分區(qū)對應(yīng)的第二標志位為1,同理,當9個線程都處理完該指定分區(qū)的數(shù)據(jù)時,該指定分區(qū)對應(yīng)的第二標志位為9。當?shù)诙酥疚坏扔谥付ǚ謪^(qū)對應(yīng)的線程數(shù)目(即預(yù)設(shè)數(shù)量9)時,說明9個線程均已處理完指定分區(qū)的數(shù)據(jù),此時可對指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計。
該實施例中,通過對指定分區(qū)對應(yīng)的第二標志位進行標記,并在其中一個線程處理完指定分區(qū)的數(shù)據(jù)時,將該指定分區(qū)的第二標志位加1,且在第二標志位等于該指定分區(qū)對應(yīng)的線程數(shù)目時,確定該指定分區(qū)的數(shù)據(jù)已被處理完成,對該指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計,使得設(shè)備能夠通過指定分區(qū)對應(yīng)的第二標志位來確定指定分區(qū)中的數(shù)據(jù)是否處理完,從而使指定分區(qū)中已被處理完的數(shù)據(jù)能夠被及時統(tǒng)計,提高了數(shù)據(jù)統(tǒng)計的效率。此外,本實施例在統(tǒng)計完指定分區(qū)中的數(shù)據(jù)之后刪除該指定分區(qū)的第二標志位,即設(shè)備不再對該指定分區(qū)標記第二標志位,從而為設(shè)備提供指定分區(qū)中的數(shù)據(jù)已被統(tǒng)計完成的信息。
圖4為本發(fā)明實施例中一種基于多線程的數(shù)據(jù)處理裝置的框圖。如圖4所示,該裝置包括:
判斷模塊41,用于重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程;
處理模塊42,用于當確定重啟之前存在未處理完數(shù)據(jù)的線程時,采用當前線程繼續(xù)處理數(shù)據(jù);
創(chuàng)建模塊43,用于當確定重啟之前不存在未處理完數(shù)據(jù)的線程時,重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,預(yù)設(shè)數(shù)量個線程用于處理重啟之后的新數(shù)據(jù)。
在一個實施例中,判斷模塊41還用于:
當線程對應(yīng)的第一標志位為1時,確定該線程未處理完數(shù)據(jù);
當線程對應(yīng)的第一標志位為0時,確定該線程已處理完數(shù)據(jù)。
在一個實施例中,如圖5所示,處理模塊42包括:
判斷單元421,用于獲取內(nèi)存中記錄的活躍線程數(shù),并判斷活躍線程數(shù)是否為零,活躍線程數(shù)指當前正在處理數(shù)據(jù)的線程數(shù)目;
第一創(chuàng)建單元422,用于當活躍線程數(shù)為零時,重新創(chuàng)建線程作為當前線程處理數(shù)據(jù);
第二處理單元423,用于當活躍線程數(shù)不為零時,將當前正在處理數(shù)據(jù)的線程作為當前線程繼續(xù)處理數(shù)據(jù)。
在一個實施例中,上述裝置還包括:
更新模塊,用于當確定當前線程已處理完數(shù)據(jù)時,將活躍線程數(shù)更新為零,并重新創(chuàng)建預(yù)設(shè)數(shù)量個線程處理新數(shù)據(jù)。
在一個實施例中,如圖6所示,上述裝置還包括:
標記模塊44,用于對指定分區(qū)對應(yīng)的第二標志位進行標記,其中,當指定分區(qū)對應(yīng)的其中一個線程處理完指定分區(qū)的數(shù)據(jù)時,將第二標志位加1;
統(tǒng)計模塊45,用于當?shù)诙酥疚坏扔谥付ǚ謪^(qū)對應(yīng)的線程數(shù)目時,確定指定分區(qū)的數(shù)據(jù)已被處理完成,并對指定分區(qū)中的數(shù)據(jù)進行統(tǒng)計;
刪除模塊46,用于刪除指定分區(qū)的第二標志位。
采用本發(fā)明實施例提供的裝置,能夠在重啟采用多線程處理數(shù)據(jù)的設(shè)備后,根據(jù)各線程對應(yīng)的第一標志位判斷重啟之前是否存在未處理完數(shù)據(jù)的線程,并在確定重啟之前存在未處理完數(shù)據(jù)的線程時采用當前線程繼續(xù)處理數(shù)據(jù),使得設(shè)備重啟之后仍能繼續(xù)處理重啟之前尚未被處理完成的數(shù)據(jù),從而避免因設(shè)備重啟而中斷數(shù)據(jù)處理、導致數(shù)據(jù)處理失敗的情況。并且在確定重啟之前不存在未處理完數(shù)據(jù)的線程時重新創(chuàng)建預(yù)設(shè)數(shù)量個線程,以處理重啟之后的新數(shù)據(jù),使得設(shè)備重啟之后的新數(shù)據(jù)能夠被及時處理,從而優(yōu)化數(shù)據(jù)處理的整個流程。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。