第一篇:学术论文注释格式(供参考)
学术论文注释格式
一、中文非连续出版物
(一)普通图书(1)专著
标注顺序:责任者/书名/出版地/出版者/出版年/页码(连续页码之间用连接线连接)。例如:
[1] 张舜徽:《中国古代史籍校读法》,武汉:华中师范大学出版社,2004年,第52页。[2] 张三夕主编:《中国古典文献学》,武汉:华中师范大学出版社,2003年,第25—26页。
外国人的中译本著作标注顺序:[国籍]/责任者/书名/译者/出版地/出版者/出版年/页码。例如:
[3] [德]黑格尔:《逻辑学》上卷,杨一之译,北京:商务印书馆,1976年,第30—35页。[4] 参见[德]恩格斯:《自然辩证法》,北京:人民出版社,1971年,第21页。
(2)专著中析出文献
标注顺序:析出责任者/析出文献题名(或篇名)/原文献责任者(与析出责任者同为一人的,可不写)/原文献题名/译者/出版地/出版者/出版年/页码。例如:
[1] [荷]杜威·佛克马:《走向新世界主义》,王宁、薛晓源编:《全球化与后殖民批评》,王宁译,北京:中央编译出版社,1998年,第247~266页。
[2] 范文澜:《论中国封建社会长期延续的原因》,《范文澜历史论文选集》,北京:中国社会科学出版社,1979年,第41页。
[3] 章太炎:《俱分进化论》,《章太炎全集》四,上海:上海人民出版社,1985年,第391页。
(二)古籍
(1)古代出版的古籍一般应标注朝代名/责任者/书名/卷次/版本,或责任者/篇名/书名/卷次/版本。例如:
[1](晋)慧远:《沙门不敬王者论》,《弘明集》卷五,碛砂藏本。[2](宋)杨时:《陆少卿墓志铭》,《龟山集》卷三十四,《四库全书》本。[3](宋)王应麟:《考史》,《困学纪闻》卷十一,清嘉庆十八年扫叶山房刊本。
(2)现代出版的标点本或校注本古籍应标注责任者/篇名/书名/全集名/卷次/出版地/出版者/出版年/页码。例如:
[1](清)钱大昕:《汉书王子侯误字》,《十驾斋养新余录》卷中,《钱大昕全集》第7册,南京:江苏古籍出版社,1997年,第574页。
[2](清)张廷玉,等:《明史·艺文志序》,《明史》卷九十六,北京:中华书局,1974年,第2344页。
(3)地方志前一般应标明编修或刊刻年代。例如:
[1](明)正德《建昌府志》卷十五,上海:上海古籍书店,据天一阁明正德刻本影印,1964年。
二、中文连续出版物
(一)期刊
标注顺序:责任者/篇名/期刊名(版别)/年期/页码。例如:
[1] 李炳海:《〈离骚〉抒情主人公的配饰意象》,《华中师范大学学报》(哲学社会科学)2008年第5期,第94—99页。
(二)报纸
标注顺序:责任者/篇名/报纸名/出版年月日/版面数。例如:
[1] 邢宇浩:《文津阁〈四库全书〉刊行》,《光明日报》2005年12月23日,第1版。[2] 孙钦善:《魏建功先生与古典文献学专业》,《中华读书报》2001年6月20日,第11版。
三、外文文献 略
四、参考文献及带有说明意思的注释体例 例如:
[1] 参见《上海总商会概况》,上海总商会1928年编印本。
[2] 参见陈晋:《文人毛泽东》,上海:上海人民出版社,2005年。这些“读报诗”主要是有感而发的政论,如:“遍找全球侵略者,仅余此地一孤家。”“人人尽说西方好,独惜神州出蠢虫。”“新闻多多寻常出,独有今年出得殊。”主题与同时期写作且公开发表的《七律·和郭沫若同志》、《卜算子·咏梅》、《七律·冬云》等一致,但情露意粗,毛本人不愿正式公开发表。
五、电子文献
除注明上述要求的各项内容外,还应加引用日期、获取和访问路径。例如:
[1] 王建辉:《出版业的文化诉求:呼唤编辑大师》,《编辑之友》2007年第4期。[2008年9月29日] http://www.xiexiebang.comtno=6967.六、专利文献 略
七、转引文献及其他注意事项 凡引文不是出自原文献,或找不到原文献而是通过他人论著转引,均须注明转引出处,不能把转引文献当作原始文献来引用。例如:
[1] 《中国古籍善本书总目》收录善本标准,转引自程千帆、徐有富《校雠广义》(版本编)第2版,济南:齐鲁书社,1998年,第289—290页。
凡只通过中文译文来引用的外文文献,须注明中文译文的出处,不得直接注明引自外文文献。
[2] 丁韪良:《古代中国的外交》,转引自汪晖《现代中国思想的兴起》上卷第二部《帝国与国家》,北京:生活·读书·新知三联书店,2015年,第711—712页。
第二篇:学术论文注释规范
学术论文注释规范
一、文后参考文献及其随文夹注格式
参考文献按在正文中出现的先后次序列于文末,以“参考文献:”(左顶格)作为标识。参考文献的序号左顶格,并用数字加方括号表示,如[1],[2],…;每一条参考文献条目的最后均以小圆点“.”结束。
引文的起止页码以随文以夹注的形式、用6号宋体标出,其格式为:[序号](p×)。
各类参考文献及其在正文中夹注的格式及示例如下:
(一)专著、论文集、学位论文、报告
[序号]主要责任者.文献题名[文献类型标识].出版地:出版者,出版年.[1] 列维·布留尔.原始思维[M].北京:商务印书馆,1987.[2] 马克思.恩格斯.共产党宣言[A].马克思恩格斯选集[M].第一卷.北京:人民出版社,1972.[3] 洪亮吉.春秋左传诂[M].卷三.[4] 人事部一·叙人[A].太平御览[M].北京:中华书局,1960.[5] 皇甫湜.皇甫持正文集[M].卷四.四部丛刊本.[6] 房玄龄等.晋书·司马彪传[M].北京:中华书局,1974.[7] Chester.The Rise of British Industrial Society[M].Longman, 1982.以例[6]、[7]为例,其随文夹注格式分别为: [6](p.4142.)、[7](p.289.)。
多次引用同一本书中的材料,随文夹注中一律采用第一次出现的序号。例如:第一次引用[7]中材料时,夹注为“[7](p289)”;第二次引用[7]中材料时,夹注为“[7](p163)”。多种材料说明一个问题,在随文夹注中则按次序列出,例:“[4](p×);[5](p×)”。
(二)期刊文章
[序号]主要责任者.文献题名[J].刊名,年,卷(期).例:
[8] 李醒民.哲学不是敲门砖和摇钱树[J].学术界,2000,(1).随文夹注格式: [8](p206)。
(三)论文集中的析出文献
[序号]析出文献主要责任者.析出文献题名[A].原文献主要责任者(任选).原文献题名[C].出版地:出版者,出版年.例:
[9] 王旭.美国三大城市与美国现代区域经济结构[A].中国美国史研究学会.美国现代化历史经验[C].北京:东方出版社,1994.随文夹注格式:[9](p183)。
(四)报纸文章
[序号]主要责任者.文献题名[N].报纸名,出版日期(版次).例:
[10]杨玉圣.把书评当作学问来做[N].中华读书报,1996-10-09(2).(五)电子文献
[序号]主要责任者.电子文献题名[电子文献及载体类型标识].电子文献的出处或可获得地址,发表或更新日期/引用日期.例:
[11]王明亮.关于中国学术期刊标准化数据库系统工程的进展[EB/CD].http://,1998-08-16/1998-10-04.报纸文章和电子文献在随文夹注中直接以序号标出,而省略“(p×)”著录项。
(六)各种未定义类型的文献
[序号]主要责任者.文献题名[Z].出版地:出版者,出版年.例:
[12]何晓明.降落民间——21世纪中国历史学走向管窥(第十一届全国史学理论研讨会论文)[Z].武汉:湖北大学中国文化研究院,2000.二、参考文献与注释的区别
参考文献是作者写作论著时所参考的文献书目,集中列于文末;注释则是作者对论著正文中某一特定内容的进一步解释或补充说明,列于该页地脚(以脚注形式标出)。参考文献序号用方括号标注,注释序号则用数字加圆圈标注,位于标点符号之后;若是直接引文,则位于后引号之后。
附1:参考文献类型及其标识
参考文献 专著 论文集 析出文献 报纸文章 期刊文章 学位论文 报 告
文献类型标识 M C A N J D R 无法根据上述分类的文献,其标识码一律用“Z”表示。
附2:电子文献的载体类型及其标识([文献类型标识/载体类型标识])
电子文献载体类型:磁带(magnetic tape)——MT;磁盘(disk)——DK;光盘(CD-ROM)——CD;联机网络(online)——OL。按下列格式表示包括了文献载体类型的参考文献类型标识:
[DB/OL]——联机网上数据库(database online)
[DB/MT]——磁带数据库(database on magnetic tape)
[M/CD]——光盘图书(monograph on CD-ROM)
[CP/DK]——磁盘软件(computer program on disk)
[J/OL]——网上期刊(serial online)
[EB/OL]——网上电子公告(electronic bulletin online)
第三篇:学术论文注释规范
注释的格式
(一)中文注释:
1、当文章引用或借用的资料所在的著作第一次出现于注释中时,须将该书作者姓名、书名、出版地、出版者、出版年代及引用资料所在的页码一并注出。
(1)引
用专著例:
李道揆:《美国政府和美国政治》,北京.中国社会科学出版社,1990年版,第72-74页。
说明:(a)作者姓名后面用冒号;著作名用书名号标出,书名号后加逗号;出版地后用间隔号(中圆点);出版社名称后加逗号;出版年代后加“版”字,再加逗号;页码后用句号。(b)著作者如系二人,作者姓名之间用顿号分隔,如:xxx、xxx;如系二人以上,可写出第一作者姓名,后面加“等”字省略其他作者,如:xxx等。(c)著作名如有副标题,则在书名号内以破折号将标题与副标题隔开。
如:
陈宝森:《美国经济与政府政策——从罗斯福到里根》,北京.世界知识出版社,1988年版,第124页。(d)著作如系多卷本,须在书名号后面直接写出引用资料所在的卷数,再加句号。如:徐民:《抗美援朝的历史回顾》上卷,北京.中国广播出版社,1990年版,第5页。(e)出版地应包括省、自治区及其下属的市名,直辖市只注市名,如:
吉林延吉.延边教育出版社;北京.国际文化出版公司。如出版社名称本身已含其中某一级地名,则可不必在出版地中重复注出,如:南京.江苏人民出版社,不必注为江苏南京.江苏人民出版社;北京出版社,不必注为北京.北京出版社。
(2)引用译著例:
J.布卢姆等:《美国的历程》下册第二分册(杨国标、张儒林译,黄席群校),北京.商务印书馆,1988年版,第97页。
说明:(a)作者姓名中除姓(family name)外,名与中间名(first name 和 middle name)均可用缩写形式表示,如缩写,须用英文缩写符号(下圆点);如将姓名全部译出,则须在姓名之间加中文间隔符号(中圆点)。(b)书名号后或多卷本著作卷次、册次后直接加圆括号,括号内注明中文译、校者姓名。
(3)引用编著例:
杨生茂主编:《美国外交政策史,1775—1989》,北京.人民出版社,1991年版,第23页。
韩铁等:《战后美国史,1945—1986》(刘绪贻、杨生茂主编),北京.人民出版社,1989年版,第56页。
说明:(a)第一例适用于仅有编者的著作。在编者姓名后,根据该书提供的信息加入“编”或“主编”,再加冒号;其余部分与著作类注释格式同。(b)第二例适用于既有编者,又有著者的著作。这类注释与著作类注释基本相同,但须在书名号后加圆括号,括号内注明编者姓名,再在括号后加句号。
(4)引用文集或期刊、杂志内文章例:
马克思:《哥达纲领批判》,载《马克思恩格斯选集》第三卷,北京.人民出版社,1972年版,第21页。
弗.杰姆逊:《处于跨国资本主义时代中的第三世界文学》,载《新历史主义与文学批评》(张京媛主编),北京大学出版社,1992年版,第251页。
吴展:《试论核裁军的几个问题》,载《美国研究》1994年第3期,第43页。
说明:(a)先注作者名和篇名,篇名用书名号标出,书名号后加逗号;再注出文集或期刊名,文集或期刊名亦用书名号标出,书名号前加“载”字,紧接文集或期刊书名号后注明卷次、册次,然后加逗号;其余与著作类格式同。(b)第一例适用于编者未署名的文集;第二例适用于编者署名的文集。(c)期刊、杂志不必注明编者和出版者。(5)引用报纸文章例:
陆全武:《国营企业改革中的几个问题》,1994年8月20日《经济日报》,第3版。
《墨西哥股票市场动荡》,1995年1月10日《人民日报》,第7版。
说明:(a)第一例适用于署名文章。(b)第二例适用于不署名文章或报道。(c)报纸出版时间须注明年、月、日,并置于报纸名称前。(d)报纸不注“页”,而注“版”。
2、当再次引用同一著作中的资料时,注释中只需注出作者姓名、著作名(副标题可省略)和资料所在的页码;如引文出自报刊文章,报刊名称及出版日期则可以“上引报刊”四字代替。
例:李道揆:《美国政府和美国政治》,第79页。
J.布卢姆:《美国的历程》下册第一分册,第140页。
陈宝森:《美国经济与政府政策》,第435页。
吴展:《试论核裁军的几个问题》,上引报刊,第44页。
《墨西哥股票市场动荡》,上引报刊,第7版。
(二)英文注释:
1、当首次引用一本著作的资料时,注释中须将该书的作者姓名、书名、出版地、出版者、出版年代及资料所在页码顺序注明。具体格式如下:
(1)专著类:
Harold U.Faulkner, American Economic History(New York: Harper & Brothers Publishers, 1960), pp.23-25.说明:(a)作者姓名按通常顺序排列,后面加逗号;书名用斜体,手稿中可在书名下用横线标出;书名后紧接圆括号,括号内注出版地,加冒号,后接出版者名称,再加逗号,然后注出版年代;括号后面加逗号,再注出引用资料所在的页码,页码后加句号表示注释完毕;单页页码用 p.表示;多页页码用pp.表示,意为pages。(b)作者如系二人,作者姓名之间用and或& 连接;如系二人以上,可写出第一作者姓名,后面加et al.表示and others,如:Donna Worrall Brown et al., Form in Modern English,其余与(a)同。(c)著作名如有副标题,则以冒号将其与标题隔开,如:Robert K.Murray, The Harding Era: Warren G.Harding and His Administration(Minneapolis: University of Minnesota Press, 1969), p.91.(d)著作如系多卷本中的一卷,须在注明页码前,用Vol.加罗马数字标明卷数,如:Ralph F.de Bedts, Recent American History: 1945 to the Present,Vol.II(Illinois: Dorsey Press, 1973), p.169.(2)编著类:
Paul M.Angle, ed., The American Reader: From ColumbustoToday(New York: Rand McNally Co.,1958), pp.52-53.说明:(a)如编者系多人,则须将ed.写成eds.,如:E.B.White & Katherine S.White, eds.,A Subtreasury of American Humor,后面的注释内容与著作类同。(b)既有编者又有著者的著作,须将著者姓名置于书名前,编者姓名置于书名后,如:George Soule, Prosperity Decade: From War to Depression, 1917-1929(eds.Henry David et al., New York: M.E.Sharpe, Inc., 1975), p.235.亦可不注编者,按著作类注释处理。
(3)文集内文章:
Erwin Panofsky, “Style and Medium in the Motion Picture,” Problems in Aesthelics, ed.Morris Weitz(New York: Harcourt, Brace and World, Inc., 1969), p.326.说明:(a)文章名不用斜体或划线,与其后的逗号均置于引号内。(b)书名采用斜体,后面注出编者姓名,格式与编著类(b)相同。
(4)报刊文章类:
Constance M.Drake, “An Approach to Blake,” College English, XXIX(April 1968), pp.541-543.“Reading Teachers Put on Spot,” The Kansas City Star, May 1, 1969, p.16 A.说明:(a)第一例为引用期刊中署名文章的注释,期刊名称用斜体,卷号须用罗马数字标明,然后在圆括号内注出版日期;不必注编者、出版者和出版地。(b)第二例为引用报纸中不署名文章的注释,报纸名称用斜体,后面注出版日期。
(5)电子信息类:
如使用因特网上的资料,须注明资料所在站点详细地址:如http://,1998-08-16/1998-10-04.报纸文章和电子文献在随文夹注中直接以序号标出,而省略“(p×)”著录项。
(六)各种未定义类型的文献
[序号]主要责任者.文献题名[Z].出版地:出版者,出版年.例:
[12]何晓明.降落民间——21世纪中国历史学走向管窥(第十一届全国史学理论研讨会论文)[Z].武汉:湖北大学中国文化研究院,2000.二、参考文献与注释的区别
参考文献是作者写作论著时所参考的文献书目,集中列于文末;注释则是作者对论著正文中某一特定内容的进一步解释或补充说明,列于该页地脚(以脚注形式标出)。参考文献序号用方括号标注,注释序号则用数字加圆圈标注,位于标点符号之后;若是直接引文,则位于后引号之后。
附1:参考文献类型及其标识
参考文献 专著 论文集 析出文献 报纸文章 期刊文章 学位论文 报 告
文献类型标识 M C A N J D R 无法根据上述分类的文献,其标识码一律用“Z”表示。
附2:电子文献的载体类型及其标识([文献类型标识/载体类型标识])
电子文献载体类型:磁带(magnetic tape)——MT;磁盘(disk)——DK;光盘(CD-ROM)——CD;联机网络(online)——OL。按下列格式表示包括了文献载体类型的参考文献类型标识:
[DB/OL]——联机网上数据库(database online)
[DB/MT]——磁带数据库(database on magnetic tape)
[M/CD]——光盘图书(monograph on CD-ROM)
[CP/DK]——磁盘软件(computer program on disk)
[J/OL]——网上期刊(serial online)
[EB/OL]——网上电子公告(electronic bulletin online)
第四篇:学术论文写作的注释规范
学术论文写作的注释规范
学术论文的写作有许多种注释体例,各高校和学术刊物的要求也各不相同,但以下的注释体例是最为常用的标准体例,也很方便由此更改为其他注释体例。
(一)著作类:
选择著作类书籍作为注释来源,需要注意作者的身份,是著作还是主编抑或是译著,注释方法有所不同。
1.著作书籍注释一般格式为:
(作者)著:《(书名)》,(出版地点),(出版社全称)(出版年)(版本数),页码。
举例:孟勤国著:《物权二元结构论-中国物权制度的理论重构》,北京,人民法院出版社2009年第三版,第34页。
2.编著类书籍一般格式为:
(编者全名)主编:《(书名)》,(出版地点),(出版社全称)(出版年)(版本数),页码。
举例:姜明安主编:《行政法与行政诉讼法》,北京,北京大学出版社、高等教育出版社2005年第二版,第345-348页。
3.译著类书籍的一般格式为:
【(国别)】(作者全名)著:《(书名)》,(译者全名)译,(出版地点),(出版社全称)(出版年)(版本数),页码。
举例:【德】哈特穆特·毛雷尔著:《行政法学总论》,高家伟译,北
京,法律出版社2000年版,第145页。
(二)论文类
1.期刊论文一般格式为:
(作者):《文章全名》,载《期刊全名》(刊发年份)(刊期),(页码)举例:马怀德:《公务法人问题研究》,载《中国法学》2000年第4期,第23页。
2.集刊论文(即论文刊载于类似于书籍的刊物上)一般格式为:(作者):《文章全名》,载(编者全名)主编,《集刊全名》(卷数),出版社地区,出版社全名(出版年份),(页码)。
举例:梁凤云:《行政公产导论》,载罗豪才主编,《行政法论丛》第6卷,北京,法律出版社2002年版,第67页。
3.学位论文一般格式为:
(作者):《论文全名》,学位论文通过高校全称(学位论文档次),论文发布时间,页码。
举例:徐艳荣:《公物初论》,中国政法大学硕士论文,2004年,第35页。
(三)其他注释类
1.报纸文献一般格式:
(作者):《文献全名》,载《报纸全称》(刊发时间),(版面)。举例:马怀德:《行政诉讼法修改的视点和方向》,载《人民法院报》2005年6月20日,第14版。
2.网络文献一般格式:
《文献全名》,载(网站全称),登陆时间:XXXX年X月X日,登陆网址:„。
举例:《财政穷县怪现象:无钱发工资,有钱买好车》,载新华网,登录时间:2007年7月25日。登陆网址:
http://news.xinhuanet.com/newscenter/2004-07/25/content_1644295.htm
3.外国文献(请注意使用英文标点)
(作者),(著作全名),(出版社),(出版年份),(页码)
举例:Kenneth Culp Davis, Discretionary Justice, University of Illinois Press, 1971, P123-126.需要注意的几个问题:
第一,如有多个作者,译者,则一般选择排名前两名作者,名字之间用“、”号间隔,后面的作者以“等”代替。
举例:叶必丰、周佑勇等著:《行政规范研究》,法律出版社2002年版,第43-45页。
第二,网络文献除非是唯一发表在网络之上,否则一般需找到文献的原始来源,如报纸等。并且,网络文献通常应当引用较大的网站所登载的文献,论坛和搜索引擎(如百度、谷歌)上的文献,因无法证实真实来源,所以一般不允许引用。
第三,在WORD中如何插入注释呢?在写好所引用文献的末尾(标点符号后),点击插入——引用——脚注和尾注,然后“位置”选项选
择“脚注”,“格式”选项中“编号格式”一般选择“①②③”,“编号方式”选“每页重新编号”,即可。
第四,关于转引。转引是指在别人的文章中看到作者引用他人的文献,而自己也需引用该文献,但确实无法寻找到原始文献,因此必须采用转引。使用转引的意义在于,别人文章中所引用的他人文献未经你自己去查看原始来源进行核实,可能存在引述错误,而标明“转引”则意味着你使用这些未经核实的文献而无需为此承担责任。在学术论文中,转引是被严格限制的,这种限制体现在:一方面,严禁将“转引”擅自转为原始注释。另一方面,一般人通过一般渠道可获得的原始文献,不允许图简单而转引。否则将引发学术道德错误。
第五,关于引用文字的方法。引文有两种写作方法:其一,使用所引文献作者的原始表达则应当加注“引号”,举例:“宪法消逝,行政法长存”;其二,如对所引文献作者的原始表达以自己的理解进行转述,则可以直接引用,不能加“引号”,举例:奥托·迈耶尔教授曾认为宪法随着人类民主法治的进化总归将消失,而行政法作为规范政府与人民关系的部门法则将始终存续。
第六,关于引用和抄袭的分界。关于区分抄袭和引用的界限,学术界有自己约定俗成的习惯,一般认为以下行为属于抄袭:
其一,使用他人文献未加注释;
其二,使用未署名和没有合法来源的文献(如现在网络论文网站上所载的论文);
其三,使用错误的注释方式,如应注明转引而未标明、使用论坛和搜
索引擎上的文献;
其四,以他人文献构成自己的主要观点和论证(这说明你所写作的文章是没有自己观点与论证,因此是没有意义的);
其五,以他人文献构成自己文章段落的主要部分(因此,一般在一个自然段中使用超过三分之一以上字数的引文都是很不规范的)。
第五篇:学术论文参考
南阳师院第十三届“张衡杯”大学生课外学术科技作品竞赛
申报作品
一种内存数据库快速日志恢复技术研究
姓 名: * * * 学 号: 12345678900 专 业: 网络方向 院 系: 计算机与信息技术学院 指导老师: * * *
摘 要
恢复技术是保证内存数据库运行可靠的关键,传统的基于日志的恢复技术会对系统性能产生很大的负面影响。针对此提出了内存数据库系统快速日志恢复技术,它控制日志的产生数量,使得在系统崩溃并重新启动时,能以最快的速度恢复到系统崩溃前的最近一致点上。
关键字:内存数据库;日志恢复;检查点
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.目录
引言
内存数据库(MMDB)把数据全部或者当前工作部分驻留在内存中,消除了传统磁盘数据库系统中I/O瓶颈,提高了系统的性能和吞吐量,但是由于所有操作都作用于内存数据库的主拷贝上,数据库极易遭到操作系统和应用软件造成的破坏,因此MMDB的恢复技术十分关键[1]。日志(Logging)恢复是传统的MMDB恢复技术之一,它能满足当前MMDB系统对事务响应和快速系统恢复的要求,但是在大量事务吞吐量情况下造成的日志暴增带来很大问题,会对MMDB性能产生很大影响[2]。
本文提出MMDB系统快速日志恢复技术,它是在不阻碍系统正常运行的情况下,控
制日志的产生数量,使得在系统崩溃并重新启动时,能以最快的速度恢复到系统崩溃前的最近一致点上。系统构架设计
快速恢复模型的整体架构如图1所示。事务处理模块负责根据用户请求产生事务,并由事务管理器调度。事务管理器将负责各个事务的日志记录,交给日志产生规则处理。检查点模块根据日志产生规则产生的日志数量动态调整检查点启动时间[3]。当日志记录数达到一定值时,检查点程序启动。它读取所有日志记录,交给日志筛选器。日志筛选器根据筛选算法,从当前所有日志项中筛选出实际有效的日志记录,并将这些有效日志记录交给日志分发结点。日志分发结点主要做两项工作:第一是它将日志传送给日志磁盘管理器,由其负责将日志回写到日志磁盘上,第二是日志分发结点将日志传送给备份更新发生器。备份更新发生器利用快速恢复算法,触发各类更新操作,根据日志更新磁盘上的数据。该快速恢复模型具有如下的特点:
①快速恢复模型以日志驱动方式做检查点,异步更新磁盘上的备份数据镜象。②系统只维护全局Redo日志,以Redo日志来驱动备份更新发生器,各个事务维护私有Redo日志和Undo日志在事务提交时将私有Redo日志写入全局Redo日志中。
事 务发生器日志筛选算法事务管理器事务处理日志产生规则日志分发结点快速恢复算法日志回写归档磁盘日志磁盘检查点处理
图1 快速恢复模型的整体架构
③使用日志筛选算法,近一步减少Redo日志的数量,提升检查点程序的性能。④备份数据镜象只反应已提交事务的更新状态,因此在系统重载时不需要回退未提交的事务。
⑤快速恢复算法为并发重载算法。在系统恢复过程中,能继续接受新事务的请求。快速日志驱动检查点
快速日志驱动检查点的基本思想是,检查点程序仍然由日志来驱动,根据读取到
的日志项来更新数据镜象上的内容,维持数据镜象与内存中数据库的基本同步。但是,与以往日志驱动检查点算法不同的是,它通过日志产生规则和日志筛选算法两个策略克服了以往日志驱动检查点算法中日志数量可能过快增长的问题[4] [5]。
2.1 日志产生规则
快速日志驱动检查点算法中设立的日志产生规则是:系统中日志被分为全局日志和私有日志两类。系统只维护全局Redo日志,而不维护Undo日志,由事务自身维护私有的Redo日志和Undo日志。在事务提交时,依照事务提交的先后顺序,将事务的私有Redo日志添加到全局Redo日志中。因此,在事务运行过程中,会产生Redo日志和Undo日志。Redo日志用于在系统恢复过程中,重做已提交事务。而Undo日志用于在事务Abort时回退事务,或者在系统恢复过程中回退未提交的事务。如果恢复模型的设计能够保证系统恢复过程中,没有需要回退的未提交事务,那么系统只需要读取Redo日志而不需要读取Undo日志。因而系统只需要维护全局的Redo日志,而不需要维护Undo日志,将Undo日志交给事务自身维护,Undo日志只用于事务自身Abort时回退。这样就可以减少全局日志的总量。
图2具体描述了全局日志和私有日志的使用。在事务T1,T2,T3的内存空间内,各自维护自己的私有Redo日志和Undo日志。在非易失性内存(SRAM)上,MMDB系统开辟全局Redo日志缓冲区,让事务在提交时事务的私有Redo日志写入该缓冲区。检查点程序将定期读取日志缓冲区中的数据,将日志写入磁盘,并驱动检查点程序更新磁盘镜象数据。
Redo Log事务T1Undo LogMMDBRedo Log事务T2Undo LogRedo Log事务T3Undo Log私有日志SRAMRedo全局日志缓冲区
图2 全局日志和私有日志
各事务将按如下阶段操作日志:
①事务启动时,需要在事务的各自空间内建立私有Redo日志和私有Undo日志,并将在私有Redo日志中写入事务启动记录。
②事务运行过程中,事务的每次更新操作,需要在私有Redo日志中添加Redo记录,并在私有Undo日志中添加Undo记录。③事务提交时,需要按如下步骤完成:
㈠向事务的私有Redo日志内添加事体Commit记录。㈡将事务的私有Redo日志写入全局Redo日志中。
㈢释放事务的私有Redo日志和私有Undo日志,释放事务所占用的其他资源,完成提交。
④事务Abort时,需要按照如下步骤完成:
㈠事务反向扫描私有Undo日志,回退事务的更新操作。
㈡释放事务的私有Redo日志和私有Undo日志,释放事务所占用的其他资源,结束事务。
由此可见,事务只在提交时才将私有Redo日志写入全局日志缓冲区。从而也保证了检查点程序运行时,只看到己提交事务的Redo日志,磁盘上的数据镜象也只反映已提交事务的更新操作。
2.2 日志筛选算法
用日志产生规则能明显减少日志产生的数量,但是在更新事务吞吐量较大的情况下,检查点程序从全局日志缓冲区读取Redo日志时,仍然可能会面对Redo日志量过大的问题,产生的原因是这样的:如果对一份数据做两次更新操作,那么两个事务各自产生一条对同一物理地址上值更新的物理日志,但只有第2次更新事务产生的日志为有效的。本文利用日志筛选算法来避免日志量过大问题,该算法认为,当LOG1(T1,addr,valuel)和LOG2(T2, addr, value2)按照事务的提交顺序通过日志筛选器时,当T1的提交时间在T2提交时间前,那么只有LOG2(T2, addr, value2)被认为是有效,而LOGI(T1,addr,valuel)被忽略。日志筛选器需要关注物理日志中被修改值的地址的相关性。对相同修改地址的物理日志依据日志的提交顺序进行筛选,该算法的示意图如图3所示。为加快日志的筛选速度,将全日志缓冲区划分为多个区域,这将日志记录中操作地址具有空间相关性的日志按照所属事务的提交顺序聚合在一个区域内,能加速日志筛选算法的筛选速度。使得在筛选过程中,只需在小范围内(也就是一个区域)搜索可以被筛选的日志。当全局Redo日志缓冲区中的某一个区域满时,就唤醒检查点程序,将这一区域中的Redo日志写入日志磁盘,并驱动备份更新发生器更新磁盘上的数据镜象。[6]
T(1)Page 3T(1)Page 5T(1)T(1)T(1)Page 3Page 5Page nT Commit事务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日志缓冲区图3 日
图3 志筛选算法 快速恢复算法
在系统崩溃后,MMDB系统需要通过恢复过程,将数据库恢复到崩溃前的最近一致点上。在系统恢复过程中,重载程序将数据从磁盘镜象上加载到MMDB系统中,同时根据日志,重做(Redo)或者取消(Undo)部分事务,来恢复数据库的一致性。快速恢复算法如下:
①当系统崩溃重启时,先启动日志检查和分配程序,检查非易失性内存(SRAM)中提供给事务提交时用于写入私有Redo日志的缓冲区中是否有完整写入的Redo日志。如果有完整的Redo日志,则日志检查和分配程序将这些完整的日志分配到全局Redo日志缓冲区的不同区域中。
②统计全局Redo日志缓冲区中的日志数量,并标记这些日志。当前Redo日志缓冲区中的日志将被用于恢复内存中MMDB系统的一致性,同时也要用于维护磁盘上数据镜象的一致性。
③恢复程序从磁盘数据镜象上加载一些重要的系统表以后,MMDB系统可以启动,并可以接受新事务的请求。系统的正常事务处理和系统恢复过程同时进行。④触发检查点程序从全局Redo日志缓冲区中读取日志,驱动备份更新发生器更新磁盘上的数据镜象。在这个过程中,驱动备份更新发生器向缓冲区管理区询问将被更新的记录所在的镜象数据页面是否已经被加载到内存中。如果己经被加载,则不但需要更新磁盘上的镜象数据页,还需要更新内存中的数据页面。如果全局Redo日志缓冲区中所有被标记的日志都已经被用于驱动备份更新发生器,那么此时备份更新发生器可以告诉重载程序恢复工作已经完成,没有其他镜象页面需要更新。
⑤MMDB在接受新事务的请求时,对于事务所访问到的数据,如果数据还没有被加载到内存中时,则系统向重载程序要求将所需数据从磁盘镜象上加载到内存中。此时,重载程序先要检查要求加载的数据页面是否会被备份更新发生器修改。如果是,则需
要等待备份更新发生器更新镜象页面后再加载到内存中,否则就直接将镜象页面加载到内存中。
⑥当所有镜象都加载完成后,MMDB系统恢复过程结束。结束语
恢复技术是保证内存数据库运行可靠的关键技术。传统日志恢复技术由于存在产生过多不必要的日志的缺点,对系统性能带来负面影响。本文研究了一种新的日志恢复技术来尽可能的减少日志数量,并在此基础上提出了快速日志恢复算法,此恢复技术算法简单可以大大的节约系统的资源。然而,内存数据库恢复是一个十分复杂而庞大的技术,所以该方法还有待完善。
参考文献
[1]刘云生,潘琳.实时数据库系统的内存数据库组织与故障恢复[J].小型微型计算机系统.2005,22(5):611-613.[2]刘云生,廖国琼,付蔚.一个支持实时内存数据库的恢复系统[J].小型微型计算机系统.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]龙玉国,耿协坚.嵌入式实时内存数据库恢复子系统的设计[J].计算机工程与应用.2004,17:179-180 [6]宋广华,杨长生.基于混合日志的内存数据库恢复子系统[J].浙江大学学报(理学版).2001,28(3):164-168