CN106506586B - 分布式缓存同步方法、装置、节点和系统 - Google Patents

分布式缓存同步方法、装置、节点和系统 Download PDF

Info

Publication number
CN106506586B
CN106506586B CN201610839714.0A CN201610839714A CN106506586B CN 106506586 B CN106506586 B CN 106506586B CN 201610839714 A CN201610839714 A CN 201610839714A CN 106506586 B CN106506586 B CN 106506586B
Authority
CN
China
Prior art keywords
update
caching
threshold
data object
data
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.)
Active
Application number
CN201610839714.0A
Other languages
English (en)
Other versions
CN106506586A (zh
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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201610839714.0A priority Critical patent/CN106506586B/zh
Publication of CN106506586A publication Critical patent/CN106506586A/zh
Application granted granted Critical
Publication of CN106506586B publication Critical patent/CN106506586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • 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

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、存在数据更新的节点只向其他节点广播更新操作。
然而,这三种方法都属于静态分布式缓存同步方法,其没有考虑节点的自身性能,因此会导致更新效率低下。
发明内容
本公开实施例的目的是提供一种分布式缓存同步方法、装置、节点和系统,其能够提高分布式缓存同步的更新效率。
根据本公开实施例的第一方面,提供一种分布式缓存同步方法,该方法包括:分析日志文件数据;基于分析结果确定同步更新方式;以及基于所确定的同步更新方式来通知更新。
可选地,所述日志文件数据包括缓存中存储的数据对象的标识、操作方法名、参数序列大小、操作类型、操作执行的开始时间、操作执行的结束时间和操作返回值大小。
可选地,所述基于分析结果确定同步更新方式包括:
在所述分析结果为缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于第二阈值时,确定所述同步更新方式为只传播更新的数据;
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值时,确定所述同步更新方式为只传播更新通知;以及
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值或者所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于所述第二阈值时,确定所述同步更新方式为只传播更新操作的方法名和参数序列。
根据本公开实施例的第二方面,提供一种分布式缓存同步装置,该装置包括:分析模块,用于分析日志文件数据;确定模块,用于基于分析结果确定同步更新方式;以及通知模块,用于基于所确定的同步更新方式来通知更新。
可选地,所述日志文件数据包括缓存中存储的数据对象标识、操作方法名、参数序列大小、操作类型、操作执行的开始时间、操作执行的结束时间和操作返回值大小。
可选地,所述确定模块基于分析结果确定同步更新方式包括:
在所述分析结果为缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于第二阈值时,所述确定模块确定所述同步更新方式为只传播更新的数据;
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值时,所述确定模块确定所述同步更新方式为只传播更新通知;以及
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值或者所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于所述第二阈值时,所述确定模块确定所述同步更新方式为只传播更新操作的方法名和参数序列。
根据本公开实施例的第三方面,提供一种分布式缓存同步节点,该节点包括上面描述的装置。
根据本公开实施例的第四方面,提供一种分布式缓存同步系统,该系统包括:N个如上所述的节点;以及数据库,用于备份N个所述节点上的数据。
可选地,每个所述节点还包括更新模块,用于在其他所述节点中的所述通知模块通知更新时,基于所述同步更新方式来进行更新。
可选地,所述更新模块基于所述同步更新方式来进行更新包括:
在所述同步更新方式为只传播更新的数据时,所述更新模块用于接收更新数据并更新本地缓存;
在所述同步更新方式为只传播更新通知时,所述更新模块用于接收更新通知,并然后向所述数据库发送数据查询请求以更新本地缓存;以及
在所述同步更新方式为只传播更新操作的方法名和参数序列时,所述更新模块用于接收更新操作的方法名和参数序列,并从本地查找和调用相匹配的操作方法来更新本地缓存。
通过上述技术方案,由于本公开实施例首先分析日志文件数据,然后基于分析结果确定同步更新方式,然后基于所确定的同步更新方式来通知更新,因此其能够根据诸如服务器、节点等的当前性能特征来选择合适的同步更新方式,也即是一种动态的同步更新方式,因此其能够有效地提高分布式缓存同步更新的效率。
本公开实施例的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开实施例,但并不构成对本公开实施例的限制。在附图中:
图1是根据本公开一种实施例的分布式缓存同步方法的流程图;
图2是根据本公开一种实施例的分布式缓存同步系统的示意框图;
图3是根据本公开一种实施例的分布式缓存同步节点的示意框图;
图4是根据本公开一种实施例的分布式缓存同步系统的示意框图;以及
图5是根据本公开又一实施例的分布式缓存同步系统的示意框图。
具体实施方式
以下结合附图对本公开实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开实施例,并不用于限制本公开实施例。
本公开实施例所涉及的应用场景包括由多个服务器、节点等组成的分布式缓存系统,由多个对等节点组成的对等网络,等等。
根据本公开实施例的第一方面,提供一种分布式缓存同步方法,如图1所示,该方法可以包括步骤S101至步骤S103。
在步骤S101中,分析日志文件数据。
当用户执行缓存操作时,就会在本地生成日志文件,用以记录与缓存操作的执行有关的各种数据。例如,所述日志文件数据可以包括缓存中存储的数据对象的标识、操作方法名、参数序列大小、操作类型、操作执行的开始时间、操作执行的结束时间和操作返回值大小等等。本领域技术人员应当理解,上述日志文件数据所包括的数据项仅是举例,而非穷举。
其中,缓存中存储的数据对象的标识用于标识缓存中存储的数据对象。
操作方法名指的是操作方法的签名,或者简称为方法名或函数名。
以以下程序为例进行说明。addObject1就是操作方法名,表示向数据库中新增数据。Parmeter1、parmeter2表示操作方法中涉及的参数。List<Object>表示返回值,也即返回List<Object>类型的数据。Public表示操作方法的访问权限,也即公有权限。
public List<Object>
addObject1(String parmeter1,List<Object>parmeter2,….){
//方法体
}
操作类型表示操作方法的类型,例如增加、删除、修改、查询等等。
通过对本地日志文件中的数据进行分析,就能够提取到与本地缓存有关的有用信息,例如缓存中存储的数据对象的历史查询次数,缓存中存储的数据对象的历史更新次数,缓存中存储的数据对象的更新操作所消耗的时间(例如,对缓存中存储的数据对象进行增加所消耗的时间、对缓存中存储的数据对象进行删除所消耗的时间,对缓存中存储的数据对象进行修改所消耗的时间,等等),操作方法的参数序列大小(例如,增加用户名操作所涉及的参数序列大小、更改用户名操作所涉及的参数序列大小,等等),操作方法所属的操作类型(例如,增加用户名操作属于增加操作类型,更改用户名操作属于更改操作类型,等等)。
在提取到这些与本地缓存有关的有用信息之后,就能够获得本地缓存的业务操作特征,例如本地缓存的读取频率很高、本地缓存的更新频率很高、本地缓存更新的数据量很大、本地缓存更新的数据量很小等等。如果基于这些业务操作特征来动态地选择相应的同步更新方式,则能够有效地提高分布式缓存同步更新的效率。
然后,在步骤S102中,基于分析结果确定同步更新方式。
例如,在所述分析结果为缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于第二阈值时,这说明缓存中存储的数据对象的更新频率较大并且更新的数据量较小,因此可以确定所述同步更新方式为只传播更新的数据。
以下结合图2所示的分布式缓存同步系统来示例性描述一下只传播更新的数据的同步更新方式。图2所示的分布式缓存同步系统包括数据库100和N个服务器。
当用户对服务器1上的缓存中存储的数据对象X进行更改时,如果在步骤S102中确定同步更新方式为只传播更新的数据,则服务器1会通过广播的方式将针对缓存中存储的数据对象X的更新数据发送给所有订阅此缓存同步通知消息的其他服务器,也即服务器2至服务器N,然后服务器2至服务器N接收针对缓存中存储的数据对象X的更新数据,并更新自己的本地缓存。
另外,服务器1还会将针对缓存中存储的数据对象X的更新数据发送给数据库100,以便于数据库100进行备份。
再例如,在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值时,这说明缓存中存储的数据对象的更新频率较小并且更新的数据量较大,因此可以确定所述同步更新方式为只传播更新通知。
仍然结合图2所示的分布式缓存同步系统来示例性描述一下只传播更新通知的同步更新方式。
当用户对服务器1上的缓存中存储的数据对象X进行更改时,如果在步骤S102中确定同步更新方式为只传播更新通知,则服务器1会向所有订阅此缓存同步通知消息的其他服务器,也即服务器2至服务器N,发送关于缓存中存储的数据对象X的失效通知的广播消息,当服务器2至服务器N接收到缓存失效通知后,向数据库100发送数据查询请求,以便从数据库100中获取针对缓存中存储的数据对象X的更新数据来更新自己的本地缓存。
再例如,在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值或者所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于所述第二阈值时,这说明更新频率较大且更新的数据量较大或者更新频率较小且更新的数据量较小,因此可以确定所述同步更新方式为只传播更新操作的方法名和参数序列。
仍然结合图2所示的分布式缓存同步系统来示例性描述一下只传播更新操作的方法名和参数序列的同步更新方式。
当用户对服务器1上的缓存中存储的数据对象X进行更改时,如果在步骤S102中确定同步更新方式为只传播更新操作的方法名和参数序列,则服务器1会将更新缓存中存储的数据对象X的方法名及有序的参数列表打包并附载在消息体上通过广播消息通知所有订阅此消息的其它服务器,也即服务器2至服务器N,当服务器2至服务器N接收到更新操作的方法名和参数序列时,会根据接收到的更新操作方法名和参数序列,从本地查找并调用相匹配的操作方法来执行针对缓存中存储的数据对象X的本地缓存更新。由于每个服务器上都有相同的操作方法的副本,因此直接调用本地的操作方法,就可以实现本地缓存的更新操作。
这样,通过步骤S102,就在确定同步更新方式时,充分考虑了业务操作特征,从而无论是更新频率较大还是被更新的数据量或参数较大,都能够有效地提高分布式缓存同步更新的效率,并能够避免网络阻塞,减轻服务器2至N执行本地更新操作的负载。
另外,第一阈值和第二阈值是常量,其可以根据本地缓存的业务操作特征进行设置。
然后,在步骤S103中,基于所确定的同步更新方式来通知更新。
仍然以图2所示的分布式缓存同步系统为例进行说明,在服务器1确定了同步更新方式之后,其会向服务器2至N通知是采用只传播更新的数据、还是只传播更新通知、还是只传播更新操作的方法名和参数序列的同步更新方式来更新服务器2至N的本地缓存。
因此通过采用步骤S101至步骤S103,能够非常有效地提高分布式缓存同步更新的效率。
根据本公开实施例的第二方面,提供一种分布式缓存同步装置,如图3所示,该装置可以包括分析模块301、确定模块302和通知模块303。以下对这些模块进行详细描述。
分析模块301,用于分析日志文件数据。
当用户执行缓存操作时,就会在本地生成日志文件,用以记录与缓存操作的执行有关的各种数据。例如,所述日志文件数据可以包括缓存中存储的数据对象的标识、操作方法名、参数序列大小、操作类型、操作执行的开始时间、操作执行的结束时间和操作返回值大小等等。本领域技术人员应当理解,上述日志文件数据所包括的数据项仅是举例,而非穷举。
其中,缓存中存储的数据对象的标识用于标识缓存中存储的数据对象。
操作方法名指的是操作方法的签名,或者简称为方法名或函数名。
以以下程序为例进行说明。addObject1就是操作方法名,表示向数据库中新增数据。Parmeter1、parmeter2表示操作方法中涉及的参数。List<Object>表示返回值,也即返回List<Object>类型的数据。Public表示操作方法的访问权限,也即公有权限。
public List<Object>
addObject1(String parmeter1,List<Object>parmeter2,….){
//方法体
}
操作类型表示操作方法的类型,例如增加、删除、修改、查询等等。
通过分析模块301对本地日志文件中的数据进行分析,就能够提取到与本地缓存有关的有用信息,例如缓存中存储的数据对象的历史查询次数,缓存中存储的数据对象的历史更新次数,缓存中存储的数据对象的更新操作所消耗的时间(例如,对缓存中存储的数据对象进行增加所消耗的时间、对缓存中存储的数据对象进行删除所消耗的时间,对缓存中存储的数据对象进行修改所消耗的时间,等等),操作方法的参数序列大小(例如,增加用户名操作所涉及的参数序列大小、更改用户名操作所涉及的参数序列大小,等等),操作方法所属的操作类型(例如,增加用户名操作属于增加操作类型,更改用户名操作属于更改操作类型,等等)。
在提取到这些与本地缓存有关的有用信息之后,就能够获得本地缓存的业务操作特征,例如本地缓存的读取频率很高、本地缓存的更新频率很高、本地缓存更新的数据量很大、本地缓存更新的数据量很小等等。如果确定模块302基于这些业务操作特征来动态地确定相应的同步更新方式,则能够有效地提高分布式缓存同步更新的效率。
确定模块302,用于基于分析结果确定同步更新方式。
例如,在分析模块301的分析结果为缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于第二阈值时,所述确定模块302可以确定所述同步更新方式为只传播更新的数据;
在分析模块301的分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值时,所述确定模块302可以确定所述同步更新方式为只传播更新通知;以及
在分析模块301的分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值或者所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于所述第二阈值时,所述确定模块302可以确定所述同步更新方式为只传播更新操作的方法名和参数序列。
确定模块302所执行的操作的具体方式已经结合图2在根据本公开实施例的分布式缓存同步方法中进行了详细描述,此处不再赘述。
通知模块303,用于基于所确定的同步更新方式来通知更新。通知模块303所执行的操作的具体方式已经结合图2在根据本公开实施例的分布式缓存同步方法中进行了详细描述,此处不再赘述。
这样,通过采用根据本公开实施例的分布式缓存同步装置,由于分析模块301首先分析日志文件数据,然后确定模块302基于分析结果确定同步更新方式,然后通知模块303基于所确定的同步更新方式来通知更新,因此其能够根据诸如服务器、节点等的当前性能特征来选择合适的同步更新方式,也即这是一种动态的同步更新方式,因此其能够有效地提高分布式缓存同步更新的效率。
根据本公开实施例的第三方面,还提供一种分布式缓存同步节点,该节点可以包括如上描述的根据本公开实施例的分布式缓存同步装置。
根据本公开实施例的第四方面,还提供一种分布式缓存同步系统,如图4所示,该系统可以包括:N个如上描述的根据本公开实施例的分布式缓存同步节点;以及数据库100,用于备份N个所述分布式缓存同步节点上的数据。
可选地,根据本公开实施例的分布式缓存同步系统的又一方面,如图5所示,每个分布式缓存同步节点还可以包括更新模块304,用于在其他分布式缓存同步节点中的所述通知模块303通知更新时,基于所述同步更新方式来进行更新。以下以分布式缓存同步节点1中的缓存中存储的数据对象被更新为例进行说明。
例如,假设分布式缓存同步节点1的通知模块303向其他分布式缓存同步节点通知所述同步更新方式为只传播更新的数据,则分布式缓存同步节点2至N中的更新模块304用于接收更新数据并更新本地缓存;假设分布式缓存同步节点1的通知模块303向其他分布式缓存同步节点通知所述同步更新方式为只传播更新通知,则分布式缓存同步节点2至N中的更新模块304用于接收更新通知,并然后向所述数据库100发送数据查询请求以更新本地缓存;以及假设分布式缓存同步节点1的通知模块303向其他分布式缓存同步节点通知所述同步更新方式为只传播更新操作的方法名和参数序列,则分布式缓存同步节点2至N中的更新模块304用于接收更新操作的方法名和参数序列,并从本地查找和调用相匹配的操作方法来更新本地缓存。
由于更新模块304所执行的操作已经结合图2在根据本公开实施例的分布式缓存同步方法中进行了详细描述,所以此处不再赘述。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (8)

1.一种分布式缓存同步方法,其特征在于,该方法包括:
分析日志文件数据;
基于分析结果确定同步更新方式;以及
基于所确定的同步更新方式来通知更新;
其中,所述基于分析结果确定同步更新方式包括:
在所述分析结果为缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于第二阈值时,确定所述同步更新方式为只传播更新的数据;
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值时,确定所述同步更新方式为只传播更新通知;以及
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值或者所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于所述第二阈值时,确定所述同步更新方式为只传播更新操作的方法名和参数序列。
2.根据权利要求1所述的方法,其特征在于,所述日志文件数据包括缓存中存储的数据对象的标识、操作方法名、参数序列大小、操作类型、操作执行的开始时间、操作执行的结束时间和操作返回值大小。
3.一种分布式缓存同步装置,其特征在于,该装置包括:
分析模块,用于分析日志文件数据;
确定模块,用于基于分析结果确定同步更新方式;以及
通知模块,用于基于所确定的同步更新方式来通知更新;
其中,所述确定模块基于分析结果确定同步更新方式包括:
在所述分析结果为缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于第二阈值时,所述确定模块确定所述同步更新方式为只传播更新的数据;
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值时,所述确定模块确定所述同步更新方式为只传播更新通知;以及
在所述分析结果为所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率小于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间大于等于所述第二阈值或者所述缓存中存储的数据对象的历史查询次数与历史更新次数的比率大于等于所述第一阈值而且所述缓存中存储的数据对象的更新操作所消耗的时间小于所述第二阈值时,所述确定模块确定所述同步更新方式为只传播更新操作的方法名和参数序列。
4.根据权利要求3所述的装置,其特征在于,所述日志文件数据包括缓存中存储的数据对象的标识、操作方法名、参数序列大小、操作类型、操作执行的开始时间、操作执行的结束时间和操作返回值大小。
5.一种分布式缓存同步节点,其特征在于,该节点包括权利要求3至4中任一权利要求所述的装置。
6.一种分布式缓存同步系统,其特征在于,该系统包括:
N个根据权利要求5所述的节点;以及
数据库,用于备份N个所述节点上的数据。
7.根据权利要求6所述的系统,其特征在于,每个所述节点还包括更新模块,用于在其他所述节点中的所述通知模块通知更新时,基于所述同步更新方式来进行更新。
8.根据权利要求7所述的系统,其特征在于,所述更新模块基于所述同步更新方式来进行更新包括:
在所述同步更新方式为只传播更新的数据时,所述更新模块用于接收更新数据并更新本地缓存;
在所述同步更新方式为只传播更新通知时,所述更新模块用于接收更新通知,并然后向所述数据库发送数据查询请求以更新本地缓存;以及
在所述同步更新方式为只传播更新操作的方法名和参数序列时,所述更新模块用于接收更新操作的方法名和参数序列,并从本地查找和调用相匹配的操作方法来更新本地缓存。
CN201610839714.0A 2016-09-21 2016-09-21 分布式缓存同步方法、装置、节点和系统 Active CN106506586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610839714.0A CN106506586B (zh) 2016-09-21 2016-09-21 分布式缓存同步方法、装置、节点和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610839714.0A CN106506586B (zh) 2016-09-21 2016-09-21 分布式缓存同步方法、装置、节点和系统

Publications (2)

Publication Number Publication Date
CN106506586A CN106506586A (zh) 2017-03-15
CN106506586B true CN106506586B (zh) 2019-05-03

Family

ID=58290671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610839714.0A Active CN106506586B (zh) 2016-09-21 2016-09-21 分布式缓存同步方法、装置、节点和系统

Country Status (1)

Country Link
CN (1) CN106506586B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108366109A (zh) * 2018-02-01 2018-08-03 王晓峰 一种气象数据数值预报云共享平台和数据共享方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188566A (zh) * 2007-12-13 2008-05-28 沈阳东软软件股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN104462517A (zh) * 2014-12-22 2015-03-25 北京奇虎科技有限公司 数据同步方法及装置
CN105187464A (zh) * 2014-06-19 2015-12-23 中兴通讯股份有限公司 一种分布式存储系统中的数据同步方法、装置及系统
CN105912427A (zh) * 2016-04-29 2016-08-31 浪潮(北京)电子信息产业有限公司 一种数据容灾同步的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188566A (zh) * 2007-12-13 2008-05-28 沈阳东软软件股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN105187464A (zh) * 2014-06-19 2015-12-23 中兴通讯股份有限公司 一种分布式存储系统中的数据同步方法、装置及系统
CN104462517A (zh) * 2014-12-22 2015-03-25 北京奇虎科技有限公司 数据同步方法及装置
CN105912427A (zh) * 2016-04-29 2016-08-31 浪潮(北京)电子信息产业有限公司 一种数据容灾同步的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
分布式通信平台下的数据缓存与同步技术研究与实现;陈贤锋;《中国优秀硕士学位论文全文数据库信息科技辑》;20111231;第3.4.3节

Also Published As

Publication number Publication date
CN106506586A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN107623729B (zh) 一种缓存方法、设备及缓存服务系统
US9098312B2 (en) Methods for dynamically generating an application interface for a modeled entity and devices thereof
JP7359372B2 (ja) 分散型ネットワーク内の検証
CN101404627A (zh) 即时通讯系统更新联系人状态的方法及即时通讯系统
CN113515545B (zh) 数据查询方法、装置、系统、电子设备以及存储介质
CN105468707A (zh) 一种基于缓存的数据处理方法及装置
US9092499B2 (en) Synchronizing endpoint data stores having disparate schemas
CN106034163A (zh) 资源信息推送方法及装置
CN103399894A (zh) 一种基于共享存储池的分布式事务处理方法
CN102769640A (zh) 用户信息的更新方法、服务器以及系统
Li et al. Protecting user anonymity in location-based services with fragmented cloaking region
CN112948498A (zh) 一种分布式系统全局标识的生成方法和装置
CN106506586B (zh) 分布式缓存同步方法、装置、节点和系统
US20140317055A1 (en) Version Vector Scheme for Data Synchronization on Resource-Constrained Networks
CN110929126A (zh) 一种基于远程过程调用实现的分布式爬虫调度方法
CN103117883B (zh) 一种分组设备运行状态同步方法
CN113438317B (zh) 一种网关数据处理的方法及装置
Xie et al. Mining individual mobility patterns from mobile phone data
CN106649601A (zh) 一种文件系统数据处理方法、客户端、服务端及系统
CN110417887A (zh) 一种基于代理的信息资源目录同步方法
CN113297164A (zh) 数据库系统、数据查询方法及装置
Tomsic et al. Scaling geo-replicated databases to the MEC environment
CN105359493A (zh) 组合服务的呈现延迟和状态计算
CN108737522A (zh) 一种消息的处理方法、装置和系统
CN106657376A (zh) 数据同步处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant