数据处理方法和装置的制造方法

文档序号:9646612阅读:392来源:国知局
数据处理方法和装置的制造方法
【技术领域】
[0001]本发明实施例涉及计算机技术,尤其涉及一种数据处理方法和装置。
【背景技术】
[0002]分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储结点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展。
[0003]在分布式数据库下通常具有以下三种业务应用场景,(1)数据需要以一定的分布策略分布在多个数据结点中,系统弹性可伸缩下,数据按照一定的集合方式迀移到的其它结点;(2)多副本冗余,为了提高数据库系统的可靠性,会对数据进行备份,在备份过程中,利用一定的同步策略将新副本同步到相应结点;(3)在数据库客户端应用部署本地快速缓冲贮存区,需要分布式数据库具有订阅推送能力,即数据库服务器可以根据数据特征将数据推送到应用结点中。这些应用场景都需要将满足一定条件的业务数据同步到其它结点,该结点可以是分布式系统内部的数据结点,如数据库服务器(DB Server),也可以是数据的使用者,如数据库客户端(DB Client) ο
[0004]然而,由于存储引擎中的数据与数据的分布策略相互独立,使得在需要将满足一定条件(分区或订阅关系)的业务数据同步到其他结点时,需要扫描存储引擎中的所有业务数据,这样会导致处理效率低,尤其是在存储引擎中数量特别大的情况下,数据结点将满足一定条件的业务数据同步到其他结点所需时间开销较大。

【发明内容】

[0005]本发明实施例提供一种数据处理方法和装置,以实现在需要将满足一定条件业务数据同步到其他结点时,有效降低所需时间开销。
[0006]第一方面,本发明实施例提供一种数据处理装置,所述数据处理装置应用于分布式数据库系统中的数据节点中,包括:第一哈希模块、至少一个第二哈希模块和块数据扫描器模块;
[0007]所述第一哈希模块包括多个槽位,各槽位用于与各数据分区一一对应或者与各数据集合对应;
[0008]至少一个第二哈希模块中的每一个第二哈希模块与所述第一哈希模块中的一个槽位相关联,所述第二哈希模块用于存放相关联槽位对应的数据分区的业务数据在存储引擎中的位置信息,或者订阅关系的数据集合中的业务数据在存储引擎中的位置信息;
[0009]所述块数据扫描器模块用于根据所述第一哈希模块的槽位在与所述槽位对应的第二哈希模块中进行扫描,获取业务数据在存储引擎中的位置信息,并根据所述位置信息在所述存储引擎中提取业务数据。
[0010]结合第一方面,在第一方面的第一种可能的实现方式中,在数据节点启动时,所述第一哈希模块还用于根据分布策略或订阅关系对第一哈希模块的槽位,和所述槽位与所述第二哈希模块的关联关系进行初始化操作。
[0011]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述分布策略包括所述节点的至少一个分区标识和业务数据的特征值与分区标识的映射函数;
[0012]所述第一哈希模块还用于根据分布策略对第一哈希模块的槽位,和所述槽位与所述第二哈希模块的关联关系进行初始化操作具体包括:
[0013]所述第一哈希模块还用于将各分区标识与所述第一哈希模块的各槽位一一对应,根据业务数据的特征值和所述业务数据的特征值与分区标识的映射函数获取所述业务数据对应的分区标识,将所述业务数据在存储引擎中的位置信息存放在与所述分区标识对应的槽位相关联的第二哈希模块中。
[0014]结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若需要在所述数据节点中存储新增业务数据,将所述新增业务数据存放在所述数据节点的存储引擎中,所述第一哈希模块还用于根据所述新增业务数据的特征值和所述映射函数,计算所述新增业务数据对应的分区标识,将所述新增业务数据在存储引擎中的位置信息存放在与所述新增业务数据对应的分区标识相关联的第二哈希模块中。
[0015]结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,若需要删除所述数据节点中的一业务数据,将存储引擎中的业务数据删除,所述第一哈希模块还用于根据业务数据的特征值和所述映射函数,计算业务数据对应的分区标识,将与业务数据对应的分区标识相关联的第二哈希模块中的业务数据在存储引擎中的位置信息删除。
[0016]结合第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,在数据节点启动时,所述订阅关系包括至少一个满足预设条件的数据集合信息;
[0017]所述第一哈希模块还用于根据订阅关系对第一哈希模块的槽位,和所述槽位与所述第二哈希模块的关联关系进行初始化操作,具体包括:
[0018]所述第一哈希模块还用于将各满足预设条件的数据集合信息与所述第一哈希模块的槽位一一对应,将满足预设条件的业务数据的位置信息存放在与满足预设条件的数据集合信息相关联的第二哈希模块中。
[0019]结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,若需要在所述数据节点中存储新增业务数据,将所述新增业务数据存放在所述数据节点的存储引擎中,所述第一哈希模块还用于根据所述新增业务数据的特征值获取所述新增业务数据所属的满足预设条件的数据集合信息,将所述新增业务数据在存储引擎中的位置信息存放在与所述满足预设条件的数据集合信息相关联的第二哈希模块中。
[0020]结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现方式中,若需要删除所述数据节点中的一业务数据,将存储引擎中的业务数据删除,所述第一哈希模块还用于根据业务数据的特征值获取业务数据所属的满足预设条件的数据集合信息,将与业务数据所属的满足预设条件的数据集合信息相关联的第二哈希模块中的业务数据在存储引擎中的位置信息删除。
[0021]第二方面,本发明实施例提供一种利用第一方面、第一方面的第一种至第七种任一种可能的实现方式的数据处理装置实现数据处理的方法,包括:
[0022]目的数据节点的数据处理装置获取待处理数据分区,将第一哈希模块的一槽位与所述待处理数据分区对应;
[0023]所述目的数据节点的数据处理装置创建一新的第二哈希模块,将所述新的第二哈希模块与所述第一哈希模块的所述槽位关联;
[0024]所述目的数据节点的数据处理装置接收源数据节点发送的所述待处理数据分区中的业务数据;
[0025]所述目的数据节点的数据处理装置将所述待处理数据分区中的业务数据存储在所述目的数据节点的存储引擎中,并将所述待处理数据分区中的业务数据在存储引擎中的位置信息存储在所述新的第二哈希模块中;
[0026]其中,所述待处理数据分区包括待迀移数据分区和待备份数据分区。
[0027]第三方面,本发明实施例提供一种利用第一方面、第一方面的第一种至第七种任一种可能的实现方式的数据处理装置实现数据处理的方法,包括:
[0028]源数据节点的数据处理装置获取待处理数据分区,根据所述待处理分区获取第一哈希模块中与所述待处理分区对应的槽位;
[0029]所述源数据节点的数据处理装置利用块数据扫描器模块获取与所述待处理数据分区对应的槽位相关联的第二哈希模块中的各位置信息,并从存储引擎中提取各位置信息对应的业务数据;
[0030]所述源数据节点的数据处理装置将所述业务数据发送给目的数
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1