首页 / 专利库 / 资料储存系统 / 大容量存储 / 只读存储器 / 一种流关系数据库管理系统

一种流关系数据库管理系统

阅读:1030发布:2020-05-15

专利汇可以提供一种流关系数据库管理系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种流关系 数据库 管理系统,包括 服务器 、至少一个第一客户端和至少一个第二客户端;所述服务器包括批量加载器、出口后端、 存储器 、存储模 块 、数据队列控 制模 块、运行时模块和缓冲池;所述批量加载器与所述第一客户端相连,以从所述第一客户端中获取数据流,所述批量加载器与所述数据队列 控制模块 相连,所述数据队列控制模块与所述存储器、所述运行时模块和所述出口后端相连,所述存储器、所述运行时模块和所述出口后端均与所述缓冲池相连,所述缓冲池与所述存储模块相连,所述出口后端与所述第二客户端相连。优点是:在接收新的数据流时,对其进行处理,以便为查询生成结果,实现对数据流的连续查询。,下面是一种流关系数据库管理系统专利的具体信息内容。

1.一种流关系数据库管理系统,其特征在于:包括服务器、至少一个第一客户端和至少一个第二客户端;所述服务器包括批量加载器、出口后端、存储器、存储模、数据队列控制模块、运行时模块和缓冲池;所述批量加载器与所述第一客户端相连,以从所述第一客户端中获取数据流,所述批量加载器与所述数据队列控制模块相连,所述数据队列控制模块与所述存储器、所述运行时模块和所述出口后端相连,所述存储器、所述运行时模块和所述出口后端均与所述缓冲池相连,所述缓冲池与所述存储模块相连,所述出口后端与所述第二客户端相连。
2.根据权利要求1所述的流关系数据库管理系统,其特征在于:所述服务器经所述批量加载器与第一客户端相连,所述第一客户端内存储有应用程序,所述应用程序能够对数据流进行相应的处理,并将数据流的元组传输给所述批量加载器,所述批量加载器将其接收到的元组传递给所述数据队列控制模块;所述批量加载器的个数为至少一个。
3.根据权利要求1所述的流关系数据库管理系统,其特征在于:所述出口后端从所述第二客户端接收查询,并将查询传输给所述数据队列控制模块;所述查询为连续查询和/或静态查询;所述出口后端包括用于处理查询的规划器和/或解析器和/或优化器和/或执行器。
4.根据权利要求1至3任一所述的流关系数据库管理系统,其特征在于:所述数据队列控制模块将批量加载器传输过来的第一元组传输给所述运行时模块和/或所述存储器,所述存储器将所述第一元组传输给缓冲池,所述缓冲池将第一元组传递给存储模块存储或者经所述出口后端传输给第二客户端;所述运行时模块对所述第一元组进行处理,并生成第二元组,所述数据队列控制模块接收所述第二元组,并将其传输给所述存储器,所述存储器将其接收到的第二元组传输给缓冲池,所述缓冲池将第二元组传递给存储模块存储或者经所述出口后端传输给第二客户端。
5.根据权利要求4所述的流关系数据库管理系统,其特征在于:所述存储模块为可存储数据的计算机可读介质,所述存储模块为硬盘随机存取存储器只读存储器、光盘、磁盘、虚拟存储器以及网盘中的一种或几种;所述数据为元组、表、变量、常量、静态查询、连续查询、程序、IMP数据结构以及SCP数据结构中的一种或几种。
6.根据权利要求5所述的流关系数据库管理系统,其特征在于:所述运行时模块包括计划折叠单元、元组路由器和数据结构单元;所述出口后端向所述数据队列控制模块提供IMP数据结构,所述数据队列控制模块将IMP数据结构提供给所述运行时模块,所述计划折叠单元将其接收的IMP数据结构传输给所述数据结构单元内的SCP数据结构;或者,所述出口后端向所述数据队列控制模块提供IMP数据结构,所述数据队列控制模块将IMP数据结构提供给所述存储器,所述存储器将其经缓冲池存储在所述存储模块中。
7.根据权利要求6所述的流关系数据库管理系统,其特征在于:所述数据队列控制模块能够接受数据库对象,并将所述数据库对象经所述存储器传递给所述缓冲池,并存储在存储模块中;或者,所述数据队列控制模块将所述数据库对象提供给所述数据结构单元内的SCP数据结构;所述数据库对象包括数据流、表、关系和视图中的一种或几种。
8.根据权利要求6所述的流关系数据库管理系统,其特征在于:所述运行时模块从所述数据队列控制模块接收元组和/或表,并经所述元组路由器和所述数据结构单元中的数据结构评估所述元组和/或表;所述运行时模块能够将其输出传输到所述数据队列控制模块,所述数据队列控制模块将所述输出经所述出口后端传输给所述第二客户端。

说明书全文

一种流关系数据库管理系统

技术领域

[0001] 本发明涉及流数据处理领域,尤其涉及一种流关系数据库管理系统

背景技术

[0002] 关系数据库管理系统(RDBMS)用于存储和操作有限的结构化数据集。RDBMS提供了创建和填充数据库对象(如表),修改这些对象的内容以及评估处理一个或多个表以便生成关系作为输出的SQL查询的工具。此外,传统数据库使用称为“先存储,后查询”的范例,其中新数据存储在数据库中,然后才能查询。实际上,这些系统管理“静止”的数据,其中查询在任何时间点对数据库的快照进行操作——这种查询称为“快照查询”(snapshot query,SQ)。SQ在有限的时间内运行,并在每次调用时生成一组记录。由于这些系统使用静止数据进行分析,因此,无法进行实时分析。然而,除了静止的数据之外,还存在流动的数据,也就是数据流,而针对数据流,需要在其进入系统时对其进行不停止的查询,也就是连续查询;也就是说,数据流进入系统时,系统需要对其进行处理,以便为查询生成其他结果;逻辑上,数据流可以被认为是一组无限的元组(即记录)。而现有的关系数据库管理系统无法针对数据流实现连续查询。

发明内容

[0003] 本发明的目的在于提供一种流关系数据库管理系统,从而解决现有技术中存在的前述问题。
[0004] 为了实现上述目的,本发明采用的技术方案如下:
[0005] 一种流关系数据库管理系统,包括服务器、至少一个第一客户端和至少一个第二客户端;所述服务器包括批量加载器、出口后端、存储器、存储模、数据队列控制模块、运行时模块和缓冲池;所述批量加载器与所述第一客户端相连,以从所述第一客户端中获取数据流,所述批量加载器与所述数据队列控制模块相连,所述数据队列控制模块与所述存储器、所述运行时模块和所述出口后端相连,所述存储器、所述运行时模块和所述出口后端均与所述缓冲池相连,所述缓冲池与所述存储模块相连,所述出口后端与所述第二客户端相连。
[0006] 优选的,所述服务器经所述批量加载器与第一客户端相连,所述第一客户端内存储有应用程序,所述应用程序能够对数据流进行相应的处理,并将数据流的元组传输给所述批量加载器,所述批量加载器将其接收到的元组传递给所述数据队列控制模块;所述批量加载器的个数为至少一个。
[0007] 优选的,所述出口后端从所述第二客户端接收查询,并将查询传输给所述数据队列控制模块;所述查询为连续查询和/或静态查询;所述出口后端包括用于处理查询的规划器和/或解析器和/或优化器和/或执行器。
[0008] 优选的,本实施例中,所述数据队列控制模块将批量加载器传输过来的第一元组传输给所述运行时模块和/或所述存储器,所述存储器将所述第一元组传输给缓冲池,所述缓冲池将第一元组传递给存储模块存储或者经所述出口后端传输给第二客户端;所述运行时模块对所述第一元组进行处理,并生成第二元组,所述数据队列控制模块接收所述第二元组,并将其传输给所述存储器,所述存储器将其接收到的第二元组传输给缓冲池,所述缓冲池将第二元组传递给存储模块存储或者经所述出口后端传输给第二客户端。
[0009] 优选的,所述存储模块为可存储数据的计算机可读介质,所述存储模块为硬盘随机存取存储器只读存储器、光盘、磁盘、虚拟存储器以及网盘中的一种或几种;所述数据为元组、表、变量、常量、静态查询、连续查询、程序、IMP数据结构以及SCP数据结构中的一种或几种。
[0010] 优选的,所述运行时模块包括计划折叠单元、元组路由器和数据结构单元;所述出口后端向所述数据队列控制模块提供IMP数据结构,所述数据队列控制模块将IMP数据结构提供给所述运行时模块,所述计划折叠单元将其接收的IMP数据结构传输给所述数据结构单元内的SCP数据结构;或者,所述出口后端向所述数据队列控制模块提供IMP数据结构,所述数据队列控制模块将IMP数据结构提供给所述存储器,所述存储器将其经缓冲池存储在所述存储模块中。
[0011] 优选的,所述数据队列控制模块能够接受数据库对象,并将所述数据库对象经所述存储器传递给所述缓冲池,并存储在存储模块中;或者,所述数据队列控制模块将所述数据库对象提供给所述数据结构单元内的SCP数据结构;所述数据库对象包括数据流、表、关系和视图中的一种或几种。
[0012] 优选的,所述运行时模块从所述数据队列控制模块接收元组和/或表,并经所述元组路由器和所述数据结构单元中的数据结构评估所述元组和/或表;所述运行时模块能够将其输出传输到所述数据队列控制模块,所述数据队列控制模块将所述输出经所述出口后端传输给所述第二客户端。
[0013] 本发明的有益效果是:本发明提供的流关系数据库管理系统能够在接收新的数据流时,对其进行处理,以便为查询生成结果,实现对数据流的连续查询;连续查询就是为了达到实时数据查询的目的,这就是我们目前大数据背景下需要解决的实际问题,实时就是更快更短的时间响应结果,让企业有比别人更多的时间去处理商务市场策略等问题,以便获得更好的商机或事件的处理效果。附图说明
[0014] 图1是本发明实施例中所述流关系数据库管理系统的结构示意图。

具体实施方式

[0015] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
[0016] 如图1所示,本实施例提供了一种流关系数据库管理系统,包括服务器、至少一个第一客户端和至少一个第二客户端;所述服务器包括批量加载器、出口后端、存储器、存储模块、数据队列控制模块、运行时模块和缓冲池;所述批量加载器与所述第一客户端相连,以从所述第一客户端中获取数据流,所述批量加载器与所述数据队列控制模块相连,所述数据队列控制模块与所述存储器、所述运行时模块和所述出口后端相连,所述存储器、所述运行时模块和所述出口后端均与所述缓冲池相连,所述缓冲池与所述存储模块相连,所述出口后端与所述第二客户端相连。
[0017] 本实施例中,数据除了静止的数据之外,还包括“在移动中”的数据,也就是数据流,管理数据流的系统成为流关系数据库管理系统(SRDBMS),部署在SRDBMS中的一个或多个流上的查询将永远运行,并称为“连续查询”(continuous query,CQ)。当新数据进入该系统时,将对其进行处理,以便为查询生成其他结果。逻辑上,数据流可以被认为是一组无限的元组(即记录),由称为CQTIME属性的指定时间戳属性排序。数据流出现在具有关联的“流到关系”(stream-to-relation,StoR)或窗口子句的CQ中,该子句表示如何从无界流生成有序关系的有序序列。CQ的语义是依次对所生成的序列中的每个这样的有限关系应用其关联的SQ(通过消除CQ中的所有StoR子句形成),并将得到的关系连接成输出流。
[0018] 本实施例中,所述流关系数据库管理系统主要用于监视和警告应用程序。但是,SRDBMS不仅仅是一个普通的流查询处理器。除了监视应用程序之外,SRDBMS还可用于显着加快传统分析和报告数据库系统的性能。通过利用所有数据源自某些流(例如应用程序、事务、日志)的一部分并且可以使用CQ技术以递增方式预处理的事实来实现这种性能提升。
[0019] 本实施例中,所述数据流被认为是一个无线的元组包,其中每个元组都有一个明确描述的“时间戳”属性。实际上,数据流是一个数据库对象,使用类似于关系的模式定义,并且元组在它们“到达”系统时附加到数据流。
[0020] 本实施例中,所述服务器经所述批量加载器与第一客户端相连,所述第一客户端内存储有应用程序,所述应用程序能够对数据流进行相应的处理,并将数据流的元组传输给所述批量加载器,所述批量加载器将其接收到的元组传递给所述数据队列控制模块;所述批量加载器的个数为至少一个。
[0021] 本实施例中,所述数据队列控制模块作为是按照数据先后顺序进行处理的处理规则。(可以理解为我们排队,有个人在傍边维护次序,不允许插队,以确认数据的先到先处理,避免因为一直有人插队,有部分人应用被抢占资源,不能实时处理)。元组是一个比较专业的术语,可以实际上是一个操作的对象,换句话说是一条数据。元组的操作就是对某个对象的具体操作,也就是说你这个人来排队办理什么业务,那我就给你办理对应的业务,这个就是元组的操作。数据流有不同的窗口,当有数据满足的一定条件就会触发;而时间窗口是按照规定的时候进行触发。也就是说所述数据队列控制模块是用于将所述批量加载器传输过来的元组,根据时间窗口进行元组操作。
[0022] 本实施例中,所述批量加载器被配置为从至少一个数据流中接收元组,批量加载器从第一客户端中应用程序中接收元组,所述第一客户端中的应用程序被配置为能够处理数据流并将该数据流的元组提供给所述批量加载器。
[0023] 本实施例中,所述数据流经由网络将元组传输给服务器,所述网络可以是局域网、广域网、无线网络、移动网络、因特网、万维网、客户端(第一客户端)等。所述数据流还能够耦合到除其本身以外的网络的数据源来访问大量信息,所述数据流可以由局域网、广域网和/或移动网络内的一个或多个数据源提供。
[0024] 本实施例中,所述出口后端从所述第二客户端接收查询,并将查询传输给所述数据队列控制模块;所述查询为连续查询和/或静态查询;所述出口后端包括用于处理查询的规划器和/或解析器和/或优化器和/或执行器。
[0025] 本实施例中,所述批量加载器和出口后端内设置有包括公共代码,其被配置为从第一客户端应用程序接收和/或查询元组的数据。当需要接收元组时,批量加载器内的公共代码工作,控制批量加载器接收元组;当需要接收查询时,所述出口后端内的公共代码工作,控制出口后端接收第二客户端发来的查询请求
[0026] 本实施例中,本实施例中,所述数据队列控制模块将批量加载器传输过来的第一元组传输给所述运行时模块和/或所述存储器,所述存储器将所述第一元组传输给缓冲池,所述缓冲池将第一元组传递给存储模块存储或者经所述出口后端传输给第二客户端;所述运行时模块对所述第一元组进行处理,并生成第二元组,所述数据队列控制模块接收所述第二元组,并将其传输给所述存储器,所述存储器将其接收到的第二元组传输给缓冲池,所述缓冲池将第二元组传递给存储模块存储或者经所述出口后端传输给第二客户端。
[0027] 本实施例中,所述第一客户端将数据流元组(第一元组)提供给批量加载器,所述批量加载器将第一元组提供给数据队列控制模块,所述数据队列控制模块将第一元组传输给存储器和/或运行时模块,所述存储器将第一元组经缓存池存储到存储模块中,或者经缓冲池将第一元组经出口后端传递给第二客户端,所述运行时模块将所述第一元组进行处理,得到其输出(第二元组)。
[0028] 本实施例中,所述数据队列控制模块接收从运行时模块传递来的第二元组(运行时模块的输出),所述数据队列控制模块将第二元组传输给存储器,所述存储器将第二元组提供给缓冲池,所述缓冲池将第二元组传递给存储模块存储或者是传递给出口后端,并由出口后端专递给第二客户端。
[0029] 本实施例中,所述运行时模块还能够经所述缓冲池接收存储模块发出的查询;而且运行时模块还能够从缓冲池中接收各种数据库对象,比如流、数据表、元数据、元组、视图、关系。而缓冲池能够从存储器和存储模块中获取这些数据库对象。
[0030] 本实施例中,所述存储模块为可存储数据的计算机可读介质,所述存储模块为硬盘、随机存取存储器、只读存储器、光盘、磁盘、虚拟存储器以及网盘中的一种或几种;所述数据为元组、表、变量、常量、静态查询、连续查询、程序、IMP数据结构以及SCP数据结构中的一种或几种。
[0031] 本实施例中,所述数据队列控制模块被配置为从批量加载器和/或运行时模块中接收元组。数据队列控制模块可以将其所接收的元组提供给存储器和/或运行时模块。所述数据队列控制模块能够将从批量加载器和/或运行时模块中接收的元组提供给存储器,以将元组存储在存储模块中。数据队列控制模块也能够检索来自批量加载器的元组,并将它们提供给运行时模块,以进行处理。
[0032] 本实施例中,所述运行时模块包括计划折叠单元、元组路由器和数据结构单元;所述出口后端向所述数据队列控制模块提供IMP数据结构,所述数据队列控制模块将IMP数据结构提供给所述运行时模块,所述计划折叠单元将其接收的IMP数据结构传输给所述数据结构单元内的SCP数据结构;或者,所述出口后端向所述数据队列控制模块提供IMP数据结构,所述数据队列控制模块将IMP数据结构提供给所述存储器,所述存储器将其经缓冲池存储在所述存储模块中。
[0033] 本实施例中,举例说明,数据结构单元,就是待操作对象的基本信息,元组路由器就是要办理上面业务,计划折叠单元就是办理的业务的写作的问题。很简单的例子,去医院看病:1、先挂个号;可以理解为数据结构单元。2、然后去找医生看病,这个元组路由器;3、之后你还的去交钱,取药,化验等;实际上是从各科室过来就需要排队一个一个的来,就是根据当前的情况优先处理。可以理解为:计划折叠单元。也就是说所述运行时模块依据计划折叠单元、元组路由器和数据结构单元对元组进行依次接收,并依次传输到缓冲池中。
[0034] 本实施例中,所述数据队列控制模块能够接受数据库对象,并将所述数据库对象经所述存储器传递给所述缓冲池,并存储在存储模块中;或者,所述数据队列控制模块将所述数据库对象提供给所述数据结构单元内的SCP数据结构;所述数据库对象为数据流、数据表、元数据、元组、视图和关系中的一种或几种。
[0035] 本实施例中,所述运行时模块从所述数据队列控制模块接收元组和/或表,并经所述元组路由器和所述数据结构单元中的数据结构评估所述元组和/或表;所述运行时模块能够将其输出传输到所述数据队列控制模块,所述数据队列控制模块将所述输出经所述出口后端传输给所述第二客户端。
[0036] 本实施例中,所述数据流被分类为原始流和派生流,分类规则基于流的填充方式,原始流可以由外部数据提供者填充,部数据提供者使用对其自身进行认证的安全且定义良好的协议连接到服务器,并通告正被填充的流的标识。如果获得授权,提供者可以提供附加到流的数据元组。数据提供程序将使用SRDBMS提供的调用级API。
[0037] 本实施例中,可以使用查询(例如定义查询)来定义所产生的数据流,并且可以由SRDBMS填充所产生的数据流。所产生的数据流可以是多种类型的数据库对象之一,包括视图和派生流。视图可以是使用查询定义并具有宏语义的数据库对象,可以使用CQ作为流视图来定义视图,可以在可以使用原始流的位置的另一个查询中使用视图。仅当使用该视图的查询也运行时,才会运行视图的定义查询。
[0038] 本实施例中,导出数据流是可以使用特殊语法(例如,CREATE STREAM...AS查询)与数据流相关联的具体化CQ。关联的数据流类似于视图,并且可以在可以使用原始流的位置的另一个查询中使用。但是,与视图不同,派生流没有宏语义,派生流可以是活动的,无论它是否在另一个活动查询中使用;原始流和/或派生流可以存储在存储模块上,可以使用存储器存储原始流和/或导出流以将其存储在存储模块中。
[0039] 通过采用本发明公开的上述技术方案,得到了如下有益的效果:
[0040] 本发明提供了一种在流关系数据库管理系统,能够在接收新的数据流时,对其进行处理,以便为查询生成结果,实现对数据流的连续查询;连续查询就是为了达到实时数据查询的目的,这就是我们目前大数据背景下需要解决的实际问题,实时就是更快更短的时间响应结果,让企业有比别人更多的时间去处理商务市场策略等问题,以便获得更好的商机或事件的处理效果。
[0041] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈