一种数据系统及数据处理方法与流程

文档序号:15847109发布日期:2018-11-07 09:14阅读:189来源:国知局
一种数据系统及数据处理方法与流程

本申请涉及云存储技术领域,具体而言,涉及一种数据系统及数据处理方法。

背景技术

在存储技术领域中,主要包括三大存储方式,分别为文件存储、块存储与对象存储(object-basedstorage)。其中,文件存储是一种将独立的数据整合为集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术;块存储指的是在一个独立磁盘冗余阵列(raid)集中,一个控制器加入一组磁盘驱动器,然后提供固定大小的raid块作为逻辑单元号(lun)的卷;对象存储是一种新的网络存储架构,对象包含数据,且每个对象都在一个被称作存储池的扁平地址空间的同一级别里。

目前,对于上述每种存储方式而言,均由相应的存储系统进行实现,且不同的存储方式对应的存储系统也不同。比如,在实际的业务资源共享这一应用场景中,用户会根据自身的存储需求从上述三种存储方式中选取一种或多种方式进行业务数据存储,并可以共享存储的业务数据。在这个过程中,难免需要用户操作不同的存储系统以执行不同存储方式下的存储操作,操作复杂,不仅导致存储效率较低,还降低了用户的使用体验。



技术实现要素:

有鉴于此,本申请的目的在于提供一种数据系统及数据处理方法,无需用户操作不同的存储系统便可实现数据存储,操作简单,在提高存储效率的同时,还提升了用户的使用体验。

为了解决上述问题,本申请实施例提供了一种数据系统,所述系统包括:

网关节点,用于根据用户请求,使用预设算法对目标对象的标识进行运算,依据运算结果确定所述目标对象对应的存储信息;以及

至少一个存储节点,对应于存储信息保存所述目标对象。

可选的,所述存储信息包括目标对象散列信息和存储位置信息,所述目标对象散列信息包括将所述目标对象分割为目标子对象的份数、每份目标子对象的大小,所述目标子对象的存储位置信息包括每份目标子对象所对应的存储节点以及在存储节点中的具体存储位置。

可选的,当所述用户请求为数据存储请求时,所述网关节点还根据所述存储信息,划分所述目标对象并将所述目标子对象存储到对应的存储位置。

可选的,当所述用户请求为数据访问请求时,所述网关节点还根据所述存储信息,读取所述每份目标子对象,合并生成所述目标对象。

可选的,所述网关节点,具体用于使用预设哈希算法对目标对象的标识进行运算得到哈希值,再根据预先设置的归置组数对所述哈希值进行求余计算,得到目标对象所对应的归置组;再根据该对应的归置组的配置信息或地址映射表确定所述目标对象散列信息和所述存储位置信息。

可选的,所述归置组的配置信息包括如下信息中的一种或多种:归置组所对应的存储节点、存储条带大小、备份数;所述归置组的地址映射表记载了归置组所对应目标对象的每份目标子对象所对应的存储节点以及在存储节点中的具体存储位置。

可选的,所述用户请求包括:基于文件存储方式、块设备存储方式、对象存储方式的数据读取或写入请求中的一种或多种。

可选的,所述系统还包括:

校权节点,与所述网关节点相连,用于接收所述用户请求,判断用户是否具有操作权限,并在判断出所述用户具有操作权限时,将所述用户请求传输至所述网关节点;

监控节点,用于监控所述至少一个存储节点的工作状态,并将工作状态监控结果反馈给所述网关节点以及管理节点;

管理节点,用于根据所述监控节点的工作状态监控结果,对所述存储节点进行管理操作,所述管理操作至少包括增加存储节点和删除存储节点;

所述网关节点,还用于根据所述工作状态监控结果,从所有存储节点中选择工作状态监控结果为正常的存储节点执行存储或访问操作;

所述至少一个存储节点,存储或访问所述目标子对象时,互为备份存储节点。

可选的,所述系统还包括:至少一个备份网关节点;

所述网关节点,还用于在检测到自身负载达到预设负载值的情况下,针对接收到的用户请求,根据所述至少一个备份网关节点当前负载情况,确定用于处理该用户请求的备份网关节点,并向确定的备份网关节点发送指示;

所述备份网关节点,用于根据接收到的指示,使用预设算法对目标对象的标识进行运算,依据运算结果确定所述目标对象对应的存储信息。

本申请实施例还提供了一种数据处理方法,所述方法包括:

接收用户请求,所述用户请求中包括目标对象的标识;

使用预设哈希算法对所述目标对象的标识进行运算,根据运算结果确定将所述目标对象分割为目标子对象的份数、每份目标子对象的大小以及每份目标子对象的存储位置。

本申请实施例提供的数据系统及数据处理方法,解决了现有存储方法中需要用户操作不同的存储系统以执行不同存储方式下的存储操作,操作复杂,从而导致存储效率较低,用户的使用体验较差的问题。本申请实施例提供的数据系统包括:网关节点根据用户请求,使用预设算法对目标对象的标识进行运算,依据运算结果确定所述目标对象对应的存储信息;以及至少一个存储节点,对应于存储信息保存所述目标对象,通过本申请实施例提供的数据系统及数据处理方法,从而无需用户操作不同的存储系统便可实现数据存储,操作简单,在提高存储效率的同时,还提升了用户的使用体验。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种数据系统的结构示意图;

图2示出了本申请实施例所提供的一种数据处理方法的流程图;

图3示出了本申请实施例所提供的另一种数据处理方法的流程图;

图4示出了本申请实施例所提供的一种计算机设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

考虑到相关技术中在进行数据存储的过程中,难免需要用户操作不同的存储系统以执行不同存储方式下的存储操作,操作复杂,不仅导致存储效率较低,还降低了用户的使用体验。基于此,本申请一种实施例提供了一种数据系统,在提高存储效率的同时,还提升了用户的使用体验,详见下述实施例。

参见图1,为本申请实施例提供的数据系统的结构示意图,上述数据系统具体包括:

网关节点11,用于根据用户请求,使用预设算法对目标对象的标识进行运算,依据运算结果确定目标对象对应的存储信息;以及

至少一个存储节点22,对应于存储信息保存目标对象。

这里,本申请提供的用户请求可以是用户通过客户端发送的,其中,上述客户端可以是web客户端,还可以是手机应用程序(application,app)客户端,还可以是其他客户端。另外,上述用户请求可以是基于文件存储方式的用户请求,还可以是基于块设备存储方式的用户请求,还可以是基于对象存储方式的用户请求,以满足用户对不同存储方式的存储需求。

上述网关节点11则根据上述用户请求,通过使用预设算法对目标对象的标识进行运算,可以确定目标对象对应的存储信息,以根据至少一个存储节点22保存对应于上述存储信息的目标对象。

其中,上述预设算法可以是哈希算法,还可以是其他能够基于目标对应的标识确定其存储信息的算法。在本申请实施例中,上述哈希算法可以采用直接定址法、数字分析法、折叠法、平方取中法、基数转换法、除留余数法、字符串数值哈希法等算法中的一种。这样,通过预设哈希算法可以确定一种以键-值(key-indexed)存储数据的哈希表结构,在确定目标对象的标识后,基于该标识对应的key,即可查找到其对应的哈希值。那么,基于该哈希值便可以确定目标对象散列信息和存储位置信息,以通过至少一个存储节点22存储与上述存储信息(即目标对象散列信息和存储位置信息)对应的目标对象。

其中,上述目标对象散列信息可以包括将目标对象分割为目标子对象的份数、每份目标子对象的大小,目标存储位置信息则对应各个目标子对象对应的存储位置信息,也即,包括了每份目标子对象所对应的存储节点22以及在存储节点22中的具体存储位置。

这里,本申请实施例对上述目标对象进行了划分,以分割为若干份目标子对象。其中,存储条带大小,即划分后每份目标子对象的大小可以是预先设定的,如10m,5m,或2m,这样,可以将目标对象按照预设存储条带大小(即10m,5m或2m)进行划分,并由对象存储设备(object-basedstoragedevice,osd)进程将根据存储节点的存储状态将划分后的目标子对象存储在相应的存储节点22中的具体存储位置。在目标对应小于存储条带大小时,则由osd进程直接将该目标对象存储在相应的存储节点22以及在存储节点22中的存储位置。通常情况下,存储的目标对象是大于存储条带大小的,因此,本申请实施例可以按照预设存储条带大小对目标对象进行等分。此外,本申请实施例还可以按照预设不同的存储条带大小(如:对应不同的存储节点,存储条带大小不同)对目标对象进行非等分,以满足不同的应用需求,具体的分割方法与上述等分方式类似,在此不做赘述。

本申请实施例提供的数据系统不仅可以进行数据写入,还可以进行数据读取,也即,本申请实施例既可以满足用户的存储需求,还可以满足用户的访问需求。接下来分两种情况进行具体说明:

第一方面:在用户请求为数据存储请求时,上述网关节点11可以根据存储信息,对目标对象进行划分,并将划分后的目标子对象存储到对应的存储信息。也即,基于数据存储请求,实现了对目标对象的划分和存储。

第二方面:在用户请求为数据访问请求时,上述网关节点11可以根据存储信息中各个目标子对象对应的存储节点22及在各存储节点22中的具体存储位置,读取每份目标子对象,并将读取的目标子对象进行合并以得到合并后的目标对象。也即,基于数据访问请求,实现了对目标子对象的读取和合并。

综上,本申请实施例实现了对数据的存储和读取,实用性更强。

本申请实施例提供的数据系统通过确定的目标散列信息以及存储位置信息来实现对目标对象的存储。为了确定上述包括目标散列信息以及存储位置信息的存储信息,本申请实施例中的网关节点11可以根据预先设置的归置组数对基于目标对象的标识运算得到的哈希值进行求余,以确定目标对象的归置组,然后再根据该归置组的配置信息或地址映射表确定目标对象散列信息和存储位置信息。

其中,上述归置组的配置信息包括归置组所对应的存储节点22、存储条带大小、备份数中的一种或多种,地址映射表则记载了归置组所对应目标对象的每份目标子对象所对应的存储节点22以及在存储节点22中的具体存储位置。

为了便于对本申请实施例提供的存储确定方式进行理解,接下来举一个具体的示例进行说明。

对于一个目标对象(如目标文件)而言,该目标文件的大小为5m,在进行文件存储时,首先根据该目标文件的文件名进行哈希运算并求余,确定该文件所对应的归置组id,如归置组a。根据该归置组a的配置文件中的信息,如:存储条带大小为2m,将文件分割为3个目标子文件,大小分别为2m、2m和1m。并且根据该归置组a的其他配置信息,如:归置组a所对应存储节点22a、22b、22c以及文件备份数的要求,由归置组所映射1个或多个osd进程根据存储节点22a、22b、22c的当前存储状态文件备份数的要求、和/或存储节点的存储顺序等,按照顺序将所述子文件存储和/或备份存储到对应存储节点的对应位置。例如:按照22a、22b、22c的顺序依序存储。此外,如果配置文件设定的参数为不需要备份,则可以将子文件进行存储,如果备份份数为1,则将子文件和备份均进行存储。这样,待存储文件的每个子文件及备份都被存储到相应存储节点中的特定位置,由此便完成了对文件的划分及存储。归置组使用地址映射表维护其所对应的目标对象的各个目标子对象所对应的存储节点22及在存储节点22中的具体位置。当存储节点22及存储位置发生变化时,归置组的配置文件以及所维护的地址映射表也将随之发生变化。

本申请实施例中的用户请求可以是用户直接发送至网关节点11的,还可以是在通过校权节点33验证成功后传输至网关节点11的(如图1所示)。其中,上述验证操作主要是依赖于判断用户是否具有操作权限的判断结果。也即,只有在发起用户请求的用户具有操作权限时,才能够操作网关节点11对应的存储资源。

另外,如图1所示,本申请实施例还设置有监控节点44对至少一个存储节点22的工作状态进行监控,并将工作状态监控结果反馈给网关节点11以及管理节点55。其中,本申请实施例可以通过心跳包的方式进行监控,如在监控节点44能接收到存储节点22的心跳包时,则认为该存储节点22工作状态正常,在不能接收到心跳包时,则认为该存储节点22工作状态异常。

在存储节点22正常时,管理节点55可以将对应的存储节点22增加至网关节点11的存储节点22以便该网关节点11执行存储或访问操作,在存储节点22异常时,管理节点55可以对对应的存储节点22执行删除操作以对数据系统进行弹性管理。

值得说明的是,上述至少一个存储节点22在存储或访问目标子对象时,可以互为备份存储节点22,以便在主存储节点22故障时可以通过备份存储节点22得到子对象的部分,进一步实现数据存储的安全性。

为了进一步提升本申请实施例提供的数据系统的反应速度,上述数据系统还包括至少一个备份网关节点11。

其中,网关节点11在检测到自身负载达到预设负载值的情况下,针对接收到的用户请求,根据至少一个备份网关节点11当前负载情况,确定用于处理该用户请求的备份网关节点11,并向确定的备份网关节点11发送指示。备份网关节点11则根据接收到的指示,使用预设算法对目标对象的标识进行运算,依据运算结果确定目标对象对应的存储信息。

本申请实施例中的备份网关节点11作为网关节点11的备份节点,能够实现该网关节点11的各个功能,如,在用户请求为数据存储请求时,备份网关节点11可以根据存储信息,划分目标对象并将目标子对象存储到对应的存储位置,在当用户请求为数据访问请求时,备份网关节可以根据存储信息,读取每份目标子对象,合并生成目标对象,上述备份网关节点11还可以基于预设哈希算法对目标对象的标识进行运算,以根据运算结果确定目标对象散列信息和存储位置信息等,在此不做赘述。

考虑到本申请实施例提供的数据系统的应用场景,上述目标对象可以是第三方业务系统的业务数据。其中,该第三方业务系统包括但不限于:存储有企业工商数据的企业信息查询系统、存储有房屋信息的房屋管理系统、存储有宏观经济信息的宏观经济数据平台、存储教育信息及资讯的教育信息平台等。

基于同一发明构思,本申请实施例中还提供了与数据系统对应的数据处理方法,由于本申请实施例中的方法解决问题的原理与本申请实施例上述数据系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。如图2所示,为本申请实施例所提供的数据处理方法的流程图,该数据处理方法包括:

s101、接收用户请求,用户请求中包括目标对象的标识;

s102、使用预设哈希算法对目标对象的标识进行运算,根据运算结果确定将目标对象分割为目标子对象的份数、每份目标子对象的大小以及每份目标子对象的存储位置。

在一种实施方式中,上述存储信息包括目标对象散列信息和存储位置信息,目标对象散列信息包括将目标对象分割为目标子对象的份数、每份目标子对象的大小,目标子对象的存储位置信息包括每份目标子对象所对应的存储节点以及在存储节点中的具体存储位置。

在另一种实施方式中,当用户请求为数据存储请求时,上述数据处理方法还包括:

根据存储信息,划分目标对象并将目标子对象存储到对应的存储位置。

在又一种实施方式中,当用户请求为数据访问请求时,上述数据处理方法还包括:

根据存储信息,读取每份目标子对象,合并生成目标对象。

在具体实施中,参见图3,上述s102具体包括:

s201、使用预设哈希算法对目标对象的标识进行运算得到哈希值;

s202、根据预先设置的归置组数对哈希值进行求余计算,得到目标对象所对应的归置组;

s203、根据该对应的归置组的配置信息或地址映射表确定目标对象散列信息和存储位置信息。

在再一种实施方式中,上述归置组的配置信息包括如下信息中的一种或多种:归置组所对应的存储节点、存储条带大小、备份数;归置组的地址映射表记载了归置组所对应目标对象的每份目标子对象所对应的存储节点以及在存储节点中的具体存储位置。

在具体实施中,用户请求包括:基于文件存储方式、块设备存储方式、对象存储方式的数据读取或写入请求中的一种或多种。

在再一种实施方式中,上述s101和s102之间还包括如下步骤:

判断用户是否具有操作权限。

在具体实施中,上述s102具体包括:

在检测到自身负载达到预设负载值的情况下,使用预设算法对目标对象的标识进行运算,依据运算结果确定目标对象对应的存储信息

本申请实施例还提供了一种计算机设备,如图4所示,该设备包括存储器1000、处理器2000及存储在该存储器1000上并可在该处理器2000上运行的计算机程序,其中,上述处理器2000执行上述计算机程序时实现上述数据处理方法的步骤。

具体地,上述存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述数据处理方法,从而解决目前数据存储存在的效率较低,用户的使用体验较差的问题,进而达到在提高存储效率的同时,还提升了用户的使用体验的效果。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据处理方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述数据处理方法,从而解决目前数据存储存在的效率较低,用户的使用体验较差的问题,进而达到在提高存储效率的同时,还提升了用户的使用体验的效果。

本申请实施例所提供的数据处理方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1