首页> 中国专利> 由规则引擎执行的数据处理方法和规则引擎的装置

由规则引擎执行的数据处理方法和规则引擎的装置

摘要

本公开的实施例公开了一种由规则引擎执行的数据处理方法、规则引擎的装置、电子设备以及存储介质。本公开涉及物联网、云计算领域,具体涉及物联网平台的规则引擎技术。本公开的实施例的方法包括:经由第一设备接入单元接收第一数据格式的第一数据;经由第二设备接入单元接收第二数据格式的第二数据;对所述第二数据进行数据转换,以得到具有所述第一数据格式的经转换的第二数据;将所述经转换的第二数据转发至所述第一设备接入接口;以及由所述第一设备接入单元分别将所述第一数据和所述经转换的第二数据转发至数据处理单元。利用本公开提供的实施例,能够方便地在已有的规则引擎的基础上扩展规则引擎能够支持的数据源。

著录项

  • 公开/公告号CN113868299A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 北京百度网讯科技有限公司;

    申请/专利号CN202111143873.4

  • 发明设计人 张扬扬;

    申请日2021-09-28

  • 分类号G06F16/2455(20190101);G06F16/25(20190101);

  • 代理机构11602 北京市汉坤律师事务所;

  • 代理人姜浩然;吴丽丽

  • 地址 100085 北京市海淀区上地十街10号百度大厦2层

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本公开实施例涉及物联网、云计算领域,具体涉及物联网平台的规则引擎技术,具体涉及一种由规则引擎执行的数据处理方法、规则引擎的装置、电子设备以及存储介质。

背景技术

物联网规则引擎服务场景下,当前大部分物联网平台局限于使用平台自身设置的设备接入服务对应的设备主题(topic)作为数据源的指示。物联网平台能够支持的数据源与物联网平台提供的设备接入服务是关联的。

发明内容

根据本公开示例性实施例的一个方面,提供了一种由规则引擎执行的数据处理方法,包括:经由第一设备接入单元接收第一数据格式的第一数据;经由第二设备接入单元接收第二数据格式的第二数据;对所述第二数据进行数据转换,以得到具有所述第一数据格式的经转换的第二数据;将所述经转换的第二数据转发至所述第一设备接入单元;以及由所述第一设备接入单元分别将所述第一数据和所述经转换的第二数据转发至数据处理单元。

根据本公开示例性实施例的另一个方面,提供了一种规则引擎的装置,包括:第一设备接入单元,被配置为接收第一数据格式的第一数据;第二设备接入单元,被配置为接收第二数据格式的第二数据;格式转换单元,被配置为对所述第二数据进行数据转换,以得到具有所述第一数据格式的经转换的第二数据;转发单元,被配置为将所述经转换的第二数据转发至所述第一设备接入单元;以及数据处理单元,被配置为从所述第一设备接入单元分别接收所述第一数据和所述经转换的第二数据。

根据本公开示例性实施例的另一个方面,提供了一种电子设备。该电子设备包括:处理器以及存储程序的存储器。程序包括指令,指令在由处理器执行时使处理器执行根据本公开一些示例性实施例的方法。

根据本公开示例性实施例的另一个方面,提供了一种存储程序的计算机可读存储介质。程序包括指令,指令在由电子设备的处理器执行时,致使处理器执行根据本公开一些示例性实施例的方法。

根据本公开示例性实施例的另一个方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据本公开一些示例性实施例的方法。

借助于本公开示例性实施例的由规则引擎执行的数据处理方法以及规则引擎的装置,能够在现有的物联网规则引擎的基础上扩展规则引擎的数据源接入单元,从而能够在不改变现有设计的情况下增加物联网规则引擎能够支持的数据源,从而提高规则引擎的服务质量。

附图说明

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的元素:

图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;

图2示出了根据本公开的实施例的由规则引擎执行的数据处理方法的示例性的流程图;

图3示出了根据本公开的实施例的应用场景的示意图;

图4示出了根据本公开的实施例的规则引擎的装置的示例性框图;以及

图5示出了根据本公开示例性实施例的示例计算设备的示意性框图。

具体实施方式

在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

在物联网场景下,用户使用规则引擎服务对物联网设备数据进行处理、转发等操作。当前大部分物联网平台局限于使用物联网平台自身设备接入服务对应的设备主题(topic)作为数据源,其中设备主题用于物联网设备在设备端和服务端的通信。因此,数据源与物联网平台提供的设备接入服务强绑定,规则引擎难以灵活地支持不同的数据源的数据接入。在数据类型方面,大部分物联网平台只支持对单一类型的数据(如Json类型)进行处理。然而,物联网设备数据有可能具有多种类型,如Json类型、二进制类型等。如何支持多种类型的数据也是物联网规则引擎服务需要解决的问题。本专利提出一种通用的解决方案,支持多种数据源,还可以满足用户对于多种数据类型的需求。

为了解决上述问题,本公开提供了一种新的用于规则引擎的数据处理方法,使得能够扩展规则引擎支持的数据源或数据类型。

以下结合附图对本公开的实施例进行进一步描述。

图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个物联网设备101、物联网平台120以及将一个或多个物联网设备耦接到物联网平台120的一个或多个通信网络110。物联网设备101可以将物联网设备在工作过程中产生或相关联的数据发送至物联网平台用于进一步的处理。

根据本公开的实施例的规则引擎可以位于物联网平台120处。当物联网设备101将数据发送至物联网平台120时,规则引擎将基于预定义的规则对数据进行数据预处理、基于用户指定的方式的数据处理或数据转发等操作。

在某些实施例中,物联网平台120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给物联网设备101。

在图1所示的配置中,物联网平台120可以包括实现由物联网平台120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作物联网设备101的用户可以依次利用一个或多个应用程序来与物联网平台120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。

网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。

物联网平台120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。物联网平台120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。

物联网平台120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。

在一些实施方式中,物联网平台120可以包括一个或多个应用程序,以分析和合并从物联网设备101接收的数据馈送和/或事件更新。物联网平台120还可以包括一个或多个应用程序,以经由物联网设备101的一个或多个显示设备来显示数据馈送和/或实时事件。

在一些实施方式中,物联网平台120可以为分布式系统的服务器,或者是结合了区块链的服务器。物联网平台120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。

系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储物联网设备所采集的与设备相关联的数据。数据库130可以驻留在各种位置。例如,由物联网平台120使用的数据库可以在物联网平台120本地,或者可以远离物联网平台120且可以经由基于网络或专用的连接与物联网平台120通信。数据库130可以是不同的类型。在某些实施例中,由物联网平台120使用的数据库可以是例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。

在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。

图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。

图2示出了根据本公开的实施例的由规则引擎执行的数据处理方法的示例性的流程图。可以利用图1中示出的物联网平台120的规则引擎来执行图2中描述的方法200。

如图2所示,在步骤S202中,可以经由第一设备接入单元接收第一数据格式的第一数据。在步骤S204中,可以经由第二设备接入单元接收第二数据格式的第二数据。在步骤S206中,可以对第二数据进行数据转换,以得到具有第一数据格式的经转换的第二数据。在步骤S208中,可以将经转换的第二数据转发至第一设备接入单元。在步骤S210中,可以由第一设备接入单元分别将第一数据和经转换的第二数据转发至数据处理单元。

利用图2中提供的方法200,可以在不修改原有的物联网平台的规则引擎的数据接入服务的情况下,对规则引擎能够支持的数据源的类型进行扩展,从而使得规则引擎能够更灵活地实现多种数据源的接入。

以下将具体描述本公开的实施例的原理。

在步骤S202中,可以经由第一设备接入单元接收第一数据格式的第一数据。

第一设备可以是物联网终端设备,如图1中示出的物联网设备101。第一设备接入单元可以用于基于用户配置的规则从物联网设备接收作为第一数据源的第一设备产生的数据,并针对该数据执行相应的处理逻辑。可以使用设备主题表示作为第一数据源的第一设备。其中,第一数据格式可以包括指示第一设备的第一数据源以及与该第一数据源相关联的第一数据处理规则。此外,第一数据格式还可以包括与第一数据处理规则有关的任何需要的其他项目。

在一些实施例中,第一设备可以根据物联网平台的配置,将符合规则引擎的处理需要的第一数据格式的数据发送至第一设备接入单元,然后可以由第一设备接入单元将接收到的第一数据转发至规则引擎的数据处理单元用于进一步的处理。由于来自第一数据源的第一数据具有规则引擎所规定的数据格式,因此规则引擎能够直接处理来自第一数据源的第一数据。

在步骤S204中,可以经由第二设备接入单元接收第二数据格式的第二数据。

可以将作为物联网终端设备的第一设备在工作中产生的第一数据发往作为第二数据源的其他存储设备。例如,可以将第一设备处生成的工作数据发送至其他数据库或中间件,以方便物联网系统之外的任何第三方的用户读取或使用这些工作数据。在这种情况下,为了使得规则引擎能够使用发送到(或存储在)第二数据源的工作数据,第一设备需要从第二数据源读取数据并将所读取的数据处理为第一数据格式,然后发送给物联网平台的规则引擎进行处理。这增加了第一设备的工作负荷。

在一些实施例中,第二数据是第一设备将第一数据发送至第二数据源后生成的。第二数据具有第二数据源处配置的第二数据格式,其中第二数据格式可以包括提供第二数据的第二数据源的信息。在第二数据源是中间件的情况下,可以利用中间件主题表示第二数据源。

在一些实施例中,规则引擎可以基于用户提供的配置信息访问第二数据源或建立与第二数据源之间的数据连接,以从第二数据源接收第二数据。例如,规则引擎可以基于用户提供的互联网协议地址、用户名、密码等配置信息访问第二数据源或建立与第二数据源之间的数据连接。

在一些实现方式中,在步骤S204之前,可以执行规则引擎和第二数据源之间的连通性检查。

为了确保能够成功地基于用户提供的配置信息从第二数据源获取数据,可以在用户配置了第二数据源的访问信息后执行规则引擎和第二数据源之间的连通性检查。在连通性检查通过的情况下,可以确定规则引擎能够成功地从第二数据源获取数据。如果连通性检查未通过,则意味着规则引擎可能无法成功地从第二数据源获取数据并不允许用户在第二数据源保存数据。在这种情况下,可以向用户提供重新输入用于连接第二数据源的配置信息的提示,从而实现尽早暴露问题,避免在后续工作过程中因为无法成功从第二数据源获取正确的数据而造成操作错误。

在一些实施例中,规则引擎可以从第二数据源订阅消息。在基于用户提供的配置信息建立规则引擎和第二数据源之间的数据连接后,第二数据源可以将符合推送规则的数据推送给规则引擎的第二设备接入单元。

在步骤S206中,可以对第二数据进行数据转换,以得到具有第一数据格式的经转换的第二数据。

由于第二数据源可以是第三方的存储设备(如数据中间件),因此,第二数据源处的第二数据的第二数据格式通常不同于第一数据的第一数据格式。因此规则引擎难以直接处理从第二数据源获取的第二数据。在一些示例中,第二数据源可以是例如RocketMQ、Kafka或RabbitMQ的数据中间件。利用此类数据中间件,可以方便地将第一设备处产生的数据发送至物联网平台的规则引擎以及其他任何能够对数据进行处理的目的地。

在一些实施例中,对第二数据进行数据转换可以包括将第二数据源与第二数据处理规则相关联。利用上述方法,规则引擎能够在经转换的第二数据中确定用于第二数据源的数据处理方式从而能够实现进一步的处理。

对第二数据进行数据转换还可以包括从第二数据中获取与第二数据处理规则有关的任何需要的其他项目。此外,数据转换还可以包括在获取的第二数据中增加任何规则引擎所需的必要信息,方便规则引擎对转换后的第二数据进行后续处理。在一些实现方式中,第二数据处理规则可以与第一数据处理规则相同,并且经转换的第二数据具有与第一数据相同的第一数据格式。

在一些实施例中,可以响应于第二数据处理规则是否被启用确定是否从第二数据源获取数据。响应于第二数据处理规则被禁用,可以停止经由第二设备接入单元接收来自第二数据源的数据。在一些实现方式中,当第二数据处理规则被启用时,可以触发来自第二数据源的消息订阅服务。相应地,当第二数据处理规则被禁用时,可以取消来自第二数据源的消息订阅服务。利用这样的方法,可以实现灵活地启用或禁用来自其他数据源的数据接收,从而使得规则引擎能够灵活地配置是否要从其他数据源获取数据。

在步骤S208中,可以将经转换的第二数据转发至第一设备接入单元。

如前所述,经转换的第二数据可以具有与第一数据相同的第一数据格式或者规则引擎能够处理的任何其他数据格式,因此,通过将经转换的第二数据转发至第一设备接入单元,规则引擎可以复用现有的数据接入服务同时实现从第一数据源接入数据以及从作为其他数据源的第二数据源接入数据。根据本公开的实施例,第二数据源可以是任何物联网系统外部的存储设备,并且无需将第二数据源的数据格式配置成规则引擎要求的格式。

在步骤S210中,可以由第一设备接入单元分别将第一数据和经转换的第二数据转发至数据处理单元。

在一些实施例中,第一数据可以具有第一数据类型,第二数据可以具有不同于第一数据类型的第二数据类型。例如,第一数据类型可以是Json数据类型,第二数据类型可以是二进制数据类型。在不脱离本公开原理的情况下,第一数据类型和第二数据类型可以是任意数据类型。

在一些实施例中,数据处理单元可以基于与第一数据相关联的第一数据处理规则并利用第一数据类型的数据处理语句实现对第一数据进行处理。类似地,数据处理单元可以基于与第二数据相关联的第二数据处理规则并利用第二数据类型的数据处理语句实现对经转换的第二数据进行处理。在一些实现方式中,对第一数据和经转换的第二数据进行的处理可以包括确定第一数据的统计量,如平均值、中位数、总和等等。在另一些实现方式中,对第一数据和经转换的第二数据进行处理可以包括对第一数据和经转换的第二数据进行透传处理。透传处理指的是将规则引擎接收到的原始数据直接转发到下一目的地节点。由下一目的地节点实现对该数据的数据处理。在一些示例中,可以将要透传的数据类型指定为透传类型,并将针对透传类型的数据的数据处理语句指定为用于转发至下一目的地节点的处理语句。

在一些实现方式中,用户可以利用物联网平台提供的交互界面分别编写并调试针对第一数据类型的数据处理语句和针对第二数据类型的数据处理语句。当规则引擎需要对当前接入的数据进行处理时,可以根据当前要处理的数据的数据类型调用对应的数据处理语句实现数据处理。

在一些实施例中,在利用数据处理单元对第一数据和经转换的第二数据进行处理后,方法200还可以包括将经处理的第一数据发送至第一目的地节点,以及将经处理的第二数据发送至第二目的地节点。在一些实现方式中,第一目的地节点和/或第二目的地节点可以是物联网平台的另一数据处理单元、物理网平台的数据存储设备和外部数据存储设备中的至少一种。

利用本公开的实施例提供的规则引擎执行的数据处理方法,可以实现使得规则引擎能够支持多种数据源和/或多种数据类型的数据接入和数据处理。消息中间件(如Kafka中间件)可以作为物联网终端设备和物联网规则引擎之间的中间层,提供物联网终端设备的数据经由消息中间件接入物联网规则引擎的方法。例如Kafka的消息中间件具有高吞吐、高可靠、数据可以重复消费的益处。此外,可以通过将所有可能的非设备主题的其他数据源的数据转发至消息中间件的方法统一其他数据源的数据读取方式。此外,通过建立消息中间件提供的数据格式与规则引擎所处理的数据格式之间的转换关系,使得规则引擎能够在现有设计上扩展对于更多类型的数据源的支持。此外,通过提供针对不同数据类型的数据处理语句,能够扩展规则引擎能够处理的数据类型的范围,使得规则引擎能够处理不同数据类型的数据。

图3示出了根据本公开的实施例的应用场景的示意图。

如图3所示,规则引擎300可以包括控制面310和数据面320。

控制面310可以包括数据源311、数据处理逻辑312、数据目的地313以及数据处理语句调试单元314。

控制面310可以用于用户配置规则。用户配置的规则可以包括数据源、数据类型、数据处理逻辑语句、数据转发目的地等。

控制面310中的数据源311支持用户对多种数据源进行配置。在一些示例中,用户可以对设备主题以外的数据源进行配置。例如,用户可以编辑保存数据源的相关信息(如用于与Kafka中间件建立数据连接的相关信息),从而使得规则引擎能够获取更多的数据源的数据。指定规则需要消费的中间件主题。此外,也支持针对数据源311中编辑的数据源的连通性检查。

数据处理逻辑312可以包括用于对不同数据类型的数据进行处理的数据处理语句,如针对Json数据类型、二进制数据类型或透传类型的数据进行处理的数据处理语句。用户可以选择规则引擎能够支持的数据类型并对所支持的数据类型编写相应的数据处理语句。例如,用户可以编写针对Json类型的数据的数据处理语句、针对二进制数据类型的数据处理语句以及针对透传类型数据的用于直接转发的数据处理语句。

数据处理语句调试单元314可以用于对用户编辑的数据处理语句进行调试,使得数据处理语句能够完成期望的数据处理操作。用户可以在调试界面对数据处理语句进行调试。通过获取用户在调试界面输入的原始数据、数据类型以及处理语句,数据处理语句调试单元可以在结果栏显示处理之后的数据。如果用户编写的处理语句有问题,数据处理语句调试单元也会进行异常提示,方便用户检查数据处理语句的有效性与效果。

数据目的地313可以支持编辑保存在完成数据处理后将进一步发送经处理的数据的目的地的信息。数据目的地可以包括物联网平台的数据处理单元、物联网平台的数据存储设备或外部存储设备。

数据面可以用于对物联网设备数据进行数据处理。根据控制面中用户配置的规则,规则引擎可以在数据面接收对应数据源的数据,根据数据类型执行相应数据处理操作,并将处理后的数据转发至相应的数据目的地。

在数据面320中,设备X 324可以经由消息中心325将数据发送至规则引擎的第一设备接入单元326。其中,消息中心325可以是Broker消息中心。消息中心325可以将设备X提供的数据处理成规则引擎能够读取并处理的第一数据格式。例如,第一数据格式可以包括与设备X对应的第一数据源和与第一数据源相关联的第一数据处理规则。

在使用第一设备接入单元获取对应的设备主题作为数据源时,可以触发或取消针对设备主题的订阅功能。当用户配置完设备主题的数据源并启用针对设备主题的数据源的数据处理规则时,可以触发针对设备主题设备接入服务的消息订阅服务。通过设备接入服务将设备主题与数据处理规则相关联,可以将设备主题的数据源的数据推送至数据处理单元进行对应的处理。当针对消息主题的数据处理规则被禁用时,可以取消针对设备主题的数据源的消息订阅服务。

设备A 321可以将数据发送至中间件322(例如Kafka中间件)。规则引擎300可以利用第二设备接入单元323接收来自中间件322的数据。由于从中间件322获取的数据可以具有与第一数据格式不同的第二数据格式。规则引擎300可能无法直接读取第二数据格式的数据。在将从中间件322接收的数据转发至第一设备接入单元之前,可以利用格式转换单元对第二设备接入单元接收到的数据进行格式转换,以将第二数据格式的数据转换为第一数据格式,即规则引擎能够处理的数据格式。然后,可以将经转换的具有第一数据格式的数据转发至第一设备接入单元。

在一些示例中,可以将第二设备接入单元开发为通用消息订阅服务模块。通过通用消息订阅服务模块可以订阅来自中间件的数据,并将中间件发送的数据转换为规则引擎能够处理的数据格式。在一些示例中,通用消息订阅服务模块也可以将需要的信息发送至中间件。

当用户在控制面配置完针对中间件主题的数据源并启用对应的数据处理规则后,可以由通用消息订阅服务将来自中间件主题的数据源的数据与对应的数据处理规则相关联。当配置好的中间件主题中有消息时,第二设备接入单元可以获取到消息并根据相关联的数据处理规则进行处理。当中间件主题的数据源对应的数据处理规则被禁用时,可以取消从中间件主题的数据源订阅消息。

通用消息订阅服务模块可以提供统一的中间件(以Kafka为例)的数据发布与消费功能,用户和规则引擎服务都可以使用这一通用模块,防止因为双方操作不一致出现问题,也方便后续对相关操作进行统一调整等。此外,该模块可以获取与Kafka数据对应的数据处理规则的映射。从而能够使得格式转换单元将相关Kafka消息时与数据处理规则相关联,方便后续按照数据类型与数据处理逻辑对数据进行处理。

在数据面上通过对原有的规则引擎客户端的进一步开发,可以利用第二设备接入单元将规则引擎从设备主题之外的其他数据源(如中间件主题的数据源)接收的数据转发至设备主题的设备接入单元,从而能够在不修改原有设备接入单元的情况下扩展规则引擎能够支持的数据源。可以将第二设备接入单元和格式转换单元开发成规则引擎客户端中的一个单独部署的服务。通过对第二数据源的数据进行格式转换,可以复用规则引擎客户端中的原有的设备接入单元(即第一设备接入单元)而无需对第一设备接入单元进行修改。

数据处理单元328可以对规则引擎接收的数据进行对应于数据处理规则的数据处理操作,以得到用户期望的数据处理结果。数据处理引擎327可以包括用于不同数据类型的数据处理语句。基于与来自设备A或设备X的数据的数据类型,可以调用数据处理引擎中对应数据类型的数据处理语句实现相应的数据处理操作。

处理后得到的用户期望的数据处理结果可以被发送至目的地329。至此,规则引擎的数据处理过程结束。

根据本公开的实施例提出了一种灵活的物联网规则引擎服务处理方法,允许用户通过配置使用物联网规则引擎服务对其他数据源的数据进行处理,很好的满足用户需要规则引擎服务支持多种数据源的需求。也允许用户根据业务需求选择数据类型,编写相应数据处理语句,支持进行调试,调试完之后进行保存即可。同时,根据本公开的实施例的规则引擎执行的方法具有良好的可扩展性,如不需要对现有的数据源接收模块进行修改,允许后续扩展其他类型的数据处理等。

图4示出了根据本公开的实施例的规则引擎的装置的示例性框图。

如图4所示,规则引擎的装置400可以包括第一设备接入单元410、第二设备接入单元420、格式转换单元430、转发单元440以及数据处理单元450。

第一设备接入单元410可以被配置为接收第一数据格式的第一数据。第二设备接入单元420可以被配置为接收第二数据格式的第二数据。格式转换单元430可以被配置为对第二数据进行数据转换,以得到具有第一数据格式的经转换的第二数据。转发单元440可以被配置为将经转换的第二数据转发至第一设备接入单元。数据处理单元450可以被配置为从第一设备接入单元分别接收第一数据和经转换的第二数据。

这里所说的规则引擎的装置400的上述各单元410~450的操作分别与前面描述的步骤S202~S210的操作类似,在此不再加以赘述。

根据本公开的实施例,还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行结合图2所述的方法。

根据本公开的实施例,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行结合图2所述的方法。

根据本公开的实施例,还提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现结合图2所述的方法。

参考图5,现将描述可以作为本公开的物联网平台的规则引擎的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

电子设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙

计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如根据本公开的实施例的数据处理方法。例如,在一些实施例中,根据本公开的实施例的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开的实施例的方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号