一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

序列号分配方法、装置、设备及计算机可读存储介质与流程

2022-12-13 19:57:17 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及序列号分配方法、装置、设备及计算机可读存储介质。


背景技术:

2.为了给终端的各种业务提供序列号分配服务,目前采用的序列号分配方案为:采用单机模式的分配服务器或者主/备机模式的分配服务器,为终端的各种业务分配序列号。然而,单机模式的分配服务器一旦出现故障,即停止提供序列号分配服务;主/备机模式的分配服务器在主机出现故障的情况下,需要从主机切换至备机,导致序列号分配服务的中断。由此,序列号分配服务的可用性和容灾能力大大降低。


技术实现要素:

3.本技术提供了序列号分配方法、装置、设备及计算机可读存储介质,至少可以实现序列号分配服务的持续性提供,以及实现不同业务对目标序列的共享,从而节省目标序列的序列号资源。
4.本技术提供了一种序列号分配方法,所述方法包括:
5.接收终端发送的序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
6.根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息;
7.根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
8.基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
9.本技术还提供了一种序列号分配方法,所述方法包括:
10.向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;以使所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列,读取所述目标序列的第一全量序列号信息;以及所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
11.接收所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,发送所述序列号申请信息对应的序列号分配信息。
12.本技术还提供了一种序列号分配方法,所述方法包括:
13.终端向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
14.所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列
的第一全量序列号信息;
15.所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
16.所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
17.本技术还提供了一种序列号分配装置,所述装置包括:
18.第一接收模块,用于接收终端发送的序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
19.第一确定模块,用于根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息;
20.第二确定模块,用于根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
21.第一发送模块,用于基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
22.本技术还提供了一种序列号分配装置,所述装置包括:
23.发送模块,用于向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;以使所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列,读取所述目标序列的第一全量序列号信息;以及所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
24.接收模块,用于接收所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,发送所述序列号申请信息对应的序列号分配信息。
25.本技术还提供了一种序列号分配装置,所述装置包括:
26.第一发送模块,用于终端向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
27.第一确定模块,用于所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息;
28.第二确定模块,用于所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
29.第二发送模块,用于所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
30.本技术还提供了一种序列号分配设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的序列号分配方法。
31.本技术还提供了一种序列号分配设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的序列号分配方法。
32.本技术还提供了一种序列号分配设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的序列号分配方法。
33.本技术还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的序列号分配方法。
34.本技术还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的序列号分配方法。
35.本技术还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的序列号分配方法。
36.本技术提供的序列号分配方法、装置、设备及计算机可读存储介质,具有如下技术效果:
37.本技术根据业务标识信息,确定目标序列中所述目标业务对应的已分配序列号信息,不仅通过业务标识信息区分目标序列中不同业务对应的已分配序列号信息,实现不同业务共享目标序列的序列号资源,从而节省目标序列的序列号资源,还可以迅速地确定目标序列中目标业务对应的已分配序列号信息,提高序列号分配效率。基于第一全量序列号信息、已分配序列号信息和序列号申请信息,可以根据实际应用需求向所述终端发送所述序列号申请信息对应的序列号分配信息,从而实现序列号分配服务的持续性提供。
38.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
39.为了更清楚地说明本技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
40.图1是本技术实施例提供的分布式系统应用于区块链系统的一个可选的结构示意图;
41.图2是本技术实施例提供的一种序列号分配系统的示意图;
42.图3是本技术实施例提供的一种序列号分配方法的流程示意图;
43.图4是本技术实施例提供的一种序列号分配过程的流程示意图;
44.图5是本技术实施例提供的另一种序列号分配过程的流程示意图;
45.图6是本技术实施例提供的另一种序列号分配过程的流程示意图;
46.图7是本技术实施例提供的另一种序列号分配过程的流程示意图;
47.图8是本技术实施例提供的一种序列号分配方法的应用场景的示意图;
48.图9是本技术实施例提供的一种目标分配服务器的存储结构的示意图;
49.图10是本技术实施例提供的另一种序列号分配方法的流程示意图;
50.图11是本技术实施例提供的另一种序列号分配方法的流程示意图;
51.图12是本技术实施例提供的一种序列号分配装置的结构示意图;
52.图13是本技术实施例提供的另一种序列号分配装置的结构示意图;
53.图14是本技术实施例提供的另一种序列号分配装置的结构示意图;
54.图15是本技术实施例提供的一种序列号分配方法的分配服务器的硬件结构框图。
具体实施方式
55.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
57.本技术实施例涉及一种序列号分配系统,该序列号分配系统包括目标分配服务器、目标存储服务器和终端,可以通过终端与目标分配服务器的交互,实现序列号分配,还可以通过终端与目标分配服务器的交互、目标分配服务器与目标存储服务器的交互,实现序列号分配。
58.本技术实施例涉及的序列号分配系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。其中,客户端可以部署于终端。
59.以分布式系统为区块链系统为例,参见图1,图1是本技术实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
60.参见图1示出的区块链系统中各节点的功能,涉及的功能包括:
61.1)路由,节点具有的基本功能,用于支持节点之间的通信。
62.节点除具有路由功能外,还可以具有以下功能:
63.2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
64.例如,应用实现的业务包括:
65.2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
66.2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
67.2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
68.3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
69.请参阅图2,图2是本技术实施例提供的一种序列号分配系统的示意图,如图2所示,该系统可以包括终端01、目标分配服务器02和目标存储服务器03。本说明书实施例中,终端01可以用于向目标分配服务端发送序列号申请请求,接收目标分配服务器基于序列号申请请求发送的序列号分配信息。可选的,终端01可以包括智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmentedreality,ar)/虚拟现实(virtual reality,vr)设备、智能可穿戴设备、车载终端和电视等类型的实体设备。也可以包括运行于上述实体设备上的软体,例如应用程序、网站等。
70.本技术实施例中,目标分配服务端02可以用于接收终端01发送的序列号申请请求,基于序列号申请请求确定序列号分配信息,向终端01发送序列号分配信息。可选的,目标分配服务端02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content deliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
71.本技术实施例中,目标存储服务器03可以用于接收目标分配服务器02发送的序列号查询请求,基于序列号查询请求确定第二全量序列号信息,向目标分配服务器02发送第二全量序列号信息。目标存储服务器03还可以用于接收目标分配服务器02发送的序列号更新请求,基于序列号更新请求确定序列号更新信息,向目标分配服务器02发送序列号更新信息。可选的,目标分配服务端03可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content deliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
72.上述客户端01、目标分配服务端02可以通过有线或无线通信方式进行直接或间接地连接,目标分配服务端02和目标存储服务端03可以通过有线或无线通信方式进行直接或间接地连接。本技术在此不做限制。此外,需要说明的是,上述图2对应的系统架构仅仅是本说明书实施例提供的一种序列号分配系统的架构,在实际应用中,还可以包括其他系统架
构。
73.具体的,为了实现序列号分配服务的持续性提供,以及提高序列号分配服务的容灾能力,本技术提出一种序列号分配方法,以采用集群模式的分配服务器,为终端的各种业务提供序列号分配服务。
74.以下介绍本技术的序列号分配方法,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
75.在一个具体的实施例中,如图3所示,本技术提供了一种序列号分配方法,应用于序列号分配系统,所述方法包括:
76.s301:终端向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息。
77.本技术实施例中,所述终端可以配置有提供目标业务的客户端。目标业务可以包括但不限于通信类业务和电商类业务。其中,通信类业务可以包括短消息业务和通话业务,电商类业务可以包括订单业务和交易业务。
78.具体的,目标业务的业务标识可以包括但不限于业务id、业务类型、业务名称和业务编号。具体的,业务标识用于区分目标业务和其他业务,具有唯一性。
79.在实际应用中,客户端在为目标对象提供上述目标业务的过程中会产生目标业务的业务数据,通过为不同业务数据分配不同的序列号,来区分不同业务数据。具体的,上述序列号可以包括自增长序列号。
80.本技术实施例中,所述目标分配服务器可以配置有目标分配服务端,该目标分配服务端可以为当前为客户端提供序列号分配服务的序列号分配服务端。
81.本技术实施例中,所述序列号申请请求用于客户端在产生目标业务的业务数据的情况下,向目标分配服务端请求序列号分配服务。
82.本技术实施例中,所述目标对象可以为客户端的用户。相应的,所述目标对象的对象标识可以为客户端用户的用户标识。
83.具体的,对象标识包括但不限于对象id(identity document)、对象名称和对象编码。具体的,对象标识可以区分目标对象和其他对象,具有唯一性。
84.本技术实施例中,所述序列号申请信息可以表征客户端需要申请的序列号数量,该序列号数量基于目标业务的实际应用需求而定,例如基于目标业务的业务数据增长数量、业务数据增长速度、业务数据预增长数量和业务数据预增长速度而定。
85.在一种具体的实施例中,目标分配服务器的服务器标识信息对应的一致性哈希值与目标对象的对象标识信息对应的一致性哈希值最接近。
86.这样,若上次为终端提供序列号分配服务的分配服务器宕机,终端在当前需要申请序列号的情况下,仍然可以从分配服务器集群中确定出目标分配服务器,以向目标分配服务器获得序列号分配服务。
87.本技术实施例中,采用集群模式的分配服务器,可以为终端持续性提供序列号分配服务,提高分配服务器的容灾能力。
88.本技术实施例中,通过终端向目标分配服务器发送序列号申请请求,可以在客户端向目标对象提供目标业务的情况下,及时向目标分配服务器申请序列号。
89.s303:所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息。
90.具体的,所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列,读取所述目标序列的第一全量序列号信息。
91.本技术实施例中,所述目标序列可以为所述目标对象可用的序列。
92.本技术实施例中,所述第一全量序列号信息可以表征目标分配服务器本地存储的所述目标序列的全部序列号。
93.在一个可选的实施例中,可以采用区间的形式对所述第一全量序列号信息进行表示,其中区间的左端值可以为基础序列号,序列号区间的右端值可以为最大序列号。例如,若目标存储服务器存储的目标序列的系列号为0至100,相应的,序列号信息可以为[0,100]。
[0094]
本技术实施例中,所述目标分配服务器可以包括多个序列管理模块,各个序列管理模块管理不同的序列。
[0095]
为了确定分配给客户端的目标序列,在一个可选的实施例中,所述目标分配服务器对所述对象标识信息进行哈希计算,得到所述对象标识信息的哈希值,确定哈希值对应的序列管理模块为目标序列管理模块,将目标序列管理模块管理的序列确定为目标序列。
[0096]
在一个可选的实施例中,所述目标分配服务器可以预先建立序列映射信息,根据序列映射信息,确定对象标识信息对应的序列管理模块为目标序列管理模块,将目标序列管理模块管理的序列确定为目标序列。其中,序列映射信息包括至少一个对象的标识信息与对应的序列的映射关系。
[0097]
本技术实施例中,通过上述两种确定目标序列的方案,目标分配服务器均可以迅速确定目标序列。此外,采用第一种确定目标序列的方案,目标分配服务器无需预先建立序列映射信息,可以降低目标分配服务器的负载,还可以节省目标分配服务器的存储空间。
[0098]
s305:所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息。
[0099]
本技术实施例中,所述已分配序列号信息可以表征所述目标序列中已经分配给所述目标业务的序列号。在一个具体的实施例中,可以采用区间的形式表示已分配序列号信息。若目标分配服务器将目标序列中的序列号0至90分配给终端的目标业务,相应的,已分配序列号信息可以为[0,90]。
[0100]
本技术实施例中,不同业务可以共享目标序列的序列号,目标分配服务器在为不同业务分配目标序列的序列号的情况下,可以根据不同业务的业务标识信息进行区分。例如,消息业务和订单业务可以共享序列a,在将序列a的序列号分配给消息业务和订单业务的情况下,可以采用消息业务的业务类型type1和订单业务的业务类型type2进行区分。例如,序列a的序列号a1分配给消息业务,记为type1_a1,分配给订单业务,记为type2_a1。
[0101]
基于此,管理目标序列的目标序列管理模块可以存储所述目标序列中不同业务对应的已分配序列号信息。目标分配服务器可以根据业务标识信息,从目标序列中确定目标业务对应的已分配序列号信息。
[0102]
由此,本技术实施例可以实现不同业务共享同一序列的序列号,从而节省序列号资源。
[0103]
s307:所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
[0104]
本技术实施例中,所述序列号分配信息可以表征所述目标分配服务器分配给终端的所述目标序列的序列号。在一个可选的实施例中,可以采用区间的形式对所述序列号分配信息进行表示。
[0105]
本技术根据业务标识信息,确定目标序列中所述目标业务对应的已分配序列号信息,不仅通过业务标识信息区分目标序列中不同业务对应的已分配序列号信息,实现不同业务共享目标序列的序列号资源,还可以迅速地确定目标序列中目标业务对应的已分配序列号信息,提高序列号分配效率。基于第一全量序列号信息、已分配序列号信息和序列号申请信息,可以根据实际应用需求向所述终端发送所述序列号申请信息对应的序列号分配信息,从而实现序列号分配服务的持续性提供。
[0106]
本技术实施例中,为了提供持续的序列号分配服务,可以采用集群模式的分配服务器为终端提供序列号分配服务。
[0107]
为了从分配服务器集群中确定目标分配服务器,在s301之前,上述方法还包括:
[0108]
终端确定所述对象标识信息对应的一致性哈希值;
[0109]
终端获取分配服务器集群中每个分配服务器的服务器标识信息;
[0110]
终端确定所述每个分配服务器的服务器标识信息对应的一致性哈希值;
[0111]
终端根据所述对象标识信息对应的一致性哈希值和所述每个分配服务器的服务器标识信息对应的一致性哈希值,从所述分配服务器集群中确定所述目标分配服务器。
[0112]
具体的,终端可以预先获取分配服务器集群中每个分配服务器的服务器标识信息,对每个服务器标识信息进行一致性哈希计算,获得每个服务器标识信息对应的一致性哈希值。
[0113]
在一个可选的实施例中,终端从分配服务器集群中确定一致性哈希值与对象标识信息对应的一致性哈希值最接近的分配服务器为目标分配服务器。其中,服务器标识信息可以包括服务器id、服务器编号和服务器物理地址。服务器标识信息用于区分不同分配服务器,具有唯一性。
[0114]
在一个可选的实施例中,终端可以根据每个分配服务器的服务器标识信息对应的一致性哈希值,以及对象标识信息对应的一致性哈希值,分别将每个分配服务器的服务器标识信息以及对象标识信息映射为圆上的节点,该圆可以包括0~2
32
的哈希值。从对象标识信息对应的节点出发,按照顺时针方向第一个到达的节点所对应的服务器标识信息为目标分配服务器的服务器标识信息。
[0115]
本技术实施例中,目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,确定本地存储的所述目标序列的可用序列号是否足够分配,在足够分配的情况下,从本地存储的所述目标序列的可用序列号中获取数量与序列号申请信息对应的数量一致的序列号,将这些序列号发送给终端。
[0116]
相应的,如图4所示,为一种序列号分配过程的流程示意图。参照图4,在s307中,所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申
请信息,向所述终端发送序列号分配信息包括:
[0117]
s401:所述目标分配服务器根据所述全量序列信息和所述已分配序列号信息,确定所述目标序列中所述目标业务对应的可用序列号信息。
[0118]
本技术实施例中,所述可用序列号信息可以表征所述目标序列中所述目标业务的可用序列号。
[0119]
本技术实施例中,目标分配服务器根据第一全量序列号信息,可以确定本地存储的所述目标序列的全部序列号。根据已分配序列号信息,可以确定所述目标序列中已经分配给所述目标业务的序列号。目标分配服务器从所述目标序列的全部序列号中剔除已经分配给所述目标业务的序列号,即可确定所述目标序列中所述目标业务可用的序列号。
[0120]
可选的,可以采用序列号区间的形式表示所述可用序列号信息。例如,若目标存储服务器存储的目标序列的系列号为0至100,相应的,第二全量序列号信息可以为[0,100]。若目标分配服务器将目标序列中的序列号0至90分配给终端的目标业务,相应的,已分配序列号信息可以为[0,90]。则目标序列中目标业务可用的序列号可以包括91至100,相应的,可用序列号信息可以为[91,100]。
[0121]
s403:在所述可用序列号信息对应的数量大于或等于所述序列号申请信息对应的数量的情况下,所述目标分配服务器从所述可用序列号信息中确定与所述序列号申请信息对应的序列号分配信息。
[0122]
本技术实施例中,所述可用序列号信息对应的数量可以为所述目标序列中所述目标业务的可用序列号的数量。
[0123]
本技术实施例中,所述序列号申请信息对应的数量可以为客户端需要为目标业务申请的序列号的数量。
[0124]
本技术实施例中,所述序列号分配信息可以表征所述目标分配服务器基于序列号申请信息确定的分配给终端的序列号。
[0125]
在所述目标序列中所述目标业务可用的序列号的数量大于或等于客户端需要为目标业务申请的序列号的数量的情况下,目标分配服务器确定本地存储的所述目标序列的可用序列号足够分配,从本地存储的所述目标序列的可用序列号中获取数量与序列号申请信息对应的数量一致的序列号,确定这些序列号为分配给目标业务的序列号。
[0126]
s405:所述目标分配服务器向所述终端发送所述序列号分配信息。
[0127]
本技术实施例中,所述目标分配服务器在本地存储的所述目标序列中的序列号足够分配给目标业务的情况下,所述目标分配服务器向所述终端发送所述序列号分配信息,可以确保分配给目标业务的序列号满足目标业务的序列号需求。
[0128]
在一个可选的实施例中,在本地存储的所述目标序列的可用序列号足够分配的情况下,所述目标分配服务器还需要确定所述第一全量序列号信息是否过期。在本地存储的所述目标序列的可用序列号足够分配、且所述第一全量序列号信息未过期的情况下,所述目标分配服务器根据序列号申请数量从本地存储的所述目标序列的可用序列号中获取数量与序列号申请信息对应的数量一致的序列号,将这些序列号发送给终端。
[0129]
相应的,如图5所示,为另一种序列号分配过程的流程示意图。参照图5,在所述目标分配服务器向所述终端发送所述序列号分配信息之前,上述方法还包括:
[0130]
s501:所述目标分配服务器向目标存储服务器发送所述目标序列对应的序列号查
询请求。
[0131]
本技术实施例中,所述目标存储服务器配置有目标存储服务端,目标存储服务端用于对目标存储服务器本地存储的多个序列对应的第二全量序列号信息进行管理。具体的,多个序列对应的第二全量序列号信息包括目标序列对应的第二全量序列号信息。
[0132]
本技术实施例中,所述序列号查询请求用于目标分配服务端向目标存储服务端请求查询目标序列对应的第二全量序列号信息。
[0133]
具体的,所述序列号查询请求可以包括目标序列管理模块的模块标识,目标序列管理模块的模块标识可以包括但不限于模块id、模块名称和模块编号。
[0134]
s503:所述目标存储服务器获取本地存储的所述目标序列对应的第二全量序列号信息,向所述目标分配服务器发送所述第二全量序列号信息。
[0135]
本技术实施例中,所述目标序列对应的第二全量序列号信息可以表征所述目标存储服务端下发给所述目标分配服务端的全部序列号。
[0136]
在一个具体的实施例中,可以采用区间的形式表示所述目标序列对应的第二全量序列号信息。其中,第二全量序列号信息包括基础序列号存储值和最大序列号存储值。例如,第二全量序列号信息可以为[0,100],其中0为基础序列号存储值,100为最大序列号存储值,它们构成的序列号区间包括目标存储服务器下发给目标分配服务器的全部序列号。
[0137]
本技术实施例中,目标存储服务器在接收序列号查询请求之后,将序列号查询请求发送给目标存储服务端。目标存储服务端根据序列号查询请求携带的目标序列管理模块的模块标识,从本地存储的多个序列对应的第二全量序列号信息中确定出目标序列对应的第二全量序列号信息,目标存储服务器向所述目标分配服务器发送该第二全量序列号信息。
[0138]
s505:在所述第一全量序列号信息与所述第二全量序列号信息一致的情况下,所述目标分配服务器执行所述向所述终端发送所述序列号分配信息的步骤。
[0139]
本技术实施例中,目标分配服务器接收目标序列对应的第二全量序列号信息之后,确定所述第一全量序列号信息与第二全量序列号信息是否一致,在一致的情况下,目标分配服务器执行所述向所述终端发送所述序列号分配信息的步骤。
[0140]
可选的,确定所述第一全量序列号信息与第二全量序列号信息是否一致包括:
[0141]
确定所述第一全量序列号信息对应的数量与所述第二全量序列号信息对应的数量是否相同;其中,所述第二全量序列号信息对应的数量可以为所述目标存储服务端下发给所述目标分配服务端的所述目标序列的序列号数量。
[0142]
在一种可选的实施例中,若所述可用序列号信息对应的数量小于所述序列号申请信息对应的数量,所述目标分配服务器仍需要向终端发送所述序列号申请信息对应的序列号分配信息。此时,目标分配服务器需要向目标存储服务器申请所述目标序列的新序列号。
[0143]
相应的,如图6所示,为另一种序列号分配过程的流程示意图。参照图6,所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送序列号分配信息还包括:
[0144]
s601:在所述可用序列号信息对应的数量小于所述序列号申请信息对应的数量的情况下,所述目标分配服务器根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息。
[0145]
为了减少目标分配服务器向目标存储服务器请求的次数,从而减少目标存储服务器的负载,目标分配服务器预先设置有序列号预申请信息。
[0146]
本技术实施例中,序列号预申请信息可以表征目标分配服务器在终端向目标分配服务器申请的的序列号数量的基础上,目标分配服务器额外向目标存储服务器申请的序列号数量。
[0147]
本技术实施例中,所述目标申请信息可以表征终端目标分配服务器向目标存储服务器请求的目标序列的序列号数量,具体表征终端向目标分配服务器申请的序列号数量与目标分配服务器额外向目标存储服务器申请的序列号数量之和。
[0148]
s603:所述目标分配服务器向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息。
[0149]
本技术实施例中,所述序列号更新请求用于目标分配服务器向目标存储服务器请求所述目标序列的新序列号。
[0150]
s605:所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息,向所述目标分配服务器发送所述序列号更新信息。
[0151]
具体的,所述序列号更新请求可以包括所述目标序列管理模块的模块标识。所述目标存储服务器根据模块标识,可以从多个序列对应的第二全量序列号信息中确定出目标序列对应的第二全量序列号信息。
[0152]
本技术实施例中,所述序列号更新信息可以表征目标存储服务器下发给目标分配服务器的新序列号。可选的,可以采用区间的形式表示序列号更新信息,例如,目标存储服务器下发给目标分配服务器的新序列号为101至200,相应的,序列号更新信息可以为[101,200]。
[0153]
具体的,目标存储服务器根据目标申请信息,确定目标分配服务器请求的目标序列的序列号数量,根据已下发给目标分配服务器的序列号区间和目标分配服务器请求的目标序列的序列号数量,确定需要下发给目标分配服务器的目标序列的新序列号区间。
[0154]
s607:所述目标分配服务器基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0155]
具体的,所述目标分配服务器根据所述序列号更新信息,对第一全量序列号信息进行更新。根据更新后的第一全量序列号信息和已分配序列号信息,对所述可用序列号信息进行更新,从更新后的可用序列号信息中确定与所述序列号申请信息对应的序列号分配信息。
[0156]
在实际应用中,若当前为终端提供序列号分配服务的目标分配服务器与上次为终端提供序列号分配服务的分配服务器一致,上述第一全量序列号信息不会出现过期的问题。
[0157]
在上述第一全量序列号信息未过期的情况下,上述可用序列号信息势必未分配给终端使用,当前终端向目标分配服务器申请目标序列的序列号的情况下,目标分配服务器可以将上述可用序列号信息分配给终端。
[0158]
相应的,目标分配服务器确定目标序列的序列号更新信息和可用序列号信息为更新后的第一全量序列号信息,清除已分配序列号信息,从更新后的第一全量序列号信息中
确定分配给终端的序列号区间。
[0159]
若已分配序列号信息为[0,90],序列号申请信息对应的数量为50,第一全量序列号信息为[0,100]以及序列号更新信息为[101,200],则更新后的第一全量序列号信息为[91,200],从[91,200]中确定出50个递增的序列号,将该50个递增的序列号分配给终端。
[0160]
由此,本技术实施例的目标分配服务器能够在第一全量序列号信息未过期的情况下,将可用序列号信息中的序列号分配给终端,在保证分配给终端的目标序列的序列号递增且唯一的情况下,还能够节省目标序列的序列号资源。
[0161]
在一个可选的实施例中,所述目标分配服务器在更新第一全量序列号信息的情况下,可以将缓存的已分配序列号信息删除,以节省目标分配服务器存储空间。
[0162]
在一种可选的实施例中,若所述第一全量序列号信息与第二全量序列号信息不一致,所述目标分配服务器仍需要执行所述向终端发送所述序列号申请信息对应的序列号分配信息。此时,目标分配服务器也需要向目标存储服务器申请所述目标序列的新序列号。
[0163]
相应的,如图7所示,为另一种序列号分配过程的流程示意图。参照图7,上述方法还包括:
[0164]
s701:在所述第一全量序列号信息与所述第二全量序列号信息不一致的情况下,所述目标分配服务器根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息。
[0165]
为了减少目标分配服务器向目标存储服务器请求的次数,从而减少目标存储服务器的负载,目标分配服务器预先设置有序列号预申请信息。
[0166]
本技术实施例中,序列号预申请信息可以表征目标分配服务器在终端向目标分配服务器申请的序列号数量的基础上,目标分配服务器额外向目标存储服务器申请的序列号数量。
[0167]
本技术实施例中,所述目标申请信息可以表征终端目标分配服务器向目标存储服务器请求的目标序列的序列号数量,具体表征终端向目标分配服务器申请的序列号数量与目标分配服务器额外向目标存储服务器申请的序列号数量之和。
[0168]
s703:所述目标存储服务器向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息。
[0169]
本技术实施例中,所述序列号更新请求用于目标分配服务器向目标存储服务器请求所述目标序列的新序列号。
[0170]
s705:所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息,向所述目标分配服务器发送所述序列号更新信息。
[0171]
具体的,所述序列号更新请求可以包括所述目标序列管理模块的模块标识。所述目标存储服务器根据模块标识,可以从多个序列对应的第二全量序列号信息中确定出目标序列对应的第二全量序列号信息。
[0172]
本技术实施例中,所述序列号更新信息可以表征目标存储服务器下发给目标分配服务器的新序列号。
[0173]
具体的,目标存储服务器根据目标申请信息,确定目标分配服务器请求的目标序列的序列号数量,根据已下发给目标分配服务器的序列号区间和目标分配服务器请求的目
标序列的序列号数量,确定需要下发给目标分配服务器的目标序列的新序列号区间。
[0174]
s707:所述目标分配服务器基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0175]
具体的,所述目标分配服务器根据所述序列号更新信息,对第一全量序列号信息进行更新。根据更新后的第一全量序列号信息和已分配序列号信息,对所述可用序列号信息进行更新,从更新后的可用序列号信息中确定与所述序列号申请信息对应的序列号分配信息。
[0176]
在实际应用中,若当前为终端提供序列号分配服务的目标分配服务器与上次为终端提供序列号分配服务的分配服务器不一致,说明上次为终端提供序列号分配服务的分配服务器宕机,当前的目标分配服务器为终端重新选择的正常工作的分配服务器。目标存储服务器中的上述第一全量序列号信息则会出现过期的问题。
[0177]
在上述第一全量序列号信息过期的情况下,上述可用序列号信息极有可能已经分配给终端使用,当前终端向目标分配服务器申请目标序列的序列号的情况下,目标分配服务器不可以将上述可用序列号分配给终端。
[0178]
相应的,目标分配服务器确定目标序列的序列号更新信息为更新后的第一全量序列号信息,清除已分配序列号信息和原来的第一全量序列号信息,从更新后的第一全量序列号信息中确定分配给终端的序列号区间。
[0179]
若已分配序列号信息为[0,90],序列号申请信息对应的数量为50,第一全量序列号信息为[0,100]以及序列号更新信息为[101,200],则更新后的第一全量序列号信息为[101,200],从[101,200]中确定出50个递增的序列号,将该50个递增的序列号分配给终端。
[0180]
由此,本技术实施例能够在当前终端重新确定目标分配服务器的情况下,确保分配给终端的目标序列的序列号递增且唯一。
[0181]
在一个可选的实施例中,所述目标分配服务器在更新第一全量序列号信息的情况下,可以将缓存的已分配序列号信息删除,以节省目标分配服务器存储空间。
[0182]
可以理解,目标存储服务器用于管理多个序列对应的第二全量序列号信息,多个序列对应的第二全量序列号信息可以包括目标序列对应的第二全量序列号信息。在目标存储服务器向目标分配服务器发送序列号更新信息之后,目标存储服务器需要根据序列号更新信息,对目标序列对应的第二全量序列号信息进行更新。
[0183]
在一种具体的实施例中,上述方法还包括:
[0184]
所述目标存储服务器根据所述序列号更新信息,对所述第二全量序列号信息进行更新。
[0185]
具体的,目标存储服务器根据下发给目标分配服务器的目标序列的序列号区间,对已下发给目标分配服务器的目标序列的序列号进行更新。
[0186]
由此,目标存储服务器可以及时更新目标序列对应的第二全量序列号信息,确保目标序列对应的第二全量序列号信息的准确性。
[0187]
此外,为了避免目标存储服务器宕机,导致目标存储服务器无法为目标分配服务器提供序列号更新服务。本技术实施例中,还采用集群模式的存储服务器,为目标分配服务器提供序列号更新服务。具体的,本技术实施例中,还对存储服务器集群中的存储服务器进行分组,属于同一组的存储服务器管理的多个序列相同,属于不同组的存储服务器管理的
多个序列不同。
[0188]
为了维持同一组的存储服务器的数据一致性,在一种具体的实施例中,上述方法还包括:
[0189]
所述目标存储服务器向关联的其他存储服务器发送所述目标序列对应的数据更新请求,所述数据更新请求包括所述序列号更新信息,以使得所述其他存储服务器根据所述序列号更新信息,对本地存储的所述目标序列对应的第二全量序列号信息进行更新。
[0190]
本技术实施例中,所述关联的其他存储分配服务器可以为目标存储服务器同一组的存储服务器。
[0191]
具体的,其他存储服务器根据目标存储服务器下发给目标分配服务器的目标序列的新序列号,对本地存储的已下发给目标分配服务器的目标序列的序列号进行更新。
[0192]
在一个具体的实施例中,目标存储服务器可以基于数据一致性协议,与关联的其他存储服务器交互,实现目标存储服务器与关联的其他存储服务器的数据一致性。具体的,上述数据一致性协议可以包括paxos协议。
[0193]
如图8所示,以短消息业务为例,为本技术实施例提供的一种序列号分配方法的应用场景的示意图。参照图8,上述序列号分配系统包括终端820、分配服务器集群800和存储服务器集群810。其中,分配服务器集群800可以包括分配服务器801、分配服务器802、
……
、分配服务器80n;存储服务器集群810可以包括存储服务器811、存储服务器812、
……
、存储服务器81n。
[0194]
具体的,可以对存储服务器集群810中的存储服务器进行分组,属于同一组的存储服务器用于存储相同的多个序列对应的第二全量序列号信息,属于不同组的存储服务器用于存储不同的多个序列对应的第二全量序列号信息。如图8所示,存储服务器811、存储服务器812和存储服务器813属于同一组,均用于存储目标序列对应的第二全量序列号信息。
[0195]
具体的,终端820可以根据客户端用户的用户标识信息user1对应的一致性哈希值,以及分配服务器集群800中每个分配服务器的服务器标识信息allocsvr对应的一致性哈希值,从分配服务器集群800中确定目标分配服务器。终端820向目标分配服务器发送序列号申请信息,序列号申请信息携带有客户端用户的用户标识信息user1、短消息业务的业务标识信息type1和序列号申请信息。
[0196]
具体的,目标分配服务器可以对用户标识信息user1进行哈希值计算,根据用户标识信息user1对应的哈希值确定目标序列,读取目标序列的第一全量序列号信息。根据业务标识信息type1,读取目标序列中目标业务对应的已分配序列号信息。根据第一全量序列号信息和已分配序列号信息,确定目标序列中目标业务对应的可用序列号信息。在可用序列号信息对应的数量大于或者等于序列号申请信息对应的数量的情况下,目标分配服务器可以确定本地存储的目标序列的系列号足够分配,从可用序列号信息中确定出序列号申请信息对应的序列号分配信息,向终端发送序列号分配信息。
[0197]
可选的,在可用序列号信息对应的数量大于或者等于序列号申请信息对应的数量的情况下,目标分配服务器还可以向目标序列对应的目标存储服务器发送序列号查询信息,接收目标存储服务器基于序列号查询信息发送的目标序列对应的第二全量序列号信息,在第一全量序列号信息与第二全量序列号信息一致的情况下,目标分配服务器可以确定第一全量序列号信息未过期,执行所述向终端发送序列号申请信息对应的序列号分配信
息的操作。
[0198]
可选的,在可用序列号信息对应的数量小于序列号申请信息对应的数量的情况下,或者在第一全量序列号信息过期的情况下,目标分配服务器需要向目标存储服务器申请目标序列的新序列号。具体的,目标分配服务器向目标存储服务器发送序列号更新请求,接收目标存储服务器基于序列号更新请求发送的序列号更新信息。基于序列号更新信息对第一全量序列号信息进行更新,从更新后的第一全量序列号信息中确定出序列号申请信息对应的序列号分配信息,向终端发送序列号分配信息。
[0199]
具体的,目标存储服务器还根据序列号分配信息,更新第二全量序列号信息。具体的,目标存储服务器还可以基于paxos协议与关联的其他存储服务器(属于同一组的存储服务器)交互,向其他存储服务器发送序列号更新信息,以使得其他存储服务器根据序列号更新信息,对本地存储的目标序列对应的第二全量序列号信息进行更新,以维持目标存储服务器与关联的其他存储服务器的数据一致性。
[0200]
本技术实施例中,采用集群模式的分配服务器为终端提供序列号分配服务,可以实现序列号分配服务的持续性提供,即使分配服务器集群中存在宕机的分配服务器,也能够保证序列号分配服务不终端,提升分配服务器的容灾能力。
[0201]
本技术实施例中,目标分配服务器通过接收终端发送的序列号申请请求,根据序列号申请请求携带的目标对象的对象标识,可以迅速确定目标对象对应的目标序列,进而迅速读取目标序列的第一全量序列号信息,提高序列号分配效率。目标分配服务器根据序列号申请请求携带的目标业务的业务标识信息,可以迅速确定目标序列中所述目标业务对应的已分配序列号信息,进一步提高序列号分配效率。目标分配服务器基于第一全量序列号信息、已分配序列号信息和序列号申请信息,可以根据实际应用需求向所述终端发送所述序列号申请信息对应的序列号分配信息,从而实现序列号分配服务的持续性提供。
[0202]
本技术实施例中,目标存储服务器基于数据一致性协议与关联的其他存储服务器交互,可以维持目标存储服务器与其他存储服务器的数据一致性。
[0203]
如图9所示,为本技术实施例提供的一种目标分配服务器的存储结构的示意图。参照图9,目标分配服务器900包括序列号管理模块901、序列号管理模块902、
……
、序列号管理模块90n。其中,序列号管理模块901、序列号管理模块902、
……
、序列号管理模块90n分别用于管理不同的序列。
[0204]
在每个序列号管理模块下,例如在序列号管理模块901下,根据用户的用户标识信息,对不同用户的数据进行分片存储。其中,在用户标识信息user1对应的分片,存储有序列号管理模块901管理的序列中不同业务对应的已分配序列号信息。
[0205]
具体的,不同的业务可以共享序列号管理模块901管理的序列。采用不同的业务的业务标识,即可对分配给不同业务的该序列的序列号进行区分。具体的,该业务标识可以包括业务类型,例如type1、type2、
……
、typem。
[0206]
本技术实施例中,通过不同的序列号管理模块管理不同的序列,可以实现不同序列的有序管理。
[0207]
本技术实施例中,通过采用业务类型对分配给不同业务的同一序列的序列号进行区分,可以实现不同业务共享同一序列,节省序列资源。
[0208]
在一种具体的实施例中,如图10所示,本技术还提供了另一种序列号分配方法的
流程示意图,应用于目标分配服务器,上述方法包括:
[0209]
s1001:接收终端发送的序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
[0210]
s1003:根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息;
[0211]
s1005:根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
[0212]
s1007:基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
[0213]
在一些实施例中,所述基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送序列号分配信息包括:
[0214]
根据所述全量序列信息和所述已分配序列号信息,确定所述目标序列中所述目标业务对应的可用序列号信息;
[0215]
在所述可用序列号信息对应的数量大于所述序列号申请信息对应的数量的情况下,从所述可用序列号信息中确定与所述序列号申请信息对应的序列号分配信息;
[0216]
向所述终端发送所述序列号分配信息。
[0217]
在一些实施例中,在所述向所述终端发送所述序列号分配信息之前,上述方法还包括:
[0218]
向目标存储服务器发送所述目标序列对应的序列号查询请求,以使所述目标存储服务器获取本地存储的所述目标序列对应的第二全量序列号信息;
[0219]
接收所述目标存储服务器发送的所述第二全量序列号信息;
[0220]
在所述第一全量序列号信息与所述第二全量序列号信息一致的情况下,执行所述向所述终端发送所述序列号分配信息的步骤。
[0221]
在一个具体的实施例中,所述基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送序列号分配信息还包括:
[0222]
在所述可用序列号信息对应的数量小于所述序列号申请信息对应的数量的情况下,根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息;
[0223]
向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息,以使所述目标存储服务器根据所述目标申请信息和第二全量序列号信息,确定所述目标序列对应的序列号更新信息;
[0224]
接收所述目标存储服务器发送的所述序列号更新信息;
[0225]
基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0226]
在一些实施例中,上述方法还包括:
[0227]
在所述第一全量序列号信息与所述第二全量序列号信息不一致的情况下,根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息;
[0228]
向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息,以使所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息;
[0229]
接收所述目标存储服务器发送的所述序列号更新信息;
[0230]
基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0231]
本技术实施例中,目标分配服务器通过接收终端发送的序列号申请请求,根据序列号申请请求携带的目标对象的对象标识,可以迅速确定目标对象对应的目标序列,进而迅速读取目标序列的第一全量序列号信息,提高序列号分配效率。目标分配服务器根据序列号申请请求携带的目标业务的业务标识信息,可以迅速确定目标序列中所述目标业务对应的已分配序列号信息,进一步提高序列号分配效率。目标分配服务器基于第一全量序列号信息、已分配序列号信息和序列号申请信息,可以根据实际应用需求向所述终端发送所述序列号申请信息对应的序列号分配信息,从而实现序列号分配服务的持续性提供。
[0232]
在一个具体的实施例中,如图11所示,本技术还提供了另一种序列号分配方法的流程示例图,应用于目标存储服务器,上述方法包括:
[0233]
s1101:向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;以使所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列,读取所述目标序列的第一全量序列号信息;以及所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
[0234]
s1103:接收所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,发送所述序列号申请信息对应的序列号分配信息。
[0235]
在一些实施例中,在所述向目标分配服务器发送序列号申请请求之前,上述方法还包括:
[0236]
确定所述对象标识信息对应的一致性哈希值;
[0237]
获取分配服务器集群中每个分配服务器的服务器标识信息;
[0238]
确定所述每个分配服务器的服务器标识信息对应的一致性哈希值;
[0239]
根据所述对象标识信息对应的一致性哈希值和所述每个分配服务器的服务器标识信息对应的一致性哈希值,从所述分配服务器集群中确定所述目标分配服务器。
[0240]
本技术实施例中,终端采用一致性哈希值的方案,从分配服务器集群中确定目标分配服务器,可以确定正常工作的目标存储分配服务器为终端提供序列号分配服务。
[0241]
如图12所示,本技术还提供了一种序列号分配装置的结构示意图,应用于序列号分配系统。参照图12,所述装置1200包括:
[0242]
第一发送模块1201,用于终端向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
[0243]
第一确定模块1203,用于所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息;
[0244]
第二确定模块1205,用于所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
[0245]
第二发送模块1207,用于所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
[0246]
在一些实施例中,所述第二发送模块1207包括:
[0247]
第一确定单元,用于所述目标分配服务器根据所述全量序列信息和所述已分配序列号信息,确定所述目标序列中所述目标业务对应的可用序列号信息;
[0248]
第二确定单元,用于在所述可用序列号信息对应的数量大于所述序列号申请信息对应的数量的情况下,所述目标分配服务器从所述可用序列号信息中确定与所述序列号申请信息对应的序列号分配信息;
[0249]
第一发送单元,用于所述目标分配服务器向所述终端发送所述序列号分配信息。
[0250]
在一些实施例中,所述装置还包括:
[0251]
第三发送模块,用于目标分配服务器向所述目标存储服务器发送所述目标序列对应的序列号查询请求;
[0252]
第四发送模块,用于所述目标存储服务器获取本地存储的所述目标序列对应的第二全量序列号信息,向所述目标分配服务器发送所述第二全量序列号信息;
[0253]
执行模块,用于在所述第一全量序列号信息与所述第二全量序列号信息一致的情况下,所述目标分配服务器执行所述向所述终端发送所述序列号分配信息的步骤。
[0254]
在一些实施例中,所述第二发送模块1207还包括:
[0255]
第三确定单元,用于在所述可用序列号信息对应的数量小于所述序列号申请信息对应的数量的情况下,所述目标分配服务器根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息;
[0256]
第二发送单元,用于所述目标存储服务器向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息;
[0257]
第四确定单元,用于所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息,向所述目标分配服务器发送所述序列号更新信息;
[0258]
第三发送单元,用于所述目标分配服务器基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0259]
在一些实施例中,所述装置还包括:
[0260]
第三确定模块,用于在所述第一全量序列号信息与所述第二全量序列号信息不一致的情况下,所述目标分配服务器根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息;
[0261]
第五发送模块,用于所述目标存储服务器向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息;
[0262]
第四确定模块,用于所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息,向所述目标分配服务器发送所述序列号更新信息;
[0263]
第六发送模块,用于所述目标分配服务器基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0264]
在一些实施例中,所述装置还包括:
[0265]
第二更新模块,用于所述目标存储服务器根据所述序列号更新信息,对所述第二全量序列号信息进行更新。
[0266]
在一些实施例中,所述装置还包括:
[0267]
第三更新模块,用于所述目标存储服务器向关联的其他存储服务器发送所述目标序列对应的数据更新请求,所述数据更新请求包括所述序列号更新信息,以使得所述其他存储服务器根据所述序列号更新信息,对本地存储的所述目标序列对应的第二全量序列号信息进行更新。
[0268]
所述的装置实施例中的装置与方法实施例基于同样地发明构思。
[0269]
如图13所示,本技术还提供了一种序列号分配装置的结构示意图,应用于目标分配服务器。参照图13,所述装置1300包括:
[0270]
第一接收模块1301,用于接收终端发送的序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;
[0271]
第一确定模块1303,用于根据所述对象标识信息,确定所述目标对象对应的目标序列的第一全量序列号信息;
[0272]
第二确定模块1305,用于根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
[0273]
第一发送模块1307,用于基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,向所述终端发送所述序列号申请信息对应的序列号分配信息。
[0274]
在一些实施例中,所述第一发送模块1307包括:
[0275]
第一确定单元,用于根据所述第一全量序列信息和所述已分配序列号信息,确定所述目标序列中所述目标业务对应的可用序列号信息;
[0276]
第二确定单元,用于在所述可用序列号信息对应的数量大于所述序列号申请信息对应的数量的情况下,从所述可用序列号信息中确定与所述序列号申请信息对应的序列号分配信息;
[0277]
发送单元,用于向所述终端发送所述序列号分配信息。
[0278]
在一些实施例中,所述装置还包括:
[0279]
第二发送模块,用于向目标存储服务器发送所述目标序列对应的序列号查询请求,以使所述目标存储服务器获取本地存储的所述目标序列对应的第二全量序列号信息;
[0280]
第二接收模块,用于接收所述目标存储服务器发送的所述第二全量序列号信息;
[0281]
第一发送模块,还用于在所述第一全量序列号信息与所述第二全量序列号信息一致的情况下,执行所述向所述终端发送所述序列号分配信息的步骤。
[0282]
在一些实施例中,所述第一发送模块1307还包括:
[0283]
第一确定单元,用于在所述可用序列号信息对应的数量小于所述序列号申请信息对应的数量的情况下,根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息;
[0284]
第一发送单元,用于向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息,以使所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息;
[0285]
接收单元,用于接收所述目标存储服务器发送的所述序列号更新信息;
[0286]
第二发送单元,用于基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0287]
在一些实施例中,所述装置还包括:
[0288]
第三确定模块,用于在所述第一全量序列号信息与所述第二全量序列号信息不一致的情况下,根据所述序列号申请信息和预设的序列号预申请信息,确定目标申请信息;
[0289]
第三发送模块,用于向目标存储服务器发送所述目标序列对应的序列号更新请求,所述序列号更新请求包括所述目标申请信息,以使所述目标存储服务器根据所述目标申请信息和所述第二全量序列号信息,确定所述目标序列对应的序列号更新信息,根据所述序列号更新信息,对所述第二全量序列号信息进行更新;
[0290]
第三接收模块,用于接收所述目标存储服务器发送的所述序列号更新信息;
[0291]
第一发送模块,还用于基于所述序列号更新信息,向所述终端发送所述序列号分配信息。
[0292]
如图14所示,本技术还提供了一种序列号分配装置的结构示意图,应用于终端。参照图14,所述装置1400包括:
[0293]
发送模块1401,用于向目标分配服务器发送序列号申请请求;其中,所述序列号申请请求包括目标对象的对象标识信息、目标业务的业务标识信息和序列号申请信息;以使所述目标分配服务器根据所述对象标识信息,确定所述目标对象对应的目标序列,读取所述目标序列的第一全量序列号信息;以及所述目标分配服务器根据所述业务标识信息,确定所述目标序列中所述目标业务对应的已分配序列号信息;
[0294]
接收模块1403,用于接收所述目标分配服务器基于所述第一全量序列号信息、所述已分配序列号信息和所述序列号申请信息,发送所述序列号申请信息对应的序列号分配信息。
[0295]
在一些实施例中,所述装置还包括:
[0296]
第一确定模块,用于确定所述对象标识信息对应的一致性哈希值;
[0297]
获取模块,用于获取分配服务器集群中每个分配服务器的服务器标识信息;
[0298]
第二确定模块,用于确定所述每个分配服务器的服务器标识信息对应的一致性哈希值;
[0299]
第三确定模块,用于根据所述对象标识信息对应的一致性哈希值和所述每个分配服务器的服务器标识信息对应的一致性哈希值,从所述分配服务器集群中确定所述目标分配服务器。
[0300]
所述的装置实施例中的装置与方法实施例基于同样地发明构思。
[0301]
本技术还提供了另一种序列号分配设备,应用于序列号分配系统,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的应用于序列号分配系统的序列号分配方法实施例。
[0302]
所述的设备实施例中的设备与方法实施例基于同样地发明构思。
[0303]
本技术还提供了一种序列号分配设备,应用于目标分配服务器,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的应用于目标分配服务器的序列号分配方法实施例。
[0304]
所述的设备实施例中的设备与方法实施例基于同样地发明构思。
[0305]
本技术还提供了另一种序列号分配设备,应用于终端,所述设备包括处理器和存
储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的应用于终端的序列号分配方法实施例。
[0306]
所述的设备实施例中的设备与方法实施例基于同样地发明构思。
[0307]
本技术还提供了一种计算机可读存储介质,应用于序列号分配系统,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的应用于序列号分配系统的序列号分配方法实施例。
[0308]
所述的计算机可读存储介质实施例中的存储介质与方法实施例基于同样地发明构思。
[0309]
本技术还提供了一种计算机可读存储介质,应用于目标分配服务器,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的应用于目标分配服务器的序列号分配方法实施例。
[0310]
所述的计算机可读存储介质实施例中的存储介质与方法实施例基于同样地发明构思。
[0311]
本技术还提供了一种计算机可读存储介质,应用于终端,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的应用于终端的序列号分配方法实施例。
[0312]
所述的计算机可读存储介质实施例中的存储介质与方法实施例基于同样地发明构思。
[0313]
本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
[0314]
本技术实施例提供了一种分配服务器,该分配服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的应用于分配服务器的序列号分配方法。
[0315]
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及序列号分配。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
[0316]
本技术实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图15是本技术实施例提供的一种序列号分配方法的分配服务器的硬件结构框图。如图15所示,该分配服务器1500可因配置或性能不
同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1510(处理器1510可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1530,一个或一个以上存储应用程序1523或数据1522的存储介质1520(例如一个或一个以上海量存储设备)。其中,存储器1530和存储介质1520可以是短暂存储或持久存储。存储在存储介质1520的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1510可以设置为与存储介质1520通信,在服务器1500上执行存储介质1520中的一系列指令操作。服务器1500还可以包括一个或一个以上电源1560,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1540,和/或,一个或一个以上操作系统1521,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0317]
输入输出接口1540可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1500的通信供应商提供的无线网络。在一个实例中,输入输出接口1540包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1540可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0318]
本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1500还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。
[0319]
本技术的实施例还提供了一种存储介质,所述存储介质可设置于分配服务器之中以保存用于实现方法实施例中序列号分配方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的序列号分配方法。
[0320]
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0321]
由上述本技术提供的序列号分配方法、装置、设备及计算机可读存储介质的实施例可见,本技术根据业务标识信息,确定目标序列中所述目标业务对应的已分配序列号信息,不仅通过业务标识信息区分目标序列中不同业务对应的已分配序列号信息,实现不同业务共享目标序列的序列号资源,从而节省目标序列的序列号资源,还可以迅速地确定目标序列中目标业务对应的已分配序列号信息,提高序列号分配效率。基于第一全量序列号信息、已分配序列号信息和序列号申请信息,可以根据实际应用需求向所述终端发送所述序列号申请信息对应的序列号分配信息,从而实现序列号分配服务的持续性提供。
[0322]
需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0323]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0324]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0325]
以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献