本發(fā)明涉及訂單處理技術(shù),尤其涉及一種訂單處理方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)電商推出一種秒殺營(yíng)銷模式,秒殺就是大量用戶同時(shí)搶購(gòu)?fù)环N商品,在短時(shí)間內(nèi)大量用戶同時(shí)進(jìn)行購(gòu)買,造成服務(wù)器的訪問(wèn)量瞬間變大,很容易出現(xiàn)“超賣”現(xiàn)象。
目前有關(guān)秒殺的技術(shù)大多是采用虛擬庫(kù)存方式進(jìn)行分庫(kù)處理,具體方案是:首先,將庫(kù)存數(shù)據(jù)按照庫(kù)存分配策略劃分為一個(gè)預(yù)留倉(cāng)和多個(gè)虛擬倉(cāng);系統(tǒng)接收到用戶創(chuàng)建的訂單請(qǐng)求后,當(dāng)訂單隊(duì)列監(jiān)控以及動(dòng)態(tài)虛擬庫(kù)存分倉(cāng)模塊判斷需要對(duì)虛擬倉(cāng)的數(shù)量進(jìn)行調(diào)整時(shí),調(diào)用數(shù)據(jù)庫(kù)存存儲(chǔ)過(guò)程功能模塊的相關(guān)存儲(chǔ)過(guò)程實(shí)現(xiàn)對(duì)虛擬倉(cāng)數(shù)量的調(diào)整;接下來(lái),根據(jù)訂單明細(xì)中是否包含緊缺產(chǎn)品和當(dāng)前系統(tǒng)是否啟用了虛擬庫(kù)存方案,確定當(dāng)前訂單處理是扣減預(yù)留倉(cāng)庫(kù)存還是扣減虛擬倉(cāng)庫(kù)存;若虛擬倉(cāng)庫(kù)存足夠,則選擇扣減虛擬倉(cāng)庫(kù)存,由虛擬倉(cāng)選擇計(jì)數(shù)器以輪詢方式為每個(gè)訂單分配虛擬倉(cāng),訂單根據(jù)分配的虛擬倉(cāng)進(jìn)行庫(kù)存扣減處理,扣減庫(kù)存成功后,將訂單創(chuàng)建成功的消息返回用戶。由上述可知,采用虛擬庫(kù)存方式進(jìn)行分庫(kù)處理的方法并不能解決在秒殺瞬間高并發(fā)的購(gòu)買請(qǐng)求造成的“超賣”現(xiàn)象,同時(shí),虛擬倉(cāng)的庫(kù)存扣減處理需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,而頻繁對(duì)數(shù)據(jù)庫(kù)的進(jìn)行直接操作容易對(duì)數(shù)據(jù)庫(kù)的性能產(chǎn)生不良影響。
因此,如何在秒殺過(guò)程中解決高并發(fā)的購(gòu)買請(qǐng)求造成的“超賣”現(xiàn)象,同時(shí),在訂單處理過(guò)程中,避免頻繁對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作是目前待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例期望提供一種訂單處理方法及裝置, 能夠解決在秒殺過(guò)程中高并發(fā)的購(gòu)買請(qǐng)求導(dǎo)致的“超賣”現(xiàn)象,同時(shí),在訂單處理過(guò)程中避免頻繁對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,以免對(duì)數(shù)據(jù)庫(kù)的性能產(chǎn)生不良影響。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明實(shí)施例提供了一種訂單處理的方法,所述方法包括:
當(dāng)接收到的購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件時(shí),按照顯示庫(kù)存數(shù),對(duì)全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求數(shù)量進(jìn)行第一級(jí)限制,得到第一級(jí)限制后的所述購(gòu)買請(qǐng)求;
按照扣減庫(kù)存數(shù),對(duì)第一級(jí)限制后的所述購(gòu)買請(qǐng)求數(shù)量進(jìn)行第二級(jí)限制,得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求;
按照不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理。
在上述方案中,所述購(gòu)買請(qǐng)求,包括:
所述購(gòu)買請(qǐng)求的發(fā)送源地址標(biāo)識(shí)、所述購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間和所述購(gòu)買請(qǐng)求的用戶標(biāo)識(shí)。
在上述方案中,所述購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件,包括:
所述購(gòu)買請(qǐng)求滿足購(gòu)買條件,且所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證。
在上述方案中,所述購(gòu)買請(qǐng)求滿足購(gòu)買條件,包括:
當(dāng)使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù)不超過(guò)閾值,且所述購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間離搶購(gòu)開(kāi)始時(shí)間的間隔小于一分鐘時(shí),所述購(gòu)買請(qǐng)求滿足搶購(gòu)條件;
或,當(dāng)使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù)超過(guò)兩次,但所述兩次購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間的間隔大于五分鐘時(shí),所述購(gòu)買請(qǐng)求滿足購(gòu)買條件。
在上述方案中,所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證,包括:
當(dāng)所述購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)相匹配時(shí),所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證;
當(dāng)所述購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與所述預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí) 不匹配時(shí),所述購(gòu)買請(qǐng)求沒(méi)有通過(guò)權(quán)限驗(yàn)證。
在上述方案中,所述按照顯示庫(kù)存數(shù),對(duì)全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求數(shù)量進(jìn)行第一級(jí)限制,得到第一級(jí)限制后的所述購(gòu)買請(qǐng)求,包括:
將全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求放入第一緩存,并獲取所述第一緩存中所述購(gòu)買請(qǐng)求數(shù)量;
當(dāng)顯示庫(kù)存數(shù)大于0時(shí),按照所述第一緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)所述顯示庫(kù)存數(shù)進(jìn)行扣減處理;
得到扣減處理成功的所述購(gòu)買請(qǐng)求,并更新所述顯示庫(kù)存數(shù)。
在上述方案中,所述按照扣減庫(kù)存數(shù),對(duì)第一級(jí)限制后的所述購(gòu)買請(qǐng)求數(shù)量進(jìn)行第二級(jí)限制,得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,包括:
將在第一緩存中扣減處理成功的所述購(gòu)買請(qǐng)求放入第二緩存,并獲取所述第二緩存中所述購(gòu)買請(qǐng)求數(shù)量;
當(dāng)扣減庫(kù)存數(shù)大于0時(shí),按照所述第二緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)所述扣減庫(kù)存數(shù)進(jìn)行扣減處理;
得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,并更新所述扣減庫(kù)存數(shù)。
第二方面,本發(fā)明實(shí)施例提供了一種訂單處理的裝置,包括:第一限制單元、第二限制單元和更新單元;其中,
所述第一限制單元,用于當(dāng)接收到的購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件時(shí),按照顯示庫(kù)存數(shù),對(duì)全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求數(shù)量進(jìn)行第一級(jí)限制,得到第一級(jí)限制后的所述購(gòu)買請(qǐng)求;
所述第二限制單元,用于按照扣減庫(kù)存數(shù),對(duì)所述第一限制單元處理后的所述購(gòu)買請(qǐng)求數(shù)量進(jìn)行第二級(jí)限制,得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求;
所述更新單元,用于按照不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理。
在上述方案中,所述購(gòu)買請(qǐng)求,包括:
所述購(gòu)買請(qǐng)求的發(fā)送源地址標(biāo)識(shí)、所述購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間和所述購(gòu)買請(qǐng)求的用戶標(biāo)識(shí)。
在上述方案中,所述購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件,包括:
所述購(gòu)買請(qǐng)求滿足購(gòu)買條件,且所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證。
在上述方案中,所述裝置還包括:驗(yàn)證單元;其中,
驗(yàn)證單元用于當(dāng)使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù)不超過(guò)閾值,且所述購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間離搶購(gòu)開(kāi)始時(shí)間的間隔小于一分鐘時(shí),所述購(gòu)買請(qǐng)求滿足搶購(gòu)條件;
或,當(dāng)使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù)超過(guò)兩次,但所述兩次購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間的間隔大于五分鐘時(shí),所述購(gòu)買請(qǐng)求滿足購(gòu)買條件。
在上述方案中,所述驗(yàn)證單元,具體用于
當(dāng)所述購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)相匹配時(shí),所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證;
當(dāng)所述購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與所述預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)不匹配時(shí),所述購(gòu)買請(qǐng)求沒(méi)有通過(guò)權(quán)限驗(yàn)證。
在上述方案中,所述第一限制單元,具體用于
將全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求放入第一緩存,并獲取所述第一緩存中所述購(gòu)買請(qǐng)求數(shù)量;
當(dāng)顯示庫(kù)存數(shù)大于0時(shí),按照所述第一緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)所述顯示庫(kù)存數(shù)進(jìn)行扣減處理;
得到扣減處理成功的所述購(gòu)買請(qǐng)求,并更新所述顯示庫(kù)存數(shù)。
在上述方案中,所述第二限制單元,具體用于
將在第一緩存中扣減處理成功的所述購(gòu)買請(qǐng)求放入第二緩存,并獲取所述第二緩存中所述購(gòu)買請(qǐng)求數(shù)量;
當(dāng)扣減庫(kù)存數(shù)大于0時(shí),按照所述第二緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)所述扣減庫(kù)存數(shù)進(jìn)行扣減處理;
得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,并更新所述扣減庫(kù)存數(shù)。
本發(fā)明實(shí)施例提供了一種訂單處理方法及裝置,通過(guò)在訂單處理過(guò)程中對(duì)高并發(fā)的購(gòu)買請(qǐng)求數(shù)量依次進(jìn)行第一級(jí)限制和第二級(jí)限制,降低購(gòu)買請(qǐng)求的并 發(fā)量,進(jìn)而解決高并發(fā)的購(gòu)買請(qǐng)求導(dǎo)致的“超賣”現(xiàn)象;同時(shí),大部分的訂單處理均在內(nèi)存中完成,這樣能夠避免頻繁對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,以免對(duì)數(shù)據(jù)庫(kù)的性能產(chǎn)生不良影響。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的一種訂單處理方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的另一種訂單處理方法的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的再一種訂單處理方法的流程示意圖;
圖4為本發(fā)明實(shí)施例提供的又一種訂單處理方法的流程示意圖;
圖5為本發(fā)明實(shí)施例提供的第五種訂單處理方法的流程示意圖;
圖6為本發(fā)明實(shí)施例提供的一種訂單處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例提供的一種訂單處理系統(tǒng)的流程示意圖;
圖8為本發(fā)明實(shí)施例提供的一種訂單處理裝置的一種結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例提供的一種訂單處理裝置的另一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
實(shí)施例一
參見(jiàn)圖1,其示出了本發(fā)明實(shí)施例提供的一種訂單處理方法,該方法可以包括:
s101:接收購(gòu)買請(qǐng)求,確定該購(gòu)買請(qǐng)求是否滿足預(yù)設(shè)的驗(yàn)證條件;
需要說(shuō)明的是,購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件包括該購(gòu)買請(qǐng)求滿足搶購(gòu)條件,且該購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證;其中,購(gòu)買請(qǐng)求包括該購(gòu)買請(qǐng)求的發(fā)送源地址標(biāo)識(shí)、該購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間和該購(gòu)買請(qǐng)求的用戶標(biāo)識(shí)。
其中,s101的實(shí)現(xiàn)過(guò)程具體可以包括:
s1011:接收購(gòu)買請(qǐng)求,確定該購(gòu)買請(qǐng)求是否滿足搶購(gòu)條件;
需要說(shuō)明的是,在確定購(gòu)買請(qǐng)求是否滿足搶購(gòu)條件之前,需要在前端頁(yè)面上顯示商品的顯示庫(kù)存數(shù)并確定該顯示庫(kù)存數(shù)是否大于0;其中,在前端頁(yè)面上顯示的顯示庫(kù)存數(shù)用于向用戶展示商品當(dāng)前的剩余庫(kù)存。當(dāng)顯示庫(kù)存數(shù)大于0時(shí),購(gòu)買請(qǐng)求進(jìn)入下一個(gè)搶購(gòu)流程;當(dāng)顯示庫(kù)存數(shù)等于0時(shí),表示商品已經(jīng)售完,終止該搶購(gòu)請(qǐng)求的搶購(gòu)流程。由于從用戶角度來(lái)看,商品的庫(kù)存數(shù)小于0不符合常識(shí),因此,顯示庫(kù)存數(shù)必須大于或等于0。
在具體實(shí)施過(guò)程中,在確定購(gòu)買請(qǐng)求是否滿足搶購(gòu)條件之前,還需要設(shè)置一個(gè)閾值,用來(lái)限制使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù);其中,購(gòu)買請(qǐng)求的發(fā)送源地址標(biāo)識(shí)具體可以是購(gòu)買請(qǐng)求使用的ip地址。當(dāng)使用同一ip地址的購(gòu)買請(qǐng)求的數(shù)量不超過(guò)該閾值,且該購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間距離搶購(gòu)開(kāi)始時(shí)間的間隔小于一分鐘時(shí),該搶購(gòu)請(qǐng)求滿足搶購(gòu)條件;或者,當(dāng)使用同一ip地址的購(gòu)買請(qǐng)求的數(shù)量超過(guò)兩次,但兩次購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間的間隔大于五分鐘時(shí),該購(gòu)買請(qǐng)求滿足搶購(gòu)條件。這樣,可以防止用戶使用秒殺工具發(fā)起高并發(fā)的購(gòu)買請(qǐng)求。
若購(gòu)買請(qǐng)求滿足搶購(gòu)條件,則該購(gòu)買請(qǐng)求獲取系統(tǒng)發(fā)放的正確的令牌,憑借正確的令牌可以進(jìn)入下一步的搶購(gòu)流程;若否,則該購(gòu)買請(qǐng)求無(wú)法獲得系統(tǒng)發(fā)放的令牌或獲得系統(tǒng)發(fā)放的令牌為錯(cuò)誤令牌,從而導(dǎo)致該購(gòu)買請(qǐng)求無(wú)法進(jìn)入下一步的搶購(gòu)流程,此時(shí),終止該購(gòu)買請(qǐng)求的搶購(gòu)流程。
s1012:當(dāng)該購(gòu)買請(qǐng)求滿足搶購(gòu)條件時(shí),對(duì)該購(gòu)買請(qǐng)求進(jìn)行權(quán)限驗(yàn)證。
需要說(shuō)明的是,在對(duì)購(gòu)買請(qǐng)求進(jìn)行權(quán)限驗(yàn)證之前,需要預(yù)設(shè)具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí);其中,用戶標(biāo)識(shí)具體可以用相關(guān)字節(jié)中的1或0來(lái)表示。
在具體實(shí)施過(guò)程中,通過(guò)與大數(shù)據(jù)精確營(yíng)銷平臺(tái)對(duì)接來(lái)獲取購(gòu)買請(qǐng)求的用戶標(biāo)識(shí),比如黑名單、4g用戶、中高端用戶、每用戶平均收入(arpu,averagerevenueperuser)等。當(dāng)購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)相匹配時(shí),該購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證,進(jìn)入下一步的搶購(gòu)流程;當(dāng)購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)不匹配時(shí),該購(gòu)買請(qǐng)求沒(méi)有通過(guò)權(quán)限驗(yàn)證,終止該購(gòu)買請(qǐng)求的搶購(gòu)流程。
s102:按照顯示庫(kù)存數(shù),對(duì)全部滿足該驗(yàn)證條件的購(gòu)買請(qǐng)求數(shù)量進(jìn)行第一級(jí)限制,得到第一級(jí)限制后的該購(gòu)買請(qǐng)求;
其中,s102的實(shí)現(xiàn)過(guò)程具體可以包括:
s1021:將全部滿足該驗(yàn)證條件的購(gòu)買請(qǐng)求放入第一緩存,并獲取該第一緩存中該購(gòu)買請(qǐng)求的數(shù)量;
在具體實(shí)施過(guò)程中,將全部滿足搶購(gòu)條件且通過(guò)權(quán)限驗(yàn)證的購(gòu)買請(qǐng)求放入第一緩存區(qū)的隊(duì)列,并獲取第一緩存區(qū)的隊(duì)列中購(gòu)買請(qǐng)求的數(shù)量;其中,第一緩存區(qū)的大小可以根據(jù)實(shí)際情況設(shè)定。當(dāng)搶購(gòu)請(qǐng)求數(shù)量過(guò)大時(shí),可能會(huì)超過(guò)第一緩存區(qū)的容納限度,此時(shí),會(huì)有部分滿足搶購(gòu)條件且通過(guò)權(quán)限驗(yàn)證的購(gòu)買請(qǐng)求被擠出,導(dǎo)致這部分購(gòu)買請(qǐng)求的搶購(gòu)流程被終止。
需要說(shuō)明的是,為了獲取第一緩存區(qū)的隊(duì)列中購(gòu)買請(qǐng)求數(shù)量,需要對(duì)第一緩存區(qū)的隊(duì)列中購(gòu)買請(qǐng)求數(shù)量進(jìn)行統(tǒng)計(jì)處理。在統(tǒng)計(jì)第一緩存區(qū)的隊(duì)列中購(gòu)買請(qǐng)求數(shù)量時(shí),對(duì)同一個(gè)購(gòu)買請(qǐng)求的統(tǒng)計(jì)處理只能進(jìn)行一次。因?yàn)榈谝痪彺鎱^(qū)的隊(duì)列中購(gòu)買請(qǐng)求是滾動(dòng)更新的,新的購(gòu)買請(qǐng)求進(jìn)入第一緩存區(qū)的隊(duì)列的同時(shí),已經(jīng)經(jīng)過(guò)后續(xù)全部處理后的購(gòu)買請(qǐng)求也在退出第一緩存區(qū)的隊(duì)列,這樣在進(jìn)行統(tǒng)計(jì)處理時(shí),有些已經(jīng)包含在上一次統(tǒng)計(jì)處理的統(tǒng)計(jì)結(jié)果中的購(gòu)買請(qǐng)求可能還沒(méi)有來(lái)得及退出第一緩存區(qū)的隊(duì)列,導(dǎo)致在此次統(tǒng)計(jì)處理中,對(duì)已經(jīng)包含在之前的統(tǒng)計(jì)處理的統(tǒng)計(jì)結(jié)果中的購(gòu)買請(qǐng)求進(jìn)行了二次統(tǒng)計(jì)。因此,為了保證購(gòu)買請(qǐng)求數(shù)量的準(zhǔn)確性,對(duì)一個(gè)購(gòu)買請(qǐng)求只能進(jìn)行一次統(tǒng)計(jì)處理。
s1022:當(dāng)顯示庫(kù)存數(shù)大于0時(shí),按照該第一緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)該顯示庫(kù)存數(shù)進(jìn)行扣減處理;
在具體實(shí)施過(guò)程中,需要先確定顯示庫(kù)存數(shù)是否大于0;若顯示庫(kù)存數(shù)大于0,則根據(jù)第一緩存中購(gòu)買請(qǐng)求的數(shù)量,對(duì)顯示庫(kù)存數(shù)進(jìn)行扣減處理;若否,則終止該購(gòu)買請(qǐng)求的搶購(gòu)流程。
s1023:得到扣減處理成功的該購(gòu)買請(qǐng)求,并更新該顯示庫(kù)存數(shù)。
在具體實(shí)施過(guò)程中,還需要在前端頁(yè)面上將更新后的顯示庫(kù)存數(shù)作為商品當(dāng)前的剩余庫(kù)存數(shù)展示給用戶。由于顯示庫(kù)存數(shù)必須大于或等于0,因此,即 使更新后的顯示庫(kù)存數(shù)小于0,為了顧及用戶的感受,顯示庫(kù)存數(shù)仍舊顯示為0。
需要說(shuō)明的是,對(duì)第一緩存區(qū)的隊(duì)列的扣減處理采用鎖機(jī)制,在扣減處理之前,使用同步鎖進(jìn)行鎖定,在扣減處理完成并更新庫(kù)存數(shù)后,解除鎖定。這樣,能夠避免多個(gè)扣減處理并發(fā)執(zhí)行,影響購(gòu)買請(qǐng)求數(shù)量的準(zhǔn)確性。
s103:按照扣減庫(kù)存數(shù),對(duì)第一級(jí)限制后的該購(gòu)買請(qǐng)求的數(shù)量進(jìn)行第二級(jí)限制,得到不超過(guò)真實(shí)庫(kù)存數(shù)量的該購(gòu)買請(qǐng)求;
其中,s103的實(shí)現(xiàn)過(guò)程具體可以包括:
s1031:將在第一緩存中扣減處理成功的購(gòu)買請(qǐng)求放入第二緩存,并獲取第二緩存中購(gòu)買請(qǐng)求數(shù)量;
s1032:當(dāng)扣減庫(kù)存數(shù)大于0時(shí),根據(jù)該第二緩存中購(gòu)買請(qǐng)求數(shù)量,對(duì)該扣減庫(kù)存數(shù)進(jìn)行扣減處理;
在具體實(shí)施過(guò)程中,需要先確定扣減庫(kù)存數(shù)是否大于0;若扣減庫(kù)存數(shù)大于0,則根據(jù)所述第二緩存中所述購(gòu)買請(qǐng)求的數(shù)量,對(duì)所述扣減庫(kù)存數(shù)進(jìn)行扣減處理;若否,則終止所述購(gòu)買請(qǐng)求的搶購(gòu)流程。
具體來(lái)說(shuō),對(duì)第二緩存區(qū)的隊(duì)列中的扣減處理采用排隊(duì)機(jī)制和鎖機(jī)制,每次的扣減處理只針對(duì)一個(gè)購(gòu)買請(qǐng)求,在對(duì)一個(gè)購(gòu)買請(qǐng)求進(jìn)行扣減處理時(shí),其他購(gòu)買請(qǐng)求在排隊(duì)等候,這樣依次對(duì)第二緩存區(qū)的隊(duì)列中的購(gòu)買請(qǐng)求進(jìn)行扣減處理,以保證數(shù)據(jù)的安全性。同時(shí),在每次扣減處理之前,需要使用同步鎖鎖定,本次扣減處理完成之后,再解除鎖定,這樣,能夠防止多個(gè)購(gòu)買請(qǐng)求同時(shí)進(jìn)行扣減處理,影響購(gòu)買請(qǐng)求數(shù)量的準(zhǔn)確性。
s1033:得到不超過(guò)真實(shí)庫(kù)存數(shù)量的該購(gòu)買請(qǐng)求,并更新該扣減庫(kù)存數(shù)。
在具體實(shí)施過(guò)程中,扣減庫(kù)存數(shù)只用于在第二緩存中進(jìn)行扣減控制,不會(huì)顯示在前端頁(yè)面上,因此,扣減庫(kù)存數(shù)可以小于0,并且當(dāng)扣減庫(kù)存數(shù)小于0時(shí)不會(huì)影響正常的搶購(gòu)流程。
s104:按照不超過(guò)真實(shí)庫(kù)存數(shù)量的該購(gòu)買請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理。
其中,s104的實(shí)現(xiàn)過(guò)程具體可以包括:
s1041:將不超過(guò)真實(shí)庫(kù)存數(shù)量的購(gòu)買請(qǐng)求放入物理庫(kù)請(qǐng)求隊(duì)列;
s1042:按照不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理。
在具體實(shí)施過(guò)程中,mysql數(shù)據(jù)庫(kù)根據(jù)物理庫(kù)請(qǐng)求隊(duì)列中購(gòu)買請(qǐng)求,采用updatea=a-1wherea>0的基本控制方式對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理,并根據(jù)mysql數(shù)據(jù)庫(kù)的處理結(jié)果判斷是否執(zhí)行成功,搶購(gòu)流程結(jié)束。
需要說(shuō)明的是,本發(fā)明方案中涉及三個(gè)庫(kù)存數(shù),分別是內(nèi)存中的顯示庫(kù)存數(shù)和扣減庫(kù)存數(shù),以及數(shù)據(jù)庫(kù)中的庫(kù)存數(shù),這三個(gè)庫(kù)存數(shù)的初始數(shù)值均相同,但在訂單處理過(guò)程中互不影響。在訂單處理過(guò)程中的s101~s103中只對(duì)內(nèi)存中的顯示庫(kù)存數(shù)和扣減庫(kù)存數(shù)進(jìn)行扣減,在s104中才會(huì)對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行扣減。當(dāng)對(duì)內(nèi)存中的扣減庫(kù)存數(shù)和顯示庫(kù)存數(shù)進(jìn)行初始化時(shí),需要先將數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)讀取到內(nèi)存中的扣減庫(kù)存數(shù)中,在從扣減庫(kù)存數(shù)中讀取到顯示庫(kù)存數(shù)。另外,在第一緩存區(qū)的隊(duì)列中,顯示庫(kù)存數(shù)不僅用于限制購(gòu)買請(qǐng)求數(shù)量,還用于在前端頁(yè)面向用戶顯示商品當(dāng)前的剩余庫(kù)存,因此,顯示庫(kù)存數(shù)必須大于或等于0;而在第二緩存區(qū)的隊(duì)列中,扣減內(nèi)存數(shù)只用于限制購(gòu)買請(qǐng)求的數(shù)量,因此,扣減庫(kù)存數(shù)可以小于0。
還需要說(shuō)明的是,在訂單處理過(guò)程中,除了s104以外,其他處理過(guò)程都是在內(nèi)存中執(zhí)行的。這樣,能夠減少對(duì)數(shù)據(jù)庫(kù)直接操作的次數(shù),避免對(duì)數(shù)據(jù)庫(kù)的性能產(chǎn)生不良影響,同時(shí),加快前端頁(yè)面顯示商品當(dāng)前的剩余庫(kù)存數(shù)的速度,提升用戶體驗(yàn)。
另外,針對(duì)第一緩存區(qū)的隊(duì)列和第二緩存區(qū)的隊(duì)列,需要進(jìn)一步說(shuō)明的是,由于數(shù)據(jù)庫(kù)在處理高并發(fā)購(gòu)買請(qǐng)求時(shí),很容易出現(xiàn)“超賣”現(xiàn)象。因此,在對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理之前,先依次使用兩個(gè)隊(duì)列來(lái)實(shí)現(xiàn)對(duì)高并發(fā)購(gòu)買請(qǐng)求的數(shù)量限制,逐層降低購(gòu)買請(qǐng)求的并發(fā)量;其中,兩個(gè)隊(duì)列具體可以為第一緩存區(qū)中的隊(duì)列和第二緩存中的隊(duì)列。在具體實(shí)施過(guò)程中,依次使用顯示庫(kù)存數(shù)和扣減庫(kù)存數(shù)分別對(duì)第一緩存區(qū)的隊(duì)列中的購(gòu)買請(qǐng)求的數(shù)量和第二緩存區(qū)的隊(duì)列中的購(gòu)買請(qǐng)求的數(shù)量進(jìn)行限制,這樣,當(dāng)搶購(gòu)流程進(jìn)行到數(shù)據(jù)庫(kù)處理 庫(kù)存數(shù)這一步時(shí),購(gòu)買請(qǐng)求的并發(fā)量已經(jīng)降到最低。
具體來(lái)說(shuō),在搶購(gòu)時(shí)的高并發(fā)場(chǎng)景下,由于大量購(gòu)買請(qǐng)求瞬間涌入第一緩存區(qū)中的隊(duì)列,很容易因庫(kù)存數(shù)更新不及時(shí)而導(dǎo)致的多扣庫(kù)存數(shù)現(xiàn)象,也就是說(shuō),在高并發(fā)場(chǎng)景下,在第一緩存區(qū)的隊(duì)列中扣減處理成功的購(gòu)買請(qǐng)求數(shù)量可能已經(jīng)超過(guò)了商品真實(shí)的庫(kù)存數(shù)量;接下來(lái),將第一緩存中的隊(duì)列中扣減處理成功的購(gòu)買請(qǐng)求放入第二緩存區(qū)中的隊(duì)列,在第二緩存區(qū)的隊(duì)列中再次對(duì)購(gòu)買請(qǐng)求數(shù)量進(jìn)行限制;其中,第一緩存區(qū)的隊(duì)列和第二緩存區(qū)的隊(duì)列分別使用了獨(dú)立的庫(kù)存數(shù)來(lái)計(jì)算購(gòu)買請(qǐng)求數(shù)量。這樣,即使第一緩存區(qū)的隊(duì)列沒(méi)有限制住部分購(gòu)買請(qǐng)求,允許部分已經(jīng)超過(guò)商品真實(shí)的庫(kù)存數(shù)量的購(gòu)買請(qǐng)求進(jìn)入了第二緩存區(qū)的隊(duì)列,但是,在第二緩存區(qū)的隊(duì)列的扣減處理中,能夠?yàn)V出該部分“多余的”購(gòu)買請(qǐng)求,使得搶購(gòu)請(qǐng)求的數(shù)量在數(shù)據(jù)庫(kù)更新庫(kù)存數(shù)之前,限制在商品真實(shí)的庫(kù)存數(shù)量范圍內(nèi),最大程度降低購(gòu)買請(qǐng)求的并發(fā)量。如此,不僅解決了高并發(fā)的購(gòu)買請(qǐng)求導(dǎo)致的“超賣”現(xiàn)象,同時(shí)提高了搶購(gòu)結(jié)果的準(zhǔn)確性,為用戶提供更佳的購(gòu)物體驗(yàn)。
在具體實(shí)施過(guò)程中,實(shí)施例一可以由一種訂單處理系統(tǒng)來(lái)實(shí)現(xiàn):該訂單處理系統(tǒng)由前端控制層、內(nèi)存控制層和數(shù)據(jù)庫(kù)控制層這三個(gè)部分組成;其中,前端控制層包括訪問(wèn)控制單元、庫(kù)存顯示單元、權(quán)限驗(yàn)證單元和第一緩存隊(duì)列,內(nèi)存控制層包括第一扣減單元、第二扣減單元和第二緩存隊(duì)列,數(shù)據(jù)庫(kù)控制層包括物理庫(kù)請(qǐng)求隊(duì)列和數(shù)據(jù)庫(kù)扣減單元;其中,該訂單處理系統(tǒng)的結(jié)構(gòu)如圖6所示,圖中的箭頭表示訂單處理的流程順序,在具體應(yīng)用中,需要根據(jù)接收到的購(gòu)買請(qǐng)求,循環(huán)執(zhí)行訂單處理的流程,因此圖中箭頭的指向?qū)⒃撚唵翁幚硐到y(tǒng)組合成了一個(gè)循環(huán)系統(tǒng)。
在該訂單處理系統(tǒng)中,各個(gè)單元或隊(duì)列的功能如圖7所示,包括:
s701:庫(kù)存顯示單元用于在前端頁(yè)面向用戶顯示當(dāng)前的顯示庫(kù)存數(shù);
s702:訪問(wèn)控制單元用于確定接收的購(gòu)買請(qǐng)求是否滿足搶購(gòu)條件;
在具體實(shí)施過(guò)程中,當(dāng)使用同一ip地址的購(gòu)買請(qǐng)求的數(shù)量不超過(guò)該閾值,且該購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間距離搶購(gòu)開(kāi)始時(shí)間的間隔小于一分鐘時(shí),該搶購(gòu)請(qǐng)求 滿足搶購(gòu)條件;或者,當(dāng)使用同一ip地址的購(gòu)買請(qǐng)求的數(shù)量超過(guò)兩次,但兩次購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間的間隔大于五分鐘時(shí),該購(gòu)買請(qǐng)求滿足搶購(gòu)條件。
當(dāng)接收到的購(gòu)買請(qǐng)求滿足搶購(gòu)條件時(shí),向該購(gòu)買請(qǐng)求發(fā)放正確的令牌,該購(gòu)買請(qǐng)求憑借正確的令牌可以進(jìn)入下一步的搶購(gòu)流程。
s703:權(quán)限驗(yàn)證單元用于對(duì)購(gòu)買請(qǐng)求進(jìn)行權(quán)限驗(yàn)證;
需要說(shuō)明的是,當(dāng)購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)相匹配時(shí),該購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證,進(jìn)入下一步的搶購(gòu)流程。
s704:第一緩存隊(duì)列用于放置通過(guò)權(quán)限驗(yàn)證的購(gòu)買請(qǐng)求;
s705:第一扣減單元用于按照顯示庫(kù)存數(shù),對(duì)第一緩存隊(duì)列中的購(gòu)買請(qǐng)求數(shù)量進(jìn)行第一級(jí)限制,得到第一級(jí)限制后的購(gòu)買請(qǐng)求,同時(shí),更新顯示庫(kù)存數(shù);
在具體實(shí)施過(guò)程中,需要在前端頁(yè)面上將更新后的顯示庫(kù)存數(shù)作為商品當(dāng)前的剩余庫(kù)存數(shù)展示給用戶。由于顯示庫(kù)存數(shù)必須大于或等于0,因此,即使更新后的顯示庫(kù)存數(shù)小于0,為了顧及用戶的感受,顯示庫(kù)存數(shù)仍舊顯示為0。
s706:第二緩存隊(duì)列用于放置在第一緩存區(qū)的隊(duì)列中扣減處理成功的購(gòu)買請(qǐng)求;
s707:第二扣減單元用于按照扣減庫(kù)存數(shù),對(duì)第二緩存區(qū)的隊(duì)列中購(gòu)買請(qǐng)求數(shù)量進(jìn)行第二級(jí)限制,得到不超過(guò)真實(shí)庫(kù)存數(shù)量的購(gòu)買請(qǐng)求;
在具體實(shí)施過(guò)程中,需要先確定扣減庫(kù)存數(shù)是否大于0;若扣減庫(kù)存數(shù)大于0,則根據(jù)所述第二緩存中所述購(gòu)買請(qǐng)求的數(shù)量,對(duì)所述扣減庫(kù)存數(shù)進(jìn)行扣減處理;若否,說(shuō)明商品已經(jīng)售完,扣減失敗,并將扣減結(jié)果返回給用戶。
具體來(lái)說(shuō),對(duì)第二緩存區(qū)的隊(duì)列中的扣減處理采用排隊(duì)機(jī)制和鎖機(jī)制,每次的扣減處理只針對(duì)一個(gè)購(gòu)買請(qǐng)求,在對(duì)一個(gè)購(gòu)買請(qǐng)求進(jìn)行扣減處理時(shí),其他購(gòu)買請(qǐng)求在排隊(duì)等候。同時(shí),在每次扣減處理之前,需要使用同步鎖鎖定,本次扣減處理完成之后,再解除鎖定。
s708:物理庫(kù)請(qǐng)求隊(duì)列用于放置不超過(guò)真實(shí)庫(kù)存數(shù)量的購(gòu)買請(qǐng)求;
s709:數(shù)據(jù)庫(kù)扣減單元用于按照不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理。
在具體實(shí)施過(guò)程中,mysql數(shù)據(jù)庫(kù)根據(jù)物理庫(kù)請(qǐng)求隊(duì)列中購(gòu)買請(qǐng)求,采用updatea=a-1wherea>0的基本控制方式對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理,并根據(jù)mysql數(shù)據(jù)庫(kù)的處理結(jié)果判斷是否執(zhí)行成功,搶購(gòu)流程結(jié)束。
實(shí)施例二
基于上述實(shí)施例相同的技術(shù)構(gòu)思,參見(jiàn)圖8,其示出了本發(fā)明實(shí)施例提供的一種裝置80,該裝置80包括:第一限制單元801、第二限制單元802以及更新單元803;其中,
第一限制單元801,用于當(dāng)接收到的購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件時(shí),按照顯示庫(kù)存數(shù),對(duì)全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求數(shù)量進(jìn)行第一級(jí)限制,得到第一級(jí)限制后的所述購(gòu)買請(qǐng)求;
第二限制單元802,用于按照扣減庫(kù)存數(shù),對(duì)第一限制單元801處理后的所述購(gòu)買請(qǐng)求數(shù)量進(jìn)行第二級(jí)限制,得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求;
更新單元803,用于按照不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)中的庫(kù)存數(shù)進(jìn)行更新處理。
在上述方案中,所述購(gòu)買請(qǐng)求,包括:所述購(gòu)買請(qǐng)求的發(fā)送源地址標(biāo)識(shí)、所述購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間和所述購(gòu)買請(qǐng)求的用戶標(biāo)識(shí)。
在上述方案中,所述購(gòu)買請(qǐng)求滿足預(yù)設(shè)的驗(yàn)證條件,包括:所述購(gòu)買請(qǐng)求滿足購(gòu)買條件,且所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證。
如圖9所示,移動(dòng)終端80還包括:驗(yàn)證單元804;其中,所述驗(yàn)證單元804,用于當(dāng)使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù)不超過(guò)閾值,且所述購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間離搶購(gòu)開(kāi)始時(shí)間的間隔小于一分鐘時(shí),所述購(gòu)買請(qǐng)求滿足搶購(gòu)條件;或,當(dāng)使用同一發(fā)送源地址標(biāo)識(shí)的購(gòu)買請(qǐng)求的訪問(wèn)次數(shù)超過(guò)兩次,但所述兩次購(gòu)買請(qǐng)求的訪問(wèn)時(shí)間的間隔大于五分鐘時(shí),所述購(gòu)買請(qǐng)求滿足購(gòu)買條件。
在上述方案中,所述驗(yàn)證單元804,用于當(dāng)所述購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)相匹配時(shí),所述購(gòu)買請(qǐng)求通過(guò)權(quán)限驗(yàn)證;當(dāng)所述購(gòu)買請(qǐng)求中的用戶標(biāo)識(shí)與所述預(yù)存的具有參與搶購(gòu)權(quán)限的用戶標(biāo)識(shí)不匹 配時(shí),所述購(gòu)買請(qǐng)求沒(méi)有通過(guò)權(quán)限驗(yàn)證。
在上述方案中,所述第一限制單元801,用于將全部滿足所述驗(yàn)證條件的購(gòu)買請(qǐng)求放入第一緩存,并獲取所述第一緩存中所述購(gòu)買請(qǐng)求數(shù)量;當(dāng)顯示庫(kù)存數(shù)大于0時(shí),按照所述第一緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)所述顯示庫(kù)存數(shù)進(jìn)行扣減處理;得到扣減處理成功的所述購(gòu)買請(qǐng)求,并更新所述顯示庫(kù)存數(shù)。
在上述方案中,所述第二限制單元802,用于將在第一限制單元801中扣減處理成功的所述購(gòu)買請(qǐng)求放入第二緩存,并獲取所述第二緩存中所述購(gòu)買請(qǐng)求數(shù)量;當(dāng)扣減庫(kù)存數(shù)大于0時(shí),按照所述第二緩存中所述購(gòu)買請(qǐng)求數(shù)量,對(duì)所述扣減庫(kù)存數(shù)進(jìn)行扣減處理;得到不超過(guò)真實(shí)庫(kù)存數(shù)量的所述購(gòu)買請(qǐng)求,并更新所述扣減庫(kù)存數(shù)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、程序?qū)嵤├?、或結(jié)合程序和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使 得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。