本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地,涉及一種數(shù)據(jù)存取方法及系統(tǒng)。
背景技術(shù):
在實(shí)際應(yīng)用中,經(jīng)常遇到需要將業(yè)務(wù)模型數(shù)據(jù)持久化到數(shù)據(jù)庫(kù)中的場(chǎng)景。通常的做法是根據(jù)業(yè)務(wù)需求對(duì)每個(gè)業(yè)務(wù)模型設(shè)計(jì)單獨(dú)的數(shù)據(jù)庫(kù)表結(jié)構(gòu)進(jìn)行存儲(chǔ)。這樣面臨的問題是,每增加一個(gè)業(yè)務(wù)模型就需要設(shè)計(jì)一套相關(guān)的表結(jié)構(gòu)用于存儲(chǔ)業(yè)務(wù)模型數(shù)據(jù),同時(shí)需要自下而上開發(fā)數(shù)據(jù)存取程序來完成該業(yè)務(wù)模型數(shù)據(jù)的存取,由此產(chǎn)生的工作量是巨大的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種數(shù)據(jù)存取方法及系統(tǒng),以解決現(xiàn)有技術(shù)中的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種數(shù)據(jù)存取方法,其中,該方法包括:創(chuàng)建數(shù)據(jù)庫(kù)模型結(jié)構(gòu),所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)至少包括預(yù)定數(shù)量的多種模型交集的多種類型的字段;基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù)據(jù)模型對(duì)應(yīng)的字段映射配置文件;以及基于所述字段映射配置文件將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。
本發(fā)明還提供了一種數(shù)據(jù)存取系統(tǒng),其中,該系統(tǒng)包括:模型創(chuàng)建單元,用于創(chuàng)建數(shù)據(jù)庫(kù)模型結(jié)構(gòu),所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)至少包括預(yù)定數(shù)量的多種模型交集的多種類型的字段;模型創(chuàng)建及配置單元,用于基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù) 據(jù)模型對(duì)應(yīng)的字段映射配置文件;以及導(dǎo)入單元,基于所述字段映射配置文件將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。
通過上述技術(shù)方案,當(dāng)由于業(yè)務(wù)需求變化需要增加新的數(shù)據(jù)模型時(shí),可以基于多種模型交集的多種類型的字段創(chuàng)建數(shù)據(jù)庫(kù)模型結(jié)構(gòu),然后基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù)據(jù)模型對(duì)應(yīng)的字段映射配置文件,從而可以將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。由此,無需對(duì)現(xiàn)有的代碼進(jìn)行修改或者增加就可以實(shí)現(xiàn)多種數(shù)據(jù)模型的存儲(chǔ),相應(yīng)地降低了開發(fā)成本,提高了開發(fā)效率。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說明。
附圖說明
附圖是用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實(shí)施方式一起用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明一種實(shí)施方式的數(shù)據(jù)存取方法的流程圖;以及
圖2是根據(jù)本發(fā)明一種實(shí)施方式的數(shù)據(jù)存取系統(tǒng)的方框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1是根據(jù)本發(fā)明一種實(shí)施方式的數(shù)據(jù)存取方法的流程圖。
如圖1所示,根據(jù)本發(fā)明一種實(shí)施方式提供的數(shù)據(jù)存取方法包括:
s100,創(chuàng)建數(shù)據(jù)庫(kù)模型結(jié)構(gòu),所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)至少包括預(yù)定數(shù)量的多種模型交集的多種類型的字段;
s102,基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù)據(jù)模型對(duì)應(yīng)的字段映射配置文件;以及
s104,基于所述字段映射配置文件將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。
當(dāng)由于業(yè)務(wù)需求變化需要增加新的數(shù)據(jù)模型時(shí),可以基于多種模型交集的多種類型的字段創(chuàng)建數(shù)據(jù)庫(kù)模型結(jié)構(gòu),然后基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù)據(jù)模型對(duì)應(yīng)的字段映射配置文件,從而可以將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。由此,無需對(duì)現(xiàn)有的代碼進(jìn)行修改或者增加就可以實(shí)現(xiàn)多種數(shù)據(jù)模型的存儲(chǔ),相應(yīng)地降低了開發(fā)成本,提高了開發(fā)效率。
在步驟s104中,可以通過數(shù)據(jù)存儲(chǔ)接口將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。
根據(jù)本發(fā)明一種實(shí)施方式,該方法還包括:
通過數(shù)據(jù)讀取接口、數(shù)據(jù)更新接口或數(shù)據(jù)刪除接口對(duì)所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中的數(shù)據(jù)模型進(jìn)行讀取、更新或刪除。
通過提供統(tǒng)一的數(shù)據(jù)接口,可以保證程序的一致性和靈活性。
根據(jù)本發(fā)明一種實(shí)施方式,所述字段至少包括以下中的一者:字符串類型的字段、數(shù)字類型的字段、日期類型的字段、二進(jìn)制數(shù)據(jù)類型的字段和標(biāo)識(shí)類型的字段。
其中,標(biāo)識(shí)類型的字段可以為用于表明模型id的字段。
圖2是根據(jù)本發(fā)明一種實(shí)施方式的數(shù)據(jù)存取系統(tǒng)的方框圖。
如圖2所示,本發(fā)明一種實(shí)施方式的數(shù)據(jù)存取系統(tǒng)包括:模型創(chuàng)建單元20,用于創(chuàng)建模型結(jié)構(gòu),所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)至少包括預(yù)定數(shù)量的多種模型交集的多種類型的字段;模型創(chuàng)建及配置單元22,用于基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù) 據(jù)模型對(duì)應(yīng)的字段映射配置文件;以及導(dǎo)入單元24,基于所述字段映射配置文件將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。
當(dāng)由于業(yè)務(wù)需求變化需要增加新的數(shù)據(jù)模型時(shí),可以基于多種模型交集的多種類型的字段創(chuàng)建數(shù)據(jù)庫(kù)模型結(jié)構(gòu),然后基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù)據(jù)模型對(duì)應(yīng)的字段映射配置文件,從而可以將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。由此,無需對(duì)現(xiàn)有的代碼進(jìn)行修改或者增加就可以實(shí)現(xiàn)多種數(shù)據(jù)模型的存儲(chǔ),相應(yīng)地降低了開發(fā)成本,提高了開發(fā)效率。
根據(jù)本發(fā)明一種實(shí)施方式,所述導(dǎo)入單元22可以通過數(shù)據(jù)存儲(chǔ)接口將所述數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中。
通過提供統(tǒng)一的數(shù)據(jù)接口,可以保證程序的一致性和靈活性。
根據(jù)本發(fā)明一種實(shí)施方式,所述字段至少包括以下中的一者:字符串類型的字段、數(shù)字類型的字段、日期類型的字段、二進(jìn)制數(shù)據(jù)類型的字段和標(biāo)識(shí)類型的字段。
其中,標(biāo)識(shí)類型的字段可以為用于表明模型id的字段。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述關(guān)于字段的描述僅僅是示例性的,并非用于限定本發(fā)明。
在本發(fā)明中,對(duì)于預(yù)定數(shù)量,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,本發(fā)明不對(duì)此進(jìn)行限定。
例如,通過本發(fā)明上述方法和系統(tǒng)創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)例如可以包括:100個(gè)用于存儲(chǔ)字符串類型的字段、100個(gè)用于存儲(chǔ)數(shù)字類型的字段、50個(gè)用于存儲(chǔ)日期類型的字段、10個(gè)用于存放二進(jìn)制大數(shù)據(jù)的字段、1個(gè)用于表明模型id的字段。
在創(chuàng)建了上述的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)之后,可以基于待存儲(chǔ)數(shù)據(jù)從所創(chuàng)建的數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中選擇部分或全部字段創(chuàng)建數(shù)據(jù)模型,生成與所述數(shù)據(jù)模型 對(duì)應(yīng)的字段映射配置文件。與所述新建的數(shù)據(jù)模型對(duì)應(yīng)的字段映射配置文件可以用于指定數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中哪些字段屬于該新建的數(shù)據(jù)模型。關(guān)于字段映射配置文件的示例如下所示:
從上面的配置文件可以看出,通過該配置文件可以實(shí)現(xiàn)數(shù)據(jù)模型與數(shù)據(jù)庫(kù)模型結(jié)構(gòu)之間的映射,比如上面的數(shù)據(jù)模型用到了數(shù)據(jù)庫(kù)模型結(jié)構(gòu)中的attribute_2、attribute_17、attribute_37、attribute_123、attribute_145、attribute_187字段,新建的模型將自動(dòng)存儲(chǔ)到數(shù)據(jù)庫(kù)模型的這幾個(gè)字段中。
由此,基于所述字段映射配置文件可以將新建的數(shù)據(jù)模型存儲(chǔ)到所述數(shù)據(jù)庫(kù)模型結(jié)構(gòu)的對(duì)應(yīng)字段中。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述示例僅僅是示例性的,并非用于限定本發(fā)明。
以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本發(fā)明的保護(hù)范圍。
另外需要說明的是,在上述具體實(shí)施方式中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本發(fā)明對(duì)各種可能的組合方式不再另行說明。
此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。