CN101853165A - 一种用于组态软件中库的管理方法及系统 - Google Patents
一种用于组态软件中库的管理方法及系统 Download PDFInfo
- Publication number
- CN101853165A CN101853165A CN201010192581A CN201010192581A CN101853165A CN 101853165 A CN101853165 A CN 101853165A CN 201010192581 A CN201010192581 A CN 201010192581A CN 201010192581 A CN201010192581 A CN 201010192581A CN 101853165 A CN101853165 A CN 101853165A
- Authority
- CN
- China
- Prior art keywords
- storehouse
- library
- amended
- information
- user
- 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/40—Transformation of program code
- G06F8/54—Link editing before load time
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于组态软件中库的管理方法和系统,其中,所述方法包括:获取修改指令,根据所述修改指令对当前库进行修改;将所述当前库的信息进行备份,并对修改后的库信息进行备份;根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。通过本发明,可以避免当原有库发生修改时,外部任务引用修改后的库而产生错误的情形,同时,避免由于库的修改,而导致的自定义库的冗余。
Description
技术领域
本发明涉及组态软件技术领域,更具体地说,涉及一种用于组态软件中库的管理方法及系统。
背景技术
组态软件是指数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件的作用主要是利用库中提供的功能模块完成用户所需要的逻辑控制功能,用组态软件中提供的库代替计算机编程,达到快速高效的完成任务的目的。
在工业控制领域,组态软件利用库中提供的强大的功能模块,方便工程师快速的组织算法,完成所需功能,组态软件中的库是构成算法的基础。组态软件中的库由一些完成特定功能的功能块和函数构成。例如:要执行(A+B)*C的操作,只需要库中提供加法功能块和乘法功能块即可。这里的加法和乘法等大量的功能块,构成了组态软件中的库。可见,库是组态软件完成任务的基础,合理高效的管理库可以使工程人员在组态软件中快速高效的完成任务。
当前组态软件的库管理主要采用以下两种方式:
第一种方式是,只提供标准库,用户不能自定义库,因此,用户在完成任务时对于库的选择具有很大的局限性。组态软件的目的就是最大程度的提高用户完成任务的效率,然而,采用该种库管理方式的组态软件不能很好的实现这一目的;
第二种方式中虽然提供了用户自定义库的功能,但是当自定义库发生改变时,以前引用该库的工程文件中该库的内容同样被自动更新到最新版本。例如:库Lib被工程Pro引用,之后因为用户的需求,将Lib进行了更改。此时,如果工程Pro再次引用库Lib时,其引用的库Lib的内容是已发生修改的库内容。在工业控制领域,为保证任务的正确性,某些任务需引用固定内容的库,已经被当前任务引用的库将不允许被用户修改,即使新定义的库与已经存在的库具有继承性。这种情况下,若发生库修改,则需要单独对每次发生修改的库进行存储。可见,第二种库管理方式将造成自定义库的大量冗余。
发明内容
有鉴于此,本发明实施例提供一种用于组态软件中库的管理方法及系统,以避免当原有库发生修改时,外部任务引用修改后的库而产生错误的情形。
本发明实施例提供一种用于组态软件中库的管理方法,包括:
获取修改指令,根据所述修改指令对当前库进行修改;
将所述当前库的信息进行备份,并对修改后的库信息进行备份;
根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。
优选的,所述对修改后的库信息进行备份,包括:
当在预置访问周期内多次根据所述修改指令对当前库进行修改时,仅对最终修改后的库信息进行备份。
优选的,所述根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户,包括:
获取用户对所述当前库的调用请求;
判断所述当前库是否存在修改后的库信息;
根据所述用户对所述当前库的调用请求,判断是否需要向用户提供所述修改后的库信息;如果否,则将所述当前库信息输出给用户。
优选的,所述判断所述当前库是否存在修改后的库信息,包括:
判断库信息中的库版本信息是否发生变化,如果是,则确定所述当前库存在修改后的库信息;如果否,则确定所述当前库不存在修改后的库信息。
优选的,所述方法还包括:
更新修改后的库和原引用库之间的引用关系。
优选的,所述方法还包括:
判断修改后的库和原引用库之间的引用关系中是否存在环的引用关系,如果是,则将环的引用关系进行删除。
一种用于组态软件中库的管理系统,包括:
修改指令获取装置,用于获取修改指令,根据所述修改指令对当前库进行修改;
备份装置,用于将所述当前库的信息进行备份,并对修改后的库信息进行备份;
选择输出装置,用于根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。
优选的,当在预置访问周期内多次根据所述修改指令对当前库进行修改时,所述备份装置仅对最终修改后的库信息进行备份。
优选的,所述选择输出装置包括:
调用请求获取模块,用于获取用户对所述当前库的调用请求;
库信息判断模块,用于判断所述当前库是否存在修改后的库信息;
库输出判断模块,用于根据所述用户对所述当前库的调用请求,判断是否需要向用户提供所述修改后的库信息;如果否,则将所述当前库信息输出给用户。
优选的,所述系统还包括:
更新装置,用于更新修改后的库和原引用库之间的引用关系。
优选的,所述系统还包括:
引用关系删除装置,用于判断修改后的库和原引用库之间的引用关系中是否存在环的引用关系,如果是,则将环的引用关系进行删除。
同现有技术相比,本发明提供的技术方案中,当组态软件中的库通过修改发生变化时,将修改后的库的相关信息进行备份,同时,对修改之前的原有库的相关信息进行存储,使得组态软件中针对某一库既存储有原信息,也存储有修改后的新信息。当外部任务调用该库时,可以根据实际任务需要,将原有库信息或是修改后的库信息提供给用户,从而保证特定任务需要调用固定库信息的需求,避免当原有库发生修改时,外部任务引用修改后的库而产生错误的情形;
此外,在对库的某一访问时间段内,如果发生对库的多次修改,由于本发明技术方案中仅对最终的库信息进行存储,因此,避免造成产生大量的自定义库的冗余。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种用于组态软件中库的管理方法步骤流程图;
图2为本发明实施例提供的库信息输出的流程示意图;
图3为本发明实施例提供的库之间的关系图;
图4为图3中关系图的数据表示;
图5为本发明实施例提供的一种用于组态软件中库的管理系统结构示意图;
图6为本发明实施例提供的另一种用于组态软件中库的管理系统结构示意图;
图7为本发明实施例提供的又一种用于组态软件中库的管理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明提供的用于组态软件中库的管理方法进行说明,参照图1所示,所述方法包括:
步骤101、获取修改指令,根据所述修改指令对当前库进行修改;
步骤102、将所述当前库的信息进行备份,并对修改后的库信息进行备份;
该步骤中,既存储有修改后的库信息,同时存储有原有库的信息,从而,便于用户根据实际任务需要,引用适当的库信息;
步骤103、根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。
该步骤中,判断是将原有的当前库信息提供给用户,还是将修改后的库信息提供给用户,取决于实际任务的需要。
本发明提供的技术方案中,当组态软件中的库通过修改发生变化时,将修改后的库的相关信息进行备份,同时,对修改之前的原有库的相关信息进行存储,使得组态软件中针对某一库既存储有原信息,也存储有修改后的新信息。当外部任务调用该库时,可以根据实际任务需要,将原有库信息或是修改后的库信息提供给用户,从而保证特定任务需要调用固定库信息的需求,避免当原有库发生修改时,外部任务引用修改后的库而产生错误的情形。
在本发明的一个优选实施例中,当在预置访问周期内多次根据所述修改指令对当前库进行修改时,仅对最终修改后的库信息进行备份。
本发明的目的是在组态软件中,增强用户对库的可操作性。用户可以根据需求添加自己的库,从而方便任务的完成。但是,在对用户开放这一权限的同时,也增加了库管理的难度,即:用户在对非标准库进行读写操作的同时,增加了版本控制的难度。用户对现有的库进行写操作是针对某一任务的需求。如果每一个任务都要对现有的相应的库进行修改,并且对所有的修改库进行保存,无疑将占用大量的硬盘空间。本发明实施例在库的版本控制方面,采用的方式是在库容器中只储存最新的库版本,当发现外部任务所引用的库已发生修改,可在打开工程时提示用户根据需要选择是否将引用库更新到最新版本。
图2示出的是本发明实施例中根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户的具体流程,包括:
步骤201、获取用户对所述当前库的调用请求;
步骤202、判断所述当前库是否存在修改后的库信息;如果是,则继续步骤203;如果否,则继续步骤205;
步骤203、根据所述用户对所述当前库的调用请求,判断是否需要向用户提供所述修改后的库信息;如果是,则继续步骤204;如果否,则继续步骤205;
步骤204、将所述修改后的库信息输出给用户;
步骤205,将所述当前库信息输出给用户。
本发明实施例中,以库版本信息作为判断库信息是否发生变化的标识。实际应用中,为了便于操作,通常可以利用对库进行修改时的系统时间作为库版本信息,其具体实施方式如下:
打开库文件,为了描述方便,以Lib1表示库文件,根据任务的需求,编辑库Lib1,对Lib1做相应的修改;编译完成后保存库Lib1,在保存库Lib1时,可以进行相应的处理,记录库Lib1的变化情况。当在记录库Lib1的变化时,以库版本值作为唯一标识。当以系统时间作为库版本信息时,在初始新建Lib1库时,Lib1库的版本值取系统当时的时间t1,记为Lib1Version1。当库Lib1发生变化执行保存操作时,取当前的时间作为库Lib1的临时版本号,记为Lib1VersionTemp。定义库Lib1变化之前的版本号为旧版本号,记为Lib1VersionOld,本实施例中初始条件下Lib1VersionOld等于Lib1Version1。临时版本号代表此时的库版本值并没有被写入Lib1文件中。此时将旧版本号与临时版本号进行比较,如果两者不相等,则将临时版本号写入库Lib1中作为库Lib1的新版本号;如果两者相等,利用Hash函数法将临时版本号中的时间递增,再将相应时间值写入库Lib1文件中作为库Lib1的版本号。其中,临时版本号和旧版本号相等是由于系统时间设置的问题造成的。
将库临时版本号和旧版本号进行比较,保证了库在变化过程中版本值的唯一性。在本发明的库版本控制法中,取库的版本号作为库是否变化的依据,因此,库的版本值必须是唯一的。库Lib1执行保存操作之后,将覆盖以前的版本。在本系统中,每个库都是唯一的,只保留最新的版本,这样减少了对硬盘空间的占用。
当外部任务Task1发起对库Lib1的引用请求,由于Task1中记录了更新之前库Lib1的内容,因此,系统默认Task1发起的引用请求是对应于未发生修改更新的库。则根据Task1中的记录信息,可以获知Task1任务中记录的原Lib1版本号的信息。
比较当前硬盘中的库Lib1与Task1中引用库Lib1相关信息,比较的对象是Task1中记录的Lib1的版本值和当前硬盘中的库Lib1的版本值。若两者相等,代表Task1中引用的库Lib1没有发生变化,执行打开操作即可;若两者不相等,说明Task1中引用的库Lib1被更新,此时由系统进行提示操作,询问用户是否将任务Task1中引用的库Lib1更新到最新版本。此时用户根据任务需求,如果选择“是”,即将Task1中的库Lib1更新到最新版本,此时Task1中引用的库Lib1的信息将被新版本信息所替换;如果选择“否”,则Task1中引用的库Lib1的信息将不被更新,仍保留原版本信息。
需要说明的是,本发明实施例中,引用库的任务包括两类,既可以包括工程,也可以是其他的库,即在库中也可以引用其他的库。
本发明实施例中,针对组态软件中的库,不但增加了自定义库和在任务中选择性更新库的功能,而且增加了自定义库之间可继承的特性,提高了在组态软件中完成任务的效率。同时在自定义库之间,自定义库可以引用其它的自定义库,用户可以根据任务需要,集成已经存在的自定义库的功能,增加一些新特性,生成新的库。这一功能增强了自定义库的可重用性,进一步方便了用户对库的操作,提高了组态软件使用者完成任务的效率。当存在引用关系的多个库中的某个库通过修改发生变化时,需要更新修改后的库和原引用库之间的引用关系。
在本发明中,为了更高效的管理自定义库,当自定义库之间存在引用关系时,以类邻接表的方式进行储存,用图的方式表示自定义库之间的关系。
首先介绍本发明实施例中对于被引用库和引用库的定义,假如库Lib1引用库Lib2,则库Lib1定义为被引用库,库Lib2定义为引用库。
在自定义库之间建立引用关系时,通常不允许自定义库之间的引用关系存在环的情况。环的概念在库的管理中定义为:库与库之间存在相互引用关系时,即库Lib1引用了库Lib2,库Lib2同时引用了库Lib1,即Lib1与Lib2存在相互引用的关系,此时,Lib1与Lib2之间的引用关系出现环。这种情况在库管理中是不允许的。库与库之间是否存在环可以依据库关系图进行判断。此外,库管理中间接引用关系可以通过下面的例子进行说明:库Lib1引用了库Lib2,库Lib3引用了库Lib1,此时,库Lib3和库Lib2之间也存在引用关系,此时引用关系的建立是由于Lib3的引用库Lib1引用库Lib2。
在本发明中,自定义库之间的引用关系图依据图中数据结构邻接表的进行存储。在本发明中定义数据结构存储库节点(LibAdjNode)信息,在此数据结构中用Indegree表示库节点入度,利用Pnext指向库节点的邻接库节点。自定义库之间的关系图采用LibAdjNode进行存储。下面通过一具体实例对该存储关系进行详细说明。假设当前组态软件中存在A、B、C、D、E、F六个库,打开库A时,首先构造头节点A,B,C,D,E,F,之后根据构造的所有头节点信息,依次遍历查询所有头节点的引用库信息,在查询所有头节点的引用库信息时,要特别注意存在间接引用关系的情况。首先查询库A的所有引用库信息,假设与库A存在直接引用关系的库为库B和库C;在库A的直接引用库中,库B与库D和E存在引用关系;在B的直接引用库中库D引用库F。从以上的关系分析中可得到库A和库D、E、F存在间接应用关系。因此,库A与库B、C、D、E、F存在引用关系。在查询库A的引用库的过程中,逐步建立自定义库之间的关系图,如图3所示。
在建立自定义库之间的关系图的同时,初始化每个库节点的Indegree和Pnext值。当查询到库A的引用库B时,库A的数据结构中成员Indegree执行加一操作,同时把库A添加到库B的Pnext指针链表中,查询到库A的间接引用库D时,库A的成员Indegree同样执行加一操作,把库A添加到库D的Pnext指针链表中,依次执行。从上面的分析可知,查询完库A的引用库信息时,库A的入度为5,同时库A存在于库B、C、D、E、F的指针链表中,代表库B、C、D、E、F都被库A引用。同查询库A的引用库过程相同,依次查询库B、D、F、E、C的引用库。由于库D引用库F,且库F不引用别的库,则库D只与库F存在引用关系,在图3中的表示为F->D;库B引用库D和E,且库D引用库F,所有库B与库D、E、F存在引用关系,在图3中的表示即为D->B,E->B,F->B;库A引用库B,C,且库B与库D、E、F存在引用关系,则库A与库B、C、D、E、F存在引用关系,在图3中的为:B->A,C->A,D->A,E->A,F->A。
根据库的引用关系,建立库关系有向图的数据表示,如图4所示。首先保存A,B,C,D,E,F节点;分别查找每个节点的邻接节点,图4是依据图3建立的,节点A没有任何邻接点;节点B的邻接节点为A,在图4中0表示节点A的位置,代表节点A;节点B的邻接节点为A;节点C的邻接节点为A;节点D的邻接节点为A,B;节点E的邻接节点为A,B;节点F的邻接节点为A,B,D。由图3及图4,可以获知A库没有被任何库引用,B库被A库引用,C库被A库引用,D库被A,B库引用,E库被A、B库引用,F库被A、B、D库引用。
生成自定义库之间的关系图之后,仍需要根据关系图判断是否存在环。如果发现修改后的库和原引用库之间存在环的引用关系,则将环的引用关系进行删除。
此外,在建立库与库之间的引用关系时,需要实时检测库中各引用库的更新情况,提示用户根据需求进行选择性更新库操作。根据第四步对库F的更新可知,在节点类的数据结构LibAdjNode中有一成员Pnext,Pnext即指向库的所有被引用库。仍以上面例子中的库A为例,打开库A,建立自定义库之间的关系图时,在查询库A的所有引用库信息时,判断出库A的引用库F已经更新,此时记录已经更新库F的信息,依次查询每个库的引用库,同时记录已经更新的库信息。当在本例中已经更新的库是库F,之后通过建立的自定义库之间的库关系图,遍历库F的Pnext成员列表,得到库F的被引用库A、B、D。因此,通过向用户发出库A、B、D的引用库F已经更新的提示信息,用户可以根据需求选择是否更新库A、B、D。
当然,在原有库之间的引用关系基础之上,如果解除某两库之间的引用关系,重新建立其中某一库同其他库的引用关系时,同样需要重新建立各库之间的关系图。对此,本发明实施例不再进行赘述。
需要说明的是,本发明实施例中,为了提高算法执行速度,环的查找可以采用拓扑排序与深度优先遍历结合的方法。首先执行拓扑排序算法,通过拓扑排序获得库关系图的数据表示。根据图4所示的数据结构,执行深度优先遍历算法,得到各库之间的应用关系,同时判断出各引用关系中是否存在环的引用关系。
可见,在库管理中,建立合理的库关系图至关重要。选择合适的数据结构存储库关系图,可以快速的判断库与库之间的引用关系。
综上所述,本发明实施例技术方案中增加了用户自定义库的权限。用户可以根据任务需求定义自己的库文件,在组态软件领域,此功能大大提高了完成任务的效率;当工程中的引用库发生变化时,用户可以根据需求选择性更新引用库信息,增强了用户对自定义库的可控性,并且降低了自定义库的冗余度;同时,自定义库之间相互引用,增加了自定义库的可继承性和可重用性。通过采用图的思想管理库与库之间的引用关系,可以快速的判断出自定义库之间的引用关系,降低了算法的复杂度。
相应上述现场总线仪表管理系统的数据管理方法,本发明实施例还提供了一种用于组态软件中库的管理系统,如图5所示,为该系统的结构示意图,该系统具体可以包括:
修改指令获取装置501,用于获取修改指令,根据所述修改指令对当前库进行修改;
备份装置502,用于将所述当前库的信息进行备份,并对修改后的库信息进行备份;
选择输出装置503,用于根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。
该实施例中,当修改指令获取装置获知组态软件中的库通过修改发生变化时,备份装置将修改后的库的相关信息进行备份,同时,对修改之前的原有库的相关信息进行存储,使得组态软件中针对某一库既存储有原信息,也存储有修改后的新信息。当外部任务调用该库时,可以根据实际任务需要,选择输出装置将原有库信息或是修改后的库信息提供给用户,从而保证特定任务需要调用固定库信息的需求,避免当原有库发生修改时,外部任务引用修改后的库而产生错误的情形。
当在预置访问周期内多次根据所述修改指令对当前库进行修改时,所述备份装置仅对最终修改后的库信息进行备份,以减少自定义库对硬盘空间的占用。
在本发明的一个优选实施例中,所述选择输出装置包括:
调用请求获取模块,用于获取用户对所述当前库的调用请求;
库信息判断模块,用于判断所述当前库是否存在修改后的库信息;
库输出判断模块,用于根据所述用户对所述当前库的调用请求,判断是否需要向用户提供所述修改后的库信息;如果否,则将所述当前库信息输出给用户。
可见,当工程中的引用库发生变化时,用户可以根据需求选择性更新引用库信息,能够增强用户对自定义库的可控性。
在本发明的又一个实施例中,如图6所示,所述系统还包括:
更新装置504,用于更新修改后的库和原引用库之间的引用关系。
当存在引用关系的多个库中的某个库通过修改发生变化时,需要更新修改后的库和原引用库之间的引用关系。
在本发明的又一个实施例中,如图7所示,所述系统还包括:
引用关系删除装置505,用于判断修改后的库和原引用库之间的引用关系中是否存在环的引用关系,如果是,则将环的引用关系进行删除。
环的引用关系在库的管理中不允许出现,库与库之间是否存在环可以依据库关系图进行判断。对此,上述方法实施例中已有详尽描述,此处,不再进行赘述。
对于系统实施例而言,由于其基本相应于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种用于组态软件中库的管理方法,其特征在于,所述方法包括:
获取修改指令,根据所述修改指令对当前库进行修改;
将所述当前库的信息进行备份,并对修改后的库信息进行备份;
根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。
2.根据权利要求1所述的用于组态软件中库的管理方法,其特征在于,所述对修改后的库信息进行备份,包括:
当在预置访问周期内多次根据所述修改指令对当前库进行修改时,仅对最终修改后的库信息进行备份。
3.根据权利要求1所述的用于组态软件中库的管理方法,其特征在于,所述根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户,包括:
获取用户对所述当前库的调用请求;
判断所述当前库是否存在修改后的库信息;
根据所述用户对所述当前库的调用请求,判断是否需要向用户提供所述修改后的库信息;如果否,则将所述当前库信息输出给用户。
4.根据权利要求3所述的用于组态软件中库的管理方法,其特征在于,所述判断所述当前库是否存在修改后的库信息,包括:
判断库信息中的库版本信息是否发生变化,如果是,则确定所述当前库存在修改后的库信息;如果否,则确定所述当前库不存在修改后的库信息。
5.根据权利要求1-4中任一项所述的用于组态软件中库的管理方法,其特征在于,所述方法还包括:
更新修改后的库和原引用库之间的引用关系。
6.根据权利要求5所述的用于组态软件中库的管理方法,其特征在于,所述方法还包括:
判断修改后的库和原引用库之间的引用关系中是否存在环的引用关系,如果是,则将环的引用关系进行删除。
7.一种用于组态软件中库的管理系统,其特征在于,所述系统包括:
修改指令获取装置,用于获取修改指令,根据所述修改指令对当前库进行修改;
备份装置,用于将所述当前库的信息进行备份,并对修改后的库信息进行备份;
选择输出装置,用于根据用户对所述当前库的调用请求,将所述当前库信息或修改后的库信息输出给用户。
8.根据权利要求7所述的用于组态软件中库的管理系统,其特征在于,当在预置访问周期内多次根据所述修改指令对当前库进行修改时,所述备份装置仅对最终修改后的库信息进行备份。
9.根据权利要求7所述的用于组态软件中库的管理系统,其特征在于,所述选择输出装置包括:
调用请求获取模块,用于获取用户对所述当前库的调用请求;
库信息判断模块,用于判断所述当前库是否存在修改后的库信息;
库输出判断模块,用于根据所述用户对所述当前库的调用请求,判断是否需要向用户提供所述修改后的库信息;如果否,则将所述当前库信息输出给用户。
10.根据权利要求7-9中任一项所述的用于组态软件中库的管理系统,其特征在于,所述系统还包括:
更新装置,用于更新修改后的库和原引用库之间的引用关系。
11.根据权利要求10所述的用于组态软件中库的管理系统,其特征在于,所述系统还包括:
引用关系删除装置,用于判断修改后的库和原引用库之间的引用关系中是否存在环的引用关系,如果是,则将环的引用关系进行删除。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010192581A CN101853165A (zh) | 2010-06-01 | 2010-06-01 | 一种用于组态软件中库的管理方法及系统 |
PCT/CN2011/072358 WO2011150716A1 (zh) | 2010-06-01 | 2011-03-31 | 一种用于组态软件中库的管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010192581A CN101853165A (zh) | 2010-06-01 | 2010-06-01 | 一种用于组态软件中库的管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101853165A true CN101853165A (zh) | 2010-10-06 |
Family
ID=42804674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010192581A Pending CN101853165A (zh) | 2010-06-01 | 2010-06-01 | 一种用于组态软件中库的管理方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101853165A (zh) |
WO (1) | WO2011150716A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011150716A1 (zh) * | 2010-06-01 | 2011-12-08 | 杭州和利时自动化有限公司 | 一种用于组态软件中库的管理方法及系统 |
CN103412745A (zh) * | 2013-07-18 | 2013-11-27 | 中国联合网络通信集团有限公司 | 一种开发及应用平台 |
CN106610839A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN107368319A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种实现代码库软备份和切换的方法及装置 |
CN108376082A (zh) * | 2018-01-10 | 2018-08-07 | 链家网(北京)科技有限公司 | 一种引用库版本更新方法和系统 |
CN109005198A (zh) * | 2018-09-12 | 2018-12-14 | 杭州和利时自动化有限公司 | 一种控制器防攻击安全策略生成方法及系统 |
CN113535470A (zh) * | 2021-06-23 | 2021-10-22 | 浙江中控技术股份有限公司 | 组态备份方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326155A (zh) * | 2000-05-25 | 2001-12-12 | 英业达股份有限公司 | 即时生成文件版本的方法 |
US20050187989A1 (en) * | 2004-02-19 | 2005-08-25 | Hitachi, Ltd. | Version management system, version management server device, and storage device control unit |
CN101120312A (zh) * | 2005-12-29 | 2008-02-06 | 松下电工株式会社 | 用户可配置软件库 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383289B2 (en) * | 2003-12-02 | 2008-06-03 | Sap Aktiengesellschaft | Updating and maintaining data in a multi-system network using asynchronous message transfer |
CN101604238A (zh) * | 2008-11-25 | 2009-12-16 | 无锡虹业自动化工程有限公司 | 实现工业组态软件通用接口报表的方法 |
CN101853165A (zh) * | 2010-06-01 | 2010-10-06 | 杭州和利时自动化有限公司 | 一种用于组态软件中库的管理方法及系统 |
-
2010
- 2010-06-01 CN CN201010192581A patent/CN101853165A/zh active Pending
-
2011
- 2011-03-31 WO PCT/CN2011/072358 patent/WO2011150716A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326155A (zh) * | 2000-05-25 | 2001-12-12 | 英业达股份有限公司 | 即时生成文件版本的方法 |
CN1290038C (zh) * | 2000-05-25 | 2006-12-13 | 英业达股份有限公司 | 一种即时生成文件版本的方法 |
US20050187989A1 (en) * | 2004-02-19 | 2005-08-25 | Hitachi, Ltd. | Version management system, version management server device, and storage device control unit |
CN101120312A (zh) * | 2005-12-29 | 2008-02-06 | 松下电工株式会社 | 用户可配置软件库 |
Non-Patent Citations (1)
Title |
---|
陈虔,刘慧,冯允成,戴贵亮: "分布协同开发的软件库版本控制", 《系统工程理论与实践》, no. 9, 30 September 2000 (2000-09-30), pages 64 - 68 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011150716A1 (zh) * | 2010-06-01 | 2011-12-08 | 杭州和利时自动化有限公司 | 一种用于组态软件中库的管理方法及系统 |
CN103412745A (zh) * | 2013-07-18 | 2013-11-27 | 中国联合网络通信集团有限公司 | 一种开发及应用平台 |
CN103412745B (zh) * | 2013-07-18 | 2016-08-24 | 中国联合网络通信集团有限公司 | 一种开发及应用平台 |
CN106610839A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN107368319A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种实现代码库软备份和切换的方法及装置 |
CN107368319B (zh) * | 2017-07-25 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种实现代码库软备份和切换的方法及装置 |
CN108376082A (zh) * | 2018-01-10 | 2018-08-07 | 链家网(北京)科技有限公司 | 一种引用库版本更新方法和系统 |
CN108376082B (zh) * | 2018-01-10 | 2021-09-17 | 贝壳找房(北京)科技有限公司 | 一种引用库版本更新方法和系统 |
CN109005198A (zh) * | 2018-09-12 | 2018-12-14 | 杭州和利时自动化有限公司 | 一种控制器防攻击安全策略生成方法及系统 |
CN113535470A (zh) * | 2021-06-23 | 2021-10-22 | 浙江中控技术股份有限公司 | 组态备份方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2011150716A1 (zh) | 2011-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853165A (zh) | 一种用于组态软件中库的管理方法及系统 | |
JP5039954B2 (ja) | 文字列タグに記録されたタグ名を用いて制御装置のデータに間接アクセスする、システム及び方法 | |
US9940108B2 (en) | Automated merging in a software development environment | |
US7275236B1 (en) | Method for programming a multiple device control system using object sharing | |
JP4973867B2 (ja) | Plc制御プログラム開発装置及びプログラム | |
US5745897A (en) | Method and system for compiling management information base specifications | |
US20130014083A1 (en) | Automated merging in a software development environment | |
US5897636A (en) | Distributed object computer system with hierarchical name space versioning | |
Demuth et al. | Designspace: an infrastructure for multi-user/multi-tool engineering | |
JP5583305B2 (ja) | プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム | |
US20020133240A1 (en) | Controllers, extension boards and communication units | |
CN101840230B (zh) | 一种监控和管理数据的方法及系统 | |
US6948059B1 (en) | Component loader for industrial control device providing resource search capabilities | |
JP6866663B2 (ja) | プログラマブルコントローラシステム、プログラマブルコントローラ、支援装置、hci装置、二重化プログラマブルコントローラシステム | |
WO2009044973A1 (en) | System and method for software product manager with a component model | |
CN105291118A (zh) | 具备所比较的设定数据的差异反映功能的机器人控制装置 | |
CN113534744A (zh) | 用于构成数控系统的软件架构和硬件架构 | |
CN111930387B (zh) | 一种集成包的集成方法及装置、电子设备和存储介质 | |
CN101894024A (zh) | 一种基于模型库的模型元素一致性保障方法 | |
JP6566151B2 (ja) | システム設計支援装置およびシステム設計支援方法 | |
CN112214501A (zh) | 用于利用序列库的模块工程化的系统和方法 | |
KR20110077288A (ko) | 피엘씨 소프트웨어 개발환경 제공 시스템 | |
TAKAN et al. | Relational Logging Design Pattern | |
Kotula | Discovering patterns: An industry report | |
CN114036171B (zh) | 应用数据管理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101006 |