CN113986323A - 数据更新方法、装置及计算机可读存储介质 - Google Patents
数据更新方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113986323A CN113986323A CN202111224140.3A CN202111224140A CN113986323A CN 113986323 A CN113986323 A CN 113986323A CN 202111224140 A CN202111224140 A CN 202111224140A CN 113986323 A CN113986323 A CN 113986323A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- target
- change data
- updating
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据更新方法、装置及计算机可读存储介质。本申请提供的数据更新方法包括:获取初始变更数据;根据所述初始变更数据、预设的关联规则信息得到目标变更数据;所述关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;根据所述关联规则信息更新所述目标变更数据;以所述初始变更数据为源节点、所述目标变更数据为目标节点构建数据联动有向图。本申请提供的数据更新方法保证了数据一致性,提高了数据更新的效率。
Description
技术领域
本申请涉及但不限于计算机领域,尤其是涉及一种数据更新方法、装置及计算机可读存储介质。
背景技术
一个低代码开发平台会包含很多类型的字段,其中一部分基础类型字段是直接填写数据,还一些高级类型的字段是不需要填写全部通过计算得出,并且其中很多计算是需要跨表处理的。低代码平台中存在几种计算型的字段包括计算公式、关联汇总、关联引用,上述字段值需要实时计算,当影响该计算值的字段变化时也会产生动态变化。除了计算公式、关联汇总、关联引用三个字段之外,数据的变更还可以触发工作流,工作流中可以配置数据的新增、删除、修改等操作,从而影响计算公式、关联汇总、关联引用的计算。
关联汇总,公式计算,关联引用,工作流这几个功能模块是相互影响的关系,这种影响关系形成一个复杂的网状结构,网状结构用程序表现出来可能存在很多的循环,使得数据更新的效率较低。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种数据更新方法、装置及计算机可读存储介质,能够保证数据一致性,并提高数据更新的效率。
本申请第一方面实施例提供一种数据更新方法,包括:获取初始变更数据;根据所述初始变更数据、预设的关联规则信息得到目标变更数据;所述关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;根据所述关联规则信息更新所述目标变更数据;以所述初始变更数据为源节点、所述目标变更数据为目标节点构建数据联动有向图。
根据本申请实施例的数据更新方法,至少具有如下技术效果:本申请提供的数据更新方法,获取初始变更数据,根据初始变更数据和预设的关联规则信息得到目标变更数据,再根据关联规则信息更新目标变更数据,避免了在数据联动更新过程中的循环引用问题,提升了数据的可维护性和可读性,保证了数据一致性,提高了数据更新的效率,完成更新后,以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图,对更新过程进行记录,进一步提高了对更新过程的管理和追溯能力。
根据本申请的一些实施例,所述根据所述初始变更数据、预设的关联规则信息得到目标变更数据,包括:获取所述工作流信息中的目标字段;根据所述目标字段得到目标变更数据。
根据本申请的一些实施例,所述根据所述关联规则信息更新所述目标变更数据,包括:根据所述工作流信息得到工作流程序;执行所述工作流程序,以更新所述目标变更数据。
根据本申请的一些实施例,所述方法还包括:获取目标变更数据的键值;若所述键值在预设的更新记录信息中存在,则输出循环更新告警信息。
根据本申请的一些实施例,所述获取目标变更数据的键值,包括:获取所述目标变更数据的表单编号信息;获取所述目标变更数据的表内位置信息,所述表内位置信息包括记录唯一标识、字段编码信息;根据所述表单编号信息、表内位置信息生成所述目标变更数据的键值。
根据本申请的一些实施例,所述方法还包括:获取所述计算公式信息;根据所述计算公式信息得到待计算字段信息;若所述待计算字段信息被删除,则输出字段删除告警信息。
根据本申请的一些实施例,所述获取初始变更数据,包括:获取原始业务数据;对所述原始业务数据进行变更检测,得到初始变更数据。
本申请第二方面实施例提供了一种数据更新装置,包括:初始变更数据获取模块,用于获取初始变更数据;目标变更数据查找模块,用于根据所述初始变更数据、预设的关联规则信息得到目标变更数据;所述关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;更新模块,用于根据所述关联规则信息更新所述目标变更数据;有向图构建模块,用于以所述初始变更数据为源节点、所述目标变更数据为目标节点构建数据联动有向图。
本申请第三方面实施例提供了一种数据更新装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:本申请上述第一方面实施例的数据更新方法。
根据本申请第四方面实施例的计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行上述第一方面实施例所述的数据更新方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过申请的实践了解到。
附图说明
下面结合附图和实施例对本申请做进一步的说明,其中:
图1是本申请一个实施例提供的数据更新方法的流程图;
图2是图1中的步骤S120的流程图;
图3是图1中的步骤S130的流程图;
图4是本申请另一个实施例提供的数据更新方法的流程图;
图5是图4中的步骤S410的流程图;
图6是本申请又一个实施例提供的数据更新方法的流程图;
图7是图1中的步骤S110的流程图;
图8是本申请一个实施例提供的数据更新系统的结构示意图。
附图标记:公式计算模块810、关联汇总模块820、关联引用模块830,工作流模块840、联动更新模块850。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本申请的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请中的具体含义。
本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本申请的描述中,除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本申请中涉及的若干名词进行解析:
低代码开发平台(Low-Code Development Platform,LCDP)是无需编码或通过少量代码就可以快速生成应用程序的开发平台,通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序;低代码开发平台允许终端用户使用易于理解的可视化工具开发自己的应用程序,而不是传统的编写代码方式,具备构建业务流程、逻辑和数据模型等所需的功能,必要时还可以添加自己的代码;完成业务逻辑、功能构建后,即可一键交付应用并进行更新,自动跟踪所有更改并处理数据库脚本和部署流程,实现在IOS,Android,Web等多个平台上的部署;低代码开发平台使得更多的人可以参与到应用程序开发当中,不仅是具有专业编程能力的程序员,非技术背景的业务人员同样可以构建应用;对于大型企业来讲,低代码开发平台还可以降低IT团队培训、技术部署的初始成本。
工作流(Workflow),是业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述,在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分,而计算机支持的协同工作是普遍地研究一个群体如何在计算机的帮助下实现协同工作的;工作流解决的问题是为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。工作流是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流的实施需要三个基本步骤:映射、建模和管理,其中,映射的首要任务是确定并且文档化组织内全部现有的手工和自动化的业务流程;建模则是开发一个有助于建成流线型业务过程的模型,软件实施以及跨越全部工作部门、业务单元甚至是整个企业的无缝系统集成;为了确保工作流系统能够无缝地实施到组织机构中,项目组都必须遵从已经定义好的、经过实践确认的行之有效的工作方法,并且在每个工作阶段都必须有可以度量的结果,一个深思熟虑的实施计划被有经验的团队执行,是成功地采用和实施工作流的决定因素。
四叉树,是一种树状数据结构,在每一个节点上会有四个子区块,四叉树常应用于二维空间数据的分析与分类,四叉树将数据区分成为四个象限,四叉树的数据范围可以是方形或矩形或其他任意形状。四叉树是在二维图片中定位像素的唯一适合的算法。因为二维空间中平面像素可以重复的被分为四部分,因此树的深度由图片、计算机内存和图形的复杂度决定。四叉树可以用来在数据库中放置和定位文件,通过不停的把要查找的记录分成4部分来进行匹配查找直到仅剩下一条记录为止。四叉树的特点在于可分解成为各自的区块,每个区块都有节点容量;当节点达到最大容量时,节点分裂;树状数据结构依造四叉树法加以区分。四叉树可以用他们数据形态的表示法来作分类,数据形态的项目有区域、点、直线及曲线;四叉树也可以进行分类,不管树的形态是否独立于已处理过的排秩数据。
图,用于描述一组对象的结构,是离散数学的研究对象之一。在数据领域中,某些对象对在某种意义上是相关的,被对应于称为顶点的数学抽象,也称为节点或点,并且每个相关的顶点对都称为边,也称为链接或线。图形以图解形式描绘为顶点的一组点或环,并通过边的线或曲线连接,如果给图的每条边规定一个方向,那么得到的图称为有向图;在有向图中,与一个节点相关联的边有出边和入边之分;相反,边没有方向的图称为无向图;一个图如果任意两顶点之间只有一条边,在有向图中为两顶点之间每个方向只有一条边,边集中不含环,则称为单图。
深度优先算法(Depth-First-Search,DFS),是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先算法沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。深度优先遍历图的方法是,从图中某顶点v出发,访问顶点v;依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止。
广度优先搜索(Breadth First Search,BFS),又称广度优先搜索,是最简便的图的搜索算法之一,广度优先搜索是很多重要的图的算法的原型,比如,Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。广度优先搜索属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果,广度优先搜索并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。BFS并不使用经验法则算法,从算法的观点,所有因为展开节点而得到的子节点都会被加进一个先进先出的队列中,一般的实验里,邻居节点尚未被检验过的节点会被放置在一个被称为open的容器中,而被检验过的节点则被放置在被称为closed的容器中。
计算公式(Formula),是低代码平台中存在的一种计算型的字段,用于对某几个字段组合的表达的计算。
关联汇总(Rollup),是低代码平台中存在的另一种计算型的字段,用于对另一个数据表的关联记录的某个字段的汇总,比如:产品表看到销售记录的销售总额
关联引用(Lookup),是低代码平台中存在的另一种计算型的字段,用于对另一个数据表的关联记录的某个字段的引用。
栈(Stack),又名堆栈,是一种运算受限的线性表,限定仅在表尾进行插入和删除操作的线性表,表尾一端被称为栈顶,相对地,另一端称为栈底;向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表,栈按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据;栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
公海与私海,一种销售术语,公海内的资源就是企业内大家共享的客户资源,是可以被领取或者被分配的客户。对应的,平时被管理的数据都是私海客户。公海客户的来源可能是新获得的销售线索,也可能是从私海中被释放的客户。公海是企业管理客户线索的手段,企业通过线上推广、线下活动、大数据拓客等方式获得一批销售线索,销售人员就需要在公海中识别这些客户,攻克这些线索,领取潜在客户到私海中跟进,促进成单。
一个低代码开发平台会包含很多类型的字段,其中一部分基础类型字段是直接填写数据,还一些高级类型的字段是不需要填写全部通过计算得出,并且其中很多计算是需要跨表处理的。低代码平台中存在几种计算型的字段包括计算公式、关联汇总、关联引用,上述字段值需要实时计算,当影响该计算值的字段变化时也会产生动态变化。
除了计算公式、关联汇总、关联引用三个字段之外,数据的变更还可以触发工作流,工作流中可以配置数据的新增、删除、修改等操作,从而影响计算公式、关联汇总、关联引用的计算,当然关联汇总可以是对公式计算或引用字段的汇总,公式计算也可能有关联汇总和关联引用字段参与。
因此,关联汇总,公式计算,关联引用,工作流这几个功能模块是相互影响的关系,这种影响关系形成一个复杂的网状结构,网状结构用程序表现出来可能存在很多的循环,且有可能导致项目循环引用,可维护性和可读性较差,进而降低了数据更新的效率。
鉴于此,本申请提出了一种数据更新方法、装置及计算机可读存储介质,本申请提供的数据更新方法,获取初始变更数据,根据初始变更数据和预设的关联规则信息得到目标变更数据,再根据关联规则信息更新目标变更数据,避免了在数据联动更新过程中的循环引用问题,提升了数据的可维护性和可读性,保证了数据一致性,提高了数据更新的效率,完成更新后,以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图,对更新过程进行记录,进一步提高了对更新过程的管理和追溯能力。
本申请实施例提供一种数据更新方法,包括:获取初始变更数据;根据初始变更数据、预设的关联规则信息得到目标变更数据;关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;根据关联规则信息更新目标变更数据;以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图。
如图1所示,图1是一些实施例提供的数据更新方法的流程图,数据更新方法包括但不限于步骤S110至步骤S140,具体包括:
S110,获取初始变更数据;
S120,根据初始变更数据、预设的关联规则信息得到目标变更数据;
S130,根据关联规则信息更新目标变更数据;
S140,以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图。
在步骤S110中,对原始业务数据进行变更检测以得到初始变更数据,变更检测的目的是发现变更数据,并根据变更数据对整个业务数据进行更新,变更检测所采用的方法是,数据变化检测捕捉方法。
在步骤S120中,关联规则信息为在进行数据更新的过程中遵循的查找和更新规则,用于合理地、科学地、高效地完成整个数据更新的工作。关联规则信息包括但不限于:计算公式信息、关联汇总信息、关联引用信息,工作流信息。
在步骤S130中,关联规则信息包括但不限于工作流信息,根据工作流信息得到工作流程序,进而执行工作流程序,以更新目标变更数据。
在步骤S140中,借鉴四叉树和图的思想构建一个类四叉树有向图,以初始变更数据作为源节点,目标变更数据为目标节点,对更新过程进行记录,进一步提高了对更新过程的管理和追溯能力。
本申请提供的数据更新方法,获取初始变更数据,根据初始变更数据和预设的关联规则信息得到目标变更数据,再根据关联规则信息更新目标变更数据,避免了在数据联动更新过程中的循环引用问题,提升了数据的可维护性和可读性,保证了数据一致性,提高了数据更新的效率,完成更新后,以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图,对更新过程进行记录,进一步提高了对更新过程的管理和追溯能力。
根据本申请的一些实施例,关联规则信息包括工作流信息,根据初始变更数据、预设的关联规则信息得到目标变更数据,包括:获取工作流信息中的目标字段;根据目标字段得到目标变更数据。
图2是一些实施例中的步骤S120的流程图,图2示意的步骤S120包括但不限于步骤S210至步骤S220:
S210,获取工作流信息中的目标字段;
S220,根据目标字段得到目标变更数据。
在具体的实施例中,关联规则信息为在进行数据更新的过程中遵循的查找和更新规则,用于合理地、科学地、高效地完成整个数据更新的工作。关联规则信息包括但不限于:计算公式信息、关联汇总信息、关联引用信息,工作流信息。其中,工作流信息是根据不同类别的工作流触发不同的数据进行变更的规则信息,数据变更的类型包括但不限于新增、删除和更新。
在步骤S210中,工作流信息还至少包括一个目标字段,在执行工作流时,需要先获取与数据变更相关的目标字段,用于步骤S220中对根据目标字段查找到目标变更数据,进而用于后续的数据更新过程。
具体地,在公海客户信息处理功能中包含多个公海客户处理工作流,如公海操作分配客户流程,公海操作分配客户流程的目标字段包括但不限于企业实际规模信息、城市经理信息、销售经理信息、销售顾问信息、合伙人信息、前任销售员信息、所属部门信息、创建人信息等。
在步骤S220中,得到目标字段之后,根据上述的目标字段查找到目标字段对应的数据表单,从而获取目标变更数据,目标变更数据即为查找到的随工作流的执行而发生变更的待变更的数据。
具体地,当某个公海客户处理工作流被执行时,需要将公海数据中的客户信息分配给具体的销售员,则可以根据上述的目标字段查找到目标字段对应的数据表单,将对应的数据从公海中删除,并存入私海中,实现客户的分配过程。
根据本申请的一些实施例,根据关联规则信息更新目标变更数据,包括:根据工作流信息得到工作流程序;执行工作流程序,以更新目标变更数据。
图3是一些实施例中的步骤S130的流程图,图3示意的步骤S130包括但不限于步骤S310至步骤S320:
S310,根据工作流信息得到工作流程序;
S320,执行工作流程序,以更新目标变更数据。
在步骤S310中,工作流信息包括工作流操作类型,工作流操作类型即为待执行的工作流程序的类型。
具体地,在公海客户信息处理功能中包含多个公海客户处理工作流,如公海操作分配客户流程,公海操作分配客户流程的工作流操作类型包括但不限于销售人员领取客户类型、系统分配客户类型等。当操作者登录客户管理系统,在公海操作分配客户流程中选择操作字段,点击系统分配客户类型时,则公海操作分配客户流程被启动,系统根据系统分配客户类型在数据库中查询得到与之匹配的工作流程序,用于实现工作流的运行,并根据目标字段对目标变更数据进行更新。
在步骤S320中,执行工作流程序以实现工作流的运行,并根据目标字段对目标变更数据进行更新。具体地,当某个公海客户处理工作流被执行时,根据上目标字段查找到目标字段对应的数据表单,将对应的数据从公海中删除,并存入私海中,实现客户的分配过程。
根据本申请的一些实施例,方法还包括:获取目标变更数据的键值;若键值在预设的更新记录信息中存在,则输出循环更新告警信息。
如图4所示,图4是另一些实施例提供的数据更新方法的流程图,数据更新方法还包括:
S410,获取目标变更数据的键值;
S420,判断键值在预设的更新记录信息中是否存在;若判断结果为是,则执行步骤S430;若判断结果为否,则执行步骤S410。
S430,输出循环更新告警信息。
在步骤S410中,目标变更数据的键值,又叫做Key值,是目标变更数据的唯一标识。
具体地,首先获取目标变更数据的表单编号信息,获取目标变更数据的表内位置信息,表内位置信息包括记录唯一标识、字段编码信息,再根据表单编号信息、表内位置信息生成目标变更数据的键值,其中,目标变更数据为待更新的数据,表单编号信息为待更新数据所在表单的标号,表内位置信息为待更新数据所在表单中表征数据位置的信息。
在步骤S420中,每进行一次数据的更新之后,系统会将被更新的目标变更数据的键值保存至更新记录信息,更新记录信息用于判断键值是否重复,并根据判断结果输出告警信息。
在步骤S430中,若键值在预设的更新记录信息中存在,则输出循环更新告警信息。
在步骤S410至S430中,更新记录信息的存储方式包括但不限于栈。具体地,系统完成对更新环的检测过程,在深度优先遍历的一条链上,若栈中重复出现一个键值,则认为成环。因此,在深度优先遍历过程中更新数据时,需要把标识一个单元格的键值压入栈,然后执行数据节点的更新逻辑后再出栈,利用栈的后进先出特点,每次入栈前检查栈中是否存在相同的键值,若栈中已经存在相同的Key,则说明有循环更新,则输出循环更新告警信息,停止数据更新过程。
根据本申请的一些实施例,获取目标变更数据的键值,包括:获取目标变更数据的表单编号信息;获取目标变更数据的表内位置信息,表内位置信息包括记录唯一标识、字段编码信息;根据表单编号信息、表内位置信息生成目标变更数据的键值。
图5是一些实施例中的步骤S410的流程图,图5示意的步骤S410包括但不限于步骤S510至步骤S530:
S510,获取目标变更数据的表单编号信息;
S520,获取目标变更数据的表内位置信息;
S530,根据表单编号信息、表内位置信息生成目标变更数据的键值。
在具体的实施例,目标变更数据为待更新的数据。
在步骤S510中,表单编号信息为待更新数据所在表单的标号。
在步骤S520中,表内位置信息为待更新数据所在表单中表征数据位置的信息,表内位置信息包括记录唯一标识、字段编码信息,其中,记录唯一标识是待更新数据所在表中的记录编号(行编号);字段编码信息是待更新数据所在表中的低端编号(列编号)。
在步骤S530中,目标变更数据的键值,又叫做Key值,表征该目标变更数据的唯一标识,用于指定目标变更数据的更新过程。目标变更数据的键值的生成规则可有系统分配,也可自定义实时生成,在具体的实施例中,目标变更数据的键值为表单编码、记录唯一标识、字段编码的线性组合,键值结合了单元格数据的三个维度的特征,实现了对目标变更数据的指定,为后续的循环更新检查提供依据。
根据本申请的一些实施例,方法还包括:获取计算公式信息;根据计算公式信息得到待计算字段信息;若待计算字段信息被删除,则输出字段删除告警信息。
如图6所示,图6是又一些实施例提供的数据更新方法的流程图,数据更新方法还包括:
S610,获取计算公式信息;
S620,根据计算公式信息得到待计算字段信息;
S630,判断计算字段信息是否被删除;若判断结果为是,则执行步骤S640;若判断结果为否,则执行步骤S610。
S640,输出字段删除告警信息。
在步骤S610中,关联规则信息为在进行数据更新的过程中遵循的查找和更新规则,用于合理地、科学地、高效地完成整个数据更新的工作。关联规则信息包括但不限于:计算公式信息、关联汇总信息、关联引用信息,工作流信息。其中,计算公式信息为根据不同公式触发不同的数据进行变更的规则信息。
在步骤S620中,待计算字段信息为计算公式信息中的与公式计算过程相关的所有字段,如,采购订单中税额表中,采购订单中税额=采购明细表中的小计字段的值×税率,则采购订单中税额、采购明细表中的小计字段的值、税率三者皆为与公式计算过程相关的字段。
在步骤S630至S640中,检测计算字段信息是否被删除,因为字段被删除后使得公式计算过程出现错误,进而影响数据的更新过程,因此需要输出字段删除告警信息,停止数据更新过程。
需要说明的是,发现计算字段信息是否被删除等异常的目的是为保证数据一致性,以使整个联动更新过程包裹在一个事务里,要么全部更新成功,要么全部更新失败。比如,检测到有循环更新同一个字段,或者计算公式中的字段被删除了计算会报错,然后把数据回滚到数据更新前。
根据本申请的一些实施例,获取初始变更数据,包括:获取原始业务数据;对原始业务数据进行变更检测,得到初始变更数据。
图7是一些实施例中的步骤S110的流程图,图7示意的步骤S110包括但不限于步骤S710至步骤S720:
S710,获取原始业务数据;
S720,对原始业务数据进行变更检测,得到初始变更数据。
在步骤S710中,原始业务数据为未经数据变更的数据。
在步骤S720中,变更检测的目的是发现变更数据,并根据变更数据对整个业务数据进行更新,变更检测所采用的方法是,数据变化检测捕捉方法。
具体地,数据变化检测捕捉方法包括但不限于:(1)利用SQL Server、Oracle和其他系统提供的内置CDC工具或事务日志进行数据变更检测;(2)每当数据变化时使用触发器来触发变化行为进行数据变更检测;(3)通过比较时间戳行数据变更检测;(4)将整个数据库或表与历史版本进行对比行数据变更检测。数据变更的检测效果取决于源数据以及可用的信息和工具。
图8是一些实施例中的数据更新系统的结构示意图,数据更新系统包括:公式计算模块810、关联汇总模块820、关联引用模块830,工作流模块840、联动更新模块850,其中,联动更新模块850分别与公式计算模块810、关联汇总模块820、关联引用模块830,工作流模块840连接。
具体地,联动更新模块以变动的数据作为根节点,按公式计算、关联汇总、关联引用、工作流四种联动类型逐个类型查找对应影响的记录和单元格,不同的联动类型采用不同的策略查找相应的关联数据,然后把找到的记录作为联动数据节点,加入到图中,执行数据节点的逻辑进行更新,直到找不到联动数据节点,则表示联动过程结束。
数据更新系统通过添加一个独立的联动更新模块,专门处理数据间的联动,使模块间的关系从网状结构变成星型结构,避免了在数据联动更新过程中的循环引用问题,降低了系统的耦合度,提升了数据更新的效率。
需要说明的是,公式计算,关联汇总,关联引用,工作流这四个模块可以独立存在,也可以相互触发。比如,当有采购入库关联采购订单,并有关联的采购订单的税额汇总时,采购明细表中的采购数量,采购单价的值有变化会触发采购订单的税额的公式计算,然后再触发采购入库的税额汇总计算,其他类型以此类推,直到找不到相应的计算,整个过程就是构建树的过程,联动的层级越多,构建树的层级就越多。
下面以一个具体的实施例详细描述数据更新方法。值得理解的是,下述描述仅是示例性说明,而不是对申请的具体限制。
在公式计算模块的数据更新过程中,参与公式计算的字段的值存在变动则会触发公式计算。具体地,采购订单中税额=采购明细表中的小计字段的值×税率,其中,小计=采购数量×采购单价。因此,存在以下几种场景会触发更新:当采购明细表中的采购数量,采购单价的值有变化,对应采购订单中的税额会重新计算;当采购订单中的税率有变化,对应行的税额会重新计算;当采购订单中的税额的公式有变化,采购订单表中所有的税额都会从新计算。
在关联汇总模块的数据更新过程中,一个数据表的记录可能关联多条另一个表的记录,关联汇总是对关联的记录的某个字段的汇总。具体地,采购订单与付款单相关联,采购订单的已付款金额=付款单中的付款金额汇总,所以存在一下几种场景会触发更新:当采购订单中关联的多条付款单中的任意一条记录的付款金额发生变化,采购订单中该条记录的已付款金额会重新计算;当采购订单中新增关联一条付款单,采购订单中该条记录的已付款金额会重新计算;当采购订单中作废关联一条付款单,采购订单中该条记录的已付款金额会重新计算;当采购订单中已付款金额的汇总方式发生变化,采购订单中的所有已付款金额会重新计算。
在关联引用模块的数据更新过程中,一个数据表的记录可能关联一条另一个表的记录,关联引用是对关联的记录的某个字段的值的引用。具体地,库存表与产品表相关联,因此库存表中的产品规格、产品名称是从产品表中的产品规格,产品名称引用而来。所以存在一下几种场景会触发更新:当产品表中的产品规格,产品名称发生变化,库存表中的产品规格,产品名称相应发生变化;当.库存表记录中更新关联的产品,库存表中的产品规格,产品名称相应发生变化;当库存表记录中删除了关联的产品,库存表中的产品规格,产品名称相应发生变化;当库存表的产品规格,产品名称修改为引用产品表的其他字段,库存表中的产品规格,产品名称相应发生变化。
在工作流模块的数据更新过程中,变更或新增一条数据可以触发对应的工作流。具体地,在项目管理中,项目计划会拆分成很多的项目任务,项目成员每天会进行任务汇报,配置了两个工作流:(1)提交任务汇报时可以通过工作流更新项目任务的状态;(2)任务汇报修改时,把任务汇报的状态更新到对应的项目任务的状态,所以,以下三个场景会触发工作流:当新增任务汇报数据时;当删除任务汇报数据时;当编辑任务汇报数据时。
本申请提供的数据更新方法,根据联动节点的动态查找,借鉴四叉树和图的思想构建一个类四叉树有向图,以变动的数据作为根节点,联动类型节点固定是四种联动类型,每个类型查找相关影响的数据,联动数据节点无固定分支数,方向由上到下,查找的过程是使用深度优先算法动态构建这样一个数据结构的过程,当不能再构建对应的子节点时表示联动结束,完成数据更新的全部过程。
需要说明的是,在更新过程中,本申请提供的数据更新方法使用了深度优先遍历的思想。使用深度优先和使用广度优先的方法的复杂度是一样的,但由于每个节点的分支都是需要动态计算,比较符合深度优先的算法,用递归实现可读性好,广度优先也可以实现,但需要创建一个队列记录未访问过的节点,占用内存较多,代码可读性会差些,因此选用深度优先算法,减低了数据更新过程的数据资源和处理器资源的消耗。
本申请实施例提供了一种数据更新装置,包括:初始变更数据获取模块,用于获取初始变更数据;目标变更数据查找模块,用于根据初始变更数据、预设的关联规则信息得到目标变更数据;关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;更新模块,用于根据关联规则信息更新目标变更数据;有向图构建模块,用于以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图。
本申请提供的数据更新装置实现了数据更新方法,获取初始变更数据,根据初始变更数据和预设的关联规则信息得到目标变更数据,再根据关联规则信息更新目标变更数据,避免了在数据联动更新过程中的循环引用问题,提升了数据的可维护性和可读性,保证了数据一致性,提高了数据更新的效率,完成更新后,以初始变更数据为源节点、目标变更数据为目标节点构建数据联动有向图,对更新过程进行记录,进一步提高了对更新过程的管理和追溯能力。
本申请实施例提供了一种数据更新装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现:本申请上述任一实施例的数据更新方法。
根据本申请实施例的计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于:执行上述任一实施例的数据更新方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。此外,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
Claims (10)
1.数据更新方法,其特征在于,包括:
获取初始变更数据;
根据所述初始变更数据、预设的关联规则信息得到目标变更数据;所述关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;
根据所述关联规则信息更新所述目标变更数据;
以所述初始变更数据为源节点、所述目标变更数据为目标节点构建数据联动有向图。
2.根据权利要求1所述的数据更新方法,其特征在于,所述根据所述初始变更数据、预设的关联规则信息得到目标变更数据,包括:
获取所述工作流信息中的目标字段;
根据所述目标字段得到目标变更数据。
3.根据权利要求2所述的数据更新方法,其特征在于,所述根据所述关联规则信息更新所述目标变更数据,包括:
根据所述工作流信息得到工作流程序;
执行所述工作流程序,以更新所述目标变更数据。
4.根据权利要求1所述的数据更新方法,其特征在于,所述方法还包括:
获取目标变更数据的键值;
若所述键值在预设的更新记录信息中存在,则输出循环更新告警信息。
5.根据权利要求4所述的数据更新方法,其特征在于,所述获取目标变更数据的键值,包括:
获取所述目标变更数据的表单编号信息;
获取所述目标变更数据的表内位置信息,所述表内位置信息包括记录唯一标识、字段编码信息;
根据所述表单编号信息、表内位置信息生成所述目标变更数据的键值。
6.根据权利要求1至5任一项所述的数据更新方法,其特征在于,所述方法还包括:
获取所述计算公式信息;
根据所述计算公式信息得到待计算字段信息;
若所述待计算字段信息被删除,则输出字段删除告警信息。
7.根据权利要求1至5任一项所述的数据更新方法,其特征在于,所述获取初始变更数据,包括:
获取原始业务数据;
对所述原始业务数据进行变更检测,得到初始变更数据。
8.数据更新装置,其特征在于,包括:
初始变更数据获取模块,用于获取初始变更数据;
目标变更数据查找模块,用于根据所述初始变更数据、预设的关联规则信息得到目标变更数据;所述关联规则信息包括计算公式信息、关联汇总信息、关联引用信息、工作流信息;
更新模块,用于根据所述关联规则信息更新所述目标变更数据;
有向图构建模块,用于以所述初始变更数据为源节点、所述目标变更数据为目标节点构建数据联动有向图。
9.数据更新装置,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:
如权利要求1至7任一项所述的数据更新方法。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于:
执行权利要求1至7任一项所述的数据更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224140.3A CN113986323A (zh) | 2021-10-19 | 2021-10-19 | 数据更新方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224140.3A CN113986323A (zh) | 2021-10-19 | 2021-10-19 | 数据更新方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986323A true CN113986323A (zh) | 2022-01-28 |
Family
ID=79739754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111224140.3A Pending CN113986323A (zh) | 2021-10-19 | 2021-10-19 | 数据更新方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986323A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637528A (zh) * | 2022-05-07 | 2022-06-17 | 太平金融科技服务(上海)有限公司深圳分公司 | 资源更新方法、装置、计算机设备、存储介质和程序产品 |
CN114862436A (zh) * | 2022-03-14 | 2022-08-05 | 山东浪潮通软信息科技有限公司 | 一种数据预测分析方法、装置、设备及介质 |
CN116932008A (zh) * | 2023-09-12 | 2023-10-24 | 湖南速子文化科技有限公司 | 虚拟社会模拟的组件数据更新方法、装置、设备及介质 |
-
2021
- 2021-10-19 CN CN202111224140.3A patent/CN113986323A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114862436A (zh) * | 2022-03-14 | 2022-08-05 | 山东浪潮通软信息科技有限公司 | 一种数据预测分析方法、装置、设备及介质 |
CN114637528A (zh) * | 2022-05-07 | 2022-06-17 | 太平金融科技服务(上海)有限公司深圳分公司 | 资源更新方法、装置、计算机设备、存储介质和程序产品 |
CN114637528B (zh) * | 2022-05-07 | 2022-08-30 | 太平金融科技服务(上海)有限公司深圳分公司 | 资源更新方法、装置、计算机设备、存储介质和程序产品 |
CN116932008A (zh) * | 2023-09-12 | 2023-10-24 | 湖南速子文化科技有限公司 | 虚拟社会模拟的组件数据更新方法、装置、设备及介质 |
CN116932008B (zh) * | 2023-09-12 | 2023-12-08 | 湖南速子文化科技有限公司 | 虚拟社会模拟的组件数据更新方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113986323A (zh) | 数据更新方法、装置及计算机可读存储介质 | |
JP5705307B2 (ja) | 動的適応型プロセス発見及び遵守 | |
US9280581B1 (en) | Method and system for determination of data completeness for analytic data calculations | |
US8340995B2 (en) | Method and system of using artifacts to identify elements of a component business model | |
KR101639292B1 (ko) | 데이터 요소 사이의 관계를 시각화하는 방법 | |
JP2020024711A (ja) | データ系統の要約 | |
US20140025420A1 (en) | Simultaneous micro space and assortment optimization for products | |
CN106293928A (zh) | 一种全局任务节点依赖关系可视化方法、装置和系统 | |
CN107248052A (zh) | 一种商品库存信息确定方法、装置及系统 | |
JP2018536909A (ja) | 表形式データから、多次元データベース環境に使用されるキューブスキーマを自動的に推論するためのシステムおよび方法 | |
US20220058499A1 (en) | Multidimensional hierarchy level recommendation for forecasting models | |
US20090094007A1 (en) | System for defining simulation model | |
Molka et al. | Conformance checking for BPMN-based process models | |
M’baba et al. | Process mining for artifact-centric blockchain applications | |
CN108416610B (zh) | 用户历史反馈信息形成方法及广告投放频次控制方法 | |
JP2005242904A (ja) | 文書群分析装置、文書群分析方法、文書群分析システム、プログラムおよび記録媒体 | |
JP2017054487A (ja) | 分布クエリに対してビジネスデータを融合するための方法及びシステム | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
US20080027966A1 (en) | Dynamic creation of star-schema database structures and cubes | |
US20160148291A1 (en) | Infeasibility Management in E-Sourcing Systems | |
CN115718752A (zh) | 一种单据追踪方法、设备及介质 | |
US20140149186A1 (en) | Method and system of using artifacts to identify elements of a component business model | |
CN113934729A (zh) | 一种基于知识图谱的数据管理方法、相关设备及介质 | |
CN112837026A (zh) | 一种交付物循环依赖的分析方法、装置、设备及存储介质 | |
CN104462165A (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 |