序列号的生成方法、装置及存储介质制造方法及图纸

技术编号:21477770 阅读:18 留言:0更新日期:2019-06-29 04:51
本申请是关于一种序列号的生成方法、装置及存储介质,包括:当接收序列号生成请求时,获取用于生成所述序列号的当前服务程序标识;判断用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的上一次服务程序标识是否相同;如果不相同,则根据所述当前服务程序标识生成所述序列号。保证了生成的序列号的单调递增性,提高了生成序列号的效率。

【技术实现步骤摘要】
序列号的生成方法、装置及存储介质
本申请属于计算机软件应用领域,尤其是一种序列号的生成方法、装置及存储介质。
技术介绍
随着互联网技术的发展,人们对互联网的使用越来越普遍。终端通过网络与服务器进行通信的数量越来越大。为了便于区分管理较庞大的通信信息,需要将相关通信信息进行区分标识。比如,需要将不同的客户端与服务器之间的会话进行区分标识,或者也需要将同一客户端在不同时间与服务器之间建立的会话进行区分标识,或者也需要将不同客户端发布的朋友圈文章和同一客户在不同时间发布的朋友圈文章进行区分标识等。一般需要通过生成不重复的序列号,来对相关通信信息进行唯一的标识。比如生成唯一的、不重复的会话标识或文章标识来唯一标识会话或文章。相关技术中,使用MYSQL或类似数据库的自增主键来生成序列号。由于数据库读写性能有限,在高频使用时可能成为系统瓶颈,在使用一段时间后,会出现数值反转的情况,引发生成的序列号重复的问题,从而降低了生成序列号的效率。
技术实现思路
为克服相关技术中存在的生成的序列号重复的问题,本申请公开一种序列号的生成方法、装置及存储介质,通过对比生成序列号的主服务程序的服务程序标识的方式来探测数据结构服务器的服务程序是否发生主从切换,在极端情况下通过序列号跳变的方式来避免序列号的回退或重复,从而保证了生成的序列号的单调递增性,提高了生成序列号的效率。根据本申请实施例的第一方面,提供一种序列号的生成方法,包括:当接收序列号生成请求时,获取用于生成所述序列号的当前服务程序标识;判断用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的上一次服务程序标识是否相同;如果不相同,则根据所述当前服务程序标识生成所述序列号。可选地,所述根据所述当前服务程序标识生成所述序列号,包括:根据所述当前服务程序标识和当前的系统时间,生成所述序列号。可选地,所述序列号包括第一标识信息和第二标识信息;进一步的,所述根据所述当前服务程序标识和当前的系统时间,生成所述序列号,包括:根据所述当前服务程序标识确定所述第一标识信息,根据所述当前的系统时间确定所述第二标识信息,根据确定的所述第一标识信息和所述第二标识信息生成所述序列号。可选地,所述序列号包括第一标识信息和第二标识信息;进一步的,如果用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的所述上一次服务程序标识相同,则根据相同的所述服务程序标识确定当前所述序列号的所述第一标识信息,对上一次生成的所述序列号的所述第二标识信息进行递增操作以确定当前所述序列号的所述第二标识信息;根据确定的当前所述序列号的所述第一标识信息和所述第二标识信息,确定当前的所述序列号。可选地,所述对上一次生成的所述序列号的所述第二标识信息进行递增操作以确定当前所述序列号的所述第二标识信息,包括:获取预设递加数值;将上一次生成的所述序列号的所述第二标识信息与所述预设递加数值进行线性叠加,得到当前所述序列号的所述第二标识信息。可选地,所述根据所述当前的系统时间确定所述第二标识信息,包括:获取所述当前的系统时间;将所述当前的系统时间的时间格式转换为第一格式;将所述第一格式的所述当前的系统时间乘以预设系数,得到第三标识信息;以及从所述第三标识信息中选取预设位数的数值作为所述第二标识信息。可选地,所述第一格式,包括:时间戳格式。可选地,所述序列号是键-值对应的字符串,所述第一标识信息表示所述序列号的键值所在的当前主服务程序的所述当前服务程序标识,所述第二标识信息表示同一个所述主服务程序连续用于生成所述序列号的次数。可选地,所述序列号为16字节的所述字符串,所述第一标识信息和所述第二标识信息为8字节。根据本申请实施例的第二方面,提供一种序列号的生成装置,包括:获取单元,被配置为当接收序列号生成请求时,获取用于生成所述序列号的当前服务程序标识;判断单元,被配置为判断用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的上一次服务程序标识是否相同;以及序列号生成单元,被配置为如果不相同,则根据所述当前服务程序标识生成所述序列号。可选地,所述根据所述当前服务程序标识生成所述序列号,包括:根据所述当前服务程序标识和当前的系统时间,生成所述序列号。可选地,所述序列号包括第一标识信息和第二标识信息;进一步的,所述根据所述当前服务程序标识和当前的系统时间,生成所述序列号,包括:根据所述当前服务程序标识确定所述第一标识信息,根据所述当前的系统时间确定所述第二标识信息,根据确定的所述第一标识信息和所述第二标识信息生成所述序列号。可选地,所述序列号包括第一标识信息和第二标识信息;进一步的,如果用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的所述上一次服务程序标识相同,则根据相同的所述服务程序标识确定当前所述序列号的所述第一标识信息,对上一次生成的所述序列号的所述第二标识信息进行递增操作以确定当前所述序列号的所述第二标识信息;根据确定的当前所述序列号的所述第一标识信息和所述第二标识信息,确定当前的所述序列号。可选地,所述对上一次生成的所述序列号的所述第二标识信息进行递增操作以确定当前所述序列号的所述第二标识信息,包括:获取预设递加数值;将上一次生成的所述序列号的所述第二标识信息与所述预设递加数值进行线性叠加,得到当前所述序列号的所述第二标识信息。可选地,所述根据所述当前的系统时间确定所述第二标识信息,包括:获取所述当前的系统时间;将所述当前的系统时间的时间格式转换为第一格式;将所述第一格式的所述当前的系统时间乘以预设系数,得到第三标识信息;以及从所述第三标识信息中选取预设位数的数值作为所述第二标识信息。可选地,所述第一格式,包括:时间戳格式。可选地,所述序列号是键-值对应的字符串,所述第一标识信息表示所述序列号的键值所在的当前主服务程序的所述当前服务程序标识,所述第二标识信息表示同一个所述主服务程序连续用于生成所述序列号的次数。可选地,所述序列号为16字节的所述字符串,所述第一标识信息和所述第二标识信息为8字节。根据本申请实施例的第三方面,提供一种序列号的生成控制装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行上述任意一项所述的序列号的生成方法。根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种序列号的生成方法,所述方法包括上述任意一项所述的序列号的生成方法。根据本申请实施例的第五方面,提供一种计算机程序产品,包括计算机程序产品,所述计算机程序包括程序指令,当所述程序指令被移动终端执行时,使所述移动终端执行上述序列号的生成方法的步骤。本申请的实施例提供的技术方案可以包括以下有益效果:(1)当接收序列号生成请求时,获取用于生成序列号的当前服务程序标识。判断用于生成序列号的当前服务程序标识与用于生成序列号的上一次服务程序标识是否相同。如果用于生成序列号的当前服务程序标识与用于生成序列号的上一次服务程序标识不相同,则根据当前服务程序标识生成序列号。通过对比生成序列号的主服务程序的服务程序标识的方式来探测数据结构服务器的服务程序是否发生主从切换。从而保证了生成的序列号的单调递增性,提高本文档来自技高网...

【技术保护点】
1.一种序列号的生成方法,其特征在于,包括:当接收序列号生成请求时,获取用于生成所述序列号的当前服务程序标识;判断用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的上一次服务程序标识是否相同;如果不相同,则根据所述当前服务程序标识生成所述序列号。

【技术特征摘要】
1.一种序列号的生成方法,其特征在于,包括:当接收序列号生成请求时,获取用于生成所述序列号的当前服务程序标识;判断用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的上一次服务程序标识是否相同;如果不相同,则根据所述当前服务程序标识生成所述序列号。2.根据权利要求1所述的序列号的生成方法,其特征在于,所述根据所述当前服务程序标识生成所述序列号,包括:根据所述当前服务程序标识和当前的系统时间,生成所述序列号。3.根据权利要求2所述的序列号的生成方法,其特征在于,所述序列号包括第一标识信息和第二标识信息;进一步的,所述根据所述当前服务程序标识和当前的系统时间,生成所述序列号,包括:根据所述当前服务程序标识确定所述第一标识信息,根据所述当前的系统时间确定所述第二标识信息,根据确定的所述第一标识信息和所述第二标识信息生成所述序列号。4.根据权利要求1所述的序列号的生成方法,其特征在于,所述序列号包括第一标识信息和第二标识信息;进一步的,如果用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的所述上一次服务程序标识相同,则根据相同的所述服务程序标识确定当前所述序列号的所述第一标识信息,对上一次生成的所述序列号的所述第二标识信息进行递增操作以确定当前所述序列号的所述第二标识信息;根据确定的当前所述序列号的所述第一标识信息和所述第二标识信息,确定当前的所述序列号;优选地,所述对上一次生成的所述序列号的所述第二标识信息进行递增操作以确定当前所述序列号的所述第二标识信息,包括:获取预设递加数值;将上一次生成的所述序列号的所述第二标识信息与所述预设递加数值进行线性叠加,得到当前所述序列号的所述第二标识信息;优选地,所述根据所述当前的系统时间确定所述第二标识信息,包括:获取所述当前的系统时间;将所述当前的系统时间的时间格式转换为第一格式;将所述第一格式的所述当前的系统时间乘以预设系数,得到第三标识信息;以及从所述第三标识信息中选取预设位数的数值作为所述第二标识信息;优选地,所述第一格式,包括:时间戳格式;优选地,所述序列号是键-值对应的字符串,所述第一标识信息表示所述序列号的键值所在的当前主服务程序的所述当前服务程序标识,所述第二标识信息表示同一个所述主服务程序连续用于生成所述序列号的次数;优选地,所述序列号为16字节的所述字符串,所述第一标识信息和所述第二标识信息为8字节。5.一种序列号的生成装置,其特征在于,包括:获取单元,被配置为当接收序列号生成请求时,获取用于生成所述序列号的当前服务程序标识;判断单元,被配置为判断用于生成所述序列号的所述当前服务程序标识与用于生成所述序列号的...

【专利技术属性】
技术研发人员:李明
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:北京,11

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

1