一种生成序列号的方法以及相关装置制造方法及图纸

技术编号:33092195 阅读:19 留言:0更新日期:2022-04-16 23:21
本申请实施例公开了一种序列号生成的方法以及相关装置。具体的,第一客户端向第一网络设备发送序列号请求报文。第一网络设备作为第一客户端与第二客户端的中间节点,第一网络设备根据该序列号请求报文向第二客户端发送序列号。本方案随路实现序列号的生成与分发任务,降低了往返时延,提升了数据吞吐量。提升了数据吞吐量。提升了数据吞吐量。

【技术实现步骤摘要】
一种生成序列号的方法以及相关装置


[0001]本申请涉及分布式应用
,尤其涉及一种生成序列号的方法以及相关装置。

技术介绍

[0002]分布式系统指的是多个网络设备通过网络连接在一起并通过消息的传递来进行协调的系统。网络设备包括数据库网络设备、网络设备以及处理机网络设备等等。通常来说,网络设备指的是将一个软/硬件部署在服务器中,该服务器即为对应的软/硬件网络设备,例如,每一台连上网络服务器的计算机就是一个网络设备。
[0003]在分布式系统中,针对同一业务通常分别部署多个服务器进行运营,用户可以与任意一个服务器进行业务交互,在分布式系统中服务器的运营过程中,各个服务器可以独立处理用户在业务中的事务,服务器可以针对各个事务生成分布式系统中全局唯一的序列号,如用户ID、订单编号等,通过该序列号来区分不同的事务。
[0004]在一些业务场景中,针对各个事务需要区分其在逻辑上的先后顺序,事务不同的逻辑顺序对全局最终的状态有不同的影响。现有技术中分布式系统需要使用第三方的服务器提供序列号,造成获取序列号的时延较长,降低了网络设备的吞吐量。

技术实现思路

[0005]第一方面,本申请实施例提出一种生成序列号的方法,包括:
[0006]第一网络设备接收第一客户端发送的序列号请求报文;
[0007]第一网络设备根据序列号请求报文和本地的第一序列号,生成第二序列号,其中,第一序列号为第一网络设备已使用的序列号,第二序列号为更新后的第一序列号,第二序列号大于第一序列号;
[0008]第一网络设备根据序列号请求报文的类型,生成获取响应报文,其中,获取响应报文携带第二序列号;
[0009]第一网络设备向第二客户端发送获取响应报文。
[0010]具体的,第一客户端根据网络配置,确定提供序列号服务的第一网络设备,该序列号请求报文中携带第一网络设备的互联网协议(Internet Protocol,IP)地址。第一客户端进行网络配置时,预配置了提供序列号服务的第一网络设备的地址信息。可选的,第一客户端进行网络配置时,还可以预配置第二网络设备的地址信息。第一网络设备的地址信息和第二网络设备的地址信息称为路由信息。
[0011]在另一种可选的实现方式中,第二客户端通过第一网络设备向第一客户端发送请求,第一客户端根据该请求向第一网络设备发送序列号请求报文。
[0012]第一网络设备接收该序列号请求报文后,第一网络设备根据序列号请求报文和本地的第一序列号,生成第二序列号。其中,第一序列号为第一网络设备已使用的序列号,第二序列号为更新后的第一序列号,第二序列号大于第一序列号。
[0013]可选的,该序列号请求报文采用用户数据协议(User Datagram Protocol,UDP)格式。该序列号请求报文在原有的UDP协议基础上,在报文净荷部分定义了部分字段,该字段用于携带关于序列号请求的相关信息,为了便于说明该字段称为序列号请求报文字段。
[0014]本申请实施例中,第一客户端向第一网络设备发送序列号请求报文。第一网络设备作为第一客户端与第二客户端的中间节点,第一网络设备根据该序列号请求报文向第二客户端发送序列号。本方案随路实现序列号的生成与分发任务,降低了往返时延,提升了数据吞吐量。
[0015]结合第一方面,在第一方面的一种可能的实现方式中,第一网络设备根据序列号请求报文的类型,生成读取响应报文或获取响应报文,包括:
[0016]第一网络设备检测序列号请求报文的序列号请求字段;
[0017]当序列号请求报文携带获取操作标识,第一网络设备根据第一序列号生成第二序列号;
[0018]当第二序列号小于第一网络设备的第一阈值时,第一网络设备生成获取响应报文。
[0019]具体的,当第一网络设备生成第二序列号后,第一网络设备检测第二序列号是否小于第一网络设备的第一阈值。该第一阈值可以是当前第一网络设备的序列号上限值。也可以是当前第一网络设备的序列号上限值与某一小于1且大于0的系数的乘积。示例性的,当第一网络设备的序列号上限值为10000时,第一阈值可以是10000,第一阈值也可以是10000*0.9=9000,此处不做限定。
[0020]当第二序列号小于(或等于)第一网络设备的第一阈值时,生成获取响应报文,获取响应报文携带第二序列号。
[0021]当第二序列号大于或等于第一网络设备的第一阈值时,更新网络设备集合中各个网络设备的序列号上限值,第一阈值小于或等于第一网络设备的序列号上限值,网络设备集合中包括一个第一网络设备和至少一个第二网络设备,更新后的序列号上限值大于第二序列号。
[0022]本申请实施例中,第一网络设备生成第二序列号后,可以检测第二序列号是否小于第一网络设备的第一阈值。该第一阈值可以是当前第一网络设备的序列号上限值。也可以是当前第一网络设备的序列号上限值与某一小于1且大于0的系数的乘积。当第二序列号大于或等于第一阈值时,更新网络设备集合中各个网络设备的序列号上限值,以保证全网序列号的单调递增,并保证各个提供序列号服务的网络设备可以正常工作。
[0023]结合第一方面,在第一方面的一种可能的实现方式中,当序列号请求报文携带获取操作标识,第一网络设备根据第一序列号生成第二序列号,包括:
[0024]在一种可选的实现方式中,当序列号请求报文中携带序列号增加值时,第一网络设备根据该序列号增加值和本地的第一序列号,生成第二序列号。示例性的,第一序列号100,报文中的序列号增加值为5,则第二序列号为105。
[0025]在另一种可选的实现方式中,当第一网络设备中配置了序列号增加值时,第一网络设备根据该序列号增加值和本地的第一序列号,生成第二序列号。示例性的,第一序列号100,配置的序列号增加值为10,则第二序列号为110。
[0026]本申请实施例中,第一网络设备可以通过多种方法,生成第二序列号,提升了方案
的实现灵活性。
[0027]结合第一方面,在第一方面的一种可能的实现方式中,当第二序列号大于或等于第一网络设备的第一阈值时,更新网络设备集合中各个网络设备的序列号上限值,包括:
[0028]第一网络设备根据本地的第一版本号,生成第二版本号,第二版本号大于第一版本号;
[0029]第一网络设备根据路由信息,确定网络设备集合中的第二网络设备;
[0030]第一网络设备生成第一同步请求报文,第一同步请求报文携带第二版本号;
[0031]第一网络设备向第二网络设备发送第一同步请求报文,第一同步请求报文用于指示第二网络设备更新本地的序列号上限值。
[0032]具体的,第二序列号大于(或等于)第一网络设备的第一阈值时,触发序列号上限值的更新流程。具体的,第一网络设备根据本地的第一版本号,生成第二版本号。第二版本号用于标识第一网络设备中,更新后的序列号上限值对应的版本号。
[0033]在一种可选的实现方式中,第一网络设备确定与第一网络本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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.一种网络设备,其特征在于,包括:
收发模块,用于接收第一客户端发送的序列号请求报文;处理模块,用于根据所...

【专利技术属性】
技术研发人员:张翠敏李爱妮王巧灵林钦亮林栋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1