CN114297187A - 一种双重数据校验方法及系统 - Google Patents
一种双重数据校验方法及系统 Download PDFInfo
- Publication number
- CN114297187A CN114297187A CN202111654608.2A CN202111654608A CN114297187A CN 114297187 A CN114297187 A CN 114297187A CN 202111654608 A CN202111654608 A CN 202111654608A CN 114297187 A CN114297187 A CN 114297187A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- data structure
- check
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种双重数据校验方法及系统,包括对所述数据处理模型中每一节点按照节点类型分别配置对应的第一校验规则和第二校验规则;逐一配置所述数据处理模型的节点,并在配置完一节点后同步调用所述节点的第一校验规则对该节点的计算逻辑进行校验;获取所述数据处理模型各节点的数据结构信息,并调用第二校验规则对相应节点的数据结构信息进行校验,通过第一校验规则和第二校验规则的双重校验,可实现数据处理模型配置完即校验完,可节约大量的校验时间,有利于提高校验效率。
Description
技术领域
本发明涉及工业互联网平台数据处理技术领域,特别是涉及一种双重数据校验方法及系统。
背景技术
数据分析有利于业务主体对其业务过程进行完善和改进,而数据分析依赖于数据处理模型进行,数据处理模型可按照一定的配置规则配置节点以建立特定的数据处理规则对业务数据进行分析。
目前,在数据处理模型配置过程中,由于未进行同步的数据校验,当存在异常节点时,需对所有节点进行逐一排查修正,排查难度较大,甚至可能出现在节点修正后,导致后续节点的配置不符合配置规则的问题。
发明内容
有鉴于此,本发明的目的在于提供一种双重数据校验方法及系统,以解决现有技术中由于数据处理模型的配置和数据校验不同造成的节点配置错误的问题。
为达到上述目的,本发明的第一方面提供一种双重数据校验方法,具体包括以下步骤:
S1:基于数据处理模型,对所述数据处理模型中每一节点按照节点类型分别配置对应的第一校验规则和第二校验规则;
S2:逐一配置所述数据处理模型的节点,并在配置完一节点后同步调用所述节点的第一校验规则对该节点的计算逻辑进行校验;
S3:获取所述数据处理模型各节点的数据结构信息,并调用第二校验规则对相应节点的数据结构信息进行校验。
进一步的,在步骤S1中,所述数据处理模型包括至少一个输入节点和一个输出节点以及至少一个连接所述输入节点和输出节点的处理节点;所述输入节点用于输出原始数据;所述处理节点用于接收输入节点和/或其前一处理节点流出的数据并按照设置的数据处理规则对数据进行处理,然后将处理后的数据流向其后一处理节点或输出节点,所述数据处理规则至少包括字段设置、筛选过滤、分组汇总和横向连接;所述输出节点用于接收并输出处理节点流出的数据。
进一步的,定义依次连接输入节点、处理节点和输出节点的连线两端的节点分别为上游节点和下游节点,使所述输入节点、处理节点和输出节点形成一数据由上游节点沿连线流向下游节点的数据流,所述步骤S2的具体步骤包括:
S201:基于用户的请求,配置一上游节点;
S202:对所述上游节点配置对应的下游节点及该上游节点与下游节点之间的连接关系;
S203:调用所述上游节点对应的第一校验规则对该上游节点的计算逻辑进行校验,并判断所述上游节点的计算逻辑是否校验成功,若校验成功,则跳转执行步骤S204,否则跳转执行步骤S205;
S204:判断所述下游节点是否为输出节点,若是,则结束校验,否则,将所述下游节点视为一新的上游节点返回执行步骤S202;
S205:对所述连接关系或对应的下游节点进行报错,并清除所述下游节点和/或其与上游节点之间的连接关系后返回执行步骤S202。
进一步的,在步骤S201中,配置所述上游节点的具体方法为:
配置一输入节点形成所述上游节点,并对所述输入节点配置节点唯一标识及其对应的数据结构信息;
在步骤S202中,配置所述下游节点的具体方法为:
配置一处理节点或输出节点形成所述下游节点,并对所述处理节点或输出节点分别配置节点唯一标识及其对应的数据结构信息。
进一步的,在步骤S203中,利用所述第一检验规则对上游节点进行计算逻辑校验的具体方法为:
S2031:判断所述上游节点是否为输入节点且下游节点是否为输出节点,若不是,则继续执行步骤S2032,否则跳转执行步骤S205;
S2032:判断输出节点的数量是否小于或等于一个,若是,则继续执行步骤S2033,否则跳转执行步骤S205;
S2033:判断所述上游节点是否为孤立节点,若不是,则继续执行步骤S2034,否则跳转执行步骤S205;
S2034:判断所述上游节点与下游节点是否为同类型节点,若不是,则继续执行步骤S2035,否则跳转执行步骤S205;
S2035:判断所述上游节点与下游节点之间是否符合用户自定义的连接限制规则,若符合,则校验成功,否则跳转执行步骤S205。
进一步的,所述输入节点、处理节点和输出节点的数据结构信息均包括共性数据结构和个性数据结构,所述共性数据结构为所述输入节点、处理节点和输出节点共有,所述共性数据结构至少包括输出字段集合;所述个性数据结构为所述输入节点、处理节点和输出节点特有。
进一步的,所述步骤S3的具体步骤包括:
S301:获取数据处理模型中输入节点、处理节点以及输出节点对应的节点唯一标识;
S302:判断所述节点唯一标识与所述节点是否一一对应,若不是,则继续执行步骤S303,否则跳转执行步骤S304;
S303:对所述节点唯一标识进行报错,并对不存在对应关系的节点配置节点唯一标识后返回执行步骤S301;
S304:通过所述节点唯一标识获取对应节点的数据结构信息形成数据结构集合;
S305:选择所述数据结构集合中任一节点的数据结构信息,调用该节点对应的第二校验规则对其数据结构信息进行校验,若校验成功,则将该节点对应的数据结构信息从所述数据结构集合中移除后继续执行步骤S306,否则,跳转执行步骤S307;
S306:判断所述数据结构集合是否为空,若为非空,则返回执行步骤S305,否则结束校验;
S307:对所述数据结构信息进行报错,修改所述节点的数据结构信息并将修改后的数据结构信息返回所述数据结构集合中覆盖该节点原始数据结构信息,然后执行步骤S305。
进一步的,在步骤S305中,利用所述第二校验规则对所述数据结构信息进行校验的具体方法为:
S3051:判断所述节点的数据结构信息中对应数据结构的值是否为空,若不为空,则继续执行步骤S3052,否则跳转执行步骤S307;
S3052:判断所述输出字段集合是否属于其对应上游节点的输出字段集合的并集,若属于,则校验成功,继续执行步骤S3053,否则跳转执行步骤S307;
S3053:将所述节点对应的数据结构信息从所述数据结构集合中移除。
本发明的第二方面提供一种双重数据校验系统,包括:
数据处理模型,用于对输入的数据按照设置的数据处理规则进行处理后输出,所述数据处理模型包括至少一个输入节点、一个输出节点和至少一个连接所述输入节点和输出节点的处理节点;
校验规则数据库,用于分类存储每一类型节点对应的第一校验规则和第二校验规则;以及
校验模块,用于执行上述双重数据校验方法。
进一步的,所述校验模块包括:
校验规则配置子模块,用于根据数据处理要求分别配置所述输入节点、处理节点和输出节点对应的第一校验规则和第二校验规则并存储于所述校验规则数据库中;
节点配置子模块,用于根据用户的请求,逐一配置输入节点、处理节点和输出节点;
第一校验子模块,用于根据所述节点配置子模块的配置流程,在每一节点配置完成后获取所述节点间的连接关系,并调用对应的第一校验规则对相应节点的计算逻辑进行校验,并在校验失败时,生成一第一修正指令;
第二校验子模块,用于获取每一节点的数据结构信息,并调用对应的第二校验规则对相应节点的数据结构信息进行校验,并在校验失败时,生成一第二修正指令;
修正与更新子模块,用于接收所述第一修正指令和第二修正指令,并对校验失败的节点及其连接关系或数据结构信息进行修正后,反向传递至对应的第一校验子模块或第二校验子模块中,更新原始节点及其连接关系或数据结构信息;以及
提示子模块,用于接收所述第一修正指令和第二修正指令,并按预设规则显示对应的提示语。
本发明利用第一校验规则对数据处理模型在配置过程中同步进行计算逻辑的校验,对节点边配置边校验,可及时发现计算逻辑上的配置错误,以便于及时纠正,同时能够避免在数据处理模型配置完成后配置错误大规模的排查,有利于节省时间,提高校验效率;同时,利用第二校验规则对数据处理模型的数据结构进行整体校验,可确保每一节点的数据结构信息中均配置有对应的值,在第一校验规则和第二校验规则的双重校验下,可确保数据处理结果的准确性。
附图说明
图1为本发明实施例1的一种双重数据校验方法的流程图。
图2为图1中步骤S2的流程图。
图3为图2中步骤S203的流程图。
图4为图1中步骤S3的流程图。
图5为图4中步骤S305的流程图。
图6为本发明实施例2的一种双重数据校验系统的系统框图。
具体实施方式
下面通过具体实施方式进一步详细说明:
本发明通过配置第一校验规则和第二校验规则,并逐步配置数据处理模型的输入节点、处理节点和输出节点,在配置节点的同时,每完成一次节点配置,即调用一次第一校验规则对该节点的上游节点进行校验,可及时检查出节点配置过程中的计算逻辑错误,从而及时对错误的节点进行修正;数据处理模型配置完成后,获取节点的节点唯一标识及其对应的数据结构信息,调用第二校验规则对节点的数据结构信息对应的值进行校验,可检查出该节点是否配置完成,以确保数据处理结果的准确性。
实施例1
如图1所示,为本实施例的双重数据校验方法的流程图。本实施例包括以下步骤:
S1:基于数据处理模型,配置第一校验规则和第二校验规则。
具体的,基于数据处理模型,对所述数据处理模型中每一节点按照节点类型分别配置对应的第一校验规则和第二校验规则;所述第一校验规则用于对节点的计算逻辑进行校验,所述第二校验规则用于对节点的数据结构信息进行校验。
在本实施例中,所述数据处理模型包括至少一个输入节点和一个输出节点以及至少一个连接所述输入节点和输出节点的处理节点。在配置节点的第一校验规则和第二校验规则时,需对输入节点、输出节点和处理节点分别配置对应的第一校验规则和第二校验规则。所述输入节点用于向数据处理模型输出原始数据;所述处理节点用于接收输入节点和/或配置在其前面的处理节点流出的数据,并按照设置的数据处理规则对流入处理节点的数据进行处理,然后将处理后的数据流向配置在其后的处理节点或输出节点,在本实施例中,所述数据处理规则包括但不限于字段设置、筛选过滤、分组汇总和横向连接等;所述输出节点用于接收并输出处理节点流出的数据。
S2:配置数据处理模型的节点,并同步对节点的计算逻辑进行校验。
具体的,逐一配置所述数据处理模型的输入节点、处理节点和输出节点,并在配置完一输入节点、处理节点或输出节点后同步调用对应节点的第一校验规则对该节点的计算逻辑进行校验。在本实施例中,定义依次连接输入节点、处理节点和输出节点的连线两端的节点分别为上游节点和下游节点,使所述输入节点、处理节点和输出节点形成一数据由上游节点沿连线流向下游节点的数据流。
利用第一校验规则对所述数据流进行校验时,包含有至少两个校验循环,在一个校验循环中,包含有一个上游节点、一个下游节点和一个连接上游节点与下游节点的连接关系。以一个输入节点、一个处理节点以及一个输出节点的简单数据处理模型为例,在该数据处理模型中包含两个校验循环,其中一个校验循环为:输入节点(即上游节点)、处理节点(即下游节点)以及输入节点与处理节点之间的连接关系;另一校验循环为:处理节点(即上游节点)、输出节点(即下游节点)以及处理节点与输出节点之间的连接关系;由此,所述输入节点仅能作为上游节点,所述输出节点仅能作为下游节点,而所述处理节点在一个校验循环中可能为一上游节点,在另一校验循环中又可作为下游节点。
在具体实现时,首先配置一输入节点作为上游节点,在该输入节点(即第一个校验循环的上游节点)的末端配置一处理节点形成所述输入节点的下游节点,然后在所述处理节点(即第一个校验循环的下游节点)配置完成后,调用所述输入节点(即第一个校验循环的上游节点)的第一校验规则对该输出节点的计算逻辑进行校验;若校验成功,则将所述处理节点视为一新的上游节点(即第二个校验循环的上游节点)在其末端配置另一输出节点形成所述处理节点的下游节点,然后在所述输出节点(即第二个校验循环的下游节点)配置完成后,调用所述处理节点(即第二个校验循环的上游节点)的第一校验规则对该处理节点的计算逻辑进行校验,校验成功后则结束校验。
更为具体的,继续以包含一个输入节点、一个处理节点以及一个输出节点的简单数据处理模型为例对采用第一校验规则对节点的计算逻辑的校验进行说明,如图2所示,所述步骤S2的具体步骤包括:
S201:配置上游节点。
基于用户的请求,配置一输入节点形成所述上游节点,并对所述输入节点配置节点唯一标识及其对应的数据结构信息。所述输入节点的节点唯一标识用于查找该输入节点的数据结构信息,具体实现时,所述节点唯一标识可以是一节点id,也可是一能够查询所述数据结构信息的字段地址等。所述数据结构信息用于配置所述输入节点的数据信息。
在本实施例中,所述输入节点的数据结构信息包括共性数据结构和个性数据结构。所述共性数据结构为所述输入节点与处理节点和输出节点均有的数据结构,所述共性数据结构包括但不限于输出字段集合,所述输出字段集合中的字段为用户所配置的经该节点处理后输出数据所对应的字段。所述输入节点的个性数据结构为所述输入节点所特有的数据结构,所述输入节点的个性数据结构至少包括数据源和数据源类型;所述数据源中包含有输入所述数据处理模型的数据及其对应的输入字段,所述数据源类型包括工作流、表单和业务模型等。
S202:配置下游节点及连接关系。
基于用户的请求,在上游节点的末端配置一对应的下游节点以及该上游节点和下游节点之间的连接关系,形成一校验循环。在本实施例中,所述上游节点为步骤S201中配置的输出节点,也可以是其他校验循环中的处理节点。
具体的,配置一处理节点或输出节点形成所述上游节点对应的下游节点,并对所述处理节点或输出节点分别配置对应的节点唯一标识及其对应的数据结构信息。所述处理节点或输出节点的节点唯一标识用于查找所述处理节点或输出节点的数据结构信息,具体实现时,所述节点唯一标识可以是一节点id,也可是一能够查询所述数据结构信息的字段地址等。所述数据结构信息用于配置所述处理节点或输出节点的数据信息。
在本实施例中,所述处理节点和输出节点的数据结构信息均包括共性数据结构和个性数据结构。所述共性数据结构与所述输入节点相同,包括对应节点的输出字段集合。
所述处理节点的个性数据结构基于数据处理规则的不同而不同,当所述处理节点中配置的数据处理规则为字段设置时,由于字段设置的作用为对输出字段的设置,可设置输出数据中显示或不显示某些字段,因此,本实施例中对应数据处理规则为字段设置时,该处理节点可不配置个性数据结构;当所述处理节点中配置的数据处理规则为筛选过滤时,对应的处理节点的个性数据结构包括但不限于筛选字段或过滤字段;当所述处理节点中配置的数据处理规则为分组汇总时,对应处理节点的个性数据结构包括但不限于分组字段、汇总字段和汇总方式,所述汇总方式包括求和、求平均值、求最大值、求最小值等等;当所述处理节点中配置的数据处理规则为横向连接时,对应处理节点的个性数据结构包括但不限于连接类型和连接字段,所述连接类型包括左连接、右连接和内连接等。可理解的,当处理节点中配置的数据处理规则为其他的数据处理规则时,只需根据数据处理规则配置对应的数据结构信息即可。
在本实施例中,所述输出节点的数据结构信息用于配置输出字段,由于所述输出节点的共性数据结构中已经配置了输出字段集合,因此,本实施例中的输出节点可不配置对应的个性数据结构。
S203:校验节点的计算逻辑,并判断是否校验成功。
具体的,根据所述上游节点的类型(输入节点或配置有对应数据处理规则的处理节点),调用所述上游节点对应的第一校验规则对该上游节点的计算逻辑进行校验,并判断所述上游节点的计算逻辑是否校验成功,若校验成功,则跳转执行步骤S204,否则跳转执行步骤S205。
在本实施例中,所述第一校验规则包括:
(1)禁止输入节点与输出节点直接连接;
(2)禁止数据流中存在孤立节点,即禁止输入节点无输出、输出节点无输入以及处理节点无输入和无输出;
(3)禁止一条数据流中存在多个输出节点;
(4)禁止同一校验循环中的上游节点和下游节点为同类型节点,包括禁止上游节点和下游节点同为配置相同数据处理规则的处理节点;
(5)用户自定义的连接限制规则,如禁止分组汇总的处理节点的上游节点为横向连接的处理节点、禁止横向连接的处理节点只有一个输入等。
具体的,如图3所示,在步骤S203中,利用所述第一检验规则对上游节点进行计算逻辑校验的具体方法为:
S2031:判断所述上游节点是否为输入节点且下游节点是否为输出节点,若不是,则明输入节点与输出节点非直接连接,然后继续执行步骤S2032,否则跳转执行步骤S205;
S2032:判断输出节点的数量是否小于或等于一个,若是,则说明输出节点的数量不超过一个,然后继续执行步骤S2033,否则跳转执行步骤S205;
S2033:判断所述上游节点是否为孤立节点,若不是,则说明输入节点具有输出、输出节点具有输入或处理节点具有输入和输出,然后继续执行步骤S2034,否则跳转执行步骤S205;
S2034:判断所述上游节点与下游节点是否为同类型节点,若不是,则说明上游节点与下游节点不为同类型节点,然后继续执行步骤S2035,否则跳转执行步骤S205;
S2035:判断所述上游节点与下游节点之间是否符合用户自定义的连接限制规则,若符合,则说明所述上游节点和下游节点之间配置的连接关系符合计算逻辑,校验成功,否则跳转执行步骤S205。
在本实施例中,上述步骤S2031-S2035的校验顺序并非执行第一校验规则进行计算逻辑校验的唯一顺序,在其他可选的实施例中,所述步骤S2031-S2035的校验顺序可根据实际需要调整校验顺序。
S204:判断是否校验完成。
判断所述下游节点是否为输出节点,若是,则证明所述数据处理模型配置并校验完成,然后跳出校验循环,结束校验,否则,将所述下游节点视为一新的校验循环的上游节点返回执行步骤S202,继续配置下一节点并进行校验。通过逐步配置逐步校验的方式,可在数据处理模型的配置过程中即对对应的计算逻辑进行校验,以便于及时检查出节点计算逻辑的配置错误,也即当数据处理模型配置完成,其计算逻辑的校验也随即完成,有效减少了数据校验的时间和工作量。
S205:报错并清除错误节点及对应连接关系。
当利用所述第一校验规则对输入节点、处理节点和输出节点检验出错时,可对所述连接关系或对应的下游节点进行报错。具体实现时,可通过设置对应的提示标语,如“当前数据流存在孤立节点”、“禁止输入输出直连”等等,以提示用户注意。然后清除该循环逻辑中的所述下游节点和/或该下游节点与上游节点之间的连接关系后返回执行步骤S202,对错误节点重新配置后继续进行校验。
S3:获取数据结构信息,对节点的数据结构信息进行校验。
具体的,根据所述数据处理模型中配置的各节点的节点唯一标识获取对应节点的数据结构信息,并调用第二校验规则对相应节点的数据结构信息进行校验。
如图4所示,所述步骤S3的具体步骤包括:
S301:获取节点唯一标识。
获取数据处理模型中输入节点、处理节点以及输出节点对应的节点唯一标识。
S302:判断节点唯一标识与节点是否对应。
判断所述节点唯一标识与所述节点是否一一对应,若获取到的节点唯一标识的数量与配置的节点数量不相等,则说明书二者并非一一对应,进而说明数据处理模型中存在未配置节点唯一标识的节点,然后继续执行步骤S303;否则说明所有节点均已配置了对应的节点唯一标识,然后跳转执行步骤S304;
S303:报错并配置错误节点的节点唯一标识。
当所述节点唯一标识与节点不是一一对应时,则对不存在节点唯一标识对应关系的节点进行报错;并对不存在对应关系的节点配置节点唯一标识后返回执行步骤S301。
S304:获取数据结构信息。
通过所述节点唯一标识分别获取输入节点、处理节点和输出节点的数据结构信息形成数据结构集合。
S305:校验节点的数据结构信息,并判断是否校验成功。
具体的,选择所述数据结构集合中任一节点的数据结构信息,调用该节点对应的第二校验规则对其数据结构信息进行校验,若校验成功,则将该节点对应的数据结构信息从所述数据结构集合中移除后继续执行步骤S306,否则,跳转执行步骤S307。
在本实施例中,所述第二校验规则包括:
(1)输入节点、处理节点和输出节点的数据结构信息中对应的值禁止为空;
(2)下游节点的输出字段集合属于其对应的上游节点的输出字段集合,当所述下游节点存在一个以上上游节点时,该上游节点的的输出字段集合为该多个上游节点的输出字段集合的并集。
具体的,如图5所示,在步骤S305中,利用所述第二校验规则对所述数据结构信息进行校验的具体方法为:
S3051:判断所述节点数据结构信息中对应数据结构的值是否为空,若不为空,则说明所述节点的数据结构信息均配置了对应的值,然后继续执行步骤S3052,否则跳转执行步骤S307。
当所述节点为输入节点时,依次校验所述输入节点的输出字段集合、数据源以及数据源类型的值是否为空;当所述节点为筛选过滤的处理节点时,依次校验所述处理节点的输出字段集合和筛选字段/过滤字段的值是否为空;当所述节点为分组汇总时,依次校验所述处理节点的输出字段集合、分组字段、汇总字段和汇总方式的值是否为空;当所述节点为横向连接的处理节点时,依次校验所述处理节点的输出字段集合、连接类型和连接字段的值是否为空。
S3052:判断当前节点的输出字段集合是否属于其对应上游节点的输出字段集合的并集,由于下游节点中的数据来源于其对应的上游节点,因此在配置时,所述下游字段的输出字段必然包含在其上游节点的输出字段中,因此需对配置的输出字段进行校验,避免数据在处理过程中无法正常输出数据。当所述节点的输出字段集合属于其对应上游节点的输出字段集合的并集时,则说明校验成功,继续执行步骤S3053,否则跳转执行步骤S307。
S3053:将所述节点对应的数据结构信息从所述数据结构集合中移除,完成该节点的数据结构信息的校验。
S306:判断数据结构集合是否为空。
判断所述数据结构集合中是否为空,当所述数据结构集合为空时,则说明所有节点的数据结构信息均已从该数据结构集合中移除,进而说明书校验完成,则结束校验,否则,说明所述数据结构集合中仍存在未校验的节点数据结构信息,则返回执行步骤S305继续校验下一个节点的数据结构信息。
S307:报错并更新错误节点的原始数据结构信息。
当所述节点的数据结构信息校验出错时,则对所述数据结构信息进行报错,具体实现时,可设置提示标语,如“数据源不存在,请添加数据源”、“节点未配置,请配置”等等,以提示用户注意。然后修改所述节点的数据结构信息并将修改后的数据结构信息反向传递至所述数据结构集合中,以修改后的数据结构信息覆盖该节点在数据结构集合中的原始数据结构信息,然后执行步骤S305继续对节点的数据结构信息进行校验。
在其他可选的实施例中,在利用所述第二校验规则对节点的数据结构信息进行整体校验时,还可将第二校验规则与第一校验规则混合使用,也即在配置节点的同时,依次利用第一校验规则和第二校验规则对配置的节点同步进行计算逻辑和数据结构进行校验。
本实施例的双重数据校验方法,利用第一校验规则和第二校验规则依次对数据处理模型中节点的计算逻辑和数据结构进行校验,通过双重校验,可及时发现配置错误,以便于及时纠正,避免在数据处理模型配置完成后配置错误大规模的排查,有利于节省时间,提高校验效率,且数据处理模型配置完成即校验完成,可在后续的数据处理中确保数据处理结果的准确性。
实施例2
如图6所示,为本实施例的一种双重数据校验系统的系统框图。本实施例的双重数据校验系统,可利用实施例1所述的双重数据校验方法对数据处理模型在配置过程中的计算逻辑和数据结构进行校验。本实施例的双重数据校验系统包括数据处理模型1、校验规则数据库2和校验模块3,其中:
所述数据处理模型1可对输入的数据按照设置的数据处理规则进行处理后输出,所述数据处理模型包括至少一个输入节点、一个输出节点和至少一个连接所述输入节点和输出节点的处理节点。
所述输入节点用于向数据处理模型输出原始数据,所述原始数据主要为添加至该输入节点中的数据源,所述数据源包括工作流、表单和业务模型。
所述处理节点用于接收输入节点和/或配置在其前面的处理节点流出的数据,并按照设置的数据处理规则对流入处理节点的数据进行处理,然后将处理后的数据流向配置在其后的处理节点或输出节点,在本实施例中,所述数据处理规则包括但不限于字段设置、筛选过滤、分组汇总和横向连接等。
当数据处理规则为字段设置时,用户可对输入数据中的某些字段进行设置,即设置某些字段显示或不显示。
当数据处理规则为筛选过滤时,用户可通过在输入数据中选择至少一个字段作为筛选字段或过滤字段,利用所述筛选字段可在输入数据中提取该筛选字段对应的数据形成一新的数据流转至下游节点中,或利用所述过滤字段在输入数据中对该过滤字段对应的数据过滤后形成一新的数据流转至下游节点中。
当数据处理规则为分组汇总时,用户可通过在输入数据中选择至少一个字段为分组字段,利用所述分组字段对输入数据中该分组字段下相同的数据进行分组,然后确定至少一个字段为汇总字段并设置对所述汇总字段的汇总方式,利用所述汇总字段,按照设置的汇总方式对每组数据进行汇总形成一新的数据流转至下游节点中。
当数据处理规则为和横向连接时,用户可设置两组输入数据的横向连接规则,选择至少一个输入字段为连接字段,并将两组输入数据分别确定为横向连接的左表和右表,利用所述连接字段按照设置的横向连接规则对左表和右表中的数据进行拼接形成一新的数据流转至下游节点中。在本实施例中,所述横向连接规则包括内连接、左连接和右连接;所述内连接即为以确定的连接字段对左表和右表中的数据求交集,并将左表和右表中连接字段的值相等的所有数据提取出来并进行整理,由此得到执行内连接后的数据;所述左连接即为保留左表中所有字段及数据,将左表和右表中连接字段的值相等的数据提取出来连接至左表中,得到执行左连接后的数据;所述右连接即为保留右表中所有字段及数据,将左表和右表中连接字段的值相等的数据提取出来连接至右表中,得到执行右连接后的数据。
所述输出节点用于接收并输出处理节点流出的数据。
所述校验规则数据库2中分类存储每一类型节点对应的第一校验规则和第二校验规则,以便在对数据处理模型的节点的计算逻辑和数据结构进行校验时,可从所述校验规则数据库2中调用对应的第一校验规则和第二校验规则。
所述校验模块3可执行实施例1所述的双重数据校验方法。具体的,所述校验模块3可对第一校验规则和第二检验规则进行配置,并利用第一校验规则在数据处理模型的配置过程中同步对节点的计算逻辑进行校验,然后利用第二校验规则在数据处理模型配置完成后对节点的数据结构进行整体校验。在本实施例中,所述校验模块3包括校验规则配置子模块31、节点配置子模块32、第一校验子模块33、第二校验子模块34、修正与更新子模块35和提示子模块36,其中:
所述校验规则配置子模块31根据数据处理要求,分别配置所述输入节点、处理节点和输出节点对应的第一校验规则和第二校验规则并存储于所述校验规则数据库2中。所述校验规则配置子模型31主要用于实现实施例1中的步骤S1所述的方法,其具体配置过程与实施例1的步骤S1相同,在此不作赘述。
所述节点配置子模块32根据用户的请求,逐一配置输入节点、处理节点和输出节点。
所述第一校验子模块33根据所述节点配置子模块32的配置流程,在每一节点配置完成后同步获取所述节点间的连接关系,并从校验规则数据库2中调用对应节点的第一校验规则对相应节点的计算逻辑进行校验,并在校验失败时,生成一第一修正指令分别发送给修正与更新子模块35和提示子模块36。所述第一校验子模块32采用实施例1中步骤S2的方法对所述节点的计算逻辑进行校验,在此不做赘述。
所述第二校验子模块34在所述数据处理模型1配置完成后,获取所述数据处理模型1中每一节点的数据结构信息,并从校验规则数据库2中调用对应节点的第二校验规则对相应节点的数据结构信息进行校验,并在校验失败时,生成一第二修正指令分别发送给修正与更新子模块35和提示子模块36。所述第二校验子模块33采用实施例1中步骤S3的方法对所述节点的数据结构进行校验,在此不做赘述。
所述修正与更新子模块35接收所述第一校验子模块33发送的第一修正指令和第二校验子模块34发送的第二修正指令,并对校验失败的节点及其连接关系进行修改后反向穿丝至第一校验子模块33中,更新原始节点和/或其连接关系;以及对校验失败的节点的数据结构信息进行修正后,反向传递至对应的第二校验子模块34中,更新原始节点对应的数据结构信息。
所述提示子模块36接收所述第一校验子模块33发送的第一修正指令和第二校验子模块34发送的第二修正指令,并按预设规则显示对应的提示语,以提示用户注意,并可按照提示语提示的内容对错误节点进行修正。
本实施例的双重数据校验系统,通过设置第一校验模块和第二校验模块分别对数据处理模型的输入节点、处理节点和输出节点的计算逻辑和数据结构进行校验,可及时检查出节点配置过程中的计算逻辑错误,从而及时对错误的节点进行修正,并通过对节点的数据结构信息进行校验,可检查出该节点是否配置完整,以确保数据处理结果的准确性。
Claims (10)
1.一种双重数据校验方法,其特征在于,包括以下步骤:
S1:基于数据处理模型,对所述数据处理模型中每一节点按照节点类型分别配置对应的第一校验规则和第二校验规则;
S2:逐一配置所述数据处理模型的节点,并在配置完一节点后同步调用所述节点的第一校验规则对该节点的计算逻辑进行校验;
S3:获取所述数据处理模型各节点的数据结构信息,并调用第二校验规则对相应节点的数据结构信息进行校验。
2.根据权利要求1所述的一种双重数据校验方法,其特征在于,在步骤S1中,所述数据处理模型包括至少一个输入节点和一个输出节点以及至少一个连接所述输入节点和输出节点的处理节点;所述输入节点用于输出原始数据;所述处理节点用于接收输入节点和/或其前一处理节点流出的数据并按照设置的数据处理规则对数据进行处理,然后将处理后的数据流向其后一处理节点或输出节点,所述数据处理规则至少包括字段设置、筛选过滤、分组汇总和横向连接;所述输出节点用于接收并输出处理节点流出的数据。
3.根据权利要求2所述的一种双重数据校验方法,其特征在于,定义依次连接输入节点、处理节点和输出节点的连线两端的节点分别为上游节点和下游节点,使所述输入节点、处理节点和输出节点形成一数据由上游节点沿连线流向下游节点的数据流,所述步骤S2的具体步骤包括:
S201:基于用户的请求,配置一上游节点;
S202:对所述上游节点配置对应的下游节点及该上游节点与下游节点之间的连接关系;
S203:调用所述上游节点对应的第一校验规则对该上游节点的计算逻辑进行校验,并判断所述上游节点的计算逻辑是否校验成功,若校验成功,则跳转执行步骤S204,否则跳转执行步骤S205;
S204:判断所述下游节点是否为输出节点,若是,则结束校验,否则,将所述下游节点视为一新的上游节点返回执行步骤S202;
S205:对所述连接关系或对应的下游节点进行报错,并清除所述下游节点和/或其与上游节点之间的连接关系后返回执行步骤S202。
4.根据权利要求3所述的一种双重数据校验方法,其特征在于,在步骤S201中,配置所述上游节点的具体方法为:
配置一输入节点形成所述上游节点,并对所述输入节点配置节点唯一标识及其对应的数据结构信息;
在步骤S202中,配置所述下游节点的具体方法为:
配置一处理节点或输出节点形成所述下游节点,并对所述处理节点或输出节点分别配置节点唯一标识及其对应的数据结构信息。
5.根据权利要求3所述的一种双重数据校验方法,其特征在于,在步骤S203中,利用所述第一检验规则对上游节点进行计算逻辑校验的具体方法为:
S2031:判断所述上游节点是否为输入节点且下游节点是否为输出节点,若不是,则继续执行步骤S2032,否则跳转执行步骤S205;
S2032:判断输出节点的数量是否小于或等于一个,若是,则继续执行步骤S2033,否则跳转执行步骤S205;
S2033:判断所述上游节点是否为孤立节点,若不是,则继续执行步骤S2034,否则跳转执行步骤S205;
S2034:判断所述上游节点与下游节点是否为同类型节点,若不是,则继续执行步骤S2035,否则跳转执行步骤S205;
S2035:判断所述上游节点与下游节点之间是否符合用户自定义的连接限制规则,若符合,则校验成功,否则跳转执行步骤S205。
6.根据权利要求1所述的一种双重数据校验方法,其特征在于,所述输入节点、处理节点和输出节点的数据结构信息均包括共性数据结构和个性数据结构,所述共性数据结构为所述输入节点、处理节点和输出节点共有,所述共性数据结构至少包括输出字段集合;所述个性数据结构为所述输入节点、处理节点和输出节点特有。
7.根据权利要求6所述的一种双重数据校验方法,其特征在于,所述步骤S3的具体步骤包括:
S301:获取数据处理模型中输入节点、处理节点以及输出节点对应的节点唯一标识;
S302:判断所述节点唯一标识与所述节点是否一一对应,若不是,则继续执行步骤S303,否则跳转执行步骤S304;
S303:对所述节点唯一标识进行报错,并对不存在对应关系的节点配置节点唯一标识后返回执行步骤S301;
S304:通过所述节点唯一标识获取对应节点的数据结构信息形成数据结构集合;
S305:选择所述数据结构集合中任一节点的数据结构信息,调用该节点对应的第二校验规则对其数据结构信息进行校验,若校验成功,则将该节点对应的数据结构信息从所述数据结构集合中移除后继续执行步骤S306,否则,跳转执行步骤S307;
S306:判断所述数据结构集合是否为空,若为非空,则返回执行步骤S305,否则结束校验;
S307:对所述数据结构信息进行报错,修改所述节点的数据结构信息并将修改后的数据结构信息返回所述数据结构集合中覆盖该节点原始数据结构信息,然后执行步骤S305。
8.根据权利要求7所述的一种双重数据校验方法,其特征在于,在步骤S305中,利用所述第二校验规则对所述数据结构信息进行校验的具体方法为:
S3051:判断所述节点的数据结构信息中对应数据结构的值是否为空,若不为空,则继续执行步骤S3052,否则跳转执行步骤S307;
S3052:判断所述输出字段集合是否属于其对应上游节点的输出字段集合的并集,若属于,则校验成功,继续执行步骤S3053,否则跳转执行步骤S307;
S3053:将所述节点对应的数据结构信息从所述数据结构集合中移除。
9.一种双重数据校验系统,其特征在于,包括:
数据处理模型,用于对输入的数据按照设置的数据处理规则进行处理后输出,所述数据处理模型包括至少一个输入节点、一个输出节点和至少一个连接所述输入节点和输出节点的处理节点;
校验规则数据库,用于分类存储每一类型节点对应的第一校验规则和第二校验规则;以及
校验模块,用于执行如权利要求1-8任一项所述的双重数据校验方法。
10.根据权利要求9所述的一种双重数据校验方法,其特征在于,所述校验模块包括:
校验规则配置子模块,用于根据数据处理要求分别配置所述输入节点、处理节点和输出节点对应的第一校验规则和第二校验规则并存储于所述校验规则数据库中;
节点配置子模块,用于根据用户的请求,逐一配置输入节点、处理节点和输出节点;
第一校验子模块,用于根据所述节点配置子模块的配置流程,在每一节点配置完成后获取所述节点间的连接关系,并调用对应的第一校验规则对相应节点的计算逻辑进行校验,并在校验失败时,生成一第一修正指令;
第二校验子模块,用于获取每一节点的数据结构信息,并调用对应的第二校验规则对相应节点的数据结构信息进行校验,并在校验失败时,生成一第二修正指令;
修正与更新子模块,用于接收所述第一修正指令和第二修正指令,并对校验失败的节点及其连接关系或数据结构信息进行修正后,反向传递至对应的第一校验子模块或第二校验子模块中,更新原始节点及其连接关系或数据结构信息;以及
提示子模块,用于接收所述第一修正指令和第二修正指令,并按预设规则显示对应的提示语。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111654608.2A CN114297187A (zh) | 2021-12-30 | 2021-12-30 | 一种双重数据校验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111654608.2A CN114297187A (zh) | 2021-12-30 | 2021-12-30 | 一种双重数据校验方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297187A true CN114297187A (zh) | 2022-04-08 |
Family
ID=80973676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111654608.2A Pending CN114297187A (zh) | 2021-12-30 | 2021-12-30 | 一种双重数据校验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297187A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226152A (zh) * | 2023-04-25 | 2023-06-06 | 社治无忧(成都)智慧科技有限公司 | 一种基于社区治理的人房数据自更新方法及系统 |
-
2021
- 2021-12-30 CN CN202111654608.2A patent/CN114297187A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226152A (zh) * | 2023-04-25 | 2023-06-06 | 社治无忧(成都)智慧科技有限公司 | 一种基于社区治理的人房数据自更新方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345388B (zh) | 区块链智能合约验证方法、装置及存储介质 | |
CN106708719B (zh) | 业务功能的测试方法和装置 | |
CN112134762B (zh) | 针对区块链网络结构的测试方法、装置、终端和存储介质 | |
US20170039214A1 (en) | Data analysis using multiple systems | |
CN110032597B (zh) | 应用程序操作行为的可视化处理方法及装置 | |
CN107153646B (zh) | 一种数据处理方法和设备 | |
CN114297187A (zh) | 一种双重数据校验方法及系统 | |
CN109858828B (zh) | 一种配电网定值自动整定方法、装置及配网系统 | |
CN111752846A (zh) | 一种接口测试方法及装置 | |
CN114238295A (zh) | 一种基于分组的数据排序方法及装置 | |
CN111400178A (zh) | 接口自动造数方法、装置、计算机设备及存储介质 | |
CN110990295A (zh) | 测试用例的验证方法、装置及电子设备 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN113987283A (zh) | 资费配置的校验方法、装置、设备及存储介质 | |
CN111399851B (zh) | 基于分布式系统的批处理执行方法 | |
CN111106953B (zh) | 一种异常根因分析的方法及装置 | |
CN102982282A (zh) | 程序漏洞的检测系统和方法 | |
CN114936150A (zh) | 大数据数据流同步及监控测试方法、装置及存储介质 | |
CN114491973A (zh) | 一种虚端子回路校核方法、装置和终端设备 | |
CN110727475B (zh) | 基于配置化智能服务调用方法 | |
CN112307088A (zh) | 流程节点状态查询方法、装置、设备及存储介质 | |
CN109918129B (zh) | 一种基于g核分解的软件关键函数识别方法 | |
CN102799517B (zh) | 一种快速的循环扩展检测方法 | |
CN108616410B (zh) | 信息校验方法及装置 | |
CN109861960A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230518 Address after: Room 1-1-18, Unit 1, Building 4, No. 1580 Zhiyun Avenue, Yudong Street, Banan District, Chongqing, 401320 Applicant after: Chongqing Yunfeng Technology Co.,Ltd. Address before: 408300 building a, 59 Chaoyang Road, Dianjiang Industrial Park, Chongqing Applicant before: Chongqing Yuncheng Internet Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right |