欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng)的制作方法

文檔序號(hào):10488165閱讀:175來源:國(guó)知局
一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng);本發(fā)明實(shí)施例采用定時(shí)獲取配置文件,根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù),并從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),然后,根據(jù)這些參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù);該方案不僅實(shí)現(xiàn)和更新較為簡(jiǎn)單,易于進(jìn)行功能擴(kuò)展,而且可以減少資源的消耗。
【專利說明】
一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種瀏覽器頁面數(shù)據(jù)過濾方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的人選擇通過網(wǎng)絡(luò)來獲取自己所需的各種信 息,包括一些電子讀物,比如電子書、電子期刊或電子報(bào),等等。所謂電子讀物,是指將文字、 圖片、聲音、和影像等訊息內(nèi)容數(shù)字化的出版物或非出版物。與此同時(shí),為了方便用戶獲取 電子讀物,現(xiàn)有技術(shù)也相應(yīng)地涌出了一批與閱讀相關(guān)的終端應(yīng)用,簡(jiǎn)稱閱讀應(yīng)用。
[0003] 用戶通過閱讀應(yīng)用獲取的數(shù)據(jù),一般可以分為用戶相關(guān)數(shù)據(jù)、以及用戶無關(guān)數(shù)據(jù), 所謂用戶相關(guān)數(shù)據(jù),指的是用戶的個(gè)性化數(shù)據(jù),比如,用戶的VIP(貴賓,very important people)等級(jí)、用戶所訂閱的服務(wù)內(nèi)容、用戶的書簽、以及用戶的收藏夾等,而用戶無關(guān)數(shù) 據(jù),指的是所有用戶可以公用的數(shù)據(jù),比如某些閱讀界面的配置信息、頁面上的插圖、以及 電子讀物的具體內(nèi)容等。在現(xiàn)有技術(shù)中,一般的,閱讀應(yīng)用所屬的服務(wù)端都會(huì)采用定時(shí)的守 護(hù)進(jìn)程(daemon)拉取的方式來批量獲取用戶無關(guān)數(shù)據(jù),并對(duì)該用戶無關(guān)數(shù)據(jù)進(jìn)行加工,然 后存儲(chǔ)在本地,這樣,每次用戶訪問時(shí),服務(wù)端只需要調(diào)用用戶相關(guān)的接口,以獲取相應(yīng)的 用戶相關(guān)數(shù)據(jù)即可,而對(duì)于用戶無關(guān)數(shù)據(jù),便可以從本地獲取,從而避免了在實(shí)時(shí)的請(qǐng)求中 調(diào)用過多的外部接口,減少了請(qǐng)求的耗時(shí)、以及對(duì)外部接口的依賴。
[0004] 在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),由于各個(gè)模塊的差異 性,在現(xiàn)有方案中,需要為每個(gè)模塊都獨(dú)立編寫相應(yīng)的守護(hù)進(jìn)程,如果有新的模塊加入或?qū)?功能進(jìn)行更新,還需要重新進(jìn)行編程和整合,即現(xiàn)有方案采用的是硬編碼的方式,實(shí)現(xiàn)和更 新均較為復(fù)雜,不易進(jìn)行功能拓展,而且浪費(fèi)資源。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng),不僅實(shí)現(xiàn)和更新較為 簡(jiǎn)單,易于進(jìn)行功能擴(kuò)展,而且可以減少資源的消耗。
[0006] 本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法,包括:
[0007] 定時(shí)獲取配置文件;
[0008] 根據(jù)所述配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù);
[0009] 從所述配置文件中獲取與所述插件函數(shù)相關(guān)的參數(shù);
[0010] 根據(jù)所述參數(shù)執(zhí)行所述插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0011] 相應(yīng)的,本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置,包括:
[0012] 文件獲取單元,用于定時(shí)獲取配置文件;
[0013] 調(diào)用單元,用于根據(jù)所述配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件 函數(shù);
[0014] 參數(shù)獲取單元,用于從所述配置文件中獲取與所述插件函數(shù)相關(guān)的參數(shù);
[0015] 執(zhí)行單元,用于根據(jù)所述參數(shù)執(zhí)行所述插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0016] 此外,本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng),包括本發(fā)明實(shí)施例提供的 任一種網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置。
[0017] 本發(fā)明實(shí)施例采用定時(shí)獲取配置文件,根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件, 以及調(diào)用相應(yīng)的插件函數(shù),并從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),然后,根據(jù)這 些參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù);由于該方案可以將在獲取網(wǎng)絡(luò)數(shù)據(jù)過程中的一 些邏輯處理操作以動(dòng)態(tài)庫文件和插件函數(shù)的方式來體現(xiàn),因此,對(duì)于不同模塊共有的一些 基礎(chǔ)邏輯功能,如用戶無關(guān)數(shù)據(jù)的獲取等,只需共享同一動(dòng)態(tài)庫文件和插件函數(shù)即可,而無 需為每個(gè)模塊均單獨(dú)編寫一套相應(yīng)的完整代碼,不僅實(shí)現(xiàn)更為簡(jiǎn)單,而且也便于進(jìn)行更新 和功能擴(kuò)展,比如,在進(jìn)行功能拓展時(shí),只需專注于該拓展功能的邏輯開發(fā),而無需關(guān)注其 基礎(chǔ)邏輯功能,等等,大大提高了其靈活性;進(jìn)一步的,由于可以將實(shí)現(xiàn)相同功能的代碼進(jìn) 行共享,所以,可以減少大量重復(fù)的代碼,減少資源的消耗。
【附圖說明】
[0018] 為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附 圖。
[0019] 圖la是本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)數(shù)據(jù)的獲取方法的場(chǎng)景示意圖;
[0020] 圖lb是本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)數(shù)據(jù)的獲取方法的流程圖;
[0021] 圖2是本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)數(shù)據(jù)的獲取方法的另一流程圖;
[0022] 圖3a是本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置的結(jié)構(gòu)示意圖;
[0023] 圖3b是本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置的另一結(jié)構(gòu)示意圖;
[0024] 圖4是本發(fā)明實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0026] 本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng)。
[0027] 其中,該網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng)可以包括本發(fā)明實(shí)施例所提供的任一種網(wǎng)絡(luò)數(shù)據(jù)的 獲取裝置,該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置具體可以集成在服務(wù)器中,此外,該網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng) 還可以包括其他的設(shè)備,比如終端,該終端主要用于接收服務(wù)器發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)。
[0028] 例如,參見圖la,該服務(wù)器可以定時(shí)獲取配置文件,根據(jù)該配置文件加載相應(yīng)的動(dòng) 態(tài)庫文件,比如so文件,以及調(diào)用相應(yīng)的插件函數(shù),并從該配置文件中獲取與該插件函數(shù)相 關(guān)的參數(shù),然后,根據(jù)這些參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù);比如,可以將這些參數(shù)按 照順序添加至參數(shù)列表中,然后,將該參數(shù)列表中的參數(shù)依次輸入至所述插件函數(shù)中,執(zhí)行 輸入了參數(shù)的插件函數(shù),以調(diào)用相應(yīng)的外部接口,并通過該外部接口從服務(wù)器拉取原始網(wǎng) 絡(luò)數(shù)據(jù),對(duì)原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到網(wǎng)絡(luò)數(shù)據(jù),等等;此后,當(dāng)終端需要獲取該網(wǎng)絡(luò) 數(shù)據(jù),比如,當(dāng)服務(wù)器接收到終端發(fā)送的數(shù)據(jù)獲取請(qǐng)求時(shí),并可以將得到的網(wǎng)絡(luò)數(shù)據(jù)提供給 終端。
[0029] 以下分別進(jìn)行詳細(xì)說明。需說明的是,以下實(shí)施例的序號(hào)不作為對(duì)實(shí)施例優(yōu)選順 序的限定。
[0030] 實(shí)施例一、
[0031] 本實(shí)施例將從網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置的角度進(jìn)行描述,該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置具體 可以集成在服務(wù)器,比如應(yīng)用服務(wù)器中。
[0032] -種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法,包括:定時(shí)獲取配置文件;根據(jù)該配置文件加載相應(yīng)的 動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù);從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù);根 據(jù)該參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0033] 如圖lb所示,該網(wǎng)絡(luò)數(shù)據(jù)的獲取方法的具體流程可以如下:
[0034] 101、定時(shí)獲取配置文件。
[0035]例如,具體可以設(shè)置一獲取周期,然后按照該周期定時(shí)獲取配置文件。其中,該周 期可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置每30秒獲取一次,或每隔20秒獲取一 次,等等。
[0036]其中,該配置文件的格式可以根據(jù)實(shí)際應(yīng)用的需求而定,比如,可以是html或xml 等格式,等等。為了描述方便,在本發(fā)明實(shí)施例中,均以該配置文件具體為xml格式為例進(jìn)行 說明。
[0037] 其中,在獲取配置文件時(shí),可以從其他設(shè)備,比如管理服務(wù)器或存儲(chǔ)服務(wù)器中來獲 取該配置文件,也可以預(yù)先將該配置文件加載在本地,從本地獲取該配置文件,即在步驟 "定時(shí)獲取配置文件"之前,該網(wǎng)絡(luò)數(shù)據(jù)的獲取方法還可以包括:
[0038] 確定當(dāng)前運(yùn)行環(huán)境符合預(yù)設(shè)條件時(shí),加載配置文件。
[0039] 其中,當(dāng)前運(yùn)行環(huán)境可以包括運(yùn)行時(shí)間信息、和/或各軟硬件的狀態(tài)信息等,而該 預(yù)設(shè)條件則可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置每隔一定的周期,便加載一 次該配置文件;又比如,還可以設(shè)置當(dāng)某進(jìn)程處于某個(gè)狀態(tài)時(shí),則加載該配置文件,等等,在 此不再贅述。
[0040] 可選的,為了節(jié)省信令流程,提供處理效率,在加載配置文件時(shí),還可以判斷該配 置文件是否發(fā)生了變化,若發(fā)生了變化,才重新進(jìn)行加載,而如果沒有發(fā)送變化,則可以沿 用上一次加載的配置文件。
[0041] 其中,判斷該配置文件是否發(fā)生了變化的方式可以有多種,除了可以直接將當(dāng)前 配置文件與上一次加載的配置文件進(jìn)行比較之外,還可以通過配置文件的修改時(shí)間來進(jìn)行 判斷,即在步驟"加載配置文件"之后,該網(wǎng)絡(luò)數(shù)據(jù)的獲取方法還可以包括:
[0042] 確定配置文件的最后修改時(shí)間與上一次加載時(shí)的修改時(shí)間不一致時(shí),重新加載該 配置文件。
[0043] 否則,若確定配置文件的最后修改時(shí)間與上一次加載時(shí)的修改時(shí)間一致,則表明 已加載的配置文件并沒有發(fā)生變化,該已加載的配置文件為當(dāng)前最新的版本,可以繼續(xù)使 用。
[0044]例如,具體可以通過讀取配置文件的文件狀態(tài)信息,比如stat(文件狀態(tài))信息,來 確定該配置文件當(dāng)前的最后修改時(shí)間和上一次加載時(shí)的修改時(shí)間是否一致,等等。
[0045] 102、根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù);例如,具 體可以如下:
[0046]讀取該配置文件中的守護(hù)進(jìn)程(比如daemon)任務(wù),以確定當(dāng)前需要執(zhí)行的守護(hù)進(jìn) 程任務(wù),根據(jù)該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插 件函數(shù)。
[0047] 比如,可以從該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)中獲取相應(yīng)的動(dòng)態(tài)庫文件的標(biāo)識(shí)和 插件函數(shù)的標(biāo)識(shí),根據(jù)該動(dòng)態(tài)庫文件的標(biāo)識(shí)調(diào)用相應(yīng)的動(dòng)態(tài)庫文件,并加載該動(dòng)態(tài)庫文件, 比如so文件,然后,根據(jù)該插件函數(shù)的標(biāo)識(shí)從該動(dòng)態(tài)庫文件中調(diào)用相應(yīng)插件函數(shù),等等。
[0048] 其中,守護(hù)進(jìn)程是一種在運(yùn)行在后臺(tái)的特殊的進(jìn)程,它獨(dú)立于控制終端并且周期 性的執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。
[0049] 其中,動(dòng)態(tài)庫文件的標(biāo)識(shí)可以包括動(dòng)態(tài)庫文件的名稱或編號(hào)等可以識(shí)別出該動(dòng)態(tài) 庫文件的信息;而插件函數(shù)的標(biāo)識(shí)則可以包括插件函數(shù)的名稱或編號(hào)等可以識(shí)別出該插件 函數(shù)的信息。
[0050] 例如,以動(dòng)態(tài)庫文件的標(biāo)識(shí)具體為動(dòng)態(tài)庫文件的名稱,插件函數(shù)的標(biāo)識(shí)具體為插 件函數(shù)的名稱為例,若配置文件的內(nèi)容如下:
[0052] 其中,handler節(jié)點(diǎn)表示的是一個(gè)插件函數(shù),在上述配置文件的例子中具體指的是 libdaemon ? so庫(即一個(gè)動(dòng)態(tài)庫文件)里的GetColumnBook函數(shù)(即一個(gè)插件函數(shù))。而task 節(jié)點(diǎn)表示的是一條需要執(zhí)行的守護(hù)進(jìn)程(daemon)任務(wù)。
[0053] 貝,當(dāng)該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置讀取到這條task記錄后,便會(huì)找到名為 "getcolumnbook"的handler,然后,根據(jù)其中的信息加載相應(yīng)的動(dòng)態(tài)庫文件,即加載〃 libdaemon. so〃,以及調(diào)用相應(yīng)的插件函數(shù),即調(diào)用〃GetColumnBook。
[0054] 需說明的,由于守護(hù)進(jìn)程執(zhí)行次數(shù)較少,無法通過模調(diào)上報(bào)來監(jiān)控執(zhí)行情況,因 此,一旦進(jìn)程死掉或者訪問外部接口失敗,則容易因?yàn)闊o法及時(shí)處理而導(dǎo)致外網(wǎng)數(shù)據(jù)的時(shí) 效性問題,所以,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程死掉或者訪問外部接口失敗而導(dǎo)致的外 網(wǎng)數(shù)據(jù)的時(shí)效性問題,可選的,可以在每次觸發(fā)守護(hù)進(jìn)程的邏輯處理入口(比如在獲取配置 文件之前)時(shí),都進(jìn)行一次特性信息的檢測(cè),其中,該特性信息的檢測(cè)類似于一個(gè)心跳機(jī)制, 用于檢查守護(hù)進(jìn)程如daemon進(jìn)程的存活情況,基于該特性信息可以判斷該守護(hù)進(jìn)程是否發(fā) 生異常,若異常,則可以發(fā)出告警,以便通知相關(guān)人員進(jìn)行及時(shí)處理。即,可選的,該網(wǎng)絡(luò)數(shù) 據(jù)的獲取方法還可以包括:
[0055] 獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息,根據(jù)該特性信息確定所述守護(hù)進(jìn)程發(fā) 生異常時(shí),生成告警信息。
[0056] 其中,該特性信息的格式具體可以根據(jù)實(shí)際應(yīng)用的需求而定,比如,可以采用數(shù)值 型的特性來表示(即通過數(shù)值的高低來表示該特性信息),與此同時(shí),可以在服務(wù)器(比如網(wǎng) 管系統(tǒng))里設(shè)置同比下降的告警策略,如果出現(xiàn)數(shù)值下降,則表示守護(hù)進(jìn)程的運(yùn)行情況發(fā)生 異常,比如進(jìn)程死掉或者訪問外部接口失敗,等等,需要發(fā)出告警信息,則此時(shí),可以向預(yù)設(shè) 的終端發(fā)出告警信息。
[0057] 其中,告警信息發(fā)送渠道可以包括郵件、短信、和/或社交平臺(tái)或即時(shí)通信平臺(tái)的 消息等。
[0058] 103、從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù)。
[0059]其中,與該插件函數(shù)相關(guān)的參數(shù)可以包括數(shù)據(jù)存儲(chǔ)相關(guān)的參數(shù)、用于區(qū)分該任務(wù) 是否為關(guān)鍵任務(wù)的參數(shù)、以及指示消息類型的參數(shù)等。例如,以如下插件函數(shù)為例:
[0061 ] 則與該插件函數(shù)相關(guān)的參數(shù)可以包括appid、netid、critical、errmsg、以及va_ list等,其中,appid和netid是數(shù)據(jù)存儲(chǔ)相關(guān)的參數(shù);critical參數(shù)用于區(qū)分該任務(wù)是否是 關(guān)鍵任務(wù);errmsg是返回消息,如果函數(shù)返回值為非0,則該返回信息會(huì)以字符串型特性信 息進(jìn)行上報(bào);而以C語言的變參宏方式進(jìn)行表示的參數(shù)va_list,則是為了處理不同業(yè)務(wù)場(chǎng) 景下,插件函數(shù)需要的參數(shù)類型和參數(shù)個(gè)數(shù)不同的問題而進(jìn)行設(shè)置的。
[0062] 104、根據(jù)該參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0063] 例如,具體可以將該參數(shù)按照順序添加至參數(shù)列表中,然后,根據(jù)該參數(shù)列表執(zhí)行 該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0064] 其中,根據(jù)該參數(shù)列表執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)的方式可以有多種,比 如,可以如下:
[0065] 將該參數(shù)列表中的參數(shù)依次輸入至該插件函數(shù)中,執(zhí)行輸入了參數(shù)的插件函數(shù), 以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0066] 例如,以步驟102中示例的配置文件為例,則除了 "type"參數(shù)("type"是從task節(jié) 點(diǎn)的屬性中獲取的),其他參數(shù)可以按照出現(xiàn)的順序依次傳入插件函數(shù)中,即可以依次傳入 "1"、"2477"、以及"20"。其中,參數(shù)的類型可以預(yù)先進(jìn)行規(guī)定,比如,可以統(tǒng)一為char*類型, 等等。
[0067] 其中,將該參數(shù)列表中的參數(shù)依次輸入至該插件函數(shù),即函數(shù)參數(shù)棧壓棧操作的 關(guān)鍵代碼(32位機(jī)器)具體可以如下:
[0069] 在將參數(shù)輸入插件函數(shù)之后,便可以利用輸入了參數(shù)的插件函數(shù)調(diào)用相應(yīng)的外部 接口,然后,通過該外部接口拉取原始網(wǎng)絡(luò)數(shù)據(jù),并對(duì)該原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到 網(wǎng)絡(luò)數(shù)據(jù)。
[0070] 可選的,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程異常而導(dǎo)致的外網(wǎng)數(shù)據(jù)的時(shí)效性問題, 在數(shù)據(jù)加工失敗時(shí),還可以進(jìn)行告警,即在步驟"對(duì)該原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到網(wǎng) 絡(luò)數(shù)據(jù)"之后,該網(wǎng)絡(luò)數(shù)據(jù)的獲取方法還可以包括:
[0071] 若數(shù)據(jù)加工失敗,則生成第一失敗提示信息,比如生成字符串型的第一失敗提示 信息,并根據(jù)該第一失敗提示信息進(jìn)行告警。
[0072] 比如,如果數(shù)據(jù)加工失敗,則插件函數(shù)會(huì)返回一個(gè)指示錯(cuò)誤的數(shù)值,比如返回一個(gè) 非〇的值(以〇表示正確,非〇表示錯(cuò)誤為例),那么此時(shí),便可以根據(jù)該數(shù)值判斷出數(shù)據(jù)加工 失敗,于是生成第一失敗提示信息,并根據(jù)該第一失敗提示信息進(jìn)行告警,等等。
[0073] 可選的,在獲取到網(wǎng)絡(luò)數(shù)據(jù)之后,還可以將該網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間,以進(jìn)行 存儲(chǔ),即在步驟"對(duì)該原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到網(wǎng)絡(luò)數(shù)據(jù)"之后,該網(wǎng)絡(luò)數(shù)據(jù)的獲取 方法還可以包括:
[0074] 將該網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間。
[0075] 同理,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程異常而導(dǎo)致的外網(wǎng)數(shù)據(jù)的時(shí)效性問題,在 寫入失敗時(shí),也同樣可以進(jìn)行告警,即具體可以如下:
[0076] 若寫入失敗,則生成第二失敗提示信息,比如生成字符串型的第二失敗提示信息, 并根據(jù)該第二失敗提示信息進(jìn)行告警。
[0077]比如,如果寫入失敗,則插件函數(shù)會(huì)返回一個(gè)指示錯(cuò)誤的數(shù)值,比如返回一個(gè)非0 的值(以〇表示正確,非〇表示錯(cuò)誤為例),那么此時(shí),便可以根據(jù)該數(shù)值判斷出寫入失敗,于 是進(jìn)彳丁告警,等等。
[0078]其中,告警的方式可以有多種,比如可以進(jìn)行文字、聲音或圖片等形式的提醒,等 等。
[0079]需說明的是,在生成第一失敗提不彳目息或第二失敗提不彳目息時(shí),還可以在第一失 敗提示信息或第二失敗提示信息中攜帶相應(yīng)的插件名稱和/或函數(shù)名稱,以便可以快速定 位發(fā)送異常的位置。
[0080] 由上可知,本實(shí)施例采用定時(shí)獲取配置文件,根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫 文件,以及調(diào)用相應(yīng)的插件函數(shù),并從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),然后, 根據(jù)這些參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù);由于該方案可以將在獲取網(wǎng)絡(luò)數(shù)據(jù)過程 中的一些邏輯處理操作以動(dòng)態(tài)庫文件和插件函數(shù)的方式來體現(xiàn),因此,對(duì)于不同模塊共有 的一些基礎(chǔ)邏輯功能,如用戶無關(guān)數(shù)據(jù)的獲取等,只需共享同一動(dòng)態(tài)庫文件和插件函數(shù)即 可,而無需為每個(gè)模塊均單獨(dú)編寫一套相應(yīng)的完整代碼,不僅實(shí)現(xiàn)更為簡(jiǎn)單,而且也便于進(jìn) 行更新和功能擴(kuò)展,比如,在進(jìn)行功能拓展時(shí),只需專注于該拓展功能的邏輯開發(fā),而無需 關(guān)注其基礎(chǔ)邏輯功能(現(xiàn)有的開發(fā)新的daemon都需要重新開發(fā)daemon的基礎(chǔ)邏輯功能,工 作量重復(fù)),等等,大大提高了其靈活性;進(jìn)一步的,由于可以將實(shí)現(xiàn)相同功能的代碼進(jìn)行共 享,所以,可以減少大量重復(fù)的代碼,減少資源的消耗。
[0081] 實(shí)施例二、
[0082] 根據(jù)實(shí)施例一所描述的方法,以下將舉例作進(jìn)一步詳細(xì)說明。
[0083] 在本實(shí)施例中,將以該網(wǎng)絡(luò)數(shù)據(jù)具體為電子讀物信息,且該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置 具體集成在服務(wù)器中為例進(jìn)行說明。
[0084] 如圖2所示,一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法,具體流程可以如下:
[0085] 201、服務(wù)器確定當(dāng)前運(yùn)行環(huán)境符合預(yù)設(shè)條件時(shí),加載配置文件。
[0086] 其中,當(dāng)前運(yùn)行環(huán)境可以包括運(yùn)行時(shí)間信息、和/或各軟硬件的狀態(tài)信息等,而該 預(yù)設(shè)條件則可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置。
[0087] 可選的,為了節(jié)省信令流程,提供處理效率,在加載配置文件時(shí),還可以判斷該配 置文件是否發(fā)生了變化,若發(fā)生了變化,才重新進(jìn)行加載,而如果沒有發(fā)送變化,則可以沿 用上一次加載的配置文件,例如,可以如下:
[0088]服務(wù)器讀取配置文件的文件狀態(tài)信息,比如stat(文件狀態(tài))信息,根據(jù)該文件狀 態(tài)信息確定配置文件的最后修改時(shí)間與上一次加載時(shí)的修改時(shí)間是否一致,若一致,則可 以繼續(xù)使用上一次加載的配置文件,否則,若不一致,則重新加載該配置文件。
[0089]可選的,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程死掉或者訪問外部接口失敗而導(dǎo)致的外 網(wǎng)數(shù)據(jù)的時(shí)效性問題,可以在每次觸發(fā)守護(hù)進(jìn)程的邏輯處理入口(比如在獲取配置文件之 前)時(shí),都進(jìn)行一次特性信息的檢測(cè),比如,具體可以獲取守護(hù)進(jìn)程的邏輯處理入口的特性 信息,然后向該服務(wù)器中相應(yīng)的檢測(cè)模塊上報(bào)該特性信息。
[0090]其中,該特性信息上報(bào)類似于一個(gè)心跳機(jī)制,用于檢查守護(hù)進(jìn)程(如daemon)的存 活情況,然后,由服務(wù)器基于該特性信息來判斷該守護(hù)進(jìn)程是否發(fā)生異常,若異常,則可以 發(fā)出告警,以便通知相關(guān)人員進(jìn)行及時(shí)處理。
[0091]需說明的是,該特性信息的上報(bào)不影響配置文件的加載,即不管該守護(hù)進(jìn)程是否 發(fā)生異常,均可以執(zhí)行步驟201。
[0092] 202、服務(wù)器定時(shí)獲取加載的配置文件。
[0093]例如,以該服務(wù)器包括免費(fèi)書籍模塊和排行榜模塊,且此時(shí)需要獲取免費(fèi)書籍模 塊和排行榜模塊的相關(guān)電子讀物信息為例,則相應(yīng)的配置文件可以設(shè)置為:
[0095] 其中,handler節(jié)點(diǎn)表示的是插件函數(shù),在上述配置文件的例子中具體指的是 libfree ? so庫里的GetFreeBook函數(shù),以及l(fā)ibrank. so庫里的GetRankBook函數(shù)。而task節(jié) 點(diǎn)表示的是需要執(zhí)行的守護(hù)進(jìn)程((^6111011)任務(wù),8卩需要找到名為\61;^66130〇1^'和 "getrankbook"的handler,并根據(jù)其中的信息加載相應(yīng)的動(dòng)態(tài)庫文件和插件函數(shù),即加載 "libfree ? so"庫和 "librank. so"庫,以及調(diào)用 "libfree ? so"庫里的 "GetFreeBook" 函數(shù)和 "librank. so"庫里的 "GetRankBook" 函數(shù)。
[0096] 其中,"libfree.so"用于免費(fèi)書籍模塊,"librank.so"用于排行榜數(shù)據(jù)處理。
[0097] 203、服務(wù)器讀取該配置文件中的守護(hù)進(jìn)程(比如daemon)任務(wù),以確定當(dāng)前需要執(zhí) 行的守護(hù)進(jìn)程任務(wù)。
[0098]例如,以步驟202中所示例的配置文件為例,則此時(shí),可以確定當(dāng)前需要執(zhí)行的守 護(hù)進(jìn)程任務(wù)為:
[0100] 由上述代碼可知,該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)指示需要找到名稱為 "getfreebook"的handler,并根據(jù)其中的信息加載相應(yīng)的動(dòng)態(tài)庫文件和插件函數(shù),即需要 執(zhí)行"libfree. so"里的函數(shù)"GetFreeBook",其中,該函數(shù)是用于拉取加工免費(fèi)模塊所需要 的電子讀物信息。
[0101] 又例如,若當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)為:
[0103] 則由上述代碼可知,該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)指示需要找到名稱為 "getrankbook"的handler,并根據(jù)其中的信息加載相應(yīng)的動(dòng)態(tài)庫文件和插件函數(shù),即需要 執(zhí)行"1 ibrank. so"里的函數(shù)"GetRankBook",其中,該函數(shù)是用于拉取指定排行榜的電子讀 物信息并保存。
[0104] 204、服務(wù)器根據(jù)該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào) 用相應(yīng)的插件函數(shù)。
[0105] 例如,若在步驟203中,該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)指示需要找到名稱為 "getfreebook"的handler,則此時(shí),可以根據(jù)該handler中的信息加載相應(yīng)的動(dòng)態(tài)庫文件 "libfree ? so",從動(dòng)態(tài)庫文件"libfree ? so"中找到名為"GetFreeBook"的插件函數(shù)。
[0106] 又例如,若在步驟203中,該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)指示需要找到名稱為 "getrankbook"的handler,則此時(shí),可以根據(jù)該handler中的信息加載相應(yīng)的動(dòng)態(tài)庫文件 "librank. so",從動(dòng)態(tài)庫文件"librank. so"中找到名為"GetRankBook"的插件函數(shù)。
[0107] 205、服務(wù)器從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),并將該參數(shù)按照順序 添加至參數(shù)列表中。
[0108] 例如,若在步驟204中,調(diào)用的插件函數(shù)為GetFreeBook,則在執(zhí)行插件函數(shù) "GetFreeBook"時(shí),可以將該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)"〈task type = 〃getfreebook〃 critical = "true"plat = "l"columnid = "2477"booknum= "20"/>" 中的各個(gè)參數(shù),比如 "critical"、"plat"、"columned"、以及"booknum"等這幾個(gè)值作為參數(shù)按照順序添加至插 件函數(shù)"GetFreeBook"所對(duì)應(yīng)的參數(shù)列表中。
[0109] 其中,參數(shù)"columned"是免費(fèi)書籍(即免費(fèi)的電子讀物)欄目的編號(hào),而參數(shù) "booknum"則表示需要拉取的電子讀物數(shù)量,比如,booknum= "20",表示需要拉取的電子讀 物數(shù)量為20本,等等。
[0110]又例如,若在步驟204中,調(diào)用的插件函數(shù)為"GetRankBook",則在執(zhí)行插件函數(shù) "GetRankBook"時(shí),可以將該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)"〈task type = 〃getrankbook〃 critical = "true"plat = "l"rankid = "2478"booknum= "100"/>" 中的各個(gè)參數(shù),比如 "critical"、"plat"、"rankid"、以及"booknum"等這幾個(gè)值作為參數(shù)按照順序添加至函數(shù) "getrankbook"所對(duì)應(yīng)的參數(shù)列表中。
[0111] 其中,參數(shù)"rankid"表示的排行榜的編號(hào),而"booknum"則表示需要拉取前多少名 的電子讀物,比如,booknum = 〃 100 〃,表示需要拉取排行為前100名的電子讀物信息,等等。
[0112] 206、服務(wù)器將該參數(shù)列表中的參數(shù)依次輸入至該插件函數(shù)中并執(zhí)行,以獲取電子 讀物信息,然后返回執(zhí)行步驟203。
[0113] 例如,以當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)為"〈task type = 〃getfreebook〃critical ="true"plat = "1 "columnid = "2477"booknum= "20"/>" 為例,則此時(shí),可以依次傳入"1"、 "2477"、以及"20"至插件函數(shù)"GetFreeBook"中并執(zhí)行,比如,可以利用輸入了參數(shù)的插件 函數(shù)調(diào)用相應(yīng)的外部接口,然后,通過該外部接口拉取原始電子讀物信息,并對(duì)該原始電子 讀物信息進(jìn)行數(shù)據(jù)加工,得到電子讀物信息。
[0114] 又例如,以當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)為"〈task type = 〃getrankbook〃 critical = "true"plat = "l"rankid = "2478"booknum= "100"/>" 為例,則此時(shí),可以依次 傳入"1"、"2478"、以及"100"至插件函數(shù)1的瓜吐13〇(^'中并執(zhí)行,比如,可以利用輸入了參 數(shù)的插件函數(shù)調(diào)用相應(yīng)的外部接口,然后,通過該外部接口拉取原始電子讀物信息,并對(duì)該 原始電子讀物信息進(jìn)行數(shù)據(jù)加工,得到電子讀物信息,等等。
[0115] 可選的,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程異常而導(dǎo)致的外網(wǎng)數(shù)據(jù)的時(shí)效性問題, 在數(shù)據(jù)加工失敗時(shí),還可以進(jìn)行告警,即在步驟"對(duì)該原始電子讀物信息進(jìn)行數(shù)據(jù)加工,得 到電子讀物信息"之后,該網(wǎng)絡(luò)數(shù)據(jù)的獲取方法還可以包括:
[0116] 若數(shù)據(jù)加工失敗,則生成字符串型的第一失敗提示信息,根據(jù)該第一失敗提示信 息進(jìn)行告警。
[0117] 比如,如果數(shù)據(jù)加工失敗,則插件函數(shù)會(huì)返回一個(gè)指示錯(cuò)誤的數(shù)值,比如返回一個(gè) 非〇的值(以〇表示正確,非〇表示錯(cuò)誤為例),那么,此時(shí),服務(wù)器便可以根據(jù)該數(shù)值判斷出數(shù) 據(jù)加工失敗,于是進(jìn)行告警,等等。
[0118] 可選的,在獲取到電子讀物信息之后,還可以將該電子讀物信息寫入預(yù)設(shè)存儲(chǔ)空 間,以進(jìn)行存儲(chǔ);同理,在寫入失敗時(shí),也同樣可以進(jìn)行告警,即在步驟"對(duì)該原始電子讀物 信息進(jìn)行數(shù)據(jù)加工,得到電子讀物信息"之后,該網(wǎng)絡(luò)數(shù)據(jù)的獲取方法還可以包括:
[0119] 將該電子讀物信息寫入預(yù)設(shè)存儲(chǔ)空間,若寫入失敗,則生成字符串型的第二失敗 提示信息,并根據(jù)該第二失敗提示信息進(jìn)行告警。
[0120] 比如,如果寫入失敗,則插件函數(shù)會(huì)返回一個(gè)指示錯(cuò)誤的數(shù)值,比如返回一個(gè)非0 的值(以〇表示正確,非〇表示錯(cuò)誤為例),那么,此時(shí),服務(wù)器便可以根據(jù)該數(shù)值判斷出寫入 失敗,于是進(jìn)行告警,等等。
[0121]需說明的是,在返回第一失敗提示信息或第二失敗提示信息時(shí),還可以第一失敗 提示信息或第二失敗提示信息中攜帶相應(yīng)的插件名稱和/或函數(shù)名稱,以便可以快速定位 發(fā)送異常的位置。
[0122]此外,還需說明的是,不管第一個(gè)守護(hù)進(jìn)程任務(wù)的插件函數(shù)的執(zhí)行情況如何,都需 要繼續(xù)執(zhí)行下一個(gè)守護(hù)進(jìn)程任務(wù),即不管第一個(gè)"task"的插件函數(shù)是否返回表示成功的返 回值,都會(huì)繼續(xù)下一個(gè)"task"的執(zhí)行,即需要返回執(zhí)行步驟203。
[0123] 比如,若第一個(gè)守護(hù)進(jìn)程任務(wù)為"〈task type = 〃getfreebook〃critical = 〃true" plat = 〃l〃columnid = 〃2477〃booknum= 〃20〃/>",則此時(shí),可以繼續(xù)執(zhí)行第二守護(hù)進(jìn)程任 務(wù),艮P將"〈task type = 〃getrankbook〃critical = 〃true〃plat = 〃1 〃rankid = "2478〃 booknum = "100"/>"作為當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù),詳見步驟203。
[0124] 需說明的是,在執(zhí)行完所有的守護(hù)進(jìn)程任務(wù)(即task)后,該服務(wù)器會(huì)休眠等待指 定的時(shí)間,然后重新執(zhí)行步驟201,如此循環(huán)反復(fù),比如,在本實(shí)施例中是2個(gè)task,因此,在 執(zhí)行完這兩個(gè)task后,該服務(wù)器可以休眠等待指定的時(shí)間,然后再重新執(zhí)行步驟201,以便 執(zhí)行其他的task,依次類推。
[0125] 還需說明的是,為了提高處理效率,可選的,還可以開啟多線程處理模式,以提高 并行處理的能力,即可以采用多個(gè)線程,并行處理多個(gè)守護(hù)進(jìn)程任務(wù),其中,每個(gè)守護(hù)進(jìn)程 任務(wù)的執(zhí)行與上述流程類似,在此不再贅述。
[0126] 由上可知,本實(shí)施例采用定時(shí)獲取配置文件,根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫 文件,以及調(diào)用相應(yīng)的插件函數(shù),并從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),然后, 將這些參數(shù)按順序依次傳入該插件函數(shù)并執(zhí)行,以獲取電子讀物信息;由于該方案可以將 在獲取電子讀物信息過程中的一些邏輯處理操作以動(dòng)態(tài)庫文件和插件函數(shù)的方式來體現(xiàn), 因此,對(duì)于不同模塊共有的一些基礎(chǔ)邏輯功能,如用戶無關(guān)數(shù)據(jù)的獲取等,只需共享同一動(dòng) 態(tài)庫文件和插件函數(shù)即可,而無需為每個(gè)模塊均單獨(dú)編寫一套相應(yīng)的完整代碼,不僅實(shí)現(xiàn) 更為簡(jiǎn)單,而且也便于進(jìn)行更新和功能擴(kuò)展,比如,在進(jìn)行功能拓展時(shí),只需專注于該拓展 功能的邏輯開發(fā),而無需關(guān)注其基礎(chǔ)邏輯功能,等等,大大提高了其靈活性;進(jìn)一步的,由于 可以將實(shí)現(xiàn)相同功能的代碼進(jìn)行共享,所以,可以減少大量重復(fù)的代碼,減少資源的消耗。
[0127] 進(jìn)一步的,由于可以定時(shí)獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息,并上報(bào)給服 務(wù)器,以及在發(fā)現(xiàn)其他處理異常,比如數(shù)據(jù)加工失敗或?qū)懭霐?shù)據(jù)失敗時(shí),進(jìn)行告警,因此,可 以避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程死掉或者訪問外部接口失敗而導(dǎo)致的外網(wǎng)數(shù)據(jù)的時(shí)效性問 題,大大改善數(shù)據(jù)處理的效果。
[0128] 實(shí)施例三、
[0129] 為了更好地實(shí)施以上方法,本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置,如圖 3a所示,該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置包括文件獲取單元301、調(diào)用單元、參數(shù)獲取單元303和執(zhí)行 單元304,如下:
[0130] (1)文件獲取單元301;
[0131] 文件獲取單元301,用于定時(shí)獲取配置文件。
[0132] 例如,具體可以設(shè)置一獲取周期,然后按照該周期定時(shí)獲取配置文件。其中,該周 期可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置。
[0133] 其中,該配置文件的格式可以根據(jù)實(shí)際應(yīng)用的需求而定,比如,可以采用xml格式。 [0134]其中,在獲取配置文件時(shí),可以從其他設(shè)備中來獲取該配置文件,也可以預(yù)先將該 配置文件加載在本地,從本地獲取該配置文件,即如圖3b所示,該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置還可 以包括加載單元305,如下:
[0135] 該加載單元305,可以用于確定當(dāng)前運(yùn)行環(huán)境符合預(yù)設(shè)條件時(shí),加載配置文件。
[0136] 其中,當(dāng)前運(yùn)行環(huán)境可以包括運(yùn)行時(shí)間信息、和/或各軟硬件的狀態(tài)信息等,而該 預(yù)設(shè)條件則可以根據(jù)實(shí)際應(yīng)用的需求進(jìn)行設(shè)置,比如,可以設(shè)置每隔一定的周期,便加載一 次該配置文件;又比如,還可以設(shè)置當(dāng)某進(jìn)程處于某個(gè)狀態(tài)時(shí),則加載該配置文件,等等,在 此不再贅述。
[0137] 可選的,為了節(jié)省信令流程,提供處理效率,在加載配置文件時(shí),還可以判斷該配 置文件是否發(fā)生了變化,若發(fā)生了變化,才重新進(jìn)行加載,而如果沒有發(fā)送變化,則可以沿 用上一次加載的配置文件。
[0138] 其中,判斷該配置文件是否發(fā)生了變化的方式可以有多種,除了可以直接將當(dāng)前 配置文件與上一次加載的配置文件進(jìn)行比較之外,還可以通過配置文件的修改時(shí)間來進(jìn)行 判斷,即:
[0139] 該加載單元305,還可以用于在加載了配置文件之后,若確定配置文件的最后修改 時(shí)間與上一次加載時(shí)的修改時(shí)間不一致時(shí),則重新加載該配置文件。
[0140] 否則,若確定配置文件的最后修改時(shí)間與上一次加載時(shí)的修改時(shí)間一致,則表明 已加載的配置文件并沒有發(fā)生變化,該已加載的配置文件為當(dāng)前最新的版本,可以繼續(xù)使 用。
[0141] (2)調(diào)用單元 302;
[0142] 調(diào)用單元302,用于根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件 函數(shù);
[0143] 例如,該調(diào)用單元302可以包括確定子單元和調(diào)用子單元,如下:
[0144] 確定子單元,用于讀取該配置文件中的守護(hù)進(jìn)程任務(wù),以確定當(dāng)前需要執(zhí)行的守 護(hù)進(jìn)程任務(wù)。
[0145] 調(diào)用子單元,用于根據(jù)該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)加載相應(yīng)的動(dòng)態(tài)庫文件, 以及調(diào)用相應(yīng)的插件函數(shù)。
[0146] 比如,該調(diào)用子單元,具體可以用于從該當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)中獲取相 應(yīng)的動(dòng)態(tài)庫文件的標(biāo)識(shí)和插件函數(shù)的標(biāo)識(shí),根據(jù)該動(dòng)態(tài)庫文件的標(biāo)識(shí)調(diào)用相應(yīng)的動(dòng)態(tài)庫文 件,并加載該動(dòng)態(tài)庫文件,比如so文件,然后,根據(jù)該插件函數(shù)的標(biāo)識(shí)從該動(dòng)態(tài)庫文件中調(diào) 用相應(yīng)插件函數(shù),等等。
[0147] 其中,動(dòng)態(tài)庫文件的標(biāo)識(shí)可以包括動(dòng)態(tài)庫文件的名稱或編號(hào)等可以識(shí)別出該動(dòng)態(tài) 庫文件的信息;而插件函數(shù)的標(biāo)識(shí)則可以包括插件函數(shù)的名稱或編號(hào)等可以識(shí)別出該插件 函數(shù)的信息。
[0148] (3)參數(shù)獲取單元303;
[0149] 參數(shù)獲取單元303,用于從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù)。
[0150] 其中,與該插件函數(shù)相關(guān)的參數(shù)可以包括數(shù)據(jù)存儲(chǔ)相關(guān)的參數(shù)、用于區(qū)分該任務(wù) 是否為關(guān)鍵任務(wù)的參數(shù)、以及指示消息類型的參數(shù)等。
[0151] (4)執(zhí)行單元 304;
[0152] 執(zhí)行單元304,用于根據(jù)該參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0153] 例如,該執(zhí)行單元304可以包括添加子單元和執(zhí)行子單元,如下:
[0154] 添加子單元,用于將該參數(shù)按照順序添加至參數(shù)列表中;
[0155] 執(zhí)行子單元,用于根據(jù)該參數(shù)列表執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0156] 比如,執(zhí)行子單元,具體可以用于將該參數(shù)列表中的參數(shù)依次輸入至該插件函數(shù) 中,執(zhí)行輸入了參數(shù)的插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0157] 在將參數(shù)輸入插件函數(shù)之后,該執(zhí)行子單元便可以利用輸入了參數(shù)的插件函數(shù)調(diào) 用相應(yīng)的外部接口,然后,通過該外部接口拉取原始網(wǎng)絡(luò)數(shù)據(jù),并對(duì)該原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù) 據(jù)加工,得到網(wǎng)絡(luò)數(shù)據(jù)。
[0158] 可選的,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程異常而導(dǎo)致的外網(wǎng)數(shù)據(jù)的時(shí)效性問題, 在數(shù)據(jù)加工失敗時(shí),還可以進(jìn)行告警,即:
[0159] 執(zhí)行子單元,還可以用于在數(shù)據(jù)加工失敗時(shí),生成第一失敗提示信息,根據(jù)該第一 失敗提示信息進(jìn)行告警。
[0160] 可選的,在獲取到網(wǎng)絡(luò)數(shù)據(jù)之后,還可以將該網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間,以進(jìn)行 存儲(chǔ),即執(zhí)行單元304還可以包括存儲(chǔ)子單元,如下:
[0161]該存儲(chǔ)子單元,用于將該網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間,若寫入失敗,則生成第二失 敗提示信息,根據(jù)該第二失敗提示信息進(jìn)行告警。
[0162]需說明的是,在生成第一失敗提不彳目息或第二失敗提不彳目息時(shí),還可以在第一失 敗提示信息或第二失敗提示信息中攜帶相應(yīng)的插件名稱和/或函數(shù)名稱,以便可以快速定 位發(fā)送異常的位置。
[0163] 可選的,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程死掉或者訪問外部接口失敗而導(dǎo)致的外 網(wǎng)數(shù)據(jù)的時(shí)效性問題,可以在每次觸發(fā)守護(hù)進(jìn)程的邏輯處理入口(比如在獲取配置文件之 前)時(shí),都進(jìn)行一次特性信息的檢測(cè),即如圖3b所示,該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置還可以包括告 警單元306,如下:
[0164] 該告警單元306,可以用于獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息,根據(jù)該特性 信息確定該守護(hù)進(jìn)程發(fā)生異常時(shí),生成告警信息。
[0165] 該告警單元306,還可以用于將該告警信息發(fā)送給預(yù)設(shè)的終端,比如相關(guān)維護(hù)人員 所屬的終端,等等。
[0166] 其中,告警信息發(fā)送渠道可以包括郵件、短信、和/或社交平臺(tái)或即時(shí)通信平臺(tái)的 消息等。
[0167] 具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體來實(shí)現(xiàn),也可以進(jìn)行任意組合,作 為同一或若干個(gè)實(shí)體來實(shí)現(xiàn),以上各個(gè)單元的具體實(shí)施可以參見前面的方法實(shí)施例,在此 不再贅述。
[0168] 該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置具體可以集成在服務(wù)器,比如應(yīng)用服務(wù)器中。
[0169] 由上可知,本實(shí)施例的網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置的文件獲取單元301,可以定時(shí)獲取配 置文件,然后由調(diào)用單元302根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件 函數(shù),并由參數(shù)獲取單元303從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),再然后,由執(zhí) 行單元304根據(jù)這些參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù);由于該方案可以將在獲取網(wǎng)絡(luò) 數(shù)據(jù)過程中的一些邏輯處理操作以動(dòng)態(tài)庫文件和插件函數(shù)的方式來體現(xiàn),因此,對(duì)于不同 模塊共有的一些基礎(chǔ)邏輯功能,如用戶無關(guān)數(shù)據(jù)的獲取等,只需共享同一動(dòng)態(tài)庫文件和插 件函數(shù)即可,而無需為每個(gè)模塊均單獨(dú)編寫一套相應(yīng)的完整代碼,不僅實(shí)現(xiàn)更為簡(jiǎn)單,而且 也便于進(jìn)行更新和功能擴(kuò)展,比如,在進(jìn)行功能拓展時(shí),只需專注于該拓展功能的邏輯開 發(fā),而無需關(guān)注其基礎(chǔ)邏輯功能,等等,大大提高了其靈活性;進(jìn)一步的,由于可以將實(shí)現(xiàn)相 同功能的代碼進(jìn)行共享,所以,可以減少大量重復(fù)的代碼,減少資源的消耗。
[0170] 實(shí)施例四、
[0171] 相應(yīng)的,本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng),包括本發(fā)明實(shí)施例提供 的任一種網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置,具體可參見實(shí)施例三,例如,可以如下:
[0172] 網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置,用于根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相 應(yīng)的插件函數(shù);從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù);根據(jù)該參數(shù)執(zhí)行該插件函 數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。
[0173] 該網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置,還可以用于獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息, 根據(jù)該特性信息確定守護(hù)進(jìn)程是否發(fā)生異常,若是,則生成告警信息;若否,則生成表示運(yùn) 行正常的響應(yīng)消息,或者,也可以不生成響應(yīng)消息。
[0174] 此外,該網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng)還可以包括其他的設(shè)備,比如終端,如下:
[0175] 終端,用于向網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置發(fā)送數(shù)據(jù)獲取請(qǐng)求,并接收網(wǎng)絡(luò)數(shù)據(jù)的獲取裝 置根據(jù)該數(shù)據(jù)獲取請(qǐng)求返回的網(wǎng)絡(luò)數(shù)據(jù)。
[0176] 以上各個(gè)設(shè)備的具體實(shí)施可參見前面的實(shí)施例,在此不再贅述。
[0177] 由于該網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng)可以包括本發(fā)明實(shí)施例提供的任一種網(wǎng)絡(luò)數(shù)據(jù)的獲 取裝置,因此,可以實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的任一種網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置所能實(shí)現(xiàn)的有 效果。
[0178] 實(shí)施例五、
[0179] 本發(fā)明實(shí)施例還提供一種服務(wù)器,如圖4所示,其示出了本發(fā)明實(shí)施例所涉及的服 務(wù)器的結(jié)構(gòu)示意圖,具體來講:
[0180] 該服務(wù)器可以包括一個(gè)或者一個(gè)以上處理核心的處理器401、一個(gè)或一個(gè)以上計(jì) 算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器402、射頻(Radio Frequency,RF)電路403、電源404、輸入單元 405、以及顯示單元406等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的服務(wù)器結(jié)構(gòu)并不構(gòu) 成對(duì)服務(wù)器的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部 件布置。其中:
[0181] 處理器401是該服務(wù)器的控制中心,利用各種接口和線路連接整個(gè)服務(wù)器的各個(gè) 部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器402內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器 402內(nèi)的數(shù)據(jù),執(zhí)行服務(wù)器的各種功能和處理數(shù)據(jù),從而對(duì)服務(wù)器進(jìn)行整體監(jiān)控。可選的,處 理器401可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器401可集成應(yīng)用處理器和調(diào)制解調(diào)處 理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要 處理無線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器401中。
[0182] 存儲(chǔ)器402可用于存儲(chǔ)軟件程序以及模塊,處理器401通過運(yùn)行存儲(chǔ)在存儲(chǔ)器402 的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器402可主要包括存儲(chǔ)程 序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比 如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)服務(wù)器的使用所創(chuàng)建的數(shù)據(jù) 等。此外,存儲(chǔ)器402可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少 一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器402還可以包括 存儲(chǔ)器控制器,以提供處理器401對(duì)存儲(chǔ)器402的訪問。
[0183] RF電路403可用于收發(fā)信息過程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信 息接收后,交由一個(gè)或者一個(gè)以上處理器401處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通 常,RF電路403包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶身份 模塊(SIM)卡、收發(fā)信機(jī)、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此 外,RF電路403還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無線通信可以使用任一通 信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(GSM,Global System of Mobile communication)、通用分組無線服務(wù)(GPRS,General Packet Radio Service)、碼分多址 (CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長(zhǎng)期演進(jìn)(LTE,Long Term Evolution)、電子郵件、短消息服 務(wù)(SMS,Short Messaging Service)等。
[0184] 服務(wù)器還包括給各個(gè)部件供電的電源404(比如電池),優(yōu)選的,電源404可以通過 電源管理系統(tǒng)與處理器401邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功 耗管理等功能。電源404還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源 故障檢測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
[0185] 該服務(wù)器還可包括輸入單元405,該輸入單元405可用于接收輸入的數(shù)字或字符信 息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸 入。具體地,在一個(gè)具體的實(shí)施例中,輸入單元405可包括觸敏表面以及其他輸入設(shè)備。觸敏 表面,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用 手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預(yù)先 設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸敏表面可包括觸摸檢測(cè)裝置和觸摸控制器兩 個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來的信號(hào),將信號(hào)傳 送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再 送給處理器401,并能接收處理器401發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容 式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸敏表面。除了觸敏表面,輸入單元405還可以包 括其他輸入設(shè)備。具體地,其他輸入設(shè)備可以包括但不限于物理鍵盤、功能鍵(比如音量控 制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0186] 該服務(wù)器還可包括顯示單元406,該顯示單元406可用于顯示由用戶輸入的信息或 提供給用戶的信息以及服務(wù)器的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、 圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元406可包括顯示面板,可選的,可以采用液晶顯示 器(LCD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(0LED,0rganic Light-Emitting Diode)等形式來配置顯示面板。進(jìn)一步的,觸敏表面可覆蓋顯示面板,當(dāng)觸敏表面檢測(cè)到在 其上或附近的觸摸操作后,傳送給處理器401以確定觸摸事件的類型,隨后處理器401根據(jù) 觸摸事件的類型在顯示面板上提供相應(yīng)的視覺輸出。雖然在圖4中,觸敏表面與顯示面板是 作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)輸入和輸入功能,但是在某些實(shí)施例中,可以將觸敏表面與顯 示面板集成而實(shí)現(xiàn)輸入和輸出功能。
[0187]盡管未示出,服務(wù)器還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí) 施例中,服務(wù)器中的處理器401會(huì)按照如下的指令,將一個(gè)或一個(gè)以上的應(yīng)用程序的進(jìn)程對(duì) 應(yīng)的可執(zhí)行文件加載到存儲(chǔ)器402中,并由處理器401來運(yùn)行存儲(chǔ)在存儲(chǔ)器402中的應(yīng)用程 序,從而實(shí)現(xiàn)各種功能,如下:
[0188]定時(shí)獲取配置文件;根據(jù)該配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插 件函數(shù);從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù);根據(jù)該參數(shù)執(zhí)行該插件函數(shù),以獲 取網(wǎng)絡(luò)數(shù)據(jù)。
[0189] 例如,該處理器401可以用于執(zhí)行如下操作:
[0190] 將該參數(shù)按照順序添加至參數(shù)列表中,然后,根據(jù)該參數(shù)列表執(zhí)行該插件函數(shù),以 獲取網(wǎng)絡(luò)數(shù)據(jù);比如,可以將該參數(shù)列表中的參數(shù)依次輸入至該插件函數(shù)中,利用輸入了參 數(shù)的插件函數(shù)調(diào)用相應(yīng)的外部接口,然后,通過該外部接口拉取原始網(wǎng)絡(luò)數(shù)據(jù),并對(duì)該原始 網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到網(wǎng)絡(luò)數(shù)據(jù),等等。
[0191] 可選的,為了避免由于無法及時(shí)發(fā)現(xiàn)進(jìn)程異常而導(dǎo)致的外網(wǎng)數(shù)據(jù)的時(shí)效性問題, 在數(shù)據(jù)加工失敗時(shí),還可以進(jìn)行告警,即該處理器401還可以用于執(zhí)行如下操作:
[0192] 若數(shù)據(jù)加工失敗,則生成第一失敗提示信息,并根據(jù)該第一失敗提示信息進(jìn)行告 警。
[0193] 可選的,在獲取到網(wǎng)絡(luò)數(shù)據(jù)之后,還可以將該網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間,以進(jìn)行 存儲(chǔ),并在寫入失敗時(shí),給予告警,即該處理器401還可以用于執(zhí)行如下操作:
[0194] 若寫入失敗,則生成第二失敗提示信息,比如生成字符串型的第二失敗提示信息, 并根據(jù)該第二失敗提示信息進(jìn)行告警。
[0195] 可選的,為了便于可以及時(shí)獲知進(jìn)程狀況,該處理器401還可以用于執(zhí)行如下操 作:
[0196] 獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息,根據(jù)該特性信息確定所述守護(hù)進(jìn)程發(fā) 生異常時(shí),生成告警信息。
[0197] 以上各個(gè)操作的具體實(shí)施可參見前面的實(shí)施例,在此不再贅述。
[0198] 由上可知,本實(shí)施例的服務(wù)器可以獲取配置文件,根據(jù)該配置文件加載相應(yīng)的動(dòng) 態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù),并從該配置文件中獲取與該插件函數(shù)相關(guān)的參數(shù),然 后,根據(jù)這些參數(shù)執(zhí)行該插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù);由于該方案可以將在獲取網(wǎng)絡(luò)數(shù)據(jù)過 程中的一些邏輯處理操作以動(dòng)態(tài)庫文件和插件函數(shù)的方式來體現(xiàn),因此,對(duì)于不同模塊共 有的一些基礎(chǔ)邏輯功能,如用戶無關(guān)數(shù)據(jù)的獲取等,只需共享同一動(dòng)態(tài)庫文件和插件函數(shù) 即可,而無需為每個(gè)模塊均單獨(dú)編寫一套相應(yīng)的完整代碼,不僅實(shí)現(xiàn)更為簡(jiǎn)單,而且也便于 進(jìn)行更新和功能擴(kuò)展,比如,在進(jìn)行功能拓展時(shí),只需專注于該拓展功能的邏輯開發(fā),而無 需關(guān)注其基礎(chǔ)邏輯功能,等等,大大提高了其靈活性;進(jìn)一步的,由于可以將實(shí)現(xiàn)相同功能 的代碼進(jìn)行共享,所以,可以減少大量重復(fù)的代碼,減少資源的消耗。
[0199] 本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ) 介質(zhì)可以包括:只讀存儲(chǔ)器(R〇M,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。
[0200] 以上對(duì)本發(fā)明實(shí)施例所提供的一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法、裝置和系統(tǒng)進(jìn)行了詳細(xì) 介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明 只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明 的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解 為對(duì)本發(fā)明的限制。
【主權(quán)項(xiàng)】
1. 一種網(wǎng)絡(luò)數(shù)據(jù)的獲取方法,其特征在于,包括: 定時(shí)獲取配置文件; 根據(jù)所述配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù); 從所述配置文件中獲取與所述插件函數(shù)相關(guān)的參數(shù); 根據(jù)所述參數(shù)執(zhí)行所述插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述配置文件加載相應(yīng)的動(dòng)態(tài)庫 文件,以及調(diào)用相應(yīng)的插件函數(shù)包括: 讀取所述配置文件中的守護(hù)進(jìn)程任務(wù),以確定當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù); 根據(jù)所述當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件 函數(shù)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任 務(wù)加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù),包括: 從所述當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)中獲取相應(yīng)的動(dòng)態(tài)庫文件的標(biāo)識(shí)和插件函數(shù)的 標(biāo)識(shí); 根據(jù)所述動(dòng)態(tài)庫文件的標(biāo)識(shí)調(diào)用相應(yīng)的動(dòng)態(tài)庫文件,并加載所述動(dòng)態(tài)庫文件; 根據(jù)所述插件函數(shù)的標(biāo)識(shí)從所述動(dòng)態(tài)庫文件中調(diào)用相應(yīng)插件函數(shù)。4. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述參數(shù)執(zhí)行所述插 件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù),包括: 將所述參數(shù)按照順序添加至參數(shù)列表中; 根據(jù)所述參數(shù)列表執(zhí)行所述插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述參數(shù)列表執(zhí)行所述插件函 數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù),包括: 將所述參數(shù)列表中的參數(shù)依次輸入至所述插件函數(shù)中; 執(zhí)行輸入了參數(shù)的插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述執(zhí)行輸入了參數(shù)的插件函數(shù),以獲取 網(wǎng)絡(luò)數(shù)據(jù),包括: 利用輸入了參數(shù)的插件函數(shù)調(diào)用相應(yīng)的外部接口,并通過所述外部接口拉取原始網(wǎng)絡(luò) 數(shù)據(jù); 對(duì)所述原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到網(wǎng)絡(luò)數(shù)據(jù)。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述對(duì)所述原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工, 得到網(wǎng)絡(luò)數(shù)據(jù)之后,還包括: 若數(shù)據(jù)加工失敗,則生成第一失敗提示信息,根據(jù)所述第一失敗提示信息進(jìn)行告警。8. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述對(duì)所述原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工, 得到網(wǎng)絡(luò)數(shù)據(jù)之后,還包括: 將所述網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間; 若寫入失敗,則生成第二失敗提示信息,根據(jù)所述第二失敗提示信息進(jìn)行告警。9. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述定時(shí)獲取配置文件之前,還 包括: 確定當(dāng)前運(yùn)行環(huán)境符合預(yù)設(shè)條件時(shí),加載配置文件。10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述加載配置文件之后,還包括: 確定配置文件的最后修改時(shí)間與上一次加載時(shí)的修改時(shí)間不一致時(shí),重新加載所述配 置文件。11. 根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息; 根據(jù)所述特性信息確定所述守護(hù)進(jìn)程發(fā)送異常時(shí),生成告警信息。12. -種網(wǎng)絡(luò)數(shù)據(jù)的獲取裝置,其特征在于,包括: 文件獲取單元,用于定時(shí)獲取配置文件; 調(diào)用單元,用于根據(jù)所述配置文件加載相應(yīng)的動(dòng)態(tài)庫文件,以及調(diào)用相應(yīng)的插件函數(shù); 參數(shù)獲取單元,用于從所述配置文件中獲取與所述插件函數(shù)相關(guān)的參數(shù); 執(zhí)行單元,用于根據(jù)所述參數(shù)執(zhí)行所述插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述調(diào)用單元包括確定子單元和調(diào)用子 單元; 所述確定子單元,用于讀取所述配置文件中的守護(hù)進(jìn)程任務(wù),以確定當(dāng)前需要執(zhí)行的 守護(hù)進(jìn)程任務(wù); 所述調(diào)用子單元,用于根據(jù)所述當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)加載相應(yīng)的動(dòng)態(tài)庫文 件,以及調(diào)用相應(yīng)的插件函數(shù)。14. 根據(jù)權(quán)利要求13所述的裝置,其特征在于, 所述調(diào)用子單元,具體用于從所述當(dāng)前需要執(zhí)行的守護(hù)進(jìn)程任務(wù)中獲取相應(yīng)的動(dòng)態(tài)庫 文件的標(biāo)識(shí)和插件函數(shù)的標(biāo)識(shí);根據(jù)所述動(dòng)態(tài)庫文件的標(biāo)識(shí)調(diào)用相應(yīng)的動(dòng)態(tài)庫文件,并加 載所述動(dòng)態(tài)庫文件;根據(jù)所述插件函數(shù)的標(biāo)識(shí)從所述動(dòng)態(tài)庫文件中調(diào)用相應(yīng)插件函數(shù)。15. 根據(jù)權(quán)利要求12至14任一項(xiàng)所述的裝置,其特征在于,所述執(zhí)行單元包括添加子單 元和執(zhí)行子單元; 所述添加子單元,用于將所述參數(shù)按照順序添加至參數(shù)列表中; 所述執(zhí)行子單元,用于根據(jù)所述參數(shù)列表執(zhí)行所述插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。16. 根據(jù)權(quán)利要求15所述的裝置,其特征在于, 所述執(zhí)行子單元,具體用于將所述參數(shù)列表中的參數(shù)依次輸入至所述插件函數(shù)中;執(zhí) 行輸入了參數(shù)的插件函數(shù),以獲取網(wǎng)絡(luò)數(shù)據(jù)。17. 根據(jù)權(quán)利要求16所述的裝置,其特征在于, 所述執(zhí)行子單元,具體用于利用輸入了參數(shù)的插件函數(shù)調(diào)用相應(yīng)的外部接口,并通過 所述外部接口拉取原始網(wǎng)絡(luò)數(shù)據(jù);對(duì)所述原始網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行數(shù)據(jù)加工,得到網(wǎng)絡(luò)數(shù)據(jù)。18. 根據(jù)權(quán)利要求17所述的裝置,其特征在于, 所述執(zhí)行子單元,還用于在數(shù)據(jù)加工失敗時(shí),生成第一失敗提示信息,根據(jù)所述第一失 敗提示信息進(jìn)行告警。19. 根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述執(zhí)行單元還包括存儲(chǔ)子單元; 所述存儲(chǔ)子單元,用于將所述網(wǎng)絡(luò)數(shù)據(jù)寫入預(yù)設(shè)存儲(chǔ)空間,若寫入失敗,則生成第二失 敗提示信息,根據(jù)所述第二失敗提示信息進(jìn)行告警。20. 根據(jù)權(quán)利要求12至14任一項(xiàng)所述的裝置,其特征在于,還包括加載單元; 所述加載單元,用于確定當(dāng)前運(yùn)行環(huán)境符合預(yù)設(shè)條件時(shí),加載配置文件。21. 根據(jù)權(quán)利要求20所述的裝置,其特征在于, 所述加載單元,還用于在加載了配置文件之后,若確定配置文件的最后修改時(shí)間與上 一次加載時(shí)的修改時(shí)間不一致時(shí),則重新加載所述配置文件。22. 根據(jù)權(quán)利要求13所述的裝置,其特征在于,還包括告警單元; 所述告警單元,用于獲取守護(hù)進(jìn)程的邏輯處理入口的特性信息,根據(jù)所述特性信息確 定所述守護(hù)進(jìn)程發(fā)生異常時(shí),生成告警信息。23. -種網(wǎng)絡(luò)數(shù)據(jù)的獲取系統(tǒng),其特征在于,包括權(quán)利要求12至22所述的任一種網(wǎng)絡(luò)數(shù) 據(jù)的獲取裝置。
【文檔編號(hào)】H04L29/08GK105847446SQ201610380227
【公開日】2016年8月10日
【申請(qǐng)日】2016年5月31日
【發(fā)明人】林欣爍, 蔡曉鵬, 許澤偉
【申請(qǐng)人】騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青浦区| 兴业县| 康平县| 寿宁县| 兰州市| 常德市| 奇台县| 班戈县| 西昌市| 玉门市| 大足县| 汾阳市| 长汀县| 得荣县| 保山市| 梧州市| 长汀县| 永济市| 昌图县| 德令哈市| 嫩江县| 康马县| 商水县| 墨竹工卡县| 孟津县| 岳西县| 恩施市| 泽普县| 武强县| 通河县| 门源| 叶城县| 太仆寺旗| 大丰市| 莎车县| 叶城县| 桂东县| 班戈县| 赣州市| 青铜峡市| 平利县|