• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 12
    • 下载费用:30 金币  

    重庆时时彩小概率玩法计划怎么做: 一种数据库托管方法和一种数据库托管平台系统.pdf

    关 键 词:
    一种 数据库 托管 方法 平台 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201110153661.4

    申请日:

    2011.06.09

    公开号:

    CN102194009A

    公开日:

    2011.09.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20110609|||公开
    IPC分类号: G06F17/30 主分类号: G06F17/30
    申请人: 北京新媒传信科技有限公司
    发明人: 吴炳锡
    地址: 100089 北京市海淀区万泉庄路28号万柳新贵大厦A座5层
    优先权:
    专利代理机构: 北京市隆安律师事务所 11323 代理人: 权鲜枝
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201110153661.4

    授权公告号:

    102194009B||||||

    法律状态公告日:

    2013.06.05|||2011.11.23|||2011.09.21

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种数据库托管方法和一种数据库托管平台系统。所述方法包括:保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库;对主库和从库进行监控,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,修改所保存的相应数据库实例的信息,将该故障的原主库标记为不存活;当一个从库故障时,修改所保存的相应数据库实例的信息,将该从库标记为不存活;接收应用发送的数据库资源请求,根据所保存的数据库实例的信息向应用返回所请求数据库资源的信息。本发明的技术方案,能够简化应用程序的开发,并在读业务突增的情况能动态的进行扩容。

    权利要求书

    1.一种数据库托管方法,其特征在于,该方法包括:保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库;对主库和从库进行监控,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,修改所保存的相应数据库实例的信息,将该故障的原主库标记为不存活;当一个从库故障时,修改所保存的相应数据库实例的信息,将该从库标记为不存活;接收应用发送的数据库资源请求,根据所保存的数据库实例的信息向应用返回所请求数据库资源的信息。2.根据权利要求1所述的方法,其特征在于,所述保存各数据库实例的信息包括:保存第一列表和第二列表;所述第一列表中保存的数据库实例的基本信息包括:标识、所属的域、类型、域名前缀、域名对应的IP、分组、实例标识、存活标志;所述域名前缀的第一个字母表示该数据库实例为主库还是从库;所述第二列表中保存的数据库实例的信息包括:实例标识、实例名、物理主机标识、物理主机IP地址、端口号、存活标志、数据库名、主库标志、组标识、顺序标识;所述当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,修改所保存的相应数据库实例的信息,将该故障的原主库标记为不存活包括:将第一列表中的该故障主库的域名前缀的第一个字母修改为表示从库的字母,将第二列表中的该故障主库的主库标志置为无效,将第一列表和第二列表中的该故障主库的存活标志置为不存活,将第一列表中的新主库的域名前缀的第一个字母修改为表示主库的字母,将第二列表中的新主库的主库标志置为有效;所述当一个从库故障时,修改所保存的相应数据库实例的信息,将该从库标记为不存活包括:将第一列表和第二列表中的该故障从库的存活标志置为不存活;所述根据所保存的数据库实例的信息向应用返回所请求数据库资源的信息包括:根据存第一列表和第二列表中的信息,向应用返回对应物理主机的IP地址和端口号。3.根据权利要求2所述的方法,其特征在于,所述选择一个从库作为新的主库包括:从与故障主库同一组的完成同步的从库中选出顺序标识最大的从库,作为新的主库。4.根据权利要求1所述的方法,其特征在于,监控主库包括:测试主库是否能连接,如果不能连接则重试N次,每次间隔预设之间长度,如果仍连接不上,则确定该主库故障;所述N为大于1的自然数。5.根据权利要求2所述的方法,其特征在于,该方法进一步包括:监控不存活的数据库实例,当有数据库实例恢复时,将第一列表和第二列表中的对应存活标志置为存活。6.根据权利要求5所述的方法,其特征在于,该方法进一步包括:保存第三列表;在主库故障时,将该故障的主库的标识以及连接到新主库的执行语句对应保存到第三列表中;当有数据库实例恢复时,进一步用于查看第三列表中是否保存有该恢复的数据库实例的标识,如果有则执行对应的连接到新主库的执行语句,使得该恢复的数据库实例能够连接到所述新主库。7.一种数据库托管平台系统,其特征在于,该系统包括:存储???、监控??楹颓肭蟠砟??;存储???,用于保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库;监控???,用于监控主库和从库,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,相应修改存储??橹械男畔?,并将该故障的原主库标记为不存活;当一个从库故障时,相应修改存储??橹械男畔?,并将该从库标记为不存活;请求处理???,用于接收应用发送的数据库资源请求,根据存储??橹斜4娴男畔⑾蛴τ梅祷厮肭笫菘庾试吹男畔?。8.根据权利要求7所述的数据库托管平台系统,其特征在于,存储???,用于保存第一列表和第二列表;第一列表中保存的数据库实例的基本信息包括:标识、所属的域、类型、域名前缀、域名对应的IP、分组、实例标识、存活标志;所述域名前缀的第一个字母表示该数据库实例为主库还是从库;第二列表中保存的数据库实例的信息包括:实例标识、实例名、物理主机标识、物理主机IP地址、端口号、存活标志、数据库名、主库标志、组标识、顺序标识;监控???,用于在主库故障时,将第一列表中的该故障主库的域名前缀的第一个字母修改为表示从库的字母,将第二列表中的该故障主库的主库标志置为无效,将第一列表和第二列表中的该故障主库的存活标志置为不存活,将第一列表中的新主库的域名前缀的第一个字母修改为表示主库的字母,将第二列表中的新主库的主库标志置为有效;用于在从库故障时,将第一列表和第二列表中的该故障从库的存活标志置为不存活;请求处理???,用于接收应用发送的数据库资源请求时,根据存第一列表和第二列表,向应用返回对应物理主机的IP地址和端口号。9.根据权利要求8所述的数据库托管平台系统,其特征在于,所述监控???,进一步用于监控不存活的数据库实例,当有数据库实例恢复时,将第一列表和第二列表中的对应存活标志置为存活。10.根据权利要求9所述的数据库托管平台系统,其特征在于所述存储???,进一步用于保存第三列表;所述监控???,用于在主库故障时,将该故障的主库的标识以及连接到新主库的执行语句对应保存到第三列表中;当有数据库实例恢复时,进一步用于查看第三列表中是否保存有该恢复的数据库实例的标识,如果有则执行对应的连接代新主库的执行语句,使得该恢复的数据库实例能够连接到所述新主库。

    说明书

    一种数据库托管方法和一种数据库托管平台系统

    技术领域

    本发明涉及互联网技术领域,特别是涉及一种数据库托管方法和一种数据库托管平台系统。

    背景技术

    互联网高速发展的今天,服务器端的数据高并发访问需求越来越明显,但数据库的意外宕机总会带来不良的影响。对于大型互联网公司来说,各种项目接踵而来,对硬件资源的需求变得明显,机器资源不足,或是机器利用率不高等问题,严重影响着互联网公司的发展。

    传统的MySQL数据库的使用情况是:数据库资源由一个主库(Master)和一个或多个从库(Slave)组成,应用直接访问数据库资源,当业务高峰遇到慢SQL(结构化查询语言,Structured?Query?Language)会影响某台数据库主机宕机,造成业务不正常。对于多个Slave的应用,配置管理麻烦,应用程序开发复杂。

    可见,现有的数据库使用方案中,由于应用直接访问数据库,应用程序的开发需要考虑主库和从库的故障问题,以及数据库的分布情况等,因此应用程序的开发复杂。

    发明内容

    本发明提供了一种数据库托管方法,该方法能够简化应用程序的开发。

    本发明还提供了一种数据库托管平台系统,该平台系统能够简化应用程序的开发,且读压力增大时,可以动态扩容。

    为达到上述目的,本发明的技术方案是这样实现的:

    本发明公开了一种数据库托管方法,该方法包括:

    保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库;

    对主库和从库进行监控,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,修改所保存的相应数据库实例的信息,将该故障的原主库标记为不存活;当一个从库故障时,修改所保存的相应数据库实例的信息,将该从库标记为不存活;

    接收应用发送的数据库资源请求,根据所保存的数据库实例的信息向应用返回所请求数据库资源的信息。

    本发明还公开了一种数据库托管平台系统,该系统包括:存储???、监控??楹颓肭蟠砟??;

    存储???,用于保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库;

    监控???,用于监控主库和从库,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,相应修改存储??橹械男畔?,并将该故障的原主库标记为不存活;当一个从库故障时,相应修改存储??橹械男畔?,并将该从库标记为不存活;

    请求处理???,用于接收应用发送的数据库资源请求,根据存储??橹斜4娴男畔⑾蛴τ梅祷厮肭笫菘庾试吹男畔?。

    由上述可见,本发明这种实现一种数据库托管平台系统,由该平台系统将数据库作为一种资源进行管理,不同的应用到该平台系统中申请数据库使用的技术方案,使得应用程序的开发过程中不用关心数据库的分布和故障情况,大大简化了应用程序的开发过程。

    附图说明

    图1是本发明实施例中的一种数据库托管方法的流程图;

    图2是本发明实施例中的数据库托管平台的逻辑结构示意图;

    图3是本发明实施例中数据库托管平台处理应用的请求的示意图;

    图4是本发明实施例中的一种数据库托管平台系统的组成结构示意图。

    具体实施方式

    为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

    图1是本发明实施例中的一种数据库托管方法的流程图。如图1所示,包括:

    101,保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库。

    102,对主库和从库进行监控,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,修改所保存的相应数据库实例的信息,将该故障的原主库标记为不存活;当一个从库故障时,修改所保存的相应数据库实例的信息,将该从库标记为不存活。

    103,接收应用发送的数据库资源请求,根据所保存的数据库实例的信息向应用返回所请求数据库资源的信息。

    在图1所示的方法中,实现一种数据库托管平台系统,由该平台系统将数据库作为一种资源进行管理,如数据库的故障处理和扩展处理等。不同的应用到该平台系统中申请数据库使用,这种技术方案使得应用程序的开发过程中不用关心数据库的分布和故障情况,大大简化了应用程序的开发过程。并且,当需要扩展数据库时,只需要把新的数据库资源添加到该平台,保存其相应信息,这样就可以供应用程序访问使用。

    上述步骤101中保存的各数据库实例的信息包括:保存第一列表和第二列表。第一列表中保存数据库实例的基本信息,第二列表中保存数据库实例的其它相关信息。

    第一列表中保存的数据库实例的基本信息包括:标识、所属的域、类型、域名前缀、域名对应的IP、分组、实例标识、存活标志等;域名前缀的第一个字母表示该数据库实例为主库还是从库,例如在本发明的一个实施例中,用字母w表示主库,用字母r表示从库。

    在本发明的一个实施例中,第一列表具体如表1所示:

    表1

    表1中示意出了第一列表中的关于某个数据库实例的基本信息,第一列表是多个数据库实例的基本信息的集合。

    第二列表中保存的数据库实例的信息包括:实例标识、实例名、物理主机标识、物理主机IP地址、端口号、存活标志、数据库名、主库标志、组标识、顺序标识等。

    在本发明的一个实施例中,第二列表具体如表2所示:

    表2

    表2中示意出了第二列表中的关于某个数据库实例的信息,第二列表是多个数据库实例的信息的集合。

    在实际实现过程中,在数据库托管平台的监控机上启动一个进程由守护进程进行控制,根据表2所示的分组,分叉出多个进程对各个组进行检查,对于每个组的检查包括:

    当检查到主库故障时,从同组数据库中选择一个从库作为新的主库,将故障的原主库降为从库,具体为:将第一列表中的该故障主库的域名前缀(host)修改为该组从库的域名前缀(将域名前缀的第一个字母修改为表示从库的字母r),并标识为故障,将第二列表中的该故障主库的主库标志置为无效,将第一列表和第二列表中的该故障主库的存活标志置为不存活,将第一列表中的新主库的域名前缀(host)改为该组主库的域名前缀(将域名前缀第一个字母修改为表示主库的字母修w),将第二列表中的新主库的主库标志置为有效;另外还需要将存活的所有从库都连接的新的主库上。例如,当选择出一个从库作为新的主库时,在该选择出的从库上执行stopslave,同时取出show?master?status;生成change?master?to语句,分别在同组的其它从库上执行:stop?slave,change?master?to语句,startslave;交换第一列表和第二列表中的原主库和选出的从库的域名前缀(host)信息;

    其中,监控主库包括:测试主库是否能连接,如果不能连接则重试N次,每次间隔预设之间长度,如果仍连接不上,则确定该主库故障;所述N为大于1的自然数,例如取5。选择一个从库作为新的主库包括:从与故障主库同一组的完成同步的从库中选出顺序标识最大的从库,作为新的主库。

    当一个从库故障时,修改所保存的相应数据库实例的信息,具体为:将第一列表和第二列表中的该故障从库的存活标志置为不存活。在本发明的一个较佳实施例中,当检查到一个从库发生故障时,判断该故障的从库是否为该组中的最后一个从库,是则发出报警后保持现场,否则把从库下线,并在第一列表和第一列表中将其标识为不存活。

    此外,监控不存活的数据库实例,当有数据库实例恢复(能连接上去且同步正常)时,将第一列表和第二列表中的对应存活标志置为存活,使得该数据库实例加入上线的队列。

    图1中的步骤103中所述的根据所保存的数据库实例的信息向应用返回所请求数据库资源的信息包括:根据存第一列表和第二列表中的信息,向应用返回对应物理主机的IP地址和端口号,应用根据该返回的信息访问数据库资源。

    图1中的步骤101中所述的保存的各数据库实例的信息还包括:保存第三列表。在主库故障时,将该故障的主库的标识以及连接到新主库的执行语句对应保存到第三列表中;当有数据库实例恢复时,进一步用于查看第三列表中是否保存有该恢复的数据库实例的标识,如果有则执行对应的连接到新主库的执行语句,使得该恢复的数据库实例能够连接到所述新主库。

    在本发明的一个实施例中,第三列表具体如表3所示:

    表3

    当主库故障时,还需要在表3中的ChangeLogPos中记录相关的change?master?to语句,这样该从主库降为从库的数据库实例恢复的时候,可以连接的新的主库上。

    图2是本发明实施例中的数据库托管平台的逻辑结构示意图。如图2所示,APP指相关的应用程序,数据库托管平台可以通过配置多个Load?Banceing实现,Load?Banceing作为域名系统服务器(DNS?Server),多个DNS?Server之间通过MySQL的同步功能保证数据的一致性。对于APP配置Load?Banceing的IP作为DNS?Server,当APP访问数据库时会从Load?Banceing中取出该域名对应的数据库的IP,然后加上端口号连接上数据库。

    Load?Banceing配置:

    对于主库和从库在第一列表中,在host中的域名前缀用w,r做一个区别.同样对于读和写的用户也需要在用户前面加一个w和r的标识。

    开发人员申请数据库资源时数据托管平台给出的连接串分成两个,如申请一个up01的db数据资源,那么数据库托管平台需要提供给开发人员的连接串为:

    可读写连接串(主库master):

    主机:wup01.dbfeixin.com??端口:3306

    用户名:wup01_user??密码:XXXXXXXX

    只读连接串(从库slave):

    主机:rup01.dbfeixin.com??端口:3306

    用户名:rup01_user??密码:XXXXXXXX

    对于这两个连接串怎么在机器资源中分配,程序开发人员不用关注,几个从库,开发人员也不用关注,从库IDC的分布情况,应用人员也不用关注。

    Load?Banceing的高可用保障通过MySQL的复制功能可以制做多个Load?Banceing。

    图3是本发明实施例中数据库托管平台处理应用的请求的示意图。如图3所示,两根虚线中间的部分表示的是数据库托管平台,其上表示的应用,其下表示的是数据库(包括机器A、B、C、D)。数据库托管平台会数据库进行管理,动态保存数据库的相关信息。当数据库托管平台接收的应用的请求时,根据所保存的信息向应用返回对应机器(物理主机)的IP地址和端口号,使得应用根据该返回的信息访问数据库资源。应用程序对于数据库的存活,就像互联网用户访问google.com,从不用担心google.com的一个前端挂掉而影响服务,一切都交给数据库托管平台来做健康检查。数据库托管平台系统可以采用bind-dlz+MySQL实现

    基于上述实施例给出本发明中的一种数据库托管平台系统的组成结构。

    图4是本发明实施例中的一种数据库托管平台系统的组成结构示意图。如图4所示,该数据库托管平台系统包括:存储???01、监控???02和请求处理???03;

    存储???01,用于保存各数据库实例的信息;所述各数据库实例包括一个主库和一个以上的从库;

    监控???02,用于监控主库和从库,当主库故障时,选择一个从库作为新的主库,将故障的原主库降为从库,相应修改存储???01中的信息,并将该故障的原主库标记为不存活;当一个从库故障时,相应修改存储???01中的信息,并将该从库标记为不存活;

    请求处理???03,用于接收应用发送的数据库资源请求,根据存储???01中保存的信息向应用返回所请求数据库资源的信息。

    如图4所示的数据库托管平台系统中,存储???01,用于保存第一列表和第二列表;

    第一列表中保存的数据库实例的基本信息包括:标识、所属的域、类型、域名前缀、域名对应的IP、分组、实例标识、存活标志;所述域名前缀的第一个字母表示该数据库实例为主库还是从库;

    第二列表中保存的数据库实例的信息包括:实例标识、实例名、物理主机标识、物理主机IP地址、端口号、存活标志、数据库名、主库标志、组标识、顺序标识;

    监控???02,用于在主库故障时,将第一列表中的该故障主库的域名前缀的第一个字母修改为表示从库的字母,将第二列表中的该故障主库的主库标志置为无效,将第一列表和第二列表中的该故障主库的存活标志置为不存活,将第一列表中的新主库的域名前缀的第一个字母修改为表示主库的字母,将第二列表中的新主库的主库标志置为有效;用于在从库故障时,将第一列表和第二列表中的该故障从库的存活标志置为不存活;

    请求处理???03,用于接收应用发送的数据库资源请求时,根据存第一列表和第二列表,向应用返回对应物理主机的IP地址和端口号。

    在图4所示的数据库托管平台系统中,所述监控???02,进一步用于监控不存活的数据库实例,当有数据库实例恢复时,将第一列表和第二列表中的对应存活标志置为存活。

    在图4所示的数据库托管平台系统中,所述存储???01,进一步用于保存第三列表;

    所述监控???02,用于在主库故障时,将该故障的主库的标识以及连接到新主库的执行语句对应保存到第三列表中;当有数据库实例恢复时,进一步用于查看第三列表中是否保存有该恢复的数据库实例的标识,如果有则执行对应的连接代新主库的执行语句,使得该恢复的数据库实例能够连接到所述新主库。

    由上述可见,本发明这种实现一种数据库托管平台系统,由该平台系统将数据库作为一种资源进行管理,不同的应用到该平台系统中申请数据库使用的技术方案,使得应用程序的开发过程中不用关系数据库的分布和故障情况,大大简化了应用程序的开发过程。同时该方案对于有读高峰的业务可以做到动态的扩容,添加多个从库对应用程序开发透明。另一方面,可以根据应用程序所在机器的IP区分出不同的IDC,返回给相应IDC的机器IP,从而透明解决应用程序多机房布署的问题。

    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明?;さ姆段е?。

       内容来自专利网重庆时时彩单双窍门 www.4mum.com.cn转载请标明出处

    关于本文
    本文标题:一种数据库托管方法和一种数据库托管平台系统.pdf
    链接地址://www.4mum.com.cn/p-5865403.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 61投注技巧 五分彩微信群 官方赛马会彩票 网络街机捕鱼 足球比分网新浪 名扬天下双色球140期杀蓝球 新彩彩票苹果 东方6+1开奖结果 排列三走势图带 360彩票老时时彩开奖 两肖两码中特资料网站 重庆百变王牌直播 2013年彩票大奖排行 北京麻将玩法叫什么 凤凰彩票平台开户 005期波叔特码