一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法【專利摘要】本發(fā)明公開了一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,屬于大數(shù)據(jù)分析【
技術(shù)領(lǐng)域:
】,混合型大數(shù)據(jù)處理系統(tǒng)是基于HBase數(shù)據(jù)庫及基于內(nèi)存計算引擎的Hive系統(tǒng)構(gòu)建,交互查詢sql語句由客戶端發(fā)出,包括針對Hive表和HBase表的join操作,其特征在于采用bucketjoin方法進行數(shù)據(jù)交互,bucketjoin方法包括數(shù)據(jù)準備過程和運行時執(zhí)行過程。本發(fā)明通過分桶、coprocessr和mapjoin的方式,大大提高了跨Hive和HBase系統(tǒng)的關(guān)聯(lián)分析性能,能夠滿足行業(yè)大數(shù)據(jù)針對混合處理系統(tǒng)的交互分析業(yè)務(wù)應(yīng)用需求。【專利說明】一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及一種大數(shù)據(jù)分析【
技術(shù)領(lǐng)域:
】,具體地說是一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法?!?br>背景技術(shù):
】[0002]為了應(yīng)對行業(yè)日益復(fù)雜的業(yè)務(wù)需求,當(dāng)前出現(xiàn)一種融合了批處理、內(nèi)存計算、流處理、NoSQL數(shù)據(jù)庫等多種處理模式的混合型大數(shù)據(jù)處理系統(tǒng)。在混合型大數(shù)據(jù)處理系統(tǒng)支持的處理模式中,由于MapReduce、Spark、HBase等都引入了新的編程模型,學(xué)習(xí)成本較大,因此,基于各類大數(shù)據(jù)處理系統(tǒng)構(gòu)建的交互分析應(yīng)用最為廣泛。交互分析的模式和效果與傳統(tǒng)數(shù)據(jù)庫應(yīng)用非常相似的,數(shù)據(jù)以表的形式存儲,應(yīng)用層采用標準的SQL語句發(fā)起各種數(shù)據(jù)請求,支持對數(shù)據(jù)掃描、統(tǒng)計、聚合、多表關(guān)聯(lián)等操作的高并發(fā)、低延遲的處理。當(dāng)前出現(xiàn)的基于MapReduce的Hive、基于Spark的Shark都屬于這一類交互分析引擎。[0003]MapReduce是Google提出的一個軟件架構(gòu),用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。主要思想為Map(映射)和Reduce(化簡)。MapReduce通過把對數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個節(jié)點實現(xiàn)可靠性;每個節(jié)點會周期性的把完成的工作和狀態(tài)的更新報告回來。如果一個節(jié)點保持沉默超過一個預(yù)設(shè)的時間間隔,主節(jié)點(類同GoogleFileSystem中的主服務(wù)器)記錄下這個節(jié)點狀態(tài)為死亡,并把分配給這個節(jié)點的數(shù)據(jù)發(fā)到別的節(jié)點。每個操作使用命名文件的原子操作以確保不會發(fā)生并行線程間的沖突;當(dāng)文件被改名的時候,系統(tǒng)可能會把他們復(fù)制到任務(wù)名以外的另一個名字上去。[0004]Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進行運行。[0005]Spark有分配任務(wù)的主節(jié)點(Driver)和執(zhí)行計算的工作節(jié)點(Worker)Spark的核心概念是RDD(resilientdistributeddataset),指的是一個只讀的,可分區(qū)的分布式數(shù)據(jù)集,這個數(shù)據(jù)集的全部或部分可以緩存在內(nèi)存中,在多次計算間重用。[0006]Shark基本上就是在Spark的框架基礎(chǔ)上提供和Hive—樣的HiveQL命令接口,為了最大程度的保持和Hive的兼容性,Shark使用了Hive的API來實現(xiàn)queryParsing和LogicPlangenerat1n,最后的PhysicalPlanexecut1n階段用Spark代替HadoopMapReduce。通過配置Shark參數(shù),Shark可以自動在內(nèi)存中緩存特定的RDD,實現(xiàn)數(shù)據(jù)重用,進而加快特定數(shù)據(jù)集的檢索。同時,Shark通過UDF用戶自定義函數(shù)實現(xiàn)特定的數(shù)據(jù)分析學(xué)習(xí)算法,使得SQL數(shù)據(jù)查詢和運算分析能結(jié)合在一起,最大化RDD的重復(fù)使用。[0007]HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術(shù)來源于Changetal所撰寫的Google論文“Bigtable:—個結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(FileSystem)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫。另一個不同的是HBase基于列的而不是基于行的模式。然而,現(xiàn)有混合型大數(shù)據(jù)處理系統(tǒng)中的交互分析引擎,還僅是針對單一的大數(shù)據(jù)系統(tǒng),無法實現(xiàn)跨系統(tǒng)的數(shù)據(jù)處理。例如,當(dāng)前Hive與HBase中的數(shù)據(jù)無法直接建立關(guān)聯(lián),通常的做法是將進行一次數(shù)據(jù)遷移,在Hive或HBase單一系統(tǒng)中進行,在大量數(shù)據(jù)情況下造成的數(shù)據(jù)冗余以及傳輸延遲都是不可容忍的。為了實現(xiàn)混合型大數(shù)據(jù)架構(gòu)中各類處理系統(tǒng)的真正融合,需要研究跨異構(gòu)系統(tǒng)間的數(shù)據(jù)交互分析方法,其中比較重要的一種就是關(guān)聯(lián)join分析。join又稱連接查詢,是關(guān)系數(shù)據(jù)庫中最主要的查詢,主要包括內(nèi)連接、外連接和交叉連接等;通過連接運算符可以實現(xiàn)多個表查詢。[0008]在基于MapReduce的Hive中,join大多采用Hashjoin(哈希連接)方式,Hashjoin方式需要將某個表廣播到所有處理節(jié)點進行全部緩存,因此僅適用于大表和小表的關(guān)聯(lián)情況,否則會因為傳輸?shù)臄?shù)據(jù)量太大影響性能,甚至造成處理節(jié)點內(nèi)存溢出?!?br/>發(fā)明內(nèi)容】[0009]本發(fā)明的技術(shù)任務(wù)是提供一種能夠減少數(shù)據(jù)傳輸量和緩存,通過分桶、coprocessr和mapjoin的方式,大大提高了跨Hive和HBase系統(tǒng)的關(guān)聯(lián)分析性能,能夠滿足行業(yè)大數(shù)據(jù)針對混合處理系統(tǒng)的交互分析業(yè)務(wù)應(yīng)用需求的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法。[0010]本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的:一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,混合型大數(shù)據(jù)處理系統(tǒng)是基于HBase數(shù)據(jù)庫及基于內(nèi)存計算引擎的Hive系統(tǒng)構(gòu)建,交互查詢sql語句由客戶端發(fā)出,包括針對Hive表和HBase表的join操作,采用bucketjoin(桶連接)方法進行數(shù)據(jù)交互,bucketjoin方法包括數(shù)據(jù)準備過程和運行時執(zhí)行過程;數(shù)據(jù)準備過程:建立Hive表并按關(guān)聯(lián)字段join_key分桶,按分桶導(dǎo)入數(shù)據(jù),顯式的設(shè)置參與分桶的reduce(簡化)數(shù)與分桶數(shù)η相同,按照hashCode=join_key%η將數(shù)據(jù)分別存入η個桶文件;建立hbase表并導(dǎo)入數(shù)據(jù),hbase的主鍵除了表的key外,為了便于做join,在key之前連接join_key的hashCode;運行時執(zhí)行過程:客戶端Driver解釋sql語句,編譯執(zhí)行計劃,在客戶端構(gòu)造內(nèi)存空間、線程池用于驅(qū)動執(zhí)行的運行時環(huán)境。[0011]利用HBasecoprocessor(HBase協(xié)處理器)引擎實現(xiàn)bucketjoin!Coprocessor是一個可構(gòu)建分布式服務(wù)編程模型,在HBaseMaster和Reg1nServer進程內(nèi)的運行時框架執(zhí)行用戶代碼,在HBase內(nèi)實現(xiàn)靈活、輕量級的分布式數(shù)據(jù)處理功能,并可以隨HBase自動擴展和負載均衡等!Coprocessor分為Observer(觀察者)和EndPoint(終端),Observer監(jiān)聽HBaseGet、Put、Delete、Scan數(shù)據(jù)操作,以及元數(shù)據(jù)和日志操作,實現(xiàn)類似數(shù)據(jù)庫驅(qū)動器的功能;EndPoint屬于遠過程調(diào)用RPC類型的Coprocessor,客戶端通過調(diào)用PRC接口按每個row或range的位置自動分片為多個并行的RPC調(diào)用,實現(xiàn)類似數(shù)據(jù)庫中存儲過程的功能。[0012]Reg1nServer是HBase集群運行在每個工作節(jié)點上的服務(wù)。它是整個HBase系統(tǒng)的關(guān)鍵所在,一方面它維護了Reg1n(域)的狀態(tài),提供了對于Reg1n的管理和服務(wù);另一方面,它與Master交互,上傳Reg1n的負載信息上傳,參與Master的分布式協(xié)調(diào)管理。[0013]在bucketjoin方法中,客戶端調(diào)用HBase的Endpoint類型coprocessorServerCachingProtocal(協(xié)處理器服務(wù)器緩存協(xié)議)進行數(shù)據(jù)緩存;在ServerCachingProtocal(服務(wù)器緩存協(xié)議)的實現(xiàn)中,每個Reg1n調(diào)用Hive驅(qū)動查詢分桶數(shù)據(jù),Hive引擎僅僅針對所需分桶執(zhí)行查詢操作,返回結(jié)果后,以HashMap形式緩存在內(nèi)存cache中,并通知客戶端。[0014]客戶端Driver調(diào)用設(shè)定scan的類型為bucketjoin,發(fā)出scan調(diào)用原語;每個Reg1n的Obesever型coprocessorreg1nseverScanObserver(協(xié)處理器地區(qū)切斷掃描觀察)攔截該join請求,調(diào)用MapJoinScanner;MapJoinScanner執(zhí)行Hashjoin算法;針對在本Reg1nSever上掃描結(jié)果result中的每個tuple,判斷是否在cache中存在相同join_key的數(shù)據(jù),如有,則進行join處理;各個Reg1nServer將join結(jié)果返回客戶端。[0015]本發(fā)明的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法具有以下優(yōu)點:通過對Hive數(shù)據(jù)和Hbase數(shù)據(jù)進行分桶,能夠大大減少參與數(shù)據(jù)傳輸、數(shù)據(jù)緩存和join過程的數(shù)據(jù)量,并且充分利用大數(shù)據(jù)系統(tǒng)的分布式架構(gòu)使所有節(jié)點的緩存過程同時并行執(zhí)行,減少處理延遲、避免緩存溢出。此外,通過在各節(jié)點緩存數(shù)據(jù),能夠加快join執(zhí)行效率。Bucketjoin方法適用于關(guān)聯(lián)字段規(guī)模大,重復(fù)較少,且不易分類的場景?!緦@綀D】【附圖說明】[0016]下面結(jié)合附圖對本發(fā)明進一步說明。[0017]附圖1為一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法的bucketjoin運行機制和處理過程。[0018]圖中虛線箭頭線表示指令流,粗連接線表示數(shù)據(jù)流,實線箭頭線表示指令數(shù)據(jù)流?!揪唧w實施方式】[0019]參照說明書附圖和具體實施例對本發(fā)明的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法作以下詳細地說明。[0020]實施例1:本發(fā)明的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,混合型大數(shù)據(jù)處理系統(tǒng)是基于HBase數(shù)據(jù)庫及基于內(nèi)存計算引擎的Hive系統(tǒng)構(gòu)建,交互查詢sql語句由客戶端發(fā)出,包括針對Hive表和HBase表的join操作,采用bucketjoin方法進行數(shù)據(jù)交互,bucketjoin方法包括數(shù)據(jù)準備過程和運行時執(zhí)行過程;數(shù)據(jù)準備過程:建立Hive表并按關(guān)聯(lián)字段join_key分桶,按分桶導(dǎo)入數(shù)據(jù),顯式的設(shè)置參與分桶的reduce數(shù)與分桶數(shù)η相同,按照hashCode=join_key%η將數(shù)據(jù)分別存入η個桶文件;建立hbase表并導(dǎo)入數(shù)據(jù),hbase的主鍵除了表的key外,為了便于做join,在key之前連接join_key的hashCode;運行時執(zhí)行過程:客戶端Driver解釋sql語句,編譯執(zhí)行計劃,在客戶端構(gòu)造內(nèi)存空間、線程池用于驅(qū)動執(zhí)行的運行時環(huán)境。[0021]利用HBasecoprocessor引擎實現(xiàn)bucketjoin!Coprocessor是一個可構(gòu)建分布式服務(wù)編程模型,在HBaseMaster和Reg1nServer進程內(nèi)的運行時框架執(zhí)行用戶代碼,在HBase內(nèi)實現(xiàn)靈活、輕量級的分布式數(shù)據(jù)處理功能,并可以隨HBase自動擴展和負載均衡等!Coprocessor分為Observer和EndPoint,Observer監(jiān)聽HBaseGet、Put、Delete、Scan數(shù)據(jù)操作,以及元數(shù)據(jù)和日志操作,實現(xiàn)類似數(shù)據(jù)庫驅(qū)動器的功能;EndPoint屬于遠過程調(diào)用RPC類型的Coprocessor,客戶端通過調(diào)用PRC接口按每個row或range的位置自動分片為多個并行的RPC調(diào)用,實現(xiàn)類似數(shù)據(jù)庫中存儲過程的功能。[0022]在bucketjoin方法中,客戶端調(diào)用HBase的Endpoint類型coprocessorServerCachingProtocal進行數(shù)據(jù)緩存;在ServerCachingProtocal的實現(xiàn)中,每個Reg1n調(diào)用Hive驅(qū)動查詢分桶數(shù)據(jù),Hive引擎僅僅針對所需分桶執(zhí)行查詢操作,返回結(jié)果后,以HashMap形式緩存在內(nèi)存cache中,并通知客戶端。[0023]客戶端Driver調(diào)用設(shè)定scan的類型為bucketjoin,發(fā)出scan調(diào)用原語;每個Reg1n的Obesever型coprocessorreg1nseverScanObserver攔截該joini青求,調(diào)用MapJoinScanner;MapJoinScanner執(zhí)行Hashjoin算法;針對在本Reg1nSever上掃描結(jié)果result中的每個tuple,判斷是否在cache中存在相同join_key的數(shù)據(jù),如有,貝Ij進行join處理;各個Reg1nServer將join結(jié)果返回客戶端。[0024]實施例2:本發(fā)明的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,混合型大數(shù)據(jù)處理系統(tǒng)是基于HBase數(shù)據(jù)庫及基于內(nèi)存計算引擎的Hive系統(tǒng)構(gòu)建,交互查詢sql語句由客戶端發(fā)出,包括針對Hive表和HBase表的join操作,采用bucketjoin方法進行數(shù)據(jù)交互,bucketjoin方法包括數(shù)據(jù)準備過程和運行時執(zhí)行過程;數(shù)據(jù)準備過程:建立Hive表并按關(guān)聯(lián)字段join_key分桶,按分桶導(dǎo)入數(shù)據(jù),顯式的設(shè)置參與分桶的reduce數(shù)與分桶數(shù)η相同,按照hashCode=join_key%η將數(shù)據(jù)分別存入η個桶文件;建立hbase表并導(dǎo)入數(shù)據(jù),hbase的主鍵除了表的key外,為了便于做join,在key之前連接join_key的hashCode;運行時執(zhí)行過程:客戶端Driver解釋sql語句,編譯執(zhí)行計劃,在客戶端構(gòu)造內(nèi)存空間、線程池用于驅(qū)動執(zhí)行的運行時環(huán)境。[0025]設(shè)有Hive系統(tǒng)的表hive_table,包括主鍵id,內(nèi)容字段value,HBase系統(tǒng)中表hbase_table,包括主鍵id,內(nèi)容字段value,鏈接字段join_key為id。對此執(zhí)行如下join查詢selectid,a.value,b.valuefromhive_tableasajoinhbase_tableasbona.1d=b.1d1.數(shù)據(jù)準備過程(I)建立Hive表并按id分桶。[0026]createtablehive_table(idint,valuestring)clusteredby(bucket)into3bucketsstoredasrcfile;按分桶導(dǎo)入數(shù)據(jù),顯式的設(shè)置參與分桶的reduce數(shù)與分桶數(shù)相同,按照hashC0de=id%3將數(shù)據(jù)分別存入三個桶文件。[0027]sethive,enforce.bucketing=true;setmapred.reduce.tasks=3;insertoverwritetablehive_tableselectid,valuefromdatasourcesdistributeby(id);最終hive—table表存儲按hash值組織為三個桶。[0028](2)建立hbase表并導(dǎo)入數(shù)據(jù)。[0029]create^hbase—table,,;cf,;hbase的主鍵除了表的id外,為了偏于做join,在id之前連接id的hashCode,即如某條數(shù)據(jù)的id為001,該條數(shù)據(jù)的主鍵為1—001;put^hbase—table’,’1—001’^cf:value^,’V,;2.Bucketjoin方法selectid,a.value,b.valuefromhive_tableasajoinhbase_tableasbona.1d=b.1dbucketjoin的運行機制和處理過程如圖1所示:(1)客戶端Driver解釋sql語句,編譯執(zhí)行計劃,在客戶端構(gòu)造內(nèi)存空間、線程池等用于驅(qū)動執(zhí)行的運行時環(huán)境;(2)客戶端調(diào)用ServerCachingProtocal進行數(shù)據(jù)緩存,在ServerCachingProtocal的實現(xiàn)中,每個reg1n調(diào)用hive驅(qū)動查詢分桶數(shù)據(jù),Hive引擎僅僅針對所需分桶執(zhí)行查詢操作,返回結(jié)果后,以HashMap形式緩存在內(nèi)存cache中,并通知客戶端ServerCachecache=hashClient.addHashCache(“Hive,,,,,selectid,a.valuefromhive_tableasawherehashCode=’2”,);(3)客戶端Driver調(diào)用設(shè)定scan的類型為join,發(fā)出scan調(diào)用原語;(4)每個Reg1n的reg1nseverScanObserver攔截請求,判斷為join,調(diào)用MapJoinScanner;(5)MapJoinScanner執(zhí)行Hashjoin算法。即針對在本Reg1n上掃描結(jié)果result中的每個tuple的主鍵的非hashCode部分,判斷是否在cache中存在相同key的數(shù)據(jù),如有,則進行join處理。[0030]for(TupletupleA:result)pk=getkey(tupleA).split(id=pk[l]tupleB=cache.get(id)!if(tupleB!=null)join(tupleA,tupleB)(6)各個Reg1nServer將join結(jié)果返回客戶端。[0031]上例bucketjoin方法與mapjoin方式相比,減少了數(shù)據(jù)傳輸量和參與join的數(shù)據(jù)量,避免了HBase端緩存溢出的可能性,處理性能提高1/3以上。[0032]通過上面【具體實施方式】,所述【
技術(shù)領(lǐng)域:
】的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述【具體實施方式】。在公開的實施方式的基礎(chǔ)上,所述【
技術(shù)領(lǐng)域:
】的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。【權(quán)利要求】1.一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,混合型大數(shù)據(jù)處理系統(tǒng)是基于HBase數(shù)據(jù)庫及基于內(nèi)存計算引擎的Hive系統(tǒng)構(gòu)建,交互查詢sql語句由客戶端發(fā)出,包括針對Hive表和HBase表的join操作,其特征在于采用bucketjoin方法進行數(shù)據(jù)交互,bucketjoin方法包括數(shù)據(jù)準備過程和運行時執(zhí)行過程;數(shù)據(jù)準備過程:建立Hive表并按關(guān)聯(lián)字段join_key分桶,按分桶導(dǎo)入數(shù)據(jù),顯式的設(shè)置參與分桶的reduce數(shù)與分桶數(shù)η相同,按照hashCode=join_key%η將數(shù)據(jù)分別存入η個桶文件;建立hbase表并導(dǎo)入數(shù)據(jù),hbase的主鍵除了表的key外,在key之前連接join_key的hashCode;運行時執(zhí)行過程:客戶端Driver解釋sql語句,編譯執(zhí)行計劃,在客戶端構(gòu)造內(nèi)存空間、線程池用于驅(qū)動執(zhí)行的運行時環(huán)境。2.根據(jù)權(quán)利要求1所述的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,其特征在于利用HBasecoprocessor引擎實現(xiàn)bucketjoin;Coprocessor分為Observer和EndPoint,Observer監(jiān)聽HBaseGet、Put、Delete、Scan數(shù)據(jù)操作,以及元數(shù)據(jù)和日志操作;EndPoint屬于遠過程調(diào)用RPC類型的Coprocessor,客戶端通過調(diào)用PRC接口按每個row或range的位置自動分片為多個并行的RPC調(diào)用。3.根據(jù)權(quán)利要求1所述的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,其特征在于在bucketjoin方法中,客戶端調(diào)用HBase的Endpoint類型coprocessorServerCachingProtocal進行數(shù)據(jù)緩存;在ServerCachingProtocal的實現(xiàn)中,每個Reg1n調(diào)用Hive驅(qū)動查詢分桶數(shù)據(jù),Hive引擎僅僅針對所需分桶執(zhí)行查詢操作,返回結(jié)果后,以HashMap形式緩存在內(nèi)存cache中,并通知客戶端。4.根據(jù)權(quán)利要求1所述的一種針對混合型大數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)交互分析方法,其特征在于客戶端Driver調(diào)用設(shè)定scan的類型為bucketjoin,發(fā)出scan調(diào)用原語;每個Reg1n的Obesever型coprocessorreg1nseverScanObserver攔截該joini青求,調(diào)用MapJoinScanner;MapJoinScanner執(zhí)行Hashjoin算法;針對在本Reg1nSever上掃描結(jié)果result中的每個tuple,判斷是否在cache中存在相同join_key的數(shù)據(jù),如有,貝Ij進行join處理;各個Reg1nServer將join結(jié)果返回客戶端?!疚臋n編號】G06F17/30GK104391957SQ201410710850【公開日】2015年3月4日申請日期:2014年12月1日優(yōu)先權(quán)日:2014年12月1日【發(fā)明者】亓開元,盧軍佐,楊勇,辛國茂申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司