CN112597245A - 数据同步方法、设备和存储介质 - Google Patents

数据同步方法、设备和存储介质 Download PDF

Info

Publication number
CN112597245A
CN112597245A CN202011548338.2A CN202011548338A CN112597245A CN 112597245 A CN112597245 A CN 112597245A CN 202011548338 A CN202011548338 A CN 202011548338A CN 112597245 A CN112597245 A CN 112597245A
Authority
CN
China
Prior art keywords
data
service
production environment
service data
version
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
Application number
CN202011548338.2A
Other languages
English (en)
Other versions
CN112597245B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011548338.2A priority Critical patent/CN112597245B/zh
Publication of CN112597245A publication Critical patent/CN112597245A/zh
Application granted granted Critical
Publication of CN112597245B publication Critical patent/CN112597245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了数据同步方法、设备和存储介质,涉及数据处理、云计算等技术领域。具体实现方案为:在将从测试环境中导出的多条业务数据导入生产环境的数据源的过程中,对多条业务数据进行分组,以得到N组业务数据,并根据N组业务数据,生成N个写事务,之后,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中以及在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。通过多个事务对分组业务数据导入到生产环境的数据源中,减少了业务数据导入对生产环境的影响,提高了生产环境的业务处理的稳定性。

Description

数据同步方法、设备和存储介质
技术领域
本申请涉及计算机技术领域,具体涉及数据处理、云计算等技术领域,尤其涉及数据同步方法、设备和存储介质。
背景技术
目前,在产品上线之前,例如,在银行、保险等尤其注重系统稳定和安全的场景中,往往需要在测试环境中对相关业务进行测试,并通过完整的验证测试流程后,再将测试环境的业务数据完全同步到生产环境(即线上环境)。为了避免相互影响,上述测试环境和生产环境通常是网络隔离的。在相关技术中,在将测试环境中的业务数据同步到生产环境的过程中,从测试环境中导出业务数据,然后,将业务数据导入到生产环境中。在将测试环境中导出的业务数据导入到生产环境的过程中,可能影响到生产环境的业务系统的稳定性。因此,如何减少数据导入对生产环境的影响是目前亟需解决的技术问题。
发明内容
本申请提供了一种用于数据同步方法、设备和存储介质。
根据本申请的一方面,提供了一种数据同步方法,包括:获取从测试环境导出的多条业务数据;对所述多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数;根据所述N组业务数据,生成N个写事务;根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中;在将所述N组业务数据均导入到所述生产环境的数据源的情况下,获取所述多条业务数据所具有的数据版本标识,并将所述生产环境的当前数据版本标识切换为所述数据版本标识,以实现所述生产环境使用所述多条业务数据进行业务处理。
根据本申请的另一方面,提供了一种数据同步装置,包括:第一获取模块,用于获取从测试环境导出的多条业务数据;分组模块,用于对所述多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数;第一生成模块,用于根据所述N组业务数据,生成N个写事务;写入模块,用于根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中;第一处理模块,用于在将所述N组业务数据均导入到所述生产环境的数据源的情况下,获取所述多条业务数据所具有的数据版本标识,并将所述生产环境的当前数据版本标识切换为所述数据版本标识,以实现所述生产环境使用所述多条业务数据进行业务处理。
根据本申请的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请的数据同步方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例公开的数据同步方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请的数据同步方法。
上述申请中的一个实施例具有如下优点或有益效果:
在将从测试环境中导出的多条业务数据导入生产环境的数据源的过程中,对多条业务数据进行分组,以得到N组业务数据,并根据N组业务数据,生成N个写事务,之后,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中以及在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。由此,通过多个事务对分组业务数据导入到生产环境的数据源中,减少了业务数据导入对生产环境的影响,提高了生产环境的业务处理的稳定性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例提供的一种数据同步方法的流程示意图;
图2是根据本申请第二实施例提供的一种数据同步方法的流程示意图;
图3是根据本申请第三实施例的一种数据同步方法的流程示意图;
图4是根据本申请第四实施例提供的一种数据同步装置的结构示意图;
图5是根据本申请第五实施例提供的一种数据同步装置的结构示意图;
图6是用来实现本申请实施例的数据同步方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,在将测试环境导出的业务数据导入生产环境的过程中,通常采用所有变更数据以一个事务的方式导入到生产环境的数据源中,然而,这种方式严重影响了数据源的性能,降低了生产环境的业务系统的稳定性,增加了业务系统的负载。
为了解决上述技术问题,本申请提出一种数据同步方法,在将从测试环境中导出的多条业务数据导入生产环境的数据源的过程中,对多条业务数据进行分组,以得到N组业务数据,并根据N组业务数据,生成N个写事务,之后,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中,以及在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为该数据版本标识,以实现生产环境使用多条业务数据进行业务处理。由此,通过多个事务对分组业务数据导入到生产环境的数据源中,减少了业务数据导入对生产环境的影响,提高了生产环境的业务处理的稳定性。
下面参考附图描述本申请实施例的数据同步方法、设备和存储介质。
图1是根据本申请第一实施例提供的一种数据同步方法的流程示意图。
如图1所示,该数据同步方法可以包括:
步骤101,获取从测试环境导出的多条业务数据。
其中,上述数据同步方法的执行主体为数据同步装置,该数据同步装置可以由软件和/或硬件的方式实现,该实施例中的数据同步装置可以配置在生产环境中,以通过该数据同步装置对测试环境中导出的业务数据进行导入处理。
步骤102,对多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数。
步骤103,根据N组业务数据,生成N个写事务。
步骤104,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中。
步骤105,在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。
在一些实施例中,上述数据版本标识可通过数字的方式进行表示。在另一些实施例中,上述数据版本标识还可以通过字母的方式进行表示。在另一些实施例中,上述数据版本标识还可以通过数字和字母进行组合的方式进行表示,该实施例不对数据版本标识的表示方式进行限定,在实际应用过程中,可根据实际需求来设置数据版本标识的表示方式。
本申请实施例的数据同步方法,在将从测试环境中导出的多条业务数据导入生产环境的数据源的过程中,对多条业务数据进行分组,以得到N组业务数据,并根据N组业务数据,生成N个写事务,之后,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中以及在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。由此,通过多个事务对分组业务数据导入到生产环境的数据源中,减少了业务数据导入对生产环境的影响,提高了生产环境的业务处理的稳定性。
在本申请的一个实施例中,对于上述步骤获取从测试环境导出的多条业务数据的具体实现方式,在不同应用场景中,上述步骤的实现方式不同。
作为一种可能的实现方式,该数据同步装置在获取到测试环境导出的数据文件后,可获取该数据文件的MD5(Message-Digest Algorithm,信息摘要算法)码进行验证,以确定该数据文件的完整性。在该数据文件通过验证后,该数据同步装置可通过预设的解密算法对该数据文件进行解密,以得到该数据文件中的多条业务数据。
其中,可以理解的是,上述预设的解密算法是与测试环境在导出数据文件进行加密时所使用的加密算法是相对应的。
另外,作为一种可能的实施方式,在从数据文件中获取多条业务数据后,为了提高生产环境的稳定性,还可以结合数据校验规则,对每个业务数据进行合法性校验。例如,可验证业务数据的取值范围是否在预设的标准范围内,如果在预设的标准范围内,则确定对应业务数据通过验证,如果不在预设的标准范围内,则确定对应业务数据未通过验证。
其中,本实施例中的业务数据是指用于服务生产环境所对应的业务系统中系统功能的数据。可以理解的是,一个业务系统中所有非系统管理类的数据都算业务数据。比如,机器人场景下,构建的闲聊、问答等知识数据;支付场景下对应的用户数据、订单数据、交易数据;购物场景下对应的商品信息数据、折扣优惠数据、店铺数据、购物车数据等等。
其中,可以理解的是,在不同应用场景中,上述步骤102对多条业务数据进行分组,以得到N组业务数据的实现方式不同,举例说明如下:
作为一种示例性的实施方式,可将每一条业务数据作为一个组,以得到多组业务数据。
作为另一种示例性的实施方式,可获取预设设置的分组步长M,可根据分组步长M,对多条业务数据进行分组,以得到多组业务数据,其中,M为大于1的整数,且小于生产环境一次写入可支持的数据条数。
作为另一种示例性的实施方式,可获取数据源一次写入可支持的数据条数,并根据数据条数,对多条业务数据进行分组,以得到N组业务数据。
在本实施例中,通过数据源一次写入可支持的数据条数,对多条业务数据进行分组,可充分利用数据源的写入性能,减少向数据源中写入的次数。
其中,本实施例中的数据源是指数据库应用程序所使用的数据库或者数据库服务器,该数据源为生产环境的业务系统提供业务数据。例如,上述数据源可以为关系型数据库,SQL(Structured Query Language,结构化查询语言)数据库。又例如,上述数据源可以为ES(ElasticSearch,弹性搜索)引擎,其中,ES引擎是一种大数据搜索引擎。
在本申请的一个实施例中,对于上述步骤103的一种可能实现方式为:在获取N组业务数据后,可根据N组业务数据,生成用于向数据源写入对应组业务数据的写事务,以方便后续通过各个写事务将对应组业务数据写入生产环境的数据源中。
在本申请的一个实施例中,上述步骤104根据N个写事务,将N组业务数据分别写入到生产环境的数据源中的一种可能实现方式可以为:通过N个写事务,将N组业务数据依次写入生产环境的数据源中。
在本申请的另一个实施例中,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中的另一种可能实现方式可以为:通过N个写事务,通过并行的方式,将每个写事务所对应的对应组业务数据写入到生产环境的数据源中。
其中,可以理解的是,在向生产环境的数据源写入业务数据的过程中,如果写入过程出现异常,则结束写入处理。
另外,可以理解的是,由于向生产环境的业务数据还没有生效,因此,生产环境所对应的业务系统可基于生产环境的当前数据版本标识所对应的业务数据集合继续正常处理业务。也就是说,生产环境的业务系统所有业务逻辑均采用当前数据版本标识对应的业务数据进行业务处理。
在本申请的一个实施例中,对于上述步骤105获取多条业务数据所具有的数据版本标识的方式,在不同应用场景中,有不同的获取方式,举例说明如下:
作为一种示例,可通过对多条业务数据中的任意一条业务数据进行分析,以得到该业务数据的数据版本标识,并将所得到的数据版本标识作为多条业务数据所具有的数据版本标识。其中,可以理解的是,上述多条业务数据所对应的数据版本标识均是相同的。
作为另一种示例,可获取生产环境所对应的待生效数据版本标识,并将待生效数据版本标识作为多条业务数据所对应的数据版本标识。
在本示例中,上述业务数据所对应的数据版本标识,是与生产环境所对应的待生效数据版本标识相同的。
基于上述实施例中的基础上,为了方便后续获取生产环境中的数据版本情况,在一些实施例中,在将生产环境的当前数据版本标识切换为业务数据所对应的数据版本标识之后,方法还包括:在版本记录表中保存数据版本标识。由此,以方便后续通过版本记录表查看生产环境中的数据版本情况。
另外,在生产环境出现异常的情况下,为了可快速基于指定的数据版本标识的业务数据进行业务处理,提高生产环境的业务系统的运行稳定性,在将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理之后,该方法还可以:接收数据版本切换指令,其中,数据版本切换指令指示从数据版本标识切换为当前数据版本标识;控制生产环境切换为当前数据版本标识;从数据源中获取当前数据版本标识对应的目标业务数据集合,并根据目标业务数据集合进行业务处理。
基于上述描述,可以看出,本实施例中数据源中的数据源对生产环境之前所基于的当前数据版本标识的业务数据进行存储,并在接收到将生产环境切换为当前数据版本标识的切换请求之后,可从数据源中获取当前数据版本标识对应的目标业务数据集合,并根据目标业务数据集合进行业务处理。由此,数据源中保存了多个数据版本的业务数据,从而在生产环境的运行发现问题时,可基于切换请求,使得生产环境快速回滚到指定的数据版本,保证了生产环境的业务系统的稳定运行。
作为一种可能的实现方式,可在用户界面上显示包括多个数据版本标识的数据版本列表,并根据用户操作,从多个数据版本标识中获取用户所选定的目标数据版本标识,并根据目标数据版本标识生成切换请求,从而可基于切换请求,从生产环境的数据源中获取该目标数据版本标识对应的业务数据集合,并基于该目标数据版本标识所对应的业务数据集合进行业务处理。
例如,数据版本列表包括数据版本1、数据版本2以及数据版本3,用户选中生产环境切换到数据版本1,可从生产环境的数据源中获取数据版本1的业务数据集合,即,生产环境中的数据版本1的业务数据处于生效状态,此时,生产环境基于数据版本1的业务数据进行业务处理,即,生产环境的业务系统中所有业务逻辑均使用数据版本1对应的业务数据。由此,使得生产环境可以立即回滚到指定的稳定版本的业务数据进行业务处理,保证了业务系统的稳定运行。
图2是根据本申请第二实施例提供的一种数据同步方法的流程示意图。该实施例对图1所实施例的进一步细化或者优化。
如图2所示,该数据同步方法可以包括:
步骤201,获取从测试环境导出的多条业务数据。
步骤202,根据生产环境的当前数据版本标识,获取生产环境待生效的下个数据版本标识。
在本申请的一个实施例中,可获取生产环境的当前数据版本标识后,根据生产环境的当前数据版本标识,获取生产环境待生效的下个数据版本标识。
例如,在获取生产环境的当前数据版本标识为数据版本号2后,该生产环境待生效的下个数据版本标识可以为数据版本号3。
步骤203,对多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数。
步骤204,针对每组业务数据,根据下个数据版本标识,对本组业务数据中的每个业务数据添加数据版本标识,以生成具有下个数据版本标识的业务数据。
步骤205,根据N组业务数据,生成N个写事务。
步骤206,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中。
可以理解的是,在数据同步的过程中,可能存在异常情况,生产环境的数据源中可能存在上次对下个数据版本标识的业务数据进行写入所产生的部分业务数据。为了保证业务数据的一致性,在本申请的一个实施例中,在获取生产环境待生效的下个数据版本标识后,可检测数据源中是否存在于下个数据标识对应的业务数据,在检测到数据源中存在与下个数据版本标识对应的业务数据的情况下,删除数据源中与下个数据版本标识对应的业务数据。由此,使得数据同步过程可重入。
步骤207,在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的下个数据版本标识,并将生产环境的当前数据版本标识切换为上个数据版本标识,以实现生产环境使用多条业务数据进行业务处理。
其中,关于步骤205至步骤207的具体实现方,可参见上述实施例中的相关描述,此处步骤不再赘述。
在本实施例中,基于生产环境待生效的下个数据版本标识,在将测试环境的多条业务数据写入生产环境的数据源之前,对每组业务数据进行数标识进行添加,以生成具有下个数据版本标识的业务数据,并通过多个写事务将多组业务数据写入生产环境的数据源中。由此,基于生产环境中的数据版本信息对待写入的业务数据进行管理,继而使得生产环境的数据源中可以保存多个数据版本标识的业务数据,方便后续基于业务需求进行数据版本标识切换。
基于上述实施例的基础上,在将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用业务数据进行业务处理之后,由于该数据源中存在多个数据版本标识,为了降低与业务系统的耦合,在本申请的一个实施例中,可通过动态注入生产环境的当前生效数据版本标识的方式,使得业务侧无感知获取对应数据版本的业务数据,为了使得本领域的技术人员可以清楚了解本申请,下面结合图3对该实施例的方法进行进一步描述,如图3所示,方法还包括:
步骤301,接收针对数据源的数据操作请求。
其中,数据操作请求可以包括但不限于增加、删除、查询、修改等数据操作请求。
步骤302,根据生产环境的业务系统的原业务逻辑,生成数据操作请求所对应的数据操作语句。
步骤303,拦截数据操作语句,并为数据操作语句添加数据版本标识。
在本申请的一些实施例中,可通过预设的拦截器,拦截与数据操作请求对应的数据操作语句,并在数据操作语句中拼接上数据版本标识,以得到具有数据版本标识的数据操作语句。
在本申请的另一些实施例中,可通过预设的拦截函数,拦截与数据操作请求对应的数据操作语句,并在数据操作语句中拼接上数据版本标识,以得到具有数据版本标识的数据操作语句。
其中,需要说明的是,上述仅是对拦截数据操作语句的方式进行示例性说明,但不限于此,还包括本领域已知的其他拦截方法,只要能够拦截到数据操作语句即可。
其中,数据操作语句可以包括但不限于查询、删除、插入、更新等数据操作语句。
步骤304,根据添加标识后的数据操作语句,从数据源中获取与数据版本标识对应的业务数据集合。
步骤305,从业务数据集合中获取与数据操作语句对应的目标业务数据,并根据数据操作语句的操作类型对目标业务数据进行操作。
在本实施例中,基于生产环境的业务系统的原有业务逻辑对数据操作请求进行处理,以得到与该数据操作请求对应的数据操作语句,并拦截数据操作语句,并在数据操作语句添加数据版本标识,并基于根据添加标识后的数据操作语句,从数据源中获取与数据版本标识对应的业务数据集合,以及从业务数据集合中获取与数据操作语句对应的目标业务数据,并根据数据操作语句的操作类型对目标业务数据进行操作。由此,可通过动态注入生产环境的当前生效的数据版本标识的方式,减少了数据源与业务系统之间的耦合性,使得业务侧无感知获取对应版本的业务数据。
为了实现上述实施例,本申请实施例还提供一种数据同步装置。
图4是根据本申请第四实施例提供的一种数据同步装置的结构示意图。
如图4所示,该数据同步装置400可以包括第一获取模块401、分组模块402、第一生成模块403、写入模块404和第一处理模块405,其中:
第一获取模块401,用于获取从测试环境导出的多条业务数据。
分组模块402,用于对多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数。
第一生成模块403,用于根据N组业务数据,生成N个写事务。
写入模块404,用于根据N个写事务,将N组业务数据分别写入到生产环境的数据源中。
第一处理模块405,用于在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。
其中,需要说明的是,前述对数据同步方法实施例的解释说明也适用于本实施例,本实施对此不再赘述。
本申请实施例的数据同步装置,在将从测试环境中导出的多条业务数据导入生产环境的数据源的过程中,对多条业务数据进行分组,以得到N组业务数据,并根据N组业务数据,生成N个写事务,之后,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中以及在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。由此,通过多个事务对分组业务数据导入到生产环境的数据源中,减少了业务数据导入对生产环境的影响,提高了生产环境的业务处理的稳定性。
在本申请的一个实施例中,如图5所示,该数据同步装置可以包括:第一获取模块501、分组模块502、第一生成模块503、写入模块504、第一处理模块505、第二获取模块506和第一标识添加模块507,其中:
其中,关于第一获取模块501、分组模块502、第一生成模块503、写入模块504和第一处理模块505的详细描述请参考图4所示实施例中第一获取模块401、分组模块402、第一生成模块403、写入模块404和第一处理模块405的说明,此处不再进行描述。
在本申请一个实施例中,第二获取模块506,用于根据当前数据版本标识,获取生产环境待生效的下个数据版本标识。
第一标识添加模块507,用于针对每组业务数据,根据下个数据版本标识,对本组业务数据中的每个业务数据添加数据版本标识,以生成具有下个数据版本标识的业务数据。
在本申请一个实施例中,如图5所示,该装置还可以包括:
删除模块508,用于在写入模块根据N个写事务,将N组业务数据分别写入到生产环境的数据源中之前,在检测到数据源中存在与下个数据版本标识对应的业务数据的情况下,删除数据源中与下个数据版本标识对应的业务数据。
在本申请一个实施例中,上述分组模块502,具体用于:获取数据源一次写入可支持的数据条数;根据数据条数,对多条业务数据进行分组,以得到N组业务数据。
进一步,如图5所示,装置还包括:
第一接收模块509,用于接收针对数据源的数据操作请求。
第二生成模块510,用于根据生产环境的业务系统的原业务逻辑,生成数据操作请求所对应的数据操作语句。
第二标识添加模块511,用于拦截数据操作语句,并为数据操作语句添加数据版本标识。
第三获取模块512,用于根据添加标识后的数据操作语句,从数据源中获取与数据版本标识对应的业务数据集合。
操作模块513,用于从业务数据集合中获取与数据操作语句对应的目标业务数据,并根据数据操作语句的操作类型对目标业务数据进行操作。
在本申请一个实施例中,如图5所示,该装置还可以包括:
保存模块514,用于在版本记录表中保存数据版本标识。
在本申请一个实施例中,如图5所示,该装置还可以包括:
第二接收模块515,用于接收数据版本切换指令,其中,数据版本切换指令指示从数据版本标识切换为当前数据版本标识。
控制模块516,用于控制生产环境切换为当前数据版本标识。
第二处理模块517,用于从数据源中获取当前数据版本标识对应的目标业务数据集合,并根据目标业务数据集合进行业务处理。
其中,需要说明的是,前述对数据同步方法实施例的解释说明也适用于本实施例中的数据同步装置,此处不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的数据同步方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,简称GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的数据同步方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据同步方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据同步方法对应的程序指令/模块(例如,附图4所示的第一获取模块401、分组模块402、第一生成模块403、写入模块404和第一处理模块405)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据同步方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据同步的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至数据同步的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据同步的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与数据同步的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(Application Specific Integrated Circuit,专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD,Programmable Logic Device)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本申请实施例的技术方案,在将从测试环境中导出的多条业务数据导入生产环境的数据源的过程中,对多条业务数据进行分组,以得到N组业务数据,并根据N组业务数据,生成N个写事务,之后,根据N个写事务,将N组业务数据分别写入到生产环境的数据源中以及在将N组业务数据均导入到生产环境的数据源的情况下,获取多条业务数据所具有的数据版本标识,并将生产环境的当前数据版本标识切换为数据版本标识,以实现生产环境使用多条业务数据进行业务处理。由此,通过多个事务对分组业务数据导入到生产环境的数据源中,减少了业务数据导入对生产环境的影响,提高了生产环境的业务处理的稳定性。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (17)

1.一种数据同步方法,包括:
获取从测试环境导出的多条业务数据;
对所述多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数;
根据所述N组业务数据,生成N个写事务;
根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中;
在将所述N组业务数据均导入到所述生产环境的数据源的情况下,获取所述多条业务数据所具有的数据版本标识,并将所述生产环境的当前数据版本标识切换为所述数据版本标识,以实现所述生产环境使用所述多条业务数据进行业务处理。
2.根据权利要求1所述的方法,其中,在所述根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中之前,所述方法还包括:
根据所述当前数据版本标识,获取所述生产环境待生效的下个数据版本标识;
针对每组业务数据,根据所述下个数据版本标识,对所述本组业务数据中的每个业务数据添加数据版本标识,以生成具有所述下个数据版本标识的业务数据。
3.根据权利要求2所述的方法,其中,在所述根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中之前,所述方法还包括:
在检测到所述数据源中存在与所述下个数据版本标识对应的业务数据的情况下,删除所述数据源中与所述下个数据版本标识对应的业务数据。
4.根据权利要求1所述的方法,其中,所述对所述多条业务数据进行分组,以得到N组业务数据,包括:
获取所述数据源一次写入可支持的数据条数;
根据所述数据条数,对所述多条业务数据进行分组,以得到N组业务数据。
5.根据权利要求1所述的方法,其中,在所述将所述生产环境的当前数据版本标识切换为所述数据版本标识,以实现所述生产环境使用所述业务数据进行业务处理之后,所述方法还包括:
接收针对所述数据源的数据操作请求;
根据生产环境的业务系统的原业务逻辑,生成所述数据操作请求所对应的数据操作语句;
拦截所述数据操作语句,并为所述数据操作语句添加所述数据版本标识;
根据添加标识后的所述数据操作语句,从所述数据源中获取与所述数据版本标识对应的业务数据集合;
从所述业务数据集合中获取与所述数据操作语句对应的目标业务数据,并根据所述数据操作语句的操作类型对所述目标业务数据进行操作。
6.根据权利要求1所述的方法,其中,在所述将所述生产环境的当前数据版本标识切换为所述业务数据所对应的数据版本标识之后,所述方法还包括:
在版本记录表中保存所述数据版本标识。
7.根据权利要求1所述的方法,其中,所述方法还包括:
接收数据版本切换指令,其中,所述数据版本切换指令指示从所述数据版本标识切换为所述当前数据版本标识;
控制所述生产环境切换为所述当前数据版本标识;
从所述数据源中获取所述当前数据版本标识对应的目标业务数据集合,并根据所述目标业务数据集合进行业务处理。
8.一种数据同步装置,包括:
第一获取模块,用于获取从测试环境导出的多条业务数据;
分组模块,用于对所述多条业务数据进行分组,以得到N组业务数据,其中,N为大于1的整数;
第一生成模块,用于根据所述N组业务数据,生成N个写事务;
写入模块,用于根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中;
第一处理模块,用于在将所述N组业务数据均导入到所述生产环境的数据源的情况下,获取所述多条业务数据所具有的数据版本标识,并将所述生产环境的当前数据版本标识切换为所述数据版本标识,以实现所述生产环境使用所述多条业务数据进行业务处理。
9.根据权利要求8所述的装置,其中,所述装置还包括:
第二获取模块,用于根据所述当前数据版本标识,获取所述生产环境待生效的下个数据版本标识;
第一标识添加模块,用于针对每组业务数据,根据所述下个数据版本标识,对所述本组业务数据中的每个业务数据添加数据版本标识,以生成具有所述下个数据版本标识的业务数据。
10.根据权利要求9所述的装置,其中,所述装置还包括:
删除模块,用于在所述写入模块根据所述N个写事务,将所述N组业务数据分别写入到所述生产环境的数据源中之前,在检测到所述数据源中存在与所述下个数据版本标识对应的业务数据的情况下,删除所述数据源中与所述下个数据版本标识对应的业务数据。
11.根据权利要求8所述的装置,其中,所述分组模块,具体用于:
获取所述数据源一次写入可支持的数据条数;
根据所述数据条数,对所述多条业务数据进行分组,以得到N组业务数据。
12.根据权利要求8所述的装置,其中,所述装置还包括:
第一接收模块,用于接收针对所述数据源的数据操作请求;
第二生成模块,用于根据生产环境的业务系统的原业务逻辑,生成所述数据操作请求所对应的数据操作语句;
第二标识添加模块,用于拦截所述数据操作语句,并为所述数据操作语句添加所述数据版本标识;
第三获取模块,用于根据添加标识后的所述数据操作语句,从所述数据源中获取与所述数据版本标识对应的业务数据集合;
操作模块,用于从所述业务数据集合中获取与所述数据操作语句对应的目标业务数据,并根据所述数据操作语句的操作类型对所述目标业务数据进行操作。
13.根据权利要求8所述的装置,其中,所述装置还包括:
保存模块,用于在版本记录表中保存所述数据版本标识。
14.根据权利要求8所述的装置,其中,所述装置还包括:
第二接收模块,用于接收数据版本切换指令,其中,所述数据版本切换指令指示从所述数据版本标识切换为所述当前数据版本标识;
控制模块,用于控制所述生产环境切换为所述当前数据版本标识;
第二处理模块,用于从所述数据源中获取所述当前数据版本标识对应的目标业务数据集合,并根据所述目标业务数据集合进行业务处理。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
CN202011548338.2A 2020-12-24 2020-12-24 数据同步方法、设备和存储介质 Active CN112597245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011548338.2A CN112597245B (zh) 2020-12-24 2020-12-24 数据同步方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011548338.2A CN112597245B (zh) 2020-12-24 2020-12-24 数据同步方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112597245A true CN112597245A (zh) 2021-04-02
CN112597245B CN112597245B (zh) 2023-11-10

Family

ID=75200954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011548338.2A Active CN112597245B (zh) 2020-12-24 2020-12-24 数据同步方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112597245B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290017B1 (en) * 2001-09-20 2007-10-30 Emc Corporation System and method for management of data replication
US20090247134A1 (en) * 2008-03-28 2009-10-01 Ianywhere Solutions,Inc. Synchronizing communications and data between mobile devices and servers
US20120131154A1 (en) * 2010-11-23 2012-05-24 Wulf Kruempelmann Synchronous Transport of Business Configuration Data in a Distributed Computing System Environment
US20120221519A1 (en) * 2011-02-24 2012-08-30 Oracle International Corporation Application workload capture and replay system
EP2581865A2 (de) * 2011-10-13 2013-04-17 Cideon Software GmbH Verfahren zur Synchronisation von Daten zwischen Entwicklungs- und/oder Produktionssteuerungssystemen
WO2016177232A1 (zh) * 2015-07-17 2016-11-10 中兴通讯股份有限公司 一种群组业务的控制方法及系统
CN111080243A (zh) * 2019-12-05 2020-04-28 北京百度网讯科技有限公司 业务处理的方法、装置、系统、电子设备及存储介质
CN111090452A (zh) * 2019-11-11 2020-05-01 福建天泉教育科技有限公司 服务环境的切换方法及计算机可读存储介质
CN111124759A (zh) * 2019-12-27 2020-05-08 浪潮通用软件有限公司 一种混合云架构下数据同步的方法、设备及介质
CN111679794A (zh) * 2020-06-17 2020-09-18 北京中存超为科技有限公司 多控存储系统中进行数据同步的方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290017B1 (en) * 2001-09-20 2007-10-30 Emc Corporation System and method for management of data replication
US20090247134A1 (en) * 2008-03-28 2009-10-01 Ianywhere Solutions,Inc. Synchronizing communications and data between mobile devices and servers
US20120131154A1 (en) * 2010-11-23 2012-05-24 Wulf Kruempelmann Synchronous Transport of Business Configuration Data in a Distributed Computing System Environment
US20120221519A1 (en) * 2011-02-24 2012-08-30 Oracle International Corporation Application workload capture and replay system
EP2581865A2 (de) * 2011-10-13 2013-04-17 Cideon Software GmbH Verfahren zur Synchronisation von Daten zwischen Entwicklungs- und/oder Produktionssteuerungssystemen
WO2016177232A1 (zh) * 2015-07-17 2016-11-10 中兴通讯股份有限公司 一种群组业务的控制方法及系统
CN111090452A (zh) * 2019-11-11 2020-05-01 福建天泉教育科技有限公司 服务环境的切换方法及计算机可读存储介质
CN111080243A (zh) * 2019-12-05 2020-04-28 北京百度网讯科技有限公司 业务处理的方法、装置、系统、电子设备及存储介质
CN111124759A (zh) * 2019-12-27 2020-05-08 浪潮通用软件有限公司 一种混合云架构下数据同步的方法、设备及介质
CN111679794A (zh) * 2020-06-17 2020-09-18 北京中存超为科技有限公司 多控存储系统中进行数据同步的方法和装置

Also Published As

Publication number Publication date
CN112597245B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
US11928432B2 (en) Multi-modal pre-training model acquisition method, electronic device and storage medium
CN113342345A (zh) 深度学习框架的算子融合方法、装置
CN111639027B (zh) 一种测试方法、装置及电子设备
CN111310221B (zh) 持久层数据的加解密方法、装置、设备及存储介质
CN107133309B (zh) 流程实例的存储、查询方法及装置、存储介质及电子设备
CN111984476B (zh) 测试方法和装置
CN111858506B (zh) 测试数据的处理方法、装置、电子设备及存储介质
CN111800493A (zh) 信息内容推送方法、装置、电子设备和存储介质
CN110619002A (zh) 数据处理方法、装置及存储介质
CN112269789A (zh) 存储数据的方法和装置、以及读取数据的方法和装置
CN113051446A (zh) 拓扑关系查询方法、装置、电子设备和介质
CN111913998B (zh) 数据处理方法、装置、设备和存储介质
CN111813623B (zh) 一种页面监控方法、装置、电子设备及存储介质
CN111752843A (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
CN112559522A (zh) 数据存储方法、装置、查询方法、电子设备及可读介质
CN112307300A (zh) 物品信息查询方法、装置、电子设备及可读存储介质
CN111339187A (zh) 基于智能合约的数据处理方法、装置、设备和存储介质
CN110781200A (zh) 一种区块链异常数据的处理方法、装置、设备和介质
CN111767149B (zh) 调度方法、装置、设备及存储设备
CN111753330B (zh) 数据泄露主体的确定方法、装置、设备和可读存储介质
CN112069137A (zh) 生成信息的方法、装置、电子设备及计算机可读存储介质
CN111563253A (zh) 智能合约运行方法、装置、设备及存储介质
CN111985760A (zh) 数据内容的评价方法、装置、电子设备及存储介质
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN112597245B (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