獲取web更新信息的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了獲取WEB更新信息的方法和系統(tǒng)。啟動(dòng)客戶端,通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的API來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程;通過瀏覽器提供的應(yīng)用程序接口獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息;根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器;對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),根據(jù)資源忙閑情況進(jìn)行代理任務(wù)的調(diào)度;在服務(wù)器上重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比對(duì),如不同,則通知用戶WEB信息已更新。本發(fā)明無需重復(fù)登錄網(wǎng)站就能方便、快捷地獲知所要查看的信息是否已更新。
【專利說明】獲取WEB更新信息的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,尤其涉及獲取WEB (網(wǎng)絡(luò))更新信息的方法和系統(tǒng)。【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,網(wǎng)絡(luò)與人們的工作和生活結(jié)合得越來越緊密。人們通過網(wǎng)絡(luò)聯(lián)系、辦公、理財(cái)和購物等等。
[0003]例如:
[0004]需要經(jīng)常登錄辦公自動(dòng)化系統(tǒng),查看有無待處理的公文和任務(wù);
[0005]對(duì)于一些不提供POP3 (post office protocol,POP,郵局協(xié)議)服務(wù)的郵箱,需要登錄郵箱頁面查看有無新到的郵件;
[0006]登錄銀行網(wǎng)站查看理財(cái)產(chǎn)品信息,登錄電子商務(wù)網(wǎng)站查看最近有無新的促銷信肩、O
[0007]由于很多信息變更時(shí)并沒有提供主動(dòng)通知的接口,用戶為了及時(shí)獲取和處理信息,不得不重復(fù)登錄網(wǎng)站進(jìn)行檢索操作,以免延誤處理。這增加了終端以及網(wǎng)絡(luò)側(cè)設(shè)備的操作,對(duì)終端以及網(wǎng)絡(luò)側(cè)設(shè)備的性能以及效率等造成了影響。
【發(fā)明內(nèi)容】
[0008]鑒于以上,本發(fā)明提出獲取WEB更新信息的方法和系統(tǒng)。
[0009]根據(jù)本發(fā)明一方面,提出獲取WEB更新信息的方法,包括:
[0010]啟動(dòng)客戶端,通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的應(yīng)用程序接口(API)來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程;
[0011]通過瀏覽器提供的應(yīng)用程序接口獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息,網(wǎng)頁信息包括網(wǎng)頁元素和網(wǎng)頁代碼;
[0012]根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器,任務(wù)參數(shù)包括任務(wù)名稱、任務(wù)開始運(yùn)行時(shí)間、任務(wù)停止運(yùn)行時(shí)間、運(yùn)行時(shí)間間隔和通知方式,操作序列包括操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素和下一操作的延遲時(shí)間;
[0013]對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),服務(wù)器根據(jù)資源忙閑情況進(jìn)行代理任務(wù)的調(diào)度;
[0014]在服務(wù)器上重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比對(duì),如不同,則通知用戶網(wǎng)絡(luò)(WEB)信息已更新。
[0015]進(jìn)一步,服務(wù)器根據(jù)資源忙閑情況進(jìn)行代理任務(wù)的調(diào)度,包括以下步驟:
[0016]服務(wù)器接收到代理任務(wù)后,生成代理任務(wù)表;
[0017]服務(wù)器輪詢代理任務(wù)表,如果到達(dá)代理任務(wù)的任務(wù)開始運(yùn)行時(shí)間,則在資源池中選擇隊(duì)列最短的任務(wù)隊(duì)列,將該代理任務(wù)加入此任務(wù)隊(duì)列中。[0018]進(jìn)一步,重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,包括以下步驟:
[0019]將任務(wù)的操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素、加載完成時(shí)間以及對(duì)應(yīng)的瀏覽器實(shí)例句柄放入任務(wù)執(zhí)行隊(duì)列;
[0020]掃描任務(wù)執(zhí)行隊(duì)列,對(duì)于到達(dá)時(shí)間的操作,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載,如果已經(jīng)加載,發(fā)出該操作的模擬指令,即,向目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,否則繼續(xù)等待;
[0021]如果任務(wù)的最后一個(gè)操作已經(jīng)完成,通過瀏覽器句柄提供的接口獲取并保存網(wǎng)站返回的最新網(wǎng)頁信息,注銷瀏覽器實(shí)例。
[0022]進(jìn)一步,將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比對(duì),包括以下步驟:
[0023]將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行字符串匹配,不相同則認(rèn)定不同。
[0024]進(jìn)一步,通知用戶WEB信息已更新的操作中,根據(jù)任務(wù)參數(shù)中設(shè)置的通知方式向用戶發(fā)送通知。
[0025]根據(jù)本發(fā)明另一方面,還提出獲取WEB更新信息的系統(tǒng),其中:
[0026]客戶端包括:
[0027]錄制單元,配置于通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的應(yīng)用程序接口(API)來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程;
[0028]獲取單元,配置于通過瀏覽器提供的應(yīng)用程序接口獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息,網(wǎng)頁信息包括網(wǎng)頁元素和網(wǎng)頁代碼;
[0029]任務(wù)生成單元,配置于根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器,任務(wù)參數(shù)包括任務(wù)名稱、任務(wù)開始運(yùn)行時(shí)間、任務(wù)停止運(yùn)行時(shí)間、運(yùn)行時(shí)間間隔、通知方式,操作序列包括操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素和下一操作的延遲時(shí)間;
[0030]服務(wù)器包括:
[0031]通信單元,配置于接收客戶端的代理任務(wù);
[0032]任務(wù)存儲(chǔ)單元,配置于記錄和存儲(chǔ)代理任務(wù);
[0033]調(diào)度單元,配置于監(jiān)視代理任務(wù),對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),根據(jù)資源忙閑情況,進(jìn)行代理任務(wù)的調(diào)度;
[0034]任務(wù)執(zhí)行單元,配置于重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,并將其返回給比對(duì)單元;
[0035]比對(duì)單元,配置于將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比較,如不同,則通知用戶網(wǎng)絡(luò)(WEB)信息已更新。
[0036]進(jìn)一步,任務(wù)存儲(chǔ)單元生成代理任務(wù)表;調(diào)度單元輪詢代理任務(wù)表,如果到達(dá)代理任務(wù)的任務(wù)開始運(yùn)行時(shí)間,則在資源池中選擇隊(duì)列最短的任務(wù)隊(duì)列,將該代理任務(wù)加入此任務(wù)隊(duì)列中。
[0037]進(jìn)一步,任務(wù)執(zhí)行單元將任務(wù)的操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素、加載完成時(shí)間以及對(duì)應(yīng)的瀏覽器實(shí)例句柄放入任務(wù)執(zhí)行隊(duì)列;掃描任務(wù)執(zhí)行隊(duì)列,對(duì)于到達(dá)時(shí)間的操作,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載,如果已經(jīng)加載,發(fā)出該操作的模擬指令,即,向目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,否則繼續(xù)等待;如果任務(wù)的最后一個(gè)操作已經(jīng)完成,通過瀏覽器句柄提供的接口獲取并保存網(wǎng)站返回的最新網(wǎng)頁信息,注銷瀏覽器實(shí)例。
[0038]進(jìn)一步,比對(duì)單元將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行字符串匹配,不相同則認(rèn)定不同。
[0039]進(jìn)一步,比對(duì)單元根據(jù)任務(wù)參數(shù)中設(shè)置的通知方式向用戶發(fā)送WEB信息已更新的通知。
[0040]本發(fā)明通過對(duì)鍵盤事件和鼠標(biāo)事件的監(jiān)視實(shí)現(xiàn)對(duì)用戶網(wǎng)頁操作過程的錄制,在服務(wù)器上模擬鍵盤和鼠標(biāo)的輸入實(shí)現(xiàn)用戶操作的重放,從而自動(dòng)獲取WEB信息,并與之前保存的網(wǎng)頁操作結(jié)果進(jìn)行比較,在有更新時(shí)通知用戶。本發(fā)明中,用戶無需重復(fù)登錄網(wǎng)站就能方便、快捷地獲知所要查看的信息是否已更新。
【專利附圖】
【附圖說明】
[0041]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0042]圖1示出本發(fā)明獲取WEB更新信息的方法實(shí)施例的流程圖。
[0043]圖2示出本發(fā)明獲取WEB更新信息的系統(tǒng)的實(shí)施例的結(jié)構(gòu)圖。
[0044]圖3示出本發(fā)明的客戶端的結(jié)構(gòu)示意圖。
[0045]圖4示出本發(fā)明的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0046]現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置和數(shù)值不限制本發(fā)明的范圍。
[0047]同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。
[0048]以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
[0049]對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說明書的一部分。
[0050]在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
[0051]應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
[0052]下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說明本發(fā)明的示例性實(shí)施例。在附圖中,相同的標(biāo)號(hào)表示相同或者相似的組件或者元素。
[0053]圖1示出本發(fā)明獲取WEB更新信息的方法實(shí)施例的流程圖。該方法包括以下步驟:
[0054]S101、啟動(dòng)客戶端,通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的應(yīng)用程序接口(API)來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程。
[0055]操作過程包括在瀏覽器中輸入目標(biāo)網(wǎng)站網(wǎng)址、頁面加載后在頁面上進(jìn)行點(diǎn)擊操作。還可以包括在頁面上進(jìn)行輸入操作等。
[0056]通過監(jiān)視鍵盤事件可以獲取時(shí)間點(diǎn)、鍵值(被操作的是哪個(gè)鍵)以及鍵盤按下(或鍵盤彈起)。
[0057]通過監(jiān)視鼠標(biāo)事件可以獲取時(shí)間點(diǎn)、移動(dòng)到的X坐標(biāo)、y坐標(biāo)以及左鍵按下(或左鍵抬起、或右鍵按下、或右鍵抬起)。
[0058]以Windows操作系統(tǒng)為例。Windows操作系統(tǒng)的鉤子(Hook)機(jī)制為應(yīng)用提供了監(jiān)視系統(tǒng)中特定事件消息的機(jī)制。其中,WH_KEYB0ARD Hook監(jiān)視鍵盤事件,WH_M0USE Hook監(jiān)視鼠標(biāo)事件。
[0059]S102、客戶端通過瀏覽器提供的API獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息。
[0060]網(wǎng)頁信息包括網(wǎng)頁元素和網(wǎng)頁代碼。下面將舉例說明。
[0061]例如,網(wǎng)頁元素是指body.div.buttonl,網(wǎng)頁html代碼如下:
[0062]
<!DOCTYPE html>
<head>
<title>測(cè)J 試 </title>
</head>
<bodv>
<div>
〈button id=”buttonl” >地理位置定位</button>
</div>
</body>
</html>
[0063]S103、根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器。
[0064]具體為,根據(jù)代理任務(wù)的以下屬性信息生成xml:
[0065]由用戶設(shè)置的任務(wù)參數(shù),包括任務(wù)名稱、任務(wù)開始運(yùn)行時(shí)間、任務(wù)停止運(yùn)行時(shí)間、運(yùn)行時(shí)間間隔以及通知方式(短信、email、頂?shù)?;
[0066]由錄制時(shí)獲取的操作序列,包括:操作序號(hào)、鍵盤和/或鼠標(biāo)事件描述(鍵盤的輸入、鼠標(biāo)移動(dòng)到的X和I坐標(biāo)、鼠標(biāo)的按下和釋放)、操作對(duì)象的網(wǎng)頁元素和下一操作的延遲時(shí)間。
[0067]傳統(tǒng)的重放一般是對(duì)用戶操作過程基于時(shí)間的完全一致的重放,即本次操作與下次操作的時(shí)間間隔與錄制時(shí)完全一致。但由于在不同的網(wǎng)絡(luò)環(huán)境中,網(wǎng)頁加載的速度并不一致,可能會(huì)由于作為操作對(duì)象的網(wǎng)頁元素尚未加載而導(dǎo)致基于時(shí)間的重放失敗。因此,錄制時(shí)除了記錄用戶的操作,也會(huì)記錄下操作所對(duì)應(yīng)的網(wǎng)頁元素(網(wǎng)頁HTML的DOM樹的節(jié)點(diǎn),HTML:Hypertext Markup Language,超文本標(biāo)記語言;DOM:Document Object Model,文檔對(duì)象模型),以便于在重放時(shí)檢查該網(wǎng)頁元素是否已經(jīng)加載。
[0068]完成一個(gè)重放操作后,等待下一操作的延遲時(shí)間,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載。如果已經(jīng)加載,則可以進(jìn)行下一操作的重放操作;如果未加載,則需要繼續(xù)等待,直到對(duì)應(yīng)的網(wǎng)頁元素完成加載。
[0069]S104、服務(wù)器對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),根據(jù)的資源忙閑情況進(jìn)行代理任務(wù)的調(diào)度。
[0070]資源忙閑情況指資源池中的任務(wù)隊(duì)列的長(zhǎng)短。
[0071]服務(wù)器接收到代理任務(wù)后,生成代理任務(wù)表。服務(wù)器定期或者不定期輪詢代理任務(wù)表,如果到達(dá)代理任務(wù)的任務(wù)開始運(yùn)行時(shí)間,則在資源池中選擇隊(duì)列最短的任務(wù)隊(duì)列,將該代理任務(wù)加入此任務(wù)隊(duì)列中。
[0072]S105、在服務(wù)器上重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)
頁信息。
[0073]通過監(jiān)視鍵盤和/或鼠標(biāo)獲知用戶所登錄的網(wǎng)站。
[0074]將任務(wù)的操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素、加載完成時(shí)間以及對(duì)應(yīng)的瀏覽器實(shí)例句柄放入任務(wù)執(zhí)行隊(duì)列。
[0075]掃描任務(wù)執(zhí)行隊(duì)列,對(duì)于到達(dá)時(shí)間的操作,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載,如果已經(jīng)加載,發(fā)出該操作的模擬指令,即,向目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,否則繼續(xù)等待。
[0076]如果任務(wù)的最后一個(gè)操作已經(jīng)完成,通過瀏覽器句柄提供的接口獲取并保存網(wǎng)站返回的最新網(wǎng)頁信息,注銷瀏覽器實(shí)例。
[0077]S106、服務(wù)器將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比對(duì),如不同,則以設(shè)定的方式通知用戶WEB信息已更新。在比對(duì)時(shí),可以進(jìn)行字符串匹配,不相同則認(rèn)定不同。
[0078]圖2示出本發(fā)明獲取WEB更新信息的系統(tǒng)的實(shí)施例的結(jié)構(gòu)圖。該系統(tǒng)包括客戶端和服務(wù)器。
[0079]客戶端啟動(dòng)操作系統(tǒng)錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程,客戶端獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息,生成代理任務(wù)并提交給服務(wù)器。
[0080]服務(wù)器接收客戶端的代理任務(wù),在服務(wù)器上重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,自動(dòng)獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,并與之前保存的網(wǎng)頁信息進(jìn)行比較,在信息發(fā)生變更時(shí),以設(shè)定的方式通知用戶。
[0081]下面將結(jié)合附圖對(duì)客戶端和服務(wù)器進(jìn)行詳細(xì)說明。
[0082]圖3示出本發(fā)明的客戶端的結(jié)構(gòu)示意圖。該客戶端包括:錄制單元31、獲取單元32和任務(wù)生成單元33。
[0083]錄制單元31配置于通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的應(yīng)用程序接口(API)來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程。
[0084]錄制單元31提供錄制操作界面,例如,在該操作界面上設(shè)置“啟動(dòng)/停止”按鈕,當(dāng)用戶按下啟動(dòng)按鈕時(shí),錄制單元啟動(dòng)操作系統(tǒng)進(jìn)行錄制。當(dāng)用戶按下停止按鈕時(shí),錄制單元停止操作系統(tǒng)的錄制過程。
[0085]操作過程包括在瀏覽器中輸入目標(biāo)網(wǎng)站網(wǎng)址、頁面加載后在頁面上進(jìn)行點(diǎn)擊操作。還可以包括在頁面上進(jìn)行輸入操作。[0086]通過監(jiān)視鍵盤事件可以獲取時(shí)間點(diǎn)、鍵值(被操作的是哪個(gè)鍵)以及鍵盤按下(或鍵盤彈起)。
[0087]通過監(jiān)視鼠標(biāo)事件可以獲取時(shí)間點(diǎn)、移動(dòng)到的X坐標(biāo)、y坐標(biāo)以及左鍵按下(或左鍵抬起、或右鍵按下、或右鍵抬起)。
[0088]以Windows操作系統(tǒng)為例。Windows操作系統(tǒng)的鉤子(Hook)機(jī)制為應(yīng)用提供了監(jiān)視系統(tǒng)中特定事件消息的機(jī)制。其中,WH_KEYB0ARD Hook監(jiān)視鍵盤事件,WH_M0USE Hook監(jiān)視鼠標(biāo)事件。
[0089]獲取單元32配置于通過瀏覽器提供的應(yīng)用程序接口獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息,網(wǎng)頁信息包括頁面元素和網(wǎng)頁代碼。
[0090]任務(wù)生成單元33配置于根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器。
[0091]任務(wù)生成單元33提供任務(wù)操作界面,例如,設(shè)置代理任務(wù)參數(shù)、生成代理任務(wù)。
[0092]任務(wù)參數(shù)包括:任務(wù)名稱、任務(wù)開始運(yùn)行時(shí)間、任務(wù)停止運(yùn)行時(shí)間、運(yùn)行時(shí)間間隔、通知方式(短信、email、IM等)。
[0093]操作序列包括:操作序號(hào)、鍵盤和/或鼠標(biāo)事件(鍵盤的輸入、鼠標(biāo)移動(dòng)到的X和y坐標(biāo)、鼠標(biāo)的按下和釋放)、操作對(duì)象的網(wǎng)頁元素和下一操作的延遲時(shí)間。
[0094]傳統(tǒng)的重放一般是對(duì)用戶操作過程基于時(shí)間的完全一致的重放,即本次操作與下次操作的時(shí)間間隔與錄制時(shí)完全一致。但由于在不同的網(wǎng)絡(luò)環(huán)境中,網(wǎng)頁加載的速度并不一致,可能會(huì)由于作為操作對(duì)象的網(wǎng)頁元素尚未加載而導(dǎo)致基于時(shí)間的重放失敗。因此,錄制時(shí)除了記錄用戶的操作,也會(huì)記錄下操作所對(duì)應(yīng)的網(wǎng)頁元素,以便于在重放時(shí)檢查該網(wǎng)頁元素是否已經(jīng)加載。
[0095]完成一個(gè)重放操作后,等待下一操作的延遲時(shí)間,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載。如果已經(jīng)加載,則可以進(jìn)行下一操作的重放操作;如果未加載,則需要繼續(xù)等待,直到對(duì)應(yīng)的網(wǎng)頁元素完成加載。
[0096]圖4示出本發(fā)明的服務(wù)器的結(jié)構(gòu)示意圖。該服務(wù)器包括:通信單元41、任務(wù)存儲(chǔ)單元42、調(diào)度單元43、任務(wù)執(zhí)行單元44和比對(duì)單元45。
[0097]通信單元41配置于接收客戶端的代理任務(wù)。
[0098]任務(wù)存儲(chǔ)單元42配置于記錄和存儲(chǔ)代理任務(wù)。在一實(shí)施例中,任務(wù)存儲(chǔ)單元生成代理任務(wù)表以存儲(chǔ)代理任務(wù)。
[0099]調(diào)度單元43配置于監(jiān)視代理任務(wù),對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),根據(jù)資源忙閑情況,進(jìn)行代理任務(wù)的調(diào)度。
[0100]調(diào)度單元可以定期或者不定期輪詢代理任務(wù)表,如果到達(dá)代理任務(wù)的任務(wù)開始運(yùn)行時(shí)間,則在資源池中選擇隊(duì)列最短的任務(wù)隊(duì)列,將該代理任務(wù)加入此任務(wù)隊(duì)列中。
[0101]任務(wù)執(zhí)行單元44配置于重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,并將其返回給比對(duì)單元。
[0102]比對(duì)單元45配置于將網(wǎng)站返回的最新網(wǎng)頁信息與之前保存的網(wǎng)頁信息進(jìn)行比較,如不同,則可以通過設(shè)定的方式通知用戶WEB信息已更新。
[0103]在一實(shí)施例中,任務(wù)執(zhí)行單元將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行字符串匹配,不相同則認(rèn)定不同。[0104]下面將通過一個(gè)實(shí)施例來說明任務(wù)執(zhí)行單元44重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程。
[0105]任務(wù)執(zhí)行單元44為代理任務(wù)啟動(dòng)瀏覽器實(shí)例,通過操作系統(tǒng)提供的鍵盤擊鍵和鼠標(biāo)操作的監(jiān)視機(jī)制,根據(jù)操作序列的內(nèi)容,重放用戶的網(wǎng)頁操作過程。
[0106]具體的重放操作中:
[0107]通過監(jiān)視鍵盤和/或鼠標(biāo)獲知用戶所登錄的網(wǎng)站。
[0108]將任務(wù)的操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素、加載完成時(shí)間以及對(duì)應(yīng)的瀏覽器實(shí)例句柄放入任務(wù)執(zhí)行隊(duì)列。
[0109]掃描任務(wù)執(zhí)行隊(duì)列,對(duì)于到達(dá)時(shí)間的操作,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載,如果已經(jīng)加載,發(fā)出該操作的模擬指令,即,向目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,否則繼續(xù)等待。
[0110]如果任務(wù)的最后一個(gè)操作已經(jīng)完成,通過瀏覽器句柄提供的接口獲取并保存網(wǎng)站返回的最新網(wǎng)頁信息,注銷瀏覽器實(shí)例。
[0111]在另一實(shí)施例中,本發(fā)明的服務(wù)器還可以包括認(rèn)證單元和/或計(jì)費(fèi)單元。
[0112]認(rèn)證單元用于對(duì)客戶端提交的用戶身份信息的合法性進(jìn)行驗(yàn)證。
[0113]計(jì)費(fèi)單元用于生成業(yè)務(wù)使用記錄、提供業(yè)務(wù)計(jì)費(fèi)處理。
[0114]本發(fā)明通過對(duì)鍵盤事件和鼠標(biāo)事件的監(jiān)視實(shí)現(xiàn)對(duì)用戶網(wǎng)頁操作過程的錄制,在服務(wù)器上模擬鍵盤和鼠標(biāo)的輸入實(shí)現(xiàn)用戶操作的重放,從而自動(dòng)獲取WEB信息,并與之前保存的網(wǎng)頁操作結(jié)果進(jìn)行比較,在有更新時(shí)通知用戶。本發(fā)明中,用戶無需重復(fù)登錄網(wǎng)站就能方便、快捷地獲知所要查看的信息是否已更新。
[0115]由于本發(fā)明可以在信息更新時(shí)獲取通知,通知的方式可以是用戶在任務(wù)參數(shù)中設(shè)置的通知方式,例如,短信、email、頂?shù)?,不僅能夠及時(shí)的獲取處理信息,不會(huì)造成延誤,而且減少了對(duì)終端以及網(wǎng)絡(luò)側(cè)設(shè)備的操作,不會(huì)對(duì)終端以及網(wǎng)絡(luò)側(cè)設(shè)備的性能以及效率等造成影響。
[0116]至此,已經(jīng)詳細(xì)描述了本發(fā)明。為了避免遮蔽本發(fā)明的構(gòu)思,沒有描述本領(lǐng)域所公知的一些細(xì)節(jié)。本領(lǐng)域技術(shù)人員根據(jù)上面的描述,完全可以明白如何實(shí)施這里公開的技術(shù)方案。
[0117]可能以許多方式來實(shí)現(xiàn)本發(fā)明的方法以及裝置。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的方法以及裝置。用于所述方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0118]雖然已經(jīng)通過示例對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上示例僅是為了進(jìn)行說明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來限定。
【權(quán)利要求】
1.獲取WEB更新信息的方法,其特征在于: 啟動(dòng)客戶端,通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的應(yīng)用程序接口(API)來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程; 通過瀏覽器提供的應(yīng)用程序接口獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息,網(wǎng)頁信息包括網(wǎng)頁元素和網(wǎng)頁代碼; 根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器,任務(wù)參數(shù)包括任務(wù)名稱、任務(wù)開始運(yùn)行時(shí)間、任務(wù)停止運(yùn)行時(shí)間、運(yùn)行時(shí)間間隔和通知方式,操作序列包括操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素和下一操作的延遲時(shí)間; 對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),服務(wù)器根據(jù)資源忙閑情況進(jìn)行代理任務(wù)的調(diào)度; 在服務(wù)器上重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比對(duì),如不同,則通知用戶網(wǎng)絡(luò)(WEB)信息已更新。
2.如權(quán)利要求1所述獲取WEB更新信息的方法,其特征在于: 服務(wù)器根據(jù)資源忙閑情況進(jìn)行代理任務(wù)的調(diào)度,包括以下步驟: 服務(wù)器接收到代理任務(wù)后,生成代理任務(wù)表; 服務(wù)器輪詢代理任務(wù) 表,如果到達(dá)代理任務(wù)的任務(wù)開始運(yùn)行時(shí)間,則在資源池中選擇隊(duì)列最短的任務(wù)隊(duì)列,將該代理任務(wù)加入此任務(wù)隊(duì)列中。
3.如權(quán)利要求1所述獲取WEB更新信息的方法,其特征在于: 重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,包括以下步驟: 將任務(wù)的操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素、加載完成時(shí)間以及對(duì)應(yīng)的瀏覽器實(shí)例句柄放入任務(wù)執(zhí)行隊(duì)列; 掃描任務(wù)執(zhí)行隊(duì)列,對(duì)于到達(dá)時(shí)間的操作,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載,如果已經(jīng)加載,發(fā)出該操作的模擬指令,即,向目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,否則繼續(xù)等待; 如果任務(wù)的最后一個(gè)操作已經(jīng)完成,通過瀏覽器句柄提供的接口獲取并保存網(wǎng)站返回的最新網(wǎng)頁信息,注銷瀏覽器實(shí)例。
4.如權(quán)利要求1所述獲取WEB更新信息的方法,其特征在于: 將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比對(duì),包括以下步驟: 將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行字符串匹配,不相同則認(rèn)定不同。
5.如權(quán)利要求1所述獲取WEB更新信息的方法,其特征在于: 通知用戶WEB信息已更新的操作中,根據(jù)任務(wù)參數(shù)中設(shè)置的通知方式向用戶發(fā)送通知。
6.獲取WEB更新信息的系統(tǒng),其特征在于: 客戶端包括: 錄制單元,配置于通過操作系統(tǒng)提供的監(jiān)視鍵盤事件和鼠標(biāo)事件的應(yīng)用程序接口(API)來獲取鍵盤和/或鼠標(biāo)事件,以錄制用戶對(duì)目標(biāo)網(wǎng)站的操作過程; 獲取單元,配置于通過瀏覽器提供的應(yīng)用程序接口獲取目標(biāo)網(wǎng)站返回的網(wǎng)頁信息,網(wǎng)頁信息包括網(wǎng)頁元素和網(wǎng)頁代碼; 任務(wù)生成單元,配置于根據(jù)錄制時(shí)獲取的操作序列以及設(shè)置的任務(wù)參數(shù)生成代理任務(wù),并提交給服務(wù)器,任務(wù)參數(shù)包括任務(wù)名稱、任務(wù)開始運(yùn)行時(shí)間、任務(wù)停止運(yùn)行時(shí)間、運(yùn)行時(shí)間間隔、通知方式,操作序列包括操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素和下一操作的延遲時(shí)間; 服務(wù)器包括: 通信單元,配置于接收客戶端的代理任務(wù); 任務(wù)存儲(chǔ)單元,配置于記錄和存儲(chǔ)代理任務(wù); 調(diào)度單元,配置于監(jiān)視代理任務(wù),對(duì)于到達(dá)任務(wù)開始運(yùn)行時(shí)間的代理任務(wù),根據(jù)資源忙閑情況,進(jìn)行代理任務(wù)的調(diào)度; 任務(wù)執(zhí)行單元,配置于重放用戶對(duì)目標(biāo)網(wǎng)站的操作過程,獲取目標(biāo)網(wǎng)站返回的最新網(wǎng)頁信息,并將其返回給比對(duì)單元; 比對(duì)單元,配置于將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行比較,如不同,則通知用戶網(wǎng)絡(luò)(WEB )信息已更新。
7.如權(quán)利要求6所述獲取WEB更新信息的系統(tǒng),其特征在于: 任務(wù)存儲(chǔ)單元生成代理任務(wù)表; 調(diào)度單元輪詢代理任務(wù)表,如果到達(dá)代理任務(wù)的任務(wù)開始運(yùn)行時(shí)間,則在資源池中選擇隊(duì)列最短的任務(wù)隊(duì)列,將該代理任務(wù)加入此任務(wù)隊(duì)列中。
8.如權(quán)利要求6所述獲取WEB更新信息的系統(tǒng),其特征在于: 任務(wù)執(zhí)行單元將任務(wù)的操作序號(hào)、鍵盤和/或鼠標(biāo)事件、操作對(duì)象的網(wǎng)頁元素、加載完成時(shí)間以及對(duì)應(yīng)的瀏覽器實(shí)例句柄放入任務(wù)執(zhí)行隊(duì)列; 掃描任務(wù)執(zhí)行隊(duì)列,對(duì)于到達(dá)時(shí)間的操作,檢查對(duì)應(yīng)的網(wǎng)頁元素是否已經(jīng)加載,如果已經(jīng)加載,發(fā)出該操作的模擬指令,即,向目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,否則繼續(xù)等待; 如果任務(wù)的最后一個(gè)操作已經(jīng)完成,通過瀏覽器句柄提供的接口獲取并保存網(wǎng)站返回的最新網(wǎng)頁信息,注銷瀏覽器實(shí)例。
9.如權(quán)利要求6所述獲取WEB更新信息的系統(tǒng),其特征在于: 比對(duì)單元將網(wǎng)站返回的最新網(wǎng)頁信息與保存的網(wǎng)頁信息進(jìn)行字符串匹配,不相同則認(rèn)定不同。
10.如權(quán)利要求6所述獲取WEB更新信息的系統(tǒng),其特征在于: 比對(duì)單元根據(jù)任務(wù)參數(shù)中設(shè)置的通知方式向用戶發(fā)送WEB信息已更新的通知。
【文檔編號(hào)】G06F9/445GK103699533SQ201210365642
【公開日】2014年4月2日 申請(qǐng)日期:2012年9月27日 優(yōu)先權(quán)日:2012年9月27日
【發(fā)明者】郝穎, 王愛寶, 盧燕青, 楊杰, 甘玉玨, 張凡 申請(qǐng)人:中國電信股份有限公司