大規(guī)模SOA系統(tǒng)中的分布事務(wù)處事_程立(PDF35頁(yè))_第1頁(yè)
大規(guī)模SOA系統(tǒng)中的分布事務(wù)處事_程立(PDF35頁(yè))_第2頁(yè)
大規(guī)模SOA系統(tǒng)中的分布事務(wù)處事_程立(PDF35頁(yè))_第3頁(yè)
大規(guī)模SOA系統(tǒng)中的分布事務(wù)處事_程立(PDF35頁(yè))_第4頁(yè)
大規(guī)模SOA系統(tǒng)中的分布事務(wù)處事_程立(PDF35頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件開發(fā)2。技術(shù)大會(huì)csdn software development 20 conference2008大規(guī)模soa系統(tǒng)中的分布事務(wù)處理程立支付寶產(chǎn)品技術(shù)與用戶體驗(yàn)部2008年12月njefiogrammer10:333提要應(yīng)用x數(shù)據(jù)庫(kù)客戶的系統(tǒng)門戶服務(wù)遺留系統(tǒng)集成合作伙伴集成 從單應(yīng)用系統(tǒng)的事務(wù) 到大規(guī)模soa系統(tǒng)中 的事務(wù) 內(nèi)容提要-山窮水盡(背景與歷史)-柳暗花明(原則與模式)-又一山寨(框架與設(shè)施)合作伙伴的系統(tǒng)10:33googling transaction processing”約有1,940,000項(xiàng)符合的查詢結(jié)果“distributed transaction”約有260,

2、000項(xiàng)符合的查詢結(jié)果 distributed transaction +practice約有24,700項(xiàng)符合的查詢結(jié)果“distributed transaction1 + success story”約有265項(xiàng)符合的查詢結(jié)果“distributed transaction”+ sucks約有l(wèi)370項(xiàng)符合的結(jié)果distributed transaction + hope約有17,500項(xiàng)符合的結(jié)果事務(wù)3事務(wù)2資源位置b312345操作時(shí)間事務(wù)事務(wù):由一組操作構(gòu)成的可靠、 獨(dú)立的工作單元acid: atomicity (原子性) consisten cy (一致性) isolation

3、(隔離性) durability(持久,性)難點(diǎn): 高度并發(fā) 資源分布大時(shí)間跨度#本地事務(wù)應(yīng)用、應(yīng)用曹轉(zhuǎn)應(yīng)用框架ap開始會(huì)話開始事務(wù)操作1本地事務(wù)事務(wù)由資源管理器(如 dbms)本地管理操作n資i理器rm優(yōu)點(diǎn) 支持嚴(yán)格的acid屬性 可靠 高效 狀態(tài)可以只在資源管理器 孑維護(hù)提交/回滾事務(wù)日志應(yīng)用編程模型簡(jiǎn)單(在框 架或平臺(tái)的支持)元成會(huì)話局口不具備分布事務(wù)處理能力隔離的最小單位由資源管 理器決定,如數(shù)據(jù)庫(kù)中的 一條記錄10:339應(yīng)用/應(yīng)用框架/應(yīng)用服務(wù)器ap6.提交事務(wù), 4.注冊(cè)資源2 , 2注冊(cè)資源一 1開始全局事務(wù)資源資源管理器管理器rm1rm29 .提交1。提交5,操作 t,.,3

4、操作l.n 二 j /j .二 準(zhǔn)全局事務(wù)(dtp模型)全局事務(wù)事務(wù)由全局事務(wù)管理 器全局管理事務(wù)管理器管理全局事務(wù)狀態(tài)與 參與的資源,協(xié)同資 源的一致提交/回滾tx協(xié)議應(yīng)用或應(yīng)用服務(wù)器與 事務(wù)管理器的接口xa協(xié)議全局事務(wù)管理器與資 源管理器的接口兩階段提交(two phase commit)準(zhǔn)備操作與acid a:準(zhǔn)備后,仍可提交與回滾 c:準(zhǔn)備時(shí),一致性檢查必須 0k i:準(zhǔn)備后,事務(wù)結(jié)果仍然只 在事務(wù)內(nèi)可見 d:準(zhǔn)備后,事務(wù)結(jié)果已經(jīng)持 久 協(xié)議成本(準(zhǔn)備操作是一定 必須的嗎) 準(zhǔn)備階段的持久成本 全局事務(wù)狀態(tài)的持久成本 潛在故障點(diǎn)多帶來(lái)的脆弱性 準(zhǔn)備后,提交前的故障引發(fā) 一系列隔離與恢復(fù)

5、難題局口跨域的全局事務(wù)(dtp模型)問題 事務(wù)上下文如何跨域傳遞? 多事務(wù)管理器如何協(xié)同? 異構(gòu)事務(wù)域間的標(biāo)準(zhǔn)是什么?通信資源管理器管理事務(wù)域間或事務(wù)域內(nèi)的 通信,允許全局事務(wù)信息跨 域傳遞xa+協(xié)議是xa的超集,增加指令使事 務(wù)管理器間可以相互協(xié)同 更高協(xié)議成本 脆弱,故障點(diǎn)多 故障影響大,恢復(fù)困難 復(fù)雜,更多架構(gòu)與平臺(tái)約束810:33翳因java企業(yè)平臺(tái)中的分布事務(wù)實(shí)現(xiàn)10:3333jta/transactionmanager局限 dtp模型本身的局限jta面向應(yīng)用、應(yīng)用服務(wù)器與資源 管理器的高層事務(wù)接口jtsjta事務(wù)管理器的實(shí)現(xiàn)標(biāo)準(zhǔn),向 上支持jta ,向下通過(guò)corba ots實(shí)現(xiàn)跨

6、事務(wù)域的互操作性ejb基于組件的應(yīng)用編程模型,通 過(guò)聲明式事務(wù)管理進(jìn)一步簡(jiǎn)化 事務(wù)應(yīng)用的編程優(yōu)點(diǎn) 簡(jiǎn)單一致的編程模型 跨域分布處理的acid保證 缺少充分公開的大規(guī)模、高可 用、密集事務(wù)應(yīng)用的成功案例其它資源ws-transaction 標(biāo)準(zhǔn)oasis組織通過(guò)的web service 事務(wù)標(biāo)準(zhǔn),包含ws- cordinations ws-atomictransaction. ws- businessactivityjbosstransactions 系統(tǒng)開源的jta、jtss ws- transaction標(biāo)準(zhǔn)的實(shí)現(xiàn)paxos算法分布式系統(tǒng)中就某個(gè)提議達(dá)成 一致決議的算法族如暗花明原則 真正重

7、要的是滿足業(yè)務(wù)需求, 而不是追求抽象、絕對(duì)的系統(tǒng) 特隹帽子戲法:兩只手最多能拿幾 頂帽子? 酸堿平衡(acid-base balance)模式 服務(wù)模式1 .可查詢操作2 .幕等操作3 . tcc操彳乍4 .可補(bǔ)償操作復(fù)合模式1 .定期校對(duì)2 .可靠消息3 . tcc4 .補(bǔ)償帽子戲法cap定理consistencyavailabilitytolerance to network partition對(duì)于共享數(shù)據(jù)系統(tǒng),只能同時(shí)擁有 以下三項(xiàng)中的兩個(gè): consistency(一致性):所有 用戶看到一致的數(shù)據(jù) availability(可用性):總能找 到一個(gè)可用的數(shù)據(jù)復(fù)本 tolerance

8、to networkpartition(分區(qū)容忍性):即使 在系統(tǒng)被分區(qū)的情況下,仍 然滿足上述兩點(diǎn)酸堿平衡base ba(basic availability)基本可用性acidicoptimal 6 range for 7 neutral most lite _ ph 6.5-8 2 8lemon juice ph 2.0wine ph 4.0 s(soft state) 柔性狀態(tài) e(eventuall consistency) 最終一致性basicbleach ph 12,5)6guman blood ph 7,) baking soda ph 8.口randy shoup , eba

9、y的杰出架構(gòu)師transactions of any.ebay的base最佳實(shí)踐 at ebay, we allow absolutely no client-side or distributed of course, we do employ various techniques to help the system reach eventual consistency: careful ordering of database operations, asynchronous recovery events, and reconciliation or settlement batche

10、s. we choose the technique according to the consistency demands of the particular use case.服務(wù)模式l可查詢操作服務(wù)操作的可標(biāo)識(shí)性服務(wù)操作具有全局唯一標(biāo)識(shí)doxqueryx batchqueryx- 可以使用業(yè)務(wù)單據(jù)號(hào)- 或者使用系統(tǒng)分配的操作流水號(hào)- 或者使用操作資源的唯一標(biāo)識(shí)+ 操作類型的組合操作有唯一的、確定的時(shí)間(約定 以誰(shuí)的時(shí)間為準(zhǔn))業(yè)務(wù)服務(wù)單筆查詢使用全局唯一的服務(wù)操作標(biāo)識(shí), 查詢操作執(zhí)行結(jié)果小心處理中狀態(tài)批量查詢使用時(shí)間區(qū)段與(或)一組服務(wù)操 作的標(biāo)識(shí),查詢一批操作執(zhí)行結(jié) 果復(fù)合模式1:定期

11、校對(duì)實(shí)現(xiàn) 業(yè)務(wù)活動(dòng)的主動(dòng)方,在完成業(yè)務(wù)處理 之后,向業(yè)務(wù)活動(dòng)的被動(dòng)方發(fā)送消息 o允許消息丟失。 業(yè)務(wù)活動(dòng)的被動(dòng)方根據(jù)定時(shí)策略,向 業(yè)務(wù)活動(dòng)主動(dòng)方查詢,恢復(fù)丟失的業(yè) 務(wù)消息。約束 被動(dòng)方的處理結(jié)果不影響主動(dòng)方的處 理結(jié)果成本 業(yè)務(wù)查詢與校對(duì)系統(tǒng)的建設(shè)成本適用范圍 對(duì)業(yè)務(wù)最終一致性的時(shí)間敏感度低 跨企業(yè)的業(yè)務(wù)活動(dòng)4.1調(diào)用事務(wù)同步器事務(wù)管理器發(fā)肖思事務(wù)同步器攔 截 器3.1創(chuàng)建事務(wù)同步器3.2注冊(cè)事務(wù)同步器4提交事務(wù)1開始事務(wù)業(yè)務(wù)處理磐消息魯3.發(fā)消息保證消息在事務(wù)提交后才發(fā)送要求消息發(fā)送必須嚴(yán)格在事務(wù)提交后 方可進(jìn)行一種實(shí)現(xiàn)方案 使用攔截器攔截發(fā)送消息請(qǐng)求 攔截器檢測(cè)到當(dāng)前存在活動(dòng)事務(wù) ,就創(chuàng)建

12、一個(gè)事務(wù)同步器 并向事務(wù)管理器注冊(cè)事務(wù)同步器 業(yè)務(wù)處理事務(wù)完成后,事務(wù)管理 器會(huì)調(diào)用事務(wù)同步器 事務(wù)同步器判斷當(dāng)前事務(wù)狀態(tài)為 已提交,才真正發(fā)送消息服務(wù)模式2:幕等操作鬲等性(idempotenty) f(f(x) = f(x)鬲等操作dox重復(fù)調(diào)用多次產(chǎn)生的業(yè)務(wù)結(jié)果與調(diào)用一次產(chǎn)生的業(yè)務(wù)結(jié)果相同實(shí)現(xiàn)方式一通過(guò)業(yè)務(wù)操作本身實(shí)現(xiàn)幕等性業(yè)務(wù)服務(wù)實(shí)現(xiàn)方式二系統(tǒng)緩存所有請(qǐng)求與處理結(jié)果檢測(cè)到重復(fù)請(qǐng)求之后,自動(dòng)返回 之前的處理結(jié)果事務(wù)域業(yè)務(wù)處理服務(wù)業(yè)務(wù)數(shù)據(jù)消息數(shù)據(jù)適用范復(fù)合模式2:可靠消息實(shí)現(xiàn) 業(yè)務(wù)活動(dòng)的主動(dòng)方,在完成業(yè)務(wù)處理的 同一個(gè)本地事務(wù)中,記錄消息數(shù)據(jù) 業(yè)務(wù)處理事務(wù)提交后、通過(guò)實(shí)時(shí)消息服 務(wù)通知業(yè)務(wù)

13、被動(dòng)方,實(shí)時(shí)通知成功后刪 除消息數(shù)據(jù) 消息恢復(fù)系統(tǒng)定期找到未成功發(fā)送的消 息,交給實(shí)時(shí)消息服務(wù)補(bǔ)發(fā)送約束 被動(dòng)方的處理結(jié)果不影響主動(dòng)方的處理 結(jié)果 被動(dòng)方的消息處理操作是募等操作成本 可靠消息系統(tǒng)建設(shè)成本 消息數(shù)據(jù)crud成本 對(duì)最終一致性時(shí)間敏感度較高 降低業(yè)務(wù)被動(dòng)方實(shí)現(xiàn)成本可靠消息的另一種實(shí)現(xiàn)消息恢復(fù)系統(tǒng)業(yè)務(wù)處理服務(wù)確認(rèn)發(fā)送清求發(fā)送實(shí)現(xiàn) 業(yè)務(wù)處理服務(wù)在業(yè)務(wù)事務(wù)提交前,向?qū)?時(shí)消息服務(wù)請(qǐng)求發(fā)送消息,實(shí)時(shí)消息服 務(wù)只記錄消息數(shù)據(jù),而不真正發(fā)送 業(yè)務(wù)處理服務(wù)在業(yè)務(wù)事務(wù)提交后,向?qū)?時(shí)消息服務(wù)確認(rèn)發(fā)送。只有在得到確認(rèn) 發(fā)送指令后,實(shí)時(shí)消息服務(wù)才真正發(fā)送 消息 業(yè)務(wù)處理服務(wù)在業(yè)務(wù)事務(wù)回滾后,向?qū)?時(shí)

14、消息服務(wù)取消發(fā)送 消息狀態(tài)確認(rèn)系統(tǒng)定期找到未確認(rèn)發(fā)送 或回滾發(fā)送的消息,向業(yè)務(wù)處理服務(wù)詢 問消息狀態(tài),業(yè)務(wù)處理服務(wù)根據(jù)消息id 或消息內(nèi)容確定該消息是否有效成本一次消息發(fā)送需要兩次請(qǐng)求 業(yè)務(wù)處理服務(wù)需實(shí)現(xiàn)消息狀態(tài)回查接口優(yōu)點(diǎn) 消息數(shù)據(jù)獨(dú)立存儲(chǔ)、獨(dú)立伸縮降低業(yè)務(wù)系統(tǒng)與消息系統(tǒng)間的耦合服務(wù)模式3: tcc操作try:嘗試執(zhí)行業(yè)務(wù)tryxconfirmxcanceixo 完成所有業(yè)務(wù)檢查(一致性) 預(yù)留必須業(yè)務(wù)資源(準(zhǔn)隔離性)confirm:確認(rèn)執(zhí)行業(yè)務(wù) 真正執(zhí)行業(yè)務(wù) 不作任何業(yè)務(wù)檢查 只使用try階段預(yù)留的業(yè)務(wù)資源confirm操作滿足幕等性cancel:取消執(zhí)行業(yè)務(wù) 釋放try階段預(yù)留的業(yè)務(wù)資源

15、 cance田桑作滿足幕等性業(yè)務(wù)服務(wù)與2pc協(xié)議比較 位于業(yè)務(wù)服務(wù)層而非資源層 沒有單獨(dú)的準(zhǔn)備(prepare)階段,try操作 兼?zhèn)滟Y源操作與準(zhǔn)備能力 try操作可以靈活選擇業(yè)務(wù)資源的鎖定粒度 較高開發(fā)成本啟動(dòng)業(yè)務(wù)活動(dòng) 登記業(yè)務(wù)操作 提交/回涅業(yè)務(wù)活動(dòng)從業(yè)務(wù)服務(wù)a庫(kù)主業(yè)務(wù)服務(wù)ct :數(shù)據(jù)庫(kù)業(yè)務(wù)活動(dòng)管理器活動(dòng)日志復(fù)合模式3: tcc模式tryxconfirmxcanceix3. cqnfirmx成功confirmy4. confirmy成功從 業(yè) 務(wù) 服實(shí)現(xiàn) 一個(gè)完整的業(yè)務(wù)活動(dòng)由一個(gè)主業(yè)務(wù)服務(wù)與若 干從業(yè)務(wù)服務(wù)組成 主業(yè)務(wù)服務(wù)負(fù)責(zé)發(fā)起并完成整個(gè)業(yè)務(wù)活動(dòng) 從業(yè)務(wù)服務(wù)提供tcc型業(yè)務(wù)操作 業(yè)務(wù)活動(dòng)

16、管理器控制業(yè)務(wù)活動(dòng)的一致性,它 登記業(yè)務(wù)活動(dòng)中的操作,并在業(yè)務(wù)活動(dòng)提交 時(shí)確認(rèn)所有的tcc型操作的confirm操作,在 業(yè)務(wù)活動(dòng)取消時(shí)調(diào)用所有tcc型操作的 cancel操作成本 實(shí)現(xiàn)tcc操作的成本 業(yè)務(wù)活動(dòng)結(jié)束時(shí)co nfi rm或ca ncel操作的執(zhí) 行成本 業(yè)務(wù)活動(dòng)日志成本適用范cancely強(qiáng)隔離性、嚴(yán)格一致性要求的業(yè)務(wù)活動(dòng)適用于執(zhí)行時(shí)間較短的業(yè)務(wù)數(shù)據(jù)庫(kù)服務(wù)模式4:可補(bǔ)償操作do:真正執(zhí)行業(yè)務(wù)完成業(yè)務(wù)處理業(yè)務(wù)執(zhí)行結(jié)果外部可見dox0compensatexcompensate:業(yè)務(wù)補(bǔ)償?shù)咒N(或部分抵銷)正向業(yè)務(wù)操作的業(yè)務(wù) 結(jié)果補(bǔ)償操作滿足幕等性業(yè)務(wù)服務(wù)約束補(bǔ)償在業(yè)務(wù)上可行由于業(yè)務(wù)執(zhí)

17、行結(jié)果未隔離、或者補(bǔ)償不 完整帶來(lái)的風(fēng)險(xiǎn)與成本可控復(fù)合模式4:補(bǔ)償模式補(bǔ)償 操作1.業(yè)務(wù)操作成功業(yè)務(wù)主業(yè)務(wù)服務(wù)從業(yè)務(wù)服務(wù)a數(shù)據(jù)庫(kù)2 .業(yè)矣操作失做 一ji啟動(dòng)業(yè)務(wù)活動(dòng)登記業(yè)務(wù)操作提交/回涅業(yè)務(wù)活動(dòng)3.執(zhí)存業(yè)務(wù)補(bǔ)償i實(shí)現(xiàn) 一個(gè)完整的業(yè)務(wù)活動(dòng)由一個(gè)主業(yè)務(wù)服務(wù)與若 干從業(yè)務(wù)服務(wù)組成,一般由主業(yè)務(wù)服務(wù)發(fā)起 并結(jié)束整個(gè)業(yè)務(wù)活動(dòng) 從業(yè)務(wù)服務(wù)提供的業(yè)務(wù)操作提供補(bǔ)償操作, 補(bǔ)償操作可以抵銷(或部分抵銷)正向業(yè)務(wù)操 作的業(yè)務(wù)結(jié)果 業(yè)務(wù)活動(dòng)管理器控制業(yè)務(wù)活動(dòng)的一致性,它 登記業(yè)務(wù)活動(dòng)中的操作,并在業(yè)務(wù)活動(dòng)取消 時(shí)調(diào)用補(bǔ)償操作成本 從業(yè)務(wù)服務(wù)實(shí)現(xiàn)補(bǔ)償操作的成本業(yè)務(wù)活動(dòng)管理器活動(dòng)日志 由于無(wú)法完全補(bǔ)償帶來(lái)的業(yè)務(wù)成本

18、業(yè)務(wù)活動(dòng)回滾時(shí),需要額外調(diào)用補(bǔ)償操作適用范圍弱隔離性、弱一致性要求的業(yè)務(wù)活動(dòng) 特別適用于執(zhí)行時(shí)間較長(zhǎng)的業(yè)務(wù),如工作流商業(yè)流程也是事務(wù)事務(wù)管理有時(shí)是 商業(yè)流程與用戶 體驗(yàn)的一部分并非所有問題都 可以或應(yīng)該由系 統(tǒng)來(lái)解決10:33利用現(xiàn)有基礎(chǔ)設(shè)施i 一山寨框架與設(shè)施建設(shè)目標(biāo)一致的架構(gòu)風(fēng)格簡(jiǎn)單的編程模型萬(wàn)無(wú)一失沒商量:高可用與可伸縮輕量,可擴(kuò)展盡力優(yōu)化性能26業(yè)務(wù)活動(dòng)主控動(dòng)作流程服務(wù)-i db業(yè)務(wù)活動(dòng)原子動(dòng)作一個(gè)完整的業(yè)務(wù)處理過(guò)程,處 理中包含多個(gè)服務(wù)操作,這些 服務(wù)操作構(gòu)成了一棵調(diào)用樹原子動(dòng)作 對(duì)應(yīng)于一次服務(wù)操作調(diào)用。每 個(gè)原子動(dòng)作作為業(yè)務(wù)活動(dòng)的基 本單元,通過(guò)本地事務(wù)滿足 aqd。 原子動(dòng)作有不

19、同的調(diào)用類型, 如請(qǐng)求應(yīng)答、異步消息、異 步可靠消息等。 原子動(dòng)作對(duì)應(yīng)的服務(wù)操作也有 各種類型,如tcc型、可補(bǔ)償 型、幕等型等主控動(dòng)作 主控動(dòng)作是整個(gè)業(yè)務(wù)活動(dòng)的發(fā) 起者,也是服務(wù)操作調(diào)用樹的 根 可以合理地讓主控動(dòng)作本身的 提交與回滾決定整個(gè)業(yè)務(wù)活動(dòng) 的提交與回滾27businessactivityld 業(yè)務(wù)活動(dòng)idbusinessactivity (業(yè)務(wù)活動(dòng))+狀態(tài):enum+時(shí)間:date,務(wù)活動(dòng)模型+業(yè)務(wù)領(lǐng)域:string +業(yè)務(wù)操作:string+實(shí)體id: stringbusinessactivity業(yè)務(wù)活動(dòng),其中包括的任意多 個(gè)原子動(dòng)作需要滿足事務(wù)要求(acid/base )at

20、omicaction原子動(dòng)作,是一個(gè)業(yè)務(wù)活動(dòng)中 不可分的業(yè)務(wù)處理單元。一個(gè) 原子動(dòng)作的執(zhí)行滿足aqd。其背后,是通過(guò)對(duì)某個(gè)服務(wù)操 作的一次調(diào)用實(shí)現(xiàn)的ato m icactio n (原子動(dòng)作)+調(diào)用類型:enum(請(qǐng)求-應(yīng)答/異步消息何靠異步消息)serviceoperation (服務(wù)操作)+類型:enum(tcc/補(bǔ)償/幕等)+其它屬性ser vi ceoperati o n服務(wù)操作,是某個(gè)業(yè)務(wù)領(lǐng)域功 能的原子實(shí)現(xiàn)。服務(wù)操作有類 型標(biāo)識(shí),表明它是幕等型、 tcc型還是補(bǔ)償型操作b usinessactivi tyld業(yè)務(wù)活動(dòng)id ,是業(yè)務(wù)活動(dòng)的唯 一標(biāo)識(shí)。業(yè)務(wù)活動(dòng)id由三個(gè)部 分組成,分別代表業(yè)務(wù)活動(dòng)所 屬的業(yè)務(wù)領(lǐng)域、對(duì)應(yīng)的業(yè)務(wù)操

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論