CN103677967B - 一种数据库的远程数据服务***及任务调度方法 - Google Patents
一种数据库的远程数据服务***及任务调度方法 Download PDFInfo
- Publication number
- CN103677967B CN103677967B CN201210322629.9A CN201210322629A CN103677967B CN 103677967 B CN103677967 B CN 103677967B CN 201210322629 A CN201210322629 A CN 201210322629A CN 103677967 B CN103677967 B CN 103677967B
- Authority
- CN
- China
- Prior art keywords
- task
- module
- storage node
- backup
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000005540 biological transmission Effects 0.000 title abstract 3
- 238000013508 migration Methods 0.000 claims abstract description 60
- 230000005012 migration Effects 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims description 44
- 238000012544 monitoring process Methods 0.000 claims description 21
- 230000007717 exclusion Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 13
- 241001522296 Erithacus rubecula Species 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims description 5
- 238000004140 cleaning Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000012423 maintenance Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据库的远程数据服务***,一种远程数据服务***中的任务调度方法。所述的***包括任务调度模块、高可用控制模块、备份模块和在线迁移模块。对用户而言,使用本申请无需自建服务器和数据库,节省了时间提高了效率,同时若用户业务量增大,只需要增加存储节点即可,数据迁移等问题都可以由***完成,用户使用非常方便,效率较高。
Description
技术领域
本申请涉及数据技术,特别是涉及一种数据库的远程数据服务***,一种远程数据服务***中的任务调度方法。
背景技术
随着互联网的发展,互联网打破了地域的分割,形成了一个统一的大市场。现有技术中企业发展互联网业务需要有自己的服务器和数据库,但不是所有的企业都能够实现,并且服务器和数据库的维护成本比较高。
若用户自建数据库,特别是对那些非计算机技术相关的企业而言,需要聘请专业人员,了解企业需求的数据库的性能和压力状况,然后购买并搭建硬件***,并且需要自己编写在该硬件中运行的数据库脚本等,用户自行建立服务器和数据库的周期是非常长的,期间可能面临各种技术问题要解决,建立的方法非常繁琐,并且效率也较低。
同时,自建的服务器和数据库还需要面临后期的维护问题,特别是当企业的业务量逐渐加大后,数据库的压力会随之增加。数据库达到饱和状态,即数据库已优化到极点,无法支持庞大的业务量时,需要升级硬件来解决这个问题。而硬件升级中采购周期,再加上数据迁移的周期通常要耗费时间比较长,这段时间无法确保数据库是否能够支撑业务的执行。并且,升级中要保证业务的执行和数据迁移的稳定等各种技术问题,也是非常繁琐的,同时需要浪费比较多的时间。
因此本领域技术人员迫切解决的一个技术问题是,提出一种数据库的远程数据服务***及任务调度方法,使得用户可以使用远程数据库,而避免自建数据库造成时间的浪费,且数据稳定性得不到保证的问题。
发明内容
本领域技术人员迫切解决的一个技术问题是,提出一种数据库的远程数据服务***及任务调度方法,使得用户可以使用远程数据库,而避免自建数据库造成时间的浪费,且数据稳定性得不到保证的问题。
为了解决上述问题,本申请公开了一种数据库的远程数据服务***,包括:任务调度模块、高可用控制模块、备份模块和在线迁移模块,其中,
所述任务调度模块包括:
接收子模块,用于接收用户通过网络或API接口发送的任务;
互斥检查子模块,用于针对接收的任务,通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突;
调度子模块,用于针对与当前运行的任务无冲突的任务,调度所述任务到相应的模块进行处理;
所述高可用控制模块包括:
切换子模块,用于接收到任务调度模块调度的执行切换的任务后,发送将IP端口在主存储节点和备存储节点之间进行切换的命令;
所述备份模块包括:
存储子模块,用于接收到任务调度模块调度的执行备份的任务后,根据配置将对应的实例数据分片存储到至少一个存储节点上;
所述在线迁移模块包括:
获取子模块,用于接收到任务调度模块调度的执行迁移的任务后,从备份模块中获取原始存储节点的备份实例数据;
同步子模块,用于目标存储节点上的备份完成后,将原始存储节点和目标存储节点的实例数据进行同步;
通知子模块,用于通知备份模块在目标存储节点上执行对应的备份操作,并发出将IP端口从原始存储节点切换到目标存储节点上的通知。
优选的,所述高可用控制模块,还包括:
轮循子模块,用于间隔一定时间并发轮循各个存储节点上的所有实例;
故障检测子模块,用于轮循中检测存储节点是否存在故障;
所述切换子模块,还用于针对故障的存储节点,采用无故障的存储节点接管故障存储节点的任务。
优选的,所述任务调度模块、高可用控制模块、备份模块和线迁移模块,都是由若干个处理节点构成的集群,所述的每个模块还包括:
节点检测子模块,通过处理节点之间的心跳通信,检测各个处理节点是否正常运行;
节点切换子模块,针对非正常运行的处理节点,切换至正常运行的处理节点,并接管对应所述非正常运行的处理节点的任务。
优选的,所述的***还包括监控模块,其中,所述监控模块包括:
一致性检测子模块,用于在***运行过程中检测并清理存储节点和对应模块中不一致的数据;
状态及性能监控子模块,用于收集并监控所有存储节点和实例的状态数据和性能数据;
空间检查子模块,用于当检测到用户的使用空间超出预设范围后,将用户权限修改为只读;
流量统计子模块,用于统计每个存储节点上各个实例的网络流量数据;
故障报警子模块,用于当检测到异常情况时,执行故障报警操作。
优选的,所述的***还包括:数据链路模块,用于在用户访问实例时处理数据链路的问题,包括:
域名***子模块,用于将网络中所有主机的域名转换为对应IP地址并保存;
虚拟服务器子模块,用于构建并存储公网IP端口和真实IP端口之间的映射关系,实现各个存储节点的负载均衡,防止DDOS分布式拒绝服务攻击,并进行流量控制。
优选的,所述任务调度模块还包括:
状态返回子模块,用于任务执行完毕后,接收并记录返回的任务状态数据,所述任务状态数据包括执行成功和执行失败。
优选的,所述备份模块还包括:
删除子模块,用于根据用户设定的备份保留策略,自动删除过期的备份数据;
相应的,本申请还公开了一种远程数据服务***中的任务调度方法,包括:
任务调度模块接收用户通过网络或API接口发送的任务;
通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突;
若所述任务与当前运行的任务无冲突,则调度所述任务到相应的模块进行处理;
若所述任务与当前运行的任务有冲突,则等待当前运行的任务运行完毕后,调度所述任务到相应的模块进行处理;
其中,
若所述任务为执行切换的任务,则调度所述任务到高可用控制模块;
若所述任务为执行备份的任务,则调度所述任务到备份模块;
若所述任务为执行迁移的任务,则调度所述任务到在线迁移模块。
优选的,通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突,包括:
检测所述任务针对实例所拥有的互斥锁,其中所述互斥锁包括独占锁和共享锁;
若所述任务针对实例拥有独占锁,并且当前运行的任务没有占用所述实例,则所述任务与当前运行的任务无冲突;
若所述任务针对实例拥有独占锁,但当前运行的任务占用了所述实例,则所述任务与当前运行的任务有冲突;
若检测所述任务对应的实例拥有共享锁,则所述任务与当前运行的任务无冲突。
优选的,调度所述任务到相应的模块进行处理之后,还包括:
接收并记录返回的任务状态数据,所述任务状态数据包括执行成功和执行失败。
优选的,调度所述任务到高可用控制模块之后,还包括:
通知虚拟服务器子模块将IP端口在主存储节点和备存储节点之间进行切换。
优选的,调度所述任务到备份模块之后,还包括:
备份模块根据配置将对应的实例数据分片存储到至少一个存储节点上。
优选的,调度所述任务到在线迁移模块之后,还包括:
获取备份模块中原始存储节点的备份实例数据;
通知备份模块在目标存储节点上执行对应的备份操作;
目标存储节点上的备份完成后,将原始存储节点和目标存储节点的实例数据进行同步;
通知虚拟服务器子模块将IP端口从原始存储节点切换到目标存储节点。
优选的,所述高可用控制模块的处理方法还包括:
高可用控制模块间隔一定时间并发轮循各个存储节点上的所有实例;
轮循中检测存储节点是否存在故障;
若存储节点存在故障,则采用采用无故障的存储节点接管故障存储节点的任务;
其中,所述检测存储节点是否存在故障方法包括:
检测各个存储节点上的实例是否存在,或,检测各个存储节点上的实例端口是否存在响应,或,模拟应用执行更新操作。
优选的,所述的方法还包括:
监控模块检测整个***内事务正常运转,并收集实例相关状态数据和性能数据;
数据链路模块在用户访问实例时处理数据链路的问题。
与现有技术相比,本申请包括以下优点:
首先,由于用户服务器和数据库的周期是非常长的,建立的方法非常繁琐,并且效率也较低。并且,后期维护中无法确保硬件升级时,数据库是否能够支撑业务的执行,数据迁移的稳定性也得不到保证。因此,本申请提出一种数据库的远程数据服务***,包括:任务调度模块、高可用控制模块、备份模块和在线迁移模块。通过任务调度模块可以调度任务在各模块中稳定、有序的执行。同使用该***还可以实现数据的备份和迁移,以及各存储节点的快速切换。对用户而言,使用本申请无需自建服务器和数据库,节省了时间提高了效率,同时若用户业务量增大,只需要增加存储节点即可,数据迁移等问题都可以由***完成,用户使用非常方便,效率较高。
其次,现有技术中存在虚拟平台的RDS服务,是将实例建立在虚拟机上,但是虚拟机中的资源不能满足于高压力的需求,并且当某些用户需要去维护数据库时,但他们使用的虚拟机由于IO能力不够,不能承受起其业务带来的压力。本申请将实例建立在物理机上,所能提供的IO能力远超虚拟机至少10倍以上,能够更高的承受起其业务带来的压力。
再次,虚拟平台本身不提供数据库备份,用户需要自己去制定备份计划,并把备份数据放到其他位置存储。而本申请自带了备份模块,用户可以自由配置备份保留策略以备份时间,不需考虑备份、异机存储等问题。
再次,用户使用虚拟平台时,通常只会申请一个虚拟机来承担前端业务和数据库服务。其中,若前端业务丢了,因为都是一些配置性的文件,不会造成重大的影响。而数据库则是真正的价值所在,若虚拟机数据丢失,就会产生重大的影响。而本申请除了在每天晚上提供异机备份外,还提供双节点间的实时备份,全面保护用户数据安全,并采用自主研发的高可用控制模块,检测节点运行是否健康,并保证两个节点间的秒级切换。
附图说明
图1是本申请实施例所述一种数据库的远程数据服务***结构图;
图2是本申请实施例所述任务调度模块中互斥检查示意图;
图3是本申请实施例所述高可用控制模块中故障节点检测示意图;
图4是本申请实施例所述备份模块执行备份示意图;
图5是本申请实施例所述在线迁移模块数据迁移示意图;
图6是本申请实施例所述域名***子模块工作示意图;
图7是本申请实施例所述虚拟服务器子模块中IP端口映射示意图;
图8是本申请优选实施例所述一种数据库的远程数据服务***示意图;
图9是本申请实施例一种远程数据服务***中的任务调度方法流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,给出了本申请实施例所述一种数据库的远程数据服务***结构图。
本申请提供了一种数据库的远程数据服务***,包括:任务调度模块11、高可用控制模块12、备份模块13和在线迁移模块14,其中,
所述任务调度模块11包括:
接收子模块111,用于接收用户通过网络或API接口发送的任务;
所述任务可以为执行切换的任务,调度给高可用控制模块12执行;可以为执行备份的任务,调度给备份模块13执行;也可以为执行迁移的任务,调度给在线迁移模块14执行。当然在具体实施中。任务调度模块11还可以调度其他的任务,本申请对此不做限定。
API的英文全拼为Application Programming Interface,即应用程序编程接口。
互斥检查子模块112,用于针对接收的任务,通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突;
首先任务调度模块11从任务队列中获取需要处理的任务,由于任务是并发处理的,在处理每一个任务前,任务调度模块11需要判断这个任务是否与当前在运行的任务有冲突,这个判断也叫互斥检查,可以由互斥检查子模块112实现。所述互斥检查是通过任务的互斥锁来解决的。
任务的互斥锁分为两种:独占锁和共享锁。锁是针对对象而设立的,在本申请中对象一般指“MYSQL实例”。本申请所述的实例也可以称为MYSQL实例。
当某个任务对这个对象拥有独占锁的时候,其他任务就不能再拥有该对象的独占锁和共享锁。比如,针对MYSQL实例,某些操作对其需要拥有独占锁的,如创建,删除,即创建和删除都需要独占锁。所以当***同时接受到对某个实例创建和删除两个任务时,两个任务是冲突的,不能并发地进行,即当一个创建任务拿到独占锁后,删除任务就会等待,直到创建任务释放了独占锁。
当某个任务对这个对象拥有共享锁的时候,那么其他任务则还可以对这个对象拥有共享锁,但不能再拥有独占锁,比如,针对MYSQL实例,某些操作对其拥有共享锁,如任务a:实例增加DB(data base,数据库),任务b:实例备份。当同时收到两个任务时,两个任务不会冲突,可以同时执行。
但若针对上述两个拥有共享锁的情况下,又有一个新的任务,所述任务c为删除MYSQL实例,则任务c会请求独占锁,而当前拥有的共享锁没有释放,那么独占锁是不会成功被获取,只有等待以上两个任务全部完成。
其中,可以将一个主机看作一个存储节点,一个存储节点上可以运行多个实例(或称主机实例,或MYSQL实例),所述实例可以是主机中的独立进程。
参照图2,给出了本申请实施例所述任务调度模块中互斥检查示意图。
其中,任务2、任务3、任务4和任务5正在处理,Lock-S代表任务对实例拥有独占锁,Lock-X代表任务对实例拥有共享锁。则任务2对实例拥有独占锁,任务3、任务4和任务5对实例拥有共享锁。此时有一个任务1对实例拥有独占锁,但任务1与任务4冲突,需要等待任务4执行完毕后才能执行。
其中,互斥锁的数据存放在数据库中,以便让多个处理节点可以同时获取该数据并保持数据的一致性。
调度子模块113,用于针对与当前运行的任务无冲突的任务,调度所述任务到相应的模块进行处理;
在获取任务所需要的互斥锁以后,说明所述任务与当前运行的任务无冲突,此时任务可以下达到各个实例并执行。
状态返回子模块114,用于任务执行完毕后,接收并记录返回的任务状态数据,所述任务状态数据包括执行成功和执行失败。
在执行完成后,任务调度模块11会根据反馈的数据,将任务状态置成“执行成功”或“执行失败”,以便管理员作查询和处理。
所述高可用控制模块12包括:
切换子模块121,用于接收到任务调度模块调度的执行切换的任务后,发送将IP端口在主存储节点和备存储节点之间进行切换的命令;
其中,IP的英文全拼为Internet Protocol,即网络互联协议。
本申请所述的***中,通常会设置一个主存储节点和一个备存储节点,主存储节点和备存储节点接隔一段时间进行通信,以保证数据的一致性。当主存储节点需要维护或出现故障等问题而无法工作时,备存储节点可以代替主存储节点进行工作。
例如,主存储节点需要维护,此时存储节点不能停止工作,因此可以发送执行切换的任务,将IP端口切换至备存储节点上。高可用控制模块12接收到任务调度模块调度的执行切换的任务后,发送对应的命令给数据链路模块16的虚拟服务器子模块161,通知所述虚拟服务器子模块161将IP端口由主存储节点切换至备存储节点。主存储节点维护完成后,还可以通知所述虚拟服务器子模块161将IP端口由备存储节点切换回主存储节点。
轮循子模块122,用于间隔一定时间并发轮循各个存储节点上的所有实例;
本申请所述的***中存在许多存储节点,每个存储节点上存在许多实例,因此需要足够快地轮循集群的所有实例,例如设置为每3秒轮循一次,因此当发现有存储节点出现故障时,可以实现秒级切换以保证***的正常工作。由于***中的实例过多,因此本申请采用并发轮循,以保证能够快速的执行轮循。
故障检测子模块123,用于轮循中检测存储节点是否存在故障;
所述切换子模块124,还用于针对故障的存储节点,采用无故障的存储节点接管故障存储节点的任务。
现有技术的高可用控制软件,是装载在两个存储节点之上的,此种方法面临的一个问题就是脑裂,一旦出现这种现象,两个存储相同实例的主、备存储节点都会被激活,此时就有可能导致主、备实例之间数据冲突或不一致的情况。
本申请所述的***是以第三方身份去判断存储节点是否在正常运行,因此可以避免出现脑裂现象。当发现存在故障的存储节点时可以采用无故障的存储节点接管故障存储节点的任务。
参照图3,给出了本申请实施例所述高可用控制模块中故障节点检测示意图。
虚拟服务器子模块162中最初将IP端口映射到备存储节点A'上,高可用控制模块12对存储节点进行轮循时检测到备存储节点A'存在故障。因此会通知虚拟服务器子模块162将IP端口由备存储节点A'切换到主存储节点A上,此时对应的IP端口会映射到主存储节点A上。
另外本申请中判断存储节点是否出现故障的方法有多种,例如,检测各个存储节点上的实例是否存在,或检测各个存储节点上的实例端口是否存在响应,或实际的去模拟应用执行更新,通过上述的方法可以更加准确的测检测故障的存储节点。
所述备份模块13包括:
存储子模块131,用于接收到任务调度模块调度的执行备份的任务后,根据配置将对应的实例数据分片存储到至少一个存储节点上;
删除子模块132,用于根据用户设定的备份保留策略,自动删除过期的备份数据。
参照图4,给出了本申请实施例所述备份模块执行备份示意图。
备份模块13在执行备份的任务时,会向相应的存储节点发送备份任务,然后接收备份数据并执行对应的备份操作。
远程数据服务***要处理的MYSQL实例非常多,甚至上千上万个,都需要在一定的时间范围内完成。在收集备份时若没有并发控制,整个网络带宽将被耗尽,因此备份模块13可以控制多个执行备份的任务并发执行,以控制不让执行备份的任务耗尽资源,避免影响正常的业务。
在本申请中,各个存储节点上的数据可以分片存储,具体执行中。可以将一个存储节点的数据分散到多个不同的备份存储节点上,以让备份集存储足够分散。这种方法一方面提高了备份的效率,另一方面让备份集更安全。通常可以存储数据的设备看作存储节点,例如,将一个存储数据的计算机看作一个存储节点。
处于容灾的考虑,通常各个存储节点可以分布在不同的机房中。本申请支持跨机房异地备份,本申请所述的***可以让备份模块内的多个备份控制节点(MASTER)分散在不同的机房内。例如,根据预置的规则,智能地根据备份策略进行异地备份。
下面论述在线迁移模块14,首先,触发执行迁移的任务产生的情况包括:
1)存储节点压力过大,有时候在一个存储节点上面可能会启动多个实例,但随着业务压力增加,主机已经不能承受如此多实例,因此需要将某些实例给迁移到其他的存储节点上;
2)用户需要更多的资源,用户在最初时申请了资源比较小的实例,后来随着业务的增多,导致需要更多的资源,此时不能停止用户的业务,因此只能把存储业务数据的实例迁移到另外的存储节点上;
3)用于实例恢复,用户有时想把数据还原到历史的某个时间点上,此时不能直接在用户当前的实例中恢复,因此会把用户的数据恢复到另外的存储节点上面,然后再作切换。
所述在线迁移模块14包括:
获取子模块141,用于接收到任务调度模块调度的执行迁移的任务后,从备份模块中获取原始存储节点的备份实例数据;
执行迁移的任务可以将实例数据从第一个存储节点迁移到第二个存储节点上,则第一个存储节点为原始存储节点,第二个存储节点为目标存储某节点。
接收到任务调度模块调度的执行迁移的任务后,在线迁移模块14会根据任务从备份模块中获取原始存储节点在某个时间点的备份实例数据。例如,获取最近一次的备份实例数据,或者获取2012年1月10日15点的备份实例数据。
同步子模块142,用于目标存储节点上的备份完成后,将原始存储节点和目标存储节点的实例数据进行同步;
通知子模块143,用于通知备份模块在目标存储节点上执行对应的备份操作,并发出将IP端口从原始存储节点切换到目标存储节点上的通知。
上述原始存储节点的备份实例数据后,通知子模块143会通知备份模块13在目标存储节点上执行对应的备份操作。
在执行备份的这段时间里,原始存储节点上有可能更改了存储的实例数据,因此目标存储节点上的备份完成后,可以将原始存储节点和目标存储节点的实例数据进行同步,使原始存储节点和目标存储节点中的实例数据完全一致。
数据同步结束后,通知子模块143会发送命令给数据链路模块16的虚拟服务器子模块161,通知所述虚拟服务器子模块161将IP端口由原始存储节点切换至目标存储节点。
其中,数据同步的操作是非必要的,有些触发执行迁移的任务产生的情况可能不执行数据同步,例如,若由于用户是为了数据还原到历史的某个时间点上,而触发执行迁移的任务,则此时不需要后进行数据同步。
参照图5,给出了本申请实施例所述在线迁移模块数据迁移示意图。
在线迁移模块接收到执行迁移的任务后,1.向备份模块13获取备份;2.备份模块13传送备份到对应的目标存储节点;3.在所述目标存储节点上进行实例的数据恢复;4.原始存储节点和目标存储节点的数据进行同步;5.在线迁移模块通知虚拟服务器子模块162将IP端口由原始存储节点切换到目标存储节点上;6.销毁所述实例对应的IP端口与原始存储节点的映射关系。
其中,在线迁移模块14依赖于备份模块13,在进行迁移操作时,首先要获得对应实例的一个备份数据,不然迁移无从说起。所述备份数据需要向备份模块13去获取,备份模块13会通知在线迁移模块14是否存在备份,并确定是否需要立即执行备份操作,如果确实需要,则备份模块13就会下发备份指令,即时产生一个备份数据。
本申请所述的执行迁移的任务具有可持续操作性。首先可以将执行迁移的任务分成若干个小原子操作,所述原子操作是不可分割的,即整个执行迁移的任务是由在线迁移模块来主导的。执行中,在线迁移模块可以接收到每一步完成的状态并记录下来,若在某一步操作中出现异常,经过修复后,在线迁移模块可以由异常处继续执行后面的任务。
优选的,所述任务调度模块11、高可用控制模块12、备份模块13和线迁移模块14,都是由若干个处理节点构成的集群,所述的每个模块还包括:
节点检测子模块,通过处理节点之间的心跳通信,检测各个处理节点是否正常运行;
节点切换子模块,针对非正常运行的处理节点,切换至正常运行的处理节点,并接管对应所述非正常运行的处理节点的任务。
本申请中任务调度模块11、高可用控制模块12、备份模块13和线迁移模块14不是单一的处理节点,而是有多个处理节点构成的集群。由于他们都是整个***中非常重要的一部分,自身的高可用性的维护也是非常重要的,因此都具有自身的高可用保护功能,可以由节点检测子模块和节点切换子模块完成。
其中,高可用性(High Availability)通常来描述一个***经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
上述的任务调度模块11、高可用控制模块12、备份模块13和线迁移模块14,除了执行上述各自的功能以外,还会检测自身的各个处理节点之间的心跳通信进行,以查看各个处理节点是否正常。针对非正常运行的处理节点,切换至正常运行的处理节点,并接管对应所述非正常运行的处理节点的任务,以保证各个任务的正常执行。
则对应任务调度模块11包括节点检测子模块115和节点切换子模块116,高可用控制模块12包括节点检测子模块125和节点切换子模块126,备份模块13包括节点检测子模块133和节点切换子模块134,线迁移模块14包括节点检测子模块144和节点切换子模块145。
所述的***还包括监控模块15,可以使用PYTHON语言自组开发,主要负责整个***内事务正常运转的检查,以及实例相关状态数据和性能数据的收集。
其中,所述监控模块15包括:
一致性检测子模块151,用于在***运行过程中检测并清理存储节点和对应模块中不一致的数据;
所述***的一致性检查,即在***运行过程中,可能会出现存储节点与***对应各个模块中的数据不一致的情况,这有可能是任务在执行过程中遗留下来的问题,因此需要清理这些不一致数据,以防止***内资源混乱。
状态及性能监控子模块152,用于收集并监控所有存储节点和实例的状态数据和性能数据;
监控模块可以收集所有存储节点和实例状态数据,例如实例是否可用,复制进程是否正常,存储节点是否可用等。
监控模块还可以收集存储节点和实例的性能数据,例如存储节点的CPU(CentralProcessing Unit)负载,IO(Input/Output)使用率,存储节点的MEM(memory,主物理内存)使用占比,实例内存使用率,实例CPU使用率,实例所占IO资源等。
空间检查子模块153,用于当检测到用户的使用空间超出预设范围后,将用户权限修改为只读;
若检测到用户所使用空间超出预设范围,根据具体的情况和设置,可以将用户的权限更改成只读。
流量统计子模块154,用于统计每个存储节点上各个实例的网络流量数据;
监控模块还可以收集汇总网络流量信息。***在实际执行中需要对每个实例所使用的网络流量进行统计,以作分析汇总。可以在每个存储节点上执行收集,并把所有数据集中到监控模块的服务端进行汇总;
故障报警子模块155,用于当检测到异常情况时,执行故障报警操作。
监控模块具有异常报警功能,当检测到异常情况时,监控模块可以执行故障报警操作,及时地通知维护人员处理。比如有存储节点的物理硬件有故障,有可能还会导致宕机,或者***在运行过程中某个任务失败等。
所述的***还包括:数据链路模块16,用于在用户访问实例时处理数据链路的问题。
用户在成功申请一个实例后,可以得到对应的信息,例如:
主机:abcd.mysql.rds.com;端口:3306;用户:user1;密码:passwd1。
域名***子模块161,用于将网络中所有主机的域名转换为对应IP地址并保存;
为了用户能够通过INTERNET(国际互联络)访问对应的实例,本申请所述的***需要把用户指定的域名广播到广域网上,这正是域名***子模块161(Domain Name Service,DNS)的作用。当***成功建立一个域名后,域名***子模块161将网络中所有主机的域名转换为对应IP地址并保存,还负责把其广播出去,当然域名信息被改后或删除,域名***子模块161同样会把变更信息广播出去,以便让每个用户都知道。
参照图6,给出了本申请实施例所述域名***子模块工作示意图。
由分布在3个不同机房的服务器构成所述域名***子模块161,可以通过API端口对IP端口执行创建、删除、修改和查询等操作,然后将操作完成后的IP端口广播到网络中,用户登录域名时可以转换为对应IP地址。
所述DNS集群可以由多台高性能服务器(PC SERVER)组成,例如由3台高性能服务器构成,并分布在不同的机房中,因此只有当三个机房的三台服务器同时停止服务,整个DNS服务才会发生故障,这样的可能性只有99.9999%,因此***运行非常的安全和稳定。
虚拟服务器子模块162,用于构建并存储公网IP端口和真实IP端口之间的映射关系,实现各个存储节点的负载均衡,防止DDOS分布式拒绝服务攻击,并进行流量控制。
用户通过域名***子模块161解析到所要访问的公网IP后,就需要虚拟服务器子模块162了。
首先简单介绍一下虚拟服务器子模块162,虚拟服务器是Linux Virtual Server,英文缩写为LVS,即Linux虚拟服务器,是一个虚拟的服务器集群。
目前Linux虚拟服务器有三种IP负载均衡技术,分别为VS/NAT(Virtual Servervia Network Address Translation,网络地址转换实现虚拟服务器);VS/TUN(VirtualServer via IP TunnelingIP,隧道实现虚拟服务器);VS/DR(Virtual Server via DirectRouting,直接路由实现虚拟服务器)。
本申请中可以使用了其中的VS/DR技术,作为前端访问的第一层,其承载着IP映射,端口转发,防火墙,流量控制等功能。
本申请中用户看到的端口是公网IP的服务端口,这是因为本申请采用了多实例技术及端口映射技术,因此实例真正的服务端口可能并不会与公网IP的服务端口一样。这样做的有点包括:
1)出于安全考虑,本申请并不会把运行实例的私网物理主机直接暴露给用户和网络,因此需要实现IP映射;
2)可能在一台主机即一个存储节点上,可能启动了几十个甚至上百个实例,因此所以并不能保证公网IP端口与实际运行的存储节点的IP端口是保持一致的;
2)用户可以根据自己的需要设置对应的IP端口,这可能出于方便或安全因素,总之本申请可以向用户提供了用户想要的各种环境。
参照图7,给出了本申请实施例所述虚拟服务器子模块中IP端口映射示意图。
用户登录公网的IP端口:110.18.11.12:3306,通过虚拟服务器子模块162可以映射到对应真实的IP端口192.18.0.45。其中,在虚拟服务器子模块162中存储有公网的IP端口和真实的IP端口的映射关系,例如图7中通过公网的IP端口后面的3306,即可映射到对应真实的IP端口上。
当然端口映射只是虚拟服务器子模块162对应功能的一部分而已,其还具有负载均衡,防DDOS攻击,流量控制等功能。
例如,某个用户的实例,由于遭到了黑客的攻击,黑客会不断地大量向该服务端口发送请求,而真正用户的请求就会被中断或响应缓慢。此时通过虚拟服务器子模块162的流量探测功能可以发现这种行为,并把目标IP置于黑名单中。
另外,有些用户的流量确实非常的大,需要进行控制以免影响其他用户的使用,此时需要用到虚拟服务器子模块162的流量控制功能。
参照图8,给出了本申请优选实施例所述一种数据库的远程数据服务***示意图。
本申请包括两种操作方法,一是用户数据操作体系,二是实例管理操作体系。
用户操作数据体系:用户可以通过Mysql-client或第三方数据库管理工具通过虚拟服务器子模块162连接到对应的用户实例进行数据操作。可以对某个存储节点进行增加表,删除表,增加数据,删除数据,更改数据等操作。如为方便管理我们给用户提供域名+PORT的连接串,用户只要能够连接网络,就可以连接到对应的存储节点(数据库)。即图8中用户通过虚拟服务器子模块162对存储节点执行操作的数据通路,由直线“-··—”构成数据通路。操作证行结束后数据和反馈信息会直接由存储节点返回给用户。
其中,所述用户实例是在平台上存在的虚拟概念,一个用户实例对应两个实例。
实例管理操作体系:用户可以通过WEB/API对自己的实例进行操作;比如增加实例,删除实例,备份,查看性能数据等。即图8中用户通过WEB/API连接到任务调度模块11进行任务调度的数据通路,由直线“----”构成数据通路。
其中,还包括任务调度模块调度各个模块执行对应的任务的数据通路,由直线“-·-”构成数据通路。
其中,API的英文全拼为Application Programming Interface,即应用程序编程接口。WEB指的是网络。
现有技术采用虚拟机的RDS服务中,实例进程建立在独立的虚拟机上,数据库存储使用EBS(Elastic Block Store,弹性块存储技术)共享存储。由于每个虚拟机都要运行操作***(Operating System,OS),开销很大,因此其单主机的利用率比较低。
本申请采用多实例技术,在单主机的资源利用率来看比虚拟机技术高20以上,另外针对单主机可分割性而言,本申请由于不需要为每个实例分配OS所需要CPU,内存,磁盘资源,所以对相同配置下,本申请可以在能在单主机上运行更多的“数据库实例”。
虚拟机的RDS服务的存储使用挂载EBS的模式,其最大的问题是性能会受约束(如,网络延时、EBS本身内部同步等)。而本申请采用的是本地高性能磁盘阵列,在响应时间和性能上占绝对优势。
基于云技术的概念,可以建立本申请所述的数据库远程数据服务***。首先介绍云计算。
所述云计算(cloud computing)是基于互联网的服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来访问,而软件和数据都存储在服务器上。通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,使得企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储***。
随着云计算的推广,基于云计算的战略部署和应用中,本申请可以运用云数据库为用户提供数据库的远程服务。
综上所述,由于用户服务器和数据库的周期是非常长的,建立的方法非常繁琐,并且效率也较低。并且,后期维护中无法确保硬件升级时,数据库是否能够支撑业务的执行,数据迁移的稳定性也得不到保证。因此,本申请提出一种数据库的远程数据服务***,包括:任务调度模块、高可用控制模块、备份模块和在线迁移模块。通过任务调度模块可以调度任务在各模块中稳定、有序的执行。同使用该***还可以实现数据的备份和迁移,以及各存储节点的快速切换。对用户而言,使用本申请无需自建服务器和数据库,节省了时间提高了效率,同时若用户业务量增大,只需要增加存储节点即可,数据迁移等问题都可以由***完成,用户使用非常方便,效率较高。
其次,现有技术中存在虚拟平台的RDS服务,是将实例建立在虚拟机上,但是虚拟机中的资源不能满足于高压力的需求,并且当某些用户需要去维护数据库时,但他们使用的虚拟机由于IO能力不够,不能承受起其业务带来的压力。本申请将实例建立在物理机上,所能提供的IO能力远超虚拟机至少10倍以上,能够更高的承受起其业务带来的压力。
再次,虚拟平台本身不提供数据库备份,用户需要自己去制定备份计划,并把备份数据放到其他位置存储。而本申请自带了备份模块,用户可以自由配置备份保留策略以备份时间,不需考虑备份、异机存储等问题。
再次,用户使用虚拟平台时,通常只会申请一个虚拟机来承担前端业务和数据库服务。其中,若前端业务丢了,因为都是一些配置性的文件,不会造成重大的影响。而数据库则是真正的价值所在,若虚拟机数据丢失,就会产生重大的影响。而本申请除了在每天晚上提供异机备份外,还提供双节点间的实时备份,全面保护用户数据安全,并采用自主研发的高可用控制模块,检测节点运行是否健康,并保证两个节点间的秒级切换。
参照图9,给出了本申请实施例一种远程数据服务***中的任务调度方法流程图。
相应的,本申请还提供了一种远程数据服务***中的任务调度方法,包括:
步骤101,任务调度模块接收用户通过网络或API接口发送的任务;
步骤102,通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突;
其中,检测所述任务针对实例所拥有的互斥锁,其中所述互斥锁包括独占锁和共享锁;
若所述任务针对实例拥有独占锁,并且当前运行的任务没有占用所述实例,则所述任务与当前运行的任务无冲突;
若所述任务针对实例拥有独占锁,但当前运行的任务占用了所述实例,则所述任务与当前运行的任务有冲突;
若检测所述任务对应的实例拥有共享锁,则所述任务与当前运行的任务无冲突。
若所述任务与当前运行的任务无冲突,则执行步骤104;若所述任务与当前运行的任务有冲突,则执行步骤103。
步骤103,等待当前运行的任务运行完毕;
步骤104,调度所述任务到相应的模块进行处理。
其中,
若所述任务为执行切换的任务,则调度所述任务到高可用控制模块,执行步骤105;
若所述任务为执行备份的任务,则调度所述任务到备份模块,执行步骤106;
若所述任务为执行迁移的任务,则调度所述任务到在线迁移模块,执行步骤107。
步骤105,通知虚拟服务器子模块将IP端口在主存储节点和备存储节点之间进行切换。
步骤106,备份模块根据配置将对应的实例数据分片存储到至少一个存储节点上。
步骤107,获取备份模块中原始存储节点的备份实例数据;
步骤108,通知备份模块在目标存储节点上执行对应的备份操作;
步骤109,目标存储节点上的备份完成后,将原始存储节点和目标存储节点的实例数据进行同步;
步骤110,通知虚拟服务器子模块将IP端口从原始存储节点切换到目标存储节点上。
步骤111,接收并记录返回的任务状态数据,所述任务状态数据包括执行成功和执行失败。
优选的,所述高可用控制模块的处理方法还包括:
步骤201,高可用控制模块间隔一定时间并发轮循各个存储节点上的所有实例;
步骤202,轮循中检测存储节点是否存在故障;
步骤203,若存储节点存在故障,则采用采用无故障的存储节点接管故障存储节点的任务;
其中,所述检测存储节点是否存在故障方法包括:
检测各个存储节点上的实例是否存在,或,检测各个存储节点上的实例端口是否存在响应,或,模拟应用执行更新操作。
所选的所述的方法还包括:
监控模块检测整个***内事务正常运转,并收集实例相关状态数据和性能数据。
监控模块检测对***进行一致性检测,状态及性能监控,空间检查,流量统计和故障报警等
数据链路模块在用户访问实例时处理数据链路的问题。
包括:将网络中所有主机的域名转换为对应IP地址并保存,构建并存储公网IP端口和真实IP端口之间的映射关系,实现各个存储节点的负载均衡,防止DDOS分布式拒绝服务攻击,并进行流量控制等。
对于方法实施例而言,由于其与***实施例基本相似,所以描述的比较简单,相关之处参见***实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据库的远程数据服务***,以及一种远程数据服务***中的任务调度方法,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种数据库的远程数据服务***,其特征在于,包括:任务调度模块、高可用控制模块、备份模块和在线迁移模块,其中,
所述任务调度模块包括:
接收子模块,用于接收用户通过网络或API接口发送的任务;
互斥检查子模块,用于针对接收的任务,通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突;
调度子模块,用于针对与当前运行的任务无冲突的任务,调度所述任务到相应的模块进行处理;
所述高可用控制模块包括:
切换子模块,用于接收到任务调度模块调度的执行切换的任务后,发送将IP端口在主存储节点和备存储节点之间进行切换的命令;
所述备份模块包括:
存储子模块,用于接收到任务调度模块调度的执行备份的任务后,根据配置将对应的实例数据分片存储到至少一个存储节点上;
所述在线迁移模块包括:
获取子模块,用于接收到任务调度模块调度的执行迁移的任务后,从备份模块中获取原始存储节点的备份实例数据;
同步子模块,用于目标存储节点上的备份完成后,将原始存储节点和目标存储节点的实例数据进行同步;
通知子模块,用于通知备份模块在目标存储节点上执行对应的备份操作,并发出将IP端口从原始存储节点切换到目标存储节点上的通知。
2.根据权利要求1所述的***,其特征在于,所述高可用控制模块,还包括:
轮循子模块,用于间隔一定时间并发轮循各个存储节点上的所有实例;
故障检测子模块,用于轮循中检测存储节点是否存在故障;
所述切换子模块,还用于针对故障的存储节点,采用无故障的存储节点接管故障存储节点的任务。
3.根据权利要求1所述的***,其特征在于,所述任务调度模块、高 可用控制模块、备份模块和线迁移模块,都是由若干个处理节点构成的集群,所述任务调度模块、高可用控制模块、备份模块和线迁移模块都还包括:
节点检测子模块,通过处理节点之间的心跳通信,检测各个处理节点是否正常运行;
节点切换子模块,针对非正常运行的处理节点,切换至正常运行的处理节点,并接管对应所述非正常运行的处理节点的任务。
4.根据权利要求1所述的***,其特征在于,所述的***还包括监控模块,其中,所述监控模块包括:
一致性检测子模块,用于在***运行过程中检测并清理存储节点和对应模块中不一致的数据;
状态及性能监控子模块,用于收集并监控所有存储节点和实例的状态数据和性能数据;
空间检查子模块,用于当检测到用户的使用空间超出预设范围后,将用户权限修改为只读;
流量统计子模块,用于统计每个存储节点上各个实例的网络流量数据;
故障报警子模块,用于当检测到异常情况时,执行故障报警操作。
5.根据权利要求1所述的***,其特征在于,所述的***还包括:数据链路模块,用于在用户访问实例时处理数据链路的问题,包括:
域名***子模块,用于将网络中所有主机的域名转换为对应IP地址并保存;
虚拟服务器子模块,用于构建并存储公网IP端口和真实IP端口之间的映射关系,实现各个存储节点的负载均衡,防止DDOS分布式拒绝服务攻击,并进行流量控制。
6.根据权利要求1所述的***,其特征在于,所述任务调度模块还包括:
状态返回子模块,用于任务执行完毕后,接收并记录返回的任务状态数据,所述任务状态数据包括执行成功和执行失败。
7.根据权利要求1所述的***,其特征在于,所述备份模块还包括:
删除子模块,用于根据用户设定的备份保留策略,自动删除过期的备份数据。
8.一种远程数据服务***中的任务调度方法,其特征在于,包括权利要求1至7任一所述的***,所述的方法包括:
任务调度模块接收用户通过网络或API接口发送的任务;
通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突;
若所述任务与当前运行的任务无冲突,则调度所述任务到相应的模块进行处理;
若所述任务与当前运行的任务有冲突,则等待当前运行的任务运行完毕后,调度所述任务到相应的模块进行处理;
其中,
若所述任务为执行切换的任务,则调度所述任务到高可用控制模块;
若所述任务为执行备份的任务,则调度所述任务到备份模块;
若所述任务为执行迁移的任务,则调度所述任务到在线迁移模块。
9.根据权利要求8所述的方法,其特征在于,通过检测所述任务针对实例所拥有的互斥锁,确定所述任务是否与当前运行的任务无冲突,包括:
检测所述任务针对实例所拥有的互斥锁,其中所述互斥锁包括独占锁和共享锁;
若所述任务针对实例拥有独占锁,并且当前运行的任务没有占用所述实例,则所述任务与当前运行的任务无冲突;
若所述任务针对实例拥有独占锁,但当前运行的任务占用了所述实例,则所述任务与当前运行的任务有冲突;
若检测所述任务对应的实例拥有共享锁,则所述任务与当前运行的任务无冲突。
10.根据权利要求8或9任一所述的方法,其特征在于,调度所述任务到相应的模块进行处理之后,还包括:
接收并记录返回的任务状态数据,所述任务状态数据包括执行成功和执 行失败。
11.根据权利要求8所述的方法,其特征在于,调度所述任务到高可用控制模块之后,还包括:
通知虚拟服务器子模块将IP端口在主存储节点和备存储节点之间进行切换。
12.根据权利要求8所述的方法,其特征在于,调度所述任务到备份模块之后,还包括:
备份模块根据配置将对应的实例数据分片存储到至少一个存储节点上。
13.根据权利要求8所述的方法,其特征在于,调度所述任务到在线迁移模块之后,还包括:
获取备份模块中原始存储节点的备份实例数据;
通知备份模块在目标存储节点上执行对应的备份操作;
目标存储节点上的备份完成后,将原始存储节点和目标存储节点的实例数据进行同步;
通知虚拟服务器子模块将IP端口从原始存储节点切换到目标存储节点。
14.根据权利要求8所述的方法,其特征在于,所述高可用控制模块的处理方法还包括:
高可用控制模块间隔一定时间并发轮循各个存储节点上的所有实例;
轮循中检测存储节点是否存在故障;
若存储节点存在故障,则采用无故障的存储节点接管故障存储节点的任务;
其中,所述检测存储节点是否存在故障方法包括:
检测各个存储节点上的实例是否存在,或,检测各个存储节点上的实例端口是否存在响应。
15.根据权利要求8所述的方法,其特征在于,还包括:
监控模块检测整个***内事务正常运转,并收集实例相关状态数据和性能数据;
数据链路模块在用户访问实例时处理数据链路的问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210322629.9A CN103677967B (zh) | 2012-09-03 | 2012-09-03 | 一种数据库的远程数据服务***及任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210322629.9A CN103677967B (zh) | 2012-09-03 | 2012-09-03 | 一种数据库的远程数据服务***及任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677967A CN103677967A (zh) | 2014-03-26 |
CN103677967B true CN103677967B (zh) | 2017-03-01 |
Family
ID=50315624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210322629.9A Active CN103677967B (zh) | 2012-09-03 | 2012-09-03 | 一种数据库的远程数据服务***及任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677967B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6287495B2 (ja) * | 2014-03-31 | 2018-03-07 | 富士通株式会社 | ストレージシステム、ストレージ装置 |
CN105022666A (zh) * | 2014-04-24 | 2015-11-04 | 中国电信股份有限公司 | 控制MapReduce任务调度的方法、装置和*** |
CN104636878B (zh) * | 2015-02-17 | 2018-02-27 | 交通银行股份有限公司 | 一种银行自动处理任务的调度方法及装置 |
CN105227374B (zh) * | 2015-10-23 | 2018-05-29 | 浪潮(北京)电子信息产业有限公司 | 一种集群应用的故障迁移方法和*** |
KR102387973B1 (ko) * | 2015-12-01 | 2022-04-19 | 삼성전자주식회사 | 이중화 저장 장치, 그것을 포함한 서버 시스템 및 그것의 동작 방법 |
CN105892957B (zh) * | 2016-06-14 | 2019-04-23 | 中山大学 | 一种基于动态分片的分布式事务执行方法 |
CN107888517B (zh) * | 2016-09-30 | 2020-08-14 | 华为技术有限公司 | 一种为主机划域的方法及设备 |
CN106559496A (zh) * | 2016-12-06 | 2017-04-05 | 安徽金曦网络科技股份有限公司 | 网络数据同步*** |
CN107220271B (zh) * | 2016-12-14 | 2020-08-11 | 郑州祺石信息技术有限公司 | 一种分布式数字资源存储处理与管理的方法及*** |
CN109005045B (zh) * | 2017-06-06 | 2022-01-25 | 北京金山云网络技术有限公司 | 主备服务***及主节点故障恢复方法 |
CN108255576B (zh) * | 2017-12-08 | 2021-02-26 | 未鲲(上海)科技服务有限公司 | 虚拟机热迁移异常处理方法、装置和存储介质 |
CN110162531B (zh) * | 2018-02-28 | 2021-04-16 | 山东衡昊信息技术有限公司 | 一种分布式并发数据处理任务决策方法 |
CN109032773A (zh) * | 2018-06-16 | 2018-12-18 | 武汉商启网络信息有限公司 | 一种云主机自助安装操作***应用管理*** |
CN109446169B (zh) * | 2018-10-22 | 2022-02-15 | 北京计算机技术及应用研究所 | 一种双控磁盘阵列共享文件*** |
CN111258726B (zh) * | 2018-11-30 | 2023-09-22 | 北京京东尚科信息技术有限公司 | 任务调度方法和装置 |
CN111800285B (zh) * | 2019-04-08 | 2024-04-09 | 阿里巴巴集团控股有限公司 | 实例迁移方法和装置以及电子设备 |
CN111159156B (zh) * | 2019-12-31 | 2023-04-28 | 杭州迪普科技股份有限公司 | SQLite数据库的备份方法和装置 |
CN112732809B (zh) * | 2020-12-31 | 2023-08-04 | 杭州海康威视***技术有限公司 | 一种etl***及基于etl***的数据处理方法 |
CN112968809B (zh) * | 2021-02-02 | 2022-09-13 | 杭州安恒信息技术股份有限公司 | 一种***稳定性和兼容性的测试方法和装置 |
CN117632598B (zh) * | 2024-01-23 | 2024-04-09 | 天津南大通用数据技术股份有限公司 | 一种GBase8a数据库在线备份方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102629224A (zh) * | 2012-04-26 | 2012-08-08 | 广东电子工业研究院有限公司 | 一种基于云平台的一体化数据容灾方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831974B2 (en) * | 2002-11-12 | 2010-11-09 | Intel Corporation | Method and apparatus for serialized mutual exclusion |
-
2012
- 2012-09-03 CN CN201210322629.9A patent/CN103677967B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102629224A (zh) * | 2012-04-26 | 2012-08-08 | 广东电子工业研究院有限公司 | 一种基于云平台的一体化数据容灾方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103677967A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677967B (zh) | 一种数据库的远程数据服务***及任务调度方法 | |
US20230393953A1 (en) | Failover and recovery for replicated data instances | |
US11477105B2 (en) | Monitoring of replicated data instances | |
US9747179B2 (en) | Data management agent for selective storage re-caching | |
US9450700B1 (en) | Efficient network fleet monitoring | |
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
US8949828B2 (en) | Single point, scalable data synchronization for management of a virtual input/output server cluster | |
CN112035062B (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
Vallath et al. | Testing for Availability | |
Davis et al. | Pro SQL Server 2008 Mirroring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |