CN103905397B - 数据同步方法和系统 - Google Patents
数据同步方法和系统 Download PDFInfo
- Publication number
- CN103905397B CN103905397B CN201210580436.3A CN201210580436A CN103905397B CN 103905397 B CN103905397 B CN 103905397B CN 201210580436 A CN201210580436 A CN 201210580436A CN 103905397 B CN103905397 B CN 103905397B
- Authority
- CN
- China
- Prior art keywords
- write operation
- serial number
- destination
- source
- date
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种数据同步方法和系统,包括:内存创建模块在目的端创建主内存;在源端记录本端写操作流水号和目的端的写操作流水号,在目的端维护本目的端的写操作流水号,并将目的端最新的写操作流水号返回给源端,源端以目的端返回的流水号更新本端维护的目的端的写操作流水号,并根据源端写操作流水号和目的端最新写操作流水号的差异来判断增量的写操作,将这些增量的写操作实时同步给目的端,从而实现实时增量同步数据,提高了同步数据的实时性,同时由于每次只同步增量数据,还可以降低对网络带宽的占用。
Description
技术领域
本申请涉及计算机和互联网数据处理技术领域,尤其涉及一种数据同步方法和系统。
背景技术
互联网业务属于海量请求业务,在提供互联网服务时,某些基础数据常常是各个业务类型都需要获取的。目前通常是将基础数据存储在基础数据查询服务器中,各业务服务器通过用户数据包协议(UDP,User Datagram Protocol)包查询的方式从基础数据查询服务器获取这些基础数据。这种方式有两方面的缺点:一方面,发往基础数据查询服务器的用于查询基础数据的查询请求是巨量的,基础数据查询服务器处理查询请求是个处理瓶颈;另一方面,这种UDP包查询的方式会占用业务处理的时间,如果基础数据查询服务器处理查询请求超时就会导致业务处理超时,增加了业务处理对外部服务的耦合性,降低了业务处理本身的可控性。
为了解决上述两方面的缺点,目前对这类基础数据的获取常采用代理(Agent)查询的技术方案。该代理查询的技术方案主要包括:在各个业务服务器上安装基础数据的代理装置,Agent定时获取基础数据的入口端(该入口端也称为写数据端,即写入基础数据的端点,通常是互联网业务的主站)的基础数据更新,并将获取的基础数据存储在业务服务器的本地,业务服务器在需要查询基础数据时,通过调用本地应用程序接口(API接口)查询基础数据。这种采用代理(Agent)查询的技术方案,把以往业务服务器对基础数据查询服务器的大量的读请求转为与入口端的少量写请求的同步操作,解决了基础数据查询服务器海量查询请求(读请求)的瓶颈问题,同时,业务服务器通过本地调用API接口获取基础数据,而本地接口性能很高,基本不占用业务处理时间,大大降低对业务处理效率的影响。
对于所述业务处理器上的代理装置与基础数据入口端(本文简称数据入口端)的数据同步机制目前通常采用的是定时同步方式,即Angent(目的端)可以通过定时从源端(写数据端)拉取数据的方式来同步源端的数据,例如可以定时通过crontab命令实现拉取数据,拉取的方式也有很多种,例如采用文件传输协议(FTP,File TransferProtocol)、超文本传输协议(HTTP,Hypertext transfer protocol)拉取等。
但是,上述同步方式是定时同步,实时性太差,如果缩短定时同步的时间以增强实时性的话,则又会在每一次同步过程中同步大量已经同步过的数据,造成网络带宽的浪费。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据同步方法和系统,以提高同步数据的实时性,降低对网络带宽的占用。
本发明的技术方案是这样实现的:
一种数据同步方法,包括:
在目的端创建主内存;
增量同步过程,包括:源端记录写操作流水日志,该流水日志中包括写操作的操作信息和流水号;并记录和更新目的端的最新写操作流水号;源端在判断出本端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,目的端收到写操作信息后按照所述写操作信息对本端主内存执行对应写操作,并记录本目的端主内存的写操作流水号,并将最新的目的端主内存的写操作流水号返回给源端。
一种数据同步系统,包括:
内存创建模块,设置在目的端,用于在目的端创建主内存;
操作流水日志模块,设置在源端,用于记录源端的写操作流水日志,该流水日志中包括写操作的操作信息和流水号;
源端同步模块,用于记录和更新目的端的最新写操作流水号,并在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端;
目的端同步模块,用于接收源端同步模块推送来的写操作信息,按照所述写操作信息对本端主内存执行对应写操作以更新该主内存中的数据,并记录本目的端主内存的写操作流水号,将最新的目的端主内存的写操作流水号返回给源端同步模块。
与现有技术相比,本发明在源端记录本端写操作流水号和目的端的写操作流水号,在目的端维护本目的端的写操作流水号,并将目的端最新的写操作流水号返回给源端,源端以目的端返回的流水号更新本端维护的目的端的写操作流水号,并根据源端写操作流水号和目的端最新写操作流水号的差异来判断增量的写操作,将这些增量的写操作实时同步给目的端,从而实现实时增量同步数据,提高了同步数据的实时性,同时由于每次只同步增量数据,还可以降低对网络带宽的占用。
附图说明
图1为本发明所述采用实时同步方式进行增量同步数据的一种实施例的流程图;
图2为本发明所述同时具有增量同步过程和全量更新过程的一种实施例的流程图;
图3为目的端采用双进程进行增量同步和全量更新的示意图;
图4为本发明所述的增量同步过程的又一种具体实施例的流程图;
图5为本发明所述采用数据同步包和hello包更新目的端最新写操作流水号的流程示意图;
图6为本发明所述目的端对同步数据异常的处理流程图;
图7为本发明所述数据同步系统的一种实施例的组成示意图;
图8为本发明所述数据同步系统的又一种实施例的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明所述的数据同步方法和系统可以适用于任何在源端和目的端之间进行数据同步的场景。例如,对于采用代理(Agent)装置查询互联网基础数据的技术方案中,在各个业务服务器上安装基础数据的代理装置,各个业务服务器上的代理装置就是本发明所述的目的端,该代理装置可以同步基础数据的入口端(该入口端也称为写数据端,即写入基础数据的端点,通常是互联网业务的主站)的基础数据更新,该基础数据的入口端就是本发明所述的源端。所述代理装置将获取的基础数据存储在业务服务器的本地,业务服务器在需要查询基础数据时,通过调用本地应用程序接口(API接口)查询基础数据。
本发明所述源端可能会对应两个以上目的端,例如对于上述采用代理装置查询互联网基础数据的技术方案中,可能有多个业务服务器,因此会有两个以上的代理装置即两个以上的目的端。利用本发明所述的方案,源端可以实现同时对两个以上目的端进行数据同步。
本发明的方法需要预先在目的端创建主内存,所述主内存是目的端的一种内存空间,是对物理内存的访问地址进行的划分,目的端增量同步的数据写入该主内存中。本发明的方法还包括增量同步过程,图1为本发明所述采用实时同步方式进行增量同步数据的一种流程图。参见图1,该增量同步过程具体包括:
源端记录写操作流水日志,该流水日志中包括写操作的操作信息和流水号,例如每新增一个写操作,则源端写操作流水号加1;并且,源端需要记录和更新目的端的最新写操作流水号。
源端在以较短的周期判断出本端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,目的端收到写操作信息后按照所述写操作信息对本端主内存执行对应写操作以更新该主内存中的数据,并记录更新本目的端主内存的写操作流水号,并将最新的目的端主内存的写操作流水号返回给源端,源端以目的端返回的流水号更新本端维护的该目的端的写操作流水号。
所述源端向目的端实时推送的写操作信息中可以包括操作信息,目的端可以按照本端的流水次序记录更新本端主内存的写操作的流水号,即每同步执行一个写操作,则本端主内存的写操作流水号加1。或者,所述源端向目的端实时推送的写操作信息中可以包括操作信息及其对应的流水号,目的端可以按照收到源端操作信息的流水号记录更新本端主内存写操作的流水号,例如如果收到了流水号为n的写操作信息,则执行该写操作,并记录更新本端的主内存的对应写操作流水号为n。
通过本发明的这种方式,来保证源端实时地将新增写操作导致的数据变化同步到目的端,源端做什么写操作目的端就相应地做什么写操作,从而保证两端数据的实时一致性。
另外,由于网络传输不可避免地存在一定的网络丢包或者数据异常,利用图1的这种现有技术进行数据实时同步时就可能导致本端和对端数据存在一定偏差,同步数据的准确性较差。因此在本发明的一种具体实施例中,可以进一步在目的端创建备用内存,并进一步增加全量更新过程。
图2为本发明所述同时具有增量同步过程和全量更新过程的一种实施例流程图。参见图2,该实施例主要包括:
201、在目的端创建主内存和备用内存;
所述主内存和备用内存都是目的端的共享内存空间,是对物理内存的访问地址进行的划分,该共享内存空间可以供各个进程访问,其中业务进程始终访问所述主内存。
202、增量同步过程,即包括:源端记录写操作流水日志,该流水日志中包括写操作的操作信息和流水号;并记录和更新目的端的最新写操作流水号;源端在判断出本端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,目的端收到写操作信息后按照所述写操作信息对本端主内存执行对应写操作以更新该主内存中的数据,并记录更新本目的端主内存的写操作流水号,并将最新的目的端主内存的写操作流水号返回给源端。该增量同步过程保证了目的端和源端之间同步数据的实时性。
203、全量更新过程,即包括:源端定时将本端内存的全量数据以及导入时刻的源端写操作流水号导入指定存储装置,该指定存储装置例如可以是指定数据库;目的端定时从所述指定存储装置中拉取其中的全量数据和所述导入时刻的源端写操作流水号并将拉取的全量数据和导入时刻的源端写操作流水号保存在本目的端的备用内存中;拉取并保存完毕后,将所述备用内存切换为主内存以进行所述增量同步过程,原主内存切换为备用内存。该全量更新过程可以在保证目的端业务处理数据的实时性的同时,进一步提高同步数据的准确性。
在图2所述的实施例中,在目的端采用主备双内存机制,不但采用增量同步处理对主内存中的数据实现数据的实时性同步,同时还采用定时全量更新处理对备用内存的数据全量更新以使目的端备用内存的数据和源端内存中的数据保持全量一致,即使在增量同步过程中出现数据偏差也可以通过全量更新来纠正,因此提高了同步数据的准确性;在全量更新之后切换目的端的备用内存为主内存,从而保证了目的端业务处理数据的实时性和准确性。
在进一步的一种实施例中,所述全量更新过程中,可以在拉取并保存完毕所述全量数据和导入时刻的源端写操作流水号后,就直接将所述备用内存切换为主内存以进行所述增量同步过程,原主内存切换为备用内存。这种实施例虽然可行,但是存在一个延迟问题,即备用内存切换为主内存后,需要将所述导入时刻的源端写操作流水号(即当前目的端最新的写操作流水号)返回给源端,源端需要重新向目的端同步源端最新写操作流水号与所述导入时刻的源端写操作流水号之间的所有写操作,而其中有些写操作可能原主内存在切换之前已经同步过了,这样会导致一定的处理延迟,不利于业务进程的实时性处理。
因此,在本发明的另一种实施例中,在所述全量更新过程中,所述目的端在拉取并保存完毕所述全量数据和所述导入时刻的源端写操作流水号后,进一步包括以下步骤231~233:
231、目的端向源端发送主动增量同步请求,其中包括所述导入时刻的源端写操作流水号;
232、源端在收到目的端的主动增量同步请求后,将源端写操作流水号大于所述导入时刻的源端写操作流水号的写操作信息作为响应返回给发起请求的目的端;
233、目的端在接收到源端返回的响应后,按照其中的写操作信息对本端备用内存执行对应写操作以更新该备用内存中的数据,并记录本目的端备用内存的写操作流水号,在备用内存的最新写操作流水号大于等于主内存的最新写操作流水号后,将所述备用内存切换为主内存以进行所述增量同步过程,将原主内存切换为备用内存。
经过上述步骤231~233的处理,在切换内存之前,备用内存中的数据已经更新为与源端数据实时同步的最新状态,因此在切换内存之后,不必再重复同步源端最新写操作流水号与所述导入时刻的源端写操作流水号之间的写操作,节省了时间,进一步提高了数据同步的实时性,有利于业务进程的实时性处理。
另外,为了在全量更新时不能停止当前数据的增量同步,因此,所述目的端执行的增量同步过程采用父进程执行,所述目的端执行的全量更新过程采用子进程执行。如图3为目的端采用双进程进行增量同步和全量更新的示意图。参见图3,所述增量同步进程(父进程)执行增量同步操作,并且采用fork操作生成一个子进程即全量更新进程进行全量数据更新操作,父进程即增量同步进程依然保证当前新增数据的增量同步。
通过本发明的这种主备内存的软切换方式保证目的端数据的偏差校正,保证了目的端数据的准确性。
图4为本发明所述的增量同步过程的又一种具体流程图。参见图4,所述源端可以每增加一个写操作,则在流水日志中记录该写操作的操作信息和流水号,其流水号在上一流水号的基础上加1,在源端维护的目的端写操作流水号的初始值一般为0,目的端a每返回一个写操作流水号q,则源端用该流水号q更新该目的端a原有的写操作流水号。
源端为了能及时向目的端推送所述写操作信息,就要保证目的端的写操作流水号的及时更新且及时扫描判断当前所有目的端(可能会存在两个以上的目的端)的写操作流水号与本源端最新写操作流水号的差值,将目的端写操作流水号小于源端最新写操作流水号的所有写操作信息及时推送到对应的目的端。为了达到及时的目的,源端需要以一个较短的周期定期扫描各目的端的写操作流水号,并判断源端最新写操作流水号是否大于目的端的写操作流水号,从而可以及时监控到新数据的更新,向目的端推送最新的操作信息。
另外,由于是定期扫描判断,在这个周期内可能会在源端发生多个写操作,因此如果本端最新写操作流水号大于目的端的最新写操作流水号,则将源端写操作流水号大于目的端的最新写操作流水号的所有写操作信息(包括各写操作的流水号)打包成数据包,即图中所示的数据同步包,并将数据同步包实时推送到目的端。目的端再按照该数据同步包中的写操作信息的流水号顺序,依次执行对应的写操作,即同步新增的写操作,每同步一个写操作,则本端主内存的写操作流水号加1,所有写操作同步完毕后,将已经同步的主内存的最新写操作流水号q通过响应包的形式通知给源端;源端收到目的端的最新写操作流水号后,以该流水号q更新本端维护的目的端的写操作流水号。
另外,在目的端的数量比较多的情况下,例如上述采用代理装置进行基础数据同步的方案中,每个业务服务器上的代理装置都是一个目的端。那么,源端有可能会在短时间内向各个目的端大量发送用于更新数据的写操作信息,容易引起在某个时间点的发包峰值,可能冲击到源端设备的网卡瓶颈引发丢包,反而导致数据同步的时延。因此如图4所示的实施例中,在所述增量同步的过程中,所述源端在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,还需进一步判断源端向外发送数据的发送频率是否达到预定上限,如果没有则将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,否则停止后续所述写操作信息的实时推送,直到源端向外发送数据的发送频率没有达到预定上限后才推送所述写操作信息。
所述源端向外发送数据的发送频率是指源端对所有目的端的发送频率,这个发送频率的预定上限的大小设置要依据源端设备的机器性能来定,原则是不超过设备的处理能力,不出现网卡丢包现象。
此外,在增量同步的过程中,当源端检测本源端最新写操作流水号与目的端最新写操作流水号相等时,就认为没有数据需要更新,这时源端就不会向目的端发送数据同步包,目的端也不会返回响应包,这种情况下,源端和目的端就没有任何通信了,如果源端保存的目的端最新的写操作流水号的值是错误的,则无法再修正了,为了避免这个问题,在本发明的另一种实施例中引入了流水号请求机制,该流水号请求采用hello包的形式发送,在没有数据包需要更新时,通过hello包和目的端沟通其最新的写操作流水号,确保在源端维护的目的端写操作流水号的准确性。
图5为本发明所述采用数据同步包和hello包更新目的端最新写操作流水号的流程示意图。参见图5,所述增量同步的过程中,源端除了向目的端发送数据同步包并根据目的端返回的响应包更新目的端的最新写操作流水号之外,该可以进一步包括:所述源端在将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端之后的预定时段内,如果没有再向同一目的端发送数据同步包(即没有再向同一目的端推送写操作信息),则向该目的端发送hello包,即发送流水号请求;所述目的端在收到源端的hello包(即流水号请求)后,将包含本目的端主内存的最新写操作流水号的hello回包即流水号响应返回给该源端;所述源端在收到目的端的hello回包(即流水号响应)后,以该响应中的流水号更新本端记录的该目的端的写操作流水号。源端通过hello包和目的端沟通其最新的写操作流水号,确保在源端维护的目的端写操作流水号的准确性。
上述增量同步的处理过程中,在同步数据无异常的情况下目的端的更新是及时的,但是如果同步数据发生异常则会影响数据同步的实时性。因此在本发明的另一种实施例中,在目的端的更新上重点考虑了对异常同步数据的处理,对异常数据做跳过单点重发方式处理确保后续同步数据的及时更新,具体处理过程如图6所示。
图6为本发明所述目的端对同步数据异常的处理流程图。参见图6,如果源端向目的端推送的数据同步包中包括流水号m~q的写操作信息,则所述目的端按照所述写操作信息对本端主内存执行对应写操作时,如果流水号为n的写操作失败,则向源端同步模块返回包含该流水号n的单点重发请求,同时继续对本端主内存执行该流水号n之后的写操作,直到同步完流水号为q的写操作之后,将本目的端主内存的写操作流水号更新为q,并向源端返回含有最新流水号q的响应包,源端收到含有最新流水号q的响应包后,以该流水号q更新本端所记录的目的端的写操作流水号。如果源端收到目的端的单点重发请求,则将包含流水号n的写操作信息的单点重发响应发送给发起请求的目的端;所述目的端在收到源端返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主内存执行对应的流水号为n的写操作,即单点更新流水号为n的写操作。进一步的,如果该写操作再次失败则重新发送包含该流水号n的单点重发请求;所述源端进一步记录向同一目的端发送包含流水号n的写操作信息的单点重发响应的次数,如果次数达到预定的上限(例如每天对每个目的端的每个流水号的重复响应次数为3次),则停止向该目的端发送该包含流水号n的写操作信息的单点重发响应。
通过上述图6所述的处理,可以避免某条数据异常时目的端同步挂死在该条写操作的更新上,导致后续可更新的写操作无法更新,提高了目的端的容错能力。同时,也增加了目的端的可扩展升级性,当源端支持需要支持新的数据类型时,目的端也不会因为新的数据类型无法识别而无法同步其他数据类型的更新操作,让目的端具有了一定的可扩展升级性。
本发明中,所述目的端可以有两个以上,在所述源端和每个目的端之间都可以执行本发明所述各个实例的方法以实时同步数据。
与上述数据同步方法对应,本发明还公开了一种数据同步系统,用于执行上述数据同步方法。
图7为本发明所述数据同步系统的一种实施例的组成示意图。参见图7,该数据同步系统700,如图7中的虚线框内所示,包括:
内存创建模块701,设置在目的端,用于在目的端创建主内存;
操作流水日志模块702,设置在源端,用于记录源端的写操作流水日志,该流水日志中包括写操作的操作信息和流水号;
源端同步模块703,用于记录和更新目的端的最新写操作流水号,并在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端;
目的端同步模块704,用于接收源端同步模块推送来的写操作信息,按照所述写操作信息对本端主内存执行对应写操作以更新该主内存中的数据,并记录本目的端主内存的写操作流水号,将最新的目的端主内存的写操作流水号返回给源端同步模块。
通过本系统,可以提高源端和目的端之间的同步数据的实时性。另外,由于网络传输不可避免地存在一定的网络丢包或者数据异常,利用图7的这种现有技术进行数据实时同步时就可能导致本端和对端数据存在一定偏差,同步数据的准确性较差。因此在本系统的又一种具体实施例中,可以进一步在目的端创建备用内存,并进一步增加全量更新的模块,以提高同步数据的准确性。
图8为本发明所述数据同步系统的又一种实施例的组成示意图。参见图8,该实施例除了包括图7中所述的技术特征外,还包括以下技术特征:
所述内存创建模块701进一步用于创建备用内存。
而且,该数据同步系统进一步包括源端全量更新模块705和目的端全量更新模块706。
源端全量更新模块705用于定时将本源端内存的全量数据以及导入时刻的源端写操作流水号导入指定存储装置707;
目的端全量更新模块706用于定时从所述指定存储装置707中拉取其中的全量数据和所述导入时刻的源端写操作流水号并将拉取的全量数据和导入时刻的源端写操作流水号保存在本目的端的备用内存中;拉取并保存完毕后,将所述备用内存切换为主内存以进行所述增量同步过程,将原主内存切换为备用内存。
与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述目的端全量更新模块706进一步用于:在拉取并保存完毕所述全量数据和所述导入时刻的源端写操作流水号后,向所述源端同步模块703发送主动增量同步请求,其中包括所述导入时刻的源端写操作流水号;并在接收到源端同步模块703返回的响应后,按照其中的写操作信息对本端备用内存执行对应写操作以更新该备用内存中的数据,并记录本目的端备用内存的写操作流水号,在备用内存的最新写操作流水号大于等于主内存的最新写操作流水号后,将所述备用内存切换为主内存以进行所述增量同步过程,将原主内存切换为备用内存。该实施例中,所述源端同步模块703进一步用于:在收到目的端全量更新模块706的主动增量同步请求后,将源端写操作流水号大于所述导入时刻的源端写操作流水号的写操作信息作为响应返回给发起请求的目的端全量更新模块706。
与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述源端同步模块703具体包括:定期判断本端最新写操作流水号是否大于目的端的最新写操作流水号,如果本端最新写操作流水号大于目的端的最新写操作流水号,则将源端写操作流水号大于目的端的最新写操作流水号的所有写操作信息打包成数据包,并将数据包实时推送到目的端。
与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述目的端同步模块704进一步用于:按照所述写操作信息对本端主内存执行对应写操作时,如果流水号为n的写操作失败,则向源端同步模块返回包含该流水号n的单点重发请求,同时继续对本端主内存执行该流水号n之后的写操作;在收到源端同步模块返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主存执行对应的写操作;如果该写操作再次失败则重新发送所述单点重发请求。该实施例中,所述源端同步模块703进一步用于:在收到目的端的单点重发请求后,将包含流水号n的写操作信息的单点重发响应发送给发起请求的目的端同步模块。
与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述目的端同步模块704进一步用于:在收到源端同步模块703返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主内存执行对应的写操作,如果该写操作再次失败则重新发送包含该流水号n的单点重发请求。该实施例中,所述源端同步模块703进一步用于:记录向同一目的端发送包含流水号n的写操作信息的单点重发响应的次数,如果次数达到预定的上限,则停止向该目的端发送该包含流水号n的写操作信息的单点重发响应。
与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述源端同步模块703进一步用于:在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,判断源端向外发送数据的发送频率是否达到预定上限,如果没有则将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,否则停止后续所述写操作信息的实时推送。
与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述源端同步模块703进一步用于:在将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端之后的预定时段内,如果没有再向同一目的端推送写操作信息,则向该目的端发送流水号请求;在收到目的端的流水号响应后,以该响应中的流水号更新本端记录的该目的端的写操作流水号。该实施例中,所述目的端同步模块704进一步用于:在收到源端同步模块的流水号请求后,将包含本目的端主内存的最新写操作流水号的流水号响应返回给该源端同步模块。
此外,与上述方法实施例对应,在所述数据同步系统的一种实施例中,所述目的端同步模块704采用父进程执行,所述目的端全量更新模块706采用子进程执行。
当所述目的端可以有两个以上,本发明所述数据同步系统可以设置在所述源端和每个目的端之中,从而实现源端对两个以上目的端的实时的、准确的数据同步。
本发明的方案应用在所述采用代理(Agent)装置同步业务基础数据的场景中时,可以确保本地获取数据的实时准确性,在数据的实时性和准确性上都不亚于UDP发包向主站查询的方式。在对多种业务都需要使用的基础数据的查询服务上,这种方式相比UDP发包查询上有诸多优势:减少了部署大量查询服务器的成本,同时也减少了业务服务对向往发包查询数据的耦合性,本地查询性能比UDP发包查询高很多,更能应对海量请求的大业务需要。
更为具体的,本发明可以应用在诸如微博系统的数据同步中。微博的权限控制数据就是通过所述Agent方式部署的,微博各个业务在收到业务请求时都需要检查权限数据,确认本次请求是否合法,因而,权限控制数据时各个业务都要查询的数据,微博各个业务的请求都是海量的,如果通过提供查询服务器对外提供权限查询,权限查询服务器将成为微博提供服务的瓶颈,采用本发明所述的数据同步方案,并以Agent方式进行查询数据,可以很好地提供各个业务的查询服务,且权限控制可以即时生效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (19)
1.一种数据同步方法,其特征在于,包括:
在目的端创建主内存;
增量同步过程,包括:源端记录写操作流水日志,该流水日志中包括写操作的操作信息和流水号,源端记录和更新目的端的最新写操作流水号;源端在判断出本端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端;目的端收到写操作信息后按照所述写操作信息对本端主内存执行对应写操作,并记录本目的端主内存的写操作流水号,并将最新的目的端主内存的写操作流水号返回给源端。
2.根据权利要求1所述的方法,其特征在于,在所述增量同步的过程中,具体包括:所述源端定期判断本端最新写操作流水号是否大于目的端的最新写操作流水号,如果本端最新写操作流水号大于目的端的最新写操作流水号,则将源端写操作流水号大于目的端的最新写操作流水号的所有写操作信息打包成数据包,并将数据包实时推送到目的端。
3.根据权利要求2所述的方法,其特征在于,所述增量同步的过程中,进一步包括:
所述目的端按照所述写操作信息对本端主内存执行对应写操作时,如果流水号为n的写操作失败,则向源端同步模块返回包含该流水号n的单点重发请求,同时继续对本端主内存执行该流水号n之后的写操作;
所述源端在收到目的端的单点重发请求后,将包含流水号n的写操作信息的单点重发响应发送给发起请求的目的端;
所述目的端在收到源端返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主内存执行对应的写操作。
4.根据权利要求3所述的方法,其特征在于,所述增量同步的过程中,所述目的端在收到源端同步模块返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主内存执行对应的写操作之后,进一步包括:如果该写操作再次失败则重新发送包含该流水号n的单点重发请求;
所述源端进一步记录向同一目的端发送包含流水号n的写操作信息的单点重发响应的次数,如果次数达到预定的上限,则停止向该目的端发送该包含流水号n的写操作信息的单点重发响应。
5.根据权利要求1所述的方法,其特征在于,所述增量同步的过程中,所述源端在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,进一步包括:判断源端向外发送数据的发送频率是否达到预定上限,如果没有则将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,否则停止后续所述写操作信息的实时推送。
6.根据权利要求1所述的方法,其特征在于,所述增量同步的过程中,进一步包括:
所述源端在将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端之后的预定时段内,如果没有再向同一目的端推送写操作信息,则向该目的端发送流水号请求;
所述目的端在收到源端的流水号请求后,将包含本目的端主内存的最新写操作流水号的流水号响应返回给该源端;
所述源端在收到目的端的流水号响应后,以该响应中的流水号更新本端记录的该目的端的写操作流水号。
7.根据权利要求1至6任一项所述的方法,其特征在于,该方法进一步包括:
在目的端创建备用内存;
全量更新过程,包括:源端定时将本端内存的全量数据以及导入时刻的源端写操作流水号导入指定存储装置;目的端定时从所述指定存储装置中拉取其中的全量数据和所述导入时刻的源端写操作流水号并保存在本目的端的备用内存中;拉取并保存完毕后,将所述备用内存切换为主内存进行所述增量同步过程,原主内存切换为备用内存。
8.根据权利要求7所述的方法,其特征在于,所述目的端在拉取并保存完毕所述全量数据和所述导入时刻的源端写操作流水号后,进一步包括:
目的端向源端发送主动增量同步请求,其中包括所述导入时刻的源端写操作流水号;
源端在收到目的端的主动增量同步请求后,将源端写操作流水号大于所述导入时刻的源端写操作流水号的写操作信息作为响应返回给发起请求的目的端;
目的端在接收到源端返回的响应后,按照其中的写操作信息对本端备用内存执行对应写操作,并记录本目的端备用内存的写操作流水号,在备用内存的最新写操作流水号大于等于主内存的最新写操作流水号后,将所述备用内存切换为主内存进行所述增量同步过程,将原主内存切换为备用内存。
9.根据权利要求7所述的方法,其特征在于,所述目的端执行的增量同步过程采用父进程执行,所述目的端执行的全量更新过程采用子进程执行。
10.根据权利要求7所述的方法,其特征在于,所述目的端有两个以上,在所述源端和每个目的端之间都执行所述方法。
11.一种数据同步系统,其特征在于,包括:
内存创建模块,设置在目的端,用于在目的端创建主内存;
操作流水日志模块,设置在源端,用于记录源端的写操作流水日志,该流水日志中包括写操作的操作信息和流水号;
源端同步模块,用于记录和更新目的端的最新写操作流水号,并在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端;
目的端同步模块,用于接收源端同步模块推送来的写操作信息,按照所述写操作信息对本端主内存执行对应写操作以更新该主内存中的数据,并记录本目的端主内存的写操作流水号,将最新的目的端主内存的写操作流水号返回给源端同步模块。
12.根据权利要求11所述的数据同步系统,其特征在于,所述源端同步模块具体包括:定期判断本端最新写操作流水号是否大于目的端的最新写操作流水号,如果本端最新写操作流水号大于目的端的最新写操作流水号,则将源端写操作流水号大于目的端的最新写操作流水号的所有写操作信息打包成数据包,并将数据包实时推送到目的端。
13.根据权利要求12所述的数据同步系统,其特征在于,
所述目的端同步模块进一步用于:按照所述写操作信息对本端主内存执行对应写操作时,如果流水号为n的写操作失败,则向源端同步模块返回包含该流水号n的单点重发请求,同时继续对本端主内存执行该流水号n之后的写操作;在收到源端同步模块返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主内存执行对应的写操作;
所述源端同步模块进一步用于:在收到目的端的单点重发请求后,将包含流水号n的写操作信息的单点重发响应发送给发起请求的目的端同步模块。
14.根据权利要求13所述的数据同步系统,其特征在于,
所述目的端同步模块进一步用于:在收到源端同步模块返回的单点重发响应后,按照该响应中的流水号为n的写操作信息再次对主内存执行对应的写操作,如果该写操作再次失败则重新发送包含该流水号n的单点重发请求;
所述源端同步模块进一步用于:记录向同一目的端发送包含流水号n的写操作信息的单点重发响应的次数,如果次数达到预定的上限,则停止向该目的端发送该包含流水号n的写操作信息的单点重发响应。
15.根据权利要求11所述的数据同步系统,其特征在于,所述源端同步模块进一步用于:在判断出源端最新写操作流水号大于目的端的最新写操作流水号后,判断源端向外发送数据的发送频率是否达到预定上限,如果没有则将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端,否则停止后续所述写操作信息的实时推送。
16.根据权利要求11所述的数据同步系统,其特征在于,
所述源端同步模块进一步用于:在将源端写操作流水号大于目的端的最新写操作流水号的写操作信息实时推送到目的端之后的预定时段内,如果没有再向同一目的端推送写操作信息,则向该目的端发送流水号请求;在收到目的端的流水号响应后,以该响应中的流水号更新本端记录的该目的端的写操作流水号;
所述目的端同步模块进一步用于:在收到源端同步模块的流水号请求后,将包含本目的端主内存的最新写操作流水号的流水号响应返回给该源端同步模块。
17.根据权利要求11~16任一项所述的数据同步系统,其特征在于,所述内存创建模块进一步用于创建备用内存;且该数据同步系统进一步包括:
源端全量更新模块,用于定时将本源端内存的全量数据以及导入时刻的源端写操作流水号导入指定存储装置;
目的端全量更新模块,用于定时从所述指定存储装置中拉取其中的全量数据和所述导入时刻的源端写操作流水号并保存在本目的端的备用内存中;拉取并保存完毕后,将所述备用内存切换为主内存进行所述增量同步过程,将原主内存切换为备用内存。
18.根据权利要求17所述的数据同步系统,其特征在于,
所述目的端全量更新模块进一步用于:在拉取并保存完毕所述全量数据和所述导入时刻的源端写操作流水号后,向所述源端同步模块发送主动增量同步请求,其中包括所述导入时刻的源端写操作流水号;并在接收到源端同步模块返回的响应后,按照其中的写操作信息对本端备用内存执行对应写操作,并记录本目的端备用内存的写操作流水号,在备用内存的最新写操作流水号大于等于主内存的最新写操作流水号后,将所述备用内存切换为主内存进行所述增量同步过程,将原主内存切换为备用内存;
所述源端同步模块进一步用于:在收到目的端全量更新模块的主动增量同步请求后,将源端写操作流水号大于所述导入时刻的源端写操作流水号的写操作信息作为响应返回给发起请求的目的端全量更新模块。
19.根据权利要求17所述的数据同步系统,其特征在于,所述目的端同步模块采用父进程执行,所述目的端全量更新模块采用子进程执行。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580436.3A CN103905397B (zh) | 2012-12-28 | 2012-12-28 | 数据同步方法和系统 |
PCT/CN2013/089624 WO2014101684A1 (zh) | 2012-12-28 | 2013-12-17 | 数据同步方法、装置和系统 |
US14/752,434 US9753656B2 (en) | 2012-12-28 | 2015-06-26 | Data synchronization method, apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580436.3A CN103905397B (zh) | 2012-12-28 | 2012-12-28 | 数据同步方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103905397A CN103905397A (zh) | 2014-07-02 |
CN103905397B true CN103905397B (zh) | 2015-05-13 |
Family
ID=50996552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210580436.3A Active CN103905397B (zh) | 2012-12-28 | 2012-12-28 | 数据同步方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9753656B2 (zh) |
CN (1) | CN103905397B (zh) |
WO (1) | WO2014101684A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326030B (zh) * | 2015-06-26 | 2020-03-20 | 伊姆西Ip控股有限责任公司 | 用于存储系统中的软切换的方法和装置 |
CN105488115A (zh) * | 2015-11-23 | 2016-04-13 | 北京奇虎科技有限公司 | 数据库的数据操作的方法及装置 |
CN106921503B (zh) * | 2015-12-24 | 2020-02-21 | 华为技术有限公司 | 一种数据同步方法、装置及系统 |
CN106254094B (zh) * | 2016-07-19 | 2019-08-13 | 中国银联股份有限公司 | 一种数据同步方法及系统 |
CN106487469B (zh) * | 2016-10-17 | 2019-01-11 | 财付通支付科技有限公司 | 一种时间节点切换方法与系统 |
JP6881950B2 (ja) * | 2016-11-10 | 2021-06-02 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法、及びプログラム |
US10581965B2 (en) * | 2017-09-29 | 2020-03-03 | Project Giants, Llc | Mirroring flow configurations for internet protocol receivers |
CN110019513A (zh) * | 2017-11-06 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 增量数据的同步方法、装置、系统及电子设备 |
CN108228789B (zh) * | 2017-12-29 | 2021-12-21 | 北京奇虎科技有限公司 | 从节点触发的同步异常恢复方法及装置 |
CN108093077B (zh) * | 2017-12-29 | 2019-06-25 | Oppo广东移动通信有限公司 | 异常处理方法、装置以及服务器 |
CN108804523B (zh) * | 2018-04-27 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 数据同步方法、系统及计算机可读存储介质 |
CN111026324B (zh) | 2018-10-09 | 2021-11-19 | 华为技术有限公司 | 转发表项的更新方法及装置 |
CN109656992A (zh) * | 2018-11-27 | 2019-04-19 | 山东中创软件商用中间件股份有限公司 | 一种数据传输对账方法、装置及设备 |
CN110674146B (zh) * | 2019-08-22 | 2022-01-25 | 视联动力信息技术股份有限公司 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
CN110866158B (zh) * | 2019-11-14 | 2021-01-26 | 北京沃东天骏信息技术有限公司 | 信息更新方法、装置、系统、存储介质及电子设备 |
CN111209342B (zh) * | 2020-01-13 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 分布式系统、数据同步与节点管理方法、设备及存储介质 |
CN111262923B (zh) * | 2020-01-14 | 2022-08-19 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN113411370A (zh) * | 2020-07-06 | 2021-09-17 | 丰疆智能(深圳)有限公司 | 终端、服务端、物联网数据传输方法以及数据传输系统 |
CN112015748B (zh) * | 2020-10-21 | 2021-03-26 | 广州宸祺出行科技有限公司 | 一种区域实时订单与运力的供需关系可视化方法和系统 |
CN113206757B (zh) * | 2021-04-25 | 2022-04-19 | 烽火通信科技股份有限公司 | 流式同步网管配置全量数据和增量数据的方法及电子设备 |
CN116340430A (zh) * | 2023-05-24 | 2023-06-27 | 北京奥星贝斯科技有限公司 | 一种数据同步校验方法及相关设备 |
CN118152147A (zh) * | 2024-01-31 | 2024-06-07 | 北京趋动智能科技有限公司 | 数据同步方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756108A (zh) * | 2004-09-29 | 2006-04-05 | 华为技术有限公司 | 主备系统数据同步方法 |
CN101106477A (zh) * | 2006-07-12 | 2008-01-16 | 中兴通讯股份有限公司 | 基于流水号生成增量数据的方法 |
CN102098342A (zh) * | 2011-01-31 | 2011-06-15 | 华为技术有限公司 | 一种基于事务级的数据同步方法、装置及系统 |
CN102821111A (zh) * | 2012-09-07 | 2012-12-12 | 普华基础软件股份有限公司 | 文件云存储实时同步方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643670B2 (en) * | 2001-02-27 | 2003-11-04 | Microsoft Corporation | Efficient replication of an expanded partial database |
-
2012
- 2012-12-28 CN CN201210580436.3A patent/CN103905397B/zh active Active
-
2013
- 2013-12-17 WO PCT/CN2013/089624 patent/WO2014101684A1/zh active Application Filing
-
2015
- 2015-06-26 US US14/752,434 patent/US9753656B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756108A (zh) * | 2004-09-29 | 2006-04-05 | 华为技术有限公司 | 主备系统数据同步方法 |
CN101106477A (zh) * | 2006-07-12 | 2008-01-16 | 中兴通讯股份有限公司 | 基于流水号生成增量数据的方法 |
CN102098342A (zh) * | 2011-01-31 | 2011-06-15 | 华为技术有限公司 | 一种基于事务级的数据同步方法、装置及系统 |
CN102821111A (zh) * | 2012-09-07 | 2012-12-12 | 普华基础软件股份有限公司 | 文件云存储实时同步方法 |
Also Published As
Publication number | Publication date |
---|---|
US9753656B2 (en) | 2017-09-05 |
CN103905397A (zh) | 2014-07-02 |
US20150293712A1 (en) | 2015-10-15 |
WO2014101684A1 (zh) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905397B (zh) | 数据同步方法和系统 | |
CN103338279B (zh) | 基于域名解析的优化排序方法及系统 | |
EP1940107A1 (en) | A method for processing data synchronization and client terminal, server and data synchronization system thereof | |
CN104333512A (zh) | 一种分布式内存数据库访问系统及方法 | |
CN104980519A (zh) | 多机房存储系统 | |
KR20130122196A (ko) | 핸드오버를 고려한 모바일 컨텐츠 제공 방법 및 이를 위한 장치 | |
WO2018166415A1 (zh) | 云存储系统、媒体数据存储方法及系统 | |
CN108833149B (zh) | 一种快递柜网络可用性监控与自愈的方法及系统 | |
CN102394944B (zh) | 一种Web访问中的IP地址库修正方法和设备 | |
CN107302582B (zh) | 千万级物联网场景的数据采集及弱推送方法 | |
CN102411598A (zh) | 一种实现数据一致性的方法及其系统 | |
CN101867620A (zh) | 一种跨安全区查看前置报文的方法 | |
CN105207947A (zh) | 一种过滤抖动的渐进式流量调度方法和系统 | |
CN113055378B (zh) | 用于工业互联网标识解析的协议转换平台及数据对接方法 | |
US9232453B2 (en) | Method and device for processing AT command when mobile phone loses coverage and switches between systems | |
CN113347020A (zh) | 域名服务的灾备方法、系统、装置和介质 | |
CN101778134A (zh) | 数据同步方法及移动通信终端 | |
US11218371B2 (en) | Method and apparatus for performing communication in internet of things | |
CN104468704A (zh) | 支持内容中心网络的Web服务器系统及处理方法 | |
CN109167850A (zh) | 一种确定cdn服务运营商的方法、装置和存储介质 | |
US9344363B2 (en) | Information processing system, relay device, information processing device, and information processing method | |
EP3089421A1 (en) | Network element data access method and apparatus, and network management system | |
CN109842691A (zh) | Cache系统与DNS服务器的域名同步方法及相关设备 | |
CN106897316B (zh) | 一种信令数据的处理方法和装置 | |
CN104683288A (zh) | 消息续传方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151230 Address after: The South Road in Guangdong province Shenzhen city Fiyta building 518057 floor 5-10 Nanshan District high tech Zone Patentee after: Shenzhen Tencent Computer System Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |