一种数据管理方法、数据分析系统、电子设备及存储介质与流程

文档序号:32404189发布日期:2022-12-02 20:02阅读:72来源:国知局
一种数据管理方法、数据分析系统、电子设备及存储介质与流程

1.本技术涉及数据存储技术领域,特别涉及一种数据管理方法、数据分析系统、电子设备及存储介质。


背景技术:

2.在数据分析系统中,用于数据存储的模块和用于数据检索的模块都运行在单一节点上面,两者通过共享内存或者管道等方式进行交互。但是在上述方案中,一旦出现单点故障,那么整个系统将处于不可用的状态,
3.因此,如何提高数据分析系统的稳定性,实现可靠的数据写入是本领域技术人员目前需要解决的技术问题。


技术实现要素:

4.本技术的目的是提供一种数据管理方法、一种数据管理系统、一种数据分析系统、一种电子设备及一种存储介质,能够提高数据分析系统的稳定性,实现可靠的数据写入。
5.为解决上述技术问题,本技术提供一种数据管理方法,应用于数据分析系统的计算节点,所述数据分析系统还包括多个存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据管理方法包括:
6.接收数据操作请求,并为所述数据操作请求添加id标识;
7.生成所述数据操作请求对应的执行计划;
8.若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
9.可选的,还包括:
10.通过noise协议建立所述计算节点与所述存储节点的安全通道,以便利用所述安全通道传输交互数据。
11.可选的,在生成所述数据操作请求对应的执行计划之后,还包括:
12.若所述数据操作请求为数据查询请求,则将所述执行计划发送至所有所述存储节点,以便所有所述存储节点按照所述执行计划执行对应的数据查询操作得到查询结果;
13.接收所述存储节点返回的查询结果,根据所有所述查询结果向客户端返回所述数据操作请求的执行结果。
14.可选的,根据所有所述查询结果向客户端返回所述数据操作请求的执行结果,包括:
15.对具有相同主键的执行结果进行合并,得到合并结果;
16.将写入时间最晚的合并结果设置为所述数据操作请求的执行结果,并向所述客户端返回所述执行结果。
17.可选的,在为所述数据操作请求添加id标识之前,还包括:
18.向发号器发送分配请求,以便所述发号器根据所述数据操作请求的接收时间生成所述id标识;
19.相应的,在将写入时间最晚的合并结果设置为所述数据操作请求的执行结果之前,还包括:
20.根据所有所述合并结果对应的id标识对所有所述合并结果的写入时间进行排序。
21.可选的,在将写入时间最晚的合并结果设置为所述数据操作请求的执行结果之后,还包括:
22.将所有所述合并结果中除了所述执行结果之外的合并结果设置为待删除数据,根据所述待删除数据的id标识创建删除计划,并将所述删除计划发送至对应的存储节点中,以便删除所述待删除数据。
23.本技术还提供一种数据管理方法,应用于数据分析系统的存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据分析系统还包括计算节点,所述数据管理方法包括:
24.接收所述计算节点发送的执行计划;其中,所述计算节点发送所述执行计划的过程包括:接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的存储节点;
25.按照所述执行计划在所述目标分片位置执行追加写操作。
26.本技术还提供了一种数据管理系统,应用于数据分析系统的计算节点,所述数据分析系统还包括多个存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据管理系统包括:
27.标识添加单元,用于接收数据操作请求,并为所述数据操作请求添加id标识;
28.计划生成单元,用于生成所述数据操作请求对应的执行计划;
29.计划发送单元,用于若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
30.本技术还提供了一种数据管理系统,应用于数据分析系统的存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据分析系统还包括计算节点,所述数据管理系统包括:
31.计划接收单元,用于接收所述计算节点发送的执行计划;其中,所述计算节点发送所述执行计划的过程包括:接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的存储节点;
32.计划执行单元,用于按照所述执行计划在所述目标分片位置执行追加写操作。
33.本技术还提供了一种数据分析系统,所述数据分析系统包括运行于计算节点的计算模块和运行于存储节点的存储模块;
34.其中,所述存储模块,用于按照数据分片的形式组织管理数据;
35.所述计算模块,用于接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id
标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
36.本技术还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据管理方法的步骤。
37.本技术还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述数据管理方法的步骤。
38.本技术提供了一种数据管理方法,应用于数据分析系统的计算节点,所述数据分析系统还包括多个存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据管理方法包括:接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
39.本技术提供的数据分析系统中的计算节点和存储节点相互分离,计算节点在接收到数据操作请求后,为数据操作请求添加id标识,并生成数据操作请求对应的执行计划。若数据操作请求为数据插入请求,本技术利用添加的id标识计算目标分片位置,上述目标分片位置为需要插入数据的位置。由于存储节点按照数据分片的形式组织管理数据,各个数据分片有其对应的存储节点,本技术将执行计划发送至目标分片位置所在的目标存储节点,以使目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。上述方案将数据分析系统的存储与计算相互分离,以追加的方式将数据写入至存储节点,因此本技术能够提高数据分析系统的稳定性,实现可靠的数据写入。本技术同时还提供了一种数据管理系统、一种数据分析系统、一种电子设备及一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
40.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例所提供的一种数据管理方法的流程图;
42.图2为本技术实施例所提供的一种数据分析系统的架构示意图;
43.图3为本技术实施例还提供的一种数据管理系统的结构示意图。
具体实施方式
44.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.下面请参见图1,图1为本技术实施例所提供的一种数据管理方法的流程图。
46.具体步骤可以包括:
47.s101:接收数据操作请求,并为所述数据操作请求添加id标识;
48.其中,本实施例可以应用于数据分析系统的计算节点,所述数据分析系统还包括多个存储节点,所述存储节点用于按照数据分片的形式组织管理数据。上述组织管理数据指:向数据分片中存储数据、以及在数据分片中查询数据等操作。
49.在得到数据操作请求之后,还可以为数据操作请求添加id标识。计算节点可以接收多个数据操作请求,因此可以按照数据操作请求的接收顺序添加唯一的id标识。
50.s102:生成所述数据操作请求对应的执行计划;
51.其中,上述执行计划为用于描述存储节点执行数据操作请求对应操作的过程。具体的,本步骤可以使用计算节点的sql解析器将所述数据操作请求中的sql文本转换为sql执行计划,即本实施例中的执行计划可以为sql中执行计划。
52.s103:若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
53.其中,在本步骤之前还可以通过解析数据操作请求得到操作类型,若数据操作请求为数据插入请求,则可以根据所述id标识计算目标分片位置,目标分片位置用于描述数据插入的位置。本实施例将所述执行计划发送至所述目标分片位置所在的目标存储节点,以使目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。具体的,上述目标存储节点可以包括执行器和数据分片,目标存储节点的执行器可以按照执行计划在目标分片位置对应的数据分片执行追加写操作。
54.本实施例提供的数据分析系统中的计算节点和存储节点相互分离,计算节点在接收到数据操作请求后,为数据操作请求添加id标识,并生成数据操作请求对应的执行计划。若数据操作请求为数据插入请求,本实施例利用添加的id标识计算目标分片位置,上述目标分片位置为需要插入数据的位置。由于存储节点按照数据分片的形式组织管理数据,各个数据分片有其对应的存储节点,本实施例将执行计划发送至目标分片位置所在的目标存储节点,以使目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。上述方案将数据分析系统的存储与计算相互分离,以追加的方式将数据写入至存储节点,因此本实施例能够提高数据分析系统的稳定性,实现可靠的数据写入。
55.作为一种可行的实施方式,在向存储节点发送执行计划之前,还可以通过noise协议建立所述计算节点与所述存储节点的安全通道,以便利用所述安全通道传输交互数据。上述交互数据包括执行计划以及存储节点执行上述执行计划得到的结果。noise协议是一种基于diffie-hellman密钥交换算法的用于构建加密协议的框架。
56.作为一种可行的实施方式,在生成所述数据操作请求对应的执行计划之后,还可以通过解析数据操作请求得到操作类型,若所述数据操作请求为数据查询请求,则将所述执行计划发送至所有所述存储节点,以便所有所述存储节点按照所述执行计划执行对应的数据查询操作得到查询结果。在上述过程中,每一存储节点对自身对应的数据分片进行数据查询。计算节点接收到存储节点返回的查询结果后,可以根据所有所述查询结果向客户端返回所述数据操作请求的执行结果。
57.作为一种可行的实施方式,可以通过以下方式向客户端返回执行结果包括:对具有相同主键的执行结果进行合并,得到合并结果;将写入时间最晚的合并结果设置为所述数据操作请求的执行结果,并向所述客户端返回所述执行结果。进一步的,在为所述数据操
作请求添加id标识之前,还可以向发号器发送分配请求,以便所述发号器根据所述数据操作请求的接收时间生成所述id标识;相应的,可以根据所有所述合并结果对应的id标识对所有所述合并结果的写入时间进行排序。具体的,在向存储节点写入数据时可以将计算节点设置的id标识共同写入数据分片中。对于同一数据查询请求,可以存在多个写入时间不同的执行结果,本实施例根据id标识将写入时间最晚的合并结果设置为所述数据操作请求的执行结果。
58.作为一种可行的实施方式,在将写入时间最晚的合并结果设置为所述数据操作请求的执行结果之后,还可以将所有所述合并结果中除了所述执行结果之外的合并结果设置为待删除数据,根据所述待删除数据的id标识创建删除计划,并将所述删除计划发送至对应的存储节点中,以便删除所述待删除数据。通过上述方式可以删除较早且重复的历史数据,提高存储节点的存储性能。
59.本技术实施例还提供一种数据管理方法,该方法可以应用于数据分析系统的存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据分析系统还包括计算节点,所述数据管理方法包括:接收所述计算节点发送的执行计划;按照所述执行计划在所述目标分片位置执行追加写操作。其中,所述计算节点发送所述执行计划的过程包括:接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的存储节点。
60.本实施例提供的数据分析系统中的计算节点和存储节点相互分离,计算节点在接收到数据操作请求后,为数据操作请求添加id标识,并生成数据操作请求对应的执行计划。若数据操作请求为数据插入请求,本实施例利用添加的id标识计算目标分片位置,上述目标分片位置为需要插入数据的位置。由于存储节点按照数据分片的形式组织管理数据,各个数据分片有其对应的存储节点,本实施例将执行计划发送至目标分片位置所在的存储节点,以使存储节点按照所述执行计划在所述目标分片位置执行追加写操作。上述方案将数据分析系统的存储与计算相互分离,以追加的方式将数据写入至存储节点,因此本实施例能够提高数据分析系统的稳定性,实现可靠的数据写入。
61.作为一种可行的实施方式,存储节点还可以通过noise协议建立与计算节点与所述存储节点的安全通道,以便利用所述安全通道传输交互数据。
62.进一步的,若所述数据操作请求为数据查询请求,则计算节点可以将所述执行计划发送至所有所述存储节点;接收到执行计划的存储节点可以按照所述执行计划执行对应的数据查询操作得到查询结果。计算节点接收到存储节点返回的查询结果之后,还可以根据所有所述查询结果向客户端返回所述数据操作请求的执行结果。
63.进一步的,在将写入时间最晚的合并结果设置为所述数据操作请求的执行结果之后,计算节点可以将所有合并结果中除了所述执行结果之外的合并结果设置为待删除数据,根据所述待删除数据的id标识创建删除计划,并将所述删除计划发送至对应的存储节点中。存储节点接收到删除计划后可以删除上述待删除数据。
64.下面通过在实际应用中的实施例说明上述实施例描述的流程。
65.常见的数据分析系统中,用于数据存储的模块和用于数据检索的模块都是运行在单一节点上面,两者通过共享内存或者管道等方式进行交互。现有的数据分析系统所使用
的数据格式都是私有实现,通过标准接口或者网络协议与外部系统进行交互。现有技术需要考虑如何高效、按需、无第三方依赖进行拓展系统,如何避免不同数据分析系统中序列化和反序列化的开销,如何保证数据安全地在不同系统中传输和存储。
66.为了解决系统拓展问题,现有的主要方案数据分片,将数据按照一定规则进行分片,业务中集成路由组件和分布式事务框架来确保数据正确访问。为了保证数据能够在大部分数据分析系统中流转,通常都会将内部数据结构转换成json结构后输出。上述已有的数据分析系统没有采用集群方案,一旦出现单点故障,那么整个系统将出现不可用的状态。另一方面为了提升系统的并发性能,采用横向拓展时,需要依赖负载均衡组件和一致性协议来保证可用性和最终一致性,大大增加系统的复杂性。同时,横向拓展并不能做到数据动态迁移,为了应对大流量访问的时候,采用而采用纵向拓展时,受制于架构,单一提升计算性能或者存储性能,并不能彻底解决系统的性能瓶颈。在需要和外部系统交互的时候,只能通过标准接口或者网络协议,需要花费大量计算资源进行序列化和反序列化。
67.为了解决相关技术中数据分析系统架构耦合、内存结构不一等技术缺陷所带来的拓展困难、需要高成本序列化和反序列化等技术问题,本实施例从架构上存算分离、统一内存格式角度出发,通过share-nothing架构,提供了一种数据分析方案,以实现按需、高效、无第三方组件依赖地拓展系统、保证以零拷贝的方式在不同数据分析引擎中共享数据、保证数据的安全性,即数据在传输和存储的过程中都是加密的。在share-nothing架构中,每个计算节点彼此独立,拥有互不干扰的存储空间,节点之间只能通过网络进行访问。本实施例通过存储计算分离在架构上将数据分析系统拆分成两大部分,一部分负责响应查询请求、解析查询语句、构建执行计划、资源调度的无状态的计算模块,一部分负责存储数据的存储模块。这两个模块运行在不同的节点上面,通过网络进行交互。
68.请参见图2,图2为本技术实施例所提供的一种数据分析系统的架构示意图,数据分析系统包括计算节点(运行计算模块的节点)、存储节点(运行存储模块的节点)、发号器,计算节点包括接入层和服务层,接入层包括协议解析模块、请求队列和响应队列,服务层包括sql解析器、数据转换器、加密/解密模块、路由模块、合并引擎和元数据模块。计算节点和存储节点通过noise协议建立的安全通道传输数据。存储节点包括执行器和按照数据分片存储的arrow文件。arrow文件即apache arrow文件,包含了一种语言无关的列式内存结构和为一些主流编程语言提供的sdk,能够利用现代cpu来高效进行数据分析。同时提供支持以零拷贝的方式快速读取数据,无需序列化操作。apache arrow的主要目的是建立一套可以在进程间,以零拷贝的形式快速访问内存数据的规范。
69.为了实现高效按需进行拓展系统,本实施例在数据分析系统架设计上面将存储模块和计算模块进行分离。存储模块和计算模块运行在不同的节点上面。存储模块以数据分片的形式组织管理数据,数据分片彼此之前相互隔离,可以利用纵向拓展来提升系统吞吐效率,可以针对性提升cpu、内存、硬盘、网卡等硬件资源。计算模块不涉及状态,即无状态,可以根据请求的大小动态申请计算资源,而无需担心数据一致性和数据迁移的问题。在数据格式上面,选择apache arrow作为列式内存格式,提供了一套可以在进程间,以零拷贝的形式快速访问内存数据的规范,可以利用现代cpu提供的向量化指令高效地进行数据分析。在数据存储和传输上面,使用noise进行数据加密和传输,以保证数据安全。
70.计算模块负责响应查询请求、解析查询语句、构建执行计划,并且使用noise协议
和存储模块建立可信通道,并且将执行计划传递给存储层。存储层执行计算模块提供的执行计划,数据以arrow的形式进行读写和持久化,并且将执行结果的结果集返回给计算模块。计算模块整理和合并存储层返回的结果,构建最终的结果集后返回响应到客户端。
71.当客户端发送请求到数据分析系统的时候,计算模块中的接入层负责接收请求,使用解析模块解析请求,将请求放入到请求队列中。服务层会订阅接入层的请求队列,当队列中有请求到达,服务层开始处理请求。首先服务层会请求发号器,获取一个id,用来标识当前的请求。服务层的sql解析器,将请求的sql转换成执行计划。数据分片需要和服务层通过noise协议建立安全通道。在安全通道中接收经过加密的请求,解析请求,执行服务层发送过来的执行计划。
72.如果请求是插入数据,服务器的路由模块会利用请求id计算数据插入的分片信息,执行计划也就转发到这个数据分片上面。
73.如果请求是查询数据,那么服务层将执行计划广播给全部的数据分片。数据分片成功完成执行计划后,会将查询结果集发送合并引擎中,用于将具有相同主键的值合并,并且取最大的一个请求id作为执行结果。进一步的,本实施例可以将具有相同主键的合并结果中除了执行结果之外的数据确定需要清理的id集合。服务层将最后结果集创建响应,并将需要清理的id创建删除计划,并且按照路由规则发送数据分片上,数据分片执行器删除id对应的数据。
74.上述实施例中插入数据以追加的方式写入到数据分片中,使用查询是合并结果集的方式,合并相同的主键的数据,通过这种方式获得数据的最终一致性。存储以文件的形式保存,支持本地存储,同时也可以支持对象存储。上述数据分析系统存算分离,计算节点无状态可以方便拓展,存储节点以数据分片的形式存放,撤离存储节点只需要迁移arrow文件,实现按需、高效、无第三方组件依赖地拓展系统。上述数据分析系统可以为基于snowflake的系统。
75.请参见图3,图3为本技术实施例还提供的一种数据管理系统的结构示意图,该系统应用于数据分析系统的计算节点,所述数据分析系统还包括多个存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据管理系统包括:
76.标识添加单元301,用于接收数据操作请求,并为所述数据操作请求添加id标识;
77.计划生成单元302,用于生成所述数据操作请求对应的执行计划;
78.计划发送单元303,用于若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
79.本实施例提供的数据分析系统中的计算节点和存储节点相互分离,计算节点在接收到数据操作请求后,为数据操作请求添加id标识,并生成数据操作请求对应的执行计划。若数据操作请求为数据插入请求,本实施例利用添加的id标识计算目标分片位置,上述目标分片位置为需要插入数据的位置。由于存储节点按照数据分片的形式组织管理数据,各个数据分片有其对应的存储节点,本实施例将执行计划发送至目标分片位置所在的目标存储节点,以使目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。上述方案将数据分析系统的存储与计算相互分离,以追加的方式将数据写入至存储节点,因此本实施例能够提高数据分析系统的稳定性,实现可靠的数据写入。
80.进一步的,还包括:
81.通道建立模块,用于通过noise协议建立所述计算节点与所述存储节点的安全通道,以便利用所述安全通道传输交互数据。
82.进一步的,还包括:
83.查询模块,用于在生成所述数据操作请求对应的执行计划之后,若所述数据操作请求为数据查询请求,则将所述执行计划发送至所有所述存储节点,以便所有所述存储节点按照所述执行计划执行对应的数据查询操作得到查询结果;还用于接收所述存储节点返回的查询结果,根据所有所述查询结果向客户端返回所述数据操作请求的执行结果。
84.进一步的,查询模块根据所有所述查询结果向客户端返回所述数据操作请求的执行结果的过程包括:对具有相同主键的执行结果进行合并,得到合并结果;将写入时间最晚的合并结果设置为所述数据操作请求的执行结果,并向所述客户端返回所述执行结果。
85.进一步的,还包括:
86.id生成模块,用于在为所述数据操作请求添加id标识之前,向发号器发送分配请求,以便所述发号器根据所述数据操作请求的接收时间生成所述id标识;
87.相应的,还包括:
88.排序模块,用于在将写入时间最晚的合并结果设置为所述数据操作请求的执行结果之前,根据所有所述合并结果对应的id标识对所有所述合并结果的写入时间进行排序。
89.进一步的,还包括:
90.数据删除模块,用于在将写入时间最晚的合并结果设置为所述数据操作请求的执行结果之后,将所有所述合并结果中除了所述执行结果之外的合并结果设置为待删除数据,根据所述待删除数据的id标识创建删除计划,并将所述删除计划发送至对应的存储节点中,以便删除所述待删除数据。
91.本技术实施例还提供一种数据管理系统,应用于数据分析系统的存储节点,所述存储节点用于按照数据分片的形式组织管理数据,所述数据分析系统还包括计算节点,所述数据管理系统包括:
92.计划接收单元,用于接收所述计算节点发送的执行计划;其中,所述计算节点发送所述执行计划的过程包括:接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的存储节点;
93.计划执行单元,用于按照所述执行计划在所述目标分片位置执行追加写操作。
94.本实施例提供的数据分析系统中的计算节点和存储节点相互分离,计算节点在接收到数据操作请求后,为数据操作请求添加id标识,并生成数据操作请求对应的执行计划。若数据操作请求为数据插入请求,本实施例利用添加的id标识计算目标分片位置,上述目标分片位置为需要插入数据的位置。由于存储节点按照数据分片的形式组织管理数据,各个数据分片有其对应的存储节点,本实施例将执行计划发送至目标分片位置所在的目标存储节点,以使目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。上述方案将数据分析系统的存储与计算相互分离,以追加的方式将数据写入至存储节点,因此本实施例能够提高数据分析系统的稳定性,实现可靠的数据写入。
95.本技术实施例还提供一种数据分析系统,所述数据分析系统包括运行于计算节点
的计算模块和运行于存储节点的存储模块;
96.其中,所述存储模块,用于按照数据分片的形式组织管理数据;
97.所述计算模块,用于接收数据操作请求,并为所述数据操作请求添加id标识;生成所述数据操作请求对应的执行计划;若所述数据操作请求为数据插入请求,则根据所述id标识计算目标分片位置,将所述执行计划发送至所述目标分片位置所在的目标存储节点,以便所述目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。
98.本实施例提供的数据分析系统中的计算节点和存储节点相互分离,计算节点在接收到数据操作请求后,为数据操作请求添加id标识,并生成数据操作请求对应的执行计划。若数据操作请求为数据插入请求,本实施例利用添加的id标识计算目标分片位置,上述目标分片位置为需要插入数据的位置。由于存储节点按照数据分片的形式组织管理数据,各个数据分片有其对应的存储节点,本实施例将执行计划发送至目标分片位置所在的目标存储节点,以使目标存储节点按照所述执行计划在所述目标分片位置执行追加写操作。上述方案将数据分析系统的存储与计算相互分离,以追加的方式将数据写入至存储节点,因此本实施例能够提高数据分析系统的稳定性,实现可靠的数据写入。
99.由于系统部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
100.本技术还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
101.本技术还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
102.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
103.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1