CN111324592B - 应用数据迁移方法、装置 - Google Patents

应用数据迁移方法、装置 Download PDF

Info

Publication number
CN111324592B
CN111324592B CN202010071369.7A CN202010071369A CN111324592B CN 111324592 B CN111324592 B CN 111324592B CN 202010071369 A CN202010071369 A CN 202010071369A CN 111324592 B CN111324592 B CN 111324592B
Authority
CN
China
Prior art keywords
data
application
application data
running
offline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010071369.7A
Other languages
English (en)
Other versions
CN111324592A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010071369.7A priority Critical patent/CN111324592B/zh
Publication of CN111324592A publication Critical patent/CN111324592A/zh
Application granted granted Critical
Publication of CN111324592B publication Critical patent/CN111324592B/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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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/23Updating
    • G06F16/2372Updates performed during offline database operations

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请提供了一种应用数据迁移方法、装置。该方法包括获取应用的应用数据和运行数据,应用数据存储在在线存储位置;在应用运行过程中,将应用数据和运行数据存储在离线存储位置;在离线存储位置中,基于运行数据对应用数据进行更新,生成第一应用数据;若第一应用数据通过校验,则通过离线存储位置中的第一应用数据为应用提供服务,为应用提供服务的是离线存储位置中更新后的应用数据,从而实现了应用数据的迁移。由于在数据迁移的过程中在线存储位置中的应用数据仍为应用提供服务,可以实现使用户无感知的完成数据迁移。

Description

应用数据迁移方法、装置
技术领域
本申请涉及计算机及通信技术领域,特别涉及一种应用数据迁移方法、装置。
背景技术
在信息化建设过程中,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代。在新旧系统的切换过程中,如何将旧系统的数据迁移至新系统是必然要面临的问题。
现有方案中的数据迁移通常先停止源数据库的使用,然后书写迁徙脚本把数据导出到一个中间文件,然后再书写导入脚本将中间文件的数据导入目标库。然而,这种数据迁移方式会导致数据库在几个小时甚至几天无法对外提供服务,导致相关的应用无法使用。
发明内容
本申请旨在提供一种应用数据迁移方法、装置,能够在进行应用数据迁移的过程中不影响应用的运行。
根据本申请实施例的一个方面,提供了一种应用数据迁移方法,包括:获取应用的应用数据和运行数据,所述应用数据存储在在线存储位置;在所述应用运行过程中,将所述应用数据和所述运行数据存储在离线存储位置;在所述离线存储位置中,基于所述运行数据对所述应用数据进行迁移,生成第一应用数据;若所述第一应用数据通过校验,则通过所述离线存储位置中的所述第一应用数据为所述应用提供服务。
根据本申请实施例的一个方面,提供了一种应用数据迁移装置,包括:获取模块、存储模块、更新模块、服务模块。
根据本申请实施例的一个方面,基于前述方案,获取模块用于获取应用的应用数据和运行数据,所述应用数据存储在在线存储位置;存储模块用于在所述应用运行过程中,将所述应用数据和所述运行数据存储在离线存储位置;更新模块用于在所述离线存储位置中,基于所述运行数据对所述应用数据进行更新,生成第一应用数据;服务模块用于若所述第一应用数据通过校验,则通过所述离线存储位置中的所述第一应用数据为所述应用提供服务。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:定时获取所述应用在运行过程中产生的所述运行数据。
在本申请的一些实施例中,基于前述方案,所述存储模块配置为:在所述在线存储位置中,对所述应用数据和所述运行数据进行备份;将所述应用数据的备份和所述运行数据的备份迁移至所述离线存储位置中。
在本申请的一些实施例中,基于前述方案,所述存储模块还配置为:将所述运行数据存储至离线消息队列中。
在本申请的一些实施例中,基于前述方案,所述更新模块配置为:在所述离线存储位置中,基于所述离线消息队列更新所述应用数据。
在本申请的一些实施例中,基于前述方案,所述更新模块还配置为:用所述运行数据替换所述应用数据中对应于所述运行数据的原始数据。
在本申请的一些实施例中,基于前述方案,所述更新模块还配置为:计算所述运行数据与所述原始数据之间的差值;若所述运行数据大于所述原始数据,则将所述原始数据加上所述差值;若所述运行数据小于所述原始数据,则将所述原始数据减去所述差值。
在本申请的一些实施例中,基于前述方案,所述更新模块还配置为:在所述在线存储位置中,根据所述运行数据更新所述应用数据,生成第二应用数据。
在本申请的一些实施例中,基于前述方案,所述服务模块配置为:若所述在线存储位置中所述第一应用数据与所述离线存储位置中所述第二应用数据相同,则确认所述第一应用数据通过校验。
根据本申请实施例的一个方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行上任一项所述的方法。
根据本申请实施例的一个方面,提供了一种电子装置,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上任一项所述的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请的一些实施例所提供的技术方案中,通过获取应用的应用数据和运行数据,应用数据存储在在线存储位置为应用提供服务。在应用运行过程中,将应用数据和运行数据存储在离线存储位置,在线存储位置中的应用数据仍为应用提供服务;在离线存储位置中,基于运行数据对应用数据进行更新,生成更新后的应用数据,以实现在数据迁移的过程中进行数据更新。若第一应用数据通过校验,则通过离线存储位置中的第一应用数据为应用提供服务,使离线存储位置中的第一应用数据代替在线存储位置中的应用数据为应用提供服务,以完成应用数据的迁移。由于在将应用数据由在线存储位置迁移至离线存储位置的过程中,在线存储位置中的应用数据仍正常为应用提供服务,因此应用仍可以正常使用。同时,由于第一应用数据是更新后的应用数据,使用第一应用数据为应用提供服务可以实现在数据迁移的同时进行更新,并且因为应用数据是在离线存储位置中进行更新,更新的过程不影响用户使用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。
图1A示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图1B示出了可以应用本申请一个实施例的技术方案的数据共享系统的示意图;
图1C示出了可以应用本申请一个实施例的区块链示意图;
图1D示出了可以应用本申请一个实施例的区块链中新区块生成的示意图;
图2示意性示出了根据本申请的一个实施例的应用数据迁移方法的流程图;
图3示意性示出了根据本申请的一个实施例的应用数据迁移的示意图;
图4示意性示出了根据本申请的一个实施例的应用数据更新方法的流程图;
图5给出了本申请的一个实施例的在离线存储位置中,基于运行数据对应用数据进行更新的流程图;
图6示意性示出了本申请的一个实施例的对第一应用数据进行校验的示意图;
图7示出了本申请的一个实施例的应用数据迁移方法用于直播平台的数据迁移的示意图;
图8示意性示出了根据本申请的一个实施例的应用数据迁移装置的框图;
图9是根据一示例性实施例示出的一种电子装置的硬件图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1A示出了可以应用本申请实施例的技术方案的示例性系统架构100A的示意图。
如图1A所示,系统架构100A可以包括终端设备101A(终端设备可以为智能手机、平板电脑、便携式计算机、台式计算机中的一种或多种)、网络102A和服务器103A。网络102A用以在终端设备101A和服务器103A之间提供通信链路的介质。网络102A可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1A中的终端设备101A、网络102A和服务器103A的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备101A、网络102A和服务器103A。比如服务器103A可以是多个服务器组成的服务器集群等。
在本申请的一个实施例中,服务器103A通过获取应用的应用数据和运行数据,应用数据存储在在线存储位置为应用提供服务;在应用运行过程中,将应用数据和运行数据存储在离线存储位置,在线存储位置中的应用数据仍为应用提供服务;在离线存储位置中,基于运行数据对应用数据进行更新,生成更新后的应用数据,以实现在数据迁移的过程中进行数据更新。若第一应用数据通过校验,则通过离线存储位置中的第一应用数据为应用提供服务,使离线存储位置中的第一应用数据代替在线存储位置中的应用数据为应用提供服务,以完成应用数据的迁移。由于在将应用数据由在线存储位置迁移至离线存储位置的过程中,在线存储位置中的应用数据仍正常为应用提供服务,因此应用仍可以正常使用。同时,由于第一应用数据是更新后的应用数据,使用第一应用数据为应用提供服务可以实现在数据迁移的同时进行更新,并且因为应用数据是在离线存储位置中进行更新,更新的过程不影响用户使用。
需要说明的是,本申请实施例所提供的应用数据迁移方法一般由服务器103A执行,相应地,应用数据迁移装置一般设置于服务器103A中。但是,在本申请的其它实施例中,终端设备101A也可以与服务器103A具有相似的功能,从而执行本申请实施例所提供的应用数据迁移方法。
图1B示出了可以应用本发明实施例的技术方案的示例性数据共享系统100B的示意图。
参见图1B所示的数据共享系统100B,数据共享系统100B是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101B,多个节点101B可以是指数据共享系统中的多个终端设备101A,多个节点101B也可以是指数据共享系统中的服务器103A。每个节点101B在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统100B内的共享数据。为了保证数据共享系统100B内的信息互通,数据共享系统100B中的每个节点101B之间可以存在信息连接,节点101B之间可以通过上述信息连接进行信息传输。例如,当数据共享系统100B中的任意节点101B接收到输入信息时,数据共享系统100B中的其他节点101B便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统100B中全部节点101B上存储的数据均一致。
对于数据共享系统100B中的每个节点101B,均具有与其对应的节点标识,而且数据共享系统100B中的每个节点101B均可以存储有数据共享系统100B中其他节点101B的节点标识,以便后续根据其他节点101B的节点标识,将生成的区块广播至数据共享系统100B中的其他节点101B。每个节点101B中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
表1
图1C示出了可以应用本申请一个实施例的区块链的示意图。
数据共享系统100B中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1C,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
图1D示出了可以应用本申请一个实施例的区块链中新区块生成的示意图。
在生成区块链中的各个区块时,参见图1D,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统100B中其他节点101B的节点标识,将新生成的区块分别发送给其所在的数据共享系统100B中的其他节点101B,由其他节点101B对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
数据共享系统100B中存储的输入信息可以是应用数据或运行数据,可以是应用数据的备份或运行数据的备份等。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本申请的一个实施例的应用数据迁移方法的流程图,该应用数据迁移方法的执行主体可以是服务器,比如可以是图1A中所示的服务器103A。
参照图2所示,该应用数据迁移方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,获取应用的应用数据和运行数据,应用数据存储在在线存储位置。
在本申请的一个实施例中,应用数据可以是为应用运行提供服务的源数据库中的数据,在线存储位置可以为源数据库,运行数据是可以是在数据运行过程中生成的数据。
在本申请的一个实施例中,在线存储位置可以为区块链系统或分布式数据库,从区块链系统或分布式数据库中获取应用数据和运行数据,可以更快的得到应用数据和运行数据,从而提高应用数据迁移的效率。
在本申请的一个实施例中,运行数据可以与应用数据相对应,运行数据可以是应用数据的变化值,也可以是应用数据发生变化后的数据。
在本申请的一个实施例中,运行数据可以是新生成的数据,可以与应用数据无对应关系。
在本申请的一个实施例中,可以定时获取应用在运行过程中产生的运行数据。
在本申请的一个实施例中,可以监测运行数据的生成,若生成运行数据时获取运行数据。
在该实施例中,定时获得运行数据可以及时的对应用数据进行更新,可以提高应用数据更新的效率,以加快第一应用数据的生成时间,以提高数据迁移效率。
在本申请的一个实施例中,若相邻的定时间隔较小时,可以实时获取应用在运行过程中产生的运行数据,进一步提高应用数据迁移的效率。
在步骤S220中,在应用运行过程中,将应用数据和运行数据存储在离线存储位置。
在本申请的一个实施例中,应用数据同时存储在在线存储位置中,得以使应用保持运行。
在本申请的一个实施例中,可以在应用运行过程中,在在线存储位置中,对应用数据和运行数据进行备份,将应用数据的备份和运行数据的备份迁移至离线存储位置中。
在该实施例中,应用数据的备份原件仍保留在在线存储位置中,用于支持应用的正常运行。
在本申请的一个实施例中,在应用运行过程中,在在线存储位置中,可以根据运行数据的备份更新应用数据的备份,以更好的为应用的运行提供支持。
图3示出了本申请的一个实施例的应用数据迁移的示意图,该应用数据迁移方法的执行主体可以是服务器,比如可以是图1A中所示的服务器103A。
在本申请的一个实施例中,可以将应用数据的备份和运行数据的备份分别存储在离线存储位置中。
如图3所示,可以将应用数据的备份从在线存储位置301中读出后直接写入离线存储位置302中,只需要为运行数据的备份进行编程操作。相比于将应用数据的备份和运行数据的备份统一进行编程操作,可以减少编程的工作量,在线服务不需要为应用数据的更新做逻辑开发和版本发布,提高应用数据迁移的效率。
在本申请的一个实施例中,可以将运行数据的备份存储至消息队列中。将运行数据的备份按照顺序存储在消息队列中,根据消息队列按照顺序对应用数据的备份进行更新,可以更加准确的更新应用数据的备份,避免在更新应用数据的备份时更新顺序错误导致更新失误。
在本申请的一个实施例中,可以获取运行数据的二进制日志,根据二进制日志生成运行数据对应的更新消息,根据更新消息生成消息队列。
在本申请的一个实施例中,可以根据二进制日志获取运行数据的生成时间,按照生成时间的顺序生成消息队列,以使应用数据的更新按照时间顺序进行,避免遗漏更新消息。
在本申请的一个实施例中,可以按照应用数据的重要程度的顺序生成消息队列,重要的应用数据先更新,提高数据更新的效率。
在本申请的一个实施例中,可以根据应用数据的类型确定应用数据的重要程度的顺序。
继续参照图2,在步骤S230中,在离线存储位置中,基于运行数据对应用数据进行更新,生成第一应用数据。
在本申请的一个实施例中,可以将应用运行时产生的运行数据存储至离线消息队列中,在离线存储位置中,基于离线消息队列更新应用数据。
图4示出了本申请的一个实施例的应用数据更新方法的流程图。该应用数据更新方法的执行主体可以是服务器,比如可以是图1A中所示的服务器103A。
如图4所示,该应用数据更新方法可以包括步骤S410至步骤S440,详细介绍如下:
在步骤S410中,获取应用运行过程中生成的运行数据;
在步骤S420中,将运行数据发送至离线消息队列中;
在步骤S430中,使用离线工具根据离线消息队列更新应用数据;
在步骤S440中,将更新后的应用数据存储至离线存储位置中。
在图4的实施例中,根据离线的消息队列离线更新应用数据不影响应用的在线运行,也避免应用数据更新的遗漏。对在线服务的修改最小化,应用数据迁移的过程最大程度离线化,以达到在数据迁移的同时实现应用数据的更新,同时不影响用户使用。
在本申请的一个实施例中,可以为每个应用数据设置一个消息队列,多个消息队列可以同时并行更新,提高应用数据更新的效率。
在本申请的一个实施例中,运行数据可以为变化后的运行数据,可以用运行数据替换应用数据中对应于运行数据的原始数据。
在本申请的一个实施例中,可以计算运行数据与原始数据之间的差值;若运行数据大于原始数据,则将原始数据加上差值;若运行数据小于原始数据,则将原始数据减去差值。
图5示出了步骤S230中,在离线存储位置中,基于运行数据对应用数据进行更新的流程图,可以包括步骤S510至步骤S550。
在步骤S510中,实时监测获取运行数据;
在步骤S520中,读取运行数据和应用数据中对应运行数据的原始数据;
在步骤S530中,计算运行数据和原始数据之间的差值;
在步骤S540中,若原始数据比运行数据更大,则将运行数据加上差值作为新的原始数据;
在步骤S550中,若原始数据比运行数据更小,则将运行数据减去差值作为新的原始数据。
在该实施例中,通过计算差值进行应用数据的更新,可以清晰的表示出原始数据的变化过程,可以更好的对应用数据的更新进行记录,方便查验。
在本申请的一个实施例中,若运行数据是应用数据的变化值,则可以根据变化值更改原始数据。
在本申请的一个实施例中,运行数据可以是应用数据的变化值,若运行数据大于零,则将原始数据加上运行数据;若运行数据小于零,则将原始数据减去运行数据。
在本申请的一个实施例中,若运行数据在应用数据中没有对应的原始数据,则将运行数据加入原始数据中。
继续参照图2,在步骤S240中,若第一应用数据通过校验,则通过离线存储位置中的第一应用数据为应用提供服务。
在图2的实施例中,通过获取应用的应用数据和运行数据,应用数据存储在在线存储位置为应用提供服务;在应用运行过程中,将应用数据和运行数据存储在离线存储位置,在线存储位置中的应用数据仍为应用提供服务;在离线存储位置中,基于运行数据对应用数据进行更新,生成更新后的应用数据,以实现在数据迁移的过程中进行数据更新。若第一应用数据通过校验,则通过离线存储位置中的第一应用数据为应用提供服务,使离线存储位置中的第一应用数据代替在线存储位置中的应用数据为应用提供服务,以完成应用数据的迁移。由于在将应用数据由在线存储位置迁移至离线存储位置的过程中,在线存储位置中的应用数据仍正常为应用提供服务,因此应用仍可以正常使用。同时,由于第一应用数据是更新后的应用数据,使用第一应用数据为应用提供服务可以实现在数据迁移的同时进行应用更新,并且因为应用数据是在离线存储位置中进行更新,更新的过程不影响用户使用。
在本申请的一个实施例中,可以在运行一段时间后,在离线存储位置中对第一应用数据进行校验,为应用数据更新预留时间,避免无效校验。
在本申请的一个实施例中,可以在在线存储位置中,根据运行数据更新应用数据,生成第二应用数据,若在线存储位置中第一应用数据与离线存储位置中第二应用数据相同,则确认第一应用数据通过校验。
图6示意性示出了本申请的一个实施例的对第一应用数据进行校验的示意图。
在本申请的一个实施例中,如图6所示,可以使用对账工具601读取在线存储位置602中的第二应用数据,使用对账工具读取离线存储位置603中的第一应用数据,在对账工具中离线对第一应用数据进行校验。
在该实施例中,为应用运行提供支持的在线存储位置602中,应用数据随着应用的运行进行更新生成第二应用数据,在离线存储位置603中,应用数据也随着应用的运行进行更新生成第一应用数据,将第二应用数据和第一应用数据进行比较,对账工具601对第一应用数据进行校验,可以在通过离线存储位置中的第一应用数据为应用提供服务时,避免应用数据的错误导致应用运行错误。
在本申请的一个实施例中,可以当第一应用数据与第二应用数据的相似度达到设定值时,确认第一应用数据通过校验,可以避免由于数据随着应用的运行不停生成而导致的第一应用数据长时间不能通过校验的问题。
在本申请的一个实施例中,可以将第一应用数据中不同于第二应用数据的数据确认为差异数据,可以获取第一应用数据中与第二应用数据中差异数据的个数,将差异数据的个数除以第一应用数据的个数,得到第一应用数据与第二应用数据的相似度。
在本申请的一个实施例中,可以获取第一应用数据中与第二应用数据中数据不同的数据,对不同的数据人工处理,可以是人工调整使第一应用数据中与第二应用数据一致。
在本申请的一个实施例中,若第一应用数据通过校验,可以采用灰度切换,先为应用运行中的一小部分提供服务,逐渐使用第一应用数据为应用的所有部分提供服务。
在本申请的一个实施例中,可以将本申请的应用数据迁移方法用于直播平台的数据迁移。
图7示出了本申请的一个实施例的应用数据迁移方法用于直播平台的数据迁移的示意图,可以包括步骤S710至步骤S770,详细介绍如下:
在步骤S710中,获取账户数据。
在步骤S720中,查询账户是否在迁移名单中。
若账户不在迁移名单中,则进入步骤S730中,不对账户的应用数据进行迁移。
在步骤S740中,若账户在迁移名单中,则检查账户的应用数据是否已经迁移。
本申请的一个实施例中,可以获取账户的应用数据的迁移标识,检查账户的应用数据是否已经迁移。
若账户的应用数据已迁移,则进入步骤S730中,不对账户的应用数据进行迁移。
在步骤S750中,若账户的应用数据未迁移,则可以获取应用数据中的账户积分,获取运行数据中的积分变化值。
在步骤S760中,在直播平台运行时,将应用数据的账户积分读出写入至离线存储位置中,将积分变化值按照时间顺序发送至离线消息队列中,在离线存储位置中,根据积分变化值更新账户积分,同时,在在线存储位置中,根据积分变化值更新账户积分。
在步骤S770中,更新完成后比较在线存储位置和离线存储位置中账户积分的值,若比较结果符合设定条件,则使用第一应用数据为直播平台提供服务,以完成直播平台的应用数据的迁移。
使用图7的应用数据迁移方法可以有效提高应用数据迁移的效率,有效避免迁移出错导致的直播平台运行错误。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的应用数据迁移方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的应用数据迁移方法的实施例。
图8示意性示出了根据本申请的一个实施例的应用数据迁移装置的框图。
参照图8所示,根据本申请的一个实施例的应用数据迁移装置800,包括获取模块801、存储模块802、更新模块803和服务模块804。
根据本申请实施例的一个方面,基于前述方案,获取模块801用于获取应用的应用数据和运行数据,应用数据存储在在线存储位置;存储模块802用于在应用运行过程中,将应用数据和运行数据存储在离线存储位置;更新模块803用于在离线存储位置中,基于运行数据对应用数据进行更新,生成第一应用数据;服务模块804用于若第一应用数据通过校验,则通过离线存储位置中的第一应用数据为应用提供服务。
在本申请的一些实施例中,基于前述方案,获取模块801配置为:定时获取应用在运行过程中产生的运行数据。
在本申请的一些实施例中,基于前述方案,存储模块802配置为:在在线存储位置中,对应用数据和运行数据进行备份;将应用数据的备份和运行数据的备份迁移至离线存储位置中。
在本申请的一些实施例中,基于前述方案,存储模块802还配置为:将运行数据存储至离线消息队列中。
在本申请的一些实施例中,基于前述方案,更新模块803配置为:在离线存储位置中,基于离线消息队列更新应用数据。
在本申请的一些实施例中,基于前述方案,更新模块803还配置为:用运行数据替换应用数据中对应于运行数据的原始数据。
在本申请的一些实施例中,基于前述方案,更新模块803还配置为:计算运行数据与原始数据之间的差值;若运行数据大于原始数据,则将原始数据加上差值;若运行数据小于原始数据,则将原始数据减去差值。
在本申请的一些实施例中,基于前述方案,更新模块803还配置为:在在线存储位置中,根据运行数据更新应用数据,生成第二应用数据。
在本申请的一些实施例中,基于前述方案,服务模块804配置为:若在线存储位置中第一应用数据与离线存储位置中第二应用数据相同,则确认第一应用数据通过校验。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本申请的这种实施方式的电子设备90。图9显示的电子设备90仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备90以通用计算设备的形式表现。电子设备90的组件可以包括但不限于:上述至少一个处理单元91、上述至少一个存储单元92、连接不同系统组件(包括存储单元92和处理单元91)的总线93、显示单元94。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元91执行,使得所述处理单元91执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。
存储单元92可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。
存储单元92还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线93可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备90也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备90交互的设备通信,和/或与使得该电子设备90能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备90还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器96通过总线93与电子设备90的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
根据本申请一个实施例,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
在本申请的一些实施例中,提供了一种本申请的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (9)

1.一种应用数据迁移方法,其特征在于,包括:
获取应用的应用数据和运行数据,所述应用数据存储在在线存储位置分别为运行过程中的所述应用提供对应的部分服务,所述运行数据用于描述所述应用数据的变化值;
为每个应用数据设置一个离线消息队列;
在所述应用运行过程中,将所述应用数据备份至离线存储位置,并将所述运行数据的备份存储至所描述应用数据对应的离线消息队列;
在所述离线存储位置中,基于所述离线消息队列中的运行数据对所述离线消息队列对应的应用数据进行更新,生成第一应用数据;
若所述第一应用数据通过校验,则采用灰度切换的方式,通过所述离线存储位置中的所述第一应用数据为所述应用提供对应的部分服务。
2.根据权利要求1所述的应用数据迁移方法,其特征在于,所述获取应用的应用数据和运行数据,包括:
定时获取所述应用在运行过程中产生的所述运行数据。
3.根据权利要求1所述的应用数据迁移方法,其特征在于,所述在所述离线存储位置中,基于所述离线消息队列中的运行数据对所述应用数据进行更新,生成第一应用数据,包括:
用所述运行数据替换所述应用数据中对应于所述运行数据的原始数据。
4.根据权利要求3所述的应用数据迁移方法,其特征在于,用所述运行数据替换所述应用数据中对应于所述运行数据的原始数据,包括:
计算所述运行数据与所述原始数据之间的差值;
若所述运行数据大于所述原始数据,则将所述原始数据加上所述差值;
若所述运行数据小于所述原始数据,则将所述原始数据减去所述差值。
5.根据权利要求1所述的应用数据迁移方法,其特征在于,所述方法还包括:
在所述在线存储位置中,根据所述运行数据更新所述应用数据,生成第二应用数据。
6.根据权利要求5所述的应用数据迁移方法,其特征在于,所述若所述第一应用数据通过校验,则通过所述离线存储位置中的所述第一应用数据为所述应用提供服务,包括:
若所述在线存储位置中所述第一应用数据与所述离线存储位置中所述第二应用数据相同,则确认所述第一应用数据通过校验。
7.一种应用数据迁移装置,其特征在于,包括:
获取模块,用于获取应用的应用数据和运行数据,所述应用数据存储在在线存储位置分别为运行过程中的所述应用提供对应的部分服务,所述运行数据用于描述所述应用数据的变化值;
队列设置模块,用于为每个应用数据设置一个离线消息队列;
存储模块,用于在所述应用运行过程中,将所述应用数据备份至离线存储位置,并将所述运行数据的备份存储至所描述应用数据对应的离线消息队列;
更新模块,用于在所述离线存储位置中,基于所述离线消息队列中的运行数据对所述离线消息队列对应的应用数据进行更新,生成第一应用数据;
服务模块,用于若所述第一应用数据通过校验,则采用灰度切换的方式,通过所述离线存储位置中的所述第一应用数据为所述应用提供对应的部分服务。
8.一种计算机可读存储介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机的处理器执行时,使计算机执行权利要求1-6中的任一项所述的方法。
9.一种电子装置,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现权利要求1-6中的任一项所述的方法。
CN202010071369.7A 2020-01-21 2020-01-21 应用数据迁移方法、装置 Active CN111324592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010071369.7A CN111324592B (zh) 2020-01-21 2020-01-21 应用数据迁移方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010071369.7A CN111324592B (zh) 2020-01-21 2020-01-21 应用数据迁移方法、装置

Publications (2)

Publication Number Publication Date
CN111324592A CN111324592A (zh) 2020-06-23
CN111324592B true CN111324592B (zh) 2022-02-25

Family

ID=71166173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010071369.7A Active CN111324592B (zh) 2020-01-21 2020-01-21 应用数据迁移方法、装置

Country Status (1)

Country Link
CN (1) CN111324592B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819545B (zh) * 2010-04-09 2012-07-25 济南银泉科技有限公司 一种利用虚拟化技术实现平台迁移的方法
CN108874828A (zh) * 2017-05-12 2018-11-23 北京京东尚科信息技术有限公司 数据迁移的方法和装置
CN109725913A (zh) * 2017-10-27 2019-05-07 北京京东尚科信息技术有限公司 数据更新的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
SG10201604736XA (en) * 2012-04-05 2016-07-28 Eileen Chu Hing Methods and systems for providing a customized network
CN109901786B (zh) * 2017-12-08 2021-07-16 腾讯科技(深圳)有限公司 数据迁移方法、系统、装置及计算机可读存储介质
CN110515546A (zh) * 2019-08-09 2019-11-29 苏州浪潮智能科技有限公司 一种系统间数据迁移的方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819545B (zh) * 2010-04-09 2012-07-25 济南银泉科技有限公司 一种利用虚拟化技术实现平台迁移的方法
CN108874828A (zh) * 2017-05-12 2018-11-23 北京京东尚科信息技术有限公司 数据迁移的方法和装置
CN109725913A (zh) * 2017-10-27 2019-05-07 北京京东尚科信息技术有限公司 数据更新的方法和装置

Also Published As

Publication number Publication date
CN111324592A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN110795503A (zh) 分布式存储系统的多集群数据同步方法及相关装置
CN110716868B (zh) 异常程序行为检测方法、装置
CN111866099B (zh) 镜像文件的下载方法、装置、系统、设备及存储介质
CN111275438B (zh) 区块链网络的共识方法、装置、设备和存储介质
US11736363B2 (en) Techniques for analyzing a network and increasing network availability
CN111324441A (zh) 运行环境的切换方法、装置、计算机设备和存储介质
CN111338834B (zh) 数据存储方法和装置
CN109299124B (zh) 用于更新模型的方法和装置
US8359601B2 (en) Data processing method, cluster system, and data processing program
CN113487182B (zh) 设备健康状态评估方法、装置、计算机设备和介质
CN111324592B (zh) 应用数据迁移方法、装置
JP7039652B2 (ja) 異常サーバのサービス処理方法および装置
CN110585724B (zh) 游戏客户端中的表格数据更新方法、装置
CN114077518A (zh) 数据快照方法、装置、设备及存储介质
CN113377863A (zh) 数据同步方法、装置、电子设备及计算机可读存储介质
CN112685486B (zh) 数据库集群的数据管理方法、装置、电子设备及存储介质
CN116107801A (zh) 交易处理方法及相关产品
CN114528108A (zh) 一种序列号生成方法、装置、服务器和存储介质
CN111159237B (zh) 系统数据分发方法、装置、存储介质及电子设备
CN114327563A (zh) 数据同步方法及装置、系统、存储介质、计算机系统
CN113220342A (zh) 中心化配置方法、装置、电子设备及存储介质
CN113760920A (zh) 一种数据同步方法、装置、电子设备和存储介质
CN110689137B (zh) 参数确定方法、系统、介质和电子设备
CN110704390B (zh) 获取服务器维护脚本的方法、装置、电子设备及介质
CN111949472A (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: 40024754

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant