公共倉(cāng)庫(kù)元模型(CWM)學(xué)習(xí)(一)

一蝇闭、什么是CWM蕴侣?

在我們學(xué)習(xí)一個(gè)新東西時(shí)泊交,首先得弄懂明白它是用來(lái)干什么的雁歌?然后通過(guò)實(shí)例與理論交錯(cuò)學(xué)習(xí)宏浩,CWM——Common Warehouse Metamodel, 很明顯翻譯過(guò)來(lái)時(shí)公共倉(cāng)庫(kù)元模型,CWM的提出主要基于以下背景:

  • 從數(shù)據(jù)倉(cāng)庫(kù)開(kāi)發(fā)者的角度:?jiǎn)我还ぞ吆苌倌芡耆珴M足用戶不斷變化的需求靠瞎,但同時(shí)又很難對(duì)各種產(chǎn)品進(jìn)行集成比庄;
  • 從數(shù)據(jù)倉(cāng)庫(kù)用戶的角度:面對(duì)的信息量太大求妹,無(wú)法輕易找到自己真正需要的,而且把這些信息完整正確地表示出來(lái)也是個(gè)挑戰(zhàn)印蔗;
  • 從數(shù)據(jù)倉(cāng)庫(kù)供應(yīng)商的角度:目前信息的共享還沒(méi)有標(biāo)準(zhǔn)格式扒最,元數(shù)據(jù)集成的代價(jià)太大;

現(xiàn)在有很多數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品华嘹,它們對(duì)元數(shù)據(jù)都有自己的定義和格式,百家爭(zhēng)鳴法竞,都不愿與其他廠商共享耙厚,然后最終的客戶往往又不會(huì)選擇一家公司為其建設(shè)數(shù)據(jù)倉(cāng)庫(kù),其主要原因我想還是怕在一棵樹(shù)上吊死岔霸, 因此創(chuàng)建薛躬、管理和共享元數(shù)據(jù)很耗時(shí)而且容易出錯(cuò)。要解決上面這些問(wèn)題呆细,就必須得用標(biāo)準(zhǔn)的語(yǔ)言描述數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)的結(jié)構(gòu)和語(yǔ)義型宝,并提供標(biāo)準(zhǔn)的元數(shù)據(jù)交換機(jī)制。CWM就是滿足這些條件的一個(gè)規(guī)范絮爷。

OMG(對(duì)象管理組織)在2000年發(fā)布了CWM規(guī)范趴酣,旨在推動(dòng)數(shù)據(jù)倉(cāng)庫(kù)、智能商務(wù)和知識(shí)管理方面元數(shù)據(jù)的共享和交換坑夯。和OMG合作提出CWM規(guī)范的公司有:IBM岖寞,Unisys,NCR柜蜈,Hyperion Solutions仗谆,Oracle,UBS AG淑履,Genesis Development隶垮,Dimension EDI。還有一些公司明確表示支持CWM秘噪,包括:Deere & Company狸吞,Sun,HP缆娃,Data Access Technologies捷绒,InLine Software,Aonix贯要,Hitachi, Ltd暖侨。

說(shuō)白了,CWM其實(shí)就是一個(gè)元數(shù)據(jù)交換的標(biāo)準(zhǔn)崇渗,為各種數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品提出的一個(gè)標(biāo)準(zhǔn)字逗。

二京郑、CWM組成元素?

CWM主要基于以下三個(gè)工業(yè)標(biāo)準(zhǔn):

  • UML(Unified Modeling Language):統(tǒng)一建模語(yǔ)言葫掉,是OMG的一個(gè)建模標(biāo)準(zhǔn)些举;
  • MOF(Meta Object Facility):元對(duì)象工具,是OMG關(guān)于元模型和元數(shù)據(jù)庫(kù)的一個(gè)標(biāo)準(zhǔn)俭厚;
  • XMI(XML Metadata Interchange)户魏,XML元數(shù)據(jù)交換,是OMG關(guān)于元數(shù)據(jù)交換的標(biāo)準(zhǔn)挪挤;

咋一看叼丑,是不是很熟悉,尤其是UML 扛门、 XML 大家應(yīng)該很明白這是干什么的吧鸠信,這三個(gè)標(biāo)準(zhǔn)是OMG元數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的核心,UML定義了表示模型和元模型的語(yǔ)法和語(yǔ)義论寨。MOF為構(gòu)建模型和元模型提供了可擴(kuò)展的框架星立,并提供了存取元數(shù)據(jù)的程序接口。而利用XMI則可以將元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)的XML數(shù)據(jù)流或文件的格式葬凳,以便進(jìn)行交換绰垂,這大大增強(qiáng)了CWM的通用性。

三沮明、CWM元素之間的關(guān)系辕坝?

從小老師就教我們團(tuán)結(jié)就是力量,如果單獨(dú)的里面的某個(gè)元素出來(lái)荐健,干的事情肯定寥寥無(wú)幾酱畅,而且還不盡完美,所以明白之間的關(guān)系很重要江场,為了說(shuō)明CWM和這三個(gè)標(biāo)準(zhǔn)之間的關(guān)系纺酸,首先介紹一下元數(shù)據(jù)的層次。傳統(tǒng)的元數(shù)據(jù)有四個(gè)層次址否,除了最底層外餐蔬,每一層都對(duì)它的下一層進(jìn)行描述。最底層是用戶對(duì)象層(M0)佑附,包括用戶要描述的信息樊诺,這些信息統(tǒng)稱為數(shù)據(jù)。向上一層是模型層(M1)音同,由描述信息的元數(shù)據(jù)組成词爬,在這一層,元數(shù)據(jù)一般都組合成模型的形式权均。再向上一層是元模型層(M2)顿膨,由定義M1層元數(shù)據(jù)格式和語(yǔ)義的描述信息組成锅锨,也就是元元數(shù)據(jù),一般組合成元模型的形式恋沃。最高層是元元模型層(M3)必搞,它定義了元模型的結(jié)構(gòu)和語(yǔ)義。下面舉個(gè)例子對(duì)這種四層結(jié)構(gòu)進(jìn)行說(shuō)明囊咏。

四層的內(nèi)容解釋如下:

  • 數(shù)據(jù)層是學(xué)生記錄(Record)的實(shí)例恕洲,即具體的某個(gè)學(xué)生;
  • 模型層描述學(xué)生這個(gè)記錄類(lèi)型的內(nèi)容匆笤,它有一個(gè)名字(“Student”)和兩個(gè)字段(Field)研侣,每個(gè)字段都有一個(gè)名字和類(lèi)型,比如第一個(gè)字段的名字是“name“炮捧,字段類(lèi)型是String;
  • 元模型層對(duì)Record這種類(lèi)型進(jìn)行定義惦银,在這一層咆课, Record是元類(lèi)metaClass的一個(gè)實(shí)例,一個(gè)Record擁有兩個(gè)元屬性metaAttribute扯俱,第一個(gè)name定義它的名字书蚪,是String類(lèi)型,第二個(gè)fields定義它包含的字段集迅栅,字段集中的成員是Field類(lèi)型殊校。類(lèi)似的,元類(lèi)field應(yīng)該也包含兩個(gè)元屬性:名字name和類(lèi)型type读存;
  • 元元模型層的結(jié)構(gòu)是基本固定的为流,它將所有概念抽象為以下這些組件:元類(lèi)meta-Class、元屬性meta-Attribute和元關(guān)聯(lián)meta-Association让簿,并定義了元類(lèi)之間的關(guān)系敬察,主要包括:包含(Contains),繼承(Generalizes)尔当,類(lèi)型引用(IsOfType)和依賴(DependsOn)莲祸;

理論上,還可以再向上抽象椭迎,但由于元元模型層是自描述的锐帜,所以四層就足夠了。至于為什么要抽象出上面兩層畜号,則是為了支持各種不同的模型和元模型缴阎。

綜上所述,可以用下面這張表來(lái)描述OMG的上述規(guī)范和元數(shù)據(jù)四層結(jié)構(gòu)的對(duì)應(yīng)關(guān)系:

image.png

四弄兜、 CWM的組成結(jié)構(gòu)
CWM完整地描述了數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)交換的語(yǔ)法和語(yǔ)義以及用于異質(zhì)平臺(tái)之間的元數(shù)據(jù)交換機(jī)制药蜻,它由三個(gè)部分組成:
1瓷式、CWM元模型
CWM元模型描述了數(shù)據(jù)倉(cāng)庫(kù)的組成元素,用戶可以按照這些元模型開(kāi)發(fā)相應(yīng)的組件语泽,比如ETL贸典、OLAP和數(shù)據(jù)挖掘等。為了降低復(fù)雜度并達(dá)到重用踱卵,CWM元模型采用分層的方式組織它所包含的包廊驼,大家可以看看CWM元模型的包結(jié)構(gòu)圖:

如圖中所示,CWM元模型主要包括四層:基礎(chǔ)包Foundation惋砂,資源包Resource妒挎,分析包Analysis和管理包Management。
基礎(chǔ)包主要定義了為CWM其它包所共享的一些基本概念和結(jié)構(gòu)西饵,它包含的子包有:
Business Information:定義了面向業(yè)務(wù)的通用信息酝掩,比如負(fù)責(zé)人信息等;
Data Types:定義了其它包用以創(chuàng)建自己所需的數(shù)據(jù)類(lèi)型的元模型組件眷柔;
Expressions:定義了CWM其它包定義表達(dá)式樹(shù)所需的元模型組件期虾;
Keys and Indexes:定義了描述關(guān)鍵字和索引的共享元模型;
Software Deployment:描述一個(gè)軟件在數(shù)據(jù)倉(cāng)庫(kù)中如何被使用的元模型驯嘱;
Type Mapping:支持不同系統(tǒng)之間數(shù)據(jù)類(lèi)型的映射的元模型镶苞;

資源包主要定義了一些描述常用的數(shù)據(jù)源/目標(biāo)的元模型,它包含的子包有:
Relational:描述通過(guò)關(guān)系型接口訪問(wèn)的數(shù)據(jù)庫(kù)的數(shù)據(jù)模型和元模型鞠评,比如RDBMS茂蚓,ODBC,JDBC等剃幌;
Record:描述記錄的基本概念和結(jié)構(gòu)的元模型聋涨,這里記錄的概念很廣泛,它可以描述任何結(jié)構(gòu)化的信息锥忿,比如數(shù)據(jù)庫(kù)的一條記錄牛郑、文檔等;
Multidimensional:描述多維型數(shù)據(jù)庫(kù)的元模型敬鬓;
XML:描述用XML表示的數(shù)據(jù)源和數(shù)據(jù)目標(biāo)淹朋;

分析包主要定義了一些描述數(shù)據(jù)倉(cāng)庫(kù)工具的元模型,它包含的子包有:
Transformation:定義數(shù)據(jù)倉(cāng)庫(kù)中抽取轉(zhuǎn)換規(guī)則的元模型钉答,它包含對(duì)各種類(lèi)型數(shù)據(jù)源之間的轉(zhuǎn)換規(guī)則的描述础芍;
OLAP:對(duì)OLAP工具和應(yīng)用進(jìn)行描述,并定義了它到實(shí)際系統(tǒng)的映射数尿;
Data Mining:對(duì)數(shù)據(jù)挖掘工具和應(yīng)用進(jìn)行描述仑性;
Information Visualization:定義了問(wèn)題領(lǐng)域中有關(guān)信息發(fā)布或者信息可視化的元模型;
Business Nomenclature:對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行描述右蹦,比如業(yè)務(wù)術(shù)語(yǔ)及其適用范圍等诊杆;

管理包主要定義了一些描述數(shù)據(jù)倉(cāng)庫(kù)運(yùn)行和調(diào)度信息的元模型歼捐,它包含的子包有:
Warehouse Process:描述數(shù)據(jù)倉(cāng)庫(kù)中抽取轉(zhuǎn)換規(guī)則的執(zhí)行過(guò)程,也就是各個(gè)轉(zhuǎn)換規(guī)則的觸發(fā)條件晨汹;
Warehouse Operation:描述數(shù)據(jù)倉(cāng)庫(kù)日常運(yùn)行情況的元模型豹储;

2、CWM DTD 和CWM XML CWM DTD和XML是對(duì)應(yīng)于CWM中所有包的DTD和XML淘这,它們都遵循XMI規(guī)范剥扣。定義CWM DTD和XML的主要目的是為了基于XML進(jìn)行元數(shù)據(jù)交換,因?yàn)閄ML在各個(gè)領(lǐng)域的應(yīng)用越來(lái)越廣泛铝穷,CWM提供元模型到XML的轉(zhuǎn)換钠怯,無(wú)疑大大增加了自己的通用性,各種分析工具和元數(shù)據(jù)庫(kù)可以利用這些模板為自己的元模型生成DTD和XML文檔曙聂,就可以和其它的工具之間進(jìn)行元數(shù)據(jù)交換晦炊。

3、CWM IDL
CWM IDL為上面所有的包定義了符合MOF1.3的IDL接口宁脊,這樣就可以利用CORBA進(jìn)行元數(shù)據(jù)交換刽锤。用戶可以創(chuàng)建一些具有分析功能的軟件包,比如數(shù)據(jù)挖掘組件等朦佩。提供CWM中規(guī)定的IDL接口,就可以被其它支持CWM的工具和數(shù)據(jù)倉(cāng)庫(kù)調(diào)用庐氮,這大大增強(qiáng)了CWM的靈活性和適用性语稠。

五、CWM的特點(diǎn)

通過(guò)對(duì)CWM組成結(jié)構(gòu)的介紹弄砍,可以看出CWM具有以下特點(diǎn):

? 對(duì)所有的數(shù)據(jù)倉(cāng)庫(kù)功能元數(shù)據(jù)定義了詳細(xì)的元模型和交換方式仙畦,包括技術(shù)元數(shù)據(jù)(比如Software Deployment,Transformation音婶,Warehouse Process等)和業(yè)務(wù)元數(shù)據(jù)(比如OLAP慨畸,Business Information等);

? 定義了一個(gè)通用且強(qiáng)大的Transformation包衣式,可以表示任何數(shù)據(jù)源和數(shù)據(jù)目標(biāo)之間的轉(zhuǎn)換規(guī)則寸士。此外,還為多種常用的數(shù)據(jù)源/目標(biāo)(比如Relational碴卧,Record弱卡,Multidimensional,XML等)和工具相關(guān)的數(shù)據(jù)源(比如IMS住册,DMSII婶博,COBOL Data,Essbase和Express等)定義了元模型和交換方式荧飞;

? 對(duì)所有的數(shù)據(jù)倉(cāng)庫(kù)運(yùn)行元素定義了元模型和交換方式凡人,包括調(diào)度名党、狀態(tài)報(bào)告和歷史記錄等;

? 對(duì)所有的分析型數(shù)據(jù)以及主要的分析型數(shù)據(jù)模型定義了元模型和交換方式挠轴,比如多維型传睹;

? 對(duì)操作型數(shù)據(jù)以及主要的操作型數(shù)據(jù)模型定義了元模型,比如關(guān)系型和面向?qū)ο笮停?/p>

六忠荞、CWM的設(shè)計(jì)目標(biāo)

CWM主要的設(shè)計(jì)目標(biāo)和原則有以下幾個(gè)方面:

? 對(duì)UML中概念的重用:UML 1.3 是整個(gè)CWM的設(shè)計(jì)基礎(chǔ)蒋歌,CWM在任何可能的地方對(duì)UML中的概念進(jìn)行重用,所有的CWM對(duì)象類(lèi)型都直接或間接地繼承于UML委煤,因此也繼承了它們的屬性和方法堂油。這樣可以節(jié)省很多重復(fù)工作,并且使CWM更容易理解碧绞,所有熟悉UML的用戶都可以有一個(gè)比較高的起點(diǎn)府框;

? 模塊化:CWM元模型被分成許多包,以便它們分別實(shí)現(xiàn)并減少?gòu)?fù)雜度讥邻。

?通用化:CWM元模型獨(dú)立于任何具體的數(shù)據(jù)倉(cāng)庫(kù)工具迫靖,但同時(shí),它盡量多地包含了基于特定工具實(shí)現(xiàn)的有代表性且通用的數(shù)據(jù)倉(cāng)庫(kù)特點(diǎn)兴使。也就是說(shuō)系宜,只有那些多種工具共享的信息才會(huì)被CWM元模型包含進(jìn)來(lái);

七发魄、CWM的應(yīng)用人群

CWM主要面向以下幾類(lèi)用戶:

? 數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)和工具提供商:CWM為他們提供了一個(gè)組件可插卸的通用系統(tǒng)框架盹牧。因?yàn)檫@是一種全球通用的元數(shù)據(jù)交換協(xié)議,所以他們可以很方便地在各種異質(zhì)平臺(tái)上發(fā)布自己的產(chǎn)品励幼;

? 數(shù)據(jù)倉(cāng)庫(kù)服務(wù)提供者:可重用汰寓、可編輯、可擴(kuò)展的CWM元數(shù)據(jù)大大提高了他們的工作效率苹粟。因?yàn)镃WM與產(chǎn)品無(wú)關(guān)有滑,所以可以避免大量的重復(fù)設(shè)計(jì)工作;

? 數(shù)據(jù)倉(cāng)庫(kù)管理員:數(shù)據(jù)倉(cāng)庫(kù)管理員有時(shí)需要對(duì)現(xiàn)有工具進(jìn)行整合嵌削,而CWM XML無(wú)疑為他們提供了一種最方便的整合方式毛好。另外,管理員經(jīng)常需要對(duì)資源進(jìn)行增減掷贾、分區(qū)或者重新分配睛榄,CWM提供了這方面的元數(shù)據(jù)以幫助他們完成這些工作,并對(duì)改變?cè)斐傻挠绊懽鞒鲈u(píng)估想帅;

? 終端用戶:CWM為查詢和展示工具定義了元模型场靴,以便更方便快捷地為終端用戶展示他們所需的信息;

?信息技術(shù)管理者:CWM為系統(tǒng)管理和報(bào)表工具定義了元模型,使得用戶能夠更輕松地對(duì)系統(tǒng)和信息進(jìn)行管理旨剥;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末咧欣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子轨帜,更是在濱河造成了極大的恐慌魄咕,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚌父,死亡現(xiàn)場(chǎng)離奇詭異哮兰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)苟弛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)喝滞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人膏秫,你說(shuō)我怎么就攤上這事右遭。” “怎么了缤削?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵窘哈,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我亭敢,道長(zhǎng)滚婉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任帅刀,我火速辦了婚禮满哪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劝篷。我一直安慰自己,他們只是感情好民宿,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布娇妓。 她就那樣靜靜地躺著,像睡著了一般活鹰。 火紅的嫁衣襯著肌膚如雪哈恰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天志群,我揣著相機(jī)與錄音着绷,去河邊找鬼。 笑死锌云,一個(gè)胖子當(dāng)著我的面吹牛荠医,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼彬向,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼兼贡!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起娃胆,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遍希,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后里烦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體凿蒜,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年胁黑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了废封。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡别厘,死狀恐怖虱饿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情触趴,我是刑警寧澤氮发,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站冗懦,受9級(jí)特大地震影響爽冕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜披蕉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一颈畸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧没讲,春花似錦眯娱、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至嘁信,卻和暖如春于样,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潘靖。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工穿剖, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卦溢。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓糊余,卻偏偏與公主長(zhǎng)得像秀又,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子啄刹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 第八章 系統(tǒng)分析與設(shè)計(jì)方法 8.1 定義問(wèn)題與歸結(jié)模型 定義問(wèn)題的過(guò)程包括:理解真實(shí)世界中的問(wèn)題和用戶的額需要涮坐,并...
    步積閱讀 3,954評(píng)論 0 12
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,814評(píng)論 0 11
  • 今天氣溫居然又驟降到-8℃袱讹,春的氣息瞬間又轉(zhuǎn)入了冬的來(lái)臨。 我在心里又哼起了那首歌“春天在哪里呀昵时,春天在哪里……”...
    楊姣娜閱讀 176評(píng)論 2 1
  • 能控制好自己的時(shí)間觀念真的是一件很厲害的事情捷雕。記得小時(shí)候?qū)W過(guò)的一篇文章,和世界賽跑壹甥,這里面充分說(shuō)明了時(shí)間的重要性救巷。...
    贠霞閱讀 804評(píng)論 1 0
  • 在現(xiàn)實(shí)的生活中,愛(ài)情和面包也許不可兼得句柠。即使如此浦译,至少要有一樣是可以給你心靈的慰藉。戀愛(ài)時(shí)期眼里只有對(duì)方的好或優(yōu)點(diǎn)...
    瑞利Lily閱讀 175評(píng)論 0 0