一种数据同步方法及装置与流程

文档序号:11138801阅读:510来源:国知局
一种数据同步方法及装置与制造工艺

本发明涉及计算机技术领域,尤其涉及数据同步领域,具体涉及一种数据同步方法以及装置。



背景技术:

随着信息化水平的提高以及人们对于风险认识的提高,现代金融企业逐步加强了利用信息化手段对风险进行计量的应用,特别随着巴塞尔协议III的推广,有条件的金融企业逐步替换为使用高级法对金融业务活动的风险进行计量,而由于高级法计量的复杂性,需要大量的基础性数据作为计量的基础,而大量的基础性数据又分散在各种不同的专业系统内,需要通过技术手段将分散在各个系统的数据进行集中。传统的数据同步手段主要通过联机接口同步以及晚间批量同步方式,前者通常由源端在交易完成后通过HTTP协议将数据实时传输到目标端,后者通常由源端在晚间通过触发器或时间戳方式批量筛选生成增量数据文本,点对点方式传输至目标端,目标端在计划时点导入增量文本。但这两种同步又各存在一些缺陷:

1、联机同步:数据同步时效性强,但适宜小数据量的同步,当同步数据量大且分散时,一方面,资源可复用度不高,同时造成系统复杂度大幅上升而且对系统的性能带来较大的压力,影响系统正常提供服务。

2、批量同步:数据同步时效性较差,需要利用晚间空闲时间传递数据,但对大数据量的同步支持较好,且可以降低同一业务分散存储在不同关联表时数据同步的耦合性。同时当源端传输时点较晚时,可能错过目标端加载时点,影响目标端数据准确性、完整性。



技术实现要素:

为了解决在将分散在各个系统的数据进行集中的过程中,现有技术的数据同步时效性较差或同步数据量不足的问题,本发明提出了一种数据同步方法及装置。

为了达到上述目的,本发明实施例提出一种数据同步方法,用于实时同步源端和目标端的数据,包括:接收用户输入的业务基础信息;根据所述业务基础信息,获取所述源端的业务基础数据;存储获取的所述源端的业务基础数据,并在存储的业务基础数据发生变动后,记录数据库REDO LOG;解析所述数据库REDO LOG,并根据解析后的数据库REDO LOG的信息实时更新所述目标端的数据。

进一步地,在一实施例中,还包括:接受用户输入的查询请求,并根据所述查询请求获取并展示所述目标端的业务基础数据。

进一步地,在一实施例中,在其记录、传输以及解析数据库REDO LOG的步骤中,还包括:监测所述数据库REDO LOG的生成情况、传输数量及执行情况。

进一步地,在一实施例中,在其数据库REDO LOG进行传输的步骤中,还包括:控制所述数据库REDO LOG的传输的开启与关闭。

进一步地,在一实施例中,所述数据库REDO LOG通过TCP/IP协议传输至所述目标端。

为了达到上述目的,相应的提出了一种数据同步装置,用于实时同步源端和目标端的数据,包括:业务基础信息输入模块,用于接收用户输入的业务基础信息;业务基础数据获取模块,用于根据所述业务基础信息,获取所述目标端的业务基础数据;REDO LOG记录模块,用于存储获取的所述源端的业务基础数据,并在存储的业务基础数据发生变动后,记录数据库REDO LOG;REDO LOG解析更新模块,用于解析所述数据库REDO LOG,并根据解析后的数据库REDO LOG的信息实时更新所述目标端的数据。

进一步地,在一实施例中,还包括:基础信息查询模块,用于接受用户输入的查询请求,并根据所述查询请求获取并展示所述目标端的业务基础数据。

进一步地,在一实施例中,还包括:REDO LOG监测模块,用于监测所述数据库REDO LOG的生成情况、传输数量及执行情况。

进一步地,在一实施例中,还包括:REDO LOG传输控制模块,用于控制所述数据库REDO LOG的传输的开启与关闭。

本发明的有益效果在于,本发明通过利用数据库软件的系统级日志REDO LOG以及基于TCP/IP传输协议,实现多系统间大量数据的精确快速同步,克服了现有同步大量数据时效率偏低或资源消耗较大等缺点。首先,本发明数据同步方法对业务服务器的资源消耗情况依赖较低;其次,当业务相关数据发生变动后,即可及时进行同步,大幅提高数据同步时效性。原先批量同步通过需要T+1日,联机同步通常1秒左右,而本发明的数据同步装置的同步时间约为几秒,虽然较联机同步略差,但远远好于批量同步时间,且该同步时效性已可满足绝大部分业务场景使用需求;并且,较传统的联机接口模式或批量接口模式,该数据同步装置不仅传输时效性高,而且传输数据量大,应用开发成本较小。传统的联机接口通常适用于同步以K为单位的数据量,而本装置则基本不受传输量大小限制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的数据同步方法的流程图。

图2为本发明实施例的数据同步装置的结构示意图。

图3为本发明另一实施例的数据同步装置的结构示意图。

图4为本发明又一实施例的数据同步装置的结构示意图。

图5为本发明再一实施例的数据同步装置的结构示意图。

附图标号:

业务基础信息输入模块 100

业务基础数据获取模块 200

REDO LOG记录模块 300

REDO LOG解析更新模块 400

源端 500

目标端 600

基础信息查询模块 700

查询框展示单元 710

结果展示单元 720

结果集信息查询单元 730

REDO LOG监测模块 800

生成监测单元 810

发送监测单元 820

接受监测单元 830

REDO LOG传输控制模块 900

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例的数据同步方法的流程图。如图1所示,本发明实施例的数据同步方法,用于实时同步源端和目标端的数据,包括:

S100,接收用户输入的业务基础信息;

S200,根据所述业务基础信息,获取所述源端的业务基础数据;

S300,存储获取的所述源端的业务基础数据,并在存储的业务基础数据发生变动后,记录数据库REDO LOG;

S400,解析所述数据库REDO LOG,并根据解析后的数据库REDO LOG的信息实时更新所述目标端的数据。

在本实施例的S100中,接收用户输入的业务基础信息,具体实施中,可以通过人机接口实现接收将用户所需要的业务基础信息通过点击、拖动或键入等操作实现输入,当取得用户输入的业务基础信息后进入步骤S200。

在本实施例的S200中,根据所述业务基础信息,获取所述源端的业务基础数据。在获取用户输入的业务基础信息后,根据业务基础信息内用户欲调取的内容,获取源端的业务基础数据。在此需要强调的是,源端的种类与数量可以是多个,本发明对此不作限制。获取用户所需的源端的业务基础数据后,进入步骤S300。

在本实施例的S300中,存储获取的所述源端的业务基础数据,并在存储的业务基础数据发生变动后,记录数据库REDO LOG。获取源端的业务基础数据后进行储存,此时若没有新的源端业务基础数据输入的情况下,该源端业务基础数据当然未做变化,当出现有新的源端业务基础数据获取后,通过比较在先与在后的源端业务基础数据的差异,并搜集其变动后记录生成数据库REDO LOG。在此需要说明的是,在后的源端业务基础数据更新的方式可以为全部覆盖在先的源端业务数据,也可以是在其基础上进行更新,本发明对此不作限定。在生成数据库REDO LOG后,通过TCP/IP协议将其发送,并进入下一步。

在本实施例的S400中,解析所述数据库REDO LOG,并根据解析后的数据库REDO LOG的信息实时更新所述目标端的数据。收到所述数据库REDO LOG后,进行解析操作,将其翻译为数据操控语言,然后将该数据操控语言在目标端的数据存储装置中执行操作。因为数据库REDO LOG中已经所包含的S300中源端业务基础数据的变动,并且目标端的数据在接收到数据库REDO LOG所翻译后的操作语言后,可以直接对其进行操作,将数据的变化进行更新,从而实现数据的同步。又因为数据库REDO LOG本身的性质,所以其占用的数据量不大,但是能反映出源端业务数据的数据变化,不仅如此,由于占用数据量小的数据库REDO LOG通过TCP/IP协议发送与接收,所以可以轻松实现实时传输。

在一实施例中,在进行数据同步的时候,还可以接收用户输入的查询请求,并根据所述查询请求获取并展示所述目标端的业务基础数据。通过该步骤,可以为用户提供查询服务,将查询后的结果集展示给用户。

在一实施例中,在记录、传输以及解析所述数据库REDO LOG的同时,还可以对所述数据库REDO LOG的生成情况、传输数量及执行情况进行监控,当出现生成、传输或执行的过程中,数据库REDO LOG数量出现丢失或错误的时候,或者执行的数据库REDO LOG有缺失的时候,对丢失的数据库REDO LOG进行重新发送或执行,并将该问题反映给用户,以便用户对其采取相应措施。

在一实施例中,在数据库REDO LOG进行传输的步骤中,还包括:控制所述数据库REDO LOG的传输的开启与关闭。当需要传输的时候开启以执行后续步骤,出现意外情况时,可以及时停止后续的步骤以节省资源。

在介绍了本发明实施例的数据同步方法之后,接下来,参考图2对本发明实施例的数据同步装置进行介绍。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”、“单元”,可以是实现预定功能的软件和/或硬件。

图2为本发明实施例的数据同步装置的结构示意图,如图2所示,本发明实施例的数据同步装置,用于实时同步源端500和目标端600的数据,包括:业务基础信息输入模块100,用于接收用户输入的业务基础信息;业务基础数据获取模块200,用于根据所述业务基础信息,获取所述源端500的业务基础数据;REDO LOG记录模块300,用于存储获取的所述源端500的业务基础数据,并在存储的业务基础数据发生变动后,记录数据库REDO LOG;REDO LOG解析更新模块400,用于解析所述数据库REDO LOG,并根据解析后的数据库REDO LOG的信息实时更新所述目标端600的数据。

在一实施例中,图3为本发明另一实施例的数据同步装置的结构示意图,如图3所示,还包括:基础信息查询模块700,用于接受用户输入的查询请求,并根据所述查询请求获取并展示所述源端的业务基础数据。该模块接收用户输入,并将用户所查询的信息发送给业务基础数据获取模块200,然后通过其获取所述源端500的业务基础数据后,将查询后的结果集信息再传送返回到基础信息查询模块,并展示给用户。

在具体实施的过程中,基础信息查询模块由查询框展示单元710、结果展示单元720以及结果集信息查询单元730组成。结果集信息查询单元730连接于业务基础数据获取模块200。查询展示单元710通过接受用户输入,将欲查询信息传送至结果集信息查询单元730,结果集信息查询单元730获取目标端600的业务基础数据后,将单个或者多个业务基础数据整合为结果集信息返回给结果展示单元720,结果展示单元720接收结果集信息并通过翻页方式异步展示给用户。

在一实施例中,图4为本发明又一实施例的数据同步装置的结构示意图,如图4所示,还包括:REDO LOG监测模块800,用于监测所述数据库REDO LOG的生成情况、传输数量及执行情况。

在具体实施的过程中,REDO LOG监测模块800连接REDO LOG记录模块300,用于监测REDO LOG的生成情况,当出现生成过程产生错误或者信息缺失的情况,将该信息反馈给用户,提醒用户针对不同情况采取相应措施。另外,REDO LOG监测模块800还同时连接REDO LOG解析更新模块400,用以对REDO LOG的数据传输状况进行监测,当数据库REDO LOG的传输过程中出现丢包、误码时,将该信息反馈给用户,提醒用户针对不同情况采取相应措施。

在一实施例中,图5为本发明再一实施例的数据同步装置的结构示意图,如图5所示,还包括:REDO LOG传输控制模块900,连接于REDO LOG记录模块300和REDO LOG解析更新模块400,用于控制所述数据库REDO LOG的传输过程的开启与关闭,例如当在多个源端未更新数据的情况时,可以控制关闭REDO LOG记录模块300和REDO LOG解析更新模块400之间的传输通道,以节省带宽资源。此外,REDO LOG传输控制模块900也可以根据REDO LOG监测模块800所监测的具体情况对传输通道进行控制。

在此说明的是,虽然上述提及了数据同步装置的若干模块,但是所属领域技术人员应该知道以上模块并非强制限定的,在实际的实施过程中多个模块的特征和功能可以在一个模块中集成实现。

下面就本发明的数据同步装置如何实现数据同步的,做简单介绍:

业务基础信息输入模块100接收到用户输入的业务基础信息,将其传送至业务基础数据获取模块200,业务基础数据获取模块200根据用户输入的业务基础信息,在源端500中调取与之相应业务基础数据并将其发送至REDO LOG记录模块300。然后,该装置存储获取的所述源端500的业务基础数据,并在存储的业务基础数据发生变动后,记录变动所对应的数据库REDO LOG,并通过TCP/IP协议发送至REDO LOG解析更新模块400,REDO LOG解析更新模块400会根据解析后的数据库REDO LOG的信息实时更新所述目标端600的数据,从而完成数据同步的过程。期间,若出现用户查询请求时,基础信息查询模块700会根据用户的查询请求内容调取源端500的信息并进行展示;并且,在整个的数据同步过程中,REDO LOG监测模块800会不定期对数据库REDO LOG的生成情况、传输数量及执行情况实行监测,反映数据同步情况,REDO LOG传输控制模块900也会响应用户的需求控制述数据库REDO LOG的传输的开启与关闭。

在此举例说明,本发明的数据同步装置基于债项计量应用场景下,如何实现数据同步的,具体过程如下:

用户输入具体的债项计量的业务基础信息,本发明数据同步装置会将该业务基础信息调取债项计量对应的源端中的相应数据,并将该数据发送至REDO LOG记录模块,由于存储该数据会相较于之前存储的数据产生变化,针对此变动记录数据库REDO LOG,并通过TCP/IP协议将含有该债项计量数据的变动信息的数据库REDO LOG发送至REDO LOG解析更新模块,将其进行解析,解析后得到数据操控语言,然后将该数据操控语言应用至债项计量的目标端,从而按照该操控语言对目标端数据实现同步。当在进行数据同步的时候,用户还可以通过本发明的数据同步装置以实现查询数据的目的。首先,用户输入的查询请求,查询展示单元接收用户的确认后,将查询信息通过http请求发送至结果集信息查询单元,然后从目标端查询债项结果后,最后返回至信息查询单元并展示给用户。

本发明的数据同步装置根据所述查询请求获取并展示所述源端的债项计量的业务基础数据。

本发明的有益效果在于,本发明通过利用数据库软件的系统级日志REDO LOG以及基于TCP/IP传输协议,实现多系统间大量数据的精确快速同步。克服了现有同步大量数据时效率偏低或资源消耗较大等缺点。首先,本发明数据同步方法对业务服务器的资源消耗情况依赖较低;其次,当业务相关数据发生变动后,即可及时进行同步,大幅提高数据同步时效性。原先批量同步通过需要T+1日,联机同步通常1秒左右,而本发明的数据同步装置的同步时间约为几秒,虽然较联机同步略差,但远远好于批量同步时间,且该同步时效性已可满足绝大部分业务场景使用需求;并且,较传统的联机接口模式或批量接口模式,该数据同步装置不仅传输时效性高,而且传输数据量大,应用开发成本较小。传统的联机接口通常适用于同步以K为单位的数据量,而本装置则基本不受传输量大小限制。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1