CN110765165A - 一种跨***数据同步处理的方法、装置及*** - Google Patents
一种跨***数据同步处理的方法、装置及*** Download PDFInfo
- Publication number
- CN110765165A CN110765165A CN201911010064.9A CN201911010064A CN110765165A CN 110765165 A CN110765165 A CN 110765165A CN 201911010064 A CN201911010064 A CN 201911010064A CN 110765165 A CN110765165 A CN 110765165A
- Authority
- CN
- China
- Prior art keywords
- parameter data
- data
- memory
- transaction
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种跨***数据同步处理的方法、装置及***。所述方法包括第一***将数据库中参数数据同步到第二***的数据库中,并建立与第二***间的消息流;所述第二***将所述参数数据缓存到对应的应用服务器的内存中;根据消息流确定所述第一***中数据发生变化时,注册中心获取变化信息并发送至应用服务器;所述应用服务器根据变化信息,删除对应的参数数据;当发生交易需要访问参数数据时,应用服务器判断所述内存中是否存在与所述交易对应的参数数据;确认不存在时,应用服务器从第二***的数据库中获取与交易对应的参数数据,并保存到内存中。利用本说明书实施例可以在保证各***参数实时同步的同时,提升交易性能。
Description
技术领域
本说明书实施例方案属于分布式***技术领域,尤其涉及一种跨***数据同步处理的方法、装置及***。
背景技术
在银行***中,经常出现两个或多个***需要同一套参数数据。通常参数数据在其中一个***中进行维护,且这些参数数据的特点一般是访问频率高、更新频率远远低于访问频率。例如,集中式主业务***和分布式辅助业务***需要同一套参数数据,而参数数据在集中式主业务***中进行维护。此时,就需要将集中式主业务***的数据同步到分布式辅助业务***。
目前常用的跨***间参数同步机制有两种:一种是在主业务***中对参数数据进行维护,定时将参数变化情况以增量或者全量的方式传给辅助业务***。这种同步方式有一定的时延,经常会导致同步数据不及时,同步时效性不高。另一种方式是使用异构数据库的同步机制,将主业务***的参数数据同步到辅助业务***中,这种同步仅能将数据同步到数据库,即只是同步数据库层面。这种方式中,辅助业务***交易获取参数数据时每次都需要访问数据库,对于辅助业务***是分布式***且采用了比如内存缓存的情况,无法将数据变化同步到应用缓存中,从而会导致交易一直访问内存中过期的数据,使交易失败或者返回错误数据。
因此,业内亟需一种可以提高同步时效性的解决方案。
发明内容
本说明书实施例在于提供一种跨***数据同步处理的方法、装置及***,通过同步机制以及内存缓存的方式实现跨***参数实时同步,可以在保证各***参数实时同步的同时,提升交易性能。
一方面,本申请提供了一种跨***数据同步处理的方法,包括:
第一***将数据库中参数数据同步到第二***的数据库中,并建立与第二***间的消息流;
所述第二***将所述参数数据相应的缓存到第二***对应的应用服务器的内存中;
根据所述消息流确定所述第一***中数据发生变化时,注册中心获取变化信息,并将所述变化信息发送至所述第二***包括的应用服务器;
所述应用服务器根据接收到的变化信息,删除内存中对应的参数数据;
当发生交易需要访问参数数据时,所述应用服务器判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到所述应用服务器的内存中。
另一方面,本申请提供了一种跨***数据同步处理的方法,包括:
获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除内存中与所述变化信息对应的参数数据;
当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
本说明书提供的所述方法的另一个实施例中,所述变化信息包括所述注册中心获取的根据消息流确定所述第一***中数据发生变化时的信息,所述消息流基于所述第一***将数据库中参数数据同步到所述第二***的数据库中时建立。
本说明书提供的所述方法的另一个实施例中,所述根据消息流确定所述第一***中数据发生变化时的信息,包括:
建立消息流轮询扫描机制,从所述消息流中获取所述第一***中数据变化的通知消息;
解析所述第一***中数据变化的通知消息,获得变化信息。
本说明书提供的所述方法的另一个实施例中,所述删除内存中与所述变化信息对应的参数数据,包括:
解析所述变化信息,获得标识信息;
基于所述标识信息,查找内存中与所述标识信息对应的参数数据;
删除所述参数数据。
另一方面,本说明书实施例还提供一种跨***数据同步处理的装置,所述装置包括:
数据获取模块,用于获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听模块,用于监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除模块,用于删除内存中与所述变化信息对应的参数数据;
判断模块,用于当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
保存模块,用于确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
本说明书提供的所述装置的另一个实施例中,所述变化信息包括所述注册中心获取的根据消息流确定所述第一***中数据发生变化时的信息,所述消息流基于所述第一***将数据库中参数数据同步到所述第二***的数据库中时建立。
本说明书提供的所述装置的另一个实施例中,所述根据消息流确定所述第一***中数据发生变化时的信息,包括:
获取单元,用于建立消息流轮询扫描机制,从所述消息流中获取所述第一***中数据变化的通知消息;
获得单元,用于解析所述第一***中数据变化的通知消息,获得变化信息。
本说明书提供的所述装置的另一个实施例中,所述删除模块,包括:
解析单元,用于解析所述变化信息,获得属性信息;
查找单元,用于基于所述属性信息,查找内存中与所述属性信息对应的参数数据;
删除单元,用于删除所述参数数据。
另一方面,本说明书实施例提供一种跨***数据同步处理的设备,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:
获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时获得;
监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除内存中与所述变化信息对应的参数数据;
当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
另一方面,本说明书实施例提供一种跨***数据同步处理的***,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个实施例所述方法的步骤。
本说明书实施例提供的一种跨***数据同步处理的方法、装置及***,一方面,通过数据库同步机制,实现异构数据库数据的同步,可以保证较高的同步时效性。另一方面,通过把参数加载进内存的缓存方式,可以满足性能要求极高的环境,从而可以提升交易性能。再一方面,通过参数数据更新消息的发布和监听机制,可以确保交易不因缓存而读取过期数据,最终可以在实现跨***数据实时同步的同时,不影响交易性能。因此,利用本说明书各个实施例,可以在保证各***参数实时同步的同时,提升交易性能。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书提供的一种跨***数据同步处理的方法的一个场景实施例的示意图;
图2是本说明书提供的一种跨***数据同步处理的方法的一个实施例的流程示意图;
图3是本说明书提供的一种异步更新缓存方法的一个实施例的流程示意图;
图4是本说明书提供的一种跨***数据同步处理的装置的一个实施例的模块结构示意图;
图5是本说明书提供的一种跨***数据同步处理的服务器的一个实施例的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书中的一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例保护的范围。
在银行***中,经常出现两个或多个***需要同一套参数数据。通常参数数据在其中一个***中进行维护,且这些参数数据的特点一般是访问频率高、更新频率远远低于访问频率。例如,集中式主业务***和分布式辅助业务***需要同一套参数数据,而参数数据在集中式主业务***中进行维护。此时,就需要将集中式主业务***的数据同步到分布式辅助业务***。然而,目前常用的跨***间参数同步机制:一种是在主业务***中对参数数据进行维护,定时将参数变化情况传给辅助业务***。比如D+1日同步D日数据变化,存在一天的时延,会使得同步数据不及时,同步时效性不高。另一种方式是使用异构数据库的同步机制,将主业务***的参数数据通过同步工具同步到辅助业务***中,这种方式中,辅助业务***交易获取参数数据时每次都访问数据库,即仅能将数据同步到数据库,对于辅助业务***是分布式***且采用了比如内存缓存的情况,无法将数据变化同步到应用缓存中,从而会导致交易一直访问内存中过期的数据,使交易失败或者返回错误数据,严重影响交易性能。
具体的,可以以大型机集中式***与x86分布式***间的内存参数同步为例。其中,大型机集中式***作为主业务***,主要负责账务相关的处理,而x86分布式***价格便宜、容易扩展,主要负责一些交易量非常大的查询类交易,而参数数据在大型机集中式***中进行维护,这些参数数据量少、更新频率低、但交易频繁使用。如果每笔交易都从x86分布式***数据库查询使用,会给数据库增加很多压力,并严重影响交易性能。因此,在x86分布式***中,常常会将参数数据预先加载到应用服务器的内存中进行保存。然而,对于已加载进x86***应用内存中的这些参数数据,如果主业务***中数据发生变化,其并不能将主业务***中的参数数据的变化实时同步到应用服务器的内存中,从而会导致交易一直访问内存中过期的数据,使交易失败或者返回错误数据,影响交易性能。
本说明书实施例提供了一种跨***数据同步处理的方法,一方面,通过数据库同步机制,实现异构数据库数据的同步,可以保证较高的同步时效性。另一方面,通过把参数加载进内存的缓存方式,可以满足性能要求极高的环境,从而可以提升交易性能。再一方面,通过参数数据更新消息的发布和监听机制,可以确保交易不因缓存而读取过期数据,最终可以在实现跨***数据实时同步的同时,不影响交易性能。因此,利用本说明书各个实施例,可以在保证各***参数实时同步的同时,提升交易性能。
下面以一个具体的应用场景为例对本说明书实施方案进行说明。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
需要说明的是,下述实施例描述并不对基于本说明书的其他可扩展到的应用场景中的技术方案构成限制。具体的,本说明书提供的一种跨***数据同步处理的方法的一种实施例中,所述方法可以包括:
S10:第一***将数据库中参数数据同步到第二***的数据库中,并建立与第二***间的消息流;
S20:所述第二***将所述参数数据相应的缓存到第二***对应的应用服务器的内存中;
S30:根据所述消息流确定所述第一***中数据发生变化时,注册中心获取变化信息,并将所述变化信息发送至所述第二***包括的应用服务器;
S40:所述应用服务器根据接收到的变化信息,删除内存中对应的参数数据;
S50:当发生交易需要访问参数数据时,所述应用服务器判断所述内存中是否存在与所述交易对应的参数数据;
S60:确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到所述应用服务器的内存中。
其中,参数数据可以包括进行交易时所需要的数据。例如进行查询类交易时需要的数据,进行支付交易时需要的数据等。参数数据在第一***中进行维护。一些实施例中,第一***可以称为主业务***,可以包括进行参数维护的主***,如大型机集中式***、集中式主业务***等。一些实施例中,第二***可以称为辅助业务***,可以包括分布式辅助业务***、x86分布式***等。第一***包括的数据库与第二***包括的数据库可以是异构数据库。此外,第二***中可以包括多个应用服务器,用来监听注册中心发布的信息。应用服务器可以为应用程序提供业务逻辑,也可以通过各种协议向客户端应用程序打开业务逻辑。注册中心可以称为分布式***注册中心,如zookeeper,其可以包括用来存储可供调用的服务列表,这样在进行服务调用时,可以根据服务列表选择注册数据进行服务调用,从而可以提高服务调用的效率。注册中心包括许多功能,如服务注册、服务反注册、服务订阅、服务通知等。其中,服务通知可以理解为在注册中心信息变更时,可以主动通知到服务订阅方。这样当注册中心接收到数据变化消息时,可以将消息发布给所有监听者,以便监听者进行相应处理。
本说明书一个实施例中,所述第二***将所述参数数据相应的缓存到第二***对应的应用服务器的内存中可以理解为:第一***将数据库中参数数据同步到第二***的数据库中后,第二***可以根据每个应用服务器的数据需求,将相应数据缓存到对应的应用服务器内存中。例如一些实施场景中,第一***将数据库中全部参数数据(例如可以包括支付交易需要的数据、查询类交易需要的数据等)同步到第二***的数据库中后,由于应用服务器1主要是用来进行查询类交易,应用服务器2主要是用来进行支付类交易,所以第二***可以将数据库中包括的查询类交易需要的数据缓存到应用服务器中1,将数据库中包括的支付类交易需要的数据缓存到应用服务器中。一些实施场景中,应用服务器可能需要多种交易类的数据,则可以根据具体应用服务器的需求进行相应数据的缓存,本说明书对此不作限定。
本说明书一个实施例中,根据所述消息流确定所述第一***中数据发生变化时,注册中心获取变化信息可以理解为:数据更新服务器获取第一***与第二***间的消息流,然后根据所述消息流确定所述第一***中数据发生变化时,获取变化信息,最后将变化信息发送至注册中心。其中,数据更新服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式***的服务器结构,其可以用来从消息流中获取主业务***中数据变化的消息,然后发送至分布式***注册中心。需要说明的是,也可以通过其它设备获取***间的消息流,然后根据消息流确定第一***中数据发生变化时,获取变化信息,最后将变化信息发送至注册中心,本说明书对此不作限定。
本说明书另一个实施例中,根据所述消息流确定所述第一***中数据发生变化时,注册中心获取变化信息还可以理解为:注册中心获取第一***与第二***间的消息流,然后根据所述消息流确定所述第一***中数据发生变化时,获取变化信息。
需要说明的是,一些实施场景中,所述变化信息可以包括第一***中数据发生变化时的通知消息,也可以包括对数据变化的通知消息进行解析后获得的信息。
下面以一个具体的应用场景为例对本说明书实施方案进行说明。如图1所示,图1是本说明书提供的一种跨***数据同步处理的方法的一个场景实施例的示意图。其中,包括主业务***、辅助业务***、数据更新服务器、分布式***注册中心、应用服务器集群等。参数数据在主业务***中维护,辅助业务***可以包括应用服务器集群,应用服务器集群中包括多个应用服务器。数据更新服务器可以用来从消息流中获取主业务***中数据变化的消息,解析并发送至分布式***注册中心。需要说明的是,为了便于描述,图1中主业务***中仅示意出一个主业务***数据库,辅助业务***中仅示意出一个辅助业务***数据库,应用服务器集群中仅示意出5个应用服务器。然而在一些场景中,可以根据实际需要设置不同数量,本说明书对此不作限定。本说明书实施例中所述主业务***、辅助业务***、数据更新服务器、分布式***注册中心、应用服务器等包括从逻辑上划分的不同信息处理方。
具体的,如图1所示,首先可以通过利用异构数据库的同步工具(比如Qrep、SyncNavigator)将主业务***中数据的变化同步到辅助业务***中,实现两个***数据库参数数据的同步,同时建立两个***之间的消息流;其次,由于参数数据量少、更新频率低、交易频繁使用,为了减轻辅助业务***压力的同时,实现快速高效的访问,辅助业务***可以将参数数据缓存到应用服务器内存中;然后,数据更新服务器可以基于消息流轮询扫描机制,从消息流中截获主业务***中数据变化的消息,对该消息进行解析,获得变化的参数数据的信息,并将变化的参数数据的信息发送至注册中心(比如zookeeper),以便注册中心将变化的参数数据的信息发布给所有监听者;最后,所有内存中缓存了变化的参数数据的应用服务器监听注册中心发布的信息,一旦收到信息,在内存中找到对应的参数数据进行删除。当应用服务器发生交易需要访问参数数据时,可以先在内存中查找,如果找到则直接从内存中获取并使用,如果发现所需的参数数据在内存中找不到,则再从辅助业务***数据库读取最新数据,并将读取的数据再次保存到内存中进行缓存。这样应用服务器内存中的参数数据可以通过异步方式得到更新。后续其他交易如果也需要该笔参数数据,就可以直接从内存获取。这样不仅可以保证两个***间参数性能上的要求,同时也可以保证各***参数同步的实时性。
图2是本说明书提供的一种跨***数据同步处理的方法的一个实施例的流程示意图。如图2所示,本说明书提供的一种跨***数据同步处理的方法的一种实施例中,所述方法可以包括:
S0:获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得。
其中,参数数据可以包括进行交易时所需要的数据。例如进行查询类交易时需要的数据,进行支付交易时需要的数据等。第一***可以称为主业务***,可以包括进行参数维护的主***,如大型机集中式***、集中式主业务***等。第二***可以称为辅助业务***,可以包括分布式辅助业务***、x86分布式***等。第一***包括的数据库与第二***包括的数据库可以是异构数据库。此外,第二***中可以包括多个应用服务器。应用服务器可以为应用程序提供业务逻辑,也可以通过各种协议向客户端应用程序打开业务逻辑。
本说明书一个实施例中,所述参数数据可以基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得。例如一些实施场景中,可以利用异构数据库的同步工具将第一***包括的数据库与第二***包括的数据库进行同步处理,在实现将第一***中数据的变化同步到第二***中后,可以从第二***的数据库中获得相应的参数数据,从而可以保证较高的同步时效性。一些实施例中,在将第一***包括的数据库与第二***包括的数据库进行同步处理时,可能还需要考虑不同***间码制的转换。需要说明的是,不同***间码制的转换可以通过本领域人员知晓的方法实现,本说明书对此不作限定。
本说明书另一个实施例中,在实现将第一***中数据的变化同步到第二***中后,为了满足性能要求极高的环境以及提升交易性能,第二***可以将同步的参数数据缓存到相应的应用服务器内存中。这样在进行相应交易时,可以直接从内存中获取参数数据,从而可以实现快速高效的数据访问。例如一些实施场景中,第一***将数据库中全部参数数据(例如可以包括支付交易需要的数据、查询类交易需要的数据等)同步到第二***的数据库中后,由于应用服务器1主要是用来进行查询类交易,应用服务器2主要是用来进行支付类交易,所以第二***可以将数据库中包括的查询类交易需要的数据缓存到应用服务器中1,将数据库中包括的支付类交易需要的数据缓存到应用服务器中。一些实施场景中,应用服务器可能需要多种交易类的数据,则可以根据具体应用服务器的需求进行相应数据的缓存,本说明书对此不作限定。
本说明书实施例中,缓存方式可以根据实际场景需要进行选择。例如可以采用应用服务器启动时全部加载,或者启动时不加载、随用随加载的方式,将参数数据缓存到应用服务器内存中。需要说明的是,一些实施例中,参数数据缓存到内存中,可以在内存中采用key-value(key可以表示关键字,value可以表示数值)的结构进行存储,从而便于随时查找和删除。此外,应用服务器具体加载哪些参数数据,优化哪些参数的性能,可以通过配置文件手工进行配置。一些实施场景中,可以增加手动缓存应急处理机制对内存中的缓存进行管理。例如可以提供参数应用内存监控机制,当需要时,可以手工清空缓存。缓存清空后,所有监听的参数后续都可以通过异步启用缓存重新将数据加载进内存。
本说明书实施例中,应用服务器通过从第二***中获取与第一***同步的参数数据,然后缓存到内存中,可以在保证较高的同步时效性的同时,满足性能要求极高的环境,从而提升交易性能。
S2:监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息。
其中,注册中心可以称为分布式***注册中心,如zookeeper,其可以包括用来存储可供调用的服务列表,这样在进行服务调用时,可以根据服务列表选择注册数据进行服务调用,从而可以提高服务调用的效率。注册中心包括许多功能,如服务注册、服务反注册、服务订阅、服务通知等。其中,服务通知可以理解为在注册中心信息变更时,可以主动通知到服务订阅方。这样当注册中心接收到数据变化消息时,可以将消息发布给所有监听者,以便监听者进行相应处理。
本说明书实施例中,所述变化信息可以包括所述注册中心获取的根据消息流确定所述第一***中数据发生变化时的信息,所述消息流基于所述第一***将数据库中参数数据同步到所述第二***的数据库中时建立。具体的,一些实施场景中,可以利用异构数据库的同步工具将第一***包括的数据库与第二***包括的数据库进行同步处理,在实现将第一***中数据的变化同步到第二***中时,可以相应建立两个***之间的消息流,然后可以根据消息流判断第一***中数据是否发生变化,确定发生变化时,获取相应的信息发布给所有监听者。其中,消息流可以包括两个单独控制的流程相互通信和协助的方式。所述第一***中数据发生变化时获得的信息可以包括数据变化的通知消息,也可以包括对数据变化的通知消息进行解析后获得的信息。
一些实施例中,所述根据消息流确定所述第一***中数据发生变化时的信息,可以包括:建立消息流轮询扫描机制,将从所述消息流中获取的所述第一***中数据变化的通知消息作为变化信息。另一些实施例中,所述根据消息流确定所述第一***中数据发生变化时的信息,可以包括:建立消息流轮询扫描机制,从所述消息流中获取所述第一***中数据变化的通知消息;解析所述第一***中数据变化的通知消息,获得变化信息。
需要说明的是,根据消息流确定所述第一***中数据发生变化时的信息以及获得变化信息的执行主体可以是数据更新服务器,也可以是注册中心,还可以是其他设备,本说明书实施例中以执行主体为数据更新服务器为例进行示意性说明,以其它设备为执行主体的实施例类似,对此不再赘述。
具体的,一些实施场景中,在实现将第一***中数据的变化同步到第二***中,同时建立两个***之间的消息流后,数据更新服务器可以建立消息流轮询扫描机制,从消息流中截获第一***中数据变化的通知消息,然后将截获的第一***中数据变化的通知消息发送至注册中心。注册中心收到该通知消息后,将该通知消息发布给所有监听者,以便监听者根据监听到的变化信息做进一步处理。
另一些实施场景中,在实现将第一***中数据的变化同步到第二***中,同时建立两个***之间的消息流后,数据更新服务器可以建立消息流轮询扫描机制,从消息流中截获第一***中数据变化的通知消息,然后可以对该通知消息进行解析,获得变化的参数数据的信息,最后可以将变化的参数数据的信息发送至注册中心,以便注册中心将变化的参数数据的信息发布给所有监听者。例如,在实现将第一***中数据的变化同步到第二***中,同时建立两个***之间的消息流后,数据更新服务器可以根据建立的消息流轮询扫描机制,从消息流中截获第一***中数据变化的通知消息,然后可以对该通知消息按照xml格式进行解析,获得通知消息中具体发生变化的参数数据的key值(key可以表示关键字)信息,将获得的具体发生变化的参数数据的key值信息发送至注册中心zookeeper,注册中心zookeeper将参数数据的key值信息发布给所有监听者,以便监听者根据监听到的key值信息做进一步处理。
另一些实施场景中,在实现将第一***中数据的变化同步到第二***中,同时建立两个***之间的消息流后,数据更新服务器可以建立消息流轮询扫描机制,从消息流中截获第一***中数据变化的通知消息,然后直接将截获的第一***中数据变化的通知消息发送至注册中心。注册中心在收到该通知消息后,可以对该通知消息进行解析,然后再将解析结果发布给所有监听者,以便监听者根据监听到的变化信息做进一步处理。
需要说明的是,所述监听者可以包括第二***中包括的应用服务器。进一步处理可以包括删除处理、更新处理等。
需要说明的是,应用服务器具体监听哪些参数数据的变化,可以通过配置文件手工进行配置。本实说明书施例中所有会被交易使用的缓存参数数据可以被设置监听。
本说明书实施例中,应用服务器在将参数数据缓存到内存中后,通过实时监听注册中心发布的变化信息,可以确保交易不因缓存而读取过期数据,从而提升交易性能。
S4:删除内存中与所述变化信息对应的参数数据。
本说明书一个实施例中,应用服务器通过监听注册中心发布的变化信息后,可以基于变化信息删除与所述变化信息对应的参数数据。其中,所述变化信息包括所述第一***中数据发生变化时获取的信息。需要说明的是,一些实施场景中,所述第一***中数据发生变化时获得的信息可以包括数据变化的通知消息,也可以包括对数据变化的通知消息进行解析后获得的信息。
本说明书一个实施例中,所述删除内存中与所述变化信息对应的参数数据可以包括:解析所述变化信息,获得标识信息;基于所述标识信息,查找内存中与所述标识信息对应的参数数据;删除所述参数数据。其中,标识信息可以用来区分不同参数数据。例如一些实施场景中,所有内存中缓存了参数数据的应用服务器都可以监听注册中心发布的消息,一旦收到数据变化的通知消息,应用服务器可以对该通知消息进行解析,获得变化的参数数据的信息,然后基于变化的参数数据的信息在内存中找到对应的参数数据进行删除。例如,所有内存中缓存了参数数据的应用服务器监听到注册中心zookeeper发布的数据变化的通知消息后,可以对该通知消息按照xml格式进行解析,获得通知消息中具体发生变化的参数数据的key值信息,然后基于该key值信息在内存中找到对应的参数数据进行删除。
本说明书另一个实施例中,所有内存中缓存了参数数据的应用服务器监听到注册中心发布的对数据变化的通知消息进行解析后的信息,应用服务器可以直接基于解析后获得的信息在内存中找到对应的参数数据进行删除。
本说明书实施例中,应用服务器在监听到注册中心发布的变化信息后,基于变化信息将内存中对应缓存的参数数据进行删除,可以确保交易不因缓存而读取过期数据,从而提升交易性能。
S6:当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据。
本说明书一个实施例中,当发生交易需要访问参数数据时,应用服务器可以通过判断内存中是否存在与所述交易对应的参数数据来进一步确定参数数据的获取方式。所述获取方式可以是直接从内存中获取,也可以是从第二***的数据库中获取等。
S8:确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
本说明书一个实施例中,当发生交易需要访问参数数据时,应用服务器可以先判断内存中是否存在与所述交易对应的参数数据,即可以先在内存中查找,如果发现所需的参数数据在内存中找不到,则可以从第二***数据库读取最新数据,并将读取的数据再次保存到内存中进行缓存。这样缓存中的参数数据可以通过异步方式得到更新。后续其他交易如果也需要该笔参数数据,就可以直接从内存获取。
另一实施例中,当发生交易需要访问参数数据时,应用服务器可以先在内存中查找,如果找到则可以直接从内存中获取并使用;如果发现所需的参数数据在内存中找不到,则可以从第二***数据库读取最新数据,并将读取的数据再次保存到内存中进行缓存。这样缓存中的参数数据可以通过异步方式得到更新。后续其他交易如果也需要该笔参数数据,就可以直接从内存获取。
如图3所示,图3是本说明书提供的一种异步更新缓存方法的一个实施例的流程示意图。本实施场景中,当发生交易需要访问参数数据时,可以先判断内存中是否存在所述参数数据,如果存在,则从内存中获取并使用;如果不存在,则从数据库读取最新数据,并将读取的数据保存到内存中进行缓存。这样后续其他交易如果需要该参数数据,就可以直接从内存获取。
本说明书另一个实施例中,当发生交易需要访问参数数据时,应用服务器可以先判断内存中是否存在与所述交易对应的参数数据,即可以先在内存中查找,如果找到则可以直接从内存中获取并使用。
本说明书实施例提供的一种跨***数据同步处理的方法,一方面,通过数据库同步机制,实现异构数据库数据的同步,可以保证较高的同步时效性。另一方面,通过把参数加载进内存的缓存方式,可以满足性能要求极高的环境,从而可以提升交易性能。再一方面,通过参数数据更新消息的发布和监听机制,可以确保交易不因缓存而读取过期数据,最终可以在实现跨***数据实时同步的同时,不影响交易性能。因此,利用本说明书各个实施例,可以在保证各***参数实时同步的同时,提升交易性能。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参加方法实施例的部分说明即可。
基于上述所述的一种跨***数据同步处理的方法,本说明书一个或多个实施例还提供一种跨***数据同步处理的装置。所述的装置可以包括使用了本说明书实施例所述方法的***(包括分布式***)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图4是本说明书提供的一种跨***数据同步处理的装置的一个实施例的模块结构示意图,如图4所示,本说明书提供的一种跨***数据同步处理的装置可以包括:数据获取模块120,监听模块122,删除模块124,判断模块126,保存模块128。
数据获取模块120,可以用于获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听模块122,可以用于监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除模块124,可以用于删除内存中与所述变化信息对应的参数数据;
判断模块126,可以用于当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
保存模块128,可以用于确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
所述装置的另一个实施例中,所述变化信息可以包括所述注册中心获取的根据消息流确定所述第一***中数据发生变化时的信息,所述消息流基于所述第一***将数据库中参数数据同步到所述第二***的数据库中时建立。
所述装置的另一个实施例中,所述根据消息流确定所述第一***中数据发生变化时的信息,可以包括:
获取单元,可以用于建立消息流轮询扫描机制,从所述消息流中获取所述第一***中数据变化的通知消息;
获得单元,可以用于解析所述第一***中数据变化的通知消息,获得变化信息。
所述装置的另一个实施例中,所述删除模块124,可以包括:
解析单元1240,可以用于解析所述变化信息,获得属性信息;
查找单元1242,可以用于基于所述属性信息,查找内存中与所述属性信息对应的参数数据;
删除单元1244,可以用于删除所述参数数据。
本说明书实施例提供的一种跨***数据同步处理的装置,一方面,通过数据库同步机制,实现异构数据库数据的同步,可以保证较高的同步时效性。另一方面,通过把参数加载进内存的缓存方式,可以满足性能要求极高的环境,从而可以提升交易性能。再一方面,通过参数数据更新消息的发布和监听机制,可以确保交易不因缓存而读取过期数据,最终可以在实现跨***数据实时同步的同时,不影响交易性能。因此,利用本说明书各个实施例,可以在保证各***参数实时同步的同时,提升交易性能。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种跨***数据同步处理的设备,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:
获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除内存中与所述变化信息对应的参数数据;
当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
需要说明的,上述所述的设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种跨***数据同步处理的***,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤,例如包括:获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;删除内存中与所述变化信息对应的参数数据;当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。所述的***可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、***(包括分布式***)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是本说明书提供的一种跨***数据同步处理的服务器的一个实施例的硬件结构框图,该服务器可以是上述实施例中的跨***数据同步处理的装置或跨***数据同步处理的***。如图5所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图5所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的跨***数据同步处理的方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述跨***数据同步处理的方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作***的c++语言在PC端实现、linux***实现,或其他例如使用android、iOS***程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、***根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机数据处理和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (11)
1.一种跨***数据同步处理的方法,其特征在于,包括:
第一***将数据库中参数数据同步到第二***的数据库中,并建立与第二***间的消息流;
所述第二***将所述参数数据相应的缓存到第二***对应的应用服务器的内存中;
根据所述消息流确定所述第一***中数据发生变化时,注册中心获取变化信息,并将所述变化信息发送至所述第二***包括的应用服务器;
所述应用服务器根据接收到的变化信息,删除内存中对应的参数数据;
当发生交易需要访问参数数据时,所述应用服务器判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到所述应用服务器的内存中。
2.一种跨***数据同步处理的方法,其特征在于,包括:
获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除内存中与所述变化信息对应的参数数据;
当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
3.如权利要求2所述的方法,其特征在于,所述变化信息包括所述注册中心获取的根据消息流确定所述第一***中数据发生变化时的信息,所述消息流基于所述第一***将数据库中参数数据同步到所述第二***的数据库中时建立。
4.如权利要求3所述的方法,其特征在于,所述根据消息流确定所述第一***中数据发生变化时的信息,包括:
建立消息流轮询扫描机制,从所述消息流中获取所述第一***中数据变化的通知消息;
解析所述第一***中数据变化的通知消息,获得变化信息。
5.如权利要求2所述的方法,其特征在于,所述删除内存中与所述变化信息对应的参数数据,包括:
解析所述变化信息,获得标识信息;
基于所述标识信息,查找内存中与所述标识信息对应的参数数据;
删除所述参数数据。
6.一种跨***数据同步处理的装置,其特征在于,包括:
数据获取模块,用于获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听模块,用于监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除模块,用于删除内存中与所述变化信息对应的参数数据;
判断模块,用于当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
保存模块,用于确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
7.如权利要求6所述的装置,其特征在于,所述变化信息包括所述注册中心获取的根据消息流确定所述第一***中数据发生变化时的信息,所述消息流基于所述第一***将数据库中参数数据同步到所述第二***的数据库中时建立。
8.如权利要求7所述的装置,其特征在于,所述根据消息流确定所述第一***中数据发生变化时的信息,包括:
获取单元,用于建立消息流轮询扫描机制,从所述消息流中获取所述第一***中数据变化的通知消息;
获得单元,用于解析所述第一***中数据变化的通知消息,获得变化信息。
9.如权利要求6所述的装置,其特征在于,所述删除模块,包括:
解析单元,用于解析所述变化信息,获得属性信息;
查找单元,用于基于所述属性信息,查找内存中与所述属性信息对应的参数数据;
删除单元,用于删除所述参数数据。
10.一种跨***数据同步处理的设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现包括以下步骤:
获取参数数据,将所述参数数据缓存到内存中,所述参数数据基于第一***将数据库中参数数据同步到第二***的数据库时,从所述第二***的数据库中获得;
监听注册中心发布的变化信息,所述变化信息包括所述第一***中数据发生变化时获取的信息;
删除内存中与所述变化信息对应的参数数据;
当发生交易需要访问参数数据时,判断所述内存中是否存在与所述交易对应的参数数据;
确认不存在时,从所述第二***的数据库中获取与所述交易对应的参数数据,并将所述获取的参数数据保存到应用服务器的内存中。
11.一种跨***数据同步处理的***,其特征在于,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911010064.9A CN110765165B (zh) | 2019-10-23 | 2019-10-23 | 一种跨***数据同步处理的方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911010064.9A CN110765165B (zh) | 2019-10-23 | 2019-10-23 | 一种跨***数据同步处理的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765165A true CN110765165A (zh) | 2020-02-07 |
CN110765165B CN110765165B (zh) | 2022-07-29 |
Family
ID=69333176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911010064.9A Active CN110765165B (zh) | 2019-10-23 | 2019-10-23 | 一种跨***数据同步处理的方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765165B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913973A (zh) * | 2020-07-05 | 2020-11-10 | 中信银行股份有限公司 | 一种数据同步方法、装置及存储介质 |
CN112231395A (zh) * | 2020-09-14 | 2021-01-15 | 苏宁金融科技(南京)有限公司 | 一种交易数据同步方法、服务器 |
CN112669158A (zh) * | 2021-01-06 | 2021-04-16 | 深圳市金证科技股份有限公司 | 交易***及其交易服务的控制方法和装置 |
CN113553376A (zh) * | 2021-07-19 | 2021-10-26 | 建信金融科技有限责任公司 | 基于分布式架构的财险产品发布与检索方法、装置及*** |
CN114070845A (zh) * | 2021-11-11 | 2022-02-18 | 中国银行股份有限公司 | 协同报送交易信息的方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572672A (zh) * | 2013-10-15 | 2015-04-29 | 北大方正集团有限公司 | 异构数据库的同步方法和应用*** |
CN107066570A (zh) * | 2017-04-07 | 2017-08-18 | 聚好看科技股份有限公司 | 数据管理方法及装置 |
CN109213792A (zh) * | 2018-07-06 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 数据处理的方法、服务端、客户端、装置及可读存储介质 |
CN109271351A (zh) * | 2018-11-12 | 2019-01-25 | 珠海格力电器股份有限公司 | 一种数据库同步方法及*** |
CN109284332A (zh) * | 2018-08-29 | 2019-01-29 | 江苏奇异点网络有限公司 | 数据处理方法、客户端、服务器及计算机可读存储介质 |
CN109299122A (zh) * | 2018-09-26 | 2019-02-01 | 努比亚技术有限公司 | 一种数据同步方法、设备和计算机可存储介质 |
CN109815248A (zh) * | 2019-01-15 | 2019-05-28 | 科大国创软件股份有限公司 | 一种基于Zookeeper的分布式架构数据一致性方法 |
CN110046029A (zh) * | 2019-03-13 | 2019-07-23 | 平安科技(深圳)有限公司 | 应用于集群内多级缓存的数据处理方法和装置 |
-
2019
- 2019-10-23 CN CN201911010064.9A patent/CN110765165B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572672A (zh) * | 2013-10-15 | 2015-04-29 | 北大方正集团有限公司 | 异构数据库的同步方法和应用*** |
CN107066570A (zh) * | 2017-04-07 | 2017-08-18 | 聚好看科技股份有限公司 | 数据管理方法及装置 |
CN109213792A (zh) * | 2018-07-06 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 数据处理的方法、服务端、客户端、装置及可读存储介质 |
CN109284332A (zh) * | 2018-08-29 | 2019-01-29 | 江苏奇异点网络有限公司 | 数据处理方法、客户端、服务器及计算机可读存储介质 |
CN109299122A (zh) * | 2018-09-26 | 2019-02-01 | 努比亚技术有限公司 | 一种数据同步方法、设备和计算机可存储介质 |
CN109271351A (zh) * | 2018-11-12 | 2019-01-25 | 珠海格力电器股份有限公司 | 一种数据库同步方法及*** |
CN109815248A (zh) * | 2019-01-15 | 2019-05-28 | 科大国创软件股份有限公司 | 一种基于Zookeeper的分布式架构数据一致性方法 |
CN110046029A (zh) * | 2019-03-13 | 2019-07-23 | 平安科技(深圳)有限公司 | 应用于集群内多级缓存的数据处理方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913973A (zh) * | 2020-07-05 | 2020-11-10 | 中信银行股份有限公司 | 一种数据同步方法、装置及存储介质 |
CN112231395A (zh) * | 2020-09-14 | 2021-01-15 | 苏宁金融科技(南京)有限公司 | 一种交易数据同步方法、服务器 |
CN112669158A (zh) * | 2021-01-06 | 2021-04-16 | 深圳市金证科技股份有限公司 | 交易***及其交易服务的控制方法和装置 |
CN112669158B (zh) * | 2021-01-06 | 2023-12-15 | 深圳市金证科技股份有限公司 | 交易***及其交易服务的控制方法和装置 |
CN113553376A (zh) * | 2021-07-19 | 2021-10-26 | 建信金融科技有限责任公司 | 基于分布式架构的财险产品发布与检索方法、装置及*** |
CN114070845A (zh) * | 2021-11-11 | 2022-02-18 | 中国银行股份有限公司 | 协同报送交易信息的方法及装置 |
CN114070845B (zh) * | 2021-11-11 | 2024-04-16 | 中国银行股份有限公司 | 协同报送交易信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110765165B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765165B (zh) | 一种跨***数据同步处理的方法、装置及*** | |
CN111767143B (zh) | 交易数据处理方法、装置、设备及*** | |
CN109614404B (zh) | 一种数据缓存***及方法 | |
CN107577420B (zh) | 文件处理方法和装置、服务器 | |
AU2019262823B2 (en) | Input and output schema mappings | |
US9378053B2 (en) | Generating map task output with version information during map task execution and executing reduce tasks using the output including version information | |
CN108959341B (zh) | 一种数据同步的方法、装置及设备 | |
CN111683359B (zh) | Ble通信方法、装置、设备及存储介质 | |
CN111355816B (zh) | 服务器选取方法、装置、设备及分布式服务*** | |
CN110989939A (zh) | 一种数据缓存处理方法、装置、设备及缓存组件 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN112636992B (zh) | 一种动态路由方法、装置、设备及存储介质 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111143382A (zh) | 数据处理方法、***和计算机可读存储介质 | |
CN111767144A (zh) | 交易数据的交易路由确定方法、装置、设备及*** | |
CN111581239A (zh) | 缓存刷新方法和电子设备 | |
CN111784468A (zh) | 一种账户关联方法、装置及电子设备 | |
CN114064712A (zh) | 数据访问方法、装置、电子设备及计算机可读存储介质 | |
CN112491943A (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN112445861A (zh) | 信息处理方法、装置、***及存储介质 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
CN111339117B (zh) | 数据处理方法、装置及设备 | |
CN114328129A (zh) | 消息发送方法、装置、设备及存储介质 | |
CN110442404B (zh) | 一种对象释放方法、装置、设备和存储介质 | |
CN112596780A (zh) | 一种业务执行的方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |