实现系统中同步数据修复的方法及系统的制作方法

文档序号:9846828阅读:370来源:国知局
实现系统中同步数据修复的方法及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别是涉及实现系统中同步数据修复的方法及系统。
【背景技术】
[0002]在web2.0时代,每一个用户都可以生成自己的内容,互联网上的所有内容可由用户创造,而不只是以前的某一些人,使得互联网内容飞速增长。UGC(User GeneratedContent,用户原创内容)系统即是可为每个访问用户生成其私有数据的系统。
[0003]UGC的概念起源于互联网领域,即用户将自己原创的内容通过互联网平台进行展示或者提供给其他用户。UGC并不是某一种具体的业务,而是一种用户使用互联网的新方式,使得互联网使用方式由原来的以下载为主变成以下载/上传并重。YouTube、社交网络、博客和播客等都是UGC系统的主要应用形式。
[0004]如图1所示,现有的UGC系统通常包括对外服务器和对内服务器。其中,对外服务器是一个高可用、高稳定性、高性能的服务器,用于直接为外网用户提供业务,该服务器每秒处理着大量的用户请求,而处理这些用户请求的对外服务数据都为UGC数据,即仅与当前访问用户相关。对外服务器可将这些用户请求对应的UGC数据缓存到一个高速的对外数据空间(内存服务),但该对外数据空间对于批量读写数据的支持较差。对内服务器是一个面向系统管理员的服务器,通常作用为将同步得到的大量用户数据遍历展示出来,便于管理员查看和管理用户数据。通常对内服务器的请求量较小,不需要太高的性能,但需具备遍历大量用户数据的能力,通常可通过配置有一个能够支持遍历大量存储数据的对内数据空间(如MySQL)实现。
[0005]通常在一些放量比较大的UGC系统中,需对对外服务产生的UGC数据进行数据同步,将对外服务产生的对外服务数据同步到对内服务数据库中,管理人员通过对内服务数据库可查看和管理用户数据,进而实现网站管理和维护。为了将对外服务产生的UGC数据同步到对内服务数据库,同时又不影响对外服务器的对外服务性能,现有的做法为:通过一个消息中间件(message oriented middleware)和对内服务器,将对外服务产生的UGC数据以异步方式同步到对内服务数据库,管理人员通过对内服务器访问对内服务数据库,遍历所述对内服务数据库中的同步数据查看和管理大量用户数据,实现网站管理和维护。
[0006]然而,基于这种数据同步方式,对消息中间件的可靠性的要求较高,一旦出现消息中间件丢消息(由于网络波动等因素导致),或者对内服务器BUG导致没能及时处理好消息中间件发送的对外服务数据的情况,将导致对外服务产生的对外服务数据无法可靠的同步到对内数据空间中,即数据同步丢失,且这种情况导致的数据丢失,无法通过对内服务器进行修复。

【发明内容】

[0007]基于此,本发明提供一种实现系统中同步数据修复的方法及系统,便于发现同步数据中丢失的数据,并快速修复丢失的数据,降低对消息中间件的依赖性。
[0008]本发明采用以下技术方案:
[0009]本发明一方面提供一种实现系统中同步数据修复的方法,包括:
[0010]获取产生的对外服务数据,生成所述对外服务数据对应的日志记录;
[0011 ]比较所述日志记录与对内服务数据库,判断所述对内服务数据库是否存在数据丢失;
[0012]如果存在数据丢失,根据所述日志记录修复所述对内服务数据库中的同步数据。
[0013]本发明另一方面提供一种分布式实现系统中同步数据修复的系统,包括:
[0014]日志生成模块,用于获取产生的对外服务数据,生成所述对外服务数据对应的日志记录;
[0015]日志分析模块,用于比较所述日志记录与对内服务数据库,判断对内服务数据库是否存在数据丢失;
[0016]以及,修复模块,用于如果存在数据丢失,根据所述日志记录修复所述对内服务数据库中的同步数据。
[0017]实施本发明的上述技术方案的有益效果包括:通过获取产生的对外服务数据,生成所述对外服务数据对应的日志记录;基于该日志记录,通过所述日志记录与对内服务数据库的比较,可及时发现对内服务数据库(同步数据)是否存在丢失的数据;如果存在丢失的数据,可根据所述日志记录修复对内服务数据库中的同步数据。降低了同步数据对消息中间件的依赖性,便于及时发现对内服务数据库中丢失的数据,并快速修复丢失的数据。
【附图说明】
[0018]图1为现有的UGC系统中对外服务数据同步处理的逻辑框架示意图;
[0019]图2为本发明实施例的实现系统中同步数据修复的方法的流程示意图;
[0020]图3为实施本发明实施例中对外服务数据同步处理的逻辑框架示意图;
[0021]图4为本发明实施例的实现系统中同步数据修复的系统的逻辑结构示意图;
[0022]图5为本发明另一实施例的分布式实现系统中同步数据修复的系统的逻辑结构示意图。
【具体实施方式】
[0023]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]本发明提供的实施例包括实现系统中同步数据修复的方法实施例,还包括实现系统中同步数据修复的系统实施例。以下分别进行详细说明。
[0025]图2为本发明实施例的实现系统中同步数据修复的方法的流程示意图。参阅图2,本实施例的实现系统中同步数据修复的方法包含以下步骤SlOl至步骤S103,详细说明如下:
[0026]步骤SlOl,获取产生的对外服务数据,生成所述对外服务数据对应的日志记录;
[0027]本实施例中所说的对外服务指的是面向用户的业务,对内服务指的是面向系统管理员的业务。通常情况下,用户访问UGC系统时,会产生相应的对外服务数据。该对外服务数据均为UGC数据,即用户访问系统时产生的私有数据,只与当前用户自己有关,如当前用户在系统中的头像、昵称、性别等数据。
[0028]本实施例中,可在UGC系统中预设一新的日志类型,即业务日志,业务日志中的每一条日志记录都对应了详细的UGC数据。不同用户访问系统时产生的对外服务数据,可通过不同的业务日志进行记录,同一用户多次访问对外服务器产生的对外服务数据,可通过业务日志中不同的日志记录予以记录。同时在UGC系统中,对外服务产生新的UGC数据之后,将所述UGC数据缓存到对应的对外数据空间,并且通过上述步骤SlOl,若获取到对外服务产生的一UGC数据,还会在系统中预设的业务日志中生成一条与所述UGC数据对应的日志记录。
[0029]需要说明的是,本实施例对业务日志的属性和日志记录格式不作限定,可根据系统情况进行适应性设置。
[0030]步骤S102,比较所述日志记录与对内服务数据库,判断所述对内服务数据库是否存在数据丢失;
[0031]这里的对内服务数据库指的是,用于存储对外服务产生的对外服务数据的同步数据的存储空间,对内服务数据库主要用于对内服务业务(例如管理用户数据或者用户
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1