实时数据提供方法、服务器和网络的制作方法

文档序号:7701595阅读:164来源:国知局
专利名称:实时数据提供方法、服务器和网络的制作方法
技术领域
本发明涉及一种实时数据提供方法、实时数据提供服务器和实时数据提供网络。 本发明的应用很广泛,例如(但并不限于)应用在安全监控,环境监测,应用在海关,机场, 质量检验,环境保护等等多种领域。
背景技术
在需要获取实时数据的常规Web应用中,一般遵循以下几个步骤由于Http协议的短链接特性,Web客户端需要在页面中设置定时器;由定时器定时地触发一个数据请求;服务器端则需要去到数据库中查询,查找最新的一条记录返回给Web客户端。Web客户端显示数据给用户;可以理解的是在这种常规的Web实时数据请求和响应过程,数据库负载很大,因 为用户的每次请求,服务器都要去查询一遍数据库,当数据量比较大时,数据库的负载将更 加明显地增大,在涉及服务器进行多个表联合查询时尤其如此;这样就会在整个web客户 端和服务器系统中对来自web客户端的请求的响应造成相当大的延迟,不利于大量客户端 的并发访问,并且让用户感觉服务器做出响应很慢。另外,在最接近的现有技术中,是通过刷新数据库内容来获取数据的,并且自己编 写程序来核对过滤规则,这样的系统效率比较差,而且系统本身与业务逻辑耦合度太高,系 统重用性差。

发明内容
为了克服上述现有技术的缺陷,本发明提供一种用于能够提高对Web客户端的实 时数据的请求的响应的方法,实时数据提供服务器和实时数据提供网络。本发明提供了一种实时数据提供网络,它结合了目前广泛使用的Ajax方式 请求实时数据,也就是采用XML数据包的方式,而不是采用传统的以http协议做出响 应(response)的方式来请求实时数据。这里所提到的Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开 发技术,可以在http://baike.baidu. com/view/1641. htm得到关于该技术更多的信息。本发明采用了数据缓存机制,采用了规则引擎来对设备数据进行过滤,减少检索 空间,从而将业务逻辑与程序的耦合度大大降低了,提高了检索响应速度。在本发明中,整 个实时数据的请求过程都没有进行数据库的查询,而且在实时数据提供器当中只保留每个 数据的最新的一条数据,从而提高了检索响应速度,节省了服务器的运算资源。在本发明的第一个方面,提供了一种实时数据提供服务器,包括数据接收处理模块,用于把来自设备的实时数据转换成设备数据对象;规则引擎,用于根据规则对所接收的设备数据对象进行规则匹配,如果匹配成功, 则把设备数据对象转换成客户端数据对象;以及
实时数据提供器,用于响应于客户端对实时数据的请求,根据所述客户端数据对 象提供所请求的实时数据。优选地,所述实时数据提供服务器还包括实时数据缓存模块,用于缓存规则引擎 所提供的客户端数据对象,并根据所述对实时数据的请求,返回所请求的客户端数据对象。优选地,所述实时数据缓存模块在客户端数据对象与设备编号之间建立哈希表, 并且根据所述请求中的设备编号检索客户端数据对象。优选地,所述实时数据缓存模块位于实时数据提供器和规则引擎之间。优选地,所述实时数据缓存模块被包括在实时数据提供器中。优选地,所述实时数据缓存模块被包括在实时数据提供器中。优选地,所述规则引擎向数据接收处理模块提供报警信息。优选地,所述规则被包括在规则文件中。优选地,所述规则能够被修改。优选地,所述客户端数据对象包括设备数据对象和报警信息。优选地,所述客户端数据对象和设备数据对象是Java对象。优选地,所述实时数据采用JSON格式提供所请求的数据。优选地,所述客户端对实时数据的请求采用Ajax方式。优选地,所述实时数据提供服务器还包括数据采集器,用于从设备采集数据,并把 所采集的数据传送给所述数据接收处理模块。优选地,所述实时数据提供服务器还包括数据库,用于存储数据接收处理模块接 收的实时数据和/或报警信息。优选地,所述数据库用于存储包含所述规则的规则文件。在本发明的第二个方面,提供了一种实时数据提供网络,包括一个或者多个客户端;一个或者多个设备;和如上所述的任何一种实时数据提供服务器;其中,所述客户端与所述服务器相耦合;其中所述设备与所述服务器相耦合。优选地,所述网络还包括一个或者多个数据采集器,每个采集器与一个或者多个 设备相耦合,用于把从设备所采集的实时数据提供给所述服务器。优选地,所述网络还包括一个数据采集器,所述采集器与一个或者多个设备相耦 合,所述采集器被集成到所述实时数据提供服务器,用于把从设备所采集的实时数据提供 给所述实时数据提供服务器中的数据接收处理模块。优选地,所述网络还包括数据库,用于存储数据接收处理模块接收的实时数据和/ 或报警信息。优选地,其中所述数据库被集成在所述实时数据提供服务器中。在本发明的第三个方面,提供了一种实时数据提供方法,包括步骤从设备接收设备的实时数据;把该实时数据转换成设备数据对象;根据规则对该设备数据对象进行规则匹配;
如果匹配成功,则把该设备数据对象转换成客户端数据对象;和响应于客户端对实时数据的请求,根据所述客户端数据对象提供所请求的实时数 据。优选地,所述方法还包括缓存所述客户端数据对象,并根据所述对实时数据的请 求,返回所请求的客户端数据对象。优选地,所述缓存所述客户端数据对象还包括在客户端数据对象与设备编号之间 建立哈希表,并且根据所述请求中的设备编号检索客户端数据对象。优选地,所述规则被包括在规则文件中。优选地,所述规则能够被修改。优选地,所述客户端数据对象包括设备数据对象和报警信息。优选地,所述客户端数据对象和设备数据对象是Java对象。优选地,所述实时数据采用JSON格式。优选地,所述客户端对实时数据的请求采用Ajax方式。优选地,所述从设备接收设备的实时数据还包括通过数据采集器从设备采集实时 数据。优选地,所述方法还包括把实时数据存储在数据库中。优选地,所述方法还包括包含所述规则的规则文件存储在数据库中。


结合附图,参考下面的详细说明将会使对本发明的理解更完全以及本发明带来的 多个优点更加清楚了,其中图1所示为本发明的配置文件的示意图。图2所示为本发明的设备数据XML格式的示意图。图3所示为本发明的实时数据提供网络的示意图。图4所示为本发明的实时数据提供器的哈希表模块中所存储的哈希表的示图。
具体实施例方式图3所示为本发明的实时数据提供网络的示意图。在该实施例中,该实时数据提供网络可以包括一个或者多个客户端、实时数据提 供web应用服务器、数据库、一个或者多个数据采集器和一个或者多个现场设备。其中,该现场设备提供实时数据。在本发明中,实时数据所表示的意思是从设备所 采集的最新的数据,即设备目前的工作数据。应当注意的是,这里的实时并不一定表示是当 前时间的数据。例如,有的设备每五分钟产生一条数据,所以5分钟以内的数据都是该条数 据,而不是每时每刻都在产生数据。具体时间依赖所应用的领域和使用的设备。该设备监 视现场各关注点的状态。在本发明中,对于现场设备没有限制,只要该设备能够产生数据, 所产生的数据都可以被采集。该设备例如是(但不限于)与安全相关的设备,例如RFID门 禁,物品机,金属探测门,车底盘照相,环境监测设备,X光车辆扫描设备等等。数据采集器从该设备采集实时数据,并把该实时数据传送给实时数据提供web应 用服务器。
所述实时数据提供web应用服务器接收客户端的请求,选择性地提供所请求的实 时数据。客户端向web应用服务器请求实时数据,并显示所返回的实时数据。所述实时数据提供web应用服务器,S卩,数据中心服务器,可以包括数据接收处理 模块;规则引擎模块;规则定义模块;实时数据缓存模块以及实时数据提供器,在一个实施 例中也可以包括数据库,在另一个实施例中也可以包括一个数据采集器。其中,所述数据接收处理模块用于接收并处理来自数据采集器的实时数据,并输 出设备数据对象,而且可以把设备数据和报警信息存入数据库。数据库保存报警信息和设备数据。在一个实施例中,也可以保存规则文件。规则定义模块用于对规则进行定义,并且也可以保存所定义的规则。规则引擎模块用于根据所定义的规则对数据接收处理模块处理后的实时数据进 行过滤,即,对从数据接收处理模块传送来的设备数据对象进行规则匹配。规则引擎在系统 启动时将设定好的规则及对应于这个规则所要采取的动作都加载到内存当中,而这个规则 (Rule)及动作(Action)可以让用户在运行时灵活修改。实时数据缓存模块对从规则引擎所传送来的客户端数据对象进行缓存。实时数据提供器响应于客户端的请求从实时数据缓存模块获取客户端数据对象, 然后按照一定的格式把数据传送给客户端。以下描述设备的实时数据如何变成客户端数据对象。数据采集器从一个或者多个现场设备采集实时数据报文,并对实时数据报文进行处理。在一个实施例中,所述数据采集器可以作为一个计算机服务程序,实施在任何单 独的计算机等等上,该计算机连接有一个或者多个需要从其采集数据的现场设备,该同一 个数据采集器可以例如借助于所述一个或者多个不同现场设备的驱动程序从所述一个或 者多个现场设备采集实时数据。在一个实施例中,实现该数据采集器的计算机可以与图3 所示的web应用服务器是在同一台计算机或者服务器等等上,在该实施例中,数据采集器 把从一个或者多个现场设备采集的数据直接传送给web应用服务器的数据接收处理模块。 在一个实施例中,该web应用服务器可以连接多个不同的采集器,每个采集器分别运行在 不同的计算机上,该计算机连接有一个或者多个需要从其采集数据的现场设备,在该实施 例中,该数据接收处理模块按照一定的策略分别从每个数据采集器接收数据,例如,分时 地,按照一定的周期等等。数据采集器均包括SSDK_0pen,SSDK_Close, SSDK_Read, SSDK_ffrite, SSDK_ GetData, SSDK_PutData这些接口,这些接口是每个数据采集器必须自行实现的接口。其中的SSDK_0pen接口用于打开设备端口,以供从该设备端口读取该设备所产生 的数据;SSDK_Close接口用于关闭设备端口 ;SSDK_Read接口用于在设备端口打开之后,从 打开的设备端口读取设备所产生的数据;SSDK_Write接口用于向设备发送指令,例如打开 或者关闭这样的指令;SSDK_PutData接口负责将由SSDK_Read接口从打开的设备端口读取 的数据写入到共享数据区中;使用SSDK_GetData接口从共享数据区中获取数据。数据采集 器然后把所获取的数据转换成XML格式,然后发送到实时数据提供web应用服务器的数据 接收处理模块以供处理。在数据采集器被集成在web应用服务器的实施例中,数据采集器把所获取的数据直接传送给数据接收处理模块,而不用转换成XML格式。每当添加一个新设备时,要从其采集数据的数据采集器都可以继承和重载上述的 这些接口,而不用重新开发,节省了系统开发时间。在运行时,数据采集器首先从配置文件中读取配置信息。配置文件可以采用例如 XML格式,它的一个例子如图1所示。在该配置文件中包含了对设备信息的描述(其中的 Device id表示了要从其采集数据的设备的编号,)以及数据中心服务器Server (Ipaddr” 表示数据中心服务器的IP地址)_即实时数据提供web应用服务器的相关信息。例如,设备信息可以包括设备id、设备驱动driver、设备数据分隔符 s印erator (描述了数据字符串的分割符号)、设备数据的序列datasequence (描述了数据 的序列)。然后,数据采集器加载相应的驱动程序,并将operator及datasequence信息传 递给驱动程序。驱动程序的定义是由配置文件中的driver属性定义的,例如,图1中定义 的driver就是RayDevDriver. dll,它例如可以是一个windows动态库。驱动程序在获取到来源设备的数据后,按照数据采集器传递给它的seperator和 datasequnce来组织数据并放入数据区中,同时通知数据采集器来获取数据。数据采集器 在获取到数据后按照s印erator和datasequence对数据进行反解析,即可获取到各个单项 数据。然后,数据采集器将各个单项数据组织成XML格式的数据串(如图1所示),并通过 Http协议发送到在配置文件中所指定的数据中心服务器的数据接收处理模块。数据中心服 务器的数据接收处理模块为由图1中的URL字段所指定的Servlet。实时数据提供web应用服务器中的数据接收处理模块对所接收到的设备实时数 据进行以下处理首先,数据接收处理模块例如通过JDK的JAXB OXM映射机制将从数据采集器接收 到的XML数据转化为设备数据对象,在这里是一个Java设备数据对象。例如,通过JDK的 JAXB将 XML数据转化为 Java类。JAXB 是 Java Architecture for XML Binding 的缩写,可 以将一个Java对象转变成为XML格式,反之也可以将XML格式的数据转化为Java对象。我 们把对象与关系数据库之间的映射称为0RM((Object RelationMapping),因此也可以把对 象与XML之间的映射称为OXM(ObjectXML Mapping)。例如,数据接收处理模块接收到了图2 所示的设备数据XML,则数据接收处理模块在硬盘上的classes目录下查找UnderPanOOOl. class类;找到该类后,则依据XML中所提供的数据在内存中实例化UnderPanOOOl. class 类,从而产生设备数据对象。这里只是举例说明,还可以用其它的方式产生设备数据对象。然后,数据接收处理模块将经转化的设备数据对象(例如Java对象)放入到规则 引擎模块的工作存储空间(working memory) 0其中,数据接收处理模块可以通过调用规则 引擎模块所提供的接口,例如API接口,来将设备数据对象放入到规则引擎模块的工作存 储空间。另外,数据接收处理模块还将设备数据和来自规则引擎模块的报警信息一并存入 数据库中,以便于日后查询。当然,也可以不将设备数据和/或报警信息放入数据库中。这 取决于具体方案的实施。在图示的实施例中,该数据库与web应用服务器存在于不同的计 算机或者服务器上。不过,在一个实施例中,建议数据库与Web服务器集成在一个独立的计 算机中,因为数据库作为数据的存储介质,对数据安全性的要求比Web服务器要高,同时计算量也要大很多。规则引擎模块在从数据接收处理模块接收到设备数据对象后,根据规则文件中所 定义的规则通过规则过滤来对该设备数据对象进行规则匹配,从而将该设备对象数据扩展 为客户端数据对象。其中,规则文件是保存业务规则的文件,规则引擎会解析规则文件中定 义好的过滤规则以对设备数据进行规则匹配,匹配成功后会在设备数据对象中加入报警信 息,如果匹配失败,则表示没有符合的规则,此时设备数据对象中不会被插入报警信息。在 一个实施例中,简单地说,客户端数据对象=设备数据对象+报警动作代码。其中,规则过 滤算法可以采用本领域已知的算法。规则可以是一系列的if else语句,如果满足某个规 则,则会认为匹配成功,否则,匹配就不成功。其中,规则引擎在本发明中,可以采用现有的 技术,例如采用开放源代码的规则引擎。在本发明中的规则引擎采用了现有的Rete以及 Leaps两种快速规则匹配算法。将来任何合适的更好的快速规则匹配算法也适用于本发明。规则引擎模块然后将过滤处理后的设备数据对象(也即,匹配成功的设备数据对 象)结合报警信息生成客户端数据对象,然后将其提供给实时数据缓存模块。其中,报警信 息包括了报警的脚本名称及参数,这样可以可视化地提醒监控人员注意某些设备监控数据 的异常,从而尽早的发现异常,例如,报警动作代码。请注意在不存在实时数据缓存模块或 者该实时数据缓存模块与实时数据提供器集成在一起的情况下,规则引擎模块将客户端数 据对象提供给实时数据提供器。同时,规则引擎模块还将报警信息返回给数据接收处理模 块。其中,规则引擎模块根据规则定义对设备数据对象进行规则过滤,并构造出客户端数据 对象,然后直接把该客户端数据对象放入到实时数据缓存模块中。规则定义可以放置在一 个特定的文件当中,也可以放置到任何类型的数据库中,例如放置在上述的数据库中。规则 定义需要在项目发布运行之前定义,任何时候都可以修改规则文件,但是修改后需要重新 启动应用服务器。用任何文本编辑工具都可以对规则文件进行修改。在本发明中,报警代码分前、后台报警代码;前台报警代码是给监控人员看的,这 个代码是由系统的前端展示系统和后台的规则引擎使用的,规则引擎使用的是后台的报警 动作代码;后台的报警动作代码例如在数据库中记录一条报警记录;前端的报警动作代 码例如图标闪烁;上述的规则文件包括规则引擎过滤用的规则,规则可以采用许多种方式来定义, 例如,在本发明中,可以按照以下方式来定义规则package ssdk ;import com. nuctech. ssdk. runtime, service. DeviceService ;import com. nuctech. ssdk. runtime, model. * ;import com. nuctech. ssdk. runtime, model, devicedata. * ;global DeviceService deviceService ;rule" Rm2k0001〃no-loopwhen$deviceData Rm2k000IData ()thenretract($deviceData);0105]insert(“ fIashIcon");
0106]end
0107]rule" UnderPanOOOl“
0108]no-loop
0109]when
0110]$deviceData :UnderPan000IData()
0111]then
0112]retract($deviceData);
0113]insert(" fIashIcon");
0114]insert(〃 soundAlarm");
0115]end
0116]rule" VehicleIdentifyOOOl"
0117]no-loop
0118]when
0119]$deviceData=VehicleIdentifyOOOlData()
0120]then
0121]retract($deviceData);
0122]insert(" fIashIcon");
0123]end。结合上述所例举的规则定义的方式,在此,给出一个在规则文件中定义的规则的 例子,如下
0126]rule" VehicleIdentifyOOOl“
0127]no-loop
0128]when
0129]$deviceData =VehicleIdentifyOOOlData (code == “京 A123456,,)
0130]then
0131]insertAlarmData($deviceData);
0132]insert(” fIashIcon”);
0133]end
0134]其中VehicleldentifyOOOlData表示车牌识别设备产生的数据,如果车牌号等
于京A123456的话,系统就会产生报警(有相应的报警动作代码),前台报警为图标闪烁 (flashlcon),后台报警为在数据库中插入相关报警数据(insertAlarmData)。下面描述实时数据提供器如何响应客户端的请求获取请求的数据并返回该数据。首先,web客户端向实时数据提供器发出对实时数据的请求,例如轮询请求。在一 个优选实施例中,该轮询请求采用Ajax方式,Ajax的特点是可以单独刷新web页面上的各 个元素而不至于造成页面闪烁,同时Ajax是异步方式的,在请求数据的同时用户可以对页 面进行任何操作而不需要让用户等待。Web客户端在所发出的对实时数据的请求的参数中包括所请求的实时数据的来源设备的编号,即是要向实时数据提供器说明要请求的实时数据是由哪个设备产生的。例如, web客户端所产生的对实时数据的请求的例子是http://192. 168. 26. 4/DataProvider. action ? deviceid = 1689243,其中deviceid = 1689243是对应于产生该请求的实时数 据的设备的字符串。应当理解的是本发明所采用的Web客户端的不同点仅仅在于在发出 的实时数据请求中添加了设备的字符串,同样采用了定时器的方式,但由于有了实时数据 提供器,数据库的检索量将大大减少,响应速度也有很大提升。然后,实时数据提供器响应于web客户端所发出的实时数据请求后,根据请求的 设备编号去向实时数据缓存模块请求客户端数据对象,实时数据提供器在从实时数据缓存 模块得到客户端数据对象后,则会将该对象的数据转化为JSON方式的字符串(或者其它类 型的字符串,例如XML类型的字符串),而后将其返回给web客户端。客户端数据对象是实时数据提供器从实时数据缓存中获取的。其中,由规则引擎 向实时数据缓存模块提供客户端数据对象,如前所述。实时数据缓存模块在接收到客户端数据对象后,会为该客户端数据对象建立一个 客户端数据对象与产生其中的数据的来源设备之间的哈希表,(关于哈希表,见以下结合图 4的说明),以用于方便实现对该客户端数据对象的检索。其中哈希表存储在实时数据缓存 模块中。实时数据缓存模块响应于实时数据提供器从web客户端所接收的对实时数据的请 求,以该请求中所包含的数据的来源设备作为检索主键,根据哈希表来检索相应的客户端 数据对象。例如,来自Web客户端的对实时数据的请求中指定了数据来源设备A,则就根据 数据来源设备A从哈希表检索到对应的由来源设备A所产生的数据对象Ob jectA (对象A)。 采用上述方式检索,相比数据库检索方式有明显的效率提升。客户端对象是类在内存中的实体,类是存在于硬盘上的对象声明,通过该声明就 可以在内存中实例化一个类。这个在内存中实例化的类我们就称之为对象。对象是java 中的最小单位。在实时数据提供器在向实时数据缓存请求客户端数据对象时,实时数据缓 存模块可以将当前客户端数据对象的一个引用返回给实时数据提供器。这样就可以有效避 免多线程情况下的资源锁定问题。实时数据提供器在从实时数据缓存获得期望的客户端数据引用后,自行将该客 户端数据对象的数据转化为JSONCJavaScript ObjectNotation)方式的文本串,然后将 转化后的数据包返回给web客户端。其中,JSONCJavaScript Object Notation)是一 种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于 JavaScript (Standard ECMA-262 3rd Edition-December 1999)的一个子集。在一个实施例中,实时数据缓存模块被集成在实时数据提供器中,此时,规则引擎 把所转换的客户端数据对象交付给实时数据提供器中的实时数据缓存模块,然后实时数据 缓存模块按照上面描述的方式建立哈希表。实时数据提供器根据web客户端的实时数据请 求,向实时数据缓存模块查询客户端数据对象,实时数据缓存模块根据该请求中所包含的 数据的来源设备作为检索主键,根据哈希表来检索相应的客户端数据对象。实时数据缓存 模块可以将当前所请求的客户端数据对象的一个引用返回给实时数据提供器,实时数据提 供器在从实时数据缓存模块获得期望的客户端数据引用后,自行将该客户端数据对象的数 据转化为JSON方式的文本串,然后将转化后的数据包返回给web客户端。在一个实施例中,不存在实时数据缓存模块,此时,规则引擎把客户端数据对象交付给实时数据提供器。实时数据提供器根据web客户端的请求中所包含的数据的来源设备 来查找客户端数据对象,然后把找到的客户端数据对象的数据转化为JSON方式的字符串, 而后将其返回给web客户端。与采用实时数据缓存模块的实施例相比,该实施例的系统效 率会有所下降,因而优选地,建设使用具有实时数据缓存模块的实施例来实现本发明。Web客户端接收到由实时数据提供器所生成的JSON数据包,然后,Web客户端解析 所接收的JSON数据包,然后显示所请求的数据。JSON方式是本发明的优选实施例,也可以采用其它的方式。可以看到,整个实时数据的请求过程都没有进行数据库的查询,而且在实时数据 提供器当中只保留每个数据的最新的一条数据,从而节省了服务器的运算资源。图4所示为本发明的实时数据缓存模块的哈希表的结构。哈希表是一种数据结构,描述了一对一的(键-值)对,也就是说,一个检索键对 应一个值,Map内部一般采取哈希算法来实现快速查找。其中401为哈希表中的键,402为哈希表中与该键对应的值。在实时数据缓存模 块检索web客户端所请求的实时数据时将以键401为索引,来检索对应的客户端数据对象 402。例如,web客户端请求的是来源B的实时数据,实时数据缓存模块就以来源B作为主键 检索哈希表,从中找到主键来源B,然后再找出与作为主键的来源B相对应的内容,S卩,客户 端数据对象B,其中客户端数据对象B包括该来源设备B采集到的所有的最新实时数据、内 容如设备ID号,各个数据项的数值,数据类型以及数据参数等。然后,实时数据缓存模块把 检索到的客户端数据对象提供给实时数据提供器。实时数据提供器接着根据检索到客户端 数据对象生成JSON格式的字符串,然后把该JSON数据包返回给Web客户端,作为对从web 客户端所发出的实时数据请求的响应。 这里虽然使用了哈希表机制,但是这并不是必须的。不过,使用哈希表可以使得检 索速度更快。 在上面已经描述了本发明及其使用方式,本领域技术人员应当理解的是,可以对 本发明进行各种修改和改动,只要这样的修改和改动均落在所附权利要求的范围之内。
权利要求
一种实时数据提供服务器,包括数据接收处理模块,用于把来自设备的实时数据转换成设备数据对象;规则引擎,用于根据规则对所接收的设备数据对象进行规则匹配,如果匹配成功,则把设备数据对象转换成客户端数据对象;以及实时数据提供器,用于响应于客户端对实时数据的请求,根据所述客户端数据对象提供所请求的实时数据。
2.如权利要求1所述的实时数据提供服务器,还包括实时数据缓存模块,用于缓存规 则引擎所提供的客户端数据对象,并根据所述对实时数据的请求,返回所请求的客户端数 据对象。
3.如权利要求2所述的实时数据提供服务器,所述实时数据缓存模块在客户端数据对 象与设备编号之间建立哈希表,并且根据所述请求中的设备编号检索客户端数据对象。
4.如权利要求2所述的实时数据提供服务器,其中所述实时数据缓存模块位于实时数 据提供器和规则引擎之间。
5.如权利要求3所述的实时数据提供服务器,其中所述实时数据缓存模块位于实时数 据提供器和规则引擎之间。
6.如权利要求2所述的实时数据提供服务器,其中所述实时数据缓存模块被包括在实 时数据提供器中。
7.如权利要求3所述的实时数据提供服务器,其中所述实时数据缓存模块被包括在实 时数据提供器中。
8.如权利要求中1-7任一项所述实时数据提供服务器,其中所述规则引擎向数据接收 处理模块提供报警信息。
9.如权利要求中1-7中任一项所述的实时数据提供服务器,所述规则被包括在规则文 件中。
10.如权利要求中9所述的实时数据提供服务器,所述规则能够被修改。
11.如权利要求中1-7任一项所述的实时数据提供服务器,所述客户端数据对象包括 设备数据对象和报警信息。
12.如权利要求中1-7任一项所述的实时数据提供服务器,所述客户端数据对象和设 备数据对象是Java对象。
13.如权利要求中1-7任一项所述的实时数据提供服务器,所述实时数据采用JSON格 式提供所请求的数据。
14.如权利要求中1-7任一项所述的实时数据提供服务器,所述客户端对实时数据的 请求采用Ajax方式。
15.如权利要求中1-7任一项所述的实时数据提供服务器,还包括数据采集器,用于从 设备采集数据,并把所采集的数据传送给所述数据接收处理模块。
16.如权利要求中1-7任一项所述的实时数据提供服务器,还包括数据库,用于存储数 据接收处理模块接收的实时数据和/或报警信息。
17.如权利要求中16所述的实时数据提供服务器,其中所述数据库用于存储包含所述 规则的规则文件。
18.一种实时数据提供网络,包括一个或者多个客户端; 一个或者多个设备;和如权利要求1-14中任何一项所述的实时数据提供服务器; 其中,所述客户端与所述服务器相耦合; 其中所述设备与所述服务器相耦合。
19.如权利要求18所述的网络,还包括一个或者多个数据采集器,每个采集器与一个 或者多个设备相耦合,用于把从设备所采集的实时数据提供给所述实时数据提供服务器。
20.如权利要求18所述的网络,还包括一个数据采集器,所述采集器与一个或者多个 设备相耦合,所述采集器被集成到所述实时数据提供服务器,用于把从设备所采集的实时 数据提供给所述实时数据提供服务器中的数据接收处理模块。
21.如权利要求18-20中任一项所述的网络,还包括数据库,用于存储数据接收处理模 块接收的实时数据和/或报警信息。
22.如权利要求21所述的网络,其中所述数据库被集成在所述实时数据提供服务器中。
23.一种实时数据提供方法,包括步骤 从设备接收设备的实时数据; 把该实时数据转换成设备数据对象; 根据规则对该设备数据对象进行规则匹配;如果匹配成功,则把该设备数据对象转换成客户端数据对象;和 响应于客户端对实时数据的请求,根据所述客户端数据对象提供所请求的实时数据。
24.如权利要求23所述的方法,还包括缓存所述客户端数据对象,并根据所述对实时 数据的请求,返回所请求的客户端数据对象。
25.如权利要求24所述的方法,所述缓存所述客户端数据对象还包括在客户端数据对 象与设备编号之间建立哈希表,并且根据所述请求中的设备编号检索客户端数据对象。
26.如权利要求23-25中任一项所述的方法,所述规则被包括在规则文件中。
27.如权利要求26所述的方法,所述规则能够被修改。
28.如权利要求23-25中任一项所述的方法,所述客户端数据对象包括设备数据对象 和报警信息。
29.如权利要求23-25中任一项所述的方法,所述客户端数据对象和设备数据对象是 Java对象。
30.如权利要求23-25中任一项所述的方法,所述实时数据采用JSON格式。
31.如权利要求23-25中任一项所述的方法,所述客户端对实时数据的请求采用Ajax 方式。
32.如权利要求23-25中任一项所述的方法,所述从设备接收设备的实时数据还包括 通过数据采集器从设备采集实时数据。
33.如权利要求23-25中任一项所述的方法,还包括把实时数据存储在数据库中。
34.如权利要求23-25所述的方法,还包括包含所述规则的规则文件存储在数据库中。
全文摘要
本发明涉及实时数据提供方法、服务器和网络,提供了一种实时数据提供服务器,包括数据接收处理模块,用于把来自设备的实时数据转换成设备数据对象;规则引擎,用于根据规则对所接收的设备数据对象进行规则匹配,如果匹配成功,则把设备数据对象转换成客户端数据对象;以及实时数据提供器,用于响应于客户端对实时数据的请求,根据所述客户端数据对象提供所请求的实时数据。
文档编号H04L12/28GK101989939SQ200910089160
公开日2011年3月23日 申请日期2009年7月31日 优先权日2009年7月31日
发明者吉东旭, 崔锦 申请人:同方威视技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1