CN117453731A - 一种多源数据查询***及多源数据查询方法 - Google Patents

一种多源数据查询***及多源数据查询方法 Download PDF

Info

Publication number
CN117453731A
CN117453731A CN202311778879.8A CN202311778879A CN117453731A CN 117453731 A CN117453731 A CN 117453731A CN 202311778879 A CN202311778879 A CN 202311778879A CN 117453731 A CN117453731 A CN 117453731A
Authority
CN
China
Prior art keywords
connector
query
data
data source
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311778879.8A
Other languages
English (en)
Inventor
王建林
肖姝
贾强
柴旭红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yusys Technologies Group Co ltd
Original Assignee
Beijing Yusys Technologies Group Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yusys Technologies Group Co ltd filed Critical Beijing Yusys Technologies Group Co ltd
Priority to CN202311778879.8A priority Critical patent/CN117453731A/zh
Publication of CN117453731A publication Critical patent/CN117453731A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种多源数据查询***及多源数据查询方法,涉及大数据技术领域,该***包括:协调器,用于将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过分工作节点将各查询子语句分别形成下发任务,将下发任务进行下发;连接器,用于匹配于数据源,接收发送给本连接器匹配的数据源的下发任务,并将下发任务发送给匹配的数据源;协调器,还用于接收匹配的数据源响应下发任务进行查询得到的数据,将数据返回给用户侧。针对多源数据查询,为每个数据源匹配一个连接器,适配了不同的数据存储形式,为用户提供更宽广的数据范围。

Description

一种多源数据查询***及多源数据查询方法
技术领域
本发明涉及大数据技术领域,具体涉及一种多源数据查询***及多源数据查询方法。
背景技术
在当前的技术环境下,由于查询数据源的种类单一,无法适配符合信创政策要求的国产CPU(Central Processing Unit,中央处理器)架构以及国产化数据库***,导致无法实现同时查询多个数据源的功能。即使在需要从国产化数据库获取数据时,也需要进行单独查询,这限制了大数据查询的范围并且降低了查询效率。这种局限性严重影响了大数据处理和分析的效率和准确性,也不利于满足当下信息化发展的需求。
为了解决这一问题,需要开发一种能够适配国产CPU架构和国产化数据库***的大数据查询技术。这种技术应当具备能够同时查询多个数据源的能力,包括国产化数据库***,从而实现更广泛的数据检索范围和更高效的查询操作。同时,该技术还应当具备高效的数据处理和分析能力,以满足大数据时代对于信息处理的需求。
发明内容
本发明实施例提供一种多源数据查询***及多源数据查询方法,能够解决现有技术中的不能够同时查询多个数据源,或者需要在国产化数据库获取数据时,也需要单独查询,使得大数据查询的范围受限,且查询效率低下的技术问题。
为达上述目的,一方面,本发明实施例提供一种多源数据查询***,包括:
协调器,用于将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过分工作节点将各查询子语句分别形成下发任务,将下发任务进行下发;
连接器,用于匹配于数据源,接收发送给本连接器匹配的数据源的下发任务,并将下发任务发送给匹配的数据源;
协调器,还用于接收匹配的数据源响应下发任务进行查询得到的数据,将数据返回给用户侧。
另一方面,本发明实施例提供一种多源数据查询方法,包括:
通过协调器将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过分工作节点将各查询子语句分别形成下发任务,将下发任务进行下发;
将连接器匹配于数据源,通过连接器接收发送给本连接器匹配的数据源的下发任务,并将下发任务发送给匹配的数据源;
通过协调器接收匹配的数据源响应下发任务进行查询得到的数据,将数据返回给用户侧。
上述技术方案具有如下有益效果:针对多源数据查询,为每个数据源匹配一个连接器,适配了不同的数据存储形式,尤其适配了多家国产的数据库管理***,扩展了可用数据源的应用范围,为用户提供更宽广的数据范围。同时查询多个数据源,提高查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种多源数据查询***的逻辑结构图;
图2是本发明实施例的一种多源数据查询方法的流程图;
图3是本发明实施例的连接器在多源数据查询***中的位置与交互流程;
图4是本发明实施例的多源数据查询***的逻辑框图;
图5是本发明实施例的数据源动态加载的流程图;
图6是本发明实施例的连接器所包括的主要组件;
图7是本发明实施例的用户分配访问控制权限的流程图;
图8是本发明实施例的访问控制权限更新的流程图;
图9是本发明实施例的访问控制权限删除的流程图;
图10是本发明实施例的访问控制权限查询的流程图;
图11是本发明实施例的用户查询数据的流程图;
图12是本发明实施例的多源数据查询***的启动流程图;
图13是本发明实施例的集群元数据查询流程;
图14是本发明实施例的集群节点元数据信息查询流程;
图15是本发明实施例的集群节点监控信息查询流程;
图16是本发明实施例的用户管理图前端图的一种操作方式展示;
图17是本发明实施例的用户管理图前端图的另一种方式展示;
图18是本发明实施例的访问控制权限分配展示图;
图19是本发明实施例的访问控制权限分配的具体操作;
图20是本发明实施例的集群监控图;
图21是本发明实施例的数据查询图;
图22是本发明实施例的数据查询结果展示图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种多源数据查询***,包括:
协调器,用于将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过分工作节点将各查询子语句分别形成下发任务,将下发任务进行下发;其中,数据源是数据的存储形式;
连接器,用于匹配于数据源,接收发送给本连接器匹配的数据源的下发任务,并将下发任务发送给匹配的数据源;
协调器,还用于接收匹配的数据源响应下发任务进行查询得到的数据,将数据返回给用户侧。
针对多源数据查询,为每个数据源匹配一个连接器,适配了国产申威的CPU架构,满足了特定信创要求。同时适配了不同的数据存储形式,尤其适配了多家国产的数据库管理***,扩展了可用数据源的应用范围,为用户提供更宽广的数据范围。所适配的国产的各数据源如表1所示,包括达梦数据库、GBase8a、GBase8s、KingbaseES和GauseDB。同时查询多个数据源,提高查询效率。
表1 连接器适配的国产的数据库
优选地,协调器设于引擎层内;引擎层还包括规范设置单元和配置文件生成单元,其中:
规范设置单元,用于设置连接器的生成规范,生成规范包括获取数据源的元数据接口的规范、获取数据源接口的规范和数据源数据读取接口的规范;
配置文件生成单元,用于基于数据源的驱动包和生成规范,为与数据源匹配的连接器形成配置文件;将配置文件保存在协调器所在的主工作节点的数据源配置目录;其中,配置文件包括:连接器名称、数据源名称和数据源地址。
底层引擎设置连接器的生成规范,则能够根据连接器的生成规范进行接口的实现,生成自定义的连接器,用于匹配新增的不同形似的数据源形式;从而能够实现查询不同的数据源。生成规范还包括:如何分区查询、如何增加访问控制权限。只要基于连接器的生成规范,就可以生成与数据源(任何形式)匹配的连接器,从而就能够读取任何形式的数据源。例如,对于数据源为数据库类型的自定义连接器,则是基于JDBC(即JAVA制定的与数据库的通信标准)实现,即底层引擎引用数据库厂商提供的驱动包,借助JDBC规范进行数据库的定义语言DML(Data Definition Language)的操作和操作语言DDL(Data ManipulationLanguage)操作。
连接器(Connector)属于插件,由协调器管理所生成的连接器。连接器所包含的主要组件如图6所示,图6的底层查询引擎的名称为Presto,Presto的串行外设接口的名称为Presto-spi,连接器工厂的名称ConnectorFactory,连接器元数据的名称为ConnectorMeatadata,连接器处理解析器的名称为ConnectorHandlerResolver,连接器分隔管理器的名称为ConnectorSplitManager,连接器页面源数据提供器的名称为ConnectorPageSourceProvider,连接器记录集提供器的名称为ConnectorRecordSetProvider,连接器页面存储提供器的名称为ConnectorPageSinkProvider。连接器在多源数据查询***中的位置与交互流程如图3所示,图3中,应用层指多源数据查询***的前端即用户使用的前端界面,数据库可以是DB。
通过动态数据源存储器(DynamicCatalogStore)实现数据源动态加载的流程如图5所示。
优选地,该多源数据查询***,还包括动态数据源存储器和连接器管理器,其中:
动态数据源存储器,用于实时监听数据源配置目录是否具有变更的事件类型;
当监听到的事件类型为配置文件增加时,读取所增加的配置文件,根据所增加的配置文件和连接器的生成规范创建第一运行文件;
当监听到的事件类型为配置文件删除时,将与所删除的配置文件相关联的第二运行文件删除;
当监听到的事件类型为配置文件修改时,首先将与修改前的配置文件相关联的原第三运行文件删除,然后根据修改后的配置文件和连接器的生成规范创建第三运行文件;
连接器管理器,用于在连接器管理器内生成与第一运行文件匹配的第一连接器对象,第一连接器对象用于加载第一运行文件实现第一连接器的运行;将新增的第一连接器的信息同步广播至所有工作节点;其中,所有工作节点包括主工作节点和分工作节点;
将与所删除的配置文件相关联的第二连接器对象删除,实现对与所删除的配置文件相关联的第二连接器的删除;将所删除第二连接器的信息同步广播至所有工作节点;
将与修改前的配置文件相关联的原第三连接器对象删除;生成与第三运行文件匹配的当前第三连接器对象,当前第三连接器对象用于加载第三运行文件实现第三连接器的运行;将当前第三连接器的信息同步广播至所有工作节点。
根据变更的事件类型进行新增连接器、修改连接器和删除连接器,即为新增数据源、修改数据源和删除数据源,实际上提供了数据源动态加载的功能,扩大了数据来源范围。
针对配置文件增加,所增加的配置文件内的数据源名称需要与连接器读取的数据源名称相同。其中,对于数据源为数据库类型的配置文件,配置参数包括:数据库连接地址、连接用户名、连接密码。对于其它类型的数据源,写哪些配置参数是根据自定义的连接器的生成规范来定。
针对配置文件修改举例:当数据源发生一些变化时,例如连接密码发生变更,此时就需要修改配置参数;或者,自定义连接器需要根据参数来决定一些逻辑时,也可以修改参数;当逻辑为查询时,不指定返回数据的限制数量(limit)时,则根据配置参数指定的限制数量(limit)来返回数据的条数;如果对查询所返回数据的限制数量进行变动,则需要修改配置参数的限制数量(limit)。
优选地,连接器,还用于:
在多源数据查询***启动时,通过连接器对象加载匹配的运行文件,通过运行文件读取匹配的配置文件,实现本连接器的运行;其中,连接器对象包括第一连接器对象、第二连接器对象、原第三连接器、当前第三连接器对象以及所存在的其他连接器对象,运行文件包括第一运行文件、第二运行文件、第三运行文件以及所存在的其他运行文件,连接器包括第一连接器、第二连接器、第三连接器、原第三连器、当前第三连器以及所存在的其他连接器。
在生成与第一运行文件匹配的第一连接器对象之后,通过第一连接器对象加载第一运行文件,第一运行文件加载所增加的配置文件,第一连接器进入运行状态;
在将与所删除的配置文件相关联的第二连接器的删除之后,第二连接器对象停止工作,第二连接器停止工作;
在生成与第三运行文件匹配的当前第三连接器对象之后,通过当前第三连接器对象加载第三运行文件,当前第三连接器进入运行状态。
根据变更的事件类型进行新增连接器、修改连接器和删除连接器,即为新增数据源、修改数据源和删除数据源,实际上提供了数据源动态加载的功能,扩大了数据来源范围。 并且还能够在不中断数据查询服务的情况下进行,保证了当前查询用户的时效性。
优选地,协调器,具体用于:
将接收的用户侧发送的查询语句的查询要素进行解析,解析成查询要素;
根据各数据源的元信息确定查询要素对应的数据源;
将对应于同一数据源的查询要素合并形成查询子语句。
将对应于同一数据源的查询要素合并形成查询子语句,实现查询工作的下推,相对于分布式查询步骤更简单,查询速度快,更高效。
优选地,该多源数据查询***,还包括权限控制单元,其中:
权限控制单元,用于将数据源的访问控制权限封装成细粒度访问控制,为用户分配用户访问控制权限,细粒度访问控制包括:设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件;
以及,接收用户侧发送的查询语句,根据该用户的用户访问控制权限和查询语句对应的数据源的元信息确定每个数据源的查询深度,将每个数据源的查询深度发送给协调器;查询深度包括:能够查询的数据源、能够查询的数据库、能够查询的数据表、能够查询的数据列和能够查询的数据行;
协调器,具体用于将解析后的查询要素形成以数据源为单位的查询子语句内,携带相应数据源的查询深度。
基于用户级别为用户设置访问控制权限,通过设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件的五级细粒度,管控用户数据查询权限管理,为不同级别的用户返回不同级别的数据,解决了数据安全查询的问题。
为用户分配访问控制权限的流程如图7所示,在多源查询***中的httpserver中提出分配访问控制权限的请求,并将分配访问控制权限的请求转发到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件进行参数读取与校验,如果校验成功,则通过用户服务实现类广播消息到所有工作节点;工作节点针对添加的访问控制权限进行更新并写入,并将添加的访问控制权限返回到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件将添加的访问控制权限以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将添加的访问控制权限以Json格式返回。
访问控制权限更新的流程如图8所示,在多源查询***中的httpserver中提出更新访问控制权限的请求,并将访问控制权限的权限更新请求转发到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件进行参数读取与校验,如果校验成功,则通过用户服务实现类广播消息到所有工作节点,工作节点针对用户的访问控制权限进行更新并写入,并将更新的访问控制权限返回到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件将更新的访问控制权限以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将更新的访问控制权限以Json格式返回。
访问控制权限删除的流程如图9所示,在多源查询***中的httpserver中提出删除访问控制权限的请求,并将访问控制权限的权限删除请求转发到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件进行参数读取与校验,如果校验成功,则通过用户服务实现类广播消息到所有工作节点,工作节点针对用户的访问控制权限进行更新并写入,并将对访问控制权限的权限删除的信息返回到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件将对权限删除的信息以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将对权限删除的信息以Json格式返回。
访问控制权限查询的流程如图10所示,在多源查询***中的httpserver中提出查询访问控制权限的请求,并将访问控制权限的查询请求转发到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件进行参数读取与校验,如果校验成功,则通过用户服务实现类广播消息到所有工作节点;工作节点针对用户的访问控制权限进行更新查询并写入,并将查询到的访问控制权限返回到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件将查询到的访问控制权限以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将查询到的访问控制权限以Json格式返回。
用户查询数据的流程如图11所示,查询数据时根据用户侧发送查询语句(SQL语句),结合数据源信息,与用户的访问控制权限对比,判断用户是否有相关数据的权限,具有权限时,则将SQL语句解析,形成查询子语句形成下发任务广播到工作节点,工作节点将下发任务进行下发,工作节点接收数据源响应查询子语句查询的数据,根据查询用户将数据源响应查询子语句查询的数据返回到处理用户的访问控制权限的组件,处理用户的访问控制权限的组件将查询的数据以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将查询的数据以Json格式返回。
在图7、图8、图9、图10和图11中,多源查询***中的httpserver的英文名称为DivsHttpServer;处理用户的访问控制权限的组件的英文名称为UserAccessServlet;用户服务实现类的英文名称为UserService。
数据源是一般为数据库服务实例,实例当中包含多个数据库;每个数据库包含多张表,一张表包括多个列,通过列表示字段,与字段相匹配的内容是行记录。实现访问控制权限的组件如下:通过UserAccessControl组件实现查询资源,粒度数据源、数据库、数据表、数据列、数据行各自过滤条件的设置;通过Column组件实现数据列信息类;通过ColumnFilter组件实现数据列过滤条件信息类;通过ColumnFilterGroup组件实现数据列组过滤条件信息类;通过ColumnOperator组件实现数据列操作信息类;通过TableCondition组件实现表条件信息类;通过Query组件实现SQL查询信息类;通过UserAccessControlServlet组件实现用户权限请求处理器;通过UserService组件实现用户服务接口。
如图2所示,结合本发明的实施例,提供一种多源数据查询方法,包括:
S101:通过协调器将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过分工作节点将各查询子语句分别形成下发任务,将下发任务进行下发;其中,数据源是一种数据存储形式;
S102:将连接器匹配于数据源,通过连接器接收发送给本连接器匹配的数据源的下发任务,并将下发任务发送给匹配的数据源;
S103:通过协调器接收匹配的数据源响应下发任务进行查询得到的数据,将数据返回给用户侧。
针对多源数据查询,为每个数据源匹配一个连接器,适配了国产申威的CPU架构,满足了特定信创要求。同时适配了不同的数据存储形式,尤其适配了多家国产的数据库管理***,扩展了可用数据源的应用范围,为用户提供更宽广的数据范围。同时查询多个数据源,提高查询效率。
优选地,该多源数据查询方法,还包括:
S104:通过设于引擎层的规范设置单元设置连接器的生成规范,生成规范包括获取数据源的元数据接口的规范、获取数据源接口的规范和数据源数据读取接口的规范;
S105:通过设于引擎层的配置文件生成单元基于数据源的驱动包和生成规范,为与数据源匹配的连接器形成配置文件;将配置文件保存在协调器所在的主工作节点的数据源配置目录;其中,配置文件包括:连接器名称、数据源名称和数据源地址。
底层引擎设置连接器的生成规范,则能够根据连接器的生成规范进行接口的实现,生成自定义的连接器,用于匹配新增的不同形似的数据源形式;从而能够查询实现查询不同的数据源。生成规范还包括:如何分区查询、如何增加访问控制权限。只要基于连接器的生成规范,就可以生成与数据源(任何形式)匹配的连接器,从而就能够读取任何形式的数据源。例如,对于数据源为数据库类型的自定义连接器,则是基于JDBC(即JAVA制定的与数据库的通信标准)实现,即底层引擎引用数据库厂商提供的驱动包,借助JDBC规范进行数据库的DML和DDL操作。
连接器(Connector)属于插件,协调器管理所生成的连接器。连接器在产品中涉及的主要组件如图6所示,图6的Presto为底层查询引擎的名称。连接器在多源数据查询***中的位置与交互流程如图3所示,图3中,应用层指多源数据查询***的前端即用户使用的前端界面,worker 是工作节点。
优选地,该多源数据查询方法,还包括:
S106:通过动态数据源存储器实时监听数据源配置目录是否具有变更的事件类型;
S107:当监听到的事件类型为配置文件增加时,读取所增加的配置文件,根据所增加的配置文件创建第一运行文件,并在连接器管理器内生成与第一运行文件匹配的第一连接器对象,第一连接器对象用于加载第一运行文件实现第一连接器的运行;将新增的第一连接器的信息同步广播至所有工作节点;其中,所有工作节点包括主工作节点和分工作节点;
S108:当监听到的事件类型为配置文件删除时,通过将连接器管理器内与所删除的配置文件相关联的第二连接器对象删除实现对与所删除的配置文件相关联的第二连接器的删除;将所删除第二连接器的信息同步广播至所有工作节点;
S109:当监听到的事件类型为配置文件修改时,首先将连接器管理器内与修改前的配置文件相关联的原第三连接器对象删除,然后根据修改后的配置文件创建第三运行文件,并在连接器管理器内生成与第三运行文件匹配的当前第三连接器对象,当前第三连接器对象用于加载第三运行文件实现第三连接器的运行;将当前第三连接器的信息同步广播至所有工作节点。
根据变更的事件类型进行新增连接器、修改连接器和删除连接器,即为新增数据源、修改数据源和删除数据源,实际上提供了数据源动态加载的功能,扩大了数据来源范围。
针对配置文件增加,所增加的配置文件内的数据源名称需要与连接器读取的数据源名称相同。其中,对于数据源为数据库类型的配置文件,配置参数包括:数据库连接地址、连接用户名、连接密码。对于其它类型的数据源,写哪些配置参数是根据自定义的连接器的生成规范来定。
针对配置文件修改举例:当数据源发生一些变化时,例如连接密码发生变更,此时就需要修改配置参数;或者,自定义连接器需要根据参数来决定一些逻辑时,也可以修改参数;当逻辑为查询时,不指定返回数据的限制数量(limit)时,则根据配置参数指定的限制数量(limit)来返回数据的条数;如果对查询所返回数据的限制数量进行变动,则需要修改配置参数的限制数量(limit)。
通过动态数据源存储器(DynamicCatalogStore)实现数据源动态加载的流程如图5所示。
优选地,该多源数据查询方法,还包括:
S110:在实现该多源数据查询方法的多源数据查询***启动时,通过连接器对象加载匹配的运行文件,通过运行文件读取匹配的配置文件实现本连接器的运行;在S101之前执行S110;
其中,连接器对象包括第一连接器对象、第二连接器对象、原第三连接器、当前第三连接器对象以及所存在的其他连接器对象,运行文件包括第一运行文件、第二运行文件、第三运行文件以及所存在的其他运行文件,连接器包括第一连接器、第二连接器、第三连接器、原第三连器、当前第三连器以及所存在的其他连接器。
S120:在生成与第一运行文件匹配的第一连接器对象之后,通过第一连接器对象加载第一运行文件,第一运行文件加载所增加的配置文件,第一连接器进入运行状态;在S107之后执行S120;
S130:在将与所删除的配置文件相关联的第二连接器的删除之后,第二连接器对象停止工作,第二连接器停止工作;在S108之后执行S130;
S140:在生成与第三运行文件匹配的当前第三连接器对象之后,通过当前第三连接器对象加载第三运行文件,当前第三连接器进入运行状态,在S109之后执行S140。
根据变更的事件类型进行新增连接器、修改连接器和删除连接器,即为新增数据源、修改数据源和删除数据源,实际上提供了数据源动态加载的功能,扩大了数据来源范围。 并且还能够在不中断数据查询服务的情况下进行,保证了当前查询用户的时效性。
优选地,S101中,通过协调器将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,具体包括:
S101-1:通过协调器将接收的用户侧发送的查询语句的查询要素进行解析,解析成查询要素;
S101-2:根据各数据源的元信息确定查询要素对应的数据源;
S101-3:将对应于同一数据源的查询要素合并形成查询子语句。
将对应于同一数据源的查询要素合并形成查询子语句,实现查询工作的下推,相对于分布式查询步骤更简单,查询速度快,更高效。
优选地,该多源数据查询方法,还包括:
S150:通过权限控制单元将数据源的访问控制权限封装成细粒度访问控制,为用户分配用户访问控制权限,细粒度访问控制包括:设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件;
S160:通过权限控制单元接收用户侧发送的查询语句,根据该用户的用户访问控制权限和查询语句对应的数据源的元信息确定每个数据源的查询深度,将每个数据源的查询深度发送给协调器;查询深度包括:能够查询的数据源、能够查询的数据库、能够查询的数据表、能够查询的数据列和能够查询的数据行;
接收的用户侧发送的查询语句,解析查询语句,先依次执行S150、S160,接下来再执行S101。
S101中,将解析后的查询要素形成以数据源为单位的查询子语句,具体包括:
将解析后的查询要素形成以数据源为单位的查询子语句,为每个查询子语句携带相应数据源的查询深度。
基于用户级别为用户设置访问控制权限,通过设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件的五级细粒度,管控用户数据查询权限管理,为不同级别的用户返回不同级别的数据,解决了数据安全查询的问题。
为用户分配访问控制权限的流程如图7所示,访问控制权限更新的流程如图8所示;访问控制权限删除的流程如图9所示;访问控制权限查询的流程如图10所示。查询时根据用户侧发送查询语句(SQL语句),结合数据源信息,与用户访问控制权限对比,判断用户是否有相关数据的权限,用户查询数据的流程如图11所示。在图7、图8、图9、图10和图11中,Divs HttpServer表示多源查询***中的httpserver;UserAccessServlet表示处理用户的访问控制权限的组件;UserService表示用户服务实现类。
数据源是一般为数据库服务实例,实例当中包含多个数据库;每个数据库包含多张表,一张表包括多个列,通过列表示字段,与字段相匹配的内容是行记录。实现访问控制权限的组件如下:通过UserAccessControl组件实现查询资源,粒度数据源、数据库、数据表、数据列、数据行各自过滤条件的设置;通过Column组件实现数据列信息类;通过ColumnFilter组件实现数据列过滤条件信息类;通过ColumnFilterGroup组件实现数据列组过滤条件信息类;通过ColumnOperator组件实现数据列操作信息类;通过TableCondition组件实现表条件信息类;通过Query组件实现SQL查询信息类;通过UserAccessControlServlet组件实现用户权限请求处理器;通过UserService组件实现用户服务接口。
优选地,图12为多源数据查询***的启动流程图,多源数据查询***启动时会加载配置文件,检查配置项,配置项信息包括底层引擎类信息和***本身实现的控制信息,配置项用于程序控制;配置项检查未通过则结束,配置项检查通过后,加载组件,启动Web服务器,从而提供http服务。
本发明实施例的多源数据查询***的逻辑框图如图4所示,包括用户端(属于用户侧)和管理端,控制层包括用户管理接口、权限分配接口、查询管理接口、元数据管理接口和审计日志结合;服务层包括用户服务、权限分配服务、查询服务、权限控制、元数据服务、审计日志服务。引擎层包括协调器,协调器(coordinator)只有一个,协调器所在服务器节点是集群中的管理节点(也称为主工作节点),通过协调器内的查询分析器与解析器接收客户侧例如客户端发送的SQL语句并进行解析,采用优化器根据元数据对解析的SQL语句进行优化形成查询子语句,元数据由元数据api负责管理,还负责分工作节点管理,通过分工作节点将查询子语句的下发任务进行分发。
协调器负责元数据管理,对元数据的管理包括对集群元信息的管理和对数据源元信息的管理,其中,集群元信息包括:集群信息、工作节点信息和监控信息;数据源元信息包括数据源信息、schema信息和数据表信息;其中,schema即XML Schema或者XSD (XMLSchema Definition),schema信息指出如何形式描述XML文档的元素。管理元数据的作用如下:1、为了更好管理***,可以让运维人员和用户更清楚的了解集群节点信息和查询时的数据源内的数据库、数据表和数据列的信息;2、通过集群元数据可以让用户了解了集群有哪些具体节点和节点状态;3、数据源元数据可以用户在进行SQL查询时,看到***有哪些数据源、数据表、数据列以及数据类型等信息,方便用户操作。其中,集群元数据查询流程如图13所示,在多源查询***中的httpserver提出集群元数据查询请求,并将查询请求转发到处理集群信息的组件(组件的英文名称为ClusterServlet),处理集群信息的组件进行参数读取与校验,如果校验成功,则调用集群状态信息服务接口(组件的英文名称为ClusterService),通过集群状态信息服务接口获取集群元数据信息中对应的对象;处理集群信息的组件将集群元数据信息对应的对象以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将集群元数据信息对应的对象以Json格式返回。
集群节点元数据信息查询流程图如图14所示,在多源查询***中的httpserver提出集群节点数据查询请求,并将查询请求转发到处理集群信息的组件,处理集群信息的组件进行参数读取与校验,如果校验成功,则调用集群状态信息服务接口,通过集群状态信息服务接口获取集群节点数据信息中对应的对象;处理集群信息的组件将集群节点数据信息对应的对象以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将集群节点数据信息对应的对象以Json格式返回。
集群节点监控信息查询流程如图15所示,在多源查询***中的httpserver提出集群节点监控数据查询请求,并将查询请求转发到处理集群信息的组件,处理集群信息的组件进行参数读取与校验,如果校验成功,则调用集群状态信息服务接口,通过集群状态信息服务接口获取集群节点监控数据信息中对应的对象;处理集群信息的组件将集群节点监控数据信息对应的对象以Json格式返回到多源查询***中的httpserver,多源查询***中的httpserver也将集群节点监控数据信息对应的对象以Json格式返回。
对于数据源的元数据查询交互分为三层:1、前端界面:用户登录***,进入数据查询页面,页面加载触发向后端的查询请求,读取结果并在前端展示;2、后端服务:后端处理器接收到前端请求后,进行用户有效性和权限的判断,判断通过后,向底层引擎presto发送查询对应的SQL,读取并组织结果,返回数据;3、底层引擎:底层引擎presto收到SQL查询请求后,进行SQL解析、优化以及任务执行,并将结果返回。
本发明实施例的多源数据查询***还包括可视化管理单元,可视化主要指用户操作界面的可视化,用于提升用户操作体验,用户操作界面的可视化主要包括指SQL编辑器、查询结果、集群状态监控、问控制权限管理、用户管理、审计日志查看等。通过vue作为实现前端可视化的框架。前端通过接口与后端服务进行通信,其中,接口的类型如表2所示。在处于前端的用户侧向通过SQL编辑器发出SQL语句后,通过后端服务向底层引擎提交查询语句。采用可视化的管理、查询和监控界面,方便用户管理与查询操作。
用户管理前端的展示图如图16和图17所示,能够对用户进行管理;访问控制权限分配的展示和操作如图18和图19所示,能够对用户的访问控制权限进行分配;集群监控图如图20所示,用于展示本多源数据查询***的集群状态;数据查询如图21,用户输入查询语句以查询数据;数据查询结果如图22所示,展示用户数据查询的结果。
表2 接口的类型
本发明实施例所取得的有益技术效果如下:
1、本发明实施例的多源数据查询***主要用于大数据技术领域、跨数据源、海量数据和满足数据安全场景下的联邦数据查询。针对多源数据查询,为每个数据源匹配一个连接器,适配了国产申威的CPU架构,满足了特定信创要求。同时适配了不同的数据存储形式,尤其适配了多家国产的数据库管理***,扩展了可用数据源的应用范围,为用户提供更宽广的数据范围。同时查询多个数据源,提高查询效率。
2、底层引擎设置连接器的生成规范,则能够根据连接器的生成规范进行接口的实现,生成自定义的连接器,用于匹配新增的不同形似的数据源形式;从而能够查询实现查询不同的数据源。生成规范还包括:如何分区查询、如何增加访问控制权限。只要基于连接器的生成规范,就可以生成与数据源(任何形式)匹配的连接器,从而就能够读取任何形式的数据源。
3、根据变更的事件类型进行新增连接器、修改连接器和删除连接器,即为新增数据源、修改数据源和删除数据源,实际上提供了数据源动态加载的功能,扩大了数据来源范围。 并且还能够在不中断数据查询服务的情况下进行,保证了当前查询用户的时效性。
4、将对应于同一数据源的查询要素合并形成查询子语句,实现查询工作的下推,相对于分布式查询步骤更简单,查询速度快,更高效。
5、基于用户级别为用户设置访问控制权限,通过设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件的五级细粒度,管控用户数据查询权限管理,为不同级别的用户返回不同级别的数据,解决了数据安全查询的问题。
6、用户操作界面的可视化主要包括用户操作界面、查询结果、集群状态监控、问控制权限管理、用户管理 、审计日志查看,实现全面的操作审计日志,以及集群状态的实时监控。通过用户操作界面的可视化,能够提升用户操作体验。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个***的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种多源数据查询***,其特征在于,包括:
协调器,用于将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过所述分工作节点将各所述查询子语句分别形成下发任务,将所述下发任务进行下发;
连接器,用于匹配于数据源,接收发送给本连接器匹配的数据源的所述下发任务,并将所述下发任务发送给匹配的数据源;
所述协调器,还用于接收匹配的数据源响应所述下发任务进行查询得到的数据,将所述数据返回给用户侧。
2.根据权利要求1所述的多源数据查询***,其特征在于,所述协调器设于引擎层内;所述引擎层还包括规范设置单元和配置文件生成单元,其中:
所述规范设置单元,用于设置连接器的生成规范,所述生成规范包括获取数据源的元数据接口的规范、获取数据源接口的规范和数据源数据读取接口的规范;
所述配置文件生成单元,用于基于数据源的驱动包和所述生成规范,为与所述数据源匹配的连接器形成配置文件;将所述配置文件保存在所述协调器所在的主工作节点的数据源配置目录;其中,所述配置文件包括:连接器名称、数据源名称和数据源地址。
3.根据权利要求2所述的多源数据查询***,其特征在于,还包括动态数据源存储器和连接器管理器,其中:
所述动态数据源存储器,用于实时监听所述数据源配置目录是否具有变更的事件类型;
当监听到的所述事件类型为配置文件增加时,读取所增加的配置文件,根据所增加的配置文件和所述生成规范创建第一运行文件;
当监听到的所述事件类型为配置文件删除时,将与所删除的配置文件相关联的第二运行文件删除;
当监听到的所述事件类型为配置文件修改时,首先将与修改前的配置文件相关联的原第三运行文件删除,然后根据修改后的配置文件和所述生成规范创建第三运行文件;
所述连接器管理器,用于在连接器管理器内生成与所述第一运行文件匹配的第一连接器对象,所述第一连接器对象用于加载所述第一运行文件实现第一连接器的运行;将新增的所述第一连接器的信息同步广播至所有工作节点;其中,所有工作节点包括主工作节点和分工作节点;
将与所删除的配置文件相关联的第二连接器对象删除,实现对与所删除的配置文件相关联的第二连接器的删除;将所删除所述第二连接器的信息同步广播至所有工作节点;
将与修改前的配置文件相关联的原第三连接器对象删除;生成与所述第三运行文件匹配的当前第三连接器对象,当前第三连接器对象用于加载所述第三运行文件实现第三连接器的运行;将当前第三连接器的信息同步广播至所有工作节点。
4.根据权利要求3所述的多源数据查询***,其特征在于,所述连接器,还用于:
在所述多源数据查询***启动时,通过连接器对象加载匹配的运行文件,通过所述运行文件读取匹配的配置文件,实现本连接器的运行;
在生成与所述第一运行文件匹配的第一连接器对象之后,通过所述第一连接器对象加载所述第一运行文件,所述第一运行文件加载所增加的配置文件,第一连接器进入运行状态;
在将与所删除的配置文件相关联的第二连接器的删除之后,所述第二连接器对象停止工作,第二连接器停止工作;
在生成与所述第三运行文件匹配的当前第三连接器对象之后,通过当前第三连接器对象加载所述第三运行文件,当前第三连接器进入运行状态。
5.根据权利要求1所述的多源数据查询***,其特征在于,所述协调器,具体用于:
将接收的用户侧发送的查询语句的查询要素进行解析,解析成查询要素;
根据各数据源的元信息确定所述查询要素对应的数据源;
将对应于同一数据源的所述查询要素合并形成查询子语句。
6.根据权利要求1所述的多源数据查询***,其特征在于,还包括权限控制单元,其中:
权限控制单元,用于将数据源的访问控制权限封装成细粒度访问控制,为用户分配用户访问控制权限,所述细粒度访问控制包括:设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件;
以及,接收用户侧发送的查询语句,根据该用户的用户访问控制权限和查询语句对应的数据源的元信息确定每个数据源的查询深度,将每个数据源的所述查询深度发送给所述协调器;所述查询深度包括:能够查询的数据源、能够查询的数据库、能够查询的数据表、能够查询的数据列和能够查询的数据行;
所述协调器,具体用于将解析后的所述查询要素形成以数据源为单位的查询子语句内,携带相应数据源的查询深度。
7.一种多源数据查询方法,其特征在于,包括:
通过协调器将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,并将每个查询子语句分配到本协调器内对应的分工作节点,通过所述分工作节点将各所述查询子语句分别形成下发任务,将所述下发任务进行下发;
将连接器匹配于数据源,通过所述连接器接收发送给本连接器匹配的数据源的所述下发任务,并将所述下发任务发送给匹配的数据源;
通过所述协调器接收匹配的数据源响应所述下发任务进行查询得到的数据,将所述数据返回给用户侧。
8.根据权利要求7所述的多源数据查询方法,其特征在于,还包括:
通过设于引擎层的规范设置单元设置连接器的生成规范,所述生成规范包括获取数据源的元数据接口的规范、获取数据源接口的规范和数据源数据读取接口的规范;
通过设于引擎层的配置文件生成单元基于数据源的驱动包和所述生成规范,为与所述数据源匹配的连接器形成配置文件;将所述配置文件保存在所述协调器所在的主工作节点的数据源配置目录;其中,所述配置文件包括:连接器名称、数据源名称和数据源地址。
9.根据权利要求8所述的多源数据查询方法,其特征在于,还包括:
通过动态数据源存储器实时监听所述数据源配置目录是否具有变更的事件类型;
当监听到的所述事件类型为配置文件增加时,读取所增加的配置文件,根据所增加的配置文件和所述生成规范创建第一运行文件,并在连接器管理器内生成与所述第一运行文件匹配的第一连接器对象,所述第一连接器对象用于加载所述第一运行文件实现第一连接器的运行;将新增的所述第一连接器的信息同步广播至所有工作节点;其中,所有工作节点包括主工作节点和分工作节点;
当监听到的所述事件类型为配置文件删除时,通过将所述连接器管理器内与所删除的配置文件相关联的第二连接器对象删除实现对与所删除的配置文件相关联的第二连接器的删除;将所删除所述第二连接器的信息同步广播至所有工作节点;
当监听到的所述事件类型为配置文件修改时,首先将所述连接器管理器内与修改前的配置文件相关联的原第三连接器对象删除,然后根据修改后的配置文件和所述生成规范创建第三运行文件,并在所述连接器管理器内生成与所述第三运行文件匹配的当前第三连接器对象,当前第三连接器对象用于加载所述第三运行文件实现第三连接器的运行;将当前第三连接器的信息同步广播至所有工作节点。
10.根据权利要求9所述的多源数据查询方法,其特征在于,还包括:
在实现所述多源数据查询方法的多源数据查询***启动时,通过连接器对象加载匹配的运行文件,通过所述运行文件读取匹配的配置文件实现本连接器的运行;
在生成与所述第一运行文件匹配的第一连接器对象之后,通过所述第一连接器对象加载所述第一运行文件,所述第一运行文件加载所增加的配置文件,第一连接器进入运行状态;
在将与所删除的配置文件相关联的第二连接器的删除之后,所述第二连接器对象停止工作,第二连接器停止工作;
在生成与所述第三运行文件匹配的当前第三连接器对象之后,通过当前第三连接器对象加载所述第三运行文件,当前第三连接器进入运行状态。
11.根据权利要求7所述的多源数据查询方法,其特征在于,所述通过协调器将所接收的用户侧发送的查询语句的查询要素进行解析,将解析后的查询要素形成以数据源为单位的查询子语句,具体包括:
通过协调器将接收的用户侧发送的查询语句的查询要素进行解析,解析成查询要素;
根据各数据源的元信息确定所述查询要素对应的数据源;
将对应于同一数据源的所述查询要素合并形成查询子语句。
12.根据权利要求7所述的多源数据查询方法,其特征在于,还包括:
通过权限控制单元将数据源的访问控制权限封装成细粒度访问控制,为用户分配用户访问控制权限,所述细粒度访问控制包括:设置数据源过滤条件、设置数据库过滤条件、设置数据表过滤条件、设置数据列过滤条件和设置数据行过滤条件;
通过所述权限控制单元接收用户侧发送的查询语句,根据该用户的用户访问控制权限和查询语句对应的数据源的元信息确定每个数据源的查询深度,将每个数据源的所述查询深度发送给所述协调器;所述查询深度包括:能够查询的数据源、能够查询的数据库、能够查询的数据表、能够查询的数据列和能够查询的数据行;
所述将解析后的查询要素形成以数据源为单位的查询子语句,具体包括:
将解析后的查询要素形成以数据源为单位的查询子语句,为每个查询子语句携带相应数据源的查询深度。
CN202311778879.8A 2023-12-22 2023-12-22 一种多源数据查询***及多源数据查询方法 Pending CN117453731A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311778879.8A CN117453731A (zh) 2023-12-22 2023-12-22 一种多源数据查询***及多源数据查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311778879.8A CN117453731A (zh) 2023-12-22 2023-12-22 一种多源数据查询***及多源数据查询方法

Publications (1)

Publication Number Publication Date
CN117453731A true CN117453731A (zh) 2024-01-26

Family

ID=89585901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311778879.8A Pending CN117453731A (zh) 2023-12-22 2023-12-22 一种多源数据查询***及多源数据查询方法

Country Status (1)

Country Link
CN (1) CN117453731A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180018367A1 (en) * 2016-07-15 2018-01-18 International Business Machines Corporation Remote query optimization in multi data sources
CN110032575A (zh) * 2019-04-15 2019-07-19 网易(杭州)网络有限公司 数据查询方法、装置、设备和存储介质
CN111078961A (zh) * 2019-12-24 2020-04-28 用友网络科技股份有限公司 多数据源查询驱动***、方法、装置和存储介质
CN113688151A (zh) * 2021-08-25 2021-11-23 中国工商银行股份有限公司 基于虚拟数据库的数据访问方法、装置、***、设备和介质
CN114064684A (zh) * 2021-10-13 2022-02-18 中国电子科技集团公司第十五研究所 一种异构数据源的统一访问方法
CN114756577A (zh) * 2022-03-25 2022-07-15 北京友友天宇***技术有限公司 多源异构数据的处理方法、计算机设备及存储介质
CN117216109A (zh) * 2023-09-13 2023-12-12 中国联合网络通信集团有限公司 一种多类型混合数据的数据查询方法、装置及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180018367A1 (en) * 2016-07-15 2018-01-18 International Business Machines Corporation Remote query optimization in multi data sources
CN110032575A (zh) * 2019-04-15 2019-07-19 网易(杭州)网络有限公司 数据查询方法、装置、设备和存储介质
CN111078961A (zh) * 2019-12-24 2020-04-28 用友网络科技股份有限公司 多数据源查询驱动***、方法、装置和存储介质
CN113688151A (zh) * 2021-08-25 2021-11-23 中国工商银行股份有限公司 基于虚拟数据库的数据访问方法、装置、***、设备和介质
CN114064684A (zh) * 2021-10-13 2022-02-18 中国电子科技集团公司第十五研究所 一种异构数据源的统一访问方法
CN114756577A (zh) * 2022-03-25 2022-07-15 北京友友天宇***技术有限公司 多源异构数据的处理方法、计算机设备及存储介质
CN117216109A (zh) * 2023-09-13 2023-12-12 中国联合网络通信集团有限公司 一种多类型混合数据的数据查询方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US8065323B2 (en) Offline validation of data in a database system for foreign key constraints
US7275105B2 (en) Enabling online and offline operation
US8898147B2 (en) Method and system for a transparent application of multiple queries across multiple data sources
US6772137B1 (en) Centralized maintenance and management of objects in a reporting system
US20100332510A1 (en) System and method for semantic exposure of data stored in a dynamic schema
US10275347B2 (en) System, method and computer program product for managing caches
CN106294695A (zh) 一种面向实时大数据搜索引擎的实现方法
US20220083618A1 (en) Method And System For Scalable Search Using MicroService And Cloud Based Search With Records Indexes
CN111026727A (zh) 基于日志文件的表维度检索数据同步方法、***及装置
US20150205834A1 (en) PROVIDING FILE METADATA QUERIES FOR FILE SYSTEMS USING RESTful APIs
US20110055194A1 (en) System and Method for Asynchronous Crawling of Enterprise Applications
US11176044B2 (en) Systems and methods for implementing overlapping data caching for object application program interfaces
CN111859132A (zh) 一种数据处理方法、装置及智能设备、存储介质
CN112434059A (zh) 数据处理方法、装置、计算机设备和存储介质
CN112434015B (zh) 数据存储的方法、装置、电子设备及介质
CN114356921A (zh) 数据处理方法、装置、服务器及存储介质
CN111680041A (zh) 面向异构数据的安全高效存取方法
CN111930768A (zh) 增量数据获取方法、发送方法、装置及其计算机存储介质
US20110302220A1 (en) Sql processing for data conversion
US11693859B2 (en) Systems and methods for data retrieval from a database indexed by an external search engine
WO2020192663A1 (zh) 一种数据管理方法及相关设备
US7424493B2 (en) Replication-based propagation mechanism for pipelines
CN111104408A (zh) 基于地图数据的数据交换方法、装置及存储介质
CN117453731A (zh) 一种多源数据查询***及多源数据查询方法
US11556316B2 (en) Distributed extensible dynamic graph

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination