CN111190932B - 一种隐私集群查询方法、装置及电子设备 - Google Patents
一种隐私集群查询方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111190932B CN111190932B CN201911291014.2A CN201911291014A CN111190932B CN 111190932 B CN111190932 B CN 111190932B CN 201911291014 A CN201911291014 A CN 201911291014A CN 111190932 B CN111190932 B CN 111190932B
- Authority
- CN
- China
- Prior art keywords
- information
- execution
- query
- task
- target
- 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.)
- Active
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种隐私集群查询方法、装置及电子设备,所述方法包括:接收并解析用户查询任务;将所述查询任务的执行主体信息存入第一数据库,将所述查询任务的执行信息存入消息队列进行消费;根据所述执行主体信息和消费后的执行信息生成任务元信息;根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表;将查询结果存入第二数据库。本发明将执行信息存入消息队列中实时进行消费,保证查询的实时性,根据所述执行主体信息和消费后的执行信息生成任务元信息;根据所述任务元信息筛选目标执行引擎,实现对消耗资源不同的查询任务进行分别处理,将查询资源路由到不同的执行引擎,进而保障查询效率。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种隐私集群查询方法、装置、电子设备及计算机可读介质。
背景技术
一些具有商业价值或者隐私的数据通常存储在隐私集群(如服务器集群safe3)中,以保证数据的安全性。因此,隐私集群不能随意访问,通常需要通过一个堡垒机间接来访问。而在这种方式中,客户端无法保存查询结果,用户每查询一次就需要登录一次客户端通过堡垒机间接查询。对于数据量大的查询,显然这种方式查询效率低下、操作复杂。
发明内容
本发明旨在解决现有技术中对隐私集群的数据查询效率低、查询操作复杂的技术问题。
为了解决上述技术问题,本发明第一方面提出一种隐私集群查询方法,所述方法包括:
接收并解析用户查询任务;
将所述查询任务的执行主体信息存入第一数据库,将所述查询任务的执行信息存入消息队列进行消费;
根据所述执行主体信息和消费后的执行信息生成任务元信息;
根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表;
将查询结果存入第二数据库。
根据本发明一种优选实施方式,所述根据所述执行主体信息和消费后的执行信息生成任务元信息包括:
查找与所述执行主体信息中的执行参数相对应的任务执行ID;
根据所述任务执行ID确定目标执行信息;
当所述目标执行信息消费后,根据所述执行主体信息和消费后的目标执行信息生成任务元信息。
根据本发明一种优选实施方式,所述消息队列中的执行信息分为查询消息、状态消息和kill任务消息,所述目标执行引擎包括同步执行器和异步执行器;
当所述任务元信息中包含查询消息或状态消息时,所述目标执行引擎通过同步执行器访问隐私集群并查询目标数据表,并将查询日志和结果存入所述第二数据库;
当所述任务元信息中包含kill任务消息时,所述目标执行引擎通过异步执行器访问隐私集群并查询目标数据表。
根据本发明一种优选实施方式,所述根据所述任务元信息筛选目标执行引擎包括:
根据所述任务元信息确定隐私集群中目标数据表占有资源量;
根据所述目标数据表占有资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表。
根据本发明一种优选实施方式,所述执行主体信息包括:用户属性信息、meta信息、执行参数、认证信息、以及用户自定义信息,所述执行信息包括:执行触发信息、执行状态信息。
根据本发明一种优选实施方式,所述第一数据库为Mysql数据库,所述第二数据库为Redis数据库,所述消息队列为RabbitMQ。
为解决上述技术问题,本发明第二方面提供一种隐私集群查询装置,所述装置包括:
接收模块,用于接收并解析用户查询任务;
第一数据库,用于存储所述查询任务的执行主体信息;
消息队列,用于存储所述查询任务的执行信息;
生成模块,用于根据所述执行主体信息和消费后的执行信息生成任务元信息;
查询模块,用于根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表;
第二数据库,用于存储查询结果。
根据本发明一种优选实施方式,所述生成模块包括:
查找模块,用于查找与所述执行主体信息中的执行参数相对应的任务执行ID;
确定模块,用于根据所述任务执行ID确定目标执行信息;
子生成模块,用于当所述目标执行信息消费后,根据所述执行主体信息和消费后的目标执行信息生成任务元信息。
根据本发明一种优选实施方式,所述装置还包括控制模块,所述消息队列中的执行信息分为查询消息、状态消息和kill任务消息,所述目标执行引擎包括同步执行器和异步执行器;
所述控制模块,用当所述任务元信息中包含查询消息或状态消息时,控制所述目标执行引擎通过同步执行器访问隐私集群并查询目标数据表,并将查询日志和结果存入所述第二数据库;当所述任务元信息中包含kill任务消息时,控制所述目标执行引擎通过异步执行器访问隐私集群并查询目标数据表。
根据本发明一种优选实施方式,所述查询模块包括:
第一确定模块,用于根据所述任务元信息确定隐私集群中目标数据表占有的资源量;
筛选模块,用于根据所述目标数据表占有的资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表。
根据本发明一种优选实施方式,所述执行主体信息包括:用户属性信息、meta信息、执行参数、认证信息、以及用户自定义信息,所述执行信息包括:执行触发信息、执行状态信息。
根据本发明一种优选实施方式,所述第一数据库为Mysql数据库,所述第二数据库为Redis数据库,所述消息队列为RabbitMQ。
为了解决上述技术问题,本发明第三方面提供一种电子设备,包括:
处理器;以及
存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行上述的方法。
为了解决上述技术问题,本发明第四方面提出一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现上述方法。
本发明将对隐私集群的查询任务解析为执行主体信息和执行信息,将执行信息存入消息队列中实时进行消费,保证查询的实时性,根据所述执行主体信息和消费后的执行信息生成任务元信息;根据所述任务元信息筛选目标执行引擎,实现对消耗资源不同的查询任务进行分别处理,将查询资源路由到不同的执行引擎,进而保障查询效率,本发明还将查询结果存入第二数据库,方便用户实时调取。此外,本发明还进一步将执行信息分为查询消息、状态消息和kill任务消息三种类型,根据不同类型的执行信息控制目标执行引擎的同步或异步执行,保证查询的有序时效性。通过本发明,用户只需提交查询任务即可快速获取对隐私集群的数据查询结果,无需登录客户端再通过堡垒机间接查询隐私集群的数据,具有查询操作简单、查询效率高的优点。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是本发明一种隐私集群查询方法的流程示意图;
图2是本发明一种隐私集群查询装置的结构框架示意图;
图3是根据本发明的一种电子设备的示例性实施例的结构框图;
图4是本发明一个计算机可读介质实施例的示意图。
具体实施方式
现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
如图1是本发明提供的一种隐私集群查询方法的流程示意图,如图1所示,所述方法包括:
S1、接收并解析用户查询任务;
本发明中,所述查询任务可以包括:查询语句、认证信息等,其中,查询语句可以是SQL查询语句,或者工单查询语句。认证信息可以是根据用户的用户属性信息,如部门角色信息(如市场部、研发部等)配置的不同用户对于隐私集群中的数据表的访问权限。后续查询过程中,只有包含数据表对应认证信息的查询任务才可以对该数据表进行查询,实现不同人员对数据表的查询权限不同,从而保护数据隐私。
本步骤中,可以将用户查询任务解析为执行主体信息和执行信息,所述执行主体信息用于标识执行主体的属性,可以包括:用户属性信息、meta信息、执行参数、认证信息、以及用户自定义信息。其中,meta信息可提供目标数据表的元信息(meta-information),比如针对搜索引擎和查询频率的描述和关键词。所述执行参数包含任务执行ID。所述执行信息用于标识查询任务的执行情况,可以包括:执行触发信息、执行状态信息。其中,执行触发信息指满足何种条件后开始执行查询任务,执行状态信息是指查询任务执行的情况,包括正在执行(running)、执行完成和中止执行(kill)三种状态。其中,中止执行(kill)是指因为查询语法错误或者用户取消查询而产生的中止查询指令。
S2、将所述查询任务的执行主体信息存入第一数据库,将所述查询任务的执行信息存入消息队列进行消费;
优选的,所述第一数据库为Mysql数据库,所述消息队列为RabbitMQ,通过RabbitMQ将执行信息作为消息进行分发并实时消费。
S3、根据所述执行主体信息和消费后的执行信息生成任务元信息;
其中,一个任务元信息完成一个子查询任务,其包含一个执行主体信息和对应的执行信息,为此,本发明中通过任务执行ID将同一子查询任务的执行主体信息与执行信息对应起来。具体的,本步骤包括:
S31、查找与所述执行主体信息中的执行参数相对应的任务执行ID;
其中,所述任务执行ID唯一对应一个执行任务信息。
S32、根据所述任务执行ID确定目标执行信息;
S33、当所述目标执行信息消费后,根据所述执行主体信息和消费后的目标执行信息生成任务元信息。
具体的,可以将同一个任务执行ID的执行主体信息和执行信息组合成一个任务元信息,
S4、根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表;
本发明中,可以根据任务元信息确定查询的目标数据表所占的资源量,根据资源量的大小来筛选对应的执行引擎进行查询,从而避免资源浪费,提高查询效率。本步骤具体包括:
S41、根据所述任务元信息确定隐私集群中目标数据表占有资源量;
其中,所述资源量至少包括目标数据表的数据量、目标数据表之间的依赖关系和数据运算的并行度。
具体的,可以根据语法规则对任务元信息中的查询语句的字段进行分析,获取查询涉及的目标数据表;根据目标数据表以及数据库中目标数据表的数据量大小和目标数据表之间的关联关系。数据运算的并行度可以结合要目标数据表的数据量和一些预设的规则来预估,同时也需要在并行的开销和执行效率之间做权衡。例如,对于查询数据量大的请求,如果开启多个线程并行执行可能查询的速度会快,但是考虑到开启多个线程需要一定的系统开销,如果开销过大,也会影响最终的查询速度,因此,合适的并行度,即能加快查询速度,同时又能避免过大的系统开销,是比较优选的。
S42、根据所述目标数据表占有资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表。
其中,执行引擎例如可以包括impala、presto、spark或hive等数据查询工具,不同的工具其属性特点不同,执行的效率也不同,因此,需要结合目标数据表占有的资源量和执行引擎的属性特点,来选择最适合的目标执行引擎,以节约资源、提高查询效率。例如,对数据量少、资源消耗少的查询,可以路由到impala快速查询,以及时响应用户,对于数据量大、资源消耗过大的查询,可以路由到hive查询,以保障数据的查询效率及系统的稳定性。具体实现时,可以预先设置查询资源量的阈值对应相应的执行引擎,例如,查询资源量小于第一阈值的,采用第一执行引擎,查询资源量大于第一阈值小于第二阈值的,采用第二执行引擎等。
S5、将查询结果存入第二数据库。
本发明中,所述第二数据库优选为Redis数据库,所述查询结果具体可以包括查询日志和查询数据结果。本步骤进一步可以先对查询结果进行分析,并以饼状图、折线图等数据结果展示方式进行显示,使用户一目了然看到数据结果及数据变化趋势,达到数据结果可视化的效果。
在本发明另一实施例提供的隐私集群查询方法中,在步骤S2中可以进一步将消息队列中的执行信息分为查询消息、状态消息和kill任务消息,其中,查询消息对应于所述执行触发信息、状态信息对应于所述执行状态信息中的正在执行(running)和执行完成两种状态信息,kill任务消息对应于所述执行状态信息中的中止执行(kill)状态信息。在上述步骤S4中,所述目标执行引擎具体可以包括同步执行器和异步执行器;则上述步骤S4具体包括:
当所述任务元信息中包含查询消息或状态消息时,控制所述目标执行引擎通过同步执行器访问隐私集群并查询目标数据表,并将查询日志和结果存入所述第二数据库;
当所述任务元信息中包含kill任务消息时,控制所述目标执行引擎通过异步执行器访问隐私集群并查询目标数据表。
这样,通过对执行信息的分析,可以控制目标执行引擎进行同步或异步查询,保证查询信息的正确性。
图2是本发明提供的一种隐私集群查询装置的结构框架示意图,如图2所示,所述装置包括:接收模块21、第一数据库22、消息队列23、生成模块24、查询模块25、第二数据库26和控制模块27。其中,
接收模块21,用于接收并解析用户查询任务;其中,所述用户查询任务可以解析为执行主体信息和执行信息,所述执行主体信息用于标识执行主体的属性,可以包括:用户属性信息、meta信息、执行参数、认证信息、以及用户自定义信息。其中,meta信息可提供目标数据表的元信息(meta-information),比如针对搜索引擎和查询频率的描述和关键词。所述执行参数包含任务执行ID。所述执行信息用于标识查询任务的执行情况,可以包括:执行触发信息、执行状态信息。其中,执行触发信息指满足何种条件后开始执行查询任务,执行状态信息是指查询任务执行的情况,包括正在执行(running)、执行完成和中止执行(kill)三种状态。其中,中止执行(kill)是指因为查询语法错误或者用户取消查询而产生的中止查询指令。
第一数据库22,用于存储所述查询任务的执行主体信息;本发明中,优选采用Mysql数据库作为所述第一数据库;
消息队列23,用于存储所述查询任务的执行信息;本发明中,优选采用RabbitMQ作为消息队列,通过RabbitMQ将执行信息作为消息进行分发并实时消费。
生成模块24,用于根据所述执行主体信息和消费后的执行信息生成任务元信息;所述生成模块24包括:
查找模块241,用于查找与所述执行主体信息中的执行参数相对应的任务执行ID;其中,所述任务执行ID与任务执行信息一一对应。
确定模块242,用于根据所述任务执行ID确定目标执行信息;
子生成模块243,用于当所述目标执行信息消费后,根据所述执行主体信息和消费后的目标执行信息生成任务元信息。具体可以将同一个任务执行ID的执行主体信息和执行信息组合成一个任务元信息,
查询模块25,用于根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表;本发明中,查询模块25可以根据任务元信息确定查询的目标数据表所占的资源量,根据资源量的大小来筛选对应的执行引擎进行查询,从而避免资源浪费,提高查询效率。其中。所述查询模块25包括:
第一确定模块251,用于根据所述任务元信息确定隐私集群中目标数据表占有的资源量。
本发明中,所述资源量至少包括目标数据表的数据量、目标数据表之间的依赖关系和数据运算的并行度。
具体的,可以根据语法规则对任务元信息中的查询语句的字段进行分析,获取查询涉及的目标数据表;根据目标数据表以及数据库中目标数据表的数据量大小和目标数据表之间的关联关系。数据运算的并行度可以结合要目标数据表的数据量和一些预设的规则来预估,同时也需要在并行的开销和执行效率之间做权衡。例如,对于查询数据量大的请求,如果开启多个线程并行执行可能查询的速度会快,但是考虑到开启多个线程需要一定的系统开销,如果开销过大,也会影响最终的查询速度,因此,合适的并行度,即能加快查询速度,同时又能避免过大的系统开销,是比较优选的。
筛选模块252,用于根据所述目标数据表占有的资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表。
其中,执行引擎例如可以包括impala、presto、spark或hive等数据查询工具,不同的工具其属性特点不同,执行的效率也不同,因此,需要结合目标数据表占有的资源量和执行引擎的属性特点,来选择最适合的目标执行引擎,以节约资源、提高查询效率。例如,对数据量少、资源消耗少的查询,可以路由到impala快速查询,以及时响应用户,对于数据量大、资源消耗过大的查询,可以路由到hive查询,以保障数据的查询效率及系统的稳定性。具体实现时,可以预先设置查询资源量的阈值对应相应的执行引擎,例如,查询资源量小于第一阈值的,采用第一执行引擎,查询资源量大于第一阈值小于第二阈值的,采用第二执行引擎等。
第二数据库26,用于存储查询结果。本发明中,所述第二数据库26为Redis数据库,所述查询结果具体可以包括查询日志和查询数据结果。其中,查询结果以及对查询结果的分析结果可以实时显示。
进一步的,本发明可以将消息队列中的执行信息分为查询消息、状态消息和kill任务消息,其中,查询消息对应于所述执行触发信息、状态信息对应于所述执行状态信息中的正在执行(running)和执行完成两种状态信息,kill任务消息对应于所述执行状态信息中的中止执行(kill)状态信息。所述目标执行引擎具体可以包括同步执行器和异步执行器;所述控制模块27,用当所述任务元信息中包含查询消息或状态消息时,控制所述目标执行引擎通过同步执行器访问隐私集群并查询目标数据表,并将查询日志和结果存入所述第二数据库;当所述任务元信息中包含kill任务消息时,控制所述目标执行引擎通过异步执行器访问隐私集群并查询目标数据表。这样,通过对执行信息的分析,可以控制目标执行引擎进行同步或异步查询,保证查询信息的正确性。
本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的实体形式的实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图3是根据本发明的一种电子设备的示例性实施例的结构框图。图3显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,该示例性实施例的电子设备300以通用数据处理设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同电子设备组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
其中,所述存储单元320存储有计算机可读程序,其可以是源程序或都只读程序的代码。所述程序可以被处理单元310执行,使得所述处理单元310执行本发明各种实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作电子设备、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备300也可以与一个或多个外部设备200(例如键盘、显示器、网络设备、蓝牙设备等)通信,使得用户能经由这些外部设备200与该电子设备300交互,和/或使得该电子设备300能与一个或多个其它数据处理设备(例如路由器、调制解调器等等)进行通信。这种通信可以通过输入/输出(I/O)接口550进行,还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)进行。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图3中未示出,电子设备300中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID电子设备、磁带驱动器以及数据备份存储电子设备等。
图4是本发明的一个计算机可读介质实施例的示意图。如图4所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的电子设备、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:接收并解析用户查询任务;将所述查询任务的执行主体信息存入第一数据库,将所述查询任务的执行信息存入消息队列进行消费;根据所述执行主体信息和消费后的执行信息生成任务元信息;根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表;将查询结果存入第二数据库。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台数据处理设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行电子设备、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以执行计算机程序的方法、装置、电子设备或计算机可读介质来实现。可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现本发明的一些或者全部功能。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种隐私集群查询方法,其特征在于,所述方法包括:
接收用户查询任务,所述查询任务包括查询语句和认证信息,所述认证信息根据用户的用户属性信息配置不同用户对隐私集群中数据表的访问权限;
解析所述用户查询任务为执行主体信息和执行信息;所述执行主体信息标识执行主体的属性并包括用户属性信息、meta信息、执行参数、认证信息和用户自定义信息;所述执行信息标识查询任务的执行情况并包括执行触发信息和执行状态信息;
将所述查询任务的执行主体信息存入第一数据库,将所述查询任务的执行信息存入消息队列作为消息进行分发并实时消费;
根据所述执行主体信息和消费后的执行信息生成任务元信息,其中,查找与所述执行主体信息中的执行参数相对应的任务执行ID,根据所述任务执行ID确定目标执行信息;当所述目标执行信息消费后,根据所述执行主体信息和消费后的目标执行信息将同一个任务执行ID的所述执行主体信息和消费后的目标执行信息组合生成任务元信息;
根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表包括:根据所述任务元信息确定隐私集群中目标数据表占有资源量,根据所述目标数据表占有资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表,其中,预先设置查询资源量的阈值对应相应的执行引擎;
将查询结果存入第二数据库,所述查询结果包括查询日志和查询数据结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述消息队列中的执行信息分为查询消息、状态消息和kill任务消息,所述目标执行引擎包括同步执行器和异步执行器;其中,查询消息对应于执行触发信息、状态消息对应于执行状态信息中的正在执行和执行完成两种状态信息,kill任务消息对应于执行状态信息中的中止执行状态信息;
当所述任务元信息中包含查询消息或状态消息时,所述目标执行引擎通过同步执行器访问隐私集群并查询目标数据表,并将查询日志和结果存入所述第二数据库;
当所述任务元信息中包含kill任务消息时,所述目标执行引擎通过异步执行器访问隐私集群并查询目标数据表。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据语法规则对任务元信息中的查询语句的字段进行分析,获取查询涉及的目标数据表,以及,所述资源量至少包括目标数据表的数据量、目标数据表之间的依赖关系和数据运算的并行度。
4.根据权利要求1所述的方法,其特征在于,所述第一数据库为Mysql数据库,所述第二数据库为Redis数据库,所述消息队列为RabbitMQ。
5.一种隐私集群查询装置,其特征在于,所述装置包括:
接收模块,用于接收用户查询任务,所述查询任务包括查询语句和认证信息,所述认证信息根据用户的用户属性信息配置不同用户对隐私集群中数据表的访问权限;以及,解析所述用户查询任务为执行主体信息和执行信息;所述执行主体信息标识执行主体的属性并包括用户属性信息、meta信息、执行参数、认证信息和用户自定义信息;所述执行信息标识查询任务的执行情况并包括执行触发信息和执行状态信息;
第一数据库,用于存储所述查询任务的执行主体信息;
消息队列,用于存储所述查询任务的执行信息作为消息进行分发并实时消费;
生成模块,用于根据所述执行主体信息和消费后的执行信息生成任务元信息,包括:查找模块,用于查找与所述执行主体信息中的执行参数相对应的任务执行ID;确定模块,用于根据所述任务执行ID确定目标执行信息;子生成模块,用于当所述目标执行信息消费后,根据所述执行主体信息和消费后的目标执行信息将同一个任务执行ID的所述执行主体信息和消费后的目标执行信息组合生成任务元信息;
查询模块,用于根据所述任务元信息筛选目标执行引擎访问隐私集群并查询目标数据表包括:第一确定模块,用于根据所述任务元信息确定隐私集群中目标数据表占有资源量;筛选模块,用于根据所述目标数据表占有资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表;其中,预先设置查询资源量的阈值对应相应的执行引擎;
筛选模块,用于根据所述目标数据表占有的资源量筛选对应的目标执行引擎访问隐私集群并查询目标数据表;
第二数据库,用于存储查询结果,所述查询结果包括查询日志和查询数据结果。
6.根据权利要求5所述的装置,其特征在于,还包括:
将所述消息队列中的执行信息分为查询消息、状态消息和kill任务消息,所述目标执行引擎包括同步执行器和异步执行器;其中,查询消息对应于执行触发信息、状态消息对应于执行状态信息中的正在执行和执行完成两种状态信息,kill任务消息对应于执行状态信息中的中止执行状态信息;
控制模块,用于当所述任务元信息中包含查询消息或状态消息时,所述目标执行引擎通过同步执行器访问隐私集群并查询目标数据表,并将查询日志和结果存入所述第二数据库;以及,当所述任务元信息中包含kill任务消息时,所述目标执行引擎通过异步执行器访问隐私集群并查询目标数据表。
7.根据权利要求5所述的装置,其特征在于,还包括:根据语法规则对任务元信息中的查询语句的字段进行分析,获取查询涉及的目标数据表,以及所述资源量至少包括目标数据表的数据量、目标数据表之间的依赖关系和数据运算的并行度。
8.根据权利要求5所述的装置,其特征在于,所述第一数据库为Mysql数据库,所述第二数据库为Redis数据库,所述消息队列为RabbitMQ。
9.一种电子设备,包括:
处理器;以及
存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行根据权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911291014.2A CN111190932B (zh) | 2019-12-16 | 2019-12-16 | 一种隐私集群查询方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911291014.2A CN111190932B (zh) | 2019-12-16 | 2019-12-16 | 一种隐私集群查询方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190932A CN111190932A (zh) | 2020-05-22 |
CN111190932B true CN111190932B (zh) | 2023-08-18 |
Family
ID=70707377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911291014.2A Active CN111190932B (zh) | 2019-12-16 | 2019-12-16 | 一种隐私集群查询方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190932B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723112B (zh) * | 2020-06-11 | 2023-07-07 | 咪咕文化科技有限公司 | 数据任务执行方法、装置、电子设备及存储介质 |
CN112948467B (zh) * | 2021-03-18 | 2023-10-10 | 北京中经惠众科技有限公司 | 数据处理方法及装置、计算机设备和存储介质 |
CN113220479B (zh) * | 2021-04-28 | 2023-11-10 | 北京淇瑀信息科技有限公司 | 一种基于隔离网络的工作流调度方法、装置及电子设备 |
CN114238286B (zh) * | 2022-02-28 | 2022-08-05 | 连连(杭州)信息技术有限公司 | 一种数据仓库数据处理方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123652A (zh) * | 2013-03-14 | 2013-05-29 | 曙光信息产业(北京)有限公司 | 数据查询方法和集群数据库系统 |
CN104391918A (zh) * | 2014-11-19 | 2015-03-04 | 天津南大通用数据技术股份有限公司 | 基于对等部署的分布式数据库查询优先级管理的实现方法 |
CN110222072A (zh) * | 2019-06-06 | 2019-09-10 | 江苏满运软件科技有限公司 | 数据查询平台、方法、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229208B2 (en) * | 2014-07-28 | 2019-03-12 | Facebook, Inc. | Optimization of query execution |
-
2019
- 2019-12-16 CN CN201911291014.2A patent/CN111190932B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123652A (zh) * | 2013-03-14 | 2013-05-29 | 曙光信息产业(北京)有限公司 | 数据查询方法和集群数据库系统 |
CN104391918A (zh) * | 2014-11-19 | 2015-03-04 | 天津南大通用数据技术股份有限公司 | 基于对等部署的分布式数据库查询优先级管理的实现方法 |
CN110222072A (zh) * | 2019-06-06 | 2019-09-10 | 江苏满运软件科技有限公司 | 数据查询平台、方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111190932A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111190932B (zh) | 一种隐私集群查询方法、装置及电子设备 | |
CN111177213B (zh) | 一种隐私集群自助查询平台、方法及电子设备 | |
CN106778288B (zh) | 一种数据脱敏的方法及系统 | |
US11481253B2 (en) | Managing the processing of streamed data in a data streaming application using query information from a relational database | |
US9772890B2 (en) | Sophisticated run-time system for graph processing | |
CN112905595A (zh) | 一种数据查询方法、装置及计算机可读存储介质 | |
US8997070B2 (en) | Extension mechanism for scripting language compiler | |
US9304835B1 (en) | Optimized system for analytics (graphs and sparse matrices) operations | |
US7747585B2 (en) | Parallel uncompression of a partially compressed database table determines a count of uncompression tasks that satisfies the query | |
US11366809B2 (en) | Dynamic creation and configuration of partitioned index through analytics based on existing data population | |
CN110704290A (zh) | 日志分析方法及装置 | |
US9992269B1 (en) | Distributed complex event processing | |
Inacio et al. | A survey into performance and energy efficiency in HPC, cloud and big data environments | |
US10936478B2 (en) | Fast change impact analysis tool for large-scale software systems | |
CN110990420A (zh) | 数据查询方法、装置 | |
US20120047124A1 (en) | Database query optimizations | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
Balliu et al. | A big data analyzer for large trace logs | |
US9052956B2 (en) | Selecting execution environments | |
US11157495B2 (en) | Dynamically managing predicate expression columns in an encrypted database | |
JP2022093295A (ja) | 方法、システム、およびプログラム命令が組み込まれたコンピュータ可読記憶媒体を含むコンピュータプログラム製品(データ用語集の保守) | |
Wu et al. | A practical covert channel identification approach in source code based on directed information flow graph | |
CN113297030B (zh) | 一种数据延时产出监控方法、装置及电子设备 | |
US11947537B1 (en) | Automatic index management for a non-relational database | |
US20230214506A1 (en) | Auto generating build time policies from run time policies for shift left security |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |