分布式系统控制方法、装置、设备及可读存储介质与流程

文档序号:15999749发布日期:2018-11-20 19:18阅读:212来源:国知局

本发明涉及分布式系统领域,特别涉及一种分布式系统控制方法、装置、设备及一种可读存储介质。



背景技术:

分布式集群存储在当前大数据多种场景下广泛应用,如高性能、视频监控、广电媒资等场景。分布式文件系统中存在海量数据,大数据计算的前提是组织、存储海量数据。

目前对分布式系统中数据的控制一般基于操作的,即执行某种操作时进行对应数据的控制。例如用户执行某项应用操作(比如读、写、创建等)时,选取计算机网络中某个场地进行相应的数据操作。

而目前系统对数据的控制属于单向控制,即只有接收用户需求后指定场地生成指令对场地中数据进行控制,而用户和应用程序操作中不需要指出对哪个场地上的片段进行操作,即接收到操作指令时根据预先的操作策略选择场地执行。由于对数据场地的选择只是单向控制过程,场地的选择往往是一种默认选择,即执行A操作时默认通过第一场地执行或者默认选择通信状况最好的场地执行等,这种控制方法忽略了实际对数据的操作情况对场地选择的指导意义,会出现某个场地负载过大的情况,进而影响到数据访问频率较高的场地的指令应答水平以及数据操作效率等。

因此,如何根据数据访问情况有效组织数据,实现对分布式系统的合理控制,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种分布式系统控制方法,该方法可以根据数据访问情况有效组织数据,实现对分布式系统的合理控制;本发明的另一目的是提供一种分布式系统控制装置、设备及一种可读存储介质。

为解决上述技术问题,本发明提供一种分布式系统控制方法,包括:

获取分布式系统内数据的操作记录信息以及热度值;其中,所述操作记录信息包括数据操作时间,所述热度值包括时间标识;

当距离上次数据操作的时间间隔超过预设时长,或,在距离上次数据操作的预设时长内存在数据操作时,根据重置规则对所述热度值进行重置,得到重置后的热度值;

根据所述重置后的热度值调整分布式系统中的数据服务。

优选地,所述根据重置规则对所述热度值进行重置包括:

若在距离上次数据操作的预设时长内存在数据操作,在所述热度值的基础上增加预设值;

若距离上次数据操作的时间间隔超过预设时长,根据距离上次数据操作的间隔时间对所述热度值进行e指数函数衰减。

优选地,所述根据距离上次数据操作的间隔时间对所述热度值进行e指数函数衰减包括:

根据热度衰减公式对所述热度值进行衰减;

其中,所述热度衰减公式为:new=old×etln0.5/2,new为所述热度值,old为重置后的热度值,t为距离上次数据操作的间隔时间与预设时间的差值。

优选地,所述根据重置规则对所述热度值进行重置包括:

根据重置规则对各子树热度值进行重置;

则根据所述重置后的热度值调整分布式系统中的数据服务具体为:根据所述重置后的各子树热度值调整分布式系统中各子树间的数据服务。

优选地,所述根据重置规则对各子树热度值进行重置包括:

根据分布式系统内各数据的操作记录信息计算各数据对应的热度值;

统计各子树内数据的热度值,得到各子树热度值。

优选地,所述根据所述重置后的各子树热度值调整分布式系统中各子树间的数据服务包括:

当子树热度值超过热度阈值时,将对热度值超过热度阈值的子树的数据操作请求转移至热度值未超过热度阈值的子树。

优选地,所述获取分布式系统内数据的操作记录信息以及热度值包括:获取元数据中的数据操作记录信息以及热度值。

本发明公开一种分布式系统控制装置,包括:

获取单元,用于获取分布式系统内数据的操作记录信息以及热度值;其中,所述操作记录信息包括数据操作时间,所述热度值包括时间标识;

热度值重置单元,用于当距离上次数据操作的时间间隔超过预设时长,或,在距离上次数据操作的预设时长内存在数据操作时,根据重置规则对所述热度值进行重置,得到重置后的热度值;

服务调整单元,用于根据所述重置后的热度值调整分布式系统中的数据服务。

本发明公开一种分布式系统控制设备,包括:

存储器,用于存储程序;

处理器,用于执行所述程序时实现所述分布式系统控制方法的步骤。

本发明公开一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述分布式系统控制方法的步骤。

本发明所提供的分布式系统控制方法,获取分布式系统内数据的操作记录信息以及热度值,通过判断距离上次数据操作的时间间隔对数据库系统中数据访问频率进行量化,当距离上次数据操作的时间间隔超过预设时长时说明在一定时间内都没有对该数据进行操作,该数据的热度会随着距离上次操作的时间间隔的变长而变低,当在距离上次数据操作的预设时长内存在数据操作时,说明在一定时间存在连续多次的数据操作,该数据的热度随着连续访问的次数的增加而增加。

根据重置规则对获取的热度值进行重置,得到重置后的热度值,根据重置后的热度值调整分布式系统中的数据服务可以实现根据数据访问情况对数据场地选择的反向控制,比如某数据的热度值较高时,将对该数据的操作转嫁至系统中可以实现相同功能的其他数据,或者直接根据数据热度值的顺序递减设置对数据的访问操作等,根据数据热度值对数据操作的阻止,进而实现对分布式系统的合理控制。

本发明另一实施例中公开了一种热度值重置方法,包括若在距离上次数据操作的预设时长内存在数据操作,在热度值的基础上增加预设值;若距离上次数据操作的时间间隔超过预设时长,根据距离上次数据操作的间隔时间对热度值进行e指数函数衰减。当在一定时间内出现对该数据的连续操作时通过直接增加预设值可以简单地体现连续操作对热度值的影响;当数据操作超出一定时间后通过e指数函数根据数据操作时间对热度值的衰减过程既简单,而且e指数函数的衰减规则可以精确衡量数据访问频率,从而生成精确的热度值,热度值的精确度对分布式系统中数据控制起到非常重要的影响程度,因此通过上述方法对热度值进行简单精确的衡量可以实现对数据的精确控制。

本发明还提供了一种分布式系统控制装置、设备及一种可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例提供的分布式系统控制方法的流程图;

图2为本发明实施例提供的一种热度值重置过程示意图;

图3为本发明实施例提供的另一种热度值重置过程示意图;

图4为本发明实施例提供的分布式系统控制装置的结构框图;

图5为本发明实施例提供的分布式系统控制设备的结构示意图。

具体实施方式

本发明的核心是提供一种分布式系统控制方法,该方法可以通过对数据访问情况进行精确的热度统计,根据热度值组织数据,实现对分布式系统的合理控制;本发明的另一核心是提供一种分布式系统控制装置、设备及一种可读存储介质。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本实施例提供的分布式系统控制方法的流程图;该方法可以包括:

步骤s110、获取分布式系统内数据的操作记录信息以及热度值;其中,操作记录信息包括数据操作时间,热度值包括时间标识。

操作记录信息指分布式系统内数据的访问情况,比如数据A在t1被读取,文件B在t2被写入,目录C在t3被调用等,其中,t1、t2以及t3即为数据操作时间。

当有文件的访问操作发生时,文件本身热度以及属于同组合(比如同一子树)上级各层的热度就会逐级变化。获取的热度值为可以为计算得到的当前的热度值,也可以为之前计算得到的当时的热度值,热度值反映计算的时刻数据的访问热度情况,其中,热度值的时间标识即为计算热度值的时刻。

在此对获取的热度值的时间标识不做限定,不论获取的热度值是何时刻对应的热度值,获取的操作记录信息中必须包括有该时刻后的操作信息。比如可以只记录有系统初始设置的初始热度值,操作记录信息中记录有系统初始化后所有的操作信息;也可以设置定时或者在接收到操作时计算热度值,这样可以只存储有距离当前最近的数据操作记录信息,存储所需占用存储资源较少。

获取操作记录信息的方式不做限定,可以通过获取前端用户的操作指令,对对应访问的数据进行统计作为操作记录信息;也可以直接通过统计分布式数据库系统中各数据操作情况作为操作记录信息,其中,后者直接对数据进行统计可以通过元数据来实现。分布式系统元数据中记录有数据操作情况,可以将其作为操作记录信息。分布式系统的元数据热度,可以直观的反应文件的访问频度等信息。

优选地,为了获取到更精确的操作记录信息,实现在数据端对系统的控制,可以直接获取元数据中数据操作记录信息。由于前端用户操作指令在执行过程中可能会出现内部数据调用情况无法得知的情况,直接对反映后端数据直接访问情况的元数据进行热度统计计算,可以大大提升计算的准确率。由于分布式系统元数据只记录有最近一次数据操作情况,因此在这种情况下的热度值更新重置必须在数据操作信息被覆盖之前进行重置。元数据热度值包括文件及目录热度值,当文件或目录被访问时,其父目录热度值同样对应变化,文件系统根目录的热度就是当前MDS的热度。其中,MDS(Meta DataServer)为元数据服务,元数据热度是根据其下的文件或子目录的热度计算的。

步骤s120、当距离上次数据操作的时间间隔超过预设时长,或,在距离上次数据操作的预设时长内存在数据操作时,根据重置规则对热度值进行重置,得到重置后的热度值。

在距离上次数据操作的预设时长内如果没有再次接收到数据操作时,热度值可以保持不变,这种情况可以简化热度值重置过程,而且也可以反映数据在被访问之后的真实热度情况;另外,也可以设定热度值在预设时长内慢慢变小,本实施例对距离上次数据操作的预设时长内如果没有再次接收到数据操作的情况不做限定。

重置规则可以自行设定,比如可以设定数据时增加,被访问后的热度值随时间变长线性减少等,如图2所示为本实施例提供的一种热度值重置过程示意图,在T1时刻接收到数据操作热度值增加4,接收到操作后热度值线性减少,在T2时刻再次接收到用户操作,增加4,热度值由2变为6,在T4时刻再次接收到用户操作,由衰减后得到的1变为5,在T6时刻热度值衰减为0。这种热度值描述方式简单。

但由于数据接收访问操作后数据并非直接恢复至访问前的状态,而且有些操作可能是持续的,为真实反映这种情况对数据的影响,本实施例中在在距离上次数据操作的预设时长内没有数据操作时热度值保持不变。另外,超出预设时长后,热度值随着时间的增加而变小,相当于数据从上次操作之间的恢复过程,由于这个过程并非是线性完成的,大多是在一定时间内缓慢恢复,恢复完成时数据会迅速变成可以重新接收各种指令的状态,为精确反映上述过程,优选地,根据重置规则对热度值进行重置的过程具体可以为:

若在距离上次数据操作的预设时长内存在数据操作,在热度值的基础上增加预设值;

若距离上次数据操作的时间间隔超过预设时长,根据距离上次数据操作的间隔时间对热度值进行e指数函数衰减。

如图2所示为本实施例提供的另一种热度值重置过程示意图,设定T1为预设时长,初始热度值为0,在t0时刻接收到操作,热度值增加1;t0到t1热度值保持不变,间隔不大于T1;在t1时刻再次接收到操作,热度值增加1;t1到T2为预设时长,T2后随时间进行e指数函数衰减,直到t2时刻再次接收到操作,增加1,t2时刻、t3时刻以及t4时刻分别接收到操作,且t2到t3以及t3到t4的时间间隔均不大于T1;t4到t5间隔为T1,t5后进行e指数函数衰减,直至T5时刻热度值衰减为0。

经过实验与实际数据恢复情况进行比对,优选地,根据距离上次数据操作的间隔时间对热度值进行e指数函数衰减具体可以为:

根据热度衰减公式对热度值进行衰减;

其中,热度衰减公式为:new=old×etln0.5/2,new为热度值,old为重置后的热度值,t为距离上次数据操作的间隔时间与预设时间的差值。通过上述热度衰减公式进行热度衰减热度值的变化情况更贴近实际情况。

为加深对上述实施例中分布式系统控制方法的理解,在此以预设时长设定为1s,根据e指数函数衰减具体为根据热度衰减公式得到当前热度值为例进行介绍,在此仅以上述情况为例进行说明,其他情况均可参照本实施例的介绍。

其中,热度衰减公式为:new=old×etln0.5/2,new为获取的热度值,old为重置后的热度值,t为自最近一次接收到操作指令至当前的时间减去预设时长的值,例如预设时长为1s,在距离上次操作5s时,t为4s,假设此时获取的热度值为5,则重置后的热度值为5×e4ln0.5/2,随着时间的推移,根据e指数函数作为热度值相比其他函数可以直观准确地反映数据本身访问频率的改变情况。

热度值的重置可以根据系统内每个数据包进行计算,也可以对整体进行分析,即将多个数据包作为一个整体,对这个整体进行热度值的计算,在此对每个热度值包括的数据量不做限定。当对单个数据包进行热度分析时分析过程更为精确,但是计算数据量以及分析数据量会十分庞大;当对一个预设的整体进行热度值的计算时热度值的指向性会稍弱,但是计算分析过程简单,根据不同的划分方式进行分析计算也可以实现不同的技术效果,可以自行选择。

优选地,对系统中热度的分析可以通过计算各子树的热度值进而进行分析。系统预先被划分为若干个子树,子树内各数据分别实现各自对应的功能。由于系统中存在可以相互替换,可以实现相同的功能的子树,根据系统中预先划分的子树具体包括的文件以及子目录等的操作记录来计算整个子树的热度值,根据各子树的热度值来对系统中数据服务进行控制过程简单,对多子树之间数据服务的负载均衡可以起到指导意义。

其中,对一个子树热度值的计算也可以分为两种方式,一为分别计算单独数据热度值后进行子树间热度值的统计分析,二是直接通过对整个子树的数据操作记录信息计算得到对应的热度值。

优选地,可以仍然单独对每个数据包(文件或者子目录)进行分析,根据分布式系统内各数据的操作记录信息计算各数据对应的热度值,计算得到每个数据包的热度值后,将子树内包括的各数据包的热度值进行整合分析。这种计算方式针对不同的整体的划分方式热度值计算较为灵活,当划分的整体中出现数据包的删除或增加时对整体热度值的计算过程影响较小,直接对应增加或删除数据包对应的热度值即可,对于流动性较大的数据库系统中计算过程较为简便。此时,根据操作记录信息计算各子树热度值的过程具体可以为:

1)、根据分布式系统内各数据的操作记录信息计算各数据对应的热度值;

2)、统计各子树内数据的热度值,得到各子树热度值。

例如系统内包括文件A、文件B、文件C、文件D、文件E以及文件F,分别计算得到上述文件的热度值分别为a、b、c、d、e、f。第一子树中包括文件A、文件B以及文件C,则分别对文件A、文件B以及文件C的热度值进行统计,统计方法不做限定,可以为求和、取平均值等,在此以求和为例,则可以得到子树A的热度值为a+b+c。

当子树内各数据较为固定时,优选地,可以直接统计一个子树内的数据的总体访问情况,直接对单个子树进行热度统计。则根据操作记录信息计算各子树热度值的步骤具体可以为:

1)、统计各子树内的数据操作记录信息,得到各子树操作统计数据;

2)、根据各子树操作统计数据计算各子树热度值。

例如一个子树中包括文件A、文件B以及文件C,可以将文件A、文件B以及文件C各自单独的操作记录信息看作一个整体进行分析,即在一个子树内对不同的数据不做区分,当0.5S前对文件A执行操作后,当前对文件B执行操作,则记为0.5S前对子树A进行操作后当前又对子树A进行操作,对子树A的两次操作的间隔为0.5S,根据子树整体的操作信息计算得到子树A的热度值。

上述介绍中均以将系统划分为多个子树进行整体分析为例,其它整体划分方式均可参照上述介绍,在此不再赘述。

步骤s130、根据重置后的热度值调整分布式系统中的数据服务。

分布式数据库系统中的数据是分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(独立处理)能力并能完成局部应用,而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信访问系统中多个场地的数据,用户可以在任何一个场地执行全局应用,而场地的不同对操作基本没有影响,因此,可以根据统计的数据热度值对系统中数据服务进行场地调节。

例如,子树A的热度值远远高于子树B以及子树C,为尽量降低子树A的负载,减少运行压力,可以将部分子树A的任务转移至子树B以及子树C。当子树B运行出现错误时,可以将子树B的任务转移至子树A以及子树C或者由子树B以及子树A共同完成任务等,在此对系统中服务调节的具体方式不做限定,可以根据实际情况自行设定。

优选地,由于系统中各子树间由于默认等选项经常会出现,为降低子树的负载压力,提高运行速度以及响应速度,根据重置后的各子树热度值调整分布式系统中各子树间的数据服务具体可以包括:当子树热度值超过热度阈值时,将对热度值超过热度阈值的子树的数据操作请求转移至热度值未超过热度阈值的子树。

数据热度值可以作为一个压力指标,根据数据被访问频度,合理进行热度增加和衰减,能够有效的反应出元数据的热度值,对有效组织元数据提供合理依据,对均衡系统内数据服务的压力起到指导意义。

基于上述介绍,本实施例提供的分布式系统控制方法,获取分布式系统内数据的操作记录信息以及热度值,通过判断距离上次数据操作的时间间隔对数据库系统中数据访问频率进行量化,当距离上次数据操作的时间间隔超过预设时长时说明在一定时间内都没有对该数据进行操作,该数据的热度会随着距离上次操作的时间间隔的变长而变低,当在距离上次数据操作的预设时长内存在数据操作时,说明在一定时间存在连续多次的数据操作,该数据的热度随着连续访问的次数的增加而增加。

根据重置规则对获取的热度值进行重置,得到重置后的热度值,根据重置后的热度值调整分布式系统中的数据服务可以实现根据数据访问情况对数据场地选择的反向控制,比如某数据的热度值较高时,将对该数据的操作转嫁至系统中可以实现相同功能的其他数据,或者直接根据数据热度值的顺序递减设置对数据的访问操作等,根据数据热度值对数据操作的阻止,进而实现对分布式系统的合理控制。

请参考图4,图4为本实施例提供的分布式系统控制装置的结构框图;可以包括:获取单元400、热度值重置单元410以及服务调整单元420。本实施例提供的分布式系统控制装置可与上述分布式系统控制方法相互对照。

其中,获取单元400主要用于获取分布式系统内数据的操作记录信息以及热度值;其中,操作记录信息包括数据操作时间,热度值包括时间标识;

热度值重置单元410主要用于当距离上次数据操作的时间间隔超过预设时长,或,在距离上次数据操作的预设时长内存在数据操作时,根据重置规则对热度值进行重置,得到重置后的热度值;

服务调整单元420主要用于根据重置后的热度值调整分布式系统中的数据服务。

优选地,热度值重置单元410具体可以包括:第一重置子单元以及第二重置子单元。

第一重置子单元用于若在距离上次数据操作的预设时长内存在数据操作,在热度值的基础上增加预设值;

第二重置子单元用于若距离上次数据操作的时间间隔超过预设时长,根据距离上次数据操作的间隔时间对热度值进行e指数函数衰减。

优选地,第二重置子单元具体可以用于根据热度衰减公式对热度值进行衰减;

其中,热度衰减公式为:new=old×etln0.5/2,new为热度值,old为重置后的热度值,t为距离上次数据操作的间隔时间与预设时间的差值。

优选地,热度值重置单元410具体可以为子树热度重置单元,用于:根据重置规则对各子树热度值进行重置;

则,服务调整单元420具体为子树服务调整单元,用于:根据重置后的各子树热度值调整分布式系统中各子树间的数据服务。

优选地,子树热度重置单元可以包括第一计算子单元以及第一统计子单元。

第一计算子单元用于根据分布式系统内各数据的操作记录信息计算各数据对应的热度值;

第一统计子单元用于统计各子树内数据的热度值,得到各子树热度值。

则优选地,与子树热度重置单元连接的子树服务调整单元具体用于:当子树热度值超过热度阈值时,将对热度值超过热度阈值的子树的数据操作请求转移至热度值未超过热度阈值的子树。

优选地,获取单元400具体可以用于:获取元数据中的数据操作记录信息以及热度值。

本实施例提供的分布式系统控制装置可以根据数据访问情况有效组织数据,实现对分布式系统的合理控制。

本实施例提供一种分布式系统控制设备,包括:存储器以及处理器。

其中,存储器用于存储程序;

处理器用于执行程序时实现如分布式系统控制方法的步骤,具体可参照上述分布式系统控制方法的介绍。

本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如分布式系统控制方法的步骤,具体可参照上述分布式系统控制方法的介绍。

请参考图5,为本实施例提供的分布式系统控制设备的结构示意图,该控制设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在控制设备301上执行存储介质330中的一系列指令操作。

控制设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上面图1所描述的分布式系统控制方法中的步骤可以由分布式系统控制设备的结构实现。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的分布式系统控制方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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