序列号处理方法和装置、计算设备、存储介质制造方法及图纸

技术编号:35193668 阅读:57 留言:0更新日期:2022-10-12 18:18
本申请公开了一种序列号处理方法,由服务单元执行,服务单元与至少一个槽位之间存在可变更的关联关系,至少一个槽位中的每个槽位具有对应的客户端,该方法包括:接收针对序列号的处理请求,所述处理请求来自与至少一个槽位中的目标槽位所对应的目标客户端;从序列号存储区获取针对目标槽位的最新版本信息;响应于目标槽位的最新版本信息与目标槽位的当前版本信息不匹配,基于目标槽位的最新版本信息和序列号的历史分配信息对目标槽位的当前版本信息以及与目标槽位对应的序列号的分配相关的分配信息进行更新;基于服务单元保存的目标槽位的对应的序列号以及与目标槽位对应的序列号的分配相关的分配信息来处理所述处理请求。求。求。

【技术实现步骤摘要】
序列号处理方法和装置、计算设备、存储介质


[0001]本申请涉及数据通信
,特别涉及序列号处理方法和装置、计算设备、计算机可读存储介质及计算机程序产品。

技术介绍

[0002]在通信领域中,客户端常常需要获取递增的序列号或读取曾经分配的序列号。特别是在分布式系统中,序列号可以标记某一服务器所正在执行的业务,在标记后业务状态可以被共享,这样不同服务器可以通过序列号协作完成巨大的计算任务。由于服务方通常需要多台服务器来提供这种服务,如何在多台服务器共同工作的情况下将所存储的未分配的序列号按照递增的顺序分配给客户端,以及将所分配的序列号快速、准确地传送给客户端,是一个亟待解决的问题。
[0003]现有的关于序列号分配和读取的技术采取设立多个服务器的办法,将各个客户端的哈希值按照求余数的方式来为各个客户端指定不同的服务器,实现在多台服务器的负载均衡。这种方法存在很多弊端,例如,一旦一台服务器宕机,则需要对所有客户端需要重新指定服务器,这导致各个服务器所保存的对应的客户端的序列号相关信息全部丢失,这种情况对于大多数应用场景是无法接受的。此外,因为服务器之间的数据不一定是最新的,这些服务器难以确保所分配出去的序列号是递增的。

技术实现思路

[0004]鉴于此,本申请提供了序列号处理方法和装置、计算设备、计算机可读存储介质及计算机程序产品,期望缓解或克服上面提到的部分或全部缺陷以及其他可能的缺陷。
[0005]根据本申请的第一方面,提供了一种序列号处理方法,该方法由服务单元执行,所述服务单元与至少一个槽位之间存在可变更的关联关系,所述至少一个槽位中的每个槽位具有对应的客户端,所述服务单元保存有针对每个槽位的当前版本信息、以及与每个槽位对应的序列号的分配相关的分配信息,所述方法包括:接收针对序列号的处理请求,其中所述针对序列号的处理请求来自与所述至少一个槽位中的目标槽位所对应的目标客户端;从序列号存储区获取针对所述目标槽位的最新版本信息,其中所述序列号存储区包括针对所述目标槽位的最新版本信息以及对应的序列号的历史分配信息,所述目标槽位的最新版本信息指示所述序列号存储区中记录的针对所述目标槽位最新提取的用于分配的多个序列号,所述历史分配信息指示所述序列号存储区中记录的针对所述目标槽位历史上已分配的序列号相关的信息;响应于所述目标槽位的最新版本信息与所述目标槽位的当前版本信息不匹配,基于所述目标槽位的最新版本信息和序列号的历史分配信息对所述目标槽位的当前版本信息以及与所述目标槽位对应的序列号的分配相关的分配信息进行更新,其中所述当前版本信息指示所述服务单元保存的针对所述目标槽位最近一次提取的多个序列号;基于所述服务单元保存的所述目标槽位的对应的序列号以及与所述目标槽位对应的序列号的分配相关的分配信息来处理所述针对序列号的处理请求。
[0006]根据本申请的第一方面,提供了一种序列号处理装置,该装置与至少一个槽位之间存在可变更的关联关系,所述至少一个槽位中的每个槽位具有对应的客户端,所述装置保存有针对每个槽位的当前版本信息、以及与每个槽位对应的序列号的分配相关的分配信息,包括:接收模块,配置为接收针对序列号的处理请求,其中所述针对序列号的处理请求来自与所述至少一个槽位中的目标槽位所对应的目标客户端;获取模块,配置为从序列号存储区获取针对所述目标槽位的最新版本信息,其中所述序列号存储区包括针对所述目标槽位的最新版本信息以及对应的序列号的历史分配信息,所述目标槽位的最新版本信息指示所述序列号存储区中记录的针对所述目标槽位最新提取的用于分配的多个序列号,所述历史分配信息指示所述序列号存储区中记录的针对所述目标槽位历史上已分配的序列号相关的信息;匹配模块,配置为响应于所述目标槽位的最新版本信息与所述目标槽位的当前版本信息不匹配,基于所述目标槽位的最新版本信息和序列号的历史分配信息对所述目标槽位的当前版本信息以及与所述目标槽位对应的序列号的分配相关的分配信息进行更新,其中所述当前版本信息指示所述装置保存的针对所述目标槽位最近一次提取的多个序列号;处理模块,配置为基于所述装置保存的所述目标槽位的对应的序列号以及与所述目标槽位对应的序列号的分配相关的分配信息来处理所述针对序列号的处理请求。
[0007]根据本申请的第三方面,提供了一种计算设备,包括存储器和处理器,其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行根据本申请一些实施例的由第一方或第二方实施的时移播放方法的步骤。
[0008]根据本申请的第四方面,提供了一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现根据本申请一些实施例的由第一方或第二方实施的时移播放方法。
[0009]根据本申请的第五方面,提供了一种计算机程序产品,包括计算机指令,计算机指令在被处理器执行时实现根据本申请一些实施例的由第一方或第二方实施的时移播放方法的步骤。
[0010]在根据本申请一些实施例的序列号处理方法和装置中,其中服务单元与至少一个槽位之间存在可变更的关联关系,该至少一个槽位中的每个槽位具有对应的客户端,服务单元保存有针对每个槽位的当前版本信息、以及与每个槽位对应的序列号的分配相关的分配信息,该方法和装置至少具有下述优点:第一,服务单元与槽位是可变更的关联关系,因此可以调节客户端与服务单元的对应关系,即调节服务单元的负载,而且变更关联关系时不影响其他槽位对应的客户端与服务单元之间的连接,从而可以合理调节服务单元的负载从而起到负载均衡的效果、保障多个服务单元整体的可用性和容灾能力;第二,在接收到针对序列号的处理请求后首先去获取目标槽位的最新版本信息然后进行匹配,可以实现处理每一个针对序列号的处理请求时都能够确保目标槽位是最新版本,这样可以保证所分配给客户端的序列号是递增的,也可以保证序列号的快速处理,提高处理效率。
[0011]根据下文描述的实施例,本申请的这些和其它优点将变得清楚,并且参考下文描述的实施例来阐明本申请的这些和其它优点。
附图说明
[0012]现在将更详细并且参考附图来描述本申请的实施例,其中:
图1示出了根据本申请的一些实施例的序列号处理方法的示例性应用场景;图2示出了根据本申请的一些实施例的序列号处理方法的示例性流程图;图3示出了根据本申请的一些实施例的序列号处理方法的匹配过程的示意图;图4示出了根据本申请的一些实施例的序列号处理方法的关联关系的示意图;图5示出了根据本申请的一些实施例的记录所传送的序列号的分配信息的示意图;图6示出了根据本申请的一些实施例的序列号处理方法的示例性流程图;图7示出了根据本申请的一些实施例的序列号处理方法的请求队列的示意图;图8示出了根据本申请的一些实施例的序列号处理方法的序列号存储区的存储示意图;图9示出了根据本申请的一些实施例的应用在分布式系统中的序列号处理方法的示意图;图10A示出了根据本申请的一些实施例的序列号处理方法的示意图;图10B示出了根据本申请的一些实施例的序列号处理方法的示意图;图11示出了根据本申请的一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种序列号处理方法,所述方法由服务单元执行,所述服务单元与至少一个槽位之间存在可变更的关联关系,所述至少一个槽位中的每个槽位具有对应的客户端,所述服务单元保存有针对每个槽位的当前版本信息、以及与每个槽位对应的序列号的分配相关的分配信息,所述方法包括:接收针对序列号的处理请求,其中所述针对序列号的处理请求来自与所述至少一个槽位中的目标槽位所对应的目标客户端;从序列号存储区获取针对所述目标槽位的最新版本信息,其中所述序列号存储区包括针对所述目标槽位的最新版本信息以及对应的序列号的历史分配信息,所述目标槽位的最新版本信息指示所述序列号存储区中记录的针对所述目标槽位最新提取的用于分配的多个序列号,所述历史分配信息指示所述序列号存储区中记录的针对所述目标槽位历史上已分配的序列号相关的信息;响应于所述目标槽位的最新版本信息与所述目标槽位的当前版本信息不匹配,基于所述目标槽位的最新版本信息和序列号的历史分配信息对所述目标槽位的当前版本信息以及与所述目标槽位对应的序列号的分配相关的分配信息进行更新,其中所述当前版本信息指示所述服务单元保存的针对所述目标槽位最近一次提取的多个序列号;基于所述服务单元保存的所述目标槽位的对应的序列号以及与所述目标槽位对应的序列号的分配相关的分配信息来处理所述针对序列号的处理请求。2.根据权利要求1所述的方法,其中所述响应于所述目标槽位的最新版本信息与所述目标槽位的当前版本信息不匹配,基于所述目标槽位的最新版本信息和序列号的历史分配信息对所述目标槽位的当前版本信息以及与所述目标槽位对应的序列号的分配相关的分配信息进行更新,包括:响应于所述目标槽位的最新版本信息与所述目标槽位的当前版本信息不匹配,则:利用所述目标槽位的最新版本信息指示的多个序列号对所述服务单元保存有的针对所述目标槽位的多个序列号进行更新;以及基于所述目标槽位的序列号的历史分配信息,补充与所述目标槽位对应的序列号的分配相关的分配信息。3.根据权利要求2所述的方法,其中所述针对序列号的处理请求是针对序列号的分配请求,并且所述针对序列号的分配请求用于请求向所述目标客户端上的对象分配序列号;其中,所述基于所述服务单元保存的所述目标槽位的对应的序列号以及与所述目标槽位对应的序列号的分配相关的分配信息来处理所述针对序列号的处理请求,包括:将所述服务单元保存的所述目标槽位的对应的序列号中最小的未分配的序列号传送给所述目标客户端;记录所传送的序列号的分配信息,所述分配信息指示所传送的序列号被分配到所述目标客户端上的所述对象。4.根据权利要求2所述的方法,其中所述针对序列号的处理请求是针对序列号的读取请求,并且其中所述读取请求包括目标序列号,所述针对序列号的读取请求用于读取所述目标序列号已被分配到的所述目标客户端上的对象;其中,所述基于所述服务单元保存的所述目标槽位的对应的序列号以及与所述目标槽位对应的序列号的分配相关的分配信息来处理所述针对序列号的处理请求,包括:
从与所述目标槽位对应的序列号的分配相关的分配信息中检索所述目标序列号的分配信息;将所述目标序列号的分配信息传送给所述目标客户端。5.根据权利要求2所述的方法,还包括:响应于所述服务单元保存的所述目标槽位的对应的序列号被全部分配,则:将所述服务单元保存的所述目标槽位的对应的序列号的分配信息写入所述序列号存储区;从所述序列号存储区针对所述目标槽位提取多个未分配的序列号,其中所述目标槽位的对应的多个未分配的序列号均大于针对所述目标槽位历史上已分配的序列号;基于所述提取的多个未分配的序列号更新所述序列号存储区和所述服务单元中的所述目标槽位的最新版本信息。6.根据权利要求5所述的方法,其中所述响应于所述服务单元保存的所述目标槽位的对应的序列号被全部分配,将所述服务单元保存的所述目标槽位的对应的序列号的分配信息写入所述序列号存储区,包括:响应于所述服务单元保存的所述目标槽位的对应的序列号被全部分配,将所述服务单元保存的所述目标槽位的对...

【专利技术属性】
技术研发人员:梁宇轩
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1