CN113010498B - 一种数据同步方法、装置、计算机设备及存储介质 - Google Patents
一种数据同步方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113010498B CN113010498B CN202110318938.8A CN202110318938A CN113010498B CN 113010498 B CN113010498 B CN 113010498B CN 202110318938 A CN202110318938 A CN 202110318938A CN 113010498 B CN113010498 B CN 113010498B
- Authority
- CN
- China
- Prior art keywords
- data
- network device
- synchronized
- storage cluster
- target network
- 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
Links
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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/23—Updating
-
- 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/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据同步方法、装置、计算机设备及存储介质,可以应用于云计算领域或区块链领域,用于解决数据同步的效率较低的问题。该方法包括:存储集群接收主网络设备发送的数据管理指令;所述存储集群基于所述数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定待同步数据;所述存储集群向与所述存储集群关联的各个目标网络设备,分别发送所述待同步数据,以使所述各个目标网络设备分别基于各自接收的待同步数据,更新各自对应的本地存储数据,其中,所述各个目标网络设备中包括所述主网络设备。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据同步方法、装置、计算机设备及存储介质。
背景技术
随着科技的不断发展,越来越多的领域中利用云平台来降低数据管理成本,并扩大计算和存储规模。为了保证云平台上各个网络设备的数据一致性,如果要在存储集群中对数据进行操作,那么各个网络设备上就需要进行数据同步。
网络设备上进行数据同步方法通常是,网络设备集群中的主网络设备接收数据操作请求,并基于数据操作请求生成数据管理指令,对存储集群中的数据进行操作。同时,主网络设备依次向网络设备集群中的从网络设备转发数据操作请求,主网络设备和从网络设备基于数据操作请求进行本地数据同步。
然而,由于网络设备集群中的网络设备不断增多,主网络设备转发的数据操作请求的数量也不断增多,造成网络设备集群中各个网络设备之间的网络传输压力较大,降低了数据同步的效率。
发明内容
本申请实施例提供一种数据同步方法、装置、计算机设备及存储介质,用于解决数据同步的效率较低的问题。
第一方面,提供一种数据同步方法,包括:
存储集群接收主网络设备发送的数据管理指令;
所述存储集群基于所述数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定待同步数据;
所述存储集群向与所述存储集群关联的各个目标网络设备,分别发送所述待同步数据,以使所述各个目标网络设备分别基于各自接收的待同步数据,更新各自对应的本地存储数据,其中,所述各个目标网络设备中包括所述主网络设备。
第二方面,提供一种数据同步方法,包括:
网络设备集群中与存储集群关联的目标网络设备接收所述存储集群发送的待同步数据,其中,所述待同步数据是所述存储集群按照以下方式获得的:基于所述网络设备集群中的主网络设备发送的数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定所述待同步数据;
所述目标网络设备基于接收的待同步数据,更新对应的本地存储数据。
第三方面,提供一种数据同步装置,包括:
收发模块:用于接收主网络设备发送的数据管理指令;
处理模块:用于基于所述数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定待同步数据;
所述收发模块还用于:向与所述数据同步装置关联的各个目标网络设备,分别发送所述待同步数据,以使所述各个目标网络设备分别基于各自接收的待同步数据,更新各自对应的本地存储数据,其中,所述各个目标网络设备中包括所述主网络设备。
可选的,所述处理模块具体用于:
接收所述主网络设备发送的配置更新指令;
基于所述配置更新指令以及所述数据管理操作的操作结果,针对配置数据执行相应的配置更新操作,获得更新后的配置数据;其中,所述配置更新操作用于更新配置数据中,与所述数据管理操作的操作结果相关的索引信息;
将所述更新后的配置数据,作为所述待同步数据。
可选的,所述收发模块还用于:
在接收所述主网络设备发送的配置更新指令之前,接收所述主网络设备发送的同步许可请求,其中,所述同步许可请求用于请求发送所述配置更新指令;
基于接收的同步许可请求,确定向所述主网络设备发送同步许可反馈,以使所述主网络设备接收所述同步许可反馈,并基于所述同步许可反馈,发送所述配置更新指令。
可选的,所述收发模块具体用于:
基于所述各个目标网络设备各自对应的监听接口,向所述各个目标网络设备分别发送数据更新通知,以使所述各个目标网络设备分别基于接收的数据更新通知,分别发送数据读取指令,其中,每个监听接口是相应的目标网络设备启动时注册的;
接收所述各个目标网络设备分别发送的数据读取指令;
基于接收的各个数据读取指令,分别向相应的各个目标网络设备发送所述待同步数据。
可选的,所述收发模块还用于:
在向与所述数据同步装置关联的各个目标网络设备,分别发送所述待同步数据之后,接收所述各个目标网络设备分别发送的更新成功反馈,其中,每个更新成功反馈用于表征相应的目标网络设备成功基于待同步数据更新了本地存储数据;
所述处理模块还用于:
统计接收的更新成功反馈的反馈数量;以及,若确定所述反馈数量与预设的数量阈值相匹配,则确定数据同步成功。
第四方面,提供一种数据同步装置,包括:
收发模块:用于接收存储集群发送的待同步数据,其中,所述待同步数据是所述存储集群按照以下方式获得的:基于所述网络设备集群中的主网络设备发送的数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定所述待同步数据;
处理模块:用于基于接收的待同步数据,更新对应的本地存储数据。
可选的,所述数据同步装置为所述主网络设备,或者,为所述网络设备集群中除所述主网络设备之外的其他网络设备。
可选的,所述数据同步装置与所述存储集群基于光纤通信技术进行通信。
可选的,所述收发模块还用于:
在接收所述存储集群发送的待同步数据之前,接收数据更新通知,其中,所述数据更新通知是所述存储集群基于所述数据同步装置对应的监听接口发送的,所述监听接口是所述数据同步装置启动时,在所述存储集群中注册的;
基于所述数据更新通知,向所述存储集群发送数据读取指令,以使所述存储集群接收所述数据读取指令,以及,基于所述数据读取指令,发送所述待同步数据。
可选的,所述处理模块具体用于:
基于所述待同步数据,以及所述数据同步装置的本地存储数据,确定所述待同步数据对应的待同步版本标识,与所述本地存储数据对应的本地版本标识是否匹配;
若所述待同步版本标识与所述本地版本标识不匹配,则对所述待同步数据进行数据解析,获得数据解析后的待同步数据;
基于所述数据解析后的待同步数据,更新所述本地存储数据。
第五方面,提供一种数据同步系统,包括如第三方面所述的数据同步装置和如第四方面所述的数据同步装置。
第六方面,提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面所述的方法。
第七方面,提供一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的方法。
本申请实施例中,各个目标网络设备是基于存储集群发送的待同步数据,对本地存储数据进行更新,实现数据同步的,而不是基于主网络设备转发的数据管理请求进行数据同步的,因此,主网络设备在接收控制节点发送的数据管理请求之后,不需要向各个目标网络设备转发数据管理请求,大大降低了各个网络设备之前的网络传输压力。且,由于主网络设备不再需要向目标网络设备转发数据管理请求,因此主网络设备可以在对存储集群成功进行了数据管理操作之后,就向控制节点反馈数据管理操作成功的反馈信息,不需要等待所有目标网络设备成功更新了本地存储数据之后,再进行反馈,避免了由于控制节点操作而造成的控制节点确定操作失败的情况,同时,控制节点可以及时地向客户端反馈操作成功的反馈信息,避免了客户端的盲目等待。
附图说明
图1为相关技术中数据同步方法的一种原理示意图;
图2为本申请实施例提供的数据同步方法的一种应用场景;
图3为本申请实施例提供的数据同步方法的一种原理示意图一;
图4为本申请实施例提供的数据同步方法的一种流程示意图一;
图5a为本申请实施例提供的数据同步方法的一种原理示意图二;
图5b为本申请实施例提供的数据同步方法的一种原理示意图三;
图6a为本申请实施例提供的数据同步方法的一种原理示意图四;
图6b为本申请实施例提供的数据同步方法的一种原理示意图五;
图7a为本申请实施例提供的数据同步方法的一种原理示意图六;
图7b为本申请实施例提供的数据同步方法的一种原理示意图七;
图7c为本申请实施例提供的数据同步方法的一种原理示意图八;
图8为本申请实施例提供的数据同步方法的一种流程示意图二;
图9为本申请实施例提供的数据同步方法的一种流程示意图三;
图10a为本申请实施例提供的数据同步方法的一种原理示意图九;
图10b为本申请实施例提供的数据同步方法的一种原理示意图十;
图11a为本申请实施例提供的数据同步方法的一种原理示意图十一;
图11b为本申请实施例提供的数据同步方法的一种交互示意图;
图12为本申请实施例提供的数据同步装置的结构示意图一;
图13为本申请实施例提供的数据同步装置的结构示意图二;
图14为本申请实施例提供的数据同步装置的结构示意图三。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)云平台和OpenStack:
云平台也可以称为云计算平台,可以基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
OpenStack是一种开源的基础设施即服务管理平台,OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。OpenStack提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
(2)块存储技术、ceph和小型计算机系统接口:
块存储技术(cinder)是虚拟基础架构中必不可少的组件,是存储虚拟机镜像文件及虚拟机使用的数据的基础。cinder可以是OpenStack中提供块存储的组件。
ceph是一个统一的分布式存储系统,用于提供较好的性能、可靠性和可扩展性,能同时提供对象、块、文件存储服务。
小型计算机系统接口(Internet Small Computer System Interface,iscsi)是一种基于因特网及SCSI-3协议下的存储技术,是通过Tcp/IP网络传输scsi命令的一种协议。
本申请实施例涉及服务器、数据库(Database)、云技术(Cloud technology)和区块链(Blockchain)等。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
数据库简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为基础设施即服务(Infrastructure as a Service,IaaS)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS层上可以部署平台即服务(Platform as a Service,PaaS)层,PaaS层之上再部署软件即服务(Software as a Service,SaaS)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID entity,ID)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
下面对本申请实施例提供的数据同步方法的应用领域进行简单介绍。
随着科技的不断发展,越来越多的领域中利用云平台来降低数据管理成本,并扩大计算和存储规模。例如,在云平台上,可以为用户提供虚拟机和裸机两种计算服务,基于ceph存储集群提供存储服务等。用户可以根据需求将业务分类安装在虚拟机或者裸机上面,如性能要求比较高的业务(数据库服务)可以安装在裸机上面等。裸机在使用iscsi协议访问ceph存储集群时,可以通过iscsi网关把ceph自定义协议转换为iscsi协议,从而利用iscsi协议将ceph存储集群暴露给裸机,实现裸机访问ceph存储集群。iscsi网关不仅可以把ceph自定义协议转换为iscsi协议,还可以为cinder提供对iscsi卷的管理服务,如iscsi卷的增删改查、快照等管理操作。
为了保证云平台的高可用,通常会设置多个网络设备,形成网络设备集群,例如,设置多个iscsi网关,形成iscsi网关集群。为了保证云平台上各个网络设备的数据一致性,如果要在存储集群中对数据进行操作,那么各个网络设备上就需要进行数据同步。例如,cinder通过iscsi网关,对ceph存储集群中的iscsi卷进行管理操作时,其他iscsi网关需要同步对iscsi卷进行管理操作之后ceph存储集群中的数据,从而保证各个iscsi网关中本地存储数据的一致性。
网络设备进行数据同步的方法可以是,在控制节点需要对存储集群进行数据管理时,可以在网络设备集群中选择一个主网络设备,控制节点向该主网络设备发送数据管理请求,主网络设备接收数据操作请求,并基于数据操作请求生成数据管理指令。主网络设备向存储集群发送数据管理指令,实现对存储集群中数据的管理。同时,主网络设备依次向网络设备集群中的其他网络设备转发数据操作请求,其他网络设备分别接收主网络设备发送的数据操作请求。主网络设备和从网络设备基于数据操作请求进行本地存储数据的同步。
例如,请参考图1,为相关技术中网络设备进行数据同步的一种原理示意图。在cinder需要对ceph存储集群进行数据管理时,可以在iscsi网关集群中选择一个iscsi网关作为主网关,其他iscsi网关作为从网关。Cinder向主网关发送数据管理请求,主网关接收数据管理请求,并基于数据管理请求生成数据管理指令。主网关向ceph存储集群发送数据管理指令,对ceph存储集群进行数据管理操作。同时主网关基于数据管理请求,更新本地存储数据。主网关向一个从网关转发数据管理请求,该从网关接收主网关转发的数据管理请求,并基于数据管理请求,更新本地存储数据。在该从网关成功更新本地存储数据之后,主网关向下一个从网关转发数据管理请求,直到所有iscsi网关均成功更新本地存储数据之后,确定iscsi网关集群同步成功。
然而,随着业务量的逐渐增加,网络设备集群中的网络设备不断增多,因此,在控制节点需要对存储集群中的数据进行管理时,主网络设备需要转发的数据管理请求也不断增多。由于网络集群中的各个网络设备通常是通过网线进行通信的,过多的数据管理请求会造成各个网络设备之间的网络传输压力较大,容易出现数据丢失,或传输时长较长等问题,降低了数据同步的效率。且,主网络设备向其他网络设备转发数据管理请求时,通常是采用串行转发的方式,在一个其他网络设备基于数据管理请求,成功更新了本地存储数据之后,才会向下一个其他网络设备转发数据管理请求。这种串行转发的方式耗时较长,进一步降低了数据同步的效率,还会造成由于控制节点超时而确定同步失败的情况。同时,由于主网络设备承担了转发数据请求的较大的任务量,因此在数据同步效率低时,也会使得主网络设备无法及时向控制节点反馈针对存储集群的数据管理操作成功的操作反馈信息,从而控制节点向客户端反馈数据管理结果的效率也较低。
为了解决数据同步的效率较低的问题,本申请提供一种数据同步方法。该方法存储集群接收主网络设备发送的数据管理指令。存储集群基于接收的数据管理指令,执行数据管理操作。存储集群基于数据管理操作的操作结果,确定待同步数据。存储集群向与存储集群关联的各个目标网络设备,分别发送待同步数据,各个目标网络设备中包括主网络设备。目标网络设备基于接收的待同步数据,更新本地存储数据。
本申请实施例中,各个目标网络设备是基于存储集群发送的待同步数据,对本地存储数据进行更新,实现数据同步的,而不是基于主网络设备转发的数据管理请求进行数据同步的,因此,主网络设备在接收控制节点发送的数据管理请求之后,不需要向各个目标网络设备转发数据管理请求,大大降低了各个网络设备之前的网络传输压力。且,由于主网络设备不再需要向目标网络设备转发数据管理请求,因此主网络设备可以在对存储集群成功进行了数据管理操作之后,就向控制节点反馈数据管理操作成功的反馈信息,不需要等待所有目标网络设备成功更新了本地存储数据之后,再进行反馈,避免了由于控制节点响应超时而造成的控制节点确定针对数据管理请求的响应失败的情况,同时,控制节点可以及时地向客户端反馈数据管理操作成功的反馈信息,避免了客户端的盲目等待。
下面对本申请提供的数据同步方法的应用场景进行说明。
请参考图2,为本申请实施例提供的数据同步方法的一种应用场景。该应用场景中包括客户端101、控制端102、网络设备集群103和存储集群104。其中,网络设备集群中包括主网络设备1031、第一目标网络设备1032和第二目标网络设备1033。本申请实施例中,以网络设备集群中包括三个网络设备为例进行介绍,且以网络设备集群中的三个网络设备均为与存储集群关联的目标网络设备为例,实际上,网络设备集群中既可以包括目标网络设备,也可以包括与存储集群不关联的其他网络设备等,具体不做限制。客户端101、控制端102、网络设备集群103和存储集群104中的任意两者之间可以通信,通信方式可以是有线通信方式,例如通过连接网线或串口线进行通信;也可以是无线通信方式,例如蓝牙或无线保真(wireless fidelity,WIFI)等技术进行通信,具体不做限制。
客户端101泛指业务层中用户可以直接进行操作的设备,例如,为用户提供资源申请界面的自助平台、监控全部资源的监控平台或为运维人员提供操作资源的运维平台等。客户端101可以是终端设备、终端设备可以访问的第三方应用程序或终端设备可以访问的网页等。
控制端102包括泛指提供云平台资源接口、IP管理或鉴权等功能的设备,例如,增强虚拟参考站网络系统软件(venus)、网络互连(interworking protocol,IP)系统和基于角色访问控制(role based access control,rbac)等,还可以包括泛指提供Iaas服务的设备,例如,包括nova组件用于管理虚拟机的生命周期、映像管理服务(glance)用于管理镜像的生命周期或cinder用于管理卷的生命周期等。控制端102可以是终端设备或服务器等。服务器例如是云服务器或本地服务器等。控制端102可以向网络设备集群103发送数据管理请求,从而可以通过网络设备集群103对存储集群104进行相应的操作。
网络设备集群103泛指可以在控制端102的控制下,与存储集群104进行信息交互的设备。网络设备集群103可以是控制端102与存储集群104之间通信的桥梁,例如,iscsi网关,用于将存储集群暴露给裸机使用。网络设备集群103中的各个网络设备之间需要保证数据同步,从而各个网络设备才可以准确地为相应的控制端102建立与存储集群104之间的通信。
存储集群104泛指可以与网络设备集群103进行信息交互的设备,网络设备集群103中的各个网络设备共用一个存储集群104,例如,ceph存储集群,用于提供块存储服务等。在网络设备集群103中的任一网络设备基于控制端102发送的数据管理请求向存储集群104发送了数据管理指令,用于在存储集群104中执行数据管理操作的同时,网络设备集群103中的各个网络设备需要基于该数据管理请求进行数据同步。在数据管理操作执行成功,以及各个网络设备数据同步成功之后,可以确定存储集群104针对控制端102的数据管理请求响应成功。
控制端102、网络设备集群103和存储集群104均可以采用云计算,以减少本地计算资源的占用;同样也可以采用云存储,以减少本地存储资源的占用。
请参考图3,为本申请实施例提供的数据同步方法的一种原理示意图。主网络设备1031一种方式可以是基于其他设备发送的数据管理指令,向存储集群104发送的数据管理指令。另一种方式,主网络设备1031可以根据如下方法获得数据管理指令。
客户端101基于用户针对显示界面的操作,生成数据管理响应。客户端101向控制端102发送数据管理响应,控制端102接收客户端101发送的数据管理响应。控制端102基于数据管理响应,生成数据管理请求。控制端102在网络设备集群103中选择主网络设备1031,向主网络设备1031发送数据管理请求。主网络设备1031接收控制端102发送的数据管理请求,并基于数据管理请求,生成数据管理指令。
作为一种实施例,控制端102在网络设备集群103中选择主网络设备1031的方法可以是基于负载调度算法选择的,也可以是随机选择的,也可以是根据网络设备集群103中各个网络设备的资源占用情况选择的,也可以是由客户端101指定的等,具体不作限制。
主网络设备1031向存储集群104发送数据管理指令,存储集群104接收主网络设备1031发送的数据管理指令。存储集群104基于数据管理指令,执行数据管理操作,并基于数据管理操作的操作结果,确定待同步数据。存储集群104向与存储集群104关联的第一目标网络设备1032、第二目标网络设备1033和主网络设备1031,分别发送待同步数据。第一目标网络设备1032、第二目标网络设备1033和主网络设备1031基于各自接收的待同步数据,更新各自对应的本地存储数据。
下面,以存储集群104的角度,对本申请实施例提供的数据同步方法进行具体介绍。
请参考图4,为本申请实施例提供的数据同步方法的一种流程示意图。
S401,存储集群104接收主网络设备1031发送的数据管理指令。
存储集群104接收主网络设备1031发送的数据管理指令,数据管理指令用于对存储集群104中的数据进行管理操作,例如,在存储集群104中创建iscsi卷、删除iscsi卷、修改iscsi卷的相关信息或查询iscsi卷等,还可以创建快照或删除快照,还可以回滚等。
作为一种实施例,一种方式,存储集群104与主网络设备1031之间可以基于光纤通信技术进行通信,实现较快的通信速度和较高的通信质量等;另一种方式,主网络设备1031可以部署在存储集群104上,从而存储集群104与主网络设备1031之间可以通过调用接口实现通信,避免了网络传输资源占用较多时,造成的数据传输效率低或数据丢失等情况。
S402,存储集群104基于数据管理指令,执行数据管理操作,并基于数据管理操作的操作结果确定待同步数据。
存储集群104在接收数据管理指令之后,可以基于数据管理指令,执行数据管理操作。例如,数据管理指令指示在存储集群104中创建一个iscsi卷,那么存储集群104基于数据管理指令,可以执行相应的创建一个iscsi卷的操作。在存储集群104执行了数据管理操作之后,产生数据管理操作的操作结果,例如,在执行相应的创建一个iscsi卷的操作之后,相应的操作结果为存储集群104中新增了一个iscsi卷。
作为一种实施例,存储集群104中除了可以响应数据管理操作的数据以外,还可以包括配置数据。配置数据用于表征存储集群104中可以响应数据管理操作的数据的索引信息,例如,iscsi卷的存储位置或iscsi卷的容量大小等。存储集群104在接收数据管理指令之后,还可以接收主网络设备1031发送的配置更新指令。存储集群104在接收配置更新指令之后,可以基于配置更新指令,以及数据管理操作的操作结果,针对配置数据执行相应的配置更新操作。例如,在存储集群104执行了创建一个iscsi卷的操作之后,可以接收主网络设备1031发送的配置更新指令。存储集群104基于配置更新操作,以及新增的一个iscsi卷,在配置数据中新增该一个iscsi卷的索引信息。
在产生数据管理操作的操作结果之后,一种方式,存储集群104可以将当前存储的数据,作为待同步数据。另一种方式,在存储集群104针对配置数据执行了配置更新操作之后,获得更新后的配置数据。存储集群104可以将更新后的而配置数据,作为待同步数据等。
作为一种实施例,请参考图3,客户端103每产生一个数据管理响应,控制端102都会对应生成一个数据管理请求。控制端102可以针对每个数据管理请求,在网络设备集群103中选择一个主网络设备1031。每个主网络设备1031是相对于一个数据管理请求而言的,那么存储集群104在接收主网络设备1031发送的配置更新指令时,可能会接收到多个配置更新指令。如果同时对配置数据执行相应的配置更新操作,可能由于各个配置更新操作同时执行而造成一个配置更新操作已更新的配置数据又被其他配置更新操作更新的内容所覆盖等问题。
因此,可以在存储集群104中设置同步许可请求机制,存储集群104需要在接收配置更新指令之前,先接收主网络设备1031发送的同步许可请求。同步许可请求用于请求向存储集群104发送配置更新指令。存储集群104基于接收的至少一个同步许可请求,针对至少一个同步许可请求对应的主网络设备1031,发送同步许可反馈。在存储集群104向一个主网络设备1031发送了同步许可反馈之后,不会再向其他主网络设备1031发送同步许可反馈。直到接收了同步许可反馈的主网络设备1031,更新成功配置数据之后,存储集群104才会继续接收各个主网络设备1031发送的同步许可请求,进行下一次的同步许可反馈的发送。
只有接收了同步许可反馈的主网络设备1031,才可以向存储集群104发送配置更新指令,从而,避免了存储集群104由于接收多个配置更新指令,造成配置数据更新错误等情况,提高了配置数据更新的准确性。
例如,在存储集群104中设置分布式锁,主网络设备1031先向存储集群104获取分布式锁。主网络设备1031获得了分布式锁,即分布式锁为上锁模式,其他主网络设备1031无法再获得分布式锁。在主网络设备1031获得了分布式锁之后,可以向存储集群104发送配置更新指令,执行相应的配置更新操作。
S403,存储集群104向与存储集群104关联的各个目标网络设备,分别发送待同步数据。
存储集群104在获得待同步数据之后,可以向与存储集群104关联的各个目标网络设备,分别发送待同步数据。与存储集群104关联的各个目标网络设备是存储集群104发送待同步数据的目的地址,与存储集群104关联的各个目标网络设备可以是存储集群104接收的数据管理指令中指示的各个目标网络设备;也可以是与存储集群104之间可以通信的各个目标网络设备;也可以是在存储集群104中注册了监听接口的各个目标网络设备等,具体不做限制。
作为一种实施例,各个目标网络设备可以采用光纤通信技术与存储集群104进行通信,实现较快的通信速度和较高的通信质量等。
下面对各个目标网络设备与存储集群104通过监听接口进行关联的方法进行介绍。
请参考图5a,为目标网络设备在存储集群104中注册监听接口的原理示意图。在目标网络设备启动时,可以在存储集群104中注册一个与自身对应的监听接口。从而,请参考图5b,一种发送数据更新通知的时机是在配置数据更新了之后,另一种发送数据更新通知的时机是在获得数据管理操作的操作结果之后等,存储集群104可以通过监听接口,向对应的目标网络设备发送数据更新通知。使得目标网络设备可以及时地得知存储集群104中的数据已更新,需要对本地存储数据进行同步。
目标网络设备在接收了数据更新通知之后,可以基于数据更新通知向存储集群104发送数据读取指令,存储集群104接收目标网络设备发送的数据读取指令之后,可以向对应的目标网络设备发送待同步数据。在目标网络设备的数量为多个时,存储集群104可以分别向每个目标网络设备发送待同步数据,也可以在各个目标网络设备的范围内广播待同步数据。
请参考图6a,为目标网络设备在存储集群104中注销监听接口的原理示意图。在目标网络设备关闭或不再与存储集群104关联时,可以在存储集群104中注销与自身对应的监听接口。从而,请参考图6b,目标网络设备不再接收存储集群104发送的信息,减少不必要的资源占用。
作为一种实施例,为了便于存储集群104中的数据管理,存储集群104中的数据可以分区存储。请参考图7a,将可以响应于数据管理操作的数据存储与数据池中,将配置数据和同步许可存储与元数据池中。如将iscsi卷存储与数据池中,其他数据存储于元数据池中。
作为一种实施例,监听接口可以注册在配置数据中,请参考图7b,从而,在配置数据更新了之后,可以及时地通知各个目标网络设备。
作为一种实施例,请参考图7c,在存储集群104分别向各个目标网络设备发送了待同步数据,各个目标网络设备基于各自接收的待同步数据更新了本地存储数据之后,如果目标网络设备确定本地存储数据更新成功,可以向存储集群104发送更新成功反馈。更新成功反馈表征相应的目标网络设备成功基于待同步数据更新了本地存储数据。
存储集群104可以对接收的更新成功反馈进行统计,获得与数据管理指令相应的更新成功反馈的反馈数量。存储集群104比对反馈数据与预设的数量阈值是否匹配。如果确定反馈数据与预设的数量阈值相匹配,那么存储集群104确定针对数据管理指令的数据同步成功;如果确定反馈数据与预设的数量阈值不匹配,那么存储集群104确定针对数据管理指令的数据同步失败。
如果数据同步失败,那么存储集群104可以回滚,重新针对数据管理指令进行数据同步;如果数据同步失败,也可以向客户端101发送数据同步失败反馈,等待客户端101的指示。如果客户端101指示重新同步,那么存储集群104可以回滚配置数据,重新针对数据管理指令进行数据同步;如果客户端101指示撤销数据管理指令,那么存储集群104可以回滚数据池中的数据,重新接收数据管理指令等,具体不做限制。
存储集群104比对反馈数据与预设的数量阈值是否匹配的方法可以是,存储集群104比对反馈数据与预设的数量阈值是否相同,也可以是存储集群104比对反馈数据与预设的数量阈值之间的误差是否在预设的误差范围内等,具体不做限制。
下面继续基于图3,以目标网络设备的角度,对本申请实施例提供的数据同步方法进行介绍,以第一目标网络设备1032为例。
请参考图8,为本申请实施例提供的数据同步方法的一种流程示意图。
S801,网络设备集群103中与存储集群104关联的第一目标网络设备1032接收存储集群104发送的待同步数据。
存储集群104向第一目标网络设备1032发送待同步数据的过程可以参照S401~S403中的介绍,在此不再赘述。第一目标网络设备1032接收存储集群104发送的待同步数据,待同步数据可以是存储集群104中数据池中的全部数据,待同步数据也可以是数据管理操作的操作结果对应的部分数据。待同步数据还可以是存储集群104中元数据池中的全部配置数据,待同步数据也可以是配置更新操作的操作结果对应的部分配置数据,不作具体限制。
作为一种实施例,在第一目标网络设备1032接收存储集群104发送的待同步数据之前,第一目标网络设备1032可以通过监听接口接收存储集群104发送的数据更新通知。第一目标网络设备1032基于数据更新通知,确定存储集群104中的数据更新了,从而需要根据存储集群104中的数据同步本地存储数据。因此,第一目标网络设备1032可以向存储集群104发送数据读取指令,以使存储集群104基于数据读取指令向第一目标网络设备1032发送待同步数据。监听接口相关内容,以及存储集群发送待同步数据的过程,可以参照前文S403中的介绍,在此不再赘述。
S802,第一目标网络设备1032基于接收的待同步数据,更新对应的本地存储数据。
请参考图9,第一目标网络设备1032在接收待同步数据之后,可以基于接收的待同步数据,确定待同步数据对应的待同步版本标识。待同步版本标识用于表征存储集群104当前的存储版本,存储集群104中的数据每更新一次,版本标识相应进行一次更新,例如,初始数据为版本0,第一次更新之后的版本为1等。第一目标网络设备1032还可以基于本地存储数据,确定本地存储数据的本地版本标识。本地版本标识用于表征第一目标网络设备1032当前的存储版本。
第一目标网络设备1032在获得待同步版本标识和本地版本标识之后,可以确定待同步版本标识和本地版本标识是否匹配。如果待同步版本标识和本地版本标识匹配,说明第一目标网络设备1032已经更新过本地存储数据了,不需要再进行更新,因此可以不基于待同步数据对本地存储数据进行更新。如果待同步版本标识和本地版本标识不匹配,说明第一目标网络设备1032的本地存储数据与存储集群104中的存储数据不匹配,因此第一目标网络设备1032需要基于待同步数据对本地存储数据进行更新。
确定待同步版本标识和本地版本标识是否匹配的方法可以是,确定待同步版本标识和本地版本标识是否相同,也可以是确定待同步版本标识和本地版本标识中指定部分的内容是否相同等,在此不作限制。
如果第一目标网络设备1032确定待同步版本标识和本地版本标识不匹配,那么第一目标网络设备1032可以对接收的待同步数据进行数据解析,获得数据解析后的待同步数据。数据解析可以是将待同步数据转换为便于更新本地存储数据的数据格式,数据解析也可以是提取出待同步数据中可以用于更新本地存储数据的数据内容等,在此不作限制。
第一目标网络设备1032获得数据解析后的待同步数据之后,可以基于数据解析后的待同步数据更新本地存储数据。
作为一种实施例,第一目标网络设备1032在成功更新了本地存储数据之后,可以向存储集群104反馈成功更新反馈,以使存储集群104确定第一目标网络设备1032已成功更新本地存储数据。
作为一种实施例,目标网络设备中可以根据功能进行模块划分,请参考图10a,第一目标网络设备1032的一种结构示意图。请参考图10b,为第一目标网络设备1032与其他设备之间交互的原理示意图。接口模块可以用于接收控制端102发送的数据管理请求。发布模块可以用于向存储集群104发送数据管理指令、向存储集群104发送配置更新指令,以及向存储集群104发送同步许可请求等。订阅模块可以用于接收存储集群104发送的数据更新通知,以及接收存储集群104发送的待同步数据等。更新模块可以用于基于待同步数据更新本地存储数据等。
下面以控制端102为cinder,网络设备为iscsi网关,存储集群为ceph为例,对本申请实施例提供的数据同步方法进行介绍。请参考图11a,为云平台中一种可能的架构图。针对其中的存储层,请参考图11b,为各个设备之间的交互示意图。cinder在iscsi网关集群中选择第一iscsi网关作为主网络设备,cinder向第一iscsi网关发送数据管理请求,第一iscsi网关接收cinder发送的数据管理请求。第一iscsi网关中的接口(applicationprogramming interface,api)模块基于接收的数据管理请求,生成数据管理指令。第一iscsi网关中的api模块向发布模块发送数据管理指令,发布模块接收api模块发送的数据管理指令。
S1101,第一iscsi网关中的发布模块向ceph中的数据池发送数据管理指令,ceph中的数据池接收第一iscsi网关发送的数据管理指令。数据管理指令用于指示管理数据池中的iscsi卷,例如指示对iscsi卷进行增删改查操作等。
S1102,ceph中的数据池基于数据管理指令,执行相应数据管理操作。
S1103,第一iscsi网关中的发布模块向ceph中的元数据池发送同步许可请求,ceph中的元数据池接收第一iscsi网关发送的同步许可请求。同步许可请求用于请求向ceph发送配置更新指令。
S1104,ceph的元数据池中的存储服务中间层(rados block device,rbd)分布式锁确定自身状态是否为上锁状态,如果是上锁状态,那么不响应第一iscsi网关发送的同步许可请求;如果不是上锁状态,那么像第一iscsi网关发送同步许可反馈,并更新自身状态为上锁状态,第一iscsi网关接收ceph发送的同步许可反馈。
S1105,第一iscsi网关中的发布模块向ceph中的元数据池发送配置更新指令,ceph中的元数据池接收第一iscsi网关发送的配置更新指令。配置更新指令用于指示基于数据管理操作的操作结果,更新元数据池中配置对象中存储的配置数据,例如,配置对象是分布式对象存储(rados对象)。配置更新操作用于更新配置数据中,与数据管理操作的操作结果相关的索引信息。
S1106,ceph中的rados对象基于配置更新指令,更新配置数据中,与数据管理操作的操作结果相关的索引信息,并确定待同步数据。
S1107,ceph的rados对象包括第一iscsi网关、第二iscsi网关和第三iscsi网关在启动时,分别在rados对象中注册的监听接口(watcher),分别为第一监听接口、第二监听接口和第三监听接口。在配置数据更新之后,第一监听接口、第二监听接口和第三监听接口向各自对应的第一iscsi网关的订阅模块、第二iscsi网关的订阅模块和第三iscsi网关中的订阅模块发送数据更新通知,第一iscsi网关的订阅模块、第二iscsi网关的订阅模块和第三iscsi网关的订阅模块分别接收ceph发送的数据更新通知。
S1108,第一iscsi网关、第二iscsi网关和第三iscsi网关分别向ceph中的rados对象发送数据读取指令,ceph中的rados对象分别接收第一iscsi网关、第二iscsi网关和第三iscsi网关发送的数据读取指令。
S1109,ceph中的rados对象分别向第一iscsi网关、第二iscsi网关和第三iscsi网关发送待同步数据,第一iscsi网关、第二iscsi网关和第三iscsi网关分别接收ceph发送的待同步数据。
S1110,第一iscsi网关、第二iscsi网关和第三iscsi网关中的更新模块如果分别确定各自接收的待同步数据的同步版本标识与各自对应的本地存储数据的本地版本标识不匹配,那么基于各自接收的待同步数据,更新各自对应的本地存储数据。如果同步版本标识与本地版本标识匹配,那么不进行本地存储数据的更新。本地存储数据可以存储于内存文件系统(configfs系统)中,内存文件系统用来把linux操作系统内核对象通过文件的形式读和写。例如,创建或删除一个文件或者目录。其中,在使用存储引擎(filestore)的情况下,每个rados对象对应数据盘文件系统上的一个文件,配置数据的版本可以作为rados对象的扩展属性进行存储,版本标识可以是以键值对的形式存储与文件系统的扩展属性中,例如,“epoch”:1000。
S1111,第一iscsi网关、第二iscsi网关和第三iscsi网关分别向ceph反馈更新成功反馈,ceph接收第一iscsi网关、第二iscsi网关和第三iscsi网关分别发送的更新成功反馈。
S1112,ceph基于接收的更新成功反馈,统计更新成功反馈的反馈数量,例如,每获得一个更新成功反馈,num_success+1。在反馈数量与预设的数量阈值相匹配时,确定数据同步成功。这种异步同步的方式,将执行数据管理操作的过程与数据同步的过程分开,不需要等待数据同步成功之后再向客户端101进行反馈,可以在数据管理操作成功之后先反馈一次,在数据同步成功之后再反馈一次,客户端101可以及时地跟进操作进度。
基于同一发明构思,本申请实施例提供一种数据同步装置,该装置相当于前文论述的存储集群104,能够实现前述数据同步方法对应的功能。请参考图12,该装置包括收发模块1201和处理模块1202,其中:
收发模块1201:用于接收主网络设备发送的数据管理指令;
处理模块1202:用于基于数据管理指令,执行数据管理操作,并基于数据管理操作的操作结果确定待同步数据;
收发模块1201还用于:向与数据同步装置关联的各个目标网络设备,分别发送待同步数据,以使各个目标网络设备分别基于各自接收的待同步数据,更新各自对应的本地存储数据,其中,各个目标网络设备中包括主网络设备。
在一种可能的实施例中,处理模块1202具体用于:
接收主网络设备发送的配置更新指令;
基于配置更新指令以及数据管理操作的操作结果,针对配置数据执行相应的配置更新操作,获得更新后的配置数据;其中,配置更新操作用于更新配置数据中,与数据管理操作的操作结果相关的索引信息;
将更新后的配置数据,作为待同步数据。
在一种可能的实施例中,收发模块1201还用于:
在接收主网络设备发送的配置更新指令之前,接收主网络设备发送的同步许可请求,其中,同步许可请求用于请求发送配置更新指令;
基于接收的同步许可请求,确定向主网络设备发送同步许可反馈,以使主网络设备接收同步许可反馈,并基于同步许可反馈,发送配置更新指令。
在一种可能的实施例中,收发模块1201具体用于:
基于各个目标网络设备各自对应的监听接口,向各个目标网络设备分别发送数据更新通知,以使各个目标网络设备分别基于接收的数据更新通知,分别发送数据读取指令,其中,每个监听接口是相应的目标网络设备启动时注册的;
接收各个目标网络设备分别发送的数据读取指令;
基于接收的各个数据读取指令,分别向相应的各个目标网络设备发送待同步数据。
在一种可能的实施例中,收发模块1201还用于:
在向与数据同步装置关联的各个目标网络设备,分别发送待同步数据之后,接收各个目标网络设备分别发送的更新成功反馈,其中,每个更新成功反馈用于表征相应的目标网络设备成功基于待同步数据更新了本地存储数据;
处理模块1202还用于:
统计接收的更新成功反馈的反馈数量;以及,若确定反馈数量与预设的数量阈值相匹配,则确定数据同步成功。
基于同一发明构思,本申请实施例提供一种数据同步装置,该装置相当于前文论述的目标网络设备,能够实现前述数据同步方法对应的功能。请参考图13,该装置包括收发模块1301和处理模块1302,其中:
收发模块1301:用于接收存储集群发送的待同步数据,其中,待同步数据是存储集群按照以下方式获得的:基于网络设备集群中的主网络设备发送的数据管理指令,执行数据管理操作,并基于数据管理操作的操作结果确定待同步数据;
处理模块1302:用于基于接收的待同步数据,更新对应的本地存储数据。
在一种可能的实施例中,数据同步装置为主网络设备,或者,为网络设备集群中除主网络设备之外的其他网络设备。
在一种可能的实施例中,数据同步装置与存储集群基于光纤通信技术进行通信。
在一种可能的实施例中,收发模块1301还用于:
在接收存储集群发送的待同步数据之前,接收数据更新通知,其中,数据更新通知是存储集群基于数据同步装置对应的监听接口发送的,监听接口是数据同步装置启动时,在存储集群中注册的;
基于数据更新通知,向存储集群发送数据读取指令,以使存储集群接收数据读取指令,以及,基于数据读取指令,发送待同步数据。
在一种可能的实施例中,处理模块1302具体用于:
基于待同步数据,以及数据同步装置的本地存储数据,确定待同步数据对应的待同步版本标识,与本地存储数据对应的本地版本标识是否匹配;
若待同步版本标识与本地版本标识不匹配,则对待同步数据进行数据解析,获得数据解析后的待同步数据;
基于数据解析后的待同步数据,更新本地存储数据。
基于同一发明构思,本申请实施例提供一种数据同步系统,该系统包括前述的相当于存储集群104的数据同步装置和前述的相当于目标网络设备的数据同步装置,能够实现前述数据同步方法对应的功能。
基于同一发明构思,本申请实施例提供一种计算机设备,下面对该计算机设备1400进行介绍。
请参照图14,上述数据同步装置可以运行在计算机设备1400上,数据同步程序的当前版本和历史版本以及数据同步程序对应的应用软件可以安装在计算机设备1400上,该计算机设备1400包括显示单元1440、处理器1480以及存储器1420,其中,显示单元1440包括显示面板1441,用于显示由用户交互操作界面等。
在一种可能的实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)或有机发光二极管OLED(Organic Light-Emitting Diode)等形式来配置显示面板1441。
处理器1480用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器1480读取数据同步程序或文件等,从而在该计算机设备1400上运行数据同步程序,在显示单元1440上显示对应的界面。处理器1480可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器1420一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器1420用于存储计算机程序和其他数据,该计算机程序包括各客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器1420中,处理器1480执行存储其中1420中的程序指令,实现前文图论述的任意的一种数据同步方法。
上述显示单元1440用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与计算机设备1400的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元1440可以包括显示面板1441。显示面板1441例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板1441上或在显示面板1441的操作),并根据预先设定的程式驱动相应的连接装置。
在一种可能的实施例中,显示面板1441可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1480,并能接收处理器1480发来的命令并加以执行。
其中,显示面板1441可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元1440,计算机设备1400还可以包括输入单元1430,输入单元1430可以包括图形输入设备1431和其他输入设备1432,其中其他输入设备可以但不限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
除以上之外,计算机设备1400还可以包括用于给其他模块供电的电源1490、音频电路1460、近场通信模块1470和RF电路1410。计算机设备1400还可以包括一个或多个传感器1450,例如加速度传感器、光传感器、压力传感器等。音频电路1460具体包括扬声器1461和麦克风1462等,例如计算机设备1400可以通过麦克风1462采集用户的声音,进行相应的操作等。
作为一种实施例,处理器1480的数量可以是一个或多个,处理器1480和存储器1420可以是耦合设置,也可以是相对独立设置。
作为一种实施例,图14中的处理器1480可以用于实现如图12中的收发模块1201和处理模块1202的功能;或者,可以用于实现如图13中的收发模块1301和处理模块1302的功能。
作为一种实施例,图14中的处理器1480可以用于实现前文论述的测试设备103对应的功能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种数据同步方法,其特征在于,包括:
存储集群接收主网络设备发送的数据管理指令;
所述存储集群基于所述数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定待同步数据;
所述存储集群向与所述存储集群关联的各个目标网络设备,分别发送所述待同步数据,以使所述各个目标网络设备分别基于各自接收的待同步数据,更新各自对应的本地存储数据,其中,所述各个目标网络设备中包括所述主网络设备;
所述基于所述数据管理操作的操作结果确定待同步数据,包括:
所述存储集群接收所述主网络设备发送的配置更新指令;
所述存储集群基于所述配置更新指令以及所述数据管理操作的操作结果,针对配置数据执行相应的配置更新操作,获得更新后的配置数据;其中,所述配置更新操作用于更新配置数据中,与所述数据管理操作的操作结果相关的索引信息;
所述存储集群将所述更新后的配置数据,作为所述待同步数据。
2.根据权利要求1所述的方法,其特征在于,所述存储集群接收所述主网络设备发送的配置更新指令之前,还包括:
所述存储集群接收所述主网络设备发送的同步许可请求,其中,所述同步许可请求用于请求向所述存储集群发送所述配置更新指令;
所述存储集群基于接收的同步许可请求,确定向所述主网络设备发送同步许可反馈,以使所述主网络设备接收所述同步许可反馈,并基于所述同步许可反馈,向所述存储集群发送所述配置更新指令。
3.根据权利要求1或2所述的方法,其特征在于,所述存储集群向与所述存储集群关联的各个目标网络设备,分别发送所述待同步数据,包括:
所述存储集群基于所述各个目标网络设备各自对应的监听接口,向所述各个目标网络设备分别发送数据更新通知,以使所述各个目标网络设备分别基于接收的数据更新通知,向所述存储集群分别发送数据读取指令,其中,每个监听接口是相应的目标网络设备启动时,在所述存储集群中注册的;
所述存储集群接收所述各个目标网络设备分别发送的数据读取指令;
所述存储集群基于接收的各个数据读取指令,分别向相应的各个目标网络设备发送所述待同步数据。
4.根据权利要求1或2所述的方法,其特征在于,在所述存储集群向与所述存储集群关联的各个目标网络设备,分别发送所述待同步数据之后,还包括:
所述存储集群接收所述各个目标网络设备分别发送的更新成功反馈,其中,每个更新成功反馈用于表征相应的目标网络设备成功基于待同步数据更新了本地存储数据;
所述存储集群统计接收的更新成功反馈的反馈数量;
所述存储集群若确定所述反馈数量与预设的数量阈值相匹配,则确定数据同步成功。
5.一种数据同步方法,其特征在于,包括:
网络设备集群中与存储集群关联的目标网络设备接收所述存储集群发送的待同步数据,其中,所述待同步数据是所述存储集群按照以下方式获得的:基于所述网络设备集群中的主网络设备发送的数据管理指令,执行数据管理操作,以及接收所述主网络设备发送的配置更新指令,基于所述配置更新指令以及所述数据管理操作的操作结果,针对配置数据执行相应的配置更新操作,获得更新后的配置数据,所述配置更新操作用于更新配置数据中,与所述数据管理操作的操作结果相关的索引信息,将所述更新后的配置数据,作为所述待同步数据;
所述目标网络设备基于接收的待同步数据,更新对应的本地存储数据。
6.根据权利要求5所述的方法,其特征在于,所述目标网络设备为所述主网络设备,或者,为所述网络设备集群中除所述主网络设备之外的其他网络设备。
7.根据权利要求5或6所述的方法,其特征在于,所述目标网络设备与所述存储集群基于光纤通信技术进行通信。
8.根据权利要求5或6所述的方法,其特征在于,在网络设备集群中与存储集群关联的目标网络设备接收所述存储集群发送的待同步数据之前,还包括:
所述目标网络设备接收数据更新通知,其中,所述数据更新通知是所述存储集群基于所述目标网络设备对应的监听接口发送的,所述监听接口是所述目标网络设备启动时,在所述存储集群中注册的;
所述目标网络设备基于所述数据更新通知,向所述存储集群发送数据读取指令,以使所述存储集群接收所述数据读取指令,以及,基于所述数据读取指令,向所述目标网络设备发送所述待同步数据。
9.根据权利要求5或6所述的方法,其特征在于,所述目标网络设备基于接收的待同步数据,更新对应的本地存储数据,包括:
所述目标网络设备基于所述待同步数据,以及所述目标网络设备的本地存储数据,确定所述待同步数据对应的待同步版本标识,与所述本地存储数据对应的本地版本标识是否匹配;
若所述待同步版本标识与所述本地版本标识不匹配,则所述目标网络设备对所述待同步数据进行数据解析,获得数据解析后的待同步数据;
所述目标网络设备基于所述数据解析后的待同步数据,更新所述本地存储数据。
10.一种数据同步装置,其特征在于,包括:
收发模块:用于接收主网络设备发送的数据管理指令;
处理模块:用于基于所述数据管理指令,执行数据管理操作,并基于所述数据管理操作的操作结果确定待同步数据;
所述收发模块还用于:向与所述数据同步装置关联的各个目标网络设备,分别发送所述待同步数据,以使所述各个目标网络设备分别基于各自接收的待同步数据,更新各自对应的本地存储数据,其中,所述各个目标网络设备中包括所述主网络设备;
所述基于所述数据管理操作的操作结果确定待同步数据,所述处理模块具体用于:
接收所述主网络设备发送的配置更新指令;
基于所述配置更新指令以及所述数据管理操作的操作结果,针对配置数据执行相应的配置更新操作,获得更新后的配置数据;其中,所述配置更新操作用于更新配置数据中,与所述数据管理操作的操作结果相关的索引信息;
将所述更新后的配置数据,作为所述待同步数据。
11.一种数据同步装置,其特征在于,包括:
收发模块:用于接收存储集群发送的待同步数据,其中,所述待同步数据是所述存储集群按照以下方式获得的:基于网络设备集群中的主网络设备发送的数据管理指令,执行数据管理操作,以及接收所述主网络设备发送的配置更新指令,基于所述配置更新指令以及所述数据管理操作的操作结果,针对配置数据执行相应的配置更新操作,获得更新后的配置数据,所述配置更新操作用于更新配置数据中,与所述数据管理操作的操作结果相关的索引信息,将所述更新后的配置数据,作为所述待同步数据;
处理模块:用于基于接收的待同步数据,更新对应的本地存储数据。
12.一种数据同步系统,其特征在于,包括如权利要求10所述的数据同步装置和如权利要求11所述的数据同步装置。
13.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1~9中任一项所述的方法。
14.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110318938.8A CN113010498B (zh) | 2021-03-25 | 2021-03-25 | 一种数据同步方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110318938.8A CN113010498B (zh) | 2021-03-25 | 2021-03-25 | 一种数据同步方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010498A CN113010498A (zh) | 2021-06-22 |
CN113010498B true CN113010498B (zh) | 2023-08-08 |
Family
ID=76406993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110318938.8A Active CN113010498B (zh) | 2021-03-25 | 2021-03-25 | 一种数据同步方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010498B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115687527B (zh) * | 2022-11-09 | 2023-10-10 | 北京北纬三十度网络科技有限公司 | 一种基于区块链大数据的存储系统 |
CN116244040B (zh) * | 2023-03-10 | 2024-05-03 | 安超云软件有限公司 | 一种主备容器集群系统及其数据同步方法、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600553B1 (en) * | 2014-05-31 | 2017-03-21 | Veritas Technologies Llc | Distributed replication in cluster environments |
CN110784515A (zh) * | 2019-09-19 | 2020-02-11 | 平安科技(深圳)有限公司 | 基于分布式集群的数据存储方法、及其相关设备 |
CN111343277A (zh) * | 2020-03-04 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 分布式数据存储方法、系统、计算机设备和存储介质 |
CN111736762A (zh) * | 2020-05-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 数据存储网络的同步更新方法、装置、设备及存储介质 |
CN111930851A (zh) * | 2020-09-25 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 区块链网络的管控数据处理方法、装置、介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353870B2 (en) * | 2016-02-17 | 2019-07-16 | Netapp Inc. | Tracking structure for data replication synchronization |
JP2019219954A (ja) * | 2018-06-20 | 2019-12-26 | 株式会社日立製作所 | クラスタストレージシステム、データ管理制御方法、データ管理制御プログラム |
-
2021
- 2021-03-25 CN CN202110318938.8A patent/CN113010498B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600553B1 (en) * | 2014-05-31 | 2017-03-21 | Veritas Technologies Llc | Distributed replication in cluster environments |
CN110784515A (zh) * | 2019-09-19 | 2020-02-11 | 平安科技(深圳)有限公司 | 基于分布式集群的数据存储方法、及其相关设备 |
CN111343277A (zh) * | 2020-03-04 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 分布式数据存储方法、系统、计算机设备和存储介质 |
CN111736762A (zh) * | 2020-05-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 数据存储网络的同步更新方法、装置、设备及存储介质 |
CN111930851A (zh) * | 2020-09-25 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 区块链网络的管控数据处理方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113010498A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750607B2 (en) | Identifying accounts having shared credentials | |
US10277673B2 (en) | Local server for synced online content management system | |
US11635990B2 (en) | Scalable centralized manager including examples of data pipeline deployment to an edge system | |
EP3103239B1 (en) | Cloud service custom execution environment | |
EP2156308B1 (en) | Extensible and programmable multi-tenant service architecture | |
US9716720B2 (en) | Unregistered user account generation for content item sharing | |
US10097659B1 (en) | High performance geographically distributed data storage, retrieval and update | |
US9672123B2 (en) | Deploying services on application server cloud with high availability | |
CN113010498B (zh) | 一种数据同步方法、装置、计算机设备及存储介质 | |
US20120239814A1 (en) | Clustered computer environment partition resolution | |
US9930063B2 (en) | Random identifier generation for offline database | |
WO2019047976A1 (zh) | 网络文件管理方法、终端及计算机可读存储介质 | |
US11132126B1 (en) | Backup services for distributed file systems in cloud computing environments | |
US20140214956A1 (en) | Method and apparatus for managing sessions of different websites | |
US20240015143A1 (en) | Cross-regional replication of keys | |
CN112256676A (zh) | 一种数据库迁移的方法、装置、设备和介质 | |
US10078433B2 (en) | Sharing a template file | |
US20220382637A1 (en) | Snapshotting hardware security modules and disk metadata stores | |
WO2023204884A1 (en) | Framework for configurable per-service security settings in a forward proxy | |
US20240256525A1 (en) | Decentralized policy-based transactional object management for federated workflows | |
WO2016209717A1 (en) | Integration and synchronization using a virtual data provider | |
WO2022250826A1 (en) | Managing keys across a series of nodes, based on snapshots of logged client key modifications | |
KR20210043523A (ko) | 데이터 마이닝 시스템, 방법, 장치, 전자 기기 및 저장 매체 | |
CN115113800A (zh) | 多集群管理方法、装置、计算设备及存储介质 | |
CN117278572A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046447 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |