TWI557571B - 用於藉由使用者歷史紀錄將網頁爬行最佳化的方法、電腦可儲存媒體及伺服器 - Google Patents

用於藉由使用者歷史紀錄將網頁爬行最佳化的方法、電腦可儲存媒體及伺服器 Download PDF

Info

Publication number
TWI557571B
TWI557571B TW101124657A TW101124657A TWI557571B TW I557571 B TWI557571 B TW I557571B TW 101124657 A TW101124657 A TW 101124657A TW 101124657 A TW101124657 A TW 101124657A TW I557571 B TWI557571 B TW I557571B
Authority
TW
Taiwan
Prior art keywords
website
time frame
web
during
access
Prior art date
Application number
TW101124657A
Other languages
English (en)
Other versions
TW201308094A (zh
Inventor
懷爾曼狄恩M
卡納爾法伯瑞斯
希亞姆庫馬巴拉吉
章曦
Original Assignee
微軟技術授權有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201308094A publication Critical patent/TW201308094A/zh
Application granted granted Critical
Publication of TWI557571B publication Critical patent/TWI557571B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

用於藉由使用者歷史紀錄將網頁爬行最佳化的方法、電腦可儲存媒 體及伺服器
本發明係關於藉由使用者歷史紀錄將網頁爬行最佳化。
搜尋引擎使用網頁爬行器來理解全球資訊網(World Wide Web;又稱為網路)上之文件。網頁爬行器係為持續地搜尋網路之程式,並藉由網站之內容(例如關鍵字、文字、交換鏈結、視訊、音訊及類似物)來索引網站。因為網站時常地改變,網頁爬行器必須重複爬行網站以索引最新更新之內容。重複存取網站以提出問題給網站所有人,然而,因為主存網站之伺服器可能在同一時間僅能服務特定數量之使用者/請求者。所以爬行在峰值訊務週期期間之網站(在特定證券交易所開盤時間附近的交易股票之網站)使網站之穩定度變得危險。對於現代的網頁爬行器而言,平衡索引更新內容與網站訊務之易變性之需求係為困難之任務。
網站所有人在網頁爬行器存取網站所有人之網站時試圖控制速率之傳統方式係透過稱為「robot.txt」檔案之指令文件檔案。robot.txt檔案指示網頁爬行器可存取網站之速率(爬行率),與網頁爬行器在讀取之間必須等待之延遲(爬行延遲)。爬行率與爬行延遲二者係為 預定之靜態值,因此不能依據網站訊務而允許調整。
此【發明內容】係提供以簡明方式介紹以下所敘述之【實施方式】之概念選擇。此【發明內容】並非意欲識別申請專利範圍之關鍵特徵或主要特徵,亦非意欲用於決定申請專利範圍之範疇之輔助。
一個態樣係指向在網頁爬行器之管理與排程中之客戶端計算裝置上使用從網頁瀏覽器發送之記錄資料。記錄資料係指示網頁瀏覽器之網頁歷史之使用者。接收與聚集來自許多不同客戶端之記錄資料,並分析記錄資料之聚集資料,以理解歷史上網站在不同時間框架期間之忙碌情形。假定歷史上不同時間框架之忙碌程度係為未來相同時間的時間框架之忙碌程度的合理預測因子,則一個實施例使用時間框架期間內經計算之忙碌程度以機率性地評估未來時間框架之網站之訊務。訊務評估係用於決定網頁爬行器存取與爬行網站之速率。
另一個態樣係指向聚集周期性從客戶端網頁瀏覽器接收之記錄資料與其他客戶端瀏覽器之記錄資料,以理解歷史上在不同時間框架期間之網站忙碌程度。使用聚集的記錄資料,機率性地評估在形成之一或更多個時間框架期間之網站之訊務,且網頁爬行器係設置以不超越訊務評估之速率讀取網站。此舉提供網頁爬行器將 不會使網站當機之高機率。
在又另一個態樣中,伺服器經配置以執行管理網頁爬行器的禮貌管理器。依據指示客戶端網頁瀏覽器之歷史的客戶端網頁瀏覽器發送的記錄資料,禮貌管理器評估在不同時間框架期間之網站之頁面請求之閥值頻率。依據記錄資料,禮貌管理器排程一或更多個網頁爬行器以低於頁面請求之閥值頻率的速率來存取網站。網頁爬行器根據禮貌管理器之排程來存取網站,並以累計低於頁面請求之閥值頻率的速率爬行。
本文所述之標的係明確地呈現以符合法規要求。然而,本文之敘述並非意欲限制此專利之範疇。請求之標的亦可以其他方式結合現存或未來之技術實施,以包括不同步驟或類似於此文敘述者之步驟之結合。
如本文所使用,「網站」係指網頁、網路部落格、線上視訊、線上影像與可透過網路存取之多種其他內容。為輔助本文敘述之可讀性,「網站(web site)」與「站點(site)」可交替使用。在本領域具有通常知識者將理解網站爬行器可經配置以分析並解釋網站上之內文及/或中介資料,以理解線上內容。為了此目的,可依據內文之下層定義、網站上之安置或內容之其他部分之位置來判定或加權內文。判定內容的經典實例係計算網站上 關鍵字或詞之次數,以當關鍵字係在網站之最頂端、網站上之標題或發現在相對接近關鍵字之另一實例時,提供更多延遲。又或,在另一實例中,可分析視訊之標題之關鍵字與網站上之安置。無數之方式存在於藉由網站爬行器推斷與判定網站內容,故不同實施例可使用不同技術。
一般而言,本文所述之實施例係指向明智地管理存取網站之網頁爬行器。依據來自客戶端之網頁瀏覽器回報或來自提供網站管理之主伺服器之歷史記錄資料之樣本,不同實施例確定爬行網站之速率。聚集之記錄資料允許一些實施例理解何種時間框架為特別忙碌與何種時間框架不忙碌,以增加或減少網頁爬行器存取網站之頻率。當站點在歷史上並非忙碌時,可允許網頁爬行器以高於當網站在歷史上為忙碌時之頻率向網站發出請求。
至少一個實施例使用從客戶端之網頁瀏覽器發送之記錄資料。記錄資料指示網頁瀏覽器之網頁歷史之使用者,可與從其他網頁瀏覽器之記錄資料聚集以理解特定網站之訊務狀態。如一實例考慮網站www.microsoft.com。從許多不同客戶端接收並聚集記錄資料。接著分析聚集之記錄資料以理解通常對於www.microsoft.com何種時間為忙碌,與何種時間較不忙碌。舉例而言,記錄資料可展現www.microsoft.com係在週間之半夜存取之頻率遠少午餐時間。理解忙碌與靜 止時間允許實施例可在不同時間框架期間機率性地評估網站之訊務,例如1:00am-2:00am。接著訊務評估可用於決定網頁爬行器可存取網站之速率(爬行率),且在一個實施例中,爬行率係用於排程網站之爬行。
另一實施例從網頁瀏覽器接收指示瀏覽器歷史之記錄資料。瀏覽器歷史可包括以下資料,例如歷史上由瀏覽器拜訪之網站之統一資源定位符(URLs)、拜訪URLs之時間與日期、推薦URLs(例如先前請求網站之URL)、頁面簽名與其他儲存為瀏覽器歷史之已知屬性。實施例亦從其他網頁瀏覽器存取記錄資料,並聚集所有記錄資料以形成特定網站之訊務之智慧型圖片。使用聚集之記錄資料,形成在一或更多個時間框架期間之網站之訊務機率評估。舉例而言,聚集之記錄資料可經分析以決定網站從12:14至12:42pm接收峰值訊務。
依據跨越一或更多個時間框架之訊務評估,實施例決定可在時間框架期間向網站發出請求而不危及網站穩定度之閥值頻率。舉例而言,訊務評估可在時間框架期間命令至多可作出每秒二十個請求,而另一時間框架可承受每秒三十個請求。一或更多個網頁爬行器可接著指示在第一時間框架期間以低於每秒二十個請求向網站發出請求,或在一些實施例中,可考慮低於每秒二十個請求來確認爬行不會使網站效能下降。
在又另一實施例中,伺服器經配置以執行「禮貌管理器」,該禮貌管理器係指電腦可執行指令(實施為軟 體、韌體、硬體或軟體、韌體與硬體之結合)以管理網頁爬行器。在此實施例中,依據藉由客戶端網頁瀏覽器發送之記錄資料,禮貌管理器評估在不同時間框架期間之網站頁面請求之閥值頻率,以指示該等瀏覽器之歷史。依據記錄資料,禮貌管理器排程一或更多個網頁爬行器,以低於頁面請求之閥值頻率之速率存取網站。亦實施為軟體、韌體、硬體或軟體、韌體與硬體之結合之網頁爬行器根據禮貌管理器之排程來存取網站。舉例而言,在決定彼十五分鐘歷史上係為忙碌而判定為每秒十五個請求之較低頻率之爬行率較恰當之後,禮貌管理器可排程十個網頁爬行器從2:00至2:15pm以每秒一個頁面來存取網站。所以,網頁爬行器以累計每秒十個請求之速率爬行。實例純粹提供以作說明之用,此實例並非意欲限制所討論之實施例。
本文所稱之實施例可為電腦程式產品之形式,該電腦程式產品包括實施於一或更多個電腦可讀取媒體上之電腦可使用指令。電腦可讀取媒體包括揮發性與非揮發性媒體、可移除與非可移除媒體、與預期可由資料庫讀取之媒體。本文所述之多種計算裝置、應用程式伺服器與資料伺服器之每一者可含有不同類型之電腦可讀取媒體,以儲存指令與資料。此外,此等裝置亦可與多種應用程式與作業系統一起配置。
以實例而非限制之方式,電腦可讀取媒體包含電腦儲存媒體。電腦儲存媒體或電腦可讀取媒體包括實施 儲存資訊之任何方法與技術之媒體。儲存資訊之實例包括電腦可用指令、資料結構、程式模組與其他資料表示。電腦儲存媒體包括,但非限制於隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式唯讀記憶體(EEPROM)、快閃記憶體,以上係獨立使用或與不同儲存媒體(例如光碟(CD-ROM)、數位多功能光碟(DVD)、全像媒體或其他光學儲存、磁匣、磁帶、磁碟儲存或其他磁儲存裝置)結合。此等記憶體裝置可短暫地、臨時地或永久地儲存資料。
本文所使用之「部件」係指電腦相關實體,即硬體、軟體(例如執行中)及/或韌體。部件可在客戶端伺服器之關係下操作,以實行多種本文所述之技術。此等計算一般係指為「雲端中」計算。舉例而言,部件可為運行於處理器中之程序、函式庫、次常式及/或電腦或軟體與硬體之結合。由說明之方式,運行於伺服器上之應用程式與伺服器二者可為部件。一或更多個部件可常駐在程序中,且可在計算裝置(例如伺服器)中定位或在二或更多個跨過網路通訊之計算裝置間分配部件。
特別開始參照至第1圖,用於實施一個實施例之示例性操作環境一般係展示並標示為計算裝置100。計算裝置100僅為合適的計算環境之一個實例,而非意欲建議本發明之功能與用途之範圍的任何限制。計算裝置100不應說明為對關於圖示部件部分之任何一者或結合具有任何依附或需求。在一個實施例中,計算裝置100 係為個人電腦。但在其他實施例中,計算裝置100可為行動電話、智慧型手機、數位電話、手持裝置、BlackBerry®、個人數位助理(PDA)或能執行電腦指令之其他裝置。
實施例可以電腦代碼或機器可用指令之一般內文敘述,並包括可藉由電腦或其他機器(例如PDA或其他手持裝置)執行之電腦可執行指令,例如程式模組。一般而言,機器可用指令定義多種軟體常式、程式、物件、部件、資料結構、遠端程序呼叫(RPCs)與類似物。在操作中,此等指令實行特定計算任務,例如請求與擷取儲存於遠端計算裝置或伺服器上之資訊。
本文所述之實施例可實施多種系統配置,包括手持裝置、消費性電子、一般目的之電腦、更多指定計算裝置等。本文所述之實施例亦可實施分散式計算環境,其中藉由透過通訊網站鏈結之遠端處理裝置實行任務。
繼續參照第1圖,計算裝置100包括匯流排110,該匯流排110直接或間接耦接至下列裝置:記憶體112、一或更多個處理器114、一或更多個呈現裝置116、I/O埠118、I/O部件120以及說明性之電源供應器122。匯流排110代表一或更多個匯流排(例如定址匯流排、資料匯流排或定址匯流排與資料匯流排之結合)。儘管第1圖之多種方塊為明確之目的而展示界線,而實際上描述之多種硬體並非如此明確,而隱喻式地使用灰色模糊的界線將更加精確。舉例而言,吾人可考慮將呈現裝置(例 如監視器)作為I/O部件。同樣的,處理器具有記憶體。該領域具有通常知識者將理解,如前所述之第1圖之圖係僅為可用於連接本發明之一或更多個實施例之示例性計算裝置之說明。「工作站」、「伺服器」、「膝上型電腦」、「手持裝置」等之類別間並無區別,以上所有者係在第1圖之範疇中並可被稱為「計算裝置」。
計算裝置100可包括多種電腦可讀取媒體。藉由實例且非限制之方式,電腦可讀取媒體可包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、光碟(CDROM)、數位多功能光碟(DVD)或其他光學或全像媒體、磁匣、磁帶、磁碟儲存或其他磁儲存裝置。
記憶體112包括揮發性及/或非揮發性形式之電腦儲存媒體。記憶體可為可移除、不可移除或二者之結合。示例性硬體裝置包括固態記憶體、硬碟、快取、光碟驅動等。計算裝置100包括一或更多個處理器,該一或更多個處理器從多種實體(例如記憶體112或I/O部件120)讀取資料。呈現裝置116呈現對使用者或其他裝置之資料指示。示例性呈現部件包括顯示裝置、揚聲器、列印部件、震動部件等。
特別地,記憶體112可與網頁瀏覽器應用程式(例如Microsoft Internet Explorer®)之指令一起實施。該領域具有通常知識者將理解網頁瀏覽器之功能;因此, 網頁瀏覽器不需在本文中討論。然而,應注意,實施在記憶體112上之網頁瀏覽器可與多種插件(例如Microsoft SilverLightTM或Adobe Flash)一起配置。此等插件使網頁瀏覽器能在連通之網路內容中執行腳本或標示語言。舉例而言,JavaScript可實施在網頁中,並可藉由網頁瀏覽器插件執行在客戶端計算裝置100上。
I/O埠118允許計算裝置100邏輯地耦接至包括I/O部件120之其他裝置,一些I/O部件120可為內建。圖示之部件包括麥克風、搖桿、遊戲板、衛星碟(satellite dish)、掃描器、列表機、無線裝置等。
第2圖係為根據一個實施例之用於智慧型爬行網站之網路環境200之方塊圖。網路環境200包含數個計算裝置,數個計算裝置包括客戶端計算裝置A-Z(表示為「客戶端202」)、禮貌管理器204、網路主存伺服器A-Z(表示為「主機端206」)以及網頁爬行器伺服器A-Z(表示為「網頁爬行器208」)。客戶端202、主機端206與網頁爬行器208之每一者可包括一或更多個計算裝置,因此每一者與點一起圖示之原因為可擴充性之標示。
儘管以下討論之客戶端202、禮貌管理器204、主機端206與網頁爬行器208係隨著藉由單獨之計算裝置執行,一些實施例可包括在相同計算裝置上之此等裝置之結合。舉例而言,可由執行網頁爬行器208之相同伺服器執行禮貌管理器204,或主機端206可如禮貌管理器204般放置於相同伺服器。換言之,不同計算裝置 (客戶端與伺服器)及結合可藉由本文討論之實施例而使用。
網路環境200中之計算裝置跨過網路210與其他每一者通訊,網路210可包括任何通訊網路,例如網際網路、私人網路、區域網路(LAN)、廣域網路(WAN)或類似者。網路210可包含LAN網路環境,該LAN網路環境包括透過網路介面或轉接器連接之部件。在網路210提供WAN網路環境的實施例中,部件可使用數據機以透過WAN建立通訊。然而,網路210並非被限於耦接單獨計算單元之連接;而是網路210亦可包括傳輸伺服器與計算裝置間之資料之子系統。舉例而言,網路210可包括點對點連接。該領域具有通常知識者將理解可使用多種電腦網路,並因此不需於本文中討論。
客戶端202可為任何類型之計算裝置,例如參照於第1圖所述之裝置100。藉由實例而非限制,客戶端202之每一者可為個人電腦、桌上型電腦、膝上型電腦、手持裝置、行動電話、電子平板電腦或其他個人計算裝置。客戶端202之每一者可與網頁瀏覽器一起配置並能夠藉由提交URL或統一資源識別符(uniform resource identifier;URI)而顯示網站。
在一個實施例中,常駐於客戶端202上之網頁瀏覽器裝備工具列或其他插件,而經配置以週期性地傳送記錄資料至禮貌管理器204。記錄資料可包括由網頁瀏覽器儲存之多種歷史參數,該等歷史參數詳述網頁瀏覽 器之網頁歷史。此等歷史參數之實例包括,而非限制於由網頁瀏覽器拜訪之URLs或URIs以及拜訪下層網站之時間及/或日期標記、在指定站點拜訪之前先拜訪之推薦網站、拜訪網站之網際網路協定(IP)位址、網站之簽名頁面或類似者。插件允許週期性地傳送歷史參數,並可由HTTP URL訊息之方式傳送。舉例而言,網頁瀏覽器可每天、每十二小時、每小時或其他時間區段發送HTTP URL訊息。
主機端206主存網站並允許請求網頁瀏覽器存取站點。該領域具有通常知識者將理解主存網站之多種複雜難明之處,故不需在本文中討論。儘管一些實施例將併入主機端206,該主機端206提供可用於管理網站之多種網站管理與小型分析伺服器或應用程式。在一個實施例中,此等小型伺服器或應用程式創建詳述已拜訪站點之所有客戶端202之記錄資料。此伺服器創建記錄資料可包括諸如由客戶端202上之網頁瀏覽器之插件產生之歷史參數之歷史參數。
禮貌管理器204代表在類似伺服器之計算裝置上主存之軟體、韌體、硬體或三者之結合。在一個實施例中,禮貌管理器204存取並分析來自客戶端202之記錄資料,以決定在主機端206上之使用者對網站之訊務之趨勢。為實行先前之動作,禮貌管理器可聚集由多個瀏覽器提交之HTTP URL訊息中之記錄資料,以註記使用者何時以及以何種頻率拜訪網站。禮貌管理器最後決定 歷史上在不同時間框架期間對網站之訊務狀態。時間框架可跨過特定事件期間之任何時間測量:舉例而言,指定小時(一天中之分鐘之集合)、指定天(例如星期六、星期一等)、在指定事件(證券交易所之開盤時間)之後;或以上之結合。
在另一實施例中,禮貌管理器亦從網站主存、分析或網路管理應用程式存取記錄資料。舉例而言,主機端206可提供支援網站之多種服務。在交換或彼等服務中或是該等服務中之一者,主機端206可儲存記錄資料至網站,因此而畫出非常精確之站點訊務圖。反之,來自客戶端202上之網頁瀏覽器之記錄資料僅可從已安裝插件之使用者擷取資料。其他實施例可使用二個類型之記錄資料之結果以決定站點訊務。
禮貌管理器204亦可排程網頁爬行器208以爬行主機端206上之網站。網頁爬行器208代表軟體應用程式能請求往站並分析站點內容。該領域具有通常知識者將理解可在接收內容之後由網頁爬行器208實行多種機率性計算。舉例而言,二個關鍵字實例可依據在站點上有多靠近在一起或在站點上之頁面頂端有多靠近來以某種方式加權。該領域中具有通常知識者一般將理解多種理解及索引網站之加權及分析技術。
在操作中,禮貌管理器204可排程網頁爬行器208以某種爬行率或爬行延遲爬行網頁,並可依據未來訊務資料之評估計算爬行率與爬行延遲二者。在一個實施例 中,在禮貌管理器204分析詳述站點歷史訊務之記錄資料之後,計算未來訊務資料之評估。歷史訊務對禮貌管理器204指示站點在歷史上的何種時間框架為忙碌(亦即當站點更常被請求時)與歷史上的何種時間框架較慢(亦即站點有較少請求)。使用歷史訊務資料,禮貌管理器決定相當精確之未來站點訊務,以估算爬行率。在一個實施例中,爬行率係計算為特定時間框架期間拜訪訊務之平均。舉例而言,可使用在過去200天中之2:00pm至2:15pmGST拜訪網站者之平均數以評估在未來之彼時間框架期間之訊務將為何。
禮貌管理器204可排程網頁爬行器208在時間框架期間以低於拜訪站點者評估數量的頻率存取網站。舉例而言,若在時間框架期間站點每秒接收三十個詢問,則禮貌管理器可排程網頁爬行器208以每秒二十九個或更少的詢問來爬行站點。在此實施例中,禮貌管理器204排程網頁爬行器208以少於站點計算之頁面請求評估閥值數量之速率來爬行。在一個實施例中,禮貌管理器204可以決定之爬行率從站點所有人或主機端206請求爬行確認。
若站點當機或經歷其他問題的同時,網頁爬行器208正在爬行,則一個實施例暫停網頁爬行器208向網站發出請求。舉例而言,HTTP503錯誤可由網頁爬行器208接收,以觸發網頁爬行器208停止。網頁爬行器208可對其他錯誤同樣小心。
第3圖係為根據一個實施例之運作智慧型爬行網站之數個裝置之處理流程圖300。流程300圖示多種客戶端302、禮貌管理器304、網站主機端306(主機端306)與網頁爬行器308間之流程,以上所有者係透過網路通訊(為清楚起見未圖示)。
從流程300的左上方開始,如310與312所圖示,客戶端302從網頁瀏覽器之插件及/或工具列收集記錄資料。如313所圖示,客戶端202發送記錄資料至禮貌管理器,該禮貌管理器接收與儲存記錄資料(314與316所圖示),且計算網站之爬行率(318所圖示)。再次,可設定爬行率,網頁爬行器308以低於網站在特定時間框架期間請求之決定數量來向網站發出請求。禮貌管理器304可在不同時間框架之間改變(增加或減少)爬行率。舉例而言,峰值時間框架判定一爬行率為恰當,該爬行率排程網頁爬行器308以低於非峰值時間框架期限之頻率來向網站發出請求。
可附加或可替代於客戶端302之記錄資料,主機端306可收集並發送由分析或網路管理工具所集合之記錄資料(如320與322所圖示)。此伺服器側之記錄資料可使用結合或替代客戶端302之記錄資料來決定爬行率。
在一個實施例中,如324所圖示,依據決定之爬行率或在時間框架期間之站點請求之閥值頻率,禮貌管理器304排程在時間框架期間之網頁爬行器308。如326 所圖示,藉由啟始網頁爬行器之一或更多者之任務,爬行網站可開始爬行網站上之資料。如328所圖示,網頁爬行器可決定目前之日期與時間。如330所圖示,一些實施例亦將使網頁爬行器308擷取並依附至robot.txt檔案中之爬行率及/或爬行延遲(若存在)。如332所圖示,可替代或附加地,網頁爬行器存取並依附至由禮貌管理器指定之爬行率,亦即,依據接收之記錄資料(客戶端及/或主機端)決定之爬行率。如334所圖示,網頁爬行器308開始爬行主機端306上之網站,依附至由禮貌管理器決定之爬行率,並在一些實施例中,考量robot.txt檔案之爬行率與爬行延遲。
第4圖係為根據一個實施例之智慧型爬行網站之流程圖400。流程400包括從複數個網頁瀏覽器接收記錄資料之步驟402。記錄資料可來自客戶端計算裝置(例如藉由客戶端網頁瀏覽器週期性地發送記錄資料),或在另一實施例中,記錄資料可來自提供給網站多種網路管理分析工具之伺服器(例如從補捉所有相關歷史之伺服器至網站)。步驟404包括使用記錄資料以評估在時間框架期間之網站訊務,例如在天、秒、小時、分、秒或一些結合期間之特定組。步驟406包括依據訊務評估決定在時間框架期限之爬行率。在一個實施例中,爬行率(亦即網頁爬行器可存取網站之累計速率)係設定以確定爬行器不會在時間框架期間以多於頁面請求之歷史平均來存取網站。在一個實施例中,如步驟408所圖示,決定 爬行率之後,伺服器或禮貌管理器(如上所述)排程一或更多個網頁爬行器(或網頁爬行器之實例),以開始在時間框架期間根據爬行率存取網站。
儘管未圖示,稍後之時間框架可判定不同之爬行率為恰當,而伺服器或禮貌管理器可排程網頁爬行器在稍後之時間框架期間以不同速率存取網站。為此目的,伺服器或禮貌管理器可動態地改變網頁爬行器之排程,以在不同時間框架期間考慮不同爬行率。
第5圖係為根據一個實施例之智慧型爬行網站之流程圖。流程500包括從指示歷史上之瀏覽歷史之網頁瀏覽器接收記錄資料之步驟502。記錄資料可來自客戶端計算裝置(例如藉由客戶端網頁瀏覽器週期性地發送記錄資料),或在另一實施例中,記錄資料可來自提供給網站多種網路管理分析工具之伺服器(例如從補捉所有相關歷史的伺服器至網站)。步驟504包括決定網頁瀏覽器在指定時間存取網站,且步驟506接著從複數個其他網頁瀏覽器聚集額外的記錄資料。額外的記錄資料指示存取網站的其他網頁瀏覽器歷史上的額外的瀏覽歷史。如步驟508所圖示,記錄資料與額外的記錄資料係用於評估在時間框架期間之網站訊務。在時間框架期間,步驟510決定網站之頁面請求之閥值頻率,且步驟512指派一或更多個網頁爬行器以少於頁面請求之閥值頻率之速率爬行或存取網站。
儘管未圖示,稍後之時間框架可判定頁面請求之 不同頻率為恰當,而網頁爬行器經指派在稍後之時間框架期間以更高或更低頻率存取網站。為此目的,伺服器或禮貌管理器可動態地改變網頁爬行器之排程,以在不同時間期間考慮不同存取頻率。
圖示之步驟並非限制於連續之方式,因為一些實施例將平行或非圖示之順序實施步驟。此外,儘管標的已由特定於結構特徵與方法邏輯之動作的語言方式敘述,仍應瞭解定義於專利申請範圍之標的不需限制於上述指定之特徵或動作。再者,上述指定之特徵與動作係為實施專利申請範圍之實例形式。舉例而言,不同於本文敘述之樣本速率與樣本週期亦在申請專利範圍之寬度內。
100‧‧‧計算裝置
110‧‧‧匯流排
112‧‧‧記憶體
114‧‧‧處理器
116‧‧‧呈現裝置
118‧‧‧I/O埠
120‧‧‧I/O部件
122‧‧‧電源供應器
200‧‧‧網路環境
202‧‧‧客戶端
204‧‧‧禮貌管理器
206‧‧‧主機端
208‧‧‧網頁爬行器
210‧‧‧網路
300‧‧‧流程
302‧‧‧客戶端
304‧‧‧禮貌管理器
306‧‧‧主機端
308‧‧‧網頁爬行器
310‧‧‧步驟
312‧‧‧步驟
313‧‧‧步驟
314‧‧‧步驟
316‧‧‧步驟
318‧‧‧步驟
320‧‧‧步驟
322‧‧‧步驟
324‧‧‧步驟
326‧‧‧步驟
328‧‧‧步驟
330‧‧‧步驟
332‧‧‧步驟
334‧‧‧步驟
400‧‧‧流程
402‧‧‧步驟
404‧‧‧步驟
406‧‧‧步驟
408‧‧‧步驟
500‧‧‧流程
502‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
本發明係參照於隨附圖式而詳細描述於下,其中:第1圖係為根據一個實施例之計算裝置之方塊圖;第2圖係為根據一個實施例之用於智慧型爬行網站之網路環境之方塊圖;第3圖係為根據一個實施例之運作智慧型爬行網站之數個裝置之處理流程圖;第4圖係為根據一個實施例之智慧型爬行網站之 流程圖;以及第5圖係為根據一個實施例之智慧型爬行網站之流程圖。
300‧‧‧流程
302‧‧‧客戶端
304‧‧‧禮貌管理器
306‧‧‧主機端
308‧‧‧網頁爬行器
310‧‧‧步驟
312‧‧‧步驟
313‧‧‧步驟
314‧‧‧步驟
316‧‧‧步驟
318‧‧‧步驟
320‧‧‧步驟
322‧‧‧步驟
324‧‧‧步驟
326‧‧‧步驟
328‧‧‧步驟
330‧‧‧步驟
332‧‧‧步驟
334‧‧‧步驟

Claims (20)

  1. 一種用於爬行一網站之方法,該方法包含以下步驟:在一伺服器裝置處,從複數個網頁瀏覽器接收記錄資料,該記錄資料指示使用者透過該等網頁瀏覽器存取該網站;在該伺服器裝置處,使用該記錄資料評估該網站在一時間框架期間之訊務;依據該訊務評估,藉由該伺服器裝置決定該網站在該時間框架期間之頁面請求之一閥值頻率;在該伺服器裝置處,決定在該時間框架期間之一爬行率低於頁面請求之該閥值頻率;以及使用該爬行率以排程一或更多個網頁爬行器向該網站發出請求。
  2. 如請求項1所述之方法,其中該記錄資料指示歷史上藉由該複數個網頁瀏覽器存取之複數個統一資源定位符(URLs)。
  3. 如請求項2所述之方法,其中該記錄資料指示該複數個網頁瀏覽器存取該複數個URLS的時間與日期。
  4. 如請求項2所述之方法,其中該記錄資料指示在URLs之前存取之複數個推薦URLs使用者。
  5. 如請求項1所述之方法,更進一步包含以下步驟:依據該網站之該訊務評估,決定存取該網站之一或更多個峰值與非峰值時間框架,其中該峰值時間框架係為歷史上 該網站比該非峰值時間框架經歷更多訊務的一時間。
  6. 如請求項5所述之方法,更進一步包含以下步驟:排程該一或更多個網頁爬行器,在該峰值時間框架期間,以較該非峰值時間框架期間更高之頻率存取該網站。
  7. 如請求項5所述之方法,更進一步包含以下步驟:排程該一或更多個網頁爬行器,在該峰值時間框架期間不存取該網站。
  8. 如請求項1所述之方法,其中該一或更多個網頁爬行器在存取該網站之後,即分析該網站之內容以索引該網站。
  9. 如請求項1所述之方法,更進一步包含以下步驟:從監視該網站之存取的一或更多個分析應用程式接收分析記錄;以及使用該網站管理資料來指定在該時間框架之該爬行率。
  10. 如請求項1所述之方法,其中該記錄資料係在一HTTP URL訊息中接收。
  11. 如請求項1所述之方法,更進一步包含以下步驟:接收一HTTP錯誤;以及依據該HTTP錯誤之接收,停止該一或更多個網頁爬行器向該網站發出請求。
  12. 如請求項1所述之方法,其中該爬行率指示存取該網站之一最大頻率。
  13. 一種利用電腦可執行指令實施之電腦儲存媒體,當由一處理器執行該等電腦可執行指令時,該等電腦可執行指 令協調一網站之網頁爬行,包含以下步驟:從一網頁瀏覽器接收指示歷史上之瀏覽歷史之記錄資料;決定在一指定時間存取該網站之該網頁瀏覽器;從複數個其他網頁瀏覽器聚集額外的記錄資料,該額外的記錄資料指示該等其他網頁瀏覽器存取該網站之額外的歷史上之瀏覽歷史;使用該記錄資料與該額外的記錄資料來評估該網站在一時間框架期間之訊務;依據該訊務評估決定該網站在該時間框架期間之頁面請求之一閥值頻率;以及指派一或更多個網頁爬行器,以低於頁面請求之該閥值頻率的一速率來存取該網站。
  14. 如請求項13所述之媒體,更進一步包含以下步驟:依據該記錄資料與該額外的記錄資料,決定該網站在一第二時間框架期間之一第二訊務評估;以及依據指示歷史上該網站在該第二時間框架期間之訊務比該訊務評估更少的該第二訊務評估,排程該一或更多個爬行器,在該第二時間框架期間,以較該時間框架更高之頻率存取該網站。
  15. 如請求項13所述之媒體,更進一步包含以下步驟:依據該記錄資料與該額外的記錄資料,決定該網站在一第二時間框架期間之一第二訊務評估;以及依據指示歷史上該網站在該第二時間框架期間之訊 務比該訊務評估更多的該第二訊務評估,排程該一或更多個爬行器,在該第二時間框架期間,以較該時間框架更低之頻率存取該網站。
  16. 如請求項13所述之媒體,其中該網站之頁面請求之該閥值頻率包含每一指定量之時間中一數量之請求。
  17. 如請求項13所述之媒體,更進一步包含傳送一通知之步驟,該通知包含:依據歷史上之瀏覽歷史與歷史上額外的瀏覽歷史的一或更多個爬行該網站之峰值時間框架,依據歷史上之瀏覽歷史與歷史上額外的瀏覽歷史的爬行該網站之非峰值時間框架,以及在該峰值或非峰值時間框架期間,以一或更多個速率爬行該網站之許可之一請求。
  18. 一種伺服器,該伺服器包含:一或更多個處理器,該一或更多個處理器執行一禮貌管理器(politeness manager)以(204與304):(1)依據指示複數個使用者存取該網站的歷史記錄資料,評估一網站在一第一與第二時間框架期間頁面請求的一閥值頻率,以及(2)排程一或更多個網頁爬行器,以低於頁面請求之該閥值頻率來存取該網站;以及一或更多個網頁爬行器,該一或更多個網頁爬行器隨著該禮貌管理器之排程來存取該網站。
  19. 如請求項18所述之伺服器,頁面請求之該閥值頻率亦 依據從一或更多個監視該網站存取之分析應用程式的歷史分析記錄。
  20. 如請求項18所述之伺服器,其中該禮貌管理器更進一步傳送一請求,以低於頁面請求之該閥值頻率之一速率來爬行該網站。
TW101124657A 2011-08-09 2012-07-09 用於藉由使用者歷史紀錄將網頁爬行最佳化的方法、電腦可儲存媒體及伺服器 TWI557571B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/206,256 US8782031B2 (en) 2011-08-09 2011-08-09 Optimizing web crawling with user history

Publications (2)

Publication Number Publication Date
TW201308094A TW201308094A (zh) 2013-02-16
TWI557571B true TWI557571B (zh) 2016-11-11

Family

ID=47669159

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101124657A TWI557571B (zh) 2011-08-09 2012-07-09 用於藉由使用者歷史紀錄將網頁爬行最佳化的方法、電腦可儲存媒體及伺服器

Country Status (6)

Country Link
US (1) US8782031B2 (zh)
EP (1) EP2742438B1 (zh)
CN (1) CN103718171B (zh)
AR (1) AR087458A1 (zh)
TW (1) TWI557571B (zh)
WO (1) WO2013022659A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199332A1 (en) * 2012-07-20 2015-07-16 Mu Li Browsing history language model for input method editor
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
CN104168174A (zh) * 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 一种传输信息的方法及装置
US10068013B2 (en) * 2014-06-19 2018-09-04 Samsung Electronics Co., Ltd. Techniques for focused crawling
US10310699B1 (en) * 2014-12-08 2019-06-04 Amazon Technologies, Inc. Dynamic modification of browser and content presentation
CN104581779B (zh) * 2014-12-11 2018-11-30 华为技术有限公司 一种业务处理方法以及装置
CN106503017A (zh) * 2015-09-08 2017-03-15 摩贝(上海)生物科技有限公司 一种分布式爬虫系统任务抓取系统和方法
US10585970B2 (en) * 2016-01-14 2020-03-10 International Business Machines Corporation Managing dynamic webpage content
US10484415B1 (en) * 2016-12-16 2019-11-19 Worldpay, Llc Systems and methods for detecting security risks in network pages
CN110020046B (zh) * 2017-10-20 2021-06-15 中移(苏州)软件技术有限公司 一种数据抓取方法及装置
US11366862B2 (en) * 2019-11-08 2022-06-21 Gap Intelligence, Inc. Automated web page accessing
CN111125488A (zh) * 2019-12-25 2020-05-08 东南大学 一种主机负荷智能感知的定向爬虫方法及系统
CN111431852B (zh) * 2020-02-21 2021-06-25 厦门大学 一种浏览器历史嗅探方法与浏览器历史监控方法
US12019691B2 (en) 2021-04-02 2024-06-25 Trackstreet, Inc. System and method for reducing crawl frequency and memory usage for an autonomous internet crawler
CN113486229B (zh) * 2021-07-05 2023-11-07 北京百度网讯科技有限公司 抓取压力的控制方法、装置、电子设备及可读存储介质
CN113505041A (zh) * 2021-07-21 2021-10-15 浪潮卓数大数据产业发展有限公司 基于用户访问行为分析的爬虫识别方法及系统
CN115329179B (zh) * 2022-10-14 2023-04-28 卡奥斯工业智能研究院(青岛)有限公司 数据采集资源量控制方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270484A1 (en) * 2001-04-16 2008-10-30 Arkady Borkovsky Using Network Traffic Logs for Search Enhancement
TW200945077A (en) * 2007-12-21 2009-11-01 Yahoo Inc Systems and methods of ranking attention
US20090327913A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Using web revisitation patterns to support web interaction
US20100241621A1 (en) * 2003-07-03 2010-09-23 Randall Keith H Scheduler for Search Engine Crawler
US20110179178A1 (en) * 2006-08-04 2011-07-21 Vanessa Fox System and Method for Managing Multiple Domain Names for a Website in a Website Indexing System

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662230B1 (en) * 1999-10-20 2003-12-09 International Business Machines Corporation System and method for dynamically limiting robot access to server data
US6418452B1 (en) * 1999-11-03 2002-07-09 International Business Machines Corporation Network repository service directory for efficient web crawling
WO2001050320A1 (en) 1999-12-30 2001-07-12 Auctionwatch.Com, Inc. Minimal impact crawler
US7310632B2 (en) 2004-02-12 2007-12-18 Microsoft Corporation Decision-theoretic web-crawling and predicting web-page change
US7987172B1 (en) * 2004-08-30 2011-07-26 Google Inc. Minimizing visibility of stale content in web searching including revising web crawl intervals of documents
US8386459B1 (en) * 2005-04-25 2013-02-26 Google Inc. Scheduling a recrawl
US7801881B1 (en) 2005-05-31 2010-09-21 Google Inc. Sitemap generating client for web crawler
US7769742B1 (en) 2005-05-31 2010-08-03 Google Inc. Web crawler scheduler that utilizes sitemaps from websites
US7599920B1 (en) 2006-10-12 2009-10-06 Google Inc. System and method for enabling website owners to manage crawl rate in a website indexing system
CN1945576A (zh) * 2006-10-31 2007-04-11 上海态格文化传播有限公司 自适应网页更新时间预测方法
CN101187925B (zh) * 2006-11-17 2010-11-03 北京酷讯科技有限公司 自动优化爬虫的抓取方法
JP4868245B2 (ja) 2007-08-17 2012-02-01 ヤフー株式会社 検索システム、検索装置、および検索方法
US8108340B2 (en) 2008-03-28 2012-01-31 Yahoo! Inc. Search engine configured to minimize performance degradation under high load
US8595847B2 (en) * 2008-05-16 2013-11-26 Yellowpages.Com Llc Systems and methods to control web scraping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270484A1 (en) * 2001-04-16 2008-10-30 Arkady Borkovsky Using Network Traffic Logs for Search Enhancement
US20100241621A1 (en) * 2003-07-03 2010-09-23 Randall Keith H Scheduler for Search Engine Crawler
US20110179178A1 (en) * 2006-08-04 2011-07-21 Vanessa Fox System and Method for Managing Multiple Domain Names for a Website in a Website Indexing System
TW200945077A (en) * 2007-12-21 2009-11-01 Yahoo Inc Systems and methods of ranking attention
US20090327913A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Using web revisitation patterns to support web interaction

Also Published As

Publication number Publication date
EP2742438A4 (en) 2015-05-20
EP2742438B1 (en) 2017-12-13
WO2013022659A3 (en) 2013-04-18
US20130041881A1 (en) 2013-02-14
CN103718171B (zh) 2016-11-09
US8782031B2 (en) 2014-07-15
CN103718171A (zh) 2014-04-09
TW201308094A (zh) 2013-02-16
EP2742438A2 (en) 2014-06-18
WO2013022659A2 (en) 2013-02-14
AR087458A1 (es) 2014-03-26

Similar Documents

Publication Publication Date Title
TWI557571B (zh) 用於藉由使用者歷史紀錄將網頁爬行最佳化的方法、電腦可儲存媒體及伺服器
US10284441B2 (en) Data delivery
TWI308269B (en) Methods and apparatus for managing computing deployment in presence of variable workload
US20150067019A1 (en) Method and system for using arbitrary computing devices for distributed data processing
US8365241B1 (en) Method and apparatus for archiving web content based on a policy
WO2013185175A1 (en) Predictive analytics for resource provisioning in hybrid cloud
Kumar et al. A new approach for a proxy-level web caching mechanism
US11416291B1 (en) Database server management for proxy scraping jobs
US20110093533A1 (en) Generating site maps
US20180204248A1 (en) Web page viewership prediction
CN103729380A (zh) 一种数据处理方法、系统及装置
EP2808792A1 (en) Method and system for using arbitrary computing devices for distributed data processing
US11368550B2 (en) Systems and methods for entity aware allocation of electronic resources
JP2005501335A (ja) コンピュータ・リソースの負荷をコンピュータの間で分散する方法及びシステム
CN111078975A (zh) 一种多节点增量式数据采集系统及采集方法
Shailesh et al. An analysis of techniques and quality assessment for Web performance optimization
KR102107237B1 (ko) 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법
de Paula et al. Detecting and handling flash-crowd events on cloud environments
Sturgeon Modelling Request Access Patterns for Information on the World Wide Web
Elwaer et al. Preference driven server selection in peer-2-peer data sharing systems
US8806046B1 (en) Application streaming and network file system optimization via integration with identity management solutions
CN118296032A (zh) 一种数据查询的方法和装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees