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