CN113468140B - 数据迁移处理方法、电子设备及计算机可读存储介质 - Google Patents

数据迁移处理方法、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113468140B
CN113468140B CN202110732768.8A CN202110732768A CN113468140B CN 113468140 B CN113468140 B CN 113468140B CN 202110732768 A CN202110732768 A CN 202110732768A CN 113468140 B CN113468140 B CN 113468140B
Authority
CN
China
Prior art keywords
migration
number segment
segment
state
service module
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
CN202110732768.8A
Other languages
English (en)
Other versions
CN113468140A (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.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen 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 Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN202110732768.8A priority Critical patent/CN113468140B/zh
Publication of CN113468140A publication Critical patent/CN113468140A/zh
Application granted granted Critical
Publication of CN113468140B publication Critical patent/CN113468140B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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

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)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据迁移处理方法、电子设备及计算机可读存储介质。本申请实施例接收管理平台发送的迁移通知消息后,将至少一个号段对应的缓存数据从第一分配服务模块向第二分配服务模块迁移,在缓存数据的迁移过程中,根据至少一个号段中各号段的缓存数据的迁移状态的变化更新各号段的号段迁移状态的状态值,响应于至少一个号段的缓存数据迁移完成,通过管理平台发送路由表更新通知消息,以便更新路由表,实现了对分配服务模块中缓存数据的迁移以及路由表的相应更新,能够保证序列号的正确生成和分配,提高了序列号的生成和分配效率。

Description

数据迁移处理方法、电子设备及计算机可读存储介质
【技术领域】
本申请涉及互联网技术领域,具体地涉及互联网数据同步技术,尤其涉及一种数据迁移处理方法、电子设备及计算机可读存储介质。
【背景技术】
服务器端为每一份需要与客户端同步的数据(例如消息)都会赋予一个唯一的、递增的序列号(sequence),作为这份数据的版本号。在客户端与服务器端同步的时候,客户端会带上已经同步下去数据的最大版本号,后台会根据客户端最大版本号与服务器端的最大版本号,计算出需要同步的增量数据,返回给客户端。这样不仅保证了客户端与服务器端的数据同步的可靠性,同时也大幅减少了数据同步时的冗余数据。
由于每个应用(APP)都拥有大量的活跃用户,每时每刻都会有海量的版本号申请,这就要求序列号生成器既需要在数据可靠性上保证分配出去的序列号可靠递增,又需要满足海量的序列号申请请求。为了满足上述需求,序列号生成器设置了缓存中间层和存储层,将一组用户标识(UID)分为一个号段(Section)的概念,同个号段内的用户标识共享一个分配上限序列号(max_seq),缓存中间层中的每个分配服务模块负责若干号段的序列号分配,分摊海量的序列号申请请求,在保证序列号不回退的前提下,大幅地提升了分配序列号的性能,分配服务模块在内存中储存针对各用户标识分配出去的最后一个序列号(cur_seq)以及分配上限序列号,并在存储层持久化存储各号段和对应的分配上限序列号。分配服务模块重启时从存储层读出持久化的分配上限序列号赋值给对应的号段。
在实现本发明的过程中,本发明人通过研究发现:由于业务需求的变化,对分配服务模块进行扩容或缩容时,由于针对各用户标识分配出去的最后一个序列号是存储在内存中的,会在扩容或缩容过程中丢失,分配服务模块重新启动后需要从存储层拉取各号段和对应的分配上限序列号,重新初始化针对号段中各用户标识分配出去的最后一个序列号,将号段和对应的分配上限序列号赋值给号段中各用户标识,从而导致序列号假递增,即导致号段中各用户标识对应的序列号必然大于实际分配出去的最后一个序列号,造成了序列号资源的浪费,并增加了分配服务模块的初始化工作。
【发明内容】
本申请的多个方面提供一种数据迁移处理方法、电子设备及计算机可读存储介质。
本申请的一方面,提供一种数据迁移处理方法,包括:
接收管理平台发送的迁移通知消息,所述迁移通知消息中包括:源地址、目标地址和至少一个号段的号段标识ID;其中,所述源地址为需要迁出所述至少一个号段的缓存数据的第一分配服务模块的地址;所述目的地址为需要迁入所述缓存数据的第二分配服务模块的地址,所述号段ID用于唯一标识一个号段;
根据所述迁移通知消息,将所述至少一个号段对应的缓存数据从所述第一分配服务模块向所述第二分配服务模块迁移;
在所述缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新所述各号段的号段迁移状态的状态值;
根据所述至少一个号段的号段迁移状态的状态值,响应于所述至少一个号段的缓存数据迁移完成,通过所述管理平台发送路由表更新通知消息,以便更新路由表;其中,所述路由表更新通知消息中包括:所述至少一个号段的号段ID和所述目标地址;所述路由表包括:号段ID与地址之间的对应关系。
本申请的另一方面,提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据上述任一方面所提供的方法。
本申请的再一方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行根据上述任一方面所提供的方法。
本申请的又一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面所提供的方法。
由上述技术方案可知,本申请实施例提供了一种对分配服务模块中缓存数据进行迁移的方法,通过接收管理平台发送的迁移通知消息,将至少一个号段对应的缓存数据从第一分配服务模块向第二分配服务模块迁移,在缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新各号段的号段迁移状态的状态值,进而,根据所述至少一个号段的号段迁移状态的状态值,响应于所述至少一个号段的缓存数据迁移完成,通过管理平台发送路由表更新通知消息,以便更新路由表,所述路由表包括号段ID与地址之间的对应关系,从而实现了对分配服务模块中缓存数据的迁移以及路由表的相应更新,能够保证序列号的正确生成和分配,提高了序列号的生成和分配效率。
另外,采用本申请所提供的技术方案,对分配服务模块中缓存数据迁移完成后,只会导致路由表的更新,而不会导致迁移的缓存数据丢失,分配服务模块不需要重新从存储模块读出持久化的分配上限序列号赋值给对应的号段,因此不会导致序列号假递增,避免了由此导致的序列号资源的浪费。
另外,采用本申请所提供的技术方案,对分配服务模块中缓存数据迁移完成后,不需要分配服务模块重新初始化针对号段中各用户标识分配出去的最后一个序列号、将号段和对应的分配上限序列号赋值给号段中各用户标识,由此避免了分配服务模块的初始化工作,提高了分配服务模块的利用率。
【附图说明】
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一实施例提供的数据迁移处理方法的流程示意图。
图2是用来实现本申请实施例的数据迁移处理方法的系统的框图。
图3是本申请实施例中缓存数据迁移的一个示例性框图。
图4是用来实现本申请实施例的数据迁移处理方法的电子设备的框图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其它实施例,都属于本申请保护的范围。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。
另外,本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请实施例中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请一实施例提供的数据迁移处理方法的流程示意图,如图1所示。
101、接收管理平台发送的迁移通知消息,所述迁移通知消息中包括:源地址、目标地址和至少一个号段的号段标识(ID)。
其中,所述源地址为需要迁出所述至少一个号段的缓存数据的第一分配服务模块的地址,所述目的地址为需要迁入所述缓存数据的第二分配服务模块的地址,每个号段ID用于唯一标识一个号段(section)。
本实施例中的地址例如可以是IP地址,源地址可以是源IP地址,所述目标地址可以是目标IP地址。
102、根据所述迁移通知消息,将所述至少一个号段对应的缓存数据从第一分配服务模块向第二分配服务模块迁移。
103、在所述缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新所述各号段的号段迁移状态的状态值。
104、根据所述至少一个号段的号段迁移状态的状态值,响应于所述至少一个号段的缓存数据迁移完成,通过管理平台发送路由表更新通知消息,以便更新路由表。
其中,所述路由表更新通知消息中包括:所述至少一个号段的号段ID和所述目标地址。所述路由表包括:各号段的号段ID与地址之间的对应关系。
需要说明的是,101~104的执行主体的部分或全部可以为位于终端的应用,或者还可以为设置在位于终端的应用中的插件或软件开发工具包(Software DevelopmentKit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
这样,提供了一种对分配服务模块中缓存数据进行迁移的方法,实现了对分配服务模块中缓存数据的迁移以及路由表的相应更新,能够保证序列号的正确生成和分配,提高了序列号的生成和分配效率;对分配服务模块中缓存数据迁移完成后,只会导致路由表的更新,而不会导致迁移的缓存数据丢失,分配服务模块不需要重新从存储模块读出持久化的分配上限序列号赋值给对应的号段,因此不会导致序列号假递增,避免了由此导致的序列号资源的浪费;对分配服务模块中缓存数据迁移完成后,不需要分配服务模块重新初始化针对号段中各用户标识分配出去的最后一个序列号、将号段和对应的分配上限序列号赋值给号段中各用户标识,由此避免了分配服务模块的初始化工作,提高了分配服务模块的利用率。
可选地,在本实施例的一个可能的实现方式中,通过101接收管理平台发送的迁移通知消息之后,还可以包括:第一分配服务模块查询存储模块中的路由表,确认所述源地址与所述至少一个号段的号段ID之间的对应关系是否正确;响应于所述源地址与所述至少一个号段的号段ID之间的对应关系正确,开始执行102,根据所述迁移通知消息,将所述至少一个号段对应的缓存数据从第一分配服务模块向第二分配服务模块迁移。否则,若所述源地址与所述至少一个号段的号段ID之间的对应关系不正确,不执行102的迁移操作,还可以进一步向管理平台反馈所述源地址与所述至少一个号段的号段ID之间的对应关系不正确的错误响应消息。
可选地,在本实施例的一个可能的实现方式中,在101接收管理平台发送的迁移通知消息之前,还可以包括:管理平台根据接收到的迁移指示,在迁移任务表中建立本次迁移任务的迁移任务配置信息,所述迁移任务表可以存储在存储模块中,所述迁移任务配置信息可以包括但不限于:本次迁移任务的任务ID,所述源地址、所述目标地址和所述至少一个号段的号段ID,所述任务ID对应的迁移任务状态,以及所述至少一个号段中各号段的号段ID对应的号段迁移状态。其中,每个任务ID用于唯一标识一个迁移任务;管理平台生成所述迁移通知消息,并根据所述源地址将所述迁移通知消息发送给第一分配服务模块,所述迁移通知消息中还包括所述任务ID。
相应地,在103中,响应于开始迁移所述至少一个号段中第一号段的缓存数据,第一分配服务模块将所述迁移任务配置信息中第一号段的号段ID对应的号段迁移状态的状态值从初始状态ID更新为迁移中状态ID,其中的第一号段为开始迁移缓存数据的号段,可以为一个,也可以为多个,即可以同时迁移一个或多个号段的缓存数据;
响应于所述至少一个号段中第二号段的缓存数据迁移完成,第一分配服务模块将所述迁移任务配置信息中第二号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移完成状态ID,其中的第二号段为缓存数据迁移完成的号段,可以为一个,也可以为多个,即可以同时一个或多个号段的缓存数据迁移完成;
响应于所述至少一个号段中第三号段的缓存数据迁移失败,第一分配服务模块将所述迁移任务配置信息中第三号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移失败状态ID,其中的第三号段为缓存数据迁移失败的号段,可以为一个,也可以为多个,即可以同时一个或多个号段的缓存数据迁移失败。
本公开实施例中,号段迁移状态的状态值可以包括:初始状态、迁移中状态、迁移完成状态、迁移失败状态,初始状态、迁移中状态、迁移完成状态、迁移失败状态可以分别通过初始状态ID、迁移中状态ID、迁移完成状态ID、迁移失败状态ID来标识。其中,可以预先设定初始状态ID、迁移中状态ID、迁移完成状态ID、迁移失败状态ID的具体取值,例如初始状态ID、迁移中状态ID、迁移完成状态ID、迁移失败状态ID的具体取值对应表示为:0、1、2、3。基于号段迁移状态的状态值,可以确认该号段迁移状态的当前状态。
可选地,在本实施例的一个可能的实现方式中,所述缓存数据例如可以包括但不限于:号段ID、所述号段ID标识的号段包括的用户标识(UID),各UID对应的资源明细和最后一个序列号(cur_seq),所述号段ID对应的分配上限序列号(max_seq)和号段迁移状态的状态值,其中,每个UID用于唯一标识一个用户。
相应地,在103中,还可以包括:
响应于开始迁移所述至少一个号段中第一号段的缓存数据,第一分配服务模块将所述缓存数据中第一号段的号段ID对应的号段迁移状态的状态值从初始状态ID更新为迁移中状态ID;
响应于所述至少一个号段中第二号段的缓存数据迁移完成,第一分配服务模块将所述缓存数据中第二号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移完成状态ID;
响应于所述至少一个号段中第三号段的缓存数据迁移失败,第一分配服务模块将所述缓存数据中第三号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移失败状态ID。
可选地,在本实施例的一个可能的实现方式中,还可以包括:
响应于接收到应用客户端(包括应用服务)发送的序列号请求,第一分配服务模块根据所述序列号请求中请求方UID对应的目标号段ID,查询所述目标号段ID对应的号段迁移状态的状态值是否为初始状态ID,其中,每个号段ID用于唯一标识一个号段,目标号段为请求方UID对应的号段;
响应于所述目标号段ID对应的号段迁移状态的状态值为初始状态ID,第一分配服务模块按照预设方式,基于所述分配分配上限序列号和所述请求方UID对应的最后一个序列号,为所述请求方UID分配新的序列号,并将所述缓存数据中所述请求方UID对应的最后一个序列号更新为所述新的序列号;
第一分配服务模块向应用客户端发送响应消息,所述响应消息中包括所述新的序列号和所述目标号段ID对应的路由信息。
如下表1所示,为分配服务模块中存储的号段ID为sectionA相关的缓存数据,每个分配服务模块中可以存储多个号段相关的缓存数据。
表1
Figure BDA0003140386850000081
Figure BDA0003140386850000091
其中,每个号段包括的UID,UID相邻的一段UID属于一个号段,或者,可以根据UID对号段的总数量(例如10000)取模(UID%10000),确定UID所属的号段。同一号段内的UID共享一个分配上限序列号,这样相对于每个用户对应一个分配上限序列号大幅减少了分配上限序列号数据的大小,同时也降低了查询分配上限序列号的收入输出(IO)次数。
其中的资源明细可以包括业务类型以及针对该业务类型分配的最后一个序列号,其中的业务类型例如可以为用户、好友、消息等,例如可以分别通过对应的业务类型ID1、2、3表示。如果针对同一UID的所有业务类型共享一个序列号,则资源明细中也可以不包括业务类型。例如,上述表1中,3:100表示针对业务类型标识为3分配的最后一个序列号,state(0,1,2,3)表示sectionA的号段迁移状态,可以通过(0,1,2,3)中的一个状态值表示。
以针对同一UID的所有业务类型共享一个序列号为例进行说明,分配服务模块按照预设方式为请求方UID分配新的序列号时,可以确定请求方UID所属的目标号段ID,查询缓存数据中请求方UID对应的最后一个序列号和分配上限序列号,将该最后一个序列号递增,得到一个新的序列号(cur_seq++),比较该新的序列号大于分配上限序列号,将分配上限序列号提升一个预设步长(step):max_seq+=step,得到一个新的分配上限序列号,将缓存数据中的分配上限序列号更新为该新的分配上限序列号,并在存储模块中的数据表中更新并持久化存储该新的分配上限序列号。
如下表2所示,为存储模块的数据表中关于sectionA和sectionB的分配上限序列号的示例。
表2
sectionA sectionB
分配上限序列号 max_seq A max_seq B
如表1和下表3所示,为分配上限序列号提升一个步长(step)的示例。其中,针对请求方UID为UID0发送的序列号请求,将表1中的分配上限序列号增加提升一个步长后的缓存数据如下表3所示。
表3
Figure BDA0003140386850000101
可选地,在本实施例的一个可能的实现方式中,还可以包括:
响应于所述至少一个号段的缓存数据迁移完成,第一分配服务模块将所述迁移任务配置信息中所述任务ID对应的迁移任务状态的状态值更新为迁移成功ID;或者,
响应于所述至少一个号段中有号段的缓存数据迁移失败,第一分配服务模块将所述迁移任务配置信息中所述任务ID对应的迁移任务状态的状态值更新为迁移异常ID。
本公开实施例中,迁移任务状态可以包括迁移成功、迁移异常,迁移成功、迁移异常可以分别通过迁移成功ID、迁移异常ID来标识。其中,可以预先设定迁移成功ID、迁移异常ID的具体取值,例如迁移成功ID、迁移异常ID的具体取值可以对应表示为:0、1。基于迁移任务状态的状态值,可以确认迁移任务的当前状态。
可选地,在本实施例的一个可能的实现方式中,在104中,响应于所述至少一个号段的缓存数据迁移完成,第一分配服务模块向管理平台发送迁移完成通知消息,所述迁移完成通知消息中包括所述任务ID;管理平台查询所述任务ID对应的迁移任务配置信息中,所述任务ID对应的迁移任务状态的状态值以及所述至少一个号段中各号段的号段ID对应的号段迁移状态的状态值;管理平台根据所述任务ID对应的迁移任务状态的状态值以及所述至少一个号段中各号段的号段ID对应的号段迁移状态的状态值,确认本次迁移任务是否完成;若所述本次迁移任务完成,管理平台向仲裁服务模块发送所述路由表更新通知消息;仲裁服务模块更新本地存储的第一路由表,其中的第一路由表为仲裁服务模块本地存储的路由表。
可选地,在上述实现方式中,管理平台向仲裁服务模块发送所述路由表更新通知消息之后,仲裁服务模块可以分别向第一分配服务模块和第二分配服务模块发送所述路由表更新通知消息,以便第一分配服务模块和第二分配服务模块更新本地存储的第二路由表,其中,第二路由表为分配服务模块本地存储的路由表,第一分配服务模块和第二分配服务模块本地存储的路由表可以相同,也可以不同;仲裁服务模块向存储模块发送所述路由表更新通知消息,以便存储模块更新本地存储的第三路由表,其中,第三路由表为存储模块本地存储的路由表。
如下表4所示,为第三路由表中关于sectionA和sectionB的路由示例。
表4
sectionA sectionB
地址 分配服务模块的地址A 分配服务模块的地址B
基于上述表3,第三路由表的信息存储方式是:section[1..n]-->分配服务模块的地址,其中section[1..n]表示号段ID为section1、…、sectionn,n为大于1的整数。由于同一个用户的序列号需要由同一个分配服务模块分配,因此同一个请求方UID的序列号请求需要定位到同一分配服务模块,第三路由表可以动态变更,在某一个分配服务模块故障导致其无法访问时,其路由信息失效,此时可以将第三路由表中该分配服务模块的地址切换为其他可用的分配服务模块的地址。例如,可以在分配服务模块1故障时,将第三路由表中该分配服务模块1的地址更新为可用的分配服务模块2的地址。
或者,在上述实现方式中,管理平台向仲裁服务模块发送所述路由表更新通知消息之后,仲裁服务模块可以向存储模块发送所述路由表更新通知消息,以便存储模块更新本地存储的第三路由表;存储模块更新本地存储的所述第三路由表,并分别向第一分配服务模块和第二分配服务模块发送所述路由表更新通知消息,以便第一分配服务模块和第二分配服务模块更新本地存储的第二路由表。
图2是用来实现本申请实施例的数据迁移处理方法的系统的框图。如图2所示,该实现本申请实施例的数据迁移处理方法的系统包括多个分配服务模块(图2仅示例性给出两个分配服务模块)、存储模块、仲裁服务模块和管理平台。在序列号生成和分配流程中,应用客户端可以向分配服务模块发送序列号请求,由分配服务模块按照预设方式,为序列号请求中的请求方UID分配新的序列号,将本地缓存数据中所述请求方UID对应的最后一个序列号更新为所述新的序列号,并向应用客户端发送响应消息,该响应消息中包括为所述请求方UID分配的新的序列号和所述请求方UID对应的目标号段ID对应的路由信息。
图3是本申请实施例中缓存数据迁移的一个示例性框图。如图3所示,将UID为1和UID为2的缓存数据从第一分配服务模块迁移到第二分配服务模块。
本申请实施例提供了一种对分配服务模块中缓存数据进行迁移的方法,通过接收管理平台发送的迁移通知消息,将至少一个号段对应的缓存数据从第一分配服务模块向第二分配服务模块迁移,在缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新各号段的号段迁移状态的状态值,进而,根据所述至少一个号段的号段迁移状态的状态值,响应于所述至少一个号段的缓存数据迁移完成,通过管理平台发送路由表更新通知消息,以便更新路由表,所述路由表包括号段ID与地址之间的对应关系,从而实现了对分配服务模块中缓存数据的迁移以及路由表的相应更新,能够保证序列号的正确生成和分配,提高了序列号的生成和分配效率。
另外,采用本申请所提供的技术方案,对分配服务模块中缓存数据迁移完成后,只会导致路由表的更新,而不会导致迁移的缓存数据丢失,分配服务模块不需要重新从存储模块读出持久化的分配上限序列号赋值给对应的号段,因此不会导致序列号假递增,避免了由此导致的序列号资源的浪费。
另外,采用本申请所提供的技术方案,对分配服务模块中缓存数据迁移完成后,不需要分配服务模块重新初始化针对号段中各用户标识分配出去的最后一个序列号、将号段和对应的分配上限序列号赋值给号段中各用户标识,由此避免了分配服务模块的初始化工作,提高了分配服务模块的利用率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本申请的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储电子设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
电子设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (11)

1.一种数据迁移处理方法,其特征在于,包括:
接收管理平台发送的迁移通知消息,所述迁移通知消息中包括:源地址、目标地址和至少一个号段的号段标识ID;其中,所述源地址为需要迁出所述至少一个号段的缓存数据的第一分配服务模块的地址;所述目标地址为需要迁入所述缓存数据的第二分配服务模块的地址,号段ID用于唯一标识一个号段;
根据所述迁移通知消息,将所述至少一个号段对应的缓存数据从所述第一分配服务模块向所述第二分配服务模块迁移;
在所述缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新所述各号段的号段迁移状态的状态值;
根据所述至少一个号段的号段迁移状态的状态值,响应于所述至少一个号段的缓存数据迁移完成,通过所述管理平台发送路由表更新通知消息,以便更新路由表;其中,所述路由表更新通知消息中包括:所述至少一个号段的号段ID和所述目标地址;所述路由表包括:号段ID与地址之间的对应关系;
其中,号段迁移状态的状态值包括:初始状态、迁移中状态、迁移完成状态、迁移失败状态,初始状态、迁移中状态、迁移完成状态、迁移失败状态分别通过初始状态ID、迁移中状态ID、迁移完成状态ID、迁移失败状态ID来标识;
所述在所述缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新所述各号段的号段迁移状态的状态值,包括:
响应于开始迁移所述至少一个号段中第一号段的缓存数据,所述第一分配服务模块将迁移任务配置信息中所述第一号段的号段ID对应的号段迁移状态的状态值从初始状态ID更新为迁移中状态ID;所述迁移任务配置信息包括:本次迁移任务的任务ID,所述源地址、所述目标地址和所述至少一个号段的号段ID,所述任务ID对应的迁移任务状态,以及所述至少一个号段中各号段的号段ID对应的号段迁移状态;其中,所述任务ID用于唯一标识一个迁移任务;
响应于所述至少一个号段中第二号段的缓存数据迁移完成,所述第一分配服务模块将所述迁移任务配置信息中所述第二号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移完成状态ID;
响应于所述至少一个号段中第三号段的缓存数据迁移失败,所述第一分配服务模块将所述迁移任务配置信息中所述第三号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移失败状态ID。
2.根据权利要求1所述的方法,其特征在于,所述接收管理平台发送的迁移通知消息之后,还包括:
所述第一分配服务模块查询存储模块中的路由表,确认所述源地址与所述至少一个号段的号段ID之间的对应关系是否正确;
响应于所述源地址与所述至少一个号段的号段ID之间的对应关系正确,开始执行所述根据所述迁移通知消息,将所述至少一个号段对应的缓存数据从所述第一分配服务模块向所述第二分配服务模块迁移的操作。
3.根据权利要求1所述的方法,其特征在于,所述接收管理平台发送的迁移通知消息之前,还包括:
所述管理平台根据接收到的迁移指示,在迁移任务表中建立本次迁移任务的迁移任务配置信息;
所述管理平台生成所述迁移通知消息,并根据所述源地址将所述迁移通知消息发送给所述第一分配服务模块;所述迁移通知消息中还包括所述任务ID。
4.根据权利要求3所述的方法,其特征在于,所述缓存数据包括:号段ID、所述号段ID标识的号段包括的用户标识UID,所述号段ID标识的号段包括的各UID对应的资源明细和最后一个序列号,所述号段ID对应的分配上限序列号和号段迁移状态的状态值;
所述在所述缓存数据的迁移过程中,根据所述至少一个号段中各号段的缓存数据的迁移状态的变化,更新所述各号段的号段迁移状态的状态值,还包括:
响应于开始迁移所述至少一个号段中第一号段的缓存数据,所述第一分配服务模块将所述缓存数据中所述第一号段的号段ID对应的号段迁移状态的状态值从初始状态ID更新为迁移中状态ID;
响应于所述至少一个号段中第二号段的缓存数据迁移完成,所述第一分配服务模块将所述缓存数据中所述第二号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移完成状态ID;
响应于所述至少一个号段中第三号段的缓存数据迁移失败,所述第一分配服务模块将所述缓存数据中所述第三号段的号段ID对应的号段迁移状态的状态值从迁移中状态ID更新为迁移失败状态ID;
所述方法还包括:
响应于接收到应用客户端发送的序列号请求,所述第一分配服务模块根据所述序列号请求中请求方UID对应的目标号段ID,查询所述目标号段ID对应的号段迁移状态的状态值是否为初始状态ID;
响应于所述目标号段ID对应的号段迁移状态的状态值为初始状态ID,所述第一分配服务模块按照预设方式,基于分配分配上限序列号和所述请求方UID对应的最后一个序列号,为所述请求方UID分配新的序列号,并将所述缓存数据中所述请求方UID对应的最后一个序列号更新为所述新的序列号;
所述第一分配服务模块向所述应用客户端发送响应消息,所述响应消息中包括所述新的序列号和所述目标号段ID对应的路由信息。
5.根据权利要求3所述的方法,其特征在于,还包括:
响应于所述至少一个号段的缓存数据迁移完成,所述第一分配服务模块将所述迁移任务配置信息中所述任务ID对应的迁移任务状态的状态值更新为迁移成功ID;或者,
响应于所述至少一个号段中有号段的缓存数据迁移失败,所述第一分配服务模块将所述迁移任务配置信息中所述任务ID对应的迁移任务状态的状态值更新为迁移异常ID。
6.根据权利要求5所述的方法,其特征在于,所述通过所述管理平台发送路由表更新通知消息,以便更新路由表,包括:
响应于所述至少一个号段的缓存数据迁移完成,所述第一分配服务模块向所述管理平台发送迁移完成通知消息,所述迁移完成通知消息中包括所述任务ID;
所述管理平台查询所述任务ID对应的所述迁移任务配置信息中,所述任务ID对应的迁移任务状态的状态值以及所述至少一个号段中各号段的号段ID对应的号段迁移状态的状态值;
所述管理平台根据所述任务ID对应的迁移任务状态的状态值以及所述至少一个号段中各号段的号段ID对应的号段迁移状态的状态值,确认本次迁移任务是否完成;
若所述本次迁移任务完成,所述管理平台向仲裁服务模块发送所述路由表更新通知消息;
所述仲裁服务模块更新本地存储的第一路由表。
7.根据权利要求6所述的方法,其特征在于,所述管理平台向仲裁服务模块发送所述路由表更新通知消息之后,还包括:
所述仲裁服务模块分别向所述第一分配服务模块和所述第二分配服务模块发送所述路由表更新通知消息,以便所述第一分配服务模块和所述第二分配服务模块更新本地存储的第二路由表;
所述仲裁服务模块向存储模块发送所述路由表更新通知消息,以便所述存储模块更新本地存储的第三路由表。
8.根据权利要求6所述的方法,其特征在于,所述管理平台向仲裁服务模块发送所述路由表更新通知消息之后,还包括:
所述仲裁服务模块向存储模块发送所述路由表更新通知消息,以便所述存储模块更新本地存储的第三路由表;
所述存储模块更新本地存储的所述第三路由表,并分别向所述第一分配服务模块和所述第二分配服务模块发送所述路由表更新通知消息,以便所述第一分配服务模块和所述第二分配服务模块更新本地存储的第二路由表。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求1~8中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1~8中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1~8中任一项所述的方法。
CN202110732768.8A 2021-06-30 2021-06-30 数据迁移处理方法、电子设备及计算机可读存储介质 Active CN113468140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110732768.8A CN113468140B (zh) 2021-06-30 2021-06-30 数据迁移处理方法、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110732768.8A CN113468140B (zh) 2021-06-30 2021-06-30 数据迁移处理方法、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113468140A CN113468140A (zh) 2021-10-01
CN113468140B true CN113468140B (zh) 2023-04-07

Family

ID=77874018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110732768.8A Active CN113468140B (zh) 2021-06-30 2021-06-30 数据迁移处理方法、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113468140B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785862B (zh) * 2022-04-19 2023-10-13 中国工商银行股份有限公司 自定义路由信息的处理方法和相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331160A (zh) * 2016-09-28 2017-01-11 乐视控股(北京)有限公司 一种数据迁移方法及系统
CN106790510A (zh) * 2016-12-16 2017-05-31 北京小米移动软件有限公司 序列号的生成方法、装置以及系统
CN110019123A (zh) * 2017-11-10 2019-07-16 北京京东尚科信息技术有限公司 一种数据迁移方法和装置
CN110515956A (zh) * 2019-09-02 2019-11-29 中国工商银行股份有限公司 序列号获取方法、装置、系统、电子设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039523A (zh) * 2007-03-30 2007-09-19 华为技术有限公司 联合用户迁移方法及通讯系统以及服务gprs支持节点
CN101887456A (zh) * 2010-06-30 2010-11-17 百视通网络电视技术发展有限责任公司 一种数据迁移系统和方法
CN103488546B (zh) * 2013-01-29 2016-06-08 中国人民解放军理工大学 一种支持多级别数据和数据库在线并发备份与恢复方法
CN104866234B (zh) * 2014-02-21 2019-01-22 腾讯科技(北京)有限公司 数据迁移方法、装置及系统
CN104077239B (zh) * 2014-06-24 2017-04-26 华为技术有限公司 Ip硬盘与存储系统,及其数据操作方法
CN105700823A (zh) * 2015-12-23 2016-06-22 华为技术有限公司 一种ip硬盘之间传输数据的方法和装置
CN107179879B (zh) * 2016-03-11 2020-04-03 伊姆西Ip控股有限责任公司 用于存储设备的数据迁移的方法和装置
CN106331183B (zh) * 2016-11-25 2019-04-02 珠海格力电器股份有限公司 物联网的实现方法、物联网控制设备及物联网系统
CN107085539B (zh) * 2017-04-27 2019-12-10 北京邮电大学 一种云数据库系统以及云数据库资源动态调整方法
CN109325016B (zh) * 2018-09-12 2021-04-20 杭州朗和科技有限公司 数据迁移方法、装置、介质及电子设备
CN109819008A (zh) * 2018-10-16 2019-05-28 深圳市超盟金服技术信息服务有限公司 一种服务器数据迁移的方法、具有数据迁移功能的服务器及系统
CN111078628B (zh) * 2018-10-18 2024-02-23 深信服科技股份有限公司 一种多盘并发数据迁移方法、系统、装置及可读存储介质
CN111722918A (zh) * 2019-03-21 2020-09-29 北京沃东天骏信息技术有限公司 业务标识码生成方法、装置、存储介质及电子设备
CN112083889A (zh) * 2020-09-14 2020-12-15 腾讯科技(深圳)有限公司 数据迁移方法、装置、设备及可读存储介质
CN112286905A (zh) * 2020-10-15 2021-01-29 北京沃东天骏信息技术有限公司 数据迁移方法及装置、存储介质、电子设备
CN112492051A (zh) * 2020-12-18 2021-03-12 中国农业银行股份有限公司 一种数据迁移方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331160A (zh) * 2016-09-28 2017-01-11 乐视控股(北京)有限公司 一种数据迁移方法及系统
CN106790510A (zh) * 2016-12-16 2017-05-31 北京小米移动软件有限公司 序列号的生成方法、装置以及系统
CN110019123A (zh) * 2017-11-10 2019-07-16 北京京东尚科信息技术有限公司 一种数据迁移方法和装置
CN110515956A (zh) * 2019-09-02 2019-11-29 中国工商银行股份有限公司 序列号获取方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN113468140A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
WO2020177533A1 (zh) 电子票据标识分配方法、电子票据生成方法、装置及系统
CN112967023B (zh) 获取日程信息的方法、装置、设备、存储介质及程序产品
CN113961510B (zh) 一种文件处理方法、装置、设备及存储介质
CN111259060B (zh) 数据查询的方法及装置
CN113468140B (zh) 数据迁移处理方法、电子设备及计算机可读存储介质
CN113067860B (zh) 用于同步信息的方法、装置、设备、介质和产品
US11847161B2 (en) Data processing method and apparatus, device, and storage medium
CN117725115A (zh) 一种数据库序列处理方法、装置、设备以及存储介质
US20220407771A1 (en) Method and apparatus for updating instance configuration, device, storage medium, and program product
CN115277707B (zh) 业务处理方法、装置、电子设备和存储介质
CN115567602A (zh) Cdn节点回源方法、设备及计算机可读存储介质
CN112506583A (zh) 一种实例控制方法、装置、设备、存储介质以及程序产品
CN113778645A (zh) 基于边缘计算的任务调度方法、装置、设备及存储介质
CN113747423A (zh) 云手机状态同步方法、装置、设备、存储介质及程序产品
CN113360689A (zh) 图像检索系统、方法、相关装置及计算机程序产品
CN112667642A (zh) 一种信息生成方法及装置、电子设备
CN113239011A (zh) 数据库的扩容方法、装置及系统
CN114615273B (zh) 基于负载均衡系统的数据发送方法、装置和设备
CN115118654B (zh) 虚拟网络下的数据转发方法、系统、装置及程序产品
CN116561106B (zh) 一种配置项数据管理方法及系统
CN113179308B (zh) 服务请求处理方法、装置、电子设备及存储介质
CN113761434B (zh) 页面处理方法、装置、系统、网络平台以及电子设备
CN115827197A (zh) 分布式任务的调度方法、装置、系统及电子设备
CN115858115A (zh) 广告物料的处理方法和装置
CN116112441A (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