[发明专利]一种数据库的实现方法和设备有效
| 申请号: | 201510250110.8 | 申请日: | 2015-05-15 |
| 公开(公告)号: | CN104794249B | 公开(公告)日: | 2018-08-28 |
| 发明(设计)人: | 杜杰朋;曹鲁;吴波;马坤 | 申请(专利权)人: | 网易乐得科技有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
| 地址: | 100190 北京市海淀区中关村东*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据库 实现 方法 设备 | ||
本发明的实施方式提供了一种数据库的实现方法。该方法包括:根据目标用户的注册时间,从可用于记录用户数据的可用数据库中,确定用于记录所述目标用户的数据的目标数据库;其中,各个可用数据库各对应于一个时间段,所述目标数据库对应的时间段包含所述目标用户的注册时间;建立所述目标用户与所述目标数据库之间的第一对应关系,以便根据所述第一对应关系而在所述目标数据库中查询和/或记录所述目标用户的数据。通过按照注册时间对用户数据进行数据库分库分表,本发明的方法避免了应用系统运行时大量数据频繁的数据迁移,从而显著地提升了应用系统的数据库性能,为用户带来了更好的体验。此外,本发明的实施方式提供了一种数据库的实现设备。
技术领域
本发明的实施方式涉及数据库技术领域,更具体地,本发明的实施方式涉及一种数据库的实现方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
许多应用系统在为用户提供服务时,其功能需要通过对数据库进行查询、更新等数据操作来实现。对于一些应用系统来说,随着用户数量的急剧增长以及各用户对应用系统提供的各种服务越来越频繁地使用,数据库中增加数据、删除数据、更改数据及查询数据等数据操作的开销越来越大,这使得单一数据库的性能难以满足这样巨大的数据操作开销。因此,为了提高应用系统的性能而满足大量用户对大量服务的使用需求,需要将应用系统的单一数据库进行分库分表(sharding),使得应用系统涉及的数据分配到多个数据库中记录,从而使得应用系统承担的大量数据操作能够分摊到多个数据库执行,减小每个数据库的数据操作开销。
目前,已经出现了一些对数据库进行分库分表的实现方式。例如,一种现有的数据库分库分表方式是散列方式(即hash算法),具体地,对于应用系统来说,对当前可用于记录数据的多个可用数据库进行编号,根据各用户的用户标识利用散列算法计算各用户的散列值,再分别将各用户的散列值对可用数据库的数量取余数,并以各用户的散列值相对于可用数据库数量的余数作为各用户对应的编号,将各用户的数据映射到各用户对应编号的可用数据库中。这样,各用户的数据可以根据其用户标识映射到不同的数据库中,从而降低数据库的访问压力。
发明内容
需要说明的是,在应用系统的运行过程中,随着新用户不断地注册到应用系统以及已注册用户对应用系统的使用,应用系统需要记录的数据会不断增加,在当前可用于记录数据的数据库数量不能满足当前记录的数据数量对应的数据操作开销时,就需要增加数据库去分担数据的记录,从而保证各个数据库能够承担其记录的数据数量对应的数据操作开销。可见,在应用系统的运行过程中,通常需要动态地增加数据库去分担数据的记录。此外,在应用系统的运行过程中,有时一些数据库所在设备也会宕机,宕机设备的数据库则不能再用于记录数据和响应数据操作,从而使得用于记录数据的数据库减少。由此可见,在应用系统的运行过程中,用于记录数据的数据库的数量是动态变化的。
而在现有技术中,由于数据库分库分表时各用户的数据是映射到以各用户的散列值相对于数据库数量的余数作为编号的数据库,当数据库的数量增加或者减少时,大部分用户的散列值相对于数据库数量的余数都会发生变化,这导致了大部分用户的数据在数据库数量发生变化时需要从一个数据库迁移到另一个数据库中记录。因此,在应用系统的运行过程中,由于用于记录数据的数据库数量是动态变化的,每次数据库数量发生变化都会导致大部分用户的数据需要在数据库之间进行数据迁移,而大量数据的数据迁移则导致数据库需要为大量数据重新构建索引和缓存,从而大大降低了应用系统的数据库性能。
由此可见,在现有技术中,应用系统运行过程中,随着用于记录数据的数据库数量的动态变化,经常发生大量数据在数据库之间进行数据迁移,从而大幅度降低了数据库的性能,这是非常令人烦恼的过程。
为此,非常需要一种改进的数据库的实现方法和设备,以在数据库数量发生改变时避免大量数据在数据库之间进行数据迁移,从而提升数据库的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易乐得科技有限公司,未经网易乐得科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510250110.8/2.html,转载请声明来源钻瓜专利网。





