数据获取方法、数据节点及系统技术方案

技术编号:17812764 阅读:97 留言:0更新日期:2018-04-28 05:31
本发明专利技术公开了一种数据获取方法、数据节点及系统,属于数据库技术领域。该方法用于集群数据库系统中的第一节点,该方法包括:接收第二节点发送的第一元组信息,根据第一元组信息查询第一节点指定缓存区是否存储有第一数据,若第一节点指定缓存区存储有第一数据,从第一节点指定缓存区内获取第一数据,第二节点为多个数据节点中除第一节点之外的任一节点,第一元组信息包括用于标识集群数据库系统中存储的第一数据的第一数据标识,第一数据为存储于第二节点的数据;解决了集群数据库系统网络传输量较大,对集群数据库系统造成较大网络负担的问题,降低了网络传输量,减小了集群数据库系统的网络负担以及发送节点的负载消耗。

【技术实现步骤摘要】
数据获取方法、数据节点及系统
本专利技术涉及数据库
,特别涉及一种数据获取方法、数据节点及系统。
技术介绍
集群数据库系统是指将一组数据库服务器以集群的方式组合起来,使用统一的接口向用户提供服务。集群数据库系统可以将复杂的任务分解为多个简单的子任务来并行处理。集群数据库系统包括多个协调节点和多个数据节点,为了完成数据检索任务,数据需要在不同的节点之间传输。在执行查询语句的过程中,当数据节点A1需要向另一数据节点A2传输数据时,数据节点A1会读取本地的数据,再将数据传输至数据节点A2;当数据节点A1需要获取来自数据节点A2的数据时,数据节点A1会向数据节点A2发送数据获取请求,数据节点A2根据该数据获取请求将读取的相应数据传输至数据节点A1。上述过程中,一个数据节点在向另一个数据节点传输数据时,都是直接读取本地的数据,再将数据传输至另一个数据节点,即每一次数据传输都需要通过网络链路传输相应的数据,所以整个集群数据库系统的网络传输量较大,对集群数据库系统造成较大的网络负担。
技术实现思路
本专利技术提供了一种数据获取方法、数据节点及系统,用以减少集群数据库系统中数据节点之间的数据传输,降低集群数据库系统的网络传输量,减小集群数据库系统的网络负担。所述技术方案如下:第一方面,提供了一种数据获取方法,用于集群数据库系统中的第一节点,第一节点为集群数据库系统中多个数据节点中的任一节点,该方法包括:接收第二节点发送的第一元组信息,第二节点为多个数据节点中除第一节点之外的任一节点,第一元组信息包括用于标识集群数据库系统中存储的第一数据的第一数据标识,第一数据为存储于第二节点的数据;根据第一元组信息查询第一节点的指定缓存区内是否存储有第一数据;若第一节点的指定缓存区内存储有第一数据,从第一节点的指定缓存区内获取第一数据。由于第一节点能够根据第二节点发送的第一元组信息查询第一节点的指定缓存区内是否存储有第一数据,且若第一节点的指定缓存区内存储有第一数据,第一节点直接从第一节点的指定缓存区内获取第一数据,相较于现有技术,第二节点无需直接向第一节点发送第一数据,减少了第二节点与第一节点之间网络链路上的数据传输量,降低了集群数据库系统的网络传输量,减小了集群数据库系统的网络负担。该方法中的第一元组信息的数据量较小,所以第一元组信息的传输量较小,占用内存也较小,且第一元组信息的数据量远小于第一数据的数据量。此外,为了进一步减小第一元组信息的占用内存,还可以将第一元组信息进行封装,或者将第一元组信息以一定的格式嵌入在某个占用内存较小的消息中。可选的,该方法还可以包括:若第一节点的指定缓存区内未存储有第一数据,向第二节点发送第一获取请求,并接收第二节点发送的第一数据,第一获取请求用于请求第一数据。若第一节点的指定缓存区内未存储有第一数据,第一节点再向第二节点发送第一获取请求,以便于第二节点向第一节点发送第一数据。所以该数据获取方法,使得第一节点在真正需要获取第二节点发送的第一数据时,才向第二节点发送第一获取请求,请求获取第一数据,降低了集群数据库系统的网络传输量。可选的,该方法还可以包括:当第一节点的指定缓存区的剩余空间的大小小于预设值时,删除目标数据,该目标数据为满足预设条件的数据。第一节点可以检测第一节点的指定缓存区的剩余空间的大小是否小于预设值,当第二节点的指定缓存区的剩余空间的大小小于预设值时,删除目标数据,避免该指定缓存区的剩余空间过小,而无法缓存第一节点向第二节点请求获取的数据。其中,预设值可以根据需求来设置。可选的,预设条件为数据的访问频率低于预设阈值。如当第一节点检测到第一节点的指定缓存区的剩余空间的大小小于预设值时,第一节点可以根据各个数据的访问频率删除访问频率较低的数据。示例的,也可以考虑数据的存储时间,比如,当第一节点的指定缓存区的剩余空间的大小小于预设值时,缓存组件可以综合考虑各个数据的存储时间以及访问频率,删除存储时间较长且访问频率较低的数据。又如,当第一节点的指定缓存区的剩余空间的大小小于预设值时,缓存组件可以综合考虑各个数据所占用的空间以及访问频率,删除所占空间较大且访问频率较低的数据。可选的,第一元组信息中的第一数据标识包括:位置标识和节点标识,该位置标识用于指示第一数据存储于第二节点对应的磁盘中的位置,该节点标识用于指示存储第一数据的第二节点的标识,根据第一元组信息查询第一节点的指定缓存区内是否存储有第一数据,包括:根据第一数据标识查询预设的标识与数据的对应关系,该标识与数据的对应关系用于记录第一节点的指定缓存区内存储的数据所对应的标识;当在标识与数据的对应关系查询到与第一数据标识相同的标识时,确定第一节点的指定缓存区内存储有第一数据。由于第一数据标识包括位置标识和节点标识,所以可以根据第一数据标识查询预设的标识与数据的对应关系,当在标识与数据的对应关系查询到与第一数据标识相同的标识时,则可以确定第一节点的指定缓存区内存储有第一数据,以便于第一节点从第一节点的指定缓存区内获取第一数据。第二方面,提供了一种数据获取方法,用于集群数据库系统中的第二节点,该第二节点为集群数据库系统中多个数据节点中的任一节点,该方法包括:获取第一元组信息,该第一元组信息包括用于标识集群数据库系统中存储的第一数据的第一数据标识;向第一节点发送第一元组信息,以便于第一节点在根据第一元组信息查询到第一节点的指定缓存区内存储有第一数据时,从第一节点的指定缓存区内获取第一数据,第一节点为多个数据节点中除第二节点之外的任一节点。由于第二节点能够将获取的第一元组信息发送至第一节点,使得第一节点在根据第一元组信息查询到第一节点的指定缓存区内存储有第一数据时,可以从第一节点的指定缓存区内直接获取第一数据,相较于现有技术,第二节点无需直接将磁盘的第一数据读入内存中,并将第一数据发送至第一节点,减少了第二节点与第一节点之间网络链路上的数据传输量,降低了集群数据库系统的网络传输量,减少了第二节点中磁盘到内存的数据的处理量,减少了第二节点的磁盘I/O访问量以及内存的使用量,从而减小了集群数据库系统的网络负担以及发送节点的负载消耗。可选的,在向第一节点发送第一元组信息之后,该方法还可以包括:在接收到第一节点发送的第一获取请求后,获取第一数据,该第一获取请求用于请求第一数据,第一获取请求是第一节点在查询第一节点的指定缓存区内未存储有第一数据时生成的;根据第一获取请求将第一数据发送至第一节点。当第一节点的指定缓存区内未存储有第一数据时,第一节点向第二节点发送第一获取请求,以便于第二节点向第一节点发送第一数据。所以该数据获取方法,使得第一节点在真正需要获取第二节点发送的第一数据时,才向第二节点发送第一获取请求,请求获取第一数据,减小了集群数据库系统的网络传输量,第二节点无需直接将磁盘的第一数据读入内存中,并将第一数据发送至第一节点,减少了第二节点中磁盘到内存的数据的处理量,减少了第二节点的磁盘I/O访问量以及内存的使用量。可选的,在获取第一元组信息之后,该方法还可以包括:获取查询指令,该查询指令包括节点标识和位置标识,该节点标识用于指示存储第二数据的目标节点的标识,该位置标识用于指示第二数据存储于目标节点对应的磁盘中的位置;根据节点标识判断目标节本文档来自技高网...
数据获取方法、数据节点及系统

【技术保护点】
一种数据获取方法,其特征在于,用于集群数据库系统中的第一节点,所述第一节点为所述集群数据库系统中多个数据节点中的任一节点,所述方法包括:接收第二节点发送的第一元组信息,所述第二节点为所述多个数据节点中除所述第一节点之外的任一节点,所述第一元组信息包括用于标识所述集群数据库系统中存储的第一数据的第一数据标识,所述第一数据为存储于所述第二节点的数据;根据所述第一元组信息查询所述第一节点的指定缓存区内是否存储有所述第一数据;若所述第一节点的指定缓存区内存储有所述第一数据,从所述第一节点的指定缓存区内获取所述第一数据。

【技术特征摘要】
1.一种数据获取方法,其特征在于,用于集群数据库系统中的第一节点,所述第一节点为所述集群数据库系统中多个数据节点中的任一节点,所述方法包括:接收第二节点发送的第一元组信息,所述第二节点为所述多个数据节点中除所述第一节点之外的任一节点,所述第一元组信息包括用于标识所述集群数据库系统中存储的第一数据的第一数据标识,所述第一数据为存储于所述第二节点的数据;根据所述第一元组信息查询所述第一节点的指定缓存区内是否存储有所述第一数据;若所述第一节点的指定缓存区内存储有所述第一数据,从所述第一节点的指定缓存区内获取所述第一数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一节点的指定缓存区内未存储有所述第一数据,向所述第二节点发送第一获取请求,并接收所述第二节点发送的第一数据,所述第一获取请求用于请求所述第一数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述第一节点的指定缓存区的剩余空间的大小小于预设值时,删除目标数据,所述目标数据为满足预设条件的数据。4.根据权利要求1所述的方法,其特征在于,所述第一元组信息中的第一数据标识包括:位置标识和节点标识,所述位置标识用于指示所述第一数据存储于所述第二节点对应的磁盘中的位置,所述节点标识用于指示存储所述第一数据的第二节点的标识,所述根据所述第一元组信息查询所述第一节点的指定缓存区内是否存储有所述第一数据,包括:根据所述第一数据标识查询预设的标识与数据的对应关系,所述标识与数据的对应关系用于记录所述第一节点的指定缓存区内存储的数据所对应的标识;当在所述标识与数据的对应关系查询到与所述第一数据标识相同的标识时,确定所述第一节点的指定缓存区内存储有所述第一数据。5.根据权利要求3所述的方法,其特征在于,所述预设条件为数据的访问频率低于预设阈值。6.一种数据获取方法,其特征在于,用于集群数据库系统中的第二节点,所述第二节点为所述集群数据库系统中多个数据节点中的任一节点,所述方法包括:获取第一元组信息,所述第一元组信息包括用于标识所述集群数据库系统中存储的第一数据的第一数据标识;向第一节点发送所述第一元组信息,以便于所述第一节点在根据所述第一元组信息查询到所述第一节点的指定缓存区内存储有所述第一数据时,从所述第一节点的指定缓存区内获取所述第一数据,所述第一节点为所述多个数据节点中除所述第二节点之外的任一节点。7.根据权利要求6所述的方法,其特征在于,在所述向第一节点发送所述第一元组信息之后,所述方法还包括:在接收到所述第一节点发送的第一获取请求后,获取所述第一数据,所述第一获取请求用于请求所述第一数据,所述第一获取请求是所述第一节点在查询所述第一节点的指定缓存区内未存储有所述第一数据时生成的;根据所述第一获取请求将所述第一数据发送至所述第一节点。8.根据权利要求6所述的方法,其特征在于,在所述获取第一元组信息之后,所述方法还包括:获取查询指令,所述查询指令包括节点标识和位置标识,所述节点标识用于指示存储第二数据的目标节点的标识,所述位置标识用于指示所述第二数据存储于所述目标节点对应的磁盘中的位置;根据所述节点标识判断所述目标节点是所述第二节点还是所述第一节点;若所述目标节点是所述第二节点,获取所述第二数据;若所述目标节点是所述第一节点,查询所述第二节点的指定缓存区内是否存储有所述第二数据;若所述第二节点的指定缓存区内存储有所述第二数据,从所述第二节点的指定缓存区内获取所述第二数据;若所述第二节点的指定缓存区内未存储有所述第二数据,向所述第一节点发送第二获取请求,并接收所述第一节点发送的第二数据,所述第二获取请求用于请求所述第二数据。9.根据权利要求7所述的方法,其特征在于,所述第一元组信息中的第一数据标识包括:位置标识和节点标识,所述位置标识用于指示所述第一数据存储于所述第二节点对应的磁盘中的位置,所述节点标识用于指示存储所述第一数据的第二节点的标识,所述获取所述第一数据,包括:根据所述第一元组信息确定所述第一数据存储于所述第二节点对应的磁盘中的位置;将所述第一数据从所述第二节点对应的磁盘中读入所述第二节点对应的内存。10.根据权利要求8所述的方法,其特征在于,所述方法还包括:当所述第二节点的指定缓存区的剩余空间的大小小于预设值时,删除目标数据,所述目标数据为满足预设条件的数据。11.根据权利要求10所述的方法,其特征在于,所述预设条件为数据的访问频率低于预设阈值。12.一种数据节点,其特征在于,所述数据节点为集群数据库系统中的任一数据节点,所述数据节点包括...

【专利技术属性】
技术研发人员:周平高
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1