day16-項目結(jié)就業(yè)指導(dǎo)_第1頁
day16-項目結(jié)就業(yè)指導(dǎo)_第2頁
day16-項目結(jié)就業(yè)指導(dǎo)_第3頁
day16-項目結(jié)就業(yè)指導(dǎo)_第4頁
day16-項目結(jié)就業(yè)指導(dǎo)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

P2P金融又叫P2P信貸。其中,P2P是peer-to-peer或person-to-person的簡寫,意思是:個人對個人。P2P金融指個人與個人間的小額借貸交易,一般需要借助電子商務(wù)專業(yè)網(wǎng)絡(luò)平臺幫助借貸雙方確立自助式借款;借出者根據(jù)借款人發(fā)布的信息,自行決定借出金額,實現(xiàn)自助式借貸。目前,國家對P2P行業(yè)的監(jiān)控與規(guī)范性控制越來越嚴(yán)格,出臺了很多政策來對其專項整治。主張采用“行存管模式P2P金融又叫P2P信貸。其中,P2P是peer-to-peer或person-to-person的簡寫,意思是:個人對個人。P2P金融指個人與個人間的小額借貸交易,一般需要借助電子商務(wù)專業(yè)網(wǎng)絡(luò)平臺幫助借貸雙方確立自助式借款;借出者根據(jù)借款人發(fā)布的信息,自行決定借出金額,實現(xiàn)自助式借貸。目前,國家對P2P行業(yè)的監(jiān)控與規(guī)范性控制越來越嚴(yán)格,出臺了很多政策來對其專項整治。主張采用“行存管模式”來規(guī)避P2P平臺挪用借投人資金的風(fēng)險,通過銀行開發(fā)的“銀行存管系統(tǒng)”管理投資者的資金,每位P2P開,讓P2P平臺不能接觸到資金,就可以一定程度避免資金被挪用的風(fēng)險。萬信金融是一款面向互聯(lián)網(wǎng)大眾提供的理財服務(wù)和個人消費信貸服務(wù)的金融平臺,依托大數(shù)據(jù)風(fēng)控技術(shù),為用戶提供方便、快捷、安心的P2P臺主要實現(xiàn)理財服務(wù),包括:借錢、出借等模塊,業(yè)務(wù)支撐包括:標(biāo)的管理、對賬管理、風(fēng)控管理等模塊。項目采用先進(jìn)的互聯(lián)網(wǎng)技術(shù)進(jìn)行研發(fā),保證了P2P雙方交易的安全性、快捷性及穩(wěn)定性。額,發(fā)布標(biāo)的后需要審核通過后完成借錢業(yè)務(wù)。統(tǒng)一管理B核對p2p額,發(fā)布標(biāo)的后需要審核通過后完成借錢業(yè)務(wù)。統(tǒng)一管理B核對p2p統(tǒng)一管理C萬信金融采用當(dāng)前流行的前后端分離架構(gòu)開發(fā),由用戶層、UIPC、App、H5萬信金融采用當(dāng)前流行的前后端分離架構(gòu)開發(fā),由用戶層、UIPC、App、H53、接口規(guī)范6、UAA認(rèn)證采用SpringSecurity9、分布式任務(wù)調(diào)度采用Elastic-10、安全交易采用9、分布式任務(wù)調(diào)度采用Elastic-10、安全交易采用11、采用redis12、采用Elastic-search13、短信驗證系統(tǒng)采用短信驗證服務(wù)+第三方短信平臺(騰訊14、使用百度AI16、服務(wù)鏈路追蹤采用SpringCloudSleuth+Zipkin17、平臺部署采用Docker當(dāng)天平臺會自動從借款人的賬戶中將應(yīng)還本息劃撥到投資人賬戶。中銀行存管系統(tǒng)是一個很重要的系統(tǒng),它是當(dāng)前P2P平臺最常見的一種模式,為了保證資金不流向P2P平臺,由銀行存管系統(tǒng)去管理借款用戶和投資用戶的資金,P2P平臺與銀行存管系統(tǒng)進(jìn)行接口交互為借款用戶和投資用戶搭建交易的橋梁。11借款人或投資人也可以在首頁點擊開通存管”223填寫信息完成后點擊3填寫信息完成后點擊“確認(rèn)協(xié)議并注冊”44P2P行業(yè)習(xí)慣把平臺里某個投資項目稱為“標(biāo)的”,簡稱“標(biāo)”借款總額、還款方式、借款利率、借款期限等基本信息。通俗來講“標(biāo)的”就是:借款人在P2P平臺發(fā)起的借款項目。“發(fā)標(biāo)”就是:借款人在P2P平臺申請借款。1.2.1.2.3.4.3.4.P2P5.5.用戶通過銀行存管系統(tǒng)把銀行卡中的金額轉(zhuǎn)入到萬信金融P2P需要先充值,就好比你把銀行卡中的金額轉(zhuǎn)入到支付寶或微信中是一個道理。充值流程如下:1.用戶在'我的1.用戶在'我的'頁面點擊'賬戶余額2.點擊充值(如果用戶尚未開戶,會被自動跳轉(zhuǎn)到開戶界面2.點擊充值(如果用戶尚未開戶,會被自動跳轉(zhuǎn)到開戶界面)3.4.4.在P2P目,也是一個標(biāo)的,投資人對這個借款項目進(jìn)行投資就叫做投標(biāo)。借款人發(fā)標(biāo)并通過審核后,投資人就可以在P2P平臺看到這些標(biāo)的信息(可投資項目)借款人發(fā)標(biāo)并通過審核后,投資人就可以在P2P平臺看到這些標(biāo)的信息(可投資項目)目進(jìn)行投資(出借)就叫做投標(biāo)。用戶投標(biāo)流程如下:1.用戶瀏覽借款列表(標(biāo)的2.3.4.3.4.當(dāng)一個借款項目的所有借款金額被投資人投資后,由管理員且審核通過,P2P借款人在平臺的賬戶中。當(dāng)一個標(biāo)的已經(jīng)籌集到了所借的全部資金,即為“滿標(biāo)”。此時P2P平臺管理員會進(jìn)行審核,審核通過后,P2P平臺會把投資人的出借資金打入借款人在平臺的賬戶中,這就叫“放款”1.2.31.2.3.充值到平臺賬戶中,平臺在還款日當(dāng)天會自動進(jìn)行扣款。業(yè)務(wù)流程如下所示:充值到平臺賬戶中,平臺在還款日當(dāng)天會自動進(jìn)行扣款。業(yè)務(wù)流程如下所示:如下所示:1.用戶在'我的1.用戶在'我的'頁面點擊'賬戶余額2.3.2.3.4.4.3.1傳統(tǒng)配置形式(例如:配置文件)3.1傳統(tǒng)配置形式(例如:配置文件)須有比較完善的權(quán)限控制缺少實時控制:配置發(fā)生變化后,需要重啟才能生效,費時費力,迫切需要實時生效(熱發(fā)布當(dāng)系統(tǒng)從一個單體應(yīng)用,被拆分成分布式系統(tǒng)上一個個服務(wù)節(jié)點后,配置文件也必須跟著遷移(割),免會包含很多冗余代碼。同一個應(yīng)用程序在不同的環(huán)境(開發(fā),測試,生產(chǎn))方便得進(jìn)行動態(tài)切換。當(dāng)系統(tǒng)從一個單體應(yīng)用,被拆分成分布式系統(tǒng)上一個個服務(wù)節(jié)點后,配置文件也必須跟著遷移(割),免會包含很多冗余代碼。同一個應(yīng)用程序在不同的環(huán)境(開發(fā),測試,生產(chǎn))方便得進(jìn)行動態(tài)切換。上述諸多問題。在系統(tǒng)架構(gòu)中,和安全、日志、監(jiān)控等非功能需求一樣,配置管理也是一種非功能需求。配置中心是整個微服務(wù)基礎(chǔ)架構(gòu)體系中的一個組件。用配置的基礎(chǔ)服務(wù)組件。Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的管理場景。項目使用Apollo完成集中管理配置,將各微服務(wù)的配置從服務(wù)中剝離出來,統(tǒng)一管理,優(yōu)雅的解決了配置的動態(tài)變更、持久化和運維成本等問題。3.2UAAUAA服務(wù)是萬信金融平臺的統(tǒng)一認(rèn)證中心,集認(rèn)證和授權(quán)功能于一身,采用SpringSecurity整合3.2UAAUAA服務(wù)是萬信金融平臺的統(tǒng)一認(rèn)證中心,集認(rèn)證和授權(quán)功能于一身,采用SpringSecurity整合隨著RestfulAPI、微服務(wù)的興起,基于oen的認(rèn)證現(xiàn)在已經(jīng)越來越普遍?;趖oen種服務(wù)端無狀態(tài)的認(rèn)證方式,所謂服務(wù)端無狀態(tài)指的toen本身包含登錄用戶所有的相關(guān)數(shù)據(jù),而客戶端在認(rèn)證后的每次請求都會攜帶toen,因此服務(wù)器端無需存放toen數(shù)據(jù)。當(dāng)用戶認(rèn)證后,服務(wù)端生成一個token發(fā)給客戶端,客戶端可以放到cookie或localStorage等存儲中,每次請求時帶上token,服務(wù)端收到token通過驗證后即可確認(rèn)用戶身份。市面上基于toen的認(rèn)證方式大都采用的是JWT(Jsoneboen)。JSONeboen(JWT)放的行業(yè)標(biāo)準(zhǔn)(RFC7519),它定義了一種簡潔的、自包含的協(xié)議格式,用于在通信雙方傳遞json對象,傳遞的信息經(jīng)過數(shù)字簽名可以被驗證和信任。上圖的接入方對應(yīng)Auth2.0平臺,用戶對應(yīng)Auth2.0上圖的接入方對應(yīng)Auth2.0平臺,用戶對應(yīng)Auth2.0的資源擁有者。流程描述用戶登錄通過接入方(目前指前端)在平臺登錄,接入方采取OAuth2.0密碼模式請求認(rèn)證服務(wù)(UAA)認(rèn)證服務(wù)(UAA)認(rèn)證服務(wù)(UAA)若登錄用戶以及接入方都合法,生成jwt令牌返回給接入方,其中jwt限。接入方攜帶jwtAPI如果接入方的權(quán)限沒問題,API息jsonoen,微服務(wù)用jsonoen來識別本次請求的用戶會話。3.3在P2P平臺中,標(biāo)的信息和投標(biāo)信息做為平臺基礎(chǔ)業(yè)務(wù)數(shù)據(jù)存在。隨著平臺的發(fā)展,這些數(shù)據(jù)可能會越來越多,甚至達(dá)到億級。以MySQL為例,單庫數(shù)據(jù)量在5000萬以內(nèi)性能比較好,超過閾值后性能會隨著數(shù)據(jù)量的增大而明顯降低。單表的數(shù)據(jù)量超過1000w的時間變長,并發(fā)操作達(dá)到一定量時可能會卡死,甚至把系統(tǒng)給拖垮,因此我們的P2P平臺需要解決這個性能瓶頸問題。有上限的。提升數(shù)據(jù)庫操作性能的目的?可以,這就是數(shù)據(jù)庫分庫分表。底層還是基于RDBMS,因此整個數(shù)據(jù)庫的運維體系以及相關(guān)基礎(chǔ)設(shè)施都是可重用的。垂直分表:可以把一個寬表的字段按訪問頻次、業(yè)務(wù)耦合松緊、是否是大字段的原則拆分為多個底層還是基于RDBMS,因此整個數(shù)據(jù)庫的運維體系以及相關(guān)基礎(chǔ)設(shè)施都是可重用的。垂直分表:可以把一個寬表的字段按訪問頻次、業(yè)務(wù)耦合松緊、是否是大字段的原則拆分為多個將得不償失。業(yè)務(wù)庫可根據(jù)自身情況定制優(yōu)化方案。但是它需要解決跨庫帶來的所有復(fù)雜問題。水平分庫:可以把一個表的數(shù)據(jù)(按數(shù)據(jù)行)分到多個不同的庫,每個庫只有這個表的部分?jǐn)?shù)據(jù),這庫帶來的所有復(fù)雜問題,還要解決數(shù)據(jù)路由的問題。水平分表:可以把一個表的數(shù)據(jù)(按數(shù)據(jù)行)的部分?jǐn)?shù)據(jù),這樣做能小幅提升性能,它僅僅作為水平分庫的一個補(bǔ)充優(yōu)化。在P2P平臺中,標(biāo)的信息和投標(biāo)信息做為平臺基礎(chǔ)業(yè)務(wù)數(shù)據(jù)存在。隨著平臺的發(fā)展,這些數(shù)據(jù)可能會越來越多,甚至達(dá)到億級。以MySQL為例,單庫數(shù)據(jù)量在5000萬以內(nèi)性能比較好,超過閾值后性能會隨著數(shù)據(jù)量的增大而明顯降低。單表的數(shù)據(jù)量超過1000w的時間變長,并發(fā)操作達(dá)到一定量時可能會卡死,甚至把系統(tǒng)給拖垮,因此我們需要對P2P平臺的數(shù)據(jù)庫進(jìn)行分庫分表提升性能,并使用Shading-JDBC進(jìn)行數(shù)據(jù)庫操作。.我們會單獨創(chuàng)建p2p_tansaction數(shù)據(jù)庫(交易中心)標(biāo)信息等。首先對該數(shù)據(jù)庫進(jìn)行分庫,相同發(fā)標(biāo)人的數(shù)據(jù)最好不要分散,否則查詢相關(guān)信息要跨庫,因此以發(fā)標(biāo)人作為分片鍵,分片策略采取發(fā)標(biāo)人ID%2。.然后對庫內(nèi)的標(biāo)的信息和投標(biāo)信息進(jìn)行分表,根據(jù)需求此兩表會以標(biāo)的ID作為關(guān)聯(lián)鍵聯(lián)合查詢,因此以標(biāo)的ID作為分片鍵,分片策略采取標(biāo)的ID%,并將標(biāo)的信息和投標(biāo)信息設(shè)置為綁定表最終形成如下數(shù)據(jù)庫設(shè)計:面對日益增加的系統(tǒng)訪問量以及高并發(fā)的情況,數(shù)據(jù)庫的性能面臨著巨大瓶頸。數(shù)據(jù)庫的“寫面對日益增加的系統(tǒng)訪問量以及高并發(fā)的情況,數(shù)據(jù)庫的性能面臨著巨大瓶頸。數(shù)據(jù)庫的“寫”較耗時的(例如:寫10000條數(shù)據(jù)到oacle可能要3分鐘),而數(shù)據(jù)庫的“讀”操作相對較快(例如:從oacle讀10000條數(shù)據(jù)可能只要5秒鐘)。在高并發(fā)的情況下,寫操作會嚴(yán)重拖累讀操作,這是單純分庫分表無法解決的。讀寫分離。它能夠有效的避免由數(shù)據(jù)更新導(dǎo)致的行鎖,使得整個系統(tǒng)的查詢性能得到極大的改善。我們還可以搞一主多從,這樣就可以將查詢請求均勻的分散到多個從庫,能夠進(jìn)一步的提升系統(tǒng)的處理能力。一個數(shù)據(jù)庫宕機(jī),甚至磁盤物理損壞的情況下仍然不影響系統(tǒng)的正常運行。題。隨著互聯(lián)網(wǎng)的快速發(fā)展,軟件系統(tǒng)由原來的單體應(yīng)用轉(zhuǎn)變?yōu)榉植际綉?yīng)用,下圖描述了單體應(yīng)用向分布式微服務(wù)應(yīng)用的演變(如下圖所示)。分布式系統(tǒng)會把一個應(yīng)用系統(tǒng)拆分為可獨立部署的多個服務(wù),因此需要服務(wù)與服務(wù)之間遠(yuǎn)程協(xié)作才能完成事務(wù)操作,這種分布式系統(tǒng)環(huán)境下的事務(wù)機(jī)制稱之為分布式事務(wù)隨著互聯(lián)網(wǎng)的快速發(fā)展,軟件系統(tǒng)由原來的單體應(yīng)用轉(zhuǎn)變?yōu)榉植际綉?yīng)用,下圖描述了單體應(yīng)用向分布式微服務(wù)應(yīng)用的演變(如下圖所示)。分布式系統(tǒng)會把一個應(yīng)用系統(tǒng)拆分為可獨立部署的多個服務(wù),因此需要服務(wù)與服務(wù)之間遠(yuǎn)程協(xié)作才能完成事務(wù)操作,這種分布式系統(tǒng)環(huán)境下的事務(wù)機(jī)制稱之為分布式事務(wù)。同樣一個功能,原來是由一個系統(tǒng)完成的,即使這個功能包含很多個操作,也可以采用數(shù)據(jù)庫事務(wù)(事務(wù))搞定,而現(xiàn)在這個功能中包含的多個操作可能是由多個系統(tǒng)(微服務(wù))參與完成的,此時數(shù)據(jù)庫事務(wù)(本地事務(wù))就無能為力了,這就需要新的分布式事務(wù)理論來支撐了。3.4.2什么是TCC(補(bǔ)償事務(wù)C(ry/Con?rm/Cancel編程模式的核心思想是:針對每個分支事務(wù)操作,都要向全局事務(wù)發(fā)起方注ry、Con?rm和Cancel執(zhí)行:Try階段主要是做業(yè)務(wù)檢查(一致性)及資源預(yù)留(隔離)Con?rmCon?rm階段主要是做確認(rèn)提交,Try階段所有分支事務(wù)執(zhí)行成功后開始執(zhí)行Con?rm。通常情況下,采用TCC則認(rèn)為Con?rm階段是不會出錯的。即:只要Try成功,Con?rm一定成功。若Cancel放。通常情況下,采用C則認(rèn)為Cancel階段也是一定成功的。若Cancel重試機(jī)制或人工處理。在P2P統(tǒng)一賬號服務(wù)保存該用戶所對應(yīng)的賬號信息,該業(yè)務(wù)存在分布式事務(wù)問題。且屬于執(zhí)行時間較短的業(yè)務(wù)。在P2P統(tǒng)一賬號服務(wù)保存該用戶所對應(yīng)的賬號信息,該業(yè)務(wù)存在分布式事務(wù)問題。且屬于執(zhí)行時間較短的業(yè)務(wù)。C方案的軟狀態(tài)時間很短,一致性較強(qiáng),因此在此業(yè)務(wù),我們選用C型分布式事務(wù)解決方案。RocetM中的Boer與發(fā)送方具備雙向通信能力,使得boerRocetMQ本身提供了存儲機(jī)制,使得事務(wù)消息可以持久化保存;這些優(yōu)秀的設(shè)計可以保證即使發(fā)生了異常,RocetM依然能夠保證達(dá)成事務(wù)的最終一致性。發(fā)送方發(fā)送一個事務(wù)消息給Boe,RocetM會將消息狀態(tài)標(biāo)記為“Pepaed時不能被接收方消費。這樣的消息稱之為HalfMessage,即半消息。Broker若本地事務(wù)執(zhí)行成功,發(fā)送commi消息給Boer,RocetM會將消息狀態(tài)標(biāo)記為“可消費”,此時這條消息就可以被接收方消費;若本地事務(wù)執(zhí)行失敗,發(fā)送ollbac消息給將刪除該消息。如果發(fā)送方在本地事務(wù)過程中,出現(xiàn)服務(wù)掛掉,網(wǎng)絡(luò)閃斷或者超時,那Boe果此時RocketMQ將會不停的詢問發(fā)送方來獲取本地事務(wù)的執(zhí)行狀態(tài)(即事務(wù)回查根據(jù)事務(wù)回查的結(jié)果來決定Commit或Rollback時失敗。P2P項目的滿標(biāo)放款業(yè)務(wù)中,交易中心修改標(biāo)的狀態(tài)為“還款中”,同時要通知還款服務(wù)生成還款計劃到兩個獨立的微服務(wù),這里就存在分布式事務(wù)問題。業(yè)務(wù)對強(qiáng)一致性要求較低,因此我們可以采用RocetMQ可靠消息實現(xiàn)最終一致性這個解決方案。3.5分布式定時任務(wù)Elastic-業(yè)務(wù)對強(qiáng)一致性要求較低,因此我們可以采用RocetMQ可靠消息實現(xiàn)最終一致性這個解決方案。3.5分布式定時任務(wù)Elastic-10點,下午3點,晚上8某銀行系統(tǒng)需要在信用卡到期還款日的前三天進(jìn)行短信提醒。某財務(wù)系統(tǒng)需要在每天凌晨0:10某網(wǎng)站為了實現(xiàn)天氣實時展示,每隔10放更多的人力,而是由系統(tǒng)自動去執(zhí)行任務(wù)。統(tǒng)環(huán)境下運行任務(wù)調(diào)度,我們稱之為分布式任務(wù)調(diào)度?;驇讉€分片項。例如:有一個遍歷數(shù)據(jù)庫某張表的作業(yè),現(xiàn)有2臺服務(wù)器。為了快速的執(zhí)行作業(yè),那么每臺服務(wù)器應(yīng)執(zhí)行作業(yè)的50%。為滿足此需求,可將作業(yè)分成2片,每臺服務(wù)器執(zhí)行1片。作業(yè)遍歷數(shù)據(jù)的邏輯應(yīng)為:服務(wù)器A遍歷ID以奇數(shù)結(jié)尾的數(shù)據(jù);服務(wù)器B遍歷ID以偶數(shù)結(jié)尾的數(shù)據(jù)。如果分成10片,則作業(yè)遍歷數(shù)據(jù)的邏輯應(yīng)為:每片分到的分片項應(yīng)為ID%10,而服務(wù)器A被分配到分片項0,1,2,3,4;服務(wù)器B被分配到分片項5,6,7,8,9,直接的結(jié)果就是服務(wù)器片,則作業(yè)遍歷數(shù)據(jù)的邏輯應(yīng)為:每片分到的分片項應(yīng)為ID%10,而服務(wù)器A被分配到分片項0,1,2,3,4;服務(wù)器B被分配到分片項5,6,7,8,9,直接的結(jié)果就是服務(wù)器A遍歷ID以0-4器B遍歷ID以5-9結(jié)尾的數(shù)據(jù)。在P2P行。這里可以采用Elastic-Job實現(xiàn)分布式定時還款任務(wù),在查詢到期的還款計劃時根據(jù)NUMBER_OF_PERIODS(期數(shù))進(jìn)行分片。'%Y-%m-%d')=#{date}ANDREPAYMENT_STATUS='0'ANDMOD(number_of_periods,#{shardingCount})=List<RepaymentPlan>selectDueRepayment(@Param("date")String@Param("shardingCount")@Param("shardingItem")int3.6在通過ES往索引庫中存儲數(shù)據(jù)時,數(shù)據(jù)會被分詞產(chǎn)生詞條,該詞條會被存儲到內(nèi)部的一個列表中(目錄數(shù)據(jù)本身則會作為一個文檔進(jìn)行存儲,詞條和文檔有對應(yīng)關(guān)系。在通過ES從索引庫中搜索數(shù)據(jù)時,ES會拿著搜索關(guān)鍵字和列表中(目錄)的詞條進(jìn)行匹配,一旦匹配上會立即直接定位到對應(yīng)的文檔。p2p_tansactio進(jìn)行了分庫分表、讀寫分離,但是術(shù)來進(jìn)一步優(yōu)化性能。P2P項目中會有多處業(yè)務(wù)數(shù)據(jù)有這種需求,所以我們單獨創(chuàng)建一個微服務(wù)工程(務(wù))為整個項目提供全文檢索服務(wù),該工程主要采用ElasticSeach+Logstas下所示:內(nèi)容檢索服務(wù)請求內(nèi)容檢索服務(wù)請求ES3.6.2LogstashLogstash作為Elasicseach常用的實時數(shù)據(jù)采集引擎,可以采集來自不同數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論