CN108600320A - 一种数据缓存方法、装置及系统 - Google Patents

一种数据缓存方法、装置及系统 Download PDF

Info

Publication number
CN108600320A
CN108600320A CN201810247066.9A CN201810247066A CN108600320A CN 108600320 A CN108600320 A CN 108600320A CN 201810247066 A CN201810247066 A CN 201810247066A CN 108600320 A CN108600320 A CN 108600320A
Authority
CN
China
Prior art keywords
data
cache
cache node
buffer storage
update
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
CN201810247066.9A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810247066.9A priority Critical patent/CN108600320A/zh
Publication of CN108600320A publication Critical patent/CN108600320A/zh
Priority to TW108100825A priority patent/TWI694342B/zh
Priority to PCT/CN2019/072935 priority patent/WO2019179235A1/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供了一种数据缓存方法、装置及系统,该方法包括:获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的;根据获取的汇路信息,依次控制数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块。本申请实施例中,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。

Description

一种数据缓存方法、装置及系统
技术领域
本申请涉及计算机领域,尤其涉及一种数据缓存方法、装置及系统。
背景技术
目前,随着互联网和计算机技术的快速发展,越来越多的网络服务商致力于通过互联网为公众提供便利的社会或企业服务,提供网络服务的实现基础是网络服务平台和数据资源。其中,网络服务平台为用户提供互联网入口,用于实现用户的交互访问,通过该互联网入口对来自于客户端的业务请求进行处理,并返回处理结果。在对业务请求进行处理的过程中,需要加载相应的业务处理数据,针对需要响应业务请求的业务服务器而言,如果每次接收到业务请求后再从数据服务器中获取所需的业务处理数据,这样不仅增加了数据服务器的负载,还存在比较耗时的问题,因此,往往会在业务服务器中利用缓存模块缓存业务处理数据。
当前,一旦互联网服务新增业务或功能时,需要对数据服务器中相应的业务处理数据进行更新修改,同时也需要对业务服务器中的缓存模块存储的业务处理数据进行缓存更新,其中,相关技术中提供了一种数据缓存方法,主要是:需要人工动态的触发各业务服务器中的相关缓存模块进行缓存更新,即人工逐个触发所有业务服务器中各缓存模块中的业务处理数据进行加载并更新,每个缓存模块的数据更新均需要人工参与。
由此可知,在对各缓存模块进行业务处理数据更新时,需要人工参与控制缓存模块的数据更新,存在数据缓存更新效率低、人工成本高的问题,并且人工操作数据缓存容易出现缓存更新遗漏、缓存更新不及时的现象。
发明内容
本申请实施例的目的是提供一种数据缓存方法、装置及系统,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供了一种数据缓存方法,应用于中心服务器,该方法包括:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
本申请实施例提供了一种数据缓存方法,应用于业务服务器,该方法包括:
获取与所述业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
本申请实施例提供了一种数据缓存装置,设置于中心服务器侧,包括:
汇路信息获取模块,用于获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
数据缓存控制模块,用于根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
本申请实施例提供了一种数据缓存装置,设置于业务服务器侧,包括:
控制信息获取模块,用于获取与所述业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
缓存更新判断模块,用于根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
缓存数据更新模块,用于若判断结果为是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
本申请实施例提供了一种数据缓存系统,包括:中心服务器、数据服务器和多个业务服务器;
其中,所述中心服务器包括:汇路信息获取模块和数据缓存控制模块;
所述汇路信息获取模块,用于获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
所述数据缓存控制模块,用于根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块;
所述业务服务器包括:控制信息获取模块、缓存更新判断模块和缓存数据更新模块;
所述控制信息获取模块,用于获取与所述业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
所述缓存更新判断模块,用于根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
所述缓存数据更新模块,用于若判断结果为是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
本申请实施例提供了一种数据缓存设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
本申请实施例提供了一种数据缓存设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取与业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
获取与业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
本申请实施例中的数据缓存方法、装置及系统,获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的;根据获取的汇路信息,依次控制数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块。本申请实施例中,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据缓存系统的结构示意图;
图2为本申请一实施例提供的数据缓存方法的第一种流程示意图;
图3为本申请一实施例提供的数据缓存方法的第二种流程示意图;
图4为本申请一实施例提供的数据缓存方法中资源转移的汇路模型示意图;
图5为本申请一实施例提供的数据缓存方法中缓存节点之间依赖关系确定示意图;
图6为本申请一实施例提供的数据缓存方法的第三种流程示意图;
图7为本申请另一实施例提供的数据缓存方法的第一种流程示意图;
图8为本申请另一实施例提供的数据缓存方法的第二种流程示意图;
图9a为本申请另一实施例提供的数据缓存方法中业务服务器首次加载缓存数据的示意图;
图9b为本申请另一实施例提供的数据缓存方法中业务服务器更新加载缓存数据的示意图;
图10为本申请实施例提供的设置于中心服务器侧的数据缓存装置的第一种模块组成示意图;
图11为本申请实施例提供的设置于中心服务器侧的数据缓存装置的第二种模块组成示意图;
图12为本申请实施例提供的设置于业务服务器侧的数据缓存装置的模块组成示意图;
图13为本申请实施例提供的数据缓存设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种数据缓存方法、装置及系统,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
图1为本申请实施例提供的数据缓存系统的结构示意图,如图1所示,该系统包括:中心服务器、数据服务器和多个业务服务器,其中,中心服务器和数据服务器可以是同一个服务器,也可以是不同的服务器,每个业务服务器中包含多个用于缓存业务处理数据的缓存模块,每个缓存模块中缓存的业务处理数据可以相同,也可以不同,根据业务服务器需要处理的业务请求确定其缓存的数据类型,业务服务器接收到业务请求后,使用相应的缓存模块中的业务处理数据响应该业务请求,其中,当数据服务器中的业务处理数据存在变更时,需要由中心服务器触发对应的业务服务器中存储该业务处理数据的缓存模块进行数据更新。
其中,针对任一业务处理事件,由于在响应该业务处理事件的过程中,需要参与的多个缓存模块之间具有前后相关性和依赖性,因此,结合各缓存模块之间的依赖关系可以形成多个数据缓存汇路,以数据缓存汇路为基本单元,对缓存模块中的业务处理数据进行更新。具体的,中心服务器获取到数据缓存汇路的标识后,基于该数据缓存汇路的汇路信息,依次控制该数据缓存汇路中的缓存节点进行业务处理数据更新,能够自动完成对各数据缓存汇路上的所有缓存节点进行数据缓存更新,从而实现快速更新业务服务器中各缓存模块缓存的业务处理数据。
图2为本申请一实施例提供的数据缓存方法的第一种流程示意图,图2中的方法能够由图1中的中心服务器执行,如图2所示,该方法至少包括以下步骤:
S201,获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的,每个数据缓存汇路包括多个缓存节点,具体的,中心服务器接收到数据缓存汇路的标识后,获取与该标识对应的数据缓存汇路的汇路信息,该数据缓存汇路的标识可以是人为触发操作向中心服务器发送的,也可以是基于预先创建的配置请求向中心服务器发送的。
S202,根据获取的数据缓存汇路的汇路信息,依次控制该数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块,具体的,按照预设顺序依次触发数据缓存汇路中的各缓存节点对应的缓存模块进行缓存数据更新,在缓存模块中的业务处理数据更新后,业务服务器接收到业务请求时,使用更新后的业务处理数据响应该业务请求。
本申请实施例中,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
其中,上述数据缓存汇路及其汇路信息是预先确定的,具体的,如图3所示,在S201获取数据缓存汇路的汇路信息之前,还包括:
S203,根据业务请求处理信息,确定各缓存节点之间的依赖关系,其中,业务请求处理信息包括:业务处理事件对应的多个业务请求、以及每个业务请求与响应该业务请求的缓存节点之间的对应关系;
S204,根据确定出的各缓存节点之间的依赖关系,确定至少一条数据缓存汇路以及该数据缓存汇路的汇路信息。
其中,针对一个业务处理事件,该业务处理事件涉及多个相互关联的业务请求,对于每个业务请求而言,由目标业务服务器使用相应的缓存模块中的业务处理数据响应该业务请求,因此,在响应该业务处理事件过程中,需要依次使用多个缓存模块中的业务处理数据参与完成,涉及到的多个缓存模块之间存在一定的关联性和先后执行顺序。
考虑到对缓存模块中的业务处理数据进行更新恰恰是为了响应接收到的业务处理事件相关的多个业务请求,每个业务处理事件与数据缓存汇路之间具有一定对应关系,因此,在接收到业务处理事件相关的多个业务请求之前,将与该业务处理事件相关的数据缓存汇路进行数据更新完成即可。
例如,以购买事件为例,确定与该购买事件相关的数据缓存汇路的过程具体为:
针对一个购买事件,响应该购物事件的过程涉及购买请求、支付请求和发货请求,依次由购物平台对应的业务服务器A处理该购买请求,使用缓存模块1中的购物处理数据响应于该购买请求,然后,由支付平台对应的业务服务器B处理该支付请求,使用缓存模块2中的支付处理数据响应于该支付请求,再由物流平台对应的业务服务器C处理该发货请求,使用缓存模块3中的发货处理数据响应于该发货请求,因此,物流平台对应的业务服务器依赖于支付平台对应的业务服务器,支付平台对应的业务服务器依赖于购物平台对应的业务服务器,形成的数据缓存汇路为:业务服务器A中的缓存模块1(缓存节点1)→业务服务器B中的缓存模块2(缓存节点2)→业务服务器C中的缓存模块3(缓存节点3)。
又如,针对一次汇款事件,从起点机构或银行到中转点机构或银行再到终点商户或个人账号,另外,在汇款过程中包含币种转换、时间周期等信息,具体的,在T+7时效内将广州中行的人民币CNY出境兑换为美元USD再汇到美国US一个商家的账户,形成的数据缓存汇路为:广州中行→出境兑换→美国商家。
再如,针对在加州举办一场演唱会,需要多个存储各类数据的缓存模块包括:存储有加州当地的节假日信息的缓存模块、存储有加州当地的时区信息的缓存模块、以及存储有美国的歌手信息的缓存模块、存储于美国全国的节假日信息的缓存模块、存储有商务合作关系的缓存模块、存储有费用关系的缓存模块,而根据业务请求处理信息可知,加州当地的节假日信息依赖于美国全国的节假日信息,歌手信息又依赖于商务合作关系、费用关系等内容,形成的数据缓存汇路为:
子汇路1:商务合作方案B(签约代言)→费用方案C(免费演出)→歌手方案A(贾斯汀比伯);
子汇路2:国家节假日方案E(美国)→地区节假日方案D(加州);
子汇路3:时区方案F(美西时间);
上述子汇路1、子汇路2和子汇路3组成一条数据缓存汇路,依次完成该数据缓存汇路上的缓存节点的数据加载更新,从而可以实现在加州成功举办一场演唱会的业务服务。
其中,一条数据缓存汇路中会使用到多个缓存模块的方案,同时,任意一个缓存模块的方案可能被多条缓存汇路所使用到,因此,缓存模块的方案与缓存汇路是一个多对多的关系,在具体实施时,一条数据缓存汇路,同一时刻只有一种缓存方案,即按照一条数据缓存汇路响应业务请求。
进一步的,为了便于理解数据缓存汇路的建立过程,如图4所示,给出了资源转移的汇路模型示意图,该汇路模型中包括:缓存节点A、缓存节点B、缓存节点C、缓存节点D、缓存节点User;
结合各缓存节点的业务请求处理信息可知,针对清算请求而言,缓存节点C依赖于缓存节点A、缓存节点D,缓存节点D依赖于缓存节点A、缓存节点B,针对付汇请求而言,缓存节点User依赖于缓存节点C、缓存节点D;
根据缓存节点A、缓存节点B、缓存节点C、缓存节点D、缓存节点User之间的依赖关系,得到的数据缓存汇路有:
数据缓存汇路1:缓存节点A→缓存节点C→缓存节点User;
数据缓存汇路2:缓存节点A→缓存节点D→缓存节点C→缓存节点User;
数据缓存汇路3:缓存节点A→缓存节点D→缓存节点User;
数据缓存汇路4:缓存节点B→缓存节点D→缓存节点C→缓存节点User;
数据缓存汇路5:缓存节点B→缓存节点D→缓存节点User。
进一步的,如图5所示,给出了各缓存节点之间的依赖关系示意图,结合各缓存节点的业务请求处理信息可知,缓存A1依赖于缓存B1,缓存B1又依赖于缓存C1,对应的,数据缓存汇路为:缓存C1→缓存B1→缓存A1;
缓存A2依赖于缓存B1,缓存B1又依赖于缓存C1,对应的,数据缓存汇路为:缓存C1→缓存B1→缓存A2;
缓存A3依赖于缓存B2,缓存B2又依赖于缓存C1,对应的,数据缓存汇路为:缓存C1→缓存B2→缓存A3;
缓存A3依赖于缓存B2,缓存B2又依赖于缓存C2,对应的,数据缓存汇路为:缓存C2→缓存B2→缓存A3。
其中,在基于各缓存节点之间的依赖关系,建立数据缓存汇路后,针对每一条数据缓存汇路,基于该数据缓存汇路的汇路信息,依次触发该数据缓存汇路上的各缓存节点进行缓存数据更新,直到将该数据缓存汇路上的所有缓存模块的数据更新完毕,基于此,上述汇路信息包括:数据缓存汇路中的缓存节点的标识以及各缓存节点的数据缓存顺序,该缓存节点的标识包含业务服务器的序号和该业务服务器中的缓存模块的序号;
对应的,如图6所示,上述S202根据获取的数据缓存汇路的汇路信息,依次控制该数据缓存汇路中的缓存节点进行业务处理数据更新,具体包括:
S2021,根据汇路信息中的数据缓存顺序的正序,在数据缓存汇路中的多个缓存节点中选取当前更新的缓存节点,具体的,从数据缓存汇路中的首个缓存节点开始作为当前更新的缓存节点,以此类推逐一递增,直到选取到数据缓存汇路中的最后一个缓存节点;
S2022,根据选取的缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据,具体的,结合缓存节点的标识可知该缓存节点位于哪个业务服务器中,触发该业务服务器进行缓存数据更新,更新的结果有两种,一种是数据加载成功,另一种是数据加载失败,当数据加载成功时,业务服务器将返回数据更新完成信息;
S2023,判断是否接收到当前更新的缓存节点的数据更新完成信息,其中,该数据更新完成信息为目标业务服务器针对缓存节点的数据更新进度发送的;
若是,则执行S2024,判断是否接收到针对数据缓存汇路中各缓存节点的数据更新完成信息,若否,则继续执行S2021,选取下一个当前更新的缓存节点,直到接收到针对所述数据缓存汇路中各缓存节点的数据更新完成信息,此时,说明数据缓存汇路中所有缓存节点对应的缓存模块的业务处理数据均加载成功并缓存数据更新完成,接下来,可以对另一条数据缓存汇路中的缓存节点进行业务处理数据更新。
进一步的,考虑在对数据缓存汇路中各缓存节点进行缓存数据更新的过程中,可能在某一缓存节点处数据更新出现异常的情况,导致该缓存节点的数据加载不完全,为了防止后续使用该缓存节点对应的缓存模块的业务处理数据响应业务请求时出现请求响应失败的情况,从出现异常的缓存节点开始进行缓存回滚,直到将数据缓存汇路中的首个缓存节点的数据回滚至更新前数据,基于此,在图6中,在上述S2023判断是否接收到当前更新的缓存节点的数据更新完成信息之后,还包括:
若未接收到数据更新完成信息,则执行S2025,将当前更新的缓存节点确定为当前数据回滚的缓存节点,具体的,如果在预设时间阈值内均未接收到该缓存节点的数据更新完成信息,则确定为未接收到数据更新完成信息;
S2026,根据确定的缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚;
S2027,根据数据缓存顺序的倒序,在数据缓存汇路中已更新的缓存节点中确定下一个当前数据回滚的缓存节点,并继续执行S2025,直到对数据缓存汇路中的首个缓存节点的业务处理数据进行回滚完成;
S2028,在对数据缓存汇路中的首个缓存节点的业务处理数据进行回滚完成后,生成数据缓存汇路的数据更新失败的提示信息。
具体的,针对触发业务服务器对缓存节点进行缓存更新的过程,上述S2022根据选取的缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据,具体包括:
步骤一,根据选取的缓存节点的标识,将该缓存节点所在的业务服务器确定为目标业务服务器;
步骤二,在缓存更新状态表中,将需要缓存至选取的缓存节点的目标数据的状态信息设置为第一状态,以使目标业务服务器从数据服务器中加载该目标数据并更新对应的缓存模块的业务处理数据,其中,该第一状态用于表征目标数据需要缓存至对应的缓存模块中。
其中,上述缓存更新状态表可以存储于数据服务器中,也可以存储于中心服务器中,中心服务器需要触发哪个缓存模块进行缓存更新,就将需要缓存至该缓存模块的数据的状态信息设置为第一状态(Wait),因此,业务服务器通过读取该缓存更新状态表中的相关数据就可以获知是否需要重新加载数据更新缓存,以及还可以获知加载哪些数据缓存至哪个缓存模块中,上述缓存更新状态表包括:各业务服务器中缓存模块相关的业务处理数据的状态信息,具体可以为下表1所示。
表1
在表1中,状态信息Init表示业务服务器首次将数据源缓存至缓存模块(即server01首次缓存至01-MK1中的数据为数据源1-0),Done表示业务服务器已将数据源缓存至缓存模块(即server01已将数据源1-1缓存至01-MK1中),Wait表示业务服务器当前需要将数据源缓存至缓存模块(即server01当前需要将数据源1-2缓存至01-MK1中)。
具体的,业务服务器按照预设时间间隔读取缓存更新状态表,从该缓存更新状态表中提取与自身相关的缓存控制信息,即提取自身包含的缓存模块对应的多条缓存控制信息,判断是否存在某一数据源的状态信息为Wait,若是,则从数据服务器中捞取标记为Wait的数据源,并将对应的缓存模块中的数据替换为最新捞取到的数据源。
另外,每次对缓存模块中的数据加载更新完成后,自动触发日志打印系统,把这块缓存加载的内容打印在日志中,这样便于后续进行监控及缓存更新追溯。
具体的,针对触发业务服务器对缓存节点进行数据回滚的过程,上述S2026根据确定的缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚,具体包括:
步骤一,根据确定的缓存节点的标识,将该缓存节点所在的业务服务器确定为目标业务服务器;
步骤二,在缓存更新状态表中,将需要缓存至确定的缓存节点的目标数据的状态信息设置为第一状态,以使目标业务服务器对与该缓存节点对应的缓存模块的业务处理数据进行数据回滚,具体的,结合表1,如果业务服务器server01将缓存模块01-MK1中的数据源1-1替换为数据源1-2的过程中出现异常,此时,需要将缓存模块01-MK1中的数据恢复为数据源1-1,因此,需要将表1中的数据源1-1的状态信息改为Wait,并将数据源1-2的状态信息标记为加载异常。
进一步的,针对每个缓存节点而言,当该缓存节点对应的缓存模块数据更新完成后,需要将对应的目标数据的状态信息由第一状态改为第二状态,基于此,上述方法还包括:
在接收到当前更新的缓存节点的数据更新完成信息后,在缓存更新状态表中将已缓存至该缓存节点的目标数据的状态信息设置为第二状态,其中,该第二状态用于表征目标数据已缓存至对应的缓存模块中,在表1中,将缓存模块中的数据由数据源1-1替换为数据源1-2后,将缓存更新状态表中01-MK1所在行的数据源1-2的状态信息由Wait改为Done。
本申请实施例中的数据缓存方法,获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的;根据获取的汇路信息,依次控制数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块。本申请实施例中,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
对应上述图2至图6描述的数据缓存方法,基于相同的技术构思,本申请另一实施例还提供了一种数据缓存方法,图7为本申请实施例提供的数据缓存方法的第一种流程示意图,该方法可以由业务服务器执行,如图7所示,该方法至少包括以下步骤:
S701,获取与业务服务器相关的缓存节点的缓存控制信息,其中,该缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的,具体的,数据缓存汇路及其汇路信息的确定过程参见上述实施例,在此不再赘述;
S702,根据获取到的缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据,具体的,业务服务器在中心服务器触发控制下对对应的缓存模块中存储的缓存数据进行数据更新;
若是,则执行S703,根据获取到的缓存控制信息从数据服务器中加载目标数据,并使用该目标数据更新对应的缓存模块的业务处理数据,其中,业务服务器接收到业务请求后,使用相应的缓存模块中更新后的业务处理数据响应该业务请求;
另外,在数据更新完成后,向中心服务器发送数据更新完成信息,以使中心服务器按照预设规则选取下一个当前更新的缓存节点。
在本申请实施例中,引入缓存节点汇路化的处理方式,业务服务器在中心服务器的触发控制下,对相应的缓存模块中的数据进行缓存更新,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
其中,如图8所示,上述S701获取与业务服务器相关的缓存节点的缓存控制信息,具体包括:
S7011,按照预设时间间隔,从缓存更新状态表中提取与业务服务器相关的缓存节点的缓存控制信息,其中,该缓存控制信息包括:涉及的数据子块的状态信息,例如,如果当前更新的缓存节点为01-MK1,且需要缓存至该缓存节点的数据为数据源1-2,此时,中心服务器将表1中的缓存节点01-MK1下的数据源1-2的状态信息设置为Wait,对应的,业务服务器为server01,与该业务服务器相关的缓存节点包括:所有标识包含“01”的缓存节点,即设置于该业务服务器内的缓存节点,其中,缓存节点01-MK1的缓存控制信息包括:数据源1-0的状态信息为数据源Init、数据源1-1的状态信息为数据源Done、数据源1-2的状态信息为数据源Wait;
对应的,上述S702根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据,具体包括:
S7021,根据提取的缓存控制信息,判断是否存在至少一个业务处理数据的状态信息为第一状态,具体的,如表1所示,缓存模块01-MK1下数据源1-2的状态信息为第一状态Wait;
若是,则确定需要更新本地缓存模块的业务处理数据,并执行S703,具体的,如表1所示,业务服务器server01需要将缓存模块01-MK1中的数据替换为数据源1-2。
对应的,上述S703根据获取到的缓存控制信息从数据服务器中加载目标数据,并使用该目标数据更新对应的缓存模块的业务处理数据,具体包括:
S7031,将状态信息为第一状态的业务处理数据作为目标数据,从数据服务器中加载该目标数据,并使用该目标数据更新对应的缓存模块的业务处理数据,具体的,存在两种情况,一种是数据加载更新,另一种是数据加载回滚,如表1所示,如果业务服务器中缓存模块中的数据为数据源1-1,需要将数据替换为数据源1-2,此时,针对数据加载更新的情况,中心服务器将数据源1-2的状态信息设置为Wait,即目标数据为数据源1-2;
另外,如果业务服务器server01将缓存模块01-MK1中的数据源1-1替换为数据源1-2的过程中出现异常,此时,需要将缓存模块01-MK1中的数据恢复为数据源1-1,针对数据加载回滚的情况,中心服务器需要将数据源1-1的状态信息设置为Wait,即目标数据为数据源1-1。
其中,为了实现缓存数据更新的原子性,针对不进行用户类型区分的情况,每个业务服务器包含多个相互独立的缓存模块,针对进行用户类型区分的情况,每个业务服务器包含多个相互独立的用户数据单元,每个用户数据单户包含多个相互独立的缓存模块。
如图9a和9b所示,数据服务器中包括数据源1、数据源2、数据源3,业务服务器首次启动后,自动将数据源缓存至相应的缓存模块中,业务服务器中的缓存数据可以按照数据类型划分,例如,业务服务器1包括缓存模块1、缓存模块2、缓存模块3,业务服务器2包括缓存模块1、缓存模块2、缓存模块3,业务服务器中的缓存数据还可以先按照用户类型划分,再按照数据类型划分,例如,业务服务器3包括第一类用户数据单元(租户1)和第二类用户数据单元(租户2),该第一类用户数据单元包括:缓存模块1、缓存模块2、缓存模块3,该第二类用户数据单元包括:缓存模块1、缓存模块2、缓存模块3。
在图9a中,在初始数据缓存时,业务服务器从数据服务器中加载数据源1并存储至缓存模块1,加载数据源2并存储至缓存模块2,加载数据源3并存储至缓存模块3,因此,业务服务器1中的缓存模块1缓存有数据源1、缓存模块2缓存有数据源2、缓存模块3缓存有数据源3;
同样的,业务服务器2中的缓存模块1缓存有数据源1、缓存模块2缓存有数据源2、缓存模块3缓存有数据源3,
另外,同一个类型业务可能会有不同的业务方,不同业务方之间的配置也可能不相同,在业务服务器中对适用于不同业务方数据进行隔离,对应的,业务服务器3中的第一类用户数据单元中的缓存模块1缓存有数据源1、缓存模块2缓存有数据源2、缓存模块3缓存有数据源3;业务服务器3中的第二类用户数据单元中的缓存模块1缓存有数据源1、缓存模块2缓存有数据源2、缓存模块3缓存有数据源3;
在图9b中,由于业务升级或功能优化,为用户提供更优质的业务服务,对数据服务器中的数据源进行了更新,数据服务器中的数据源1变为数据源1-1,数据源2变为数据源2-1,数据源3变为数据源3-1,此时,需要对缓存模块1、缓存模块2、缓存模块3中的数据进行缓存更新;
从业务服务器1中的缓存模块1到业务服务器1中的缓存模块2再到业务服务器1中的缓存模块3,此时,先触发业务服务器1将缓存模块1中的数据由数据源1更新为数据源1-1,再触发业务服务器1将缓存模块2中的数据由数据源2更新为数据源2-1,再触发业务服务器1将缓存模块3中的数据由数据源3更新为数据源3-1,该过程属于单机隔离,即通过一定的机制只让业务服务器1(假设业务服务器1作为灰度验证机器)去刷新其所有缓存模块,同步三块数据源。这样就只有业务服务器1的三个缓存模块加载到了最新的数据可以用来灰度测试最新的业务,其他业务服务器和本机的其他模块都可以稳定不变更。
另外,还可以实现单机单模块隔离,即通过一定的机制只让业务服务器2(假设业务服务器2作为灰度验证机器)去刷新缓存模块3,同步数据源3-1,触发业务服务器2将缓存模块3中的数据由数据源3更新为数据源3-1。这样子就只有业务服务器2中的缓存模块3加载到了最新的数据可以用来灰度测试最新的业务,其他业务服务器和本机的其他模块都可以稳定不变更。
另外,也可以实现租户隔离,即通过一定的机制只让业务服务器3(假设业务服务器3作为灰度验证机器)去刷新第二类用户数据单元2下的缓存模块3,触发业务服务器3将第二类用户数据单元2下的缓存模块3中的数据由数据源3更新为数据源3-1。这样就只有业务服务器3中第二类用户数据单元2下的缓存模块3加载到了最新的数据可以用来灰度测试最新的业务,其他业务服务器、本机的其他用户数据单元、本用户数据单元的其他模块都可以稳定不变更。
本申请实施例中的数据缓存方法,获取与业务服务器相关的缓存节点的缓存控制信息,其中,该缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;根据获取到的缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;若是,则根据缓存控制信息从数据服务器中加载目标数据,并使用目标数据更新对应的缓存模块的业务处理数据。引入缓存节点汇路化的处理方式,业务服务器在中心服务器的触发控制下,对相应的缓存模块中的数据进行缓存更新,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
需要说明的是,本申请另一实施例与本申请一实施例基于同一发明构思,因此该实施例的具体实施可以参见前述数据缓存方法的实施,重复之处不再赘述。
对应上述图2至图6描述的数据缓存方法,基于相同的技术构思,本申请实施例还提供了一种数据缓存装置,该装置设置于中心服务器侧,图10为本申请实施例提供的设置于中心服务器侧的数据缓存装置的第一种模块组成示意图,该装置用于执行图2至图6描述的数据缓存方法,如图10所示,该装置包括:
汇路信息获取模块1001,用于获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
数据缓存控制模块1002,用于根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
可选地,如图11所示,上述装置还包括:
依赖关系确定模块1003,用于在获取数据缓存汇路的汇路信息之前,根据业务请求处理信息,确定各缓存节点之间的依赖关系;
缓存汇路确定模块1004,用于根据各缓存节点之间的所述依赖关系,确定至少一条数据缓存汇路以及该数据缓存汇路的汇路信息。
可选地,所述汇路信息包括:数据缓存汇路中的缓存节点的标识以及各缓存节点的数据缓存顺序;
所述数据缓存控制模块1002,具体用于:
根据所述数据缓存顺序的正序,在所述数据缓存汇路中的多个缓存节点中选取当前更新的缓存节点;
根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据;
判断是否接收到所述缓存节点的数据更新完成信息,其中,所述数据更新完成信息为所述目标业务服务器针对所述缓存节点的数据更新进度发送的;
若是,则选取下一个当前更新的缓存节点,直到接收到针对所述数据缓存汇路中各缓存节点的数据更新完成信息。
可选地,所述数据缓存控制模块1002,进一步具体用于:
根据选取的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器从数据服务器中加载所述目标数据并更新对应的缓存模块的业务处理数据。
可选地,所述数据缓存控制模块1002,还具体用于:
在判断是否接收到所述缓存节点的数据更新完成信息之后,若未接收到数据更新完成信息,则将所述缓存节点确定为当前数据回滚的缓存节点;
根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚;
根据所述数据缓存顺序的倒序,在所述数据缓存汇路中已更新的缓存节点中确定下一个当前数据回滚的缓存节点,直到当前数据回滚的缓存节点为所述数据缓存汇路中的首个缓存节点;
生成所述数据缓存汇路的数据更新失败的提示信息。
可选地,所述数据缓存控制模块1002,还进一步具体用于:
根据确定的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器对与所述缓存节点对应的缓存模块的业务处理数据进行数据回滚。
可选地,所述数据缓存控制模块1002,还具体用于:
在接收到所述缓存节点的数据更新完成信息后,在缓存更新状态表中将已缓存至所述缓存节点的目标数据的状态信息设置为第二状态。
本申请实施例中的数据缓存装置,获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的;根据获取的汇路信息,依次控制数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块。引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
对应上述图7至图8描述的数据缓存方法,基于相同的技术构思,本申请实施例还提供了一种数据缓存装置,该装置设置于业务服务器侧,图12为本申请实施例提供的设置于业务服务器侧的数据缓存装置的模块组成示意图,该装置用于执行图7至图8描述的数据缓存方法,如图12所示,该装置包括:
控制信息获取模块1201,用于获取与所述业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
缓存更新判断模块1202,用于根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
缓存数据更新模块1203,用于若判断结果为是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
可选地,所述控制信息获取模块1201,具体用于:
按照预设时间间隔,从缓存更新状态表中提取与所述业务服务器相关的缓存节点的缓存控制信息;
所述缓存更新判断模块1202,具体用于:
根据提取出的所述缓存控制信息,判断是否存在至少一个业务处理数据的状态信息为第一状态;
若是,则确定需要更新本地缓存模块的业务处理数据。
可选地,所述缓存数据更新模块1203,具体用于:
将状态信息为第一状态的业务处理数据作为目标数据,从数据服务器中加载所述目标数据。
本申请实施例中的数据缓存装置,获取与业务服务器相关的缓存节点的缓存控制信息,其中,该缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;根据获取到的缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;若是,则根据缓存控制信息从数据服务器中加载目标数据,并使用目标数据更新对应的缓存模块的业务处理数据。引入缓存节点汇路化的处理方式,业务服务器在中心服务器的触发控制下,对相应的缓存模块中的数据进行缓存更新,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
进一步地,对应上述图2至图9所示的方法,基于相同的技术构思,本申请实施例还提供了一种数据缓存设备,该设备用于执行上述的数据缓存方法,如图13所示。
数据缓存设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1301和存储器1302,存储器1302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1302可以是短暂存储或持久存储。存储在存储器1302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据缓存设备中的一系列计算机可执行指令。更进一步地,处理器1301可以设置为与存储器1302通信,在数据缓存设备上执行存储器1302中的一系列计算机可执行指令。数据缓存设备还可以包括一个或一个以上电源1303,一个或一个以上有线或无线网络接口1304,一个或一个以上输入输出接口1305,一个或一个以上键盘1306等。
在一个具体的实施例中,数据缓存设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据缓存设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
在获取数据缓存汇路的汇路信息之前,根据业务请求处理信息,确定各缓存节点之间的依赖关系;
根据各缓存节点之间的所述依赖关系,确定至少一条数据缓存汇路以及该数据缓存汇路的汇路信息。
可选地,计算机可执行指令在被执行时,所述汇路信息包括:数据缓存汇路中的缓存节点的标识以及各缓存节点的数据缓存顺序;
所述根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,包括:
根据所述数据缓存顺序的正序,在所述数据缓存汇路中的多个缓存节点中选取当前更新的缓存节点;
根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据;
判断是否接收到所述缓存节点的数据更新完成信息,其中,所述数据更新完成信息为所述目标业务服务器针对所述缓存节点的数据更新进度发送的;
若是,则选取下一个当前更新的缓存节点,直到接收到针对所述数据缓存汇路中各缓存节点的数据更新完成信息。
可选地,计算机可执行指令在被执行时,根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据,包括:
根据选取的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器从数据服务器中加载所述目标数据并更新对应的缓存模块的业务处理数据。
可选地,计算机可执行指令在被执行时,在判断是否接收到所述缓存节点的数据更新完成信息之后,还包括:
若未接收到数据更新完成信息,则将所述缓存节点确定为当前数据回滚的缓存节点;
根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚;
根据所述数据缓存顺序的倒序,在所述数据缓存汇路中已更新的缓存节点中确定下一个当前数据回滚的缓存节点,直到当前数据回滚的缓存节点为所述数据缓存汇路中的首个缓存节点;
生成所述数据缓存汇路的数据更新失败的提示信息。
可选地,计算机可执行指令在被执行时,根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚,包括:
根据确定的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器对与所述缓存节点对应的缓存模块的业务处理数据进行数据回滚。
可选地,计算机可执行指令在被执行时,在接收到所述缓存节点的数据更新完成信息后,在缓存更新状态表中将已缓存至所述缓存节点的目标数据的状态信息设置为第二状态。
本申请实施例中的数据缓存设备,获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的;根据获取的汇路信息,依次控制数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块。可见,通过本申请实施例中的数据缓存设备,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
在另一个具体的实施例中,数据缓存设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据缓存设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取与业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
可选地,计算机可执行指令在被执行时,所述获取与业务服务器相关的缓存节点的缓存控制信息,包括:
按照预设时间间隔,从缓存更新状态表中提取与业务服务器相关的缓存节点的缓存控制信息;
所述根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据,包括:
根据提取出的所述缓存控制信息,判断是否存在至少一个业务处理数据的状态信息为第一状态;
若是,则确定需要更新本地缓存模块的业务处理数据。
可选地,计算机可执行指令在被执行时,所述根据所述缓存控制信息从数据服务器中加载目标数据,包括:
将状态信息为第一状态的业务处理数据作为目标数据,从数据服务器中加载所述目标数据。
本申请实施例中的数据缓存设备,获取与业务服务器相关的缓存节点的缓存控制信息,其中,该缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;根据获取到的缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;若是,则根据缓存控制信息从数据服务器中加载目标数据,并使用目标数据更新对应的缓存模块的业务处理数据。可见,通过本申请实施例中的数据缓存设备,引入缓存节点汇路化的处理方式,业务服务器在中心服务器的触发控制下,对相应的缓存模块中的数据进行缓存更新,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
进一步地,对应上述图2至图9所示的方法,基于相同的技术构思,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还实现以下流程:
在获取数据缓存汇路的汇路信息之前,根据业务请求处理信息,确定各缓存节点之间的依赖关系;
根据各缓存节点之间的所述依赖关系,确定至少一条数据缓存汇路以及该数据缓存汇路的汇路信息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述汇路信息包括:数据缓存汇路中的缓存节点的标识以及各缓存节点的数据缓存顺序;
所述根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,包括:
根据所述数据缓存顺序的正序,在所述数据缓存汇路中的多个缓存节点中选取当前更新的缓存节点;
根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据;
判断是否接收到所述缓存节点的数据更新完成信息,其中,所述数据更新完成信息为所述目标业务服务器针对所述缓存节点的数据更新进度发送的;
若是,则选取下一个当前更新的缓存节点,直到接收到针对所述数据缓存汇路中各缓存节点的数据更新完成信息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据,包括:
根据选取的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器从数据服务器中加载所述目标数据并更新对应的缓存模块的业务处理数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,在判断是否接收到所述缓存节点的数据更新完成信息之后,还包括:
若未接收到数据更新完成信息,则将所述缓存节点确定为当前数据回滚的缓存节点;
根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚;
根据所述数据缓存顺序的倒序,在所述数据缓存汇路中已更新的缓存节点中确定下一个当前数据回滚的缓存节点,直到当前数据回滚的缓存节点为所述数据缓存汇路中的首个缓存节点;
生成所述数据缓存汇路的数据更新失败的提示信息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚,包括:
根据确定的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器对与所述缓存节点对应的缓存模块的业务处理数据进行数据回滚。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,在接收到所述缓存节点的数据更新完成信息后,在缓存更新状态表中将已缓存至所述缓存节点的目标数据的状态信息设置为第二状态。
本申请实施例中的存储介质存储的计算机可执行指令在被处理器执行时,获取数据缓存汇路的汇路信息,其中,该数据缓存汇路是预先基于业务请求处理信息确定的;根据获取的汇路信息,依次控制数据缓存汇路中的缓存节点进行业务处理数据更新,其中,每个缓存节点对应于存储有业务处理数据的缓存模块。可见,通过本申请实施例中的存储介质,引入缓存节点汇路化的处理方式,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
在另一个具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取与业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述获取与业务服务器相关的缓存节点的缓存控制信息,包括:
按照预设时间间隔,从缓存更新状态表中提取与业务服务器相关的缓存节点的缓存控制信息;
所述根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据,包括:
根据提取出的所述缓存控制信息,判断是否存在至少一个业务处理数据的状态信息为第一状态;
若是,则确定需要更新本地缓存模块的业务处理数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据所述缓存控制信息从数据服务器中加载目标数据,包括:
将状态信息为第一状态的业务处理数据作为目标数据,从数据服务器中加载所述目标数据。
本申请实施例中的存储介质存储的计算机可执行指令在被处理器执行时,获取与业务服务器相关的缓存节点的缓存控制信息,其中,该缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;根据获取到的缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;若是,则根据缓存控制信息从数据服务器中加载目标数据,并使用目标数据更新对应的缓存模块的业务处理数据。可见,通过本申请实施例中的存储介质,引入缓存节点汇路化的处理方式,业务服务器在中心服务器的触发控制下,对相应的缓存模块中的数据进行缓存更新,从而实现自动对每个数据缓存汇路上的所有缓存节点进行数据缓存更新,在数据缓存汇路上的各缓存节点进行数据更新时,无需人工参与,能够避免因人工操作失误而导致的业务处理数据更新不及时,进而避免因业务处理数据更新不及时而导致的业务请求响应失败,提高了业务处理数据的缓存效率和及时性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (25)

1.一种数据缓存方法,应用于中心服务器,其特征在于,所述方法包括:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
2.根据权利要求1所述的方法,其特征在于,在获取数据缓存汇路的汇路信息之前,还包括:
根据业务请求处理信息,确定各缓存节点之间的依赖关系;
根据各缓存节点之间的所述依赖关系,确定至少一条数据缓存汇路以及该数据缓存汇路的汇路信息。
3.根据权利要求1所述的方法,其特征在于,所述汇路信息包括:数据缓存汇路中的缓存节点的标识以及各缓存节点的数据缓存顺序;
所述根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,包括:
根据所述数据缓存顺序的正序,在所述数据缓存汇路中的多个缓存节点中选取当前更新的缓存节点;
根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据;
判断是否接收到所述缓存节点的数据更新完成信息,其中,所述数据更新完成信息为所述目标业务服务器针对所述缓存节点的数据更新进度发送的;
若是,则选取下一个当前更新的缓存节点,直到接收到针对所述数据缓存汇路中各缓存节点的数据更新完成信息。
4.根据权利要求3所述的方法,其特征在于,根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据,包括:
根据选取的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器从数据服务器中加载所述目标数据并更新对应的缓存模块的业务处理数据。
5.根据权利要求3所述的方法,其特征在于,在判断是否接收到所述缓存节点的数据更新完成信息之后,还包括:
若未接收到数据更新完成信息,则将所述缓存节点确定为当前数据回滚的缓存节点;
根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚;
根据所述数据缓存顺序的倒序,在所述数据缓存汇路中已更新的缓存节点中确定下一个当前数据回滚的缓存节点,直到当前数据回滚的缓存节点为所述数据缓存汇路中的首个缓存节点;
生成所述数据缓存汇路的数据更新失败的提示信息。
6.根据权利要求5所述的方法,其特征在于,根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚,包括:
根据确定的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器对与所述缓存节点对应的缓存模块的业务处理数据进行数据回滚。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在接收到所述缓存节点的数据更新完成信息后,在缓存更新状态表中将已缓存至所述缓存节点的目标数据的状态信息设置为第二状态。
8.一种数据缓存方法,应用于业务服务器,其特征在于,所述方法包括:
获取与所述业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
9.根据权利要求8所述的方法,其特征在于,所述获取与所述业务服务器相关的缓存节点的缓存控制信息,包括:
按照预设时间间隔,从缓存更新状态表中提取与所述业务服务器相关的缓存节点的缓存控制信息;
所述根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据,包括:
根据提取出的所述缓存控制信息,判断是否存在至少一个业务处理数据的状态信息为第一状态;
若是,则确定需要更新本地缓存模块的业务处理数据。
10.根据权利要求9所述的方法,其特征在于,所述根据所述缓存控制信息从数据服务器中加载目标数据,包括:
将状态信息为第一状态的业务处理数据作为目标数据,从数据服务器中加载所述目标数据。
11.一种数据缓存装置,设置于中心服务器侧,其特征在于,包括:
汇路信息获取模块,用于获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
数据缓存控制模块,用于根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
12.根据权利要求11所述的装置,其特征在于,还包括:
依赖关系确定模块,用于在获取数据缓存汇路的汇路信息之前,根据业务请求处理信息,确定各缓存节点之间的依赖关系;
缓存汇路确定模块,用于根据各缓存节点之间的所述依赖关系,确定至少一条数据缓存汇路以及该数据缓存汇路的汇路信息。
13.根据权利要求11所述的装置,其特征在于,所述汇路信息包括:数据缓存汇路中的缓存节点的标识以及各缓存节点的数据缓存顺序;
所述数据缓存控制模块,具体用于:
根据所述数据缓存顺序的正序,在所述数据缓存汇路中的多个缓存节点中选取当前更新的缓存节点;
根据选取的所述缓存节点的标识,触发目标业务服务器更新对应的缓存模块的业务处理数据;
判断是否接收到所述缓存节点的数据更新完成信息,其中,所述数据更新完成信息为所述目标业务服务器针对所述缓存节点的数据更新进度发送的;
若是,则选取下一个当前更新的缓存节点,直到接收到针对所述数据缓存汇路中各缓存节点的数据更新完成信息。
14.根据权利要求13所述的装置,其特征在于,所述数据缓存控制模块,进一步具体用于:
根据选取的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器从数据服务器中加载所述目标数据并更新对应的缓存模块的业务处理数据。
15.根据权利要求13所述的装置,其特征在于,所述数据缓存控制模块,还具体用于:
在判断是否接收到所述缓存节点的数据更新完成信息之后,若未接收到数据更新完成信息,则将所述缓存节点确定为当前数据回滚的缓存节点;
根据确定的所述缓存节点的标识,触发目标业务服务器对该缓存节点的业务处理数据进行回滚;
根据所述数据缓存顺序的倒序,在所述数据缓存汇路中已更新的缓存节点中确定下一个当前数据回滚的缓存节点,直到当前数据回滚的缓存节点为所述数据缓存汇路中的首个缓存节点;
生成所述数据缓存汇路的数据更新失败的提示信息。
16.根据权利要求15所述的装置,其特征在于,所述数据缓存控制模块,还进一步具体用于:
根据确定的所述缓存节点的标识,将所述缓存节点所在的业务服务器确定为目标业务服务器;
在缓存更新状态表中,将需要缓存至所述缓存节点的目标数据的状态信息设置为第一状态,以使所述目标业务服务器对与所述缓存节点对应的缓存模块的业务处理数据进行数据回滚。
17.根据权利要求13所述的装置,其特征在于,所述数据缓存控制模块,还具体用于:
在接收到所述缓存节点的数据更新完成信息后,在缓存更新状态表中将已缓存至所述缓存节点的目标数据的状态信息设置为第二状态。
18.一种数据缓存装置,设置于业务服务器侧,其特征在于,包括:
控制信息获取模块,用于获取与所述业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
缓存更新判断模块,用于根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
缓存数据更新模块,用于若判断结果为是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
19.根据权利要求18所述的装置,其特征在于,所述控制信息获取模块,具体用于:
按照预设时间间隔,从缓存更新状态表中提取与所述业务服务器相关的缓存节点的缓存控制信息;
所述缓存更新判断模块,具体用于:
根据提取出的所述缓存控制信息,判断是否存在至少一个业务处理数据的状态信息为第一状态;
若是,则确定需要更新本地缓存模块的业务处理数据。
20.根据权利要求19所述的装置,其特征在于,所述缓存数据更新模块,具体用于:
将状态信息为第一状态的业务处理数据作为目标数据,从数据服务器中加载所述目标数据。
21.一种数据缓存系统,其特征在于,所述系统包括:中心服务器、数据服务器和多个业务服务器,所述中心服务器包括如权利11至17所述的数据缓存装置,所述业务服务器包括如权利要求18至20所述的数据缓存装置。
22.一种数据缓存设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
23.一种数据缓存设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取与业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
24.一种存储介质,用于存储计算机可执行指令,其特征在于,所述可执行指令在被执行时实现以下流程:
获取数据缓存汇路的汇路信息,其中,所述数据缓存汇路是预先基于业务请求处理信息确定的;
根据所述汇路信息,依次控制所述数据缓存汇路中的缓存节点进行业务处理数据更新,其中,所述缓存节点对应于存储有业务处理数据的缓存模块。
25.一种存储介质,用于存储计算机可执行指令,其特征在于,所述可执行指令在被执行时实现以下流程:
获取与业务服务器相关的缓存节点的缓存控制信息,其中,所述缓存控制信息是中心服务器根据数据缓存汇路的汇路信息确定的;
根据获取到的所述缓存控制信息,确定是否需要更新本地缓存模块的业务处理数据;
若是,则根据所述缓存控制信息从数据服务器中加载目标数据,并使用所述目标数据更新对应的缓存模块的业务处理数据。
CN201810247066.9A 2018-03-23 2018-03-23 一种数据缓存方法、装置及系统 Pending CN108600320A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810247066.9A CN108600320A (zh) 2018-03-23 2018-03-23 一种数据缓存方法、装置及系统
TW108100825A TWI694342B (zh) 2018-03-23 2019-01-09 一種資料快取方法、裝置及系統
PCT/CN2019/072935 WO2019179235A1 (zh) 2018-03-23 2019-01-24 一种数据缓存方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810247066.9A CN108600320A (zh) 2018-03-23 2018-03-23 一种数据缓存方法、装置及系统

Publications (1)

Publication Number Publication Date
CN108600320A true CN108600320A (zh) 2018-09-28

Family

ID=63627396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810247066.9A Pending CN108600320A (zh) 2018-03-23 2018-03-23 一种数据缓存方法、装置及系统

Country Status (3)

Country Link
CN (1) CN108600320A (zh)
TW (1) TWI694342B (zh)
WO (1) WO2019179235A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059023A (zh) * 2019-04-04 2019-07-26 阿里巴巴集团控股有限公司 一种刷新级联缓存的方法、系统及设备
WO2019179235A1 (zh) * 2018-03-23 2019-09-26 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统
CN111510482A (zh) * 2020-04-09 2020-08-07 广州酷狗计算机科技有限公司 失败网络请求的确定方法、装置及计算机存储介质
CN111861696A (zh) * 2020-06-30 2020-10-30 银盛支付服务股份有限公司 一种分布式清算业务异常数据的处理方法和系统
US10922236B2 (en) 2019-04-04 2021-02-16 Advanced New Technologies Co., Ltd. Cascade cache refreshing

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782391A (zh) * 2020-06-29 2020-10-16 北京达佳互联信息技术有限公司 资源分配方法、装置、电子设备和存储介质
CN113094430B (zh) * 2021-03-25 2023-10-03 北京达佳互联信息技术有限公司 一种数据处理方法、装置、设备以及存储介质
CN113157604B (zh) * 2021-05-12 2024-01-30 中国农业银行股份有限公司 基于分布式系统的数据获取方法、装置及相关产品
CN115150470B (zh) * 2022-09-06 2022-11-25 百融至信(北京)科技有限公司 缓存数据处理方法、装置、电子设备和存储介质
CN117193670B (zh) * 2023-11-06 2024-01-30 之江实验室 一种清除缓存的方法、装置、存储介质以及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193574A1 (en) * 2003-03-27 2004-09-30 Fujitsu Limited Application server, cache program, and application server system
CN101692229A (zh) * 2009-07-28 2010-04-07 武汉大学 基于数据内容的三维空间数据自适应多级缓存系统
CN105868231A (zh) * 2015-12-01 2016-08-17 乐视体育文化产业发展(北京)有限公司 缓存数据的更新方法及装置
CN106202082A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 组装基础数据缓存的方法及装置
CN107133234A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 缓存数据更新的方法、装置及系统
CN107770285A (zh) * 2017-11-13 2018-03-06 阳光电源股份有限公司 一种分布式缓存更新方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1154329C (zh) * 2001-02-28 2004-06-16 李建民 内容传送网络系统及其实现方法
CN103118435B (zh) * 2012-12-11 2015-11-25 华为技术有限公司 一种节点调度方法、设备及系统
US10320930B2 (en) * 2015-10-30 2019-06-11 Huawei Technologies Co., Ltd. Method and system for providing network caches
US10560879B2 (en) * 2016-08-05 2020-02-11 Qualcomm Incorporated Techniques for establishing a secure connection between a wireless device and a local area network via an access node
CN108600320A (zh) * 2018-03-23 2018-09-28 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193574A1 (en) * 2003-03-27 2004-09-30 Fujitsu Limited Application server, cache program, and application server system
CN101692229A (zh) * 2009-07-28 2010-04-07 武汉大学 基于数据内容的三维空间数据自适应多级缓存系统
CN106202082A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 组装基础数据缓存的方法及装置
CN105868231A (zh) * 2015-12-01 2016-08-17 乐视体育文化产业发展(北京)有限公司 缓存数据的更新方法及装置
CN107133234A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 缓存数据更新的方法、装置及系统
CN107770285A (zh) * 2017-11-13 2018-03-06 阳光电源股份有限公司 一种分布式缓存更新方法和系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019179235A1 (zh) * 2018-03-23 2019-09-26 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统
CN110059023A (zh) * 2019-04-04 2019-07-26 阿里巴巴集团控股有限公司 一种刷新级联缓存的方法、系统及设备
WO2020199709A1 (zh) * 2019-04-04 2020-10-08 创新先进技术有限公司 一种刷新级联缓存的方法、系统及设备
CN110059023B (zh) * 2019-04-04 2020-11-10 创新先进技术有限公司 一种刷新级联缓存的方法、系统及设备
US10922236B2 (en) 2019-04-04 2021-02-16 Advanced New Technologies Co., Ltd. Cascade cache refreshing
CN111510482A (zh) * 2020-04-09 2020-08-07 广州酷狗计算机科技有限公司 失败网络请求的确定方法、装置及计算机存储介质
CN111510482B (zh) * 2020-04-09 2023-06-16 广州酷狗计算机科技有限公司 失败网络请求的确定方法、装置及计算机存储介质
CN111861696A (zh) * 2020-06-30 2020-10-30 银盛支付服务股份有限公司 一种分布式清算业务异常数据的处理方法和系统
CN111861696B (zh) * 2020-06-30 2024-06-07 银盛支付服务股份有限公司 一种分布式清算业务异常数据的处理方法和系统

Also Published As

Publication number Publication date
TW201941086A (zh) 2019-10-16
TWI694342B (zh) 2020-05-21
WO2019179235A1 (zh) 2019-09-26

Similar Documents

Publication Publication Date Title
CN108600320A (zh) 一种数据缓存方法、装置及系统
JP6876806B2 (ja) ブロックチェーンコンセンサス形成の方法およびデバイス
CN112463311B (zh) 事务处理方法、装置、计算机设备及存储介质
CN108537525B (zh) 一种共识验证方法、装置及设备
WO2020082871A1 (zh) 一种并行化执行区块链交易的方法、装置及系统
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
JP2020515197A (ja) ブロックデータ検証方法および装置
CN108415792B (zh) 容灾系统、方法、装置及设备
CN109669709A (zh) 一种区块链升级的数据迁移方法及数据迁移系统
CN110008018A (zh) 一种批量任务处理方法、装置及设备
CN108345977A (zh) 一种业务处理方法及装置
US11563805B2 (en) Method, apparatus, client terminal, and server for data processing
CN108595234A (zh) 应用页面切换方法、装置及设备
CN110992038A (zh) 交易处理方法、装置及设备
CN108334340A (zh) 一种跨环境数据通信方法、装置和系统
CN110020846A (zh) 一种转账业务处理方法及系统
CN109614270A (zh) 基于Hbase的数据读写方法、装置、设备及存储介质
CN109510852A (zh) 灰度发布的方法及装置
CN109003090A (zh) 风险控制方法和装置
CN110264213A (zh) 一种信息的处理方法、装置及设备
CN108563693A (zh) 一种事务的处理方法、装置及设备
CN108399089A (zh) 视图界面的显示方法及装置
CN110532243A (zh) 数据处理方法、装置和电子设备
CN104598567A (zh) 一种基于Hadoop MapReduce编程框架的数据统计排重的方法
CN108681492A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180928

RJ01 Rejection of invention patent application after publication