利用腳本語言獲取商品屬性的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種利用腳本語言獲取商品屬性的方法和
目.0
【背景技術(shù)】
[0002]近年來,電子商務(wù)迅速發(fā)展。越來越多的消費者開始利用電子商務(wù)企業(yè)提供的平臺進(jìn)行網(wǎng)絡(luò)購物。消費者在瀏覽電子商務(wù)的網(wǎng)頁時,對需要的商品的屬性非常關(guān)心,從而幫助自己對各賣家的商品進(jìn)行比較,進(jìn)而做出購買決定。例如,若消費者欲購買筆記本電腦,常關(guān)注屏幕尺寸、CPU等商品屬性,并且經(jīng)常就商品屬性向電子商務(wù)企業(yè)進(jìn)行咨詢。
[0003]為了答復(fù)消費者的咨詢,現(xiàn)有的解決方案是利用腳本語言來實現(xiàn)的。但是,利用現(xiàn)有的解決方案答復(fù)消費者咨詢的商品屬性時,向消費者返回的信息常常不準(zhǔn)確。例如,消費者咨詢了關(guān)于CPU的商品屬性,向其返回的是關(guān)于屏幕尺寸的商品屬性,或者在具有該商品屬性的情況下向其返回的是“無法找到”的消息。
[0004]這是因為在現(xiàn)有的解決方案中,利用腳本語言編寫的腳本程序無法得到很好地測試,從而導(dǎo)致無法及時發(fā)現(xiàn)腳本程序中存在的問題,所以利用腳本程序獲取相關(guān)信息時會產(chǎn)生錯誤。因此,需要設(shè)計一種能夠更加準(zhǔn)確地獲取所需商品屬性的方法。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種利用腳本語言獲取商品屬性的方法和裝置,以提高電子商務(wù)企業(yè)在線答復(fù)消費者咨詢的準(zhǔn)確性。
[0006]一種利用腳本語言獲取商品屬性的方法,所述方法包括:
[0007]后臺總控模塊從前端交互模塊獲取用戶輸入的商品ID和用戶編輯的腳本程序;
[0008]所述后臺總控模塊向電子商務(wù)企業(yè)的數(shù)據(jù)接口模塊請求與該商品ID相關(guān)的所有商品屬性;
[0009]所述后臺總控模塊向加載執(zhí)行模塊發(fā)送用戶編輯的腳本程序和與該商品ID相關(guān)的所有商品屬性;
[0010]所述加載執(zhí)行模塊利用用戶編輯的腳本程序從與該商品ID相關(guān)的所有商品屬性中獲取消費者需要的商品屬性;
[0011]所述后臺總控模塊獲取加載執(zhí)行模塊返回的消費者需要的商品屬性,并將消費者需要的商品屬性返回至所述前端交互模塊。
[0012]可選地,所述方法還包括:
[0013]所述前端交互模塊將接收到的消費者需要的商品屬性與該商品屬性的正確信息進(jìn)行比對;
[0014]所述前端交互模塊判斷接收到的消費者需要的商品屬性是否正確;
[0015]若正確,所述前端交互模塊判斷消費者需要的商品屬性正確的次數(shù)是否達(dá)到預(yù)定值;
[0016]若達(dá)到預(yù)定值,則所述前端交互模塊通知所述腳本程序通過測試。
[0017]優(yōu)選地,所述加載執(zhí)行模塊利用用戶編輯的腳本程序從與該商品ID相關(guān)的所有商品屬性中獲取消費者需要的商品屬性包括:
[0018]將Jython引入java中,并在java中定義接口函數(shù);
[0019]引用并獲取用戶編輯的腳本程序;
[0020]將獲取的腳本程序轉(zhuǎn)化為java可調(diào)用代碼;
[0021]在java中對腳本程序進(jìn)行調(diào)用。
[0022]優(yōu)選地,將獲取的腳本程序轉(zhuǎn)化為java可調(diào)用代碼包括:
[0023]獲取之前生成的python對象;
[0024]將獲取的python對象轉(zhuǎn)化為java對象。
[0025]優(yōu)選地,在java中對腳本程序進(jìn)行調(diào)用包括:
[0026]將轉(zhuǎn)化為java對象的腳本程序轉(zhuǎn)化為接口類型;
[0027]直接調(diào)用轉(zhuǎn)化后的函數(shù)。
[0028]一種利用腳本語言獲取商品屬性的裝置,所述裝置包括:
[0029]前端交互模塊,用于向用戶提供對腳本程序進(jìn)行編輯、調(diào)試、及維護(hù)的頁面;
[0030]后臺總控模塊,用于從所述前端交互模塊獲取用戶輸入的商品ID和用戶編輯的腳本程序,向電子商務(wù)企業(yè)的數(shù)據(jù)接口模塊請求與該商品ID相關(guān)的所有商品屬性,向加載執(zhí)行模塊發(fā)送用戶編輯的腳本程序和與該商品ID相關(guān)的所有商品屬性,獲取加載執(zhí)行模塊返回的消費者需要的商品屬性,并將消費者需要的商品屬性返回至所述前端交互模塊;
[0031]電子商務(wù)企業(yè)的數(shù)據(jù)接口模塊,用戶獲取與該商品ID相關(guān)的所有商品屬性;
[0032]加載執(zhí)行模塊,用于利用用戶編輯的腳本程序從與該商品ID相關(guān)的所有商品屬性中獲取消費者需要的商品屬性。
[0033]可選地,所述前端交互模塊還用于將接收到的消費者需要的商品屬性與該商品屬性的正確信息進(jìn)行比對,判斷接收到的消費者需要的商品屬性是否正確,正確,判斷消費者需要的商品屬性正確的次數(shù)是否達(dá)到預(yù)定值,若達(dá)到預(yù)定值,則通知所述腳本程序通過測試。
[0034]優(yōu)選地,所述加載執(zhí)行模塊包括:
[0035]引入單元,用于將Jython引入java中,并在java中定義接口函數(shù);
[0036]第一獲取單元,用于引用并獲取用戶編輯的腳本程序;
[0037]第一轉(zhuǎn)化單元,用于將獲取的腳本程序轉(zhuǎn)化為java可調(diào)用代碼;
[0038]調(diào)用單元,用于在java中對腳本程序進(jìn)行調(diào)用。
[0039]優(yōu)選地,所述第一轉(zhuǎn)化單元包括:
[0040]第二獲取單元,用于獲取之前生成的python對象;
[0041]執(zhí)行轉(zhuǎn)化單元,用于將獲取的python對象轉(zhuǎn)化為java對象。
[0042]優(yōu)選地,所述調(diào)用單元包括:
[0043]第二轉(zhuǎn)化單元,用于將轉(zhuǎn)化為java對象的腳本程序轉(zhuǎn)化為接口類型;
[0044]執(zhí)行調(diào)用單元,用于直接調(diào)用轉(zhuǎn)化后的函數(shù)。
[0045]可以看出,通過本發(fā)明,利用電子商務(wù)企業(yè)的數(shù)據(jù)接口模塊可以獲取正確的商品屬性,并且可以對用戶編輯的腳本程序進(jìn)行測試,測試通過后才用于答復(fù)消費者的咨詢,從而提高了電子商務(wù)企業(yè)答復(fù)消費者咨詢的準(zhǔn)確性。
【附圖說明】
[0046]圖1為本發(fā)明一個實施例的方法流程圖;
[0047]圖2為本發(fā)明另一個實施例的方法流程圖;
[0048]圖3為圖2中步驟206的實現(xiàn)方式的一個實施例;
[0049]圖4為將圖2中的相關(guān)步驟與具體的模塊相結(jié)合的架構(gòu)圖;
[0050]圖5為本發(fā)明一個實施例的裝置框圖。
【具體實施方式】
[0051]在下文中,將根據(jù)附圖對本發(fā)明的示例性實施例進(jìn)行詳細(xì)描述。
[0052]在對詳細(xì)的描述進(jìn)行說明之前,應(yīng)該理解,用在本說明書以及權(quán)利要求中的術(shù)語及詞語可能不限于普通含義或詞典含義,而是在發(fā)明人能夠使用新詞以最佳方式解釋本發(fā)明的原則下,被解釋為適于本發(fā)明技術(shù)范圍的含義或概念。
[0053]本發(fā)明提供實施例使得公開充分并完全涵蓋本領(lǐng)域技術(shù)人員。對具體細(xì)節(jié)例如具體部件、裝置進(jìn)行闡述,以透徹理解本實施例。對本領(lǐng)域技術(shù)人員來說,顯然,不需要采用具體的細(xì)節(jié),實施例可以以許多不同的形式進(jìn)行具體體現(xiàn),而且不應(yīng)該解釋為對本發(fā)明范圍的限制。在一些實施例中,公知裝置結(jié)構(gòu)、以及公知技術(shù)不再詳細(xì)描述。
[0054]本發(fā)明提供的實施例可以包括前端交互模塊、后臺總控模塊、電子商務(wù)企業(yè)的數(shù)據(jù)接口模塊和腳本程序的加載執(zhí)行模塊。在本發(fā)明中,“消費者”指的是在電子商務(wù)企業(yè)的網(wǎng)站上購物的買家,“用戶”不同于“消費者”,“用戶”指的是對腳本程序進(jìn)行編輯、調(diào)試并維護(hù)的技術(shù)人員。本發(fā)明提供的實施例可以由用戶編輯的腳本程序來獲取消費者需要的商品屬性,并對獲取的消費者需要的商品屬性是否正確進(jìn)行驗證,從而對用戶編輯的腳本程序進(jìn)行測試,經(jīng)過測試能夠提供正確信息的腳本程序才能夠用來答復(fù)消費者的咨詢,從而提高了答復(fù)消費者咨詢的準(zhǔn)確性。下面對本發(fā)明進(jìn)行詳細(xì)說明。
[0055]請參考圖1,為本發(fā)明一個實施例的方法流程圖,可以包括以下步驟:
[0056]步驟101:后臺總控模塊從前端交互模塊獲取用戶輸入的商品ID和用戶編輯的腳本程序;
[0057]步驟102:后臺總控模塊向電子商務(wù)企業(yè)的數(shù)據(jù)接口模塊請求與該商品ID相關(guān)的所有商品屬性;
[0058]步驟103:后臺總控模塊向加載執(zhí)行模塊發(fā)送用戶編輯的腳本程序和與該商品ID相關(guān)的所有商品屬性;
[0059]步驟104:加載執(zhí)行模塊利用用戶編輯的腳本程序從與該商品ID相關(guān)的所有商品屬性中獲取消費者需要的商品屬性;
[0060]步驟105:后臺總控模塊獲取加載執(zhí)行模塊返回的消費者需要的商品屬性,并將消費者需要的商品屬性返回至前端交互模塊。
[0061]請參考圖2,為本發(fā)明另一個實施例的方法流程圖,可以包括以下步驟:
[0062]步驟201:前端交互模塊向用戶提供對腳本程序進(jìn)行編輯、調(diào)試、及維護(hù)的頁面;
[0063]步驟202:后臺總控模塊從前端交互模塊獲取用戶輸入的商品ID和用戶編輯的腳本程序;
[0064]需要指出的是,用戶編輯的腳本程序用于獲取消費者需要的商品屬性。
[0065]步驟203:后臺總控模塊向數(shù)據(jù)接口模塊發(fā)送商品ID,同時請求與該商品ID相關(guān)的所有商品屬性;
[0066]步驟204:后臺總控模塊接收數(shù)據(jù)接口模塊返回的與該商品ID相關(guān)的所有商品屬性;
[0067]步驟205:后臺總控模塊向加載執(zhí)行模塊發(fā)送用戶編輯的腳本程序和與該商品ID相關(guān)的所有商品屬性;
[0068]步驟206:加載執(zhí)行模塊利用用戶編輯的腳本程序從與該商品ID相關(guān)的所有商品屬性中獲取消費者需要的商品屬性;
[0069]步驟207:后臺總控模塊獲取加載執(zhí)行模塊返回的消費者需要的商品屬性;
[0070]步驟208:后臺總控模塊向前端交互模塊返回消費者需要的商品屬性。
[0071]之后,前端交互模塊將接收到的消費者需要的商品屬性與該商品屬性的正確信息進(jìn)行比對,判斷接收到的消費者需要的商品屬性是否正確,若正確,判斷消費者需要的商品屬性正確的次數(shù)是否達(dá)到預(yù)定值,若是,則說明用戶編輯的腳本程序可以通過測試并且可以用于答復(fù)消費者的咨詢。若將消費者需要的商品屬性與該商品屬性的正確信息進(jìn)行比對后發(fā)現(xiàn)不正確,則提示用戶需要對腳本程序進(jìn)行修改。
[0072]下面對步驟206進(jìn)行詳細(xì)說明。
[0073]用戶利用腳本語言編寫的是腳本程序,而步驟206的加載執(zhí)行步驟是由java實現(xiàn)的,因此為了能夠在java中執(zhí)行腳本程序,本發(fā)明采用Jython。Jython能夠方便地嵌入java程序中,從而執(zhí)行腳本程序。具體地,步驟206可以包括以下步驟,如圖3所示:
[0074]步驟206-1:將Jython引入java中,并在java中定義接口函數(shù);
[0075]作為一個具體實例,將Jython引入java中可以由下列代碼實現(xiàn):
[0076]〈dependency〉
[0077]<groupId>org.python</group I d>
[0078]<artifactld> jython-standalone</artifactId>
[0079]<vers1n>2.7-bl</vers1n>
[0080]</dependency〉
[0081]腳本程序需要實現(xiàn)java中定義的接口函數(shù),作為一個具體實例,腳本程序?qū)崿F(xiàn)該接口函數(shù)可以由下列代碼實現(xiàn):
[0082]public String calcAttribute(PyDict1nary attributeList);
[0083]其中,attributeList是傳入?yún)?shù),包含了當(dāng)前咨詢的商品的所有商品屬性。String是表示返回值的字符串,即腳