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

一种序号生成系统及方法与流程

2022-08-11 04:46:23 来源:中国专利 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.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
50.参见图1,为本发明实施例提供的一种序号生成系统的结构示意图,序号生成系统可以包括:客户端101和服务端102;
51.所述客户端101,用于接收预设的应用程序基于所述客户端的本地配置信息发送的调用指令,响应于所述调用指令,向所述服务端102发送标识请求;所述标识请求用于指示所述服务端102反馈交易标识,在本实施例中,客户端101的本地配置信息可以包括客户端101的各类属性信息,例如客户端版本、客户端标识、机器号、客户端的网络信息等,应用程序可以是在需要序号的情况下基于客户端的本地配置信息向客户端发送调用指令,例
如,在,客户端响应于调用指令,向服务端发送标识请求,以请求交易标识。
52.所述服务端102,用于在接收到客户端发送的标识请求后,判断预设的数据库中是否存在所述标识请求对应的交易标识;在所述数据库中不存在所述标识请求对应的交易标识的情况下,判断所述数据库中是否存在处于可用状态的交易标识,若所述数据库中不存在处于可用状态的交易标识,则生成所述标识请求对应的交易标识,并在当前生成的所述交易标识未超出预设的标识值范围的情况下,将所述交易标识发往所述客户端。
53.在本实施例中,在接收到标识请求后,可以对标识请求进行解析,获得请求信息,根据请求信息查询数据库,以判断数据库中是否存在标识请求对应的交易标识,若不存在,则可以判断数据库中是否存在可用状态的交易标识,可用状态的交易标识可以是空闲的交易标识;若不存在可用状态的交易标识,则可以生成一个新的交易标识作为交易请求对应的交易标识。
54.所述客户端,还用于在接收到所述服务端基于所述标识请求反馈的交易标识后,调用预设的全局同步锁以生成序号值;在所述序号值未超出预设的序号值范围的情况下,根据所述序号值以及所述交易标识生成所述应用程序所需的序号;将所述序号传输到所述应用程序。
55.在本实施例中,通过全局同步锁可以在客户端所属的系统中生成序号。
56.可选的,根据序号值和交易标识生成应用程序所需的序号的一种可行的方式是,将序号值和交易标识进行拼接,得到序号;另一种可行的方式是,将序号值和交易标识进行运算,得到序号。
57.应用本发明实施例提供的系统,通过服务端反馈交易标识,然后,通过客户端生成序号值,再由客户端根据交易标识以及序号值生成应用程序所需的序号,能够满足应用程序在处理业务过程中的序号需求,并且能够有效的提升序号生成的效率。
58.在本发明提供的一实施例中,基于上述的方案,可选的,所述客户端还用于:
59.在所述序号值超出预设的序号值范围的情况下,重新调用所述全局同步锁以生成新的序号值。
60.在本实施例中,在调用全局同步锁生成的序号值超出预设的序号值范围的情况下,重新调用全局同步锁以重新生成新的序号值。
61.可选的,通过调用同步锁,使得预设的线程能够在当前时刻生成客户端需要的序号值。
62.在本发明提供的一实施例中,基于上述的方案,可选的,所述服务端用于:
63.确定出所述数据库中的最大标识值;
64.将所述最大标识值加上预设的步长,获得所述标识请求对应的交易标识。
65.在本实施例中,可以确定数据库的各个标识值中的最大标识值,然后,将最大标识值加上预设的步长,获得标识请求对应的交易标识。
66.可选的,该步长可以依据实际需求进行设定,例如,可以设置为1。
67.在本发明提供的一实施例中,基于上述的方案,可选的,所述服务端用于:
68.获取所述标识请求中的请求信息;
69.判断所述数据库中是否存在与所述请求信息相关联的交易标识;
70.若所述数据库中不存在与所述请求信息相关联的交易标识,则确定所述数据库中
不存在所述标识请求对应的交易标识;
71.若所述数据库中存在与所述请求信息相关联的交易标识,则确定所述数据库中存在所述标识请求对应的交易标识。
72.在本实施例中,可以对标识请求进行解析,获得标识请求中的请求信息,请求信息可以包含客户端的配置信息和应用程序的标识等其中至少一种。
73.可选的,可以根据请求信息遍历数据库,以确定数据库中是否存在与所述请求信息相关联的交易标识。
74.其中,数据库可以预先对请求信息和交易标识进行关联存储。
75.在本发明提供的一实施例中,基于上述的方案,可选的,所述服务端还用于:
76.若所述数据库中存在处于可用状态的交易标识,则将所述处于可用状态的交易标识发往所述客户端。
77.在本实施例中,可用状态的交易标识可以是空闲的交易标识。
78.在本发明提供的一实施例中,基于上述的方案,可选的,所述服务端还用于:
79.在当前生成的所述交易标识超出预设的标识值范围的情况下,输出标识异常提示信息。
80.在本实施例中,标识值范围包含了标识值的上限值和下限值,在交易标识的值大于上限值或小于下限值的情况下,则可以结束生成标识的流程,并输出标识异常提示信息。
81.参见图2,为本发明实施例提供的一种序号生成方法的方法流程图,该方法可以应用于序号生成系统的服务端,所述方法包括:
82.s201:接收到客户端响应于调用指令发送的标识生成请求,所述调用指令是预设的应用程序基于所述客户端的本地配置信息得到。
83.s202:判断预设的数据库中是否存在所述标识生成请求对应的交易标识;
84.s203:在所述数据库中不存在所述标识生成请求对应的交易标识的情况下,判断所述数据库中是否存在处于可用状态的交易标识;
85.s204:若所述数据库中不存在处于可用状态的交易标识,则生成所述标识交易请求对应的交易标识;
86.s205:在当前生成的所述交易标识未超出预设的标识值范围的情况下,将该交易标识发往所述客户端,使得所述客户端调用预设的全局同步锁以生成序号值;在所述序号值未超出预设的序号值范围的情况下,根据所述序号值以及所述交易标识生成所述应用程序所需的序号;将所述序号传输到所述应用程序。
87.在本发明提供的一实施例中,基于上述的实施过程,可选的,所述生成所述标识交易请求对应的交易标识的过程,如图3所示,包括:
88.s301:确定出所述数据库中的最大标识值;
89.s302:将所述最大标识值加上预设的步长,获得所述标识请求对应的交易标识。
90.在本发明提供的一实施例中,基于上述的实施过程,可选的,所述判断预设的数据库中是否存在所述标识生成请求对应的交易标识的过程,如图4所示,包括:
91.s401:获取所述标识请求中的请求信息。
92.s402:判断所述数据库中是否存在与所述请求信息相关联的交易标识;
93.s403:若所述数据库中不存在与所述请求信息相关联的交易标识,则确定所述数
据库中不存在所述标识请求对应的交易标识;
94.s404:若数据库中存在与请求信息相关联的交易标识,则确定数据库中存在标识请求对应的交易标识。
95.在本发明提供的一实施例中,基于上述的实施过程,可选的,还包括:
96.若所述数据库中存在处于可用状态的交易标识,则将所述处于可用状态的交易标识发往所述客户端。
97.与图2所述的方法相对应,本发明实施例还提供了一种序号生成装置,用于对图2中方法的具体实现,本发明实施例提供的序号生成装置可以应用于电子设备的服务端中,其结构示意图如图5所示,具体包括:
98.接收单元501,用于接收到客户端响应于调用指令发送的标识生成请求,所述调用指令是预设的应用程序基于所述客户端的本地配置信息得到;
99.第一判断单元502,用于判断预设的数据库中是否存在所述标识生成请求对应的交易标识;
100.第二判断单元503,用于在所述数据库中不存在所述标识生成请求对应的交易标识的情况下,判断所述数据库中是否存在处于可用状态的交易标识;
101.生成单元504,用于若所述数据库中不存在处于可用状态的交易标识,则生成所述标识交易请求对应的交易标识;
102.传输单元505,用于在当前生成的所述交易标识未超出预设的标识值范围的情况下,将该交易标识发往所述客户端,使得所述客户端调用预设的全局同步锁以生成序号值;在所述序号值未超出预设的序号值范围的情况下,根据所述序号值以及所述交易标识生成所述应用程序所需的序号;将所述序号传输到所述应用程序。
103.上述本发明实施例公开的序号生成装置中的各个单元和模块具体的原理和执行过程,与上述本发明实施例公开的序号生成方法相同,可参见上述本发明实施例提供的序号生成方法中相应的部分,这里不再进行赘述。
104.本发明实施例还提供了一种序号生成方法,应用于客户端,所述方法包括如下步骤:
105.步骤a:接收预设的应用程序基于所述客户端的本地配置信息发送的序号请求。
106.步骤b:根据所述标识请求中的请求信息,向预设的服务端发送标识请求;所述标识生成请求用于指示所述服务端反馈交易标识。
107.步骤c:在接收到所述服务端基于所述标识请求反馈的交易标识后,调用预设的全局同步锁以生成序号值。
108.步骤d:在所述序号值未超出预设的序号值范围的情况下,根据所述序号值以及所述交易标识生成所述应用程序所需的序号。
109.步骤e:将序号传输到所述应用程序。
110.上述的方法,可选的,还包括:
111.在所述全局序号超出预设的序号值范围的情况下,重新调用所述全局同步锁以生成新的序号值。
112.本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述序号生成方法。
113.本发明实施例还提供了一种电子设备,其结构示意图如图6所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602进行以下操作:
114.接收到客户端响应于调用指令发送的标识生成请求,所述调用指令是预设的应用程序基于所述客户端的本地配置信息得到;
115.判断预设的数据库中是否存在所述标识生成请求对应的交易标识;
116.在所述数据库中不存在所述标识生成请求对应的交易标识的情况下,判断所述数据库中是否存在处于可用状态的交易标识;
117.若所述数据库中不存在处于可用状态的交易标识,则生成所述标识交易请求对应的交易标识;
118.在当前生成的所述交易标识未超出预设的标识值范围的情况下,将该交易标识发往所述客户端,使得所述客户端调用预设的全局同步锁以生成序号值;在所述序号值未超出预设的序号值范围的情况下,根据所述序号值以及所述交易标识生成所述应用程序所需的序号;将所述序号传输到所述应用程序。
119.目前,随着银行金融科技转型,银行内分布式应用日益增多。分布式架构下的交易防重发、交易链路追踪,对银行业务的开展有着重大影响。为此,本发明实施例提供了一种序号生成系统,序号生成系统可以包括客户端和服务端,客户端为全局序号发生客户端,服务端可以为全局序号发生服务端。在分布式应用端引用配置全局序号发生客户端后,与全局序号发生服务端相互配合;即,服务端为每个客户端提供全局id,客户端利用集群分布式锁获取序号值,客户端结合id与序号值生成全局序号。通过全局序号,分布式应用系统可有效防止交易重发、追踪交易链路、完成交易核对与错误定位等,如图7所示,为本发明实施例提供的一种序号生成系统的结构示例图,包括服务端、客户端和前端界面。
120.前端界面,用于负责序号规则管理与维护、序号发放情况监控、服务结点运行监控;
121.客户端,用于提供应用本地生成序号的能力;
122.服务端,用于提供前端支持、序号工厂及集群维护功能。主要包括:前端支持、序号工厂、集群维护和防重判定。
123.其中,前端支持指的是提供序号规则管理与维护、序号发放情况监控、服务节点运行监控的功能;序号工厂指的是提供全局唯一序号生成器,支持序号循环发放、序号回收的功能;集群维护指的是通过集群及各服务节点内部心跳通信进行“全局序号发生器”的集群状态维护,提供序号生成所需的分布式锁及服务节点状态监控;防重判定指的是基于集群的分布式锁进行各服务节点的号段分配,保证各服务节点分配的号段不存在重复序号。
124.参见图8,为本发明实施例提供的一种序号生成方法的流程示例图,可以包括如下步骤:
125.步骤1:应用启动序号发生客户端,读取客户端本地配置信息,向序号发生器服务端发送请求,等待服务端分配id;应用客户端成功获取id后,客户端初始化序号生成器,执行步骤2;应用通过序号发生器获取id的过程从步骤3开始;
126.步骤2:应用通过客户端发起生成序号请求,执行步骤3;
127.步骤3:序号发生器服务端,接收客户端获取id请求,校验请求信息,若信息正确,执行步骤4;若信息异常,记录异常请求,执行步骤12;
128.步骤4:服务端根据请求信息查询数据库,是否有id记录,若无id,执行步骤5;若已有id,更新数据库中该id对应信息,将该值作为返回值,执行步骤7;
129.步骤5:服务端查询数据库中可用id,是否有可用id记录,若无可用id记录,执行步骤6;若已有可用id记录,将该值作为返回值,执行步骤7;
130.步骤6:服务端查询数据库中id最大值后,id最大值自增加一,判断id最大值自增加一后是否超出范围,若未超过范围,则在数据库中插入id最大值自增加一后的新值作为id最大值,并将该id值作为客户端请求id返回值,执行步骤7;若超过范围,记录异常,执行步骤12;
131.步骤7:服务端向客户端返回id,执行步骤8;
132.步骤8:客户端判断是否时钟回调,若需要回调,更新id,执行步骤3;若不需要回调,获取集群同步锁后,获取序号值,执行步骤9;
133.步骤9:客户端判断序号值是否越界,若越界,则执行步骤10;若不越界,则执行步骤11;
134.步骤10:客户端等待并获取下一个序号值,执行步骤9;
135.步骤11:客户端根据id和序号值生成序号,返回生成的序号,执行步骤12;
136.步骤12:流程结束。
137.需要说明的是,本发明提供的一种序号生成系统及方法可用于人工智能领域、区块链领域、分布式领域、云计算领域、大数据领域、物联网领域、移动互联领域、网络安全领域、芯片领域、虚拟现实领域、增强现实领域、全息技术领域、量子计算领域、量子通信领域、量子测量领域、数字孪生领域或金融领域。上述仅为示例,并不对本发明提供的一种序号生成系统及方法的应用领域进行限定。
138.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
139.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
140.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
141.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
142.以上对本发明所提供的一种序号生成方法进行了详细介绍,本文中应用了具体个
例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献