UGC主备数据同步方法及其系统技术方案

技术编号:9671440 阅读:158 留言:0更新日期:2014-02-14 18:40
本发明专利技术提供一种UGC主备数据同步方法及其系统,所述方法包括以下步骤:保存主储存点中每一用户标识对应的UGC数据更新的版本标识;当执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件;如果是,则从所述主储存点获取所述用户标识所对应的全量UGC数据,并同步至所述备份点;否则,从所述主储存点获取所述用户标识对应的UGC更新数据,并将所述UGC更新数据同步至所述备份点。本发明专利技术提供的UGC主备数据同步方法及其系统能够实现UGC主备数据同步一致,并且同步数据不会占用过多通信资源,同步效率受UGC数据膨胀的影响较小。

【技术实现步骤摘要】
UGC主备数据同步方法及其系统
本专利技术涉及互联网络的
,特别是涉及一种UGC主备数据同步方法,以及一种UGC主备数据同步系统。
技术介绍
UGC (User Generated Content,用户生成内容)是一种使用互联网络的新方式,由原来以用户下载数据为主的应用方式,变成用户下载和上传并重。社区网络、视频分享和微博等都是UGC的主要应用形式。随着全球互联网业务的不断发展,UGC业务正在日渐崛起,引起了业界的广泛关注。UGC类应用中对用户产生的数据的存储是其核心技术之一,为提升用户体验、保持稳定性和提高抵抗灾难的能力(如IDC掉电,地震等意外),UGC数据存储一般都采用冗余热备的方式,即数据保存多份,如分别储存在多个IDCXInternet Data Center,互联网数据中心)甚至是不同城市的IDC。其中一份为主储存点保存的主点数据,所述主储存点是UGC数据写入的唯一入口 ;其它的为备份点保存的备份数据,接收所述主点数据的同步,通过同步系统使多份数据之间保持实时的一致性。由于UGC类应用中数据具有膨胀的特点,即用户产生的数据随时间推移会越来越多,如用户发表微博产生的数据,随着用户发表的微博量增大而增大,主储存点和备份点之间需要同步越来越大的数据量,占用越来越多的通信带宽资源。因此,UGC数据的膨胀性特点,使主点数据和备份数据之间的高实时一致性要求成为一个难题。通常的UGC主备数据同步方法采用定时全量同步的方式保持一致,其原理如图1所示。当用户的UGC数据有修改时,主储存点Master上对应的用户集unit (由多个用户标识uin组成的集合)的更新标识local seq加I,同步进程syncd定时检查local seq和备份点的更新标识peer seq的差异,如果local seq>peer seq,则根据peer seq从所述主储存点的数据更新日志binlog中取出发生数据更新的uin,并且取出对应的uin的全量UGC数据,发送给备份点Slave。所述备份点Slave接收所述全量UGC数据,保存至对应的uin,并更新本地的用户集unit的更新标识local seq,从而达到保持数据的一致的目的。当主备点之间同步的数据量基本稳定且不大的情况,上述同步方法可以较好的保证数据一致性。然而,由于UGC类应用中数据膨胀的特性比较突出,用户的UGC数据会随时间越来越大,例如在微博应用,用户发表的微博量可以达到数十万,用户索引数据总量可以达到数十兆,如果采用上述同步方法,则用户每发表一条微博或删除一条微博,都会将该用户的用户标识所对应的全量UGC数据同步到备份点。而随着同步的数据量变大,同步效率及实时性会大幅降低,通常解决的方法大多依赖于建立同步所用的专线带宽,而同步专线的资源有限,特别是建设跨城同步专线更是昂贵。
技术实现思路
针对上述
技术介绍
中存在的问题,本专利技术的目的在于提供一种能够实现UGC主备数据同步一致,并且同步数据不会占用过多通信资源的UGC主备数据同步方法,以及一种UGC主备数据同步系统。一种UGC主备数据同步方法,包括:保存主储存点中每一用户标识对应的UGC数据更新的版本标识;当执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件;如果是,则从所述主储存点获取所述用户标识所对应的全量UGC数据,并同步至所述备份点;否则,从所述主储存点获取所述用户标识对应的UGC更新数据,并将所述UGC更新数据同步至所述备份点。一种UGC主备数据同步系统,包括:更新版本标识模块,用于保存主储存点中每一用户标识对应的UGC数据更新的版本标识;判断模块,用于当执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件;数据同步模块,用于在所述版本标识满足预定的全量同步条件时,从所述主储存点获取所述用户标识所对应的全量UGC数据,并同步至所述备份点;在所述版本标识不满足预定的全量同步条件时,从所述主储存点获取所述用户标识对应的UGC更新数据,并将所述UGC更新数据同步至所述备份点。本专利技术的UGC主备数据同步方法及其系统,通过保存主储存点中每一用户标识对应的UGC数据更新的版本标识以及预先设定全量同步条件,只有在所述版本标识满足所述全量同步条件时,才进行全量同步,保证UGC主备数据的一致性;否则,进行增量同步,使同步数据不会占用过多的通信带宽资源。因此,能够使UGC类应用的膨胀性数据在窄带情况下也能够保持较高的实时一致性。【附图说明】图1是通常的UGC主备数据同步方法的原理示意图;图2是本专利技术UGC主备数据同步方法第一实施方式的流程示意图;图3是本专利技术UGC主备数据同步方法第二实施方式的流程示意图;图4时本专利技术UGC主备数据同步方法在一个实施例中应用的原理示意图;图5是本专利技术UGC主备数据同步系统的结构示意图。【具体实施方式】请参阅图2,图2是本专利技术UGC主备数据同步方法第一实施方式的流程示意图。所述UGC主备数据同步方法包括以下步骤:S101,保存主储存点中每一用户标识对应的UGC数据更新的版本标识;S102,当执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件;如果是,则执行步骤S103,从所述主储存点获取所述用户标识所对应的全量UGC数据,并同步至所述备份点;否则,执行步骤S104,从所述主储存点获取所述用户标识对应的UGC更新数据,并将所述UGC更新数据同步至所述备份点。其中,对于步骤S101,所述主储存点中每一用户标识对应的UGC数据更新的版本标识包括版本号,或者各个所述用户标识对应的UGC数据发生更新的累计次数等,用于记录同一用户标识对应的UGC数据发生更新的数据版本或者更新的累计次数。在各个所述用户标识对应的UGC数据发生更新时,所述版本标识对应修改,例如UGC数据发生更新一次,所述版本标识的取值加1,以便在步骤S102中根据所述版本标识决定是否进行全量同步。对于步骤S102,所述UGC主备数据的同步操作可以按照预定的时间间隔执行,也可以按照其他自定义的触发方式执行。优选地,所述主储存点和所述备份点都保存有相同的若干个用户集,对每个所述用户集设定UGC数据更新的用户集版本标识;其中,每一所述用户集包括多个所述用户标识;在执行步骤S102之前,先按照以下方式判断是否执行主储存点和UGC数据的备份点的数据同步:按照预定的检测周期,比较所述主储存点的所述用户集版本标识,是否大于所述备份点的所述用户集版本标识;如果是,则判断执行所述主储存点和UGC数据的备份点的数据同步;否则,判断不执行所述主储存点和UGC数据的备份点的数据同步。通过将所述主储存点和所述备份点的多个用户标识划分为若干个用户集,设定所述用户集版本标识,标记每个用户集的UGC数据更新的版本,在所述主储存点的用户集版本标识大于所述备份点的用户集版本标识时,表明对于该用户集,主储存点的UGC数据比备份点的UGC数据更新,因此执行所述主储存点和UGC数据的备份点的数据同步。当执行UGC主备数据同步时,判断所述版本标识是否满足预定的全量同步条件,所述预定条件包括累计更新次数为预设的全量同步间隔的整数倍,本文档来自技高网
...

【技术保护点】
一种UGC主备数据同步方法,其特征在于,包括以下步骤:保存主储存点中每一用户标识对应的UGC数据更新的版本标识;当执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件;如果是,则从所述主储存点获取所述用户标识所对应的全量UGC数据,并同步至所述备份点;否则,从所述主储存点获取所述用户标识对应的UGC更新数据,并将所述UGC更新数据同步至所述备份点。

【技术特征摘要】
1.一种UGC主备数据同步方法,其特征在于,包括以下步骤: 保存主储存点中每一用户标识对应的UGC数据更新的版本标识; 当执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件; 如果是,则从所述主储存点获取所述用户标识所对应的全量UGC数据,并同步至所述备份点; 否则,从所述主储存点获取所述用户标识对应的UGC更新数据,并将所述UGC更新数据同步至所述备份点。2.如权利要求1所述的UGC主备数据同步方法,其特征在于,如果判断所述版本标识不满足预定的全量同步条件,则进一步执行以下步骤: 获取所述用户标识对应的用户基本属性数据; 将所述用户基本属性数据以及所述UGC更新数据同步至所述备份点。3.如权利要求1所述的UGC主备数据同步方法,其特征在于,在判断所述版本标识是否满足预定的全量同步条件之前进一步包括以下步骤: 读取所述主储存点的UGC更新日志,获取所述UGC更新日志中记载的UGC数据更新对应的用户标识; 获取所述用户标识对应的UGC数据更新的版本标识来进行判断。4.如权利要求3所·述的UGC主备数据同步方法,其特征在于,在每次将所述全量UGC数据或者UGC更新数据同步至所述备份点时,进一步将所述用户标识对应的UGC数据更新的版本标识保存为历史版本标识; 则从所述主储存点获取所述用户标识对应的UGC更新数据的步骤包括: 根据所述用户标识对应的UGC数据更新的当前版本标识,以及对应的历史版本标识,从所述主储存点的UGC更新日志中获取所述用户标识对应的UGC更新数据。5.如权利要求1所述的UGC主备数据同步方法,其特征在于,判断所述版本标识是否满足预定的全量同步条件的步骤包括: 根据所述版本标识,判断在上一次全量同步之后,所述用户标识对应的UGC数据发生更新的次数是否大于或等于预设的全量同步间隔; 如果是,则判断满足预定的全量同步条件; 否则,判断不满足预定的全量同步条件; 其中,所述全量同步为将所述用户标识对应的全量UGC数据同步至所述备份点。6.如权利要求5所述的UGC主备数据同步方法,其特征在于,所述版本标识为各个所述用户标识对应的UGC数据发生更新的累计次数。7.如权利要求1所述的UGC主备数据同步方法,其特征在于,所述主储存点和所述备份点都保存有相同的若干个用户集,对每个所述用户集设定UGC数据更新的用户集版本标识;其中,每一所述用户集包括多个所述用户标识; 在执行所述主储存点和UGC数据的备份点的数据同步时,判断所述版本标识是否满足预定的全量同步条件的步骤之前,先按照以下方式判断是否执行所述主储存点和所述备份点的数据同步: 按照预定的检测周期,比较所述主储存点的所述用户集版本标识,是否大于所述备份点的所述用户集版本标识; 如果是,则判断执行所述主储存点和UGC数据的备份点的数据同步; 否则,判断不执行所述主储存点和U...

【专利技术属性】
技术研发人员:田明刘里
申请(专利权)人:腾讯科技北京有限公司
类型:发明
国别省市:

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

1