专利名称::基于身份和会话的资源访问系统和方法
技术领域:
:本发明涉及计算机系统应用领域,更具体地说,涉及包括多个服务器,网络,存储的系统场景,提出一种基于身份和会话的资源访问系统。
背景技术:
:如何利用数据中心资源支撑企业的业务运行是数据中心管理考虑的首要问题。尤其是在技术发展日新月异,应用模式层出不穷的情况下,数据中心的各种设备,包括服务器,存储,网络等设备越买越多,呈现爆炸趋势,可是一个业务一套设备的规划方式,形成了众多的设备孤岛,使得这些设备很少得到充分利用,造成了资源的严重浪费’另一方面,资源规划和业务运行相分离,资源规划以离线(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日发明者汤传斌,熊丽申请人:运软网络科技(上海)有限公司