CN110019340A - 数据存储/读取方法、装置及系统 - Google Patents
数据存储/读取方法、装置及系统 Download PDFInfo
- Publication number
- CN110019340A CN110019340A CN201711291914.8A CN201711291914A CN110019340A CN 110019340 A CN110019340 A CN 110019340A CN 201711291914 A CN201711291914 A CN 201711291914A CN 110019340 A CN110019340 A CN 110019340A
- Authority
- CN
- China
- Prior art keywords
- data
- cached
- dirty
- label
- updated
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法和装置、一种数据读取方法和装置以及一种数据存储系统。其中数据存储方法包括:将待更新数据的缓存数据标记为脏数据;将所述待更新数据的数据源数据更新为更新的数据;将所述缓存数据更新为所述更新的数据;清除所述脏数据标记。采用本申请提供的方法,在更新数据库中的数据时,首先将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,因此,可以有效确保缓存数据正确。
Description
技术领域
本申请涉及分布式缓存技术领域,具体涉及一种数据存储方法、装置及电子设备,一种数据读取方法、装置及电子设备,以及一种数据存储系统。
背景技术
分布式缓存已经在分布式领域、云计算领域得到了广泛的应用,主要解决高并发,大数据场景下,热点数据访问的性能问题,例如Redis、Memcached、Ehcache等分布式缓存。通过采用分布式缓存,能够高性能地读取数据、能够动态地扩展缓存节点、能够自动发现和切换故障节点、能够自动均衡数据分区,而且能够为使用者提供图形化的管理界面,部署和维护都十分方便。
下面结合实际业务场景,对分布式缓存目前采用的处理流程及存在的技术问题进行说明。在场景一下,A用户要将其用户名“张三”修改为“张三1”,此时不仅需要修改数据库中的用户名,还需要修改分布式缓存中的用户名;业务系统首先将缓存中A用户的用户名“张三”删除,然后准备对数据库中的用户名“张三”进行修改,然而在删除缓存数据之后、且在修改数据库数据之前的时间段内,场景二的A’用户要查询A用户的用户信息,此时缓存中的A用户信息已经被删除,数据库中的用户名还没有被修改成“张三1”,因此A’用户从数据库中查询到A用户的用户名仍是“张三”;然而,在A’用户查询到的“张三”之后、且在将该数据写入缓存之前的时间段内,场景一继续执行,将数据库中A用户的用户名修改为“张三1”,并接着将缓存中A用户的用户名也改成“张三1”,此时场景一执行完毕;然后,接下来场景二继续执行,又将缓存中A用户的用户名由“张三1”改回了“张三”,因此导致数据库中A用户的用户名是“张三1”,而缓存中A用户的用户名是“张三”,二者数据明显不一致。
综上所述,在分布式系统中,当用户的访问量增大时,会导致并发用户过多,这就会导致一个缓存数据同时被多个请求更改,然而现有技术采用的在修改数据库数据时,首先删除缓存中的对应数据的处理方式,使得可能出现缓存数据与数据库数据不一致的情况;因此,现有技术存在高并发环境下分布式缓存层中用户数据不准确的问题。
发明内容
本发明实施例提供一种数据存储方法、装置及电子设备,一种数据读取方法、装置及电子设备,以及一种数据存储系统,用以解决现有技术存在的分布式缓存数据不准确的问题。
第一方面,本发明实施例中提供了一种数据存储方法,包括:将待更新数据的缓存数据标记为脏数据;将所述待更新数据的数据源数据更新为更新的数据;将所述缓存数据更新为所述更新的数据;清除所述脏数据标记。
结合第一方面,本发明在第一方面的第一种实现方式中,在所述将待更新数据的缓存数据标记为脏数据之后,所述方法还包括:记录所述缓存数据的脏数据打标时间。
结合第一方面的第一种实现方式,本发明在第一方面的第二种实现方式中,在所述清除所述缓存数据的所述脏数据标记之后,所述方法还包括:清除所述脏数据打标时间。
第二方面,本发明实施例提供了一种数据存储装置,其包括用于执行上述方法设计中数据存储装置行为相对应的模块。所述模块可以是软件和/或硬件。
第三方面,本发明实施例还提供了一种电子设备,其包括处理器和存储器,所述处理器其被配置为支持电子设备执行上述数据存储方法中相应的功能。所述存储器用于与处理器耦合,其保存执行上述数据存储方法必要的程序指令和数据。
第四方面,本发明实施例中提供了一种数据读取方法,包括:获取待查询数据的缓存数据;检测所述缓存数据是否具有脏数据标记;若检测到所述缓存数据具有脏数据标记,则获取所述待查询数据的数据源数据,将所述数据源数据作为所述待查询数据的查询结果。
结合第四方面,本发明在第四方面的第一种实现方式中,在检测到所述缓存数据具有脏数据标记时,所述方法还包括:获取所述缓存数据的脏数据打标时间;根据所述脏数据打标时间,确定所述缓存数据的修改时长;在所述获取所述待查询数据的数据源数据之后,还包括:若所述修改时长达到预设阈值,则将所述缓存数据更新为所述数据源数据,并清除所述脏数据标记,以及清除所述脏数据打标时间。
结合第四方面或第四方面的第一种实现方式,本发明在第四方面的第二种实现方式中,还包括:若未检测到所述缓存数据具有脏数据标记,则将所述缓存数据作为所述待查询数据的查询结果。
第五方面,本发明实施例提供了一种数据读取装置,其包括用于执行上述方法设计中数据读取装置行为相对应的模块。所述模块可以是软件和/或硬件。
第六方面,本发明实施例还提供了一种电子设备,其包括处理器和存储器,所述处理器其被配置为支持电子设备执行上述数据读取方法中相应的功能。所述存储器用于与处理器耦合,其保存执行上述数据读取方法必要的程序指令和数据。
第七方面,本发明实施例提供了一种数据存储系统,包括上述数据存储方法和数据读取方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第九方面,本发明实施例提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
相较于现有技术,本发明实施例提供的方案,通过在更新数据库中的数据时,先将对应的缓存数据标记为脏数据,并在根据更新的数据修改完缓存数据后,删除该缓存数据的脏数据标记;在查询缓存数据时,如果查询出的缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且保持缓存数据不改变;如果查询出的缓存数据不具有脏数据的标记,则直接返回缓存中的数据。由于在更新数据库中的数据时,并未首先删除对应的缓存数据,而是将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,避免一个场景下正在更新中的数据库数据对应的缓存数据随另一个场景下数据库查询结果再次发生变化;因此,可以有效确保缓存数据正确。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本发明实施例提供的业务系统、数据库、分布式缓存之间的数据流示意图;
图2为本发明实施例提供的一种数据存储方法的流程示意图;
图3为本发明实施例提供的一种数据存储装置的流程示意图;
图4为本发明实施例提供的一种电子设备的结构示意图;
图5为本发明实施例提供的一种数据读取方法的流程示意图;
图6为本发明实施例提供的一种数据读取装置的流程示意图;
图7为本发明实施例提供的另一种电子设备的结构示意图;
图8为本发明实施例提供的一种数据存储系统的结构示意图。
具体实施方式
下面将结合附图,对本发明的应用场景及实施例中的技术方案做说明。
如图1所示,分布式缓存由一个服务端实现管理和控制,有多个客户端节点存储数据,可以进一步提高数据的读取速率。要读取某个数据时,需要根据一致性哈希算法确定数据的存储和读取节点。以数据D,节点总个数N为基础,通过一致性哈希算法计算出数据D对应的哈希值(相当于门牌号),根据这个哈希值就可以找到对应的节点。一致哈希算法的好处在于节点个数发生变化(减少或增加)时无需重新计算哈希值,保证数据储存或读取时可以正确、快速地找到对应的节点。
分布式缓存能够处理大量的动态数据,因此比较适合应用在Web 2.0时代中的社交网站等需要由用户生成内容的场景。分布式缓存能够高性能地读取数据、能够动态地扩展缓存节点、能够自动发现和切换故障节点、能够自动均衡数据分区,而且能够为使用者提供图形化的管理界面,部署和维护都十分方便。
下面对本发明实施例进一步详细说明。
为了便于理解本发明实施例的技术方案,下面首先对方案的基本思想作简要说明。
本发明实施例提供的数据存储方法,其基本思想是:在更新数据库中的数据时,先将对应的缓存数据标记为脏数据,并在根据更新的数据修改完缓存数据后,删除该缓存数据的脏数据标记;在查询缓存数据时,如果查询出的缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且保持缓存数据不改变;如果查询出的缓存数据不具有脏数据的标记,则直接返回缓存中的数据。由于在更新数据库中的数据时,并未首先删除对应的缓存数据,而是将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,避免一个场景下正在更新中的数据库数据对应的缓存数据随另一个场景下数据库查询结果再次发生变化;因此,可以有效确保缓存数据正确。
下面结合图2,对本发明实施例提供的数据存储方法进行详细说明。
在201部分,数据存储装置将待更新数据的缓存数据标记为脏数据。
为了提升指令和数据读取速度,应用系统采用分布式缓存组件存储热点数据,例如,应用系统从数据源中读取数据后,将该数据存储在分布式缓存中,当后续有针对该数据的查询,则可以首先从分布式缓存中查询到该数据,既可提高数据查询速度,又可减少对数据源的查询压力。
所述数据源可以是数据库系统,也可以是其它文件系统。在数据源是数据库系统时,通过采用分布式缓存组件存储热点数据,可有效减少对数据库的查询压力。
所述待更新数据是指需要进行数据更新的数据,例如,用户可指定待更新数据为A用户的用户名、B商品的商品类别等等。
在采用分布式缓存组件存储热点数据时,待更新数据包括两种数据,一种是存储在缓存中的数据,简称为缓存数据,另一种是存储在数据源中的数据,简称为数据源数据。如果数据源是数据库系统,则数据源数据又称为数据库数据。
本发明实施例提供的数据存储方法,在获得针对待更新数据的更新指示时,需要先将待更新数据的缓存数据标记为脏数据,而非先删除该缓存数据。
具体实施时,可为缓存数据设置是否为脏数据的属性。当要将一个缓存数据标记为脏数据时,可以将该缓存数据的脏数据属性设置为真,表示该缓存数据为脏数据。在默认情况下,一个缓存数据的脏数据属性为假,表示该缓存数据有效。
在一个示例中,在将缓存数据设置为脏数据时,还可记录缓存数据的脏数据打标时间。采用这种处理方式,可使得在查询到该缓存数据时,可以根据脏数据打标时间判断该缓存数据的脏数据标记是否过期,如果判定脏数据标记已过期,则可根据数据源数据更新该缓存数据,避免在更新数据源数据的过程中,在数据源连接断开后无法再清除脏数据标记;因此,可以有效确保缓存数据具有正确的脏数据标记。
在将缓存数据打标为脏数据后,就可以进入下一步骤,根据更新指示对待更新数据的数据源数据进行更新。
在202部分,将所述待更新数据的数据源数据更新为更新的数据。
具体实施时,可首先从数据库中查询出待更新数据的数据库数据,然后将数据库数据修改为更新的数据。
在203部分,将所述缓存数据更新为所述更新的数据。
在更新数据库数据后,就可以对缓存数据进行更新。
在204部分,清除所述脏数据标记。
在成功更新待更新数据的数据库数据和缓存数据后,就可以清除缓存数据的脏数据标记,以使缓存数据有效。
从上述实施例可以看出,本发明实施例提供的数据存储方法,通过在更新数据库中的数据时,先将对应的缓存数据标记为脏数据,并在根据更新的数据修改完缓存数据后,删除该缓存数据的脏数据标记;在查询缓存数据时,如果查询出的缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且保持缓存数据不改变;如果查询出的缓存数据不具有脏数据的标记,则直接返回缓存中的数据。由于在更新数据库中的数据时,并未首先删除对应的缓存数据,而是将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,避免一个场景下正在更新中的数据库数据对应的缓存数据随另一个场景下数据库查询结果再次发生变化;因此,可以有效确保缓存数据正确。
与本发明的一种数据存储方法相对应,本发明还提供了一种数据存储装置。
图3所示了上述实施例中所涉及的数据存储装置涉及的结构示意图,所述数据存储装置包括:
脏数据打标单元301,用于将待更新数据的缓存数据标记为脏数据;
数据源数据更新单元302,用于将所述待更新数据的数据源数据更新为更新的数据;
缓存数据更新单元303,用于将所述缓存数据更新为所述更新的数据;
脏数据标记清除单元304,用于清除所述脏数据标记。
可选的,装置还包括:
脏数据打标时间记录单元,用于记录所述缓存数据的脏数据打标时间。
可选得,所述装置还包括:
脏数据打标时间清除单元,用于清除所述脏数据打标时间。
从上述实施例可以看出,本发明实施例提供的数据存储装置,通过在更新数据库中的数据时,先将对应的缓存数据标记为脏数据,并在根据更新的数据修改完缓存数据后,删除该缓存数据的脏数据标记;在查询缓存数据时,如果查询出的缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且保持缓存数据不改变;如果查询出的缓存数据不具有脏数据的标记,则直接返回缓存中的数据。由于在更新数据库中的数据时,并未首先删除对应的缓存数据,而是将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,避免一个场景下正在更新中的数据库数据对应的缓存数据随另一个场景下数据库查询结果再次发生变化;因此,可以有效确保缓存数据正确。
图4示出了本发明实施例提供的一种电子设备涉及的方框图。
所述电子设备包括处理器401和存储器402。处理器401执行图2中数据存储的处理过程和/或用于本申请所描述的技术的其他过程。存储器402数据存储过程的程序代码和数据。
可选的,所述电子设备还可包括输入设备和/或显示器,其中,输入设备用于输入待更新数据。
可选的,所述电子设备还可包括通信接口,通信接口用于实现所述设备与其他设备之间的通信。例如,当所述设备为RCS时,所述通信接口可以是用于实现RRS与RCS之间通信的通用公共无线电接口(common public radio interface,CPRI)。
可以理解的是,图4仅仅是电子设备的简化设计。可以理解的是,电子设备可以包含任意数量的处理器,存储器,输入设备,显示器,通信接口。
与本发明的一种数据存储方法相对应,本发明还提供了一种数据读取方法。
下面结合附图5,对本发明的数据读取方法的实施例进行说明。
在501部分,数据读取装置获取待查询数据的缓存数据。
数据读取装置获得针对待查询数据的查询指示后,首先从分布式缓存中获取待查询数据的缓存数据。
所述待查询数据是指需要进行数据查询的数据,例如,用户可指定待查询数据为A用户的用户名、B商品的商品类别等等。
待查询数据包括两种数据,一种是存储在缓存中的数据,简称为缓存数据,另一种是存储在数据源中的数据,简称为数据源数据。
在获取到待查询数据的缓存数据后,就可以进入下一步骤,检测缓存数据是否具有脏数据标记。
在502部分,检测所述缓存数据是否具有脏数据标记。
具体实施时,缓存数据可具有是否为脏数据的属性。当查询到缓存数据的该属性为真时,即可判定该缓存数据具有脏数据标记,为脏数据;当查询到缓存数据的该属性为假时,即可判定该缓存数据不具有脏数据标记,并非脏数据,该缓存数据有效。
在503部分,若检测到所述缓存数据具有脏数据标记,则获取所述待查询数据的数据源数据,将所述数据源数据作为所述待查询数据的查询结果。
在一个示例中,在检测到所述缓存数据具有脏数据标记时,本发明实施例提供的数据读取方法还可包括如下步骤:获取所述缓存数据的脏数据打标时间;在获取所述待查询数据的数据源数据之后,所述数据读取方法还可包括如下步骤:根据所述脏数据打标时间,确定所述缓存数据的修改时长;以及,若所述修改时长达到预设阈值,则将所述缓存数据更新为所述数据源数据,并清除所述脏数据标记,以及清除所述脏数据打标时间。
例如,一个缓存数据具有脏数据标记,且该缓存数据的脏数据打标时间为2017/12/4/15:01:05,用户在2017/12/4/15:01:10时刻查询该缓存数据,截至该查询时间,对该缓存数据对应的数据库数据的修改时长为5秒,若预设阈值为3秒,则表示该脏数据标记已过期,可直接根据当前数据库查询结果更新该缓存数据;若预设阈值为8秒,则表示该脏数据标记未过期,数据库数据正在修改中,不可根据当前数据库查询结果更新该缓存数据,而是要等待数据库数据修改结束后,根据更新的数据库数据更新该缓存数据。并且,在判定该脏数据标记已过期,并直接根据当前数据库查询结果更新该缓存数据后,还要清除该缓存数据的脏数据标记和脏数据打标时间。
如果通过502部分未检测到所述缓存数据具有脏数据标记,则将所述缓存数据作为所述待查询数据的查询结果。
从上述实施例可以看出,本发明实施例提供的数据读取方法,通过在更新数据库中的数据时,先将对应的缓存数据标记为脏数据,并在根据更新的数据修改完缓存数据后,删除该缓存数据的脏数据标记;在查询缓存数据时,如果查询出的缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且保持缓存数据不改变;如果查询出的缓存数据不具有脏数据的标记,则直接返回缓存中的数据。由于在更新数据库中的数据时,并未首先删除对应的缓存数据,而是将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,避免一个场景下正在更新中的数据库数据对应的缓存数据随另一个场景下数据库查询结果再次发生变化;因此,可以有效确保缓存数据正确。
与本发明的一种数据读取方法相对应,本发明还提供了一种数据读取装置。
图6所示了上述实施例中所涉及的数据读取装置涉及的结构示意图,所述数据读取装置包括:
缓存数据获取单元601,用于获取待查询数据的缓存数据;
脏数据标记检测单元602,用于检测所述缓存数据是否具有脏数据标记;
第一查询结果获取单元603,用于若检测到所述缓存数据具有脏数据标记,则获取所述待查询数据的数据源数据,将所述数据源数据作为所述待查询数据的查询结果。
可选的,所述第一查询结果获取单元包括:
脏数据打标时间获取单元,用于获取所述缓存数据的脏数据打标时间;
修改时长确定单元,用于根据所述脏数据打标时间,确定所述缓存数据的修改时长;
缓存数据更新单元,用于若所述修改时长达到预设阈值,则将所述缓存数据更新为所述数据源数据,并清除所述脏数据标记,以及清除所述脏数据打标时间。
可选的,装置还包括:
第二查询结果获取单元,用于若未检测到所述缓存数据具有脏数据标记,则将所述缓存数据作为所述待查询数据的查询结果。
从上述实施例可以看出,本发明实施例提供的数据读取装置,通过在更新数据库中的数据时,先将对应的缓存数据标记为脏数据,并在根据更新的数据修改完缓存数据后,删除该缓存数据的脏数据标记;在查询缓存数据时,如果查询出的缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且保持缓存数据不改变;如果查询出的缓存数据不具有脏数据的标记,则直接返回缓存中的数据。由于在更新数据库中的数据时,并未首先删除对应的缓存数据,而是将该缓存数据标记为脏数据,且在查询缓存数据时,如果发现缓存数据具有脏数据的标记,则查询并返回数据库中的数据,且并未根据数据库查询结果更新缓存数据,使得缓存数据与数据库数据保持一致,避免一个场景下正在更新中的数据库数据对应的缓存数据随另一个场景下数据库查询结果再次发生变化;因此,可以有效确保缓存数据正确。
图7示出了本发明实施例提供的一种电子设备涉及的方框图。
所述电子设备包括处理器701和存储器702。处理器701执行图5中数据读取的处理过程和/或用于本申请所描述的技术的其他过程。存储器702用于存储数据读取过程的程序代码和数据。
可选的,所述电子设备还可包括输入设备和/或显示器,其中,输入设备用于输入待查询数据,显示器可用于显示待查询数据的查询结果。
可选的,所述电子设备还可包括通信接口,通信接口用于实现所述设备与其他设备之间的通信。例如,当所述设备为RCS时,所述通信接口可以是用于实现RRS与RCS之间通信的通用公共无线电接口(common public radio interface,CPRI)。
可以理解的是,图7仅仅是电子设备的简化设计。可以理解的是,电子设备可以包含任意数量的处理器,存储器,输入设备,显示器,通信接口。
本发明实施例还提供了一种数据存储系统,如图8所示,该系统包括上述实施例所述的数据存储装置801和数据读取装置802。所述数据存储装置和数据读取装置通常部署于服务器,但并不局限于服务器,也可以是能够实现所述数据存储方法和数据读取方法的任何设备。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD)等。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于数据存储装置、数据读取方法及装置的实施例而言,由于其基本相似于数据存储方法实施例,所以描述的比较简单,相关之处参见数据存储方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
将待更新数据的缓存数据标记为脏数据;
将所述待更新数据的数据源数据更新为更新的数据;
将所述缓存数据更新为所述更新的数据;
清除所述脏数据标记。
2.根据权利要求1所述的方法,其特征在于:
在所述将待更新数据的缓存数据标记为脏数据之后,所述方法还包括:
记录所述缓存数据的脏数据打标时间;
在所述清除所述缓存数据的所述脏数据标记之后,所述方法还包括:
清除所述脏数据打标时间。
3.一种数据读取方法,其特征在于,包括:
获取待查询数据的缓存数据;
检测所述缓存数据是否具有脏数据标记;
若检测到所述缓存数据具有脏数据标记,则获取所述待查询数据的数据源数据,将所述数据源数据作为所述待查询数据的查询结果。
4.根据权利要求3所述的方法,其特征在于,在检测到所述缓存数据具有脏数据标记时,所述方法还包括:
获取所述缓存数据的脏数据打标时间;
根据所述脏数据打标时间,确定所述缓存数据的修改时长;
在所述获取所述待查询数据的数据源数据之后,还包括:
若所述修改时长达到预设阈值,则将所述缓存数据更新为所述数据源数据,并清除所述脏数据标记,以及清除所述脏数据打标时间。
5.根据权利要求3或4所述的方法,其特征在于,还包括:
若未检测到所述缓存数据具有脏数据标记,则将所述缓存数据作为所述待查询数据的查询结果。
6.一种数据存储装置,其特征在于,包括:
脏数据打标单元,用于将待更新数据的缓存数据标记为脏数据;
数据源数据更新单元,用于将所述待更新数据的数据源数据更新为更新的数据;
缓存数据更新单元,用于将所述缓存数据更新为所述更新的数据;
脏数据标记清除单元,用于清除所述脏数据标记。
7.一种数据读取装置,其特征在于,包括:
缓存数据获取单元,用于获取待查询数据的缓存数据;
脏数据标记检测单元,用于检测所述缓存数据是否具有脏数据标记;
第一查询结果获取单元,用于若检测到所述缓存数据具有脏数据标记,则获取所述待查询数据的数据源数据,将所述数据源数据作为所述待查询数据的查询结果。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储实现数据存储方法的程序,该设备通电并通过所述处理器运行该数据存储方法的程序后,执行下述步骤:将待更新数据的缓存数据标记为脏数据;将所述待更新数据的数据源数据更新为更新的数据;将所述缓存数据更新为所述更新的数据;清除所述脏数据标记。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储实现数据读取方法的程序,该设备通电并通过所述处理器运行该数据读取方法的程序后,执行下述步骤:获取待查询数据的缓存数据;检测所述缓存数据是否具有脏数据标记;若检测到所述缓存数据具有脏数据标记,则获取所述待查询数据的数据源数据,将所述数据源数据作为所述待查询数据的查询结果。
10.一种数据存储系统,其特征在于,包括:根据上述权利要求6所述的数据存储装置,以及,根据上述权利要求7所述的数据读取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711291914.8A CN110019340A (zh) | 2017-12-08 | 2017-12-08 | 数据存储/读取方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711291914.8A CN110019340A (zh) | 2017-12-08 | 2017-12-08 | 数据存储/读取方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019340A true CN110019340A (zh) | 2019-07-16 |
Family
ID=67186854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711291914.8A Pending CN110019340A (zh) | 2017-12-08 | 2017-12-08 | 数据存储/读取方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019340A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704468A (zh) * | 2019-10-17 | 2020-01-17 | 武汉微派网络科技有限公司 | 数据更新方法、装置及控制器 |
CN110865996A (zh) * | 2019-11-07 | 2020-03-06 | 尚娱软件(深圳)有限公司 | 数据存储方法、装置及计算机可读存储介质 |
CN111125170A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种微服务的跨服务数据获取方法、装置及微服务设备 |
CN111857879A (zh) * | 2020-07-21 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN112835528A (zh) * | 2021-02-22 | 2021-05-25 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、电子设备和存储介质 |
CN117193670A (zh) * | 2023-11-06 | 2023-12-08 | 之江实验室 | 一种清除缓存的方法、装置、存储介质以及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308513A (zh) * | 2008-06-27 | 2008-11-19 | 福建星网锐捷网络有限公司 | 分布式系统中缓存数据的同步配置方法与装置 |
CN102741843A (zh) * | 2011-03-22 | 2012-10-17 | 青岛海信传媒网络技术有限公司 | 从数据库中读取数据的方法及装置 |
CN103955486A (zh) * | 2014-04-14 | 2014-07-30 | 五八同城信息技术有限公司 | 分布式服务系统及其数据更新、数据查询的方法 |
CN104133783A (zh) * | 2014-07-11 | 2014-11-05 | 北京京东尚科信息技术有限公司 | 处理分散式缓存数据的方法和装置 |
CN106407345A (zh) * | 2016-09-06 | 2017-02-15 | 合网络技术(北京)有限公司 | 一种脏数据更新方法及装置 |
CN106569733A (zh) * | 2015-10-12 | 2017-04-19 | 北京国双科技有限公司 | 缓存数据的处理方法和装置 |
CN107038123A (zh) * | 2015-12-10 | 2017-08-11 | Arm 有限公司 | 用于数据处理系统中的缓存一致性的探听过滤器 |
CN107330119A (zh) * | 2017-07-14 | 2017-11-07 | 掌阅科技股份有限公司 | 缓存数据处理方法、电子设备、计算机存储介质 |
US9830358B1 (en) * | 2016-09-30 | 2017-11-28 | Semmle Limited | Generating identifiers for tuples of recursively defined relations |
-
2017
- 2017-12-08 CN CN201711291914.8A patent/CN110019340A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308513A (zh) * | 2008-06-27 | 2008-11-19 | 福建星网锐捷网络有限公司 | 分布式系统中缓存数据的同步配置方法与装置 |
CN102741843A (zh) * | 2011-03-22 | 2012-10-17 | 青岛海信传媒网络技术有限公司 | 从数据库中读取数据的方法及装置 |
CN103955486A (zh) * | 2014-04-14 | 2014-07-30 | 五八同城信息技术有限公司 | 分布式服务系统及其数据更新、数据查询的方法 |
CN104133783A (zh) * | 2014-07-11 | 2014-11-05 | 北京京东尚科信息技术有限公司 | 处理分散式缓存数据的方法和装置 |
CN106569733A (zh) * | 2015-10-12 | 2017-04-19 | 北京国双科技有限公司 | 缓存数据的处理方法和装置 |
CN107038123A (zh) * | 2015-12-10 | 2017-08-11 | Arm 有限公司 | 用于数据处理系统中的缓存一致性的探听过滤器 |
CN106407345A (zh) * | 2016-09-06 | 2017-02-15 | 合网络技术(北京)有限公司 | 一种脏数据更新方法及装置 |
US9830358B1 (en) * | 2016-09-30 | 2017-11-28 | Semmle Limited | Generating identifiers for tuples of recursively defined relations |
CN107330119A (zh) * | 2017-07-14 | 2017-11-07 | 掌阅科技股份有限公司 | 缓存数据处理方法、电子设备、计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
李锡辉,王樱: "《ASP.NET程序设计案例教程》", 28 February 2010, 西安电子科技大学出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704468A (zh) * | 2019-10-17 | 2020-01-17 | 武汉微派网络科技有限公司 | 数据更新方法、装置及控制器 |
CN110865996A (zh) * | 2019-11-07 | 2020-03-06 | 尚娱软件(深圳)有限公司 | 数据存储方法、装置及计算机可读存储介质 |
CN110865996B (zh) * | 2019-11-07 | 2022-04-19 | 尚娱软件(深圳)有限公司 | 数据存储方法、装置及计算机可读存储介质 |
CN111125170A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种微服务的跨服务数据获取方法、装置及微服务设备 |
CN111857879A (zh) * | 2020-07-21 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN111857879B (zh) * | 2020-07-21 | 2023-11-24 | 抖音视界有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN112835528A (zh) * | 2021-02-22 | 2021-05-25 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、电子设备和存储介质 |
CN117193670A (zh) * | 2023-11-06 | 2023-12-08 | 之江实验室 | 一种清除缓存的方法、装置、存储介质以及电子设备 |
CN117193670B (zh) * | 2023-11-06 | 2024-01-30 | 之江实验室 | 一种清除缓存的方法、装置、存储介质以及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019340A (zh) | 数据存储/读取方法、装置及系统 | |
US10007626B1 (en) | Storage performance testing to evaluate moving data among arrays | |
US11531482B2 (en) | Data deduplication method and apparatus | |
CN105224255B (zh) | 一种存储文件管理方法及装置 | |
US11907078B2 (en) | Data backup method, apparatus, and system | |
US11487714B2 (en) | Data replication in a data analysis system | |
US8688635B2 (en) | Data set connection manager having a plurality of data sets to represent one data set | |
CN109213604B (zh) | 一种数据源的管理方法和装置 | |
US11455117B2 (en) | Data reading method, apparatus, and system, avoiding version rollback issues in distributed system | |
CN105337891B (zh) | 用于分布式缓存系统的流量控制方法和装置 | |
CN109783258A (zh) | 一种消息处理方法、装置及服务器 | |
US20210326211A1 (en) | Data backup method, apparatus, and system | |
CN108347459A (zh) | 一种云端数据快速存储方法及装置 | |
CN103986779A (zh) | 一种应用数据传输方法、装置及终端设备 | |
CN112839076A (zh) | 数据存储、读取方法、网关、电子设备及存储介质 | |
CN108667740B (zh) | 流量控制的方法、装置及系统 | |
CN110347955A (zh) | 一种资源检测方法及装置 | |
US20110093688A1 (en) | Configuration management apparatus, configuration management program, and configuration management method | |
CN108763517A (zh) | 一种删除元数据的方法以及相关设备 | |
CN108197323A (zh) | 应用于分布式系统地图数据处理方法 | |
CN109558425A (zh) | 一种缓存的备份方法及装置 | |
CN110134807B (zh) | 目标检索方法、装置、系统及存储介质 | |
CN110008243A (zh) | 一种数据表处理方法及装置 | |
CN110297859A (zh) | 处理实时数据的方法和装置 | |
CN107577433B (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 | ||
CB02 | Change of applicant information |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Applicant after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A room 602 Applicant before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |
|
RJ01 | Rejection of invention patent application after publication |