CN110866062B - 基于分布式集群的数据同步方法以及装置 - Google Patents

基于分布式集群的数据同步方法以及装置 Download PDF

Info

Publication number
CN110866062B
CN110866062B CN201810900342.7A CN201810900342A CN110866062B CN 110866062 B CN110866062 B CN 110866062B CN 201810900342 A CN201810900342 A CN 201810900342A CN 110866062 B CN110866062 B CN 110866062B
Authority
CN
China
Prior art keywords
data
synchronized
task
distributed
distributed cluster
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.)
Active
Application number
CN201810900342.7A
Other languages
English (en)
Other versions
CN110866062A (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.)
Cainiao Smart Logistics Holding Ltd
Original Assignee
Cainiao Smart Logistics Holding 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 Cainiao Smart Logistics Holding Ltd filed Critical Cainiao Smart Logistics Holding Ltd
Priority to CN201810900342.7A priority Critical patent/CN110866062B/zh
Publication of CN110866062A publication Critical patent/CN110866062A/zh
Application granted granted Critical
Publication of CN110866062B publication Critical patent/CN110866062B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Abstract

本申请公开了一种基于分布式集群的数据同步方法,包括:获取从数据源同步数据的数据同步配置;将待处理任务按照任务划分维度划分为至少一个任务分片;将所述任务分片分配到分布式集群中的节点上执行;按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。所述基于分布式集群的数据同步方法,通过对待处理任务进行划分,将划分后获得的细粒度的任务分片分配到分布式集群中的节点上进行执行,更加高效的利用分布式集群的计算资源,业务响应更加及时,并在此基础上将数据源的数据同步至分布式集群,提升了数据访问的实时性。

Description

基于分布式集群的数据同步方法以及装置
技术领域
本申请涉及分布式技术领域,具体涉及一种基于分布式集群的数据同步方法。本申请同时涉及一种基于分布式集群的数据同步装置,以及一种电子设备。
背景技术
随着移动互联网的飞速发展,基于移动互联网的电子商务也得到广泛普及,而这其中,物流成为决定电子商务普及和推广的重要一环,物流业务中存在一些实操业务是需要AGV(Automated Guided Vehicle)来完成,而负责调度管理AGV的AGV分拣工作台采用“云端+仓内调度系统”的架构模式,用户希望能够远程监控仓内场地内的实况,但如果每次监控都通过云端的鉴权再转调仓内调度系统,受限于云端和仓内调度系统所处的网络环境,监控的实时性较差。
同时每次用户请求都会经过仓内调度系统,因此为了在不影响分拣调度业务的前提下为用户提供好查询服务,要求仓内调度系统的机器性能较好,才能在不影响分拣调度业务的前提下为用户提供好查询服务,当查询的用户较多时不具备弹性拓容的能力,云端的管控力较弱。
目前,现有技术采用消息推送的方式进行最终状态全量同步快照,即仓内调度系统的数据发生变更的时候,需要做数据变更的合并,而在AGV分拣场地的业务场景下,数据变更很频繁,很多数据变更导致的合并都是冗余的,会造成很大的资源浪费,数据变更的合并同时也带来不必要的复杂度。
发明内容
本申请提供一种基于分布式集群的数据同步方法,以解决现有技术存在的缺陷。本申请同时涉及一种基于分布式集群的数据同步装置,以及一种电子设备。
本申请提供一种基于分布式集群的数据同步方法,包括:
获取从数据源同步数据的数据同步配置;
将待处理任务按照任务划分维度划分为至少一个任务分片;
将所述任务分片分配到分布式集群中的节点上执行;
按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
可选的,所述按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据步骤执行后,执行如下操作:
将所述待同步数据存储至分布式存储中。
可选的,所述分布式存储中存储有所述待同步数据对应的租约;其中,所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
可选的,所述基于分布式集群的数据同步方法,包括:
接收用户查询请求;
确定所述用户查询请求对应的数据块;
在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
可选的,所述基于分布式集群的数据同步方法,包括:
在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,对所述分布式存储中存储的所述待同步数据对应的租约进行续约;
并且,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
可选的,所述数据同步配置由配置中间件采用轮询的方式进行推送,所述数据同步配置包括轮询时间间隔;相应的,所述按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据,采用如下方式实现:
按照所述轮询时间间隔,从所述数据源拉取执行所述任务分片所需的所述待同步数据。
可选的,所述用户查询请求基于查询链路进行传输,所述待同步数据基于同步链路进行传输;且所述查询链路与所述同步链路采用并行处理。
可选的,所述任务分片常驻在对应的节点上执行,所述节点上配置用于维护当前节点上数据版本的分布式锁和/或版本标识;其中,所述节点与所述分布式锁和/或所述版本标识具有一一对应关系。
可选的,所述基于分布式集群的数据同步方法,包括:
检测所述分布式集群是否发生变化,若是,按照所述场地维度重新划分所述待处理任务的新任务分片;将所述新任务分片分配到变化后的所述分布式集群中的节点上执行。
可选的,所述任务划分维度,包括下述至少一项:数据源对应场地的场地维度,业务类型维度。
可选的,所述分布式存储采用key-value存储所述待同步数据。
可选的,所述将待处理任务按照任务划分维度划分为至少一个任务分片步骤,基于所述分布式集群中的任一节点实现,相应的,所述将所述任务分片分配到分布式集群中的节点上执行步骤,基于所述分布式集群的调度中间件执行。
可选的,所述分布式集群、所述调度中间件和/或所述配置中间件部署在云端当中。
本申请还提供一种基于分布式集群的数据同步装置,包括:
数据同步配置获取单元,用于获取从数据源同步数据的数据同步配置;
任务分片划分单元,用于将待处理任务按照任务划分维度划分为至少一个任务分片;
任务分片分配单元,用于将所述任务分片分配到分布式集群中的节点上执行;
待同步数据同步单元,用于按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
可选的,所述基于分布式集群的数据同步装置,包括:
待同步数据存储单元,用于将所述待同步数据存储至分布式存储中。
可选的,所述分布式存储中存储有所述待同步数据对应的租约;其中,所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
可选的,所述基于分布式集群的数据同步装置,包括:
用户查询请求接收单元,用于接收用户查询请求;
数据块确定单元,用于确定所述用户查询请求对应的数据块;
查询结果返回单元,用于在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
可选的,所述基于分布式集群的数据同步装置,包括:
用户查询请求检测单元,用于在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,运行续约单元,用于对所述分布式存储中存储的所述待同步数据对应的租约进行续约;
并且,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
本申请还提供一种电子设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取从数据源同步数据的数据同步配置;
将待处理任务按照任务划分维度划分为至少一个任务分片;
将所述任务分片分配到分布式集群中的节点上执行;
按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
本申请提供的所述基于分布式集群的数据同步方法,包括:获取从数据源同步数据的数据同步配置;将待处理任务按照任务划分维度划分为至少一个任务分片;将所述任务分片分配到分布式集群中的节点上执行;按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
本申请提供的所述基于分布式集群的数据同步方法,通过对待处理任务进行划分,将划分后获得的细粒度的任务分片分配到分布式集群中的节点上进行执行,更加高效的利用分布式集群的计算资源,业务响应更加及时,并在此基础上将数据源的数据同步至分布式集群,提升了数据访问的实时性。
附图说明
附图1是本申请提供的一种基于分布式集群的数据同步方法实施例的处理流程图;
附图2是本申请提供的一种基于云端的数据同步过程的示意图;
附图3是本申请提供的一种基于分布式集群进行数据同步的示意图;
附图4是本申请提供的一种基于分布式集群的数据同步装置实施例的示意图;
附图5是本申请提供的一种电子设备的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种基于分布式集群的数据同步方法,本申请还提供一种基于分布式集群的数据同步装置,以及一种电子设备。以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供的一种基于分布式集群的数据同步方法实施例如下:
参照附图1,其示出了本申请提供的一种基于分布式集群的数据同步方法实施例的处理流程图,参照附图2,其示出了本申请提供的一种基于云端的数据同步过程的示意图;参照附图3,其示出了本申请提供的一种基于分布式集群进行数据同步的示意图。
步骤S101,获取从数据源同步数据的数据同步配置。
一般而言,在“云端+仓内调度系统”的架构模式下,用户希望能够远程监控仓内场地内的实况,但如果每次监控都通过云端的鉴权再转调仓内调度系统,受限于云端和仓内调度系统所处的网络环境,同时还需通过公网进行数据传输,由于公网的稳定性存在一定的缺陷,因此监控的实时性以及在用户一端的前端页面进行展示时存在的抖动较为严重,用户体验不佳。本申请提供的所述基于分布式集群的数据同步方法,通过预先将需要同步的待同步数据从数据源同步至云端,在实际的业务处理中,如果用户需要查询指定数据,只需在云端的存储中进行查询即可,无需再通过云端的鉴权再转调仓内调度系统。
本申请实施例所述数据源,包含需要进行数据同步管理的场地的业务相关数据和场地相关数据,比如在物流体系中的分拣中心或者仓库中,需要通过智能分拣机器人进行分拨或者拣选任务,因此需要对分拣中心和仓库场地进行规划,按照其业务功能划分为货物放置区、智能分拣机器人的路径区域等,每种功能区域会有相应的数据表示,即场地数据。再比如物流体系中的分拣中心或者仓库中,业务数据是指分拣中心或者仓库中所有物流包裹对应的交易订单数据。
如附图2所示,本申请实施例提供的优选实施方式中,部署在云端的分布式集群、分布式集群的调度中间件、分布式存储以及配置中间件。其中,配置中间件用于动态推送数据同步的数据同步配置,所述数据同步配置,是指在进行数据同步过程中所采用的同步机制,具体是将数据从数据源同步至云端这一过程所采用的同步机制,优选的,所述数据同步配置是指轮询时间间隔,本实施例由云端的配置中间件通过轮询时间间隔来控制数据同步的频率。而在实际应用中,数据源当中的数据变化与AGV的运动速度有关,因此云端可以在调整AGV的运动速度后调整轮询时间间隔,并且可以通过调整轮询时间间隔来做资源的占用和数据实时性的权衡。云端通过控制数据同步的频率,能够调整对仓内调度系统的压力,在仓内调度系统的数据压力大时,根据业务决策对监控需求进行相应的降级,比如通过降低轮询时间间隔来提升实时性,提高用户体验。
当有待处理任务需要交由云端的分布式集群进行处理时,可由分布式集群中任意一个节点对待处理任务进行拆分,将拆分后获得的任务分配提交至分布式集群的调度中间件,由调度中间件根据当前分布式集群中节点的情况,将任务分片分配至分布式集群中节点上进行执行,并且,任务分片常驻在节点上进行执行,只有当调度中间件检测到分布式集群发生变化,才会重新确定任务分片,并重新将任务分片分配至分布式集群中节点上进行执行。
本申请整体以一个原则演进:将通用解决方案中难以解决或者解决成本较高的问题,结合业务场景具有针对性地依据业务需求忽略问题中的一些次要因素,或者依据业务的接收范围给出近似或有损的解决方案,将难度较高的问题转化为业务域内相对于容易解决的问题再加以优化解决。围绕这个核心原则,本实施例具体根据用户实际的业务需求,如果用户对实时性要求较高,则可以通过控制配置中间件降低推送的轮询时间间隔来提高实时性,可以适当占用较多的资源用以进行数据同步;如果用户对处理效率的要求优先于对实时性要求,则可以通过控制配置中间件增大推送的轮询时间间隔,从而来降低资源占用率,但相应的,在增大轮询时间间隔的同时,会导致实时性的下降。
本步骤获取从数据源同步数据的数据同步配置,具体是指获取配置中间件定时推送的所述轮询时间间隔。
步骤S102,将待处理任务按照任务划分维度划分为至少一个任务分片。
本申请实施例所述任务分片,是指将一个计算量或者数据量较大的待处理任务,为了更方便的以适配分布式集群的方式计算解决,按照某个维度对任务进行切分,得到的任务是原本任务的一个子任务,能够独立计算,通过规约或者其他方式间接获得原本任务的计算结果,其中的任意一个子任务叫做任务分片。
本步骤中,按照数据源对应场地的场地维度对用户的待处理任务进行划分,比如按照仓内调度系统管理、监控的分拣中心或者仓库中各块场地所属的场地业务这一维度对用户的待处理任务进行划分。除此之外,还可采用其他维度对用户的待处理任务进行划分,比如按照业务类型维度将待处理任务划分为多个任务分片。
在具体实施时,如附图2所示,当用户存在待处理任务需要交由云端的分布式集群进行处理时,可由分布式集群中任意一个节点针对待处理任务进行拆分,将拆分后获得的任务分配提交至分布式集群的调度中间件,由调度中间件根据当前分布式集群中节点的情况,将任务分片分配至分布式集群中节点上进行执行,并且,任务分片常驻在节点上进行执行,只有当调度中间件检测到分布式集群发生变化,才会重新确定任务分片,并重新将任务分片分配至分布式集群中节点上进行执行。
步骤S103,将所述任务分片分配到分布式集群中的节点上执行。
上述步骤S102将用户的待处理任务按照场地维度划分为至少一个任务分片后,本步骤中,将针对待处理任务划分后获得的细粒度的任务分片分配到分布式集群中的节点上进行执行。如附图2所示,具体由调度中间件对细粒度的任务分片进行负载均衡,将任务分片分配到分布式集群中的节点上进行执行,从而能够高效的利用分布式集群的计算资源。
本申请实施例提供的一种优选实施方式中,将所述任务分片常驻在对应的节点上执行,即:在分布式集群的节点上形成常驻任务分片,所述常驻任务分片是指长时间驻留在分布式集群中某一节点所在的宿主机上执行,并且在分布式集群出现变化时会重新选择宿主机的任务分片。同时,在所述节点上配置用于维护当前节点上数据版本的分布式锁和/或版本标识;其中,所述节点与所述分布式锁和/或所述版本标识具有一一对应关系。可见,通过引入常驻任务分片这一模型,使一个任务分片在分布式集群不发生变化的前提下稳定地在一个节点上持续执行,并且能够通过分布式锁和版本控制简化分布式场景下版本单调控制问题。
同时,常驻任务分片拉取的数据结果会存储到分布式缓存中,并且一个场地(一个场地对应一个数据源,并对应一个仓内调度系统)长时间是在分布式集群中某一节点所在的宿主机上被同步,所以在一台宿主机的内存中维护分布式锁和一个版本号,从而来维护数据的单调性(数据版本是递增或者递减的,一般表示所有数据版本都是递增的,不会出现数据版本回滚的情况)。
如上所述,分布式集群出现变化时,会重新划分和分配任务分片,优选采用如下方式实现:检测所述分布式集群是否发生变化,若是,按照所述场地维度重新划分所述待处理任务的新任务分片;将所述新任务分片分配到变化后的所述分布式集群中的节点上执行。比如分布式集群中节点数目发生变化,导致任务分片重新分配时,因为重新分配会存在一定的时间间隔,而且当前机器发起请求的时间本身就比之前持有该任务的机器发任务晚,由此导致数据版本回退的概率很小,从而提升了业务稳定性。
本申请实施例提供的另一种优选实施方式中,通过引入租约的机制来降低数据同步过程中同步的数据量,从而节省数据同步过程消耗的网络资源和计算资源。具体的,在分布式存储中针对所述待同步数据存储其对应的租约,租约是一种临时的契约,设有过期时间信息(比如,超时时间),如果超过该超时时间依旧没有执行续约操作则会失效,等同于租约不存在。本实施例中,所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
优选的,通过下述实现对待同步数据对应的租约执行续约操作:在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,对所述分布式存储中存储的所述待同步数据对应的租约进行续约;需要说明的是,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
在具体实施时,用户的操作导致要同步一些选择性的数据时,会在分布式缓存中存入一个定时过期的租约,在租约期间常驻任务会同步这份数据,每次用户查询会进行一次续约,如果用户不再续约,那么数据不会再被同步。通过引入租约和续约的机制,避免用户触发数据同步后异常退出,导致数据同步不能结束而产生的资源浪费。此外,通过将租约存入分布式缓存中,保持用户访问的无状态,无需关注常驻任务位于具体哪个节点执行,由分布式缓存持有状态,更加简单高效。
步骤S104,按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
如上所述,所述数据同步配置由配置中间件采用轮询的方式进行推送,所述数据同步配置包括轮询时间间隔。基于此,本步骤按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据,优选采用如下方式实现:按照所述轮询时间间隔,从所述数据源拉取执行所述任务分片所需的所述待同步数据。
云端通过采用主动从所述数据源拉取待同步数据的方式能够准确地判断仓内调度系统的状态,识别是没有数据变更还是仓内调度系统发送异常,响应更加准确及时。
本实施例中,上述同步到的所述待同步数据被存储至分布式存储中,优选的,所述分布式存储采用key-value存储所述待同步数据。采用key-value存储的好处在于每次在分布式存储中的数据操作都是原子操作,所有数据版本一致,数据一致性更高。
本申请实施例提供的一种优选实施方式中,在上述数据同步执行过程中或者上述数据同步过程执行后,如果用户提出数据查询请求(即用户查询请求),则分布式集群在接收到该用户提出的用户查询请求后,首先确定所述用户查询请求对应的数据块,然后在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
优选的,本申请实施例中,上述数据同步过程所对应的数据链路,与上述接收处理用户查询请求所对应的数据链路为不同的数据链,所述用户查询请求基于查询链路进行传输,所述待同步数据基于同步链路进行传输,且所述查询链路与所述同步链路采用并行处理。使用同步链路和查询链路二者进行并行处理的好处在于:使一次公网网络I/O在时间上重合,从而提升数据同步的实时性。
综上所述,所述基于分布式集群的数据同步方法,通过对待处理任务进行划分,将划分后获得的细粒度的任务分片分配到分布式集群中的节点上进行执行,更加高效的利用分布式集群的计算资源,业务响应更加及时,并在此基础上将数据源的数据同步至分布式集群,提升了数据访问的实时性。
本申请提供的一种基于分布式集群的数据同步装置实施例如下:
在上述的实施例中,提供了一种基于分布式集群的数据同步方法,与之相对应的,本申请还提供了一种基于分布式集群的数据同步装置,下面结合附图进行说明。
参照附图4,其示出了本申请提供的一种基于分布式集群的数据同步装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种基于分布式集群的数据同步装置,包括:
数据同步配置获取单元401,用于获取从数据源同步数据的数据同步配置;
任务分片划分单元402,用于将待处理任务按照任务划分维度划分为至少一个任务分片;
任务分片分配单元403,用于将所述任务分片分配到分布式集群中的节点上执行;
待同步数据同步单元404,用于按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
可选的,所述基于分布式集群的数据同步装置,包括:
待同步数据存储单元,用于将所述待同步数据存储至分布式存储中。
可选的,所述分布式存储中存储有所述待同步数据对应的租约;其中,所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
可选的,所述基于分布式集群的数据同步装置,包括:
用户查询请求接收单元,用于接收用户查询请求;
数据块确定单元,用于确定所述用户查询请求对应的数据块;
查询结果返回单元,用于在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
可选的,所述基于分布式集群的数据同步装置,包括:
用户查询请求检测单元,用于在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,运行续约单元,用于对所述分布式存储中存储的所述待同步数据对应的租约进行续约;
并且,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
可选的,所述数据同步配置由配置中间件采用轮询的方式进行推送,所述数据同步配置包括轮询时间间隔;相应的,所述待同步数据同步单元404,具体用于按照所述轮询时间间隔,从所述数据源拉取执行所述任务分片所需的所述待同步数据。
可选的,所述用户查询请求基于查询链路进行传输,所述待同步数据基于同步链路进行传输;且所述查询链路与所述同步链路采用并行处理。
可选的,所述任务分片常驻在对应的节点上执行,所述节点上配置用于维护当前节点上数据版本的分布式锁和/或版本标识;其中,所述节点与所述分布式锁和/或所述版本标识具有一一对应关系。
可选的,所述基于分布式集群的数据同步装置,包括:
分布式集群检测单元,用于检测所述分布式集群是否发生变化,若是,运行新任务分片划分单元、新任务分片分配单元;
其中,所述新任务分片划分单元,用于按照所述场地维度重新划分所述待处理任务的新任务分片;
所述新任务分片分配单元,用于将所述新任务分片分配到变化后的所述分布式集群中的节点上执行。
可选的,所述任务划分维度,包括下述至少一项:数据源对应场地的场地维度,业务类型维度。
可选的,所述分布式存储采用key-value存储所述待同步数据。
可选的,所述任务分片划分单元402基于所述分布式集群中的任一节点运行,相应的,所述任务分片分配单元403基于所述分布式集群的调度中间件运行。
可选的,所述分布式集群、所述调度中间件和/或所述配置中间件部署在云端当中。
本申请提供的一种电子设备实施例如下:
在上述的实施例中,提供了一种基于分布式集群的数据同步方法,此外,本申请还提供了一种用于实现所述基于分布式集群的数据同步方法的电子设备,下面结合附图进行说明。
参照附图5,其示出了本实施例提供的一种电子设备的示意图。
本申请提供的所述电子设备实施例描述得比较简单,相关的部分请参见上述提供的所述基于分布式集群的数据同步方法实施例的对应说明即可。下述描述的实施例仅仅是示意性的。
本申请提供一种电子设备,包括:
存储器501和处理器502;
所述存储器501用于存储计算机可执行指令,所述处理器502用于执行如下计算机可执行指令:
获取从数据源同步数据的数据同步配置;
将待处理任务按照任务划分维度划分为至少一个任务分片;
将所述任务分片分配到分布式集群中的节点上执行;
按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据。
可选的,所述按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据指令执行后,所述处理器502还用于执行如下计算机可执行指令:
将所述待同步数据存储至分布式存储中。
可选的,所述分布式存储中存储有所述待同步数据对应的租约;其中,所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
可选的,所述处理器502还用于执行如下计算机可执行指令:
接收用户查询请求;
确定所述用户查询请求对应的数据块;
在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
可选的,所述处理器502还用于执行如下计算机可执行指令:
在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,对所述分布式存储中存储的所述待同步数据对应的租约进行续约;
并且,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
可选的,所述数据同步配置由配置中间件采用轮询的方式进行推送,所述数据同步配置包括轮询时间间隔;相应的,所述按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据,采用如下方式实现:
按照所述轮询时间间隔,从所述数据源拉取执行所述任务分片所需的所述待同步数据。
可选的,所述用户查询请求基于查询链路进行传输,所述待同步数据基于同步链路进行传输;且所述查询链路与所述同步链路采用并行处理。
可选的,所述任务分片常驻在对应的节点上执行,所述节点上配置用于维护当前节点上数据版本的分布式锁和/或版本标识;其中,所述节点与所述分布式锁和/或所述版本标识具有一一对应关系。
可选的,所述处理器502还用于执行如下计算机可执行指令:
检测所述分布式集群是否发生变化,若是,按照所述场地维度重新划分所述待处理任务的新任务分片;将所述新任务分片分配到变化后的所述分布式集群中的节点上执行。
可选的,所述任务划分维度,包括下述至少一项:数据源对应场地的场地维度,业务类型维度。
可选的,所述分布式存储采用key-value存储所述待同步数据。
可选的,所述将待处理任务按照任务划分维度划分为至少一个任务分片指令,基于所述分布式集群中的任一节点执行,相应的,所述将所述任务分片分配到分布式集群中的节点上执行指令,基于所述分布式集群的调度中间件执行。
可选的,所述分布式集群、所述调度中间件和/或所述配置中间件部署在云端当中。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (15)

1.一种基于分布式集群的数据同步方法,其特征在于,包括:
获取从数据源同步数据的数据同步配置;
将待处理任务按照任务划分维度划分为至少一个任务分片;
将所述任务分片分配到分布式集群中的节点上执行;
按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据;
将所述待同步数据存储至分布式存储中;所述分布式存储中存储有所述待同步数据对应的租约;
其中,所述数据同步配置是指将数据从所述数据源同步至所述任务分片这一过程所采用的同步机制,所述数据同步配置由配置中间件动态推送;所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
2.根据权利要求1所述的基于分布式集群的数据同步方法,其特征在于,包括:
接收用户查询请求;
确定所述用户查询请求对应的数据块;
在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
3.根据权利要求2所述的基于分布式集群的数据同步方法,其特征在于,包括:
在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,对所述分布式存储中存储的所述待同步数据对应的租约进行续约;
并且,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
4.根据权利要求1所述的基于分布式集群的数据同步方法,其特征在于,所述数据同步配置由配置中间件采用轮询的方式进行推送,所述数据同步配置包括轮询时间间隔;相应的,所述按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据,采用如下方式实现:
按照所述轮询时间间隔,从所述数据源拉取执行所述任务分片所需的所述待同步数据。
5.根据权利要求2所述的基于分布式集群的数据同步方法,其特征在于,所述用户查询请求基于查询链路进行传输,所述待同步数据基于同步链路进行传输;且所述查询链路与所述同步链路采用并行处理。
6.根据权利要求1所述的基于分布式集群的数据同步方法,其特征在于,所述任务分片常驻在对应的节点上执行,所述节点上配置用于维护当前节点上数据版本的分布式锁和/或版本标识;
其中,所述节点与所述分布式锁和/或所述版本标识具有一一对应关系。
7.根据权利要求1至6任意一项所述的基于分布式集群的数据同步方法,其特征在于,所述任务划分维度,包括下述至少一项:数据源对应场地的场地维度,业务类型维度。
8.根据权利要求7所述的基于分布式集群的数据同步方法,其特征在于,包括:
检测所述分布式集群是否发生变化,若是,按照所述场地维度重新划分所述待处理任务的新任务分片;
将所述新任务分片分配到变化后的所述分布式集群中的节点上执行。
9.根据权利要求1所述的基于分布式集群的数据同步方法,其特征在于,所述分布式存储采用key-value存储所述待同步数据。
10.根据权利要求1所述的基于分布式集群的数据同步方法,其特征在于,所述将所述任务分片分配到分布式集群中的节点上执行步骤,基于所述分布式集群的调度中间件执行。
11.根据权利要求10所述的基于分布式集群的数据同步方法,其特征在于,所述分布式集群、所述调度中间件和/或所述配置中间件部署在云端当中。
12.一种基于分布式集群的数据同步装置,其特征在于,包括:
数据同步配置获取单元,用于获取从数据源同步数据的数据同步配置;
任务分片划分单元,用于将待处理任务按照任务划分维度划分为至少一个任务分片;
任务分片分配单元,用于将所述任务分片分配到分布式集群中的节点上执行;
待同步数据同步单元,用于按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据;待同步数据存储单元,用于将所述待同步数据存储至分布式存储中;所述分布式存储中存储有所述待同步数据对应的租约;
其中,所述数据同步配置是指将数据从所述数据源同步至所述任务分片这一过程所采用的同步机制,所述数据同步配置由配置中间件动态推送;所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
13.根据权利要求12所述的基于分布式集群的数据同步装置,其特征在于,包括:
用户查询请求接收单元,用于接收用户查询请求;
数据块确定单元,用于确定所述用户查询请求对应的数据块;
查询结果返回单元,用于在所述分布式存储中进行针对所述数据块的查询操作并返回查询结果。
14.根据权利要求13所述的基于分布式集群的数据同步装置,其特征在于,包括:
用户查询请求检测单元,用于在所述过期时间信息范围内检测是否存在涉及所述待同步数据的用户查询请求,若是,运行续约单元,用于对所述分布式存储中存储的所述待同步数据对应的租约进行续约;
并且,每检测到一个涉及所述待同步数据的用户查询请求,则针对所述待同步数据对应的租约进行一次续约。
15.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取从数据源同步数据的数据同步配置;
将待处理任务按照任务划分维度划分为至少一个任务分片;
将所述任务分片分配到分布式集群中的节点上执行;
按照所述数据同步配置从所述数据源同步执行所述任务分片所需的待同步数据;
将所述待同步数据存储至分布式存储中;所述分布式存储中存储有所述待同步数据对应的租约;
其中,所述数据同步配置是指将数据从所述数据源同步至所述任务分片这一过程所采用的同步机制,所述数据同步配置由配置中间件动态推送;所述租约携带有所述待同步数据的过期时间信息,且在所述过期时间信息范围内所述待同步数据允许被同步,在所述过期时间信息范围之外所述待同步数据不允许被同步。
CN201810900342.7A 2018-08-09 2018-08-09 基于分布式集群的数据同步方法以及装置 Active CN110866062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810900342.7A CN110866062B (zh) 2018-08-09 2018-08-09 基于分布式集群的数据同步方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810900342.7A CN110866062B (zh) 2018-08-09 2018-08-09 基于分布式集群的数据同步方法以及装置

Publications (2)

Publication Number Publication Date
CN110866062A CN110866062A (zh) 2020-03-06
CN110866062B true CN110866062B (zh) 2023-11-24

Family

ID=69650853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810900342.7A Active CN110866062B (zh) 2018-08-09 2018-08-09 基于分布式集群的数据同步方法以及装置

Country Status (1)

Country Link
CN (1) CN110866062B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632133B (zh) * 2020-12-31 2023-10-10 中国农业银行股份有限公司 一种数据链路查询方法及装置
CN113110927A (zh) * 2021-04-19 2021-07-13 上海商汤科技开发有限公司 一种任务调度方法、装置、计算机设备和存储介质
CN113901141B (zh) * 2021-10-11 2022-08-05 京信数据科技有限公司 一种分布式数据同步方法及系统
CN115543585B (zh) * 2022-11-28 2023-08-22 北京首信科技股份有限公司 企业号卡数据同步方法、服务器及存储介质
CN116150162B (zh) * 2023-04-20 2023-06-30 北京锐服信科技有限公司 基于时间分片的数据图表更新方法、装置及电子设备
CN116567007B (zh) * 2023-07-10 2023-10-13 长江信达软件技术(武汉)有限责任公司 一种基于任务切分的微服务水利数据共享交换方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
EP2752779A2 (en) * 2013-01-07 2014-07-09 Facebook, Inc. System and method for distributed database query engines
CN106528574A (zh) * 2015-09-14 2017-03-22 阿里巴巴集团控股有限公司 一种数据同步方法及设备
WO2017050141A1 (zh) * 2015-09-24 2017-03-30 网宿科技股份有限公司 基于分布式存储的文件分发系统及方法
CN106960037A (zh) * 2017-03-22 2017-07-18 河海大学 一种跨内外网的分布式索引资源整合与共享方法
CN107506408A (zh) * 2017-08-08 2017-12-22 北京盛华安信息技术有限公司 对海量事件分布式关联匹配的方法及系统
CN107544999A (zh) * 2016-06-28 2018-01-05 百度在线网络技术(北京)有限公司 用于检索系统的同步装置及同步方法、检索系统及方法
CN107766132A (zh) * 2017-06-25 2018-03-06 平安科技(深圳)有限公司 多任务调度方法、应用服务器及计算机可读存储介质
WO2018056993A1 (en) * 2016-09-22 2018-03-29 Visa International Service Association Techniques for in-memory data searching
CN108183961A (zh) * 2018-01-04 2018-06-19 中电福富信息科技有限公司 一种基于Redis的分布式缓存方法
CN108255820A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 分布式系统中数据入库的方法、装置以及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753609B (zh) * 2008-12-15 2012-09-19 中国移动通信集团公司 分布式系统版本控制方法、节点及系统
US9311377B2 (en) * 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
EP2752779A2 (en) * 2013-01-07 2014-07-09 Facebook, Inc. System and method for distributed database query engines
CN106528574A (zh) * 2015-09-14 2017-03-22 阿里巴巴集团控股有限公司 一种数据同步方法及设备
WO2017050141A1 (zh) * 2015-09-24 2017-03-30 网宿科技股份有限公司 基于分布式存储的文件分发系统及方法
CN107544999A (zh) * 2016-06-28 2018-01-05 百度在线网络技术(北京)有限公司 用于检索系统的同步装置及同步方法、检索系统及方法
WO2018056993A1 (en) * 2016-09-22 2018-03-29 Visa International Service Association Techniques for in-memory data searching
CN108255820A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 分布式系统中数据入库的方法、装置以及电子设备
CN106960037A (zh) * 2017-03-22 2017-07-18 河海大学 一种跨内外网的分布式索引资源整合与共享方法
CN107766132A (zh) * 2017-06-25 2018-03-06 平安科技(深圳)有限公司 多任务调度方法、应用服务器及计算机可读存储介质
CN107506408A (zh) * 2017-08-08 2017-12-22 北京盛华安信息技术有限公司 对海量事件分布式关联匹配的方法及系统
CN108183961A (zh) * 2018-01-04 2018-06-19 中电福富信息科技有限公司 一种基于Redis的分布式缓存方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯玉才 ; 刘冉冉 ; .基于任务分配的数据库集群模型.计算机工程与科学.2007,(第12期),全文. *
朱伟 ; 李纪云 ; 江慧 ; 刘柱云 ; .基于分布式内存数据的数据同步设计与实现.现代电子技术.2014,(第02期),全文. *

Also Published As

Publication number Publication date
CN110866062A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN110866062B (zh) 基于分布式集群的数据同步方法以及装置
CN109683826B (zh) 用于分布式存储系统的扩容方法和装置
US10209908B2 (en) Optimization of in-memory data grid placement
US10691722B2 (en) Consistent query execution for big data analytics in a hybrid database
CN111885122B (zh) 远程推送方法、系统、服务器、计算机可读存储介质
WO2022161430A1 (zh) 边缘云系统、边缘管控方法、管控节点及存储介质
CN110909076B (zh) 一种存储集群数据同步方法、装置、设备及存储介质
CN106888245B (zh) 一种数据处理方法、装置及系统
US20160241441A1 (en) Method and apparatus for changing configurations
CN111399764B (zh) 数据存储方法、读取方法、装置、设备及存储介质
CN103281356A (zh) 一种分发文件的方法及系统
CN115587118A (zh) 任务数据的维表关联处理方法及装置、电子设备
CN107025257B (zh) 一种事务处理方法及装置
CN111459913B (zh) 分布式数据库的容量扩展方法、装置及电子设备
CN110874290B (zh) 分布式内存数据库的事务分析混合处理方法及数据库
CN116304390B (zh) 时序数据处理方法、装置、存储介质及电子设备
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
CN108023920B (zh) 一种数据包传输方法、设备及应用接口
CN115391034A (zh) 一种基于分布式集群datax的任务处理方法及系统
CN115455121A (zh) 一种实时可靠的数据同步传输方法、设备及介质
CN114610798A (zh) 资源配置管理方法及系统、装置、存储介质及电子设备
CN111245909B (zh) 分布式动态调度方法、装置、电子设备及存储介质
CN103686224A (zh) 基于分布式锁的转码任务获取的方法和系统
CN103577424A (zh) 分布式数据库视图的实现方法及系统
CN113742416A (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