一种基于面向服务的分布式请求处理系统技术方案

技术编号:14765950 阅读:265 留言:0更新日期:2017-03-08 10:19
本发明专利技术提供了一种基于面向服务的分布式请求处理系统,包括:主服务器管理器、从属于该主服务器管理器的多个主服务器以及从属于各主服务器的多个从服务器,所述主服务器管理器根据客户端的请求,查询与该请求的类型对应的空闲主服务器并将所述主服务器的信息返回给所述客户端;所述主服务器接收来自所述客户端的请求信息,并将该请求信息发送至选定的从服务器中进行处理;所述从服务器对所述请求信息进行处理并将处理结果通过所述主服务器返回至所述客户端。本发明专利技术的架构使用廉价PC服务器,通过横向扩展服务器集群,按照主从节点的模式,支持海量数据的分布式计算。相比使用大型机服务器,本发明专利技术所述架构成本低,可扩展性好。

【技术实现步骤摘要】

本专利技术涉及计算机技术的软件开发领域,具体涉及一种基于面向服务的分布式请求处理系统
技术介绍
随着业务数据量的爆炸式增长,传统的客户端服务器模型已经无法适应大数据环境下海量的应用请求。目前处理和分析海量数据的方法主要有:1、使用大型机服务器甚至服务器集群。从提高硬件处理能力的角度,提高了服务器端处理海量请求的能力。大型机使用专用的处理器指令集、操作系统和应用软件。在I/O能力、稳定性、安全性等方面,大型机与廉价服务器相比具有显著优势。2、使用基于Hadoop的分布式系统。以分布式文件系统(DFS)为存储系统,以MapReduce为计算模型的分布式框架,由数千台廉价服务器组成。对于大数据的分析与处理,Hadoop等分布式系统已经在实践中得到了广泛的应用,日志处理,用户行为分析等一系列大数据应用通过Hadoop平台得到了解决。然而,在上述这些方法中,大型机和服务器集群的价格往往十分昂贵,虽然具有更强的I/O能力和计算能力,但如果缺乏有效的优化调度,也会造成I/O和计算资源的浪费,因此必须搭配一套中间件系统,对海量请求进行缓冲、优化,以发挥大型机和服务器集群的最大性能。基于Hadoop的分布式系统,非常适合离线大数据分析应用,但对于在线的应用,特别是基于事务的数据库访问,Hadoop缺乏对事务的保护。此外,Hadoop只是一个分布式计算和分布式存储平台,对于客户端的海量请求,同样需要一套请求的监听和缓冲系统。因此,Hadoop可以看做是面向服务的分布式软件架构中负责分布式计算的一个模块。
技术实现思路
为了解决上述技术问题,本申请的实施例首先提供了一种基于面向服务的分布式请求处理系统,该系统,包括:主服务器管理器、从属于该主服务器管理器的多个主服务器以及从属于各主服务器的多个从服务器,所述主服务器管理器根据客户端的请求,查询与该请求的类型对应的空闲主服务器并将所述主服务器的信息返回给所述客户端;所述主服务器接收来自所述客户端的请求信息,并将该请求信息发送至选定的从服务器中进行处理;所述从服务器对所述请求信息进行处理并将处理结果通过所述主服务器返回至所述客户端。优选地,所述主服务器管理器对所有主服务器进行心跳检测,在检测到主服务没有心跳时则将其移除。优选地,还包括消息接口,所述消息接口支持发布订阅模式,在所述多个从服务器同时执行一个长计算请求时,各个从服务器通过所述消息接口互相通信,同时,所述消息接口发布所述长计算请求中各个从服务器的中间结果和/或各个从服务器之间的共享状态。优选地,还包括缓存服务器,若请求为数据库查询请求时,则客户端访问所述缓存服务器,判断所述缓存服务器中是否存储有相应的数据库查询结果,如果有则获取所述数据库查询结果,否则客户端将所述数据库查询请求发送至数据库主服务器中,数据库主服务器将该请求信息发送至选定的数据库从服务器中进行查询处理,进而获取数据库查询结果,其中,所述缓存服务器将数据库历史的查询语句和查询结果相关联地进行存储。优选地,所述缓存服务器根据数据库历史的查询语句判断其中是否存在相应的数据库的表名,若存在则判断该表名是否被标记过期,若该表名未被标记过期则获取与之对应的数据库查询结果。优选地,若该表名被标记过期,则数据库从服务器将获取的数据库查询结果通过数据库主服务器发送至所述缓存服务器中用来更新过期的数据库查询结果,所述缓存服务器取消该表名的过期标记。优选地,所述数据库主服务器基于优先级对请求队列进行调度优化来执行对数据库进行编辑的编辑请求。优选地,所述数据库主服务器在每次执行编辑请求之前,将所述请求队列拷贝到本地的本地队列中。优选地,所述数据库主服务器首先执行请求队列中所有对应编辑请求的数据库删除操作、然后执行所有对应编辑请求的数据库添加操作,之后执行所有对应编辑请求的数据库更新操作,最后执行所有对应编辑请求的数据库读取操作。与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果。本专利技术的架构使用廉价PC服务器,通过横向扩展服务器集群,按照主从节点的模式,支持海量数据的分布式计算。相比使用大型机服务器,本专利技术所述架构成本低,可扩展性好。同时,本专利技术通过针对长计算请求,数据库请求等不同类型的请求,使用不同类型的主服务器进行处理,因此支持基于请求类型的优化调度,避免了I/O和计算资源的浪费。同时,针对数据库请求的请求队列优化和缓存技术,也提高了本专利技术所述架构的整体性能。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术的技术方案而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。附图说明附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。图1是本专利技术实施例的基于面向服务的分布式请求处理系统的结构框图。图2是本专利技术实施例的(常规)主服务器的框架图。图3是本专利技术实施例的缓存结构的示意图。图4是利用图1所示系统执行一般请求处理的流程示意图。图5是利用图1所示系统执行数据库访问请求处理的流程示意图。图6是图1所示的基于面向服务的分布式请求处理系统工作时的时序图。具体实施方式以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本专利技术的保护范围之内。另外,附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。随着业务数据量的爆炸式增长,传统的客户端服务器模型已经无法适应大数据环境下海量的应用请求。本专利技术实施例以主从(Master-Slave)分布式模型为框架基础,提出了一种基于面向服务的分布式请求处理系统,本系统中主服务器管理器负责管理不同类型的主服务器的地址和状态信息,具体的主服务器负责接收客户端的请求并进行异步派发,最后由从服务器执行具体的请求处理。本系统支持同步、异步请求访问,基于优先级请求队列的调度优化和缓冲服务器,旨在提高在大数据量访问时服务器端的吞吐量、健壮性和处理请求的效率。需要说明的是,虽然本专利技术实施例的系统在具体应用时也是基于多个服务器的服务器集群来实现的,但是相比
技术介绍
中提到的大型机服务器集群来说,使用廉价的服务器即可实现本系统。图1是本专利技术实施例的基于面向服务的分布式请求处理系统的结构框图。如图1所示,该分布式请求处理系统主要包括主服务器管理器(后文简称Master管理器)10、从属于Master管理器10的多个主服务器(后文简称Master)20(例如图中的DB主服务器和SDE主服务器)以及从属于每个Master20的多个从服务器(后文简称Slave)30。主服务器管理器10根据客户端的请求,查询与该请求的类型对应的空闲主服务器20并将主服务器20的信息返回给客户端;主服务本文档来自技高网
...
一种基于面向服务的分布式请求处理系统

【技术保护点】
一种基于面向服务的分布式请求处理系统,包括:主服务器管理器、从属于该主服务器管理器的多个主服务器以及从属于各主服务器的多个从服务器,所述主服务器管理器根据客户端的请求,查询与该请求的类型对应的空闲主服务器并将所述主服务器的信息返回给所述客户端;所述主服务器接收来自所述客户端的请求信息,并将该请求信息发送至选定的从服务器中进行处理;所述从服务器对所述请求信息进行处理并将处理结果通过所述主服务器返回至所述客户端。

【技术特征摘要】
1.一种基于面向服务的分布式请求处理系统,包括:主服务器管理器、从属于该主服务器管理器的多个主服务器以及从属于各主服务器的多个从服务器,所述主服务器管理器根据客户端的请求,查询与该请求的类型对应的空闲主服务器并将所述主服务器的信息返回给所述客户端;所述主服务器接收来自所述客户端的请求信息,并将该请求信息发送至选定的从服务器中进行处理;所述从服务器对所述请求信息进行处理并将处理结果通过所述主服务器返回至所述客户端。2.根据权利要求1所述的系统,其特征在于,所述主服务器管理器对所有主服务器进行心跳检测,在检测到主服务没有心跳时则将其移除。3.根据权利要求1所述的系统,其特征在于,还包括消息接口,所述消息接口支持发布订阅模式,在所述多个从服务器同时执行一个长计算请求时,各个从服务器通过所述消息接口互相通信,同时,所述消息接口发布所述长计算请求中各个从服务器的中间结果和/或各个从服务器之间的共享状态。4.根据权利要求1~3中任一项所述的系统,其特征在于,还包括缓存服务器,若请求为数据库查询请求时,则客户端访问所述缓存服务器,判断所述缓存服务器中是否存储有相应的数据库查询结果,如果有则获取所述数据库查询结果,否则客户端将所述数据库查询请求发送至数据库主服...

【专利技术属性】
技术研发人员:盛秀杰张桓彭成曹晋
申请(专利权)人:中国石油化工股份有限公司中国石油化工股份有限公司石油勘探开发研究院
类型:发明
国别省市:北京;11

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

1