用于处理软件项目的方法

文档序号:1382570 发布日期:2020-08-14 浏览:11次 >En<

阅读说明:本技术 用于处理软件项目的方法 (Method for processing software items ) 是由 德克·詹森 雷蒙·巴特 托马斯·罗伯特·齐格勒 迈克尔·约瑟夫·施洛特博姆 于 2019-05-17 设计创作,主要内容包括:本发明涉及一种用于通过第一用户在第一处理站(211)上处理由原代码(310)和机器代码(320)组成的软件项目的方法(100),具有以下方法步骤:-将所述原代码(310)的第一副本从第一存储器(201)下载(101)到所述第一处理站(211);-更改(102)所述原代码(310)的第一副本;-产生(103)所述机器代码(320)的第一程序版本,其中所述机器代码(320)的第一程序版本是从所述原代码(310)的第一副本中产生的;-将所述机器代码(320)的第一程序版本上传(104)到第二存储器(202)中;以及-通过将所述机器代码(320)的第一程序版本上传到第二存储器(202)中触发地,将所述原代码(310)的经过更改的副本自动上传(105)到所述第一存储器(201)中。(The invention relates to a method (100) for processing a software item consisting of original code (310) and machine code (320) by a first user on a first processing station (211), comprising the following method steps: -downloading (101) a first copy of the primary code (310) from a first memory (201) to the first processing station (211); -altering (102) a first copy of the original code (310); -generating (103) a first program version of the machine code (320), wherein the first program version of the machine code (320) is generated from a first copy of the original code (310); -uploading (104) a first program version of the machine code (320) into a second memory (202); -automatically uploading (105) the altered copy of the original code (310) into the first memory (201) triggered by uploading the first program version of the machine code (320) into the second memory (202).)

用于处理软件项目的方法

技术领域

本发明涉及一种用于在第一处理站上处理软件项目的方法、一种处理站和一种具有这样的处理站的自动化系统。

本申请要求于2018年5月17日提交的德国专利申请DE 10 2018 111 930.5的优先权,其内容通过引用完全结合在此。

背景技术

软件项目(例如用于自动化系统的控件)变得越来越复杂。在许多情况下,用于自动化系统的控制软件是如此复杂,以至于所述软件项目的创建和更改都要通过大量用户进行。这同样适用于其他领域的软件项目,例如用于计算机游戏和办公程序。因此,必须找到一种途径,以便多个用户可以同时处理一个软件项目,而不会在此过程中由于覆盖而丢失已经处理过的状态。这例如可以通过在处理站上提供编程环境来进行,其中所述软件项目由可以下载到所述处理站上的对象组成并且在此被分配了时间戳。现在如果两个处理器同时处理同一个对象,然后再次将该对象上传到存储器中,则可以基于所述时间戳识别出这一点。然后代替稍后上传,要求用户检查经过更改的对象并且必要时在重新上传之前进行其他更改。在文献EP 2 811 352A1中公开了这样的方法。

此外,用于文件的分布式版本管理的软件也是已知的。在此,可以使用中央服务器来存储所述软件项目的版本,或者例如在Git(https://de.wikipedia.org/wiki/Git)中实现的那样通过分布式分发所述软件项目的版本状态来存储所述软件项目的版本。

发明内容

本发明的任务是提供一种用于处理软件项目的改进方法。本发明的另一个任务是提供一种可以在其上执行所述方法的处理站,以及一种集成有这样的处理站的自动化系统。

这些任务通过独立权利要求的方法和设备解决。从属权利要求中说明了扩展方案。

在用于通过第一用户处理由原代码(Primaercode)和机器代码组成的软件项目的方法中,按照说明的顺序执行以下方法步骤,其中所述处理在第一处理站上进行。首先,将原代码的第一副本从第一存储器下载到所述第一处理站。在此,所述原代码包括所有可以由所述第一用户直接处理的文件。然后,通过所述第一用户更改所述原代码的第一副本。为此,所述第一用户可以使用所述第一处理站提供给所述第一用户的资源。然后,从所述原代码的经过更改的第一副本中产生所述机器代码的第一程序版本。所述机器代码包括由计算机在执行所述软件项目时使用的所有文件。因此,所述机器代码是所述软件项目的可运行版本,而所述原代码是所述软件项目的可编程形式。在产生所述机器代码的第一程序版本之后,将所述机器代码的第一程序版本上传到第二存储器。在此,可以将所述第二存储器与应当在其上执行所述软件项目的计算机关联。在此,如果所述第一用户认为所述机器代码的相应的可运行程序版本可用,则可以通过所述第一用户的输入来触发所述机器代码的第一程序版本的上传。通过将所述机器代码的第一程序版本上传到所述第二存储器进行触发地,将所述原代码的经过更改的副本自动上传到所述第一存储器中。

因此,所述第一用户不必自己记住将所述原代码的由其更改的副本(例如可以是所述原代码的经过更改的第一副本)在所述处理后上传到所述第一存储器中。由此可以实现的是,在第一存储器中为其他用户提供属于存储在所述第二存储器中的可执行机器代码的原代码文件。现在,其他用户可以将经过更改的原代码下载到其处理站,并在那里进行其他更改。即使该用户将所述机器代码的其他可运行程序版本上传到所述第二存储器中,经过更改的原代码也会自动存储在所述第一存储器中。由此明显简化了在编程期间或在所述软件项目修订期间的版本管理,因为所述用户(例如程序员)只需要担心将所述机器代码的可运行程序版本上传到所述第二存储器。通过所述用户更改的原代码文件会自动上传到所述第一存储器。

在所述方法的一个实施例中,附加地检查:在下载所述原代码的第一副本和将所述机器代码的第一程序版本上传到所述第二存储器之间,从所述原代码的第二副本中产生的所述机器代码的第二程序版本是否已经上传到所述第二存储器。例如,如果第二用户与所述第一用户同时地、基于相同的或更早的原代码版本将所述机器代码的程序版本上传到所述第二存储器,就会是这种情况。如果在所述检查的情况下确定所述机器代码的第二程序版本已上传到所述第二存储器,则将所述原代码的经过更改的第二副本从所述第一存储器下载到所述第一处理站,并向所述第一用户输出将所述原代码的第一副本和所述原代码的第二副本合并为所述原代码的第三副本的要求。然后可以从所述原代码的第三副本中产生所述机器代码的第三程序版本。然后可以将所述机器代码的第三程序版本上传到所述第二存储器。在此,将所述原代码的经过更改的副本自动上传到所述第一存储器被设计为将所述原代码的第三副本上传到所述第一存储器中。因此,在自动上传所述原代码的经过更改的副本之前,就已经可以检查是否已上传了所述机器代码的经过更改的程序版本,因为在这种情况下,上传所述原代码的由所述第一用户更改的第一副本并不是绝对必要的。

但是,可以替代地规定,在上传所述机器代码的第一程序版本时将自动上传所述原代码的经过更改的第一副本,并且随后在所述检查后,通过上传所述机器代码的第三程序版本触发地也将所述原代码的第三副本自动上传到所述第一存储器中。

在所述方法的一个实施方式中,在向所述第一用户输出所述要求之前,中断所述机器代码的第一程序版本的上传。由此可以节省所述第一处理站和所述第二存储器之间的传输带宽。替代地或附加地可以规定,在任何情况下都自动将所述原代码的经过更改的第一副本上传到所述第一存储器中,并且如果确定已经上传了所述机器代码的第二程序版本,则可以同样中断所述原代码的经过更改的第一副本向所述第一存储器的上传。

在所述方法的一个实施方式中,同样检查,在下载所述原代码的第一副本和将所述机器代码的第一程序版本上传到所述第二存储器之间,从所述原代码的第二副本中产生的所述机器代码第二程序版本是否已经上传到所述第二存储器中。然后同样下载所述原代码的经过更改的第二副本,并向所述第一用户输出将所述原代码的第一副本和所述原代码的第二副本合并为所述原代码的第三副本的要求。然而在该实施方式中,通过所述第一用户对所输出的要求的反应触发地,用所述第一程序版本覆盖所述第二程序版本。在此,将所述原代码的经过更改的副本自动上传到所述第一存储器中被设计为将所述原代码的经过更改的第一副本上传到所述第一存储器中。在该实施方式中例如可以规定,所述第一处理站向所述第一用户输出警告指示。该警告指示用于向所述第一用户发出信号,即上传所述第一程序版本会导致由所述第二用户创建的软件项目状态被覆盖。但是,在检验了所述原代码的第一副本和第二副本之后,所述第一用户可以通过用户输入消除该警告指示。

在一个实施方式中,基于所述机器代码的程序版本的时间戳来进行所述检查。该时间戳例如可以在产生所述机器代码的程序版本时集成到所述机器代码中,并且可以与下载所述原代码的副本的时刻相关。

在一个实施方式中,所述检查是基于所述机器代码的程序版本的哈希值进行的。在此,在下载所述原代码的第一副本期间产生位于所述第二存储器中的程序版本的哈希值,然后在将所述机器代码的第一程序版本上传到所述第二存储器期间与所述机器代码的程序版本的哈希值进行比较。如果在这期间其他用户已经将所述机器代码的第二程序版本上传到所述第二存储器中,则这些哈希值不再一致,因此可以确定所述机器代码的第二程序版本已经被上传到所述第二存储器中。

在一个实施方式中,通过编译所述原代码的副本来产生所述机器代码的程序版本。这是从所述原代码中产生机器代码(机器可读代码)的常用方法。

在一个实施方式中,所述软件项目包括配置文件。所述配置文件是所述原代码的一部分。所述配置文件也集成到所述机器代码的程序版本中。更改所述原代码的第一副本包括更改所述配置文件。经过更改的配置文件同样被上传到所述第二存储器中。例如,通过由所述机器代码调用所述配置文件,可以将所述配置文件集成到所述机器代码中。这例如在以下情况下是有利的,即,所述软件项目被设计为使得虽然必须可以更改各个参数,但这不会对所述机器代码的软件体系架构产生重大影响。于是,可以在所述配置文件中提供这样的参数,其中一方面可以将所述配置文件作为所述原代码的一部分进行更改,另一方面可以从所述机器代码中读取所述配置文件,由此在执行所述机器代码时可以相应地考虑所述参数。

在所述方法的一个实施方式中,在所述第一存储器中存储多个原代码版本。可以在所述第一处理站上调用存储在所述第一存储器中的原代码版本的显示。由此,所述第一用户在处理所述软件项目期间可以访问所述原代码的先前状态。这使得可以进行更灵活的编程,并且还可以附加地表示数据安全的第一层级。

在所述方法的一个实施方式中,根据预设将来自所述第一存储器的一个或多个原代码版本与第三存储器同步。在此,所述预设特别可以是用户输入或自动预设。从而例如原代码版本可以每周自动保存在第三存储器中,以用于数据安全备份。同时,如果所述第一用户认为自己已经在所述软件项目的编程期间达到了里程碑,则所述第一用户可以通过用户输入触发第一存储器与第三存储器的原代码版本同步。

在所述方法的一个实施方式中,所述软件项目是自动化项目,其中所述机器代码用于控制自动化组件。所述第二存储器布置在所述自动化组件中。这意味着用于所述机器代码的第二存储器为了存储用于控制所述自动化组件的所述机器代码的程序版本布置在所述自动化组件中的存储器中。由此实现了简单的系统架构。在此,所述第一存储器可以布置在所述自动化组件的外部,例如在中央文件服务器上。

在所述方法的一个实施方式中,所述第一存储器布置在所述自动化组件中。然后,可以经由所述自动化组件提供来自第一存储器的原代码,并且另一方面可以将可读机器代码上传到所述自动化组件的第二存储器中。在这种情况下,所述第一存储器和所述第二存储器可以被配置为所述自动化组件内的物理存储介质,例如硬盘或闪存。

处理站具有数据接口和用户输入选项。所述处理站被设计为执行上述方法之一。这特别是意味着,计算机程序可以在所述处理站上运行,该计算机程序与所述第一用户进行交互,使得可以执行由所述第一处理站执行的处理步骤。在执行所述方法期间,所述第一用户可以进行更改,例如对原代码进行更改,其中这些更改不会由所述处理站执行。然后从经过更改的原代码中产生所述机器代码,并且可以通过将经过更改的原代码上传到所述第一存储器来进行自动化的版本管理。

所述处理站可以具有显示器,利用该显示器向所述第一用户显示信息。替代地或附加地,所述处理站可以被设计为服务器,所述服务器使得能够从所述处理站外部访问其他计算机。然后,对所述服务器的这种访问代表了第一用户的输入选项。

自动化系统包括第一存储器,具有第二存储器的自动化组件以及至少一个这样的处理站。在此,所述自动化系统可以包括传感器的读取选项,并为执行器提供控制信号。所述机器代码用于控制所述自动化组件,其中所述控制可以基于读取的传感器进行并可以导致将信号输出到所述执行器。在所述第一存储器和所述处理站之间建立第一通信连接。在所述处理站和所述第二存储器之间建立第二通信连接。由此可以将所述原代码从所述第一存储器下载到所述处理站,并且在更改所述原代码之后可以从所述处理站上传到所述第二存储器中。然后位于所述第二存储器中的机器代码可以随后由所述自动化组件执行。

附图说明

下面基于实施例并参考附图更详细地解释本发明。在此,分别在示意图中,

图1示出了该方法的第一实施方式的流程图;

图2示出了该方法的第一实施方式的时序图;

图3示出了该方法的第二实施方式的流程图;

图4示出了该方法的第二实施方式的时序图;

图5示出了将该方法集成到用于更新所存储的原代码的方法中的流程图;

图6示出了流程图,其中方法步骤同样集成在用于更新原代码的存储器的方法中;

图7示出了由原代码和机器代码组成的软件项目,包括配置文件;

图8示出了具有附加的同步步骤的该方法的另一实施方式的时序图;

图9示出了处理站;

图10示出了具有自动化组件和处理站的自动化系统;以及

图11示出了这样的自动化系统的另一实施例。

具体实施方式

图1示出了用于通过第一用户在第一处理站上处理由原代码和机器代码组成的软件项目的方法的流程图100。在此,在第一方法步骤101中,将所述原代码的第一副本从第一存储器下载到所述第一处理站。在第二方法步骤102中,更改所述原代码的第一副本。在第三方法步骤103中,从所述原代码的第一副本中产生所述机器代码的第一程序版本。在第四方法步骤104中,将所述机器代码的第一程序版本上传到第二存储器中。在第五方法步骤105中,通过将所述机器代码的第一程序版本上传到所述第二存储器触发地,将所述原代码的经过更改的副本自动上传到所述第一存储器中。在此,在第五方法步骤105中上传的、所述原代码的经过更改的副本可以是所述原代码的经过更改的第一副本。在此,可以对在其上执行所述方法的处理站进行编程,使得在第一方法步骤101中下载所述原代码的第一副本,在第三方法步骤103中产生所述机器代码的第一程序版本,以及在第四方法步骤104中通过所述第一用户的用户输入触发地将所述机器代码的第一程序版本上传到第二存储器中,以及通过所述第一用户在第二方法步骤102中更改所述原代码的第一副本。在此,所述处理站例如经由输入掩码和/或编程员界面向所述第一用户提供改变所述原代码的手段。一旦由所述第一用户触发的第四方法步骤104,即所述机器代码的第一程序版本的上传完成,则在第五方法步骤105中附加地将所述原代码的经过更改的副本自动上传到所述第一存储器中,使得所述第一用户不必自己关心该方法步骤,而是第五方法步骤105由所述第一处理站自动执行。

图2示出了图1的方法的方法步骤101至105的时序图150以及第一处理站211与第一存储器201和第二存储器202的交互。方法步骤101至105的时序在此从上到下进行。在第一方法步骤101中,将所述原代码的第一副本从第一存储器201下载到第一处理站211。在第二方法步骤102中,在第一处理站211上更改所述原代码的第一副本。在第三方法步骤103中,从所述原代码的经过更改的第一副本中产生所述机器代码的第一程序版本。然后在第四方法步骤104中将该第一程序版本上传到第二存储器202。通过在第四方法步骤104中将所述机器代码的第一程序版本上传到第二存储器202中来触发地,在第五方法步骤105中将所述原代码的经过更改的副本自动上传到第一存储器201中。

在此,第一存储器201和第二存储器202可以位于不同的物理位置,例如在不同的服务器上,也可以位于相同的物理位置,例如在同一服务器上或者甚至在同一硬盘或同一闪存上。在此,存储在第二存储器202中的机器代码包括所述软件项目的可执行程序版本,而存储在第一存储器201中的原代码版本包括所述软件项目的源文件。

图3示出了所述方法的第二构型的流程图100。在此,前四个方法步骤101至104对应于图1中的实施例的方法步骤。在第四方法步骤104中已经上传了所述机器代码的第一程序版本之后,在第一检查步骤111中检查:在第一方法步骤101中下载所述原代码的第一副本与在第四方法步骤104中上传所述机器代码的第一程序版本之间,是否已将从所述原代码的第二副本中产生的、所述机器代码的第二程序版本上传到所述第二存储器中。如果不是这种情况,则然后自动执行图1的实施例的第五方法步骤105,即将所述原代码的经过更改的副本自动上传到所述第一存储器中。然而,如果在第一检查步骤111中的所述检查表明所述机器代码的第二程序版本已经被上传到所述第二存储器中,则随后在第六方法步骤112中从所述第一存储器下载所述原代码的经过更改的第二副本。在第七方法步骤113中,向所述第一用户输出将所述原代码的第一副本和所述原代码的第二副本组合成所述原代码的第三副本的要求。然后在第八方法步骤114中,从所述原代码的第三副本中产生所述机器代码的第三程序版本。这可以通过所述第一用户遵循来自第七方法步骤113的要求来进行。然后在第九方法步骤115中,将所述机器代码的第三程序版本上传到所述第二存储器中。然后进行第五方法步骤105,其中将所述原代码的经过更改的副本自动上传到所述第一存储器被设计为将所述原代码的第三副本上传到所述第一存储器。

附加地可以规定,在第一检查步骤111之前或之后将所述原代码的经过更改的第一副本附加地上传到所述第一存储器。还可以规定,如果在第一检查步骤111中的所述检查表明所述机器代码的第二程序版本已经被上传到所述第二存储器,则中断在第四方法步骤104中的所述第一程序版本的上传。

图4示出了图3的方法的时序150。在此,第一存储器201、第二存储器202和第一处理站211对应于图2的相应设备。方法步骤101至104与图2的时序类似地执行,这些方法步骤的时序再次从上向下进行。在第一方法步骤101中的下载所述原代码的第一副本与第四方法步骤104中的上传所述第一程序版本之间,已在另一第四方法步骤124中将所述第二程序版本从第二处理站212上传到第二存储器202。在另一第五方法步骤125中,将所述原代码的第二副本上传到第一存储器201。现在在第一检查步骤111中,检查所述机器代码的第二程序版本是否已经被上传到第二存储器202。由于是这种情况,因此现在在第六方法步骤112中将所述原代码的第二副本下载到第一处理站211。然后在第七方法步骤113中,向用户输出将所述原代码的由所述用户在第二方法步骤102中更改的第一副本与在第六方法步骤112中下载的所述原代码第二副本合并的要求。然后在第八方法步骤114中,从所述原代码的第三副本中产生所述机器代码的第三程序版本。然后在第九方法步骤115中将所述机器代码的第三程序版本上传到第二存储器202。通过第九方法步骤115自动触发地,执行第五方法步骤105,其中将所述原代码的第三副本作为所述原代码的经过更改的副本上传到第一存储器201中。

附加地在图4中以虚线示出了另一上传步骤106,其中,与第一检查步骤111无关地将所述原代码的经过更改的第一副本上传到第一存储器201中。该方法步骤是可选的,并且可以用于在第一存储器201中提供所有经过更改的原代码版本。

图5示出了流程图100,其包含图3的流程图的多个方法步骤,并且其中执行其他方法步骤。在第三方法步骤103之后,也就是在从所述原代码的第一副本中产生所述机器代码的第一程序版本之后,在第二检查步骤131中检查该产生是否成功。如果不是这种情况,则中断所述方法。所述方法的结束在图5的流程图100中被表示为圆圈。如果所述产生是成功的,则然后执行第四方法步骤104,也就是将所述机器代码的第一程序版本上传到所述第二存储器中。然后进行第一检查步骤111。如果在第一检查步骤111中表明还没有上传所述机器代码的第二程序版本,则类似于图3中描述的流程进行第五方法步骤105。如果在检查步骤111中确定所述机器代码的第二程序版本已被上传到所述第二存储器中,则代替向所述第一用户输出要求以及下载所述原代码的经过更改的第二副本,而在图5的流程图100中进行第一决策步骤132,在其中所述第一用户可以判定其是否要用所述第一程序版本覆盖所述第二程序版本。如果不是这种情况,则中断所述方法。如果是这种情况,则进行覆盖步骤134,其中将所述第一程序版本上传到所述第二存储器以及从所述第二存储器中删除所述第二程序版本。然后在第三检查步骤133中检查对所述第二程序版本的覆盖是否成功。如果不是这种情况,则中断所述方法。如果成功地覆盖了所述机器代码的第二程序版本,则自动执行第五方法步骤105,也就是将所述原代码的经过更改的第一副本上传到所述第一存储器中。

图6示出了另一流程图100,其包含图3的流程图的多个方法步骤,并且在其中执行其他方法步骤。在第四方法步骤104之后,首先执行第一检查步骤111。在此,可以在第一路径141上得出所述第一程序版本已经与所述第二存储器中存储的程序版本一致,因此可以中断所述方法。所述方法的结束在图6的流程图100中被表示为圆圈。此外,可以在第一检查步骤111中得出第二路径142,该第二路径对应于未将所述第二程序版本上传到所述第二存储器、并且因此在第四方法步骤104中成功地上传了所述第一程序版本的情况。然后执行第五方法步骤105,也就是将所述原代码的经过更改的副本上传到所述第一存储器中。如果在第一检查步骤111中得出第二程序版本已被上传到所述第二存储器,则所述方法经由第三路径143进入第二决策步骤135。现在,让所述第一用户选择其是否想在第四路径144中拒绝其更改。然后中断所述方法,并且其原代码副本未上传到所述第一存储器中。此外,可以在第四路径144中设置以下方法步骤,其中也拒绝来自第四方法步骤104的第一程序版本。此外,经由第五路径145向所述第一用户提供拒绝所述第二用户的第二程序版本的可能性。然后执行第五方法步骤105,并将所述原代码的经过更改的第一副本上传到所述第一存储器中。经由第六路径146,所述第一用户进入第三替代方案,即,合并已经针对图3在方法步骤112至115和随后的方法步骤105中描述的两个程序版本。

在一个实施例中,经由所述机器代码的程序版本的时间戳来检查位于所述第二存储器中的所述机器代码的程序版本是否不同。在此,在下载所述原代码的第一副本时,会一起传输上传所述原代码和所述机器代码的时间戳。如果在上传所述机器代码时已经位于所述第二存储器中的机器代码同样具有该时间戳,则在此期间没有更改所述机器代码,从而可以继续上传所述原代码的经过更改的副本。

在一个实施例中,基于所述机器代码的程序版本的哈希值来进行所述检查。如果在上传所产生的机器代码的程序版本时已经位于所述第二存储器中的机器代码的程序版本的哈希值与在下载所述原代码的第一副本时所述机器代码的哈希值相对应,则在此期间没有将所述机器代码的新程序版本上传到所述第二存储器中。

在一个实施方式中,在第四方法步骤104中或在第八方法步骤114中通过编译所述原代码的副本来产生这些程序版本,例如第一程序版本和/或第二程序版本和/或第三程序版本。

图7示出了由原代码310和机器代码320组成的软件项目300。在此,原代码310包括一个或多个源文件311和配置文件312。如果现在应当在第四方法步骤或第八方法步骤中产生机器代码320,则源文件311由编译器330编译成机器可读文件321。配置文件312在此没有运行通过编译器330,并且在机器代码320中同样未经更改地可用。位于机器代码320中的配置文件312被集成到机器可读文件321中,其方式是例如在机器可读文件321中设置“从配置文件312中加载特定行或值并由此执行这些特定行或值”的命令。在此,配置文件312可以包含关于外围设备的信息,并且因此例如包含关于针对外部设备的驱动器选择的信息。

图8示出了所述方法的另一时序150,其中方法步骤取自图2和图4,并且如果以下没有描述区别,则这些方法步骤对应于图2和图4的方法步骤。如图2中所述,首先执行方法步骤101至105。在第四方法步骤104之后的第一检查步骤111中,确定在此期间没有上传所述机器代码的其他程序版本。因此执行第五方法步骤105。然后,在另一第一方法步骤121中将现在位于第一存储器201中的原代码副本下载到第二处理站212。在另一第二方法步骤122、另一第三方法步骤123和另一第四方法步骤124中,第二用户在第二处理站212上更改该原代码副本,然后将由此产生的机器代码上传到第二存储器202中。同时,第一用户在第一处理站211上执行附加的第二方法步骤152和附加的第三方法步骤153,并因此进一步更改了所述机器代码的第一程序版本。通过所述第一用户上传所述机器代码的附加的第一程序版本,也就是附加的第四方法步骤154,是在所述第二用户的另一第四方法步骤124之前进行的。此外,在附加的第五方法步骤155中将所述原代码的进一步更改的第一副本上传到第一存储器201中。在此,在附加的第四方法步骤154中上传了所述机器代码的附加的第一程序版本之后在附加的第一检查步骤156中确定“在此期间没有上传所述机器代码的经过更改的程序版本”,然后自动进行附加的第五方法步骤155。在上传由所述第二用户更改的机器代码的程序版本(该上传在另一第四方法步骤124中进行)之后,现在在另一第一检查步骤126检查并确定:在另一第一方法步骤121中下载所述原代码与在另一第四方法步骤124中上传所述机器代码的程序版本之间,已经通过附加的第四方法步骤154更改了所述机器代码。因此,在第六方法步骤112中,将在附加的第五方法步骤155中上传到第一存储器201中的经过更改的原代码版本下载到第二处理站212,然后如针对图4所描述的那样执行方法步骤113至115,但这次是在第二处理站212上。现在在第九方法步骤115中,将合并的程序版本上传到第二存储器202中,并且同时通过该上传自动执行另一第五方法步骤125,并在此过程中将所述原代码的合并副本上传到第一存储器201中。现在在同步步骤127中,第一存储器201的内容与第三存储器203同步。这例如可以通过以下方式来触发:第二处理站212上的第二用户认为现在已经达到了所述软件项目的里程碑,因此进一步的数据安全备份对该第二用户来说显得是有意义的。但是,同步步骤127也可以自动执行,例如在每个工作日结束时或两个工作日之间的晚上。

图9示出了具有中央计算机230、第一数据接口231、第二数据接口232和用于用户的输入选项240的第一处理站211。此外,第一处理站211具有可选的显示器250。作为该构型的替代,第一处理站211也可以仅由具有第一数据接口231的中央计算单元230组成。然后可以经由第二数据接口232对中央计算单元230进行远程访问,并且由此经由连接至第二数据接口232的计算机(未示出)对第一处理站211进行远程访问。该连接可以例如经由网络或互联网进行。第一处理站211在第一数据接口231处与第一(未示出)存储器和第二(未示出)存储器连接。这也可以经由网络接口或经由互联网进行。如果如图4和8所示设置多个处理站,则可以类似于图9的处理站来构造这些处理站。但是,也可以规定,中央计算单元230如上所述起到服务器的作用,并且可以经由第二数据接口232从两个不同的外部计算机访问中央计算单元230。在本专利申请的意义上,中央计算单元230的这种使用代表两个处理站的使用。

只要规定将多个原代码版本存储在所述第一存储器中,就可以经由显示器250或经由连接到第二数据接口232的计算单元的显示器来显示存储在所述第一存储器中的原代码的版本。然后,想要更改所述软件项目的用户可以从显示器250上显示的版本中选择其想要更改哪个原代码版本。这例如可以用于拒绝例如已证明无效的先前更改、以及在处理所述软件项目时以较早的状态开始。

所述第一存储器和所述第二存储器可以被设计为中央文件服务器或所谓的Git存储库。在此,第一和第二存储器可以物理地安置在同一存储介质上,例如服务器的硬盘上。

所描述的处理站以及所描述的用于更改和修改所述软件项目的方法可以特别是有利地用于自动化技术中。

图10示出了具有自动化组件401和第一处理站211的自动化系统400以及第一存储器201。第二存储器202与自动化组件401相关联。存储器201、202以及第一处理站211在此如上所述地起作用。自动化组件401具有控制计算机410、传感器输入端420和执行器输出端430。在控制计算机410上运行的控制程序可以读入经由传感器输入端420中的至少一个检测的传感器数据,并且基于所述传感器数据经由执行器输出端430中的至少一个来控制执行器。这样的自动化组件401可以是较大系统控制的一部分,例如在建筑物自动化的框架下或在生产设备的工业控制领域中。第二存储器202与控制计算机410相关联并与该控制计算机连接。控制计算机410的控制软件存储在第二存储器202中,该控制软件包含例如在所述控制计算机上运行的控制程序。在此,该控制软件代表了迄今描述的方法的软件项目。特别是在自动化技术中,重要的是对所述控制软件进行更改,使得自动化组件401的停机时间尽可能地短。由此所描述的方法是特别重要的,即检查在第一用户处理所述控制软件期间第二用户是否已经将所述控制软件的机器代码的另一程序版本上传到第二存储器202中。图10的自动化系统400附加地具有第二处理站212。第一处理站211利用第一通信连接261与第一存储器201连接,并且利用第二通信连接262与第二存储器202连接,从而一方面可以从第一存储器201下载所述软件项目的原代码,另一方面可以将所述软件项目的机器代码上传到第二存储器202中。类似于图9,第一处理站211可以具有带有第一数据接口的中央计算单元,其中所述通信连接可以连接到所述中央计算单元的第一数据接口231。第二处理站212经由第三通信连接263与第一存储器201连接。第二处理站212经由第四通信连接264与第二存储器202连接。第一存储器201经由可选的第五通信连接265与第三存储器203连接。这可以用于执行图8中描述的同步步骤。如果不需要在第三存储器203中的附加存储,则可以省略第三存储器203和第五通信连接265。如果省去了第二处理站212,则同样可以省略第三和第四通信连接263、264。在这样的自动化系统400中,可以执行所描述的方法,由此可以减少自动化组件401的失效时间并同时实现多个处理站211、212可以对用于控制计算机410的所述控制软件或所述软件项目进行处理。

图11示出了自动化系统400的另一实施例,只要下面没有描述区别,该自动化系统就对应于图10的自动化系统。在自动化系统400的该构型中,第一存储器201也与自动化组件401相关联。在此,第一存储器201和第二存储器202可以安置在第一自动化组件401中的同一硬盘上或不同的硬盘上或相同或不同的存储器选项上。

第一存储器201、第二存储器202和第三存储器203可以被设计为Git存储库,也可以被设计为分散式版本管理的其他可能性。

附图标记列表

100 流程图

101 第一方法步骤

102 第二方法步骤

103 第三方法步骤

104 第四方法步骤

105 第五方法步骤

106 另一上传步骤

111 第一检查步骤

112 第六方法步骤

113 第七方法步骤

114 第八方法步骤

115 第九方法步骤

121 另一第一方法步骤

122 另一第二方法步骤

123 另一第三方法步骤

124 另一第四方法步骤

125 另一第五方法步骤

126 另一检查步骤

127 同步步骤

131 第二检查步骤

132 第一决策步骤

133 第三检查步骤

134 覆盖步骤

135 第二决策步骤

141 第一路径

142 第二路径

143 第三路径

144 第四路径

145 第五路径

146 第六路径

150 时序图

152 附加的第二方法步骤

153 附加的第三方法步骤

154 附加的第四方法步骤

155 附加的第五方法步骤

156 附加的第一检查步骤

201 第一存储器

202 第二存储器

203 第三存储器

211 第一处理站

212 第二处理站

230 中央计算单元

231 第一数据接口

232 第二数据接口

240 输入选项

250 可选的显示器

261 第一通信连接

262 第二通信连接

263 第三通信连接

264 第四通信连接

265 第五通信连接

300 软件项目

310 原代码

311 源文件

312 配置文件

320 机器代码

321 机器可读文件

330 编译器

400 自动化系统

401 自动化组件

410 控制计算机

420 传感器输入端

430 执行器输出端

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用设施诊断系统的设施诊断方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类