CN111245548A - 基于时间戳的数据同步方法、装置和计算机设备 - Google Patents
基于时间戳的数据同步方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111245548A CN111245548A CN202010037879.2A CN202010037879A CN111245548A CN 111245548 A CN111245548 A CN 111245548A CN 202010037879 A CN202010037879 A CN 202010037879A CN 111245548 A CN111245548 A CN 111245548A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- terminal
- target timestamp
- address book
- book data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001360 synchronised effect Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理,提高一种基于时间戳的数据同步方法、装置、计算机设备和存储介质。该方法包括:接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。采用本方法能够提高数据同步的效率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种基于时间戳的数据同步方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,在企业通讯工具的客户端中,通过需要显示各个企业成员的信息,比如名称、电子邮箱地址、电话号码等等,以使企业成员能够方便的查询通讯信息,这就需要服务端将通讯录数据同步到各个企业成员的客户端中。目前,数据同步技术通常根据数据对应的主键进行数据同步,然而,通过主键进行数据同步,数据同步的效率比较低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据同步效率的基于时间戳的数据同步方法、装置、计算机设备和存储介质。
一种基于时间戳的数据同步方法,所述方法包括:
接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;
将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;
接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;
根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
在其中一个实施例中,在接收终端发送的登录请求之前,还包括:
接收终端发送的初次登录请求,初次登陆请求中携带用户信息;
当验证用户信息通过时,根据初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向终端返回设备标识;
接收终端发送的全量同步请求,根据全量同步请求获取通讯录数据,将通讯录数据返回至终端;
获取通讯录数据中的初始目标时间戳,将设备标识和初始目标时间戳存储到缓存数据库中。
在其中一个实施例中,在获取通讯录数据中的初始目标时间戳,将设备标识和第初始目标时间戳存储到缓存数据库中,包括:
生成通讯录数据的初始哈希值,将设备标识、初始哈希值、和第二目标时间戳存储到缓存数据库中;
则根据设备标识查找对应的第一目标时间戳,包括:
根据设备标识查找对应的第一目标时间戳和第一哈希值。
在其中一个实施例中,在根据设备标识查找对应的第一目标时间戳和第一哈希值之后,还包括:
将第一目标时间戳和第一哈希值返回终端,以使终端获取本地通信录数据的本地目标时间戳和本地哈希值,并比较本地目标时间戳和第一目标时间戳、本地哈希值和第一哈希值。
在其中一个实施例中,方法还包括:
接收管理终端发送的通讯录数据更新指令,通讯录数据更新指令携带有管理标识,当验证管理标识通过时,根据通讯录数据更新指令获取新增通讯录数据,得到更新后的通讯录数据;
生成更新后的通信录数据对应的更新目标时间戳,将更新目标时间戳写入缓存数据库中;
从新增通讯录数据中确定更新主键标识,将更新主键标识写入预设同步索引表中。
一种基于时间戳的数据同步装置,所述装置包括:
时间戳查找模块,用于接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;
时间戳返回模块,用于将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;
增量时间戳确定模块,用于接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;
数据同步模块,用于根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
在其中一个实施例中,装置还包括,还包括:
请求接收模块,用于接收终端发送的初次登录请求,初次登陆请求中携带用户信息;
标识生成模块,用于当验证用户信息通过时,根据初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向终端返回设备标识;
标识关联模块,用于接收终端发送的全量同步请求,根据全量同步请求获取通讯录数据,将通讯录数据返回至终端;
存储模块,用于获取通讯录数据中的初始目标时间戳,将设备标识和初始目标时间戳存储到缓存数据库中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;
将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;
接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;
根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;
将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;
接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;
根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
上述基于时间戳的数据同步方法、装置、计算机设备和存储介质,通过根据设备标识查找对应到第一目标时间戳,将第一目标时间戳返回终端,使终端比较本地目标时间戳和第一目标时间戳,当比较结果为不一致时,终端调用接口向服务器发送数据同步请求,服务器接收终端发送的同步请求,根据本地目标时间戳和第一目标时间戳确定增量时间戳,根据增量时间戳从预设同步索引表中查找到该终端对应的需要同步的增量通讯录数据。然后按照增量时间戳的时间顺序依次将对应的通讯录数据返回终端。即通过使用目标时间戳来确定终端是否需要数据同步,能够最大程度减少终端调用同步接口的次数,并且按照时间戳的时间顺序依次将对应的通讯录数据返回终端,加快了服务器的查询到通讯录数据速度,从而提升了同步通讯录数据的效率。
附图说明
图1为一个实施例中基于时间戳的数据同步方法的应用场景图;
图2为一个实施例中基于时间戳的数据同步方法的流程示意图;
图3为一个实施例中全量同步的流程示意图;
图4为一个实施例中更新通讯录数据的流程示意图;
图5为一个具体实施例中基于时间戳的数据同步的流程示意图;
图6为一个实施例中基于时间戳的数据同步装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于时间戳的数据同步方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104接收终端102发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;服务器104将第一目标时间戳返回终端,以使终端102获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;服务器104接收终端102根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于时间戳的数据同步方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳。
其中,设备标识用于唯一标识用户的终端设备,第一目标时间戳是指要同步的通讯录数据对应的最大时间戳,该最大时间戳是指根据通讯录数据中最后一条数据写入通讯录数据库中的时间生成的时间戳。时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
具体地,服务器接收终端发送的登录请求,解析该登录请求得到设备标识,服务器根据该设备标识在缓存数据库中查找要同步的通信录数据的最大时间戳。
S204,将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳。
其中,本地目标时间戳是指存储在终端中的通讯录数据的本地最大时间戳,该本地最大时间戳是根据终端本地通讯录数据中最后一条通讯录数据获取到的时间生成的时间戳。
具体地,服务器将第一目标时间戳返回给终端。终端接收到第一目标时间戳时,获取到本地通讯录数据的本地目标时间戳。终端将本地目标时间戳和第一目标时间戳进行比较,当本地目标时间戳和第一目标时间戳一致时,说明本地通讯录数据和服务器中的通讯录数据是一致的,不需要同步。当本地目标时间戳和第一目标时间戳不一致时,说明本地通讯录数据和服务器中的通讯录数据是不一致的,需要进行同步。此时,终端调用服务器接口接收发起数据同步请求。
S206,接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳。
其中,比较结果是指本地目标时间戳和第一目标时间戳的不一致结果。增量时间戳是指服务器中需要同步到终端中的通信录数据对应的时间戳。
具体地,服务器接收终端根据本地目标时间戳和第一目标时间戳的不一致结果发送的数据同步请求,解析该数据同步请求得到终端的本地目标时间戳。根据服务器通讯录数据中对应的各个时间戳使用本地目标时间戳和第一目标时间戳计算得到各个增量时间戳。
S208,根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
其中,通讯录标识是用于标识通讯录数据,每一条通讯录数据都有一个全局唯一标识,即通讯录标识。主键标识用于标识通讯录标识对应的通讯录数据中的主键。预设同步索引表是在服务器更新通讯录数据时,用于记录更新的通讯录标识和主键标识的数据表,该数据表是预先设置好的。
具体地,服务器根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
在上述数据同步方法中,通过根据设备标识查找对应到第一目标时间戳,将第一目标时间戳返回终端,使终端比较本地目标时间戳和第一目标时间戳,当比较结果为不一致时,终端调用接口向服务器发送数据同步请求,服务器接收终端发送的同步请求,根据本地目标时间戳和第一目标时间戳确定增量时间戳,根据增量时间戳从预设同步索引表中查找到该终端对应的需要同步的增量通讯录数据。然后按照增量时间戳的时间顺序依次将对应的通讯录数据返回终端,能够最大程度减少终端调用同步接口的次数,并且按照时间戳的时间顺序依次将对应的通讯录数据返回终端,加快了服务器的查询到通讯录数据速度,从而提升了同步通讯录数据的效率,并且通过时间戳作为同步标识,由于时间戳会一直递增且重复率极低,相对于基于主键标识同步,复杂度更低,更可靠。
在一个实施例中,如图3所示,在步骤S202之前,在接收终端发送的登录请求之前,还包括:
S302,接收终端发送的初次登录请求,初次登陆请求中携带用户信息。
其中,用户信息用于表明用户的身份,可以包括用户名称,用户登录的设备信息、用户指纹、用户人脸和用户手机号中的至少一种。
具体地,服务器接收终端发送的初次登陆请求,解析得到初次登陆请求中的用户信息。
S304,当验证用户信息通过时,根据初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向终端返回设备标识。
具体地,服务器验证用户信息,服务器可以将解析得到的用户信息与服务器预先保存的用户信息进行匹配,当匹配成功时,验证通过。比如服务器可以预先采集到用户指纹保存到指纹数据库中,当验证用户信息中的用户指纹时,将用户指纹在指纹数据库中进行匹配,当匹配成功时,用户指纹验证通过。
当验证用户信息通过时,服务器根据初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向终端返回设备标识。当验证用户信息失败时,向终端返回用户信息验证失败的提示。
S306,接收终端发送的全量同步请求,根据全量同步请求获取通讯录数据,将通讯录数据返回至终端。
具体地,当终端接收到设备标识时,将设备标识保存在缓存中,此时,用户登录成功,终端向服务器全量同步请求,根据全量同步请求获取通讯录数据,将获取到的通讯录数据同步到终端中。终端接收到服务器发送的通讯录数据进行保存,并可以将通讯录数据进行展示。
S308,获取通讯录数据中的初始目标时间戳,将设备标识和初始目标时间戳存储到缓存数据库中。
其中,初始目标时间戳是指用户初次同步到的通讯录数据对应的最大时间戳。
具体地,当服务器全量同步通讯录数据完成时,获取到通讯录数据中的初始目标时间戳,将设备标识和初始目标时间戳存储到缓存数据库中。
在上述实施例中,在服务器在用户初次登录时,将通讯录数据全量同步到用户终端中,然后保存已同步通讯录数据的初始目标时间戳和设备标识,方便用户后续同步新的通讯录数据,提高效率。
在一个实施例中,步骤S308,即获取通讯录数据中的初始目标时间戳,将设备标识和第初始目标时间戳存储到缓存数据库中,包括步骤:
生成通讯录数据的初始哈希值,将设备标识、初始哈希值、和第二目标时间戳存储到缓存数据库中。
其中,初始哈希值是指用户初次同步的通讯录数据的哈希值。
具体地,服务器生成通讯录数据的初始哈希值,将设备标识、初始哈希值、和第二目标时间戳存储到缓存数据库中,使用户在后续在同步通讯录数据时,可以根据哈希值保证数据的完整性。
则步骤S202,即根据设备标识查找对应的第一目标时间戳,包括步骤:
根据设备标识查找对应的第一目标时间戳和第一哈希值。
其中,第一哈希值是指用户已同步完成的通讯录数据的哈希值。
具体地,服务器根据设备标识在缓存数据库中查找到对应的第一目标时间戳和第一哈希值。服务器在每次终端同步完通讯录数据时,都会生成已同步的通讯录数据的哈希值,并将设备标识和哈希值写入缓存数据库中,即更新缓存数据库中已存储的设备标识对应的哈希值。然后在用户登录时,就可以从缓存数据库获取到最新的第一目标时间戳和第一哈希值。
在上述实施例中通过生成通讯录数据的哈希值,将哈希值也保存到数据库中,使用户在登录时,可以直接查找到设备标识对应的第一目标时间戳和第一哈希值,方便快捷。
在一个实施例中,在根据设备标识查找对应的第一目标时间戳和第一哈希值之后,还包括:
将第一目标时间戳和第一哈希值返回终端,以使终端获取本地通信录数据的本地目标时间戳和本地哈希值,并比较本地目标时间戳和第一目标时间戳、本地哈希值和第一哈希值。
具体地,服务器将第一目标时间戳和第一哈希值发送到终端中,终端接收到第一目标时间戳和第一哈希值,从本地通讯录数据中确定出本地目标时间戳和本地哈希值,比较第一目标时间戳和本地目标时间戳并比较第一哈希值和本地哈希值,当比较结果中至少有一个结果为不一致时,即当第一目标时间戳和本地目标时间戳不一致时,或者当第一哈希值和本地哈希值不一致时,终端调用服务器数据同步接口向服务器发送数据同步请求,服务器接收到数据同步请求进行数据同步。
在上述实施例中,通过比较第一目标时间戳和本地目标时间戳并比较第一哈希值和本地哈希值,根据比较结果进行数据的同步,能够提高数据同步的准确性。
在一个实施例中,如图4所示,基于时间戳的数据同步方法还包括步骤:
S402,接收管理终端发送的通讯录数据更新指令,通讯录数据更新指令携带有管理标识,当验证管理标识通过时,根据通讯录数据更新指令获取新增通讯录数据,得到更新后的通讯录数据。
其中,管理标识用于唯一标识管理用户。
具体地,服务器接收到管理终端发送的通讯录数据更新指令,解析该通讯录更新指令得到管理标识,验证该管理标识是否有权限,当验证管理标识通过时,根据通讯录数据更新指令从管理终端中获取到新增通讯录数据,将新增通讯录数据写入通讯录数据库中,得到更新后的通讯录数据。
S404,生成更新后的通信录数据对应的更新目标时间戳,将更新目标时间戳写入缓存数据库中。
其中,更新目标时间戳是指更新后的通信录数据对应的最大时间戳、
具体地,服务器生成更新后的通信录数据对应的更新目标时间戳,将缓存数据库中各个设备标识对应的时间戳更新为更新目标时间戳。
在一个实施例中,服务器计算更新后的通信录数据的哈希值,将该哈希值与更新目标时间戳关联写入缓存数据库中。
S406,从新增通讯录数据中确定更新主键标识,将更新主键标识写入预设同步索引表中。
其中,更新主键标识用于标识新增通信录数据对应的主键。
具体地,服务器从新增通讯录数据中得到新增通讯录数据中各条通讯录数据对应的主键标识,得到各个更新主键标识,将各个更新主键标识写入预设同步索引表中。
在上述实施例中,管理终端可以对服务器中存储的通讯录数据进行更新,得到更新后的通讯录数据,根据更新后的通讯录数据得到更新目标时间戳,将更新目标时间戳写入缓存数据库中,根据新增通讯录数据确定更新主键标识,将更新主键标识写入预设同步索引表中,能够对通讯录数据进行更新,方便用户使用。
在一个具体地实施例中,基于时间戳的数据同步方法,应用在政务通APP(手机软件)中。如图5所述,为政务通APP中通讯录同步流程示意图。具体来说,用户手机按照政务通客户端,并登录到政务通客户端中,服务段在用户登录时,获取到设备标识,根据设备标识查找到最大时间戳,将查找到的最大时间戳返回到客户端,客户端接收到最大时间戳,判断与本地数据库存储的最大时间戳是否存在差异。当存在差异时,客户端调用增量更新通讯录数据接口,从服务端同步到增量通讯录数据。根据增量通讯录数据更新本地通讯录数据。服务器返回增量通讯录数据后,异步缓存更新客户端通讯录数据的最大时间戳。当未存在差异时,不做处理。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种基于时间戳的数据同步装置600,包括:时间戳查找模块602、时间戳返回模块604、增量时间戳确定模块606和数据同步模块608,其中:
时间戳查找模块602,用于接收终端发送的登录请求,登录请求携带设备标识,根据设备标识查找对应的第一目标时间戳;
时间戳返回模块604,用于将第一目标时间戳返回终端,以使终端获取本地通信录数据的本地目标时间戳,并比较本地目标时间戳和第一目标时间戳;
增量时间戳确定模块606,用于接收终端根据比较结果发送的数据同步请求,数据同步请求携带本地目标时间戳,根据本地目标时间戳和第一目标时间戳确定增量时间戳;
数据同步模块608,用于根据增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据主键标识和通讯录标识获取对应的增量通讯录数据,将增量通讯录数据按照增量时间戳依次返回终端。
在一个实施例中,基于时间戳的数据同步装置600,还包括:
请求接收模块,用于接收终端发送的初次登录请求,初次登陆请求中携带用户信息;
标识生成模块,用于当验证用户信息通过时,根据初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向终端返回设备标识;
全量同步模块,用于接收终端发送的全量同步请求,根据全量同步请求获取通讯录数据,将通讯录数据返回至终端;
存储模块,用于获取通讯录数据中的初始目标时间戳,将设备标识和初始目标时间戳存储到缓存数据库中。
在一个实施例中,存储模块还用于生成通讯录数据的初始哈希值,将设备标识、初始哈希值、和第二目标时间戳存储到缓存数据库中;则时间戳查找模块602还用于根据设备标识查找对应的第一目标时间戳和第一哈希值。
在一个实施例中,时间戳返回模块604还用于将第一目标时间戳和第一哈希值返回终端,以使终端获取本地通信录数据的本地目标时间戳和本地哈希值,并比较本地目标时间戳和第一目标时间戳、本地哈希值和第一哈希值。
在一个实施例中,基于时间戳的数据同步装置600,还包括:
更新模块,用于接收管理终端发送的通讯录数据更新指令,通讯录数据更新指令携带有管理标识,当验证管理标识通过时,根据通讯录数据更新指令获取新增通讯录数据,得到更新后的通讯录数据;
时间戳更新模块,用于生成更新后的通信录数据对应的更新目标时间戳,将更新目标时间戳写入缓存数据库中;
标识写入模块,用于从新增通讯录数据中确定更新主键标识,将更新主键标识写入预设同步索引表中。
关于基于时间戳的数据同步装置的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。上述基于时间戳的数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储通讯录数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于时间戳的数据同步方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述任意实施例中基于时间戳的数据同步方法所述的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例中基于时间戳的数据同步方法所述的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于时间戳的数据同步方法,所述方法包括:
接收终端发送的登录请求,所述登录请求携带设备标识,根据所述设备标识查找对应的第一目标时间戳;
将所述第一目标时间戳返回所述终端,以使所述终端获取本地通信录数据的本地目标时间戳,并比较所述本地目标时间戳和所述第一目标时间戳;
接收所述终端根据比较结果发送的数据同步请求,所述数据同步请求携带所述本地目标时间戳,根据所述本地目标时间戳和所述第一目标时间戳确定增量时间戳;
根据所述增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据所述主键标识和所述通讯录标识获取对应的增量通讯录数据,将所述增量通讯录数据按照所述增量时间戳依次返回所述终端。
2.根据权利要求1所述的方法,其特征在于,在所述接收终端发送的登录请求之前,还包括:
接收所述终端发送的初次登录请求,所述初次登陆请求中携带用户信息;
当验证所述用户信息通过时,根据所述初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向所述终端返回所述设备标识;
接收所述终端发送的全量同步请求,根据所述全量同步请求获取通讯录数据,将所述通讯录数据返回至所述终端;
获取所述通讯录数据中的初始目标时间戳,将所述设备标识和所述初始目标时间戳存储到缓存数据库中。
3.根据权利要求2所述的方法,其特征在于,在所述获取所述通讯录数据中的初始目标时间戳,将所述设备标识和所述初始目标时间戳存储到缓存数据库中,包括:
生成所述通讯录数据的初始哈希值,将所述设备标识、所述初始哈希值、和所述第二目标时间戳存储到缓存数据库中;
则根据所述设备标识查找对应的第一目标时间戳,包括:
根据所述设备标识查找对应的第一目标时间戳和第一哈希值。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述设备标识查找对应的第一目标时间戳和第一哈希值之后,还包括:
将所述第一目标时间戳和所述第一哈希值返回所述终端,以使所述终端获取本地通信录数据的本地目标时间戳和本地哈希值,并比较所述本地目标时间戳和所述第一目标时间戳、所述本地哈希值和所述第一哈希值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收管理终端发送的通讯录数据更新指令,所述通讯录数据更新指令携带有管理标识,当验证所述管理标识通过时,根据所述通讯录数据更新指令获取新增通讯录数据,得到更新后的通讯录数据;
生成所述更新后的通信录数据对应的更新目标时间戳,将所述更新目标时间戳写入缓存数据库中;
从所述新增通讯录数据中确定更新主键标识,将所述更新主键标识写入所述预设同步索引表中。
6.一种基于时间戳的数据同步装置,其特征在于,所述装置包括:
时间戳查找模块,用于接收终端发送的登录请求,所述登录请求携带设备标识,根据所述设备标识查找对应的第一目标时间戳;
时间戳返回模块,用于将所述第一目标时间戳返回所述终端,以使所述终端获取本地通信录数据的本地目标时间戳,并比较所述本地目标时间戳和所述第一目标时间戳;
增量时间戳确定模块,用于接收所述终端根据比较结果发送的数据同步请求,所述数据同步请求携带所述本地目标时间戳,根据所述本地目标时间戳和所述第一目标时间戳确定增量时间戳;
数据同步模块,用于根据所述增量时间戳在预设同步索引表中查找对应的主键标识和通讯录标识,根据所述主键标识和所述通讯录标识获取对应的增量通讯录数据,将所述增量通讯录数据按照所述增量时间戳依次返回所述终端。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括,还包括:
请求接收模块,用于接收所述终端发送的初次登录请求,所述初次登陆请求中携带用户信息;
标识生成模块,用于当验证所述用户信息通过时,根据所述初次登录请求获取用户信息中的设备信息,根据设备信息生成设备标识,向所述终端返回所述设备标识;
全量同步模块,用于接收所述终端发送的全量同步请求,根据所述全量同步请求获取通讯录数据,将所述通讯录数据返回至所述终端;
存储模块,用于获取所述通讯录数据中的初始目标时间戳,将所述设备标识和所述初始目标时间戳存储到缓存数据库中。
8.根据权利要求7所述的装置,其特征在于,所述存储模块还用于生成所述通讯录数据的初始哈希值,将所述设备标识、所述初始哈希值、和所述第二目标时间戳存储到缓存数据库中;
则所述时间戳查找模块还用于根据所述设备标识查找对应的第一目标时间戳和第一哈希值。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010037879.2A CN111245548A (zh) | 2020-01-14 | 2020-01-14 | 基于时间戳的数据同步方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010037879.2A CN111245548A (zh) | 2020-01-14 | 2020-01-14 | 基于时间戳的数据同步方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111245548A true CN111245548A (zh) | 2020-06-05 |
Family
ID=70865054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010037879.2A Pending CN111245548A (zh) | 2020-01-14 | 2020-01-14 | 基于时间戳的数据同步方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245548A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680078A (zh) * | 2020-06-19 | 2020-09-18 | 中国人民解放军国防科技大学 | 飞行器飞行仿真演示过程中多屏数据控制方法和系统 |
CN112291207A (zh) * | 2020-10-16 | 2021-01-29 | 武汉中科通达高新技术股份有限公司 | 一种前端设备目录获取方法及装置 |
CN112434108A (zh) * | 2020-11-10 | 2021-03-02 | 深圳市明源云科技有限公司 | 一种数据库同步的方法、装置及设备 |
CN112486934A (zh) * | 2020-08-21 | 2021-03-12 | 海信视像科技股份有限公司 | 一种文件同步方法及显示设备 |
CN112765275A (zh) * | 2021-01-26 | 2021-05-07 | 成都佳发安泰教育科技股份有限公司 | 基于单一时间坐标系的数据同步交换方法、设备及介质 |
CN113204574A (zh) * | 2021-05-27 | 2021-08-03 | 北京深演智能科技股份有限公司 | 数据处理方法、装置、计算机可读存储介质及处理器 |
CN113360509A (zh) * | 2021-06-03 | 2021-09-07 | 广州小鹏智慧充电科技有限公司 | 一种收藏音乐同步方法和装置 |
CN113434509A (zh) * | 2021-07-02 | 2021-09-24 | 挂号网(杭州)科技有限公司 | 一种增量索引的更新方法、装置、存储介质及电子设备 |
CN113472469A (zh) * | 2021-07-27 | 2021-10-01 | 厦门亿联网络技术股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN113742426A (zh) * | 2021-09-08 | 2021-12-03 | 深圳市云鼠科技开发有限公司 | 一种数据同步方法、装置、设备、服务器及存储介质 |
CN113872994A (zh) * | 2020-06-30 | 2021-12-31 | 腾讯科技(深圳)有限公司 | 组织架构同步方法、装置、计算机设备和存储介质 |
CN114157677A (zh) * | 2021-12-14 | 2022-03-08 | 南京欧珀软件科技有限公司 | 数据同步方法及相关产品 |
CN114567644A (zh) * | 2022-02-21 | 2022-05-31 | 深圳希施玛数据科技有限公司 | 一种数据同步的方法、装置及电子设备 |
CN115065642A (zh) * | 2022-08-18 | 2022-09-16 | 深圳华锐分布式技术股份有限公司 | 带宽限制下的代码表请求方法、装置、设备及介质 |
CN116481560A (zh) * | 2023-06-21 | 2023-07-25 | 天津所托瑞安汽车科技有限公司 | 车辆行驶里程的计算方法、装置、终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011205234A (ja) * | 2010-03-24 | 2011-10-13 | Nec Corp | タイムスタンプ付与システム、タイムスタンプ付与方法、タイムスタンプ付与プログラム |
CN102510357A (zh) * | 2011-09-26 | 2012-06-20 | 深圳中兴网信科技有限公司 | 一种企业组织架构通讯录的同步方法及其系统 |
CN107040576A (zh) * | 2016-12-08 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 信息推送方法及装置、通讯系统 |
US20180241658A1 (en) * | 2015-10-22 | 2018-08-23 | Alibaba Group Holding Limited | Data transmission method and apparatus |
WO2018219178A1 (zh) * | 2017-05-27 | 2018-12-06 | Oppo广东移动通信有限公司 | 数据同步方法、装置、服务器及存储介质 |
WO2019144761A1 (zh) * | 2018-01-24 | 2019-08-01 | 中国银联股份有限公司 | 一种数据同步方法和分布式系统、设备 |
-
2020
- 2020-01-14 CN CN202010037879.2A patent/CN111245548A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011205234A (ja) * | 2010-03-24 | 2011-10-13 | Nec Corp | タイムスタンプ付与システム、タイムスタンプ付与方法、タイムスタンプ付与プログラム |
CN102510357A (zh) * | 2011-09-26 | 2012-06-20 | 深圳中兴网信科技有限公司 | 一种企业组织架构通讯录的同步方法及其系统 |
US20180241658A1 (en) * | 2015-10-22 | 2018-08-23 | Alibaba Group Holding Limited | Data transmission method and apparatus |
CN107040576A (zh) * | 2016-12-08 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 信息推送方法及装置、通讯系统 |
WO2018219178A1 (zh) * | 2017-05-27 | 2018-12-06 | Oppo广东移动通信有限公司 | 数据同步方法、装置、服务器及存储介质 |
WO2019144761A1 (zh) * | 2018-01-24 | 2019-08-01 | 中国银联股份有限公司 | 一种数据同步方法和分布式系统、设备 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680078A (zh) * | 2020-06-19 | 2020-09-18 | 中国人民解放军国防科技大学 | 飞行器飞行仿真演示过程中多屏数据控制方法和系统 |
CN111680078B (zh) * | 2020-06-19 | 2023-11-14 | 中国人民解放军国防科技大学 | 飞行器飞行仿真演示过程中多屏数据控制方法和系统 |
CN113872994A (zh) * | 2020-06-30 | 2021-12-31 | 腾讯科技(深圳)有限公司 | 组织架构同步方法、装置、计算机设备和存储介质 |
CN112486934A (zh) * | 2020-08-21 | 2021-03-12 | 海信视像科技股份有限公司 | 一种文件同步方法及显示设备 |
CN112291207A (zh) * | 2020-10-16 | 2021-01-29 | 武汉中科通达高新技术股份有限公司 | 一种前端设备目录获取方法及装置 |
CN112291207B (zh) * | 2020-10-16 | 2022-11-25 | 武汉中科通达高新技术股份有限公司 | 一种前端设备目录获取方法及装置 |
CN112434108A (zh) * | 2020-11-10 | 2021-03-02 | 深圳市明源云科技有限公司 | 一种数据库同步的方法、装置及设备 |
CN112765275A (zh) * | 2021-01-26 | 2021-05-07 | 成都佳发安泰教育科技股份有限公司 | 基于单一时间坐标系的数据同步交换方法、设备及介质 |
CN113204574A (zh) * | 2021-05-27 | 2021-08-03 | 北京深演智能科技股份有限公司 | 数据处理方法、装置、计算机可读存储介质及处理器 |
CN113204574B (zh) * | 2021-05-27 | 2024-01-26 | 北京深演智能科技股份有限公司 | 数据处理方法、装置、计算机可读存储介质及处理器 |
CN113360509A (zh) * | 2021-06-03 | 2021-09-07 | 广州小鹏智慧充电科技有限公司 | 一种收藏音乐同步方法和装置 |
CN113434509A (zh) * | 2021-07-02 | 2021-09-24 | 挂号网(杭州)科技有限公司 | 一种增量索引的更新方法、装置、存储介质及电子设备 |
CN113472469A (zh) * | 2021-07-27 | 2021-10-01 | 厦门亿联网络技术股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN113472469B (zh) * | 2021-07-27 | 2023-12-05 | 厦门亿联网络技术股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN113742426A (zh) * | 2021-09-08 | 2021-12-03 | 深圳市云鼠科技开发有限公司 | 一种数据同步方法、装置、设备、服务器及存储介质 |
CN114157677A (zh) * | 2021-12-14 | 2022-03-08 | 南京欧珀软件科技有限公司 | 数据同步方法及相关产品 |
CN114157677B (zh) * | 2021-12-14 | 2023-11-28 | 南京欧珀软件科技有限公司 | 数据同步方法及相关产品 |
CN114567644A (zh) * | 2022-02-21 | 2022-05-31 | 深圳希施玛数据科技有限公司 | 一种数据同步的方法、装置及电子设备 |
CN114567644B (zh) * | 2022-02-21 | 2023-10-20 | 深圳希施玛数据科技有限公司 | 一种数据同步的方法、装置及电子设备 |
CN115065642A (zh) * | 2022-08-18 | 2022-09-16 | 深圳华锐分布式技术股份有限公司 | 带宽限制下的代码表请求方法、装置、设备及介质 |
CN116481560B (zh) * | 2023-06-21 | 2023-10-03 | 天津所托瑞安汽车科技有限公司 | 车辆行驶里程的计算方法、装置、终端及存储介质 |
CN116481560A (zh) * | 2023-06-21 | 2023-07-25 | 天津所托瑞安汽车科技有限公司 | 车辆行驶里程的计算方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245548A (zh) | 基于时间戳的数据同步方法、装置和计算机设备 | |
WO2020186786A1 (zh) | 文件处理方法、装置、计算机设备和存储介质 | |
CN110866198B (zh) | 静态资源缓存方法、系统、装置、计算机设备和存储介质 | |
CN110750506A (zh) | 数据对象标识生成方法、装置、计算机设备和存储介质 | |
CN109586948A (zh) | 更新系统配置数据的方法、装置、计算机设备和存储介质 | |
CN110489421B (zh) | 数据存储方法、装置、计算机可读存储介质和计算机设备 | |
CN109361628B (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN111563365B (zh) | 试验标准工单修改信息处理方法、装置和计算机设备 | |
CN110908778A (zh) | 任务部署方法、系统和存储介质 | |
WO2021169305A1 (zh) | 声纹数据处理方法、装置、计算机设备和存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110737719B (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN111767297B (zh) | 大数据处理方法、装置、设备及介质 | |
CN108512948B (zh) | 通讯录更新方法、装置、计算机设备和存储介质 | |
CN112000903A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN109101232B (zh) | 一种产品开发的方法、装置、计算机设备及存储介质 | |
CN109462661B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN112637008A (zh) | 链路模拟测试方法、装置、系统、计算机设备和存储介质 | |
CN111209061A (zh) | 用户信息的填写方法、装置、计算机设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
WO2021169469A1 (zh) | 声纹数据处理方法、装置、计算机设备和存储介质 | |
CN110597782B (zh) | 数据库动态切换方法、装置、计算机设备和存储介质 | |
CN109542872B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN113742681B (zh) | 一种账户管理方法、装置、计算机设备和存储介质 | |
CN110851477B (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 |