【技术实现步骤摘要】
基于服务锁的数据同步方法及装置、电子设备与存储介质
本申请涉及计算机
,尤其涉及数据存储
,具体涉及一种基于服务锁的数据同步方法及装置、电子设备与存储介质。
技术介绍
目前,数据同步的场景通常是数据库集群间的数据同步、数据库与缓存间的数据同步等,在这些场景下数据的格式通常是固定的,数据同步方案实现较为简单。而对于不同格式的数据库,如关系型数据库与NoSQL数据库间数据同步的方案,现有技术中具体可以采用手动的方式,将数据从关系型数据库中导出,利用工具,转换为NoSQL数据库的存储格式,在NoSQL数据库中创建新的索引,将转换后的数据导入新的索引中。而在多写入源多数据库的应用场景中,例如,某种数据存储系统中,存在至少两种类型的数据库,如包括有关系型数据库和NoSQL数据库。其中,关系型数据库存储基础数据,NoSQL数据库对待提供数据查询服务,作为数据查询引擎使用。该场景下,由于存在多个写入源,多个数据库,数据同步的过程若采用现有的上述手动方式来实现,自动化程度低,人力成本高;数据的准确性完全依赖于人工操作,可靠性低;而且同步过程分析过于独立,未考虑多写入源的限制,因此,亟需提供一种多写入源多数据库的数据存储系统中的数据同步方案。
技术实现思路
为了解决上述技术问题,本申请提供一种基于服务锁的数据同步方法及装置、电子设备与存储介质,用于提供一种多写入源多数据库的数据存储系统中的数据同步方案。一方面,本申请提供一种基于服务锁的数据同步方法,所述方法适用于处理多写入源多数据库的数 ...
【技术保护点】
1.一种基于服务锁的数据同步方法,其特征在于,所述方法适用于处理多写入源多数据库的数据存储系统中的数据同步,包括:/n基于写入源的数据写入请求,为所述写入源配置数据表的服务锁;所述数据写入请求中携带所述写入源的标识和所述数据表的标识;/n解析所述数据写入请求对应的同步任务;/n执行所述同步任务,使得各所述数据库中存储的所述数据表的数据一致。/n
【技术特征摘要】
1.一种基于服务锁的数据同步方法,其特征在于,所述方法适用于处理多写入源多数据库的数据存储系统中的数据同步,包括:
基于写入源的数据写入请求,为所述写入源配置数据表的服务锁;所述数据写入请求中携带所述写入源的标识和所述数据表的标识;
解析所述数据写入请求对应的同步任务;
执行所述同步任务,使得各所述数据库中存储的所述数据表的数据一致。
2.根据权利要求1所述的方法,其特征在于,为所述写入源配置数据表的服务锁,包括:配置所述服务锁的信息,所述服务锁的信息包括所述写入源的标识、所述数据表的标识以及所述服务锁的状态,所述服务锁的状态设置为占用。
3.根据权利要求2所述的方法,其特征在于,解析所述数据写入请求对应的同步任务,包括:解析所述数据写入请求对应的所述同步任务,并编排生成任务链,所述任务链中至少顺次包括:创建同步任务、执行同步任务和删除同步任务;
或者,在所述任务链中的所述创建同步任务之后,所述执行同步任务之前,还包括数据写入任务。
4.根据权利要求3所述的方法,其特征在于,为所述写入源配置数据表的服务锁之后,解析所述数据写入请求对应的同步任务之前,所述方法还包括:
创建所述数据写入请求对应的任务,并将任务标识及对应的任务状态存储在任务管理数据库中;所述任务状态为未执行;
对应地,解析所述数据写入请求对应的同步任务之前,还包括:
从所述任务管理数据库中获取未执行的所述任务。
5.根据权利要求4所述的方法,其特征在于,执行所述同步任务,包括:
调度主节点服务器上的多个任务执行器分别执行所述任务链中的各任务;
将所述任务管理数据库中对应的所述任务的状态修改为执行中;
调度主节点服务器上的多个任务执行器分别执行所述任务链中的各任务之前,还包括:
控制部署的多个服务器中的各所述服务器检测自身是否为主节点服务器。
6.根据权利要求5所述的方法,其特征在于,控制部署的多个服务器中的各所述服务器检测自身是否为主节点服务器,包括:
控制各所述服务器向选主模块发送携带所述服务器的节点标识和所述任务标识的选主请求;由所述选主模块检测是否有其他服务器执行所述任务标识对应的任务,若没有,将所述服务器设置为主节点服务器,并将检测结果反馈给所述服务器。
7.根据权利要求4-6任一所述的方法,其特征在于,执行所述同步任务之后,所述方法还包括:
将所述任务管理数据库中对应的所述任务的状态修改为执行完;
将配置的所述服务锁的信息中所述服务锁的状态修改为已释放。
8.一种基于服务锁的数据同步装置,其特征在于,所述装置适用于处理多写入源多数据库的数据存储系统中的数据同步,包括:
锁服...
【专利技术属性】
技术研发人员:魏志军,张萌萌,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。