CN111522798A - 数据同步方法、装置、设备及可读存储介质 - Google Patents
数据同步方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111522798A CN111522798A CN202010556933.4A CN202010556933A CN111522798A CN 111522798 A CN111522798 A CN 111522798A CN 202010556933 A CN202010556933 A CN 202010556933A CN 111522798 A CN111522798 A CN 111522798A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- migration
- source
- sample data
- 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.)
- Granted
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据同步方法、装置、设备及可读存储介质,涉及数据迁移领域。该方法包括:获取源端数据库和目标端数据库,源端数据库中包括源端数据;从源端数据中采集样本数据;通过样本数据进行预迁移检查;响应于样本数据迁移成功,启动将源端数据传输至目标端数据库进行同步存储。在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
Description
技术领域
本申请实施例涉及数据迁移领域,特别涉及一种数据同步方法、装置、设备及可读存储介质。
背景技术
数据传输服务(Data Transmission Service,DTS)又称数据迁移服务,是一种支持多种同构或者异构数据库之间,数据同步的服务,在数据迁移的过程中,需要经过迁移配置、迁移检查以及正式迁移三个主要过程。
相关技术中,在迁移检查过程中,通过知识库方式进行检查,即,人工调研每个数据库的特性,分析在数据迁移的过程中可能存在异常的地方作为知识,并将知识积累成知识库的规则提供给检查程序,在迁移检查阶段,检查程序将源端和目标端的数据库与知识库的规则进行匹配,从而确定数据迁移是否存在兼容性问题,确定数据迁移能否正常完成。
然而,通过上述方式进行迁移检查时,由于数据库的版本较多,各版本之间的兼容情况差别较大,导致知识库的知识规则复杂度较高,且数据库版本更新较快,导致知识库的规则无法适应数据库的版本更新,迁移检查的准确率较低,导致数据迁移成功率较低。
发明内容
本申请实施例提供了一种数据同步方法、装置、设备及可读存储介质,可以提高数据迁移的成功率和效率。所述技术方案包括如下方面。
一方面,提供了一种数据同步方法,所述方法包括:
获取源端数据库和目标端数据库,所述源端数据库中包括源端数据,所述源端数据为待传输至所述目标端数据库进行同步存储的数据;
从所述源端数据中采集样本数据;
通过所述样本数据对所述源端数据库和所述目标端数据库之间的数据迁移进行预迁移检查;
响应于所述样本数据迁移成功,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
另一方面,提供了一种数据同步装置,所述装置包括:
获取模块,用于获取源端数据库和目标端数据库,所述源端数据库中包括源端数据,所述源端数据为待传输至所述目标端数据库进行同步存储的数据;
采集模块,用于从所述源端数据中采集样本数据;
迁移模块,用于通过所述样本数据对所述源端数据库和所述目标端数据库之间的数据迁移进行预迁移检查;
传输模块,用于响应于所述样本数据迁移成功,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的数据同步方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的数据同步方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中任一所述的数据同步方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性的实施例提供的数据迁移的整体过程流程图;
图2是本申请一个示例性实施例提供的数据迁移过程的阶段示意图;
图3是本申请一个示例性实施例提供的数据同步方法的流程图;
图4是本申请一个示例性的实施例提供的数据迁移过程的整体流程图;
图5是本申请另一个示例性实施例提供的数据同步方法的流程图;
图6是基于图5示出的实施例提供的预迁移数据库选择界面的示意图;
图7是基于图5示出的实施例提供的实例管理模块的结构示意图;
图8是本申请另一个示例性实施例提供的数据同步方法的流程图;
图9是本申请一个示例性实施例提供的预迁移过程的整体流程图;
图10是本申请一个示例性实施例提供的数据同步装置的结构框图;
图11是本申请另一个示例性实施例提供的数据同步装置的结构框图;
图12是本申请一个示例性的实施例提供的服务器的结构框图;
图13是本申请一个示例性的实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
数据库(Database):简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(Database Management System,DBMS):是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible Markup Language,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured Query Language)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
数据传输服务(Data Transmission Service,DTS):又称数据迁移服务,是一种支持多种同构或者异构数据库之间进行数据同步的服务,在数据迁移的过程中,需要经过迁移配置、迁移检查以及正式迁移三个主要过程。其中,异构数据库是指不同的数据库产品,或拥有不同数据定义、不同功能定义的数据库。
可选地,在数据迁移过程中,需要将源端数据库的结构数据和源端数据都迁移至目标端数据库中,也即,通过源端数据库的结构数据对目标端数据库进行配置后,将源端数据迁移并存储至配置好的目标端数据库中。其中,结构数据是指数据库纲要(schema),是schema对象的总称,其中,schema对象包括表(table)、列(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等对象中的至少一种。
可选地,本申请实施例中涉及的数据库可以是存储在物理设备中的数据库,也可以是存储在云端服务器中的数据库。
结合上述数据库的存储类型,数据库迁移工具也可以分为传统数据迁移服务和云数据迁移服务,其中,传统数据迁移服务通常为独立运行的服务程序,运行在用户的网络环境内;云数据迁移服务则是云厂商提供的数据库数据迁移服务。
可选地,传统数据迁移服务中,迁移的源端数据库和目标端数据库较为明确,故兼容性问题较少,针对兼容性问题能够通过定制化方式解决;而云数据迁移服务的使用场景较为复杂,源端数据库和目标端数据库不可控,故需要在数据迁移之前进行迁移检查。
示意性的,请参考图1,其示出了相关技术中进行数据迁移的整体过程流程图,如图1所示,该过程中包括迁移配置阶段110、迁移检查阶段120以及正式迁移阶段130。
其中,迁移配置阶段110是指对数据迁移对应的源端数据库地址、目标端数据库地址、需要迁移的源端数据库schema、需要迁移的源端数据库中的源端数据等配置信息,配置到迁移服务中;
迁移检查阶段120是指迁移服务根据配置信息检查是否存在会产生的错误,迁移服务是否指示该数据迁移,以及迁移服务是否能够将待迁移的内容从源端数据库准确迁移至目标端数据库;
正式迁移阶段130即,将源端数据库中的内容迁移至目标端数据库的过程。
相关技术中,在迁移检查阶段120中,通过知识库方式进行检查,即,人工调研每个数据库的特性,分析在数据迁移的过程中可能存在异常的地方作为知识,并将知识积累成知识库的规则提供给检查程序,在迁移检查阶段,检查程序将源端和目标端的数据库与知识库的规则进行匹配,从而确定数据迁移是否存在兼容性问题,确定数据迁移能否正常完成。
然而,上述方式至少存在如下问题。
1、数据库对应的知识库的规则较复杂。如:MySQL数据库允许跨库建立视图,且允许基于视图创建视图,导致复杂的级联依赖。当用户选择迁移其中一个视图时,难以确定其依赖关系是否满足要求。且单个特性的检查复杂度本身较高,而在一些特殊情况下,业务恰好依赖了数据库产品因为漏洞(bug)而产生的行为,则该情况下仅能引入数据库产品源代码以解决迁移过程中产生的问题。
2、数据迁移过程中的源端数据库和目标端数据库,相互兼容的情况差别较大,则知识库的规则也较复杂。相同的数据库产品,不同版本间也会存在迁移的兼容问题。以MySQL数据库为例,MySQL 5.7中的虚拟列和JS 对象简谱 (JavaScript Object Notation,JSON)列在MySQL 5.6中就不支持。如果是异构数据库,则有更多的不同,复杂度成几何上升,例如Oracle数据库所支持的Number类型,MySQL数据库并不直接支持,存在schema和数据类型转换的需要。
3、知识库的规则更新难以跟上数据库新版本发布的节奏,用户使用的数据库版本较新,而数据迁移服务的知识库规则还未更新;或用户使用的是一些私有的修改版本,则无法确定准确的规则。从而,知识库的规则更新存在滞后性,难以全面检查出兼容问题。
由于数据库的迁移为一项耗时较长的工程,通常会持续多日,若在迁移过程中产生问题,或者待迁移完成发现数据不一致,迁移失败,对用户的数据安全和业务连续性产生较大影响。
综合上述问题,本申请实施例提供了一种数据同步方法,示意性的,请参考图2,其示出了本申请一个示例性实施例提供的数据迁移过程的阶段示意图,如图2所示,该过程中包括:迁移配置阶段210、迁移检查阶段220、预迁移检查阶段230以及正式迁移阶段240。
其中,迁移配置阶段210请参考如图1所示的迁移配置阶段110;迁移检查阶段220请参考如图1所示的迁移检查阶段120,正式迁移阶段240请参考如图1所示的正式迁移阶段130;
也即,在图1所示的过程基础上,本申请实施例中增加了预迁移检查阶段230,其中,预迁移检查阶段230中,通过从源端数据库中的源端数据中采集样本数据进行预迁移,从而确定源端数据的迁移过程是否会产生问题。
值得注意的是,本申请实施例提供的数据同步方法,可以由终端实现,也可以由服务器实现,还可以由终端和服务器协同实现。其中,终端包括智能手机、平板电脑、便携式膝上笔记本电脑、台式计算机、智能音箱、智能可穿戴设备等终端中的至少一种,服务器可以是物理服务器,也可以是提供云计算服务的云服务器,且服务器可以实现为一台服务器,也可以是多个服务器构成的服务器集群或分布式系统。其中,当终端和服务器协同实现本申请实施例提供的方案时,终端和服务器可以通过有线或无线通信方式进行直接或间接连接,本申请实施例对此不加以限定。
结合上述说明,对本申请实施例中提供的数据同步方法进行说明,图3是本申请一个示例性实施例提供的数据同步方法的流程图,以该方法应用于服务器中为例进行说明,如图3所示,该方法包括如下步骤。
步骤301,获取源端数据库和目标端数据库,源端数据库中包括源端数据。
可选地,源端数据为待传输至目标端数据库进行同步存储的数据。
可选地,源端数据库中还包括结构数据(即数据库schema),源端数据在结构数据的基础上进行存储,在将源端数据库中的源端数据传输至目标端数据库进行同步存储之前,还需要将源端数据库的结构数据传输至目标端数据库进行存储。
可选地,源端数据库和目标端数据库为用户选择的数据库,可选地,用户在终端上对源端数据库地址和目标端数据库地址进行设定后,向服务器发送源端数据库地址和目标端数据库地址,从而服务器确定源端数据库和目标端数据库。
可选地,用户还需要对需要迁移的源端数据库schema、需要迁移的源端数据库中的源端数据等信息进行配置。
可选地,源端数据库和目标端数据库可以是同构数据库,也可以是异构数据库。可选地,源端数据库可以是传统数据库,也可以是云端数据库;目标端数据库可以是传统数据库,也可以是云端数据库,本申请实施例对此不加以限定。
步骤302,从源端数据中采集样本数据。
可选地,从源端数据中采集样本数据的方式包括如下方式中的至少一种。
第一,在源端数据中进行随机选择,得到n个源端数据作为样本数据,n为正整数;其中,n可以是预设值,也可以是随机生成的值。
第二,在源端数据中按照预设规律进行采样,得到样本数据。
示意性的,对符合预设要求的源端数据进行采集,得到样本数据,如:对数据类型为目标类型的源端数据进行采集,得到样本数据;或,m种数据类型分别在源端数据中进行一次采集,得到m个源端数据作为样本数据,m为正整数,且m可以是预设值,也可以根据数据类型的类型数量确定得到的数值。
第三,源端数据库中还包括结构数据,源端数据在结构数据的基础上进行存储,则根据结构数据中的对象类型,从源端数据中针对结构数据分别进行采样,得到样本数据。
可选地,从每个schema中进行采样,得到样本数据。可选地,从每个schema中进行随机采样,得到样本数据。
可选地,样本数据的数据量需要小于数据量要求,可选地,样本数据的数据量占源端数据总量的预设比例,且样本数据的数据量,以导入耗时为秒级为要求进行选取。
可选地,样本数据为从源端数据中采集的,用于对源端数据库和目标端数据库之间的数据迁移进行预迁移的数据,故,在采集样本数据时,从每个schema中进行采样,从而针对每个schema都有对应的样本数据用于对该schema下的数据迁移进行测试。
步骤303,通过样本数据对源端数据库和目标端数据库之间的数据迁移进行预迁移检查。
可选地,在通过样本数据对源端数据库和目标端数据库之间的数据迁移进行预迁移检查时,包括如下方式中的至少一种。
第一,直接将样本数据传输至目标端数据库进行存储,并根据样本数据的存储结果对数据迁移进行预迁移检查。
第二,确定与目标端数据库对应的预迁移数据库,该目标端数据库和预迁移数据库对应相同的数据功能定义方式,将样本数据迁移至预迁移数据库进行存储。
可选地,目标端数据库和预迁移数据库属于相同的数据库产品。
示意性的,目标端数据库与预迁移数据库皆属于MySQL数据库。
可选地,目标端数据库与预迁移数据库可以是相同的版本,也可以是不同的版本,如:目标端数据库为MySQL5.7版本,而预迁移数据库为MySQL5.6版本。
可选地,预迁移数据库包括如下情况中的至少一种。
第一,预迁移数据库与目标端数据库为同一个数据库;也即,直接将目标端数据库确定为预迁移数据库。
第二,从云端服务器中确定一个与目标端数据库属于相同产品和/或版本的数据库。
其中,云端服务器中提供了候选数据库,则从候选数据库中选择与目标端数据库属于相同产品和/或版本的数据库。示意性的,目标端数据库为MySQL 5.7版本,候选数据库中未提供MySQL 5.7版本,而提供了MySQL 5.6版本,则将MySQL 5.6版本的数据库确定为预迁移数据库。
可选地,从候选数据库中选择预迁移数据库的过程可以是用户主动选择的,也可以是服务器根据目标端数据库的产品类型和版本类型从候选数据库中选择的相似度最高的。
可选地,候选数据库为指定云端服务器中提供的数据库,示意性的,候选数据库为云技术公司A提供的云端服务器中的数据库。
第三,获取用户指定的预迁移数据库的地址,并将该地址对应的数据库确定为预迁移数据库。
示意性的,目标端包括数据库A和数据库B,其中,数据库A和数据库B的数据定义、功能定义相同或者相近,数据库A用于生产,而数据库B用于研发,则将数据库A确定为目标端数据库,并对应将数据库B确定为预迁移数据库,并将数据库B的地址发送至服务器,由服务器将数据库B确定为预迁移数据库。
可选地,该用户指定的预迁移数据库的地址,可以是任意云端服务器中的数据库地址,示意性的,预迁移数据库的地址为用户配置的云技术公司B提供的云端服务器中的数据库。
步骤304,响应于样本数据迁移成功,启动将源端数据库中的源端数据传输至目标端数据库进行同步存储。
可选地,当样本数据迁移成功时,则表示源端数据库和目标端数据库之间的数据迁移在样本数据的基础上不存在兼容问题,故,启动将源端数据传输至目标端数据库进行同步存储。
可选地,样本数据迁移成功的判定,需要符合如下条件中的至少一种。
第一,样本数据能够迁移并存储至预迁移数据库中。
第二,样本数据存储后的在预迁移数据库中形成的预迁移数据,与样本数据本身一致,其中,包括数据格式一致、数据值一致、保留位一致等情况中的至少一种。
第三,在样本数据迁移之前,首先需要将源端数据库中的结构数据进行迁移,则还需要满足结构数据迁移成功。
综上所述,本申请实施例提供的数据同步方法,在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
示意性的,图4是本申请一个示例性的实施例提供的数据迁移过程的整体流程图,如图4所示,该过程中包括如下步骤。
步骤401,用户配置迁移任务。
可选地,对数据迁移对应的源端数据库地址、目标端数据库地址、需要迁移的源端数据库schema、需要迁移的源端数据库中的源端数据等配置信息,配置到迁移服务中。
步骤402,迁移检查。
可选地,根据配置信息检查是否存在会产生的错误,迁移服务是否指示该数据迁移,以及迁移服务是否能够将待迁移的内容从源端数据库准确迁移至目标端数据库。
步骤403,判断迁移检查是否通过。
步骤404,当迁移检查通过时,配置预迁移检查。
可选地,当迁移检查通过时,从源端数据库的源端数据中获取样本数据进行预迁移。
步骤405,预迁移检查。
可选地,将样本数据传输至目标端数据库;或,将样本数据传输至预迁移数据库,结合样本数据的迁移进行预迁移检查。
步骤406,判断预迁移检查是否通过。
可选地,当样本数据成功迁移时,则预迁移检查通过;反之,当样本数据未成功迁移,则预迁移检查不通过。
步骤407,当预迁移检查未通过时,判断是否重新配置迁移任务。
步骤408,当预迁移检查通过时,正式迁移。
步骤409,判断迁移是否成功。
有上述图4可知,步骤404至步骤407为针对预迁移检查增加的步骤,用于通过样本数据完成预迁移检查,从而提高最终源端数据迁移的成功率。
在一个可选的实施例中,预迁移检查是通过将样本数据传输至预迁移数据库实现的,图5是本申请另一个示例性实施例提供的数据同步方法的流程图,以该方法应用于计算机设备中为例,如图5所示,该方法包括如下步骤。
步骤501,获取源端数据库和目标端数据库,源端数据库中包括源端数据。
可选地,源端数据为待传输至目标端数据库进行同步存储的数据。
可选地,源端数据库和目标端数据库为用户选择的数据库,可选地,用户在终端上对源端数据库地址和目标端数据库地址进行设定后,向服务器发送源端数据库地址和目标端数据库地址,从而服务器确定源端数据库和目标端数据库。
步骤502,从源端数据中采集样本数据。
可选地,从每个schema中进行采样,得到样本数据。可选地,从每个schema中进行随机采样,得到样本数据。
可选地,样本数据的数据量需要小于数据量要求,可选地,样本数据的数据量占源端数据总量的预设比例。
可选地,样本数据为从源端数据中采集的,用于对源端数据库和目标端数据库之间的数据迁移进行预迁移的数据,故,在采集样本数据时,从每个schema中进行采样,从而针对每个schema都有对应的样本数据用于对该schema下的数据迁移进行测试。
步骤503,确定与目标端数据库对应的预迁移数据库,目标端数据库和预迁移数据库对应相同的数据功能定义方式。
可选地,预迁移数据库包括如下情况中的至少一种。
第一,预迁移数据库与目标端数据库为同一个数据库;也即,直接将目标端数据库确定为预迁移数据库。
第二,从云端服务器中确定一个与目标端数据库属于相同产品和/或版本的数据库。
第三,获取用户指定的预迁移数据库的地址,并将该地址对应的数据库确定为预迁移数据库。
可选地,在确定预迁移数据库时,首先在终端中显示预迁移数据库选择界面,该预迁移数据库选择界面中包括数据库选择区域,且数据库选择区域中包括目标数据库对应的第一数据库选项、云数据库对应的第二数据库选项和自定义数据库对应的第三数据库选项;其中,在数据库选择区域中接收对数据库选项的选择操作,并将数据库选项对应的数据库作为预迁移数据库。
可选地,当选择操作是对目标端数据库进行选择时,则直接将该目标端数据库作为预迁移数据库,进行预迁移检查。
可选地,当选择操作是对云数据库进行选择时,也即预迁移数据库包括云数据库时,接收对第二数据库选项的选择操作,该第二数据库选项还对应有候选框,候选框中包括云数据库中的候选数据库;则将选择操作确定为对候选框中被选定的数据库进行选择。
可选地,云数据库中包括的候选数据库为云端服务器中提供的数据库,在候选框中,能够对云端服务器中提供的候选数据库的产品名称以及版本进行选择,从而确定预迁移数据库的数据库产品和版本号。在预迁移过程中,将样本数据上传至云端数据库进行存储,在保障准确性的基础上,不占用用户的自有资源。
可选地,当选择操作是对自定义数据库进行选择时,也即预迁移数据库包自定义数据库时,接收对第三数据库选项的选择操作,第三数据库选项还对应有配置信息填写区域,确定配置信息填写区域中配置信息对应的数据库,并将选择操作确定的岗位对配置信息对应的数据库的选择。
可选地,该用户指定的自定义数据库,可以是任意云端服务器中的数据库,也可以是用户自行创建的数据库。
示意性的,请参考图6,其示出了本申请一个示例性实施例提供的预迁移数据库选择界面的示意图,如图6所示,在预迁移数据库选择界面600中包括数据库选择区域610,其中包括目标数据库对应的第一数据库选项611、云数据库对应的第二数据库选项612和自定义数据库对应的第三数据库选项613。第二数据库选项612还对应有候选框620,其中显示有当前被选择的云数据库;第三数据库选项613还对应有配置信息填写区域630,其中,包括填写框631、填写框632和填写框633,其中,填写框631用于指示自定义的预迁移数据库的地址;填写框632用于指示自定义的预迁移数据库的用户名;填写框633用于指示自定义的预迁移数据库的访问密码。
可选地,预迁移数据库选择界面600中还包括行为选项640,该行为选项640用于指示在预迁移完成后,清除预迁移数据库中的预迁移数据,可选地,当上述被选择的预迁移数据库为第二数据库选项612对应的数据库时,该行为选项640默认需要选择,且不可取消。
其中,当本申请实施例由终端执行时,则上述过程直接在终端中完成;而当本申请实施例由终端和服务器协同完成时,终端在接收到选择操作后,将被选择的预迁移数据库的信息发送至服务器,由服务器进行预迁移检查。
值得注意的是,当上述选择操作对应第二数据库选项对应的云端数据库时,在云端服务器中设置有实例管理模块,用于实现不同数据库之间独立的资源管理和作业调度。示意性的,请参考图7,云端服务器将接收到的预迁移检查请求710,通过任务队列720传递至作业调度器730,其中,作业调度器730根据被选择的预迁移数据库的产品和版本,将预迁移任务传递至作业执行器740,不同的作业执行器740,负责不同的数据库产品类型,并通过实例池管理模块750,将预迁移任务下发到各个产品的数据库实例池进行预迁移检查。
其中,对于高频次业务,以MySQL数据库的数据迁移为例,将维护一个由若干不同版本的空闲MySQL数据库服务构成的实例池。实例池由实例池管理模块750进行管理。该实例池管理模块750提供对实例池进行实例健康监测,高可用管理,状态隔离,命令下发等管理能力,以维持健康可用的实例池供作业执行。
可选地,作业执行器740收到作业调度器730发来的任务时,会向实例池管理模块750申请空闲的特定版本实例,将该实例作为执行预迁移检查的目标实例。检查作业执行完成后,作业执行器740执行清理动作,并将实例交还实例池管理模块750。
对于使用频率低的数据库类型,实例池管理模块750在收到作业执行器740的实例申请时,会动态实例化对应类型的数据库服务,而在作业执行器740使用完成后销毁该数据库服务。
整个云上实例管理子模块,仅有作业执行器740与实例池管理模块750会与特定类型的数据库业务产生耦合,其他模块均独立且通用,提高了易维护性,降低了开发和维护成本。
步骤504,将样本数据迁移至预迁移数据库进行存储。
可选地,当样本数据迁移成功时,则表示源端数据库和目标端数据库之间的数据迁移在样本数据的基础上不存在兼容问题;而当样本数据迁移过程中出现问题时,则表示源端数据库和目标端数据库之间的数据迁移存在兼容问题。
步骤505,响应于样本数据迁移成功,启动将源端数据库中的源端数据传输至目标端数据库进行同步存储。
可选地,样本数据迁移成功的判定,需要符合如下条件中的至少一种。
第一,样本数据能够迁移并存储至预迁移数据库中。
第二,样本数据存储后的在预迁移数据库中形成的预迁移数据,与样本数据本身一致,其中,包括数据格式一致、数据值一致、保留位一致等情况中的至少一种。
可选地,本申请实施例中,当样本数据和预迁移数据的数据格式、数据值、保留位皆一致时,确定样本数据迁移成功。
第三,在样本数据迁移之前,首先需要将源端数据库中的结构数据进行迁移,则还需要满足结构数据迁移成功。
综上所述,本申请实施例提供的数据同步方法,在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
本实施例提供的方法,通过将样本数据传输至目标端数据库或云端数据库或自定义数据库,以通过样本数据对数据迁移过程进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
在一个可选的实施例中,通过源端数据库还包括结构数据,也即数据库schema,源端数据在源端数据库中在schema的基础上存储。图8是本申请另一个示例性实施例提供的数据同步方法的流程图,如图8所示,该方法包括如下步骤。
步骤801,获取源端数据库和目标端数据库,源端数据库中包括源端数据。
可选地,源端数据为待传输至目标端数据库进行同步存储的数据。
可选地,源端数据库和目标端数据库为用户选择的数据库,可选地,用户在终端上对源端数据库地址和目标端数据库地址进行设定后,向服务器发送源端数据库地址和目标端数据库地址,从而服务器确定源端数据库和目标端数据库。
步骤802,根据结构数据中的对象类型,从源端数据中针对对象类型分别进行采样,得到样本数据。
可选地,结构数据是指数据库的纲要(schema),是schema对象的总称,其中,schema对象包括表(table)、列(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等对象中的至少一种。
根据源端数据库结构数据的对象类型,将每个schema对象对应的数据确定的样本数据,且,在确定样本数据时,随机选择与每个schema对象对应的数据作为样本数据。
步骤803,确定与目标端数据库对应的预迁移数据库,目标端数据库和预迁移数据库对应相同的数据功能定义方式。
可选地,在确定预迁移数据库时,首先在终端中显示预迁移数据库选择界面,该预迁移数据库选择界面中包括数据库选择区域,且数据库选择区域中包括目标数据库对应的第一数据库选项、云数据库对应的第二数据库选项和自定义数据库对应的第三数据库选项;其中,在数据库选择区域中接收对数据库选项的选择操作,并将数据库选项对应的数据库作为预迁移数据库。
步骤804,将结构数据迁移至预迁移数据库进行数据库设置。
可选地,预迁移检查schema的兼容性,使用与源端数据迁移相同的算法,将schema从源端数据库导入到预迁移数据库中。若有报错则判断迁移失败,成功则证明兼容性无误。
然而,有些兼容性,在迁移数据时才能得以发现,例如schema在目标端发生了隐式类型转换,只有导入样本数据才能发现异常。
步骤805,响应于通过结构数据进行数据库设置成功,将样本数据迁移至预迁移数据库进行存储。
可选地,当样本数据迁移成功时,则表示源端数据库和目标端数据库之间的数据迁移在样本数据的基础上不存在兼容问题;而当样本数据迁移过程中出现问题时,则表示源端数据库和目标端数据库之间的数据迁移存在兼容问题。
步骤806,响应于样本数据迁移至预迁移数据库,获取预迁移数据库中的预迁移数据。
可选地,在样本数据迁移并存储至预迁移数据库后,还需要对样本数据迁移的结果进行确定,也即,确定样本数据迁移后,数据格式、数值等是否发生改变。
也即,在样本数据迁移后,获取预迁移数据库中存储的预迁移数据。
步骤807,将样本数据与预迁移数据进行比对。
步骤808,响应于样本数据与预迁移数据一致,启动将源端数据库中的源端数据传输至目标端数据库进行同步存储。
可选地,响应于样本数据与预迁移数据一致,确定预迁移检查通过,并清空预迁移数据库。
综上所述,本申请实施例提供的数据同步方法,在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
本实施例提供的方法,在数据迁移过程中,与特定数据库产品耦合的工作得到简化,能快速且准确支持市场上新的数据库产品和版本,有利于提高云数据库迁移服务的普适能力。
示意性的,图9是本申请一个示例性实施例提供的预迁移过程的整体流程图,该过程中包括如下步骤。
步骤901,配置预迁移检查。
可选地,在确定源端数据库和目标端数据库后,首先进行迁移检查,并在迁移检查通过后,对预迁移检查进行配置,如:配置预迁移检查的预迁移数据库。
步骤902,配置预迁移目标数据。
可选地,从源端数据库中根据schema分别进行采样,得到目标数据。
步骤903,使用自定义实例进行预迁移检查。
可选地,该自定义示例为用户指定地址对应的数据库示例。
步骤904,使用目标端实例进行预迁移检查。
步骤905,使用云上实例进行预迁移检查。
可选地,云上实例为用户在云端服务器中提供的候选实例中进行选择,确定得到的实例。
可选地,如图9所示,云上实例中包括云上实例资源管理系统900。
步骤906,迁移源端数据库的schema。
可选地,预迁移检查schema的兼容性,使用与源端数据迁移相同的算法,将schema从源端数据库导入到预迁移数据库中。若有报错则判断迁移失败,成功则证明兼容性无误。
步骤907,当schema迁移成功时,迁移目标数据。
可选地,有些兼容性问题只有在迁移数据时才能得以发现,例如schema在目标端发生了隐式类型转换,只有导入目标数据才能发现异常。
步骤908,当目标数据迁移成功时,进行数据比对。
可选地,当数据迁移完成后,还需要确定数据在迁移前后是否发生变化。
步骤909,当数据比对一致时,预迁移检查通过。
步骤910,当数据比对不一致时,预迁移检查不通过。
步骤911,数据清理。
综上所述,本申请实施例提供的数据同步方法,在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
图10是本申请一个示例性实施例提供的数据同步装置的结构框图,如图10所示,该装置包括如下部分。
获取模块1010,用于获取源端数据库和目标端数据库,所述源端数据库中包括源端数据,所述源端数据为待传输至所述目标端数据库进行同步存储的数据;
采集模块1020,用于从所述源端数据中采集样本数据;
迁移模块1030,用于通过所述样本数据对所述源端数据库和所述目标端数据库之间的数据迁移进行预迁移检查;
传输模块1040,用于响应于所述样本数据迁移成功,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
在一个可选的实施例中,如图11所示,所述迁移模块1030,包括:
确定单元1031,用于确定与所述目标端数据库对应的预迁移数据库,所述目标端数据库和所述预迁移数据库对应相同的数据功能定义方式;
迁移单元1032,用于将所述样本数据迁移至所述预迁移数据库进行所述预迁移检查。
在一个可选的实施例中,所述装置,还包括:
显示模块1050,用于显示预迁移数据库选择界面,所述预迁移数据库选择界面中包括数据库选择区域,所述数据库选择区域中包括所述目标端数据库对应的第一数据库选项、云数据库对应的第二数据库选项和自定义数据库对应的第三数据库选项;
接收模块1060,用于在所述数据库选择区域中接收对所述数据库选项的选择操作;将所述数据库选项对应的数据库作为所述预迁移数据库。
在一个可选的实施例中,所述预迁移数据库包括所述云数据库;
所述接收模块1050,还用于接收对所述第二数据库选项的所述选择操作,所述第二数据库选项还对应有候选框,所述候选框中包括所述云数据库中的候选数据库;将所述选择操作确定为对所述候选框中被选定的数据库进行选择。
在一个可选的实施例中,所述预迁移数据库包括所述自定义数据库;
所述接收模块1050,还用于接收对所述第三数据库选项的所述选择操作,所述第三数据库选项还对应有配置信息填写区域;确定所述配置信息填写区域中配置信息对应的数据库;将所述选择操作确定为对所述配置信息对应的数据库进行选择。
在一个可选的实施例中,所述源端数据库还包括结构数据,所述源端数据在所述结构数据的基础上进行存储;
所述采集模块1020,还用于根据所述结构数据中的对象类型,从所述源端数据中针对所述对象类型分别进行采样,得到所述样本数据。
在一个可选的实施例中,所述迁移单元1032,还用于将所述结构数据迁移至所述预迁移数据库进行数据库设置;
所述迁移单元1032,还用于响应于通过所述结构数据进行所述数据库设置成功,将所述样本数据迁移至所述预迁移数据库进行所述预迁移检查。
在一个可选的实施例中,所述获取模块1010,还用于响应于所述样本数据迁移至所述预迁移数据库,获取所述预迁移数据库中的预迁移数据;
所述装置,还包括:
比对模块1070,用于将所述样本数据与所述预迁移数据进行比对;
所述传输模块1040,还用于响应于所述样本数据与所述预迁移数据一致,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
在一个可选的实施例中,所述装置,还包括:
处理模块1080,用于响应于所述样本数据与所述预迁移数据一致,确定所述预迁移检查通过,清空所述预迁移数据库。
综上所述,本申请实施例提供的数据同步装置,在进行数据同步迁移的过程中,增加了预迁移检查的过程,即从源端数据库的源端数据中采集样本数据,并通过样本数据对数据迁移过程进行测试,当样本数据迁移成功后,在进行源端数据的正式迁移,以样本数据为测试数据,对迁移过程是否会产生问题进行测试,从而降低源端数据正式迁移过程中的错误率,提高了数据迁移的成功率和效率。
需要说明的是:上述实施例提供的数据同步装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据同步装置与数据同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12示出了本申请一个示例性实施例提供的服务器的结构示意图。该具体来讲:
服务器1200包括中央处理单元(Central Processing Unit ,CPU)1201、包括随机存取存储器(Random Access Memory,RAM)1202和只读存储器(Read Only Memory,ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input OutputSystem, I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1207可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory ,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory ,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc ,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
图13示出了本发明一个示例性实施例提供的终端1300的结构框图。该终端1300可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的数据同步方法。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input /Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请的实施例还提供了一种计算机设备,该计算手机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的数据同步方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的数据同步方法。
本申请的实施例还提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中任一所述的数据同步方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM, Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种数据同步方法,其特征在于,所述方法包括:
获取源端数据库和目标端数据库,所述源端数据库中包括源端数据,所述源端数据为待传输至所述目标端数据库进行同步存储的数据;
从所述源端数据中采集样本数据;
通过所述样本数据对所述源端数据库和所述目标端数据库之间的数据迁移进行预迁移检查;
响应于所述样本数据迁移成功,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
2.根据权利要求1所述的方法,其特征在于,所述通过所述样本数据对所述源端数据库和所述目标端数据库之间的数据迁移进行预迁移检查,包括:
确定与所述目标端数据库对应的预迁移数据库,所述目标端数据库和所述预迁移数据库对应相同的数据功能定义方式;
将所述样本数据迁移至所述预迁移数据库进行所述预迁移检查。
3.根据权利要求2所述的方法,其特征在于,所述确定与所述目标端数据库对应的预迁移数据库,包括:
显示预迁移数据库选择界面,所述预迁移数据库选择界面中包括数据库选择区域,所述数据库选择区域中包括所述目标端数据库对应的第一数据库选项、云数据库对应的第二数据库选项和自定义数据库对应的第三数据库选项;
在所述数据库选择区域中接收对所述数据库选项的选择操作;
将所述数据库选项对应的数据库作为所述预迁移数据库。
4.根据权利要求3所述的方法,其特征在于,所述预迁移数据库包括所述云数据库;
所述在所述数据库选择区域中接收对所述数据库选项的选择操作,包括:
接收对所述第二数据库选项的所述选择操作,所述第二数据库选项还对应有候选框,所述候选框中包括所述云数据库中的候选数据库;
将所述选择操作确定为对所述候选框中被选定的数据库进行选择。
5.根据权利要求3所述的方法,其特征在于,所述预迁移数据库包括所述自定义数据库;
所述在所述数据库选择区域中接收对所述数据库选项的选择操作,包括:
接收对所述第三数据库选项的所述选择操作,所述第三数据库选项还对应有配置信息填写区域;
确定所述配置信息填写区域中配置信息对应的数据库;
将所述选择操作确定为对所述配置信息对应的数据库进行选择。
6.根据权利要求2至5任一所述的方法,其特征在于,所述源端数据库还包括结构数据,所述源端数据在所述结构数据的基础上进行存储;
所述从所述源端数据中采集样本数据,包括:
根据所述结构数据中的对象类型,从所述源端数据中针对所述对象类型分别进行采样,得到所述样本数据。
7.根据权利要求6所述的方法,其特征在于,所述将所述样本数据迁移至所述预迁移数据库进行所述预迁移检查,包括:
将所述结构数据迁移至所述预迁移数据库进行数据库设置;
响应于通过所述结构数据进行所述数据库设置成功,将所述样本数据迁移至所述预迁移数据库进行所述预迁移检查。
8.根据权利要求2至5任一所述的方法,其特征在于,所述响应于所述样本数据迁移成功,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储,包括:
响应于所述样本数据迁移至所述预迁移数据库,获取所述预迁移数据库中的预迁移数据;
将所述样本数据与所述预迁移数据进行比对;
响应于所述样本数据与所述预迁移数据一致,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
9.根据权利要求8所述的方法,其特征在于,所述方法,还包括:
响应于所述样本数据与所述预迁移数据一致,确定所述预迁移检查通过,清空所述预迁移数据库。
10.一种数据同步装置,其特征在于,所述装置包括:
获取模块,用于获取源端数据库和目标端数据库,所述源端数据库中包括源端数据,所述源端数据为待传输至所述目标端数据库进行同步存储的数据;
采集模块,用于从所述源端数据中采集样本数据;
迁移模块,用于通过所述样本数据对所述源端数据库和所述目标端数据库之间的数据迁移进行预迁移检查;
传输模块,用于响应于所述样本数据迁移成功,启动将所述源端数据库中的所述源端数据传输至所述目标端数据库进行同步存储。
11.根据权利要求10所述的装置,其特征在于,所述迁移模块,包括:
确定单元,用于确定与所述目标端数据库对应的预迁移数据库,所述目标端数据库和所述预迁移数据库对应相同的数据功能定义方式;
迁移单元,用于将所述样本数据迁移至所述预迁移数据库进行所述预迁移检查。
12.根据权利要求11所述的装置,其特征在于,所述装置,还包括:
显示模块,用于显示预迁移数据库选择界面,所述预迁移数据库选择界面中包括数据库选择区域,所述数据库选择区域中包括所述目标端数据库对应的第一数据库选项、云数据库对应的第二数据库选项和自定义数据库对应的第三数据库选项;
接收模块,用于在所述数据库选择区域中接收对所述数据库选项的选择操作;将所述数据库选项对应的数据库作为所述预迁移数据库。
13.根据权利要求12所述的装置,其特征在于,所述预迁移数据库包括所述云数据库;
所述接收模块,还用于接收对所述第二数据库选项的所述选择操作,所述第二数据库选项还对应有候选框,所述候选框中包括所述云数据库中的候选数据库;将所述选择操作确定为对所述候选框中被选定的数据库进行选择。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一所述的数据同步方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010556933.4A CN111522798B (zh) | 2020-06-18 | 2020-06-18 | 数据同步方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010556933.4A CN111522798B (zh) | 2020-06-18 | 2020-06-18 | 数据同步方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522798A true CN111522798A (zh) | 2020-08-11 |
CN111522798B CN111522798B (zh) | 2020-10-23 |
Family
ID=71909790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010556933.4A Active CN111522798B (zh) | 2020-06-18 | 2020-06-18 | 数据同步方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522798B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568890A (zh) * | 2021-08-03 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 数据迁移方法、装置、电子设备及计算机可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727383A (zh) * | 2008-10-16 | 2010-06-09 | 上海市医疗保险信息中心 | 数据库的仿真测试方法和系统 |
CN103176988A (zh) * | 2011-12-21 | 2013-06-26 | 上海博腾信息科技有限公司 | 基于SaaS的数据迁移系统 |
CN104504122A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种数据库迁移数据的验证方法及系统 |
CN104899332A (zh) * | 2015-06-24 | 2015-09-09 | 浪潮(北京)电子信息产业有限公司 | 一种Sybase数据库跨平台迁移方法和系统 |
CN105138603A (zh) * | 2015-08-07 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种从HPUX平台向KUX平台迁移的Oracle数据库迁移工具 |
CN105335407A (zh) * | 2014-07-29 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种数据自动化测试方法及装置 |
CN107315814A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种kdb数据库数据迁移后数据一致性验证方法及系统 |
CN109254960A (zh) * | 2018-08-24 | 2019-01-22 | 中国人民银行清算总中心 | 一种数据库海量数据的迁移方法及装置 |
CN109684304A (zh) * | 2018-12-13 | 2019-04-26 | 中国联合网络通信集团有限公司 | 数据迁移方法及装置 |
CN110297813A (zh) * | 2019-05-22 | 2019-10-01 | 平安银行股份有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
US20190347262A1 (en) * | 2013-09-30 | 2019-11-14 | Hyland Switzerland Sàrl | System and methods for caching and querying objects stored in multiple databases |
US10599674B1 (en) * | 2013-05-30 | 2020-03-24 | West Corporation | Apparatus and method for replicating data |
-
2020
- 2020-06-18 CN CN202010556933.4A patent/CN111522798B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727383A (zh) * | 2008-10-16 | 2010-06-09 | 上海市医疗保险信息中心 | 数据库的仿真测试方法和系统 |
CN103176988A (zh) * | 2011-12-21 | 2013-06-26 | 上海博腾信息科技有限公司 | 基于SaaS的数据迁移系统 |
US10599674B1 (en) * | 2013-05-30 | 2020-03-24 | West Corporation | Apparatus and method for replicating data |
US20190347262A1 (en) * | 2013-09-30 | 2019-11-14 | Hyland Switzerland Sàrl | System and methods for caching and querying objects stored in multiple databases |
CN105335407A (zh) * | 2014-07-29 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种数据自动化测试方法及装置 |
CN104504122A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种数据库迁移数据的验证方法及系统 |
CN104899332A (zh) * | 2015-06-24 | 2015-09-09 | 浪潮(北京)电子信息产业有限公司 | 一种Sybase数据库跨平台迁移方法和系统 |
CN105138603A (zh) * | 2015-08-07 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种从HPUX平台向KUX平台迁移的Oracle数据库迁移工具 |
CN107315814A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种kdb数据库数据迁移后数据一致性验证方法及系统 |
CN109254960A (zh) * | 2018-08-24 | 2019-01-22 | 中国人民银行清算总中心 | 一种数据库海量数据的迁移方法及装置 |
CN109684304A (zh) * | 2018-12-13 | 2019-04-26 | 中国联合网络通信集团有限公司 | 数据迁移方法及装置 |
CN110297813A (zh) * | 2019-05-22 | 2019-10-01 | 平安银行股份有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
胡宇舟 等: "基于Hadoop的云计算在清分系统中的应用", 《电子世界》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568890A (zh) * | 2021-08-03 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 数据迁移方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111522798B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536463B (zh) | 获取资源包的方法、装置、设备及计算机可读存储介质 | |
CN111192005B (zh) | 政务业务处理方法、装置、计算机设备及可读存储介质 | |
CN109828802B (zh) | 列表视图显示方法、装置及可读介质 | |
CN111090687B (zh) | 数据处理方法及装置、系统、计算机可读存储介质 | |
WO2020248626A1 (zh) | 任务执行方法、装置、设备、系统及存储介质 | |
US20150177903A1 (en) | Method and apparatus for controlling scale resolution in electronic device | |
CN111290948B (zh) | 测试数据获取方法、装置、计算机设备及可读存储介质 | |
EP3107087B1 (en) | Device for controlling multiple areas of display independently and method thereof | |
US11934814B2 (en) | Application porting method and apparatus, device, and medium | |
CN111694834A (zh) | 图数据的入库方法、装置、设备及可读存储介质 | |
CN112162843A (zh) | 工作流执行方法、装置、设备及存储介质 | |
CN111949680A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN113742366A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111858382A (zh) | 应用程序测试方法、装置、服务器、系统及存储介质 | |
KR102467869B1 (ko) | 전자 장치 및 그의 동작 방법 | |
CN111125602B (zh) | 页面构建方法、装置、设备和存储介质 | |
CN110515962B (zh) | 缓存数据的方法、装置、电子设备及存储介质 | |
CN112905328A (zh) | 任务处理方法、装置及计算机可读存储介质 | |
CN110995842A (zh) | 业务数据下载方法、装置、设备及存储介质 | |
CN111522798B (zh) | 数据同步方法、装置、设备及可读存储介质 | |
CN111813322A (zh) | 存储池的创建方法、装置、设备及存储介质 | |
CN110569064B (zh) | 接口标识生成方法、装置、设备及存储介质 | |
CN112084157A (zh) | 文件恢复方法、装置、计算机设备及存储介质 | |
CN111580892B (zh) | 一种业务组件调用的方法、装置、终端和存储介质 | |
CN112181915A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028353 Country of ref document: HK |