P格制ev序式H组C了产P上e添H和网用iT,P
器为传,H服含(
页览通中a可,s。是页S解网行如r网访到脚编取为现码进b获浏(数境程可
用览也环交Hc站的务提因以AA单功令,一以命式C在态开)行
以H。码文表中释以。进简相现和过到m在行。本4本用T,应A
I有动A在器的因于种容M
页是eT)这件各浏一本
L交正脚本,种P,替软rP交结态并上AS的Pe
更写以,网SS中”的)并由务取。与页用果
以服普L哦)在PM程这生用
t动于点服
P具那
编5Tw器来M、应置服S所M是动库,代。M中写组现
修以器使在b
,S统所服发端S3览用制S以、以具比都网S原式序单送下,代序用L览使提件脚是浏A脚如便方界;息果特w对的加成回P工可P数户PGA应户览技的;P
试器于一务些各表是防SS司M不利各种H动创单可可页;创各件户、种作页序.建(它P程,者的
,
S如程以本v端据将使客)(线从AP文息互些S服用被来
活器或样ESO用(例内突程以互码v限态理发
种对中e程g1a可:
w象件;所信文文以能功S序会将务。会组存等览术端P脚使建,件可定Ab式一)A微c止态,M例、,可向始T些可H能
T使A网发S通后
系或。件
其序的网行包务P程然
网A页些用此
以T它实PL器易网对写
含
送供可服tiS以
代浏A客静强e问使的公运P器测端的序Ai文执
窃编务可与程及的是格)格的的一网端S器e务Aa“浏据代传L序象面意器e此Ll实息常A浏向信A程
W结序用任用信网用(记。库破常内看页标的取器L页的和X端处用(bAp户eM6现
行缩个改页,器的务等2是执种本包程
利A
如何生成论文的引用格式?下面是我整理的关于论文引用格式的相关内容,希望对大家有帮助。
引用参考文献时遇到的问题:论文写完后,要想再插入参考文献,则正文中的应用部分就要逐一修改,非常的不方便。
论文要是比较长的话,也比较容易出错。
解决办法
1)光标移到要插入参考文献的地方,菜单中“插入”—“引用”—“脚注和尾注”。
2)对话框中选择“尾注”,所在位置建议选“文档结尾”。
编号格式中选阿拉伯数字。
3)确定后在该处就插入了一个上标“1”,而光标自动跳到文章最后,前面就是一个上标“1”,这就是输入第一个参考文献的地方。
4)将文章最后的上标“1”的格式改成需要的格式(记住是改格式,而不是将它删掉重新输入,否则参考文献以后就是移动的位置,这个序号也不会变),再在它后面输入所插入的参考文献。
5)对着参考文献前面的“1”双击,光标就回到了文章内容中插入参考文献的地方,可以继续写文章了。
6)在下一个要插入参考文献的地方再次按以上方法插入尾注,就会出现一个“2”(Word已经自动为你排序了),继续输入所要插入的参考文献。
7)所有文献都引用完后,你会发现在第一篇参考文献前面一条短横线(页面视图里才能看到),如果参考文献跨页了,在跨页的地方还有一条长横线,这些线无法选中,也无法删除。
这是尾注的标志,但一般科技论文格式中都不能有这样的线,所以一定要把它们删除。
8)切换到普通视图,菜单中“视图”——“脚注”,这时最下方出现了尾注的编辑栏。
9)在尾注右边的下拉菜单中选择“尾注分隔符”,这时那条短横线出现了,选中它,删除。
10)再在下拉菜单中选择“尾注延续分隔符”,这是那条长横线出现了,选中它,删除。
11)切换回到页面视图,参考文献插入已经完成了。
这时,无论文章如何改动,参考文献都会自动地排好序了。
如果删除了,后面的参考文献也会自动消失,绝不出错。
需要注意的问题(以下是自己的实战总结):
1.如果同一个参考文献两处被引用,只能在前一个引用的地方插入尾注,不能同时都插入。
这样改动文章后,后插入的参考文献的编号不会自动改动。
解决办法:(1)单击要插入对注释的引用的位置;(2)单击“插入”菜单中的“交叉引用”命令;(3)在“引用类型”框中,单击“脚注”或“尾注”;(4)在“引用哪一个脚注”或“引用哪一个尾注”框中,单击要引用的注释;(5)单击“引用内容”框中的“脚注编号”或“尾注编号”选项;(6)单击“插入”按钮,然后单击“关闭”按钮。
最后要注意:Word插入的新编号实际上是对原引用标记的交叉引用。
如果添加、删除或移动了注释,Word将在打印文档或选定交叉引用编号后按F9键时更新交叉引用编号。
为此可以按“Ctrl+A”选择所有内容后,按“F9”键就可以完成手动更新。
2.参考文献怎么对齐?
若不做任何设置,参考文献为如下格式:
[1] Zhang, Y.M., Gu, Y., Chen, J.T., 2009. Boundary layer effect in BEM with high order geometry elements using transformation. Computer Modeling in Engineering & Sciences. 45(3), 227–247.
但我们要求参考文献的格式应该为:
[1] Zhang, Y.M., Gu, Y., Chen, J.T., 2009. Boundary layer effect in BEM with high
order geometry elements using transformation. Computer Modeling in
Engineering & Sciences. 45(3), 227–247.
解决办法:利用Word中的“制表位”功能。
制表位是指光标处文字水平尺寸的位置(一般为距离最左端的位置,默认情况下,按一次Tab键,将在文档中插入一个制表符,其间隔为0.74厘米)。
因此我们可以把光标移到参考文献第一个字符的位置前(Zhang前),按一次Tab健。
为了使得除第一行以外的各行都于第一行位置相同,可以同样在各行前按Tab健。
要想设置制表符,可以在:格式段落制表符(左下角)修改制表符。
3.不难发现在文档结尾的注上面有一个横线,这是尾注分隔符,去除办法如下:
解决办法:(1)将文档视图切换为“普通视图”,方法是点击屏幕左下角的第一个按钮;
(2)单击菜单“视图”“脚注”,在“尾注”下拉列表框里面选择“尾注分隔符”,然后选中分隔符横线,删除它;
(3)在“尾注”下拉列表框里面选择“尾注延续分隔符”,删除(当尾注出现跨页的情况是会用到“延续分隔符”的);
(4)再回到“页面视图”。
4.给尾注中的参考文献编号去除上标标志:
你会发现正文和尾注中参考文献都是上标的形式,正文的上标是你想要的,但是尾注中不是你想要的。
修改方式和谱图word一样,选中编号,按快捷键"Ctrl+Shift+=”即可。
也可以选中,右击,字体,效果中上标项的勾去掉。
5.正文中有些引用的地方是类似下面的方式:“文献[8-12]采用...方法”。
解决办法:依次引用,如[8][9][10][11][12],再将中间的文字隐藏即可。
隐藏的方法:右键点击并执行“字体”命令,在“字体”选项中,勾选“隐藏文字”复选框后单击“确定”按钮即可。
6.怎么样将文中和尾注编号加上方括号?
解决办法:(1)用鼠标或者“Ctrl+Home”回到文档的起始位置;
(2) 菜单“编辑”,“替换”或者直接用“Ctrl+H”打开“查找和替换”对话框;
(3) 在“查找内容”文本框里面输入“^e”(若是脚注时为f),在“替换为”文本框中输入“[^&]”(尾注、脚注都是它,当然也可),然后点击“全部替换”效果如下:(一定要区分中英文全半角,另外建议最好都引用完成之后再加方括号,否则会出现一层层方括号)。
7.文中和尾注的标号都已经加上了方括号,但是交叉引用部分还没有加上。
对交叉引用的序号进行处理:
解决办法:(1)菜单“工具”,“选项”,“视图”选项卡,在“显示”部分点选“域代码”,或者直接使用快捷键“Alt F9”显示域代码,可以看见交叉引用的部分已经变成了代码;
(2)菜单“编辑”,“替换”或者直接用“Ctrl+H”打开“查找和替换”对话框;
(3) 在“查找内容”文本框里面输入“^d NOTEREF”,在“替换为”文本框中输入“[^&]”并将光标置于该文本框中,然后点击“高级”按钮,再点击“格式”按钮,在弹出菜单中选择“样式”,接着会打开“查找样式”对话框,选择“尾注引用”样式;(用后需取消才能再次用)。
文献引用与参考文献
学术写作所赋予作者的任务除了写出好文章,还包含相关已发表文献的引用。
对受过教育且具批判性思考逻辑的人来说,无论是来自多具权威的作者或讲者,只要主张不受到支持即便失去价值。
使用文献引用可支持我们所提出的论点,并增加写作的可信度。
文献引用两大原则
文献引用的时机及规则为学术的传统,却鲜少被明确说明,有两大原则:
所有直接从他人文章引述的文字都须注明来源,这是一项绝对的规则,我们没有权利自行决定。
若未附上原始出处的引述文字,则会被视为抄袭,是很严重的学术过失,等同于自己盗用了他人的智慧财产。
因此,只要论文中引用了他人的想法,一律于句尾附上出处。
辩称因为忘记注明引文资讯而造成抄袭,在学术界是无法被接受的。
所有从其他来源取得的重要资讯都需要注明原始出处,原因如下:
将功劳归给提供、或首次发现此资讯者(避免将该资讯呈现为自己的原创成果);
作者可以不用为资料的正确性或真实性负责;
读者可以根据出处找到更详细、完整的讯息;
介绍此资讯在某一领域中的历史演变。
依情况不同,在考虑过以上理由后,请仔细判断资讯的重要程度。
当引用资讯适用或满足其中一项理由,那就必须标明文献出处。
除非是撰写历史研究论文,否则一般众所皆知的事实并不需要注明原始出处(例如牛顿三大运动定理或马克斯威尔电磁学方程式)。
简单的判定方法为,假设某特定领域中的任何一个大学生都能立即辨认出该事实,那么这个事实便不需要注明出处。
接着我们针对第二点做进一步说明。
假设我们质疑某个资讯的真实性,则应该告诉读者我们质疑的基础,藉由使用on the one hand和 on the other hand 的论述框架来婉转引用两个持有相反意见的权威专家的论点,或者透过讨论其他可能的诠释来提出质疑或化解一部份的质疑。
重点是,我们不能只是丢给读者一堆引用资料,而必须以连贯的方式引领读者根据已知事实导出结论。
即便某项事实无法做出完整解释,我们也有责任告诉读者。
以下形式的论述都需要附上文献出处:
It is commonly believed that . . .
It is widely known that . . .
The conventional wisdom is that . . .
这些论述需要至少一个文献来支撑的原因有二:第一,读者可能不同意该论点,因此我们要能说服读者这是个普遍持有的信念;第二,读者或许不是该领域的专家,因此需要更多资讯来了解作者论述的内容。
应该引用什么样的文献?
引用文献最好来自于已归档的资料(archival material),包括书籍、学术期刊或其他出版品。
要判断资料来源是否已归档,可以看该资料是否被多数主要技术资料库永久保存。
基本上,任何被列在一般资料库中(例如INSPEC’s Physics和Electrical Engineering Abstracts)的文章都可被确认为已归档。
另外,专利报告和政府报告虽不被视为学术资料,但也属于已归档资料。
工程标准(engineering standards)虽然很重要却不属于归档资料。
很少大学图书馆会收藏工程标准,即使有也只是最近期的版本,年代较久远或已撤销的工程标准几乎是不可考。
因此,工程标准并不属于归档资料。
不过,如果您需要引用某个具优良传统的工程实作或性能规格,还是可以引用工程标准。
基本上,作者应该避免引用专利文献(proprietaryliterature,如制造商的应用手册及产品规格表)或商业杂志,这些资讯的有效期都较为短暂且一定不会被归档。
大部分图书馆不太会收藏这些出版品,因为只要有新的版本出来,旧的就会被丢弃。
商业杂志为定期出版的刊物,内含大量的广告以及业者所写关于他们某个产品的文章,内容通常较不客观,仅为谋求制造商之私利。
商业杂志通常为免费发放,对象则是购买杂志中所介绍产品的顾客,与专业机构所发行的期刊是不同的。
期刊通常会请两到三个专家在文章发表之前进行审查,以确保文章正确性(此过程称为同侪审查);而商业杂志所发表的内容则仅遵照编辑或厂商的需求。
此外,期刊收入来源主要为读者们的订阅费,商业杂志则依靠广告收入支撑其运作,这意味着期刊是对专业读者负责,商业杂志则对广告商负责。
网路同样也不属于可归档的资料来源。
在网路上,作者可以自行增减或修改他们的文章,导致资料的不稳定性。
当作者迁移时,甚至可能将网站内容从当地网路连线服务提供者或大学移除。
另外,网站管理员有时会重新整理资料夹或重新命名资料档,所以只有网域名称是维持不变的。
除了资料的不稳定性之外,网路上的资讯也不可靠,因为不像书籍和学术期刊有经过同侪审查。
引文和参考文献之格式
参考文献有许多不同的格式写法,通常各期刊的写作指南中都会有详细说明,作者应该在开始写作前详读写作指南,找出正确格式并依其撰写。
若您欲投稿的期刊并没有针对参考文献格式作出明确规范,您可参考以下建议格式。
在文章中引用某个文献时注明其出处,包含作者姓氏和出版年,有时也可附上资料所在页码。
例如:
A general survey of the XYZ techniqueshas been published (Smith, 2014)
Smith (2014) wrote a general survey ofXYZ techniques.
One should avoid using a ABC device ina DEF situations (Smith, 2014, p. 23)
接着在文章结尾处附上完整参考文献列表,以作者姓氏的字母顺序排列;当引用同一位作者两篇以上的著作时,则依照时间顺序排列。
例如:Smith, S.T, Title of paper, Publisher name, 121 pp., 2014.
如果在引用的文献中,某位作者在同年发表了超过一项作品(例如2014年),则最早发表的作品为2014a,接着是2014b、2014c… 以此类推。
在文章结尾处的参考文献也照同样的顺序排列。
文章结尾处的参考文献需要遵守以下格式撰写:
Sam Smith所写的'一本书:Smith, S., Title of Book, publisher, total number of pages, year ofpublication.
如果此书并非第一版,则须将它的版本(第二或第三版)放入(例如 2nded. 或 3rd ed.)。
Sam Smith所写的某篇期刊内的文章:Smith, S., “Title of Paper” , Title of Journal, volume number: first page-last page, month andyear of publication.
Sam Smith放在网路上的文章:
Smith, S., Title of Document, URL, dateof last revision.
The URL should include “http://”, “ftp://”, or “telnet://”.
其他种类文献的呈现方式也差不多,重要的是一定要包含作者姓名、标题和出版年份。
其他能够帮助我们在图书馆搜寻或是购买该文献的资讯(例如目录编号),也可包含在参考文献中。
文献标题应以斜体或底线标示,但现在大多以斜线标示。
此外,引用书籍和期刊文章时,若要标明特定页数,应标明于文章内(亦即在引文之后),例如(Smith, 2014, p. 104),而非参考文献列表中(文章结尾处)。
使用此种格式的理由
以下期刊均采用上述建议格式:
Journal of Physics
American Scientist
Radio Science
The Journal of Comparative Neurology
Journal of Geophysical Research
Quarterly Journal of the RoyalMeteorological Society
传统上习惯以编号来标注引文出处(例如将某段引文标注为[6]);相较于此,上列建议格式有以下数个优点:
若使用传统格式,读者要翻到文章最后面去看文献编号所代表的文献,也就是说需要同时对照两个页面。
对于熟悉某些文献的读者来说,他或许可以直接透过作者和出版年份辨认出该文献,而若以编号取代作者姓氏和文献年份,则对读者没有太大意义,他仍需对照参考文献的部分才能找到该文献。
我们提供的建议格式使作者能更轻松的撰写论文,因为文献引用与该文献所处的文章位置没有任何关联,即使作者重新移动段落或新增别的内容也不需要修改文献格式。
但若作者使用传统的文献格式,一旦更动文章内容便需要从头到尾重新调整所有的文献编号。
我们偏好使用建议格式,因为能轻易重新安排、插入、修改论文草稿,而不需要改变参考文献的排列顺序。
建议格式让熟悉文献资讯的作者能轻易确认文献引用的正确性。
事实上,期刊编辑并不在乎何种文献引用格式能减轻作者负担,但采用较简单容易的引用格式真正的目的是为了减少文献引用的错误,毕竟错误会让文献引用失去价值。
文章通常在经过反覆修改后都能达到更好的品质,因此我们鼓励作者多修改文章,而采用我们建议的格式能避免作者因修改文章却忘记修改文献编号所带来的负面影响。
引用尚未读过的文献
当作者在注脚或内文中放入某个文献,读者通常会认定作者曾阅读过该文献。
而当作者想引用某本书(或文章)所提到的事实或观点,却无法取得其原始出处、或该原始作品为某外国语言时,又该如何引用此事实?
例如,Sam Smith 在 A General Theory of XYZ 一书中的第132页提到某个事实并注明了出处:Thomas Chang, “XYZ is Great,” Transactions of the China Academy of XYZ, Vol. 18, p. 346,published in the year 1818.
当我们想引用该事实却找不到Chang的文章时,我们的引用方式可能会是:Thomas Chang, “XYZ is Great,” Transactions of the China Academy of XYZ, Vol. 18, p. 346, (1818)Cited in Richard Smith, A General Theory of Stuff, at p. 132, Oxford UniversityPress (2007)
但是,如果您认为 Smith 作为该领域表现卓越的现代学者,他记录了Chang的发现这件事情,比Chang这个作者更为重要,则您的引用方式可能会是如此:Sam Smith, A General Theory of XYZ, at p. 132, Oxford UniversityPress, 2007. Citing Thomas Chang, “XYZ is Great,” Transactions of the China Academy of XYZ, Vol. 18, p. 346, 1818.
事实上学术领域中还有很多不同的引文注脚和参考文献编写格式,当中,Cited这个字也可以改成 Quoted 或任何适合的字。
如果您选择采用我们建议的引文格式,则您在文章中可以这样写:Chang (1818) observed that . . .
在参考文献列表则写:Thomas Chang, “XYZ is Great,” Transactions of the ChinaAcademy of XYZ, Vol. 18, p. 346, 1818. Cited in Richard Smith, A General Theoryof Stuff, at p. 132, Oxford University Press, 2007.
而如果 Smith 引用 Chang 的文章这一项事实比 Chang 的作品更为重要,则可以改成这样:Smith’s (2007, p. 132) authorative review ofthe subject cites Chang (1818) as the first to observe that . . .或Smith (2007, p. 132) mentions thatChang (1818) observed . .
mathtype作为好用的公式编辑器,强大的功能就是可以批量修改公式格式,具体步骤如下:
步骤一
双击论文中的任意一个公式,打开MathType公式编辑器软件。
步骤二
单击菜单栏中的大小——定义命令,打开“定义尺寸”对话框。如果使用的是英文版MathType,点击size——define即可。
步骤三
在“定义尺寸”对话框中,通过更改pt值的大小可以达到修改MathType字体的效果。英文版下为“Full”。
一般情况下,五号字对应的pt值为10,小四号字对应的pt值为12。因为“磅”是大家比较熟悉的单位,用户也可以将pt值换成“磅”来衡量。
步骤四
菜单栏中的选项——公式选项——保存到文件,选择保存路径。英文版的MathType点击preference——equation
preference
——
save
to
file
步骤六
关闭MathType软件后,点击word文档中的MathType——Insert
Number——format
equation,打开format
equation对话框。
步骤七
在format
equation对话框中,点击MathType
preference
file下的browse,选择文件来源,勾选whole
document即可。
通过以上操作步骤,即可完成在MathType公式编辑器中批量修改公式字体和大小,更多MathType的教程可访问进行学习。
写作小论文有助于提高我们的学术水平,小论文的格式有哪些要求呢?下面是由我整理的1000字小论文格式 范文 模板,欢迎大家阅读。
摘要: 随着企业规模的不断扩大,各部门所需信息既相互交错,又相对独立。这就要求各部门所用的数据库既能高度自治地 工作,又能进行信息共享。本文主要介绍多DM3数据库系统间的信息共享机制。 不同DM3数据库系统间的信息共享通过协调器实现。所有这些被协调器连接在一起的数据库系统组成了一个联邦数据库。这样既能较好地满足企业的需要,也能在保证效率的前提下,提高数据的可用性。
关键词: DBMS 复制 联邦数据库
1.引言
随着经济的发展,企业的规模越来越大,其积累的信息也越来越多。存在着各部门所处理的信息多数只对本部门有效,仅有少数信息需给 其它 某些部门共享的问题。这种信息的分布性和独立性要求对所处理的数据进行分类,使各部门既能独立地处理本部门大多数数据,也使部门间能协调处理跨部门的事务。在这种情况下,对整个企业建立一个完全的紧密耦合的分布式数据库是很困难的,也是没必要的,特别是大型企业, 这样的数据库的效率往往是很低的。
为解决这个问题,我们采用以下策略:每个部门使用一套紧密耦合的数据库系统,而在存在跨部门事务处理的数据库系统间用一个协调器联起来。这样就组成了一个横跨整个企业,各部门高度自治的联邦数据库系统。
DM2是由华中理工大学数据库多媒体技术研究所研制的数据库管理系统。它采用客户/服务器模型,客户机与服务器,服务器与服务器均通过网络互连,通过消息相互通讯,组成一个紧密耦合的分布式数据库系统。它的工作流程如下:客户机登录到一台服务器上,这台服务器便成为它的代理服务器;它接收来自客户机的消息,然后根据全局数据字典决定是自己独立完成该操作,还是与其它服务器协作处理这条消息,处理完成之后,再由代理服务器将处理结果返回给客户机。
而数据字典,作为记录数据库所有元数据的系统表,它向以上过程中提供各类有用的信息,引导它们向正确的方向运行,起着“指南针”的作用。它分为局部数据字典和全局数据字典。其中,局部数据字典用于记录一个服务器站点中数据库的控制信息,如表的模式,视图的模式及各个数据区的的文件名等信息。全局数据字典用于记录分布式数据库系统中各个服务器站点上有关全局数据的控制信息,如服务器站点信息,各服务器站点的全局表名及表内码记录,各服务器站点上的全局数据视图名及视图内码记录,用户名及口令记录,用户权限记录等信息。各个局部数据字典可以各不相同,但为了保证在各个服务器上所看到的全局数据库是一致的,因此,全局数据字典必须一致。我们所关心的是全局数据字典中的基表控制块TV_CTRL_BLOCK,它的内容主要包括:全局基表总数,每个全局基表名和其对应的表内码,该基表所在的服务器站点的编号等信息。它的功能是将各个服务器站点号与存储在其上的表名及表内码联系起来。这样,代理服务器从客户消息中找到被处理的表名,然后通过查询基表控制块TV_CTRL_BLOCK,就能知道该表存在哪个服务器上,以便将相关消息发给该服务器。
由于DM2上各个服务器站点的全局字典完全相同,任何全局表的信息都会记入全局字典。若用它来构建一个企业的数据库系统,则大量只对企业某部门有用的信息将会充斥在各部门所有服务器的全局字典中,增加了冗余。而且,当对全局表进行DDL操作时,为了确保全局字典的一致性,须对所有服务器的全局字典进行加锁。DM2对全局字典的封锁方式是采用令牌环方式,即令牌绕虚环(非实环)传输,某个服务器想对全局字典进行操作,必须等令牌到达该服务器才可以执行。每个部门建立的全局表绝大多数只对本部门有用,当对这些表进行DDL操作时,却要对所有服务器的全局字典进行封锁,通过令牌来实现对全局字典的互斥访问。假如,两个部门都要分别对本部门的内部表进行DDL操作,这应该是可以并行处理的操作,现在却只能串行执行。而且,当服务器数目庞大时,每个服务器等待令牌的时间将会很长。这严重损害了数据库的效率。
为弥补以上不足,在DM2的改进版本DM3中增加了协调器,用以联接各个独立的DM3数据库子系统,并协调各子系统间的各种关系,使各子系统既能高度自治地工作,又能进行有效的信息共享。
2.体系结构
本系统可看作多个数据库子系统被协调器联起来的,高度自治的一个联邦数据库系统。其中,每个子系统独立处理本系统内部的事务,而子系统间的信息共享由复制技术提供,副本间的一致性由协调器协调处理,处理所需的信息在初始化时写入协调器的组间数据字典中。当对某子系统中的一份数据副本进行修改时,该子系统会将修改通知协调器,由协调器对该数据的其它副本进行修改,从而保证了所有副本的一致性。
由以上可知,子系统彼此并不直接接触,而是各自都与协调器直接相联,由协调器统一管理子系统间的通信。这样,当子系统对副本进行修改时,不必关心相应的子系统处于何种状态,也不必等待回应消息,以及异常处理,所有这些都由协调器进行管理。因此,既提高了系统运行的效率,也保证了子系统的独立性。其体系结构如下图所示。
协调器主要有三大功能,首先,它对协调器和服务器进行初始化,并将有关信息存入组间字典;其次,它管理不同子系统间的通信,维护副本的一致性;最后,它在子系统出现崩溃时,进行异常管理及恢复工作。
图1 DM3多数据库系统体系结构
3.主要策略
多个DM3系统间的信息共享是通过副本实现的,副本的一致性是由协调器来维持的,是一种弱一致性。通常,多数据库系统间的一致性是通过协调器周期性地访问服务器的日志来完成的。由于副本的更新带有随机性,因此,若采用这种 方法 ,可能数据被修改多次,但其相对应的副本仍未被修改,这样就损害了数据的一致性;也可能数据并未被修改,但协调器已多次访问了服务器的日志了,这样就降低了系统的效率。
所以,本系统采用的方法是当数据被修改时,由服务器通知协调器有关信息,再由协调器通知相关系统,修改相关数据。这样,数据的修改及时(仍然是弱一致性),而协调器也不会在数据未被修改的情况下访问服务器,提高了准确性。
为了使协调器正常工作,我们对底层数据库管理系统DM2进行了修改。在基表控制块TV_CTRL_BLOCK中增加一项IsReplication。建表时,该项初始化为false;当为该表建立一个副本时,该项赋值为true。具体算法如下。
3.1初始化算法。
协调器:
从用户或应用程序接收待连接的两个系统中的服务器名,需复制的表名;
分别登录到两个系统的服务器上;
向存有待复制表的服务器发预复制消息;
等待服务器消息;
若失败,发一条失败的消息给服务器和用户或应用程序,转11);
若成功,从消息中取出待复制表的有关信息,根据这些信息,发一条建表消息给另一个系统的服务器;
等待服务器消息;
若失败,发一条失败的消息给服务器和用户或应用程序,转11);
若成功,调数据转移程序,进行数据复制;
将有关信息写入组间字典。
退出。
服务器:
当服务器收到预复制消息后,将基表控制块TV_CTRL_BLOCK中的IsReplication赋为true。同时,取出待复制表的有关信息,组成应答消息发给协调器。
当服务器收到失败的消息后,将基表控制块TV_CTRL_BLOCK中的IsReplication赋为false。
3.2维护算法。
协调器:
从组间字典读出相关信息,根据这些信息,登录到相应系统上;
等待消息;
从某系统的服务器上收到一条修改消息后,通过查找组间字典,确定该消息的目的地,然后将它转发过去;
若失败,定时重发;
转2);
服务器:
1)等待消息;
2)当收到某客户或应用程序的消息后,检查它是否是修改数据的操作(如delete,update或insert等);
若不是,转7);
若是,检查基表控制块TV_CTRL_BLOCK中的IsReplication是否为true;
若不是,转7);
若是,向协调器发修改消息;
继续执行服务器程序的其它部分。
3.3恢复算法。
若协调器所联接的系统中有一个跨掉了,则对副本的修改无法及时地反映到跨掉的系统中来。这时,需要恢复算法来进行处理。
协调器:
当协调器发现有一个系统已经崩溃后,采取以下步骤。
将与该系统相关的变量open赋值为false;
打开记时器;
等待消息;
若收到的消息是其它系统发出的修改崩溃了的系统上的副本的命令,则依次将这些消息存储起来,转3);
若收到的消息是记时器发出的时间到的消息,则向崩溃的系统发登录命令;
若登录成功,将open的值改为true;
将存储的消息依次发送过去,转9);
若登录失败,转3);
退出。
4.结论
我们曾在三个DM3数据库系统上,用两个协调器进行联接。结果,运行情况良好,各副本最终都能保证一致,且各副本间存在差异的时间间隔很短。另外,在出现异常的情况下,协调器也能正常工作。
主要参考文献:
1.周龙骧等,分布式数据库管理系统实现技术,科学出版社,1998。
2.郑振楣,于戈,郭敏,分布式数据库,科学出版社,1998。
3.王珊等,数据仓库技术与联机分析处理,科学出版社,1998。
靠谱的论文降重建议用paperkeey(check.paperkeey.com),精准严格,一边查重一边修改降重,1.5/千字。最主要是很接近知网查重,目前相比知网查重还有严格些。