亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)及其方法與流程

文檔序號(hào):12132723閱讀:262來(lái)源:國(guó)知局
一種大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)及其方法與流程

本發(fā)明涉及一種數(shù)據(jù)管理系統(tǒng),具體涉及大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)及其方法。



背景技術(shù):

隨著網(wǎng)絡(luò)技術(shù)的大力發(fā)展,通過(guò)互聯(lián)網(wǎng)獲取數(shù)據(jù)已成為當(dāng)前人們獲取信息資源的重要途徑。采用網(wǎng)絡(luò)爬蟲獲取數(shù)據(jù)已成為主流的獲取手段,然而,由于多個(gè)爬蟲同時(shí)爬取數(shù)據(jù),并將爬取的數(shù)據(jù)發(fā)送到一個(gè)接口中,如此之大規(guī)模的數(shù)據(jù)量會(huì)占用相當(dāng)大的網(wǎng)絡(luò)資源,而且由于爬蟲的身份沒(méi)有得到驗(yàn)證,會(huì)導(dǎo)致不必要的網(wǎng)絡(luò)污染,這會(huì)浪費(fèi)大量的網(wǎng)絡(luò)資源和使得數(shù)據(jù)傳送不安全。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)上述技術(shù)問(wèn)題,本發(fā)明提供一種能有效避免資源浪費(fèi)和保證數(shù)據(jù)安全傳送的大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)。

本發(fā)明采用的技術(shù)方案為:

本發(fā)明的一實(shí)施例提供一種大規(guī)模分布式數(shù)據(jù)管理系統(tǒng),包括爬蟲端、數(shù)據(jù)收集服務(wù)器、主控制器、分布式存儲(chǔ)服務(wù)器和業(yè)務(wù)端,所述爬蟲端和所述業(yè)務(wù)端分別與所述數(shù)據(jù)收集服務(wù)器進(jìn)行數(shù)據(jù)交互,其中,所述爬蟲端根據(jù)所述主控制器的指令來(lái)抓取網(wǎng)頁(yè)數(shù)據(jù)并向數(shù)據(jù)收集服務(wù)器發(fā)送;所述數(shù)據(jù)收集服務(wù)器用于將爬蟲端發(fā)送的數(shù)據(jù)整合之后上傳至所述分布式存儲(chǔ)服務(wù)器,并根據(jù)所述業(yè)務(wù)端發(fā)送的請(qǐng)求指令將相對(duì)應(yīng)的數(shù)據(jù)發(fā)送給所述業(yè)務(wù)端;所述主控制器用于管理所述爬蟲端、業(yè)務(wù)端認(rèn)證以及數(shù)據(jù)收集服務(wù)器的負(fù)載均衡以及確定所述爬蟲端和所述業(yè)務(wù)端的身份合法性,根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端分配相適配的數(shù)據(jù)收集服務(wù)器,當(dāng)所述爬蟲端爬取的數(shù)據(jù)達(dá)到相適配的數(shù)據(jù)收集服務(wù)器的存儲(chǔ)預(yù)設(shè)值時(shí),所述主控制器控制所述爬蟲端向其他未達(dá)存儲(chǔ)預(yù)設(shè)值的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù)。

可選地,所述數(shù)據(jù)收集服務(wù)器設(shè)置有數(shù)據(jù)清洗模塊,其中,所述數(shù)據(jù)清理模塊用于對(duì)爬取的數(shù)據(jù)進(jìn)行清理,使得經(jīng)清理后的數(shù)據(jù)形成標(biāo)準(zhǔn)的數(shù)據(jù)包;所述數(shù)據(jù)清理模塊包括:數(shù)據(jù)清洗單元,用于過(guò)濾或者修改不符合業(yè)務(wù)端要求的數(shù)據(jù);數(shù)據(jù)整理單元,用于根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合,使得整合后的數(shù)據(jù)與業(yè)務(wù)端的需求之間具有更高的相關(guān)性。

可選地,所述主控制器在所述爬蟲端獲得其認(rèn)證授權(quán)后,根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端分配相適配的數(shù)據(jù)收集服務(wù)器;所述爬蟲端在獲得所述數(shù)據(jù)收集服務(wù)器的認(rèn)證授權(quán)后,向相適配的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù);以及所述數(shù)據(jù)收集服務(wù)器在所述業(yè)務(wù)端獲得認(rèn)證授權(quán)后,向所述業(yè)務(wù)端發(fā)送響應(yīng)請(qǐng)求指令的數(shù)據(jù)包。

可選地,當(dāng)所述爬蟲端爬取的數(shù)據(jù)大小達(dá)到預(yù)設(shè)閾值時(shí),所述主控制器控制所述爬蟲端向相適配的數(shù)據(jù)收集服務(wù)器傳送數(shù)據(jù);當(dāng)所述爬蟲端爬取的數(shù)據(jù)大小未達(dá)到預(yù)設(shè)閾值時(shí),所爬取的數(shù)據(jù)暫時(shí)存放在緩存器中。

可選地,所述預(yù)定的分配規(guī)則為負(fù)載均衡算法;所述不符合業(yè)務(wù)端要求的數(shù)據(jù)包括不完整的數(shù)據(jù)、錯(cuò)誤的數(shù)據(jù)和重復(fù)的數(shù)據(jù)。

可選地,所述根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合包括:將數(shù)據(jù)進(jìn)行分割以獲取指定行數(shù)的目標(biāo)數(shù)據(jù)、滿足指定條件的目標(biāo)數(shù)據(jù)和只包含指定列編號(hào)的目標(biāo)數(shù)據(jù);將數(shù)據(jù)進(jìn)行聚合以將兩個(gè)或多個(gè)數(shù)據(jù)表按指定條件關(guān)聯(lián)聚合成一張表;以及將數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,以將包括時(shí)間的復(fù)雜類型從原始字符串格式轉(zhuǎn)換為目標(biāo)字符串格式。

可選地,所述分布式存儲(chǔ)服務(wù)器包括用于存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)器和用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)器。

本發(fā)明的另一實(shí)施例提供一種大規(guī)模分布式數(shù)據(jù)管理方法,包括:

S100:多個(gè)爬蟲端基于主控制器的爬取指令爬取數(shù)據(jù);

S200:主控制器根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端爬取的數(shù)據(jù)分配相適配的數(shù)據(jù)收集服務(wù)器,并在爬蟲端爬取的數(shù)據(jù)達(dá)到數(shù)據(jù)收集服務(wù)器的存儲(chǔ)預(yù)設(shè)值時(shí),控制所述爬蟲端向其他未達(dá)存儲(chǔ)預(yù)設(shè)值的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù);

S300:所述數(shù)據(jù)收集服務(wù)器對(duì)所接收的數(shù)據(jù)進(jìn)行清理操作,使得經(jīng)清理后的數(shù)據(jù)形成標(biāo)準(zhǔn)的數(shù)據(jù)包,并根據(jù)業(yè)務(wù)端發(fā)送的請(qǐng)求指令將所述數(shù)據(jù)包發(fā)送給所述業(yè)務(wù)端。

可選地,步驟S200具體包括:

主控制器根據(jù)負(fù)載均衡算法為爬蟲端爬取的數(shù)據(jù)分配相適配的數(shù)據(jù)收集服務(wù)器,主控制器根據(jù)負(fù)載均衡算法為爬蟲端爬取的數(shù)據(jù)分配相適配的數(shù)據(jù)收集服務(wù)器,當(dāng)所述爬蟲端爬取的數(shù)據(jù)大小未達(dá)到預(yù)設(shè)閾值時(shí),主控制器將所爬取的數(shù)據(jù)暫時(shí)存放在緩存器中。

可選地,步驟S300中,對(duì)所接收的數(shù)據(jù)進(jìn)行清理操作包括:過(guò)濾或者修改不符合業(yè)務(wù)端要求的數(shù)據(jù);根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合,使得整合后的數(shù)據(jù)與業(yè)務(wù)端的需求之間具有更高的相關(guān)性。

可選地,在步驟S100中,所述主控制器在所述爬蟲端獲得其認(rèn)證授權(quán)后,根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端分配相適配的數(shù)據(jù)收集服務(wù)器;在步驟S200中,所述爬蟲端在獲得所述數(shù)據(jù)收集服務(wù)器的認(rèn)證授權(quán)后,向相適配的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù);以及在步驟S300中,所述數(shù)據(jù)收集服務(wù)器在所述業(yè)務(wù)端獲得認(rèn)證授權(quán)后,向所述業(yè)務(wù)端發(fā)送響應(yīng)請(qǐng)求指令的數(shù)據(jù)包。

可選地,所述根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合包括:將數(shù)據(jù)進(jìn)行分割以獲取指定行數(shù)的目標(biāo)數(shù)據(jù)、滿足指定條件的目標(biāo)數(shù)據(jù)和只包含指定列編號(hào)的目標(biāo)數(shù)據(jù);將數(shù)據(jù)進(jìn)行聚合以將兩個(gè)或多個(gè)數(shù)據(jù)表按指定條件關(guān)聯(lián)聚合成一張表;以及將數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,以將包括時(shí)間的復(fù)雜類型從原始字符串格式轉(zhuǎn)換為目標(biāo)字符串格式。

本發(fā)明提供的大規(guī)模分布式數(shù)據(jù)管理系統(tǒng),在對(duì)爬蟲端和業(yè)務(wù)端的身份進(jìn)行驗(yàn)證后才允許爬蟲端向數(shù)據(jù)收集服務(wù)器發(fā)送數(shù)據(jù),以及允許數(shù)據(jù)收集服務(wù)器向業(yè)務(wù)端發(fā)送數(shù)據(jù),如此保證了數(shù)據(jù)傳送的安全性,進(jìn)而保證整個(gè)系統(tǒng)數(shù)據(jù)的輸入輸出都是有效的。并且,只有在爬蟲端爬取的數(shù)據(jù)內(nèi)存達(dá)到一定值后才存入數(shù)據(jù)收集服務(wù)器中,從而減少了系統(tǒng)的負(fù)擔(dān)。此外,設(shè)置多個(gè)數(shù)據(jù)收集服務(wù)器,為爬蟲端分配相適配的數(shù)據(jù)接收端口,保證系統(tǒng)的負(fù)載均衡,既解決了單點(diǎn)故障問(wèn)題,又提高了吞吐量。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例提供的大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)示意圖。

圖2為本發(fā)明實(shí)施例提供的大規(guī)模分布式數(shù)據(jù)管理方法的流程示意圖。

具體實(shí)施方式

以下結(jié)合附圖對(duì)本發(fā)明的大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)的具體實(shí)施方式進(jìn)行介紹。

【實(shí)施例1】大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)

圖1為本發(fā)明實(shí)施例提供的大規(guī)模分布式數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,本發(fā)明的實(shí)施例提供的一種大規(guī)模分布式數(shù)據(jù)管理系統(tǒng),包括多個(gè)爬蟲端1、緩存器2、多個(gè)數(shù)據(jù)收集服務(wù)器3、分布式存儲(chǔ)服務(wù)器4、主控制器5和業(yè)務(wù)端6。所述爬蟲端1和所述業(yè)務(wù)端6分別與所述數(shù)據(jù)收集服務(wù)器3進(jìn)行數(shù)據(jù)交互。

其中,所有爬蟲端1均受所述主控制器5的控制,在主控制器5的控制下保持同步,并根據(jù)所述主控制器5的指令來(lái)抓取網(wǎng)頁(yè)數(shù)據(jù)并向數(shù)據(jù)收集服務(wù)器3發(fā)送。具體地,爬蟲端1的數(shù)目可根據(jù)具體實(shí)際情況來(lái)設(shè)置,例如,根據(jù)需要可設(shè)置約400個(gè)爬蟲端來(lái)分別向400個(gè)網(wǎng)站爬取數(shù)據(jù),每個(gè)爬蟲端以公用的Redis內(nèi)存數(shù)據(jù)庫(kù)作為統(tǒng)一的URL調(diào)度器,以插件式的形式安裝在爬蟲端上;或者采用實(shí)現(xiàn)分布式的部署,直接將相應(yīng)的程序jar包部署在每臺(tái)機(jī)器上,啟動(dòng)運(yùn)行即可。每個(gè)爬蟲端的具體URL調(diào)度將會(huì)由Redis服務(wù)器進(jìn)行集中式的管理,保證數(shù)據(jù)不重復(fù)爬取。這樣的實(shí)現(xiàn)能夠保證每個(gè)爬蟲之間耦合度低,不相互依賴,部署簡(jiǎn)單,爬取速度快。主控制器5可實(shí)時(shí)控制爬蟲端1的運(yùn)行狀態(tài)和監(jiān)控爬蟲端1的運(yùn)行狀況,做到實(shí)時(shí)監(jiān)測(cè)實(shí)時(shí)報(bào)警處理,全方位控制爬蟲,滿足各方面業(yè)務(wù)需求。

所述數(shù)據(jù)收集服務(wù)器3用于將爬蟲端1發(fā)送的數(shù)據(jù)整合之后周期性地上傳至所述分布式存儲(chǔ)服務(wù)器4,供有離線數(shù)據(jù)需求的業(yè)務(wù)使用,并根據(jù)所述業(yè)務(wù)端6發(fā)送的請(qǐng)求指令將相對(duì)應(yīng)的數(shù)據(jù)發(fā)送給所述業(yè)務(wù)端6。數(shù)據(jù)收集服務(wù)器3可根據(jù)需要設(shè)置多個(gè),既能夠解決采用單一數(shù)據(jù)接口而導(dǎo)致的單點(diǎn)故障問(wèn)題,又提高了數(shù)據(jù)吞吐量。分布式存儲(chǔ)服務(wù)器4可包括用于存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)器和用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)器。對(duì)于結(jié)構(gòu)化數(shù)據(jù),包括傳統(tǒng)的關(guān)系數(shù)據(jù)模型、行數(shù)據(jù),存儲(chǔ)于數(shù)據(jù)庫(kù),可用二維表結(jié)構(gòu)表示的數(shù)據(jù)等可采用Hbase進(jìn)行存儲(chǔ),對(duì)于非結(jié)構(gòu)化數(shù)據(jù),包括辦公文檔、文本、圖片、各類報(bào)表、圖像和音頻、視頻信息等沒(méi)有固定結(jié)構(gòu)的數(shù)據(jù)等可采用HDFS進(jìn)行存儲(chǔ)。HDFS是Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System)的縮寫,為分布式計(jì)算存儲(chǔ)提供了底層支持。HDFS提供了相當(dāng)好的擴(kuò)展性和容錯(cuò)能力,并且建設(shè)成本低廉,使用HDFS彈性存儲(chǔ)可以實(shí)現(xiàn)自動(dòng)控制,靈活地進(jìn)行存儲(chǔ)空間的釋放和分配,以適應(yīng)快速變化的需求。

所述主控制器5用于管理所述爬蟲端、業(yè)務(wù)端認(rèn)證以及數(shù)據(jù)收集服務(wù)器的負(fù)載均衡以及確定所述爬蟲端1和所述業(yè)務(wù)端6的身份合法性,根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端分布相適配的數(shù)據(jù)收集服務(wù)器,當(dāng)所述爬蟲端1爬取的網(wǎng)頁(yè)數(shù)據(jù)大小達(dá)到預(yù)設(shè)值時(shí),所述主控制器5控制所述爬蟲端向相適配的數(shù)據(jù)收集服務(wù)器3發(fā)送所爬取的網(wǎng)頁(yè)數(shù)據(jù),爬蟲端爬取的小于預(yù)設(shè)值的網(wǎng)頁(yè)數(shù)據(jù)暫時(shí)存放在緩存器(未圖示)中,并在爬蟲端爬取的數(shù)據(jù)達(dá)到數(shù)據(jù)收集服務(wù)器存儲(chǔ)預(yù)設(shè)值時(shí),主控制器控制爬蟲端向其他未達(dá)存儲(chǔ)預(yù)設(shè)值的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù),以確保負(fù)載均衡。爬蟲端1爬取的數(shù)據(jù)以單條(或單個(gè)網(wǎng)頁(yè))論都是零碎繁多的小段數(shù)據(jù),如果每產(chǎn)生一點(diǎn)數(shù)據(jù)就進(jìn)行傳送,必然效率低下,因此,為減輕系統(tǒng)負(fù)擔(dān),只有當(dāng)爬蟲數(shù)據(jù)達(dá)到預(yù)設(shè)值,例如64MB時(shí)才進(jìn)行傳送,小于預(yù)設(shè)值的網(wǎng)頁(yè)數(shù)據(jù)暫時(shí)存放在緩存器中。此外,爬蟲端1發(fā)送數(shù)據(jù)和業(yè)務(wù)端6拉取數(shù)據(jù)都需要通過(guò)身份驗(yàn)證之后才能進(jìn)行,以保證數(shù)據(jù)傳送安全性,具體地,所述主控制器在所述爬蟲端獲得其認(rèn)證授權(quán)后,根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端分布相適配的數(shù)據(jù)收集服務(wù)器;所述爬蟲端在獲得所述數(shù)據(jù)收集服務(wù)器的認(rèn)證授權(quán)后,向相適配的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的網(wǎng)頁(yè)數(shù)據(jù);以及所述數(shù)據(jù)收集服務(wù)器在所述業(yè)務(wù)端獲得其認(rèn)證授權(quán)后,向所述業(yè)務(wù)端發(fā)送響應(yīng)請(qǐng)求指令的數(shù)據(jù)。如此,能夠確保數(shù)據(jù)傳送的安全性和合法性。

關(guān)于爬蟲端向數(shù)據(jù)收集服務(wù)器發(fā)送數(shù)據(jù)以及數(shù)據(jù)收集服務(wù)器向業(yè)務(wù)端發(fā)送數(shù)據(jù)的主要操作包括以下內(nèi)容:

(1)認(rèn)證及數(shù)據(jù)的傳輸。爬蟲端必須先向數(shù)據(jù)收集服務(wù)器發(fā)送認(rèn)證信息,經(jīng)數(shù)據(jù)收集服務(wù)器驗(yàn)證合法后才能開始向數(shù)據(jù)收集服務(wù)器傳輸數(shù)據(jù)。

(2)爬蟲端的注冊(cè)。爬蟲端必須向主控制器進(jìn)行注冊(cè),由主控制器根據(jù)預(yù)定的分配原則為該爬蟲端分配合適的數(shù)據(jù)收集服務(wù)器。預(yù)定的分配原則可采用經(jīng)典負(fù)載均衡算法中的Least-Busy,將新增設(shè)的爬蟲端分配給負(fù)載最小的數(shù)據(jù)收集服務(wù)器,以保證系統(tǒng)的負(fù)載均衡。

(3)業(yè)務(wù)端的注冊(cè)及分發(fā)。通過(guò)業(yè)務(wù)端的注冊(cè),為系統(tǒng)的業(yè)務(wù)狀態(tài)的獲取和數(shù)據(jù)收集服務(wù)器負(fù)載計(jì)算提供必要信息。

(4)數(shù)據(jù)收集服務(wù)器向業(yè)務(wù)端的數(shù)據(jù)發(fā)送。業(yè)務(wù)端先向數(shù)據(jù)收集服務(wù)器發(fā)起認(rèn)證請(qǐng)求,數(shù)據(jù)收集服務(wù)器確認(rèn)業(yè)務(wù)端身份合法后,向其發(fā)起數(shù)據(jù)連接并發(fā)送相對(duì)應(yīng)的數(shù)據(jù)。

(5)每個(gè)數(shù)據(jù)收集服務(wù)器向主控制器發(fā)送“心跳”,主要是自身負(fù)載情況,這是主控制器負(fù)載決策的主要信息提供者;此外,數(shù)據(jù)收集服務(wù)器必須向主控制器確認(rèn)爬蟲端或者業(yè)務(wù)端的認(rèn)證是否合法,如果不合法,則拒絕接收或發(fā)送數(shù)據(jù)。

由于爬蟲爬取的數(shù)據(jù)往往有許多存在信息不全、有臟數(shù)據(jù)、數(shù)據(jù)冗余等問(wèn)題,直接使用將會(huì)影響分析結(jié)果的可信度和準(zhǔn)確性,故而通常還需要經(jīng)過(guò)一步數(shù)據(jù)清洗;另一方面,由于數(shù)據(jù)使用者的業(yè)務(wù)方向與數(shù)據(jù)來(lái)源不可能百分百的完全契合,就會(huì)導(dǎo)致圍繞業(yè)務(wù)開發(fā)的算法分析如果直接應(yīng)用在來(lái)源數(shù)據(jù)上效果模糊,或無(wú)效運(yùn)算量過(guò)大導(dǎo)致效率偏低,因此,需要針對(duì)業(yè)務(wù)需求進(jìn)行數(shù)據(jù)整理。為此,可選地,所述數(shù)據(jù)收集服務(wù)器3設(shè)置有數(shù)據(jù)清洗模塊,其中,所述數(shù)據(jù)清理模塊用于對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行清理,包括:數(shù)據(jù)清單元,用于過(guò)濾或者修改不符合業(yè)務(wù)端要求的數(shù)據(jù);數(shù)據(jù)整理單元,用于根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合,使得整合后的數(shù)據(jù)與業(yè)務(wù)端的需求之間具有更高的相關(guān)性。

其中,不符合業(yè)務(wù)端要求的數(shù)據(jù)主要包括不完整的數(shù)據(jù)、錯(cuò)誤的數(shù)據(jù)和重復(fù)的數(shù)據(jù),不完整數(shù)據(jù)的特征是一些應(yīng)該有的信息缺失,如機(jī)構(gòu)名稱、分公司的名稱、區(qū)域信息缺失等。錯(cuò)誤數(shù)據(jù)產(chǎn)生的原因是業(yè)務(wù)系統(tǒng)不夠健全,在接收輸入后沒(méi)有進(jìn)行判斷而直接寫入后臺(tái)數(shù)據(jù)庫(kù)造成的,比如數(shù)值數(shù)據(jù)輸成全角數(shù)字字符、字符串?dāng)?shù)據(jù)后有一個(gè)回車、日期格式不正確、日期越界等。錯(cuò)誤值包括輸入錯(cuò)誤和錯(cuò)誤數(shù)據(jù),輸入錯(cuò)誤是由原始數(shù)據(jù)錄入人員疏忽而造成的,而錯(cuò)誤數(shù)據(jù)大多是由一些客觀原因引起的,例如人員填寫的所屬單位的不同和人員的升遷等。針對(duì)不完整數(shù)據(jù)可提供多種策略進(jìn)行靈活處理,用戶可以自行配置清理策略的細(xì)節(jié),主要包括數(shù)據(jù)補(bǔ)全和過(guò)分殘缺數(shù)據(jù)的剔除,其中數(shù)據(jù)補(bǔ)全主要通過(guò)對(duì)字段的缺省值配置策略實(shí)現(xiàn),包含的策略主要有:字段均值補(bǔ)全(對(duì)數(shù)值型字段以該字段的總體均值對(duì)缺失數(shù)據(jù)進(jìn)行補(bǔ)全)、半監(jiān)督學(xué)習(xí)補(bǔ)全(通過(guò)對(duì)數(shù)據(jù)總體以及殘缺數(shù)據(jù)其它字段的分析,運(yùn)用機(jī)器學(xué)習(xí)算法對(duì)缺失字段進(jìn)行猜測(cè)性補(bǔ)全,系統(tǒng)內(nèi)置的補(bǔ)全算法為Cart分類回歸樹算法。異常數(shù)據(jù)是指所有記錄中如果一個(gè)或幾個(gè)字段間絕大部分遵循某種模式,其它不遵循該模式的記錄,如年齡字段超過(guò)歷史上的最高記錄年齡等。此類數(shù)據(jù)大多可以通過(guò)數(shù)據(jù)分析的方法檢測(cè)出來(lái),系統(tǒng)內(nèi)置的異常數(shù)據(jù)檢測(cè)算法為基于密度的DBSCAN聚類算法,通過(guò)聚類分析確定各點(diǎn)周圍的密度空間,密度過(guò)稀的點(diǎn)即為異常點(diǎn)。

根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合包括:將數(shù)據(jù)進(jìn)行分割以獲取指定行數(shù)的目標(biāo)數(shù)據(jù)、滿足滿足指定條件的目標(biāo)數(shù)據(jù)和只包含指定列編號(hào)的目標(biāo)數(shù)據(jù);將數(shù)據(jù)進(jìn)行聚合以將兩個(gè)或多個(gè)數(shù)據(jù)表按指定條件關(guān)聯(lián)聚合成一張表;以及將數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,包括基本類型轉(zhuǎn)換,用以以將時(shí)間等復(fù)雜類型從原始字符串格式轉(zhuǎn)換為目標(biāo)字符串格式,以及元組和列表互轉(zhuǎn),多對(duì)應(yīng)關(guān)系數(shù)據(jù)大體存在元組和列表兩種格式,改變格式可適應(yīng)不同算法需求。數(shù)據(jù)整理單元根據(jù)業(yè)務(wù)需求對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行重新整合,使整合后的數(shù)據(jù)與目標(biāo)業(yè)務(wù)相關(guān)性更高,進(jìn)而減少無(wú)用IO或運(yùn)算,提高算法效率。

【實(shí)施例2】大規(guī)模分布式數(shù)據(jù)管理方法

圖2為本發(fā)明實(shí)施例提供的大規(guī)模分布式數(shù)據(jù)管理方法的流程示意圖。如圖2所示,本實(shí)施例提供的大規(guī)模分布式數(shù)據(jù)管理方法包括以下步驟:

S100:多個(gè)爬蟲端基于主控制器的爬取指令爬取數(shù)據(jù)。

具體地,所有爬蟲端均受所述主控制器的控制,在主控制器的控制下保持同步,并根據(jù)所述主控制器的指令來(lái)抓取網(wǎng)頁(yè)數(shù)據(jù)并向數(shù)據(jù)收集服務(wù)器發(fā)送。

S200:主控制器根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端爬取的數(shù)據(jù)分配相適配的數(shù)據(jù)收集服務(wù)器,并在爬蟲端爬取的數(shù)據(jù)達(dá)到數(shù)據(jù)收集服務(wù)器的存儲(chǔ)預(yù)設(shè)值時(shí),控制所述爬蟲端向其他未達(dá)存儲(chǔ)預(yù)設(shè)值的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù)。

具體地,主控制器可根據(jù)負(fù)載均衡算法為爬蟲端爬取的數(shù)據(jù)分配相適配的數(shù)據(jù)收集服務(wù)器;當(dāng)所述爬蟲端爬取的數(shù)據(jù)大小達(dá)到預(yù)設(shè)閾值時(shí),所述主控制器控制所述爬蟲端向相適配的數(shù)據(jù)收集服務(wù)器傳送數(shù)據(jù),并在爬蟲端爬取的數(shù)據(jù)達(dá)到數(shù)據(jù)收集服務(wù)器的存儲(chǔ)預(yù)設(shè)值時(shí),控制所述爬蟲端向其他未達(dá)存儲(chǔ)預(yù)設(shè)值的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù)。

S300:所述數(shù)據(jù)收集服務(wù)器對(duì)所接收的數(shù)據(jù)進(jìn)行清理操作,并將清理后的數(shù)據(jù)形成標(biāo)準(zhǔn)的數(shù)據(jù)包,并將所述數(shù)據(jù)包根據(jù)業(yè)務(wù)端發(fā)送的請(qǐng)求指令發(fā)送給所述業(yè)務(wù)端。

在步驟S300中,對(duì)所接收的數(shù)據(jù)進(jìn)行清理操作包括:過(guò)濾或者修改不符合業(yè)務(wù)端要求的數(shù)據(jù);根據(jù)業(yè)務(wù)端的需求對(duì)爬取的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行重新整合,使得整合后的數(shù)據(jù)與業(yè)務(wù)端的需求之間具有更高的相關(guān)性,具體包括:將數(shù)據(jù)進(jìn)行分割以獲取指定行數(shù)的目標(biāo)數(shù)據(jù)、滿足指定條件的目標(biāo)數(shù)據(jù)和只包含指定列編號(hào)的目標(biāo)數(shù)據(jù);將數(shù)據(jù)進(jìn)行聚合以將兩個(gè)或多個(gè)數(shù)據(jù)表按指定條件關(guān)聯(lián)聚合成一張表;以及將數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,以將時(shí)間等復(fù)雜類型從原始字符串格式轉(zhuǎn)換為目標(biāo)字符串格式。此外,數(shù)據(jù)收集服務(wù)器在處理后的數(shù)據(jù)上傳至分布式存儲(chǔ)服務(wù)器進(jìn)行存儲(chǔ),分布式存儲(chǔ)服務(wù)器可包括用于存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)器和用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)器。

此外,在步驟S100中,所述主控制器在所述爬蟲端獲得其認(rèn)證授權(quán)后,根據(jù)預(yù)定的分配規(guī)則為所述爬蟲端分配相適配的數(shù)據(jù)收集服務(wù)器;在步驟S200中,所述爬蟲端在獲得所述數(shù)據(jù)收集服務(wù)器的認(rèn)證授權(quán)后,向相適配的數(shù)據(jù)收集服務(wù)器發(fā)送所爬取的數(shù)據(jù);以及在步驟S300中,所述數(shù)據(jù)收集服務(wù)器在所述業(yè)務(wù)端獲得認(rèn)證授權(quán)后,向所述業(yè)務(wù)端發(fā)送響應(yīng)請(qǐng)求指令的數(shù)據(jù)包。具體的授權(quán)操作和數(shù)據(jù)傳送操作與前述實(shí)施例1相同,在此,為避免贅述,省略對(duì)它們的詳細(xì)介紹。

此外,在本實(shí)施例中,沒(méi)有描述的所涉及的各部件的結(jié)構(gòu)和功能等均與前述實(shí)施例1所描述的相同,在此避免贅述,省略對(duì)它們的詳細(xì)介紹。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1