專利名稱::基于身份和會話的資源訪問系統和方法
技術領域:
:本發明涉及計算機系統應用領域,更具體地說,涉及包括多個服務器,網絡,存儲的系統場景,提出一種基于身份和會話的資源訪問系統。
背景技術:
:如何利用數據中心資源支撐企業的業務運行是數據中心管理考慮的首要問題。尤其是在技術發展日新月異,應用模式層出不窮的情況下,數據中心的各種設備,包括服務器,存儲,網絡等設備越買越多,呈現爆炸趨勢,可是一個業務一套設備的規劃方式,形成了眾多的設備孤島,使得這些設備很少得到充分利用,造成了資源的嚴重浪費’另一方面,資源規劃和業務運行相分離,資源規劃以離線(off-line)的方式,業務運行則以在線(on-line)的方式,業務之間不斷不能共享資源,傳統的手動方式也使得業務的部署周期變長,影響企業的效率。此時,如何有效地提供資源供應業務,即實現資源的共享、動態供給及業務流程的自動化就顯得尤為重要。這時就需要一個功能強大、與時俱進的管理方法和系統,更好地應對“新問題”,對數據中心加以有效、全面的管理。當前,虛擬化幾乎成為了數據中心不可缺少的一種應用,越來越多的用戶開始將數據中心轉移到虛擬化環境中。據權威機構最新一項研究表明,90%的企業已在某種程度上實施了虛擬化技術。這也給數據中心管理工具帶來了新的命題。如何在虛擬化“大行其道”的時代設計有效的資源供給方法和體系,保持和提升數據中心管理的效能?在按需動態供給數據中心資源時,服務質量保證是需要解決的首要問題,并發性請求的處理,資源的復用,服務的復用是提升效率的關鍵,這就需要用到身份和會話管理。針對這些問題,有諸多解決方法被提出,專專利號為US7,860,975,題為“Systemandmethodforsecurestickyroutingofrequestswithinaserverfarm,,的美國專利提出了一種采用服務器農場中的上游設備,如負載均衡器或路由器,來路由請求到服務器的方法。其中服務器采用一種安全且唯一的ID或從請求中得到的確定請求如何通過服務器農場路由的網絡地址來處理那些請求的會話(session)。該方法可以解決將請求路由到數據中心的服務器的問題,但是并沒有解決通過控制會話層面路由請求的問題,也未有涉及虛擬資源的訪問。專利號為US7,930,734,題為“Methodandsystemforcreatingandtrackingnetworksession”的美國專利提出了一種創建和跟蹤網絡會話的方法,通過收集認證的身份信息,網絡地址信息,以及網絡尋址信息,并綁定這些信息在會話管理器的中心數據庫中,構成一條反應用戶訪問網絡的會話記錄,用于實時檢測入侵等異常的發生。該方法也是網絡會話的通信層面,未有涉及控制層面。專利號為US7,953,918,題為"ServiceBuslinkingmethodandservicebusforlinkingpluralityofservicebusestogether"的美國專利提出了一種服務總線鏈接方法以及一種把大量的服務總線鏈接在一起的方法。該方法使用節點身份符標記服務總線,將身份符和服務總線的位置加入到總線節點表格中,并更新表格。該方法旨在解決服務總線本身的身份管理,而未有提到資源(各種軟硬件資源)和應用程序的身份管理。也有一些電信公司將控制會話和流會話分離,但其協議棧只包括通信資源,未有涉及到計算資源,甚而虛擬計算資源。
發明內容本發明針對這些問題,尤其是在數據中心的網絡實例環境下,將傳統電信中服務提供者和資源提供者分離的思想引入到企業數據中心資源的訪問中來,實現荷載和控制會話的分離,并采用身份管理方法管理這些資源的身份。本發明的技術方案為本發明揭示了一種基于身份和會話的資源訪問系統,包括客戶端,客戶端發出服務請求并定義執行該服務請求所需要的資源信息;會話管理中心,接收所述客戶端發出的服務請求,根據該服務請求創建流會話并根據流會話創建控制會話,協商流會話所需的資源和控制會話所需的服務提供者,并將請求路由到資源中心;資源中心,包括實體服務器、網絡和存儲器,所述實體服務器上運行一個或多個虛機,資源中心接收所述服務請求、并管理請求的運行,所述虛機運行所述服務請求并將運行的結果反饋給客戶端;身份管理器,與會話管理中心及資源中心通信連接,身份管理器管理資源、服務提供者、會話、應用的對象的身份信息,身份管理器還管理所述身份信息的生命周期。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述會話管理中心包括流會話管理器,接收所述客戶端發送的服務請求,根據該服務請求創建流會話并協商流會話所需的資源,流會話管理器轉發所述服務請求;代理服務器,與流會話管理器通信連接,代理服務器接收由流會話管理器轉發的服務請求并保持連接,代理服務器獲取流會話管理器創建的流會話信息,代理服務器調度并發的服務請求;控制會話管理器,與代理服務器通信連接,從代理服務器獲取流會話信息并根據流會話信息創建控制會話并協商控制會話所需的服務提供者,控制會話管理器轉發所述服務請求;服務總線,連接到所述控制會話管理器,并與多個服務提供者相連,在服務提供者之間傳遞請求和控制會話身份信息;會話數據庫保存服務請求從客戶端傳送至資源中心的虛機上運行以及運行的結果從資源中心反饋給客戶端的過程中的流會話、控制會話和用戶會話信息。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述流會話管理器包括流會話生成器,為接收到的服務請求創建流會話并管理流會話的生命周期,流會話生成器還協商流會話所需要的資源;流信令平面,與流會話生成器通信連接,由流會話過程中所參與的資源間的通信協議棧形成,分離所述資源中的物理資源與動態資源。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述流信令平面包括I/O鏈路資源,本地網絡端口資源和計算資源形成的協議棧,其中計算資源協議棧包括本地物理計算工作棧、虛機管理器,本地邏輯計算工作棧。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述代理服務器包括應用容器,保存與所述服務請求相關的請求信息,包括IP地址、端口號、協議。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述控制會話管理器包括會話控制器,根據所述流會話創建控制會話并管理控制會話的生命周期,會話控制器還協商執行該控制會話所需要的服務提供者;控制信令平面,由控制會話過程中所參與的服務提供者間的通信協議棧形成,控制信令平面將服務提供者與資源提供者分離。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述實體服務器包括服務器資源管理器、硬件架構、虛機管理器和數個虛機,所述服務器資源管理器管理服務請求在虛機上的運行,虛機管理器管理所述虛機;所述網絡包括網絡資源管理器,網絡資源管理器管理網絡資源并對實體服務器中的虛機進行組網;所述存儲器包括存儲資源管理器,存儲資源管理器管理存儲資源。根據本發明的基于身份和會話的資源訪問系統的一實施例,所述身份管理器包括柄求解系統,通過樹形結構和圖形結構求解確定資源的位置和服務請求涉及的各對象間的關系;生成器,為每個定義的資源和服務提供者生成唯一的身份信息,為每一個會話、應用生成身份信息;注冊器,為每個對象向身份管理器注冊,注冊器調用生成器為對象生成身份;身份存儲器,存儲各種對象的身份信息,包括會話、服務提供者、資源、應用。本發明還揭示了一種基于身份和會話的資源訪問方法,所述方法包括一個上游流會話管理器接收客戶端的資源請求;該流會話管理器為請求創建一個用于協商執行客戶荷載所需資源的流會話,并將請求和流會話信息發送到上游代理服務器;該代理服務器作為中轉代理多個請求,并將請求和流會話信息發往上游控制會話管理器;該控制會話管理器為該請求生成一個與上述流會話相關聯的用于協商控制服務請求的服務提供者的控制會話;控制會話管理器與上游服務總線交互,服務總線與多個服務提供者相連,請求和控制會話身份信息通過服務總線在多個服務提供者之間傳遞,并通過服務提供者將請求路由到下游資源中心的實體服務器;實體服務器上有一個或多個虛機,資源管理器管理請求在虛機上的運行,虛機運行所述請求并將運行的結果反饋給客戶端。根據本發明的基于身份和會話的資源訪問方法的一實施例,所述方法進一步包括流會話管理器創建流會話,并訪問身份管理器,獲得流會話身份;代理服務器創建虛擬應用,并訪問身份管理器,通過關系求解服務,獲得與上述流會話身份相關聯的虛擬應用身份;控制會話管理器創建與流會話相關聯的控制會話,訪問身份管理器,通過關系求解服務,獲得與上述流會話身份相關聯的控制會話身份。資源管理器訪問身份管理器,獲得資源的唯一身份,并可根據資源的唯一身份通過地址求解服務找到資源的位置。根據本發明的基于身份和會話的資源訪問方法的一實施例,所述方法進一步包括代理服務器接收到流會話控制器發送的請求和流會話信息后,繼續保持與流會話控制器之間的TCP/UDP連接;請求在資源中心的實體服務器上的虛機上運行起來后,斷開代理服務器與流會話控制器之間的TCP/UDP連接,并通過重定向直接將運行結果返回客戶端。根據本發明的基于身份和會話的資源訪問方法的一實施例,所述方法進一步包括流會話管理器創建流會話,生成流信令平面,分離物理資源和動態資源需求,并控制按需生成的邏輯核心網。根據本發明的基于身份和會話的資源訪問方法的一實施例,所述方法進一步包括控制會話管理器創建控制會話,生成控制會話平面,根據請求需要對服務提供者進行任意動態組合,生成多個服務提供者平面。根據本發明的基于身份和會話的資源訪問方法的一實施例,所述方法進一步包括使用橋接建立虛機和其上的各種虛擬資源的身份對應關系。根據本發明的基于身份和會話的資源訪問方法的一實施例,所述方法進一步包括為虛機設置兩個身份,一個是虛機自身的,另一個是引用身份,指向上面的組件,建立虛機與組件間的身份對應關系。本發明的基于身份和會話的資源訪問系統能在數據中心的網絡實例環境下,將傳統電信中服務提供者和資源提供者分離的思想引入到企業數據中心資源的訪問中,實現荷載和控制會話的分離,并采用身份管理方法管理這些資源的身份。本發明上述的以及其他的特征、性質和優勢將通過下面結合附圖和實施例的描述而變的更加明顯,在附圖中相同的附圖標記始終表示相同的特征,其中圖1是根據本發明的一個實施例的基于身份和會話的資源訪問系統的結構框圖。圖2是根據本發明的一個實施例的基于身份和會話的資源訪問系統的工作過程的總流程圖,描述從用戶發出應用請求,到應用實例運行起來返回客戶端的整個過程。圖3是根據本發明的一個實施例的基于身份和會話的資源訪問系統中流會話平面圖,體現了客戶荷載需要經過的通信資源和計算資源協議棧。圖4是根據本發明的一個實施例的基于身份和會話的資源訪問系統中代理服務器與控制會話管理的交互,以及控制會話管理器的框圖。圖5是根據本發明的一個實施例的基于身份和會話的資源訪問系統中代理服務器與控制會話管理的交互的流程圖。圖6是根據本發明的一個實施例的基于身份和會話的資源訪問系統中存儲會話關系的會話數據庫的部分存儲結構。圖7是根據本發明的一個實施例的基于身份和會話的資源訪問系統中身份管理器的結構框圖。圖8是圖7的身份管理器中的關系求解服務實施(RelationshipResolutionServiceImplementation)的描述框圖。圖9是圖7中的身份管理器中的地址解析(AddressResolution)的關系表述圖。圖10是根據本發明的一個實施例的基于身份和會話的資源訪問系統中使用身份管理器的流程圖。具體實施例方式圖1是根據本發明的一個實施例的基于身份和會話的資源訪問系統的結構框圖。參考圖1所示,本發明揭示了一種基于身份和會話的資源訪問系統,包括客戶端11、會話管理中心12、資源中心14、身份管理器13。客戶端11發出服務請求并定義執行該服務請求所需要的資源信息。會話管理中心12接收客戶端11發出的服務請求,在本發明中,服務請求也可以稱之為應用請求。會話管理中心12根據該服務請求創建流會話并根據流會話創建控制會話,會話管理中心12協商流會話所需的資源和控制會話所需的服務提供者,并將請求路由到資源中心。資源中心14包括實體服務器、網絡和存儲器,實體服務器上運行一個或多個虛機。資源中心14接收服務請求、并管理請求的運行,虛機運行服務請求并將運行的結果反饋給客戶端11。身份管理器13與會話管理中心及資源中心通信連接,身份管理器13管理資源、服務提供者、會話、應用等對象的身份信息,身份管理器13還管理身份信息的生命周期。參考圖1所示,會話管理中心12包括流會話管理器121、代理服務器122、控制會話管理器123、和和會話數據庫125。流會話管理器121管理實時的網絡會話,流會話管理器121接收客戶端11發送的服務請求,根據該服務請求創建流會話并協商流會話所需的資源,流會話管理器121轉發服務請求。在圖1所示的實施例中,流會話管理器121包括流會話生成器1211和流信令平面1212。流會話生成器1211為接收到的服務請求創建流會話并管理流會話的生命周期,流會話生成器1211還協商流會話所需要的資源,即運行用戶荷載所需的資源。流信令平面1212與流會話生成器1211通信連接,由流會話過程中所參與的資源間的通信協議棧形成流信令平面1212分離資源中的物理資源與動態資源。代理服務器122與流會話管理器121通信連接,代理服務器122是用戶和資源間的中間人或經紀人,代理服務器可以識別用戶的請求,代理服務器122接收由流會話管理器121轉發的服務請求并保持連接,代理服務器122獲取流會話管理器創建的流會話信息,代理服務器122調度并發的服務請求。在圖1所示的實施例中,代理服務器122包括應用容器1221,應用容器1221保存與服務請求相關的請求信息,包括IP地址、端口號、協議。控制會話管理器123與代理服務器122通信連接,控制會話管理器123從代理服務器122獲取流會話信息并創建相應的控制會話并協商控制會話所需的服務提供者,即控制用戶請求的服務提供者。控制會話管理器123轉發服務請求。在圖1所示的實施例中,控制會話管理器123包括會話控制器1231和控制信令平面1232。會話控制器1231根據流會話創建控制會話并管理控制會話的生命周期,會話控制器1231還協商控制會話所需要的服務提供者。控制信令平面1232由控制會話過程中所參與的服務提供者間的通信協議棧形成,控制信令平面1232將服務提供者與資源提供者分離。服務總線1連接到控制會話管理器123,服務總線IM由中間件基礎架構實現,服務總線包含事件驅動和消息引擎,并與多個服務提供者相連。會話數據庫保存服務請求從客戶端傳送至資源中心的虛機上運行以及運行的結果從資源中心反饋給客戶端的過程中的流會話、控制會話和用戶會話信息。會話數據庫125保存服務請求從客戶端11傳送至資源中心14的虛機上運行以及運行的結果從資源中心14反饋給客戶端11的過程中的流會話、控制會話和用戶會話信息。會話數據庫125可以運行在一個或多個服務器上。繼續參考圖1,資源中心14中的實體服務器141包括服務器資源管理器1411、硬件架構1412、虛機管理器1413和數個虛機1414。服務器資源管理器1411管理服務請求在虛機上的運行,虛機管理器1413管理虛機1414。網絡142包括網絡資源管理器1421,網絡資源管理器1421管理網絡資源并對實體服務器141中的虛機1414進行組網。存儲器143包括存儲資源管理器1431,存儲資源管理器1431管理存儲資源并為虛機image等各種信息提供存儲服務。參考圖1所示,身份管理器13包括柄求解系統131、生成器132、注冊器133和身份存儲器134。柄求解系統131通過樹形結構和圖形結構求解確定資源的位置和服務請求涉及的各對象間的關系。生成器132為每個定義的資源和服務提供者生成唯一的身份信息,生成器132還為每一個實時的會話,應用生成身份信息。注冊器133為對象向身份管理器注冊,注冊器調用生成器為對象生成身份。身份存儲器134存儲各種對象的身份信息,包括會話、服務提供者、資源、應用等。繼續參考圖1所示,該基于身份和會話的資源訪問系統運行如下客戶端11可以是用戶,客戶端11發出一個服務請求,比如請求創建lamp,并定義創建lamp所需的資源信息。服務請求先到達會話管理中心12中的流會話管理器(streamingsessionmanager)121,流會話管理器121中的會話生成器(sessioncreator)1211為該服務請求創建一個流會話(session),協商執行用戶荷載所需的資源,并管理會話的生命周期。流會話過程中所參與的資源間的通信協議棧形成流信令平面1212,可以分離物理資源和動態資源需求,控制按需生成的邏輯核心網。這里的流會話管理器121可以是四至七層交換機或應用交付控制器,具體可以是F5LTM、CiscoACE等設備。流會話管理器12通過TCP/UDP協議將請求傳送到代理服務器(broker)122,并保持該TCP/UDP連接。代理服務器122是用戶和資源間的中間人或經紀人,接收面向客戶的應用請求,將用戶的請求信息包括IP,port,protocol等信息存放起來在應用容器1221中,代理服務器122對并發性請求進行調度。代理服務器122接著把請求發往控制會話管理器(controllingsessionmanager)123,控制會話管理器123由會話控制器1231和控制信令平面1232組成。會話控制器1231根據流會話創建相關的控制會話,協商控制會話所需的服務提供者,即控制用戶請求的服務提供者,并管理會話的生命周期。控制會話過程中所參與的服務提供者間的通信協議棧形成控制信令平面1232,可以將服務提供者與資源提供者分離,根據需要提供服務提供者的任意動態組合。控制會話管理器123與服務總線IM相連,服務總線IM是由中間件基礎架構技術實現的,通過事件驅動和消息引擎,為面向服務的架構提供的軟件架構的構造物。在本發明中,各服務提供者都與服務總線1相連,用戶請求和會話身份通過服務總線在服務提供者之間傳播。通過服務提供者的處理(process)和一定的策略,最終將請求路由到資源中心14中的服務器141,相對于前面的代理服務器122的中介作用而言,實體服務器141是最終運行請求的硬件設備。每個實體服務器141上有硬件架構1412、虛機管理器1413和數個虛機1414,還有服務器資源管理器1411。網絡142中的網絡資源管理器1421管理網絡資源以及對虛機的組網,存儲器143中的存儲資源管理器1431管理存儲資源。服務請求最終通過服務器資源管理器1411在實體服務器141上的數個虛機1414上運行,一個虛機實例的運行需要同時用到網絡資源和存儲資源。當服務請求運行起來后,將結果直接返回到客戶端11,這是荷載的傳輸過程,同時斷掉流會話管理器12與代理服務器(broker)122之間的TCP/UDP連接,控制信令過程結束。流會話,控制會話,用戶會話等信息都存儲在會話數據庫125中,會話數據庫125中的數據可以存在內存中或磁盤上。會話管理器與身份管理器交互以獲得會話的身份并將會話相關的信息存儲在會話數據庫中。身份管理器13管理身份信息(ID)的生命周期,即身份信息的生成,維持,刪除,身份管理器13由柄求解系統(handleresolutionsystem)131,生成器(Generator)132,注冊器(Registry)133,身份存儲器(More)134組成,柄求解系統131是身份管理器13的核心,主要通過樹形結構和圖形結構求解出資源的位置和應用關系。注冊器133管理資源向身份管理器13注冊,生成器132按照一定的規則為每個定義的對象生成身份符。身份存儲器134是身份管理器13中的數據存儲中心,存儲資源、服務提供者、會話、應用等對象的身份信息,求解信息,配置服務等信息。在本發明的一個或多個較佳實施例中,當到達主機資源管理器1411的請求為startVM(啟動虛機)時,主機資源管理器1411需要從身份管理器13中得到虛機的URL。虛機鏡像存放在存儲(sharedstorage)143中,當請求為createVm(創建虛機)時,需要從存儲143中獲得虛機模板的URL,這里要用到存儲143上的存儲資源管理器1431。圖2是根據本發明的一個實施例的基于身份和會話的資源訪問系統的工作過程的總流程圖,描述從用戶發出應用請求,到應用實例運行起來返回客戶端的整個過程。具體步驟如下步驟201,用戶發出應用請求(用戶請求應用,包含IP,port,protocol等),這里的應用請求即服務請求,,比如創建一個lamp,請求資源;步驟202,判斷用戶是否通過認證授權,若通過,請求轉移到203,否則請求轉移到201;步驟203,請求到達流會話管理器,流會話管理器為請求生成一個會話(session),訪問身份管理器,獲得一個流會話身份(streamingsessionID),將流會話身份存入到流會話表格的一條記錄中;步驟204,流會話管理器將請求和流會話身份(streamingsessionID)轉入到作為虛擬服務器(fakeserver)的代理服務器,并保持TCP/UDP連接,保持該連接的目的是為了將請求轉入到控制信令過程,實現請求的有效控制,路由,以及服務質量保證等,關于代理服務器,可以看做用戶和資源間的中間人或經紀人,代理服務器可以識別用戶的請求,并將請求轉入到后面的處理系統,將會在圖4中詳細說明;步驟205,代理服務器訪問身份管理器,通過關系求解服務,獲得與上述流會話身份相關聯的虛擬應用身份,同時將請求和流會話身份(streamingsessionID)發送到控制會話管理器,這里把整個系統看成執行請求的一個應用程序,把請求看作用戶向應用程序發出的應用請求(APP),請求由用戶發出,到達代理服務器時,此時的應用請求是用戶描述的面向用戶的應用,也稱之為虛擬應用請求;步驟206,控制會話管理器根據流會話為請求創建一個相關的控制會話(controllingsession),并訪問身份管理器,通過關系求解服務,獲得與流會話身份相關的控制會話身份(ControllingsessionID);步驟207,控制會話管理器調用服務總線,服務總線通過與之相連的多個服務提供者將虛擬應用程序轉化為應用程序,控制請求走向,控制會話通過服務總線在服務提供者間傳遞,同時將請求路由到資源中心的實體服務器上;步驟208,服務器上的資源管理器管理應用請求的執行,通過訪問身份管理器獲取執行應用請求所需的資源;步驟209,判斷資源是否準備好,若資源都準備好了,則轉入到步驟211,否則轉入到步驟210;步驟210,等待,直至資源都準備好了;步驟211,執行請求,生成一個應用實例(APPINSTANT);步驟212,流會話管理器管理運行的數據荷載,并斷開與代理服務器的為該請求建立的與TCP/UDP連接;步驟213,將請求執行的結果通過重定向(redirect)直接返回給客戶,會話結束后,釋放與之相關的資源信息。圖3是根據本發明的一個實施例的基于身份和會話的資源訪問系統中流會話平面圖,體現了客戶荷載需要經過的通信資源和計算資源協議棧。在流會話平面中,一個客戶荷載38的執行首先需要計算資源,在虛擬化環境下,計算資源可以分為虛擬計算資源和物理計算資源。虛擬計算資源就是我們通常所說的虛機,具體以虛機文件的方式提供。在協議棧中處于本地邏輯計算工作棧37。本地邏輯計算工作棧37下面是管理和控制虛機的虛機管理器VMM36,VMM36提供了計算資源的交換和仲裁,并將本地邏輯工作棧37映射(map)到本地物理計算工作棧35,即服務器上物理資源,具體可以是服務器上的CPU,memory,disk,1/0等設備。當然,也可以將本地物理計算工作棧35映射(map)到本地邏輯工作棧37。客戶荷載38獲得了物理資源就可以真正運行起來。荷載之間需要交互,傳輸,這時就需要用于通信的網絡資源,包括本地網絡端口資源和10鏈路資源。荷載之間的通信首先通過本地端口資源和TCP/UDP端口34進行通信,根據通信協議棧的層次,逐層映射到10鏈路中的IP層33的網絡通信,數據鏈路層32的數據鏈路通信,直到最底層的物理媒介31的傳輸,此時便完成了整個通信過程。并將運行結果返回到客戶端,通信過程是通過流會話管理器來管理的,從而保證了客戶荷載的網絡實例的運行以及服務質量。此流會話平面(信令網)可以分離物理資源和動態資源需求,實現資源的按需供給。圖4是根據本發明的一個實施例的基于身份和會話的資源訪問系統中代理服務器與控制會話管理的交互,以及控制會話管理器的框圖。流會話管理器41(或應用交付控制器)生成流會話,流會話管理器41中的地址和服務器池可以動態配置流會話所需的資源,由于用戶發出的請求(面向用戶的應用請求)中是用戶關注的一些應用信息,比如IP,port,protocol等,這些信息并不能準確地提供面向資源的應用描述,流會話管理器41沒法根據這些信息把請求路由到具體的服務器上執行,所以先將請求轉向一個虛擬服務器(fakeserver),即代理服務器42。代理服務器42相當于用戶和資源間的經紀人,其中包含一個應用容器421,里面存放用戶請求的應用信息,即虛擬應用,從虛擬應用1到虛擬應用η。這里把整個系統看成執行請求的一個應用程序,把請求看作用戶向應用程序發出的應用請求(APP),請求由用戶發出,到達代理服務器時,此時的應用請求是用戶描述的面向用戶的應用,也稱之為虛擬應用;當請求經過服務提供者的處理到達資源時,應用請求將會變成描述資源需求的面向資源的應用,也稱之為應用。代理服務器42將請求轉發到控制會話管理器43(來控制請求的走向),控制會話管理器43中的會話控制器431為該請求創建與流會話相關的控制會話,協商執行用戶請求的服務提供者之間的通信,并管理會話的生命周期。控制會話過程中所參與的服務提供者間的通信協議棧形成控制信令平面432,可以將服務提供者與資源提供者分離,根據需要提供服務提供者的任意動態組合,即動態生成多個服務提供者平面,從服務提供者平面4321,服務提供者平面4322,到服務提供者平面432η。控制會話管理器43與服務總線44相連,服務總線44是由中間件基礎架構技術實現的,通過事件驅動和消息引擎,為面向服務的架構提供的軟件架構的構造物。在本發明中,服務提供者集合441中的各服務提供者都與服務總線44相連,并在服務總線44下注冊,服務總線44控制和管理這些服務提供者間的交互,服務路由,協議轉換等。用戶請求和會話身份通過服務總線在服務提供者之間傳播。這里的服務提供者是支持和優化資源訪問的提供應用服務的多個功能模塊,如serviceenabler,servicefactory;虛擬資源管理的功能模塊,如虛機管理器4411,存儲管理器4412,網絡管理器4413等;以及一些提升性能的功能模塊,如monitor,匪S等。控制會話管理器43運行在一個中心服務器上。對服務提供者的訪問通過代理45實現,每個服務提供者上都有一個代理(agent)45,代理45監控到請求,就對請求進行調度后將請求發送給對應的服務提供者,通過代理45可以實現對并發性請求的處理。通過服務提供者的處理(process)和一定的策略,最終將請求路由到資源中心中的實體服務器,實體服務器是相對于前面的代理服務器而言。圖5是根據本發明的一個實施例的基于身份和會話的資源訪問系統中代理服務器與控制會話管理器的交互的流程圖。具體過程如下步驟501,流會話管理器將請求發送到代理服務器;步驟502,判斷是否通過認證授權,若通過認證授權,則轉入到步驟503,否則重新返回到步驟502進行判斷;步驟503,判斷是否是并發性的請求,若是,轉入到步驟504,否則轉入到步驟505;步驟504,代理服務器中的應用容器對請求進行調度;步驟505,代理服務器將該請求發到控制會話管理器;步驟506,會話控制器為該請求創建一個與流會話相關的控制會話;步驟507,控制會話身份(ControllingsessionID)通過服務總線在多個服務提供者(serviceprovider)間傳遞,從而形成控制信令平面(serviceproviderplane);步驟508,判斷是否多個請求同時請求使用一個服務(service),若是,轉入到步驟510,否則轉入到步驟509;步驟509,服務總線為請求分配服務提供者(serviceprovider);步驟510,服務總線下注冊的服務提供者(serviceprovider)上的代理(agent)為請求分配服務(service)。通過該過程,可以將請求路由到實體服務器上執行,即使請求訪問真實的物理資源。圖6是根據本發明的一個實施例的基于身份和會話的資源訪問系統中存儲會話關系的會話數據庫的部分存儲結構。會話數據庫6中存儲的是多個會話(session)關系表格,由流會話表格61,控制會話表格62,用戶會話表格63,以及會話關系表格64組成。用戶發出應用請求,在本發明中,用戶請求的應用即為資源,為了實現一個用戶對應多個請求,資源的復用,服務(service)的復用,將用戶請求的會話分離成流會話,控制會話,用戶會話。流會話表格61主要存儲流會話以及與流會話綁定在一起的網絡地址和網絡尋址身份信息,具體有流會話身份(streamingsessionID),網絡身份(NetworkID),輸入輸出端口身份(1/0ID),其中ID通過訪問身份管理器獲得。NetworkID包括網絡設備交換機,路由器等的身份,1/0ID是指端口的身份,通過身份可以找到這些資源的地址。流會話表格對應于流會話平面中的1/0鏈路資源和本地網絡端口資源部分。控制會話是關于控制層面的會話,控制會話表格62主要存儲控制會話以及與控制會話綁定在一起的服務提供者身份信息,具體有controllingsessionID禾Π多個serviceproviderID,其ID由身份管理器提供。控制會話表格對應于控制信令平面。用戶會話是用戶請求應用(app)的會話(session),表示了用戶(user)和應用(app)之間的關系,以及應用(app)的組件關系。用戶會話表格63主要存儲這些對象的身份信息,具體有hersessionID,UserID,AppID,vAppID,DomainID,ComponentID,VMID,ServerID,StorageID。其間的關系是動態關系。這些ID都通過身份管理器獲得,并通過身份管理器中的柄系統表示其中的關系,將在后面的圖中詳細說明。流會話,控制會話,用戶會話是一個請求的三個方面,之間是有著緊密的聯系的,這時就需要一個會話關系表格(sessionrelationshiptable)64來表示它們之間的關系。由于我們可以考慮用戶請求的應用(app)為服務請求,故將服務會話身份(servicesessionID)作為關系表的主鍵,其它的屬性字段有hersessionId,streamingsessionID,controllingsessionID,這些屬性都是前面幾個表格的主鍵,因而將這些分離的會話(session)關聯在一個請求中。當創建會話(session)時,會話(session)相關的數據存放在會話數據庫(SessionStore),當完成終止一個會話(session)時,則需要釋放相應的資源。會話身份(SessionID)是臨時創建的,其它的資源身份(ID),包括數據中心資源和服務提供者身份(ID)都是不變的,當一個會話(session)結束時,需要刪除臨時表中的會話(session),并釋放相應的資源,這個過程相當于訂閱,訂閱結束,釋放資源。圖7是根據本發明的一個實施例的基于身份和會話的資源訪問系統中身份管理器的結構框圖。身份管理器7的核心是柄求解系統71以及存放身份信息和各種管理配置信息的ID倉庫(IDstore)72,身份符來標記,其中不變的對象如資源,服務提供者都有一個唯一不變的身份符,動態的對象如會話等都有一個臨時的身份符。不變性(persistence)由禾丙$角軍胃會充(handleresolutionsystem)71jfe^iiE。禾丙$角軍胃會充(Handleresolutionsystem)71由弓I用實施(referenceImplementation)711,協議(protocol)712,命名空間(Namaspace)713,管理服務(AdministrativeService)714四個部分組成,其中引用實施(ReferenceImplementation)711是柄求角軍系統(handleresolutionsystem)71的核心,提供求解服務和分布式類別服務。分布式類別服務7113接收不同類型的并發性請求,根據請求的類型,對請求調度后將請求發往地址求解服務(AddressResolutionservice)7111或關系求解服務(Relationshipresolutionservice)7112。地址求解服務(AddressResolutionService)7111中有地址關系的樹形結構,通過該結構關系根據資源身份找到資源的位置。關系求解服務(RelationshipResolutionService)7112通過關系求解服務,里面存有用戶⑴ser)、應用(app)、資源(resource)、會話(session)等之間關系的結構,將這些對象有效地連接起來;由于其間的關系比較復雜,往往存在多對多的關系映射,則可以采用樹,圖等各種結構來描述。當用戶訪問系統中的求解(resolution)或管理過程(Administrativeprocess)時,就需要用到協議(ftOtocol)712對客戶進行認證。命名空間(Namespace)713是大量的不同類型的身份符的類型名字,還包括對于具體對象名字的語法規定,可以根據類型劃分不同的命名空間,每個命名空間713域下有多個不同的具體的名字。管理服務(Administrativeservice)714提供系統中的各種配置管理服務。ID倉庫(IDStore)72是身份管理器7中的存放身份信息,管理配置信息等各種信息的存儲器,各種資源,過程,應用,服務等的身份都存儲在ID倉庫72中。在本發明的一個或多個較佳實施例中,身份管理器為會話管理器和資源管理器提供身份服務,關系求解服務和地址求解服務,為求解各個對象之間的關系,尋找資源位置提供支撐。身份管理器運行在一個ID服務器上。圖8是圖7的身份管理器中的關系求解服務(RelationshipResolutionService)實施的描述框圖。本發明的關系求解實施方式81由對象身份符811、對象描述812以及求解服務813三個部分組成。其中對象身份符811表示的是對象的身份,這里的對象既可以是數據中心的資源,如虛機,服務器等,也可以是應用(app),域(domain),組件(component)等用戶請求的應用關系等,還可以是各種會話(session),也可以是系統中的管理程序(也可以稱之為服務提供者)。對象描述812表述的是對各個對象的屬性,特征等的描述。求解服務813由數據類型(Datatype)8131,結構元數據(structuralmetadata)8132,以及元對象(Meta-objects)8133組成,結構元數據8132描述了各對象之間的結構關系,由于關系很復雜,存在多對多的情況,如一個用戶可以同時使用多個應用(app),一個應用(app)可以被多個用戶同時使用,因而采用圖結構來表示,這樣可以保證從上面的對象引用到下面的對象,也可以從下面的對象引用到上面的對象的多對多的引用關系。元數據是指關于對象的對象,數據類型是對數據的分類。82中列出了需要求解的主要對象,包括用戶(user)821,應用(app)822,域(domain)823,組件(component)824,虛擬資源(virtualresource)825,物理資源(physicalresource)擬6等。這些對象間的關系也是一條用戶會話(session)關系,在一個用戶會話中,一個用戶821可以同時使用多個應用(app)822,一個應用(app)可以被多個用戶821同時使用,一個應用(app)822對應一個域(domain)823,一個域(domain)823由多個組件(component)擬4組成,由于組件(component)擬4是只包含一個虛機實例(VMinstance)的特殊的域(domain)823,則一個域(component)823對應一個虛機VM,一個虛機VM可以被多個域(component)823引用,一個VM對應多個物理資源,如cpu,memory,nic等。VM中有兩個ID,一個是Vm自身的,另一個是ReferenceID,指向上面的組件824,建立與組件824間的身份對應關系。83是一個用戶請求運行起來所需要的主要資源,包括VM831,LUN832,Raid833,vswitch834,Nic835等這些資源間的關系通過ID來標識。圖9是圖7中的身份管理器中的地址解析(AddressResolution)的關系表述圖。在身份管理器中,對每個資源都進行唯一的身份標記,每個資源都有唯一的身份標記符,同時有一個可變的邏輯身份(logicalID),以建立資源之間的邏輯關系,這里不同于域名系統,域名系統與IP相對應,而每一個ID都是唯一的不變的,所以不管資源移至何處,都可以通過ID找到它。地址求解通過樹形結構實現,在身份上是從根到葉的繼承關系。以數據中心為例,一個數據中心91可以分成多個組92,一個組92下有多個主機93,一個主機93上有多個虛機94,一個虛機94中使用到vCPU951,vMemory952,vNic953,VHBA954等虛擬硬件資源,虛擬硬件資源通過虛機管理器VMM映射到相應的物理硬件資源CPU971,Memory972,Nic973,HBA974,一個物理硬件設備可以對應多個虛擬硬件設備,其中,vNic953連接到虛機管理器VMM中的vSwitch96,VMM中可以有一個或多個vSwitch96,一個vSwitch96連接多個vnic953,vswitch953連接到物理Nic973,通過Nic973又連接到Switch(交換機)98上,一個Switch(交換機)98可以連接多個Nic973,亦即多個主機93,還可以通過Switch98連接到共享存儲器(sharedstorage)99。對于底層,主機上的資源,使用TapBridge建立虛機94和其上的各種虛擬資源的身份對應關系,一個虛機上可以有多個vSwitch96,分別管不同的vlan,連在不同的vswitch上的虛擬機被劃分到不同的vlan中,一個vswitch可以連接不同主機上的不同的虛擬機。當通過資源的ID請求資源的地址時,請求到達地址求解服務,地址求解服務通過資源的身份求解出資源所在的位置。圖10是根據本發明的一個實施例的基于身份和會話的資源訪問系統中使用身份管理器的流程圖。具體包括如下的步驟步驟1001,客戶端發出請求,并轉入到步驟1002;步驟1002,請求到達身份管理器,并轉入到步驟1003;步驟1003,判斷所請求的對象是否在身份管理器中注冊,若注冊,轉入到步驟1004,否則轉入到步驟1008;步驟1004,根據ID到身份管理器中查詢柄求解系統,并轉入到步驟1005;步驟1005,判斷是否查詢資源地址,若是,轉入到步驟1006,否則轉入到步驟1010;步驟1006,通過地址求解服務找到資源的位置,并轉入到步驟1007;步驟1007,將位置信息返回給請求方,結束;步驟1008,使用注冊器注冊對象,并轉入到步驟1009;步驟1009,生成器根據對象類型和字符串規則為該對象創建刪除身份符ID,并轉入到步驟1004;步驟1010,通過關系求解服務找到關系的對象,并轉入到步驟1011;步驟1011,將關系對象信息返回給請求方,結束。本發明的基于身份和會話的資源訪問系統能在數據中心的網絡實例環境下,將傳統電信中服務提供者和資源提供者分離的思想引入到企業數據中心資源的訪問中,實現荷載和控制會話的分離,并采用身份管理方法管理這些資源的身份。上述實施例是提供給熟悉本領域內的人員來實現或使用本發明的,熟悉本領域的人員可在不脫離本發明的發明思想的情況下,對上述實施例做出種種修改或變化,因而本發明的保護范圍并不被上述實施例所限,而應該是符合權利要求書提到的創新性特征的最大范圍。權利要求1.一種基于身份和會話的資源訪問系統,其特征在于,包括客戶端,客戶端發出服務請求并定義執行該服務請求所需要的資源信息;會話管理中心,接收所述客戶端發出的服務請求,根據該服務請求創建流會話并根據流會話創建控制會話,協商流會話所需的資源和控制會話所需的服務提供者,并將請求路由到資源中心;資源中心,包括實體服務器、網絡和存儲器,所述實體服務器上運行一個或多個虛機,資源中心接收所述服務請求、并管理請求的運行,所述虛機運行所述服務請求并將運行的結果反饋給客戶端;身份管理器,與會話管理中心及資源中心通信連接,身份管理器管理資源、服務提供者、會話、應用的對象的身份信息,身份管理器還管理所述身份信息的生命周期。2.如權利要求1所述的基于身份和會話的資源訪問系統,其特征在于,所述會話管理中心包括流會話管理器,接收所述客戶端發送的服務請求,根據該服務請求創建流會話并協商流會話所需的資源,流會話管理器轉發所述服務請求;代理服務器,與流會話管理器通信連接,代理服務器接收由流會話管理器轉發的服務請求并保持連接,代理服務器獲取流會話管理器創建的流會話信息,代理服務器調度并發的服務請求;控制會話管理器,與代理服務器通信連接,從代理服務器獲取流會話信息并根據流會話信息創建控制會話并協商控制會話所需的服務提供者,控制會話管理器轉發所述服務請求;服務總線,連接到所述控制會話管理器,并與多個服務提供者相連,在服務提供者之間傳遞請求和控制會話身份信息;會話數據庫保存服務請求從客戶端傳送至資源中心的虛機上運行以及運行的結果從資源中心反饋給客戶端的過程中的流會話、控制會話和用戶會話信息。3.如權利要求2所述的基于身份和會話的資源訪問系統,其特征在于,所述流會話管理器包括流會話生成器,為接收到的服務請求創建流會話并管理流會話的生命周期,流會話生成器還協商流會話所需要的資源;流信令平面,與流會話生成器通信連接,由流會話過程中所參與的資源間的通信協議棧形成,分離所述資源中的物理資源與動態資源。4.根據權利要求3所述的基于身份和會話的資源訪問系統,其特征在于,所述流信令平面包括I/O鏈路資源,本地網絡端口資源和計算資源形成的協議棧,其中計算資源協議棧包括本地物理計算工作棧、虛機管理器,本地邏輯計算工作棧。5.如權利要求2所述的基于身份和會話的資源訪問系統,其特征在于,所述代理服務器包括應用容器,保存與所述服務請求相關的請求信息,包括IP地址、端口號、協議。6.如權利要求2所述的基于身份和會話的資源訪問系統,其特征在于,所述控制會話管理器包括會話控制器,根據所述流會話創建控制會話并管理控制會話的生命周期,會話控制器還協商執行該控制會話所需要的服務提供者;控制信令平面,由控制會話過程中所參與的服務提供者間的通信協議棧形成,控制信令平面將服務提供者與資源提供者分離。7.如權利要求1所述的基于身份和會話的資源訪問系統,其特征在于,所述實體服務器包括服務器資源管理器、硬件架構、虛機管理器和數個虛機,所述服務器資源管理器管理服務請求在虛機上的運行,虛機管理器管理所述虛機;所述網絡包括網絡資源管理器,網絡資源管理器管理網絡資源并對實體服務器中的虛機進行組網;所述存儲器包括存儲資源管理器,存儲資源管理器管理存儲資源。8.如權利要求1所述的基于身份和會話的資源訪問系統,其特征在于,所述身份管理器包括柄求解系統,通過樹形結構和圖形結構求解確定資源的位置和服務請求涉及的各對象間的關系;生成器,為每個定義的資源和服務提供者生成唯一的身份信息,為每一個會話、應用生成身份信息;注冊器,為每個對象向身份管理器注冊,注冊器調用生成器為對象生成身份;身份存儲器,存儲各種對象的身份信息,包括會話、服務提供者、資源、應用。9.一種基于身份和會話的資源訪問方法,其特征在于,所述方法包括一個上游流會話管理器接收客戶端的資源請求;該流會話管理器為請求創建一個用于協商執行客戶荷載所需資源的流會話,并將請求和流會話信息發送到上游代理服務器;該代理服務器作為中轉代理多個請求,并將請求和流會話信息發往上游控制會話管理器;該控制會話管理器為該請求生成一個與上述流會話相關聯的用于協商控制服務請求的服務提供者的控制會話;控制會話管理器與上游服務總線交互,服務總線與多個服務提供者相連,請求和控制會話身份信息通過服務總線在多個服務提供者之間傳遞,并通過服務提供者將請求路由到下游資源中心的實體服務器;實體服務器上有一個或多個虛機,資源管理器管理請求在虛機上的運行,虛機運行所述請求并將運行的結果反饋給客戶端。10.如權利要求9所述的基于身份和會話的資源訪問方法,其特征在于,所述方法進一步包括流會話管理器創建流會話,并訪問身份管理器,獲得流會話身份;代理服務器創建虛擬應用,并訪問身份管理器,通過關系求解服務,獲得與上述流會話身份相關聯的虛擬應用身份;控制會話管理器創建與流會話相關聯的控制會話,訪問身份管理器,通過關系求解服務,獲得與上述流會話身份相關聯的控制會話身份。資源管理器訪問身份管理器,獲得資源的唯一身份,并可根據資源的唯一身份通過地址求解服務找到資源的位置。11.如權利要求9所述的基于身份和會話的資源訪問方法,其特征在于,所述方法進一步包括代理服務器接收到流會話控制器發送的請求和流會話信息后,繼續保持與流會話控制器之間的TCP/UDP連接;請求在資源中心的實體服務器上的虛機上運行起來后,斷開代理服務器與流會話控制器之間的TCP/UDP連接,并通過重定向直接將運行結果返回客戶端。12.如權利要求9所述的基于身份和會話的資源訪問方法,其特征在于,所述方法進一步包括流會話管理器創建流會話,生成流信令平面,分離物理資源和動態資源需求,并控制按需生成的邏輯核心網。13.根據權利要求9所述的基于身份和會話的資源訪問方法,其特征在于,所述方法進一步包括控制會話管理器創建控制會話,生成控制會話平面,根據請求需要對服務提供者進行任意動態組合,生成多個服務提供者平面。14.根據權利要求9所述的基于身份和會話的資源訪問方法,其特征在于,所述方法進一步包括使用橋接建立虛機和其上的各種虛擬資源的身份對應關系。15.根據權利要求9所述的基于身份和會話的資源訪問方法,其特征在于,所述方法進一步包括為虛機設置兩個身份,一個是虛機自身的,另一個是引用身份,指向上面的組件,建立虛機與組件間的身份對應關系。全文摘要本發明揭示了一種基于身份和會話的資源訪問系統和方法,系統包括客戶端、會話管理中心、資源中心、身份管理器。客戶端發出服務請求并定義執行該服務請求所需要的資源信息。會話管理中心接收服務請求,根據該服務請求創建流會話并根據流會話創建控制會話,協商流會話所需的資源和控制會話所需的服務提供者,并將請求路由到資源中心。資源中心包括實體服務器、網絡和存儲器,資源中心接收服務請求、并管理請求的運行,實體服務器上的虛機運行服務請求并將運行的結果反饋給客戶端。身份管理器管理資源、服務提供者、會話、應用等對象的身份信息,還管理身份信息的生命周期。文檔編號H04L29/06GK102347959SQ20111036972公開日2012年2月8日申請日期2011年11月18日優先權日2011年11月18日發明者湯傳斌,熊麗申請人:運軟網絡科技(上海)有限公司