CN110580200A - 数据同步方法和装置 - Google Patents

数据同步方法和装置 Download PDF

Info

Publication number
CN110580200A
CN110580200A CN201910722016.6A CN201910722016A CN110580200A CN 110580200 A CN110580200 A CN 110580200A CN 201910722016 A CN201910722016 A CN 201910722016A CN 110580200 A CN110580200 A CN 110580200A
Authority
CN
China
Prior art keywords
configuration data
data
interface
client
configuration
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.)
Granted
Application number
CN201910722016.6A
Other languages
English (en)
Other versions
CN110580200B (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.)
Koubei Shanghai Information Technology Co Ltd
Original Assignee
Koubei Shanghai Information 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 Koubei Shanghai Information Technology Co Ltd filed Critical Koubei Shanghai Information Technology Co Ltd
Priority to CN201910722016.6A priority Critical patent/CN110580200B/zh
Publication of CN110580200A publication Critical patent/CN110580200A/zh
Application granted granted Critical
Publication of CN110580200B publication Critical patent/CN110580200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本说明书一个或多个实施例提供一种数据同步方法和装置,所述方法应用于服务端,所述方法包括:接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;如果所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同,则将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。

Description

数据同步方法和装置
技术领域
本说明书一个或多个实施例涉及计算机应用技术领域,尤其涉及一种数据同步方法和装置。
背景技术
在运行应用程序的客户端中,通常需要利用多种不同类型的数据,例如:用户配置数据、基础数据等。在实际应用中,这些数据通常会在服务端或其他设备上被修改。在这种情况下,用户需要在客户端上主动发起数据更新请求,以由客户端从服务端获取更新后的数据,并对客户端中存储的数据进行更新;或者,由服务端在其存储的数据发送变更后,直接将变更后的数据发送给客户端,以由客户端对其存储的数据进行更新。但采用这样的方式,客户端中数据更新的及时性无法得到保障,而数据更新频率过于频繁也会影响客户端的运行效率。
发明内容
本说明书提出一种数据同步方法,所述方法应用于服务端,所述方法包括:
接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
如果所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同,则将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。
可选地,所述接口调用请求还包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述方法还包括:
计算第四配置数据的数据摘要;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要是否相同;
如果所述第三配置数据的数据摘要与所述第四配置数据的数据摘要相同,则将与所述接口调用请求对应的接口调用结果发送给所述客户端,以由所述客户端基于所述接口调用结果进行业务处理;
如果所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同,则将所述接口调用结果以及所述第四配置数据所述客户端,以由所述客户端基于所述接口调用结果进行业务处理,并将所述第三配置数据更新为所述第四配置数据。
可选地,所述接口调用请求还包括用户标识;
在计算第二配置数据的数据摘要之前,所述方法还包括:
基于所述用户标识,从用户特征数据库中读取与所述用户标识对应的用户特征;
将所述用户特征输入至判定模型,以由所述判定模型基于该用户特征确定是否对所述第一配置数据进行更新;
如果确定对所述第一配置数据进行更新,则进一步地计算第二配置数据的数据摘要。
可选地,所述将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据,包括:
确定所述第二配置数据与所述第一配置数据之间的差分数据;
将所述差分数据发送给所述客户端,以由所述客户端将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
可选地,所述数据摘要为MD5值。
本说明书还提出一种数据同步方法,所述方法应用于客户端,所述方法包括:
向服务端发送与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
将所述第一配置数据更新为所述第二配置数据。
可选地,所述接口调用请求还包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述方法还包括:
接收所述服务端在确定所述第三配置数据的数据摘要与第四配置数据的数据摘要相同时发送的与所述接口调用请求对应的接口调用结果,并基于所述接口调用结果进行业务处理;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
接收所述服务端在确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同时发送的与所述接口调用请求对应的接口调用结果以及所述第四配置数据,并基于所述接口调用结果进行业务处理,将所述第三配置数据更新为所述第四配置数据。
可选地,所述接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据,包括:
接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的,所述第二配置数据与所述第一配置数据之间的差分数据;
所述将所述第一配置数据更新为所述第二配置数据,包括:
将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
可选地,所述方法还包括:
接收所述服务端发送的所述第二配置数据的数据摘要;
在将所述差分数据与所述第一配置数据进行合并之后,计算合并得到的配置数据的数据摘要;
确定所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要相同,则将所述第一配置数据更新为所述合并得到的配置数据;
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要不同,则重新从所述服务端中获取所述第二配置数据。
可选地,所述数据摘要为MD5值。
本说明书还提出一种数据同步装置,所述装置应用于服务端,所述装置包括:
接收模块,用于接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
计算模块,用于计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
确定模块,用于确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
发送模块,用于在所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同时,将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。
可选地,所述接口调用请求还包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述计算模块还用于计算第四配置数据的数据摘要;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
所述确定模块还用于确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要是否相同;
所述发送模块还用于在所述第三配置数据的数据摘要与所述第四配置数据的数据摘要相同时,将与所述接口调用请求对应的接口调用结果发送给所述客户端,以由所述客户端基于所述接口调用结果进行业务处理;
所述发送模块还用于在所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同时,将所述接口调用结果以及所述第四配置数据所述客户端,以由所述客户端基于所述接口调用结果进行业务处理,并将所述第三配置数据更新为所述第四配置数据。
可选地,所述接口调用请求还包括用户标识;
所述装置还包括:
读取模块,用于在计算第二配置数据的数据摘要之前,基于所述用户标识,从用户特征数据库中读取与所述用户标识对应的用户特征;
判定模块,用于将所述用户特征输入至判定模型,以由所述判定模型基于该用户特征确定是否对所述第一配置数据进行更新;
所述计算模块具体用于:
如果确定对所述第一配置数据进行更新,则进一步地计算第二配置数据的数据摘要。
可选地,所述发送模块具体用于:
确定所述第二配置数据与所述第一配置数据之间的差分数据;
将所述差分数据发送给所述客户端,以由所述客户端将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
可选地,所述数据摘要为MD5值。
本说明书还提出一种数据同步装置,所述装置应用于客户端,所述装置包括:
发送模块,用于向服务端发送与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
第一接收模块,用于接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
更新模块,用于将所述第一配置数据更新为所述第二配置数据。
可选地,所述接口调用请求还包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述第一接收模块还用于接收所述服务端在确定所述第三配置数据的数据摘要与第四配置数据的数据摘要相同时发送的与所述接口调用请求对应的接口调用结果,并基于所述接口调用结果进行业务处理;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
所述第一接收模块还用于接收所述服务端在确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同时发送的与所述接口调用请求对应的接口调用结果以及所述第四配置数据,并基于所述接口调用结果进行业务处理,将所述第三配置数据更新为所述第四配置数据。
可选地,所述第一接收模块具体用于:
接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的,所述第二配置数据与所述第一配置数据之间的差分数据;
所述更新模块具体用于:
将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
可选地,所述装置还包括:
第二接收模块,用于接收所述服务端发送的所述第二配置数据的数据摘要;
计算模块,用于在将所述差分数据与所述第一配置数据进行合并之后,计算合并得到的配置数据的数据摘要;
确定模块,用于确定所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
所述更新模块具体用于:
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要相同,则将所述第一配置数据更新为所述合并得到的配置数据;
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要不同,则重新从所述服务端中获取所述第二配置数据。
可选地,所述数据摘要为MD5值。
在上述技术方案中,服务端在接收到与某个接口对应的接口调用请求时,可以同步获取服务端中存储的与该接口的关联接口对应的配置数据,并判断该配置数据与客户端中存储的与该接口的关联接口对应的配置数据是否相同,如果不一致,则可以认为该配置数据已经发生变更,因此服务端可以将服务端中存储的该配置数据发送给客户端,从而使客户端可以对客户端中存储的该配置数据进行更新。采用这样的方式,可以保证客户端中的数据及时被更新;同时,可以减少客户端中数据的更新次数,从而提高客户端的运行效率。
附图说明
图1是本说明书一示例性实施例示出的一种数据同步系统的示意图;
图2是本说明书一示例性实施例示出的一种数据同步方法的流程图;
图3是本说明书一示例性实施例示出的另一种数据同步方法的流程图;
图4是本说明书一示例性实施例示出的一种数据同步装置所在电子设备的硬件结构图;
图5是本说明书一示例性实施例示出的一种数据同步装置的框图;
图6是本说明书一示例性实施例示出的另一种数据同步装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参考图1,图1是本说明书一示例性实施例示出的一种数据同步系统的示意图。如图1所示,该数据同步系统可以包括服务器11、网络12、PC13。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。PC13为可供使用的一种类型的电子设备。在实际应用中,可以使用诸如下述类型的电子设备:手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书对此不作限制。对于服务器11与PC13之间进行交互的网络12,可以包括多种类型的有线或无线网络,例如:公共交换电话网络(PSTN,Public Switched Telephone Network)和因特网。
在PC13上可以运行客户端,在服务器11上可以运行服务端。用户可以利用自身的用户账号和密码在该客户端上进行登录,并通过该客户端从服务端中获取业务数据,以由客户端基于该业务数据进行相应的业务处理。
举例来说,客户端可以响应于用户操作行为,向服务端发送与服务端所提供的某个接口对应的接口调用请求,从而使服务端可以基于该接口中的函数对该接口调用请求中的参数进行计算,得到与该接口对应的接口调用结果,并将该接口调用结果发送给客户端。后续,客户端可以基于该接口调用结果进行相应的业务处理。
请参考图2,图2是本说明书一示例性实施例示出的一种数据同步方法的流程图。该方法可以应用于服务端,包括如下步骤:
步骤201,接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
步骤202,计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
步骤203,确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
步骤204,如果所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同,则将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。
在本实施例中,首先,客户端可以对存在关联关系的接口在服务端中进行注册,即将这些接口的关联关系发送至服务端,从而使服务端也可以对这些接口的关联关系进行存储。
其中,对于服务端所提供的某个接口而言,与该接口存在关联关系的接口(称为该接口的关联接口)可以是通过与该接口对应的搭车检测的接口。
具体地,服务端在接收到客户端发送的与该接口对应的接口调用请求时,可以响应于该接口调用请求,对该接口进行调用,并将与该接口对应的接口调用结果,以及该接口的相关业务数据发送给客户端;除此之外,服务端还可以基于其存储的接口之间的关联关系,确定该接口的关联接口,从而可以获取该接口的关联接口的相关业务数据,并将该关联接口的相关业务数据发送给客户端。
其中,相关业务数据可以包括与该接口对应的配置数据。在实际应用中,该配置数据可以是与使用该客户端的用户相关的配置数据,也可以是与该服务端相关的配置数据,本说明书对此不作限制。
采用这样的方式,由于客户端可以通过一次针对某个接口的接口调用,获取到与该接口对应的接口调用结果和配置数据,以及与该接口的关联接口对应的配置数据,因此可以减少客户端从服务端获取数据的次数,提高客户端的运行效率。
客户端在需要对服务端所提供的某个接口(称为目标接口)进行调用时,可以向服务端发送与该目标接口对应的接口调用请求,以对该接口进行调用。
举例来说,假设客户端需要对服务端所提供的某个RPC(Remote Procedure Call,远程过程调用)接口进行调用,则客户端可以基于RPC协议,向服务端发送与该RPC接口对应的接口调用请求,以对该目标接口进行调用。
需要说明的是,该接口调用请求还可以包括第一配置数据的数据摘要。其中,该第一配置数据为客户端中存储的与该目标接口的关联接口对应的配置数据。
具体地,客户端可以基于MD5消息摘要算法对其存储的该第一配置数据进行计算,得到该第一配置数据的MD5值作为该第一配置数据的数据摘要。
服务端在接收到该接口调用请求时,可以响应于该接口调用请求,对该目标接口进行调用,例如:服务端可以基于该目标接口中的函数对该接口调用请求中的参数进行计算,得到与该目标接口对应的接口调用结果。
另一方面,服务端可以计算第二配置数据的数据摘要。其中,该第二配置数据为服务端中存储的与该目标接口的关联接口对应的配置数据。
具体地,服务端也可以基于MD5消息摘要算法对其存储的该第二配置数据进行计算,得到该第二配置数据的MD5值作为该第二配置数据的数据摘要。
后续,服务端可以将该第一配置数据的数据摘要与该第二配置数据的数据摘要进行比较,以确定该第一配置数据的数据摘要与该第二配置数据的数据摘要是否相同。
如果该第一配置数据的数据摘要与该第二配置数据的数据摘要相同,则说明与该目标接口的关联接口对应的配置数据没有发生变更,因此可以不对客户端中存储的该第一配置数据进行更新,即服务端可以仅将与该目标接口对应的接口调用结果发送给客户端,以由客户端基于该调用结果进行相应的业务处理,而无需将服务端中存储的该第二配置数据发送给客户端。
如果该第一配置数据的数据摘要与该第二配置数据的数据摘要不同,则说明与该目标接口的关联接口对应的配置数据已经发生变更,因此服务端除了可以将与该目标接口对应的接口调用结果发送给客户端,以由客户端基于该调用结果进行相应的业务处理之外,还可以将服务端中存储的该第二配置数据发送给客户端,以由客户端将其存储的该第一配置数据更新为该第二配置数据,从而实现服务端与客户端之间的数据同步。
在实际应用中,该接口调用请求还可以包括第三配置数据的数据摘要。其中,该第三配置数据为客户端中存储的与该目标接口对应的配置数据。
在这种情况下,服务端还可以计算第四配置数据的数据摘要。其中,该第四配置数据为服务端中存储的与该目标接口对应的配置数据。
后续,服务端不仅可以将上述第一配置数据的数据摘要与上述第二配置数据的数据摘要进行比较,以确定该第一配置数据的数据摘要与该第二配置数据的数据摘要是否相同,还可以将该第三配置数据的数据摘要与该第四配置数据的数据摘要进行比较,以确定该第三配置数据的数据摘要与该第四配置数据的数据摘要是否相同。
如果该第一配置数据的数据摘要与该第二配置数据的数据摘要相同,且该第三配置数据的数据摘要与该第四配置数据的数据摘要相同,则说明与该目标接口对应的配置数据以及与该目标接口的关联接口对应的配置数据均没有发生变更,因此可以不对客户端中存储的该第一配置数据以及该第三配置数据进行更新,即服务端可以仅将与该目标接口对应的接口调用结果发送给客户端,以由客户端基于该调用结果进行相应的业务处理,而无需将服务端中存储的该第二配置数据以及该第四配置数据发送给客户端。
如果该第一配置数据的数据摘要与该第二配置数据的数据摘要不同,且该第三配置数据的数据摘要与该第四配置数据的数据摘要不同,则说明与该目标接口的关联接口对应的配置数据以及与该目标接口的关联接口对应的配置数据均已经发生变更,因此服务端除了可以将与该目标接口对应的接口调用结果发送给客户端,以由客户端基于该调用结果进行相应的业务处理之外,还可以将服务端中存储的该第二配置数据以及该第四配置数据发送给客户端,以由客户端将其存储的该第一配置数据更新为该第二配置数据,并将其存储的该第三配置数据更新为该第四配置数据,从而实现服务端与客户端之间的数据同步。
如果该第一配置数据的数据摘要与该第二配置数据的数据摘要相同,且该第三配置数据的数据摘要与该第四配置数据的数据摘要不同,则服务端可以在将与该目标接口对应的接口调用结果发送给客户端的同时,将服务端中存储的该第四配置数据发送给客户端,以由客户端将其存储的该第三配置数据更新为该第四配置数据。
如果该第一配置数据的数据摘要与该第二配置数据的数据摘要不同,且该第三配置数据的数据摘要与该第四配置数据的数据摘要相同,则服务端可以在将与该目标接口对应的接口调用结果发送给客户端的同时,将服务端中存储的该第二配置数据发送给客户端,以由客户端将其存储的该第一配置数据更新为该第二配置数据。
在示出的一种实施方式中,为了减少客户端的数据更新次数,提高客户端的运行效率,从而提升用户体验,服务端在计算上述第二配置数据的数据摘要之前,可以先基于该接口调用请求中的用户标识(例如:用户登录客户端时所使用的用户账号),从预存的用户特征数据库中读取与该用户标识对应的用户特征(例如:用户属性、用户操作行为等)。后续,服务端可以将读取到的该用户特征,输入至预先训练好的判定模型,以由该判定模型基于该用户特征确定是否对上述第一配置数据进行更新。
其中,该用户特征数据库可以是基于用户每次登录客户端后的操作行为生成并更新的,该判定模型可以是基于若干被标注了是否对该第一配置数据进行更新的结果作为标签的用户特征样本进行训练得到的机器学习模型。
在实际应用中,服务端在接收到上述接口调用请求后,可以将针对该目标接口的调用作为与该接口调用请求中的用户标识对应的用户操作行为,并将该用户操作行为更新至该用户特征数据库。进一步地,后续可以将本次是否对该第一配置数据进行更新的结果作为该用户操作行为的标签,构造用户特征样本,并将该用户特征样本输入至该判定模型进行再次训练。
如果确定需要对该第一配置数据进行更新,则服务端可以进一步地计算该第二配置数据的数据摘要,以将该第一配置数据的数据摘要与该第二配置数据的数据摘要进行比较,从而确定该第一配置数据的数据摘要与该第二配置数据的数据摘要是否相同。
在示出的一种实施方式中,为了减少数据传输量,提高客户端的数据更新效率,服务端在确定上述第一配置数据的数据摘要与上述第二配置数据的数据摘要不同时,可以进一步地确定该第二配置数据与该第一配置数据之间的差分数据,再将该差分数据发送给客户端,以由客户端基于该差分数据,实现将将所述第一配置数据更新为所述第二配置数据。其中,该差分数据即为该第二配置与该第一配置数据相比发生变更的配置数据。
具体地,服务端可以在确定该第一配置数据的数据摘要与该第二配置数据的数据摘要不同时,向客户端发送通知消息,以由客户端在接收到该通知消息时,将客户端中存储的该第一配置数据发送给服务端,从而使服务端可以将服务端中存储的该第二配置数据与客户端中存储的该第一配置数据进行比较,确定两者之间的差分数据。
或者,服务端可以在确定该第一配置数据的数据摘要与该第二配置数据的数据摘要不同时,基于所述该第一配置数据的数据摘要,确定客户端中存储的该第一配置数据的版本信息(例如:版本号),并根据该版本信息,以及服务端中存储的该第二配置数据的版本信息,确定从该第一配置数据的版本信息变更至该第二配置数据的版本信息时,相应地发生变化的配置数据,作为该第二配置数据与该第一配置数据之间的差分数据。其中,版本信息中通常记录了当前版本与前一版本相比发生变更的数据。
客户端在接收到服务端发送的该差分数据后,可以将该差分数据与客户端中存储的该第一配置数据进行合并。在完成数据合并后,客户端可以计算合并得到的配置数据的数据摘要,并将该合并得到的配置数据的数据摘要与服务端发送的该第二配置数据的数据摘要进行比较,以确定该合并得到的配置数据的数据摘要与该第二配置数据的数据摘要是否相同。
如果该合并得到的配置数据的数据摘要与该第二配置数据的数据摘要相同,则客户端可以将客户端中存储的该第一配置数据更新为该合并得到的配置数据。
如果该合并得到的配置数据的数据摘要与该第二配置数据的数据摘要不同,则客户端可以重新从服务端中获取该第二配置数据。
在实际应用中,可以采用patch(补丁)包的方式,实现基于服务端发送给客户端的该第二配置数据与该第一配置数据之间的该差分数据,对客户端中存储的该第一配置数据进行更新。
具体地,可以由服务端将该第二配置数据与该第一配置数据之间的该差分数据打包为一个patch包,并将该patch包发送给客户端。客户端可以对该patch包进行解析,以获取该差分数据,并将该差分数据与客户端中存储的该第一配置数据进行合并,以将该第一配置数据更新为服务端中存储的该第二配置数据。
在上述技术方案中,服务端在接收到与某个接口对应的接口调用请求时,可以同步获取服务端中存储的与该接口的关联接口对应的配置数据,并判断该配置数据与客户端中存储的与该接口的关联接口对应的配置数据是否相同,如果不一致,则可以认为该配置数据已经发生变更,因此服务端可以将服务端中存储的该配置数据发送给客户端,从而使客户端可以对客户端中存储的该配置数据进行更新。采用这样的方式,可以保证客户端中的数据及时被更新;同时,可以减少客户端中数据的更新次数,从而提高客户端的运行效率。
请参考图3,图3是本说明书一示例性实施例示出的另一种数据同步方法的流程图。该方法可以应用于客户端,包括如下步骤:
步骤301,向服务端发送与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
步骤302,接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
步骤303,将所述第一配置数据更新为所述第二配置数据。
步骤301至步骤303的实现过程具体详见图2所示的实施例描述的实现过程,本说明书对此不再赘述。
与前述数据同步方法的实施例相对应,本说明书还提供了数据同步装置的实施例。
本说明书数据同步装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书数据同步装置所在电子设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该数据同步的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,图5是本说明书一示例性实施例示出的一种数据同步装置的框图。所述装置50可以应用于图4所示的电子设备,所述电子设备可以作为服务端。所述装置50可以包括:
接收模块501,用于接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
计算模块502,用于计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
确定模块503,用于确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
发送模块504,用于在所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同时,将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。
在本实施例中,所述接口调用请求还可以包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述计算模块502还可以用于计算第四配置数据的数据摘要;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
所述确定模块503还可以用于确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要是否相同;
所述发送模块504还可以用于在所述第三配置数据的数据摘要与所述第四配置数据的数据摘要相同时,将与所述接口调用请求对应的接口调用结果发送给所述客户端,以由所述客户端基于所述接口调用结果进行业务处理;
所述发送模块504还可以用于在所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同时,将所述接口调用结果以及所述第四配置数据所述客户端,以由所述客户端基于所述接口调用结果进行业务处理,并将所述第三配置数据更新为所述第四配置数据。
在本实施例中,所述接口调用请求还可以包括用户标识;
所述装置50还可以包括:
读取模块505,用于在计算第二配置数据的数据摘要之前,基于所述用户标识,从用户特征数据库中读取与所述用户标识对应的用户特征;
判定模块506,用于将所述用户特征输入至判定模型,以由所述判定模型基于该用户特征确定是否对所述第一配置数据进行更新;
所述计算模块502具体可以用于:
如果确定对所述第一配置数据进行更新,则进一步地计算第二配置数据的数据摘要。
在本实施例中,所述发送模块504具体可以用于:
确定所述第二配置数据与所述第一配置数据之间的差分数据;
将所述差分数据发送给所述客户端,以由所述客户端将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
在本实施例中,所述数据摘要可以为MD5值。
请参考图6,图6是本说明书一示例性实施例示出的另一种数据同步装置的框图。所述装置60可以应用于图4所示的电子设备,所述电子设备可以作为客户端。所述装置60可以包括:
发送模块601,用于向服务端发送与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
第一接收模块602,用于接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
更新模块603,用于将所述第一配置数据更新为所述第二配置数据。
在本实施例中,所述接口调用请求还可以包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述第一接收模块602还可以用于接收所述服务端在确定所述第三配置数据的数据摘要与第四配置数据的数据摘要相同时发送的与所述接口调用请求对应的接口调用结果,并基于所述接口调用结果进行业务处理;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
所述第一接收模块602还可以用于接收所述服务端在确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同时发送的与所述接口调用请求对应的接口调用结果以及所述第四配置数据,并基于所述接口调用结果进行业务处理,将所述第三配置数据更新为所述第四配置数据。
在本实施例中,所述第一接收模块602具体可以用于:
接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的,所述第二配置数据与所述第一配置数据之间的差分数据;
所述更新模块具体用于:
将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
在本实施例中,所述装置60还可以包括:
第二接收模块604,用于接收所述服务端发送的所述第二配置数据的数据摘要;
计算模块605,用于在将所述差分数据与所述第一配置数据进行合并之后,计算合并得到的配置数据的数据摘要;
确定模块606,用于确定所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
所述更新模块603具体可以用于:
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要相同,则将所述第一配置数据更新为所述合并得到的配置数据;
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要不同,则重新从所述服务端中获取所述第二配置数据。
在本实施例中,所述数据摘要可以为MD5值。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (10)

1.一种数据同步方法,所述方法应用于服务端,所述方法包括:
接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
如果所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同,则将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。
2.根据权利1所述的方法,所述接口调用请求还包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述方法还包括:
计算第四配置数据的数据摘要;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要是否相同;
如果所述第三配置数据的数据摘要与所述第四配置数据的数据摘要相同,则将与所述接口调用请求对应的接口调用结果发送给所述客户端,以由所述客户端基于所述接口调用结果进行业务处理;
如果所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同,则将所述接口调用结果以及所述第四配置数据所述客户端,以由所述客户端基于所述接口调用结果进行业务处理,并将所述第三配置数据更新为所述第四配置数据。
3.根据权利要求1所述的方法,所述接口调用请求还包括用户标识;
在计算第二配置数据的数据摘要之前,所述方法还包括:
基于所述用户标识,从用户特征数据库中读取与所述用户标识对应的用户特征;
将所述用户特征输入至判定模型,以由所述判定模型基于该用户特征确定是否对所述第一配置数据进行更新;
如果确定对所述第一配置数据进行更新,则进一步地计算第二配置数据的数据摘要。
4.根据权利要求1所述的方法,所述将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据,包括:
确定所述第二配置数据与所述第一配置数据之间的差分数据;
将所述差分数据发送给所述客户端,以由所述客户端将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
5.一种数据同步方法,所述方法应用于客户端,所述方法包括:
向服务端发送与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
将所述第一配置数据更新为所述第二配置数据。
6.根据权利要求5所述的方法,所述接口调用请求还包括第三配置数据的数据摘要;其中,所述第三配置数据为所述客户端中存储的与所述目标接口对应的配置数据;
所述方法还包括:
接收所述服务端在确定所述第三配置数据的数据摘要与第四配置数据的数据摘要相同时发送的与所述接口调用请求对应的接口调用结果,并基于所述接口调用结果进行业务处理;其中,所述第四配置数据为所述服务端中存储的与所述目标接口对应的配置数据;
接收所述服务端在确定所述第三配置数据的数据摘要与所述第四配置数据的数据摘要不同时发送的与所述接口调用请求对应的接口调用结果以及所述第四配置数据,并基于所述接口调用结果进行业务处理,将所述第三配置数据更新为所述第四配置数据。
7.根据权利要求5所述的方法,所述接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据,包括:
接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的,所述第二配置数据与所述第一配置数据之间的差分数据;
所述将所述第一配置数据更新为所述第二配置数据,包括:
将所述差分数据与所述第一配置数据进行合并,以将所述第一配置数据更新为所述第二配置数据。
8.根据权利要求7所述的方法,所述方法还包括:
接收所述服务端发送的所述第二配置数据的数据摘要;
在将所述差分数据与所述第一配置数据进行合并之后,计算合并得到的配置数据的数据摘要;
确定所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要相同,则将所述第一配置数据更新为所述合并得到的配置数据;
如果所述合并得到的配置数据的数据摘要与所述第二配置数据的数据摘要不同,则重新从所述服务端中获取所述第二配置数据。
9.一种数据同步装置,所述装置应用于服务端,所述装置包括:
接收模块,用于接收客户端发送的与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
计算模块,用于计算第二配置数据的数据摘要;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
确定模块,用于确定所述第一配置数据的数据摘要与所述第二配置数据的数据摘要是否相同;
发送模块,用于在所述第一配置数据的数据摘要与所述第二配置数据的数据摘要不同时,将所述第二配置数据发送给所述客户端,以由所述客户端将所述第一配置数据更新为所述第二配置数据。
10.一种数据同步装置,所述装置应用于客户端,所述装置包括:
发送模块,用于向服务端发送与目标接口对应的接口调用请求;其中,所述接口调用请求包括第一配置数据的数据摘要,所述第一配置数据为所述客户端中存储的与所述目标接口的关联接口对应的配置数据;
第一接收模块,用于接收所述服务端在确定所述第一配置数据的数据摘要与第二配置数据的数据摘要不同时发送的所述第二配置数据;其中,所述第二配置数据为所述服务端中存储的与所述关联接口对应的配置数据;
更新模块,用于将所述第一配置数据更新为所述第二配置数据。
CN201910722016.6A 2019-08-06 2019-08-06 数据同步方法和装置 Active CN110580200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910722016.6A CN110580200B (zh) 2019-08-06 2019-08-06 数据同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910722016.6A CN110580200B (zh) 2019-08-06 2019-08-06 数据同步方法和装置

Publications (2)

Publication Number Publication Date
CN110580200A true CN110580200A (zh) 2019-12-17
CN110580200B CN110580200B (zh) 2022-11-11

Family

ID=68810958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910722016.6A Active CN110580200B (zh) 2019-08-06 2019-08-06 数据同步方法和装置

Country Status (1)

Country Link
CN (1) CN110580200B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872996A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 数据对账方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043783A (zh) * 2009-10-16 2011-05-04 阿里巴巴集团控股有限公司 一种数据更新的方法、装置及系统
JP2016173810A (ja) * 2015-03-16 2016-09-29 キヤノン株式会社 データの同期を行う情報処理装置、データ同期方法およびプログラム
CN106571942A (zh) * 2015-10-10 2017-04-19 北京国双科技有限公司 配置数据更新方法、客户端和服务器
CN108614834A (zh) * 2016-12-13 2018-10-02 阿里巴巴集团控股有限公司 一种页面生成方法及装置
CN110069267A (zh) * 2019-03-15 2019-07-30 平安普惠企业管理有限公司 数据更新方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043783A (zh) * 2009-10-16 2011-05-04 阿里巴巴集团控股有限公司 一种数据更新的方法、装置及系统
JP2016173810A (ja) * 2015-03-16 2016-09-29 キヤノン株式会社 データの同期を行う情報処理装置、データ同期方法およびプログラム
CN106571942A (zh) * 2015-10-10 2017-04-19 北京国双科技有限公司 配置数据更新方法、客户端和服务器
CN108614834A (zh) * 2016-12-13 2018-10-02 阿里巴巴集团控股有限公司 一种页面生成方法及装置
CN110069267A (zh) * 2019-03-15 2019-07-30 平安普惠企业管理有限公司 数据更新方法、装置、计算机设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872996A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 数据对账方法及装置

Also Published As

Publication number Publication date
CN110580200B (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
US11038975B2 (en) Information pushing method and device
US10824608B2 (en) Feature generation and storage in a multi-tenant environment
WO2018149292A1 (zh) 一种对象聚类方法和装置
US20130097124A1 (en) Automatically aggregating contact information
US10178194B2 (en) Intelligent notifications to devices with multiple applications
US20130110992A1 (en) Electronic device management using interdomain profile-based inferences
EP2939200B1 (en) Method and apparatus for secure advertising
US20210004693A1 (en) Real-Time On the Fly Generation of Feature-Based Label Embeddings Via Machine Learning
CN110737891A (zh) 一种主机入侵检测方法和装置
JP5264813B2 (ja) 評価装置、評価方法及び評価プログラム
CN117278434A (zh) 流量回放方法、装置、电子设备
CN108521402B (zh) 一种输出标签的方法、装置及设备
CN110231923B (zh) 数据管理方法和装置
JP2019020996A (ja) 情報処理装置および信用度算出方法
CN110580200B (zh) 数据同步方法和装置
US20230205619A1 (en) Common platform for fulfilling different actions
CN108632348B (zh) 一种业务校验方法和装置
CN116028696A (zh) 资源信息获取方法、装置、电子设备及存储介质
US11256859B2 (en) Extending a classification database by user interactions
CN113301203B (zh) 基于通讯录对历史信息数据进行更新的方法及装置
EP3455805A1 (en) Enhancing contact card based on knowledge graph
CN110266610B (zh) 流量识别方法、装置、电子设备
CN116561735B (zh) 一种基于多认证源的互信认证方法、系统及电子设备
JP2019020977A (ja) 情報処理装置および信用度算出方法
CN110889040B (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