The invention provides a method, a medium and an electronic device for generating a single number in a computer system. The computer system includes a first database and a second database, in which the first database and the second database are used to store at least the maximum variable, and the first database is also used to store the recently generated single number. The method includes: receiving a request for generating a single number; and for the said method, receiving a request for generating a single number; A request to generate a single number to find the first database; if a recently generated single number is found in the first database, a new single number is generated from the recently generated single number; otherwise, a new single number is generated from the maximum variable stored in the first database or the second database; and the new single number is stored in the first database as described above. The recently generated single number. The invention realizes the high efficiency and uniqueness of generating a single number, is suitable for generating a single number in a high concurrent environment, and improves the security of data storage.
【技术实现步骤摘要】
计算机系统中生成单号的方法、介质及电子设备
本专利技术涉及数据处理及存储
,尤其涉及一种生成单号的技术,更具体地,涉及一种适于在高并发环境下生成单号的技术。其中,高并发环境指的是同时并行处理大量系统请求的环境。
技术介绍
保单号是投保人向保险公司投保成功后,由保险公司出具的保险合同的编号。当前生成保单号有两种常见的方法:一种方法是在关系型数据库(如Mysql数据库)中存储已生成的最大保单号,通过从关系型数据库中读取已生成的最大保单号并采用序号自增长技术来生成新的保单号;另一种方法是在关系型数据库中存储已生成的所有保单号,通过生成随机数来生成新的保单号,该方法需要在关系型数据库中检索生成的随机数是否已经存在,如果已经存在则需要重新生成随机数。这两种方法都需要频繁地检索关系型数据库,其中,前者需要在每次生成新的保单号之前检索已生成的最大保单号,而后者需要检索已生成的所有保单号以确定所生成的随机数是否与已生成的保单号重复。这些检索导致生成保单号的耗时较长,因此以上两种方法都难以适应高并发环境。内存数据库(如Redis数据库)是一种将数据加载在内存中直接操作的数据库,相对于关系型数据库,内存数据库的数据读写速度要高出几个数量级,并且支持Strings、Lists、Hashes、Sets以及OrderedSets等数据类型的操作。如果将内存数据库用于上述两种方法来生成保单号,则能够较大地提高生成保单号的效率。然而,内存数据库的安全性较低,其本身还存在掉电丢失数据的问题。因此,如何在利用内存数据库高效生成保单号的基础上提高数据存储的安全性,并且保证所生成的保单号 ...
【技术保护点】
1.一种计算机系统中生成单号的方法,所述计算机系统包括第一数据库和第二数据库,其中所述第一数据库和所述第二数据库用于存储至少最大值变量,以及所述第一数据库还用于存储最近生成的单号,所述方法包括:接收生成单号的请求;针对所述生成单号的请求,查找所述第一数据库;如果在所述第一数据库中查找到最近生成的单号,则根据所述最近生成的单号生成新的单号;否则根据在所述第一数据库或所述第二数据库中存储的最大值变量生成新的单号;在所述第一数据库中存储所述新的单号作为所述最近生成的单号。
【技术特征摘要】
1.一种计算机系统中生成单号的方法,所述计算机系统包括第一数据库和第二数据库,其中所述第一数据库和所述第二数据库用于存储至少最大值变量,以及所述第一数据库还用于存储最近生成的单号,所述方法包括:接收生成单号的请求;针对所述生成单号的请求,查找所述第一数据库;如果在所述第一数据库中查找到最近生成的单号,则根据所述最近生成的单号生成新的单号;否则根据在所述第一数据库或所述第二数据库中存储的最大值变量生成新的单号;在所述第一数据库中存储所述新的单号作为所述最近生成的单号。2.根据权利要求1所述的方法,还包括:当所述最大值变量与所述新的单号的差值小于预定阈值时,更新所述第一数据库和所述第二数据库中存储的所述最大值变量。3.根据权利要求2所述的方法,其中,根据下式更新所述第一数据库和所述第二数据库中存储的最大值变量:maximum*=maximum+increstep+step其中,maximum表示最大值变量,maximum*表示更新后的最大值变量,increstep为预定的常量,step为所述生成单号的请求中所指定的针对所述请求需要生成的单号数量。4.根据权利要求1-3中任一项所述的方法,其中,根据在所述第一数据库或所述第二数据库中存储的最大值变量生成新的单号包括:如果在所述第一数据库中查找到所述最大值变量,则将所述最大值变量作为所述最近生成的单号,将所述最近生成的单号与预定值相加得到新的单号;如果在所述第一数据库中没有查找到所述最大值变量,则将所述第二数据库中的所述最大值变量存储到所述第一数...
【专利技术属性】
技术研发人员:倪珍,田玉明,史立爽,
申请(专利权)人:泰康保险集团股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。