• 當前位置:論文網 > 論文寶庫 > 信息科技類 > 應用電子技術 > 基于JAVA的網上商城構建正文

    基于JAVA的網上商城構建

    來源:UC論文網2018-02-09 11:00

    摘要:

      摘要:近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展和深化、相關服務業蓬勃發展、支撐體系不斷健全完善、創新的動力和能力不斷增強。電子商務正在與實體經濟深度融合,進入...

      摘要:近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展和深化、相關服務業蓬勃發展、支撐體系不斷健全完善、創新的動力和能力不斷增強。電子商務正在與實體經濟深度融合,進入規模性發展階段,對經濟社會生活的影響不斷增大,正成為我國經濟發展的新引擎。網上商城是一個綜合性的B2C平臺。會員可以在商城瀏覽商品、下訂單,以及參加各種活動。管理員、運營可以在平臺后臺管理系統中管理商品、訂單、會員等。客服可以在后臺管理系統中處理用戶的詢問以及投訴。


      關鍵詞:電子商務;網上商城;分布式;主流框架;高并發


      中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2018)01-0094-02


      現階段中國的電子商務平臺發展迅猛,涵蓋了現代人的衣食住行,賺取巨大利潤的同時也極大地方便了人們的生活,為人們的生活帶來了巨大的改變。電子商務一定意義上也改變了人們傳統的消費思維模式。電子商務交易的規模也逐年上漲,如圖1所示。同時也吸引了越來越多的人用互聯網的思維去考慮傳統行業的新模式,新思路。歸結到商業平臺上,最終還是會使用一個商城的模式。


      1商城的整體架構


      針對商城的復雜性,所以在系統的搭建的建構選擇方面我們會選用soa架構。所謂的soa就是通過將后臺的系統進行拆分,每個功能對應一個后臺系統。這樣降低了系統的耦合度,同時保證了系統的穩定性和處理多個任務的高效。系統的之間的通訊方式使用dubbo框架。Dubbo作為服務中間鍵,它的作用就是使系統之間的方法能夠進行相互的調用。


      如圖2所示,前段頁面中的訂單系統,會員系統,前臺系統,后臺系統以及搜素系統,接入的是不同項目的服務層入口,每個項目的服務層針對性的處理不同前臺發過來的請求。最終完成數據庫的存取工作。


      2商城基本功能的介紹


      一個商城的功能邏輯模塊清楚之后還有一些問題需要解決。比如當同樣的商品被多次查詢后會加大與數據庫的交互,對于一個大型的電商平臺而言這是比較致命的,可能會導致數據的崩潰。因而針對這點我們應該使用緩存技術。如圖3式。首次進行商品查詢得到的結構我們將用json數據的格式進行分裝,同時將其保存到緩存數據庫中。


      針對索引庫的建立我們是基于solor框架。其作用流程如圖4所示。Solor的使用是基于一個分詞工具。也就是說存入solor中的數據的關鍵詞將會被分詞器所拆分。因此在人們進行檢索的時候就可以查到關鍵詞。在前端請求進入到持久層后,首先并不會先去數據庫中進行檢索,而是先會去索引庫中進行檢索。如果能有數據就會直接返回結果。當然索引庫的更新依然是一個問題。顯存的解決方案大致是包括兩種。一種做法是每每在后臺添加了一種商品之后,就自動同步到索引庫,但是這樣就會比較浪費資源。所以現在比較流行的做法是定時更新。一般會規定在晚上訪問量不大的情況下進行定時刷新索引庫。


      3商城框架使用


      現在市場上流行的網上商城大都是基于java語言進行開發。因為java相對于其他語言如php,python,nojs而言,它的解決方案更多,同時它對大數據的處理能力更強。現行的java一般對于請求是進行三段式處理,即表現層,服務層和持久層。針對三層式的結構,現在市場上流行的框架也很多。針對表現層,流行的框架包括springmvc和struts2,以及已經過時的struts1。針對服務層,現在主流的框架仍然是spring。針對持久層的框架,主流的框架包括mybatis和hibernate。兩者不同之處在于處理sql語句的不用。Mybatis更加靈活,但是語句的可讀性也比較差。Hibernate是針對對象的模型進行數據庫的調用,可讀性比較好,但是sql語句比較固定。針對三層的任務,表現層是接受前端發來的請求,同時交給服務層,最后將從數據庫中檢索的數據返回到前段頁面。服務層是將請求的進行一個邏輯管理,最后請求相應的數據庫,最后將請求到的數據返回給表現層。而持久層的作用就是接受請求,最后調用數據庫,最終將數據傳遞給服務層。


      4針對并發量問題的解決方案


      針對并發量的問題,現在處理的方式也是綜合性的,包括靜態頁面技術,項目的分布式結構,nginx反向代理技術。一個tomcat或者jetty亦或者jboss這種服務器的承載訪問量大致是在500左右,如果多個服務器疊加訪問量也不是一個加效果,所以針對這個關鍵性的問題,主流技術是在各個環節上進行改善。首先是頁面的訪問采用靜態頁面技術,不是所有的訪問都會調用程序的邏輯機制。查到的數據會填寫到一個邏輯模板中,也就是一個靜態的html頁面上。也就是說表現層不用就耗費資源去進行一個頁面的渲染工作。現在比較流行的框架是freemark。針對項目部署方面的工作,nginx是一個很大程度提升網站訪問量的工具。我們一般可以在多個服務器上進行項目的部署,然后將服務器的地址寫入到nginx中,同時也可以分配服務器的訪問權重。最后用戶進行訪問的時候是有nginx作為一個訪問的入口,進行一個均衡的訪問。合理的運用這些技術訪問量大致可以保持在百萬級。當然如果有更高的訪問需求,就可以考慮消息隊列機制的框架進行優化,如ActivityMQ。


      作者:周瓊偉

        參考文獻: 

      [1] 魯珂.基于Java語言的網絡操作系統[J].電子技術與軟件工程,2017(10):247. 

      [2] 張堯.基于Nginx高并發Web服務器的改進與實現[D].長春:吉林大學,2016. 

      [3] 荀崇崇,覃章健,王欣穎.基于JavaEE的CMS網站設計與實現[J].科技風,2016(8):19. 

      [4] 王利萍.基于Nginx服務器集群負載均衡技術的研究與改進[D].濟南:山東大學,2015. 

      [5] 陸洲.JavaEE核心模式研究[J].計算機與數字工程,2014,42(1):81-84. 

      [6] 歐鋒,鄒敏,李曉楨.Java技術框架概述[J].計算機系統應用,2012,21(8):236-239. 

      [7] 王艷慧.JAVA技術在政府網站建設中應用[C]//第十屆中國Java技術及應用大會文集,2007:3. 

      [8] 張自然.基于JAVA/CORBA的WWW分布式電子商務系統研究[D].武漢:華中師范大學,2002. 

    核心期刊推薦


    發表類型: 論文發表 論文投稿
    標題: *
    姓名: *
    手機: * (填寫數值)
    Email:
    QQ: * (填寫數值)
    文章:
    要求:
    11选5任3必中计算方法