当前位置: 首页 > 专利查询>国承斌专利>正文

基于事件驱动的WEB系统和方法技术方案

技术编号:8132576 阅读:203 留言:0更新日期:2012-12-27 05:43
本发明专利技术提供了一种基于事件驱动的WEB系统和方法,通过在服务器中加入事件注册模块与事件监测模块,从而引入了服务器端基于客户端事件请求驱动的服务流程,从而使得客户端不需周而复始的向服务器端请求数据,仅通过向服务器端注册其所关心的所有事件即可实时获取服务器端的数据和状态变化。通过把客户端的主动查询变为了被动的事件接收,客户端的事件实时性得到显著提高,此外因为没有了原有客户端周期性的查询服务器,大大降低了客户端对硬件性能的要求,也大大降低了服务器端对资源的占用,节约了服务器资源,使得相同硬件配置的服务器能够承载更多的客户端应用。而且最终客户端的业务逻辑实现变得更加简单和容易理解。

【技术实现步骤摘要】

本专利技术涉及一种基于计算机的实时通讯系统及其方法,尤其是指一种基于事件驱动的WEB系统和方法
技术介绍
随着通讯技术的不断发展,近些年来基于WEB架构开发的各类业务系统,因为其无需安装客户端软件,且系统开发周期短,可选择的技术多等特点,其开发逐渐成为应用系统的主流。现有WEB技术架构是由服务器端跟客户端组成,服务器端跟客户端通过网络相连互为通讯,虽架构简单但同样也受限于该种WEB技术架构,到目前为止公开和普遍使用的方法仍然无法真正实现基于事件驱动的系统和方法。如果系统需要实时显示或者触发事件,当前只能采用客户端定时查询的办法。參见图1,以呼叫中心系统的集中控制和调度为例,该类服务流程如下I)、客户端A定期(比如每隔I秒)向服务器端发送请求,请求服务器端将所有座席分机的当前状态返回给客户端A ;2)、服务器端收到客户端的请求后,将其所管理的所有分机的当前状态(比如正在振铃、通话中、空闲、不可用等)打包成某种数据码流格式,通过响应客户端请求的方式发送给客户端A ;对于客户端A来说,上述两步骤周而复始,当客户端增加后,例如増加了客户端B、客户端C,则客户端B、客户端C也需以同样的流程向服务器端请求数据而后服务器端再返回相应数据。 可见,现有业务流程中存在以下特点I)、服务器端的数据返回是由客户端触发的,只有客户端请求数据,服务器端才会发送响应数据给客户端;2)、多个客户端需要分别给服务器发送请求数据,否则客户端将得不到服务器端的数据更新状态;3)、客户端的查询请求周期决定了其数据更新的及时性,如果需要更及时的获取服务器端数据的更新,就需要更加频繁的向服务器端发送查询请求,但这样又同时加重了服务器端的负担,尤其是客户端数据变多时,服务器端的负担将成倍数关系增长,限制了服务器端的系统性能与容量。这种做法存在以下几个明显的缺点I)、系统效率低下。客户端要不断的轮询向服务器查询其所需数据以及状态变化情况,而轮询查询间隔如果时间太短(比如I秒或者更短)将导致客户端和服务器端资源和计算能力被大量占用,尤其是当客户端数量逐渐增多时,服务器端的资源占用情况将成倍数关系迅速增长。而如果查询间隔太长又将导致服务器端的数据更新和状态变化不能实时在客户端进行处理。2)、系统容量有限。因为客户端的这种不断轮询查询,随着客户端数量的増加,月艮务器端需要耗费更多的资源和处理能力来进行不断的响应,这将使得服务器端的资源和处理能力被严重浪费,导致整个系统的容量和处理能力受限。
技术实现思路
本专利技术的目的在于克服了上述缺陷,提供一种服务器可在事件驱动下主动发送客户端对应数据的基于事件驱动的WEB系统和方法。本专利技术的目的是这样实现的一种基于事件驱动的WEB系统,它包括服务器和经由网络相连的多个远端客户端,其特征在于所述服务器包括 核心处理模块,用于处理核心业务;身份验证模块,用于判断发送通讯请求的客户端的身份是否合法;Socket监听模块,用于监听一个网络的Socket端口号,等待网络中客户端发起通讯请求;Socket通讯模块、用于向服务器端的特定端ロ发起Socket连接请求,建立网络中客户端与服务器端的Socket通讯连接;事件注册模块,用于提供ー个对应客户端的管理列表,列表中注册记录客户端所需关注的事件内容; 事件监测模块,用于对应管理列表中事件内容实时监测服务器上对应事件的变动情况,一旦发生变动,就将该变动事件形成数据经由Socket通讯模块发送至对应客户端;上述身份验证模块与核心处理模块相连;上述Socket监听模块与Socket通讯模块相连并连入外部网络,Socket通讯模块也与外部网络相连,井分别连接事件注册模块、事件监测模块及服务器的身份验证模块;所述事件注册模块、事件监测模块分别连接核心处理模块。本专利技术还涉及ー种对应上述系统的事件驱动方法,它包括步骤,A)、监听选定Socket端口号,一旦收到客户端请求则与服务器内发起Socket连接请求,然后建立与客户端的Socket通讯连接;步骤中的Socket通讯连接由Flex或HTML5实现;B)、获取客户端信息,对其进行身份认证,通过验证则继续,否则返回错误信息;C)、接收客户端发送的事件注册信息并写入事件注册管理列表中;所述事件注册管理列表通过链表或hash表方式管理;D)、保持客户端与服务器的Socket通讯连接,根据事件注册管理列表查询服务器是否发生相应事件,若发生事件则请求服务器将当下对应事件形成数据通过Socket连接发送给客户端;E)、客户端接收到服务器的事件数据后解析,更新客户端对应数据的状态。相比于常见的WEB系统和服务方法,本专利技术的有益效果在于通过在服务器中加入事件注册模块与事件监测模块,从而引入了服务器端基于客户端事件请求驱动的服务流程,从而使得客户端不需周而复始的向服务器端请求数据,仅通过向服务器端注册其所关心的所有事件即可实施获取服务器端的数据和状态变化。通过把客户端的主动查询变为了被动的事件接收,客户端的事件实时性得到显著提高,此外因为没有了原有客户端周期性的查询服务器,大大降低了客户端对硬件性能的要求,也大大降低了服务器端对资源的占用,节约了服务器资源,使得相同硬件配置的服务器能够承载更多的客户端应用。而且最終客户端的业务逻辑实现变得更加简单和容易理解。附图说明下面结合附图详述本专利技术的具体结构图I为传统呼叫中心系统的集中控制和调度中心的服务流程图;图2为本专利技术基于事件驱动的WEB系统;图3为本专利技术WEB系统的基于事件驱动的方法流程图。具体实施方式 为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。请參阅图2,本专利技术ー种基于事件驱动的WEB系统,它包括服务器和经由网络相连的多个远端客户端。所述服务器包括有核心处理模块、身份验证模块、Socket监听模块、Socket通讯模块、事件注册 模块及事件监测模块。其中Socket监听模块与Socket通讯模块相连并连入外部网络,Socket通讯模块也与外部网络相连,Socket通讯模块还分别连接事件注册模块、事件监测模块及身份验证模块;所述事件监测模块连接核心处理模块。服务器的模块作用如下核心处理模块,用于处理核心业务,核心业务包括诸如呼叫中心应用中,各座席对应事件的内容、状态等处理,同时实时更新该类事件内容及事件状态;身份验证模块,用于判断发送通讯请求的客户端的身份是否合法(例如客户端是否经过注册、是否为系统认可用户等);Socket监听模块,用于监听一个网络的Socket端口号,等待网络中客户端发起通讯请求;Socket通讯模块、用于建立服务器端与网络中客户端的Socket通讯连接;事件注册模块,用于提供ー个对应客户端的管理列表,列表中注册记录客户端所需关注的事件内容;事件监测模块,用于对应管理列表中事件内容实时监测服务器上对应事件的变动情况,一旦发生变动,就将该变动事件形成数据经由Socket通讯模块发送至对应客户端。此处设置的事件监测模块也可以是设置在服务器外部的,其主要作用是实时更新服务器中的ー些关键状态(这些状态是客户端所关心的),需要注意的是事件监测模块应当与服务器在同一个硬件服务器上,以便实现对应服务。參见图3,本专利技术还涉及ー种对应上述系统的事件驱动本文档来自技高网
...

【技术保护点】
一种基于事件驱动的WEB系统,它包括服务器和经由网络相连的多个远端客户端,其特征在于:所述服务器包括核心处理模块,用于更新事件内容及事件状态;身份验证模块,用于判断发送通讯请求的客户端的身份是否合法;Socket监听模块,用于监听网络的Socket端口号,等待网络中客户端发起通讯请求;Socket通讯模块,用于建立与网络中客户端的Socket通讯连接;事件注册模块,用于提供一个对应客户端的管理列表,列表中注册记录客户端所需关注的事件内容;事件监测模块,用于对应管理列表中事件内容实时监测核心处理模块上对应事件的变动情况,一旦发生变动,就将该变动事件形成数据经由Socket通讯模块发送至对应客户端;上述Socket监听模块与Socket通讯模块相连并连入外部网络,Socket通讯模块也与外部网络相连,Socket通讯模块还分别连接事件注册模块、事件监测模块及服务器的身份验证模块;所述事件监测模块连接核心处理模块。

【技术特征摘要】
1.一种基于事件驱动的WEB系统,它包括服务器和经由网络相连的多个远端客户端,其特征在于所述服务器包括 核心处理模块,用于更新事件内容及事件状态; 身份验证模块,用于判断发送通讯请求的客户端的身份是否合法; Socket监听模块,用于监听网络的Socket端口号,等待网络中客户端发起通讯请求; Socket通讯模块,用于建立与网络中客户端的Socket通讯连接; 事件注册模块,用于提供ー个对应客户端的管理列表,列表中注册记录客户端所需关注的事件内容; 事件监测模块,用于对应管理列表中事件内容实时监测核心处理模块上对应事件的变动情况,一旦发生变动,就将该变动事件形成数据经由Socket通讯模块发送至对应客户端; 上述Socket监听模块与Socket通讯模块相连并连入外部网络,Socket通讯模块也与外部网络相连,Socket通讯模块还分别连接事件注册模块、事件监测模块及服务器的身份验证模块;所述事件监测模块连接核心处理模块。2.ー种用于权利要求I所述系统的事件驱动方法,其特征在于它包括步骤, A)、服务...

【专利技术属性】
技术研发人员:国承斌
申请(专利权)人:国承斌
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1