數(shù)據(jù)傳輸?shù)姆椒ê脱b置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸?shù)姆椒ê脱b置。
【背景技術(shù)】
[0002]分布式數(shù)據(jù)存儲系統(tǒng)把數(shù)據(jù)存儲在不同的機(jī)器上,從而避免單機(jī)集中存儲帶來的瓶頸。在分布式存儲數(shù)據(jù)的過程中,通常會由于負(fù)載過重、存儲空間有限等原因?qū)⒁慌_機(jī)器上的部分?jǐn)?shù)據(jù)傳輸?shù)搅硗庖慌_機(jī)器上,進(jìn)行數(shù)據(jù)遷移。另外,為了保證數(shù)據(jù)的可靠性,也會將同一份數(shù)據(jù)同時(shí)保存在多個(gè)機(jī)器上,當(dāng)其中一份數(shù)據(jù)所在機(jī)器發(fā)生故障時(shí),可以用其他機(jī)器上的數(shù)據(jù)來進(jìn)行數(shù)據(jù)恢復(fù)。
[0003]目前,分布式數(shù)據(jù)存儲系統(tǒng)中數(shù)據(jù)的遷移和恢復(fù)是由運(yùn)維人員利用導(dǎo)出dump工具和導(dǎo)入load工具來手動完成的。例如,運(yùn)維人員在機(jī)器A上利用dump工具將待遷移或恢復(fù)的數(shù)據(jù)導(dǎo)出至文件,然后將該文件傳輸?shù)綑C(jī)器B上,再在機(jī)器B上利用load工具將該文件導(dǎo)入得到所述待遷移或恢復(fù)的數(shù)據(jù)。
[0004]但是,上述數(shù)據(jù)的遷移和恢復(fù)過程依賴于人工協(xié)助才能完成,當(dāng)對不同業(yè)務(wù)的數(shù)據(jù)或者不同存儲格式的數(shù)據(jù)進(jìn)行遷移或恢復(fù)時(shí),必須由人工在dump工具和load工具上執(zhí)行相應(yīng)的操作才能完成,操作繁瑣,效率較低,很難實(shí)現(xiàn)運(yùn)維的自動化。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)傳輸?shù)姆椒ê脱b置,以提高效率和易用性,實(shí)現(xiàn)運(yùn)維自動化。所述技術(shù)方案如下:
[0006]一方面,提供了一種數(shù)據(jù)傳輸?shù)姆椒?,所述方法包?
[0007]接收將業(yè)務(wù)數(shù)據(jù)從第一進(jìn)程傳輸至第二進(jìn)程的命令;
[0008]運(yùn)行所述業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從所述第一進(jìn)程導(dǎo)出所述業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù);
[0009]將所述臨時(shí)數(shù)據(jù)傳輸至所述第二進(jìn)程;
[0010]運(yùn)行所述業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在所述第二進(jìn)程中導(dǎo)入所述臨時(shí)數(shù)據(jù)得到所述業(yè)務(wù)數(shù)據(jù)。
[0011]另一方面,提供了一種數(shù)據(jù)傳輸?shù)难b置,所述裝置包括:
[0012]接收模塊,用于接收將業(yè)務(wù)數(shù)據(jù)從第一進(jìn)程傳輸至第二進(jìn)程的命令;
[0013]第一運(yùn)行模塊,用于運(yùn)行所述業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從所述第一進(jìn)程導(dǎo)出所述業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù);
[0014]傳輸模塊,用于將所述臨時(shí)數(shù)據(jù)傳輸至所述第二進(jìn)程;
[0015]第二運(yùn)行模塊,用于運(yùn)行所述業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在所述第二進(jìn)程中導(dǎo)入所述臨時(shí)數(shù)據(jù)得到所述業(yè)務(wù)數(shù)據(jù)。
[0016]本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:接收將業(yè)務(wù)數(shù)據(jù)從第一進(jìn)程傳輸至第二進(jìn)程的命令,運(yùn)行所述業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從所述第一進(jìn)程導(dǎo)出所述業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù),將所述臨時(shí)數(shù)據(jù)傳輸至所述第二進(jìn)程,運(yùn)行所述業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在所述第二進(jìn)程中導(dǎo)入所述臨時(shí)數(shù)據(jù)得到所述業(yè)務(wù)數(shù)據(jù),由于無需人工協(xié)助操作dump工具和load工具,根據(jù)命令自動完成導(dǎo)出、傳輸和導(dǎo)入,提高了數(shù)據(jù)傳輸?shù)男?,降低了操作的?fù)雜性,增強(qiáng)了易用性,實(shí)現(xiàn)了數(shù)據(jù)運(yùn)維的自動化,可以用于數(shù)據(jù)遷移和數(shù)據(jù)恢復(fù),能夠應(yīng)用于異構(gòu)分布式存儲系統(tǒng),應(yīng)用更廣泛。
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明一實(shí)施例提供的數(shù)據(jù)傳輸方法流程圖;
[0019]圖2是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)傳輸方法流程圖;
[0020]圖3是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)傳輸方法流程圖;
[0021]圖4是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)傳輸方法流程圖;
[0022]圖5是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)傳輸應(yīng)用示意圖;
[0023]圖6是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)傳輸裝置結(jié)構(gòu)圖;
[0024]圖7是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)傳輸裝置結(jié)構(gòu)圖;
[0025]圖8是本發(fā)明另一實(shí)施例提供的終端結(jié)構(gòu)圖;
[0026]圖9是本發(fā)明另一實(shí)施例提供的服務(wù)器結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0027]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0028]參見圖1,本發(fā)明一實(shí)施例提供了一種數(shù)據(jù)傳輸?shù)姆椒?,包?
[0029]101:接收將業(yè)務(wù)數(shù)據(jù)從第一進(jìn)程傳輸至第二進(jìn)程的命令。
[0030]本實(shí)施例提供的方法可以應(yīng)用于存儲設(shè)備上,該第一進(jìn)程和第二進(jìn)程可以為存儲設(shè)備中的任意進(jìn)程。所述業(yè)務(wù)也可以是任意類型的業(yè)務(wù),如存儲用戶的賬號和密碼信息,發(fā)布微博廣播消息,更改收聽的人的信息等等,本實(shí)施例對此不做具體限定。另外,該第一進(jìn)程和第二進(jìn)程可以位于一臺存儲設(shè)備內(nèi),或者也可以位于兩臺存儲設(shè)備內(nèi),本實(shí)施例對此不做具體限定。
[0031]102:運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從第一進(jìn)程導(dǎo)出該業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù)。
[0032]其中,該導(dǎo)出動態(tài)鏈接庫可以預(yù)先存儲在第一進(jìn)程所在的存儲設(shè)備上。該導(dǎo)出動態(tài)鏈接庫能夠?qū)崿F(xiàn)dump接口的功能,從而可以完成數(shù)據(jù)的導(dǎo)出。
[0033]103:將該臨時(shí)數(shù)據(jù)傳輸至第二進(jìn)程。
[0034]其中,在兩個(gè)進(jìn)程之間傳輸數(shù)據(jù)可以根據(jù)進(jìn)程之間的協(xié)議來傳輸,此處不做過多說明。具體地,該臨時(shí)數(shù)據(jù)可以存儲在內(nèi)存中并直接傳輸給第二進(jìn)程,或者也可以存儲為文件并將該文件傳輸給第二進(jìn)程,本實(shí)施例對此不做具體限定。
[0035]104:運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在第二進(jìn)程中導(dǎo)入該臨時(shí)數(shù)據(jù)得到該業(yè)務(wù)數(shù)據(jù)。
[0036]其中,該導(dǎo)入動態(tài)鏈接庫可以預(yù)先存儲在第二進(jìn)程所在的存儲設(shè)備上。該導(dǎo)入動態(tài)鏈接庫能夠?qū)崿F(xiàn)load接口的功能,從而可以完成數(shù)據(jù)的導(dǎo)入。
[0037]上述方法可以應(yīng)用于數(shù)據(jù)遷移,實(shí)現(xiàn)將所述數(shù)據(jù)從第一進(jìn)程遷移至第二進(jìn)程,或者也可以應(yīng)用于數(shù)據(jù)恢復(fù),如將用作備份的所述數(shù)據(jù)從第一進(jìn)程遷移至第二進(jìn)程,以便在第二進(jìn)程中恢復(fù)該數(shù)據(jù),本實(shí)施例對具體的應(yīng)用場景不做限定。
[0038]本實(shí)施例中,可選的,該方法還可以包括:
[0039]預(yù)先為每個(gè)業(yè)務(wù)分別生成導(dǎo)出動態(tài)鏈接庫和導(dǎo)入動態(tài)鏈接庫;
[0040]建立業(yè)務(wù)與所述導(dǎo)出動態(tài)鏈接庫和導(dǎo)入動態(tài)鏈接庫的對應(yīng)關(guān)系,該對應(yīng)關(guān)系中每一種業(yè)務(wù)分別對應(yīng)一個(gè)導(dǎo)出動態(tài)鏈接庫和一個(gè)導(dǎo)入動態(tài)鏈接庫。
[0041]其中,所述運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從該第一進(jìn)程導(dǎo)出該業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù),可以包括:
[0042]在該對應(yīng)關(guān)系中查找該業(yè)務(wù)數(shù)據(jù)所屬的業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫;
[0043]運(yùn)行該導(dǎo)出動態(tài)鏈接庫,從該第一進(jìn)程導(dǎo)出該業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù)。
[0044]其中,所述運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在該第二進(jìn)程中導(dǎo)入該臨時(shí)數(shù)據(jù)得到該業(yè)務(wù)數(shù)據(jù),可以包括:
[0045]在該對應(yīng)關(guān)系中查找該業(yè)務(wù)數(shù)據(jù)所屬的業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫;
[0046]運(yùn)行該導(dǎo)入動態(tài)鏈接庫,在該第二進(jìn)程中導(dǎo)入該臨時(shí)數(shù)據(jù)得到該業(yè)務(wù)數(shù)據(jù)。
[0047]本實(shí)施例中,可選的,運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從該第一進(jìn)程導(dǎo)出該業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù),可以包括:
[0048]確定該第一進(jìn)程存儲所述業(yè)務(wù)數(shù)據(jù)時(shí)使用的存儲格式;
[0049]運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,利用該導(dǎo)出動態(tài)鏈接庫內(nèi)與該存儲格式對應(yīng)的導(dǎo)出數(shù)據(jù)的接口,從該第一進(jìn)程導(dǎo)出該業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù)。
[0050]本實(shí)施例中,可選的,運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在該第二進(jìn)程中導(dǎo)入該臨時(shí)數(shù)據(jù)得到該業(yè)務(wù)數(shù)據(jù),可以包括:
[0051]確定該第二進(jìn)程存儲所述業(yè)務(wù)數(shù)據(jù)時(shí)使用的存儲格式;
[0052]運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,利用該導(dǎo)入動態(tài)鏈接庫內(nèi)與該存儲格式對應(yīng)的導(dǎo)入數(shù)據(jù)的接口,在該第二進(jìn)程中導(dǎo)入該臨時(shí)數(shù)據(jù)得到該業(yè)務(wù)數(shù)據(jù)。
[0053]本實(shí)施例中,進(jìn)一步地,上述方法還可以包括:
[0054]服務(wù)器接收用戶輸入的訂單,根據(jù)該訂單發(fā)送將業(yè)務(wù)數(shù)據(jù)從第一進(jìn)程傳輸至第二進(jìn)程的命令。
[0055]本實(shí)施例提供的上述方法可以應(yīng)用于存儲設(shè)備中。
[0056]本實(shí)施例提供的上述方法,接收將業(yè)務(wù)數(shù)據(jù)從第一進(jìn)程傳輸至第二進(jìn)程的命令,運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)出動態(tài)鏈接庫,從第一進(jìn)程導(dǎo)出該業(yè)務(wù)數(shù)據(jù)得到臨時(shí)數(shù)據(jù),將該臨時(shí)數(shù)據(jù)傳輸至第二進(jìn)程,運(yùn)行該業(yè)務(wù)對應(yīng)的導(dǎo)入動態(tài)鏈接庫,在第二進(jìn)程中導(dǎo)入該臨時(shí)數(shù)據(jù)得到該業(yè)務(wù)數(shù)據(jù),由于無需人工協(xié)助操作dump工具和load工具,根據(jù)命令自動完成導(dǎo)出、傳輸和導(dǎo)入,提高了數(shù)據(jù)傳輸?shù)男?,降低了操作的?fù)雜性,增強(qiáng)了易用性,避免了人工操作的不穩(wěn)定性,整個(gè)過程可監(jiān)控,實(shí)現(xiàn)了數(shù)據(jù)運(yùn)維的自動化,針對不同的存儲系統(tǒng)設(shè)計(jì)不同的動態(tài)鏈接庫,并在存儲設(shè)備上自動運(yùn)行,在與用戶接口的運(yùn)維層面上屏蔽了各個(gè)存儲系統(tǒng)的存儲差異,給運(yùn)維人員一個(gè)簡單一致的存儲概念,極大的減輕了運(yùn)維人員的理解負(fù)擔(dān)。上述方法可以用于數(shù)據(jù)遷移和數(shù)據(jù)恢復(fù),能夠應(yīng)用于異構(gòu)分布式存儲系統(tǒng),尤其是海量存儲系統(tǒng),能夠極大地提高數(shù)據(jù)存儲和傳輸?shù)男?,更易于維護(hù)和管理,應(yīng)用更廣泛。另外,開發(fā)人員只需要提供一個(gè)標(biāo)準(zhǔn)接口的動態(tài)鏈接庫文件,不需要改動線上的業(yè)務(wù)系統(tǒng),也不需要理解運(yùn)維操作和場景,非常好的分離了運(yùn)維和開發(fā)的職責(zé)。
[0057]參見圖2,本發(fā)明另一實(shí)施例提供了一種數(shù)據(jù)傳輸?shù)姆椒ǎ?
[0058]201:預(yù)先為每個(gè)業(yè)務(wù)分別生成導(dǎo)出動態(tài)鏈接庫和導(dǎo)入動態(tài)鏈接庫。
[0059]通常,不同的業(yè)務(wù)需要不同的dump接口和load接口來分別完成數(shù)據(jù)的導(dǎo)出和導(dǎo)入,因此,本實(shí)施例中,為每個(gè)業(yè)務(wù)都生成相應(yīng)的導(dǎo)出動態(tài)鏈接庫和導(dǎo)入動態(tài)鏈接庫。其中,涉及的業(yè)務(wù)的個(gè)數(shù)可以根據(jù)需要來設(shè)定,在業(yè)務(wù)類型和個(gè)數(shù)確定之后,就可以為每種業(yè)務(wù)都生成對應(yīng)的導(dǎo)出動態(tài)鏈接庫和導(dǎo)入動態(tài)鏈接庫。
[0060]202:建立業(yè)務(wù)與導(dǎo)出動態(tài)鏈接庫和導(dǎo)入動態(tài)鏈接庫的對應(yīng)關(guān)系,該對應(yīng)關(guān)系中每一種業(yè)務(wù)分別對應(yīng)一個(gè)導(dǎo)出動態(tài)鏈接庫和一個(gè)導(dǎo)入動態(tài)鏈接庫。
[0061]例如,在