用于设计分布式异构计算和控制系统的方法和系统技术方案

技术编号:27192887 阅读:18 留言:0更新日期:2021-01-31 11:38
计算机实现的方法设计分布式异构计算和控制系统,所述分布式异构计算和控制系统包括应用程序和硬件环境,以及在硬件环境中配置应用程序。该方法通过在计算机节点中与交互式显示器相关联地执行的设计软件指令来实现,以利用计算机进程建立交互式环境。计算机进程在交互式环境中提供对功能模块集和原语模块集的访问。计算机进程在交互式环境接收对功能模块和原语模块中所需的模块的选择,并以将分布式计算和控制系统表征为设备集的示意图的方式对所选择的模块进行排序。计算机进程可解析示意图以产生子示意图集,每个子示意图对应于分布式计算和控制系统中的设备集中的不同设备。计算机进程可将子示意图集传送到设备集,并配置每个设备以通过在设备内运行的相应控制程序来执行子示意图。序来执行子示意图。序来执行子示意图。

【技术实现步骤摘要】
【国外来华专利技术】用于设计分布式异构计算和控制系统的方法和系统
[0001]相关申请的交叉引用
[0002]本专利申请要求2018年6月6日提交的美国临时专利申请62/681,397和2018年10月4日提交的美国临时专利申请62/741,326的权益。这些申请中的每一个在此通过引用整体并入本文。


[0003]本专利技术涉及针对分布式异构计算系统设计应用程序的方法。

技术介绍

[0004]具有硬件和软件组件的计算和控制系统的概念在本领域中是已知的。计算和控制系统用于提供对装置、设备和计算机进程的协调控制。它还提供对由系统内的这种装置、设备和计算机进程收集的数据的数据处理能力。如果系统中存在多个设备并且在这些设备之间存在一些协调,则认为计算和控制系统是分布式的。这些设备通常分别设置,并通过通信网络相互通信。如果计算和控制系统中存在多个设备,并且这些设备中的至少一个具有与其它设备中的至少一个不同的硬件配置、软件配置、操作系统、编程方法、开发工具等,则计算和控制系统是异构的。
[0005]示例性分布式异构计算和控制系统是物联网(IoT)系统,其中通常存在至少一个服务器计算机和多个边缘设备。至少一个服务器计算机通常具有强大的硬件资源,而每个边缘设备通常具有受限的硬件资源。边缘设备也可以在硬件资源、软件配置、操作系统、编程方法等方面彼此不同。
[0006]由于系统的分布式和异构性,为这种分布式异构计算和控制系统设计应用程序是困难的。传统的编程方法通常不适于分布式异构系统,因为它们产生将要在单个设备上运行的应用程序。也就是说,传统的编程方法不支持产生在具有不同硬件配置、软件配置,操作系统等的多个设备上运行的应用程序。
[0007]例如,开发团队可能需要实现用于以下分布式异构系统的应用程序。系统的第一边缘设备具有温度传感器,其附接到工业机器的主体,并且第一边缘设备周期性地从传感器读取温度。如果温度超过阈值,则第一边缘设备向服务器计算机发送警报消息。第二边缘设备通过串行端口与工业机器通信,并且可以从工业机器的内部寄存器读取或向工业机器的内部寄存器写入。第二边缘设备周期性地读取工业机器的内部状态寄存器。如果状态变得异常,则第二边缘设备向服务器计算机发送警报消息。第三边缘装置连接到摄像机,摄像机可以拍摄工业机器周围区域的照片或视频。如果服务器计算机从第一边缘设备或第二边缘设备接收到警报消息,则服务器计算机请求第三边缘设备拍摄照片。服务器计算机向客户端设备发送警报消息和照片。操作员检查警报消息和客户端设备上的照片,并且如果操作员确定情况是紧急情况,则操作员向第二边缘设备发送命令以关闭工业机器。
[0008]为了在传统应用中实现上述示例,需要实现至少五个单独的应用程序:用于第一边缘设备的一个程序;用于第二边缘设备的一个程序,用于第三边缘设备的一个程序,以及
用于服务器计算机的两个程序。用于服务器计算机的第一程序可以处理来自第一,第二和第三边缘设备的数据,并且用于服务器计算机的第二程序可以是用于客户端设备的web应用。在使用传统编程方法的不同设备上实现该示例应用程序是复杂且不一致的过程。
[0009]例如,当在分布式异构系统的不同设备上执行的应用程序彼此通信时,应用程序需要非常小心的数据格式兼容性。在上述示例中,第一边缘设备的程序中的温度可以被表示为浮点数,并且通常需要被转换为要通过通信接口发送的字符(char)。然后,在接收温度的服务器计算机上执行的应用程序必须将字符转换回浮点数。当涉及多个分布式应用程序时,这种转换过程非常容易出错。此外,不同的设备可以使用不同的网络接口,例如以太网、WiFi、蜂窝、Zigbee等。因此,每个设备可能需要安装一个或多个网络设备驱动程序并使用一个或多个通信数据格式。在不同设备上执行的应用程序也可能需要实现不同的应用程序,并根据网络接口在不同的通信数据格式之间转换传输的数据。
[0010]在不同设备上执行的应用程序也可以用不同的编程语言来实现。在上述示例中,第一边缘设备可以执行在Python中实现的应用程序,第二边缘设备可以执行在Lua中实现的应用程序,第三边缘设备可以执行在C++中实现的应用程序,并且服务器计算机可以执行在Javascript中实现的应用程序。不同的编程语言优化了不同的性能参数,这使得使用这些不同的编程语言的实现非常复杂。此外,在不同设备上执行的不同应用程序被远程更新。例如,应用程序通常在可由开发团队访问的一个或多个计算机中开发,然后将所开发的程序以原始格式或以编译格式推送到相应的设备。在不同设备中存在的应用程序越多,更新过程越复杂。
[0011]由于这些挑战,为分布式异构系统实现应用程序是一个复杂、繁琐且容易出错的过程。通常需要多个开发工具、多个开发过程以及具有不同技能集的多个开发者来实现这些应用程序,这使得实现分布式异构系统成为昂贵且耗时的过程。

技术实现思路

[0012]根据本专利技术的一个实施例,计算机实现的方法设计分布式异构计算和控制系统,所述分布式异构计算和控制系统包括应用程序和硬件环境,并且在硬件环境中配置应用程序。该方法通过在计算机节点中与交互式显示器相关联地执行的设计软件指令来实现,以利用计算机进程建立交互式环境。计算机进程包括由计算机节点在交互式环境中提供对功能模块集和原语模块集的访问,其中上述模块中的任何一个可以由用户以图形形式选择。计算机进程还包括由计算机节点在交互式环境中接收对功能模块和原语模块中所需的模块的选择,并且以将分布式计算和控制系统表征为设备集的示意图的方式对所选择的模块进行排序。计算机进程还包括由计算机节点解析示意图以产生子示意图集,每个子示意图对应于分布式计算和控制系统中的设备集中的不同设备。计算机进程还包括由计算机节点向设备集发送子示意图集,以便根据示意图来表征每个设备。计算机进程还包括由计算机节点配置每个设备以通过在设备内运行的相应控制程序来执行子示意图。
[0013]可选地,计算机节点是独立的计算机。可替换地或附加地,计算机节点由网络环境中的客户端服务器组合来实现。可替换地或附加地,计算机进程包括由计算机节点通过网表来表征示意图,以及由计算机节点将示意图存储为网表。可替换地或附加地,计算机进程还包括由计算机节点通过检索和处理存储的网表来在交互式环境中呈现示意图的视图。可
替换地或附加地,交互式环境包括设计画布的图形组件、库管理器的图形组件和菜单的图形组件,其中任何图形组件都可以由用户以图形方式选择。可替换地或附加地,计算机进程还包括由计算机节点在设计画布中显示从包括示意图、相应网表及其组合的组中选择出的成员。
[0014]可替换地或附加地,计算机进程还包括由计算机节点将唯一设备标识符(ID)分配给设备集中的每个设备。可替换地或附加地,计算机进程还包括由计算机节点将设备名称分配给设备集中的至少一个设备,其中设备名称可以由用户以图形方式来标注。
[0015]可替换地或附加地,接收对所述功能模块和所述原语模块中的期望的模块的选择使得创建对应于所述期望的模块的模块实例,并且以将所述分布式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种设计分布式异构计算和控制系统的计算机实现的方法,所述分布式异构计算和控制系统包括应用程序和硬件环境,并且在所述硬件环境中配置所述应用程序,所述方法通过在计算机节点中与交互式显示器相关联地执行的设计软件指令来实现,以利用计算机进程来建立交互式环境,所述计算机进程包括:由所述计算机节点在所述交互式环境中提供对功能模块集和原语模块集的接入,其中模块中的任一个能够由用户以图形方式选择;由所述计算机节点在所述交互式环境中接收对功能模块和原语模块中的期望的模块的选择,并以将所述分布式计算和控制系统表征为设备集的示意图的方式对所选择的模块进行排序;由所述计算机节点解析所述示意图以产生子示意图集,每个子示意图对应于所述分布式计算和控制系统中的设备集中的不同设备;由所述计算机节点将所述子示意图集发送到所述设备集,以根据所述示意图来表征所述设备中的每一个;以及由所述计算机节点配置每个设备以通过在所述设备内运行的相应控制程序来执行所述子示意图。2.根据权利要求1所述的计算机实现的方法,其中,所述计算机节点是独立计算机。3.根据权利要求1所述的计算机实现的方法,其中,所述计算机节点由网络环境中的客户端服务器组合来实现。4.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点通过网表来表征所述示意图;以及由所述计算机节点将所述示意图存储为所述网表。5.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点通过检索和处理所存储的网表来在所述交互式环境中呈现所述示意图的视图。6.根据权利要求1所述的计算机实现的方法,其中,所述交互式环境包括设计画布的图形组件、库管理器的图形组件和菜单的图形组件,其中所述图形组件中的任一个可由所述用户以图形方式选择。7.根据权利要求6所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点在所述设计画布中显示从由所述示意图、相应网表及其组合组成的组中选择的成员。8.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点向所述设备集中的每个设备分配唯一的设备标识符(ID)。9.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点向所述设备集中的至少一个设备分配设备名称,其中所述设备名称可以由所述用户以图形方式标注。10.根据权利要求1所述的计算机实现的方法,其中,接收对所述功能模块和所述原语模块中的期望的模块的选择使得创建对应于所述期望的模块的模块实例,并且以将所述分布式计算和控制系统表征为所述示意图的方式来对所述模块实例进行排序。11.根据权利要求10所述的计算机实现的方法,其中,对所述模块实例进行排序包括:
对于彼此通信的一对模块实例,在所述一对模块实例之间配置虚拟线以指示这种通信。12.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:在所述计算机节点接收到将给定模块的图形表示拖放到所述交互式环境的设计画布中所显示的所述示意图的视图的输入之后,使得在所述示意图中创建并排序所述给定模块的模块实例。13.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点使用从包括以下项的组中以图形方式选择的组件来表征给定模块的模块实例:(i)属性表中的至少一个属性,(ii)图形表示,(iii)至少一个示意图,(iv)至少一个设备相关块,以及(iv)它们的组合。14.根据权利要求13所述的计算机实现的方法,其中,所述属性表包含用于表征包括类型和版本的所述至少一个示意图的属性。15.根据权利要求13所述的计算机实现的方法,其中,当所述给定模块是原语模块时,所述属性表包含与所述给定模块相关联的每个设备相关块的属性,其中,每个设备相关块的所述属性包括设备类型列表和版本。16.根据权利要求13所述的计算机实现的方法,其中,所述属性表包含从包括以下项的组中选择的、用于所述模块实例的用户可选择属性:(i)实例名称,(ii)用于实例化所述给定模块的实例类型,(iii)在其中执行所述模块实例的特定设备,(iv)至少一个实例参数,以及(v)它们的组合。17.根据权利要求16所述的计算机实现的方法,其中,所述特定设备的至少一个属性被根据所述模块实例创建的每个子模块实例继承。18.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点将设备相关块与给定原语模块的模块实例相关联,包括:在用于所述模块实例的属性表中,定位与所述模块实例对应的设备属性,其中,所述设备属性针对所述设备集中的一个设备指定设备标识符ID;将所述设备ID映射到设备类型,并在所述给定模块的所述属性表中定位与所述设备类型相关联的所述设备相关块;以及在用于所述模块实例的属性表中,使用分配给所述设备相关块的名称自动更新与所述模块实例相对应的类型属性。19.根据权利要求18所述的计算机实现的方法,其中,通过用户选择所述类型属性来覆盖所述类型属性的自动更新。20.根据权利要求1所述的计算机实现的方法,其中,所述计算机进程还包括:由所述计算机节点在所述交互式环境中显示:树形图,其包括表征所述示意图的模块实例的分层结构;以及正确选择的设备相关块的图形表示,其位于所述树形图下方并链接到所述树形图中的相应原语模块实例。21.根据权利要求1所述的计算机实现的方法,其中,将所述子示意图集发送到所述设备集包括,对于具有原语模块实例的每个子示意图,将设备相关块发送到对应于所述子示意图的不同设备。22.根据权利要求1所述的计算机实现的方法,其中,所述示意图具有组件,包括模块实
例,并且所述计算机进程还包括:由所述计算机节点基于以下项的组合将不同的地址分配给所述示意图的给定组件:(i)设备的设备ID,(ii)定义要在所述示意图内按顺序遍历以到达所述给定组件的每个组件的名称的路径,以及(iii)所述给定组件的名称。23.根据权利要求1所述的计算机实现的方法,其中,所述示意图具有组件,包括模块实例,并且所述计算机进程还包括:由所述计算机节点基于以下项的组合向给定模块实例分配不同的地址:(i)设备的设备ID,以及(ii)所述给定模块实例的ID;以及由所述计算机节点向不是模块实例的给定组件分配由以下项的组合定义的唯一地址:(i)设备的设备ID,(ii)包括所述给定组件的模块实例的ID,以及(iii)所述给定组件的名称。24.根据权利要求1所述的计算机实现的方法,其中,解析所述示意图包括:对于所述设备集中的每个设备,创建用于所述设备的子示意图;对于所述示意图的每个模块实例,将所述模块实例复制成子示意图,其中所述子示意图的设备对应于所述模块实例的设备ID;处理连接所述示意图中的第一模块实例和第二模块实例...

【专利技术属性】
技术研发人员:王安舟
申请(专利权)人:普莱赛恩技术有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1