本發(fā)明的實(shí)施方式涉及通信及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地,本發(fā)明的實(shí)施方式涉及一種用于處理請求的方法、系統(tǒng)以及可讀存儲介質(zhì)。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實(shí)施方式提供背景或上下文。此處的描述不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)。
在計(jì)算機(jī)技術(shù)中,當(dāng)服務(wù)器提供API接口供外部系統(tǒng)調(diào)用時(shí),如接到對服務(wù)器進(jìn)行資源訪問的請求,通常會向后臺調(diào)用不同接口以處理不同請求。以Java技術(shù)棧使用Spring中間件以及其SpringMVC框架提供的rest接口為例:當(dāng)接到HTTP Get請求http://example.com/user時(shí),調(diào)用方首先向后臺的web容器(如Tomcat、Jetty等)發(fā)送接口調(diào)用請求;接下來,通過web容器實(shí)現(xiàn)servlet規(guī)范,將相關(guān)的請求(user)映射到對應(yīng)的servlet,進(jìn)入中間件/MVC框架(例如Spring/SpringMVC);最后,中間件將請求轉(zhuǎn)發(fā)到開發(fā)人員設(shè)置的實(shí)現(xiàn)相關(guān)業(yè)務(wù)邏輯的處理單元(例如Controller是SpringMVC對應(yīng)的處理單元)進(jìn)行業(yè)務(wù)邏輯處理,并返回相關(guān)結(jié)果。
當(dāng)開發(fā)人員因?yàn)闃I(yè)務(wù)需求變更等原因需要對接口進(jìn)行增加、刪除、修改等更改時(shí),通常需要對系統(tǒng)重新部署上線。
技術(shù)實(shí)現(xiàn)要素:
但是,出于系統(tǒng)上線步驟復(fù)雜,系統(tǒng)上線過程中存在一段不可用時(shí)間。
因此在現(xiàn)有技術(shù)中,對接口進(jìn)行變更是非常令人煩惱的過程。
為此,非常需要一種改進(jìn)的用于處理請求的方法,以增強(qiáng)系統(tǒng)的靈活性,提高開發(fā)效率,減少發(fā)布流程,降低系統(tǒng)不可用時(shí)長。
在本上下文中,本發(fā)明的實(shí)施方式期望提供一種可動態(tài)變更接口的用于處理請求的方法和系統(tǒng)。
在本發(fā)明實(shí)施方式的第一方面中,提供了一種用于處理請求的方法,包括:
接收對服務(wù)器進(jìn)行資源訪問的請求;
在預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系;
通過所述處理單元完成所述請求。
在一些實(shí)施例中,基于前述方案,所述處理單元的實(shí)現(xiàn)方式包括通過腳本文件實(shí)現(xiàn)。
在一些實(shí)施例中,基于前述方案,還包括:新增腳本文件、刪除腳本文件、更改腳本文件中的至少一項(xiàng)。
在一些實(shí)施例中,基于前述方案,還包括將多個(gè)腳本文件與多個(gè)請求的對應(yīng)關(guān)系寫入配置表。
在一些實(shí)施例中,基于前述方案,還包括更新所述腳本文件調(diào)用的處理模塊。
在一些實(shí)施例中,基于前述方案,所述腳本文件調(diào)用的處理模塊包括類對象。
在一些實(shí)施例中,基于前述方案,所述通過所述對應(yīng)處理單元完成所述請求包括通過預(yù)設(shè)腳本引擎加載運(yùn)行所述處理單元的所述腳本文件。
在一些實(shí)施例中,基于前述方案,所述在預(yù)先存儲的配置表中查找到所述請求的對應(yīng)處理單元包括通過分發(fā)器動態(tài)讀取配置表中所述多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系。
在本發(fā)明實(shí)施方式的第二方面中,提供了一種用于處理請求的系統(tǒng),包括:
請求接收模塊,用于接收對服務(wù)器進(jìn)行資源訪問的請求;
請求匹配模塊,用于在預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系;
請求處理模塊,用于通過所述對應(yīng)處理單元完成所述請求。
在一些實(shí)施例中,基于前述方案,所述處理單元的實(shí)現(xiàn)方式包括通過腳本文件實(shí)現(xiàn)。
在一些實(shí)施例中,基于前述方案,還包括:
文件更改模塊,用于新增腳本文件、刪除腳本文件、更改腳本文件中的至少一項(xiàng)。
在一些實(shí)施例中,基于前述方案,還包括:
信息注冊模塊,用于將多個(gè)腳本文件與多個(gè)請求的對應(yīng)關(guān)系寫入配置表。
在一些實(shí)施例中,基于前述方案,所述文件更改模塊還用于更新所述腳本文件調(diào)用的處理模塊。
在一些實(shí)施例中,基于前述方案,所述腳本文件調(diào)用的處理模塊包括類對象。
在一些實(shí)施例中,基于前述方案,所述請求處理模塊通過預(yù)設(shè)腳本引擎加載實(shí)現(xiàn)所述處理單元的所述腳本文件。
在一些實(shí)施例中,基于前述方案,所述請求匹配模塊通過分發(fā)器動態(tài)讀取配置表中所述多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系。
在本發(fā)明實(shí)施方式的第三方面中,提供了一種可讀存儲介質(zhì),其上存儲有程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如以上任一項(xiàng)所述的方法。
根據(jù)本發(fā)明實(shí)施方式的用于處理請求的方法和系統(tǒng),當(dāng)開發(fā)人員根據(jù)業(yè)務(wù)變更需求對接口進(jìn)行變更時(shí),可以直接對處理請求的接口進(jìn)行更改,而無需對更改后的接口進(jìn)行發(fā)布上線,從而顯著地降低了接口變更的工作量,提高了接口開發(fā)效率與請求處理效率。
附圖說明
通過參考附圖閱讀下文的詳細(xì)描述,本發(fā)明示例性實(shí)施方式的上述以及其他目的、特征和優(yōu)點(diǎn)將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式,其中:
圖1示意性地示出了根據(jù)本發(fā)明實(shí)施方式的用于處理請求的方法的流程圖;
圖2示意性地示出了根據(jù)本發(fā)明實(shí)施例中處理請求的過程的示意圖;
圖3示意性地示出了根據(jù)本發(fā)明實(shí)施例的用于處理請求的系統(tǒng)的示意圖;
圖4示意性地示出了根據(jù)本發(fā)明實(shí)施例的用于處理請求的系統(tǒng)的示意圖;
在附圖中,相同或?qū)?yīng)的標(biāo)號表示相同或?qū)?yīng)的部分。
具體實(shí)施方式
下面將參考若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
本領(lǐng)域技術(shù)技術(shù)人員知道,本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)為一種系統(tǒng)、系統(tǒng)、設(shè)備、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
根據(jù)本發(fā)明的實(shí)施方式,提出了一種用于處理請求的方法和系統(tǒng)。
下面對本發(fā)明中用到的接口和請求進(jìn)行說明。
在本發(fā)明中,接口(interface)是把成員組合起來以封裝一定功能的程序集合,其可以通過類或結(jié)構(gòu)來實(shí)現(xiàn)。接口不能直接實(shí)例化,也不能包含成員的任何代碼,只定義成員本身。接口成員的具體代碼由實(shí)現(xiàn)接口的類提供。在具體編程中,接口中可以聲明屬性、方法、事件和類型。請求(request)是指外部系統(tǒng)對服務(wù)器提出的資源訪問請求,包括但不限于數(shù)據(jù)訪問請求、網(wǎng)絡(luò)訪問請求等。接口可以用于實(shí)現(xiàn)請求,在一些實(shí)施例中,一個(gè)接口可以用于實(shí)現(xiàn)多個(gè)請求,一個(gè)請求也可以通過多個(gè)接口實(shí)現(xiàn)。
在本文中,附圖中的任何元素?cái)?shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
下面參考本發(fā)明的若干代表性實(shí)施方式,詳細(xì)闡釋本發(fā)明的原理和精神。
發(fā)明概述
本發(fā)明人發(fā)現(xiàn),在處理服務(wù)器的資源訪問請求時(shí),可以采用如下方式:接收對服務(wù)器進(jìn)行資源訪問的請求;在預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系;通過所述處理單元完成所述請求。在該方案中,當(dāng)開發(fā)人員對接口進(jìn)行更改時(shí),無需對更改接口后的系統(tǒng)進(jìn)行發(fā)布上線,因此,解決了現(xiàn)有技術(shù)中存在的接口變更過程步驟繁瑣、造成較長系統(tǒng)不可用時(shí)長的缺陷。
在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實(shí)施方式。
應(yīng)用場景總覽
當(dāng)系統(tǒng)發(fā)生需求變更時(shí),開發(fā)人員針對需求變更新增、變更接口,但根據(jù)本發(fā)明提供的方法,開發(fā)人員無需對系統(tǒng)重新發(fā)布上線。開發(fā)或部署人員只要修改相關(guān)的配置表,就能達(dá)到動態(tài)變更接口的目的。這樣,顯著地降低了接口變更的工作量,提高了接口開發(fā)效率與系統(tǒng)的請求處理效率。
示例性方法
下面結(jié)合上述應(yīng)用場景,參考圖1來描述根據(jù)本發(fā)明示例性實(shí)施方式的用于處理請求的方法。需要注意的是,上述應(yīng)用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實(shí)施方式在此方面不受任何限制。相反,本發(fā)明的實(shí)施方式可以應(yīng)用于適用的任何場景。
圖1示意性地示出了根據(jù)本發(fā)明實(shí)施方式的用于處理請求的方法的流程圖。如圖1所示,該方法100可以包括步驟S100、S110以及S120。
在S100,接收對服務(wù)器進(jìn)行資源訪問的請求。在本發(fā)明中,請求包括但不限于數(shù)據(jù)資源請求或網(wǎng)絡(luò)資源請求等,本發(fā)明對于請求的種類不作特殊限定。
例如,對于HTTP Get請求“http://example.com/user”而言,接收請求的過程可包括向后臺的web容器發(fā)送接口調(diào)用請求,并通過web容器實(shí)現(xiàn)servlet規(guī)范,將相關(guān)的請求(user)映射到對應(yīng)的servlet,進(jìn)入中間件/MVC框架(例如Spring/SpringMVC)。
在S110,在預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系。
處理單元與請求的對應(yīng)關(guān)系可以通過表或者其他數(shù)據(jù)格式存儲,無論以何種形式存儲,在本發(fā)明中均定義該存儲結(jié)果為配置表。在配置表中,一個(gè)請求可以對應(yīng)多個(gè)處理單元,一個(gè)處理單元也可以被對應(yīng)于多個(gè)請求。配置表中記錄的處理單元并非處理單元實(shí)體,而是處理單元的接口的入口,因此,當(dāng)需要對接口進(jìn)行變更時(shí),只需在配置表中重新寫入各接口入口(例如接口名稱或編碼)或直接更改接口文件,即可實(shí)現(xiàn)請求對應(yīng)接口的變更。
在本發(fā)明的一種示例性實(shí)施例中,可以通過分發(fā)器實(shí)現(xiàn)在預(yù)先存儲的配置表中查找所述請求的對應(yīng)處理單元。通過動態(tài)讀取配置表中多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系,分發(fā)器可以將一個(gè)特定請求映射到對應(yīng)的處理單元。一般來說,現(xiàn)有的MVC框架,如SpringMVC或者Struts2都有分發(fā)器的概念,但是這些分發(fā)器通常是通過靜態(tài)掃描annotation獲取配置文件,無法做到動態(tài)變更。本發(fā)明的分發(fā)器可以在接收到請求時(shí)動態(tài)獲取配置表中的對應(yīng)關(guān)系,并根據(jù)該請求對應(yīng)的關(guān)系調(diào)用其對應(yīng)的處理單元。
在S120,通過所述處理單元完成所述請求。
根據(jù)一些實(shí)施例,所述處理單元的實(shí)現(xiàn)方式包括通過腳本文件實(shí)現(xiàn)。例如,為了提高接口變更效率,在本發(fā)明的一些實(shí)施例中,除了一部分公共邏輯(例如是否登錄、安全檢驗(yàn)等)外,具體的業(yè)務(wù)邏輯處理單元可以通過腳本文件實(shí)現(xiàn)。由于使用腳本文件無需編譯,可以通過調(diào)用腳本引擎直接加載使用,大大節(jié)省了接口變更過程所需的時(shí)間和步驟,降低了系統(tǒng)不可用時(shí)長。
根據(jù)一些實(shí)施例,如前所述,當(dāng)處理單元的實(shí)現(xiàn)方式包括通過腳本文件實(shí)現(xiàn)時(shí),可將多個(gè)腳本文件與多個(gè)請求的對應(yīng)關(guān)系寫入配置表。此時(shí),通過對應(yīng)處理單元完成所述請求可包括通過預(yù)設(shè)腳本引擎加載運(yùn)行處理單元的腳本文件。
當(dāng)用戶需要變更接口時(shí),可以通過新增腳本文件、刪除腳本文件、更改腳本文件中的至少一項(xiàng)實(shí)現(xiàn)目的。在一些實(shí)施例中,變更接口除了變更腳本文件本身,還包括更新腳本文件調(diào)用的處理模塊。腳本文件調(diào)用的處理模塊包括例如類對象或結(jié)構(gòu)對象等實(shí)現(xiàn)腳本文件一部分功能的功能模塊。不論是直接更改腳本文件,還是更改腳本文件調(diào)用的處理模塊,在本發(fā)明的示例性實(shí)施例中,只需要修改相關(guān)配置表,開發(fā)人員即可對接口進(jìn)行變更。
根據(jù)本發(fā)明實(shí)施方式的用于處理請求的方法和系統(tǒng),當(dāng)開發(fā)人員根據(jù)業(yè)務(wù)變更需求需要對接口進(jìn)行變更時(shí),可以直接對處理請求的接口進(jìn)行更改,而無需對更改后的接口進(jìn)行發(fā)布上線,從而顯著地降低了接口變更的工作量,提高了接口開發(fā)效率與請求處理效率。
圖2示意性地示出了本發(fā)明實(shí)施例中處理請求的過程的示意圖。參考圖2,當(dāng)服務(wù)器接收到服務(wù)器資源訪問請求,并將該請求映射到對應(yīng)的servlet,進(jìn)入中間件/MVC框架后,分發(fā)器根據(jù)該請求在配置表中查找該請求對應(yīng)的處理單元。當(dāng)處理單元通過腳本文件實(shí)現(xiàn)時(shí),分發(fā)器在配置表中查找到該請求對應(yīng)的腳本文件入口后,可以通過腳本引擎加載運(yùn)行該腳本文件,以實(shí)現(xiàn)該請求。值得一提的是,一個(gè)請求可以對應(yīng)多個(gè)腳本文件,即可以通過多個(gè)腳本文件實(shí)現(xiàn)一個(gè)請求所要調(diào)用的處理單元。加載腳本文件實(shí)現(xiàn)請求處理后,處理單元將請求處理結(jié)果逐層返回給上級,完成請求處理過程。
示例性系統(tǒng)
在介紹了本發(fā)明示例性實(shí)施方式的方法之后,接下來,參考圖3對本發(fā)明示例性實(shí)施方式的用于處理請求的系統(tǒng)進(jìn)行說明。
圖3示意性地示出了根據(jù)本發(fā)明實(shí)施例的用于處理請求的系統(tǒng)的示意圖。如圖3所示,該系統(tǒng)30可以包括:
請求接收模塊310,用于接收對服務(wù)器進(jìn)行資源訪問的請求;
請求匹配模塊320,用于在預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系;
請求處理模塊330,用于通過所述對應(yīng)處理單元完成所述請求。
請求接收模塊310可以通過例如web容器和servlet容器的方式實(shí)現(xiàn),也可以通過其他方式實(shí)現(xiàn),本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況自由設(shè)置。
請求匹配模塊320可以通過分發(fā)器動態(tài)讀取配置表中所述多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系實(shí)現(xiàn)。當(dāng)處理單元通過腳本文件實(shí)現(xiàn)時(shí),配置表可以記錄請求與腳本文件的對應(yīng)關(guān)系。在本公開的一種示例性實(shí)施例中,可以通過信息注冊模塊350將多個(gè)腳本文件與多個(gè)請求的對應(yīng)關(guān)系寫入配置表。
在請求處理模塊330中,除了一部分公共邏輯(例如是否登錄、安全檢驗(yàn)等)外,具體的業(yè)務(wù)邏輯處理單元可以通過腳本文件實(shí)現(xiàn)。由于使用腳本文件無需編譯,可以通過調(diào)用腳本引擎直接加載使用,大大節(jié)省了接口變更過程所需的時(shí)間和步驟,使得接口變更過程盡可能小地影響請求處理過程的實(shí)時(shí)性。
當(dāng)處理單元通過腳本文件實(shí)現(xiàn)時(shí),可以通過預(yù)設(shè)腳本引擎加載實(shí)現(xiàn)處理單元的腳本文件。
此外,系統(tǒng)30還可以包括文件更改模塊340,用于變更接口文件。當(dāng)處理單元通過腳本文件實(shí)現(xiàn)時(shí),文件更改模塊340可以用于新增腳本文件、刪除腳本文件、更改腳本文件中的至少一項(xiàng)。在一些實(shí)施例中,文件更改模塊340除了用于變更腳本文件本身,還可以用于更新腳本文件調(diào)用的處理模塊。腳本文件調(diào)用的處理模塊包括例如類對象或結(jié)構(gòu)對象等實(shí)現(xiàn)腳本文件一部分功能的功能模塊。不論是直接更改腳本文件,還是更改腳本文件調(diào)用的處理模塊,只需要修改相關(guān)配置表,即可實(shí)現(xiàn)接口變更。
所屬技術(shù)領(lǐng)域的技術(shù)人員能夠理解,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。
在一些可能的實(shí)施方式中,根據(jù)本發(fā)明的用于處理請求的系統(tǒng)可以至少包括至少一個(gè)處理單元、以及至少一個(gè)存儲單元。其中,所述存儲單元存儲有程序代碼,當(dāng)所述程序代碼被所述處理單元執(zhí)行時(shí),使得所述處理單元執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實(shí)施方式的用于保持?jǐn)?shù)據(jù)一致性方法中的步驟。例如,所述處理單元可以執(zhí)行如圖1中所示的步驟S100:接收對服務(wù)器進(jìn)行資源訪問的請求;步驟S110:預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系;步驟S120:通過所述對應(yīng)處理單元完成所述請求。
下面參照圖4來描述根據(jù)本發(fā)明的這種實(shí)施方式的用于處理請求的設(shè)備400。圖4顯示的用于保持?jǐn)?shù)據(jù)一致性示的設(shè)備400僅僅是一個(gè)示例,不應(yīng)對本發(fā)明實(shí)施例的功能和使用范圍帶來任何限制。
如圖4所示,用于處理請求的設(shè)備400以通用計(jì)算設(shè)備的形式表現(xiàn)。用于處理請求的設(shè)備400的組件可以包括但不限于:上述至少一個(gè)處理單元16、上述至少一個(gè)存儲單元28、連接不同系統(tǒng)組件(包括存儲單元28和處理單元16)的總線18。
總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器、外圍總線、圖形加速端口、處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。
存儲單元28可以包括易失性存儲器形式的可讀介質(zhì),例如隨機(jī)存取存儲器(RAM)30和/或高速緩存存儲器32,還可以進(jìn)一步只讀存儲器(ROM)34。
存儲單元28還可以包括具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,這樣的程序模塊42包括但不限于:操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。
用于處理請求的設(shè)備400也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤、指向設(shè)備、藍(lán)牙設(shè)備等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該用于處理請求的設(shè)備400交互的設(shè)備通信,和/或與使得該用于處理請求的設(shè)備400能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接口22進(jìn)行。并且,用于處理請求的設(shè)備400還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與用于處理請求的設(shè)備400的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合用于處理請求的設(shè)備400使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。
示例性程序產(chǎn)品
在一些可能的實(shí)施方式中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當(dāng)所述程序產(chǎn)品在終端設(shè)備上運(yùn)行時(shí),所述程序代碼用于使所述終端設(shè)備執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實(shí)施方式的用于處理請求的方法中的步驟,例如,所述終端設(shè)備可以執(zhí)行如圖1中所示的步驟S100:接收對服務(wù)器進(jìn)行資源訪問的請求;步驟S110:在預(yù)先存儲的配置表中查找到與所述請求對應(yīng)的處理單元,所述配置表記錄有多個(gè)處理單元與多個(gè)請求的對應(yīng)關(guān)系;步驟S120:通過所述對應(yīng)處理單元完成所述請求。
所述程序產(chǎn)品可以采用一個(gè)或多個(gè)可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)??勺x存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、系統(tǒng)或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。
根據(jù)本發(fā)明的實(shí)施方式的用于處理請求的程序產(chǎn)品40,其可以采用便攜式緊湊盤只讀存儲器(CD-ROM)并包括程序代碼,并可以在終端設(shè)備,例如個(gè)人電腦上運(yùn)行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、系統(tǒng)或者器件使用或者與其結(jié)合使用。
可讀信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合??勺x信號介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、系統(tǒng)或者器件使用或者與其結(jié)合使用的程序。
可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、有線、光纜、RF等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言—諸如Java、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言—諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算設(shè)備上部分在遠(yuǎn)程計(jì)算設(shè)備上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算設(shè)備的情形中,遠(yuǎn)程計(jì)算設(shè)備可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算設(shè)備,或者,可以連接到外部計(jì)算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于處理請求的系統(tǒng)的若干模塊或子模塊,但是這種劃分僅僅并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個(gè)或更多模塊的特征和功能可以在一個(gè)模塊中具體化。反之,上文描述的一個(gè)模塊的特征和功能可以進(jìn)一步劃分為由多個(gè)模塊來具體化。
此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。
雖然已經(jīng)參考若干具體實(shí)施方式描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實(shí)施方式,對各方面的劃分也不意味著這些方面中的特征不能組合以進(jìn)行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。