CN112363997B - 数据版本管理方法、装置及存储介质 - Google Patents
数据版本管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112363997B CN112363997B CN202011247305.4A CN202011247305A CN112363997B CN 112363997 B CN112363997 B CN 112363997B CN 202011247305 A CN202011247305 A CN 202011247305A CN 112363997 B CN112363997 B CN 112363997B
- Authority
- CN
- China
- Prior art keywords
- version number
- data
- version
- task
- rule
- 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
Classifications
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及数据管理技术领域,尤其涉及一种数据版本管理方法、装置及存储介质。本发明的数据版本管理方法、装置及存储介质,针对业务模块执行当前任务计算产生的数据赋予唯一识别的版本号并根据该数据的执行情况更新版本号日志,以保存版本号状态,通过上述方式,保证了数据的版本号唯一,并将与该数据相关的所有执行过程更新至版本号日志中,方便管理;需要追溯数据时,无论版本号的编码规则是否改变,均可根据执行条件在日志中查询匹配的信息,根据日志追溯版本号,进而获取对应数据。
Description
【技术领域】
本发明涉及数据管理技术领域,尤其涉及一种数据版本管理方法、装置及存储介质。
【背景技术】
保险精算业务十分复杂,例如对于I17计量模块数据在做月结处理时,就涉及到一批数据多次处理,并且需要保存每个批次的完整数据,并且后续任务要手动选择或者自动依赖某个批次的数据执行;计量模块分为十几个业务,每个业务的执行频率大都不一样,所以导致系统对批次号和版本处理杂乱无章,随着业务变更,当规则改变时候,由于硬编码,还需要重新修改带代码,部署,代码复用性低,耦合度高,增加开发成本并且后续任务也无法追踪锁依赖的批次号或者版本号是否正确可用等信息。
现有技术的数据版本号管理杂乱无章,每次执行计算后需要对数据的版本进行升级,由于数据的执行频率差异,后续任务无法通过数据的版本号追溯可用数据,当版本号编码规则改变时,旧数据的版本号更难追溯。
因此,有必要提供一种新的数据版本管理方法、装置及存储介质。
【发明内容】
本发明的目的在于提供一种数据版本管理方法、装置及存储介质,以解决现有技术中数据版本号每次执行计算后进行升级导致的无法对版本号进行有效管理以及无法通过版本号追溯可用数据的技术问题。
本发明的技术方案如下:提供一种数据版本管理方法,包括:
一种数据版本管理方法,其特征在于,包括:
接收执行待计量任务的业务模块发送的版本号生成请求;
根据预设的版本号生成规则生成版本号,将所述版本号发送至所述业务模块;
接收所述业务模块发送的数据计算完成反馈信息,将所述版本号与所述待计量任务的计算输出数据建立对应关系;
根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系。
优选地,所述根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系之后,还包括:
接收执行待计量任务的业务模块发送的版本号查询请求;
根据所述版本号查询请求中的查询条件在所述版本号日志中进行查询,获取与所述查询条件匹配的所述版本号日志;
将所述版本号日志对应的所述版本号发送至发起所述版本号查询请求的业务模块;
将所述版本号查询请求作为版本号事件更新至所述版本号日志中。
优选地,所述根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系之后,还包括:
接收执行待计量任务的业务模块发送的数据调用请求,获取所述数据调用请求指向的版本号对应的数据,将获取的所述数据作为计算输入数据;
将所述计算输入数据发送至所述业务模块,以使所述业务模块利用所述计算输入数据执行所述待计量任务,得到计算输出数据;
将所述数据调用请求作为版本号事件更新至所述计算输入数据的版本号日志中。
优选地,所述根据预设的版本号生成规则生成版本号,将所述版本号发送至所述业务模块,包括:
获取用于唯一表征所述版本号生成请求的分布式锁信息,所述分布式锁信息利用redis分布式锁配置而成,所述分布式锁信息包括当前时间戳以及发送所述版本号生成请求的服务器节点的节点标识;
获取所述待计量任务指向的业务模块、任务内容以及任务属性;
根据所述分布式锁信息、所述业务模块、所述任务内容和所述任务属性,生成所述版本号;
将所述版本号发送至所述业务模块。
优选地,所述获取用于唯一表征所述版本号生成请求的分布式锁信息之前,还包括:
获取发起所述待计量任务的用户UID;
获取所述待计量任务待调用的计量算法的算法标识;
根据所述用户UID以及所述计量算法的算法标识生成辅助计算事件ID;
所述获取用于唯一表征所述版本号生成请求的分布式锁信息,包括:
利用redis分布式锁将当前时间戳、发送所述版本号生成请求的服务器节点的节点标识以及所述辅助计算事件ID拼接形成唯一表征所述版本号生成请求的分布式锁信息。
优选地,所述接收执行待计量任务的业务模块发送的版本号生成请求之前,还包括:
接收版本号编码规则的生成请求,所述生成请求包括第一版本号编码规则;
调用Drools规则生成器对所述第一版本号编码规则进行编译解析,以将所述第一版本号编码规则转化为适用于Drools规则的第一版本号编码Drools规则信息;
将所述第一版本号编码Drools规则信息设置为版本号生成规则。
优选地,所述接收执行待计量任务的业务模块发送的版本号生成请求之前,还包括:
接收版本号编码规则的修改请求,所述修改请求包括第二版本号编码规则;
调用Drools规则生成器对所述修改的版本号编码规则进行编译解析,以将所述第二版本号编码规则转化为适用于Drools规则的第二版本号编码Drools规则信息;
用所述第二版本号编码Drools规则信息对所述版本号生成规则进行更新。
本发明的另一技术方案如下:提供一种数据版本管理装置,包括:
接口模块,用于接收执行待计量任务的业务模块发送的版本号生成请求;
版本号生成模块,用于根据预设的版本号生成规则生成版本号,将所述版本号发送至所述业务模块;
版本号管理模块,用于接收所述业务模块发送的与数据计算完成反馈信息,将所述版本号与所述待计量任务的计算输出数据建立对应关系;
版本号事件记录模块,用于根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述版本号的版本号日志,将所述版本号日志和所述版本号建立对应关系。
本发明的另一技术方案如下:提供一种数据版本管理装置,所述装置包括处理器、以及与所述处理器耦接的存储器,所述存储器存储有程序指令;所述处理器用于执行所述存储器存储的所述程序指令以执行上述的数据版本管理方法。
本发明的另一技术方案如下:提供一种存储介质,所述存储介质存储程序指令,所述程序指令被处理器执行时,实现上述的数据版本管理方法。
本发明的有益效果在于:本发明的数据版本管理方法、装置及存储介质,针对业务模块执行当前任务计算产生的数据赋予唯一识别的版本号并根据该数据的执行情况更新版本号日志,以保存版本号状态,通过上述方式,保证了数据的版本号唯一,并将与该数据相关的所有执行过程更新至版本号日志中,方便管理;需要追溯数据时,无论版本号的编码规则是否改变,均可根据执行条件在日志中查询匹配的信息,根据日志追溯版本号,进而获取对应数据。
【附图说明】
图1为本发明第一实施例的数据版本管理方法的流程示意图;
图2为本发明第二实施例的数据版本管理方法的流程示意图;
图3为本发明第三实施例的数据版本管理方法的流程示意图;
图4为本发明第四实施例的数据版本管理方法的流程示意图;
图5为本发明第五实施例的数据版本管理装置的结构示意图;
图6为本发明第六实施例的数据版本管理装置的结构示意图;
图7为本发明第七实施例的存储介质的结构示意图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1是本发明第一实施例的数据版本管理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。本实施例的数据版本管理方法应用于数据版本管理装置,如图1所示,该数据版本管理方法包括步骤:
S101,接收执行待计量任务的业务模块发送的版本号生成请求。
在本实施例中,在业务模块进行计算之前,先为待生成的业务输出数据请求版本号,业务模块向数据版本管理装置发送执行待计量任务的版本号生成请求,数据版本管理装置接收该版本号生成请求。
S102,根据预设的版本号生成规则生成版本号,将所述版本号发送至对应所述业务模块。
在本实施例中,版本号需要根据预设版本号生成规则产生,并且,版本号是在计算输出数据产生之前就生成的,例如,版本号生成规则包括业务模块A、任务内容a、请求时间以及任务属性,进一步地,版本号生成规则还可以包括调用的数据;进一步地,采用redis分布式锁确保版本号生成的唯一性,当同时接收两个或两个以上针对同一业务模块调用同样的数据(已经被赋予版本号的数据)执行相同的任务内容时,根据版本号生成规则,会生成多个相同的版本号,为了保证版本号的唯一性,采用redis分布式锁生成不同的版本号。也就是说,版本号的标识部分包括业务模块标识、任务类型标识、任务属性标识、请求时间标识、使用数据标识以及分布式锁标识。
具体地,步骤S102进一步包括如下步骤:
S1021,获取用于唯一表征所述版本号生成请求的分布式锁信息,所述分布式锁信息利用redis分布式锁配置而成,所述分布式锁信息包括当前时间戳以及发送所述版本号生成请求的服务器节点的节点标识。
S1022,基于所述版本号生成请求中的待计量任务,获取所述待计量任务指向的业务模块、请求时间、任务内容以及任务属性。
具体地,所述指向的业务模块为待执行该计量任务的业务模块,任务内容可以包括险种类型和待计算参数,任务属性可以包括年度任务、月任务、日任务。
S1023,根据所述版本号生成请求的所述分布式锁信息以及所述版本号生成请求中待计量任务指向的业务模块、请求时间、任务内容和任务属性,生成所述版本号。
S1024,将所述版本号发送至待计量任务指向的所述业务模块。
具体地,该版本号生成请求基于用户在当前窗口的页面中对对应计量任务提出请求而触发,当两个不同用户同时在页面对同一个计量任务提出请求,则会出现针对同一计量任务的并发问题,由于该版本号中携带有分布式锁信息,当前时间戳与发送该版本号生成请求的服务器节点的节点标识具有唯一性,确保版本号的唯一性。
在本实施例中,还可以进一步地获取发起计量任务的用户UID,基于所述版本号生成请求的所述分布式锁信息,以及所述版本号生成请求中待计量任务指向的业务模块、请求时间、发起计量任务的用户UID、任务内容以及任务属性,生成所述版本号。更进一步地,在步骤S1021之前还包括如下步骤:S1020,获取发起所述待计量任务的用户UID;获取所述待计量任务待调用的计量算法的算法标识;根据所述用户UID以及所述计量算法的算法标识生成辅助计算事件ID。在步骤S1020中,生成的辅助计算事件ID也用于生成分布式锁信息,同一时间在页面对同一个计量任务提出请求的用户一般不同,用户UID在一定程度上也具有唯一性,并且,执行相同计量任务时可能调用不同的计量算法(例如不同版本的计量算法),为了便于从版本号直接追溯采用的计量算法,将算法标识也作为分布式锁信息的一部分。在步骤S1020中,可以将用户UID和算法标识直接拼接形成一个辅助计算信息,再将该辅助计算信息进行哈希处理得到对应的哈希值,将该哈希值作为辅助计算事件ID。于是,步骤S1021具体包括:利用redis分布式锁将当前时间戳、发送所述版本号生成请求的服务器节点的节点标识以及所述辅助计算事件ID拼接形成唯一表征所述版本号生成请求的分布式锁信息。
S103,接收所述业务模块发送的与所述版本号对应的数据计算完成反馈信息,根据所述数据计算完成反馈信息将所述版本号与所述待计量任务的计算输出数据建立对应关系。
在本实施例中,在待计量任务执行完毕时,生成对应的数据计算完成反馈信息,该数据计算完成反馈信息可以包括计算输出数据信息以及任务执行成功标识,将所述版本号与所述计算输出数据建立对应关系。进一步地,当业务模块执行待计量任务失败时,接收所述业务模块发送的与所述版本号对应的数据计算失败反馈信息。
S104,根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系。
在本实施例中,创建了版本号日志,版本号日志与版本号对应,用于记录版本号事件,版本号对应的计算输出数据的生成、被查询、被调用均作为版本号事件进行记录,每发生一个版本号事件,对版本号日志进行更新。在步骤S104中,对于计算输出数据的生成过程进行记录。在本实施例中,所述计算输出数据、所述版本号以及所述版本号日志对应设置。
具体地,本实施例的数据版本管理方法应用于数据版本管理装置,对于A险种,业务模块A需要按照四套参数指标执行一个计算过程,将会产生四套数据,每一套数据有一个版本号,版本号是数据版本管理装置赋予给该四套待生成的数据的,版本号需要根据规则(业务模块A、任务内容a、调用数据,请求时间、任务属性、分布式锁等)生成,并且,版本号是在数据产生之前就生成的,在计算开始之前,业务模块A向数据版本管理装置发送版本号生成请求,数据版本管理装置根据版本号生成规则分别生成四个版本号反馈至业务模块A,当业务模块A计算完成分别生成计算输出数据Z1、计算输出数据Z2、计算输出数据Z3和计算输出数据Z4(计算结果)时,向数据版本管理装置反馈,数据版本管理装置将四个版本号分别嵌入生成的计算输出数据Z1、计算输出数据Z2、计算输出数据Z3和计算输出数据Z4中,并分别记录计算输出数据Z1、计算输出数据Z2、计算输出数据Z3和计算输出数据Z4的版本号日志。
当业务模块A没有执行任务内容a或执行任务内容a失败时,生成的版本号没有可关联的计算输出数据,数据版本管理装置根据业务模块A反馈的信息直接更新版本号日志。
在本实施例中,针对业务模块执行当前任务计算产生的数据赋予唯一识别的版本号并根据该数据的执行情况更新日志,保存版本号状态。保证了数据的版本号唯一,并将与该数据相关的所有执行过程更新至版本号日志中,方便管理;需要追溯数据时,无论版本号的编码规则是否改变,均可根据执行条件在日志中查询匹配的信息,根据日志追溯版本号,进而获取对应数据。
图2是本发明第二实施例的数据版本管理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限。本实施例的数据版本管理方法应用于数据版本管理装置,如图2所示,该数据版本管理方法包括步骤:
S201,接收执行待计量任务的第一业务模块发送的版本号生成请求。
S202,根据预设的版本号生成规则生成版本号,将所述版本号发送至对应所述业务模块。
S203,接收所述第一业务模块发送的与所述版本号对应的数据计算完成反馈信息,根据所述数据计算完成反馈信息将所述版本号与所述待计量任务的计算输出数据建立对应关系。
S204,根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系。
步骤S201至步骤S204具体参见第一实施例的描述,在此不进行一一赘述。
S205,接收所述第二业务模块执行待计量任务的版本号查询请求。
S206,根据所述版本号查询请求中的查询条件在所述版本号日志中进行查询,获取与所述查询条件匹配的所述版本号日志。
S207,将匹配的所述版本号日志对应的所述版本号发送至发起所述版本号查询请求的第二业务模块。
S208,将所述版本号查询请求作为版本号事件更新至匹配的所述版本号日志中。
在本实施例中,根据查询条件在版本号日志中进行搜索,以获取匹配的版本号以在后续计算过程中调用数据,对于上述查询事件,需要记录在与查询条件匹配的数据的版本号日志中。在一个应用场景中,另一业务模块在执行任务时需要根据之前某批次数据进行后续计算,查询另一业务模块可调用的数据时,根据搜索条件在日志表中锁定至少一个数据,系统反馈数据的版本号供选择。对于被用户选择的数据,后续计算过程中被进一步调用,该数据对于本次查询请求对应的版本号事件以及后续的数据调用请求对应的版本号事件均进行记录,更新至版本号日志中;对于查询到的未被用户选择的数据,仅仅对本次查询请求对应的版本号事件进行记录,更新至版本号日志中;对于被用户选择但是还未执行计算步骤的数据,对本次查询请求对应的版本号事件进行记录,更新至版本号日志中,根据版本号日志中记录的查询请求的版本号事件,在后续进行数据调用及计算时,能够快速锁定该数据。
图3是本发明第三实施例的数据版本管理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。本实施例的数据版本管理方法应用于数据版本管理装置,如图3所示,该数据版本管理方法包括步骤:
S301,接收执行待计量任务的第一业务模块发送的版本号生成请求。
S302,根据预设的版本号生成规则生成版本号,将所述版本号发送至对应所述业务模块。
S303,接收所述第一业务模块发送的与所述版本号对应的数据计算完成反馈信息,根据所述数据计算完成反馈信息将所述版本号与所述待计量任务的第一输出数据建立对应关系。
S304,根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述第一输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系。
步骤S301至步骤S304具体参见第一实施例的描述,在此不进行一一赘述。
S305,接收所述第二业务模块执行待计量任务的数据调用请求,将所述数据调用请求指向的版本号对应的第一输出数据作为计算输入数据。
S306,将所述计算输入数据发送至所述第二业务模块,以使所述第二业务模块利用所述计算输入数据执行待计量任务,得到对应的第二输出数据。
S307,将所述数据调用请求作为版本号事件更新至所述计算输入数据对应的所述版本号日志中。
具体地,另一个第二业务模块B在执行任务内容b时,需要调用数据Z1,通过版本号日志内容确定版本号,通过版本号调用数据Z1,业务模块B完成执行任务内容b后,反馈至数据版本管理装置,数据版本管理装置更新数据Z1的版本号日志,将本次调用及计算记录到版本号日志中以备查询。同时,按照第一实施例中所述,第二业务模块B在执行任务内容b之前也要向系统获取版本号,在计算得到数据C1之后反馈数据版本管理装置,数据版本管理装置将版本号嵌入数据C1中并生成数据C1的版本号日志。
在本实施例中,第二业务模块B执行计量任务后生成的第二输出数据的版本号不是在其调用的计算输入数据(第一输出数据)的版本号基础上升级而来的,而是按照版本号生成规则生成的,计算输入数据(第一输出数据)和第二输出数据之间的关系可以分别由二者的版本号日志进行记录,以便于追溯,由于计算输入数据(第一输出数据)和第二输出数据的版本号均具有唯一性,有利于提高版本号的管理效率。
图4是本发明第四实施例的数据版本管理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。本实施例的数据版本管理方法应用于数据版本管理装置,如图4所示,该数据版本管理方法包括步骤:
S401,接收版本号编码规则的生成请求,所述设置请求包括第一版本号编码规则。
S402,调用Drools规则生成器对所述第一版本号编码规则进行编译解析,以将所述版本号编码规则转化为适用于Drools规则的第一版本号编码Drools规则信息。
S403,将所述第一版本号编码Drools规则信息设置为执行版本号生成操作的预设版本号生成规则。
在本实施例中,通过Drools规则引擎动态读取,生成版本号,统一管理;如果规则修改,只需要通过业务更改规则,上传,drools支持热刷新,无需再发版。具体地,Drools(JBOSS RULES)具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。其能够使用XML节点来规范If-Then(如果-那么)句式和事实的定义,使用Java、Groovy等原生语句对规则策略做判断和执行语句。充分利用Drools规则引擎的成熟开发体系,可高效地实现业务流程作业与系统规则代码的研发相分离,通过简单的配置就能够实现代码开发效果。具体地,利用Drools规则引擎生成版本号时,首先,添加编写的版本号编码规则;然后,调用Drools规则生成器对所述版本号编码规则进行编译解析,以将所述版本号编码规则转化为适用于Drools规则的对应版本号编码Drools规则信息;再根据所述版本号编码Drools规则信息执行版本号生成操作。
在本实施例中,当版本号编码规则修改时,只需重新添加修改后的版本号编码规则,具体地,包括如下步骤:接收版本号编码规则的修改请求,所述修改请求包括第二版本号编码规则;调用Drools规则生成器对所述第二版本号编码规则进行编译解析,以将所述第二版本号编码规则转化为适用于Drools规则的对应第二版本号编码Drools规则信息;将所述第二版本号编码Drools规则信息更新为执行版本号生成操作的预设版本号生成规则。
S404,接收执行待计量任务的业务模块发送的版本号生成请求。
S405,根据预设的版本号生成规则生成版本号,将所述版本号发送至对应所述业务模块。
S406,接收所述业务模块发送的与所述版本号对应的数据计算完成反馈信息,根据所述数据计算完成反馈信息将所述版本号与所述待计量任务的计算输出数据建立对应关系。
S407,根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述版本号的版本号日志,将所述版本号日志和所述版本号建立对应关系。
步骤S404至步骤S407具体参见第一实施例的描述,在此不进行一一赘述。
S408,将所述版本号以及所述版本号日志上传至区块链中,以使得所述区块链对所述版本号以及所述版本号日志进行加密存储。
在步骤S408中,基于所述版本号以及所述版本号日志分别得到对应的摘要信息,具体来说,摘要信息由所述版本号以及所述版本号日志进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证所述业务输出数据以及所述业务算法中每个所述项目算法的计算结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
图5为本发明第五实施例的数据版本管理装置的结构示意图。如图5所示,该数据版本管理装置50包括接口模块51、版本号生成模块52、版本号管理模块53和版本号事件记录模块54,其中,接口模块51,用于接收执行待计量任务的业务模块发送的版本号生成请求;版本号生成模块52,用于根据预设的版本号生成规则生成版本号,将所述版本号发送至对应所述业务模块;版本号管理模块53,用于接收所述业务模块发送的与所述版本号对应的数据计算完成反馈信息,根据所述数据计算完成反馈信息将所述版本号与所述待计量任务的计算输出数据建立对应关系;版本号事件记录模块54,用于根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述版本号的版本号日志,将所述版本号日志和所述版本号建立对应关系。
进一步地,接口模块51还用于接收所述业务模块执行待计量任务的版本号查询请求;版本号管理模块53还用于根据所述版本号查询请求中的查询条件在所述版本号日志中进行查询,获取与所述查询条件匹配的所述版本号日志;接口模块51还用于将匹配的所述版本号日志对应的所述版本号发送至发起所述版本号查询请求的业务模块;版本号事件记录模块54将所述版本号查询请求作为版本号事件更新至匹配的所述版本号日志中。
进一步地,接口模块51还用于接收所述业务模块执行待计量任务的数据调用请求,将所述数据调用请求指向的版本号对应的数据作为计算输入数据;版本号事件记录模块54还用于在业务模块利用所述计算输入数据执行待计量任务,得到对应的计算输出数据后,将所述数据调用请求作为版本号事件更新至所述计算输入数据对应的所述版本号日志中。
进一步地,版本号生成模块52还用于获取用于唯一表征所述版本号生成请求的分布式锁信息,所述分布式锁信息利用redis分布式锁配置而成,所述分布式锁信息包括当前时间戳以及发送所述版本号生成请求的服务器节点的节点标识;基于所述版本号生成请求中的待计量任务,获取所述待计量任务指向的业务模块、请求时间、任务内容以及任务属性;根据所述版本号生成请求的所述分布式锁信息以及所述版本号生成请求中待计量任务指向的业务模块、请求时间、任务内容和任务属性,生成所述版本号;将所述版本号发送至待计量任务指向的所述业务模块。
进一步地,该数据版本管理装置50还包括版本号规则设置模块55,用于接收版本号编码规则的生成请求,所述设置请求包括版本号编码规则;调用Drools规则生成器对所述版本号编码规则进行编译解析,以将所述版本号编码规则转化为适用于Drools规则的对应版本号编码Drools规则信息;将所述版本号编码Drools规则信息作为执行版本号生成操作的预设版本号生成规则。
更进一步地,版本号规则设置模块55还用于接收版本号编码规则的修改请求,所述修改请求包括修改的版本号编码规则;调用Drools规则生成器对所述修改的版本号编码规则进行编译解析,以将所述修改的版本号编码规则转化为适用于Drools规则的对应第二版本号编码Drools规则信息;将所述第二版本号编码Drools规则信息更新为执行版本号生成操作的预设版本号生成规则。
图6为本发明第六实施例的数据版本管理装置的结构示意图。如图6所示,该数据版本管理装置60包括处理器61及和处理器61耦接的存储器62。
存储器62存储有用于实现上述任一实施例的数据版本管理方法的程序指令。
处理器61用于执行存储器62存储的程序指令以进行数据版本管理。
其中,处理器61还可以称为CPU(Central Process ing Unit,中央处理单元)。处理器61可能是一种集成电路芯片,具有信号的处理能力。处理器41还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图7,图7为本发明第七实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有数据版本管理方法的程序指令71,其中,该程序指令71可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
Claims (7)
1.一种数据版本管理方法,其特征在于,包括:
接收执行待计量任务的业务模块发送的版本号生成请求;
根据预设的版本号生成规则生成版本号,将所述版本号发送至所述业务模块;
接收所述业务模块发送的数据计算完成反馈信息,将所述版本号与所述待计量任务的计算输出数据建立对应关系;
根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系;
所述根据预设的版本号生成规则生成版本号,将所述版本号发送至所述业务模块,包括:
获取用于唯一表征所述版本号生成请求的分布式锁信息,所述分布式锁信息利用redis分布式锁配置而成,所述分布式锁信息包括当前时间戳以及发送所述版本号生成请求的服务器节点的节点标识;
获取所述待计量任务指向的业务模块、任务内容以及任务属性;
根据所述分布式锁信息、所述业务模块、所述任务内容和所述任务属性,生成所述版本号;
将所述版本号发送至所述业务模块;
所述获取用于唯一表征所述版本号生成请求的分布式锁信息之前,还包括:
获取发起所述待计量任务的用户UID;
获取所述待计量任务待调用的计量算法的算法标识;
根据所述用户UID以及所述计量算法的算法标识生成辅助计算事件ID;
所述获取用于唯一表征所述版本号生成请求的分布式锁信息,包括:
利用redis分布式锁将当前时间戳、发送所述版本号生成请求的服务器节点的节点标识以及所述辅助计算事件ID拼接形成唯一表征所述版本号生成请求的分布式锁信息;
所述接收执行待计量任务的业务模块发送的版本号生成请求之前,还包括:
接收版本号编码规则的生成请求,所述生成请求包括第一版本号编码规则;
调用Drools规则生成器对所述第一版本号编码规则进行编译解析,以将所述第一版本号编码规则转化为适用于Drools规则的第一版本号编码Drools规则信息;
将所述第一版本号编码Drools规则信息设置为版本号生成规则。
2.根据权利要求1所述的数据版本管理方法,其特征在于,所述根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系之后,还包括:
接收执行待计量任务的业务模块发送的版本号查询请求;
根据所述版本号查询请求中的查询条件在所述版本号日志中进行查询,获取与所述查询条件匹配的所述版本号日志;
将所述版本号日志对应的所述版本号发送至发起所述版本号查询请求的业务模块;
将所述版本号查询请求作为版本号事件更新至所述版本号日志中。
3.根据权利要求2所述的数据版本管理方法,其特征在于,所述根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述计算输出数据的版本号日志,将所述版本号日志和所述版本号建立对应关系之后,还包括:
接收执行待计量任务的业务模块发送的数据调用请求,获取所述数据调用请求指向的版本号对应的数据,将获取的所述数据作为计算输入数据;
将所述计算输入数据发送至所述业务模块,以使所述业务模块利用所述计算输入数据执行所述待计量任务,得到计算输出数据;
将所述数据调用请求作为版本号事件更新至所述计算输入数据的版本号日志中。
4.根据权利要求1所述的数据版本管理方法,其特征在于,所述接收执行待计量任务的业务模块发送的版本号生成请求之前,还包括:
接收版本号编码规则的修改请求,所述修改请求包括第二版本号编码规则;
调用Drools规则生成器对修改的版本号编码规则进行编译解析,以将所述第二版本号编码规则转化为适用于Drools规则的第二版本号编码Drools规则信息;
用所述第二版本号编码Drools规则信息对所述版本号生成规则进行更新。
5.一种数据版本管理装置,其特征在于,用于实现如权利要求1至4任一项所述的数据版本管理方法,所述数据版本管理装置包括:
接口模块,用于接收执行待计量任务的业务模块发送的版本号生成请求;
版本号生成模块,用于根据预设的版本号生成规则生成版本号,将所述版本号发送至所述业务模块;
版本号管理模块,用于接收所述业务模块发送的与数据计算完成反馈信息,将所述版本号与所述待计量任务的计算输出数据建立对应关系;
版本号事件记录模块,用于根据所述版本号生成请求以及所述数据计算完成反馈信息生成所述版本号的版本号日志,将所述版本号日志和所述版本号建立对应关系。
6.一种数据版本管理装置,其特征在于,所述装置包括处理器、以及与所述处理器耦接的存储器,所述存储器存储有程序指令;所述处理器用于执行所述存储器存储的所述程序指令以执行权利要求1至4中任一项所述的数据版本管理方法。
7.一种存储介质,其特征在于,所述存储介质存储程序指令,所述程序指令被处理器执行时,实现权利要求1至4中任一项所述的数据版本管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011247305.4A CN112363997B (zh) | 2020-11-10 | 2020-11-10 | 数据版本管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011247305.4A CN112363997B (zh) | 2020-11-10 | 2020-11-10 | 数据版本管理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363997A CN112363997A (zh) | 2021-02-12 |
CN112363997B true CN112363997B (zh) | 2023-09-26 |
Family
ID=74510052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011247305.4A Active CN112363997B (zh) | 2020-11-10 | 2020-11-10 | 数据版本管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363997B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596084B (zh) * | 2021-06-24 | 2023-10-24 | 青岛海尔科技有限公司 | 家电状态反馈方法及系统、存储介质、电子装置 |
CN113553097B (zh) * | 2021-07-30 | 2022-11-18 | 上海玳鸽信息技术有限公司 | 模型版本管理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059096A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | 数据版本管理方法、装置、设备及存储介质 |
CN110502523A (zh) * | 2019-08-01 | 2019-11-26 | 广东浪潮大数据研究有限公司 | 业务数据存储方法、装置、服务器及计算机可读存储介质 |
US10528536B1 (en) * | 2014-05-19 | 2020-01-07 | Amazon Technologies, Inc. | Managing data object versions in a storage service |
CN110727557A (zh) * | 2019-09-23 | 2020-01-24 | 北京百度网讯科技有限公司 | 日志采集器的管控方法、平台、电子设备及存储介质 |
CN111125057A (zh) * | 2019-12-05 | 2020-05-08 | 江苏苏宁物流有限公司 | 一种业务请求的处理方法、装置及计算机系统 |
CN111400334A (zh) * | 2020-06-04 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及电子装置 |
-
2020
- 2020-11-10 CN CN202011247305.4A patent/CN112363997B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528536B1 (en) * | 2014-05-19 | 2020-01-07 | Amazon Technologies, Inc. | Managing data object versions in a storage service |
CN110059096A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | 数据版本管理方法、装置、设备及存储介质 |
CN110502523A (zh) * | 2019-08-01 | 2019-11-26 | 广东浪潮大数据研究有限公司 | 业务数据存储方法、装置、服务器及计算机可读存储介质 |
CN110727557A (zh) * | 2019-09-23 | 2020-01-24 | 北京百度网讯科技有限公司 | 日志采集器的管控方法、平台、电子设备及存储介质 |
CN111125057A (zh) * | 2019-12-05 | 2020-05-08 | 江苏苏宁物流有限公司 | 一种业务请求的处理方法、装置及计算机系统 |
CN111400334A (zh) * | 2020-06-04 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112363997A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN110601880B (zh) | 一种云平台、业务处理方法、命令接口及计算机设备 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
CN112363997B (zh) | 数据版本管理方法、装置及存储介质 | |
WO2005088473A1 (en) | Apparatus and method for data consistency validation | |
US11196564B2 (en) | Hierarchical distributed ledger | |
CN115668194A (zh) | 分区的防篡改数据存储装置中的跨分区调用 | |
CN114218315A (zh) | 接口生成方法、装置、计算机设备及存储介质 | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN114971827A (zh) | 一种基于区块链的对账方法、装置、电子设备及存储介质 | |
CN113330419A (zh) | 一种设备应用安装方法和装置 | |
CN112328486A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
CN112364022B (zh) | 信息推导管理方法、装置、计算机设备及可读存储介质 | |
CN111339193B (zh) | 类别的编码方法及装置 | |
CN112685077A (zh) | 数据修改方法、系统、计算机设备及计算机可读存储介质 | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
CN111273920A (zh) | 一种向安装包写入数据的方法、装置及存储介质 | |
CN114491453A (zh) | 任务权限管理方法、装置、设备及存储介质 | |
CN116136844A (zh) | 实体标识信息的生成方法、装置、介质及电子设备 | |
CN113220762A (zh) | 大数据应用中实现关键业务字段变更的通用记录处理的方法、装置、处理器及其存储介质 | |
CN113010377A (zh) | 一种作业的运行日志的采集方法及装置 | |
CN113205302A (zh) | 数据交互方法、装置、设备及存储介质 | |
CN112035471A (zh) | 一种事务处理方法及计算机设备 | |
CN112714157B (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 |