能力聚合开放的方法和系统的制作方法

文档序号:7893497阅读:210来源:国知局
专利名称:能力聚合开放的方法和系统的制作方法
技术领域
本发明涉及移动互联网领域,尤其涉及一种能力聚合开放的方法和系统。
背景技术
在当前通信行业大发展时代,终端趋向融合,内容和应用体验趋向一致,网络趋向融合,关注的重点领域由基础通信服务转向融合信息服务,从单纯的语音服务和大众化的数据应用转向多样化、综合化、智能化、个性化“应用”和“服务”的更高层次的服务,形式多样,涵盖面广,不仅能提供一种电信融合业务,而且可以满足人们的生活、娱乐等各方面的需要。在这种趋势之下,通信行业吸收了 Web2. 0的思想,强调个人和小团队作为企业开发者的重要补充,参与移动互联网融合大形势下的应用开发的重要性。普通个人用户从应用的使用者的角色,逐渐演变成参与者,为长尾效应提供大量的应用消费者的同时,也提供了大量的应用创造者。纵观整个历程,从webl. 0时代的门户网站新起,信息大爆炸,和随之而来的搜索引擎公司大行其道,到web2.0时代的社区、博客、C2C电子商务大行其道,开放、平等、分享、互动、创新成为其典型特征。web2.0持续发展到今天,互联网与移动终端完美的融合,将互联网延伸至随时随地,移动网络逐步走向IP化、融合化、开放化,并与互联网相互渗透,将互联网从电脑延伸至手机等移动终端以及电视,实现三屏融合,应用互通。同时,通道和应用实现了分离,从而导致在应用层面,平台从封闭走向开放,移动网络和互联网之间的围墙被推倒了。与此同时,S0A/S0C(面向服务的架构与计算技术)、云计算等各种概念和技术开始逐步涉足电信领域。现今能力开放系统采用同步或者异步的方式来处理每次新的调用,由于其仅仅是作为网关代理的功能,对客户端发过来的请求消息进行处理之后,无论是同步方式或者异步方式,最终都得向能力提供设备发起新的调用,无法对不同的能力类型进行针对性的预判,对符合条件的能力调用,自行生成此次服务响应消息,而必须向服务端(能力提供设备)请求服务响应消息。即对应用的每次请求,能力开放系统都要向能力提供设备发起一次请求。这种方式效率低,成本高,且在能力提供设备存在瓶颈的情况下,无法支撑应用超出能力提供设备所支撑的处理能力时的场景。

发明内容
本发明要解决的技术问题是提供一种能力聚合开放的方法和系统,以提高能力聚合开放系统对能力调用的响应效率。为解决上述技术问题,本发明提供了一种能力聚合开放系统,该系统包括能力开放模块,用于接收第三方发送的能力调用请求以及从控制模块接收并向第三方转发能力调用响应;
判断模块,用于根据配置的规则对接收的能力调用请求进行判断;控制模块,用于实现模块调用控制,包括调用所述判断模块,在所述能力调用请求的响应数据已缓存时,调用响应缓存模块获取缓存的相应能力调用响应,以及向所述能力开放模块返回调用模块得到的能力调用响应;响应缓存模块,用于根据所述控制模块的调用获取缓存的相应能力调用响应或缓存符合缓存条件的能力调用响应。进一步地,所述系统还包括能力调用处理模块,所述控制模块实现模块调用控制还包括在所述能力调用请求的响应数据未缓存且需要进一步处理时,调用能力调用处理模块;所述能力调用处理模块,用于根据所述控制模块的调用进行能力调用处理。 优选地,所述规则包括响应数据缓存条件,所述控制模块实现模块调用控制还包括若所述能力调用处理模块返回的能力调用响应符合所述响应数据缓存条件则调用所述响应缓存模块缓存所述能力调用响应;所述响应缓存模块,还用于根据所述控制模块的调用缓存符合缓存条件的能力调用响应进一步地,所述能力调用处理模块包括消息队列管理子模块、能力接入子模块以及一个或若干个消息队列,其中所述消息队列管理子模块,用于根据所述控制模块的调用将所述能力调用请求缓存入所述消息队列以及从相应消息队列中取出待处理的能力调用请求;所述能力接入子模块,用于根据当前待处理能力调用请求适配并调用相应的能力提供设备。优选地,所述消息队列具有队列属性,所述队列属性包括处理优先级、服务等级协议(SLA)级别或对应的能力类别,所述配置的规则还包括能力请求入队规则,所述控制模块根据所述能力请求入队规则调用所述消息队列管理子模块将所述能力调用请求缓存入相应队列属性的消息队列中。可选地,所述配置的规则还包括能力请求出队规则,所述控制模块根据所述能力请求出队规则调用所述消息队列管理子模块从相应消息队列中取出待处理的能力调用请求。所述能力请求出队规则包括出队的能力调用请求数量,该数量与对应的能力提供设备的流量能力成正比。优选地,所述响应缓存模块还用于在缓存的能力调用响应失效时,删除所述能力调用响应。进一步地,所述响应数据缓存条件包括以下条件之一响应数据对时间不敏感;响应数据在指定时间段内不敏感;响应数据对数据消费者不敏感。进一步地,所述系统还包括能力编排模块和外部功能调用模块,其中所述能力编排模块,用于对待调用能力以及相关的支撑功能进行逻辑编排,生成能力包,所述支撑功能包括鉴权、认证或计费;所述外部功能调用模块,用于根据所述控制模块的调用向支撑功能单元发起相应支撑功能处理请求;
所述控制模块,用于根据与所述能力开放模块接收的能力调用请求关联的能力包实现模块调用控制。所述能力编排模块,还用于对不同类型的两个或多个能力进行揉和(Mashup)生成综合能力,所述能力调用请求包括针对所述综合能力的能力调用请求;所述能力接入子模块调用生成所述综合能力的两个或多个能力对应的能力提供设备。可选地,所述控制模块,在所述能力调用请求不符合能力调用规则或策略时,还用于向所述能力开放模块返回表示能力调用失败的响应。
为解决上述技术问题,本发明还提供了一种能力聚合开放方法,该方法由能力聚合开放系统实现,该方法包括能力调用请求接收步骤,接收第三方发送的能力调用请求;能力调用请求判断步骤,根据配置的规则对接收的能力调用请求进行判断,判断所述能力调用请求的响应数据已缓存时,转执行缓存响应调用步骤;缓存响应调用步骤,获取缓存的能力调用响应,并转执行能力调用响应步骤;能力调用请求响应步骤,向所述第三方返回能力调用响应。进一步地,所述能力调用请求判断步骤中,若判断所述能力调用请求的响应数据未缓存且需要进一步处理时,执行能力调用步骤,获得能力调用响应,并转执行所述能力调用请求响应步骤。优选地,所述规则包括响应数据缓存条件,执行能力调用步骤后,该方法还包括响应缓存管理步骤,判断获得的能力调用响应是否符合响应数据缓存条件,符合响应数据缓存条件时,缓存获得的能力调用响应。进一步地,所述能力聚合开放系统包括一个或若干个消息队列,所述能力调用步骤包括入队步骤,将所述能力调用请求缓存入所述消息队列;出队步骤,从相应消息队列中取出待处理的能力调用请求;调用步骤,根据当前待处理能力调用请求适配并调用相应的能力提供设备。本发明实施例方法和系统,通过对缓存的能力调用响应的利用,可以降低应用调用电信网络能力、IT网络能力和数据库内容信息能力的难度,提高效率,还可以最大化的聚合、开放电信网络能力、IT网络能力和数据库内容信息能力,并且通过消息队列和SLA(Service-Level Agreement,服务等级协议)策略机制,将聚合开放的管道智能化,发挥电信网络能力的最大价值,并进一步聚合IT网络能力和数据库内容信息能力,将单一能力与其他类型能力进行Mashup,提供不同粒度的能力开放,对现有能力进行二次增值。同时,应用在向最终用户提供服务的同时,也可以将应用本身进行封装,接入到本系统,本系统将以Web service/Rest协议将应用也作为基础能力进行开放,供其他应用调用,提高了应用的可重用性,极大的提升了开发效率,同时为应用创造了更多的价值。更重要的是,本系统采用云计算技术,解决能力开放过程中所面临的存储瓶颈、性能瓶颈、容灾备份、服务质量和安全性的问题,同时降低了能耗,绿色环保。其中引入云计算技术的分布式存储技术,可以使能力开放系统对客户端此前通过能力开放系统向能力提供设备获得的服务响应消息进行存储,以便该客户端或其他客户端在有效的时间内再次进行服务请求时,能力开放系统无需再次向能力提供设备发起新的调用请求,而由能力开放系统从自己存储的服务信息中查询并返回响应。由于这类服务响应消息可以是结构化数据或者是非结构化数据,一致传统的存储方式在存储容量、存储可扩展性上以及性能上都存在缺陷,通过分布式存储技术可以有效地解决上述问题。与此同时,分布式存储技术本身具体云计算的基本特征,具备容灾、安全性、低能耗,绿色环保的特点。



图I为本发明实施例能力聚合开放系统的模块结构示意图;图2为本发明能力聚合开放系统与周边系统的关系示意图的关系图。图3为本发明实施例能力聚合开放方法的流程示意图;图4为本发明新接入能力配置的流程示意图;图5为结合图I中模块的能力聚合开放方法的流程示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本发明所说的能力是指实现同一个功能时涉及多个API (ApplicationProgramming Interface,应用程序编程接口),比如google提供地图能力(要使用google的地图,需要用到地图的多个API,业界为了形象化并简化说明,将实现同一个功能时涉及多个API统称为一个能力。),本发明所说的系统可将google的地图能力、天气预报能力等集成(也称为接入)进来,开放给外部第三方(如应用)调用。实施例I本实施例描述基于云计算技术的能力聚合开放系统,如图I所示,包括能力编排模块、规则配置模块、能力开放模块、控制模块、判断模块、能力调用模块、响应缓存模块、夕卜部功能调用模块,这8个模块共同配合完成能力聚合和开放,其中能力编排模块,该能力编排模块可选,用于提供新能力的接入前的开发和逻辑编排,将所需要的控制和处理逻辑编排到整个能力包中。同时,优选地,该能力编排模块还提供对不同类型的能力进行揉和(Mashup),创造出具有新功能的、不同粒度的能力。对不同能力的mashup是指,对2个或2个以上的能力,按照应用场景使用时的需要,将这2个或多个能力,进行二次开发(即所谓的mashup),然后创造出一个综合能力(这个综合能力内部还包含了两个或多个能力),应用向系统调用时只需要调用一次,而不需要先后2次或多次调用能力,可理解地,该系统向能力提供设备调用时,需要调用生成该综合能力的两个或多个能力对应的能力提供设备。本发明中,本系统根据应用调用能力(一个或多个API)时,为了同时协调其他支撑功能单元(如鉴权、认证或计费),将相关的支撑功能的调用处理集成到该能力API调用的整体流程中,能力编排模块对待调用能力以及相关的支撑功能进行逻辑编排,为能力增加了的逻辑形成增强的能力,就是能力包。若能力调用过程中,若要进行认证和计费,涉及到与运营商现网的BSS/0SS系统交互,这种交互流程和逻辑也是通过能力编排模块,实现将要交互的逻辑编排到能力包中。规则配置模块,该规则配置模块可选,用于提供能力开放时的规则设置,实现能力在使用过程中附加的控制功能。本发明所说的规则包括第三方调用能力限制规则、响应数据缓存条件、能力请求A队规则、能力请求出队规则等,其中,第三方(如应用)调用能力限制规则可以包括以下一条或多条I、对每个应用调用能力 的流量大小限制规则;2、每个应用调用能力的消息总量限制规则;3、每个应用所能服务的地区;4、每个应用调用能力时的时间段(比如周末不允许使用或某段休息时间不许使用或只有在某个特定的时间可以使用);5、某个应用调用某能力时,只能提供给某些特定的用户使用等等;响应数据缓存条件包括响应数据对时间不敏感;响应数据在指定时间段内不敏感;或响应数据对数据消费者不敏感。能力开放模块,负责将系统已接入的能力(例如电信网络能力、IT网络能力或数据库内容信息能力),提供不同协议接口(如Web service、Restful或Native),统一开放给第三方应用,并且可动态接入新的能力和动态卸载已接入的能力。本发明所说的动态是指各个能力相互独立,将新的能力接入(集成)本系统或者从本系统卸载时,不需要将本系统暂停,不会影响现有的其他能力的开放。具体地,能力开放模块,用于接收第三方发送的能力调用请求以及从能力接收模块接收并向第三方转发能力调用响应;优选地,所述能力开放模块包括若干个协议接口,以与不同协议类型的第三方交互。所述能力包括电信网络能力、互联网能力、信息技术(IT)能力、物联网能力或数据信息能力。控制模块,用于根据与所述能力开放模块接收的能力调用请求关联的能力包实现模块调用控制,包括调用判断模块,在所述能力调用请求的响应数据已缓存时,调用响应缓存模块获取缓存的相应能力调用响应,在所述能力调用请求的响应数据未缓存且需要进一步处理时,调用能力调用处理模块;以及向所述能力开放模块返回调用模块得到的能力调用响应,若所述能力调用处理模块返回的能力调用响应符合所述响应数据缓存条件则调用所述响应缓存模块缓存所述能力调用响应;判断模块,用于根据配置的规则对接收的能力调用请求进行判断,以判断是从响应缓存模块中获取服务响应消息,还是向能力接收模块发起调用请求。所述规则包括响应数据缓存条件;优选地,所述控制模块,在所述能力调用请求不符合能力调用规则或策略时,还用于向所述能力开放模块返回表示能力调用失败的响应。响应缓存模块,用于缓存符合缓存条件的能力调用响应,以及根据所述控制模块的调用获取缓存的相应能力调用响应或缓存符合缓存条件的能力调用响应;响应缓存模块通过采用这种分布式缓存技术,将需要缓存的数据,分布存放在多个存储节点上,如将同一份数据存放在3个存储节点上,解决了现有能力开放系统中数据缓存时读写性能提升慢、不能有效地确保数据丢失、不能热加载的方式进行扩容的问题。
响应缓存模块通过协调,实现多个存储节点中的master节点的选举和slave节点的管理,协调各个存储节点接收对消息的缓存。通过配置的方式,对是否需要存入响应缓存模块的能力调用响应数据进行定义,只有符合配置的能力调用响应数据,方可以缓存到响应缓存模块。配置的原则有响应数据对时间不敏感或者在指定时间内不敏感;响应数据对不同的数据消费者不敏感。优选地,所述响应缓存模块还用于在缓存的能力调用响应失效时,删除所述能力调用响应。保存在缓存空间中的数据,在存放时,都携带了有效期属性,当有效期到时,需求自动失效,由响应缓存模块的定时任务自动清除已失效的历史数据。能力调用处理模块,用于根据所述控制模块的调用进行能力调用处理。所述能力调用处理模块包括消息队列管理子模块、能力接入子模块以及一个或若干个消息队列,其中所述消息队列管理子模块,用于根据所述控制模块的调用将所述能力调用请求缓存入所述消息队列以及从相应消息队列中取出待处理的能力调用请求;能力接入子模块,用于根据当前待处理能力调用请求适配并调用相应的能力提供设备。所述消息队列具有队列属性,所述队列属性包括处理优先级、服务等级协议(SLA)级别或对应的能力类别,所述配置的规则还包括能力请求入队规则,所述控制模块根据所述能力请求入队规则调用所述消息队列管理子模块将所述能力调用请求缓存入相应队列属性的消息队列中。将队列进行分组,每一个分组即为一个队列池,每个队列池拥有特定的队列属性(比如对应的能力和优先级类型),用于区分不同的队列池。具体地,将不同的消息,通过计算其SLA策略和优先级规则,确定每个需要保存在队列中的消息的级别,并且结合每个队列池的属性,得出每个消息的归属队列池,进行入队。所述配置的规则还包括能力请求出队规则,所述控制模块根据所述能力请求出队规则调用所述消息队列管理子模块从相应消息队列中取出待处理的能力调用请求。所述能力请求出队规则包括出队的能力调用请求数量,该数量与对应的能力提供设备的流量能力成正比。控制模块采用分级多队列池机制根据能力提供设备的流量处理能力对能力请求的出队和入队进行管理,确保队列中的消息有序管理和高效入队和出队。外部功能调用模块,用于根据所述控制模块的调用向支撑功能单元发起相应支撑功能处理请求。本系统通过部署在虚拟化环境上,与系统外部的云计算管理单元配合,实现计算资源和存储资源的弹性可伸缩。云计算管理单元将实时监控本系统所在虚拟机上的物理资源(CPU、内存等)消耗情况,当虚拟机物力资源消耗百分比超过所设定的一个最高阀值,云计算管理单元将为本系统调度新的资源(即“伸”)生成新的虚拟机,分担系统所在的现有虚拟机的流量负荷。当云计算管理单元将实时监控本系统所在的一些列虚拟机上,物力资源消耗百分比低于所设定的一个最低阀值,则销毁一个虚拟机或多个虚拟机,使系统所在的各虚拟机的物理资源消耗情况处在既不浪费,又能支撑应用的范围内。图2为上述能力聚合开放系统与周边系统的关系示意图。能力聚合开放系统南向接入各种能力提供设备提供的能力,进行复 杂协议的抽象,向北向的移动、互联网应用进行能力开放。同时与东向的业务交付管理系统进行合作伙伴、应用相关的鉴权和计费请求消息的交互。本发明系统将电信网络能力、互联网能力、IT能力、数据信息能力进行聚合,统一接入,然后进行抽象;将接入的能力,通过不同协议接口(Web service/Restful/Native)开放给应用侧,供应用侧进行选择调用,并且对应用侧在调用时进行管控,同时提供高速数据缓存能力,并且可以在线扩展缓存空间,缓存能力调用数据,可极大提高对应用侧响应的效率,避免了现有能力开放相关的产品在每次接收到应用的能力调用申请时,都需要向能力提供设备进行调用请求的问题,解决了现有产品方案中能力开放吞吐量的瓶颈,解决能力提供设备吞吐量的瓶颈;提供能力队列和灵活的SLA及队列服务机制,解决了现有产品方案中无法为不同合作伙伴的应用提供个性化的服务级别控制的问题,通过提供这种精细化服务,达到将能力开放方式由粗放型,提升到智能型开放,并进一步通过云计算技术,基于虚拟化和分布式架构,实现本系统的计算资源和存储资源的弹性可伸缩性,解决了现有产品方案中无法同时满足最小硬件投资、最小能耗,和满足支撑峰值流量的要求。使用本系统,将为应用侧提供一个巨大的、丰富多样的能力的能力资源池,并且成为具有极强的商用和盈利价值的能力开放平台。实施例2本发明能力聚合开放方法由能力聚合开放系统实现,如图3所示,该方法包括步骤101 :能力调用请求接收步骤,接收第三方发送的能力调用请求;具体地,该步骤由能力开放模块实现,所述系统包括若干个协议接口,以与不同协议类型的第三方交互。步骤102 :能力调用请求判断步骤,根据配置的规则对接收的能力调用请求进行判断,所述规则包括响应数据缓存条件,判断所述能力调用请求的响应数据已缓存时,转执行缓存响应调用步骤;判断所述能力调用请求的响应数据未缓存且需要进一步处理时,执行能力调用步骤;所述能力调用请求判断步骤由控制模块调用判断模块实现对能力调用请求的判断,在判断所述能力调用请求不符合能力调用规则或策略时,向所述第三方返回表示能力调用失败的响应。步骤103 :缓存响应调用步骤,获取缓存的能力调用响应,并转执行能力调用响应步骤; 该步骤由响应缓存模块根据控制模块的调用实现。步骤104 :能力调用步骤,执行能力调用,获得能力调用响应;步骤104由能力调用处理步骤根据控制模块的调用实现。所述能力聚合开放系统包括一个或若干个消息队列,所述能力调用步骤包括步骤1041 :入队步骤,将所述能力调用请求缓存入所述消息队列;
所述消息队列具有队列属性,所述队列属性包括处理优先级、服务等级协议(SLA)级别或对应的能力类别,所述配置的规则还包括能力请求入队规则,所述入队步骤中,根据所述能力请求入队规则将所述能力调用请求缓存入相应队列属性的消息队列中。步骤1042 :出队步骤,从相应消息队列中取出待处理的能力调用请求;所述配置的规则还包括能力请求出队规则,所述出队步骤中,根据所述能力请求出队规则从相应消息队列中取出待处理的能力调用请求;所述能力请求出队规则包括出队的能力调用请求数量,该数量与对应的能力提供设备的流量能力成正比。步骤1041和步骤1042由消息队列管理子模块实现。步骤1043 :调用步骤,根据当前待处理能力调用请求适配并调用相应的能力提供设备。
步骤1043由能力接入子模块实现。步骤105 :响应缓存管理步骤,判断获得的能力调用响应是否符合响应数据缓存条件,符合响应数据缓存条件时,缓存获得的能力调用响应;所述响应数据缓存条件包括以下条件之一响应数据对时间不敏感;响应数据在指定时间段内不敏感;响应数据对数据消费者不敏感。所述能力聚合开放系统在缓存的能力调用响应失效时,删除所述能力调用响应。步骤105由控制模块控制实现。步骤106 :能力调用请求响应步骤,向所述第三方返回能力调用响应。优选地,所述系统负责对待调用能力以及相关的支撑功能进行逻辑编排,生成能力包,所述支撑功能包括鉴权、认证或计费;所述能力调用步骤之前或之后,还包括外部功能调用步骤,根据与接收的能力调用请求关联的能力包向支撑功能单元发起相应支撑功能处理请求。如前所述,本发明所说的能力包括电信网络能力、互联网能力、信息技术(IT)能力、物联网能力或数据信息能力。实施例3本实施例描述新接入能力配置流程,如图4所示,包括步骤301,需新接入能力时,设置相应的规则,具体的规则包括第三方调用能力限制规则、响应数据缓存条件、能力请求入队规则、能力请求出队规则等;该步骤301可由规则配置模块实现。步骤302,进行新能力的接入前的开发和逻辑编排,将所需要的控制和处理逻辑、设置的规则编排到整个能力包中;比如,将需要调用判断模块的接口编排到能力包中,以便客户端在进行能力调用时,从流程上确保能调用判断模块,使得判断模块根据设置的规则进行判断;步骤303,数据同步,包括将配置规则到判断模块、控制模块和能力调用处理模块,以及将能力包同步到控制模块。实施例4本实施例结合具体的模块结果描述能力调用请求的处理流程,如图5所示,包括以下步骤步骤401,应用发起能力调用请求;
步骤402,能力开放模块接受应用的能力调用请求;步骤403,控制模块根据相应的能力包调用外部功能调用模块进行接入认证(密钥或者Token等的认证),确保是合法的应用发起的能力调用请求,然后向判断模块发送请求消息;步骤404,判断模块基于控制模块的调用根据配置的规则对能力调用请求进行判断,如果该 能力调用消息可以从响应缓存模块中直接调用,则控制模块调用响应缓存模块执行步骤406,如果需要进行流控排队,则控制模块调用能力调用处理模块执行步骤405 ;步骤405,能力调用处理模块的消息队列管理子模块根据入队规则将能力调用请求消息放入消息队列中,消息队列接收新入队的请求消息,并对原有对列中的请求消息进行排队管理,转执行步骤408;此流程分支基于流控原因,流控排队是指因为能力提供设备存在瓶颈时,请求消息需要放入队列中排队,进行流量控制。消息队列管理子模块与消息队列模块之间存在连线。消息队列是一个逻辑队列实体,但队列中的数据物理地存放在缓存中。步骤406,响应缓存模块直接从缓存中获取数据信息;此流程分支由本次能力调用的性质决定,只要这次能力调用的响应数据对时间不敏感或者在指定时间内不敏感且响应数据对不同的数据消费者不敏感,则可以直接从缓存中直接获取数据信息,而不需要向能力提供设备发送新的能力调用请求。比如,不同的应用或者相同的应用在不同时间,进行相同的地图查询时,响应缓存模块将缓存前一次地图信息直接返回给应用,省去了下面流程以及和能力提供设备(可能是Google)的调用,提升了效率。或者一个应用对同一城市、同一时段的天气预报查询的请求,通过系统判断时间的有效性,将前一次查询返回时,缓存在响应缓存模块的信息,直接返回给应用;又比如天气预报信息。当用户A通过使用一个应用查天气预报信息,该应用调用本系统的天气预报能力,然后本系统再调用google (能力提供设备)提供的天气预报能力(即接口),查询到2011-11-11日北京的天气。由于2011-11-11日北京的天气信息在I个小时内是不敏感的,且用户B通过该应用查出的结果和用户A查出的结果一样(数据消费者不敏感)。所以当用户A查了该天北京的天气之后,用户B在I小时内也来查时,本系统将不需要再去google (能力提供设备)上去查,而是直接从分布式响应缓存中,直接查出前一次查询的结果即可。步骤407,响应缓存模块向控制模块返回缓存的数据,返回成功后,执行步骤416 ;步骤408,消息队列管理子模块根据预置的规则控制能力调用请求消息出队,执行步骤409 ;步骤409,控制模块调用外部功能调用模块向外部的业务交付管理系统发起鉴权、计费请求;能力通常不会免费提供给应用或者使用该应用的用户使用,所以通常情况下,需要对能力的调用进行鉴权和计费扣费。步骤410,业务交付管理系统完成处理之后(对合作伙伴(开发者)、应用进行鉴权处理和计费)返回响应;
步骤411,能力接入子模块针对出队的能力调用请求按照能力提供设备的协议类型进行协议转换,发起正式调用;
步骤409和步骤411没有严格的先后顺序。由于本系统集成了不同能力提供设备提供的不同能力,应用发起能力调用请求时,是调用特定的某个能力,此次能力接入子模块需要根据应用所调用的能力,进行协议适配,并且在协议适配处理完成之后,路由给相应的能力提供设备。步骤412,能力提供设备进行调用响应,返回消息数据;步骤413,能力接入子模块向控制模块返回调用响应消息;步骤414,控制模块根据预置规则确认本次获取的调用响应消息是否需要缓存,需要缓存时,转步骤415,否则转执行步骤416 ;能力调用的响应数据对时间不敏感或者在指定时间内不敏感且响应数据对不同的数据消费者不敏感,则需要缓存。步骤415,控制模块调用响应缓存模块写入此次能力提供设备返回的响应信息;步骤416,控制模块向能力开放模块返回调用响应消息;步骤417,应用收到能力开放模块转发的能力调用响应消息,完成能力调用。本发明的能力聚合开放系统和方法的另一可替换方案中,可仅对已预先缓存能力调用响应的能力调用请求进行处理,也可实现对能力调用请求的快速反应和处理。本发明提供的基于云计算技术,实现能力聚合开放的方法和系统,解决应用调用电信网络能力、互联网能力、IT(Infomation Technology,信息技术)能力(包括物联网能力)和数据信息能力的难度,为最大化的开放电信网络能力、互联网能力、IT能力和数据信息能力,并发挥电信网络能力、互联网能力、IT能力和数据信息能力的价值,建设了一个系统化的聚合开放系统平台,并且为单一能力开放的管道提供了智能化控制功能,可防止移动互联网开放商将电信运营商管道化,在为电信运营商挖掘其自身潜力的同时,通过对多种类型能力的Mashup并二次开放,创造出更多新型的应用形式,提升了创新空间,提高了电信运营商的竞争力。更重要的是,本系统采用云计算技术,降低了能耗,解决能力开放过程中所产生的性能瓶颈、容灾备份、服务质量和安全性的问题。。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种能力聚合开放系统,其特征在于,该系统包括 能力开放模块,用于接收第三方发送的能力调用请求以及从控制模块接收并向第三方转发能力调用响应; 判断模块,用于根据配置的规则对接收的能力调用请求进行判断; 控制模块,用于实现模块调用控制,包括调用所述判断模块,在所述能力调用请求的响应数据已缓存时,调用响应缓存模块获取缓存的相应能力调用响应,以及向所述能力开放模块返回调用模块得到的能力调用响应; 响应缓存模块,用于根据所述控制模块的调用获取缓存的相应能力调用响应或缓存符合缓存条件的能力调用响应。
2.如权利要求I所述的系统,其特征在于 所述系统还包括能力调用处理模块,所述控制模块实现模块调用控制还包括在所述能力调用请求的响应数据未缓存且需要进一步处理时,调用能力调用处理模块; 所述能力调用处理模块,用于根据所述控制模块的调用进行能力调用处理。
3.如权利要求2所述的系统,其特征在于 所述规则包括响应数据缓存条件,所述控制模块实现模块调用控制还包括若所述能力调用处理模块返回的能力调用响应符合所述响应数据缓存条件则调用所述响应缓存模块缓存所述能力调用响应; 所述响应缓存模块,还用于根据所述控制模块的调用缓存符合缓存条件的能力调用响应。
4.如权利要求2所述的系统,其特征在于,所述能力调用处理模块包括消息队列管理子模块、能力接入子模块以及一个或若干个消息队列,其中 所述消息队列管理子模块,用于根据所述控制模块的调用将所述能力调用请求缓存入所述消息队列以及从相应消息队列中取出待处理的能力调用请求; 所述能力接入子模块,用于根据当前待处理能力调用请求适配并调用相应的能力提供设备。
5.如权利要求4所述的系统,其特征在于所述消息队列具有队列属性,所述队列属性包括处理优先级、服务等级协议(SLA)级别或对应的能力类别,所述配置的规则还包括能力请求入队规则,所述控制模块根据所述能力请求入队规则调用所述消息队列管理子模块将所述能力调用请求缓存入相应队列属性的消息队列中。
6.如权利要求4所述的系统,其特征在于所述配置的规则还包括能力请求出队规则,所述控制模块根据所述能力请求出队规则调用所述消息队列管理子模块从相应消息队列中取出待处理的能力调用请求。
7.如权利要求6所述的系统,其特征在于所述能力请求出队规则包括出队的能力调用请求数量,该数量与对应的能力提供设备的流量能力成正比。
8.权利要求I所述的系统,其特征在于所述响应缓存模块还用于在缓存的能力调用响应失效时,删除所述能力调用响应。
9.如权利要求3所述的系统,其特征在于所述响应数据缓存条件包括以下条件之一响应数据对时间不敏感;响应数据在指定时间段内不敏感;响应数据对数据消费者不敏感。
10.如权利要求I所述的系统,其特征在于所述系统还包括能力编排模块和外部功能调用模块,其中 所述能力编排模块,用于对待调用能力以及相关的支撑功能进行逻辑编排,生成能力包,所述支撑功能包括鉴权、认证或计费; 所述外部功能调用模块,用于根据所述控制模块的调用向支撑功能单元发起相应支撑功能处理请求; 所述控制模块,用于根据与所述能力开放模块接收的能力调用请求关联的能力包实现模块调用控制。
11.如权利要求10所述的系统,其特征在于所述能力编排模块,还用于对不同类型的两个或多个能力进行揉和(Mashup)生成综合能力,所述能力调用请求包括针对所述综合能力的能力调用请求;所述能力接入子模块调用生成所述综合能力的两个或多个能力对应的能力提供设备。
12.如权利要求I所述的系统,其特征在于,所述能力包括电信网络能力、互联网能力、信息技术(IT)能力、物联网能力或数据信息能力。
13.如权利要求I所述的系统,其特征在于,所述能力开放模块包括若干个协议接口,以与不同协议类型的第三方交互。
14.如权利要求I所述的系统,其特征在于,所述控制模块,在所述能力调用请求不符合能力调用规则或策略时,还用于向所述能力开放模块返回表示能力调用失败的响应。
15.一种能力聚合开放方法,其特征在于,该方法由能力聚合开放系统实现,该方法包括 能力调用请求接收步骤,接收第三方发送的能力调用请求; 能力调用请求判断步骤,根据配置的规则对接收的能力调用请求进行判断,判断所述能力调用请求的响应数据已缓存时,转执行缓存响应调用步骤; 缓存响应调用步骤,获取缓存的能力调用响应,并转执行能力调用响应步骤; 能力调用请求响应步骤,向所述第三方返回能力调用响应。
16.如权利要求15所述的方法,其特征在于,所述能力调用请求判断步骤中,若判断所述能力调用请求的响应数据未缓存且需要进一步处理时,执行能力调用步骤,获得能力调用响应,并转执行所述能力调用请求响应步骤。
17.如权利要求15所述的方法,其特征在于,所述规则包括响应数据缓存条件,执行能力调用步骤后,该方法还包括响应缓存管理步骤,判断获得的能力调用响应是否符合响应数据缓存条件,符合响应数据缓存条件时,缓存获得的能力调用响应。
18.如权利要求16所述的方法,其特征在于,所述能力聚合开放系统包括一个或若干个消息队列,所述能力调用步骤包括 入队步骤,将所述能力调用请求缓存入所述消息队列; 出队步骤,从相应消息队列中取出待处理的能力调用请求; 调用步骤,根据当前待处理能力调用请求适配并调用相应的能力提供设备。
19.如权利要求18所述的方法,其特征在于所述消息队列具有队列属性,所述队列属性包括处理优先级、服务等级协议(SLA)级别或对应的能力类别,所述配置的规则还包括能力请求入队规则,所述入队步骤中,根据所述能力请求入队规则将所述能力调用请求缓存入相应队列属性的消息队列中。
20.如权利要求18所述的方法,其特征在于所述配置的规则还包括能力请求出队规贝U,所述出队步骤中,根据所述能力请求出队规则从相应消息队列中取出待处理的能力调用请求;所述能力请求出队规则包括出队的能力调用请求数量,该数量与对应的能力提供设备的流量能力成正比。
21.权利要求15所述的方法,其特征在于所述能力聚合开放系统在缓存的能力调用响应失效时,删除所述能力调用响应。
22.如权利要求17所述的方法,其特征在于所述响应数据缓存条件包括以下条件之一响应数据对时间不敏感;响应数据在指定时间段内不敏感;响应数据对数据消费者不敏感。
全文摘要
本发明涉及一种能力聚合开放的方法和系统,该系统包括能力开放模块,用于接收第三方发送的能力调用请求以及从控制模块接收并向第三方转发能力调用响应;判断模块,用于根据配置的规则对接收的能力调用请求进行判断;控制模块,用于实现模块调用控制,包括调用所述判断模块,在所述能力调用请求的响应数据已缓存时,调用响应缓存模块获取缓存的相应能力调用响应,以及向所述能力开放模块返回调用模块得到的能力调用响应;响应缓存模块,用于根据所述控制模块的调用获取缓存的相应能力调用响应或缓存符合缓存条件的能力调用响应。本发明系统和方法可以提高能力聚合开放系统对能力调用的响应效率。
文档编号H04L29/08GK102624926SQ201210105969
公开日2012年8月1日 申请日期2012年4月11日 优先权日2012年4月11日
发明者周朝阳 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1