分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法
【專利摘要】本發(fā)明提供一種分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法。所述分布式數(shù)據(jù)管理系統(tǒng)包括至少兩個(gè)數(shù)據(jù)源,所述方法包括:響應(yīng)于數(shù)據(jù)訪問(wèn)請(qǐng)求,獲取活動(dòng)數(shù)據(jù)源的信息,基于所述活動(dòng)數(shù)據(jù)源處理所述數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送所述數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果;響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一數(shù)據(jù)源,并且將所述另一數(shù)據(jù)源標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。本發(fā)明的分布式數(shù)據(jù)管理系統(tǒng)能夠在不影響用戶對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)訪問(wèn)的情況下,進(jìn)行較高頻率的數(shù)據(jù)更新,為用戶提供最新的數(shù)據(jù)信息,提高用戶的使用體驗(yàn)。
【專利說(shuō)明】
分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法。
【背景技術(shù)】
[0002]隨著信息技術(shù)的發(fā)展,通過(guò)分布式web服務(wù)獲取信息的用戶群體日益擴(kuò)大,用戶獲取信息的方式越來(lái)越多樣化,對(duì)所要獲取的信息的需求也越來(lái)越高,尤其是針對(duì)所獲取的信息實(shí)時(shí)性要求的提高最為顯著。為了滿足用戶針對(duì)獲取信息的實(shí)時(shí)性的要求,分布式數(shù)據(jù)系統(tǒng)需要及時(shí)地進(jìn)行更新數(shù)據(jù)、刪除數(shù)據(jù)等操作來(lái)完成系統(tǒng)的數(shù)據(jù)更新,進(jìn)而方便用戶在訪問(wèn)數(shù)據(jù)系統(tǒng)時(shí),可以查詢到最新的數(shù)據(jù)信息。
[0003]由于現(xiàn)有的數(shù)據(jù)系統(tǒng)進(jìn)行數(shù)據(jù)更新時(shí),是通過(guò)對(duì)接某個(gè)外界數(shù)據(jù)源獲取較大的數(shù)據(jù)量來(lái)完成的,導(dǎo)致在數(shù)據(jù)系統(tǒng)的更新功能模塊進(jìn)行數(shù)據(jù)更新時(shí),對(duì)數(shù)據(jù)影響面較大,甚至是要?jiǎng)h除原有數(shù)據(jù),寫(xiě)入新的數(shù)據(jù)。此時(shí)訪問(wèn)數(shù)據(jù)系統(tǒng),只能極為緩慢地讀取正在進(jìn)行更新的數(shù)據(jù),甚至無(wú)法進(jìn)行數(shù)據(jù)讀取,從而無(wú)法為用戶提供穩(wěn)定地訪問(wèn)服務(wù)。
[0004]針對(duì)這個(gè)問(wèn)題,現(xiàn)有的解決方案是通過(guò)降低數(shù)據(jù)的數(shù)據(jù)更新頻率或者容忍短暫無(wú)法訪問(wèn)服務(wù)的存在。例如,將數(shù)據(jù)系統(tǒng)的數(shù)據(jù)更新頻率設(shè)定為每天一次,并選擇在訪問(wèn)量最低的凌晨進(jìn)行數(shù)據(jù)更新,以降低數(shù)據(jù)更新引起訪問(wèn)故障的影響。但是,在這一天內(nèi)用戶訪問(wèn)的數(shù)據(jù)都是舊數(shù)據(jù),無(wú)法滿足用戶對(duì)新數(shù)據(jù)的要求。如果提高數(shù)據(jù)系統(tǒng)的數(shù)據(jù)更新頻率,則需要用戶容忍不穩(wěn)定的訪問(wèn)服務(wù),降低用戶的使用體驗(yàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法,以實(shí)現(xiàn)穩(wěn)定地為用戶提供數(shù)據(jù)訪問(wèn)服務(wù)。
[0006]為達(dá)到上述目的,本發(fā)明的實(shí)施例提供一種分布式數(shù)據(jù)管理系統(tǒng),所述系統(tǒng)包括業(yè)務(wù)請(qǐng)求處理裝置、至少兩個(gè)數(shù)據(jù)存儲(chǔ)裝置、協(xié)調(diào)管理裝置和數(shù)據(jù)更新操作裝置;所述協(xié)調(diào)管理裝置用于標(biāo)識(shí)當(dāng)前的活動(dòng)數(shù)據(jù)源,所述活動(dòng)數(shù)據(jù)源為所述至少兩個(gè)數(shù)據(jù)存儲(chǔ)裝置之一;所述業(yè)務(wù)請(qǐng)求處理裝置用于接收數(shù)據(jù)訪問(wèn)請(qǐng)求,從所述協(xié)調(diào)管理裝置獲取活動(dòng)數(shù)據(jù)源的信息,基于所述活動(dòng)數(shù)據(jù)源處理所述數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送所述數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果;所述數(shù)據(jù)更新操作裝置用于響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一個(gè)數(shù)據(jù)存儲(chǔ)裝置,并且通過(guò)所述協(xié)調(diào)管理裝置將所述另一個(gè)數(shù)據(jù)存儲(chǔ)裝置標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。
[0007]進(jìn)一步地,所述協(xié)調(diào)管理裝置具體用于記錄和更新當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí);所述業(yè)務(wù)請(qǐng)求處理裝置具體用于從所述協(xié)調(diào)管理裝置獲取所述當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0008]進(jìn)一步地,所述協(xié)調(diào)管理裝置包括zookeeper應(yīng)用程序協(xié)調(diào)服務(wù)。
[0009]進(jìn)一步地,所述數(shù)據(jù)訪問(wèn)請(qǐng)求包括用于讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、改寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)中的至少一個(gè)的請(qǐng)求。
[0010]為達(dá)到上述目的,本發(fā)明的實(shí)施例還提供一種分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法,所述分布式數(shù)據(jù)管理系統(tǒng)包括至少兩個(gè)數(shù)據(jù)源,所述方法包括:響應(yīng)于數(shù)據(jù)訪問(wèn)請(qǐng)求,獲取活動(dòng)數(shù)據(jù)源的信息,基于所述活動(dòng)數(shù)據(jù)源處理所述數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送所述數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果;響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一數(shù)據(jù)源,并且將所述另一數(shù)據(jù)源標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。
[0011 ]進(jìn)一步地,所述方法還包括:記錄當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí);所述獲取活動(dòng)數(shù)據(jù)源的信息的處理包括:獲取所述當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí);所述將所述另一數(shù)據(jù)標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源的處理包括:將當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)更新為所述另一數(shù)據(jù)源的標(biāo)識(shí)。
[0012]進(jìn)一步地,通過(guò)zookeeper應(yīng)用程序協(xié)調(diào)服務(wù)記錄和更新當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0013]進(jìn)一步地,所述數(shù)據(jù)訪問(wèn)請(qǐng)求包括用于讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、改寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)中的至少一個(gè)的請(qǐng)求。
[0014]本發(fā)明的實(shí)施例提供的分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法,根據(jù)系統(tǒng)的多個(gè)數(shù)據(jù)源中的活動(dòng)數(shù)據(jù)源的信息,基于活動(dòng)數(shù)據(jù)源來(lái)處理用戶訪問(wèn)請(qǐng)求;通過(guò)將新的批量數(shù)據(jù)導(dǎo)入非活動(dòng)數(shù)據(jù)源來(lái)完成系統(tǒng)的數(shù)據(jù)更新,并進(jìn)行活動(dòng)數(shù)據(jù)源的切換,可以用于交替進(jìn)行數(shù)據(jù)更新。該分布式數(shù)據(jù)管理系統(tǒng)的系統(tǒng)性能穩(wěn)定,可以進(jìn)行較高頻率的數(shù)據(jù)更新,為用戶提供最新的數(shù)據(jù)信息,提高用戶的使用體驗(yàn)。
【附圖說(shuō)明】
[0015]圖1是示出本發(fā)明示例性實(shí)施例一的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法的流程圖;
[0016]圖2是示出本發(fā)明示例性實(shí)施例二的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)請(qǐng)求處理方法的流程圖;
[0017]圖3是示出本發(fā)明示例性實(shí)施例二的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)更新方法的流程圖;
[0018]圖4是示出本發(fā)明示例性實(shí)施例三的分布式數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0019]本發(fā)明的基本構(gòu)思是提供一種分布式數(shù)據(jù)管理系統(tǒng)及其數(shù)據(jù)訪問(wèn)方法,通過(guò)獲取系統(tǒng)的多個(gè)數(shù)據(jù)源中的活動(dòng)數(shù)據(jù)源的信息,基于活動(dòng)數(shù)據(jù)源對(duì)用戶訪問(wèn)請(qǐng)求進(jìn)行處理;以及,將新的批量數(shù)據(jù)導(dǎo)入非活動(dòng)數(shù)據(jù)源來(lái)完成系統(tǒng)的數(shù)據(jù)更新,并進(jìn)行活動(dòng)數(shù)據(jù)源的切換。由此,可以利用活動(dòng)數(shù)據(jù)源和非活動(dòng)數(shù)據(jù)源交替進(jìn)行對(duì)數(shù)據(jù)訪問(wèn)請(qǐng)求的處理和系統(tǒng)的數(shù)據(jù)更新,進(jìn)而實(shí)現(xiàn)不影響用戶對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)訪問(wèn)時(shí)完成系統(tǒng)的數(shù)據(jù)更新,保證系統(tǒng)性能的穩(wěn)定性。
[0020]下面結(jié)合附圖詳細(xì)描述本發(fā)明的示例性實(shí)施例。
[0021 ] 實(shí)施例一
[0022]圖1是示出本發(fā)明示例性實(shí)施例一的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法的流程圖。可通過(guò)如圖3所示的分布式數(shù)據(jù)管理系統(tǒng)執(zhí)行實(shí)施例一的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法。
[0023]參照?qǐng)D1,在步驟S110,響應(yīng)于數(shù)據(jù)訪問(wèn)請(qǐng)求,獲取活動(dòng)數(shù)據(jù)源的信息,基于活動(dòng)數(shù)據(jù)源處理數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果。
[0024]本實(shí)施例中,分布式數(shù)據(jù)管理系統(tǒng)包括用于存儲(chǔ)數(shù)據(jù)的至少兩個(gè)數(shù)據(jù)源。該至少兩個(gè)數(shù)據(jù)源相對(duì)獨(dú)立,且只有一個(gè)作為活動(dòng)數(shù)據(jù)源。業(yè)務(wù)服務(wù)器基于活動(dòng)數(shù)據(jù)源存儲(chǔ)的數(shù)據(jù)來(lái)響應(yīng)用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,例如查詢影院的影片播放訊息等??赏ㄟ^(guò)后臺(tái)服務(wù)或管理程序?qū)Ψ腔顒?dòng)數(shù)據(jù)源進(jìn)行管理和操作。這些數(shù)據(jù)源彼此之間相互不影響,使活動(dòng)數(shù)據(jù)源可以快捷且穩(wěn)定地針對(duì)數(shù)據(jù)量較小的數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行處理,有效地保證系統(tǒng)性能的穩(wěn)定性。
[0025]該分布式數(shù)據(jù)管理系統(tǒng)在接收到用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求之后,獲取活動(dòng)數(shù)據(jù)源的信息。其中,活動(dòng)數(shù)據(jù)源的信息可以包括數(shù)據(jù)源為活動(dòng)數(shù)據(jù)源或非活動(dòng)數(shù)據(jù)源的信息,數(shù)據(jù)源編號(hào)的信息等具體信息。分布式數(shù)據(jù)管理系統(tǒng)中負(fù)責(zé)處理該數(shù)據(jù)訪問(wèn)請(qǐng)求的業(yè)務(wù)請(qǐng)求處理裝置可以直接讀取活動(dòng)數(shù)據(jù)源的信息,進(jìn)而可以確定當(dāng)前的活動(dòng)數(shù)據(jù)源。
[0026]在獲取到當(dāng)前的活動(dòng)數(shù)據(jù)源的信息之后,基于該數(shù)據(jù)源針對(duì)用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,進(jìn)行數(shù)據(jù)的讀取或操作等處理,并將處理結(jié)果發(fā)送給發(fā)出數(shù)據(jù)訪問(wèn)請(qǐng)求的對(duì)象,使用戶完成數(shù)據(jù)的讀取或操作等請(qǐng)求。由于當(dāng)前的活動(dòng)數(shù)據(jù)源只用于處理數(shù)據(jù)訪問(wèn)請(qǐng)求,數(shù)據(jù)處理量較小,且不受其它非活動(dòng)數(shù)據(jù)源的影響,所以活動(dòng)數(shù)據(jù)源可以快捷地處理用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,不需要用戶較長(zhǎng)時(shí)間的等待處理結(jié)果,提高用戶的使用體驗(yàn)。
[0027]在步驟S120,響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一數(shù)據(jù)源,并且將另一數(shù)據(jù)源標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。
[0028]由于系統(tǒng)的數(shù)據(jù)更新需要導(dǎo)入大量的新數(shù)據(jù),存儲(chǔ)新數(shù)據(jù)的數(shù)據(jù)源需要完成新數(shù)據(jù)的寫(xiě)入、原有數(shù)據(jù)的刪除等大量的數(shù)據(jù)處理,此時(shí),若基于該數(shù)據(jù)源處理用戶的訪問(wèn)請(qǐng)求,則只能進(jìn)行較為緩慢的處理,甚至無(wú)法正常處理。因此,選擇非活動(dòng)數(shù)據(jù)源進(jìn)行新的批量數(shù)據(jù)的導(dǎo)入,避免影響活動(dòng)數(shù)據(jù)源處理數(shù)據(jù)訪問(wèn)請(qǐng)求的效率。
[0029]具體地,在系統(tǒng)接收到數(shù)據(jù)源更新指令之后,從多個(gè)數(shù)據(jù)源選擇未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的一個(gè)非活動(dòng)數(shù)據(jù)源來(lái)導(dǎo)入新的批量數(shù)據(jù)。當(dāng)在該非活動(dòng)數(shù)據(jù)源中完成新數(shù)據(jù)的存儲(chǔ)(或者非活動(dòng)數(shù)據(jù)源還需要完成原有數(shù)據(jù)的刪除)之后,可以將該非活動(dòng)數(shù)據(jù)源標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。當(dāng)前的新活動(dòng)數(shù)據(jù)源具有新數(shù)據(jù),可以為用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求提供新的數(shù)據(jù)信息,基于新的數(shù)據(jù)信息來(lái)處理用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,滿足用戶對(duì)獲取的數(shù)據(jù)信息的實(shí)時(shí)性要求。
[0030]同時(shí),系統(tǒng)將原活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)標(biāo)注為非活動(dòng)數(shù)據(jù)源。在預(yù)定的時(shí)間之后,當(dāng)系統(tǒng)再次接收到數(shù)據(jù)源更新指令時(shí),可以基于該非活動(dòng)數(shù)據(jù)源進(jìn)行系統(tǒng)的數(shù)據(jù)更新。由此,系統(tǒng)通過(guò)活動(dòng)數(shù)據(jù)源的切換用于交替完成系統(tǒng)內(nèi)部的數(shù)據(jù)更新以及對(duì)數(shù)據(jù)訪問(wèn)請(qǐng)求的處理。由于活動(dòng)數(shù)據(jù)源的切換僅涉及活動(dòng)數(shù)據(jù)源的標(biāo)注修改,操作快捷,既不影響系統(tǒng)穩(wěn)定性,保證用戶可以快捷地進(jìn)行數(shù)據(jù)訪問(wèn);又可以進(jìn)行較高頻率地進(jìn)行大量數(shù)據(jù)的更新,使用戶訪問(wèn)最新的數(shù)據(jù)。
[0031]本發(fā)明的實(shí)施例提供的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法,利用當(dāng)前的活動(dòng)數(shù)據(jù)源處理用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,利用非活動(dòng)數(shù)據(jù)源存儲(chǔ)新數(shù)據(jù)來(lái)進(jìn)行系統(tǒng)內(nèi)部的數(shù)據(jù)更新,通過(guò)切換活動(dòng)數(shù)據(jù)源和非活動(dòng)數(shù)據(jù)源交替進(jìn)行對(duì)數(shù)據(jù)訪問(wèn)請(qǐng)求的處理和系統(tǒng)的數(shù)據(jù)更新,保證系統(tǒng)性能的穩(wěn)定性,并使系統(tǒng)可以進(jìn)行大量數(shù)據(jù)的更新來(lái)為用戶提供最新的訪問(wèn)數(shù)據(jù)。
[0032]實(shí)施例二
[0033]圖2和圖3分別示出本發(fā)明實(shí)施例二的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)請(qǐng)求處理方法和數(shù)據(jù)更新方法,相當(dāng)于圖1所示實(shí)施例一的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法的一種具體實(shí)現(xiàn)方式,相關(guān)內(nèi)容可參見(jiàn)實(shí)施例一的相關(guān)內(nèi)容。
[0034]參照?qǐng)D2,在步驟S210,獲取活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0035]獲取活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)相當(dāng)于前述步驟SllO中獲取活動(dòng)數(shù)據(jù)源的信息,用于確定系統(tǒng)的多個(gè)活動(dòng)數(shù)據(jù)源中的活動(dòng)數(shù)據(jù)源和非活動(dòng)數(shù)據(jù)源。為了方便執(zhí)行步驟S210,需要記錄系統(tǒng)當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0036]在步驟S220,判斷活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)是否存在。
[0037]若獲取到活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),則上述判斷為否,執(zhí)行步驟S230。
[0038]在步驟S230,設(shè)置活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0039]在系統(tǒng)首次啟動(dòng)時(shí),系統(tǒng)的多個(gè)數(shù)據(jù)源需要設(shè)定活動(dòng)數(shù)據(jù)源,可以任選一個(gè)數(shù)據(jù)源存儲(chǔ)外部數(shù)據(jù)作為活動(dòng)數(shù)據(jù)源,并將活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)設(shè)置為該數(shù)據(jù)源的標(biāo)識(shí)信息。
[0040]若未獲取到活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),則上述判斷為是,執(zhí)行步驟S240。
[0041 ]在步驟S240,基于活動(dòng)數(shù)據(jù)源處理數(shù)據(jù)訪問(wèn)請(qǐng)求。
[0042]本實(shí)施例中,通過(guò)執(zhí)行步驟S210可以獲取活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),以及通過(guò)步驟S230可以確定活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),均可以確定系統(tǒng)多個(gè)數(shù)據(jù)源中的活動(dòng)數(shù)據(jù)源。此時(shí),基于此活動(dòng)數(shù)據(jù)源來(lái)處理用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,使用戶穩(wěn)定快捷地進(jìn)行數(shù)據(jù)訪問(wèn)。
[0043]參照?qǐng)D3,在步驟S310,獲取活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0044]在步驟S320,判斷活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)是否存在。
[0045]在步驟S330,設(shè)置活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。步驟S310、步驟S320和步驟S330分別與前述步驟S210、步驟S220和步驟S230的內(nèi)容相同,可參見(jiàn)步驟S210、步驟S220和步驟S230的相應(yīng)內(nèi)容。
[0046]在步驟S340,設(shè)置非活動(dòng)數(shù)據(jù)源為導(dǎo)入數(shù)據(jù)源。
[0047]本實(shí)施例中,通過(guò)執(zhí)行步驟S310可以獲取活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),以及通過(guò)步驟S330可以確定活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),均可以確定系統(tǒng)多個(gè)數(shù)據(jù)源中的活動(dòng)數(shù)據(jù)源。此時(shí),基于多個(gè)數(shù)據(jù)源中活動(dòng)數(shù)據(jù)源之外的任一個(gè)非活動(dòng)數(shù)據(jù)源可以進(jìn)行系統(tǒng)內(nèi)部的數(shù)據(jù)更新。在確定了進(jìn)行數(shù)據(jù)更新的非活動(dòng)數(shù)據(jù)源之后,將該非活動(dòng)數(shù)據(jù)設(shè)置為導(dǎo)入數(shù)據(jù)源,用于導(dǎo)入系統(tǒng)外部數(shù)據(jù)來(lái)完成數(shù)據(jù)更新。
[0048]在步驟S350,導(dǎo)入新數(shù)據(jù)。
[0049]在向?qū)霐?shù)據(jù)源導(dǎo)入新數(shù)據(jù)時(shí),可以直接由系統(tǒng)外部導(dǎo)入新數(shù)據(jù)。由于實(shí)施例的分布式數(shù)據(jù)管理系統(tǒng)的多個(gè)數(shù)據(jù)源交替進(jìn)行數(shù)據(jù)更新,多個(gè)數(shù)據(jù)源進(jìn)行數(shù)據(jù)更新的次數(shù)不同,則多個(gè)數(shù)據(jù)源包含的數(shù)據(jù)量不同。若導(dǎo)入數(shù)據(jù)源中包含的數(shù)據(jù)量不足以為用戶提供數(shù)據(jù)訪問(wèn),則會(huì)造成用戶數(shù)據(jù)訪問(wèn)請(qǐng)求無(wú)法得到處理。對(duì)于這種問(wèn)題,可以通過(guò)將導(dǎo)入數(shù)據(jù)源本身的兩次數(shù)據(jù)更新之間導(dǎo)入系統(tǒng)的外部數(shù)據(jù)全部存儲(chǔ)到導(dǎo)入數(shù)據(jù)源,以使導(dǎo)入數(shù)據(jù)源內(nèi)部的數(shù)據(jù)量足夠處理用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求。
[0050]在步驟S360,更新活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0051 ]在導(dǎo)入數(shù)據(jù)源完成新數(shù)據(jù)的存儲(chǔ)之后,即可將該導(dǎo)入數(shù)據(jù)源設(shè)置為當(dāng)前活動(dòng)的數(shù)據(jù)源,用于處理用戶的數(shù)據(jù)訪問(wèn)請(qǐng)求,使用戶訪問(wèn)最新數(shù)據(jù),并基于最新數(shù)據(jù)進(jìn)行讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、改寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)等操作。
[0052]同時(shí),更新活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),以便系統(tǒng)再次進(jìn)行數(shù)據(jù)更新時(shí),將系統(tǒng)外部的新數(shù)據(jù)導(dǎo)入其它非活動(dòng)數(shù)據(jù)源,進(jìn)而實(shí)現(xiàn)由多個(gè)數(shù)據(jù)源交替更新數(shù)據(jù)來(lái)完成系統(tǒng)內(nèi)部的數(shù)據(jù)更新。具體地,可以通過(guò)zookeeper應(yīng)用程序協(xié)調(diào)服務(wù)來(lái)記錄和更新當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0053]本發(fā)明實(shí)施例的分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法,在圖1所示實(shí)施例的基礎(chǔ)上,進(jìn)一步示出了對(duì)數(shù)據(jù)訪問(wèn)請(qǐng)求的處理方法和系統(tǒng)的數(shù)據(jù)更新方法,使得系統(tǒng)可以穩(wěn)定地為用戶提供數(shù)據(jù)訪問(wèn)請(qǐng)求,并同時(shí)可以進(jìn)行數(shù)據(jù)更新,使用戶訪問(wèn)最新數(shù)據(jù)。
[0054]實(shí)施例三
[0055]圖4是示出本發(fā)明示例性實(shí)施例三的分布式數(shù)據(jù)管理系統(tǒng)的結(jié)構(gòu)框圖,該系統(tǒng)可用于執(zhí)行前述實(shí)施例一或?qū)嵤├姆植际綌?shù)據(jù)管理系統(tǒng)的訪問(wèn)方法。
[0056]參照?qǐng)D4,該系統(tǒng)包括至少兩個(gè)數(shù)據(jù)存儲(chǔ)裝置(圖4中為兩個(gè),第一數(shù)據(jù)存儲(chǔ)裝置421和第二數(shù)據(jù)存儲(chǔ)裝置422)、業(yè)務(wù)請(qǐng)求處理裝置430、協(xié)調(diào)管理裝置440和數(shù)據(jù)更新操作裝置 410。
[0057]其中,協(xié)調(diào)管理裝置440用于標(biāo)識(shí)當(dāng)前的活動(dòng)數(shù)據(jù)源,活動(dòng)數(shù)據(jù)源為至少兩個(gè)數(shù)據(jù)存儲(chǔ)裝置之一;業(yè)務(wù)請(qǐng)求處理裝置430用于接收數(shù)據(jù)訪問(wèn)請(qǐng)求,從協(xié)調(diào)管理裝置440獲取活動(dòng)數(shù)據(jù)源的信息,基于活動(dòng)數(shù)據(jù)源處理數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果;數(shù)據(jù)更新操作裝置410用于響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一個(gè)數(shù)據(jù)存儲(chǔ)裝置,并且通過(guò)協(xié)調(diào)管理裝置440將另一個(gè)數(shù)據(jù)存儲(chǔ)裝置標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。
[0058]本實(shí)施例中,兩個(gè)數(shù)據(jù)存儲(chǔ)裝置作為活動(dòng)數(shù)據(jù)源和非活動(dòng)數(shù)據(jù)源,來(lái)存儲(chǔ)系統(tǒng)內(nèi)部的數(shù)據(jù)以及向用戶提供數(shù)據(jù)訪問(wèn)服務(wù)。協(xié)調(diào)管理裝置440利用來(lái)標(biāo)識(shí)活動(dòng)數(shù)據(jù)源,使得業(yè)務(wù)請(qǐng)求處理裝置430可以根據(jù)活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)確定活動(dòng)數(shù)據(jù)源,進(jìn)而基于活動(dòng)數(shù)據(jù)源處理用戶數(shù)據(jù)訪問(wèn)請(qǐng)求,使用戶可以快捷地進(jìn)行數(shù)據(jù)訪問(wèn)。數(shù)據(jù)更像操作裝置410從根據(jù)協(xié)調(diào)管理裝置440獲取活動(dòng)數(shù)據(jù)源的信息,確定非活動(dòng)數(shù)據(jù)源,將新的批量數(shù)據(jù)導(dǎo)入該非活動(dòng)數(shù)據(jù)源完成系統(tǒng)內(nèi)部的數(shù)據(jù)更新,保證系統(tǒng)性能的穩(wěn)定性。在系統(tǒng)完成數(shù)據(jù)更新時(shí),通過(guò)協(xié)調(diào)管理裝置440更新活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),以方便系統(tǒng)再次進(jìn)行系統(tǒng)數(shù)據(jù)更新。
[0059]進(jìn)一步地,協(xié)調(diào)管理裝置440具體用于記錄和更新當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí);業(yè)務(wù)請(qǐng)求處理裝置430具體用于從協(xié)調(diào)管理裝置440獲取當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。
[0060]進(jìn)一步地,協(xié)調(diào)管理裝置440包括zookeeper應(yīng)用程序協(xié)調(diào)服務(wù)。
[0061]進(jìn)一步地,數(shù)據(jù)訪問(wèn)請(qǐng)求包括用于讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、改寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)中的至少一個(gè)的請(qǐng)求。
[0062]本發(fā)明實(shí)施例的分布式數(shù)據(jù)管理系統(tǒng),利用兩個(gè)數(shù)據(jù)存儲(chǔ)裝置作為數(shù)據(jù)源,交替存儲(chǔ)新數(shù)據(jù)來(lái)保證系統(tǒng)穩(wěn)定地進(jìn)行數(shù)據(jù)更新;以及利用活動(dòng)數(shù)據(jù)源來(lái)執(zhí)行對(duì)數(shù)據(jù)訪問(wèn)請(qǐng)求的處理,使得用戶可以快捷地進(jìn)行數(shù)據(jù)訪問(wèn),提高用戶的使用體驗(yàn)。
[0063]實(shí)施例四
[0064]本實(shí)施例為利用圖4所示的分布式數(shù)據(jù)管理系統(tǒng)作為電影票數(shù)據(jù)庫(kù),來(lái)進(jìn)行電影票商場(chǎng)的電影票售賣(mài)項(xiàng)目的具體操作方式,用于在電影票基礎(chǔ)數(shù)據(jù)的高頻次更新的同時(shí),利用系統(tǒng)性能的穩(wěn)定性來(lái)保證電影票數(shù)據(jù)的快捷查詢。
[0065]具體地,將原始電影片數(shù)據(jù)導(dǎo)入電影票數(shù)據(jù)庫(kù)(分布式數(shù)據(jù)管理系統(tǒng)),并存儲(chǔ)到第一數(shù)據(jù)存儲(chǔ)裝置421,此時(shí),協(xié)調(diào)管理裝置440將第一數(shù)據(jù)存儲(chǔ)裝置421標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源,用于向前臺(tái)電影票服務(wù)系統(tǒng)提供電影票數(shù)據(jù)的查詢服務(wù);第二數(shù)據(jù)存儲(chǔ)裝置422為非活動(dòng)數(shù)據(jù)源。
[0066]到達(dá)預(yù)設(shè)的更新時(shí)間時(shí),電影票數(shù)據(jù)庫(kù)進(jìn)行電影票數(shù)據(jù)更新,從協(xié)調(diào)管理裝置440直接讀取活動(dòng)數(shù)據(jù)源的標(biāo)識(shí),將第一數(shù)據(jù)存儲(chǔ)裝置421確定為活動(dòng)數(shù)據(jù)源。數(shù)據(jù)更新操作裝置410將最新的電影票數(shù)據(jù)存儲(chǔ)到第二數(shù)據(jù)存儲(chǔ)裝置422,并由協(xié)調(diào)管理裝置440將第二數(shù)據(jù)存儲(chǔ)裝置422標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源,用于向前臺(tái)電影票服務(wù)系統(tǒng)提供最新的電影票數(shù)據(jù)的查詢服務(wù);同時(shí),協(xié)調(diào)管理裝置440將第一數(shù)據(jù)存儲(chǔ)裝置421標(biāo)識(shí)為非活動(dòng)數(shù)據(jù)源,用于在電影票數(shù)據(jù)庫(kù)再次更新時(shí)存儲(chǔ)最新的電影票數(shù)據(jù)。
[0067]由此,第一數(shù)據(jù)存儲(chǔ)裝置421和第二數(shù)據(jù)存儲(chǔ)裝置422交替存儲(chǔ)最新電影票數(shù)據(jù),完成電影票數(shù)據(jù)的高頻次更新,并且保證電影票數(shù)據(jù)庫(kù)穩(wěn)定性。電影票數(shù)據(jù)庫(kù)不斷進(jìn)行穩(wěn)定更新,使前臺(tái)電影票服務(wù)系統(tǒng)可以查詢到最新的電影票數(shù)據(jù),使售票項(xiàng)目穩(wěn)定進(jìn)行。
[0068]需要指出,根據(jù)實(shí)施的需要,可將本申請(qǐng)中描述的各個(gè)部件/步驟拆分為更多部件/步驟,也可將兩個(gè)或多個(gè)部件/步驟或者部件/步驟的部分操作組合成新的部件/步驟,以實(shí)現(xiàn)本發(fā)明的目的。
[0069]上述根據(jù)本發(fā)明的方法可在硬件、固件中實(shí)現(xiàn),或者被實(shí)現(xiàn)為可存儲(chǔ)在記錄介質(zhì)(諸如CD R0M、RAM、軟盤(pán)、硬盤(pán)或磁光盤(pán))中的軟件或計(jì)算機(jī)代碼,或者被實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)下載的原始存儲(chǔ)在遠(yuǎn)程記錄介質(zhì)或非暫時(shí)機(jī)器可讀介質(zhì)中并將被存儲(chǔ)在本地記錄介質(zhì)中的計(jì)算機(jī)代碼,從而在此描述的方法可被存儲(chǔ)在使用通用計(jì)算機(jī)、專用處理器或者可編程或?qū)S糜布?諸如ASIC或FPGA)的記錄介質(zhì)上的這樣的軟件處理??梢岳斫?,計(jì)算機(jī)、處理器、微處理器控制器或可編程硬件包括可存儲(chǔ)或接收軟件或計(jì)算機(jī)代碼的存儲(chǔ)組件(例如,RAM、ROM、閃存等),當(dāng)所述軟件或計(jì)算機(jī)代碼被計(jì)算機(jī)、處理器或硬件訪問(wèn)且執(zhí)行時(shí),實(shí)現(xiàn)在此描述的處理方法。此外,當(dāng)通用計(jì)算機(jī)訪問(wèn)用于實(shí)現(xiàn)在此示出的處理的代碼時(shí),代碼的執(zhí)行將通用計(jì)算機(jī)轉(zhuǎn)換為用于執(zhí)行在此示出的處理的專用計(jì)算機(jī)。
[0070]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種分布式數(shù)據(jù)管理系統(tǒng),其特征在于,所述系統(tǒng)包括業(yè)務(wù)請(qǐng)求處理裝置、至少兩個(gè)數(shù)據(jù)存儲(chǔ)裝置、協(xié)調(diào)管理裝置和數(shù)據(jù)更新操作裝置; 所述協(xié)調(diào)管理裝置用于標(biāo)識(shí)當(dāng)前的活動(dòng)數(shù)據(jù)源,所述活動(dòng)數(shù)據(jù)源為所述至少兩個(gè)數(shù)據(jù)存儲(chǔ)裝置之一; 所述業(yè)務(wù)請(qǐng)求處理裝置用于接收數(shù)據(jù)訪問(wèn)請(qǐng)求,從所述協(xié)調(diào)管理裝置獲取活動(dòng)數(shù)據(jù)源的信息,基于所述活動(dòng)數(shù)據(jù)源處理所述數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送所述數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果; 所述數(shù)據(jù)更新操作裝置用于響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一個(gè)數(shù)據(jù)存儲(chǔ)裝置,并且通過(guò)所述協(xié)調(diào)管理裝置將所述另一個(gè)數(shù)據(jù)存儲(chǔ)裝置標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述協(xié)調(diào)管理裝置具體用于記錄和更新當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí); 所述業(yè)務(wù)請(qǐng)求處理裝置具體用于從所述協(xié)調(diào)管理裝置獲取所述當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)O3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述協(xié)調(diào)管理裝置包括zookeeper應(yīng)用程序協(xié)調(diào)服務(wù)。4.根據(jù)權(quán)利要求1?3中任一項(xiàng)所述的系統(tǒng),其特征在于,所述數(shù)據(jù)訪問(wèn)請(qǐng)求包括用于讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、改寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)中的至少一個(gè)的請(qǐng)求。5.—種分布式數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)訪問(wèn)方法,所述分布式數(shù)據(jù)管理系統(tǒng)包括至少兩個(gè)數(shù)據(jù)源,其特征在于,所述方法包括: 響應(yīng)于數(shù)據(jù)訪問(wèn)請(qǐng)求,獲取活動(dòng)數(shù)據(jù)源的信息,基于所述活動(dòng)數(shù)據(jù)源處理所述數(shù)據(jù)訪問(wèn)請(qǐng)求,并且發(fā)送所述數(shù)據(jù)訪問(wèn)請(qǐng)求的處理結(jié)果; 響應(yīng)于數(shù)據(jù)源更新指令,將新的批量數(shù)據(jù)導(dǎo)入當(dāng)前未被標(biāo)識(shí)為活動(dòng)數(shù)據(jù)源的另一數(shù)據(jù)源,并且將所述另一數(shù)據(jù)源標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:記錄當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí); 所述獲取活動(dòng)數(shù)據(jù)源的信息的處理包括:獲取所述當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí); 所述將所述另一數(shù)據(jù)標(biāo)識(shí)為當(dāng)前的活動(dòng)數(shù)據(jù)源的處理包括:將當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)更新為所述另一數(shù)據(jù)源的標(biāo)識(shí)。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,通過(guò)zookeeper應(yīng)用程序協(xié)調(diào)服務(wù)記錄和更新當(dāng)前的活動(dòng)數(shù)據(jù)源的標(biāo)識(shí)。8.根據(jù)權(quán)利要求5?7中任一項(xiàng)所述的方法,其特征在于,所述數(shù)據(jù)訪問(wèn)請(qǐng)求包括用于讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、改寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)中的至少一個(gè)的請(qǐng)求。
【文檔編號(hào)】G06F17/30GK105893528SQ201610195136
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月30日
【發(fā)明人】王浩波
【申請(qǐng)人】樂(lè)視控股(北京)有限公司, 樂(lè)視電子商務(wù)(北京)有限公司