鮑志林 上海育景系統(tǒng)集成有限公司
引言:隨著當前國內(nèi)經(jīng)濟和電子商務的快速發(fā)展,吸引了大批的人才進入電子商務行業(yè)。而在大多數(shù)人的職業(yè)規(guī)劃過程中都會選擇考取一些專業(yè)證書來提升自身,電子商務師作為一個集計算機、網(wǎng)絡技術、商業(yè)專業(yè)知識的高復合型人才,是大多數(shù)人選擇的一個主要方向。而眾多的考試人員的試卷的批改等會給閱卷老師造成比較大的工作量,因此本文設計開發(fā)了一套上海市職業(yè)鑒定中心電子商務平臺來對上海市電子商務師(四級、三級、二級)職業(yè)技能鑒定考試系統(tǒng),它既可以符合行業(yè)要求行業(yè)應用要求又能滿足自動化考試評分,通過大數(shù)據(jù)來完成除了客觀題(單選、多選、判斷)以外的,大部分理論題的自動化判分。
電子商務師的鑒定內(nèi)容必須和行業(yè)一致,也就是說必須采用行業(yè)內(nèi)認可度最高的電子商務軟件ECSTORE作為鑒定平臺。ECSTORE電子商務系統(tǒng)是一套應用PHP程序語言開發(fā)、MySql數(shù)據(jù)庫架構開發(fā)的跨平臺網(wǎng)上開發(fā)系統(tǒng)。ECSTORE電子商務軟件是基于SOA架構、模塊化的設計理念,實現(xiàn)API接口無縫對接其它的插件,通過設計各業(yè)務功能模塊整合為一個完整的電子商務軟件,從活動的策劃、會員的擴張、商品的買賣、訂單的生成、收貨、發(fā)貨、評價等一系列的流程。該軟件能夠成功的將電子商務中的各個階段都進行了較為完善的應用和管理,在實際的應用中進行了廣泛的推廣和管理,并得到了廣大用戶的支持和好評。
ECSTORE電子商務軟件引入APP應用程序模塊功能:使得客戶安裝后可以讓用戶根據(jù)自己的需求來維護、刪除該軟件。
ECSTORE電子商務軟件引入搜索引擎模塊功能:根據(jù)電子商務軟件的頁面介紹和點擊率,添加了nofollow、noindex等多種SEO標簽,從而盡可能的降低同一個分類內(nèi)容的多次重復點擊,提高SEO的效率。
ECSTORE電子商務軟件將數(shù)據(jù)進行收集、并進行相關的分析管理,以此來對用戶的來源管理,以此來促進SEM的發(fā)展,從而有效的來搜索軟件的投入比。
1.2.1 開放性
Ecstore軟件繼承了ShopEx產(chǎn)品先進的技術,結合ShopEx產(chǎn)品的行業(yè)經(jīng)驗,應用模塊化的開發(fā)理念,實現(xiàn)API接口對接其它軟件,從而使得Ecstore軟件有一個非常穩(wěn)定、安全的SOA架構,公司能夠快速的搭建一個在線平臺,進而實現(xiàn)多通道的銷售設計方案。
1.2.2 高拓展性
Ecstore軟件能夠提供一個快速功能應用、促銷活動的推廣、VIP服務等功能的設計方案,使得發(fā)展成為一個多通道的銷售、跨平臺的電子商務軟件,能夠更好的提供商務服務。
Ecstore軟件可以通過在系統(tǒng)中實現(xiàn)APP自帶插件的需求,和其它平臺實現(xiàn)無縫數(shù)據(jù)對接功能,幫助公司在一定的平臺上創(chuàng)建電子商務運營平臺,實現(xiàn)公司的線上、線下業(yè)務的整合,并高效的整合品牌、客戶、營銷、管理等各種資源。
1.2.3 安全性
Ecstore采用Object-ResourceMap設計,單獨的認證授權機制,并對管理員、公司、用戶等各種角色都有訪問的安全控制,并對Ecstore軟件進行多種加密方式的處理,提供高級別、全方位的數(shù)據(jù)保密機制,從而保障用戶登陸、支付、資金、管理等多方面的安全。
應用多方面的虛擬主機的服務器分布式部署方式,提高那個增值運維服務從而實現(xiàn)軟件的安全掃描、各功能性能的優(yōu)化配置、廣告的營銷推廣活動引入的大量客流服務,為電商公司交易提供安全保障。
1.2.4 高性能
Ecstore軟件應用SOA架構和多級緩存技術,并通過HTML靜態(tài)技術,以此來降低服務器的負擔,進一步提高前端的響應速度和系統(tǒng)負載均衡的能力。且當有大量的用戶同時訪問Ecstore軟件時,系統(tǒng)也能流暢的有序運行,不會出現(xiàn)服務器的死機或當?shù)簟?/p>
上海市職業(yè)鑒定中心電子商務平臺將行業(yè)內(nèi)認可度最高的電子商務軟件ECSTORE作為鑒定平臺,并在此基礎上構建出一套能夠自動化考核和評分的綜合考試系統(tǒng)GTS,且為了后期平臺升級方便,兩套系統(tǒng)的設計完全獨立,互相不受影響。在基于電子商務軟件ECSTORE的基礎上,應用數(shù)據(jù)庫監(jiān)聽的方式來實現(xiàn)學生答題時根據(jù)ECSTORE的數(shù)據(jù)變動偵聽到學生的答題情況,然后就可以根據(jù)標準答案進行自動化判分,自動化考核和評分的綜合考試系統(tǒng)GTS。
綜合考試系統(tǒng)在實現(xiàn)監(jiān)聽過程中,通過mysql監(jiān)聽器來實現(xiàn)ECSTORE軟件在學生答題過程中的數(shù)據(jù)庫變化,且該監(jiān)聽器只存在綜合考試系統(tǒng)端的數(shù)據(jù)庫服務器端中,設置也是在數(shù)據(jù)庫服務端中,因此無論ECSTORE怎么變化都不會對該系統(tǒng)產(chǎn)生影響。
mysql數(shù)據(jù)庫中的監(jiān)聽器Listener是一個關鍵的數(shù)據(jù)庫服務器組件,在數(shù)據(jù)庫體系結構中由十分重要的作用,其主要具有以下功能:
1、監(jiān)聽客戶端請求。Listener監(jiān)聽器是在mysql服務器上進行運行的,關聯(lián)了多個mysql實例,其是一個由特定功能的進程process,因此可以在Windows的服務進程中或Linux的運行進程中都能查找到相對應的進程號。在Windows上的進程號為TNSLSNR,Linux/Unix平臺上的進程號為TNSLSNR。監(jiān)聽器的默認端口為1521,所有的服務請求都是通過該端口進行傳輸,只要通過該端口的進程則都會進行數(shù)據(jù)的監(jiān)聽,從而實現(xiàn)各個端口的監(jiān)聽功能。
2、分配Server Process請求方。監(jiān)聽器Listener只對請求進行監(jiān)聽,不對數(shù)據(jù)進行修改,即數(shù)據(jù)只會被監(jiān)聽,而不會被修改。當監(jiān)聽到由請求已經(jīng)發(fā)出后會將其轉(zhuǎn)發(fā)給mysql Server Process然后由服務進程來對數(shù)據(jù)進行其它方式的處理。在mysql的工作服務狀態(tài)中,請求方是不被允許直接的對數(shù)據(jù)庫進行實例和數(shù)據(jù)的操作,必須通過一個服務進程號代理操作。當監(jiān)聽器接收請求后請求操作系統(tǒng)發(fā)配Server Process和請求方相連。
3、注冊實例服務。監(jiān)聽器Listener建立實例和請求方進程的內(nèi)在聯(lián)系過程都是通過注冊來實現(xiàn)的,只有注冊過的實例才能被監(jiān)聽,否則其可能會被當作非法的進程被處理掉。注冊的過程為實例通知Listener,請求方的數(shù)據(jù)庫實例名稱inttance_name和服務名service_names。Listener注冊了這個信息后,將根據(jù)注冊信息尋找到精確的實例名稱,進而實現(xiàn)服務數(shù)據(jù)的尋找。
4、錯誤轉(zhuǎn)移Failover。Failover是RAC容錯的重要因素,主要當數(shù)據(jù)庫實例出現(xiàn)錯誤無法正常工作的情況下,會自動的把請求傳輸?shù)狡渌捎脤嵗先ヌ幚恚瑥亩岣吡顺绦蛟谑褂眠^程中的使用率,Listener監(jiān)聽器的主要功能就是處理將請求轉(zhuǎn)發(fā)到其它空閑實例上的過程,從而降低數(shù)據(jù)庫出現(xiàn)錯誤的處理時間,提高系統(tǒng)的效率。
5、負載均衡衡量。在RAC系統(tǒng)架構中,mysql會實現(xiàn)負載均衡。即當某一個用戶請求服務時,mysql會判斷當前的RAC集群中所有實例的用戶請求負載情況,然后將其分配給當前用戶請求量較少的實例來處理,從而實現(xiàn)mysql的負載均衡。
在評分鑒定綜合考試系統(tǒng)中,需要mysql實時監(jiān)聽ECSTORE中數(shù)據(jù)表是否改變,當監(jiān)測到考生在答題過程中提交了答案,則數(shù)據(jù)庫會監(jiān)聽到數(shù)據(jù)庫中該考生條目的數(shù)據(jù)變動,接下來提取該數(shù)據(jù)信息和標準答案進行自動化的評分。因此需要在數(shù)據(jù)的處理過程中,創(chuàng)立一個定時器和輪詢表實時的監(jiān)測數(shù)據(jù)庫的動態(tài)變化。鑒于mysql數(shù)據(jù)庫可執(zhí)行簡單的php代碼能力,因此本文的基本思路為:通過創(chuàng)建mysql數(shù)據(jù)庫觸發(fā)器來監(jiān)聽ECSTORE軟件,當考生用戶答題變化時會引發(fā)數(shù)據(jù)庫中表信息的變化,觸發(fā)器監(jiān)聽到數(shù)據(jù)改變后,調(diào)用mysql數(shù)據(jù)庫啟動php來存儲,并通過相關的接口來實現(xiàn)考生答題信息的自動化評分。具體的過程如下:
2.2.1 創(chuàng)建mysql高級消息隊列AQ
①mysql消息隊列中傳遞的消息的格式進行用戶自定義,例如對象、XMLTYPE、ANYDATA。本文中隊列消息格式為對象類型。
②創(chuàng)建對列表來自定義對象消息進行存儲,保存進入隊列的消息到數(shù)據(jù)表中,出隊列的消息則自動進行刪除。本文中采用DBMS_AQADM包創(chuàng)建數(shù)據(jù)表,因此只要修改表名,就能夠設置相對應的屬性。
③創(chuàng)建隊列并啟動隊列
通過上述的操作根據(jù)需求分別建立有效負荷、對列表、隊列,并可通過系統(tǒng)查看創(chuàng)建了哪些與之相關的數(shù)據(jù)對象。每個隊列都會自動生成一系列的對象,這些對象都是會在后續(xù)的調(diào)用中進行應用的,但若在創(chuàng)建系統(tǒng)的第二個隊列時,若AQ沒有辦法從隊列中收到消息,則會將該消息記錄在異常隊列中,及第二個隊列中。
④隊列的停止和刪除
當隊列已經(jīng)不需要了,即該考生下的所有數(shù)據(jù)都已經(jīng)處理完畢了,則需要將隊列進行停止和刪除,以此來提高系統(tǒng)的內(nèi)存空間,提高系統(tǒng)的運行效率。
⑤入列和出列操作
當監(jiān)測到的考生提交的答案數(shù)據(jù)改變了,則將該消息進行入列操作;當已經(jīng)調(diào)用處理程序了,則表示該考生答案已經(jīng)進行了自動評分,則需將該消息進行出列管理。消息的入列和出列都可以直接用SQL語句進行查詢,通過這種方式可以實現(xiàn)考生答案的自動化評分,以及信息管理。
2.2.2 php使用JMS監(jiān)聽并處理mysql AQ隊列
當mysql AQ隊列消息隊列進行操作后,可調(diào)用php中的JMS來進行消息的處理。首先將參數(shù)信息配置好,并將其寫入到Spring中;將mysql數(shù)據(jù)類型的有效負荷數(shù)據(jù)轉(zhuǎn)換為php的通用數(shù)據(jù)類型。
本文采用數(shù)據(jù)庫監(jiān)聽的技術手段實時的監(jiān)聽ECSTORE軟件中的考生答題情況,開發(fā)了一套評分鑒定綜合考試系統(tǒng)GTS。應用數(shù)據(jù)庫監(jiān)聽的方式來實時的監(jiān)控學生答題的情況,并對返回的數(shù)據(jù)進行自動的客觀題、主觀題的評卷。數(shù)據(jù)庫監(jiān)聽的方式采用的php編程的方式,采用的是隊列數(shù)據(jù)結構來實現(xiàn)考生數(shù)據(jù)答案的變動。
該系統(tǒng)降低了系統(tǒng)之間的耦合性,提高了閱卷人的工作效益,降低了其工作量。上海市職業(yè)鑒定中心電子商務項目鑒定平臺自上線運行至今,已成功應用在數(shù)千場的電子商務職業(yè)鑒定考核中,并收到了考場督導、考評員等鑒定工作人員的一致好評,并且本系統(tǒng)也用于了上海市星光計劃電子商務科目的比賽。
[1]楊磊,畢紅軍.基于旁路監(jiān)聽的數(shù)據(jù)庫安全審計系統(tǒng)[J].計算機工程與應用,2015,51(08):138-142.
[2]趙海雁,陳立潮,葉樹華.基于Windows的網(wǎng)絡監(jiān)聽技術在局域網(wǎng)中的實現(xiàn)[J].計算機工程,2004(22):117-118+124.