本申请公开了一种数据同步方法及系统。涉及金融科技领域,该方法包括:按照第一频率从目标业务系统的应用服务器定时获取交易数据,存储到分布式系统的开源数据库中;按照第二频率从目标业务系统的数据库中获取业务参数数据,存储到分布式系统的内存数据库中;在目标业务系统的交易发生变化的情况下,根据数据库中发生变化的数据,将变化的数据同步到开源数据库和/或内存数据库中。通过本申请,解决了相关技术中的托管分布式系统的HBase开源数据库和Redis内存数据库与传统业务系统的Oracle数据库之间存在数据差异,在分布式系统中分布式计算处理前需保证数据完整性的问题。计算处理前需保证数据完整性的问题。计算处理前需保证数据完整性的问题。
【技术实现步骤摘要】
一种数据同步方法及系统
[0001]本申请涉及金融科技领域,具体而言,涉及一种数据同步方法及系统。
技术介绍
[0002]近年来资本市场快速发展,资产托管市场也随之快速增长,托管业务处理数据量指数增长,各机构投入大量人力研发分布式系统,该系统以分布式计算、大内存处理为基础,突破性能容量上的瓶颈,满足业务处理效率要求。
[0003]HBase(Hadoop Database,分布式计算数据库)是分布式的、面向列的开源数据库,支持海量存储、极易扩展、高并发等特性,适合存储每日海量市场行情数据、托管组合交易数据。Redis(Remote Dictionary Server,远程字典服务)是一种内存数据库,具有访问速度快、支持各种数据结构存储、支持数据备份、事务等特点,实用于存储计算过程中频繁调用的参数数据。所以分布式系统数据存储采用HBase+Redis模式,即市场行情数据、交易数据存储在分布式数据库HBase,参数数据存储在内存数据库Redis。而受限于企业历史存在的内部管理系统,业务系统应用程序部署在应用服务器(中间件是was、tomcat等),数据库采用Oracle数据库(一款数据块管理系统),业务人员手工维护参数数据、手工新增业务数据,仍存储在Oracle,如何保证托管分布式系统数据完整性,成为一大难点。
[0004]针对相关技术中如何保证托管分布式系统数据完整性的问题,目前尚未提出有效的解决方案。
技术实现思路
[0005]本申请的主要目的在于提供一种数据同步方法及系统,以解决相关技术中的托管分布式系统的HBase开源数据库和Redis内存数据库与传统业务系统的Oracle数据库之间存在数据差异,在分布式系统中分布式计算处理前需保证数据完整性的问题。
[0006]为了实现上述目的,根据本申请的一个方面,提供了一种数据同步方法。该方法包括:按照第一频率从目标业务系统的应用服务器定时获取交易数据,存储到分布式系统的开源数据库中;按照第二频率从所述目标业务系统的数据库中获取业务参数数据,存储到所述分布式系统的内存数据库中,其中,所述第一频率高于所述第二频率;在所述目标业务系统的交易发生变化的情况下,根据所述数据库中发生变化的数据,将变化的数据同步到所述开源数据库和/或所述内存数据库中。
[0007]可选的,根据所述数据库中发生变化的数据,将变化的数据同步到所述开源数据库和/或所述内存数据库中包括:在所述目标业务系统的预设路径下,创建触发器;在所述目标业务系统的交易发生变化的情况下,自动触发所述触发器将发生变化的数据,生成预设格式的变更数据,其中,所述发生变化的数据包括发生变化的交易数据和/或发生变化的业务参数数据,所述变更数据包括根据所述变化的交易数据生成的第一变更数据,和/或,根据所述变化的业务参数数据生成的第二变更数据;根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库,和/或,根据所述第二变更数据,将所述变化的业务参
数数据同步到所述内存数据库。
[0008]可选的,根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库,和/或,根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库之前,所述方法还包括:通过所述分布式系统的服务器集群设置定时扫描任务,对所述变更数据的日志定时扫描;在扫描到所述第一变更数据产生的情况下,执行根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库的步骤,和/或,在扫描到所述第二变更数据产生的情况下,执行根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库的步骤。
[0009]可选的,根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库包括:根据所述第二变更数据的日志,获取发生变化的业务参数数据的第二序列号;根据所述第二序列号从所述开源数据库中查找对应的业务参数数据;根据发生变化的业务参数数据对所述业务参数数据进行同步。
[0010]可选的,根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库包括:根据所述第一变更数据的日志,获取发生变化的交易数据的第一序列号;根据所述第一序列号从所述开源数据库中查找对应的交易数据;根据发生变化的交易数据的主键对所述交易数据进行同步。
[0011]可选的,根据发生变化的交易数据的主键对所述交易数据进行同步包括:在所述变化的交易数据存在主键的情况下,根据主键值构造所述开源数据库的插入对象集合;在所述变化的交易数据不存在主键的情况下,根据所述变化的交易数据在所述目标业务系统的行键,构造所述开源数据库的插入对象集合;基于所述插入对象集合,将所述插入对象集合插入所述开源数据库,对所述开源数据库的交易数据进行同步。
[0012]可选的,根据主键值构造所述开源数据库的插入对象集合包括:对相同的表,构建删除新增队列;按照所述主键值抵消相同的新增删除记录,构造所述插入对象集合;根据所述变化的交易数据在所述目标业务系统的行键,构造所述开源数据库的插入对象集合包括:根据所述行键合并相同的记录,构造所述插入对象集合。
[0013]为了实现上述目的,根据本申请的另一方面,提供了一种数据同步装置。该装置包括:开源数据库存储模块,用于按照第一频率从目标业务系统的应用服务器定时获取交易数据,存储到分布式系统的开源数据库中;内存数据库存储模块,用于按照第二频率从所述目标业务系统的数据库中获取业务参数数据,存储到所述分布式系统的内存数据库中,其中,所述第一频率高于所述第二频率;同步模块,用于在所述目标业务系统的交易发生变化的情况下,根据所述数据库中发生变化的数据,将变化的数据同步到所述开源数据库和/或所述内存数据库中。
[0014]根据本申请的另一方面,还提供了一种计算机可读存储介质,所述存储介质用于存储程序,其中,所述程序执行上述中任意一项所述的数据同步方法。
[0015]根据本申请的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项所述的数据同步方法。
[0016]通过本申请,采用以下步骤:按照第一频率从目标业务系统的应用服务器定时获取交易数据,存储到分布式系统的开源数据库中;按照第二频率从目标业务系统的数据库
中获取业务参数数据,存储到分布式系统的内存数据库中,其中,第一频率高于第二频率;在目标业务系统的交易发生变化的情况下,根据数据库中发生变化的数据,将变化的数据同步到开源数据库和/或内存数据库中,通过采用固定频率获取的方式将目标业务系统的交易数据与业务参数数据分别同步至不同类型的数据库,并针对目标业务系统数据的变更针对不同数据库采用单独的数据增量同步,达到了将目标业务系统的数据同步到分布式系统数据库的目的,实现了提高分布式系统数据的完整性与可靠性的技术效果。通过本申请,解决了相关技术中的托管分布式系统的HBase开源数据库和Redis内存数据库与传统业务系统本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:按照第一频率从目标业务系统的应用服务器定时获取交易数据,存储到分布式系统的开源数据库中;按照第二频率从所述目标业务系统的数据库中获取业务参数数据,存储到所述分布式系统的内存数据库中,其中,所述第一频率高于所述第二频率;在所述目标业务系统的交易发生变化的情况下,根据所述数据库中发生变化的数据,将变化的数据同步到所述开源数据库和/或所述内存数据库中。2.根据权利要求1所述的方法,其特征在于,根据所述数据库中发生变化的数据,将变化的数据同步到所述开源数据库和/或所述内存数据库中包括:在所述目标业务系统的预设路径下,创建触发器;在所述目标业务系统的交易发生变化的情况下,自动触发所述触发器将发生变化的数据,生成预设格式的变更数据,其中,所述发生变化的数据包括发生变化的交易数据和/或发生变化的业务参数数据,所述变更数据包括根据所述变化的交易数据生成的第一变更数据,和/或,根据所述变化的业务参数数据生成的第二变更数据;根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库,和/或,根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库。3.根据权利要求2所述的方法,其特征在于,根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库,和/或,根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库之前,所述方法还包括:通过所述分布式系统的服务器集群设置定时扫描任务,对所述变更数据的日志定时扫描;在扫描到所述第一变更数据产生的情况下,执行根据所述第一变更数据,将所述变化的交易数据同步到所述开源数据库的步骤,和/或,在扫描到所述第二变更数据产生的情况下,执行根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库的步骤。4.根据权利要求2所述的方法,其特征在于,根据所述第二变更数据,将所述变化的业务参数数据同步到所述内存数据库包括:根据所述第二变更数据的日志,获取发生变化的业务参数数据的第二序列号;根据所述第二序列号从所述开源数据库中查找对应的业务参数数据;根据发生变化的业务参数数据对所述业务参数数据进行同步。5.根据权利...
【专利技术属性】
技术研发人员:乔礼鑫,钟慰,朱李悦,傅继星,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。