




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
9.ConcurrencyControlJongHoonKimDATABASESYSTEM
IMPLEMENTATION
HECTORGARCIA-MOLINA
JEFFRYD.ULLMAN
JENIFERWIDOM9.ConcurrencyControlJongHoonGeneralprocessofassuringthattransactionspreserveconsistencywhenexecutingsimultaneously.TransactionmanagerSchedulerBuffersRead/WriterequestsReadsandwritesConcurrencyControlGeneralprocessofassuringthSchedulesCorrectnessprincipleIfexecutedinisolation,everytransactionwilltransformanyconsistentstatetoanotherconsistentstate.However,transactionsoftenrunconcurrentlywithothertransactions,sothecorrectnessprincipledoesn’tapplydirectly.schedules
:
time-orderedsequenceoftheactionstakenbyoneormoretransactions->guaranteeddoproducethesameresultasiftransactionsexecutedone-at-a-timeWhenstudyingconcurrencycontrol,theimportantreadandwriteactionstakeplaceinthemain-memorybuffers,notdiskSchedulesCorrectnessprincipleT1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)theonlyconsistencyconstraintonthedatabasestateisthatA=B.eachtransaction,runinisolation,willpreserveconsistencySchedules–Ex.9.1T1T2READ(A,t)READ(A,s)t:=tSerialSchedules:AscheduleSisserialifforanytwotransactionsTandT’,ifanyactionofTprecedesanyactionofT’,thenallactionsofTprecedesallactionsofT’T1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(B,t)t:=t+100WRITE(B,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)250T1T2AB2525READ(A,s)s:=s*2WRITE(A,s)50READ(B,s)s:=s*2WRITE(B,s)50READ(A,t)t:=t+100WRITE(A,t)150READ(B,t)t:=t+100WRITE(B,t)150SerialSchedules:AscheduleSerializableScheduleseveryserialschedulewillpreserveconsistencyofdatabasestateserializable:ifitseffectonthedatabasestateisthesameasthatofsomeserialschedule,regardlessofwhattheinitialstateofthedatabaseisT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,t)t:=t+100WRITE(B,t)125READ(B,s)s:=s*2WRITE(B,s)250Aserializable,butserial,scheduleSerializableScheduleseveryseT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)50READ(B,t)t:=t+100WRITE(B,t)150NonerializableScheduleT1T2AB2525READ(A,t)t:=t+100TheEffectofTransactionSemanticsT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*1WRITE(A,s)125READ(B,s)25s:=s*1WRITE(B,s)READ(B,t)t:=t+100WRITE(B,t)125AschedulethatisserializableonlybecauseofthedetailedbehaviorofthetransactionsTheEffectofTransactionSemaANotationforTransactions&SchedulesRepresenttransactionsandschedulesbyashorthandnotation :rT(x)/wT(x)Example9.5:Thetransactionoffig9.2canbewritten T1:r1(A);w1(A);r1(B);w1(B); T2:r2(A);w2(A);r2(B);w2(B);
Thetransactionoffig9.5canbewritten r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);
T1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)T1T2READ(A,t)t:=t+100WRITE(A,t)READ(A,s)s:=s*2WRITE(A,s)READ(B,t)t:=t+100WRITE(B,t)READ(B,s)s:=s*2WRITE(B,s)ANotationforTransactions&Conflict-SerializabilityConflict:apairofconsecutiveactionsinaschedulesuchthat,iftheirorderisinterchanged,thenthebehaviorofatleastoneofthetransactionsinvolvedcanchange.ConditionofConflict1.Twoactionsofthesametransaction,ri(X);wi(Y)conflict.2.Twowritesofthesamedatabaseelementbydifferenttransactionconflictwi(X);wj(X)conflict.3.Areadandwriteofthesamedatabaseelementbydifferenttransactionsalsoconflict.ri(X);wj(X)andwi(X);rj(X)conflictConflict-equivalent:iftheycanbeturnedoneintotheotherbyasequenceofnon-conflictingswapsofadjacentactionsConflict-serializable:ifitisconflict-equivalenttoaserialscheduleConflict-SerializabilityConflir1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);fromexample9.5-Thisscheduleisserializable:allofT’1sactionsprecedeallthoseofT2
-Convertingaconflict-serializablescheduletoaserialschedulebyswapofadjacentactions: r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B); r1(A);w1(A);r2(A);r1(B);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w1(B);w2(A);r2(B);w2(B);
r1(A);w1(A);r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);Conflict-Serializability–Ex.9.6r1(A);w1(A);r2(A);w2(A);r1(B)PrecedenceGraphforConflict-SerializabilityGivenascheduleS,involvingtransactionsT1andT2,ifthereareactionsA1
ofT1andA2ofT2,suchthat1.A1isaheadofA2inS2.BothA1andA2involvethesamedatabaseelement3.AtleastoneofA1andA2iswriteaction-theseareexactlytheconditionsunderwhichwecannotswaptheorderofA1andA2->T1takesprecedenceoverT2:T1<ST2ConstructtheprecedencegraphforSandaskifthereareanycycle
Sisnotconflict-serializableT1T2PrecedenceGraphforConflict-S1:r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);r3(A);w3(A);123:acyclic,scheduleS’isconflict-serializable(acyclic)S2:r2(A);r1(B);w2(A);r2(B);r3(A);w1(B);w3(A);w2(B);123:cyclicprecedencegraph:itsscheduleisnotconflict-serializablePrecedenceGraph–Ex.9.8,9.9S1:r1(B);w1(B);r2(A);w2(A)EnforcingSerializabilitybyLocksWhatdoesserializibilitymeans?CollectionoftransactionsperformingtheiractionsFormationofscheduleSchedulerpreventsorderofactionsthatleadstounserializablescheduleLocksareimplementedondatabaseelements.EnforcingSerializabilitybyLLocksRequestandreleaselocksforreadingandwriting.ConsistencyofTransactions:Atransactioncanonlyreadorwriteanelementifitrequestedalockonthatelementandhasn’tyetreleasedthelock.Ifatransactionlocksanelement,itmustlatterunlockthatelement.LegalityofSchedules:Notwotransactionsmayhavelockedthesamewithoutonehavingfirstreleasedthelock.LocksConsistencyofTransactioLi(x):TransactionTirequestalockondatabaseelementX.Ui(x):TransactionTireleasesitslockondatabaseelementX.ConsistencyofTransactions:WheneveratransactionTihasanactionri(x),thenthereisapreviousactionli(x)withnointerveningactionui(x),andthereissubsequentui(x).LegalityofSchedules:Ifthereareactionsli(x)followedbylj(x)inaschedule,thensomewherebetweentheseactionstheremustbeanactionui(x).Notationforlock/unlockLi(x):TransactionTirequest Alegalscheduleofconsistenttransaction;unfortunatelyitisnotserializable.Lock/unlock–Ex.9.10T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);u1(A);125l2(a);r2(A);A:=A*2;w2(a);u2(A);250l2(B);r2(B);B:=B*2;w2(B);u2(b);50l1(B);r1(b);B:=B+100;w1(B);u1(B)150 AlegalscheduleofconsistenTheLockingScheduler Thelockingschedulerdelaysrequeststhatwouldresultinanillegalschedule.T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);l1(B);u1(A);125l2(A);r2(A);A:=A*2;w2(a);u2(A);250l2(B);Deniedr1(B);B:=B+100;w1(B);u1(B);125l2(B);u2(A);r1(B);B:=B*2;w2(B);u2(B)250TheLockingScheduler ThelockTwo-PhaseLockingTheconditionunderwhichwecanguaranteethatalegalscheduleofconsistenttransactionsisconflict-serializableisknownastwo-phaselockingor2PL.Ineverytransaction,alllockrequestsprecedeallunlockrequests.Firstphase:LocksareobtainedSecondphase:Locksarerelinquished.Two-PhaseLockingTheconditionLockingSystemsWithSeveralLockModesTransactionTmusttakealockonadatabaseelementXevenifitonlywantstoreadXandnotwriteit.Whytwotransactionscannotreadthesameelementatasametime?2differentkindsoflocks,Reading(Sharedorreadlock)Writing(Exclusiveorwritelock)LockingSystemsWithSeveralLSharedandExclusiveLocksWrite:oneexclusivelockonx.Read:manysharedlocksonx.sli(x):TransactionTirequestsasharedlockonx.xli(x):Tirequestsexclusivelockonx.ui(x):Tiunlocksx.Ifxli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)orslj(x)forj,withoutanyinterveningui(x).Ifsli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)forj,withoutanyinterveningui(x).SharedandExclusiveLocksWrit AscheduleusingsharedandexclusivelocksSharedandExclusiveLocks–Ex.9.15T1T2sl1(A);r1(A);sl2(A);r2(A);sl2(B);r2(B);xl1(B)Deniedu2(A);u2(B);xl1(B);r1(B);w1(B);u1(A);u1(B);
AscheduleusingsharedandeCompatibilityMatricesSchedulerneedsapolicyaboutwhenitcangrantalockrequest,giventheotherlocksthatmayalreadybeheld.Acompatibilitymatrixhasarowandcolumnforeachlockmode.RowcorrespondstoalockthatisalreadyheldonanelementXbyanothertransaction.ColumnscorrespondstothemodeofalockonXthatisrequested.
ThecompatibilitymatrixforsharedandexclusivelocksLockrequested LockheldCompatibilityMatricesScheduleUpgradingLocksTransactionsTtakesasharedlockonX,othertransactionsalsoallowedtoreadXatsametime.TransactionTrequestforexclusivelockonX.ui(x)releasesalllocksonxheldbytransactionTi.T1T2sl1(A);r1(A);sl2(A);r2(A);sl2(B);r2(B);sl1(B);r1(B);xl1(B)Deniedu2(A);u2(B);xl1(B);w1(B);u1(A);u2(B); UpgradinglocksallowmoreconcurrentoperationUpgradingLocksTransactionsT UpgradingbytwotransactionscancauseadeadlockUpgradingLocks–Ex.9.16T1T2sl1(A);sl2(A);xl1(A)Deniedxl2(A)Denied UpgradingbytwotransactionsUpdateLocksDeadlockproblemcanbeavoidedbyusingupdatelock.Updatelockuli(x),onlyreadxbutnotwritex.Updatelockcanbeupgradedtowriteloack.
Compatibilitymatrixforshared,exclusiveandupdatelocks.SXUSYesNoYesXNoNoNoUNoNoNoUpdateLocksDeadlockproblemc CollectexecutionusingupdatelocksUpdateLocks–Ex.9.17T1T2ul1(A);r1(A);ul2(A)Deniedxl1(A);w1(A);u1(A);ul2(A);r2(A);xl2(A);w2(A);u2(A); CollectexecutionusingupdatIncrementLocksManytransactionsoperatebyincrementordecrement.Fundtransfer,airlineticketsIncrementactionscommutewitheachother.SXISYesNoNoXNoNoNoINoNoYesIncrementLocksManytransactio
TranModeWait?NxtTnextT1SnoT2UnoT3XyesTootherT3recordsAGroupMode:UWaiting:yesList:ElementInfoLockTable TranModeWait?Whataretheobjectswelock?
RelationARelationB...TupleATupleBTupleC...DiskblockADiskblockB...DBDBDBWhataretheobjectswelock? Example
R1tu1tu2tu3tu4T1(IS)T1(S),T2(S)RootRelationTuplesExampleR1tu1tu2tu3tu4T1(IS)T1Example
R1tu1tu2tu3tu4T1(IS)T1(S),T2(IX)T2(X)RootRelationTuplesExampleR1tu1tu2tu3tu4T1(IS)T1Multiplegranularity Requestor ISIXSX ISHolderIX S XTTTFFFFFFFTFTFTTMultiplegranularity9.ConcurrencyControlJongHoonKimDATABASESYSTEM
IMPLEMENTATION
HECTORGARCIA-MOLINA
JEFFRYD.ULLMAN
JENIFERWIDOM9.ConcurrencyControlJongHoonGeneralprocessofassuringthattransactionspreserveconsistencywhenexecutingsimultaneously.TransactionmanagerSchedulerBuffersRead/WriterequestsReadsandwritesConcurrencyControlGeneralprocessofassuringthSchedulesCorrectnessprincipleIfexecutedinisolation,everytransactionwilltransformanyconsistentstatetoanotherconsistentstate.However,transactionsoftenrunconcurrentlywithothertransactions,sothecorrectnessprincipledoesn’tapplydirectly.schedules
:
time-orderedsequenceoftheactionstakenbyoneormoretransactions->guaranteeddoproducethesameresultasiftransactionsexecutedone-at-a-timeWhenstudyingconcurrencycontrol,theimportantreadandwriteactionstakeplaceinthemain-memorybuffers,notdiskSchedulesCorrectnessprincipleT1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)theonlyconsistencyconstraintonthedatabasestateisthatA=B.eachtransaction,runinisolation,willpreserveconsistencySchedules–Ex.9.1T1T2READ(A,t)READ(A,s)t:=tSerialSchedules:AscheduleSisserialifforanytwotransactionsTandT’,ifanyactionofTprecedesanyactionofT’,thenallactionsofTprecedesallactionsofT’T1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(B,t)t:=t+100WRITE(B,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)250T1T2AB2525READ(A,s)s:=s*2WRITE(A,s)50READ(B,s)s:=s*2WRITE(B,s)50READ(A,t)t:=t+100WRITE(A,t)150READ(B,t)t:=t+100WRITE(B,t)150SerialSchedules:AscheduleSerializableScheduleseveryserialschedulewillpreserveconsistencyofdatabasestateserializable:ifitseffectonthedatabasestateisthesameasthatofsomeserialschedule,regardlessofwhattheinitialstateofthedatabaseisT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,t)t:=t+100WRITE(B,t)125READ(B,s)s:=s*2WRITE(B,s)250Aserializable,butserial,scheduleSerializableScheduleseveryseT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)50READ(B,t)t:=t+100WRITE(B,t)150NonerializableScheduleT1T2AB2525READ(A,t)t:=t+100TheEffectofTransactionSemanticsT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*1WRITE(A,s)125READ(B,s)25s:=s*1WRITE(B,s)READ(B,t)t:=t+100WRITE(B,t)125AschedulethatisserializableonlybecauseofthedetailedbehaviorofthetransactionsTheEffectofTransactionSemaANotationforTransactions&SchedulesRepresenttransactionsandschedulesbyashorthandnotation :rT(x)/wT(x)Example9.5:Thetransactionoffig9.2canbewritten T1:r1(A);w1(A);r1(B);w1(B); T2:r2(A);w2(A);r2(B);w2(B);
Thetransactionoffig9.5canbewritten r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);
T1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)T1T2READ(A,t)t:=t+100WRITE(A,t)READ(A,s)s:=s*2WRITE(A,s)READ(B,t)t:=t+100WRITE(B,t)READ(B,s)s:=s*2WRITE(B,s)ANotationforTransactions&Conflict-SerializabilityConflict:apairofconsecutiveactionsinaschedulesuchthat,iftheirorderisinterchanged,thenthebehaviorofatleastoneofthetransactionsinvolvedcanchange.ConditionofConflict1.Twoactionsofthesametransaction,ri(X);wi(Y)conflict.2.Twowritesofthesamedatabaseelementbydifferenttransactionconflictwi(X);wj(X)conflict.3.Areadandwriteofthesamedatabaseelementbydifferenttransactionsalsoconflict.ri(X);wj(X)andwi(X);rj(X)conflictConflict-equivalent:iftheycanbeturnedoneintotheotherbyasequenceofnon-conflictingswapsofadjacentactionsConflict-serializable:ifitisconflict-equivalenttoaserialscheduleConflict-SerializabilityConflir1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);fromexample9.5-Thisscheduleisserializable:allofT’1sactionsprecedeallthoseofT2
-Convertingaconflict-serializablescheduletoaserialschedulebyswapofadjacentactions: r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B); r1(A);w1(A);r2(A);r1(B);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w1(B);w2(A);r2(B);w2(B);
r1(A);w1(A);r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);Conflict-Serializability–Ex.9.6r1(A);w1(A);r2(A);w2(A);r1(B)PrecedenceGraphforConflict-SerializabilityGivenascheduleS,involvingtransactionsT1andT2,ifthereareactionsA1
ofT1andA2ofT2,suchthat1.A1isaheadofA2inS2.BothA1andA2involvethesamedatabaseelement3.AtleastoneofA1andA2iswriteaction-theseareexactlytheconditionsunderwhichwecannotswaptheorderofA1andA2->T1takesprecedenceoverT2:T1<ST2ConstructtheprecedencegraphforSandaskifthereareanycycle
Sisnotconflict-serializableT1T2PrecedenceGraphforConflict-S1:r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);r3(A);w3(A);123:acyclic,scheduleS’isconflict-serializable(acyclic)S2:r2(A);r1(B);w2(A);r2(B);r3(A);w1(B);w3(A);w2(B);123:cyclicprecedencegraph:itsscheduleisnotconflict-serializablePrecedenceGraph–Ex.9.8,9.9S1:r1(B);w1(B);r2(A);w2(A)EnforcingSerializabilitybyLocksWhatdoesserializibilitymeans?CollectionoftransactionsperformingtheiractionsFormationofscheduleSchedulerpreventsorderofactionsthatleadstounserializablescheduleLocksareimplementedondatabaseelements.EnforcingSerializabilitybyLLocksRequestandreleaselocksforreadingandwriting.ConsistencyofTransactions:Atransactioncanonlyreadorwriteanelementifitrequestedalockonthatelementandhasn’tyetreleasedthelock.Ifatransactionlocksanelement,itmustlatterunlockthatelement.LegalityofSchedules:Notwotransactionsmayhavelockedthesamewithoutonehavingfirstreleasedthelock.LocksConsistencyofTransactioLi(x):TransactionTirequestalockondatabaseelementX.Ui(x):TransactionTireleasesitslockondatabaseelementX.ConsistencyofTransactions:WheneveratransactionTihasanactionri(x),thenthereisapreviousactionli(x)withnointerveningactionui(x),andthereissubsequentui(x).LegalityofSchedules:Ifthereareactionsli(x)followedbylj(x)inaschedule,thensomewherebetweentheseactionstheremustbeanactionui(x).Notationforlock/unlockLi(x):TransactionTirequest Alegalscheduleofconsistenttransaction;unfortunatelyitisnotserializable.Lock/unlock–Ex.9.10T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);u1(A);125l2(a);r2(A);A:=A*2;w2(a);u2(A);250l2(B);r2(B);B:=B*2;w2(B);u2(b);50l1(B);r1(b);B:=B+100;w1(B);u1(B)150 AlegalscheduleofconsistenTheLockingScheduler Thelockingschedulerdelaysrequeststhatwouldresultinanillegalschedule.T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);l1(B);u1(A);125l2(A);r2(A);A:=A*2;w2(a);u2(A);250l2(B);Deniedr1(B);B:=B+100;w1(B);u1(B);125l2(B);u2(A);r1(B);B:=B*2;w2(B);u2(B)250TheLockingScheduler ThelockTwo-PhaseLockingTheconditionunderwhichwecanguaranteethatalegalscheduleofconsistenttransactionsisconflict-serializableisknownastwo-phaselockingor2PL.Ineverytransaction,alllockrequestsprecedeallunlockrequests.Firstphase:LocksareobtainedSecondphase:Locksarerelinquished.Two-PhaseLockingTheconditionLockingSystemsWithSeveralLockModesTransactionTmusttakealockonadatabaseelementXevenifitonlywantstoreadXandnotwriteit.Whytwotransactionscannotreadthesameelementatasametime?2differentkindsoflocks,Reading(Sharedorreadlock)Writing(Exclusiveorwritelock)LockingSystemsWithSeveralLSharedandExclusiveLocksWrite:oneexclusivelockonx.Read:manysharedlocksonx.sli(x):TransactionTirequestsasharedlockonx.xli(x):Tirequestsexclusivelockonx.ui(x):Tiunlocksx.Ifxli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)orslj(x)forj,withoutanyinterveningui(x).Ifsli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)forj,withoutanyinterveningui(x).SharedandExclusiveLocksWrit AscheduleusingsharedandexclusivelocksSharedandExclusiveLocks–Ex.9.15T1T2sl1(A);r1(A);sl2(A);r2(A);sl2(B);r2(B);xl1(B)Deniedu2(A);u2(B);xl1(B);r1(B);w1(B);u1(A);u1(B);
AscheduleusingsharedandeCompatibilityMatricesSchedulerneedsapolicyaboutwhenitcangrantalockrequest,giventheotherlocksthatmayalreadybeheld.Acompatibilitymatrix
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度裝配生產(chǎn)線升級(jí)終止合同書
- 二零二五年度旅行社導(dǎo)游旅游產(chǎn)品推廣合同
- 人力資源管理培訓(xùn)體系構(gòu)建指南
- 小王子經(jīng)典解讀
- 關(guān)于辦公室設(shè)備維護(hù)的通知申請(qǐng)
- 高效事務(wù)處理手冊(cè)與操作指南
- 食品安全追溯系統(tǒng)合作協(xié)議
- 影視行業(yè)影視作品發(fā)行權(quán)轉(zhuǎn)讓協(xié)議
- 公司債券受托管理合同
- 計(jì)算機(jī)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)防御練習(xí)題
- 深圳市一模+Z20名校聯(lián)盟+浙江名校協(xié)作體高三語文2月聯(lián)考作文題目解析及相關(guān)范文
- 油氣田開發(fā)專業(yè)危害因素辨識(shí)與風(fēng)險(xiǎn)防控
- 假肢安裝合同范本
- DB37-T4824-2025 鄉(xiāng)鎮(zhèn)(街道)應(yīng)急物資配備指南
- 教育部人文社科 申請(qǐng)書
- 無菌手術(shù)臺(tái)鋪置的細(xì)節(jié)管理
- 《重大基礎(chǔ)設(shè)施項(xiàng)目涉及風(fēng)景名勝區(qū)選址論證報(bào)告編制技術(shù)規(guī)范》編制說明
- 議論文8(試題+審題+范文+點(diǎn)評(píng)+素材)-2025年高考語文寫作復(fù)習(xí)
- 2025-2030年(全新版)中國(guó)軟冰淇淋市場(chǎng)發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025新人教版英語七年級(jí)下單詞默寫表(小學(xué)部分)
- 2024年大慶醫(yī)學(xué)高等??茖W(xué)校高職單招語文歷年參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論