一种支持融合网络业务的云平台及其工作方法转让专利

申请号 : CN201010527644.8

文献号 : CN101969391B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵耀邹华杨放春李晓亮孙其博刘志晗闫丹凤林荣恒

申请人 : 北京邮电大学

摘要 :

一种支持融合网络业务的云平台及其工作方法,该云平台设有多种硬件与软件资源,并通过三网运营商的三个核心网与相应的通信协议,分别连接电信网、互联网和广电网的三个接入网,以供平台用户(包括三网运营商或业务提供商等)根据各自需要而租用这些平台资源来部署各自业务和运营能力,该云平台采用分层结构,自上向下分别设有平台管理层、业务执行层、资源虚拟化与管理层和硬件资源层,各层之间的交互方式采用上层模块以接口调用的形式使用下层模块提供的功能。该云平台支持平台用户根据实际需求方便地对其所租用的资源进行动态调整,同时提供对三网资源的访问能力,为平台用户开发和运营融合网络业务提供方便。

权利要求 :

1.一种支持融合网络业务的云平台,其特征在于:所述云平台是通过三网运营商各自提供的三个核心网络与相应的不同通信协议,分别连接电信网、互联网和广电网的三个接入网;该云平台内设有包括CPU、硬盘、内存、带宽和通信协议的多种硬件与软件资源,以供其他各个网络运营商及业务提供商根据各自需要而租用这些资源来部署和运营各自的业务;该云平台采用分层结构,自上向下分别设有平台管理层、业务执行层、资源虚拟化与管理层和硬件资源层,各层之间的交互方式采用上层模块以接口调用的形式使用下层模块提供的功能;各层分别设有下述功能模块:云平台管理模块,位于平台管理层、提供该平台的管理与操作功能的该模块,用于向平台管理员及平台用户提供访问接口,设有平台用户管理、业务管理、资源调度与分配、计费四个单元并分别提供相应功能;该模块使用云平台资源池提供的数据存储能力,将平台用户的注册信息及其订购资源的相关信息、业务所属平台用户及业务状态、业务引擎实例数的信息与该平台的包括服务节点信息、平台日志与告警的信息都分布式存储在底层数据存储服务器的各个资源节点中;

业务执行模块,位于业务执行层的该云平台的业务执行核心部件,设有代表设定资源能力的、实质由多个虚拟机组成的逻辑实体的多个业务执行空间,以及负责保存与管理业务执行空间的业务执行空间管理模块;该业务执行模块使用云平台资源池提供的虚拟化硬件资源,响应平台用户的资源订购请求,为不同平台用户分别划分具有不同资源能力的多个业务执行空间,并使每个执行空间的资源能力与平台用户订购的资源能力相匹配;

云平台资源池,位于资源虚拟化与管理层,作为支持云平台运作的关键组件,该模块设有资源访问管理单元、数据存储管理单元、资源虚拟化单元和资源接入管理单元;该模块向下提供大量服务器硬件的接入,并对接入的硬件资源虚拟化后进行维护管理,以供上层模块调用;虚拟化后的资源分为两类:包括CPU资源、内存资源和带宽资源的计算资源与硬盘数据库的存储资源;

由数量众多的底层物理服务器组成的计算服务器资源与数据存储服务器资源,位于硬件资源层,为云平台提供最基础的硬件资源支持;通过在这些底层物理服务器上运行资源代理程序,使得该底层物理服务器成为计算服务器资源或数据存储服务器资源,再藉由将该底层物理服务器作为计算资源和数据存储资源向上层云平台的资源池接入管理单元注册,就能够向上层模块提供访问本地资源的能力。

2.根据权利要求1所述的云平台,其特征在于:所述云平台管理模块中的四个单元的结构及其功能是:

用户管理单元,负责提供包括平台用户的注册与登录、平台用户基本信息的管理、平台用户权限分配的功能,平台用户接入后,必须先进行注册来申请云平台使用权限;用户注册信息则通过云平台资源池所提供的云存储能力,存储于底层数据存储服务器的资源节点;

业务管理单元,用于提供对业务的生命周期管理及相关配置功能,平台用户在对自己的业务执行包括加载、试运行、激活、去激活及下线的各项业务操作时,是通过为其业务设定执行引擎的实例数来确定业务的最大并发能力;该单元则调用业务执行空间管理模块的相关接口来支持上述各项业务操作;

资源调度分配单元,负责提供和配置平台用户的所需资源,平台用户通过资源订购,确定其所需要的包括CPU数、内存数、硬盘容量和网络带宽的硬件资源;业务执行模块则根据用户的订购资源情况为其维护一个业务执行空间;

计费单元,用于完成对平台用户、即网络运营商和业务提供商的计费功能;该模块根据用户申请的资源数及所用时间而产生用户的计费账单,并存储于云平台资源池提供的存储资源。

3.根据权利要求1所述的云平台,其特征在于:所述业务执行模块中的业务执行空间的内部组成结构是:一个或多个业务执行空间管理代理单元、一个负载均衡进程和多个业务执行引擎实例进程,其中负载均衡进程与业务执行引擎实例进程分别运行于各自的业务执行空间虚拟机;其中,业务执行空间管理代理单元,作为业务执行空间管理模块的接口,该单元既要响应业务执行空间管理模块的命令请求,执行包括创建新的虚拟机与执行引擎实例,进行业务的加载激活的生命周期管理操作,还要对空间内的负载均衡器和执行引擎实例进行动态监控,通过心跳机制判断各个进程的存活状态,一旦发现进程异常,及时重启进程,并向业务执行空间管理模块产生告警日志;

负载均衡进程,是该云平台与运营商网络的连接门户,业务请求从运营商网络发送至负载均衡进程的开放端口时,根据该业务请求所触发的业务,将该业务请求转发给当前负载较轻的执行引擎实例;所述执行引擎实例是业务实例运行的实际容器。

4.根据权利要求3所述的云平台,其特征在于:位于业务执行空间中的所述业务执行引擎的结构组成为:从底向上依次为资源层、业务实例管理层、业务执行层和业务管理层,以及对各层执行监控的统计监控告警模块;其中,资源层设有协议栈适配资源和数据存储访问接口资源,前者封装了包括HTTP、SIP、Parlay/ParlayX、Web Service、SMS、MMS、GIS、LBS和Mail的电信网、互联网及广电网的多种协议栈适配器,用于解释各种协议事件并封装成内部消息事件,便于资源扩展与统一管理;后者提供数据库的增、删、改和查询的操作,以便调用云平台资源池中数据存储管理单元所提供的云存储能力;

业务实例管理层的业务实例管理器,负责业务实例的管理维护及业务资源的订阅维护,能够支持会话型业务;设有业务实例管理单元和资源订阅单元,前者用于对业务实例进行维护管理;后者用于维护业务与资源之间的订阅关系,各个资源实例与业务实例之间不都是一一对应的,包括SIP协议栈和web service协议栈的资源与业务之间是一对多的关系;业务在部署时,资源订阅单元根据业务配置文件中罗列的该业务所需的全部资源,进行业务与资源的映射,并在该业务到相应资源处进行注册事件到达资源时,资源订阅单元通过查找订阅关系,将相关资源送达正确的业务实例;

业务执行层的业务执行核心单元拥有一个任务执行队列,每个业务实例与一个内部事件作为一个任务被放入该任务执行队列中,等待执行线程的处理;业务执行引擎采用并发机制,确保各个引擎实例能够并发运行,业务执行引擎通过产生并向业务执行空间管理模块发送心跳信号,实现云平台对各引擎实例状态的实时监控,保证高容错性;

业务管理层的业务容器设有业务管理单元、业务触发规则管理单元和引擎管理单元;

每个业务被加载执行时,业务管理单元负责解析该业务的配置文件,执行业务的初始化操作;业务触发规则管理单元用于存储和维护业务触发规则与业务的对应关系,该业务触发规则用于判断每个业务是否被触发;每个业务被加载后,其业务触发规则会被电信体系中包括下一代网络NGN中的软交换实体及IP多媒体子系统IMS中的服务呼叫会话控制功能S-CSCF实体所获取;引擎管理单元用于提供包括Python和BPEL的各类脚本和包括JSP和ASP的网站语言执行引擎及其相应的管理接口,这些网站语言执行引擎用于支持相应的业务,其中JSP引擎用于平台支持互联网JSP网页类业务;

统计监控告警模块,负责监视执行引擎的运行状态:统计各业务当前存活的业务实例数,并定期地将统计数据发送给业务执行空间管理代理单元;定期生成心跳事件,再封装成执行任务并加入执行引擎队首,使执行引擎定期发送心跳数据给业务执行空间管理代理单元而实现心跳机制;向执行引擎的各组成构件提供告警工具,发生异常时,将生成的告警信息传送至上级管理节点。

5.根据权利要求4所述的云平台,其特征在于:所述业务实例管理器中的业务实例管理单元,对业务实例进行的维护管理是通过维护业务执行引擎中存在的业务实例及其对应的业务会话标识映射,实现对有状态的会话型业务的支持;即每个业务的请求事件从底层协议栈适配器到来时,若业务实例管理单元中已经存有与该请求事件中的会话标识相应的业务实例,则将该请求事件转发到该业务实例所维护的事件队列中,并将该业务实例封装成一个处理任务TASK交给业务执行核心单元;否则,创建一个新的业务实例,且该新的业务实例及其业务会话标识映射将被成对地维护于业务实例管理单元;每次完整的业务流程结束时,该业务实例会通知业务实例管理单元删除该业务实例本身及其业务会话标识映射。

6.根据权利要求1所述的云平台,其特征在于:所述云平台资源池中的资源访问管理单元、数据存储管理单元、资源虚拟化单元和资源接入管理单元的功能及结构是;

资源接入管理单元,用于与各服务器之间采用后者向前者注册的形式建立连接,接入的服务器资源包括两类:计算服务器资源和数据存储服务器资源;该两类资源的区分只是逻辑上的,代表一定的计算或存储功能,不是物理概念上的,即同一台物理服务器主机既能够是计算服务器资源,又能够是数据存储服务器资源;该单元通过注册能获取访问服务器本地资源的能力,且接入的服务器资源与该单元相互收发心跳消息,以确保该单元对服务器节点运行状态执行实时监控;

资源虚拟化单元,用于对资源接入管理单元的资源进行虚拟化,通过对接入资源的描述和访问能力的封装,抽象成统一的云平台计算资源和数据存储资源,以方便资源的管理和上层接口对资源的使用;

资源访问管理单元,用于响应业务执行空间管理模块发出的计算资源申请请求,分配虚拟化的计算资源;且分配时采取冗余策略,将虚拟机文件保存于一个主地址和多个备份地址,当主地址的服务器工作不正常时,备份地址的服务器运行虚拟机文件,以确保服务不会因个别服务器发生问题而停止提供;

数据存储管理单元,用于提供云平台的数据库云存储能力;该单元利用虚拟化的存储资源,响应平台的数据存储访问接口的请求,将数据库内容分块冗余保存和读取;该单元还保存每个分块数据的索引信息和写保护锁,确保数据能够成功读写,同时根据索引修改记录信息,定期对备份数据进行同步。

7.一种支持融合网络业务的云平台的工作方法,其特征在于:包括下列操作步骤:

(1)云平台的部署和启动:采用多服务器集群分布式结构部署云平台后,再按照由该云平台架构组件的底层到上层的顺序启动云平台;该步骤(1)包括下列操作内容:(11)先在部分服务器上启动和运行云平台资源池的服务程序,使得该部分服务器组成云平台资源池服务器集群,再让该云平台资源池服务器集群开放资源池资源的接入接口,等待底层硬件资源的接入;

(12)在跨地域、跨机房和跨机架的三种层次上选取大量的物理服务器并启动和运行底层资源服务程序,使得这些物理服务器组成底层资源服务器集群;如果底层资源服务器上运行计算资源代理程序,则作为计算资源服务器向资源池服务器注册接入;如果底层资源服务器上运行数据存储代理程序,则作为数据存储资源服务器注册接入;

(13)云平台资源池服务器集群对接入的底层资源服务器集群执行实时监控,并将接入的服务器能力进行虚拟化,以利于实现资源的动态调整,并作为云平台资源池中的虚拟资源提供给上层服务使用;因物理资源冗余存储并划分成小块的资源能力,能增加云平台的可用性和显著提高物理资源的利用率;

(14)在部分服务器上启动和运行业务执行与管理的服务程序,使得该部分服务器组成业务执行与管理服务器集群;该业务执行与管理服务器集群接入云平台资源池服务器集群后,获取该云平台自身使用的虚拟资源,再对包括系统数据的资源进行初始化;

(15)在部分服务器上启动和运行云平台管理的服务程序,使得该部分服务器作为云平台管理服务器集群,并分别连接业务执行与管理服务器集群和云平台资源池服务器集群后,进行相应的初始化;

(16)云平台运营商管理员对整个云平台系统进行初始配置操作后,向云平台用户开放访问接口,云平台启动结束;

(2)云平台执行平台用户注册、资源申请及新业务的加载部署:云平台启动后,接收到平台用户的注册和购买所需要的资源后,才根据平台用户订购的资源数量为平台用户创建其独有的虚拟业务执行空间,并为其创建包括业务执行引擎和负载均衡器的业务实例;该步骤(2)包括下列操作内容:(21)包括业务提供商或网络运营商的云平台用户访问平台管理模块用户管理单元提供的用户注册功能,填写用户信息,完成注册;

(22)平台用户根据自己需求,向云平台的资源分配调度单元订购所需要的包括CPU资源、数据存储资源和网络带宽的各种云平台资源能力;

(23)资源分配调度单元向执行空间管理模块发出创建业务执行空间请求,执行空间管理模块向平台资源管理器申请平台用户所需要的虚拟资源,并在该资源基础上创建业务执行空间以及业务执行空间中的虚拟机实例;

(24)执行空间管理模块向平台资源管理器发送虚拟机文件备份请求,平台资源管理器根据冗余备份策略进行定期备份与同步;至此,云平台完成平台用户资源订购操作;

(25)平台用户访问平台管理模块的业务管理单元,上传要部署于云平台的业务;业务管理单元向执行空间管理模块发送业务加载请求;

(26)执行空间管理模块响应业务加载请求,创建相应数量的业务执行引擎实例,加载业务并返回加载成功响应;

(3)云平台根据平台用户指令,执行业务相关操作并动态调整资源:在平台用户使用云平台运营业务过程中,云平台根据业务实际需要,动态调整其使用的资源;该步骤(3)包括下列操作内容:(31)云平台完成业务加载后,根据平台用户通过业务管理单元的业务生命周期管理接口发出的指令,执行业务激活、去激活或下线的操作;

(32)业务运行一段时间后,如果平台用户发现现有平台资源能力不足以支撑业务访问的负载或者需要减少租用的平台资源时,其登录资源分配调度单元重新订购资源,动态调整所需资源数量;

(33)资源分配调度单元向执行空间管理模块发出资源重新申请请求;执行空间管理模块向平台资源管理器申请调整后的资源,并更改原有业务执行空间的配置,调整虚拟机实例数和业务执行引擎实例数;至此,云平台根据平台用户请求完成资源动态调整;

(4)云平台支持融合网络业务的运行:注册和购买资源的平台用户上传业务并激活业务后,该业务就在云平台中处于激活运行状态,能够接受来自云平台外的各个运营商网络的业务请求;且在该业务运行过程中,云平台能够同时支持该业务所涉及的互联网、电信网和广电网的三种不同网络资源和相关协议;该步骤(4)在处理网络上报的业务请求或由业务自身发起的业务请求时,包括下列操作内容:(41)业务请求到达负载均衡器,根据业务触发策略,业务请求被负载均衡器转发至具体的业务执行引擎实例;

(42)业务执行引擎实例的相应协议栈适配器接收到转发来的业务请求,对该业务请求进行解析处理后,封装成平台内部消息事件,根据业务对资源的订阅关系,将该内部消息事件发送到相应的业务实例管理单元;

(43)业务实例管理单元根据消息事件中的会话标识,查找与其相对应的业务实例,如果找到,则将该消息事件发送至该业务实例进行业务处理,否则将创建新的业务实例并与消息事件中的会话标识一起保存到业务实例管理单元自身的业务实例映射列表中;

(44)消息事件被发送至相应业务实例的事件队列中,该业务实例被封装成Task放入业务执行引擎中的任务执行队列中进行处理,对于无状态的业务,业务处理完毕后,业务实例将通知业务实例管理单元从业务实例映射列表中删掉该业务实例及其相应的会话标识;

对于有状态的业务,业务实例将依旧保存在业务实例映射列表中,等待后续业务请求;

(45)有状态业务的后续业务请求将直接发送到相应业务执行引擎的相应协议栈适配器中,经过步骤(42),后续业务请求被解析成内部消息事件,发送到对应的业务实例管理单元,通过该事件中的会话标识,业务实例管理单元找到相应的业务实例进行相应业务处理;

有状态的业务实例在处理完整个业务逻辑后,通知业务实例管理单元删掉业务实例本身及其会话标识映射;

(46)该业务的系统处理结果被传送至相应的协议栈适配器,发送到网络。

8.根据权利要求7所述的方法,其特征在于:所述步骤(4)中,针对不同网络的各种业务在云平台的业务执行引擎中被执行时,云平台会根据不同网络业务的特点,分别采用不同的协议栈适配器及相应的协议,以便对业务状态支持不同的功能。

说明书 :

一种支持融合网络业务的云平台及其工作方法

技术领域

[0001] 本发明涉及一种支持融合网络业务的云平台及其工作方法,属于融合网络业务支撑设备及其系统的技术领域。

背景技术

[0002] 随着网络技术的发展,电信网、互联网和广电网的三网也日益呈现相互融合和相互开放的趋势。在融合网络中,一方面业务需要融合,以便更好地利用各种网络能力共同提供更多种类的新业务;另一方面也需要更加灵活的业务提供和运营方式,以便快速、高效地提供新业务。
[0003] 目前,第三方业务提供商在部署和运营增值业务时,通常都是由业务提供商自己部署和维护相应的软硬件业务系统,从而增加了业务提供商的部署和维护成本;同时,也增加了网络运营商对于业务提供商的管理难度。
[0004] 在三网融合背景下,网络业务的运营越来越受到电信运营商的青睐。然而,传统的电信应用服务器并不向其它业务提供互联网资源的访问能力,例如,它不支持互联网协议,这就使得面向融合网络的电信业务的开发与运营十分困难。
[0005] 电信业务的请求负载不是稳定不变的,而是根据不同时间而上下波动,其特点是波峰与波谷的负载相差较大;而且,在节假日或突发情况下会出现负载剧增的情况。运营商为满足电信用户的需求,往往以满足最大负载的要求来部署服务器等网元。然而,这样做会造成两方面的后果:当业务请求量处于低谷时,大量的服务器处于闲置状态,使得许多硬件与维护的人力成本都白白浪费了。但是,当特殊时段的用户业务量剧增时,现有的机房、服务器能力却很可能仍然不能满足最大负载的需求,用户的体验依旧很差。
[0006] 传统电信业务支撑平台的典型产品有:普元EOS北方电信业务支撑系统、广东电信综合业务支撑系统和IBM的下一代移动增值业务平台等。其中,
[0007] 普元EOS平台是建立在J2EE基础上的应用软件平台,提供了从开发、调试、运行、维护和管理的完整的系统性支持,具有较强的二次开发能力。基于EOS的北方电信业务支撑系统的各个应用系统都建立在应用承载平台的基础上,应用承载平台的核心组成部分是EAI平台、核心数据对象和系统管理模块。系统采用表现层、业务逻辑层和数据层的分层结构。
[0008] 广东电信综合业务支撑系统包含业务受理、调度管理、资源管理、施工管理、客服管理、收费管理、接口管理、营销管理、产品管理、客户管理、系统管理、基础数据管理和统计管理等13个子系统,采用公共信息管理平台与接口平台层、基础服务层、业务框架层、业务应用层的分层系统架构。公共信息管理平台定义IBSS系统和其他相关系统共享的公共信息,目前主要提供客户管理,以满足各系统对客户信息的需求;接口平台提供系统对外数据的交换机制,处理IBSS和外部系统的数据交换协议;基础服务层定义系统公共服务,这些服务和业务处理没有关系,所有的系统都可以处理这样的基础服务,如数据库访问、名字服务、公共API(如日期/字符处理)等;业务框架层定义系统的基本业务框架,它是系统业务实现的基础,如权限管理、产品管理等;业务应用层即业务实现层,它通过调用业务框架的服务实现IBSS的具体业务,它包含各子系统的实现。业务应用层的各个子系统相互独立,通过接口访问,各个子系统之间的业务处理顺序、业务流程要求通过业务流程系统来协调和控制。
[0009] IBM移动增值业务平台的平滑演进方案及其关键支撑技术,能够实现从单一的、业务分离和功能重复的垂直系统向支持跨网络、功能统一的水平业务平台的转型;提供一个能和遗留系统和谐工作的业务平台集成框架,以及一套系统科学的方法。它能够针对新的业务需求,对运营商现有的分离业务系统进行能力成熟度评估,确定能力差距以及系统集成模式,帮助设计生成新系统架构;水平业务平台提供业务通道整合、业务逻辑编排和业务交付管理的功能。
[0010] 虽然上述三个典型的电信业务支撑平台产品都能满足电信领域的业务支撑要求,然而,从三网融合角度来讲,这三个平台都仅仅提供了对电信业务的支持,不能兼容广电网业务和互联网业务;从平台能力的角度来讲,这三个平台都不具备云平台所带来的业务提供商按需租用网络设备与动态伸缩所需资源,从而提高设备利用率的优势,依然不能解决前文所述的电信领域业务支撑技术所遇到的问题。
[0011] 随着互联网领域的飞速发展,云计算技术凭借其按需服务、灵活可扩展、高可靠性、价格低廉等特点,受到了业界的广泛关注。接入“云”的使用者可以获得比本地资源高得多的计算能力,还可以根据实际需求灵活地更改其订购的云计算能力。由于服务在云端,且云端提供了高可靠性保障,使用者无需在本地进行任何维护操作,能够显著节省硬件投资和维护的大量成本。
[0012] 云平台,或称为平台即服务(PaaS,Platform as a Service),作为云计算提供服务的方式之一,可以被认为是整个云计算系统的核心,它提供了互联网业务的开发、部署和运行的环境。业务开发者可以将自己开发的业务发布到云平台上进行业务调试与运营,且在该过程中,平台提供业务所需要的一切资源,用户完全不需担心如何管理这些资源。目前,云平台产品比较成熟的有:Google的Google App Engine,Microsoft的Azure和Apache的Hadoop等。
[0013] Google App Engine实质是一个由应用服务器群、BigTable结构化数据分布存储系统和GFS数据存储服务组成的平台,它向开发者提供了一组应用程序接口,开发者使用Python或java编程语言编写Web应用程序,并在程序中使用这些接口来访问Google提供的空间、数据库存储、e-mail和memcache等服务。
[0014] Windows Azure Platform是一个运行在微软数据中心的云计算平台,它包括一个云计算操作系统和一个为开发者提供的服务集合。开发人员创建的应用既能够直接运行于该平台,也可以使用该云计算平台提供的服务。Windows Azure platform包括Windows Azure、SQL Azure和Windows Azure platform AppFabric。
[0015] Hadoop主要实现了GFS的思想和MapReduce模型,作为一个开源的软件平台,Hadoop使得编写和运行处理海量数据的应用程序更加容易。Hadoop主要包括三个部分:Hadoop分布式文件系统(HDFS)、MapReduce实现及HBase(Google Bigtable的实现)。HDFS在存储数据时,将文件按照设定大小的数据块进行切分,各个块分布在集群中的各个节点。
为了保证可靠性,HDFS会根据配置为数据块创建多个副本,并分别放置于集群的计算节点。
MapReduce将应用分成多个小任务去执行,每个小任务只处理该计算节点本地存储的数据块。
[0016] 虽然以上几种云平台产品都各有其优点,但是,它们都仅仅面向互联网业务,这就使得其提供的云计算很难推广到融合网络。以融合网络中的电信网络为例,分析其存在的瓶颈原因主要在于:
[0017] (1)从网络协议方面来说,互联网主要采用HTTP协议,比较简单;电信网的通信协议数量多和比较复杂,而且,各个协议的定义与HTTP完全不同。
[0018] (2)从网络会话模型来说,互联网业务主要是无状态的非会话型业务;电信网业务既包含有状态的会话型业务(例如呼叫类业务),也包含非会话型业务(例如短信类业务)。由于会话型业务具有状态性,其处理方式要比非会话型业务更加复杂。面向互联网的云平台因其不能支持基本电信协议,也不能满足电信业务特有的呼叫会话的维护需求,因此不能适用于电信网络。
[0019] 对于融合网络中的其他网络,也有类似的情况。因此,现有的各种云平台并不适用于融合网络。
[0020] 中国专利申请(CN200710002988.5)提出了一种基于多网络融合的支持多种业务的通用业务平台,该通用业务主要包括:业务接入单元,连接于各网络运营商的通信网络,用于接入各种通信业务,提供协议支持并与消息处理单元进行数据交互;消息处理单元,接受业务接入单元的业务请求,判断请求的类型,调用业务引擎单元中的业务实例和接收业务引擎单元发送的业务指令,并转发至业务接入单元;业务引擎单元,用于向各通信业务提供运行支持,根据消息处理单元发送的业务调用请求而执行业务,根据执行结果触发新业务请求,并将新请求返回至消息处理单元;管理单元,分别连接于上述各单元,并完成对其的协调管理。虽然该专利申请所提供的通用业务平台能够提供多种网络接入协议,以支撑异构网络运营商的不同业务;然而,它不能提供云平台所具有的设备租用、按需购买计算资源和根据业务负载动态改变调整资源的能力,不能解决传统电信业务支撑平台所固有的缺点。
[0021] 因此,现有技术至今尚未解决能够支持融合网络业务的工作平台,这也成为业内科技人员关注的焦点课题。

发明内容

[0022] 有鉴于此,本发明的目的是克服现有技术的互联网云平台和传统电信业务支撑平台的不足,提供一种支持融合网络业务的云平台及其工作方法,该云平台是以按需租用平台资源的方式向平台用户(包括三网运营商或业务提供商等)提供业务部署与运营能力,并支持平台用户根据实际需求方便地对其所租用的资源进行动态增减,同时本发明的云平台能够提供对三网资源的访问能力,为平台用户开发和运营融合网络业务提供方便。
[0023] 为了达到上述发明目的,本发明提供了一种支持融合网络业务的云平台,其特征在于:所述云平台是通过三网运营商各自提供的三个核心网络与相应的不同通信协议,分别连接电信网、互联网和广电网的三个接入网;该云平台内设有包括CPU、硬盘、内存、带宽和通信协议的多种硬件与软件资源,以供其他各个网络运营商及业务提供商根据各自需要而租用这些资源来部署和运营各自的业务;该云平台采用分层结构,自上向下分别设有平台管理层、业务执行层、资源虚拟化与管理层和硬件资源层,各层之间的交互方式采用上层模块以接口调用的形式使用下层模块提供的功能;各层分别设有下述功能模块:
[0024] 云平台管理模块,位于平台管理层、提供该平台的管理与操作功能的该模块,用于向平台管理员及平台用户提供访问接口,设有平台用户管理、业务管理、资源调度与分配、计费四个单元并分别提供相应功能;该模块使用云平台资源池提供的数据存储能力,将平台用户的注册信息及其订购资源的相关信息、业务所属平台用户及业务状态、业务引擎实例数的信息与该平台的包括服务节点信息、平台日志与告警的信息都分布式存储在底层数据存储服务器的各个资源节点中;
[0025] 业务执行模块,位于业务执行层的该云平台的业务执行核心部件,设有代表设定资源能力的、实质由多个虚拟机组成的逻辑实体的多个业务执行空间,以及负责保存与管理业务执行空间的业务执行空间管理模块;该业务执行模块使用云平台资源池提供的虚拟化硬件资源,响应平台用户的资源订购请求,为不同平台用户分别划分具有不同资源能力的多个业务执行空间,并使每个执行空间的资源能力与平台用户订购的资源能力相匹配;
[0026] 云平台资源池,位于资源虚拟化与管理层,作为支持云平台运作的关键组件,该模块设有资源访问管理单元、数据存储管理单元、资源虚拟化单元和资源接入管理单元;该模块向下提供大量服务器硬件的接入,并对接入的硬件资源虚拟化后进行维护管理,以供上层模块调用;虚拟化后的资源分为两类:包括CPU资源、内存资源和带宽资源的计算资源与硬盘数据库的存储资源;
[0027] 由数量众多的底层物理服务器组成的计算服务器资源与数据存储服务器资源,位于硬件资源层,为云平台提供最基础的硬件资源支持;通过在这些底层物理服务器上运行资源代理程序,使得该底层物理服务器成为计算服务器资源或数据存储服务器资源,再藉由将该底层物理服务器作为计算资源和数据存储资源向上层云平台的资源池接入管理单元注册,就能够向上层模块提供访问本地资源的能力。
[0028] 为了达到上述发明目的,本发明还提供了一种支持融合网络业务的云平台的工作方法,其特征在于:包括下列操作步骤:
[0029] (1)云平台的部署和启动:采用多服务器集群分布式结构部署云平台后,再按照由该云平台架构组件的底层到上层的顺序启动云平台;该步骤(1)包括下列操作内容:
[0030] (11)先在部分服务器上启动和运行云平台资源池的服务程序,使得该部分服务器组成云平台资源池服务器集群,再让该云平台资源池服务器集群开放资源池资源的接入接口,等待底层硬件资源的接入;
[0031] (12)在跨地域、跨机房和跨机架的三种层次上选取大量的物理服务器并启动和运行底层资源服务程序,使得这些物理服务器组成底层资源服务器集群;如果底层资源服务器上运行计算资源代理程序,则作为计算资源服务器向资源池服务器注册接入;如果底层资源服务器上运行数据存储代理程序,则作为数据存储资源服务器注册接入;
[0032] (13)云平台资源池服务器集群对接入的底层资源服务器集群执行实时监控,并将接入的服务器能力进行虚拟化,以利于实现资源的动态调整,并作为云平台资源池中的虚拟资源提供给上层服务使用;因物理资源冗余存储并划分成小块的资源能力,能增加云平台的可用性和显著提高物理资源的利用率;
[0033] (14)在部分服务器上启动和运行业务执行与管理的服务程序,使得该部分服务器组成业务执行与管理服务器集群;该业务执行与管理服务器集群接入云平台资源池服务器集群后,获取该云平台自身使用的虚拟资源,再对包括系统数据的资源进行初始化;
[0034] (15)在部分服务器上启动和运行云平台管理的服务程序,使得该部分服务器作为云平台管理服务器集群,并分别连接业务执行与管理服务器集群和云平台资源池服务器集群后,进行相应的初始化;
[0035] (16)云平台运营商管理员对整个云平台系统进行初始配置操作后,向云平台用户开放访问接口,云平台启动结束;
[0036] (2)云平台执行平台用户注册、资源申请及新业务的加载部署:云平台启动后,接收到平台用户的注册和购买所需要的资源后,才根据平台用户订购的资源数量为平台用户创建其独有的虚拟业务执行空间,并为其创建包括业务执行引擎和负载均衡器的业务实例;该步骤(2)包括下列操作内容:
[0037] (21)包括业务提供商或网络运营商的云平台用户访问平台管理模块用户管理单元提供的用户注册功能,填写用户信息,完成注册;
[0038] (22)平台用户根据自己需求,向云平台的资源分配调度单元订购所需要的包括CPU资源、数据存储资源和网络带宽的各种云平台资源能力;
[0039] (23)资源分配调度单元向执行空间管理模块发出创建业务执行空间请求,执行空间管理模块向平台资源管理器申请平台用户所需要的虚拟资源,并在该资源基础上创建业务执行空间以及业务执行空间中的虚拟机实例;
[0040] (24)执行空间管理模块向平台资源管理器发送虚拟机文件备份请求,平台资源管理器根据冗余备份策略进行定期备份与同步;至此,云平台完成平台用户资源订购操作;
[0041] (25)平台用户访问平台管理模块的业务管理单元,上传要部署于云平台的业务;业务管理单元向执行空间管理模块发送业务加载请求;
[0042] (26)执行空间管理模块响应业务加载请求,创建相应数量的业务执行引擎实例,加载业务并返回加载成功响应;
[0043] (3)云平台根据平台用户指令,执行业务相关操作并动态调整资源:在平台用户使用云平台运营业务过程中,云平台根据业务实际需要,动态调整其使用的资源;该步骤(3)包括下列操作内容:
[0044] (31)云平台完成业务加载后,根据平台用户通过业务管理单元的业务生命周期管理接口发出的指令,执行业务激活、去激活或下线的操作;
[0045] (32)业务运行一段时间后,如果平台用户发现现有平台资源能力不足以支撑业务访问的负载或者需要减少租用的平台资源时,其登录资源分配调度单元重新订购资源,动态调整所需资源数量;
[0046] (33)资源分配调度单元向执行空间管理模块发出资源重新申请请求;执行空间管理模块向平台资源管理器申请调整后的资源,并更改原有业务执行空间的配置,调整虚拟机实例数和业务执行引擎实例数;至此,云平台根据平台用户请求完成资源动态调整;
[0047] (4)云平台支持融合网络业务的运行:注册和购买资源的平台用户上传业务并激活业务后,该业务就在云平台中处于激活运行状态,能够接受来自云平台外的各个运营商网络的业务请求;且在该业务运行过程中,云平台能够同时支持该业务所涉及的互联网、电信网和广电网的三种不同网络资源和相关协议;该步骤(4)在处理网络上报的业务请求或由业务自身发起的业务请求时,包括下列操作内容:
[0048] (41)业务请求到达负载均衡器,根据业务触发策略,业务请求被负载均衡器转发至具体的业务执行引擎实例;
[0049] (42)业务执行引擎实例的相应协议栈适配器接收到转发来的业务请求,对该业务请求进行解析处理后,封装成平台内部消息事件,根据业务对资源的订阅关系,将该内部消息事件发送到相应的业务实例管理单元;
[0050] (43)业务实例管理单元根据消息事件中的会话标识,查找与其相对应的业务实例,如果找到,则将该消息事件发送至该业务实例进行业务处理,否则将创建新的业务实例并与消息事件中的会话标识一起保存到业务实例管理单元自身的业务实例映射列表中;
[0051] (44)消息事件被发送至相应业务实例的事件队列中,该业务实例被封装成Task放入业务执行引擎中的任务执行队列中进行处理,对于无状态的业务,业务处理完毕后,业务实例将通知业务实例管理单元从业务实例映射列表中删掉该业务实例及其相应的会话标识;对于有状态的业务,业务实例将依旧保存在业务实例映射列表中,等待后续业务请求;
[0052] (45)有状态业务的后续业务请求将直接发送到相应业务执行引擎的相应协议栈适配器中,经过步骤(42),后续业务请求被解析成内部消息事件,发送到对应的业务实例管理单元,通过该事件中的会话标识,业务实例管理单元找到相应的业务实例进行相应业务处理;有状态的业务实例在处理完整个业务逻辑后,通知业务实例管理单元删掉业务实例本身及其会话标识映射;
[0053] (46)该业务的系统处理结果被传送至相应的协议栈适配器,发送到网络。
[0054] 与最接近的现有技术相比,本发明具有下述优点:本发明支持融合网络业务的云平台是一个提供统一业务部署与运营的平台,具有同时支持会话型业务和非会话型业务的执行机制,并提供了大量的三网领域的协议栈资源,使得三网融合业务能够同时在本平台中部署运营,改变了以往各个业务提供商(SP)将各自的设备接入网络运营商,从而分别提供各自业务的网络结构与业务提供模式,也克服了互联网云平台只能支持互联网业务的局限性。这样,一方面节约了业务提供商和网络运营商分别用于维护多个业务服务器的财力与人力成本;另一方面也简化了网络运营商对于业务提供商的管理,同时也使得业务的提供更加开放化,业务提供商不再需要拥有自己的设备就能够进行业务提供与运营,大大降低了业务提供门槛,有利于融合网络业务的创新与多样化。
[0055] 本发明支持融合网络业务的云平台充分利用虚拟化技术,将三网资源方便地提供给业务使用。平台用户可以租用平台环境进行业务运营,同时可以根据自身需要来租用和定制资源能力,使得提供的业务具有弹性可伸缩功能,满足按需服务的要求,既提高了设备利用率,也使得单个业务能够获得更高的服务器性能。相比传统的电信业务支撑平台,本发明采用虚拟化技术的云平台,还采用分布式业务提供与数据存储,采用跨节点、跨机架、跨机房等不同粒度的冗余机制,避免了单节点提供业务及单节点数据存储所带来的服务宕机及数据丢失的隐患,从而既保证业务平台和平台上运行的业务的高可靠性,。不仅通过分布式技术提高了,还使得业务提供商的管理变得简单,解决了电信应用服务器存在的利用率不高,资源不能灵活调整的缺点。
[0056] 本发明的技术创新点是:提出一个支持融合网络业务的云平台,改变了以往业务提供商提供业务的网络结构与服务提供的方式,采用按需租用平台资源的形式部署和运营各业务提供商的业务。在资源管理上,该云平台向业务提供可灵活配置资源的功能,既提高了服务能力上限,又大大提高了设备的利用率。该云平台能够提供互联网、电信网及广电网领域的丰富的协议栈资源,方便开发融合网络业务。另外,该平台采用云数据存储,对用户屏蔽数据库的底层细节,跨域冗余备份数据文件,具有高可用性和高安全性,能够保证业务持久稳定运行。该平台还具有会话管理能力,提供对有状态的融合网络业务的支持。总之,本发明具有很好的推广应用前景。

附图说明

[0057] 图1是本发明支持融合网络业务的云平台的网络位置示意图。
[0058] 图2是本发明支持融合网络业务的云平台的整体架构组成示意图。
[0059] 图3是本发明云平台的业务执行空间结构组成示意图。
[0060] 图4是本发明云平台的业务执行引擎分层结构组成示意图。
[0061] 图5是本发明支持融合网络业务的云平台的工作方法操作步骤流程图。
[0062] 图6是本发明云平台工作方法中的云平台部署实施例示意图。
[0063] 图7是本发明云平台工作方法中的新平台用户进行用户注册、资源订购、业务操作时序交互图。
[0064] 图8是本发明云平台工作方法中的平台用户进行动态资源调整的交互图。
[0065] 图9是本发明云平台工作方法中第三方呼叫业务的实施例子流程示意图。
[0066] 图10是本发明云平台工作方法中的业务执行引擎处理Http请求的示意图。
[0067] 图11是本发明云平台工作方法中业务执行引擎处理WebService请求的示意图。
[0068] 图12是本发明云平台工作方法中的业务执行引擎处理SIP消息(INVITE)的示意图。

具体实施方式

[0069] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
[0070] 参见图1,介绍本发明支持融合网络业务的云平台部署在网络系统中的位置和结构:在电信、互联、广电的三个接入网基础上,通过三网运营商分别提供的各自的核心网络与相应的通信协议,向上连接到融合网络业务云平台。其他的网络运营商或业务提供商都要根各自需要租用云平台的业务执行引擎资源来部署和运营各自领域的业务,云平台提供商则负责对云平台进行管理维护。
[0071] 参见图2,具体介绍本发明支持融合网络电信业务的云平台整体组成架构。图中的单向箭头表示接口调用,双向箭头表示数据读写,四角为圆弧的矩形表示虚拟空间,四角为直角的矩形表示模块或单元。
[0072] 本发明云平台是通过三网运营商各自提供的三个核心网络与相应的各自通信协议,分别连接电信网、互联网和广电网的三个接入网;该云平台内设有包括CPU、硬盘、内存、带宽和通信协议的多种硬件与软件资源,以供其他各个网络运营商及业务提供商根据各自需要而租用这些资源来部署和运营各自的业务。该云平台采用分层结构,自底向上分别为硬件资源层、资源虚拟化与管理层、业务执行层及平台管理层。层与层之间的交互关系为,上层模块以接口调用的形式使用下层模块提供的功能。各层分别设有下述功能模块:
[0073] 位于平台管理层的云平台管理模块01,提供该平台的管理与操作功能,该模块用于向平台管理员及平台用户提供访问接口,设有平台用户管理、业务管理、资源调度与分配、计费四个单元并分别提供相应功能。该模块使用云平台资源池03提供的数据存储能力,将平台用户的注册信息及其订购资源的相关信息、业务所属平台用户及业务状态、业务引擎实例数的信息与该平台的包括服务节点信息、平台日志与告警的信息都分布式存储在底层数据存储服务器的各个资源节点05中。下面具体介绍云平台管理模块01中的四个单元结构与功能:
[0074] 用户管理单元011,负责提供包括平台用户的注册与登录、平台用户基本信息的管理和平台用户权限分配的功能。平台用户接入后,必须先进行注册来申请云平台使用权限。用户注册信息则通过云平台资源池03提供的云存储能力,存储于底层数据存储服务器的资源节点05中。
[0075] 业务管理单元012,用于提供对业务的生命周期管理及相关配置功能,平台用户在对自己的业务执行包括加载、试运行、激活、去激活及下线等各项业务操作时,可以通过为其业务设定执行引擎的实例数来确定业务的最大并发能力。该单元是调用业务执行空间管理模块021的相关接口来支持上述各项业务操作。
[0076] 资源调度分配单元013,负责提供和配置平台用户的所需资源。平台用户通过资源订购,确定其所需要的CPU数、内存数、硬盘容量和网络带宽等硬件资源。业务执行模块02可以根据用户的订购资源情况为其维护一个业务执行空间。
[0077] 计费单元014,用于完成对平台用户、即网络运营商和业务提供商的计费功能。该模块根据用户申请的资源数量多少及所用时间而产生用户的计费账单,并存储于云平台资源池03提供的存储资源。
[0078] 位于业务执行层的业务执行模块02是云平台的业务执行核心部件,设有代表设定资源能力的、实质由多个虚拟机组成的逻辑实体的多个业务执行空间,以及负责保存与管理业务执行空间的业务执行空间管理模块。该模块使用云平台资源池03提供的虚拟化硬件资源,响应平台用户的资源订购请求,为不同平台用户分别划分具有不同资源能力的多个业务执行空间022,并使每个执行空间的资源能力与平台用户订购的资源能力相匹配。代表一定资源能力的业务执行空间是逻辑实体,它是由业务执行空间管理模块021进行保存与管理。业务执行空间实际上由若干个虚拟机组成,其内部结构在图3中详细说明。
[0079] 位于资源虚拟化与管理层的云平台资源池03是支持云平台运作的关键组件。该模块向下提供大量服务器硬件的接入,并对接入的硬件资源虚拟化后进行维护管理,以供上层模块调用。虚拟化后的资源分为两类:计算资源(包括CPU资源、内存资源和带宽资源等)和存储资源(硬盘数据库)。该模块设有资源访问管理单元031、数据存储管理单元032、资源虚拟化单元033和资源接入管理单元034。下面具体说明这四个单元的组成结构及其功能:
[0080] 所述云平台资源池中的资源访问管理单元、数据存储管理单元、资源虚拟化单元和资源接入管理单元的功能及结构是;
[0081] 资源接入管理单元034用于与各服务器之间采用后者向前者注册的形式建立连接;接入的服务器资源包括两类:计算服务器资源04和数据存储服务器资源05;该两类资源的区分只是逻辑上的,代表一定的计算或存储功能,不是物理概念上的,即同一台物理服务器主机既能够是计算服务器资源,又能够是数据存储服务器资源。该单元通过注册能获取访问服务器本地资源的能力,且接入的服务器资源与该单元相互收发心跳消息,以确保该单元对服务器节点运行状态执行实时监控。
[0082] 资源虚拟化单元033用于对资源接入管理单元034的资源进行虚拟化,通过对接入资源的描述和访问能力的封装,抽象成统一的云平台计算资源和数据存储资源,以方便资源的管理和上层接口对资源的使用。
[0083] 资源访问管理单元031用于响应业务执行空间管理模块发出的计算资源申请请求,分配虚拟化的计算资源。该模块采取冗余策略分配资源,将虚拟机文件保存于一个主地址和多个备份地址,若主地址的服务器工作异常时,备份地址的服务器运行虚拟机文件,确保服务不会因个别服务器发生问题而停止提供。
[0084] 数据存储管理单元032用于提供云平台的数据库云存储能力。该单元利用虚拟化的存储资源,响应平台的数据存储访问接口的请求,将数据库内容分块冗余保存和读取;该单元还保存每个分块数据的索引信息和写保护锁,确保数据能够成功读写,同时根据索引修改记录信息,定期对备份数据进行同步。
[0085] 由数量众多的底层物理服务器组成的计算服务器资源04与数据存储服务器资源05位于硬件资源层,为云平台提供最基础的硬件资源支持。通过在这些底层物理服务器上运行资源代理程序,可以使这些底层物理服务器成为计算服务器资源04或数据存储服务器资源05,再藉由将该底层物理服务器作为计算资源和数据存储资源向上层云平台的资源池接入管理单元034注册,就能够向上层模块提供访问本地资源的能力。
[0086] 参见图3,介绍本发明云平台中业务执行模块的业务执行空间的内部结构:
[0087] 每个业务执行空间中设有至少一个业务执行空间管理代理单元、一个负载均衡进程和多个业务执行引擎实例进程,其中负载均衡进程与业务执行引擎实例进程分别运行于各自的业务执行空间虚拟机中。其中,
[0088] 业务执行空间管理代理单元用作业务执行空间管理模块021的接口,该单元一方面要响应业务执行空间管理模块的命令请求,执行包括创建新的虚拟机与执行引擎实例,进行业务的加载激活等的生命周期管理操作,另一方面还要对空间内的负载均衡器和执行引擎实例进行动态监控,通过心跳机制判断各个进程的存活状态。一旦发现进程异常,及时重启进程,并向业务执行空间管理模块021产生告警日志。
[0089] 负载均衡进程是本发明云平台与运营商网络的连接门户,不同网络运营商提供的业务需要不同协议的支持,云平台支持不同网络中的多种协议,从而实现对不同网络业务的支持。当业务请求从运营商网络发送至负载均衡进程的开放端口时,根据该业务请求所触发的业务,将该业务请求转发给当前负载较轻的执行引擎实例。执行引擎实例是业务实例运行的实际容器,图4详细说明了其结构及方法。
[0090] 参见图4,具体介绍业务执行引擎的结构组成:从底向上依次为资源层、业务实例管理层、业务执行层和业务管理层,以及对各层执行监控的统计监控告警模块。其中,[0091] 资源层设有协议栈适配资源和数据存储访问接口资源。前者封装了电信网、互联网及广电网的多种协议栈适配器,例如HTTP、SIP、Parlay/ParlayX、Web Service、SMS、MMS、GIS、LBS和Mail等,用于解释各种协议事件并封装成内部消息事件,便于资源扩展与统一管理。后者提供数据库的增、删、改和查询的操作,以便调用云平台资源池中数据存储管理单元所提供的云存储能力。
[0092] 业务实例管理层的业务实例管理器,负责业务实例的管理维护及业务资源的订阅维护,其特点是能够支持会话型业务;设有业务实例管理单元和资源订阅单元。业务实例管理单元用于对业务实例进行维护管理,它是通过维护业务执行引擎中存在的业务实例及其对应的业务会话标识映射,实现对有状态的会话型业务的支持;即每个业务的请求事件从底层协议栈适配器到来时,若业务实例管理单元中已经存有与该请求事件中的会话标识相应的业务实例,则将该新的请求事件转发到该业务实例所维护的事件队列中,并将该业务实例封装成一个处理任务TASK交给业务执行核心中的业务执行队列;否则,创建一个新的业务实例,且该新的业务实例及其业务会话标识映射将被成对地维护于业务实例管理单元中。每次完整的业务流程结束时,该业务实例会通知业务实例管理单元删除该业务实例本身及其业务会话标识映射。
[0093] 资源订阅模块用于维护业务与资源之间的订阅关系,各个资源实例与业务实例之间不都是一一对应的,有些资源,如SIP协议栈和web service协议栈的资源与业务之间是一对多的关系。业务在部署时,资源订阅单元根据业务配置文件中罗列的该业务所需的全部资源,进行业务与资源的映射,并在该业务到相应资源处进行注册的事件到达资源时,资源订阅单元通过查找订阅关系,将相关资源送达正确的业务实例。
[0094] 业务执行层的业务执行核心单元拥有一个任务执行队列,每个业务实例与一个内部事件作为一个任务被放入该任务执行队列中,等待执行线程的处理。业务执行引擎采用并发机制,确保各个引擎实例能够并发运行。心跳事件可以被封装成执行任务放入执行队列中。当执行线程处理该任务时,业务执行引擎通过产生并向业务执行空间管理模块发送相应的心跳消息。其好处是,每次心跳的发出都确保执行线程在正常工作,防止执行线程异常但依然能够发出心跳的情况发生;从而实现云平台对各引擎实例状态的实时监控,保证高容错性。
[0095] 业务管理层的业务容器设有业务管理单元、业务触发规则管理单元和引擎管理单元。每个业务被加载执行时,业务管理单元负责解析该业务的配置文件,执行业务的初始化操作;开发者提供的业务逻辑被编译成动态连接库,当执行引擎执行业务的一个实例时会链接该动态链接库。每个业务都有一套触发规则,用于判断是否被触发。业务触发规则管理单元用于存储和维护业务触发规则与业务的对应关系;每个业务被加载后,其业务触发规则会被电信体系中包括下一代网络NGN中的软交换实体及IP多媒体子系统IMS中的服务呼叫会话控制功能S-CSCF实体所获取。引擎管理单元用于提供包括Python和BPEL的各类脚本和包括JSP和ASP的网站语言执行引擎及其相应的管理接口,这些网站语言执行引擎用于支持相应的业务,其中JSP引擎用于平台支持互联网JSP网页类业务。
[0096] 统计监控告警模块负责监视执行引擎的运行状态:统计各业务当前存活的业务实例数,并定期地将统计数据发送给业务执行空间管理代理单元;定期生成心跳事件,再封装成执行任务并加入执行引擎队首,使执行引擎定期发送心跳数据给业务执行空间管理代理单元而实现心跳机制;向执行引擎的各组成构件提供告警工具,发生异常时,将生成的告警信息传送至上级管理节点。
[0097] 参见图5,介绍本发明支持融合网络业务的云平台的工作方法,包括下列操作步骤:
[0098] 步骤1,云平台的部署和启动:采用多服务器集群分布式结构部署云平台后,再按照由该云平台架构组件的底层到上层的顺序启动云平台。
[0099] 步骤2,云平台执行平台用户注册、资源申请及新业务的加载部署:云平台启动后,接收到平台用户的注册和购买所需要的资源后,才根据平台用户订购的资源数量为平台用户创建其独有的虚拟业务执行空间,并为其创建包括业务执行引擎和负载均衡器的业务实例。
[0100] 步骤3,云平台根据平台用户指令,执行业务相关操作并动态调整资源:在平台用户使用云平台运营业务过程中,云平台根据业务实际需要,动态调整其使用的资源。
[0101] 步骤4,云平台支持融合网络业务的运行:注册和购买资源的平台用户上传业务并激活业务后,该业务就在云平台中处于激活运行状态,能够接受来自云平台外的各个运营商网络的业务请求;且在该业务运行过程中,云平台能够同时支持该业务所涉及的互联网、电信网和广电网的三种不同网络资源和相关协议。
[0102] 下面结合本发明实施例(云平台业务执行引擎支持电信网多个sip业务多实例),以时间先后的基本顺序,详细说明本发明云平台的上述步骤的具体方法:
[0103] 先参见图6的云平台实施例的部署示意图,介绍步骤1、云平台的部署和启动:本发明云平台采用多服务器集群的分布式结构,它的部署和启动都是按照平台架构由底层到上层的顺序采取下述具体步骤完成的:
[0104] (11)先在部分服务器上启动和运行云平台资源池的服务程序,使得该部分服务器组成云平台资源池服务器集群,再让这些云平台资源池服务器集群开放资源池资源的接入接口,等待底层硬件资源的接入。
[0105] (12)在跨地域、跨机房和跨机架的三种层次上选取大量的物理服务器并启动和运行底层资源服务程序,使得这些物理服务器组成底层资源服务器集群。如果底层资源服务器上运行计算资源代理程序,则作为计算资源服务器向资源池服务器注册接入;如果底层资源服务器上运行数据存储代理程序,则作为数据存储资源服务器注册接入。
[0106] (13)云平台资源池服务器集群对接入的底层资源服务器集群执行实时监控,并将接入的服务器能力进行虚拟化,以利于实现资源的动态调整,并作为云平台资源池中的虚拟资源提供给上层服务使用。
[0107] 如图6所示,在底层分布的各个资源服务器中,物理资源被划分成小的资源块,用不同标号分别标识的各个小块分别代表为A、B、C、D四个云平台用户提供服务的物理资源,通过接入云平台资源池服务器集群,这些物理资源块被虚拟化并以整合的虚拟资源能力提供给用户。其中的虚拟资源分别用云平台资源池服务器集群中的A、B、C、D四个虚线框表示,其大小表示虚拟资源能力的大小,例如用户A所需要的云平台资源能力要大于其余三个用户。通过对物理资源的虚拟化,可以方便地实现资源的动态调整。同时,由于物理资源冗余存储,能够增加云平台的可用性;并将物理资源划分成小块的资源能力,也大大提高了物理资源的利用率。
[0108] (14)在部分服务器上启动和运行业务执行与管理的服务程序,使得该部分服务器组成业务执行与管理服务器集群。这些业务执行与管理服务器集群接入云平台资源池服务器集群后,获取该云平台自身使用的虚拟资源,再对包括系统数据的资源进行初始化。
[0109] (15)在部分服务器上启动和运行云平台管理的服务程序,使得该部分服务器作为云平台管理服务器集群,并分别连接业务执行与管理服务器集群和云平台资源池服务器集群后,进行相应的初始化。
[0110] (16)云平台运营商管理员对整个云平台系统进行初始配置操作,然后,向云平台用户开放访问接口,云平台启动结束。
[0111] 参见图7,介绍步骤2,云平台用户执行用户注册、资源申请和新业务加载:
[0112] 平台启动后,平台用户必须首先向平台注册,填入基本信息并购买所需要的资源,平台才会根据用户所订购的资源数量为用户创建其独有的虚拟执行空间,并为其初始创建平台执行引擎、负载均衡器等实例。该步骤包含较多的交互动作,故以图7所示的交互形式予以说明。
[0113] (21)云平台用户(包括业务提供商或网络运营商)登录访问平台管理模块的用户管理单元提供的用户注册页面,填写用户信息,完成注册。
[0114] (22)平台用户完成订购资源能力;根据自己需求,向云平台的资源分配调度单元订购所需的各种云平台资源能力(包括CPU资源、数据存储资源和网络带宽等等)。
[0115] (23)资源分配调度单元向执行空间管理模块发出创建业务执行空间请求,执行空间管理模块向平台资源管理器申请平台用户所需要的虚拟资源,并在该资源基础上创建业务执行空间以及业务执行空间中的虚拟机实例。
[0116] (24)执行空间管理模块向平台资源管理器发送虚拟机文件备份请求,平台资源管理器根据冗余备份策略进行定期备份与同步;至此,云平台完成平台用户资源订购操作。
[0117] (25)平台用户访问平台管理模块的业务管理单元,上传要部署于云平台的业务;业务管理单元向执行空间管理模块发送业务加载请求。
[0118] (26)执行空间管理模块响应业务加载请求,创建相应数量的业务执行引擎实例,加载业务并返回加载成功响应。
[0119] 参见图8,介绍云平台完成业务加载后,根据平台用户指令,执行业务相关操作并动态调整租用资源。该步骤包括下列操作内容:
[0120] (31)云平台完成业务加载后,根据平台用户通过业务管理单元的业务生命周期管理接口发出的指令,执行业务激活、去激活或下线的操作。
[0121] (32)业务运行一段时间后,如果平台用户发现现有平台资源能力不足以支撑业务访问的负载或者需要减少租用的平台资源时,其登录资源分配调度单元重新订购资源,动态调整所需资源数量。
[0122] (33)资源分配调度单元向执行空间管理模块发出资源重新申请请求;执行空间管理模块向平台资源管理器申请调整后的资源,并更改原有业务执行空间的配置,调整虚拟机实例数和业务执行引擎实例数;至此,云平台根据平台用户请求完成资源的动态调整。
[0123] 步骤4,云平台支持融合网络业务的运行:业务在云平台的业务执行引擎中被执行时,针对不同网络的业务,云平台所采用的协议栈适配器及相应的协议会有所不同;而且,根据不同网络业务的特点,云平台对业务状态的支持功能也有所不同;但是,它们基本上是相同的。例如,该步骤在处理网络上报的业务请求或由业务自身发起的业务请求时,都包括下列操作内容::
[0124] (41)业务请求到达负载均衡器,根据业务触发策略,业务请求被负载均衡器转发至具体的业务执行引擎实例。
[0125] (42)业务执行引擎实例的相应协议栈适配器接收到转发来的业务请求,对该业务请求进行解析处理后,封装成平台内部消息事件,根据业务对资源的订阅关系,将该内部消息事件发送到相应的业务实例管理单元。
[0126] (43)业务实例管理单元根据消息事件中的会话标识,查找与其相对应的业务实例,如果找到,则将该消息事件发送至该业务实例进行业务处理,否则将创建新的业务实例并与消息事件中的会话标识一起保存到业务实例管理单元自身的业务实例映射列表中。
[0127] (44)消息事件被发送至相应业务实例的事件队列中,该业务实例被封装成Task放入业务执行引擎中的任务执行队列中进行处理,对于无状态的业务,业务处理完毕后,业务实例将通知业务实例管理单元从业务实例映射中删掉该业务实例及其相应的会话标识;对于有状态的业务,业务实例将依旧保存在业务实例映射中,等待后续业务请求。
[0128] (45)有状态业务的后续业务请求将直接发送到相应业务执行引擎的相应协议栈适配器中,经过步骤(42),后续业务请求被解析成内部消息事件,发送到对应的业务实例管理单元,通过该事件中的会话标识,业务实例管理单元找到相应的业务实例进行相应业务处理;有状态的业务实例在处理完整个业务逻辑后,通知业务实例管理单元删掉业务实例本身及其会话标识映射。
[0129] (46)该业务的系统处理结果被传送至相应的协议栈适配器,发送到网络。
[0130] 最后,具体说明一个实施例:云平台运行融合网络的三方通话业务的实现流程。该业务能够完成:用户从互联网浏览器登录业务提供的网页进行点击拨号,实现手机终端A和有线数字电视终端B的视频通话。整个业务过程涉及到互联网终端、电信网终端和广电网终端,体现了本发明云平台对三种网络资源的支持。整个业务流程如图9所示:
[0131] 整个业务中,涉及到云平台对三种协议的支持,分别为HTTP协议、Soap协议和SIP协议。下文分别详细叙述其中的业务执行引擎如何支持三种协议。
[0132] 步骤A,当用户使用互联网浏览器进行业务拨号网页登录时,使用的是业务对HTTP协议的支持,由于使用不同语言开发网页需要相应的引擎来支持,该实施例的网页是使用JSP语言开发的。图10描述了业务引擎对用户从浏览器发出的HTTP请求的处理方法。
[0133] 参见图10,由于Http请求是无状态的,故在云平台业务执行引擎对中,业务实例每次随业务请求到来而被创建,随着业务请求处理完毕而被删除,不会被保存在业务实例管理单元中,具体流程说明如下:
[0134] (1)用户从浏览器登录业务网址,一条对于该网页的Http Get请求被发送到云平台中该业务相对应的负载均衡器中;
[0135] (2)负载均衡器选择目标业务执行引擎,并将收到的Http Get请求发送至目标地址;
[0136] (3)目标业务执行引擎的Http协议栈监听到新到来的Http Get请求后,将其封装成HttpEvent事件,根据业务资源订购信息,将HttpEvent事件发送至相应的业务实例管理单元;
[0137] (4)业务实例管理单元从业务实例与会话ID映射中查找与此HttpEvent事件中的会话ID向匹配的业务实例;
[0138] (5)由于找不到相应的业务实例,则请求业务容器创建新的业务实例;
[0139] (6)JSP引擎创建新的业务实例,将其维护在业务实例管理单元的业务实例与会话ID映射列表中;
[0140] (7)HttpEvent事件加入新业务实例的处理队列中,封装成Task进入云平台执行引擎的队列中等待被处理;
[0141] (8)新生成的Task被执行线程处理Jsp引擎内部提取HttpEvent的相关信息,生成HttpRequest,进行相应处理操作;
[0142] (9)Task被处理完毕后,生成HttpResponse交给Http协议栈;
[0143] (10)业务实例通知业务实例管理单元从业务实例与会话ID映射列表中将自己所在的映射删除;
[0144] (11)Http协议栈将收到的HttpResponse封装成Http响应消息,再发送至用户浏览器,从而使得网页内容呈现在用户面前。
[0145] 步骤B,经过上面的处理流程,用户打开拨号网页,输入视频通话双方呼叫地址,发送呼叫请求。该过程实际上是用户从浏览器发送了一个WebService调用请求到业务中。参见图11所展示的该云平台如何对web service提供的支持。
[0146] 平台通过开放Bpel业务开发接口,以供业务开发者开发Bpel业务,再由Bpel业务最终向网络提供WebService服务。每个Bpel业务实际上包含Bpel脚本逻辑和Bpel脚本引擎两个部分,Bpel脚本逻辑是被包含在Bpel脚本引擎中被执行的,如图10中业务容器中所示;Bpel脚本引擎作为业务的最外层向平台呈现。在本业务中,Bpel业务向外开放的WebService调用接口是接受网页点击呼叫请求,建立呼叫双方视频通话。
[0147] 每个WebService消息实际上是通过Http消息上承载Soap消息实现的,故本发明云平台对WebService消息的支持需要使用Http协议栈和Soap协议栈。具体流程说明如下:
[0148] (1)用户从点击呼叫网页输入呼叫双方地址,并点击呼叫。浏览器产生相应的Web Service请求。该请求通过Http协议承载被发送到云平台的负载均衡器;
[0149] (2)负载均衡器访问业务策略库,获取目标执行引擎的地址和端口;
[0150] (3)业务策略库向负载均衡器返回目标地址和端口;
[0151] (4)负载均衡器将Web Service请求转发到目标执行引擎的Http协议栈适配器。云平台的Http协议栈适配器包括了一个Http服务器和Web容器,容器中部署有Soap协议栈适配器。当Web Service请求被Http协议栈接收到后,能够提取出被承载在Http包中的Soap消息体交给Soap协议栈适配器做进一步解析;
[0152] (5)Soap协议栈适配器解析Soap消息体,封装成平台内部的Soap事件。由于互联网业务的调用多为无状态调用,然而为了支持少数有状态的互联网业务和云平台电信业务处理方法保持一致,Soap协议栈会给Soap事件赋予一个随机的会话Id,用于标识该Soap消息所处的会话。若Soap消息中带有会话Id,则用Soap消息中的会话Id代替随机赋予的Id。Soap事件被送至相应业务的呼叫实例管理器中;
[0153] (6)呼叫实例管理器在实例映射表中查找与Soap事件中会话Id匹配的呼叫实例;
[0154] (7)如果没有相应实例则调用业务容器产生呼叫实例的方法;
[0155] (8)业务容器产生相应Bpel业务的实例,并将业务实例与会话Id成对地保存在业务相对应的呼叫实例映射表中;
[0156] (9)新生成的呼叫实例被封装成执行引擎能够处理的执行任务TASK,生成的TASK被插入到执行引擎队列末尾;
[0157] (10)执行线程从引擎队列的队首获取TASK并执行;
[0158] (11)TASK逻辑中第三方呼叫逻辑调用Sip协议栈,向主被叫双方发送会话建立请求(注:第三方呼叫逻辑的SIP具体流程请参阅ParlayX相关标准,这里不做具体说明);
[0159] (12)TASK完成相关处理后,发送一条WebService响应到Soap协议栈,里面记录了此次呼叫的结果;
[0160] (13)Soap协议栈与Http协议栈协同工作,产生Http响应结果发送到用户浏览器。
[0161] 步骤C,业务执行引擎与呼叫双方进行Sip信令交互,建立视频呼叫。该过程中,虽然双方是电信网终端和广电网终端,但是,由于广电网终端(例如数字电视机顶盒)也是通过IP接入核心网并支持SIP协议,故与广电网终端(如SIP电话)没有本质上的不同,所以本部分内容仅说明云平台业务执行引擎如何支持SIP协议。
[0162] 又由于会话建立过程中涉及到多种SIP消息(包括请求和响应)的交互,而业务执行引擎对其处理机制没有区别,故在这里仅以业务执行引擎如何处理INVITE消息为例进行说明,参见图12,介绍业务执行引擎处理SIP消息的流程。
[0163] (1)用户侧的SIP终端或支持SIP协议的软件设备发出INVITE消息到负载均衡器;
[0164] (2)负载均衡器查询业务策略库;
[0165] (3)业务策略库返回响应,将请求转发到的目的业务执行引擎实例地址和端口;
[0166] (4)负载均衡器将该请求转发到目的地址;
[0167] (5)业务执行引擎实例的sip协议栈获取到INVITE消息,封装成平台内部事件-INVITE事件,通过业务触发规则定位到该事件属于哪项业务,并将该事件发送给注册到SIP适配器的业务实例管理器;
[0168] (6)当实例管理器接收到一个事件时,通常是提取事件中的会话ID,查询该ID与已存在的呼叫实例映射表去获取呼叫实例。对于本场景,INVITE消息是会话初始请求,实例管理器直接调用业务容器,请求产生新的呼叫实例;
[0169] (7)实例管理器调用业务容器的创建新实例方法;
[0170] (8)业务容器产生相应业务的新呼叫实例,返回给实例管理器,新实例被加入到会话ID与实例映射表中;
[0171] (9)INVITE事件传给新呼叫实例,该呼叫实例被封装成执行引擎能够处理的执行任务TASK,生成的TASK被插入到执行引擎队列末尾;
[0172] (10)执行引擎具有一个一直运转的执行线程,其从引擎队列队首获取TASK并执行。
[0173] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。