大数据平台的处理终端、读数据和写数据的方法与流程

文档序号:16845511发布日期:2019-02-12 22:10阅读:216来源:国知局
大数据平台的处理终端、读数据和写数据的方法与流程

本发明涉及大数据技术领域,特别涉及大数据平台的处理终端、读数据和写数据的方法。



背景技术:

随着大数据技术的快速发展,用户对大数据平台处理数据的速度的要求越来越高。

在现有数据中,大数据平台在处理数据时,按照先内存后硬盘的顺序。但是,由于内存的容量较小,大量的数据仍然需要在硬盘中读写。而在硬盘中读写数据的速度较慢。



技术实现要素:

本发明实施例提供了大数据平台的处理终端、读数据和写数据的方法,能够提高大数据平台处理数据的速度。

第一方面,本发明实施例提供了一种大数据平台的处理终端,包括:

内存、bcache、硬盘和数据处理模块;

所述数据处理模块,用于执行:

当接收到写操作的命令时,判断待写入的数据是否属于热数据,如果是,则执行a1;

a1:判断所述内存中是否具有存储所述待写入的数据的空间,如果是,则执行a2;否则,执行a3;

a2:将所述待写入的数据写入到所述内存中;

a3:判断所述bcache中是否具有存储所述待写入的数据的空间,如果是,则执行a4,否则,执行a5;

a4:将所述待写入的数据写入到所述bcache中;

a5:将所述待写入的数据写入到所述硬盘中;

所述数据处理模块,用于执行:

当接收到读操作的命令时,判断待读取的数据是否属于热数据,如果是,则执行b1;

b1:判断所述内存中是否存在所述待读取的数据,如果是,则执行b2,否则,执行b3;

b2:从所述内存中读取所述待读取的数据;

b3:判断所述bcache中是否存在所述待读取的数据,如果是,则执行b4,否则,执行b5;

b4:从所述bcache中读取所述待读取的数据;

b5:从所述硬盘中读取所述待读取的数据。

优选地,

所述数据处理模块,进一步用于执行:

在判断出所述待写入的数据不属于热数据的情况下,执行c1;

c1:判断所述内存中是否具有存储所述待写入的数据的空间,如果是,则执行c2,否则,执行c3;

c2:将所述待写入的数据写入到所述内存中;

c3:将所述待写入的数据写入到所述硬盘中。

优选地,

所述数据处理模块,进一步用于执行:

在判断出所述待读取的数据不属于热数据的情况下,执行:

d1:判断所述内存中是否存在所述待读取的数据,如果是,则执行d2,否则,执行d3;

d2:从所述内存中读取所述待读取的数据;

d3:从所述硬盘中读取所述待读取的数据。

优选地,

所述数据处理模块,在执行所述判断待写入的数据是否属于热数据时,用于:

判断所述待写入的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待写入的数据属于热数据,否则,确定所述待写入的数据不属于热数据;

所述数据处理模块,在执行所述判断待读取的数据是否属于热数据时,用于:

判断所述待读取的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待读取的数据属于热数据,否则,确定所述待读取的数据不属于热数据。

第二方面,本发明实施例提供了一种基于第一方面中任一所述的大数据平台的处理终端的大数据平台的写数据的方法,包括:

数据处理模块当接收到写操作的命令时,判断待写入的数据是否属于热数据,如果是,则执行a1;

a1:所述数据处理模块判断内存中是否具有存储所述待写入的数据的空间,如果是,则执行a2;否则,执行a3;

a2:所述数据处理模块将所述待写入的数据写入到所述内存中;

a3:所述数据处理模块判断bcache中是否具有存储所述待写入的数据的空间,如果是,则执行a4,否则,执行a5;

a4:所述数据处理模块将所述待写入的数据写入到所述bcache中;

a5:所述数据处理模块将所述待写入的数据写入到硬盘中。

优选地,

该写数据的方法,进一步包括:

在判断出所述待写入的数据不属于热数据的情况下,执行c1;

c1:所述数据处理模块判断所述内存中是否具有存储所述待写入的数据的空间,如果是,则执行c2,否则,执行c3;

c2:所述数据处理模块将所述待写入的数据写入到所述内存中;

c3:所述数据处理模块将所述待写入的数据写入到所述硬盘中。

优选地,

所述判断待写入的数据是否属于热数据,包括:

判断所述待写入的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待写入的数据属于热数据,否则,确定所述待写入的数据不属于热数据。

第三方面,本发明实施例提供了一种基于第一方面中任一所述的大数据平台的处理终端的大数据平台的读数据的方法,包括:

数据处理模块当接收到读操作的命令时,判断待读取的数据是否属于热数据,如果是,则执行b1;

b1:所述数据处理模块判断所述内存中是否存在所述待读取的数据,如果是,则执行b2,否则,执行b3;

b2:所述数据处理模块从所述内存中读取所述待读取的数据;

b3:所述数据处理模块判断所述bcache中是否存在所述待读取的数据,如果是,则执行b4,否则,执行b5;

b4:所述数据处理模块从所述bcache中读取所述待读取的数据;

b5:所述数据处理模块从所述硬盘中读取所述待读取的数据。

优选地,

该读数据的方法,进一步包括:

在判断出所述待读取的数据不属于热数据的情况下,执行:

d1:所述数据处理模块判断所述内存中是否存在所述待读取的数据,如果是,则执行d2,否则,执行d3;

d2:所述数据处理模块从所述内存中读取所述待读取的数据;

d3:所述数据处理模块从所述硬盘中读取所述待读取的数据。

优选地,

所述判断待读取的数据是否属于热数据,包括:

判断所述待读取的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待读取的数据属于热数据,否则,确定所述待读取的数据不属于热数据。

在本发明实施例中,在内存和硬盘之间添加了bcache,当待写入的数据属于热数据时,按照内存、bcache、硬盘的顺序,确定待写入的数据能够写入的位置,优先写入内存和bcache,当待读取的数据属于热数据时,按照内存、bcache、硬盘的顺序,查找待读取的数据存储的位置,优先从内存和bcache读取,这样,能够实现尽量在内存和bcache中读写热数据,大大减少了对硬盘的操作次数,进而提高了大数据平台处理数据的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种大数据平台的处理终端的示意图;

图2是本发明一实施例提供的一种大数据平台的写数据的方法的流程图;

图3是本发明一实施例提供的一种大数据平台的读数据的方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种大数据平台的处理终端,包括:

内存101、bcache102、硬盘103和数据处理模块104;

所述数据处理模块104,用于执行:

当接收到写操作的命令时,判断待写入的数据是否属于热数据,如果是,则执行a1;

a1:判断所述内存101中是否具有存储所述待写入的数据的空间,如果是,则执行a2;否则,执行a3;

a2:将所述待写入的数据写入到所述内存101中;

a3:判断所述bcache102中是否具有存储所述待写入的数据的空间,如果是,则执行a4,否则,执行a5;

a4:将所述待写入的数据写入到所述bcache102中;

a5:将所述待写入的数据写入到所述硬盘103中;

所述数据处理模块104,用于执行:

当接收到读操作的命令时,判断待读取的数据是否属于热数据,如果是,则执行b1;

b1:判断所述内存101中是否存在所述待读取的数据,如果是,则执行b2,否则,执行b3;

b2:从所述内存101中读取所述待读取的数据;

b3:判断所述bcache102中是否存在所述待读取的数据,如果是,则执行b4,否则,执行b5;

b4:从所述bcache102中读取所述待读取的数据;

b5:从所述硬盘103中读取所述待读取的数据。

在本发明实施例中,在内存和硬盘之间添加了bcache,当待写入的数据属于热数据时,按照内存、bcache、硬盘的顺序,确定待写入的数据能够写入的位置,优先写入内存和bcache,当待读取的数据属于热数据时,按照内存、bcache、硬盘的顺序,查找待读取的数据存储的位置,优先从内存和bcache读取,这样,能够实现尽量在内存和bcache中读写热数据,大大减少了对硬盘的操作次数,进而提高了大数据平台处理数据的速度。

在本发明一实施例中,所述数据处理模块,进一步用于执行:

在判断出所述待写入的数据不属于热数据的情况下,执行c1;

c1:判断所述内存中是否具有存储所述待写入的数据的空间,如果是,则执行c2,否则,执行c3;

c2:将所述待写入的数据写入到所述内存中;

c3:将所述待写入的数据写入到所述硬盘中。

在本发明实施例中,如果待写入的数据不属于热数据,那么,待写入的数据不会写入到bcache,这样,使得bcache专用于存储热数据,保证了热数据能够尽量被存储在内存和bcache中,能够加快写入热数据的速度,进而提高了大数据平台写入数据的速度。

在本发明一实施例中,所述数据处理模块,进一步用于执行:

在判断出所述待读取的数据不属于热数据的情况下,执行:

d1:判断所述内存中是否存在所述待读取的数据,如果是,则执行d2,否则,执行d3;

d2:从所述内存中读取所述待读取的数据;

d3:从所述硬盘中读取所述待读取的数据。

在本发明实施例中,如果待读取的数据不属于热数据,那么,无需到bcache中查找待读取的数据。

在本发明一实施例中,所述数据处理模块,在执行所述判断待写入的数据是否属于热数据时,用于:

判断所述待写入的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待写入的数据属于热数据,否则,确定所述待写入的数据不属于热数据;

所述数据处理模块,在执行所述判断待读取的数据是否属于热数据时,用于:

判断所述待读取的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待读取的数据属于热数据,否则,确定所述待读取的数据不属于热数据。

在本发明实施例中,热数据是指被操作的频率较高的数据,热数据对于大数据平台来说是即时在用的数据,例如:即时的位置状态的数据、交易数据和浏览行为数据等,而较长时间之前的状态数据则不是热数据。

预设的至少一种数据类型可以根据需要定义。

预设的至少一种数据类型可以包括:即时的位置状态、交易数据和浏览行为数据。

在本发明实施例中,bcache可以为固态硬盘。

在本发明实施例中,内存可以看做是一级缓存,bcache可以看做是二级缓存。

在本发明实施例中,热数据是被操作的频率较高的数据,将热数据优先存储在内存和bcache中,能够加快热数据被操作的速度,减少去硬盘操作的次数,整体上能够提升大数据平台读写数据的速度,提高了大数据平台的性能,提高了单进程写操作的性能,提高了数据的安全性,提高了大数据平台的稳定性,实现了数据操作的高效性。

在本发明实施例中,将内存无法存储的热数据,放在bcache里面,减少了存储到硬盘中的热数据,进而减少了对硬盘的操作次数。

bcache可以是linux内核块层cache。默认状态下bcache不缓存顺序io,只缓存随机读写。

如图2所示,本发明实施例提供了一种基于本发明实施例中任一所述的大数据平台的处理终端的大数据平台的写数据的方法,包括:

a0:数据处理模块当接收到写操作的命令时,判断待写入的数据是否属于热数据,如果是,则执行a1;

a1:所述数据处理模块判断内存中是否具有存储所述待写入的数据的空间,如果是,则执行a2;否则,执行a3;

a2:所述数据处理模块将所述待写入的数据写入到所述内存中;

a3:所述数据处理模块判断bcache中是否具有存储所述待写入的数据的空间,如果是,则执行a4,否则,执行a5;

a4:所述数据处理模块将所述待写入的数据写入到所述bcache中;

a5:所述数据处理模块将所述待写入的数据写入到硬盘中。

在本发明一实施例中,该写数据的方法进一步包括:

在判断出所述待写入的数据不属于热数据的情况下,执行c1;

c1:所述数据处理模块判断所述内存中是否具有存储所述待写入的数据的空间,如果是,则执行c2,否则,执行c3;

c2:所述数据处理模块将所述待写入的数据写入到所述内存中;

c3:所述数据处理模块将所述待写入的数据写入到所述硬盘中。

在本发明一实施例中,所述判断待写入的数据是否属于热数据,包括:

判断所述待写入的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待写入的数据属于热数据,否则,确定所述待写入的数据不属于热数据。

如图3所示,本发明实施例提供了一种基于本发明实施例中任一所述的大数据平台的处理终端的大数据平台的读数据的方法,包括:

b0:数据处理模块当接收到读操作的命令时,判断待读取的数据是否属于热数据,如果是,则执行b1;

b1:所述数据处理模块判断所述内存中是否存在所述待读取的数据,如果是,则执行b2,否则,执行b3;

b2:所述数据处理模块从所述内存中读取所述待读取的数据;

b3:所述数据处理模块判断所述bcache中是否存在所述待读取的数据,如果是,则执行b4,否则,执行b5;

b4:所述数据处理模块从所述bcache中读取所述待读取的数据;

b5:所述数据处理模块从所述硬盘中读取所述待读取的数据。

在本发明一实施例中,该读数据的方法,进一步包括:

在判断出所述待读取的数据不属于热数据的情况下,执行:

d1:所述数据处理模块判断所述内存中是否存在所述待读取的数据,如果是,则执行d2,否则,执行d3;

d2:所述数据处理模块从所述内存中读取所述待读取的数据;

d3:所述数据处理模块从所述硬盘中读取所述待读取的数据。

在本发明一实施例中,所述判断待读取的数据是否属于热数据,包括:

判断所述待读取的数据是否属于预设的至少一种数据类型中的一种,如果是,则确定所述待读取的数据属于热数据,否则,确定所述待读取的数据不属于热数据。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,在内存和硬盘之间添加了bcache,当待写入的数据属于热数据时,按照内存、bcache、硬盘的顺序,确定待写入的数据能够写入的位置,优先写入内存和bcache,当待读取的数据属于热数据时,按照内存、bcache、硬盘的顺序,查找待读取的数据存储的位置,优先从内存和bcache读取,这样,能够实现尽量在内存和bcache中读写热数据,大大减少了对硬盘的操作次数,进而提高了大数据平台处理数据的速度。

2、在本发明实施例中,如果待写入的数据不属于热数据,那么,待写入的数据不会写入到bcache,这样,使得bcache专用于存储热数据,保证了热数据能够尽量被存储在内存和bcache中,能够加快写入热数据的速度,进而提高了大数据平台写入数据的速度。

3、在本发明实施例中,热数据是被操作的频率较高的数据,将热数据优先存储在内存和bcache中,能够加快热数据被操作的速度,减少去硬盘操作的次数,整体上能够提升大数据平台读写数据的速度,提高了大数据平台的性能,提高了单进程写操作的性能,提高了数据的安全性,提高了大数据平台的稳定性,实现了数据操作的高效性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1