CN114726872A - 数据同步方法、装置、计算机设备及存储介质 - Google Patents
数据同步方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114726872A CN114726872A CN202210363266.7A CN202210363266A CN114726872A CN 114726872 A CN114726872 A CN 114726872A CN 202210363266 A CN202210363266 A CN 202210363266A CN 114726872 A CN114726872 A CN 114726872A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- client
- synchronous
- type
- 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 46
- 230000001360 synchronised effect Effects 0.000 claims description 74
- 230000002159 abnormal effect Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 13
- 235000014510 cooky Nutrition 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013475 authorization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000003313 weakening effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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/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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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
-
- 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
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据同步方法、装置、计算机设备及存储介质,属于互联网技术领域。数据同步方法可对多个不同类别客户端发送同步请求进行认证,获取通过认证的同步请求中的属性信息,根据属性信息从数据湖中确定与相应客户端的同步请求匹配的第一同步数据,以达到针对不同的客户端从数据湖中选择不同的第一同步数据的目的,根据该同步类型从第一同步数据中获取第二同步数据,以便于将第二同步数据转发送至客户端,实现可针对不同的客户端同步与不同数据的目的。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及数据同步方法、装置、计算机设备及存储介质。
背景技术
数据同步是指客户端与服务端之间进行数据同步与信息共享。随着通信技术的快速发展,对客户端的相关信息的管理显得尤为重要,特别是服务端将互联网产品的相关数据同步至客户端,以使客户端达到相应的功能。然而,现有的服务端与客户端之间的数据同步,主要针对特定的某一类客户端实现特定数据(如:某一类固定产品)的数据同步,无法实现对多种类别的客户端的不同特定数据的数据同步,适用范围局限。
发明内容
针对现有数据同步存在局限性的问题,现提供一种旨在可适用于不同的客户端对不同数据进行同步的数据同步方法、装置、计算机设备及存储介质。
为实现上述目的,本发明提供一种数据同步方法,应用于服务端,包括:
接收与所述服务端关联的至少一个客户端发送的同步请求;
对所述同步请求进行认证,若所述同步请求通过认证,获取所述同步请求中的属性信息,所述属性信息包括同步类型;
根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据;
基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端。
可选的,所述属性信息还包括:所述客户端的版本、所述客户端的级别和所述客户端的有效期限;
所述根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据,包括:
根据所述客户端的版本从所述数据湖中选择同步数据的版本,所述同步数据的版本高于所述客户端的版本;
根据所述客户端的级别从所述数据湖中选择与相应级别对应的所述同步数据的范围;
根据所述客户端的有效期限确定所述同步数据的有效期限;
根据所述同步数据的版本、所述同步数据的范围和所述同步数据的范围生成所述第一同步数据。
可选的,所述同步类型包括全量类同步、增量类同步和增改增量类同步;
所述基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端,包括:
识别所述同步类型;
当所述同步类型为全量类同步时,将所述第一同步数据作为所述第二同步数据,将所述第二同步数据转发送至所述客户端;
当所述同步类型为增量类同步时,从所述第一同步数据中确定与所述客户端当前数据不同的第三同步数据,将所述第三同步数据作为所述第二同步数据转发送至所述客户端;
当所述同步类型为增量类同步时,在所述第一同步数据中以第一预设时间为周期,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,将所述第四同步数据作为所述第二同步数据转发送至所述客户端。
可选的,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,包括:
采用信息摘要算法比对所述第一同步数据中所有相邻两个周期之间的不同的数据,以确定所述第四同步数据。
可选的,所述基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端,包括:
将获取的所述第二同步数据进行压缩、加密后转发送至所述客户端。
可选的,所述基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端,之后还包括:
监听与所述服务端关联的各个所述客户端的连接状态;
若所述连接状态异常,识别异常类型,生成异常消息。
可选的,所述监听与所述服务端关联的各个所述客户端的连接状态,包括:
获取与所述服务端关联的各个所述客户端发送的心跳数据,根据所述心跳数据确定所述客户端的连接状态。
为实现上述目的,本发明提供一种数据同步装置,应用于服务端,包括:
接收单元,用于接收与所述服务端关联的至少一个客户端发送的同步请求;
认证单元,用于对所述同步请求进行认证,若所述同步请求通过认证,获取所述同步请求中的属性信息,所述属性信息包括同步类型;
确定单元,用于根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据;
同步单元,用于基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端。
为实现上述目的,本发明提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的数据同步方法、装置、计算机设备及存储介质,可对多个不同类别客户端发送同步请求进行认证,获取通过认证的同步请求中的属性信息,根据属性信息从数据湖中确定与相应客户端的同步请求匹配的第一同步数据,以达到针对不同的客户端从数据湖中选择不同的第一同步数据的目的,根据该同步类型从第一同步数据中获取第二同步数据,以便于将第二同步数据转发送至客户端,实现可针对不同的客户端同步与不同数据的目的。
所谓的数据湖用于存储承载在基于可向外扩展的HDFS(Hadoop分布式文件系统)硬件之上的数据。数据湖可以把不同种类的数据汇聚到一起,无需预定义的模型就能进行数据分析。
附图说明
图1为本发明所述的数据同步方法的一种实施例的流程图;
图2为本发明所述的数据同步方法的另一种实施例的流程图;
图3为本发明所述的数据同步装置的一种实施例的模块图;
图4为本发明所述的计算机设备一实施例的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明提供的数据同步方法、装置、计算机设备及存储介质,适用于金融、医疗、银行、租赁、保险等业务领域。数据同步方法可对多个不同类别客户端发送同步请求进行认证,获取通过认证的同步请求中的属性信息,根据属性信息从数据湖中确定与相应客户端的同步请求匹配的第一同步数据,以达到针对不同的客户端从数据湖中选择不同的第一同步数据的目的,根据该同步类型从第一同步数据中获取第二同步数据,以便于将第二同步数据转发送至客户端,实现可针对不同的客户端同步与不同数据的目的。
实施例一
请参阅图1,本实施例的一种数据同步方法,应用于服务端,包括以下步骤:
S1.接收与所述服务端关联的至少一个客户端发送的同步请求。
在本实施例中,服务端支持对不同类别的客户端进行相应数据的同步。客户端可以是配置有相应产品功能的应用程序(如:金融产品程序、租赁产品程序、保险产品程序等)。
S2.对所述同步请求进行认证,若所述同步请求通过认证,获取所述同步请求中的属性信息,所述属性信息包括同步类型。
在本实施例中,对同步请求的认证可采用OAuth(开放授权)认证机制、CookieAuth认证机制、Token Auth认证机制。
OAuth认证机制是一个开放的授权标准,允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
Cookie认证机制是为一次请求认证在服务端创建一个Session对象,同时在客户端的浏览器端创建了一个Cookie对象;通过客户端带上来Cookie对象来与服务器端的session对象匹配来实现状态管理。
Token Auth认证机制支持跨域访问、无状态(也称:服务端可扩展行)、适用CDN(Content Delivery Network,即内容分发网络)、去耦、适用于移动应用、无需考虑对CSRF(跨站请求伪造)的防范。
在本实施例中,以Token Auth认证机制为例,客户端可通过GET(从指定的资源请求数据)或POST(向指定的资源提交要被处理的数据)向服务端发送同步请求,服务端对同步请求进行拦截,先在cookie中查找Token信息,若没有,根据配置文件中的签名加密秘钥,对Token信息进行解密和解码,当完成解码并验证通过后,对Token中的exp、nbf、aud等信息进行验证,若全部通过验证,则获取客户端的属性信息,执行后续操作。
S3.根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据。
在本实施例中,所述属性信息还可包括:所述客户端的版本、所述客户端的级别和所述客户端的有效期限。
在本实施例中,服务端在MySQL配置管理数据库,存储一客户配置表,该客户配置表包括各个客户端的账户、当前版本、客户端级别、客户端签订合约的有效期限等信息。
作为举例而非限定,客户配置表中还可包括同步时间,服务端可根据各个客户端的同步时间从数据湖中获取相应的第二同步数据,将获取的第二同步数据转发送至相应的客户端。
在本实施例中,数据湖依托Airflow(开源调度平台)调度引擎,通过ETL处理,将原有数据同步的App层数据加工到HBase(可伸缩的分布式存储系统)。其目的为,同时支持原有数据同步和对外数据同步机制的前提下,保持数据处理逻辑的一致性,并创建新的数据加工层,以缩小对外数据同步的规模。数据湖的数据加工主要为Python、HiveSQL。
进一步的,步骤S3可包括:
S31.根据所述客户端的版本从所述数据湖中选择同步数据的版本,所述同步数据的版本高于所述客户端的版本。
在本实施例中,根据客户配置表中记录的当前客户端的版本从数据湖中选择高于当前版本的相应数据。
S32.根据所述客户端的级别从所述数据湖中选择与相应级别对应的所述同步数据的范围。
在本实施例中,数据湖中存储了与客户端相关的所有数据(从诞生到当前的所有历史过程的完整数据),从数据湖的所有数据中筛选出与客户端级别匹配的数据范围。不同类型的客户端同步的数据各有不同,因此可基于客户端的级别选择与其匹配的数据进行同步,提高了数据同步的适用场景。
S33.根据所述客户端的有效期限确定所述同步数据的有效期限。
S34.根据所述同步数据的版本、所述同步数据的范围和所述同步数据的范围生成所述第一同步数据。
在本实施例中,服务端可根据客户端的属性信息从数据湖获取与其同步请求匹配的同步数据。
S4.基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端。
在本实施例中,考虑到若同步数据较大时,进行数据同步需要消耗大量的时间,为了提高数据同步效率,可根据不同类型的同步数据选择不同的同步方式,以保证数据同步可以快速有效的完成。
在本实施例中,所述同步类型可包括全量类同步、增量类同步和增改增量类同步。
进一步地,所述步骤S4可包括:识别所述同步类型,当所述同步类型为全量类同步时,将所述第一同步数据作为所述第二同步数据,将所述第二同步数据转发送至所述客户端。
所述步骤S4可包括:识别所述同步类型,当所述同步类型为增量类同步时,从所述第一同步数据中确定与所述客户端当前数据不同的第三同步数据,将所述第三同步数据作为所述第二同步数据转发送至所述客户端。
所述步骤S4可包括:识别所述同步类型,当所述同步类型为增量类同步时,在所述第一同步数据中以第一预设时间为周期,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,将所述第四同步数据作为所述第二同步数据转发送至所述客户端。
具体地,当所述同步类型为增量类同步时,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,包括:
采用信息摘要算法比对所述第一同步数据中所有相邻两个周期之间的不同的数据,以确定所述第四同步数据。
在步骤S4中还包括将获取的所述第二同步数据进行压缩、加密后转发送至所述客户端。
在本实施例中,可采用对称加密算法、非对称加密算法、单向散列(hash)算法、秘钥交换算法(DH)等对第二同步数据进行加密。
作为举例而非限定,可采用LZW算法对第二同步数据进行压缩。
在优选的实施例中,参阅图2所示,数据同步方法,在步骤S4之后还可包括以下步骤:
S5.监听与所述服务端关联的各个所述客户端的连接状态。
进一步的,步骤S5为获取与所述服务端关联的各个所述客户端发送的心跳数据,根据所述心跳数据确定所述客户端的连接状态。
S6.若所述连接状态异常,识别异常类型,生成异常消息。
在本实施例中,通过监听各个客户端发送的心跳数据判断其存活状态,若某一客户端相邻的心跳数据间隔超出预设时间范围,则该客户端状态异常,若其后续心跳数据间隔符预设时间范围内,表示该客户端的网络不稳定;若预设时间范围仍未接收到某一客户端心跳数据,则表示该客户端的状态异常,需人为干预排查。
在本实施例中,数据同步方法可对多个不同类别客户端发送同步请求进行认证,获取通过认证的同步请求中的属性信息,根据属性信息从数据湖中确定与相应客户端的同步请求匹配的第一同步数据,以达到针对不同的客户端从数据湖中选择不同的第一同步数据的目的,根据该同步类型从第一同步数据中获取第二同步数据,以便于将第二同步数据转发送至客户端,实现可针对不同的客户端同步与不同数据的目的。
本实施例的数据同步方法支持同网络、跨网络、多客户端、多版本同步;还可具有备份、容错等机制;数据同步过程发生常规异常时,可自动恢复同步过程,或者由客户端发起数据重发请求;支持多客户端并发数据同步;支持数据同步过程中根据配置进行同步数据权限(客户端级别)过滤(表级、列级);可进行参数配置与管理,且具备较强的扩展配置能力;支持增量推送模式下删除部分数据;突出强服务端管控,弱化客户端数据同步管理;保证数据传输过程加密;支持数据湖数据加工完成后,根据同步策略自动同步到已授权客户端的数据库;在保证下发数据质量的前提下缩减数据同步规模。
实施例二
请参阅图3,本实施例的一种数据同步装置1,应用于服务端,包括:接收单元11、认证单元12、确定单元13和同步单元14。
接收单元11,用于接收与所述服务端关联的至少一个客户端发送的同步请求。
在本实施例中,服务端支持对不同类别的客户端进行相应数据的同步。客户端可以是配置有相应产品功能的应用程序(如:金融产品程序、租赁产品程序、保险产品程序等)。
认证单元12,用于对所述同步请求进行认证,若所述同步请求通过认证,获取所述同步请求中的属性信息,所述属性信息包括同步类型。
在本实施例中,对同步请求的认证可采用OAuth(开放授权)认证机制、CookieAuth认证机制、Token Auth认证机制。
OAuth认证机制是一个开放的授权标准,允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
Cookie认证机制是为一次请求认证在服务端创建一个Session对象,同时在客户端的浏览器端创建了一个Cookie对象;通过客户端带上来Cookie对象来与服务器端的session对象匹配来实现状态管理。
Token Auth认证机制支持跨域访问、无状态(也称:服务端可扩展行)、适用CDN(Content Delivery Network,即内容分发网络)、去耦、适用于移动应用、无需考虑对CSRF(跨站请求伪造)的防范。
在本实施例中,以Token Auth认证机制为例,客户端可通过GET(从指定的资源请求数据)或POST(向指定的资源提交要被处理的数据)向服务端发送同步请求,服务端对同步请求进行拦截,先在cookie中查找Token信息,若没有,根据配置文件中的签名加密秘钥,对Token信息进行解密和解码,当完成解码并验证通过后,对Token中的exp、nbf、aud等信息进行验证,若全部通过验证,则获取客户端的属性信息,执行后续操作。
确定单元13,用于根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据。
在本实施例中,所述属性信息还可包括:所述客户端的版本、所述客户端的级别和所述客户端的有效期限。
在本实施例中,服务端在MySQL配置管理数据库,存储一客户配置表,该客户配置表包括各个客户端的账户、当前版本、客户端级别、客户端签订合约的有效期限等信息。
作为举例而非限定,客户配置表中还可包括同步时间,服务端可根据各个客户端的同步时间从数据湖中获取相应的第二同步数据,将获取的第二同步数据转发送至相应的客户端。
在本实施例中,数据湖依托Airflow(开源调度平台)调度引擎,通过ETL处理,将原有数据同步的App层数据加工到HBase(可伸缩的分布式存储系统)。其目的为,同时支持原有数据同步和对外数据同步机制的前提下,保持数据处理逻辑的一致性,并创建新的数据加工层,以缩小对外数据同步的规模。数据湖的数据加工主要为Python、HiveSQL。
进一步的,确定单元13用于根据所述客户端的版本从所述数据湖中选择同步数据的版本,所述同步数据的版本高于所述客户端的版本。
在本实施例中,根据客户配置表中记录的当前客户端的版本从数据湖中选择高于当前版本的相应数据。
确定单元13还用于根据所述客户端的级别从所述数据湖中选择与相应级别对应的所述同步数据的范围。
在本实施例中,数据湖中存储了与客户端相关的所有数据(从诞生到当前的所有历史过程的完整数据),从数据湖的所有数据中筛选出与客户端级别匹配的数据范围。不同类型的客户端同步的数据各有不同,因此可基于客户端的级别选择与其匹配的数据进行同步,提高了数据同步的适用场景。
确定单元13还用于根据所述客户端的有效期限确定所述同步数据的有效期限。
确定单元13还用于根据所述同步数据的版本、所述同步数据的范围和所述同步数据的范围生成所述第一同步数据。
在本实施例中,服务端可根据客户端的属性信息从数据湖获取与其同步请求匹配的同步数据。
同步单元14,用于基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端。
在本实施例中,考虑到若同步数据较大时,进行数据同步需要消耗大量的时间,为了提高数据同步效率,可根据不同类型的同步数据选择不同的同步方式,以保证数据同步可以快速有效的完成。
在本实施例中,所述同步类型可包括全量类同步、增量类同步和增改增量类同步。
进一步地,同步单元14可包括:识别所述同步类型,当所述同步类型为全量类同步时,将所述第一同步数据作为所述第二同步数据,将所述第二同步数据转发送至所述客户端。
同步单元14可包括:当所述同步类型为增量类同步时,从所述第一同步数据中确定与所述客户端当前数据不同的第三同步数据,将所述第三同步数据作为所述第二同步数据转发送至所述客户端。
同步单元14可包括:当所述同步类型为增量类同步时,在所述第一同步数据中以第一预设时间为周期,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,将所述第四同步数据作为所述第二同步数据转发送至所述客户端。
具体地,当所述同步类型为增量类同步时,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,包括:
采用信息摘要算法比对所述第一同步数据中所有相邻两个周期之间的不同的数据,以确定所述第四同步数据。
同步单元14还可包括将获取的所述第二同步数据进行压缩、加密后转发送至所述客户端。
在本实施例中,可采用对称加密算法、非对称加密算法、单向散列(hash)算法、秘钥交换算法(DH)等对第二同步数据进行加密。
作为举例而非限定,可采用LZW算法对第二同步数据进行压缩。
在优选的实施例中,数据同步装置1还可包括:监听单元和生成单元。
监听单元,用于监听与所述服务端关联的各个所述客户端的连接状态。
进一步的,监听单元为获取与所述服务端关联的各个所述客户端发送的心跳数据,根据所述心跳数据确定所述客户端的连接状态。
生成单元,若所述连接状态异常,用于识别异常类型,生成异常消息。
在本实施例中,通过监听各个客户端发送的心跳数据判断其存活状态,若某一客户端相邻的心跳数据间隔超出预设时间范围,则该客户端状态异常,若其后续心跳数据间隔符预设时间范围内,表示该客户端的网络不稳定;若预设时间范围仍未接收到某一客户端心跳数据,则表示该客户端的状态异常,需人为干预排查。
在本实施例中,数据同步装置1能够通过认证单元12对接收单元11接收的多个不同类别客户端发送同步请求进行认证,获取通过认证的同步请求中的属性信息,利用确定单元13根据属性信息从数据湖中确定与相应客户端的同步请求匹配的第一同步数据,以达到针对不同的客户端从数据湖中选择不同的第一同步数据的目的,采用同步单元14根据该同步类型从第一同步数据中获取第二同步数据,以便于将第二同步数据转发送至客户端,实现可针对不同的客户端同步与不同数据的目的。
本实施例的数据同步装置1支持同网络、跨网络、多客户端、多版本同步;还可具有备份、容错等机制;数据同步过程发生常规异常时,可自动恢复同步过程,或者由客户端发起数据重发请求;支持多客户端并发数据同步;支持数据同步过程中根据配置进行同步数据权限(客户端级别)过滤(表级、列级);可进行参数配置与管理,且具备较强的扩展配置能力;支持增量推送模式下删除部分数据;突出强服务端管控,弱化客户端数据同步管理;保证数据传输过程加密;支持数据湖数据加工完成后,根据同步策略自动同步到已授权客户端的数据库;在保证下发数据质量的前提下缩减数据同步规模。
实施例三
为实现上述目的,本发明还提供一种计算机设备2,该计算机设备2包括多个计算机设备2,实施例二的数据同步装置1的组成部分可分散于不同的计算机设备2中,计算机设备2可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备2至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器23、网络接口22以及数据同步装置1(参考图4)。需要指出的是,图4仅示出了具有组件-的计算机设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例一的数据同步方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器23在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器23通常用于控制计算机设备2的总体操作例如执行与所述计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器23用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述的数据同步装置1等。
所述网络接口22可包括无线网络接口或有线网络接口,该网络接口22通常用于在所述计算机设备2与其他计算机设备2之间建立通信连接。例如,所述网络接口22用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据同步装置1还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器23)所执行,以完成本发明。
实施例四
为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器23执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据同步装置1,被处理器23执行时实现实施例一的数据同步方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据同步方法,应用于服务端,其特征在于,包括:
接收与所述服务端关联的至少一个客户端发送的同步请求;
对所述同步请求进行认证,若所述同步请求通过认证,获取所述同步请求中的属性信息,所述属性信息包括同步类型;
根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据;
基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端。
2.根据权利要求1所述的数据同步方法,其特征在于,所述属性信息还包括:所述客户端的版本、所述客户端的级别和所述客户端的有效期限;
所述根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据,包括:
根据所述客户端的版本从所述数据湖中选择同步数据的版本,所述同步数据的版本高于所述客户端的版本;
根据所述客户端的级别从所述数据湖中选择与相应级别对应的所述同步数据的范围;
根据所述客户端的有效期限确定所述同步数据的有效期限;
根据所述同步数据的版本、所述同步数据的范围和所述同步数据的范围生成所述第一同步数据。
3.根据权利要求1所述的数据同步方法,其特征在于,所述同步类型包括全量类同步、增量类同步和增改增量类同步;
所述基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端,包括:
识别所述同步类型;
当所述同步类型为全量类同步时,将所述第一同步数据作为所述第二同步数据,将所述第二同步数据转发送至所述客户端;
当所述同步类型为增量类同步时,从所述第一同步数据中确定与所述客户端当前数据不同的第三同步数据,将所述第三同步数据作为所述第二同步数据转发送至所述客户端;
当所述同步类型为增量类同步时,在所述第一同步数据中以第一预设时间为周期,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,将所述第四同步数据作为所述第二同步数据转发送至所述客户端。
4.根据权利要求3所述的数据同步方法,其特征在于,确定所述第一同步数据中所有相邻两个周期之间不同的第四同步数据,包括:
采用信息摘要算法比对所述第一同步数据中所有相邻两个周期之间的不同的数据,以确定所述第四同步数据。
5.根据权利要求1或3所述的数据同步方法,其特征在于,所述基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端,包括:
将获取的所述第二同步数据进行压缩和加密处理后转发送至所述客户端。
6.根据权利要求1所述的数据同步方法,其特征在于,所述基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端,之后还包括:
监听与所述服务端关联的各个所述客户端的连接状态;
若所述连接状态异常,识别异常类型,生成异常消息。
7.根据权利要求6所述的数据同步方法,其特征在于,所述监听与所述服务端关联的各个所述客户端的连接状态,包括:
获取与所述服务端关联的各个所述客户端发送的心跳数据,根据所述心跳数据确定所述客户端的连接状态。
8.一种数据同步装置,应用于服务端,其特征在于,包括:
接收单元,用于接收与所述服务端关联的至少一个客户端发送的同步请求;
认证单元,用于对所述同步请求进行认证,若所述同步请求通过认证,获取所述同步请求中的属性信息,所述属性信息包括同步类型;
确定单元,用于根据所述属性信息从数据湖中确定与所述同步请求匹配的第一同步数据;
同步单元,用于基于所述同步类型从所述第一同步数据中获取第二同步数据,将获取的所述第二同步数据转发送至所述客户端。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210363266.7A CN114726872A (zh) | 2022-04-07 | 2022-04-07 | 数据同步方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210363266.7A CN114726872A (zh) | 2022-04-07 | 2022-04-07 | 数据同步方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114726872A true CN114726872A (zh) | 2022-07-08 |
Family
ID=82241356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210363266.7A Pending CN114726872A (zh) | 2022-04-07 | 2022-04-07 | 数据同步方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726872A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527692A (zh) * | 2023-06-29 | 2023-08-01 | 广东维信智联科技有限公司 | 一种基于互联网的合同文件云同步方法 |
CN117354069A (zh) * | 2023-12-06 | 2024-01-05 | 自然资源陕西省卫星应用技术中心 | 一种基于数据湖的遥感数据管理系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426403A (zh) * | 2015-10-30 | 2016-03-23 | 努比亚技术有限公司 | 书签同步方法及装置 |
CN107704607A (zh) * | 2017-10-17 | 2018-02-16 | 武汉楚鼎信息技术有限公司 | 一种数据库数据同步的方法 |
CN109194711A (zh) * | 2018-07-27 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 一种组织架构的同步方法、客户端、服务端及介质 |
CN110795496A (zh) * | 2018-08-02 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置及系统 |
CN114185489A (zh) * | 2021-12-02 | 2022-03-15 | 中国电信股份有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
-
2022
- 2022-04-07 CN CN202210363266.7A patent/CN114726872A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426403A (zh) * | 2015-10-30 | 2016-03-23 | 努比亚技术有限公司 | 书签同步方法及装置 |
CN107704607A (zh) * | 2017-10-17 | 2018-02-16 | 武汉楚鼎信息技术有限公司 | 一种数据库数据同步的方法 |
CN109194711A (zh) * | 2018-07-27 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 一种组织架构的同步方法、客户端、服务端及介质 |
CN110795496A (zh) * | 2018-08-02 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置及系统 |
CN114185489A (zh) * | 2021-12-02 | 2022-03-15 | 中国电信股份有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527692A (zh) * | 2023-06-29 | 2023-08-01 | 广东维信智联科技有限公司 | 一种基于互联网的合同文件云同步方法 |
CN116527692B (zh) * | 2023-06-29 | 2023-11-10 | 广东维信智联科技有限公司 | 一种基于互联网的合同文件云同步方法 |
CN117354069A (zh) * | 2023-12-06 | 2024-01-05 | 自然资源陕西省卫星应用技术中心 | 一种基于数据湖的遥感数据管理系统及方法 |
CN117354069B (zh) * | 2023-12-06 | 2024-02-13 | 自然资源陕西省卫星应用技术中心 | 一种基于数据湖的遥感数据管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11606352B2 (en) | Time-based one time password (TOTP) for network authentication | |
US10581847B1 (en) | Blockchain-backed device and user provisioning | |
US11196745B2 (en) | Blockchain-based account management | |
US10764047B2 (en) | Synchronizable hardware security module | |
US9621355B1 (en) | Securely authorizing client applications on devices to hosted services | |
US9692757B1 (en) | Enhanced authentication for secure communications | |
US11343081B2 (en) | Synchronizable hardware security module | |
US11196561B2 (en) | Authorized data sharing using smart contracts | |
EP2924948A1 (en) | External indexing and search for a secure cloud collaboration system | |
KR20180002803A (ko) | 보안 동기화 시스템에서의 유효하지 않은 참가자들의 자동 식별 | |
US20130339736A1 (en) | Periodic platform based web session re-validation | |
JP2004206695A (ja) | クライアントセッションフェイルオーバーを提供する方法および構造 | |
CN114726872A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
US10171240B2 (en) | Accessing resources in private networks | |
US10887294B2 (en) | Synchronizable hardware security module | |
US10187360B2 (en) | Method, system, server, client, and application for sharing digital content between communication devices within an internet network | |
CN108289074B (zh) | 用户账号登录方法及装置 | |
CN111405016B (zh) | 用户信息获取方法及相关设备 | |
CN112235301B (zh) | 访问权限的验证方法、装置和电子设备 | |
US10791119B1 (en) | Methods for temporal password injection and devices thereof | |
CN114629648A (zh) | 基于双栈密码的数据托管方法及装置 | |
US10931662B1 (en) | Methods for ephemeral authentication screening and devices thereof | |
CN109587098B (zh) | 一种认证系统和方法、授权服务器 | |
EP2592807B1 (en) | Timestamp-Based Token Revocation | |
CN110837373A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20220708 |
|
WD01 | Invention patent application deemed withdrawn after publication |