CN112597123A - 数据多版本动态切换方法及装置 - Google Patents
数据多版本动态切换方法及装置 Download PDFInfo
- Publication number
- CN112597123A CN112597123A CN202011315068.0A CN202011315068A CN112597123A CN 112597123 A CN112597123 A CN 112597123A CN 202011315068 A CN202011315068 A CN 202011315068A CN 112597123 A CN112597123 A CN 112597123A
- Authority
- CN
- China
- Prior art keywords
- data
- version information
- database
- switching
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
-
- 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
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据多版本动态切换方法及装置,通过监听数据库中的操作事件,可以将基于操作事件确定的更新数据同步写入ElasticSearch中,并实现业务系统中当前数据版本信息的自动切换,避免业务系统本地进行数据版本切换时可能带来的用户暂时无法访问,或者查询功能暂时性缺失的问题,实现数据版本切换与业务处理解耦,可以提高用户体验。而且,数据版本并不在业务系统中进行切换和管理,可以实现数据版本的统一管理,降低了项目测试成本,且有助于版本控制。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种数据多版本动态切换方法及装置。
背景技术
目前,对于需要具有多版本的业务数据来说,通常先通过离线计算得到,然后在数据更新后进行数据版本的切换,将新版本的数据进行呈现。
现有技术中,数据版本的切换通常在业务系统本地进行,这将导致数据在进行版本切换时,可能存在用户暂时无法访问,或者查询功能暂时性缺失的现象,导致用户体验和功能上存在一定的问题。而且,数据版本通常在本地存储,从设计上讲,不同的业务系统会存在一定的重复功能,进而增加项目测试成本,且版本控制功能较弱。
发明内容
本发明实施例提供一种数据多版本动态切换方法及装置,用以解决现有技术中存在的缺陷。
本发明实施例提供一种数据多版本动态切换方法,包括:
确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;
监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;
将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述数据版本信息写入ElasticSearch中与所述更新数据进行关联。
根据本发明一个实施例的数据多版本动态切换方法,所述监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中,具体包括:
监听所述数据库的数据库日志,并提取所述数据库日志中包含的数据库操作数据;
若判断获知所述数据库操作数据可用,则将所述数据库操作数据写入kafka中;
监听所述kafka,并从所述kafka中的数据库操作数据中提取所述更新数据同步写入ElasticSearch中。
根据本发明一个实施例的数据多版本动态切换方法,还包括:
获取数据版本信息切换指令,所述数据版本信息切换指令中包含有目标数据版本信息;
将所述当前数据版本信息切换为所述目标数据版本信息。
根据本发明一个实施例的数据多版本动态切换方法,还包括:
获取待查询数据版本信息;
在所述ElasticSearch中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
根据本发明一个实施例的数据多版本动态切换方法,还包括:
将所述更新数据、所述数据版本信息以及所述更新数据与所述数据版本信息的关联关系写入redis数据库。
根据本发明一个实施例的数据多版本动态切换方法,还包括:
获取待查询数据版本信息;
在所述redis数据库中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
根据本发明一个实施例的数据多版本动态切换方法,所述业务系统为多个目标对象的排行业务系统;
相应地,所述确定业务系统的目标数据,具体包括:
基于所述业务系统中所述目标对象的基础数据,计算所述目标对象的排名值;
基于所述目标对象的基础数据以及排名值,确定所述目标数据。
本发明实施例还提供一种数据多版本动态切换装置,包括:
确定模块,用于确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;
同步模块,用于监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;
切换模块,用于将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述当前数据版本信息写入ElasticSearch中与所述更新数据进行关联。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据多版本动态切换方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据多版本动态切换方法的步骤。
本发明实施例提供的数据多版本动态切换方法及装置,首先确定业务系统的目标数据以及数据版本信息,并将目标数据以及数据版本信息写入数据库中;监听数据库中目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;将业务系统的当前数据版本信息切换为数据版本信息,并将数据版本信息写入ElasticSearch中与更新数据进行关联。数据多版本动态切换装置和业务系统彼此独立,通过监听数据库中的操作事件,可以将基于操作事件确定的更新数据同步写入ElasticSearch中,并实现业务系统中当前数据版本信息的自动切换,避免业务系统本地进行数据版本切换时可能带来的用户暂时无法访问,或者查询功能暂时性缺失的问题,实现数据版本切换与业务处理解耦,可以提高用户体验。而且,数据版本并不在业务系统中进行切换和管理,可以实现数据版本的统一管理,降低了项目测试成本,且有助于版本控制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据多版本动态切换方法的流程示意图;
图2是本发明实施例提供的一种数据多版本动态切换方法的完整流程示意图;
图3是本发明实施例提供的一种数据多版本动态切换装置的结构示意图;
图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,对于需要具有多版本的业务数据来说,例如榜单、报表、发文、列表等,通常由业务系统先从业务数据源获取基础数据,业务系统本地离线计算得到对应的业务数据,然后在业务数据源更新基础数据后再获取更新后的基础数据计算对应的业务数据,对业务数据进行更新,并进行数据版本的切换,每次更新对应一个数据版本,最后将新版本的业务数据在业务系统本地进行呈现或发送给第三方以供第三方应用。其中,业务系统具体可以是榜单系统、报表系统、发文系统以及列表系统等。
数据版本的切换通常在业务系统本地进行,这将导致数据在进行版本切换时,可能存在用户暂时无法访问,或者查询功能暂时性缺失的现象,导致用户体验和功能上存在一定的问题。而且,数据版本通常在业务系统本地进行存储,从设计上讲,不同的业务系统会存在一定的重复功能,进而增加项目测试成本,且版本控制功能较弱。为此,本发明实施例中提供了一种数据多版本动态切换方法。
图1为本发明实施例中提供的一种数据多版本动态切换方法的流程示意图,如图1所示,该方法包括:
S1,确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;
S2,监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;
S3,将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述当前数据版本信息写入ElasticSearch中与所述更新数据进行关联。
具体地,本发明实施例中提供的数据多版本动态切换方法,其执行主体为数据多版本动态切换装置,通过该装置可以实现不同业务系统中业务数据的多版本切换。需要说明的是,该装置与业务系统彼此独立。
首先执行步骤S1。其中,业务系统具体可以是报表业务系统、发文业务系统以及列表业务系统等。业务系统的目标数据是指利用业务系统的基础数据经过一定计算处理后得到的业务数据,例如按一定规则进行排序后得到的排行榜业务数据,且该目标数据在确定时会配置一个数据版本信息,该数据版本信息将会是基于所有操作事件确定的更新数据所对应的数据版本信息,是业务系统的最新数据版本信息。例如每天凌晨确定一次业务系统的目标数据,则每天确定的目标数据均会配置一个数据版本信息,对应于该天所有操作事件确定的更新数据。数据版本信息具体可以是版本号,版本号可以用阿拉伯数字0、1、2……等按由小到大的顺序表示数据版本的新旧,也可以用英文字母A、B、C……等按先后顺序表示数据版本的新旧,还可以采用其他方式进行表示,本发明实施例中对此不作具体限定。
确定业务系统的目标数据以及数据版本信息后,将目标数据以及数据版本信息写入数据库(Database,DB)进行存储。
然后执行步骤S2。监听数据库中目标数据的多个操作事件,目标数据的操作事件可以是对目标数据的修改、添加或删除等操作,执行不同动作表示不同的操作事件,不同时刻执行相同动作也表示不同的操作事件。监听数据库的过程就是确定确定对目标数据的操作过程以及目标数据的变化过程。然后将基于所有操作事件确定的更新数据同步写入ElasticSearch中。例如,在1天内目标数据先后经过的所有操作事件包括A操作事件、B操作事件以及C操作事件,则将所有操作事件均执行完成后确定的更新数据同步写入ElasticSearch中,该更新数据为所有操作事件的执行结果。需要说明的是,在每个操作事件执行完成后,会将该操作事件的执行结果同步至ElasticSearch中。在后的操作事件执行完成后,其执行结果可以替换掉ElasticSearch中在前的执行结果,如此可以保证1天内只会产生一个最终的更新数据与数据版本信息相关联。
最后执行步骤S3。将业务系统的当前数据版本信息切换为步骤S1中确定的数据版本信息,也就是说,在所有操作事件均执行完成后,即得到了步骤S1中确定的数据版本信息所对应的业务数据,即将所有操作事件均执行完成后得到的更新数据。因此需要进行业务数据的版本切换,即将业务系统的当前数据版本信息切换为步骤S1中确定的数据版本信息。其中,业务系统的当前数据版本信息为在步骤S1中确定的数据版本信息之前的数据版本信息,例如,若用版本号表示数据版本信息,则步骤S1中确定的数据版本信息大于业务系统的当前数据版本信息。若步骤S1中确定的数据版本信息为版本号5,则业务系统的当前数据版本信息可能是版本号4,也可能是版本号1、2、3中的任一个。与业务系统的当前数据版本信息关联的数据则为在得到当前数据版本信息时确定的目标数据所对应的更新数据,例如,步骤S1中确定的目标数据为第5天凌晨的目标数据,数据版本信息为版本号5,业务系统的当前数据版本信息是版本号4,当前数据版本信息关联的数据为第4天凌晨的目标数据所对应的更新数据,即第4天中所有操作事件均执行完成后得到的更新数据。
最后,将步骤S1中确定的数据版本信息写入ElasticSearch中并与步骤S2中得到的更新数据进行关联。如此可以实现更新数据与数据版本信息的绑定。
本发明实施例中提供的数据多版本动态切换方法,首先确定业务系统的目标数据以及数据版本信息,并将目标数据以及数据版本信息写入数据库中;监听数据库中目标数据的多个操作事件,并将基于所有操作事件确定的更新数据同步写入ElasticSearch中;将业务系统的当前数据版本信息切换为数据版本信息,并将数据版本信息写入ElasticSearch中与更新数据进行关联。数据多版本动态切换装置和业务系统彼此独立,通过监听数据库中的操作事件,可以将基于所有操作事件确定的更新数据同步写入ElasticSearch中,并实现业务系统中当前数据版本信息的自动切换,避免业务系统本地进行数据版本切换时可能带来的用户暂时无法访问,或者查询功能暂时性缺失的问题,实现数据版本切换与业务处理解耦,可以提高用户体验。而且,数据版本并不在业务系统中进行切换和管理,可以实现数据版本的统一管理,降低了项目测试成本,且有助于版本控制。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,还可以将更新数据以及更新数据与数据版本信息的关联关系写入数据库,以保证数据库中存储的数据为最新的。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,所述监听所述数据库中所述目标数据的多个操作事件,并将基于所有操作事件确定的更新数据同步写入ElasticSearch中,具体包括:
监听所述数据库的数据库日志,并提取所述数据库日志中包含的数据库操作数据;
若判断获知所述数据库操作数据可用,则将所述数据库操作数据写入kafka中;
监听所述kafka,并从所述kafka中的数据库操作数据中提取所述更新数据同步写入ElasticSearch中。
具体地,在执行步骤S2时,由于目标数据存储在数据库内,目标数据的多个操作事件在执行时均会引起数据库的数据库日志发生变化,因此可以先监听数据库的数据库日志,并提取所述数据库日志中包含的数据库操作数据。本发明实施例中具体可以通过EPX实现对数据库日志的实时监听。数据库日志中包含的数据库操作数据即为某次操作事件执行时引起变化的日志数据,其中包含有某次操作事件执行完成得到的更新数据。
然后,判断数据库操作数据是否可用,即判断数据操作数据是否是垃圾数据,是否符合数据库对数据的格式要求以及结构要求等。如果数据库操作数据不是垃圾数据,且符合数据库对数据的格式要求以及结构要求,则数据库操作数据可用。此时,将数据库操作数据写入kafka中,以通过对kafka进行监听实现后续操作。
最后,监听kafka,即消费kafka。从kafka中存储的数据库操作数据中提取出目标数据对应的更新数据,并将其同步写入ElasticSearch中。此处,每次监听到数据库日志,则会从kafka中存储的数据库操作数据中提取出目标数据对应的更新数据,并将其同步写入ElasticSearch中。当监听到最后一个操作事件对应的数据库日志时,则从kafka中存储的数据库操作数据中可以提取出所有操作事件执行完成得到的更新数据,则将该更新数据同步写入ElasticSearch中。
本发明实施例中,引入kafka,并通过对数据库日志以及kafka的监听,最终将所有操作事件执行完成得到的更新数据同步写入ElasticSearch中,可以保证同步写入的实时性以及自动化进行。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,还包括:
获取数据版本信息切换指令,所述数据版本信息切换指令中包含有目标数据版本信息;
将所述当前数据版本信息切换为所述目标数据版本信息。
具体地,本发明实施例中,将业务系统的当前数据版本信息切换为数据版本信息的切换时机不仅可以是在将基于所有操作事件确定的更新数据同步写入ElasticSearch中后主动实现,也可以是在受控情况下被动实现。
获取数据版本信息切换指令,该数据版本信息切换指令可以是用户根据需求触发,该数据版本信息切换指令中包含有目标数据版本信息,目标数据版本信息是指需要由当前数据版本信息切换到的数据版本信息,可以是最新数据版本信息,也可以是已经存在的任一个数据版本信息。
然后,即可将当前数据版本信息切换到目标数据版本信息,以满足用户需求。
本发明实施例中,通过获取数据版本信息切换指令实现数据版本信息的被动切换,提供了一种新的切换方式,可以满足用户的多样化需求。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,还包括:
获取待查询数据版本信息;
在所述ElasticSearch中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
具体地,本发明实施例中还可以获取待查询数据版本信息,该待查询数据版本信息可以由用户输入。
根据待查询数据版本信息,可以在ElasticSearch中查找与之相同的数据版本信息关联的数据并返回该数据供用户使用。即可以通过数据版本信息实现数据的快速查找,提高数据查找的效率。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,还包括:
将所述更新数据、所述数据版本信息以及所述更新数据与所述数据版本信息的关联关系写入redis数据库。
具体地,本发明实施例中还可以引入redis数据库,通过redis数据库存储更新数据、数据版本信息以及二者的关联关系写入redis数据库,以实现数据备份。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,还包括:
获取待查询数据版本信息;
在所述redis数据库中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
具体地,本发明实施例中可以通过待查询数据版本信息,在redis数据库中进行数据查找,以便于ElasticSearch的查找功能出现故障时可以在redis数据库中进行查找,进而保证数据的可查性。
需要说明的是,在ElasticSearch中进行数据的查找以及在redis数据库进行数据的查找可以互为降级方案。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换方法,所述业务系统为多个目标对象的排行业务系统;
相应地,所述确定业务系统的目标数据,具体包括:
基于所述业务系统中所述目标对象的基础数据,计算所述目标对象的排名值;
基于所述目标对象的基础数据以及排名值,确定所述目标数据。
具体地,本发明实施例中,目标数据的确定是通过设置在业务系统的离线脚本实现,该离线脚本是数据多版本动态切换装置的一部分。以业务系统为多个目标对象的排行业务系统为例,业务系统在确定目标数据时,可以先基于业务系统中每个目标对象的基础数据,计算每个目标对象的排名值。例如基于产品排行规则,对基础数据进行处理,实现对每个产品的排行。比如同类商品,可以基于商品价格、商品浏览数据、关注数据、购买次数以及用户反馈信息等基础数据,乘以对应的基数占比,做综合数据的排行数据值,即得到每个目标对象的排名值,可以记为Q值。其中,各基础数据的基数占比可以通过市场调研得到。
然后,可以将所有目标对象的基础数据与排名值进行整合,确定出目标数据。目标数据可以以表格的形式列出,表格中包含有所有目标对象的基础数据,且每个目标对象在表格中的先后位置由对应的排名值确定。
在上述实施例的基础上,由于目标数据中包含有Q值,因此在更新数据中也包含有Q值,但是可能由于操作事件中包含有修改操作事件,可能导致对于同一目标对象,在目标数据中的Q值与在更新数据中的Q值并不相同。进而还可以在获取待查询数据版本信息的同时,获取Q值,然后在对应于待查询数据版本信息的数据中查找Q值相同的目标对象的数据。其中,既可以在redis数据库中查找,也可以在ElasticSearch中查找。可以使查找更具有针对性,查找速度更快。
图2为本发明实施例中提供的数据多版本动态切换方法的完整流程示意图,如图2所示,由业务系统中的离线脚本根据计算规则产生目标数据;由数据多版本动态切换装置获取到目标数据并确定数据版本信息,将二者写入数据库。通过数据多版本动态切换装置中的数据同步脚本监听数据库日志,并判断数据库日志中的数据库操作数据是否可用,如果可以则将数据库操作数据写入kafka,如果不可用则结束。通过消费kafka,对目标数据的操作事件进行判断,没有全部执行完成,则将每个操作事件的执行结果同步至ElasticSearch中。如果全部执行完成,则将更新数据存储至数据库,并进行版本切换。并将数据版本信息写入ElasticSearch中与更新数据进行关联。图2中更新版本是指版本切换后,当前数据版本信息为更新数据对应的数据版本信息,需要将该数据版本信息的状态标记为当前使用。
如图3所示,在上述实施例的基础上,本发明实施例中提供了一种数据多版本动态切换装置,包括:获取模块31、同步模块32和切换模块33。其中,
获取模块31用于确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;
同步模块32用于监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;
切换模块33用于将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述当前数据版本信息写入ElasticSearch中与所述更新数据进行关联。
具体地,本发明实施例中提供的数据多版本动态切换装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换装置,所述同步模块32,具体用于:
监听所述数据库的数据库日志,并提取所述数据库日志中包含的数据库操作数据;
若判断获知所述数据库操作数据可用,则将所述数据库操作数据写入kafka中;
监听所述kafka,并从所述kafka中的数据库操作数据中提取所述更新数据同步写入ElasticSearch中。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换装置,还包括:切换指令获取模块,用于获取数据版本信息切换指令,所述数据版本信息切换指令中包含有目标数据版本信息;
相应地,所述切换模块还用于:将所述当前数据版本信息切换为所述目标数据版本信息。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换装置,还包括:第一查询模块,用于:
获取待查询数据版本信息;
在所述ElasticSearch中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换装置,还包括:写入模块,用于:
将所述更新数据、所述数据版本信息以及所述更新数据与所述数据版本信息的关联关系写入redis数据库。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换装置,还包括:第二查询模块,用于:
获取待查询数据版本信息;
在所述redis数据库中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
在上述实施例的基础上,本发明实施例中提供的数据多版本动态切换装置,所述业务系统为多个目标对象的排行业务系统;
相应地,所述数据多版本动态切换装置还包括:确定模块,用于:
基于所述业务系统中所述目标对象的基础数据,计算所述目标对象的排名值;
基于所述目标对象的基础数据以及排名值,确定所述目标数据。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行数据多版本动态切换方法,该方法包括:确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;监听所述数据库中所述目标数据的多个操作事件,并将基于所有操作事件确定的更新数据同步写入ElasticSearch中;将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述数据版本信息写入ElasticSearch中与所述更新数据进行关联。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的数据多版本动态切换方法,该方法包括:确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;监听所述数据库中所述目标数据的多个操作事件,并将基于所有操作事件确定的更新数据同步写入ElasticSearch中;将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述数据版本信息写入ElasticSearch中与所述更新数据进行关联。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的数据多版本动态切换方法,该方法包括:确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;监听所述数据库中所述目标数据的多个操作事件,并将基于所有操作事件确定的更新数据同步写入ElasticSearch中;将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述数据版本信息写入ElasticSearch中与所述更新数据进行关联。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据多版本动态切换方法,其特征在于,包括:
确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;
监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;
将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述数据版本信息写入ElasticSearch中与所述更新数据进行关联。
2.根据权利要求1所述的数据多版本动态切换方法,其特征在于,所述监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中,具体包括:
监听所述数据库的数据库日志,并提取所述数据库日志中包含的数据库操作数据;
若判断获知所述数据库操作数据可用,则将所述数据库操作数据写入kafka中;
监听所述kafka,并从所述kafka中的数据库操作数据中提取所述更新数据同步写入ElasticSearch中。
3.根据权利要求1所述的数据多版本动态切换方法,其特征在于,还包括:
获取数据版本信息切换指令,所述数据版本信息切换指令中包含有目标数据版本信息;
将所述当前数据版本信息切换为所述目标数据版本信息。
4.根据权利要求1所述的数据多版本动态切换方法,其特征在于,还包括:
获取待查询数据版本信息;
在所述ElasticSearch中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
5.根据权利要求1所述的数据多版本动态切换方法,其特征在于,还包括:
将所述更新数据、所述数据版本信息以及所述更新数据与所述数据版本信息的关联关系写入redis数据库。
6.根据权利要求5所述的数据多版本动态切换方法,其特征在于,还包括:
获取待查询数据版本信息;
在所述redis数据库中查找与所述待查询数据版本信息相同的数据版本信息关联的数据。
7.根据权利要求1-6中任一项所述的数据多版本动态切换方法,其特征在于,所述业务系统为多个目标对象的排行业务系统;
相应地,所述确定业务系统的目标数据,具体包括:
基于所述业务系统中所述目标对象的基础数据,计算所述目标对象的排名值;
基于所述目标对象的基础数据以及排名值,确定所述目标数据。
8.一种数据多版本动态切换装置,其特征在于,包括:
确定模块,用于确定业务系统的目标数据以及数据版本信息,并将所述目标数据以及所述数据版本信息写入数据库中;
同步模块,用于监听所述数据库中所述目标数据的多个操作事件,并将基于所述操作事件确定的更新数据同步写入ElasticSearch中;
切换模块,用于将所述业务系统的当前数据版本信息切换为所述数据版本信息,并将所述当前数据版本信息写入ElasticSearch中与所述更新数据进行关联。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述数据多版本动态切换方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述数据多版本动态切换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011315068.0A CN112597123B (zh) | 2020-11-20 | 2020-11-20 | 数据多版本动态切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011315068.0A CN112597123B (zh) | 2020-11-20 | 2020-11-20 | 数据多版本动态切换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597123A true CN112597123A (zh) | 2021-04-02 |
CN112597123B CN112597123B (zh) | 2023-01-06 |
Family
ID=75183504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011315068.0A Active CN112597123B (zh) | 2020-11-20 | 2020-11-20 | 数据多版本动态切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597123B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521622A (zh) * | 2023-06-30 | 2023-08-01 | 中邮消费金融有限公司 | 一种基于数据快照自动化管理数据的方法及系统 |
CN116561101A (zh) * | 2023-05-09 | 2023-08-08 | 中工数保(北京)科技有限公司 | 工业控制系统数据的版本管理与版本切换方法及相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464895A (zh) * | 2009-01-21 | 2009-06-24 | 阿里巴巴集团控股有限公司 | 一种更新内存数据的方法、系统和装置 |
WO2013011389A1 (en) * | 2011-07-15 | 2013-01-24 | International Business Machines Corporation | Versioning of metadata, including presentation of provenance and lineage for versioned metadata |
CN107133234A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 缓存数据更新的方法、装置及系统 |
CN109299194A (zh) * | 2018-09-25 | 2019-02-01 | 平安科技(深圳)有限公司 | 多版本数据存储管理方法及装置、电子设备、存储介质 |
CN109413127A (zh) * | 2017-08-18 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 一种数据同步方法和装置 |
CN110008269A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种数据回流方法、装置、设备及系统 |
CN110019134A (zh) * | 2017-12-27 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据库的多版本控制方法及设备 |
CN110069222A (zh) * | 2019-04-30 | 2019-07-30 | 北京百度网讯科技有限公司 | 应用数据迁移方法、装置、新存储系统及介质 |
CN110765206A (zh) * | 2019-10-21 | 2020-02-07 | 广东小天才科技有限公司 | 一种数据同步系统、方法、装置、设备及存储介质 |
CN111090663A (zh) * | 2019-12-25 | 2020-05-01 | 上海金仕达软件科技有限公司 | 事务并发控制方法、装置、终端设备及介质 |
WO2020088344A1 (zh) * | 2018-10-31 | 2020-05-07 | 北京数聚鑫云信息技术有限公司 | 一种api版本控制方法、装置、设备及介质 |
CN111506592A (zh) * | 2020-04-21 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种数据库的升级方法和装置 |
-
2020
- 2020-11-20 CN CN202011315068.0A patent/CN112597123B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464895A (zh) * | 2009-01-21 | 2009-06-24 | 阿里巴巴集团控股有限公司 | 一种更新内存数据的方法、系统和装置 |
WO2013011389A1 (en) * | 2011-07-15 | 2013-01-24 | International Business Machines Corporation | Versioning of metadata, including presentation of provenance and lineage for versioned metadata |
CN107133234A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 缓存数据更新的方法、装置及系统 |
CN109413127A (zh) * | 2017-08-18 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 一种数据同步方法和装置 |
CN110019134A (zh) * | 2017-12-27 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据库的多版本控制方法及设备 |
CN109299194A (zh) * | 2018-09-25 | 2019-02-01 | 平安科技(深圳)有限公司 | 多版本数据存储管理方法及装置、电子设备、存储介质 |
WO2020088344A1 (zh) * | 2018-10-31 | 2020-05-07 | 北京数聚鑫云信息技术有限公司 | 一种api版本控制方法、装置、设备及介质 |
CN110008269A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种数据回流方法、装置、设备及系统 |
CN110069222A (zh) * | 2019-04-30 | 2019-07-30 | 北京百度网讯科技有限公司 | 应用数据迁移方法、装置、新存储系统及介质 |
CN110765206A (zh) * | 2019-10-21 | 2020-02-07 | 广东小天才科技有限公司 | 一种数据同步系统、方法、装置、设备及存储介质 |
CN111090663A (zh) * | 2019-12-25 | 2020-05-01 | 上海金仕达软件科技有限公司 | 事务并发控制方法、装置、终端设备及介质 |
CN111506592A (zh) * | 2020-04-21 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种数据库的升级方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561101A (zh) * | 2023-05-09 | 2023-08-08 | 中工数保(北京)科技有限公司 | 工业控制系统数据的版本管理与版本切换方法及相关设备 |
CN116561101B (zh) * | 2023-05-09 | 2024-01-23 | 中工数保(北京)科技有限公司 | 工业控制系统数据的版本管理与版本切换方法及相关设备 |
CN116521622A (zh) * | 2023-06-30 | 2023-08-01 | 中邮消费金融有限公司 | 一种基于数据快照自动化管理数据的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112597123B (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874558B (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
CN107562556B (zh) | 故障的恢复方法、恢复装置及存储介质 | |
US20160171505A1 (en) | Extract, transform, and load (etl) processing | |
CN107656968B (zh) | 大批量业务数据导出方法及系统 | |
CN112597123B (zh) | 数据多版本动态切换方法及装置 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN110321383A (zh) | 大数据平台数据同步方法、装置、计算机设备及存储介质 | |
US20190324768A1 (en) | Generating an execution script for configuration of a system | |
CN111737443B (zh) | 答案文本的处理方法和装置、关键文本的确定方法 | |
CN114416703A (zh) | 数据完整性自动监控方法、装置、设备及介质 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN114416868B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN112204527A (zh) | 用于处理多工程系统环境中的工程数据的方法和系统 | |
CN107291938B (zh) | 订单查询系统及方法 | |
CN112052262A (zh) | 支付订单处理线路展示的方法、装置和电子设备 | |
CN104967532A (zh) | Toc技术运维系统及应用方法 | |
CN113297516A (zh) | 客户交互界面生成方法、装置和电子设备 | |
CN112765188B (zh) | 配置信息处理方法、配置管理系统、电子设备及存储介质 | |
CN115454971A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN109388647B (zh) | 一种基于web的数据填报方法及系统 | |
CN112948328A (zh) | 一种日志数据的检索方法及装置、设备、介质 | |
CN111459737A (zh) | 问题定位方法、装置、计算机设备及存储介质 | |
CN112486556B (zh) | 一种服务器兼容bmc的方法、系统、终端及存储介质 | |
CN103378996B (zh) | 对比测试装置及方法 | |
CN115460077B (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 |