一种分布式存储系统中的数据同步方法、装置及系统的制作方法_2

文档序号:9436093阅读:来源:国知局
组合。
[0028]本发明实施例提供了一种分布式存储系统中的数据同步方法,图1是根据本发明实施例的数据同步方法的流程图,如图1所示,该方法包括以下步骤(S101至S106):
[0029]S101,第一客户端向第一存储服务集群发送第一数据变更请求;
[0030]S102,第一存储服务集群接收第一数据变更请求并变更所述请求对应的数据;
[0031]S103,第一存储服务集群将变更数据对应的第一同步数据同步至第二存储服务集群;
[0032]S104,第二存储服务集群根据上述第一同步数据进行数据同步;
[0033]S105,第二存储服务集群按照SlOl — S103相同的步骤产生第二同步数据,同步至所述第一存储服务集群;
[0034]S106,第一存储服务集群根据上述第二同步数据进行数据同步。
[0035]通过本发明实施例,第一存储服务集群接收来自第一客户端的第一数据变更请求;所述第一存储服务集群根据所述第一数据变更请求,变更第一存储服务集群中的对应数据;所述第一存储服务集群将变更数据作为第一同步数据同步至第二存储服务集群;所述第一存储服务集群接收所述第二存储服务集群发送的第二同步数据;所述第一存储服务集群根据所述第二同步数据进行数据同步。使得异地分布式存储服务集群之间可以实现数据双向同步,充分利用所有的计算资源,在有限的计算资源基础上实现异地容灾;其次,避免了业务应用进行数据的写操作需要实时访问异地分布式存储服务集群的问题,克服了异地访问网络延迟较高、带宽有限等问题。
[0036]在本发明的一个实施例中,所述第一存储服务集群根据所述第一数据变更请求,变更第一存储服务集群中的对应数据,还包括:同时生成与所述变更数据对应的第一同步日志。所述第一存储服务集群将变更数据对应的第一同步数据同步至第二存储服务集群,包括:读取所述第一同步日志,根据所述第一同步日志读取对应的所述第一存储服务集群存储的数据,并将所述读取数据同步至所述第二存储服务集群。具体的,图2是根据本发明实施例的数据同步方法的流程图,如图2所示,该方法包括以下步骤(S201 — S210):
[0037]S201,第一客户端向第一存储服务集群发送第一数据变更请求;
[0038]S202,第一存储服务集群接收第一数据变更请求并变更所述请求对应的数据;
[0039]S203,第一存储服务集群生成与上述变更数据对应的第一同步日志;
[0040]S204,第一存储服务集群将数据的变更结果返回上述第一客户端;
[0041]S205,第一存储服务集群读取上述第一同步日志;
[0042]S206,第一存储服务集群根据上述第一同步日志读取对应的第一存储服务集群存储的数据;
[0043]S207,第一存储服务集群将上述读取的数据作为第一同步数据发送至第二存储服务集群;
[0044]S208第二存储服务集群根据上述第一同步数据进行数据同步;
[0045]S209,第二存储服务集群按照S201 — S206相同的步骤产生第二同步数据,发送至所述第一存储服务集群;
[0046]S210,第一存储服务集群根据上述第二同步数据进行数据同步。
[0047]在本发明的一个实施例中,所述读取第一同步日志,还包括:定时检查是否有新的第一同步日志生成。具体的,第一存储服务集群定时检查是否有新的第一同步日志生成,并根据第一同步日志将对应的数据同步至第二存储服务集群包括以下步骤:
[0048]S301,设置一个定时检查兀件,预先设定一个间隔时间段,比如I秒、5秒、10秒、15秒等;
[0049]S302,预先设定的间隔时间段经过后,启动检查是否有新的第一同步日志生成,若无,则不执行读取第一同步日志操作,若有则执行读取第一同步日志操作;
[0050]S303,读取第一同步日志中记录的数据信息;
[0051]S304,根据第一同步日志中记录的数据信息,读取对应的第一存储服务集群存储的数据。
[0052]S305,将所述读取对应第一存储服务集群存储的数据同步至第二存储服务集群。
[0053]在本发明的一个实施方式中,所述第一同步日志中包含所述变更数据的元数据,不需要包含完整的变更数据。本实施例的有益效果在于:(I)元数据的尺寸相对较小,只包含变更数据的摘要信息和属性等,节省存储空间;(2)分布式服务集群是由多台存储服务器组成,长时间运行中存储服务器可能会发生宕机、断网等情况,这有可能会造成对同一个数据的多次修改操作,先后由多个存储服务器节点分别向异地同步,而且同步的顺序不一定与最初写入的顺序一致。因此在第一同步日志只保存了元数据而不是完整数据,第一存储服务集群在同步之前根据元数据去取当时最新的完整数据进行数据同步,避免了向异地同步过时的数据。
[0054]在本发明的一个实施方式中,第一存储服务集群根据所述第一数据变更请求,变更第一存储服务集群中的对应数据,还包括:将所述变更结果通知所述第一客户端。也即,第一存储服务集群数据变更成功后,会向第一客户端返回“数据变更成功”的信息;第一存储服务集群数据变更失败后,也会向第一客户端返回“数据变更失败”及提醒“重新操作”的信息。
[0055]本发明实施例还提供了一种分布式存储系统中的数据同步装置,图2是根据本发明实施例的数据同步装置的结构框图,如图2所示,该装置包括:第一接收模块301、第一数据管理模块302、同步模块303、第二接收模块304、第二数据管理模块305。其中,第一接收模块301,用于接收来自第一客户端的第一数据变更请求;第一数据管理模块302,用于根据所述第一数据变更请求,变更第一存储服务集群中对应的数据;同步模块303,用于将变更数据作为第一同步数据同步至第二存储服务集群;第二接收模块304,用于接收所述第二存储服务集群发送的第二同步数据;第二数据管理模块305,用于根据所述第二同步数据进行数据同步。
[0056]通过本发明实施例,第一接收模块301接收第一客户端发送的第一数据变更请求,第一数据管理模块302随即根据上述第一数据变更请求,将第一存储服务集群中对应的数据进行变更,同步模块303负责将变更数据作为第一同步数据同步至第二存储服务集群;此外,第二接收模块304能够接收第二存储服务集群发送的第二同步数据,随即,第二数据管理模块305会根据上述第二同步数据将第一存储集群中的数据进行同步。使得异地分布式存储服务集群之间可以实现数据双向同步,充分利用所有的计算资源,在有限的计算资源基础上实现异地容灾;其次,避免了业务应用进行数据的写操作需要实时访问异地分布式存储服务集群的问题,克服了异地访问网络延迟较高、带宽有限等问题。
[0057]在本发明的一个实施方式中,所述第一数据管理模块,还用于同时生成与所述变更数据对应的第一同步日志;所述同步模块,还用于将所述第一同步日志对应的第一同步数据同步至第二存储服务集群。如图3所示,所述同步模块包括:读取单元3031、同步单元3032。其中,读取单元3031,读取第一同步日志记录的数据信息,根据第一同步日志记录的数据信息读取对应第一存储服务集群中存储的数据;同步单元3032,将上述读取单元所读取的第一存储服务集群中存储的数据同步至第二存储服务集群。读取单元303
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1