一种序列号生成方法及电子设备的制造方法

文档序号:9491686阅读:564来源:国知局
一种序列号生成方法及电子设备的制造方法
【技术领域】
[0001]本发明涉及电子技术领域,尤其涉及一种序列号生成方法及电子设备。
【背景技术】
[0002]序列号用于唯一标示系统元素,被广泛地应用于互联网领域,可以优化系统存储,简化模块交互。随着互联网大数据时代的到来,数据规模和业务规模迅速膨胀,从性能、存储、可用性、扩展性等几个方面都给现有的序列号生成方法带来严峻的挑战。
[0003]目前采用的序列号生成方法有两种:一是,集中式序列号生成方法,即由一个全局模块负责生成序列号,可以保证序列号从0开始连续递增,但这种简单的序列号生成方法采用单设备单点生成序列号,无法适应大规模分布式系统的序列号生成要求;二是,分布式序列号生成方法,即利用数据库的自增步长来生成序列号,典型的配置是两个节点,一个生成偶数序列号,一个生成奇数序列号,这种序列号生成方法虽然可以通过设置自增步长来配置服务的节点数量,以支持大规模系统的序列号生成要求,但不能保证序列号的严格递增,无法满足对时序有严格要求的应用场景。
[0004]可见,现有的序列号生成方法存在不能兼顾适应大规模系统和保证序列号递增的技术问题。

【发明内容】

[0005]本发明提供一种序列号生成方法及电子设备,用以解决现有技术中的序列号生成方法存在的不能兼顾适应大规模系统和保证序列号递增的技术问题。
[0006]第一方面,提供一种序列号生成方法,所述方法应用于第一集群的第一电子设备中,所述第一集群包括至少一个所述第一电子设备,所述方法包括:
[0007]接收客户端发送的序列号请求;所述序列号请求中携带有第一应用的应用信息;
[0008]根据所述应用信息和接收所述序列号请求的所述第一电子设备中预存的拓扑信息,从所述第一集群中确定出与所述第一应用对应的第一电子设备作为目标电子设备;所述拓扑信息包括所述第一集群中的第一电子设备与需要服务的应用的对应关系;
[0009]当接收所述序列号请求的所述第一电子设备是所述目标电子设备时,从预存的与所述第一应用对应的预分配序列号集合中确定出最小的序列号,作为目标序列号发送至所述客户端;
[0010]当接收所述序列号请求的所述第一电子设备不是所述目标电子设备时,转发所述序列号请求至所述目标电子设备,以使所述目标电子设备从预存的与所述第一应用对应的预分配序列号集合中确定出最小的序列号,作为目标序列号发送至所述客户端。
[0011 ] 优选的,所述方法还包括:
[0012]当确定第二电子设备中存储的拓扑信息发生了更新时,获取所述第二电子设备中存储的更新后的拓扑信息;
[0013]用所述更新后的拓扑信息替换所述第一电子设备中预存的拓扑信息。
[0014]优选的,所述确定第二电子设备中存储的拓扑信息发生了更新包括:
[0015]接收到所述第二电子设备发送的拓扑信息更新通知;或
[0016]发送拓扑信息查询请求至所述第二电子设备;接收所述第二电子设备基于所述拓扑信息查询请求反馈的拓扑信息更新通知。
[0017]优选的,所述方法还包括:
[0018]接收所述第二电子设备发送的更新指令;所述更新指令携带有所述第一集群中的第一电子设备的当前状态和所述需要服务的应用的当前状态;
[0019]根据所述第一集群中的第一电子设备的当前状态和所述需要服务的应用的当前状态计算得到当前所述第一集群中的第一电子设备与需要服务的应用的对应关系;
[0020]发送所述当前所述第一集群中的第一电子设备与需要服务的应用的对应关系至所述第二电子设备,以更新所述第二电子设备中存储的拓扑信息。
[0021]优选的,所述从预存的与所述第一应用对应的预分配序列号集合中确定出最小的序列号之前,还包括:
[0022]确定所述预分配序列号集合是否为空;
[0023]当所述预分配序列号集合为空时,发送预分配请求至所述第二电子设备;所述预分配请求中携带有所述第一应用的应用信息,用以获得所述第二电子设备基于所述应用信息返回的与所述第一应用对应的新序列号;
[0024]接收所述第二电子设备基于所述预分配请求返回的新序列号,并根据所述新序列号更新所述预分配序列号集合。
[0025]优选的,更新后的所述预分配序列号集合中最小的序列号大于更新前的所述预分配序列号集合中最大的序列号。
[0026]第二方面,提供一种电子设备,第一集群包括至少一个所述电子设备,所述电子设备包括:
[0027]第一接收单元,用于接收客户端发送的序列号请求;所述序列号请求中携带有第一应用的应用信息;
[0028]设备确定单元,用于根据所述应用信息和自身设备中预存的拓扑信息,从所述第一集群中确定出与所述第一应用对应的电子设备作为目标电子设备;所述拓扑信息为所述第一集群中的电子设备与需要服务的应用的对应关系;判断单元,用于判断自身设备是否是所述目标电子设备;
[0029]序列号确定单元,用于当所述判断单元的判断结果为是时,从预存的与所述第一应用对应的预分配序列号集合中确定出最小的序列号,作为目标序列号;
[0030]第一发送单元,用于将所述序列号确定单元确定的目标序列号发送至所述客户端;
[0031]第二发送单元,用于当所述判断单元的判断结果为否时,转发所述序列号请求至所述目标电子设备,以使所述目标电子设备从预存的与所述第一应用对应的预分配序列号集合中确定出最小的序列号,作为目标序列号发送至所述客户端。
[0032]优选的,所述电子设备还包括:
[0033]更新确定单元,用于确定存储电子设备中存储的拓扑信息发生了更新时,触发更新获取单元;
[0034]所述更新获取单元,用于获取所述存储电子设备中存储的更新后的拓扑信息;
[0035]更新单元,用于用所述更新后的拓扑信息替换所述电子设备中预存的拓扑信息。
[0036]优选的,所述更新确定单元包括:
[0037]第一更新接收子单元,用于接收所述存储电子设备发送的拓扑信息更新通知;或
[0038]请求发送子单元和第二更新接收子单元;
[0039]其中,所述请求发送子单元,用于发送拓扑信息查询请求至所述存储电子设备;
[0040]所述第二更新接收子单元,用于接收所述存储电子设备基于所述拓扑信息查询请求反馈的拓扑信息更新通知。
[0041]优选的,所述电子设备还包括:
[0042]第二接收单元,用于接收所述存储电子设备发送的更新指令;所述更新指令携带有所述第一集群中的电子设备的当前状态和所述需要服务的应用的当前状态;
[0043]拓扑信息计算单元,用于根据所述第一集群中的电子设备的当前状态和所述需要服务的应用的当前状态计算得到当前所述第一集群中的电子设备与需要服务的应用的对应关系;
[0044]第三发送单元,用于发送所述当前所述第一集群中的电子设备与需要服务的应用的对应关系至所述存储电子设备,以更新所述存储电子设备中存储的拓扑信息。
[0045]优选的,所述电子设备还包括:
[0046]空集确定单元,用于确定所述预分配序列号集合为空时,触发序列号获取单元;
[0047]所述序列号获取单元,用于发送预分配请求至所述存储电子设备;所述预分配请求中携带有所述第一应用的应用信息,用以获得所述存储电子设备基于所述应用信息返回的与所述第一应用对应的新序列号;
[0048]第三接收单元,用于接收所述存储电子设备基于所述预分配请求返回的新序列号;
[0049]序列号更新单元,用于根据所述新序列号更新所述预分配序列号集合。
[0050]优选的,更新后的所述预分配序列号集合中最小的序列号大于更新前的所述预分配序列号集合中最大的序列号。
[0051]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0052]本申请实施例提供的序列号生成方法,采用分布式的集群架构来生成序列号,具体的,第一集群中包括多个第一电子设备,每个第一电子设备与需要服务的应用之间有一定的对应关系,由各第一电子设备为与之对应的应用生成序列号。一方面,通过预存的应用与第一电子设备的对应关系来确定目标电子设备,保证同一时间,集群中只有一个电子设备能为该应用提供序列号生成服务,且每次都在该应用的预分配序列号集合中确定出数值最小的序列号作为当前序列号,保证了同一个应用的序列号的递增要求;另一方面,当系统需要扩容时,只要增加集群中的第一电子设备的数量即可实现,从而能够满足大规模分布式系统的多应用序列号生成需求,且兼顾实现了适应大规模系统和保证序列号递增的技术效果。
【附图说明】
[0053]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1