CN101741850B - 面向混合网络服务的多任务并发执行***及方法 - Google Patents
面向混合网络服务的多任务并发执行***及方法 Download PDFInfo
- Publication number
- CN101741850B CN101741850B CN2009102435933A CN200910243593A CN101741850B CN 101741850 B CN101741850 B CN 101741850B CN 2009102435933 A CN2009102435933 A CN 2009102435933A CN 200910243593 A CN200910243593 A CN 200910243593A CN 101741850 B CN101741850 B CN 101741850B
- Authority
- CN
- China
- Prior art keywords
- service
- message
- server
- request
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 172
- 230000008569 process Effects 0.000 claims abstract description 138
- 238000012545 processing Methods 0.000 claims abstract description 65
- 230000011664 signaling Effects 0.000 claims abstract description 20
- 230000027455 binding Effects 0.000 claims description 35
- 238000009739 binding Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 claims description 23
- 230000003993 interaction Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000002688 persistence Effects 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种面向混合网络服务的多任务并发执行***和方法,***包括客户端,负载均衡服务器,信令/媒体控制服务器和应用服务器机群。其运行方法是:客户端接收服务请求后,负载均衡服务器选择最适宜的应用服务器,并将服务请求转发给其服务总线。该应用服务器的接纳控制模块对请求进行接纳控制后,服务总线将该请求转发至动态流程执行引擎,由其启动该请求对应的服务流程进行分析处理,再经由服务总线调用低延迟事件服务引擎中对应的服务能力组件,并通过资源适配器与信令/媒体控制服务器交互,调用后者的服务资源;再按相反过程将处理结果返回给客户端。本发明支持在异构网络和终端上,提供跨电信网、互联网的混合网络服务与多任务的并发。
Description
技术领域
本发明涉及一种面向混合网络服务的多任务并发执行***及方法,确切地说,涉及一种面向混合网络服务、并采用基于服务总线集成双引擎(动态流程执行引擎和低延迟事件服务引擎)的面向服务体系结构SOA(Service-OrientedArchitecture)与负载均衡、接纳控制技术的多任务并发执行***及其工作方法,属于电信和计算机应用的技术领域。
背景技术
随着通信技术和网络技术的快速发展,传统电信网中各类异构网络的融合,甚至与互联网域以外的网络的融合已经成为网络发展的主旋律。人们对于网络服务的需求也逐步呈现出多样化、综合化的趋势。在这个背景下,在异构的网络和终端上,能够提供支持跨电信网、互联网的混合网络服务以及多任务并发执行的支撑***,成为国内外网络界共同关注的热点课题。本发明所述混合网络服务是泛指电信网和互联网领域的各种服务。
近年来,随着软件新技术的发展,服务已成为开放网络环境下资源封装与抽象的核心概念,通过动态地组合服务,实现资源的灵活聚合成为技术发展的自然思路。面向服务体系架构SOA能够将应用程序的不同功能单元通过服务之间定义的良好接口和契约联系起来,使用户可以不受限制地重复使用软件,并把各种资源互连起来。支撑SOA的关键是其消息传递架构——企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,是一种在松散耦合的服务和应用之间的标准集成方式。ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,用于完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求。Java业务集成JBI(Java Business Integration)规范定义了一个ESB,以供开发商能够方便地利用Java语言实现面向服务的架构。
Web服务是使应用程序可以用与平台和编程语言都无关的方式进行相互通信的一项技术。W3C对Web服务的定义如下:Web服务是由URI标识的软件***,其接口和绑定可以通过XML进行定义、描述和发现,Web服务支持通过基于Internet的协议使用基于XML的消息与其它Web服务或软件***直接交互。Web服务是一个软件接口,它描述了一组操作,可以在网络上通过标准化的XML消息传递来访问这组操作。它使用基于XML语言的协议来描述要执行的操作或与另一个Web服务交换的数据。在SOA中,进程是使用一组离散的服务创建的,业务流程执行语言BPEL(Business Process ExecutionLanguage)是用于控制这些服务的语言,它是一种使用XML编写的、用于自动化业务流程的编程语言,也被称作WS-BPEL或BPEL4WS。BPEL广泛用于与Web服务相关的项目开发中,其优点为具有可移植性和能够有效保护资产。Web服务技术的广泛接受,使得Web服务正逐步成为Internet网络环境中资源封装的标准形式,随着部署在Internet上的Web服务的不断丰富,这些可被公共访问和集成的服务构成了一个潜在的巨大的标准组件库。
电信网络的开放性研究一直是业内的热点,特别是在电信市场竞争日益激烈的今天,电信运营商们面临着巨大挑战,他们迫切需要开发出标新立异、形形色色的增值业务来吸引更多用户,以满足用户对电信业务的日益增长需求。电信界Web服务的提出备受各界关注,通过API把电信底层的网络资源开放出来,以Web服务的方式向第三方和业务提供商开放,从而可以利用IP网络中的成熟技术来帮助解决电信网络中如运营商之间跨网络访问等问题,而Internet应用程序开发商也可以方便地利用电信网络的资源,提供灵活多样的服务。
Web服务实现了接口的可重用性,而业务流程执行语言BPEL实现了Web服务的重用性,或者称之为服务流程的可重用性,通过定义BPEL流程,企业可以使用现有的细粒度的Web服务,重新创建符合自己需求的其他粗粒度的服务。动态流程执行引擎主要执行依据WS-BPEL标准编写的业务流程,调用Web服务,发送和接受消息,处理数据操作以及排除故障。
在实际应用中,电信Web服务有较高的实时性需求,如要求服务要有高吞吐量和低时延,支持异步交互,如语音信箱、呼叫前转,以及能够有效利用现有的底层通信协议能力,而基于JAIN SLEE(JSLEE)规范的低延迟事件引擎能够较好地满足上述服务需求。JAIN是SUN公司领导的一个企业团体的合作项目,其主要目的是定义各种必要的用于扩展核心JAVA平台的JAVA程序开发接口,它通过将各种复杂的有线、无线和IP网络提供的各种通信接口都统一定义为一系列JAVA工业标准接口,使得各种私有的通信网络能够演变为开放的、标准的网络。JSLEE是JAIN定义的基于JAVA的服务逻辑执行环境SLEE(Service Logic Execution Environment)规范,其是一个分布式的业务组件框架,采用JavaBeans的组件模型和事件驱动机制,为业务组件提供可靠的运行环境。SLEE可以接收各种网络资源的呼叫事件,将这些事件发送到相应的业务逻辑去处理,同时为业务提供监控、统计及管理功能。
与此同时,Internet的快速增长使多媒体网络服务器,特别是Web服务器,面对的访问者数量快速增加,网络服务器需要具备提供大量并发访问服务的能力。服务***每天要接收大量的请求,要求其支持多用户、大规模服务并发执行,因此,对于作为服务平台的多任务并行执行环境的服务器来讲,CPU、I/O处理能力很快会成为瓶颈。然而,单单提高硬件性能并不能真正解决这个问题,因为单台服务器的性能总归有限,必须采用多台服务器同时提供相应服务,并将网络请求均衡分配给这些服务器分担,才能提供处理大量并发服务的能力。当多台服务器构成服务器机群时,具备负载均衡功能的多任务并发执行技术就成为***的核心环节。在负载均衡的思路下,通过负载分担技术,将外部发送来的请求均衡地分配到机群中的某台服务器上,而接收到请求的服务器都独立回应客户机的请求。这种负载均衡建立于现有的网络结构上,它能提供一种廉价、有效、透明的方法来扩展网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。
在多任务并发执行***中,过载保护对于维持商业应用至关重要,服务严重过载会引起***崩溃,造成不可估量的经济损失。接纳控制技术的本质是预测服务器处理能力,主动拒绝过量请求,控制请求速率,使服务器实际接受的请求接近、但不超过其最大处理能力,使***在过载时仍可维持较高的处理量和较好的服务质量。目前,通常采用基于控制理论的方法,来保障***的稳定性和动态性能,使其在负载的大幅波动时具有良好的自适应性。
发明内容
本发明的目的在于提供一种面向混合网络服务的多任务并发执行***及其多任务并发执行的方法,本发明的多任务并发执行***采用面向混合网络服务和基于服务总线集成双引擎(动态流程执行引擎和低延迟事件服务引擎)的面向服务体系结构SOA以及负载均衡与纳控制技术,能够实现整合互联网和电信网领域的业务能力,提供灵活多样的服务和支持多任务并发执行的目的。
为达到上述目的,本发明提供了一种面向混合网络服务的多任务并发执行***,其特征在于:所述***用于支持在异构的网络和终端上,提供跨电信网、互联网的混合网络服务以及多任务的并发执行,该***包括:由个人计算机、固定电话机或移动电话机构成的客户端,负载均衡服务器,信令/媒体控制服务器以及由多个应用服务器组成的服务器机群;其中,
所述客户端,作为人机交互界面,用于获取用户设置的业务请求,并把该请求封装成简单对象访问协议SOAP消息后,采用超文本传输协议HTTP经由负载均衡服务器传送到服务器机群中最适宜的应用服务器的服务总线,再转发给信令/媒体控制服务器进行处理;以及接收和显示返回的处理结果;
所述负载均衡服务器,用于接收客户端通过HTTP协议承载包含业务请求的SOAP消息,再基于该SOAP消息中的内容特征和服务器机群中各个应用服务器的状态,通过负载均衡算法将业务请求分发给服务器机群中的最适宜的应用服务器,实现负载均衡;该负载均衡服务器能够处理大量并发服务;
所述信令/媒体控制服务器,由包括SIP服务器和媒体服务器的服务器组成,这些服务器通过与应用服务器的资源适配器与低延迟事件服务引擎进行交互,负责提供低延迟事件服务引擎所需要的各种网络服务资源;
所述应用服务器,采用基于服务总线的、集成动态流程执行引擎和低延迟事件服务引擎的双引擎的面向服务体系结构SOA以及接纳控制技术,每个应用服务器都设有下述四个部件:服务总线,接纳控制模块,动态流程执行引擎和低延迟事件服务引擎;其中:
服务总线,用于接收负载均衡服务器的输入信息并统一转换为规格化消息(Normalized Message)后,转发给后续部件处理;该服务总线设有HTTP绑定组件和规格化消息路由器,前者用于侦听和接收来自负载均衡服务器的HTTP请求,并把该请求转换为规格化消息,再通过后者路由给动态流程执行引擎;后者还负责接收来自动态流程执行引擎中相关服务流程的调用服务能力组件的规格化消息,再分发给低延迟事件服务引擎;
接纳控制模块,采用基于控制理论的方法对该应用服务器执行自适应接纳控制:对客户端经由负载均衡服务器发送来的请求进行流量控制,主动拒绝客户端发送的过量请求,并控制请求速率,使该应用服务器高峰时实际接受的请求接近但不超过其最大处理能力,从而使该***过载时仍能维持较高的处理量和较好的服务质量,以保障***的稳定性和动态性能,使其在负载大幅波动时有良好的自适应性;
动态流程执行引擎,用于直接采用规格化消息与服务总线进行交互,并发执行原子服务组合后生成的业务控制流程,监听并接收服务总线转发的包含客户端请求的规格化业务服务消息,创建相应业务控制流程的业务流程执行语言BPEL业务流程实例并进行处理,并在处理过程中,通过Java并发对象框架实现应用级别的并发,然后生成调用低延迟事件服务引擎中服务能力组件的包含相应业务请求的SOAP消息,将其发送到服务总线,设置消息交换的服务端点属性,即将目的服务引擎指定为低延迟事件服务引擎,再通过服务总线路由到低延迟事件服务引擎;
低延迟事件服务引擎,用于直接采用规格化消息与服务总线进行交互,提供动态流程执行引擎调用的相应业务原子服务,该部件基于事件驱动,内部采用服务构件块SBB(Service Building Block)消息机制,减少事务处理的等待延迟,其工作方式是从服务总线接收包含业务请求的SOAP消息后,扫描该事件状 态,将该事件递交到服务能力组件中该事件已注册的对应服务构件块,生成相应业务的原子服务,再与信令/媒体控制服务器进行交互,调用信令/媒体控制服务器提供的服务资源。
所述负载均衡服务器采用双机热备份,以避免服务的长时间中断,保证***长期、可靠的服务。
所述服务总线设有两个功能单元:HTTP协议绑定组件和规格化消息路由器,其中HTTP协议绑定组件用于监听接收负载均衡服务器通过HTTP协议承载的、包含客户端业务请求的SOAP消息,该组件接收到SOAP消息后,解析并处理HTTP协议包,再将该SOAP消息主体封装成规格化消息和设置消息交换的服务端点属性后,将业务服务请求消息传递到规格化消息路由器,通过规格化消息路由器路由到动态流程执行引擎;规格化消息路由器除了用于路由经由HTTP协议绑定组件处理的业务请求消息外,还负责在包括动态流程执行引擎和低延迟事件服务引擎的双服务引擎之间路由彼此交互的消息,并将其路由到相应的组件进行处理。
所述接纳控制模块设有三个功能单元:PI控制器、控制执行器和感知单元,其中PI控制器是一种比例积分控制器,用于将应用服务器的CPU负荷与定值差转换为接纳时间比,用作控制量,再将该控制量输入给控制执行器;控制执行器根据PI控制器计算得到的该控制量,控制应用服务器的业务量;感知单元用于采集应用服务器的包括CPU负荷及被控制量的输出信息,再反馈到PI控制器,实现该接纳控制模块的闭环控制。
所述动态流程执行引擎设有三个功能单元:流程编译器、流程执行器、抽象流程管理器和业务流程执行语言BPEL信息库;流程编译器负责将BPEL源文件编译成适合于流程执行器执行的文件,输出编译好的文件或源文件中的错误信息列表,其编译后的文件是流程执行器所需的唯一文件;流程执行器用于完成编译后的BPEL流程的执行,包括何时创建新的实例,新接收的消息转送到哪个实例,以及给用户提供流程管理API,让用户与执行引擎进行交互;为使该执行引擎可靠运行,需要依靠数据访问对象提供数据持久性,还通过Java并发对象框架实现应用级别的并发;抽象流程管理器负责完成流程执行器与外界的交互,即为流程执行器提供通信通道,将流程执行器直接嵌入到具体的执行环境中;BPEL信息库用于存储包括已创建的流程实例、实例所等待的消息、每个实例的BPEL变量值、每个实例的BPEL伙伴链接值以及每个流程实例在流程执行器中的执行状态的各种信息。
所述低延迟事件服务引擎设有三个功能单元:规格化消息适配器、服务能力组件和资源适配器;规格化消息适配器用于接收规格化消息路由器上传的规格化消息并对其进行解析,将其定义成低延迟事件服务引擎能够识别的类型,再将其发送到服务能力组件;还负责接收从服务能力组件传来的响应,将其封装成规格化消息返回给服务总线;服务能力组件是低延迟事件服务引擎的核心单元,用于对动态流程执行引擎所需原子服务进行业务逻辑控制,并为服务构建块提供运行环境,再通过资源适配器与信令/媒体控制服务器建立连接和交互,获取网络服务资源,将服务响应返回给规格化消息适配器;资源适配器用于适配网络资源或JAVA平台环境J2EE资源,将发生变化的资源以事件形式发送到服务能力组件,由服务能力组件将资源事件触发到业务实例进行业务逻辑处理,资源适配器还将底层网络资源抽象成应用程序接口API提供给业务逻辑使用。
为达到上述目的,本发明提供了一种面向混合网络服务的多任务并发执行***的多任务并发执行的方法,其特征在于:包括下列操作步骤:
(1)客户端接收到用户输入的服务请求后,先将该请求传送到***中的负载均衡服务器,由负载均衡服务器根据***的服务器机群中各个应用服务器的工作状态,选择最适宜的应用服务器;
(2)负载均衡服务器将服务请求向最适宜的应用服务器的服务总线转发,位于该服务总线上的接纳控制模块对该服务请求进行接纳控制;
(3)该最适宜的应用服务器的服务总线将该服务请求转发至动态流程执行引擎,并由动态流程执行引擎启动该服务请求所对应的服务流程;
(4)服务流程对该服务请求进行分析及处理后,经由服务总线发送调用低延迟事件服务引擎中的服务能力组件的请求;
(5)低延迟事件服务引擎通过其规格化消息适配器接收到来自服务总线的业务请求后,将业务请求映射到服务能力组件,再通过资源适配器与信令/媒体控制服务器进行交互,调用信令/媒体控制服务器提供的服务资源,再由服务能力组件执行该服务,并将最终响应结果返回给客户端。
所述步骤(2)中,最适宜的应用服务器服务总线上的接纳控制模块的控制过程进一步包括下列内容:
(21)该应用服务器的接纳控制模块根据本服务器的具体状态,设置包括CPU负荷阈值的各种控制参数;
(22)接纳控制模块接收从HTTP绑定组件发出,经规格化消息路由器路由到达的业务请求;
(23)接纳控制模块中的感知单元采集执行***输出的包括CPU负荷及被控制量的相应参数,并将这些参数反馈到PI控制器;
(24)PI控制器将该应用服务器的CPU负荷与定值差转换为接纳时间比,然后将该控制量输入给控制执行器;
(25)控制执行器根据PI控制器计算所得的控制量对执行***进行控制,拒绝客户端发送的过量请求,从而控制请求到达执行***的速率。
所述步骤(3)中,动态流程执行引擎启动该服务请求所对应的服务的并发操作步骤进一步包括下列内容:
(31)抽象流程管理器接收到来自服务总线的规格化消息请求后,配置和启动流程执行器,由流程执行器根据上下文创建JAVA并发对象框架中的并发对象执行单元VPU;
(32)并发对象执行单元VPU将相关的JAVA并发对象注入到该JAVA并发对象的执行队列中;
(33)JAVA并发对象弹出执行队列;
(34)JAVA并发对象框架中的并发对象执行单元VPU创建JAVA并发对象线程;
(35)JAVA并发对象占用该创建的线程,运行JAVA并发对象中的方法;即JAVA并发对象框架的并发性管理建立于每个过程实例的单个线程的基础上,以避免创建过多的线程而带来的线程调度而影响***性能,而且线程的分配是在消息到达时进行的,能进一步避免同时产生过多的线程。
所述步骤(5)进一步包括下列操作内容:
(51)规格化消息适配器接收到从服务总线的规格化消息路由器发送来的业务请求规格化消息,从中获取消息载荷的核心内容:SOAP消息;
(52)规格化消息适配器对该SOAP消息进行解析,取出其中每个标签的对应值,存储于一个哈希表对象后,并返回该哈希表对象,从而将对基于XML文档格式的SOAP消息的处理转换为对常用数据类型的哈希表进行处理;
(53)规格化消息适配器从该哈希表对象中获取该SOAP消息请求服务的服务名;
(54)规格化消息适配器根据服务名和相应的服务方法,设置和调用该服务所需的具体事件属性;找到该事件向服务能力组件传输的上下文通道信息后,转发给服务能力组件,触发相应的业务处理逻辑。
本发明是一种面向混合网络服务,采用基于服务总线集成双引擎(动态流程执行引擎和低延迟事件服务引擎)的面向SOA以及负载均衡与接纳控制技术的多任务并发执行***和方法,本发明***是综合考虑***软硬件的功能与需要,完全按照面向服务和事件驱动架构的思想设计的,利用服务总线技术进行***功能的集成及扩展,利用负载均衡与接纳控制及服务引擎技术实现服务的并发高效执行,通过把各种承载业务的网络能力封装成Web服务来屏蔽网络和***的异构性和复杂性,从而有效整合互联网和电信网领域的业务能力,提供灵活多样的混合网络服务,同时大大节省了硬件开销成本和提高***处理能力。
综上所述,本发明具有以下四方面的创新技术优点:
(一)面向网络融合和电信互联网的混合网络服务:本发明***能够在异构的网络和终端上,提供跨电信网、互联网的混合网络服务以及多任务的并发执行,本发明是通过把各种承载业务的网络能力封装成Web服务来屏蔽网络和***的异构性和复杂性,能够有效整合互联网和电信领域的业务能力,提供灵活多样的混合网络服务。
(二)服务的灵活性:本发明***是基于面向SOA的web服务***,具有跨平台服务的优点,并且由于业务流程采用松散耦合的方式,其业务处理与业务控制流程是分离的,对上而言,各种能力是不同粒度的业务原子服务的组合,在今后业务的扩展和修改上,该***能够充分体现其高度的灵活性和宽泛的适应性,大大节省了硬件开销所带来的高使用成本。
(三)支持多用户、大规模的多任务并发执行:本发明集成了负载均衡、接纳控制以及基于Actor模型的JAVA并发对象框架技术,其中,负载均衡技术使得本发明***由单台应用服务器***提升到应用服务器的机群***级别,从而使得整个***的处理能力得到了极大提高,为***的大规模使用提供了坚实基础。接纳控制技术使本发明***在过载时仍可维持较高的处理量和较好的服务质量,保障***的稳定性和动态性,使其即使在负载大幅波动时也具有良好的自适应性。基于Actor模型的JAVA并发对象框架技术使得本发明在业务流程执行时能够处理并发消息,该技术建立在每个过程实例的单个线程基础之上,能够避免创建过多的线程,从而减弱因为线程调度而对***性能造成的影响。
(四)***耦合性低:本发明***中的负载均衡服务器与服务器之间通过HTTP传输消息,如果以后负载均衡服务器或者服务器应用环境的某一方需要重构时,只要消息格式不变,另一部分就不需要随之改变,负载均衡服务器可以根据内容转发实现负载均衡。
综上所述,本发明具有很好的推广应用前景。
附图说明
图1为本发明面向混合网络服务的多任务并发执行***的网络整体构成图。
图2为本发明***内各个部件交互方式和应用服务器的结构组成示意图。
图3为基于JBI规范的服务总线结构组成示意图.
图4为业务服务部署示意图。
图5为JAVA并发对象框架(VPU)的结构组成示意图。
图6为JAVA并发对象框架的执行操作时序图。
图7为本发明***的运行方法一实施例的操作步骤流程图。
图8为本发明***的负载均衡服务器的结构组成示意图。
图9为本发明***的应用服务器中接纳控制模块的控制过程示意图。
图10为本发明***的应用服务器中规格化消息适配器的消息处理流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
多媒体会议业务是电信网和互联网中较为典型的实时交互业务。在融合网络混合网络服务中,具有跨网络、多协议、实时性等特点的多媒体会议服务可以作为指标型服务,即如果多媒体会议服务能够在本发明面向混合网络服务的多任务并发执行***中得到较好的支持,那么其它混合网络服务也都可以得到较好的支持。所以,下面借助多媒体会议业务作为参考的实施例,对本发明***的构成和运行方法进行具体说明。
本发明***中,服务是指Web服务。Web服务包括:业务能力原子服务,即为完成具体业务功能的原子服务,这些完成具体业务功能的原子服务对应于低延迟事件服务引擎中的服务能力组件中的具体SBB实体。业务控制流程以BPEL流程文件形式存在,通常将BPEL文件打包部署到动态流程执行引擎中。每当动态流程执行引擎执行到BPEL业务流程的相应节点位置,就调用当前业务能力原子服务所对应的低延迟事件服务引擎中的具体SBB实体;并基于BPEL业务流程,控制各原子服务按照包括顺序、并发和选择的不同方式来执行。
参见图1和图2,介绍本发明面向混合网络服务的多任务并发执行***的网络整体构成的各个部件、交互方式与应用服务器的具体构造。本发明***包括:由个人计算机、固定电话机或移动电话机构成的客户端,负载均衡服务器,信令/媒体控制服务器以及由多个应用服务器组成的应用服务器机群(参见图1所示)。该***用于支持在异构的网络和终端上,提供跨电信网、互联网的混合网络服务以及多任务的并发执行。其中,
作为人机交互界面的客户端,用于获取用户设置的业务请求,并把该请求封装成简单对象访问协议SOAP消息后,采用HTTP经由负载均衡服务器传送到服务器机群中最适宜的应用服务器的服务总线,再转发给信令/媒体控制服务器进行处理;以及接收和显示返回的处理结果。
通常采用双机热备份的负载均衡服务器,用于接收客户端通过HTTP协议承载包含业务请求的SOAP消息,再基于该SOAP消息中的内容特征和服务器机群中各个应用服务器的状态,通过负载均衡算法将业务请求分发给服务器机群中的最适宜的应用服务器,实现负载均衡;该服务器能够处理大量并发服务。
信令/媒体控制服务器由包括SIP服务器和媒体服务器的服务器组成,这些服务器通过与应用服务器的资源适配器与低延迟事件服务引擎进行交互,负责提供低延迟事件服务引擎所需要的各种网络服务资源。
本发明的应用服务器采用基于服务总线的、集成动态流程执行引擎和低延迟事件服务引擎的双引擎的面向服务体系结构SOA以及接纳控制技术,每个应用服务器都设有下述四个部件(参见图2所示):
提供消息传输路由和执行转发操作的服务总线,用于接收负载均衡服务器的输入信息并统一转换为规格化消息后,转发给后续部件处理;该服务总线设有HTTP绑定组件和规格化消息路由器,前者用于侦听和接收来自负载均衡服务器的HTTP请求,并把该请求转换为规格化消息,再通过后者路由给动态流程执行引擎;后者还负责接收来自动态流程执行引擎中相关服务流程的调用服务能力组件的规格化消息,再分发给低延迟事件服务引擎。
服务总线设有两个核心功能单元:HTTP协议绑定组件和规格化消息路由器。HTTP协议绑定组件用于监听接收负载均衡服务器通过HTTP协议承载的、包含客户端业务请求的SOAP消息,该组件接收到SOAP消息后,解析并处理HTTP协议包,再将该SOAP消息主体封装成规格化消息(该规格化消息是指将包含了特定上下文数据的消息转换成服务总线中规格化路由器能够理解和通用的表现形式)和设置消息交换的服务端点属性(即将目的服务引擎设定为动态流程执行引擎)后,将业务服务请求消息传递到规格化消息路由器,通过规格化消息路由器路由到动态流程执行引擎。规格化消息路由器除了用于路由经由HTTP协议绑定组件处理的业务请求消息外,还负责在包括动态流程执行引擎和低延迟事件服务引擎的双服务引擎之间路由彼此交互的消息,并将其路由到相应的组件进行处理。
接纳控制模块采用基于控制理论的方法对该应用服务器执行自适应接纳控制:对客户端经由负载均衡服务器发送来的请求进行流量控制,主动拒绝客户端发送的过量请求,并控制请求速率,使该应用服务器高峰时实际接受的请求接近但不超过其最大处理能力,从而使该***过载时仍能维持较高的处理量和较好的服务质量,以保障***的稳定性和动态性能,使其在负载大幅波动时有良好的自适应性。
接纳控制模块设有三个功能单元:PI控制器、控制执行器和感知单元(参见图9),PI控制器是一种经典的比例积分控制器,用于将该应用服务器的CPU负荷与定值差转换为接纳时间比,用作控制量,再将该控制量输入给控制执行器。控制执行器根据PI控制器计算得到的该控制量,控制应用服务器的业务量。如拒绝客户端发送的过量请求,从而控制请求到达该执行***的速率。感知单元用于采集应用服务器的包括CPU负荷及被控制量的输出信息,再反馈到PI控制器,实现该接纳控制模块的闭环控制。
作为应用服务器的核心模块之一的动态流程执行引擎相对独立地直接部署在服务总线上,用于直接采用规格化消息与服务总线进行交互,基于业务流程执行语言BPEL并发执行原子服务组合后,生成对应的业务控制流程,监听并接收服务总线转发的包含客户端请求的规格化业务服务消息,创建相应业务控制流程的业务流程执行语言BPEL业务流程实例并进行处理,并在处理过程中,通过Java并发对象框架实现应用级别的并发,然后生成调用低延迟事件服务引擎中服务能力组件的包含相应业务请求的SOAP消息,将其发送到服务总线,设置消息交换的服务端点属性,即将目的服务引擎指定为低延迟事件服务引擎,再通过服务总线路由到低延迟事件服务引擎。
动态流程执行引擎设有三个功能单元:流程编译器、流程执行器、抽象流程管理器和BPEL信息库。流程编译器负责将BPEL源文件(包括BPEL流程文件、WSDL文件和schema文件)编译成适合于流程执行器执行的文件,输出编译好的文件或源文件中的错误信息列表,其编译生成的BPEL文件是在结构上跟BPEL流程文件类似的对象模型文件,包括BPEL流程中的各种引用(如变量名),WSDL文件以及类型信息,其编译后的文件是流程执行器所需的唯一文件。流程执行器主要用于完成编译后的BPEL流程的执行,包括何时创建新的实例,新接收的消息转送到哪个实例,以及给用户提供流程管理API,让用户与执行引擎进行交互;为使该执行引擎可靠运行,需要依靠数据访问对象提供数据持久性,因此它通过Java并发对象框架实现应用级别的并发机制。抽象流程管理器负责完成流程执行器与外界的交互,主要功能是为流程执行器提供通信通道,将流程执行器直接嵌入到具体的执行环境中,如JBI抽象流程管理器是实现流程执行器与JBI的低延迟事件服务引擎等组件交互。BPEL信息库用于存储包括已创建的流程实例、实例所等待的消息、每个实例的BPEL变量值、每个实例的BPEL伙伴链接值以及每个流程实例在流程执行器中的执行状态等信息。
***核心模块之一的低延迟事件服务引擎也是相对独立地直接部署在服务总线上,用于直接采用规格化消息与服务总线进行交互,提供动态流程执行引擎调用的相应业务原子服务,该部件基于事件驱动,内部采用服务构件块SBB消息机制,减少事务处理的等待延迟,其工作方式是从服务总线接收包含业务请求的SOAP消息后,扫描该事件状态,将该事件递交到服务能力组件中该事件已注册的对应服务构件块,生成相应业务的原子服务,再与信令/媒体控制服务器进行交互,调用信令/媒体控制服务器提供的服务资源。
低延迟事件服务引擎设有三个功能单元:规格化消息适配器、服务能力组件和资源适配器。规格化消息适配器用于接收规格化消息路由器上传的规格化消息并对其进行解析,将其定义成低延迟事件服务引擎能够识别的类型,再将其发送到服务能力组件;还负责接收从服务能力组件传来的响应,将其封装成规格化消息返回给服务总线。服务能力组件是低延迟事件服务引擎的核心单元,用于对动态流程执行引擎所需原子服务进行业务逻辑控制,并为服务构建块提供运行环境,再通过资源适配器与信令/媒体控制服务器建立连接和交互通信,获取网络服务资源,将服务响应返回给规格化消息适配器。资源适配器用于适配网络资源或JAVA平台环境J2EE资源,将发生变化的资源以事件形式发送到服务能力组件,由服务能力组件将资源事件触发到业务实例进行业务逻辑处理;资源适配器还将底层网络资源抽象成应用程序接口API提供给业务逻辑使用。
参见图3,具体介绍本发明基于JBI规范的服务总线结构。
在本发明***中,经负载均衡服务器处理后的服务请求被发送到应用服务器机群中当前最适宜的应用服务器,本发明***中的每个应用服务器都部署了上述部件:服务总线、接纳控制模块、动态流程执行引擎和低延迟事件服务引擎等功能,其中的基于JBI规范的服务总线承担了融合其它各功能部件的职能。
JBI规范定义了一种通过插接组件间交互传递中间消息的方式构建集成的架构方案,其使用标准的服务描述语言来描述各个插接组件间基于消息的服务调用,实现各组件之间的交互。这种方式为组件所提供和消费的服务提供了统一的模型。这些组件可以分为两种不同的类型:服务引擎SE(Service Engine)是提供业务逻辑处理、数据转换服务等的插接组件;绑定组件BC(BindingComponent)通过提供通信协议处理功能,使得JBI组件可以访问JBI环境以外的外部***提供的远程服务,同时外部远程服务消费者可以访问JBI环境内部提供的服务。通信协议可以根据***集成需求的不同而不同,每个绑定组件可能会选择实现一种或多种通信协议,用于提供服务引擎SE的连通***,使SE把它们的服务发布给远程消费者,同时它们也消费远程服务。本发明***中的动态流程执行引擎和低延迟事件服务引擎都是以服务引擎SE的形式部署在基于JBI规范的服务总线上。而HTTP绑定组件对应的是绑定组件BC的方式。
在图3所示的基于JBI规范的服务总线结构中,服务总线部件主要包括组件容器和中介路由。组件容器定义了服务间无缝融合是如何实现的:在组件容器中,所有的资源(如:应用程序,协议,数据库,甚至是数据文件)既可以是服务的提供者、也可以是服务的消费者,或者两者兼而有之;组件容器处理这些不同资源并将其映射为一个标准的服务模型。
组件容器中定义了两种接口层:服务引擎SE接口层和绑定组件BC接口层。前者负责实现业务逻辑处理等服务,同时也可能使用其他服务引擎提供的服务,服务引擎在其内部可使用多种技术和设计模式,既可以提供数据传输和转换等基础服务,也可实现包括动态流程执行引擎的复杂业务处理。后者主要为已部署服务提供传输级的绑定,在中介路由环境内部或外部***之间起到连接器及协议转换等作用,绑定组件有多种类型:利用标准传输协议与外部***进行远程通讯,使已部署服务能在同一个JAVA虚拟机内部相互调用,服务间使用标准的Web服务协同工作组织规范进行通信。
中介路由层是用于分离服务引擎接口层和绑定组件接口层,以便业务逻辑不被底层的具体细节所干扰,这种架构能够保证体系架构的灵活性和扩展性。绑定组件和服务引擎组件在中介路由层内部都可以充当服务提供者或服务消费者,都可为中介路由运行时提供接口,以便从中介路由运行时接收消息。在中介路由层中,所有消息在通过规格化处理后都通过规格化消息路由器在各个组件之间进行传送,利用这种消息传输模型分离了服务提供者和服务消费者之间的耦合,为服务提供者和服务消费者的消息交换提供了标准接口。
参见图4,介绍服务在被客户端请求执行之前,业务服务部署的具体细节。
本发明***中的基于JBI规范的服务总线,可视为一个大容器,要构成一个***,里面还要部署其它小容器,如动态流程执行引擎和低延迟事件服务引擎。若要执行业务,还要将相应的业务描述进行组合,然后打包部署到服务总线中,以便服务请求到达时,该***能够根据具体请求提供相应的服务。对于一个特定的业务来讲,其业务控制流程由BPEL来实现,该业务的原子服务由低延迟事件服务引擎来实现,并由服务总线中的HTTP协议绑定组件监听接收相应的业务请求。每一次完整的业务服务部署都是按照以下流程进行的:
步骤1、根据业务的需求分析和实现各原子服务;
步骤2、将实现好的原子服务部署到低延迟事件服务引擎中;
步骤3、为低延迟事件服务引擎中的原子服务编辑一个服务描述文件,并将其打包成一个能够部署到低延迟事件服务引擎的服务单元SU(Service Unit);
步骤4、根据客户需求,用已有的原子服务编辑出对应的BPEL业务控制流程文件;
步骤5、为BPEL业务控制流程编写一个可以部署在动态流程执行引擎中的部署描述文件,然后将该部署描述文件、编辑好的BPEL控制流程以及相应的WSDL文件打包成一个可以部署动态流程执行引擎的服务单元;
步骤6、为整个服务写一个HTTP绑定组件描述文件,用于接收客户端的客户业务请求,打包成可部署在HTTP协议绑定组件上的服务单元;
步骤7、将上面步骤3、5、6产生的三个服务单元打包成一个完整的服务集SA(Service Assembly,参见图3),这个服务集SA包就是整个服务的部署包,该部署包在本发明***中部署完毕后,就可供客户端调用。
参见图5和图6介绍动态流程执行引擎中,基于ACTOR并发模型的JAVA并发对象框架及其执行流程。
JAVA并发对象框架的实现是基于ACTOR模型。ACTOR模型是著名的并发计算模型,目前其已成为研制并发面向对象语言的一种重要的基础模型。ACTOR模型的一个基本认知是:在ACTOR模型中所有对象都是actor,也就是actor是ACTOR模型的原子单位,消息是actor对象间通信的唯一方式。
动态流程执行引擎中的JAVA并发对象框架遵循ACTOR模型的基本思想,在该JAVA并发对象框架下的所有事物都可以是一个JAVA并发对象,消息是JAVA并发对象间通信的唯一方式,所有消息发送都是并行的;JAVA并发对象包括消息输入队列、调度机制、方法、状态,以及收到消息时将采取的动作。
图5所示是JAVA并发对象框架结构组成示意图,在JAVA并发对象框架中,JAVA并发对象执行单元(VPU)是执行JAVA并发对象的地方,VPU主要负责把JAVA并发对象注入到执行队列中,并创建和执行一个JAVA并发对象线程,运行JAVA并发对象,并在该对象运行结束后,立即释放该线程。也就是说,在JAVA并发对象框架下,每个JAVA并发对象都是各自独立的,彼此之间通过消息进行交互,只是在消息到来时,借用一个线程执行,且执行后立即释放。因此,JAVA并发对象框架无共享、基于消息等特点,使得死锁、状态共享、异步调用等困扰多线程编程的问题不复存在。
参见图6,依据JAVA并发对象框架的操作执行时序,介绍其执行流程:
(1)创建:在动态流程执行引擎中,抽象流程管理器接收到从服务总线发送来的规格化消息请求,配置和启动流程执行器,流程执行器上下文创建JAVA并发对象框架中的并发对象执行单元VPU;
(2)注入:并发对象执行单元VPU将相关的JAVA并发对象注入到JAVA并发对象执行队列中;
(3)出列:JAVA并发对象弹出执行队列;
(4)创建:JAVA并发对象框架中的并发对象执行单元VPU创建JAVA并发对象线程;
(5)执行:JAVA并发对象占用该已创建的线程,运行JAVA并发对象中的方法。
因此,JAVA并发对象框架的并发性的管理是建立于每个过程实例的单个线程基础上,避免了创建过多的线程而带来的线程调度对***性能的影响,而且线程的分配是在消息到达时进行的,进一步避免了过多线程的使用。
参见图7,以多媒体会议为业务场景为例,介绍本发明面向混合网络服务多任务并发执行***中,客户端从发起多媒体会议服务请求到接收到响应的整个消息交互流程的各个操作步骤:
(1)客户端接收到用户输入的发起会议服务请求后,先将该请求传送到***中的负载均衡服务器,由负载均衡服务器根据***的服务器机群中各个应用服务器的工作状态,选择最适宜的应用服务器。
(2)负载均衡服务器将该服务请求转换成Web服务格式的会议服务请求消息向最适宜的应用服务器的服务总线转发,位于该最适宜的应用服务器的服务总线上的HTTP绑定组件接收到该会议服务请求消息。
(3)HTTP绑定组件创建消息交换实例,并根据需求将接收到的消息转换成规格化格式直接放入消息交换实例中,设置该消息交换的服务端点属性,然后将该会议服务请求消息传送到规格化消息路由器。
(4)规格化消息路由器接收到会议服务请求消息,先经过接纳控制模块执行接纳控制与处理:解析消息头,寻找目的服务引擎,创建消息流的处理实例;再将该服务请求转发至动态流程执行引擎,由动态流程执行引擎启动和调用该会议服务请求所对应的会议业务逻辑的BPEL服务流程。
(5)会议业务逻辑的BPEL服务流程对该服务请求进行分析处理后,将该调用会议能力组件的请求消息发送到规格化消息路由器。
(6)规格化消息路由器在动态流程执行引擎和低延迟事件服务引擎间建立另一个消息流的处理实例,将该调用会议能力组件的请求消息经由服务总线发送到低延迟事件服务引擎。
(7)低延迟事件服务引擎通过其规格化消息适配器接收到来自服务总线的业务请求后,将业务请求映射到服务能力组件进行处理及响应。
(8)经过会议服务能力组件处理后,该调用服务会议能力组件的请求消息沿着请求路径返回规格化消息路由器,同时,上述步骤建立的消息流的流处理通道也被递交给会议业务逻辑的BPEL业务流程;再通过资源适配器与信令/媒体控制服务器进行交互,调用信令/媒体控制服务器提供的服务资源,由会议服务能力组件执行该服务。
(9)会议业务逻辑的BPEL业务流程将会议能力组件对调用会议能力组件的请求消息的处理及响应结果,重新组合成用户所需的Web服务格式,再次返回到规格化消息路由器,该步骤中的消息沿上述步骤建立的消息流的流处理通道返回到HTTP绑定组件;HTTP绑定组件将接收到的该消息转换形式后,作为会议服务请求消息的响应结果返回。
(10)应用服务器将Web服务格式的会议服务请求消息的响应结果转换成会议请求消息的响应结果后,返回给客户端,并将对会议请求消息的最终响应结果返回递交给用户端。
下面再具体说明上述若干步骤中的执行细节:
参见图8,介绍本发明***中的负载均衡服务器设置的各个功能模块及其对客户端服务请求的处理过程。
负载均衡服务器的任务主要是接收请求、选择最适宜的应用服务器、进行路由、转发请求、接收响应、转发响应等。负载均衡服务器设有三个功能模块:请求/响应收发模块、负载均衡管理模块和状态管理模块。通过状态管理模块可以查看应用服务器机群各节点工作情况。
为便于说明,以多媒体会议业务服务场景为例,介绍本发明***中负载均衡服务器一次成功地接收并转发请求(要分发的请求,其请求消息含有Conference ID信息,且不存在与之对应的服务器)给应用服务器,然后又成功接收并转发应用服务器的响应,再返回给客户端的过程,主要包括以下步骤:
(1)负载均衡服务器接收到来自客户端的服务请求,根据该请求的头部信息决定是否要分发该请求。
(2)如果判断该请求属于要分发的请求,则负载均衡服务器执行下述操作:分配内存,接收消息主体后,顺序执行步骤(3)。
(3)判断消息主体中是否有会议ID信息,若确定消息主体中有该会议ID信息,且根据会议ID查找到相应的服务器,则跳转执行步骤(5);如果未找到相应的服务器,说明包含该会议ID的会议尚未创建,则顺序执行步骤(4)。
(4)负载均衡管理模块判断该请求消息头部中是否有Session ID信息,若确定该请求消息头部中有Session ID信息,则根据Session ID信息进行会话粘着,选择并转发到最适宜的应用服务器;如果会话粘着失败,即Session ID中没有具体路由的信息,也根据加权轮转算法查找相应的应用服务器。
(5)负载均衡服务器按照HTTP协议封装将该请求,再将封装后的消息通过TCP Socket转发给所选择的最适宜的应用服务器,由后者进行处理。
(6)负载均衡服务器接收到来自最适宜的应用服务器的响应信息,将该响应信息按照HTTP协议进行封装,转发给客户端。
参见图9,介绍本发明***中的各个应用服务器的接纳控制模块的控制过程,接纳控制模块执行的整个控制过程如下:
(1)每个应用服务器的接纳控制模块分别根据自身服务器的具体状态,设置各自相应的控制参数,如CPU负荷阈值等。
(2)接纳控制模块接收从HTTP绑定组件发出的、经规格化消息路由器路由到达的业务请求。
(3)接纳控制模块的感知单元采集本发明***的输出信息(例如CPU负荷及被控制量等),并将其反馈到PI控制器。
(4)PI控制器将该应用服务器的CPU负荷与设定值的差转换为接纳时间比,然后将该控制量输入给控制执行器。
(5)控制执行器根据PI控制器计算所得到的控制量,对本发明***进行控制,如拒绝客户端发送的过量请求,从而控制请求到达该***的速率。
参见图10,介绍本发明***中的应用服务器的低延迟事件服务引擎中的规格化消息适配器对从服务总线接收到的消息的处理流程。其处理过程主要包含两个内容:消息解析和事件发送,具体流程如下:
(1)规格化消息适配器接收从服务总线的规格化消息路由器发送来的业务请求规格化消息。
(2)从规格化消息中获取消息载荷,该消息载荷的核心内容是SOAP消息。
(3)解析SOAP消息,从其中取出每个标签对应的值,存储在一个哈希表对象中,并返回该哈希表对象。然后,对基于XML文档格式的SOAP消息的处理就转换为对常用数据类型的哈希表的处理。
(4)从哈希表中获取消息请求服务的服务名,再根据该服务名通过对应的服务方法调用该服务所需的具体事件属性。
(5)找到该事件向服务能力组件传输的上下文通道信息,向服务能力组件转发,从而触发相应的业务处理逻辑。
本发明已经由申请人进行了多次实施仿真试验,试验的数据结果表明,试验是成功的,实现了发明目的。
Claims (10)
1.一种面向混合网络服务的多任务并发执行***,其特征在于:所述***用于支持在异构的网络和终端上,提供跨电信网、互联网的混合网络服务以及多任务的并发执行,该***包括:由个人计算机、固定电话机或移动电话机构成的客户端,负载均衡服务器,信令/媒体控制服务器以及由多个应用服务器组成的服务器机群;其中,
所述客户端,作为人机交互界面,用于获取用户设置的业务请求,并把该请求封装成简单对象访问协议SOAP消息后,采用超文本传输协议HTTP经由负载均衡服务器传送到服务器机群中最适宜的应用服务器的服务总线,再转发给信令/媒体控制服务器进行处理;以及接收和显示返回的处理结果;
所述负载均衡服务器,用于接收客户端通过HTTP协议承载包含业务请求的SOAP消息,再基于该SOAP消息中的内容特征和服务器机群中各个应用服务器的状态,通过负载均衡算法将业务请求分发给服务器机群中的最适宜的应用服务器,实现负载均衡;该负载均衡服务器能够处理大量并发服务;
所述信令/媒体控制服务器,由包括SIP服务器和媒体服务器的服务器组成,这些服务器通过与应用服务器的资源适配器与低延迟事件服务引擎进行交互,负责提供低延迟事件服务引擎所需要的各种网络服务资源;
所述应用服务器,采用基于服务总线的、集成动态流程执行引擎和低延迟事件服务引擎的双引擎的面向服务体系结构SOA以及接纳控制技术,每个应用服务器都设有下述四个部件:服务总线,接纳控制模块,动态流程执行引擎和低延迟事件服务引擎;其中:
服务总线,用于接收负载均衡服务器的输入信息并统一转换为规格化消息后,转发给后续部件处理;该服务总线设有HTTP绑定组件和规格化消息路由器,前者用于侦听和接收来自负载均衡服务器的HTTP请求,并把该请求转换为规格化消息,再通过后者路由给动态流程执行引擎;后者还负责接收来自动态流程执行引擎中相关服务流程的调用服务能力组件的规格化消息,再分发给低延迟事件服务引擎;
接纳控制模块,采用基于控制理论的方法对该应用服务器执行自适应接纳控制:对客户端经由负载均衡服务器发送来的请求进行流量控制,主动拒绝客户端发送的过量请求,并控制请求速率,使该应用服务器高峰时实际接受的请求接近但不超过其最大处理能力,从而使该***过载时仍能维持较高的处理量和较好的服务质量,以保障***的稳定性和动态性能,使其在负载大幅波动时有良好的自适应性;
动态流程执行引擎,用于直接采用规格化消息与服务总线进行交互,并发执行原子服务组合后生成的业务控制流程,监听并接收服务总线转发的包含客户端请求的规格化业务服务消息,创建相应业务控制流程的业务流程执行语言BPEL业务流程实例并进行处理,该处理过程通过Java并发对象框架实现应用级别的并发;然后生成调用低延迟事件服务引擎中服务能力组件的包含相应业务请求的SOAP消息,将其发送到服务总线,设置消息交换的服务端点属性,即将目的服务引擎指定为低延迟事件服务引擎,再通过服务总线路由到低延迟事件服务引擎;
低延迟事件服务引擎,用于直接采用规格化消息与服务总线进行交互,提供动态流程执行引擎调用的相应业务原子服务,该部件基于事件驱动,内部采用服务构件块SBB消息机制,减少事务处理的等待延迟,其工作方式是从服务总线接收包含业务请求的SOAP消息后,扫描该事件状态,将该事件递交到服务能力组件中该事件已注册的对应服务构件块,生成相应业务的原子服务,再与信令/媒体控制服务器进行交互,调用信令/媒体控制服务器提供的服务资源。
2.根据权利要求1所述的***,其特征在于:所述负载均衡服务器采用双机热备份,以避免服务的长时间中断,保证***长期、可靠的服务。
3.根据权利要求1所述的***,其特征在于:所述服务总线设有两个功能单元:HTTP协议绑定组件和规格化消息路由器,其中HTTP协议绑定组件用于监听接收负载均衡服务器通过HTTP协议承载的、包含客户端业务请求的SOAP消息,该组件接收到SOAP消息后,解析并处理HTTP协议包,再将该SOAP消息主体封装成规格化消息和设置消息交换的服务端点属性后,将业务服务请求消息传递到规格化消息路由器,通过规格化消息路由器路由到动态流程执行引擎;规格化消息路由器除了用于路由经由HTTP协议绑定组件处理的业务请求消息外,还负责在包括动态流程执行引擎和低延迟事件服务引擎的双服务引擎之间路由彼此交互的消息,并将其路由到相应的组件进行处理。
4.根据权利要求1所述的***,其特征在于:所述接纳控制模块设有三个功能单元:PI控制器、控制执行器和感知单元,其中PI控制器是一种比例积分控制器,用于将应用服务器的CPU负荷与定值差转换为接纳时间比,用作控制量,再将该控制量输入给控制执行器;控制执行器根据PI控制器计算得到的该控制量,控制应用服务器的业务量;感知单元用于采集应用服务器的包括CPU负荷及被控制量的输出信息,再反馈到PI控制器,实现该接纳控制模块的闭环控制。
5.根据权利要求1所述的***,其特征在于:所述动态流程执行引擎设有三个功能单元:流程编译器、流程执行器、抽象流程管理器和业务流程执行语言BPEL信息库;流程编译器负责将BPEL源文件编译成适合于流程执行器执行的文件,输出编译好的文件或源文件中的错误信息列表,其编译后的文件是流程执行器所需的唯一文件;流程执行器用于完成编译后的BPEL流程的执行,包括何时创建新的实例,新接收的消息转送到哪个实例,以及给用户提供流程管理API,让用户与执行引擎进行交互;为使该执行引擎可靠运行,需要依靠数据访问对象提供数据持久性,还通过Java并发对象框架实现应用级别的并发;抽象流程管理器负责完成流程执行器与外界的交互,即为流程执行器提供通信通道,将流程执行器直接嵌入到具体的执行环境中;BPEL信息库用于存储包括已创建的流程实例、实例所等待的消息、每个实例的BPEL变量值、每个实例的BPEL伙伴链接值以及每个流程实例在流程执行器中的执行状态的各种信息。
6.根据权利要求1所述的***,其特征在于:所述低延迟事件服务引擎设有三个功能单元:规格化消息适配器、服务能力组件和资源适配器;规格化消息适配器用于接收规格化消息路由器上传的规格化消息并对其进行解析,将其定义成低延迟事件服务引擎能够识别的类型,再将其发送到服务能力组件;还负责接收从服务能力组件传来的响应,将其封装成规格化消息返回给服务总线;服务能力组件是低延迟事件服务引擎的核心单元,用于对动态流程执行引擎所需原子服务进行业务逻辑控制,并为服务构建块提供运行环境,再通过资源适配器与信令/媒体控制服务器建立连接和交互,获取网络服务资源,将服务响应返回给规格化消息适配器;资源适配器用于适配网络资源或JAVA平台环境J2EE资源,将发生变化的资源以事件形式发送到服务能力组件,由服务能力组件将资源事件触发到业务实例进行业务逻辑处理,资源适配器还将底层网络资源抽象成应用程序接口API提供给业务逻辑使用。
7.一种采用权利要求1所述的面向混合网络服务的多任务并发执行***的多任务并发执行的方法,其特征在于:包括下列操作步骤:
(1)客户端接收到用户输入的服务请求后,先将该请求传送到***中的负载均衡服务器,由负载均衡服务器根据***的服务器机群中各个应用服务器的工作状态,选择最适宜的应用服务器;
(2)负载均衡服务器将服务请求向最适宜的应用服务器的服务总线转发,位于该服务总线上的接纳控制模块对该服务请求进行接纳控制;
(3)该最适宜的应用服务器的服务总线将该服务请求转发至动态流程执行引擎,并由动态流程执行引擎启动该服务请求所对应的服务流程;
(4)服务流程对该服务请求进行分析及处理后,经由服务总线发送调用低延迟事件服务引擎中的服务能力组件的请求;
(5)低延迟事件服务引擎通过其规格化消息适配器接收到来自服务总线的业务请求后,将业务请求映射到服务能力组件,再通过资源适配器与信令/媒体控制服务器进行交互,调用信令/媒体控制服务器提供的服务资源,再由服务能力组件执行该服务,并将最终响应结果返回给客户端。
8.根据权利要求7所述的方法,其特征在于:所述步骤(2)中,最适宜的应用服务器服务总线上的接纳控制模块的控制过程进一步包括下列内容:
(21)该应用服务器的接纳控制模块根据本服务器的具体状态,设置包括CPU负荷阈值的各种控制参数;
(22)接纳控制模块接收从HTTP绑定组件发出,经规格化消息路由器路由到达的业务请求;
(23)接纳控制模块中的感知单元采集执行***的输出的包括CPU负荷及被控制量的相应参数,并将这些参数反馈到PI控制器;
(24)PI控制器将该应用服务器的CPU负荷与定值差转换为接纳时间比,然后将该控制量输入给控制执行器;
(25)控制执行器根据PI控制器计算所得的控制量对执行***进行控制,拒绝客户端发送的过量请求,从而控制请求到达执行***的速率。
9.根据权利要求7所述的方法,其特征在于:所述步骤(3)中,动态流程执行引擎启动该服务请求所对应的服务的并发操作步骤进一步包括下列内容:
(31)抽象流程管理器接收到来自服务总线的规格化消息请求后,配置和启动流程执行器,由流程执行器根据上下文创建JAVA并发对象框架中的并发对象执行单元VPU;
(32)并发对象执行单元VPU将相关的JAVA并发对象注入到该JAVA并发对象的执行队列中;
(33)JAVA并发对象弹出执行队列;
(34)JAVA并发对象框架中的并发对象执行单元VPU创建JAVA并发对象线程;
(35)JAVA并发对象占用该创建的线程,运行JAVA并发对象中的方法;即JAVA并发对象框架的并发性管理建立于每个过程实例的单个线程的基础上,以避免创建过多的线程而带来的线程调度而影响***性能,而且线程的分配是在消息到达时进行的,能进一步避免同时产生过多的线程。
10.根据权利要求7所述的方法,其特征在于:所述步骤(5)进一步包括下列操作内容:
(51)规格化消息适配器接收到从服务总线的规格化消息路由器发送来的业务请求规格化消息,从中获取消息载荷的核心内容:SOAP消息;
(52)规格化消息适配器对该SOAP消息进行解析,取出其中每个标签的对应值,存储于一个哈希表对象后,并返回该哈希表对象,从而将对基于XML文档格式的SOAP消息的处理转换为对常用数据类型的哈希表进行处理;
(53)规格化消息适配器从该哈希表对象中获取该SOAP消息请求服务的服务名;
(54)规格化消息适配器根据服务名和相应的服务方法,设置和调用该服务所需的具体事件属性;找到该事件向服务能力组件传输的上下文通道信息后,转发给服务能力组件,触发相应的业务处理逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102435933A CN101741850B (zh) | 2009-12-25 | 2009-12-25 | 面向混合网络服务的多任务并发执行***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102435933A CN101741850B (zh) | 2009-12-25 | 2009-12-25 | 面向混合网络服务的多任务并发执行***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741850A CN101741850A (zh) | 2010-06-16 |
CN101741850B true CN101741850B (zh) | 2012-05-30 |
Family
ID=42464736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102435933A Expired - Fee Related CN101741850B (zh) | 2009-12-25 | 2009-12-25 | 面向混合网络服务的多任务并发执行***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741850B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277088A (zh) * | 2016-04-06 | 2017-10-20 | 泰康保险集团股份有限公司 | 高并发业务请求处理***及方法 |
CN109639774B (zh) * | 2018-11-26 | 2021-02-05 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 动态变化环境自适应服务交互*** |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158516B (zh) * | 2010-08-19 | 2013-08-07 | 华为技术有限公司 | 服务组合编译方法及编译器 |
CN102404160B (zh) * | 2010-09-13 | 2014-04-09 | ***通信集团福建有限公司 | 智能监控实现方法和*** |
CN102111451B (zh) * | 2011-03-02 | 2014-03-19 | 上海市共进通信技术有限公司 | 基于反应堆模式的多任务处理方法 |
CN102185717A (zh) * | 2011-05-05 | 2011-09-14 | 中国联合网络通信集团有限公司 | 业务处理设备、方法及*** |
CN102833217B (zh) * | 2011-06-16 | 2017-09-15 | 中兴通讯股份有限公司 | 客户/服务器应用的处理方法及集中处理*** |
CN102238089B (zh) * | 2011-07-01 | 2017-04-12 | 中兴通讯股份有限公司 | 一种业务交互的方法、装置和*** |
CN102385734A (zh) * | 2011-11-10 | 2012-03-21 | 中国工商银行股份有限公司 | 一种实现柜面联机事务处理的***及方法 |
US9582332B2 (en) * | 2012-08-31 | 2017-02-28 | Intel Corporation | Enabling a cloud to effectively assign workloads to servers |
CN103731448B (zh) | 2012-10-11 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种压缩图片的方法和*** |
CN104244351B (zh) * | 2013-06-24 | 2019-05-21 | 中兴通讯股份有限公司 | 业务切换方法和*** |
CN103338206B (zh) * | 2013-07-10 | 2017-06-27 | 中兴智能交通股份有限公司 | 一种基于数据总线技术实现数据交换的方法及装置 |
CN103678488B (zh) * | 2013-11-12 | 2015-03-04 | 德比软件(上海)有限公司 | 分布式大批量动态任务引擎及采用其处理数据的方法 |
CN104754646B (zh) * | 2013-12-27 | 2019-05-31 | 中兴通讯股份有限公司 | 一种异构网络的负载均衡方法及装置 |
CN104753805B (zh) * | 2013-12-31 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 分布式流量控制方法、服务器和*** |
WO2015119659A1 (en) * | 2014-02-07 | 2015-08-13 | Oracle International Corporation | Cloud service custom execution environment |
CN104133724B (zh) * | 2014-04-03 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
CN103927218B (zh) * | 2014-04-30 | 2017-07-04 | 广州唯品会网络技术有限公司 | 事件分发方法及*** |
CN104410677B (zh) * | 2014-11-18 | 2017-12-19 | 北京国双科技有限公司 | 服务器负载均衡方法和装置 |
CN105094984A (zh) * | 2014-11-25 | 2015-11-25 | 航天恒星科技有限公司 | 资源调度的方法及*** |
CN106330751B (zh) * | 2015-06-18 | 2019-07-26 | 上海交通大学 | 异构网络传输下的资源动态请求时间窗口及终端缓存方法 |
CN104836836B (zh) * | 2015-03-23 | 2019-05-17 | 海尔优家智能科技(北京)有限公司 | 网络连接的方法、装置及终端 |
CN105224396B (zh) * | 2015-10-14 | 2019-10-18 | 深圳市金证科技股份有限公司 | 一种业务数据处理方法和装置 |
CN105553872A (zh) * | 2015-12-25 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种多路径数据流量负载均衡方法 |
CN105681426B (zh) * | 2016-01-22 | 2019-04-09 | 上海携程商务有限公司 | 异构*** |
CN107656824A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及相关装置和服务器 |
CN106331080A (zh) * | 2016-08-19 | 2017-01-11 | 明算科技(北京)股份有限公司 | 基于soa的资源协作***和方法 |
CN107463365A (zh) * | 2016-08-24 | 2017-12-12 | 上海幸福九号网络科技有限公司 | 一种soa解决方案***及方法 |
CN106484394B (zh) * | 2016-09-13 | 2019-07-12 | 厦门兆慧网络科技有限公司 | 一种双引擎快速软件开发*** |
CN108123974B (zh) * | 2016-11-29 | 2021-04-06 | 中兴通讯股份有限公司 | 网络呼叫方法及装置 |
CN108279973B (zh) * | 2017-01-05 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 一种信息统计方法、装置及电子设备 |
CN108512865B (zh) * | 2017-02-23 | 2021-04-16 | 北京宝兰德软件股份有限公司 | 一种Java应用服务器的EJB容器***的数据传输方法及装置 |
CN106790706B (zh) * | 2017-02-27 | 2019-11-19 | 深圳先进技术研究院 | 一种数据资源优化的方法、平台及*** |
CN108536533B (zh) * | 2017-03-06 | 2021-02-12 | 华为技术有限公司 | 一种资源调整方法及装置 |
CN107229587A (zh) * | 2017-06-09 | 2017-10-03 | 华东师范大学 | 一种接入多类型协同件的服务总线平台的工作方法 |
CN107220107B (zh) * | 2017-06-29 | 2020-06-02 | 上海新跃联汇电子科技有限公司 | 一种多时钟多任务并行实时仿真***及方法 |
CN107809362B (zh) * | 2017-11-15 | 2020-10-23 | 深圳四方精创资讯股份有限公司 | 企业服务总线的配置方法及其*** |
CN107885735B (zh) * | 2017-11-21 | 2021-05-04 | 语联网(武汉)信息技术有限公司 | 一种格式无关的文档翻译方法及*** |
CN107995312B (zh) * | 2017-12-19 | 2021-02-09 | 上海海事大学 | 一种边界网络服务流量分流***及动态分流方法 |
CN107896230B (zh) * | 2017-12-26 | 2020-04-10 | 车智互联(北京)科技有限公司 | 一种支持高并发命令执行通道的*** |
CN109547282B (zh) * | 2018-10-22 | 2022-04-12 | 中国平安人寿保险股份有限公司 | 过载保护方法、装置、计算机可读存储介质及服务器 |
CN111190720B (zh) * | 2018-11-15 | 2024-03-15 | 西安诺瓦星云科技股份有限公司 | 媒体播放方法、装置及***、服务端和存储介质 |
CN109566362B (zh) * | 2019-01-17 | 2022-03-22 | 广州大学 | 一种智能灌溉***及其控制方法 |
CN109901933B (zh) * | 2019-01-18 | 2022-02-25 | 口碑(上海)信息技术有限公司 | 业务***的操作方法及装置、存储介质、电子装置 |
CN110245178A (zh) * | 2019-07-15 | 2019-09-17 | 上海矩云信息技术有限公司 | 营销自动化管理平台***及其管理方法 |
CN112491568B (zh) * | 2019-09-11 | 2023-07-25 | 南京中兴新软件有限责任公司 | 面向光传送网的算法服务***及方法 |
CN110764700B (zh) * | 2019-10-12 | 2023-02-07 | 未鲲(上海)科技服务有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN110913039B (zh) * | 2019-12-03 | 2020-06-16 | 杭州圆石网络安全技术有限公司 | 一种数据和控制分离的tcp流漂移处理方法及其装置 |
CN111355800B (zh) * | 2020-02-28 | 2022-05-20 | 中国建设银行股份有限公司 | 服务的处理方法、装置、设备和存储介质 |
CN111880611B (zh) * | 2020-06-19 | 2022-06-28 | 深圳宏芯宇电子股份有限公司 | 用于快速交易的服务器及快速交易数据处理方法 |
CN111767043B (zh) * | 2020-06-24 | 2024-01-30 | 北京思特奇信息技术股份有限公司 | 基于业务调度引擎的跨***业务调度方法和*** |
CN111526220B (zh) * | 2020-07-06 | 2020-10-13 | 飞天诚信科技股份有限公司 | 一种高并发环境下处理信息的方法及*** |
CN111935285A (zh) * | 2020-08-12 | 2020-11-13 | 创意信息技术股份有限公司 | 一种动态负载均衡方法 |
CN111966502B (zh) * | 2020-09-21 | 2024-06-28 | 北京百度网讯科技有限公司 | 用于调整实例数的方法、装置、电子设备及可读存储介质 |
CN112434917B (zh) * | 2020-11-09 | 2023-06-27 | 西安交通大学 | 一种面向服务的孪生制造车间***重构方法 |
CN112465677A (zh) * | 2020-11-25 | 2021-03-09 | 南京鳌鱼科技有限公司 | 一种面向在线教育的教学平台 |
CN117632922B (zh) * | 2023-11-22 | 2024-04-30 | 东风日产数据服务有限公司 | 基于高并发任务处理的业务运营平台及数据处理方法 |
CN117971439B (zh) * | 2024-03-29 | 2024-06-18 | 山东云海国创云计算装备产业创新中心有限公司 | 一种任务处理方法、***、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564137A (zh) * | 2004-04-09 | 2005-01-12 | 中兴通讯股份有限公司 | 一种嵌入式***多任务并发调试的方法 |
CN1889045A (zh) * | 2005-06-30 | 2007-01-03 | 华为技术有限公司 | 多任务软件***中并发事件的处理装置和方法 |
US20080244592A1 (en) * | 2007-03-27 | 2008-10-02 | Kabushiki Kaisha Toshiba | Multitask processing device and method |
-
2009
- 2009-12-25 CN CN2009102435933A patent/CN101741850B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564137A (zh) * | 2004-04-09 | 2005-01-12 | 中兴通讯股份有限公司 | 一种嵌入式***多任务并发调试的方法 |
CN1889045A (zh) * | 2005-06-30 | 2007-01-03 | 华为技术有限公司 | 多任务软件***中并发事件的处理装置和方法 |
US20080244592A1 (en) * | 2007-03-27 | 2008-10-02 | Kabushiki Kaisha Toshiba | Multitask processing device and method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277088A (zh) * | 2016-04-06 | 2017-10-20 | 泰康保险集团股份有限公司 | 高并发业务请求处理***及方法 |
CN109639774B (zh) * | 2018-11-26 | 2021-02-05 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 动态变化环境自适应服务交互*** |
Also Published As
Publication number | Publication date |
---|---|
CN101741850A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101741850B (zh) | 面向混合网络服务的多任务并发执行***及方法 | |
CN101826987B (zh) | 一种基于融合开放网络的混合服务支撑***及方法 | |
US9479400B2 (en) | Servlet API and method for XMPP protocol | |
CN105262837B (zh) | 一种基于云计算的三网融合应用终端接入装置及实现方法 | |
CN101605147B (zh) | 一种多媒体会议***及方法 | |
US8484328B2 (en) | Apparatus and method for stateful web services enablement | |
Bouloukakis et al. | Automated synthesis of mediators for middleware-layer protocol interoperability in the IoT | |
WO2020259081A1 (zh) | 任务调度方法、装置、设备及计算机可读存储介质 | |
CN102088475B (zh) | 控制流集中数据流分布的组合服务执行***及执行方法 | |
Bo et al. | Development of Web-Telecom based hybrid services orchestration and execution middleware over convergence networks | |
CN102984272B (zh) | 一种远程控制移动终端通信能力的***及其方法 | |
Liu et al. | Data-flow distribution in FICAS service composition infrastructure | |
CN111274018A (zh) | 一种基于dl框架下的分布式训练方法 | |
WO2014036715A1 (zh) | 基于交付点的实时资源供应流程控制***和方法 | |
Du et al. | Research on service bus for distributed real-time control systems | |
MXPA05003667A (es) | Metodo y aparato para sistema de integracion de servicio. | |
Zhu et al. | Enhancing ESB based execution platform to support flexible communication Web services over heterogeneous networks | |
Zhang | Dependable ESB Routing in Hybrid Service Execution Environment. | |
Tao et al. | Application level performance optimizations for CORBA-based systems | |
CN116319983A (zh) | 一种面向服务通讯的中间件 | |
Cortes et al. | Narnia: A virtual machine for multimedia communication services | |
Liu et al. | Efficient integration of web services with distributed data flow and active mediation | |
CN117440046A (zh) | 一种针对算力网络的数据处理方法和装置 | |
Liu et al. | A Formal Model of Web Services Transport Layer | |
Liu et al. | Diversifying and improving business process management systems by service cooperation middleware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20211225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |