CN111666115A - 用于寻找引擎插件的装置、方法及存储介质 - Google Patents

用于寻找引擎插件的装置、方法及存储介质 Download PDF

Info

Publication number
CN111666115A
CN111666115A CN202010463241.5A CN202010463241A CN111666115A CN 111666115 A CN111666115 A CN 111666115A CN 202010463241 A CN202010463241 A CN 202010463241A CN 111666115 A CN111666115 A CN 111666115A
Authority
CN
China
Prior art keywords
plug
engine
request
pool
brand
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.)
Granted
Application number
CN202010463241.5A
Other languages
English (en)
Other versions
CN111666115B (zh
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.)
Wuhan Shulan Technology Co ltd
Original Assignee
Hangzhou Dtwave Technology 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 Hangzhou Dtwave Technology Co ltd filed Critical Hangzhou Dtwave Technology Co ltd
Priority to CN202010463241.5A priority Critical patent/CN111666115B/zh
Publication of CN111666115A publication Critical patent/CN111666115A/zh
Application granted granted Critical
Publication of CN111666115B publication Critical patent/CN111666115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的实施例涉及引擎插件的寻找。本发明的实施例接收用户对引擎插件的请求,该请求包括品牌信息和类别信息,然后根据所述品牌信息和类别信息,在插件池中寻找与所述请求匹配的引擎插件,其中所述插件池用于存储与计算引擎对应的引擎插件。本发明的技术方案能够支持大数据平台应用不同厂商品牌、不同类别的引擎。本发明的实施例还能支持以不同厂商品牌的命令方式来操作适用的引擎。

Description

用于寻找引擎插件的装置、方法及存储介质
技术领域
本公开涉及大数据技术领域,特别是涉及一种寻找引擎插件的装置、方法及存储介质。
背景技术
随着大数据技术的发展,大数据引擎种类越来越多,例如:分布式计算框架Hadoop、图数据计算平台Giraph、在线分析引擎Presto等。这些大数据引擎满足了特定应用场景的同时也带来了挑战。例如,当大数据平台引入新型引擎时,可能会影响到平台框架的稳定性;同时也无法在同一个大数据平台上运行多种厂商(或品牌)的引擎。这些问题不仅提高了运维成本,也限制了平台的扩展能力。
已有一些技术来应对上述挑战。一种现有技术提出了基于业务插件化的电商大数据采集方法,通过将爬虫业务程序编译成动态链接库文件,使得调用者可以动态下载需要的爬虫业务模块来执行,即插即用,提高业务的可扩展性。另一种现有技术包括了多数据源配置模块,该可根据需要实现任意数据的配置导入和爬取,或者通过数据源来配置XML脚本语言,实现各种数据源的编程配置和映射配置。还有一种现有技术,利用插件在大数据应用框架下组装生成大数据应用。这些现有技术只支持管理多种类别的大数据引擎,不能满足大数据平台管理多厂商(品牌)版本的大数据引擎的业务需求。
发明内容
本发明的实施例涉及一种用于寻找引擎插件的装置,包括:插件池,用于存储与计算引擎对应的引擎插件,所述引擎插件具有关联的品牌信息和类别信息;和插件匹配器,用于根据用户的请求中的品牌和类别信息在插件池中寻找与所述请求匹配的引擎插件。
本发明的实施例还涉及一种用于寻找引擎插件的方法,包括:接收用户对引擎插件的请求,该请求包括品牌信息和类别信息;和根据所述品牌信息和类别信息,在插件池中寻找与所述请求匹配的引擎插件,其中所述插件池用于存储与计算引擎对应的引擎插件。
本公开的实施例提供的技术方案能够支持大数据平台应用不同厂商品牌、不同类别的引擎。本发明的实施例还能支持以不同厂商品牌的命令方式来操作适用的引擎。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的用于确定引擎插件的***的框图;
图2是根据一示例性实施例示出的用于组织引擎插件的逻辑结构图;
图3是根据一示例性实施例示出的用于确定引擎插件的方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在本文中,“大数据引擎”指的是与大数据平台相关的各类引擎,不只限于Hadoop、Spark这种典型的大数据引擎,也包括MySQL、PostgreSQL这种关系型数据库及其他相关数据存储及数据计算引擎。对大数据引擎的操作通常包括以下几类:利用数据连接进行操作(例如Hive、MySQL);调用客户端方式进行操作(例如Hadoop HDFS);命令方式进行操作,例如Spark利用spark-submit命令提交任务。
图1是根据一示例性实施例示出的用于确定引擎插件的***的框图。用户经由网络(例如因特网或局域网),通过例如HTTP或TCP协议访问大数据平台。插件管理器运行在大数据平台上(在其他实施例中,插件管理器也可以运行在大数据平台之外)。
插件管理器管理各种品牌和类别的插件。插件管理器可以包括插件加载器和插件池,前者向后者中加载(或称***)插件,以使引擎插件能够被执行。在一些实施方式中,在大数据平台启动时,插件加载器会对插件文件夹内的引擎插件进行加载,其中每个插件加载器对应一个引擎插件。向插件池中加载插件的过程可以使用现有技术,例如中国专利申请公开CN109614167A中教导的技术。
在一些实施例中,向插件池加载插件时,可以与插件相关联地存储体现该插件的品牌和类别的信息。当前比较常见的引擎插件品牌例如有Apache、Cloudera、Hortonworks、华为以及Presto等,而常见的插件类别例如是Hadoop和Presto。在本公开中使用“品牌标签”和“类别插件”来指代可以存储插件的品牌和类别的信息各种数据结构。虽然在图1中未示出,但图1所示的***可以具有一个插件根目录,在其中根据引擎的品牌和类别设置不同的插件目录。插件根目录中存储的信息可以为插件池和插件加载器管理插件时使用。
在另一些实施例中,插件池包括子插件池。子插件池是通过哈希表,将体现插件的品牌或类别的关键词映射到与该品牌或类别对应的插件子集合。例如,在一些实施例中,将所有插件分别以厂商品牌、厂商版本、引擎类型、引擎版本作为哈希表的关键字,以插件的类加载器作为值存入四张哈希表中。在插件加载时,通过哈希表的使用,能够把插件的每个属性值作为关键码值从四张哈希表中取出四个子集合并进行交集运算,最终得到子插件池不同的分类维度会形成对应的子插件池,比如可以依据品牌、类别对应形成品牌子插件池、类别子插件池。例如华为公司提供的各插件都包括在与关键词“华为”对应的插件子集,而所有属于Hadoop类别的插件都包括在与关键词“Hadoop”对应的插件子集中。
图2是根据一示例性实施例示出的以子插件池的方式来组织引擎插件的逻辑结构图。一方面可以以品牌为关键词来组织插件,每个品牌的关键词对应于该品牌提供的插件形成的子集。另一方面可以以类别为关键词来组织插件,每个类别的关键词对应于该类别的插件形成的子集。
图1所示的插件管理器还可以包括插件匹配器,用于根据用户输入的引擎的品牌和类别信息,基于其中存储的匹配规则来确定插件池中匹配的引擎插件。用户通常是与其需要执行的任务一起输入所需引擎的品牌和类别信息的。如果找到了匹配的引擎插件,则调用该插件(因此也就能调用底层中相应的引擎)。如果没有找到匹配的引擎插件,则报出错信息,并可以试图通过插件加载器加载所需的引擎插件。
在使用子集来组织引擎插件时,前述匹配规则可以是根据与用户的任务相关联的插件请求来分别从各个子插件池获取到对应的集合,再进行交集运算,最后得到相应的插件。插件请求可以包括所需插件的品牌或类别(或同时包括二者)。获取公式为:
Figure BDA0002511750930000041
其中,p表示获得的插件,Sj表示从子插件池中获得的集合。例如对图2所示的示例中,获取到Hadoop的Apache版本插件的过程如下:
a.根据品牌关键词“Apache”,从品牌子插件池获得集合S1={Hadoop的Apache版本插件}
b.根据类别关键词“Hadoop”,从引擎子插件池获得集合S2={Hadoop的Apache版本插件,Hadoop的Cloudera版本插件,Hadoop的Hortonworks版本插件,Hadoop的华为版本插件}
c.对S1和S2做交集运算,得到目标插件Hadoop的Apache版本插件。
图3是根据一示例性实施例示出的用于确定引擎插件的方法的流程图。该方法可以通过图1所示的***来实施。
方法开始,输入所需插件的信息,该信息可以包括所需插件的品牌关键词和类别关键词。该信息可以包含在与用户的任务关联的插件请求中。然后根据插件信息,通过插件匹配器在插件池内查找所需插件。
若查找到引擎插件,则返回该插件。然后用户任务可以通过所返回的插件由插件执行器来执行,以调用与该插件对应的引擎。然后方法结束。
相反,若没有查找到匹配的引擎插件,则由插件加载器试图进行加载插件。若加载成功,则返回插件并继续进行对应引擎的调用。
若加载未成功,则输出报错结果,然后方法结束。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本公开实施例还提供了一种计算机设备存储介质,用于储存为上述引擎确定装置所用的计算机设备软件指令,其包含用于执行上述引擎确定方法所设计的程序。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种用于寻找引擎插件的装置,包括:
插件池,用于存储与计算引擎对应的引擎插件,所述引擎插件具有关联的品牌信息和类别信息;和
插件匹配器,用于根据用户的请求中的品牌和类别信息在插件池中寻找与所述请求匹配的引擎插件。
2.根据权利要求1所述的装置,还包括:
插件执行器,用于执行所述匹配的引擎插件。
3.根据权利要求1所述的装置,还包括:
插件加载器,用于向所述插件池引擎插件。
4.根据权利要求3所述的装置,其中所述插件池以子集的方式组织其存储的引擎插件,其中所述子集中的所有引擎插件与一品牌或类别对应。
5.根据权利要求4所述的装置,其中所述插件匹配器能够通过下述步骤来寻找与所述用户的请求匹配的引擎插件:
确定所述插件池中与所述请求中的品牌信息对应的第一子集;
确定所述插件池中与所述请求中的类别信息对应的第二子集;以及
将所述第一子集和第二子集进行交集运算,并其该交集运算的结果确定为与所述请求匹配的引擎插件。
6.根据权利要求1所述的装置,其中所述装置能够基于所述匹配的引擎插件的品牌和类别信息来寻找与所述用户的任务对应的资源包,并通过命令来载入该资源包,以执行所述任务。
7.根据权利要求1所述的引擎确定装置,其中所述装置包括插件根目录,所述插件根目录按照品牌和类别设置不同的插件目录。
8.根据权利要求3所述的装置,其中如果所述插件匹配器无法找到与所述用户的请求匹配的引擎插件,则由所述插件加载器试图加载所需的引擎插件。
9.一种用于寻找引擎插件的方法,包括:
(1)接收用户对引擎插件的请求,该请求包括品牌信息和类别信息;和
(2)根据所述品牌信息和类别信息,在插件池中寻找与所述请求匹配的引擎插件,其中所述插件池用于存储与计算引擎对应的引擎插件。
10.根据权利要求9所述的方法,其中所述步骤(2)包括:
确定所述插件池中与所述请求中的品牌信息对应的第一子集;
确定所述插件池中与所述请求中的类别信息对应的第二子集;以及
将所述第一子集和第二子集进行交集运算,并其该交集运算的结果确定为与所述请求匹配的引擎插件。
11.根据权利要求9所述的方法,还包括:
如果步骤(2)无法找到与所述请求匹配的引擎插件,则向所述插件池加载所述请求所需要的引擎插件。
12.一种计算机设备可读存储介质,所述计算机设备可读存储介质中包含可执行指令,所述可执行指令被执行时能执行权利要求9至11中任一所述的引擎确定方法。
CN202010463241.5A 2020-05-27 2020-05-27 用于寻找引擎插件的装置、方法及存储介质 Active CN111666115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010463241.5A CN111666115B (zh) 2020-05-27 2020-05-27 用于寻找引擎插件的装置、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010463241.5A CN111666115B (zh) 2020-05-27 2020-05-27 用于寻找引擎插件的装置、方法及存储介质

Publications (2)

Publication Number Publication Date
CN111666115A true CN111666115A (zh) 2020-09-15
CN111666115B CN111666115B (zh) 2023-11-07

Family

ID=72384906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010463241.5A Active CN111666115B (zh) 2020-05-27 2020-05-27 用于寻找引擎插件的装置、方法及存储介质

Country Status (1)

Country Link
CN (1) CN111666115B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407804A (zh) * 2021-07-14 2021-09-17 杭州雾联科技有限公司 一种基于爬虫的外挂精准标记与识别方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810204A (zh) * 2012-11-13 2014-05-21 腾讯科技(深圳)有限公司 一种信息查找的方法及装置
CN104980752A (zh) * 2015-06-11 2015-10-14 武汉大千信息技术有限公司 利用cpu和gpu实现多路自适应并行转码的方法及***
CN109213826A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 数据处理方法和设备
CN109614167A (zh) * 2018-12-07 2019-04-12 杭州数澜科技有限公司 一种管理插件的方法和***
CN109697072A (zh) * 2018-11-09 2019-04-30 长沙市到家悠享家政服务有限公司 信息处理方法、装置及设备
CN110036619A (zh) * 2016-12-27 2019-07-19 英特尔Ip公司 用于iot协议标识和管理的框架
CN110825395A (zh) * 2019-10-23 2020-02-21 中冶赛迪重庆信息技术有限公司 多插件分层部署***、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810204A (zh) * 2012-11-13 2014-05-21 腾讯科技(深圳)有限公司 一种信息查找的方法及装置
CN104980752A (zh) * 2015-06-11 2015-10-14 武汉大千信息技术有限公司 利用cpu和gpu实现多路自适应并行转码的方法及***
CN110036619A (zh) * 2016-12-27 2019-07-19 英特尔Ip公司 用于iot协议标识和管理的框架
CN109213826A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 数据处理方法和设备
CN109697072A (zh) * 2018-11-09 2019-04-30 长沙市到家悠享家政服务有限公司 信息处理方法、装置及设备
CN109614167A (zh) * 2018-12-07 2019-04-12 杭州数澜科技有限公司 一种管理插件的方法和***
CN110825395A (zh) * 2019-10-23 2020-02-21 中冶赛迪重庆信息技术有限公司 多插件分层部署***、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407804A (zh) * 2021-07-14 2021-09-17 杭州雾联科技有限公司 一种基于爬虫的外挂精准标记与识别方法和装置
CN113407804B (zh) * 2021-07-14 2023-06-16 杭州雾联科技有限公司 一种基于爬虫的外挂精准标记与识别方法和装置

Also Published As

Publication number Publication date
CN111666115B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
EP1725929B1 (en) System and method for efficient evaluation of a query that invokes a table valued function
Abiteboul et al. Lazy query evaluation for Active XML
JP3437849B2 (ja) オブジェクト指向プログラミングを支援するデータベース管理システム及び方法
US7769770B2 (en) Secondary index and indexed view maintenance for updates to complex types
US7536406B2 (en) Impact analysis in an object model
US11397575B2 (en) Microservices graph generation
US8244780B1 (en) Parameter oriented automated database command
Sellami et al. Supporting multi data stores applications in cloud environments
US12007992B2 (en) Serverless data lake indexing subsystem and application programming interface
US20180005187A1 (en) Business model data management
CN111666115B (zh) 用于寻找引擎插件的装置、方法及存储介质
CN117421302A (zh) 一种数据处理方法及相关设备
Näsholm Extracting data from nosql databases-a step towards interactive visual analysis of nosql data
US6768989B2 (en) Collection recognizer
Milutinovic Towards Automatic Machine Learning Pipeline Design
Bugiotti et al. SPARQL Query Processing in the Cloud.
CN109753533A (zh) 一种多源关系型数据库客户端开发方法及装置
US20140280110A1 (en) Requests for source code text
CN112347794A (zh) 数据翻译方法、装置、设备及计算机存储介质
CN116126865B (zh) 一种多种数据库混合使用的代理方法及装置
Anelli et al. Querying deep web data sources as linked data
Taelman et al. Demonstration of Link Traversal SPARQL Query Processing over the Decentralized Solid Environment.
Mouhoub et al. CSP techniques for solving combinatorial queries within relational databases
Jarnemyr et al. A Declarative Approach to GraphQL Schema Wrapping: wrapping schemas using GraphQL directives
Engelbrecht et al. The Memory of a Goldfish

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240528

Address after: R3, 36th Floor, Office Building, Guangming Center (West Tower of Hubei International Exhibition Center), No. 28 Sixin Avenue, Hanyang District, Wuhan City, Hubei Province, 430050

Patentee after: Wuhan Shulan Technology Co.,Ltd.

Country or region after: China

Address before: Unit 1, building 3, No. 1288 liangmu Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU DTWAVE TECHNOLOGY Co.,Ltd.

Country or region before: China