CN114090113A - 数据源处理插件动态加载的方法、装置、设备及存储介质 - Google Patents
数据源处理插件动态加载的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114090113A CN114090113A CN202111260745.8A CN202111260745A CN114090113A CN 114090113 A CN114090113 A CN 114090113A CN 202111260745 A CN202111260745 A CN 202111260745A CN 114090113 A CN114090113 A CN 114090113A
- Authority
- CN
- China
- Prior art keywords
- plug
- information
- configuration information
- data source
- configuration
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 181
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000011068 loading method Methods 0.000 title claims abstract description 67
- 238000012217 deletion Methods 0.000 claims description 16
- 230000037430 deletion Effects 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 239000003999 initiator Substances 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000002699 waste material Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据源处理插件动态加载的方法、装置、设备及存储介质,涉及人工智能、大数据及云计算领域,应用于分布式联邦查询引擎集群,具体实现方案为:响应于对数据源处理插件的操作请求,根据操作请求获取操作信息和插件配置信息;根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新;将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;基于更新插件配置信息,对计算节点的数据源处理插件进行加载。本方案可以在不重启联邦查询服务的情况下,实现对计算节点的数据源处理插件的动态加载。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及人工智能、大数据及云计算领域,尤其涉及一种数据源处理插件动态加载的方法、装置、设备及存储介质。
背景技术
随着大数据技术的发展,以及传统数据库技术的进一步演进,企业在数据架构上的选择越来越多。目前一个企业中的数据通常存储在多个数据源,对于业务复杂的企业,数据源甚至数十个到上百个。对于数据的挖掘分析,往往需要横跨多个业务系统,这时就需要具有联邦查询能力的计算引擎,对这些业务系统底层的异构数据源进行联邦分析。
但是,目前主流的联邦查询引擎,在添加数据源插件时,需要重启服务才能完成数据源对应的数据处理插件的加载。
发明内容
本公开提供了一种数据源处理插件动态加载的方法、装置、设备及存储介质。
根据本公开的第一方面,提供了一种数据源处理插件动态加载的方法,应用于分布式联邦查询引擎集群,所述方法包括:
响应于对数据源处理插件的操作请求,根据所述操作请求获取操作信息和插件配置信息;
根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新;
将计算节点的本地存储模块中的插件配置信息与所述共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;所述计算节点为所述分布式联邦查询引擎集群中的节点;
基于所述更新插件配置信息,对所述计算节点的数据源处理插件进行加载。
根据本公开的第二方面,提供了一种数据源处理插件动态加载的装置,应用于分布式联邦查询引擎集群,所述装置包括:
插件服务模块,用于响应于对数据源处理插件的操作请求,根据所述操作请求获取操作信息和插件配置信息;
更新模块,用于根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新;
扫描模块,将计算节点的本地存储模块中的插件配置信息与所述共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;所述计算节点为所述分布式联邦查询引擎集群中的节点;
插件加载模块,用于基于所述更新插件配置信息,对所述计算节点的数据源处理插件进行加载。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述第一方面所述的方法。
根据本公开的技术方案,通过根据对数据源处理插件的操作请求,获取的操作信息和插件配置信息,对于分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新,并基于共享存储模块中的插件配置信息更新各计算节点的本地存储模块,从而可以在不重启联邦查询服务的情况下,实现对计算节点的数据源处理插件的动态加载,进而可以提升联邦查询引擎的可用性及灵活性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4是根据本公开第四实施例的示意图;
图5是根据本公开第五实施例的示意图;
图6是根据本公开第六实施例的示意图;
图7是根据本公开第七实施例的示意图;
图8是根据本公开第八实施例的示意图;
图9是用来实现本公开实施例的数据源处理插件动态加载的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。所涉及的用户个人信息是在争得用户同意的情况下获取、存储和应用的。
随着大数据技术的发展,以及传统数据库技术的进一步演进,企业在数据架构上的选择越来越多。目前一个企业中的数据通常存储在多个数据源,对于业务复杂的企业,数据源甚至数十个到上百个。对于数据的挖掘分析,往往需要横跨多个业务系统,这时就需要具有联邦查询能力的计算引擎,对这些业务系统底层的异构数据源进行联邦分析。
需要说明的是,数据源处理插件是联邦查询引擎用来连接对应数据源,并对数据源进行读写等操作的工具。在实际应用场景中,往往在查询的过程中需要添加数据源处理插件,比如:开启联邦查询服务时没有启用某些数据源,但是后来的查询任务却需要用到这些数据源;或者联邦查询引擎一开始不支持某数据源,后来增加了支持该数据源;或者联邦查询引擎的某些数据源处理插件的更新等。
但是,目前主流的联邦查询引擎,在添加数据源插件时,需要重启服务才能完成数据源对应的数据处理插件的加载。
基于上述问题,本公开提供了一种数据源处理插件动态加载的方法、装置、设备及存储介质。
图1为本公开实施例提供的一种数据源处理插件动态加载的方法的流程图。该方法可应用于分布式联邦查询引擎集群中。需要说明的是,本公开实施例中的数据源处理插件动态加载的方法可用于本公开实施例中的数据源处理插件动态加载的装置,且该装置可配置于电子设备中。如图1所示,该方法可以包括以下步骤:
步骤101,响应于对数据源处理插件的操作请求,根据操作请求获取操作信息和插件配置信息。
在本公开的一些实施例中,对数据源处理插件的操作请求可以是由客户端发起、或者通过API(Application Programming Interface,应用程序接口)调用发起,也可以根据实际应用场景采用其他的方式发起,本公开对此不作限定。其中,针对由客户端发起的情况,可以为用户通过交互界面,根据实际需要发起对数据源处理插件的操作请求。
其中,对数据源处理插件的操作请求可以为新增数据源的操作请求、也可以为修改数据源处理插件的配置文件中的配置信息的请求,也可以为增加数据源处理插件的配置文件的请求。需要说明的是,数据源处理插件的加载,需要数据源处理插件的库文件和对应的配置信息,通常为了业务方便,每个数据源处理插件可以包括多种配置信息,每种配置信息组成一个配置文件。在本公开的一些实施例中,对数据源处理插件的操作请求可以包括操作信息和插件配置信息。操作信息是指需要对数据源处理插件的处理操作,可以包括新增数据源、修改配置(修改数据源处理插件的配置信息)、新增配置(新增数据源处理插件的配置信息)。
在本公开的一些实施例中,当操作信息为新增数据源时,根据操作请求获取的插件配置信息包括新增的数据源处理插件的库文件和配置文件;当操作信息为新增配置时,根据操作请求获取的插件配置信息包括新增操作对应的配置文件;当操作信息为修改配置时,根据操作请求获取的插件配置信息包括修改操作对应的配置文件。
步骤102,根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
需要说明的是,分布式联邦查询引擎集群的共享存储模块是指集群中各节点可共享的存储模块,也就是说任何集群中任何节点均可访问共享存储模块。该共享存储模块中存储着分布式联邦查询引擎集群可支持的数据源相关的数据源处理插件库文件信息和配置文件信息。
在本公开的一些实施例中,根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新的实现方式可以为:假如操作信息为新增数据源,则将该数据源从插件配置信息更新到共享存储模块中的插件配置信息中;假如操作信息为修改配置,可以根据插件配置信息确定需要修改的数据源处理插件标识和需要修改的配置信息对应的配置文件标识,根据数据源处理插件标识和配置文件标识,在共享存储模块找到对应的配置文件,并使用操作请求的插件配置信息中的配置文件对其进行替换;假如操作信息为新增配置,可以根据插件配置信息确定需要新增的配置对应的数据源处理插件标识,并根据数据源处理插件标识确定该新增的配置文件对应的存储位置,再将操作请求的插件配置信息中配置文件存储至共享存储模块中的对应位置。
步骤103,将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;其中,计算节点为分布式联邦查询引擎集群中的节点。
可以理解,分布式联邦查询引擎集群中包括多个计算节点,每个计算节点用于执行对应的查询任务,以分担分布式联邦查询引擎的查询任务。为了使计算节点的本地存储模块中的插件配置信息,与共享存储模块中的插件配置信息一致,使计算节点中的数据源处理插件也进行同样的更新,以便于执行对应的查询任务,可以将计算节点的本地存储模块中的插件配置信息,与共享存储模块中的插件配置信息进行比对,并根据二者之间的差异,并将计算节点中的本地存储模块中的插件配置信息更新为与共享存储模块中的插件配置信息一致。
在本公开的一些实施例中,计算节点的本地存储模块中的插件配置信息和共享存储模块中的插件配置信息中,均包括数据源处理插件的库文件和数据源处理插件的配置文件,并按照预设的存储方式进行存储。更新插件配置信息是指,针对每个计算节点,该计算节点的本地存储模块中的插件配置信息与共享存储模块中的插件配置信息的差异信息。
作为一种示例,可以在每个计算节点的工作进程中建立扫描线程,该扫描线程用于将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异对比,其中每个计算节点扫描线程的扫描间隔时长可以相同,也可以不同;监控各扫描线程的扫描结果,假如扫描线程的扫描结果为二者不一致,则根据比对过程中的差异,获取更新插件配置信息。
步骤104,基于更新插件配置信息,对计算节点的数据源处理插件进行加载。
也就是说,基于更新插件配置信息,可以将计算节点的本地存储的插件配置信息进行更新,并根据更新的配置信息对计算节点的数据源处理插件进行加载。
可以理解,计算节点在执行查询任务时进行某数据源的访问时,使用该数据源对应的数据源处理插件的插件实例来实现对数据源进行读写等操作。其中,插件实例基于数据源处理插件的库文件与配置文件进行插件加载而得到的。所以为了使查询任务的顺利进行,需要对更新插件配置信息对应的数据源处理插件进行加载,得到对应的插件实例,这样,计算节点可以使用得到的插件实例执行对应的查询任务。
作为一种示例,可以在计算节点的工作进程中建立更新线程和扫描线程,扫描线程用于将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,更新线程用于监控扫描线程的扫描结果;更新线程根据更新插件配置信息,驱动计算节点的本地存储模块进行插件配置信息的更新,并将更新的插件配置文件及对应的数据源处理插件的库文件发送给工作进程中的插件加载模块,使插件加载模块可以根据更新的插件配置文件及对应的数据源处理插件的库文件,对计算节点的数据源处理插件进行加载。
在本公开的另一些实施例中,本方法还可以针对数据源处理插件的查看请求,为发起方反馈数据源处理插件的相关信息。作为一种示例,其实现方式可以包括:相应于对数据源处理插件的查看请求,根据该查看请求获取待查看的数据源处理插件标识;根据数据源处理插件标识,在对应节点的本地存储模块中或者共享存储模块中查找该数据源处理插件标识对应的数据源处理插件的插件实例编号,及各插件实例对应的配置文件,并将插件实例编号及各插件实例对应的配置文件发送给请求发起方。
根据本公开实施例的数据源处理插件动态加载的方法,通过根据对数据源处理插件的操作请求,获取的操作信息和插件配置信息,对于分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新,并基于共享存储模块中的插件配置信息更新各计算节点的本地存储模块,从而可以在不重启联邦查询服务的情况下,实现对计算节点的数据源处理插件的动态加载,进而可以提升联邦查询引擎的可用性及灵活性。
为了保证数据源处理插件的操作请求的有效性,本公开基于获取操作信息和插件配置信息的步骤提出了另一个实施例。
图2为本公开实施例中获取操作信息和插件配置信息的流程图。在本公开实施例中对数据源处理插件的操作请求中可以包括身份信息,该身份信息是指操作请求发起端的身份信息。如图2所示,在上述实施例的基础上,该实现方式包括:
步骤201,从操作请求中获取操作信息和身份信息。
步骤202,根据操作信息和身份信息,校验操作请求的发起端是否有对数据源处理插件的操作权限。
在本公开的一些实施例中,可以对针对各身份信息预设对应的数据源处理插件操作权限,根据操作请求中的身份信息,获取该身份信息预设的操作权限,将该操作权限与操作信息进行比对,以校验操作请求的发起端是否有对数据源处理插件的操作权限。
步骤203,响应于操作请求的发起端有对数据源处理插件的操作权限,根据操作请求获取插件配置信息。
可以理解,若操作请求的发起端有对数据源处理插件的操作权限,说明允许根据该操作请求对数据源处理插件进行对应操作。
作为一种示例,若操作请求的发起端有对数据源处理插件的操作权限,则可以接收该操作请求对应的插件配置信息;若操作请求的发起端没有对数据源处理插件的操作权限,则可以向操作请求的发起端发送反馈信息,比如“您没有对应的操作权限”。
为了进一步对插件配置信息的格式进行校验,本公开实施例还可以包括以下步骤:
步骤204,对插件配置信息进行解析,获得插件配置信息中各参数信息。
步骤205,对各参数信息进行格式校验。
可以理解,数据源处理插件的加载需要配置对相关参数进行配置,所以需要校验获得的插件配置信息中的参数是否已包括全部必要参数,以及各参数的格式是否正确,以确保操作请求的有效性。
作为一种示例,可以校验参数信息是否已包括全部必要参数,若参数信息不全,则向操作请求发起方发送反馈信息,比如“缺少XX参数”,若参数信息已包括全部必要参数,则继续校验各参数的格式是否正确。举例而言,可以为各参数预设对应的格式,将各参数信息分别与其对应格式进行比对,若各参数信息均与预设的格式一致,则说明格式校验成功,若存在一个或多个参数信息与预设的格式不一致,则说明格式校验失败,并向操作请求发起方发送反馈信息,比如“XX参数格式校验失败”。
步骤206,响应于格式校验成功,执行根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新的步骤。
根据本公开实施例的数据源处理插件动态加载的方法,根据操作请求中的身份信息和操作信息,来对操作请求的发起端是否有对数据源处理插件的操作权限进行校验,针对操作请求的发起端有对数据源处理插件的操作权限时,再根据操作请求获取插件配置信息,可以避免数据源处理插件信息被任意修改,保证联邦查询服务的正常允许,也可以通过权限校验来减少不必要的资源浪费。此外,针对操作请求中的插件配置信息中的参数信息进行格式校验,可以通过对明显不符合规范的操作请求进行过滤,实现对插件配置信息的前置校验,有助于减少资源浪费,提高查询服务的成功率。
为了避免对计算节点的数据源处理插件进行加载时出现配置错误,本公开提供了又一个实施例。
图3为本公开实施例提供的另一种数据源处理插件动态加载的方法的流程图。如图3所示,在上述实施例的基础上,该方法包括以下步骤:
步骤301,响应于对数据源处理插件的操作请求,根据操作请求获取操作信息和插件配置信息。
步骤302,根据插件配置信息对数据源处理插件进行预加载处理。
也就是说,为了进一步校验插件配置信息,可以预先试验一下根据插件配置信息是否可以实现数据源处理插件的加载。
作为一种示例,若操作请求的操作信息为新增数据源,则可以根据插件配置信息中对应的数据源处理插件的库文件和配置文件,进行预加载处理,判定是否可以完成该数据源处理插件的实例化;若操作请求的操作信息为新增或修改配置,可以根据插件配置信息确定操作请求对应的数据源处理插件标识,并根据数据源处理插件标识在对应节点的本地存储中获取该数据源处理插件的库文件,从而可以根据库文件和插件配置信息中的配置文件,进行预加载处理,判定是否可以完成该数据源处理插件的实例化;若可以获得对应的插件实例,则预加载处理成功,否则说明插件配置信息中存在错误,以至于不能实现实例化,并将预加载处理失败信息发送给操作请求的发起方。
作为另一种示例,该预加载处理过程还可以包括使用获得的插件实例执行预设的任务,若执行成功,说明预加载处理成功,否则说明预加载处理失败。
步骤303,响应于预加载处理成功,根据操作信息和插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
步骤304,将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;其中,计算节点为分布式联邦查询引擎集群中的节点。
步骤305,基于更新插件配置信息,对计算节点的数据源处理插件进行加载。
需要说明的是,图3中的步骤301、步骤304和步骤305的实现方式与本公开中其他实施例对应的步骤实现方式一致,此处不再赘述。
根据本公开实施例的数据源处理插件动态加载的方法,增加了根据插件配置信息对数据源处理插件进行预加载处理,若预加载处理成功,则再执行根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新的步骤。这样,可以在数据源处理插件动态加载之前进一步对配置进行检测,以避免由于插件配置信息错误造成后续查询任务执行失败,从而可以避免不必要的资源消耗,也可以有效地提升查询成功率。
为了降低资源占用,本公开还支持删除操作请求,基于此本公开提出了又一个实施例。
图4为本公开实施例提供的一种针对删除操作请求的数据源处理插件动态加载的方法流程图。如图4所示,在上述实施例的基础上,针对删除操作请求,该方法还可以包括:
步骤401,响应于对数据源处理插件的删除操作请求,根据删除操作请求获取待删除的配置文件标识。
可以理解,在查询服务进行中,会有停止对某些数据源访问的需求,在这种情况下,可以将对应的插件实例删除,以避免资源的占用。
在本公开的一些实施例中,对数据源处理插件的删除操作请求可以是由客户端发起、或者通过API调用发起,也可以根据实际应用场景采用其他的方式发起,本公开对此不作限定。其中,针对由客户端发起的情况,可以为用户通过交互界面,根据实际需要发起对数据源处理插件的删除操作请求。
其中,删除操作请求针对的是已加载的数据源处理插件,所以该操作请求中可以包括待删除的配置文件标识。
在本公开的一些实施例中,删除操作请求中也可以包括身份信息,该身份信息是删除操作请求的发起端的身份信息,从而可以根据预设的操作权限,校验该身份信息是否具有对数据源处理插件进行删除操作的权限。
步骤402,根据配置文件标识,删除共享存储模块之中对应的配置文件。
作为一种示例,删除共享存储模块之中对应的配置文件的实现方式可以包括:根据删除操作请求中的待删除的配置文件标识,在共享存储模块中找到待删除的配置文件,并将该文件进行删除。
步骤403,将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得删除配置文件信息。
可以理解,分布式联邦查询引擎集群中包括多个计算节点,每个计算节点用于执行对应的查询任务,以分担分布式联邦查询引擎的查询任务。为了使计算节点的本地存储模块中的插件配置信息,与共享存储模块中的插件配置信息一致,使计算节点中的数据源处理插件也进行同样的更新,以降低资源的占用,可以将计算节点的本地存储模块中的插件配置信息,与共享存储模块中的插件配置信息进行比对,并根据二者之间的差异,并将计算节点中的本地存储模块中的插件配置信息更新为与共享存储模块中的插件配置信息一致。
在本公开实施例中,删除配置文件信息是指通过将计算节点中的本地存储模块中的插件配置信息与共享存储模块中的插件配置信息进行比对,得到的本地存储模块中需要删除的插件配置文件信息。
作为一种示例,可以在每个计算节点的工作进程中建立扫描线程,该扫描线程用于将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异对比,其中每个计算节点扫描线程的扫描间隔时长可以相同,也可以不同;监控各扫描线程的扫描结果,假如扫描线程的扫描结果为二者不一致,则根据比对过程中的差异,获取删除配置文件信息。
步骤404,删除计算节点上与删除配置文件信息对应的插件实例。
也就是说,得到删除配置文件信息之后,可以将计算节点上与删除配置文件信息对应的插件实例删除,已降低内存资源的占用。
作为一种示例,可以在计算节点的工作进程中建立更新线程和扫描线程,扫描线程用于将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,更新线程用于监控扫描线程的扫描结果;更新线程根据删除配置文件信息,驱动计算节点的本地存储模块进行将对应的配置文件删除;对应配置文件的插件实例可以使用的标识,所以可以根据删除配置文件信息确定其对应的插件实例标识,并在内存中将该插件实例删除。
根据本公开实施例的数据源处理插件动态加载的方法,通过根据对数据源处理插件的删除操作请求,根据删除操作请求的待删除的配置文件标识,来将共享存储模块中的对应配置文件删除,并基于共享存储模块中的插件配置信息与计算节点的本地存储模块中的插件配置信息的比对结果,获得删除配置文件信息,从而可以将计算节点上与该删除配置文件信息对应的插件实例删除,也就是说,本方案不仅可以在不重启联邦查询服务的情况下,实现对计算节点的数据源处理插件的动态加载,也可以动态删除对应的数据源处理插件的实例,降低资源的占用,提升联邦查询引擎查询效率。
为了使调度节点可以根据各计算节点支持的数据源处理插件来调度任务,本公开提出了又一个实施例。
图5为本公开实施例提供的又一种数据源处理插件动态加载的方法的流程图。如图5所示,当数据源处理插件的操作请求包括新增数据源操作请求、修改配置和新增配置时,其实现过程包括以下步骤:
步骤501,响应于对数据源处理插件的操作请求,根据操作请求获取操作信息和插件配置信息。
步骤502,根据插件配置信息对数据源处理插件进行预加载处理。
步骤503,响应于预加载处理成功,根据操作信息和插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
步骤504,将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;其中,计算节点为分布式联邦查询引擎集群中的节点。
步骤505,基于更新插件配置信息,对计算节点的数据源处理插件进行加载。
步骤506,获得计算节点加载数据源处理插件后得到的插件实例。
可以理解,对计算节点的数据源处理插件进行加载后,得到对应的插件实例,并将其置于内存中,以便于计算节点执行查询任务时使用。
在本公开的一些实施例中,由于每个插件实例的获得是根据对应的配置文件实例化得到的,所以可以使用配置文件的标识作为得到的插件实例的标识,比如使用配置文件的编号作为得到的插件实例的编号,以实现插件实例与配置文件的对应。
步骤507,将插件实例注册至插件注册中心。
在本公开的一些实施例中,插件注册中心是指分布式联邦查询引擎集群中负责维护各节点支持的数据源处理插件的信息,以使集群中的调度节点可以根据插件注册中心获取的信息来生成对应的分布式执行计划。
也就是说,针对每个计算节点,在对该计算节点的数据源处理插件加载之后,均将得到的插件实例注册至插件注册中心,从而可以记录该计算节点可以支持某数据源处理插件的对应插件实例,以便可以将相应的任务调度到该计算节点。
作为一种示例,将插件实例注册至插件注册中心的实现方式可以包括:获取该插件实例的编号和加载该插件实例的计算节点标识;根据该计算节点标识,获取其注册信息在插件注册中心的位置,并将该插件实例编号记录到该计算节点在在插件注册中心的对应位置。
在本公开实施例中,针对删除操作请求,本方法还包括以下步骤:
步骤508,响应于对数据源处理插件的删除操作请求,根据删除操作请求获取待删除的配置文件标识。
步骤509,根据配置文件标识,删除共享存储模块之中对应的配置文件。
步骤510,将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得删除配置文件信息。
步骤511,删除计算节点上与删除配置文件信息对应的插件实例。
步骤512,获得计算节点上被删除的插件实例。
步骤513,将插件注册中心之中被删除的插件实例的注册信息进行删除。
也就是说,针对接收到删除操作请求的情况,在将计算节点上对应的插件实例删除后,说明该计算节点已不再支持该插件实例相关的查询操作,所以为了保证该计算节点的查询任务顺利执行,需要将插件注册中心之中对应的插件实例的注册信息删除,以使调度节点在进行任务调度时,不再将与该插件实例相关的任务分配给该计算节点。
作为一种示例,将插件注册中心之中被删除的插件实例的注册信息进行删除的实现方式可以包括:获取被删除的插件实例的编号和删除该插件实例的计算节点标识;根据该计算节点标识,在插件注册中心获取该计算节点的注册信息,并将该插件实例编号在注册信息中删除。
需要说明的是,分布式联邦查询引擎集群中的调度节点为分布式联邦查询引擎集群中负责任务调度的节点。分布式联邦查询引擎集群在接收到联邦查询请求后,会由集群中的调度节点基于插件注册中心的注册信息和联邦查询请求生成分布式联邦查询任务,每个分布式联邦查询任务均对应着执行该任务的计算节点。
此外,在本公开的一些实施例中,该方法也包括将调度节点的本地存储模块中的插件配置信息,与共享存储模块之中的插件配置信息进行差异比对,以更新调度节点的本地存储模块,并根据更新的插件配置信息,对调度节点中对应的数据源处理插件进行加载。针对数据源处理插件的删除操作请求,即对调度节点中对应的插件实例进行删除。这样,可以使调度节点可以根据加载后得到的插件实例,将联邦查询请求翻译成具体可执行的查询计划,再根据插件注册中心的注册信息,生成分布式联邦查询任务。
所以在本公开实施例中,该方法还可以包括:
步骤514,在执行调度节点发送的分布式联邦查询任务时,采用分布式联邦查询任务对应的计算节点上的插件实例处理对应数据源。
也就是说,由于每个分布式联邦查询任务对应着执行该任务的计算节点,所以在执行调度节点发送的分布式联邦查询任务时,使用对应的计算节点上的插件实例来连接对应的数据源,并对数据源进行读写等操作。
根据本公开实施例的数据源处理插件动态加载方法,使用插件注册中心来维护各节点支持的数据源处理插件,通过将计算节点加载数据源处理插件得到的插件实例注册至插件注册中心,以及将计算节点删除的插件实例在插件注册中心的注册信息中删除,来更新插件注册中心的注册信息,以使调度节点可以根据插件注册中心的注册信息来生成分布式联邦查询任务,从而可以在执行调度节点发送的分布式联邦查询任务时,采用查询任务对应的计算节点上的插件实例处理对应数据源,不仅可以提升联邦查询的成功率,也可以对资源有效利用,减少资源的浪费。
为了实现上述实施例,本公开提供了一种数据源处理插件动态加载的装置。
图6为本公开实施例提供的一种数据源处理插件动态加载的装置的结构框图。该装置应用于分布式联邦查询引擎集群。如图6所示,该装置包括:
插件服务模块601,用于响应于对数据源处理插件的操作请求,根据操作请求获取操作信息和插件配置信息;
更新模块602,用于根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新;
扫描模块603,将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;计算节点为分布式联邦查询引擎集群中的节点;
插件加载模块604,用于基于更新插件配置信息,对计算节点的数据源处理插件进行加载。
在本公开的一些实施例中,操作请求中包括身份信息;插件服务模块604具体用于:
从操作请求中获取操作信息和身份信息;
根据操作信息和身份信息,校验操作请求的发起端是否有对数据源处理插件的操作权限;
响应于操作请求的发起端有对数据源处理插件的操作权限,根据操作请求获取插件配置信息。
在本公开的一些实施例中,插件服务模块601还用于:
在根据操作请求获取插件配置信息之后,对插件配置信息进行解析,获得插件配置信息中各参数信息;
对各参数信息进行格式校验;
其中,更新模块602,用于响应于格式校验成功,根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
在本公开的一些实施例中,该装置还包括:
插件预加载模块605,用于根据插件配置信息对数据源处理插件进行预加载处理;
其中,更新模块602,还用于响应于预加载处理成功,根据操作信息和插件配置信息,对分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
在本公开的一些实施例中,操作信息为新增数据源时,根据操作请求获取的插件配置信息包括新增的数据源处理插件的库文件和配置文件;操作信息为新增配置时,根据操作请求获取的插件配置信息包括新增操作对应的配置文件;操作信息为修改配置时,根据操作请求获取的插件配置信息包括修改操作对应的配置文件。
根据本公开实施例的数据源处理插件动态加载的装置,通过根据对数据源处理插件的操作请求,获取的操作信息和插件配置信息,对于分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新,并基于共享存储模块中的插件配置信息更新各计算节点的本地存储模块,从而可以在不重启联邦查询服务的情况下,实现对计算节点的数据源处理插件的动态加载,进而可以提升联邦查询引擎的可用性及灵活性。
图7为本公开实施例提供的另一种数据源处理插件动态加载的装置的结构框图。如图7所示,在上述实施例的基础上,该装置还可以包括:
第一获取模块706,用于响应于对数据源处理插件的删除操作请求,根据删除操作请求获取待删除的配置文件标识;
第一删除模块707,用于根据配置文件标识,删除共享存储模块之中对应的配置文件;
第二获取模块708,用于将计算节点的本地存储模块中的插件配置信息与共享存储模块之中的插件配置信息进行差异比对,获得删除配置文件信息;
第二删除模块709,用于删除计算节点上与删除配置文件信息对应的插件实例。
需要说明的是,图7中的模块701至705与图6中的模块601至605具有相同的功能结构,此处不再赘述。
根据本公开实施例的数据源处理插件动态加载的装置,通过根据对数据源处理插件的删除操作请求,根据删除操作请求的待删除的配置文件标识,来将共享存储模块中的对应配置文件删除,并基于共享存储模块中的插件配置信息与计算节点的本地存储模块中的插件配置信息的比对结果,获得删除配置文件信息,从而可以将计算节点上与该删除配置文件信息对应的插件实例删除,也就是说,本方案不仅可以在不重启联邦查询服务的情况下,实现对计算节点的数据源处理插件的动态加载,也可以动态删除对应的数据源处理插件的实例,降低资源的占用,提升联邦查询引擎查询效率。
图8为本公开实施例提供的又一种数据源处理插件动态加载的装置的结构框图。如图8所示,在上述实施例的基础上,该装置还包括注册模块810,该模块用于:
获得计算节点加载数据源处理插件后得到的插件实例;
将插件实例注册至插件注册中心。
在本公开的一些实施例中,该装置还可以包括删除注册模块811,该删除注册模块811用于:
获得计算节点上被删除的插件实例;
将插件注册中心之中被删除的插件实例的注册信息进行删除。
此外,在本公开的一些实施例中,该装置还可以包括:
任务执行模块812,用于在执行调度节点发送的分布式联邦查询任务时,采用分布式联邦查询任务对应的计算节点上的插件实例处理对应数据源;
其中,分布式联邦查询任务是由调度节点基于插件注册中心中的注册信息和联邦查询请求生成的;调度节点为分布式联邦查询引擎集群中负责任务调度的节点。
需要说明的是,图8中的模块801至809与图7中的模块701至709具有相同的功能结构,此处不再赘述。
根据本公开实施例的数据源处理插件动态加载装置,使用插件注册中心来维护各节点支持的数据源处理插件,通过将计算节点加载数据源处理插件得到的插件实例注册至插件注册中心,以及将计算节点删除的插件实例在插件注册中心的注册信息中删除,来更新插件注册中心的注册信息,以使调度节点可以根据插件注册中心的注册信息来生成分布式联邦查询任务,从而可以在执行调度节点发送的分布式联邦查询任务时,采用查询任务对应的计算节点上的插件实例处理对应数据源,不仅可以提升联邦查询的成功率,也可以对资源有效利用,减少资源的浪费。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如数据源处理插件动态加载的方法。例如,在一些实施例中,数据源处理插件动态加载的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的数据源处理插件动态加载的方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据源处理插件动态加载的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (21)
1.一种数据源处理插件动态加载的方法,应用于分布式联邦查询引擎集群,所述方法包括:
响应于对数据源处理插件的操作请求,根据所述操作请求获取操作信息和插件配置信息;
根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新;
将计算节点的本地存储模块中的插件配置信息与所述共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;所述计算节点为所述分布式联邦查询引擎集群中的节点;
基于所述更新插件配置信息,对所述计算节点的数据源处理插件进行加载。
2.根据权利要求1所述的方法,其中,所述操作请求中包括身份信息;所述根据所述操作请求获取操作信息和插件配置信息,包括:
从所述操作请求中获取操作信息和所述身份信息;
根据所述操作信息和所述身份信息,校验所述操作请求的发起端是否有对数据源处理插件的操作权限;
响应于所述操作请求的发起端有对数据源处理插件的操作权限,根据所述操作请求获取所述插件配置信息。
3.根据权利要求2所述的方法,在所述根据所述操作请求获取所述插件配置信息之后,所述方法还包括:
对所述插件配置信息进行解析,获得所述插件配置信息中各参数信息;
对所述各参数信息进行格式校验;
响应于所述格式校验成功,执行所述根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新的步骤。
4.根据权利要求1所述的方法,还包括:
根据所述插件配置信息对数据源处理插件进行预加载处理;
响应于所述预加载处理成功,执行所述根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新的步骤。
5.根据权利要求1至4中任一项所述的方法,其中,所述操作信息为新增数据源时,根据所述操作请求获取的插件配置信息包括新增的数据源处理插件的库文件和配置文件;所述操作信息为新增配置时,根据所述操作请求获取的插件配置信息包括新增操作对应的配置文件;所述操作信息为修改配置时,根据所述操作请求获取的插件配置信息包括修改操作对应的配置文件。
6.根据权利要求1所述的方法,还包括:
获得所述计算节点加载所述数据源处理插件后得到的插件实例;
将所述插件实例注册至插件注册中心。
7.根据权利要求1所述的方法,还包括:
响应于对数据源处理插件的删除操作请求,根据所述删除操作请求获取待删除的配置文件标识;
根据所述配置文件标识,删除所述共享存储模块之中对应的配置文件;
将计算节点的本地存储模块中的插件配置信息与所述共享存储模块之中的插件配置信息进行差异比对,获得删除配置文件信息;
删除所述计算节点上与所述删除配置文件信息对应的插件实例。
8.根据权利要求7所述的方法,还包括:
获得所述计算节点上被删除的插件实例;
将插件注册中心之中所述被删除的插件实例的注册信息进行删除。
9.根据权利要求6或8所述的方法,还包括:
在执行调度节点发送的分布式联邦查询任务时,采用所述分布式联邦查询任务对应的计算节点上的插件实例处理对应数据源;
其中,所述分布式联邦查询任务是由所述调度节点基于所述插件注册中心中的注册信息和联邦查询请求生成的;所述调度节点为所述分布式联邦查询引擎集群中负责任务调度的节点。
10.一种数据源处理插件动态加载的装置,应用于分布式联邦查询引擎集群,所述装置包括:
插件服务模块,用于响应于对数据源处理插件的操作请求,根据所述操作请求获取操作信息和插件配置信息;
更新模块,用于根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新;
扫描模块,将计算节点的本地存储模块中的插件配置信息与所述共享存储模块之中的插件配置信息进行差异比对,获得更新插件配置信息;所述计算节点为所述分布式联邦查询引擎集群中的节点;
插件加载模块,用于基于所述更新插件配置信息,对所述计算节点的数据源处理插件进行加载。
11.根据权利要求10所述的装置,其中,所述操作请求中包括身份信息;所述插件服务模块具体用于:
从所述操作请求中获取操作信息和所述身份信息;
根据所述操作信息和所述身份信息,校验所述操作请求的发起端是否有对数据源处理插件的操作权限;
响应于所述操作请求的发起端有对数据源处理插件的操作权限,根据所述操作请求获取所述插件配置信息。
12.根据权利要求11所述的装置,其中,所述插件服务模块还用于:
在所述根据所述操作请求获取所述插件配置信息之后,对所述插件配置信息进行解析,获得所述插件配置信息中各参数信息;
对所述各参数信息进行格式校验;
其中,所述更新模块,用于响应于所述格式校验成功,根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
13.根据权利要求10所述的装置,还包括:
插件预加载模块,用于根据所述插件配置信息对数据源处理插件进行预加载处理;
其中,所述更新模块,还用于响应于所述预加载处理成功,根据所述操作信息和所述插件配置信息,对所述分布式联邦查询引擎集群的共享存储模块之中的插件配置信息进行更新。
14.根据权利要求10至13中任一项所述的装置,其中,所述操作信息为新增数据源时,根据所述操作请求获取的插件配置信息包括新增的数据源处理插件的库文件和配置文件;所述操作信息为新增配置时,根据所述操作请求获取的插件配置信息包括新增操作对应的配置文件;所述操作信息为修改配置时,根据所述操作请求获取的插件配置信息包括修改操作对应的配置文件。
15.根据权利要求10所述的装置,还包括注册模块,所述注册模块用于:
获得所述计算节点加载所述数据源处理插件后得到的插件实例;
将所述插件实例注册至插件注册中心。
16.根据权利要求10所述的装置,还包括:
第一获取模块,用于响应于对数据源处理插件的删除操作请求,根据所述删除操作请求获取待删除的配置文件标识;
第一删除模块,用于根据所述配置文件标识,删除所述共享存储模块之中对应的配置文件;
第二获取模块,用于将计算节点的本地存储模块中的插件配置信息与所述共享存储模块之中的插件配置信息进行差异比对,获得删除配置文件信息;
第二删除模块,用于删除所述计算节点上与所述删除配置文件信息对应的插件实例。
17.根据权利要求16所述的装置,还包括删除注册模块,所述删除注册模块用于:
获得所述计算节点上被删除的插件实例;
将插件注册中心之中所述被删除的插件实例的注册信息进行删除。
18.根据权利要求15或17所述的装置,还包括:
任务执行模块,用于在执行调度节点发送的分布式联邦查询任务时,采用所述分布式联邦查询任务对应的计算节点上的插件实例处理对应数据源;
其中,所述分布式联邦查询任务是由所述调度节点基于所述插件注册中心中的注册信息和联邦查询请求生成的;所述调度节点为所述分布式联邦查询引擎集群中负责任务调度的节点。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111260745.8A CN114090113B (zh) | 2021-10-27 | 2021-10-27 | 数据源处理插件动态加载的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111260745.8A CN114090113B (zh) | 2021-10-27 | 2021-10-27 | 数据源处理插件动态加载的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114090113A true CN114090113A (zh) | 2022-02-25 |
CN114090113B CN114090113B (zh) | 2023-11-10 |
Family
ID=80297996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111260745.8A Active CN114090113B (zh) | 2021-10-27 | 2021-10-27 | 数据源处理插件动态加载的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090113B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348185A (zh) * | 2022-08-19 | 2022-11-15 | 招银云创信息技术有限公司 | 一种分布式查询引擎的控制方法及其控制装置 |
CN115563183A (zh) * | 2022-09-22 | 2023-01-03 | 北京百度网讯科技有限公司 | 查询方法、装置及程序产品 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006091578A2 (en) * | 2005-02-22 | 2006-08-31 | Knowledge Vector, Inc. | Method and system for extensible profile- and context-based information correlation, routing and distribution |
US20060265397A1 (en) * | 2001-03-06 | 2006-11-23 | Knowledge Vector, Inc. | Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution |
CN105335472A (zh) * | 2015-09-30 | 2016-02-17 | 北京京东尚科信息技术有限公司 | 一种更新数据查询引擎配置列表的方法及装置 |
EP3015984A1 (en) * | 2014-10-29 | 2016-05-04 | Hewlett-Packard Development Company, L.P. | Providing data from data sources |
CN109189589A (zh) * | 2018-08-14 | 2019-01-11 | 北京博睿宏远数据科技股份有限公司 | 一种分布式大数据计算引擎及架构方法 |
CN111596967A (zh) * | 2020-04-27 | 2020-08-28 | 中国银联股份有限公司 | 应用功能配置方法、终端设备、服务器及存储介质 |
CN111880899A (zh) * | 2020-07-27 | 2020-11-03 | 山东迪特智联信息科技有限责任公司 | 一种基于云原生架构的大数据流处理方法和装置 |
CN112162793A (zh) * | 2020-09-30 | 2021-01-01 | 武汉斗鱼鱼乐网络科技有限公司 | 结构化视图业务分离的方法、存储介质、电子设备及系统 |
CN112162896A (zh) * | 2020-08-26 | 2021-01-01 | 傲普(上海)新能源有限公司 | 一种基于InfluxDB的集群数据监控方法 |
CN113312191A (zh) * | 2021-06-04 | 2021-08-27 | 西安未来国际信息股份有限公司 | 数据分析方法、装置、设备及存储介质 |
-
2021
- 2021-10-27 CN CN202111260745.8A patent/CN114090113B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265397A1 (en) * | 2001-03-06 | 2006-11-23 | Knowledge Vector, Inc. | Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution |
WO2006091578A2 (en) * | 2005-02-22 | 2006-08-31 | Knowledge Vector, Inc. | Method and system for extensible profile- and context-based information correlation, routing and distribution |
EP3015984A1 (en) * | 2014-10-29 | 2016-05-04 | Hewlett-Packard Development Company, L.P. | Providing data from data sources |
CN105335472A (zh) * | 2015-09-30 | 2016-02-17 | 北京京东尚科信息技术有限公司 | 一种更新数据查询引擎配置列表的方法及装置 |
CN109189589A (zh) * | 2018-08-14 | 2019-01-11 | 北京博睿宏远数据科技股份有限公司 | 一种分布式大数据计算引擎及架构方法 |
CN111596967A (zh) * | 2020-04-27 | 2020-08-28 | 中国银联股份有限公司 | 应用功能配置方法、终端设备、服务器及存储介质 |
CN111880899A (zh) * | 2020-07-27 | 2020-11-03 | 山东迪特智联信息科技有限责任公司 | 一种基于云原生架构的大数据流处理方法和装置 |
CN112162896A (zh) * | 2020-08-26 | 2021-01-01 | 傲普(上海)新能源有限公司 | 一种基于InfluxDB的集群数据监控方法 |
CN112162793A (zh) * | 2020-09-30 | 2021-01-01 | 武汉斗鱼鱼乐网络科技有限公司 | 结构化视图业务分离的方法、存储介质、电子设备及系统 |
CN113312191A (zh) * | 2021-06-04 | 2021-08-27 | 西安未来国际信息股份有限公司 | 数据分析方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
庄阿刚;刘雁飞;: "xDB:异构政务信息云服务中间件的实现", 浙江海洋学院学报(自然科学版), no. 02 * |
熊安萍;王化晶;蒋溢;马彬;: "一种基于SOA的数据集成体系结构", 重庆邮电大学学报(自然科学版), no. 04 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348185A (zh) * | 2022-08-19 | 2022-11-15 | 招银云创信息技术有限公司 | 一种分布式查询引擎的控制方法及其控制装置 |
CN115348185B (zh) * | 2022-08-19 | 2023-12-05 | 招银云创信息技术有限公司 | 一种分布式查询引擎的控制方法及其控制装置 |
CN115563183A (zh) * | 2022-09-22 | 2023-01-03 | 北京百度网讯科技有限公司 | 查询方法、装置及程序产品 |
CN115563183B (zh) * | 2022-09-22 | 2024-04-09 | 北京百度网讯科技有限公司 | 查询方法、装置及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN114090113B (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016480B (zh) | 任务调度方法、装置及系统 | |
CN114090113B (zh) | 数据源处理插件动态加载的方法、装置、设备及存储介质 | |
CN111782669B (zh) | 一种分布式锁的实现方法、装置及电子设备 | |
CN111198769A (zh) | 信息处理方法及其系统、计算机系统及计算机可读介质 | |
CN110555150B (zh) | 一种数据监控方法、装置、设备和存储介质 | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
WO2019148728A1 (zh) | 电子装置、分布式系统执行任务分配方法及存储介质 | |
US20140129611A1 (en) | System and Method for Accessing Mainframe System Automation from a Process Automation Application | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN116701053B (zh) | 生产环境数据库的数据备份恢复方法、装置、设备及介质 | |
CN111831567A (zh) | 应用的测试环境配置方法、装置、系统和介质 | |
CN111767149A (zh) | 调度方法、装置、设备及存储设备 | |
CN116451210A (zh) | 权限回收方法、装置、设备及存储介质 | |
US20100162248A1 (en) | Complex dependency graph with bottom-up constraint matching for batch processing | |
CN113132400B (zh) | 业务处理方法、装置、计算机系统及存储介质 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN113297081A (zh) | 一种持续集成流水线的执行方法和装置 | |
CN114218313A (zh) | 数据管理方法、装置、电子设备、存储介质及产品 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN112084114A (zh) | 用于测试接口的方法和装置 | |
US8321844B2 (en) | Providing registration of a communication | |
CN114546705B (zh) | 操作响应方法、操作响应装置、电子设备以及存储介质 | |
CN116244324B (zh) | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
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 |