【技术实现步骤摘要】
一种生成序列号的方法以及相关装置
[0001]本申请涉及分布式应用
,尤其涉及一种生成序列号的方法以及相关装置。
技术介绍
[0002]分布式系统指的是多个网络设备通过网络连接在一起并通过消息的传递来进行协调的系统。网络设备包括数据库网络设备、网络设备以及处理机网络设备等等。通常来说,网络设备指的是将一个软/硬件部署在服务器中,该服务器即为对应的软/硬件网络设备,例如,每一台连上网络服务器的计算机就是一个网络设备。
[0003]在分布式系统中,针对同一业务通常分别部署多个服务器进行运营,用户可以与任意一个服务器进行业务交互,在分布式系统中服务器的运营过程中,各个服务器可以独立处理用户在业务中的事务,服务器可以针对各个事务生成分布式系统中全局唯一的序列号,如用户ID、订单编号等,通过该序列号来区分不同的事务。
[0004]在一些业务场景中,针对各个事务需要区分其在逻辑上的先后顺序,事务不同的逻辑顺序对全局最终的状态有不同的影响。现有技术中分布式系统需要使用第三方的服务器提供序列号,造成获取序列号的时延较长,降低了网络设备的吞吐量。
技术实现思路
[0005]第一方面,本申请实施例提出一种生成序列号的方法,包括:
[0006]第一网络设备接收第一客户端发送的序列号请求报文;
[0007]第一网络设备根据序列号请求报文和本地的第一序列号,生成第二序列号,其中,第一序列号为第一网络设备已使用的序列号,第二序列号为更新后的第一序列号,第二序列号大于第一序列号;
[0 ...
【技术保护点】
【技术特征摘要】
1.一种生成序列号的方法,其特征在于,包括:第一网络设备接收第一客户端发送的序列号请求报文;所述第一网络设备根据所述序列号请求报文和本地的第一序列号,生成第二序列号,其中,所述第一序列号为所述第一网络设备已使用的序列号,所述第二序列号为更新后的第一序列号,所述第二序列号大于所述第一序列号;所述第一网络设备根据所述序列号请求报文的类型,生成获取响应报文,其中,所述获取响应报文携带所述第二序列号;所述第一网络设备向第二客户端发送所述获取响应报文。2.根据权利要求1所述的方法,其特征在于,所述第一网络设备根据所述序列号请求报文的类型,生成所述读取响应报文或所述获取响应报文,包括:所述第一网络设备检测所述序列号请求报文的序列号请求字段;当所述序列号请求报文携带获取操作标识,所述第一网络设备根据所述第一序列号生成所述第二序列号;当所述第二序列号小于所述第一网络设备的所述第一阈值时,所述第一网络设备生成所述获取响应报文。3.根据权利要求2所述的方法,其特征在于,当所述序列号请求报文携带所述获取操作标识,所述第一网络设备根据所述第一序列号生成所述第二序列号,包括:当所述序列号请求报文携带所述获取操作标识,所述第一网络设备根据所述序列号请求报文中携带的序列号增加值,和所述第一序列号,生成所述第二序列号,其中,所述第二序列号等于所述第一序列号与所述序列号增加值的加和。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一网络设备根据所述序列号请求报文和本地的所述第一序列号,生成所述第二序列号之后,所述方法还包括:当所述第二序列号大于或等于所述第一网络设备的第一阈值时,更新网络设备集合中各个网络设备的序列号上限值,所述第一阈值小于或等于所述第一网络设备的所述序列号上限值,所述网络设备集合中包括一个所述第一网络设备和至少一个第二网络设备,更新后的序列号上限值大于所述第二序列号。5.根据权利要求4所述的方法,其特征在于,当所述第二序列号大于或等于所述第一网络设备的所述第一阈值时,更新所述网络设备集合中各个网络设备的序列号上限值,包括:所述第一网络设备根据本地的第一版本号,生成第二版本号,所述第二版本号大于所述第一版本号;所述第一网络设备根据路由信息,确定所述网络设备集合中的第二网络设备;所述第一网络设备生成第一同步请求报文,所述第一同步请求报文携带所述第二版本号;所述第一网络设备向所述第二网络设备发送所述第一同步请求报文,所述第一同步请求报文用于指示所述第二网络设备更新本地的序列号上限值。6.根据权利要求5所述的方法,其特征在于,所述第一同步请求报文携带所述序列号上限值的增加值。7.根据权利要求5-6中任一项所述的方法,其特征在于,所述第一网络设备向所述第二网络设备发送所述第一同步请求报文之后,所述方法还包括:
所述第一网络设备接收确认报文,所述确认报文指示所述网络设备集合中每个所述第二网络设备已更新本地的序列号上限值;所述第一网络设备根据所述第二序列号,更新本地的序列号上限值;所述第一网络设备根据所述第二版本号,更新本地的版本号。8.根据权利要求5-7中任一项所述的方法,其特征在于,所述第一网络设备接收所述序列号请求报文之后,所述方法还包括:当所述第一网络设备发生故障时,则所述第一网络设备转发所述序列号请求报文至所述第二网络设备。9.根据权利要求1-8中任一项所述的方法,其特征在于,所述序列号请求报文还携带所述第一网络设备的地址信息。10.一种生成序列号的方法,其特征在于,包括:当第一网络设备根据序列号请求报文生成的第二序列号,大于或等于所述第一网络设备本地的第一阈值时,第二网络设备接收所述第一网络设备发送的第一同步请求报文;所述第二网络设备根据所述第一同步请求报文,更新本地的序列号上限值,其中,所述第一阈值小于或等于所述第一网络设备的所述序列号上限值,所述网络设备集合中包括一个所述第一网络设备和至少一个所述第二网络设备,更新后的所述序列号上限值大于所述第二序列号。11.根据权利要求10所述的方法,其特征在于,所述第二网络设备根据所述第一同步请求报文,更新序列号上限值,包括:所述第二网络设备根据所述第一同步请求报文中携带的第二版本号,检测本地的第三版本号;当所述第三版本号小于所述第二版本号,则所述第二网络设备使用所述第二版本号更新本地的所述第三版本号;所述第二网络设备根据所述第一同步请求报文中携带的所述第二序列号,更新本地的序列号上限值,所述更新后的序列号上限值大于所述更新前的序列号上限值。12.根据权利要求11所述的方法,其特征在于,所述第二网络设备根据所述第一同步请求报文中携带的所述第二序列号,更新本地的序列号上限值,包括:所述第二网络设备根据所述第一同步请求报文中携带的序列号上限值的增加值,更新本地的序列号上限值,所述更新后的序列号上限值等于所述更新前的序列号上限值与所述序列号上限值的增加值之和。13.根据权利要求10-12中任一项所述的方法,其特征在于,所述第二网络设备更新本地的序列号上限值之后,所述方法还包括:所述第二网络设备根据路由信息,确定所述网络设备集合中是否存在下一跳第二网络设备;若存在,则所述第二网络设备向所述下一跳第二网络设备转发所述第一同步请求报文,所述第一同步请求报文用于指示所述下一跳第二网络设备更新本地的序列号上限值;若不存在,则所述第二网络设备向所述第一网络设备发送确认报文,所述确认报文指示所述网络设备集合中每个所述第二网络设备已更新本地的序列号上限值。14.一种网络设备,其特征在于,包括:
收发模块,用于接收第一客户端发送的序列号请求报文;处理模块,用于根据所...
【专利技术属性】
技术研发人员:张翠敏,李爱妮,王巧灵,林钦亮,林栋,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。