版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、全網(wǎng)電子商務平臺技術架構說明書2010年3月18日北京友聯(lián)慧通科技有限公司目 錄技術性需求分析4一致的邏輯數(shù)據(jù)4優(yōu)秀的網(wǎng)絡環(huán)境適應性4系統(tǒng)的兼容性4優(yōu)異的系統(tǒng)性能4開放的界面和接口4完備的操作日志管理策略4高度的安全性4技術性設計思想和原則5最小成本原則5安全性、可靠性、先進性原則5安全性與可靠性原則5先進性原則:5實用性、易用性、可擴展性原則5實用性原則5統(tǒng)一及一致性原則6業(yè)務引導及易用性原則6友好及方便性原則6擴展性和適應性原則6數(shù)據(jù)共享原則7系統(tǒng)技術架構的設計7技術架構的特點7系統(tǒng)的架構圖7技術架構圖7系統(tǒng)請求數(shù)據(jù)處理流程圖9體系結構圖10系統(tǒng)核心功能分布圖11架構層次的說明11數(shù)據(jù)庫層
2、11中間件層12基礎服務層16應用層20業(yè)務表現(xiàn)層和系統(tǒng)接口層21系統(tǒng)部署環(huán)境22商城平臺部署環(huán)境22運行平臺22操作系統(tǒng)22應用服務器23Web服務器23數(shù)據(jù)庫服務器23緩存服務器23圖片文件服務器23系統(tǒng)部署拓撲圖23系統(tǒng)部署結構圖24技術性需求分析一致的邏輯數(shù)據(jù)一般來說,平臺所有的服務接點都是這個數(shù)據(jù)庫的客戶端訪問;因此從邏輯上,任意服務網(wǎng)絡接入點的數(shù)據(jù)應該是一致的。優(yōu)秀的網(wǎng)絡環(huán)境適應性從系統(tǒng)的實現(xiàn)角度考慮,要滿足各種復雜的網(wǎng)絡環(huán)境。系統(tǒng)的兼容性由于服務結點的數(shù)量巨大,其使用的平臺和語言各不相同,需要能夠容納所有類型的服務結點;優(yōu)異的系統(tǒng)性能從系統(tǒng)架構設計上需要考慮巨大量數(shù)據(jù)的處理引擎,
3、從系統(tǒng)本身進行性能上的優(yōu)化,而不是僅僅憑借于硬件服務器的性能。開放的界面和接口不僅個人用戶能夠方便地通過Web應用查詢信息,同時也需要能夠預留非GUI的交互界面的接口,以便使其它應用系統(tǒng)也能使用數(shù)據(jù)管理系統(tǒng)提供的信息服務,同時還需要為第三方軟件預留標準的集成接口,使系統(tǒng)具有高度的可擴展性;完備的操作日志管理策略需要有完備的操作日志管理引擎,記錄系統(tǒng)交互過程中的日志數(shù)據(jù)。高度的安全性利用JAVA所特有的安全性,更多的從系統(tǒng)角度去維護數(shù)據(jù)的安全,同時需要從數(shù)據(jù)庫和服務器的角度提出安全維護的有效建議。技術性設計思想和原則最小成本原則系統(tǒng)建設充分考慮目前已實施的業(yè)務系統(tǒng)的實際情況,充分利用原系統(tǒng)資源,
4、在實現(xiàn)新系統(tǒng)建設同時保護原有系統(tǒng)的資源。任何一個系統(tǒng)的建設,如果不能合理和有效地利用現(xiàn)有的資源和之前的系統(tǒng)的資源,這樣的系統(tǒng)應該算不了絕對的成功。因此,在進行系統(tǒng)重建時,充分考慮如何利用以前的信息系統(tǒng)、網(wǎng)絡和其他設備,并對以前實施的應用系統(tǒng)進行整合,一方面保證原有的設備可以重新利用,另一方面保證以前的應用重獲新生。在真正意義上做到既完成了新系統(tǒng)的建設又保護了原有設備和系統(tǒng)的資源。安全性、可靠性、先進性原則安全性與可靠性原則:考慮到電子商務系統(tǒng)工程建設項目安全性、可靠性的需求,在系統(tǒng)設計中,應充分注意系統(tǒng)的安全性和可靠性,采用多種安全防范技術和措施,保障系統(tǒng)的信息安全,保障系統(tǒng)長期穩(wěn)定可靠運行,
5、同時在系統(tǒng)設計要充分考慮系統(tǒng)運行性能,達到“簡便、實用、快捷、安全、準確”的目的。先進性原則:由于IT技術發(fā)展的速度驚人。因此,在電子商務項目進行系統(tǒng)總體規(guī)劃時,我們選擇業(yè)界到目前為止先進和成熟的技術作為整個系統(tǒng)的技術架構,以保證系統(tǒng)有不斷發(fā)展和擴充的余地。系統(tǒng)總體設計的先進性原則主要體現(xiàn)在以下幾方面:1) 系統(tǒng)結構選擇當前先進的SSH架構進行邏輯和業(yè)務和展示分層的架構進行系統(tǒng)開發(fā);2) 軟件的設計中利用先進的面向對象技術、設計模式、接口技術和組件技術來提高軟件的通用性和復用性。實用性、易用性、可擴展性原則實用性原則衡量一個電子商務系統(tǒng)的好壞決不是看它投入了多少、如何的先進,而是看它是否真正滿
6、足運營業(yè)務需求,是否真的符合真正的運營情況。因此,在進行系統(tǒng)的建設時,我們始終不忘實用性原則,努力保證投資花在實處,保證建設出來的系統(tǒng)切切實實是所需要的,而不是一個富麗堂皇的空架子,光有一個外表而沒有實際的內(nèi)容。 實用性是每個信息系統(tǒng)在建設過程中所必須考慮的,從實際應用的角度來看,這個性能更加重要。為了提高系統(tǒng)的實用性,本系統(tǒng)考慮如下幾個方面: 設計上充分考慮當前各業(yè)務層次、各環(huán)節(jié)管理中數(shù)據(jù)處理的便利和可行,把滿足用戶業(yè)務管理作為第一要素進行考慮; 采取總體設計、分步實施的技術方案,在總體
7、設計的前提下,系統(tǒng)實施時先進行業(yè)務處理層及低層管理,穩(wěn)步向中高層管理及全面自動化過渡。這樣做可以使系統(tǒng)始終與業(yè)務實際需求緊密連在一起,不但增加了系統(tǒng)的實用性,而且可使系統(tǒng)建設保持很好的連貫性; 全部人機操作設計均充分考慮不同使用者的實際需要; 用戶接口及界面設計充分考慮人體結構特征及視覺特征進行優(yōu)化設計,界面盡可能美觀大方,操作簡便實用。統(tǒng)一及一致性原則在統(tǒng)一的用戶界面風格前提下,實現(xiàn)各GUI中各類按鈕、圖標、文字(字體、大?。徭I(快捷鍵)的統(tǒng)一和一致,達到便于使用、便于學習、交互友好的目的。 &
8、#160;人機工程及標準化原則 在保證界面風格統(tǒng)一、一致的基礎上,按照人機工程原理,遵循IBM 和 Microsoft的界面設計標準,將界面的布局(包括按鈕、菜單、顯示框等)設計成符合操作者習慣的形式,并在界面顏色的搭配上滿足操作者長時間工作要求,提供一個人性化的人機操作環(huán)境,以保證用戶使用的舒適性。業(yè)務引導及易用性原則充分考慮業(yè)務的管理需求,在界面的菜單及功能的組合設計中,將界面的操作順序按業(yè)務歸類,以便操作的有效引導,保證軟件的易用性。同時,在各功能名稱的用詞、信息提示文字等方面,使用政府審批業(yè)務的規(guī)范化、習慣化用詞,以保證軟件使用者的習慣性,符合現(xiàn)有政
9、府審批管理模式,有利于操作者在較快的時間熟練用好軟件。 友好及方便性原則 鼠標、鍵盤的靈活輸入方式;熱鍵的使用,以保證各種業(yè)務數(shù)據(jù)信息的錄入界面,更新維護界面和記錄增刪界面及部門內(nèi)部信息查詢界面和信息統(tǒng)計報表界面等使用的方便性、友好性,確保各種業(yè)務信息數(shù)據(jù)都能通過用戶界面方便地、快速錄入。擴展性和適應性原則擴展性和適應性是系統(tǒng)升級前要考慮的首要元素,為了進一步讓客戶能夠降低成本來完成未來可預見的系統(tǒng)升級開發(fā),系統(tǒng)在設計時就充分考慮到實際系統(tǒng)在今后工作發(fā)展而產(chǎn)生的升級需求,盡量保證在原有代碼基礎上容易適應、容易修改和升級的目標。數(shù)據(jù)共享原
10、則對所有的數(shù)據(jù)采用合理的數(shù)據(jù)結構,把它們有效地組織好,進行統(tǒng)一維護管理,避免數(shù)據(jù)重復,減少冗余,提高準確性和可靠性,保證數(shù)據(jù)的統(tǒng)一性和完整性。系統(tǒng)技術架構的設計技術架構的特點我們的技術架構有以下特點: 采用目前安全性能高,擴展性好,框架技術最為完善JAVA語言作為系統(tǒng)開發(fā)的語言。 采用SSH框架技術,使系統(tǒng)能夠分層開發(fā),各層之間邏輯分明,層與層之間提供接口方式來實現(xiàn)業(yè)務和數(shù)據(jù)的溝通。讓系統(tǒng)具有極強的擴展性。 基于組件技術,力求將變化封裝在組件內(nèi)部。對應組件可以對外提供API。
11、 適應能力強,同步、異步都能處理,既能滿足快速反映的業(yè)務的需求,又能滿足大數(shù)據(jù)量、復雜的、異步的業(yè)務的需求。 與OS、中間件平臺、數(shù)據(jù)庫系統(tǒng)無關。 具有很好的可擴展性。模塊化使得系統(tǒng)很容易在縱向和水平兩個方向拓展:一方面可以將系統(tǒng)升級為更大、更有力的平臺,同時也可以適當增加規(guī)模來增強系統(tǒng)的網(wǎng)絡應用。在擴充或修改功能時,基本不會破壞原有結構的穩(wěn)定性。 強而可靠的數(shù)據(jù)庫搜索引擎 實用且安全的SEO搜索引擎設計 支持分布式部署的緩存引擎系統(tǒng)的架構圖技術架構圖系統(tǒng)技術架構圖系統(tǒng)請求數(shù)
12、據(jù)處理流程圖體系結構圖體系結構圖系統(tǒng)核心功能分布圖架構層次的說明數(shù)據(jù)庫層對于平臺中的所有應用,都存在著各種各樣的配置信息、業(yè)務數(shù)據(jù)、系統(tǒng)運行狀態(tài)等信息。數(shù)據(jù)庫層對這些數(shù)據(jù)信息本身進行歸檔,提供快速查詢的底層接口,并保證數(shù)據(jù)的完整性、可靠性。 在數(shù)據(jù)庫方面,我們的程序是可以無縫對接主流數(shù)據(jù)庫的包括Oracle,Mysql,和MSSql,但建議采用Oracle 或者是 MySQL。因為他們和程序一樣具備跨平臺的特性,但這兩種數(shù)據(jù)庫分別有不同的適用環(huán)境。Oracle 適合大型的電子商務應用。 &
13、#160; 能使用所有的商城平臺功能。如訪問量排行榜、降價排行榜、銷售排行榜、訪問量統(tǒng)計等等,就以往的經(jīng)驗來看,這些功能每天要處理的數(shù)據(jù)都會超過一千萬。這種數(shù)據(jù)量如果使用傳統(tǒng)的統(tǒng)計方法,統(tǒng)計一次的時間就可能會以天來計算了。如果使用Oracle,再配合我們專門對Oracle進行優(yōu)化的高效率的統(tǒng)計程序,那么只需十數(shù)秒便可完成。 此外,如果只用一臺數(shù)據(jù)庫無法應付日益增長的服務器訪問量,可以使用Oracle RAC(真正應用集群),通過增加數(shù)據(jù)庫服務器進行集群。MySQL 適合中小型的電子商務應用。
14、0; 無法使用商城平臺一些高級應用,如排行榜、統(tǒng)計分析、MIS系統(tǒng)對接等。這是由于MySQL設計上強調(diào)訪問速度,犧牲了一些數(shù)據(jù)庫的高級功能,雖然用程序也可以實現(xiàn)這些功能,但是在性能上無法滿足需求。 比較難實現(xiàn)數(shù)據(jù)庫集群。中間件層 中間件層主要是購通平臺使用的J2EE中間件,包括平臺使用到的應用服務器和中間件技術。 一、應用服務器 應用服務器為購通提供的整個J2EE平臺實現(xiàn),商城系統(tǒng)基礎服務層和應用層、業(yè)務層都是建立在應用服務器之上。 購通設
15、計上遵循SUN公司提出的J2EE規(guī)范,這樣能夠盡可能的保證在不同的J2EE應用服務器中進行移植。 經(jīng)過測試購通平臺支持Tomcat、WebLogic、JBoss,webShare這幾種J2EE應用服務器。 二、中間件技術 本著重用的設計原則,購通在一些功能中采用了已有的成熟技術,這些都是經(jīng)過實踐考驗的中間件。主要以java標準包和開源項目為主,大部分都針對系統(tǒng)作了相應調(diào)整,以便適合系統(tǒng)的需要。 1. Apache
16、commons: 著名的開源組織Apache的一個java工具包,提供很多實用的功能。 1) commons-beanutils: 提供對Java反射和自省API的包裝。 在平臺中用于通用的接口設計。 2) commons-codec: 包含一些通用的編碼解碼算法。Hex,Base64, 以及URL encoder。
17、0; 平臺中主要用來做消息摘要,實現(xiàn)數(shù)據(jù)加密等功能。 3) commons-collections: 提供一個類包來擴展和增加標準的Java Collection框架。提供了比j2sdk更全面的數(shù)據(jù)結構,平臺中繼承并實現(xiàn)了一些特殊的數(shù)據(jù)結構。 4) commons-pool: 提供了通用對象池接口,一個用于創(chuàng)建模塊化對象池的工具包,以及通常的對象池。 我們在原有的基礎上進行了優(yōu)化,在性能和使用
18、性方面有所提高。 5) commons-dbcp: 這是一個基于apache的對象池(apache commons pool)實現(xiàn)的數(shù)據(jù)庫連接池。 我們在原有的基礎上進行了優(yōu)化,對數(shù)據(jù)庫連接進行了特別的處理,防止數(shù)據(jù)庫連接泄漏的問題,并提供了監(jiān)控的功能。 6) commons-discovery: 供工具來定位資源(包括類) ,通過使用各種模式來映射服務/引用名稱和資源名稱。
19、60; 7) commons-el: 提供在JSP2.0規(guī)范中定義的EL表達式的解釋器。 對平臺中的JSP提供EL表達式支持。 8) commons-fileupload: 強大和高性能的文件上傳功能。 平臺中被用于上傳各種圖片、Flash、文檔等資源,我們在原有的基礎上進行了優(yōu)化。 9) commons-logging:
20、 提供通用的日志操作接口。 主要用于程序調(diào)試和服務器日常的日志輸出。 10) commons-validator: 提供了一個簡單的,可擴展的框架來在一個XML文件中定義校驗器(校驗方法)和校驗規(guī)則。支持校驗規(guī)則的和錯誤消息的國際化。 平臺中用來校驗各種xml數(shù)據(jù)。 2. Dom4j:
21、 Dom4j是一個易用的、開源的庫,用于XML,XPath和XSLT。它應用于Java平臺,采用了Java集合框架并完全支持DOM,SAX和JAXP。 主要用來處理XML數(shù)據(jù)。 XML在商城有廣泛的應用,主要是作為配置文件使用。由于XML嚴格的格式要求和層次結構,也有用來作為參數(shù)在HTML表單中傳遞。如組合商品功能,因為組合商品中的商品是由管理員挑選的,參數(shù)數(shù)量并不確定,如果每從組合商品中添加/刪除一個商品都直接更新到數(shù)據(jù)庫話,會對系統(tǒng)造成負荷。所以,在組合商品的管理中,將操作的數(shù)據(jù)類轉換成XML傳遞,就可以一次進行修改。
22、 3. Hibernate: Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數(shù)據(jù)持久化的重任。 在平臺中,我們采用Hibernate進行數(shù)據(jù)庫操作,只有在一些對
23、數(shù)據(jù)庫性能有特別要求的模塊,才直接使用jdbc進行連接。 4. Memcache: Memcache是一個支持分布式部署的動態(tài)緩存引擎。 5. Spring定時器: 我們主要用Spring定時器管理以下一些定時任務: 1) 年排行榜后臺更新進程:自動計算年排行榜。 2) 月排行
24、榜后臺更新進程:自動計算月排行榜。 3) 周排行榜后臺更新進程:自動計算周排行榜。 4) 日排行榜后臺更新進程:自動計算日排行榜。 5) 更新對象緩存:實現(xiàn)對象緩存的更新,處理那些長期沒被再一次訪問的對象緩存。 6) 清頁面緩存:當管理員使用的手工刷新頁面緩存的功能時,系統(tǒng)會將這些需要刷新的緩存加到一個隊列中,由本進程負責刷新。 7) 相關產(chǎn)品自動實現(xiàn)間隔:
25、相關產(chǎn)品的計算對系統(tǒng)消耗比較大,所以系統(tǒng)不會對所有幾十萬個商品進行計算,只有在用戶查看單個商品時算出這個商品的相關產(chǎn)品并進行緩存。那么當用戶下一次訪問這個商品的相關產(chǎn)品時就直接從緩存中讀取出來。而這個進程就是為了定時更新這個緩存。 8) 自動推薦后臺更新進程:進程根據(jù)商品推薦規(guī)則進行自動推薦。 9) 新聞推薦后臺更新進程:進程根據(jù)新聞推薦規(guī)則進行自動推薦。 10) 關鍵字后臺進程:當用戶在前臺搜索欄中輸入一個查詢值時,系統(tǒng)并不馬上將其統(tǒng)計到關鍵字,而是放到內(nèi)存中
26、,由此進程定時統(tǒng)計。 11) 保存訪問量信息進程:用戶每訪問一次系統(tǒng),系統(tǒng)并不馬上統(tǒng)計,而是放到內(nèi)存中,由此進程定時保存到數(shù)據(jù)庫,供統(tǒng)計進程進行統(tǒng)計。 12) 年訪問量排行計算:計算年訪問量排行榜。 13) 月訪問量排行計算:計算月訪問量排行榜。 14) 周訪問量排行計算:計算周訪問量排行榜。 15) 日訪問量排行計算:計算日訪問量排行榜。 16) 年降價排行計算:計算年降價排行榜
27、。 17) 月降價排行計算:計算月降價排行榜。 18) 周降價排行計算:計算周降價排行榜。 19) 日降價排行計算:計算日降價排行榜。 20) 統(tǒng)計計算:每天對訪問量進行統(tǒng)計。 21) 生成訂閱郵件列表進程:根據(jù)用戶的訂閱設置,生成需要發(fā)送的郵件隊列。 22) 發(fā)送訂閱郵件進程:根據(jù)要發(fā)送的郵件隊列發(fā)送郵件。 23) 拍賣自動出價進程:實現(xiàn)拍賣模
28、塊中的自動出價功能。 6. Log4j: Log4j是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。 這是一個可選
29、包,如果不使用Log4j的話,commons-logging會自動使用SUN J2SDK的日志包,不過我們還是推薦使用Log4j,它的功能非常強大。 7. Compass: Compass是一個開放源程序的搜尋器引擎,利用它可以輕易地為Java軟件加入全文搜尋功能。Compass的最主要工作是替文件的每一個字作索引,索引讓搜尋的效率比傳統(tǒng)的逐字比較大大提高,Compass提供一組解讀,過濾,分析文件,編排和使用索引的API,它的強大之處除了高效和簡單外,是最重要的是使使用者可以
30、隨時應自已需要自訂其功能。 我們使用Compass建立索引,并在這基礎上實現(xiàn)了全文搜索功能。 8. Ant: Ant是一個基于Java的自動化腳本引擎,腳本格式為XML。 我們除了用Ant做Java編譯相關任務外,還通過插件實現(xiàn)很多應用的調(diào)用。包括程序編譯、打包、Hibernate配置文件自動生成、部署、以及單元測試等操作。 當一個代碼項目大了以后,每次重新編譯,打包,測試等都會變得非常復雜而且重復,因此c語言中有m
31、ake腳本來幫助這些工作的批量完成。在Java中應用是平臺無關性的,當然不會用平臺相關的make腳本來完成這些批處理任務了,Ant本身就是這樣一個流程腳本引擎,用于自動化調(diào)用程序完成項目的編譯,打包,測試等。除了基于JAVA是平臺無關的外,腳本的格式是基于XML的,比make腳本來說還要好維護一些。 9. Axis: Axis是一個SOAP引擎,提供創(chuàng)建服務器端、客戶端和網(wǎng)關SOAP操作的基本框架。SOAP是被廣泛作為新一代跨平臺、跨語言分布計算Web Services的重要部分。 商城
32、平臺使用Axis提供WebService支持,廣泛應用于通用數(shù)據(jù)接口,對外系統(tǒng)提供服務等功能。 如: 1) 商品查詢服務:提供接口讓外接系統(tǒng)可以查到平臺中的商品信息。 2) 新聞發(fā)布服務:提供接口讓外接系統(tǒng)可以取到各類新聞。 3) 訂單服務:提供接口讓外接系統(tǒng)可以在平臺中生成訂單,并獲取各種訂單信息。 注:上述服務都有嚴格的權限控制。 10. J
33、avaMail: JavaMail是Sun發(fā)布的用來處理email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。 我們使用JavaMail實現(xiàn)了平臺中郵件發(fā)送、群發(fā)等相關功能,供業(yè)務系統(tǒng)使用。 11. JSTL: JSP 標準標記庫(JSP Standard Tag Library,JSTL)是一個實現(xiàn) Web 應用程序中常見的通用功能的定制標記庫集,這些功能包括迭代和條件判斷、數(shù)據(jù)管理格式化、XML 操作以及數(shù)據(jù)庫訪問。
34、60; 我們使用JSTL封裝各種業(yè)務邏輯。 12. JUnit: JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regression testing framework)。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能。 我們主要用JUnit來進行單元測試?;A服務層 基礎服務層構建于J2EE平臺之上,借助于中間
35、件的接口服務,提供電子商務平臺系統(tǒng)所需要的通用服務接口組件。系統(tǒng)將提供以下主要的服務接口支撐不同業(yè)務需求的實現(xiàn)。 欄目管理模塊: 欄目是一個抽象資源對象,是一種特殊的內(nèi)容類型。欄目可以表示產(chǎn)品、新聞信息類別、資源節(jié)點、導航欄的項、菜單中的項等等。欄目是一種組織管理型的資源。 系統(tǒng)設計上支持多級子欄目,采用虛擬文件系統(tǒng)(Virtual File System)技術以支持直觀的樹型導航風格,一個欄目節(jié)點相當于一個虛擬的文件目錄。 對于大型電子商務系統(tǒng),欄目
36、的節(jié)點是個非常大的數(shù)字,這對系統(tǒng)欄目樹展示的速度和性能有極高要求。考慮到以上原因系統(tǒng)采取了欄目對象緩存策略,同時對于頁面節(jié)點的呈現(xiàn)通過動態(tài)JavaScript輸出的技術,從而使系統(tǒng)能很好的支持上萬個欄目數(shù)據(jù)節(jié)點操作管理。能平滑、高效的展示樹型風格的欄目結構。 用戶權限管理模塊: 大型電子商務應用系統(tǒng)有用戶多,模塊多,權限多的特點,因此必須采用分組的用戶管理系統(tǒng),并設置一個具有最高權限的管理員,負責對整個系統(tǒng)用戶設置,為每個用戶角色、用戶指定不同的權限,依照不同的權限在系統(tǒng)中可以使用不同的功能。
37、160; 系統(tǒng)設置了Administrator用戶組,并設置了root這個具有最高權限、不可刪除的用戶。您可以根據(jù)您的需要使用root這一個管理員用戶。管理員可以創(chuàng)建、編輯和刪除用戶組,您可以根據(jù)您的需要給每個用戶組合理的權限劃分,并給每個用戶組添加、編輯和刪除用戶。用戶登錄系統(tǒng)后,系統(tǒng)會根據(jù)該用戶的權限提供相應的功能,并對用戶的每個操作檢查用戶的使用權限。 系統(tǒng)采用Window用戶權限的思想,將用戶、用戶組的權限通過各個欄目節(jié)點進行綁定,在各個欄目節(jié)點上實現(xiàn)繼承與非繼承的設置管理,從而使管理員可以進行靈活的配置。 屬性
38、管理模塊: 在現(xiàn)實情況中,不同的事物對象存在其特殊的信息描述;比如一個手機,存在 “網(wǎng)絡類型GSM”、“外觀樣式翻蓋”等等;同時這些特殊的信息描述在同類別的數(shù)據(jù)對象下經(jīng)常存在共性;比如TCL和 聯(lián)想 生產(chǎn)的手機,應該都存在以上兩種屬性的描述。 針對以上的情況,系統(tǒng)進行了一個數(shù)據(jù)抽象,定義了一套屬性管理組件,可以方便、有效的描述相關的需求情況,同時對于存在共性描述的對象采用繼承模式來描述,從而很好的表現(xiàn)一個事物對象的特征。 繼承性管理模塊: 繼承是面向對
39、象接口特性之一。考慮到抽象事物的通用性,系統(tǒng)通過一個通用的對象繼承模型接口,對所有需要實現(xiàn)繼承的功能提供基礎的支持。從而提高系統(tǒng)的重用性和降低系統(tǒng)的偶合度。 日志服務管理模塊: 日志是一個成熟的電子商務應用系統(tǒng)所必備的功能。日志可以用于數(shù)據(jù)統(tǒng)計,為系統(tǒng)其他功能提供初始數(shù)據(jù);用于查看一個對象的修改歷史記錄,用于方便追蹤對象的修改狀態(tài)和明確事務責任。 通過對系統(tǒng)各種操作數(shù)據(jù)的分析,根據(jù)各操作功能,系統(tǒng)將日志進行類別的劃分: 1、系統(tǒng)日志:記錄系統(tǒng)各種操作的
40、信息數(shù)據(jù)。(比如:用戶某個時間登陸了系統(tǒng)) 2、商品日志:記錄系統(tǒng)商品數(shù)據(jù)發(fā)生改變的信息。(比如:商品價格發(fā)生變化) 3、信息日志:記錄系統(tǒng)信息數(shù)據(jù)發(fā)生改變的信息。(比如:某管理員增加了一個新的促銷公告) 4、訂單日志:記錄系統(tǒng)訂單數(shù)據(jù)發(fā)生改變的信息。(比如:某個訂單已經(jīng)進行了送貨處理) 系統(tǒng)通過抽象出一個Log日志接口,采用Abstract Factory 模式,通過不同的構造參數(shù)來獲取不同分類的Log日志實現(xiàn)。系統(tǒng)將各中類別下的日志,又區(qū)分不同的操
41、作。日志組件將通過抽象和封裝后,給各功能模塊提供統(tǒng)一接口服務,方便系統(tǒng)各模塊的日志功能的開發(fā)和維護。 緩存服務管理模塊: 頁面訪問的時候,生成動態(tài) Web 頁會耗用各種各樣的系統(tǒng)資源。當 Web 服務器收到頁面請求時,它通常必須從數(shù)據(jù)庫或其他存儲系統(tǒng)中實時的檢索所請求的信息。對這些資源的訪問通常需要通過有限的資源池(如數(shù)據(jù)庫連接、套接字或文件描述符)進行。因為 Web 服務器通常需要處理很多并發(fā)請求,所以對這些共享資源的爭奪可能會延遲頁面請求,直到資源變?yōu)榭捎?。在將請求發(fā)送后,仍然必須將結果轉換為 HTML 代碼以便進行顯
42、示。 使系統(tǒng)速度更快的一種顯而易見的方法是購買更多、配置更好的硬件。此方法可能很吸引人,因為硬件便宜,而且不必更改程序,但更多的硬件只能在未達到其物理限制之前才會對性能有所幫助。系統(tǒng)中實施緩存管理,是一個有效的解決方案。 系統(tǒng)中存在兩中緩存對象: 1、 Java對象緩存:對于一些經(jīng)常被使用的Java對象保存于規(guī)定的內(nèi)存空間,通過配置的更新規(guī)則,同步更新數(shù)據(jù)庫內(nèi)容。 2、 前臺頁面緩存:對于前臺的html頁面按不同的塊來區(qū)分,然后通過一個key對象,通過
43、開源JCS技術存儲于內(nèi)存或磁盤空間。 (請求中的頁面對象不在緩存對象中) (請求中的頁面對象存在于緩存對象中) 從上邊兩幅圖可以很清晰的看到,對于并發(fā)訪問的頁面請求,通過頁面的緩存可以極大的減少對緊缺資源(數(shù)據(jù)庫連接)的調(diào)用,減少訪問響應的時間,從而提高系統(tǒng)的訪問速度和整體性能。 2 上傳文件的共享
44、; 我們采用共性文件形式的文件共享,主要使用磁盤陣列技術,簡稱RAID(Redundant Arrays of Inexpensive Disks)。磁盤陣列是由一個硬盤控制器來控制多個硬盤的相互連接,使多個硬盤的讀寫同步,減少錯誤,增加效率和可靠度的技術。 磁盤陣列有以下優(yōu)點: 1)傳輸速率快; 2)儲存容量可提升; 3)提升I/O每秒的數(shù)量; 4)增加數(shù)據(jù)安全性及穩(wěn)定性;
45、60; 5)大量數(shù)據(jù)快速及簡易管理; 6)增加可用運時間,減少維護; 7)通過磁盤陣列,可以將不同服務器上傳的文件統(tǒng)一管理。 如圖所示:各臺服務器共享磁盤陣列,這樣所有的上傳的文檔都放到磁盤陣列之中。 3. 高可用性 我們建議采用負載平衡器,負載均衡器可以根據(jù)實際的響應時間制定優(yōu)先級交付決策,從而實現(xiàn)高性能、智能化流量管理
46、,達到最佳的服務器群性能。采用第七層應用控制還可以減少通信高峰期的錯誤訊息,因為差錯控制和流量管理技術可以偵測到一些錯誤信息,并透明地將會話重定向到另一個服務器,使用戶順利地進行使用。例如,服務器A不可用或者數(shù)據(jù)庫出現(xiàn)錯誤,錯誤信息將會返回到負載均衡器上,然后會將客戶的訪問指向服務器B或者將消息重放到其他數(shù)據(jù)庫中去,整個過程對用戶是透明的。 將內(nèi)部的多個私有的服務器,對外映射成一個相同的IP。而且當其中某臺服務器Down掉的時候,負載均衡器將不會將這個服務器映射出去。
47、0; 6. 數(shù)據(jù)庫集群 如果數(shù)據(jù)庫是用Oracle的話,數(shù)據(jù)庫集群可以采用Oracle RAC?;赗AC的電子商務應用的用戶或者中間層應用服務器客戶,可以通過虛擬數(shù)據(jù)庫服務名連接到數(shù)據(jù)庫上。Oracle在集群中多個節(jié)點之間自動平衡用戶負載。不同節(jié)點上的Real Application Clusters數(shù)據(jù)庫實例預訂所有數(shù)據(jù)庫服務或者部分子集數(shù)據(jù)庫服務。這使得DBA高度靈活地選定,連接到特定數(shù)據(jù)庫服務的特定應用程序客戶是否可以連接到某些或者全部的數(shù)據(jù)庫節(jié)點。RAC在工作期間,每個節(jié)點可以單獨的被使用并且被應用程序負載均衡。如果發(fā)生意外,如一個節(jié)點的失敗,可以
48、實現(xiàn)節(jié)點的失敗切換,保證數(shù)據(jù)庫24*7的高可用性。 雖然每一個節(jié)點有一個不同的物理IP地址時,應用客戶仍可以在一個邏輯數(shù)據(jù)庫服務名的水平上進行連接。因此客戶端對于不相關的事情如多服務器的多個地址可以毫不關心。 任務調(diào)度模塊: 對于電子大型的成熟的電子商務平臺系統(tǒng),每天都有很多特定的數(shù)據(jù)需要進行分析或處理(比如:每天都有大量的郵件需要發(fā)送)。對于大數(shù)據(jù)量、高數(shù)據(jù)運算的處理功能,往往不希望在系統(tǒng)繁忙的時間進行處理。 針對這種狀況,系統(tǒng)采用Spring定時器提供的基礎服務,通過Spring定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年工程稅收與結算合同
- 2024年度電競游戲開發(fā)與發(fā)行合同
- 2024年丙方法律咨詢與代理合同
- 2024年應急出口指示牌制作安裝合同
- 2024年城市道路泥水施工合同
- 2024年建筑工程所需材料采購協(xié)議
- 2024年度無人機制造與銷售合同
- 2024園林綠化工程綠化帶規(guī)劃與設計合同
- 2024騰訊朋友圈廣告合同
- 2024年度醫(yī)院醫(yī)療設備采購與安裝合同
- 口腔常見疾病的診治
- MOOC 人像攝影-中國傳媒大學 中國大學慕課答案
- MOOC 計算機組成原理-電子科技大學 中國大學慕課答案
- 2024年江蘇無錫市江陰市江南水務股份有限公司招聘筆試參考題庫含答案解析
- 中學教材、教輔征訂管理制度
- (高清版)DZT 0213-2002 冶金、化工石灰?guī)r及白云巖、水泥原料礦產(chǎn)地質勘查規(guī)范
- 消防安全評估消防安全評估方案
- 工程造價專業(yè)《工程經(jīng)濟》課程標準
- ZARA服裝市場營銷策略研究分析 市場營銷專業(yè)
- 設備維保的市場化運作與服務模式創(chuàng)新
- 幼兒園科普知識宣傳
評論
0/150
提交評論