本发明专利技术提供了一种数据访问方法装置和分布式数据库系统,其中,数据访问方法包括:当接收到添加数据库服务器请求或删除数据库服务器请求时,对待添加的数据库服务器或待删除的数据库服务器进行数据迁移;根据数据迁移生成第二对应关系,保存第二对应关系以及数据迁移前的第一对应关系,第一对应关系用于指示数据迁移前的数据与服务器的对应关系,第二对应关系用于指示根据数据迁移生成的新的数据与服务器的对应关系;在进行数据迁移的过程中,接收数据访问请求;根据数据访问请求和存储的第一对应关系和第二对应关系,确定待访问的数据所在的服务器,对确定的服务器上的待访问的数据进行访问。通过本发明专利技术,提高了系统的可扩容性。
【技术实现步骤摘要】
本专利技术涉及数据库
,特别是涉及一种数据访问方法、一种数据访问装置和一种分布式数据库系统。
技术介绍
在互联网的技术应用中,数据库服务占据了非常重要的地位。而随着技术的发展,互联网的后台服务需要数据库拥有更快的响应速度,在这种需求下,催生了内存数据库的出现。内存数据库和传统的数据库不同,内存数据库的数据都保存在内存中。由于网络服务的数据可能非常庞大,内存数据库服务器无法在单台内存数据库服务器上加载所有的数据,这就需要对内存数据库服务器进行分布式的管理。一种分布式内存服务器系统管理的实现方案如下,包括内存数据库从接口机查询得到自己负责的数据库表的信息,然后从对应的真实数据库中读入该数据库表中的数据;当接口机在接收到访问客户端的SQL (Structured Query Language,结构化查询语言)请求后,根据所述SQL请求中的数据库表及所述接口机存储的真实数据库中各个数据库表和内存数据库的对应关系,将所述SQL请求分发到相应的内存数据库中;所述内存数据库根据接口机分发得到的SQL请求,对内存数据库中的数据进行查询或非查询操作。当对内存数据库中的数据进行了非查询操作时,内存数据库将该非查询操作所操作的数据写入预定的文件中,并通过该预定的文件,将非查询操作的操作结果同步到真实数据库中。上述实现方案在数据库服务器故障时,虽然能够在一定程度上可以通过预定的文件保障数据的可恢复性,但是,一方面,故障数据库服务器在数据恢复时,需要先读取预定文件的内容,再进行数据恢复,导致数据恢复不够及时;另一方面,若该分布式内存数据库服务器系统需要扩容时,则需要重建该分布式内存数据库服务器系统,可见,该分布式内存数据库服务器系统的可扩容性较差。因此,如何保证分布式内存数据库服务器系统中数据的可恢复性以及分布式内存数据库服务器系统的可扩容性,成为亟待解决的问题。
技术实现思路
本专利技术提供了一种数据访问方法、一种数据访问装置和一种分布式数据库系统,以解决现有分布式内存数据库服务器系统中数据的可恢复性差以及分布式内存数据库服务器系统的可扩容性差的问题。为了解决上述问题,本专利技术公开了一种数据访问方法,包括当接收到添加数据库服务器请求或删除数据库服务器请求时,对待添加的数据库服务器或待删除的数据库服务器进行数据迁移;根据所述数据迁移生成第二对应关系,保存所述第二对应关系,以及所述数据迁移前的第一对应关系,其中,所述第一对应关系用于指示所述数据迁移前的数据与服务器的对应关系,所述第二对应关系用于指示根据所述数据迁移生成的新的数据与服务器的对应关系;在进行所述数据迁移的过程中,接收数据访问请求;根据所述数据访问请求和存储的所述第一对应关系和所述第二对应关系,确定待访问的数据所在的服务器,对确定的所述服务器上的所述待访问的数据进行访问。为了解决上述问题,本专利技术还公开了数据访问装置,包括迁移模块,用于当接收到添加数据库服务器请求或删除数据库服务器请求时,对待添加的数据库服务器或待删除的数据库服务器进行数据迁移;存储模块,用于根据所述数据迁移生成第二对应关系,保存所述第二对应关系,以及所述数据迁移前的第一对应关系,其中 ,所述第一对应关系用于指示所述数据迁移前的数据与服务器的对应关系,所述第二对应关系用于指示根据所述数据迁移生成的新的数据与服务器的对应关系;访问模块,用于在进行所述数据迁移的过程中,接收数据访问请求;根据所述数据访问请求和存储的所述第一对应关系和所述第二对应关系,确定待访问的数据所在的服务器,对确定的所述服务器上的所述待访问的数据进行访问。为了解决上述问题,本专利技术还公开了一种分布式数据库系统,包括调度服务器、磁盘数据库服务器集群和内存数据库服务器集群;其中,所述调度服务器包括迁移模块,用于当接收到所述添加数据库服务器请求或所述删除数据库服务器请求时,对待添加的数据库服务器或待删除的数据库服务器进行数据迁移,其中,所述待添加的数据库服务器或待删除的数据库服务器为所述磁盘数据库服务器集群中的服务器,所述数据迁移为所述磁盘数据库服务器之间的数据迁移;或者,所述待添加的数据库服务器或待删除的数据库服务器为所述内存数据库服务器集群中的服务器,所述数据迁移为所述内存数据库服务器之间的数据迁移;存储模块,用于根据所述数据迁移生成第二对应关系,保存所述第二对应关系,以及所述数据迁移前的第一对应关系,其中,所述第一对应关系用于指示所述数据迁移前的数据与服务器的对应关系,所述第二对应关系用于指示根据所述数据迁移生成的新的数据与服务器的对应关系;访问模块,用于在进行所述数据迁移的过程中,接收所述数据访问请求;根据所述数据访问请求和存储的所述第一对应关系和所述第二对应关系,确定待访问的数据所在的服务器,对确定的所述服务器上的所述待访问的数据进行访问。与现有技术相比,本专利技术具有以下优点在分布式内存数据库服务器系统中,当数据库服务器故障或删除时,相关调度或管理服务器会收到删除数据库服务器请求;当系统扩容增加数据库服务器时,相关调度或管理服务器会收到添加数据库服务器请求。在这种情况下,相关调度或管理服务器会及时进行数据迁移,如将待删除的数据库服务器上的数据迁移到其它服务器上,或者,将其它数据库服务器中的数据迁移到新添加的数据库服务器上。在进行数据迁移的同时,相关调度或管理服务器可以并行接收数据访问请求,并根据原数据与服务器的对应关系即第一对应关系,和新的数据与服务器的对应关系即第二对应关系,确定数据所在的服务器,进行相关的数据访问处理。使用上述方案,一方面,数据迁移与数据访问可以并行执行,数据恢复及时且不会影响数据访问速度;另一方面,因同时保存了第一对应关系和第二对应关系,使得数据访问能够正常进行,不必等到数据完全恢复后再进行访问,实现了及时、正确的数据访问;再一方面,当系统扩容增加数据库服务器时,能够及时方便地将已经存在的其它数据库服务器中的数据迁移到新添加的服务器,无须进行大规模的系统重建和改动,提高了系统的可扩容性,实现了灵活方便的系统扩容。附图说明图I是根据本专利技术实施例一的一种数据访问方法的步骤流程图;图2是根据本专利技术实施例二的一种数据访问方法的步骤流程图;图3是根据本专利技术实施例三的一种数据访问方法中的分布式内存数据库服务器系统的结构示意图;图4是图3所示分布式内存数据库服务器系统中的读取层数据库集群的结构示意图;图5是根据本专利技术实施例三的一种数据访问方法中的调度服务器的处理流程图; 图6是根据本专利技术实施例三的一种数据访问方法中的写入层数据库集群的数据迁移流程图;图7是根据本专利技术实施例三的一种数据访问方法中的读取层数据库集群的数据迁移流程图;图8是根据本专利技术实施例四的一种数据访问装置的结构框图;图9是根据本专利技术实施例五的一种分布式数据库系统的结构示意图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。实施例一参照图I,示出了根据本专利技术实施例一的一种数据访问方法的步骤流程图。本实施例的数据访问方法包括以下步骤步骤S102 :调度服务器当接收到添加数据库服务器请求或删除数据库服务器请求时,对待添加的数据库服务器或待删除的数据库服务器进行数据迁移。当系统需要扩容时,会添加本文档来自技高网...
【技术保护点】
一种数据访问方法,其特征在于,包括:当接收到添加数据库服务器请求或删除数据库服务器请求时,对待添加的数据库服务器或待删除的数据库服务器进行数据迁移;根据所述数据迁移生成第二对应关系,保存所述第二对应关系,以及所述数据迁移前的第一对应关系,其中,所述第一对应关系用于指示所述数据迁移前的数据与服务器的对应关系,所述第二对应关系用于指示根据所述数据迁移生成的新的数据与服务器的对应关系;在进行所述数据迁移的过程中,接收数据访问请求;根据所述数据访问请求和存储的所述第一对应关系和所述第二对应关系,确定待访问的数据所在的服务器,对确定的所述服务器上的所述待访问的数据进行访问。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘书良,元张毅,罗峰,黄苏支,李娜,
申请(专利权)人:北京亿赞普网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。