亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)庫序列的數(shù)據(jù)處理方法、裝置及服務(wù)器與流程

文檔序號:11582787閱讀:564來源:國知局
本申請屬于計算機數(shù)據(jù)處理
技術(shù)領(lǐng)域
:,尤其涉及一種數(shù)據(jù)庫序列的數(shù)據(jù)處理方法、裝置及服務(wù)器。
背景技術(shù)
::隨著信息技術(shù)的迅速發(fā)展,依賴于計算機處理的業(yè)務(wù)量越來越大。因此,對計算機業(yè)務(wù)數(shù)據(jù)的處理能力要求也越來越高。在業(yè)務(wù)處理中,為了方便有效地描述一個業(yè)務(wù)對象,常常需要用一個唯一的id(identification,id,身份標(biāo)識或?qū)ο髽?biāo)識)來表示對象模型。隨著業(yè)務(wù)的發(fā)展,應(yīng)用從單系統(tǒng)逐步演變?yōu)榉植际较到y(tǒng),數(shù)據(jù)庫從單庫單表轉(zhuǎn)變到分庫分表,業(yè)務(wù)對象標(biāo)識的管理技術(shù)也在不斷的變化。在高并發(fā)、分布式系統(tǒng)環(huán)境中,常常使用業(yè)務(wù)對象標(biāo)識的管理技術(shù)是基于應(yīng)用服務(wù)器緩存序列區(qū)間的sequence(數(shù)據(jù)庫序列)管理方式。所述的數(shù)據(jù)庫序列(sequence)通常是指一個通過數(shù)據(jù)庫生成的序列,由一組唯一數(shù)值構(gòu)成,可以通過數(shù)據(jù)庫序列對象生成表的主鍵值或者業(yè)務(wù)對象的標(biāo)識字段。可以通過數(shù)據(jù)庫序列對象(一個能產(chǎn)生順序編號的模式對象,可以自動生成序列號,產(chǎn)生一組等間隔的數(shù)值)自動生成,也可以通過數(shù)據(jù)庫表生成,管理sequence的表也叫做sequence表。具體的sequence管理方式可以包括:a、在數(shù)據(jù)庫中維護一個sequence表,描述序列的名稱、當(dāng)前值seqcurrent、最小值、最大值、步長step等信息;b、應(yīng)用服務(wù)器請求數(shù)據(jù)庫獲取指定步長的序列區(qū)間緩存在本地,區(qū)間為seqrange:(當(dāng)前值seqcurrent+step],同時更新sequence表的當(dāng)前值為seqcurrent+step供使用;c、當(dāng)需要sequence時,應(yīng)用服務(wù)器先從本地緩存序列區(qū)間seqrange中獲取,本地緩存使用完之后再去請求數(shù)據(jù)庫獲取下一段序列區(qū)間緩存在本地供使用。這樣,當(dāng)收到業(yè)務(wù)請求時可以先從本地緩存中獲取一個sequence,然后可以加上業(yè)務(wù)來源、操作時間等業(yè)務(wù)屬性構(gòu)建業(yè)務(wù)對象標(biāo)識。等到本地sequence緩存使用完之后可以請求數(shù)據(jù)庫獲取下一段序列區(qū)間緩存在本地供使用?,F(xiàn)有的這種基于應(yīng)用服務(wù)器緩存序列區(qū)間的sequence管理方法,由于應(yīng)用服務(wù)器緩存序列區(qū)間的長度完全取決于sequence表的序列步長,這樣應(yīng)用服務(wù)器緩存的序列區(qū)間長度都相同并且固定不變。因此會存在至少以下問題:1、當(dāng)業(yè)務(wù)并發(fā)要求較高時,會產(chǎn)生熱點問題。因為所有應(yīng)用服務(wù)器緩存序列區(qū)間的長度相同,當(dāng)業(yè)務(wù)并發(fā)量高時,應(yīng)用服務(wù)器幾乎同時消耗完本地緩存序列,同時請求數(shù)據(jù)庫獲取下一段序列區(qū)間并更新sequence表,從而引發(fā)鎖沖突,出現(xiàn)數(shù)據(jù)庫熱點問題;2、應(yīng)用服務(wù)器分配的序列區(qū)間固定不變,不能靈活適配業(yè)務(wù)需要。如果分配的序列區(qū)太小,則會導(dǎo)致業(yè)務(wù)高峰期應(yīng)用服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間太過頻繁,增加數(shù)據(jù)庫壓力;而如果分配區(qū)間太大,一旦服務(wù)器重啟,會導(dǎo)致大量序列浪費,導(dǎo)致序列過度消耗,甚至可能出現(xiàn)無可用序列或者序列值重復(fù)。因此,基于上述現(xiàn)有技術(shù)中的這種數(shù)據(jù)庫序列管理方式不能根據(jù)業(yè)務(wù)需求調(diào)整分配策略,業(yè)務(wù)適配性較差。并且當(dāng)業(yè)務(wù)并發(fā)要求較高時還會增加訪問數(shù)據(jù)庫的壓力,引發(fā)鎖沖突,數(shù)據(jù)庫熱點問題突出,降低數(shù)據(jù)庫讀寫性能。技術(shù)實現(xiàn)要素:本申請目的在于提供一種數(shù)據(jù)庫序列的數(shù)據(jù)處理方法、裝置及服務(wù)器,可以動態(tài)調(diào)整對象標(biāo)識分配序列區(qū)間的大小,不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,使得服務(wù)器能夠靈活的適配業(yè)務(wù)需要,并且可以降低熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。本申請?zhí)峁┑囊环N數(shù)據(jù)庫序列的數(shù)據(jù)處理方法、裝置及服務(wù)器是這樣實現(xiàn)的:一種數(shù)據(jù)庫序列的數(shù)據(jù)處理方法,所述方法包括:獲取目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)庫序列的預(yù)置步長,確定所述預(yù)置步長的調(diào)整因子,所述調(diào)整因子與所述預(yù)置步長相關(guān)聯(lián),且所述調(diào)整因子在取值范圍內(nèi)按照預(yù)定方式確定出取值;當(dāng)接收到步長調(diào)整的指令時,根據(jù)所述指令調(diào)整所述調(diào)整因子的取值范圍。一種數(shù)據(jù)庫序列的數(shù)據(jù)處理裝置,所述裝置包括:處理單元,用于獲取目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)庫序列的預(yù)置步長,確定所述預(yù)置步長的調(diào)整因子,所述調(diào)整因子與所述預(yù)置步長相關(guān)聯(lián),且所述調(diào)整因子在取值范圍內(nèi)按照預(yù)定方式確定出取值;還用于當(dāng)接收到步長調(diào)整的指令時,根據(jù)所述指令調(diào)整所述調(diào)整因子的取值范圍。一種服務(wù)器,包括緩存、i/o接口、處理器,所述緩存用于存儲分配的數(shù)據(jù)庫序列區(qū)間;i/o接口,耦合于緩存與處理器,用于將處理器計算得到的數(shù)據(jù)庫序列區(qū)間存儲到緩存;所述處理器被設(shè)置成,用于獲取目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)庫序列的預(yù)置步長,確定所述預(yù)置步長的調(diào)整因子;還用于接收到數(shù)據(jù)庫序列請求時,在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出所述調(diào)整因子的取值,以及根據(jù)所述調(diào)整因子的取值和所述預(yù)置步長計算出調(diào)整后步長,基于所述調(diào)整后步長計算出所述數(shù)據(jù)庫序列表中分配給所述數(shù)據(jù)庫序列請求的數(shù)據(jù)庫序列的序列區(qū)間。本申請?zhí)峁┑囊环N數(shù)據(jù)庫序列的數(shù)據(jù)處理方法、裝置及服務(wù)器,提供了自適應(yīng)動態(tài)數(shù)據(jù)庫序列分配策略,通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,分散熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。同時,運用本申請?zhí)峁┑膶嵤┓桨缚梢詫崿F(xiàn)sequence動態(tài)分配策略達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請?zhí)峁┑囊环N數(shù)據(jù)庫序列的數(shù)據(jù)處理方法一種實施例的方法流程圖;圖2是本申請中一種多個應(yīng)用服務(wù)器獲取數(shù)據(jù)庫序列的示意圖;圖3是本申請應(yīng)用服務(wù)器的一種序列管理器的結(jié)構(gòu)及序列分配管理示意圖;圖4是實施本申請方案進行數(shù)據(jù)庫序列分配的一個實施方法流程示意圖;圖5是本申請一個應(yīng)用場景中數(shù)據(jù)庫序列獲取流程示意圖;圖6是本申請?zhí)峁┑囊环N服務(wù)器的模塊結(jié)構(gòu)示意圖。具體實施方式為了使本
技術(shù)領(lǐng)域
:的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。圖1是本申請所述一種數(shù)據(jù)庫序列的數(shù)據(jù)處理方法一種實施例的方法流程圖。雖然本申請?zhí)峁┝巳缦率鰧嵤├蚋綀D所示的方法操作步驟或裝置結(jié)構(gòu),但基于常規(guī)或者無需創(chuàng)造性的勞動在所述方法或裝置中可以包括更多或者部分合并后更少的操作步驟或模塊單元。在邏輯性上不存在必要因果關(guān)系的步驟或結(jié)構(gòu)中,這些步驟的執(zhí)行順序或裝置的模塊結(jié)構(gòu)不限于本申請實施例或附圖所示的執(zhí)行順序或模塊結(jié)構(gòu)。所述的方法或模塊結(jié)構(gòu)的在實際中的裝置或終端產(chǎn)品應(yīng)用時,可以按照實施例或者附圖所示的方法或模塊結(jié)構(gòu)進行順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境、甚至包括分布式處理的實施環(huán)境)。在業(yè)務(wù)處理中,為了方便有效地描述一個業(yè)務(wù)對象,常常需要用一個唯一的id來表示對象模型,該id也稱之為對象標(biāo)識,比如用一個交易流水號標(biāo)識一筆交易。一般的,對象標(biāo)識具有唯一性、可追溯性等性質(zhì)。目前對所述對象標(biāo)識管理的主要方式是基于應(yīng)用服務(wù)器緩存序列區(qū)間的數(shù)據(jù)庫序列(sequence)管理方式。所述的數(shù)據(jù)庫序列(sequence)通常是指一個通過數(shù)據(jù)庫生成的序列,由一組唯一數(shù)值構(gòu)成,可以通過數(shù)據(jù)庫序列對象或者數(shù)據(jù)庫表生成表的主鍵值或者業(yè)務(wù)對象的標(biāo)識字段。以下為了清楚起見,以一個應(yīng)用服務(wù)器的數(shù)據(jù)庫序列分配管理為應(yīng)用場景進行說明。但是,本領(lǐng)域技術(shù)人員能夠理解到,可以將本方案的實質(zhì)精神應(yīng)用到其他終端設(shè)備的數(shù)據(jù)庫序列分配管理的場景下。即,通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,實現(xiàn)降低業(yè)務(wù)高并發(fā)時的熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。具體的一種實施例如圖1所示,本申請?zhí)峁┑囊环N數(shù)據(jù)庫序列的數(shù)據(jù)處理方法的一種實施例中,所述方法可以包括:s1:獲取目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)庫序列的預(yù)置步長,確定所述預(yù)置步長的調(diào)整因子,所述調(diào)整因子與所述預(yù)置步長相關(guān)聯(lián),且所述調(diào)整因子在取值范圍內(nèi)按照預(yù)定方式確定出取值;s2:當(dāng)接收到步長調(diào)整的指令時,根據(jù)所述指令調(diào)整所述調(diào)整因子的取值范圍。在本實施例應(yīng)用場景中,所述的應(yīng)用服務(wù)器可以包括序列管理器(seqmanager)和數(shù)據(jù)庫的sequence表,所述序列管理器可以作為基礎(chǔ)組件是直接部署在應(yīng)用服務(wù)器上。圖2是本申請中一種多個應(yīng)用服務(wù)器獲取數(shù)據(jù)庫序列的示意圖,圖3是本申請應(yīng)用服務(wù)器的一種序列管理器的結(jié)構(gòu)及序列分配管理示意圖。圖2中,各個應(yīng)該服務(wù)器上部署有序列管理器,主要作用是對本地緩存的數(shù)據(jù)庫序列進行管理分配,如應(yīng)用服務(wù)器a1上的一個數(shù)據(jù)庫序列名稱seq1的區(qū)間為范圍為(0,100],應(yīng)用服務(wù)器a2上的一個數(shù)據(jù)庫序列的區(qū)間為(100,200],以此類推。提供數(shù)據(jù)庫序列的查詢服務(wù)。通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)。序列管理器可以從sequence表(sequence_table)中查詢目標(biāo)數(shù)據(jù)庫database最新的數(shù)據(jù)庫序列分配區(qū)間。所述的sequence表可以存儲sequence相關(guān)參數(shù)及描述信息,如下表1所示。表1中,序列當(dāng)前值seqcurrent表示已經(jīng)分配完的序列值。應(yīng)用服務(wù)獲取序列區(qū)間時會在當(dāng)前值的基礎(chǔ)上返回一段區(qū)間,同時所述當(dāng)前值也會更新為返回序列的最大值。閾值步長step表示閾值補充,為預(yù)先設(shè)置的分配序列區(qū)間時分配的區(qū)間大小。所述調(diào)整因子被設(shè)置成,與所述預(yù)置步長相關(guān)聯(lián),且在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出取值。表1:sequence表字段名描述seqname序列名稱seqcurrent序列當(dāng)前值minvalue最小值maxvalie最大值step步長本申請實施例可以為所述閾值步長定義設(shè)置一個調(diào)整因子,所述調(diào)整因子與所述預(yù)置步長相關(guān)聯(lián),這樣,所述預(yù)置步長的取值可以隨著所述調(diào)整因子的變化而變化,從而實現(xiàn)數(shù)據(jù)庫序列的動態(tài)分配。在實際業(yè)務(wù)應(yīng)用時,可以根據(jù)業(yè)務(wù)請求量大大小動態(tài)的對調(diào)整因子的取值范圍進行調(diào)整,控制分配的序列區(qū)間seqrange的大小。例如當(dāng)業(yè)務(wù)請求量增加時,a和b值同時增大(或者僅b值增大),分配序列區(qū)間整體變大,減少應(yīng)用服務(wù)器請求數(shù)據(jù)庫的壓力;當(dāng)業(yè)務(wù)請求量降低時,a和b同時值減小(或僅b值減小),分配序列區(qū)間整體變小。這樣,可以達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要,提高服務(wù)器性能。另一種實施方式中,消費者通常在線購物的時間段為中午和下班以后,因此,可以在10:30至13:00、16:30至20:30的時間段內(nèi)觸發(fā)增大調(diào)整步長的指令。當(dāng)然,其他的實施方式中也可以根據(jù)日期或月份或者分、小時、星期等設(shè)置不同時間段所述調(diào)整因子取值范圍的調(diào)整方式,如可以在“雙十一”期間的時間段10月25日至11月12日時增大調(diào)整因子的取值范圍。因此,本申請?zhí)峁┑牧硪环N實施例中,所述步長調(diào)整的指令被設(shè)置成,根據(jù)業(yè)務(wù)請求量或者業(yè)務(wù)請求的時間信息確定調(diào)整因子的動態(tài)取值范圍,生成設(shè)置所述調(diào)整因子的取值范圍為所述動態(tài)取值范圍的指令。本申請?zhí)峁┑囊环N實施例中,s101:所述調(diào)整因子的取值范圍被設(shè)置為一個常數(shù)取值。具體的一種實施方式中,所述調(diào)整因子可以設(shè)置為僅為一個單個常數(shù)數(shù)值,如k,k>0。假設(shè)預(yù)置步長為step,最終分配數(shù)據(jù)庫序列使用的步長為調(diào)整后步長innerstep,數(shù)據(jù)庫序列當(dāng)前值為seqcurrent,則分配給數(shù)據(jù)庫請求的序列區(qū)間seqrange=(seqcurrent,seqcurrent+innerstep]。則一種實施例中可以設(shè)置所述調(diào)整因子與所述閾值步長step的關(guān)聯(lián)關(guān)系為:innerstep=step*k此時,所述的k可以為一個單個數(shù)值,如k=0.9,或者k=1.3,或者k=2等。本實施中,在所述調(diào)整因子與預(yù)置步長關(guān)聯(lián)關(guān)系不變的情況下,所述調(diào)整因子的取值范圍可以是一個定值,從而所述調(diào)整因子可以是一個定值。需要說明的是,上述所述的取值范圍是定值并非指整個目標(biāo)數(shù)據(jù)庫進行數(shù)據(jù)庫序列分配期間全局取值固定,本申請?zhí)峁┑膶嵤┓桨甘强梢哉{(diào)整所述調(diào)整因子的取值范圍,在本實施例調(diào)整因子為一個單個數(shù)值的實施方式中,調(diào)整了取值范圍相當(dāng)于調(diào)整了調(diào)整因子的取值,進而調(diào)整了預(yù)置步長,實現(xiàn)數(shù)據(jù)庫序列的動態(tài)調(diào)整。序列管理器可以在所述步長step的基礎(chǔ)上進行參數(shù)優(yōu)化和自適應(yīng)調(diào)整,生成一個大小合適的序列區(qū)間。本實施例應(yīng)用場景中,所述序列管理器主要作用是對數(shù)據(jù)庫序列進行管理分配,還可以提供sequence的查詢服務(wù)。另一種實施方式中,所述調(diào)整因子的取值范圍可以一段區(qū)間??梢酝ㄟ^控制所述取值范圍實現(xiàn)控制所述調(diào)整因子的取值。因此,本申請?zhí)峁┑乃鲆环N數(shù)據(jù)庫序列的數(shù)據(jù)處理方式另一種實施例中,s102:所述調(diào)整因子的取值范圍為[a,b],a和b為大于等于0的區(qū)間端點,且b大于a。例如,a和b的取值分別為1和2,則所述調(diào)整因子的取值范圍為[1,2],相應(yīng)的所述調(diào)整后步長innerstep=step*k可以大于所述預(yù)置步長的取值,增大數(shù)據(jù)庫序列的分配區(qū)間;若a和b的取值分別為0.6和0.8,則所述調(diào)整因子的取值范圍為[0.6,0.8],相應(yīng)的所述調(diào)整后步長innerstep=step*k小于所述預(yù)置步長的取值,減小數(shù)據(jù)庫序列的分配區(qū)間。本申請?zhí)峁┑牧硪环N實施例中,所述取值范圍中的區(qū)間端點b可以被設(shè)置成:b=a+1。即,所述調(diào)整因子取值范圍為[a,a+1],而innerstep=step*[a,a+1],當(dāng)a取值為0時,調(diào)整后步長最小值為預(yù)置步長,步長的調(diào)整范圍也是在一個預(yù)置步長范圍之間。這樣的取值配置方式可以更加符合多數(shù)應(yīng)用服務(wù)器中數(shù)據(jù)庫序列的分配方式,既能滿足常規(guī)數(shù)據(jù)庫序列分配需求,又可以有效減少序列浪費,避免序列過度消耗,提高整體服務(wù)器處理性能。通過本申請實施方案,對原有的固定的預(yù)置步長參數(shù)進行了優(yōu)化,使得數(shù)據(jù)庫分配的數(shù)據(jù)庫序列可以在一定區(qū)域范圍內(nèi)動態(tài)變化調(diào)整,從而可以分散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,降低熱點問題。當(dāng)然,采用了上述的數(shù)據(jù)庫序列管理方式(如通過上述的序列管理器)后,當(dāng)有業(yè)務(wù)請求需要獲取數(shù)據(jù)庫序列時,則可以根據(jù)調(diào)整因子在動態(tài)調(diào)整的取值區(qū)間計算出當(dāng)前數(shù)據(jù)庫序列請求時的調(diào)整后步長,然后為其分配相應(yīng)的數(shù)據(jù)庫序列的序列區(qū)間,達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要。具體的,圖4是實施本申請方案進行數(shù)據(jù)庫序列分配的一個實施方法流程示意圖,如圖4所示,所述方法還可以包括:s3:接收到數(shù)據(jù)庫序列請求時,在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出所述調(diào)整因子的取值;s4:根據(jù)所述調(diào)整因子的取值和所述預(yù)置步長計算出調(diào)整后步長;s5:基于所述調(diào)整后步長計算出所述目標(biāo)數(shù)據(jù)庫中分配給所述數(shù)據(jù)庫序列請求的數(shù)據(jù)庫序列的序列區(qū)間。圖5是本申請一個應(yīng)用場景中數(shù)據(jù)庫序列獲取流程示意圖。利用本申請?zhí)峁┑姆椒?,通過對序列分配參數(shù)進行優(yōu)化,可以實現(xiàn)動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,分散熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。同時,運用本申請?zhí)峁┑膶嵤┓桨缚梢詫崿F(xiàn)sequence動態(tài)分配策略達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要。前述中,為所述預(yù)置步驟設(shè)置的調(diào)整因子有相應(yīng)的取值范圍,如取值范圍可以為[a,b]。在具體的數(shù)據(jù)庫序列管理中需要確定出從數(shù)據(jù)庫所需分配出去的數(shù)據(jù)庫序列的序列區(qū)間時,所述調(diào)整因子在所述取值范圍內(nèi)每一次分配的取值可以不相同,或者在一定時間段或區(qū)間范圍內(nèi)等不相同,實現(xiàn)調(diào)整因子的動態(tài)變化,從而使數(shù)據(jù)庫分配序列期間使用的步長動態(tài)變化,分散應(yīng)用服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點。本申請?zhí)峁┑囊环N實施方式中,可以設(shè)置所述調(diào)整因子在所述取值范圍內(nèi)隨機取值,序列區(qū)間的在一定范圍內(nèi)動態(tài)隨機分配。具體的,本申請所述方法的另一種實施例中,所述在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出取值,可以包括:s100:在計算數(shù)據(jù)庫所需分配的數(shù)據(jù)庫序列的序列區(qū)間時,所述調(diào)整因子在所述取值范圍內(nèi)隨機取值。另一種實施方式中,所述在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出取值,包括:s200:在計算數(shù)據(jù)庫所需分配的數(shù)據(jù)庫序列的序列區(qū)間時,在所述取值范圍內(nèi)根據(jù)數(shù)據(jù)庫序列請求的時間確定所述調(diào)整因子的取值。參照前述調(diào)整因子取值范圍的描述,本實施例中,可以預(yù)先設(shè)置不同時間段的調(diào)整因子的取值。例如在在線購物應(yīng)用服務(wù)器中,消費者通常在線購物的時間段為中午和下班以后,因此,可以設(shè)置當(dāng)數(shù)據(jù)庫序列請求的時間在10:30至13:00、16:30至20:30時間段內(nèi)時增大調(diào)整因子的取值,如在10:30至13:00、16:30至20:30時間段,調(diào)整因子的取值范圍為[a,b]中a和b的取值各加1,或者前述實施例中的k取值為2(分配兩倍預(yù)置步長的序列區(qū)間)。當(dāng)然,其他的實施方式中也可以根據(jù)日期或月份或者分、小時、星期等設(shè)置不同時間段調(diào)整因子的取值方式,如可以“雙十一”期間的時間段10月25日至11月12日時增大調(diào)整因子的取值。本申請?zhí)峁┑囊环N數(shù)據(jù)庫序列的數(shù)據(jù)處理方法,設(shè)計了自適應(yīng)動態(tài)數(shù)據(jù)庫序列分配方法,通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,分散熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。同時,運用本申請?zhí)峁┑膶嵤┓桨缚梢詫崿F(xiàn)sequence動態(tài)分配策略達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要。基于上述實施例所述的一種數(shù)據(jù)庫序列的數(shù)據(jù)處理方法,本申請還提供一種數(shù)據(jù)庫序列的數(shù)據(jù)處理裝置。具體的一種實施例中,所述裝置可以包括:處理單元,可以用于獲取目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)庫序列的預(yù)置步長,確定所述預(yù)置步長的調(diào)整因子,所述調(diào)整因子與所述預(yù)置步長相關(guān)聯(lián),且所述調(diào)整因子在取值范圍內(nèi)按照預(yù)定方式確定出取值;還用于當(dāng)接收到步長調(diào)整的指令時,根據(jù)所述指令調(diào)整所述調(diào)整因子的取值范圍。本申請?zhí)峁┑囊环N數(shù)據(jù)庫序列的數(shù)據(jù)處理裝置,可以通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,分散熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。參照前述方法實施例所述,所述裝置其他的實施例中,所述調(diào)整因子的取值范圍為[a,b],a和b為大于等于0的區(qū)間端點,且b大于a。當(dāng)然,進一步的,另一個實施例中,所述取值范圍中的區(qū)間端點b被設(shè)置成:b=a+1。在具體的數(shù)據(jù)庫序列管理中需要確定出從數(shù)據(jù)庫所需分配出去的數(shù)據(jù)庫序列的序列區(qū)間時,所述調(diào)整因子在所述取值范圍內(nèi)每一次分配的取值可以不相同,或者在一定時間段或區(qū)間范圍內(nèi)等不相同,實現(xiàn)調(diào)整因子的動態(tài)變化,從而使數(shù)據(jù)庫分配序列期間使用的步長動態(tài)變化,分散應(yīng)用服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點。本申請?zhí)峁┑囊环N實施方式中,可以設(shè)置所述調(diào)整因子在所述取值范圍內(nèi)隨機取值,序列區(qū)間的在一定范圍內(nèi)動態(tài)隨機分配。因此,本申請?zhí)峁┧鲅b置的另一種實施例中,所述在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出取值,包括:在計算數(shù)據(jù)庫所需分配的數(shù)據(jù)庫序列的序列區(qū)間時,所述調(diào)整因子在所述取值范圍內(nèi)隨機取值。本申請所述的方法或裝置可以應(yīng)用在多種應(yīng)用服務(wù)器的數(shù)據(jù)庫序列處理實施環(huán)境中,可以有效提高服務(wù)器性能,并靈活適配多種業(yè)務(wù)需要。因此,本申請還提供一種服務(wù)器,具體的可以包括包括緩存、i/o接口、處理器,所述緩存用于存儲分配的數(shù)據(jù)庫序列區(qū)間;i/o接口,耦合于緩存與處理器,用于將處理器計算得到的數(shù)據(jù)庫序列區(qū)間存儲到緩存;所述處理器被設(shè)置成,用于獲取目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)庫序列的預(yù)置步長,確定所述預(yù)置步長的調(diào)整因子;還用于接收到數(shù)據(jù)庫序列請求時,在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出所述調(diào)整因子的取值,以及根據(jù)所述調(diào)整因子的取值和所述預(yù)置步長計算出調(diào)整后步長,基于所述調(diào)整后步長計算出所述數(shù)據(jù)庫序列表中分配給所述數(shù)據(jù)庫序列請求的數(shù)據(jù)庫序列的序列區(qū)間。本申請所述的服務(wù)器中的調(diào)整因子的取值范圍可以動態(tài)調(diào)節(jié),因此所述處理器被設(shè)置成,還用于當(dāng)接收到步長調(diào)整的指令時,根據(jù)所述指令調(diào)整所述調(diào)整因子的取值范圍。圖6是本申請?zhí)峁┑囊环N服務(wù)器的模塊結(jié)構(gòu)示意圖。本申請?zhí)峁┑姆?wù)器,提供了自適應(yīng)動態(tài)數(shù)據(jù)庫序列分配策略,通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,分散熱點問題,減小數(shù)據(jù)庫壓力,提高服務(wù)器性能。同時,運用本申請?zhí)峁┑膶嵤┓桨缚梢詫崿F(xiàn)sequence動態(tài)分配策略達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要。參照前述方法或裝置實施例所述,所述服務(wù)器其他的實施例中,所述調(diào)整因子的取值范圍為[a,b],a和b為大于等于0的區(qū)間端點,且b大于a。當(dāng)然,進一步的,另一個實施例中,所述取值范圍中的區(qū)間端點b被設(shè)置成:b=a+1。在具體的數(shù)據(jù)庫序列管理中需要確定出從數(shù)據(jù)庫所需分配出去的數(shù)據(jù)庫序列的序列區(qū)間時,所述調(diào)整因子在所述取值范圍內(nèi)每一次分配的取值可以不相同,或者在一定時間段或區(qū)間范圍內(nèi)等不相同,實現(xiàn)調(diào)整因子的動態(tài)變化,從而使數(shù)據(jù)庫分配序列期間使用的步長動態(tài)變化,分散應(yīng)用服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點。本申請?zhí)峁┑囊环N實施方式中,可以設(shè)置所述調(diào)整因子在所述取值范圍內(nèi)隨機取值,序列區(qū)間的在一定范圍內(nèi)動態(tài)隨機分配。因此,本申請?zhí)峁┧龇?wù)器的另一種實施例中,所述在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出取值,包括:在計算數(shù)據(jù)庫所需分配的數(shù)據(jù)庫序列的序列區(qū)間時,所述調(diào)整因子在所述取值范圍內(nèi)隨機取值。本申請?zhí)峁┑姆?wù)器,可以通過對序列分配參數(shù)進行優(yōu)化,動態(tài)調(diào)整分配序列區(qū)間的大小,使得不同應(yīng)用服務(wù)器獲取到大小不同的序列區(qū)間,從而打散服務(wù)器請求數(shù)據(jù)庫獲取序列區(qū)間的時間點,降低熱點問題,降低服務(wù)器訪問數(shù)據(jù)庫的壓力。同時運用sequence動態(tài)分配策略達(dá)到序列區(qū)間自適應(yīng)調(diào)整的目的,能夠靈活的適配業(yè)務(wù)需要。因此,本申請所述服務(wù)器的另一種實施例中,所述處理器還可以用于接收到數(shù)據(jù)庫序列請求時,在調(diào)整因子的取值范圍內(nèi)按照預(yù)定方式確定出所述調(diào)整因子的取值;還用于根據(jù)所述調(diào)整因子的取值和所述預(yù)置步長計算出調(diào)整后步長,以及基于所述調(diào)整后步長計算出所述數(shù)據(jù)庫序列表中分配給所述數(shù)據(jù)庫序列請求的數(shù)據(jù)庫序列的序列區(qū)間。本申請實施方案可使用java語言等,結(jié)合必要的硬件環(huán)境或操作系統(tǒng)、數(shù)據(jù)庫jdk1.6.0_21、mysql5.0.5等實現(xiàn)。盡管本申請內(nèi)容中提到調(diào)整因子的隨機取值方式、調(diào)整因子取值范圍的調(diào)整方式、調(diào)整因子的定義計算等之類的數(shù)據(jù)定義、獲取、交互、計算、判斷等描述,但是,本申請并不局限于必須是符合行業(yè)通信標(biāo)準(zhǔn)、標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)、標(biāo)準(zhǔn)數(shù)據(jù)庫數(shù)據(jù)處理方法或本申請實施例所描述的情況。某些行業(yè)標(biāo)準(zhǔn)或者使用自定義方式或?qū)嵤├枋龅膶嵤┗A(chǔ)上略加修改后的實施方案也可以實現(xiàn)上述實施例相同、等同或相近、或變形后可預(yù)料的實施效果。應(yīng)用這些修改或變形后的數(shù)據(jù)獲取、存儲、判斷、處理方式等獲取的實施例,仍然可以屬于本申請的可選實施方案范圍之內(nèi)。在20世紀(jì)90年代,對于一個技術(shù)的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進。設(shè)計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路??刂破骺梢园慈魏芜m當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、車載人機交互設(shè)備、蜂窩電話、相機電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺、平板計算機、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。雖然本申請?zhí)峁┝巳鐚嵤├蛄鞒虉D所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的手段可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實際中的裝置或終端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境,甚至為分布式數(shù)據(jù)處理環(huán)境)。術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、產(chǎn)品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、產(chǎn)品或者設(shè)備所固有的要素。在沒有更多限制的情況下,并不排除在包括所述要素的過程、方法、產(chǎn)品或者設(shè)備中還存在另外的相同或等同要素。為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。當(dāng)然,在實施本申請時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn),也可以將實現(xiàn)同一功能的模塊由多個子模塊或子單元的組合實現(xiàn)等。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)部包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。本發(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)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1