一种基于生效时点匹配及原子快照冻结的巡检任务控制方法及系统与流程
本发明涉及的是计算机数据一致性控制和巡检任务管理,具体涉及一种基于生效时点匹配及原子快照冻结的巡检任务控制方法及系统。
背景技术:
1、信息化巡检系统通常由检查清单配置、巡检计划、巡检任务、现场执行、结果提交和审批归档等部分组成。检查清单会因法规、设备标准、仓库条件或物资类别变化而修订。为了使新标准在指定日期开始执行,系统还需要允许新版本先完成审批、在未来时点生效。
2、现有系统常在任务打开或提交时直接读取检查清单的当前版本,或者在计划创建时仅保存清单标识。当前版本变化后,尚未执行的任务、正在填写的任务和已经进入审批的任务可能同时引用不同含义的检查项。若用户在旧页面填写答案期间新版本发布,提交时可能出现新检查表与旧答案组合;若计划范围或时间窗口变化后统一重建任务,又可能删除或覆盖正在执行及审批中的任务。
3、此外,仅在应用程序中先更新版本快照、再更新审批状态,会留下并发间隙:两个请求可能都基于同一旧版本完成校验并重复启动审批流程,或者一个请求冻结新版本而另一个请求仍保存旧版本答案。上述问题属于任务版本、检查项集合和结果数据之间的计算机数据一致性问题,会导致历史结果不能复现、异常项重复计算及审批依据变化。
4、综上所述,本发明设计了一种基于生效时点匹配及原子快照冻结的巡检任务控制方法及系统。
技术实现思路
1、针对现有技术上存在的多版本检查清单在未来生效、计划调整和并发提交场景下的版本错配问题,本发明目的是在于提供一种基于生效时点匹配及原子快照冻结的巡检任务控制方法及系统,使每个巡检任务按照其预计执行时点取得确定版本,并使版本快照、检查项答案和审批状态在提交边界保持一致。
2、为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于生效时点匹配及原子快照冻结的巡检任务控制方法,包括以下步骤:
3、s101:建立检查清单版本记录:每条记录包括检查对象业务键、版本标识、生效时点、审批发布状态及检查项集合;版本号以同一业务键的最后发布版本为递增基准。
4、s102:以巡检任务预计开始时点为匹配时点,查询相同业务键下生效时点不晚于匹配时点的已发布版本,并按生效时点降序、同日版本号降序选择目标版本。
5、s103:在新版本发布或计划变更时,根据预计开始时点、审批状态及是否已有提交结果判定任务快照是否可变;只更新可变任务,保留审批中、已审批或已有执行结果任务的原快照。
6、s104:可编辑任务保存巡检结果时,按照预计开始时点刷新版本快照,生成有效检查项集合,并把检查标准、内容、方法、类型及选项写入结果内容快照。
7、s105:提交审批前比较已答检查项集合与目标版本有效检查项集合;若存在无效检查项或必填项缺失,终止提交,避免把旧答案绑定至新版本。
8、s106:校验通过后,以任务标识、预期旧版本快照和可变审批状态作为更新条件,在同一条件更新中写入目标版本快照与冻结状态;受影响行数不为一时回滚并提示刷新。
9、s107:审批、异常项查询及历史结果复现均使用冻结版本快照和检查项内容快照;审批退回后重新按照预计开始时点匹配版本,并在再次提交时重新校验。
10、作为优选,所述的检查对象业务键包括检查对象类型以及与所述检查对象类型对应的仓库标识或物资类别编码;新检查清单版本的版本标识依据相同检查对象业务键下最后发布的版本标识递增生成,而不依据尚未到达的未来生效时点改变版本递增基准。
11、选择所述目标检查清单版本包括:过滤生效时点晚于所述预计开始时点的检查清单版本;对剩余检查清单版本按照生效时点降序排列;当至少两个检查清单版本具有相同生效时点时,按照版本标识降序排列;选择排序后的首个检查清单版本作为所述目标检查清单版本。
12、在新检查清单版本审批发布后,依据所述检查对象业务键查找关联巡检计划和关联巡检任务;仅当关联巡检任务的预计开始时点不早于新检查清单版本的生效时点,且关联巡检任务的审批状态为空、草稿或退回状态时,将关联巡检任务确定为快照可变任务;审批中、审批通过或已经产生提交结果的关联巡检任务保持原版本快照。
13、对快照可变任务更新版本快照包括:按照每一快照可变任务各自的预计开始时点重新选择对应的目标检查清单版本;从该快照可变任务的当前版本快照中仅替换与所述检查对象业务键对应的版本标识,并保留其他检查对象对应的版本标识。
14、当巡检计划的检查范围发生变化时,更新未完成且快照可变的巡检任务的范围快照;当巡检计划的时间窗口发生变化时,重建尚未开始的巡检任务,并保留进行中、审批中或已审批的巡检任务,以避免在相同时间槽重复生成巡检任务。
15、所述提交审批前的校验包括:根据所述目标检查清单版本生成有效检查项标识集合;从已保存巡检答案中提取已答检查项标识集合;判断已答检查项标识集合是否为有效检查项标识集合的子集并判断目标检查清单版本的必填检查项是否完整;任一判断不满足时,终止提交并返回检查清单版本已变化的冲突信息。
16、作为优选,所述条件更新的更新条件至少包括:巡检任务标识等于待提交巡检任务标识、当前版本快照等于所述预期旧版本快照、当前审批状态属于所述预设可变审批状态;当受影响记录数不为一时,回滚当前提交事务并指示客户端重新读取巡检任务。
17、保存巡检答案时还将检查标准、检查内容、检查方法、检查类型和候选选项写入检查项内容快照;提交后进行异常项判定和历史结果显示时读取所述检查项内容快照,而不读取可变的检查清单当前定义。
18、巡检任务被审批退回后,根据该巡检任务的预计开始时点重新匹配目标检查清单版本;在再次提交前重新执行已答检查项集合与有效检查项集合的校验,且仅在校验通过时生成新的审批流程实例。
19、一种基于生效时点匹配及原子快照冻结的巡检任务控制系统,包括:检查清单版本管理模块,用于建立具有检查对象业务键、版本标识、生效时点和审批发布状态的检查清单版本记录;生效时点匹配模块,用于以巡检任务预计开始时点为匹配时点,确定不晚于该匹配时点且最接近的目标检查清单版本;可变任务快照同步模块,用于仅对满足预计开始时点条件和审批状态条件的巡检任务更新版本快照;检查项及答案校验模块,用于在提交审批前校验已答检查项集合属于目标检查清单版本的有效检查项集合;原子快照冻结模块,用于基于巡检任务标识、预期旧版本快照和可变审批状态执行条件更新,以原子方式写入目标检查清单版本的版本快照和快照冻结状态;以及冻结快照查询模块,用于在审批及结果查询时读取冻结的版本快照和检查项内容快照。
20、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于生效时点匹配及原子快照冻结的巡检任务控制方法。
21、本发明具有以下有益效果:
22、1.任务版本由预计执行时点决定,而不是由用户打开页面或服务器当前时间决定,能够稳定处理未来生效版本和跨时段计划。
23、2.通过可变性分层,只同步尚未冻结的任务,避免计划调整或新版本发布覆盖正在执行、审批或已经归档的结果。
24、3.通过提交前集合校验阻止新检查清单与旧答案错配,使检查项、答案及版本标识形成可验证的一致关系。
25、4.通过带预期旧快照和审批状态的条件更新,在一个数据库原子操作中完成快照与冻结状态写入,阻止并发重复提交和旧页面覆盖新版本。
26、5.通过结果内容快照保留检查标准、方法及选项,历史结果不依赖可变主数据即可复现,减少重复计算和审计歧义。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com