CN113313540B - 合同生成方法、装置、电子设备和可读存储介质 - Google Patents
合同生成方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113313540B CN113313540B CN202110879817.0A CN202110879817A CN113313540B CN 113313540 B CN113313540 B CN 113313540B CN 202110879817 A CN202110879817 A CN 202110879817A CN 113313540 B CN113313540 B CN 113313540B
- Authority
- CN
- China
- Prior art keywords
- contract
- fingerprint
- unique identifier
- abnormal
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Finance (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种合同生成方法、装置、电子设备和可读存储介质,涉及计算机技术领域。包括:接收用于生成合同的请求;获取合同的关键字段并进行加密计算,生成合同的合同指纹;若在异常合同映射关系中查找到合同指纹的唯一标识,获取唯一标识对应的合同编号;否则依据合同指纹的唯一标识生成一个新的合同编号,并将唯一标识和新的合同编号对应保存在异常合同映射关系中;若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从异常合同映射关系中删除合同编号及其对应的唯一标识。解决了现有技术中合同编号生成要实现全局连续递增ID的前提下,无法真正支持高并发,且存在ID重复的问题。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种合同生成方法、装置、电子设备和可读存储介质。
背景技术
现有技术中,主流生成自增编号的方案有两种。
第一种为基于snowflake雪花算法。这种算法由64位的时间戳、机器编码、序号组成。优点是性能高,但也存在着以下缺陷:强依赖机器时钟。如果时钟回拨,会导致ID重复;只能保证全局呈递增趋势,在分布式环境中无法保证全局连续递增;算法实现复杂度较高。
第二种为基于数据库分片。这种方法依赖数据库的分片,利用数据库的自增ID机制,实现分布式自增ID的生成。这种方法的优点是实现比较简单,方案比较成熟,但是缺陷也比较明显:在分布式系统中,需要实现proxy路由机制,指定每个请求被分发到哪个数据库分片上,否则无法生成连续的自增ID;生成ID的性能瓶颈,依赖于数据库的性能,每次获取一个ID都需要写一次数据库;系统扩容困难。
综上,现有的技术方案无论是snowflake方案还是基于数据库分片的方案都强依赖于系统的稳定性,而且在要实现全局连续递增ID的前提下,无法真正支持高并发,且存在ID重复的问题。
发明内容
本发明实施例提供一种合同生成方法、装置、电子设备和可读存储介质,以解决现有技术中合同编号生成要实现全局连续递增ID的前提下,无法真正支持高并发,且存在ID重复的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种合同生成方法,包括:
接收用于生成合同的请求;
获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识。
可选的,所述合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一。
可选的,所述用于生成合同的请求携带有所述合同的关键字段时,所述获取所述合同的关键字段并进行加密计算,包括:
从所述用于生成合同的请求中获取所述合同的关键字段并进行加密计算。
可选的,所述获取所述合同的关键字段并进行加密计算,包括:
接收用户配置的合同的关键字段;
封装序列化处理所述合同的关键字段,并发送至消息队列的目标主题;
从所述目标主题中拉取并解析所述合同的关键字段,并进行加密计算。
可选的,所述获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹包括:
获取所述合同的关键字段,采用信息摘要md5算法对所述合同的关键字段进行加密计算,生成所述合同的合同指纹;所述合同指纹的唯一标识为所述合同的关键字段的md5校验值。
可选的,所述异常合同映射关系存储在远程字典服务器redis中。
可选的,所述否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号保存在异常合同映射关系中,包括:
若未在异常合同映射关系中查找到所述合同指纹对应的唯一标识,调用远程字典服务器redis的自增指令,依据所述合同指纹的唯一标识生成一个新的合同编号;
将所述合同指纹的唯一标识和所述新的合同编号对应保存在所述异常合同映射关系中。
第二方面,本发明实施例还提供了一种合同生成装置,包括:
接收模块,用于接收用于生成合同的请求;
生成模块,用于获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
查找模块,用于若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
存储模块,用于若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识。
第三方面,本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面任一项所述的合同生成方法的步骤。
第四方面,本发明实施例还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如第一方面中任一项所述的合同生成方法的步骤。
本发明实施例中,接收到合同生成请求后,对该合同的关键字段进行加密,生成对应的合同指纹,在异常合同映射关系中找到对应的合同指纹的唯一标识时,即可获取该合同对应的合同编号,若未找到时依据该合同指纹的唯一标识生成一个新的合同编号并将该新的合同编号及其唯一标识保存在异常合同映射关系中;当合同编号及其对应的合同信息成功保存在数据库中时合同生成成功,此时从异常合同映射关系中删除该合同编号及其对应的唯一标识。本方法通过合同指纹的唯一标识确认或生成唯一的合同编号,再基于异常合同映射关系及对应的存储成功后删除的异常处理机制,进一步简单、高效、准确、稳定地实现了连续的合同编号的生成,且不浪费一个合同编号,真正保证了合同生成过程中合同编号的连续有效性和唯一性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的合同生成方法的流程示意图之一;
图2为本发明实施例提供的合同生成方法的流程示意图之二;
图3为本发明实施例提供的合同生成装置的结构示意图之一;
图4为本发明实施例提供的电子设备的结构示意图之一。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的合同生成方法的流程示意图之一;
本发明实施例提供了一种合同生成方法,包括:
步骤11:接收用于生成合同的请求;
步骤12:获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
步骤13:若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
步骤14:若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识。
本发明实施例中,接收到合同生成请求后,对该合同的关键字段进行加密,生成对应的合同指纹,在异常合同映射关系中找到对应的合同指纹的唯一标识时,即可获取该合同对应的合同编号,若未找到时依据该合同指纹的唯一标识生成一个新的合同编号并将该新的合同编号及其唯一标识保存在异常合同映射关系中;当合同编号及其对应的合同信息成功保存在数据库中时合同生成成功,此时从异常合同映射关系中删除该合同编号及其对应的唯一标识。本方法通过合同指纹的唯一标识确认或生成唯一的合同编号,再基于异常合同映射关系及对应的存储成功后删除的异常处理机制,进一步简单、高效、准确、稳定地实现了连续的合同编号的生成,且不浪费一个合同编号,真正保证了合同生成过程中合同编号的连续有效性和唯一性。
本发明的一些实施例中,可选的,若一合同依据本方法第一次未成功生成时,依据本方法进行第二次合同生成时,只要两次合同的关键字段设置相同,其对应的合同编号相同。
本发明的一些实施例中,可选的,所述合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一。
本发明实施例中,合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一,上述关键字段中的一个或多个均可进行加密计算用于合同指纹的生成。
本发明的一些实施例中,可选的,合同类型可以按照业务类型分类,如发票报销等。
本发明的一些实施例中,可选的,甲方信息或乙方信息包括但不限于公司名称、公司统一社会信用代码、法人信息等。
本发明的一些实施例中,可选的,所述用于生成合同的请求携带有所述合同的关键字段时,所述获取所述合同的关键字段并进行加密计算,包括:
从所述用于生成合同的请求中获取所述合同的关键字段并进行加密计算。
本发明实施例中,合同的关键字段来源于用于生成合同的请求,当接收到携带有合同关键字段的合同生成请求时,即可对合同关键字段进行加密生成对应的合同指纹,实现了一合同的生成请求对应唯一的合同指纹。
本发明的一些实施例中,可选的,所述获取所述合同的关键字段并进行加密计算,包括:
接收用户配置的合同的关键字段;
封装序列化处理所述合同的关键字段,并发送至消息队列的目标主题;
从所述目标主题中拉取并解析所述合同的关键字段,并进行加密计算。
本发明实施例中,通过用户先配置合同的关键字段,再封装序列化处理合同的关键字段,接着将封装后的内容发送至消息队列的目标主题,最后从目标主题中拉取并解析该合同的关键字段后对其进行加密计算,采用消息队列形式分布式处理上述信息,可以保证后面合同编号生成和数据调用时的流量稳定,消除了高并发对后续程序的压力。
本发明的一些实施例中,可选的,所述获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹包括:
获取所述合同的关键字段,采用信息摘要md5算法对所述合同的关键字段进行加密计算,生成所述合同的合同指纹;所述合同指纹的唯一标识为所述合同的关键字段的md5校验值。
本发明实施例中,合同的关键字段加密方式为采用信息摘要md5算法进行加密,此时,合同指纹的唯一标识即为合同的关键字段的md5校验值,信息摘要md5算法更容易比较和存储较小的哈希值,广泛用于检查文件的完整性。
本发明的一些实施例中,可选的,所述异常合同映射关系存储在远程字典服务器redis中。
本发明实施例中,异常合同映射关系存储在远程字典服务器redis中,远程字典服务器redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与消息队列共同使用进行合同编号生成时,进一步保证了数据存储的可靠性,保证后面合同编号生成和远程字典服务器redis的流量稳定,消除高并发对后续程序的压力。
本发明的一些实施例中,可选的,远程字典服务器redis采用主备部署方案。此时,既可以简单高效的生成连续递增的合同编号,又进一步保证了数据存储的可靠性。
本发明的一些实施例中,可选的,所述否则,依据所述合同指纹的唯一标识生成一个新的合同编号否则生成一个新的合同编号并将所述唯一标识和所述新的合同编号保存在异常合同映射关系中,包括:
若未在异常合同映射关系中查找到所述合同指纹对应的唯一标识,调用远程字典服务器redis的自增指令,依据所述合同指纹的唯一标识生成一个新的合同编号;
将所述合同指纹的唯一标识和所述新的合同编号对应保存在所述异常合同映射关系中。
本发明实施例中,远程字典服务器redis具备自增指令功能,当需要生成新的合同编号时,可通过直接调用远程字典服务器redis的自增指令生成新的合同编号,将新的合同编号及其对应的合同指纹的唯一标识保存在异常合同映射关系中。简单、高效、准确、稳定地实现了连续递增的合同编号的生成,且不浪费一个合同编号,真正保证了合同生成过程中合同编号的连续有效性和唯一性。
具体地,请参考图2,图2为本发明实施例提供的合同生成方法的流程示意图之二;所述方法包括:
步骤201:接收用户输入的创建合同的请求,所述请求中携带有所述合同的关键字段;
步骤202:封装序列化处理所述合同的关键字段,并将其发送到消息队列Kafka相应的目标主题topic中;
步骤203:消费消息队列Kafka相应的目标主题topic,从该目标主题中拉取并解析该请求;
步骤204:针对每个请求中的所述合同的关键字段(合同类型,甲方、乙方、生效时间)进行md5计算,生成对应的合同指纹;
步骤205:根据所述合同指纹的唯一标识查找存储在异常处理引擎中的异常映射关系;未找到转入步骤206,否则转入步骤208;
步骤206:调用远程字典服务器redis的自增指令生成新的合同编号;
步骤207:保存该合同指纹的唯一标识及其对应的合同编号至异常映射关系中;
步骤208:保存合同编号及对应的合同信息至数据库中;
步骤209:若保存合同编号及对应的合同信息至数据库成功时,从异常映射关系中删除该合同编号及其对应的合同指纹的唯一标识。
本发明实施例中,接收到携带有合同的关键字段的合同生成请求后,对该请求进行加密,生成对应的合同指纹,在异常合同映射关系中找到对应的合同指纹的唯一标识时,即可获取该合同对应的合同编号,若未找到时依据该合同指纹的唯一标识生成一个新的合同编号并将该新的合同编号及其唯一标识保存在异常合同映射关系中;当合同编号及其对应的合同信息成功保存在数据库中时合同生成成功,此时从异常合同映射关系中删除该合同编号及其对应的唯一标识。本方法通过合同指纹的唯一标识确认或生成唯一的合同编号,再基于异常合同映射关系及对应的存储成功后删除的异常处理机制,进一步简单、高效、准确、稳定地实现了连续自增的合同编号的生成,且不浪费一个合同编号,真正保证了合同生成过程中合同编号的连续有效性和唯一性;配合用户请求配置界面、消息队列、远程字典服务器redis和数据库的分布式集群部署,进一步提高了合同编号生成和数据调用时的流量稳定,消除了高并发对后续程序的压力。
本发明的一些实施例中,可选的,异常处理引擎中的保存了关键信息md5值(key)和生成的合同编号(value)的映射关系(map),若能查到对应的key,说明之前已经生成过合同编号,则不再调用远程字典服务器redis生成合同编号,直接使用保存的合同编号;否则先去远程字典服务器redis中调用生成合同编号,生成成功后将key和对应合同编号值保存在map中;再将合同编号和相关合同信息存储到mysql中,若保存成功,则删除异常处理引擎中的对应key。
本发明的一些实施例中,可选的,合同成功生成后,用户查询合同信息时,直接读取数据库中信息即可。
请参见图3,图3为本发明实施例提供的合同生成装置的结构示意图之一;本发明实施例还提供了一种合同生成装置30,包括:
接收模块31,用于接收用于生成合同的请求;
生成模块32,用于获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
查找模块33,用于若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
存储模块34,用于若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识。
本发明实施例中,合同生成装置接收到合同生成请求后,对该合同的关键字段进行加密,生成对应的合同指纹,在异常合同映射关系中找到对应的合同指纹的唯一标识时,即可获取该合同对应的合同编号,若未找到时依据该合同指纹的唯一标识生成一个新的合同编号并将该新的合同编号及其唯一标识保存在异常合同映射关系中;当合同编号及其对应的合同信息成功保存在数据库中时合同生成成功,此时从异常合同映射关系中删除该合同编号及其对应的唯一标识。通过合同指纹的唯一标识确认或生成唯一的合同编号,再基于异常合同映射关系及对应的存储成功后删除的异常处理机制,进一步简单、高效、准确、稳定地实现了连续的合同编号的生成,且不浪费一个合同编号,真正保证了合同生成过程中合同编号的连续有效性和唯一性。
本发明的一些实施例中,可选的,若一合同依据本装置第一次未成功生成时,依据本装置进行第二次合同生成时,只要两次合同的关键字段设置相同,其对应的合同编号相同。
本发明的一些实施例中,可选的,所述合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一。
本发明实施例中,合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一,上述关键字段中的一个或多个均可进行加密计算用于合同指纹的生成。
本发明的一些实施例中,可选的,合同类型可以按照业务类型分类,如发票报销等。
本发明的一些实施例中,可选的,甲方信息或乙方信息包括但不限于公司名称、公司统一社会信用代码、法人信息等。
本发明的一些实施例中,可选的,所述生成模块32还用于从所述用于生成合同的请求中获取所述合同的关键字段并进行加密计算。
本发明实施例中,合同的关键字段来源于用于生成合同的请求,当合同生成装置接收到携带有合同关键字段的合同生成请求时,即可对合同关键字段进行加密生成对应的合同指纹,实现了一合同的生成请求对应唯一的合同指纹。
本发明的一些实施例中,可选的,所述生成模块32还用于接收用户配置的合同的关键字段;封装序列化处理所述合同的关键字段,并发送至消息队列的目标主题;从所述目标主题中拉取并解析所述合同的关键字段,并进行加密计算。
本发明实施例中,合同生成装置通过用户先配置合同的关键字段,再封装序列化处理合同的关键字段,接着将封装后的内容发送至消息队列的目标主题,最后从目标主题中拉取并解析该合同的关键字段后对其进行加密计算,采用消息队列形式分布式处理上述信息,可以保证后面合同编号生成和数据调用时的流量稳定,消除了高并发对后续程序的压力。
本发明的一些实施例中,可选的,所述生成模块32还用于获取所述合同的关键字段,采用信息摘要md5算法对所述合同的关键字段进行加密计算,生成所述合同的合同指纹;所述合同指纹的唯一标识为所述合同的关键字段的md5校验值。
本发明实施例中,合同的关键字段加密方式为采用信息摘要md5算法进行加密,此时,合同指纹的唯一标识即为合同的关键字段的md5校验值,信息摘要md5算法更容易比较和存储较小的哈希值,广泛用于检查文件的完整性。
本发明的一些实施例中,可选的,所述异常合同映射关系存储在远程字典服务器redis中。
本发明实施例中,异常合同映射关系存储在远程字典服务器redis中,远程字典服务器redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与消息队列共同使用进行合同编号生成时,进一步保证了数据存储的可靠性,保证后面合同编号生成和远程字典服务器redis的流量稳定,消除高并发对后续程序的压力。
本发明的一些实施例中,可选的,远程字典服务器redis采用主备部署方案。此时,既可以简单高效的生成连续递增的合同编号,又进一步保证了数据存储的可靠性。
本发明的一些实施例中,可选的,所述查找模块33还用于若未在异常合同映射关系中查找到所述合同指纹对应的唯一标识,调用远程字典服务器redis的自增指令,依据所述合同指纹的唯一标识生成一个新的合同编号;将所述合同指纹的唯一标识和所述新的合同编号对应保存在所述异常合同映射关系中。
本发明实施例中,远程字典服务器redis具备自增指令功能,当合同生成装置需要生成新的合同编号时,可通过直接调用远程字典服务器redis的自增指令生成新的合同编号,将新的合同编号及其对应的合同指纹的唯一标识保存在异常合同映射关系中。简单、高效、准确、稳定地实现了连续递增的合同编号的生成,且不浪费一个合同编号,真正保证了合同生成过程中合同编号的连续有效性和唯一性。
本发明还提供一种电子设备,请参见图4,图4为本发明实施例提供的电子设备的结构示意图之一;
该电子设备40包括:处理器41、存储器42及存储在所述存储器42上并可在所述处理器41上运行的程序,所述程序被所述处理器41执行时实现如实现上述任一所述的合同生成方法的的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的合同生成方法的的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (8)
1.一种合同生成方法,其特征在于,包括:
接收用于生成合同的请求;
获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识;
所述异常合同映射关系存储在远程字典服务器redis中时,若未在异常合同映射关系中查找到所述合同指纹对应的唯一标识,调用所述远程字典服务器redis的自增指令,依据所述合同指纹的唯一标识生成一个新的合同编号;
将所述合同指纹的唯一标识和所述新的合同编号对应保存在所述异常合同映射关系中。
2.根据权利要求1所述的合同生成方法,其特征在于,所述合同的关键字段包括:合同类型、甲方信息、乙方信息和合同生效时间中的至少之一。
3.根据权利要求1所述的合同生成方法,其特征在于,所述用于生成合同的请求携带有所述合同的关键字段时,所述获取所述合同的关键字段并进行加密计算,包括:
从所述用于生成合同的请求中获取所述合同的关键字段并进行加密计算。
4.根据权利要求1所述的合同生成方法,其特征在于,所述获取所述合同的关键字段并进行加密计算,包括:
接收用户配置的合同的关键字段;
封装序列化处理所述合同的关键字段,并发送至消息队列的目标主题;
从所述目标主题中拉取并解析所述合同的关键字段,并进行加密计算。
5.根据权利要求1所述的合同生成方法,其特征在于,所述获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹包括:
获取所述合同的关键字段,采用信息摘要md5算法对所述合同的关键字段进行加密计算,生成所述合同的合同指纹;所述合同指纹的唯一标识为所述合同的关键字段的md5校验值。
6.一种合同生成装置,其特征在于,包括:
接收模块,用于接收用于生成合同的请求;
生成模块,用于获取所述合同的关键字段并进行加密计算,生成所述合同的合同指纹;
查找模块,用于若在异常合同映射关系中查找到所述合同指纹的唯一标识,获取所述唯一标识对应的合同编号;否则,依据所述合同指纹的唯一标识生成一个新的合同编号,并将所述唯一标识和所述新的合同编号对应保存在异常合同映射关系中;
存储模块,用于若一合同编号及其对应的合同信息成功保存至数据库时,合同生成成功,并从所述异常合同映射关系中删除所述合同编号及其对应的唯一标识;
所述异常合同映射关系存储在远程字典服务器redis中时,若未在异常合同映射关系中查找到所述合同指纹对应的唯一标识,所述查找模块还用于调用所述远程字典服务器redis的自增指令,依据所述合同指纹的唯一标识生成一个新的合同编号;将所述合同指纹的唯一标识和所述新的合同编号对应保存在所述异常合同映射关系中。
7.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至5中任一项所述的合同生成方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至5中任一项所述的合同生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110879817.0A CN113313540B (zh) | 2021-08-02 | 2021-08-02 | 合同生成方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110879817.0A CN113313540B (zh) | 2021-08-02 | 2021-08-02 | 合同生成方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113313540A CN113313540A (zh) | 2021-08-27 |
CN113313540B true CN113313540B (zh) | 2021-09-28 |
Family
ID=77382447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110879817.0A Active CN113313540B (zh) | 2021-08-02 | 2021-08-02 | 合同生成方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313540B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868231A (zh) * | 2015-12-01 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 缓存数据的更新方法及装置 |
CN106997378A (zh) * | 2017-03-13 | 2017-08-01 | 摩贝(上海)生物科技有限公司 | 基于Redis的数据库数据聚合同步的方法 |
CN109087056A (zh) * | 2018-06-15 | 2018-12-25 | 平安科技(深圳)有限公司 | 电子合同签署方法、装置及服务器 |
CN109670975A (zh) * | 2018-12-17 | 2019-04-23 | 泰康保险集团股份有限公司 | 计算机系统中生成单号的方法、介质及电子设备 |
WO2021095384A1 (ja) * | 2019-11-14 | 2021-05-20 | ソニーグループ株式会社 | 情報処理装置、端末装置および検索方法 |
-
2021
- 2021-08-02 CN CN202110879817.0A patent/CN113313540B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868231A (zh) * | 2015-12-01 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 缓存数据的更新方法及装置 |
CN106997378A (zh) * | 2017-03-13 | 2017-08-01 | 摩贝(上海)生物科技有限公司 | 基于Redis的数据库数据聚合同步的方法 |
CN109087056A (zh) * | 2018-06-15 | 2018-12-25 | 平安科技(深圳)有限公司 | 电子合同签署方法、装置及服务器 |
CN109670975A (zh) * | 2018-12-17 | 2019-04-23 | 泰康保险集团股份有限公司 | 计算机系统中生成单号的方法、介质及电子设备 |
WO2021095384A1 (ja) * | 2019-11-14 | 2021-05-20 | ソニーグループ株式会社 | 情報処理装置、端末装置および検索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113313540A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640474B2 (en) | Method and apparatus for operating database | |
CN107577427B (zh) | 用于区块链系统的数据迁移方法、设备和存储介质 | |
CN110689349B (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
US20190075152A1 (en) | Method and system for file transfer over a messaging infrastructure | |
US10102242B2 (en) | Bulk initial download of mobile databases | |
EP4216131A1 (en) | Transaction verification method and apparatus, device, and storage medium | |
US9589153B2 (en) | Securing integrity and consistency of a cloud storage service with efficient client operations | |
CN109710185A (zh) | 数据处理方法及装置 | |
CN106649676A (zh) | 一种基于hdfs存储文件的去重方法及装置 | |
CN109376133A (zh) | 文件访问方法及文件访问系统 | |
US11934674B2 (en) | Method, electronic device, and computer program product for storing and accessing data across multiple servers utilizing metadata of a distributed hash table | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN108234122A (zh) | 令牌校验方法和装置 | |
WO2023051308A1 (zh) | 数据校验方法、装置、设备及存储介质 | |
CN114615031A (zh) | 文件存储方法、装置、电子设备及存储介质 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN109934584B (zh) | 区块链账户交易方法及设备 | |
CN104182418A (zh) | 节点元数据获取方法与装置 | |
CN108133026B (zh) | 一种多数据的处理方法、系统及存储介质 | |
CN113313540B (zh) | 合同生成方法、装置、电子设备和可读存储介质 | |
CN116010926A (zh) | 登陆认证方法、装置、计算机设备和存储介质 | |
CN113610527B (zh) | 联盟链的交易方法、装置、系统、终端设备及存储介质 | |
CN109002710A (zh) | 一种检测方法、装置及计算机可读存储介质 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
CN109241180B (zh) | 一种基于日志的数据同步的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |