CN110417838A - 一种数据同步方法及同步服务设备 - Google Patents
一种数据同步方法及同步服务设备 Download PDFInfo
- Publication number
- CN110417838A CN110417838A CN201810400515.9A CN201810400515A CN110417838A CN 110417838 A CN110417838 A CN 110417838A CN 201810400515 A CN201810400515 A CN 201810400515A CN 110417838 A CN110417838 A CN 110417838A
- Authority
- CN
- China
- Prior art keywords
- data
- terminal device
- acquisition system
- synchrodata
- data acquisition
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Abstract
本申请提供了一种数据同步方法及同步服务设备,以在不增加数据同步服务成本的条件下,增加了服务器存储的同步数据量。该方法包括:确定第一服务器上的第一数据集合中存在满足设定条件的目标数据;其中,所述第一数据集合用于存储终端设备的同步数据;将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据;其中,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据同步方法及同步服务设备。
背景技术
随着移动终端设备的广泛应用,用户在移动终端设备中保存的数据越来越多,也越来越重要,如日历、浏览器书签以及通讯录等数据。为了防止数据丢失以及实现数据共享,终端设备生产商通过云端服务器为用户提供数据同步服务,使得用户的终端设备上的数据与云端服务器上保存的该用户的数据保持一致,进而使得当用户使用多个终端设备时,每个终端设备上的数据能够保持一致,如图1所示。
云端服务器通过对云端存储的终端设备的同步数据进行维护和管理,实现终端设备与云端服务器之间的数据实时同步,如云端服务器根据终端设备发送的上行数据同步请求,在众多同步数据中查找特定的数据,对该特定的数据进行修改或删除等,因此云端服务器维护的同步数据越多,数据同步服务的成本也越高。目前,终端设备生产商通过设置同步数据量的上限来控制数据同步服务的成本,例如限制每个用户同步的通讯录、日历、备忘录以及书签均不超过20000条。
在实际应用中,用户一般不会主动删除终端设备中需要同步到云端服务器的数据(如备忘录),所以随着时间的推移,终端设备中需要同步到云端服务器的数据越来越多,云端服务器中存储的同步数据也越来越多。当云端服务器中存储的数据达到设定上限后,用户需要删除终端设备中部分数据以减少云端服务器中存储的同步数据,云端服务器才能继续为用户提供数据同步服务,但是如果用户在需要使用到这些被删除的数据时可能会导致无法获取的问题,因此给用户带来不便,降低了用户体验。
发明内容
本申请提供了一种数据同步方法及同步服务设备,以在不增加数据同步服务成本的条件下,增加服务器存储的同步数据量。
第一方面,本申请提供了一种数据同步方法,所述方法可以应用于同步服务设备中的芯片或同步服务设备等。以同步服务设备为例,所述方法包括:同步服务设备确定第一服务器上的第一数据集合中存在满足设定条件的目标数据时,将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据;其中,所述第一数据集合用于存储终端设备的同步数据,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
通过上述方法,同步服务设备在确定第一数据集合中存在满足设定条件的目标数据时,将所述目标数据存储到第二数据集合中,并从所述第一数据集合中删除所述目标数据,可以动态减少所述第一数据集合中存储的终端设备的同步数据的数据量,进而使得所述第一数据集合可以不断地存储终端设备的同步数据。
并且,所述同步服务设备除了通过所述第一数据集合存储终端设备的同步数据,还将满足设定条件的目标数据转存到所述第二数据集合中,使得终端设备不仅可以通过所述同步服务设备获取所述第一数据集合中的同步数据,还可以通过所述第二数据集合获取历史数据,相较于现有技术中,用户通过删除终端设备中部分同步数据来减少同步服务设备中存储的同步数据,并继续使用数据同步服务,可以有效提升用户体验。
一个可能的实施方式中,用于存储所述第一数据集合的第一服务器以及用于存储所述第二数据集合的第二服务器可以相同,也可以不同。其中,所述第一服务器可以是所述同步服务设备,所述第二服务器也可以是所述同步服务设备。
一个可能的实施方式中,所述设定条件为以下条件中的任意一个或者至少两个条件的组合:
条件一:所述第一数据集合中数据的存储时长大于设定阈值;
条件二:所述第一数据集合中数据的存储时间在第一设定日期之前;
条件三:所述第一数据集合中数据自身包含的时间信息在第二设定日期之前;
条件四:所述第一数据集合中数据在设定时长内没有更新。
通过上述方法,所述同步服务设备可以通过配置不同的设定条件,将所述第一数据集合中存储时间较长的数据或者终端设备不需要经常访问的数据,这样不仅可以减少所述第一数据集合中终端设备的同步数据的数据量,也使得终端设备可以在不需要删除自身保存的同步数据的同时,通过所述同步服务存储更多的同步数据。
一个可能的实施方式中,所述同步服务设备将所述目标数据转换成非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合中。
通过上述方法,所述同步服务设备将所述目标数据以非结构化数据的方式转存到所述第二数据集合中,可以不用对这些数据进行进一步的管理和维护(如数据更新等),进而可以降低数据同步服务的成本。
一个可能的实施方式中,所述同步服务设备将所述目标数据存储到第二服务器上的第二数据集合中之后,还获取所述目标数据在所述第二数据集合中的存储地址,为所述目标数据创建并保存转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述目标数据在所述第二数据集合中的存储地址。
通过上述方法,所述同步服务设备在下行数据同步过程中,可以根据所述转存记录判断所述第二数据集合中是否存在终端设备所请求的数据,并在确定所述第二数据集合中存在终端设备所请求的数据时,将所述转存记录中终端设备所请求的数据对应的存储地址发送给终端设备。
一种可能的实施方式中,所述转存记录为结构化数据,即所述转存记录以结构化数据的形式保存,使得所述同步服务设备在接收到所述终端设备发送的下行数据同步请求之后能够根据所述转存记录快速确定所述第二数据集合中是否存在所述终端设备所请求的数据,进而使得终端设备能够快速获取所述第二数据集合中所述终端设备所请求的数据。
一个可能的实施方式中,所述同步服务设备还可以接收终端设备发送的下行数据同步请求,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;根据所述终端设备请求的同步数据的标识以及所述转存记录,确定所述第一数据集合以及所述第二集合中存在所述终端设备请求的同步数据;将所述第一数据集合中所述终端设备请求的数据以及所述转存记录中所述终端设备请求的同步数据对应的存储地址,发送给所述终端设备。
通过上述方法,所述同步服务设备接收终端设备发送的下行数据同步请求后,确定所述第一数据集合以及所述第二数据集合中均存储有所述终端设备所请求的同步数据时,将所述第一数据集合中所述终端设备所请求的同步数据,以及所述第二数据集合中所述终端设备所请求的同步数据对应存储地址反馈给所述终端设备,使得所述终端设备既可以快速获取到所述第一数据集合中所述终端设备所请求的同步数据,还可以根据接收到的存储地址,下载所述第二数据集合中所述终端设备所请求的同步数据,进而可以获得存储时间较长或者不常访问的数据,有效提升用户体验。
一种可能的实施方式中,所述同步服务设备还可以接收终端设备发送的数据查询请求,所述数据查询请求中携带所述终端设备所要查询的数据的标识;根据所述终端设备所要查询的数据的标识以及所述转存记录,确定所述第二数据集合中储有所述终端设备所要查询的数据;将所述转存记录中所述终端设备所要查询的数据对应的存储地址,发送给所述终端设备。
通过上述方法,所述同步服务设备可以在终端设备需要访问所述第二数据集合中的数据时,根据终端设备发送的数据查询请求将所述终端设备所要访问的数据对应的存储地址反馈给所述终端设备,进而使得用户可以查看在所述终端设备存储的历史数据。
一种可能的实施方式中,所述同步服务设备还可以接收终端设备发送的下行数据同步请求,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;根据所述终端设备请求的同步数据的标识,确定所述第一集合中存在所述终端设备请求的同步数据;从所述第一数据集合中获取所述终端设备请求的同步数据,并将获取到的数据发送给所述终端设备。
一种可能的实施方式中,所述同步服务设备确定所述第一数据集合中存在满足设定条件的目标数据之前,还可以接收终端设备发送的上行数据同步请求,所述上行数据同步请求中携带所述终端设备的同步数据以及所述同步数据对应的操作;根据所述同步数据以及所述同步数据对应的操作,更新所述第一数据集合。
通过上述方法,所述同步服务设备在所述第一数据集合更新时,确定所述第一数据集合中是否存在所述目标数据,不需要实时检测所述第一数据集合张是否存在所述目标数据,可以提高所述同步服务设备的资源利用率,减少资源浪费。
第二方面,本申请还提供了一种同步服务设备,所述同步服务设备具有实现第一方面所述方法实例中同步服务设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述同步服务设备的结构中包括确定单元、转存单元、创建单元和传输单元等,这些单元可以执行第一方面方法示例中的相应功能,具体参见第一方面所述方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述同步服务设备的结构中包括处理器、存储器和收发器等组件,所述存储器中存储有支持所述同步服务设备执行第一方面所述方法中相应功能的软件程序,所述存储器与所述处理器耦合,其保存所述同步服务设备必要的程序指令和数据。
第三方面,本申请实施例中还提供一种计算机存储介质,该存储介质中存储有软件程序,该软件程序在被一个或多个处理器读取并执行时可实现任一方面的任意一种实施方式提供的方法。
第四方面,本申请实施例中还提供一种计算机程序产品,该计算机程序产品在被一个或多个处理器读取并执行时可实现任一方面的任意一种实施方式提供的方法。
附图说明
图1为现有技术中数据同步的流程示意图;
图2为本申请实施例提供的一种服务器的结构示意图;
图3为本申请实施例提供的一种数据同步方法的流程示意图;
图4为本申请实施例提供的一种上行数据同步过程的流程结构示意图;
图5为本申请实施例提供的目标数据转换为非结构化数据的流程示意图;
图6为本申请实施例提供的一种下行数据同步过程的流程结构示意图;
图7为本申请实施例提供的一种同步服务设备的结构示意图;
图8为本申请实施例提供的另一种同步服务设备的结构示意图。
具体实施方式
本申请提供了一种数据同步方法及同步服务设备,以在不增加数据同步服务成本的条件下,增加服务器能够存储的同步数据量。其中,本申请所述的方法和同步服务设备基于同一发明构思,由于所述方法和所述同步服务设备解决问题的原理相似,因此所述同步服务设备与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便本领域技术人员理解。
1)结构化数据(structured data),也称为行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。
例如,如下所示的表格为一个终端设备同步到云端服务器的日程事件对应的第一数据集合,该表格中的一行表示一条结构化数据。
序号(eventID) | 内容(eventcontent) | 时间(eventTime) |
9532 | 开会 | 2017-9-1 |
9531 | 参加同学聚会 | 2017-8-27 |
… | … | … |
4533 | 健身 | 2017-8-23 |
4532 | 交付版本 | 2017-7-30 |
… | … | … |
4421 | 参加慈善会议 | 2017-5-23 |
… | … | … |
0001 | 开会 | 2016-12-16 |
2)非结构化数据(non-structured data),指数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。非结构化数据包括各种格式的办公文档(如word、Excel)、文本、图片、可扩展标记语言(extensible markup language,XML)格式文件、超级文本标记语言(hypertext markup language,HTML)格式文件、JavaScript对象标记语言(javascript object notation,JSON)格式文件以及各种音频/视频文件等等。
3)和/或,描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请提供了一种数据同步方法,所述方法可以应用于同步服务设备中的芯片或同步服务设备等,尤其适用于云端同步服务设备。其中,所述同步服务设备可以为控制服务器(或者同步服务器),所述控制服务器能够管理和控制所述第一服务器以及所述第二服务器,如云端服务器集群系统中的控制服务器;或者,所述同步服务设备可以为第一集成服务器,所述第一集成服务器中集成有所述第一服务器和所述第二服务器;或者,所述同步服务设备可以为第二集成服务器,所述第二集成服务器中集成有所述第一服务器,且所述第二集成服务器能够管理和控制所述第二服务器;或者,所述同步服务设备可以为第三集成服务器,所述第三集成服务器中集成有所述第二服务器,且所述第三集成服务器能够管理和控制所述第一服务器。
图2示出了一种可能的控制服务器的结构,所述控制服务器200包括:电源210、射频(radio frequency,RF)电路220、处理器230、通信接口240以及存储器250等部件。本领域技术人员可以理解,图2中示出的控制服务器的结构并不构成对控制服务器的限定,本申请实施例提供的控制服务器备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对所述控制服务器200的各个构成部件进行具体的介绍:
所述电源210用于给所述控制服务器200中各个部件供电。可选地,所述电源210可以通过电源管理系统与所述处理器230逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
所述RF电路220可用于数据同步过程中待同步数据的接收和发送。具体地,所述RF电路220在接收到终端设备发送的上行数据后,发送给所述处理器230处理;另外,将待发送的下行数据发送给终端设备。通常,所述RF电路220包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路220还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
所述控制服务器200可以通过所述通信接口240与其他设备实现物理连接。可选的,所述通信接口240与所述其他设备的通信接口通过电缆连接,实现所述控制服务器200和其他设备之间的数据传输,或者实现管理人员对所述服务器的管理和维护。
所述存储器250可用于存储软件程序以及模块。所述处理器250通过运行存储在所述存储器250的软件程序以及模块,从而执行所述控制服务器200的各种功能应用以及数据处理。
可选地,所述存储器250可以主要包括存储程序区和存储数据区。其中,存储程序区可存储操作系统以及各种应用程序(比如数据同步应用)等;存储数据区可存储终端设备发送的同步数据(比如浏览器书签,通讯录以及备忘录)等。
此外,所述存储器250可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述处理器230是所述控制服务器200的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在所述存储器250内的软件程序和/或模块,以及调用存储在所述存储器250内的数据,执行所述控制服务器200的各种功能和处理数据,从而实现基于所述服务器的多种业务,如数据同步业务。其中,所述处理器230可以包括一个或多个处理单元。
本申请实施例提供了一种数据同步方法,该方法可以适用于上述如图2所示的控制服务器200。因此,在本申请实施例中,仅以同步服务设备为所述控制服务器200为例进行描述,并不构成对其的限定。参阅图3所示,所述方法的具体流程包括:
S301:控制服务器200确定第一服务器上的第一数据集合中存在满足设定条件的目标数据。其中,所述第一数据集合用于存储终端设备的同步数据。
其中,所述第一服务器和所述第二服务器可以相同,也可以不同。当所述第一服务器与所述第二服务器为同一个服务器时,所述第一数据集合和所述第二数据集合存储在该服务器的不同存储区域。
可选地,所述控制服务器200通过下步骤确定所述第一数据集合中存在满足设定条件的目标数据:所述控制服务器200通过处理器230查询所述第一服务器中存储的所述第一数据集合,根据所述设定条件确定所述第一数据集合中存在所述目标数据。
一个具体的实施方式中,所述控制服务器200按照每个终端设备所属的用户账号以及所述每个终端设备发送的同步数据的数据类型,将所述每个终端设备发送的同步数据以结构化数据的形式存储到数据库中,此时,所述数据库中一个用于存储终端设备的同步数据的表相当于一个第一数据集合。其中,针对同一个用户账号下不同数据类型的同步数据,所述控制服务器200可以根据不同数据类型的同步数据存储在不同的数据库中,也可以将不同数据类型的数据存储在同一个数据库的不同表中。
一个可能的实施方式中,所述设定条件包括但不限于以下条件中任意一种或者几种的组合:
A、所述第一数据集合中数据的存储时长大于设定阈值。例如,所述第一数据集合中数据的存储时长大于3个月。
B、所述第一数据集合中数据的存储时间在第一设定日期之前。例如,所述第一数据集合中数据的存储时间在2015年6月1日之前。
C、所述第一数据集合中数据自身包含的时间信息在第二设定日期之前。例如,所述第一数据集合中存储的终端设备的同步数据为备忘录数据,该备忘录数据中包括N个事件对应的数据,事件1发生的时间为2017年3月1日,事件2发生的时间为2017年6月1日,…事件N发生的时间为2017年4月6日,其中,每个事件发生的时间即为该事件对应的数据自身包含的时间信息,此时所述设定条件可以为事件发生时间在2017年5月之前。
可选地,所述第一数据集合中的每条数据可以按照数据存储到所述第一数据集合的先后顺序编号,例如第一个存储到所述第一数据集合的结构化数据的序号为1,第二个存储到所述第一数据集合的结构化数据的序号为2…,依次类推,第N个存储到所述第一数据集合的结构化数据的序号为N。
或者,所述第一数据集合中数据也可以按照数据自身包含的时间信息的先后顺序编号,例如,所述第一数据集合中存储的终端设备的同步数据为备忘录数据,该备忘录数据中包括3个事件对应的数据,事件1发生的时间为2017年3月1日,事件2发生的事件为2017年6月1日,事件3发生的时间为2017年4月6日,那么事件1对应的数据在所述第一数据集合中的编号为1,事件3对应的数据在所述第一数据集合中的编号为2,事件2对应的数据在所述第一数据集合中的编号为3,以此类推。
在所述第一数据集合中的数据按照上述两种方式编号的场景下,所述设定条件还可以为所述第一数据集合中数据的编号小于设定值。
D、所述第一数据集合中数据在设定时长内没有更新。
通过上述方法,所述控制服务器200可以将所述第一数据集合中存储时间较长的历史数据,或者不常用的数据转存到所述第二数据集合,这样不仅可以减少所述第一数据集合中终端设备的同步数据的数据量,使得终端设备可以在不需要删除自身保存的同步数据的同时,在所述第一数据集合中存储更多的同步数据。
一个可能的实施方式中,所述控制服务器200检测所述第一数据集合中是否存在所述目标数据的方式包括但不限于以下几种方式:
方式一、所述控制服务器200可以周期性地检测所述第一数据集合中是否存在所述目标数据。特别地,所述控制服务器200可以在所述控制服务器200的空闲时间段内周期性地检测所述第一数据集合中是否存在所述目标数据,以减少检测所述第一数据集合中是否存在所述目标数据对所述控制服务器200中其他业务的影响,并可以提高所述服务器的资源利用率。
可选地,所述控制服务器200可以通过以下步骤周期性检测所述第一数据集合中是否存在所述目标数据:所述控制服务器200的处理器230中设置有定时器,每当所述定时器的时间到达时,所述处理器230查询所述第一服务器中的所述第一数据集合,根据所述设定条件判断所述第一数据集合中是否存在所述目标数据。
方式二、所述控制服务器200可以在所述控制服务器200根据终端设备发送的上行数据同步请求更新所述第一数据集合之后,检测所述第一数据集合中是否存在所述目标数据。
具体地,所述控制服务器200根据所述终端设备发送的上行数据同步请求,更新所述第一数据集合具体包括以下步骤:所述控制服务器200接收所述终端设备发送的上行数据同步请求,所述上行数据同步请求中携带所述终端的同步数据以及所述同步数据对应的操作;所述控制服务器200根据所述同步数据以及所述同步数据对应的操作,更新所述第一数据集合。其中,所述同步数据对应的操作包括删除、修改以及增加。
可选地,所述控制服务器200通过以下步骤更新所述第一数据集合:所述控制服务器200通过射频电路220接收所述终端发送的上行数据同步请求,将所述上行数据同步请求发送给所述处理器230,所述处理器230接收所述上行数据同步请求后,根据所述上行同步数据请求中所述终端的同步数据以及所述同步数据对应的操作,更新所述第一服务器中所述第一数据集合。
需要说明的时,本申请实施例并不对所述终端设备发送所述上行数据同步请求的时机进行限定,例如所述终端设备可以在确定设定应用(如日历应用、备忘录应用或者通讯录应用等)的数据发生变化时,发送所述上行数据同步请求,也可以在确定所述终端设备中的同步功能开关打开时,发送所述上行数据同步请求。
对于多端同步的场景,即至少两个终端设备通过所述控制服务器200中同一个用户账号进行数据同步,当所述两个终端设备中任意一个终端设备向所述控制服务器200发送上行数据同步请求,更新所述第一数据集合中存储的同步数据之后,所述控制服务器200还要将所述任意一个终端设备更新后的同步数据发送给所述两个终端设备中的其它终端设备,使得所述至少两个终端设备上的数据保持一致。
方式三、所述控制服务器200在接收到终端设备发送的数据检测请求后,检测所述第一数据集合中是否存在所述目标数据。
具体地,所述控制服务器200通过射频电路220接收终端设备发送的数据检测请求,将所述数据检测请求发送给所述处理器230,所述处理器230接收所述数据检测请求后,查询所述存储器250中所述第一数据集合,根据所述设定条件判断所述第一数据集合中是否存在所述目标数据。
S302:所述控制服务器200将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据。
其中,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
具体地,所述控制服务器200中的处理器230从所述第一服务器上的第一数据集合中获取所述目标数据,并通过所述射频电路220将所述目标数据发送给所述第二服务器,由所述第二服务器将所述目标数据存储到所述第二数据集合。
一个可能的实施方式中,所述控制服务器200将所述目标数据转换成非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合中,使得所述控制服务器200可以不用对这些数据进行进一步的管理和维护(如数据更新等),进而可以降低数据同步服务的成本。其中,所述控制服务器200可以通过处理器230将所述目标数据转换成非结构化数据,并将转换得到的非结构化数据存储到所述第二数据集合中。
一个可能的实施方式中,为了避免所述控制服务器200每次需要转换的所述目标数据的数量较少造成的资源浪费,所述控制服务器200可以在所述目标数据的数量大于设定下限阈值时,将所述目标数据转换为非结构化数据。
需要说明的是,本申请实施例并不对所述目标数据转换后得到的非结构化数据的具体格式进行限定,该非结构化数的格式可以为XML格式、JSON格式或者HTML格式等等。
一个可能的实施方式中,所述控制服务器200将所述目标数据存储到所述第二数据集合之后,还可以获取所述目标数据在所述第二数据集合中的存储地址,为所述目标数据创建并保存转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述目标数据在所述第二数据集合中的存储地址,使得所述控制服务器200在下行数据同步过程中,可以根据所述转存记录判断所述第二数据集合中是否存在终端设备所请求的数据,并在确定所述第二数据集合中存在终端设备所请求的数据时,将所述转存记录中终端设备所请求的数据对应的存储地址发送给终端设备。
其中,若所述第二服务器为所述控制服务器200,则所述控制服务器200生成所述目标数据的存储地址,否则,所述第二服务器生成所述目标数据的存储地址,并将所述目标数据的存储地址发送给所述控制服务器200。所述转存记录可以保存在所述控制服务器200中或所述第一服务器中。具体地,所述控制服务器200可以通过所述处理器230创建所述转存记录,将所述转存记录保存在所述存储器250中或者保存在所述第一服务器中。
具体地,所述转存记录为结构化数据,即所述转存记录以结构化数据的形式保存,使得所述控制服务器200在接收到所述终端设备发送的下行数据同步请求之后能够快速确定所述第二数据集合中是否存在所述终端设备所请求的数据,进而使得终端设备能够快速获取所述第二数据集合中所述终端设备所请求的数据。
另一个可能的实施方式中,所述控制服务器200将所述目标数据转换为非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合之后,还可以获取所述第二数据集合中所述转换得到的非结构化数据的标识,创建并保存所述目标数据的转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述第二数据集合中所述目标数据对应的非结构化数据的标识,所述非结构化数据的标识为所述目标数据在所述第二数据集合中的唯一标识,使得所述控制服务器200在下行数据同步过程中,可以根据所述转存记录判断所述第二数据集合中是否存在终端设备所请求的数据,并在确定所述第二数据集合中存在终端设备所请求的数据时,将所述转存记录中终端设备所请求的数据对应的非结构化数据的标识发送给终端设备,进而使得所述终端设备通过获得的非结构化数据的标识从所述第二数据集合中获取对应的数据。
可选地,当所述控制服务器200创建并保存所述转存记录的场景下,所述控制服务器200通过以下两种方式进行下行数据同步:
方式一:i、所述控制服务器200接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携所述终端设备请求的同步数据的标识。
其中,所述控制服务器200可以通过所述射频电路220接收所述下行数据同步请求,所述射频电路220将所述下行数据同步请求发送给所述处理器230处理。
ii、所述控制服务器200根据所述终端设备请求的同步数据的标识以及所述转存记录,确定所述第一数据集合以及所述第二集合中存在所述终端设备请求的同步数据。
其中,所述控制服务器200可以通过所述处理器230查询所述第一数据集合以及所述第二数据集合,确定所述第一数据集合以及所述第二数据集合中存储有所述终端设备请求的同步数据。
iii、所述控制服务器200将所述第一数据集合中所述终端设备请求的数据以及所述转存记录中所述终端设备请求的同步数据对应的存储地址,发送给所述终端设备,使得所述终端可以根据接收到的存储地址,下载所述第二数据集合中所述终端设备所请求的同步数据。
其中,所述控制服务器200可以通过所述处理器230从所述第一数据集合中获取所述终端设备所请求的同步数据以及从所述转存记录中获取所述终端设备所请求的同步数据对应的存储地址,并通过所述射频电路220将获取到的所述第一数据集合中所述终端设备所请求的同步数据以及所述转存记录中所述终端设备所请求的同步数据对应的存储地址,发送给所述终端设备。
通过上述下行数据同步方式,所述终端设备既可以快速获取到所述第一数据集合中所述终端设备所请求的同步数据,还可以根据接收到的存储地址,下载所述第二数据集合中所述终端设备所请求的同步数据,进而可以获得存储时间较长或者不常访问的数据,有效提升用户体验。
方式二:i、所述控制服务器200接收终端设备发送的数据查询请求,所述数据查询请求中携带所述终端设备所要查询的数据的标识;
其中,所述控制服务器200可以通过所述射频电路220接收所述数据查询请求,所述射频电路220将所述数据查询请求发送给所述处理器230处理。
ii、所述控制服务器200根据所述终端设备所要查询的数据的标识以及所述转存记录,确定所述第二数据集合中储有所述终端设备所要查询的数据;
其中,所述控制服务器200可以通过所述处理器230查询所述转存记录,确定所述第二数据集合中存储有所述终端设备所要查询的数据。
iii、所述控制服务器200将所述转存记录中所述终端设备所要查询的数据对应的存储地址,发送给所述终端设备。
其中,所述控制服务器200可以通过所述处理器230从所述转存记录中获取所述终端设备所查询的数据对应的存储地址,并通过所述射频电路220将获取到的所述转存记录中所述终端设备所查询的数据对应的存储地址,发送给所述终端设备。
通过上述下行数据同步方式,所述控制服务器200可以在终端设备需要访问所述第二数据集合中的数据时,根据终端设备发送的数据查询请求将所述终端设备所要访问的数据对应的存储地址反馈给所述终端设备,进而使得用户可以查看在所述终端设备存储的历史数据。
可选地,所述控制服务器200还可以接收终端设备发送的下行数据同步请求,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;根据所述终端设备请求的同步数据的标识,确定所述第一集合中存在所述终端设备请求的同步数据;从所述第一数据集合中获取所述终端设备请求的同步数据,并将获取到的数据发送给所述终端设备。
其中,所述控制服务器200接收所述下行数据同步请求的具体步骤,确定所述第一集合中存在所述终端设备请求的同步数据的具体步骤,以及从所述第一数据集合中获取所述终端设备请求的同步数据,并将获取到的数据发送给所述终端设备的具体步骤参见上述方式一中的相关描述,此处不再赘述。
通过上述数据同步方法,所述控制服务器200确定第一数据集合中存在满足设定条件的目标数据时,将所述目标数据转换到第二数据集合,并从所述第一数据集合中删除所述目标数据,其中,所述第一数据集合用于存储终端设备的同步数据,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据也就是说,本申请实施例中提供数据同步服务的控制服务器200能够将所述第一数据集合中满足设定条件的目标数据转存到所述第二数据集合,可以动态减少所述第一数据集合中存储的终端设备的同步数据的数据量,使得所述第一数据集合可以不断地存储终端设备的同步数据,且不会超过设置的存储量上限。并且,所述控制服务器200将所述目标数据保存在所述第二数据集合中,进而使得终端设备既可以通过所述控制服务器200快速获取所述第一数据集合中的同步数据,也可以通过所述控制服务器200获取所述第二数据集合中的数据,进而使得用户可以通过终端设备查看所述第二数据集合中的存储时间较长或者不常使用的历史数据,不需要删除同步数据,相对于现有技术,能够有效提升用户对数据同步服务的体验。
以下通过用户对终端设备中的日历应用进行操作时触发的数据同步过程为例对本申请提供的数据同步方法进行详细说明。其中,所述同步服务设备为控制服务器(或者同步服务器),所述第一服务器中的数据库用于存储所述第一数据集合,所述第一数据集合用于存储终端设备的日历数据,所述第二服务器为文件存储服务器,用于存储所述第二数据集合。
具体实施例一,当用户通过终端设备中的日历应用录入新的日程事件时,触发上行数据同步流程,如图4所示,该流程包括以下步骤:
1、用户通过终端设备中的日历应用录入新的日程事件。
2、日历应用触发终端设备中的数据同步服务客户端进行上行数据同步。
3、终端设备中的数据同步服务客户端向控制服务器发送上行数据同步请求,该上行数据同步请求中携带用户录入的新的日程事件、该新的日程事件对应的数据类型(日历数据)以及该新的日程事件对应的操作(增加)。
4、控制服务器根据该上行数据同步请求,将该新的日程事件以结构化数据的形式存储在该服务器的数据库中。
实施中,控制服务器将该新的日程事件以结构化数据的形式存储在数据库后,还可以向终端设备中的数据同步服务客户端反馈该新的日程事件的同步结果,以告知终端设备该新的日程事件是否同步成功。
5、控制服务器检测该数据库中存储的该终端设备所属的用户账号对应的日历数据,并确定该终端设备所属的用户账号对应的日历数据中存在自身包含的时间信息在第二设定日期之前的目标数据。
6、控制服务器将该目标数据转换成非结构化数据。
例如,如图5所示,假设该第二设定日期为2017年8月,那么控制服务器将所述第一数据集合中自身包含的时间信息在2017年8月之前的日历数据确定为目标数据,并将确定的目标数据转换为非结构化数据。
7、控制服务器将转换得到的非结构化数据存储到文件服务器中的第二数据集合。
实施中,文件服务器将该转换得到的非结构化数据保存到所述第二数据集合后,还可以向控制服务器反馈存储结果以及转换得到的非结构化数据的存储地址。
8、控制服务器创建转存记录,该转存记录中包括转换得到的非结构化数据对应的终端设备同步数据的标识和转换得到的非结构化数据的存储地址。
实施例二、在上述实施例一的基础上,当用户查看终端设备的日历应用中的日程事件时,触发下行数据同步流程,如图6所示,该流程包括以下步骤:
1、用户点击终端设备中的日历应用,查看日历应用中的日程事件;
2、终端设备中的日历应用触发终端设备中的同步数据服务客户端进行下行数据同步;
3、终端设备中的同步数据服务客户端向服务器发送下行数据同步请求,该下行数据同步请求中终端设备所要请求的数据为日历数据;
4、控制服务器根据该下行数据同步请求,确定第一数据集合中存储有该终端设备的日历数据对应的数据;
5、控制服务器从该数据库中获取终端设备的日历数据对应的数据;
6、控制服务器将获取到的数据发送给该终端设备的数据同步服务客户端;
7、终端设备的数据同步服务客户端将获得的结构化数据插入到日历应用的数据库中;
8、终端设备的日历应用显示从控制服务器获取到的数据;
9、用户操作终端设备中的日历应用,查看历史日程事件;
10、终端设备中的日历应用触发数据同步服务客户端下载该终端设备的历史日历数据;
11、终端设备同步服务客户端向控制服务器发送数据查询请求,该数据查询请求中该终端设备所要查询的数据为日历数据;
12、控制服务器根据该数据查询请求以及转存记录,确定第二数据集合中存在该终端设备的日历数据;
13、控制服务器将转存记录中终端设备的日历数据对应的存储地址,返回给该终端设备的数据同步服务客户端;
14、终端设备的数据同步服务客户端根据该终端设备的日历数据对应的存储地址,从第二数据集合中下载该终端设备的日历数据对应的数据;
15、终端设备的数据同步服务客户端解析下载的数据;
16、终端设备的数据同步服务客户端将解析出的日程事件插入日历应用的数据库中;
17、终端设备的日历应用显示下载的日历数据给用户。
基于以上实施例,本申请实施例还提供了一种同步服务设备,所述同步服务设备可以实现如图3所示的数据同步方法。参阅图7所示,所述同步服务设备700包括:确定单元701和转存单元702。
所述确定单元701,用于确定第一服务器上的第一数据集合中存在满足设定条件的目标数据;其中,所述第一数据集合用于存储终端设备的同步数据。
所述转存单元702,用于将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据。
其中,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
可选地,所述设定条件为以下条件中的任意一个或者至少两个条件的组合:
条件一:所述第一数据集合中数据的存储时长大于设定阈值;
条件二:所述第一数据集合中数据的存储时间在第一设定日期之前;
条件三:所述第一数据集合中数据自身包含的时间信息在第二设定日期之前;
条件四:所述第一数据集合中数据在设定时长内没有更新。
可选地,所述转存单元702在将所述目标数据存储到第二数据集合中时,具体用于:
将所述目标数据转换成非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合中。
可选地,所述同步服务设备700还包括创建单元703,用于在所述转存单元702在将所述目标数据存储到第二数据集合中之后,获取所述目标数据在所述第二数据集合中的存储地址;为所述目标数据创建并保存转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述目标数据在所述第二数据集合中的存储地址。
可选地,所述同步服务设备700还包括传输单元704,用于接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
所述确定单元701还用于:根据所述终端设备请求的同步数据的标识以及所述转存记录,确定所述第一数据集合以及所述第二集合中存在所述终端设备请求的同步数据;
所述传输单元704还用于:将所述第一数据集合中所述终端设备请求的数据以及所述转存记录中所述终端设备请求的同步数据对应的存储地址,发送给所述终端设备。
可选地,所述同步服务设备700还包括传输单元704,用于接收终端设备发送的数据查询请求,其中,所述数据查询请求中携带所述终端设备所要查询的数据的标识;
所述确定单元701还用于:根据所述终端设备所要查询的数据的标识以及所述转存记录,确定所述第二数据集合中储有所述终端设备所要查询的数据;
所述传输单元704还用于:将所述转存记录中所述终端设备所要查询的数据对应的存储地址,发送给所述终端设备。
可选地,所述同步服务设备700还包括传输单元704,用于接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
所述确定单元701还用于:根据所述终端设备请求的同步数据的标识,确定所述第一集合中存在所述终端设备请求的同步数据;
所述传输单元704还用于:从所述第一数据集合中获取所述终端设备请求的同步数据,并将获取到的数据发送给所述终端设备。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一发明构思,本申请实施例还提供了一种同步服务设备,所述同步服务设备用于实现如图3所示的数据同步方法,具有如图7所示的同步服务设备700的功能。参阅图8所示,所述同步服务设备800包括:存储器801和处理器802。
所述存储器801,用于存储程序指令;
所述处理器802,用于调用所述存储器801中存储的程序指令,执行:
确定第一服务器上的第一数据集合中存在满足设定条件的目标数据;其中,所述第一数据集合用于存储终端设备的同步数据;
将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据;
其中,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
可选地,所述设定条件为以下条件中的任意一个或者至少两个条件的组合:
条件一:所述第一数据集合中数据的存储时长大于设定阈值;
条件二:所述第一数据集合中数据的存储时间在第一设定日期之前;
条件三:所述第一数据集合中数据自身包含的时间信息在第二设定日期之前;
条件四:所述第一数据集合中数据在设定时长内没有更新。
可选地,所述处理器802在将所述目标数据存储到服务器上的第二数据集合中时,具体用于:将所述目标数据转换成非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合中。
可选地,所述处理器802将所述目标数据存储到服务器上的第二数据集合中之后,还用于:获取所述目标数据在所述第二数据集合中的存储地址;为所述目标数据创建并保存转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述目标数据在所述第二数据集合中的存储地址。
可选地,所述同步服务设备800还包括:收发器803,用于接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
所述处理器802还用于:根据所述终端设备请求的同步数据的标识以及所述转存记录,确定所述第一数据集合以及所述第二集合中存在所述终端设备请求的同步数据;
所述收发器803还用于:将所述第一数据集合中所述终端设备请求的数据以及所述转存记录中所述终端设备请求的同步数据对应的存储地址,发送给所述终端设备。
可选地,所述同步服务设备800还包括:收发器803,用于接收终端设备发送的数据查询请求,其中,所述数据查询请求中携带所述终端设备所要查询的数据的标识;
所述处理器802还用于:根据所述终端设备所要查询的数据的标识以及所述转存记录,确定所述第二数据集合中储有所述终端设备所要查询的数据;以及,从所述转存记录中获取所述终端设备所要查询的数据对应的存储地址;
所述收发器803还用于:将所述处理器获取到的存储地址发送给所述终端设备。
可选地,所述同步服务设备800还包括:还包括:收发器803,用于接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
所述处理器802还用于:根据所述终端设备请求的同步数据的标识,确定所述第一集合中存在所述终端设备请求的同步数据;以及,从所述第一数据集合中获取所述终端设备请求的同步数据;
所述收发器803还用于:将获取到的数据发送给所述终端设备。
可选地,所述存储器801可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory,也称闪存),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);所述存储器801还可以包括上述种类的存储器的组合。
可选地,所述处理器802可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
可选地,所述处理器802与所述存储器801和所述收发器803、可以通过总线804相互连接。总线804可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供了一种同步服务设备,所述同步服务设备能够将用于存储终端设备的同步数据的第一数据集合中满足设定条件的目标数据,转存到所述第二数据集合中,并从所述第一数据集合中删除所述目标数据,使得所述第一数据集合可以不断地存储同步数据,且不会超过设定的同步数据的存储上限,进而使得终端设备既可以通过所述同步服务设备快速访问所述第一数据集合,也可以通过所述同步服务设备获取所述第二数据集合中的数据(如历史数据),能够有效提升用户体验。
综上所述,本申请提供了一种数据同步方法以及同步服务设备,在所述方法中同步服务设备确定第一数据集合中存在满足设定条件的目标数据时,将所述目标数据转换到第二数据集合,并从所述第一数据集合中删除所述目标数据,其中,所述第一数据集合用于存储终端设备的同步数据,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据也就是说,本申请实施例中提供数据同步服务的同步服务设备能够将所述第一数据集合中满足设定条件的目标数据转存到所述第二数据集合,可以动态减少所述第一数据集合中存储的终端设备的同步数据的数据量,使得所述第一数据集合可以不断地存储终端设备的同步数据,且不会超过设置的存储量上限。并且,所述同步服务设备将所述目标数据保存在所述第二数据集合中,进而使得终端设备既可以通过所述同步服务设备快速获取所述第一数据集合中的同步数据,也可以通过所述同步服务设备获取所述第二数据集合中的数据,进而使得用户可以通过终端设备查看所述第二数据集合中的存储时间较长或者不常使用的历史数据,不需要删除同步数据,相对于现有技术,能够有效提升用户对数据同步服务的体验。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种数据同步方法,其特征在于,包括:
确定第一服务器上的第一数据集合中存在满足设定条件的目标数据;其中,所述第一数据集合用于存储终端设备的同步数据;
将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据;
其中,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
2.如权利要求1所述的方法,其特征在于,所述设定条件为以下条件中的任意一个或者至少两个条件的组合:
条件一:所述第一数据集合中数据的存储时长大于设定阈值;
条件二:所述第一数据集合中数据的存储时间在第一设定日期之前;
条件三:所述第一数据集合中数据自身包含的时间信息在第二设定日期之前;
条件四:所述第一数据集合中数据在设定时长内没有更新。
3.如权利要求1或2所述的方法,其特征在于,将所述目标数据存储到第二服务器上的第二数据集合中,包括:
将所述目标数据转换成非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合中。
4.如权利要求1-3任意一项所述的方法,其特征在于,将所述目标数据存储到第二服务器上的第二数据集合中之后,还包括:
获取所述目标数据在所述第二数据集合中的存储地址;
为所述目标数据创建并保存转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述目标数据在所述第二数据集合中的存储地址。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
根据所述终端设备请求的同步数据的标识以及所述转存记录,确定所述第一数据集合以及所述第二集合中存在所述终端设备请求的同步数据;
将所述第一数据集合中所述终端设备请求的数据以及所述转存记录中所述终端设备请求的同步数据对应的存储地址,发送给所述终端设备。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的数据查询请求,其中,所述数据查询请求中携带所述终端设备所要查询的数据的标识;
根据所述终端设备所要查询的数据的标识以及所述转存记录,确定所述第二数据集合中储有所述终端设备所要查询的数据;
将所述转存记录中所述终端设备所要查询的数据对应的存储地址,发送给所述终端设备。
7.如权利要求1-3所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
根据所述终端设备请求的同步数据的标识,确定所述第一集合中存在所述终端设备请求的同步数据;
从所述第一数据集合中获取所述终端设备请求的同步数据,并将获取到的数据发送给所述终端设备。
8.一种同步服务设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所属存储器中存储的程序指令,执行:
确定第一服务器上的第一数据集合中存在满足设定条件的目标数据;其中,所述第一数据集合用于存储终端设备的同步数据;
将所述目标数据存储到第二服务器上的第二数据集合中,并删除所述第一数据集合中的所述目标数据;
其中,当接收到终端设备发送的下行数据同步请求时,所述第一数据集合中的数据用于同步更新所述终端设备中对应的同步数据,并且所述第二数据集合中的数据用于不同步更新所述终端设备中对应的同步数据。
9.如权利要求8所述的同步服务设备,其特征在于,所述设定条件为以下条件中的任意一个或者至少两个条件的组合:
条件一:所述第一数据集合中数据的存储时长大于设定阈值;
条件二:所述第一数据集合中数据的存储时间在第一设定日期之前;
条件三:所述第一数据集合中数据自身包含的时间信息在第二设定日期之前;
条件四:所述第一数据集合中数据在设定时长内没有更新。
10.如权利要求8或9所述的同步服务设备,其特征在于,所述处理器在将所述目标数据存储到第二服务器上的第二数据集合中时,具体用于:
将所述目标数据转换成非结构化数据,将转换得到的非结构化数据存储到所述第二数据集合中。
11.如权利要求8-10任意一项所述的同步服务设备,其特征在于,所述处理器将所述目标数据存储到第二服务器上的第二数据集合中之后,还用于:
获取所述目标数据在所述第二数据集合中的存储地址;
为所述目标数据创建并保存转存记录,所述转存记录中包括所述目标数据对应的终端设备的同步数据标识,以及所述目标数据在所述第二数据集合中的存储地址。
12.如权利要求11所述的同步服务设备,其特征在于,还包括:收发器,用于接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
所述处理器还用于:根据所述终端设备请求的同步数据的标识以及所述转存记录,确定所述第一数据集合以及所述第二集合中存在所述终端设备请求的同步数据;
所述收发器还用于:将所述第一数据集合中所述终端设备请求的数据以及所述转存记录中所述终端设备请求的同步数据对应的存储地址,发送给所述终端设备。
13.如权利要求11所述的同步服务设备,其特征在于,还包括:收发器,用于接收终端设备发送的数据查询请求,其中,所述数据查询请求中携带所述终端设备所要查询的数据的标识;
所述处理器还用于:根据所述终端设备所要查询的数据的标识以及所述转存记录,确定所述第二数据集合中储有所述终端设备所要查询的数据;以及,从所述转存记录中获取所述终端设备所要查询的数据对应的存储地址;
所述收发器还用于:将所述处理器获取到的存储地址发送给所述终端设备。
14.如权利要求8-10任意一项所述的同步服务设备,其特征在于,还包括:收发器,用于接收终端设备发送的下行数据同步请求,其中,所述下行数据同步请求中携带所述终端设备请求的同步数据的标识;
所述处理器还用于:根据所述终端设备请求的同步数据的标识,确定所述第一集合中存在所述终端设备请求的同步数据;以及,从所述第一数据集合中获取所述终端设备请求的同步数据;
所述收发器还用于:将获取到的数据发送给所述终端设备。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有软件程序,所述软件程序在被一个或多个处理器读取并执行时可实现如权利要求1~7任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810400515.9A CN110417838A (zh) | 2018-04-28 | 2018-04-28 | 一种数据同步方法及同步服务设备 |
US16/959,328 US11019145B2 (en) | 2018-04-28 | 2019-04-03 | Data synchronization method and synchronization service device |
PCT/CN2019/081163 WO2019205906A1 (zh) | 2018-04-28 | 2019-04-03 | 一种数据同步方法及同步服务设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810400515.9A CN110417838A (zh) | 2018-04-28 | 2018-04-28 | 一种数据同步方法及同步服务设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110417838A true CN110417838A (zh) | 2019-11-05 |
Family
ID=68294752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810400515.9A Pending CN110417838A (zh) | 2018-04-28 | 2018-04-28 | 一种数据同步方法及同步服务设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11019145B2 (zh) |
CN (1) | CN110417838A (zh) |
WO (1) | WO2019205906A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147197A1 (zh) * | 2020-01-20 | 2021-07-29 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN116095096A (zh) * | 2023-01-05 | 2023-05-09 | 中国联合网络通信集团有限公司 | 数据同步方法、装置及存储介质 |
CN116436836A (zh) * | 2023-06-13 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
CN116095096B (zh) * | 2023-01-05 | 2024-05-03 | 中国联合网络通信集团有限公司 | 数据同步方法、装置及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035463B (zh) * | 2020-07-22 | 2023-07-21 | 武汉达梦数据库股份有限公司 | 基于日志解析的异构数据库的双向同步方法和同步装置 |
CN113504930B (zh) * | 2021-07-28 | 2024-03-12 | 中移(杭州)信息技术有限公司 | 新增对象的确定方法、终端设备及介质 |
CN114553895B (zh) * | 2022-04-24 | 2022-07-22 | 浙江中控技术股份有限公司 | 一种数据同步方法、系统、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140289200A1 (en) * | 2013-03-21 | 2014-09-25 | Fujitsu Limited | Control method, and information processing system |
CN104408064A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种数据存储方法及装置 |
CN105488148A (zh) * | 2015-11-26 | 2016-04-13 | 上海晶赞科技发展有限公司 | 大数据的存储访问系统及方法 |
CN105912703A (zh) * | 2016-04-26 | 2016-08-31 | 北京百度网讯科技有限公司 | 数据存储方法、查询方法及装置 |
CN106850710A (zh) * | 2015-12-03 | 2017-06-13 | 杭州海康威视数字技术股份有限公司 | 一种数据云存储系统、客户终端、存储服务器及应用方法 |
CN107623722A (zh) * | 2017-08-21 | 2018-01-23 | 云宏信息科技股份有限公司 | 一种远端数据缓存方法、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811532B2 (en) * | 2010-05-03 | 2017-11-07 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
CN102202044A (zh) * | 2011-02-25 | 2011-09-28 | 北京兴宇中科科技开发股份有限公司 | 便携式云存储方法和设备 |
US20140149240A1 (en) | 2012-09-06 | 2014-05-29 | Locu, Inc. | Method for collecting point-of-sale data |
CN103685367B (zh) * | 2012-09-10 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 离线下载系统和方法 |
CN107302549B (zh) * | 2016-04-14 | 2021-05-25 | 宾盛科技(武汉)有限公司 | 一种远程数据传输与存储系统及方法 |
US10409782B2 (en) * | 2016-06-15 | 2019-09-10 | Chen Zhang | Platform, system, process for distributed graph databases and computing |
WO2019130922A1 (ja) * | 2017-12-28 | 2019-07-04 | ソニー株式会社 | 通信制御装置、通信制御方法およびコンピュータプログラム |
-
2018
- 2018-04-28 CN CN201810400515.9A patent/CN110417838A/zh active Pending
-
2019
- 2019-04-03 WO PCT/CN2019/081163 patent/WO2019205906A1/zh active Application Filing
- 2019-04-03 US US16/959,328 patent/US11019145B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140289200A1 (en) * | 2013-03-21 | 2014-09-25 | Fujitsu Limited | Control method, and information processing system |
CN104408064A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种数据存储方法及装置 |
CN105488148A (zh) * | 2015-11-26 | 2016-04-13 | 上海晶赞科技发展有限公司 | 大数据的存储访问系统及方法 |
CN106850710A (zh) * | 2015-12-03 | 2017-06-13 | 杭州海康威视数字技术股份有限公司 | 一种数据云存储系统、客户终端、存储服务器及应用方法 |
CN105912703A (zh) * | 2016-04-26 | 2016-08-31 | 北京百度网讯科技有限公司 | 数据存储方法、查询方法及装置 |
CN107623722A (zh) * | 2017-08-21 | 2018-01-23 | 云宏信息科技股份有限公司 | 一种远端数据缓存方法、电子设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147197A1 (zh) * | 2020-01-20 | 2021-07-29 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN116095096A (zh) * | 2023-01-05 | 2023-05-09 | 中国联合网络通信集团有限公司 | 数据同步方法、装置及存储介质 |
CN116095096B (zh) * | 2023-01-05 | 2024-05-03 | 中国联合网络通信集团有限公司 | 数据同步方法、装置及存储介质 |
CN116436836A (zh) * | 2023-06-13 | 2023-07-14 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
CN116436836B (zh) * | 2023-06-13 | 2023-09-01 | 阿里巴巴(中国)有限公司 | 域名数据同步检测方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210029198A1 (en) | 2021-01-28 |
US11019145B2 (en) | 2021-05-25 |
WO2019205906A1 (zh) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417838A (zh) | 一种数据同步方法及同步服务设备 | |
US8204488B2 (en) | Web content distribution to personal cellular telecommunications devices | |
KR101863981B1 (ko) | 텍스트 메시지를 사용하여 스프레드시트와 상호작용하는 기법 | |
CN108509501B (zh) | 一种查询处理方法、服务器及计算机可读存储介质 | |
CN109947668B (zh) | 存储数据的方法和装置 | |
CN101111836B (zh) | 用于信息捕获及检索的方法及系统 | |
KR101960007B1 (ko) | 편의적 네트워크 업데이트 | |
CN102687144A (zh) | 管理查询 | |
CN102780603B (zh) | 网站流量控制方法及装置 | |
CN109783512A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN105491539A (zh) | 消息推送管理方法和装置 | |
CN105577772A (zh) | 素材接收方法、素材上传方法及装置 | |
CN111221469B (zh) | 同步缓存数据的方法、装置和系统 | |
CN106453593B (zh) | 一种消息推送方法及装置 | |
CN109039899B (zh) | 数据传输方法、系统及计算机可读存储介质 | |
CN112363871A (zh) | 一种数据回档方法、装置及存储介质 | |
CN101977361A (zh) | 一种批量短信预处理方法 | |
CN109241031B (zh) | 模型生成方法、模型使用方法、装置、系统及存储介质 | |
CN110659971B (zh) | 一种交易数据处理方法及装置 | |
CN112395337B (zh) | 一种数据导出方法和装置 | |
CN108520052A (zh) | 慢查询信息检索方法、装置、服务器及可读存储介质 | |
CN104065617A (zh) | 一种骚扰邮件处理方法、装置和系统 | |
CN104717286A (zh) | 数据处理方法、终端、服务器和系统 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
CN112187667B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191105 |