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

文档序号:9846828阅读:来源:国知局
数据分析等业务)。本实施例中对内服务数据库是系统管理员查询和管理用户数据的基础。在分布式系统中,对外服务产生的对外服务数据可以同步或者异步的方式同步到对内服务数据库中,以便于系统管理员查看和管理用户数据。
[0032]作为一优选实施方式,获取产生的对外服务数据之后,通过消息中间件以异步方式将所述对外服务数据同步到对内服务数据库中。
[0033]需要说明的是,消息中间件是指支持与保障分布式应用程序之间同步/异步收发消息的中间件。其中,异步方式指消息发送方在发送消息时不必知道接收方的状态,更无需等待接收方的回复,而接收方在收到消息时也不必知道发送方的目前状态,更无需进行同步的消息处理,它们之间的连接完全是松耦合的,通信是非阻塞的,这种异步通信方式是由消息中间件中的消息队列及其服务机制保障的。消息中间件最突出的特点就是提供数据传输的可靠性和高效性。
[0034]作为一优选实施方式,可定时分析生成的业务日志,即按照设定时间周期,比较所述日志记录与对内服务数据库,判断所述对内服务数据库是否存在数据丢失;该方式可在一定程度上降低由于消息中间件的数据传输延时,导致误判的情况。
[0035]作为另一优选实施方式,可即时分析生成的业务日志,即当检测到有新的日志记录生成时,立即比较所述日志记录与对内服务数据库,该方式每次分析比较的数据量较小,处理复杂度较低。
[0036]步骤S103,如果存在数据丢失,根据所述日志记录修复所述对内服务数据库中的同步数据。
[0037]本实施例中,可通过日志分析管理平台分析生成的业务日志,将所述日志记录的对外服务数据转换为与对内服务数据库中存储的同步数据相同的格式,以进行比较,如果当前处理的日志记录的对外服务数据在对内服务数据库中不存在,表明该日志记录对应的对外服务数据在对内服务数据库时丢失,通过所述日志分析管理平台记录所述日志记录的对外服务数据为丢失数据,便于数据修复。
[0038]基于上述实施例,系统管理员可通过所述日志分析管理平台查看对内服务数据库丢失数据的情况,并且可根据丢失数据的记录修复对内服务数据库中对外服务数据的同步数据,保证对内服务数据库的准确性。
[0039]通过上述实施例的日志记录产生的对外服务数据的方式,降低了对消息中间件性能的依赖性,同步数据过程中即使出现了数据丢失的情况,也可通过相应的日志记录进行修复。
[0040]请参阅图3,图3为实施上述实施例的对外服务数据异步同步方法的逻辑框架示意图。如图3所示,本实施例的对外服务器接收用户的读写请求,产生对外服务数据并缓存到对外数据空间时,还同时负责在业务日志中生成对应的日志记录,以日志记录的形式记录产生的对外服务数据。在此基础上,可通过日志分析管理平台定时(或实时)分析生成的日志记录,并与对内服务数据库进行比较,如果当前处理的日志记录对应的对外服务数据在对内服务数据库中不存在,说明该日志记录对应的对外服务数据为同步过程中丢失的数据,日志分析管理平台记录为丢失的数据。进一步的,系统管理员可通过日志分析管理平台查看对内服务数据库丢失数据的记录,并将记录下的丢失的数据写入对内服务数据库(对内数据空间),保证了对内服务数据库的准确性。
[0041]进一步的,上述的比较所述日志记录与对内服务数据库,判断对内服务数据库是否存在数据丢失的具体方式可为:遍历所述对内服务数据库,检测是否存在所述日志记录对应的对外服务数据,若否,判定为对内服务数据库存在数据丢失,同时还可记录所述日志记录的对外服务数据为丢失数据,以便根据所述丢失数据实时修复对内服务数据库中的同步数据,维护对内服务数据库的准确性。
[0042]作为一优选实施方式,如果存在数据丢失,根据所述日志记录修复对内服务数据库中同步数据的方式可为:如果存在数据丢失,当收到系统管理员查看所述日志分析管理平台、修复对内服务数据库的请求时,或者设定的时间到来时,用所述日志分析管理平台中记录的丢失数据对所述对内服务数据库进行修复。相对于实时修复方式,该方式可减少对所述对内服务数据库的修改次数。
[0043]根据本发明上述实施例,通过获取产生的对外服务数据,生成所述对外服务数据对应的日志记录;基于该日志记录,通过所述日志记录与对内服务数据库的比较,可及时发现对内服务数据库(同步数据)是否存在丢失的数据;如果存在丢失的数据,可根据所述日志记录修复对内服务数据库中的同步数据。降低了同步数据对消息中间件的依赖性,便于及时发现对内服务数据库中丢失的数据,并快速修复丢失的数据。
[0044]需要说明的是,对于前述的方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
[0045]以下对可用于执行上述实现系统中同步数据修复的方法的本发明实施例的实现系统中同步数据修复的系统进行说明。图4为本发明实施例的实现系统中同步数据修复的系统的逻辑结构示意图,为了便于说明,图中仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0046]图4示例的实现系统中同步数据修复的系统包含日志生成模块410、日志分析模块420以及修复模块430,其中:
[0047]所述日志生成模块410,用于获取产生的对外服务数据,生成所述对外服务数据对应的日志记录;
[0048]需要说明的是,本实施例中对外服务指的是面向用户的业务,对内服务指的是面向系统管理员的业务。通常情况下,用户访问UGC系统时,会产生相应的对外服务数据。该对外服务数据均为UGC数据,即用户访问系统时产生的私有数据,只与当前用户自己有关,如当前用户在系统中的头像、昵称、性别等数据。本实施例所说的对外服务数据为UGC数据。
[0049]本实施例中,在UGC系统中预设有新的日志类型,即业务日志,业务日志中的每一条日志记录都对应了详细的UGC数据。不同用户访问系统时产生的对外服务数据,可通过不同的业务日志进行记录,同一用户多次访问对外服务器产生的对外服务数据,可通过业务日志中不同的日志记录予以记录。现有的UGC系统中,当对外服务产生新的UGC数据时,将所述UGC数据缓存到对应的对外数据空间,本实施例中,当对外服务产生新的UGC数据时,所述日志生成模块410具体用于,获取到对外服务产生的一 UGC数据,在系统中预设的业务日志中生成一条与所述UGC数据对应的日志记录。
[0050]需要说明的是,本实施例对业务日志的属性和日志记录格式不作限定,可根据系统情况进行适应性设置。
[0051 ]所述日志分析模块420,用于比较所述日志记录与对内服务数据库,判断对内服务数据库是否存在数据丢失;
[0052]这里的对内服务数据库指的是,用于存储对外服务产生的对外服务数据的同步数据的存储空间,所述同步数据主要用于对内服务。本实施例中对内服务数据库是系统管理员查询和管理用户数据的基础。在分布式系统中,对外服务产生的对外服务数据可以同步或者异步的方式同步到对内服务数据库中,以便于系统管理
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1