首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 软件包 / 软件组件 / 规则引擎 / 用于分布式数据系统的语义搜索和规则方法

用于分布式数据系统的语义搜索和规则方法

阅读:1031发布:2020-05-14

专利汇可以提供用于分布式数据系统的语义搜索和规则方法专利检索,专利查询,专利分析的服务。并且提供了用于在分布式 数据处理 系统中对信息进行搜索和/或作用的方法和系统。一种处理语义 规则引擎 的方法可以包括接收规则数据集,基于规则数据集识别一组连接元素,评估与该一组连接元素和规则数据集相关的条件,基于该一组连接元素的评估条件确定命令集,以及执行命令集。,下面是用于分布式数据系统的语义搜索和规则方法专利的具体信息内容。

1.一种用于语义规则引擎的系统,所述系统包括存储器和联接到所述存储器的处理器,所述系统被配置为:
接收规则数据集;
基于所述规则数据集识别一组连接元素;
评估与所述一组连接元素和所述规则数据集相关的条件;
基于所述一组连接元素的评估条件确定命令集;和
执行所述命令集。
2.根据权利要求1所述的系统,其中,所述规则数据集被配置有特定语法。
3.根据权利要求2所述的系统,其中,所述特定语法包括促进过滤、聚合、资源、能、或推断功能的元素。
4.根据权利要求3所述的系统,其中,所述规则数据集被针对与一个或更多个连接元素相关联的数据字段过滤。
5.根据权利要求4所述的系统,其中,推断连接元素之间的关系是通过本体操作确定的。
6.根据权利要求4所述的系统,其中,相关联的经过滤的数据字段选自包括设备类型、类别、能力、或通信协议的组。
7.根据权利要求1所述的系统,其中,所述规则数据集创建业务规则来表达系统需求。
8.根据权利要求1所述的系统,其中,所述规则数据集可以被聚合。
9.根据权利要求1所述的系统,其中,所述规则数据集被本地或远程部署。
10.根据权利要求1所述的系统,其中,所述规则数据集包括促进安装、激活、去激活、或卸载的元素。
11.根据权利要求1所述的系统,还包括识别在所述规则数据集内的可动作的连接元素。
12.根据权利要求11所述的系统,还包括更新与连接元素相关联的规则数据集。
13.根据权利要求1所述的系统,其中,一个或更多个连接元素是虚拟元素。
14.根据权利要求1所述的系统,其中,语义搜索引擎与所述语义规则引擎一起操作。
15.一种用于处理语义规则引擎的方法,包括:
接收规则数据集;
基于所述规则数据集识别一组连接元素;
评估与所述一组连接元素和所述规则数据集相关的条件;
基于对所述一组连接元素的评估条件确定命令集;和
执行所述命令集。
16.根据权利要求1所述的方法,其中,所述规则数据集被配置有特定语法。
17.根据权利要求16所述的方法,其中,所述特定语法包括促进过滤、聚合、资源、能力、或推断功能的元素。
18.根据权利要求17所述的方法,其中,针对与一个或更多个连接元素相关联的数据字段过滤所述规则数据集。
19.根据权利要求18所述的方法,其中,推断连接元素之间的关系由本体操作确定。
20.根据权利要求18所述的方法,其中,相关联的经过滤的数据字段选自包括设备类型、类别、能力或通信协议的组。
21.根据权利要求16所述的方法,其中,所述规则数据集创建业务规则来表达系统需求。
22.根据权利要求16所述的方法,其中,所述规则数据集可以被聚合。
23.根据权利要求16所述的方法,其中,所述规则数据集被本地或远程部署。
24.根据权利要求16所述的方法,其中,所述规则数据集包括促进安装、激活、去激活、或卸载的元素。
25.根据权利要求16所述的方法,还包括识别所述规则数据集内的可动作的连接元素。
26.根据权利要求25所述的方法,还包括更新与连接元素相关联的规则数据集。
27.根据权利要求16所述的方法,其中,一个或更多个连接元素是虚拟元素。
28.根据权利要求16所述的方法,其中,语义搜索引擎与所述语义规则引擎一起操作。

说明书全文

用于分布式数据系统的语义搜索和规则方法

发明领域

[0001] 本公开的实施例大体上涉及数据处理的方法,且更具体地涉及用于查询与分布式数据处理系统相关联的数据和将对于该数据的规则相关联的系统和方法。
[0003] 本申请要求下列临时专利申请的优先权和权益:2016年10月31日提交的题为“Semantic Search and Rule Methods for a Distributed Data System”的美国临时专利序列62/415,330号。该前述临时专利申请的全部内容通过引用明确地并入本文。
[0004] 背景
[0005] 相关技术的描述
[0006] 物联网(IoT)使大规模地将元素互连在一起成为可能。这种融合允许在这些元素之间的交互和协作,以完成一项或更多项特定任务。这些任务根据应用的上下文和环境而不同。例如,任务的范围可以从环境特征(诸如单个房间的温度或湿度)的感测和监测到整个建筑物或设施的控制和优化,以便实现更大的目标,诸如能量管理战略。
[0007] 根据应用,连接元素可以是异质和/或同质硬件,这可以有助于感测、致动、数据捕获、数据储存、或数据处理。每种类型的连接元素硬件可以具有详细描述硬件本身的物理能和/或测量参数的数字表示的独特的数据结构。例如,温度传感器可以包括温度度量、MAC地址、IP地址、和CPU类型数据。每个连接的硬件元素可以具有唯一的数据结构。因此,利用通过各种各样的可用硬件而可用的这些各种数据结构的异构性,有效地分析和控制该数据成为严峻的挑战。
[0008] 概述
[0009] 提供了用于在分布式数据处理系统中对信息进行搜索和/或作用的方法和系统。一种处理语义规则引擎的方法可以包括接收规则数据集,基于规则数据集识别一组连接元素,评估与该一组连接元素和规则数据集相关的条件,基于该一组连接元素的评估条件确定命令集,以及执行命令集。
[0010] 本公开的原理表明语义规则引擎可以用特定语法来配置。此外,特定语法可以包括促进过滤、聚合、资源、能力、和/或推断功能的元素。可以针对与一个或更多个连接元素相关联的数据字段过滤规则数据集。任何推断连接元素之间的关系可以通过本体操作来确定。此外,相关联的经过滤的数据字段可以从包括设备类型、类别、能力、或通信协议的组中选择。
[0011] 本公开的原理进一步证明;语义规则数据集可以创建业务规则来表达系统需求。此外,规则数据集可以被聚合、本地部署、或远程部署。规则数据集可以包括促进安装、激活、去激活、或卸载的元素,并且还可以包括识别规则数据集内可动作的连接元素。另外,语义规则引擎还可以包括更新与连接元素相关联的规则数据集,或者当一个或更多个连接元素是虚拟元素时更新规则数据集。此外,语义搜索引擎可以与语义规则引擎一起操作。
[0012] 附图简述
[0013] 这些附图并非意图按比例绘制。在附图中,在各个图中示出的每个相同或几乎相同的部件由划线数字表示。出于清楚的目的,并非每个部件都可以在每个图中被标记。在附图中:
[0014] 图1A示出了根据本公开的各种实施例的用于促进语义搜索和/或规则引擎方法的系统的各方面;
[0015] 图1B示出了用于促进图1A中所示的语义搜索和/或规则引擎方法的系统的各方面的另一实施例;
[0016] 图2示出了根据本公开的各种实施例的不同类型的设备可如何连接到用于促进语义搜索和/或规则引擎方法的系统的各方面;
[0017] 图3A示出了根据本公开的各种实施例的用于促进语义搜索和/或规则引擎方法的系统的各个连接元素的示例性部署;
[0018] 图3B示出了在促进根据图3A进行的语义搜索和/或规则引擎开发和/或执行的系统的各种物理位置上的连接元素的示例性部署;
[0019] 图3C示出了在促进语义搜索和/或规则引擎开发和/或执行的系统上的连接元素的示例性数据组织结构;
[0020] 图3D示出了在促进语义搜索和/或规则引擎开发和/或执行的系统上的连接元素的用户接口内的示例性数据组织结构;
[0021] 图4A是用于语义搜索和/或规则引擎开发和/或执行的系统的部件的框图
[0022] 图4B是用于语义搜索和/或规则引擎开发和/或执行的系统的部件的替代表示;
[0023] 图5A是用于执行语义搜索和/或规则引擎开发和/或执行的流程图
[0024] 图5B是用于语义搜索和/或规则引擎开发和/或执行的示例性命令功能的流程图;
[0025] 图6示出了用于促进语义搜索和/或规则引擎开发和/或执行的系统的替代实施例;
[0026] 图7示出了用于促进语义搜索和/或规则引擎开发和/或执行的架构的替代实施例;
[0027] 图8示出了用于促进语义搜索和/或规则引擎开发和/或执行的系统的替代实施例;
[0028] 图9示出了组合规则引擎条件以促进组合逻辑与语义搜索和/或规则引擎开发和/或执行的实施例;
[0029] 图10示出了语义搜索和/或规则引擎开发和/或执行内的语义规则的生命周期的实施例;
[0030] 图11示出了用于促进语义搜索和/或规则引擎开发和/或执行的系统的各方面;
[0031] 图12是根据本公开的实施例的通用计算机系统的功能框图;
[0032] 图13是根据图12的通用计算机系统的通用储存系统的功能框图;
[0033] 详细概述
[0034] 本公开并不将其应用限于下面描述中阐述的或者在附图中示出的部件的结构以及布置的细节。本公开能够是其他实施例,并且能够以各种方式来实践或执行。此外,在本文使用的措辞和术语是为了描述的目的,且不应被视为限制性的。“包括(including)”、“包括(comprising)”、“具有”、“包含”、“涉及”、及变型在本文中的使用意在是开放式的,即“包括但不限于”。
[0035] 在物联网(IoT)或更普遍地信息物理系统(CPS)的新兴世界中,多种技术的融合正在进行中以允许由大批连接元素的感测、致动、数据捕获、储存、或处理。这些连接元素可使用现有的网络基础设施远程访问,以允许有效的机器与机器(M2M)和人与机器(H2M)的通信。在这样的通信过程中,由于连接元素的网络随着时间的推移而变化,来自这些连接元素的越来越多的数据将被生成并允许以前不可能的关联。关联数据结构的完全不同的性质加剧了对连接元素的动态集合的组织的问题。
[0036] 由于硬件和相关联的数据结构的这种过剩,组织和分析数据的问题出现了,因为各种各样的数据结构可能在单个处理点处从连接元素的庞大网络被接收。存在对于处理、请求、和/或分析来自连接元素的异构源的数据的能力的需求。每个独立的连接元素可以包含来自数据结构的多个数据特征,这些数据特征类似于其他独立元素或元素组。然而,即使具有这些相似的数据特征,针对这些相似的数据特征在过多的不同连接元素中进行高效地查询也是一项重大挑战。解决这个数据异构问题的一种方法涉及结构化语义查询的实现和执行。
[0037] 数据挑战的解决方案是使用结构化语义查询来解决两个不同的问题。首先,解决从包含各种数据结构的连接系统传递的数据异构性问题。其次,过滤和聚合来自连接元素的这些异构数据,并只向用户、平台、和/或其他存储库提供所需且相关的数据。
[0038] 实现和执行的示例应用可以包括但不限于:(1)管理HVAC系统以确保设施居住者的舒适性,(2)维护用于储存器或居住者的特定环境空气质量(其可能包括温度、湿度、和二含量),并根据普遍的天气条件动态调整工作建筑环境,(3)通过主动控制照明、加热、和冷却来控制和优化能耗来管理设施管理,以及(4)监测日常运营、维护、和设施运营的监督。这种应用的商业实施例可以是建筑物管理或自动化系统的一部分。
[0039] 应当理解的是,本文描述的系统促进了在配置和/或终端用户应用方面的显著灵活性,并且尽管描述了几个示例,但是许多替代实施例配置和应用也是可能的。
[0040] 一般来说,这些任务是由相对实际上非技术性且需要丰富的交互经验的个人执行的,这隐藏了数据异构问题的复杂性。本文包含的各种实施例的优点包括但不限于:允许搜索特定的连接元素或相关联的数据结构;在不熟悉设施特定架构的情况下,配置符合该设施特定架构的警报和通知消息;允许设施特定查询的执行以确定实时指标,诸如按区域划分的能耗;和/或配置任何类型的数据结构以不需要单位转换或其他特定结构的方式进行收集。
[0041] 图1A示出了用于语义搜索方法100的实现和执行的系统的表示,其中可以实现本公开的各种实施例。用于语义搜索方法的系统可以包括一个或更多个通用计算机110、一个或更多个数据储存阵列130、云计算环境120、包含一个或更多个连接元素(未示出)的建筑物或其他结构140、以及允许在系统的这些部分之间交换数据的网络连接150。
[0042] 在图1A所示的系统的一个实施例中,建筑物140包含一个或更多个连接元素,这些元素执行感测、致动、数据捕获、储存、或处理,以用于对建筑物140的监测或管理。任何种类的连接元素可以用于在到云计算环境120、到系统的其他部分的网络连接150上捕获、存储、或处理数据,或致动相关联的设备。这些连接元素可以例如检测温度、湿度、环境光、声音、烟雾、一氧化碳、二氧化碳、运动、非导电流体、导电流体、振动、能量、功率、电压、电流、或任何其他期望的特性,以及它们的组合。连接元素也可以操作或铰接(articulate)元素、部件、和/或其他系统,诸如打开灯、打开窗户、移动遮光帘、或触发门。连接元素还可以处理来自其他连接元素的数据结构,或者将来自一个或更多个连接元素的数据结构传播到一个或更多个其他连接元素。可以以任何组合来部署任何数量的连接元素以监测或管理物理空间。这种空间的示例可以包括壁橱、房间、建筑物、校园、办公室、长廊、或任何其他期望的地点。
[0043] 包含连接元素的每个建筑物140可以最终通过网络连接150连接到云计算环境120。这种连接允许通过能够以有线或无线的连接方式连接到云计算环境120的各种设备来访问这种云计算环境120。从图1A中,这样的设备可以包括能够接收来自用户的输入或者提供自主操作的一个或更多个通用计算机110。一个或更多个数据储存阵列130可用于提供额外的数据储存能力。应当认识到,云计算环境120提供到附加元素或系统的附加通信路径,但并不需要作为语义搜索方法的一部分。其它实施例考虑独立或单独的系统。
[0044] 网络连接150可以是有线或无线连接类型。这种连接可包括但不限于任何物理布线方法,诸如5类电缆、同轴电缆、光纤、、双绞线、或传播电信号的任何其它物理介质。无线连接可以包括但不限于个人区域网(PAN)、局域网(LAN)、Wi-Fi、蓝牙、蜂窝网、全局网、或基于空间的通信网络。在云环境120和任何其它云环境之间的访问在其他实现中是可能的,这些其它云环境被配置成与类似于云环境(诸如现有的云环境120)的设备连接。应当理解的是,图1A中显示的计算设备仅仅旨在是例证性的,并且计算节点和云计算环境可通过具有可寻址或直接连接的任何类型的网络与任何类型的计算机化设备通信。
[0045] 图1B示出了用于利于图1A所示的语义搜索方法的系统的各方面的其他实施例。这样的实施例可以具有一个或更多个通用计算机,其操作专用程序170来充当管理系统,该管理系统可以有线或无线地连接到云计算环境180,云计算环境180又可以连接到一个或更多个建筑环境190。每个建筑环境190中的区域可以包含一个或更多个连接元素。这些连接元素可以例如检测温度、湿度、环境光、声音、烟雾、一氧化碳、二氧化碳、运动、非导电流体、导电流体、振动、能量、功率、电压、电流、或任何其他期望的特性,以及它们的组合。连接元素也可以操作或铰接元素、部件、和/或其他系统,诸如打开灯、打开门或窗户、移动遮光帘、或触发门锁,以及最将数据报告回充当管理系统的专用程序170。
[0046] 图2示出了用于语义搜索方法200的系统的一部分的表示,其中可以实现本公开的各种实施例。在图2的一个实施例中,建筑物140包含用于监测或管理的一种或更多种类型的连接元素210、220、230、240。这些连接元素210、220、230、240经由有线网络250或无线网络260通信,并且使得来自每个连接元素的数据结构经由网络连接150可用于云环境120。
[0047] 任何种类的连接元素可以用于在到云计算环境120、到系统的其他部分的网络连接150上感测、致动、数据捕获、储存、或处理。例如,连接元素可以是测量二氧化碳210的连接传感器以用于监测建筑物140的空气质量,并经由有线网络连接250进行通信。连接元素既可以是检测环境光的连接传感器,也可以是改变居住者照明设备的状态并经由有线网络连接250通信的致动器220。连接元素可以是用于温度和湿度230的连接传感器,以监测建筑物140的环境,并经由无线网络连接260进行通信。最后,连接元素240用作连接网关,以经由它们各自的网络连接250、260与相关联的连接元素210、220、230通信,处理每个元素的数据结构,并将它们传输到网络连接150以用于传输到云环境120。应当认识到,云计算环境120提供到附加设备或系统的附加通信路径,但并不需要作为语义搜索方法的一部分。其它实施例考虑独立或单独的系统。
[0048] 为了利用本公开的实施例,这些连接元素不需要在地理上被定位或以任何方式在逻辑上分组。在地理上或在逻辑上分组连接元素可允许更经济的使用。诸如在公寓、家庭或办公室建筑物中的地理分组以及在逻辑上按功能来定位连接元素可被实现。许多逻辑分组示例中的一个可以是定位被设计成感测温度的连接端点,其靠近被占用的位置以检测环境的变化。应当认识到,连接端点的分组也可以位于非常大的地理范围内,甚至全球范围内。这种全球操作可以通过位于全球任何数量的设施中的网络来监测。
[0049] 图3A示出了用于语义搜索方法300的系统的各个元素的背景下的示例性部署,其中可以实现本公开的各种实施例。示出了“北”建筑物310和“西”建筑物320。每栋建筑物都有(3)个楼层与之相关联。北楼层(1)312、北楼层(2)314、北楼层(3)316被包含在北建筑物310内。西楼层(1)322、西楼层(2)324、和西楼层(3)326被包含在西建筑物320内。每个楼层都有(3)个不同类型的连接元素。例如,连接元素可以是测量二氧化碳的连接传感器330、
332、334、360、362、364以用于分别监测建筑物310、320的空气质量,并经由有线网络连接进行通信。连接元素可以是检测环境光的连接传感器且可以是改变居住者照明设备的状态并经由有线网络连接通信的致动器340、342、344、370、372、374。连接元素可以是用于温度和湿度的连接传感器350、352、354、380、382、384以分别监测建筑物310、320的环境并经由无线网络连接进行通信。
[0050] 图3B示出了用于语义搜索方法300的系统的各个元素的背景和逻辑位置中的示例性部署,其中可以实现本公开的各种实施例。在每栋建筑物的每个楼层内存在多个连接元素。作为示例,温度和湿度350、352、354、380、382、384、二氧化碳330、332、334、360、362、364、以及环境光340、342、344、370、372、374的连接元素存在于每栋建筑物的每一楼层上。
此外,每个连接元素可以存在于每栋建筑物的每个楼层上的不同区域中。作为许多示例之一,总平面图390可以指示被定义为“区域1”392、“区域2”394、和“区域3”396的区域。应当认识到,这种指定是用户或其他系统高度可配置的,并且在此仅出于说明目的而示出。
[0051] 给定图3A和图3B中所示的连接元素配置,每个连接元素具有数据结构,该数据结构包括但不限于传感器特定信息(温度/湿度、二氧化碳、和环境光)、地理信息(区域、楼层、建筑物)、和网络信息(MAC地址、IP地址、有线、无线)。其他连接元素信息以及与连接元素本身的操作相关的信息也是可用的。作为一个示例,在线或离线状态可用于进一步添加到每个连接元素的数据结构。
[0052] 一旦与连接元素的物理连接就位或被建立,就可以创建数字表示。这个将系统的物理表示转化为均质分类的过程称为语义标注。语义标注将特定系统的连接元素中可用的数据结构链接到实际上或可能存在于物理表示的系统、或本体中的正式名字和定义。例如,本体可以包括诸如位置、关系、用途、物理量、网络协议、或单位的定义。
[0053] 语义标注可以以两种方式之一出现,自动语义标注或手动语义标注。自动语义标注可以由系统在没有用户输入的情况下完成。在这种方法中,系统检查对于每个连接元素的每个数据结构,并将其解构为相对应的数据结构元素。在识别过程期间,确定对于每个连接元素存在哪些数据结构元素。一旦定义了每个数据结构元素,它就会被映射到相应的分类,并使用该分类进行标注,该分类又会成为该连接元素数据结构的一部分。至少一个数据结构元素在此过程期间可以被标注,以允许所有连接元素被定义为系统的一部分。
[0054] 手动语义标注可以由系统在具有用户输入的情况下完成。作为示例,这种形式的标注可以在整个系统、连接元素组、或单独的连接元素的安装期间执行。类似于自动语义标注,对于每个连接元素的每个数据结构都被检查或为用户所知。一旦用户识别出定义了什么数据结构元素,用户就可以选择到相对应的分类法的映射。一旦用这种分类法进行了标注,它又成为该连接元素数据结构的一部分。至少一个数据结构元素在此过程期间可以被标注,以允许所有连接元素被定义为系统的一部分。其他工具可用于帮助用户识别关于特定连接元素的特定数据结构元素。这种工具可以在整个系统或系统的部分的调试期间使用。
[0055] 图3C示出了在促进语义搜索的系统上的连接元素的示例性数据组织结构。应当认识到,任何组合中的任何连接元素类型可以存在于任何地理位置中,并且包括相应数据结构内的附加信息。这些示例性数据组织示出了本体的示例(诸如协议或用途)以及特定于应用的本体(诸如数据中心或建筑物)。图3D示出了来自用户界面的示例性输出,其可用于促进手动语义标注。
[0056] 一旦语义标注的过程完成,物理系统的数字表示被存储在系统内的一个或更多个存储器中。每个连接元素可以由一个或更多个相对应的数据结构表示。每个数据结构将包含描述连接元素的特性的数据结构元素。作为许多示例之一,具有二氧化碳传感器330的连接元素将具有描述传感器特性的相关联的数据结构。每个数据结构将包括许多数据结构元素。每个连接元素将具有数据结构(contracture)和一个或更多个数据结构元素。关于该二氧化碳传感器330的数据结构元素可以包括物理量(二氧化碳)、测量单位(百万分之几)、位置(北建筑物,楼层1,区域3)、协议(MODBUS)、网络(有线、IP地址)、和用途(建筑物)。
[0057] 应当认识到,虽然每个连接元素可以具有一个或更多个相关联的数据结构,但是数据结构元素的数量可以基于特定的配置或应用而变化。一旦以这种方式组织了连接元素数据结构,就可以在没有物理系统和相关联的连接元素的离散或深入知识的情况下执行多维分析。
[0058] 图4A是用于语义搜索方法400的系统部件的框图,其中可以实现本公开的各种实施例。用户和/或机器上的另一个过程能够开始语义搜索。用户发起的搜索可以在通用计算机110处开始,在其他实现中,机器发起的过程可以从系统中的任何其他过程中导出。应当认识到,发起语义搜索的方法不是相互排斥的。在这两种情况下,由语义搜索引擎410处理的查询是具有特定语法的结构化搜索查询。这种语法结构可以包括使用各种数据结构元素、过滤、基本聚合、发布、和订阅、以及推断功能。
[0059] 在一个实施例中,结构化搜索查询可以包括一个或更多个过滤表达式。搜索设备协议:ZigBee,以及量:温度和位置:具有(名称==温度且值>22以及单位==_F)的Lab101将在Lab 101中搜索名为“温度”的、具有大于22F的值的ZigBee无线传感器。在替代实施例中,支持基本聚合功能,诸如Min、Max、Sum、Avg。例如,Sum变量测量:有功能量,和用途:照明,以及位置:建筑物2,计算了在建筑物2中所有有源光源的总和。在另一个实施例中,发布和/或订阅功能可以应用于对于给定测量类型在特定位置中的连接元素。订阅设备协议:ZigBee,以及量:温度和位置:从2016-03-21到2016-04-21每天00:10:00具有值>22且具有单位==_F的楼层1,分析特定连接元素何时变得可用。在另一个实施例中,推断功能(诸如@类型:传感器)可以用于推断连接元素之间的关系。
[0060] 结构化搜索查询被接收到由查询解码器(QD)430和查询评估器(QE)440组成的语义查询处理器420中。查询解码器(QD)430分析结构化搜索查询并将其解构为查询元素。查询元素被传递给查询评估器(QE)440,以分析查询元素并基于分析对系统执行操作。结构化搜索查询可以包括关于特定连接元素的推断功能。在这种情况下,离散的连接元素是未知的,但是需要关于它的信息。这里,本体处理器450执行进一步的分析,该本体处理器450进一步处理包含在结构化搜索查询中的推断引用的数据结构元素,并访问本体库460以获得对适当连接元素的可用推断引用。
[0061] 例如,连接元素是由用户查询环境值的二氧化碳传感器330。用户将结构化查询输入到通用计算机110中。查询解码器(QD)430对结构化搜索查询进行反编译,并将查询元素传递给执行收集数据的操作的查询评估器(QE)440。在该示例中,仅请求传感器330处的二氧化碳的当前值。查询评估器(QE)440请求关于连接元素的完整数据结构。该数据结构从用作用于二氧化碳传感器330的网关设备240的连接元素进行传输。二氧化碳传感器330的整个数据结构从充当网关设备240的连接元素收集,并将数据传输到语义查询处理器420和通用计算机110。应当认识到,用于分析的数据结构可以来自接近实时的连接元素,诸如充当网关设备240或包含数据结构的数据仓库470的连接元素。这种决策基于系统的状态和结构化搜索查询。
[0062] 图4B是根据本公开的各种实施例的用于语义搜索方法的系统的部件的实现的示例。
[0063] 图5A是根据本公开的各种实施例的语义搜索方法500的流程图。如前所讨论,接收针对一个或更多个连接元素的结构化搜索查询510。应当认识到,一个或更多个连接元素可以是语义搜索的目标。这个查询是从用户或另一台机器直接接收的。一旦接收到,结构化搜索查询被解构为其复合查询元素520。语义搜索引擎处理查询元素,以识别连接元素中哪些需要检查它们相应的数据结构530。关于每个识别的连接元素的数据结构被提取并处理,以确定哪些数据结构元素匹配结构化搜索查询的查询元素,并确定命令数据元素540。这个命令数据元素用于确定完成结构化搜索查询所需的额外处理。本公开的实施例允许分析对应于多个连接元素的多个数据结构的多个数据结构元素。做出决定以确定是否需要其他处理550。如果不是,则对关于每个识别的连接元素的数据结构执行处理,以确定对于每个识别的连接元素的命令数据元素560。然后,命令按照类型分开570。
[0064] 图5B是用于语义搜索方法的方法的示例性命令功能的流程图。从图5中,命令按照类型分开570。命令数据被处理以确定进一步的处理。这些类型包括搜索命令574、聚合命令576、发布和订阅命令578、以及本地化推断命令。一旦做出确定,就执行命令以用于搜索
584、聚合586、发布和订阅588、以及本地化推断580。一旦处理命令的结果对于所有识别的连接元素被完成,就执行数据的注释以形成查询数据集590。这个查询数据集是初始查询连同作为处理的命令的一部分所采取的任何动作的结果。该查询数据集被提供给通用计算机以供用户和/或进行初始查询的系统使用592。
[0065] 从前述内容应该认识到;结构化语义查询的使用解决了两个不同的问题。首先,解决从包含各种数据结构的连接系统传递的数据异构性问题。其次,过滤和聚合来自连接元素的这些异构数据,并只向用户、云平台、或其他存储库提供所需且相关的数据。还应该认识到,语义搜索可以作为从任意数量的连接源接收数据的独立系统而存在。
[0066] 在实现中,对于集成解决方案,语义搜索引擎和语义规则引擎的组合系统有可能利用执行的业务规则来分析、创建、开发、执行和控制各种连接的设备。例如,由语义搜索引擎生成的数据又可以被提供给语义规则引擎,并通过由与特定系统相关联的语义规则引擎执行的规则的开发来加以利用以在该系统上分析、创建、和执行任务,或者存储在库或其他储存库中并在其他系统上使用。
[0067] 在另一实施方式中,语义规则引擎可以作为从任意数量的连接源接收数据的独立系统和/或系统模存在。同样,语义规则可以被开发和执行以促进对连接源的控制,以及对所选择系统的控制策略。该控制策略可以在运行时配置而不中断设备的操作,并且规则生命周期可以与任何或所有规则相关联以允许对所选择系统的鲁棒管理。
[0068] 在示例中,语义规则引擎与语义搜索一起操作,以使设施管理者能够确定和利用由设施中的任意数量的设备生成的数据,诸如图6所示的示例系统。除了确定设备数据之外,语义规则引擎还可以用于根据已经接收和处理的数据针对没有、一部分、和/或所有的设备配置参数。在一个示例中,连接设备可以在特定间隔后传输它们的数据,并在特定事件发生时发送警报。一段时间后,图示的设施可以安装新的空调单元,通过调节相关联的压缩机的使用来管理温度。现在,设施管理者可能还想利用语义搜索来查询关于这些新空调单元的信息,并且当它们消耗的能量超过特定的预定阈值时利用从语义搜索引擎导出的规则来关闭它们以节约能量。
[0069] 从该实施例中,通常有两条路径来促进用于分析、开发、和/或执行规则的语义搜索、语义规则引擎、或组合的语义搜索和规则引擎组合的实现。首先,利用定制的解决方案,其中针对特定实施例建立搜索或规则,并且当新的需求出现时重新配置新的解决方案。这个选项可能不会很好地扩展,并且可能是快速适应新实施例或更有效地实现新业务规则的障碍。第二个选项可能具有可被实现的更灵活的解决方案,其不需要重新配置完整的解决方案并且实现语义搜索、语义规则引擎、或组合的语义搜索和规则引擎组合的益处。在该实施例中,潜在的解决方案可以具有以下特征:(1)以明确的方式表达对控制设备和/或发送警报的需求和条件;(2)这些需求的部署策略可能局限于设备中;(3)以编程方式执行这些需求的有效机制;以及(4)获得关于设备的当前状态和/或能量消耗或系统的任何其他期望特性的洞察的上下文查询能力。
[0070] 除了这些需求之外,所提出的解决方案可以适用于嵌入式环境,容易集成到任何现有设备中,在设计上模块化以允许解决方案的发展,与设备类型无关,和/或与协议或应用程序域约束无关。
[0071] 图7示出了根据本公开的各种实施例的用于促进语义搜索和/或规则引擎方法的架构的可选实施例。语义规则引擎(SRE)可以包括两部分,规则引擎和语义搜索引擎。虽然两者可以彼此结合使用,但是应当认识到,这不是对系统的限制,并且一者或两者可以彼此独立地使用。
[0072] 语义规则引擎可以包含以下特征:(1)利用业务规则以清楚和上下文相关的方式明确表达用户和/或系统需求和条件;(2)利用设备(例如,网关)的能力在本地和/或远程部署业务规则;(3)用于分析、创建、和/或执行业务规则的专用业务规则执行引擎;(4)利用语义网和本体概念来提供关于数据的一致的、可重复使用的和可共享的视图;(5)与自然语言类语法上下文一致的查询语言;(6)分析用户和/或系统查询的有效机制;(7)以模块化方式开发解决方案,以便将来集成和扩展新功能。
[0073] 对于SRE,关于控制或信息的任何用户和/或系统需求都以规则的形式表示。这些规则设计成使他们能够:(1)评估与资源和/或其能力相关的条件;(2)当满足这些条件时,执行对资源和/或能力的控制;(3)当满足特定条件时通知用户和/或系统;(4)为每个规则提供生命周期以允许该规则被安装、激活、去激活、和/或卸载;(5)规则之间的合作允许在一个示例中多个规则重复使用相同的动作定义。
[0074] 图8示出了根据本公开的各种实施例的用于促进语义规则引擎方法的系统的可选实施例。规则引擎是语义规则引擎的另一组成。它为网关设备提供分散化的智能和/或控制任何附接设备的能力。
[0075] 规则管理器模块可以与远程应用交互以接收规则文件和/或命令来管理它们。规则管理器加载执行环境来运行和管理所有规则。执行环境通常是提供所需功能所需的一组支持功能。这些支持功能处理订阅、计时器以及与SRE的其他部件(如语义引擎和云连接代理)的交互。一旦创建了执行环境,规则管理器就可以创建规则并管理规则(例如,安装、启动、停止和/或删除)。每个规则可以单独执行,使得一个规则的任何异常都不会影响其他规则。
[0076] 为了在上下文基础上管理规则,可以使用上面详述的语义搜索引擎。对SRE来说,语义搜索引擎的概念被用来允许规则引擎进行基于语义的查询,并使用返回的结果来执行规则。
[0077] 提供的简单查询语言极大地促进了两个引擎之间的交互。这是与其他解决方案的区别因素,诸如“If This Then That(IFTTT)”。作为许多示例之一,规则可以使用位置标签作为获得传感器列表的手段,以将其当前值与规则中指定的阈值进行比较。语义搜索引擎可以使用位置标签对所有传感器进行过滤,并且因此只向规则引擎提供相关的传感器。然后,规则可以对任何结果做出比较,并根据规则中指定的逻辑执行动作,例如通知、警报、和/或启动。
[0078] 替代实施例可以是周期性地执行相同的规则,并且在其下一次执行之前,一些新的传感器被安装在相同的位置。在其下次执行中执行相同的语义查询时,使用语义查询引擎将返回新的和旧的传感器。因此,没有必要改变规则逻辑。在本示例中,规则引擎独立于任何拓扑变化。
[0079] 总的来说,具有这种能力允许SRE成为灵活的解决方案,其中相同的规则可以在不同的产品和解决方案中重复使用,只要概念(诸如,上述实施例中的位置)是相似的。这提供了几个好处,包括但不限于节省时间和成本,无论设备、安装或客户如何,都具有类似的功能。
[0080] 图9示出了根据本公开的各种实施例的组合规则引擎条件以促进组合逻辑与语义规则引擎方法的实施例。关于控制和/或信息的用户和/或系统需求都以规则的形式表示。因此,规则设计具有以下特征:(1)评估与资源和/或其能力相关的条件;(2)当满足这些条件时,执行对资源和/或能力的控制;(3)当满足特定条件时通知用户;(4)为每个规则提供生命周期以允许该规则被安装、激活、去激活和/或卸载;(5)规则之间的合作作为多个示例之一允许多个规则重复使用相同的动作定义。
[0081] 规则可以被设计成包含条件。规则的条件部分被设计得非常灵活。条件可以包括对多个资源和/或能力的评估。基本条件可以被定义为只考虑一种资源或能力的条件。因此,规则的条件部分可能包括由逻辑运算符组合的多个基本条件的评估。作为一个示例,使用资源和/或能力的定义来获得设备测量的语法可以是:
[0082] [资源]能力
[0083] 以及示例:
[0084] [多传感器A]温度
[0085] 基于以上定义,条件可如何由多个基本条件组成的示例如下且在图9中被示出。
[0086] 条件:[多传感器A]温度>25_C AND
[0087] [门传感器B]为打开==真
[0088] 基本条件1:[多传感器A]温度>25_C
[0089] 基本条件2:[门传感器B]为打开==真
[0090] 可以使用的逻辑运算符的示例是“AND”和/或“OR”。可以使用的比较器的示例是:=;<;_;_;<>;>。
[0091] 定义了允许对资源和/或能力进行扩展评估的各种类型的基本条件。这些包括但不限于:
[0092] 资源能力:()
[0093] 当对特定资源和能力的当前测量感兴趣时,可以使用该条件。一个示例语法是:[多传感器A]温度>25_C。
[0094] 这允许评估能力何时达到某个阈值(<;_;_;>)或等于/不等于特定值(=;<>)。
[0095] 资源:
[0096] 这个条件允许将“资源已连接”事件指定为条件。一个示例语法是:@存在[多传感器A]=真
[0097] 资源能力变化:
[0098] 需求可能延伸到仅仅是测量的当前值的评估之外。状态和/或能力值的变化可能是令人感兴趣的。该条件允许定义能力值的变化。一个示例语法是:@变化[门传感器]门状态=真。
[0099] 这种类型的评估可能有益于可指示状态的能力,诸如对应于窗口是打开还是关闭的测量。
[0100] 资源能力增加:条件资源能力变化的评估:可以进一步区分条件变化的增加和减少。每当能力值增加时,此条件评估为真。一个示例语法是:@增加[多传感器A]温度=真[0101] 资源能力减少:类似于条件资源能力增加:,当能力值降低时,可以使用该条件。一个示例语法是:@减少[多传感器A]温度=真
[0102] 经由逻辑运算符AND和/或OR组合大量条件的能力允许用户和/或系统指定与特定需求相关的有益条件。作为基于上下文的语义搜索引擎,并且不需要知道资源和能力的名称,任何兴趣都可以通过位置、设备类型、协议、和/或物理测量能力来表达。语义搜索引擎将返回以上下文方式匹配这些感兴趣的相对应的资源。
[0103] 规则可能有相关联的操作。关于规则的动作部分,可以选择一种设计,以在可以执行的动作类型方面给予用户和/或系统尽可能多的自由度。示例动作可以包括但不限于控制设备、发送警报和/或定义新规则。设想了一种实现允许用户和/或系统将动作部分描述为定制功能或预定义功能的方法。
[0104] 图10示出了根据本公开的各种实施例的在语义规则引擎方法内的语义规则的生命周期的实施例。这些规则的一个好处是在其生命周期方面尽可能灵活。作为许多示例之一,降低热供应温度的规则可能只有在周末才被激活,并且然后停止。生命周期规则的实施例允许用户和/或系统通过使用诸如图形用户界面人机界面(HMI)来管理生命周期状态来满足需求。
[0105] 应当认识到,规则可以相互作用。规则合作,其中规则的动作部分将包含在功能中。该动作可以例如向监测程序或管理平台发送具有特定字符串的警报。为满足相同功能的每个规则指定单独的操作是多余的。允许规则之间的合作具有共享功能重新使用的好处。一个结果可能是规则定义较少,并且允许用户和/或系统使用现有功能,而不必为每个实例创建新功能。
[0106] 图11示出了根据本公开的各种实施例的用于促进语义搜索和/或规则引擎方法的系统的各方面。规则引擎可以植入任何数量的技术。示例包括但不限于JESS、JBoss Drools、Lua和/或OpenRules。
[0107] 在一个实施例中,Lua是由于以下因素而被选择的:(1)Lua针对嵌入式系统开发;(2)Lua是开源的且具有强大的用户基础;(3)Lua语法可以被系统的非技术用户理解;(4)Lua允许广泛的表达式;(5)Lua在许多语言中轻量级开源解释器,包括Java和C语言,从而促进了不同产品之间的集成。
[0108] 在这个实施例中,规则可以被写成Lua脚本,其然后由Lua解释器执行。规则引擎的Java和C版本都是为提供相似功能的不同硬件平台开发的。支持函数可以包括Java或C函数的列表,以提供对订阅和规则执行的计时器的支持。执行环境可以由Lua解释器创建,并确保多个规则在其执行期间不会相互干扰。
[0109] Lua还允许规则调用普通的Java或C函数,其实际实现已经在Java方法或C函数中完成。SRE可能通过这些实现支持附加函数,并且规则可以相应地简单调用这些函数。
[0110] 语义引擎在SRE中的实现也显示在图11中。与规则引擎相似,它也可以用Java和C语言开发。规则可能能够向语义搜索引擎的查询界面发送语义搜索查询。功能可以由引擎API模块提供。
[0111] 在另一个实施例中,SRE的Java版本被部署在商用成品工业网关设备上,该设备能够使用Modbus1、以太网、Wi-Fi和/或GPRS接口等连接到各种设备和远程云平台。网关可以使用带有IBM J9的Linux OS作为Java虚拟机(JVM)。J9专用于嵌入式系统,并已通过工业应用认证。开放服务网关协议(OSGi)的ProSyst2实现是J9上使用的框架,用于促进ProSyst2上运行的软件组件的模块化设计。SRE可以作为一个这样的组件来实现。
[0112] 在又一个实施例中,SRE的C版本针对不同的硬件平台实现,该硬件平台基于双核Cortex A9芯片、时钟频率为900Mhz、RAM为1GB。应当认识到,可以使用其他硬件平台。SRE也可能针对嵌入式系统运行Linux4。连接选项包括但不限于ZigBee、以太网、蓝牙和/或Wi-Fi。SRE可以被开发成符合POSIX的库,它可以被导入到其他客户端应用项目。
[0113] 在本公开的各种实施例中使用的任何通用计算机系统可以是例如通用计算机,诸如基于Intel PENTIUM型处理器、Motorola PowerPC、Sun UltraSPARC、Hewlett-Packard PA-RISC处理器、或任何其它类型的处理器的那些计算机。
[0114] 例如,本公开的各种实施例可被实现为在通用计算机系统1200(诸如图12所示的计算机系统)中执行的专用软件。计算机系统1200可包括处理器1220,其连接到一个或更多个存储器设备1230,诸如磁盘、存储器、或用于存储数据的其它设备。存储器1230一般用于在计算机系统1200的操作期间存储程序和数据。计算机系统1200也可包括提供额外的存储能力的储存系统1250。计算机系统1200的部件可由互连机构1240耦合,互连机构1240包括一个或更多个总线(例如,在集成在同一机器内的部件之间)和/或网络(例如,在存在于单独的分立机器上的部件之间)。互连机构1240使通信(例如,数据、指令)能够在系统1200的系统部件之间交换。
[0115] 计算机系统1200还包括一个或更多个输入设备1210(例如,键盘鼠标轨迹球、麦克触摸屏)和一个或多个输出设备1260(例如,打印设备、显示屏、扬声器)。另外,计算机系统1200可包含将计算机系统1200连接到通信网络的一个或更多个接口(未示出)(除了互连机构1240以外或作为互连机构1240的可选方案)。
[0116] 在图13中更详细示出的储存系统1250一般包括计算机可读和可写的非易失性记录介质1310,其中可存储信号,该信号定义由处理器执行的程序或存储在介质1310上或其中以由程序处理的信息以执行与本文所述的实施例相关联的一个或更多个功能。介质可以包括例如磁盘或闪存。通常,在操作中,处理器使数据从非易失性记录介质1310中读取到另一存储器1320内,存储器1320比介质1310允许处理器更快地访问信息。这个存储器1320一般是易失性随机存取存储器,诸如动态随机存取存储器(DRAM)或静态存储器(SRAM)。它可位于如所示的储存系统1300中或存储器系统1230中。处理器1220通常操纵在集成电路存储器1230、1320内的数据并接着在处理完成之后将数据复制到介质1310。各种机构已知用于管理在介质1310和集成电路存储器元件1230、1320之间的数据移动,且本公开不限于此。本公开不限于特定的存储器系统1230或储存系统1250。
[0117] 计算机系统可包括专门编程的专用硬件,例如专用集成电路(ASIC)。本公开的各方面可在软件、硬件或固件或其任何组合中实现。此外,这样的方法、行动、系统、系统元件及其部件可被实现为上面所述的计算机系统的部分或作为独立部件。
[0118] 虽然计算机系统1200作为示例被示为一种类型的计算机系统,本公开的各种方面可在该计算机系统上被实施,但应认识到,本公开的方面不限于在如图13所示的计算机系统上实现。可在具有图13所示的不同的架构或部件的一个或多个计算机上实施本公开的各种方面。此外,在本公开的实施例的功能或过程在本文(或在权利要求中)被描述为在处理器或控制器上执行的情况下,这样的描述旨在包括使用一个以上的处理器或控制器来执行功能的系统。
[0119] 计算机系统1200可以是使用高级计算机编程语言可编程的通用计算机系统。计算机系统1200也可以使用专门编程的专用硬件来实现。在计算机系统1200中,处理器1220一般是市场上可买到的处理器,诸如从英特尔公司可买到的公知的Pentium类处理器。许多其他处理器是可用的。这样的处理器通常执行操作系统,操作系统可以是例如从微软公司可得到的Windows 95、Windows 98、Windows NT、Windows 2000、Windows ME、Windows XP、Vista、Windows 7、Windows 10、或后代操作系统、从苹果计算机可得到的MAC OS System X、或后代操作系统、从Sun Microsystems可得到的Solaris操作系统、UNIX、Linux(任何分布)、或从各种其它源可得到的后代操作系统。可使用许多其他操作系统。
[0120] 处理器和操作系统一起定义计算机平台,可以对该计算机平台用高级编程语言编写应用程序。应理解的是,本公开的实施例不限于特定的计算机系统平台、处理器、操作系统、或网络。此外,对本领域的技术人员应当明显的是,本公开不限于特定的编程语言或计算机系统。另外,应认识到,还可以使用其他合适的编程语言和其他合适的计算机系统。
[0121] 计算机系统的一个或更多个部分可以分布在耦合至通信网络的一个或更多个计算机系统中。例如,如上面讨论的,确定可用的功率容量的计算机系统可位于远离计算机管理器处。这些计算机系统也可以是通用计算机系统。例如,本公开的各方面可被分布于一个或更多个计算机系统当中,所述一个或更多个计算机系统被配置成给一个或更多个客户端计算机提供服务(例如,服务器),或者作为分布式系统的一部分执行总的任务。例如,可在包括分布在执行根据本公开的各种实施例的各种功能的一个或更多个服务器系统当中的部件的客户端-服务器或多层系统上执行本公开的各种方面。这些部件可以是使用通信协议(例如,TCP/IP)通过通信网络(例如,互联网)通信的可执行中间(例如,IL)或解释(例如,Java)代码。例如,一个或更多个数据库服务器可用于存储在设计与本公开的实施例相关联的布局时使用的设备数据,诸如预期功率抽取
[0122] 应认识到,本公开不限于在任何特定的系统或系统组上执行。此外应认识到,本公开不限于任何特定的分布式架构、网络、或通信协议。
[0123] 本公开的各种实施例可以使用诸如SmallTalk、Java、C++、Ada、或C#(C-Sharp)的面向对象编程语言进行编程。也可以使用其它的面向对象的编程语言。可选地,可以使用函数、脚本、和/或逻辑编程语言,诸如BASIC、ForTran、COBoL、TCL、或Lua。本公开内容的各个方面可在非编程的环境下(比如以HTML、XML或其他格式创建的文档,当在浏览器程序的窗口中察看时,其提供图形用户界面(GUI)的外观或执行其他的功能)实行。本公开内容的各个方面可被实现为编程的或非编程的元素,或其任意组合。
[0124] 上面所述的系统和方法的实施例通常被描述为用于在具有很多装备机架的相对大的数据中心中使用;然而,也可与较小的数据中心一起以及与除了数据中心以外的设施一起使用本公开的实施例。一些实施例也可以是在地理上分布非常少量的计算机以免类似于特定的架构。
[0125] 在上面讨论的本公开的实施例中,分析的结果被描述为实时地被提供。如本领域中的技术人员理解的,术语实时的使用并不意欲暗示结果是立即可用的,而更确切地,其是快速可用的,从而给设计者在短的时间段期间(诸如在几分钟内)尝试多个不同的设计的能力。
[0126] 这样,描述了本公开的至少一个实施例的几个方面后,应认识到,本领域的技术人员将容易想到各种变更、修改、和提高。这种变更、修改、和提高旨在成为本公开的一部分,并且旨在本公开的精神和范围内。因此,前文的描述和附图仅仅是示例性的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈