一种系统及基于其的数据处理方法与流程
					未命名
					08-02
					阅读:166
					评论:0
									
								
										
                            1.本发明涉及计算机技术领域,尤其涉及一种系统及基于其的数据处理方法。
背景技术:
2.当今的数据处理大致可以分成两大类:联机事务处理(oltp,也叫事务型数据库)、联机分析处理(olap,也叫分析型数据库)。oltp是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易、市场日常交易等。传统的关系型数据库,采用行式存储法(row-based)。这种行式存储模式,可以一次存取多行,易于支持数据库的大规模并发操作,主要的操作是增删改。olap是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。列式存储(column-based)是相对于行式存储来说的,存在于olap数据库中,数据是按照列为基础的逻辑存储单元进行存储的,方便相同字段大规模数据的抓取。
3.分析型数据库(olap)的业务是从事务型数据库(oltp)内的业务进行提取的。由于oltp的存储格式与olap的格式不同,为提高olap的效率,需要格式转换。现有技术中,为了不中断中央处理器处理事务型数据库接收的请求,通常都是在空闲时段进行行列转换(具体为从复制oltp全表回写生成列式存储格式),之后将业务数据离线导入到基于列存的分析型数据库(olap)中,进行后续的分析。然而,这种数据格式变换方式大约占分析型数据库(olap)进行决策分析整个过程的1/3时间。且这种模式的实时性很差,一般用于分析离线数据,如果有需求要实时分析在业务系统中实时产生的数据时,这种模式就无法满足需求。
技术实现要素:
4.本发明提供了一种系统及基于其的数据处理方法,缩减数据库准备时长,且第二类型数据库能够对第一类型数据库实时产生的第一类型数据进行分析,满足实时性需求。
5.第一方面,本发明提供了一种系统,该系统包括:第一类型数据库、第二类型数据库和数据类型转换器。其中,所述第一类型数据库采用第一类型存储模式,所述第二类型数据库采用第二类型存储模式。在所述第一类型数据库缓存的第一类型数据达到设定阈值时,所述数据类型转换器将所述设定阈值的第一类型数据,转换成第二类型数据;其中,所述第一类型数据为采用所述第一类型存储模式生成的数据,所述第二类型数据为采用所述第二类型存储模式生成的数据。
6.在上述的方案中,通过增加设置数据类型转换器,在不中断中央处理器处理第一类型数据库接收的请求的过程的情况下,在缓存的第一类型数据的数据量每达到设定阈值,即触发数据类型转换器将该设定阈值的第一类型数据转换成第二类型数据。相比现有从复制oltp全表回写生成列式存储格式的数据类型转换方式,本技术的方式能够在第一类型数据库工作时段,采用专用硬件模块(数据类型转换器)分时分段进行数据类型转换(其中的分时指的是先后不同时间产生第一类型数据,其中的分段是指产生的第一类型数据的数据量每达到设定阈值,即触发进行数据类型转换)的方式,能够将第一类型数据库产生的
新的第一类型数据实时数据类型转换后透传给第二类型数据库,以使第二类型数据库接收的请求时,能够读取第二类型数据,能够满足实时分析在系统中实时产生的数据需求,改善系统的实时分析性能。即边由第一类型数据库准备第一类型数据,边进行数据类型转换及存储,这样大大缩减数据库准备时长,且第二类型数据库能够对第一类型数据库实时产生的第一类型数据进行分析,满足实时性需求。
7.在一个具体的实施方式中,系统还包括:中央处理器、第一内存、第二内存、第一外存和第二外存。其中,中央处理器用于处理第一类型数据库接收的请求,得到第一类型数据。第一内存用于缓存第一类型数据。数据类型转换器用于在第一内存内的第一类型数据的数据量达到设定阈值时,将设定阈值的第一类型数据,转换成第二类型数据。第二内存用于缓存第二类型数据。第一外存用于落盘第一内存缓存的第一类型数据。第二外存用于落盘第二内存缓存的第二类型数据,以使中央处理器处理第二类型数据库接收的请求时,从第二外存中读取第二类型数据。便于实现。
8.在一个具体的实施方式中,系统还包括:冷数据识别模块,冷数据识别模块用于识别第一内存内的设定阈值的第一类型数据,是否为冷数据。数据类型转换器在第一内中的设定阈值的第一类型数据为冷数据时,将设定阈值的第一类型数据,转换成第二类型数据,以在基本对该设定阈值的第一类型数据完成更新之后,再进行数据类型转换,一方面能够保证数据类型转换所依据的第一类型数据为最新数据,另一方面能够改善在数据类型转换时接收到对第一类型数据进行更新的冲突情况。
9.在一个具体的实施方式中,冷数据识别模块用于在设定时间段内,第一内存内的设定阈值的第一类型数据的更新请求频次小于设定频次时,将设定阈值的第一类型数据识别为冷数据,以准确的识别该设定阈值的第一类型数据是否为冷数据。
10.在一个具体的实施方式中,系统还包括:锁模块,锁模块用于在数据类型转换器启动将设定阈值的第一类型数据转换成第二类型数据时,锁定第一内存内的设定阈值的第一类型数据。锁模块还用于在数据类型转换器完成将设定阈值的第一类型数据转换成第二类型数据时,解除锁定第一内存内的设定阈值的第一类型数据。在遇到数据类型转换的过程中,接收到对设定阈值的第一类型数据进行更新的冲突情况时,阻止对该设定阈值的第一类型数据进行更新,防止出现逻辑混乱。
11.在一个具体的实施方式中,系统还包括:第三内存和拷贝模块。其中,拷贝模块用于在第一内存内的第一类型数据的数据量达到设定阈值时,将设定阈值的第一类型数据拷贝到第三内存中。数据类型转换器用于将第三内存内的设定阈值的第一类型数据,转换成第二类型数据。通过增加暂时缓存的第三内存,先将设定阈值的第一类型数据拷贝到第三内存,之后数据类型转换器从第三内存中提取第一类型数据进行数据类型转换;由于在数据类型转换过程中,不是从第一内存中提取数据,能够缩短数据类型转换过程对第一内存的第一类型数据的限制时间。
12.在一个具体的实施方式中,系统还包括:冷数据识别模块,冷数据识别模块用于识别第一内存内的设定阈值的第一类型数据,是否为冷数据。拷贝模块在第一内存内的设定阈值的第一类型数据为冷数据时,将设定阈值的第一类型数据拷贝到第三内存中。以在基本对该设定阈值的第一类型数据完成更新之后,再进行拷贝,一方面能够保证拷贝的第一类型数据为最新数据,另一方面能够改善拷贝时接收到对第一类型数据进行更新的冲突情
况。
13.在一个具体的实施方式中,系统还包括:锁模块,锁模块用于在拷贝模块启动将设定阈值的第一类型数据拷贝到第三内存时,锁定第一内存内的设定阈值的第一类型数据。锁模块还用于在拷贝模块完成将设定阈值的第一类型数据拷贝到第三内存时,解除锁定第一内存内的设定阈值的第一类型数据。在遇到拷贝过程中,接收到对设定阈值的第一类型数据进行更新的冲突情况时,阻止对该设定阈值的第一类型数据进行更新,防止出现逻辑混乱。
14.在一个具体的实施方式中,设定阈值为第一类型数据中行的整数倍,使数据类型转换的第一类型数据中均为完整的行数据。或,设定阈值为第一外存落盘时页面尺寸的整数倍,使数据类型转换的第一类型数据在落盘到第一外存时,能够正好落盘到完整的页存储空间内,避免落盘后出现页存储空间没有存满的情况,防止第一外存的存储空间出现浪费。
15.在一个具体的实施方式中,系统还包括:可用段标记模块,可用段标记模块用于在将第二内存缓存的第二类型数据落盘到第二外存之后,标记完成落盘的第二类型数据为可用段,及时告知第二类型数据库能够对刚完成落盘的第二类型数据进行读取分析。
16.在一个具体的实施方式中,数据类型转换器包括:第一表结构读取器、定位器及字段偏移计算器、地址生成及数据传输器、第二表结构生成器。其中,第一表结构读取器用于读取第一类型数据的第一存储表结构。定位器及字段偏移计算器用于根据第一存储表结构和第二类型存储模式,从第一类型数据中提取数据。地址生成及数据传输器用于给提取出的数据,在第二内存中分配缓存空间,并把提取的数据缓存到第二内存中。第二表结构生成器用于根据缓存到第二内存中的相同列的数据,生成第二存储表结构,并将第二存储表结构缓存到第二内存中。便于快速且准确的完成数据类型转换。
17.在一个具体的实施方式中,在数据类型转换器在完成将设定阈值的第一类型数据转换为第二类型数据之后,中央处理器在处理第二类型数据库接收的请求时,还能够从第二内存中读取第二类型数据。使第二类型数据库能够提前对还未完成落盘的第二类型数据进行读取分析。
18.第二方面,本发明还提供了一种数据处理方法,该数据处理方法基于上述任意一种系统。该数据处理方法包括:在第一类型数据库缓存的第一类型数据达到设定阈值时,数据类型转换器将设定阈值的第一类型数据,转换成第二类型数据。通过增加设置数据类型转换器,在不中断中央处理器处理第一类型数据库接收的请求的过程的情况下,在缓存的第一类型数据的数据量每达到设定阈值,即触发数据类型转换器将该设定阈值的第一类型数据转换成第二类型数据。相比现有从复制oltp全表回写生成列式存储格式的数据类型转换方式,本技术的方式能够在第一类型数据库工作时段,采用专用硬件模块(数据类型转换器)分时分段进行数据类型转换(其中的分时指的是先后不同时间产生第一类型数据,其中的分段是指产生的第一类型数据的数据量每达到设定阈值,即触发进行数据类型转换)的方式,能够将第一类型数据库产生的新的第一类型数据实时数据类型转换后透传给第二类型数据库,以使第二类型数据库接收的请求时,能够读取第二类型数据,能够满足实时分析在系统中实时产生的数据需求,改善系统的实时分析性能。即边由第一类型数据库准备第一类型数据,边进行数据类型转换及存储,这样大大缩减数据库准备时长,且第二类型数据
库能够对第一类型数据库实时产生的第一类型数据进行分析,满足实时性需求。
附图说明
19.图1为本发明实施例提供的一种系统的结构示意框图;
20.图2为本发明实施例提供的另一种系统的结构示意框图;
21.图3为本发明实施例提供的一种数据类型转换器的结构示意框图;
22.图4为本发明实施例提供的另一种系统的结构示意框图;
23.图5为本发明实施提供的一种系统的数据类型转换的流程图;
24.图6为本发明实施例提供的另一种系统的结构示意框图;
25.图7为本发明实施例提供的另一种系统的结构示意框图;
26.图8为本发明实施提供的另一种系统的数据类型转换的流程图。
27.附图标记:
28.10-中央处理器11-第一类型数据库12-第二类型数据库
29.21-第一内存22-第二内存23-第三内存30-数据类型转换器
30.31-第一表结构读取器32-定位器及字段偏移计算器
31.33-地址生成及数据传输器34-第二表结构生成器
32.41-第一外存42-第二外存51-冷数据识别模块
33.52-锁模块53-可用段标记模块54-拷贝模块
具体实施方式
34.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.为了方便理解本发明实施例提供的系统,下面首先说明一下本发明实施例提供的系统的应用场景,该系统应用于兼具第一类型数据处理功能和第一类型处理功能的数据处理场景中。其中的,第二类型数据处理功能和第一类型处理功能可以为诸如但不限于事务型数据处理功能和分析型数据处理功能。下面结合附图对该系统进行详细的叙述。
36.参考图1,本发明实施例提供的系统包括:第一类型数据库11、第二类型数据库12和数据类型转换器30。其中,所述第一类型数据库11采用第一类型存储模式,所述第二类型数据库12采用第二类型存储模式。在所述第一类型数据库11缓存的第一类型数据达到设定阈值时,所述数据类型转换器30将所述设定阈值的第一类型数据,转换成第二类型数据;其中,所述第一类型数据为采用所述第一类型存储模式生成的数据,所述第二类型数据为采用所述第二类型存储模式生成的数据。
37.在上述的方案中,通过增加设置数据类型转换器30,在不中断中央处理器10处理第一类型数据库11接收的请求的过程的情况下,在缓存的第一类型数据的数据量每达到设定阈值,即触发数据类型转换器30将该设定阈值的第一类型数据转换成第二类型数据。相比现有从复制oltp全表回写生成列式存储格式的数据类型转换方式,本技术的方式能够在第一类型数据库11工作时段,采用专用硬件模块(数据类型转换器30)分时分段数据类型转
换(其中的分时指的是先后不同时间产生第一类型数据,其中的分段是指产生的第一类型数据的数据量每达到设定阈值,即触发进行数据类型转换及存储)的方式,能够将第一类型数据库11产生的新的第一类型数据实时数据类型转换后透传给第二类型数据库12,以使处理第二类型数据库12接收的请求时,能够读取第二类型数据,能够满足实时分析在系统中实时产生的数据需求,改善系统的实时分析性能。即边由第一类型数据库11准备第一类型数据,边进行数据类型转换及存储,这样大大缩减数据库准备时长,且第二类型数据库12能够对第一类型数据库11实时产生的第一类型数据进行分析,满足实时性需求。下面结合附图对上述各个功能模块进行详细的介绍。
38.参考图1及图2,该系统包括第一类型数据库11和第二类型数据库12。在第一类型数据库11为事务型数据库时,第一类型存储模式为行存储模式,第二类型数据库12为分析型数据库,第二类型存储模式为列存储模式。在第一类型数据库11为分析型数据库时,第一类型存储模式为列存储模式,第二类型数据库12为事务型数据库,第二类型存储模式为行存储模式。应当理解的是,第一类型数据库11和第二类型数据库12并不限于上述示出的事务型数据库和分析型数据库,除此之外,还可以采用其他的数据库类型。对应的,第一类型存储模式和第二类型存储模式也不限于上述示出的行存储模式和列存储模式。在第一类型数据库11和第二类型数据库12确定之后,即能够确定第一类型存储模式和第二类型存储模式的存储模式。
39.在第一类型数据库11缓存的第一类型数据达到设定阈值时,数据类型转换器30将设定阈值的第一类型数据,转换成第二类型数据。其中,第一类型数据为采用第一类型存储模式生成的数据,第二类型数据为采用所述第二类型存储模式生成的数据。在第一类型存储模式为列存储模式时,第一类型数据为列存储数据;在第一类型存储模式为行存储模式时,第一类型数据为行存储数据。对应的,在第二类型存储模式为列存储模式时,第二类型数据为列存储数据;在第二类型存储模式为行存储模式时,第二类型数据为行存储数据。在第一类型存储模式和第二类型存储模式确定之后,即能够确定第一类型数据和第二类型数据。
40.在第一类型数据库11为事务型数据库时,能够接收诸如但不限于录入请求、更新请求、查询请求、删除请求等请求。之后,第一类型数据库11能够将其接收的请求传输给中央处理器10,由中央处理器10处理第一类型数据库11所接收的请求,并得到第一类型数据,这些第一类型数据为缓存数据。
41.参考图2,该系统还可以包括:中央处理器10、第一内存21、第二内存22、第一外存41和第二外存42。其中,中央处理器10用于处理第一类型数据库11接收的请求,得到第一类型数据。第一内存21用于缓存第一类型数据。数据类型转换器30用于在第一内存21内的第一类型数据的数据量达到设定阈值时,将设定阈值的第一类型数据,转换成第二类型数据。第二内存22用于缓存第二类型数据。第一外存41用于落盘第一内存21缓存的第一类型数据。第二外存42用于落盘第二内存22缓存的第二类型数据,以使中央处理器10处理第二类型数据库12接收的请求时,从第二外存42中读取第二类型数据。便于实现。
42.如图2所示,在第一内存21内缓存的第一类型数据的数据量达到设定阈值时,能够触发数据类型转换器30将第一内存21缓存的设定阈值的第一类型数据,转换成第二类型数据。在确定设定阈值的大小时,可以采用多种确定方式。示例性的举例,设定阈值可以为第
一类型数据中行的整数倍,使数据类型转换的第一类型数据中均为完整的行数据。例如,设定阈值还可以为第一外存41落盘时页面尺寸的整数倍,使数据类型转换的第一类型数据在落盘到第一外存41时,能够正好落盘到完整的页存储空间内,避免落盘后出现页存储空间没有存满的情况,防止第一外存41的存储空间出现浪费。当然,上述仅仅示出了设定阈值确定几种方式,除此之外,还可以采用其他的方式。
43.如图2及图3所示,在数据类型转换器30将设定阈值的第一类型数据转换为第二类型数据的过程中,可以按照一定的顺序从第一内存21内提取数据,并缓存到第二内存22中,再将设定阈值的第一类型数据都按照第二类型存储模式的方式,缓存到第二内存22之后,在第二内存22中缓存了数据类型转换完成的第二类型数据。示例性的,如图2所示出的设定阈值的第一类型数据中包含有m行数据,m行数据分别为:行数据1、行数据2、
…
、行数据m。其中,行数据1中分别有v11;v12;
…
;v1n。行数据2中分别有v21;v22;
…
;v2n。
…
。行数据m中分别有vm1;vm2;
…
;vmn。可以看出,该设定阈值的第一类型数据的每个行数据中均包含有n列数据。进行数据类型转换之后得到如图2所示出的第二类型数据中包含有n列数据,分别为列数据1、列数据2、
…
、列数据n。其中,列数据1中分别有v11;v21;
…
;vm1。列数据2中分别有v12;v22;
…
;vm2。
…
。列数据n中分别有v1n;v2n;
…
;vmn。需要注意的是,上述仅示出了一种数据类型转换的第一类型数据和第二类型数据形式,除此之外,还可以采用其他形式的第一类型数据。
44.在设置数据类型转换器30时,可以采用多种方式,示例性的如图3所示出的一种数据类型转换器30,该数据类型转换器30包括:第一表结构读取器31、定位器及字段偏移计算器32、地址生成及数据传输器33、第二表结构生成器34。其中,第一表结构读取器31用于读取第一类型数据的第一存储表结构,并将第一存储表结构传输给定位器及字段偏移计算器32。需要说明的是,第一存储表结构记载了设定阈值的第一类型数据中的数据类型,以及每种数据类型的字节宽度及地址信息。定位器及字段偏移计算器32根据第一存储表结构和第二类型存储模式,从第一类型数据中提取数据,并把提取出的数据传输给地址生成及数据传输器33。地址生成及数据传输器33给提取出的数据,在第二内存22中分配缓存空间,并把提取出的数据缓存到第二内存22中。在遍历第一内存21内的设定阈值的第一类型数据,并完成数据类型转换之后,第二表结构生成器34根据缓存到第二内存22中的数据,生成第二存储表结构,并将第二存储表结构缓存到第二内存22中。需要解释的是,第二存储表结构记载了缓存到第二内存22的第二类型数据中的数据类型、每种数据类型的字节宽度、每种数据类型的地址起始字段和地址截止字段等信息。采用上述示出的数据类型转换器30,便于快速且准确的完成数据类型转换。当然,需要注意的是,数据类型转换器30的设置方式除了图3示出的方式之外,还可以采用其他的方式。
45.在第一类型存储模式为行存储模式,第二类型存储模式为列存储模式时,定位器及字段偏移计算器32根据第一存储表结构,从第一类型数据中提取相同列的数据,并把提取出的相同列的数据传输给地址生成及数据传输器33。地址生成及数据传输器33给提取出的相同列的数据,在第二内存22中分配缓存空间,并把相同列的数据缓存到第二内存22中。在遍历第一内存21内的设定阈值的第一类型数据,并完成数据类型转换之后,第二表结构生成器34根据缓存到第二内存22中的相同列的数据,生成第二存储表结构,并将第二存储表结构缓存到第二内存22中。需要解释的是,第二存储表结构记载了缓存到第二内存22的
第二类型数据中的各列的数据类型、每种数据类型的字节宽度、每种数据类型的地址起始字段和地址截止字段等信息。
46.另外,参考图4及图5,该系统还可以包括:冷数据识别模块51,冷数据识别模块51用于识别第一内存21内的设定阈值的第一类型数据,是否为冷数据。冷数据表示设定阈值的第一类型数据被更新的频次大幅降低。数据类型转换器30在第一内中的设定阈值的第一类型数据为冷数据时,将设定阈值的第一类型数据,转换成第二类型数据,以在基本对该设定阈值的第一类型数据完成更新之后,再进行数据类型转换,一方面能够保证数据类型转换所依据的第一类型数据为最新数据,另一方面能够改善在数据类型转换时接收到对第一类型数据进行更新的冲突情况。
47.在设置冷数据识别模块51时,可以采用多种方式。示例性的举例,冷数据识别模块51可以通过监测并判断在设定时间段内,第一内存21内的设定阈值的第一类型数据的更新请求频次是否小于设定频次,该设定时间段和设定频次的大小可以预先根据应用场景等因素设定。在冷数据识别模块51监测并判断到在设定时间段内,第一内存21内的设定阈值的第一类型数据的更新请求频次小于设定频次时,将设定阈值的第一类型数据识别为冷数据,以准确的识别该设定阈值的第一类型数据是否为冷数据。当然,需要额外注意的是,识别冷数据的方式并不限于上述示出的方式,除此之外,还可以采用其他的方式。
48.继续参考图4及图5,系统还可以进一步包括:锁模块52,锁模块52用于在数据类型转换器30启动将设定阈值的第一类型数据转换成第二类型数据时,锁定第一内存21内的设定阈值的第一类型数据。即在数据类型转换器30启动数据类型转换时,先由锁模块52锁定第一内存21内的设定阈值的第一类型数据,使这部分设定阈值的第一类型数据在转换过程中不能够被更新。在遇到数据类型转换的过程中,如果接收到对设定阈值的第一类型数据进行更新的冲突情况时,通过上述方式,能够阻止对该设定阈值的第一类型数据进行更新,防止出现逻辑混乱。如图5所示,锁模块52还用于在数据类型转换器30完成将设定阈值的第一类型数据转换成第二类型数据时,解除锁定第一内存21内的设定阈值的第一类型数据。
49.另外,如图6所示出的另一种系统,该系统还可以包括:第三内存23和拷贝模块54。其中,如图8所示,拷贝模块54用于在第一内存21内的第一类型数据的数据量达到设定阈值时,将设定阈值的第一类型数据拷贝到第三内存23中。数据类型转换器30用于将第三内存23内的设定阈值的第一类型数据,转换成第二类型数据。通过增加暂时缓存的第三内存23,先将设定阈值的第一类型数据拷贝到第三内存23,之后数据类型转换器30从第三内存23中提取第一类型数据进行数据类型转换;由于在数据类型转换过程中,不是从第一内存21中提取数据,能够缩短数据类型转换过程对第一内存21的第一类型数据的限制时间。
50.基于图6示出的系统,参考图7,系统还可以包括:冷数据识别模块51,此处的冷数据识别模块51同样用于识别第一内存21内的设定阈值的第一类型数据,是否为冷数据。只是与前述的区别在于,如图8所示,此实施例中的冷数据识别模块51识别到第一内存21内的设定阈值的第一类型数据为冷数据时,拷贝模块54将设定阈值的第一类型数据拷贝到第三内存23中,与前述直接进行数据类型转换的方式不同。本实施例通过增加冷数据识别模块51,以在基本对该设定阈值的第一类型数据完成更新之后,再进行拷贝,一方面能够保证拷贝的第一类型数据为最新数据,另一方面能够改善拷贝时接收到对第一类型数据进行更新的冲突情况。
51.继续参考图7及图8,系统还可以进一步包括:锁模块52,锁模块52用于在拷贝模块54启动将设定阈值的第一类型数据拷贝到第三内存23时,锁定第一内存21内的设定阈值的第一类型数据。参考图8,锁模块52还用于在拷贝模块54完成将设定阈值的第一类型数据拷贝到第三内存23时,解除锁定第一内存21内的设定阈值的第一类型数据。在遇到拷贝过程中,接收到对设定阈值的第一类型数据进行更新的冲突情况时,阻止对该设定阈值的第一类型数据进行更新,防止出现逻辑混乱。本实施例中的锁模块52锁定第一内存21内的设定阈值的第一类型数据的时间段为:拷贝模块54将第一内存21内的设定阈值的第一类型数据拷贝到第三内存23的过程中,将设定阈值的第一类型数据从第一内存21拷贝到第三内存23所需的时间,要远远小于从第一内存21的设定阈值的第一类型数据进行提取数据类型转换所需的时间,所以本实施例的方式中,锁定第一内存21内的设定阈值的第一类型数据的锁定时间,要远小于上述示出的直接从第一内存21的设定阈值的第一类型数据进行提取转换时的锁定时间,对第一内存21的设定阈值的第一类型数据的锁定限制时长更短,影响更少。
52.在数据类型转换器30采用上述示出的任意一种方式,完成将第一内存21内的设定阈值的第一类型数据,进行数据类型转换完成得到缓存在第二内存22的第二类型数据之后,数据类型转换器30可以进入休眠状态,并在第一内存21新得到的第一类型数据的数据量再次达到设定阈值之后,再次调用和触发数据类型转换器30进行数据类型转换,以节能。
53.如图2、图4、图6及图7所示,第一外存41用于落盘第一内存21缓存的第一类型数据,当然,在图6及图7示出的存在暂时缓存的第三内存23时,可以将第一内存21缓存的第一类型数据落盘到第一外存41,也可以将第三内存23缓存的第一类型数据落盘到第一外存41。
54.继续参考图2、图4、图6及图7,第二外存42用于落盘第二内存22缓存的第二类型数据,以使中央处理器10处理第二类型数据库12接收的请求时,从第二外存42中读取第二类型数据。即本技术中的中央处理器10作为处理器件,其还能够处理第二类型数据库12所接收到的请求,例如,能够处理第二类型数据库12接收到的诸如但不限于查询请求、分类请求等请求。
55.如图4及图7所示,系统还可以进一步包括:可用段标记模块53,可用段标记模块53用于在将第二内存22缓存的第二类型数据落盘到第二外存42之后,标记完成落盘的第二类型数据为可用段,及时告知第二类型数据库12能够对刚完成落盘的第二类型数据进行读取分析。
56.另外,在数据类型转换器30在完成将设定阈值的第一类型数据转换为第二类型数据之后,中央处理器10在处理第二类型数据库12接收的请求时,还能够从第二内存22中读取第二类型数据。使第二类型数据库12能够提前对还未完成落盘的第二类型数据进行读取分析。当然,在第二内存22缓存的第二类型数据还没有被擦除,且第二外存42已经完成对第二类型数据的落盘之后,中央处理器10在处理第二类型数据库12接收的请求时,既可以选择从第二内存22中读取第二类型数据,也可以选择从第二外存42中读取第二类型数据。
57.在上述示出的各种实施方式中,通过增加设置数据类型转换器30,在不中断中央处理器10处理第一类型数据库11接收的请求的过程的情况下,在缓存的第一类型数据的数据量每达到设定阈值,即触发数据类型转换器30将该设定阈值的第一类型数据转换成第二类型数据。相比现有从复制oltp全表回写生成列式存储格式的数据类型转换方式,本技术
的方式能够在第一类型数据库11工作时段,采用专用硬件模块(数据类型转换器30)分时分段数据类型转换(其中的分时指的是先后不同时间产生第一类型数据,其中的分段是指产生的第一类型数据的数据量每达到设定阈值,即触发进行数据类型转换及存储)的方式,能够将第一类型数据库11产生的新的第一类型数据实时数据类型转换后透传给第二类型数据库12,以使处理第二类型数据库12接收的请求时,能够读取第二类型数据,能够满足实时分析在系统中实时产生的数据需求,改善系统的实时分析性能。即边由第一类型数据库11准备第一类型数据,边进行数据类型转换及存储,这样大大缩减数据库准备时长,且第二类型数据库12能够对第一类型数据库11实时产生的第一类型数据进行分析,满足实时性需求。
58.另外,本发明实施例还提供了一种数据处理方法,参考图1~图8,该数据处理方法基于上述任意一种系统。该数据处理方法包括:在第一类型数据库11缓存的第一类型数据达到设定阈值时,数据类型转换器30将设定阈值的第一类型数据,转换成第二类型数据。通过增加设置数据类型转换器30,在不中断中央处理器10处理第一类型数据库11接收的请求的过程的情况下,在缓存的第一类型数据的数据量每达到设定阈值,即触发数据类型转换器30将该设定阈值的第一类型数据转换成第二类型数据。相比现有从复制oltp全表回写生成列式存储格式的数据类型转换方式,本技术的方式能够在第一类型数据库11工作时段,采用专用硬件模块(数据类型转换器30)分时分段数据类型转换(其中的分时指的是先后不同时间产生第一类型数据,其中的分段是指产生的第一类型数据的数据量每达到设定阈值,即触发进行数据类型转换及存储)的方式,能够将第一类型数据库11产生的新的第一类型数据实时数据类型转换后透传给第二类型数据库12,以使处理第二类型数据库12接收的请求时,能够读取第二类型数据,能够满足实时分析在系统中实时产生的数据需求,改善系统的实时分析性能。即边由第一类型数据库11准备第一类型数据,边进行数据类型转换及存储,这样大大缩减数据库准备时长,且第二类型数据库12能够对第一类型数据库11实时产生的第一类型数据进行分析,满足实时性需求。
59.需要额外说明的是,由于本发明实施例示出的数据处理方法是基于前述系统进行的,在前述系统中示出了冷数据识别模块、锁模块、可用段标记模块、拷贝模块和第三内存时,描述的数据处理方法,也属于本发明实施例示出的数据处理方法,因此,在此不在对上述关于系统描述部分示出的数据处理方法,再做赘述。
60.以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种系统,其特征在于,包括:第一类型数据库和第二类型数据库;其中,所述第一类型数据库采用第一类型存储模式,所述第二类型数据库采用第二类型存储模式;以及数据类型转换器;在所述第一类型数据库缓存的第一类型数据达到设定阈值时,所述数据类型转换器将所述设定阈值的第一类型数据,转换成第二类型数据;其中,所述第一类型数据为采用所述第一类型存储模式生成的数据,所述第二类型数据为采用所述第二类型存储模式生成的数据。2.如权利要求1所述的系统,其特征在于,还包括:中央处理器,用于处理所述第一类型数据库接收的请求,得到所述第一类型数据;第一内存,用于缓存所述第一类型数据;第二内存,用于缓存所述第二类型数据;第一外存,用于落盘所述第一内存缓存的所述第一类型数据;第二外存,用于落盘所述第二内存缓存的所述第二类型数据,以使所述中央处理器处理所述第二类型数据库接收的请求时,从所述第二外存中读取所述第二类型数据。3.如权利要求2所述的系统,其特征在于,还包括:冷数据识别模块,用于识别所述第一内存内的所述设定阈值的第一类型数据,是否为冷数据;所述数据类型转换器在所述第一内中的所述设定阈值的第一类型数据为冷数据时,将所述设定阈值的第一类型数据,转换成第二类型数据。4.如权利要求3所述的系统,其特征在于,所述冷数据识别模块用于在设定时间段内,所述第一内存内的所述设定阈值的第一类型数据的更新请求频次小于设定频次时,将所述设定阈值的第一类型数据识别为冷数据。5.如权利要求4所述的系统,其特征在于,还包括:锁模块,用于在所述数据类型转换器启动将所述设定阈值的第一类型数据转换成第二类型数据时,锁定所述第一内存内的所述设定阈值的第一类型数据;所述锁模块还用于在所述数据类型转换器完成将所述设定阈值的第一类型数据转换成第二类型数据时,解除锁定所述第一内存内的所述设定阈值的第一类型数据。6.如权利要求1所述的系统,其特征在于,还包括:第三内存;拷贝模块,用于在所述第一内存内的第一类型数据的数据量达到设定阈值时,将所述设定阈值的第一类型数据拷贝到所述第三内存中;所述数据类型转换器用于将所述第三内存内的所述设定阈值的第一类型数据,转换成第二类型数据。7.如权利要求6所述的系统,其特征在于,还包括:冷数据识别模块,用于识别所述第一内存内的所述设定阈值的第一类型数据,是否为冷数据;所述拷贝模块在所述所述第一内存内的设定阈值的第一类型数据为冷数据时,将所述设定阈值的第一类型数据拷贝到所述第三内存中。8.如权利要求7所述的系统,其特征在于,还包括:锁模块,用于在所述拷贝模块启动将所述设定阈值的第一类型数据拷贝到所述第三内存时,锁定所述第一内存内的所述设定阈
值的第一类型数据;所述锁模块还用于在所述拷贝模块完成将所述设定阈值的第一类型数据拷贝到所述第三内存时,解除锁定所述第一内存内的所述设定阈值的第一类型数据。9.如权利要求1所述的系统,其特征在于,还包括:可用段标记模块,用于在将所述第二内存缓存的所述第二类型数据落盘到所述第二外存之后,标记完成落盘的所述第二类型数据为可用段。10.如权利要求1所述的系统,其特征在于,所述数据类型转换器包括:第一表结构读取器,用于读取所述第一类型数据的第一存储表结构;定位器及字段偏移计算器,用于根据所述第一存储表结构和第二类型存储模式,从所述第一类型数据中提取数据;地址生成及数据传输器,用于给提取出的数据,在所述第二内存中分配缓存空间,并把所述提取出的数据缓存到所述第二内存中;第二表结构生成器,用于根据缓存到所述第二内存中的所述相同列的数据,生成第二存储表结构,并将所述第二存储表结构缓存到第二内存中。11.如权利要求1所述的系统,其特征在于,在所述数据类型转换器在完成将所述设定阈值的第一类型数据转换为第二类型数据之后,所述中央处理器在处理所述第二类型数据库接收的请求时,还能够从所述第二内存中读取所述第二类型数据。12.一种基于权利要求1~11任一所述系统的数据处理方法,其特征在于,包括:在第一类型数据库缓存的第一类型数据达到设定阈值时,数据类型转换器将设定阈值的第一类型数据,转换成第二类型数据。
技术总结
本发明提供了一种系统及基于其的数据处理方法,该系统包括:第一类型数据库、第二类型数据库和数据类型转换器。其中,所述第一类型数据库采用第一类型存储模式,所述第二类型数据库采用第二类型存储模式。在所述第一类型数据库缓存的第一类型数据达到设定阈值时,所述数据类型转换器将所述设定阈值的第一类型数据,转换成第二类型数据;其中,所述第一类型数据为采用所述第一类型存储模式生成的数据,所述第二类型数据为采用所述第二类型存储模式生成的数据。缩减数据库准备时长,且第二类型数据库能够对第一类型数据库实时产生的第一类型数据进行分析,满足实时性需求。满足实时性需求。满足实时性需求。
技术研发人员:蔡云龙
受保护的技术使用者:成都海光集成电路设计有限公司
技术研发日:2023.04.27
技术公布日:2023/8/1
									版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家  https://www.aerohome.com.cn/
飞机超市  https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
