本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種獲取產(chǎn)品對(duì)象的方法及裝置。
背景技術(shù):
用戶在通過互聯(lián)網(wǎng)進(jìn)行購物時(shí),可以在產(chǎn)品的購買網(wǎng)頁中配置產(chǎn)品的多項(xiàng)參數(shù),商家可以根據(jù)用戶配置的產(chǎn)品參數(shù)來為用戶準(zhǔn)備相應(yīng)的產(chǎn)品,比如,用戶在購買云服務(wù)器時(shí),云服務(wù)器可以包括cpu、內(nèi)存、磁盤、帶寬、操作系統(tǒng)、區(qū)域等多個(gè)模塊,用戶可以針對(duì)上述多個(gè)模塊進(jìn)行選擇,但是,商家提供的上述多個(gè)模塊在銷售上會(huì)存在約束限制,比如,杭州區(qū)域不能購買cpu8核,內(nèi)存32g或者64g的機(jī)器;用戶選擇1核cpu,512m內(nèi)存的時(shí)候不能選擇windows操作系統(tǒng)等。
需要說明的是,在相關(guān)技術(shù)中實(shí)現(xiàn)上述產(chǎn)品的約束配置會(huì)存在如下缺點(diǎn):
(1)如果一種產(chǎn)品存在多個(gè)模塊時(shí),相關(guān)技術(shù)只能做到少數(shù)模塊(例如兩個(gè)模塊)的互斥,無法做到多個(gè)模塊之間的復(fù)雜約束。
(2)商家無法直觀的配置產(chǎn)品的約束條件,只能通過復(fù)雜的表達(dá)式引擎來實(shí)現(xiàn)約束的配置。
(3)用戶選擇配置產(chǎn)品的過程中會(huì)不斷調(diào)用系統(tǒng)后臺(tái)來校驗(yàn)約束條件,導(dǎo)致系統(tǒng)性能低下。
針對(duì)相關(guān)技術(shù)中,用戶在進(jìn)行產(chǎn)品配置時(shí)會(huì)不斷調(diào)用系統(tǒng)后臺(tái)來校驗(yàn)約束條件導(dǎo)致系統(tǒng)性能低下的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種獲取產(chǎn)品對(duì)象的方法及裝置,以至少解決相關(guān)技術(shù)中,用戶在進(jìn)行產(chǎn)品配置選擇時(shí)會(huì)不斷調(diào)用系統(tǒng)后臺(tái)來校驗(yàn)約束條件導(dǎo)致系統(tǒng)性能低下的技術(shù)問題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種獲取產(chǎn)品對(duì)象的方法,包括:接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品 對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種獲取產(chǎn)品對(duì)象的裝置,包括:接收單元,用于接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);調(diào)用單元,用于根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷單元,用于遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;提交單元,用于在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。
在本發(fā)明實(shí)施例中,采用接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng),解決了相關(guān)技術(shù)中,用戶在進(jìn)行產(chǎn)品配置選擇時(shí)會(huì)不斷調(diào)用系統(tǒng)后臺(tái)來校驗(yàn)約束條件導(dǎo)致系統(tǒng)性能低下的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)發(fā)明實(shí)施例的一種獲取產(chǎn)品對(duì)象的方法的運(yùn)行終端的結(jié)構(gòu)圖;
圖2是根據(jù)發(fā)明實(shí)施例的一種獲取產(chǎn)品對(duì)象的方法的流程圖;
圖3是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖4是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖5是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖6是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖7是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖8是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖9是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖10是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖11是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的方法的示意圖;
圖12是根據(jù)發(fā)明實(shí)施例的一種獲取產(chǎn)品對(duì)象的裝置的示意圖;
圖13是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的裝置的示意圖;
圖14是根據(jù)發(fā)明實(shí)施例的一種可選地獲取產(chǎn)品對(duì)象的裝置的示意圖;以及
圖15是根據(jù)發(fā)明實(shí)施例的一種獲取產(chǎn)品對(duì)象的方法的運(yùn)行終端的結(jié)構(gòu)圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,還提供了一種獲取產(chǎn)品對(duì)象的方法的實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請(qǐng)實(shí)施例一所提供的方法實(shí)施例可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。以運(yùn)行在計(jì)算機(jī)終端上為例,圖1是本發(fā)明實(shí)施例的一種獲取產(chǎn)品對(duì)象的方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖。如圖1所示,計(jì)算機(jī)終端10可以包括一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲(chǔ)器104可用于存儲(chǔ)應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實(shí)施例中的獲取產(chǎn)品對(duì)象的方法對(duì)應(yīng)的程序指令/模塊,處理器102通過運(yùn)行存儲(chǔ)在存儲(chǔ)器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的獲取產(chǎn)品對(duì)象的方法。存儲(chǔ)器104可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器104可進(jìn)一步包括相對(duì)于處理器102遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至計(jì)算機(jī)終端10。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實(shí)例可包括計(jì)算機(jī)終端10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置106包括一個(gè)網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
在上述運(yùn)行環(huán)境下,本申請(qǐng)?zhí)峁┝巳鐖D2所示的獲取產(chǎn)品對(duì)象的方法。圖2是根據(jù)本發(fā)明實(shí)施例一的獲取產(chǎn)品對(duì)象的方法的流程圖。該方法可以包括:
步驟s22,接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù)。
在上述步驟s22中,上述當(dāng)前賬戶可以為正在瀏覽產(chǎn)品銷售頁面的買家,本方案 可以通過網(wǎng)站服務(wù)器來接收買家通過產(chǎn)品銷售頁面提交的產(chǎn)品請(qǐng)求信息,上述產(chǎn)品對(duì)象可以為買家在產(chǎn)品銷售頁面選擇的具體的產(chǎn)品,上述產(chǎn)品參數(shù)可以為上述產(chǎn)品的多個(gè)組成模塊,上述參數(shù)數(shù)據(jù)可以為產(chǎn)品的每個(gè)組成模塊所對(duì)應(yīng)的具體的型號(hào)、尺寸、地域等屬性。
下面以買家購買云服務(wù)器為例,買家可以登錄云服務(wù)器的銷售頁面,需要說明的是,云服務(wù)器可以包括地域、cpu、內(nèi)存、公網(wǎng)帶寬、鏡像類型等多個(gè)組成模塊,其中,每個(gè)組成模塊可以包括多個(gè)型號(hào),比如,云服務(wù)器中的一個(gè)組成模塊“內(nèi)存”可以包括512m,1gb,2gb,4gb,8gb等型號(hào),買家可以對(duì)銷售頁面中顯示的云服務(wù)器的組成模塊以及每個(gè)組成模塊的型號(hào)進(jìn)行選擇,生成產(chǎn)品請(qǐng)求信息,網(wǎng)站服務(wù)器可以接收買家提交的產(chǎn)品請(qǐng)求信息。
步驟s24,根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果。
在上述步驟s24中,網(wǎng)站服務(wù)器可以根據(jù)買家賬戶提交的產(chǎn)品請(qǐng)求信息來調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,需要說明的是,本方案可以采用樹狀結(jié)構(gòu)的約束模型中的各個(gè)節(jié)點(diǎn)來保存上述產(chǎn)品約束信息中的約束名稱、至少一個(gè)約束條件和約束結(jié)果。需要說明的是,上述產(chǎn)品約束信息為產(chǎn)品的各個(gè)組成模塊之間的約束限制,比如,選擇了模塊a中的a1型號(hào)的買家只能選擇模塊b中的b1型號(hào)。
下面仍以買家購買云服務(wù)器為例,在網(wǎng)站服務(wù)器中可以預(yù)先保存有多個(gè)關(guān)于云服務(wù)器的產(chǎn)品約束信息,例如,在預(yù)先保存的第一產(chǎn)品約束信息中,約束名稱為:不同地域購買16核32g的機(jī)器的限制,約束的條件為:杭州地域,約束結(jié)果為可以購買16核32g的機(jī)器,從上述第一產(chǎn)品約束信息可知,只有杭州地域才可以購買16核32g的機(jī)器。再例如,在預(yù)先保存的第二產(chǎn)品約束信息中,約束名稱為:不同操作系統(tǒng)購買1核512m的機(jī)器的限制,約束條件為windows,約束結(jié)果為不能購買1核512m的機(jī)器,從上述第二產(chǎn)品約束信息可知,windows操作系統(tǒng)不能購買1核512m的機(jī)器。再例如,在預(yù)先保存的第三產(chǎn)品約束信息中,約束名稱為:不同地域購買云ssd數(shù)據(jù)盤的機(jī)器的限制,約束條件為深圳,約束結(jié)果為可以購買云ssd數(shù)據(jù)盤的機(jī)器,從上述第三產(chǎn)品約束信息可知,只有深圳的地域才可以購買云ssd數(shù)據(jù)盤。
步驟s26,遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功。
在上述步驟s26中,網(wǎng)站服務(wù)器在調(diào)用了多個(gè)產(chǎn)品約束信息之后,可以遍歷上述樹狀模型中的各個(gè)節(jié)點(diǎn)中保存的約束名稱、至少一個(gè)約束條件和約束結(jié)果,如果上述樹狀模型中包含任意一個(gè)與上述產(chǎn)品參數(shù)相匹配的約束條件,并且,樹狀模型中包含與上述參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,在網(wǎng)站服務(wù)器確定買家所選擇的產(chǎn)品對(duì)象校驗(yàn)成功,則說明買家在產(chǎn)品銷售頁面所選擇的產(chǎn)品對(duì)象的產(chǎn)品參數(shù)以及參數(shù)沒有違背服務(wù)器預(yù)先保存的約束限制,買家可以對(duì)所選擇的產(chǎn)品對(duì)象進(jìn)行購買。
需要說明的是,在上述樹狀模型包含著多個(gè)不同的約束條件以及約束結(jié)果,在本方案中,只要存在一組約束條件以及約束結(jié)果與賣家選擇的產(chǎn)品參數(shù)以及參數(shù)數(shù)據(jù)相匹配,則買家所選擇的產(chǎn)品對(duì)象校驗(yàn)成功。
下面仍以買家購買云服務(wù)器為例,買家可以在云服務(wù)器的銷售頁面進(jìn)行選擇,比如,買家的選擇可以為如下:在杭州區(qū)域購買cpu8核的云服務(wù)器,網(wǎng)站服務(wù)器在接收買家的產(chǎn)品請(qǐng)求信息之后,可以遍歷預(yù)存的樹狀結(jié)構(gòu),在該樹狀結(jié)構(gòu)的模型中可以保存多個(gè)約束條件以及約束結(jié)果,在本實(shí)施例中,如果在該樹狀結(jié)構(gòu)的多個(gè)節(jié)點(diǎn)中包括約束條件“杭州區(qū)域”以及約束結(jié)果“可以購買cpu8核的云服務(wù)器”,那么買家所選擇的產(chǎn)品對(duì)象校驗(yàn)成功,說明買家所選擇的產(chǎn)品請(qǐng)求信息“在杭州區(qū)域購買cpu8核的云服務(wù)器”沒有違背網(wǎng)站服務(wù)器預(yù)存的約束限制,即買家可以在杭州區(qū)域購買cpu8核的云服務(wù)器。
這里需要說明的是,在該樹狀結(jié)構(gòu)中可以預(yù)存如下多組約束條件以及約束結(jié)果:第一組:在北京區(qū)域可以購買cpu8核的云服務(wù)器,第二組:在杭州區(qū)域不可以購買cpu6核的云服務(wù)器,第三組:在深圳區(qū)域可以購買cpu8核的云服務(wù)器,在杭州區(qū)域不可以購買cpu4核的云服務(wù)器,第四組:在杭州地域可以購買cpu8核的云服務(wù)器。容易注意到,盡管第一組、第二組以及第三組的約束條件以及約束結(jié)果與賣家的產(chǎn)品請(qǐng)求信息中的參數(shù)以及參數(shù)數(shù)據(jù)不匹配,但是,只要在樹狀結(jié)構(gòu)模型中存在任意一組(例如第四組)與賣家的請(qǐng)求信息匹配的第四組約束條件以及約束結(jié)果,買家所選擇的產(chǎn)品對(duì)象校驗(yàn)成功,買家就可以在杭州區(qū)域購買cpu8核的云服務(wù)器,
步驟s28,在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。
在上述步驟s28中,在本方案中,如果買家選擇的產(chǎn)品對(duì)象校驗(yàn)成功,網(wǎng)站服務(wù)器則將買家所選擇的產(chǎn)品對(duì)象提交至處理系統(tǒng),上述處理系統(tǒng)可以為產(chǎn)品銷售網(wǎng)站的購物車結(jié)算系統(tǒng)。
下面仍以買家購買云服務(wù)器為例,買家可以在云服務(wù)器的銷售頁面的選擇為如下:在杭州區(qū)域購買cpu8核的云服務(wù)器,在網(wǎng)站服務(wù)器對(duì)買家所選擇的產(chǎn)品對(duì)象校驗(yàn)成功 之后,網(wǎng)站服務(wù)器則將買家在杭州區(qū)域購買cpu8核的云服務(wù)器的需求提交至云服務(wù)器的銷售頁面的結(jié)算系統(tǒng),該結(jié)算系統(tǒng)可以生成杭州區(qū)域cpu8核的云服務(wù)器的價(jià)格。
本申請(qǐng)上述實(shí)施例一公開的方案中,如果產(chǎn)品銷售商想獲取買家賬戶所選擇產(chǎn)品對(duì)象,首先,網(wǎng)站服務(wù)器可以接收買家賬戶通過產(chǎn)品的銷售頁面提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前買家賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);然后,網(wǎng)站服務(wù)器可以根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;接著,網(wǎng)站服務(wù)器可以遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;最后,在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。容易注意到,在接收到買家賬戶的產(chǎn)品請(qǐng)求信息之后,本方案只調(diào)用一次預(yù)存的多個(gè)產(chǎn)品約束信息,然后遍歷上述多個(gè)產(chǎn)品約束信息的方法,從而校驗(yàn)買家賬戶所選擇的產(chǎn)品對(duì)象是否違背約束限制,同現(xiàn)有技術(shù)相比,本方案可以避免在用戶配置產(chǎn)品的過程中不斷的調(diào)用系統(tǒng)后臺(tái)導(dǎo)致系統(tǒng)性能低下的問題,而且,本方案可以采用預(yù)先保存的多個(gè)約束信息對(duì)產(chǎn)品對(duì)象進(jìn)行校驗(yàn),該多個(gè)約束信息可以包含產(chǎn)品的多個(gè)模塊,即本方案還可以實(shí)現(xiàn)多個(gè)模塊之間的復(fù)雜約束。由此,本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例一的方案解決了相關(guān)技術(shù)中,用戶在進(jìn)行產(chǎn)品配置選擇時(shí)會(huì)不斷調(diào)用系統(tǒng)后臺(tái)來校驗(yàn)約束條件導(dǎo)致系統(tǒng)性能低下的技術(shù)問題。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,在步驟s22,接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息之前,本方案還可以包括:
步驟s111,當(dāng)前賬戶訪問對(duì)應(yīng)的產(chǎn)品頁面,讀取產(chǎn)品配置信息以及產(chǎn)品約束信息集合,其中,產(chǎn)品配置信息包括:多個(gè)產(chǎn)品參數(shù)以及每個(gè)產(chǎn)品參數(shù)對(duì)應(yīng)的至少一個(gè)參數(shù)數(shù)據(jù)。
在上述步驟s111中,上述產(chǎn)品頁面可以為產(chǎn)品的銷售頁面,產(chǎn)品的買家在登錄上述產(chǎn)品的銷售頁面之后,網(wǎng)站服務(wù)器可以讀取預(yù)存的產(chǎn)品配置信息以及約束信息集合,上述產(chǎn)品配置信息為產(chǎn)品的組成模塊以及每個(gè)組成模塊的多項(xiàng)屬性,上述產(chǎn)品約束信息集合中可以包括關(guān)于上述產(chǎn)品的所有的約束信息,需要說明的是,上述產(chǎn)品的約束信息集合可以采用樹狀結(jié)構(gòu)模型的多個(gè)節(jié)點(diǎn)進(jìn)行保存。
這里需要說明的是,步驟s111中的產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù)為預(yù)存在網(wǎng)站服務(wù)器(系統(tǒng)后臺(tái))中的產(chǎn)品的所有配置信息,而步驟s22中的產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù)為買家在產(chǎn)品的銷售頁面中通過選擇生成,二者產(chǎn)生原因不同。
下面仍以買家購買云服務(wù)器為例,買家登錄云服務(wù)器的銷售頁面,然后網(wǎng)站服務(wù)器讀取關(guān)于云服務(wù)器的配置信息,比如云服務(wù)器產(chǎn)品可以包括多個(gè)模塊(即上述產(chǎn)品參數(shù)):地域模塊、可用區(qū)模塊、cpu模塊、內(nèi)存模塊、公網(wǎng)帶寬模塊、帶寬模塊以及鏡像類型模塊,其中每個(gè)模塊可以包括多個(gè)屬性(即參數(shù)數(shù)據(jù)),地域模塊可以包括北京、上海、深圳、杭州、青島、香港、美國硅谷、亞太(新加坡)等屬性,cpu模塊可以包括:1核,2核,4核,8核,16核等屬性。內(nèi)存可以包括:512m,1gb,2gb,4gb,8gb等屬性,公網(wǎng)帶寬可以包括:按固定帶寬、按使用流量等屬性,鏡像來行可以包括:公共鏡像以及鏡像市場(chǎng)等屬性。網(wǎng)站服務(wù)器還可以讀取云服務(wù)器的約束信息,云服務(wù)器約束信息為云服務(wù)器的各個(gè)組成模塊之間的約束限制,比如,只有杭州地域才可以購買16核32g的機(jī)器,windows操作系統(tǒng)不能購買1核512m的機(jī)器,只有深圳的地域才可以購買云ssd數(shù)據(jù)盤等。
步驟s112,根據(jù)產(chǎn)品約束信息集合將產(chǎn)品配置信息顯示在產(chǎn)品頁面中。
在上述步驟s112中,網(wǎng)站服務(wù)器在讀取了產(chǎn)品約束信息集合以及產(chǎn)品配置信息之后,可以根據(jù)產(chǎn)品約束信息集合將產(chǎn)品配置信息顯示在產(chǎn)品的銷售頁面中供買家查看和選擇,需要說明的是,由于本方案是根據(jù)產(chǎn)品約束信息來顯示產(chǎn)品的配置,因此,在產(chǎn)品銷售頁面顯示的產(chǎn)品的配置信息是符合產(chǎn)品的約束限制的,即隨著買家對(duì)產(chǎn)品的配置的選擇,頁面中顯示的產(chǎn)品配置信息是不斷變化的。
下面仍以買家購買云服務(wù)器為例,買家登錄云服務(wù)器的銷售頁面之后,網(wǎng)站服務(wù)器可以讀取預(yù)存的云服務(wù)器的配置信息以及云服務(wù)器的約束信息,然后按照云服務(wù)器的約束信息將云服務(wù)器的配置信息顯示在云服務(wù)器的銷售頁面,如圖3所示,如果買家選擇地域?yàn)楸本?,那么在云服?wù)的銷售頁面中顯示的cpu可以為1核至16核,如果買家選擇地域?yàn)樯钲?,那么銷售頁面中顯示的cpu為1核至8核,即云服務(wù)器的銷售頁面中顯示的產(chǎn)品內(nèi)容可以隨著買家的配置而動(dòng)態(tài)變化。
需要說明的是,結(jié)合圖3,如果用戶在云服務(wù)的銷售頁面中勾選了io優(yōu)化實(shí)例,本方案可以為用戶顯示一個(gè)優(yōu)選的云服務(wù)器的配置(多數(shù)人選擇的云服務(wù)器的配置)。
步驟s113,當(dāng)當(dāng)前賬戶選定產(chǎn)品頁面中顯示的一個(gè)或多個(gè)產(chǎn)品參數(shù)以及對(duì)應(yīng)的參數(shù)數(shù)據(jù)之后,產(chǎn)生待提交的產(chǎn)品請(qǐng)求信息。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,在步驟s111,讀取產(chǎn)品配置信息以及產(chǎn)品約束信息集合之后,本方案還可以包括:
步驟s115,根據(jù)當(dāng)前賬戶的賬戶信息判斷是否存在與當(dāng)前賬戶對(duì)應(yīng)的特殊約束信息,其中,賬戶信息至少包括如下任意一種或多種數(shù)據(jù):賬戶名稱、當(dāng)前賬戶的登錄 次數(shù)、登錄頻率、當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象的數(shù)量和頻率。
在上述步驟s115中,網(wǎng)站服務(wù)器可以根據(jù)買家的賬戶信息(賬戶的名稱、登錄次數(shù)、登錄頻率以及請(qǐng)求的產(chǎn)品對(duì)象)來判斷買家是否為vip用戶(個(gè)性化用戶),如果買家為vip用戶的情況下,則在網(wǎng)站服務(wù)器則調(diào)用與vip用戶對(duì)應(yīng)的特殊約束信息,需要說明的是,上述特殊約束信息與普通用戶對(duì)應(yīng)的約束信息相比,約束條件、約束結(jié)果可以不同。
下面仍以買家購買云服務(wù)器為例,在網(wǎng)站服務(wù)器中預(yù)存著白名單,在白名單中預(yù)存這多個(gè)vip用戶(個(gè)性化用戶)的賬戶名稱,在買家登錄云服務(wù)器的銷售頁面之后,網(wǎng)站服務(wù)器可以判斷買家賬戶的名稱是否存在于上述白名單,如果買家賬戶的名稱是否存在于上述白名單,則網(wǎng)站服務(wù)器確定上述買家賬戶為vip用戶,然后查詢與該vip用戶對(duì)應(yīng)的特殊約束信息。
步驟s116,如果存在,則使用特殊約束信息更新產(chǎn)品約束信息集合,并輸出更新后的產(chǎn)品約束信息集合。
在上述步驟s116中,網(wǎng)站服務(wù)器可以采用上述特殊約束信息來修改預(yù)存的約束信息集合,即修改上述樹狀結(jié)構(gòu)的模型,比如約束條件的修改、刪除,約束結(jié)果的修改、刪除。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,約束模型中以約束名稱為根節(jié)點(diǎn),每個(gè)約束條件作為子節(jié)點(diǎn),約束結(jié)果為葉子節(jié)點(diǎn),其中,當(dāng)約束條件的所對(duì)應(yīng)的子節(jié)點(diǎn)作為父親節(jié)點(diǎn)時(shí),約束模型還包括至少一個(gè)基于子約束條件所確定的孫子節(jié)點(diǎn),以此得到樹狀結(jié)構(gòu)的約束模型。
在上述數(shù)狀結(jié)構(gòu)的約束模型中,如圖4所示,主要包括約束名稱、約束條件以及約束結(jié)果,產(chǎn)品的每個(gè)組成模塊可以包括多個(gè)約束名稱,每個(gè)約束名稱可以包括多個(gè)約束條件,約束結(jié)果描述的是產(chǎn)品的組成模塊的屬性值,在樹狀結(jié)構(gòu)模型中,約束名稱為根節(jié)點(diǎn),約束條件為子節(jié)點(diǎn),約束結(jié)果為葉子節(jié)點(diǎn),需要說明的是,在本方案中,約束條件作為父親節(jié)點(diǎn),還可以包括子約束條件,該子約束條件相當(dāng)于約束名稱來說則為孫子節(jié)點(diǎn),本方案通過上述方式來生成上述樹狀的約束模型。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,產(chǎn)品的銷售管理人員可以在后臺(tái)配置產(chǎn)品的樹狀約束模型,如圖5所示,管理人員可以在根節(jié)點(diǎn)“不同地域?qū)Ω鼡Qos的限制”下添加父約束條件“更換操作系統(tǒng)”,然后在約束條件“更換操作系統(tǒng)”下繼續(xù)添加子約束條件“windows”、“l(fā)inux”等,然后銷售管理人員還可以在子約束條件“windows”下繼續(xù)添加孫子約束條件“香港”、“美國硅谷”、“亞太”,在子約束條件“l(fā)inux”下 繼續(xù)添加孫子約束條件“香港”、“美國硅谷”、“亞太”,從而建立樹狀的約束模型。
下面舉例說明銷售管理人員建立圖5中約束模型的具體過程:
步驟s41,產(chǎn)品的銷售管理人員可以點(diǎn)擊約束配置頁面中的增加商品約束的按鈕,然后在彈出的對(duì)話框中填寫產(chǎn)品約束的名稱“不同地域?qū)Ω鼡Qos的限制”和購買類型“更換操作系統(tǒng)”,生成一條新的產(chǎn)品約束,默認(rèn)的第一個(gè)約束條件為更換操作系統(tǒng)。
步驟s42,產(chǎn)品的銷售管理人員可以點(diǎn)擊圖5中“更換操作系統(tǒng)”右側(cè)的添加子條件按鈕,在彈出的對(duì)話框(如圖6所示)中添加一個(gè)windows的條件,如圖6所示,key是對(duì)應(yīng)的配件屬性code,value是具體的值(對(duì)于單值情況起始值和結(jié)束值填一樣),錯(cuò)誤碼用于返回給前端頁面,頁面就可以個(gè)性化的展示錯(cuò)誤(如炒作系統(tǒng)不合法),產(chǎn)品的銷售管理人員可以通過與步驟b同樣的方法再添加一個(gè)linux的子條件。
步驟s43,產(chǎn)品的銷售管理人員可以點(diǎn)擊圖5中windows右側(cè)的“添加子條件”按鈕,會(huì)再次彈出一個(gè)框,如圖7所示,產(chǎn)品的銷售管理人員可以在圖7中的對(duì)話框中填寫windows子條件的子條件,通過多部操作,產(chǎn)品的銷售管理人員可以把所有子條件添加完畢。
步驟s44,產(chǎn)品的銷售管理人員可以在圖5中的孫子約束條件“香港”下添加約束結(jié)果,在點(diǎn)擊編輯結(jié)果的按鈕之后,彈出對(duì)話框(如圖8所示),圖8中的約束結(jié)果表示香港地域更換os可以更換windows的,但不能更換為linux的。需要說明的是,如圖9所示,產(chǎn)品的銷售管理人員還可以更改約束結(jié)果的可選值。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,步驟s26,遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功的步驟可以包括:
步驟a,讀取產(chǎn)品約束信息集合中的第一產(chǎn)品約束信息。
在上述步驟a中,網(wǎng)站服務(wù)器可以讀取預(yù)存的產(chǎn)品約束信息集合中的任意一個(gè)產(chǎn)品約束信息,在上述第一產(chǎn)品約束信息中可以包括著第一約束條件、以及第一約束條件對(duì)應(yīng)的約束結(jié)果,需要說明的是,上述第一產(chǎn)品約束信息保存在第一樹狀結(jié)構(gòu)模型中。
下面仍以買家購買云服務(wù)器為例,在買家提交云服務(wù)器的請(qǐng)求信息之后,網(wǎng)站服務(wù)器可以讀取預(yù)存在數(shù)據(jù)庫中的產(chǎn)品約束信息集合的任意一個(gè)產(chǎn)品約束信息,第一產(chǎn)品約束信息的第一約束條件可以為“在北京地域”,與第一產(chǎn)品約束條件對(duì)應(yīng)的第一約 束結(jié)果可以為“可以購買1核cpu”。
步驟b,判斷第一產(chǎn)品約束信息的第一約束條件是否與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配,在匹配的情況下,執(zhí)行步驟c,否則,返回步驟a來讀取產(chǎn)品約束信息集合中的第二產(chǎn)品約束信息,其中,第二產(chǎn)品約束信息為第一產(chǎn)品約束信息的下一條信息。
在上述步驟b中,在買家提交的請(qǐng)求信息中包含著產(chǎn)品參數(shù)以及產(chǎn)品參數(shù)數(shù)據(jù),網(wǎng)站服務(wù)器可以將買家提交的請(qǐng)求信息的產(chǎn)品參數(shù)與上述第一約束條件進(jìn)行匹配,如果匹配成功,則執(zhí)行步驟c,如果匹配失敗,則讀取第一產(chǎn)品約束信息下的第二產(chǎn)品約束信息。
下面仍以買家購買云服務(wù)器為例,在產(chǎn)品約束信息集合中,第一產(chǎn)品約束信息的第一產(chǎn)品約束條件為“在北京地域”,第二產(chǎn)品約束信息的產(chǎn)品約束條件為“在杭州”,買家提交的產(chǎn)品請(qǐng)求信息中,產(chǎn)品參數(shù)為“在北京地域”,網(wǎng)站服務(wù)器則判定匹配成功。需要說明的是,如果產(chǎn)品請(qǐng)求信息中的產(chǎn)品參數(shù)為在“在深圳地域”,則匹配失敗,網(wǎng)站服務(wù)器則讀取第二產(chǎn)品約束信息的產(chǎn)品約束條件。
步驟c,判斷第一產(chǎn)品信息的第一約束條件的節(jié)點(diǎn)是否為約束模型中的葉子節(jié)點(diǎn),如果不是葉子節(jié)點(diǎn),執(zhí)行步驟d,否則,返回步驟b來深度搜索遍歷約束條件的子約束條件,直至遍歷到約束條件的節(jié)點(diǎn)為葉子節(jié)點(diǎn)。
在上述步驟c中,網(wǎng)站服務(wù)器可以繼續(xù)判定第一約束條件在樹狀結(jié)構(gòu)的約束模型中是否為葉子節(jié)點(diǎn),如果第一約束條件之下存在子約束條件的情況下,網(wǎng)站服務(wù)器則通過深度搜索算法來遍歷第一約束條件下的所有子約束條件,需要說明的是,在樹狀結(jié)構(gòu)的約束模型中,如果第一約束條件之下存在第一子約束條件,第一子約束條件之下存在第一孫子約束條件,網(wǎng)站服務(wù)器則遍歷一個(gè)子約束條件,然后將每一個(gè)子約束條件與用戶的請(qǐng)求信息的產(chǎn)品參數(shù)進(jìn)行匹配,直到最后一個(gè)座位葉子節(jié)點(diǎn)的約束條件與用戶的請(qǐng)求信息的產(chǎn)品參數(shù)匹配為止,再執(zhí)行步驟d。
步驟d,判斷第一約束條件對(duì)應(yīng)的約束結(jié)果是否與請(qǐng)求信息中包含的參數(shù)數(shù)據(jù)相匹配,在匹配的情況下,確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功,并返回步驟a來深度遍歷產(chǎn)品約束信息集合中的下一條產(chǎn)品約束信息。
在上述步驟d中,在第一約束條件與請(qǐng)求信息的產(chǎn)品匹配之后,網(wǎng)站服務(wù)器則將第一約束結(jié)果與參數(shù)數(shù)據(jù)相匹配,如果匹配,則說明校驗(yàn)成功,買家所選擇的產(chǎn)品對(duì)象沒有違背產(chǎn)品約束限制,如果匹配不成功,網(wǎng)站服務(wù)器則深度遍歷產(chǎn)品約束信息集合中的下一條產(chǎn)品約束信息。
下面舉例詳細(xì)闡述步驟a至步驟d中產(chǎn)品對(duì)象校驗(yàn)的過程:
買家user在云服務(wù)器的銷售頁面中進(jìn)行產(chǎn)品對(duì)象的選擇,以生成云服務(wù)器的請(qǐng)求信息,該云服務(wù)器的請(qǐng)求信息可以為:在地域青島,購買系統(tǒng)為windows、cpu為1核的云服務(wù)器,可見,在該云服務(wù)器的請(qǐng)求信息中,產(chǎn)品參數(shù)為地域、系統(tǒng)以及cpu,與產(chǎn)品參數(shù)對(duì)應(yīng)的參數(shù)數(shù)據(jù)分別為:青島、windows以及1核。在網(wǎng)站服務(wù)器中預(yù)存有多個(gè)樹狀結(jié)構(gòu)模型用于存儲(chǔ)多個(gè)約束信息:其中約束信息l1:在地域青島可以購買統(tǒng)為windows、cpu為1核的云服務(wù)器,可見,在約束信息l1中,存在兩條約束條件,約束條件t1:地域青島,約束條件t2:windows,約束結(jié)果r1:可以購買1核cpu。需要說明的是,約束信息l1在樹狀結(jié)構(gòu)中,約束條件t1為父節(jié)點(diǎn),約束條件t2為子節(jié)點(diǎn),約束結(jié)果r1為孫子節(jié)點(diǎn)。網(wǎng)站服務(wù)器可以讀取約束信息l1的樹,然后從父節(jié)點(diǎn)進(jìn)行遍歷,網(wǎng)站服務(wù)器可以首先將約束條件t1與產(chǎn)品參數(shù)進(jìn)行匹配,匹配成功,網(wǎng)站服務(wù)器然后將約束條件t1的子節(jié)點(diǎn)約束條件t2與產(chǎn)品參數(shù)進(jìn)行匹配,匹配成功,然后,網(wǎng)站服務(wù)器繼續(xù)遍歷l1,確定約束結(jié)果r1為葉子節(jié)點(diǎn)之后,網(wǎng)站服務(wù)器則將約束結(jié)果r1與上述產(chǎn)品參數(shù)匹配,匹配成功,則產(chǎn)品對(duì)象校驗(yàn)成功。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,在使用上述步驟a至步驟d遍歷完產(chǎn)品約束信息集合中的所有產(chǎn)品約束信息之后,校驗(yàn)產(chǎn)品對(duì)象結(jié)束,需要說明的是,如果產(chǎn)品約束信息結(jié)合中的所有產(chǎn)品的約束信息的約束條件與產(chǎn)品參數(shù)不匹配或者,所有產(chǎn)品的約束信息的約束結(jié)果與參數(shù)數(shù)據(jù)不匹配的情況下,則說明產(chǎn)品對(duì)象校驗(yàn)失敗。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,在產(chǎn)品對(duì)象校驗(yàn)失敗的情況下,本方案還可以包括:
步驟s50,確定當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象失敗,并返回報(bào)錯(cuò)信息。
在上述步驟s50中,在確定當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象失敗,本方案可以平拋出異常,返回下單失敗,可選地,本方案可以彈出對(duì)話框提示買家解決的方法,比如重新選擇產(chǎn)品對(duì)象。
在本申請(qǐng)?zhí)峁┑囊环N可選實(shí)施例中,在步驟s28,提交產(chǎn)品對(duì)象至處理系統(tǒng)之后,方法還包括:
步驟s30,處理系統(tǒng)統(tǒng)計(jì)產(chǎn)品對(duì)象的數(shù)量,并計(jì)算與產(chǎn)品對(duì)象匹配的虛擬資源的數(shù)值。
在上述步驟s30中,網(wǎng)站服務(wù)器在將產(chǎn)品對(duì)象上傳結(jié)算系統(tǒng)之后,結(jié)算系統(tǒng)可以統(tǒng)計(jì)產(chǎn)品對(duì)象的數(shù)量,并計(jì)算產(chǎn)品對(duì)象的價(jià)格。
步驟s32,將與產(chǎn)品對(duì)象匹配的虛擬資源的數(shù)值進(jìn)行轉(zhuǎn)移處理,在轉(zhuǎn)移成功的情況下,返回轉(zhuǎn)移成功提示信息,在轉(zhuǎn)移失敗的情況,返回錯(cuò)誤提示信息。
在上述步驟s32中,網(wǎng)站服務(wù)器可以將買家賬戶進(jìn)行扣劃,在扣劃成功或失敗的情況下,在產(chǎn)品銷售頁面上彈起一個(gè)對(duì)話框,用于提示買家支付成功或失敗。
下面結(jié)合圖10,介紹本方案中生成產(chǎn)品訂單的一種優(yōu)選實(shí)施例:
步驟s100,用戶打開頁面,系統(tǒng)調(diào)用接口獲取產(chǎn)品配置。
在上述步驟s100中,在買家用戶打開產(chǎn)品選購頁面的時(shí)候,頁面系統(tǒng)會(huì)調(diào)用接口獲取產(chǎn)品的配置,產(chǎn)品配置可以包括產(chǎn)品參數(shù)以及參數(shù)數(shù)據(jù)。
步驟s101,系統(tǒng)查詢數(shù)據(jù)庫,獲得相關(guān)的約束信息,組裝為樹狀結(jié)構(gòu)。
在上述步驟s101中,頁面系統(tǒng)會(huì)查詢數(shù)據(jù)庫,在數(shù)據(jù)庫中可以以樹狀結(jié)構(gòu)的形式保持多個(gè)約束信息,其中,約束信息可以為約束名稱、約束條件以及約束結(jié)果。
步驟s102,根據(jù)用戶遍歷看是否有特殊化邏輯需要修改約束樹。
在上述步驟s102中,頁面系統(tǒng)可以根據(jù)用戶的賬戶的信息來判讀用戶是否為個(gè)性化用戶,并根據(jù)個(gè)性化用戶的特殊約束信息修改預(yù)存的約束信息。
步驟s103,結(jié)果返回前端,前端根據(jù)產(chǎn)品配置和約束信息展現(xiàn)界面。
在上述步驟s103中個(gè),頁面系統(tǒng)可以將更改后的約束信息以及產(chǎn)品配置返回前端,由前端根據(jù)約束信息來顯示產(chǎn)品的配置信息。
步驟s104,用戶下單,根據(jù)下單參數(shù)組裝產(chǎn)品對(duì)象,并重新查詢出約束樹,校驗(yàn)約束。
在上述步驟s104中,用戶可以對(duì)產(chǎn)品的各項(xiàng)參數(shù)進(jìn)行選擇以下單,頁面系統(tǒng)可以將買家用戶的產(chǎn)品請(qǐng)求信息與約束信息進(jìn)行匹配,以進(jìn)行產(chǎn)品對(duì)象的校驗(yàn)。
步驟s105,判斷校驗(yàn)是否通過,在通過的情況下,執(zhí)行步驟s107,在校驗(yàn)不通過的情況下,執(zhí)行步驟s106。
步驟s106,返回下單失敗和校驗(yàn)失敗的原因。
在上述步驟s106中,頁面系統(tǒng)可以在頁面中彈出對(duì)話框提示用戶下大失敗以及失敗的原因。
步驟s107,計(jì)算價(jià)格、生成訂單,引導(dǎo)買家支付。
下面結(jié)合圖11,介紹步驟s104中產(chǎn)品對(duì)象校驗(yàn)的過程:
步驟s1041,遍歷所有約束樹。
在上述步驟s1041中,頁面系統(tǒng)會(huì)讀取所有的約束樹,在約束樹中,預(yù)先保存著多個(gè)約束信息,約束信息包括約束條件以及約束結(jié)果。
步驟s1042,判斷是否還有約束樹。
在上述步驟s1042中,頁面系統(tǒng)可以判斷是否還有約束樹,在是的情況下,執(zhí)行步驟s1043,在否的情況下,則約束校驗(yàn)成功。
步驟s1043,校驗(yàn)每個(gè)約束條件,判斷是否校驗(yàn)成功,校驗(yàn)成功的情況下執(zhí)行步驟s1044,在校驗(yàn)失敗的情況下返回執(zhí)行步驟s1041。
在上述步驟s1043中,頁面系統(tǒng)可以校驗(yàn)約束條件是否與產(chǎn)品對(duì)象的產(chǎn)品參數(shù)匹配。
步驟s1044,判斷每個(gè)約束條件是否為葉子節(jié)點(diǎn),在是的情況下,執(zhí)行步驟s1045,在否的情況下,返回執(zhí)行步驟s1043。
步驟s1045,判斷約束條件的約束結(jié)果與產(chǎn)品對(duì)象的參數(shù)數(shù)據(jù)是否匹配,在是的情況下返回執(zhí)行步驟s1041,在否的情況下,則校驗(yàn)失敗。
在上述步驟s1045中,頁面系統(tǒng)可以判斷約束條件的約束結(jié)果與產(chǎn)品對(duì)象的參數(shù)數(shù)據(jù)是否匹配。在校驗(yàn)成功之后,本方案可以進(jìn)行計(jì)算價(jià)格,生成訂單等操作。需要說明的是,上述校驗(yàn)的過程中,本方案可以通過緩存技術(shù)來提高效率。
需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述 的方法。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述獲取產(chǎn)品對(duì)象的方法的獲取產(chǎn)品對(duì)象的裝置,如圖12所示,該裝置可以包括:
接收單元1200,用于接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù)。
調(diào)用單元1210,用于根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果。
遍歷單元1220,用于遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功。
提交單元1230,用于在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。
此處需要說明的是,上述接收單元1200、調(diào)用單元1210、遍歷單元1220以及提交單元1230對(duì)應(yīng)于實(shí)施例一中的步驟s22至步驟s28,四個(gè)單元與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選地實(shí)施例中,如圖13所示,本申請(qǐng)?zhí)峁┑难b置還可以包括:
讀取單元1240,用于當(dāng)前賬戶訪問對(duì)應(yīng)的產(chǎn)品頁面,讀取產(chǎn)品配置信息以及產(chǎn)品約束信息集合,其中,產(chǎn)品配置信息包括:多個(gè)產(chǎn)品參數(shù)以及每個(gè)產(chǎn)品參數(shù)對(duì)應(yīng)的至少一個(gè)參數(shù)數(shù)據(jù)。顯示單元1250,用于根據(jù)產(chǎn)品約束信息集合將產(chǎn)品配置信息顯示在產(chǎn)品頁面中。產(chǎn)生單元1260,用于當(dāng)當(dāng)前賬戶選定產(chǎn)品頁面中顯示的一個(gè)或多個(gè)產(chǎn)品參數(shù)以及對(duì)應(yīng)的參數(shù)數(shù)據(jù)之后,產(chǎn)生待提交的產(chǎn)品請(qǐng)求信息。
此處需要說明的是,上述讀取單元1240、顯示單元1250以及產(chǎn)生單元1260對(duì)應(yīng)于實(shí)施例一中的步驟s111至步驟s113,三個(gè)單元與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選地實(shí)施例中,如圖14所示,本申請(qǐng)?zhí)峁┑难b置還可以包括:
判斷單元1270,用于根據(jù)當(dāng)前賬戶的賬戶信息判斷是否存在與當(dāng)前賬戶對(duì)應(yīng)的特 殊約束信息,其中,賬戶信息至少包括如下任意一種或多種數(shù)據(jù):賬戶名稱、當(dāng)前賬戶的登錄次數(shù)、登錄頻率、當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象的數(shù)量和頻率;如果存在,則使用特殊約束信息更新產(chǎn)品約束信息集合,并輸出更新后的產(chǎn)品約束信息集合。
此處需要說明的是,上述判斷單元1270對(duì)應(yīng)于實(shí)施例一中的步驟s115至步驟s116,判斷單元1270與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選地實(shí)施例中,約束模型中以約束名稱為根節(jié)點(diǎn),每個(gè)約束條件作為子節(jié)點(diǎn),約束結(jié)果為葉子節(jié)點(diǎn),其中,當(dāng)約束條件的所對(duì)應(yīng)的子節(jié)點(diǎn)作為父親節(jié)點(diǎn)時(shí),約束模型還包括至少一個(gè)基于子約束條件所確定的孫子節(jié)點(diǎn),以此得到樹狀結(jié)構(gòu)的約束模型。
在一種可選地實(shí)施例中,遍歷單元1220還可以包括:
讀取模塊12201,用于讀取產(chǎn)品約束信息集合中的第一產(chǎn)品約束信息。
第一判斷模塊12202,用于判斷第一產(chǎn)品約束信息的第一約束條件是否與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配,在匹配的情況下,執(zhí)行第二判斷模塊,否則,返回執(zhí)行讀取模塊來讀取產(chǎn)品約束信息集合中的第二產(chǎn)品約束信息,其中,第二產(chǎn)品約束信息為第一產(chǎn)品約束信息的下一條信息。
第二判斷模塊12203,判斷第一產(chǎn)品信息的第一約束條件的節(jié)點(diǎn)是否為約束模型中的葉子節(jié)點(diǎn),如果不是葉子節(jié)點(diǎn),執(zhí)行第三判斷模塊,否則,返回執(zhí)行第一判斷模塊來深度搜索遍歷約束條件的子約束條件,直至遍歷到約束條件的節(jié)點(diǎn)為葉子節(jié)點(diǎn)。
第三判斷模塊12204,判斷第一約束條件對(duì)應(yīng)的約束結(jié)果是否與請(qǐng)求信息中包含的參數(shù)數(shù)據(jù)相匹配,在匹配的情況下,確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功,并返回執(zhí)行讀取模塊。
此處需要說明的是,上述讀取模塊12201、第一判斷模塊12202、第二判斷模塊12203以及第三判斷模塊12204對(duì)應(yīng)于實(shí)施例一中的步驟a至步驟d,四個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選地實(shí)施例中,本申請(qǐng)?zhí)峁┑难b置還可以包括:結(jié)束單元1280,用于在遍歷完產(chǎn)品約束信息集合中的所有產(chǎn)品約束信息之后,校驗(yàn)產(chǎn)品對(duì)象結(jié)束。
在一種可選地實(shí)施例中,本申請(qǐng)?zhí)峁┑难b置還可以包括:處理單元1290,用于在 產(chǎn)品對(duì)象校驗(yàn)失敗的情況下,確定當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象失敗,并返回報(bào)錯(cuò)信息。
此處需要說明的是,上述處理單元1290對(duì)應(yīng)于實(shí)施例一中的步驟s50,該單元與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
在一種可選地實(shí)施例中,本申請(qǐng)?zhí)峁┑难b置還可以包括:
計(jì)算單元1300,用于處理系統(tǒng)統(tǒng)計(jì)產(chǎn)品對(duì)象的數(shù)量,并計(jì)算與產(chǎn)品對(duì)象匹配的虛擬資源的數(shù)值。
轉(zhuǎn)移單元1310,用于將與產(chǎn)品對(duì)象匹配的虛擬資源的數(shù)值進(jìn)行轉(zhuǎn)移處理,在轉(zhuǎn)移成功的情況下,返回轉(zhuǎn)移成功提示信息,在轉(zhuǎn)移失敗的情況,返回錯(cuò)誤提示信息。
此處需要說明的是,上述計(jì)算單元1300、轉(zhuǎn)移單元1310對(duì)應(yīng)于實(shí)施例一中的步驟s30至s32,兩個(gè)單元與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中。
實(shí)施例3
本發(fā)明的實(shí)施例可以提供一種計(jì)算機(jī)終端,該計(jì)算機(jī)終端可以是計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端設(shè)備??蛇x地,在本實(shí)施例中,上述計(jì)算機(jī)終端也可以替換為移動(dòng)終端等終端設(shè)備。
可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端可以位于計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備。
在本實(shí)施例中,上述計(jì)算機(jī)終端可以執(zhí)行獲取產(chǎn)品對(duì)象的方法中以下步驟的程序代碼:接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。
可選地,圖15是根據(jù)本發(fā)明實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。如圖15所示,該計(jì)算機(jī)終端a可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器、存儲(chǔ)器。
其中,上述存儲(chǔ)器可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的獲取產(chǎn)品對(duì)象的方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器通過運(yùn)行存儲(chǔ)在存儲(chǔ)器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的獲取產(chǎn)品對(duì)象的方法。存儲(chǔ)器可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器可進(jìn)一步包括相對(duì)于處理器遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至終端a。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
處理器可以通過傳輸裝置調(diào)用存儲(chǔ)器存儲(chǔ)的信息及應(yīng)用程序,以執(zhí)行下述步驟:接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng)。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:當(dāng)前賬戶訪問對(duì)應(yīng)的產(chǎn)品頁面,讀取產(chǎn)品配置信息以及產(chǎn)品約束信息集合,其中,產(chǎn)品配置信息包括:多個(gè)產(chǎn)品參數(shù)以及每個(gè)產(chǎn)品參數(shù)對(duì)應(yīng)的至少一個(gè)參數(shù)數(shù)據(jù);根據(jù)產(chǎn)品約束信息集合將產(chǎn)品配置信息顯示在產(chǎn)品頁面中;當(dāng)當(dāng)前賬戶選定產(chǎn)品頁面中顯示的一個(gè)或多個(gè)產(chǎn)品參數(shù)以及對(duì)應(yīng)的參數(shù)數(shù)據(jù)之后,產(chǎn)生待提交的產(chǎn)品請(qǐng)求信息。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:根據(jù)當(dāng)前賬戶的賬戶信息判斷是否存在與當(dāng)前賬戶對(duì)應(yīng)的特殊約束信息,其中,賬戶信息至少包括如下任意一種或多種數(shù)據(jù):賬戶名稱、當(dāng)前賬戶的登錄次數(shù)、登錄頻率、當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象的數(shù)量和頻率;如果存在,則使用特殊約束信息更新產(chǎn)品約束信息集合,并輸出更新后的產(chǎn)品約束信息集合。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:約束模型中以約束名稱為根節(jié)點(diǎn),每個(gè)約束條件作為子節(jié)點(diǎn),約束結(jié)果為葉子節(jié)點(diǎn),其中,當(dāng)約束條件的所對(duì)應(yīng)的子節(jié)點(diǎn)作為父親節(jié)點(diǎn)時(shí),約束模型還包括至少一個(gè)基于子約束條件所確定的孫子節(jié)點(diǎn),以此得到樹狀結(jié)構(gòu)的約束模型。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:步驟a,讀取產(chǎn)品約束信息集合中的第一產(chǎn)品約束信息;步驟b,判斷第一產(chǎn)品約束信息的第一約束條件是否與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配,在匹配的情況下,執(zhí)行步驟c,否則,返回步 驟a來讀取產(chǎn)品約束信息集合中的第二產(chǎn)品約束信息,其中,第二產(chǎn)品約束信息為第一產(chǎn)品約束信息的下一條信息;步驟c,判斷第一產(chǎn)品信息的第一約束條件的節(jié)點(diǎn)是否為約束模型中的葉子節(jié)點(diǎn),如果不是葉子節(jié)點(diǎn),執(zhí)行步驟d,否則,返回步驟b來深度搜索遍歷約束條件的子約束條件,直至遍歷到約束條件的節(jié)點(diǎn)為葉子節(jié)點(diǎn);步驟d,判斷第一約束條件對(duì)應(yīng)的約束結(jié)果是否與請(qǐng)求信息中包含的參數(shù)數(shù)據(jù)相匹配,在匹配的情況下,確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功,并返回步驟a來深度遍歷產(chǎn)品約束信息集合中的下一條產(chǎn)品約束信息。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:在使用上述步驟a至步驟d遍歷完產(chǎn)品約束信息集合中的所有產(chǎn)品約束信息之后,校驗(yàn)產(chǎn)品對(duì)象結(jié)束
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:在產(chǎn)品對(duì)象校驗(yàn)失敗的情況下,確定當(dāng)前賬戶請(qǐng)求產(chǎn)品對(duì)象失敗,并返回報(bào)錯(cuò)信息。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:處理系統(tǒng)統(tǒng)計(jì)產(chǎn)品對(duì)象的數(shù)量,并計(jì)算與產(chǎn)品對(duì)象匹配的虛擬資源的數(shù)值;將與產(chǎn)品對(duì)象匹配的虛擬資源的數(shù)值進(jìn)行轉(zhuǎn)移處理,在轉(zhuǎn)移成功的情況下,返回轉(zhuǎn)移成功提示信息,在轉(zhuǎn)移失敗的情況,返回錯(cuò)誤提示信息。
采用本發(fā)明實(shí)施例,提供了一種獲取產(chǎn)品對(duì)象的方法。通過接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,產(chǎn)品請(qǐng)求信息中包含了當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);根據(jù)產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存產(chǎn)品約束信息,產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)產(chǎn)品約束信息中查詢得到與請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;在產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交產(chǎn)品對(duì)象至處理系統(tǒng),解決了相關(guān)技術(shù)中,用戶在進(jìn)行產(chǎn)品配置選擇時(shí)會(huì)不斷調(diào)用系統(tǒng)后臺(tái)來校驗(yàn)約束條件導(dǎo)致系統(tǒng)性能低下的技術(shù)問題。
本領(lǐng)域普通技術(shù)人員可以理解,圖15所示的結(jié)構(gòu)僅為示意,計(jì)算機(jī)終端也可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌聲電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖15其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端15還可包括比圖15中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖15所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。
實(shí)施例4
本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于保存上述實(shí)施例一所提供的獲取產(chǎn)品對(duì)象的方法所執(zhí)行的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:接收當(dāng)前賬戶提交的產(chǎn)品請(qǐng)求信息,其中,所述產(chǎn)品請(qǐng)求信息中包含了所述當(dāng)前賬戶所要請(qǐng)求的產(chǎn)品對(duì)象的至少一個(gè)產(chǎn)品參數(shù)和對(duì)應(yīng)的參數(shù)數(shù)據(jù);根據(jù)所述產(chǎn)品請(qǐng)求信息調(diào)用預(yù)先保存的至少一個(gè)產(chǎn)品約束信息,其中,采用樹狀結(jié)構(gòu)的約束模型保存所述產(chǎn)品約束信息,所述產(chǎn)品約束信息包括:約束名稱、至少一個(gè)約束條件和約束結(jié)果;遍歷所述至少一個(gè)產(chǎn)品約束信息,如果在任意一個(gè)所述產(chǎn)品約束信息中查詢得到與所述請(qǐng)求信息中包含的產(chǎn)品參數(shù)相匹配的約束條件,以及與所述參數(shù)數(shù)據(jù)相匹配的約束結(jié)果,則確定所要請(qǐng)求的產(chǎn)品對(duì)象校驗(yàn)成功;在所述產(chǎn)品對(duì)象校驗(yàn)成功的情況下,提交所述產(chǎn)品對(duì)象至處理系統(tǒng)。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。