用于机房的数据同步方法及装置制造方法及图纸

技术编号:17998887 阅读:83 留言:0更新日期:2018-05-19 16:13
本发明专利技术公开了一种用于机房的数据同步方法及装置。其中,该方法包括:第一机房执行与接收到的更新请求相对应的多个更新操作;将多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据;将消息数据存储到预设的消息队列中,以供第二机房根据消息队列中存储的各条消息数据进行数据同步。由此可见,利用本发明专利技术提供的方案,实现了多个机房之间的双向数据同步操作。另外,能够将同一个更新请求所对应的多个操作记录按照执行顺序封装为一条消息数据,从而防止了乱序情况的发生,确保了同步过程的正确性。

【技术实现步骤摘要】
用于机房的数据同步方法及装置
本专利技术涉及计算机
,具体涉及一种用于机房的数据同步方法及装置。
技术介绍
随着网络服务的日益普及,用户的访问量越来越大,如果将业务数据全部存储在一台服务器上,该服务器往往会由于访问量过大而出现故障,而且,受到服务器存储空间的限制,在业务数据量很大的应用场景中,一台服务器往往无法承载全部的业务数据,因此,需要多台服务器共同为用户提供服务。为此,可以将多台共同用于提供某一服务的服务器设置在同一机房内,由该机房向用户提供该项服务。另外,在实际应用中,还经常需要将一些常用的业务数据同时存储在多个机房内。在上述情况中,多个机房中的数据需要保持一致,一旦各机房中的数据出现了不一致的情况就会影响用户的正常使用。由于业务数据经常发生变更,一旦某机房中的数据变更后,其他机房没有及时进行同步更新就会导致数据不一致的情况发生。在现有技术中,通常采用单向同步的方式来实现多个机房之间的数据同步,在该方式中,只能通过主机房向从机房同步数据,但不能通过从机房向主机房同步数据。但是,专利技术人在实现本专利技术的过程中发现,现有技术中的上述方式至少存在下述缺陷:由于只能从主机房向从机房同步数据,因此,从机房对应的更新数据无法同步到主机房,从而带来了数据不一致的隐患。为了排除该隐患,不得不将全部的更新数据都写入主机房,然后再通过主机房向各个从机房同步。但是,这样势必导致主机房的写入压力剧增,从而增加等待时延,且无形中也增加了写入失败的概率。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的用于机房的数据同步方法及装置。根据本专利技术的一个方面,提供了用于机房的数据同步方法,包括:第一机房执行与接收到的更新请求相对应的多个更新操作;将多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据;将消息数据存储到预设的消息队列中,以供第二机房根据消息队列中存储的各条消息数据进行数据同步。根据本专利技术的另一方面,提供了一种用于机房的数据同步装置,该数据同步装置设置在第一机房上,包括:更新模块,适于执行与接收到的更新请求相对应的多个更新操作;封装模块,适于将多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据;存储模块,适于将消息数据存储到预设的消息队列中,以供第二机房根据消息队列中存储的各条消息数据进行数据同步。根据本专利技术的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述用于机房的数据同步方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述用于机房的数据同步方法对应的操作。根据本专利技术公开的用于机房的数据同步方法及装置,第一机房执行与接收到的更新请求相对应的多个更新操作时,进一步将多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据,并将该消息数据存储到预设的消息队列中,以供第二机房根据消息队列中存储的各条消息数据进行数据同步。由此可见,在本实施例中,通过在第一机房和第二机房之间增设用于缓存消息的消息队列,从而实现了多个机房之间的双向数据同步操作。另外,由于一个更新请求所对应的多个更新操作之间具备严格的顺序关系,因此,为了防止因消息队列中的各条消息数据之间出现乱序而影响同一更新请求所对应的多个更新操作的执行顺序,将同一个更新请求所对应的多个操作记录按照执行顺序封装为一条消息数据,从而防止了乱序情况的发生,确保了同步过程的正确性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术一个实施例的用于机房的数据同步方法的流程示意图;图2示出了本专利技术另一个实施例的用于机房的数据同步方法的流程示意图;图3示出了本专利技术又一实施例提供的一种用于机房的数据同步装置的装置结构图;图4示出了根据本专利技术实施例的一种电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了本专利技术一个实施例的用于机房的数据同步方法的流程示意图。如图1所示,该方法包括:步骤S110:第一机房执行与接收到的更新请求相对应的多个更新操作。其中,第一机房接收到的更新请求可能是由终端用户发出的,也可能是由运维用户发出的。并且,更新请求的类型可以包括多种,具体取决于业务种类,本专利技术对具体细节不做限定。例如,更新请求可能是用于增加一条用户评论的评论类更新请求,还可能是用于实现点赞功能的点赞类更新请求。其中,一个更新请求往往对应于多个更新操作。具体地,一个更新请求所对应的多个更新操作既可以直接包含在更新请求的请求参数中,从而通过解析该更新请求的方式来确定对应的多个更新操作。或者,一个更新请求所对应的多个更新操作还可以预先设置并存储在请求执行规则中,从而通过查询预设的请求执行规则来确定对应的多个更新操作。在上述的两种方式中,用户只需触发一次更新请求,后台即会自动触发多个对应的更新操作,例如,以点赞类更新请求为例,用户只需触发一次点赞类更新请求,后台会自动按照预设的请求执行规则执行以下两项更新操作:(1)修改与点赞操作相对应的网络内容的显示状态;(2)向与该网络内容相关的用户发送点赞通知消息。相应地,在本步骤中,按照上述两项更新操作的执行顺序依次执行该两项更新操作,以完成针对该点赞类更新请求的更新过程。另外,在其他的实现方式中,一个更新请求可能需要用户执行多次触发操作,每次触发操作对应于一个更新子请求,且每个更新子请求对应于一个或多个更新操作。例如,以评论类更新请求为例,用户需要依次执行以下触发操作:(1)点击网络内容下方的评论入口,以使第一机房接收到该评论类更新请求中包含的第一更新子请求;(2)在评论输入框内输入对应的评论内容,以使第一机房接收到该评论类更新请求中包含的第二更新子请求;(3)点击确认提交评论的提交入口,以提交该条评论,并使第一机房接收到该评论类更新请求中包含的第三更新子请求。上述的每条更新子请求对应于至少一个更新操作。例如,第一更新子请求对应于显示评论输入框的更新操作;第二更新子请求对应于显示评论内容的更新操作;第三更新子请求对应于修改网络内容的评论状态的更新操作,以及向与该网络内容相关的用户终端发送通知消息的更新操作。在该种方式中,将执行目的相同的多个更新子请求确定为一个更新请求。由此可见,本专利技术并不限定更新请求的具体内涵和实现方式,也不限定一个更新请求所对应的各个更新操作本文档来自技高网...
用于机房的数据同步方法及装置

【技术保护点】
一种用于机房的数据同步方法,包括:第一机房执行与接收到的更新请求相对应的多个更新操作;将所述多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据;将所述消息数据存储到预设的消息队列中,以供第二机房根据所述消息队列中存储的各条消息数据进行数据同步。

【技术特征摘要】
1.一种用于机房的数据同步方法,包括:第一机房执行与接收到的更新请求相对应的多个更新操作;将所述多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据;将所述消息数据存储到预设的消息队列中,以供第二机房根据所述消息队列中存储的各条消息数据进行数据同步。2.根据权利要求1所述的方法,其中,所述第一机房执行与接收到的更新请求相对应的多个更新操作的步骤具体包括:第一机房确定与所述更新请求相对应的各个更新操作的操作类型和执行顺序;按照所述各个更新操作的操作类型和执行顺序依次执行各个更新操作。3.根据权利要求2所述的方法,其中,所述第一机房确定与所述更新请求相对应的各个更新操作的操作类型和执行顺序的步骤具体包括:确定所述更新请求的请求类型,根据预设的请求执行规则确定与该请求类型相对应的各个更新操作的操作类型和执行顺序。4.根据权利要求1-3任一所述的方法,其中,所述将所述多个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据的步骤具体包括:预先为每个更新请求分配唯一的请求标识;根据每个更新操作中包含的请求标识,确定对应于同一个更新请求的各个更新操作;将所述对应于同一个更新请求的各个更新操作所对应的多个操作记录按照执行顺序封装为一条消息数据。5.根据权利要求1-4任一所述的方法,其中,所述第二机房根据所述消息队列中存储的各条消息数据进行数据同步的步骤具体包括:所述第二机房获取所述消息队列中的一条消息数据,确定所述消息数据中包含的多个操作记录;创建与所述消息数据相对应的更新事务;其中,所述更新事务中包含多个与所述消息数据中包含的多个操作记录一一对应的更新操作;通过所述更新事务执行与所述消息数据...

【专利技术属性】
技术研发人员:李钢
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1