開題報告-基于SpringBoot的秒殺系統(tǒng)設(shè)計與實現(xiàn)_第1頁
開題報告-基于SpringBoot的秒殺系統(tǒng)設(shè)計與實現(xiàn)_第2頁
開題報告-基于SpringBoot的秒殺系統(tǒng)設(shè)計與實現(xiàn)_第3頁
開題報告-基于SpringBoot的秒殺系統(tǒng)設(shè)計與實現(xiàn)_第4頁
開題報告-基于SpringBoot的秒殺系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本科畢業(yè)論文(設(shè)計)開題報告題目姓名學(xué)號年級班級專業(yè)指導(dǎo)教師學(xué)院一、研究背景近年來,由于國家對互聯(lián)網(wǎng)行業(yè)大力支持,“互聯(lián)網(wǎng)+”行動計劃的提出,互聯(lián)網(wǎng)行業(yè)日新月異,電子商務(wù)行業(yè)更是發(fā)生了翻天覆地的變化,在短短十幾年間,電子商務(wù)交易總額擴大了十倍,與傳統(tǒng)零售行業(yè)7*12小時的營業(yè)時間相比,電商平臺能7*24小時全天候提供服務(wù),為人們的生活提供了極大的便利。秒殺活動作為一種快速吸引顧客、增加品牌影響力的銷售手段,以低廉的價格,極大的刺激了消費者的購買欲望。雙十一購物節(jié)的秒殺活動每年都吸引成千上萬的消費者參加,交易額高達一千億,消費者秒殺到心儀的商品的同時,也為電商帶來了巨額的收益。

電商舉辦秒殺活動有許多好處。秒殺活動能快速提升品牌影響力。秒殺活動具有易引發(fā)話題、時效性快等特點,電商通過舉辦秒殺活動能巧妙的利用用戶推廣能力,快速提升電商品牌的影響力,如果電商定期舉辦秒殺活動,能極大的宣傳電商平臺并增大平臺的用戶粘性。各大電商平臺,如淘寶、京東、蘇寧易購、國美等,創(chuàng)造出各種各樣,如雙十一、618年中大促的購物節(jié)等活動,這些活動都會以商品秒殺作為噱頭,吸引了大批消費者參加活動的同時,也維持了網(wǎng)站的用戶活躍度。秒殺活動能較大的提高電商的銷售額。用戶在瀏覽秒殺活動商品時,不可避免的會看看網(wǎng)站中別的商品,無形中增加了電商網(wǎng)站的用戶流量,為電商網(wǎng)站帶來收益。秒殺活動能適當?shù)臏p緩商家積壓產(chǎn)品負擔,電商商家都不可避免地需要解決一些產(chǎn)品積壓的問題,在這種情況下,通過舉辦秒殺活動能有效解決這一難題。

由于SpringBoot功能強大,而Tomcat和MySQL在開發(fā)方面都很方便,比較靈活,而且在目前應(yīng)用的十分廣泛,并且易于維護。因此使用SpringBoot+Tomcat+MySQL是開發(fā)輕平臺的最佳組合從而說明本系統(tǒng)在技術(shù)方面可行。本系統(tǒng)基于B/S模式,用戶不需要再從網(wǎng)上下載其他的客戶端程序,客戶只需要打開瀏覽器就能夠使用該秒殺系統(tǒng),免除了用戶多余的下載客戶端程序等繁瑣且耗時的操作,而且本系統(tǒng)界面友好,操作簡單易行,能夠讓一個新用戶在沒有人教導(dǎo)培訓(xùn)的情況下很快的熟練上手本系統(tǒng)。二、研究內(nèi)容及擬采用的技術(shù)方案1.系統(tǒng)結(jié)構(gòu)本系統(tǒng)基于SpringBoot+Tomcat+MySQL,并采用B/S模式,不用考慮跨平臺跟不同客戶端之間的兼容性,系統(tǒng)主要包括商品列表、開搶時間、訂單確認、下單交易支付等核心核心功能。2.系統(tǒng)功能模塊圖功能模塊圖如下:(1)

用戶注冊功能(2)

用戶登錄功能(3)

活動功能:判斷活動需要的產(chǎn)品數(shù)量是否足夠。(4)

庫存功能:維護商品庫存數(shù)量。(5)

搶購活動功能:如果滿足互動所需產(chǎn)品數(shù)量,創(chuàng)建某搶購活動,并將搶購活動加載到緩存中(采用預(yù)加載方式)。(6)

開始搶購功能:將活動ID+用戶ID維護到緩存Redis中,進行一系列判斷操作,訂單處理MQ。(7)

訂單處理功能:通過MQConsumer插入搶購訂單,其他業(yè)務(wù)邏輯(略)。(8)

超時未支付功能:查詢最新的訂單信息,將訂單狀態(tài)更新為取消,將活動產(chǎn)品數(shù)量加1,緩存商品數(shù)量加1,刪除活動ID+該用戶ID,允許其再次搶單。(9)

郵件發(fā)送功能:查詢最新的訂單信息,發(fā)送商品詳情URL。(10)

訂單支付功能:點擊詳情URL,查詢最新的的訂單信息,進行訂單支付,是否支付成功,將訂單狀態(tài)修改為支付完成。3.擬采用的系統(tǒng)技術(shù)

系統(tǒng)框架:SpringBoot

前端技術(shù):JavaScript、jQuery、BootStrap

數(shù)據(jù)庫技術(shù):MySQL

中間件技術(shù):Redis、MQ

以上技術(shù)使用的特性如下:(1)JavaScript、jQuery、BootStrap的前端頁面:保證頁面訪問能夠兼容且頁面整齊美觀,具有觀賞性。(2)B/S架構(gòu):成本低、維護方便、分布性強、開發(fā)簡單,不需要安裝任何專門的軟件、只需要瀏覽器即可訪問操作。(3)MySQL:數(shù)據(jù)存儲,Redis:緩存熱點數(shù)據(jù)MQ:對于突然到來的大量請求,您可以配置流控規(guī)則,以穩(wěn)定的速度逐步處理這些請求,起到“削峰填谷”的效果,從而避免流量突刺造成系統(tǒng)負載過高。三、擬解決的關(guān)鍵問題1.數(shù)據(jù)庫訪問壓力:搶購活動中大量請求過來時我們是要去判斷商品是不是夠的,每次搶購時主要壓力其中一點是在于對產(chǎn)品數(shù)量的校驗,如果完全放在數(shù)據(jù)庫,數(shù)據(jù)庫壓力大。活動預(yù)加載,數(shù)據(jù)加熱,放在緩存Redis中,用戶請求過來時通過緩存告訴他們產(chǎn)品對應(yīng)的數(shù)量和狀態(tài),這樣就減小了數(shù)據(jù)庫的訪問壓力。

2.搶購活動:將活動ID+用戶ID維護到緩存Redis中(攔截統(tǒng)一用戶對同一搶購產(chǎn)品的多次搶購行為),判斷是否是第一次搶購操作,如果不是則結(jié)束搶購,如果是則進行后續(xù)操作;判斷緩存中活動的商品是否被搶空,如果不是則結(jié)束搶購,如果是則將緩存商品數(shù)量減1,數(shù)據(jù)庫商品數(shù)量減1,SnowFlake雪花算法生成訂單號,訂單處理MQ。四、研究方法(1)文獻查閱法

主要指通過前期各類紙質(zhì)及電子資料的閱讀,從中篩選出與設(shè)計及論文內(nèi)容相關(guān)的部分,并對篩選資料進行總結(jié)、歸納,制定針對事實的科學(xué)研究方法。本文首先確定了研究課題,即秒殺系統(tǒng)的設(shè)計與實現(xiàn),并開展系統(tǒng)建設(shè)方案設(shè)計,搜集國內(nèi)外關(guān)于秒殺系統(tǒng)研究內(nèi)容,用以驗證方案的可行性。

(2)演繹歸納法

通過了解秒殺系統(tǒng)的最新進展,結(jié)合當前秒殺系統(tǒng)的開發(fā),及其他秒殺系統(tǒng)所采取的方法及取得的經(jīng)驗,提出本設(shè)計的方案。

(3)系統(tǒng)分析方法

把要解決的問題作為一個系統(tǒng),對各模塊進行分析,本文以秒殺系統(tǒng)作為研究對象,通過對系統(tǒng)各要素的分析,根據(jù)系統(tǒng)結(jié)構(gòu)開發(fā)相應(yīng)的主要功能。五、文獻綜述(附參考文獻)秒殺系統(tǒng)的實現(xiàn)包括需求分析、功能設(shè)計、數(shù)據(jù)庫設(shè)計、技術(shù)選擇等幾個階段,查閱相關(guān)文獻,具體如下:

1、秒殺系統(tǒng)需求分析

在秒殺系統(tǒng)的設(shè)計之初,很多學(xué)者都會進行需求分析,選取部分學(xué)者的需求分析結(jié)果進行總結(jié),具體研究如下:

侯成程在《某訂單秒殺系統(tǒng)的設(shè)計與實現(xiàn)》[1]中對系統(tǒng)角色進行了劃分,包括消費者、商家和管理員三種用戶角色,消費者即購買商品的用戶,主要需求是購物;商家即出售商品的用戶,主要需求是銷售;管理員是系統(tǒng)中權(quán)限最大的角色,可對系統(tǒng)進行管理。同時也詳細的分析了功能需求和非功能需求,并展示了系統(tǒng)功能的UML用例圖。

徐士川在《電子商城系統(tǒng)中訂單模塊與秒殺模塊的設(shè)計與實現(xiàn)》[4]中在系統(tǒng)的功能性需求分析中,從商城的用戶角色出發(fā)分析各個角色的具體行為,在非功能需求分析中,主要注重商城系統(tǒng)的性能、可用性、可靠性和安全性,從而來提升商城系統(tǒng)的健壯性,魯棒性和安全性。

朱麗葉在《面向電商平臺的秒殺系統(tǒng)設(shè)計與實現(xiàn)》[6]中首先對面向電商平臺的秒殺系統(tǒng)的需求進行闡述、歸納和總結(jié),包含對面向管理員和供應(yīng)商的秒殺系統(tǒng)后臺的功能需求和非功能需求進行分析,以及對面向消費者的秒殺系統(tǒng)功能需求和非功能需求進行分析,為接下來的系統(tǒng)設(shè)計和實現(xiàn)奠定基礎(chǔ)。

2、秒殺系統(tǒng)功能設(shè)計

在秒殺系統(tǒng)的功能設(shè)計方面,各個學(xué)者設(shè)計的功能模塊不盡相同,但是都會具有商品列表、開搶時間、訂單確認、下單交易支付等功能模塊,這些功能模塊是秒殺系統(tǒng)必須的,也是本課題研究的重點。具體研究如下:

董曉瑋,趙月英,張一鳴在《電商秒殺系統(tǒng)的設(shè)計與實現(xiàn)》[2]中解釋秒殺系統(tǒng)一方面需要滿足商家和供貨商對后臺管理的需求,另一方面還要兼顧客對秒殺系統(tǒng)的業(yè)務(wù)需求。因此,系統(tǒng)是將登錄模塊、訂單模塊、訂單詳情模塊、安全模塊、壓測等功能集于一體。

劉磊在《一種高并發(fā)電商秒殺系統(tǒng)的設(shè)計與實現(xiàn)》[7]中為著重驗證秒殺功能,筆者設(shè)計了一個業(yè)務(wù)具有典型性的秒殺系統(tǒng),包括用戶注冊登錄、秒殺列表查詢、秒殺詳情查詢、生成秒殺地址、執(zhí)行秒殺、用戶中心等功能。

張會敏在《電商網(wǎng)站秒殺系統(tǒng)的研究與對策》[9]中簡要研究了電商網(wǎng)站秒殺應(yīng)用的高并發(fā)訪問問題,分析了其主要特點,然后從系統(tǒng)架構(gòu),程序開發(fā)2個方面入手,詳細分析了架構(gòu)分層,緩存,異步方法,消息隊列,代碼實現(xiàn)等內(nèi)容,并提出了相關(guān)問題的解決方法。

LiuK,QingkaiBU在《OptimizationofSecondsKillSystemforWebBasedontheSSMFramework》[14]中對于Web開發(fā),前后端分離的架構(gòu)模式具有很多優(yōu)點,例如,局部性能提升、徹底解放前端、提高工作效率、降低維護成本等。采用前后端分離架構(gòu)模式設(shè)計實現(xiàn)了秒殺系統(tǒng),前端使用Vue.js技術(shù),后端使用SSM技術(shù)實現(xiàn)。

3、秒殺系統(tǒng)數(shù)據(jù)庫設(shè)計

秒殺系統(tǒng)是涉及到數(shù)據(jù)的存儲和查詢的,其中包括商品數(shù)據(jù)、商品庫存數(shù)據(jù)、活動信息數(shù)據(jù)、訂單數(shù)據(jù)、用戶數(shù)據(jù)等,運用MySQL數(shù)據(jù)庫技術(shù)設(shè)計數(shù)據(jù)庫表和字段是常用的方面,運用Redis緩存熱點數(shù)據(jù)和關(guān)鍵數(shù)據(jù),設(shè)計出的數(shù)據(jù)庫基本都能滿足秒殺系統(tǒng)的需求。具體研究如下:

徐冉在《基于微服務(wù)架構(gòu)的秒殺系統(tǒng)服務(wù)端設(shè)計與實現(xiàn)》[3]秒殺系統(tǒng)的開發(fā)過程中,除了使用關(guān)系型數(shù)據(jù)庫MySQL用來存儲主要數(shù)據(jù),還需要使用高性能的Redis緩存來存儲關(guān)鍵數(shù)據(jù)。

李軍鋒,何明昕在《高并發(fā)Web航空票務(wù)秒殺系統(tǒng)的設(shè)計與實現(xiàn)》[5]中發(fā)現(xiàn)數(shù)據(jù)庫查詢操作的效率是影響并發(fā)響應(yīng)能力的另一個重要因素。文章中分析了SQL語句執(zhí)行的過程,并提出了MySQL數(shù)據(jù)庫中SQL優(yōu)化的若干原則。此方案在開發(fā)設(shè)計過程中,按照這些原則對代碼中調(diào)用的SQL語句進行了嚴格的書寫,提高了數(shù)據(jù)庫的訪問效率。

邵斐在《面向電子商務(wù)的秒殺系統(tǒng)設(shè)計與實現(xiàn)》[12]中提出為了降低對于數(shù)據(jù)庫IO操作的壓力,必須在應(yīng)用服務(wù)與數(shù)據(jù)庫之間建立一個數(shù)據(jù)緩存層,圖片視頻等靜態(tài)信息都從專門的文件服務(wù)器集群上獲取;對于秒殺系統(tǒng)相關(guān)的產(chǎn)品數(shù)據(jù),應(yīng)在產(chǎn)品售賣之前將相關(guān)信息采用內(nèi)存緩存的方式存放在緩存服務(wù)器集群中;而數(shù)據(jù)庫本身也應(yīng)以集群模式構(gòu)建,以MySQL為例,可采用主從結(jié)構(gòu),并在程序?qū)訉崿F(xiàn)讀寫分離,然后通過負載均衡進行分布式調(diào)用。

GUOMin在《OptimizationprinciplesofSQLinORACLEdata-base》[13]中指出合理配置數(shù)據(jù)庫參數(shù)、提高SQL語句共享、提高數(shù)據(jù)緩存命中率是SQL語句性能提高的前提;并在此基礎(chǔ)提出了SQL語句優(yōu)化的四個原則。

4、秒殺系統(tǒng)技術(shù)選擇

軟件開發(fā)的技術(shù)各有優(yōu)缺點,找到適合系統(tǒng)的開發(fā)技術(shù)能大大降低開發(fā)難度和開發(fā)成本,很多文獻都對Java、Redis、MySQL、MQ等技術(shù)進行了詳細的介紹和運用。具體研究如下:

葉歡在《云環(huán)境下商品秒殺系統(tǒng)的研究與實現(xiàn)》[8]中使用消息隊列MQ不僅解決了用戶體驗糟糕的問題,并且能夠有效地降低服務(wù)器的壓力,特別是在峰值來臨時,將請求這一動態(tài)的信息轉(zhuǎn)化成一個可存儲的靜態(tài)信息,防止系統(tǒng)崩潰帶來了的數(shù)據(jù)丟失和不一致情況的發(fā)生,并且能和后端地業(yè)務(wù)系統(tǒng)降低耦合度。

江奕華,蔡曉東,傅泉明在《一種互聯(lián)網(wǎng)高并發(fā)秒殺系統(tǒng)》[10]中介紹了基于Memcached(與Redis類似的緩存中間件)構(gòu)建的參與秒殺用戶隊列和參與中獎用戶隊列,應(yīng)用服務(wù)器通過獲取隊列鎖,取得處理隊列數(shù)據(jù)的資格,完成隊列中數(shù)據(jù)的處理,從而完成秒殺的處理。

劉昆鑫,卜慶凱在《基于SSM框架的WEB系統(tǒng)秒殺優(yōu)化設(shè)計》[11]中采用SSM框架對其秒殺業(yè)務(wù)系統(tǒng)進行優(yōu)化設(shè)計,研究提高秒殺系統(tǒng)的性能體驗方法.該系統(tǒng)的前端采用Bootstrap框架進行頁面設(shè)計,后端采用SSM框架進行業(yè)務(wù)邏輯的開發(fā),并采用MySQL數(shù)據(jù)庫,用Redis進行緩存.同時,對秒殺業(yè)務(wù)進行優(yōu)化分析,把客戶端邏輯放到MySQL客戶端,避免網(wǎng)絡(luò)延遲和垃圾回收(GarbageCollection,GC)的影響,并對系統(tǒng)的穩(wěn)定性進行測試。

LichtblauGJ在《ULTRAVIOLETDISINFECTIONSYSTEMFORATHLETICITEMS》[15]中介紹了MySQL在軟件開發(fā)以及在開發(fā)中的作用,并闡述了MySQL的優(yōu)點。

5、總結(jié)

從查找的各種資料和文獻中來看,近十年來,伴隨著互聯(lián)網(wǎng)的飛速發(fā)展和普及,電子商務(wù)交易總額擴大了十倍。新興的電子商務(wù)行業(yè)與傳統(tǒng)零售行業(yè)相比,電商平臺能7*24小時全天候、不間斷提供服務(wù),為人們的生活提供了極大的便利的同時,也改變了人們的生活方式。秒殺活動作為一種快速匯聚人氣、宣傳電商品牌、增強用戶粘性的銷售手段,以低廉的價格,極大的刺激了消費者的購買欲望。

針對文獻的研讀,總結(jié)為一下幾點:

(1)需求分析階段嚴格按照需求分析流程進行,本課題主要研究的是秒殺系統(tǒng),重點秒殺系統(tǒng)的活動流程,根據(jù)秒殺活動流程設(shè)計系統(tǒng)功能,并繪制功能模塊圖。

(2)在功能設(shè)計方面,根據(jù)查閱的文獻以及秒殺活動流程,設(shè)計用戶注冊、登錄、秒殺活動、庫存、搶購活動、搶購、訂單處理、支付、發(fā)送郵件等功能。

(3)數(shù)據(jù)庫設(shè)計方面,根據(jù)查閱的文獻以及秒殺系統(tǒng)的數(shù)據(jù)實體、屬性、設(shè)計商品表、商品庫存表、活動信息表、訂單表、用戶表等數(shù)據(jù)表。

(4)技術(shù)選擇方面,根據(jù)查閱的文獻以及大學(xué)四年所學(xué)知識,選擇Java作為開發(fā)語言、SpringBoot作為開發(fā)框架,MySQL作為數(shù)據(jù)庫開發(fā)技術(shù),Redis、MQ作為中間件技術(shù),系統(tǒng)測試采用白盒測試和黑盒測試方法。

參考文獻

[1]侯成程.某訂單秒殺系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2021.

[2]董曉瑋,趙月英,張一鳴.電商秒殺系統(tǒng)的設(shè)計與實現(xiàn)[J].信息技術(shù)與信息化,2020(09):40-42.

[3]徐冉.基于微服務(wù)架構(gòu)的秒殺系統(tǒng)服務(wù)端設(shè)計與實現(xiàn)[D].南京:東南大學(xué),2020.

[4]徐士川.電子商城系統(tǒng)中訂單模塊與秒殺模塊的設(shè)計與實現(xiàn)[D].南京:南京大學(xué),2018.

[5]李軍鋒,何明昕.高并發(fā)Web航空票務(wù)秒殺系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與計,2013,34(03):778-782.DOI:10.16208/j.issn1000-7024.2013.03.027.

[6]朱麗葉.面向電商平臺的秒殺系統(tǒng)設(shè)計與實現(xiàn)[D].上海:上海交通大學(xué),2020.

[7]劉磊.一種高并發(fā)電商秒殺系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代計算機(專業(yè)版),2019,638(02):97-102.

[8]葉歡.云環(huán)境下商品秒殺系統(tǒng)的研究與實現(xiàn)[D].南昌:江西師范大學(xué),2016.

[9]張會敏.電商網(wǎng)站秒殺系統(tǒng)的研究與對策[J].科技與創(chuàng)新,2017,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論