一种数据中心间的数据计算的方法和设备与流程

文档序号:21972712发布日期:2020-08-25 19:03阅读:195来源:国知局
一种数据中心间的数据计算的方法和设备与流程

本领域涉及计算机领域,并且更具体地涉及一种数据中心间的数据计算的方法和设备。



背景技术:

在大数据时代,对象存储服务(objectstorageservice,oss)是一种新兴的海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。为了保证数据安全,提供数据的持续可用性,数据厂商通常会建立多个数据中心进行数据备份。多个数据中心间会进行数据的同步以及元数据的同步。对象存储中,配额是一个对用户极为重要的限制条件,可以用来对不同的用户,进行不同的限制。配额是指用户能够操作的最大对象个数max_object_num和最大容量值max_size。当用户的统计值超过上述两个值中的任一值的时候,用户都会受到限制,不会允许对象的写入,或者桶的创建。因此配额的计算在存储中起到了十分重要的作用。多数据中心间的配额同步,往往是主站点在进行写数据过程的同时,计算配额;从站点只进行数据和配额信息的同步,不能很好的利用其他中心点的计算能力。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种数据中心间的数据计算的方法和设备,通过使用本发明的方法,能够提高主站点的配额计算速度,同时还能提升主站点的性能,提高对象存储的性能。

基于上述目的,本发明的实施例的一个方面提供了一种数据中心间的数据计算的方法,包括以下步骤:

通过数据中心的主站点接收用户发送的写数据的请求,判断数据的配额信息是否超过用户的配额限制;

响应于配额信息未超过用户的配额限制,主站点将配额信息发送到从站点,并将数据写入数据中心;

响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算,并将计算后得到的配额数据发送到主站点;

响应于主站点写完数据,将配额数据更新到数据中心的配额信息中。

根据本发明的一个实施例,配额信息包括最大对象个数和最大容量值。

根据本发明的一个实施例,通过数据中心的主站点接收用户发送的写数据的请求,判断数据的配额信息是否超过用户的配额限制包括:

判断最大对象个数与数据中心中的用户下的最大对象个数的和是否大于用户的限制最大对象个数;

响应于结果为否,判断最大容量值与数据中心的用户下的最大容量的和是否大于用户的限制最大容量;

响应于结果再次为否,判断数据的配额信息未超过用户的配额限制。

根据本发明的一个实施例,响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算包括:

将配额信息中的最大对象个数与数据中心中的用户下的最大对象个数的和作为更新后的用户下的最大对象个数;

将配额信息中的最大容量值与数据中心的用户下的最大容量的和作为更新后的用户下的最大容量值。

根据本发明的一个实施例,还包括:将更新后的用户下的最大对象个数和更新后的用户下的最大容量值保存在从站点中的用户信息中。

本发明的实施例的另一个方面,还提供了一种数据中心间的数据计算的设备,设备包括:

判断模块,判断模块配置为通过数据中心的主站点接收用户发送的写数据的请求,判断数据的配额信息是否超过用户的配额限制;

传输模块,传输模块配置为响应于配额信息未超过用户的配额限制,主站点将配额信息发送到从站点,并将数据写入数据中心;

计算模块,计算模块配置为响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算,并将计算后得到的配额数据发送到主站点;

更新模块,更新模块配置为响应于主站点写完数据,将配额数据更新到数据中心的配额信息中。

根据本发明的一个实施例,配额信息包括最大对象个数和最大容量值。

根据本发明的一个实施例,判断模块还配置为:

判断最大对象个数与数据中心中的用户下的最大对象个数的和是否大于用户的限制最大对象个数;

响应于结果为否,判断最大容量值与数据中心的用户下的最大容量的和是否大于用户的限制最大容量;

响应于结果再次为否,判断数据的配额信息未超过用户的配额限制。

根据本发明的一个实施例,计算模块还配置为:

将配额信息中的最大对象个数与数据中心中的用户下的最大对象个数的和作为更新后的用户下的最大对象个数;

将配额信息中的最大容量值与数据中心的用户下的最大容量的和作为更新后的用户下的最大容量值。

根据本发明的一个实施例,还包括保存模块,保存模块配置为将更新后的用户下的最大对象个数和更新后的用户下的最大容量值保存在从站点中的用户信息中。

本发明具有以下有益技术效果:本发明实施例提供的磁盘性能测试的方法,通过数据中心的主站点接收用户发送的写数据的请求,判断数据的配额信息是否超过用户的配额限制;响应于配额信息未超过用户的配额限制,主站点将配额信息发送到从站点,并将数据写入数据中心;响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算,并将计算后得到的配额数据发送到主站点;响应于主站点写完数据,将配额数据更新到数据中心的配额信息中的技术方案,能够提高主站点的配额计算速度,同时还能提升主站点的性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为根据本发明一个实施例的数据中心间的数据计算的方法的示意性流程图;

图2为根据本发明一个实施例的数据中心间的数据计算的设备的示意图;

图3为根据本发明一个实施例的数据中心间的数据计算的示意性流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种数据中心间的数据计算的方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

s1通过数据中心的主站点接收用户发送的写数据的请求,判断数据的配额信息是否超过用户的配额限制,主站点在接收到用户写数据的请求后,首先要对用户的身份进行验证,验证用户的id和密钥信息,验证通过后才会接收该请求,然后要对用户要写入的数据中的配额信息进行判断,这里的判断为粗略的判断,判读该数据的配额是不是超过了用户的限制,如果超过则拒绝该请求;

s2响应于配额信息未超过用户的配额限制,主站点将配额信息发送到从站点,并将数据写入数据中心,这里主站点不进行配额的计算,会将配额的相关信息发送的从站点,主站点只是将数据写入到数据中心中;

s3响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算,并将计算后得到的配额数据发送到主站点,从站点进行配额的相关计算,然后把配额变化后的配额信息发送到主站点;

s4响应于主站点写完数据,将配额数据更新到数据中心的配额信息中,在主站点将数据写入数据中心后,将接收到的新的配额信息同步在该用户名下的配额信息中,可以用于下次用户写入数据时的判断。

本发明提出了一种数据中心间的分布式配额计算策略。主站点进行写数据的操作,将写数据的大小信息同步给从站点,从站点获取信息后,进行配额的计算,并将计算后的配额同步给主站点,主站点完成写数据操作后,按照同步的配额信息,修改主站点的配额信息,并通知从站点进行数据的同步,从而达到数据和配额信息的同步。

通过本发明的技术方案,能够提高主站点的配额计算速度,同时还能提升主站点的性能,提高对象存储的性能。

在本发明的一个优选实施例中,配额信息包括最大对象个数和最大容量值,数据中心对每个用户会设置一个数据写入的限制,比如用户a只能在数据中心中写入一万行数据,只能写入10g的数据量。这两个参数主要用于对用户写入数据限制的判断。

在本发明的一个优选实施例中,响应于主站点接收到用户的写数据的请求,判断数据的配额信息是否超过用户的配额限制包括:

判断最大对象个数与数据中心中的用户下的最大对象个数的和是否大于用户的限制最大对象个数;

响应于结果为否,即不大于,判断最大容量值与数据中心的用户下的最大容量的和是否大于用户的限制最大容量;

响应于结果再次为否,即不大于,判断数据的配额信息未超过用户的配额限制。

判断此次增加数据对象后,该用户名下的最大对象个数(obj_num)和容量值(obj_size)是否超过设置的用户的配额限制,即obj_num是否小于max_object_num,obj_size是否小于max_size,如果这两个数据都没有超过最大限制则可以将数据写入数据中心,如果有一个以上数据超过了最大限制则不会将数据写入数据中心。

在本发明的一个优选实施例中,响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算包括:

将配额信息中的最大对象个数与数据中心中的用户下的最大对象个数的和作为更新后的用户下的最大对象个数;

将配额信息中的最大容量值与数据中心的用户下的最大容量的和作为更新后的用户下的最大容量值。

即obj_num=old_obj_num+new_obj_num,obj_size=old_obj_size+new_obj_size。计算完毕后,将更新后的配额信息发送给主站点,主站点进行用户配额的更新,达到主、从站点的配额同步。

在本发明的一个优选实施例中,还包括:将更新后的用户下的最大对象个数和更新后的用户下的最大容量值保存在从站点中的用户信息中。主站点写数据结束后,会将更新后的配额同步到主站点中,主站点会通知从站点将主站点写入的数据同步到从站点。如图3所示为一个完整的数据写入操作:首先对用户的身份进行验证,验证通过后主站点会将数据信息中的配额信息发送到从站点并将数据写入数据中心,从站点进行配额计算,并将更新后的配额信息保存到用户信息中,并将更新后的配额信息发送到主站点,主站点将数据写入数据中心完成后,接收到更新后的配额信息,然后进行配额信息的同步并保存到用户信息中,并通知从站点进行数据同步,至此一个完整的数据写入操作完成。

本发明针对多数据中心间的配额计算问题,主站点进行写数据操作,从站点进行配额计算流程,并相互同步数据和配额内容,提高主站点的配额计算速度,同时还能提升主站点的性能。改变了传统的主站点完成所有计算,从站点同步所有数据的设计,从而利用了从站点的部分计算能力,分担了主站点的处理压力,提升了单个op操作的处理速度。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种数据中心间的数据计算的设备,如图2所示,设备200包括:

判断模块,判断模块配置为响应于通过数据中心的主站点接收到用户发送的写数据的请求,判断数据的配额信息是否超过用户的配额限制;

传输模块,传输模块配置为响应于配额信息未超过用户的配额限制,主站点将配额信息发送到从站点,并将数据写入数据中心;

计算模块,计算模块配置为响应于从站点接收到配额信息,从站点根据配额信息进行配额的计算,并将计算后得到的配额数据发送到主站点;

更新模块,更新模块配置为响应于主站点写完数据,将配额数据更新到数据中心的配额信息中。

在本发明的一个优选实施例中,配额信息包括最大对象个数和最大容量值。

在本发明的一个优选实施例中,判断模块还配置为:

判断最大对象个数与数据中心中的用户下的最大对象个数的和是否大于用户的限制最大对象个数;

响应于结果为否,判断最大容量值与数据中心的用户下的最大容量的和是否大于用户的限制最大容量;

响应于结果再次为否,判断数据的配额信息未超过用户的配额限制。

在本发明的一个优选实施例中,计算模块还配置为:

将配额信息中的最大对象个数与数据中心中的用户下的最大对象个数的和作为更新后的用户下的最大对象个数;

将配额信息中的最大容量值与数据中心的用户下的最大容量的和作为更新后的用户下的最大容量值。

在本发明的一个优选实施例中,还包括保存模块,保存模块配置为将更新后的用户下的最大对象个数和更新后的用户下的最大容量值保存在从站点中的用户信息中。

需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。

此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

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