9-2所示為數(shù)據(jù)分布式存儲(chǔ)與并行處理框架。
分布式存儲(chǔ)引擎采用MapReduce模型,并基于Hadoop的HBase和HDFS實(shí)現(xiàn)。它的主要功能是基于四面體數(shù)據(jù)模型提取非結(jié)構(gòu)化數(shù)據(jù)的基本屬性、語義特征和底層特征信息,并將這些信息連同原始數(shù)據(jù)存儲(chǔ)在HDFS和HBase中。
存儲(chǔ)引擎由Namenode和Datanode構(gòu)成。Namenode通過Map操作將存儲(chǔ)數(shù)據(jù)分成若干子塊,并將這些子塊分配給各個(gè)Datanode進(jìn)行特征提取和數(shù)據(jù)永久保存的操作。同時(shí),Namenode會(huì)開啟一項(xiàng)任務(wù)來追蹤處理過程,并在各子塊存儲(chǔ)完成后執(zhí)行Reduce操作對(duì)結(jié)果進(jìn)行合并。Namenode和Datanode的這種協(xié)同工作方式,實(shí)現(xiàn)了大量數(shù)據(jù)的并行與分布式存儲(chǔ)。
并行化檢索引擎主要負(fù)責(zé)數(shù)據(jù)的快速查詢,是基于.MapReduce模型建立的Master-Slave并行化框架。Master負(fù)責(zé)管理所有Slave可分解和分配具體檢索任務(wù),并對(duì)檢索結(jié)果進(jìn)行有效整合;Slave模塊負(fù)責(zé)對(duì)本地?cái)?shù)據(jù)實(shí)行具體的檢索任務(wù)并將結(jié)果返回給Master。通過Master的有效調(diào)度,多個(gè)Slave可并行化執(zhí)行檢索任務(wù),從而實(shí)現(xiàn)檢索并行化的處理架構(gòu)。
由于Master可以實(shí)現(xiàn)任務(wù)的靈活分發(fā)和結(jié)果的有效整合,多個(gè)Slave可以并行化執(zhí)行任務(wù)且可靈活擴(kuò)展,因此該引擎具有很好的可擴(kuò)展性和高效性。