基于云计算平台的本地关系型数据库节点调度方法和装置制造方法及图纸

技术编号:9838065 阅读:141 留言:0更新日期:2014-04-02 01:57
本发明专利技术公开了一种基于云计算平台的本地关系型数据库节点调度方法,用以解决现有技术中在使用关系型数据库服务时,存在的可用性和可靠性较差,且容易出现单点故障的问题。该方法包括:数据库代理模块接收本地开发引擎在调试应用程序时发送的SQL语句,并确定所述SQL语句包含的数据库操作命令;根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点;并将所述SQL语句包含的数据库操作命令发送给确定的数据库节点执行。本发明专利技术还公开了一种基于云计算平台的本地关系型数据库节点调度装置。

【技术实现步骤摘要】
基于云计算平台的本地关系型数据库节点调度方法和装置
本专利技术涉及云计算
,尤其涉及一种基于云计算平台的本地关系型数据库节点调度方法和装置。
技术介绍
云计算技术(cloudcomputing)是当前信息技术发展的一个重要方向,它是指基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且虚拟化的网络资源。云计算技术在使用过程中主要分为三个层次:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。其中,PaaS(PlatformasaService,平台即服务)是指将软件研发的平台作为一种服务,并把各种服务资源开放式地提供给开发者使,对使用的服务资源进行合理收费,同时对开发的应用程序进行托管和运维。现有技术中,云计算运行引擎平台所包含的关系型数据库节点可以为开发者提供服务,该节点是建立在关系模型基础上的数据库节点,借助于集合代数等数学概念和方法来处理关系型数据库中的数据。开发者在开发调试应用程序时,可以申请使用云计算关系型数据库节点提供的服务,包括:创建数据库、数据库表并进行数据插入、修改、删除、选择等操作。目前,开发调试应用程序时主要采用以下两种方式使用云计算关系型数据库节点提供的服务:第一种方式是通过互联网直接使用云计算运行引擎平台提供的关系型数据库节点。如图1所示,基于开发者本地的开发引擎统一集成开发工具,将开发完的应用程序部署到云计算运行引擎平台后,通过查看云计算运行引擎平台的运行日志,来调试使用云计算关系型数据库服务的云计算应用程序。但是这种方式要求开发者必须在能够连接互联网的状态下,才可使用申请的云计算运行引擎平台提供的关系型数据库服务,这样对应用程序的调试环境提出了相对较高的要求;此外,开发者开发的应用程序难免会存在bug,这些bug一旦随应用程序部署到云计算运行引擎平台后,很容易成为云计算运行引擎平台的安全隐患。为了克服第一种方式存在的缺陷,在实际应用中又出现了第二种方式,即在开发者本地单机模拟云计算运行引擎平台提供的关系型数据库节点。如图2所示,在本地预安装一个能够模拟云计算运行引擎平台提供的关系型数据库节点,这样调用云计算关系型数据库节点就转变为调用本地关系型数据库节点,这样既能够使开发者在不联网的条件下也能调试自己开发的应用程序,又可以让应用程序中存在的bug暴露在本地开发引擎,避免对云计算运行引擎平台造成危害。但是,这种方式在使用过程中没有考虑到大量应用程序集中调用关系型数据库服务的情况,而只是有限地在本地安装一个模拟的关系型数据库节点,从而会导致无法满足不同开发者的并发请求。并且,一旦模拟的该关系型数据库节点出现单点故障,将会导致数据的丢失。因此,第二种方式存在针对集群系统的可用性、可靠性较差的缺点,而且出现单点故障的风险较高。
技术实现思路
本专利技术实施例提供一种基于云计算平台的本地关系型数据库节点的调度方法和装置,用以解决现有技术中在使用关系型数据库服务时,存在的可用性和可靠性较差、且容易出现单点故障的问题。本专利技术实施例采用以下技术方案:一种基于云计算平台的本地关系型数据库节点调度方法,包括:数据库代理模块接收本地开发引擎在调试应用程序时发送的SQL语句,并确定所述SQL语句包含的数据库操作命令,所述数据库操作命令表征针对关系型数据的操作类型;根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点;并将所述SQL语句包含的数据库操作命令发送给确定的数据库节点执行;其中,所述本地关系型数据库节点集群包含至少一个双子树数据库节点单元,该单元包括:两个主数据库节点和四个从数据库节点;一个主数据库节点对应两个从数据库节点,不同主数据库节点对应不同的从数据库节点,主、从数据库节点分别对应于针对数据库的不同操作类型,且从数据库节点中备份有相应的主数据库节点中存储的关系型数据。一种基于云计算平台的本地关系型数据库节点调度装置,包括:第一接收单元,用于接收本地开发引擎在调试应用程序时发送的SQL语句,并确定所述SQL语句包含的数据库操作命令,所述数据库操作命令表征针对关系型数据的操作类型;确定单元,用于根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点;调度单元,用于将所述SQL语句包含的数据库操作命令发送给确定的数据库节点执行;其中,所述本地关系型数据库节点集群包含至少一个双子树数据库节点单元,该单元包括:两个主数据库节点和四个从数据库节点;一个主数据库节点对应两个从数据库节点,不同主数据库节点对应不同的从数据库节点,主、从数据库节点分别对应于针对数据库的不同操作类型,且从数据库节点中备份有相应的主数据库节点中存储的关系型数据。本专利技术实施例的有益效果如下:本专利技术实施例通过数据库代理模块接收本地开发引擎在调试应用程序时发送的SQL语句,并确定SQL语句包含的数据库操作命令,并根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定数据库操作命令表征的操作类型所对应的数据库节点,最后将SQL语句包含的数据库操作命令发送给确定的数据库节点执行,这样不仅能够避免开发者必须实时联网才能获得云计算运行引擎平台的关系型数据库服务的情形,而且还为本地开发引擎提供一个本地关系型数据库节点集群,能够同时处理不同开发者的并发请求,降低了关系型数据库节点单点故障的风险,实现了本地关系型数据库服务的高可用性,也提高了本地关系型数据库服务的可靠性。附图说明图1为通过互联网使用云计算运行引擎平台提供的关系型数据库节点的示意图;图2为本地单机模拟云计算运行引擎平台提供的单关系型数据库节点的示意图;图3为本专利技术实施例提供的一种基于云计算平台的本地关系型数据库节点的调度方法的主要流程示意图;图4为本专利技术实施例提供的一种本地模拟的云计算关系型数据库服务的结构示意图;图5为本专利技术实施例提供的一种基于云计算平台的本地关系型数据库节点的调度方法的具体流程图;图6为本专利技术实施例提供的一个双子树数据库节点单元的结构图;图7为本专利技术实施例提供的本地开发引擎中本地关系型数据库集群与云计算运行引擎平台中的关系型数据库集群交互的流程示意图;图8为本专利技术实施例提供的一种基于云计算平台的本地关系型数据库节点的调度装置的结构示意图。具体实施方式针对现有技术中在使用关系型数据库服务时,存在的可用性和可靠性较差、且容易出现单点故障的问题,本专利技术实施例提供了一种基于云计算平台的本地关系型数据库节点调度的方案。通过数据库代理模块接收本地开发引擎在调试应用程序时发送的SQL语句,并确定SQL语句包含的数据库操作命令,并根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定数据库操作命令表征的操作类型所对应的数据库节点,最后将SQL语句包含的数据库操作命令发送给确定的数据库节点执行,这样不仅能够避免开发者必须实时联网才能获得云计算运行引擎平台的关系型数据库服务的情形,而且还为本地开发引擎提供一个本地关系型数据库节点集群,能够同时处理不同开发者的并发请求,降低了本文档来自技高网
...
基于云计算平台的本地关系型数据库节点调度方法和装置

【技术保护点】
一种基于云计算平台的本地关系型数据库节点调度方法,其特征在于,包括:数据库代理模块接收本地开发引擎在调试应用程序时发送的SQL语句,并确定所述SQL语句包含的数据库操作命令,所述数据库操作命令表征针对关系型数据的操作类型;根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点;并将所述SQL语句包含的数据库操作命令发送给确定的数据库节点执行;其中,所述本地关系型数据库节点集群包含至少一个双子树数据库节点单元,该单元包括:两个主数据库节点和四个从数据库节点;一个主数据库节点对应两个从数据库节点,不同主数据库节点对应不同的从数据库节点,主、从数据库节点分别对应于针对数据库的不同操作类型,且从数据库节点中备份有相应的主数据库节点中存储的关系型数据。

【技术特征摘要】
1.一种基于云计算平台的本地关系型数据库节点调度方法,其特征在于,包括:数据库代理模块接收本地开发引擎在调试应用程序时发送的SQL语句,并确定所述SQL语句包含的数据库操作命令,所述数据库操作命令表征针对关系型数据的操作类型;根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点;并将所述SQL语句包含的数据库操作命令发送给确定的数据库节点执行;其中,所述本地关系型数据库节点集群包含至少一个双子树数据库节点单元,该单元包括:两个主数据库节点和四个从数据库节点;一个主数据库节点对应两个从数据库节点,不同主数据库节点对应不同的从数据库节点,主、从数据库节点分别对应于针对数据库的不同操作类型,且从数据库节点中备份有相应的主数据库节点中存储的关系型数据;不同主数据库节点之间通过心跳连接监控彼此状态,主数据库节点通过其与相应的从数据库节点之间的心跳连接监控从数据库节点的状态。2.如权利要求1所述的方法,其特征在于,所述方法还包括:数据库代理模块接收节点故障消息;当所述节点故障消息用于表示主数据库节点发生故障时,通知与发生故障的主数据库节点之间建立有心跳连接的其他主数据库节点,根据全量更新方式将自身存储的关系型数据同步到新增的主数据库节点中;其中,所述节点故障消息是:发送所述节点故障消息的主数据库节点通过与其他主数据库节点之间的心跳连接,监控到有主数据库节点发生故障后发送的;当所述节点故障消息用于表示从数据库节点发生故障时,通知发生故障的从数据库节点对应的主数据库节点,根据全量更新方式将自身存储的关系型数据同步到新增的从数据库节点中;其中,所述节点故障消息是:发送所述节点故障消息的主数据库节点通过与其对应的从数据库节点之间的心跳连接,监控到有从数据库节点发生故障后发送的。3.如权利要求1所述的方法,其特征在于,还包括:判断所述SQL语句是否包含恶意攻击内容和错误语法内容;则根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点,具体包括:在判断结果为否时,根据预先设置的操作类型与本地关系型数据库节点集群包含的不同类型的数据库节点的对应关系,确定所述数据库操作命令表征的操作类型所对应的数据库节点。4.如权利要求3所述的方法,其特征在于,所述恶意攻击内容包括:口令入侵、特权提升、漏洞入侵、SQL注入、窃取备份中的一项或多项内容;所述判断SQL语句是否包含错误语法内容,具体包括:判断所述SQL语句是否符合SQL语法标准。5.如权利要求1~4任一所述的方法,其特征在于,还包括:根据本地关系型数据库节点集群包含的各数据库节点上报的表征其负载的性能指标数据,以及预先为不同性能指标分别分配的权值,分别确定各数据库节点的负载情况;则将所述SQL语句包含的数据库操作命令发送给确定的数据库节点执行,具体包括:当所述数据库操作命令表征的操作类型对应主数据库节点时,根据主数据库节点的负载情况,将相应的数据库操作命令发送给具有最小负载的主数据库节点执行;当所述数据库操作命令表征的操作类型对应从数据库节点时,根据从数据库节点的负载情况,将相应的数据库操作命令发送给具有最小负载的从数据库节点执行。6.如权利要求5所述的方法,其特征在于,若具有最小负载的主数据库节点有多个;则根据主数据库节点的负载情况,将相应的数据库操作命令发送给具有最小负载的主数据库节点执行,具体包括:按照轮询机制,将相应的数据库操作命令发送给具有最小负载的主数据库节点中的一个主数据库节点执行。7.如权利要求6所述的方法,其特征在于,若具有最小负载的从数据库节点有多个;则根据从数据库节点的负载情况,将相应的数据库操作命令发送给...

【专利技术属性】
技术研发人员:杨帅王磊建刘涛孔令军
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

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

1