一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)及方法,首先由分發(fā)子系統(tǒng)接收用戶的下載任務(wù)信息,并將下載任務(wù)信息發(fā)送到下載子系統(tǒng);然后由下載子系統(tǒng)根據(jù)下載任務(wù)信息下載任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息發(fā)送到分發(fā)子系統(tǒng);最后由分發(fā)子系統(tǒng)接收任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息回送給發(fā)起請求的用戶。該系統(tǒng)物理環(huán)境包括了一個(gè)分發(fā)服務(wù)器和下載子系統(tǒng)群,系統(tǒng)的內(nèi)部的工作方式是基于隊(duì)列模型對需要獲取的任務(wù)進(jìn)行分配給下載子系統(tǒng)群,下載子系統(tǒng)群可以并發(fā)的處理所分配到的任務(wù)。該系統(tǒng)及方法適用于互聯(lián)網(wǎng)的大數(shù)據(jù)量的采集,能夠有效提高信息獲取的效率及時(shí)效性。
【專利說明】一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)數(shù)據(jù)采集領(lǐng)域,具體涉及一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)全民普及率的提高,使用互聯(lián)網(wǎng)日漸成為人們發(fā)布信息、獲取信息和傳遞信息的習(xí)慣,互聯(lián)網(wǎng)已經(jīng)是各種信息主要載體,它一定程度的反映了社會(huì)公眾對社會(huì)現(xiàn)實(shí)的主觀情感。在互聯(lián)網(wǎng)上對于熱門事件往往有大量網(wǎng)站對其轉(zhuǎn)載報(bào)道,如何在合理利用原有的機(jī)器資源,在不增加原有硬件資源的處理性能的條件下,在一定的時(shí)間內(nèi)獲取更多的信息已經(jīng)成為我們新的需求。
[0003]現(xiàn)有的下載模型是大多基于單任務(wù)單線程和多任務(wù)多線程下載,當(dāng)有任務(wù)時(shí),會(huì)起動(dòng)一個(gè)線程,然后接收,獲取和回送信息。這種的模型比較容易理解和操作,對于任務(wù)量不多時(shí),可以很好的利用線程來控制下載,并且容易跟蹤獲取信息的整個(gè)過程。但是這種模型的不足之處是消耗大量的系統(tǒng)資源,對機(jī)器的要求比較高。因?yàn)榻拥揭粋€(gè)任務(wù)就要啟動(dòng)一個(gè)線程來接收和執(zhí)行任務(wù),并且對于接收任務(wù)的數(shù)量和機(jī)器的性能有很大的關(guān)系。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)及方法,有效提聞?目息下載的效率。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0006]一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),包括用于接收與轉(zhuǎn)發(fā)用戶的下載任務(wù)信息、以及將任務(wù)結(jié)果信息回送給用戶的分發(fā)子系統(tǒng),以及用于接收分發(fā)子系統(tǒng)發(fā)送的下載任務(wù)信息并根據(jù)下載任務(wù)信息下載任務(wù)結(jié)果信息的下載子系統(tǒng)。
[0007]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),所述的分發(fā)子系統(tǒng)設(shè)置在分發(fā)服務(wù)器中,下載子系統(tǒng)設(shè)置在一臺(tái)或多臺(tái)工作站中。
[0008]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),所述的分發(fā)子系統(tǒng)包括,
[0009]分發(fā)內(nèi)存模塊:用于向分發(fā)服務(wù)器申請用于保存下載任務(wù)信息和任務(wù)結(jié)果信息的分發(fā)內(nèi)存空間;
[0010]接收任務(wù)模塊:用于接收用戶的下載任務(wù)請求并將下載任務(wù)信息保存到分發(fā)內(nèi)存空間;
[0011]分發(fā)模塊:用于將下載任務(wù)信息發(fā)送到下載子系統(tǒng);
[0012]接收結(jié)果模塊:用于接收下載子系統(tǒng)返回的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存空間;
[0013]分發(fā)回送模塊:用于向用戶返回任務(wù)結(jié)果信息。
[0014]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),所述的下載子系統(tǒng)包括,
[0015]下載內(nèi)存模塊:用于向工作站申請用于保存任務(wù)下載信息和任務(wù)結(jié)果信息的下載內(nèi)存空間;
[0016]接收模塊:用于接收分發(fā)子系統(tǒng)下發(fā)的下載任務(wù),并將下載任務(wù)信息保存到下載內(nèi)存空間;
[0017] 下載模塊:用于根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到下載內(nèi)存空間;
[0018]下載回送模塊:用于將任務(wù)結(jié)果信息返回分發(fā)子系統(tǒng)。
[0019]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),所述的分發(fā)子系統(tǒng)還包括,
[0020]驗(yàn)證模塊:用于解析并驗(yàn)證接收任務(wù)模塊所接收到的下載任務(wù)信息以及接收結(jié)果模塊接收到的任務(wù)結(jié)果信息的合法性;
[0021]監(jiān)控模塊:用于監(jiān)控下載任務(wù)信息的下發(fā)情況;如果下載任務(wù)信息下發(fā)完成或超時(shí),監(jiān)控模塊通知分發(fā)內(nèi)存模塊刪除該下載任務(wù)信息并回收分發(fā)內(nèi)存空間。
[0022]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),所述的下載子系統(tǒng)還包括,
[0023]解析模塊:用于解析并驗(yàn)證接收模塊所接收到的下載任務(wù)信息的合法性。
[0024]一種分布式互聯(lián)網(wǎng)信息下載方法,包括以下步驟:
[0025](1)分發(fā)子系統(tǒng)接收用戶的下載任務(wù)信息,并將下載任務(wù)信息發(fā)送到下載子系統(tǒng);
[0026](2)下載子系統(tǒng)根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息發(fā)送到分發(fā)子系統(tǒng);
[0027](3)分發(fā)子系統(tǒng)接收任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息回送到發(fā)起請求的用戶。
[0028]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載方法,步驟(1)中,分發(fā)子系統(tǒng)將任務(wù)下載信息發(fā)送到下載子系統(tǒng)的具體步驟包括:
[0029](1-1)分發(fā)內(nèi)存模塊申請分發(fā)內(nèi)存空間;
[0030]( 1-2)任務(wù)接收模塊接收用戶的下載任務(wù)請求,并將接收到下載任務(wù)信息保存到分發(fā)內(nèi)存空間中;
[0031](1-3)分發(fā)模塊在分發(fā)內(nèi)存空間中查找下載任務(wù)信息,并將下載任務(wù)發(fā)送到下載子系統(tǒng)。
[0032]進(jìn)一步,如上所述的一種分布式互聯(lián)網(wǎng)信息下載方法,下載子系統(tǒng)根據(jù)下載任務(wù)信息下載任務(wù)結(jié)果信息并發(fā)送到分發(fā)子系統(tǒng)的具體步驟包括:
[0033](2-1)下載內(nèi)存模塊申請下載內(nèi)存空間;
[0034](2-2)接收模塊接收分發(fā)子系統(tǒng)下發(fā)的下載任務(wù),并將下載任務(wù)信息保存到下載內(nèi)存空間中;
[0035](2-3)下載模塊根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到下載內(nèi)存空間中;
[0036](2-4)下載回送模塊將下載內(nèi)存空間中的任務(wù)結(jié)果信息回送到分發(fā)子系統(tǒng)。
[0037]本發(fā)明的有益效果在于:本發(fā)明所述的系統(tǒng)及方法是基于分布式架構(gòu)的互聯(lián)網(wǎng)信息下載,通過分發(fā)子系統(tǒng)進(jìn)行下載任務(wù)的分發(fā)與下載結(jié)果的反饋,通過下載子系統(tǒng)進(jìn)行互聯(lián)網(wǎng)信息的獲取,可以在使用較少的機(jī)器資源的前提下,在一定的時(shí)間內(nèi)最大效率的實(shí)現(xiàn)信息的采集及下載。【專利附圖】
【附圖說明】
[0038]圖1為本發(fā)明一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)的結(jié)構(gòu)框圖;
[0039]圖2【具體實(shí)施方式】中一種分布式互聯(lián)網(wǎng)信息系統(tǒng)的實(shí)施示意圖;
[0040]圖3為本發(fā)明一種分布式互聯(lián)網(wǎng)信息下載方法的流程圖。
【具體實(shí)施方式】
[0041]下面結(jié)合說明書附圖與【具體實(shí)施方式】對本發(fā)明做進(jìn)一步的詳細(xì)說明。
[0042]本發(fā)明所述的系統(tǒng)是基于網(wǎng)絡(luò)平臺(tái)上的分布式并發(fā)獲取互聯(lián)網(wǎng)信息的系統(tǒng),該系統(tǒng)物理環(huán)境包括了一個(gè)分發(fā)服務(wù)器和下載子系統(tǒng)群,系統(tǒng)的內(nèi)部的工作方式是基于隊(duì)列模型對需要獲取的任務(wù)進(jìn)行分配給下載子系統(tǒng)群,下載子系統(tǒng)群可以并發(fā)的處理所分配到的任務(wù)。這個(gè)系統(tǒng)適用于互聯(lián)網(wǎng)的大數(shù)據(jù)量的采集,并對獲取信息的效率和時(shí)效性有一定要求的工作環(huán)境。
[0043]圖1示出了本發(fā)明一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng)的結(jié)構(gòu)框圖,由圖中可以看出,該系統(tǒng)包含兩種類型的子系統(tǒng),分發(fā)子系統(tǒng)A和下載子系統(tǒng)B。分發(fā)子系統(tǒng)A主要是負(fù)責(zé)接收,發(fā)送和回送任務(wù)包;而下載子系統(tǒng)B的功能比較單一,就是負(fù)責(zé)接收分發(fā)子系統(tǒng)A分配的任務(wù),然后下載任務(wù)中所要求的互聯(lián)網(wǎng)信息,最后把下載回來的內(nèi)容傳送給分發(fā)子系統(tǒng)A。
[0044]本實(shí)施方式中的分發(fā)子系統(tǒng)A包括內(nèi)存模塊11、接收任務(wù)模塊12、驗(yàn)證模塊13、分發(fā)模塊14、監(jiān)控模塊15、接收結(jié)果模塊16和回送模塊17 ;下載子系統(tǒng)B包括內(nèi)存模塊21、接收模塊22、解析模塊23、下載模塊24和回送模塊25。為了區(qū)分分發(fā)子系統(tǒng)A與下載子系統(tǒng)B的模塊,本實(shí)施方式中將分發(fā)子系統(tǒng)A與下載子系統(tǒng)B中相同的模塊的名稱記為“分發(fā)+模塊名稱”,下載子系統(tǒng)B中記為“下載+模塊名稱”,例如,將A中的內(nèi)存模塊11記為分發(fā)內(nèi)存模塊,回送模塊17記為分發(fā)回送模塊,將B中的內(nèi)存模塊21記為下載內(nèi)存模塊,回送模塊25記為下載回送模塊。其中:
[0045]分發(fā)內(nèi)存模塊11用于向分發(fā)服務(wù)器申請用于保存任務(wù)下載信息和任務(wù)結(jié)果信息的分發(fā)內(nèi)存空間;
[0046]接收任務(wù)模塊12用于接收用戶的下載任務(wù)請求并將下載任務(wù)信息保存到分發(fā)內(nèi)存空間;
[0047]驗(yàn)證模塊13用于解析并驗(yàn)證接收任務(wù)模塊所接收到的下載任務(wù)信息以及接收結(jié)果模塊接收到的任務(wù)結(jié)果信息的合法性;
[0048]分發(fā)模塊14用于獲取下載任務(wù)信息并將下載任務(wù)發(fā)送到下載子系統(tǒng);
[0049]監(jiān)控模塊15用于監(jiān)控下載任務(wù)信息的下發(fā)情況;如果下載任務(wù)信息下發(fā)完成或超時(shí),監(jiān)控模塊通知分發(fā)內(nèi)存模塊刪除該下載任務(wù)信息并回收內(nèi)存空間;
[0050]接收結(jié)果模塊16用于接收下載子系統(tǒng)返回的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存空間;
[0051]分發(fā)回送模塊17用于向用戶返回任務(wù)結(jié)果信息。
[0052]下載內(nèi)存模塊21用于向工作站申請用于保存任務(wù)下載信息和任務(wù)結(jié)果信息的下載內(nèi)存空間;
[0053]接收模塊22用于接收分發(fā)子系統(tǒng)下發(fā)的下載任務(wù),并將下載任務(wù)信息保存到下載內(nèi)存空間;
[0054]解析模塊23用于解析并驗(yàn)證接收模塊所接收到的下載任務(wù)信息的合法性;
[0055]下載模塊24用于根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到下載內(nèi)存空間;
[0056]下載回送模塊25用于將任務(wù)結(jié)果信息返回分發(fā)子系統(tǒng)。
[0057]本發(fā)明所述的系統(tǒng)的內(nèi)部工作方式是基于隊(duì)列模型對所需要獲取的任務(wù)進(jìn)行分配給下載子系統(tǒng)群的,下載子系統(tǒng)可以并發(fā)的處理所接收到的下載任務(wù)。因此,在以上幾個(gè)模塊中,除了接收任務(wù)模塊12,接收結(jié)果模塊16和驗(yàn)證模塊13,以及接收模塊22和解析模塊23外都有一個(gè)隊(duì)列,即分發(fā)內(nèi)存模塊11、分發(fā)模塊14、分發(fā)回送模塊17、監(jiān)控模塊15、下載內(nèi)存模塊21、下載模塊24和下載回送模塊25均采用與其對應(yīng)的隊(duì)列的形式保存其所接收到的數(shù)據(jù),數(shù)據(jù)包括任務(wù)下載信息、任務(wù)結(jié)果信息、分布任務(wù)號(hào)、任務(wù)結(jié)果號(hào)等。[0058]任務(wù)接收模塊12接收到任務(wù)下載信息后,將下載任務(wù)信息保存到分發(fā)內(nèi)存模塊11的分發(fā)內(nèi)存隊(duì)列中,并對每一個(gè)下載任務(wù)信息生成一個(gè)唯一的分發(fā)任務(wù)號(hào),將分發(fā)任務(wù)號(hào)發(fā)送到驗(yàn)證模塊13,驗(yàn)證模塊13對下載任務(wù)信息驗(yàn)證后將合法的下載任務(wù)信息的分發(fā)任務(wù)號(hào)發(fā)送到分發(fā)模塊14,分發(fā)模塊將分發(fā)任務(wù)號(hào)保存到分發(fā)隊(duì)列中;分發(fā)模塊14向下載子系統(tǒng)發(fā)送下載任務(wù)時(shí),取出分發(fā)隊(duì)列中的分發(fā)任務(wù)號(hào),在分發(fā)內(nèi)存隊(duì)列中查找出該分發(fā)任務(wù)號(hào)對應(yīng)的下載任務(wù)信息,并將下載任務(wù)信息發(fā)送到下載子系統(tǒng)。驗(yàn)證模塊13對下載任務(wù)信息驗(yàn)證后同時(shí)將合法的下載任務(wù)信息的分發(fā)任務(wù)號(hào)發(fā)送到監(jiān)控模塊15,監(jiān)控模塊15將分發(fā)任務(wù)號(hào)保存到監(jiān)控隊(duì)列中;監(jiān)控模塊15 —直檢查監(jiān)控隊(duì)列中第一個(gè)分發(fā)任務(wù)號(hào)所對應(yīng)的下載任務(wù)信息是否下發(fā)完成或超時(shí),若是則直接刪除監(jiān)控隊(duì)列中的第一個(gè)分發(fā)任務(wù)號(hào),并刪除分發(fā)內(nèi)存隊(duì)列中該分發(fā)任務(wù)號(hào)對應(yīng)的下載任務(wù)信息,回收該分發(fā)任務(wù)號(hào)所對應(yīng)的分發(fā)內(nèi)存隊(duì)列中的分發(fā)內(nèi)存空間。下載子系統(tǒng)將任務(wù)結(jié)果信息返回給分發(fā)子系統(tǒng)后,首先由驗(yàn)證模塊13對任務(wù)結(jié)果信息驗(yàn)證后,根據(jù)任務(wù)結(jié)果信息的分發(fā)任務(wù)號(hào)在分發(fā)內(nèi)存模塊11中查找該分發(fā)任務(wù)號(hào)所對應(yīng)的下載任務(wù)信息及其分發(fā)內(nèi)存隊(duì)列,將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存隊(duì)列中,并將該任務(wù)結(jié)果信息的分發(fā)任務(wù)號(hào)發(fā)送到分發(fā)回送模塊17,分發(fā)回送模塊17將分發(fā)任務(wù)號(hào)保存分發(fā)回送隊(duì)列中;分發(fā)回送模塊向用戶返回任務(wù)結(jié)果信息時(shí),分發(fā)回送模塊取出分發(fā)回送隊(duì)列中的分發(fā)任務(wù)號(hào),在分發(fā)內(nèi)存隊(duì)列中查找出該分發(fā)任務(wù)號(hào)對應(yīng)的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息返回給用戶。
[0059]接收模塊22接收到分發(fā)子系統(tǒng)下發(fā)的下載任務(wù)信息后,將接收到的下載任務(wù)信息保存到下載內(nèi)存模塊21的下載內(nèi)存隊(duì)列中,并由解析模塊23驗(yàn)證下載任務(wù)信息的合法性,如果合法,則對每一個(gè)下載任務(wù)信息生成一個(gè)下載子系統(tǒng)內(nèi)的唯一的下載任務(wù)號(hào),并將下載任務(wù)號(hào)發(fā)送到下載模塊的下載隊(duì)列中;如果不合法則下載任務(wù)失效。下載模塊下載任務(wù)結(jié)果信息時(shí),取出下載隊(duì)列中的下載任務(wù)號(hào),根據(jù)該下載任務(wù)號(hào)在下載內(nèi)存隊(duì)列中查找任務(wù)下載信息,根據(jù)任務(wù)下載信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,將任務(wù)結(jié)果信息保存到下載內(nèi)存隊(duì)列中,將此下載任務(wù)號(hào)發(fā)送到下載回送模塊的下載回送隊(duì)列中,并刪除下載隊(duì)列中的此下載任務(wù)號(hào)。下載回送模塊25向分發(fā)子系統(tǒng)回送任務(wù)結(jié)果信息時(shí),從下載回送隊(duì)列中取出下載任務(wù)號(hào),在下載內(nèi)存隊(duì)列中查找出該下載任務(wù)號(hào)對應(yīng)的任務(wù)結(jié)果信息,把任務(wù)結(jié)果信息回送到分發(fā)子系統(tǒng),并刪除下載回送隊(duì)列中的此下載任務(wù)號(hào),同時(shí)通知下載內(nèi)存模塊回收此任務(wù)結(jié)果信息所占用的下載內(nèi)存空間。[0060]下面對本發(fā)明分發(fā)子系統(tǒng)和下載子系統(tǒng)的工作流程進(jìn)行更具體的說明:
[0061]分發(fā)子系統(tǒng)的各個(gè)模塊是按照以下步驟運(yùn)行:
[0062]1.系統(tǒng)運(yùn)行開始時(shí)最先進(jìn)入分發(fā)內(nèi)存模塊11,在這個(gè)模塊中會(huì)先申請一定數(shù)量內(nèi)存用于管理任務(wù)。在這一步驟中,系統(tǒng)支持用戶根據(jù)需要同時(shí)處理任務(wù)的速度和物理環(huán)境的性能來自定義內(nèi)存中可同時(shí)存儲(chǔ)任務(wù)的大小。
[0063]2.監(jiān)聽用戶的請求。系統(tǒng)分配完內(nèi)存以后會(huì)進(jìn)入接收任務(wù)模塊12,用于監(jiān)聽接收任務(wù)端口,如果有用戶請求過來,就會(huì)觸發(fā)這個(gè)模塊中的監(jiān)聽線程,這個(gè)線程就會(huì)直接調(diào)用接收任務(wù)模塊。
[0064]3.接收任務(wù)模塊12是專門負(fù)責(zé)接收任務(wù)請求信息的。當(dāng)有一個(gè)任務(wù)連接到分發(fā)子系統(tǒng)并進(jìn)入此模塊時(shí),先從內(nèi)存隊(duì)列中提取出最前端的一個(gè)內(nèi)存塊,因?yàn)樾枰褕?zhí)行的任務(wù)信息保存下來,并且給這個(gè)任務(wù)信息生成一個(gè)唯一的任務(wù)號(hào),然后把這些信息放輸入到驗(yàn)證模塊13中。
[0065]4.到這一步時(shí),分發(fā)子系統(tǒng)中的驗(yàn)證模塊13中已經(jīng)得到了一個(gè)任務(wù)信息,系統(tǒng)需要對這個(gè)信息進(jìn)行驗(yàn)證。為了確定信息的完整和有效性在驗(yàn)證模塊中會(huì)對信息進(jìn)行解析,在確認(rèn)信息是合法的以后,驗(yàn)證模塊的主要任務(wù)就已經(jīng)完成,接下來就是把合法的信息號(hào)放入監(jiān)控模塊15和分發(fā)模塊14中。
[0066]5.分發(fā)模塊14的隊(duì)列中如果有任務(wù)號(hào),分發(fā)模塊就會(huì)從隊(duì)列中取出這個(gè)任務(wù)號(hào)然后在內(nèi)存隊(duì)列中找到下載任務(wù)信息。在獲取到任務(wù)信息后會(huì)把任務(wù)發(fā)送到下載子系統(tǒng)。發(fā)送完成后,就會(huì)讓這個(gè)隊(duì)列中的任務(wù)號(hào)出隊(duì),不再保存這個(gè)任務(wù)號(hào)。
[0067]6.監(jiān)控模塊15會(huì)一直檢查監(jiān)控隊(duì)列中的第一個(gè)任務(wù)的完成情況。因?yàn)槿蝿?wù)是按順放到隊(duì)列中的,所以只需查看隊(duì)列中的第一個(gè)任務(wù)。當(dāng)?shù)谝粋€(gè)任務(wù)超時(shí)或者完成時(shí),會(huì)直接刪除第一個(gè)任務(wù),同時(shí)回收內(nèi)存隊(duì)列中的空間,然后繼續(xù)監(jiān)控后面的一個(gè)任務(wù)。
[0068]7.當(dāng)下載子系統(tǒng)返回任務(wù)結(jié)果信息時(shí),是接收結(jié)果模塊16來完成這個(gè)步驟的。在這個(gè)模塊接收完下載子系統(tǒng)返回的任務(wù)結(jié)果信息后,會(huì)調(diào)用驗(yàn)證模塊來判斷任務(wù)信息的完整性。如果信息正確無誤,就會(huì)把這個(gè)任務(wù)結(jié)果保存在內(nèi)存隊(duì)列中,并且會(huì)把任務(wù)號(hào)存放到回送隊(duì)列中去。
[0069]8.分布回送模塊17的職責(zé)就是向任務(wù)中指定的地址發(fā)送任務(wù)結(jié)果信息。當(dāng)隊(duì)列不為空時(shí),回送模塊就會(huì)從隊(duì)列中取出一個(gè)任務(wù)號(hào),然后在內(nèi)存隊(duì)列中找出相應(yīng)的信息,最后向回送地址發(fā)送任務(wù)結(jié)果并且標(biāo)注這個(gè)任務(wù)已經(jīng)發(fā)送完成。
[0070]下載子系統(tǒng)的工作流程:
[0071]1.首先下載內(nèi)存模塊21會(huì)申請一定數(shù)量的內(nèi)存空間用于存儲(chǔ)任務(wù)信息。這個(gè)空間的大小是基于子系統(tǒng)所在的物理機(jī)器的性能和與網(wǎng)絡(luò)速度來決定的。所申請到的空間也是按照隊(duì)列的形式來存放的。
[0072]2.當(dāng)分發(fā)子系統(tǒng)分配一個(gè)任務(wù)后,接收模塊22就會(huì)接收到下載任務(wù)信息,然后會(huì)向下載內(nèi)存模塊取出一個(gè)內(nèi)存空間來存放下載任務(wù)信息。
[0073]3.解析模塊23分析新接收到的任務(wù)信息是否是合法的,如果任務(wù)信息合法就會(huì)給這次的任務(wù)生成一個(gè)子系統(tǒng)內(nèi)的唯一的任務(wù)號(hào),同時(shí)把這個(gè)任務(wù)號(hào)放入下載模塊中的下載隊(duì)列。否則就會(huì)認(rèn)為此任務(wù)無效,丟棄這次的任務(wù)。
[0074] 4.當(dāng)下載模塊24中的隊(duì)列中有數(shù)據(jù)的時(shí)候,下載模塊就會(huì)取出隊(duì)列中的任務(wù)號(hào),然后在內(nèi)存隊(duì)列中查找到任務(wù)的信息。根據(jù)任務(wù)的內(nèi)容,會(huì)下載所需要的數(shù)據(jù)。等到下載完成后,會(huì)直接把收到的內(nèi)容存入內(nèi)存隊(duì)列中。在下載隊(duì)列中刪除此任務(wù)號(hào),并且把這個(gè)任務(wù)號(hào)放入回送模塊中的回送隊(duì)列中去。
[0075]5.當(dāng)下載回送隊(duì)列不為空時(shí),就會(huì)觸發(fā)下載回送模塊25。回送模塊直接從隊(duì)列中取出任務(wù)號(hào),并且從內(nèi)存模塊的隊(duì)列中讀取出相應(yīng)的信息,直接把這個(gè)任務(wù)信息回送給分發(fā)子系統(tǒng)?;厮屯瓿珊?,會(huì)刪除回送隊(duì)列中的任務(wù)號(hào),并且會(huì)通知內(nèi)存模塊回收此任務(wù)所占用的空間以便以后使用。
[0076]本發(fā)明所述的系統(tǒng)至少要有一個(gè)分發(fā)服務(wù)器用于安裝分發(fā)子系統(tǒng)和一臺(tái)或多臺(tái)工作站用于安裝下載子系統(tǒng),如圖2所示。其中分發(fā)子系統(tǒng)和下載子系統(tǒng)在一個(gè)局域網(wǎng)內(nèi),相互之間可以雙向通信,并且用戶在同一局域網(wǎng)內(nèi);分布式工作站必需可以與互聯(lián)網(wǎng)相連接,可以自由的獲取互聯(lián)網(wǎng)資源。
[0077]圖3示出了基于體I中所述系統(tǒng)的一種分布式互聯(lián)網(wǎng)信息下載方法的流程圖,該方法包括以下步驟:
[0078]步驟S1:分發(fā)子系統(tǒng)接收用戶的下載任務(wù)信息,并將下載任務(wù)信息發(fā)送到下載子系統(tǒng);
[0079]該步驟的具體實(shí)現(xiàn)步驟如下:
[0080]1)分發(fā)內(nèi)存模塊申請分發(fā)內(nèi)存空間;
[0081]2)任務(wù)接收模塊接收用戶的下載任務(wù)請求,并將接收到下載任務(wù)信息保存到分發(fā)內(nèi)存空間中;
[0082]3)分發(fā)模塊在分發(fā)內(nèi)存空間中查找下載任務(wù)信息,并將下載任務(wù)發(fā)送到下載子系統(tǒng)。
[0083]步驟S2:下載子系統(tǒng)根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息發(fā)送到分發(fā)子系統(tǒng);
[0084]該步驟的具體實(shí)現(xiàn)步驟如下:
[0085]1)下載內(nèi)存模塊申請下載內(nèi)存空間;
[0086]2)接收模塊接收分發(fā)子系統(tǒng)下發(fā)的下載任務(wù),并將下載任務(wù)信息保存到下載內(nèi)存空間中;
[0087]3)下載模塊根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到下載內(nèi)存空間中;
[0088]4)下載回送模塊將下載內(nèi)存空間中的任務(wù)結(jié)果信息回送到分發(fā)子系統(tǒng)。
[0089]步驟S3:分發(fā)子系統(tǒng)接收任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息回送到發(fā)起請求的用戶;
[0090]該步驟的具體實(shí)現(xiàn)步驟如下:
[0091]1)接收結(jié)果模塊接收下載子系統(tǒng)返回的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存空間;
[0092]2)分發(fā)回送模塊將分發(fā)內(nèi)存空間中的任務(wù)結(jié)果信息返回給用戶。
[0093]顯然,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)方位。本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖 包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),包括用于接收與轉(zhuǎn)發(fā)用戶的下載任務(wù)信息、以及將任務(wù)結(jié)果信息回送給用戶的分發(fā)子系統(tǒng),以及用于接收分發(fā)子系統(tǒng)發(fā)送的下載任務(wù)信息并根據(jù)下載任務(wù)信息下載任務(wù)結(jié)果信息的下載子系統(tǒng)。
2.如權(quán)利要求1所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:所述的分發(fā)子系統(tǒng)設(shè)置在分發(fā)服務(wù)器中,下載子系統(tǒng)設(shè)置在一臺(tái)或多臺(tái)工作站中。
3.如權(quán)利要求2所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:所述的分發(fā)子系統(tǒng)包括, 分發(fā)內(nèi)存模塊:用于向分發(fā)服務(wù)器申請用于保存下載任務(wù)信息和任務(wù)結(jié)果信息的分發(fā)內(nèi)存空間; 接收任務(wù)模塊:用于接收用戶的下載任務(wù)請求并將下載任務(wù)信息保存到分發(fā)內(nèi)存空間; 分發(fā)模塊:用于將下載任務(wù)信息發(fā)送到下載子系統(tǒng); 接收結(jié)果模塊:用于接收下載子系統(tǒng)返回的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存空間; 分發(fā)回送模塊:用于向用戶返回任務(wù)結(jié)果信息。
4.如權(quán)利要求2所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:所述的下載子系統(tǒng)包括, 下載內(nèi)存模塊:用于向工作站申請用于保存任務(wù)下載信息和任務(wù)結(jié)果信息的下載內(nèi)存空間; 接收模塊:用于接收分發(fā)子系統(tǒng)下發(fā)的下載任務(wù),并將下載任務(wù)信息保存到下載內(nèi)存空間; 下載模塊:用于根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到下載內(nèi)存空間; 下載回送模塊:用于將任務(wù)結(jié)果信息返回分發(fā)子系統(tǒng)。
5.如權(quán)利要求3所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:所述的分發(fā)子系統(tǒng)還包括, 驗(yàn)證模塊:用于解析并驗(yàn)證接收任務(wù)模塊所接收到的下載任務(wù)信息以及接收結(jié)果模塊接收到的任務(wù)結(jié)果信息的合法性; 監(jiān)控模塊:用于監(jiān)控下載任務(wù)信息的下發(fā)情況;如果下載任務(wù)信息下發(fā)完成或超時(shí),監(jiān)控模塊通知分發(fā)內(nèi)存模塊刪除該下載任務(wù)信息并回收分發(fā)內(nèi)存空間。
6.如權(quán)利要求4所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:所述的下載子系統(tǒng)還包括, 解析模塊:用于解析并驗(yàn)證接收模塊所接收到的下載任務(wù)信息的合法性。
7.如權(quán)利要求5或6所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:分發(fā)內(nèi)存模塊、分發(fā)模塊、分發(fā)回送模塊、監(jiān)控模塊、下載內(nèi)存模塊、下載模塊和下載回送模塊均采用與其對應(yīng)的隊(duì)列的形式保存其所接收到的數(shù)據(jù)。
8.如權(quán)利要求7所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:分發(fā)內(nèi)存模塊將下載任務(wù)信息保存到分發(fā)內(nèi)存隊(duì)列中,并對每一個(gè)下載任務(wù)信息生成一個(gè)唯一的分發(fā)任務(wù)號(hào),并將分發(fā)任務(wù)號(hào)發(fā)送到驗(yàn)證模塊。
9.如權(quán)利要求8所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:驗(yàn)證模塊對下載任務(wù)信息驗(yàn)證后將合法的下載任務(wù)信息的分發(fā)任務(wù)號(hào)發(fā)送到分發(fā)模塊,分發(fā)模塊將分發(fā)任務(wù)號(hào)保存到分發(fā)隊(duì)列中;分發(fā)模塊向下載子系統(tǒng)發(fā)送下載任務(wù)時(shí),取出分發(fā)隊(duì)列中的分發(fā)任務(wù)號(hào),在分發(fā)內(nèi)存隊(duì)列中查找出該分發(fā)任務(wù)號(hào)對應(yīng)的下載任務(wù)信息,并將下載任務(wù)信息發(fā)送到下載子系統(tǒng)。
10.如權(quán)利要求8所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:驗(yàn)證模塊對下載任務(wù)信息驗(yàn)證后將合法的下載任務(wù)信息的分發(fā)任務(wù)號(hào)發(fā)送到監(jiān)控模塊,監(jiān)控模塊將分發(fā)任務(wù)號(hào)保存到監(jiān)控隊(duì)列中;監(jiān)控模塊一直檢查監(jiān)控隊(duì)列中第一個(gè)分發(fā)任務(wù)號(hào)所對應(yīng)的下載任務(wù)信息是否下發(fā)完成或超時(shí),若是則直接刪除監(jiān)控隊(duì)列中的第一個(gè)分發(fā)任務(wù)號(hào),并刪除分發(fā)內(nèi)存隊(duì)列中該分發(fā)任務(wù)號(hào)對應(yīng)的下載任務(wù)信息,回收該分發(fā)任務(wù)號(hào)所對應(yīng)的分發(fā)內(nèi)存隊(duì)列中的分發(fā)內(nèi)存空間。
11.如權(quán)利要求5所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:驗(yàn)證模塊對任務(wù)結(jié)果信息驗(yàn)證后,根據(jù)任務(wù)結(jié)果信息的分發(fā)任務(wù)號(hào)在分發(fā)內(nèi)存模塊中查找該分發(fā)任務(wù)號(hào)所對應(yīng)的下載任務(wù)信息及其分發(fā)內(nèi)存隊(duì)列,將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存隊(duì)列中,并將該任務(wù)結(jié)果信息的分發(fā)任務(wù)號(hào)發(fā)送到分發(fā)回送模塊,分發(fā)回送模塊將分發(fā)任務(wù)號(hào)保存分發(fā)回送隊(duì)列中;分發(fā)回送模塊向用戶返回任務(wù)結(jié)果信息時(shí),分發(fā)回送模塊取出分發(fā)回送隊(duì)列中的分發(fā)任務(wù)號(hào),在分發(fā)內(nèi)存隊(duì)列中查找出該分發(fā)任務(wù)號(hào)對應(yīng)的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息返回給用戶。
12.如權(quán)利要求6所述的一種分布式互聯(lián)網(wǎng)信息下載系統(tǒng),其特征在于:下載內(nèi)存模塊中將接收到的下載 任務(wù)信息保存到下載內(nèi)存隊(duì)列中,并由解析模塊驗(yàn)證下載任務(wù)信息的合法性,如果合法,則對每一個(gè)下載任務(wù)信息生成一個(gè)下載子系統(tǒng)內(nèi)的唯一的下載任務(wù)號(hào),并將下載任務(wù)號(hào)發(fā)送到下載模塊的下載隊(duì)列中;如果不合法則下載任務(wù)失效。
13.—種分布式互聯(lián)網(wǎng)信息下載方法,包括以下步驟: (O分發(fā)子系統(tǒng)接收用戶的下載任務(wù)信息,并將下載任務(wù)信息發(fā)送到下載子系統(tǒng); (2)下載子系統(tǒng)根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息發(fā)送到分發(fā)子系統(tǒng); (3)分發(fā)子系統(tǒng)接收任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息回送到發(fā)起請求的用戶。
14.如權(quán)利要求13所述的一種分布式互聯(lián)網(wǎng)信息下載方法,其特征在于:步驟(1)中,分發(fā)子系統(tǒng)將任務(wù)下載信息發(fā)送到下載子系統(tǒng)的具體步驟包括: (1-1)分發(fā)內(nèi)存模塊申請分發(fā)內(nèi)存空間; (1-2)任務(wù)接收模塊接收用戶的下載任務(wù)請求,并將接收到下載任務(wù)信息保存到分發(fā)內(nèi)存空間中; (1-3)分發(fā)模塊在分發(fā)內(nèi)存空間中查找下載任務(wù)信息,并將下載任務(wù)發(fā)送到下載子系統(tǒng)。
15.如權(quán)利要求14所述的一種分布式互聯(lián)網(wǎng)信息下載方法,其特征在于:下載子系統(tǒng)根據(jù)下載任務(wù)信息下載任務(wù)結(jié)果信息并發(fā)送到分發(fā)子系統(tǒng)的具體步驟包括: (2-1)下載內(nèi)存模塊申請下載內(nèi)存空間; (2-2)接收模塊接收分發(fā)子系統(tǒng)下發(fā)的下載任務(wù),并將下載任務(wù)信息保存到下載內(nèi)存空間中;(2-3)下載模塊根據(jù)下載任務(wù)信息下載互聯(lián)網(wǎng)數(shù)據(jù),得到任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到下載內(nèi)存空間中; (2-4)下載回送模塊將下載內(nèi)存空間中的任務(wù)結(jié)果信息回送到分發(fā)子系統(tǒng)。
16.如權(quán)利要求15所述的一種分布式互聯(lián)網(wǎng)信息下載方法,其特征在于:步驟(3)中,分發(fā)子系統(tǒng)接收任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息回送到用戶的具體步驟包括: (3-1)接收結(jié)果模塊接收下載子系統(tǒng)返回的任務(wù)結(jié)果信息,并將任務(wù)結(jié)果信息保存到分發(fā)內(nèi)存空間; (3-2)分發(fā)回送模塊 將分發(fā)內(nèi)存空間中的任務(wù)結(jié)果信息返回給用戶。
【文檔編號(hào)】G06F9/50GK103905515SQ201210587234
【公開日】2014年7月2日 申請日期:2012年12月28日 優(yōu)先權(quán)日:2012年12月28日
【發(fā)明者】閻磊, 梁肖, 于曉明, 楊建武 申請人:北大方正集團(tuán)有限公司, 北京大學(xué), 北京北大方正電子有限公司