[发明专利]合同生成方法、装置、电子设备和可读存储介质有效
申请号: | 202110879817.0 | 申请日: | 2021-08-02 |
公开(公告)号: | CN113313540B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 李晨阳;邹永强;杨晖 | 申请(专利权)人: | 云账户技术(天津)有限公司 |
主分类号: | G06Q30/04 | 分类号: | G06Q30/04;G06F16/2457;G06F16/28 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;胡影 |
地址: | 300384 天津市滨海新区华苑产*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 合同 生成 方法 装置 电子设备 可读 存储 介质 | ||
本发明提供一种合同生成方法、装置、电子设备和可读存储介质,涉及计算机技术领域。包括:接收用于生成合同的请求;获取合同的关键字段并进行加密计算,生成合同的合同指纹;若在异常合同映射关系中查找到合同指纹的唯一标识,获取唯一标识对应的合同编号;否则依据合同指纹的唯一标识生成一个新的合同编号,并将唯一标识和新的合同编号对应保存在异常合同映射关系中;若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从异常合同映射关系中删除合同编号及其对应的唯一标识。解决了现有技术中合同编号生成要实现全局连续递增ID的前提下,无法真正支持高并发,且存在ID重复的问题。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种合同生成方法、装置、电子设备和可读存储介质。
背景技术
现有技术中,主流生成自增编号的方案有两种。
第一种为基于snowflake雪花算法。这种算法由64位的时间戳、机器编码、序号组成。优点是性能高,但也存在着以下缺陷:强依赖机器时钟。如果时钟回拨,会导致ID重复;只能保证全局呈递增趋势,在分布式环境中无法保证全局连续递增;算法实现复杂度较高。
第二种为基于数据库分片。这种方法依赖数据库的分片,利用数据库的自增ID机制,实现分布式自增ID的生成。这种方法的优点是实现比较简单,方案比较成熟,但是缺陷也比较明显:在分布式系统中,需要实现proxy路由机制,指定每个请求被分发到哪个数据库分片上,否则无法生成连续的自增ID;生成ID的性能瓶颈,依赖于数据库的性能,每次获取一个ID都需要写一次数据库;系统扩容困难。
综上,现有的技术方案无论是snowflake方案还是基于数据库分片的方案都强依赖于系统的稳定性,而且在要实现全局连续递增ID的前提下,无法真正支持高并发,且存在ID重复的问题。
发明内容
本发明实施例提供一种合同生成方法、装置、电子设备和可读存储介质,以解决现有技术中合同编号生成要实现全局连续递增ID的前提下,无法真正支持高并发,且存在ID重复的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种合同生成方法,包括:
接收用于生成合同的请求;
获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识。
可选的,所述合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一。
可选的,所述用于生成合同的请求携带有所述合同的关键字段时,所述获取所述合同的关键字段并进行加密计算,包括:
从所述用于生成合同的请求中获取所述合同的关键字段并进行加密计算。
可选的,所述获取所述合同的关键字段并进行加密计算,包括:
接收用户配置的合同的关键字段;
封装序列化处理所述合同的关键字段,并发送至消息队列的目标主题;
从所述目标主题中拉取并解析所述合同的关键字段,并进行加密计算。
可选的,所述获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云账户技术(天津)有限公司,未经云账户技术(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110879817.0/2.html,转载请声明来源钻瓜专利网。