[發(fā)明專(zhuān)利]一種可擴(kuò)展的分布式數(shù)據(jù)采集方法和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 202010250430.4 | 申請(qǐng)日: | 2020-04-01 |
| 公開(kāi)(公告)號(hào): | CN111580954B | 公開(kāi)(公告)日: | 2021-09-14 |
| 發(fā)明(設(shè)計(jì))人: | 姜政偉;江鈞;李仲舉;賀義通 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)科學(xué)院信息工程研究所 |
| 主分類(lèi)號(hào): | G06F9/50 | 分類(lèi)號(hào): | G06F9/50;G06F9/54;G06F16/951 |
| 代理公司: | 北京君尚知識(shí)產(chǎn)權(quán)代理有限公司 11200 | 代理人: | 邱曉鋒 |
| 地址: | 100093 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 擴(kuò)展 分布式 數(shù)據(jù) 采集 方法 系統(tǒng) | ||
1.一種分布式網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)的采集任務(wù)的分配方法,其特征在于,包括以下步驟:
部署主節(jié)點(diǎn)、工作節(jié)點(diǎn)和中間節(jié)點(diǎn),中間節(jié)點(diǎn)中包含消息隊(duì)列、數(shù)據(jù)庫(kù);工作節(jié)點(diǎn)部署于世界各地的網(wǎng)絡(luò)環(huán)境中,中間節(jié)點(diǎn)部署在主節(jié)點(diǎn)、工作節(jié)點(diǎn)能夠訪問(wèn)的網(wǎng)絡(luò)環(huán)境中;
主節(jié)點(diǎn)根據(jù)數(shù)據(jù)庫(kù)中的定時(shí)任務(wù)信息定時(shí)生成采集任務(wù),并發(fā)布到中間節(jié)點(diǎn)中消息隊(duì)列的采集任務(wù)隊(duì)列中;
工作節(jié)點(diǎn)定時(shí)從采集任務(wù)隊(duì)列讀取采集任務(wù)并根據(jù)其訪問(wèn)該采集任務(wù)所對(duì)應(yīng)站點(diǎn)的時(shí)延和速度以及本地服務(wù)器的狀態(tài)決定是否申請(qǐng)執(zhí)行該采集任務(wù);
主節(jié)點(diǎn)從申請(qǐng)執(zhí)行同一采集任務(wù)的工作節(jié)點(diǎn)中選取一個(gè)最佳的工作節(jié)點(diǎn)執(zhí)行該采集任務(wù),并將該采集任務(wù)從采集任務(wù)隊(duì)列中移除;
所述工作節(jié)點(diǎn)定時(shí)從采集任務(wù)隊(duì)列讀取采集任務(wù)并根據(jù)其訪問(wèn)該采集任務(wù)所對(duì)應(yīng)站點(diǎn)的時(shí)延和速度以及本地服務(wù)器的狀態(tài)決定是否申請(qǐng)執(zhí)行該采集任務(wù),包括:
工作節(jié)點(diǎn)從采集任務(wù)隊(duì)列頭開(kāi)始讀取,直到找到符合條件的任務(wù)并向主節(jié)點(diǎn)申請(qǐng)執(zhí)行;
每個(gè)工作節(jié)點(diǎn)同時(shí)只能申請(qǐng)一個(gè)任務(wù),申請(qǐng)成功或者失敗后才能繼續(xù)申請(qǐng)其他任務(wù);工作節(jié)點(diǎn)獲取本地服務(wù)器狀態(tài),并根據(jù)其與采集任務(wù)的需求的關(guān)系判斷節(jié)點(diǎn)是否申請(qǐng)任務(wù);
工作節(jié)點(diǎn)申請(qǐng)任務(wù)時(shí)提供系統(tǒng)資源的剩余情況以及訪問(wèn)目標(biāo)站點(diǎn)的時(shí)延和速率;
所述的工作節(jié)點(diǎn)獲取本地服務(wù)器狀態(tài),并根據(jù)其與采集任務(wù)的需求的關(guān)系判斷節(jié)點(diǎn)是否申請(qǐng)任務(wù),包括:
a)工作節(jié)點(diǎn)嘗試訪問(wèn)測(cè)試鏈接,若訪問(wèn)時(shí)延最大時(shí)延臨界值,且訪問(wèn)速度最小速度臨界值,則繼續(xù)步驟b),否則放棄申請(qǐng)?jiān)撊蝿?wù);
b)工作節(jié)點(diǎn)獲取本地系統(tǒng)的資源剩余情況,分別將系統(tǒng)剩余的每項(xiàng)資源與任務(wù)信息中的對(duì)應(yīng)資源需求相比較,若剩余所需,或二者的差值在一定范圍內(nèi),則向主節(jié)點(diǎn)申請(qǐng)任務(wù),否則放棄申請(qǐng)?jiān)撊蝿?wù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述的主節(jié)點(diǎn)根據(jù)數(shù)據(jù)庫(kù)中的定時(shí)任務(wù)信息定時(shí)生成采集任務(wù),并發(fā)布到消息隊(duì)列的采集任務(wù)隊(duì)列中,包括:
定時(shí)任務(wù)信息由系統(tǒng)操作人員設(shè)定,由任務(wù)所調(diào)用的爬蟲(chóng)的唯一識(shí)別符和與定時(shí)任務(wù)相關(guān)的通用crontab配置組成,所有的定時(shí)任務(wù)信息都保存在數(shù)據(jù)庫(kù)中;
主節(jié)點(diǎn)從數(shù)據(jù)庫(kù)讀取定時(shí)任務(wù)信息,并通過(guò)解析crontab配置生成下次執(zhí)行任務(wù)的時(shí)間;
當(dāng)一個(gè)定時(shí)任務(wù)到達(dá)執(zhí)行時(shí)間時(shí),主節(jié)點(diǎn)生成新的采集任務(wù),并發(fā)布到消息隊(duì)列的采集任務(wù)隊(duì)列中。
3.如權(quán)利要求2所述的方法,其特征在于,所述采集任務(wù)包括執(zhí)行任務(wù)所需的爬蟲(chóng)的唯一識(shí)別符、執(zhí)行任務(wù)所需的條件以及目標(biāo)站點(diǎn)的測(cè)試鏈接;其中:
執(zhí)行任務(wù)所需的條件包括采集任務(wù)的平均內(nèi)存占用、最大內(nèi)存占用、平均帶寬占用、最大帶寬占用、平均CPU使用指數(shù)以及最大CPU使用指數(shù);
CPU使用指數(shù)=CPU頻率*CPU核心數(shù)*CPU占用率。
4.如權(quán)利要求3所述的方法,其特征在于,所述的執(zhí)行任務(wù)所需的條件是動(dòng)態(tài)變化的,包括:
任務(wù)第一次生成時(shí)其各項(xiàng)需求被置為0或一個(gè)很小的值,此時(shí)主節(jié)點(diǎn)確定執(zhí)行節(jié)點(diǎn)時(shí)僅需比較各節(jié)點(diǎn)訪問(wèn)目標(biāo)站點(diǎn)的時(shí)延和速率;
任務(wù)第一次執(zhí)行完成后,其各項(xiàng)需求被設(shè)置為當(dāng)次采集過(guò)程中占用資源的平均值或最大值;
之后每次執(zhí)行完成后,均以按次數(shù)加權(quán)平均的方式更新各項(xiàng)需求。
5.如權(quán)利要求1所述的方法,其特征在于,所述的主節(jié)點(diǎn)從申請(qǐng)執(zhí)行同一采集任務(wù)的工作節(jié)點(diǎn)中選取一個(gè)最佳的工作節(jié)點(diǎn)執(zhí)行該采集任務(wù),并將該采集任務(wù)從采集任務(wù)隊(duì)列中移除,包括:
對(duì)于同一任務(wù)若短時(shí)間內(nèi)僅有一個(gè)工作節(jié)點(diǎn)申請(qǐng),直接將該任務(wù)交于該節(jié)點(diǎn)執(zhí)行;若有多個(gè)工作節(jié)點(diǎn)同時(shí)申請(qǐng),則首先對(duì)比它們?cè)L問(wèn)目標(biāo)站點(diǎn)的時(shí)延和速率,若有某個(gè)或某幾個(gè)工作節(jié)點(diǎn)明顯優(yōu)于其他節(jié)點(diǎn),則淘汰其余節(jié)點(diǎn),然后在剩余節(jié)點(diǎn)中對(duì)比各自剩余的資源量;
對(duì)于每個(gè)剩余節(jié)點(diǎn),將各項(xiàng)剩余資源通過(guò)加權(quán)求和得到一個(gè)剩余資源指數(shù),最后選取剩余資源指數(shù)最高的節(jié)點(diǎn)執(zhí)行該任務(wù);
若一段時(shí)間內(nèi)沒(méi)有任何節(jié)點(diǎn)申請(qǐng)執(zhí)行該任務(wù),則按照一定規(guī)則降低各項(xiàng)需求,然后將該任務(wù)移至采集任務(wù)隊(duì)列隊(duì)尾;
若各項(xiàng)需求降低到一定程度后仍沒(méi)有節(jié)點(diǎn)申請(qǐng)任務(wù),則將該任務(wù)移出采集任務(wù)隊(duì)列并報(bào)告給管理員。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)科學(xué)院信息工程研究所,未經(jīng)中國(guó)科學(xué)院信息工程研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010250430.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





