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

一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法及系統(tǒng)與流程

文檔序號(hào):12801740閱讀:351來(lái)源:國(guó)知局
一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法及系統(tǒng)與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其是涉及一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法及系統(tǒng)。



背景技術(shù):

限時(shí)特賣是時(shí)下最為常見(jiàn)的一種電子商務(wù)模式,即是以互聯(lián)網(wǎng)為媒介的b2c電子零售交易活動(dòng),以限時(shí)特賣的形式,定期定時(shí)推出大批量商品參與限時(shí)搶購(gòu)。這一模式的特征決定了售賣過(guò)程中會(huì)存在大量的秒殺場(chǎng)景,如何解決秒殺場(chǎng)景中資源爭(zhēng)奪和防超賣是網(wǎng)站架構(gòu)需要考慮的首要問(wèn)題。

現(xiàn)有限時(shí)售賣平臺(tái)在高并發(fā)下采用的商品防超賣技術(shù)方案主要有:(1)基于緩存,即商品庫(kù)存保存在緩存中(如redis,memcache),利用緩存的“單線程”模型和輕量級(jí)鎖等特性來(lái)控制高并發(fā)下的資源爭(zhēng)奪。(2)基于樂(lè)觀鎖,即認(rèn)為數(shù)據(jù)一般情況下不會(huì)造成沖突,所以在數(shù)據(jù)進(jìn)行提交更新的時(shí)候,才會(huì)正式對(duì)數(shù)據(jù)的沖突與否進(jìn)行檢測(cè),如果發(fā)現(xiàn)沖突了,則讓返回用戶錯(cuò)誤的信息,讓用戶決定如何去做。具體做法有兩種:使用數(shù)據(jù)版本(version)記錄機(jī)制實(shí)現(xiàn)和使用時(shí)間戳實(shí)現(xiàn)。兩種實(shí)現(xiàn)方式原理一樣。(3)基于數(shù)據(jù)庫(kù)隊(duì)列,即在數(shù)據(jù)庫(kù)內(nèi)部增加隊(duì)列機(jī)制,這種方式需要修改數(shù)據(jù)庫(kù)底層的實(shí)現(xiàn),技術(shù)實(shí)力要求高,一般很少這么去做。

現(xiàn)有技術(shù)方案缺陷:一是引入緩存可以解決高并發(fā)下的性能問(wèn)題,但超賣的根結(jié)在于減庫(kù)存操作是一個(gè)事務(wù)操作,需要先select,然后insert,最后update-1。最后這個(gè)-1操作是不能出現(xiàn)負(fù)數(shù)的,但是當(dāng)多用戶在有庫(kù)存的情況下并發(fā)操作,出現(xiàn)負(fù)數(shù)這是無(wú)法避免的,所以最后還要用鎖來(lái)保證事務(wù),這也就犧牲了并發(fā)訪問(wèn)性。二是利用樂(lè)觀鎖,雖然能解決超賣問(wèn)題,但也會(huì)因?yàn)闃?lè)觀鎖的原因帶來(lái)少賣的問(wèn)題。

分片路由:一種路由算法,先根據(jù)用戶的特性對(duì)請(qǐng)求分片,然后為各片選擇一條路由路徑。



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

本發(fā)明的目的在于克服上述技術(shù)不足,提出一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法及系統(tǒng),解決現(xiàn)有技術(shù)中高并發(fā)的秒殺場(chǎng)景中資源爭(zhēng)奪的技術(shù)問(wèn)題。

為達(dá)到上述技術(shù)目的,本發(fā)明的技術(shù)方案提供一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法,其中,包括:

s1、對(duì)用戶請(qǐng)求進(jìn)行分片路由,分片后的請(qǐng)求以任務(wù)的形式放入隊(duì)列中;

s2、通過(guò)單線程一次從隊(duì)列中取出一個(gè)任務(wù)執(zhí)行;

s3、將領(lǐng)域?qū)ο蟠鎯?chǔ)在本地內(nèi)存中,由領(lǐng)域?qū)ο筇幚砣蝿?wù)執(zhí)行的業(yè)務(wù)邏輯;

s4、當(dāng)發(fā)生事件時(shí),更新領(lǐng)域?qū)ο蟆?/p>

本發(fā)明的技術(shù)方案還提供一種電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng),其中,包括:

分片路由模塊:對(duì)用戶請(qǐng)求進(jìn)行分片路由,分片后的請(qǐng)求以任務(wù)的形式放入隊(duì)列中;

單線程執(zhí)行模塊:通過(guò)單線程一次從隊(duì)列中取出一個(gè)任務(wù)執(zhí)行;

領(lǐng)域?qū)ο蟠鎯?chǔ)與處理模塊:將領(lǐng)域?qū)ο蟠鎯?chǔ)在本地內(nèi)存中,由領(lǐng)域?qū)ο筇幚砣蝿?wù)執(zhí)行的業(yè)務(wù)邏輯;

領(lǐng)域?qū)ο蟾履K:當(dāng)發(fā)生事件時(shí),更新領(lǐng)域?qū)ο蟆?/p>

與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果包括:?jiǎn)尉€程一次執(zhí)行一個(gè)任務(wù),可以避免并發(fā)問(wèn)題,但處理能力會(huì)不如多線程并發(fā)處理高,讓領(lǐng)域?qū)ο蟪qv本地內(nèi)存中,業(yè)務(wù)邏輯處理交給領(lǐng)域?qū)ο螅深I(lǐng)域?qū)ο缶S護(hù)最新?tīng)顟B(tài),能有效的減少io操作,提升處理性能,提供高性能、高并發(fā)、高可用的服務(wù)支持,徹底解決限時(shí)售賣電商平臺(tái)秒殺場(chǎng)景的資源爭(zhēng)奪問(wèn)題。

附圖說(shuō)明

圖1是本發(fā)明提供的一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法流程圖;

圖2是本發(fā)明提供的一種電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng)結(jié)構(gòu)框圖。

附圖中:1、電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng),11、分片路由模塊,12、單線程執(zhí)行模塊,13、領(lǐng)域?qū)ο蟠鎯?chǔ)與處理模塊,14、領(lǐng)域?qū)ο蟾履K。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提供了一種電子商務(wù)平臺(tái)高并發(fā)事件的處理方法,其中,包括:

s1、對(duì)用戶請(qǐng)求進(jìn)行分片路由,分片后的請(qǐng)求以任務(wù)的形式放入隊(duì)列中;

s2、通過(guò)單線程一次從隊(duì)列中取出一個(gè)任務(wù)執(zhí)行;

s3、將領(lǐng)域?qū)ο蟠鎯?chǔ)在本地內(nèi)存中,由領(lǐng)域?qū)ο筇幚砣蝿?wù)執(zhí)行的業(yè)務(wù)邏輯;

s4、當(dāng)發(fā)生事件時(shí),更新領(lǐng)域?qū)ο蟆?/p>

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理方法,步驟s1中:

分片后的請(qǐng)求會(huì)被路由到具體的應(yīng)用實(shí)例上,應(yīng)用實(shí)例自身維護(hù)著一個(gè)本地隊(duì)列。

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理方法,步驟s2中:

通過(guò)單線程一次從隊(duì)列中的取出一個(gè)任務(wù)執(zhí)行,避免了并發(fā)問(wèn)題。應(yīng)用實(shí)例內(nèi)部隊(duì)列是一個(gè)有序隊(duì)列,以單線程一次只取一個(gè)的方式保證任務(wù)有序的被執(zhí)行,從而避免了資源爭(zhēng)奪帶來(lái)的并發(fā)問(wèn)題。

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理方法,步驟s3中:

單線程一次執(zhí)行一個(gè)任務(wù),可以避免并發(fā)問(wèn)題,但處理能力會(huì)不如多線程并發(fā)處理高;

提升處理能力的關(guān)鍵是減少io操作,為了完成一次業(yè)務(wù)處理(比如扣除庫(kù)存),可能需要多次與數(shù)據(jù)庫(kù)進(jìn)行交互,數(shù)據(jù)庫(kù)的連接和釋放都是io開(kāi)銷,即便是事先將數(shù)據(jù)加載到在像redis,memcache等分布式緩存中,也會(huì)帶來(lái)網(wǎng)絡(luò)io的開(kāi)銷,假設(shè)業(yè)務(wù)邏輯再?gòu)?fù)雜點(diǎn),io開(kāi)銷將會(huì)更大;

業(yè)務(wù)邏輯處理可以交給領(lǐng)域?qū)ο?domainobject),由領(lǐng)域?qū)ο缶S護(hù)著最新?tīng)顟B(tài)(比如庫(kù)存數(shù)),同時(shí)讓領(lǐng)域?qū)ο蟪qv本地內(nèi)存中,能有效的減少io操作;

由于領(lǐng)域?qū)ο笫谴鎯?chǔ)在本地內(nèi)存中,可借助于事件溯源機(jī)制來(lái)保障它的可用性,當(dāng)用戶請(qǐng)求到達(dá)時(shí),領(lǐng)域?qū)ο笏诘臋C(jī)器可能處于不可用(出現(xiàn)故障或網(wǎng)絡(luò)斷開(kāi))的狀態(tài),一旦機(jī)器不可用,領(lǐng)域?qū)ο髮?huì)被從內(nèi)存中清除,這時(shí),為了保證用戶請(qǐng)求能得到正常的響應(yīng),路由子程序會(huì)重新計(jì)算路由路徑,將請(qǐng)求路由到新的機(jī)器上。新機(jī)器上是沒(méi)有領(lǐng)域?qū)ο蟮南嚓P(guān)信息的,需要通過(guò)事件溯源機(jī)制,將先前保存的事件重新回放一遍,在新機(jī)器上恢復(fù)領(lǐng)域?qū)ο蟮臓顟B(tài),再接著由恢復(fù)后的領(lǐng)域?qū)ο髞?lái)完成業(yè)務(wù)處理。從而,保證了系統(tǒng)的可用性。事件回放相比從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)效率要高,整個(gè)回放過(guò)程非常短,用戶幾乎感覺(jué)不到。

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理方法,步驟s4中:

當(dāng)發(fā)生事件時(shí),先將事件存儲(chǔ),再通知領(lǐng)域?qū)ο笞龀鰻顟B(tài)變更。

例如庫(kù)存增減這樣的操作,在系統(tǒng)內(nèi)被視為一個(gè)事件,會(huì)先將事件存儲(chǔ)起來(lái),再通知領(lǐng)域?qū)ο笞龀鰻顟B(tài)變更(比如扣除庫(kù)存、庫(kù)存的校驗(yàn)在領(lǐng)域?qū)ο髢?nèi)完成,保證了原子性)。

本發(fā)明還提供電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng)1,其中,包括:

分片路由模塊11:對(duì)用戶請(qǐng)求進(jìn)行分片路由,分片后的請(qǐng)求以任務(wù)的形式放入隊(duì)列中;

單線程執(zhí)行模塊12:通過(guò)單線程一次從隊(duì)列中取出一個(gè)任務(wù)執(zhí)行;

領(lǐng)域?qū)ο蟠鎯?chǔ)與處理模塊13:將領(lǐng)域?qū)ο蟠鎯?chǔ)在本地內(nèi)存中,由領(lǐng)域?qū)ο筇幚砣蝿?wù)執(zhí)行的業(yè)務(wù)邏輯;

領(lǐng)域?qū)ο蟾履K14:當(dāng)發(fā)生事件時(shí),更新領(lǐng)域?qū)ο蟆?/p>

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng)1,分片路由模塊11中:

分片后的請(qǐng)求會(huì)被路由到具體的應(yīng)用實(shí)例上,應(yīng)用實(shí)例自身維護(hù)著一個(gè)本地隊(duì)列。

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng)1,領(lǐng)域?qū)ο蟠鎯?chǔ)與處理模塊13中:

當(dāng)領(lǐng)域?qū)ο蟠鎯?chǔ)在的終端處于不可用狀態(tài)時(shí),借助于事件溯源機(jī)制來(lái)保障領(lǐng)域?qū)ο蟮目捎眯浴?/p>

本發(fā)明所述的電子商務(wù)平臺(tái)高并發(fā)事件的處理系統(tǒng)1,領(lǐng)域?qū)ο蟾履K14中:

當(dāng)發(fā)生事件時(shí),先將事件存儲(chǔ),再通知領(lǐng)域?qū)ο笞龀鰻顟B(tài)變更。

與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果包括:?jiǎn)尉€程一次執(zhí)行一個(gè)任務(wù),可以避免并發(fā)問(wèn)題,但處理能力會(huì)不如多線程并發(fā)處理高,讓領(lǐng)域?qū)ο蟪qv本地內(nèi)存中,業(yè)務(wù)邏輯處理交給領(lǐng)域?qū)ο?,由領(lǐng)域?qū)ο缶S護(hù)最新?tīng)顟B(tài),能有效的減少io操作,提升處理性能,提供高性能、高并發(fā)、高可用的服務(wù)支持,徹底解決限時(shí)售賣電商平臺(tái)秒殺場(chǎng)景的資源爭(zhēng)奪問(wèn)題。

以上所述本發(fā)明的具體實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何根據(jù)本發(fā)明的技術(shù)構(gòu)思所做出的各種其他相應(yīng)的改變與變形,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1