一种缓存数据处理方法和系统的制作方法
【专利摘要】本申请提供了一种缓存数据处理方法和系统,涉及计算机【技术领域】。所述方法包括:针对每一第一服务器,第二服务器记录第一服务器标识;每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新;第二服务器监控第一服务器是否更新成功。本申请提供公用数据的服务器为主动操作主体,在本服务器中的公用数据出现变更后,由第二服务器主动发起整个公用数据更新流程,而避免了第一服务器由于在对公用数据未知的情况下,需要保持不断对第二服务器公用数据的获取,从而减少了硬件资源和网络资源的浪费;降低了第一服务器的负载,提高了第一服务器对具体应用处理的效率,并且可降低维护成本。
【专利说明】一种缓存数据处理方法和系统
【技术领域】
[0001]本申请涉及计算机【技术领域】,特别是涉及一种缓存数据处理方法和系统。
【背景技术】
[0002]现在的大型互联网应用系统一般采用分布式架构,将负责不同功能的业务功能单元分解到不同的应用系统中去,这些各自负责不同功能的应用系统最终又聚合成为一个能够提供业务价值的整体应用系统。其网络环境相对复杂。为了应对互联网应用的巨大请求量,分布式架构系统除了按照功能进行分解之外,提供各种业务功能的应用系统还需要使用多台服务器来支撑这些请求量。
[0003]而在分布式架构中,在负责不同业务功能的应用系统之间,通常会存在一些各个应用系统都需要理解、使用的公用数据,这些公用数据使用极其频繁,不适合在两个或多个系统之间互相传递,通常需要在计算机内存中将这些数据保存起来,在实际使用数据时直接访问使用这些在内存中的数据。这种在计算机内存中保存数据的方式称为数据缓存。
[0004]在分布式环境下,各个应用系统之间、各台服务器之间的内存数据都是互相独立的,在需要被数据缓存的数据发生变化时,应该要保证所有系统、所有服务器内存中的缓存数据同时被更新,如果没有同时更新有可能出现数据不一致进而引发业务错误。
[0005]因此,由于在分布式环境下多个不同服务器会需要使用相同的重要基础数据,这些重要基础数据由于被使用频率极高,需要以缓存形式存放在本地内存中。而如何在多个不同服务器之间保持这些重要数据的全局一致性一直是非常难以解决的一个技术问题。
[0006]下面举个例子说明分布式系统中各个应用系统之间公用数据同步的重要性和必要性:
[0007]参照图1,在一个互联网购物系统中,有一个交易系统和一个发货系统,分别提供交易功能和发货功能。两个系统各有3组服务器来应对用户的请求。
[0008]公用数据包括“商品类目”,由数据提供服务器提供。交易系统需要使用商品类目数据给用户展示商品,发货系统需要使用商品类目数据给工作人员进行货物的分类发放。两个系统对商品类型数据的使用都非常频繁,需要缓存在服务器内存中保证效率。公用数据“商品类目”由数据提供服务器提供,而交易系统和发货系统的服务器均是数据使用服务器。
[0009]数据提供服务器的商品类目数据会随着业务的发展发生变化,如果两个系统之间的商品类目数据发生不一致会出现用户购买的货物无法发货的业务错误。
[0010]现有技术中,数据提供服务器提供数据查询接口,数据使用服务器通过查询接口得到数据然后缓存在自己的数据缓存中,由于数据可能会发生变化,数据使用服务器会通过应用程序隔一段时间就向数据提供发发起查询请求,将数据提供服务器的数据获取到数据使用服务器,在数据使用服务器判断是否需要更新,如果需要,则将获取到的数据更新到本地缓存,以保证自己的数据缓存是最新的。
[0011]上述过程中,由于是由数据使用服务器定时的主动去将数据提供服务器的数据全部获取到本地,再进行判断更新,这种定时拉取的方式存在以下几种缺点:
[0012]1、无论数据是否变化都需要隔一段时间就向数据提供服务器拉取数据,将数据提供服务器的提供的公用数据抓取到本地进行处理,而在数据提供服务器的公用数据没有变化的情况下,这种拉取动作严重浪费硬件资源和网络资源。
[0013]2、由于数据提供服务器是被动的,无法知道有多少数据使用服务器在使用它提供的数据,对于整个系统来说,非常不方便对数据使用服务器进行监控和管理,维护成本高。
【发明内容】
[0014]本申请所要解决的技术问题之一是提供一种缓存数据处理方法和系统,解决数据使用方在不知数据提供方数据更新状态的情况下主动拉取导致浪费硬件资源和网络资源,维护成本高等问题。
[0015]为了解决上述问题,本申请公开了一种缓存数据处理方法,包括:
[0016]针对每一第一服务器,第二服务器记录第一服务器标识;
[0017]每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新;
[0018]第二服务器监控第一服务器是否更新成功。
[0019]优选的,所述第二服务器监控第一服务器是否更新成功包括:
[0020]接收第一服务器返回的更新结果消息;
[0021]根据所述更新结果消息,判断相应第一服务器是否更新成功。
[0022]优选的,每当公用数据出现变更之后还包括:
[0023]第二服务器对变更后的公用数据生成版本信息。
[0024]优选的,所述根据所述更新结果消息,判断相应第一服务器是否更新成功后,还包括:
[0025]根据所述更新结果消息,记录第一服务器当前成功缓存的公用数据的版本信息。
[0026]优选的,还包括:
[0027]第二服务器根据公用数据更新后版本信息,与当前记录的第一服务器的版本信息,判断并记录第二服务器中的公用数据与所述第一服务器的公用数据之间的数据差异标识。
[0028]优选的,所述第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新包括:
[0029]第二服务器根据相应第一服务器标识,通知第一服务器将数据差异标识相应的差异数据更新至缓存中。
[0030]优选的,所述第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新包括:
[0031]每当公用数据出现变更后,第二服务器定时检查第一服务器的版本信息是否与当前最新的版本信息一致;如果不一致,则通知第二服务器根据记录的第一服务器标识通知所述第一服务器对缓存中的公用数据进行更新。
[0032]优选的,所述根据所述更新结果消息,判断相应第一服务器是否更新成功后包括:[0033]如果所述更新结果消息包括第一服务器的缓存更新成功消息,则更新当前记录的对应该第一服务器的版本信息为包括变更公用数据的版本信息;
[0034]如果所述更新结果消息包括第一服务器的缓存更新失败消息,则保留当前记录的对应该第一服务器的版本信息,并保留数据差异标识。
[0035]优选的,所述第二服务器监控第一服务器是否更新成功之后还包括:
[0036]如果判断第一服务器更新失败,第二服务器则重新根据记录的第一服务器标识,通知第一服务器从对缓存中公用数据进行更新;
[0037]或者,生成针对所述第一服务器的更新失败报警信息。
[0038]相应的,本申请还公开了一种缓存数据处理系统,包括:
[0039]第二服务器和至少一个第一服务器;
[0040]所述第二服务器包括:
[0041]记录模块,用于针对每一第一服务器,第二服务器记录第一服务器标识;
[0042]变更通知模块,用于每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新;
[0043]更新判断模块,用于第二服务器监控第一服务器是否更新成功;
[0044]每个所述第一服务器用于从第二服务器获取公用数据,对该第一服务器缓存中公用数据进行更新。
[0045]与现有技术相比,本申请包括以下优点:
[0046]1、本申请以第二服务器,即提供公用数据的服务器为主动操作主体,在本服务器中的公用数据出现变更后,由第二服务器主动发起整个公用数据更新流程,而避免了第一服务器由于在对公用数据未知的情况下,需要保持不断对第二服务器公用数据的获取,从而减少了硬件资源和网络资源的浪费;降低了第一服务器的负载,提高了第一服务器对具体应用处理的效率。
[0047]2、本申请由于是作为数据提供方的第二服务器,对各个作为数据使用方的第一服务器的数据同步情况的实时监控,可把控每个第一服务器的数据同步情况,能尽最大可能地保证缓存数据的一致性;并且,可非常方便的根据监控情况对需要的第一服务器进行下一步处理,而不用在每个第一服务器侧维护,降低维护成本。
【专利附图】
【附图说明】
[0048]图1是一种分布式环境公用数据的使用示例图;
[0049]图2是本申请一种缓存数据处理方法实施例一的流程示意图;
[0050]图3是本申请一种缓存数据处理方法实施例二的流程示意图;
[0051]图4是本申请一种缓存数据处理系统实施例的结构示意图。
【具体实施方式】
[0052]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0053]对于分布式环境下需要使用相同数据(即公用数据)的多个服务器,并且由于这些公用数据被使用频率极高,为了保证服务器的处理速度和效率,需要以缓存的形式存储在各自服务器的内存中,其中公用数据由专用的数据提供服务器提供。而为了保证整个分布式系统的稳定和工作的正常,需要保持各个服务器缓存的公用数据一致,而为了保证多个不同的服务器之间上述各个服务器缓存的公用数据的全局一致性,本申请的核心思想之一在于:采用数据提供方在其公用数据变更时,主动根据记录的各第一服务器标识通知第一服务器从缓存中对公用数据进行更新,并实时监控更新结果。如此可减少了硬件资源和网络资源的浪费,方便维护和管理整个系统,降低了维护成本。
[0054]参照图2,示出了本申请一种缓存数据处理方法实施例一的流程示意图,具体可以包括:
[0055]步骤110,针对每一第一服务器,第二服务器记录第一服务器标识;
[0056]在本申请中,第一服务器为公用数据使用方,比如图1中的交易系统的服务器;第二服务器为公用数据提供方,比如提供图1中所述商品类目的服务器。
[0057]那么,对于需要使用第二服务器提供的公用数据的第一服务器,第二服务器则对该第一服务器的第一服务器标识进行记录。
[0058]优选的,所述针对每一第一服务器,第二服务器记录第一服务器标识包括:
[0059]步骤S111,第二服务器根据第一服务器第一次发送的更新请求,记录所述第一服务器的第一服务器标识。
[0060]在数据使用方的第一服务器初次启动时,需要第一次将公用数据存入第一服务器的缓存中,即第一次发送更新请求至第二服务器以获取公用数据(其中为了确定数据传送的源端和目的端,更新请求包括该第一服务器的标识),那么第二服务器则可根据该第一服务器发送的更新请求记录其第一服务器标识。
[0061]步骤120,每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新;
[0062]在数据使用方的第一服务器初次启动时,第一服务器可直接从第二服务器获取公用数据,然后将公用数据缓存至内存中。
[0063]对于公用数据,当对其进行增加、删除、修改等操作时,都存在数据的变更,即出现公用数据更新。比如对于前述商品类目,增加商品类目,删除商品类目,修改商品类目等操作都会数据提供方提供的商品类目数据变更。
[0064]那么在公用数据的变更出现时,第二服务器则可根据其记录的各第一服务器标识,通知第一服务器对缓存中的公用数据进行更新。
[0065]所述第二服务器则可根据其记录的各第一服务器标识,通知第一服务器对缓存中的公用数据进行更新具体可包括:
[0066]步骤A121,第二服务器将变更后的公用数据推送至第一服务器,并通知第一服务器将当前的公用数据推送更新至缓存;
[0067]步骤A122,第一服务器接收到所述公用数据和所述通知后,将所述公用数据更新
至缓存中。
[0068]更新可以为第一服务器将到缓存中原公用数据全部替换为变更后的公用数据。
[0069]或者,可包括:步骤B121,第二服务器通知第一服务器需要更新公用数据;
[0070]步骤B122,第一服务器接收到所述通知后,则主动从第二服务器获变更新后的公用数据;[0071]步骤123,将获取到的公用数据更新至缓存。
[0072]其中,数据更新包括替换原数据,增加新数据等操作。
[0073]优选的每当公用数据出现变更之后还包括:
[0074]步骤S121,第二服务器对变更后的公用数据生成版本信息。
[0075]即本申请可通过对第二服务器中的公用数据进行版本化,比如初始的公用数据将其标记为版本1.00,当第一次更新后,将更新后的公用数据版本标记为1.01,如此方便后续对第一服务器公用数据进行监控。
[0076]即进一步,所述第二服务器根据相应第一服务器标识,通知第一服务器将数据差异标识相应的差异数据更新至缓存中包括:
[0077]步骤S122,每当公用数据出现变更后,第二服务器定时检查第一服务器的版本信息是否与当前最新的版本信息一致;如果不一致,则通知第二服务器根据记录的第一服务器标识通知所述第一服务器对缓存中的公用数据进行更新。
[0078]比如,公用数据变更后的版本为1.01,而记录的第一服务器的版本为1.00,则说
明第一服务器的版本低于第二服务器当前的版本,那么第一服务器就需要更新新版的公用数据。
[0079]步骤130,第二服务器监控第一服务器是否更新成功。
[0080]对于第一服务器的更新操作,第二服务器监控第一服务器是否更新成功。
[0081]在本申请中,当第一服务器进行变更动作后,可生成一个更新结果消息,即更新成功或者更新失败的消息,然后将该消息发送给第二服务器,第二服务器则可根据该消息监控每个第一服务器是否更新成功。
[0082]所述第二服务器监控第一服务器是否更新成功之后还包括:
[0083]步骤S131,在第一服务器更新后,如果判断第一服务器更新失败,第二服务器则重新根据记录的第一服务器标识,通知第一服务器从对缓存中公用数据进行更新;
[0084]或者,步骤S132,生成针对所述第一服务器的更新失败报警信息。
[0085]针对更新失败的第一服务器的失败报警信息可使技术人员在数据提供方侧(第二服务器侧)整体把握哪一台或者多台服务器更新失败,从而进行相关处理,比如人工更新等。
[0086]现有技术中,数据提供方(第二服务器)提供数据查询接口,数据使用方(第一服务器)通过查询接口得到数据然后缓存在自己的数据缓存中,由于数据可能会发生变化,数据使用方会通过应用程序隔一段时间就向数据提供发发起查询请求以保证自己的数据缓存是最新的。而这种“定时拉取模式”存在以下缺点:
[0087]1.无论数据是否变化都需要隔一段时间就向数据提供方拉取数据,在数据没有变化的情况下这种拉取动作是对硬件资源和网络资源的浪费
[0088]2.由于数据提供方是被动的,无法知道有多少数据使用方在使用它提供的数据
[0089]3.数据提供方无法确定是否所有数据使用方都已经拿到了最新的数据,如果数据使用方的定时拉取机制出现问题导致数据不同步也无法监控,可能出现严重业务错误。
[0090]而本申请则可以第二服务器,即提供公用数据的服务器为主动操作主体,在本服务器中的公用数据出现变更后,由第二服务器主动发起整个公用数据更新流程,而避免了第一服务器由于在对公用数据未知的情况下,需要保持不断对第二服务器公用数据的获取,从而减少了硬件资源和网络资源的浪费;降低了第一服务器的负载,提高了第一服务器对具体应用处理的效率。
[0091]并且本申请由于是作为数据提供方的第二服务器,对各个作为数据使用方的第一服务器的数据同步情况的实时监控,可把控每个第一服务器的数据同步情况,能尽最大可能地保证缓存数据的一致性;并且,可非常方便的根据监控情况对需要的第一服务器进行下一步处理,而不用在每个第一服务器侧维护,降低维护成本。
[0092]并且本申请可避免由于如果数据使用方的定时拉取机制出现问题导致数据不同步的问题,监控全面及时。
[0093]参照图,3,示出了本申请一种缓存数据处理方法实施例二的流程示意图,具体可以包括:
[0094]步骤210,第二服务器根据第一服务器第一次发送的更新请求,记录所述第一服务器的第一服务器标识;当所述第一服务器更新公用数据成功后,第二服务器对应记录所述第一服务器当前供应数据的版本信息;
[0095]那么对于初始每个第一服务器的初始状态,其更新成功后,第二服务器记录的版本信息为第二服务器当前的版本信息。比如第一服务器初始状态更新时,第二服务器的公用数据版本信息为1.00,那么第二服务器记录该服务器的版本信息为1.00。
[0096]步骤220,第二服务器对变更后的公用数据生成版本信息;
[0097]比如第二服务器的公用数据增加了数据段,那么对于增加后的整个公用数据生成新的版本信息为1.01。
[0098]步骤230,第二服务器根据公用数据更新后版本信息,与当前记录的第一服务器的版本信息,判断并记录第二服务器中的公用数据与所述第一服务器的公用数据之间的数据差异标识;
[0099]那么对于第二服务器记录的每一个第一服务器,则可针对每个第一服务器判断并记录其第二服务器中的公用数据与所述第一服务器的公用数据之间的数据差异标识。比如对于第一服务器A,第二服务器记录其当前的版本信息为1.00,而第二服务器当前的版本信息为1.01,那么对于第一服务器A来说,其与第二服务器的公用数据之间版本差异为(1.01-1.00),差异标识可记录为LI。
[0100]步骤240,第二服务器根据相应第一服务器标识,通知第一服务器将数据差异标识相应的差异数据更新至缓存中;
[0101]当得到数据差异标识后,说明该第一服务器需要更新数据,那么第二服务器则可通知第一服务器将相应的差异数据进行更新即可,而不用全部更新,降低系统资源占用,提高更新速度。
[0102]该第二服务器通知第一服务器将数据差异标识相应的差异数据更新至缓存中,如实施例一所述,也可由服务器主动将差异数据发送至第一服务器进行更新,也可通知第一服务器进行更新而后等待第一服务器主动获取数据进行更新。
[0103]步骤250,接收第一服务器返回的更新结果消息;
[0104]步骤260,根据所述更新结果消息,判断相应第一服务器是否更新成功;如果所述更新结果消息包括第一服务器的缓存更新成功消息,转入步骤270 ;如果所述更新结果消息包括第一服务器的缓存更新失败消息,转入步骤280 ;[0105]步骤270,则更新当前记录的对应该第一服务器的版本信息为包括变更公用数据的版本信息;转入步骤220,;
[0106]步骤280,保留当前记录的对应该第一服务器的版本信息,并保留数据差异标识;转入步骤290 ;
[0107]步骤290,第二服务器则重新根据记录的第一服务器标识,通知第一服务器从对缓存中公用数据进行更新;或者,生成针对所述第一服务器的更新失败报警信息,提示人工更新;如果更新成功,转入步骤220 ;如果更新失败,转入步骤260。
[0108]本实施例可有效监控第一服务器是否更新成功,并且可明确监控各第一服务器哪些差异数据未更新成功,对每个第一服务器的监控更具针对性,和统一性,管理方便,维护成本低。
[0109]参照图4,示出了本申请一种缓存数据处理系统实施例的结构示意图,具体可以包括:
[0110]第二服务器310和至少一个第一服务器;
[0111]所述第二服务器310包括:
[0112]记录模块311,用于针对每一第一服务器,第二服务器记录第一服务器标识;
[0113]变更通知模块312,用于每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新;
[0114]更新判断模块313,用于第二服务器监控第一服务器是否更新成功;
[0115]每个所述第一服务器用于从第二服务器获取公用数据,对该第一服务器缓存中公用数据进行更新。
[0116]其中,所述更新判断模块包括:
[0117]结果接收模块,用于接收第一服务器返回的更新结果消息;
[0118]更新判断模块,用于根据所述更新结果消息,判断相应第一服务器是否更新成功。
[0119]其中,所述变更通知模块还包括:
[0120]版本生成模块,用于第二服务器对变更后的公用数据生成版本信息。
[0121]其中,还包括:
[0122]版本记录模块,用于根据所述更新结果消息,记录第一服务器当前成功缓存的公用数据的版本信息。
[0123]其中,还包括:
[0124]差异记录模块,用于第二服务器根据公用数据更新后版本信息,与当前记录的第一服务器的版本信息,判断并记录第二服务器中的公用数据与所述第一服务器的公用数据之间的数据差异标识。
[0125]其中,所述变更通知模块包括:
[0126]差异更新通知模块,用于第二服务器根据相应第一服务器标识,通知第一服务器将数据差异标识相应的差异数据更新至缓存中。
[0127]其中,所述变更通知模块包括:
[0128]定时检查通知模块,用于每当公用数据出现变更后,第二服务器定时检查第一服务器的版本信息是否与当前最新的版本信息一致;如果不一致,则通知第二服务器根据记录的第一服务器标识通知所述第一服务器对缓存中的公用数据进行更新。[0129]其中,所述更新判断模块后包括:
[0130]第一判断处理模块,用于如果所述更新结果消息包括第一服务器的缓存更新成功消息,则更新当前记录的对应该第一服务器的版本信息为包括变更公用数据的版本信息;
[0131]第一判断处理模块,用于如果所述更新结果消息包括第一服务器的缓存更新失败消息,则保留当前记录的对应该第一服务器的版本信息,并保留数据差异标识。
[0132]其中还包括:
[0133]第三判断处理模块,用于如果判断第一服务器更新失败,第二服务器则重新根据记录的第一服务器标识,通知第一服务器从对缓存中公用数据进行更新;
[0134]或者,第四判断处理模块,用于生成针对所述第一服务器的更新失败报警信息。
[0135]需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0136]对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0137]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0138]本申请可用于众多通用或专用的计算系统环境或配置中。例如:服务器计算机、多处理器系统、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0139]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0140]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0141]以上对本申请所提供的一种缓存数据处理方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种缓存数据处理方法,其特征在于,包括: 针对每一第一服务器,第二服务器记录第一服务器标识; 每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新; 第二服务器监控第一服务器是否更新成功。
2.根据权利要求1所述的方法,其特征在于,所述第二服务器监控第一服务器是否更新成功包括: 接收第一服务器返回的更新结果消息; 根据所述更新结果消息,判断相应第一服务器是否更新成功。
3.根据权利要求2所述的方法,其特征在于,每当公用数据出现变更之后还包括: 第二服务器对变更后的公用数据生成版本信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述更新结果消息,判断相应第一服务器是否更新成功后,还包括: 根据所述更新结果消息,记录第一服务器当前成功缓存的公用数据的版本信息。
5.根据权利要求4所述的方法,其特征在于,还包括: 第二服务器根据公用数据更新后版本信息,与当前记录的第一服务器的版本信息,判断并记录第二服务器中的公用数据与`所述第一服务器的公用数据之间的数据差异标识。
6.根据权利要求5所述的方法,其特征在于,所述第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新包括: 第二服务器根据相应第一服务器标识,通知第一服务器将数据差异标识相应的差异数据更新至缓存中。
7.根据权利要求5所述的方法,其特征在于,所述第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新包括: 每当公用数据出现变更后,第二服务器定时检查第一服务器的版本信息是否与当前最新的版本信息一致;如果不一致,则通知第二服务器根据记录的第一服务器标识通知所述第一服务器对缓存中的公用数据进行更新。
8.根据权利要求5所述的方法,其特征在于,所述根据所述更新结果消息,判断相应第一服务器是否更新成功后包括: 如果所述更新结果消息包括第一服务器的缓存更新成功消息,则更新当前记录的对应该第一服务器的版本信息为包括变更公用数据的版本信息; 如果所述更新结果消息包括第一服务器的缓存更新失败消息,则保留当前记录的对应该第一服务器的版本信息,并保留数据差异标识。
9.根据权利要求1所述的方法,其特征在于,所述第二服务器监控第一服务器是否更新成功之后还包括: 如果判断第一服务器更新失败,第二服务器则重新根据记录的第一服务器标识,通知第一服务器从对缓存中公用数据进行更新; 或者,生成针对所述第一服务器的更新失败报警信息。
10.一种缓存数据处理系统,其特征在于,包括: 第二服务器和至少一个第一服务器;所述第二服务器包括: 记录模块,用于针对每一第一服务器,第二服务器记录第一服务器标识; 变更通知模块,用于每当公用数据出现变更,第二服务器根据记录的各第一服务器标识通知第一服务器对缓存中的公用数据进行更新; 更新判断模块,用于第二服务器监控第一服务器是否更新成功; 每个所述第一服务器用于从第二服务器获取公用数据,对该第一服务器缓存中公用数据进行更新。
【文档编号】H04L29/08GK103780636SQ201210395520
【公开日】2014年5月7日 申请日期:2012年10月17日 优先权日:2012年10月17日
【发明者】韩旻 申请人:阿里巴巴集团控股有限公司