CN110968256A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN110968256A CN110968256A CN201811157257.2A CN201811157257A CN110968256A CN 110968256 A CN110968256 A CN 110968256A CN 201811157257 A CN201811157257 A CN 201811157257A CN 110968256 A CN110968256 A CN 110968256A
- Authority
- CN
- China
- Prior art keywords
- computing node
- data
- file
- computing
- routing view
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
一种数据处理方法及装置,该方法可包括:第一计算节点接收客户端发送的写入命令,所述第一计算节点根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据对应的第一文件,所述第一计算节点将所述第一数据,存储至所述第一文件,所述第一计算节点根据所述计算节点与文件的对应关系,确定所述第一计算节点所对应的第二文件,所述第一计算节点获取除所述第一计算节点外的其它计算节点所存储的第二文件,所述第一计算节点存储所获取的所述其它计算节点的第二文件,采用本申请的方法可避免计算节点写入热点的问题,且保证读取数据的速率。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据处理方法及装置。
背景技术
如图1所示,对于分布式存储系统,可包括以下几部分:客户端、计算节点以及存储节点。写入数据的流程为:用户输入数据至客户端,客户端利用范围分区(rangepartitioning) 算法或哈希分区(hash partitioning)算法对输入数据进行分配,分配到相应的计算节点,然后由相应的计算节点执行写入操作,写入到相应的存储节点。
如果利用范围分区算法,写入的数据为A0至A99,计算节点个数为3,范围分区的路由视图为:A0—A32→计算节点1,A33—A65→计算节点2,A66—A99→计算节点3。采用范围分区算法,可能会造成写热点的问题,计算节点负载不均衡。比如,在输入写数据A0 至A32时,持续由计算节点1执行写入操作,而计算节点2与计算节点3,不执行写入操作,同理在写入数据A33至A65时,持续由计算节点2执行写入操作,计算节点1与计算节点3不执行写入操作。
如果利用哈希分区算法,写入的数据为A0至A99,计算节点个数为3,哈希分区的路由视图为:hash()%3=0→计算节点1,hash()%3=1→计算节点2,hash()%3=2→计算节点3。计算节点1写入的数据为(A0,A3,A6…..A97),计算节点2写入的数据为(A1,A4,A7……A98),计算节点3写入的数据为(A2,A5,A8……A99)。采用哈希分区算法,写入数据能够较好的分散到各个计算节点上,节点负载较均衡。但数据查找较缓慢。比如,用户查找A0和A2时,客户端利用哈希分区算法,发送A0至计算节点1,发送A2至计算节点3,然后由计算节点1执行读取A0的操作,且返回A0所对应的值(检索内容)至客户端,计算节点3执行读取A2的操作,且返回A2所对应的值至客户端,可见相对于范围分区算法,由计算节点1一次性读取A0和A2,统一返回客户端的做法,速度较慢。
发明内容
本申请提供一种数据处理方法及装置,用以解决数据写入热点的问题,且保证数据读取速率。
第一方面,提供一种数据处理方法,包括:第一计算节点接收客户端发送的写入命令,所述写入命令用于写入第一数据,所述第一数据包括一个或多个数据,所述写入命令为所述客户端通过哈希分区算法的路由视图对所述第一数据处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待写入数据与计算节点的对应关系;所述第一计算节点根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据对应的第一文件,所述范围分区算法的路由视图包括待写入数据与计算节点的对应关系;所述第一计算节点将所述第一数据,存储至所述第一文件;所述第一计算节点根据所述计算节点与文件的对应关系,确定所述第一计算节点所对应的第二文件,所述第二文件与所述第一文件相同或不同;所述第一计算节点获取除所述第一计算节点外的其它计算节点中所存储的第二文件;所述第一计算节点存储所获取的所述其它计算节点中存储的第二文件。
采用本申请的方法,可保证每个计算节点所存储的数据,符合范围分区算法的路由视图,方便查询数据,且在写入数据时,采用哈希分区算法,可避免写入热点的问题。
在一种可能的实现中,所述第一计算节点根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据所对应的第一文件,包括:所述第一计算节点根据所述范围分区算法的路由视图,确定所述第一数据所对应的目标计算节点;所述第一计算节点根据所述计算节点与文件的对应关系,确定所述目标计算节点所对应的第一文件。
在一种可能的实现中,所述第一计算节点获取除所述第一计算节点外的其它计算节点中所存储的第二文件,包括:所述第一计算节点在所述其它计算节点的存储空间,读取所述第二文件。
在一种可能的实现中,所述第一计算节点获取除所述第一计算节点外的其它计算节点中所存储的第二文件,包括:所述第一计算节点向除所述第一计算节点外的其它计算节点发送获取请求,所述获取请求用于获取所述第二文件;并接收所述其它计算节点所发送的所述第二文件。
第二方面,提供一种数据处理方法,包括:第一计算节点接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行范围分区算法处理后,发送给所述第一计算节点的,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;所述第一计算节点在自身所对应的存储空间中未查找到所述第一数据时,利用哈希分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;所述第一计算节点发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
采用本申请的方法,可解决第一数据写入的时间不长,不同计算节点间还未聚合文件,也可称为不同计算节点间还未交换文件,利用范围分区算法查询不到第一数据的问题。
第三方面,提供一种数据处理方法,包括:第一计算节点接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行哈希分区算法处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;所述第一计算节点在自身所对应的存储空间中未查找到所述第一数据时,利用范围分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;所述第一计算节点发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
采用本申请的方法,可解决第一数据写入的时间较长,不同计算节点时已经聚合文件,也称为不同计算节点间已交换数据,利用哈希分区算法查询不到第一数据的问题。
第四方面,本申请提供一种通信装置,适用于第一计算节点或第一计算节点中的芯片,包括用于执行以上第一方面至第三方面各个步骤的单元或手段(means)。
第五方面,本申请提供一种通信装置,适用于终端设备或终端设备中的芯片,包括至少一个处理元件和至少一个存储元件,其中所述至少一个存储元件用于存储程序和数据,所述至少一个处理元件用于执行本申请第一方面至第三方面提供的方法。
第六方面,本申请提供一种通信装置,包括用于执行以上第一方面至第三方面的方法的至少一个处理元件(或芯片)。
第七方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令被计算机执行时,使得所述计算机执行以上任一方面的方法。
第八方面,本申请提供了一种计算机可读存储介质,该存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行以上任一方面的方法。
附图说明
图1为本申请实施例提供的分布式存储系统的一示意图;
图2为本申请实施例提供的数据处理方法的一示意图;
图3为本申请实施例提供的数据写入过程的一示意图;
图4为本申请实施例提供的数据写入过程的另一示意图;
图5为本申请实施例提供的数据处理方法的另一示意图;
图6为本申请实施例提供的数据查询过程的一示意图;
图7为本申请实施例提供的数据处理方法的另一示意图;
图8为本申请实施例提供的数据查询过程的一示意图;
图9为本申请实施例提供的通信装置的一结构示意图;
图10为本申请实施例提供的通信装置的另一结构示意图。
具体实施方式
下面结合附图,对本申请实施例进行介绍。
如图1所示,本申请实施例提供一种分布式存储系统100,该分布式存储系统100至少可包括计算节点102和存储节点103。可选的,所述分布式存储系统100还可包括客户端(client)104。
其中,计算节点102中可包括一个或多个计算节点,所述计算节点可为具有数据处理功能的一个载体,比如,所述计算节点可为服务器等。
存储节点103中可包括一个或多个存储节点,所述存储节点可为具有数据存储空间的一个载体,比如,所述存储节点可为服务器或计算机中的一个磁盘等,或者,所述存储节点可为逻辑存储空间,例如逻辑单元(logical unit,LU)等。
基于以上场景,如图2所示,本申请提供一种数据处理流程,该流程可具体用于写入数据。图2所示流程中的计算节点可为上述图1所示的计算节点102,客户端可为上述图1所示的客户端104。所述流程可具体为:
S201:用户输入写入命令至客户端,所述写入命令用于写入第一数据,所述第一数据可包括一个或多个数据。需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
S202:客户端利用哈希分区(hash partitioning)算法的路由视图,确定第一数据所对应的第一计算节点。
在本申请实施例中,所述哈希分区算法的路由视图包括待写入数据与计算节点的对应关系,所述哈希分区算法的路由视图还可称为数据与计算节点的对应关系,比如,以整个分布式存储系统包括3个计算节点为例,所述哈希分区算法的路由视图可为hash()%3=0→计算节点1,hash()%3=1→计算节点2,hash()%3=2→计算节点3。
S203:客户端发送所述写入命令至第一计算节点,第一计算节点即为客户端对第一数据进行哈希分区算法运算确定的节点标识所对应的节点。
S204:第一计算节点接收所述写入命令。
S205:第一计算节点根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定第一数据所对应的第一文件。
具体的,所述第一计算节点可根据所述范围分区(range partitioning))算法的路由视图,确定所述第一数据所对应的目标计算节点;所述第一计算节点再根据所述计算节点与文件的对应关系,确定所述目标计算节点所对应的第一文件,所述范围分区算法的路由视图包括待写入数据与计算节点的对应关系。
在本申请实施例中,所述范围分区算法的路由视图还可称为数据与计算节点的对应关系。比如,以整个分布式存储系统包括3个计算节点为例,所述范围分区算法的路由视图可具体为A0—A32→计算节点1,A33—A65→计算节点2,A66—A99→计算节点3,所述计算节点与文件的对应关系可为:计算节点1→文件1,计算节点2→文件2,计算节点 3→文件3。
比如,以第一数据为A0为例进行说明,第一计算节点在接收到写入A0的命令后,可查询上述范围分布算法的路由视图,确定A0所对应的计算节点为计算节点1,然后查询上述计算节点与文件的对应关系,确定计算节点1所对应的文件为文件1,最后可将A0存储至文件1中。
S206:第一计算节点将所述第一数据,写入至所述第一文件。
S207:第一计算节点根据计算节点与文件的对应关系,确定第一计算节点所对应的第二文件,所述第二文件与第一文件可能相同也可能不同。
仍沿用上述举例,计算节点与文件的对应关系为计算节点1→文件1,计算节点 2→文件2,计算节点3→文件3。那么可确定第一计算节点所对应的第二文件为文件1。
S208:第一计算节点获取除所述第一计算节点外的其他计算节点中所存储的第二文件。
在本申请的一示例中,所述第一计算节点可在所述其它计算节点的存储空间,读取所述第二文件。或者,所述第一计算节点也可以向其他计算节点分别发送用于获取第二文件内容的获取请求,所述其它计算节点可响应该获取请求将第二文件发送至第一计算节点,一种具体实现中,其它计算节点可主动发送第二文件至第一计算节点,另一种实现方式中,第一计算节点可向其它计算节点发送请求,在其它计算节点接收到所述请求后,可将第二文件发送至第一计算节点,即其它计算节点被动发送第二文件至第一计算节点。
S209:第一计算节点存储所获取的所述其它计算节点中所存储的第二文件。
针对上述图2所提供的流程,本申请提供一种示例,如图3所示,以写入的数据为A0至A99,计算节点为3个,分别为计算节点1、计算节点2以及计算节点3为例,详细说明本申请的过程:
在本申请实施例中,客户端可存储有范围分区算法的路由视图和哈希分区算法的路由视图。关于范围分区算法的路由视图和哈希分区算法的路由视图可参见图3所示,在此不再说明。
在本申请实施例中,客户端在接收到用户输入的A0至A99后,可利用哈希分区算法的路由视图,确定每个数据所对应的存储节点。比如,在本申请实施例中,通过上述哈希分区算法的路由视图,可确定(A0,A3,A6……A99)所对应的计算节点为计算节点1,(A1,A4,A7……A97)所对应的计算节点为计算节点2,(A2,A5,A8……A98)所对应的计算节点为计算节点3。
具体的,在本申请实施例中,客户端可将(A0,A3,A6……A99)发送至计算节点1进行处理,将(A1,A4,A7……A97)发送至计算节点2进行处理,将(A2,A5,A8……A98) 发送至计算节点3进行处理。
在本申请实施例中,计算节点1至计算节点3中每个计算节点中可存储有计算节点与文件的对应关系,比如,所存储的对应关系,可分别为计算节点1与文件1的对应关系,计算节点2与文件2的对应关系,计算节点3与文件3的对应关系。在本申请实施例中,每个计算节点在接收到客户端所发送的数据后,可首先根据范围分区算法的路由视图,确定每个数据所对应的计算节点,然后根据计算节点与文件的对应关系,确定一文件,最后将每个数据存储至对应的文件。
比如,在本申请实施例中,以计算节点1为例进行说明。对于数据A0通过图3所示的范围分区算法的路由视图,可知A0所对应的计算节点为计算节点1,根据上述计算节点与文件的对应关系,可知计算节点1所对应的文件为文件1,最后就可以把A0写入至文件1 即可。再如,对于数据A96通过图3所示的范围分区算法的路由视图,可知A96所对应的计算节点为计算节点3,通过上述计算节点与文件的对应关系,可知计算节点3所对应的文件为文件3,最后就可以把A96写入至文件3即可。
在本申请实施例中,计算节点1至计算节点3中的每个文件所写入的数据,可参见图3 所示在此不说明。
在本申请实施例中,如图4所示,计算节点1可获取计算节点2内的文件1以及计算节点3的文件1,计算节点2可获取计算节点1内的文件2以及计算节点3内的文件2,计算节点3可获取计算节点1内的文件3以及计算节点2内的文件3。最后计算节点1至3所对应的存储空间所存储的具体数据,可参见图4所示。通过图4可以看出,最终计算节点1 所对应的存储空间所存储的数据为A0至32,计算节点2所对应的存储空间所存储的数据为A33至A65,计算节点3所对应的存储空间所存储的数据为A66至A99,符合范围分区算法的路由视图,方便查询数据,且在写入数据时,采用哈希分区算法,可避免写入热点的问题,因此采用本申请的方法,可同时拥有范围分区算法和哈希分区算法的优点。
如图5所示,本申请还提供一种数据处理的流程,该流程可应用于查询一个或多个数据,该流程中的客户端可应用于上述图1所示的客户端104,计算节点可应用于上述图1所示的计算节点102。所述流程可具体为:
S501:用户输入查询命令至客户端,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据。
S502:客户端利用范围分区算法的路由视图,确定第一数据所对应的第一计算节点。
在本申请实施例中,以整个分布式存储系统包括3个计算节点为例,所述范围分区算法的路由视图可为A0—A32→计算节点1,A33—A65→计算节点2,A66—A99→计算节点3。在本申请实施例中,如果用户待查询的第一数据为A0,那么第一计算节点可为计算节点1,如果用户待查询的第一数据为A66,那么第一计算节点可为计算节点3。
S503:客户端将所述查询命令发送至第一计算节点,相应的,第一计算节点接收所述查询命令。
S504:第一计算节点判断在对应的存储空间中是否可查询到第一数据,如果否,执行 S505,否则执行S508。
S505:第一计算节点根据哈希分区算法的路由视图,确定第一数据所对应的第二计算节点。哈希分区算法的路由视图包含有数据和计算节点的对应关系,因此第一计算节点可以根据第一数据确定出第一数据对应的目标计算节点作第二计算节点;
S506:第一计算节点将所述查询命令发送至第二计算节点,相应的,第二计算节点接收所述查询命令。
S507:第二计算节点在自身对应的存储空间中查询第一数据,且将第一数据所对应的值(value),返回至客户端。可替代的,第二计算节点也可以将第一数据所对应的值返回至第一计算节点,第一计算节点再将所述第一数据所对应的值返回至客户端。
S508:第一计算节点将所述第一数据所对应的值,返回至客户端。
S509:客户端显示第一数据所对应的值。
在本申请实施例中,针对第一数据未在第一计算节点查询到的情况,主要是由于以下原因引起的,第一数据写入的数据不长,不同计算节点内还未聚合不同的文件,也即不同计算节点内还未交换不同的文件。采用本申请的方法,可解决上述问题。
针对上述图5所提供的流程,本申请提供一种具体示例,如图6所示,用户输入查询A0至A20的查询操作,所述查询操作也可称为扫描(scan)操作。客户端可利用范围分布算法所对应的路由视图,确定A0至A20所对应的计算节点1,然后将查询命令发送至计算节点1,计算节点1将执行查询A0至A20的操作,最终将A0至A20所对应的值返回至客户端进行显示。
一种情况是,对于新写入的数据,且未经过不同节点内的聚合时,可能会在计算节点1 内查询不到的情况,针对这种情况,计算节点1,可根据哈希算法的路由视图,确定查询不至的数据所对应的计算节点,然后计算节点1可将相应数据的查询命令,发送至计算节点2 和计算节点3中的至少一个,由计算节点2和计算节点3中的至少一个,执行查询的操作。
如图7所示,本申请还提供一种数据处理的流程,该流程可应用于查询一个或多个数据,该流程中的客户端可应用于上述图1所示的客户端104,计算节点可应用于上述图1所示的计算节点102。所述流程可具体为:
S701:用户输入查询命令至客户端,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据。
S702:客户端利用哈希分区算法的路由视图,确定第一数据所对应的第一计算节点。哈希分区算法的路由视图中包含有数据和计算节点的第一对应关系,客户端利用该对应关系可以确定第一数据对应的计算节点为第一计算节点;
S703:客户端将所述查询命令发送至第一计算节点,相应的,第一计算节点可接收所述查询命令。
S704:第一计算节点判断在自身对应的存储空间中是否可查询到第一数据,如果否,执行S705,否则执行S708。
S705:第一计算节点根据范围分区算法的路由视图,确定第一数据所对应的第二计算节点。范围分区算法的路由视图中包含数据和计算节点的第二对应关系,客户端利用该对应关系可以确定第一数据对应的计算节点为第二计算节点;第一对应关系中和第二对应关系中相同数据对应的计算节点可能不同;
S706:第一计算节点将所述查询命令发送至第二计算节点,相应的,第二计算结点接收所述查询命令。
S707:第二计算节点在自身对应的存储空间中查询第一数据,且将第一数据所对应的值返回至客户端。可替代的,第二计算节点也可以将第一数据所对应的值返回至第一计算节点,第一计算节点再将所述第一数据所对应的值返回至客户端。
S708:第一计算节点将所述第一数据所对应的值返回客户端。
S709:客户端显示第一数据所对应的值。
针对上述图7所提供的流程,本申请提供一种具体示例,如图8所示,用户输入查询A22的操作,所述查询操作也可称为点查操作,客户端可利用哈希分布算法所对应的路由视图,确定A22所对应的计算节点2,然后将查询命令发送至计算节点2,计算节点2将执行查询A22的操作,最终将A22所对应的值返回至客户端进行显示。
一种情况是,如果A22是写入时间较长的数据,且已经过不同节点内聚合时,那么在计算节点2在自身所对应的存储空间中可能查询不到A22,计算节点2可利用范围分区算法的路由视图,查询A22所对应的目标计算节点为计算节点1,然后由计算节点1执行查询A22的操作,且最终将A22所对应的值返回至客户端进行显示。
基于上述构思,如图9所示,本申请还提供一种通信装置900,该通信装置900可应用于上述图2、图5、或图7所示的第一计算节点上或第一计算节点中的芯片上。
该通信装置900可包括处理器901和存储器902。进一步的,该装置还可包括通信接口 904,该通信接口可以包括发送接口和接收接口。进一步的,该装置还可包括总线系统903。
其中,处理器901、存储器902和通信接口904可通过总线系统903相连,该存储器902可用存储指令,该处理器901可用于执行该存储器902存储的指令,以控制通信接口 904接收或发送信号,完成上述图2、图5或图7所示方法中以第一计算节点为主体的步骤。
其中,存储器902可以集成在处理器901中,也可以是与处理器901不同的物理实体。
作为一种实现方式,通信接口904的功能可以考虑通过收发电路或收发的专用芯片实现。处理器901可以考虑通过专用处理芯片、处理电路、处理器或通用芯片实现。
作为另一种实现方式,可以考虑使用计算机的方式,来实现本申请实施例提供的第一计算节点或第一计算节点的功能。即将实现处理器901和通信接口904功能的程序代码存储在存储器902中,通用处理器可通过执行存储器中的代码来实现处理器901和通信接口904的功能。
该通信装置900所涉及的与本申请提供的技术方案相关的概念、解释和详细说明以及其他步骤,可参见前述方法或其它实施例中关于这些内容的描述,此处不作赘述。
在本申请的一示例中,所述通信装置900可用于执行上述图2所示流程中,以第一计算节点为执行主体的步骤。比如,通信接口904可接收客户端发送的写入命令,处理器901可根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据对应的第一文件、将所述第一数据,存储至所述第一文件、根据所述计算节点与文件的对应关系,确定所述第一计算节点所对应的第二文件、获取除所述第一计算节点外的其它计算节点所存储的第二文件以及存储所获取的所述其它计算节点的第二文件等。
在本申请的一示例中,所述通信装置900可用于执行上述图5所示流程中,以第一计算节点为执行主体的步骤。比如,通信接口904,可接收客户端发送的查询命令。处理器901可在所对应的存储空间,未查找到所述第一数据时,利用哈希分区算法的路由视图,确定所述第一数据所对应的第二计算节点,通信接口904可发送所述查询命令至所述第二计算节点。
在本申请的一示例中,所述通信装置900可用于执行上述图7所示流程中,以第一计算节点为执行主体的步骤。比如,通信接口904,可接收客户端发送的查询命令,处理器901,可在所对应的存储空间,未查找到所述第一数据时,利用范围分区算法的路由视图,确定所述第一数据所对应的第二计算节点,通信接口904可发送所述查询命令至所述第二计算节点。
关于处理器901和通信接口904的介绍,可参见上述图2、图5以及图7所示流程的介绍,在此不再赘述。
基于以上构思,如图10所示,本申请还提供一种数据处理装置1000,包括通信单元1001和处理单元1002,所述通信装置1000可应用于第一计算节点或第一计算节点中的芯片,用于执行图2、图5或图7所示流程中,以第一计算节点为执行主体的步骤。
在本申请的一示例中,通信单元1001,可用于接收客户端发送的写入命令,所述写入命令用于写入第一数据,所述第一数据包括一个或多个数据,所述写入命令为所述客户端通过哈希分区算法的路由视图对所述第一数据处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待写入数据与计算节点的对应关系;处理单元1002,可用于根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据对应的第一文件,所述范围分区算法的路由视图包括待写入数据与计算节点的对应关系;所述处理单元1002,还用于将所述第一数据,存储至所述第一文件;所述处理单元1002,还用于根据所述计算节点与文件的对应关系,确定所述第一计算节点所对应的第二文件,所述第二文件与所述第一文件相同或不同;所述处理单元1002,还用于获取除所述第一计算节点外的其它计算节点中所存储的第二文件;所述处理单元1002,还用于存储所获取的所述其它计算节点中存储的所述第二文件。
在本申请的另一示例中,通信单元1001,可用于接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行范围分区算法处理后,发送给所述第一计算节点的,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系。处理单元1002,可用于在所述数据处理装置1000所对应的存储空间中未查找到所述第一数据时,利用哈希分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;所述通信单元1001,还用于发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
在本申请的另一示例中,通信单元1001,可用于接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行哈希分区算法处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;处理单元1002,可用于所述数据处理装置1000在所对应的存储空间中未查找到所述第一数据时,利用范围分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;通信单元1001,还用于发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
关于处理单元1002和通信单元1001处理数据的具体实现,可参见上述图2、图5或图 7中的介绍,在此不再说明。
根据本申请实施例提供的方法,本申请实施例还提供一种通信系统,其包括前述的计算节点和存储节点。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。该计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品中包括计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述任意一个或多个实施例提供的方法。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的功能,例如获取或处理上述方法中所涉及的信息或者消息。可选地,该芯片还包括存储器,该存储器,用于存储处理器所执行的程序指令和数据。该芯片,也可以包含芯片和其他分立器件。
应理解,在本申请实施例中,处理器可以是中央处理单元(Central ProcessingUnit, CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,也可以是任何常规的处理器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。
该总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
第一计算节点接收客户端发送的写入命令,所述写入命令用于写入第一数据,所述第一数据包括一个或多个数据,所述写入命令为所述客户端通过哈希分区算法的路由视图对所述第一数据处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待写入数据与计算节点的对应关系;
所述第一计算节点根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据对应的第一文件,所述范围分区算法的路由视图包括待写入数据与计算节点的对应关系;
所述第一计算节点将所述第一数据,存储至所述第一文件;
所述第一计算节点根据所述计算节点与文件的对应关系,确定所述第一计算节点所对应的第二文件,所述第二文件与所述第一文件相同或不同;
所述第一计算节点获取除所述第一计算节点外的其它计算节点中所存储的第二文件;
所述第一计算节点存储所获取的所述其它计算节点中存储的第二文件。
2.根据权利要求1所述的方法,其特征在于,所述第一计算节点根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据所对应的第一文件,包括:
所述第一计算节点根据所述范围分区算法的路由视图,确定所述第一数据所对应的目标计算节目;
所述第一计算节点根据所述计算节点与文件的对应关系,确定所述目标计算节点所对应的第一文件。
3.根据权利要求1或2所述的方法,其特征在于,所述第一计算节点获取除所述第一计算节点外的其它计算节点中所存储的第二文件,包括:
所述第一计算节点在所述其它计算节点的存储空间,读取所述第二文件。
4.根据权利要求1或2所述的方法,其特征在于,所述第一计算节点获取除所述第一计算节点外的其它计算节点中所存储的第二文件,包括:
所述第一计算节点向除所述第一计算节点外的其它计算节点发送获取请求,所述获取请求用于获取所述第二文件;
所述第一计算节点接收所述其它计算节点响应所述获取请求所发送的所述第二文件。
5.一种数据处理方法,其特征在于,包括:
第一计算节点接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行范围分区算法处理后,发送给所述第一计算节点的,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述第一计算节点在自身所对应的存储空间中未查找到所述第一数据时,利用哈希分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述第一计算节点发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
6.一种数据处理方法,其特征在于,包括:
第一计算节点接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行哈希分区算法处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述第一计算节点在自身所对应的存储空间中未查找到所述第一数据时,利用范围分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述第一计算节点发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
7.一种数据处理装置,其特征在于,包括:
通信单元,用于接收客户端发送的写入命令,所述写入命令用于写入第一数据,所述第一数据包括一个或多个数据,所述写入命令为所述客户端通过哈希分区算法的路由视图对所述第一数据处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待写入数据与计算节点的对应关系;
处理单元,用于:
根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据对应的第一文件,所述范围分区算法的路由视图包括待写入数据与计算节点的对应关系;
将所述第一数据,存储至所述第一文件;
根据所述计算节点与文件的对应关系,确定所述第一计算节点所对应的第二文件,所述第二文件与所述第一文件相同或不同;
获取除所述第一计算节点外的其它计算节点中所存储的第二文件;
存储所获取的所述其它计算节点中存储的所述第二文件。
8.根据权利要求7所述的装置,其特征在于,所述处理单元在根据范围分区算法的路由视图以及计算节点与文件的对应关系,确定所述第一数据所对应的第一文件时,具体用于:
根据所述范围分区算法的路由视图,确定所述第一数据所对应的目标计算节目;
根据所述计算节点与文件的对应关系,确定所述目标计算节点所对应的第一文件。
9.根据权利要求7或8所述的装置,其特征在于,所述处理单元在获取除所述第一计算节点外的其它计算节点中所存储的第二文件时,具体用于:
在所述其它计算节点的存储空间,读取所述第二文件。
10.根据权利要求7或8所述的装置,其特征在于,所述计算单元在获取除所述第一计算节点外的其它计算节点中所存储的第二文件时,具体用于:
控制所述通信单元向除所述第一计算节点外的其它计算节点发送获取请求,所述获取请求用于获取所述第二文件;
控制所述通信单元接收所述其它计算节点响应所述获取请求所发送的所述第二文件。
11.一种数据处理装置,其特征在于,包括:
通信单元,用于接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行范围分区算法处理后,发送给所述第一计算节点的,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;
处理单元,用于在所述数据处理装置所对应的存储空间中未查找到所述第一数据时,利用哈希分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述通信单元,还用于发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
12.一种数据处理装置,其特征在于,包括:
通信单元,用于接收客户端发送的查询命令,所述查询命令用于查询第一数据,所述第一数据包括一个或多个数据,所述查询命令为所述客户端经过对所述第一数据进行哈希分区算法处理后,发送给所述第一计算节点的,所述哈希分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述处理单元,用于在所述数据处理装置所对应的存储空间中未查找到所述第一数据时,利用范围分区算法的路由视图,确定所述第一数据所对应的第二计算节点,所述范围分区算法的路由视图包括待查询数据与计算节点的对应关系;
所述通信单元,还用于发送所述查询命令至所述第二计算节点,以使得所述第二计算节点执行查询所述第一数据的操作。
13.一种通信装置,其特征在于,包括处理器和存储器;
所述存储器存储有计算机指令;
所述处理器用于执行所述存储器所存储的计算机指令,以使所述通信装置实现如权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811157257.2A CN110968256A (zh) | 2018-09-30 | 2018-09-30 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811157257.2A CN110968256A (zh) | 2018-09-30 | 2018-09-30 | 一种数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968256A true CN110968256A (zh) | 2020-04-07 |
Family
ID=70028885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811157257.2A Pending CN110968256A (zh) | 2018-09-30 | 2018-09-30 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968256A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012140686A1 (en) * | 2011-04-11 | 2012-10-18 | Hitachi, Ltd. | Data management method and data management system |
CN106201338A (zh) * | 2016-06-28 | 2016-12-07 | 华为技术有限公司 | 数据存储方法及装置 |
CN107451229A (zh) * | 2017-07-24 | 2017-12-08 | 北京国电通网络技术有限公司 | 一种数据库查询方法和装置 |
-
2018
- 2018-09-30 CN CN201811157257.2A patent/CN110968256A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012140686A1 (en) * | 2011-04-11 | 2012-10-18 | Hitachi, Ltd. | Data management method and data management system |
CN106201338A (zh) * | 2016-06-28 | 2016-12-07 | 华为技术有限公司 | 数据存储方法及装置 |
CN107451229A (zh) * | 2017-07-24 | 2017-12-08 | 北京国电通网络技术有限公司 | 一种数据库查询方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391725A (zh) | 页面展示方法和页面展示装置 | |
CN111400308A (zh) | 缓存数据的处理方法、电子装置及可读存储介质 | |
WO2022022245A1 (zh) | 数字物权凭证的生成方法、装置及设备 | |
WO2017128701A1 (zh) | 存储数据的方法和装置 | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
CN108140050A (zh) | 一种使用布隆过滤器过滤文件的方法及装置 | |
CN110737747A (zh) | 一种数据操作方法、装置及系统 | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
CN109213774B (zh) | 数据的存储方法及装置、存储介质、终端 | |
CN111666184B (zh) | 固态驱动器ssd硬盘测试方法、装置及电子设备 | |
CN108268503B (zh) | 一种数据库的存储、查询方法及装置 | |
CN110945506B (zh) | 支持混合索引的可搜索加密 | |
CN108776665B (zh) | 一种数据处理方法及装置 | |
US10095630B2 (en) | Sequential access to page metadata stored in a multi-level page table | |
CN110968256A (zh) | 一种数据处理方法及装置 | |
CN109542872B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN109325160B (zh) | 网页快照的生成方法及装置 | |
CN108519860B (zh) | 一种ssd读命中的处理方法和装置 | |
CN113672669B (zh) | 基于分布式存储的数据查询方法及装置 | |
CN111192088B (zh) | 积分的结算对象确定方法及装置和计算机可读存储介质 | |
CN106325377B (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
CN107679093B (zh) | 一种数据查询方法及装置 | |
CN109857719B (zh) | 分布式文件处理方法、装置、计算机设备以及存储介质 | |
WO2019165762A1 (zh) | 一种抽样查询的方法和装置 | |
CN111753142A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |