本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種資源訪問處理方法及裝置。
背景技術(shù):
相關(guān)技術(shù)中,對資源文件的訪問方式,是建立一個資源標識符和資源實際存儲路徑的映射關(guān)系。然后,在url(uniformresourelocator,統(tǒng)一資源定位符)中加入資源標識符,服務(wù)器端在接收到資源訪問請求后,根據(jù)資源訪問請求中的資源標識符端查詢映射關(guān)系,獲得標識符對應(yīng)的資源存儲路徑,進而獲取實際資源。
然而,在實現(xiàn)本發(fā)明的過程中發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在以下問題:1)需要維護和讀取映射表,降低了訪問速度,增加了系統(tǒng)復(fù)雜度;2)上傳資源文件需要寫入映射表,增加了業(yè)務(wù)流程和維護成本;3)實際存儲路徑發(fā)生變更時,不容易做到向后兼容,需要清洗映射表中的數(shù)據(jù),版本升級還會引入新系統(tǒng)向老系統(tǒng)升級的割接流程;4)如果資源標識符有規(guī)律性,則很容易被遍歷抓取,造成資源被惡意訪問。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的第一個目的在于提出一種資源訪問處理方法,在資源訪問的過程中,通過協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息即可直接獲取資源訪問路徑信息,避免了映射表查詢的資源消耗,減少了訪問資源所消耗的時間,提高了訪問資源的效率,并且對資源的存儲路徑進行編碼保證了存儲不可讀,避免了資源路徑被遍歷,減少了資源惡意被訪問情況的發(fā)生。
本發(fā)明的第二個目的在于提出一種資源訪問處理裝置。
本發(fā)明的第三個目的在于提出一種非臨時性計算機可讀存儲介質(zhì)。
為達上述目的,本發(fā)明第一方面實施例提出了一種資源訪問處理方法,包括:接收終端發(fā)送的資源訪問請求,其中,所述資源訪問請求包括統(tǒng)一資源定位符url;對所述url進行解析,以獲取所述url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息;對所述編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息;根據(jù)所述協(xié)議版本號、所述業(yè)務(wù)類型標識和所述解碼后的存儲相對路徑信息確定資源訪問路徑信息;根據(jù)所述資源訪問路徑信息讀取資源,并向所述終端提供所述資源。
根據(jù)本發(fā)明的一個實施例,所述根據(jù)所述協(xié)議版本號、所述業(yè)務(wù)類型標識和所述解碼后的存儲相對路徑信息確定資源訪問路徑信息,包括:根據(jù)所述業(yè)務(wù)類型標識確定資源存儲類型,并獲取與所述資源存儲類型對應(yīng)的資源訪問地址前綴;根據(jù)所述資源訪問地址前綴和解碼后的存儲相對路徑信息生成第一資源訪問路徑信息;根據(jù)所述協(xié)議版本號和所述第一資源訪問路徑信息確定所述資源訪問路徑信息。
根據(jù)本發(fā)明的一個實施例,所述根據(jù)所述協(xié)議版本號和所述第一資源訪問路徑信息確定所述資源訪問路徑信息,包括:獲取服務(wù)器端的協(xié)議版本號;判斷所述url中的協(xié)議版本號與所述服務(wù)器端的協(xié)議版本號是否一致;如果判斷出所述url中的協(xié)議版本號與所述服務(wù)器端的協(xié)議版本號一致,則將所述第一資源訪問路徑信息作為所述資源訪問路徑信息。
根據(jù)本發(fā)明的一個實施例,所述方法還包括:如果判斷所述url中的協(xié)議版本號與所述服務(wù)器端的協(xié)議版本號不一致,則進一步判斷所述服務(wù)器端是否調(diào)整第一資源訪問路徑信息;如果判斷出所述服務(wù)器端調(diào)整所述第一資源訪問路徑信息,則獲取所述第一資源訪問路徑信息的路徑調(diào)整信息;根據(jù)所述路徑調(diào)整信息和所述第一資源訪問路徑信息生成所述資源訪問路徑信息。
根據(jù)本發(fā)明的一個實施例,所述方法還包括:如果判斷出所述服務(wù)器端未調(diào)整所述第一資源訪問路徑信息,則將所述第一資源訪問路徑信息作為所述資源訪問路徑信息。
本發(fā)明實施例的資源訪問處理方法,通過對終端發(fā)送的資源訪問請求中的url進行解析,解析出url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息,然后,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息,之后,根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息,以及根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源,由此,在資源訪問的過程中,通過協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息即可直接獲取資源訪問路徑信息,避免了映射表查詢的資源消耗,減少了訪問資源所消耗的時間,提高了訪問資源的效率,并且對資源的存儲路徑進行編碼保證了存儲不可讀,避免了資源路徑被遍歷,減少了資源惡意被訪問情況的發(fā)生。
為達上述目的,本發(fā)明第二方面實施例提出了一種資源訪問處理裝置,包括:接收模塊,用于接收終端發(fā)送的資源訪問請求,其中,所述資源訪問請求包括統(tǒng)一資源定位符url;解析模塊,用于對所述url進行解析,以獲取所述url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息;解碼模塊,用于對所述編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息;確定模塊,用于根據(jù)所述協(xié)議版本號、所述業(yè)務(wù)類型標識和所述解碼后的存儲相對路徑信息確定資源訪問路徑信息;提供模塊,用于根據(jù)所述資源訪問路徑信息讀取資源,并向所述終端提供所述資源。
根據(jù)本發(fā)明的一個實施例,所述確定模塊,包括:處理單元,用于根據(jù)所述業(yè)務(wù)類型標識確定資源存儲類型,并獲取與所述資源存儲類型對應(yīng)的資源訪問地址前綴;生成單元,用于根據(jù)所述資源訪問地址前綴和解碼后的存儲相對路徑信息生成第一資源訪問路徑信息;確定單元,用于根據(jù)所述協(xié)議版本號和所述第一資源訪問路徑信息確定所述資源訪問路徑信息。
根據(jù)本發(fā)明的一個實施例,所述確定單元,包括:第一獲取子單元,用于獲取服務(wù)器端的協(xié)議版本號;第一判斷子單元,用于判斷所述url中的協(xié)議版本號與所述服務(wù)器端的協(xié)議版本號是否一致;第一確定子單元,用于在判斷出所述url中的協(xié)議版本號與所述服務(wù)器端的協(xié)議版本號一致時,將所述第一資源訪問路徑信息作為所述資源訪問路徑信息。
根據(jù)本發(fā)明的一個實施例,所述確定單元,還包括:第二判斷子單元,用于在判斷所述url中的協(xié)議版本號與所述服務(wù)器端的協(xié)議版本號不一致時,進一步判斷所述服務(wù)器端是否調(diào)整所述第一資源訪問路徑信息;第二獲取子單元,用于在判斷出所述服務(wù)器端調(diào)整所述第一資源訪問路徑信息時,獲取所述第一資源訪問路徑信息的路徑調(diào)整信息;生成子單元,用于根據(jù)所述路徑調(diào)整信息和所述第一資源訪問路徑信息生成所述資源訪問路徑信息。
根據(jù)本發(fā)明的一個實施例,所述確定單元,還包括:第二確定子單元,用于在判斷出所述服務(wù)器端未調(diào)整所述第一資源訪問路徑信息時,將所述第一資源訪問路徑信息作為所述資源訪問路徑信息。
本發(fā)明實施例的資源訪問處理裝置,通過對終端發(fā)送的資源訪問請求中的url進行解析,解析出url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息,然后,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息,之后,根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息,以及根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源,由此,在資源訪問的過程中,通過協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息即可直接獲取資源訪問路徑信息,避免了映射表查詢的資源消耗,減少了訪問資源所消耗的時間,提高了訪問資源的效率,并且對資源的存儲路徑進行編碼保證了存儲不可讀,避免了資源路徑被遍歷,減少了資源惡意被訪問情況的發(fā)生。
為達上述目的,本發(fā)明第三方面實施例提出了一種非臨時性計算機可讀存儲介質(zhì),其上存儲有計算機程序,當計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面實施例所述的資源訪問處理方法。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本發(fā)明一個實施例的資源訪問處理方法的流程示意圖;
圖2為根據(jù)本發(fā)明另一個實施例的資源訪問處理方法的流程示意圖;
圖3為根據(jù)本發(fā)明另一個實施例的資源訪問處理裝置的結(jié)構(gòu)示意圖;
圖4為根據(jù)本發(fā)明又一個實施例的資源訪問處理裝置的結(jié)構(gòu)示意圖;
圖5為根據(jù)本發(fā)明再一個實施例的資源訪問處理裝置的結(jié)構(gòu)示意圖;
圖6為根據(jù)本發(fā)明又一個實施例的資源訪問處理裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實施例的資源訪問處理方法及裝置。
圖1為根據(jù)本發(fā)明一個實施例的資源訪問處理方法的流程示意圖。
如圖1所示,該資源訪問處理方法包括以下步驟:
s101,接收終端發(fā)送的資源訪問請求。
其中,資源訪問請求包括統(tǒng)一資源定位符url。
具體的,本實施例提供的資源訪問處理方法,可以由本發(fā)明提供的資源訪問處理裝置執(zhí)行,該裝置可以被配置在服務(wù)器端中,以實現(xiàn)資源的快速訪問。
其中,終端可以是個人計算機pc、手機、平板電腦等具有各種操作系統(tǒng)的硬件設(shè)備。
s102,對url進行解析,以獲取url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息。
在本發(fā)明的一個實施例中,在獲取資源訪問請求中的url后,采用預(yù)先設(shè)置的解析規(guī)則對url進行解析,以解析出url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息。
舉例而言,假設(shè)用戶通過終端向服務(wù)器所提供的資源訪問請求中的url為http://imageserver.com/v0102/y4xvo43io450o4kim2wio4w,根據(jù)預(yù)先設(shè)置的解析規(guī)則對該url進行解析,可以解析出該url中的協(xié)議版本號為“v01”,業(yè)務(wù)類型標識為“02”,編碼的存儲相對路徑信息為“y4xvo43io450o4kim2wio4w”。
其中,需要理解的是,該實施例中url中的編碼的存儲相對路徑信息是通過非公開的編碼算法進行編碼,編碼的存儲相對路徑信息無規(guī)律性,因此,避免存儲相對路徑信息被遍歷猜測情況的發(fā)生,保證了url在公開傳輸環(huán)境中的安全性。
s103,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息。
作為一種示例性的實施方式,可根據(jù)預(yù)先保存的相對路徑解碼規(guī)則對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息。
作為另一種示例性的實施方式,可根據(jù)url中的協(xié)議版本號確定對應(yīng)協(xié)議版本的相對路徑解碼規(guī)則,并根據(jù)所確定的相對路徑解碼規(guī)則編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息。
s104,根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息。
其中,資源訪問路徑信息是指服務(wù)器端中資源的實際持久化存儲地址信息。
其中,確定資源訪問路徑信息的方式有多種,可以根據(jù)實際應(yīng)用需要進行選擇,舉例說明如下:
作為一種示例性的實施方式,在獲取協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息后,可根據(jù)業(yè)務(wù)類型標識確定資源存儲類型,并獲取與資源存儲類型對應(yīng)的資源訪問地址前綴,然后,根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成第一資源訪問路徑信息,以及根據(jù)協(xié)議版本號和第一資源訪問路徑信息確定資源訪問路徑信息。
作為另一種示例性的實施方式,在獲取協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息后,可根據(jù)協(xié)議版本號和業(yè)務(wù)類型標識確定資源存儲類型,并獲取與資源存儲類型和協(xié)議版本號對應(yīng)的資源訪問地址前綴,然后,根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成資源訪問路徑信息。
s105,根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源。
舉例而言,假設(shè)用戶可通過終端向服務(wù)器所提供的資源訪問請求中的url為http://imageserver.com/v0102/y4xvo43io450o4kim2wio4w,根據(jù)預(yù)先設(shè)置的解析規(guī)則對該url進行解析,可以解析出該url中的協(xié)議版本號為“v01”,業(yè)務(wù)類型標識為“02”,編碼的存儲相對路徑信息為“y4xvo43io450o4kim2wio4w”,假設(shè)根據(jù)協(xié)議版本號對應(yīng)的相對路徑解析規(guī)則對編碼的存儲相對路徑信息進行解碼,所獲得的解碼后的存儲相對路徑信息為“icon/system/building.png”,以及根據(jù)業(yè)務(wù)類型標識確定資源存儲類型對應(yīng)的資源訪問地址前綴為“hdfs://ip:port/user/resource”,假設(shè)根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息為“hdfs://ip:port/user/resource/icon/system/building.png”此時,可從該資源訪問路徑信息讀取對應(yīng)的圖片資源,并向終端提供該圖片資源,以方便用戶通過終端查看所訪問的圖片資源。
本發(fā)明實施例的資源訪問處理方法,通過對終端發(fā)送的資源訪問請求中的url進行解析,解析出url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息,然后,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息,之后,根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息,以及根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源,由此,在資源訪問的過程中,通過協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息即可直接獲取資源訪問路徑信息,避免了映射表查詢的資源消耗,減少了訪問資源所消耗的時間,提高了訪問資源的效率,并且對資源的存儲路徑進行編碼保證了存儲不可讀,避免了資源路徑被遍歷,減少了資源惡意被訪問情況的發(fā)生。
圖2為根據(jù)本發(fā)明另一個實施例的資源訪問處理方法的流程示意圖。
如圖2所示,該資源訪問處理方法包括以下步驟:
s201,接收終端發(fā)送的資源訪問請求。
其中,資源訪問請求包括統(tǒng)一資源定位符url。
s202,對url進行解析,以獲取url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息。
s203,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息。
其中,需要說明的是,前述步驟s101-s103的解釋說明也適用于該實施例的步驟s201-s203,此處不再贅述。
s204,根據(jù)業(yè)務(wù)類型標識確定資源存儲類型,并獲取與資源存儲類型對應(yīng)的資源訪問地址前綴。
其中,業(yè)務(wù)類型標識是業(yè)務(wù)類型的唯一標識。
其中,需要說明的是,業(yè)務(wù)類型標識可以采用數(shù)字或者字符的形式進行表示,該實施例對此不作限定。
作為一種示例,可采用16進制數(shù)值表示業(yè)務(wù)類型標識,業(yè)務(wù)類型標識的最大值為ff,也就是說,通過16進制數(shù)值可表示出256個業(yè)務(wù)類型。
其中,存儲類型可以包括但不限于在本地磁盤、hdfs(hadoopdistributedfilesystem,hadoop分布式文件系統(tǒng))、nfs(networkfilesystem,網(wǎng)絡(luò)文件系統(tǒng))、代理服務(wù)器proxy等。
其中,需要理解的是,在存儲系統(tǒng)存儲資源的過程中,可根據(jù)業(yè)務(wù)方需要,設(shè)置對應(yīng)資源的存儲類型。也就是說,可根據(jù)業(yè)務(wù)方需要,將資源存儲在本地磁盤、hdfs(hadoopdistributedfilesystem,hadoop分布式文件系統(tǒng))、nfs(networkfilesystem,網(wǎng)絡(luò)文件系統(tǒng))、代理服務(wù)器proxy等任意存儲系統(tǒng)中,由此,可實現(xiàn)資源的靈活存儲。
在本發(fā)明的一個實施例中,在獲取業(yè)務(wù)類型標識后,可根據(jù)預(yù)先保存的業(yè)務(wù)類型標識和資源存儲類型的對應(yīng)關(guān)系,獲取與對應(yīng)業(yè)務(wù)類型標識對應(yīng)的資源存儲類型。
在獲取資源存儲類型后,可根據(jù)預(yù)先保存的資源存儲類型與資源訪問地址前綴對應(yīng)關(guān)系,確定對應(yīng)資源存儲類型的資源訪問地址前綴。
舉例而言,假設(shè)預(yù)先保存的對應(yīng)關(guān)系為:業(yè)務(wù)類型標識01表示本地磁盤,本地磁盤對應(yīng)的資源訪問地址前綴為/home/user/resource;業(yè)務(wù)類型標識02表示hdfs,則hdfs本地磁盤對應(yīng)的資源訪問地址前綴為hdfs://ip:port/user/resource;業(yè)務(wù)類型標識03表示nfs系統(tǒng),nfs系統(tǒng)對應(yīng)的資源訪問地址前綴為nfs://ip:port/user/resource。如果解析出url中的業(yè)務(wù)類型標識為02,則所獲取的資源訪問地址前綴為hdfs://ip:port/user/resource。
s205,根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成第一資源訪問路徑信息。
例如,根據(jù)解析出url中的業(yè)務(wù)類型標識所獲取的資源訪問地址前綴為hdfs://ip:port/user/resource,對url中的編碼的存儲相對路徑信息解碼后,所獲取的解碼后的存儲相對路徑信息為icon/system/building.png,此時,可將資源訪問地址前綴與解碼后的存儲相對路徑信息進行拼接,拼接后所獲得的第一資源訪問路徑信息為hdfs://ip:port/user/resource/icon/system/building.png。
s206,獲取服務(wù)器端的協(xié)議版本號。
其中,需要說明的是,服務(wù)器端的協(xié)議版本號高于或者等于url中的協(xié)議版本號。
s207,判斷url中的協(xié)議版本號與服務(wù)器端的協(xié)議版本號是否一致,如果是,則執(zhí)行步驟s208,否則執(zhí)行步驟s209。
s208,將第一資源訪問路徑信息作為資源訪問路徑信息。
s209,判斷服務(wù)器端是否調(diào)整第一資源訪問路徑信息,如果是,則執(zhí)行步驟s300-s301,否則執(zhí)行s208。
s300,獲取第一資源訪問路徑信息的路徑調(diào)整信息。
其中,需要理解的是,在實際應(yīng)用中,在服務(wù)端中可對第一資源訪問路徑信信中的相對路徑信息進行調(diào)整,也可以對第一資源訪問路徑信信中的路徑訪問地址前綴進行調(diào)整。
s301,根據(jù)路徑調(diào)整信息和第一資源訪問路徑信息生成資源訪問路徑信息。
為了使得協(xié)議版本升級后,用戶可通過包含舊協(xié)議版本號的url依舊可以訪問到對應(yīng)的資源,該實施例在更新版本的過程中,對資源的路徑調(diào)整信息進行保存,并在url中的協(xié)議版本號與服務(wù)器端中的協(xié)議版本號不一致時,即,用戶通過舊協(xié)議版本號的url訪問資源時,通過保存的路徑調(diào)整信息和第一資源訪問路徑信息獲取新協(xié)議版本保存資源的資源訪問路徑信息。由此,實現(xiàn)協(xié)議版本升級前后兼容,使得用戶可通過包含舊協(xié)議版本號的url依舊可以訪問到對應(yīng)的資源,提高了用戶訪問資源的用戶體驗。
舉例而言,服務(wù)器端的協(xié)議版本號是“v03”,url中的協(xié)議版本號為“v01”,并且根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成的第一資源訪問路徑信息為:hdfs://ip:port/user/resource/icon/system/building.png。。假設(shè)在“v03”版本中,服務(wù)器端對第一資源訪問路徑信息進行調(diào)整,服務(wù)器端中所保存的第一資源訪問路徑信息的路徑調(diào)整信息為資源目錄從“icon”遷移到了“newpath”。此時,服務(wù)器端可根據(jù)路徑調(diào)整信息將第一資源訪問路徑信息中的icon調(diào)整后newpath,以生成最終的資源訪問路徑信息,所生成的資源訪問路徑信息hdfs://ip:port/user/resource/newpath/system/building.png。在獲取最終的資源訪問路徑信息后,可從該資源訪問路徑信息中讀取相應(yīng)的圖片資源,并向終端提供圖片資源。
又例如,服務(wù)器端的協(xié)議版本號是“v03”,url中的協(xié)議版本號為“v01”,并且根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成的第一資源訪問路徑信息為:hdfs://ip:port/user/resource/icon/system/building.png。假設(shè)在“v03”版本中,服務(wù)器端調(diào)整第一資源訪問路徑信息,將資源的存儲類型從存儲類型2調(diào)整為存儲類型3,假設(shè)存儲類型3對應(yīng)的資源訪問地址前綴為:nfs://ip:port/user/resource,此時,服務(wù)器端可根據(jù)路徑調(diào)整信息調(diào)整第一資源訪問路徑信息,以生成最終的資源訪問路徑信息,所生成的資源訪問路徑信息nfs://ip:port/user/resource/newpath/system/building.png。在獲取最終的資源訪問路徑信息后,可從該資源訪問路徑信息中讀取相應(yīng)的圖片資源,并向終端提供圖片資源。
本發(fā)明實施例的資源訪問處理方法,通過對終端發(fā)送的資源訪問請求中的url進行解析,解析出url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息,然后,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息,并根據(jù)業(yè)務(wù)類型標識獲取對應(yīng)資源存儲類型的資源訪問地址前綴,然后,根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成第一資源訪問路徑信息,并在確定url中的協(xié)議版本號與服務(wù)器端的協(xié)議版本號一致時,將第一資源訪問路徑信息作為資源訪問路徑信息,并根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源,由此,在資源訪問的過程中,通過協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息即可直接獲取資源訪問路徑信息,避免了映射表查詢的資源消耗,減少了訪問資源所消耗的時間,提高了訪問資源的效率,并且對資源的存儲路徑進行編碼保證了存儲不可讀,避免了資源路徑被遍歷,減少了資源惡意被訪問情況的發(fā)生。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種資源訪問處理裝置。
圖3為根據(jù)本發(fā)明一個實施例的資源訪問處理裝置的結(jié)構(gòu)意圖。
如圖3所示,該資源訪問處理裝置可以包括接收模塊110、解析模塊120、解碼模塊130、確定模塊140和提供模塊150,其中:
接收模塊110用于接收終端發(fā)送的資源訪問請求。
其中,資源訪問請求包括統(tǒng)一資源定位符url。
解析模塊120用于對url進行解析,以獲取url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息。
解碼模塊130用于對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息。
確定模塊140用于根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息。
提供模塊150用于根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源。
在本發(fā)明的一個實施例中,在圖3所示的實施例的基礎(chǔ)上,如圖4所示,確定模塊140可以包括處理單元141、生成單元142和確定單元143,其中:
處理單元141用于根據(jù)業(yè)務(wù)類型標識確定資源存儲類型,并獲取與資源存儲類型對應(yīng)的資源訪問地址前綴。
生成單元142用于根據(jù)資源訪問地址前綴和解碼后的存儲相對路徑信息生成第一資源訪問路徑信息。
確定單元143用于根據(jù)協(xié)議版本號和第一資源訪問路徑信息確定資源訪問路徑信息。
在本發(fā)明的一個實施例中,在圖4所示的實施例的基礎(chǔ)上,如圖5所示,確定單元143可以包括第一獲取子單元1431、第一判斷子單元1432和第一確定子單元1433,其中:
第一獲取子單元1431用于獲取服務(wù)器端的協(xié)議版本號。
第一判斷子單元1432用于判斷url中的協(xié)議版本號與服務(wù)器端的協(xié)議版本號是否一致。
第一確定子單元1433用于在判斷出url中的協(xié)議版本號與服務(wù)器端的協(xié)議版本號一致時,將第一資源訪問路徑信息作為資源訪問路徑信息。
在圖5所示的實施例的基礎(chǔ)上,如圖6所示,確定單元143還包括第二判斷子單元1434、第二獲取子單元1435和生成子單元1436,其中:
第二判斷子單元1434用于在判斷url中的協(xié)議版本號與服務(wù)器端的協(xié)議版本號不一致時,進一步判斷服務(wù)器端是否調(diào)整第一資源訪問路徑信息。
第二獲取子單元1435用于在判斷出服務(wù)器端調(diào)整第一資源訪問路徑信息時,獲取第一資源訪問路徑信息的路徑調(diào)整信息。
生成子單元1436用于根據(jù)路徑調(diào)整信息和第一資源訪問路徑信息生成資源訪問路徑信息。
如圖6所示,確定單元143還包括第二確定子單元1437,該第二確定子單元1437用于在判斷出服務(wù)器端未調(diào)整第一資源訪問路徑信息時,將第一資源訪問路徑信息作為資源訪問路徑信息。
其中,需要說明的是,前述對資源訪問處理方法實施例的解釋說明也適用于該實施例的資源訪問處理裝置實施例,此處不再贅述。
本發(fā)明實施例的資源訪問處理裝置,通過對終端發(fā)送的資源訪問請求中的url進行解析,解析出url中的協(xié)議版本號、業(yè)務(wù)類型標識和編碼的存儲相對路徑信息,然后,對編碼的存儲相對路徑信息進行解碼,以獲取解碼后的存儲相對路徑信息,之后,根據(jù)協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息確定資源訪問路徑信息,以及根據(jù)資源訪問路徑信息讀取資源,并向終端提供資源,由此,在資源訪問的過程中,通過協(xié)議版本號、業(yè)務(wù)類型標識和解碼后的存儲相對路徑信息即可直接獲取資源訪問路徑信息,避免了映射表查詢的資源消耗,減少了訪問資源所消耗的時間,提高了訪問資源的效率,并且對資源的存儲路徑進行編碼保證了存儲不可讀,避免了資源路徑被遍歷,減少了資源惡意被訪問情況的發(fā)生。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種非臨時性計算機可讀存儲介質(zhì),其上存儲有計算機程序,當該計算機程序被處理器執(zhí)行時能夠?qū)崿F(xiàn)如前述實施例的資源訪問處理方法。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)定制邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(ram),只讀存儲器(rom),可擦除可編輯只讀存儲器(eprom或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(cdrom)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學(xué)掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。如,如果用硬件來實現(xiàn)和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。