CN114925078A - 数据更新方法、系统、电子设备及存储介质 - Google Patents
数据更新方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114925078A CN114925078A CN202210582874.7A CN202210582874A CN114925078A CN 114925078 A CN114925078 A CN 114925078A CN 202210582874 A CN202210582874 A CN 202210582874A CN 114925078 A CN114925078 A CN 114925078A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- database
- original data
- deleting
- 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
Images
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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本发明提供了一种数据更新方法、系统、电子设备及存储介质,属于计算机技术领域。其中,数据更新方法包括获取用于进行数据库数据更新的数据写入请求和待写入数据库中的目标数据;判断缓存中是否存在与目标数据对应的原始数据,若存在,则删除缓存中的原始数据;根据数据写入请求将目标数据写入数据库中,以替换数据库中存在的原始数据,得到更新后的数据库;更新完数据库后判断缓存中是否还存在对应的原始数据,若存在,则删除缓存中原始数据。本发明所提出的数据更新方法和系统能最大限度删除缓存和数据库中的原始数据,避免出现数据更新后缓存中还存在原始数据的情况,提高缓存与数据库之间数据的一致性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据更新方法、系统、电子设备及存储介质。
背景技术
边缘缓存模式是按需将数据从数据存储加载到缓存中的一个缓存模式,缓存的引入,能有效解决关系型数据库多的压力,但是,在边缘缓存模式下引入缓存势必会导致数据库数据与缓存数据存在数据不一致的问题,相关技术中,当用户写入数据或网络异常时,系统对更新数据与更新缓存之间的执行顺序都会导致数据库与缓存的数据不一致。
发明内容
本发明实施例的主要目的在于提出一种数据更新方法、系统、电子设备及存储介质,能够提高缓存与数据库之间数据的一致性。
为实现上述目的,本发明实施例的第一方面提出了一种数据更新方法,所述方法包括:
获取用于进行数据库数据更新的数据写入请求和待写入所述数据库中的目标数据;
判断缓存中是否存在与所述目标数据对应的原始数据,若存在,则删除所述缓存中的所述原始数据;
根据所述数据写入请求将所述目标数据写入所述数据库中,以替换所述数据库中存在的所述原始数据,得到更新后的数据库;
更新完所述数据库后判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据。
在一些实施例中,所述更新完所述数据库后判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据,包括:
获取预设的延迟时间;
在更新完所述数据库并延时达到所述延迟时间后,判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据。
在一些实施例中,所述删除所述缓存中的所述原始数据,包括:
删除所述缓存中的所述原始数据,并判断所述原始数据是否删除成功;
若所述原始数据删除成功,返回数据删除成功信息;
若所述原始数据没有删除成功,对所述原始数据进行删除重试操作,重新尝试删除所述缓存中的所述原始数据。
在一些实施例中,所述对所述原始数据进行删除重试操作之后,所述方法还包括:
获取所述原始数据的删除重试次数,并判断所述删除重试次数是否超过预设重试次数;
若所述删除重试次数没有超过所述预设重试次数,继续执行删除重试操作,重新尝试删除所述缓存中的所述原始数据;
若所述删除重试次数超过所述预设重试次数,返回数据删除失败信息。
在一些实施例中,所述删除所述缓存中的所述原始数据,包括:
将所述数据写入请求写入到预设的信息队列中,并根据所述数据写入请求生成数据删除指令;
通过所述信息队列发送所述数据删除指令到所述缓存中,以删除所述缓存中的所述原始数据。
在一些实施例中,所述数据写入请求有多个,所述通过所述信息队列发送所述数据删除指令到所述缓存中,以删除所述缓存中的所述原始数据,包括:
通过所述信息队列实时发送多个所述数据删除指令到所述缓存中;
获取各个所述数据写入请求写入所述信息队列的时间信息,并通过所述时间信息确定多个所述数据删除指令的执行顺序,根据所述执行顺序执行多个所述数据删除指令,以删除所述缓存中的与各个所述目标数据对应的所述原始数据。
在一些实施例中,所述将所述数据写入请求写入到预设的信息队列中之后,所述方法还包括:
根据所述数据写入请求生成推送信息;
通过所述信息队列发送推送信息到与所述信息队列连接的全文检索库中,以更新所述全文检索库。
为实现上述目的,本发明实施例的第二方面提出了一种数据更新系统,所述系统包括:
数据写入请求模块,用于获取用于进行数据库数据更新的数据写入请求和待写入所述数据库中的目标数据;
缓存删除模块,用于判断缓存中是否存在与所述目标数据对应的原始数据,若存在,则删除所述缓存中的所述原始数据;
数据写入模块,用于根据所述数据写入请求将所述目标数据写入所述数据库中,以替换所述数据库中存在的所述原始数据,得到更新后的数据库;
所述缓存删除模块,还用于更新完所述数据库后判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据。
为实现上述目的,本发明实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现上述第一方面所述的数据更新方法。
为实现上述目的,本发明实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面所述的数据更新方法。
本发明实施例提出的数据更新方法、系统、电子设备及存储介质,数据更新方法可以应用在数据更新系统中,通过执行数据更新方法,在进行数据写入时,获取用于进行数据库数据更新的数据写入请求和待写入数据库中的目标数据,数据库中存在与目标数据对应的原始数据,二者分别是即将更新的新版本数据和待更新的旧版本数据,缓存中可能存在原始数据,为了保证数据的一致性,本发明实施例先判断缓存中是否存在原始数据,有的话则删除,根据数据写入请求将目标数据写入数据库中以替代原始数据,为了进一步保证数据的一致性,需要再判断缓存是否还存在原始数据,有的话再将原始数据从缓存中删除,通过本发明实施例中的数据更新方法,能最大限度删除缓存和数据库中的原始数据,避免出现数据更新后缓存中还存在原始数据的情况,提高缓存与数据库之间数据的一致性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是现有技术中边缘缓存模式的原理图;
图2是本发明实施例提供的数据更新方法的流程示意图;
图3是图2中的步骤S104的流程示意图;
图4是图2中的步骤S102和/或步骤S104中删除缓存中的原始数据的流程示意图;
图5是图4中的步骤S303之后的流程示意图;
图6是图2中的步骤S102和/或步骤S104中删除缓存中的原始数据的另一流程示意图;
图7是本发明实施例提供的系统架构示意图;
图8是图6中的步骤S502的流程示意图;
图9是图6中的步骤S501之后的流程示意图;
图10是本发明实施例提供的数据更新系统的结构示意图;
图11是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程示意图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明实施例中涉及的若干名词进行解析:
缓存(Cache)是在计算机存储系统的层次结构中,介于中央处理器(CPU)和主存储器之间的高速小容量存储器,是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快,高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的,缓存起到了预读取、写入和临时存储的功能。
边缘缓存模式(Cache-Aside Pattern)是一种缓存与数据库数据同步的缓存模式,在Cache-Aside Pattern缓存模式中,按需将数据从数据存储加载到缓存中,此模式最大的作用就是提高性能减少不必要的查询。如图1所示,图1是现有技术中Cache-AsidePattern缓存模式的原理图,在Cache-Aside Pattern缓存模式下,数据的查询首先先从缓存查询数据,如果没有命中缓存则从数据库存储中进行查询,数据库中存储有对应的数据,随后将数据写入缓存,以便随后可以通过从缓存中读取数据,缓存中任何数据的更新,都会自动同步到数据库,而数据的删除则首先更新数据库,然后删除缓存中的数据。
随着互联网的发展,用户对服务器处理速度的要求越来越高,服务器快速响应用户请求成为服务器的设计要求,而面对一些复杂的场景往往会大量的计算,关系型数据库服务器更是瞬间进行大量的IO操作,随之而来的是CPU使用率急速飙升。此时,关系型数据库服务器往往支撑不住压力而奔溃,那么,缓存数据库(也即上述所说的Cache)的引入,能有效解决关系型数据库压力,满足业务需求,能够快速响应用户请求,提升用户体验,根据Cache-Aside Pattern缓存模式的理论,引入缓存势必会导致数据库数据与缓存数据存在数据不一致的问题。
具体的,目前Cache-Aside Pattern缓存模式存在如下问题:当用户写入数据,系统对更新数据与更新缓存之间的执行顺序都会导致数据库与缓存的数据不一致,删除缓存操作面临网络异常等偶发性事故导致关系型数据库与缓存数据库的数据不一致。
基于此,本发明实施例提供了一种数据更新方法、系统、电子设备及存储介质,旨在提高数据的一致性,并提出了一种新的系统架构,实现并发处理,通过本发明实施例中的数据更新方法和系统,开发人员无需关心数据库更新与缓存更新之间的执行顺序,减少开发人员的失误操作,提升系统的稳定性,提升缓存数据的更新成功率,有效解决数据库数据与缓存数据的不一致的问题,通过提出的新的系统架构,系统当中的缓存数据库的更新被集中管理,提升系统的可维护性,缓存数据库的监控更加容易,更加迅速发现异常并推送到开发人员手中,从系统架构设计上提升系统接入数据库的多样性和系统的拓展性,除了引入缓存数据库,也能快速接入全文检索数据库等。
可以理解的是,本发明实施例中的数据更新方法和系统,提供的是一个数据同步架构结合行之有效的同步策略,从而给出一个数据库数据与缓存数据一致性解决方案。
以下对关系型数据库简称数据库,对缓存数据库简称缓存(Cache)。
本发明实施例提供的数据更新方法、系统、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本发明实施例中的数据更新方法。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明实施例提供的数据更新方法,涉及计算机技术领域。本发明实施例提供的数据更新方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现数据更新方法的应用等,但并不局限于以上形式。
本发明实施例可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图2是本发明实施例提供的数据更新方法的一个可选的流程示意图,图2中的数据更新方法可以包括但不限于包括步骤S101至步骤S104。
步骤S101,获取用于进行数据库数据更新的数据写入请求和待写入数据库中的目标数据。
步骤S102,判断缓存中是否存在与目标数据对应的原始数据,若存在,则删除缓存中的原始数据。
步骤S103,根据数据写入请求将目标数据写入数据库中,以替换数据库中存在的原始数据,得到更新后的数据库。
步骤S104,更新完数据库后判断缓存中是否还存在对应的原始数据,若存在,则删除缓存中原始数据。
需要说明的是,本发明实施例中的数据更新方法可以应用在数据更新系统中,通过执行数据更新方法,在进行数据写入时,系统获取用于进行数据库数据更新的数据写入请求和待写入数据库中的目标数据,数据库中存在与目标数据对应的原始数据,二者分别是即将更新的新版本数据和待更新的旧版本数据,缓存中可能存在原始数据。
可以理解的是,在Cache-Aside Pattern缓存模式下,当进行原始数据读取时,会先查询缓存中是否存在原始数据,若没有则从数据库中查询,并将原始数据存放在缓存中,在接下来的数据读取时,可以直接从缓存中读取得到原始数据,而进行数据更新时,需要替换数据库中的原始数据,并删除缓存中存在的原始数据,保证数据的一致性。
为了保证数据的一致性,本发明实施例先判断缓存中是否存在原始数据,有的话则删除缓存中的原始数据,根据数据写入请求将目标数据写入数据库中以替代原始数据,为了进一步保证数据的一致性,在更新完数据库中的数据后,需要再判断缓存是否还存在原始数据,有的话再将原始数据从缓存中删除,通过本发明实施例中的数据更新方法,能最大限度删除缓存和数据库中的原始数据,避免出现数据更新后缓存中还存在原始数据的情况,提高缓存与数据库之间数据的一致性。
可以理解的是,本发明实施例中的包括两次对缓存中的原始数据进行删除,前后两次删除并没有依赖关系,例如,以数据a为原始数据,数据b为目标数据,假设数据库有一条数据a,现需要更新为数据b,在第一次删除缓存中成功删除缓存中的数据a,当数据库更新数据为b的操作还未完成时,此时系统请求获取的数据仍然为数据库的数据a,因此虽然经过第一次的删除操作后,缓存中还是会存在数据a,当数据库更新b操作完成后。此时数据库的数据为b,缓存数据为a,这就造成数据的不一致,本发明实施例为了避免这种情况的出现,在更新完数据库后,再次判断缓存中是否还存在数据a,有的话删除缓存中的数据a,保证数据更新完后,系统中只有一个数据b,保证了缓存与数据库数据的一致性。
需要说明的是,如若缓存中不存在原始数据,则不需要对缓存执行原始数据的删除操作,只需要根据数据写入请求将目标数据写入数据库中以替代数据库中的原始数据即可。
需要说明的是,本发明实施例中的系统,数据操作中分为读和写两种操作,读取数据流程依然是根据Cache-Aside Pattern缓存模式,删除缓存数据后,第一次请求读取数据时没有发现数据,则去请求数据库一次,将数据存入缓存当中,后续的并发请求都是直接访问缓存获取数据。
参照图3所示,在一些实施例中,数据更新方法中的步骤S104可以包括但不限于包括步骤S201至步骤S202。
步骤S201,获取预设的延迟时间。
步骤S201,在更新完数据库并延时达到延迟时间后,判断缓存中是否还存在对应的原始数据,若存在,则删除缓存中原始数据。
需要说明的是,本发明实施例的数据更新方法,所执行的是一种延迟双删策略(delay delete double times),数据库更新与更新缓存执行顺序容易导致,数据库数据与缓存数据不一致,通过本发明实施例中定义的延迟双删除策略,开发者无需关心执行顺序,减少开发者的错误,提高系统的可用性。
具体地,本发明实施例所定义的延迟双删策略,首选需要获取预设的延迟时间,在系统根据数据写入请求将目标数据写入数据库中以替代数据库中的原始数据后,需要延时一段时间,在更新完数据库并延时达到延迟时间后,判断缓存中是否还存在对应的原始数据,若存在,则删除缓存中原始数据。
可以理解的是,本发明实施例中考虑数据库有主从的设计,主库(即数据库)负责写数据,从库(即缓存)负责读取数据,为了确保数据库更新操作和同步操作完成,第二次删除缓存操作会在更新数据库操作之后延迟执行,确保数据库数据已经完全更新,在一实施例中,预设的延迟时间是可以根据系统性能需要设定的,可以根据具体的系统具体设置,以保证系统数据库的数据均可以顺利完成更新,本发明实施例不对其做具体限制。
参照图4所示,在一些实施例中,数据更新中的步骤S102和步骤S104中的删除缓存中的原始数据,可以包括但不限于包括步骤S301至步骤S303。
步骤S301,删除缓存中的原始数据,并判断原始数据是否删除成功。
步骤S302,若原始数据删除成功,返回数据删除成功信息。
步骤S303,若原始数据没有删除成功,对原始数据进行删除重试操作,重新尝试删除缓存中的原始数据。
需要说明的是,本发明实施例的数据更新方法,所执行的是删除重试策略(DELETERETRY),在Cache-Aside Pattern缓存模式,存在多种突发情况会导致缓存中的数据删除失败,通过本发明实施例中的缓存删除重试有效处理缓存单次删除失败,给予多次重试机会,有效提高缓存删除的成功率,提升数据库与缓存之间数据的一致性。
具体地,本发明实施例所定义的删除重试策略,在删除缓存中的原始数据,并判断原始数据是否删除成功,若原始数据删除成功,返回数据删除成功信息,所返回的删除成功信息可以返回到系统中,系统即可得知已将缓存中的原始数据删除完毕,若原始数据没有删除成功,对原始数据进行删除重试操作,重新尝试删除缓存中的原始数据,在面对单次删除失败时,本发明实施例能够给予多次重试机会,有效提高缓存删除的成功率,提升数据库与缓存之间数据的一致性。
可以理解的是,在步骤S102和步骤S104所执行的删除缓存中的原始数据的过程中,均可以执行删除重试策略,又或者,在另一实施例中,步骤S102和步骤S104中的一个步骤可以执行删除重试策略,可以在删除缓存中的原始数据时给予多次删除机会,提高了数据删除的成功率,从而进一步提高数据库与缓存之间数据的一致性。
参照图5所示,在一些实施例中,数据更新中的步骤S303之后,可以包括但不限于包括步骤S401至步骤S403。
步骤S401,获取原始数据的删除重试次数,并判断删除重试次数是否超过预设重试次数。
步骤S402,若删除重试次数没有超过预设重试次数,继续执行删除重试操作,重新尝试删除缓存中的原始数据。
步骤S403,若删除重试次数超过预设重试次数,返回数据删除失败信息。
需要说明的是,本发明实施例中的数据更新方法在执行删除重试策略时,为了保证处理的效率和速度,需药设定一个删除重试的次数,避免在反复删除重试后还出现删除失败时,还继续浪费计算资源和时间去进行删除重试策略,这会导致数据更新的速度变慢,影响系统性能,因此本发明实施例需要给删除重试策略设定一个删除重试的次数要求。
具体的,本发明实施例在每次执行删除重试策略的时候,都会计算当前删除重试的次数,系统获取原始数据的删除重试次数,并判断删除重试次数是否超过预设重试次数,预设重试次数是预先设定的一个数值,重试策略可根据系统实际使用情况自定义,根据重试一般解决网络等小概率错误问题的需要而设置,在一具体的实施例中,本发明实施例将删除重试的预设重试次数设定为3次,若删除重试次数没有超过预设重试次数,继续执行删除重试操作,重新尝试删除缓存中的原始数据,即当没有超过3次时,继续执行删除重试,重新尝试删除缓存中的原始数据,而要是删除重试次数超过预设重试次数,即在一实施例中删除重试的次数超过了3次,则说明删除失败,没必要再花费时间和计算资源去进行删除了,此时为了提高数据更新的效率,返回数据删除失败信息。
可以理解的是,所返回的数据删除失败信息被数据更新系统收到后进行存储,数据更新系统接收到该数据删除失败信息,即可以做出对应的解决措施,例如,数据更新系统可以提醒开发者或者用户,发出报警,提示当前缓存中的数据无法删除,提醒工作人员去检查错误,又或者,数据更新系统设置有错误检查机制,通过该错误检查机制去查询导致缓存中原始数据删除失败的原因,能解决的随即解决,或者发出提示,让工作人员去处理,从而起到一个提示和漏洞检查的作用,对此本发明实施例不做具体限制。
参照图6所示,在一些实施例中,数据更新方法中的步骤S102和步骤S104中的删除缓存中的原始数据,可以包括但不限于包括步骤S501至步骤S502。
步骤S501,将数据写入请求写入到预设的信息队列中,并根据数据写入请求生成数据删除指令。
步骤S502,通过信息队列发送数据删除指令到缓存中,以删除缓存中的原始数据。
需要说明的是,目前的Cache-Aside Pattern缓存模式,更新缓存数据库的操作散落在业务系统各个代码模块中,从而导致了系统维护性极差,此外,面对频繁的缓存数据库更新操作,数据更新会占用系统网络带宽,从而影响业务系统性能,最终降低了数据更新的速度,也容易导致数据的不一致性。
基于此,本发明实施例通过异步的方式,将缓存维护统一管理,有效解决系统资源被消耗、缓存难以维护等问题,本发明实施例引入一种新的数据更新系统的架构,如图7所示,所提出的新的系统架构中,数据库发送的消息会被日志解析系统先解析处理,例如数据库发送binlog日志给日志解析系统,在数据更新系统中引入一个信息队列,用来存放信息,包括数据更新的信息等,可以是数据写入请求,从框架角度,目前现有技术将数据库更新和缓存更新都在一个系统当中管理和维护,每个系统都需要有自己独立的缓存维护,在本发明实施例中所提出的数据更新系统的框架,将数据库更新与缓存更新分开在二个不同的系统当中,缓存维护放在一个独立的系统当中,不同的业务系统将维护缓存的动作交给独立的缓存系统来做,而信息队列则属于这个缓存系统,缓存系统能够统一管理所有子系统的缓存信息维护,对所有子系统的缓存数据做统一的更新和监控等操作,有效统一维护数据和发现数据异常,减少各个业务系统维护缓存工作量。
在一实施例中,信息队列推送消息给各个消费组,消费组就包括了维护缓存数据消费组,维护缓存数据消费组用于更新缓存,在本发明实施例中,设计消费组,则是为了考虑扩展,同一个消费组里面有多种消费动作,比如消费数据库更新消息、更新Redis缓存库、更新magodb缓存库等等,本发明实施例不对其做具体限制。本发明实施例中的更新缓存消费组,实际是消费数据库更新消息,然后发出更新缓存的一个动作。
需要说明的是,通过建立的数据更新系统,其中的信息队列及多个消费组可以构成多种子系统,例如,信息队列和维护缓存数据消费组构成了其中的缓存系统,缓存系统可以是一个独立的系统,也可以是作为子系统设置在数据更新系统中,本发明实施例能实现异步删除策略(ASYNC DELETE),系统开发中,引入缓存使得系统在实现时,维护缓存的代码逻辑会散落在各个代码块当中,导致系统的可维护性极差,同时,频繁的更新缓存同时消耗业务系统的系统资源,因此通过异步的方式,将缓存维护统一管理,有效解决系统资源被消耗、缓存难以维护等问题。
具体的,本发明实施例通过执行异步删除策略,将数据写入请求写入到预设的信息队列中,并根据数据写入请求生成数据删除指令,通过信息队列发送数据删除指令到缓存中,以删除缓存中的原始数据,消息队列起到一个代表缓存系统收集信息并集中在消息队列中处理的目的,能够提高系统的可维护性,而不占用系统资源,将缓存维护统一管理。
可以理解的是,在步骤S102和步骤S104所执行的删除缓存中的原始数据的过程中,均可以执行异步删除策略,又或者,在另一实施例中,步骤S102和步骤S104中的一个步骤可以执行异步删除策略,可以在删除缓存中的原始数据时将数据写入请求发送至信息队列中,提高系统的可维护性,而不占用系统资源,将缓存维护统一管理。
参照图8所示,在一些实施例中,数据写入请求有多个,数据更新方法中的步骤S502可以包括但不限于包括步骤S601至步骤S602。
步骤S601,通过信息队列实时发送多个数据删除指令到缓存中。
步骤S602,获取各个数据写入请求写入信息队列的时间信息,并通过时间信息确定多个数据删除指令的执行顺序,根据执行顺序执行多个数据删除指令,以删除缓存中的与各个目标数据对应的原始数据。
需要说明的是,本发明实施例中的数据更新方法在执行异步删除策略时,根据接收到数据库更新操作的消息时间,按依次更新缓存,更新数据库操作一次,即实时发送消息通知缓存系统及时更新缓存。
具体的,数据更新系统通过信息队列实时发送多个数据删除指令到缓存中,随后获取各个数据写入请求写入信息队列的时间信息,并通过各个数据写入请求写入信息队列的时间信息确定多个数据删除指令的执行顺序,以便按时间顺序进行操作,根据执行顺序执行多个数据删除指令,以删除缓存中的与各个目标数据对应的原始数据,可以理解的是,通过根据接收到数据库更新操作的消息时间,依次更新缓存,删除缓存中与各个目标数据对应的各个原始数据,保证了更新缓存的顺序,保证了数据更新的稳定运行,也保证了数据的一致性,在并发场景下,不容易出现数据库和缓存中数据不一致的问题。
参照图9所示,在一些实施例中,数据更新方法中的步骤S501之后,可以包括但不限于包括步骤S701至步骤S702。
步骤S701,根据数据写入请求生成推送信息。
步骤S701,通过信息队列发送推送信息到与信息队列连接的全文检索库中,以更新全文检索库。
需要说明的是,数据更新系统可以兼容和拓展,实现更多的业务功能,本发明实施例中在所构建的新的数据更新系统中,为其中的缓存系统配置了多个消费信息组,可以执行多种拓展功能,例如,在一实施例中,拓展的消费组包括了维护全文检索消费组,用以更新全文检索库。
具体的,本发明实施例通过生成推送消息发送给多各种根据数据写入请求生成推送信息,通过信息队列发送推送信息到与信息队列连接的全文检索库中,以更新全文检索库,在一实施例中,信息队列与全文检索消费组组成全文检索系统,全文数据库是全文检索系统的主要构成部分。
全文数据库是将一个完整的信息源的全部内容转化为计算机可以识别、处理的信息单元而形成的数据集合,全文数据库不仅存储了信息,而且还有对全文数据进行词、字、段落等更深层次的编辑、加工的功能,而且所有全文数据库是一种海量信息数据库。对于全文数据库这种比较非结构化的数据,用关系数据库管理系统技术来管理。但是由于关系数据库管理系统底层结构的缘故使得它管理大量非结构化数据显得有些先天不足,特别是查询这些海量非结构化数据的速度较慢,而通过全文检索技术就能高效地管理这些非结构化数据,本发明实施例中通过在数据更新系统中添加了拓展的消费组,可以维护全文检索消费组,用以更新全文检索库。
在满足本发明实施例要求的前提下,信息队列还可以推送消息给其他消费组,与其他消费组组成其他业务系统,从而实现更多的业务功能,本发明实施例不对其做具体限制。
请参阅图10,本发明实施例还提供一种数据更新系统,可以实现上述实施例中的数据更新方法,数据更新系统包括如下模块:
数据写入请求模块,用于获取用于进行数据库数据更新的数据写入请求和待写入数据库中的目标数据。
缓存删除模块,用于判断缓存中是否存在与目标数据对应的原始数据,若存在,则删除缓存中的原始数据。
数据写入模块,用于根据数据写入请求将目标数据写入数据库中,以替换数据库中存在的原始数据,得到更新后的数据库。
缓存删除模块,还用于更新完数据库后判断缓存中是否还存在对应的原始数据,若存在,则删除缓存中原始数据。
需要说明的是,本发明实施例中的数据更新系统可以执行上述实施例中的数据更新方法,通过执行上述数据更新方法,在进行数据写入时,获取用于进行数据库数据更新的数据写入请求和待写入数据库中的目标数据,数据库中存在与目标数据对应的原始数据,二者分别是即将更新的新版本数据和待更新的旧版本数据,缓存中可能存在原始数据,为了保证数据的一致性,本发明实施例先判断缓存中是否存在原始数据,有的话则删除,根据数据写入请求将目标数据写入数据库中以替代原始数据,为了进一步保证数据的一致性,需要再判断缓存是否还存在原始数据,有的话再将原始数据从缓存中删除,数据更新系统通过执行上述本发明实施例中的数据更新方法,能最大限度删除缓存和数据库中的原始数据,避免出现数据更新后缓存中还存在原始数据的情况,提高缓存与数据库之间数据的一致性。
该数据更新系统的具体实施方式与上述数据更新方法的具体实施例基本相同,在此不再赘述。
需要说明的是,目前的Cache-Aside Pattern缓存模式,更新缓存数据库的操作散落在业务系统各个代码模块中,从而导致了系统维护性极差,此外,面对频繁的缓存数据库更新操作,数据更新会占用系统网络带宽,从而影响业务系统性能,最终降低了数据更新的速度,也容易导致数据的不一致性。
基于此,本发明实施例通过异步的方式,将缓存维护统一管理,有效解决系统资源被消耗、缓存难以维护等问题,本发明实施例引入一种新的数据更新系统的架构,上述图10中的数据更新系统是功能实现的结构示意图,如图7所示,是所提出的新的系统架构图,在新提出的系统结构中,数据库发送的消息会被日志解析系统先解析处理,在数据更新系统中引入一个信息队列,用来存放信息,包括数据更新的信息等,从框架角度,目前现有技术将数据库更新和缓存更新都在一个系统当中管理和维护,每个系统都需要有自己独立的缓存维护,在本发明实施例中所提出的数据更新系统的框架,将数据库更新与缓存更新分开在二个不同的系统当中,缓存维护放在一个独立的系统当中,不同的业务系统将维护缓存的动作交给独立的缓存系统来做,而信息队列则属于这个缓存系统,缓存系统能够统一管理所有子系统的缓存信息维护,对所有子系统的缓存数据做统一的更新和监控等操作,有效统一维护数据和发现数据异常,减少各个业务系统维护缓存工作量。
在一实施例中,信息队列推送消息给各个消费组,消费组就包括了维护缓存数据消费组,维护缓存数据消费组用于更新缓存,在本发明实施例中,设计消费组,则是为了考虑扩展,同一个消费组里面有多种消费动作,比如消费数据库更新消息、更新Redis缓存库、更新magodb缓存库等等,本发明实施例不对其做具体限制。本发明实施例中的更新缓存消费组,实际是消费数据库更新消息,然后发出更新缓存的一个动作。
需要说明的是,通过建立的数据更新系统,其中的信息队列及多个消费组可以构成多种子系统,例如,信息队列和维护缓存数据消费组构成了其中的缓存系统,缓存系统可以是一个独立的系统,也可以是作为子系统设置在数据更新系统中,本发明实施例能实现异步删除策略,系统开发中,引入缓存使得系统在实现时,维护缓存的代码逻辑会散落在各个代码块当中,导致系统的可维护性极差,同时,频繁的更新缓存同时消耗业务系统的系统资源,因此通过异步的方式,将缓存维护统一管理,有效解决系统资源被消耗、缓存难以维护等问题。
本发明实施例还提供了一种电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述数据更新方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图11,图11示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1101,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
存储器1102,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器1102可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1102中,并由处理器1101来调用执行本发明实施例的数据更新方法;
输入/输出接口1103,用于实现信息输入及输出;
通信接口1104,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1105,在设备的各个组件(例如处理器1101、存储器1102、输入/输出接口1103和通信接口1104)之间传输信息;
其中处理器1101、存储器1102、输入/输出接口1103和通信接口1104通过总线1105实现彼此之间在设备内部的通信连接。
本发明实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述数据更新方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例描述的实施例是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,上述数据更新方法的发明实施例中示出的技术方案并不构成对本发明实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本发明实施例的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明实施例中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本发明实施例的优选实施例,并非因此局限本发明实施例的权利范围。本领域技术人员不脱离本发明实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本发明实施例的权利范围之内。
Claims (10)
1.一种数据更新方法,其特征在于,所述方法包括:
获取用于进行数据库数据更新的数据写入请求和待写入所述数据库中的目标数据;
判断缓存中是否存在与所述目标数据对应的原始数据,若存在,则删除所述缓存中的所述原始数据;
根据所述数据写入请求将所述目标数据写入所述数据库中,以替换所述数据库中存在的所述原始数据,得到更新后的数据库;
更新完所述数据库后判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据。
2.根据权利要求1所述的数据更新方法,其特征在于,所述更新完所述数据库后判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据,包括:
获取预设的延迟时间;
在更新完所述数据库并延时达到所述延迟时间后,判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据。
3.根据权利要求1所述的数据更新方法,其特征在于,所述删除所述缓存中的所述原始数据,包括:
删除所述缓存中的所述原始数据,并判断所述原始数据是否删除成功;
若所述原始数据删除成功,返回数据删除成功信息;
若所述原始数据没有删除成功,对所述原始数据进行删除重试操作,重新尝试删除所述缓存中的所述原始数据。
4.根据权利要求3所述的数据更新方法,其特征在于,所述对所述原始数据进行删除重试操作之后,所述方法还包括:
获取所述原始数据的删除重试次数,并判断所述删除重试次数是否超过预设重试次数;
若所述删除重试次数没有超过所述预设重试次数,继续执行删除重试操作,重新尝试删除所述缓存中的所述原始数据;
若所述删除重试次数超过所述预设重试次数,返回数据删除失败信息。
5.根据权利要求1所述的数据更新方法,其特征在于,所述删除所述缓存中的所述原始数据,包括:
将所述数据写入请求写入到预设的信息队列中,并根据所述数据写入请求生成数据删除指令;
通过所述信息队列发送所述数据删除指令到所述缓存中,以删除所述缓存中的所述原始数据。
6.根据权利要求5所述的数据更新方法,其特征在于,所述数据写入请求有多个,所述通过所述信息队列发送所述数据删除指令到所述缓存中,以删除所述缓存中的所述原始数据,包括:
通过所述信息队列实时发送多个所述数据删除指令到所述缓存中;
获取各个所述数据写入请求写入所述信息队列的时间信息,并通过所述时间信息确定多个所述数据删除指令的执行顺序,根据所述执行顺序执行多个所述数据删除指令,以删除所述缓存中的与各个所述目标数据对应的所述原始数据。
7.根据权利要求5所述的数据更新方法,其特征在于,所述将所述数据写入请求写入到预设的信息队列中之后,所述方法还包括:
根据所述数据写入请求生成推送信息;
通过所述信息队列发送推送信息到与所述信息队列连接的全文检索库中,以更新所述全文检索库。
8.一种数据更新系统,其特征在于,所述系统包括:
数据写入请求模块,用于获取用于进行数据库数据更新的数据写入请求和待写入所述数据库中的目标数据;
缓存删除模块,用于判断缓存中是否存在与所述目标数据对应的原始数据,若存在,则删除所述缓存中的所述原始数据;
数据写入模块,用于根据所述数据写入请求将所述目标数据写入所述数据库中,以替换所述数据库中存在的所述原始数据,得到更新后的数据库;
所述缓存删除模块,还用于更新完所述数据库后判断所述缓存中是否还存在对应的所述原始数据,若存在,则删除所述缓存中所述原始数据。
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至7任一项所述的数据更新方法的步骤。
10.一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述的数据更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210582874.7A CN114925078A (zh) | 2022-05-26 | 2022-05-26 | 数据更新方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210582874.7A CN114925078A (zh) | 2022-05-26 | 2022-05-26 | 数据更新方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114925078A true CN114925078A (zh) | 2022-08-19 |
Family
ID=82810551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210582874.7A Pending CN114925078A (zh) | 2022-05-26 | 2022-05-26 | 数据更新方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925078A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117193670A (zh) * | 2023-11-06 | 2023-12-08 | 之江实验室 | 一种清除缓存的方法、装置、存储介质以及电子设备 |
-
2022
- 2022-05-26 CN CN202210582874.7A patent/CN114925078A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117193670A (zh) * | 2023-11-06 | 2023-12-08 | 之江实验室 | 一种清除缓存的方法、装置、存储介质以及电子设备 |
CN117193670B (zh) * | 2023-11-06 | 2024-01-30 | 之江实验室 | 一种清除缓存的方法、装置、存储介质以及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280522B (zh) | 一种插件式分布式机器学习计算框架及其数据处理方法 | |
CN108920698B (zh) | 一种数据同步方法、装置、系统、介质及电子设备 | |
Gunarathne et al. | Scalable parallel computing on clouds using Twister4Azure iterative MapReduce | |
US9635093B2 (en) | Slave side transaction ID buffering for efficient distributed transaction management | |
CN110247984B (zh) | 业务处理方法、装置及存储介质 | |
CN106648994B (zh) | 一种备份操作日志的方法,设备和系统 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN110704000B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US9075722B2 (en) | Clustered and highly-available wide-area write-through file system cache | |
CN111177159A (zh) | 一种数据处理的系统、方法和数据更新设备 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN108363787B (zh) | 一种ifc文件并行存储方法、装置及系统 | |
CN113010479A (zh) | 一种文件管理方法、装置与介质 | |
CN113885780A (zh) | 数据同步方法、装置、电子设备、系统和存储介质 | |
Merceedi et al. | A comprehensive survey for hadoop distributed file system | |
CN114925078A (zh) | 数据更新方法、系统、电子设备及存储介质 | |
CN117056123A (zh) | 数据恢复方法、装置、介质及电子设备 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN115238006A (zh) | 检索数据同步方法、装置、设备及计算机存储介质 | |
CN113472638B (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
CN111694801A (zh) | 一种应用于故障恢复的数据去重方法和装置 | |
CN113760860B (zh) | 一种数据读取方法和装置 | |
US20240078221A1 (en) | Systems and methods of modeling and querying dynamic temporal graph on massive parallel graph processing and storage engine | |
CN110419026B (zh) | 存储器内搜索技术 | |
CN114064667A (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 |