CN107085577B - 一种加载数据页的方法、计算节点以及协调节点 - Google Patents
一种加载数据页的方法、计算节点以及协调节点 Download PDFInfo
- Publication number
- CN107085577B CN107085577B CN201610086657.3A CN201610086657A CN107085577B CN 107085577 B CN107085577 B CN 107085577B CN 201610086657 A CN201610086657 A CN 201610086657A CN 107085577 B CN107085577 B CN 107085577B
- Authority
- CN
- China
- Prior art keywords
- data
- data page
- computing node
- identifier
- node
- 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.)
- Active
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种加载数据页的方法,用于提高计算节点在重启后处理数据的效率。本发明实施例方法包括:任一计算节点重启时,所述计算节点接收所述协调节点发送的第一标识,所述第一标识包含,在所述计算节点处于关闭状态时,所述协调节点记录的,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;当所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种加载数据页的方法、计算节点以及协调节点。
背景技术
当今世界是一个信息化的世界,我们的生活中无论是生活、工作、学习都离不开信息系统的支撑。而信息系统的背后用于保存和处理最终结果的地方就是数据库。集群(cluster)是由两台或多台节点机或者服务器构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、网页web服务和文件服务等)的单一客户视图。一些集群数据库支持用固态硬盘(SSD,Solid State Drive)、FLASH等高速非易失性存储设备来作数据库的二级缓存,用内存作数据库的一级缓存。如果服务器上有大内存,除操作系统和程序正常运行外其它多余的内存资源可以用来作为缓存,存储处理数据,这被称之为一级缓存(内存缓存)。SSD作为二级缓存是建立在一级缓存的基础上,当一级缓存中的数据被临时淘汰后,这些数据就会自动转存到二级缓存中,当客户机再次请求此类数据时就可直接从二级缓存中来读取,不需要访问速度较慢的机械硬盘。这样做的好处,即能让数量有限的一级缓存能最大程度上保留最频繁访问的数据,又能让速度较快且具有容量优势的SSD缓存保留常用的数据,从而构造出一个层次化的缓存体系,提高服务器的负载能力。
在利用二级缓存进行数据访问的现有技术中,计算节点在读取数据时,首先搜索内存;如果找不到,则搜索固态硬盘,找到后加载到内存中使用;如果在固态硬盘中还是找不到,则搜索磁盘、磁盘阵列,并将找到的数据加载到内存中读取。某个计算节点关闭后,该计算节点的固态硬盘中保存的数据可能会因为其他计算节点对于磁盘、磁盘阵列中的数据的修改而无法保证和磁盘、磁盘阵列中的数据实现同步。因此,在该计算节点重启后,清空固态硬盘内的数据页,重新积累数据页。在重新积累数据页的过程中,许多数据的获取都要访问磁盘、磁盘阵列等低速的存储设备,导致计算节点在重启后的一段时间里的读取效率比较低。
发明内容
本发明实施例提供了一种加载数据页的方法、计算节点以及协调节点,用于提高计算节点在重启后的数据访问效率。
本发明实施例第一方面提供了一种加载数据页的方法,该方法应用于集群数据库系统,该集群数据库系统包括第一存储设备、协调节点和多个计算节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,任一计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该方法包括:任一计算节点重启时,该计算节点接收该协调节点发送的第一标识,该第一标识包含,在该计算节点处于关闭状态时,该协调节点记录的,与该计算节点的第二数据页集合中的数据页具有相同身份标识的该第一数据页集合中的数据页是否被改动的状态信息;当该状态信息为被改动的数据页的数量未超过阈值时,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合。
在本发明实施例中,应理解,集群数据库系统包括第一存储设备、协调节点和多个计算节点,其中第一存储设备指相对于计算节点所包含的高速读取的第二存储设备和内存而言,示例性的,存取速度比较低的第一存储设备,包括磁盘、磁盘阵列、存储阵列等,存取速度比较快的第一存储设备,包括固态硬盘、闪存、相变存储器等。计算节点一般不少于两个,协调节点在实际应用中也有两个,其中一个作为备用。还应理解,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合,是指计算节点不清空或者不删除关闭状态时保存的第二数据页集合,而使第二存储设备继续维持关闭状态时保存的数据页。还应理解,阈值可以为按照经验获得的预设值,也可以是在前处理中经过训练得到的固定值,还可以是在系统运行过程中不断更新的变化值,不做限定,可以是自然数值,也可以是比例数值,不做限定。
在本发明实施例中,协调节点记录未改动的数据页的信息并发送给计算节点,当被改动的数据页的数量未超过阈值时,计算节点重启后,不清空第二存储设备中的数据,第二存储设备不需要从低速第一存储设备中重新加载数据,提高了计算节点重启后的数据访问效率。
结合第一方面,在第一方面的第一种可能的实现方式中,在该当该状态信息为被改动的数据页的数量未超过阈值时,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合之前,还包括:该计算节点根据该第一标识确定该状态信息为被改动的数据页的数量。
结合第一方面,在第一方面的第二种可能的实现方式中,该第一标识还包含该协调节点根据该记录确定的该状态信息为被改动的数据页的数量。
结合第一方面,第一方面的第一、第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,该计算节点还包含内存,该计算节点的第二存储设备还用于保存第二标识,该第二标识包含需要从该第一数据页集合或者该第二数据页集合加载到该内存的数据页的身份标识,在该当该状态信息为被改动的数据页的数量未超过阈值时,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合之后,还包括:该计算节点根据该第二标识将该第一数据页集合或者该第二数据页集合中的数据页加载到该内存。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,该计算节点根据该第二标识将该第一数据页集合或者该第二数据页集合中的数据页加载到该内存,包括:该计算节点从该第一数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存。
在本发明实施例中,计算节点关闭以前,第二存储设备上保存着第二标识,第二标识包含需要加载到该内存的数据页的身份标识,第二存储设备上因为关闭导致的数据页的不同步不会影响第二标识的准确性,为加载内存的数据提供了一种可行的方案。
结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,该计算节点根据该第二标识将该第一数据页集合或者该第二数据页集合中的数据页加载到该内存,包括:当该第二数据页集合中具有该第二标识指示的身份标识的数据页的该状态信息为被改动时,该计算节点从该第一数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存;否则,该计算节点从该第二数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存。
在本发明实施例中,当计算节点加载数据页到内存时,可以根据第二标识所指示的数据页的身份标识,从第二存储设备上加载上述未被改动的数据页,从第一存储设备上加载被改动的数据页,因为第二存储设备的性能高于第一存储设备,所以节省了加载时间,提高了数据的读取效率。
结合第一方面,第一方面的第一至五种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第一方面,第一方面的第一至六种可能的实现方式中的任意一种,在第一方面的第七种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第二方面提供了一种加载数据页的方法,该方法应用于集群数据库系统,该集群数据库系统包括第一存储设备、协调节点和多个计算节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,该协调节点指导任一计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该方法包括:任一计算节点处于关闭状态时,该协调节点记录第一标识,该第一标识包含,与该计算节点的第二数据页集合中的数据页具有相同身份标识的该第一数据页集合中的数据页是否被改动的状态信息;该计算节点重启时,该协调节点向该计算节点发送该第一标识,使得当根据该第一标识确定的该状态信息为被改动的数据页的数量未超过阈值时,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合。
在本发明实施例中,协调节点记录未改动的数据页的信息并发送给计算节点,当被改动的数据页的数量未超过阈值时,计算节点重启后,不清空第二存储设备中的数据,第二存储设备不需要从低速第一存储设备中重新加载数据,提高了计算节点重启后的数据访问效率。
结合第二方面,在第二方面的第一种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第三方面提供了一种加载数据页的计算节点,该计算节点应用于集群数据库系统,该集群数据库系统还包括第一存储设备和协调节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,该计算节点包含第二存储设备,该计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该计算节点包括:接收模块,用于所述计算节点重启时,接收该协调节点发送的第一标识,该第一标识包含,在该计算节点处于关闭状态时,该协调节点记录的,与该计算节点的第二数据页集合中的数据页具有相同身份标识的该第一数据页集合中的数据页是否被改动的状态信息;加载模块,用于当该状态信息为被改动的数据页的数量未超过阈值时,在该重启时,保留在该关闭状态时保存的该第二数据页集合。
结合第三方面,在第三方面的第一种可能的实现方式中,所述加载模块,具体用于根据该第一标识确定该状态信息为被改动的数据页的数量,当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
结合第三方面,在第三方面的第二种可能的实现方式中,该第一标识还包含该协调节点根据该记录确定的该状态信息为被改动的数据页的数量;所述加载模块,具体用于确定所述被改动的数据页的数量未超过阈值时,在所述重启时保留在所述关闭状态时保存的所述第二数据页集合。
结合第三方面,第三方面的第一、第二种可能的实现方式中的任意一种,在第三方面的第三种可能的实现方式中,该计算节点还包含内存,该计算节点的第二存储设备还用于保存第二标识,该第二标识包含需要从该第一数据页集合或者该第二数据页集合加载到该内存的数据页的身份标识,该加载模块,还用于根据该第二标识将该第一数据页集合或者该第二数据页集合中的数据页加载到该内存。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,该加载模块,具体用于:当该第二数据页集合中具有该第二标识指示的身份标识的数据页的该状态信息为被改动时,从该第一数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存;否则,从该第二数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存。
结合第三方面,第三方面的第一至四种可能的实现方式中的任意一种,在第三方面的第五种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第三方面,第三方面的第一至五种可能的实现方式中的任意一种,在第三方面的第六种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第四方面提供了一种加载数据页的协调节点,其特征在于,该协调节点应用于集群数据库系统,该集群数据库系统还包括第一存储设备和多个计算节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,该协调节点指导任一计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该协调节点包括:记录模块,用于任一计算节点处于关闭状态时,记录第一标识,该第一标识包含,与该计算节点的第二数据页集合中的数据页具有相同身份标识的该第一数据页集合中的数据页是否被改动的状态信息;发送模块,用于该计算节点重启时,向该计算节点发送该第一标识,使得当根据该第一标识确定的该状态信息为被改动的数据页的数量未超过阈值时,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合。
结合第四方面,在第四方面的第一种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第四方面或者第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第五方面提供了一种加载数据页的计算节点,多个该计算节点应用于集群数据库系统,该集群数据库系统还包括第一存储设备和协调节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,该计算节点包含第二存储设备,该计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该计算节点包括:收发器、处理器以及总线;该收发器和该处理器通过该总线连接;该收发器,用于任一计算节点重启时,接收该协调节点发送的第一标识,该第一标识包含,在该计算节点处于关闭状态时,该协调节点记录的,与该计算节点的第二数据页集合中的数据页具有相同身份标识的该第一数据页集合中的数据页是否被改动的状态信息;该处理器,用于当该状态信息为被改动的数据页的数量未超过阈值时,在该重启时,保留在该关闭状态时保存的该第二数据页集合。
结合第五方面,在第五方面的第一种可能的实现方式中,还包括:该处理器,还用于根据该第一标识确定该状态信息为被改动的数据页的数量。
结合第五方面,在第五方面的第二种可能的实现方式中,该第一标识还包含该协调节点根据该记录确定的该状态信息为被改动的数据页的数量。
结合第五方面,第五方面的第一、第二种可能的实现方式中的任意一种,在第五方面的第三种可能的实现方式中,该计算节点还包含内存,该计算节点的第二存储设备还用于保存第二标识,该第二标识包含需要从该第一数据页集合或者该第二数据页集合加载到该内存的数据页的身份标识,还包括:该处理器,还用于根据该第二标识将该第一数据页集合或者该第二数据页集合中的数据页加载到该内存。
结合第五方面的第三种可能的实现方式,在第五方面的第四种可能的实现方式中,该处理器,还具体用于:从该第一数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存。
结合第五方面的第三种可能的实现方式,在第五方面的第五种可能的实现方式中,该处理器,还具体用于:当该第二数据页集合中具有该第二标识指示的身份标识的数据页的该状态信息为被改动时,从该第一数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存;否则,从该第二数据页集合中将具有该第二标识指示的身份标识的数据页加载到该内存。
结合第五方面,第五方面的第一至五种可能的实现方式中的任意一种,在第五方面的第六种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第五方面,第五方面的第一至六种可能的实现方式中的任意一种,在第五方面的第七种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第六方面提供了一种加载数据页的协调节点,其特征在于,该协调节点应用于集群数据库系统,该集群数据库系统还包括第一存储设备和多个计算节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,该协调节点指导任一计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该协调节点包括:收发器、处理器以及总线;该收发器和该处理器通过该总线连接;该处理器,用于任一计算节点处于关闭状态时,记录第一标识,该第一标识包含,与该计算节点的第二数据页集合中的数据页具有相同身份标识的该第一数据页集合中的数据页是否被改动的状态信息;该收发器,用于该计算节点重启时,向该计算节点发送该第一标识,使得当根据该第一标识确定的该状态信息为被改动的数据页的数量未超过阈值时,该计算节点在该重启时,保留在该关闭状态时保存的该第二数据页集合。
结合第六方面,在第六方面的第一种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第六方面或者第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第七方面提供了一种加载数据页的装置,该装置包括处理器和耦合于处理器的存储器,该存储器保存指令,该处理器根据该指令执行本发明实施例第一方面或第一方面的任一可能的实现方式的方法。
本发明实施例第八方面提供了一种加载数据页的装置,该装置包括处理器和耦合于处理器的存储器,该存储器保存指令,该处理器根据该指令执行本发明实施例第二方面的方法。
本发明实施例第九方面提供了一种加载数据页的集群数据库系统,该集群数据库系统包括第一存储设备、协调节点和多个计算节点,该第一存储设备用于保存第一数据页集合,该第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,任一计算节点加载该第一数据页集合中的至少一个数据页,形成第二数据页集合,该计算节点的第二存储设备用于保存该第二数据页集合,该计算节点还用于执行本发明实施例第一方面或第一方面的任一可能的实现方式的方法,该协调节点还用于执行本发明实施例第二方面的方法。
结合第九方面,在第九方面的第一种可能的实现方式中,该第一存储设备包括磁盘、磁盘阵列或者存储阵列。
结合第九方面或者第九方面的第一种可能的实现方式,在第九方面的第二种可能的实现方式中,该第二存储设备包括固态硬盘、相变存储器或者闪存。
本发明实施例第三至第九方面的有益效果参考本实施例第一和第二方面的对应技术方案的有益效果,不再赘述。
根据以上技术方案,本发明实施例具有以下优点:
本发明实施例中,协调节点在任一计算节点关闭后记录该计算节点处于关闭状态时,与该计算节点的第二存储设备上的数据页集合中的数据页具有相同身份标识的第一存储设备中的数据页是否被改动的状态信息;在该计算节点重启时,该协调节点向该计算节点发送上述状态信息;根据该状态信息,协调节点或者计算节点确定上述被改动的数据页的数量;当被改动的数据页的数量不大于阈值时,该计算节点保留关闭前第二存储设备中的数据页。因此,该计算节点重启后,不需要再从磁盘、磁盘阵列等第一存储设备中加载数据到固态硬盘等第二存储设备,所以重启后的计算节点访问数据的性能相能相较于需要重新在第二存储设备中积累数据得到了较大提升。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中集群数据库的场景示意图;
图2为本发明实施例中集群数据库的结构示意图;
图3为本发明实施例中加载数据页的一个示意性流程图;
图4为本发明实施例中加载数据页的又一个示意性流程图;
图5为本发明实施例中加载数据页的另一个示意性流程图;
图6为本发明实施例中计算节点的一个示意性结构框图;
图7为本发明实施例中计算节点的又一个示意性结构框图;
图8为本发明实施例中计算节点的另一个示意性结构框图;
图9为本发明实施例中协调节点的一个示意性结构框图;
图10为本发明实施例中计算节点的另一个示意性结构框图;
图11为本发明实施例中协调节点的另一个示意性结构框图。
具体实施方式
本发明实施例提供了一种加载数据页的方法、计算节点以及协调节点,用于提高计算节点在重启后处理数据的效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明实施例中,集群数据库系统包括协调节点、第一存储设备和多个计算节点,集群数据库系统应用场景示意图如图1所示。示例性的,图1中的计算节点为4个,应理解实际场景中计算节点一般多于2个,每个计算节点包括内存和固态硬盘。计算节点和协调节点可以是独立的设备,也可以是同属于一个服务器或多个服务器中的不同虚拟机。集群数据库系统的示例性结构如图2所示,计算节点主要执行对第一存储设备中的数据进行处理的功能,协调节点主要执行指导计算节点进行数据处理作业的功能,计算节点和协调节点根据各自的功能而被区分开,一般具有相同或类似的硬件结构,在一些特定的应用场合,通过配置可以互换,或者相互执行对方在集群数据库系统中的功能。
应理解,在本发明实施例中,第一存储设备是所述集群数据库系统的数据存储装置;内存是作为计算节点的计算机中重要的部件,计算机中所有程序的运行都是在内存中进行的,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来;第二存储设备作为上述内存所在计算机的二级缓存,用于存储经常被内存调用的数据。示例性的,表1描述了计算节点的内存、第二存储设备和集群数据库系统的第一存储设备之间的关系与区别。
表1
数据页是数据文件中的最小存储单元,每一个数据页具有唯一的标识与其他数据页相区分,包括数据页的在存储空间中的地址或者数据页的页码。在本发明实施例中,示例性的,不妨将上述标识成为数据页身份(数据页ID)。应理解,在本发明实施例中,第一数据页集合是指集群数据库系统的全部数据,存储于第一存储设备中,第一存储设备包括但不限于上述磁盘、磁阵、存储阵列等低速存储设备,第二数据页集合是指从集群数据库系统的全部数据中获取的部分数据,通常是任一计算节点的内存经常访问的数据,即访问命中率较高的数据,存储于该计算节点的第二存储设备中,第二存储设备包括但不限于固态硬盘等高速存储设备。第一存储设备或者第二存储设备中的数据需要被加载到内存中进行处理。
在本发明实施例中,不妨设第一存储设备为磁盘阵列,第二存储设备为固态硬盘,图3示出了本发明加载数据页的方法的一个实施例,具体包括:
301、任一计算节点处于关闭状态时,所述协调节点记录第一标识,所述第一标识包含,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息。
如图1所示,协调节点和计算节点通过网络连接在同一集群数据库系统中,当任一计算节点关闭时,其开启/关闭的状态信息会通过上述系统网络传递到协调节点,即协调节点能够探知任一计算节点的关闭。示例性的,设发生关闭的计算节点为第一节点,应理解,发生关闭的计算节点可能是其它计算节点或者多个计算节点同时关闭,协调节点会为每一个关闭的计算节点建立记录。
具体举例来说,磁盘阵列中保存有数据页ID为0-9的数据页,在第一节点关闭前,第一节点的固态硬盘中保存有数据页ID为1、4、7、9的数据页。在第一节点处于关闭状态的时候,不妨设,磁盘阵列中数据页ID为4、5、7的数据页,由于其它计算节点的数据处理而被改变,则协调节点检查第一节点保存的数据页(数据页ID为1、4、7、9的数据页)以及在第一节点处于关闭状态期间被改动的数据页(数据页ID为4、5、7的数据页),将它们中具有相同数据页ID的数据页记录下来,作为第一标识。示例性的,第一标识可以包括上述被改动的数据页的ID4、ID7以及预先约定的提示符;示例性的,第一标识还可以为第一节点保存的数据页的状态,如表2所示,其中0代表不变,1代表改变;第一标识的具体形式,不做限定。
数据页ID | ID1 | ID4 | ID7 | ID9 |
第一标识 | 0 | 1 | 1 | 0 |
表2
302、所述计算节点重启时,所述协调节点向所述计算节点发送所述第一标识。
在本实施例中,当第一节点重启时,协调节点通过系统网络向计算节点发送步骤301中生成的第一标识。示例性的,在第一种可能的实施方式中,协调节点探知第一节点重启后,即向第一节点发送第一标识;在第二种可能的实施方式中,第一节点重启后,首先向协调节点发送获取第一标识的请求,协调节点响应请求,向第一节点发送第一标识;在第三种可能的实施方式中,协调节点探知第一节点重启后,首先向第一节点发送访问请求,第一节点响应并接受请求后,协调节点向第一节点发送第一标识。
应理解,本步骤也即,所述计算节点重启时,所述计算节点接收所述协调节点发送的所述第一标识。
固态硬盘具有非瞬时存储数据的能力,除了用于存储从集群数据库中加载的数据,比如本发明实施例中所述的数据页之外,还用于保存描述上述数据的状态信息,一般称为元数据,包括保存的数据的访问热度、脏净程度、是否有效等信息。在一些实施例中,第一节点在接收到第一标识之后,会将第一标识中携带的信息作为元数据保存在固态硬盘中,以备后续使用,在后面的步骤中将进行详细说明。
303、所述计算节点根据所述第一标识确定所述状态信息为被改动的数据页的数量。
在本实施例中,第一节点在接收到第一标识之后,可以根据第一标识的信息,即ID4、ID7为被改动的数据页,确定被改动的数据页的数量为2个。
在另一实施例中,如图4所示,根据所述第一标识确定所述状态信息为被改动的数据页的数量由所述协调节点完成,不再需要步骤303所对应的步骤。示例性的,在图4所示的实施例中,协调节点根据第一标识的信息,即ID4、ID7为被改动的数据页,确定被改动的数据页的数量为2个,并将其作为第一标识的一部分或者作为独立的信息和第一标识一起发送给第一节点。除步骤303所对应的步骤外,其他步骤与图3所示的实施例相似,不再赘述。
304、当所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
设置阈值的目的在于当被改动的数据页的数量过多时,即大多数数据页都无法供内存调用,那么即使将这些数据页保存下来,为了获取内存需要加载的数据,还是要从磁盘阵列中读取加载数据,本发明实施例就无法取得有益效果。举例来说,当固态硬盘中的所有数据页都被改动了,所有固态硬盘上的数据页都无法使用,也就无法提高数据读取的效率。反之,当固态硬盘中的所有数据页都没有被改动,所有固态硬盘上的数据页都可以使用,本发明实施例可以最大程度地提高数据读取的效率。阈值的选取可以是经验值,也可以在系统的运行过程中随实际数据处理的情况和系统性能自适应地更新,可以取1到第二数据页集合总量间的任意自然数,也可以取0到100%间的任意比例值,不做限定。
在本实施例中,不妨设阈值为2,步骤303确定的被改动的数据页的数量为2,则满足状态信息为被改动的数据页的数量未超过阈值,则在第一节点重启时,固态硬盘保留其在关闭时保存在其中的数据页。应理解,保留是指固态硬盘不清空或者不删除在关闭时保存在其中的数据页以及与不清空、不删除等同的方法,不做限定。
在一些实施例中,当所述状态信息为被改动的数据页的数量超过阈值时,所述计算节点在所述重启时,清空,在所述关闭状态时保存的所述第二数据页集合。在一些实施例中,进一步的,从第一存储设备中重新加载需要的数据页到第二存储设备。
在本发明实施例中,协调节点记录未改动的数据页的信息并发送给计算节点,当被改动的数据页的数量未超过阈值时,计算节点重启后,不清空第二存储设备中的数据,第二存储设备不需要从低速第一存储设备中重新加载数据,提高了计算节点重启后的数据访问效率。
图5示出了本发明加载数据页的方法的另一个实施例,在本实施例中,计算节点还包含内存,计算节点的第二存储设备还用于保存第二标识,所述第二标识包含需要从所述第一数据页集合或者所述第二数据页集合加载到所述内存的数据页的身份标识,不妨设任一计算节点为第一节点且具有与其在如图3所示的实施例中相同的状态信息,则第一节点的固态硬盘中还保存有需要加载到内存的数据页的数据页ID,即第二标识,具体包括:
501、任一计算节点处于关闭状态时,所述协调节点记录第一标识,所述第一标识包含,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息。
502、所述计算节点重启时,所述协调节点向所述计算节点发送所述第一标识。
503、所述计算节点根据所述第一标识确定所述状态信息为被改动的数据页的数量。
504、当所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
上述步骤501-504与图3所示的实施例的步骤301-304相似,不再赘述。
505、所述计算节点根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存。
示例性的,不妨设,需要将数据页ID为ID1、ID3、ID4的数据页加载到内存中,则第二标识如表3所示。
需加载到内存的数据页ID | ID1 | ID3 | ID4 |
表3
第一节点根据上述第二标识从第一节点的固态硬盘或者磁盘阵列中加载相应的数据页到第一节点的内存中。
在本发明实施例中,计算节点关闭以前,第二存储设备上保存着第二标识,第二标识包含需要加载到该内存的数据页的身份标识,第二存储设备上因为关闭导致的数据页的不同步不会影响第二标识的准确性,为加载内存的数据提供了一种可行的方案。
示例性的,在第一种可能的实施方式中,所述计算节点从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。在本实施例中,第一节点根据上述的第二标识在磁盘阵列中查询数据页ID为ID1、ID3、ID4的数据页,并将其加载到内存中;示例性的,在第二种可能的实施方式中,当所述第二数据页集合中具有所述第二标识指示的身份标识的数据页的所述状态信息为被改动时,所述计算节点从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;否则,所述计算节点从所述第二数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。在本实施例中,在步骤502中获得了第一节点的固态硬盘上保存的数据页的状态信息,如表2所示,即数据页ID为ID4、ID7的数据页被改动,数据页ID为ID1、ID9的数据页未被改动,此时,在需要加载到内存的数据页中,固态硬盘中的ID4根据步骤502获知,状态信息为被改动,则第一节点从磁盘阵列中查询数据页ID为ID4的数据页,并将其加载到内存中;固态硬盘中的ID1根据步骤502获知,状态信息为未被改动,则第一节点从固态硬盘中查询数据页ID为ID1的数据页,并将其加载到内存中;可选的,由于数据页ID为ID2的数据页未保存在第一节点的固态硬盘中,在一些实施例中,第一节点从磁盘阵列中查询数据页ID为ID2的数据页,并将其加载到内存中;在另一些实施例中,第一节点从磁盘阵列中查询数据页ID为ID2的数据页,并将其加载到固态硬盘中,再将其从固态硬盘中加载到内存中。
在本发明实施例中,当计算节点加载数据页到内存时,可以根据第二标识所指示的数据页的身份标识,从第二存储设备上加载上述未被改动的数据页,从第一存储设备上加载被改动的数据页,因为第二存储设备的性能高于第一存储设备,所以节省了加载时间,提高了数据的读取效率。
应理解,内存仅仅作为处理数据的空间,并不用来长期地存储数据。经常被内存调用或访问的数据,常被称为热数据,一般会存储在固态磁盘中,以备进一步加载到内存中。在实际应用中,图5所示的实施例同样适用于热数据页的加载。
图6示出了本发明加载数据页的计算节点的一个实施例,所述计算节点应用于集群数据库系统,所述集群数据库系统还包括第一存储设备611和协调节点612,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,所述计算节点613包含第二存储设备614,所述计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述第一存储设备包括但不限于磁盘、磁盘阵列或者存储阵列,所述第二存储设备包括但不限于固态硬盘、相变存储器或者闪存,所述计算节点具体包括:
接收模块601,用于所述计算节点重启时,接收所述协调节点发送的第一标识,所述第一标识包含,在所述计算节点处于关闭状态时,所述协调节点记录的,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
加载模块602,用于当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
可选的,在一些实施例中,如图7所示,所述加载模块702还具体用于根据所述第一标识确定所述状态信息为被改动的数据页的数量,用于当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
可选的,在一些实施例中,所述第一标识还包含所述协调节点根据所述记录确定的所述状态信息为被改动的数据页的数量。
在本发明实施例中,协调节点记录未改动的数据页的信息并发送给计算节点,当被改动的数据页的数量未超过阈值时,计算节点重启后,不清空第二存储设备中的数据,第二存储设备不需要从低速第一存储设备中重新加载数据,提高了计算节点重启后的数据访问效率。
可选的,在一些实施例中,如图8所示,所述计算节点还包含内存815,所述计算节点的第二存储设备还用于保存第二标识,所述第二标识包含需要从所述第一数据页集合或者所述第二数据页集合加载到所述内存的数据页的身份标识,所述加载模块,还用于根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存。示例性的,在第一种可能的实施方式中,所述加载模块,还具体用于:从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;在第二种可能的实施方式中,所述加载模块,还具体用于:当所述第二数据页集合中具有所述第二标识指示的身份标识的数据页的所述状态信息为被改动时,从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;否则,从所述第二数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。
在本发明实施例中,当计算节点加载数据页到内存时,可以根据第二标识所指示的数据页的身份标识,从第二存储设备上加载上述未被改动的数据页,从第一存储设备上加载被改动的数据页,因为第二存储设备的性能高于第一存储设备,所以节省了加载时间,提高了数据的读取效率。
图9示出了本发明加载数据页的协调节点的一个实施例,所述协调节点911应用于集群数据库系统,所述集群数据库系统还包括第一存储设备912和多个计算节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,所述协调节点指导任一计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点913的第二存储设备用于保存所述第二数据页集合,所述第一存储设备包括但不限于磁盘、磁盘阵列或者存储阵列,所述第二存储设备包括但不限于固态硬盘、相变存储器或者闪存,所述协调节点包括:
记录模块901,用于任一计算节点处于关闭状态时,记录第一标识,所述第一标识包含,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
发送模块902,用于所述计算节点重启时,向所述计算节点发送所述第一标识,使得当根据所述第一标识确定的所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
在本发明实施例中,协调节点记录未改动的数据页的信息并发送给计算节点,当被改动的数据页的数量未超过阈值时,计算节点重启后,不清空第二存储设备中的数据,第二存储设备不需要从低速第一存储设备中重新加载数据,提高了计算节点重启后的数据访问效率。
图10示出了本发明加载数据页的计算节点的另一个实施例,所述计算节点应用于集群数据库系统,所述集群数据库系统还包括第一存储设备和协调节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,所述计算节点包含第二存储设备,所述计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述第一存储设备包括但不限于磁盘、磁盘阵列或者存储阵列,所述第二存储设备包括但不限于固态硬盘、相变存储器或者闪存,所述计算节点具体包括:收发器1001、处理器1002以及总线1003;收发器1001和处理器1002通过总线1003连接;处理器1002可以是一种集成电路芯片,具有信号处理能力,可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的各方法、步骤及逻辑框图。通用处理器可以是微处理器,也可以是任何常规的处理器等;
收发器1001,用于所述计算节点重启时,接收所述协调节点发送的第一标识,所述第一标识包含,在所述计算节点处于关闭状态时,所述协调节点记录的,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
处理器1002,用于当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
可选的,在一些实施例中,处理器1002,还用于根据所述第一标识确定所述状态信息为被改动的数据页的数量,用于当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
可选的,在一些实施例中,所述第一标识还包含所述协调节点根据所述记录确定的所述状态信息为被改动的数据页的数量。
可选的,在一些实施例中,所述计算节点还包含内存,所述计算节点的第二存储设备还用于保存第二标识,所述第二标识包含需要从所述第一数据页集合或者所述第二数据页集合加载到所述内存的数据页的身份标识,所述加载模块,还用于根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存。示例性的,在第一种可能的实施方式中,所述加载模块,还具体用于:从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;在第二种可能的实施方式中,所述加载模块,还具体用于:当所述第二数据页集合中具有所述第二标识指示的身份标识的数据页的所述状态信息为被改动时,从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;否则,从所述第二数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。
图11示出了本发明加载数据页的协调节点的一个实施例,所述协调节点应用于集群数据库系统,所述集群数据库系统还包括第一存储设备和多个计算节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,所述协调节点指导任一计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述第一存储设备包括但不限于磁盘、磁盘阵列或者存储阵列,所述第二存储设备包括但不限于固态硬盘、相变存储器或者闪存,所述协调节点包括:收发器1101、处理器1102以及总线1103;收发器1101和处理器1102通过总线1103连接;处理器1102可以是一种集成电路芯片,具有信号处理能力,可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的各方法、步骤及逻辑框图。通用处理器可以是微处理器,也可以是任何常规的处理器等;
收发器1101,用于任一计算节点处于关闭状态时,记录第一标识,所述第一标识包含,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
处理器1102,用于所述计算节点重启时,向所述计算节点发送所述第一标识,使得当根据所述第一标识确定的所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
所属领域的技术人员可以清楚地了解到,图6-图11所述的计算节点、协调节点的实施例与图3-图5所述的加载数据页的方法的各对应实施例,技术方案一致,有益效果相似,为描述的方便和简洁,可以参考前述方法实施例中的对应过程,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种加载数据页的方法,其特征在于,所述方法应用于集群数据库系统,所述集群数据库系统包括第一存储设备、协调节点和多个计算节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,任一计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述方法包括:
任一计算节点重启时,所述计算节点接收所述协调节点发送的第一标识,所述第一标识包含,在所述计算节点处于关闭状态时,所述协调节点记录的,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
当所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
2.根据权利要求1所述的方法,其特征在于,在所述当所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合之前,还包括:
所述计算节点根据所述第一标识确定所述状态信息为被改动的数据页的数量。
3.根据权利要求1所述的方法,其特征在于,所述第一标识还包含所述协调节点根据所述记录确定的所述状态信息为被改动的数据页的数量。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述计算节点还包含内存,所述计算节点的第二存储设备还用于保存第二标识,所述第二标识包含需要从所述第一数据页集合或者所述第二数据页集合加载到所述内存的数据页的身份标识,在所述当所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合之后,还包括:
所述计算节点根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存。
5.根据权利要求4所述的方法,其特征在于,所述计算节点根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存,包括:
所述计算节点从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。
6.根据权利要求4所述的方法,其特征在于,所述计算节点根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存,包括:
当所述第二数据页集合中具有所述第二标识指示的身份标识的数据页的所述状态信息为被改动时,所述计算节点从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;
否则,所述计算节点从所述第二数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。
7.根据权利要求1所述的方法,其特征在于,所述第一存储设备包括磁盘、磁盘阵列或者存储阵列。
8.根据权利要求1所述的方法,其特征在于,所述第二存储设备包括固态硬盘、相变存储器或者闪存。
9.一种加载数据页的方法,其特征在于,所述方法应用于集群数据库系统,所述集群数据库系统包括第一存储设备、协调节点和多个计算节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,所述协调节点指导任一计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述方法包括:
任一计算节点处于关闭状态时,所述协调节点记录第一标识,所述第一标识包含,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
所述计算节点重启时,所述协调节点向所述计算节点发送所述第一标识,使得当根据所述第一标识确定的所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
10.一种加载数据页的计算节点,其特征在于,所述计算节点应用于集群数据库系统,所述集群数据库系统还包括第一存储设备和协调节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,所述计算节点包含第二存储设备,所述计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述计算节点还包括:
接收模块,用于所述计算节点重启时,接收所述协调节点发送的第一标识,所述第一标识包含,在所述计算节点处于关闭状态时,所述协调节点记录的,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
加载模块,用于当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
11.根据权利要求10所述的计算节点,其特征在于,所述加载模块,具体用于根据所述第一标识确定所述状态信息为被改动的数据页的数量,当所述状态信息为被改动的数据页的数量未超过阈值时,在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
12.根据权利要求10所述的计算节点,其特征在于,所述第一标识还包含所述协调节点根据所述记录确定的所述状态信息为被改动的数据页的数量;所述加载模块,具体用于确定所述被改动的数据页的数量未超过阈值时,在所述重启时保留在所述关闭状态时保存的所述第二数据页集合。
13.根据权利要求10-12任一项所述的计算节点,其特征在于,所述计算节点还包含内存,所述计算节点的第二存储设备还用于保存第二标识,所述第二标识包含需要从所述第一数据页集合或者所述第二数据页集合加载到所述内存的数据页的身份标识,
所述加载模块,还用于根据所述第二标识将所述第一数据页集合或者所述第二数据页集合中的数据页加载到所述内存。
14.根据权利要求13所述的计算节点,其特征在于,所述加载模块,具体用于,
当所述第二数据页集合中具有所述第二标识指示的身份标识的数据页的所述状态信息为被改动时,从所述第一数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存;
否则,从所述第二数据页集合中将具有所述第二标识指示的身份标识的数据页加载到所述内存。
15.一种加载数据页的协调节点,其特征在于,所述协调节点应用于集群数据库系统,所述集群数据库系统还包括第一存储设备和多个计算节点,所述第一存储设备用于保存第一数据页集合,所述第一数据页集合中的每一个数据页具有唯一的身份标识,每个计算节点包含第二存储设备,所述协调节点指导任一计算节点加载所述第一数据页集合中的至少一个数据页,形成第二数据页集合,所述计算节点的第二存储设备用于保存所述第二数据页集合,所述协调节点包括:
记录模块,用于任一计算节点处于关闭状态时,记录第一标识,所述第一标识包含,与所述计算节点的第二数据页集合中的数据页具有相同身份标识的所述第一数据页集合中的数据页是否被改动的状态信息;
发送模块,用于所述计算节点重启时,向所述计算节点发送所述第一标识,使得当根据所述第一标识确定的所述状态信息为被改动的数据页的数量未超过阈值时,所述计算节点在所述重启时,保留在所述关闭状态时保存的所述第二数据页集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610086657.3A CN107085577B (zh) | 2016-02-15 | 2016-02-15 | 一种加载数据页的方法、计算节点以及协调节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610086657.3A CN107085577B (zh) | 2016-02-15 | 2016-02-15 | 一种加载数据页的方法、计算节点以及协调节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107085577A CN107085577A (zh) | 2017-08-22 |
CN107085577B true CN107085577B (zh) | 2021-01-05 |
Family
ID=59614095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610086657.3A Active CN107085577B (zh) | 2016-02-15 | 2016-02-15 | 一种加载数据页的方法、计算节点以及协调节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107085577B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268274A (zh) * | 2014-10-14 | 2015-01-07 | 华为技术有限公司 | 一种记录数据库日志的方法、装置及系统 |
CN104462225A (zh) * | 2014-11-12 | 2015-03-25 | 华为技术有限公司 | 一种数据读取的方法、装置及系统 |
US9003144B1 (en) * | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
CN104504147A (zh) * | 2015-01-04 | 2015-04-08 | 华为技术有限公司 | 一种数据库集群的资源协调方法、装置及系统 |
CN104683480A (zh) * | 2015-03-19 | 2015-06-03 | 成都艺辰德迅科技有限公司 | 一种基于应用的分布式计算方法 |
-
2016
- 2016-02-15 CN CN201610086657.3A patent/CN107085577B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9003144B1 (en) * | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
CN104268274A (zh) * | 2014-10-14 | 2015-01-07 | 华为技术有限公司 | 一种记录数据库日志的方法、装置及系统 |
CN104462225A (zh) * | 2014-11-12 | 2015-03-25 | 华为技术有限公司 | 一种数据读取的方法、装置及系统 |
CN104504147A (zh) * | 2015-01-04 | 2015-04-08 | 华为技术有限公司 | 一种数据库集群的资源协调方法、装置及系统 |
CN104683480A (zh) * | 2015-03-19 | 2015-06-03 | 成都艺辰德迅科技有限公司 | 一种基于应用的分布式计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107085577A (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6560308B2 (ja) | データ記憶サービスを実装するシステム及び方法 | |
Dong et al. | Optimizing Space Amplification in RocksDB. | |
US9672245B2 (en) | Memory storage apparatus, method of supporting transaction function for database, and memory system | |
CN104301360A (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
CN104111804A (zh) | 一种分布式文件系统 | |
CN107784108A (zh) | 一种数据存储管理方法、装置及设备 | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
CN107798106B (zh) | 一种分布式爬虫系统中的url去重方法 | |
CN105205143A (zh) | 一种文件存储及处理方法、设备和系统 | |
CN104035822A (zh) | 一种低开销的高效内存去冗余方法及系统 | |
CN111159140B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
CN106874343B (zh) | 一种时序数据库的数据删除方法及系统 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
US20220342888A1 (en) | Object tagging | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
WO2016175880A1 (en) | Merging incoming data in a database | |
CN113157600A (zh) | 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 | |
CN112995257B (zh) | 基于云存储架构的缓存扩容方法、装置以及存储介质 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN107085577B (zh) | 一种加载数据页的方法、计算节点以及协调节点 | |
CN106775846A (zh) | 用于物理服务器的在线迁移的方法及装置 | |
CN103092955A (zh) | 检查点操作方法、装置及系统 | |
CN109491985B (zh) | 一种基于关联规则的热数据处理方法和装置 | |
CN115904211A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |