基于ldap的内存管理方法、装置、设备及存储介质
技术领域
1.本技术实施例涉及分布式数据库技术领域,尤其涉及一种基于ldap的内存管理方法、装置、设备及存储介质。
背景技术:
2.随着云计算的发展以及普遍使用,对数据的高效操作提出了更高的要求,云计算会在云上对数据进行操作,并将结果反馈至应用,这将跨过多条网络,从整体上的操作用时将超过单机上的操作时间。
3.为了提高对数据的操作速度,利用内存来存储数据被大范围使用,内存不同于磁盘空间,磁盘存储空间只为存储文件、数据等使用,而内存还会为程序的运行提供空间,保证程序的高速运转,因此内存管理机制则成为内存存储的关键。
技术实现要素:
4.本技术实施例提供一种基于ldap的内存管理方法、装置、设备及存储介质,以通过对内存的管理提高内存的空间利用率以及提高数据库操作的效率。
5.第一方面,本技术实施例提供了一种基于ldap的内存管理方法,所述方法包括:在需要对ldap数据库进行数据操作的情况下,确定所述数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定所述目标操作类型对应的目标内存操作策略;基于所述目标内存操作策略在所述内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。第二方面,本技术实施例提供了一种基于ldap的内存管理装置,所述装置包括:从所述内存的索引空间查找是否存在满足所述数据操作中的查找条件的目标条目索引;若存在,通过所述目标条目索引从所述条目信息空间中查找到对应的目标条目信息,并将所述目标条目信息映射到所述条目空间的目标数据条目上,将所述目标数据条目作为查询结果进行反馈;若不存在,从ldap数据库的磁盘中查找到满足所述数据操作中的查找条件的目标数据条目;对所述目标数据条目的关键信息进行提炼,得到目标条目信息,并将所述目标条目信息存储到所述内存的条目信息空间中;将所述目标数据条目添加到所述内存的条目空间中,并在所述内存的条目索引空间中添加所述目标数据条目的目标条目索引。
6.第三方面,本技术实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本技术任一实施例提供的基于ldap的内存管理方法。
7.第四方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本技术任一实施例提供的基于ldap的内存管理方法。
8.本技术实施例的技术方案,在需要对ldap数据库进行数据操作的情况下,确定所述数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定所述目标操作类型对应的目标内存操作策略;基于所述目标内存操作策略在所述内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。基于此,本实施例按照ldap协议对内存的空间进行了划分,确定出了条目空间、条目信息空间以及索引空间,然后对不同的数据操作的操作类型,设定不同的内存操作策略,来实现为对ldap数据库进行的数据操作提供内存存储服务,设定不同的空间,且不同的空间适配了ldap协议,与ldap数据库相配合,数据操作的效率会更高,且内存的空间利用率也会更高。
附图说明
9.图1为本技术实施例一提供的基于ldap的内存管理方法的流程示意图;图2为本技术实施例二提供的一种基于ldap的内存管理装置的结构示意图;图3为本技术实施例三提供的一种电子设备的结构示意图。
具体实施方式
10.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
11.实施例一图1为本技术实施例一提供的基于ldap的内存管理方法的流程示意图,本实施例从第一平台端进行说明,方法可适用于基于ldap的内存管理的场景。该方法可以由基于ldap的内存管理装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在具有数据运算能力的计算机等电子设备中,具体包括如下步骤:步骤101、在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型。
12.本实施例中,由于对ldap数据库进行的数据操作,需要借助内存来缓存一些程序或者数据条目,因此,内存是为了配合对ldap数据库进行的数据操作,其在数据操作的过程中提供了内存存储服务。
13.本步骤中,数据操作的操作类型可以有多种,在一个具体的实施例中,数据操作的目标操作类型为以下操作类型中的一个:增操作、删操作、改操作和查操作。
14.其中,增操作指的是向ldap数据库中添加数据条目,删操作指的是从ldap数据库中删除一些数据条目,改操作则是指修改ldap数据库中的数据条目,查操作则是从ldap数
据库中查找所需的数据条目。
15.具体的,本步骤在确定数据操作所属的目标操作类型时,可以根据接收到的数据操作指令来确定,通常,该数据操作指令中会包含一些关键的程序指令,而这些程序指令通常是固定的,因此,可以通过识别该程序指令对应的操作类型,来确定该数据操作所属的目标操作类型。
16.步骤102、根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略。
17.本步骤中,映射关系可以在程序指令中进行体现,即识别到目标操作类型后,会进入相应的内存操作程序中,该内存操作程序则称为本步骤中的目标内存操作策略。
18.因此,本步骤中确定目标操作类型对应的目标内存操作策略的过程,可以通过相应的程序代码来实现,比如常见的if语句等。
19.步骤103、基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。
20.需要说明的是,本步骤内存的条目空间、条目信息空间以及索引空间可以是预先从内存中划分出的空间,由于轻型目录访问协议(lightweightdirectoryaccessprotocol,ldap)的机制主要是设置了一个数据的单位为条目,条目将作为数据单位存储在服务器上,内存管理机制的单位也就是条目。ldap是为检索查询而优化将条目组成树形结构,因此ldap具有了很优秀的查询性能,ldap作为一种协议,同时也规定了调用规则和调用方式,规范了数据库的使用,为数据安全性提供了更好的保障。
21.因此,为了配合ldap,本实施例从内存中划分出了条目空间、条目信息空间以及索引空间。其中,条目空间用于存储数据条目结构体,其可以作为查询结果的暂存方以及提供方,因此其需要占用较大的空间。为了防止内存空间不足,本实施例可以在系统启动时就申请一定量的内存空间作为该条目空间。
22.另外,条目信息空间是为了存储条目信息,该条目信息的作用是为操作提供方便快捷的方式,由于一个数据条目所占的内存空间较大,这就会导致调用和运算时使用该数据条目的速度降低,因此,本实施例提炼出数据条目的关键信息,保存成条目信息,后续调用和运算时直接使用该条目信息,便可以提高调用和运算的速率。
23.需要说明的是,提炼的关键信息可以是数据条目的某些常用的属性。
24.本步骤中的索引空间则是用来存储数据条目的索引信息,在ldap协议之下,会涉及到数据条目的索引信息,因此,本实施例同样在内存中设置了索引空间,用来存储相应的索引信息,可以为之后的查操作提供索引目录。
25.本实施例进行内存管理的目的是将内存空间更好的划分,使用更小的内存空间,处理更多的数据量,以及使用更小的代价提升ldap数据库的性能。为了确定各空间的大小,将在ldap数据库的配置文件中设置空间大小,条目空间对应配置文件中的cachesize属性,单位为条目;条目信息空间对应配置文件的dncachesize属性,单位为条目;索引空间对应配置文件的idlcachesize属性,单位为条目,配置文件的示例如下:cachesize1000000#条目空间大小为1000000条条目;dncachesize1000000#条目信息空间大小为1000000条条目;idlcachesize1000000#索引空间大小为1000000条条目。
26.进一步地,本步骤中,在目标操作类型为增操作时,基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作的过程可以为:在向ldap数据库的磁盘中添加数据之后,从内存中获取添加的数据条目;对数据条目的关键信息进行提炼,得到条目信息,并将条目信息存储到内存的条目信息空间中;将获取的数据条目添加到内存的条目空间中,并在内存的条目索引空间中添加数据条目的条目索引。
27.需要说明的是,对数据条目的关键信息进行提炼的过程,即提取数据条目中的预设属性,作为关键信息。由于新添加的数据通常会更有可能被查询,因此,可以在内存中的条目空间、条目信息空间以及索引空间存储新增数据条目的相应信息,从而在后续查询时,可以直接从内存中获取到,在一定程度上提高了查询的速率。
28.另外,本步骤中,在目标操作类型为删操作时,基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作的过程可以为:在从ldap数据库的磁盘中删除数据之后,查找内存的条目索引空间中是否存在被删除的数据对应的待删除条目索引;若存在,将条目索引空间中的待删除条目索引进行删除,将内存的条目信息空间中待删除条目索引对应的待删除条目信息进行删除,将内存的条目空间中待删除条目索引对应的待删除数据条目进行删除。
29.由于从ldap数据库中删除了相应的数据,那么该数据后续通常不会被查询,即不需要该数据了,因此,为了节省内存空间,在内存的条目空间、条目信息空间以及索引空间对该数据条目进行同步删除即可。
30.本步骤中,在目标操作类型为改操作时,基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作的过程可以为:在对ldap数据库的磁盘中的待修改数据条目进行属性修改之后,查找内存的条目索引空间中是否存在待修改数据条目对应的待修改条目索引;若存在,根据待修改条目索引查找待修改条目信息,并通过待修改条目信息从内存的条目空间中查找到对应的待修改数据条目;对是内存的条目空间中的待修改数据条目进行属性修改。
31.需要说明的是,由于改操作涉及的是对属性的修改,而前述提炼的条目信息中也是由属性组成,因此,本实施例可以判断所需修改的属性是否为待修改条目信息中的关键信息;在所需修改的属性为待修改条目信息中的关键信息的情况下,基于修改的属性对待修改条目信息中的关键信息进行修改。
32.另外,本步骤中,在目标操作类型为查操作时,基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作的过程可以为:从内存的索引空间查找是否存在满足数据操作中的查找条件的目标条目索引;若存在,通过目标条目索引从条目信息空间中查找到对应的目标条目信息,并将目标条目信息映射到条目空间的目标数据条目上,将目标数据条目作为查询结果进行反馈;若不存在,从ldap数据库的磁盘中查找到满足数据操作中的查找条件的目标数据条目;对目标数据条目的关键信息进行提炼,得到目标条目信息,并将目标条目信息存储到内存的条目信息空间中;将目标数据条目添加到内存的条目空间中,并在内存的条目索引空间中添加目标数据条目的目标条目索引。
33.在进行查操作的数据操作时,由于之前的增操作以及查操作可能会将本次查操作
对应的数据操作所要查询的数据条目预先存储在内存中,因此,可以先从内存中查询是否存在该数据条目。若存在,则直接进行反馈即可,由于内存的数据读写速率较快,这就在一定程度上提高了查询效率。
34.另外,由于查询某一数据条目后,通常会在短时间内对该数据条目进行多次的查询,因此,若内存中不存在该数据,从ldap数据库中查到该数据条目后,可以将该数据条目以及相应的条目信息、索引信息存储至相应的空间中,便于后续再次查询。
35.本实施例中,在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略;基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。基于此,本实施例按照ldap协议对内存的空间进行了划分,确定出了条目空间、条目信息空间以及索引空间,然后对不同的数据操作的操作类型,设定不同的内存操作策略,来实现为对ldap数据库进行的数据操作提供内存存储服务,设定不同的空间,且不同的空间适配了ldap协议,与ldap数据库相配合,数据操作的效率会更高,且内存的空间利用率也会更高。
36.实施例二图2为本技术实施例二提供的一种基于ldap的内存管理装置的结构示意图。本技术实施例所提供的基于ldap的内存管理装置可执行本技术任意实施例所提供的基于ldap的内存管理方法,具备执行方法相应的功能模块和有益效果。该装置可采用软件和/或硬件的方式实现,如图2所示,基于ldap的内存管理装置具体包括:类型确定模块201、操作策略确定模块202、内存操作模块203。
37.其中,类型确定模块,用于在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;操作策略确定模块,用于根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略;内存操作模块,用于基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。
38.本技术实施例的技术方案中,在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略;基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。基于此,本实施例按照ldap协议对内存的空间进行了划分,确定出了条目空间、条目信息空间以及索引空间,然后对不同的数据操作的操作类型,设定不同的内存操作策略,来实现为对ldap数据库进行的数据操作提供内存存储服务,设定不同的空间,且不同的空间适配了ldap协议,与ldap数据库相配合,数据操作的效率会更高,且内存的空间利用率也会更高。
39.进一步地,数据操作的目标操作类型为以下操作类型中的一个:增操作、删操作、改操作和查操作。
40.进一步地,目标操作类型为增操作;内存操作模块包括:
数据条目获取单元,用于在向ldap数据库的磁盘中添加数据之后,从内存中获取添加的数据条目;第一提炼单元,用于对数据条目的关键信息进行提炼,得到条目信息,并将条目信息存储到内存的条目信息空间中;第一添加单元,用于将获取的数据条目添加到内存的条目空间中,并在内存的条目索引空间中添加数据条目的条目索引。
41.进一步地,目标操作类型为删操作;内存操作模块包括:第一查找单元,用于在从ldap数据库的磁盘中删除数据之后,查找内存的条目索引空间中是否存在被删除的数据对应的待删除条目索引;删除单元,用于若存在,将条目索引空间中的待删除条目索引进行删除,将内存的条目信息空间中待删除条目索引对应的待删除条目信息进行删除,将内存的条目空间中待删除条目索引对应的待删除数据条目进行删除。
42.进一步地于,目标操作类型为改操作;内存操作模块包括:第二查找单元,用于在对ldap数据库的磁盘中的待修改数据条目进行属性修改之后,查找内存的条目索引空间中是否存在待修改数据条目对应的待修改条目索引;第一修改单元,用于若存在,根据待修改条目索引查找待修改条目信息,并通过待修改条目信息从内存的条目空间中查找到对应的待修改数据条目;第二修改单元,用于对是内存的条目空间中的待修改数据条目进行属性修改。
43.进一步地,内存操作模块还包括:判断单元,用于判断所需修改的属性是否为待修改条目信息中的关键信息;第三修改单元,用于在所需修改的属性为待修改条目信息中的关键信息的情况下,基于修改的属性对待修改条目信息中的关键信息进行修改。
44.进一步地,目标操作类型为查操作;内存操作模块包括:第三查找单元,用于从内存的索引空间查找是否存在满足数据操作中的查找条件的目标条目索引;反馈单元,用于若存在,通过目标条目索引从条目信息空间中查找到对应的目标条目信息,并将目标条目信息映射到条目空间的目标数据条目上,将目标数据条目作为查询结果进行反馈;第四查找单元,用于若不存在,从ldap数据库的磁盘中查找到满足数据操作中的查找条件的目标数据条目;第二提炼单元,用于对目标数据条目的关键信息进行提炼,得到目标条目信息,并将目标条目信息存储到内存的条目信息空间中;第二添加单元,用于将目标数据条目添加到内存的条目空间中,并在内存的条目索引空间中添加目标数据条目的目标条目索引。
45.实施例三图3为本技术实施例三提供的一种电子设备的结构示意图,如图3所示,该电子设
备包括处理器310、存储器320、输入装置330和输出装置340;电子设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。
46.存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于ldap的内存管理方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及基于ldap的内存管理,即实现上述的基于ldap的内存管理方法:在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略;基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以为对ldap数据库进行的数据操作提供内存存储服务。
47.本技术实施例的技术方案中,在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略;基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。基于此,本实施例按照ldap协议对内存的空间进行了划分,确定出了条目空间、条目信息空间以及索引空间,然后对不同的数据操作的操作类型,设定不同的内存操作策略,来实现为对ldap数据库进行的数据操作提供内存存储服务,设定不同的空间,且不同的空间适配了ldap协议,与ldap数据库相配合,数据操作的效率会更高,且内存的空间利用率也会更高。
48.存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
49.实施例四本技术实施例四还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种基于ldap的内存管理方法,该方法包括:在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关系,确定目标操作类型对应的目标内存操作策略;基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行的数据操作时,提供内存存储服务。
50.本技术实施例的技术方案中,在需要对ldap数据库进行数据操作的情况下,确定数据操作所属的目标操作类型;根据预先设置的操作类型与内存操作策略之间的映射关
系,确定目标操作类型对应的目标内存操作策略;基于目标内存操作策略在内存的条目空间、条目信息空间以及索引空间中进行数据操作,以对ldap数据库进行数据操作时,提供内存存储服务。基于此,本实施例按照ldap协议对内存的空间进行了划分,确定出了条目空间、条目信息空间以及索引空间,然后对不同的数据操作的操作类型,设定不同的内存操作策略,来实现为对ldap数据库进行的数据操作提供内存存储服务,设定不同的空间,且不同的空间适配了ldap协议,与ldap数据库相配合,数据操作的效率会更高,且内存的空间利用率也会更高。
51.当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本技术任意实施例所提供的基于ldap的内存管理方法中的相关操作。
52.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本技术可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory, ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
53.值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。
54.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。