專利名稱:一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法
一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法本發(fā)明涉及計(jì)算機(jī)程序技術(shù)領(lǐng)域,具體的說是一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息 的方法。目前,越來越多的企業(yè)都在互聯(lián)網(wǎng)上創(chuàng)建了自己的產(chǎn)品直銷網(wǎng)站,以產(chǎn)品種類齊 全,價(jià)格實(shí)惠而受到廣大網(wǎng)民的鐘愛,面對浩瀚如煙的商品信息,許多人往往無所適從,那 么用何種方法來快速、有效地選擇互聯(lián)網(wǎng)上性價(jià)比最優(yōu)的商品呢?本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種快速有效地價(jià)格發(fā)現(xiàn)、更新機(jī) 制,讓系統(tǒng)能夠及時(shí)更新到互聯(lián)網(wǎng)上不同商家的商品最新價(jià)格信息,包括降價(jià)比較、庫存狀 態(tài)以及商品相關(guān)買賣信息。在此基礎(chǔ)上再通過內(nèi)容發(fā)布,郵件訂閱、搜索比較等方式來告訴 相應(yīng)的關(guān)注群體。為實(shí)現(xiàn)上述目的,設(shè)計(jì)一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于該 方法用以采集商品報(bào)價(jià)頁數(shù)據(jù)要求,并依據(jù)該要求產(chǎn)生分析商品報(bào)價(jià)頁面數(shù)據(jù),該方法包 括a.采集商品報(bào)價(jià)頁數(shù)據(jù)要求其界定該要求所對應(yīng)的商家網(wǎng)站上的報(bào)價(jià)頁數(shù)據(jù)的 采集規(guī)則,發(fā)送到服務(wù)器的服務(wù)端;b.加載與該要求對應(yīng)的第三方商品報(bào)價(jià)頁數(shù)據(jù)采集,并接收對應(yīng)于該商品報(bào)價(jià)頁 的數(shù)據(jù)而定的商品采集庫,發(fā)送到服務(wù)器的服務(wù)端;c.所述的服務(wù)器根據(jù)上述數(shù)據(jù)信息發(fā)送給客戶端,所述的客戶端上設(shè)有任務(wù)調(diào)度 器啟東,接收對應(yīng)于該要求的回復(fù)數(shù)據(jù);d.依據(jù)商家網(wǎng)站上的報(bào)價(jià)頁數(shù)據(jù)及第三方商品報(bào)價(jià)頁數(shù)據(jù),產(chǎn)生分析商品報(bào)價(jià)頁 面數(shù)據(jù),建立價(jià)格變動數(shù)據(jù)、報(bào)價(jià)表數(shù)據(jù)、降價(jià)表數(shù)據(jù)及報(bào)價(jià)歷史表數(shù)據(jù)的數(shù)據(jù)分析入庫。所述的采集規(guī)則采集的數(shù)據(jù)為商品名稱、企業(yè)名稱、企業(yè)地址、價(jià)格、庫存狀態(tài)的 信息,采集規(guī)則上設(shè)有更新機(jī)制,將代碼特征輸入到更新規(guī)則的數(shù)據(jù)庫中。所述的服務(wù)器的服務(wù)端負(fù)責(zé)商品數(shù)據(jù)、采集規(guī)則數(shù)據(jù)源提供,每個(gè)商家的商品數(shù) 據(jù)由第三方程序采集后寫入數(shù)據(jù)庫,數(shù)據(jù)信息包括商家編號、商品編號、商品URI、分類、標(biāo) 題、價(jià)格、是否更新、商品介紹、更新時(shí)用數(shù)據(jù)信息。所述的客戶端根據(jù)調(diào)度器啟動客戶端,啟動多線程機(jī)制分別向服務(wù)端請求商品信 息,并且根據(jù)商品URL請求到實(shí)時(shí)的商品頁面內(nèi)容;所述的系統(tǒng)調(diào)度器根據(jù)需要更新的商 家數(shù)量和更新頻率平均分配調(diào)度時(shí)間點(diǎn),安排每個(gè)客戶端的啟動時(shí)間,客戶端啟動的進(jìn)程 數(shù)量可以通過配置文件進(jìn)行設(shè)置。客戶端和服務(wù)端之間基于二進(jìn)制遠(yuǎn)程傳輸協(xié)議實(shí)現(xiàn)數(shù)據(jù) 通信,當(dāng)商家的客戶端被啟動時(shí),會創(chuàng)建若干個(gè)線程同時(shí)向服務(wù)端請求商品信息,這時(shí)服務(wù) 端從商品采集庫中讀取商家商品數(shù)據(jù)分別傳送給客戶端,客戶端一個(gè)進(jìn)程即可以完成一次完整的數(shù)據(jù)請求工作,若干個(gè)進(jìn)程同時(shí)啟動就實(shí)現(xiàn)了多任務(wù)并發(fā)執(zhí)行數(shù)據(jù)更新,如果再開 啟一個(gè)客戶端,那么又可以創(chuàng)建若干個(gè)進(jìn)程來完成下一批商品數(shù)據(jù)的更新工作,這樣的客 戶端可以由調(diào)度器來決定啟動次數(shù)和調(diào)用的頻率。所述數(shù)據(jù)分析入庫對采集后的數(shù)據(jù)需要進(jìn)行規(guī)范化處理,分析商品的價(jià)格和異常 數(shù)據(jù)處理,所述的商品價(jià)格解析進(jìn)程取到服務(wù)端返回的商品數(shù)據(jù)集合后,會循環(huán)讀取出商 品的URL地址向網(wǎng)站請求商品頁面內(nèi)容,同時(shí)讀取采集規(guī)則設(shè)置的參數(shù)信息分析出本次請 求的商品價(jià)格內(nèi)容,然后與本地價(jià)格比較,如果發(fā)現(xiàn)商品價(jià)格不相同,則向產(chǎn)品降價(jià)表寫入 一條數(shù)據(jù),同時(shí)也更新采集數(shù)據(jù)庫中的價(jià)格和更新時(shí)間信息。針對降價(jià)表內(nèi)的數(shù)據(jù),會根據(jù) 用戶訂閱的內(nèi)容,讀取出當(dāng)天最新降價(jià)的商品向客戶發(fā)送降價(jià)商品信息,所述的異數(shù)據(jù)常 處理在向商家站點(diǎn)請求商品數(shù)據(jù)過程中可能會因?yàn)榫W(wǎng)絡(luò)連接、服務(wù)器關(guān)閉、商品下架等諸 多因素,針對此類情況,客戶端對各類異常進(jìn)行捕獲,對不同的異常情況建立不同的狀態(tài)碼 進(jìn)行標(biāo)識,寫入采集數(shù)據(jù)庫表中,做為下次數(shù)據(jù)請求或者后期數(shù)據(jù)處理時(shí)參考使用。本發(fā)明與現(xiàn)有技術(shù)相比,實(shí)現(xiàn)自動化處理,程序根據(jù)設(shè)置好的參數(shù)和調(diào)度頻率,自 動執(zhí)行報(bào)價(jià)更新、分析、入庫,整個(gè)過程不需要人工干預(yù);高效率執(zhí)行,多個(gè)商家,不同商品 報(bào)價(jià)可啟動多任務(wù)更新執(zhí)行,從而大量地縮短了更新周期,讓用戶在最短時(shí)間內(nèi)就能比較 發(fā)現(xiàn)互聯(lián)網(wǎng)上不同商家的同類商品比較信息;容錯(cuò)性強(qiáng),對更新商品價(jià)格信息過程中出現(xiàn) 的異常處理,包括了網(wǎng)站訪問異常、商品報(bào)價(jià)頁無效、商品無貨下架等,使商品信息在數(shù)據(jù) 庫中保持良好的有效性和正確性;智能數(shù)據(jù)處理,采集后的數(shù)據(jù)自動分析價(jià)格漲跌,分別進(jìn) 入商品降價(jià)表和報(bào)價(jià)信息表,為頁面展示商品價(jià)格歷史提供數(shù)據(jù)。
圖1為本發(fā)明的流程示意圖; [具體實(shí)施方式
]下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。本發(fā)明包括以下部分內(nèi)容組成⑴采集規(guī)則;⑵內(nèi)容更新;⑶數(shù)據(jù)分析入庫。(1)采集規(guī)則通過對目標(biāo)商家網(wǎng)站的采集分析,設(shè)定相應(yīng)的商品地址、價(jià)格、庫存狀態(tài)等必須的
參數(shù)信息。例如從IE瀏覽器中的地址欄輸入一個(gè)圖書類的商品URL地址“http:// product, dangdang. com/product, aspx ? product id = 8765156,,,在打開白勺商品頁上,ffl 過鼠標(biāo)右鍵“查看源文件”功能,我們可以得到該頁的HTML源代碼信息,定位標(biāo)題、作者、出 版社、ISBN、價(jià)格等代碼特征,將這些特征參數(shù)輸入到更新規(guī)則的數(shù)據(jù)庫中。這些參數(shù)代表 了該商家商品發(fā)布頁面的基本框架模型,后期的更新程序可以根據(jù)本次已經(jīng)設(shè)定好的參數(shù) 進(jìn)行價(jià)格等信息的定位。采集規(guī)則更新機(jī)制隨著商家業(yè)務(wù)的發(fā)展,很有可能在不久的將來會對網(wǎng)站進(jìn)行 改版,那時(shí),我們設(shè)置的采集規(guī)則就會隨著網(wǎng)站的改版而失效。系統(tǒng)根據(jù)采集反饋回來的失 敗信息進(jìn)行統(tǒng)計(jì),當(dāng)失敗數(shù)量達(dá)到預(yù)設(shè)的閥門值時(shí),系統(tǒng)會認(rèn)為該規(guī)則已失效,從而發(fā)送郵 件通知管理人員對網(wǎng)站采集規(guī)則進(jìn)行修正。
4
(2)內(nèi)容更新報(bào)價(jià)內(nèi)容的更新機(jī)制分為服務(wù)端和客戶端兩大部分組成。服務(wù)端負(fù)責(zé)商品數(shù)據(jù)、采集規(guī)則數(shù)據(jù)源的提供。每個(gè)商家的商品數(shù)據(jù)由第三程序 采集后寫入數(shù)據(jù)庫,信息包括商家編號、商品編號、商品URL、分類、標(biāo)題、價(jià)格、是否更新、商 品介紹、更新時(shí)間等信息??蛻舳烁鶕?jù)調(diào)度器啟動客戶端,啟動多線程機(jī)制分別向服務(wù)端請求商品信息,并 且根據(jù)商品URL請求到實(shí)時(shí)的商品頁面內(nèi)容。系統(tǒng)調(diào)度器根據(jù)需要更新的商家數(shù)量和更新頻率平均分配調(diào)度時(shí)間點(diǎn),安排每個(gè) 客戶端的啟動時(shí)間,客戶端啟動的進(jìn)程數(shù)量可以通過配置文件進(jìn)行設(shè)置。客戶端和服務(wù)端 之間基于二進(jìn)制遠(yuǎn)程傳輸協(xié)議實(shí)現(xiàn)數(shù)據(jù)通信,當(dāng)某個(gè)商家的客戶端被啟動時(shí),會創(chuàng)建若干 個(gè)線程同時(shí)向服務(wù)端請求商品信息,這時(shí)服務(wù)端從商品采集庫中讀取商家商品數(shù)據(jù)分別傳 送給客戶端??蛻舳艘粋€(gè)進(jìn)程即可以完成一次完整的數(shù)據(jù)請求工作,若干個(gè)進(jìn)程同時(shí)啟動就實(shí) 現(xiàn)了多任務(wù)并發(fā)執(zhí)行數(shù)據(jù)更新。如果再開啟一個(gè)客戶端,那么又可以創(chuàng)建若干個(gè)進(jìn)程來完 成下一批商品數(shù)據(jù)的更新工作,這樣的客戶端可以由調(diào)度器來決定啟動次數(shù)和調(diào)用的頻率。(3)數(shù)據(jù)分析入庫對采集后的數(shù)據(jù)需要進(jìn)行規(guī)范化處理,分析商品的價(jià)格和異常數(shù)據(jù)處理。價(jià)格解析進(jìn)程取到服務(wù)端返回的商品數(shù)據(jù)集合后,會循環(huán)讀取出商品的URL地 址向網(wǎng)站請求商品頁面內(nèi)容,同時(shí)讀取采集規(guī)則設(shè)置的參數(shù)信息分析出本次請求的商品價(jià) 格內(nèi)容,然后與本地價(jià)格比較。如果發(fā)現(xiàn)商品價(jià)格不相同,則向產(chǎn)品降價(jià)表寫入一條數(shù)據(jù), 同時(shí)也更新采集數(shù)據(jù)庫中的價(jià)格和更新時(shí)間信息。針對降價(jià)表內(nèi)的數(shù)據(jù),會根據(jù)用戶訂閱 的內(nèi)容,讀取出當(dāng)天最新降價(jià)的商品向客戶發(fā)送降價(jià)商品信息。異常處理在向商家站點(diǎn)請求商品數(shù)據(jù)過程中可能會因?yàn)榫W(wǎng)絡(luò)連接、服務(wù)器關(guān)閉、 商品下架等諸多因素,針對此類情況,客戶端對各類異常進(jìn)行捕獲,對不同的異常情況建立 不同的狀態(tài)碼進(jìn)行標(biāo)識,寫入采集數(shù)據(jù)庫表中,做為下次數(shù)據(jù)請求或者后期數(shù)據(jù)處理時(shí)參 考使用。例1 商家網(wǎng)址:http://www. dangdang. com商品URL:http://product, dangdang. com/product, aspx ? product—id = 20032382&ref = search-l-A 當(dāng)當(dāng)價(jià)Y16. 60處理流程參數(shù)設(shè)置在IE瀏覽器中的地址欄輸入商品URL,瀏覽器會顯示該商品相關(guān)信息。 在打開的商品頁上,通過鼠標(biāo)右鍵“查看源文件”功能,我們可以得到該頁的HTML代碼。定 位出“當(dāng)當(dāng)價(jià)”的起始標(biāo)志是“〈spanclass = “ redc30 “ >當(dāng)當(dāng)價(jià)Y<b>,,結(jié)束標(biāo)志是 “〈/bX/span〉”,將這些起始和結(jié)束的標(biāo)志參數(shù)輸入到數(shù)據(jù)庫中,做為報(bào)價(jià)更新程序解析頁 面內(nèi)容時(shí)的依據(jù)。報(bào)價(jià)更新客戶端的一個(gè)商家報(bào)價(jià)更新任務(wù)被調(diào)度器啟動后,會創(chuàng)建10個(gè)線程向
5服務(wù)端請求該商家的商品舊報(bào)價(jià)數(shù)據(jù),包括了商品ID、商品URL、價(jià)格等信息。假設(shè)其中一 個(gè)客戶端線程從服務(wù)端讀取到一批需要更新的商品數(shù)據(jù)包含了該條商品,那么客戶端程序 就會先讀取出該商品的URL地址,通過HttpRequest請求商家的商品頁面內(nèi)容,接著客戶端 程序又從服務(wù)器請求該商家的商品報(bào)價(jià)參數(shù),來解析出最新的價(jià)格并與舊價(jià)格進(jìn)行比較, 如果價(jià)格發(fā)生變動,則會創(chuàng)建一條SQL語句寫入文本文件,后續(xù)程序?qū)⑦\(yùn)行SQL語句將價(jià)格 變動信息寫入降價(jià)表內(nèi),供前臺門戶網(wǎng)站展示使用。
權(quán)利要求
一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于該方法用以采集商品報(bào)價(jià)頁數(shù)據(jù)要求,并依據(jù)該要求產(chǎn)生分析商品報(bào)價(jià)頁面數(shù)據(jù),該方法包括a.采集商品報(bào)價(jià)頁數(shù)據(jù)要求其界定該要求所對應(yīng)的商家網(wǎng)站上的報(bào)價(jià)頁數(shù)據(jù)的采集規(guī)則,發(fā)送到服務(wù)器的服務(wù)端;b.加載與該要求對應(yīng)的第三方商品報(bào)價(jià)頁數(shù)據(jù)采集,并接收對應(yīng)于該商品報(bào)價(jià)頁的數(shù)據(jù)而定的商品采集庫,發(fā)送到服務(wù)器的服務(wù)端;c.所述的服務(wù)器根據(jù)上述數(shù)據(jù)信息發(fā)送給客戶端,所述的客戶端上設(shè)有任務(wù)調(diào)度器啟東,接收對應(yīng)于該要求的回復(fù)數(shù)據(jù);d.依據(jù)商家網(wǎng)站上的報(bào)價(jià)頁數(shù)據(jù)及第三方商品報(bào)價(jià)頁數(shù)據(jù),產(chǎn)生分析商品報(bào)價(jià)頁面數(shù)據(jù),建立價(jià)格變動數(shù)據(jù)、報(bào)價(jià)表數(shù)據(jù)、降價(jià)表數(shù)據(jù)及報(bào)價(jià)歷史表數(shù)據(jù)的數(shù)據(jù)分析入庫。
2.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于所述 的采集規(guī)則采集的數(shù)據(jù)為商品名稱、企業(yè)名稱、企業(yè)地址、價(jià)格、庫存狀態(tài)的信息,采集規(guī)則 上設(shè)有更新機(jī)制,將代碼特征輸入到更新規(guī)則的數(shù)據(jù)庫中。
3.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于所述 的服務(wù)器的服務(wù)端負(fù)責(zé)商品數(shù)據(jù)、采集規(guī)則數(shù)據(jù)源提供,每個(gè)商家的商品數(shù)據(jù)由第三方程 序采集后寫入數(shù)據(jù)庫,數(shù)據(jù)信息包括商家編號、商品編號、商品URI、分類、標(biāo)題、價(jià)格、是否 更新、商品介紹、更新時(shí)用數(shù)據(jù)信息。
4.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于所述 的客戶端根據(jù)調(diào)度器啟動客戶端,啟動多線程機(jī)制分別向服務(wù)端請求商品信息,并且根據(jù) 商品URL請求到實(shí)時(shí)的商品頁面內(nèi)容;所述的系統(tǒng)調(diào)度器根據(jù)需要更新的商家數(shù)量和更新 頻率平均分配調(diào)度時(shí)間點(diǎn),安排每個(gè)客戶端的啟動時(shí)間,客戶端啟動的進(jìn)程數(shù)量可以通過 配置文件進(jìn)行設(shè)置??蛻舳撕头?wù)端之間基于二進(jìn)制遠(yuǎn)程傳輸協(xié)議實(shí)現(xiàn)數(shù)據(jù)通信,當(dāng)商家 的客戶端被啟動時(shí),會創(chuàng)建若干個(gè)線程同時(shí)向服務(wù)端請求商品信息,這時(shí)服務(wù)端從商品采 集庫中讀取商家商品數(shù)據(jù)分別傳送給客戶端,客戶端一個(gè)進(jìn)程即可以完成一次完整的數(shù)據(jù) 請求工作,若干個(gè)進(jìn)程同時(shí)啟動就實(shí)現(xiàn)了多任務(wù)并發(fā)執(zhí)行數(shù)據(jù)更新,如果再開啟一個(gè)客戶 端,那么又可以創(chuàng)建若干個(gè)進(jìn)程來完成下一批商品數(shù)據(jù)的更新工作,這樣的客戶端可以由 調(diào)度器來決定啟動次數(shù)和調(diào)用的頻率。
5.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于所述 數(shù)據(jù)分析入庫對采集后的數(shù)據(jù)需要進(jìn)行規(guī)范化處理,分析商品的價(jià)格和異常數(shù)據(jù)處理,所 述的商品價(jià)格解析進(jìn)程取到服務(wù)端返回的商品數(shù)據(jù)集合后,會循環(huán)讀取出商品的URL地 址向網(wǎng)站請求商品頁面內(nèi)容,同時(shí)讀取采集規(guī)則設(shè)置的參數(shù)信息分析出本次請求的商品價(jià) 格內(nèi)容,然后與本地價(jià)格比較,如果發(fā)現(xiàn)商品價(jià)格不相同,則向產(chǎn)品降價(jià)表寫入一條數(shù)據(jù), 同時(shí)也更新采集數(shù)據(jù)庫中的價(jià)格和更新時(shí)間信息。針對降價(jià)表內(nèi)的數(shù)據(jù),會根據(jù)用戶訂閱 的內(nèi)容,讀取出當(dāng)天最新降價(jià)的商品向客戶發(fā)送降價(jià)商品信息,所述的異數(shù)據(jù)常處理在向 商家站點(diǎn)請求商品數(shù)據(jù)過程中可能會因?yàn)榫W(wǎng)絡(luò)連接、服務(wù)器關(guān)閉、商品下架等諸多因素,針 對此類情況,客戶端對各類異常進(jìn)行捕獲,對不同的異常情況建立不同的狀態(tài)碼進(jìn)行標(biāo)識, 寫入采集數(shù)據(jù)庫表中,做為下次數(shù)據(jù)請求或者后期數(shù)據(jù)處理時(shí)參考使用。
全文摘要
本發(fā)明涉及計(jì)算機(jī)程序技術(shù)領(lǐng)域,具體的說是一種計(jì)算機(jī)顯示快速更新報(bào)價(jià)信息的方法,其特征在于該方法用以采集商品報(bào)價(jià)頁數(shù)據(jù)要求,并依據(jù)該要求產(chǎn)生分析商品報(bào)價(jià)頁面數(shù)據(jù),該方法包括(1)采集規(guī)則;(2)內(nèi)容更新;(3)數(shù)據(jù)分析入庫。本發(fā)明與現(xiàn)有技術(shù)相比,實(shí)現(xiàn)自動化處理,高效率執(zhí)行多個(gè)商家、不同商品報(bào)價(jià)可啟動多任務(wù)更新執(zhí)行,容錯(cuò)性強(qiáng),使商品信息在數(shù)據(jù)庫中保持良好的有效性和正確性,智能數(shù)據(jù)處理,采集后的數(shù)據(jù)自動分析價(jià)格漲跌,分別進(jìn)入商品降價(jià)表和報(bào)價(jià)信息表,為頁面展示商品價(jià)格歷史提供數(shù)據(jù)。
文檔編號G06Q30/00GK101853466SQ20101017788
公開日2010年10月6日 申請日期2010年5月18日 優(yōu)先權(quán)日2010年5月18日
發(fā)明者任學(xué)寧, 王海濤, 陳瑞城 申請人:上海購龍信息科技有限公司