CN111221469B - 同步缓存数据的方法、装置和系统 - Google Patents

同步缓存数据的方法、装置和系统 Download PDF

Info

Publication number
CN111221469B
CN111221469B CN201811427828.XA CN201811427828A CN111221469B CN 111221469 B CN111221469 B CN 111221469B CN 201811427828 A CN201811427828 A CN 201811427828A CN 111221469 B CN111221469 B CN 111221469B
Authority
CN
China
Prior art keywords
fragment
data
name
updated
cached
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
CN201811427828.XA
Other languages
English (en)
Other versions
CN111221469A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201811427828.XA priority Critical patent/CN111221469B/zh
Priority to PCT/CN2019/121356 priority patent/WO2020108544A1/zh
Publication of CN111221469A publication Critical patent/CN111221469A/zh
Application granted granted Critical
Publication of CN111221469B publication Critical patent/CN111221469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data

Landscapes

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

Abstract

本申请提供了一种同步缓存数据的方法、装置和系统,属于数据存储技术领域。该方法包括:在进行数据同步时,第二设备可以向第一设备发送数据同步请求,并在其中携带第二设备缓存的分片的名称,第一设备接收到后,可以确定本次接收该数据同步请求的与上次接收第二设备发送的数据同步请求的时间间隔,然后第一设备可以根据该时间间隔、第二设备缓存的分片的名称和第二设备对应的预设缓存清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,然后通知给第二设备,第二设备可以进行对待清空的分片的进行清空处理,对待更新的分片进行更新处理。采用本申请,可以提供一种同步缓存数据的方法。

Description

同步缓存数据的方法、装置和系统
技术领域
本申请涉及数据存储领域,特别涉及一种同步缓存数据的方法、装置和系统。
背景技术
随着计算机技术和网络技术的发展,为了使设备能快速的响应用户的请求,设备之间的交互显得尤为重要,例如,终端与服务器之间的交互,服务器与服务器之间的交互等。
相关技术中,为了使设备之间的交互更快速,一般是将要交互的设备上存储的数据进行同步,每次一个设备上的数据进行修改后,会同步给与该设备交互的设备,使该交互的设备及时的更新缓存的数据。
由于需要将所有的数据进行同步,会导致传输资源的浪费,所以急需提供一种同步缓存数据的方法。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种同步缓存数据的方法、装置和系统。所述技术方案如下:
第一方面,提供了一种同步缓存数据的方法,所述方法包括:
第一设备接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
所述第一设备确定所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;
所述第一设备根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;
所述第一设备向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。
可选的,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;
所述第一设备确定所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔,包括:
所述第一设备将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。
这样,可以节约第一设备的存储空间。
可选的,所述第一设备根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,包括:
如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则所述第一设备根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;
所述第一设备根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
这样,可以使确定出的待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称更准确。
可选的,所述方法还包括:
如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则所述第一设备向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。
这样,可以降低第二设备响应差的概率。
可选的,所述第一设备根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长,包括:
所述第一设备根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;
所述第一设备根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。
可选的,所述第一设备根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,包括:
对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则所述第一设备确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则所述第一设备确定所述分片对应的最长同步时长和最多同步记录数目;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待清空的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为无需更新的分片的名称;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待更新的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待更新的分片的名称。
这样,可以使确定出的待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称更准确。
可选的,所述第一设备确定所述分片对应的最长同步时长和最多同步记录数目,包括:
所述第一设备根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;
所述第一设备根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。
可选的,所述方法还包括:
所述第一设备从预设的缓存区域获取所述分片的同步记录数目。
这样,可以快速的获取到同步记录数目。
可选的,所述方法还包括:
所述第一设备接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;
所述第一设备根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。
这样,可以使后续快速的获取到同步记录数目。
可选的,所述第一设备接收第二设备发送的数据同步请求,包括:
在所述第一设备与所述第二设备之间的连接为短连接时,所述第一设备接收所述第二设备每隔预设周期发送的数据同步请求。
可选的,所述方法还包括:
所述第一设备在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。
这样,可以及时的同步数据。
第二方面,提供了一种同步缓存数据的方法,所述方法包括:
第二设备向第一设备发送数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
所述第二设备接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;
所述第二设备对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。
可选的,所述第二设备向第一设备发送数据同步请求,包括:
在第二设备与第一设备的连接为短连接时,每隔预设周期,所述第二设备向第一设备发送数据同步请求。
可选的,所述方法还包括:
在所述第二设备与所述第一设备的连接为长连接时,所述第二设备接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;
如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。
可选的,所述方法还包括:
所述第二设备当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;所述第二设备当接收到所述服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中,并反馈所述数据查询请求对应的数据;
如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。
第三方面,提供了一种同步缓存数据的设备,所述设备包括:
接收模块,用于接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
确定模块,用于确定第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;
发送模块,用于向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。
可选的,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;
所述确定模块,用于:
将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。
可选的,所述确定模块,用于:
如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;
根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
可选的,所述发送模块,还用于:
如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。
可选的,所述确定模块,用于:
根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;
根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。
可选的,所述确定模块,用于:
对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则确定所述分片对应的最长同步时长和最多同步记录数目;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待清空的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为无需更新的分片的名称;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称。
可选的,所述确定模块,用于:
根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;
根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。
可选的,所述确定模块,还用于:
从预设的缓存区域获取所述分片的同步记录数目。
可选的,所述接收模块,还用于:
接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;
所述设备还包括:
同步模块,用于根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。
可选的,所述接收模块,用于:
在所述第一设备与所述第二设备之间的连接为短连接时,接收所述第二设备每隔预设周期发送的数据同步请求。
可选的,所述发送模块,还用于:
在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。
第四方面,提供了一种同步缓存数据的设备,所述设备包括:
发送模块,用于向第一设备发送数据同步请求,其中,所述数据同步请求中携带有第二设备缓存的分片的名称;
接收模块,用于接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;
同步模块,用于对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。
可选的,所述发送模块,用于:
在第二设备与第一设备的连接为短连接时,每隔预设周期,向第一设备发送数据同步请求。
可选的,所述接收模块,还用于:
在所述第二设备与所述第一设备的连接为长连接时,接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;
所述同步模块,还用于:
如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。
可选的,所述发送模块,还用于:
当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;
所述同步模块,还用于:当接收到所述服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中;
所述发送模块,还用于反馈所述数据查询请求对应的数据;
所述发送模块,还用于如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。
第五方面,提供了一种同步缓存数据的系统,所述系统包括第一设备和第二设备,其中:
所述第一设备,如上述第三方面提到的设备。所述第二设备,如上述第四方面提到的设备。
第六方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面和第二方面的方法步骤。
第七方面,提供了一种同步缓存数据的设备,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述第一方面和第二方面的方法步骤。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,在进行数据同步时,第二设备可以向第一设备发送数据同步请求,并在其中携带第二设备缓存的分片的名称,第一设备接收到后,可以确定本次接收该数据同步请求的与上次接收第二设备发送的数据同步请求的时间间隔,然后第一设备可以根据该时间间隔、第二设备缓存的分片的名称和第二设备对应的预设缓存清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,然后通知给第二设备,第二设备可以进行对待清空的分片的进行清空处理,对待更新的分片进行更新处理。这样,针对不同的分片,进行针对性的缓存处理,所以提供了一种同步缓存数据的方法。
附图说明
图1是本发明实施例提供的一种同步缓存数据的系统图;
图2是本发明实施例提供的一种同步缓存数据的系统图;
图3是本发明实施例提供的一种同步缓存数据的方法流程图;
图4是本发明实施例提供的一种同步缓存数据的设备的结构示意图;
图5是本发明实施例提供的一种同步缓存数据的设备的结构示意图;
图6是本发明实施例提供的一种同步缓存数据的设备的结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种同步缓存数据的方法,该方法的执行主体可以为第一设备和第二设备。
针对不同的应用场景,第一设备和第二设备的类型不相同,以下给出两种可能的应用场景:
第一种应用场景,如图1所示,第一设备是第三方的服务器,第二设备是应用程序的后台服务器,用户使用第三方的账号登录应用程序时,后台服务器和第三方的服务器进行交互,获得第三方的服务器的授权。第一设备中可以设置有处理器、存储器和收发器等,处理器可以用于进行同步缓存数据的过程的处理,存储器可以用于存储同步缓存数据的过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。第二设备中可以设置有处理器、存储器和收发器等,处理器可以用于进行同步缓存数据的过程的处理,存储器可以用于存储同步缓存数据的过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。
第二种应用场景,如图2所示,第一设备可以为应用程序的后台服务器,第二设备为安装有该应用程序的终端,用户使用应用程序的过程中,终端可以与该后台服务器交互,终端中缓存有一些数据,用户在使用应用程序的过程中,可以从终端的缓存中获取某些数据,而不需要从后台服务器获取。这样,第一设备可以为服务器,第二设备可以为终端,终端可以为手机、电脑等,第一设备中可以设置有处理器、存储器和收发器等,处理器可以用于进行同步缓存数据的过程的处理,存储器可以用于存储同步缓存数据的过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。第二设备中可以设置有处理器、存储器和收发器等,处理器可以用于进行同步缓存数据的过程的处理,存储器可以用于存储同步缓存数据的过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。第二设备中还可以设置有屏幕等输入输出设备等,屏幕可以用于显示操作界面等,屏幕可以是触控式屏幕。
本发明实施例中,以第一设备和第二设备均为服务器为例进行方案的详细描述,其它情况与之类似,本发明实施例不再累述。
本发明实施例提供了一种同步缓存数据的方法,如图3所示,该方法的执行流程可以如下:
步骤301,第二设备向第一设备发送数据同步请求。
在实施中,第二设备在与第一设备建立连接之后,可以获取自身存储的所有分片的名称,将所有分片的名称添加在数据同步请求中,然后向第一设备发送数据同步请求。
可选的,第一设备与第二设备为短连接时,第二设备向第一设备发送数据同步请求,相应的处理可以如下:
在第二设备与第一设备的连接为短连接时,每隔预设周期,第二设备向第一设备发送数据同步请求。
其中,短连接是相对于长连接而言,指在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,每次连接只完成一项业务的发送。预设周期可以预设,并且存储至第二设备,如0.5小时等。
在实施中,在第二设备上可以操作选择是短连接还是长连接,如果选择不接收推送,则确定第二设备与第一设备的连接为短连接,如果选择接收推送,则确定第二设备与第一设备的连接为长连接。
如果第二设备确定与第一设备之间的连接为短连接,则每隔预设周期,与第一设备建立短连接,向第一设备发送数据同步请求。
需要说明的是,上述短连接可以是TCP(Transmission Control Protocol,传输控制协议)短连接(也可以称为是HTTP(Hyper Text Transport Protocol,超文本传输协议)短连接、socket(套接字)短连接)。
步骤302,第一设备接收第二设备发送的数据同步请求。
可选的,第一设备与第二设备为短连接时,接收数据同步请求,相应的处理可以如下:
在第一设备与第二设备之间的连接为短连接时,第一设备接收第二设备每隔预设周期发送的数据同步请求。
步骤303,第一设备确定第一设备本次接收数据同步请求和上次接收第二设备发送的数据同步请求的时间间隔。
在实施中,第一设备在接收到第二设备发送的数据同步请求之后,可以确定本次接收该数据同步请求的时间点,然后获取上次接收第二设备发送的数据同步请求的时间点,然后将本次的时间点与上次的时间点取差值,得到第一设备本次接收数据同步请求与上次接收第二设备发送的数据同步请求的时间间隔。
可选的,数据同步请求中还携带有第一设备上次接收到第二设备发送的数据同步请求的时间戳信息,相应的,确定时间间隔的方式可以如下:
第一设备将第一设备本次接收到数据同步请求的时间戳与数据同步请求中携带的时间戳取差值,得到第一设备本次接收数据同步请求和上次接收第二设备发送的数据同步请求的时间间隔。
在实施中,每次第一设备接收到第二设备发送的数据同步请求后,会记录接收到该数据同步请求的时间戳,然后向第二设备发送该时间戳,第二设备会进行记录,在下一次第二设备向第一设备发送数据同步请求时,可以将该时间戳添加到数据同步请求中,发送给第一设备。
第一设备接收到第二设备发送的数据同步请求后,可以从中解析到该时间戳,并且记录该数据同步请求的接收时间戳,然后将两个时间戳取差值,得到第一设备本次接收数据同步请求和上次接收第二设备发送的数据同步请求的时间间隔。
步骤304,第一设备根据时间间隔、第二设备缓存的分片的名称和第二设备对应的预设缓存清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
其中,预设缓存清空时长可以预设,并且存储至第一设备,是最短缓存清空时长,也就是说数据的存储时长达到最短缓存清空时长后,会被全部删除。每个设备对应的预设缓存清空时长可以相同也可以不相同。
在实施中,第一设备确定出时间间隔后,可以获取对应第二设备预先存储的预设缓存清空时长,然后使用该时间间隔、预设缓存清空时长和第二设备缓存的分片的名称,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
可选的,可以使用预设缓存清空时长,在第二设备缓存的分片的名称中确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,相应的步骤304的处理可以如下:
如果时间间隔小于第二设备对应的预设缓存清空时长,则第一设备根据第二设备缓存的各分片的名称,确定各分片分别对应的预设分片清空时长。第一设备根据时间间隔和各分片分别对应的预设分片清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
在实施中,第一设备可以判断时间间隔与第二设备对应的预设缓存清空时长的大小,如果时间间隔小于第二设备对应的预设缓存清空时长,则可以使用第二设备缓存的各分片的名称,确定各分片分别对应的预设分片的清空时长,然后第一设备可以使用时间间隔和各分片分别对应的预设分片清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
另外,如果时间间隔大于或等于第二设备对应的预设缓存清空时长,则第一设备向第二设备发送缓存清空通知,第二设备接收到缓存清空通知后,可以将各分片的数据全部删除。这样,在时间间隔比较大时,第二设备存储的分片的数据大部分都需要进行更新,第一设备如果还使用现有技术的方式进行,将更新的数据发送至第一设备,会使第一设备短时间接收到的数据比较多,导致响应比较差,然而本申请中是通知第二设备将所有数据进行清空,不会导致响应比较差。
可选的,使用分片的名称,获取预设分片清空时长的方式可以如下:
第一设备根据预先存储的分片的名称与分片类型的对应关系,确定第二设备缓存的各分片的名称所属的分片类型。第一设备根据预先存储的分片类型与预设分片清空时长的对应关系,确定各分片的名称所属的分片类型所对应的预设分片清空时长。
其中,预设分片清空时长用于指示一个分片的存储时长达到预设分片清空时长时,则该分片会被确定为待清空的分片。
在实施中,在第一设备中存储有分片的名称与分片类型的对应关系,分片类型用于指示分片的数据为不同种类,不同种类的数据有不同的重要性,比如,对于一个购物类应用程序的后台服务器,可以分为权限数据、商品信息和历史浏览数据和个人信息等,在这几类数据中权限数据和个人信息可以为一类,为重要数据,商品信息可以为另一类,为次重要数据,历史浏览数据可以为另一类,为非重要数据等。在第一设备中,还存储有分片类型与预设分片清空时长的对应关系,对于同一分片类型下的各分片的数据的重要性一样,所以预设分片清空时长也相同。
第一设备可以获取预先存储的分片的名称与分片类型的对应关系,然后确定第二设备缓存的各分片的名称所属的分片类型,然后获取预先存储的分片类型与预设分片清空时长的对应关系,从该对应关系中,确定各分片的名称所属的分片类型所对应的预设分片清空时长。这样,就可以确定出各分片对应的预设分片清空时长。
可选的,可以使用预设分片清空时长,确定出待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,相应的处理可以如下:
对于第二设备缓存的每个分片,如果时间间隔大于或等于分片的预设分片清空时长,则第一设备确定分片的名称为待清空的分片的名称,如果时间间隔小于分片的预设分片清空时长,则第一设备确定分片对应的最长同步时长和最多同步记录数目。如果时间间隔大于或等于分片对应的最长同步时长,且在时间间隔内,第一设备上分片的同步记录数目大于或等于分片对应的最多同步记录数目,则第一设备确定分片的名称为待清空的分片的名称。如果时间间隔小于分片对应的最长同步时长,且在时间间隔内,第一设备上分片的同步记录数目小于分片对应的最多同步记录数目,则第一设备确定分片的名称为无需更新的分片的名称。如果时间间隔大于或等于分片对应的最长同步时长,且在时间间隔内,第一设备上分片的同步记录数目小于分片对应的最多同步记录数目,则第一设备确定分片的名称为待更新的分片的名称。如果时间间隔小于分片对应的最长同步时长,且在时间间隔内,第一设备上分片的同步记录数目大于或等于分片对应的最多同步记录数目,则第一设备确定分片的名称为待更新的分片的名称。
其中,最长同步时长与分片对应设置,对于一个分片,最长同步时长为该分片的数据被同步的最长时长间隔,最多同步记录数目与分片对应设置,对于一个分片,最多同步记录数为该分片的数据最多被同步的次数。
在实施中,对于第二设备缓存的任一分片,第一设备可以判断时间间隔与该分片的预设分片清空时长的大小,如果时间间隔大于或等于分片的预设分片清空时长,则可以确定该分片为待清空的分片,该分片的名称为待清空的分片的名称。如果时间间隔小于分片的预设分片清空时长,则可以确定该分片对应的最长同步时长和最多同步记录数目,然后判断时间间隔与最长同步时长的大小,并且获取第一设备上该分片在这段时间间隔内,被修改的次数,也即同步记录数目,然后比较该同步记录数目与最多同步记录数目的大小。
如果时间间隔大于或等于分片对应的最长同步时长,且分片的同步记录数目大于或等于分片对应的最多同步记录数目,则第一设备可以确定该分片的名称为待清空的分片的名称。例如,最多同步记录数目为100,分片的同步记录数目为105,时间间隔为5分钟,最长同步时长为2分钟,第一设备可以确定该分片的名称为待清空的分片的名称。这样,时间间隔大于或等于分片对应的最长同步时长,而且第一设备上对该分片的同步记录数目超出最多同步记录数目时,说明该分片如果要将所有的同步记录都发送至第二设备,会有大量的数据,所以直接清空,让第二设备使用时重新下载即可,可以减少第二设备的卡顿,尽可能的提升第二设备的响应速度。
如果时间间隔小于分片对应的最长同步时长,且分片的同步记录数目小于分片对应的最多同步记录数目,则第一设备可以确定该分片的名称为无需更新的分片的名称。这样,时间间隔小于分片对应的最长同步时长,而且第一设备上对该分片的同步记录数目未超出最多同步记录数目,说明不需要同步,可以通知第二设备该分片无需同步。
如果时间间隔大于或等于分片对应的最长同步时长,且分片的同步记录数目小于分片对应的最多同步记录数目,则第一设备可以确定分片的名称为待更新的分片的名称。这样,时间间隔大于或等于分片对应的最长同步时长,虽然第一设备上对该分片的同步记录数目未超出最多同步记录数目,但是由于时间间隔已经达到最长同步时长,为了使第二设备上的分片中的数据最新,也应该进行同步。
如果时间间隔小于分片对应的最长同步时长,且分片的同步记录数目大于或等于分片对应的最多同步记录数目,则第一设备可以确定分片的名称为待更新的分片的名称。这样,虽然时间间隔小于分片对应的最长同步时长,但是第一设备上对该分片的同步记录数目超出最多同步记录数目,应该进行及时的同步。
可选的,确定分片的最长同步时长和最多同步记录数目的方式可以如下:
第一设备根据预先存储的分片的名称与分片类型的对应关系,确定分片所属的分片类型。第一设备根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定分片所属的分片类型对应的最长同步时长和最多同步记录数目。
在实施中,第一设备中预先存储有分片的名称与分片类型的对应关系,第一设备可以使用分片的名称,在该对应关系中,确定该分片的名称所对应的分片类型。然后可以获取预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,然后从该对应关系中,确定分片的名称所属的分片类型对应的最长同步时长和最多同步记录数目。这样,由于存储了两个对应关系,更便于查找出分片的最长同步时长和最多同步记录数目。
可选的,还可以从第一设备的缓存区域获取分片的同步记录数目,相应的处理可以如下:
第一设备从预设的缓存区域获取分片的同步记录数目。
在实施中,第一设备中设置有预设的缓存区域,第二设备每次请求对第一设备上的数据请求修改时,第一设备将修改后的数据更新到数据库的同时,还可以在该缓存区域中,存入修改后的数据,修改后的数据会对应有第一设备存入修改后的数据的时间戳,并且写明该修改后的数据所属的分片,以及该分片所属的分片类型,此处可以有两种存储方式,第一种存储方式是以时间戳的方式进行存储,修改后的数据的时间戳越晚,越排在最前面,如表一所示。
表一
Figure BDA0001882031610000161
Figure BDA0001882031610000171
需要说明的是,在表二中,T1晚于T2,T2晚于T3。
第二种存储方式是以分片类型的方式进行存储,相同分片类型的存储在一起,且相同分片类型的修改后的数据的时间戳越晚,越排在前面,如表二所示。
表二
修改后的数据 时间戳 分片类型 分片的名称
Data1 T1 A 121
Data3 T3 A 126
Data2 T2 B 122
需要说明的是,在表二中,T1晚于T3。
这样,在确定时间间隔内,某个分片在第一设备上的同步记录数目在获取时,可以使用时间间隔确定时间戳范围,然后,确定该分片在这段时间间隔内,同步记录数目。这样,由于可以从缓存区域中,获取到同步记录数目,而不需要访问数据库,可以节约处理时长。
可选的,本发明实施例还提供了其它设备修改数据的过程,相应的处理可以如下:
第一设备接收数据修改请求,其中,数据修改请求中携带有修改后的数据、修改前的数据的标识和修改后的数据所属的分片的名称。第一设备根据数据修改请求,在数据库中,将修改前的数据的标识对应的数据修改为修改后的数据,并且在预设的缓存区域,记录修改后的数据所属的分片的名称、修改后的数据所属的分片的名称对应的分片类型、存储修改后的数据的时间戳和修改后的数据的对应关系。
在实施中,与第一设备有业务关联的设备(可以包括第二设备)要修改数据时,可以向第一设备发送数据修改请求,在该数据修改请求中携带有修改后的数据,以及修改前的数据的标识和修改后的数据所属的分片的名称。
第一设备接收到数据修改请求后,可以从中解析得到修改后的数据,以及修改后的数据所属的分片的名称,然后第一设备可以在数据库中,使用该分片的名称,查找到相应的分片,然后使用修改前的数据的标识,查找到该修改前的数据,使用修改后的数据替换修改前的数据。并且第一设备可以在预设的缓存区域中,记录修改后的数据所属的分片的名称、修改后的数据所属的分片的名称对应的分片类型、存储修改后的数据的时间戳和修改后的数据的对应关系。
步骤305,第一设备向第二设备发送待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据。
在实施中,第一设备在确定出待清空的分片、待更新的分片和无需更新的分片后,可以向第二设备发送待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
步骤306,第二设备接收第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据。
步骤307,第二设备对待清空的分片的名称对应的每个分片进行清空处理,并且将待更新的分片的名称对应的每个分片中的待更新的数据进行更新。
在实施中,第二设备接收到第一设备发送的待清空的分片的名称、无需更新的分片的名称的待更新的分片的名称以及各待更新的分片中待更新的数据后,可以使用待清空的分片的名称,确定待清空的分片,然后将待清空的分片中的数据删除,并且可以使用待更新的分片的名称,确定待更新的分片,然后在待更新的分片中,确定属于第二设备的待更新的数据,将属于第二设备的待更新的数据进行更新,其它不属于第二设备的待更新的数据则进行删除。第一设备对无需更新的分片,则不会进行更新处理。
可选的,本发明实施例中还提供了,第二设备与第一设备之间是长连接的处理过程:
第一设备在第一设备与第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果目标数据所属的分片为第二设备的分片,则向第二设备发送数据同步通知。其中,数据同步通知中携带有修改后的目标数据、以及修改后的目标数据所属的分片的名称。在第二设备与第一设备的连接为长连接时,第二设备接收第一设备发送的数据同步通知。如果第二设备中修改后的目标数据所属的分片中缓存有目标数据,则将目标数据修改为修改后的目标数据,如果第二设备中修改后的目标数据所属的分片中未缓存有目标数据,则删除修改后的目标数据。
其中,长连接是相对短连接而言,完成一次数据传输后,并不会关闭长连接,每当有数据进行更新,就进行推送。
在实施中,第一设备与第二设备之间的连接为长连接时,第二设备与第一设备建立起长连接后,可以向第一设备发送自身缓存的分片的名称,第一设备接收到后,可以进行存储。后续每当有数据发送改变时,第一设备确定该数据(后续可以称为是目标数据)所属的分片是否是第二设备缓存的分片,如果是,则第一设备可以向第二设备发送数据同步通知,并在其中携带修改后的目标数据、以及修改后的目标数据所属的分片的名称。
第二设备接收到第一设备发送的数据同步通知后,可以从中解析得到修改后的目标数据、以及修改后的目标数据所属的分片的名称,然后第二设备可以使用该分片的名称,查找到对应的分片,在该分片中,确定是否存在目标数据,如果存在目标数据,则将目标数据修改为修改后的目标数据,如果不存在目标数据,则可以删除修改后的目标数据。这是由于一个分片中有可能存储有其它设备的数据,如果是其它设备的数据进行修改,第二设备就不需要该修改后的数据,所以可以进行删除。
需要说明的,上述长连接可以是TCP长连接(也可以称为是HTTP长连接、socket长连接)。
还需要说明的是,长连接中,第二设备实现的是与第一设备的强一致性,所以每次第一设备的数据进行修改,均会通知给第二设备。而短连接中,第二设备实现的是最终一致性,即数据的同步允许有一定的延时,但是最终的数据与第一设备上的数据相同。
可选的,本发明实施例中,还提供了第二设备接收到数据查询请求的处理,相应的处理可以如下:
第二设备当接收到数据查询请求时,如果数据查询请求对应的数据所属的分片不属于第二设备当前缓存的分片,则创建新分片,并向第一设备发送创建新分片的消息和数据查询请求;第二设备当接收到服务器基于数据查询请求获取到相应数据时,将相应数据存储在新分片中,并反馈数据查询请求对应的数据。如果数据查询请求对应的数据所属的分片为第二设备当前缓存的目标分片,则基于目标分片中数据查询请求对应的数据进行反馈。
在实施中,用户要查询数据时,可以通过应用程序所安装的终端向第二设备发送数据查询请求,第二设备可以确定该数据查询请求所要请求的数据是否属于当前缓存的分片,如果不属于当前缓存的分片,则可以创建一个新分片,然后向第一设备发送创建新分片的消息和数据查询请求。第一设备接收到创建新分片的消息和数据查询请求后,可以向第一设备返回一个分片的数据,第二设备接收到后,可以将接收到的数据写入到新分片中,第一设备同时基于数据查询请求,从数据库中查询到相应的数据,返回给第二设备,第二设备可以将接收到的数据查询请求对应的数据更新至新分片中。并且同时向应用程序所安装的终端反馈数据查询请求对应的数据。
如果数据查询请求对应的数据属于第二设备当前缓存的目标分片,则从目标分片中,获取数据查询请求对应的数据,反馈该应用程序所安装的终端。
需要说明的是,该查询适用于长连接和短连接。
另外,在第二设备中,有些数据是不经常使用的,或者是不使用的,频繁的更新会浪费资源,在这种情况下,第二设备可以记录每条数据最后一次使用时间点距离当前时间点的时长,在超过预设的删除时长时,可以将该条数据删除。另外,如果某个分片中没有包括任何数据,则将该分片进行删除。
需要说明的是,在实现本申请时,第二设备与现有技术的第二设备的区别可以是:本申请的第二设备中增加了一个客户端,客户端中有缓存区域,与第一设备进行同步,所以凡是进行数据同步的系统中,只要嵌入一个客户端提供缓存区域即可。
这样,通过本申请,对于不同的分片中的数据,基于一定规则进行不同的处理,可以使处理合理,而且第二设备上存储有多个分片,在接收到数据查询请求时,如果分片中有数据查询请求对应的数据,则不需要从第一设备获取,就可以进行反馈,不仅提高了响应效率,而且降低了第一设备的压力。
本发明实施例中,在进行数据同步时,第二设备可以向第一设备发送数据同步请求,并在其中携带第二设备缓存的分片的名称,第一设备接收到后,可以确定本次接收该数据同步请求的与上次接收第二设备发送的数据同步请求的时间间隔,然后第一设备可以根据该时间间隔、第二设备缓存的分片的名称和第二设备对应的预设缓存清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,然后通知给第二设备,第二设备可以进行对待清空的分片的进行清空处理,对待更新的分片进行更新处理。这样,针对不同的分片,进行针对性的缓存处理,所以提供了一种同步缓存数据的方法。
基于相同的技术构思,本发明实施例还提供了一种同步缓存数据的设备(即第一设备),如图4所示,该设备包括:
接收模块410,用于接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
确定模块420,用于确定第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;
发送模块430,用于向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。
可选的,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;
所述确定模块420,用于:
将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。
可选的,所述确定模块420,用于:
如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;
根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
可选的,所述发送模块430,还用于:
如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。
可选的,所述确定模块420,用于:
根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;
根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。
可选的,所述确定模块420,用于:
对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则确定所述分片对应的最长同步时长和最多同步记录数目;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待清空的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为无需更新的分片的名称;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称。
可选的,所述确定模块420,用于:
根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;
根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。
可选的,所述确定模块420,还用于:
从预设的缓存区域获取所述分片的同步记录数目。
可选的,所述接收模块410,还用于:
接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;
如图5所示,所述设备还包括:
同步模块440,用于根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。
可选的,所述接收模块410,用于:
在所述第一设备与所述第二设备之间的连接为短连接时,接收所述第二设备每隔预设周期发送的数据同步请求。
可选的,所述发送模块430,还用于:
在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。
本发明实施例中,在进行数据同步时,第二设备可以向第一设备发送数据同步请求,并在其中携带第二设备缓存的分片的名称,第一设备接收到后,可以确定本次接收该数据同步请求的与上次接收第二设备发送的数据同步请求的时间间隔,然后第一设备可以根据该时间间隔、第二设备缓存的分片的名称和第二设备对应的预设缓存清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,然后通知给第二设备,第二设备可以进行对待清空的分片的进行清空处理,对待更新的分片进行更新处理。这样,针对不同的分片,进行针对性的缓存处理,所以提供了一种同步缓存数据的方法。
需要说明的是:上述实施例提供的同步缓存数据的设备在同步缓存数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的同步缓存数据的设备与同步缓存数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本发明实施例还提供了一种同步缓存数据的设备(即第二设备),如图6所示,该设备包括:
发送模块610,用于向第一设备发送数据同步请求,其中,所述数据同步请求中携带有第二设备缓存的分片的名称;
接收模块620,用于接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;
同步模块630,用于对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。
可选的,所述发送模块610,用于:
在第二设备与第一设备的连接为短连接时,每隔预设周期,向第一设备发送数据同步请求。
可选的,所述接收模块620,还用于:
在所述第二设备与所述第一设备的连接为长连接时,接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;
所述同步模块630,还用于:
如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。
可选的,所述发送模块610,还用于:
当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;
所述同步模块630,还用于:当接收到所述服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中;
所述发送模块610,还用于反馈所述数据查询请求对应的数据;
所述发送模块610,还用于如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。
本发明实施例中,在进行数据同步时,第二设备可以向第一设备发送数据同步请求,并在其中携带第二设备缓存的分片的名称,第一设备接收到后,可以确定本次接收该数据同步请求的与上次接收第二设备发送的数据同步请求的时间间隔,然后第一设备可以根据该时间间隔、第二设备缓存的分片的名称和第二设备对应的预设缓存清空时长,在第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,然后通知给第二设备,第二设备可以进行对待清空的分片的进行清空处理,对待更新的分片进行更新处理。这样,针对不同的分片,进行针对性的缓存处理,所以提供了一种同步缓存数据的方法。
需要说明的是:上述实施例提供的同步缓存数据的设备在同步缓存数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的同步缓存数据的设备与同步缓存数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。、
图7是本发明实施例提供的一种同步缓存数据的设备的结构示意图,该设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)701和一个或一个以上的存储器702,其中,所述存储器702中存储有至少一条指令,所述至少一条指令由所述处理器701加载并执行以实现上述同步缓存数据的方法的步骤。
本申请还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述同步缓存数据的方法步骤。
本申请还提供了一种同步缓存数据的设备,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述同步缓存数据的方法步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (33)

1.一种同步缓存数据的方法,其特征在于,所述方法包括:
第一设备接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
所述第一设备确定所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;
所述第一设备根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;
所述第一设备向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。
2.根据权利要求1所述的方法,其特征在于,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;
所述第一设备确定所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔,包括:
所述第一设备将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。
3.根据权利要求1所述的方法,其特征在于,所述第一设备根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,包括:
如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则所述第一设备根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;
所述第一设备根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则所述第一设备向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。
5.根据权利要求3所述的方法,其特征在于,所述第一设备根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长,包括:
所述第一设备根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;
所述第一设备根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。
6.根据权利要求3至5任一所述的方法,其特征在于,所述第一设备根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,包括:
对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则所述第一设备确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则所述第一设备确定所述分片对应的最长同步时长和最多同步记录数目;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待清空的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为无需更新的分片的名称;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待更新的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待更新的分片的名称。
7.根据权利要求6所述的方法,其特征在于,所述第一设备确定所述分片对应的最长同步时长和最多同步记录数目,包括:
所述第一设备根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;
所述第一设备根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第一设备从预设的缓存区域获取所述分片的同步记录数目。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述第一设备接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;
所述第一设备根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。
10.根据权利要求1所述的方法,其特征在于,所述第一设备接收第二设备发送的数据同步请求,包括:
在所述第一设备与所述第二设备之间的连接为短连接时,所述第一设备接收所述第二设备每隔预设周期发送的数据同步请求。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述第一设备在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。
12.一种同步缓存数据的方法,其特征在于,所述方法包括:
第二设备向第一设备发送数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
所述第二设备接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;
所述第二设备对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。
13.根据权利要求12所述的方法,其特征在于,所述第二设备向第一设备发送数据同步请求,包括:
在第二设备与第一设备的连接为短连接时,每隔预设周期,所述第二设备向第一设备发送数据同步请求。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在所述第二设备与所述第一设备的连接为长连接时,所述第二设备接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;
如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。
15.根据权利要求12至14任一所述的方法,其特征在于,所述方法还包括:
所述第二设备当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;所述第二设备当接收到服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中,并反馈所述数据查询请求对应的数据;
如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。
16.一种同步缓存数据的设备,其特征在于,所述设备包括:
接收模块,用于接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;
确定模块,用于确定第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;
发送模块,用于向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。
17.根据权利要求16所述的设备,其特征在于,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;
所述确定模块,用于:
将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。
18.根据权利要求16所述的设备,其特征在于,所述确定模块,用于:
如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;
根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。
19.根据权利要求18所述的设备,其特征在于,所述发送模块,还用于:
如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。
20.根据权利要求18所述的设备,其特征在于,所述确定模块,用于:
根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;
根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。
21.根据权利要求18至20任一所述的设备,其特征在于,所述确定模块,用于:
对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则确定所述分片对应的最长同步时长和最多同步记录数目;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待清空的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为无需更新的分片的名称;
如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称;
如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称。
22.根据权利要求21所述的设备,其特征在于,所述确定模块,用于:
根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;
根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。
23.根据权利要求21所述的设备,其特征在于,所述确定模块,还用于:
从预设的缓存区域获取所述分片的同步记录数目。
24.根据权利要求23所述的设备,其特征在于,所述接收模块,还用于:
接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;
所述设备还包括:
同步模块,用于根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。
25.根据权利要求16所述的设备,其特征在于,所述接收模块,用于:
在所述第一设备与所述第二设备之间的连接为短连接时,接收所述第二设备每隔预设周期发送的数据同步请求。
26.根据权利要求25所述的设备,其特征在于,所述发送模块,还用于:
在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。
27.一种同步缓存数据的设备,其特征在于,所述设备包括:
发送模块,用于向第一设备发送数据同步请求,其中,所述数据同步请求中携带有第二设备缓存的分片的名称;
接收模块,用于接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;
同步模块,用于对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。
28.根据权利要求27所述的设备,其特征在于,所述发送模块,用于:
在第二设备与第一设备的连接为短连接时,每隔预设周期,向第一设备发送数据同步请求。
29.根据权利要求28所述的设备,其特征在于,所述接收模块,还用于:
在所述第二设备与所述第一设备的连接为长连接时,接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;
所述同步模块,还用于:
如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。
30.根据权利要求27至29任一所述的设备,其特征在于,所述发送模块,还用于:
当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;
所述同步模块,还用于:当接收到所述服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中;
所述发送模块,还用于反馈所述数据查询请求对应的数据;
所述发送模块,还用于如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。
31.一种同步缓存数据的系统,其特征在于,所述系统包括第一设备和第二设备,其中:
所述第一设备,如所述权利要求16-26中任一权利要求所述的同步缓存数据的设备;
所述第二设备,如所述权利要求27-30中任一权利要求所述的同步缓存数据的设备。
32.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-15任一所述的方法步骤。
33.一种同步缓存数据的设备,其特征在于,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现权利要求1-15任一所述的方法步骤。
CN201811427828.XA 2018-11-27 2018-11-27 同步缓存数据的方法、装置和系统 Active CN111221469B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811427828.XA CN111221469B (zh) 2018-11-27 2018-11-27 同步缓存数据的方法、装置和系统
PCT/CN2019/121356 WO2020108544A1 (zh) 2018-11-27 2019-11-27 同步缓存数据的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811427828.XA CN111221469B (zh) 2018-11-27 2018-11-27 同步缓存数据的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN111221469A CN111221469A (zh) 2020-06-02
CN111221469B true CN111221469B (zh) 2021-05-11

Family

ID=70827903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811427828.XA Active CN111221469B (zh) 2018-11-27 2018-11-27 同步缓存数据的方法、装置和系统

Country Status (2)

Country Link
CN (1) CN111221469B (zh)
WO (1) WO2020108544A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102253362B1 (ko) 2020-09-22 2021-05-20 쿠팡 주식회사 전자 장치 및 이를 이용한 정보 제공 방법
CN112445864B (zh) * 2020-12-11 2024-03-26 北京北信源软件股份有限公司 组织人员信息同步方法、装置、电子设备及存储介质
CN113364830B (zh) * 2021-04-26 2023-07-07 福建天泉教育科技有限公司 一种长链接的缓存优化方法及系统
CN113765886B (zh) * 2021-08-04 2023-07-25 深圳Tcl新技术有限公司 多媒体播放方法、装置、存储介质及电子设备
CN114691269B (zh) * 2022-03-29 2024-05-14 广东万和新电气股份有限公司 页面更新方法、装置、系统和存储介质
CN115250293A (zh) * 2022-06-30 2022-10-28 深圳水趣智能零售系统有限公司 数据上传方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469158A (zh) * 2015-08-17 2017-03-01 杭州海康威视系统技术有限公司 数据同步方法和装置
CN106612308A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 数据传输方法及装置
CN106951179A (zh) * 2016-01-07 2017-07-14 杭州海康威视数字技术股份有限公司 一种数据迁移方法及装置
CN107018170A (zh) * 2016-10-27 2017-08-04 阿里巴巴集团控股有限公司 一种数据同步方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533410B1 (en) * 2007-03-29 2013-09-10 Netapp, Inc. Maintaining snapshot and active file system metadata in an on-disk structure of a file system
US8392369B2 (en) * 2010-09-10 2013-03-05 Microsoft Corporation File-backed in-memory structured storage for service synchronization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469158A (zh) * 2015-08-17 2017-03-01 杭州海康威视系统技术有限公司 数据同步方法和装置
CN106612308A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 数据传输方法及装置
CN106951179A (zh) * 2016-01-07 2017-07-14 杭州海康威视数字技术股份有限公司 一种数据迁移方法及装置
CN107018170A (zh) * 2016-10-27 2017-08-04 阿里巴巴集团控股有限公司 一种数据同步方法和设备

Also Published As

Publication number Publication date
CN111221469A (zh) 2020-06-02
WO2020108544A1 (zh) 2020-06-04

Similar Documents

Publication Publication Date Title
CN111221469B (zh) 同步缓存数据的方法、装置和系统
CN107943594B (zh) 数据获取方法和装置
EP3508985B1 (en) Scalable synchronization with cache and index management
KR100791628B1 (ko) 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템
CN111464615B (zh) 请求处理方法、装置、服务器及存储介质
CN108055302B (zh) 一种图片缓存处理方法、系统和服务器
US9906595B2 (en) Content source discovery
CN109167840B (zh) 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN113094430B (zh) 一种数据处理方法、装置、设备以及存储介质
CN107018170B (zh) 一种数据同步方法和设备
WO2019041670A1 (zh) 一种降低功能页面请求次数的方法、存储介质、设备及系统
CN113127564B (zh) 一种参数同步方法和装置
US11210212B2 (en) Conflict resolution and garbage collection in distributed databases
CN111597259B (zh) 数据存储系统、方法、装置、电子设备及存储介质
CN112866339A (zh) 数据传输方法、装置、计算机设备和存储介质
CN112395337B (zh) 一种数据导出方法和装置
CN112749172A (zh) 一种缓存与数据库之间的数据同步方法及系统
US10771578B2 (en) Webpage loading method and apparatus
CN107563942B (zh) 一种物流数据批量处理方法、物流处理系统以及处理装置
CN112949326B (zh) 信息查询方法、装置、设备和计算机可读介质
CN111125142B (zh) 一种数据更新方法及系统
CN108491448B (zh) 一种数据推送的方法和装置
CN113742376A (zh) 一种同步数据的方法、第一服务器以及同步数据的系统
CN117478535B (zh) 一种日志存储的方法和装置
CN111078736A (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
GR01 Patent grant
GR01 Patent grant