CN113326335A - 数据存储系统、方法、装置、电子设备及计算机存储介质 - Google Patents
数据存储系统、方法、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN113326335A CN113326335A CN202010606130.5A CN202010606130A CN113326335A CN 113326335 A CN113326335 A CN 113326335A CN 202010606130 A CN202010606130 A CN 202010606130A CN 113326335 A CN113326335 A CN 113326335A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- storage layer
- node
- operation instruction
- 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.)
- Pending
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据存储系统及方法,其中,所述数据存储系统包括:第一存储层和第二存储层;其中,所述第一存储层为非共享存储层,所述非共享存储层用于根据接收的联机分析处理写操作指令暂存写入的数据,以及,根据联机分析处理读操作指令将热点数据读取入非共享存储层的缓存中;所述第二存储层为共享存储层,用于根据所述第一存储层的写入指令将所述第一存储层中写入的数据进行持久化存储,以及,根据所述第一存储层的读取指令向所述第一存储层发送所述读取指令所指示的数据。通过本发明实施例,实现了低成本且高效的OLAP的数据存储。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据存储系统、方法、装置、电子设备及计算机存储介质。
背景技术
OLAP(OnLine Analytical Processing,联机分析处理)是一种使用户能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的技术。OLAP直接仿照用户的多角度思考模式,预先从用户的分析角度为用户组建多维的数据模型。一旦多维数据模型建立完成,用户可以快速地从各个分析角度获取数据,也能动态的在各个角度之间切换或者进行多角度综合分析,具有极大的分析灵活性。
目前,OLAP依赖的磁盘都是非共享存储层,要么是SSD(Solid State Disk,固态硬盘)磁盘,要么是SATA(Serial Advanced Technology Attachment,串口硬盘)磁盘。但是,SSD磁盘成本过高,当数据量达到PB级,成本的付出会是巨大的;而SATA磁盘成本相对来说虽然较低,但是读、写性能又无法支撑在线高并发查询。
如何克服上述问题,实现低成本且高效的OLAP,成为亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种数据存储方案,以至少部分解决上述问题。
根据本发明实施例的第一方面,提供了一种数据存储系统,包括:第一存储层和第二存储层;其中,所述第一存储层为非共享存储层,所述非共享存储层用于根据接收的联机分析处理写操作指令暂存写入的数据,以及,根据联机分析处理读操作指令将热点数据读取入非共享存储层的缓存中;所述第二存储层为共享存储层,用于根据所述第一存储层的写入指令将所述第一存储层中写入的数据进行持久化存储,以及,根据所述第一存储层的读取指令向所述第一存储层发送所述读取指令所指示的数据。
根据本发明实施例的第二方面,提供了一种数据存储方法,应用于数据存储系统,所述数据存储系统包括第一存储层和第二存储层,所述第一存储层为非共享存储层,所述第二存储层为共享存储层;所述方法包括:通过第一存储层接收联机分析处理请求并进行解析;若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;或者,若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
根据本发明实施例的第三方面,提供了一种数据存储装置,应用于数据存储系统,所述数据存储系统包括第一存储层和第二存储层,所述第一存储层为非共享存储层,所述第二存储层为共享存储层;所述装置包括:解析模块,用于通过第一存储层接收联机分析处理请求并进行解析;第一执行模块,用于若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;或者,第二执行模块,用于若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
根据本发明实施例的第四方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第二方面所述的数据存储方法对应的操作。
根据本发明实施例的第五方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面所述的数据存储方法。
根据本发明实施例提供的数据存储方案,设置分层存储系统,即第一存储层和第二存储层。其中,第一存储层为非共享存储层,可用于暂存根据写操作指令写入的数据以及热点数据,第二存储层为共享存储层,除可实现数据的持久化存储外,还向第一存储层发送所需读取的数据。在第一存储层中存储访问可能性较大或访问相对比较频繁的数据,可以采用高性能存储设备,而对第二存储层中的数据的访问相对来说不频繁或访问可能性较小,则可使用低性能存储设备。由此,一方面,使得针对不同数据使用不同的存储层级和存储设备,既可避免全部使用高性能存储设备成本过高,又可避免全部使用低性能存储设备无法支撑高并发数据处理的问题;另一方面,通过不同存储层级进行访问频度不同或访问可能性不同的数据的分别存储,实现了数据存储的冷热分离,也提高了数据存储和访问效率。从而,实现了低成本且高效的OLAP的数据存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1A为相关技术中的一种OLAP数据存储系统的示意图;
图1B根据本发明实施例一的一种数据存储系统的结构框图;
图2A为根据本发明实施例二的一种数据存储系统的结构示意图;
图2B为图2A所示数据存储系统的详细结构示意图;
图3A为根据本发明实施例三的一种数据存储方法的步骤流程图;
图3B为图3A所示实施例中的一种场景示意图;
图3C为图3A所示实施例中的另一种场景示意图;
图4为根据本发明实施例四的一种数据存储装置的结构框图;
图5为根据本发明实施例五的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
OLAP被广泛使用于各种应用场景中,从多个维度为用户提供数据分析,并为相应场景下的用户决策进行数据支撑和辅助。例如,在电子商务场景中,可以通过对销售数据的不同维度分析,如,从时间周期维度、产品类别维度、分销渠道维度、地理分布维度、客户群类维度等,使用户可以快速地从各个分析维度获取数据,进行相应的处理和决策。
可见,不管是数据支撑还是辅助决策,都依赖于存储的海量数据。传统的OLAP存储架构中,多依赖于联机的本地磁盘如SSD磁盘或SATA磁盘。一种传统OLAP存储架构如图1A所示,该架构中,由客户端接收用户输入的OLAP请求,并向服务端设备发送。以服务端设备挂载有SSD磁盘为例,服务端设备在接收到该OLAP请求后,解析出其为数据读取请求还是数据写入请求。若为数据读取请求将转化为数据库读操作指令,并从挂载的SSD磁盘中读取相应的数据;若为数据写入请求将转化为数据库写操作指令,并向挂载的SSD磁盘写入相应的数据。因SSD磁盘成本较高,在海量数据的情况下,全部使用SSD磁盘的高昂成本对于用户来说将是不可接受的。
而若服务端设备挂载SATA磁盘,当出现大量的高并发OLAP请求时,SATA磁盘的性能又不足以对这些并发OLAP请求进行处理,导致出现请求失败或延时过长,严重影响用户的使用体验。
为此,本发明实施例提供了一种数据存储方案,以解决上述问题。下面结合本发明实施例及附图进一步说明本发明实施例具体实现。
实施例一
参照图1B,示出了根据本发明实施例一的一种数据存储系统的结构框图。
本实施例的数据存储系统包括:第一存储层102和第二存储层104。其中,第一存储层102为非共享存储层,所述非共享存储层用于根据接收的OLAP写操作指令暂存写入的数据,以及,根据OLAP读操作指令将热点数据读取入非共享存储层的缓存中;第二存储层104为共享存储层,用于根据第一存储层102的写入指令将第一存储层102中写入的数据进行持久化存储,以及,根据第一存储层102的读取指令向第一存储层102发送所述读取指令所指示的数据。其中,第一存储层102中可以设置有一个或多个(本发明实施例若无特殊说明,“多个”意指两个及两个以上)本地磁盘,或者,也可以设置一个或多个云盘,或者,也可以部分设置为本地磁盘部分设置为云盘。
因第一存储层102可与客户端的OLAP需求对接,存储写入的数据或热点数据,这部分数据通常为最近使用或被频繁访问的数据,且相对而言数据量较少,因此,第一存储层102可采用高性能的存储设备,如速度快且节省能耗的SSD磁盘作为本地磁盘。由此,可实现数据访问的快速响应,并且,因高性能的存储设备对高并发需求具有较好的处理能力,因此,也能满足高并发场景下的数据处理需求。
本发明实施例中,热点数据用于指示设定时间段内的访问频度大于预设频度的数据,其中,所述设定时间段和所述预设频度均可由本领域技术人员根据实际需求适当设置。如在电子商务的某个时间段的商品推荐场景中,用户标识和商品标识等可能为热点数据。该热点数据可能为OLAP写操作指令指示的、已写入第一存储层但尚未持久化存储入第二存储层的数据,此种情况下,若接收到读取这部分数据中的某些数据的OLAP读操作指令,则可直接进行读取。若该热点数据为已持久化存储入第二存储层的数据,则需要从第二存储层中拉取这部分数据,存储至第一存储层的缓存中如本地磁盘的缓存中,在接收到读取这部分数据中的某些数据的OLAP读操作指令时,从本地磁盘的缓存中进行读取。由此,实现了近期使用数据和/或热点数据的快速处理和响应。
第二存储层104为共享存储层,采用共享存储的方式,既可节省存储设备的硬件资源,也可节省存储的数据资源,从总体上进一步降低了存储系统的实现成本。在一种可行方式中,共享存储层可实现为云共享存储层,以使OLAP终端用户可以较小的代价实现较高的数据存储性能。可选地,该云共享存储层可采用对象存储服务的方式,如OSS(ObjectStorage Service,对象存储服务)方式。OSS是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件,其容量和处理能力可弹性扩展,具有多种存储类型,可全面优化存储成本。但不限于此,其它的具备高性价比、中等随机读写性能、高可靠性的高效云盘也同样可作为共享存储层。
本发明实施例中的数据存储系统采用分层存储架构,第二存储层104可根据第一存储层102的指令进行数据的持久化存储,对其的访问频度远低于第一存储层102。第二存储层104中存储有全量数据,当第一存储层102中写入的数据达到一定数据量或者达到设定的存储时间,其都会被写入第二存储层104,与之前的数据进行合并,形成新的全量数据。而在第一存储层102对第二存储层104中的数据有读取需求时,可向第二存储层104发送读取指令,第二存储层104将向第一存储层102返回其所需的数据,供第一存储层102完成数据读取。基于此,在第二存储层104的大数据量、低访问频度的数据存储需求下,第二存储层104可实现为低成本的存储设备或存储方式,如前所述的对象存储服务,例如OSS的方式等。
由上,使用少量的高性能存储设备实现近期使用数据和热点数据的快速响应,使用低成本的存储设备实现海量数据的存储,既实现了冷热数据的分离,又在可满足访问需求的情况下降低了存储系统的整体成本。
通过本实施例,设置分层存储系统,即第一存储层和第二存储层。其中,第一存储层为非共享存储层,可用于暂存根据写操作指令写入的数据以及热点数据,第二存储层为共享存储层,除可实现数据的持久化存储外,还向第一存储层发送所需读取的数据。在第一存储层中存储访问可能性较大或访问相对比较频繁的数据,可以采用高性能存储设备,而对第二存储层中的数据的访问相对来说不频繁或访问可能性较小,则可使用低性能存储设备。由此,一方面,使得针对不同数据使用不同的存储层级和存储设备,既可避免全部使用高性能存储设备成本过高,又可避免全部使用低性能存储设备无法支撑高并发数据处理的问题;另一方面,通过不同存储层级进行访问频度不同或访问可能性不同的数据的分别存储,实现了数据存储的冷热分离,也提高了数据存储和访问效率。从而,实现了低成本且高效的OLAP的数据存储。
实施例二
参照图2A,示出了根据本发明实施例二的一种数据存储系统的结构示意图。
本实施例的数据存储系统基于前述实施例一中的数据存储系统,并对其进行了改进。改进后的数据存储系统如图2A所示,仍包括实施例一中的第一存储层102和第二存储层104。
其中,第一存储层102中设置有控制节点Controller、计算节点Executor Node、和存储节点Worker Node,每个存储节点Worker Node中挂载有本地磁盘。这些节点均可为一个或多个,其具体数量设置可由本领域技术人员根据实际需求适当设置或组合。图2A所示的存储系统中,示意为包括:4个控制节点Controller、3个计算节点Executor Node、和3个存储节点Worker Node。
上述节点中,控制节点Controller用于接收OLAP请求并进行解析,根据解析结果将用于进行数据写入的写操作指令分发至存储节点Worker Node,将用于进行数据读取的读操作指令分发至计算节点Executor Node。由图2A中可见,控制节点Controller对外提供了统一的接口,以与OLAP任务对接。图2A中仅以第一个控制节点Controller为示例,但本领域技术人员应当明了的是,在实际应用中,每个控制节点Controller均设置有该统一对外接口,作为负责接收用户请求如OLAP请求的整体入口。该接口支持相关的数据库访问协议如MySQL访问协议,在遵循该协议的情况下,诸如通过Java语言、C++语言、PHP语言、Python语言和C#语言的Driver等的请求都可进行直接访问。控制节点Controller会对接收到的OLAP请求进行解析,根据解析结果确定各种具体操作指令,如Insert指令、Delete指令、Update指令、DDL指令、Select指令、ETL指令等,并将这些指令分发给存储节点Worker Node和/或计算节点Executor Node。
其中,存储节点Worker Node用于将所述写操作指令所指示的数据写入本地磁盘并暂存写入的所述数据,其可主要负责处理Insert指令、Delete指令、Update指令、和DDL指令。
计算节点Executor Node用于从存储节点Worker Node读取所述读操作指令所指示的数据,其可主要负责处理Select指令和ETL指令,计算节点Executor Node在对这些指令进行处理时会去存储节点Worker Node拉取数据。需要说明的是,在实际应用中,计算节点Executor Node可以实现为物理节点,也可以实现为逻辑节点。当实现为逻辑节点中时,其可以设置在存储节点Worker Node中,也可以设置在控制节点Controller。当然,若第一存储层102根据需要还设置有其它节点,则计算节点Executor Node也可以设置在该其它节点中。
在一种可行方式中,存储节点Worker Node用于将所述写操作指令所指示的数据按照列式存储写入本地磁盘,并暂存写入的所述数据。具体地,存储节点获取所述写操作指令所指示的数据的字段信息,根据所述字段信息将所述数据按照列式存储写入本地磁盘,暂存写入的所述数据,并对写入的所述数据进行块排序。列式存储是相对于行式存储的一种存储方式,在基于列式存储的数据库中,数据是按照列为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。采用列式存储方式,在大数据查询场景如OLAP查询场景中,可针对多列进行并发查询,提高查询效率和查询响应速度。而采用块排序方式,在需要对暂存的所述数据进行访问时,可以快速确定待访问数据所在的数据块,一方面减少了查询所需处理的数据量;另一方面,提高了查询和访问速度和效率。
在另一种可行方式中,存储节点Worker Node还用于当预设条件满足时,将写入本地磁盘的数据合并保存至第二存储层中。其中,预设条件可以由本领域技术人员根据实际需求适当设置,如设置为当写入本地磁盘的数据的数据量达到预设数据量后保存至第二存储层;或者,当预定时间到达时,将写入本地磁盘的数据保存至第二存储层等。由此,实现了数据的有效、全量、及时存储。此外,本实施例中,当写入本地磁盘的数据的数据量达到预设数据量后,存储节点可以为所述数据构建索引并合并保存至第二存储层中。构建索引后,可与第二存储层中的数据进行数据和索引两部分内容的合并,提高合并效率。
在再一种可行方式中,存储节点Worker Node还用于根据计算节点的读操作指令判断待读取的数据是否存在于本地磁盘中;若是,则从本地磁盘中获取所述读操作指令所指示的数据并发送给所述计算节点;若否,则从第二存储层中获取所述读操作指令所指示的数据,将获取的所述数据发送给所述计算节点并存储至存储节点的缓存中。若待读取的数据存在于本地磁盘中,则可直接向计算节点发送,提高计算节点的数据读取效率;而若待读取的数据在第二存储层中,则可从第二存储层中获取并在发送给计算节点的同时缓存至存储节点的缓存中,可提高查询效率。
在实际应用中,每个存储节点Worker Node会挂载一块本地SSD磁盘,通过本地SSD磁盘,一方面可以作为实时写入数据的缓冲,即实时写入的增量数据会写在本地SSD磁盘,同时这部分数据会构建一个轻量级的列式存储,没有全索引,但是是block级排序(块排序),在增量数据不大的情况仍能保证很高的查询性能。当增量数据达到一定数据量后会触发存储指令,为本地SSD磁盘上的增量数据构建索引并且与第二存储层中的全量数据和索引做合并,然后保存在第二存储层中。当第二存储层采用前述OSS方式时,所述存储指令可以实现为Build指令,通过该Build指令对本地SSD磁盘上的增量数据构建索引并且与OSS上的全量数据和索引做合后并保存在OSS上。另一方面,本地SSD磁盘可以作为读取数据的缓存,如果计算节点Executor Node读取的是实时增量数据,那就直接从本地SSD磁盘返回数据,如果计算节点Executor Node读取的是OSS上的全量数据,那么会将OSS上经常访问的数据缓存在本地SSD磁盘的SSD Cache中,从而提供很高的查询性能。
如前所述,对于控制节点、存储节点和计算节点中的每类节点,其数量都可以设置为一个或多个。
当存储节点Worker Node包括多个时,控制节点Controller可按照预设的分片策略,将用于进行数据写入的写操作指令分发至不同的存储节点Worker Node中。分片策略也称Sharding策略,在一种可行方式中,可以采用哈希HASH算法实现该分片策略。例如,在指定了数据表的分区策略的情况下,可以根据写操作指令所要写入数据的字段值计算对应的HASH值,根据该HASH值确定待写入的存储节点Worker Node,将该写操作指令分发至该存储节点Worker Node。通过分片策略,可使得存储节点Worker Node的可扩展性更好。
对于第二存储层104,需实现为高可靠、低成本的共享存储,例如,前述OSS存储。
由上可见,与传统的OLAP的数据存储系统相比,本实施例的数据存储系统中,存储节点Worker Node和计算节点Executor Node是分离的,不再耦合在一起,可以在后续进行各自的单独扩展,无需将数据存储系统的存储资源和计算资源捆绑扩展,在提升数据存储系统的可扩展性的同时,还降低了扩展成本。
此外,通过非共享存储和云共享存储融合的方案,云共享存储可采用成本较低的对象存储的方式实现,兼顾了性能和成本,同时又能够满足高吞吐写入和热点数据的高性能查询。
进一步可选地,当存储节点Worker Node包括多个时,多个存储节点Worker Node间通过Raft共识算法进行数据一致性操作。如图2B所示,每一个存储节点Worker Node会挂载一块本地SSD磁盘(Local SSD),为了保证数据可靠性,可以以至少三个存储节点为一组,针对每组存储节点,通过Raft共识算法选举确定领导者节点和跟随者节点;领导者节点将本节点存储的数据自动同步至跟随者节点。例如,可以多个存储节点例如每三个存储节点Worker Node会通过Raft协议组成一个Worker Group,包括一个Leader Worker和两个Follower Worker,其中的Leader Worker上的增量数据(Inc Data)会自动同步给其他两个Follower Worker,并且保证同一个Worker Group下的三个Worker Node上的数据是一致的。当用户写入增量数据时,数据会先写入到本地SSD磁盘,当控制节点Controller监测到增量数据积攒到一定数据量时,会给每个Worker Node下发一个Build任务,将增量数据与OSS上已有的全量数据做合并。
当用户读取数据时,计算节点Executor Node会向存储节点Worker Node拉取数据做计算,如果拉取的数据是增量数据(Inc Data),那么存储节点Worker Node直接从本地SSD磁盘拉取数据;如果读取的数据是全量数据,那么此时会先去SSD磁盘的缓存(FullData Cache)里面读取,如果缓存里面有则直接返回,如果没有那么会去OSS拉取全量数据,同时将新拉取的数据缓存在SSD磁盘的缓存Full Data Cache里。
另外,为了保证存储节点Worker Node读写性能的扩展性,Worker Group可以横向扩展,从而保证读、写数据的性能。同时为了保证计算的性能,计算节点Executor Node也可单独横向扩展。而第二存储层则可以纵向扩展。相应地,对于控制节点Controller,还可以用于进行以下更新操作至少之一,所述更新操作包括:根据对存储节点Worker Node的横向扩展操作,更新存储的存储节点Worker Node的信息;根据对计算节点Executor Node的横向扩展操作,更新存储的计算节点Executor Node的信息;根据对第二存储层的纵向扩展操作,更新存储的第二存储层的信息。通过存储节点的横向扩展,可以保证实时写入的高吞吐;通过计算节点的横向扩展,可以保证计算能力的扩展;通过第二存储层的纵向扩展,可以保证存储空间可根据需求扩大。
通过本实施例,设置分层存储系统,即第一存储层和第二存储层。其中,第一存储层为非共享存储层,可用于暂存根据写操作指令写入的数据以及热点数据,第二存储层为共享存储层,除可实现数据的持久化存储外,还向第一存储层发送所需读取的数据。在第一存储层中存储访问可能性较大或访问相对比较频繁的数据,可以采用高性能存储设备,而对第二存储层中的数据的访问相对来说不频繁或访问可能性较小,则可使用低性能存储设备。由此,一方面,使得针对不同数据使用不同的存储层级和存储设备,既可避免全部使用高性能存储设备成本过高,又可避免全部使用低性能存储设备无法支撑高并发数据处理的问题;另一方面,通过不同存储层级进行访问频度不同或访问可能性不同的数据的分别存储,实现了数据存储的冷热分离,也提高了数据存储和访问效率。从而,实现了低成本且高效的OLAP的数据存储。
实施例三
参照图3A,示出了根据本发明实施例三的一种数据存储方法的步骤流程图。
本实施例的数据存储方法基于前述实施例一或二中的数据存储系统,该数据存储方法包括以下步骤:
步骤S302:通过第一存储层接收OLAP请求并进行解析。
如前所述,本实施例的数据存储系统被设置为具有第一存储层和第二存储层,通过第一存储层接收OLAP请求,如,通过第一存储层中的控制节点接收OLAP请求。其中,所述OLAP请求可以为任意适当的请求,通过对该OLAP请求的解析可确定相应的数据库操作指令。
在数据存储系统设置为如图2B所示的结构时,即,第一存储层中设置有:控制节点、计算节点和存储节点时,本步骤可以实现为:通过第一存储层中的控制节点接收OLAP请求并进行解析。
步骤S304:若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;或者,若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据。
其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
如前所述,第一存储层为非共享存储层,第二存储层为共享存储层。一方面,在预设条件满足后,可以通过第二存储层根据第一存储层的写入指令将将暂存的所述数据进行持久化存储;另一方面,第二存储层还可以根据第一存储层的读取指令向第一存储层发送所述读取指令所指示的数据。例如,当暂存的所述数据的数据量达到预设数据量后,为所述数据构建索引,并通过第二存储层根据第一存储层的写入指令将将暂存的所述数据进行持久化存储。
如前所述,当数据存储系统采用如图2B所示的结构时,若根据解析结果确定为写操作指令,则通过第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入第一存储层的本地磁盘;并且,在预设条件满足后,将暂存入本地磁盘的数据写入第二存储层可以包括:若根据解析结果确定为写操作指令,则通过控制节点将所述写操作指令分发至存储节点,通过存储节点执行所述写操作指令,并将所述写操作指令指示的数据暂存入存储节点的本地磁盘;并且,在预设条件满足后,通过存储节点向第二存储层发送写入指令,以将暂存入本地磁盘的数据写入第二存储层。
基于图2B所示的数据存储系统,所述若根据解析结果确定为读操作指令,则通过第一存储层读取所述读操作指令所指示的数据可以包括:若根据解析结果确定为读操作指令,则通过控制节点将所述读操作指令分发至计算节点,通过计算节点读取所述读操作指令所指示的数据。
其中,对写操作指令的分发和对读操作指令的分发,可以由控制节点根据预设的分发策略进行分发。所述分发策略可以由本领域技术人员根据实际需求适当设置,如根据各个节点的负载情况进行分发或者随机分发等。其中,针对写操作指令,在一种可行方式中,可以由控制节点按照预设的分片Sharding策略进行分发。
此外,若所述读操作指令所指示的数据包括从第二存储层中读取并存储于本地磁盘的缓存中的数据时,则在通过第一存储层读取读操作指令所指示的数据之前,可以通过第一存储层中的存储节点向第二存储层发送读取指令,以读取第二存储层中的所述读操作指令所指示的数据,并将读取的数据存储至本地磁盘的缓存中。
又,因本发明实施例中的数据存储系统中,第一存储层中的存储节点和计算节点各自可进行横向扩展,而第二存储层则可以进行纵向扩展,基于此,可选地,控制节点还可以根据上述扩展操作更新其存储的相应信息,例如,在一种方式中,控制节点可以根据对存储节点的横向扩展操作,更新存储的存储节点的信息;在另一种方式中,控制节点可以根据对计算节点的横向扩展操作,更新存储的计算节点的信息;在再一种方式中,控制节点可以根据对第二存储层的纵向扩展操作,更新存储的第二存储层的信息。基于此,后续对OLAP请求的处理即可根据更新后的相应节点或存储层的信息进行分配和处理,大大提升了数据存储系统的可扩展性。
以下,基于图2B所示的数据存储系统架构,通过一个场景示例对一个OLAP请求的处理过程进行示例性说明,如图3B所示。
假设,在某个电子商务场景中,第一存储层中的控制节点接收到一个用于指示查询自当天0点开始至当前时间如11:00AM为止,进行过购买操作的用户数量的查询请求。又假设,存储节点以自然日为单位将其当日存储的增量数据写入第二存储层,如,自当日0点0分始至当日11点59分止的数据(增量数据)会先写入存储节点,在第二日的0点0分到达时,将这些数据写入第二存储层。则,控制节点在接收到该查询请求后,通过解析确定其为读操作指令,则会按照一定的分发规则将该读操作指令分发到计算节点Executor Node中去,本示例中,假设该读操作指令被分发至Executor Node#1,Executor Node#1在接收到该读操作指令后,确定待读取数据所在的存储节点Worker Node,本示例中,假设待读取数据位于Worker Node#3,Worker Node#3确定待读取数据为增量数量,无需向第二存储层请求,则会直接向Executor Node#1返回该读操作指令所指示的数据。Executor Node#1根据WorkerNode#3返回的数据,向发送OLAP请求的设备返回相应的结果。
在另一个基于图2B所示的数据存储系统架构的场景示例中,一个OLAP请求的处理过程如下:
假设,在某个电子商务场景中,第一存储层中的控制节点接收到一个用于指示查询某应用的所有用户的用户数量的查询请求。又假设,存储节点以自然日为单位将其当日存储的增量数据写入第二存储层,如,自当日0点0分始至当日11点59分止的数据会先写入存储节点,在第二日的0点0分到达时,将这些增量数据写入第二存储层。
在一种情况下,存储节点Worker Node会基于历史查询请求,预先将用户标识字段的数据从第二存储层中加载至存储节点Worker Node的缓存中。此种情况下的处理过程与图3B所示过程类似,控制节点Controller在接收到查询请求后,通过解析确定其为读操作指令,按照一定的分发规则将该读操作指令分发到计算节点Executor Node中去,本示例中,仍假设该读操作指令被分发至Executor Node#1,Executor Node#1在接收到该读操作指令后,确定待读取数据所在的存储节点Worker Node,本示例中,假设待读取数据位于Worker Node#3,Worker Node#3确定其缓存中存储有待读取数据,无需向第二存储层请求,则会直接向Executor Node#1返回该读操作指令所指示的数据。Executor Node#1根据Worker Node#3返回的数据,向发送OLAP请求的设备返回相应的结果。
在另一种情况下,假设存储节点Worker Node未预先存储有所述应用的相关数据,则控制节点Controller在接收到查询请求后,通过解析确定其为读操作指令,按照一定的分发规则将该读操作指令分发到计算节点Executor Node中去,本示例中,仍假设该读操作指令被分发至Executor Node#1,Executor Node#1在接收到该读操作指令后,确定一个存储节点Worker Node,本示例中,假设为Worker Node#3,Worker Node#3确定其未存储读操作指令所指示的数据,则向第二存储层请求所述数据,在第二存储层向Worker Node#3返回数据后,Worker Node#3将该数据存入自身的缓存,并向Executor Node#1返回该读操作指令所指示的数据。Executor Node#1根据Worker Node#3返回的数据,向发送OLAP请求的设备返回相应的结果。上述过程如图3C所示。
由上可见,通过本实施例,采用冷热数据分离的分层存储架构,既使得所有数据均可得到有效存储,又保证的数据查询的效率,实现了低成本且高效的OLAP的数据存储。
实施例四
参照图4,示出了根据本发明实施例四的一种数据存储装置的结构框图。
本实施例的数据存储装置应用于数据存储系统,所述数据存储系统包括第一存储层和第二存储层,所述第一存储层为非共享存储层,所述第二存储层为共享存储层。本实施例的数据存储装置包括:解析模块402,用于通过第一存储层接收联机分析处理请求并进行解析;第一执行模块404,用于若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;或者,第二执行模块406,用于若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
可选地,第一执行模块404,用于若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,当暂存的所述数据的数据量达到预设数据量后,为所述数据构建索引,并通过所述第二存储层根据所述第一存储层的写入指令将将暂存的所述数据进行持久化存储。
可选地,所述第一存储层中设置有:控制节点、计算节点和存储节点;解析模块402,用于通过第一存储层中的控制节点接收联机分析处理请求并进行解析;第一执行模块404,用于若根据解析结果确定为写操作指令,则通过所述控制节点将所述写操作指令分发至所述存储节点,通过所述存储节点执行所述写操作指令,并将所述写操作指令指示的数据暂存入所述存储节点的本地磁盘;并且,在预设条件满足后,通过所述存储节点向所述第二存储层发送写入指令,以将暂存入本地磁盘的数据写入第二存储层;第二执行模块406,用于若根据解析结果确定为读操作指令,则通过所述控制节点将所述读操作指令分发至所述计算节点,通过所述计算节点读取所述读操作指令所指示的数据。
可选地,本实施例的数据存储装置还包括:读取模块408,用于在所述解析模块402通过所述第一存储层读取所述读操作指令所指示的数据之前,通过所述存储节点向所述第二存储层发送读取指令,以读取所述第二存储层中的所述读操作指令所指示的数据,并将读取的所述数据存储至本地磁盘的缓存中。
可选地,本实施例的数据存储装置还包括:更新模块410,用于使所述控制节点根据对所述存储节点的横向扩展操作,更新存储的存储节点的信息;和/或,使所述控制节点根据对所述计算节点的横向扩展操作,更新存储的计算节点的信息;和/或,使所述控制节点根据对所述第二存储层的纵向扩展操作,更新存储的第二存储层的信息。
本实施例的数据存储装置用于实现前述多个方法实施例中相应的数据存储方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据存储装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例五
参照图5,示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它电子设备或服务器进行通信。
处理器502,用于执行程序510,具体可以执行上述数据存储方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
本实施例中的电子设备应用于数据存储系统,所述数据存储系统包括第一存储层和第二存储层,所述第一存储层为非共享存储层,所述第二存储层为共享存储层。
基于此,程序510具体可以用于使得处理器502执行以下操作:通过第一存储层接收联机分析处理请求并进行解析;若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;或者,若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
在一种可选的实施方式中,程序510还用于使得处理器502在预设条件满足后,将暂存的所述数据写入第二存储层时:当暂存的所述数据的数据量达到预设数据量后,为所述数据构建索引,并通过所述第二存储层根据所述第一存储层的写入指令将将暂存的所述数据进行持久化存储。
在一种可选的实施方式中,所述第一存储层中设置有:控制节点、计算节点和存储节点;程序510还用于使得处理器502在通过第一存储层接收联机分析处理请求并进行解析,包括:通过第一存储层中的控制节点接收联机分析处理请求并进行解析;程序510还用于使得处理器502在若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层的本地磁盘;并且,在预设条件满足后,将暂存入本地磁盘的数据写入第二存储层时:若根据解析结果确定为写操作指令,则通过所述控制节点将所述写操作指令分发至所述存储节点,通过所述存储节点执行所述写操作指令,并将所述写操作指令指示的数据暂存入所述存储节点的本地磁盘;并且,在预设条件满足后,通过所述存储节点向所述第二存储层发送写入指令,以将暂存入本地磁盘的数据写入第二存储层;程序510还用于使得处理器502在若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据时:若根据解析结果确定为读操作指令,则通过所述控制节点将所述读操作指令分发至所述计算节点,通过所述计算节点读取所述读操作指令所指示的数据。
在一种可选的实施方式中,程序510还用于使得处理器502在所述通过所述第一存储层读取所述读操作指令所指示的数据之前,通过所述存储节点向所述第二存储层发送读取指令,以读取所述第二存储层中的所述读操作指令所指示的数据,并将读取的所述数据存储至本地磁盘的缓存中。
在一种可选的实施方式中,程序510还用于使得处理器502控制所述控制节点根据对所述存储节点的横向扩展操作,更新存储的存储节点的信息;和/或,控制所述控制节点根据对所述计算节点的横向扩展操作,更新存储的计算节点的信息;和/或,控制所述控制节点根据对所述第二存储层的纵向扩展操作,更新存储的第二存储层的信息。
程序510中各步骤的具体实现可以参见上述数据存储方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,应用于设置有分层存储的数据存储系统中,即第一存储层和第二存储层。其中,第一存储层为非共享存储层,可用于暂存根据写操作指令写入的数据以及热点数据,第二存储层为共享存储层,除可实现数据的持久化存储外,还向第一存储层发送所需读取的数据。在第一存储层中存储访问可能性较大或访问相对比较频繁的数据,可以采用高性能存储设备,而对第二存储层中的数据的访问相对来说不频繁或访问可能性较小,则可使用低性能存储设备。由此,一方面,使得针对不同数据使用不同的存储层级和存储设备,既可避免全部使用高性能存储设备成本过高,又可避免全部使用低性能存储设备无法支撑高并发数据处理的问题;另一方面,通过不同存储层级进行访问频度不同或访问可能性不同的数据的分别存储,实现了数据存储的冷热分离,也提高了数据存储和访问效率。从而,实现了低成本且高效的OLAP的数据存储。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据存储方法。此外,当通用计算机访问用于实现在此示出的数据存储方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据存储方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (18)
1.一种数据存储系统,包括:第一存储层和第二存储层;
所述第一存储层为非共享存储层非共享存储层,所述非共享存储层用于根据接收的联机分析处理写操作指令暂存写入的数据,以及,根据联机分析处理读操作指令将热点数据读取入非共享存储层的缓存中;
所述第二存储层为共享存储层,用于根据所述第一存储层的写入指令将所述第一存储层中写入的数据进行持久化存储,以及,根据所述第一存储层的读取指令向所述第一存储层发送所述读取指令所指示的数据。
2.根据权利要求1所述的系统,所述第一存储层中设置有:控制节点、计算节点、存储节点和本地磁盘;
所述控制节点,用于接收联机分析处理请求并进行解析,根据解析结果将用于进行数据写入的写操作指令分发至所述存储节点,将用于进行数据读取的读操作指令分发至所述计算节点;
所述存储节点,用于将所述写操作指令所指示的数据写入本地磁盘并暂存写入的所述数据;
所述计算节点,用于从所述存储节点读取所述读操作指令所指示的数据。
3.根据权利要求2所述的系统,其中,所述存储节点,用于获取所述写操作指令所指示的数据的字段信息,根据所述字段信息将所述数据按照列式存储写入本地磁盘,暂存写入的所述数据,并对写入的所述数据进行块排序。
4.根据权利要求2所述的系统,其中,所述存储节点,还用于当预设条件满足时,将写入本地磁盘的数据合并保存至所述第二存储层中。
5.根据权利要求4所述的系统,其中,所述存储节点,用于当写入本地磁盘的数据的数据量达到预设数据量后,为所述数据构建索引并合并保存至所述第二存储层中。
6.根据权利要求2所述的系统,其中,所述存储节点,还用于根据所述计算节点的读操作指令判断待读取的数据是否存在于本地磁盘中;若是,则从本地磁盘中获取所述读操作指令所指示的数据并发送给所述计算节点;若否,则从所述第二存储层中获取所述读操作指令所指示的数据,将获取的所述数据发送给所述计算节点并存储至所述存储节点的缓存中。
7.根据权利要求2所述的系统,其中,当所述存储节点包括多个时,所述控制节点按照预设的分片策略,将所述写操作指令分发至不同的存储节点中。
8.根据权利要求2所述的系统,其中,所述存储节点包括多个,多个所述存储节点间通过Raft共识算法进行数据一致性操作。
9.根据权利要求2所述的系统,其中,以至少三个所述存储节点为一组,针对每组所述存储节点,通过Raft共识算法选举确定领导者节点和跟随者节点;所述领导者节点将本节点存储的数据自动同步至所述跟随者节点。
10.根据权利要求2所述的系统,其中,
所述控制节点,还用于:
根据对所述存储节点的横向扩展操作,更新存储的存储节点的信息;
和/或,
根据对所述计算节点的横向扩展操作,更新存储的计算节点的信息;
和/或,
根据对所述第二存储层的纵向扩展操作,更新存储的第二存储层的信息。
11.一种数据存储方法,应用于数据存储系统,所述数据存储系统包括第一存储层和第二存储层,所述第一存储层为非共享存储层,所述第二存储层为共享存储层;
所述方法包括:
通过第一存储层接收联机分析处理请求并进行解析;
若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;
或者,
若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
12.根据权利要求11所述的方法,其中,所述在预设条件满足后,将暂存的所述数据写入第二存储层,包括:
当暂存的所述数据的数据量达到预设数据量后,为所述数据构建索引,并通过所述第二存储层根据所述第一存储层的写入指令将将暂存的所述数据进行持久化存储。
13.根据权利要求11或12所述的方法,其中,所述第一存储层中设置有:控制节点、计算节点和存储节点;
所述通过第一存储层接收联机分析处理请求并进行解析,包括:通过第一存储层中的控制节点接收联机分析处理请求并进行解析;
所述若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层的本地磁盘;并且,在预设条件满足后,将暂存入本地磁盘的数据写入第二存储层,包括:若根据解析结果确定为写操作指令,则通过所述控制节点将所述写操作指令分发至所述存储节点,通过所述存储节点执行所述写操作指令,并将所述写操作指令指示的数据暂存入所述存储节点的本地磁盘;并且,在预设条件满足后,通过所述存储节点向所述第二存储层发送写入指令,以将暂存入本地磁盘的数据写入第二存储层;
所述若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,包括:若根据解析结果确定为读操作指令,则通过所述控制节点将所述读操作指令分发至所述计算节点,通过所述计算节点读取所述读操作指令所指示的数据。
14.根据权利要求13所述的方法,其中,在所述通过所述第一存储层读取所述读操作指令所指示的数据之前,所述方法还包括:
通过所述存储节点向所述第二存储层发送读取指令,以读取所述第二存储层中的所述读操作指令所指示的数据,并将读取的所述数据存储至本地磁盘的缓存中。
15.根据权利要求11或12所述的方法,其中,所述方法还包括:
所述控制节点根据对所述存储节点的横向扩展操作,更新存储的存储节点的信息;
和/或,
所述控制节点根据对所述计算节点的横向扩展操作,更新存储的计算节点的信息;
和/或,
所述控制节点根据对所述第二存储层的纵向扩展操作,更新存储的第二存储层的信息。
16.一种数据存储装置,应用于数据存储系统,所述数据存储系统包括第一存储层和第二存储层,所述第一存储层为非共享存储层,所述第二存储层为共享存储层;
所述装置包括:
解析模块,用于通过第一存储层接收联机分析处理请求并进行解析;
第一执行模块,用于若根据解析结果确定为写操作指令,则通过所述第一存储层执行所述写操作指令,将所述写操作指令指示的数据暂存入所述第一存储层;并且,在预设条件满足后,将暂存的所述数据写入第二存储层;
或者,
第二执行模块,用于若根据解析结果确定为读操作指令,则通过所述第一存储层读取所述读操作指令所指示的数据,其中,读取的所述数据包括:暂存于非共享存储层中的数据,和/或,从第二存储层中读取并存储于非共享存储层的缓存中的数据。
17.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求11-15中任一项所述的数据存储方法对应的操作。
18.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求11-15中任一所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010606130.5A CN113326335A (zh) | 2020-06-29 | 2020-06-29 | 数据存储系统、方法、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010606130.5A CN113326335A (zh) | 2020-06-29 | 2020-06-29 | 数据存储系统、方法、装置、电子设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326335A true CN113326335A (zh) | 2021-08-31 |
Family
ID=77413391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010606130.5A Pending CN113326335A (zh) | 2020-06-29 | 2020-06-29 | 数据存储系统、方法、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326335A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676117A (zh) * | 2022-05-27 | 2022-06-28 | 成都明途科技有限公司 | 一种岗位数据存储方法、装置及岗位机器人 |
-
2020
- 2020-06-29 CN CN202010606130.5A patent/CN113326335A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676117A (zh) * | 2022-05-27 | 2022-06-28 | 成都明途科技有限公司 | 一种岗位数据存储方法、装置及岗位机器人 |
CN114676117B (zh) * | 2022-05-27 | 2022-08-16 | 成都明途科技有限公司 | 一种岗位数据存储方法、装置及岗位机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101019105B (zh) | 使用条带化来存储数据的方法及装置 | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
US20170177646A1 (en) | Processing time series data from multiple sensors | |
US20140379722A1 (en) | System and method to maximize server resource utilization and performance of metadata operations | |
CN104580437A (zh) | 一种云存储客户端及其高效数据访问方法 | |
CN109240946A (zh) | 数据的多级缓存方法及终端设备 | |
CN111782134B (zh) | 数据处理方法、装置、系统和计算机可读存储介质 | |
CN111046034A (zh) | 管理内存数据及在内存中维护数据的方法和系统 | |
CN107832423B (zh) | 一种用于分布式文件系统的文件读写方法 | |
Im et al. | Pinot: Realtime olap for 530 million users | |
US8938599B2 (en) | Distributed graph storage system | |
CN109918450B (zh) | 基于分析类场景下的分布式并行数据库及存储方法 | |
US20170031959A1 (en) | Scheduling database compaction in ip drives | |
CN110245129B (zh) | 一种分布式全局数据去重方法和装置 | |
CN116108057B (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
CN104572505A (zh) | 一种保证海量数据缓存最终一致性的系统及方法 | |
US11226986B2 (en) | Data table partitioning management method and apparatus | |
CN115221186A (zh) | 一种数据查询方法、系统、装置及电子设备 | |
US20170270147A1 (en) | Method and apparatus for storing data | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
US9275091B2 (en) | Database management device and database management method | |
CN113326335A (zh) | 数据存储系统、方法、装置、电子设备及计算机存储介质 | |
CN108153759A (zh) | 一种分布式数据库的数据传输方法、中间层服务器及系统 | |
CN109726219A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059815 Country of ref document: HK |