数据均匀化方法、装置、计算机设备及存储介质与流程

文档序号:21031328发布日期:2020-06-09 20:12阅读:159来源:国知局
数据均匀化方法、装置、计算机设备及存储介质与流程

本发明涉及数据存储领域,尤其涉及一种数据均匀化方法、装置、计算机设备及存储介质。



背景技术:

region是hbase集群分布的最小单元,hbase会将每张业务表所拥有的region分布在各个regionserver上。一般情况下,一张业务数据表刚开始只有一个对应的region,但随着业务数据表的数据量的增大,并在数据量达到阀值时,region会继续分裂成多个region,若在业务数据表的数据量处于较多的情况下,会造成每张业务数据表的数据在region中出现数据分布不均匀的现象,也会对region关联的regionserver造成压力,从而影响到regionserver关联的hbase的读写性能。并且频繁对region进行分裂操作,也会大大占用hbase集群所在服务器的资源,从而也会影响到hbase的读写性能。因此,亟需寻找一种技术方案解决上述所提到的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种数据均匀化方法、装置、计算机设备及存储介质,用于将数据表中的数据均匀化于每一个region中,进而提高region对应的regionserver的读写性能。

一种数据均匀化方法,包括:

将hbase集群中的region的最大数据存储量设定为预设数据阈值;

接收对所述hbase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存储数据中包含至少一个主键数据;

根据所述预设数据阈值和每一个所述主键内容对应的所述总数据量确定所述数据表中与每一个所述主键内容对应的region的个数;

利用预设hash算法获取所述数据表中的每一个所述主键内容对应的rowkey数据集;所述rowkey数据集包括所述主键内容对应的每一个主键数据的rowkey;

自与所述主键内容对应的所述rowkey数据集中各所述rowkey中提取第一关键值后,根据所述第一关键值对所述主键内容对应的每一个主键数据进行排序,并获取排序之后的序列值;

根据所述主键内容对应的region的个数以及所述序列值,自与所述主键内容对应的所有主键数据中,确定出与所述主键内容对应的每一个region的两个边界元素,并通过与所述主键内容对应的每一个region的两个所述边界元素确定该region的前边界值和后边界值;所述前边界值和后边界值均为与所述边界元素对应的第一关键值;每一个region的前边界值和后边界值之间的范围记录为该region的边界范围;

获取所述主键内容对应的主键数据的所述第一关键值,在确认获取的所述第一关键值的大小在与所述主键内容对应的region的边界范围之内时,将所述主键内容中与所述第一关键值对应的主键数据分配至该region中进行存储。

一种数据均匀化装置,包括:

设定模块,用于将hbase集群中的region的最大数据存储量设定为预设数据阈值;

第一获取模块,用于接收对所述hbase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存储数据中包含至少一个主键数据;

第一确定模块,用于根据所述预设数据阈值和每一个所述主键内容对应的所述总数据量确定所述数据表中与每一个所述主键内容对应的region的个数;

第二获取模块,用于利用预设hash算法获取所述数据表中的每一个所述主键内容对应的rowkey数据集;所述rowkey数据集包括所述主键内容对应的每一个主键数据的rowkey;

第三获取模块,用于自与所述主键内容对应的所述rowkey数据集中各所述rowkey中提取第一关键值后,根据所述第一关键值对所述主键内容对应的每一个主键数据进行排序,并获取排序之后的序列值;

第二确定模块,用于根据所述主键内容对应的region的个数以及所述序列值,自与所述主键内容对应的所有主键数据中,确定出与所述主键内容对应的每一个region的两个边界元素,并通过与所述主键内容对应的每一个region的两个所述边界元素确定该region的前边界值和后边界值;所述前边界值和后边界值均为与所述边界元素对应的第一关键值;每一个region的前边界值和后边界值之间的范围记录为该region的边界范围;

分配模块,用于获取所述主键内容对应的主键数据的所述第一关键值,在确认获取的所述第一关键值的大小在与所述主键内容对应的region的边界范围之内时,将所述主键内容中与所述第一关键值对应的主键数据分配至该region中进行存储。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据均匀化方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据均匀化方法。

上述数据均匀化方法、装置、计算机设备及存储介质,通过预设数据阈值和数据表中的每一个主键内容的总数据量限制了region的个数,防止频繁对region进行无限制的分裂操作,防止大量占用hbase集群的资源,从而影响到hbase集群整体的读写性能,因此hbase集群的稳定性也将随之提高;将主键内容对应的该类存储数据中与第一关键值对应的主键数据分配至每一个region中进行存储,从而基本实现将数据表中的主键内容对应的主键数据进行平均化至每一个region中,因而与region对应的regionserver的运行负载压力将会减少,进而regionserver的运行速度将会得到提高,也即regionserver的读写性能将会得到提高。

附图说明

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

图1是本发明一实施例中数据均匀化方法的一应用环境示意图;

图2是本发明一实施例中数据均匀化方法的一流程图;

图3是本发明一实施例中数据均匀化方法步骤s40在一个应用环境下的流程示意图;

图4是本发明一实施例中数据均匀化方法步骤s70之后在一个应用环境下的流程示意图;

图5是本发明一实施例中数据均匀化装置的结构示意图;

图6是本发明一实施例中计算机设备的一示意图。

具体实施方式

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

本发明提供的数据均匀化方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种数据均匀化方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:

s10,将hbase集群中的region的最大数据存储量设定为预设数据阈值;

可理解地,hbase(hadoopdatabase)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用hbase技术可在服务器上搭建起大规模结构化存储集群(hbase集群);预设数据阈值是代表一个region(一种数据分区)的数据存储量,且该预设数据阈值可根据需求进行设定,比如预设数据阈值可为256m,此时服务器也可自动设定region的最大数据存储量为预设数据阈值。

s20,接收对所述hbase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存储数据中包含至少一个主键数据;

可理解地,数据表中包括多个主键内容,每个主键内容关联一类存储数据的总数据量(在数据表中已预先设置好该主键内容在数据表中应该占据的总数据量),比如主键内容可以为姓名、电话号码和身份证等,因此主键内容关联一类存储数据中的主键数据可以为具体的名字、具体的电话号码和具体的身份证号码,数据表中已规定具体的名字、具体的电话号码和具体的身份证号码应该在数据表占多大的数据容量(总数据量)。

s30,根据所述预设数据阈值和每一个所述主键内容对应的所述总数据量确定所述数据表中与每一个所述主键内容对应的region的个数;

可理解地,一个主键内容的总数据量可用来确定每一个主键内容对应的region的个数,比如,若一个主键内容的总数据量为2560m大小,预设数据阈值为256m大小,则确定region的个数为10个,若一个主键内容的总数据量为500m大小,预设数据阈值为256m大小,则确定region的个数为2个(总数据量与预设数据阈值不够整除时,可以对余数取整,确定出一个整数的region的个数);一个主键内容可对应至少一个region(对应的region的个数可由主键内容对应的总数据量决定,其中,总数据量越大,对应的region的个数就越多)。

s40,利用预设hash算法获取所述数据表中的每一个所述主键内容对应的rowkey数据集;所述rowkey数据集包括所述主键内容对应的每一个主键数据的rowkey;

可理解地,hash就是把任意长度的输入(又叫做预映射),通过散列算法变换成固定长度的输出(详细的预设hash算法可查看步骤s401至s403);每一个主键内容对应的每一个主键数据通过预设hash算法都可计算出rowkey,在多个主键数据计算出rowkey的时候,可得到由rowkey组成的rowkey数据集。

s50,自与所述主键内容对应的所述rowkey数据集中各所述rowkey中提取第一关键值后,根据所述第一关键值对所述主键内容对应的每一个主键数据进行排序,并获取排序之后的序列值;

可理解地,每个主键内容对应的该类存储数据中的每一个主键数据都可通过预设hash算法求出rowkey对应的第一关键值,也即每个rowkey都可关联一个第一关键值(在第一关键值同时存在数字和字母的时候,可借用字典排序,只对字母进行排序或者只对数字进行排序),且在第一关键值只存在数字时,第一关键值也都存在一个数值大小,因此,通过第一关键值的数值大小可对rowkey关联的每一个主键数据进行排序,上述提到的序列值是按照第一关键值大小排序完成后所对应的标志(比如通过数字编号大小进行排序,因此序列值可以为1、2、3等)。

s60,根据所述主键内容对应的region的个数以及所述序列值,自与所述主键内容对应的所有主键数据中,确定出与所述主键内容对应的每一个region的两个边界元素,并通过与所述主键内容对应的每一个region的两个所述边界元素确定该region的前边界值和后边界值;所述前边界值和后边界值均为与所述边界元素对应的第一关键值;每一个region的前边界值和后边界值之间的范围记录为该region的边界范围;

可理解地,每一个region都存在一个相同大小的边界范围,因此每一个region都存在两个边界(也即每一个region都有一个前边界和一个后边界,只不过每一个region的前边界值和后边界值都不一致);边界元素具体由第一关键值对应的主键数据来进行表示;具体地,由于所有的主键内容都对应着所有的region,且主键内容对应的该类存储数据中的主键数据能按照主键数据对应的rowkey的第一关键值的序列值大小确定出每一个region的两个边界元素,因此通过边界元素就能确定出与主键内容对应的每一个region的前边界值和后边界值,比如,其中一个主键内容中总共存在100个主键数据,100个主键数据对应的rowkey的第一关键值已通过序列值大小的排序,而假设确定出来region的个数为10个,按照region平均分配数据的原则,因此每个region中都能对应平均分配到10个主键数据,进而每个region中都能从10个主键数据确定与其对应的rowkey的第一关键值,且10个主键数据对应的rowkey的第一关键值已通过序列值大小的排序,因而每个region可从对应分配的10个第一关键值确定出第一关键值最小的边界元素和第一关键值最大的边界元素,也即将序列值最小的边界元素和序列值最大的边界元素确定为该region的前边界值和后边界值;需要说明的是,由于region的个数是通过预设数据阈值和所有主键内容对应的总数据量确定出来,因此在总数据量与预设数据阈值不够整除时,会导致最后一个region中并不能存储到与前面所有region相同的数据量,但最后一个region与前面的region相差的数据量很小,不会对hbase集群的均衡负载造成影响。

s70,获取所述主键内容对应的主键数据的所述第一关键值,在确认获取的所述第一关键值的大小在与所述主键内容对应的region的边界范围之内时,将所述主键内容中与所述第一关键值对应的主键数据分配至该region中进行存储。

可理解地,每个主键内容中都对应着rowkey数据集,而rowkey数据集由rowkey组成,因此每个rowkey都关联一个第一关键值;且上述确定出来的region的边界范围是由前边界值和后边界值组成,而前边界值和后边界值是预设rowkey对应的预设关键值,因此第一关键值的大小可与前边界值和后边界值进行对比;并在第一关键值的大小大于前边界值,且小于后边界值的时,才能将与第一关键值对应的主键数据分配至该边界范围对应的region中进行存储。

在步骤s10至s70的实施例中,通过预设数据阈值和数据表中的每一个主键内容的总数据量限制了region的个数,防止频繁对region进行无限制的分裂操作,防止大量占用hbase集群的资源,从而影响到hbase集群整体的读写性能,因此hbase集群的稳定性也将随之提高;将主键内容对应的该类存储数据中与第一关键值对应的主键数据分配至每一个region中进行存储,从而基本实现将数据表中的主键内容对应的主键数据进行平均化至每一个region中,因而与region对应的regionserver(是hbase中最主要的组件,负责数据的实际读写和管理region)的运行负载压力将会减少,进而regionserver的运行速度将会得到提高,也即regionserver的读写性能将会得到提高。

进一步地,如图3所示,所述利用预设hash算法获取所述数据表中的每一个所述主键内容对应的rowkey数据集,包括:

s401,通过对所述数据表中的每一个所述主键内容对应的该类存储数据中的每一个主键数据运用hash,得到各个所述主键内容中的各个主键数据的hashkey,并提取各个所述hashkey对应的各个第二关键值;

s402,获取各个所述主键内容中的各个主键数据的字符长度,并分别将各个所述第二关键值与各个所述字符长度利用绝对值算法进行运算,得到各个第三关键值;

s403,自预设字符分布表中获取各个所述第三关键值所对应的字符,并将获取的各所述字符和对应的主键数据通过预设符号对应进行拼接,得到所述rowkey数据集;所述rowkey数据集中的每一个所述rowkey均由至少一个所述字符与一个所述主键内容中的一个主键数据通过预设符号拼接而成。

可理解地,预设字符分布表中的words被限制在52个字符(两次26个英语字母的排列,a到z后再一次a到z)中,预设字符分布表中的numbers被限制0到9数字中,因而最后得到的rowkey被限制在预设分布范围中,方便于后续对所有rowkey进行查询和管理。

具体地,首先通过hash能从各个主键内容中的各个主键数据得到hashkey,hash中存在对应的hash函数,具体可根据需求选择hash函数,若主键内容中的一个主键数据为电话号码,电话号码为13700000000,通过hash算法得到hashkey=-1088245419,此时的-1088245419为上述提到的第二关键值;接着获取该主键内容的各个主键数据的字符长度,也即主键数据中的words和numbers的长度,此时可将各个第二关键值与各个字符长度进行相除后取余数的绝对值(预设绝对值算法运算)后得到第三关键值,若words和numbers的长度为(52,10),将上述提到的hashkey分别与(52,10)相除后取余数的绝对值,此时第三关键值为(27,9);最后通过得到的第三关键值(也即为words和numbers算出的特殊化的hash值)去预设字符分布表中的words和numbers找到相应的字符,比如上述得到的(27,9),此时可以去预设字符分布表中的words找到第27位的字符,去numbers找到第9位的字符,并将提取到的字符通过预设符号与主键内容进行拼接,得到rowkey(计算出来的各个rowkey可组成rowkey数据集),比如,假设27位的字符为a,第9位的字符为8,上述的主键内容为13700000000,因此拼接完成后得到的rowkey为a8_13700000000。

进一步地,如图4所示,所述步骤s70之后,还包括:

s701,获取所述主键内容对应的所述rowkey数据集中需检索的rowkey,根据与所述rowkey对应的所述第一关键值,确定所述rowkey对应的主键数据在所述hbase集群中存储的目标region;

s702,定位与已确定的所述目标region存在调度关系的至少一个regionserver,建立起与所述regionserver的通信连接后,通过所述regionserver读取与所述rowkey对应的主键数据,并将所述regionserver读取的主键数据通过通信连接写入至本地的预设数据表中。

在本实施例中,通过rowkey可查找到与其对应的region后,建立起与regionserver的通信连接,可通过与region对应的regionserver在region中快速读取与rowkey相关的主键数据。

进一步地,所述步骤s702之后,还包括:

实时监控参与读写任务的所述regionserver的运行状态,并在其中一个所述regionserver的运行状态为宕机时,获取与宕机的所述regionserver关联的所述目标region;

令所述region解除与宕机的所述regionserver之间的调度关系,并根据预设的调度规则建立所述目标region与至少一个运行状态为正常的所述regionserver之间的调度关系。

本实施例是为了在regionserver的运行状态出现问题时,将region与未存在问题的regionserver建立起调度关系从而能保证查询数据的顺利进行,也即保证了查询效率。

进一步地,所述步骤s702之后,还包括:

判断各个所述regionserver的负载程度是否超过预设负载程度;

若其中一个所述regionserver的负载程度超过预设负载程度,则停止超过预设负载程度的所述regionserver关联的运行任务,标记超过预设负载程度的所述regionserver为一个分流点,并将所述分流点对应的超负载的所述运行任务分发至其他未超过预设负载程度的所述regionserver中。

具体地,若其中一个regionserver的负载程度超过预设负载程度后导致regionserver奔溃,则可停止超过预设负载程度的所述regionserver关联的运行任务,若其中一个regionserver的负载程度超过预设负载程度,则将超过预设负载程度的运行任务分发至其他未超过预设负载程度的regionserver中(其中,可将运行任务分发至与同一个region存在调度关系的至少一个regionserver;在未存在与同一个region存在调度关系的一个regionserver时,也可将运行任务分发至与同一个region未存调度关系的regionserver后,建立起该region与该regionserver的调度关系)。

本实施例是在其中一个regionserver超过预设负载程度时,将regionserver的运行任务进行分流至空闲的regionserver中,保证了所有regionserver的正常运行。

进一步地,所述步骤s702之后,还包括:

获取各个所述目标region的访问次数,在所述目标region的所述访问次数达到预设次数阈值时,设置所述目标region为一个访问热点,并在与该所述目标region对应的所述regionserver进行通信连接过程中,对于所述regionserver之间的通信连接进行传输路径的优化处理。

可理解地,传输路径优化处理包括但不限于提升regionserver的吞吐量,增加通信连接的带宽等。

本实施例是在访问次数达到预设次数阈值时,来确定该region为一个访问热点,并在服务器与regionserver进行通信连接过程中,令regionserver优化该通信连接的传输路径(可通过释放该regionserver与本次传输不想关的运行内存),从而能提高传输的速率,节省传输时间。

综上所述,上述提供了一种数据均匀化方法,通过预设数据阈值和数据表中的每一个主键内容的总数据量限制了region的个数,防止频繁对region进行无限制的分裂操作,防止大量占用hbase集群的资源,从而影响到hbase集群整体的读写性能,因此hbase集群的稳定性也将随之提高;将主键内容对应的该类存储数据中与第一关键值对应的主键数据分配至每一个region中进行存储,从而基本实现将数据表中的主键内容对应的主键数据进行平均化至每一个region中,因而与region对应的regionserver的运行负载压力将会减少,进而regionserver的运行速度将会得到提高,也即regionserver的读写性能将会得到提高。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种数据均匀化装置,该数据均匀化装置与上述实施例中数据均匀化方法一一对应。如图5所示,该数据均匀化装置包括设定模块11、第一获取模块12、第一确定模块13、第二获取模块14、第三获取模块15、第二确定模块16和分配模块17。各功能模块详细说明如下:

设定模块11,用于将hbase集群中的region的最大数据存储量设定为预设数据阈值;

第一获取模块12,用于接收对所述hbase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存储数据中包含至少一个主键数据;

第一确定模块13,用于根据所述预设数据阈值和每一个所述主键内容对应的所述总数据量确定所述数据表中与每一个所述主键内容对应的region的个数;

第二获取模块14,用于利用预设hash算法获取所述数据表中的每一个所述主键内容对应的rowkey数据集;所述rowkey数据集包括所述主键内容对应的每一个主键数据的rowkey;

第三获取模块15,用于自与所述主键内容对应的所述rowkey数据集中各所述rowkey中提取第一关键值后,根据所述第一关键值对所述主键内容对应的每一个主键数据进行排序,并获取排序之后的序列值;

第二确定模块16,用于根据所述主键内容对应的region的个数以及所述序列值,自与所述主键内容对应的所有主键数据中,确定出与所述主键内容对应的每一个region的两个边界元素,并通过与所述主键内容对应的每一个region的两个所述边界元素确定该region的前边界值和后边界值;所述前边界值和后边界值均为与所述边界元素对应的第一关键值;每一个region的前边界值和后边界值之间的范围记录为该region的边界范围;

分配模块17,用于获取所述主键内容对应的主键数据的所述第一关键值,在确认获取的所述第一关键值的大小在与所述主键内容对应的region的边界范围之内时,将所述主键内容中与所述第一关键值对应的主键数据分配至该region中进行存储。

进一步地,所述第二获取模块包括:

提取子模块,用于通过对所述数据表中的每一个所述主键内容对应的该类存储数据中的每一个主键数据运用hash,得到各个所述主键内容中的各个主键数据的hashkey,并提取各个所述hashkey对应的各个第二关键值;

运算子模块,用于获取各个所述主键内容中的各个主键数据的字符长度,并分别将各个所述第二关键值与各个所述字符长度利用绝对值算法进行运算,得到各个第三关键值;

拼接子模块,用于自预设字符分布表中获取各个所述第三关键值所对应的字符,并将获取的各所述字符和对应的主键数据通过预设符号对应进行拼接,得到所述rowkey数据集;所述rowkey数据集中的每一个所述rowkey均由至少一个所述字符与一个所述主键内容中的一个主键数据通过预设符号拼接而成。

进一步地,所述数据均匀化装置还包括:

第三确定模块,用于获取所述主键内容对应的所述rowkey数据集中需检索的rowkey,根据与所述rowkey对应的所述第一关键值,确定所述rowkey对应的主键数据在所述hbase集群中存储的目标region;

写入模块,用于定位与已确定的所述目标region存在调度关系的至少一个regionserver,建立起与所述regionserver的通信连接后,通过所述regionserver读取与所述rowkey对应的主键数据,并将所述regionserver读取的主键数据通过通信连接写入至本地的预设数据表中。

进一步地,所述写入模块还包括:

第三获取模块,用于实时监控参与读写任务的所述regionserver的运行状态,并在其中一个所述regionserver的运行状态为宕机时,获取与宕机的所述regionserver关联的所述目标region;

建立模块,用于令所述region解除与宕机的所述regionserver之间的调度关系,并根据预设的调度规则建立所述目标region与至少一个运行状态为正常的所述regionserver之间的调度关系。

进一步地,所述写入模块还包括:

判断模块,用于判断各个所述regionserver的负载程度是否超过预设负载程度;

分发模块,用于若其中一个所述regionserver的负载程度超过预设负载程度,则停止超过预设负载程度的所述regionserver关联的运行任务,标记超过预设负载程度的所述regionserver为一个分流点,并将所述分流点对应的超负载的所述运行任务分发至其他未超过预设负载程度的所述regionserver中。

进一步地,所述写入模块还包括:

优化处理模块,用于获取各个所述目标region的访问次数,在所述目标region的所述访问次数达到预设次数阈值时,设置所述目标region为一个访问热点,并在与该所述目标region对应的所述regionserver进行通信连接过程中,对于所述regionserver之间的通信连接进行传输路径的优化处理。

关于数据均匀化装置的具体限定可以参见上文中对于数据均匀化方法的限定,在此不再赘述。上述数据均匀化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据均匀化方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据均匀化方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中数据均匀化方法的步骤,例如图2所示的步骤s10至步骤s70。或者,处理器执行计算机程序时实现上述实施例中数据均匀化装置的各模块/单元的功能,例如图5所示模块11至模块17的功能。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中数据均匀化方法的步骤,例如图2所示的步骤s10至步骤s70。或者,计算机程序被处理器执行时实现上述实施例中数据均匀化装置的各模块/单元的功能,例如图5所示模块11至模块17的功能。为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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