【技术实现步骤摘要】
一种数据同步服务的实现方法及设备
[0001]本申请涉及数据同步
,尤其涉及一种数据同步服务的实现方法及设备。
技术介绍
[0002]现在属于数据爆炸的时代,无论是个人还是企业每天都会产生海量的数据。电商、团购、外卖、新媒体都可以通过用户的行为习惯,为客户进行精准推送。企业同时也可以通过数据分析进行决策与规划。手机、PC、智能终端等产生的原始数据,具有数据量大、数据质量较差、数据结构不一致等特点,并不能直接产生数据价值。需要将数据同步到查询库进行数据清洗加工后,再进行数据的分析与挖掘才会产生真正的价值。
[0003]互联网上每时每刻都会产生海量数据,想要真正发挥数据的价值,对于数据同步的实时性要求非常高,因为随着时间的推移数据价值会不断变小。目前数据同步解决方案有三种:一是主动抽取,适用于同步非结构性数据,例如日志、Excel及其他数据;二是定时任务抽取,这是以往比较主流的数据同步方案;三是实时抽取,即通过捕获数据库变更日志进行数据实时抽取。前两种方案的实时性较差,无法满足目前对数据同步解决方案的实时性需求,第 ...
【技术保护点】
【技术特征摘要】
1.一种数据同步服务的实现方法,其特征在于,所述方法包括:应用服务器根据应用程序生成的数据库事务,构造对应的数据变更集,并将所述数据变更集推送至消息队列;数据同步服务端接收并解析所述消息队列发送的所述数据变更集;所述数据同步服务端向所述应用服务器验证所述数据库事务的事务状态;在所述事务状态为提交状态时,所述数据同步服务端将解析出的对应数据同步到目标数据库中。2.根据权利要求1所述的一种数据同步服务的实现方法,其特征在于,应用服务器根据应用程序生成的数据库事务,构造对应的数据变更集,并将所述数据变更集推送至消息队列,具体包括:所述应用服务器监听应用程序生成的数据库事务;并对JDBC进行监听并拦截,自动获取所述数据库事务内产生的数据并自动组织为所述数据变更集,并将组织的所述数据变更集缓存在变更集日志表中;其中,所述数据变更集为用于描述数据变化的数据结构;所述应用服务器依次向所述消息队列推送事务开始消息、所述数据变更集以及事务提交消息;并在发送所述事务开始消息与所述事务提交消息的同时,将所述事务开始消息与所述事务提交消息对应的事务状态保存在事务日志表中。3.根据权利要求2所述的一种数据同步服务的实现方法,其特征在于,将组织的所述数据变更集缓存在变更集日志表中,具体包括:当所述消息队列出现异常,无法推送消息时,所述应用服务器将产生的变更集先写入所述变更集日志表;在所述消息队列恢复运行后,所述应用服务器将所述变更集日志表中的数据重新发送给所述消息队列并清空所述变更集日志表。4.根据权利要求2所述的一种数据同步服务的实现方法,其特征在于,所述数据同步服务端向所述应用服务器验证所述数据库事务的事务状态,具体包括:所述数据同步服务端在接收到所述事务开始消息以及所述数据变更集后,若预设时间内未接收到所述事务提交消息,则在所述事务日志表中查找所述数据库事务的事务状态;其中,所述事务状态至少包括开始状态、回滚状态、挂起状态以及提交状态。5.根据权利要求4所述的一种数据同步服务的实现方法,其特征在于,在若否,在所述事务日志表中查找所述数据库事务的事务状态之后,所述方法还包括:在所述事务状态为回滚状态时,所述数据同步服务端终止所述数据变更集的处理;在所述事务状态为挂起状态时,所述数据同步服务端向所述应用服务器询问所述数据库事务是否正常运行;若正常运行,则继续等待事务状态变化后进行下一步处...
【专利技术属性】
技术研发人员:李文峰,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。