本技术涉及计算机,特别涉及一种数据变更历史管理方法、装置、系统和介质。
背景技术:
1、随着银行业务的不断增多,在银行业务的发展过程中,重要的业务数据和参数数据经常会发生变更,在系统中的变更往往有记录变更历史,通常也就产生了可追溯、查询变更历史的诉求。
2、当业务数据量大、业务关联数据较多且变更频繁时,要满足上述诉求,系统需要对每一次变更版本的业务数据做一致性保存,以便可以获取某一历史时间点当时的数据,这种对历史版本的一致性保存需占用海量的存储空间,且效率较低。
3、因此,如何在保证数据一致性和满足历史数据查询的同时,降低对存储空间的占用,是本领域需要解决的技术问题。
技术实现思路
1、有鉴于此,提供该
技术实现要素:
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
2、本技术的目的在于提供一种数据变更历史管理方法、装置、系统和介质,可以在保证数据一致性和满足历史数据查询的同时,降低对存储空间的占用。
3、为实现上述目的,本技术有如下技术方案:
4、第一方面,本技术实施例提供了一种数据变更历史管理方法,包括:
5、当银行业务数据发生变更时,记录变更后银行业务数据的变更数据、未变更数据、版本号、生失效时间段和标识号;所述版本号根据变更次数依次增大;
6、建立所述标识号和所述生失效时间段之间的第一映射关系,建立所述标识号和所述版本号之间的第二映射关系,建立所述版本号分别和所述变更数据、所述未变更数据之间的第三映射关系;
7、当查询指定历史时间点的历史银行业务数据时,根据所述指定历史时间点以及所述第一映射关系,得到所述指定历史时间点对应的历史标识号;
8、根据所述历史标识号和所述第二映射关系,得到所述历史标识号对应的历史银行业务数据的版本号;
9、根据所述历史银行业务数据的版本号和所述第三映射关系,得到所述历史银行业务数据的版本号对应的变更数据和未变更数据;
10、将所述历史银行业务数据的版本号对应的变更数据和未变更数据组合,作为所述指定历史时间点的所述历史银行业务数据。
11、在一种可能的实现方式中,还包括:
12、当查询最新版本的银行业务数据时,获取当前最大的版本号作为所述最新版本的银行业务数据的当前版本号;
13、根据所述当前版本号和所述第三映射关系,得到所述当前版本号对应的变更数据和未变更数据;
14、将所述当前版本号对应的变更数据和未变更数据组合,作为所述最新版本的银行业务数据。
15、在一种可能的实现方式中,所述根据所述指定历史时间点以及所述第一映射关系,得到所述指定历史时间点对应的历史标识号,包括:
16、将所述指定历史时间点和各个版本银行业务数据的生失效时间段逐一进行比对,确定所述指定历史时间点对应的生失效时间段;
17、根据所述指定历史时间点对应的生失效时间段和所述第一映射关系,得到所述指定历史时间点对应的历史标识号。
18、在一种可能的实现方式中,得到所述历史银行业务数据的版本号对应的未变更数据,包括:
19、获取所述历史银行业务数据的版本号的变更前版本号;
20、获取所述变更前版本号对应的银行业务数据;
21、从所述变更前版本号对应的银行业务数据中,获取所述历史银行业务数据的版本号对应的未变更数据。
22、第二方面,本技术实施例提供了一种数据变更历史管理装置,包括:
23、记录单元,用于当银行业务数据发生变更时,记录变更后银行业务数据的变更数据、未变更数据、版本号、生失效时间段和标识号;所述版本号根据变更次数依次增大;
24、建立单元,用于建立所述标识号和所述生失效时间段之间的第一映射关系,建立所述标识号和所述版本号之间的第二映射关系,建立所述版本号分别和所述变更数据、所述未变更数据之间的第三映射关系;
25、标识号单元,用于当查询指定历史时间点的历史银行业务数据时,根据所述指定历史时间点以及所述第一映射关系,得到所述指定历史时间点对应的历史标识号;
26、版本号单元,用于根据所述历史标识号和所述第二映射关系,得到所述历史标识号对应的历史银行业务数据的版本号;
27、数据单元,用于根据所述历史银行业务数据的版本号和所述第三映射关系,得到所述历史银行业务数据的版本号对应的变更数据和未变更数据;
28、第一组合单元,用于将所述历史银行业务数据的版本号对应的变更数据和未变更数据组合,作为所述指定历史时间点的所述历史银行业务数据。
29、在一种可能的实现方式中,还包括:
30、获取单元,用于当查询最新版本的银行业务数据时,获取当前最大的版本号作为所述最新版本的银行业务数据的当前版本号;
31、得到单元,用于根据所述当前版本号和所述第三映射关系,得到所述当前版本号对应的变更数据和未变更数据;
32、第二组合单元,用于将所述当前版本号对应的变更数据和未变更数据组合,作为所述最新版本的银行业务数据。
33、在一种可能的实现方式中,所述标识号单元,具体用于:
34、将所述指定历史时间点和各个版本银行业务数据的生失效时间段逐一进行比对,确定所述指定历史时间点对应的生失效时间段;
35、根据所述指定历史时间点对应的生失效时间段和所述第一映射关系,得到所述指定历史时间点对应的历史标识号。
36、在一种可能的实现方式中,所述得到单元,具体用于:
37、获取所述历史银行业务数据的版本号的变更前版本号;
38、获取所述变更前版本号对应的银行业务数据;
39、从所述变更前版本号对应的银行业务数据中,获取所述历史银行业务数据的版本号对应的未变更数据。
40、第三方面,本技术实施例提供了一种数据变更历史管理系统,包括:
41、存储器,用于存储计算机程序;
42、处理器,用于执行所述计算机程序时实现如上述所述数据变更历史管理方法的步骤。
43、第四方面,本技术实施例提供了一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序被处理执行时实现如上述所述数据变更历史管理方法的步骤。
44、与现有技术相比,本技术实施例具有以下有益效果:
45、本技术实施例提供了一种数据变更历史管理方法、装置、系统和介质,可应用于大数据领域或金融领域。该方法包括:当银行业务数据发生变更时,记录变更后银行业务数据的变更数据、未变更数据、版本号、生失效时间段和标识号;版本号根据变更次数依次增大;建立标识号和生失效时间段之间的第一映射关系,建立标识号和版本号之间的第二映射关系,建立版本号分别和变更数据、未变更数据之间的第三映射关系;当查询指定历史时间点的历史银行业务数据时,根据指定历史时间点以及第一映射关系,得到指定历史时间点对应的历史标识号;根据历史标识号和第二映射关系,得到历史标识号对应的历史银行业务数据的版本号;根据历史银行业务数据的版本号和第三映射关系,得到历史银行业务数据的版本号对应的变更数据和未变更数据;将历史银行业务数据的版本号对应的变更数据和未变更数据组合,作为指定历史时间点的历史银行业务数据。本技术通过建立映射关系的方式,无需进行所有银行业务数据的更新,可以根据查询时间点准确定位到银行业务数据的版本号,将需要变更的数据进行部分变更即可,未变更的数据可以继续使用上一版本的数据,从而数据无需全体更新,从而减少了对存储空间的占用。