CN114138895A - 多数据源的数据同步方法、装置、计算机设备和存储介质 - Google Patents
多数据源的数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114138895A CN114138895A CN202111297958.8A CN202111297958A CN114138895A CN 114138895 A CN114138895 A CN 114138895A CN 202111297958 A CN202111297958 A CN 202111297958A CN 114138895 A CN114138895 A CN 114138895A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- service
- service data
- result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种多数据源的数据同步方法、装置、计算机设备和存储介质。所述方法包括:将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;等待预设查询间隔后,向数据平台发送第一查询请求;数据平台返回的基于第一查询请求查询的同步结果;基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。采用本方法能够实现当多数据源同时同步大批量数据时,进行高效的数据同步操作。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种多数据源数据同步方法、装置、计算机设备和存储介质。
背景技术
随着网络通信技术的发展,信息交互越来越重要,数据同步可以提高数据的准确性,确保每个数据源与其不同端点之间的一致性。
传统数据同步的方案中,数据源端向数据平台发送数据同步请求时,需要等待数据平台对同步数据进行逻辑处理,然后数据平台将同步结果返回给数据源端。当有多个数据源端向数据平台发送数据同步请求时,数据平台需要针对每一个请求去开辟内存进行逻辑处理,当数据源端数量越多,内存消耗就越多;而且在数据同步完成后,各数据源端向数据平台发送同步结果查询请求,进一步影响数据平台的数据处理压力,导致数据同步效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够进行高效数据同步的多数据源的数据同步方法、装置、计算机设备和存储介质。
一种多数据源的数据同步方法,所述方法包括:
将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各所述业务数据的数据平台将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
在等待预设查询间隔后,向所述数据平台发送第一查询请求;
接收所述数据平台返回的基于所述第一查询请求查询的同步结果;
基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
在其中一个实施例中,所述将多个数据类型的业务数据采用不同的数据通道进行发送之后,还包括:
将所述业务数据的数据发送状态修改为已发送;
接收所述数据平台发送的用于表示是否接收到所述业务数据的结果信息;
拒绝基于所述结果信息对已修改的所述数据发送状态进行调整。
在其中一个实施例中,所述将各所述业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果包括:
将各所述业务数据存放于数据池;
根据处理所述业务数据的处理效率确定数据处理的时间间隔;
基于所述时间间隔从所述数据池中读取预设数量的业务数据;
将所述业务数据同步到数据库,得到同步结果。
在其中一个实施例中,所述方法应用于数据源端;所述第一查询请求携带数据源端标识;
所述接收所述数据平台返回的基于所述同步结果查询请求查询的同步结果包括:
接收所述数据平台返回的基于所述数据源端标识查询的目标业务数据的同步结果;所述目标业务数据是所述数据源端发送的业务数据,且所述数据平台在完成数据同步后未向所述数据源端发送所述目标业务数据的同步结果。
在其中一个实施例中,所述方法还包括:
在向所述数据平台发送第一查询请求之后,实时监听所述数据平台返回的同步结果;
若在预设时长后未接收到所述第一查询请求所请求的同步结果,则向所述数据平台发送携带数据源端标识和业务数据标识的第二查询请求;
接收所述数据平台返回的基于所述第二查询请求携带的数据源端标识和业务数据标识获取的同步结果;
其中,所述业务数据标识为所述未收到所述第一查询请求所请求的业务数据的数据标识。
在其中一个实施例中,所述接收所述数据平台返回的基于所述第一查询请求查询的同步结果包括:
接收所述数据平台基于所述第一查询请求从存储的同步结果表中查询的同步结果;
其中,所述同步结果包括同步成功,或同步失败和失败原因。
在其中一个实施例中,所述基于所述同步结果对所述业务数据的数据同步标识进行更新包括:
当所述数据同步标识表示所述业务数据同步失败时,将所述业务数据的数据发送状态修改为未发送,并将所述业务数据的数据同步标识修改为同步失败;
当所述数据同步标识表示所述业务数据同步成功时,将所述业务数据的数据同步标识更新为同步成功。
一种多数据源的数据同步系统,所述系统包括:
至少两个数据源,用于将多个数据类型的业务数据采用不同的数据通道进行发送;
数据平台,用于将接收到的各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
所述至少两个数据源,还用于在等待预设查询间隔后,向所述数据平台发送第一查询请求;
所述数据平台,还用于基于所述第一查询请求查询同步结果;
所述至少两个数据源,还用于接收所述同步结果,基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
一种多数据源的数据同步方法,所述方法包括:
接收数据源发送的业务数据,将所述业务数据存放于数据池;
在等待预设读取间隔后,按照业务优先级读取业务数据进行数据同步,得到同步结果;
接收所述数据源发送的第一查询请求,返回基于所述第一查询请求查询的同步结果。
在其中一个实施例中,所述将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据包括:将各所述业务数据存放于数据池;根据处理所述业务数据的处理效率确定数据处理的时间间隔;基于所述时间间隔从所述数据池中读取预设数量的业务数据;将所述业务数据同步到数据库,得到同步结果。
一种多数据源的数据同步装置,所述装置包括:
发送模块,用于将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各所述业务数据的数据平台将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
查询模块,用于在等待预设查询间隔后,向所述数据平台发送第一查询请求;
接收模块,用于接收所述数据平台返回的基于所述第一查询请求查询的同步结果;
更新模块,用于基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
在其中一个实施例中,所述更新模块,还用于将所述业务数据的数据发送状态修改为已发送;接收所述数据平台发送的用于表示是否接收到所述业务数据的结果信息;拒绝基于所述结果信息对已修改的所述数据发送状态进行调整。
在其中一个实施例中,所述装置还包括:
控制模块,用于指示数据平台将各所述业务数据存放于数据池;根据处理所述业务数据的处理效率确定数据处理的时间间隔;基于所述时间间隔从所述数据池中读取预设数量的业务数据。
在其中一个实施例中,所述方法应用于数据源端;所述第一查询请求携带数据源端标识;
所述接收模块,还用于接收所述数据平台返回的基于所述数据源端标识查询的目标业务数据的同步结果;所述目标业务数据是所述数据源端发送的业务数据,且所述数据平台在完成数据同步后未向所述数据源端发送所述目标业务数据的同步结果。
在其中一个实施例中,所述接收模块,还用于在向所述数据平台发送第一查询请求之后,实时监听所述数据平台返回的同步结果;若在预设时长后未接收到所述第一查询请求所请求的同步结果,则向所述数据平台发送携带数据源端标识和业务数据标识的第二查询请求;接收所述数据平台返回的基于所述第二查询请求携带的数据源端标识和业务数据标识获取的同步结果;其中,所述业务数据标识为所述未收到所述第一查询请求所请求的业务数据的数据标识。
在其中一个实施例中,所述接收模块,还用于接收所述数据平台基于所述第一查询请求从存储的同步结果表中查询的同步结果;其中,所述同步结果包括同步成功,或同步失败和失败原因。
在其中一个实施例中,所述更新模块,还用于当所述数据同步标识表示所述业务数据同步失败时,将所述业务数据的数据发送状态修改为未发送,并将所述业务数据的数据同步标识修改为同步失败;当所述数据同步标识表示所述业务数据同步成功时,将所述业务数据的数据同步标识更新为同步成功。
一种多数据源的数据同步装置,所述装置包括:
接收模块,用于接收数据源端采用不同的数据通道发送的多个数据类型的业务数据;
读取模块,用于将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
所述接收模块,还用于接收所述数据源端在等待预设查询间隔后发送的第一查询请求;
查询模块,用于基于所述第一查询请求查询的同步结果,并向所述数据源端返回所述同步结果,以使所述数据源端基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
在其中一个实施例中,所述读取模块,还用于将各所述业务数据存放于数据池;根据处理所述业务数据的处理效率确定数据处理的时间间隔;基于所述时间间隔从所述数据池中读取预设数量的业务数据;将所述业务数据同步到数据库,得到同步结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述多数据源的数据同步方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述多数据源的数据同步方法的步骤。
上述多数据源的数据同步方法、装置、计算机设备和存储介质,通过将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;在等待预设查询间隔后,向数据平台发送第一查询请求;接收数据平台返回的基于第一查询请求查询的同步结果;基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。将业务数据分别采用合适的数据通道进行发送,可以提高传输数据的效率;数据平台通过数据池接收业务数据,定时处理业务数据,可以合理利用内存,避免内存泄露,并且等待时间间隔后再向数据平台发送同步结果查询请求,错开了数据平台的同步高峰,减少了数据处理的压力,提高了业务数据处理效率。因此,当多数据源同时同步大批量数据时,可以实现高效的数据同步操作。
附图说明
图1为一个实施例中多数据源的数据同步方法的应用环境图;
图2为一个实施例中多数据源的数据同步方法的流程示意图;
图3为一个实施例中多数据源同时同步大批量数据操作的示意图;
图4为一个实施例中采用不同数据通道的示意图;
图5为一个实施例中发送查询请求的示意图;
图6为一个实施例中数据平台读取业务数据的流程示意图;
图7为另一个实施例中多数据源的数据同步方法的流程示意图;
图8为一个实施例中多数据源的数据同步装置的结构框图;
图9为另一个实施例中多数据源的数据同步装置的结构框图;
图10为另一个实施例中多数据源的数据同步装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的多数据源的数据同步方法,可以应用于如图1所示的应用环境中。在该应用环境中,包括数据源端102和数据平台104。
数据源端102将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台104将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;在等待预设查询间隔后,向数据平台104发送第一查询请求;数据源端102接收数据平台返回的基于第一查询请求查询的同步结果;基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。
其中,数据源端102可以是终端,例如是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
数据平台104可以是独立的物理服务器,也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。
此外,数据平台104还可以是多个物理服务器构成的服务器集群,可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
数据源端102与数据平台104之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种多数据源的数据同步方法,以该方法应用于图1中的数据源端为例进行说明,包括以下步骤:
S202,将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果。
其中,业务数据的类型可以为文本类型、数字类型和时间类型等,业务数据具体可以表现为商品信息,包括商品标识、商品价格、商品库存量以及商品图片的储存地址等。
此外,优先级可以按照业务数据的紧急程度进行划分。比如,优先级可以按照时间先后进行划分,存入数据池的业务数据携带了时间戳,该时间戳记录了业务数据请求同步的时间,业务数据上的请求同步时间越早,数据平台就会优先对该业务数据进行同步。
此外,如图3所示,数据源端可以为多个,多个数据源端可以同时向数据平台发送大批量的业务数据。
在一个实施例中,数据源端将多个数据类型的业务数据采用不同的数据通道进行发送之后,将业务数据的数据发送状态修改为已发送;接收数据平台发送的用于表示是否接收到业务数据的结果信息;拒绝基于结果信息对已修改的数据发送状态进行调整。
例如,当大批量的待同步业务数据在数据通道传输过程中发生了数据包丢失,此时数据平台在接收到部分业务数据后,会发送结果信息到数据源端,表示其未收到所有的需要同步的业务数据。在数据源端接收到该结果信息后,不会对该结果信息进行处理,也不会对应修改需要同步的业务数据的发送状态。
在一个实施例中,如图4所示,数据源端将业务数据按不同数据类型进行分类,根据业务数据的类别确定传输通道,向数据平台进行数据传输。例如文本数据等轻量级数据采用HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议,文件数据等较大的数据采用TCP(Transmission Control Protocol,传输控制协议)协议。
S204,在等待预设查询间隔后,向数据平台发送第一查询请求。
其中,预设的查询间隔可以是几秒钟、几分钟、或其他间隔时间。第一查询请求携带数据源端标识,该数据源端标识可以是数字标识、字母标识、文字标识或是数字和字母的混合标识等。数据平台可以根据这个数据源端标识检索到该数据源端所有请求同步的业务数据的同步结果。比如,数据源端预设了查询间隔为30分钟,在将多个数据类型的业务数据采用不同的数据通道进行发送的30分钟之后,数据源端会发送携带该数据源端标识的第一查询请求到数据平台。
在一个实施例中,如图5所示,数据源端可以多次向数据平台发送第一查询请求,当数据源端没有接收到所有请求同步的业务数据的同步结果,可以每隔预设时间间隔,向数据平台发送第一查询请求。
例如,数据源端预设发送时间间隔为30分钟,当数据源端第一次向数据平台发送第一查询请求后,只接收到部分请求同步的业务数据的同步结果,那么数据源端会在接收到同步结果的30分钟后,再次发送第一查询请求。
S206,接收数据平台返回的基于第一查询请求查询的同步结果。
在一个实施例中,数据源端接收数据平台返回的基于数据源端标识查询的目标业务数据的同步结果;目标业务数据是数据源端发送的业务数据,且数据平台在完成数据同步后未向数据源端发送目标业务数据的同步结果。
在一个实施例中,数据平台发送业务数据的同步结果后,会更新业务数据同步结果中的发送状态,将发送状态修改为已发送。当数据源端再次发送第一查询请求时,发送状态为已发送的业务数据的同步结果不会再次发送。
例如,数据源端发送了三个待同步的业务数据,当数据平台接收到数据源端的第一查询请求后,数据平台会对第一查询请求中的数据源端标识进行检索,此时发现只有第一个和第二个业务数据已处理,数据平台会将这两个已处理的业务数据的同步结果发送到该数据源端,并将这两个业务数据同步结果中的发送状态修改为已发送。当数据平台再次接收到该数据源端的第一查询请求时,数据平台会根据该数据源端标识再次进行检索,当发现第三个业务数据已处理完成时,数据平台只会发送第三个业务数据的同步结果,之前两个已发送同步结果的业务数据不会再次发送。
在一个实施例中,数据源端实时监听数据平台返回的同步结果;若在预设时长后未接收到第一查询请求所请求的同步结果,则向数据平台发送携带数据源端标识和业务数据标识的第二查询请求;接收数据平台返回的基于第二查询请求携带的数据源端标识和业务数据标识获取的同步结果。其中,业务数据标识为未收到第一查询请求所请求的业务数据的数据标识,业务数据的数据标识可以是数字标识、字母标识、文字标识或是数字和字母的混合标识等。
例如,数据源预设了时长为24小时,当数据源端接收到数据平台响应第一查询请求返回的同步结果后,还未对同步结果进行处理时,数据源端发生了断电,造成该同步结果丢失。恢复电源的数据源端会认为未接收到该同步结果,从而持续向数据平台发送第一查询请求。当数据源端第一次发送第一查询请求24小时后,仍未收到所有业务数据的同步结果,数据源端会发送携带数据源端标识和业务数据标识的第二查询请求。
在一个实施例中,数据源端接收数据平台基于第一查询请求从存储的同步结果表中查询的同步结果;其中,同步结果包括同步成功,或同步失败和失败原因。
S208,基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。
在一个实施例中,当数据同步标识表示业务数据同步失败时,数据源端将业务数据的数据发送状态修改为未发送,并将业务数据的数据同步标识修改为同步失败;当数据同步标识表示业务数据同步成功时,数据源端将业务数据的数据同步标识更新为同步成功。
在一个实施例中,当数据同步标识表示业务数据同步失败时,数据源端会根据返回的同步结果中的失败原因,对同步失败的业务数据进行更新,更新完毕后,再次发送该业务数据。例如,当失败原因为数据源端所发送的待同步业务数据的格式不满足数据平台的要求时,数据源端会根据这个失败原因,对待同步的业务数据的格式进行修改,修改完成后,将该业务数据再次发送到数据平台。
上述多数据源的数据同步方法中,通过将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;在等待预设查询间隔后,向数据平台发送第一查询请求;接收数据平台返回的基于第一查询请求查询的同步结果;基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。将业务数据分别采用合适的数据通道进行发送,可以提高传输数据的效率;数据平台通过数据池接收业务数据,定时处理业务数据,可以合理利用内存,避免内存泄露,并且等待时间间隔后再向数据平台发送同步结果查询请求,错开了数据平台的同步高峰,减少了数据处理的压力,提高了业务数据处理效率。因此,当多数据源同时同步大批量数据时,可以实现高效的数据同步操作。
在一个实施例中,如图6所示,S202,该方法包括:
S602,数据平台将各业务数据存放于数据池。
其中,数据池可以为消息队列,消息队列可以使用RabbitMQ、ActiveMQ和Kafka等消息系统。消息队列在分布式系统下实现进程间的数据传递。该数据传递指的是数据源端和数据平台之间通过在消息中发送业务数据进行通信,而不是通过直接调用彼此的进程来进行通信。
S604,根据处理业务数据的处理效率确定数据处理的时间间隔。
其中,处理效率指的是数据平台在系统不奔溃的前提下,在一段时间内,最多可以处理的业务数据的个数。数据平台会每隔一个时间间隔在数据池中读取业务数据。
S606,基于时间间隔从数据池中读取预设数量的业务数据,将所述业务数据同步到数据库,得到同步结果。
在一个实施例中,基于时间间隔和数据平台的对业务数据的处理效率,数据平台预设了读取业务数据的数量,例如,数据平台对业务数据的处理效率为每分钟最多只能处理1000个业务数据,那么数据平台可以将时间间隔设置为1分钟,每次读取的业务数据设置为1000个。数据平台会每次在数据池中读取1000个业务数据,间隔1分钟后,数据平台会再次读取1000个数据池中的业务数据。
本实施例中,通过设置数据处理的时间间隔和从数据池中读取预设数量的业务数据,可以控制数据平台处理业务数据的效率,保证数据平台在适当的压力下高效运转。
在一个实施例中,如图7所示,提供了一种多数据源的数据同步方法。本实施例主要以该方法应用于上述图1中的数据平台104来举例说明。参照图7,该多数据源的数据同步方法具体包括如下步骤:
S702,接收数据源端采用不同的数据通道发送的多个数据类型的业务数据。
S704,将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果。
在一个实施例中,将各所述业务数据存放于数据池;根据处理所述业务数据的处理效率确定数据处理的时间间隔;基于所述时间间隔从所述数据池中读取预设数量的业务数据;将所述业务数据同步到数据库,得到同步结果。
S706,接收数据源端在等待预设查询间隔后发送的第一查询请求。
S708,基于第一查询请求查询的同步结果,并向数据源端返回同步结果,以使数据源端基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。
S701-S708的具体步骤可以参考图2中的步骤S202-S208。
上述多数据源的数据同步方法,通过接收数据源端采用不同的数据通道发送的多个数据类型的业务数据,将各业务数据存放于数据池,可以减少对业务数据处理的逻辑步骤;并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;可以合理利用内存,避免内存泄露,因此,当多数据源同时同步大批量数据时,可以实现高效的数据同步操作。
应该理解的是,虽然图2、6、7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、6、7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种多数据源的数据同步装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:发送模块802、查询模块804、接收模块806和更新模块808,其中:
发送模块802,用于将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果。
查询模块804,用于在等待预设查询间隔后,向数据平台发送第一查询请求。
接收模块806,用于接收数据平台返回的基于第一查询请求查询的同步结果。
更新模块808,用于基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。上述实施例中,通过将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各业务数据的数据平台将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;在等待预设查询间隔后,向数据平台发送第一查询请求;接收数据平台返回的基于第一查询请求查询的同步结果;基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。将业务数据分别采用合适的数据通道进行发送,可以提高传输数据的效率;数据平台通过数据池接收业务数据,定时处理业务数据,可以合理利用内存,避免内存泄露,并且等待时间间隔后再向数据平台发送同步结果查询请求,错开了数据平台的同步高峰,减少了数据处理的压力,提高了业务数据处理效率。因此,当多数据源同时同步大批量数据时,可以实现高效的数据同步操作。
在其中一个实施例中,更新模块808,还用于将业务数据的数据发送状态修改为已发送;接收数据平台发送的用于表示是否接收到业务数据的结果信息;拒绝基于结果信息对已修改的数据发送状态进行调整。
在其中一个实施例中,如图9所示,装置还包括:
控制模块810,用于指示数据平台将各业务数据存放于数据池;根据处理业务数据的处理效率确定数据处理的时间间隔;基于时间间隔从数据池中读取预设数量的业务数据;将业务数据同步到数据库,得到同步结果。
在其中一个实施例中,第一查询请求携带数据源端标识;接收模块706,还用于接收数据平台返回的基于数据源端标识查询的目标业务数据的同步结果;目标业务数据是数据源端发送的业务数据,且数据平台在完成数据同步后未向数据源端发送目标业务数据的同步结果。
在其中一个实施例中,接收模块806,还用于在向数据平台发送第一查询请求之后,实时监听数据平台返回的同步结果;若在预设时长后未接收到第一查询请求所请求的同步结果,则向数据平台发送携带数据源端标识和业务数据标识的第二查询请求;接收数据平台返回的基于第二查询请求携带的数据源端标识和业务数据标识获取的同步结果;其中,业务数据标识为未收到第一查询请求所请求的业务数据的数据标识。
在其中一个实施例中,接收模块806,还用于接收数据平台基于第一查询请求从存储的同步结果表中查询的同步结果;其中,同步结果包括同步成功,或同步失败和失败原因。
在其中一个实施例中,更新模块808,还用于当数据同步标识表示业务数据同步失败时,将业务数据的数据发送状态修改为未发送,并将业务数据的数据同步标识修改为同步失败;当数据同步标识表示业务数据同步成功时,将业务数据的数据同步标识更新为同步成功。
如图10所示,在一个实施例中,提供了一种多数据源的数据同步装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:接收模块1002、读取模块1004和查询模块1006,其中:
接收模块1002,用于接收数据源端采用不同的数据通道发送的多个数据类型的业务数据;
读取模块1004,用于将各业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
接收模块1002,还用于接收数据源端在等待预设查询间隔后发送的第一查询请求;
查询模块1006,用于基于第一查询请求查询的同步结果,并向数据源端返回同步结果,以使数据源端基于同步结果对业务数据的数据同步标识进行更新,数据同步标识表示业务数据是否同步成功。
在其中一个实施例中,读取模块1004,还用于将各业务数据存放于数据池;根据处理业务数据的处理效率确定数据处理的时间间隔;基于时间间隔从数据池中读取预设数量的业务数据;将所述业务数据同步到数据库,得到同步结果。
上述多数据源的数据同步装置,通过接收数据源发送的业务数据,将业务数据存放于数据池,可以减少对业务数据处理的逻辑步骤;在等待预设读取间隔后,按照业务优先级读取业务数据进行数据同步,得到同步结果;可以合理利用内存,避免内存泄露,因此,当多数据源同时同步大批量数据时,可以实现高效的数据同步操作。
关于多数据源的数据同步装置的具体限定可以参见上文中对于多数据源的数据同步方法的限定,在此不再赘述。上述多数据源的数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是数据源端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的数据源端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种多数据源的数据同步方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种多数据源的数据同步方法,其特征在于,所述方法包括:
将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各所述业务数据的数据平台将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
在等待预设查询间隔后,向所述数据平台发送第一查询请求;
接收所述数据平台返回的基于所述第一查询请求查询的同步结果;
基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
2.根据权利要求1所述的方法,其特征在于,所述将多个数据类型的业务数据采用不同的数据通道进行发送之后,还包括:
将所述业务数据的数据发送状态修改为已发送;
接收所述数据平台发送的用于表示是否接收到所述业务数据的结果信息;
拒绝基于所述结果信息对已修改的所述数据发送状态进行调整。
3.根据权利要求1所述的方法,其特征在于,所述将各所述业务数据存放于数据池,并从数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果包括:
将各所述业务数据存放于数据池;
根据处理所述业务数据的处理效率确定数据处理的时间间隔;
基于所述时间间隔从所述数据池中读取预设数量的业务数据;
将所述业务数据同步到数据库,得到同步结果。
4.根据权利要求1所述的方法,其特征在于,所述方法应用于数据源端;所述第一查询请求携带数据源端标识;
所述接收所述数据平台返回的基于所述同步结果查询请求查询的同步结果包括:
接收所述数据平台返回的基于所述数据源端标识查询的目标业务数据的同步结果;所述目标业务数据是所述数据源端发送的业务数据,且所述数据平台在完成数据同步后未向所述数据源端发送所述目标业务数据的同步结果。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在向所述数据平台发送第一查询请求之后,实时监听所述数据平台返回的同步结果;
若在预设时长后未接收到所述第一查询请求所请求的同步结果,则向所述数据平台发送携带数据源端标识和业务数据标识的第二查询请求;
接收所述数据平台返回的基于所述第二查询请求携带的数据源端标识和业务数据标识获取的同步结果;
其中,所述业务数据标识为所述未收到所述第一查询请求所请求的业务数据的数据标识。
6.根据权利要求1所述的方法,其特征在于,所述接收所述数据平台返回的基于所述第一查询请求查询的同步结果包括:
接收所述数据平台基于所述第一查询请求从存储的同步结果表中查询的同步结果;
其中,所述同步结果包括同步成功,或同步失败和失败原因。
7.根据权利要求1所述的方法,其特征在于,所述基于所述同步结果对所述业务数据的数据同步标识进行更新包括:
当所述数据同步标识表示所述业务数据同步失败时,将所述业务数据的数据发送状态修改为未发送,并将所述业务数据的数据同步标识修改为同步失败;
当所述数据同步标识表示所述业务数据同步成功时,将所述业务数据的数据同步标识更新为同步成功。
8.一种多数据源的数据同步方法,其特征在于,所述方法包括:
接收数据源端采用不同的数据通道发送的多个数据类型的业务数据;
将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
接收所述数据源端在等待预设查询间隔后发送的第一查询请求;
基于所述第一查询请求查询的同步结果,并向所述数据源端返回所述同步结果,以使所述数据源端基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
9.根据权利要求8所述的方法,其特征在于,所述将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果包括:
将各所述业务数据存放于数据池;
根据处理所述业务数据的处理效率确定数据处理的时间间隔;
基于所述时间间隔从所述数据池中读取预设数量的业务数据;
将所述业务数据同步到数据库,得到同步结果。
10.一种多数据源的数据同步装置,其特征在于,所述装置包括:
发送模块,用于将多个数据类型的业务数据采用不同的数据通道进行发送,以使接收各所述业务数据的数据平台将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
查询模块,用于在等待预设查询间隔后,向所述数据平台发送第一查询请求;
接收模块,用于接收所述数据平台返回的基于所述第一查询请求查询的同步结果;
更新模块,用于基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
11.一种多数据源的数据同步装置,其特征在于,所述装置包括:
接收模块,用于接收数据源端采用不同的数据通道发送的多个数据类型的业务数据;
读取模块,用于将各所述业务数据存放于数据池,并从所述数据池中按照业务优先级读取业务数据进行数据同步,得到同步结果;
所述接收模块,还用于接收所述数据源端在等待预设查询间隔后发送的第一查询请求;
查询模块,用于基于所述第一查询请求查询的同步结果,并向所述数据源端返回所述同步结果,以使所述数据源端基于所述同步结果对所述业务数据的数据同步标识进行更新,所述数据同步标识表示所述业务数据是否同步成功。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111297958.8A CN114138895A (zh) | 2021-11-04 | 2021-11-04 | 多数据源的数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111297958.8A CN114138895A (zh) | 2021-11-04 | 2021-11-04 | 多数据源的数据同步方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138895A true CN114138895A (zh) | 2022-03-04 |
Family
ID=80392440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111297958.8A Pending CN114138895A (zh) | 2021-11-04 | 2021-11-04 | 多数据源的数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138895A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666347A (zh) * | 2022-03-23 | 2022-06-24 | 广州经传多赢投资咨询有限公司 | 一种分布式高可用数据同步方法、计算机设备及存储介质 |
-
2021
- 2021-11-04 CN CN202111297958.8A patent/CN114138895A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666347A (zh) * | 2022-03-23 | 2022-06-24 | 广州经传多赢投资咨询有限公司 | 一种分布式高可用数据同步方法、计算机设备及存储介质 |
CN114666347B (zh) * | 2022-03-23 | 2022-11-22 | 广州经传多赢投资咨询有限公司 | 一种分布式高可用数据同步方法、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102681644B1 (ko) | 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체 | |
CN103069755B (zh) | 使用多个客户端实例的即时消息传送的方法和系统 | |
CN110196843B (zh) | 一种基于容器集群的文件分发方法及容器集群 | |
CN110532077B (zh) | 任务处理方法、装置及存储介质 | |
CN101360127A (zh) | 文件更新方法及传输系统 | |
CN102006568A (zh) | 用于提供头像服务的方法、设备和系统 | |
CN112468540B (zh) | 基于云平台的数据分发方法、设备及介质 | |
CN112291364A (zh) | 一种消息推送处理方法和装置 | |
CN112351068A (zh) | 信息同步方法、系统、装置、计算机设备和存储介质 | |
CN112689012A (zh) | 跨网络的代理通讯方法及装置 | |
CN105100158A (zh) | 消息推送、获取方法及装置 | |
CN111193789A (zh) | 订阅信息推送方法、装置、计算机设备和可读存储介质 | |
CN111510493B (zh) | 分布式数据传输方法及装置 | |
CN108960801B (zh) | 基于区块链技术的交易记录管理方法、系统及存储介质 | |
CN113204378A (zh) | 配置文件状态同步方法、装置、终端、服务器和存储介质 | |
CN114138895A (zh) | 多数据源的数据同步方法、装置、计算机设备和存储介质 | |
CN114827171A (zh) | 信息同步方法、装置、计算机设备和存储介质 | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
WO2019184107A1 (zh) | 数据传输通道建立系统、方法、网络存储设备、服务器及存储介质 | |
CN109213955A (zh) | 数据处理方法及相关设备 | |
CN109088918A (zh) | 一种交互方法、客户端设备及服务端设备 | |
CN115454666A (zh) | 消息队列集群间的数据同步方法和装置 | |
KR101258990B1 (ko) | 장치관리 클라이언트로부터 객체 회수방법 및 이와 관련된 장치관리 시스템 | |
CN113824675B (zh) | 管理登录态的方法和装置 | |
CN114116889A (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 |