WO2020181810A1 - 应用于集群内多级缓存的数据处理方法和装置 - Google Patents

应用于集群内多级缓存的数据处理方法和装置 Download PDF

Info

Publication number
WO2020181810A1
WO2020181810A1 PCT/CN2019/117410 CN2019117410W WO2020181810A1 WO 2020181810 A1 WO2020181810 A1 WO 2020181810A1 CN 2019117410 W CN2019117410 W CN 2019117410W WO 2020181810 A1 WO2020181810 A1 WO 2020181810A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
cache
local cache
service data
version information
Prior art date
Application number
PCT/CN2019/117410
Other languages
English (en)
French (fr)
Inventor
王冬冬
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2020181810A1 publication Critical patent/WO2020181810A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种应用于集群内多级缓存的数据处理方法和装置。集群包括具有第一本地缓存的第一主机和具有第二本地缓存的第二主机,该方法包括:第一主机无法从第一本地缓存中读取到业务数据时,从网络缓存系统中读取业务数据,无法从网络缓存系统中读取到业务数据时,访问数据库读取业务数据,并在访问数据库读取到业务数据后,将业务数据写入第一本地缓存和网络缓存系统中;网络缓存系统被写入业务数据后,向第二主机发布写操作的消息;第二主机监听到写操作的消息时,将业务数据写入到第二本地缓存。本方法合理实现数据缓存中的多级缓存,能够提升事务处理速度。

Description

应用于集群内多级缓存的数据处理方法和装置
相关申请的交叉引用
本申请申明享有2019年03月13日递交的申请号为CN 201910190657.1、名称为“应用于集群内多级缓存的数据处理方法和装置”的中国专利申请的优先权,该中国专利申请的整体内容以参考的方式结合在本申请中。
技术领域
本申请涉及多级缓存技术领域,尤其涉及一种应用于集群内多级缓存的数据处理方法、装置、计算机设备及存储介质。
背景技术
对于金融系统或生活商场系统等分布式系统,通常包括由多个主机构成的集群,集群中的每个主机作为一个应用节点,会访问相同的数据库。各主机本地设置有本地缓存,发明人意识到主机在事务处理的过程中,首先向本地缓存获取数据,当本地缓存中的数据失效无法正常获取时,再向数据库获取,一般情况下,各主机本地缓存的数据,由于数据时效等原因,经常会出现同时失效的情形,此时,各主机都需要分别向数据库重新获取数据,出现大量数据频繁访问数据库的现象,降低事务的处理速度。
因此,提供一种应用于集群内多级缓存的数据处理方法、装置、计算机设备及存储介质,以合理实现数据缓存中的多级缓存,提升事务处理的速度,是本领域急需解决的技术问题。
发明内容
本申请的目的是提供一种应用于集群内多级缓存的数据处理方法、装置、计算机设备及存储介质,用于解决现有技术存在的上述问题。
为了实现上述目的,本申请提供了一种应用于集群内多级缓存的数据处理 方法。
该应用于集群内多级缓存的数据处理方法中,集群包括第一主机和第二主机,第一主机的本地缓存为第一本地缓存,第二主机的本地缓存为第二本地缓存,数据处理方法应用于第一主机,包括:执行从第一本地缓存中读取所需的业务数据的指令;当无法从第一本地缓存中读取到业务数据时,执行从网络缓存系统中读取业务数据的指令;当无法从网络缓存系统中读取到业务数据时,访问数据库来读取业务数据;在访问数据库读取到业务数据后,将业务数据写入第一本地缓存和网络缓存系统中,其中,网络缓存系统被写入业务数据后,向第二主机发布写操作的消息,第二主机用于监听网络缓存系统发布的消息;当监听到写操作的消息时,将业务数据写入到第二本地缓存。
为了实现上述目的,本申请提供了一种应用于集群内多级缓存的数据处理装置。
集群包括第一主机和第二主机,第一主机的本地缓存为第一本地缓存,第二主机的本地缓存为第二本地缓存,第一主机和第二主机均包括该应用于集群内多级缓存的数据处理装置,数据处理装置包括第一读取模块、第二读取模块、第三读取模块、第一写入模块、监听模块和第二写入模块,其中:第一主机的第一读取模块用于从第一本地缓存中读取所需的业务数据;第一主机的第二读取模块用于当第一读取模块无法从第一本地缓存中读取到业务数据时,从网络缓存系统中读取业务数据;第一主机的第三读取模块用于当第二读取模块无法从网络缓存系统中读取到业务数据时,访问数据库读取业务数据;第一主机的第一写入模块用于在第三读取模块访问数据库读取到业务数据后,将业务数据写入第一本地缓存和网络缓存系统中;第二主机的监听模块用于机监听网络缓存系统发布的消息,其中,网络缓存系统被写入业务数据后,发布写操作的消息;第二主机的第二写入模块用于当监听到写操作的消息时,将业务数据写入到第二本地缓存。
为了实现上述目的,本申请提供了一种计算机设备。
集群包括第一主机和第二主机,第一主机的本地缓存为第一本地缓存,第 二主机的本地缓存为第二本地缓存,该计算机设备为第一主机,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请提供的如下步骤:执行从第一本地缓存中读取所需的业务数据的指令;当无法从第一本地缓存中读取到业务数据时,执行从网络缓存系统中读取业务数据的指令;当无法从网络缓存系统中读取到业务数据时,访问数据库来读取业务数据;在访问数据库读取到业务数据后,将业务数据写入第一本地缓存和网络缓存系统中,其中,网络缓存系统被写入业务数据后,向第二主机发布写操作的消息,第二主机用于监听网络缓存系统发布的消息;当监听到写操作的消息时,将业务数据写入到第二本地缓存。
为了实现上述目的,本申请提供了一种非易失性计算机可读存储介质。
集群包括第一主机和第二主机,第一主机的本地缓存为第一本地缓存,第二主机的本地缓存为第二本地缓存,该非易失性计算机可读存储介质位于第一主机,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:执行从第一本地缓存中读取所需的业务数据的指令;当无法从第一本地缓存中读取到业务数据时,执行从网络缓存系统中读取业务数据的指令;当无法从网络缓存系统中读取到业务数据时,访问数据库来读取业务数据;在访问数据库读取到业务数据后,将业务数据写入第一本地缓存和网络缓存系统中,其中,网络缓存系统被写入业务数据后,向第二主机发布写操作的消息,第二主机用于监听网络缓存系统发布的消息;当监听到写操作的消息时,将业务数据写入到第二本地缓存。
本申请提供的应用于集群内多级缓存的数据处理方法、装置、计算机设备及存储介质,至少实现以下技术效果:能够提升事务操作执行的速度,同时,能够提升集群内主机处理事务操作的速度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并 不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的应用于集群内多级缓存的数据处理方法的流程图;
图2为本申请实施例提供的应用于集群内多级缓存的数据处理装置的框图;
图3为本申请实施例提供的计算机设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的应用于集群内多级缓存的数据处理方法、装置、计算机设备及存储介质,集群包括多个主机,各主机能够执行分布式事务中的操作,在每个主机本地均设置本地缓存,进行业务数据的存储,在事务操作的执行过程中,通过本地缓存获取数据,能够提升操作执行的速度,从而提升整体事务的完成速度,将本地缓存可以看作一级缓存。
同时,设置网络缓存系统作为二级缓存,集群内任意主机均可当本地缓存无法获取到数据时,访问网络缓存系统获取数据,而当通过网络缓存系统也无法获取数据时,再去访问数据库获取数据,并且,在访问数据库之后,更新本地缓存和网络缓存系统。
重要地是,网络缓存系统更新后,对集群内的其他主机发布消息,每个主机均能够监听网络缓存系统上发布的消息,因此,当网络缓存系统发布消息后,主机能够监听到消息,并将网络缓存系统的数据扩散至各自的本地缓存,更新其本地缓存,从而,一个主机从数据库中访问到数据后,可更新至集群内的所 有主机,从而整体上提升集群内主机处理事务操作的速度。
以下将通过具体地实施例进一步描述本申请提供的应用于集群内多级缓存的数据处理方法、装置、计算机设备及存储介质。
图1为本申请实施例提供的应用于集群内多级缓存的数据处理方法的流程图,该实施例提供了一种应用于集群内多级缓存的数据处理方法,其中,集群包括多个主机,该实施例中以集群中的第一主机和第二主机为例进行说明,定义第一主机的本地缓存为第一本地缓存,定义第二主机的本地缓存为第二本地缓存为例,如图1所示,该实施例提供的应用于集群内多级缓存的数据处理方法包括如下的步骤S1至步骤S7。
步骤S1:第一主机执行从第一本地缓存中读取所需的业务数据的指令。
为了提升操作执行的速度,在本地缓存中缓存一些业务数据,因此,在事务操作的执行过程中,第一主机需要的业务数据首先从第一本地缓存中获取,但是,本地缓存的数据具有一定的时效性,当本地缓存的数据失效时,第一主机无法从第一本地缓存中读取到业务数据。
当第一主机无法从第一本地缓存中读取到业务数据时,执行下述步骤S2,当第一主机能够从第一本地缓存中读取到业务数据时,利用读取到的业务数据执行事务操作。
步骤S2:第一主机执行从网络缓存系统中读取业务数据的指令。
本地缓存作为一级缓存,网络缓存系统作为二级缓存,当在一级缓存中读取不到业务数据时,通过二级缓存进行读取。
当第一主机无法从网络缓存系统中读取到业务数据时,执行下述步骤S3,当第一主机能够从网络缓存系统中读取到业务数据时,利用读取到的业务数据执行事务操作,同时,将读取到的业务数据存储在第一本地缓存中。
其中,网络缓存系统可采用Redis存储系统,本地缓存可采用高速缓冲存储器。
Redis存储系统向各个主机提供访问Redis存储系统的接口,该步骤S2具 体包括:第一主机调用该访问Redis存储系统的接口,从Redis存储系统中读取业务数据。
步骤S3:第一主机访问数据库来读取业务数据。
当在二级缓存中也读取不到业务数据时,需要访问数据库,此时,第一主机通过访问数据库,利用从数据库中读取到的业务数据执行事务操作。此外,在第一主机访问数据库读取到业务数据后,继续执行下述步骤S4。
步骤S4:第一主机将业务数据写入第一本地缓存和网络缓存系统中。
第一主机除了利用从数据库中读取到的业务数据执行事务操作之外,还将读取到的业务数据写入第一本地缓存和网络缓存系统中,从而在下次进行数据读取时,能够从第一本地缓存中读取到业务数据,在第一本地缓存中的业务数据失效时,能够从网络缓存系统中读取到业务数据。
步骤S5:网络缓存系统被写入业务数据后,向第二主机发布写操作的消息。
对于网络缓存系统,当网络缓存系统被写入业务数据后,向集群中的主机发布写操作的消息,可选地,网络缓存系统可通过广播的方式,向集群中的所有主机发布写操作的消息;或者,可选地,网络缓存系统可向集群中除第一主机(向网络缓存系统写入业务数据的主机)之外的其他主机发布写操作的消息,在该实施例中,集群中除第一主机之外的主机包括第二主机。
步骤S6:第二主机监听网络缓存系统发布的消息。
每个主机均具有监听网络缓存系统发布消息的功能,因而,网络缓存系统向第二主机发布写操作的消息后,第二主机能够监听到该消息,并且,当第二主机监听到写操作的消息时,执行下述步骤S7。
步骤S7:第二主机将业务数据写入到第二本地缓存。
采用本申请提供的应用于集群内多级缓存的数据处理方法,主机在进行事务操作时,按照本地缓存、网络缓存系统和数据库的先后优先级获取业务数据,能够提升事务操作执行的速度;同时,一个主机从数据库获取到业务数据后, 更新自身本地缓存的数据,以增加自身下一次通过本地缓存获取到业务数据的几率,并且,更新网络缓存系统的数据,通过网络缓存系统,将业务数据扩散到集群内其他主机的本地缓存中,增加其他主机通过本地缓存获取到业务数据的几率,从而整体上提升集群内主机处理事务操作的速度。
在一种实施例中,应用于集群内多级缓存的数据处理方法还包括如下的步骤:第一主机修改第一本地缓存和数据库中业务数据的值,第一主机将数据库中修改后的业务数据同步至网络缓存系统中。
具体地,第一主机在执行事务操作的过程中,需要修改业务数据的值,例如发生一次购买,需要修改库存数据库中剩余库存的值,此时,在修改数据库中业务数据的值的同时,也修改第一本地缓存中业务数据的值,能够使第一本地缓存中业务数据的值保持最新的状态,在后续事务操作中,通过第一本地缓存获取到的业务数据的值为最新值;并且,第一主机将数据库中修改后的业务数据同步至网络缓存系统中,使得网络缓存系统中业务数据的值保持最新的状态,在后续事务操作中,无论第一主机还是第二主机,均能够通过网络缓存系统获取到的业务数据的值为最新值。
在一种实施例中,第一主机修改第一本地缓存中业务数据的值的步骤包括:第一主机获取第一本地缓存中业务数据的版本信息,得到第一版本信息;第一主机获取网络缓存系统中业务数据的版本信息,得到第二版本信息;第一主机判断第一版本信息与第二版本信息是否相同;当第一版本信息与第二版本信息相同时,第一主机修改第一本地缓存中业务数据的值;当第一版本信息与第二版本信息不同时,第一主机先将网络缓存系统中的业务数据同步至第一本地缓存,然后再修改第一本地缓存中业务数据的值。
采用该实施例提供的应用于集群内多级缓存的数据处理方法,当第二主机对数据库中的业务数据值进行修改,并且将数据库中修改后的业务数据同步至网络缓存系统中以后,第一主机从第一本地缓存中获取到的业务数据的值可能已经滞后当前值,为了避免第一主机修改第一本地缓存中业务数据时的原值滞 后当前值,设置数据的版本信息进行管理,也即,第一主机修改第一本地缓存中业务数据的值时,首先对第一本地缓存中业务数据的版本信息和网络缓存系统中的业务数据的版本信息进行比对,如果不一致,说明网络缓存系统中的业务数据可能已经被其他主机修改,而第一主机的第一本地缓存中业务数据的值已经不是修改后的当前值,因此,现将网络缓存系统中的业务数据同步至第一本地缓存,保证第一本地缓存的值是当前值,然后再对第一本地缓存中的业务数据的值进行修改。例如在抢购过程中,每个主机上发生一次购买,均会修改库存数据库中剩余库存的值,并将剩余库存的值同步到网络缓存系统,而各主机在修改本地缓存的值,需要先通过剩余库存版本信息保证本地缓存的剩余库存的值是剩余库存的当前值。
以上为本申请提供的应用于集群内多级缓存的数据处理方法,本申请还提供了一种应用于集群内多级缓存的数据处理装置。需要说明的是,本申请提供的应用于集群内多级缓存的数据处理装置与上述应用于集群内多级缓存的数据处理方法相对应,相关之处可相互参考。
图2为本申请实施例提供的应用于集群内多级缓存的数据处理装置的框图,如图2所示,该实施例提供了一种应用于集群内多级缓存的数据处理装置,其中,集群包括若干主机,各个主机中均包括该数据处理装置,该实施例中以集群包括第一主机和第二主机为例进行说明,其中,第一主机的本地缓存为第一本地缓存,第二主机的本地缓存为第二本地缓存,第一主机和第二主机均包括数据处理装置,如图2所示,该数据处理装置包括第一读取模块10、第二读取模块20、第三读取模块30、第一写入模块40、监听模块50和第二写入模块60,其中:
第一主机的第一读取模块10用于从第一本地缓存中读取所需的业务数据;第一主机的第二读取模块20用于当第一读取模块10无法从第一本地缓存中读取到业务数据时,从网络缓存系统中读取业务数据;第一主机的第三读取模块30用于当第二读取模块20无法从网络缓存系统中读取到业务数据时,访问数 据库读取业务数据;第一主机的第一写入模块40用于在第三读取模块30访问数据库读取到业务数据后,将业务数据写入第一本地缓存和网络缓存系统中;第二主机的监听模块50用于机监听网络缓存系统发布的消息,其中,网络缓存系统被写入业务数据后,发布写操作的消息;第二主机的第二写入模块60用于当监听到写操作的消息时,将业务数据写入到第二本地缓存。
同时,第二主机的第一读取模块10用于从第二本地缓存中读取所需的业务数据;第二主机的第二读取模块20用于当第一读取模块10无法从第二本地缓存中读取到业务数据时,从网络缓存系统中读取业务数据;第二主机的第三读取模块30用于当第二读取模块20无法从网络缓存系统中读取到业务数据时,访问数据库读取业务数据;第二主机的第一写入模块40用于在第三读取模块30访问数据库读取到业务数据后,将业务数据写入第二本地缓存和网络缓存系统中;第一主机的监听模块50用于机监听网络缓存系统发布的消息,其中,网络缓存系统被写入业务数据后,发布写操作的消息;第一主机的第二写入模块60用于当监听到写操作的消息时,将业务数据写入到第一本地缓存。
可选地,数据处理装置还包括修改模块和同步模块,其中,第一主机的修改模块用于修改第一本地缓存和数据库中业务数据的值;第一主机的同步模块用于将数据库中修改后的业务数据同步至网络缓存系统中。第二主机的修改模块用于修改第二本地缓存和数据库中业务数据的值;第二主机的同步模块用于将数据库中修改后的业务数据同步至网络缓存系统中。
可选地,修改模块包括:第一获取单元、第二获取单元、判断单元、第一修改单元和第二修改单元,其中,第一主机的获取单元用于获取第一本地缓存中业务数据的版本信息,得到第一版本信息;第一主机的第二获取单元用于获取网络缓存系统中业务数据的版本信息,得到第二版本信息;第一主机的判断单元用于判断第一版本信息与第二版本信息是否相同;第一主机的第一修改单元用于当第一版本信息与第二版本信息相同时,修改第一本地缓存中业务数据的值;第一主机的第二修改单元用于当第一版本信息与第二版本信息不同时, 先将网络缓存系统中的业务数据同步至第一本地缓存,然后再修改第一本地缓存中业务数据的值。同时,第二主机的获取单元用于获取第二本地缓存中业务数据的版本信息,得到第一版本信息;第二主机的第二获取单元用于获取网络缓存系统中业务数据的版本信息,得到第二版本信息;第二主机的判断单元用于判断第一版本信息与第二版本信息是否相同;第二主机的第一修改单元用于当第一版本信息与第二版本信息相同时,修改第二本地缓存中业务数据的值;第二主机的第二修改单元用于当第一版本信息与第二版本信息不同时,先将网络缓存系统中的业务数据同步至第二本地缓存,然后再修改第二本地缓存中业务数据的值。
可选地,网络缓存系统为Redis存储系统,本地缓存为高速缓冲存储器。
可选地,第二读取模块20在从网络缓存系统中读取业务数据时,调用访问Redis存储系统的接口,从Redis存储系统中读取业务数据。
本申请实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备02至少包括但不限于:可通过系统总线相互通信连接的存储器021、处理器022,如图3所示。需要指出的是,图3仅示出了具有组件021-022的计算机设备02,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器021(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器021可以是计算机设备02的内部存储单元,例如该计算机设备02的硬盘或内存。在另一些实施例中,存储器021也可以是计算机设备02的外部存储设备,例如该计算机设备02上配备的插接式硬盘,智能存 储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备02的内部存储单元也包括其外部存储设备。本实施例中,存储器021通常用于存储安装于计算机设备02的操作系统和各类应用软件,例如上述实施例的应用于集群内多级缓存的数据处理装置的程序代码等。此外,存储器021还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器022在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器022通常用于控制计算机设备02的总体操作。本实施例中,处理器022用于运行存储器021中存储的程序代码或者处理数据,例如运行应用于集群内多级缓存的数据处理装置等。
本申请实施例还提供一种非易失性计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的非易失性计算机可读存储介质用于存储应用于集群内多级缓存的数据处理装置,被处理器执行时实现上述实施例的应用于集群内多级缓存的数据处理方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种应用于集群内多级缓存的数据处理方法,其中,所述集群包括第一主机和第二主机,所述第一主机的本地缓存为第一本地缓存,所述第二主机的本地缓存为第二本地缓存,所述数据处理方法应用于所述第一主机,包括:
    执行从所述第一本地缓存中读取所需的业务数据的指令;
    当无法从所述第一本地缓存中读取到所述业务数据时,执行从网络缓存系统中读取所述业务数据的指令;
    当无法从所述网络缓存系统中读取到所述业务数据时,访问数据库来读取所述业务数据;
    在访问所述数据库读取到所述业务数据后,将所述业务数据写入所述第一本地缓存和所述网络缓存系统中,其中,所述网络缓存系统被写入所述业务数据后,向所述第二主机发布写操作的消息,所述第二主机用于监听所述网络缓存系统发布的消息,当监听到所述写操作的消息时,将所述业务数据写入到所述第二本地缓存。
  2. 根据权利要求1所述的应用于集群内多级缓存的数据处理方法,其中,所述数据处理方法还包括:
    修改所述第一本地缓存和所述数据库中所述业务数据的值;
    将所述数据库中修改后的所述业务数据同步至所述网络缓存系统中。
  3. 根据权利要求2所述的应用于集群内多级缓存的数据处理方法,其中,修改所述第一本地缓存中所述业务数据的值的步骤包括:
    获取所述第一本地缓存中所述业务数据的版本信息,得到第一版本信息;
    获取所述网络缓存系统中所述业务数据的版本信息,得到第二版本信息;
    判断所述第一版本信息与所述第二版本信息是否相同;
    当所述第一版本信息与所述第二版本信息相同时,修改所述第一本地缓存 中所述业务数据的值;
    当所述第一版本信息与所述第二版本信息不同时,将所述网络缓存系统中的所述业务数据同步至所述第一本地缓存,然后再修改所述第一本地缓存中所述业务数据的值。
  4. 根据权利要求1所述的应用于集群内多级缓存的数据处理方法,其中,所述网络缓存系统为Redis存储系统,所述本地缓存为高速缓冲存储器。
  5. 根据权利要求4所述的应用于集群内多级缓存的数据处理方法,其中,执行从网络缓存系统中读取所述业务数据的指令的步骤包括:
    调用访问所述Redis存储系统的接口,从所述Redis存储系统中读取所述业务数据。
  6. 一种应用于集群内多级缓存的数据处理装置,其中,所述集群包括第一主机和第二主机,所述第一主机的本地缓存为第一本地缓存,所述第二主机的本地缓存为第二本地缓存,所述第一主机和所述第二主机均包括所述数据处理装置,所述数据处理装置包括第一读取模块、第二读取模块、第三读取模块、第一写入模块、监听模块和第二写入模块,其中:
    所述第一主机的第一读取模块用于从所述第一本地缓存中读取所需的业务数据;
    所述第一主机的第二读取模块用于当所述第一读取模块无法从所述第一本地缓存中读取到所述业务数据时,从网络缓存系统中读取所述业务数据;
    所述第一主机的第三读取模块用于当所述第二读取模块无法从所述网络缓存系统中读取到所述业务数据时,访问数据库读取所述业务数据;
    所述第一主机的第一写入模块用于在所述第三读取模块访问所述数据库读取到所述业务数据后,将所述业务数据写入所述第一本地缓存和所述网络缓存系统中;
    所述第二主机的监听模块用于机监听所述网络缓存系统发布的消息,其中,所述网络缓存系统被写入所述业务数据后,发布写操作的消息;
    所述第二主机的第二写入模块用于当监听到所述写操作的消息时,将所述业务数据写入到所述第二本地缓存。
  7. 根据权利要求6所述的应用于集群内多级缓存的数据处理装置,其中,所述数据处理装置还包括:修改模块和同步模块,其中:
    所述第一主机的修改模块用于修改所述第一本地缓存和所述数据库中所述业务数据的值;
    所述第一主机的同步模块用于将所述数据库中修改后的所述业务数据同步至所述网络缓存系统中。
  8. 根据权利要求7所述的应用于集群内多级缓存的数据处理装置,其中,
    所述修改模块包括:第一获取单元、第二获取单元、判断单元、第一修改单元和第二修改单元,其中:
    所述第一主机的获取单元用于获取所述第一本地缓存中所述业务数据的版本信息,得到第一版本信息;
    所述第一主机的第二获取单元用于获取所述网络缓存系统中所述业务数据的版本信息,得到第二版本信息;
    所述第一主机的判断单元用于判断所述第一版本信息与所述第二版本信息是否相同;
    所述第一主机的第一修改单元用于当所述第一版本信息与所述第二版本信息相同时,修改所述第一本地缓存中所述业务数据的值;
    所述第一主机的第二修改单元用于当所述第一版本信息与所述第二版本信息不同时,先将所述网络缓存系统中的所述业务数据同步至所述第一本地缓存,然后再修改所述第一本地缓存中所述业务数据的值。
  9. 根据权利要求6所述的应用于集群内多级缓存的数据处理装置,其中,所述网络缓存系统为Redis存储系统,所述本地缓存为高速缓冲存储器。
  10. 根据权利要求9所述的应用于集群内多级缓存的数据处理装置,其中,所述第二读取模块从网络缓存系统中读取所述业务数据时,具体执行的步骤包括:调用访问所述Redis存储系统的接口,从所述Redis存储系统中读取所述业务数据。
  11. 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,集群包括第一主机和第二主机,所述第一主机的本地缓存为第一本地缓存,所述第二主机的本地缓存为第二本地缓存,所述计算机设备为所述第一主机,所述处理器执行程序时实现如下步骤:
    执行从所述第一本地缓存中读取所需的业务数据的指令;
    当无法从所述第一本地缓存中读取到所述业务数据时,执行从网络缓存系统中读取所述业务数据的指令;
    当无法从所述网络缓存系统中读取到所述业务数据时,访问数据库来读取所述业务数据;
    在访问所述数据库读取到所述业务数据后,将所述业务数据写入所述第一本地缓存和所述网络缓存系统中,其中,所述网络缓存系统被写入所述业务数据后,向所述第二主机发布写操作的消息,所述第二主机用于监听所述网络缓存系统发布的消息,当监听到所述写操作的消息时,将所述业务数据写入到所述第二本地缓存。
  12. 根据权利要求11所述的计算机设备,其中,所述处理器执行程序时还实现如下步骤:
    修改所述第一本地缓存和所述数据库中所述业务数据的值;
    将所述数据库中修改后的所述业务数据同步至所述网络缓存系统中。
  13. 根据权利要求12所述的计算机设备,其中,修改所述第一本地缓存中所述业务数据的值的步骤包括:
    获取所述第一本地缓存中所述业务数据的版本信息,得到第一版本信息;
    获取所述网络缓存系统中所述业务数据的版本信息,得到第二版本信息;
    判断所述第一版本信息与所述第二版本信息是否相同;
    当所述第一版本信息与所述第二版本信息相同时,修改所述第一本地缓存中所述业务数据的值;
    当所述第一版本信息与所述第二版本信息不同时,将所述网络缓存系统中的所述业务数据同步至所述第一本地缓存,然后再修改所述第一本地缓存中所述业务数据的值。
  14. 根据权利要求11所述的计算机设备,其中,所述网络缓存系统为Redis存储系统,所述本地缓存为高速缓冲存储器。
  15. 根据权利要求14所述的计算机设备,其中,执行从网络缓存系统中读取所述业务数据的指令的步骤包括:
    调用访问所述Redis存储系统的接口,从所述Redis存储系统中读取所述业务数据。
  16. 一种非易失性计算机可读存储介质,其上存储有计算机程序,其中,集群包括第一主机和第二主机,所述第一主机的本地缓存为第一本地缓存,所述第二主机的本地缓存为第二本地缓存,所述非易失性计算机可读存储介质位于所述第一主机,所述程序被处理器执行时实现如下步骤:
    执行从所述第一本地缓存中读取所需的业务数据的指令;
    当无法从所述第一本地缓存中读取到所述业务数据时,执行从网络缓存系统中读取所述业务数据的指令;
    当无法从所述网络缓存系统中读取到所述业务数据时,访问数据库来读取 所述业务数据;
    在访问所述数据库读取到所述业务数据后,将所述业务数据写入所述第一本地缓存和所述网络缓存系统中,其中,所述网络缓存系统被写入所述业务数据后,向所述第二主机发布写操作的消息,所述第二主机用于监听所述网络缓存系统发布的消息,当监听到所述写操作的消息时,将所述业务数据写入到所述第二本地缓存。
  17. 根据权利要求16所述的非易失性计算机可读存储介质,其中,所述程序被处理器执行时还实现如下步骤:
    修改所述第一本地缓存和所述数据库中所述业务数据的值;
    将所述数据库中修改后的所述业务数据同步至所述网络缓存系统中。
  18. 根据权利要求17所述的非易失性计算机可读存储介质,其中,修改所述第一本地缓存中所述业务数据的值的步骤包括:
    获取所述第一本地缓存中所述业务数据的版本信息,得到第一版本信息;
    获取所述网络缓存系统中所述业务数据的版本信息,得到第二版本信息;
    判断所述第一版本信息与所述第二版本信息是否相同;
    当所述第一版本信息与所述第二版本信息相同时,修改所述第一本地缓存中所述业务数据的值;
    当所述第一版本信息与所述第二版本信息不同时,将所述网络缓存系统中的所述业务数据同步至所述第一本地缓存,然后再修改所述第一本地缓存中所述业务数据的值。
  19. 根据权利要求16所述的非易失性计算机可读存储介质,其中,所述网络缓存系统为Redis存储系统,所述本地缓存为高速缓冲存储器。
  20. 根据权利要求19所述的非易失性计算机可读存储介质,其中,执行 从网络缓存系统中读取所述业务数据的指令的步骤包括:
    调用访问所述Redis存储系统的接口,从所述Redis存储系统中读取所述业务数据。
PCT/CN2019/117410 2019-03-13 2019-11-12 应用于集群内多级缓存的数据处理方法和装置 WO2020181810A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910190657.1 2019-03-13
CN201910190657.1A CN110046029A (zh) 2019-03-13 2019-03-13 应用于集群内多级缓存的数据处理方法和装置

Publications (1)

Publication Number Publication Date
WO2020181810A1 true WO2020181810A1 (zh) 2020-09-17

Family

ID=67273726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/117410 WO2020181810A1 (zh) 2019-03-13 2019-11-12 应用于集群内多级缓存的数据处理方法和装置

Country Status (2)

Country Link
CN (1) CN110046029A (zh)
WO (1) WO2020181810A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046029A (zh) * 2019-03-13 2019-07-23 平安科技(深圳)有限公司 应用于集群内多级缓存的数据处理方法和装置
CN112445859A (zh) * 2019-08-30 2021-03-05 北京数聚鑫云信息技术有限公司 数据管理方法、装置和系统
CN110765165B (zh) * 2019-10-23 2022-07-29 中国银行股份有限公司 一种跨系统数据同步处理的方法、装置及系统
CN111782352A (zh) * 2019-11-29 2020-10-16 北京沃东天骏信息技术有限公司 一种业务调度方法和装置
CN111143382B (zh) * 2019-12-13 2022-08-09 新华三大数据技术有限公司 数据处理方法、系统和计算机可读存储介质
CN111708288B (zh) * 2020-05-18 2021-11-26 慧灵科技(深圳)有限公司 数据处理的方法、装置、电子设备及存储介质
CN111966283A (zh) * 2020-07-06 2020-11-20 云知声智能科技股份有限公司 一种基于企业级超算场景的客户端多级缓存方法及系统
CN112632092A (zh) * 2020-12-18 2021-04-09 北京浪潮数据技术有限公司 一种集群管理方法、装置、设备及存储介质
CN113360425A (zh) * 2021-06-28 2021-09-07 深圳市高德信通信股份有限公司 一种分布式多级缓存系统
CN115190125A (zh) * 2022-06-27 2022-10-14 京东科技控股股份有限公司 一种缓存集群的监控方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160006637A1 (en) * 2011-08-30 2016-01-07 International Business Machines Corporation Fast snapshots
CN107463511A (zh) * 2017-01-23 2017-12-12 北京思特奇信息技术股份有限公司 一种基于多级缓存的数据国际化实现方法及装置
CN109388656A (zh) * 2018-09-04 2019-02-26 中国建设银行股份有限公司 基于多级缓存的数据处理方法及系统、装置和存储介质
CN110046029A (zh) * 2019-03-13 2019-07-23 平安科技(深圳)有限公司 应用于集群内多级缓存的数据处理方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231395A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据存储方法、装置和系统
CN106790629A (zh) * 2017-01-03 2017-05-31 努比亚技术有限公司 数据同步装置及其实现数据同步的方法、客户端访问系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160006637A1 (en) * 2011-08-30 2016-01-07 International Business Machines Corporation Fast snapshots
CN107463511A (zh) * 2017-01-23 2017-12-12 北京思特奇信息技术股份有限公司 一种基于多级缓存的数据国际化实现方法及装置
CN109388656A (zh) * 2018-09-04 2019-02-26 中国建设银行股份有限公司 基于多级缓存的数据处理方法及系统、装置和存储介质
CN110046029A (zh) * 2019-03-13 2019-07-23 平安科技(深圳)有限公司 应用于集群内多级缓存的数据处理方法和装置

Also Published As

Publication number Publication date
CN110046029A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
WO2020181810A1 (zh) 应用于集群内多级缓存的数据处理方法和装置
WO2019179026A1 (zh) 电子装置、集群访问域名自动生成方法及存储介质
US20110060724A1 (en) Distributed database recovery
US9858160B2 (en) Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
US20040111422A1 (en) Concurrency classes for shared file systems
WO2015051690A1 (zh) 一种基于zookeeper的信息配置方法及装置
US10031948B1 (en) Idempotence service
US11115804B2 (en) Subscription to dependencies in smart contracts
CN106789249B (zh) 热更新方法、客户端及服务器
WO2022048358A1 (zh) 数据处理方法、装置及存储介质
US9928174B1 (en) Consistent caching
CN112416972A (zh) 实时数据流处理方法、装置、设备、及可读存储介质
US10599629B2 (en) Reduced locking in a distributed data store
US7577752B2 (en) Reliable page flow control
US11816163B2 (en) Systems and methods for improved transactional mainframes
US8341368B2 (en) Automatic reallocation of structured external storage structures
US9218386B2 (en) Dual locking mechanism for a domain
US11132351B2 (en) Executing transactions based on success or failure of the transactions
CN109445966B (zh) 事件处理方法、装置、介质和计算设备
CN108062224B (zh) 基于文件句柄的数据读写方法、装置及计算设备
CN111753141A (zh) 一种数据管理方法及相关设备
CN112650814B (zh) 基于消息中间件的数据存储方法、装置、设备及存储介质
CN112860746B (zh) 一种基于缓存削减的方法、设备及系统
US11657034B2 (en) Data consistency in master data integration
CN115080584A (zh) 数据持久化方法、装置、设备和介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19919107

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19919107

Country of ref document: EP

Kind code of ref document: A1