CN104123238A - 数据存储方法及装置 - Google Patents

数据存储方法及装置 Download PDF

Info

Publication number
CN104123238A
CN104123238A CN201410303562.3A CN201410303562A CN104123238A CN 104123238 A CN104123238 A CN 104123238A CN 201410303562 A CN201410303562 A CN 201410303562A CN 104123238 A CN104123238 A CN 104123238A
Authority
CN
China
Prior art keywords
data
hot spot
client
spot data
basic
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.)
Pending
Application number
CN201410303562.3A
Other languages
English (en)
Inventor
彭力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juhaokan Technology Co Ltd
Original Assignee
Sea View (beijing) Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sea View (beijing) Technology Co Ltd filed Critical Sea View (beijing) Technology Co Ltd
Priority to CN201410303562.3A priority Critical patent/CN104123238A/zh
Publication of CN104123238A publication Critical patent/CN104123238A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例涉及一种数据存储方法,该方法具体包括:接收客户端的数据访问请求,并判断该请求所访问的数据类型;若确定所述数据类型是热点数据类型,则查询缓存中是否存储有该热点数据;若查询到所述热点数据,则获取该热点数据并返回所述客户端;若没有查询到该热点数据,则查询缓存中与所述热点数据类型对应的基础数据,将查询到的基础数据进行逻辑运算得到的热点数据返回所述客户端,并保存该热点数据到缓存。本发明实施例有效控制了缓存的占用量,缓解了服务器的压力,同时节约了缓存的处理资源,提高了系统处理数据的速度。

Description

数据存储方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种数据存储方法及装置。
背景技术
无论是在PC互联网环境下,还是在移动互联网环境下,客户端和服务器都要进行大量的数据交互。当客户端和服务器进行数据交互时,客户端向服务器发出数据访问请求,服务器接收该数据访问请求后,执行查询服务器数据库的动作,从数据库中读取出相应的数据,返回给客户端。
为了提高系统处理数据的效率,现有技术中采用了缓存机制,即把数据库中的数据加载到内存或者处理访问速度较快的存储介质中,并把这类数据长时间地保存,以减少数据库被访问的次数,进而减少数据库在大量的读取动作中I/O被长期占用造成的性能损耗。
现有技术中,常见的一种缓存机制为将服务器端程序分为两个单元,分别为缓存数据写入单元和缓存数据读取单元。其中,缓存数据写入单元预先将数据库中的全量数据加载到缓存中,且当检测到数据库中的数据发生变化时,及时地刷新缓存中的数据,以使缓存中的数据与数据库中的数据保持一致。服务器端接收到客户端的数据访问请求后,由缓存数据读取单元从缓存中读取数据,并返回给客户端;在必要的情况下,服务器端程序还需对读取到的数据进行逻辑运算,并将逻辑运算后的数据返回客户端。
 但是,发明人发现,当缓存的数据量很大且需要对数据进行逻辑运算时,
服务器端程序需从大量的数据中寻找出有用的数据,并对该有用的数据进行业务逻辑运算之后,才能将结果返回客户端。缓存数据量越大,寻找有用数据的过程越繁琐;而且,当数据库中的数据更新时,需要及时地对缓存中的数据进行更新,所以缓存数据的更新运行频率很高,尤其在全量缓存的情况下,缓存的每次更新都需要从数据库中读取所有的数据进行更新,造成数据库I/O被长时间占用。
发明内容
本发明实施例提供一种数据存储方法,以解决现有技术中由于将数据库中的全量数据加载到缓存中,且需要对缓存中数据及时更新,所导致的系统资源浪费严重,性能下降的缺陷。
根据本发明实施例提供的一种数据存储方法,该方法具体包括:
接收客户端的数据访问请求,并判断该请求所访问的数据类型;
若确定所述数据类型是热点数据类型,则查询缓存中是否存储有该热点数
据;
若查询到所述热点数据,则获取该热点数据并返回所述客户端;若没有查询到该热点数据,则查询缓存中与所述热点数据类型对应的基础数据,将查询到的基础数据进行逻辑运算得到的热点数据返回所述客户端,并保存该热点数据到缓存。
本发明实施例还提供一种数据存储装置,以解决现有技术中由于将数据库中的全量数据加载到缓存中,且需要对缓存中数据及时更新,所导致的系统资源浪费严重,性能下降的缺陷。
根据本发明实施例提供一种数据存储装置,该装置具体包括:接收模块,用于接收客户端的数据访问请求;判断模块,用于判断所述接收模块接收的数据访问请求所访问的数据类型,若判断所访问的数据类型是热点数据类型,则将判断结果发送给热点数据获取模块;热点数据获取模块,用于接收所述判断模块发送的判断结果后,调用查询模块查询缓存中是否存储有该热点数据,若查询到该热点数据,则获取该热点数据并返回所述客户端,若没有查询到该热点数据,则调用查询模块查询缓存中与所述热点数据类型对应的基础数据后,将查找到的基础数据发送给逻辑运算处理模块,将经过逻辑运算后得到的热点数据返回所述客户端,并保存该热点数据到缓存;查询模块,用于查询热点数据或者基础数据;逻辑运算处理模块,用于对查询到的与所述热点数据类型对应的基础数据进行逻辑运算,得到所述热点数据。
本发明实施例提供的数据存储方法和数据存储装置,通过将缓存中的数据分为基础数据和对基础数据进行逻辑运算得到的热点数据,并将运算后得到的热点数据进行保存,在客户端需要访问热点数据时,不需要像现有技术中,每次都先从缓存大量的数据中寻找出有用的字段信息,然后对找到的字段信息进行逻辑运算,并将逻辑运算后得到的数据返回客户端,而是将保存的热点数据直接提供给客户端,避免了服务器端程序每次从缓存中寻找有用数据并进行逻辑运算的过程,尤其在缓存的占用量比较大的情况下,更是节省了寻找过程的无用消耗,从而节省了系统的处理资源。
附图说明
附图1为本发明实施例提供的数据存储方法实施例流程图。
附图2为本发明实施例提供的数据存储装置结构示意图。
具体实施方式
下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明提供的一种数据存储方法,本方法包括:
接收客户端的数据访问请求,并判断该请求所访问的数据类型;
服务器端程序通过交互接口接收客户端程序发送的数据访问请求,而服务器与客户端的每一个交互接口都有一个唯一的字符串标识,该字符串用于标识客户端所访问的数据类型及其所访问的数据名称等等。
    本步骤中,当服务器端程序接收到客户端程序发送的数据访问请求时,提取出该交互接口的字符串标识,根据该字符串标识,判断该请求所访问的数据类型。
需要说明的是,本发明实施例中,对于客户端访问频繁且逻辑运算比较复杂的服务接口,提供热点数据。系统在设计阶段需要预先考虑哪些服务接口业务逻辑复杂,并且可能会出现用户大量访问。将这些服务接口需要返回的数据作为热点数据存储,即在这些交互接口标识为交互热点数据的接口,适应性地,在缓存中存储的热点数据中也加上热点数据类型的标识。
优选地,所述接收客户端的数据访问请求,并判断该请求所访问的数据类型之前,还包括获取数据库中的每一条数据记录,从获取到的每一条数据记录中提取出有用的字段信息,并将所述有用的字段信息作为基础数据存储到缓存。
这里以电视机为例举一个具体的例子,运营平台作为电视机的服务器端,其数据库中存储有可用来安装在电视机上的很多应用,比如QQ、微信、天猫等等,这些应用以数据表的形式存储在数据库中,并且对应每一条数据记录中的应用有名称、上线时间、占用空间、下载次数、适配型号、类别等字段信息,还包括应用的上传操作员、审核操作员等运营关注的字段信息,在实际的操作过程中,不需要将应用的上传操作员、审核操作员等此类信息放在基础数据中,只需提取出应用的名称、上线时间、下载次数、适配型号、类别等对于用户来说有用的字段信息,将这些字段信息组成新的一条数据记录作为基础数据存储起来,如表1所示。
表1
由于缓存的容量有限,本方案提供的数据存储方法,从数据库所存储的数据表中提取出有用字段保存在缓存中,提高了缓存的利用率,而且也避免了现有技术中,当需要对数据进行逻辑运算时,由于缓存中存储了大量的无用数据,导致的服务器端程序寻找有用数据的繁琐过程。 
若确定所述数据类型是热点数据类型,则查询缓存中是否存储有该热点数据;
前面已经提到,服务器和客户端的每一个交互接口都有一个唯一的字符串标识,当服务器端程序接收到客户端程序发送的数据访问请求时,提取出该交互接口的字符串标识,根据该字符串标识,判断该请求所访问的数据类型。
本步骤中,假设获取热点数据类型的交互接口的字符串标识为“rdsj-zxsx”,当服务器端程序接收到客户端程序发送的访问请求时,提取出该交互接口的字符串标识为“rdsj-zxsx”,则可判断该请求所访问的数据类型为热点数据类型,且所访问的数据名称为最新上线。
若查询到该热点数据,则获取该热点数据并返回所述客户端,若没有查询到该热点数据,则查询缓存中与所述热点数据类型对应的基础数据,并将查询到的基础数据进行逻辑运算得到的热点数据返回客户端,并保存该热点数据到缓存。
这里需要说明的是,保存在缓存中的热点数据也可以有与交互接口的字符串标识相对应的标识。
确定客户端访问数据为热点数据中的最新上线后,服务器端程序执行查询缓存的动作,如果查询到缓存中有最新上线的数据,则将该数据返回给客户端;如果没有查询到缓存中有最新上线的数据,则获取缓存中与最新上线对应的基础数据,并将查询到的基础数据进行逻辑运算得到的最新上线数据返回给客户端,并保存该热点数据到缓存。
本步骤仍以电视机为例进行说明,当服务器端程序查询到最新上线数据时,将从缓存中获取到的最新上线数据直接返回给客户端;当服务器端程序没有查询到最新上线数据时,则获取缓存中的基础数据,即读取每一条应用的“上线时间”的字段信息,并且按照上线时间进行排序,从排序后的结果中提取设定数量的应用,返回给客户端。比如,读取到QQ的上线时间为2013.1.1,微信的上线时间为2013.4.1,天猫的上线时间为2013.11.11,一号店的上线时间为2013.12.12,斗地主的上线时间为2013.5.1、连连看的上线时间为2013.1.15,则得到上线时间的排序结果如表2所示,从表2中提取出设定数量的数据记录返回给客户端,比如设定数量为3,则将前三条数据记录提供给客户端。
表2
在实际操作中,最新上线所对应的热点数据是以电视机的机型进行区分的,比如,在机型为K360的电视机上安装应用时,需要获取最新上线的应用,服务器端程序首先要获取适配型号字段,查找适配型号为K360的字段,进一步查找K360所在的数据记录的应用名称,以表1为例,查找到K360型号所在的数据记录的应用名称为QQ、微信、天猫、一号店、连连看,也可以进一步对查找到的应用按照上线时间进行排序之后再发送给客户端。
前面讲述了最新上线的业务逻辑运算,如果业务逻辑运算比较复杂,比如客户端要获得的数据为下载次数排序为前3的,类别为游戏的应用,则服务器端程序需要先获得基础数据中的下载次数字段,然后对该字段进行排序,得到表3,再将表2中的数据表按照下载次数进行排序,得到表3,如下表所示。
表3
然后去除下载次数排序为前3的应用,得到表4,如下表所示。再从表4中获取应用的类别字段信息,并从中选出类别信息为游戏的应用,即名称为斗地主的应用,将该应用返回给客户端,并将该应用对应的数据记录保存为热点数据,且用一字符串进行标识。当后续客户端再发送相同的热点数据访问请求时,服务器端程序就可以直接获取相应的热点数据返回给客户端,避免了每次都要从缓存中大量的基础数据中寻找有用数据,并将该有用数据进行逻辑运算的过程。
表4
    作为本发明实施例较佳的一种实现方式,在所述接收客户端的数据访问请求,并判断该请求所访问的数据类型之后还包括:
若确定所述数据类型是基础数据类型,则从缓存获取该基础数据返回给客户端;若确定所述数据类型是其他数据类型,则从数据库中获取该其他数据类型,并返回给客户端。
    仍然以电视机为例进行说明,若确定客户端所访问的数据类型为上线时间或者下载次数等,则直接从缓存的基础数据中读取到相应的数据,返回给客户端。
仍然以电视机为例,若确定客户端所访问的数据类型为,服务器端程序则直接从服务器端的数据库中读取到该信息,并将该信息返回给客户端。
优选地,保存热点数据到缓存这一步骤还包括:为所述热点数据设置一有效时长或设置一截止时间点,保存所述有效时长并记录该热点数据的保存时间点或保存所述截止时间点。    
本实施例中,可以将热点数据定义为时间戳数据类型,即为该热点数据增加一个时间戳字段,将热点数据保存至缓存时,也将当前时间点,即记录该热点数据的保存时间点写入该时间戳字段,并为该热点数据设置一个有效时长,可以将该有效时长、时间戳和其对应的热点数据作为一条记录存储。
或者,保存该热点数据这一步骤还可以包括:为该热点数据设置一截止时间点并保存该截止时间点。
优选地,所述为该热点数据设置有效时长并保存该有效时长,并记录该热点数据的保存时间点之后,还包括当检测到当前时间点与保存时间点的差值超过有效时长时,将所述热点数据删除。
基于上述实施例,比如客户端要获得的数据为下载次数排序为前3的,类别为游戏的应用名称,服务端程序通过逻辑运算计算出该应用为斗地主,为斗地主设置了一个有效时长为一个小时,且斗地主的时间戳字段的值为12:00,当前时间点为13:05,则13:05与保存时间点12:00的时间差值为一个小时单五分钟,即当前时间点与保存时间点的差值与有效时长一个小时的差值为5分钟,超过了有效时长一个小时,因此将斗地主对应的数据记录删除。当然,这里也可以设置一个时间阈值范围,因为当缓存的访问量很大时或者系统资源比较紧张的情况下,当当前时间点与保存时间点的差值超过有效时长的时候,不能将热点数据及时删除,所以可以设置一个时间阈值范围作为缓冲,可以设置10分钟,基于以上实施例,当前时间点与保存时间点的差值与有效时长一个小时的差值为5分钟,在10分钟的范围内,将热点数据删除。当然,有效时长的设置可以根据热点数据的重要性及使用频率灵活设置。
由于在本实施例中,为热点数据设置了有效时长,从缓存容量有限的角度看,本方案在能够很快地提供给客户端热点数据的同时,能够动态地将热点数据删除,以节省缓存的处理资源,而且,本方案只是动态地删除热点数据,而不需要及时地对热点数据进行更新,相比于现有技术,减少了大量的缓存更新动作,进而减少了数据库的I/O占用,进而提高系统处理数据的速度;从数据库更新数据的角度看,本方案动态地将热点数据删除,待删除后,当服务器端程序再次接收到相同的热点数据访问请求,服务器端程序进行逻辑运算时,能够从更新后的基础数据中获得相应的字段进行逻辑运算,然后将逻辑运算结果返回给客户端,保证了返回给客户端的数据的准确度。
基于上述实施例,优选地,所述为该热点数据设置截止时间点并保存该截止时间点之后,还包括:
当检测到当前时间超过所述截止时间点时,将所述热点数据删除。
本实施例中,仍以热点数据为下载次数排序为前3的,类别为游戏的应用,即斗地主为例进行说明,当把斗地主这一条数据存储到缓存时,为该数据记录设置截止时间点为2014-8-1 21:00,则当检测到当前时间为2014-8-1 21:05时,由于超过了设置的截止时间点,就将这条数据记录删除。截止时间点的设置可以根据热点数据的重要性及使用频率灵活设置。当然,这里也可以设置一个时间阈值范围,因为当缓存的访问量很大时或者系统资源比较紧张的情况下,当当前时间点超过截止时间点的时候,不能将热点数据及时删除,所以可以设置一个时间阈值范围作为缓冲,可以设置10分钟,基于以上实施例,当前时间点超过了截止时间点为5分钟,在10分钟的范围内,将热点数据删除。 
由于在本实施例中,为热点数据设置了截止时间点,从缓存容量有限的角度看,本方案在能够很快地提供给客户端热点数据的同时,能够动态地将热点数据删除,以节省缓存的处理资源,提高系统处理数据的速度;从数据库更新数据的角度看,本方案动态地将热点数据删除,待删除后,服务器端程序再次接收到相同的热点数据访问请求,服务器端程序进行逻辑运算时,能够从更新后的基础数据中获得相应的字段进行逻辑运算,然后将逻辑运算结果返回给客户端,保证了返回给客户端的数据的准确度。
基于上述任一实施例,优选地,本方法还包括:判断数据库中的数据是否有更新;若确定数据库中的数据有更新,判断所更新的字段信息或数据记录是否是基础数据中所保存的字段信息或数据记录,若是,则更新基础数据中的相应字段信息或数据记录。
本实施例中,在服务器端创建一个进程,该进程持续运行,实时监测数据库中的数据更新状态,当检测到数据库中的数据有更新时,获取所更新的字段或者数据记录,仍以电视机为例,假设该进程检测到数据库中所更新的字段为下载次数,则判断确定下载次数字段在基础数据中,因此对表1中所有数据记录中的下载次数进行更新;或者该进程检测到数据库中所更新的数据记录为连连看,则判断确定连连看在基础数据中,因此对表1中的连连看这一条记录进行更新;又或者该进程检测到数据库中所更新的字段为,则判断确定字段并不在基础数据中,则此时不对缓存中所存储的数据表进行更新。
基于上述实施例,当检测到数据库有更新时,仅对基础数据中存在的字段或者数据记录进行更新,避免了现有技术中,当检测到数据库有更新时,对缓存中的全部数据进行更新所带来的更新频率高以及更新数据量大的缺陷,实际操作中,当无用数据(可以是客户端不需要或者不关心的数据,也可以是数据记录中的重复或者相近的字段)的更新频率大且数据量也很大时,本方案避免了服务器端程序从缓存大量的数据中查找有用数据的繁琐过程,同时也减少了当数据库中有更新且更新的数据为无用数据时,缓存的更新频率,即避免了系统资源浪费严重、性能下降的问题。
图2为本发明实施例提供的数据存储装置图,如图所示,本发明实施例包括接收模块,用于接收客户端的数据访问请求;判断模块,用于判断所述接收模块接收的数据访问请求所访问的数据类型,若判断所访问的数据类型是热点数据类型,则将判断结果发送给热点数据获取模块;热点数据获取模块,用于接收所述判断模块发送的判断结果后,调用查询模块查询缓存中是否存储有该热点数据,若查询到该热点数据,则获取该热点数据并返回所述客户端,若没有查询到该热点数据,则调用查询模块查询缓存中与所述热点数据类型对应的基础数据后,将查找到的基础数据发送给逻辑运算处理模块,将经过逻辑运算后得到的热点数据返回所述客户端,并保存该热点数据到缓存;查询模块,用于查询热点数据或者基础数据;逻辑运算处理模块,用于对查询到的与所述热点数据类型对应的基础数据进行逻辑运算,得到所述热点数据。
作为一种优选的实施方式,所述判断模块还用于若判断所访问的数据类型是基础数据类型,则将判断结果发送给基础数据获取模块;若判断所访问的数据类型是其他数据类型,则将判断结果发送给其他数据获取模块; 其中,基础数据获取模块,用于接收所述判断模块发送的判断结果后,从缓存获取该基础数据,返回给客户端,其他数据获取模块,用于接收所述判断模块发送的判断结果后,从数据库获取该其他数据,返回给客户端。
优选地,本装置还包括基础数据提取模块,用于获取数据库中的每一条数据记录,并从所述每一条数据记录中提取出有用的字段信息,将有用的字段信息作为基础数据存储到缓存。
由于缓存的容量有限,本方案提供的数据存储方法,从数据库所存储的数据表中提取出有用字段保存在缓存中,提高了缓存的利用率,而且也避免了现有技术中,当需要对数据进行逻辑运算时,由于缓存中存储了大量的无用数据,导致的服务器端程序寻找有用数据的繁琐过程。
优选地,热点数据处理模块还包括设置模块,用于为热点数据设置有效时长或者截止时间点,保存该有效时长并记录该热点数据的保存时间点或保存该截止时间点。删除模块,用于当检测到当前时间点与所述保存时间点的差值超过所述有效时长时,将所述热点数据删除,或者用于当检测到当前时间点超过所述截止时间时,将所述热点数据删除。
由于在本实施例中,为热点数据设置了有效时长或者截止时间点,从缓存容量有限的角度看,本方案在能够很快地提供给客户端热点数据的同时,能够动态地将热点数据删除,以节省缓存的处理资源,而且,本方案只是动态地删除热点数据,而不需要及时地对热点数据进行更新,相比于现有技术,减少了大量的缓存更新动作,进而减少了数据库的I/O占用,进而提高系统处理数据的速度;从数据库更新数据的角度看,本方案动态地将热点数据删除,待删除后,当服务器端程序再次接收到相同的热点数据访问请求,服务器端程序进行逻辑运算时,能够从更新后的基础数据中获得相应的字段进行逻辑运算,然后将逻辑运算结果返回给客户端,保证了返回给客户端的数据的准确度。同时,节省了缓存的处理资源,提高了系统处理数据的速度。
优选地,本装置中的判断模块还用于若判断数据中的数据有更新,则进一步判断所更新的字段信息或者数据记录是否是所述基础数据中所保存的字段信息或数据记录中,若是,则将判断结果发送给基础数据更新模块;其中,基础数据更新模块,用于接收所述判断模块发送的判断结果后,更新所述基础数据中的相应字段信息或者数据记录。
基于以上实施例,本方案提供的装置在数据库中所更新的字段或者数据记录存在于基础数据中时,才对缓存中的基础数据进行更新,避免了现有技术中因无用数据的更新导致的缓存数据更新频率高,占用缓存大量更新资源的弊端,进一步避免了系统资源浪费严重的问题。
本方案提供的装置中,热点数据获取模块仅负责热点数据的获取,其不关心具体的逻辑运算;基础数据提取模块负责基础数据初始化时的写入,即将数据库中的部分数据(在实际业务当中有用的数据)加载到缓存中,基础数据更新模块负责基础数据的更新,即当基础数据中的字段信息或者数据记录在数据库中有更新时,负责更新基础数据中相应的字段信息或者数据记录,也不关心具体的逻辑运算;其他数据处理模块负责从数据库中获取该其他数据类型,并返回给客户端,此模块也不需要关心具体的逻辑运算;逻辑运算处理模块,负责对基础数据进行逻辑运算得到热点数据,业务逻辑运算分为简单的业务逻辑运算和复杂的业务逻辑运算,如可以仅仅对上线时间做排序的简单运算,也可以是针对某一个特定的电视机型号,计算与其适配的所有应用,并按照应用的下载次数做排序的复杂运算,但是无论简单或者复杂,都由该模块自身负责。因此,本实施例提供的装置的各个模块分工明确,易于功能拓展,通过各个模块之间的配合,仅将有用数据作为基础数据存储在缓存中,节省了缓存空间,且将对基础数据进行逻辑运算得到的数据作为热点数据也保存在缓存中,可以实现将热点数据很快地提供给客户端的同时,节省缓存的存储空间,提高缓存空间的利用率,避免了系统资源的浪费严重问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种数据存储方法,其特征在于,包括:
 接收客户端的数据访问请求,并判断该请求所访问的数据类型;
 若确定所述数据类型是热点数据类型,则查询缓存中是否存储有该热点数
据;
若查询到所述热点数据,则获取该热点数据并返回所述客户端;若没有查询到该热点数据,则查询缓存中与所述热点数据类型对应的基础数据,将查询到的基础数据进行逻辑运算得到的热点数据返回所述客户端,并保存该热点数据到缓存。
2.如权利要求1所述的数据存储方法,其特征在于,所述接收客户端的数据访问请求,并判断该请求所访问的数据类型之后还包括:
 若确定所述数据类型是基础数据类型,则从缓存中获取该基础数据返回给客户端;
若确定所述数据类型是其他数据类型,则从数据库中获取该其他数据返回客户端。
3. 如权利要求1或2所述的数据存储方法,其特征在于,所述保存该热点数据到缓存还包括:
为所述热点数据设置一有效时长或设置一截止时间点,保存所述有效时长并记录该热点数据的保存时间点或保存所述截止时间点。
4.如权利要求3所述的数据存储方法,其特征在于,所述为所述热点数据设置一有效时长或设置一截止时间点,保存所述有效时长并记录该热点数据的保 存时间点或保存所述截止时间点之后,还包括:
当检测到当前时间点与所述保存时间点的差值超过所述有效时长时或当检测到当前时间点超过所述截止时间点时,将所述热点数据删除。
5.如权利要求1或2或4任一权利要求所述的数据存储方法,其特征在于, 所 述方法还包括:  
检测数据库中的数据是否有更新;
若确定所述数据库中的数据有更新,判断所更新的字段信息或数据记录是否是所述基础数据中所保存的字段信息或数据记录,若是,则更新所述基础数据中的相应字段信息或数据记录。
6.如权利要求5所述的数据存储方法,其特征在于,所述接收客户端的数据访问请求之前,还包括:
获取数据库中的每一条数据记录;
从获取到的每一条数据记录中提取出有用的字段信息,并将所述有用的字段信息作为基础数据存储到缓存。
7.一种数据存储装置,其特征在于,包括:
接收模块,用于接收客户端的数据访问请求;
判断模块,用于判断所述接收模块接收的数据访问请求所访问的数据类型,若判断所访问的数据类型是热点数据类型,则将判断结果发送给热点数据获取模块;
热点数据获取模块,用于接收所述判断模块发送的判断结果后,调用查询模块查询缓存中是否存储有该热点数据,若查询到该热点数据,则获取该热点数据并返回所述客户端,若没有查询到该热点数据,则调用查询模块查询缓存中与所述热点数据类型对应的基础数据后,将查找到的基础数据发送给逻辑运算处理模块,将经过逻辑运算后得到的热点数据返回所述客户端,并保存该热点数据到缓存;
查询模块,用于查询热点数据或者基础数据;
逻辑运算处理模块,用于对查询到的与所述热点数据类型对应的基础数据进行逻辑运算,得到所述热点数据。
8.如权利要求7所述的数据存储装置,其特征在于,所述判断模块还用于:
若判断所访问的数据类型是基础数据类型,则将判断结果发送给基础数据获取模块;若判断所访问的数据类型是其他数据类型,则将判断结果发送给其他数据获取模块; 
其中,基础数据获取模块,用于接收所述判断模块发送的判断结果后,从缓存中获取该基础数据返回给客户端;
其他数据获取模块,用于接收所述判断模块发送的判断结果后,从数据库获取该其他数据返回给客户端。
9.如权利要求7或8所述的数据存储装置,其特征在于,所述装置还包括:
设置模块,用于为热点数据设置有效时长或者截止时间点,保存该有效时长并记录该热点数据的保存时间点或保存该截止时间点;
删除模块,用于当检测到当前时间点与所述保存时间点的差值超过所述有效时长时,将所述热点数据删除,或者用于当检测到当前时间点超过所述截止时间时,将所述热点数据删除。
10.如权利要求9所述的数据存储装置,其特征在于,所述判断模块还用于:
若判断数据中的数据有更新,则进一步判断所更新的字段信息或者数据记录是否是所述基础数据中所保存的字段信息或数据记录中,若是,则将判断结果发送给基础数据更新模块;
其中,基础数据更新模块,用于接收所述判断模块发送的判断结果后,更新所述基础数据中的相应字段信息或者数据记录。
11.如权利要求10所述的数据存储装置,其特征在于,所述装置还包括:
基础数据提取模块,用于获取数据库中的每一条数据记录,并从所述每一条数据记录中提取出有用的字段信息,将所述有用的字段信息作为基础数据存储到缓存。
CN201410303562.3A 2014-06-30 2014-06-30 数据存储方法及装置 Pending CN104123238A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410303562.3A CN104123238A (zh) 2014-06-30 2014-06-30 数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410303562.3A CN104123238A (zh) 2014-06-30 2014-06-30 数据存储方法及装置

Publications (1)

Publication Number Publication Date
CN104123238A true CN104123238A (zh) 2014-10-29

Family

ID=51768658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410303562.3A Pending CN104123238A (zh) 2014-06-30 2014-06-30 数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN104123238A (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391992A (zh) * 2014-12-15 2015-03-04 北京百度网讯科技有限公司 针对资产数据的数据处理系统
CN104657435A (zh) * 2015-01-30 2015-05-27 杭州华三通信技术有限公司 一种应用数据的存储管理方法和网络管理系统
CN105468707A (zh) * 2015-11-19 2016-04-06 北京锐安科技有限公司 一种基于缓存的数据处理方法及装置
CN105488208A (zh) * 2015-12-11 2016-04-13 北京奇虎科技有限公司 数据查找方法与装置
CN106776875A (zh) * 2016-11-29 2017-05-31 天脉聚源(北京)传媒科技有限公司 一种请求处理方法及装置
CN106776390A (zh) * 2016-12-06 2017-05-31 中国电子科技集团公司第三十二研究所 多设备访问存储器的实现方法
US9710199B2 (en) 2014-11-07 2017-07-18 International Business Machines Corporation Non-volatile memory data storage with low read amplification
US9712190B2 (en) 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
CN107025177A (zh) * 2016-02-01 2017-08-08 爱思开海力士有限公司 存储器系统及其操作方法
US9870285B2 (en) 2015-11-18 2018-01-16 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory
CN107800767A (zh) * 2017-09-12 2018-03-13 努比亚技术有限公司 一种访问响应管理方法、服务器及计算机可读存储介质
CN107870737A (zh) * 2016-09-28 2018-04-03 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN108132958A (zh) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 一种多级缓存数据存储、查询、调度以及处理方法及装置
CN108241647A (zh) * 2016-12-23 2018-07-03 北京奇虎科技有限公司 数据处理及查询的方法和装置
CN108509323A (zh) * 2018-01-30 2018-09-07 深圳壹账通智能科技有限公司 基于日志分析的业务处理方法、装置及计算机设备
CN108959291A (zh) * 2017-05-19 2018-12-07 腾讯科技(深圳)有限公司 查询方法及相关装置
US10162700B2 (en) 2014-12-23 2018-12-25 International Business Machines Corporation Workload-adaptive data packing algorithm
CN109190070A (zh) * 2018-08-01 2019-01-11 北京奇艺世纪科技有限公司 一种数据处理方法、装置、系统及应用服务器
CN109743757A (zh) * 2018-12-29 2019-05-10 深圳和而泰数据资源与云技术有限公司 数据处理方法、装置、无线模组和物联网设备
CN110019277A (zh) * 2019-01-17 2019-07-16 阿里巴巴集团控股有限公司 一种数据累积的方法、数据查询的方法、装置及设备
CN110032486A (zh) * 2019-03-06 2019-07-19 平安科技(深圳)有限公司 服务器测试方法、装置、计算机设备及存储介质
CN110555041A (zh) * 2018-03-30 2019-12-10 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN110888889A (zh) * 2018-08-17 2020-03-17 阿里巴巴集团控股有限公司 一种数据信息更新方法、装置及设备
CN111523282A (zh) * 2020-05-07 2020-08-11 深圳探科技术有限公司 集成电路仿真中数据处理的方法、模块、存储介质及系统
CN112163001A (zh) * 2020-09-25 2021-01-01 同程网络科技股份有限公司 高并发查询方法、智能终端及存储介质
CN112639746A (zh) * 2018-09-07 2021-04-09 株式会社东芝 数据库装置、程序以及数据处理方法
CN112685634A (zh) * 2020-12-29 2021-04-20 平安普惠企业管理有限公司 数据查询方法、装置、电子设备及存储介质
CN113314229A (zh) * 2021-05-26 2021-08-27 北京京东拓先科技有限公司 一种数据处理方法、装置、电子设备和存储介质
CN113411630A (zh) * 2021-08-19 2021-09-17 贝壳找房(北京)科技有限公司 直播热门行为回放方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177005A (zh) * 2011-12-21 2013-06-26 深圳市腾讯计算机系统有限公司 一种数据访问的处理方法和系统
CN103257935A (zh) * 2013-04-19 2013-08-21 华中科技大学 一种缓存管理方法及其应用
CN103777905A (zh) * 2014-02-14 2014-05-07 华中科技大学 一种软件定义的固态盘融合存储方法
CN103885728A (zh) * 2014-04-04 2014-06-25 华中科技大学 一种基于固态盘的磁盘缓存系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177005A (zh) * 2011-12-21 2013-06-26 深圳市腾讯计算机系统有限公司 一种数据访问的处理方法和系统
CN103257935A (zh) * 2013-04-19 2013-08-21 华中科技大学 一种缓存管理方法及其应用
CN103777905A (zh) * 2014-02-14 2014-05-07 华中科技大学 一种软件定义的固态盘融合存储方法
CN103885728A (zh) * 2014-04-04 2014-06-25 华中科技大学 一种基于固态盘的磁盘缓存系统

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710199B2 (en) 2014-11-07 2017-07-18 International Business Machines Corporation Non-volatile memory data storage with low read amplification
CN104391992A (zh) * 2014-12-15 2015-03-04 北京百度网讯科技有限公司 针对资产数据的数据处理系统
CN104391992B (zh) * 2014-12-15 2018-10-09 北京百度网讯科技有限公司 针对资产数据的数据处理系统
US10162700B2 (en) 2014-12-23 2018-12-25 International Business Machines Corporation Workload-adaptive data packing algorithm
CN104657435A (zh) * 2015-01-30 2015-05-27 杭州华三通信技术有限公司 一种应用数据的存储管理方法和网络管理系统
US9793929B2 (en) 2015-09-24 2017-10-17 International Business Machines Corporation Data packing for compression-enabled storage systems
US9712190B2 (en) 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
US10528424B2 (en) 2015-11-18 2020-01-07 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory
US9870285B2 (en) 2015-11-18 2018-01-16 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory
CN105468707A (zh) * 2015-11-19 2016-04-06 北京锐安科技有限公司 一种基于缓存的数据处理方法及装置
WO2017097048A1 (zh) * 2015-12-11 2017-06-15 北京奇虎科技有限公司 一种数据查找方法与装置
CN105488208B (zh) * 2015-12-11 2019-03-08 北京奇虎科技有限公司 数据查找方法与装置
CN105488208A (zh) * 2015-12-11 2016-04-13 北京奇虎科技有限公司 数据查找方法与装置
CN107025177A (zh) * 2016-02-01 2017-08-08 爱思开海力士有限公司 存储器系统及其操作方法
CN107870737A (zh) * 2016-09-28 2018-04-03 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN106776875A (zh) * 2016-11-29 2017-05-31 天脉聚源(北京)传媒科技有限公司 一种请求处理方法及装置
CN108132958A (zh) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 一种多级缓存数据存储、查询、调度以及处理方法及装置
CN106776390A (zh) * 2016-12-06 2017-05-31 中国电子科技集团公司第三十二研究所 多设备访问存储器的实现方法
CN108241647A (zh) * 2016-12-23 2018-07-03 北京奇虎科技有限公司 数据处理及查询的方法和装置
CN108959291A (zh) * 2017-05-19 2018-12-07 腾讯科技(深圳)有限公司 查询方法及相关装置
CN108959291B (zh) * 2017-05-19 2023-03-24 腾讯科技(深圳)有限公司 查询方法及相关装置
CN107800767A (zh) * 2017-09-12 2018-03-13 努比亚技术有限公司 一种访问响应管理方法、服务器及计算机可读存储介质
CN108509323A (zh) * 2018-01-30 2018-09-07 深圳壹账通智能科技有限公司 基于日志分析的业务处理方法、装置及计算机设备
CN108509323B (zh) * 2018-01-30 2021-10-08 深圳壹账通智能科技有限公司 基于日志分析的业务处理方法、装置及计算机设备
CN110555041A (zh) * 2018-03-30 2019-12-10 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN109190070A (zh) * 2018-08-01 2019-01-11 北京奇艺世纪科技有限公司 一种数据处理方法、装置、系统及应用服务器
CN109190070B (zh) * 2018-08-01 2021-10-15 北京奇艺世纪科技有限公司 一种数据处理方法、装置、系统及应用服务器
CN110888889A (zh) * 2018-08-17 2020-03-17 阿里巴巴集团控股有限公司 一种数据信息更新方法、装置及设备
CN110888889B (zh) * 2018-08-17 2023-08-15 阿里巴巴集团控股有限公司 一种数据信息更新方法、装置及设备
CN112639746A (zh) * 2018-09-07 2021-04-09 株式会社东芝 数据库装置、程序以及数据处理方法
CN109743757B (zh) * 2018-12-29 2022-04-12 深圳和而泰数据资源与云技术有限公司 数据处理方法、装置、无线模组和物联网设备
CN109743757A (zh) * 2018-12-29 2019-05-10 深圳和而泰数据资源与云技术有限公司 数据处理方法、装置、无线模组和物联网设备
CN110019277A (zh) * 2019-01-17 2019-07-16 阿里巴巴集团控股有限公司 一种数据累积的方法、数据查询的方法、装置及设备
CN110032486A (zh) * 2019-03-06 2019-07-19 平安科技(深圳)有限公司 服务器测试方法、装置、计算机设备及存储介质
CN110032486B (zh) * 2019-03-06 2022-08-09 平安科技(深圳)有限公司 服务器测试方法、装置、计算机设备及存储介质
CN111523282A (zh) * 2020-05-07 2020-08-11 深圳探科技术有限公司 集成电路仿真中数据处理的方法、模块、存储介质及系统
CN112163001A (zh) * 2020-09-25 2021-01-01 同程网络科技股份有限公司 高并发查询方法、智能终端及存储介质
CN112685634A (zh) * 2020-12-29 2021-04-20 平安普惠企业管理有限公司 数据查询方法、装置、电子设备及存储介质
CN113314229A (zh) * 2021-05-26 2021-08-27 北京京东拓先科技有限公司 一种数据处理方法、装置、电子设备和存储介质
CN113411630A (zh) * 2021-08-19 2021-09-17 贝壳找房(北京)科技有限公司 直播热门行为回放方法

Similar Documents

Publication Publication Date Title
CN104123238A (zh) 数据存储方法及装置
CN101576918B (zh) 具备负载均衡功能的数据缓存系统
US9836514B2 (en) Cache based key-value store mapping and replication
CN105677250B (zh) 对象存储系统中的对象数据的更新方法和更新装置
CN108694195B (zh) 一种分布式数据仓库的管理方法及系统
CN113010818B (zh) 访问限流方法、装置、电子设备及存储介质
CN109033360B (zh) 一种数据查询方法、装置、服务器及存储介质
CN109684575A (zh) 网页数据的处理方法及装置、存储介质、计算机设备
US10067968B2 (en) Pre-caching of relational database management system based on data retrieval patterns
CN106326499B (zh) 一种数据处理方法及装置
CN106909595B (zh) 一种数据迁移方法及装置
CN110134648A (zh) 日志处理方法、装置、设备、系统及计算机可读存储介质
CN104657435B (zh) 一种应用数据的存储管理方法和网络管理系统
CN102780603B (zh) 网站流量控制方法及装置
CN108694188B (zh) 一种索引数据更新的方法以及相关装置
CN103067479A (zh) 一种基于文件冷热的网盘同步方法及系统
CN109471843A (zh) 一种元数据缓存方法、系统及相关装置
CN106021566A (zh) 一种提高单台数据库并发处理能力的方法、装置及系统
CN103986779A (zh) 一种应用数据传输方法、装置及终端设备
CN104657164B (zh) 软件升级处理方法和装置
CN110008197A (zh) 一种数据处理方法、系统及电子设备和存储介质
US20170270147A1 (en) Method and apparatus for storing data
CN108520052A (zh) 慢查询信息检索方法、装置、服务器及可读存储介质
CN102073690B (zh) 一种支持历史Key信息的内存数据库的构建方法
CN102724301B (zh) 云数据库系统以及云数据读写处理方法、设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151105

Address after: 266071 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131

Applicant after: Qingdao Hisense Media Networks Co., Ltd.

Address before: 100176, room 6, building 25, No. four, No. 201, Hai Lu, Daxing District economic and Technological Development Zone, Beijing, China

Applicant before: Sea view (Beijing) Technology Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170111

Address after: 266100 Shandong Province, Qingdao city Laoshan District Songling Road No. 399

Applicant after: Poly Polytron Technologies Inc

Address before: 266071 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131

Applicant before: Hisense Media Networks Co., Ltd.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141029