新四季網

唯一性約束異常的確定方法、異常處理方法及裝置與流程

2023-09-16 14:15:11


本申請涉及資料庫技術領域,特別涉及一種唯一性約束異常的確定方法、異常處理方法及裝置。



背景技術:

目前,在諸多應用場景中,存在向資料庫維護的數據表插入數據的需求。例如,在資金類交易事務的場景中,為防止同一個交易事務被重複執行多次,一般可以在資料庫中維護一張冪等表,當第一次處理某事務請求時,向上述冪等表中插入與該事務請求對應的唯一id(如:交易流水號),這樣,即便後續再次接收到上述事務請求,通過查詢上述冪等表中是否存在上述唯一id,即可判定該事務請求是否被處理過。

通常,上述數據表可以具有一定的約束條件,所述約束條件可以包括唯一性約束及完整性約束。所述唯一性約束(unique)用來限制表中的某些列上的數據的唯一性(不重複),而完整性約束則用來防止不符合規範的數據被插入到數據表中。所述完整性約束一般包括域完整性約束、用戶定義的完整性及引用完整性約束等。以域完整性約束為例,可以包括:檢查各個欄位的類型是否正確,欄位的值是否超出預設範圍,欄位的值是否非空等。由於數據表存在上述約束條件,在請求將數據插入到數據表的過程中,若所需插入的數據無法滿足上述約束條件,則會導致數據無法被插入到數據表中並拋出異常。

現有技術中,存在這樣一種應用場景:將在插入數據過程中拋出的異常判定為唯一性約束的異常,並採取與唯一性約束的異常對應的預設處理方式來應對這一異常。然而,上述拋出的異常除了屬於數據表的唯一性約束的異常,還可能屬於數據表的完整性約束的異常,這樣,可能會錯誤地將拋出的完整性約 束的異常判定為唯一性約束的異常,進而錯誤地採取與唯一性約束的異常對應的預設處理方式來應對這一異常。以資金交易的一種應用場景為例,假設通過冪等表中的欄位a和欄位b的組合,來標識向該冪等表中插入的數據的唯一性,其中,假設通過完整性約束限制上述欄位a和欄位b均為6位數:000000~999999,則冪等表中每行數據的標識可以是:「欄位a」+「欄位b」。一般在業務運行過程中,上述欄位a和欄位b可以是不斷遞增使用的。通過檢查當前使用的欄位b是否出現唯一性約束的異常,在出現唯一性約束的異常時,需要將上述欄位a的值進行遞增。比如:欄位b從「999999」變化到「000000」,則顯然標識「000000+000000」已經被使用過,為滿足唯一性約束的條件,則需要將當前所需插入的數據的標識確定為「000001+000000」。然而,實際運行時可能存在這樣一種異常:欄位b從「999999」變化到「1000000」(由於欄位b變化成7位,屬於完整性約束的異常),此時若仍然對上述欄位a的值進行遞增,以應對這一異常,顯然會導致向冪等表插入數據失敗,進而導致資金交易業務不能正常運行。

鑑於上述問題,需要提出一種在向數據表插入數據的過程中拋出異常時,準確判定該異常是否為唯一性約束的異常的技術。



技術實現要素:

本申請實施例的目的是提供一種唯一性約束異常的確定方法、異常處理方法及裝置,用以解決上述現有技術中存在的問題。

為解決上述問題,本申請實施例提供的唯一性約束異常的確定方法、異常處理方法及裝置通過如下技術方案來實現:

一種唯一性約束異常的確定方法,包括:

接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

獲取與所述預設表中的所述預設欄位對應的表定義元數據;

根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

若不存在所述完整性約束的異常,執行所述sql語句,並將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

一種唯一性約束異常的確定方法,包括:

接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

若在執行所述sql語句時拋出異常,獲取與所述預設表中的所述預設欄位對應的表定義元數據;

根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

若不存在所述完整性約束的異常,將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

一種異常處理方法,包括:

接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

獲取與所述預設表中的所述預設欄位對應的表定義元數據;

根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

若不存在所述完整性約束的異常,執行所述sql語句,並將在執行所述sql語句時拋出的異常確定為唯一性約束的異常;

利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出的異常。

一種異常處理方法,包括:

接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

若在執行所述sql語句時拋出異常,獲取與所述預設表中的所述預設欄位對應的表定義元數據;

根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

若不存在所述完整性約束的異常,將在執行所述sql語句時拋出的異常確定為唯一性約束的異常;

利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出的異常。

一種唯一性約束異常的確定裝置,包括:

接收單元,用於接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

獲取單元,用於獲取與所述預設表中的所述預設欄位對應的表定義元數據;

校驗單元,用於根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

確定單元,用於在不存在所述完整性約束的異常時,將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

一種唯一性約束異常的確定裝置,包括:

接收單元,用於接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

獲取單元,用於在執行所述sql語句時拋出異常後,獲取與所述預設表中的所述預設欄位對應的表定義元數據;

校驗單元,用於根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

確定單元,用於在不存在完整性約束的異常時,將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

一種異常處理裝置,包括:

接收單元,用於接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

獲取單元,用於獲取與所述預設表中的所述預設欄位對應的表定義元數據;

校驗單元,用於根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

確定單元,用於在不存在所述完整性約束的異常時,將在執行所述sql語句時拋出的異常確定為唯一性約束的異常;

異常處理單元,用於利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出異常。

一種異常處理裝置,包括:

接收單元,用於接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中;

獲取單元,用於在執行所述sql語句時拋出異常時,獲取與所述預設表中的所述預設欄位對應的表定義元數據;

校驗單元,用於根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

確定單元,用於在不存在完整性約束的異常時,將在執行所述sql語句時拋出的異常確定為唯一性約束的異常;

異常處理單元,用於利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出的異常。

由以上本申請實施例提供的技術方案可見,通過在接收到將預設欄位的值插入到預設表中的sql語句之後,獲取與所述預設表中的所述預設欄位對應的表定義元數據,並根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常,並在不存在完整性約束的異常的前提下, 將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。本申請實施例通過在執行sql語句之前進行完整性約束的異常的校驗,或在執行sql語句的過程中發生異常後進行完整性約束的異常的校驗,以在排除不存在完整性約束的異常的前提下,確定在執行sql語句的過程中拋出的異常為唯一性約束的異常。通過上述過程,可以避免錯誤地將完整性約束的異常判定為唯一性約束的異常的問題。

另一方面,本申請實施例中,在確定拋出的異常為唯一性約束的異常之後,可以利用與唯一性約束的異常對應的處理方式對該異常進行處理,以使得預設欄位的值能夠被正確地插入到上述預設表中,進而確保業務的正常運行。

附圖說明

為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本申請實施例提供的系統架構示意圖;

圖2為本申請一實施例提供的用以進行完整性約束校驗的裝置的示意圖;

圖3為本申請一實施例提供的唯一性約束異常的確定方法的流程圖;

圖4為本申請另一實施例提供的唯一性約束異常的確定方法的流程圖;

圖5為本申請一實施例提供的唯一性約束異常的確定裝置的模塊示意圖;

圖6為本申請另一實施例提供的唯一性約束異常的確定裝置的模塊示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述, 顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。

圖1是本申請實施例提供的一種示例性的系統架構。該系統用以在對網絡中的事務請求進行處理的過程中,將與該事務請求對應的數據插入到資料庫端的預設數據表中。其中,該系統包括終端20、應用伺服器10及資料庫端30。在進行事務(如:資金類交易事務)處理時,一般用戶可以通過終端20向應用伺服器10發送事務請求(如:攜帶轉出方帳戶信息、轉入方帳戶信息及金額的交易請求),應用伺服器10在收到該事務請求時,為避免事務請求被重複執行,可以通過向資料庫端30中預先維護的一張數據表中插入與當前事務請求對應的數據(如:交易流水號、轉出方帳戶信息、轉入方帳戶信息及金額信息等)。其中,一般地,應用伺服器10可以通過生成用以將上述數據插入到預設數據表中的sql語句(structuredquerylanguage,結構化查詢語句),並將該sql語句向資料庫端進行發送,來實現上述數據插入過程。接下來,資料庫端一般需要對上述sql語句進行完整性約束及唯一性約束的檢查,若通過檢查發現上述sql語句不存在異常,則完成上述數據插入的動作並對上述事務請求進行相應的處理(如:資金變動);反之,若檢查發現上述sql語句存在異常,則向應用伺服器10反饋異常,拒絕將上述數據插入到預設數據表中並拒絕對該事務請求進行處理。

如前所述,在本申請一些場景中,需要確定資料庫端拋出的異常是否為唯一性約束的異常,從而執行與唯一性約束的異常對應的處理方式。為避免錯誤地將完整性約束的異常判定為唯一性約束的異常,本申請實施例中可以通過對上述sql語句進行完整性約束的異常的校驗,來過濾完整性約束的異常對唯一性約束的異常的幹擾。具體地,完整性約束的異常的校驗工作可以通過圖2所示的用以進行完整性約束校驗的裝置來實現。如圖2所示,本申請實施例中,該校驗裝置可以包括流程控制總線、元數據倉儲及完整性檢查器。其中,上述 流程控制總線用以控制完整性校驗的執行流程,上述元數據倉儲中的元數據分為表定義元數據、執行語句元數據及校驗配置元數據。上述完整性檢查器用以根據上述表定義元數據、執行語句元數據及校驗配置元數據,對需要檢查的數據表和sql語句進行完整性約束的異常的檢查動作,完整性檢查器可以將檢查得到的結果通過上述流程控制總線發出。其中,根據實際業務需求,上述完整性檢查器又可以包括域完整性(integrityconstrains)檢查器、自定義完整性(userdefinedintegrity)檢查器、引用完整性檢查器等。值得提及的是,上述用以檢查完整性約束異常的裝置可以以軟體和硬體相結合的形式存在於上述資料庫端30。其中,可以針對所需檢查的完整性約束的類型,增加或減少任意一種的完整性約束檢查器。

其中,上述表定義元數據用以定義預設數據表中的各個預設欄位的屬性。所述預設欄位的屬性可以包括:預設欄位的取值範圍(如:100~200),預設欄位的值的類型(如:限定值的類型為阿拉伯數字),預設欄位的其他取值規則(如:非空),以及預設欄位的值的長度等。

以冪等表為例,其建表語句(表定義元數據)如下:

其中,從表定義元數據可以看出各個欄位的完整性約束條件,如:「欄位a」的完整性約束條件包括:非空(notnull)、值的長度有限定等。

另外,上述執行語句元數據是指資料庫端接收到來自於應用伺服器的sql 語句。上述校驗配置元數據是指預先設定的需要進行校驗的表及sql語句的配置數據(也就是說,預先配置哪些表和哪些sql語句屬於完整性校驗的對象)。舉例而言,假設資料庫端存在數據表x,y,z,其中,x,y屬於冪等表,假設應用伺服器發送的向數據表x插入數據的sql語句是:sql1,向數據表y插入數據的sql語句是:sql2。此時若根據業務需求,只需要對上述數據表x及相應的sql語句進行檢查,則可以在通過配置該校驗配置元數據設定只對sql1進行檢查。在將相應的校驗配置元數據存放到數據倉儲中後,資料庫端在接收到各類sql語句後,便可以直接從數據倉儲中提取需要進行檢查的sql語句,並進行相應的完整性約束的異常檢查。

圖3為本申請一實施例提供的唯一性約束異常的確定方法的流程,其中,該方法的執行主體可以為資料庫端,該方法包括如下步驟:

s101:接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中。

本申請實施例中,以上述冪等表為例,若該冪等表中的預設欄位可以包括:主鍵id、欄位a、欄位b及欄位c,則,向該冪等表(預設表)插入的預設欄位的值可以包括上述主鍵id的值、欄位a的值、欄位b的值及欄位c的值。

s102:獲取與所述預設表中的所述預設欄位對應的表定義元數據。

以上述冪等表為例,為了實現完整性約束的校驗,資料庫端需要獲取與當前待校驗的冪等表中的各個預設欄位對應的表定義元數據。其中,對於每一個預設欄位,其表定義元數據可以包括:欄位的值的長度、是否非空、欄位的值是否超過預設範圍等。

本申請實施例中,如前所述,並不是對資料庫端接收的所有sql語句進行完整性約束的異常的校驗,可以通過讀取上述校驗配置元數據,來判斷當前接收到的sql語句是不是為待校驗的對象,若是,則將該sql語句及相應的表定義元數據寫入到緩存中進行校驗。

s103:根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是 否存在完整性約束的異常;若校驗發現不存在完整性約束的異常,進入步驟s104。若校驗發現存在完整性約束的異常,則不執行該條sql語句並向應用伺服器端反饋異常。

在獲取到待校驗完整性約束異常的sql語句、及與當前待校驗的預設表對應的表定義元數據之後,可以利用表定義元數據對上述sql語句進行校驗。其中,在進行校驗之前,可以對相關的dao(dataaccessobject,數據訪問對象)操作進行攔截。

具體地,如上所述,對於域完整性異常的校驗,可以包括:校驗sql語句中需要插入的某欄位的值的長度符合上述表定義元數據的長度、校驗sql語句中需要插入的某欄位的值是否非空、校驗sql語句中需要插入的某欄位的值欄位的值是否超過預設範圍等。對於用戶自定義完整性異常的校驗,可以例如:表中某欄位的值限定為「男」或「女」,則校驗sql語句中需要插入的某欄位的值是否為「男」或「女」,如不是,則存在完整性約束的異常。

s104:執行所述sql語句,並將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

本申請實施例中,若上述完整性約束的校驗包括域完整性約束的校驗及用戶自定義完整性約束的校驗,則在不存在域完整性約束的異常及用戶自定義完整性約束的異常時,執行所述sql語句。

在排除sql語句不存在任何完整性約束的異常之後,資料庫端對該條sql語句進行執行,以向預設表中插入預設數據。由於在先前步驟中已經排除該sql語句存在完整性約束的異常的可能性,則如果在執行過程中仍然拋出異常,則可以確定該異常為唯一性約束的異常。

在上述圖3所示的實施例中,通過在執行sql語句進行完整性約束的異常校驗(前置校驗),從而在排除不存在完整性約束的異常後,確定執行sql語句的過程中發生異常為唯一性約束的異常。通過上述過程,可以避免錯誤地將完整性約束的異常判定為唯一性約束的異常的問題。然而,在本申請替代的 實施例中,還可以通過「後置校驗」來實現。

圖4為本申請另一實施例提供的唯一性約束異常的確定方法的流程,該方法包括如下步驟:

s201:接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中。

該步驟s201可以參照上述步驟s101的內容,不同之處在於:

上述步驟s201中在接收到sql語句後,便執行該條sql語句(以向預設表中插入預設欄位的值)。

s202:若在執行所述sql語句時拋出異常,獲取與所述預設表中的所述預設欄位對應的表定義元數據。

該步驟s202可以參照上述步驟s102的內容。

如前所述,在向預設表中插入預設欄位的值的過程中可能會出現異常,在出現異常需要確定該異常是否為唯一性約束的異常,則可以通過「後置校驗」來排除完整性約束異常的幹擾。所述「後置校驗」是在執行sql語句時出現異常之後進行的。

s203:根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;若不存在,進入步驟s204。

該步驟s203可以參照上述步驟s103的內容。

s204:將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

該步驟s204可以參照上述步驟s105的內容。

在上述圖4所示的實施例中,通過在執行sql語句的過程中發生異常後進行完整性約束的異常的校驗,並在排除不存在完整性約束的異常後,確定執行sql語句的過程中發生異常為唯一性約束的異常。通過上述過程,可以避免錯誤地將完整性約束的異常判定為唯一性約束的異常的問題。

本申請實施例還提供一種異常處理方法,基於上述唯一性約束異常的確定方法的步驟,該異常處理方法還包括:

在確定異常為唯一性約束的異常後,利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出異常。

在某些應用場景中,上述與唯一性約束的異常對應的處理方式可以是對某個預設欄位的值進行遞增。

以冪等表的一種應用場景為例,假設通過冪等表中的欄位a和欄位b的組合,來標識向該冪等表中插入的數據的唯一性,其中,假設通過完整性約束限制上述欄位a和欄位b均為6位數:000000~999999,則冪等表中每行數據的標識可以是:「欄位a」+「欄位b」。一般在業務運行過程中,上述欄位a和欄位b可以是不斷遞增使用的。通過檢查當前使用的欄位b是否出現唯一性約束的異常,在出現唯一性約束的異常時,需要將上述欄位a的值進行遞增。例如:在欄位a為「000000」時,欄位b需要從「000000」變化到「999999」並逐一被插入到上述冪等表中。在某個時刻,當欄位b為「999999」時,由於欄位b一般被限定為6位數,則在下一個事務請求到來時,與該事務請求對應的欄位b的值會由「999999」再次變化為「000000」。此後,若通過相應的sql語句向冪等表插入預設欄位(包含欄位a+欄位b)的值,由於欄位a:「000000「+欄位b:「000000」已經被使用過,此時資料庫端被刨除唯一性約束的異常,為應對這一異常,資料庫端可以通過將上述欄位a的值由「000000」遞增為「000001」,並向上述冪等表中插入包含欄位a的值:「000001」和欄位b的值:「000000」的一行數據(唯一性異常被化解),業務能夠正常運行。

值得一提的是,本申請其他的實施例中,在確定上述異常是否為唯一性異常之後,可以通過消息的方式通知相關人員,並由相關人員來處理上述唯一性異常。

基於上述方法,本申請實施例還提供一種基於上述方法的唯一性約束異常的確定裝置及異常處理裝置。其中,這些裝置中包含的各單元所實現的功能與上述方法中包含的各步驟所實現的功能相同,故這些裝置實施例可以參照上述各方法實施例的內容,本文不再予以贅述。

圖5為本申請一實施例提供的唯一性約束異常的確定裝置的模塊示意圖。本申請實施例中,該唯一性約束異常的確定裝置包括:

接收單元110,用於接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中。

獲取單元120,用於獲取與預設表中的預設欄位對應的表定義元數據。

校驗單元130,用於根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常。

確定單元140,用於在不存在所述完整性約束的異常時,執行所述sql語句,並將在執行所述sql語句時拋出的異常確定為唯一性約束的異常。

本申請實施例的裝置通過在執行sql語句之前進行完整性約束的異常的校驗,並在排除不存在完整性約束的異常後,確定執行sql語句的過程中發生異常為唯一性約束的異常,從而可以避免錯誤地將完整性約束的異常判定為唯一性約束的異常的問題。

圖6為本申請另一實施例提供的唯一性約束異常的確定裝置的模塊示意圖。本申請實施例中,該唯一性約束異常的確定裝置包括:

接收單元210,用於接收包含預設欄位的值的sql語句;所述sql語句用於將所述預設欄位的值插入到包含所述預設欄位的預設表中。

確定單元220;用於在執行所述sql語句時拋出異常時,獲取與所述預設表中的所述預設欄位對應的表定義元數據;

校驗單元230,用於根據所述表定義元數據,校驗所述sql語句中的預設欄位的值是否存在完整性約束的異常;

確定單元240,用於在不存在完整性約束的異常時,確定在執行所述sql語句時拋出的異常為唯一性約束的異常。

同理,本申請實施例的裝置通過在執行sql語句的過程中發生異常後進行完整性約束的異常的校驗,並在排除不存在完整性約束的異常後,確定執行sql語句的過程中發生異常為唯一性約束的異常,從而可以避免錯誤地將完整 性約束的異常判定為唯一性約束的異常的問題。

與上述圖5對應,本申請實施例中,一種異常處理裝置包括上述接收單元110、獲取單元120、校驗單元130、執行單元140、確定單元150,以及異常處理單元,所述異常處理單元用於利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出異常。本申請實施例在確定拋出的異常為唯一性約束的異常後,可以利用與唯一性約束的異常對應的處理方式對該異常進行處理,以使得預設欄位的值能夠被正確插入到上述預設表中,進而確保業務的正常運行。

與上述圖6對應,本申請實施例中,一種異常處理裝置包括上述接收單元210、執行單元220、獲取單元230、校驗單元240、確定單元250,以及異常處理單元,所述異常處理單元用於利用與唯一性約束的異常對應的處理方式來處理在執行所述sql語句時拋出異常。本申請實施例在確定拋出的異常為唯一性約束的異常後,可以利用與唯一性約束的異常對應的處理方式對該異常進行處理,以使得預設欄位的值能夠被正確插入到上述預設表中,進而確保業務的正常運行。

值得述及的是,在本文介紹的上述確定唯一性約束的異常的方法及裝置中,一般可以使用spring開源框架來作為應用系統的開發框架。而使用spring開源框架的系統一般難以準確地捕捉上述唯一性約束的異常,本申請提出的方案可以解決使用spring開源框架的應用系統無法準確捕捉上述唯一性約束的異常的問題。當然,本申請提出的方案還可以用以其他類型的開源框架中,本文不再予以列舉。

上述實施例闡明的系統、裝置、模塊或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。

為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。

本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計 算機程序產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。

本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存。

內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或快閃記憶體(flashram)。內存是計算機可讀介質的示例。

計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序 的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光碟只讀存儲器(cd-rom)、數字多功能光碟(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁碟存儲或其他磁性存儲設備或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調製的數據信號和載波。

還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。

本領域技術人員應明白,本申請的實施例可提供為方法、系統或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。

本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。

本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相 似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。

以上所述僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀