CN109271103A - 一种在大数据存储***中进行数据混合存储的方法及*** - Google Patents
一种在大数据存储***中进行数据混合存储的方法及*** Download PDFInfo
- Publication number
- CN109271103A CN109271103A CN201811006477.5A CN201811006477A CN109271103A CN 109271103 A CN109271103 A CN 109271103A CN 201811006477 A CN201811006477 A CN 201811006477A CN 109271103 A CN109271103 A CN 109271103A
- Authority
- CN
- China
- Prior art keywords
- data
- data item
- storage
- equipment
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在大数据存储***中进行数据混合存储的方法及***,其中方法包括:根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;当大数据存储***中低频存储设备的数量大于***预警阈值时,确定复制数据项集合并将复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储。
Description
技术领域
本发明涉及大数据存储领域和云存储领域,并且更具体地,涉及一种在大数据存储***中进行数据混合存储的方法及***。
背景技术
目前,随着各种类型的信息设备的使用变得越来越频繁,数据量正以几何级数的方式进行***式增加。为了从海量的数据中获取有用信息,必须对海量的数据进行有效存储。大数据存储***能够满足对对海量数据进行有效存储的需求。然而,在目前的大数据存储***中,由于每个数据项的被访问次数不同,从而导致每个存储设备中不同的数据项的被访问次数差距会越来越大。进一步地,这种差距会导致存储设备之间的数据被访问次数的失衡,进而导致大数据***的数据平衡性出现访问失衡的问题。为此,现有技术中存在对对大数据存储***中的数据进行混合存储的需求。
发明内容
根据本发明的一个方面,提供一种在大数据存储***中进行数据混合存储的方法,所述方法包括:
基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息,根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;其中所述访问信息统计文件包括数据项统计表,所述数据项统计表包括多个数据项记录,其中每个数据项记录的内容为6元组<数据项的标识符、被访问次数、统计起始时间、统计结束时间、存储尺寸、存储起始时间>;
对每个存储设备的访问信息统计文件进行解析,将当前的统计时间区间内每个存储设备的所有数据项中被访问次数小于低频次数阈值Lthreshod的数据项确定为低频数据项,确定每个存储设备所包括的低频数据项的低频项数量;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;基于每个存储设备的访问信息统计文件确定每个存储设备所包括的所有数据项的数据项数量TNi;其中i为自然数并且DN≥i≥1,其中DN为大数据存储***中所有存储设备的总数量;
当大数据存储***中低频存储设备的数量大于***预警阈值时,获取大数据存储***的***缓冲设备内的匹配统计文件,基于所述匹配统计文件确定***缓冲设备内临时数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和,基于每个临时数据项在当前的统计时间区间内的内容匹配度的算术和的降序顺序对每个临时数据项进行排序,以生成第一排序列表,
根据大数据存储***的***记录设备中的设备描述信息确定大数据存储***中所有存储设备的总数量DN,在所述第一排序列表中从内容匹配度的算术和最大的临时数据项开始并且按照内容匹配度的算术和的降序顺序从所述第一排序列表选择2×DN个临时数据项,将所述2×DN个临时数据项组成第一数据项集合;其中临时数据项集合中的临时数据项的总数大于10×DN;
按照被访问次数的降序顺序对每个存储设备中各自的所有数据项进行排序,以生成多个第二排序列表,根据每个存储设备所包括的所有数据项的数据项数量TNi从每个存储设备的第二排序列表选择多个数据项:
其中,在第i个存储设备的第二排序列表中,从被访问次数最大的数据项开始并且按照被访问次数的降序顺序选择个数据项;
将在每个存储设备的所有数据项中分别选择的个数据项组成第二数据项集合,
其中第二数据项集合中包括个数据项;
基于每个存储设备的访问信息统计文件确定当前的统计时间区间内大数据存储***的所有数据项的被访问次数的***总数,基于大数据存储***的所有数据项的被访问次数的***总数TAtotal和大数据存储***中所有存储设备的总数量DN确定每个存储设备的数据项的平均被访问次数TAaverage,其中TAaverage=TAtotal/DN;
确定第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度,将第一数据项集合中每个临时数据项的平均内容匹配度和TAaverage的乘积的2倍作为每个临时数据项的被访问次数;其中第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度为临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和与多次内容匹配的次数的比值;
将第一数据项集合和第二数据项集合进行合并以生成第三数据项集合,将第一数据项集合中的每个临时数据项作为复制数据项并且将第二数据项集合中的每个数据项作为复制数据项,从第三数据项集合的所有复制数据项中选择被访问次数最大的100个数据项,由所选择的被访问次数最大的100个数据项组成复制数据项集合;
将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数;
根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值;
将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。
或者,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理。
当用于指示在大数据存储***内进行低频预警检测的循环计时器期满时,或当接收到在大数据存储***内进行低频预警检测的请求时,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备,以由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度,从多个临时数据项中选择内容匹配度大于匹配阈值的至少一个选定的临时数据项,将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求;
在确定所述大数据存储***内的所有存储设备中均没有正在运行的数据访问操作时,获取所述大数据存储***内多个存储设备中每个存储设备的运行日志文件。
其中,当位于大数据存储***外部的数据管理设备需要在大数据存储***内进行低频预警检测时,所述数据管理设备向所述大数据存储***发送用于在大数据存储***内进行低频预警检测的请求;
其中将所述大数据存储***从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备包括:
以所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备;
其中所述新的数据访问请求包括查询条件和查询条件的描述信息,所述临时数据项集合中包括多个临时数据项,并且每个临时数据项具有摘要信息,所述摘要信息用于概括地介绍临时数据项的内容;
其中由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度包括:
由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息进行基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配以确定每个临时数据项与所述查询条件的内容匹配度;
其中所述匹配度阈值为60%,并且内容匹配度的范围为[0%,100%];
其中在所述***缓冲设备的缓冲区内保存所述新的数据访问请求之后还包括:向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息,并且所述响应消息中携带用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的信息,其中在所述缓冲区中按照新的数据访问请求的被保存的时间长度来确定新的数据访问请求在所述缓冲区中的当前排队顺序,并且在当前排队顺序中按照被保存的时间长度的降序顺序对新的数据访问请求进行排序。
其中在每个存储设备的***数据区域中保存运行日志文件;
其中当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
或者,当前的统计时间区间为用于指示在大数据存储***内进行低频预警检测的循环计时器期满时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
其中预定数量的自然日为10个自然日、20个自然日或30个自然日;
其中循环计时器的计时周期为1200小时、1500小时或1800小时,并且每当循环计时器期满时,所述循环计时器开始下一次计时;
其中基于当前的统计时间区间和每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息包括:
基于当前的统计时间区间对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在当前的统计时间区间内的多个日志记录;
按照数据项对每个存储设备在当前的统计时间区间内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息;
由每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息;
其中每个日志记录包括:数据项的标识符、访问起始时间、访问结束时间、存储尺寸和存储起始时间;
其中每个数据项具有摘要信息,所述摘要信息用于概括地介绍数据项的内容。
根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件包括:
对每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息进行统计以确定每个数据项的被访问次数;
将每个数据项的经过统计的访问信息中第一次被访问的访问起始时间确定为统计起始时间,将每个数据项的经过统计的访问信息中最后一次被访问的访问结束时间确定为统计结束时间;
基于每个数据项的经过统计的访问信息确定每个数据项的存储尺寸;
根据每个存储设备的存储信息区域中的存储信息文件来确定每个数据项在存储设备中的存储起始时间。
所述低频次数阈值为100、120、150或200;所述***记录设备中的设备描述信息包括:大数据存储***所包括的所有存储设备的总数量、每个存储设备的总存储容量、每个存储设备的网络地址和/或每个存储设备加入所述大数据存储***的时间;
***缓冲设备内的匹配统计文件包括多个匹配统计表,其中为临时数据项集合中的每个临时数据项分配一个匹配统计表,每个匹配统计表包括多个匹配统计项,每个匹配统计项用于记录临时数据项与查询条件的描述信息的单次内容匹配的内容匹配度,匹配统计项的内容为3元组<临时数据项的标识符、查询条件的标识符、内容匹配度>,其中内容匹配度的范围为[0%,100%];
每个存储设备的存储信息区域中的存储信息文件包括:数据项的总数量、每个数据项的存储尺寸、每个数据项的起始存储时间、每个数据项的标识符、每个数据项的摘要信息以及每个存储设备的空闲存储容量;
所述低频设备阈值为100、120、150、200、300、400或500;
其中***预警阈值为100、150、200、300、400、500或600;
其中预定分组数量为50、80、100、120、200或300
其中平衡阈值为20、30、50、80、100、120或150。
在将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储之后,还包括:
根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作;
在确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求的情况下,对所述大数据存储***从任意的数据请求方所接收的新的数据访问请求进行解析以获新的查询条件;
在所述大数据存储***的目录存储服务器中确定所述新的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备;
将所述新的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述新的查询条件的至少一个数据项;
将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。
其中根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作包括:
8.1、根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序确定当前处理的数据访问请求,其中所述当前处理的数据访问请求是缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求;
8.2、对当前处理的数据访问请求进行解析以获取当前处理的查询条件;
8.3、在所述大数据存储***的目录存储服务器中确定所述当前处理的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备;
8.4、将所述当前处理的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述当前处理的查询条件的至少一个数据项;
8.5、将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述当前处理的数据访问请求所指示的数据请求方;
8.6、将缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求删除;
8.7、确定***缓冲设备的缓冲区中是否具有被保存的任何数据访问请求,如果是,则进行步骤8.1;如果否,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。
根据本发明的另一方面,提供一种在大数据存储***中进行数据混合存储的***,所述***包括:
统计单元,基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息,根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;其中所述访问信息统计文件包括数据项统计表,所述数据项统计表包括多个数据项记录,其中每个数据项记录的内容为6元组<数据项的标识符、被访问次数、统计起始时间、统计结束时间、存储尺寸、存储起始时间>;
计算单元,对每个存储设备的访问信息统计文件进行解析,将当前的统计时间区间内每个存储设备的所有数据项中被访问次数小于低频次数阈值Lthreshod的数据项确定为低频数据项,确定每个存储设备所包括的低频数据项的低频项数量;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;基于每个存储设备的访问信息统计文件确定每个存储设备所包括的所有数据项的数据项数量TNi;其中i为自然数并且DN≥i≥1,其中DN为大数据存储***中所有存储设备的总数量;
排序单元,当大数据存储***中低频存储设备的数量大于***预警阈值时,获取大数据存储***的***缓冲设备内的匹配统计文件,基于所述匹配统计文件确定***缓冲设备内临时数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和,基于每个临时数据项在当前的统计时间区间内的内容匹配度的算术和的降序顺序对每个临时数据项进行排序,以生成第一排序列表,
根据大数据存储***的***记录设备中的设备描述信息确定大数据存储***中所有存储设备的总数量DN,在所述第一排序列表中从内容匹配度的算术和最大的临时数据项开始并且按照内容匹配度的算术和的降序顺序从所述第一排序列表选择2×DN个临时数据项,将所述2×DN个临时数据项组成第一数据项集合;其中临时数据项集合中的临时数据项的总数大于10×DN;
按照被访问次数的降序顺序对每个存储设备中各自的所有数据项进行排序,以生成多个第二排序列表,根据每个存储设备所包括的所有数据项的数据项数量TNi从每个存储设备的第二排序列表选择多个数据项:
其中,在第i个存储设备的第二排序列表中,从被访问次数最大的数据项开始并且按照被访问次数的降序顺序选择个数据项;
将在每个存储设备的所有数据项中分别选择的个数据项组成第二数据项集合,
其中第二数据项集合中包括个数据项;
基于每个存储设备的访问信息统计文件确定当前的统计时间区间内大数据存储***的所有数据项的被访问次数的***总数,基于大数据存储***的所有数据项的被访问次数的***总数TAtotal和大数据存储***中所有存储设备的总数量DN确定每个存储设备的数据项的平均被访问次数TAaverage,其中TAaverage=TAtotal/DN;
转换单元,确定第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时各自的平均内容匹配度,将第一数据项集合中每个临时数据项各自的平均内容匹配度和TAaverage的乘积的2倍作为每个临时数据项的被访问次数;其中第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度为临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和与多次内容匹配的次数的比值。
合并单元,将第一数据项集合和第二数据项集合进行合并以生成第三数据项集合,将第一数据项集合中的每个临时数据项作为复制数据项并且将第二数据项集合中的每个数据项作为复制数据项,从第三数据项集合的所有复制数据项中选择被访问次数最大的100个数据项,由所选择的被访问次数最大的100个数据项组成复制数据项集合;
混合单元,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数;
根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值;
将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。
或者,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理。
还包括预处理单元,当用于指示在大数据存储***内进行低频预警检测的循环计时器期满时,或当接收到在大数据存储***内进行低频预警检测的请求时,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备,以由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度,从多个临时数据项中选择内容匹配度大于匹配阈值的至少一个选定的临时数据项,将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求;
在确定所述大数据存储***内的所有存储设备中均没有正在运行的数据访问操作时,获取所述大数据存储***内多个存储设备中每个存储设备的运行日志文件。
其中,当位于大数据存储***外部的数据管理设备需要在大数据存储***内进行低频预警检测时,所述数据管理设备向所述大数据存储***发送用于在大数据存储***内进行低频预警检测的请求;
其中将所述大数据存储***从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备包括:
以所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备;
其中所述新的数据访问请求包括查询条件和查询条件的描述信息,所述临时数据项集合中包括多个临时数据项,并且每个临时数据项具有摘要信息,所述摘要信息用于概括地介绍临时数据项的内容;
其中由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度包括:
由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息进行基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配以确定每个临时数据项与所述查询条件的内容匹配度;
其中所述匹配度阈值为60%,并且内容匹配度的范围为[0%,100%];
其中在所述***缓冲设备的缓冲区内保存所述新的数据访问请求之后还包括:向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息,并且所述响应消息中携带用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的信息,其中在所述缓冲区中按照新的数据访问请求的被保存的时间长度来确定新的数据访问请求在所述缓冲区中的当前排队顺序,并且在当前排队顺序中按照被保存的时间长度的降序顺序对新的数据访问请求进行排序。
其中在每个存储设备的***数据区域中保存运行日志文件;
其中当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
或者,当前的统计时间区间为用于指示在大数据存储***内进行低频预警检测的循环计时器期满时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
其中预定数量的自然日为10个自然日、20个自然日或30个自然日;
其中循环计时器的计时周期为1200小时、1500小时或1800小时,并且每当循环计时器期满时,所述循环计时器开始下一次计时;
其中统计单元基于当前的统计时间区间和每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息包括:
统计单元基于当前的统计时间区间对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在当前的统计时间区间内的多个日志记录;
统计单元按照数据项对每个存储设备在当前的统计时间区间内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息;
统计单元由每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息;
其中每个日志记录包括:数据项的标识符、访问起始时间、访问结束时间、存储尺寸和存储起始时间;
其中每个数据项具有摘要信息,所述摘要信息用于概括地介绍数据项的内容。
统计单元根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件包括:
统计单元对每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息进行统计以确定每个数据项的被访问次数;
统计单元将每个数据项的经过统计的访问信息中第一次被访问的访问起始时间确定为统计起始时间,将每个数据项的经过统计的访问信息中最后一次被访问的访问结束时间确定为统计结束时间;
统计单元基于每个数据项的经过统计的访问信息确定每个数据项的存储尺寸;
统计单元根据每个存储设备的存储信息区域中的存储信息文件来确定每个数据项在存储设备中的存储起始时间。
所述低频次数阈值为100、120、150或200;
所述***记录设备中的设备描述信息包括:大数据存储***所包括的所有存储设备的总数量、每个存储设备的总存储容量、每个存储设备的网络地址和/或每个存储设备加入所述大数据存储***的时间;
***缓冲设备内的匹配统计文件包括多个匹配统计表,其中为临时数据项集合中的每个临时数据项分配一个匹配统计表,每个匹配统计表包括多个匹配统计项,每个匹配统计项用于记录临时数据项与查询条件的描述信息的单次内容匹配的内容匹配度,匹配统计项的内容为3元组<临时数据项的标识符、查询条件的标识符、内容匹配度>,其中内容匹配度的范围为[0%,100%];
每个存储设备的存储信息区域中的存储信息文件包括:数据项的总数量、每个数据项的存储尺寸、每个数据项的起始存储时间、每个数据项的标识符、每个数据项的摘要信息以及每个存储设备的空闲存储容量;
所述低频设备阈值为100、120、150、200、300、400或500;
其中***预警阈值为100、150、200、300、400、500或600;
其中预定分组数量为50、80、100、120、200或300
其中平衡阈值为20、30、50、80、100、120或150。
还包括调整单元,用于在将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储之后,
根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作;
在确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求的情况下,对所述大数据存储***从任意的数据请求方所接收的新的数据访问请求进行解析以获新的查询条件;
在所述大数据存储***的目录存储服务器中确定所述新的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备;
将所述新的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述新的查询条件的至少一个数据项;
将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。
其中根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作包括:
16.1、根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序确定当前处理的数据访问请求,其中所述当前处理的数据访问请求是缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求;
16.2、对当前处理的数据访问请求进行解析以获取当前处理的查询条件;
16.3、在所述大数据存储***的目录存储服务器中确定所述当前处理的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备;
16.4、将所述当前处理的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述当前处理的查询条件的至少一个数据项;
16.5、将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述当前处理的数据访问请求所指示的数据请求方;
16.6、将缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求删除;
16.7、确定***缓冲设备的缓冲区中是否具有被保存的任何数据访问请求,如果是,则进行步骤16.1;如果否,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的在大数据存储***中进行数据混合存储的方法的流程图;
图2为根据本发明另一实施方式的在大数据存储***中进行数据混合存储的方法的流程图;以及
图3为根据本发明实施方式的在大数据存储***中进行数据混合存储的***的结构示意图。
具体实施方式
图1为根据本发明实施方式的在大数据存储***中进行数据混合存储的方法100的流程图。
在步骤101,基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息,根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;其中所述访问信息统计文件包括数据项统计表,所述数据项统计表包括多个数据项记录,其中每个数据项记录的内容为6元组<数据项的标识符、被访问次数、统计起始时间、统计结束时间、存储尺寸、存储起始时间>。
其中在每个存储设备的***数据区域中保存各自的运行日志文件。其中运行日志文件包括多个日志记录,其中每个日志记录包括:数据项的标识符、访问起始时间、访问结束时间、存储尺寸和存储起始时间。其中数据项的标识符可以是数据项的名称、数据项的唯一标识、数据项的编码等能够唯一识别数据项的信息。访问起始时间是指当前日志记录所涉及的数据项被访问的起始时间。访问结束时间是指当前日志记录所涉及的数据项被访问的结束时间。例如,当对存储设备中的数据项进行访问时可能会涉及读取、修改等操作,访问起始时间和访问结束时间用于表示本次操作的起始时间和结束时间。存储尺寸是数据项在存储设备中的存储尺寸。存储起始时间是数据项在存储设备或大数据存储***中开始存储的起始时间,即,数据项被保存到存储设备或大数据存储***中以提供访问服务的起始时间。在本申请中,访问包括读取和/或修改。
其中当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
或者,当前的统计时间区间为用于指示在大数据存储***内进行低频预警检测的循环计时器期满时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
其中预定数量的自然日为10个自然日、20个自然日或30个自然日。
例如,大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时的时间为2018年8月11日11:25:36,则大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时时所处的当前日期为2018年8月11日。大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时时所处的当前日期的前一日为2018年8月10日。当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时时所处的当前日期的前一日开始并且向前预定数量(例如,10个自然数)的自然日的一段时间,即当前的统计时间区间为2018年8月1日00:00:00至2018年8月10日23:59:59。
其中循环计时器的计时周期为1200小时、1500小时或1800小时,并且每当循环计时器期满时,所述循环计时器开始下一次计时。即每满1200小时、1500小时或1800小时,则循环计时器开始下一次计时。
其中基于当前的统计时间区间和每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息包括:
基于当前的统计时间区间对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在当前的统计时间区间内的多个日志记录;
按照数据项对每个存储设备在当前的统计时间区间内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息;
由每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息。
例如,当前的统计时间区间为2018年8月1日00:00:00至2018年8月10日23:59:59,即10个自然日,则基于2018年8月1日00:00:00至2018年8月10日23:59:59对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在2018年8月1日00:00:00至2018年8月10日23:59:59内的所有日志记录。按照数据项(例如,数据项的标识符)对每个存储设备在2018年8月1日00:00:00至2018年8月10日23:59:59内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息。每个数据项的经过统计的访问信息例如是每个数据项在当前的统计时间区间内的所有的被访问信息。将每个存储设备内每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息。
其中每个数据项具有摘要信息,所述摘要信息用于概括地介绍数据项的内容。例如,摘要信息为:从0开始C++,使用通俗易懂的介绍让你21天学会C++这门编程语言。
根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件包括:
对每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息进行统计以确定每个数据项的被访问次数;
将每个数据项的经过统计的访问信息中第一次被访问的访问起始时间确定为统计起始时间,将每个数据项的经过统计的访问信息中最后一次被访问的访问结束时间确定为统计结束时间;
基于每个数据项的经过统计的访问信息确定每个数据项的存储尺寸;
根据每个存储设备的存储信息区域中的存储信息文件来确定每个数据项在存储设备中的存储起始时间。
由于每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息包括多个日志记录,并且每个日志记录代表数据项被访问了1次,从而通过日志记录的数量来确定每个数据项的(总的)被访问次数。例如,当前的统计时间区间为2018年8月1日00:00:00至2018年8月10日23:59:59,数据项A在当前的统计时间区间内的第一次被访问的访问起始时间为2018年8月1日09:02:11,访问结束时间2018年8月1日09:05:36,并且数据项A在当前的统计时间区间内的最后一次被访问的访问起始时间为2018年8月10日22:26:53,访问结束时间2018年8月10日22:27:39,则数据项A在当前的统计时间区间内的统计起始时间为2018年8月1日09:02:11,并且统计结束时间为2018年8月10日22:27:39。
此外,根据经过统计的访问信息中任意的日志记录中的存储尺寸来确定每个数据项的存储尺寸。根据每个存储设备的存储信息区域中的存储信息文件中记载的每个数据项被复制/移动到存储设备中的时间来确定每个数据项在存储设备中的存储起始时间。
在步骤102,对每个存储设备的访问信息统计文件进行解析,将当前的统计时间区间内每个存储设备的所有数据项中被访问次数小于低频次数阈值Lthreshod的数据项确定为低频数据项,确定每个存储设备所包括的低频数据项的低频项数量;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;基于每个存储设备的访问信息统计文件确定每个存储设备所包括的所有数据项的数据项数量TNi;其中i为自然数并且DN≥i≥1,其中DN为大数据存储***中所有存储设备的总数量。
其中,低频次数阈值为100、120、150、175、200或任意合理数值。
在步骤103,当大数据存储***中低频存储设备的数量大于***预警阈值时,获取大数据存储***的***缓冲设备内的匹配统计文件,基于所述匹配统计文件确定***缓冲设备内临时数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和,基于每个临时数据项在当前的统计时间区间内的内容匹配度的算术和的降序顺序对每个临时数据项进行排序,以生成第一排序列表。其中***预警阈值为100、150、200、300、400、500或600。
根据大数据存储***的***记录设备中的设备描述信息确定大数据存储***中所有存储设备的总数量DN,在所述第一排序列表中从内容匹配度的算术和最大的临时数据项开始并且按照内容匹配度的算术和的降序顺序从所述第一排序列表选择2×DN个临时数据项,将所述2×DN个临时数据项组成第一数据项集合;其中临时数据项集合中的临时数据项的总数大于10×DN。当大数据存储***中所有存储设备的总数量DN为830时,按照内容匹配度的算术和的降序顺序从所述第一排序列表选择1660个临时数据项。其中临时数据项集合中的临时数据项的总数大于8300。
按照被访问次数的降序顺序对每个存储设备中各自的所有数据项进行排序,以生成多个第二排序列表,根据每个存储设备所包括的所有数据项的数据项数量TNi从每个存储设备的第二排序列表选择多个数据项:
其中,在第i个存储设备的第二排序列表中,从被访问次数最大的数据项开始并且按照被
访问次数的降序顺序选择个数据项;
将在每个存储设备的所有数据项中分别选择的个数据项组成第二数据项集合,
其中第二数据项集合中包括个数据项;
基于每个存储设备的访问信息统计文件确定当前的统计时间区间内大数据存储***的所有数据项的被访问次数的***总数,基于大数据存储***的所有数据项的被访问次数的***总数TAtotal和大数据存储***中所有存储设备的总数量DN确定每个存储设备的数据项的平均被访问次数TAaverage,其中TAaverage=TAtotal/DN。
所述***记录设备中的设备描述信息包括:大数据存储***所包括的所有存储设备的总数量、每个存储设备的总存储容量、每个存储设备的网络地址和/或每个存储设备加入所述大数据存储***的时间。大数据存储***所包括的存储设备的总数量是大数据存储***中所有存储设备的总数量。每个存储设备的总存储容量是每个存储设备的存储空间的总容量、或可以是每个存储设备的可以用于存储数据项的存储空间的总容量。每个存储设备的网络地址例如是IP地址、MAC地址等。每个存储设备加入所述大数据存储***的时间是指每个存储设备加入所述大数据存储***以作为所述大数据存储***中的存储设备来存储数据项的起始时间。
***缓冲设备内的匹配统计文件包括多个匹配统计表,其中为临时数据项集合中的每个临时数据项分配一个匹配统计表,每个匹配统计表包括多个匹配统计项,每个匹配统计项用于记录临时数据项与查询条件的描述信息的单次内容匹配的内容匹配度,匹配统计项的内容为3元组<临时数据项的标识符、查询条件的标识符、内容匹配度>,其中内容匹配度的范围为[0%,100%]。例如匹配统计项为<临时数据项A、查询条件F、65%>。
每个存储设备的存储信息区域中的存储信息文件包括:数据项的总数量、每个数据项的存储尺寸、每个数据项的起始存储时间、每个数据项的标识符、每个数据项的摘要信息以及每个存储设备的空闲存储容量
数据项的总数量是指每个存储设备中所有数据项的总数量。每个数据项的存储尺寸是指每个数据项在存储设备中进行存储时的存储尺寸或所占用的存储空间。每个数据项的起始存储时间是指每个数据项在所归属的存储设备中开始存储的时间,例如,数据项被复制到存储设备中的时间。每个数据项的标识符可以是数据项的名称、数据项的唯一标识、数据项的编码等能够唯一识别数据项的信息。每个数据项的摘要信息用于概括地介绍临时数据项或数据项的内容。例如,摘要信息为:从0开始C++,使用通俗易懂的介绍让你21天学会C++这门编程语言。每个存储设备的空闲存储容量是指每个存储设备中能够存储新的数据项的空闲存储容量或剩余存储容量。
所述低频设备阈值为90、100、120、130、150、160、200、220、300、400或500等任意合理数值。
在步骤104,确定第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度,将第一数据项集合中每个临时数据项的平均内容匹配度和TAaverage的乘积的2倍作为每个临时数据项的被访问次数;其中第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度为临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和与多次内容匹配的次数的比值;
在步骤105,将第一数据项集合和第二数据项集合进行合并以生成第三数据项集合,将第一数据项集合中的每个临时数据项作为复制数据项并且将第二数据项集合中的每个数据项作为复制数据项,从第三数据项集合的所有复制数据项中选择被访问次数最大的100个数据项,由所选择的被访问次数最大的100个数据项组成复制数据项集合;
在步骤106,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数。对所存储的所有数据项中相同的数据项进行去重处理的含义是将每个存储设备中的相同或重复的数据项仅保留一个。
根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值。例如,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成100个内容组。并且使得多个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值,或使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值。即,100个内容组中每个内容组各自的所有数据项的总被访问次数之间的标准差小于平衡阈值。
将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。例如,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成5个内容组,并且每个内容组的存储尺寸(即,每个内容组所包括的所有数据线的存储尺寸的累加和)为:第一内容组的存储尺寸为500M、第二内容组的存储尺寸为175M、第三内容组的存储尺寸为2GB、第四内容组的存储尺寸为1GB和第五内容组的存储尺寸为750M。将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域。即,将存储空间划分为5个存储区域并且每个存储区域的存储容量为500M、175M、2GB、1GB和750M。应当了解的是,由于实际硬件的物理特性,每个存储区域的存储容量为刚好能够存储第一内容组、第二内容组、第三内容组、第四内容组和第五内容组,即可能存在物理意义上的误差(例如,存储空间偏大一点)。为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内,即为第一内容组分配存储空间为500M的存储区域、为第二内容组分配存储空间为175M的存储区域、为第三内容组分配存储空间为2GB的存储区域、为第四内容组分配存储空间为1GB的存储区域和为第五内容组分配存储空间为750M的存储区域
其中预定分组数量为50、80、100、120、200或300
其中平衡阈值为20、30、50、80、100、120或150。
或者,在步骤106,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理。
在基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息之前还包括:
当用于指示在大数据存储***内进行低频预警检测的循环计时器期满时,或当接收到在大数据存储***内进行低频预警检测的请求时,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备,以由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度,从多个临时数据项中选择内容匹配度大于匹配阈值的至少一个选定的临时数据项,将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求。
其中,当位于大数据存储***外部的数据管理设备需要在大数据存储***内进行低频预警检测时,所述数据管理设备向所述大数据存储***发送用于在大数据存储***内进行低频预警检测的请求。位于大数据存储***外部的数据管理设备可以由大数据存储***的维护人员、管理人员或运营人员进行操作或控制。例如,大数据存储***的维护人员、管理人员或运营人员可以周期性地或根据实际运行情况来触发对大数据存储***的数据平衡性的确定。大数据存储***中包括多个存储设备,并且每个存储设备能够存储多个数据项.每个存储设备的存储容量可以是任意的合理数值。每个数据项可以是各种类型的数据文件,例如文本类型、音频类型、视频类型等的数据文件。其中低频数据项是指在特定时间内的被访问次数低于大数据存储***的所有数据项的平均被访问次数,或低于存储设备的所有数据项的平均被访问次数等的数据项。低频存储设备例如是指特定时间内的所有数据项的总被访问次数低于大数据存储***内所有存储设备各自的所有数据项的平均总被访问次数。
其中将所述大数据存储***从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备包括:
以所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备。
在所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始,或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,可能会接收到多个新的数据访问请求。此时,促使将大数据存储***随后从一个或多个任意的数据请求方所接收的所有新的数据访问请求全部重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备。通常,大数据存储***会根据新的数据访问请求所包括的查询条件在所述大数据存储***的目录存储服务器中确定查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备。将所述当前处理的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述当前处理的查询条件的至少一个数据项。而为了在大数据存储***内进行低频预警检测时,大数据存储***将所有新的数据访问请求全部重定向到所述大数据存储***的***缓冲设备。其中***缓冲设备位于大数据存储***内部,并且用于存储包括多个临时数据项的临时数据项集合,或用于对数据访问请求进行缓冲。其中查询条件例如是,移动通信和5G和(上行链路或下行链路)。在这种情况下,查询条件的描述信息例如是,5G移动通信的上行链路或下行链路。临时数据项集合中包括多个临时数据项,并且每个临时数据项可以是各种类型的数据文件,例如文本类型、音频类型、视频类型等的数据文件。每个临时数据项或每个数据项均具有摘要信息并且摘要信息用于概括地介绍临时数据项或数据项的内容。例如,摘要信息为:从0开始C++,使用通俗易懂的介绍让你21天学会C++这门编程语言。
其中所述新的数据访问请求包括查询条件和查询条件的描述信息,所述临时数据项集合中包括多个临时数据项,并且每个临时数据项具有摘要信息,所述摘要信息用于概括地介绍临时数据项的内容;
其中由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度包括:
由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息进行基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配以确定每个临时数据项与所述查询条件的内容匹配度。
本申请可以使用任何现有的文本比对方式来确定新的数据访问请求所包含的查询条件的描述信息与***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息之间的内容匹配度,其中文本比对方式例如是基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配。其中,每个临时数据项与所述查询条件的内容匹配度可以用于表明每个临时数据项与所述查询条件的相近程度、类似程度、相关程度或关联程度。
其中所述匹配度阈值为55%、60%、65%、70%或任意合理数值,并且内容匹配度的范围为[0%,100%],即内容匹配度可以是从0%到100%之间的任何数值。从多个临时数据项中选择内容匹配度大于匹配度阈值的至少一个选定的临时数据项,即从多个临时数据项中选择内容匹配度大于55%、60%、65%或70%的至少一个选定的临时数据项。将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求。将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方的目的是让数据请求方能够在大数据存储***暂停数据访问服务的情况下获取与数据访问请求相关的内容,以促使数据请求方可以了解相关内容。其中在所述***缓冲设备的缓冲区内保存所述新的数据访问请求之后还包括:向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息,并且所述响应消息中携带用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的信息,其中在所述缓冲区中按照新的数据访问请求的被保存的时间长度来确定新的数据访问请求在所述缓冲区中的当前排队顺序,并且在当前排队顺序中按照被保存的时间长度的降序顺序对新的数据访问请求进行排序。即,被保存的时间长度越长,则新的数据访问请求的当前排队顺序越靠前。优选地,在向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息之后还包括:周期性地向所述新的数据访问请求所指示的数据请求方发送用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的通知消息。
在确定所述大数据存储***内的所有存储设备中均没有正在运行的数据访问操作时,获取所述大数据存储***内多个存储设备中每个存储设备的运行日志文件。其中正在运行的数据访问操作是指存储设备对根据大数据存储***所发送的查询条件在自身的存储空间内进行数据检索,将通过数据检索所获得的数据项构成数据项集合,将数据项集合通过大数据存储***传送给数据请求方的操作处理。
在将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储之后,还包括:
根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作。例如,***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序为:第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,则根据第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作。
在确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求的情况下,对所述大数据存储***从任意的数据请求方所接收的新的数据访问请求进行解析以获新的查询条件。例如,当在确定***缓冲设备的缓冲区中的第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求均已经被处理,因此***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。随后,对所述大数据存储***从数据请求方所接收的第六数据访问请求进行解析以获新的查询条件。其中新的查询条件例如是,移动通信和5G和(上行链路或下行链路)。
在所述大数据存储***的目录存储服务器中确定所述新的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备。其中,目录存储服务器用于存储大数据存储***内所有数据项的目录信息。例如,目录信息为数据项的标识符、数据项的摘要信息、数据项的元数据信息、数据项的关键字信息、数据项所位于的存储设备等。目录存储服务器根据查询条件或新的查询条件对存储大数据存储***内所有数据项进行查询,例如,在数据项的摘要信息、数据项的元数据信息和/或数据项的关键字信息中利用新的查询条件(例如,移动通信和5G和(上行链路或下行链路))进行查询,以确定所述新的查询条件所涉及的多个数据项。根据目录信息确定每个数据项所位于、所存储于或所涉及的存储设备,由此确定多个数据项所涉及的至少一个目标存储设备。在特殊情况下,多个数据项可能位于同一目标存储设备中。
将所述新的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述新的查询条件的至少一个数据项。每个目标存储设备根据所述新的查询条件在自身所存储的所有数据项中进行检索,以获得至少一个数据项,并且将所获得的至少一个数据项发送给大数据存储***的接口设备。优选地,本申请的大数据存储***中不存在冗余的数据项,即每个数据项均是唯一的。其中,接口设备用于从数据请求方接收数据访问请求,并且接口设备用于将数据项集合或目标数据项集合发送给相应的数据请求方。
将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。大数据存储***的接口设备将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且接口设备将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。
其中根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作包括:
8.1、根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序确定当前处理的数据访问请求,其中所述当前处理的数据访问请求是缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求。如上所述,例如,***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序为:第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,则根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序确定当前处理的数据访问请求为第一数据访问请求。
8.2、对当前处理的数据访问请求进行解析以获取当前处理的查询条件。其中数据访问请求或当前处理的数据访问请求包括查询条件,因此对当前处理的数据访问请求进行解析能够获取当前处理的查询条件。其中当前处理的查询条件例如是,移动通信和5G和(上行链路或下行链路)。
8.3、在所述大数据存储***的目录存储服务器中确定所述当前处理的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备。其中,目录存储服务器用于存储大数据存储***内所有数据项的目录信息。例如,目录信息为数据项的标识符、数据项的摘要信息、数据项的元数据信息、数据项的关键字信息、数据项所位于的存储设备等。目录存储服务器根据当前处理的查询条件对存储大数据存储***内所有数据项进行查询,例如,在数据项的摘要信息、数据项的元数据信息和/或数据项的关键字信息中利用当前处理的查询条件(例如,移动通信和5G和(上行链路或下行链路))进行查询,以确定所述新的查询条件所涉及的多个数据项。根据目录信息确定每个数据项所位于、所存储于或所涉及的存储设备,由此确定多个数据项所涉及的至少一个目标存储设备。在特殊情况下,多个数据项可能位于同一目标存储设备中。
8.4、将所述当前处理的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述当前处理的查询条件的至少一个数据项。每个目标存储设备根据所述当前处理的查询条件在自身所存储的所有数据项中进行检索,以获得至少一个数据项,并且将所获得的至少一个数据项发送给大数据存储***的接口设备。优选地,本申请的大数据存储***中不存在冗余的数据项,即每个数据项均是唯一的。其中,接口设备用于从数据请求方接收数据访问请求,并且接口设备用于将数据项集合或目标数据项集合发送给相应的数据请求方。
8.5、将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述当前处理的数据访问请求所指示的数据请求方。接口设备将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且接口设备将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。
8.6、将缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求删除。例如,将缓冲区中多个数据访问请求的当前排队顺序中的第一数据访问请求删除。
8.7、确定***缓冲设备的缓冲区中是否具有被保存的任何数据访问请求,如果是,则进行步骤8.1;如果否,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。例如,***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序为:第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,并且当将缓冲区中多个数据访问请求的当前排队顺序中的第一数据访问请求删除后,则确定***缓冲设备的缓冲区中具有被保存的任何数据访问请求,即第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,则进行步骤801。
当将缓冲区中多个数据访问请求的当前排队顺序中的第五据访问请求删除后,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求,即第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求均完成了数据访问操作,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。即在确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求的情况下,对所述大数据存储***从任意的数据请求方所接收的新的数据访问请求进行解析以获新的查询条件,并进行相应处理。
在本申请中,如果存在不同的数据项或低频数据项的被访问次数相同,并且需要从数据项或低频数据项选择一个作为当前的数据项或当前的低频数据项时,从被访问次数相同的不同的数据项或低频数据项中随机进行选择。
图2为根据本发明另一实施方式的在大数据存储***中进行数据混合存储的方法200的流程图。方法200将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储。
在步骤201,每个存储设备接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储。
在步骤202,每个存储设备对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数。对所存储的所有数据项中相同的数据项进行去重处理的含义是将每个存储设备中的相同或重复的数据项仅保留一个。
在步骤203,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值。例如,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成100个内容组。并且使得多个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值,或使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值。即,100个内容组中每个内容组各自的所有数据项的总被访问次数之间的标准差小于平衡阈值。
在步骤204,将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。例如,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成5个内容组,并且每个内容组的存储尺寸(即,每个内容组所包括的所有数据线的存储尺寸的累加和)为:第一内容组的存储尺寸为500M、第二内容组的存储尺寸为175M、第三内容组的存储尺寸为2GB、第四内容组的存储尺寸为1GB和第五内容组的存储尺寸为750M。将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域。即,将存储空间划分为5个存储区域并且每个存储区域的存储容量为500M、175M、2GB、1GB和750M。应当了解的是,由于实际硬件的物理特性,每个存储区域的存储容量为刚好能够存储第一内容组、第二内容组、第三内容组、第四内容组和第五内容组,即可能存在物理意义上的误差(例如,存储空间偏大一点)。为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内,即为第一内容组分配存储空间为500M的存储区域、为第二内容组分配存储空间为175M的存储区域、为第三内容组分配存储空间为2GB的存储区域、为第四内容组分配存储空间为1GB的存储区域和为第五内容组分配存储空间为750M的存储区域。
可替换地,方法200将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储(图2中未示出)。
在步骤201,每个存储设备接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储。
在步骤202,每个存储设备对所存储的所有数据项中相同的数据项进行去重处理。对所存储的所有数据项中相同的数据项进行去重处理的含义是将每个存储设备中的相同或重复的数据项仅保留一个。
图3为根据本发明实施方式的在大数据存储***中进行数据混合存储的***300的结构示意图。***300包括:统计单元301、计算单元302、排序单元303、转换单元304、合并单元305、混合单元306、预处理单元307以及调整单元308。
统计单元301,基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息,根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;其中所述访问信息统计文件包括数据项统计表,所述数据项统计表包括多个数据项记录,其中每个数据项记录的内容为6元组<数据项的标识符、被访问次数、统计起始时间、统计结束时间、存储尺寸、存储起始时间>。
其中在每个存储设备的***数据区域中保存各自的运行日志文件。其中运行日志文件包括多个日志记录,其中每个日志记录包括:数据项的标识符、访问起始时间、访问结束时间、存储尺寸和存储起始时间。其中数据项的标识符可以是数据项的名称、数据项的唯一标识、数据项的编码等能够唯一识别数据项的信息。访问起始时间是指当前日志记录所涉及的数据项被访问的起始时间。访问结束时间是指当前日志记录所涉及的数据项被访问的结束时间。例如,当对存储设备中的数据项进行访问时可能会涉及读取、修改等操作,访问起始时间和访问结束时间用于表示本次操作的起始时间和结束时间。存储尺寸是数据项在存储设备中的存储尺寸。存储起始时间是数据项在存储设备或大数据存储***中开始存储的起始时间,即,数据项被保存到存储设备或大数据存储***中以提供访问服务的起始时间。在本申请中,访问包括读取和/或修改。
其中当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
或者,当前的统计时间区间为用于指示在大数据存储***内进行低频预警检测的循环计时器期满时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
其中预定数量的自然日为10个自然日、20个自然日或30个自然日。
例如,大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时的时间为2018年8月11日11:25:36,则大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时时所处的当前日期为2018年8月11日。大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时时所处的当前日期的前一日为2018年8月10日。当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求或用于指示在大数据存储***内进行低频预警检测的循环计时器期满时时所处的当前日期的前一日开始并且向前预定数量(例如,10个自然数)的自然日的一段时间,即当前的统计时间区间为2018年8月1日00:00:00至2018年8月10日23:59:59。
其中循环计时器的计时周期为1200小时、1500小时或1800小时,并且每当循环计时器期满时,所述循环计时器开始下一次计时。即每满1200小时、1500小时或1800小时,则循环计时器开始下一次计时。
其中基于当前的统计时间区间和每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息包括:
基于当前的统计时间区间对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在当前的统计时间区间内的多个日志记录;
按照数据项对每个存储设备在当前的统计时间区间内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息;
由每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息。
例如,当前的统计时间区间为2018年8月1日00:00:00至2018年8月10日23:59:59,即10个自然日,则基于2018年8月1日00:00:00至2018年8月10日23:59:59对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在2018年8月1日00:00:00至2018年8月10日23:59:59内的所有日志记录。按照数据项(例如,数据项的标识符)对每个存储设备在2018年8月1日00:00:00至2018年8月10日23:59:59内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息。每个数据项的经过统计的访问信息例如是每个数据项在当前的统计时间区间内的所有的被访问信息。将每个存储设备内每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息。
其中每个数据项具有摘要信息,所述摘要信息用于概括地介绍数据项的内容。例如,摘要信息为:从0开始C++,使用通俗易懂的介绍让你21天学会C++这门编程语言。
根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件包括:
对每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息进行统计以确定每个数据项的被访问次数;
将每个数据项的经过统计的访问信息中第一次被访问的访问起始时间确定为统计起始时间,将每个数据项的经过统计的访问信息中最后一次被访问的访问结束时间确定为统计结束时间;
基于每个数据项的经过统计的访问信息确定每个数据项的存储尺寸;
根据每个存储设备的存储信息区域中的存储信息文件来确定每个数据项在存储设备中的存储起始时间。
由于每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息包括多个日志记录,并且每个日志记录代表数据项被访问了1次,从而通过日志记录的数量来确定每个数据项的(总的)被访问次数。例如,当前的统计时间区间为2018年8月1日00:00:00至2018年8月10日23:59:59,数据项A在当前的统计时间区间内的第一次被访问的访问起始时间为2018年8月1日09:02:11,访问结束时间2018年8月1日09:05:36,并且数据项A在当前的统计时间区间内的最后一次被访问的访问起始时间为2018年8月10日22:26:53,访问结束时间2018年8月10日22:27:39,则数据项A在当前的统计时间区间内的统计起始时间为2018年8月1日09:02:11,并且统计结束时间为2018年8月10日22:27:39。
此外,根据经过统计的访问信息中任意的日志记录中的存储尺寸来确定每个数据项的存储尺寸。根据每个存储设备的存储信息区域中的存储信息文件中记载的每个数据项被复制/移动到存储设备中的时间来确定每个数据项在存储设备中的存储起始时间。
计算单元302,对每个存储设备的访问信息统计文件进行解析,将当前的统计时间区间内每个存储设备的所有数据项中被访问次数小于低频次数阈值Lthreshod的数据项确定为低频数据项,确定每个存储设备所包括的低频数据项的低频项数量;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;基于每个存储设备的访问信息统计文件确定每个存储设备所包括的所有数据项的数据项数量TNi;其中i为自然数并且DN≥i≥1,其中DN为大数据存储***中所有存储设备的总数量。
其中,低频次数阈值为100、120、150、175、200或任意合理数值。
排序单元303,当大数据存储***中低频存储设备的数量大于***预警阈值时,获取大数据存储***的***缓冲设备内的匹配统计文件,基于所述匹配统计文件确定***缓冲设备内临时数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和,基于每个临时数据项在当前的统计时间区间内的内容匹配度的算术和的降序顺序对每个临时数据项进行排序,以生成第一排序列表。其中***预警阈值为100、150、200、300、400、500或600。
根据大数据存储***的***记录设备中的设备描述信息确定大数据存储***中所有存储设备的总数量DN,在所述第一排序列表中从内容匹配度的算术和最大的临时数据项开始并且按照内容匹配度的算术和的降序顺序从所述第一排序列表选择2×DN个临时数据项,将所述2×DN个临时数据项组成第一数据项集合;其中临时数据项集合中的临时数据项的总数大于10×DN。当大数据存储***中所有存储设备的总数量DN为830时,按照内容匹配度的算术和的降序顺序从所述第一排序列表选择1660个临时数据项。其中临时数据项集合中的临时数据项的总数大于8300。
按照被访问次数的降序顺序对每个存储设备中各自的所有数据项进行排序,以生成多个第二排序列表,根据每个存储设备所包括的所有数据项的数据项数量TNi从每个存储设备的第二排序列表选择多个数据项:
其中,在第i个存储设备的第二排序列表中,从被访问次数最大的数据项开始并且按照被
访问次数的降序顺序选择个数据项;
将在每个存储设备的所有数据项中分别选择的个数据项组成第二数据项集合,
其中第二数据项集合中包括个数据项;
基于每个存储设备的访问信息统计文件确定当前的统计时间区间内大数据存储***的所有数据项的被访问次数的***总数,基于大数据存储***的所有数据项的被访问次数的***总数TAtotal和大数据存储***中所有存储设备的总数量DN确定每个存储设备的数据项的平均被访问次数TAaverage,其中TAaverage=TAtotal/DN。
***记录设备中的设备描述信息包括:大数据存储***所包括的所有存储设备的总数量、每个存储设备的总存储容量、每个存储设备的网络地址和/或每个存储设备加入所述大数据存储***的时间。大数据存储***所包括的存储设备的总数量是大数据存储***中所有存储设备的总数量。每个存储设备的总存储容量是每个存储设备的存储空间的总容量、或可以是每个存储设备的可以用于存储数据项的存储空间的总容量。每个存储设备的网络地址例如是IP地址、MAC地址等。每个存储设备加入所述大数据存储***的时间是指每个存储设备加入所述大数据存储***以作为所述大数据存储***中的存储设备来存储数据项的起始时间。
***缓冲设备内的匹配统计文件包括多个匹配统计表,其中为临时数据项集合中的每个临时数据项分配一个匹配统计表,每个匹配统计表包括多个匹配统计项,每个匹配统计项用于记录临时数据项与查询条件的描述信息的单次内容匹配的内容匹配度,匹配统计项的内容为3元组<临时数据项的标识符、查询条件的标识符、内容匹配度>,其中内容匹配度的范围为[0%,100%]。例如匹配统计项为<临时数据项A、查询条件F、65%>。
每个存储设备的存储信息区域中的存储信息文件包括:数据项的总数量、每个数据项的存储尺寸、每个数据项的起始存储时间、每个数据项的标识符、每个数据项的摘要信息以及每个存储设备的空闲存储容量
数据项的总数量是指每个存储设备中所有数据项的总数量。每个数据项的存储尺寸是指每个数据项在存储设备中进行存储时的存储尺寸或所占用的存储空间。每个数据项的起始存储时间是指每个数据项在所归属的存储设备中开始存储的时间,例如,数据项被复制到存储设备中的时间。每个数据项的标识符可以是数据项的名称、数据项的唯一标识、数据项的编码等能够唯一识别数据项的信息。每个数据项的摘要信息用于概括地介绍临时数据项或数据项的内容。例如,摘要信息为:从0开始C++,使用通俗易懂的介绍让你21天学会C++这门编程语言。每个存储设备的空闲存储容量是指每个存储设备中能够存储新的数据项的空闲存储容量或剩余存储容量。
所述低频设备阈值为90、100、120、130、150、160、200、220、300、400或500等任意合理数值。
转换单元304,确定第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时各自的平均内容匹配度,将第一数据项集合中每个临时数据项各自的平均内容匹配度和TAaverage的乘积的2倍作为每个临时数据项的被访问次数;其中第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度为临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和与多次内容匹配的次数的比值。例如,临时数据项A在当前的统计时间区间(10个自然日)内进行5次内容匹配时的内容匹配度的算术和为55%+65%+90%+45%+75%=330%,则临时数据项A在当前的统计时间区间内进行5次内容匹配时各自的平均内容匹配度为330%/5=66%。当TAaverage为200次时,临时数据项A的被访问次数为66%*200*2=264次。
合并单元305,将第一数据项集合和第二数据项集合进行合并以生成第三数据项集合,将第一数据项集合中的每个临时数据项作为复制数据项并且将第二数据项集合中的每个数据项作为复制数据项,从第三数据项集合的所有复制数据项中选择被访问次数最大的100个数据项,由所选择的被访问次数最大的100个数据项组成复制数据项集合;
混合单元306,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数。对所存储的所有数据项中相同的数据项进行去重处理的含义是将每个存储设备中的相同或重复的数据项仅保留一个。
根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值。例如,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成100个内容组。并且使得多个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值,或使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值。即,100个内容组中每个内容组各自的所有数据项的总被访问次数之间的标准差小于平衡阈值。
将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。例如,根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成5个内容组,并且每个内容组的存储尺寸(即,每个内容组所包括的所有数据线的存储尺寸的累加和)为:第一内容组的存储尺寸为500M、第二内容组的存储尺寸为175M、第三内容组的存储尺寸为2GB、第四内容组的存储尺寸为1GB和第五内容组的存储尺寸为750M。将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域。即,将存储空间划分为5个存储区域并且每个存储区域的存储容量为500M、175M、2GB、1GB和750M。应当了解的是,由于实际硬件的物理特性,每个存储区域的存储容量为刚好能够存储第一内容组、第二内容组、第三内容组、第四内容组和第五内容组,即可能存在物理意义上的误差(例如,存储空间偏大一点)。为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内,即为第一内容组分配存储空间为500M的存储区域、为第二内容组分配存储空间为175M的存储区域、为第三内容组分配存储空间为2GB的存储区域、为第四内容组分配存储空间为1GB的存储区域和为第五内容组分配存储空间为750M的存储区域
其中预定分组数量为50、80、100、120、200或300。其中平衡阈值为20、30、50、80、100、120或150。
或者,混合单元306,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理。
预处理单元307,在基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息之前,当用于指示在大数据存储***内进行低频预警检测的循环计时器期满时,或当接收到在大数据存储***内进行低频预警检测的请求时,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备,以由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度,从多个临时数据项中选择内容匹配度大于匹配阈值的至少一个选定的临时数据项,将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求。
其中,当位于大数据存储***外部的数据管理设备需要在大数据存储***内进行低频预警检测时,所述数据管理设备向所述大数据存储***发送用于在大数据存储***内进行低频预警检测的请求。位于大数据存储***外部的数据管理设备可以由大数据存储***的维护人员、管理人员或运营人员进行操作或控制。例如,大数据存储***的维护人员、管理人员或运营人员可以周期性地或根据实际运行情况来触发对大数据存储***的数据平衡性的确定。大数据存储***中包括多个存储设备,并且每个存储设备能够存储多个数据项.每个存储设备的存储容量可以是任意的合理数值。每个数据项可以是各种类型的数据文件,例如文本类型、音频类型、视频类型等的数据文件。其中低频数据项是指在特定时间内的被访问次数低于大数据存储***的所有数据项的平均被访问次数,或低于存储设备的所有数据项的平均被访问次数等的数据项。低频存储设备例如是指特定时间内的所有数据项的总被访问次数低于大数据存储***内所有存储设备各自的所有数据项的平均总被访问次数。
其中将所述大数据存储***从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备包括:
以所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备。
在所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始,或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,可能会接收到多个新的数据访问请求。此时,促使将大数据存储***随后从一个或多个任意的数据请求方所接收的所有新的数据访问请求全部重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备。通常,大数据存储***会根据新的数据访问请求所包括的查询条件在所述大数据存储***的目录存储服务器中确定查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备。将所述当前处理的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述当前处理的查询条件的至少一个数据项。而为了在大数据存储***内进行低频预警检测时,大数据存储***将所有新的数据访问请求全部重定向到所述大数据存储***的***缓冲设备。其中***缓冲设备位于大数据存储***内部,并且用于存储包括多个临时数据项的临时数据项集合,或用于对数据访问请求进行缓冲。其中查询条件例如是,移动通信和5G和(上行链路或下行链路)。在这种情况下,查询条件的描述信息例如是,5G移动通信的上行链路或下行链路。临时数据项集合中包括多个临时数据项,并且每个临时数据项可以是各种类型的数据文件,例如文本类型、音频类型、视频类型等的数据文件。每个临时数据项或每个数据项均具有摘要信息并且摘要信息用于概括地介绍临时数据项或数据项的内容。例如,摘要信息为:从0开始C++,使用通俗易懂的介绍让你21天学会C++这门编程语言。
其中所述新的数据访问请求包括查询条件和查询条件的描述信息,所述临时数据项集合中包括多个临时数据项,并且每个临时数据项具有摘要信息,所述摘要信息用于概括地介绍临时数据项的内容;
其中由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度包括:
由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息进行基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配以确定每个临时数据项与所述查询条件的内容匹配度。
本申请可以使用任何现有的文本比对方式来确定新的数据访问请求所包含的查询条件的描述信息与***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息之间的内容匹配度,其中文本比对方式例如是基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配。其中,每个临时数据项与所述查询条件的内容匹配度可以用于表明每个临时数据项与所述查询条件的相近程度、类似程度、相关程度或关联程度。
其中所述匹配度阈值为55%、60%、65%、70%或任意合理数值,并且内容匹配度的范围为[0%,100%],即内容匹配度可以是从0%到100%之间的任何数值。从多个临时数据项中选择内容匹配度大于匹配度阈值的至少一个选定的临时数据项,即从多个临时数据项中选择内容匹配度大于55%、60%、65%或70%的至少一个选定的临时数据项。将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求。将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方的目的是让数据请求方能够在大数据存储***暂停数据访问服务的情况下获取与数据访问请求相关的内容,以促使数据请求方可以了解相关内容。其中在所述***缓冲设备的缓冲区内保存所述新的数据访问请求之后还包括:向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息,并且所述响应消息中携带用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的信息,其中在所述缓冲区中按照新的数据访问请求的被保存的时间长度来确定新的数据访问请求在所述缓冲区中的当前排队顺序,并且在当前排队顺序中按照被保存的时间长度的降序顺序对新的数据访问请求进行排序。即,被保存的时间长度越长,则新的数据访问请求的当前排队顺序越靠前。优选地,在向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息之后还包括:周期性地向所述新的数据访问请求所指示的数据请求方发送用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的通知消息。
在确定所述大数据存储***内的所有存储设备中均没有正在运行的数据访问操作时,获取所述大数据存储***内多个存储设备中每个存储设备的运行日志文件。其中正在运行的数据访问操作是指存储设备对根据大数据存储***所发送的查询条件在自身的存储空间内进行数据检索,将通过数据检索所获得的数据项构成数据项集合,将数据项集合通过大数据存储***传送给数据请求方的操作处理。
调整单元308,在将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储之后,根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作。例如,***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序为:第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,则根据第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作。
在确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求的情况下,对所述大数据存储***从任意的数据请求方所接收的新的数据访问请求进行解析以获新的查询条件。例如,当在确定***缓冲设备的缓冲区中的第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求均已经被处理,因此***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。随后,对所述大数据存储***从数据请求方所接收的第六数据访问请求进行解析以获新的查询条件。其中新的查询条件例如是,移动通信和5G和(上行链路或下行链路)。
在所述大数据存储***的目录存储服务器中确定所述新的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备。其中,目录存储服务器用于存储大数据存储***内所有数据项的目录信息。例如,目录信息为数据项的标识符、数据项的摘要信息、数据项的元数据信息、数据项的关键字信息、数据项所位于的存储设备等。目录存储服务器根据查询条件或新的查询条件对存储大数据存储***内所有数据项进行查询,例如,在数据项的摘要信息、数据项的元数据信息和/或数据项的关键字信息中利用新的查询条件(例如,移动通信和5G和(上行链路或下行链路))进行查询,以确定所述新的查询条件所涉及的多个数据项。根据目录信息确定每个数据项所位于、所存储于或所涉及的存储设备,由此确定多个数据项所涉及的至少一个目标存储设备。在特殊情况下,多个数据项可能位于同一目标存储设备中。
将所述新的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述新的查询条件的至少一个数据项。每个目标存储设备根据所述新的查询条件在自身所存储的所有数据项中进行检索,以获得至少一个数据项,并且将所获得的至少一个数据项发送给大数据存储***的接口设备。优选地,本申请的大数据存储***中不存在冗余的数据项,即每个数据项均是唯一的。其中,接口设备用于从数据请求方接收数据访问请求,并且接口设备用于将数据项集合或目标数据项集合发送给相应的数据请求方。
将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。大数据存储***的接口设备将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且接口设备将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。
其中根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序对缓冲区中的每个数据访问请求进行数据访问操作包括:
8.1、根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序确定当前处理的数据访问请求,其中所述当前处理的数据访问请求是缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求。如上所述,例如,***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序为:第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,则根据***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序确定当前处理的数据访问请求为第一数据访问请求。
8.2、对当前处理的数据访问请求进行解析以获取当前处理的查询条件。其中数据访问请求或当前处理的数据访问请求包括查询条件,因此对当前处理的数据访问请求进行解析能够获取当前处理的查询条件。其中当前处理的查询条件例如是,移动通信和5G和(上行链路或下行链路)。
8.3、在所述大数据存储***的目录存储服务器中确定所述当前处理的查询条件所涉及的多个数据项,并确定多个数据项所涉及的至少一个目标存储设备。其中,目录存储服务器用于存储大数据存储***内所有数据项的目录信息。例如,目录信息为数据项的标识符、数据项的摘要信息、数据项的元数据信息、数据项的关键字信息、数据项所位于的存储设备等。目录存储服务器根据当前处理的查询条件对存储大数据存储***内所有数据项进行查询,例如,在数据项的摘要信息、数据项的元数据信息和/或数据项的关键字信息中利用当前处理的查询条件(例如,移动通信和5G和(上行链路或下行链路))进行查询,以确定所述新的查询条件所涉及的多个数据项。根据目录信息确定每个数据项所位于、所存储于或所涉及的存储设备,由此确定多个数据项所涉及的至少一个目标存储设备。在特殊情况下,多个数据项可能位于同一目标存储设备中。
8.4、将所述当前处理的查询条件发送给每个目标存储设备,并且从每个目标存储设备接收符合所述当前处理的查询条件的至少一个数据项。每个目标存储设备根据所述当前处理的查询条件在自身所存储的所有数据项中进行检索,以获得至少一个数据项,并且将所获得的至少一个数据项发送给大数据存储***的接口设备。优选地,本申请的大数据存储***中不存在冗余的数据项,即每个数据项均是唯一的。其中,接口设备用于从数据请求方接收数据访问请求,并且接口设备用于将数据项集合或目标数据项集合发送给相应的数据请求方。
8.5、将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且将所述目标数据项集合发送给所述当前处理的数据访问请求所指示的数据请求方。接口设备将从每个目标存储设备所接收的所有数据项组成目标数据项集合,并且接口设备将所述目标数据项集合发送给所述新的数据访问请求所指示的数据请求方。
8.6、将缓冲区中多个数据访问请求的当前排队顺序中排序第一位的数据访问请求删除。例如,将缓冲区中多个数据访问请求的当前排队顺序中的第一数据访问请求删除。
8.7、确定***缓冲设备的缓冲区中是否具有被保存的任何数据访问请求,如果是,则进行步骤8.1;如果否,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。例如,***缓冲设备的缓冲区中多个数据访问请求的当前排队顺序为:第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,并且当将缓冲区中多个数据访问请求的当前排队顺序中的第一数据访问请求删除后,则确定***缓冲设备的缓冲区中具有被保存的任何数据访问请求,即第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求,则进行步骤801。
当将缓冲区中多个数据访问请求的当前排队顺序中的第五据访问请求删除后,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求,即第一数据访问请求、第二数据访问请求、第三数据访问请求、第四数据访问请求和第五数据访问请求均完成了数据访问操作,则确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求。即在确定***缓冲设备的缓冲区中不具有被保存的任何数据访问请求的情况下,对所述大数据存储***从任意的数据请求方所接收的新的数据访问请求进行解析以获新的查询条件,并进行相应处理。
在本申请中,如果存在不同的数据项或低频数据项的被访问次数相同,并且需要从数据项或低频数据项选择一个作为当前的数据项或当前的低频数据项时,从被访问次数相同的不同的数据项或低频数据项中随机进行选择。
Claims (10)
1.一种在大数据存储***中进行数据混合存储的方法,所述方法包括:
基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息,根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;其中所述访问信息统计文件包括数据项统计表,所述数据项统计表包括多个数据项记录,其中每个数据项记录的内容为6元组<数据项的标识符、被访问次数、统计起始时间、统计结束时间、存储尺寸、存储起始时间>;
对每个存储设备的访问信息统计文件进行解析,将当前的统计时间区间内每个存储设备的所有数据项中被访问次数小于低频次数阈值Lthreshod的数据项确定为低频数据项,确定每个存储设备所包括的低频数据项的低频项数量;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;基于每个存储设备的访问信息统计文件确定每个存储设备所包括的所有数据项的数据项数量TNi;其中i为自然数并且DN≥i≥1,其中DN为大数据存储***中所有存储设备的总数量;
当大数据存储***中低频存储设备的数量大于***预警阈值时,获取大数据存储***的***缓冲设备内的匹配统计文件,基于所述匹配统计文件确定***缓冲设备内临时数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和,基于每个临时数据项在当前的统计时间区间内的内容匹配度的算术和的降序顺序对每个临时数据项进行排序,以生成第一排序列表,
根据大数据存储***的***记录设备中的设备描述信息确定大数据存储***中所有存储设备的总数量DN,在所述第一排序列表中从内容匹配度的算术和最大的临时数据项开始并且按照内容匹配度的算术和的降序顺序从所述第一排序列表选择2×DN个临时数据项,将所述2×DN个临时数据项组成第一数据项集合;其中临时数据项集合中的临时数据项的总数大于10×DN;
按照被访问次数的降序顺序对每个存储设备中各自的所有数据项进行排序,以生成多个第二排序列表,根据每个存储设备所包括的所有数据项的数据项数量TNi从每个存储设备的第二排序列表选择多个数据项:
其中,在第i个存储设备的第二排序列表中,从被访问次数最大的数据项开始并且按照被访问次数的降序顺序选择个数据项;
将在每个存储设备的所有数据项中分别选择的个数据项组成第二数据项集合,
其中第二数据项集合中包括个数据项;
基于每个存储设备的访问信息统计文件确定当前的统计时间区间内大数据存储***的所有数据项的被访问次数的***总数,基于大数据存储***的所有数据项的被访问次数的***总数TAtotal和大数据存储***中所有存储设备的总数量DN确定每个存储设备的数据项的平均被访问次数TAaverage,其中TAaverage=TAtotal/DN;
确定第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度,将第一数据项集合中每个临时数据项的平均内容匹配度和TAaverage的乘积的2倍作为每个临时数据项的被访问次数;其中第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度为临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和与多次内容匹配的次数的比值;
将第一数据项集合和第二数据项集合进行合并以生成第三数据项集合,将第一数据项集合中的每个临时数据项作为复制数据项并且将第二数据项集合中的每个数据项作为复制数据项,从第三数据项集合的所有复制数据项中选择被访问次数最大的100个数据项,由所选择的被访问次数最大的100个数据项组成复制数据项集合;
将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数;
根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值;
将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。
或者,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理。
2.根据权利要求1所述的方法,
当用于指示在大数据存储***内进行低频预警检测的循环计时器期满时,或当接收到在大数据存储***内进行低频预警检测的请求时,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备,以由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度,从多个临时数据项中选择内容匹配度大于匹配阈值的至少一个选定的临时数据项,将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求;
在确定所述大数据存储***内的所有存储设备中均没有正在运行的数据访问操作时,获取所述大数据存储***内多个存储设备中每个存储设备的运行日志文件。
3.根据权利要求1-2中任意一项所述的方法,其中,当位于大数据存储***外部的数据管理设备需要在大数据存储***内进行低频预警检测时,所述数据管理设备向所述大数据存储***发送用于在大数据存储***内进行低频预警检测的请求;
其中将所述大数据存储***从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备包括:
以所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备;
其中所述新的数据访问请求包括查询条件和查询条件的描述信息,所述临时数据项集合中包括多个临时数据项,并且每个临时数据项具有摘要信息,所述摘要信息用于概括地介绍临时数据项的内容;
其中由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度包括:
由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息进行基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配以确定每个临时数据项与所述查询条件的内容匹配度;
其中所述匹配度阈值为60%,并且内容匹配度的范围为[0%,100%];
其中在所述***缓冲设备的缓冲区内保存所述新的数据访问请求之后还包括:向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息,并且所述响应消息中携带用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的信息,其中在所述缓冲区中按照新的数据访问请求的被保存的时间长度来确定新的数据访问请求在所述缓冲区中的当前排队顺序,并且在当前排队顺序中按照被保存的时间长度的降序顺序对新的数据访问请求进行排序。
4.根据权利要求1-3中任意一项所述的方法,其中在每个存储设备的***数据区域中保存运行日志文件;
其中当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
或者,当前的统计时间区间为用于指示在大数据存储***内进行低频预警检测的循环计时器期满时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
其中预定数量的自然日为10个自然日、20个自然日或30个自然日;
其中循环计时器的计时周期为1200小时、1500小时或1800小时,并且每当循环计时器期满时,所述循环计时器开始下一次计时;
其中基于当前的统计时间区间和每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息包括:
基于当前的统计时间区间对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在当前的统计时间区间内的多个日志记录;
按照数据项对每个存储设备在当前的统计时间区间内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息;
由每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息;
其中每个日志记录包括:数据项的标识符、访问起始时间、访问结束时间、存储尺寸和存储起始时间;
其中每个数据项具有摘要信息,所述摘要信息用于概括地介绍数据项的内容。
5.根据权利要求1-4中任意一项所述的方法,
根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件包括:
对每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息进行统计以确定每个数据项的被访问次数;
将每个数据项的经过统计的访问信息中第一次被访问的访问起始时间确定为统计起始时间,将每个数据项的经过统计的访问信息中最后一次被访问的访问结束时间确定为统计结束时间;
基于每个数据项的经过统计的访问信息确定每个数据项的存储尺寸;
根据每个存储设备的存储信息区域中的存储信息文件来确定每个数据项在存储设备中的存储起始时间。
6.一种在大数据存储***中进行数据混合存储的***,所述***包括:
统计单元,基于当前的统计时间区间和大数据存储***内多个存储设备中每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息,根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件;其中所述访问信息统计文件包括数据项统计表,所述数据项统计表包括多个数据项记录,其中每个数据项记录的内容为6元组<数据项的标识符、被访问次数、统计起始时间、统计结束时间、存储尺寸、存储起始时间>;
计算单元,对每个存储设备的访问信息统计文件进行解析,将当前的统计时间区间内每个存储设备的所有数据项中被访问次数小于低频次数阈值Lthreshod的数据项确定为低频数据项,确定每个存储设备所包括的低频数据项的低频项数量;将多个存储设备中低频项数量大于低频设备阈值的存储设备确定为低频存储设备并确定大数据存储***中低频存储设备的数量;基于每个存储设备的访问信息统计文件确定每个存储设备所包括的所有数据项的数据项数量TNi;其中i为自然数并且DN≥i≥1,其中DN为大数据存储***中所有存储设备的总数量;
排序单元,当大数据存储***中低频存储设备的数量大于***预警阈值时,获取大数据存储***的***缓冲设备内的匹配统计文件,基于所述匹配统计文件确定***缓冲设备内临时数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和,基于每个临时数据项在当前的统计时间区间内的内容匹配度的算术和的降序顺序对每个临时数据项进行排序,以生成第一排序列表,
根据大数据存储***的***记录设备中的设备描述信息确定大数据存储***中所有存储设备的总数量DN,在所述第一排序列表中从内容匹配度的算术和最大的临时数据项开始并且按照内容匹配度的算术和的降序顺序从所述第一排序列表选择2×DN个临时数据项,将所述2×DN个临时数据项组成第一数据项集合;其中临时数据项集合中的临时数据项的总数大于10×DN;
按照被访问次数的降序顺序对每个存储设备中各自的所有数据项进行排序,以生成多个第二排序列表,根据每个存储设备所包括的所有数据项的数据项数量TNi从每个存储设备的第二排序列表选择多个数据项:
其中,在第i个存储设备的第二排序列表中,从被访问次数最大的数据项开始并且按照被访问次数的降序顺序选择个数据项;
将在每个存储设备的所有数据项中分别选择的个数据项组成第二数据项集合,
其中第二数据项集合中包括个数据项;
基于每个存储设备的访问信息统计文件确定当前的统计时间区间内大数据存储***的所有数据项的被访问次数的***总数,基于大数据存储***的所有数据项的被访问次数的***总数TAtotal和大数据存储***中所有存储设备的总数量DN确定每个存储设备的数据项的平均被访问次数TAaverage,其中TAaverage=TAtotal/DN;
转换单元,确定第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时各自的平均内容匹配度,将第一数据项集合中每个临时数据项各自的平均内容匹配度和TAaverage的乘积的2倍作为每个临时数据项的被访问次数;其中第一数据项集合中每个临时数据项在当前的统计时间区间内进行多次内容匹配时的平均内容匹配度为临时数据项在当前的统计时间区间内进行多次内容匹配时的内容匹配度的算术和与多次内容匹配的次数的比值。
合并单元,将第一数据项集合和第二数据项集合进行合并以生成第三数据项集合,将第一数据项集合中的每个临时数据项作为复制数据项并且将第二数据项集合中的每个数据项作为复制数据项,从第三数据项集合的所有复制数据项中选择被访问次数最大的100个数据项,由所选择的被访问次数最大的100个数据项组成复制数据项集合;
混合单元,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理,基于(自身的)访问信息统计文件确定经过去重处理的所有数据项中每个数据项在当前的统计时间区间内的预定时间段内的被访问次数;
根据每个数据项在预定时间段内的被访问次数对所有数据项进行分组以生成预定分组数量的多个内容组,以使得每个内容组中所有数据项的总被访问次数之间的标准差小于平衡阈值;
将存储空间划分为与所包括的多个内容组的数量相同并且存储容量与相应的内容组相适配的多个存储区域,为每个内容组分配相应的存储区域并且将每个内容组中的所有数据项移动到相应的存储区域内。
或者,将所述复制数据项集合传送给所述多个存储设备中的每个存储设备,并促使每个存储设备进行处理,以实现数据混合存储:
接收所述复制数据项集合并且将所述复制数据项集合中的所有复制数据项进行存储;
对所存储的所有数据项中相同的数据项进行去重处理。
7.根据权利要求6所述的***,还包括预处理单元,
当用于指示在大数据存储***内进行低频预警检测的循环计时器期满时,或当接收到在大数据存储***内进行低频预警检测的请求时,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备,以由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度,从多个临时数据项中选择内容匹配度大于匹配阈值的至少一个选定的临时数据项,将所选择的至少一个选定的临时数据项发送给所述新的数据访问请求所指示的数据请求方,并且在所述***缓冲设备的缓冲区内保存所述新的数据访问请求;
在确定所述大数据存储***内的所有存储设备中均没有正在运行的数据访问操作时,获取所述大数据存储***内多个存储设备中每个存储设备的运行日志文件。
8.根据权利要求6-7中任意一项所述的***,其中,当位于大数据存储***外部的数据管理设备需要在大数据存储***内进行低频预警检测时,所述数据管理设备向所述大数据存储***发送用于在大数据存储***内进行低频预警检测的请求;
其中将所述大数据存储***从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备包括:
以所述大数据存储***接收到用于在大数据存储***内进行低频预警检测的请求的时刻开始或者在用于指示在大数据存储***内进行低频预警检测的循环计时器期满的时刻开始,将所述大数据存储***随后从任意的数据请求方所接收的新的数据访问请求重定向到所述大数据存储***的***缓冲设备而不将所接收的新的数据访问请求发送给多个存储设备中的相应的存储设备;
其中所述新的数据访问请求包括查询条件和查询条件的描述信息,所述临时数据项集合中包括多个临时数据项,并且每个临时数据项具有摘要信息,所述摘要信息用于概括地介绍临时数据项的内容;
其中由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项进行内容匹配以确定每个临时数据项的内容匹配度包括:
由所述***缓冲设备将新的数据访问请求所包含的查询条件的描述信息与所述***缓冲设备的临时数据项集合中的每个临时数据项的摘要信息进行基于语义内容比对的内容匹配、基于关键字比对的内容匹配或基于语义内容和关键字相结合的内容匹配以确定每个临时数据项与所述查询条件的内容匹配度;
其中所述匹配度阈值为60%,并且内容匹配度的范围为[0%,100%];
其中在所述***缓冲设备的缓冲区内保存所述新的数据访问请求之后还包括:向所述新的数据访问请求所指示的数据请求方发送用于表明所述大数据存储***暂停数据访问和所述新的数据访问请求已经被保存到所述***缓冲设备的缓冲区中的响应消息,并且所述响应消息中携带用于表明来自数据请求方的新的数据访问请求在所述缓冲区中的当前排队顺序的信息,其中在所述缓冲区中按照新的数据访问请求的被保存的时间长度来确定新的数据访问请求在所述缓冲区中的当前排队顺序,并且在当前排队顺序中按照被保存的时间长度的降序顺序对新的数据访问请求进行排序。
9.根据权利要求6-8中任意一项所述的***,其中在每个存储设备的***数据区域中保存运行日志文件;
其中当前的统计时间区间为大数据存储***接收到在大数据存储***内进行低频预警检测的请求时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
或者,当前的统计时间区间为用于指示在大数据存储***内进行低频预警检测的循环计时器期满时所处的当前日期的前一日开始并且向前预定数量的自然日的一段时间;
其中预定数量的自然日为10个自然日、20个自然日或30个自然日;
其中循环计时器的计时周期为1200小时、1500小时或1800小时,并且每当循环计时器期满时,所述循环计时器开始下一次计时;
其中统计单元基于当前的统计时间区间和每个存储设备的运行日志文件确定每个存储设备中存储的多个数据项的经过统计的访问信息包括:
统计单元基于当前的统计时间区间对每个存储设备的运行日志文件中的所有日志记录进行选取以获得每个存储设备在当前的统计时间区间内的多个日志记录;
统计单元按照数据项对每个存储设备在当前的统计时间区间内的多个日志记录进行分类,以获得每个数据项的经过统计的访问信息;
统计单元由每个数据项的经过统计的访问信息构成每个存储设备中存储的多个数据项的经过统计的访问信息;
其中每个日志记录包括:数据项的标识符、访问起始时间、访问结束时间、存储尺寸和存储起始时间;
其中每个数据项具有摘要信息,所述摘要信息用于概括地介绍数据项的内容。
10.根据权利要求6-9中任意一项所述的***,
统计单元根据每个存储设备中存储的多个数据项的经过统计的访问信息确定每个存储设备的访问信息统计文件包括:
统计单元对每个存储设备中存储的多个数据项中每个数据项的经过统计的访问信息进行统计以确定每个数据项的被访问次数;
统计单元将每个数据项的经过统计的访问信息中第一次被访问的访问起始时间确定为统计起始时间,将每个数据项的经过统计的访问信息中最后一次被访问的访问结束时间确定为统计结束时间;
统计单元基于每个数据项的经过统计的访问信息确定每个数据项的存储尺寸;
统计单元根据每个存储设备的存储信息区域中的存储信息文件来确定每个数据项在存储设备中的存储起始时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811006477.5A CN109271103A (zh) | 2018-08-30 | 2018-08-30 | 一种在大数据存储***中进行数据混合存储的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811006477.5A CN109271103A (zh) | 2018-08-30 | 2018-08-30 | 一种在大数据存储***中进行数据混合存储的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271103A true CN109271103A (zh) | 2019-01-25 |
Family
ID=65154742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811006477.5A Withdrawn CN109271103A (zh) | 2018-08-30 | 2018-08-30 | 一种在大数据存储***中进行数据混合存储的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271103A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351371A (zh) * | 2019-07-15 | 2019-10-18 | 星联云服科技有限公司 | 一种在云存储***中进行数据推送的方法及*** |
CN113791914A (zh) * | 2021-11-17 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、计算机设备、存储介质及产品 |
-
2018
- 2018-08-30 CN CN201811006477.5A patent/CN109271103A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351371A (zh) * | 2019-07-15 | 2019-10-18 | 星联云服科技有限公司 | 一种在云存储***中进行数据推送的方法及*** |
CN113791914A (zh) * | 2021-11-17 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、计算机设备、存储介质及产品 |
WO2023087893A1 (zh) * | 2021-11-17 | 2023-05-25 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、计算机设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929435B2 (en) | Content delivery network analytics management via edge stage collectors | |
CN107801086B (zh) | 多缓存服务器的调度方法和*** | |
CN104967861B (zh) | Cdn网络中的视频缓存***及方法 | |
US11704490B2 (en) | Log sourcetype inference model training for a data intake and query system | |
CN105740337B (zh) | 一种基于内容的发布订阅***中的事件快速匹配方法 | |
CN100568201C (zh) | 信息处理设备、存储设备、信息处理方法和存储方法 | |
CN100590620C (zh) | 用于使记录在分区之间移动的***和方法 | |
CN107247778A (zh) | 用于实施可扩展数据存储服务的***和方法 | |
US20100268821A1 (en) | Sequenced transmission of digital content items | |
US11657025B2 (en) | Parallel processing of filtered transaction logs | |
CN106446168B (zh) | 一种面向分布式数据仓库的加载客户端实现方法 | |
US10326854B2 (en) | Method and apparatus for data caching in a communications network | |
CN107835437A (zh) | 基于多缓存服务器的调度方法和装置 | |
CN106095575B (zh) | 一种日志审计的装置、***和方法 | |
CN109033462A (zh) | 在大数据存储的存储设备中确定低频数据项的方法及*** | |
CN107577787A (zh) | 关联数据信息入库的方法及*** | |
CN111552885A (zh) | 实现自动化实时消息推送运营的***及其方法 | |
US20150052205A1 (en) | System and method for flexible holding storage during messaging | |
KR20100073154A (ko) | 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템 | |
CN109271103A (zh) | 一种在大数据存储***中进行数据混合存储的方法及*** | |
CN109344137A (zh) | 一种日志存储方法及*** | |
Zhou et al. | TAP: Timeliness‐aware predication‐based replica selection algorithm for key‐value stores | |
CN106506647A (zh) | 一种客户端具有数据备份装置的智慧社区云存储*** | |
US20140025630A1 (en) | Data-store management apparatus, data providing system, and data providing method | |
CN109240988A (zh) | 用于避免大数据存储***进入访问失衡状态的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190125 |
|
WW01 | Invention patent application withdrawn after publication |