一种大数据处理分布式缓存系统及其方法技术领域
本发明属于大数据应用领域,尤其涉及一种大数据处理分布式缓存系统及其方法。
背景技术
互联网科技的发展使得数据量急剧增加,在数据科技的大力发展下,人们所能储存、处
理的数据已经达到前所未有的量级,并且以超过摩尔定律的速度迅猛增加。大数据的核心价
值就是在于对于海量数据进行存储和分析。在商业环境下,数据处理服务提供商将大数据处
理包装成服务,出售给用户。
对于一些实时的数据分析需求,用户对处理的性能及返回的时间有所要求。因此需要对
大数据处理的性能进行优化,以提高数据处理效率。缓存是提高大数据处理速度的重要手段。
将数据存储在高速缓存中,可大幅提高数据I/O效率,进而加快数据处理效率。然而,
缓存相对于磁盘等外部存储设备是一种较为昂贵的物品,且大数据是全样本的海量数据,将
所有数据存储在缓存中是不经济的、不可行的。用户的数据访问往往对一部分数据是频繁的、
实时的,因此我们可以将访问频繁的、重要的数据放置于缓存之中。
相对于传统数据缓存,大数据缓存有其独有的特点:
数据是以键值对(Key-Value)结构组织存储。缓存的粒度、形式及替换算法需要进一步
讨论以适应大数据的存储结构。
大数据处理需要依赖于云计算平台。大数据访问的数据往往具有一定的关联性,将有关
联的数据放置到相近的位置,会减少数据传输的代价。比如一个数据处理需要A、B两部分
数据,而A与B存储在两个不同的节点中,这需要将其中一个数据传输到另一个节点中才能
进行处理;A、B若集中存储在一个节点中,将避免网络传输,从而提高处理效率。在得到需
要缓存数据之后,需要设计一种方法将这些数据放置在适合的节点。
发明内容
为了解决现有技术的缺点,本发明提供一种大数据处理分布式缓存方法。该方法利用对
缓存单元进行聚类的方法,在每一个云计算缓存节点对应存储缓存单元类型,用于加快大数
据的处理速度。
为实现上述目的,本发明采用以下技术方案:
一种大数据处理分布式缓存系统,包括:相互通信的大数据存储器和分布式云计算服务
器;
所述大数据存储器划分为若干个缓存单元,每个所述缓存单元用于以键值对的形式进行
存储数据;
所述分布式云计算服务器中设有若干个云计算缓存节点、大数据提取模块和云计算缓存
节点分配模块;
所述大数据提取模块,其用于根据缓存单元的被访问频率,计算缓存单元的价值并进行
排序,提取预设价值阈值范围内的所有缓存单元;
所述云计算缓存节点分配模块,其用于对提取的预设价值阈值范围内的所有缓存单元进
行聚类,并将预设聚类数量的缓存单元分配至任一云计算缓存节点中进行存储。
所述大数据存储器包括RAM存储器和FLASH存储器。
在大数据存储器中根据预设周期进行更新缓存单元中的数据。
一种大数据处理分布式缓存系统的缓存方法,包括:
将大数据处理服务器划分为若干个缓存单元,在每个缓存单元中以键值对的形式进行存
储数据;
根据缓存单元的被访问频率,计算缓存单元的价值并进行排序,提取预设价值阈值范围
内的所有缓存单元;
对提取的预设价值阈值范围内的所有缓存单元进行聚类,并将预设聚类数量的缓存单元
分配至任一云计算缓存节点中进行存储。
计算缓存单元的价值之前,根据预设周期进行更新缓存单元中的数据。
缓存单元的价值的计算方法为:
p i j = α · p i j - 1 + ( 1 - α ) · n i j · β ]]>
其中,表示第i个缓存单元在第j个周期的价值;表示第i个缓存单元在第j-1个
周期的价值;α是周期影响因子,为常数;β是第i个缓存单元中的数据价值因子,为常数;
第i个缓存单元在第j个周期内的访问次数;i和j均为大于等于1的正整数,为大于等
于0的正整数。
在云计算缓存节点中,采用Memcache机制进行缓存大数据。
使用k-means算法对提取的预设价值阈值范围内的所有缓存单元进行聚类。
大数据存储器包括RAM存储器和FLASH存储器。
本发明的有益效果为:
(1)本发明的分布式云计算服务器设有若干个云计算缓存节点,采用每一个云计算缓存
节点对应存储预设数量的缓存单元类型,使得数据在被访问或处理时,减少节点间的网络数
据传输,缩短处理时间,有效提高大数据处理的效率;
(2)本发明的分布式云计算服务器的云计算缓存节点,可以采用多种存储机制进行存储
大数据,其中,包括Memcache机制;而且本发明的大数据处理分布式缓存系统中设置的多
个云计算缓存节点,能够保证大数据得到分布式缓存和处理。
附图说明
图1是本发明的大数据处理分布式缓存方法流程图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明:
本发明的大数据处理分布式缓存系统包括:大数据存储器和分布式云计算服务器,这两
者进行相互通信。
下面依次对大数据存储器和和分布式云计算服务器进行详细介绍:
(1)大数据存储器:
大数据存储器划分有若干个缓存单元,每个缓存单元均用于以键值对的形式进行存储数
据。其中,大数据存储器包括RAM存储器和FLASH存储器。
(2)分布式云计算服务器:
分布式云计算服务器中设有若干个云计算缓存节点、大数据提取模块和云计算缓存节点
分配模块;
其中,大数据提取模块,用于根据缓存单元的被访问频率,计算缓存单元的价值并进行
排序,提取预设价值阈值范围内的所有缓存单元;
云计算缓存节点分配模块,其用于对提取的预设价值阈值范围内的所有缓存单元进行聚
类,并将预设聚类数量的缓存单元分配至任一云计算缓存节点中进行存储。
在大数据存储器中根据预设周期进行更新缓存单元中的数据。
图1是本发明的大数据处理分布式缓存系统的缓存方法,下面结合图1详细说明本发明
的大数据处理分布式缓存系统的缓存方法。
具体地,该缓存方法包括:
步骤1:将大数据处理服务器划分为若干个缓存单元,在每个缓存单元中以键值对的形
式进行存储数据;
步骤2:根据缓存单元的被访问频率,计算缓存单元的价值并进行排序,提取预设价值
阈值范围内的所有缓存单元;
步骤3:对提取的预设价值阈值范围内的所有缓存单元进行聚类,并将预设聚类数量的
缓存单元分配至任一云计算缓存节点中进行存储。
其中,计算缓存单元的价值之前,根据预设周期进行更新缓存单元中的数据。
步骤2中,缓存单元的价值的计算方法为:
p i j = α · p i j - 1 + ( 1 - α ) · n i j · β ]]>
其中,表示第i个缓存单元在第j个周期的价值;表示第i个缓存单元在第j-1个
周期的价值;α是周期影响因子,为常数;β是第i个缓存单元中的数据价值因子,为常数;
第i个缓存单元在第j个周期内的访问次数;i和j均为大于等于1的正整数,为大于等
于0的正整数。
当第i个缓存单元被访问时,返回时间越紧迫,β值越高。在数据访问中,可以根据访
问对返回时间的要求,将紧急程度进行分类:实时、一般、宽松。这三种类似对应不同的β值。
紧急程度高的访问有较高的β值。可以根据数据访问记录统计出一个周期中,任意一个缓存
单元的访问频率及访问紧急程度。
在云计算缓存节点中,采用Memcache机制进行缓存大数据。
使用k-means算法对提取的预设价值阈值范围内的所有缓存单元进行聚类,并将预设聚
类数量的缓存单元分配至任意一个云计算缓存节点中进行存储。
如果一个聚类大于一个节点的容量,再将该聚类使用k-means算法进行分裂,并用尽可
能少的节点对其进行存储。
对提取的预设价值阈值范围内的所有缓存单元进行聚类之前,在预设价值阈值范围内的
所有缓存单元构建一个连通图:
将预设价值阈值范围内的每一个缓存单元设为一个点,若两个缓存单元被一个数据处理
同时访问,在这两个点增加一条权重为1的边,边的权重可以叠加,预设价值阈值范围内的
所有缓存单元形成一个连通图。
对构建好的连通图进行判断其是否为空,若不为空,则对提取的预设价值阈值范围内的
所有缓存单元进行聚类;否则,结束不进行聚类,此时提取的预设价值阈值范围内的所有缓
存单元的个数为一个。将这一个缓存单元对应存储至一个云计算缓存节点中即可。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限
制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付
出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。