CN113761079A - 数据访问方法、系统和存储介质 - Google Patents
数据访问方法、系统和存储介质 Download PDFInfo
- Publication number
- CN113761079A CN113761079A CN202110081569.5A CN202110081569A CN113761079A CN 113761079 A CN113761079 A CN 113761079A CN 202110081569 A CN202110081569 A CN 202110081569A CN 113761079 A CN113761079 A CN 113761079A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- subtask
- execution result
- engine
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出一种数据访问方法、系统和存储介质,涉及数据库技术领域。本公开的一种数据访问系统,包括:数据平台,被配置为接收数据请求并发送至数据引擎;接收数据引擎反馈的请求执行结果;数据引擎,被配置为拆分数据请求,获取多个请求子任务,并将请求子任务发送给各个数据探针;汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给数据平台;和多个数据探针,被配置为获取请求子任务;调用对应的数据节点执行请求子任务,生成子任务执行结果并反馈给数据引擎。这样的数据访问系统能够实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。
Description
技术领域
本公开涉及数据库技术领域,特别是一种数据访问方法、系统和存储介质。
背景技术
在现代企业中,存在多个信息化系统,系统中的业务数据信息存储在数据库中,其中,关系型数据库是最常见的数据库。关系型数据库的类型多种多样,彼此之间存在一些差异。如图1所示,ETL数据仓库能够实现不同数据库的数据共享,达到支持数据仓储服务100的目的,其运行过程包括:
(1)抽取(extract):按照数据节点(市131~134、省111~112、顶层101)逐级向上抽取,并存储;除顶层数据节点以外,其他所有数据节点都需要支持增量抽取;
(2)转换(transform):将从叶子节点(131~134)抽取的数据,转换映射成当前数据节点定义的数据结构;
(3)加载(load):将第(2)步中转换好的数据写入当前数据节点的数据库中。
发明内容
本公开的一个目的在于提出一种数据访问架构,提高多数据节点的情况下数据访问的效率。
根据本公开的一些实施例的一个方面,提出一种数据访问系统,包括:数据平台,被配置为接收数据请求并发送至数据引擎;接收数据引擎反馈的请求执行结果;数据引擎,被配置为拆分数据请求,获取多个请求子任务,并将请求子任务发送给各个数据探针;汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给数据平台;和多个数据探针,被配置为获取请求子任务;调用对应的数据节点执行请求子任务,生成子任务执行结果,并将子任务执行结果反馈给数据引擎。
在一些实施例中,数据探针为分布式部署,每个数据库的内网环境对应一个数据探针。
在一些实施例中,数据平台或数据引擎中的至少一项为分布式集群部署。
在一些实施例中,数据探针被配置为:接收来自数据节点的反馈数据;根据反馈数据,基于数据平台的数据模型生成子任务执行结果。
在一些实施例中,数据引擎被配置为:将请求子任务的消息队列发布至子任务主题;数据探针被配置为:基于预设消息过滤规则,从子任务主题中过滤消息队列,获取属于自身的请求子任务。
在一些实施例中,数据探针还被配置为将子任务执行结果发布至结果主题;数据引擎还被配置为:根据结果主题的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果;根据获取的子任务执行结果,聚合成符合数据平台的数据模型的请求执行结果。
在一些实施例中,数据平台还被配置为执行以下至少一项:建立标准模型,并下发给数据引擎;生成各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则,并下发给对应的数据探针;接收来自外部应用的数据请求;在收到来自数据引擎的请求执行结果后,将请求执行结果反馈给外部应用;或在收到数据请求后,执行数据请求校验,在校验通过的情况下,将数据请求发送至数据引擎。
在一些实施例中,数据平台、数据引擎或数据探针中的至少一项为采用虚拟化方式部署。
这样的数据访问系统中,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。
根据本公开的一些实施例的一个方面,提出一种数据访问方法,包括:数据平台将数据请求发送至数据引擎;数据引擎拆分数据请求,获取多个请求子任务,并将请求子任务发送给各个数据探针;数据探针获取请求子任务,调用对应的数据节点执行请求子任务,生成子任务执行结果,并将子任务执行结果反馈给数据引擎;数据引擎汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给数据平台。
在一些实施例中,生成子任务执行结果包括:接收来自数据节点的反馈数据;根据反馈数据,基于数据平台的数据模型生成子任务执行结果。
在一些实施例中,将请求子任务发送给各个数据探针包括:数据引擎将请求子任务的消息队列发布至子任务主题;数据探针获取请求子任务包括:数据探针基于预设消息过滤规则,从子任务主题中过滤消息队列,获取属于自身的请求子任务。
在一些实施例中,将子任务执行结果反馈给数据引擎包括:数据探针将子任务执行结果发布至结果主题;数据引擎汇总来自各个数据探针的子任务执行结果,生成请求执行结果包括:数据引擎根据结果主题的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果;根据获取的子任务执行结果,聚合成符合数据平台的数据模型的请求执行结果。
在一些实施例中,还包括以下至少一项:数据平台建立标准模型并下发给数据引擎;数据平台生成各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则,并下发给对应的数据探针;数据平台接收来自外部应用的数据请求;在收到来自数据引擎的请求执行结果后,将请求执行结果反馈给外部应用;数据平台在收到数据请求后,执行数据请求校验,在校验通过的情况下,将数据请求发送至数据引擎。
通过这样的方法,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。
根据本公开的一些实施例的一个方面,提出一种数据访问系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种数据访问方法。
这样的数据访问系统中,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。
根据本公开的一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种数据访问方法的步骤。
通过执行这样的存储介质上的指令,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1为相关技术中数据库层级部署的示意图。
图2为本公开的数据访问系统的一些实施例的示意图。
图3为本公开的数据访问系统的另一些实施例的示意图。
图4A~4C为本公开的数据访问系统的一些实施例的运行示意图。
图5为本公开的数据访问系统的又一些实施例的示意图。
图6为本公开的数据访问系统的再一些实施例的示意图。
图7为本公开的数据访问方法的一些实施例的流程图。
图8为本公开的数据访问方法的另一些实施例的流程图。
具体实施方式
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
发明人发现,相关技术中的数据共享方式中,除顶层数据节点以外,其他所有数据节点都需要支持增量抽取数据,对数据库有一定的侵入性。除了叶子数据节点以外,其他所有节点都需要建立独立的数据仓库,存储下级数据节点的所有数据,需要占用大量的存储资源,全量传输数据也会增加网络带宽的占用。且数据节点层级越多,数据冗余存储就越多,随着数据量的增大,存储成本会越来越大,会导致数据库和应用性能变差。
另外,当叶子数据节点的数据结构发生变化时,叶子数据节点和它上级所有数据结构都需要进行修改;且数据抽取,转换和加载时异步操作,有一定的延迟,多层级会更明显,实时性较差。此外,如果数据抽取,转换和加载,任意一个环节出现异常,会导致顶层数据仓库服务的数据不完整或不正确,比如数据节点宕机,该数据节点的叶子数据节点无法向上级节点同步数据。
本公开的数据访问系统的一些实施例的示意图如图2所示。
数据平台21能够接收数据请求并发送至数据引擎,并接收数据引擎反馈的请求执行结果。在一些实施例中,数据平台21可以集中部署,并开放用户访问接口、外部应用调用接口,供用户发起请求以及接受外部应用的调用。
在一些实施例中,数据平台21可以为单独的服务器,也可以采用虚拟方式部署以降低物理资源需求,降低部署成本。
在一些实施例中,数据平台21可以为分布式集群方式部署,从而提高服务能力和系统的鲁棒性。在一些实施例中,数据请求可以包括数据查询(调用)请求,数据统计请求等。
数据引擎22能够拆分数据请求,获取多个请求子任务,并将请求子任务发送给各个数据探针;汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给数据平台。
在一些实施例中,数据引擎22中存储有数据库调用语句规则,能够通过语句分析拆分任务,从而获得多个请求子任务。在一些实施例中,可以根据查询的目标数据节点拆分数据请求,或者根据查询的目标数据节点对应的数据探针拆分请求,使同一个请求子任务只针对于同一个数据节点,或只针对于同一个数据探针能够访问的数据节点,从而保证数据探针能够顺利、完整的执行获得的请求子任务。
在一些实施例中,数据引擎22可以为单独的服务器,也可以采用虚拟方式部署以降低物理资源需求,降低部署成本。
在一些实施例中,数据引擎22可以为分布式集群方式部署,从而提高服务能力和系统的鲁棒性。
数据探针231~23n(n为大于1的正整数)能够获取请求子任务,并调用对应的数据节点执行请求子任务,生成子任务执行结果,并将子任务执行结果反馈给数据引擎。在一些实施例中,数据探针为分布式部署,例如可以根据数据节点部署的位置就近部署,提高对于数据节点的访问效率。
在一些实施例中,每个数据探针可以预设消息过滤规则,数据引擎22可以将所有请求子任务提供给每个数据探针,数据探针根据自身的消息过滤规则过滤请求子任务,得到需要自身执行的请求子任务。
在一些实施例中,数据探针231~23n可以为单独的服务器,也可以采用虚拟方式部署以降低物理资源需求,降低部署成本。
在一些实施例中,可以使每个数据库的内网环境对应一个数据探针,从而突破内网环境的访问限制,扩大数据调用范围。
这样的数据访问系统中,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。另外,这样的数据访问系统中,数据节点之间无需交互,不会相互影响,当某个中间数据节点出现异常或故障时,叶子数据节点也能反馈数据,最大程度保证任务执行的可靠性和反馈数据的完整性。
在一些实施例中,由于各个数据节点的数据结构、数据的完备性各不相同,数据平台可以根据需要生成标准模型,数据探针根据数据节点反馈的数据生成符合标准模型的尽可能丰富的子任务执行结果。例如,对于同一条信息,标准模型下有100个参数,数据节点A具有50个参数,其中46个包括在标准模型中;数据节点B具备80个参数,其中70个包括在标准模型中,则查询数据节点A的数据探针反馈符合标准模型的具备46个参数的子任务执行结果,查询数据节点B的数据探针反馈符合标准模型的具备70个参数的子任务执行结果,从而保证在数据结构不相同、数据不全面的情况下服务顺利执行,提高成功率,降低对数据节点相似度、完备度的要求。
本公开的数据访问系统的另一些实施例的示意图如图3所示。
数据平台集群31包括多个数据平台311~31p,p为大于1的正整数。数据平台集群31中各个数据平台呈分布式逻辑运行。在一些实施例中,数据平台集群31具备业务标准模型管理、虚拟网络探针拓扑管理和监控、数据库实例管理和监控、虚拟数据服务管理和查询管理的功能。
在一些实施例中,管理员可以通过数据平台集群31新建标准模型,并针对每个数据探针建立标准模型和数据节点数据结构的映射关系,以便数据探针在标准模型和数据节点的调用规则之间执行数据转换;建立数据服务,建立针对与该数据服务的数据请求标准模型,并发布数据服务以便被调用,从而提高系统的可扩展性。
在一些实施例中,数据平台集群31可以将各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则(数据结构),下发给对应的数据探针。
数据引擎集群32包括多个数据引擎321~32p,q为大于1的正整数。数据引擎集群32中各个数据平台呈分布式逻辑运行。在一些实施例中,数据引擎集群32具备解析数据库语句(如V-SQL),拆解数据请求、分发子查询任务,以及聚合子查询结果的功能。
数据探针331~33n,n为大于1的正整数。在一些实施例中,每个数据探针可以具备数据节点的内外网代理引擎、子查询执行引擎,以及数据库实例信息采集探针。在一些实施例中,数据探针331~33n能够接受来自数据平台集群31的配置信息,作为后续执行请求子任务和反馈子任务执行结果的基础。
在一些实施例中,数据探针331~33n访问的数据节点间可以不具备连接,从而扩展数据调用范围。在一些实施例中,数据探针331~33n访问的数据节点间可以具备层级关系,如图1所示,从而无需数据节点间的互相调用,避免对于中间数据节点的侵入和影响,也避免由于某个中间数据节点的性能导致任务失败,提高任务执行的可靠性和反馈数据的完整性。
这样的数据访问系统能够支持基于数据平台的标准模型配置,提高用户友好度和可扩展性;通过集群部署提高系统的承载能力和并行处理能力。当叶子节点数据结构发生变化,不需要通知其他数据节点,其他数据节点也不需要做任何修改,不影响数据仓库服务的使用;无需数据同步操作,不会因为同步影响数据查询的实时性,保证数据请求的可靠性和效率。
在一些实施例中,可以利用zooKeeper实现数据平台、数据引擎以及数据探针的分布式协调。zooKeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等,从而降低了数据访问系统的实现难度,提高实现效率。
在一些实施例中,各个数据引擎可以基于MQ(Message Queue,消息队列)规则进行任务发布,如基于MQ的Topic模式(称为“主题模式”,又名“发布订阅者模式”),将请求子任务的消息队列发布至子任务Topic。各个数据探针可以基于MQ规则进行任务筛选,如基于预设消息过滤规则,从子任务Topic中过滤消息队列,获取属于自身的请求子任务。
这样的系统能够利用消息队列实现异步任务处理,系统解耦,在降低了服务压力的同时,保证任务执行的可靠性。
在一些实施例中,各个数据引擎同样可以基于MQ规则进行执行结果收集。如根据结果Topic的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果;根据获取的子任务执行结果,聚合成符合数据平台的数据模型的请求执行结果。各个数据探针可以基于MQ规则进行任务执行结果反馈,如将子任务执行结果发布至结果Topic,以便各个数据引擎采集。
这样的系统能够利用消息队列实现异步数据反馈,系统解耦,在降低了服务压力的同时,保证反馈数据的可靠性。
本公开的数据访问系统中各个单元的一些实施例的示意图如图4A~4C所示。数据访问系统中包括数据平台41、数据引擎42和数据探针43。
数据平台41以及数据平台41与其他单元之间的信息连接如图4A所示:
数据平台41(如虚拟管理平台v-ms)主要包含配置管理411、服务引擎412和网络拓扑管理413。v-ms使用分布式集群部署,提升数据服务性能和可靠性。
配置管理411提供标准模型和映射关系的管理功能(例如新建,更新,下线和部署中的一种或多种)。通过zookeeper分布式部署,保证v-ms和多个v-agent(虚拟数据探针)之间的配置和协调性。配置管理411还能够将标准模型和映射关系下发到v-engine(虚拟数据引擎)。
服务引擎412能够提供数据服务管理功能,包括服务注册、服务监控、服务上线、服务下线,服务处理以及虚拟数据服务查询管理器(支持在页面上编写v-sql查询数据)等。服务引擎412能够接收外部应用的调用服务请求和响应;下发查询任务给v-engine,并接收v-engine的任务回传查询结果。
网络拓扑管理413能够提供数据节点网络拓扑管理,可视化,数据库节点健康情况和数据监控;接收所有v-agent的监控数据,并存储至关系型数据库,用于统计分析和可视化。
数据引擎42以及数据引擎42与其他单元之间的信息连接如图4B所示:
数据引擎(虚拟数据引擎v-engine)42呈集群分布式部署。在一些实施例中,可以根据数据服务的查询量和实际服务的性能指标,定义集群内合适的v-engine实例个数。
v-engine主要包含任务接收器421、解析器422和数据搜集器423。模块之间,模块和v-agent之间通过MQ通信。各个模块均为多线程方式处理,提升系统的吞吐量和利用率。
任务接收器421能够接收v-ms的查询任务,执行任务的业务校验,成功后发送任务MQ到子任务topic。
解析器422能够异步消费任务Topic中的子任务MQ,任务由V-SQL组成,参看V-SQL的语法规则,根据解析规则,将任务MQ解析成多个子任务,每个子任务对每个v-agent节点,将子任务MQ发送到子任务Topic,v-agent使用MQ的消息过滤器规则,消费属于自己的子任务MQ消息。
数据搜集器423能够消费结果topic上的MQ消息,并解析消息,其中,v-agent将子任务执行的结果发送到结果topic上。通过一个查询任务,会有被拆分为多个子任务,因为数据搜集器需要搜集多个子任务的返回结果。然后将多个结果聚合成符合通用标准模型的数据结构,返回给v-ms。
数据探针43以及数据探针43与其他单元之间的信息连接如图4C所示:
数据探针(虚拟数据探针v-agent)43主要功能包括企业内外网代理引擎、子查询执行引擎、数据库实例信息采集探针。数据探针43包含配置引擎431、任务引擎432和探针模块433。
v-agent和数据网络中的数据库个数一致,每个数据库的内网环境中需要部署一个v-agent。
配置引擎431能够通过监听模式,接收v-ms分发的标准模型和映射关系的配置信息。
任务引擎432包含三个重要的逻辑模块:任务配置解析器,任务处理器,数据封装器。
任务配置解析器主要用来解析v-SQL,v-SQL是子任务中的重要内容,v-SQL有一套详细的语法规则,用来支持查询的多样性。解析器支持v-SQL所有的语法规则,读取配置引擎的通用标准模型和映射关系,将v-SQL(中间使用的是通用模型的数据结构)解析映射成数据库节点的数据结构,并传递给任务处理器;
任务处理器能够接收任务配置解析器传入的数据库查询指令,访问内网中的数据节点数据,并将查询结果返回给数据封装器;
数据封装器能够接收任务处理器返回的数据,读取配置引擎的通用标准模型和映射关系,将数据节点的数据映射成通用标准模型的数据,并返回给v-engine。
由于企业一般有内外网,业务数据库一般部署在内网,探针433能够充当内外网代理,通过任务轮询的方式,定时检查数据库节点的健康状态和数据情况,并将结果反馈给v-ms。探针可以与v-ms交互,交互方式可以为异步MQ的方式,降低了v-ms服务器的压力,同时也保证数据的可靠性。
这样的数据访问系统通过独有的架构设计,分布式部署,大数据平台等技术组合,改变了传统数据库数据共享实现方式,大大的减少实现和维护人力和物理资源成本,提升业务数据库的安全性、数据服务的实时性。
在一些实施例中,数据访问系统可以为通过虚拟架构部署,例如采用zooKeeper调度实现,从而避免了物理设备配置的负担,也降低了维护成本。
本公开数据访问系统的一个实施例的结构示意图如图5所示。数据访问系统中的每个部分的实现主体中均包括存储器501和处理器502。其中:存储器501可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储下文中对应部分执行的数据访问方法的对应实施例中的指令。处理器502耦接至存储器501,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器502用于执行存储器中存储的指令,能够提高数据请求的实时性,提高请求效率。
在一个实施例中,还可以如图6所示,数据访问系统600的每个部分的实现主体中包括存储器601和处理器602。处理器602通过BUS总线603耦合至存储器601。该数据访问系统600还可以通过存储接口604连接至外部存储装置605以便调用外部数据,还可以通过网络接口606连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够提高数据请求的实时性,提高请求效率。
本公开的数据访问方法的一些实施例的流程图如图7所示。
在步骤701中,数据平台将数据请求发送至数据引擎。在一些实施例中,数据请求可以由用户在数据平台发起,或通过外部应用发送给数据平台。
在一些实施例中,数据平台在收到数据请求后,执行数据请求校验;在校验通过的情况下,将数据请求发送至数据引擎。校验可以包括对请求对应的业务种类分析,可以通过判断是否符合数据平台的至少一个业务的标准模板来实现。在一些实施例中,还可以进行权限校验,判断该请求对应的用户和应用是否具备请求对应数据的权限。
在步骤702中,数据引擎拆分数据请求,获取多个请求子任务,并将请求子任务发送给各个数据探针。在一些实施例中,可以根据查询的目标数据节点拆分数据请求,或者根据查询的目标数据节点对应的数据探针拆分请求,使同一个请求子任务只针对于同一个数据节点,或只针对于同一个数据探针能够访问的数据节点,从而保证数据探针能够顺利、完整的执行获得的请求子任务。
在步骤703中,数据探针获取请求子任务,调用对应的数据节点执行请求子任务,生成子任务执行结果,并将子任务执行结果反馈给数据引擎。在一些实施例中,每个数据探针可以预设消息过滤规则,数据引擎可以将所有请求子任务提供给每个数据探针,数据探针根据自身的消息过滤规则过滤请求子任务,得到需要自身执行的请求子任务。
在步骤704中,数据引擎汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给数据平台。在一些实施例中,请求执行结果需要符合数据平台的标准模型,以便于数据平台识别。在一些实施例中,数据平台可以将请求执行结果反馈给外部应用。
通过这样的方法,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。
在一些实施例中,数据探针在接收来自数据节点的反馈数据后,可以根据反馈数据,基于数据平台的数据模型生成子任务执行结果,从而克服各个数据节点的数据结构、语言规则等不一致的问题,确保数据平台能够得到统一标准的执行结果,提高了系统的适应性和应用范围。
在一些实施例中,数据引擎可以将拆分成的请求子任务的消息队列发布至子任务Topic;数据探针基于预设消息过滤规则,从子任务Topic中过滤消息队列,获取属于自身的请求子任务。通过这样的方法,能够实现数据引擎和数据探针间的异步通信,降低服务器负担,达到流量削峰的目的,提高运行性能。
在一些实施例中,数据探针在生成子任务执行结果后,可以将子任务执行结果发布至结果Topic;数据引擎汇总来自各个数据探针的子任务执行结果,生成请求执行结果,包括:数据引擎根据结果主题的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果;根据获取的子任务执行结果,聚合成符合数据平台的数据模型的请求执行结果。
在一些实施例中,数据平台可以建立标准模型并下发给数据引擎;数据平台还可以生成各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则,并下发给对应的数据探针;数据平台接收来自外部应用的数据请求。
通过这样的方法,数据平台能够支持用户进行执行标准模型配置,并同步至相关节点,能够及时更新数据节点规则和与数据探针的对应关系,提高用户友好度和可扩展性,进一步提高数据请求任务执行的可靠性;另外,由于多数据探针能够并行执行请求子任务,能够进一步提高人物执行效率。
本公开的数据访问方法的另一些实施例的流程图如图8所示。
在步骤801中,数据平台建立标准模型并下发给数据引擎。标准模型可以包括语法标准、数据结构标准,以及对于同一个含义采用的标示符标准等。标准模型也可以下发给数据探针,以便数据探针生成符合标准模型的子任务执行结果。例如,在多个数据节点中,对于“是”、“否”,分别采用“1、0”和“Y、N”表示,则设立统一标准,例如采用“1、0”表示。
在步骤802中,数据平台生成各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则,并下发给对应的数据探针。在一些实施例中,数据节点的规则可以包括该节点的语法规则、数据结构规则,以及对于每个标示符所对应的含义等。
在步骤803中,数据平台接收来自外部应用的数据请求,执行数据请求校验。在一些实施例中,校验可以包括对请求对应的业务种类分析,可以通过判断是否符合数据平台的至少一个业务的标准模板来实现。在一些实施例中,还可以进行权限校验,判断该请求对应的用户和应用是否具备请求对应数据的权限。
在步骤804中,判断是否校验通过。若校验通过,则执行步骤805,否则,可以终止当前请求的执行并反馈发生错误。
在步骤805中,数据平台将数据请求路由至数据引擎。
在步骤806中,数据引擎拆分数据请求,获取多个请求子任务,基于MQ的Topic模式,将请求子任务的消息队列发布至子任务Topic。
在步骤807中,数据探针基于预设消息过滤规则,从子任务主题中过滤消息队列,获取属于自身的请求子任务。
在步骤808中,数据探针调用对应的数据节点执行请求子任务,接收来自数据节点的反馈数据。
在步骤809中,数据探针根据反馈数据,基于数据平台的数据模型(即标准模型)生成子任务执行结果。在一些实施例中,数据探针可以基于当前数据节点的规则,以及数据平台的标准模型,对反馈数据进行结果规则转换,生成符合标准模型的子任务执行结果。
在步骤810中,基于MQ的Topic模式,数据探针将子任务执行结果发布至结果Topic。
在步骤811中,数据引擎根据结果Topic的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果。
在步骤812中,数据引擎将子任务执行结果聚合成符合数据平台的数据模型的请求执行结果。在一些实施例中,若数据请求为数据查询,则可以将子任务执行结果中的数据汇总,生成符合数据平台的标准模型的请求执行结果;在一些实施例中,若数据请求为数据统计,则基于每个子任务执行结果中的统计信息进而二次统计,生成符合数据平台的标准模型的请求执行结果。
在步骤813中,数据平台在收到来自数据引擎的请求执行结果后,将请求执行结果反馈给外部应用。
通过这样的方法,数据引擎能够拆分数据请求,与数据节点相关联的探针执行对应的请求子任务,从而实现数据节点的无入侵访问,也无需数据同步操作,提高了数据请求的实时性,提高请求效率。另外,这样的数据访问系统中,数据节点之间无需交互,不会相互影响,当某个中间数据节点出现异常或故障时,叶子数据节点也能反馈数据,最大程度保证任务执行的可靠性和反馈数据的完整性。当叶子节点数据结构发生变化,不需要通知其他数据节点,其他数据节点也不需要做任何修改,不影响数据仓库服务的使用;利用消息队列实现异步任务处理,系统解耦,在降低了服务压力的同时,保证任务执行的可靠性。
在一个实施例中,本公开还提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现数据访问方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。
Claims (15)
1.一种数据访问系统,包括:
数据平台,被配置为接收数据请求并发送至数据引擎;接收所述数据引擎反馈的请求执行结果;
数据引擎,被配置为拆分所述数据请求,获取多个请求子任务,并将所述请求子任务发送给各个数据探针;汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给所述数据平台;和
多个数据探针,被配置为获取所述请求子任务;调用对应的数据节点执行所述请求子任务,生成子任务执行结果,并将所述子任务执行结果反馈给所述数据引擎。
2.根据权利要求1所述的系统,其中,所述数据探针为分布式部署,所述每个数据库的内网环境对应一个所述数据探针。
3.根据权利要求1所述的系统,其中,所述数据平台或所述数据引擎中的至少一项为分布式集群部署。
4.根据权利要求1所述的系统,其中,所述数据探针被配置为:
接收来自所述数据节点的反馈数据;
根据所述反馈数据,基于数据平台的数据模型生成所述子任务执行结果。
5.根据权利要求1所述的系统,其中,
所述数据引擎被配置为:将所述请求子任务的消息队列发布至子任务主题;
所述数据探针被配置为:基于预设消息过滤规则,从所述子任务主题中过滤消息队列,获取属于自身的请求子任务。
6.根据权利要求5所述的系统,其中,
所述数据探针还被配置为将子任务执行结果发布至结果主题;
所述数据引擎还被配置为:
根据所述结果主题的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果;
根据获取的子任务执行结果,聚合成符合所述数据平台的数据模型的请求执行结果。
7.根据权利要求1~6任意一项所述的系统,其中,所述数据平台还被配置为执行以下至少一项:
建立标准模型,并下发给所述数据引擎;
生成各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则,并下发给与所述探针的对应关系;
接收来自外部应用的数据请求;在收到来自所述数据引擎的请求执行结果后,将所述请求执行结果反馈给所述外部应用;或
在收到所述数据请求后,执行数据请求校验;在校验通过的情况下,将所述数据请求发送至所述数据引擎。
8.根据权利要求1~6任意一项所述的系统,其中,所述数据平台、所述数据引擎或所述数据探针中的至少一项为采用虚拟化方式部署。
9.一种数据访问方法,包括:
数据平台将数据请求发送至数据引擎;
所述数据引擎拆分所述数据请求,获取多个请求子任务,并将所述请求子任务发送给各个数据探针;
数据探针获取所述请求子任务,调用对应的数据节点执行所述请求子任务,生成子任务执行结果,并将所述子任务执行结果反馈给所述数据引擎;
所述数据引擎汇总来自各个数据探针的子任务执行结果,生成请求执行结果,并反馈给所述数据平台。
10.根据权利要求9所述的方法,其中,所述生成子任务执行结果包括:
接收来自所述数据节点的反馈数据;
根据所述反馈数据,基于数据平台的数据模型生成所述子任务执行结果。
11.根据权利要求9所述的方法,其中,
所述将所述请求子任务发送给各个数据探针包括:所述数据引擎将所述请求子任务的消息队列发布至子任务主题;
所述数据探针获取所述请求子任务包括:所述数据探针基于预设消息过滤规则,从所述子任务主题中过滤消息队列,获取属于自身的请求子任务。
12.根据权利要求11所述的方法,其中,
所述将所述子任务执行结果反馈给所述数据引擎包括:所述数据探针将子任务执行结果发布至结果主题;
所述数据引擎汇总来自各个数据探针的子任务执行结果,生成请求执行结果,包括:
所述数据引擎根据所述结果主题的消息队列,获取属于同一个数据请求的请求子任务的子任务执行结果;
根据获取的子任务执行结果,聚合成符合所述数据平台的数据模型的请求执行结果。
13.根据权利要求9~12任意一项所述的方法,还包括以下至少一项:
所述数据平台建立标准模型并下发给所述数据引擎;
所述数据平台生成各个数据探针与数据节点的对应关系,以及各个对应的数据节点的规则,并下发给对应的数据探针;
所述数据平台接收来自外部应用的数据请求;在收到来自所述数据引擎的请求执行结果后,将所述请求执行结果反馈给外部应用;或
所述数据平台在收到所述数据请求后,执行数据请求校验;在校验通过的情况下,将所述数据请求发送至所述数据引擎。
14.一种数据访问系统,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求9至13任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求9至13任意一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081569.5A CN113761079A (zh) | 2021-01-21 | 2021-01-21 | 数据访问方法、系统和存储介质 |
PCT/CN2022/070540 WO2022156542A1 (zh) | 2021-01-21 | 2022-01-06 | 数据访问方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081569.5A CN113761079A (zh) | 2021-01-21 | 2021-01-21 | 数据访问方法、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761079A true CN113761079A (zh) | 2021-12-07 |
Family
ID=78786444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110081569.5A Pending CN113761079A (zh) | 2021-01-21 | 2021-01-21 | 数据访问方法、系统和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113761079A (zh) |
WO (1) | WO2022156542A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022156542A1 (zh) * | 2021-01-21 | 2022-07-28 | 北京沃东天骏信息技术有限公司 | 数据访问方法、系统和存储介质 |
CN117331926A (zh) * | 2023-12-01 | 2024-01-02 | 太平金融科技服务(上海)有限公司 | 一种数据稽核方法、装置、电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273540B (zh) * | 2017-07-05 | 2021-09-24 | 北京三快在线科技有限公司 | 分布式搜索及索引更新方法、系统、服务器及计算机设备 |
CN107766451A (zh) * | 2017-09-26 | 2018-03-06 | 广西电网有限责任公司电力科学研究院 | 一种面向电力大数据的跨数据库关联检索方法 |
CN109815254B (zh) * | 2018-12-28 | 2020-12-22 | 北京东方国信科技股份有限公司 | 基于大数据的跨地域任务调度方法及系统 |
CN110516142A (zh) * | 2019-08-29 | 2019-11-29 | 深圳前海微众银行股份有限公司 | 数据查询方法、装置、设备及介质 |
CN113761079A (zh) * | 2021-01-21 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据访问方法、系统和存储介质 |
-
2021
- 2021-01-21 CN CN202110081569.5A patent/CN113761079A/zh active Pending
-
2022
- 2022-01-06 WO PCT/CN2022/070540 patent/WO2022156542A1/zh active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022156542A1 (zh) * | 2021-01-21 | 2022-07-28 | 北京沃东天骏信息技术有限公司 | 数据访问方法、系统和存储介质 |
CN117331926A (zh) * | 2023-12-01 | 2024-01-02 | 太平金融科技服务(上海)有限公司 | 一种数据稽核方法、装置、电子设备和存储介质 |
CN117331926B (zh) * | 2023-12-01 | 2024-03-01 | 太平金融科技服务(上海)有限公司 | 一种数据稽核方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022156542A1 (zh) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107689953B (zh) | 一种面向多租户云计算的容器安全监控方法及系统 | |
CN111752965B (zh) | 一种基于微服务的实时数据库数据交互方法和系统 | |
CN103034735B (zh) | 一种大数据分布式文件导出方法 | |
CN102880503B (zh) | 数据分析系统及数据分析方法 | |
CN108920153B (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
CN109656963B (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
WO2007115477A1 (fr) | Procédé et système de synchronisation de données | |
CN112507029A (zh) | 数据处理系统及数据实时处理方法 | |
CN107133231B (zh) | 一种数据获取方法和装置 | |
CN113761079A (zh) | 数据访问方法、系统和存储介质 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN112818064A (zh) | 多系统数据同步方法、装置、设备及存储介质 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN111258760A (zh) | 一种平台管理方法、系统、装置及存储介质 | |
CN108833451B (zh) | 基于国产安全管控平台的多级管控系统及管控方法 | |
CN110196868A (zh) | 基于分布式的工单流程监控方法 | |
CN113407511A (zh) | 日志聚合方法、设备及计算机程序产品 | |
CN107153679B (zh) | 一种针对半结构化大数据的提取统计方法及系统 | |
CN107045466B (zh) | 业务数据的稽核方法、装置及系统 | |
CN112579552A (zh) | 日志存储及调用方法、装置及系统 | |
CN109670952B (zh) | 一种代收付交易平台 | |
CN116362213A (zh) | 用于生成报表文件的方法、装置、处理器及存储介质 | |
CN112650767B (zh) | 一种数据过滤前置的数据交换方法及系统 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN114531479A (zh) | 一种基于mqtt的通用数据采集系统 |
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 |