亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于緩存的用戶權(quán)限管理方法及裝置與流程

文檔序號:12464911閱讀:533來源:國知局
基于緩存的用戶權(quán)限管理方法及裝置與流程

本發(fā)明涉及用戶權(quán)限管理技術(shù)領(lǐng)域,具體涉及一種基于緩存的用戶權(quán)限管理方法以及一種基于緩存的用戶權(quán)限管理裝置。



背景技術(shù):

隨著互聯(lián)網(wǎng)信息及用戶的飛速增長,如何有效減少用戶訪問延時(shí),提高網(wǎng)絡(luò)服務(wù)質(zhì)量和網(wǎng)絡(luò)帶寬的利用率是一個(gè)迫切需要解決的難題。Web代理緩存技術(shù)是克服這些問題的最有效的方法。Web緩存服務(wù)器系統(tǒng)正在Internet及局域網(wǎng)上廣泛地應(yīng)用,對它所采用的技術(shù)做了較深入的討論,指出利用Web Cache技術(shù),可減少網(wǎng)絡(luò)流量,節(jié)約資金,提高帶寬利用率;同時(shí)在Cache服務(wù)器端進(jìn)行內(nèi)容分析過濾,可提高過濾質(zhì)量和效率,有效防止有害信息的進(jìn)一步傳播。

基于角色的訪問控制方法給用戶授權(quán)管理帶來了靈活性和簡單性,但是當(dāng)把其具體應(yīng)用到實(shí)際大中型應(yīng)用系統(tǒng)時(shí),便發(fā)現(xiàn)會(huì)存在這樣的問題:由于應(yīng)用系統(tǒng)用戶、角色和權(quán)限數(shù)量很多,而且用戶和角色之問、角色與角色之間、角色和權(quán)限之間還存在很復(fù)雜的關(guān)系以及各種各樣的約束。判斷用戶是否具有某個(gè)操作權(quán)限可能是一個(gè)復(fù)雜的遞歸查找過程,需要連接數(shù)據(jù)庫,進(jìn)行大量比較耗時(shí)的數(shù)據(jù)查詢操作,而且即使用戶每次訪問相同的資源,也要重復(fù)同樣的查權(quán)過程,這將嚴(yán)重影響系統(tǒng)的查權(quán)速度。

因此,亟需要一種解決系統(tǒng)查權(quán)限速度慢的用戶權(quán)限管理的方法及裝置。



技術(shù)實(shí)現(xiàn)要素:

技術(shù)問題

有鑒于此,本發(fā)明實(shí)施例提供基于緩存的用戶權(quán)限管理方法及裝置,解決查權(quán)限速度慢的技術(shù)問題。

根據(jù)本發(fā)明的一個(gè)方面,公開了一種基于緩存的用戶權(quán)限管理方法。該方法包括如下步驟:

用戶進(jìn)行訪問時(shí),查詢用戶權(quán)限緩存數(shù)據(jù)庫是否存在該用戶的訪問權(quán)限數(shù)據(jù)記錄;

如果沒有,則生成訪問權(quán)限數(shù)據(jù),并將所述訪問權(quán)限數(shù)據(jù)存儲(chǔ)到所述用戶權(quán)限緩存數(shù)據(jù)庫;

如果有,則根據(jù)所述用戶權(quán)限緩存數(shù)據(jù)庫中的該用戶的訪問權(quán)限數(shù)據(jù)記錄將該用戶的訪問權(quán)限數(shù)據(jù)載入內(nèi)存。

在其中一個(gè)實(shí)施例中,所述生成訪問權(quán)限數(shù)據(jù)的步驟為根據(jù)RBAC查權(quán)方法生成訪問權(quán)限數(shù)據(jù)。

在其中一個(gè)實(shí)施例中,所述用戶的訪問權(quán)限數(shù)據(jù)記錄包括用戶信息、用戶訪問資源信息、操作權(quán)限信息和資源訪問次數(shù)信息中的任意信息。

在其中一個(gè)實(shí)施例中,當(dāng)用戶權(quán)限緩存數(shù)據(jù)庫存在該用戶的訪問權(quán)限數(shù)據(jù)記錄時(shí),累計(jì)資源訪問次數(shù)信息。

在其中一個(gè)實(shí)施例中,該方法還包括如下步驟:

根據(jù)預(yù)定資源訪問次數(shù),將超過所述預(yù)定資源訪問次數(shù)的資源的訪問權(quán)限數(shù)據(jù)直接載入內(nèi)存。

根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種基于緩存的用戶權(quán)限管理裝置。該裝置包括:用戶權(quán)限緩存數(shù)據(jù)庫,用于存儲(chǔ)用戶訪問資源數(shù)據(jù)記錄,其中,針對不同的訪問資源設(shè)置相應(yīng)的訪問數(shù)據(jù)記錄;查詢判斷模塊,用于用戶進(jìn)行訪問時(shí),查詢用戶權(quán)限緩存數(shù)據(jù)庫是否存在該用戶的訪問權(quán)限數(shù)據(jù)記錄;訪問權(quán)限數(shù)據(jù)生產(chǎn)模塊,用于用戶權(quán)限緩存數(shù)據(jù)庫并不存在該用戶的訪問權(quán)限數(shù)據(jù)記錄時(shí),則生成訪問權(quán)限數(shù)據(jù),并將所述訪問權(quán)限數(shù)據(jù)存儲(chǔ)到所述用戶權(quán)限緩存數(shù)據(jù)庫;載入模塊,用于根據(jù)所述用戶權(quán)限緩存數(shù)據(jù)庫中的該用戶的訪問權(quán)限數(shù)據(jù)記錄將該用戶的訪問權(quán)限數(shù)據(jù)載入內(nèi)存。

在其中一個(gè)實(shí)施例中,訪問權(quán)限數(shù)據(jù)生產(chǎn)模塊根據(jù)RBAC查權(quán)方法生成訪問權(quán)限數(shù)據(jù)。

在其中一個(gè)實(shí)施例中,所述用戶的訪問權(quán)限數(shù)據(jù)記錄包括用戶信息、用戶訪問資源信息、操作權(quán)限信息和資源訪問次數(shù)信息中的任意信息。

在其中一個(gè)實(shí)施例中,該裝置還包括:

累計(jì)模塊,用于當(dāng)用戶權(quán)限緩存數(shù)據(jù)庫存在該用戶的訪問權(quán)限數(shù)據(jù)記錄時(shí),累計(jì)用戶訪問資源數(shù)據(jù)記錄的資源訪問次數(shù)信息。

在其中一個(gè)實(shí)施例中,載入模塊還用于根據(jù)預(yù)定資源訪問次數(shù),將超過所述預(yù)定資源訪問次數(shù)的資源的訪問權(quán)限數(shù)據(jù)直接載入內(nèi)存。

采用上述技術(shù)方案,本發(fā)明至少可取得下述技術(shù)效果:

使用有緩存查權(quán)方法時(shí),由于登錄驗(yàn)證用戶身份環(huán)節(jié)需要查找用戶權(quán)限緩存表,所以登錄用時(shí)明顯比無緩存方法的要多一些;

登錄時(shí)只把該用戶最經(jīng)常使用的那些資源的緩存權(quán)限數(shù)據(jù)裝載到內(nèi)存中供查權(quán)使用,而其它不經(jīng)常使用的一些資源的緩存權(quán)限數(shù)據(jù),在使用到時(shí)才到數(shù)據(jù)庫中提取。從整體上來看,采用這樣的策略既可以避免用戶登錄時(shí)耗時(shí)較多,也可以提高系統(tǒng)的查權(quán)速度。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對本發(fā)明實(shí)施例描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)本發(fā)明實(shí)施例的內(nèi)容和這些附圖獲得其他的附圖。

圖1是本發(fā)明一實(shí)施例所述的基于緩存的用戶權(quán)限管理方法流程圖;

圖2是本發(fā)明一實(shí)施例所述的基于緩存的用戶權(quán)限管理裝置示意圖。

貫穿附圖,應(yīng)該注意的是,相似的標(biāo)號用于描繪相同或相似的元件、特征和結(jié)構(gòu)。

具體實(shí)施方式

提供以下參照附圖的描述來幫助全面理解由權(quán)利要求及其等同物限定的本公開的各種實(shí)施例。以下描述包括幫助理解的各種具體細(xì)節(jié),但是這些細(xì)節(jié)將被視為僅是示例性的。因此,本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到,在不脫離本公開的范圍和精神的情況下,可對本文所述的各種實(shí)施例進(jìn)行各種改變和修改。另外,為了清晰和簡潔,公知功能和構(gòu)造的描述可被省略。

以下描述和權(quán)利要求書中所使用的術(shù)語和詞匯不限于文獻(xiàn)含義,而是僅由發(fā)明人用來使本公開能夠被清晰和一致地理解。因此,對于本領(lǐng)域技術(shù)人員而言應(yīng)該明顯的是,提供以下對本公開的各種實(shí)施例的描述僅是為了示例性目的,而非限制由所附權(quán)利要求及其等同物限定的本公開的目的。

應(yīng)該理解,除非上下文明確另外指示,否則單數(shù)形式也包括復(fù)數(shù)指代。因此,例如,對“組件表面”的引用包括對一個(gè)或更多個(gè)這樣的表面的引用。

傳統(tǒng)的基于角色的訪問控制是基于RBAC模型,當(dāng)判斷用戶是否具有某個(gè)操作權(quán)限P時(shí),可以根據(jù)RBAC模型中的用戶角色指派關(guān)系(User Assignment,UA)、角色權(quán)限指派關(guān)系(Permission Assignment,PA)和角色間的層次關(guān)系(Role Hierarchy,RH)進(jìn)行具體判定。例如,判斷用戶U1是否具有權(quán)限P1,用戶角色指派關(guān)系中U1直接擁有角色R1,而R1具有權(quán)限P1。在RBAC中,用戶擁有某角色就擁有該角色的全部權(quán)限。因此,只要查詢角色R1是否包含有權(quán)限P1就可判定用戶U1是否具有權(quán)限P1了。又如,判斷用戶U2是否擁有權(quán)限Pm,用戶角色指派關(guān)系和角色層次關(guān)系中,U2擁有的直接角色是R2,而R2的直接下層角色是R5,R5的直接下層角色是R8,R8才直接擁有權(quán)限Pm。在具體查權(quán)操作時(shí),必須逐層往下搜索,根據(jù)RBAC中的上層(父)角色擁有下層(子)角色的全部權(quán)限的原則,直到搜索到R8時(shí)才能根據(jù)R8中是否擁有權(quán)限Pm來判定用戶U2是否間接具有權(quán)限Pm。這里只是一個(gè)簡單實(shí)例,實(shí)際應(yīng)用系統(tǒng)的查權(quán)過程可能還要比這復(fù)雜得多。從傳統(tǒng)的RBAC查權(quán)過程中可以看到,判斷用戶是否具有某權(quán)限要靠查找存儲(chǔ)在數(shù)據(jù)庫中的RBAC的UA、RH和PA關(guān)系并生成相應(yīng)的權(quán)限數(shù)據(jù)以進(jìn)行判定。由于數(shù)據(jù)庫中沒有存儲(chǔ)任何用戶和權(quán)限問的直接關(guān)系,每次用戶訪問應(yīng)用系統(tǒng)進(jìn)行查權(quán)時(shí)生成的權(quán)限數(shù)據(jù)和判斷結(jié)果在當(dāng)次使用完后就丟棄了,當(dāng)該用戶下次再登錄時(shí),即使是訪問跟上次完全相同的系統(tǒng)資源也要重新生成權(quán)限數(shù)據(jù)然后再進(jìn)行判定。這種查權(quán)方式對系統(tǒng)的運(yùn)行速度影響比較大。

本申請的基于緩存的用戶權(quán)限管理方法和裝置,使用有緩存查權(quán)方法,由于登錄驗(yàn)證用戶身份環(huán)節(jié)需要查找用戶權(quán)限緩存表,所以登錄用時(shí)明顯比無緩存方法的要多一些;登錄時(shí)只把該用戶最經(jīng)常使用的那些資源的緩存權(quán)限數(shù)據(jù)裝載到內(nèi)存中供查權(quán)使用,而其它不經(jīng)常使用的一些資源的緩存權(quán)限數(shù)據(jù),在使用到時(shí)才到數(shù)據(jù)庫中提取。從整體上來看,采用這樣的策略既可以避免用戶登錄時(shí)耗時(shí)較多,也可以提高系統(tǒng)的查權(quán)速度

圖1是本發(fā)明一實(shí)施例所述的基于緩存的用戶權(quán)限管理方法流程圖。

參考圖1,本實(shí)施例所述的基于緩存的用戶權(quán)限管理方法100,該方法100包括如下步驟:

步驟S120:查詢用戶權(quán)限緩存數(shù)據(jù)庫是否存在該用戶的訪問權(quán)限數(shù)據(jù)記錄。用戶進(jìn)行訪問時(shí),首先查詢用戶權(quán)限緩存數(shù)據(jù)庫是否存在該用戶的訪問權(quán)限數(shù)據(jù)記錄。

造成查權(quán)速度慢的主要原因就是每次登錄應(yīng)用系統(tǒng)時(shí),都要搜索存儲(chǔ)在數(shù)據(jù)庫中的UA、RH和PA關(guān)系并且重新生產(chǎn)權(quán)限數(shù)據(jù)再進(jìn)行匹配判斷,即使是用戶以前訪問過的資源亦是如此。要解決這個(gè)造成查權(quán)速度慢的問題,就必須采取相應(yīng)的方法,盡量避免用戶每次錄系統(tǒng)時(shí)都要重新生成權(quán)限數(shù)據(jù)和進(jìn)行判斷。針對這個(gè)問題,本申請對傳統(tǒng)的RBAC查權(quán)方法進(jìn)行了一定的改進(jìn),采用直接緩存部分用戶常用權(quán)限數(shù)據(jù)的策略。

步驟S140,如果沒有,則生成訪問權(quán)限數(shù)據(jù),并將訪問權(quán)限數(shù)據(jù)存儲(chǔ)到所述用戶權(quán)限緩存數(shù)據(jù)庫。如果用戶權(quán)限緩存數(shù)據(jù)庫不存在該用戶的訪問權(quán)限數(shù)據(jù)記錄,則生成訪問權(quán)限數(shù)據(jù),并將訪問權(quán)限數(shù)據(jù)存儲(chǔ)到所述用戶權(quán)限緩存數(shù)據(jù)庫。用戶首次訪問或者訪問沒有記錄的新的應(yīng)用資源時(shí),需要先生成訪問權(quán)限數(shù)據(jù),并將生成的訪問權(quán)限數(shù)據(jù)存儲(chǔ)至用戶權(quán)限緩存數(shù)據(jù)庫。這樣,用戶下次訪問后者再次訪問該資源時(shí),用戶權(quán)限緩存數(shù)據(jù)庫會(huì)存在相應(yīng)的記錄。

具體的,上述生成訪問權(quán)限數(shù)據(jù)的步驟為根據(jù)RBAC查權(quán)方法生成訪問權(quán)限數(shù)據(jù)。其中,用戶的訪問權(quán)限數(shù)據(jù)記錄包括用戶信息、用戶訪問資源信息、操作權(quán)限信息和資源訪問次數(shù)信息中的任意信息。

用戶第一次訪問應(yīng)用系統(tǒng)時(shí),由于數(shù)據(jù)庫中還沒有該戶訪問資源的權(quán)限數(shù)據(jù)記錄,這時(shí)必須使用數(shù)據(jù)庫中存儲(chǔ)的UA、RH和PA關(guān)系生成該用戶的本次訪問所需的權(quán)限數(shù)據(jù),并把權(quán)限數(shù)據(jù)裝載到速度很快的本地機(jī)內(nèi)存中,當(dāng)用戶需要查權(quán)時(shí),直接到本機(jī)內(nèi)存中查找。

步驟S160:如果有,則根據(jù)用戶權(quán)限緩存數(shù)據(jù)庫中的該用戶的訪問權(quán)限數(shù)據(jù)記錄將該用戶的訪問權(quán)限數(shù)據(jù)載入內(nèi)存。如果用戶權(quán)限緩存數(shù)據(jù)庫已經(jīng)存在該用戶的訪問權(quán)限數(shù)據(jù)記錄,則直接根據(jù)數(shù)據(jù)庫中的記錄,將該用戶的訪問權(quán)限數(shù)據(jù)載入內(nèi)存。

并且,用戶權(quán)限緩存數(shù)據(jù)庫存在該用戶的訪問權(quán)限數(shù)據(jù)記錄時(shí),累計(jì)資源訪問次數(shù)信息。用戶新訪問或者訪問新的資源時(shí),在數(shù)據(jù)庫中針對該新的資源計(jì)數(shù)為1,以后按此累加。把本次該用戶的查權(quán)結(jié)果自動(dòng)保存到數(shù)據(jù)庫的權(quán)限緩存表中。當(dāng)該用戶在下次再訪問時(shí),先搜索數(shù)據(jù)庫的權(quán)限緩存表,把該用戶上次緩存的權(quán)限數(shù)據(jù)直接載人內(nèi)存中。如果用戶訪問的是上次訪問過的資源,則直接到本機(jī)內(nèi)存讀取其權(quán)限數(shù)據(jù)進(jìn)行相應(yīng)的控制;如果是該用戶沒有訪問過的資源,由于在本機(jī)內(nèi)存中沒有其緩存的權(quán)限數(shù)據(jù),這時(shí)才進(jìn)行比較耗時(shí)的連接和查詢數(shù)據(jù)庫操作,根據(jù)存儲(chǔ)的UA、RH和PA關(guān)系,按照傳統(tǒng)方法生成該用戶的權(quán)限數(shù)據(jù),載入內(nèi)存,并進(jìn)行緩存,除供本次查權(quán)使用之外,也為下次用戶的查權(quán)做好準(zhǔn)備。由于盡量減少了用戶每次查權(quán)時(shí)連接、查詢數(shù)據(jù)庫的次數(shù)以及生成權(quán)限數(shù)據(jù)的時(shí)間,所以查權(quán)速度也相應(yīng)得到了一定的提高。

上述基于緩存的用戶權(quán)限管理方法,還可以根據(jù)預(yù)定資源訪問次數(shù),將超過所述預(yù)定資源訪問次數(shù)的資源的訪問權(quán)限數(shù)據(jù)直接載入內(nèi)存。隨著用戶使用應(yīng)用系統(tǒng)的次數(shù)越來越多,數(shù)據(jù)庫中的用戶緩存權(quán)限數(shù)據(jù)也會(huì)越來越多。如果每次都把用戶所有的緩存數(shù)據(jù)都從數(shù)據(jù)庫查詢出來再載人內(nèi)存的話,也會(huì)花費(fèi)較長的時(shí)間。考慮到用戶工作具有一定的重復(fù)性和局部性的特點(diǎn),雖然他們有權(quán)使用的資源可能很多,但是經(jīng)常使用的只是其中的一小部分。因此,根據(jù)用戶的這些特點(diǎn),在上述改進(jìn)的基礎(chǔ)上再采取以下改進(jìn)方法:在數(shù)據(jù)庫中設(shè)置一個(gè)字段來記錄系統(tǒng)資源被訪問的次數(shù),每被訪問一次,其最近使用次數(shù)就自動(dòng)加“1”,使用次數(shù)越大的資源,就是最近常被訪問的資源。登錄時(shí)只把該用戶最經(jīng)常使用的那些資源的緩存權(quán)限數(shù)據(jù)裝載到內(nèi)存中供查權(quán)使用,而其它不經(jīng)常使用的一些資源的緩存權(quán)限數(shù)據(jù),在使用到時(shí)才到數(shù)據(jù)庫中提取。從整體上來看,采用這樣的策略既可以避免用戶登錄時(shí)耗時(shí)較多,也可以提高系統(tǒng)的查權(quán)速度。

圖2是本發(fā)明一實(shí)施例所述的基于緩存的用戶權(quán)限管理裝置示意圖。

參考圖2,本公開提供了一種基于緩存的用戶權(quán)限管理裝置200,該裝置包括:用戶權(quán)限緩存數(shù)據(jù)庫210,查詢判斷模塊230,訪問權(quán)限數(shù)據(jù)生產(chǎn)模塊250,載入模塊270和累計(jì)模塊290。

用戶權(quán)限緩存數(shù)據(jù)庫210存儲(chǔ)用戶訪問資源數(shù)據(jù)記錄,其中,針對不同的訪問資源設(shè)置相應(yīng)的訪問數(shù)據(jù)記錄。當(dāng)用戶進(jìn)行訪問時(shí),查詢判斷模塊230查詢用戶權(quán)限緩存數(shù)據(jù)庫是否存在該用戶的訪問權(quán)限數(shù)據(jù)記錄。用戶權(quán)限緩存數(shù)據(jù)庫并不存在該用戶的訪問權(quán)限數(shù)據(jù)記錄時(shí),訪問權(quán)限數(shù)據(jù)生產(chǎn)模塊250生成訪問權(quán)限數(shù)據(jù),并將訪問權(quán)限數(shù)據(jù)存儲(chǔ)到用戶權(quán)限緩存數(shù)據(jù)庫210。載入模塊270根據(jù)所述用戶權(quán)限緩存數(shù)據(jù)庫中的該用戶的訪問權(quán)限數(shù)據(jù)記錄將該用戶的訪問權(quán)限數(shù)據(jù)載入內(nèi)存。當(dāng)用戶權(quán)限緩存數(shù)據(jù)庫存在該用戶的訪問權(quán)限數(shù)據(jù)記錄時(shí),累計(jì)模塊290累計(jì)用戶訪問資源數(shù)據(jù)記錄的資源訪問次數(shù)信息,當(dāng)用戶第一次訪問后者訪問新的資源時(shí),對該數(shù)據(jù)記錄標(biāo)記為1,并自此累加。

其中,訪問權(quán)限數(shù)據(jù)生產(chǎn)模塊250根據(jù)RBAC查權(quán)方法生成訪問權(quán)限數(shù)據(jù)。

其中,用戶的訪問權(quán)限數(shù)據(jù)記錄包括用戶信息、用戶訪問資源信息、操作權(quán)限信息和資源訪問次數(shù)信息中的任意信息。

其中,載入模塊270還用于根據(jù)預(yù)定資源訪問次數(shù),將超過所述預(yù)定資源訪問次數(shù)的資源的訪問權(quán)限數(shù)據(jù)直接載入內(nèi)存。

應(yīng)該注意的是,如上所述的本公開的各種實(shí)施例通常在一定程度上涉及輸入數(shù)據(jù)的處理和輸出數(shù)據(jù)的生成。此輸入數(shù)據(jù)處理和輸出數(shù)據(jù)生成可在硬件或者與硬件結(jié)合的軟件中實(shí)現(xiàn)。例如,可在移動(dòng)裝置或者相似或相關(guān)的電路中采用特定電子組件以用于實(shí)現(xiàn)與如上所述本公開的各種實(shí)施例關(guān)聯(lián)的功能。另選地,依據(jù)所存儲(chǔ)的指令來操作的一個(gè)或更多個(gè)處理器可實(shí)現(xiàn)與如上所述本公開的各種實(shí)施例關(guān)聯(lián)的功能。如果是這樣,則這些指令可被存儲(chǔ)在一個(gè)或更多個(gè)非暫時(shí)性處理器可讀介質(zhì)上,這是在本公開的范圍內(nèi)。處理器可讀介質(zhì)的示例包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光學(xué)數(shù)據(jù)存儲(chǔ)裝置。另外,用于實(shí)現(xiàn)本公開的功能計(jì)算機(jī)程序、指令和指令段可由本公開所屬領(lǐng)域的程序員容易地解釋。

盡管已參照本公開的各種實(shí)施例示出并描述了本公開,但是本領(lǐng)域技術(shù)人員將理解,在不脫離由所附權(quán)利要求及其等同物限定的本公開的精神和范圍的情況下,可對其進(jìn)行形式和細(xì)節(jié)上的各種改變。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1