CN117555618A - 存储插件实现方法、装置、电子设备及存储介质 - Google Patents
存储插件实现方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117555618A CN117555618A CN202311626525.1A CN202311626525A CN117555618A CN 117555618 A CN117555618 A CN 117555618A CN 202311626525 A CN202311626525 A CN 202311626525A CN 117555618 A CN117555618 A CN 117555618A
- Authority
- CN
- China
- Prior art keywords
- storage
- plug
- plugin
- application system
- main application
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000006870 function Effects 0.000 claims abstract description 31
- 230000007246 mechanism Effects 0.000 claims abstract description 30
- 238000011068 loading method Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种存储插件实现方法、装置、电子设备及存储介质,其方法包括:在主应用系统中建立存储插件运行环境,并定义存储接口标准;根据存储接口标准在存储插件中建立存储接口;将建立了存储接口的存储插件放入主应用系统的目录中;根据存储接口在主应用系统的目录中找到存储插件,并利用反射机制加载出存储插件的信息;通过主应用系统并读取存储插件的信息,在插件配置页面对存储插件的配置信息进行配置并保存;在利用存储插件对目标文件进行存储时,在主应用系统中调用存储插件,并利用反射机制执行存储插件的功能,完成对目标文件的存储。本公开提供的存储插件实现方法网络开销小、使用起来非常方便、无须通过硬编码的方式修改功能。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种存储插件实现方法、装置、电子设备及存储介质。
背景技术
互联网项目以及传统软件项目的功能越来越来,越来越复杂,已经无法再通过编码的方式,在同一个系统中实现所有的功能,所以需要考虑通过系统间调用或者是插件的方式、将不同的功能接入到主系统中,进而实现丰富的功能。
其中,通过系统间调用的方式,主要的缺点是系统间网络开销大,系统调用需要通过接口或者RPC(Remote Procedure Call Protocol,远程过程调用协议)方式调用。
其中,通过插件的方式,由于当前大多数插件在接入主系统后需要通过硬编码的方式调用插件,有修改的时候,需要通过硬编码的方式修改功能,比较繁琐,使用起来非常不便。
发明内容
有鉴于此,本公开的目的在于提出一种网络开销小、方便使用、无须硬编码的存储插件实现方法。
基于上述目的,本公开提供了一种存储插件实现方法,其包括:
在主应用系统中建立存储插件运行环境,并定义存储接口标准;
根据所述存储接口标准在存储插件中建立存储接口;
将建立了所述存储接口的存储插件放入所述主应用系统的目录中;
根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;
通过所述主应用系统并读取所述存储插件的信息,在插件配置页面对所述存储插件的配置信息进行配置并保存;
在利用所述存储插件对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
在其中一个实施例中,所述根据所述存储接口在在所述主应用系统的目录中找到所述存储插件,包括:
扫描所述主应用系统的目录中的文件,并加载目标类型的文件,找到包含所述存储接口的文件为所述存储插件。
在其中一个实施例中,所述运行环境为java环境,所述目标类型的文件为jar文件。
在其中一个实施例中,所述扫描所述主应用系统的目录中的文件,并加载目标类型的文件,包括:在每次扫描时,只扫描所述主应用系统的目录中的新文件,并加载目标类型的文件。
在其中一个实施例中,所述存储接口标准包括所述存储插件的名称、所述存储插件的配置页面url;
所述通过所述主应用系统读取所述存储插件的信息,在插件配置页面对所述存储插件的配置信息进行配置并保存,包括:
通过所述主应用系统读取所述存储插件的名称和存储插件的配置页面url,并通过所述配置页面url打开插件配置页面,在所述插件配置页面对所述存储插件的配置信息进行配置并保存。
在其中一个实施例中,所述配置信息包括将目标文件存储的数据库的ip地址、目标端口、用户名、密码。
在其中一个实施例中,所述在利用所述存储插件对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储;包括:
在对目标文件进行存储时,先在所述主应用系统中录入所述目标文件的文本命令;
对所述文本命令进行解析,得到存储插件的名称、存储方法名称和目标文件url;
根据所述存储插件的名称找到对应的存储插件,根据所述存储方法名称和目标文件url,利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
基于同样的发明构思,本公开还提出了一种存储插件实现装置,其包括:
存储接口定义模块,用于在主应用系统中建立存储插件运行环境,并定义存储接口标准;
存储接口建立模块,用于根据所述存储接口标准在存储插件中建立存储接口;
插件集成模块,用于将建立了所述存储接口的存储插件放入所述主应用系统的目录中;
插件信息加载模块,还用于根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;
插件配置模块,用于通过所述主应用系统读取所述存储插件的信息,对所述存储插件进行配置并保存;
文件存储模块,用于在对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
基于同样的发明构思,本公开还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中所述的存储插件实现方法。
基于同样的发明构思,本公开还提出了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述实施例中所述的存储插件实现方法。
从上面所述可以看出,本公开提供的存储插件实现方法通过在主应用系统中定义接口标准,并在存储插件中建立存储接口,实现存储插件与主应用系统的对接;并通过反射机制加载插件信息,实现对插件的配置;在存储时,调用插件并再次利用反射机制执行插件的功能,完成对目标文件的存储。本公开提供的存储插件实现方法网络开销小、使用起来非常方便、无须通过硬编码的方式修改功能。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施例提供的存储插件实现方法的示意图;
图2为本公开另一实施例提供的存储插件实现方法的示意图;
图3为本公开另一实施例提供的存储插件实现装置的示意图;
图4为本公开另一实施例提供的一种电子设备硬件结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
参照图1所示,本公开一实施例提供了一种存储插件实现方法,该方法包括以下步骤:
步骤S10、在主应用系统中建立存储插件运行环境,并定义存储接口标准;
步骤S20、根据所述存储接口标准在存储插件中建立存储接口;
步骤S30、将建立了所述存储接口的存储插件放入所述主应用系统的目录中;
步骤S40、根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;
步骤S50、通过所述主应用系统并读取所述存储插件的信息,在插件配置页面对所述存储插件的配置信息进行配置并保存;
步骤S60、在利用所述存储插件对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
本实施例提供的存储插件实现方法通过在主应用系统中定义接口标准,并在存储插件中建立存储接口,实现存储插件与主应用系统的对接;并通过反射机制加载插件信息,实现对插件的配置;在存储时,调用插件并再次利用反射机制执行插件的功能,完成对目标文件的存储。本公开提供的存储插件实现方法网络开销小、使用起来非常方便、无须通过硬编码的方式修改功能。
在其中一实施例中,步骤S10、在主应用系统中建立存储插件运行环境,并定义存储接口标准;其中,主应用系统需要有存储功能,运行环境可以为Java环境等;存储接口标准包括存储插件的名称、存储插件的配置页面url;进一步地,通过配置页面url可打开插件配置页面进行配置。
例如:一个minio的插件。名称为:minio;配置页面url为:resources/templates/minioList.htm。
其中:minio是一个开源的对象存储软件。在主应用系统中定义了存储的抽象类,主要包括存储的ip地址、端口、用户名、密码、保存函数和参数、删除函数和参数,这个时候,主应用系统不需要关心minio是怎么实现具体功能的,主应用系统只要对接相应的抽象类的函数和参数,即可完成软件功能。同理,可以按此方法开发oss插件、ceph插件(这两个都是对象存储软件),在不必关心具体如何实现的情况下,集成这些插件并使用。
在其中一实施例中,步骤S20、根据所述存储接口标准在存储插件中建立存储接口;其中,定义存储接口标准的目的是为了与存储插件对接,通过在存储插件上按照标准来建立存储接口,即可实现与主应用系统的对接。
在其中一实施例中,步骤S40、根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;其中,所述根据所述存储接口在在所述主应用系统的目录中找到所述存储插件,包括:扫描所述主应用系统的目录中的文件,并加载目标类型的文件,找到包含所述存储接口的文件为所述存储插件。
其中,主应用系统的目录中的文件包括jar、docx、xlsx、so、pptx等文件。当运行环境为java环境时,目标文件为jar文件,在完成文件扫描后只加载jar类型的文件。
在其中一实施例中,所述扫描所述主应用系统的目录中的文件,并加载目标类型的文件,包括:在每次扫描时,只扫描所述主应用系统的目录中的新文件,并加载目标类型的文件。可以有效提高扫描效率,特别是在主应用系统的目录中的文件较多时,如果每次扫描都扫描全部文件,会导致效率很低;因此,在本实施例中,通过每次只扫描新文件,可以显著提升效率,快速找到存储插件。
其中,反射机制的原理如下:首先动态加载类,通过Java里的动态加载方法加载类:Class.forName(“save-minio.jar”).new Instance();其次发现save-minio.jar里存在存储接口定义(public String void save(String pictureUrl));接下来就是通过反射机制调用方法:通过Class实例的方法获得Method实例,getMethod()、getDeclaredMethod()、getMethods()、getDeclaredMethods(),这样就可以获取到新插件的可以执行的方法;进一步的,通过调用method.invoke(参数值1、参数值2、参数值3)即可完成参数调用。
在其中一实施例中,步骤S50、所述通过所述主应用系统读取所述存储插件的信息,在插件配置页面对所述存储插件的配置信息进行配置并保存,具体包括:
通过所述主应用系统读取所述存储插件的名称和存储插件的配置页面url,并通过所述配置页面url打开插件配置页面,在所述插件配置页面对所述存储插件的配置信息进行配置并保存。可选地,所述配置信息包括将目标文件存储的数据库的ip地址、目标端口、用户名、密码。通过配置信息进行配置后,存储插件即可将目标文件存入数据库。
参照图2所示,在其中一实施例中,步骤S60、所述在利用所述存储插件对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储;具体包括:
步骤S61、在对目标文件进行存储时,先在所述主应用系统中录入所述目标文件的文本命令;
步骤S62、对所述文本命令进行解析,得到存储插件的名称、存储方法名称和目标文件url;
步骤S63、根据所述存储插件的名称找到对应的存储插件,根据所述存储方法名称和目标文件url,利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。通过解析文本命令即可实现对存储插件的调用,无需硬编码等繁琐步骤。
其中,存储插件的名称,例如minio;存储方法名称,例如save;目标文件url,例如“http://127.0.0.1:8080/weather.jpg”。文本命令即为:minio.save(“http://127.0.0.1:8080/weather.jpg”)。如果想要接入其他类型的存储插件,则定义一个插件的名称,例如:minio2、ceph或者curve等。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种存储插件实现装置。
参照图3所示,本实施例中的一种存储插件实现装置,其包括以下模块:
存储接口定义模块,用于在主应用系统中建立存储插件运行环境,并定义存储接口标准;其中,主应用系统需要有存储功能,运行环境可以为Java环境等;存储接口标准包括存储插件的名称、存储插件的配置页面url;进一步地,通过配置页面url可打开插件配置页面进行配置。
存储接口建立模块,用于根据所述存储接口标准在存储插件中建立存储接口;其中,定义存储接口标准的目的是为了与存储插件对接,通过在存储插件上按照标准来建立存储接口,即可实现与主应用系统的对接。
插件集成模块,用于将建立了所述存储接口的存储插件放入所述主应用系统的目录中;
插件信息加载模块,还用于根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;其中,所述根据所述存储接口在在所述主应用系统的目录中找到所述存储插件,包括:扫描所述主应用系统的目录中的文件,并加载目标类型的文件,找到包含所述存储接口的文件为所述存储插件。
插件配置模块,用于通过所述主应用系统读取所述存储插件的信息,对所述存储插件进行配置并保存;具体地,通过所述主应用系统读取所述存储插件的名称和存储插件的配置页面url,并通过所述配置页面url打开插件配置页面,在所述插件配置页面对所述存储插件的配置信息进行配置并保存。可选地,所述配置信息包括将目标文件存储的数据库的ip地址、目标端口、用户名、密码。通过配置信息进行配置后,存储插件即可将目标文件存入数据库。
文件存储模块,用于在对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。具体包括:
录入模块,用于在对目标文件进行存储时,先在所述主应用系统中录入所述目标文件的文本命令;
解析模块,用于对所述文本命令进行解析,得到存储插件的名称、存储方法名称和目标文件url;
执行模块,用于根据所述存储插件的名称找到对应的存储插件,根据所述存储方法名称和目标文件url,利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。通过解析文本命令即可实现对存储插件的调用,无需硬编码等繁琐步骤。
本公开提供的存储插件实现系统通过在主应用系统中定义接口标准,并在存储插件中建立存储接口,实现存储插件与主应用系统的对接;并通过反射机制加载插件信息,实现对插件的配置;在存储时,调用插件并再次利用反射机制执行插件的功能,完成对目标文件的存储。本公开提供的存储插件实现方法网络开销小、使用起来非常方便、无须通过硬编码的方式修改功能。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的存储插件实现方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的存储插件实现方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的存储插件实现方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的存储插件实现方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的存储插件实现方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种存储插件实现方法,其特征在于,包括:
在主应用系统中建立存储插件运行环境,并定义存储接口标准;
根据所述存储接口标准在存储插件中建立存储接口;
将建立了所述存储接口的存储插件放入所述主应用系统的目录中;
根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;
通过所述主应用系统并读取所述存储插件的信息,在插件配置页面对所述存储插件的配置信息进行配置并保存;
在利用所述存储插件对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
2.根据权利要求1所述的存储插件实现方法,其特征在于,所述根据所述存储接口在在所述主应用系统的目录中找到所述存储插件,包括:
扫描所述主应用系统的目录中的文件,并加载目标类型的文件,找到包含所述存储接口的文件为所述存储插件。
3.根据权利要求2所述的存储插件实现方法,其特征在于,所述运行环境为java环境,所述目标类型的文件为jar文件。
4.根据权利要求2所述的存储插件实现方法,其特征在于,所述扫描所述主应用系统的目录中的文件,并加载目标类型的文件,包括:在每次扫描时,只扫描所述主应用系统的目录中的新文件,并加载目标类型的文件。
5.根据权利要求1所述的存储插件实现方法,其特征在于,所述存储接口标准包括所述存储插件的名称、所述存储插件的配置页面url;
所述通过所述主应用系统读取所述存储插件的信息,在插件配置页面对所述存储插件的配置信息进行配置并保存,包括:
通过所述主应用系统读取所述存储插件的名称和存储插件的配置页面url,并通过所述配置页面url打开插件配置页面,在所述插件配置页面对所述存储插件的配置信息进行配置并保存。
6.根据权利要求1所述的存储插件实现方法,其特征在于,所述配置信息包括将目标文件存储的数据库的ip地址、目标端口、用户名、密码。
7.根据权利要求1所述的存储插件实现方法,其特征在于,所述在利用所述存储插件对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储;包括:
在对目标文件进行存储时,先在所述主应用系统中录入所述目标文件的文本命令;
对所述文本命令进行解析,得到存储插件的名称、存储方法名称和目标文件url;
根据所述存储插件的名称找到对应的存储插件,根据所述存储方法名称和目标文件url,利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
8.一种存储插件实现装置,其特征在于,包括:
存储接口定义模块,用于在主应用系统中建立存储插件运行环境,并定义存储接口标准;
存储接口建立模块,用于根据所述存储接口标准在存储插件中建立存储接口;
插件集成模块,用于将建立了所述存储接口的存储插件放入所述主应用系统的目录中;
插件信息加载模块,还用于根据所述存储接口在所述主应用系统的目录中找到所述存储插件,并利用反射机制加载出所述存储插件的信息;
插件配置模块,用于通过所述主应用系统读取所述存储插件的信息,对所述存储插件进行配置并保存;
文件存储模块,用于在对目标文件进行存储时,在所述主应用系统中调用所述存储插件,并利用反射机制执行所述存储插件的功能,完成对所述目标文件的存储。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的存储插件实现方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任一所述的存储插件实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311626525.1A CN117555618A (zh) | 2023-11-30 | 2023-11-30 | 存储插件实现方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311626525.1A CN117555618A (zh) | 2023-11-30 | 2023-11-30 | 存储插件实现方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117555618A true CN117555618A (zh) | 2024-02-13 |
Family
ID=89816590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311626525.1A Pending CN117555618A (zh) | 2023-11-30 | 2023-11-30 | 存储插件实现方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555618A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475193A (zh) * | 2020-06-04 | 2020-07-31 | 成都安易迅科技有限公司 | 一种插件的动态更新方法、装置,电子设备及存储介质 |
CN113687874A (zh) * | 2021-07-31 | 2021-11-23 | 济南浪潮数据技术有限公司 | 一种云管理平台的存储使用方法、装置、系统及服务器 |
CN115686665A (zh) * | 2022-09-30 | 2023-02-03 | 广州市玄武无线科技股份有限公司 | 一种插件快速接入方法、设备及存储介质 |
CN116755788A (zh) * | 2023-04-10 | 2023-09-15 | 杭州数瀚科技有限公司 | 一种线上规则修改方法、装置、设备及存储介质 |
-
2023
- 2023-11-30 CN CN202311626525.1A patent/CN117555618A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475193A (zh) * | 2020-06-04 | 2020-07-31 | 成都安易迅科技有限公司 | 一种插件的动态更新方法、装置,电子设备及存储介质 |
CN113687874A (zh) * | 2021-07-31 | 2021-11-23 | 济南浪潮数据技术有限公司 | 一种云管理平台的存储使用方法、装置、系统及服务器 |
CN115686665A (zh) * | 2022-09-30 | 2023-02-03 | 广州市玄武无线科技股份有限公司 | 一种插件快速接入方法、设备及存储介质 |
CN116755788A (zh) * | 2023-04-10 | 2023-09-15 | 杭州数瀚科技有限公司 | 一种线上规则修改方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8438251B2 (en) | Methods and systems for implementing a virtual storage network | |
WO2016192556A1 (zh) | 接口调用方法、装置及终端 | |
EP3606010B1 (en) | Method and apparatus for processing web application package | |
US8806475B2 (en) | Techniques for conditional deployment of application artifacts | |
CN110764748B (zh) | 代码调用方法、装置、终端及存储介质 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
WO2016058488A1 (zh) | 一种用于提供sdk文件的方法与设备 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN113127361B (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
US20110214076A1 (en) | Method and apparatus for optimizing generation of user interface | |
CN109062714B (zh) | 远程控制安卓设备的方法、装置及电子设备 | |
CN112667246A (zh) | 应用功能扩展的方法、装置及电子设备 | |
CN112214250A (zh) | 一种应用程序组件的加载方法和装置 | |
CN114924830A (zh) | 基于nas存储的在线ide代码管理方法及相关设备 | |
CN114090070A (zh) | 应用程序安装包文件处理方法及电子设备 | |
CN112000319A (zh) | 后勤业务代码生成方法、客户端、电子设备及系统 | |
CN118502992A (zh) | 服务编排方法及相关设备 | |
CN113094085A (zh) | 组件集成方法、装置、计算机可读存储介质及电子设备 | |
CN117555618A (zh) | 存储插件实现方法、装置、电子设备及存储介质 | |
CN111666074B (zh) | 一种web应用定制的方法、相关装置及系统 | |
US20120117258A1 (en) | Techniques to deploy and undeploy content to and from web servers | |
CN117270873A (zh) | 一种基于Android应用的实时编译方法、装置、设备及介质 | |
CN116225450A (zh) | 文本转换方法和装置,计算设备和可读存储介质 | |
CN116628773A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113094086B (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 |