一种借款合同唯一标识生成方法、装置、设备及介质与流程
未命名
09-23
阅读:97
评论:0
1.本发明涉及计算机技术领域,特别涉及一种借款合同唯一标识生成方法、装置、设备及介质。
背景技术:
2.目前,在现有的金融借款业务中经常会出现需要客户签署合同的情况,例如,客户每一次借款时都需要签署的借款合同。这种重复性的签署借款合同的操作意味着会产生大量的借款合同数据,但是我们需要一个唯一的借款合同id(identity document,唯一标识)来标识不同客户,不同时间的借款合同记录,目前现有的生成方案往往会生成一串比较长的id标识符,定义合同id由22个字符组成,每个字符从26个大小写字母和1到9数字中随机选择,理论上来说可以支持生成亿级的唯一合同id,但实际上在千万级别数据量的情况下就会出现重复的情况,产生这个缺陷的根本原因就是:这种方法的随机性太不稳定,不能达到理论上的最好效果,因此目前会增加合同id使用到的字符,更长的字符串意味着占用更多的存储空间,从而导致存储这些借款合同id的时候占用更多的存储空间,增加成本。
3.由上可见,如何生成较短且能支持大量合同数据存储而不重复的借款合同唯一标识,减少存储成本,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同id的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率是本领域有待解决的问题。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种借款合同唯一标识生成方法、装置、设备及介质,能够生成较短且能支持大量合同数据存储而不重复的借款合同唯一标识,减少存储成本,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同id的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率。其具体方案如下:
5.第一方面,本技术公开了一种借款合同唯一标识生成方法,包括:
6.获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;
7.若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;
8.若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
9.可选的,所述判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识之后,还包括:
10.若本地所有的历史唯一标识中不存在唯一标识状态为未使用的历史唯一标识,则从所有的所述历史唯一标识中筛选出唯一标识数值最大的历史唯一标识;
11.对唯一标识数值最大的历史唯一标识中的时间戳进行数值添加操作,以得到目标唯一标识,将所述目标唯一标识作为初始值。
12.可选的,所述为所述借款合同分配客户编号和机器处理编码,包括:
13.获取与所述唯一标识生成请求相对应的当前客户操作时间,基于所述当前客户操作时间为所述借款合同分配客户编号;
14.通过负载均衡的方式为所述借款合同分配机器处理编码。
15.可选的,所述为所述借款合同分配客户编号和机器处理编码之后,还包括:
16.基于所述初始值确定出执行借款合同唯一标识生成流程的下一初始值;
17.将所述下一初始值的唯一标识状态设置为未使用。
18.可选的,所述基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识,包括:
19.根据所述唯一标识生成请求生成空白的长整型数据;
20.基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码对空白的所述长整型数据进行更新,以得到借款合同唯一标识。
21.可选的,所述的借款合同唯一标识生成方法,还包括:
22.使用java语言执行借款合同唯一标识生成的流程,以得到执行代码;
23.将所述执行代码封装入工具类并进行包装,以得到代码模块,将所述代码模块以jar包的形式引入预设的借款场景业务代码。
24.可选的,所述基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识之后,还包括:
25.基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表;
26.相应的,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识之后,还包括:
27.基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表。
28.第二方面,本技术公开了一种借款合同唯一标识生成装置,包括:
29.请求获取模块,用于获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;
30.第一唯一标识生成模块,用于若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;
31.第二唯一标识生成模块,用于若本地的当前系统未重启,则获取当前时间,并计算
出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
32.第三方面,本技术公开了一种电子设备,包括:
33.存储器,用于保存计算机程序;
34.处理器,用于执行所述计算机程序,以实现前述的借款合同唯一标识生成方法。
35.第四方面,本技术公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的借款合同唯一标识生成方法的步骤。
36.可见,本技术提供了一种借款合同唯一标识生成方法,包括获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。本技术使用新算法生成的借款合同唯一标识占用空间更小,减少了存储成本,持的数据总量更大,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同唯一标识的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本技术公开的一种借款合同唯一标识生成方法流程图;
39.图2为本技术公开的一种借款合同唯一标识生成方法流程图;
40.图3为本技术公开的一种借款合同唯一标识结构图;
41.图4为本技术公开的一种借款合同唯一标识生成方法的具体流程图;
42.图5为本技术公开的一种借款合同唯一标识生成装置结构示意图;
43.图6为本技术提供的一种电子设备结构图。
44.附图中标记如下:
45.请求获取模块11、第一唯一标识生成模块12、第二唯一标识生成模块1313、电子设备20、处理器21、存储器22、电源23、通信接口24、输入输出接口25、通信总线26、操作系统221、计算机程序222、数据223。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.目前,在现有的金融借款业务中经常会出现需要客户签署合同的情况,例如,客户每一次借款时都需要签署的借款合同。这种重复性的签署借款合同的操作意味着会产生大量的借款合同数据,但是我们需要一个唯一的借款合同id(identity document,唯一标识)来标识不同客户,不同时间的借款合同记录,目前现有的生成方案往往会生成一串比较长的id标识符,定义合同id由22个字符组成,每个字符从26个大小写字母和1到9数字中随机选择,理论上来说可以支持生成亿级的唯一合同id,但实际上在千万级别数据量的情况下就会出现重复的情况,产生这个缺陷的根本原因就是:这种方法的随机性太不稳定,不能达到理论上的最好效果,因此目前会增加合同id使用到的字符,更长的字符串意味着占用更多的存储空间,从而导致存储这些借款合同id的时候占用更多的存储空间,增加成本。由上可见,如何生成较短且能支持大量合同数据存储而不重复的借款合同唯一标识,减少存储成本,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同唯一标识的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率是本领域有待解决的问题。
48.参见图1所示,本发明实施例公开了一种借款合同唯一标识生成方法,具体可以包括:
49.步骤s11:获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启。
50.步骤s12:若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
51.本实施例中,在为所述借款合同分配客户编号和机器处理编码之后,还包括:基于所述初始值确定出执行借款合同唯一标识生成流程的下一初始值;将所述下一初始值的唯一标识状态设置为未使用。也就是说,根据初始值可以确定出执行借款合同唯一标识生成流程的下一初始值,将下一初始值的唯一标识状态设置为未使用,然后进行持久化操作,若突然出现宕机,持久化成功,则判断本地是否存在状态为未使用时,下一初始值即为找到的唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识。
52.本实施例中,在生成借款合同唯一标识之后,还包括:基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表。
53.本实施例中,在判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识之后,还包括:若本地所有的历史唯一标识中不存在唯一标识状态为未使用的历史唯一标识,则从所有的所述历史唯一标识中筛选出唯一标识数值最大的历史唯一标识;对唯一标识数值最大的历史唯一标识中的时间戳进行数值添加操作,以得到目标唯一标识,将所述目标唯一标识作为初始值。也就是说,若当前系统重启,则找到唯一标识状
态为未使用的历史唯一标识,作为初始值开始分配,若找不到,则找唯一标识状态为未使用,并且唯一标识数值最大的历史唯一标识,然后将最大值+1毫秒作为初始值(以1毫秒的数值添加为例),上述确定初始值的方法可以有效避免进程异常关闭情况下会出现的借款合同id重复情况以及需要设计的补偿机制。
54.步骤s13:若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
55.本实施例中,若本地的当前系统未重启,则获取当前时间和固定时间的差值(固定时间例如:2016年12月31日23点59分59秒999毫秒),使用41比特来表示时间差,41个比特位可以用于表示69年任意的毫秒级时间(2
41
/(1000*60*60*24*365)),也就是说这个算法可以一直使用到2085年,到期再更新固定时间即可,然后基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
56.本实施例中,使用java语言执行借款合同唯一标识生成的流程,以得到执行代码;将所述执行代码封装入工具类并进行包装,以得到代码模块,将所述代码模块以jar包的形式引入预设的借款场景业务代码。
57.本实施例中,在基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识之后,还包括:基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表;相应的,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识之后,还包括:基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表。
58.本实施例中,获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。本技术使用新算法生成的借款合同唯一标识占用空间更小,减少了存储成本,持的数据总量更大,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同唯一标识的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率。
59.参见图2所示,本发明实施例公开了一种借款合同唯一标识生成方法,具体可以包括:
60.步骤s21:获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已
经重启。
61.步骤s22:若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,获取与所述唯一标识生成请求相对应的当前客户操作时间,基于所述当前客户操作时间为所述借款合同分配客户编号,通过负载均衡的方式为所述借款合同分配机器处理编码,根据所述唯一标识生成请求生成空白的长整型数据,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码对空白的所述长整型数据进行更新,以得到借款合同唯一标识。
62.本技术通过算法生成的长整型的数据,通过对长整型数据进行更新,以得到借款合同id,而不是使用现有的22位字符来定义合同id。本技术的借款合同id通过赋予原有无效位意义并拆分分配借款合同id操作过程的方式,能够解决机器出现宕机需要重启的情况,重启后重新开始分配号码时会使用当前时间,而重启过程中这段时间的号码就被浪费了的问题,为该无效位赋予了“数据状态”的意义,为0代表有效(即唯一标识状态为已使用),为1代表无效(即唯一标识为未使用),本技术生成的借款合同唯一标识结构如图3所示,包括无效位、时间戳、业务字段(即客户编号和机器处理编号)。
63.本实施例中,为借款合同分配客户编号,剩余23位最多可支持用于表示接近840万不同的客户(2
23
=8388608),但实际上同一毫秒不一定有如此多的客户进行操作,需要根据实际情况来进行取舍,本方案中使用20位号码(2
20
=1048576)用于表示一毫秒内进行操作的客户编码,支持100余万的客户同时操作,剩余三位作为处理请求的机器编码来使用,机器编码主要用于决定生成的借款合同id和相应借款合同数据应该存储在数据库哪一张表中。同一毫秒内通过这种方式生成的借款合同的id都可以保证不会重复。剩余首位bit赋默认值0。此外,客户编号可以重用,每个时间点的客户编号不一定代表同一个客户,比如说在2023年4月12日10点06分23秒007毫秒编号为002的客户代表客户a,在2023年5月1号14点20分17秒763毫秒编号为002的客户代表的可能是客户c。因此即使在总体数据量很大的情况里依然能保证借款合同id的不重复。每台机器均支持200余万客户同时操作,3位机器码意味着一共可支持8*200共计1600多万的客户同时在系统操作。
64.步骤s23:若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
65.本技术通过负载均衡的方式,选择某一台机器处理请求,使得每一台机器生成的借款合同id整体上看都是匀速递增的。根据唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
66.本技术的具体步骤如图4所示,具体为:(1)生成一个空白的长整型数据,获取借款合同及相应的唯一标识生成请求;(2)判断本地的当前系统是否已经重启;(3)若本地的当前系统已经重启(是),则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码;(4)若本地的当前系统未重启(否),则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差;(5)为借款合同分配客户编号和机器处理编码;(6)生成借款合同唯一标识。
67.本技术的创新点:(1)生成的借款合同id占用空间更小,64比特比原有的176比特更小,减少了存储成本;(2)比起随机生成的借款合同id,其在总量达到千万级就可能出现借款合同id重复的情况,新算法更为稳定,稳定支持69年内每毫秒内至少两百余万客户签署的借款合同id不重复,支持的数据总量更大;(3)针对系统机器重启可能会浪费一段时间的可分配的借款合同id的情况,通过日志记录当前最大时间戳加一毫秒作为下一次重启后借款合同id时间戳部分初始时间的方式,避免浪费大量可分配的借款合同id;(4)针对机器个体差异导致的生成借款合同id混乱的情况,通过负载均衡的方式(即将一段时间内所有的生成借款合同id的请求均匀的分摊到系统所有机器上,并顺序执行生成借款合同id的操作),使得系统中机器轮流生成借款合同id,并存储在对应的不同的数据库表中,充分利用数据库在查询有序且均匀分配的数据耗时更短的特性,使得通过借款合同id查询相关借款合同记录的操作变得更快捷;(5)过赋予无效位bit意义以及改进分配借款合同id的操作过程解决记录最大借款合同id进程异常关闭导致的借款合同id重复问题。
68.本实施例中,获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。本技术使用新算法生成的借款合同唯一标识占用空间更小,减少了存储成本,持的数据总量更大,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同唯一标识的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率。
69.参见图5所示,本发明实施例公开了一种借款合同唯一标识生成装置,具体可以包括:
70.请求获取模块11,用于获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;
71.第一唯一标识生成模块12,用于若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;
72.第二唯一标识生成模块13,用于若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。
73.本实施例中,获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识
数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。本技术使用新算法生成的借款合同唯一标识占用空间更小,减少了存储成本,持的数据总量更大,能够解决系统机器重启可能会浪费一段时间的可分配的借款合同唯一标识的情况,实现根据借款合同唯一标识搜索数据时,提高查询借款合同唯一标识的效率。
74.在一些具体实施例中,所述请求获取模块11,具体可以包括:
75.筛选模块,用于若本地所有的历史唯一标识中不存在唯一标识状态为未使用的历史唯一标识,则从所有的所述历史唯一标识中筛选出唯一标识数值最大的历史唯一标识;
76.初始值确定模块,用于对唯一标识数值最大的历史唯一标识中的时间戳进行数值添加操作,以得到目标唯一标识,将所述目标唯一标识作为初始值。
77.在一些具体实施例中,所述第一唯一标识生成模块12,具体可以包括:
78.客户编号分配模块,用于获取与所述唯一标识生成请求相对应的当前客户操作时间,基于所述当前客户操作时间为所述借款合同分配客户编号;
79.机器处理编码分配模块,用于通过负载均衡的方式为所述借款合同分配机器处理编码。
80.在一些具体实施例中,所述第一唯一标识生成模块12,具体可以包括:
81.下一初始值确定模块,用于基于所述初始值确定出执行借款合同唯一标识生成流程的下一初始值;
82.状态设置模块,用于将所述下一初始值的唯一标识状态设置为未使用。
83.在一些具体实施例中,所述第一唯一标识生成模块12,具体可以包括:
84.长整型数据生成模块,用于根据所述唯一标识生成请求生成空白的长整型数据;
85.长整型数据更新模块,用于基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码对空白的所述长整型数据进行更新,以得到借款合同唯一标识。
86.在一些具体实施例中,所述借款合同唯一标识生成装置,还可以包括:
87.执行代码确定模块,用于使用java语言执行借款合同唯一标识生成的流程,以得到执行代码;
88.包装模块,用于将所述执行代码封装入工具类并进行包装,以得到代码模块,将所述代码模块以jar包的形式引入预设的借款场景业务代码。
89.在一些具体实施例中,所述第二唯一标识生成模块13,具体可以包括:
90.第一保存模块,用于基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表;
91.第二保存模块,用于基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表。
92.图6为本技术实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的借款合同唯一标识生成方法中的相关步骤。
93.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
94.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
95.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是windows、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的借款合同唯一标识生成方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括借款合同唯一标识生成设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
96.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
97.进一步的,本技术实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的借款合同唯一标识生成方法步骤。
98.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
99.以上对本发明所提供的一种借款合同唯一标识生成方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种借款合同唯一标识生成方法,其特征在于,包括:获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述合同唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。2.根据权利要求1所述的借款合同唯一标识生成方法,其特征在于,所述判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识之后,还包括:若本地所有的历史唯一标识中不存在唯一标识状态为未使用的历史唯一标识,则从所有的所述历史唯一标识中筛选出唯一标识数值最大的历史唯一标识;对唯一标识数值最大的历史唯一标识中的时间戳进行数值添加操作,以得到目标唯一标识,将所述目标唯一标识作为初始值。3.根据权利要求1所述的借款合同唯一标识生成方法,其特征在于,所述为所述借款合同分配客户编号和机器处理编码,包括:获取与所述唯一标识生成请求相对应的当前客户操作时间,基于所述当前客户操作时间为所述借款合同分配客户编号;通过负载均衡的方式为所述借款合同分配机器处理编码。4.根据权利要求1所述的借款合同唯一标识生成方法,其特征在于,所述为所述借款合同分配客户编号和机器处理编码之后,还包括:基于所述初始值确定出执行借款合同唯一标识生成流程的下一初始值;将所述下一初始值的唯一标识状态设置为未使用。5.根据权利要求1所述的借款合同唯一标识生成方法,其特征在于,所述基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识,包括:根据所述唯一标识生成请求生成空白的长整型数据;基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码对空白的所述长整型数据进行更新,以得到借款合同唯一标识。6.根据权利要求1所述的借款合同唯一标识生成方法,其特征在于,还包括:使用java语言执行借款合同唯一标识生成的流程,以得到执行代码;将所述执行代码封装入工具类并进行包装,以得到代码模块,将所述代码模块以jar包的形式引入预设的借款场景业务代码。7.根据权利要求1至6任一项所述的借款合同唯一标识生成方法,其特征在于,所述基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识之后,还包括:基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生
成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表;相应的,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识之后,还包括:基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同数据,并将所述借款合同唯一标识和所述借款合同数据保存至与所述机器处理编码对应的机器的列表。8.一种借款合同唯一标识生成装置,其特征在于,包括:请求获取模块,用于获取借款合同及相应的唯一标识生成请求,判断本地的当前系统是否已经重启;第一唯一标识生成模块,用于若本地的当前系统已经重启,则判断本地所有的历史唯一标识中是否存在唯一标识状态为未使用的历史唯一标识,若存在,则将唯一标识状态为未使用的且唯一标识数值最大的历史唯一标识作为初始值,为所述借款合同分配客户编号和机器处理编码,基于所述唯一标识生成请求、所述借款合同、所述客户编号以及所述机器处理编码生成借款合同唯一标识;第二唯一标识生成模块,用于若本地的当前系统未重启,则获取当前时间,并计算出所述当前时间与预设时间阈值之间的时间差,基于所述唯一标识生成请求、所述借款合同、所述当前时间、所述时间差、所述客户编号以及所述机器处理编码生成借款合同唯一标识。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的借款合同唯一标识生成方法。10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的借款合同唯一标识生成方法。
技术总结
本申请公开了一种借款合同唯一标识生成方法、装置、设备及介质,涉及计算机技术领域,包括判断当前系统是否已经重启;若已经重启,判断是否存在唯一标识状态为未使用的历史唯一标识,若存在,将唯一标识状态为未使用且唯一标识数值最大的历史唯一标识作为初始值,为借款合同分配客户编号和机器处理编码,基于唯一标识生成请求、借款合同、客户编号以及机器处理编码生成借款合同唯一标识;若未重启,则计算当前时间与预设时间阈值之间时间差,基于唯一标识生成请求、借款合同、当前时间、时间差、客户编号以及机器处理编码生成借款合同唯一标识,能够生成较短且能支持大量合同数据存储而不重复的借款合同唯一标识,减少存储成本。本。本。
技术研发人员:杨焱 吴昱恒 周丹
受保护的技术使用者:湖南长银五八消费金融股份有限公司
技术研发日:2023.06.27
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/