一種圖片抓取的方法和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種圖片抓取的方法和系統(tǒng),其中,所述方法包括:圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù),啟動(dòng)所述圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址;通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程;通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。通過(guò)本發(fā)明解決了圖片抓取效率低,抓取過(guò)程耗時(shí)久,不能滿(mǎn)足數(shù)以?xún)|計(jì)的圖片抓取任務(wù)需求的問(wèn)題。
【專(zhuān)利說(shuō)明】一種圖片抓取的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖片抓取技術(shù),具體涉及一種圖片抓取的方法和系統(tǒng)。
【背景技術(shù)】
[0002]圖片抓取是指在互聯(lián)網(wǎng)上快速搜索并批量下載圖片?,F(xiàn)有技術(shù)提供的一種圖片抓取方法,可以分析出網(wǎng)頁(yè)中的鏈接網(wǎng)址信息,根據(jù)鏈接網(wǎng)址信息通過(guò)多進(jìn)程、多線(xiàn)程并發(fā)抓取技術(shù),到相應(yīng)的網(wǎng)頁(yè)下載圖片,把所有相關(guān)聯(lián)的網(wǎng)頁(yè)圖片都批量下載到計(jì)算機(jī)或其它存儲(chǔ)設(shè)備中。
[0003]在日常生活中,圖片抓取技術(shù)被越來(lái)越廣泛的應(yīng)用。例如:一些電商網(wǎng)站、團(tuán)購(gòu)網(wǎng)站、圖片網(wǎng)站等很多小型網(wǎng)站,由于受到自身網(wǎng)站服務(wù)器性能、網(wǎng)站軟件配置等限制,這些小型網(wǎng)站上的圖片在展現(xiàn)時(shí)速度較慢,而且展現(xiàn)過(guò)程也不穩(wěn)定,這時(shí)可以通過(guò)圖片抓取技術(shù)將這些小型網(wǎng)站上的圖片抓取到一個(gè)大型的服務(wù)器上,通過(guò)所述大型的服務(wù)器來(lái)解決圖片展現(xiàn)速度慢、展現(xiàn)不穩(wěn)定的問(wèn)題。又例如:一些圖片搜索網(wǎng)站或新聞網(wǎng)站等,通過(guò)圖片抓取技術(shù)來(lái)抓取整個(gè)互聯(lián)網(wǎng)上的大部分圖片,然后對(duì)抓取得到的圖片進(jìn)行分析、過(guò)濾,最后進(jìn)行信息的發(fā)布。
[0004]然而,在實(shí)際應(yīng)用中,現(xiàn)有的圖片抓取技術(shù)也存在許多問(wèn)題。網(wǎng)絡(luò)上每天的信息量是非常大的,服務(wù)器每天需要抓取的圖片數(shù)量數(shù)以?xún)|計(jì),現(xiàn)有的圖片抓取技術(shù),采用的是多進(jìn)程、多線(xiàn)程并發(fā)抓取,而多進(jìn)程、多線(xiàn)程并發(fā)抓取當(dāng)接收到一個(gè)圖片抓取請(qǐng)求就生成一個(gè)進(jìn)程,對(duì)內(nèi)存和CPU (Central Processing Unit,中央處理器)調(diào)度資源的消耗很大,內(nèi)存和CPU能支持的進(jìn)程數(shù)量是有限的,因此也就限制了服務(wù)器在同一時(shí)刻可以處理的圖片抓取任務(wù)的數(shù)量,圖片抓取效率低。進(jìn)而,當(dāng)圖片抓取任務(wù)數(shù)量一定時(shí),由于受到服務(wù)器在同一時(shí)刻可以處理的圖片抓取任務(wù)的數(shù)量的限制,完成所有圖片抓取任務(wù)需要消耗大量時(shí)間,耗時(shí)久,不能滿(mǎn)足數(shù)以?xún)|計(jì)的圖片抓取任務(wù)需求。
【發(fā)明內(nèi)容】
[0005]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種圖片抓取的方法和相應(yīng)的一種圖片抓取的系統(tǒng)。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種圖片抓取的方法,包括:
[0007]圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù),啟動(dòng)所述圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址;
[0008]通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程;
[0009]通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0010]可選地,所述通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程,包括:[0011]通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量;
[0012]通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。
[0013]可選地,所述通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程,還包括:
[0014]當(dāng)所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。
[0015]可選地,在所述圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù)步驟之前,所述方法還包括:
[0016]圖片數(shù)據(jù)接口持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù);
[0017]將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中;
[0018]任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
[0019]可選地,所述任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器,包括:
[0020]根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量;
[0021]任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
[0022]可選地,在所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟之后,所述方法還包括:
[0023]將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程。
[0024]可選地,在所述將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程步驟之后,所述方法還包括:
[0025]當(dāng)所述結(jié)果信息為圖片抓取成功時(shí),保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口;
[0026]當(dāng)所述結(jié)果信息為圖片抓取失敗時(shí),重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟。
[0027]可選地,在所述重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟之后,所述方法還包括:
[0028]統(tǒng)計(jì)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟的重復(fù)次數(shù);
[0029]當(dāng)所述重復(fù)次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接□。
[0030]根據(jù)本發(fā)明的另一方面,提供了一種圖片抓取的系統(tǒng),包括:
[0031]接收模塊,用于接收?qǐng)D片抓取任務(wù),啟動(dòng)圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址;[0032]主進(jìn)程模塊,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程;
[0033]子進(jìn)程模塊,用于通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0034]可選地,所述主進(jìn)程模塊,包括:
[0035]監(jiān)聽(tīng)模塊,用于通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量;
[0036]分發(fā)模塊,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。
[0037]可選地,所述主進(jìn)程模塊,還包括:
[0038]建立模塊,用于在所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。
[0039]可選地,所述系統(tǒng)還包括:
[0040]圖片數(shù)據(jù)接口模塊,用于在所述接收模塊接收?qǐng)D片抓取任務(wù)之前,持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù);
[0041]任務(wù)隊(duì)列模塊,用于將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中;
[0042]任務(wù)分發(fā)模塊,用于按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取的得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
[0043]可選地,所述任務(wù)分發(fā)模塊包括:
[0044]調(diào)整模塊,用于根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量;
[0045]任務(wù)分發(fā)確定模塊,用于按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
[0046]可選地,所述系統(tǒng)還包括:
[0047]信息返回模塊,用于在所述子進(jìn)程模塊通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取之后,將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程模塊。
[0048]可選地,所述系統(tǒng)還包括:
[0049]圖片保存模塊,用于在所述信息返回模塊將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程之后,在所述結(jié)果信息為圖片抓取成功時(shí),保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口模塊;
[0050]重復(fù)抓取模塊,用于在所述結(jié)果信息為圖片抓取失敗時(shí),重復(fù)執(zhí)行所述子進(jìn)程模塊。
[0051]可選地,所述系統(tǒng)還包括:
[0052]統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)所述子進(jìn)程模塊的重復(fù)執(zhí)行次數(shù);
[0053]抓取結(jié)果返回模塊,用于在所述重復(fù)執(zhí)行次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口。
[0054]本發(fā)明的所述一種圖片抓取的方法和系統(tǒng),圖片抓取服務(wù)器可以持續(xù)地接收?qǐng)D片抓取任務(wù),減少了接收?qǐng)D片抓取任務(wù)時(shí)的等待時(shí)間,提高了抓取效率。圖片抓取服務(wù)器下的主進(jìn)程將圖片抓取任務(wù)按照預(yù)置抓取條件進(jìn)行分發(fā),避免了將圖片抓取任務(wù)分發(fā)至已達(dá)到承載極限的子進(jìn)程中,而造成的圖片抓取任務(wù)擱置或延遲處理的問(wèn)題,提高了圖片抓取的效率。子進(jìn)程通過(guò)異步抓取機(jī)制完成待抓取圖片的異步抓取,可以同時(shí)執(zhí)行多個(gè)圖片抓取任務(wù),提高了圖片抓取的效率。綜上所述,通過(guò)本發(fā)明的圖片抓取方案,提高了圖片抓取效率,節(jié)約了時(shí)間。
[0055]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0056]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0057]圖1是本發(fā)明第一實(shí)施例中一種圖片抓取的方法流程圖;
[0058]圖2是本發(fā)明第二實(shí)施例中一種圖片抓取的方法流程圖;
[0059]圖3是本發(fā)明第二實(shí)施例中一種圖片抓取流程的不意圖;
[0060]圖4是圖3所示實(shí)施例中一種返回抓取結(jié)果的具體流程示意圖;
[0061]圖5是本發(fā)明第五實(shí)施例中一種圖片抓取的系統(tǒng)的結(jié)構(gòu)框圖;
[0062]圖6是本發(fā)明第六實(shí)施例中一種圖片抓取的系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0063]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0064]參照?qǐng)D1,是本發(fā)明第一實(shí)施例中一種圖片抓取的方法流程圖。在本發(fā)明實(shí)施例中,上述圖片抓取的方法可以包括:
[0065]步驟102,圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù),啟動(dòng)所述圖片抓取服務(wù)器中的圖片抓取主進(jìn)程。其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址。
[0066]在本發(fā)明實(shí)施例中,圖片抓取服務(wù)器可以在接收到圖片抓取任務(wù)的同時(shí)就啟動(dòng)圖片抓取服務(wù)器中的圖片抓取主進(jìn)程。而現(xiàn)有的圖片抓取方法,當(dāng)接收到一個(gè)圖片抓取任務(wù)后,需要等待所述接收到的圖片抓取任務(wù)處理完成并得到返回的處理結(jié)果之后,才可以繼續(xù)接收下一個(gè)圖片抓取任務(wù)。并且在本發(fā)明實(shí)施例中,圖片抓取服務(wù)器可以持續(xù)地接收?qǐng)D片抓取任務(wù),然后通過(guò)主進(jìn)程去處理接收到的圖片抓取任務(wù),不需要等待獲取返回的圖片抓取任務(wù)的處理結(jié)果之后再接收新的圖片抓取任務(wù)。
[0067]步驟104,圖片抓取服務(wù)器通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程。
[0068]在本發(fā)明實(shí)施例中,主程序下可以有多個(gè)子進(jìn)程,子進(jìn)程的數(shù)量可以根據(jù)網(wǎng)絡(luò)的帶寬、磁盤(pán)的性能以及用戶(hù)的需求來(lái)進(jìn)行設(shè)定。具體執(zhí)行圖片抓取任務(wù)的是子進(jìn)程,主進(jìn)程的主要工作是進(jìn)行圖片抓取任務(wù)的分發(fā)。每個(gè)子進(jìn)程有承載的任務(wù)數(shù)量的限制,在某一時(shí)亥IJ,可能一部分子進(jìn)程當(dāng)前正在執(zhí)行的任務(wù)數(shù)量可能達(dá)到了其可以承載的極限,另一部分子進(jìn)程當(dāng)前正在執(zhí)行的任務(wù)數(shù)量只有一兩個(gè),還有一部分子進(jìn)程當(dāng)前正處于空閑狀態(tài),主進(jìn)程就需要將圖片抓取任務(wù)分發(fā)至滿(mǎn)足預(yù)置抓取條件的子進(jìn)程。例如,主進(jìn)程可以?xún)?yōu)先將圖片抓取任務(wù)分發(fā)至處于空閑狀態(tài)的子進(jìn)程。
[0069]步驟106,圖片抓取服務(wù)器通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0070]在本發(fā)明實(shí)施例中,多個(gè)子進(jìn)程可以同時(shí)進(jìn)行圖片抓取任務(wù)。每個(gè)子進(jìn)程在進(jìn)行待抓取圖片的異步抓取時(shí),較佳地,子進(jìn)程可以通過(guò)異步非阻塞I/O模型進(jìn)行所述帶抓取圖片的異步抓取,其中I/o是指Input/Output,即輸入輸出端口。所述異步非阻塞I/O模型是一種任務(wù)處理與I/O重疊進(jìn)行的模型,即:在一個(gè)子進(jìn)程中,利用計(jì)算機(jī)處理速度與I/0速度之間的差異,對(duì)計(jì)算操作和I/O處理進(jìn)行重疊處理,使所述一個(gè)子進(jìn)程可以同時(shí)執(zhí)行多個(gè)I/O請(qǐng)求。
[0071]所述異步非阻塞I/O模型具體實(shí)現(xiàn)過(guò)程可以如下:當(dāng)接收到一個(gè)圖片抓取任務(wù)時(shí),會(huì)產(chǎn)生一個(gè)圖片抓取任務(wù)請(qǐng)求,異步非阻塞I/O模型會(huì)read (讀)請(qǐng)求,read請(qǐng)求后立即返回read請(qǐng)求響應(yīng),說(shuō)明read請(qǐng)求已經(jīng)成功發(fā)起;在返回read請(qǐng)求響應(yīng)的同時(shí)在后臺(tái)啟動(dòng)read操作。在后臺(tái)啟動(dòng)并執(zhí)行read操作時(shí),異步非阻塞I/O模型會(huì)同時(shí)執(zhí)行其它處理操作,當(dāng)read操作的響應(yīng)到達(dá)時(shí),會(huì)產(chǎn)生一個(gè)執(zhí)行信號(hào)或一個(gè)基于線(xiàn)程的回調(diào)函數(shù),異步非阻塞I/O模型通過(guò)所述執(zhí)行信號(hào)或所述回調(diào)函數(shù)來(lái)完成read請(qǐng)求的I/O處理,即完成待抓取圖片的異步抓取。當(dāng)一個(gè)或多個(gè)I/O請(qǐng)求掛起時(shí),CPU可以執(zhí)行其它任務(wù);或者更為常見(jiàn)的是,在發(fā)起其它I/O請(qǐng)求的同時(shí)對(duì)已經(jīng)完成的I/O進(jìn)行操作。這里需要說(shuō)明的是,在本發(fā)明實(shí)施例中,較佳地,所述異步非阻塞I/O模型是基于Node, js進(jìn)行開(kāi)發(fā),Node, js是純異步框架,開(kāi)發(fā)成本較低。
[0072]綜上所述,本實(shí)施例中的圖片抓取的方法可以持續(xù)地接收?qǐng)D片抓取任務(wù),減少了接收?qǐng)D片抓取任務(wù)時(shí)的等待時(shí)間,提高了抓取效率。主進(jìn)程將圖片抓取任務(wù)按照預(yù)置抓取條件進(jìn)行分發(fā),避免了將圖片抓取任務(wù)分發(fā)至已達(dá)到承載極限的子進(jìn)程中,而造成的圖片抓取任務(wù)擱置或延遲處理的問(wèn)題,提高了圖片抓取的效率。子進(jìn)程通過(guò)異步抓取機(jī)制完成待抓取圖片的異步抓取,可以同時(shí)執(zhí)行多個(gè)I/O請(qǐng)求,提高了圖片抓取的效率。因此,本實(shí)施例所述的圖片抓取的方法抓取效率高、用時(shí)短。采用異步非阻塞I/O技術(shù)進(jìn)行圖片的抓取,其抓取性能瓶頸取決于網(wǎng)絡(luò)帶寬及磁盤(pán)IO性能,磁盤(pán)IO性能遠(yuǎn)遠(yuǎn)大于CPU性能,因此,增加了在同一時(shí)刻進(jìn)行圖片抓取任務(wù)的任務(wù)數(shù)量,提高了圖片抓取效率。
[0073]參照?qǐng)D2,是本發(fā)明第二實(shí)施例中一種圖片抓取的方法流程圖。在本發(fā)明實(shí)施例中,所述圖片抓取的方法可以包括:
[0074]步驟202,圖片數(shù)據(jù)接口持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù)。
[0075]本發(fā)明實(shí)施例所述的圖片抓取的方法采用異步抓取,在異步情況下,圖片數(shù)據(jù)接口可以持續(xù)接收?qǐng)D片抓取請(qǐng)求,生成圖片抓取任務(wù),不等待任務(wù)的返回結(jié)果,而是一直接收?qǐng)D片抓取請(qǐng)求并一直向下執(zhí)行圖片抓取的其它步驟,圖片抓取的最終結(jié)果通過(guò)狀態(tài)、通知、事件等方式返回,通知進(jìn)程中的任務(wù)完成。圖片抓取接口,負(fù)責(zé)接受外部圖片抓取請(qǐng)求,獲取待抓取圖片的地址,生成圖片抓取任務(wù),并立即返回圖片抓取讀請(qǐng)求給客戶(hù)端。
[0076]步驟204,圖片數(shù)據(jù)接口將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中。
[0077]在本發(fā)明實(shí)施例中,任務(wù)隊(duì)列可以是一個(gè)常駐的內(nèi)存隊(duì)列。例如,所述任務(wù)隊(duì)列可以使用redis實(shí)現(xiàn)。redis是一個(gè)key-value結(jié)構(gòu)的存儲(chǔ)系統(tǒng),redis支持存儲(chǔ)的value類(lèi)型相對(duì)較多,包括string (字符串)、list (鏈表)、set (集合)、zset (sorted set—有序集合)和hash (哈希類(lèi)型)等。所述任務(wù)隊(duì)列用于保存待處理的圖片抓取任務(wù)。所述任務(wù)隊(duì)列在磁盤(pán)上做了持久化,因此當(dāng)圖片抓取服務(wù)器宕機(jī)恢復(fù)時(shí)也可以繼續(xù)上次的抓取任務(wù)。
[0078]步驟206,任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
[0079]在本發(fā)明實(shí)施例中,圖片抓取服務(wù)器的數(shù)量是動(dòng)態(tài)可擴(kuò)展的。所述步驟206可以包括:
[0080]步驟2062,任務(wù)分發(fā)器根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量。
[0081]任務(wù)分發(fā)器可以從任務(wù)隊(duì)列當(dāng)中取出待處理的圖片抓取任務(wù)隨機(jī)發(fā)送給一個(gè)圖片抓取服務(wù)器,由于任務(wù)分發(fā)器分發(fā)待處理的圖片抓取任務(wù)這一步驟是無(wú)狀態(tài)的,因此可以根據(jù)需要?jiǎng)討B(tài)的擴(kuò)展圖片抓取服務(wù)器的數(shù)目,所述圖片抓取服務(wù)器可以是一個(gè)或多個(gè)。例如,每個(gè)圖片抓取服務(wù)器可以承載處理的圖片抓取任務(wù)是十個(gè),當(dāng)任務(wù)隊(duì)列中有100個(gè)圖片抓取任務(wù),而只有八個(gè)圖片抓取服務(wù)器時(shí),可以動(dòng)態(tài)增加兩個(gè)圖片抓取服務(wù)器?;蛘?,當(dāng)任務(wù)隊(duì)列中有100個(gè)圖片抓取任務(wù),此時(shí)有11個(gè)圖片抓取服務(wù)器,則可以動(dòng)態(tài)減少一個(gè)圖片抓取服務(wù)器。進(jìn)一步地,還可以動(dòng)態(tài)配置每個(gè)圖片抓取服務(wù)器上的進(jìn)程數(shù)目。由圖片抓取服務(wù)器的管理員依據(jù)機(jī)器性能配置啟動(dòng)不同數(shù)目的進(jìn)程數(shù);并基于當(dāng)前待處理的圖片抓取任務(wù)的數(shù)量在不同數(shù)目的服務(wù)器上啟動(dòng)服務(wù)。服務(wù)器對(duì)外只要兩個(gè)入口,新增/減少服務(wù)器時(shí),只需更改入口的配置,由入口依據(jù)配置把圖片抓取請(qǐng)求隨機(jī)分發(fā)到不同的服務(wù)器上。
[0082]步驟2064,任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
[0083]其中,所述任務(wù)分發(fā)器在從所述任務(wù)隊(duì)列中提取待處理的圖片抓取任務(wù)時(shí),可以按照設(shè)定規(guī)則進(jìn)行提取,所述設(shè)定規(guī)則是指,任務(wù)分發(fā)器按照?qǐng)D片抓取任務(wù)被保存至所述任務(wù)隊(duì)列中的先后順序,依次從所述任務(wù)隊(duì)列中提取得到所述圖片抓取任務(wù)。
[0084]步驟208,圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù),啟動(dòng)所述圖片抓取服務(wù)器中的圖片抓取主進(jìn)程。其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址。
[0085]步驟210,圖片抓取服務(wù)器通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程。
[0086]在本發(fā)明實(shí)施例中,由于每個(gè)子進(jìn)程有承載的任務(wù)數(shù)量的限制,因此所述步驟210可以包括:
[0087]步驟2102,圖片抓取服務(wù)器通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量。[0088]步驟2104,圖片抓取服務(wù)器通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。
[0089]每個(gè)子進(jìn)程當(dāng)前正在執(zhí)行的圖片抓取任務(wù)的數(shù)量可以是不同的,主進(jìn)程進(jìn)行圖片抓取任務(wù)分發(fā)時(shí),需要根據(jù)每個(gè)子進(jìn)程正在執(zhí)行的圖片抓取的任務(wù)數(shù)量進(jìn)行分發(fā)。例如,在本發(fā)明實(shí)施例中,可以將所述第一設(shè)定閾值設(shè)置為10,當(dāng)一個(gè)子進(jìn)程中正在執(zhí)行和等待執(zhí)行的圖片抓取任務(wù)的數(shù)量之和大于等于10時(shí),主進(jìn)程不再向這個(gè)子進(jìn)程中分發(fā)圖片抓取任務(wù)。當(dāng)一個(gè)子進(jìn)程中正在執(zhí)行和等待執(zhí)行的圖片抓取任務(wù)的數(shù)量之和小于10時(shí),主進(jìn)程則可以選擇向這個(gè)子進(jìn)程中分發(fā)圖片抓取任務(wù);較佳地,主進(jìn)程在分發(fā)圖片抓取任務(wù)時(shí),還可以在圖片抓取任務(wù)的數(shù)量之和小于10的子進(jìn)程中優(yōu)選選擇任務(wù)數(shù)量最少的一個(gè)子進(jìn)程進(jìn)行圖片抓取任務(wù)的分發(fā)。
[0090]進(jìn)一步地,子進(jìn)程的數(shù)量是可以擴(kuò)展的,當(dāng)所有子進(jìn)程中正在執(zhí)行的圖片抓取任務(wù)和等待執(zhí)行的圖片抓取任務(wù)的數(shù)量之和都不小于所述第一設(shè)定閾值時(shí),所述步驟210還可以包括:
[0091]步驟2106,當(dāng)所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),圖片抓取服務(wù)器通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。這里需要說(shuō)明的是,主進(jìn)程新建一個(gè)子進(jìn)程的條件包括當(dāng)不僅限于所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值。在子進(jìn)程中的圖片抓取任務(wù)數(shù)量小于所述第一設(shè)定閾值時(shí),所述主進(jìn)程也可以根據(jù)用戶(hù)需要,新建一個(gè)子進(jìn)程,將圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。其中,第一設(shè)定閾值可以本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況適當(dāng)設(shè)定,本發(fā)明對(duì)此不作限制。
[0092]步驟212,圖片抓取服務(wù)器通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0093]步驟214,子進(jìn)程將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程。
[0094]步驟216,當(dāng)所述結(jié)果信息為圖片抓取成功時(shí),子進(jìn)程保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口。
[0095]步驟218,當(dāng)所述結(jié)果信息為圖片抓取失敗時(shí),子進(jìn)程重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟。
[0096]步驟220,子進(jìn)程統(tǒng)計(jì)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟的重復(fù)次數(shù)。
[0097]步驟222,當(dāng)所述重復(fù)次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),子進(jìn)程將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口。
[0098]其中,第二設(shè)定閾值可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求適當(dāng)設(shè)定,本發(fā)明對(duì)此不作限制。
[0099]在本發(fā)明實(shí)施例中,子進(jìn)程在完成待抓取圖片的異步抓取之后,會(huì)向主進(jìn)程返回結(jié)果信息,當(dāng)返回的結(jié)果信息是圖片抓取成功時(shí),子進(jìn)程可以保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口 ;當(dāng)返回的結(jié)果信息是圖片抓取失敗時(shí),子進(jìn)程可以重新返回執(zhí)行所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟。每次返回執(zhí)行完所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟之后,子進(jìn)程同樣會(huì)向主進(jìn)程返回結(jié)果信息。當(dāng)返回的結(jié)果信息為圖片抓取失敗時(shí),則繼續(xù)重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟。統(tǒng)計(jì)下重復(fù)執(zhí)行所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟的重復(fù)次數(shù)。當(dāng)重復(fù)次數(shù)滿(mǎn)足設(shè)定第二設(shè)定閾值(例如,重復(fù)次數(shù)為3),返回的結(jié)果信息仍然是圖片抓取失敗時(shí),則將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口,確定所述圖片抓取任務(wù)異步抓取失敗。在本發(fā)明實(shí)施例中,允許一定次數(shù)的重新抓取,從而提高了待抓取圖片的異步抓取成功率。
[0100]這里需要說(shuō)明的是,所述圖片數(shù)據(jù)接口、所述任務(wù)隊(duì)列、所述任務(wù)分發(fā)器和所述圖片抓取服務(wù)器可以設(shè)置在同一個(gè)服務(wù)器上,也可以設(shè)置在不同的多個(gè)服務(wù)器上,本發(fā)明對(duì)此不做限定。
[0101]綜上所述,在本發(fā)明實(shí)施例中,圖片抓取服務(wù)器的數(shù)量是動(dòng)態(tài)可擴(kuò)展的,避免了將所有圖片抓取任務(wù)都分發(fā)到一個(gè)服務(wù)器,造成服務(wù)器的過(guò)載崩潰,將圖片抓取任務(wù)進(jìn)行合理分配,減小了每個(gè)圖片抓取服務(wù)器的壓力,加快了圖片抓取任務(wù)的處理速度?;谌蝿?wù)隊(duì)列的圖片抓取的方法決定了圖片抓取的異步性,單個(gè)進(jìn)程抓取的阻塞不會(huì)影響其它進(jìn)程的抓取,提高了圖片抓取效率,節(jié)約時(shí)間。其中,異步性體現(xiàn)在抓取進(jìn)程基于異步非阻塞I/o ;以及用戶(hù)提交請(qǐng)求后,不等待請(qǐng)求處理結(jié)果,待處理完成后回調(diào)給用戶(hù)處理結(jié)果。
[0102]參照?qǐng)D3,是本發(fā)明第三實(shí)施例中一種圖片抓取流程的示意圖。在本發(fā)明實(shí)施例中,數(shù)據(jù)接口接收?qǐng)D片抓取請(qǐng)求,生成圖片抓取任務(wù),并將圖片抓取任務(wù)放入任務(wù)隊(duì)列中。其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址。任務(wù)隊(duì)列在磁盤(pán)上做了持久化處理,用于保存圖片抓取任務(wù)。然后,將任務(wù)隊(duì)列中的圖片抓取任務(wù)按照先入先出進(jìn)行排隊(duì),任務(wù)分發(fā)器可以將任務(wù)隊(duì)列中的圖片抓取任務(wù)隨機(jī)分發(fā)給多個(gè)圖片抓取服務(wù)器中的其中一個(gè)圖片抓取服務(wù)器。
[0103]在所述圖片抓取服務(wù)器接收到圖片抓取任務(wù)時(shí),啟動(dòng)所述圖片抓取服務(wù)器中的主進(jìn)程,其中,主進(jìn)程維護(hù)主進(jìn)程下的各個(gè)子進(jìn)程正在進(jìn)行的圖片抓取任務(wù)的url數(shù)(Uniform Resource Locator, URL,統(tǒng)一資源定位符),當(dāng)某個(gè)子進(jìn)程中正在進(jìn)行抓取的url數(shù)少于設(shè)定的數(shù)值大小時(shí),主進(jìn)程可以將圖片抓取任務(wù)分發(fā)給所述url數(shù)少于設(shè)定的數(shù)值大小的子進(jìn)程。其中,所述主進(jìn)程下的子進(jìn)程可以有多個(gè),例如:子進(jìn)程1、子進(jìn)程2、子進(jìn)程3* ? ?子進(jìn)程N(yùn),N為大于等于I的正整數(shù)。子進(jìn)程根據(jù)待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取(異步抓取代碼可以采用PHP的curl庫(kù)實(shí)現(xiàn)),并將抓取結(jié)果返回給數(shù)據(jù)接口,其中,所述抓取結(jié)果包括:抓取成功結(jié)果和抓取失敗結(jié)果;PHP指:HypertextPreprocessor,超文本預(yù)處理器;curl是利用URL語(yǔ)法在命令行方式下工作的開(kāi)源文件傳輸工具。它被廣泛應(yīng)用在Unix、多種Linux發(fā)行版中,并且有DOS和Win32、Win64下的移植版本。
[0104]進(jìn)一步地,參照?qǐng)D4,是圖3所示實(shí)施例中一種返回抓取結(jié)果的具體流程示意圖。子進(jìn)程進(jìn)行待抓取圖片的異步抓取,并將異步抓取的結(jié)果信息返回至主進(jìn)程,當(dāng)結(jié)果信息是圖片抓取成功時(shí)(http返回碼為200),表示抓取成功,接著保存圖片,并將所述抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口。當(dāng)結(jié)果信息是圖片抓取失敗時(shí),子進(jìn)程重試異步抓取的步驟,重試至少3次,每次重試完成后,同樣都會(huì)返回結(jié)果信息。在重試過(guò)程中,如果返回的結(jié)果信息是圖片抓取成功,則保存圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口。當(dāng)重復(fù)3次后,狀態(tài)信息仍然是圖片抓取失敗時(shí),確定圖片抓取失敗,將所述抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口。
[0105]綜上所述,本發(fā)明實(shí)施例所述的圖片抓取方法,圖片抓取服務(wù)器和主進(jìn)程下的子進(jìn)程都是動(dòng)態(tài)可擴(kuò)展的,增加了在同一時(shí)刻可以處理的圖片抓取任務(wù)的數(shù)量,提高了圖片抓取效率,節(jié)約時(shí)間。進(jìn)一步地,在圖片抓取失敗后,允許一定次數(shù)的重新抓取,提高了圖片的抓取成功率。
[0106]需要說(shuō)明的是,對(duì)于前述的方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明所必需的。
[0107]基于與上述圖片抓取的方法同一發(fā)明構(gòu)思,參照?qǐng)D5,是本發(fā)明第五實(shí)施例中一種圖片抓取的系統(tǒng)的結(jié)構(gòu)框圖。在本發(fā)明實(shí)施例中,所述圖片抓取系統(tǒng)可以包括:
[0108]接收模塊502,用于接收?qǐng)D片抓取任務(wù),啟動(dòng)圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址。
[0109]主進(jìn)程模塊504,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程。
[0110]子進(jìn)程模塊506,用于通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0111]綜上所述,本發(fā)明實(shí)施例所述的圖片抓取的系統(tǒng),圖片抓取服務(wù)器可以持續(xù)的接收?qǐng)D片抓取任務(wù),減少了接收?qǐng)D片抓取任務(wù)時(shí)的等待時(shí)間,提高了抓取效率。主進(jìn)程模塊通過(guò)主進(jìn)程將圖片抓取任務(wù)按照預(yù)置抓取條件進(jìn)行分發(fā),避免了將圖片抓取任務(wù)分發(fā)至已達(dá)到承載極限的子進(jìn)程中,而造成的圖片抓取任務(wù)擱置或延遲處理的問(wèn)題,提高了圖片抓取的效率。子進(jìn)程模塊通過(guò)子進(jìn)程采用異步抓取機(jī)制完成待抓取圖片的異步抓取,可以同時(shí)執(zhí)行多個(gè)I/o請(qǐng)求,提高了圖片抓取的效率。因此,本發(fā)明實(shí)施例所述的圖片抓取的方法抓取效率高、用時(shí)短。
[0112]參照?qǐng)D6,是本發(fā)明第六實(shí)施例中一種圖片抓取的系統(tǒng)的結(jié)構(gòu)框圖。在本發(fā)明實(shí)施例中,所述圖片抓取系統(tǒng)可以包括:
[0113]圖片數(shù)據(jù)接口模塊602,用于在所述接收模塊接收?qǐng)D片抓取任務(wù)之前,持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù)。
[0114]任務(wù)隊(duì)列模塊604,用于將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中。
[0115]任務(wù)分發(fā)模塊606,用于按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
[0116]在本發(fā)明實(shí)施例中,所述任務(wù)分發(fā)模塊606可以包括:
[0117]調(diào)整模塊6062,用于根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量。
[0118]任務(wù)分發(fā)確定模塊6064,用于按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
[0119]接收模塊608,用于接收?qǐng)D片抓取任務(wù),啟動(dòng)圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址.[0120]主進(jìn)程模塊610,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程。
[0121]在本發(fā)明實(shí)施例中,所述主進(jìn)程模塊610可以包括:
[0122]監(jiān)聽(tīng)模塊6102,用于通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量.[0123]分發(fā)模塊6104,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。 [0124]建立模塊6106,用于在所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。
[0125]子進(jìn)程模塊612,用于通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0126]較佳地,所述子進(jìn)程模塊612具體用于。通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,通過(guò)異步非阻塞I/O進(jìn)行所述待抓取圖片的異步抓取。
[0127]信息返回模塊614,用于在所述子進(jìn)程模塊通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取之后,將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程模塊。
[0128]圖片保存模塊616,用于在所述信息返回模塊將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程之后,在所述結(jié)果信息為圖片抓取成功時(shí),保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口模塊。
[0129]重復(fù)抓取模塊618,用于在所述結(jié)果信息為圖片抓取失敗時(shí),重復(fù)執(zhí)行所述子進(jìn)程模塊。
[0130]統(tǒng)計(jì)模塊620,用于統(tǒng)計(jì)所述子進(jìn)程模塊的重復(fù)執(zhí)行次數(shù)。
[0131]抓取結(jié)果返回模塊622,用于在所述重復(fù)執(zhí)行次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口。
[0132]綜上所述,本發(fā)明實(shí)施例所述的圖片抓取系統(tǒng),圖片抓取服務(wù)器和子進(jìn)程的數(shù)量都是動(dòng)態(tài)可擴(kuò)展的,在進(jìn)行圖片抓取任務(wù)分發(fā)時(shí)避免了服務(wù)器的過(guò)載和任務(wù)的延遲處理,提高了圖片抓取的效率,節(jié)約了時(shí)間。
[0133]對(duì)于上述裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0134]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0135]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0136]類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0137]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0138]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0139]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的一種圖片抓取的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0140]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。
[0141]本發(fā)明公開(kāi)了 Al、一種圖片抓取的方法,包括:
[0142]圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù),啟動(dòng)所述圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址;
[0143]通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程;
[0144]通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0145]A2、如Al所述的方法,所述通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程,包括:
[0146]通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量;
[0147]通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。
[0148]A3、如A2所述的方法,所述通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程,還包括:
[0149]當(dāng)所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。
[0150]A4、如Al所述的方法,在所述圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù)步驟之前,所述方法還包括:
[0151]圖片數(shù)據(jù)接口持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù);
[0152]將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中;
[0153]任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
[0154]A5、如A4所述的方法,所述任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器,包括:
[0155]根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量;
[0156]任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
[0157]A6、如A4所述的方法,在所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟之后,所述方法還包括:
[0158]將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程。
[0159]A7、如A6所述的方法,在所述將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程步驟之后,所述方法還包括:
[0160]當(dāng)所述結(jié)果信息為圖片抓取成功時(shí),保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口;
[0161]當(dāng)所述結(jié)果信息為圖片抓取失敗時(shí),重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟。
[0162]AS、如A7所述的方法,在所述重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟之后,所述方法還包括:
[0163]統(tǒng)計(jì)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟的重復(fù)次數(shù);
[0164]當(dāng)所述重復(fù)次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接□。
[0165]本發(fā)明還公開(kāi)了 B9、一種圖片抓取的系統(tǒng),包括:
[0166]接收模塊,用于接收?qǐng)D片抓取任務(wù),啟動(dòng)圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址;
[0167]主進(jìn)程模塊,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程;
[0168]子進(jìn)程模塊,用于通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
[0169]BlO^n B9所述的系統(tǒng),所述主進(jìn)程模塊,包括:
[0170]監(jiān)聽(tīng)模塊,用于通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量;
[0171]分發(fā)模塊,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。
[0172]BI 1、如BlO所述的系統(tǒng),所述主進(jìn)程模塊,還包括:
[0173]建立模塊,用于在所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。
[0174]B12、如B9所述的系統(tǒng),所述系統(tǒng)還包括:
[0175]圖片數(shù)據(jù)接口模塊,用于在所述接收模塊接收?qǐng)D片抓取任務(wù)之前,持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù);
[0176]任務(wù)隊(duì)列模塊,用于將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中;
[0177]任務(wù)分發(fā)模塊,用于按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取的得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
[0178]B13、如B12所述的系統(tǒng),所述任務(wù)分發(fā)模塊包括:
[0179]調(diào)整模塊,用于根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量;
[0180]任務(wù)分發(fā)確定模塊,用于按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
[0181]B14、如B12所述的系統(tǒng),所述系統(tǒng)還包括:
[0182]信息返回模塊,用于在所述子進(jìn)程模塊通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取之后,將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程模塊。
[0183]B15、如B14所述的系統(tǒng),所述系統(tǒng)還包括:
[0184]圖片保存模塊,用于在所述信息返回模塊將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程之后,在所述結(jié)果信息為圖片抓取成功時(shí),保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口模塊;
[0185]重復(fù)抓取模塊,用于在所述結(jié)果信息為圖片抓取失敗時(shí),重復(fù)執(zhí)行所述子進(jìn)程模塊。
[0186]B16、如B15所述的系統(tǒng),所述系統(tǒng)還包括:[0187]統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)所述子進(jìn)程模塊的重復(fù)執(zhí)行次數(shù);
[0188]抓取結(jié)果返回模塊,用于在所述重復(fù)執(zhí)行次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口。
【權(quán)利要求】
1.一種圖片抓取的方法,包括: 圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù),啟動(dòng)所述圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址; 通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程; 通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
2.如權(quán)利要求1所述的方法,其特征在于,所述通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程,包括: 通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量; 通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾值的子進(jìn)程。
3.如權(quán)利要求2所述的方法,其特征在于,所述通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程,還包括: 當(dāng)所述主進(jìn)程下的所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量均大于或等于所述第一設(shè)定閾值時(shí),通過(guò)所述主進(jìn)程新建一個(gè)子進(jìn)程,并將所述圖片抓取任務(wù)分發(fā)至所述新建的子進(jìn)程。
4.如權(quán)利要求1 所述的方法,其特征在于,在所述圖片抓取服務(wù)器接收?qǐng)D片抓取任務(wù)步驟之前,所述方法還包括: 圖片數(shù)據(jù)接口持續(xù)接收?qǐng)D片抓取請(qǐng)求,根據(jù)所述圖片抓取請(qǐng)求生成圖片抓取任務(wù); 將所述圖片抓取任務(wù)保存在任務(wù)隊(duì)列中; 任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器。
5.如權(quán)利要求4所述的方法,其特征在于,所述任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并將提取得到的圖片抓取任務(wù)分發(fā)至所述圖片抓取服務(wù)器,包括: 根據(jù)所述圖片抓取任務(wù),調(diào)整與所述圖片抓取任務(wù)相匹配的圖片抓取服務(wù)器的數(shù)量; 任務(wù)分發(fā)器按設(shè)定規(guī)則從所述任務(wù)隊(duì)列中提取所述圖片抓取任務(wù),并從一個(gè)或多個(gè)所述圖片抓取服務(wù)器中確定一個(gè)圖片抓取服務(wù)器,將提取得到的圖片抓取任務(wù)分發(fā)至所述確定的圖片抓取服務(wù)器。
6.如權(quán)利要求4所述的方法,其特征在于,在所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟之后,所述方法還包括: 將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程。
7.如權(quán)利要求6所述的方法,其特征在于,在所述將所述異步抓取的結(jié)果信息返回至所述主進(jìn)程步驟之后,所述方法還包括: 當(dāng)所述結(jié)果信息為圖片抓取成功時(shí),保存抓取得到的圖片,并將抓取成功結(jié)果返回至所述圖片數(shù)據(jù)接口; 當(dāng)所述結(jié)果信息為圖片抓取失敗時(shí),重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟。
8.如權(quán)利要求7所述的方法,其特征在于,在所述重復(fù)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取的步驟之后,所述方法還包括:統(tǒng)計(jì)所述通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取步驟的重復(fù)次數(shù); 當(dāng)所述重復(fù)次數(shù)滿(mǎn)足第二設(shè)定閾值時(shí),將抓取失敗結(jié)果返回至所述圖片數(shù)據(jù)接口。
9.一種圖片抓取的系統(tǒng),包括: 接收模塊,用于接收?qǐng)D片抓取任務(wù),啟動(dòng)圖片抓取服務(wù)器中的圖片抓取主進(jìn)程;其中,所述圖片抓取任務(wù)中包括待抓取圖片的鏈接地址; 主進(jìn)程模塊,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、滿(mǎn)足預(yù)置抓取條件的子進(jìn)程; 子進(jìn)程模塊,用于通過(guò)所述子進(jìn)程根據(jù)所述待抓取圖片的鏈接地址,進(jìn)行所述待抓取圖片的異步抓取。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述主進(jìn)程模塊,包括: 監(jiān)聽(tīng)模塊,用于通過(guò)所述主進(jìn)程監(jiān)聽(tīng)所有子進(jìn)程中的圖片抓取任務(wù)數(shù)量; 分發(fā)模塊,用于通過(guò)所述主進(jìn)程將所述圖片抓取任務(wù)分發(fā)至所述主進(jìn)程下、圖片抓取任務(wù)數(shù)量小于第一設(shè)定閾 值的子進(jìn)程。
【文檔編號(hào)】G06F9/46GK103645939SQ201310632698
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】楊濤, 呂本偉, 盧永菁 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司