1.本公开涉及向执行客户端应用的操作员工作站分布资产模型运行时间数据,并且更具体地,涉及使用资产模型运行时间数据的分布来支持客户端应用的亚秒级故障转移。
背景技术:2.工业工厂系统的操作工作站,诸如工作站或操作站,被配置为托管客户端应用,以显示工厂系统的运行时间数据。这些操作工作站可以使用无服务器或基于服务器的架构来支持故障转移。在无服务器架构中,客户端应用从没有中间层的控制器获取运行时间数据。每当有来自其中一个客户端应用的数据请求时,客户端应用按需订阅控制器数据。为了拥有高可用性的客户端应用,在多个操作工作站上执行同一客户端应用。当主操作工作站出现故障时,操作工作站的操作员切换到辅助操作工作站。由于运行时间数据是基于按需订阅获取的,因此客户端应用显示调用时间很长,即对于具有1000个输入/输出(i/o)引用的显示,大约需要8秒钟。
3.在基于服务器的架构中,中间层可用于从控制器和相关缓存中获取运行时间数据。在主动-主动配置(其中多个操作工作站同时主动运行同一种服务)中,客户端应用可以提交数据请求以从缓存中获得运行时间数据,对于具有1000个i/o引用的显示器,这将客户端应用显示调用时间缩短到不到几秒钟。然而,主动-被动配置(其中主操作工作站处于活动状态,辅助操作服务器在主操作工作站不可用时充当备份)的故障转移时间会增加。此外,在主动-主动配置中,需要额外的硬件和软件许可证,这会增加解决方案的成本。
技术实现要素:4.下面描述的说明性实施例的目的和优点将在下面的描述中阐明并从下面的描述中变得明显。通过在书面描述和权利要求以及附图中特别指出的设备、系统和方法,将实现和获得所示实施例的附加优点。为了实现这些和其他优点,并且根据所示实施例的目的,在一个方面,公开了一种计算机实现的方法,用于管理由在工业系统的多个工作站的每一个上托管的客户端应用使用的运行时间资产数据的可用性。该方法包括确定在多个工作站从多个数据服务器接收的运行时间资产数据的分布。运行时间资产数据包括关于工业系统资产的数据。此外,运行时间资产数据被确定为分布在与相应的多个客户端应用相关联的运行时间资产数据缓存中。该方法还包括基于所确定的分布来分布运行时间资产数据用于在运行时间资产数据缓存中的存储,其中本地存储在与相应的多个客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据的至少一部分被复制并远程存储在与多个客户端应用的至少一个其他客户端应用相关联的运行时间资产数据缓存上。周期性地评估本地存储在与相应多个客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据,以确定本地存储的运行时间资产数据是否是最新的,并且响应于确定本地存储的运行时间资产数据不是最新的,通过从远程存储本地存储的运行时间资产数据的复制版本的运行时间资产数据缓存请求和取得本地存储的运行时间资产数据的复制和更新版本来更新本地存
储的运行时间资产数据。
5.在一个或多个实施例中,该方法还可以包括周期性地评估本地存储在与由工作站托管的客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据,以确定本地存储的运行时间资产数据是否是最新的,并且响应于确定本地存储的运行时间资产数据不是最新的,从远程存储本地存储的运行时间资产数据的复制版本的运行时间资产数据缓存请求和取得本地存储的运行时间资产数据的复制和更新版本。该方法还可以包括用所请求的数据更新本地存储的运行时间资产数据。
6.在一个或多个实施例中,分布可以基于一个或多个可配置参数。
7.在一个或多个实施例中,确定本地存储的运行时间资产数据是否是最新的可以包括评估存储的运行时间资产数据的值、质量和时间戳属性中的至少一个,以确定存储的运行时间资产数据是否是最新的。
8.在一个或多个实施例中,本地存储的运行时间资产数据可由与运行时间资产数据缓存相关联的客户端应用使用,以向用户提供信息视图。
9.在一个或多个实施例中,运行时间资产数据缓存上的运行时间资产数据可以提供关于系统资产的信息,并且关于每个资产的信息可以包括关于与资产相关联的所有控制回路、资产和系统的不同资产之间的关系以及与资产相关联的信号的信息中的至少一个。
10.在一个或多个实施例中,该方法还可以包括,当本地存储在运行时间资产数据缓存之一上的运行时间资产数据被复制时,标识将复制的运行时间资产数据远程存储到与运行时间资产数据缓存和/或客户端应用的托管工作站相关联的客户端应用的运行时间资产数据缓存。
11.根据本公开的另一方面,公开了一种缓存管理系统,用于管理由在工业系统的多个工作站的每一个上托管的客户端应用使用的运行时间资产数据的可用性。缓存管理包括被配置为存储多个可编程指令的存储器和与存储器通信的至少一个处理设备。至少一个处理设备在执行多个可编程指令时被配置为,确定在多个工作站从多个数据服务器接收的运行时间资产数据的分布,其中运行时间资产数据包括关于工业系统的资产的数据,并且其中运行时间资产数据被确定为分布在与相应的多个客户端应用相关联的运行时间资产数据缓存中。至少一个处理设备在执行多个可编程指令时还被配置为,基于所确定的分布来分布运行时间资产数据以存储在运行时间资产数据缓存中,其中本地存储在与相应多个客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据的至少一部分被复制并远程存储在与所述多个客户端应用的至少一个其他客户端应用相关联的运行时间资产数据缓存上。周期性地评估本地存储在与相应多个客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据,以确定本地存储的运行时间资产数据是否是最新的,并且响应于确定本地存储的运行时间资产数据不是最新的,通过从远程存储本地存储的运行时间资产数据的复制版本的运行时间资产数据缓存请求和取得本地存储的运行时间资产数据的复制和更新版本来更新本地存储的运行时间资产数据。
12.在一个或多个实施例中,数据服务器可以包括硬件设备和/或软件数据源,这些硬件设备和/或软件数据源将运行时间资产数据传输到在相应的多个工作站上实现的相应数据服务提供商。
13.在一个或多个实施例中,缓存管理系统还可以包括与每个工作站相关联的数据服
务实例,其中与每个工作站相关联的数据服务实例可以包括被配置为存储多个数据服务可编程指令的数据服务存储器和与数据服务存储器通信的至少一个数据服务处理设备,其中至少一个数据服务处理设备在执行多个数据服务可编程指令时,可被配置为周期性地评估本地存储在与由工作站托管的客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据,以确定本地存储的运行时间资产数据是否是最新的,响应于确定本地存储的运行时间资产数据不是最新的,从远程存储本地存储的运行时间资产数据的复制版本的运行时间资产数据缓存请求和取得本地存储的运行时间资产数据的复制和更新版本,并用所请求的数据更新本地存储的运行时间资产数据。
14.在一个或多个实施例中,至少一个工作站可以是云托管控制接口工作站,其在用户和机器或操作系统之间提供用于控制和/或管理机器或操作系统的接口,并且多个工作站中的至少一个工作站可以是现场控制接口工作站、嵌入式控制接口工作站、虚拟化控制接口工作站、容器化控制接口工作站或直接在硬件上托管的控制接口工作站中的至少一个。
15.在一个或多个实施例中,分布可以基于一个或多个可配置参数。
16.在一个或多个实施例中,确定本地存储的运行时间资产数据是否是最新的可以包括评估存储的运行时间资产数据的值、质量和时间戳属性中的至少一个,以确定存储的运行时间资产数据是否是最新的。
17.在一个或多个实施例中,本地存储的运行时间资产数据可以由与运行时间资产数据缓存相关联的客户端应用使用,以向用户提供信息视图。
18.在一个或多个实施例中,运行时间资产数据缓存上的运行时间资产数据可以提供关于系统资产的信息,并且关于每个资产的信息可以包括关于与资产相关联的所有控制回路、资产和系统的不同资产之间的关系以及与资产相关联的信号的信息中的至少一个。
19.在一个或多个实施例中,在执行多个数据服务可编程指令时,至少一个数据服务处理设备还可以被配置为,当本地存储在运行时间资产数据缓存之一上的运行时间资产数据被复制时,标识将复制的运行时间资产数据远程存储到与运行时间资产数据缓存和/或客户端应用的托管工作站相关联的客户端应用的运行时间资产数据缓存。
20.根据本公开的另一个方面,提供了一种用于管理运行时间资产数据的可用性的方法,该运行时间资产数据由在工业系统的多个工作站中的每一个工作站上托管的客户端应用使用。该方法包括在多个工作站的工作站处,访问由运行时间资产数据缓存本地存储的运行时间资产数据的一部分,该运行时间资产数据缓存与由工作站托管的多个应用的客户端应用相关联,其中运行时间资产数据包括关于工业系统的资产的数据。运行时间资产数据被分布以存储在与相应的多个客户端应用相关联的运行时间资产数据缓存中。此外,本地存储在与相应多个客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据的至少一部分被复制并远程存储在与多个客户端应用的至少一个其他客户端应用相关联的运行时间资产数据缓存上。该方法还包括周期性地评估本地存储在与相应的多个客户端应用相关联的运行时间资产数据缓存上的运行时间资产数据,以确定本地存储的运行时间资产数据是否是最新的,并且响应于确定本地存储的运行时间资产数据不是最新的,通过从本地存储的运行时间资产数据请求和取得本地存储的运行时间资产数据的复制和更新版本来更新本地存储的运行时间资产数据。
21.在一个或多个实施例中,该方法还可以包括在工作站的通信接口处接收部分运行时间资产数据,并将该部分运行时间资产数据存储在与工作站托管的客户端应用相关联的运行时间资产数据缓存中。
22.在一个或多个实施例中,工作站的通信接口可以是可扩展的通信接口。
23.在一个或多个实施例中,该方法还可以包括在工作站处,将由运行时间资产数据缓存本地存储的运行时间资产数据的部分转变成可由工作站处理和/或由工作站托管的客户端应用使用的可工作协议。
24.从下面结合附图对优选实施例的详细描述中,本发明的系统和方法的这些和其他特征对于本领域技术人员来说将变得更加明显。
附图说明
25.通过参考各种实施例,可以获得上文简要概述的本公开的更详细描述,其中一些实施例在附图中示出。虽然附图图示了本公开的选定实施例,但是这些附图不应被认为是对其范围的限制,因为本公开可以允许其他同等有效的实施例。
26.图1是示出根据本公开实施例的具有多个工作站的工业工厂系统的框图;
27.图2是根据本公开的实施例的管理运行时间资产数据的可用性的示例方法的流程图,该运行时间资产数据由图1所示的工作站托管的客户端应用使用;
28.图3是根据本公开的实施例的确定运行时间数据在运行时间资产数据缓存中的分布的示例方法的流程图,该运行时间资产数据缓存与由图1所示的工作站托管的相应客户端应用相关联;
29.图4是根据本公开的实施例的流程图400的示例方法的流程图,示出了用远程存储在图1所示的工厂系统的从节点上的数据条目更新存储在主节点的本地运行时间资产数据缓存中的数据条目的方法;以及
30.图5是根据本公开的实施例的实现图1所示的缓存管理系统和工作站的示例性计算机系统的框图。
31.在可能的情况下,使用相同的附图标记来表示附图中相同的元件。然而,在一个实施例中公开的元件可以有益地用于其他实施例,而无需具体叙述。
具体实施方式
32.本公开针对运行时间数据的高可用性,诸如用于由使用分布式运行时间数据缓存的工厂的操作工作站的客户端应用显示的动态资产模型信息视图中的显示。本地存储在与相应客户端应用相关联的运行时间数据缓存上的运行时间数据的至少一部分被复制并远程存储在与客户端应用的至少一个其他客户端应用相关联的运行时间数据缓存上。
33.现在将参考附图,其中相同的附图标记表示主题公开的相似结构特征或方面。出于解释和说明而非限制的目的,根据本公开的工厂系统的示例性实施例的框图在图1中示出,并且通常由附图标记100表示。根据本公开的工厂系统100的其他实施例或其方面在图2-5中提供,如下所述。
34.除非另有定义,本文使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。尽管类似于或等同于本文所述的任何方法和材料也可
用于本公开的实践或测试,但是现在描述示例性方法和材料。
35.必须注意的是,如本文和所附权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指代物,除非上下文另有明确规定。因此,例如,对“刺激”的引用包括多个这样的刺激,对“信号”的引用包括对本领域技术人员已知的一个或多个信号及其等同物的引用,等等。应当理解,如下所述的本公开的实施例是使用软件算法、程序或代码来实现的,这些软件算法、程序或代码可以驻留在计算机可用介质上,以便能够在具有计算机处理器的机器上执行。该机器可以包括被配置为从计算机算法或程序的执行中提供输出的存储器。
36.如此处所使用的,术语“软件”意在与可由主计算机的处理器执行的任何逻辑、代码或程序同义,而不管该实现是在硬件、固件中还是作为可在存储器存储设备上获得或从远程机器下载的软件计算机产品。这里描述的实施例包括实现上述方程、关系和算法的软件。本领域技术人员将基于上述实施例理解本公开的进一步特征和优点。因此,除了所附权利要求指出的以外,本公开不受已经具体示出和描述的内容的限制。
37.工厂系统100包括多个工厂操作工作站102,它们与存储在跨工厂操作工作站102分布的运行时间数据缓存108中的工厂资产模型120协作。运行时间数据服务106和一个或多个数据服务提供商110在每个工厂操作工作站102上被实例化。每个工厂操作工作站102还托管一个或多个客户端应用104,其提供用于显示工厂资产模型120的运行时间数据的动态资产模型信息视图。从数据服务器112接收的关于工厂资产的运行时间数据被分成多个分区,并被分布到相应的工厂操作工作站102。运行时间数据服务实例106与控制层118通信,控制层118具有代表工厂资产的一个或多个数据服务器112。以这种方式,提供了运行时间资产模型模式,该模式抽象地对运行时间数据服务106建模,并为提供给客户端应用104的通信提供通用资产模型命名空间。运行时间资产模型模式可扩展到控制层118的各种数据服务器112和各种通信协议,包括可扩展到数据服务器112和在配置工厂资产模型时未知的通信协议,诸如未来的控制器和/或协议。
38.工厂系统100还包括缓存管理系统122,其根据一个或多个参数来管理运行时间数据向与各个单独的操作工作站102相关联的运行时间数据缓存108的分布。运行时间数据缓存108和缓存管理系统122提供分布式缓存基础设施,其维护运行时间数据的每个部分的冗余副本,并从数据服务器112实时更新运行时间数据。由每个工厂操作工作站102执行的数据服务106的实例可以访问工厂资产模型120的整个命名空间的运行时间数据缓存108。
39.客户端应用可以包括,例如但不限于,资产分析模块、操作管理界面(omi)、人机界面(hmi)、状况或健康监测模块、根本原因分析模块或历史记录,每个都具有提供信息视图的能力。可以浏览由工厂过程和自动化资产经由运行时间数据服务器112提供并显示在信息视图中的运行时间数据,以理解不同资产之间的关系,并发现与特定信息视图中的每个资产相关联的信号。信息视图中表示的模型示例包括国际自动化学会(isa)88或isa106工厂模型、工厂网络模型(交换机、路由器、vlan、连接设备等),以及配电模型。
40.运行时间数据包括关于工厂的资产的数据,向工厂的相对应的操作工作站提供关于资产之间的关系的信息和关于与每个感兴趣的资产相关联的信号的信息。
41.缓存管理系统122和每个工作站102(包括相关联的数据服务106)是固定或移动计算机设备,诸如服务器、台式计算机、膝上型计算机、平板电脑或智能手机。一个或多个工作站102,诸如工作站102b,可以被配置为提供用户和机器或操作系统之间的接口用于控制
和/或管理机器或操作系统的云托管控制接口工作站。工作站102中的一个或多个,诸如工作站102a,可以被配置为现场控制接口工作站、嵌入式控制接口工作站、虚拟化控制接口工作站、容器化控制接口工作站或直接在硬件上托管的控制接口工作站。
42.运行时间数据服务106的每个实例是由相对应的工作站102执行的软件程序。运行时间数据缓存108包括多个与相对应的工作站102集成或可由相对应的工作站102访问的物理数据缓存。
43.运行时间数据服务106的每个实例经由数据服务提供商110从一个或多个数据服务器112接收运行时间数据,并将与工厂资产模型120的模式相关联的协议转变成可工作的协议,诸如运行时间数据服务106的实例可以处理和理解的和/或可以由相对应的工作站102托管的客户端应用108使用的一个或多个专有和/或标准协议(例如,intouch omi
tm
、opc ua
tm
)。作为主节点的工作站经由其数据服务提供商110接收数据,并将数据存储在其运行时间数据缓存108中。缓存管理系统122复制作为主节点操作的工作站的运行时间数据缓存中接收和存储的运行时间数据,并将复制的数据分布到被指定为从节点的工作站的运行时间数据缓存108。
44.数据服务提供商110包括通信接口,包括硬件和/或软件接口,以使得运行时间数据服务106的相对应的工作站实例能够从数据服务器112接收运行时间数据。
45.数据服务器112包括硬件设备,并且还可以包括相关联的软件数据源112a。硬件设备控制工厂系统100的资产。软件数据源112a可以将与硬件设备相关的运行时间数据通信给资产数据服务106的实例。经由数据服务提供商110从每个资产数据服务106实例处的数据服务器112接收运行时间数据。每个数据服务提供商110经由通信路径114从数据服务器112接收运行时间数据,并在数据服务器112和资产数据服务106实例之间提供通信接口。通信接口是可扩展的,以允许新的能力和/或功能,使得能够扩展到各种数据服务器112和数据服务器112使用的通信协议。
46.运行时间数据的高可用性是通过基于一个或多个参数确定运行时间数据在与相应的客户端应用104相关联的运行时间数据缓存108中的分布来实现的。然后,运行时间数据基于所确定的分布被分布并存储在相应的运行时间数据缓存108中。用于管理运行时间数据分布的参数可以基于管理员输入的数据,或者可以基于工厂系统100的状态自动确定,诸如用于负载平衡。本地存储在与相应客户端应用104相关联的运行时间数据缓存108上的运行时间数据的至少一部分被复制并远程存储在与至少一个其他客户端应用104相关联的运行时间数据缓存108上。
47.周期性地评估本地存储在与相应的多个客户端应用相关联的运行时间数据缓存上的运行时间数据,以确定本地存储的运行时间资产数据是否是最新的。
48.响应于确定本地存储的运行时间数据不是最新的,从与具有相关联的远程运行时间数据缓存的其他客户端应用中的至少一个相关联的运行时间数据缓存108请求和取得更新的运行时间数据,并且将其存储为本地存储的运行时间数据的更新版本。
49.确定本地存储的运行时间数据是否是最新的包括评估本地存储的运行时间数据的值、质量和时间戳(vqt)属性中的至少一个,以确定本地存储的运行时间数据是否是最新的。本地存储的运行时间数据的项目的值属性是为该特定项目存储的资产数据服务106实例的最新值。每当资产数据服务106实例从任何数据服务器112读取时,运行时间数据缓存
108中的值被更新。项目的质量属性表示存储在运行时间数据缓存108中的值与设备值匹配程度的指示,其中设备值是从数据服务器112的设备提供的值。项目的时间戳属性表示资产数据服务106实例评估数据服务器112设置本地存储的项目的值和质量属性的最近时间。
50.表i示出了本地存储的项目的vtq属性。在该示例中,存储的项目与储罐液位相关。
[0051][0052]
当本地存储在运行时间数据缓存108之一上的运行时间数据被复制时,缓存管理系统122标识运行时间数据缓存108,该运行时间数据缓存108将复制的运行时间数据远程存储到与运行时间数据缓存108(和/或客户端应用104的托管工作站)相关联的客户端应用104。
[0053]
图2-4示出了非限制性流程图,示出了根据某些示出的实施例的本公开的方法。在参考图2-4之前,应注意到图2-4中的流程图200、300和400各自示出了以特定顺序执行操作框的示例,如连接这些框的线所示,但是该流程图中所示的各种框可以以不同的顺序执行,或者以不同的组合或子组合执行。应当理解,在一些实施例中,下面描述的一些框可以组合成单个框。在一些实施例中,可以包括一个或多个附加框。在一些实施例中,可以省略一个或多个框。
[0054]
上面参考根据本公开实施例的方法、装置(系统)和计算机程序产品的框图描述了本公开的方面。所述方法的特征包括可以使用软件、硬件和/或固件来执行的运算,诸如方程、变换、转换等。关于软件实现,应当理解,框图图示中的各个框以及框图图示中的框的组
合可以通过计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器,以产生机器,使得经由计算机的处理器或其他可编程数据处理设备执行的指令创建用于实现框图的一个或多个框中指定的功能/动作的装置。
[0055]
参照图2,示出了管理在工厂系统(诸如图1的工厂系统100)的多个工作站(诸如图1所示的工作站102)中的每个工作站上托管的客户端应用(诸如图1所示的客户端应用104)所使用的运行时间资产数据的可用性的流程图200。在框202,工作站从数据服务器(即工厂资产)接收运行时间数据。在框204,确定运行时间数据在运行时间数据缓存系统中的分布,该运行时间数据缓存系统具有与相应的客户端应用相关联的运行时间数据缓存。在框206,基于所确定的分布来分布运行时间数据。在框208,本地存储在运行时间数据缓存210之一上的运行时间数据的一部分被复制。在框208,复制的运行时间数据被远程存储在与至少一个其他客户端应用相关联的运行时间资产数据缓存上。
[0056]
在框212,周期性地评估本地存储在与相应多个客户端应用相关联的运行时间资产数据缓存上的运行时间数据,以确定本地存储的运行时间资产数据是否是最新的。在框214,响应于确定本地存储的运行时间数据不是最新的,从与具有相关联的远程存储本地存储的运行时间数据的更新版本的运行时间资产数据缓存的其他多个客户端应用中的至少一个相关联的运行时间资产数据缓存请求并取得更新的运行时间数据。在框216,当本地存储在运行时间资产数据缓存之一上的运行时间数据被复制时,标识将复制的运行时间数据远程存储到与运行时间资产数据缓存和/或客户端应用的托管工作站相关联的客户端应用的运行时间资产数据缓存。
[0057]
参照图3,示出了确定运行时间数据在与由工厂系统的工作站托管的相应客户端应用(诸如图1所示的由工厂系统100的工作站102托管的客户端应用104)相关联的运行时间资产数据缓存(诸如图1所示的运行时间数据缓存108)之间的运行时间数据的分布的方法的流程图300。该方法开始于框302。在框304,从工作站的运行时间资产数据服务实例(诸如图1所示的数据服务106实例)处理数据读取请求。该工作站可以被指定为具有一个或多个包括在工厂系统中的指定的从节点的主节点。工作站具有本地运行时间资产数据缓存。该数据读取请求可以是从资产读取运行时间数据的请求,诸如经由图1所示的数据服务提供商110从数据服务器112读取运行时间数据。可以通过将请求的数据与存储在本地运行时间资产数据缓存中的相应数据条目进行比较来评估vtq。在框306,基于评估的结果,确定所请求的数据的值属性相对于存储在主节点的本地运行时间资产数据缓存中的相应数据条目的值属性是否改变。
[0058]
如果在框306的确定是值属性没有改变,则在框308,基于评估的结果,确定所请求的数据的质量属性相对于存储在主节点的本地运行时间资产数据缓存中的相应数据条目的质量属性是否改变。如果在框308的确定是质量属性没有改变,则在框314,与存储在主节点的本地运行时间资产数据缓存中的相应数据条目相关联的时间戳属性被更新。
[0059]
如果在框306确定值属性已经改变,则在框310,用所请求数据的值属性更新存储在主节点的本地运行时间资产数据缓存中的相应数据条目的值属性。此外,在框314,更新与存储在本地运行时间资产数据缓存中的相应数据条目相关联的时间戳属性。
[0060]
如果在框308的确定是质量属性已经改变,则在框312,用所请求数据的质量属性
更新存储在主节点的本地运行时间资产数据缓存中的相应数据条目的质量属性。此外,在框314,更新与存储在本地运行时间资产数据缓存中的相应数据条目相关联的时间戳属性。
[0061]
在框316,通过将更新的数据条目远程存储在被指定为从节点的工厂系统的工作站上,来复制更新的数据条目。
[0062]
参照图4,流程图400示出了使用远程存储在设备系统的从节点上的数据条目更新存储在主节点(诸如图1所示的设备系统100的工作站102之一)的本地运行时间资产数据缓存(诸如图1所示的运行时间数据缓存108)中的数据条目的方法。该方法开始于框402。在框404,处理数据读取请求,其中工作站的运行时间资产数据服务实例(诸如图1所示的数据服务106实例)请求从其本地运行时间资产数据缓存访问具有资产运行时间数据的数据条目。该请求可以用于使用所访问的数据条目来更新由工作站托管的客户端应用。该工作站可以被指定为具有一个或多个包括在工厂系统中的指定从节点的主节点,其中存储在本地运行时间资产数据缓存上的数据被复制并存储在与从节点相关联的资产数据缓存上。
[0063]
在框406,确定本地运行时间资产数据缓存中是否有有效数据可供访问。如果在框406的确定是在本地运行时间资产数据缓存中存在可用的有效数据,则在框412,数据条目被访问并用于更新由工作站托管的客户端应用。
[0064]
如果在框406的确定是在本地运行时间资产数据缓存中没有可用的有效数据,则在框408,工作站连接到其从节点之一的远程运行时间资产数据缓存。在框410,从从节点的远程运行时间资产数据缓存中读取具有资产运行时间数据的相应数据条目。
[0065]
参照图5,示出了示例计算系统500的框图,其提供了缓存管理系统122和每个工作站102(包括相关联的数据服务106)的示例配置。另外,缓存管理系统122和工作站102的全部或部分可以被配置为软件,并且计算系统500可以表示这些部分。计算系统500仅是合适系统的一个示例,并不旨在对这里描述的本公开的实施例的使用范围或功能提出任何限制。计算系统500可以使用硬件、软件和/或固件来实现。无论如何,计算系统500能够被实现和/或执行本公开中阐述的功能。
[0066]
计算系统500以通用计算设备的形式示出。计算系统500包括处理设备502、存储器504、可以与诸如用户接口510的内部组件以及可选的外部组件508通信的输入/输出(i/o)接口(i/f)506。
[0067]
处理设备502可以包括例如plod、微处理器、dsp、微控制器、fpga、asic和/或具有类似处理能力的其他分立或集成逻辑电路。
[0068]
处理设备502和存储器504可以包括在例如fpga、asic、微控制器或微处理器中提供的组件中。存储器504可以包括例如易失性和非易失性存储器,用于临时或长期存储数据,以及用于存储可由处理设备502执行的可编程指令。存储器504可以是用于存储程序指令的可移动(例如,便携式)存储器。i/o i/f506可以包括接口和/或导体,以耦合到一个或多个内部组件510和/或外部组件508。
[0069]
这些计算机程序指令也可以存储在计算机可读介质中,该计算机可读介质可以引导计算机、其他可编程数据处理设备或其他设备以特定方式运行,使得存储在计算机可读介质中的指令产生包括实现流程图和/或框图的一个或多个框中指定的功能/动作的指令的制品。
[0070]
计算机程序指令还可以被加载到计算机、其他可编程数据处理设备或其他设备
上,以使得在计算机、其他可编程设备或其他设备上执行一系列可操作的操作,从而产生计算机实现的过程,使得在计算机或其他可编程设备上执行的指令提供用于实现框图的一个或多个框中指定的功能/动作的过程。
[0071]
缓存管理系统122和工作站102的实施例可以由一个或多个计算机系统实现或执行,诸如微处理器。每个计算机系统500可以被包括在缓存管理系统122和工作站102或其多个实例中。在所示的示例中,计算机系统嵌入在缓存管理系统122和工作站102中。在各种实施例中,计算机系统500可以包括微处理器、现场可编程门阵列、专用集成电路、微控制器中的一个或多个。计算机系统500可以作为嵌入式设备来提供。计算机系统500的部分可以在外部提供,诸如通过集中式计算机、数据集中器、驾驶舱计算设备来控制间隙状态的显示,例如关于间隙的通知或警报等。
[0072]
计算机系统500仅是合适系统的一个示例,并不旨在对这里描述的本公开的实施例的使用范围或功能提出任何限制。无论如何,计算机系统500能够被实现和/或执行上文阐述的任何功能。
[0073]
计算机系统500可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。通常,程序模块可以包括例程、程序、对象、组件、逻辑、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。
[0074]
在前面,参考了各种实施例。然而,本公开的范围不限于具体描述的实施例。相反,所描述的特征和元件的任何组合,无论是否与不同的实施例相关,都被预期来实现和实践预期的实施例。此外,尽管实施例可以实现优于其他可能的解决方案或现有技术的优点,但是特定的优点是否由给定的实施例实现并不限制本公开的范围。因此,前面的方面、特征、实施例和优点仅仅是说明性的,并且不被认为是所附权利要求的要素或限制,除非在权利要求中明确陈述。
[0075]
这里公开的各种实施例可以实现为系统、方法或计算机程序产品。因此,各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)的形式或结合软件和硬件方面的实施例,这些方面在本文中通常被称为“电路”、“模块”或“系统”。此外,各方面可以采取包含在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有包含在其上的计算机可读程序代码。
[0076]
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是非暂时性计算机可读介质。非暂时性计算机可读介质可以是,例如但不限于,电子、磁、光、电磁、红外或半导体系统、装置或设备或前述的任何合适的组合。非暂时性计算机可读介质的更具体的示例(非穷举列表)可以包括以下:具有一条或多条导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备或上述的任何合适的组合。包含在计算机可读介质上的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、rf等或前述的任何合适的组合。
[0077]
用于执行本公开各方面的操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写。此外,这种计算机程序代码可以使用单个计算机系统或通过彼此通信的多个计算机系统(例如,使用局域网(lan)、广域网(wan)、互联网等)来执行。尽管参考流程图和/或框图描述了前面的各种特征,但是本领域普通技术人员将理解,流程图和/或框图
的每个框以及流程图和/或框图中的框的组合可以由计算机逻辑(例如,计算机程序指令、硬件逻辑、两者的组合等)来实现。通常,计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器。此外,使用处理器执行这样的计算机程序指令产生了能够执行流程图和/或框图框中指定的功能或动作的机器。
[0078]
附图中的流程图和框图示出了本公开的各种实施例的可能实现的架构、功能和/或操作。在这点上,流程图或框图中的每个框可以代表模块、代码段或代码部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应该注意的是,在一些替代实现中,框中提到的功能可以不按图中提到的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意到,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
[0079]
应当理解,以上描述旨在说明而非限制。在阅读和理解以上描述后,许多其他实施例是显而易见的。尽管本公开描述了具体示例,但是应当认识到,本公开的系统和方法不限于这里描述的示例,而是可以在所附权利要求的范围内进行修改来实施。因此,说明书和附图被认为是说明性的,而不是限制性的。因此,本公开的范围应当参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。