一种通过云平台到数据中心的查询系统及方法
技术领域
本发明属于云计算技术领域,更为具体地讲,涉及一种通过云平台到数据中心的查询系统及方法。
背景技术
近年来,在行业中迎面而来的最主要变化是云计算,也是业界将要面临的一个重大改变,这个变化的许多重要部分之一是云平台的到来,目前云平台主要划分成三类:IaaS平台(硬件即服务平台)、PaaS平台(平台即服务平台)、SaaS平台(软件即服务平台)。其中PaaS平台可以在云中提供开发者所需要的开发平台,包括运行时环境、数据库支持、特色服务扩展、自动化部署与运维管理。
Cloud Foundry是VMware公司于2011年4月推出的业界首款PaaS云平台,其支持扩种开发框架,如Spring、Sinatra、Node JS、Rails等;多种语言及其运行时环境环境,如Java,Ruby,Python等;多种数据库平台环境,如MySQL、PostgreSQL、MongoDB、CouchDB等。通过这些服务功能的组合,使开发人员可以在几分钟的时间内进行WEB应用的部署和扩展,而无需担心任何基础架构的问题。
Cloud Foundry自身基于Ruby语言开发,将整个平台功能划分成消息传递总线NATS、反向代理服务器Routers、应用运行容器DEA、中央管理控制器CloudController、健康监测器Health Manager、应用打包器Stager、用户接入认证系统UAA、可扩展服务框架Services等若干个部分。为支持第三方对应用服务提供扩展,Cloud Foundry官方定义了Services模块部分的开发框架,第三方可以通过重写这套框架将新的服务添加到Cloud Foundry平台中。
在Services模块部分,每种不同的服务需要提供相应的服务接入网关Gateway和服务提供节点Node,以MySQL数据库为例,Services部分由mysql_gateway(MySQL服务接入网关)和mysql_node(MySQL服务提供节点)组成,在mysql_node上承载MySQL数据库,mysql_gateway则负责统一管理mysql_node上的所有服务实例。如果需要创建一个服务实例,则由Cloud Controller发出,由mysql、gateway分配服务实例,然后由Cloud Controller进行WEB应用与服务实例的绑定,绑定后的WEB应用则会部署在DEA上运行,WEB应用绑定服务实例后不需要通过mysql_gateway才能访问服务实例,而是可以直接与mysql_node进行通信。目前Cloud Foundry官方开源代码中Services部分提供的服务全部都是基础数据库的租用服务,提供的业务仅仅局限于数据库的存储服务业务,对于许多拥有自身数据中心的企业而言,并未提供一套方案将数据中心的业务融合到平台中。
其次,传统的技术方案实现中,数据中心一般建设于企业内部的专用网络内,这种方案对于企业内部而言,可以提供高效的访问速率、易于维护以及安全性等重要特性。同时该方案下外界无法获取数据中心内部的资源数据,虽然这提高了安全性,但一些场景下企业还是希望将这部分信息数据提供给外界使用,这时候企业则需要专门架设服务器用于承载接入访问的连接、设计外界访问的接口,提供外部接入的各种开发工具组件。这种模式不仅会造成许多企业的重复建设,并且面对各种不同的数据中心的接口工具,外界开发者的学习成本也非常昂贵,开发效率低下。
发明内容
本发明的目的在于克服现有技术的不足,提供一种通过云平台到数据中心的查询系统及方法,使云平台与数据中心得到有效融合,同时具有可扩展、高准确度以及低成本的性能。
为实现上述发明目的,本发明通过云平台到数据中心的查询系统,其特征在于,包括:
数据查询服务组件网关(DGateway):用于负责调度管理所有DNode节点,实现DNode上服务实例的分配调度工作;
数据查询服务组件服务节点(DNode):与DGateway节点配合,用于管理本地服务实例,记录用户与其注册的服务实例信息并进行绑定;
数据查询客户端:数据查询客户端分别与DNode节点和中央查询集群连接,用于将数据查询客户端部署在每个DNode节点上,每个DNode节点则通过查询客户端与中央查询集群进行注册、登陆、查询;
中央查询集群:包括中央认证系统、数据中心接入管理系统和中央查询服务器,用于将云平台以统一方式接入到不同数据中心,并以中间件的形式处理云平台所有的查询请求,同时与数据中心交互,从数据中心中获取信息数据,最后将查询结果返回给数据查询客户端;
数据中心:提供数据的承载数据业务;
所述的数据查询客户端包括:
注册管理模块:与用户管理模块连接,用于实现服务实例在中央查询系统集群中的注册管理工作,执行服务实例的整个注册流程;
登陆接入模块:登陆接入模块通过查询本地的数据库获取用户所绑定的服务实例信息,然后通过与中央查询集群的认证模块交互,登陆中央查询服务器,实现用户的登陆管理工作;
查询系统接口驱动模块:用于将用户请求转发至中央查询集群的查询队列模块,在获取查询结果后向用户返回查询结果;
所述的中央认证系统包括:
用户管理模块:用于管理所有注册的服务实例信息;
认证模块:与令牌管理模块连接,用于实现查询客户端的接入认证工作;
令牌管理模块:用于管理所有登陆的服务实例的令牌信息;
所述的数据中心接入管理系统包括:
数据中心接入模块:用于将中央查询集群接入到不同的数据中心;
数据中心管理模块:通过数据中心接入模块管理所有数据中心的信息,监控不同数据中心的健康状况,以及中央查询集群对数据中心的注册管理工作;
数据中心信息库:用于记录数据中心的接入认证信息、健康状态信息;
所述的中央查询服务器包括:
查询队列模块:用于对所有的查询请求进行排队调度管理;
查询结果缓存模块:在中央查询集群上设置查询结果缓存,用于缓存数据中心返回的查找结果,并处理所有新的查询,如果缓存中存在用户需要的查询结果,则直接返回查询结果;
数据中心接口驱动模块:用于在查询结果缓存模块中不存在用户所需查询结果下,进入数据中心进行结果查询。
本发明还提供一种通过云平台到数据中心的查询方法,其特征在于,包括以下步骤:
(1)、启动系统后用户登录到数据查询客户端,用户则通过数据查询客户端发送查询请求;
(2)、查询系统接口驱动模块根据查询请求中的信息查看是否已经获取了访问中央查询服务器的令牌,如果已获取令牌,则可以转发用户的查询请求,进入步骤(3),如果没有获取令牌,则返回错误信息;
(3)、通过查询队列模块对所有的查询请求进行排队处理;
(4)、在查询结果缓存模块上查找用户需要的信息,如果在查询结果缓存模块中获取到查询结果,则通过查询系统接口驱动模块将查询结果返回给用户,如果查询结果缓存模块中没有找到查询结果,则通过数据中心接口驱动模块中的接口向数据中心查询相关的查询结果;
(5)、在数据中心查询用户需要结果,数据中心查找到相关结果,数据中心则通过查询系统接口驱动模块把查询结果返回给用户,同时数据中心将结果存放入查询结果缓存模块中,如果没有查询到相关结果则数据中心则通过查询系统接口驱动模块把错误信息返回给用户。
本发明的发明目的是这样实现的:
本发明通过云平台到数据中心的查询系统及方法,通过云平台中的中央查询集群以统一方式接入到不同的数据中心,使云平台与数据中心有效的融合在一起,具备高扩展性,也提高了查询的准确度,用户通过云平台到数据中心查询相关结果时,先在查询结果缓存模块中查询,当存在用户需要的相关查询结果则直接返回给用户,当不存在时则通过数据中心查询,再把查询结果返回给用户,同时缓存在查询结果缓存模块,便于以后用户查询,这样提高了资源利用率和查询效率,同时降低了成本。
同时,本发明通过云平台到数据中心的查询系统及方法还具有以下有益效果:
(1)、通过连接不同数据中心,将数据中心接入中央查询集群后,可以关闭有冗余的数据中心,减少数据中心的重复建设,从而节约成本;
(2)、通过统一的中央查询集群接入不同的数据中心,具有高扩展性,同时也提高了查询的准确度;
(3)、通过统一的中央查询集群,很大程度简化搜索查询过程中的流程,不需要在不同的数据中心间来回检索,提高了资源的利用率;
(4)、以服务的形式提供数据中心的数据,让数据资源的价值得到更好的利用,创造了更多的价值。
附图说明
图1是本发明通过云平台到数据中心的查询系统一种具体实施方式架构图;
图2是本发明通过云平台到数据中心的查询系统的原理框图;
图3是本发明通过云平台到数据中心的查询方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明通过云平台到数据中心的查询系统的一种具体实施方式架构图。
在本实施例中,如图1所示,本发明通过云平台到数据中心的查询系统,由云平台的DGateway节点、多个DNode节点、多个数据查询客户端和一个中央查询集群接入到不同的数据中心,其中:
DGateway节点:用于负责调度管理所有DNode节点,实现DNode上服务实例的分配调度工作;
DNode节点:与Gateway节点配合,用于管理本地服务实例,并记录用户与其注册的服务实例的绑定信息;
数据查询客户端:数据查询客户端分别与DNode节点和中央查询集群连接,用于将数据查询客户端部署在每个DNode节点上,每个DNode节点则通过查询客户端与中央查询集群进行注册、登陆、查询;
中央查询集群:包括中央认证系统、数据中心接入管理系统和中央查询服务器,用于将云平台以统一方式接入到不同数据中心,并以中转站的形式处理云平台所有的查询请求,同时与数据中心交互,从数据中心中获取信息数据;
数据中心:提供数据的承载数据业务。
图2是本发明通过云平台到数据中心的查询系统的原理框图。
如图2所示,本发明通过云平台到数据中心的查询系统,包括:DGateway节点、DNode节点、数据查询客户端、中央查询集群和数据中心。
其中,数据查询客户端包括:
注册管理模块:与用户管理模块连接,用于实现服务实例在中央查询系统集群中的注册管理工作,执行服务实例的整个注册流程;
登陆接入模块:登陆接入模块通过查询本地的数据库获取用户所绑定的服务实例信息,然后通过与中央查询集群的认证模块交互,登陆中央查询服务器,实现用户的登陆管理工作;
查询系统接口驱动模块:用于将用户请求转发至中央查询集群的查询队列模块,在获取查询结果后向用户返回查询结果;
中央查询集群包括包括中央认证系统、数据中心接入管理系统和中央查询服务器,其中,
中央认证系统包括:
用户管理模块:用于管理所有注册的服务实例信息;
认证模块:与令牌管理连接,用于实现查询客户端的接入认证工作;
令牌管理模块:用于管理所有登陆的服务实例的令牌信息;
数据中心接入管理系统包括:
数据中心接入模块:用于将中央查询集群接入到不同的数据中心;
数据中心管理模块:通过数据中心接入模块管理所有数据中心的信息,监控不同数据中心的健康状况,以及中央查询集群对数据中心的注册管理工作;
数据中心信息库:用于记录数据中心的接入认证信息、健康状态信息;
中央查询服务器包括:
查询队列模块:用于对所有的查询请求进行排队调度管理;
查询结果缓存模块:在中央查询集群上设置查询结果缓存,用于缓存数据中心返回的查找结果,并处理所有新的查询,如果缓存中存在用户需要的查询结果,则直接返回查询结果;
数据中心接口驱动模块:用于在查询结果缓存模块中不存在用户所需查询结果下,进入数据中心进行结果查询。
图3是本发明通过云平台到数据中心的查询方法的流程图。
(1)、查询请求:WEB APP在登陆到查询客户端后,向查询客户端发送查询请求;
(2)、令牌检查:查询系统接口驱动模块根据查询请求中的信息查看是否已经获取了访问中央查询服务器的令牌,如果获取令牌,进入步骤(3),如果没有获取令牌,则返回错误信息;
(3)、转发查询请求:转发用户的查询请求;
(4)、排队:通过查询队列模块对所有的查询请求进行排队处理;
(5)、查询:在查询结果缓存模块上查找用户需要的信息;
(6)、成功-返回查询结果:在查询结果缓存模块中获取到查询结果,则将查询结果返回给查询系统接口驱动模块;
(7)、失败-转发查询请求:在查询结果缓存模块中没有获取到查询结果,则转发查询请求给数据中心接口驱动模块;
(8)、查询:通过数据中心接口驱动模块中的接口向数据中心查询相关的查询结果;
(9)、返回:数据中心查找到相关结果,数据中心则通过查询系统接口驱动模块把查询结果返回给用户,同时数据中心将结果存放入查询结果缓存模块中,便于后面的请求进行查询;
(10)、返回:数据中心没有查找到相关结果,数据中心则通过查询系统接口驱动模块把错误信息返回给用户。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。