CN109117431A - 用于将来自源应用的源数据合并至目标应用的目标数据的***和方法 - Google Patents
用于将来自源应用的源数据合并至目标应用的目标数据的***和方法 Download PDFInfo
- Publication number
- CN109117431A CN109117431A CN201810634915.6A CN201810634915A CN109117431A CN 109117431 A CN109117431 A CN 109117431A CN 201810634915 A CN201810634915 A CN 201810634915A CN 109117431 A CN109117431 A CN 109117431A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- source data
- target
- slot
- 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.)
- Granted
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/217—Database tuning
-
- 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
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/211—Schema design and management
-
- 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/2453—Query optimisation
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Programmable Controllers (AREA)
Abstract
提供一种工业工厂的控制***,被配置为:判断从源应用提取的源数据在数据结构方面是否与目标应用不匹配;如果确定源数据在数据结构方面与目标应用中的目标数据不匹配,则根据目标应用的数据结构需求将源数据结构转换为与目标数据结构相匹配。工业工厂的控制***,被配置为:对处于相关定义状态的目标应用和源应用之间执行数据结构的层级检查;以及至少部分地基于所述层级检查的结果来对来自所述源应用的源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的目标数据中。
Description
技术领域
本发明的实施例一般涉及用于将来自源应用的源数据合并至目标应用的目标数据的方法、***和计算机程序产品。
背景技术
在工业工厂的典型工程操作中,会涉及多个工程应用,以执行特定的工程任务。例如,工程应用(自动化工程***)(Automation Engineering System)可以使用来自另一个工程应用(源应用Y)的数据与其自己的数据集进行整合和/或检查。
为了使目标应用(自动化工程***)使用来自其他应用(应用Y)的数据,两个应用的用户必须手动将另一个应用(应用Y)的数据导出或保存到外部文件,以将其手动导入至目标应用(自动化工程***)。
数据的导入可以通过目标应用(自动化工程***)的一个编辑器(通信I/O编辑器)来完成,其中所述编辑器检索来自源(通常是外部文件)的数据,并要求用户识别待导入的数据。这种识别过程可能很繁琐、耗时且容易出错,长远来看,会导致用户的生产率降低。
例如,通过另一个应用的编辑器来配置设备(子模块)的参数。该参数也存在于编辑器(通信I/O编辑器)中。为了更新编辑器(通信I/O编辑器)中的该参数数据,用户需要将数据从另一个应用(应用Y)导出到外部文件,然后将该文件导入编辑器。在导入期间,用户可以将该参数与设备的其他参数设置一起导入。此外,如果参数已存在于编辑器(通信I/O编辑器)中,为了使用最新数据对其进行更新,用户需要从外部文件中识别相应的导入参数。
导入之后,可以在目标应用中加载(显示)数据,让用户在目标应用中选择待保留/合并的部分数据。在现有技术中,由用户完成识别(因此用户需要知道导入文件和目标应用中的各参数的相应名称),而应用只需负责加载输入文件中的任何内容。由于一个典型的工业工厂拥有数千个现场设备,因此由该工厂的许多应用导出的设计数据量是十分庞大的。判断识别哪些数据要从哪个应用导入,以及哪些已有数据需要更新,是十分困难的,而且需要付出很大的努力。
如图1中所示,US8464227B公开了:采用输入脚本来处理和生成输出脚本。该***具有脚本编辑器界面,便于指定对象的脚本,其中脚本编辑器界面支持多种不同的用户端脚本语言。
如图2所示,EP3101489A1公开了:加载第一脚本,并且编译第一脚本以形成第二脚本,第二脚本根据与过程工厂的特定过程控制***相关联的供应商专用的配置语言来构建。
如图所示3,通常的方式是,将外部文件导入目标应用。目标应用加载外部文件并将外部文件与已有数据进行映射。用户识别期望的数据。根据用户的选择更改(更新/添加/删除)数据。
US8464227B2和EP3101489A1中的每一个都采用输入数据来处理并生成输出数据。没有提到对已有数据的处理。涉及额外的用户步骤是导出文件然后再导入。如果目标应用不需要来自其他应用的所有数据,则用户必须精心筛选其他应用的所有数据,仅导入作为目标应用的应用A所需的那些数据。用户知识对于识别要导入的哪些数据非常必要。多个导入文件很混乱,从长远来看很难管理。
发明内容
在一些实施例中,由工业工厂中的控制***执行一种方法。所述控制***包括一个或多个硬件处理器以及由所述一个或多个硬件处理器执行的一个或多个软件组件,该方法包括:判断从所述源应用提取的源数据在数据结构方面是否与目标应用不匹配。该方法包括:如果源数据在数据结构方面与所述目标应用中的目标数据不匹配,则根据所述目标应用的数据结构需求将源数据结构转换为与目标数据结构相匹配。该方法包括:对处于相关定义状态的目标应用和源应用之间执行数据结构的层级检查。该方法包括:至少部分地基于层级检查的结果来对来自所述源应用的源数据执行更新、删除和添加的至少一种,以将所述源数据合并到所述目标应用中的目标数据中。
附图说明
图1是相关技术中从其他应用导出外部数据的方法的流程图。
图2是相关技术中从其他应用导出外部数据的方法的流程图。
图3是相关技术中从其他应用导出外部数据的方法的流程图。
图4A是示出包括用于控制多个现场设备的现场控制设备、自动化工程***和界面的整合***的示图。
图4B是示出图4A的自动化工程***的实施方式的示图。
图5是示出用于将源数据合并至目标数据的***的框图,所述目标数据被整合在在图4A和4B的自动化工程***或自动化工程***中的自动化工程***的工程工具中。
图6A是将单个源数据集拆分为待与目标数据合并的多个拆分的源数据集的过程的说明性示例的示图。
图6B是将多个数据集组合为待与目标数据合并的单个组合的源数据集的过程的说明性示例。
图7至图13是数据表,其示出了如图5所示的提取、转换、精细处理和合并的每个步骤中的源数据结构和目标数据结构。
图14是如图5所示并且由图4A和4B中的自动化工程***实施的合并过程的流程图。
图15是示出包含在图5所示的合并过程中的对均具有匹配设备的源数据和目标数据二者进行处理的流程图。
图16是示出包括在以下处理中的对均具有匹配插槽的源数据和目标数据二者进行处理的流程图,所述处理用于处理图15所示的均具有匹配设备的源数据和目标数据二者。
具体实施方式
[将源应用中的源数据合并到目标应用中的目标数据中的***和方法的总体情况]
下面将描述用于将源应用中的源数据合并到目标应用中的目标数据中的***和方法的总体情况。
在一些实施例中,可以由工业工厂中的控制***执行计算机实现方法,所述控制***包括一个或多个硬件处理器以及由所述一个或多个硬件处理器待执行的一个或多个软件组件。所述方法可以包括但不限于:至少部分地基于目标应用的需求,从源应用提取源数据;判断从所述源应用提取的源数据的至少一部分在数据结构方面是否与目标应用中的目标数据的至少一部分不匹配;如果确定所述源数据的至少一部分在数据结构方面与所述目标应用中的目标数据的至少一部分不匹配,则根据所述目标应用的数据结构需求将源数据结构转换为与目标数据结构相匹配;对处于相关定义状态(correlated definitionstatus)的目标应用和源应用之间执行数据结构的层级检查(hierarchical checking),所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,还指所述源应用和源数据文件中的至少一个的各源参数;以及至少部分地基于所述层级检查的结果来对来自所述源应用的源数据执行更新、删除和添加的至少一种,以将所述源数据合并到所述目标应用中的目标数据中。
在某些情况下,从所述源应用提取所述源数据可以包括但不限于:从所述源应用中选择源数据;根据过程现场网络的预定义的行业通信协议,判断目标应用是否支持所选择的源数据;以及如果根据预定义的行业通信协议,确定目标应用支持所选择的源数据,则确认所选择的源数据。
在某些情况下,判断是否支持所选择的源数据可以包括但不限于:确定由目标应用支持的支持条件下的提取规则集(an extracting rule set),所述支持条件包括预定义的行业通信协议,其中判断是否支持所选择的源数据包括:根据所述提取规则集来判断是否支持所选择的源数据。
在某些情况下,执行处于所述相关定义状态的数据结构的所述层级检查,可以包括但不限于:根据所述相关定义状态,在源应用与目标应用之间执行层级结构的逐级比较(level-by-level),所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,并且是指所述源应用和源数据文件中的至少一个的各源参数。
在某些情况下,在所述源应用与目标应用之间执行层级结构的逐级比较可以进一步包括但不限于:判断是否满足第一条件,所述第一条件是指从所述目标应用获取的主组(main group)具有从目标应用获取的各从属组(subordinate-groups),其中所述各从属组从属于所述主组;判断是否满足第二条件,所述第二条件是指从源应用提取的源数据具有至少一个设备的数据集(a data set of at least a device);以及如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的所述各从属组中的已有数据之间执行层级结构的逐级比较。
在某些情况下,如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的源数据与所述目标应用的各从属组中的已有数据之间执行逐级比较可以包括但不限于:判断具有所述至少一个设备的数据集的源数据是否存在于任意一个从属组中;如果确定具有所述至少一个设备的源数据不存在于任意一个从属组中,则判断所述至少一个设备是否具有所述至少一个设备的至少一个子模块;以及如果确定所述至少一个设备具有所述至少一个子模块,则创建从属于所述主组的新的不同的从属组。
在某些情况下,如果确定同时满足第一条件和第二条件,则在从所述源应用提取的源数据与所述目标应用的各从属组中的已有数据之间执行逐级比较可以包括但不限于:判断具有所述至少一个设备的关联数据集的从属组是否存在于源数据中;如果确定具有所述至少一个设备的关联数据集的从属组不存在于所述源数据中,则标记所述从属组以用于删除;判断是否存在被标记为删除的从属组;以及如果确定存在用于删除的任意从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
在某些情况下,如果确定同时满足第一条件和第二条件,则在从源应用提取的源数据与所述目标应用的各从属组中的已有数据之间执行逐级比较,可以包括但不限于:判断源数据是否具有至少一个设备的数据集,并且判断各从属组中的任意一个从属组是否与所述至少一个设备的数据集相关,该至少一个设备的数据集与所述源数据的至少一个设备的那个数据集相匹配;处理与匹配数据相关的源数据以及与所述匹配数据相关的已有数据;判断是否存在用于删除的任何从属组;以及如果确定存在用于删除的任何从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
在某些情况下,计算机实现方法还可以包括,但不限于:如果确定不满足第一条件而满足第二条件,则判断源数据是否具有至少一个设备的至少一个子模块的数据集(adata set of at least a sub-module);如果确定所述源数据具有所述至少一个子模块,则创建从属于主组的新的不同的从属组;如果确定满足第一条件而不满足第二条件,则标记属于主组的所有的从属组以用于删除;以及删除所有的从属组。
在某些情况下,处理来自所述源应用的所述源数据和所述目标应用中的已有数据可以包括但不限于:判断是否满足第三条件,所述第三条件是指与用于过程现场网络的至少一个从属组相关联的至少一个插槽具有值;以及判断是否满足第四条件,所述第四条件是指所述源数据与用于所述过程现场网络的插槽相关联。
在某些情况下,处理来自所述源应用的源数据和所述目标应用中的已有数据可以进一步包括但不限于:如果确定满足第三条件和第四条件,则判断是否存在与不存在于任意从属组中的插槽相关联的源数据;如果确定存在与不存在于任意从属组中的插槽相关联的源数据,则判断所述源数据是否与该插槽相关联;以及如果确定所述源数据与该插槽相关联,则创建从属于主组的新的不同的从属组。
在某些情况下,处理来自所述源应用的所述源数据和所述目标应用中的已有数据可以进一步包括但不限于:如果确定满足第三条件和第四条件,则判断是否存在与不存在于所述源数据中的插槽相关的从属组;如果确定存在与不存在于所述源数据中的插槽相关的从属组,则标记所述从属组以用于删除。
在某些情况下,处理来自所述源应用的所述源数据和所述目标应用中的已有数据可以进一步包括但不限于:如果确定满足所述第三条件和第四条件,则判断所述源数据是否与插槽相关联,并且判断任意从属组是否与插槽相关,该插槽与和所述源数据相关联的那个插槽相匹配;以及如果确定所述源数据和任意从属组与匹配插槽相关联,则处理与所述匹配插槽相关联的源数据以及与所述匹配插槽相关联的已有数据。
在某些情况下,处理来自所述源应用的所述源数据和所述目标应用中的已有数据可以进一步包括但不限于:在确定满足第三条件而不满足第四条件的情况下,如果确定存在与不存在于所述源数据中的插槽相关联的从属组,则标记该从属组以用于删除。
在某些情况下,处理与所述匹配插槽相关联的所述源数据以及与所述匹配插槽相关联的已有数据可以进一步包括但不限于:判断是否满足第五条件,所述第五条件是指与用于所述过程现场网络的至少一个从属组相关联的至少一个子插槽具有值(value);以及判断是否满足第六条件,所述第六条件是指所述源数据与用于过程现场网络的子插槽相关联。
在某些情况下,处理来自所述源应用的所述源数据和所述目标应用中的已有数据可以进一步包括但不限于:如果确定满足第三条件和第四条件,则判断所述源数据是否与插槽相关联,并且判断任意一个从属组是否与插槽相关联,该插槽与和所述源数据相关联的那个插槽相匹配;如果确定源数据和任意一个从属组与匹配插槽相关联,则处理与匹配插槽相关联的源数据以及与所述匹配插槽相关联的已有数据;如果确定满足第五条件和第六条件,则判断是否存在与不存在于任意一个从属组中的子插槽相关联的源数据;如果确定存在与不存在于任意一个从属组中的插槽相关联的源数据,则判断源数据是否与该插槽的至少一个子插槽相关联;如果确定源数据具有该插槽的至少一个子插槽,则创建从属于主组的新的不同的从属组;如果确定满足第五条件和第六条件,则判断是否存在与不存在于源数据中的子插槽相关联的从属组;如果确定存在与不存在于源数据中的子插槽相关联的从属组,则标记该从属组以用于删除;如果确定满足第五条件和第六条件,则判断源数据是否与子插槽相关联,并且判断任意一个从属组是否与子插槽相关联,该子插槽与和所述源数据相关联的那个子插槽相匹配;以及如果确定源数据和任意一个从属组与匹配子插槽相关联,则处理与匹配子插槽相关的源数据以及与所述匹配子插槽相关的已有数据。
在某些情况下,如果确定同时满足第一条件和第二条件,则在从源应用提取的源数据与来自目标应用的从属组的已有数据之间执行逐级比较,可以包括但不限于:判断具有至少一个设备的数据集的源数据是否存在于任意一个从属组中;如果确定具有至少一个设备的数据集的源数据不存在于任意一个从属组中,则判断至少一个设备是否具有该至少一个设备的子模块;如果确定至少一个设备具有至少一个子模块,则创建从属于主组的新的不同的从属组;如果确定至少一个设备不具有至少子模块,则判断是否存在任意从属组以用于删除;如果确定存在用于删除的任意从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组;判断具有至少一个设备的数据集的从属组是否存在于源数据中;如果确定具有至少一个设备的数据集的从属组不存在于源数据中,则标记从属组以用于删除;判断是否存在被标记为删除的任意从属组;如果确定存在用于删除的任意从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组;判断源数据是否具有至少一个设备的数据集,并且判断任意从属组是否与至少一个设备的数据集相关联,所述至少一个设备的数据集与所述源数据的至少一个设备的数据集相匹配;处理与匹配数据相关联的源数据以及与匹配数据相关联的已有数据;判断是否存在用于删除的任意从属组;如果确定存在用于删除的任意从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。此外,如果确定不满足第一条件而满足第二条件,则在从源应用提取的源数据与来自目标应用的从属组的已有数据之间执行逐级比较,可以包括但不限于:判断源数据是否具有至少一个设备的至少一个子模块的数据集;以及如果确定源数据具有至少一个子模块,则创建从属于主组的新的不同的从属组。此外,如果确定满足第一条件而不满足第二条件,则在从源应用提取的源数据与来自目标应用的从属组的已有数据之间执行逐级比较,可以包括但不限于:如果确定满足第一条件而不满足第二条件,则标记从属于主组的所有的从属组以用于删除;以及删除所有的从属组。此外,处理来自源应用的源数据与目标应用的已有数据,还可以包括但不限于:如果确定满足第三条件和第四条件,则判断是否存在与不存在于源数据中的插槽相关的从属组;如果确定存在与不存在于源数据中的插槽相关的从属组,则标记从属组以用于删除;如果确定满足第三条件和第四条件,则判断是否存在与不存在于任意一个从属组的插槽相关的源数据;如果确定存在与不存在于任意一个从属组的插槽相关的源数据,则判断源数据是否与该插槽相关;如果确定源数据与该插槽相关,则创建从属于主组的新的不同的从属组;如果确定满足第三条件和第四条件,则判断是否存在与不存在于源数据中的插槽相关联的从属组;如果确定存在与不存在于源数据中的插槽相关联的从属组,则标记该从属组以用于删除;如果确定满足第三条件和第四条件,则判断源数据是否与插槽相关,并且判断任意一个从属组是否与插槽相关,该插槽与和源数据相关的那个插槽相匹配;如果确定源数据和任意一个从属组与匹配插槽相关,则处理与匹配插槽相关的源数据以及与匹配插槽相关的已有数据;判断是否满足第五条件,所述第五条件是指与用于过程现场网络的至少一个从属组相关的至少一个子插槽具有值;判断是否满足第六条件,所述第六条件是指源数据具有用于过程现场网络的至少一个设备模块的数据集;如果确定满足第五条件和第六条件,则判断是否存在与不存在于任意一个从属组的子插槽相关联的源数据;如果确定存在与不存在于任意一个从属组的子插槽相关联的源数据,则判断源数据是否与该插槽中的至少一个子插槽相关联;如果确定源数据具有该插槽中的至少一个子插槽,则创建从属于主组的新的不同的从属组;如果确定满足第五条件和第六条件,则判断是否存在与不存在于源数据中的子插槽相关联的从属组;如果确定存在与不存在于源数据中的子插槽相关联的从属组,则标记所述从属组以用于删除;如果确定满足第五条件和第六条件,则判断源数据是否与子插槽相关联,并且判断任意一个从属组是否与子插槽相关联,该子插槽与和所述源数据相关联的子插槽相匹配;如果确定源数据和任意一个从属组与匹配子插槽相关联,则处理与匹配子插槽相关联的源数据以及与所述匹配子插槽相关联的已有数据。
在某些情况下,计算机实现方法还可以包括但不限于:如果确定所述目标应用的数据结构需求不支持所述源数据,则将从所述源应用提取的多个源数据集组合为待由显示设备显示的单个源数据集,作为目标应用中的单个目标数据集。
在某些情况下,计算机实现方法还可以包括但不限于:如果确定所述目标应用的数据结构需求不支持所述源数据,则将从所述源应用提取的源数据集拆分为由所述目标应用支持的多个源数据集。
在其他实施例中,工业工厂中的控制***可以包括但不限于:一个或多个硬件处理器以及包括计算机可执行指令的一个或多个软件组件,所述计算机可执行指令由所述一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行以下方法。该方法可以包括但不限于:至少部分地基于目标应用的需求,从源应用提取源数据;判断从所述源应用提取的源数据的至少一部分在数据结构方面是否与目标应用中的目标数据的至少一部分不匹配;如果确定所述源数据的至少一部分在数据结构方面与所述目标应用中的目标数据的至少一部分不匹配,则根据所述目标应用的数据结构需求将源数据结构转换为与目标数据结构相匹配;对处于相关定义状态的目标应用和源应用之间执行数据结构的层级检查,所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,还指所述源应用和源数据文件中的至少一个的各源参数;以及至少部分地基于所述层级检查的结果来对来自源应用的源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的目标数据中。
在其他实施例中,一种存储计算机可读程序的非暂时性计算机可读存储介质,当由一个或多个计算机执行时,使所述一个或多个计算机执行以下方法。该方法可以包括但不限于:至少部分地基于目标应用的需求,从源应用提取源数据;判断从所述源应用提取的源数据的至少一部分在数据结构方面是否与目标应用中的目标数据的至少一部分不匹配;如果确定所述源数据的至少一部分在数据结构方面与目标应用中的目标数据的至少一部分不匹配,则根据所述目标应用的数据结构需求将源数据结构转换成与目标数据结构相匹配;对处于相关定义状态的目标应用和源应用之间执行数据结构的层级检查,所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,还指所述源应用和源数据文件中的至少一个的各源参数;以及至少部分地基于所述层级检查的结果来对来自所述源应用的源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的目标数据中。
[将源数据合并到目标数据的***和方法所适用的整合***的总体情况]
以下将描述用于将源数据合并到目标数据中的上述***和方法适用的整合***的总体情况。
图4A是示出包括用于控制多个现场设备50000的现场控制设备40000、自动化工程***20000和界面30000的整合***的示图。图4B是示出图4A的自动化工程***20000的实施方式的示图。界面30000可以通过但不限于,人机界面站(HIS)来实现。界面30000可以被配置为经由任何可用网络而通信耦合到现场控制设备40000。界面30000被配置为向操作员提供操作环境。界面30000可以被配置为经由可用网络而通信耦接到自动化工程***20000。操作员使用界面30000来操作、控制和管理现场控制设备40000和自动化工程***20000。自动化工程***20000可以至少包括但不限于,自动化设计套件(AutomationDesign suite)20000。自动化工程***20000可以被配置为提供用于配置和维护总体控制***的整合工程环境,所述总体控制***可以包括但不限于,工厂仪表设备、安全仪表设备和维护管理。自动化工程***20000可以被配置为提供用于配置和维护总体仪器的工程环境,所述总体仪器包括工厂仪表设备、安全仪表设备和维护管理。自动化工程***20000可以被配置为:除了用于特定设备或***(例如但不限于,高级分布式控制***(DCS))的常规方法之外,还提供新的工程方法。根据用于将数据合并成目标数据的方法和***的实施例,自动化工程***20000或自动化工程***20000中的自动化工程***22000的工程工具可以被配置为将数据合并到目标数据中。自动化工程***20000可以包括但不限于,自动化设计服务器(自动化工程***的工程服务器)21000、自动化工程***22000的工程工具和VP构建器(VP Builder)。工程工具可能包括但不限于,自动化设计工具,如自动化设计组织者。自动化工程***20000还可以包括但不限于,自动化设计主数据库23000。自动化设计服务器(自动化工程***的工程服务器)21000可以被配置为管理自动化工程***20000的所有工程数据。自动化工程***22000的工程工具可以包括但不限于,用于基于模块的工程设计进行工程设计的主软件组件。自动化工程***20000可以被配置为集中管理所有***工程数据,例如但不限于,分布式控制***(DCS)在自动化设计服务器(自动化工程***的工程服务器)21000上的工程数据。在扩展、修改或维护***时,可以使用最新的设计信息,从而避免用来确认设计信息与***中存储的实际信息之间的不一致性的不必要的工程工作。工程服务器功能和标准工程功能可以在同一台计算机上运行。单个工程服务器功能可以使用多个标准工程功能。
使用工程功能编辑的工程数据被存储在以下项目中。自动化设计(AD)项目是存储工程数据的一组数据。在自动化工程***20000中,工程数据由自动化设计(AD)项目管理。使用自动化工程***22000的工程工具编辑的工程数据被存储在自动化设计(AD)项目中,在自动化设计服务器21000(自动化工程***的工程服务器)上的自动化设计主数据库23000中创建自动化设计(AD)项目。可以在自动化设计主数据库23000中创建多个自动化设计(AD)项目。VP项目(VP Project)是存储由VP构建器编辑的工程数据的一组数据。可以在安装标准工程功能的计算机或服务器中创建VP项目。通过在自动化设计(AD)项目中注册,VP项目变得可用。自动化工程***22000的工程工具的工程数据被存储在自动化设计(AD)项目中,而VP构建器的工程数据被存储在VP项目中。
自动化工程***20000可以配置为不仅为分布式控制***(DCS)提供整合工程环境,而且为仪表***的所有组件(包括安全仪表***、现场设备和网络设备)提供整合工程环境。自动化工程***20000可以被配置为使工程工作自动化和标准化,这对于提高工作效率,减少工程错误,以及使信息保持最新并适当地提供给用户是有效的。
模块工程设计是自动化工程***20000提供的新工程设计方法的一个独特特征。各模块是可以独立于硬件被独立开发的功能应用,包含设计信息、控制逻辑、调整参数、警报属性和附件。每个模块都进行工程设计,各模块元件可以作为一个整体进行管理。分布式控制***(DCS)的传统工程功能不包括设计信息的管理。因此,在重复修改期间,设计信息的实施(特定控制逻辑的实施等)会偏离设计信息,使得不可能参考原有的设计信息。相反,自动化工程***20000以整合的方式定义了设计信息和实施信息,并且即使在重复修改期间,也能同时更新设计信息和实施信息,从而防止差异。在模块工程设计中,使用精心设计的各模块预期将大大减少工程最后阶段的修改造成的返工工作(regression work),并降低构建拖延和成本增加等风险。同时,为了减轻用户的设计工作负担,自动化工程***20000可以被设计为提供各模块的行业库(industry libraries of modules)以供重复使用,这些行业库是根据工程知识开发的,并且已经过验证。
作为说明性示例在图4B中示出,自动化工程***的工程工具的安全通信I/O编辑器具有从PROFINET(应用Y)配置器中提取PROFINET数据/设置的选定集的功能,以便使用其并通过以下步骤与编辑器中的其他数据/设置整合,所述步骤包括:1)用户配置源应用;2)通过安全通信I/O编辑器按钮单击“读取PROFINET配置器结果”和“启动配置器”,自动化工程***的工程工具读取源应用Y的数据;3)自动化工程***的工程工具根据需求-驱动规则,提取、转换和精细处理源应用Y的数据;4)自动化工程***的工程工具将源数据映射到已有数据,并添加/更新/删除数据;以及5)自动化工程***的工程工具显示在步骤4中的结果数据。
根据用于将数据合并成目标数据的方法和***的实施例,自动化工程***20000或自动化工程***20000中的自动化工程***22000的工程工具可以被配置为将数据合并到目标数据。
[将源数据合并到目标数据的***的示例]
已经描述了用于将源应用中的源数据合并到目标应用中的目标数据中的***和方法的总体情况,然后描述了用于将源数据合并到目标数据中的***和方法适用的整合***的总体情况。
下面将描述用于将源数据合并至目标数据的***的说明性示例,所述目标数据被整合在自动化工程***20000或自动化工程***20000的自动化工程***22000的工程工具中。图5是示出用于将源数据合并至目标数据的***的框图,所述目标数据被整合在图4A和4B的自动化工程***20000或自动化工程***20000的自动化工程***22000的工程工具中。***20000被配置为从源应用50000中的源文件提取源数据,并将源数据合并到目标应用40000中的目标数据中。***20000包括提取器20100、转换器20200、精细处理器20300和合并器20300。用于将源应用50000中的源文件中的源数据合并到目标应用40000中的目标数据的过程可以通过提取器20100、转换器20200、精细处理器20300和合并器20300来实现,其中的每一个将在下文中详细描述。
[从源应用中提取源数据]
该方法可以包括从源应用提取源数据的过程。该过程可以由一个或多个硬件处理器和由一个或多个硬件处理器执行的一个或多个软件组件来实现。该***可以包括被配置为从源应用提取源数据的提取器。该***可以由一个或多个硬件处理器和包括计算机可执行指令的一个或多个软件组件执行,当由一个或多个硬件处理器执行所述指令时,使得一个或多个硬件处理器执行从源应用提取源数据的过程。
该方法可以至少部分地基于目标应用的需求,从源应用提取源数据。换句话说,提取什么源数据至少部分取决于目标应用需要什么。在某些情况下,源数据或源文件的类型或格式的一些示例可以是诸如文本、XML、XAML、Excel、CSV等格式的任何可用类型,但不限于任何特定类型。
可以在一些条件下进行提取。提取条件的示例可以是,在目标应用中必须支持一个设备模块或多个设备模块(以下称为一个或多个模块)。在这种情况下,这些条件用于过滤目标应用中不支持的任何一个模块或多个模块。在一些情况下,目标应用中的一个或多个设备模块的可支持性取决于特定网络任何可支持的一个通信协议或多个通信协议。特定网络可支持的一个通信协议或多个通信协议协议的示例可以是但不限于,诸如PROFINET(注册商标)和PROFIBUS的过程现场网络的预定义的行业通信协议。
在某些情况下,从源应用提取源数据可能包括但不限于选择、判断和确认。可以至少部分地基于目标应用的需求进行选择,从源应用中选择源数据。可以根据过程现场网络的预定义的行业通信协议进行判断,判断目标应用是否支持所选择的源数据。如果根据预定义的行业通信协议,确定目标应用支持所选择的源数据,则可以进行确认以确认所选择的源数据。
用于判断目标应用中是否支持选择的源数据的判断可以通过任何可用的方式来实现。在一些情况下,关于可支持性的判断可以包括但不限于提取规则判断(extractingrule determination)。可以进行提取规则判断以确定由目标应用支持的支持条件下的任何可用的提取规则集(any available extracting rule set)。目标应用的支持条件可以包括但不限于,过程现场网络的预定义的行业通信协议,诸如PROFINET(注册商标)。
[将源数据的数据结构转换以与目标应用匹配]
该方法可以包括判断提取的源数据的数据结构的过程。该方法可以包括,判断提取的源数据的数据结构是否与目标应用的数据结构匹配。该方法还可以包括以下过程:将所提取的源数据的已确定的数据结构转换为与目标应用的数据结构匹配。判断过程和转换过程可以由一个或多个硬件处理器和待由一个或多个硬件处理器执行的一个或多个软件组件来实现。该***可以包括转换器,该转换器被配置为判断从源应用的源数据提取的源数据的数据结构是否与目标应用的数据结构相匹配,并且将提取的源数据的已确定的数据结构转换为与目标应用的数据结构匹配。转换器可以由一个或多个硬件处理器和包括计算机可执行指令的一个或多个软件组件来实现,当由一个或多个硬件处理器执行该指令时,使得一个或多个硬件处理器执行从源应用提取源数据的过程。
在一些情况下,提取的源数据或提取的源数据文件可以具有与目标应用的数据结构相匹配的数据结构。在其他情况下,源数据结构与目标数据结构不匹配。在这种情况下,将提取的源数据或提取的源数据文件的源数据结构转换为在数据结构上与目标应用的目标数据或目标文件匹配。通常,可以根据目标应用符合的标准、通过数据结构的预定义需求来决定目标应用的数据结构。数据结构的标准可以是任何可用的数据安全标准。可以至少部分基于数据结构的预定义需求、根据目标应用符合的标准来进行所提取的源数据或所提取的源数据文件的源数据结构的转换。“数据结构”(Data Structure)的示例可以包括但不限于粗索引(primary indexing),例如1)组名(group name);2)设备名称(device name);3)插槽(slot);以及4)子插槽(sub-slot),以及可选的数据结构设置,例如5)IP地址(IPaddress),6)设备标签(device tag),7)现场参数设置(field parameter setting),以及8)连接设置(connection setting)。
[精细处理源数据]
该方法可以包括精细处理所提取的源数据的过程,这些源数据在数据结构中未经转换,但已经与目标应用的数据结构相匹配,在某些情况下这些源数据在数据结构上已经被转换为与目标应用的数据结构相匹配。精细处理可以分为两种:数据组合过程和数据拆分过程。可以进行数据组合过程以将多个源数据集(plural sets of the source data)组合成单个源数据集(a single set of the source data);以及拆分源数据集。通常,如果确定目标应用的数据结构需求不支持源数据,则可以进行数据组合过程,以将从源应用中提取的多个源数据集组合成将要由显示设备显示的单个源数据集,作为目标应用中的单个目标数据集。可以进行数据拆分过程,以将从源应用中提取的源数据集拆分成由目标应用支持的多个源数据集。通常,如果确定目标应用不支持源数据,则可以进行数据拆分过程,以将从源应用提取的源数据集拆分为由目标应用支持的多个源数据集。精细处理过程可以由一个或多个硬件处理器和由一个或多个硬件处理器执行的一个或多个软件组件来实现。该***可以包括精细处理器,其被配置为:如果确定目标应用不支持源数据,则将从源应用提取的多个源数据集组合为将要由显示设备显示的单个源数据集,作为目标应用中的单个目标数据集,以及如果确定目标应用的数据结构需求不支持源数据,则将从源应用提取的源数据集拆分由目标应用支持的多个源数据集。精细处理器可以由一个或多个硬件处理器和包括计算机可执行指令的一个或多个软件组件执行,当由一个或多个硬件处理器执行时,使一个或多个硬件处理器执行从源应用提取源数据的过程。
在某些情况下,从源应用中的一个源文件或多个源文件中提取的多个数据集数据A、数据B和数据C需要在目标应用中显示为单个数据集数据D。可以进行数据组合以将多个数据集数据A、数据B和数据C组合成单个数据集数据D,以用于在目标应用中显示单个数据集数据D。在一些情况下,单个数据集数据D不包括所有多个数据集数据A、数据B和数据C。单个数据集数据D可以是多个数据集数据A、数据B和数据C的一部分。多个数据集的组合并不总是简单地将多个数据集数据A、数据B和数据C进行组合。在一些情况下,组合将创建单个数据集数据D,它是多个数据集数据A、数据B和数据C的一部分。
在其他情况下,来自源应用中的源文件的单个数据集数据E可能不被目标应用接受,或者所述单个数据集数据E不符合目标应用的预定义需求。因此,来自源应用中的源文件的单个数据集数据E需要被分成多个数据集,数据E1、数据E2和数据E3,以与目标应用的需求相匹配。可以根据目标应用的预定义需求完成拆分。目标应用的预定义需求也可用于上述源数据的数据结构转换。转换可以是可选的而不是必需的。在某些情况下,即使确定源数据的数据结构与目标数据的数据结构不匹配,也可以不进行转换。在这种情况下,将进行精细处理(例如,拆分)从而使源数据与目标数据匹配。
图6A是将单个源数据集拆分为将与目标数据合并的多个拆分的源数据集合的过程的说明性示例的示图。可以根据目标应用40000的需求来进行用于将单个源数据集拆分为要与目标数据合并的多个拆分的源数据集的过程。由于源应用的数据类型大小可以大于的目标应用,因此需要根据以下规则拆分源数据。源数据不应该超过Unsigned 32(这是4个字节)。如果超过,则自身信号应分配该差异。源信号的数据类型是6个字节的数组,其大小为48(6*8,其中8相当于1个字节)。因此,目标信号应分别为1 unsigned32和1 unsigned16。
图6B是将多个源数据集组合成要与目标数据合并的单个组合的源数据集的过程的说明性示例的示图。由于源应用比目标应用具有更多的列(column),因此需要将某些列合并到至少1列。源列(source columns)显示名称、数据类型、信号类型、布线、数据地址、IOPS地址和IOCS地址全部组合为1个目标列(target column),它是PN信号(PN-Signal)信息。
[合并源数据到目标数据]
该方法可以包括将来自源应用的源数据合并到目标应用中的目标数据中的过程。该过程可以由一个或多个硬件处理器和由一个或多个硬件处理器执行的一个或多个软件组件来实现。该***可以包括提取器,该提取器被配置为将来自源应用的源数据合并到目标应用中的目标数据中。该***可以由一个或多个硬件处理器和包括计算机可执行指令的一个或多个软件组件执行,当由一个或多个硬件处理器执行时,使得一个或多个硬件处理器执行将来自源应用的源数据合并到目标应用中的目标数据中的过程。
将来自源应用的源数据合并到目标应用中的目标数据中的合并过程可以包括但不限于,在处于相关定义状态的至少一部分目标应用和至少一部分源应用之间执行数据结构的层级检查(hierarchical checking),所述相关定义状态(correlated definitionstatus)是指目标应用和目标数据文件中的至少一个的各目标参数,并且是指源应用和源数据文件中的至少一个的各源参数;以及至少部分基于层级检查的结果,对来自源应用的源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的所述目标数据中。
将参照图7至图16来描述合并过程。图7至图13是数据表,其示出了如图5所示的提取、转换、精细处理和合并的每个步骤中的源数据结构和目标数据结构。如上所述,合并过程可以包括但不限于,对处于相关定义状态的至少一部分目标应用和至少一部分源应用之间执行数据结构的层级检查(hierarchical checking),所述相关定义状态是指目标应用和目标数据文件中的至少一个的各目标参数,并且还指源应用和源数据文件中的至少一个的各源参数;以及至少部分基于层级检查的结果,对来自源应用的源数据执行更新、删除和添加中的至少一种,以用于将源数据合并到目标应用中的目标数据中。相关定义状态中的数据结构的层级检查可以根据相关定义状态、通过源应用与目标应用之间的层级结构的逐级(level-by-level)比较来执行,所述相关定义状态是指目标应用和目标数据文件中的至少一个的各目标参数,并且还指源应用和源数据文件中的至少一个的各源参数。
图7示出了表1,其示出了源数据和目标数据的层级数据结构的示例。合并步骤将基于3个参考表中描述的源应用与目标应用之间的相关“定义”状态的“层级”检查的结果。通过执行检查,将确定并执行目标应用的更新/删除/添加操作。源应用和目标应用之间的相关“定义”状态是指源应用(SYCON)中的各参数和目标应用(自动化工程***的工程工具)中的各参数。执行相关“定义”状态的“层级”检查的目的是决定如何合并(更新/删除/添加)来自源应用(SYCON)的数据与目标应用(自动化工程***的工程工具)中的数据。“层级”表示“级别”检查/比较,依次进行根据表3、表5和表6的检查/比较。在分别与表3、表5和表6对应的图14、图15和图16的处理流程中示出了执行“层级”检查的方式。更新/删除/添加操作将基于目标应用和源应用之间的检查/比较结果。在图7的表1中示出源应用和目标应用的数据层级的示例。源应用的数据层次是控制器(controller)、设备(device)、插槽(slot)和子插槽(sub-slot),而目标应用的数据层次是主组(main group)、子组(subordinategroup)、插槽(slot)和子插槽(sub-slot)。图8中的表2示出了源应用和目标应用的数据结构的示例。源数据的数据结构是控制器(controller)、设备名称(device name)、插槽值(slot value)和子插槽值(sub-slot value)。源数据的数据结构为主组名称(main groupname)、从属组名称(subordinate group name)、设备名称(device name)、插槽值(slotvalue)和子插槽值(sub-slot value)。如与流程图14相对应的图9中的表3所示,例如在检查/比较后将删除目标应用中的组B4、组B5,因为在源应用中未定义“设备3”。
如图10中的表4所示,在另一种情况下,尽管设备2在目标应用中未定义,但由于其在源应用中已经定义,因此在源应用中的设备2及其插槽、子插槽将在检查/比较之后被添加到目标应用。将添加2个新的组B(B6、B7)并如下所示(因为设备2有2个子插槽)。
如与图15的流程图相对应的图11中的表5所示,在源应用中可以找到组B1的设备名称(设备1)(它们对于相同的参数(设备名称)具有相同的值),因此,在该逐级比较中比较目标应用中的设备1的各插槽(“父母”下的“子”)和源应用中设备1的各插槽。
如与图16的流程图相对应的图12中的表6所示,可以在源应用中找到组B1的设备名称(设备1)(它们对于相同的参数(设备名称)具有相同的值),并且在表5中比较之后它们也具有相同的插槽值,在此进行至比较目标应用中的插槽下的子插槽(“父母”下的“子”)与源应用的插槽的子插槽的步骤。
如与图16的流程图相对应的图11中的表5所示,由于从属组B3的插槽值3不在源应用中,因此删除从属组B3。关于设备1,插槽2,由于设备1插槽2具有2个子插槽,因此在目标应用中添加两个从属组B作为从属组B8和B9。由于两个从属组B1和B2具有与源应用相同的插槽值“1”,所以两个从属组B1和B2进行至下一次逐级比较。
如与图16的流程图相对应的图13中的表7所示,由于从属组B2的子插槽值3不存在于源应用中,所以删除从属组B2。关于设备1,插槽1,子插槽2,一个从属组B,即从属组B1O将被添加到目标应用中。。通过更新其未在表中呈现的与合并无关的其他参数值来更新从属组B1。在图13的表7中示出了将源数据合并成目标数据之后的最终结果。
图14是如图5所示并且由图4A和4B中自动化工程***20000来实现的合并过程的流程图。图15是包含在图5所示的合并过程中的处理具有匹配设备的源数据和目标数据的流程图。图16是包括在以下处理中的处理具有匹配插槽的源数据和目标数据的流程图,所述处理用于处理图15所示的具有匹配设备的源数据和目标数据二者。
如图14所示,在步骤S11000中,从源文件50000获取从属于组A的所有从属组B和源数据。之后,可以根据相关定义状态(correlated definition status)、通过源应用50000与目标应用40000之间的层级结构的逐级比较(level-by-level comparison),来执行处于相关定义状态的数据结构的层级检查,所述相关定义状态是指目标应用和目标数据文件中的至少一个的各目标参数,还指源应用和源数据文件中的至少一个的各源参数。
在步骤S12000中,在源应用50000和目标应用40000之间的层级结构的逐级比较包括判断步骤,其中判断是否满足第一条件,所述第一条件是指从目标应用40000获得的主组具有从目标应用40000获得的各从属组,其中各从属组从属于主组;并且另外判断是否满足第二条件,所述第二条件是指从源应用提取的源数据具有至少一个设备的数据集。如果确定同时满足第一条件和第二条件,则在从源应用50000提取的源数据与目标应用40000的从属组中的已有数据之间的层级结构中进行逐级比较。在一些情况下,第一条件和第二条件可以是,在从属组的已有数据或目标数据以及源数据中都存在PROFINET设置。
在步骤S13000中,在源应用50000和目标应用40000之间的层级结构中的逐级比较包括判断步骤,其中如果确定同时满足第一条件和第二条件,则在源数据和目标数据之间进行设备数据设置(device data setting)的比较。目标数据也可以被称为存在于目标应用40000中的已有数据。在源数据和目标数据之间比较设备数据设置可以包括以下三个过程。
在步骤S13100中,判断具有至少一个设备的数据集的源数据是否存在于任何从属组中(subordinate-groups)。
在步骤S13400中,如果确定任何从属组中不存在具有至少一个设备的源数据,则判断所述至少一个设备是否具有该至少一个设备的至少一个子模块(sub-module)。
在步骤S13500中,如果确定所述至少一个设备具有至少一个子模块,则创建新的不同的各从属组,这些从属组从属于主组。
在步骤S13200中,判断具有至少一个设备的数据集的源数据是否存在于任何从属组中。
在步骤S13200之后,判断具有至少一个设备的相关数据集的从属组是否存在于源数据中。如果确定具有至少一个设备的相关数据集的从属组不存在于源数据中,则标记从属组以用于删除。
在步骤S13600中,如果确定存在用于删除的任何从属组,则删除标记为删除的一个从属组或多个从属组。
在步骤S13300中,判断源数据是否具有至少一个设备的数据集,并且判断任何从属组是否与所述至少一个设备的所述数据集(该数据集与所述源数据的所述至少一个设备的数据集相匹配)相关联。
在步骤S13700中,处理与匹配数据相关联的源数据以及与匹配数据相关联的已有数据,这将在稍后参照图15进行描述。
在步骤S14000中,如果确定不满足第一条件但满足第二条件,则判断源数据是否具有至少一个设备的至少一个设备设置数据集(device setting data set)。
在步骤S14100中,如果确定源数据具有至少一个设备的至少一个设备设置数据集,则判断源数据是否具有至少一个设备的至少一个子模块的数据集。
在步骤S14200中,如果确定源数据具有至少一个子模块,则创建从属于主组的新的不同的各从属组。
在步骤S15000中,判断是否满足第一条件,是否不满足第二条件。
在步骤S15100中,如果确定满足第一条件而不满足第二条件,则执行标记从属于主组的所有从属组以用于删除的处理。
在步骤S15200中,删除标记的从属组。
参考图15,在步骤S13700中处理来自源应用中的源数据和目标应用中的已有数据包括:在步骤S13710中进行判断,用于判断是否满足第三条件,所述第三条件是指与用于过程现场网络的至少一个从属组相关的至少一个插槽具有值;并且判断是否满足第四条件,所述第四条件是指源数据与用于过程现场网络的插槽相关联。在步骤S13721中,如果确定满足第三条件和第四条件,则判断是否存在与不存在于任何从属组的插槽相关的源数据。在步骤S13730中,如果确定存在与不存在于任何从属组的插槽相关的源数据,则判断源数据是否与所述插槽相关联。在步骤S13740中,如果确定源数据与插槽相关联,则创建新的不同的各从属组,这些从属组从属于主组。在步骤S13722中,如果确定满足第三条件和第四条件,则判断是否存在与不存在于源数据中的插槽相关联的从属组。在步骤S13750中,如果确定从属组与不存在于源数据中的插槽相关联,则将该从属组标记以用于删除。在步骤S13770中,删除被标记为删除的从属组。步骤S13710中的处理来自源应用中的源数据和目标应用中的已有数据还包括:步骤13723中的判断过程,用于判断源数据是否与一个插槽相关联,以及判断任何从属组是否与一个插槽(该插槽与源数据相关的那一个插槽相匹配)相关联,如果确定满足第三条件和第四条件。在步骤S13760中,如果确定源数据和任何从属组与匹配插槽相关联,则进行用于处理与匹配插槽相关联的源数据和与匹配插槽相关联的已有数据的处理,如图16所示。
在步骤13760中处理与匹配插槽相关联的源数据和与匹配插槽相关联的已有数据包括步骤S13761,在该步骤中判断是否满足第五条件,所述第五条件是指与用于过程现场网络的从属组中的至少一个相关的至少一个子插槽具有值;并且判断是否满足第六条件,所述第六条件是指源数据具有用于过程现场网络的至少一个设备子模块(device sub-module)的数据集。
在步骤S13762中,如果确定满足第五条件和第六条件,则判断是否存在与不存在于任何从属组中的子插槽相关联的源数据。
在步骤S13765中,如果存在与不存在于任何从属组中的子插槽相关联的源数据,则创建从属于主组的新的不同的各从属组。
在步骤S13763中,如果确定满足第五条件和第六条件,则判断是否存在与不存在于源数据中的子插槽相关联的从属组。
在步骤S13766中,如果确定从属组与不存在于源数据中的子插槽相关联,则标记该从属组以用于删除。
在步骤S13768中,删除被标记为删除的从属组。
在步骤S13764中,如果确定满足第五条件和第六条件,判断源数据是否与子插槽相关联,并且判断任何从属组是否与所述子插槽(所述子插槽与源数据相关联的那个子插槽相匹配)相关联。
在步骤S13767中,如果源数据与一个子插槽相关联,并且任何从属组与一个子插槽(该子插槽与源数据相关的那个子插槽相匹配)相关联,则更新从属组以与源数据匹配。
该***可以通过单一用户输入(单击或一次点击)从其他应用获取数据,以将数据从一个或多个应用导入目标应用,从而提高效率。用户不需要做任何准备,“一次点击”可以帮助选择期望的数据。该***可以自动处理输入文件与目标数据。不需要进一步处理数据。该***可以在各应用之间提供用户友好的、可定制的和无差错的数据导入作为识别。该***可以过滤数据以获得有效导入所需的数据。与用户手动过滤和合并所有数据相比,该***可以更有效地提供数据的全自动合并。通过实施可定制的数据识别/处理过程,该***可以容易且准确地从源文件获得目标应用期望的数据。不需要用户选择来识别和获取目标应用期望的数据。
一些修改可以是可用的,例如但不限于,两个或更多个源文件可以作为输入。源文件可以来自两个或更多的应用。两个或更多源文件中的每一个可以具有彼此不同的格式。可以在将数据从源应用合并到目标应用之前完成转换。提取条件可以是一组可编辑配置的规则。提取规则可以存储在单独的文件中,用于更改提取规则,而无需重新安装/修补目标应用。但是,在本发明中,提取规则嵌入到目标应用中,因此,不能对提取规则进行改变,因此不可编辑。
上述用于游戏装置的每个元件或设备可以通过具有软件或不具有软件的硬件来实现。在一些情况下,游戏装置可以由一个或多个硬件处理器和一个或多个软件组件来实现,其中一个或多个软件组件将由一个或多个硬件处理器执行以实现用于游戏装置的每个元件或设备。在一些其他情况下,游戏装置可以通过被配置为执行游戏装置的每个元件或设备的每个操作的电路或电路***来实现。
上述实施例中的***和方法可以通过在一个或多个处理器上执行计算机软件、软件组件、程序代码和/或指令的机器或电路***来部分地或全部地实现。该一个或多个处理器可以是通用计算机、服务器、云服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的一部分。一个或多个处理器可以是能够执行程序指令、代码、二进制指令等的任何种类的一个计算设备或处理设备或多个计算设备或处理设备。一个或多个处理器可以是或包括信号处理器、数字处理器、嵌入式处理器、微处理器或者可以直接或间接地促进其上存储的程序代码或程序指令的执行的任何变型,诸如协同处理器,例如数学协同处理器、图形协同处理器、通信协同处理器等。另外,一个或多个处理器可以使得能够执行多个程序、线程和代码。可以同时执行各线程以增强一个或多个处理器的性能并促进应用的同时操作。此处描述的程序代码、程序指令等可以在一个或多个线程中实现。一个或多个处理器可以包括存储器,其存储如本文所述的代码、指令和程序。处理器可以通过接口来访问非暂时性处理器可读存储介质,其可以存储在此和别处描述的代码、指令和程序。与处理器相关联以用于存储能够由计算设备或处理设备执行的程序、代码、程序指令或其他类型的指令的非暂时性处理器可读存储介质可以包括但不限于以下中的一个或多个:存储器、硬盘、闪存驱动器、RAM、ROM、CD-ROM、DVD、缓存等。
处理器可以包括可以增强多处理器的速度和性能的一个或多个内核。在一些实施例中,该过程可以是组合两个或更多个独立核的双核处理器、四核处理器、其他芯片级多处理器等。
这里描述的方法和***可以通过在服务器、客户端、防火墙、网关、集线器、路由器或其他这样的计算机和/或联网硬件上执行计算机软件的机器部分或全部部署。
软件程序可以与一个或多个客户端相关联,其可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端以及其它变型,诸如次客户端、主客户端、分布式客户端等。客户端可以包括存储器、处理器、计算机可读介质、存储介质、物理端口和虚拟端口、通信设备、以及能够通过有线或无线介质访问其他客户端、服务器、机器和设备的多种接口中的一个或多个,等等。这里描述的程序或代码可以由客户端执行。另外,执行本申请中描述的方法所需的其他设备可以被认为是与客户端相关联的基础设施的一部分。客户端可以提供与包括服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等的其他设备的接口。这种耦接和/或连接可以有助于通过网络远程执行程序。这些设备中的一些或全部的联网可以促进在一个或多个位置处的程序或方法的并行处理。另外,通过接口连接到客户端的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央库可以提供要在不同设备上执行的程序指令。在这种实施方式中,远程库可以作为程序代码、指令和程序的存储介质。
软件程序可以与一个或多个服务器相关联,该服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器以及其它变型,诸如辅助服务器、主机服务器、分布式服务器等。服务器可以包括存储器、处理器、计算机可读介质、存储介质、物理端口和虚拟端口、通信设备和能够通过有线或无线介质访问其他服务器、客户端、机器和设备的接口中的一个或多个,等等。这里描述的方法、程序或代码可以由服务器执行。另外,执行本申请中描述的方法所需的其他设备可以被认为是与服务器相关联的基础设施的一部分。服务器可以提供到包括客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器、社交网络等的其他设备的接口。这种耦接和/或连接可以有助于通过网络远程执行程序。这些设备中的一些或全部的联网可以促进在一个或多个位置处的程序或方法的并行处理。通过接口附接到服务器的任何设备可以包括能够存储程序、代码和/或指令的至少一个存储介质。中央库可以提供要在不同设备上执行的程序指令。在这个实施方式中,远程库可以作为程序代码、指令和程序的存储介质。
这里描述的方法和***可以通过网络基础设施部分或全部部署。网络基础设施可以包括各种元件,诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备以及本领域已知的其他有源设备和无源设备、模块和/或组件。除了其他组件之外,与网络基础设施相关联的计算设备和/或非计算设备可以包括诸如闪存、缓冲器、堆栈、RAM、ROM等的存储介质。本文和别处描述的过程、方法、程序代码、指令可以由一个或多个网络基础设施元件执行。
这里描述的方法、程序代码和指令可以在具有多个小区的蜂窝网络上实现。蜂窝网络可以是频分多址(FDMA)网络或码分多址(CDMA)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器、天线、塔等。小区网络可以是GSM、GPRS、3G、EVDO、网格或其他网络类型。
本文和别处描述的方法、程序代码和指令可以在移动设备上或通过移动设备来实现。移动设备可以包括导航设备、手机、移动电话、移动个人数字助理、便携式电脑、掌上电脑、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其他组件之外,这些设备可以包括诸如闪存、缓冲器、RAM、ROM的存储介质和一个或多个计算设备。可以启用与移动设备相关联的计算设备以执行存储在其上的程序代码、方法和指令。可替换地,移动设备可以被配置为与其他设备协作来执行指令。移动设备可以与服务器交互的基站进行通信并被配置为执行程序代码。移动设备可以在点对点网络、网状网络或其他通信网络上通信。程序代码可以存储在与服务器相关联的存储介质上并且由嵌入在服务器内的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。
计算机软件、程序代码和/或指令可以被储存在机器可读介质上,并且被访问,该机器可读介质可以包括:计算机组件、设备和记录介质,其将用于计算的数字数据保存一段时间;被称为随机存取存储器(RAM)的半导体存储器;通常用于更永久存储的大容量存储器,例如光盘、磁盘存储器形式(如硬盘、磁带、鼓、卡)和其他类型;处理器寄存器、高速缓存、易失性存储器、非易失性存储器;光存储器,如CD、DVD;诸如闪存之类的可移动媒体,例如USB棒或密钥、软盘、磁带、纸带、打孔卡、独立RAM盘、Zip驱动器、可移动大容量存储器、脱机等等;其他计算机存储器,例如动态内存、静态内存、读/写内存、可变存储器、只读存储器、随机存取存储器、顺序存取存储器、位置可寻址存储器、文件可寻址存储器、内容可寻址存储器、网络附加存储器、存储器区域网络、条形码、磁性墨水等等。
这里描述的方法、装置、设备和***可以将物理项和/或无形项从一个状态转换到另一个状态。这里描述的方法和***还可以将表示物理项和/或无形项的数据从一个状态变换到另一个状态。
本文所述的模块、引擎、组件和元件(包括整个附图中的流程图和框图)意味着模块、引擎、组件和元件之间的逻辑边界。然而,根据软件或硬件工程设计实践,模块、引擎、组件和元件及其功能可以作为单片软件结构,作为独立软件模块,或者作为采用外部例程、代码、服务的模块或这些的任何组合,而在一个或多个处理器、计算机、机器上通过计算机可执行介质来实现,该介质能够执行存储在其上的程序指令,并且所有这样的实现可以在本公开的范围内。这种机器的示例可以包括但不限于,个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持式计算设备、医疗设备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板电脑、电子书、小配件、电子设备、具有人工智能的设备、计算设备、网络设备、服务器、路由器、嵌入处理器的眼镜等。此外,流程图和框图中的模块、引擎、组件和元件或任何其他逻辑组件可以在能够执行程序指令的一个或多个机器、计算机或处理器上实现。虽然前述描述以及该描述所参照的附图阐述了所公开的***的一些功能方面,但是除非明确陈述或者另外从上下文中明确,否则不应从这些描述中推断用于实现这些功能方面的软件的特定布置。还将意识到,上面所标识和描述的各个步骤可以变化,并且各步骤的顺序可以适应于本文公开的技术的特定应用。所有这些变化和修改都意在落入本公开的范围内。对于各种步骤的顺序的描述不应被理解为这些步骤需要以特定顺序执行,除非特定应用需要,或者从上下文明确陈述或以其他方式明确。
上述方法和/或过程及其步骤可以用硬件、软件或适用于特定应用的硬件和软件的任意组合来实现。硬件可以包括通用计算机和/或专用计算设备或特定计算设备或特定计算设备的特定方面或组件。这些过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备以及内部和/或外部存储器中实现。这些过程还可以或替代地体现在可被配置为处理电子信号的专用集成电路、可编程门阵列、可编程阵列逻辑或任何其他设备或设备的组合中。将进一步理解的是,一个或多个过程可以被实现为能够在机器可读介质上执行的计算机可执行代码。
计算机可执行代码可以使用诸如C的结构化编程语言,诸如C++的面向对象的编程语言或者任何其他高级或低级编程语言(包括汇编语言、硬件描述语言和数据库编程语言和技术),所述代码可以存储、编译或解释为在上述设备以及处理器的异构组合、处理器架构或不同硬件和软件的组合,或能够执行程序指令的任何其他机器中的一个上运行。
因此,在一个方面中,上述每个方法及其组合可以体现在计算机可执行代码中,当在一个或多个计算设备上执行时,执行其步骤。另一方面,所述方法可以体现在执行其步骤的***中,并且可以以多种方式跨设备分布,或者所有功能可以被集成到专用独立设备或其他硬件中。在另一方面,用于执行与上述过程相关联的步骤的构件可以包括上述的任何硬件和/或软件。所有这样的置换和组合都旨在落入本公开的范围内。
尽管已经描述了本发明的某些实施例,但是这些实施例仅以示例的方式给出,并不旨在限制本发明的范围。实际上,这里描述的新颖实施例可以以各种其他形式来实施;此外,在不脱离本发明的精神的情况下,可以对这里描述的实施例的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在覆盖落入本发明的范围和精神内的这些形式或修改。
Claims (29)
1.一种由工业工厂中的控制***执行的计算机实现方法,所述控制***包括一个或多个硬件处理器以及由所述一个或多个硬件处理器待执行的一个或多个软件组件,所述方法包括:
从源应用提取源数据;
对处于相关定义状态的目标应用的至少一部分和源应用的至少一部分之间执行数据结构的层级检查,所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,还指所述源应用和源数据文件中的至少一个的各源参数;以及
至少部分地基于所述层级检查的结果来对来自所述源应用的所述源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的目标数据中。
2.根据权利要求1所述的计算机实现方法,其中从所述源应用提取所述源数据包括:
至少部分地基于所述目标应用的需求从所述源应用中选择源数据;
根据过程现场网络的预定义的行业通信协议,判断所述目标应用是否支持所选择的源数据;以及
如果根据所述预定义的行业通信协议确定所述目标应用支持所选择的源数据,则确认所选择的源数据。
3.根据权利要求2所述的计算机实现方法,其中判断是否支持所选择的源数据包括:
确定由所述目标应用支持的支持条件下的提取规则集,所述支持条件包括所述预定义的行业通信协议,
其中判断是否支持所选择的源数据包括:根据所述提取规则集来判断是否支持所选择的源数据。
4.根据权利要求2所述的计算机实现方法,
其中执行处于所述相关定义状态的数据结构的所述层级检查包括:
根据所述相关定义状态,在所述源应用与所述目标应用之间执行层级结构的逐级比较,所述相关定义状态是指所述目标应用和所述目标数据文件中的至少一个的各目标参数,还指所述源应用和所述源数据文件中的至少一个的各源参数。
5.根据权利要求4所述的计算机实现方法,其中,在所述源应用与所述目标应用之间执行层级结构的逐级比较进一步包括:
判断是否满足第一条件,所述第一条件是指从所述目标应用获取的主组具有从目标应用获取的各从属组,其中所述各从属组从属于所述主组;
判断是否满足第二条件,所述第二条件是指从所述源应用提取的源数据具有至少一个设备的数据集;以及
如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的所述各从属组中的目标数据之间,执行所述层级结构的逐级比较。
6.根据权利要求5所述的计算机实现方法,其中,如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的所述各从属组中的目标数据之间执行逐级比较包括:
判断具有所述至少一个设备的数据集的源数据是否存在于任意一个从属组中;
如果确定具有所述至少一个设备的源数据不存在于任意一个从属组中,则判断所述至少一个设备是否具有所述至少一个设备的至少一个子模块;以及
如果确定所述至少一个设备具有所述至少一个子模块,则创建从属于所述主组的新的不同的从属组。
7.根据权利要求5所述的计算机实现方法,其中,如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的所述各从属组中的目标数据之间执行逐级比较包括:
判断具有所述至少一个设备的关联数据集的从属组是否存在于所述源数据中;
如果确定具有所述至少一个设备的关联数据集的从属组不存在于所述源数据中,则标记所述从属组以用于删除;以及
如果确定存在用于删除的任何从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
8.根据权利要求6所述的计算机实现方法,其中如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的所述各从属组中的目标数据之间执行逐级比较,包括:
判断具有所述至少一个设备的数据集的从属组是否存在于所述源数据中;
如果确定具有至少一个设备的数据集的从属组不存在于所述源数据中,则标记该从属组以用于删除;
判断是否存在被标记为删除的任意从属组;以及
如果确定存在用于删除的任意从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
9.根据权利要求5所述的计算机实现方法,其中如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的各从属组中的目标数据之间执行逐级比较,包括:
判断所述源数据是否具有所述至少一个设备的数据集,并且判断所述各从属组中的任意一个从属组是否与至少一个设备的数据集相关,该至少一个设备的数据集与所述源数据的至少一个设备的数据集相匹配;
处理与匹配数据相关的源数据以及与所述匹配数据相关的目标数据;
判断是否存在用于删除的任何从属组;以及
如果确定存在用于删除的任何从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
10.根据权利要求6所述的计算机实现方法,其中,如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的各从属组中的目标数据之间执行逐级比较,包括:
判断所述源数据是否具有所述至少一个设备的数据集,并且判断所述各从属组中的任意一个从属组是否与至少一个设备的数据集相关,该至少一个设备的数据集与所述源数据的至少一个设备的数据集相匹配;
处理与匹配数据相关的源数据以及与所述匹配数据相关的目标数据;
判断是否存在用于删除的任何从属组;以及
如果确定存在用于删除的任何从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
11.根据权利要求8所述的计算机实现方法,其中,如果确定同时满足所述第一条件和所述第二条件,则在从所述源应用提取的所述源数据与所述目标应用的各从属组中的目标数据之间执行逐级比较包括:
判断所述源数据是否具有所述至少一个设备的数据集,并且判断所述各从属组中的任意一个从属组是否与至少一个设备的数据集相关,该至少一个设备的数据集与所述源数据的至少一个设备的所述数据集相匹配;
处理与匹配数据相关的源数据以及与所述匹配数据相关的目标数据;
判断是否存在用于删除的任意从属组;以及
如果确定存在用于删除的任意从属组,则删除被标记为删除的一个从属组或被标记为删除的多个从属组。
12.根据权利要求5所述的计算机实现方法,还包括:
如果确定不满足所述第一条件而满足所述第二条件,则判断所述源数据是否具有所述至少一个设备的至少一个子模块的数据集;
如果确定所述源数据具有所述至少一个子模块,则创建从属于所述主组的新的不同的从属组;
如果确定满足第一条件而不满足第二条件,则标记从属于所述主组的所有的从属组以用于删除;以及
删除所有的从属组。
13.根据权利要求11所述的计算机实现方法,还包括:
如果确定不满足所述第一条件而满足所述第二条件,则判断所述源数据是否具有所述至少一个设备的至少一个子模块的数据集;
如果确定所述源数据具有所述至少一个子模块,则创建从属于所述主组的新的不同的从属组;
如果确定满足所述第一条件而不满足所述第二条件,则标记属于所述主组的所有的从属组以用于删除;以及
删除所有的从属组。
14.根据权利要求9所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据包括:
判断是否满足第三条件,所述第三条件是指与用于所述过程现场网络的至少一个从属组相关联的至少一个插槽具有值;以及
判断是否满足第四条件,所述第四条件是指所述源数据与用于所述过程现场网络的插槽相关联。
15.根据权利要求14所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断是否存在与不存在于任意从属组中的插槽相关联的源数据;
如果确定存在与不存在于任意从属组中的插槽相关联的源数据,则判断所述源数据是否与所述该插槽相关联;以及
如果确定所述源数据与所述插槽相关联,则创建从属于所述主组的新的不同的从属组。
16.根据权利要求14所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断是否存在与不存在于所述源数据中的插槽相关的从属组;
如果确定存在与不存在于所述源数据中的插槽相关的从属组,则标记所述从属组以用于删除;以及
删除被标记为删除的从属组。
17.根据权利要求15所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断是否存在与不存在于所述源数据中的插槽相关联的从属组;以及
如果确定存在与不存在于所述源数据中的插槽相关联的从属组,则标记所述从属组以用于删除。
18.根据权利要求14所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断所述源数据是否与插槽相关联,并且判断任意从属组是否与插槽相关,该插槽与和所述源数据相关联的所述插槽相匹配;以及
如果确定所述源数据和任意从属组与匹配插槽相关联,则处理与所述匹配插槽相关联的源数据以及与所述匹配插槽相关联的目标数据。
19.根据权利要求15所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断所述源数据是否与插槽相关联,并且判断任意一个从属组是否与插槽相关,该插槽与和所述源数据相关联的所述插槽相匹配;以及
如果确定所述源数据和任意一个从属组与匹配插槽相关联,则处理与所述匹配插槽相关联的源数据以及与所述匹配插槽相关联的目标数据。
20.根据权利要求16所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断所述源数据是否与插槽相关联,并且判断任意一个从属组是否与插槽相关,该插槽与和所述源数据相关联的所述插槽相匹配;以及
如果确定所述源数据和任意一个从属组与匹配插槽相关联,则处理与所述匹配插槽相关联的源数据以及与所述匹配插槽相关联的目标数据。
21.根据权利要求17所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断所述源数据是否与插槽相关联,并且判断任意一个从属组是否与插槽相关,该插槽与和所述源数据相关联的所述插槽相匹配;以及
如果确定所述源数据和任意一个从属组与匹配插槽相关联,则处理与所述匹配插槽相关联的源数据以及与所述匹配插槽相关联的目标数据。
22.根据权利要求13所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
在确定满足所述第三条件而不满足所述第四条件的情况下,如果确定存在与不存在于所述源数据中的插槽相关联的从属组,则确定该从属组以用于删除;以及
删除被标记为删除的从属组。
23.根据权利要求18所述的计算机实现方法,其中处理与所述匹配插槽相关联的所述源数据以及与所述匹配插槽相关联的所述目标数据进一步包括:
判断是否满足第五条件,所述第五条件指的是与用于所述过程现场网络的至少一个从属组相关联的至少一个子插槽具有值;以及
判断是否满足第六条件,所述第六条件是指所述源数据具有用于所述过程现场网络的至少一个设备子模块的数据集。
24.根据权利要求23所述的计算机实现方法,其中处理来自所述源应用的所述源数据和所述目标应用中的所述目标数据进一步包括:
如果确定满足所述第三条件和所述第四条件,则判断所述源数据是否与插槽相关联,并且判断任意一个从属组是否与插槽相关联,该插槽与和所述源数据相关联的所述插槽相匹配;
如果确定所述源数据和任意一个从属组与匹配插槽相关联,则处理与所述匹配插槽相关联的源数据以及与所述匹配插槽相关联的目标数据;
如果确定满足所述第五条件和所述第六条件,则判断是否存在与不存在于任意一个从属组中的子插槽相关联的源数据;
如果存在与不存在于任意一个从属组中的子插槽相关联的源数据,则创建从属于所述主组的新的不同的从属组;
如果确定满足所述第五条件和所述第六条件,则判断是否存在与所述不存在于源数据中的子插槽相关联的从属组;
如果确定存在与所述不存在于源数据中的子插槽相关联的从属组,则标记该从属组以用于删除;
删除被标记为删除的从属组;
如果确定满足所述第五条件和所述第六条件,则判断所述源数据是否与子插槽相关联,并且判断任意一个从属组是否与子插槽相关联,该子插槽与和所述源数据相关联的所述子插槽相匹配;以及
如果所述源数据与子插槽相关联,并且任意一个从属组与子插槽相关联,该子插槽与和所述源数据相关联的所述子插槽相匹配,则更新所述从属组以与所述源数据相匹配。
25.根据权利要求1所述的计算机实现方法,还包括:
判断从所述源应用提取的源数据的至少一部分在数据结构方面是否与所述目标应用中的目标数据的至少一部分不匹配;以及
如果确定所述源数据的至少一部分在数据结构方面与所述目标应用的目标数据的至少一部分不匹配,则根据目标应用的数据结构需求来转换源数据结构,从而与目标数据结构相匹配。
26.根据权利要求25所述的计算机实现方法,还包括:
如果确定所述目标应用的数据结构需求不支持所述源数据,则将从所述源应用提取的多个源数据集组合为待由显示设备显示的单个源数据集,作为所述目标应用中的单个目标数据集。
27.根据权利要求25所述的计算机实现方法,还包括:
如果确定所述目标应用的数据结构需求不支持所述源数据,则将从所述源应用提取的源数据集拆分为由所述目标应用支持的多个源数据集。
28.一种工业工厂中的控制***,所述控制***包括一个或多个硬件处理器以及包括计算机可执行指令的一个或多个软件组件,所述计算机可执行指令由所述一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行以下方法,包括:
从源应用提取源数据;
判断从所述源应用提取的源数据的至少一部分在数据结构方面是否与目标应用中的目标数据的至少一部分不匹配;
如果确定所述源数据的至少一部分在数据结构方面与所述目标应用中的目标数据的至少一部分不匹配,则根据所述目标应用的数据结构需求将源数据结构转换为与目标数据结构相匹配;
对处于相关定义状态的所述目标应用和所述源应用之间执行数据结构的层级检查,所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,还指所述源应用和源数据文件中的至少一个的各源参数;以及
至少部分地基于所述层级检查的结果来对来自所述源应用的源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的目标数据中,
其中所述计算机实现***被配置为通信地耦接到现场控制设备,所述现场控制设备被配置为控制至少一个现场设备,并且所述计算机实现***被配置为将合并的目标数据发送到所述现场控制设备。
29.一种存储计算机可读程序的非暂时性计算机可读存储介质,当由工业工厂中的控制***的一个或多个硬件计算机执行所述计算机可读程序时,使所述一个或多个计算机执行以下方法,包括:
从源应用提取源数据;
判断从所述源应用提取的源数据的至少一部分在数据结构方面是否与目标应用中的目标数据的至少一部分不匹配;
如果确定所述源数据的至少一部分在数据结构方面与所述目标应用中的目标数据的至少一部分不匹配,则根据所述目标应用的数据结构需求转换源数据结构,从而与目标数据结构相匹配;
对处于相关定义状态的目标应用和源应用之间执行数据结构的层级检查,所述相关定义状态是指所述目标应用和目标数据文件中的至少一个的各目标参数,还指所述源应用和源数据文件中的至少一个的各源参数;以及
至少部分地基于所述层级检查的结果来对来自所述源应用的源数据执行更新、删除和添加中的至少一种,以用于将所述源数据合并到所述目标应用中的目标数据中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/631,398 | 2017-06-23 | ||
US15/631,398 US10936563B2 (en) | 2017-06-23 | 2017-06-23 | System and method for merging a source data from a source application into a target data of a target application |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117431A true CN109117431A (zh) | 2019-01-01 |
CN109117431B CN109117431B (zh) | 2023-09-29 |
Family
ID=62217726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810634915.6A Active CN109117431B (zh) | 2017-06-23 | 2018-06-20 | 用于将来自源应用的源数据合并至目标应用的目标数据的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10936563B2 (zh) |
EP (1) | EP3418913A1 (zh) |
JP (1) | JP7131119B2 (zh) |
CN (1) | CN109117431B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639091A (zh) * | 2020-06-04 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 一种基于并表的多表合并方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230169070A1 (en) * | 2021-11-29 | 2023-06-01 | International Business Machines Corporation | Data Transformations for Mapping Enterprise Applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467529A (zh) * | 2010-11-11 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种元数据同步方法和*** |
CN103399888A (zh) * | 2013-07-19 | 2013-11-20 | 广东电网公司电力科学研究院 | 电网模型数据的差分同步方法及*** |
US9430114B1 (en) * | 2011-11-03 | 2016-08-30 | Pervasive Software | Data transformation system, graphical mapping tool, and method for creating a schema map |
CN106033436A (zh) * | 2015-03-13 | 2016-10-19 | 中国石油化工股份有限公司 | 一种数据库的合并方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7802238B2 (en) | 2001-06-22 | 2010-09-21 | Invensys Systems, Inc. | Process control script development and execution facility supporting multiple user-side programming languages |
US8392602B2 (en) | 2005-09-30 | 2013-03-05 | Rockwell Automation Technologies, Inc. | Embedding controllers and devices with data to facilitate up-to-date control and configuration information |
US8275783B2 (en) | 2007-08-01 | 2012-09-25 | Nec Corporation | Conversion program search system and conversion program search method |
EP3835893B1 (en) | 2008-05-02 | 2023-07-12 | AVEVA Software, LLC | System for maintaining unified access to scada and manufacturing execution system (mes) information |
US20100057673A1 (en) | 2008-09-04 | 2010-03-04 | Boris Savov | Reusable mapping rules for data to data transformation |
US9354629B2 (en) | 2009-02-19 | 2016-05-31 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure a process control system using an electronic description language script |
JP5613118B2 (ja) | 2011-07-22 | 2014-10-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 変換規則生成支援装置、方法、およびプログラム |
US8626799B2 (en) * | 2011-10-03 | 2014-01-07 | International Business Machines Corporation | Mapping data structures |
US20130226944A1 (en) * | 2012-02-24 | 2013-08-29 | Microsoft Corporation | Format independent data transformation |
US20130246376A1 (en) | 2012-03-16 | 2013-09-19 | Infosys Limited | Methods for managing data intake and devices thereof |
US11138220B2 (en) * | 2016-11-27 | 2021-10-05 | Amazon Technologies, Inc. | Generating data transformation workflows |
US10223433B2 (en) * | 2017-01-25 | 2019-03-05 | International Business Machines Corporation | Data mapper |
-
2017
- 2017-06-23 US US15/631,398 patent/US10936563B2/en active Active
-
2018
- 2018-05-03 EP EP18170547.6A patent/EP3418913A1/en not_active Ceased
- 2018-06-20 CN CN201810634915.6A patent/CN109117431B/zh active Active
- 2018-06-22 JP JP2018118686A patent/JP7131119B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467529A (zh) * | 2010-11-11 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种元数据同步方法和*** |
US9430114B1 (en) * | 2011-11-03 | 2016-08-30 | Pervasive Software | Data transformation system, graphical mapping tool, and method for creating a schema map |
CN103399888A (zh) * | 2013-07-19 | 2013-11-20 | 广东电网公司电力科学研究院 | 电网模型数据的差分同步方法及*** |
CN106033436A (zh) * | 2015-03-13 | 2016-10-19 | 中国石油化工股份有限公司 | 一种数据库的合并方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639091A (zh) * | 2020-06-04 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 一种基于并表的多表合并方法 |
CN111639091B (zh) * | 2020-06-04 | 2023-09-19 | 山东汇贸电子口岸有限公司 | 一种基于并表的多表合并方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180373740A1 (en) | 2018-12-27 |
JP2019008799A (ja) | 2019-01-17 |
CN109117431B (zh) | 2023-09-29 |
EP3418913A1 (en) | 2018-12-26 |
US10936563B2 (en) | 2021-03-02 |
JP7131119B2 (ja) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107958057B (zh) | 一种用于异构数据库中数据迁移的代码生成方法及装置 | |
US7367006B1 (en) | Hierarchical, rules-based, general property visualization and editing method and system | |
US10061881B2 (en) | Circuit design system and circuit design method | |
JP6805832B2 (ja) | 複数ワークシートのエクスポートの生成 | |
CN106406999A (zh) | 计算***和计算***的执行控制方法 | |
CN107871230A (zh) | 创建工程项目的自动化工程***、方法和计算机程序产品 | |
CN113268227A (zh) | 一种零代码可视化的软件开发平台及开发方法 | |
US20160275219A1 (en) | Simulating an industrial system | |
JP4648386B2 (ja) | 設計支援装置、設計支援方法、設計支援プログラム | |
CN109117431A (zh) | 用于将来自源应用的源数据合并至目标应用的目标数据的***和方法 | |
CN105446952A (zh) | 用于处理语义片段的方法和*** | |
JP4477531B2 (ja) | データインポート方法およびデータインポート装置 | |
Qiao et al. | Data driven design and simulation system based on XML | |
JP2023012395A (ja) | 仮想開発環境装置、方法および記録媒体 | |
CN117892665A (zh) | 基于电路***级模型的建模仿真方法、装置、介质及设备 | |
JP3786003B2 (ja) | フィールド機器管理装置 | |
CN103186384A (zh) | 一种面向业务组件的软件设计分析***及其使用方法 | |
CN109670082B (zh) | 用于设计数据分析的***和方法 | |
JP4995009B2 (ja) | Pod画面生成装置、そのプログラム | |
CN114385243B (zh) | 一种控制编排引擎用指令自动化下发方法及装置 | |
CN116483707A (zh) | 测试方法、装置、设备、存储介质及程序产品 | |
CN114356379A (zh) | 基于备份的服务升级方法、装置、设备及存储介质 | |
CN113506099A (zh) | 申报业务的配置***、方法、计算机设备和存储介质 | |
CN112214501A (zh) | 用于利用序列库的模块工程化的***和方法 | |
JP2008262265A (ja) | セルコンセプトを用いた設計方法、図面作成装置、プログラム、および記録媒体 |
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 |