一种云缓存方法、装置、设备及计算机可读存储介质与流程

文档序号:16146942发布日期:2018-12-05 16:36阅读:176来源:国知局

本发明涉及数据存储技术领域,更具体地说,涉及一种云缓存方法、装置、设备及计算机可读存储介质。

背景技术

云缓存是一种人为的将非关键数据(比如存储在某游戏服务器的用户个人历史战绩)存储到云服务器(即云端),将关键数据(比如个人的装备,游戏开始后的实时数据等)保留在本地,当用户访问非关键数据时,本地从云服务器下载这些数据,反馈给用户的方法。该方法可以节省本地服务器存储空间,降低企业运营的成本。

现有技术中一般由用户自行决定哪些为非关键数据,哪些为关键数据,进而将非关键数据存储到云服务器,将关键数据保留在本地。但是,用户在决定数据划分时通常具有将强的主观性,这很可能导致后期需要多次访问云服务器的数据,这样不仅导致数据访问速度较慢,还会导致逻辑资源的浪费。综上所述,现有技术中用于实现数据划分及存储的方式存在数据访问速度较慢且逻辑资源较浪费的问题。



技术实现要素:

本发明的目的是提供一种云缓存方法、装置、设备及计算机可读存储介质,以解决现有技术中用于实现数据划分及存储的方式存在的数据访问速度较慢且逻辑资源较浪费的问题。

为了实现上述目的,本发明提供如下技术方案:

一种云缓存方法,包括:

实现多个指定数据在本地的存储后,判断用户是否对所述指定数据进行访问,如果是,则将所述用户访问的指定数据对应数据标号加入至存储队列中,如果否,则返回执行判断用户是否对所述指定数据进行访问的步骤,直至确定所述存储队列被占满,则将数据标号未存在于所述存储队列中的指定数据上传至云端,其中,所述存储队列的长度小于所述指定数据的总个数。

优选的,将所述用户访问的指定数据对应数据标号加入至存储队列中之前,还包括:

判断所述用户访问的指定数据对应数据标号是否已存在于所述存储队列中,如果是,则确定所述用户访问的指定数据在当前时刻之前的预设时间段内的访问频率,将所述用户访问的指定数据对应数据标号移动至所述存储队列中与所述访问频率对应位置处,如果否,则执行将所述用户访问的指定数据对应数据标号加入至存储队列中的步骤;其中,所述数据标号在所述存储队列中按照对应指定数据的访问频率由高至低的顺序对应由前至后的位置。

优选的,将数据标号未存在于所述存储队列中的指定数据上传至云端之后,还包括:

接收用户发送的访问请求,如果所述访问请求对应的指定数据存储于云端,则由云端下载与所述访问请求对应的指定数据,将下载的指定数据返回给用户,并判断下载的指定数据在当前时刻之前预设时间段内的访问频率是否大于所述存储队列中位于最后的数据标号对应指定数据在当前时刻之前预设时间段内的访问频率,如果是,则将所述存储队列中位于最后的数据标号对应指定数据上传至云端,并将下载的指定数据对应数据标号存储至所述存储队列中对应的位置,如果否,则确定无需改变各指定数据的存储位置。

优选的,将数据标号未存在于所述存储队列中的指定数据上传至云端之后,还包括:

每经过预设时间段,则获取当前时刻之前预设时间段内所述存储队列中各数据标号对应指定数据的访问频率,并基于获取的访问频率调整所述存储队列中各数据标号的位置至与对应指定数据的访问频率对应的位置处。

优选的,获取当前时刻之前预设时间段内所述存储队列中各数据标号对应指定数据的访问频率之后,还包括:

将获取的所述存储队列中各数据标号对应指定数据的访问频率返回给用户,以供用户获知数据访问情况。

优选的,将所述用户访问的指定数据对应数据标号加入至存储队列中之前,还包括:

接收用户输入的队列长度值,并确定该队列长度值为所述存储队列的长度值。

优选的,接收用户输入的队列长度值之后,还包括:

判断所述队列长度值是否小于所述指定数据的总个数,如果是,则执行确定该队列长度值为所述存储队列的长度值的步骤,如果否,则输出指定数据总个数及提示用户所述队列长度值不小于所述指定数据的总个数的信息。

一种云缓存装置,包括:

第一判断模块,用于:实现多个指定数据在本地的存储后,判断用户是否对所述指定数据进行访问,如果是,则控制第一执行模块工作,如果否,则控制第二执行模块工作;

第一执行模块,用于:将所述用户访问的指定数据对应数据标号加入至存储队列中;

第二执行模块,用于:返回执行判断用户是否对所述指定数据进行访问的步骤,直至确定所述存储队列被占满,则将数据标号未存在于所述存储队列中的指定数据上传至云端,其中,所述存储队列的长度小于所述指定数据的总个数。

一种云缓存设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述云缓存方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述云缓存方法的步骤。

本发明提供了一种云缓存方法、装置、设备及计算机可读存储介质,其中该方法包括:实现多个指定数据在本地的存储后,判断用户是否对所述指定数据进行访问,如果是,则将所述用户访问的指定数据对应数据标号加入至存储队列中,如果否,则返回执行判断用户是否对所述指定数据进行访问的步骤,直至确定所述存储队列被占满,则将数据标号未存在于所述存储队列中的指定数据上传至云端,其中,所述存储队列的长度小于所述指定数据的总个数。本申请公开的技术方案中,在实现多个指定数据在本地的存储后,确定用户访问的指定数据作为关键数据,用户未访问的数据作为非关键数据,并通过将关键数据对应数据标号存储至存储队列中实现关键数据与非关键数据的区分,进而将数据标号未存在于存储队列中的指定数据上传至云端,从而根据数据访问热度实现对数据的自动划分及分类存储,无需用户自行实现数据的划分及存储,也就避免了用户自行实现数据划分及存储时主观因素造成的不良影响,且根据数据访问热度实现数据的自动划分及存储能够保证存储于本地的数据为最有可能被再次访问的数据,一定程度上减少后期需要由云端获取数据的可能,进而保证了数据访问速度,节省了逻辑资源。

附图说明

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

图1为本发明实施例提供的一种云缓存方法的流程图;

图2为本发明实施例提供的一种云缓存装置的结构示意图。

具体实施方式

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

请参阅图1,其示出了本发明实施例提供的一种云缓存方法的流程图,可以包括:

s11:实现多个指定数据在本地的存储后,判断用户是否对指定数据进行访问,如果是,则执行步骤s12,如果否,则执行步骤s13。

需要说明的是,本发明实施例提供的一种云缓存方法的执行主语可以为对应的云缓存装置,而该装置可以设置于本地的操作系统中,因此,本发明实施例提供的一种云缓存方法的执行主语可以为本地的操作系统。其中,指定数据可以为需要实现数据划分及存储的任意数据,也可以为用户指定的需要实现数据划分及存储的数据,当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。实现指定数据在本地的存储后,则开始判断用户是否对任意指定数据进行访问,并基于访问结果实现数据的划分及存储。

s12:将用户访问的指定数据对应数据标号加入至存储队列中。

如果用户访问了任意指定数据,则将用户访问的指定数据的数据标号加入至存储队列中,而当前其数据标号位于存储队列中的指定数据则为当前确定出的关键数据,即需要保留在本地的数据。其中,数据标号可以为将指定数据存储于本地时为其设置的唯一性标识,也可以为数据的元数据,当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。

s13:返回执行判断用户是否对指定数据进行访问的步骤,直至确定存储队列被占满,则将数据标号未存在于存储队列中的指定数据上传至云端,其中,存储队列的长度小于指定数据的总个数。

需要说明的是,返回执行判断用户是否对指定数据进行访问的步骤可以是确定用户并未访问任何指定数据后即实现的,也可以是由当前时刻开始经过预先设定的一定时间段后实现的,在此不做具体限定。循环执行判断用户是否对指定数据进行访问的步骤及后续步骤,能够实现数据的划分,即数据标号在存储队列中的指定数据即为当前的关键数据,数据标号未在存储队列中的指定数据即为当前的非关键数据,从而在存储队列被占满以后,能够确定当前次的数据划分结束,进而将非关键数据存储至云端。本申请中存储队列的长度小于指定数据的总个数,是为了保证能够实现数据划分,并将非关键数据存储至云端,节省本地存储空间。另外,直至确定存储队列被占满,则不再返回执行判断用户是否对指定数据进行访问的步骤,而是执行将数据标号未存在于存储队列中的指定数据上传至云端的步骤。

本申请公开的技术方案中,在实现多个指定数据在本地的存储后,确定用户访问的指定数据作为关键数据,用户未访问的数据作为非关键数据,并通过将关键数据对应数据标号存储至存储队列中实现关键数据与非关键数据的区分,进而将数据标号未存在于存储队列中的指定数据上传至云端,从而根据数据访问热度实现对数据的自动划分及分类存储,无需用户自行实现数据的划分及存储,也就避免了用户自行实现数据划分及存储时主观因素造成的不良影响,且根据数据访问热度实现数据的自动划分及存储能够保证存储于本地的数据为最有可能被再次访问的数据,一定程度上减少后期需要由云端获取数据的可能,进而保证了数据访问速度,节省了逻辑资源。

本发明实施例提供的一种云缓存方法,将用户访问的指定数据对应数据标号加入至存储队列中之前,还可以包括:

判断用户访问的指定数据对应数据标号是否已存在于存储队列中,如果是,则确定用户访问的指定数据在当前时刻之前的预设时间段内的访问频率,将用户访问的指定数据对应数据标号移动至存储队列中与访问频率对应位置处,如果否,则执行将用户访问的指定数据对应数据标号加入至存储队列中的步骤;其中,数据标号在存储队列中按照对应指定数据的访问频率由高至低的顺序对应由前至后的位置。

需要说明的是,在存储队列存满之前,也可能存在用户多次访问同一指定数据的情况,因此在将指定数据对应数据标号加入存储队列之前,还可以包括本实施例中判断对应数据标号是否已经存在于存储队列中的相关步骤。其中,预设时间段可以根据实际需要进行设定,预设时间段内的访问频率即预设时间段内的访问次数,从而通过访问频率确定出指定数据对应数据标号在存储队列中应处的位置,使得数据标号在在存储队列中按照对应指定数据的访问频率由高至低的顺序对应由前至后的位置。由此,不仅避免了同一数据标号的重复添加,而且使得数据标号在存储队列中按照对应指定数据的访问频率有序排列,方便由存储队列中数据标号的排列情况获知对应指定数据的访问情况。

本发明实施例提供的一种云缓存方法,将数据标号未存在于存储队列中的指定数据上传至云端之后,还可以包括:

接收用户发送的访问请求,如果访问请求对应的指定数据存储于云端,则由云端下载与访问请求对应的指定数据,将下载的指定数据返回给用户,并判断下载的指定数据在当前时刻之前预设时间段内的访问频率是否大于存储队列中位于最后的数据标号对应指定数据在当前时刻之前预设时间段内的访问频率,如果是,则将存储队列中位于最后的数据标号对应指定数据上传至云端,并将下载的指定数据对应数据标号存储至存储队列中对应的位置,如果否,则确定无需改变各指定数据的存储位置。

如果用户发送的访问请求对应的指定数据存储于本地,则直接将访问请求对应的指定数据返回给用户即可,如果用户发送的访问请求对应的指定数据存储于云端,则可以执行本实施例中的步骤。并且,在下载云端的指定数据后,还可以通过比较该指定数据的访问频率与存储队列中访问频率最低的指定数据的访问频率,确定是否需要将下载的指定数据保留在本地,由此保证了存储队列中的数据标号对应指定数据为访问热度最高、即最有可能被再次访问的数据,进而保证了用户访问数据时的访问速度。另外需要说明的是,确定无需改变各指定数据的存储位置,即为下载的指定数据集仍需存储至云端,其他指定数据的存储位置也不做改动。

本发明实施例提供的一种云缓存方法,将数据标号未存在于存储队列中的指定数据上传至云端之后,还可以包括:

每经过预设时间段,则获取当前时刻之前预设时间段内存储队列中各数据标号对应指定数据的访问频率,并基于获取的访问频率调整存储队列中各数据标号的位置至与对应指定数据的访问频率对应的位置处。

每经过预设时间段则基于该预设时间段内指定数据的访问频率对存储队列中对应数据标号进行调整,当然也包括数据标号无需进行改动的情况。基于访问频率将存储队列中各数据标号的位置调整至对应位置处也即按照数据标号在存储队列中按照对应指定数据的访问频率由高至低的顺序对应由前至后的位置的原则实现数据标号的调整,进一步保证了存储队列中各数据标号按照其对应指定数据的访问频率实现有序排列。

本发明实施例提供的一种云缓存方法,获取当前时刻之前预设时间段内存储队列中各数据标号对应指定数据的访问频率之后,还可以包括:

将获取的存储队列中各数据标号对应指定数据的访问频率返回给用户,以供用户获知数据访问情况。

将获取的访问频率返回给用户,能够使得用户获知当前时刻之前预设时间段内其访问数据的情况,以对自己的历史操作有所了解,提升了用户的使用体验。

本发明实施例提供的一种云缓存方法,将用户访问的指定数据对应数据标号加入至存储队列中之前,还可以包括:

接收用户输入的队列长度值,并确定该队列长度值为存储队列的长度值。

本申请中存储队列的长度值可以根据用户的实际需要进行设定,也即可以由用户设定存储队列的长度值,一般用户认为自己需要经常访问的数据越多,则会将队列长度值设置的越大,反之,则会将队列长度值设置的越小,从而满足用户实际需求,提升了用户的使用体验。

本发明实施例提供的一种云缓存方法,接收用户输入的队列长度值之后,还可以包括:

判断队列长度值是否小于指定数据的总个数,如果是,则执行确定该队列长度值为存储队列的长度值的步骤,如果否,则输出指定数据总个数及提示用户队列长度值不小于指定数据的总个数的信息。

需要说明的是,一般情况下是允许队列长度值等于指定数据总个数的,但是为了保证对于本地存储空间的节省,本申请中优选的存储队列的长度小于指定数据的总个数,因此为了确保该情况的存在,可以在用户输入长度队列值之后实现本实施例中判断队列长度值是否小于指定数据的总个数的相关步骤。其中,将指定数据总个数及提示用户队列长度值不小于指定数据的总个数的信息输出能够使得用户获知该情况,进而选择小于指定数据总个数的值作为再次输入的队列长度值。具体来说,队列长度值的设置范围可以为指定数据总个数的30%~100%,例如假设指定数据的总量是10gb,存储队列的长度是指定数据的总量的30%,那么该存储队列能容下的数据就是3gb,剩下的7gb的数据都会被上传到云端。

可见,本申请公开的云缓存方法,能够根据数据的热度,自动实现关键数据及非关键数据的划分及存储,并且可以由用户可以根据自己的需要,自行的设置队列的长度。

本发明实施例还提供了一种云缓存装置,如图2所示,可以包括:

第一判断模块11,用于:实现多个指定数据在本地的存储后,判断用户是否对指定数据进行访问,如果是,则控制第一执行模块工作,如果否,则控制第二执行模块工作;

第一执行模块12,用于:将用户访问的指定数据对应数据标号加入至存储队列中;

第二执行模块13,用于:返回执行判断用户是否对指定数据进行访问的步骤,直至确定存储队列被占满,则将数据标号未存在于存储队列中的指定数据上传至云端,其中,存储队列的长度小于指定数据的总个数。

本发明实施例提供的一种云缓存装置,还可以包括:

第二判断模块,用于:将用户访问的指定数据对应数据标号加入至存储队列中之前,判断用户访问的指定数据对应数据标号是否已存在于存储队列中,如果是,则确定用户访问的指定数据在当前时刻之前的预设时间段内的访问频率,将用户访问的指定数据对应数据标号移动至存储队列中与访问频率对应位置处,如果否,则执行将用户访问的指定数据对应数据标号加入至存储队列中的步骤;其中,数据标号在存储队列中按照对应指定数据的访问频率由高至低的顺序对应由前至后的位置。

本发明实施例提供的一种云缓存装置,还可以包括:

第三判断模块,用于:将数据标号未存在于存储队列中的指定数据上传至云端之后,接收用户发送的访问请求,如果访问请求对应的指定数据存储于云端,则由云端下载与访问请求对应的指定数据,将下载的指定数据返回给用户,并判断下载的指定数据在当前时刻之前预设时间段内的访问频率是否大于存储队列中位于最后的数据标号对应指定数据在当前时刻之前预设时间段内的访问频率,如果是,则将存储队列中位于最后的数据标号对应指定数据上传至云端,并将下载的指定数据对应数据标号存储至存储队列中对应的位置,如果否,则确定无需改变各指定数据的存储位置。

本发明实施例提供的一种云缓存装置,还可以包括:

定时更新模块,用于:将数据标号未存在于存储队列中的指定数据上传至云端之后,每经过预设时间段,则获取当前时刻之前预设时间段内存储队列中各数据标号对应指定数据的访问频率,并基于获取的访问频率调整存储队列中各数据标号的位置至与对应指定数据的访问频率对应的位置处。

本发明实施例提供的一种云缓存装置,还可以包括:

频率返回模块,用于:获取当前时刻之前预设时间段内存储队列中各数据标号对应指定数据的访问频率之后,将获取的存储队列中各数据标号对应指定数据的访问频率返回给用户,以供用户获知数据访问情况。

本发明实施例提供的一种云缓存装置,还可以包括:

长度设置模块,用于:将用户访问的指定数据对应数据标号加入至存储队列中之前,接收用户输入的队列长度值,并确定该队列长度值为存储队列的长度值。

本发明实施例提供的一种云缓存装置,还可以包括:

第四判断模块,用于:接收用户输入的队列长度值之后,判断队列长度值是否小于指定数据的总个数,如果是,则执行确定该队列长度值为存储队列的长度值的步骤,如果否,则输出指定数据总个数及提示用户队列长度值不小于指定数据的总个数的信息。

本发明实施例还提供了一种云缓存设备,可以包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上任一项云缓存方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上任一项云缓存方法的步骤。

需要说明的是,本发明实施例提供的一种云缓存装置、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种云缓存方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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