数据写入的高可用系统及方法
【专利摘要】本发明涉及一种数据写入的高可用系统及方法,该系统包括:主集群以及一个或多个备集群,其中:所述主集群接收用户的写入操作,并记录所述写入操作至第一日志文件;所述主集群发出同步数据至所述备集群的请求;所述备集群接收来自于所述主集群的数据同步请求,并写入所述数据至所述备集群;及所述备集群启动对写入数据的定时删除机制。利用本发明可以节省存储和网络资源,有利于提供数据写入的高可用性,并且对于维护一个较小的备用集群而言,能有效降低系统的复杂度。
【专利说明】数据写入的高可用系统及方法 【技术领域】
[0001] 本发明设及分布式数据库领域,尤其设及一种数据写入的高可用系统及方法。 【【背景技术】】
[0002] 高可用性是指系统不间断提供服务的能力,可W通过平均无故障时间(Mean Time Between Failures,MTBF)来度量。所述MTBF为计算机系统平均能够正常运行多长时间才发 生一次故障。系统的可用性越高,平均无故障时间越长。
[0003] 在当前信息爆炸的环境下,每分每秒都会产生大量的数据。为保障如此巨大的数 据量,一般采用分布式集群存储方案将数据分散的存储于大量独立的服务器上。在运样的 集群中,增减服务器、服务器故障等出现的概率会提高,此时会造成集群中的数据需要进行 大量迁移。而数据迁移过程需要占用服务器的CPU,网卡、磁盘及带宽等资源。一旦出现数据 迁移的情况,势必会影响用户的写入,甚至是用户的写入请求完全被拒绝。但现实情况是, 如果数据不能够被及时的写入到存储系统,后续的针对数据的分析、处理操作都将无法进 行。运将对企业的生产活动产生极大的负面影响。运种情况下,数据写入的高可用性是不足 W满足需求的。
[0004] 为提高分布式存储的写入高可用性,最常见的方法是对集群做全备份,即数据写 入到主机群的同时,同步到备集群中。一旦主集群出现故障,就快速的切换到备集群中。此 方案的最大缺点是会造成存储空间和网络带宽的浪费。因为在互联网的场景下,热点数据 会被多次读取,而相对存储较久的数据实际上在绝大部分情况下,并不会被读取到。为了极 小的一部分数据而浪费网络和存储资源,势必会造成企业成本的扩大。 【
【发明内容】
】
[0005] 本发明要解决的技术问题是如何提供一种在数据具有明显的冷热特征,且对最新 产生的数据具有非常高的可用性要求时,可W实现不对全量数据备份就可保障热点数据写 入的局可用方法。
[0006] 为解决上述技术问题,本发明提供W下技术方案
[0007] -方面,本发明提供一种数据写入的高可用系统,该系统包括:主集群W及一个或 多个备集群,其中:
[000引所述主集群接收用户的所有写入操作,并将所述操作记录到日志文件中;
[0009] 所述主集群发出同步数据至所述备集群的请求;
[0010] 所述备集群接收来自于所述主集群的同步请求,并将数据写入至所述备集群中; 及
[0011] 所述备集群启动对所述写入数据的定时删除机制。
[0012] 另一方面,本发明还提供一种数据写入的高可用方法,应用于主集群W及一个或 多个备集群中,该方法包括:
[0013] 所述主集群接收用户的写入操作,并记录所述写入操作至第一日志文件;
[0014] 所述主集群发出同步数据至所述备集群的请求;
[0015] 所述备集群接收来自于所述主集群的数据同步请求,并写入所述数据至所述备集 群;及
[0016] 所述备集群启动对写入数据的定时删除机制。
[0017] 本发明的有益效果在于在极大节省存储和网络资源,有利于提供数据写入的高可 用性。对于维护一个较小的备用集群而言,能有效降低系统的复杂度。 【【附图说明】】
[0018] 图1是本发明数据写入的高可用系统较佳实施例的示意图。
[0019] 图2是本发明数据写入的高可用方法较佳实施例的流程图。
[0020] 附图标记:
[0021]
【【具体实施方式】】
[0022] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用W解释本发明,并不 用于限定本发明。
[0023] 参阅图1所示,是本发明数据写入的高可用系统较佳实施例的示意图。
[0024] 在本实施例中,所述的数据写入的高可用系统1包括主集群2W及一个或多个备集 群3。所述主集群2与所述备集群3通讯连接,所述通讯连接可W是有线网络通讯连接或无线 网络通讯连接。
[0025] 在本实施例中,所述主集群2和所述备集群3分别包括一个或多个服务器20(图中 仅示出一个)。所述服务器20可W是机架式服务器、刀片式服务器、塔式服务器、机柜式服务 器或计算机等计算设备。该服务器20包括,但不仅限于,输入输出单元21、存储单元22及处 理单元23。所述输入输出单元21可W是按键式设备,例如鼠标、键盘及打印机等,也可W是 触控式设备,例如LCD化iquid Oystal Display,液晶)触摸屏或0L抓(Organic Li曲t- 血itting Diode,有机发光二极管)触摸屏等。该输入输出单元21用于接收用户的输入操作 等。所述存储单元22可W是所述服务器20本身的内存,也可W是SD卡(Secure Digital 化rd,安全数字卡)、SM卡(Smad Media Card,智能媒体卡)等外部存储设备,用于存储所述 服务器20中安装的程序代码及各类数据,例如用户写入的数据等。所述处理单元23用于运 行所述存储单元22中存储的程序代码及运算各类数据。
[0026] 在本实施例中,本发明所述数据写入的高可用系统1可实现在分布式数据库主集 群2和备集群3之间进行数据迁移,W实现所述主集群2与所述备集群3之间快速备份数据, 提高数据写入的高可用性。并且由于对热数据有冗余的一份存储,在一定程度上也能够起 到灾备的作用。其中主集群2和备集群3之间的交互请参看下面的方法实施例,此处不再一 一寶述。
[0027]参阅图2所示,是本发明数据写入的高可用方法较佳实施例的流程图。根据不同的 需求,图2所示的流程图中的步骤的执行顺序可W改变,某些步骤可W省略。
[00%]步骤S21,所述主集群2接收用户的写入操作,并记录所述写入操作至第一日志文 件中。在本实施例中,所述第一日志文件为保存在所述主集群2中的文件。所述第一日志文 件可W存储在分布式文件系统皿FS中,所述第一日志文件包括,但不仅限于,写入的数据内 容、所述数据写入所述主集群2的时间信息(或被更改的时间信息)。所述主集群2通过所述 输入输出单元21接收用户的写入操作。
[0029] 步骤S22,所述主集群2发出同步数据的请求至所述备集群3。在本实施例中,所述 主集群2启动一个进程(agent),发出同步数据的请求至所述备集群3,并根据所述第一日志 文件,按顺序将写入的数据同步至所述备集群3中。
[0030] 步骤S23,所述备集群3接收来自于所述主集群2的数据同步请求,并写入所述数据 至所述备集群3。在本实施例中,所述备集群3启动守护进程,接收来自于所述主集群2的数 据同步请求。
[0031] 步骤S24,所述备集群3启动对写入数据的定时删除机制。在本实施例中,所述定时 删除机制为每隔预设时间后删除存储在所述备集群3中数据的机制。所述预设时间根据数 据的冷热情况配置,例如一个月。而当需要大量访问超过一年的数据时,所述预设时间可W 设置为一年。在本实施例中,通过所述定时删除机制可W删除较早W前存储的数据,从而维 护所述备集群3。
[0032] 步骤S25,当所述主集群2出现读写数据故障时,对所述主集群2和所述备集群3进 行切换。在本实施例中,当所述主集群2出现读写数据故障时,对所述主集群2和所述备集群 3进行切换,所述备集群3作为主集群2的身份来对数据进行读写。
[0033] 步骤S26,所述备集群3接收用户当前的写入操作,并记录当前写入操作至第二日 志文件。在本实施例中,所述第二日志文件为保存在所述备集群3中的文件。所述第二日志 文件与所述第一日志文件一样包括,但不仅限于,写入的数据内容、所述数据写入所述备集 群3的时间信息(或被更改的时间信息)。
[0034] 步骤S27,当所述主集群2的读写数据故障消除时,所述备集群3同步所述第二日志 文件至所述主集群2,再对所述备集群3和所述主集群2又进行一次切换。在本实施例中,当 所述主集群2的读写数据故障消除时,所述备集群3发出同步所述第二日志文件的请求至所 述主集群2。所述主集群2接收同步所述第二日志文件的请求,并再次切换所述备集群3与所 述主集群2,如此可W重新切换回所述主集群2与所述备集群3的身份。运样,所述主集群2可 W重新接收用户的写入操作,而对于用户的读取操作,可W根据查询所述第一日志文件和 所述第二日志文件来决定从所述主集群2或者所述备集群3中读取数据。
[0035] 另外,在所述主集群2处于故障期间,写入至所述备集群3的数据需要重新写入至 所述主集群2中。所述备集群3发起数据同步请求至所述主集群2,请求同步所述主集群2故 障期间写入至所述备集群3中的数据至所述主集群2。如此,所述主集群2若没有将数据完全 恢复,即出现部分数据丢失的情况,由于所述备集群3中存储了所述预设时间内的数据,会 在一定程度上降低数据丢失的概率。既保证了写入数据的高可用性,也在一定程度上达到 了灾备的效果。
[0036] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种数据写入的高可用系统,其特征在于,该系统包括:主集群以及一个或多个备集 群,其中: 所述主集群,用于接收用户的写入操作,并记录所述写入操作至第一日志文件;并发出 同步数据至所述备集群的请求; 所述备集群,用于接收来自于所述主集群的数据同步请求,并写入所述数据至所述备 集群;并启动对写入数据的定时删除机制。2. 如权利要求1所述的数据写入的高可用系统,其特征在于, 当所述主集群出现读写数据故障时,所述备集群还用于接收用户当前的写入操作,并 记录当前写入操作至第二日志文件;和/或 当所述主集群的读写数据故障消除时,所述备集群还用于同步所述第二日志文件所述 主集群。3. 如权利要求2所述的数据写入的高可用系统,其特征在于, 所述备集群还用于发起数据同步请求至所述主集群,请求同步所述主集群故障期间写 入至所述备集群中的数据至所述主集群。4. 如权利要求2所述的数据写入的高可用系统,其特征在于,所述主集群还用于在接收 用户的读取请求时,根据所述主集群的第一日志文件和所述备集群的第二日志文件来决定 从所述主集群或者所述备集群中读取数据。5. 如权利要求1所述的数据写入的高可用系统,其特征在于,所述定时删除机制为在预 设时间后删除存储在所述备集群中的数据。6. -种数据写入的高可用方法,应用于主集群以及一个或多个备集群中,其特征在于, 该方法包括: 所述主集群接收用户的写入操作,并记录所述写入操作至第一日志文件; 所述主集群发出同步数据至所述备集群的请求; 所述备集群接收来自于所述主集群的数据同步请求,并写入所述数据至所述备集群; 及 所述备集群启动对写入数据的定时删除机制。7. 如权利要求6所述的数据写入的高可用方法,其特征在于,所述方法还包括: 当所述主集群出现读写数据故障时,所述备集群接收用户当前的写入操作,并记录当 前写入操作至第二日志文件; 当所述主集群的读写数据故障消除时,所述备集群同步所述第二日志文件所述主集 群。8. 如权利要求7所述的数据写入的高可用方法,其特征在于,所述备集群发起数据同步 请求至主集群,请求同步所述主集群故障期间写入至所述备集群中的数据至所述主集群。9. 如权利要求8所述的数据写入的高可用方法,其特征在于,所述主集群接收用户的读 取请求时,根据所述主集群的第一日志文件和所述备集群的第二日志文件来决定从所述主 集群或者所述备集群中读取数据。10. 如权利要求6所述的数据写入的高可用方法,其特征在于,所述定时删除机制为在 预设时间后删除存储在所述备集群中的数据。
【文档编号】H04L12/24GK105871987SQ201510923305
【公开日】2016年8月17日
【申请日】2015年12月14日
【发明人】吴兴义
【申请人】乐视云计算有限公司