数据库系统概论第七章数据库恢复技术ppt课件_第1页
数据库系统概论第七章数据库恢复技术ppt课件_第2页
数据库系统概论第七章数据库恢复技术ppt课件_第3页
数据库系统概论第七章数据库恢复技术ppt课件_第4页
数据库系统概论第七章数据库恢复技术ppt课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章第七章数据库恢复技术数据库恢复技术事务事务4事务定义事务定义4事务是用户定义的一个数据库操作序列事务是用户定义的一个数据库操作序列构成,这些操作要么全做,要么全不做,构成,这些操作要么全做,要么全不做,是一个不可分割的任务单位。是一个不可分割的任务单位。4事务与运用程序是两个概念,普通来说,事务与运用程序是两个概念,普通来说,一个运用程序可以包含多个事务。一个运用程序可以包含多个事务。4事务的开场与终了可以由用户显式控制。事务的开场与终了可以由用户显式控制。假设用户没有显式定义事务,那么由假设用户没有显式定义事务,那么由DBMS按缺省规定自动划分事务。按缺省规定自动划分事务。SQL中事务

2、的定义中事务的定义4事务以事务以Begin transaction开场,以开场,以Commit work或或 Rollback work终了。终了。4Commit work表示提交,事务正常终了。表示提交,事务正常终了。4Rollback work表示事务非正常终了,吊表示事务非正常终了,吊销事务已做的操作,回滚到事务开场时销事务已做的操作,回滚到事务开场时形状。形状。事务的例子事务的例子BEGIN TRANSACTIONREAD 甲账户余额甲账户余额;甲账户余额甲账户余额 = 1000;IF 甲账户余额甲账户余额 0 THEN;ROLLBACK WORK;ELSEWRITE 甲账户余额甲账户

3、余额;READ 乙账户余额乙账户余额;乙账户余额乙账户余额=1000;WRITE 甲账户余额甲账户余额;COMMIT WORK;事务的特性事务的特性ACID4原子性原子性(Atomicity)4 事务是数据库的逻辑任务单位,事务中包事务是数据库的逻辑任务单位,事务中包括的诸操作要么全做,要么全不做。括的诸操作要么全做,要么全不做。4一致性一致性(Consistency)4事务执行的结果该当使数据库从一个一致事务执行的结果该当使数据库从一个一致性形状转变为另一个一致性形状。性形状转变为另一个一致性形状。事务的特性事务的特性ACID4隔离性隔离性(Isolation)4一个事务的执行不能被其它事务

4、干扰。一个事务的执行不能被其它事务干扰。即一个事务内部的操作及运用的数据对其即一个事务内部的操作及运用的数据对其它并发事务是隔离的,并发执行的各个事它并发事务是隔离的,并发执行的各个事务之间不能相互关扰。务之间不能相互关扰。事务的特性事务的特性ACID4耐久性耐久性(Durability)4一个事务一旦提交之后,它对数据库一个事务一旦提交之后,它对数据库的影响必需是永久的。事务提交后,系的影响必需是永久的。事务提交后,系统发生缺点不能改动事务的耐久性。统发生缺点不能改动事务的耐久性。4数据库恢复概述数据库恢复概述4虽然数据库系统中采用了各种措施来保虽然数据库系统中采用了各种措施来保证系统平安性

5、和完好性,但计算机系统证系统平安性和完好性,但计算机系统的缺点是不可防止的,这些缺点轻那么的缺点是不可防止的,这些缺点轻那么呵斥运转事务的非正常中断,影响数据呵斥运转事务的非正常中断,影响数据库中数据的正确性,重那么破坏数据库,库中数据的正确性,重那么破坏数据库,使数据库中的全部或部分数据丧失,因使数据库中的全部或部分数据丧失,因此数据库管理系统必需具有把数据库从此数据库管理系统必需具有把数据库从错误形状恢复到某一知正确形状的功能,错误形状恢复到某一知正确形状的功能,这就是数据库的恢复。数据库恢复是经这就是数据库的恢复。数据库恢复是经过数据库管理系统的恢复子系统完成的。过数据库管理系统的恢复子

6、系统完成的。数据库恢复概述数据库恢复概述4数据库恢复子系统的目的包括:数据库恢复子系统的目的包括:4保证事务的原子性,即确保一个事务被保证事务的原子性,即确保一个事务被交付运转后,要么该事务中的一切数据交付运转后,要么该事务中的一切数据库操作都被胜利地完成,而且这些操作库操作都被胜利地完成,而且这些操作的结果被永久地存储到数据库中,要么的结果被永久地存储到数据库中,要么这个事务对数据库没有任何影响。这个事务对数据库没有任何影响。4当系统发生缺点以后,数据库可以恢复当系统发生缺点以后,数据库可以恢复到正确形状。到正确形状。缺点的种类缺点的种类4事务内部的缺点事务内部的缺点4事务内部的缺点包括可预

7、期的和不可预事务内部的缺点包括可预期的和不可预期的。可预期的是指可以经过事务程序期的。可预期的是指可以经过事务程序本身发现和处置的缺点。而不可预期的本身发现和处置的缺点。而不可预期的错误是指那些不能由运用程序处置的事错误是指那些不能由运用程序处置的事务缺点,如死锁,运算溢出,违反完好务缺点,如死锁,运算溢出,违反完好性规那么等。性规那么等。缺点的种类缺点的种类4系统缺点系统缺点4系统缺点是指呵斥系统停顿运转的任何系统缺点是指呵斥系统停顿运转的任何事情,使得系统要重新启动。如硬件错事情,使得系统要重新启动。如硬件错误,操作系统缺点,停电等。这类缺点误,操作系统缺点,停电等。这类缺点影响正在运转的

8、一切事务,一切事务都影响正在运转的一切事务,一切事务都非正常终止,但不会破坏数据库。恢复非正常终止,但不会破坏数据库。恢复子系统必需去除一切未完成的事务对数子系统必需去除一切未完成的事务对数据库的修正,同时重做一切已完成的事据库的修正,同时重做一切已完成的事务,保证数据库的一致性。务,保证数据库的一致性。缺点的种类缺点的种类4介质缺点介质缺点4介质缺点指外存缺点,如磁盘损坏,瞬介质缺点指外存缺点,如磁盘损坏,瞬时强磁场干扰等。这类缺点将破坏全部时强磁场干扰等。这类缺点将破坏全部或部分数据库,并影响正在存取这部分或部分数据库,并影响正在存取这部分数据的一切事务。数据的一切事务。4计算机病毒计算机

9、病毒4计算机病毒是一种人为的破坏或缺点,计算机病毒是一种人为的破坏或缺点,已成为数据库系统的主要要挟之一。已成为数据库系统的主要要挟之一。恢复的实现技术恢复的实现技术4数据库恢复的原理数据库恢复的原理4数据库恢复的根本原理为冗余。假设数据数据库恢复的根本原理为冗余。假设数据库中任何一部分数据被破坏或处于不正确库中任何一部分数据被破坏或处于不正确的形状,那么可以经过存储在系统别处的的形状,那么可以经过存储在系统别处的冗余数据来重建。冗余数据来重建。4数据库恢复的关键问题数据库恢复的关键问题4如何建立冗余如何建立冗余4如何利用冗余实施数据库恢复如何利用冗余实施数据库恢复恢复的实现技术恢复的实现技术

10、4建立冗余的常用方法建立冗余的常用方法4数据转储数据转储4数据转储是数据库恢复中采用的根本技数据转储是数据库恢复中采用的根本技术。所谓转储即术。所谓转储即DBA定期地将整个数据定期地将整个数据库复制到磁带或其它存储设备上保管起库复制到磁带或其它存储设备上保管起来的过程。这些备用的数据文本称为后来的过程。这些备用的数据文本称为后备副本或后援副本。备副本或后援副本。4当数据库发生缺点时,可以将后备副本当数据库发生缺点时,可以将后备副本重新装入,并重新运转自转储以后的一重新装入,并重新运转自转储以后的一切更新事务。切更新事务。恢复的实现技术恢复的实现技术T0T0T1T1T3T3正常运转恢复重装后备副

11、本重新运转事务恢复的实现技术恢复的实现技术4转储可以分为:转储可以分为:4静态转储静态转储4静态转储是在系统中无事务运转时进展静态转储是在系统中无事务运转时进展的转储操作。即转储开场时数据库处于的转储操作。即转储开场时数据库处于一致形状,转储过程中,不允许对数据一致形状,转储过程中,不允许对数据库的任何存取、更新活动。由于转储必库的任何存取、更新活动。由于转储必需等待正在运转的事务终了才干开场,需等待正在运转的事务终了才干开场,而新的事务必需等待转储终了才干执行,而新的事务必需等待转储终了才干执行,降低了数据库的可用性。降低了数据库的可用性。恢复的实现技术恢复的实现技术 动态转储动态转储 动态

12、转储是指转储期间允许对数据库进展存动态转储是指转储期间允许对数据库进展存取或修正,即转储和用户事务可以并发执行。取或修正,即转储和用户事务可以并发执行。动态转储抑制了静态转储的缺陷,但除了转动态转储抑制了静态转储的缺陷,但除了转储数据库的数据以外,还必需把转储期间各储数据库的数据以外,还必需把转储期间各事务对数据库的修正记录下来,这样才干保事务对数据库的修正记录下来,这样才干保证把数据库恢复到某一时辰的一致形状。证把数据库恢复到某一时辰的一致形状。恢复的实现技术恢复的实现技术4转储的方式转储的方式4海量转储海量转储4海量转储指每次转储全部数据库。海量转储指每次转储全部数据库。4增量转储增量转储

13、4增量转储指每次只转储上一次转储后更增量转储指每次只转储上一次转储后更新过的数据。新过的数据。恢复的实现技术恢复的实现技术转储状态转储状态动态转储动态转储静态转储静态转储转储转储方式方式海量转储海量转储 动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储 动态增量转储动态增量转储静态增量转储静态增量转储转储方案的例子转储方案的例子23:00海量增量增量海量增量增量增量周日周日周一周一周二周二周三周三周四周四周五周五周六周六恢复的实现技术恢复的实现技术 登录日志文件登录日志文件 日志文件是用来记录事务对数据库的日志文件是用来记录事务对数据库的更新操作的文件。日志文件主要有两更新操作

14、的文件。日志文件主要有两种格式:以记录为单位的日志文件和种格式:以记录为单位的日志文件和以数据块为单位的日志文件。以数据块为单位的日志文件。 以记录为单位的日志文件记录的内容以记录为单位的日志文件记录的内容包括:包括: 各个事务的开场标志各个事务的开场标志 各个事务的终了标志各个事务的终了标志 各个事务的一切更新操作各个事务的一切更新操作恢复的实现技术恢复的实现技术 上述内容均作为日志文件中的一个日志记录,每上述内容均作为日志文件中的一个日志记录,每个日志记录的内容包括:个日志记录的内容包括: 事务标识事务标识标明是哪个事务标明是哪个事务 操作的类型操作的类型插入、删除或修正插入、删除或修正

15、操作对象操作对象记录的内部标识记录的内部标识 更新前数据的旧值更新前数据的旧值对插入操作,此项为空对插入操作,此项为空 更新后数据的新值更新后数据的新值对删除操作,此项为空对删除操作,此项为空 对于以数据块为单位的日志文件,日志记录的内对于以数据块为单位的日志文件,日志记录的内容包括事务标识以及更新前和更新后的数据块。容包括事务标识以及更新前和更新后的数据块。日志记录的例子日志记录的例子4T0, starts4T0, A, 1000, 9504T0, B, 2000, 20504T0, commit恢复的实现技术恢复的实现技术4日志文件的作用日志文件的作用4日志文件可以用来进展事务缺点恢复和系

16、统缺日志文件可以用来进展事务缺点恢复和系统缺点恢复,并协助后备副本进展介质恢复。其详点恢复,并协助后备副本进展介质恢复。其详细作用是:细作用是:4事务缺点和系统缺点恢复必需运用日志文件。事务缺点和系统缺点恢复必需运用日志文件。4在动态转储方式中必需建立日志文件,后备副在动态转储方式中必需建立日志文件,后备副本和日志文件综合起来才干保证备份的一致性,本和日志文件综合起来才干保证备份的一致性,和有效地恢复数据库。和有效地恢复数据库。4在静态转储方式中,也可以建立日志文件。当在静态转储方式中,也可以建立日志文件。当数据库发生缺点时,用后援副本把数据库恢复数据库发生缺点时,用后援副本把数据库恢复到转储

17、终了时的正确形状,然后利用日志文件到转储终了时的正确形状,然后利用日志文件重做已完成的事务,把数据库恢复到缺点前的重做已完成的事务,把数据库恢复到缺点前的正确形状。正确形状。恢复的实现技术恢复的实现技术4登记日志文件登记日志文件4为保证数据库是可恢复的,登记日志文为保证数据库是可恢复的,登记日志文件时必需遵照两条原那么:件时必需遵照两条原那么:4登记的次序严厉按并发事务执行的时间登记的次序严厉按并发事务执行的时间顺序。顺序。4必需先写日志文件,后写数据库。必需先写日志文件,后写数据库。恢复战略恢复战略4事务缺点的恢复事务缺点的恢复4事务缺点是指事务在运转至正常终止点之前事务缺点是指事务在运转至

18、正常终止点之前被终止。事务缺点的恢复是由系统自动完成被终止。事务缺点的恢复是由系统自动完成的,其步骤是:的,其步骤是:4反向扫描文件日志即从最后向前扫描日志反向扫描文件日志即从最后向前扫描日志文件,查找该事务的更新操作。文件,查找该事务的更新操作。4对该事务的更新操作执行逆操作,即将日志对该事务的更新操作执行逆操作,即将日志记录中的记录中的“更新前的值写入数据库。这时,更新前的值写入数据库。这时,假设记录中是插入操作,那么相当于做删除假设记录中是插入操作,那么相当于做删除操作;假设记录中是删除操作,那么相当于操作;假设记录中是删除操作,那么相当于做插入操作;假设记录中是修正操作,那么做插入操作

19、;假设记录中是修正操作,那么用修正前的值替代修正后的值。用修正前的值替代修正后的值。4继续反向扫描日志文件,查找该事务的更新继续反向扫描日志文件,查找该事务的更新操作,并做同样处置操作,并做同样处置4如此处置下去,直到读到该事务的开场标志。如此处置下去,直到读到该事务的开场标志。恢复战略恢复战略4系统缺点的恢复系统缺点的恢复4系统缺点呵斥数据库不一致形状的缘由系统缺点呵斥数据库不一致形状的缘由有两个,一是未完成的事务对数据库的有两个,一是未完成的事务对数据库的更新能够曾经写入数据库;二是已提交更新能够曾经写入数据库;二是已提交事务对数据库的更新能够还留在缓冲区事务对数据库的更新能够还留在缓冲区

20、还没来得及写入数据库。因此恢复操作还没来得及写入数据库。因此恢复操作就是要撤销缺点发生时未完成的事务,就是要撤销缺点发生时未完成的事务,重做已完成的事务。重做已完成的事务。恢复战略恢复战略4其步骤是:其步骤是:4正向扫描日志文件,找出缺点发生前曾经提交正向扫描日志文件,找出缺点发生前曾经提交的事务,将其事务标识记入重做的事务,将其事务标识记入重做REDO队队列。同时找出缺点发生时髦未完成的事务,将列。同时找出缺点发生时髦未完成的事务,将其事务标识记入撤销其事务标识记入撤销UNDO队列。队列。4对撤销队列中的各个事务进展对撤销队列中的各个事务进展UNDO处置。即处置。即反向扫描日志文件,对每个反

21、向扫描日志文件,对每个UNDO事务的更新事务的更新操作执行逆操作,即将日志文件中的操作执行逆操作,即将日志文件中的“更新前更新前的值写入数据库。的值写入数据库。4对重做队列中的各个事务进展对重做队列中的各个事务进展REDO处置。即处置。即正向扫描日志文件,对每个正向扫描日志文件,对每个REDO事务重新执事务重新执行日志文件登记的操作,即将日志文件中的行日志文件登记的操作,即将日志文件中的“更新后的值写入数据库。更新后的值写入数据库。恢复战略恢复战略4介质缺点的恢复介质缺点的恢复4介质缺点将全部或部分地破坏数据库甚至介质缺点将全部或部分地破坏数据库甚至是日志文件,其恢复的方法是:是日志文件,其恢

22、复的方法是:4装入最新的数据库后备副本装入最新的数据库后备副本离缺点发生离缺点发生时辰最近的转储副本时辰最近的转储副本,使数据库恢复到,使数据库恢复到最近一次转储时的一致形状。对于动态转最近一次转储时的一致形状。对于动态转储的副本,还需求装入转储开场时辰的日储的副本,还需求装入转储开场时辰的日志文件副本,将数据库恢复到一致形状。志文件副本,将数据库恢复到一致形状。4装入转储以后的日志文件副本,重做曾经装入转储以后的日志文件副本,重做曾经完成的事务。完成的事务。推迟更新技术推迟更新技术4推迟更新技术在日志中记录对事务推迟更新技术在日志中记录对事务T的一切更的一切更新操作,并把一切对数据库的更新操

23、作推迟到新操作,并把一切对数据库的更新操作推迟到该事务提交时执行。它遵照以下推迟更新协议:该事务提交时执行。它遵照以下推迟更新协议:4每个事务在到达提交点之前不能更新数据库。每个事务在到达提交点之前不能更新数据库。4一个事务的一切更新操作所对应的日志记录写一个事务的一切更新操作所对应的日志记录写入永久存储器之前,该事务不能到达提交点。入永久存储器之前,该事务不能到达提交点。4当一个事务到达提交点时,我们称该事务进入当一个事务到达提交点时,我们称该事务进入部分提交形状。推迟更新协议保证当一个事务部分提交形状。推迟更新协议保证当一个事务部分提交时,该事务的一切更新操作的信息曾部分提交时,该事务的一

24、切更新操作的信息曾经记录在日志中。经记录在日志中。推迟更新技术推迟更新技术4当当T开场执行时,推迟更新技术在日志中写入开场执行时,推迟更新技术在日志中写入。假设。假设T执行执行Write(X)的操作,推迟的操作,推迟更新技术在日志中写入更新技术在日志中写入 ,其中,其中V1为为X的原始值,的原始值,V2为为Write(X)要写入的要写入的X值。值。当当T进入部分提交形状时,推迟更新技术在日进入部分提交形状时,推迟更新技术在日志中写入志中写入。接着,一切日志记录。接着,一切日志记录都写入永久存储器。然后,对于日志中的每个都写入永久存储器。然后,对于日志中的每个形如形如的记录,将数据库中的记录,将

25、数据库中X数据数据项的值更新为项的值更新为V2 。延迟执行更新延迟执行更新SQL UPDATERAM中的数据页数据文件InsertDeleteUpdateCommit日志5.写日志操作4.写数据页1.事务开场2.执行更新命令6.确认7.写commit8.确认10.在恰当的时候写入数据文件推迟更新技术推迟更新技术4试思索如下数据库事务试思索如下数据库事务T0和和T1,其中,其中A、B和和C的初值分别为的初值分别为1000,2000和和700,T0和和T1按按照串行调度照串行调度执行:执行:T0: read(A) A=A-50 write(A) read(B) B=B+50 write(B)T1:

26、 read(C) C=C-100 write(C)推迟更新技术推迟更新技术日志文件日志文件数据库数据库T0, startsT0, A, 950T0, B, 2050T0, commitA=950B=2050T1, startsT1, C, 600T1, commitC=600推迟更新技术推迟更新技术T0, startsT0, startsT0, startsT0, A, 950T0, A, 950T0, A, 950T0, B, 2050T0, B, 2050T0, B, 2050T0, commitT0, commitT1, startsT1, startsT1, C, 600T1, C,

27、600T1, commit即时更新技术即时更新技术4即时更新技术允许事务直接更新数据库。处于即时更新技术允许事务直接更新数据库。处于活动形状的事务直接在数据库实施的更新称为活动形状的事务直接在数据库实施的更新称为非提交更新。任何即时更新技术都必需遵照如非提交更新。任何即时更新技术都必需遵照如下的即时更新协议:下的即时更新协议:4一切一切型日志记录平安的存储到型日志记录平安的存储到永久存储器之前,不允许事务永久存储器之前,不允许事务T更新数据库。更新数据库。4一切一切型日志记录平安的存储到型日志记录平安的存储到永久存储器之前,不允许事务永久存储器之前,不允许事务T提交。提交。4即时更新协议保证在

28、系统缺点发生时,每个运即时更新协议保证在系统缺点发生时,每个运转事务的更新操作都平安地记录在日志中。转事务的更新操作都平安地记录在日志中。即时更新技术即时更新技术4当当T开场执行时,开场执行时, 被写入日志。被写入日志。在在T运转期间,当运转期间,当T发出一个发出一个Write(X)操操作时,作时, 记录记录首先被写入日首先被写入日志,然后,直接在数据库上执行志,然后,直接在数据库上执行Write(X)。当。当T部分提交时,部分提交时, 被写入日志。为满足即时更新被写入日志。为满足即时更新协议的要求,在协议的要求,在Write(X)直接作用到数直接作用到数据库之前,有关这个操作的日志记录必据库

29、之前,有关这个操作的日志记录必需平安地写入永久存储器。需平安地写入永久存储器。即时更新技术即时更新技术日志文件日志文件数据库数据库T0, startsT0, A, 1000, 950A=950T0, B, 2000, 2050B=2050T0, commitT1, startsT1, C, 700, 600C=600T1, commit即时更新技术即时更新技术T0, startsT0, startsT0, startsT0, A, 1000,950T0, A, 1000, 950T0, A, 1000, 950T0, B, 2000,2050T0, B, 2000, 2050T0, B, 20

30、00, 2050T0, commitT0, commitT1, startsT1, startsT1, C, 700, 600T1, C, 700, 600T1, commit具有检查点的恢复技术具有检查点的恢复技术4利用日志技术进展恢复时,恢复子系统利用日志技术进展恢复时,恢复子系统通常需求检查一切日志记录,这样将耗通常需求检查一切日志记录,这样将耗费大量时间,同时也能够费大量时间,同时也能够REDO了一些了一些曾经写到数据库中的更新操作结果,因曾经写到数据库中的更新操作结果,因此也浪费了时间。为此,提出了检查点此也浪费了时间。为此,提出了检查点技术。这种技术在日志文件中添加一类技术。这种技

31、术在日志文件中添加一类新的记录检查点新的记录检查点checkpoint记录,记录,添加一个重新开场文件,并让恢复子系添加一个重新开场文件,并让恢复子系统在登录日志文件期间动态地维护日志。统在登录日志文件期间动态地维护日志。具有检查点的恢复技术具有检查点的恢复技术4检查点记录的内容包括:检查点记录的内容包括:4建立检查点时辰一切正在执行的事务清建立检查点时辰一切正在执行的事务清单。单。4这些事务最近一个日志记录的地址。这些事务最近一个日志记录的地址。4重新开场文件用来记录各个检查点记录重新开场文件用来记录各个检查点记录在日志文件中的地址。在日志文件中的地址。具有检查点的恢复技术具有检查点的恢复技

32、术4动态维护日志文件的方法是周期性地执行如动态维护日志文件的方法是周期性地执行如下操作:下操作:4将当前日志缓存中的一切日志记录写入磁盘将当前日志缓存中的一切日志记录写入磁盘的日志文件上。的日志文件上。4在日志文件上写入一个检查点记录在日志文件上写入一个检查点记录4将当前数据缓存的一切数据记录写入磁盘的将当前数据缓存的一切数据记录写入磁盘的数据库中数据库中4把检查点记录在日志文件中地址写入一个重把检查点记录在日志文件中地址写入一个重新开场文件。新开场文件。具有检查点的恢复技术具有检查点的恢复技术4运用检查点的方式可以改善效率,当事运用检查点的方式可以改善效率,当事务务T在一个检查点之前提交,在一个检查点之前提交,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论