本申请涉及插件管理领域,特别涉及一种插件获取信息一致性实现的方法、装置、设备及计算机可读存储介质。
背景技术
插件技术的出发点主要是为了使软件能够灵活地进行扩展功能,而不需要对主程序(框架程序)进行重新编译和发布。软件的功能由框架程序和插件来决定。在框架程序和插件之间具有一个特定的接口,它们两者须通过这个接口来传递数据或控制信息,以实现软件功能。
然而,在面对多用户或多客户端的信息获取请求时,通过插件获取到的目标系统的信息存在着不一致的情况,进而造成获取信息出现错误的情况。
技术实现要素:
本申请的目的是提供一种插件获取信息一致性实现的方法、装置、设备及计算机可读存储介质,用于实现各用户或各客户端获取到的信息的一致化。
为解决上述技术问题,本申请提供一种插件获取信息一致性实现的方法,该方法包括:
创建单例模式的对接插件;
根据接收到的目标系统的ip及token对所述对接插件进行初始化操作,以使所述对接插件能够与所述目标系统进行通信;
当接收到输入的信息获取命令时,通过所述对接插件获取所述目标系统的技术信息,并将所述技术信息反馈至云平台。
可选的,所述创建单例模式的对接插件包括:
根据所述云平台的需求建立用于与所述云平台进行对接的对接类;
确定具有唯一实例的亲信类的构造函数。
可选的,根据接收到的目标系统的ip及token对所述对接插件进行初始化操作,包括:
当接收到所述目标系统的ip及token时,判断所述对接插件中是否存在所述具有唯一实例的亲信类;
若否,则调用所述构造函数创建具有唯一实例的亲信类,并将所述目标系统的ip及token缓存至所述亲信类的唯一实例中;
在所述亲信类的唯一实例中根据所述目标系统的ip及token创建用于与所述目标系统进行通信的客户端类实例。
可选的,当存在所述具有唯一实例的亲信类时,还包括:
删除所述具有唯一实例的亲信类;
调用所述构造函数创建具有唯一实例的新亲信类,并将所述目标系统的ip及token缓存至所述新亲信类的唯一实例中;
在所述新亲信类的唯一实例中根据所述目标系统的ip及token创建用于与所述目标系统进行通信的客户端类实例。
可选的,所述根据接收到的目标系统的ip及token对所述对接插件进行初始化操作,包括:
判断所述目标系统的ip及token是否正确;
若是,则根据所述目标系统的ip及token对所述对接插件进行初始化操作。
本申请还提供一种插件获取信息一致性实现的装置,该装置包括:
创建单元,用于创建单例模式的对接插件;
初始化单元,用于根据接收到的目标系统的ip及token对所述对接插件进行初始化操作,以使所述对接插件能够与所述目标系统进行通信;
获取及反馈单元,用于当接收到输入的信息获取命令时,通过所述对接插件获取所述目标系统的技术信息,并将所述技术信息反馈至云平台。
可选的,所述创建单元包括:
第一创建子单元,用于根据所述云平台的需求建立用于与所述云平台进行对接的对接类;
确定子单元,用于确定具有唯一实例的亲信类的构造函数。
可选的,所述初始化单元包括:
第一判断子单元,用于当接收到所述目标系统的ip及token时,判断所述对接插件中是否存在具有唯一实例的亲信类;
第二创建子单元,用于当所述对接插件中不存在所述具有唯一实例的亲信类时,调用所述构造函数创建具有唯一实例的亲信类,并将所述目标系统的ip及token缓存至所述亲信类的唯一实例中;
第三创建子单元,用于在所述亲信类的唯一实例中根据所述目标系统的ip及token创建用于与所述目标系统进行通信的客户端类实例。
本申请还提供一种插件获取信息一致性实现的设备,该插件获取信息一致性实现的设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述插件获取信息一致性实现的方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述插件获取信息一致性实现的方法的步骤。
本申请所提供插件获取信息一致性实现的方法,包括:创建单例模式的对接插件;根据接收到的目标系统的ip及token对对接插件进行初始化操作,以使对接插件能够与目标系统进行通信;当接收到输入的信息获取命令时,通过对接插件获取目标系统的技术信息,并将技术信息反馈至云平台。
本申请所提供的技术方案,先创建单例模式的对接插件,再根据接收到的目标系统的ip及token对对接插件进行初始化操作,以使对接插件能够与目标系统进行通信,使得该对接插件中只有一个类实例,在面对多用户或多客户端的信息获取请求时,多用户或多客户端通过该类实例获取到的信息是一致的,避免出现了信息不一致的情况;而且在亲信类中并不缓存任何从目标系统上获取的信息,目标系统所呈现给云平台的技术信息都是实时获取的,以减少对接插件对系统资源的占用。本申请同时还提供了一种插件获取信息一致性实现的装置、设备及计算机可读存储介质,具有上述有益效果,使得在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种插件获取信息一致性实现的方法的流程图;
图2为图1所提供的一种插件获取信息一致性实现的方法中s102的一种实际表现方式的流程图;
图3为本申请实施例所提供的一种插件获取信息一致性实现的装置的结构图;
图4为本申请实施例所提供的另一种插件获取信息一致性实现的装置的结构图;
图5为本申请实施例所提供的一种插件获取信息一致性实现的设备的结构图。
具体实施方式
本申请的核心是提供一种插件获取信息一致性实现的方法、装置、设备及计算机可读存储介质,用于实现各用户或各平台间获取到的信息的一致化,同时减少插件的资源占用。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种插件获取信息一致性实现的方法的流程图。
其具体包括如下步骤:
s101:创建单例模式的对接插件;
基于现有的插件通常将获取到的目标系统的信息存储到自身,存在着各用户或各平台间获取到的信息不一致的问题,本申请提供了一种插件获取信息一致性实现的方法,用于实现各用户或各平台间获取到的信息的一致化;
这里提到的单例模式的对接插件,其具体为采用java单例模式与restapi相结合的方式建立的对接插件,单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。例如,每台计算机可以有若干个打印机,但只能有一个printerspooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。
优选的,这里提到的创建单例模式的对接插件,其具体可以为:
根据云平台的需求建立用于与云平台进行对接的对接类;
确定具有唯一实例的亲信类的构造函数。
优选的,为保证对接类对系统资源的最小占用,本申请所提出的方法可以在对接类中仅实现必要的方法,不分配任何额外系统资源,所有的插件技术实现由自定义的亲信类和客户端类来实现,即在对接类实例的创建过程中,仅使用其父类的默认构造函数,不分配任何额外系统资源,也不对资源进行缓存。对接类在呈现插件技术细节的时候,通过亲信类的唯一实例来实现。
s102:根据接收到的目标系统的ip及token对对接插件进行初始化操作,以使对接插件能够与目标系统进行通信;
当完成对接插件的创建过程后,根据接收到的目标系统的ip及token对该对接插件进行初始化操作,使得该对接插件可以在云平台中运行并与目标系统进行通信;
可选的,这里提到的根据接收到的目标系统的ip及token对对接插件进行初始化操作,其具体可以为:
判断目标系统的ip及token是否正确;
若是,则根据该目标系统的ip及token对该对接插件进行初始化操作。
进一步的,当目标系统的ip及token不正确时,还可以向云平台发送提示信息,以使用户及时进行维护。
s103:当接收到输入的信息获取命令时,通过对接插件获取目标系统的技术信息,并将技术信息反馈至云平台。
当接收到输入的信息获取命令时,通过对接插件获取目标系统的技术信息,并将技术信息反馈至云平台,进而完成信息获取的任务。
可选的,还可以通过restapi协议,用基于http的crud方法来实现插件与目标系统的通信,使得对接插件与目标系统之间形成一个cs架构,在对接插件中实现rest客户端的相关功能;
在具有唯一实例的亲信类中并不缓存任何从目标系统上获取的插件技术信息,因此目标系统所呈现给云平台的技术信息,都是通过唯一实例实时获取的,也就是说对接插件中仅缓存目标系统的ip及token,目标系统的其余信息并不缓存在对接插件中,而是通过该唯一实例直接呈献给云平台,降低了对接插件对系统资源的占用。
基于上述技术方案,本申请所提供的一种插件获取信息一致性实现的方法,先创建单例模式的对接插件,再根据接收到的目标系统的ip及token对对接插件进行初始化操作,以使对接插件能够与目标系统进行通信,使得该对接插件中只有一个类实例,在面对多用户或多客户端的信息获取请求时,多用户或多客户端通过该类实例获取到的信息是一致的,避免出现了信息不一致的情况;而且在亲信类中并不缓存任何从目标系统上获取的信息,目标系统所呈现给云平台的技术信息都是实时获取的,以减少对接插件对系统资源的占用。
基于现有技术中的插件对系统资源的占用过高,而系统资源又十分有限,因此降低插件对系统资源的占用也具有重要意义;
针对于上一实施例的步骤s102,对对接插件进行初始化操作的方式可以有多种方式,为降低对接插件对系统资源的占用,下面以一种优选的方式为例,结合图2进行详细说明。
请参考图2,图2为图1所提供的一种插件获取信息一致性实现的方法中s102的一种实际表现方式的流程图。
其具体包括以下步骤:
s201:当接收到目标系统的ip及token时,判断对接插件中是否存在具有唯一实例的亲信类;
若否,则进入步骤s202;
可选的,当该对接插件中存在具有唯一实例的亲信类时,还包括:
删除具有唯一实例的亲信类;
调用构造函数创建具有唯一实例的新亲信类,并将目标系统的ip及token缓存至新亲信类的唯一实例中;
在新亲信类的唯一实例中根据目标系统的ip及token创建用于与目标系统进行通信的客户端类实例。
s202:调用构造函数创建具有唯一实例的亲信类,并将目标系统的ip及token缓存至亲信类的唯一实例中;
s203:在亲信类的唯一实例中根据目标系统的ip及token创建用于与目标系统进行通信的客户端类实例。
基于上述技术方案,本申请实施例在接收到目标系统的ip及token时,先判断对接插件中是否存在具有唯一实例的亲信类;若是,则删除并重新建立新亲信类;并将目标系统的ip及token缓存至唯一实例中,同时创建用于与目标系统进行通信的客户端类实例,使得无论何时该对接插件中至多有一个亲信类和一个客户端类实例,极大的减少了插件对系统资源的占用。
请参考图3,图3为本申请实施例所提供的一种插件获取信息一致性实现的装置的结构图。
该装置可以包括:
创建单元100,用于创建单例模式的对接插件;
初始化单元200,用于根据接收到的目标系统的ip及token对对接插件进行初始化操作,以使对接插件能够与目标系统进行通信;
获取及反馈单元300,用于当接收到输入的信息获取命令时,通过对接插件获取目标系统的技术信息,并将技术信息反馈至云平台。
请参考图4,图4为本申请实施例所提供的另一种插件获取信息一致性实现的装置的结构图。
该创建单元100可以包括:
第一创建子单元,用于根据云平台的需求建立用于与云平台进行对接的对接类;
确定子单元,用于确定具有唯一实例的亲信类的构造函数。
该初始化单元200可以包括:
第一判断子单元,用于当接收到目标系统的ip及token时,判断对接插件中是否存在具有唯一实例的亲信类;
第二创建子单元,用于当对接插件中不存在具有唯一实例的亲信类时,调用构造函数创建具有唯一实例的亲信类,并将目标系统的ip及token缓存至亲信类的唯一实例中;
第三创建子单元,用于在亲信类的唯一实例中根据目标系统的ip及token创建用于与目标系统进行通信的客户端类实例。
该初始化单元200还可以包括:
删除子单元,用于删除具有唯一实例的亲信类;
第四创建子单元,用于调用构造函数创建具有唯一实例的新亲信类,并将目标系统的ip及token缓存至新亲信类的唯一实例中;
第五创建子单元,用于在新亲信类的唯一实例中根据目标系统的ip及token创建用于与目标系统进行通信的客户端类实例。
进一步的,该初始化单元200也可以包括:
第二判断子单元,用于判断目标系统的ip及token是否正确;
初始化子单元,用于当目标系统的ip及token正确时,根据目标系统的ip及token对该对接插件进行初始化操作。
以上装置中的各个组成部分可实际应用于以下的实施例中:
第一创建子单元根据云平台的需求建立用于与云平台进行对接的对接类;确定子单元确定具有唯一实例的亲信类的构造函数;
当接收到目标系统的ip及token时,第二判断子单元判断目标系统的ip及token是否正确当目标系统的ip及token正确时,初始化子单元根据目标系统的ip及token对该对接插件进行初始化操作;
第一判断子单元判断对接插件中是否存在具有唯一实例的亲信类;当对接插件中不存在具有唯一实例的亲信类时,第二创建子单元调用构造函数创建具有唯一实例的亲信类,并将目标系统的ip及token缓存至亲信类的唯一实例中;第三创建子单元在亲信类的唯一实例中根据目标系统的ip及token创建用于与目标系统进行通信的客户端类实例;当对接插件中存在具有唯一实例的亲信类时,删除子单元删除具有唯一实例的亲信类;第四创建子单元调用构造函数创建具有唯一实例的新亲信类,并将目标系统的ip及token缓存至新亲信类的唯一实例中;第五创建子单元在新亲信类的唯一实例中根据目标系统的ip及token创建用于与目标系统进行通信的客户端类实例;
当接收到输入的信息获取命令时,获取及反馈单元通过对接插件获取目标系统的技术信息,并将技术信息反馈至云平台。
请参考图5,图5为本申请实施例所提供的一种插件获取信息一致性实现的设备的结构图。
插件获取信息一致性实现的设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上单元(图示没标出),每个单元可以包括对装置中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在插件获取信息一致性实现的设备400上执行存储介质430中的一系列指令操作。
插件获取信息一致性实现的设备400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。
上述图1至图2所描述的插件获取信息一致性实现的方法中的步骤由插件获取信息一致性实现的设备基于该图5所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种插件获取信息一致性实现的方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。