一种数据存储的方法及系统技术方案

技术编号:15540474 阅读:207 留言:0更新日期:2017-06-05 10:20
本发明专利技术公开了一种数据存储方法,包括:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,该数据中包含一关键字;调度服务单元接收该数据并提取关键字;调度服务单元基于关键字,从存储介质中的n个数据库中确定第一数据库,存储介质分为n个分片区间,每个分片区间对应有一数据域库;调度服务单元基于关键字,从第一数据库中的多个数据表中确定第一数据表;调度服务单元将该数据存储在第一数据表中。本发明专利技术实现了在对存储介质进行扩容时,无需进行数据迁移,从而降低了人工成本,消除了数据迁移过程中丢失数据的风险的技术效果。同时,本发明专利技术还公开了一种数据存储系统。

Method and system for storing data

The invention discloses a data storage method, including: the application layer will need to send data to the storage unit scheduling service scheduling service in a cluster, a keyword contained in the data; scheduling service unit receives the data and extract the keywords; scheduling service unit key word based on the determination of the first database from a storage medium n in the database, the storage medium is divided into n slice interval, each slice interval corresponding to a data domain library; scheduling service unit based on keyword, determine the first data from multiple tables in the first database; scheduling service unit stores the data in the first data table. The invention realizes no data migration when the storage medium is expanded, thereby reducing labor cost and eliminating the technical effect of losing data in the process of data migration. At the same time, the invention also discloses a data storage system.

【技术实现步骤摘要】
一种数据存储的方法及系统
本专利技术涉及物联网
,尤其涉及一种数据存储的方法及系统。
技术介绍
在现如今互联网时代,各类App(Application,应用)蓬勃发展,这些App一般都有自己的服务器,用于维护用户数据。随着用户量的增长,用户数据也不断增长,当服务器的存储介质容量、读写响应速度遇到瓶颈时,就需要对服务器的存储空间进行扩容。在现有技术中,在进行扩容时,难以避免迁移旧数据,数据迁移通常会在低峰期短时间内停止服务,更坏的情况是数据丢失,如此,耗费人力,且需要承担数据丢失的风险。
技术实现思路
本专利技术实施例通过提供一种数据存储的方法及系统,解决了现有技术中的数据存储方法,在对存储介质进行扩容时,需要进行数据迁移的技术问题。一方面,本专利技术通过本专利技术的一实施例提供如下技术方案:一种数据存储方法,包括:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,所述数据中至少包含一关键字;所述调度服务单元接收所述数据,并从所述数据中提取所述关键字;所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,其中,所述存储介质分为n个分片区间,每个分片区间对应有一数据域库,n为大于等于2的整数;所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表;所述调度服务单元将所述数据存储在所述第一数据表中。优选地,在所述应用层将需要存储的数据发送给调度服务集群中的调度服务单元之前,还包括:所述应用层基于一致性哈希算法在所述调度服务集群中选出所述调度服务单元。优选地,所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,包括:所述调度服务单元确定所述关键字所属的分片区间;所述调度服务单元将所述n个数据库中的与所述分片区间对应的数据库确定为所述第一数据库。优选地,所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表,包括:所述调度服务单元对所述关键字进行一致性哈希运算,得到哈希值;所述调度服务单元基于所述哈希值按照一致性哈希的落点规则,从所述多个数据表中确定所述第一数据表,所述多个数据表组成一致性哈希闭环。优选地,所述数据存储的方法,还包括:所述调度服务单元判断所述关键字距离所述n个分片区间中的最大分片区间的上限是否小于一预设值;若小于,所述调度服务单元则输出用于表示需要对所述存储介质进行扩容的信息。另一方面,本专利技术通过本专利技术的一实施例,提供如下技术方案:一种数据存储系统,包括:应用层,用于:将需要存储的数据发送给调度服务集群中的调度服务单元,所述数据中至少包含一关键字;所述调度服务集群,包含多个调度服务单元;其中,所述多个调度服务单元中的所述调度服务单元,用于:接收所述数据,并从所述数据中提取所述关键字;基于所述关键字,从存储介质中的n个数据库中确定第一数据库,其中,所述存储介质分为n个分片区间,每个分片区间对应有一数据域库,n为大于等于2的整数;基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表;将所述数据存储在所述第一数据表中。优选地,所述应用层,还用于:在所述将需要存储的数据发送给调度服务集群中的调度服务单元之前,基于一致性哈希算法在所述调度服务集群中选出所述调度服务单元。优选地,所述调度服务单元,具体用于:确定所述关键字所属的分片区间;将所述n个数据库中的与所述分片区间对应的数据库确定为所述第一数据库。优选地,所述调度服务单元,具体用于:对所述关键字进行一致性哈希运算,得到哈希值;基于所述哈希值按照一致性哈希的落点规则,从所述多个数据表中确定所述第一数据表,所述多个数据表组成一致性哈希闭环。优选地,所述调度服务单元,还用于:判断所述关键字距离所述n个分片区间中的最大分片区间的上限是否小于一预设值;若小于,则输出用于表示需要对所述存储介质进行扩容的信息。本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:在本专利技术实施例中,公开了一种数据存储方法,包括:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,所述数据中至少包含一关键字;所述调度服务单元接收所述数据,并从所述数据中提取所述关键字;所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,其中,所述存储介质分为n个分片区间,每个分片区间对应有一数据域库,n为大于等于2的整数;所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表;所述调度服务单元将所述数据存储在所述第一数据表中。由于基于区间给存储介质分片,可以在已有的资源下存储数据量在预估范围内的数据,当需要扩容时,只需要新增逻辑区间和物理存储介质即可,无需进行数据迁移。所以,本专利技术解决了现有技术中的数据存储方法,在对存储介质进行扩容时,需要进行数据迁移的技术问题。实现了在对存储介质进行扩容时,无需进行数据迁移,从而降低了人工成本,消除了数据迁移过程中丢失数据的风险的技术效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中的一种数据存储的方法的流程图;图2为本专利技术实施例中的一种数据存储的系统的架构图。具体实施方式本专利技术实施例通过提供一种数据存储的方法及系统,解决了现有技术中的数据存储方法,在对存储介质进行扩容时,需要进行数据迁移的技术问题。本专利技术实施例的技术方案为解决上述技术问题,总体思路如下:一种数据存储方法,包括:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,所述数据中至少包含一关键字;所述调度服务单元接收所述数据,并从所述数据中提取所述关键字;所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,其中,所述存储介质分为n个分片区间,每个分片区间对应有一数据域库,n为大于等于2的整数;所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表;所述调度服务单元将所述数据存储在所述第一数据表中。为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。实施例一本实施例提供了一种数据存储方法,应用于数据存储系统中,该数据存储系统可以安装在某一款App对应的服务器内。如图2所示,该数据存储系统包括:应用层(Application)和调度服务集群(SchedulingServerCluster),该调度服务集群包含多个调度服务单元(SchedulingServer),例如,1号调度服务单元、2号调度服务单元、3号调度服务单元、……、Sn号调度服务单元。如图1所示,所述数据存储方法,包括:步骤S101:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,该数据中至少包含一关键字。在具体实施过程中,应用层需要从调度服务集群中的多个调度服务单元(例如:1号调度服务单元、2号调度服务单元、3号调度服务单元、……、Sn号调度服务单元)中随机选出一个调度服务单元。具体来讲,可以基于一致性哈希算法在调度服务集群中选出一个调度服务单元,从而保证了调本文档来自技高网...
一种数据存储的方法及系统

【技术保护点】
一种数据存储方法,其特征在于,包括:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,所述数据中至少包含一关键字;所述调度服务单元接收所述数据,并从所述数据中提取所述关键字;所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,其中,所述存储介质分为n个分片区间,每个分片区间对应有一数据域库,n为大于等于2的整数;所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表;所述调度服务单元将所述数据存储在所述第一数据表中。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:应用层将需要存储的数据发送给调度服务集群中的调度服务单元,所述数据中至少包含一关键字;所述调度服务单元接收所述数据,并从所述数据中提取所述关键字;所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,其中,所述存储介质分为n个分片区间,每个分片区间对应有一数据域库,n为大于等于2的整数;所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表;所述调度服务单元将所述数据存储在所述第一数据表中。2.如权利要求1所述的数据存储方法,其特征在于,在所述应用层将需要存储的数据发送给调度服务集群中的调度服务单元之前,还包括:所述应用层基于一致性哈希算法在所述调度服务集群中选出所述调度服务单元。3.如权利要求1所述的数据存储方法,其特征在于,所述调度服务单元基于所述关键字,从存储介质中的n个数据库中确定第一数据库,包括:所述调度服务单元确定所述关键字所属的分片区间;所述调度服务单元将所述n个数据库中的与所述分片区间对应的数据库确定为所述第一数据库。4.如权利要求1所述的数据存储方法,其特征在于,所述调度服务单元基于所述关键字,从所述第一数据库中的多个数据表中确定第一数据表,包括:所述调度服务单元对所述关键字进行一致性哈希运算,得到哈希值;所述调度服务单元基于所述哈希值按照一致性哈希的落点规则,从所述多个数据表中确定所述第一数据表,所述多个数据表组成一致性哈希闭环。5.如权利要求1~4任一所述的数据存储方法,其特征在于,所述数据存储的方法,还包括:所述调度服务单元判断所述关键字距离所述n个分片区间中的最大分片区间的上限是否...

【专利技术属性】
技术研发人员:杨鹏
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1