基于动态内存机制的主机加固方法和装置转让专利

申请号 : CN202211347825.1

文献号 : CN115480925B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘华

申请人 : 北京网藤科技有限公司

摘要 :

本发明涉及虚拟系统资源管理技术领域,公开了一种基于动态内存机制的主机加固方法及装置,本申请采用动态分配的方式对虚拟内存和主机内存进行有效的分配,能够充分提高虚拟内存和主机内存的利用率;进而,在主机加固的过程中能够实时对主机内存和虚拟内存进行监测,使系统整体能够更及时发现和处理内存紧张问题。

权利要求 :

1.一种基于动态内存机制的主机加固方法,其特征在于,包括:

虚拟系统对作为主机加固目标的多个程序分配虚拟内存,包括:虚拟系统将虚拟内存分成多个相同大小的次级内存;对多个程序分别分配次级内存,并判断程序大小是否大于分配的次级内存;基于判断结果,若程序小于次级内存,则将程序储存于单个次级内存内,若程序大于次级内存,则对程序再次分配次级内存,直到多个次级内存的总和大小大于程序;

对虚拟系统的虚拟内存和主机的主机内存进行监测,包括:对虚拟系统中所有的次级内存进行监测;将主机的主机内存分为程序运行内存、可占用内存和管理内存,并对程序运行内存和可占用内存进行监测;

若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存,包括:若检测到所有的次级内存总和的占用率达到预设阈值,则判断虚拟内存紧张;将所有的程序按照实际功能分成多个功能模块,并对所有功能模块进行优化组合,获取每个程序最小的功能模块;对最小的功能模块创建次级内存地址空间,并基于最小的功能模块的大小在主机的可占用内存中划分出流式内存空间,将该次级内存地址空间映射到流式内存空间;

若监测到主机内存紧张,则取消映射关系,释放占用的主机内存;

主机回收主机内存后自用或提供给其他虚拟系统。

2.根据权利要求1所述的基于动态内存机制的主机加固方法,其特征在于,所述若监测到主机内存紧张,则取消映射关系,释放占用的主机内存,包括:若监测到可占用内存的占用率达到预设阈值,则判断主机内存紧张;

扫描所有的程序,获取各程序中正在运行的功能模块,将其最小的功能模块与正在运行的功能模块进行位置存储调换,取消最小的功能模块的次级内存地址空间与流式内存空间的映射关系,从而释放主机内存中占用的可占用内存。

3.一种基于动态内存机制的主机加固装置,其特征在于,包括:

虚拟内存分配模块,用于配合虚拟系统对作为主机加固目标的多个程序分配虚拟内存;所述虚拟内存分配模块,包括:次级内存划分子模块,用于配合虚拟系统将虚拟内存分成多个相同大小的次级内存;次级内存分配子模块,用于对多个程序分别分配次级内存,并判断程序大小是否大于分配的次级内存;对比判断子模块,用于基于判断结果,若程序小于次级内存,则将程序储存于单个次级内存内,若程序大于次级内存,则对程序再次分配次级内存,直到多个次级内存的总和大小大于程序;

监测模块,用于对虚拟系统的虚拟内存和主机的主机内存进行监测;所述监测模块,包括:虚拟系统检测子模块,用于对虚拟系统中所有的次级内存进行监测;主机监测子模块,用于将主机的主机内存分为程序运行内存、可占用内存和管理内存,并对程序运行内存和可占用内存进行监测;

占用模块,用于若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存; 所述占用模块,包括:虚拟内存判断子模块,用于若检测到所有的次级内存总和的占用率达到预设阈值,则判断虚拟内存紧张;最小的功能模块获取子模块,用于将所有的程序按照实际功能分成多个功能模块,并对所有功能模块进行优化组合,获取每个程序最小的功能模块;流式内存空间映射子模块,用于对最小的功能模块创建次级内存地址空间,并基于最小的功能模块的大小在主机的可占用内存中划分出流式内存空间,将该次级内存地址空间映射到流式内存空间;

释放模块,用于若监测到主机内存紧张,则取消映射关系,释放占用的主机内存;

回收利用模块,用于在主机回收主机内存后自用或提供给其他虚拟系统。

4.根据权利要求3所述的基于动态内存机制的主机加固装置,其特征在于,所述释放模块,包括:

主机内存判断子模块,用于若监测到可占用内存的占用率达到预设阈值,则判断主机内存紧张;

可占用内存释放子模块,用于扫描所有的程序,获取各程序中正在运行的功能模块,将其最小的功能模块与正在运行的功能模块进行位置存储调换,取消最小的功能模块的次级内存地址空间与流式内存空间的映射关系,从而释放主机内存中占用的可占用内存。

说明书 :

基于动态内存机制的主机加固方法和装置

技术领域

[0001] 本发明涉及虚拟系统资源管理技术领域,具体为一种基于动态内存机制的主机加固方法和装置。

背景技术

[0002] 近年来,随着计算机科学技术的飞速发展,特别是网络安全性需求的提升,计算机系统软件和应用软件的主机加固技术得到广泛应用。主机加固通过对计算机的系统软件和应用软件及其相关数据进行安全验证并施加安全加固标记,并配合该安全加固标记实施对应的权限限制等措施,增大了安全性。
[0003] 但是,主机加固需要执行大量的、高速度的计算,例如通过数据匹配计算来执行安全验证、通过哈希计算获得安全加固标记等,因此导致了主机内存资源的进一步消耗。可见,主机加固中还存在无法对内存进行有效利用的问题。而基于动态内存机制运用虚拟化系统技术,能够有效地提高系统运行速度,同时也节省了硬件成本的投入。

发明内容

[0004] 本发明主要是提供一种基于动态内存机制的主机加固方法和装置。
[0005] 为了解决上述技术问题,本发明采用如下技术方案:
[0006] 一种基于动态内存机制的主机加固方法,包括:
[0007] 虚拟系统对作为主机加固目标的多个程序分配虚拟内存;
[0008] 对虚拟系统的虚拟内存和主机的主机内存进行监测;
[0009] 若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存;
[0010] 若监测到主机内存紧张,则取消映射关系,释放占用的主机内存;
[0011] 主机回收主机内存后自用或提供给其他虚拟系统。
[0012] 进一步,所述虚拟系统对多个程序分配虚拟内存,包括:
[0013] 虚拟系统将虚拟内存分成多个相同大小的次级内存;
[0014] 对多个程序分别分配次级内存,并判断程序大小是否大于分配的次级内存;
[0015] 基于判断结果,若程序小于次级内存,则将程序储存于单个次级内存内,若程序大于次级内存,则对程序再次分配次级内存,直到多个次级内存的总和大小大于程序。
[0016] 进一步,所述对虚拟系统的虚拟内存和主机的主机内存进行监测,包括:
[0017] 对虚拟系统中所有的次级内存进行监测;
[0018] 将主机的主机内存分为程序运行内存、可占用内存和管理内存,并对程序运行内存和可占用内存进行监测。
[0019] 进一步,所述若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存,包括:
[0020] 若检测到所有的次级内存总和的占用率达到预设阈值,则判断虚拟内存紧张;
[0021] 将所有的程序按照实际功能分成多个功能模块,并对所有功能模块进行优化组合,获取每个程序最小的功能模块;
[0022] 对最小的功能模块创建次级内存地址空间,并基于最小的功能模块的大小在主机的可占用内存中划分出流式内存空间,将该次级内存地址空间映射到流式内存空间。
[0023] 进一步,所述若监测到主机内存紧张,则取消映射关系,释放占用的主机内存,包括:
[0024] 若监测到可占用内存的占用率达到预设阈值,则判断主机内存紧张;
[0025] 扫描所有的程序,获取各程序中正在运行的功能模块,将其最小的功能模块与正在运行的功能模块进行位置存储调换,取消最小的功能模块的次级内存地址空间与流式内存空间的映射关系,从而释放主机内存中占用的可占用内存。
[0026] 一种基于动态内存机制的主机加固装置,包括:
[0027] 虚拟内存分配模块,虚拟内存分配模块用于配合虚拟系统对作为主机加固目标的多个程序分配虚拟内存;
[0028] 监测模块,用于对虚拟系统的虚拟内存和主机的主机内存进行监测;
[0029] 占用模块,用于若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存;
[0030] 释放模块,用于若监测到主机内存紧张,则取消映射关系,释放占用的主机内存;
[0031] 回收利用模块,用于在主机回收主机内存后自用或提供给其他虚拟系统。
[0032] 进一步,所述虚拟内存分配模块,包括:
[0033] 次级内存划分子模块,用于配合虚拟系统将虚拟内存分成多个相同大小的次级内存;
[0034] 次级内存分配子模块,用于对多个程序分别分配次级内存,并判断程序大小是否大于分配的次级内存;
[0035] 对比判断子模块,用于基于判断结果,若程序小于次级内存,则将程序储存于单个次级内存内,若程序大于次级内存,则对程序再次分配次级内存,直到多个次级内存的总和大小大于程序。
[0036] 进一步,所述监测模块,包括:
[0037] 虚拟系统检测子模块,用于对虚拟系统中所有的次级内存进行监测;
[0038] 主机监测子模块,用于将主机的主机内存分为程序运行内存、可占用内存和管理内存,并对程序运行内存和可占用内存进行监测。
[0039] 进一步,所述占用模块,包括:
[0040] 虚拟内存判断子模块,用于若检测到所有的次级内存总和的占用率达到预设阈值,则判断虚拟内存紧张;
[0041] 最小的功能模块获取子模块,用于将所有的程序按照实际功能分成多个功能模块,并对所有功能模块进行优化组合,获取每个程序最小的功能模块;
[0042] 流式内存空间映射子模块,用于对最小的功能模块创建次级内存地址空间,并基于最小的功能模块的大小在主机的可占用内存中划分出流式内存空间,将该次级内存地址空间映射到流式内存空间。
[0043] 进一步,所述释放模块,包括:
[0044] 主机内存判断子模块,用于若监测到可占用内存的占用率达到预设阈值,则判断主机内存紧张;
[0045] 可占用内存释放子模块,用于扫描所有的程序,获取各程序中正在运行的功能模块,将其最小的功能模块与正在运行的功能模块进行位置存储调换,取消最小的功能模块的次级内存地址空间与流式内存空间的映射关系,从而释放主机内存中占用的可占用内存。
[0046] 有益效果:本申请在主机加固过程中,采用动态分配的方式对虚拟内存和主机内存进行有效的分配,能够充分的提高虚拟内存和主机内存的利用率;通过本申请的方法,能够实时的对主机内存和虚拟内存进行监测,使系统整体能够更及时发现和处理内存紧张问题。通过将虚拟内存分成多个次级内存的方式,能够单独的运行多个程序并保证他们之间的独立性,保障了主机加固的独立开展,同时有效的对提交较大的程序进行有效的储存,且不会极大的浪费虚拟内存。将主机内存进行划分,能够保证在运行的程序和管理程序有足够的内存使用。

附图说明

[0047] 图1为一种基于动态内存机制的主机加固方法的流程图;
[0048] 图2为一种基于动态内存机制的主机加固装置的框图。

具体实施方式

[0049] 以下将结合实施例对本发明的技术方案进一步详细说明。
[0050] 如图1所示,本实施例的一种基于动态内存机制的主机加固方法,包括:S1 S5;~
[0051] S1、虚拟系统对作为主机加固目标的多个程序分配虚拟内存;
[0052] S2、对虚拟系统的虚拟内存和主机的主机内存进行监测;
[0053] S3、若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存;
[0054] S4、若监测到主机内存紧张,则取消映射关系,释放占用的主机内存;
[0055] S5、主机回收主机内存后自用或提供给其他虚拟系统。
[0056] 进一步,在步骤S1中所述虚拟系统对作为主机加固目标的多个程序分配虚拟内存,包括:
[0057] S11、虚拟系统将虚拟内存分成多个相同大小的次级内存;
[0058] S12、对多个程序分别分配次级内存,并判断程序大小是否大于分配的次级内存;
[0059] S13、基于判断结果,若程序小于次级内存,则将程序储存于单个次级内存内,若程序大于次级内存,则对程序再次分配次级内存,直到多个次级内存的总和大小大于程序。
[0060] 进一步,在步骤S2中所述对虚拟系统的虚拟内存和主机的主机内存进行监测,包括:
[0061] S21、对虚拟系统中所有的次级内存进行监测;
[0062] S22、将主机的主机内存分为程序运行内存、可占用内存和管理内存,并对程序运行内存和可占用内存进行监测。
[0063] 进一步,在步骤S3中所述若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存,包括:
[0064] S31、若检测到所有的次级内存总和的占用率达到预设阈值,则判断虚拟内存紧张;
[0065] 其中,次级内存总和的占用率的预设阈值可以根据实际需要设置,如:设置占用率为85%,当所有的次级内存总和的占用率达到了85%,则需要通过占用模块进行主机内存的申请。
[0066] S32、将所有的程序按照实际功能分成多个功能模块,并对所有功能模块进行优化组合,获取每个程序最小的功能模块;
[0067] 其中,一个完整的程序由多个模块(文件)组成,每个模块(文件)又由很多小的功能模块(函数)组成。应该将程序分成多个功能模块,能够分化整个程序的体积,只有在使用特定功能模块时,利用程序运行内存运行,从而释放其他内存。最小的功能模块指的是,将程序分成多个功能模块后,将功能模块进行组合后能够被分配的多个次级内存储存,并剩下额外的不能够被次级内存储的一个功能模块。经过多次组合后,剩下额外的不能够被次级内存储存的功能模块是所有组合中体积最小的一个。
[0068] S33、对最小的功能模块创建次级内存地址空间,并基于最小的功能模块的大小在主机的可占用内存中划分出流式内存空间,将该次级内存地址空间映射到流式内存空间。
[0069] 进一步,在步骤S4中所述若监测到主机内存紧张,则取消映射关系,释放占用的主机内存,包括:
[0070] S41、若监测到可占用内存的占用率达到预设阈值,则判断主机内存紧张;
[0071] 其中,可占用内存的占用率的预设阈值可以根据实际需要设置。
[0072] S42、扫描所有的程序,获取各程序中正在运行的功能模块,将其最小的功能模块与正在运行的功能模块进行位置存储调换,取消最小的功能模块的次级内存地址空间与流式内存空间的映射关系,从而释放主机内存中占用的可占用内存。
[0073] 如图2所示,一种基于动态内存机制的主机加固装置,包括:
[0074] 虚拟内存分配模块21,用于配合虚拟系统对作为主机加固目标的多个程序分配虚拟内存;
[0075] 监测模块22,用于对虚拟系统的虚拟内存和主机的主机内存进行监测;
[0076] 占用模块23,用于若监测到虚拟内存紧张,则向主机申请占用主机内存,并将虚拟内存映射到主机内存;
[0077] 释放模块24,用于若监测到主机内存紧张,则取消映射关系,释放占用的主机内存;
[0078] 回收利用模块25,用于在主机回收主机内存后自用或提供内其他虚拟系统。
[0079] 进一步,所述虚拟内存分配模块21,包括:
[0080] 次级内存划分子模块211,用于配合虚拟系统将虚拟内存分成多个相同大小的次级内存;
[0081] 次级内存分配子模块212,用于对多个程序分别分配次级内存,并判断程序大小是否大于分配的次级内存;
[0082] 对比判断子模块213,用于基于判断结果,若程序小于次级内存,则将程序储存于单个次级内存内,若程序大于次级内存,则对程序再次分配次级内存,直到多个次级内存的总和大小大于程序。
[0083] 进一步,所述监测模块22,包括:
[0084] 虚拟系统检测子模块221,用于对虚拟系统中所有的次级内存进行监测;
[0085] 主机监测子模块222,用于将主机的主机内存分为程序运行内存、可占用内存和管理内存,并对程序运行内存和可占用内存进行监测。
[0086] 进一步,所述占用模块23,包括:
[0087] 虚拟内存判断子模块231,用于若检测到次级内存的占用率达到预设阈值,则判断虚拟内存紧张;
[0088] 最小的功能模块获取子模块232,用于将所有的程序按照实际功能分成多个功能模块,并对所有功能模块进行优化组合,获取每个程序最小的功能模块;
[0089] 流式内存空间映射子模块233,用于对最小的功能模块创建次级内存地址空间,并基于最小的功能模块的大小在主机的可占用内存中划分出流式内存空间,将该次级内存地址空间映射到流式内存空间。
[0090] 进一步,所述释放模块24,包括:
[0091] 主机内存判断子模块241,用于若监测到可占用内存的占用率达到预设阈值,则判断主机内存紧张;
[0092] 可占用内存释放子模块242,用于扫描所有的程序,获取各程序中正在运行的功能模块,将其最小的功能模块与正在运行的功能模块进行位置存储调换,取消最小的功能模块的次级内存地址空间与流式内存空间的映射关系,从而释放主机内存中占用的可占用内存。
[0093] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。