第一篇:學(xué)術(shù)論文基本格式要求
學(xué)術(shù)論文寫作格式(論文題目黑體三號(hào)字)
副標(biāo)題(副標(biāo)題,宋體,四號(hào),居中,這一項(xiàng)可無(wú))
作者姓名(黑體五號(hào)字居中)
作者單位(學(xué)校 所在系名 城市 郵編)(宋體五號(hào)字居中)
摘要(Abstract黑體五號(hào)): 摘要應(yīng)包含以下內(nèi)容:①?gòu)氖逻@一研究的目的和重要性;②研究的主要內(nèi)容,指明完成了哪些工作;③獲得的基本結(jié)論和研究成果,突出論文的新見(jiàn)解;④結(jié)論或結(jié)果的意義。
論文摘要雖然要反映以上內(nèi)容,但文字必須十分簡(jiǎn)煉,內(nèi)容亦需充分概括,篇幅大小一般限制其字?jǐn)?shù)不超過(guò)論文字?jǐn)?shù)的5%。例如,對(duì)于6000字的一篇論文,其摘要一般不超出300字。(宋體五號(hào)字)
關(guān)鍵詞(Key words黑體五號(hào)):內(nèi)容(宋體五號(hào)字)
中圖分類號(hào)(CLC number黑體五號(hào)):O121.8;G558(宋體五號(hào)字)
0引言(Introduction一級(jí)標(biāo)題黑體小四號(hào))
引言又稱前言,屬于整篇論文的引論部分。其寫作內(nèi)容包括:研究的理由、目的、背景、前人的工作和知識(shí)空白,理論依據(jù)和實(shí)驗(yàn)基礎(chǔ),預(yù)期的結(jié)果及其在相關(guān)領(lǐng)域里的地位、作用和意義。
引言的文字不可冗長(zhǎng),內(nèi)容選擇不必過(guò)于分散、瑣碎,措詞要精煉,要吸引讀者讀下去。引言的篇幅大小,并無(wú)硬性的統(tǒng)一規(guī)定,需視整篇論文篇幅的大小及論文內(nèi)容的需要來(lái)確定,長(zhǎng)的可達(dá)700~800字或1000字左右,短的可不到100字。(正文為默認(rèn)字體宋體小四號(hào),下同)
1題名(Title,Topic一級(jí)標(biāo)題黑體小四號(hào))
題名又稱題目或標(biāo)題。題名是以最恰當(dāng)、最簡(jiǎn)明的詞語(yǔ)反映論文中最重要的特定內(nèi)容的邏輯組合。論文題目是一篇論文給出的涉及論文范圍與水平的第一個(gè)重要信息,也是必須考慮到有助于選定關(guān)鍵詞不達(dá)意和編制題錄、索引等二次文獻(xiàn)可以提供檢索的特定實(shí)用信息。
1.1主標(biāo)題(Quot二級(jí)標(biāo)題宋體五號(hào)字)
論文的主標(biāo)題十分重要,必須用心斟酌選定。有人描述其重要性,用了下面的一句話:“論文題目是文章的一半”。對(duì)論文題目的要求是:準(zhǔn)確得體,簡(jiǎn)短精煉;外延和內(nèi)涵恰如其分,醒目。1.1.1(三級(jí)標(biāo)題宋體五號(hào))
參考文獻(xiàn)(黑體五號(hào)居中)
內(nèi)容(宋體四號(hào))格式如下:
[連續(xù)出版物] 作者.文題[J].刊名,年,卷(期):起止頁(yè)碼-終止頁(yè)碼.[專著] 作者.書名[M].出版地:出版者,出版年.[論文集] 作者.文題[A].編者.文集[C].出版地:出版者,出版年.起止頁(yè)碼-終止頁(yè)碼.[專利] 申請(qǐng)者.專利名[P].國(guó)名及專利號(hào),發(fā)布日期.[在線文獻(xiàn)] 作者.文題[EB/OL].http://?, 日期.示例如:
[1]彭錦,劉寶碇.不確定理論的公理化體系[J].黃岡師范學(xué)院學(xué)報(bào),2004,14(2):1-10.[2]Liu B., Theory and Practice of Uncertain Programming[M], Physica-Verlag, Heidelberg, 2002.(注:學(xué)術(shù)論文格式有多種,本次學(xué)術(shù)論文作品統(tǒng)一以上述格式為準(zhǔn),歡迎同學(xué)們踴躍報(bào)名參加)。
科技協(xié)會(huì)學(xué)術(shù)論文部
2009-10-22
第二篇:學(xué)術(shù)論文寫作指南(寫作格式和基本要求)
寫作格式和基本要求
撰寫學(xué)術(shù)論文是為了交流,用于學(xué)術(shù)刊物,或用于學(xué)術(shù)會(huì)議。為了便于交流,則要指定相應(yīng)的標(biāo)準(zhǔn);以規(guī)范人們的寫作行為。
1987年國(guó)家標(biāo)準(zhǔn)局頒布了《科學(xué)技術(shù)報(bào)告、學(xué)位論文和學(xué)術(shù)論文的編寫格式》(GB7713—87)和《文后參考文獻(xiàn)著錄規(guī)則》(GB7714—87)兩個(gè)國(guó)家標(biāo)準(zhǔn),并于1988年1月1日其開始實(shí)施。根據(jù)國(guó)家標(biāo)準(zhǔn)要求,學(xué)術(shù)論文的寫作格式一般包括題目、作者及其工作單位、摘要、關(guān)鍵詞、引言、正文、結(jié)論、致謝、參考文獻(xiàn)等九個(gè)部分。
1、題目。題目文章的“眼睛”,是論文的高度概括。它應(yīng)具有三個(gè)功能。①能準(zhǔn)確地表達(dá)論文的內(nèi)容,恰如其分地反映研究的范圍和達(dá)到的深度。②簡(jiǎn)潔、精練,利于文獻(xiàn)的編排、記錄、整理、引用和記憶。③便于分類、引證。題目不宜過(guò)長(zhǎng),一般不超過(guò)20個(gè)漢字,外文題目一般不要超過(guò)10個(gè)實(shí)詞。如果題目太長(zhǎng),可以采用加副標(biāo)題的辦法解決。論文題目用詞要質(zhì)樸、準(zhǔn)確,不用廣告式的詞語(yǔ),避免使用不常用的縮略詞、代號(hào)和公式等。
2、作者及其工作單位。發(fā)表論文就要簽署作者姓名和工作單位。署名者要具有三個(gè)條件:一是研究的參加者;二是論文的討論或執(zhí)筆者;三是對(duì)論文全文具有答辯能力。三者缺一不可。其他曾為該研究做過(guò)貢獻(xiàn)的人員,可在致謝中注明。
3、摘要。摘要是對(duì)論文內(nèi)容不加注釋和評(píng)論的簡(jiǎn)短陳述。他的要求有三條:短、精、完整。短:中文摘要一般不宜超過(guò)200-300字,外文摘要不超過(guò)250個(gè)實(shí)詞。精:準(zhǔn)確、精練地把論文的主要內(nèi)容概括起來(lái),重點(diǎn)是結(jié)論。完整:摘要即一篇短文,應(yīng)包含與論文同等的主要信息,可以獨(dú)立使用,可以引用,可以用于工藝推廣。也可供文摘等二次文獻(xiàn)采用。
4、關(guān)鍵詞。為了文獻(xiàn)標(biāo)引工作,從論文選取出來(lái)的單詞和術(shù)語(yǔ)。關(guān)鍵詞要盡量規(guī)范,應(yīng)能反映主題內(nèi)容和必要信息。每篇論文3—8個(gè)為宜。
5、引言。簡(jiǎn)要說(shuō)明研究工作的目的、意義,前人的工作和知識(shí)空白以及研究設(shè)想等。一般知識(shí)不必?cái)⑹?。比較短的論文可不寫引言,只用小段文字代替。
6、正文。這是論文的核心部分。正文的寫作,一般的說(shuō)有三種方法:①大體按研究進(jìn)程,依次論述;②按認(rèn)識(shí)的規(guī)律,即由感性認(rèn)識(shí)到理性認(rèn)識(shí)的過(guò)程組成正文;③運(yùn)用邏輯推理的方法進(jìn)行撰寫。要寫好這部分,首先要有材料和內(nèi)容,然后有概念、判斷、推理,然后形成觀點(diǎn)。
7、結(jié)論。結(jié)論是理論分析和實(shí)驗(yàn)結(jié)果的邏輯發(fā)展,應(yīng)該準(zhǔn)確、完整、明確、精練。決不是實(shí)驗(yàn)結(jié)果的簡(jiǎn)單重復(fù),而是論文內(nèi)容從理論上的高度概括和升華。如果不可能得出結(jié)論,也可沒(méi)有結(jié)論而進(jìn)行必要的討論。還可對(duì)今后的進(jìn)一步研究提出建議和設(shè)想。
8、致謝。對(duì)在研究過(guò)程中提供過(guò)幫助和重要指導(dǎo)的組織和個(gè)人,應(yīng)在論文結(jié)尾處致一謝意,以示對(duì)他人勞動(dòng)的尊重。
9、參考文獻(xiàn)。論文中引用的資料,都注明出處。一是說(shuō)明資料的來(lái)源,二是便于讀者查閱。
專著的著錄格式為:
專著作者·書名·版本(第一版不著錄)·出版地:出版者,出版年。
連續(xù)出版物中的論文著錄格式為:
論文作者·論文題目·刊物名稱,出版年,期·論文在刊物中的位置。
除了以上介紹的有關(guān)要求外,論文中出現(xiàn)的圖、表、照片、數(shù)字、公式,還有計(jì)量單位的用法等都要符合國(guó)家有關(guān)規(guī)定。
第三篇:學(xué)術(shù)論文的寫作格式和基本要求
學(xué)術(shù)論文的寫作格式和基本要求
學(xué)術(shù)論文的寫作格式一般包括、、結(jié)論、參考文獻(xiàn)等八個(gè)部分。
題目文章的“眼睛”,是論文的高度概括。它應(yīng)具有三個(gè)功能。①能準(zhǔn)確地表達(dá)論文的內(nèi)容,恰如其分地反映研究的范圍和達(dá)到的深度。②簡(jiǎn)潔、精練,利于文獻(xiàn)的編排、記錄、整理、引用和記憶。③便于分類、引證。題目不宜過(guò)長(zhǎng),一般不超過(guò)20個(gè)漢字,外文題目一般不要超過(guò)10個(gè)實(shí)詞。如果題目太長(zhǎng),可以采用加副標(biāo)題的辦法解決。論文題目用詞要質(zhì)樸、準(zhǔn)確,不用廣告式的詞語(yǔ),避免使用不常用的縮略詞、代號(hào)和公式等。
2、作者及其工作單位。發(fā)表論文就要簽署作者姓名和工作單位。署名者要具有三個(gè)條件:一是研究的參加者;二是論文的討論或執(zhí)筆者;三是對(duì)論文全文具有答辯能力。三者缺一不可。
3、摘要。摘要是對(duì)論文內(nèi)容不加注釋和評(píng)論的簡(jiǎn)短陳述。他的要求有三條:短、精、完整。短:中文摘要一般不宜超過(guò)200-300字,外文摘要不超過(guò)250個(gè)實(shí)詞。精:準(zhǔn)確、精練地把論文的主要內(nèi)容概括起來(lái),重點(diǎn)是結(jié)論。完整:摘要即一篇短文,應(yīng)包含與論文同等的主要信息,可以獨(dú)立使用,可以引用,可以用于工藝推廣。也可供文摘等二次文獻(xiàn)采用。
4、關(guān)鍵詞。為了文獻(xiàn)標(biāo)引工作,從論文選取出來(lái)的單詞和術(shù)語(yǔ)。關(guān)鍵詞要盡量規(guī)范,應(yīng)能反映主題內(nèi)容和必要信息。每篇論文3—8個(gè)為宜。
5、引言。簡(jiǎn)要說(shuō)明研究工作的目的、意義,前人的工作和知識(shí)空白以及研究設(shè)想等。比較短的論文可不寫引言,只用小段文字代替。
6、正文。這是論文的核心部分。正文的寫作,一般的說(shuō)有三種方法:①大體按研究進(jìn)程,依次論述;②按認(rèn)識(shí)的規(guī)律,即由感性認(rèn)識(shí)到理性認(rèn)識(shí)的過(guò)程組成正文;③運(yùn)用邏輯推理的方法進(jìn)行撰寫。要寫好這部分,首先要有材料和內(nèi)容,然后有概念、判斷、推理,然后形成觀點(diǎn)。
7、結(jié)論。結(jié)論是理論分析和實(shí)驗(yàn)結(jié)果的邏輯發(fā)展,應(yīng)該準(zhǔn)確、完整、明確、精練。決不是實(shí)驗(yàn)結(jié)果的簡(jiǎn)單重復(fù),而是論文內(nèi)容從理論上的高度概括和升華。如果不可能得出結(jié)論,也可沒(méi)有結(jié)論而進(jìn)行必要的討論。還可對(duì)今后的進(jìn)一步研究提出建議和設(shè)想。
8、參考文獻(xiàn)。論文中引用的資料,都注明出處。一是說(shuō)明資料的來(lái)源,二是便于讀者查閱。
(1)專著的著錄格式為:專著作者·書名(論文名)·版本(第一版不著錄)·出版地:出版者(社),出版年。
(2)連續(xù)出版物中的論文著錄格式為:論文作者·論文題目·刊物名稱,出版年,期·論文在刊物中的位置。
(3)論文中出現(xiàn)的圖、表、照片、數(shù)字、公式,還有計(jì)量單位的用法等都要符合國(guó)家有關(guān)規(guī)定。
第四篇:碩士研究生在學(xué)期間發(fā)表學(xué)術(shù)論文的基本要求
碩士研究生在學(xué)期間發(fā)表學(xué)術(shù)論文的基本要求
全日制學(xué)術(shù)型碩士研究生申請(qǐng)碩士學(xué)位,必須在國(guó)內(nèi)正式出版的專業(yè)期刊上以第一作者身份或以第二作者(導(dǎo)師為第一作者)身份至少發(fā)表1篇與本專業(yè)相同或相近的學(xué)術(shù)論文,或以第二作者身份在核心期刊發(fā)表1篇與本專業(yè)相同或相近的學(xué)術(shù)論文,或以第二作者身份在普通專業(yè)期刊上至少發(fā)表2篇與本專業(yè)相同或相近的學(xué)術(shù)論文。在國(guó)內(nèi)外正式出版的會(huì)議論文集發(fā)表1篇學(xué)術(shù)論文(被收入論文集),等同于在國(guó)內(nèi)專業(yè)期刊發(fā)表1篇學(xué)術(shù)論文。研究生所發(fā)表的學(xué)術(shù)論文須署名“北京工商大學(xué)”,與導(dǎo)師共同發(fā)表的學(xué)術(shù)論文原始稿件必須經(jīng)過(guò)指導(dǎo)教師審核,投稿前必須由導(dǎo)師簽字同意。增刊將不予承認(rèn)。專業(yè)學(xué)位研究生暫不要求發(fā)表學(xué)術(shù)論文。
凡在以下3個(gè)刊物或類似刊物上發(fā)表的論文學(xué)校將不予承認(rèn)。
1.《教育研究與探索》香港新聞出版社美國(guó)教育科技出版社
2.《現(xiàn)代學(xué)術(shù)研究》中國(guó)科學(xué)協(xié)會(huì) 中國(guó)出版社
3.《中國(guó)社會(huì)科學(xué)學(xué)報(bào)》中國(guó)科學(xué)協(xié)會(huì) 中國(guó)出版社
第五篇:學(xué)術(shù)論文參考
南陽(yáng)師院第十三屆“張衡杯”大學(xué)生課外學(xué)術(shù)科技作品競(jìng)賽
申報(bào)作品
一種內(nèi)存數(shù)據(jù)庫(kù)快速日志恢復(fù)技術(shù)研究
姓 名: * * * 學(xué) 號(hào): 12345678900 專 業(yè): 網(wǎng)絡(luò)方向 院 系: 計(jì)算機(jī)與信息技術(shù)學(xué)院 指導(dǎo)老師: * * *
摘 要
恢復(fù)技術(shù)是保證內(nèi)存數(shù)據(jù)庫(kù)運(yùn)行可靠的關(guān)鍵,傳統(tǒng)的基于日志的恢復(fù)技術(shù)會(huì)對(duì)系統(tǒng)性能產(chǎn)生很大的負(fù)面影響。針對(duì)此提出了內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)快速日志恢復(fù)技術(shù),它控制日志的產(chǎn)生數(shù)量,使得在系統(tǒng)崩潰并重新啟動(dòng)時(shí),能以最快的速度恢復(fù)到系統(tǒng)崩潰前的最近一致點(diǎn)上。
關(guān)鍵字:內(nèi)存數(shù)據(jù)庫(kù);日志恢復(fù);檢查點(diǎn)
Quickly Log Recovery Technology Of MMDB
Hu Hui hui(1.College of Computer and Information Technology, Nanyang Normal University,Nanyang 473061, China;2.College of Compuert Science and Tecnology,Beijing University of
Tecnology,Beijing,100022,China)
Abstract The recovery technology is a key to ensure running credibility of MMDB,the tradition recovery technology is based on log may raise the effect on system performance.This paper puts force the a quickly log recovery technology。It controls log quantity and recovers the system to the nearest breakdown point as fast as it can, when system breaks down and restarts.Key Words: MMDB;log recover;checking point.目錄
引言
內(nèi)存數(shù)據(jù)庫(kù)(MMDB)把數(shù)據(jù)全部或者當(dāng)前工作部分駐留在內(nèi)存中,消除了傳統(tǒng)磁盤數(shù)據(jù)庫(kù)系統(tǒng)中I/O瓶頸,提高了系統(tǒng)的性能和吞吐量,但是由于所有操作都作用于內(nèi)存數(shù)據(jù)庫(kù)的主拷貝上,數(shù)據(jù)庫(kù)極易遭到操作系統(tǒng)和應(yīng)用軟件造成的破壞,因此MMDB的恢復(fù)技術(shù)十分關(guān)鍵[1]。日志(Logging)恢復(fù)是傳統(tǒng)的MMDB恢復(fù)技術(shù)之一,它能滿足當(dāng)前MMDB系統(tǒng)對(duì)事務(wù)響應(yīng)和快速系統(tǒng)恢復(fù)的要求,但是在大量事務(wù)吞吐量情況下造成的日志暴增帶來(lái)很大問(wèn)題,會(huì)對(duì)MMDB性能產(chǎn)生很大影響[2]。
本文提出MMDB系統(tǒng)快速日志恢復(fù)技術(shù),它是在不阻礙系統(tǒng)正常運(yùn)行的情況下,控
制日志的產(chǎn)生數(shù)量,使得在系統(tǒng)崩潰并重新啟動(dòng)時(shí),能以最快的速度恢復(fù)到系統(tǒng)崩潰前的最近一致點(diǎn)上。系統(tǒng)構(gòu)架設(shè)計(jì)
快速恢復(fù)模型的整體架構(gòu)如圖1所示。事務(wù)處理模塊負(fù)責(zé)根據(jù)用戶請(qǐng)求產(chǎn)生事務(wù),并由事務(wù)管理器調(diào)度。事務(wù)管理器將負(fù)責(zé)各個(gè)事務(wù)的日志記錄,交給日志產(chǎn)生規(guī)則處理。檢查點(diǎn)模塊根據(jù)日志產(chǎn)生規(guī)則產(chǎn)生的日志數(shù)量動(dòng)態(tài)調(diào)整檢查點(diǎn)啟動(dòng)時(shí)間[3]。當(dāng)日志記錄數(shù)達(dá)到一定值時(shí),檢查點(diǎn)程序啟動(dòng)。它讀取所有日志記錄,交給日志篩選器。日志篩選器根據(jù)篩選算法,從當(dāng)前所有日志項(xiàng)中篩選出實(shí)際有效的日志記錄,并將這些有效日志記錄交給日志分發(fā)結(jié)點(diǎn)。日志分發(fā)結(jié)點(diǎn)主要做兩項(xiàng)工作:第一是它將日志傳送給日志磁盤管理器,由其負(fù)責(zé)將日志回寫到日志磁盤上,第二是日志分發(fā)結(jié)點(diǎn)將日志傳送給備份更新發(fā)生器。備份更新發(fā)生器利用快速恢復(fù)算法,觸發(fā)各類更新操作,根據(jù)日志更新磁盤上的數(shù)據(jù)。該快速恢復(fù)模型具有如下的特點(diǎn):
①快速恢復(fù)模型以日志驅(qū)動(dòng)方式做檢查點(diǎn),異步更新磁盤上的備份數(shù)據(jù)鏡象。②系統(tǒng)只維護(hù)全局Redo日志,以Redo日志來(lái)驅(qū)動(dòng)備份更新發(fā)生器,各個(gè)事務(wù)維護(hù)私有Redo日志和Undo日志在事務(wù)提交時(shí)將私有Redo日志寫入全局Redo日志中。
事 務(wù)發(fā)生器日志篩選算法事務(wù)管理器事務(wù)處理日志產(chǎn)生規(guī)則日志分發(fā)結(jié)點(diǎn)快速恢復(fù)算法日志回寫歸檔磁盤日志磁盤檢查點(diǎn)處理
圖1 快速恢復(fù)模型的整體架構(gòu)
③使用日志篩選算法,近一步減少Redo日志的數(shù)量,提升檢查點(diǎn)程序的性能。④備份數(shù)據(jù)鏡象只反應(yīng)已提交事務(wù)的更新狀態(tài),因此在系統(tǒng)重載時(shí)不需要回退未提交的事務(wù)。
⑤快速恢復(fù)算法為并發(fā)重載算法。在系統(tǒng)恢復(fù)過(guò)程中,能繼續(xù)接受新事務(wù)的請(qǐng)求。快速日志驅(qū)動(dòng)檢查點(diǎn)
快速日志驅(qū)動(dòng)檢查點(diǎn)的基本思想是,檢查點(diǎn)程序仍然由日志來(lái)驅(qū)動(dòng),根據(jù)讀取到
的日志項(xiàng)來(lái)更新數(shù)據(jù)鏡象上的內(nèi)容,維持?jǐn)?shù)據(jù)鏡象與內(nèi)存中數(shù)據(jù)庫(kù)的基本同步。但是,與以往日志驅(qū)動(dòng)檢查點(diǎn)算法不同的是,它通過(guò)日志產(chǎn)生規(guī)則和日志篩選算法兩個(gè)策略克服了以往日志驅(qū)動(dòng)檢查點(diǎn)算法中日志數(shù)量可能過(guò)快增長(zhǎng)的問(wèn)題[4] [5]。
2.1 日志產(chǎn)生規(guī)則
快速日志驅(qū)動(dòng)檢查點(diǎn)算法中設(shè)立的日志產(chǎn)生規(guī)則是:系統(tǒng)中日志被分為全局日志和私有日志兩類。系統(tǒng)只維護(hù)全局Redo日志,而不維護(hù)Undo日志,由事務(wù)自身維護(hù)私有的Redo日志和Undo日志。在事務(wù)提交時(shí),依照事務(wù)提交的先后順序,將事務(wù)的私有Redo日志添加到全局Redo日志中。因此,在事務(wù)運(yùn)行過(guò)程中,會(huì)產(chǎn)生Redo日志和Undo日志。Redo日志用于在系統(tǒng)恢復(fù)過(guò)程中,重做已提交事務(wù)。而Undo日志用于在事務(wù)Abort時(shí)回退事務(wù),或者在系統(tǒng)恢復(fù)過(guò)程中回退未提交的事務(wù)。如果恢復(fù)模型的設(shè)計(jì)能夠保證系統(tǒng)恢復(fù)過(guò)程中,沒(méi)有需要回退的未提交事務(wù),那么系統(tǒng)只需要讀取Redo日志而不需要讀取Undo日志。因而系統(tǒng)只需要維護(hù)全局的Redo日志,而不需要維護(hù)Undo日志,將Undo日志交給事務(wù)自身維護(hù),Undo日志只用于事務(wù)自身Abort時(shí)回退。這樣就可以減少全局日志的總量。
圖2具體描述了全局日志和私有日志的使用。在事務(wù)T1,T2,T3的內(nèi)存空間內(nèi),各自維護(hù)自己的私有Redo日志和Undo日志。在非易失性內(nèi)存(SRAM)上,MMDB系統(tǒng)開辟全局Redo日志緩沖區(qū),讓事務(wù)在提交時(shí)事務(wù)的私有Redo日志寫入該緩沖區(qū)。檢查點(diǎn)程序?qū)⒍ㄆ谧x取日志緩沖區(qū)中的數(shù)據(jù),將日志寫入磁盤,并驅(qū)動(dòng)檢查點(diǎn)程序更新磁盤鏡象數(shù)據(jù)。
Redo Log事務(wù)T1Undo LogMMDBRedo Log事務(wù)T2Undo LogRedo Log事務(wù)T3Undo Log私有日志SRAMRedo全局日志緩沖區(qū)
圖2 全局日志和私有日志
各事務(wù)將按如下階段操作日志:
①事務(wù)啟動(dòng)時(shí),需要在事務(wù)的各自空間內(nèi)建立私有Redo日志和私有Undo日志,并將在私有Redo日志中寫入事務(wù)啟動(dòng)記錄。
②事務(wù)運(yùn)行過(guò)程中,事務(wù)的每次更新操作,需要在私有Redo日志中添加Redo記錄,并在私有Undo日志中添加Undo記錄。③事務(wù)提交時(shí),需要按如下步驟完成:
㈠向事務(wù)的私有Redo日志內(nèi)添加事體Commit記錄。㈡將事務(wù)的私有Redo日志寫入全局Redo日志中。
㈢釋放事務(wù)的私有Redo日志和私有Undo日志,釋放事務(wù)所占用的其他資源,完成提交。
④事務(wù)Abort時(shí),需要按照如下步驟完成:
㈠事務(wù)反向掃描私有Undo日志,回退事務(wù)的更新操作。
㈡釋放事務(wù)的私有Redo日志和私有Undo日志,釋放事務(wù)所占用的其他資源,結(jié)束事務(wù)。
由此可見(jiàn),事務(wù)只在提交時(shí)才將私有Redo日志寫入全局日志緩沖區(qū)。從而也保證了檢查點(diǎn)程序運(yùn)行時(shí),只看到己提交事務(wù)的Redo日志,磁盤上的數(shù)據(jù)鏡象也只反映已提交事務(wù)的更新操作。
2.2 日志篩選算法
用日志產(chǎn)生規(guī)則能明顯減少日志產(chǎn)生的數(shù)量,但是在更新事務(wù)吞吐量較大的情況下,檢查點(diǎn)程序從全局日志緩沖區(qū)讀取Redo日志時(shí),仍然可能會(huì)面對(duì)Redo日志量過(guò)大的問(wèn)題,產(chǎn)生的原因是這樣的:如果對(duì)一份數(shù)據(jù)做兩次更新操作,那么兩個(gè)事務(wù)各自產(chǎn)生一條對(duì)同一物理地址上值更新的物理日志,但只有第2次更新事務(wù)產(chǎn)生的日志為有效的。本文利用日志篩選算法來(lái)避免日志量過(guò)大問(wèn)題,該算法認(rèn)為,當(dāng)LOG1(T1,addr,valuel)和LOG2(T2, addr, value2)按照事務(wù)的提交順序通過(guò)日志篩選器時(shí),當(dāng)T1的提交時(shí)間在T2提交時(shí)間前,那么只有LOG2(T2, addr, value2)被認(rèn)為是有效,而LOGI(T1,addr,valuel)被忽略。日志篩選器需要關(guān)注物理日志中被修改值的地址的相關(guān)性。對(duì)相同修改地址的物理日志依據(jù)日志的提交順序進(jìn)行篩選,該算法的示意圖如圖3所示。為加快日志的篩選速度,將全日志緩沖區(qū)劃分為多個(gè)區(qū)域,這將日志記錄中操作地址具有空間相關(guān)性的日志按照所屬事務(wù)的提交順序聚合在一個(gè)區(qū)域內(nèi),能加速日志篩選算法的篩選速度。使得在篩選過(guò)程中,只需在小范圍內(nèi)(也就是一個(gè)區(qū)域)搜索可以被篩選的日志。當(dāng)全局Redo日志緩沖區(qū)中的某一個(gè)區(qū)域滿時(shí),就喚醒檢查點(diǎn)程序,將這一區(qū)域中的Redo日志寫入日志磁盤,并驅(qū)動(dòng)備份更新發(fā)生器更新磁盤上的數(shù)據(jù)鏡象。[6]
T(1)Page 3T(1)Page 5T(1)T(1)T(1)Page 3Page 5Page nT Commit事務(wù)T(1)日志序列日志檢查與分配T(m)page 0T(m)page 0Page(0~3)Page(4~7)?T(1)Page nT(k)page mPage(n~n+3)?Page(k~k+3)全局Redo日志緩沖區(qū)圖3 日
圖3 志篩選算法 快速恢復(fù)算法
在系統(tǒng)崩潰后,MMDB系統(tǒng)需要通過(guò)恢復(fù)過(guò)程,將數(shù)據(jù)庫(kù)恢復(fù)到崩潰前的最近一致點(diǎn)上。在系統(tǒng)恢復(fù)過(guò)程中,重載程序?qū)?shù)據(jù)從磁盤鏡象上加載到MMDB系統(tǒng)中,同時(shí)根據(jù)日志,重做(Redo)或者取消(Undo)部分事務(wù),來(lái)恢復(fù)數(shù)據(jù)庫(kù)的一致性??焖倩謴?fù)算法如下:
①當(dāng)系統(tǒng)崩潰重啟時(shí),先啟動(dòng)日志檢查和分配程序,檢查非易失性內(nèi)存(SRAM)中提供給事務(wù)提交時(shí)用于寫入私有Redo日志的緩沖區(qū)中是否有完整寫入的Redo日志。如果有完整的Redo日志,則日志檢查和分配程序?qū)⑦@些完整的日志分配到全局Redo日志緩沖區(qū)的不同區(qū)域中。
②統(tǒng)計(jì)全局Redo日志緩沖區(qū)中的日志數(shù)量,并標(biāo)記這些日志。當(dāng)前Redo日志緩沖區(qū)中的日志將被用于恢復(fù)內(nèi)存中MMDB系統(tǒng)的一致性,同時(shí)也要用于維護(hù)磁盤上數(shù)據(jù)鏡象的一致性。
③恢復(fù)程序從磁盤數(shù)據(jù)鏡象上加載一些重要的系統(tǒng)表以后,MMDB系統(tǒng)可以啟動(dòng),并可以接受新事務(wù)的請(qǐng)求。系統(tǒng)的正常事務(wù)處理和系統(tǒng)恢復(fù)過(guò)程同時(shí)進(jìn)行。④觸發(fā)檢查點(diǎn)程序從全局Redo日志緩沖區(qū)中讀取日志,驅(qū)動(dòng)備份更新發(fā)生器更新磁盤上的數(shù)據(jù)鏡象。在這個(gè)過(guò)程中,驅(qū)動(dòng)備份更新發(fā)生器向緩沖區(qū)管理區(qū)詢問(wèn)將被更新的記錄所在的鏡象數(shù)據(jù)頁(yè)面是否已經(jīng)被加載到內(nèi)存中。如果己經(jīng)被加載,則不但需要更新磁盤上的鏡象數(shù)據(jù)頁(yè),還需要更新內(nèi)存中的數(shù)據(jù)頁(yè)面。如果全局Redo日志緩沖區(qū)中所有被標(biāo)記的日志都已經(jīng)被用于驅(qū)動(dòng)備份更新發(fā)生器,那么此時(shí)備份更新發(fā)生器可以告訴重載程序恢復(fù)工作已經(jīng)完成,沒(méi)有其他鏡象頁(yè)面需要更新。
⑤MMDB在接受新事務(wù)的請(qǐng)求時(shí),對(duì)于事務(wù)所訪問(wèn)到的數(shù)據(jù),如果數(shù)據(jù)還沒(méi)有被加載到內(nèi)存中時(shí),則系統(tǒng)向重載程序要求將所需數(shù)據(jù)從磁盤鏡象上加載到內(nèi)存中。此時(shí),重載程序先要檢查要求加載的數(shù)據(jù)頁(yè)面是否會(huì)被備份更新發(fā)生器修改。如果是,則需
要等待備份更新發(fā)生器更新鏡象頁(yè)面后再加載到內(nèi)存中,否則就直接將鏡象頁(yè)面加載到內(nèi)存中。
⑥當(dāng)所有鏡象都加載完成后,MMDB系統(tǒng)恢復(fù)過(guò)程結(jié)束。結(jié)束語(yǔ)
恢復(fù)技術(shù)是保證內(nèi)存數(shù)據(jù)庫(kù)運(yùn)行可靠的關(guān)鍵技術(shù)。傳統(tǒng)日志恢復(fù)技術(shù)由于存在產(chǎn)生過(guò)多不必要的日志的缺點(diǎn),對(duì)系統(tǒng)性能帶來(lái)負(fù)面影響。本文研究了一種新的日志恢復(fù)技術(shù)來(lái)盡可能的減少日志數(shù)量,并在此基礎(chǔ)上提出了快速日志恢復(fù)算法,此恢復(fù)技術(shù)算法簡(jiǎn)單可以大大的節(jié)約系統(tǒng)的資源。然而,內(nèi)存數(shù)據(jù)庫(kù)恢復(fù)是一個(gè)十分復(fù)雜而龐大的技術(shù),所以該方法還有待完善。
參考文獻(xiàn)
[1]劉云生,潘琳.實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)存數(shù)據(jù)庫(kù)組織與故障恢復(fù)[J].小型微型計(jì)算機(jī)系統(tǒng).2005,22(5):611-613.[2]劉云生,廖國(guó)瓊,付蔚.一個(gè)支持實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)的恢復(fù)系統(tǒng)[J].小型微型計(jì)算機(jī)系統(tǒng).2003,24(3):460-464 [3]SONGGH,YANHCS,SHIJY.ZEDB:An in-memory database system for real-time message processing applications [A].Proc of the 6th Int Conf on Computer Aided Design & Computer Graphics(CAD/CG'99)[C].Shanghai: Wen Hui Publishers 1999.238-242.[4]LiX,EichMH.Post-crash log processing for fuzzy check pointing main memory databases[J].Proc Of Int Conf on Database Engineering,IEEE,1993,117-124.[5]龍玉國(guó),耿協(xié)堅(jiān).嵌入式實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)恢復(fù)子系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用.2004,17:179-180 [6]宋廣華,楊長(zhǎng)生.基于混合日志的內(nèi)存數(shù)據(jù)庫(kù)恢復(fù)子系統(tǒng)[J].浙江大學(xué)學(xué)報(bào)(理學(xué)版).2001,28(3):164-168