CN115495026B - 一种优化内存处理方法、装置、设备及存储介质 - Google Patents
一种优化内存处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115495026B CN115495026B CN202211454855.2A CN202211454855A CN115495026B CN 115495026 B CN115495026 B CN 115495026B CN 202211454855 A CN202211454855 A CN 202211454855A CN 115495026 B CN115495026 B CN 115495026B
- Authority
- CN
- China
- Prior art keywords
- information
- data
- file
- stored data
- memory
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000007726 management method Methods 0.000 claims abstract description 47
- 238000004364 calculation method Methods 0.000 claims abstract description 39
- 238000007405 data analysis Methods 0.000 claims abstract description 16
- 230000006399 behavior Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 7
- 230000007812 deficiency Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001419 dependent 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
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种优化内存处理方法、装置、设备及存储介质,包括:获取初始内存信息以及存储数据信息,然后基于初始内存信息确定依赖层信息以及计算层信息,然后对存储数据信息进行数据分析处理,得到预存数据结点,然后根据计算层信息对存储数据信息进行结点数计算,得到存储结点数,然后判断预存数据结点的存储次序是否超过存储数据结点,若不超过,则将与预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入内存管理模块。本申请提高数据存储的完整性的效果。
Description
技术领域
本申请涉及计算机的领域,尤其是涉及一种优化内存处理方法、装置、设备及存储介质。
背景技术
随着大数据科技的发展,人们对数据存储的合理性愈加重视。目前,在对数据进行存储时,常常采用web3.0网络的数据封存技术。即通过precommit phase1(以下简称PC1)将原始数据进行SDR编码的过程,整个过程是从一个32G/64G的原始数据开始,生成11层副本,每一层同样是32G/64G大小。将原始数据按照32/64字节分割成一个个的结点,生成每一层的数据时,新结点都依赖于上一层的8个结点和本层较早的6个结点,这14个结点作为输入进行哈希运算,最终将原始数据保存至内存中。
针对于上述相关技术,发明人认为一旦出现内存不足时,易导致内存中存储的原始数据出现缺失,从而存在数据存储完整性降低的缺陷。
发明内容
为了提高数据存储的完整性,本申请提供一种优化内存处理方法、装置、设备及存储介质。
第一方面,本申请提供一种优化内存处理的方法,采用如下的技术方案:
一种优化内存处理的方法,包括:
获取初始内存信息以及存储数据信息;
基于所述初始内存信息确定所述依赖层信息以及计算层信息;
对所述存储数据信息进行数据分析处理,得到预存数据结点;
根据所述计算层信息对所述存储数据信息进行结点数计算,得到存储结点数;
判断所述预存数据结点的存储次序是否超过所述存储数据结点,若不超过,则将与所述预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当所述预存数据结点对应的数据满足所述切片内存信息中的存储数据时,根据所述依赖层信息计算预设结点依赖的数据指针信息,并将所述数据指针信息以及所述预存数据结点存入磁盘管理模块。
通过采用上述技术方案,在对数据进行存储时,获取初始内存信息以及存储数据信息,然后根据初始内存信息进行存储分层,得到依赖层信息以及计算层信息,对存储数据信息进行数据分析处理,得到预存数据结点,然后根据计算层信息对存储数据信息进行结点数计算,得到存储结点数,并判断预存数据结点的存储次序是否超过所述存储结点数,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入磁盘管理模块,若不超过,则将预存数据结点对应的数据存入内存管理模块中,从而通过对数据进行拆分给存储管理,提高数据存储的完整性,同时也优化了内存。
在另一种可能实现的方式中,所述对所述存储数据信息进行数据分析处理,得到预存数据结点,包括:
根据所述存储数据信息确定副本层级信息;
判断所述副本层级信息对应的副本层级是否为预设副本层级,若不是,则获取与所述副本层级信息对应的数据结点;
对所述数据结点进行数据汇总,得到预存数据结点。
通过上述技术方案,在对存储数据信息进行数据分析时,根据存储数据信息确定副本层级信息,然后判断副本层级信息对应的副本层级是否为预设副本层级,当不是时,获取与副本层级信息对应的数据结点,最后将数据结点进行数据汇总,得到预存数据结点,从而达到了对预存数据结点进行汇总的效果。
在另一种可能实现的方式中,所述将所述数据指针信息以及所述预存数据结点存入内存,之后还包括:
获取客户端信息以及与所述客户端信息相对应的读取文件信息;
确定所述客户端信息与所述读取文件信息的行为关联信息;
根据所述行为关联信息确定所述读取文件信息中的预读文件数据;
将所述预读文件数据发送至所述内存管理模块中,所述内存管理模块基于所述预读文件数据获取指定文件数据,并将所述指定文件数据返回至客户端。
通过采用上述技术方案,在对用户读取指定文件数据时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为APP,从而确定当前用户正在使用安卓系统的手机请求APP上的指定文件数据,将用户客户端信息与文件应用信息相关联得到行为关联信息,并通过行为关联信息获取用户客户端所要读取的文件信息中的预读文件数据,再将预读文件数据发送至内存管理模块,内存管理模块接收到预读文件数据信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件数据,并将指定文件数据返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件数据总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
在另一种可能实现的方式中,所述根据所述行为关联信息确定所述读取文件信息中的预读文件数据,包括:
获取所述预读文件信息中的文件位置信息与文件长度信息,所述文件长度信息是基于所述文件位置信息开始读取的长度;
根据所述客户端信息获取读取规则ID;
基于所述读取规则ID进行查询,获取预读文件块数量;
根据所述文件长度信息确定所要读取的读取文件块数量;
将所述预读文件块数量与所述读取文件块数量相加得到所述预读文件数据。
通过采用上述技术方案,在获取预读文件数据时,根据用户请求信息获取读取规则ID,基于读取规则ID确定行为关联信息中的预读文件块数量,再对文件信息进行查询,得到文件位置信息与文件长度信息,根据文件位置信息与文件长度信息确定当前用户所要读取的读取文件块数量,再将读取文件块数量与预读文件块数量相加,获取当前用户所需的预读文件数据,例如:安卓用户在访问APP应用信息时,读取文件块数量为当前用户实时访问的文件数据信息,预读文件块数量为当前用户可能读取的文件数据信息。通过获取不同用户的行为关联信息精确判断当前用户所要读取的读取文件块数量与预读文件块数量,从而有助于提高用户的使用体验。
在另一种可能实现的方式中,所述将所述预读文件数据发送至所述内存管理模块中,所述内存管理模块基于所述预读文件数据获取指定文件数据,包括:
当接收到所述预读文件数据时,根据所述预读文件数据与所述文件位置信息确定数据位图信息;
基于所述数据位图信息获取当前内存信息中的存储数据位图信息;
确定所述存储数据位图信息是否满足所述数据位图信息;
若满足,则基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据;
若不满足,则对所述数据位图信息与所述存储数据位图信息进行异或操作获取位图比较信息,将所述位图比较信息与所述数据位图信息进行与操作获取所述存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与所述位图欠缺信息相对应的位图信息,并将所述位图信息插入到所述存储数据位图信息中得到新的存储数据位图信息,基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据。
通过采用上述技术方案,在内存管理模块获取指定文件数据时,根据不同用户的预读文件数据与文件位置信息确定数据位图信息,再根据数据位图信息获取当前内存信息中的存储数据位图信息,将存储数据位图信息与数据位图信息相比对,确定当前存储数据位图信息相对于数据位图信息中所缺失的位图欠缺信息,根据位图欠缺信息去读磁盘中相对应的位图信息,并将位图信息插入到内存信息的存储数据位图信息中,对存储数据位图信息进行更新,以便于用户在后续读取指定文件数据时,减少读取磁盘次数,从而达到了提高磁盘性能的效果。
在另一种可能实现的方式中,所述基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据,包括:
基于所述存储数据位图信息确定文件开始位置信息与文件结束位置信息;
基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件数据;
当所述存储数据位图信息中的文件块满足限定要求时,停止对所述文件块查找;
其中,所述限定要求包括以下至少一项:
所述文件位置信息查找到所述文件开始位置信息或所述文件结束位置信息;
所述存储数据位图信息中无内存信息;
访问所述文件块的当前时间与上次访问所述文件块的时间差值大于预设的指定时间差值。
通过采用上述技术方案,在查找存储数据位图信息中指定文件数据时,首先确定存储数据位图信息中的文件开始位置信息与文件结束位置信息,文件位置信息分别向文件开始位置信息与文件结束位置信息方向进行查找,当查找到存储数据位图信息中的文件块满足限定要求时,停止对文件块进行查找,从而快速获取指定文件数据的效果。
在另一种可能实现的方式中,所述基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件数据,之后还包括:
对所述指定文件数据进行统计,获取所述指定文件数据的指定文件数据数量与每个所述指定文件数据对应的访问时间、访问次数;
根据不同所述指定文件数据的所述访问时间与所述访问次数,对每个所述指定文件数据进行权重值计算得到文件块权重值;
获取与所述指定文件数据相对应的读取规则ID;
基于所述读取规则ID查询,确定与所述读取规则ID绑定的信息中是否存在原始文件块权重值;
若存在,则删除原始文件块权重值,并将所述文件与所述读取规则ID进行绑定。
通过采用上述技术方案,在对指定文件数据计算权重值时,首先获取指定文件数据数量与每个指定文件数据对应的访问时间、访问次数,从而确定整个指定文件数据数量的访问时间与访问次数,再根据整个指定文件数据数量的访问时间与访问次数进行权重值计算得到文件块权重值,再将文件权重值与指定文件数据相对应读取规则ID进行绑定,从而便于后续对于权重值的查询。
第二方面,本申请提供一种优化内存处理的装置,采用如下的技术方案:
一种优化内存处理的装置,包括:
第一信息获取模块,用于获取初始内存信息以及存储数据信息;
信息确定模块,用于基于所述初始内存信息确定所述依赖层信息以及计算层信息;
处理分析模块,用于对所述存储数据信息进行数据分析处理,得到预存数据结点;
结点计算模块,用于根据所述计算层信息对所述存储数据信息进行结点数计算,得到存储结点数;
判断模块,用于判断所述预存数据结点的存储次序是否超过所述存储数据结点,若不超过,则将与所述预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当所述预存数据结点对应的数据满足所述切片内存信息中的存储数据时,根据所述依赖层信息计算预设结点依赖的数据指针信息,并将所述数据指针信息以及所述预存数据结点存入内存管理模块。
通过采用上述技术方案,在对数据进行存储时,获取初始内存信息以及存储数据信息,然后根据初始内存信息进行存储分层,得到依赖层信息以及计算层信息,对存储数据信息进行数据分析处理,得到预存数据结点,然后根据计算层信息对存储数据信息进行结点数计算,得到存储结点数,并判断预存数据结点的存储次序是否超过所述存储结点数,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入磁盘管理模块,若不超过,则将预存数据结点对应的数据存入内存管理模块中,从而通过对数据进行拆分给存储管理,提高数据存储的完整性,同时也优化了内存。
在一种可能的实现方式中,所述处理分析模块在对所述存储数据信息进行数据分析处理,得到预存数据结点时,具体用于:
根据所述存储数据信息确定副本层级信息;
判断所述副本层级信息对应的副本层级是否为预设副本层级,若不是,则获取与所述副本层级信息对应的数据结点;
对所述数据结点进行数据汇总,得到预存数据结点。
在另一种可能的实现方式中,所述装置还包括:第二信息获取模块、关联确定模块、预读确定模块以及数据获取模块,其中,
所述第二信息获取模块,用于获取客户端信息以及与所述客户端信息相对应的读取文件信息;
所述关联确定模块,用于确定所述客户端信息与所述读取文件信息的行为关联信息;
所述预读确定模块,用于根据所述行为关联信息确定所述读取文件信息中的预读文件数据;
所述数据获取模块,用于将所述预读文件数据发送至所述内存管理模块中,所述内存管理模块基于所述预读文件数据获取指定文件数据,并将所述指定文件数据返回至客户端。
在另一种可能的实现方式中,所述预读确定模块在根据所述行为关联信息确定所述读取文件信息中的预读文件数据时,具体用于:
获取所述预读文件信息中的文件位置信息与文件长度信息,所述文件长度信息是基于所述文件位置信息开始读取的长度;
根据所述客户端信息获取读取规则ID;
基于所述读取规则ID进行查询,获取预读文件块数量;
根据所述文件长度信息确定所要读取的读取文件块数量;
将所述预读文件块数量与所述读取文件块数量相加得到所述预读文件数据。
在另一种可能的实现方式中,所述数据获取模块在将所述预读文件数据发送至所述内存管理模块中,所述内存管理模块基于所述预读文件数据获取指定文件数据时,具体用于:
当接收到所述预读文件数据时,根据所述预读文件数据与所述文件位置信息确定数据位图信息;
基于所述数据位图信息获取当前内存信息中的存储数据位图信息;
确定所述存储数据位图信息是否满足所述数据位图信息;
若满足,则基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据;
若不满足,则对所述数据位图信息与所述存储数据位图信息进行异或操作获取位图比较信息,将所述位图比较信息与所述数据位图信息进行与操作获取所述存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与所述位图欠缺信息相对应的位图信息,并将所述位图信息插入到所述存储数据位图信息中得到新的存储数据位图信息,基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据。
在另一种可能的实现方式中,所述数据获取模块在基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据时,具体用于:
基于所述存储数据位图信息确定文件开始位置信息与文件结束位置信息;
基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件数据;
当所述存储数据位图信息中的文件块满足限定要求时,停止对所述文件块查找;
其中,所述限定要求包括以下至少一项:
所述文件位置信息查找到所述文件开始位置信息或所述文件结束位置信息;
所述存储数据位图信息中无内存信息;
访问所述文件块的当前时间与上次访问所述文件块的时间差值大于预设的指定时间差值。
在另一种可能的实现方式中,所述装置还包括:参数获取模块、权重计算模块、规则获取模块、信息判断模块以及数据处理模块,其中,
所述参数获取模块,用于对所述指定文件数据进行统计,获取所述指定文件数据的指定文件数据数量与每个所述指定文件数据对应的访问时间、访问次数;
所述权重计算模块,用于根据不同所述指定文件数据的所述访问时间与所述访问次数,对每个所述指定文件数据进行权重值计算得到文件块权重值;
所述规则获取模块,用于获取与所述指定文件数据相对应的读取规则ID;
所述信息判断模块,用于基于所述读取规则ID查询,确定与所述读取规则ID绑定的信息中是否存在原始文件块权重值;
所述数据处理模块,用于当存在时,删除原始文件块权重值,并将所述文件与所述读取规则ID进行绑定。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面任一种可能的实现方式所示的一种优化内存处理的方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,包括:存储有能够被处理器加载并执行实现第一方面任一种可能的实现方式所示的一种优化内存处理的方法的计算机程序。
综上所述,本申请包括以下至少一种有益技术效果:
1. 在对数据进行存储时,获取初始内存信息以及存储数据信息,然后根据初始内存信息进行存储分层,得到依赖层信息以及计算层信息,对存储数据信息进行数据分析处理,得到预存数据结点,然后根据计算层信息对存储数据信息进行结点数计算,得到存储结点数,并判断预存数据结点的存储次序是否超过所述存储结点数,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入磁盘管理模块,若不超过,则将预存数据结点对应的数据存入内存管理模块中,从而通过对数据进行拆分给存储管理,提高数据存储的完整性,同时也优化了内存;
2. 在对指定文件数据计算权重值时,首先获取指定文件数据数量与每个指定文件数据对应的访问时间、访问次数,从而确定整个指定文件数据数量的访问时间与访问次数,再根据整个指定文件数据数量的访问时间与访问次数进行权重值计算得到文件块权重值,再将文件权重值与指定文件数据相对应读取规则ID进行绑定,从而便于后续对于权重值的查询。
附图说明
图1是本申请实施例的一种优化内存处理的方法流程示意图;
图2为本申请实施例的一种优化内存处理的装置结构示意图;
图3为本申请实施例的电子设备的结构示意图。
具体实施方式
以下结合附图1-图3对本申请作进一步详细说明。
领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例提供了一种优化内存处理的方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制,如图1所示,该方法包括:
步骤S10,获取初始内存信息以及存储数据信息。
具体地,电子设备对指定存储设备的内存情况进行检测,得到指定存储设备的内存信息,指定存储设备包括:计算机以及平板等。存储数据信息为用户所要存储的数据信息。
步骤S11,基于初始内存信息确定依赖层信息以及计算层信息。
在本申请实施例中,将初始内存信息划分为11层副本,每层副本之间具有层依赖信息,例如:第二层依赖第一层,第一层作为特殊情况只依赖于本层,将每层对应的依赖信息进行收集,得到依赖层信息。然后,内存会将存储数据信息中的数据按照指定字节标准分割成一个个结点,并计算结点数量以及结点依赖个数(对于本申请实施来说,上一次的8个结点和本层较早的6个结点,算作结点依赖个数),从而得到计算层信息。
步骤S12,对存储数据信息进行数据分析处理,得到预存数据结点。
步骤S13,根据计算层信息对存储数据信息进行结点数计算,得到存储结点数。
步骤S14,判断预存数据结点的存储次序是否超过存储数据结点,若不超过,则将与预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入磁盘管理模块。
在本申请实施例中,以存储数据为32G数据以及初始内存为32G内存进行举例说明,对32G内存进行分层,得到11层副本,然后将32G大小的数据进行分割,得到每层副本中所对应存储的结点,从而确定32G数据结点之间依赖关系,然后从初始内存中分配16G内存进行结点存放计算:16G/32=500M,并将500M个数据结点直接存入内存中,即存储数据结点为500M时,预存数据结点的存储次序小于500M,若预存数据结点的存储次序超过500M时,从i= 500M+1个结点开始,以1G为一个切片,每次满一个切片就写入磁盘,同时提前计算最近的1000个结点依赖的index,如果index指向的结点已经存入磁盘,读取到一个map,并且计算层是个ring buffer,新结点覆盖最近写入磁盘的切片,同时为了加快速度,将1000个结点对应的index进行排序,这样减少磁盘磁头来回震荡,当i往前走1000以后,重新计算index和读取依赖结点到map。最终,节省了内存16G大小,并且通过计算index和批量有序读取数据,优化了存储数据的速度。
本申请实施例提供了一种优化内存处理的方法,在对数据进行存储时,获取初始内存信息以及存储数据信息,然后根据初始内存信息进行存储分层,得到依赖层信息以及计算层信息,对存储数据信息进行数据分析处理,得到预存数据结点,然后根据计算层信息对存储数据信息进行结点数计算,得到存储结点数,并判断预存数据结点的存储次序是否超过存储结点数,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入磁盘管理模块,若不超过,则将预存数据结点对应的数据存入内存管理模块中,从而通过对数据进行拆分给存储管理,提高数据存储的完整性,同时也优化了内存。
本申请实施例的一种可能的实现方式,步骤S12具体包括步骤S121(图中未示出)、步骤S122(图中未示出)以及步骤S123(图中未示出),其中,
步骤S121,根据存储数据信息确定副本层级信息。
步骤S122,判断副本层级信息对应的副本层级是否为预设副本层级,若不是,则获取与副本层级信息对应的数据结点。
步骤S123,对数据结点进行数据汇总,得到预存数据结点。
在本申请实施例中,在生成副本层级信息后,第一层级的副本具有特殊性(第一层作为特殊情况只依赖于本层),因此预设副本层级为第一层级,当副本层级信息对应的副本层级为第一层级时,则不将该层级数据算作预存数据结点。
本申请实施例的一种可能的实现方式,该方法还包括步骤S15(图中未示出)、步骤S16(图中未示出)、步骤S17(图中未示出)以及步骤S18(图中未示出),其中,
步骤S15,获取客户端信息以及与客户端信息相对应的读取文件信息。
具体地,服务器获取用户客户端的请求IP地址,常见的IP地址请求头包括:x-forwarded-for、client-ip以及remote_addr,remote_addr是指当前直接请求的客户端IP地址,它存在于tcp请求体中,是http协议传输的时候自动添加,不受请求头header的控制。因此,当客户端与服务器之间不存在任何代理的时候,通过remote_addr获取客户端IP地址是最准确。根据remote_addr获取当前客户端的IP地址,实现服务器与客户端进行通信,获取用户请求信息,对用户请求信息中自带的参数进行识别,获取用户信息以及与用户信息相对应的文件信息。例如,获取到的参数形式为:
User-information:UserName:张三;User-agent:Anderoid;
File-information:Application:APP应用;RealmName:.youku.com;Suffix:ts。
具体地,通过后台查询接口对用户信息中存在的用户客户端信息与文件信息中存在的文件应用信息进行获取,例如:获取的User-information与File-information:进行参数分析,获取参数User-agent以及与参数User-agent相对应的值(Anderoid)、参数File-information以及与参数File-information相对应的值,从而获取用户客户端信息(Anderoid)与文件应用信息。
步骤S16,确定用户客户端信息与文件应用信息的行为关联信息。
具体地,用户客户端信息与文件应用信息的行为关联信息,即当前用户客户端信息对CDN服务器进行数据请求的信息以及文件应用信息对CDN服务器进行数据上传的信息相关联。
例如:用户A第一次使用安卓手机想观看APP软件上的视频信息,用户A会通过安卓手机将该请求发送至CDN服务器,CDN服务器再将请求发送至对应的APP软件的服务器上,APP软件的服务器会读取该请求,并根据返回指定的文件应用信息,同时将用户A的用户客户端信息与文件应用信息相关联,便于后期对信息的处理。
步骤S17,根据行为关联信息确定读取文件信息中的预读文件数据。
其中,根据CDN获取到的指定的文件应用信息,对文件应用信息存储的数据信息进行计算,例如:可直接通过file的length()方法获取,将文件对应信息保存在指定位置,获取文件对应信息的的路径信息,根据路径信息创建文件:File file = new File("E:\\全部软件\\软件压缩包\\Windows7_W64_SP1_ent.iso");在获取当前路径下的文件大小:file.length(),根据获取到的文件大小读取预读文件数据。
步骤S18,用于将预读文件数据发送至内存管理模块中,内存管理模块基于预读文件数据获取指定文件数据,并将指定文件数据返回至客户端。
对于本申请实施例,内存管理模块是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。一个执行中的程式,譬如网页浏览器在个人电脑或是图灵机(Turing machine)里面,为一个行程将资料转换于真实世界及电脑内存之间,然后将资料存于电脑内存内部(在计算机科学,一个程式是一群指令的集合,一个行程是电脑在执行中的程式)。一个程式结构由以下两部分而成:“本文区段”,也就是指令存放,提供CPU使用及执行; “资料区段”,储存程式内部本身设定的资料,例如常数字串。
具体地,服务器内存是以字节为单位进行存储的,一个文件块的大小一般为64KB,根据预读文件数据获取内存管理模块中相对应位置的指定文件数据大小,从而获取指定文件数据。
本申请实施例的一种可能的实现方式,步骤S17具体包括步骤S171(图中未示出)、步骤S172(图中未示出)、步骤S173(图中未示出)、步骤S174(图中未示出)以及步骤S175(图中未示出),其中,
步骤S171,获取预读文件信息中的文件位置信息与文件长度信息,文件长度信息是基于文件位置信息开始读取的长度。
具体地,计算机以进程为基本单位进行资源的调度和分配,而在用户进行的输入、输出中,则以文件为基本单位。大多数应用程序的输入都是通过文件来实现的,其输出也都是将数据保存在文件中,再将文件保存在内存中,以便信息的长期存储及未来的访问,而保存在内存中的多个文件块按照一定顺序进行排序,当对文件块进行访问时,获取文件位置信息,并根据文件位置信息读取一定文件长度信息,从而获取当前用户所需的文件块。
步骤S172,根据客户端信息获取读取规则ID。
具体地,在控制层编写创建查询接口,获取用户请求信息中的读取规则ID参数,并对读取规则ID参数所对应的数值进行获取。
步骤S173,基于读取规则ID进行查询,获取预读文件块数量。
具体地,通过控制层(controller)、业务层(service)以及数据访问层(dao)对步骤S132获取到的读取规则ID数值对应的预读文件块数量进行获取,数据访问层只负责与数据库的数据交互,将数据进行读取操作,业务层需要根据系统的实际业务需求进行逻辑代码的编写,例如获取读取规则ID为1的值:“select * from rule where ID =1”,业务逻辑层调用数据访问层的相关方法实现与数据库的交互,将从数据库查询到的值反馈给控制层,控制层将读取规则ID对应的数据信息进行输出,从而获取与读取规则ID相对应的预读文件块数量。
步骤S174,根据文件长度信息确定所要读取的读取文件块数量。
具体地,在获取到文件块长度信息后,将文件块长度信息与单个文件块长度信息进行整除,从而获取读取文件块数量。
例如:文件块长度信息为2097152KB,单个文件块长度为64KB,则读取文件块数量就等于2097152KB除以64KB,及读取文件块数量为32个。
步骤S175,将预读文件块数量与读取文件块数量相加得到预读文件数据。
对于本申请实施例,预读文件块数量即为用户即将可能读取到的文件块数量,读取文件块数量即为用户当前正在读取的文件块数量。
具体地,将到的预读文件块数量与当前读取文件块数量进行相加,获取两文件块数量之和,从而得到预读文件数据。
本申请实施例的一种可能的实现方式,步骤S18(图中未示出)具体包括步骤S181(图中未示出)、步骤S182(图中未示出)、步骤S183(图中未示出)、步骤S184(图中未示出)以及步骤S185(图中未示出),其中,
步骤S181,当接收到预读文件数据时,根据预读文件数据与文件位置信息确定数据位图信息。
对于本申请实施例,位图(Bit Map)是一个数组的每一个数据的每一个二进制位表示一个数据,0表示数据不存在,1表示数据存在。
具体地,基于预读文件数据与文件位置信息建立数据位图信息,例如:当内存中文件块充足时,文件块位图为“11111111 11111111 11111111 11111111”,其中每个“1”代表大小为64K的文件块。
步骤S182,基于数据位图信息获取当前内存信息中的存储数据位图信息。
具体地,根据数据位图信息识别获取的位图长度,对应查找内存信息中的存储数据位图信息,从而便于后期进行处理。
步骤S183,确定存储数据位图信息是否满足数据位图信息。
具体地,假设之前已经从磁盘上读取了部分文件块到内存中,那么内存中的存储数据位图信息为11000000 00111111 11110000 00000011,假设本次读取数据位图信息为00000000 00001111 11110000 00000000,那么对两组位图信息进行判读,从而确定存储数据位图信息是否满足数据位图信息。
步骤S184,若满足,则基于数据位图信息获取存储数据位图信息中的指定文件数据。
具体地,基于步骤143中假设的存储数据位图信息为11010001 0011111111111000 00010011与读取数据位图信息为00101000 00001111 11110000 00101000进行比对,确定存储数据位图信息中包含读取数据位图信息,因此可直接读取内存中的所需的预读文件块信息。
步骤S185,若不满足,则对数据位图信息与存储数据位图信息进行异或操作获取位图比较信息,将位图比较信息与数据位图信息进行与操作获取存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与位图欠缺信息相对应的位图信息,并将位图信息插入到存储数据位图信息中得到新的存储数据位图信息,基于数据位图信息获取存储数据位图信息中的指定文件数据。
具体地,假设存储数据位图信息为11000000 00111111 01000000 00000011,假设读取数据位图信息为00000000 00001111 11110000 00000000,在将读取数据位图信息与存储数据位图信息进行比对后,确定存储数据位图信息不满足数据位图信息,对读取数据位图信息与存储数据位图信息进行异或操作得到位图比较信息为11000000 0011000010110000 00000011,再将位图比较信息与读取位图信息进行与操作得到位图欠缺信息为00000000 00000000 10110000 00000000,从磁盘中读取位图欠缺信息中为“1”文件块,并将文件块插入到存储数据位图信息,得到新的存储数据位图信息为11000000 0011111111110000 00000011,最后读取新的存储数据位图信息,获取读取数据位图信息所需的指定文件数据。
本申请实施例的一种可能的实现方式,S18(图中未示出)具体包括步骤S186(图中未示出)、步骤S187(图中未示出)以及步骤S188(图中未示出),其中,
步骤S186,基于存储数据位图信息确定文件开始位置信息与文件结束位置信息。
具体地,根据存储数据位图确定当前内存中文件的数量,同时存储数据位图中最左侧的文件块为文件开始位置,存储数据位图中最右侧的文件块为文件结束位置,例如:11000000 00111111 01000000 00000011中首个“1”即为文件开始位置,最后一个“1”为文件结束位置。
步骤S187,基于文件位置信息分别向文件开始位置信息方向与文件结束位置信息方向进行查找获取指定文件数据。
具体地,假设文件位置信息为11000000 00111111 01000000 00000011中第十一文件块“1”,则基于文件位置信息分别向左、向右进行查找,获取指定文件数据。
步骤S188,当存储数据位图信息中的文件块满足限定要求时,停止对文件块查找。
具体地,存储数据位图信息中的文件块满足限定要求时停止查找文件块,假设文件位置信息为11000000 00111111 01000000 00000011第三个文件块“0”,再向文件开始位置信息方向查找时,若计算的第二个文件块“1”的当前时间与上次访问文件块的时间差值大于预设的指定时间差值时,停止对个文件进行查找,再向文件结束位置信息方向查找时,若计算的第十七个文件“0”时,检测到存储数据位图信息中无内存信息,则停止进行查找。
对于本申请实施例中,限定要求包括以下至少一项:
文件位置信息查找到文件开始位置信息或文件结束位置信息;
存储数据位图信息中无内存信息;
访问文件块的当前时间与上次访问文件块的时间差值大于预设的指定时间差值。
本申请实施例的一种可能的实现方式,步骤S187(图中未示出)之后还包括步骤Sa(图中未示出)、步骤Sb(图中未示出)、步骤Sc(图中未示出)、步骤Sd(图中未示出)以及步骤Se(图中未示出),其中,
步骤Sa,对指定文件数据进行统计,获取指定文件数据的指定文件数据数量与每个指定文件数据对应的访问时间、访问次数。
具体地,将获取到的指定文件数据总量进行统计,计算每个指定文件数据对应的访问时间,从而获得指定文件数据总量的访问时间,同时检测每个文件块的访问次数,为后续判断权重值进行计算。
步骤Sb,根据不同指定文件数据的访问时间与访问次数,对每个指定文件数据进行权重值计算得到文件块权重值。
具体地,获取当前文件块访问时间与上一次访问文件块时间的访问时间差值以及根据时间差调整权重的系数c,计算系统配置系数i,i=访问次数/(访问时间差值/c+1),系数c+1是为了避免太小,要让这个结果大约等于1,然后计算当前文件块大小,设定指定文件数据中最大的文件块大小为e,计算系统配置系数f,f=e-当前文件大小/(当前文件大小/e),即文件块访问时间过去越久,那么就消减访问次数。文件块大小越小,权重越大。文件块大小越大,权重越小,因为小文件的优先级更高,对系统的吐流效果更好。
步骤Sc,获取与指定文件数据相对应的读取规则ID。
具体地,在控制层编写创建查询接口,获取用户请求信息中的读取规则ID参数,并对读取规则ID参数所对应的数值进行获取。
步骤Sd,基于读取规则ID查询,确定与读取规则ID绑定的信息中是否存在原始文件块权重值。
具体地,使用查询接口,获取与当前文件块绑定的读取规则ID,再基于读取规则ID进行查询,获取与读取规则ID相绑定的原始文件块权重值。
步骤Se,当存在时,删除原始文件块权重值,并将文件与读取规则ID进行绑定。
具体地,定期遍历内存中的文件块位图,将存储位图数据信息内存中已经存在的原始文件权重值淘汰,使用foreach循环遍历的方式,使每个文件在块内存中获得对应读取规则ID的文件块权重值。
上述实施例从方法流程的角度介绍一种优化内存处理的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种优化内存处理的装置,具体详见下述实施例。
本申请实施例提供一种优化内存处理的装置,如图2所示,该优化内存处理的装置20具体可以包括:信息获取模块21、信息确定模块22、处理分析模块23、结点计算模块24以及判断模块25其中,
信息获取模块21,用于获取初始内存信息以及存储数据信息;
信息确定模块22,用于基于初始内存信息确定依赖层信息以及计算层信息;
处理分析模块23,用于对存储数据信息进行数据分析处理,得到预存数据结点;
结点计算模块24,用于根据计算层信息对存储数据信息进行结点数计算,得到存储结点数;
判断模块25,用于判断预存数据结点的存储次序是否超过存储数据结点,若不超过,则将与预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当预存数据结点对应的数据满足切片内存信息中的存储数据时,根据依赖层信息计算预设结点依赖的数据指针信息,并将数据指针信息以及预存数据结点存入内存管理模块。
本申请实施例的一种可能的实现方式,处理分析模块23在对存储数据信息进行数据分析处理,得到预存数据结点时,具体用于:
根据存储数据信息确定副本层级信息;
判断副本层级信息对应的副本层级是否为预设副本层级,若不是,则获取与副本层级信息对应的数据结点;
对数据结点进行数据汇总,得到预存数据结点。
本申请实施例的另一种可能的实现方式,装置20还包括:第二信息获取模块、关联确定模块、预读确定模块以及数据获取模块,其中,
第二信息获取模块,用于获取客户端信息以及与客户端信息相对应的读取文件信息;
关联确定模块,用于确定客户端信息与读取文件信息的行为关联信息;
预读确定模块,用于根据行为关联信息确定读取文件信息中的预读文件数据;
数据获取模块,用于将预读文件数据发送至内存管理模块中,内存管理模块基于预读文件数据获取指定文件数据,并将指定文件数据返回至客户端。
本申请实施例的另一种可能的实现方式,预读确定模块在根据行为关联信息确定读取文件信息中的预读文件数据时,具体用于:
获取预读文件信息中的文件位置信息与文件长度信息,文件长度信息是基于文件位置信息开始读取的长度;
根据客户端信息获取读取规则ID;
基于读取规则ID进行查询,获取预读文件块数量;
根据文件长度信息确定所要读取的读取文件块数量;
将预读文件块数量与读取文件块数量相加得到预读文件数据。
本申请实施例的另一种可能的实现方式,数据获取模块在将预读文件数据发送至内存管理模块中,内存管理模块基于预读文件数据获取指定文件数据时,具体用于:
当接收到预读文件数据时,根据预读文件数据与文件位置信息确定数据位图信息;
基于数据位图信息获取当前内存信息中的存储数据位图信息;
确定存储数据位图信息是否满足数据位图信息;
若满足,则基于数据位图信息获取存储数据位图信息中的指定文件数据;
若不满足,则对数据位图信息与存储数据位图信息进行异或操作获取位图比较信息,将位图比较信息与数据位图信息进行与操作获取存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与位图欠缺信息相对应的位图信息,并将位图信息插入到存储数据位图信息中得到新的存储数据位图信息,基于数据位图信息获取存储数据位图信息中的指定文件数据。
本申请实施例的另一种可能的实现方式,数据获取模块在基于数据位图信息获取存储数据位图信息中的指定文件数据时,具体用于:
基于存储数据位图信息确定文件开始位置信息与文件结束位置信息;
基于文件位置信息分别向文件开始位置信息方向与文件结束位置信息方向进行查找获取指定文件数据;
当存储数据位图信息中的文件块满足限定要求时,停止对文件块查找;
其中,限定要求包括以下至少一项:
文件位置信息查找到文件开始位置信息或文件结束位置信息;
存储数据位图信息中无内存信息;
访问文件块的当前时间与上次访问文件块的时间差值大于预设的指定时间差值。
本申请实施例的另一种可能的实现方式,装置20还包括:参数获取模块、权重计算模块、规则获取模块、信息判断模块以及数据处理模块,其中,
参数获取模块,用于对指定文件数据进行统计,获取指定文件数据的指定文件数据数量与每个指定文件数据对应的访问时间、访问次数;
权重计算模块,用于根据不同指定文件数据的访问时间与访问次数,对每个指定文件数据进行权重值计算得到文件块权重值;
规则获取模块,用于获取与指定文件数据相对应的读取规则ID;
信息判断模块,用于基于读取规则ID查询,确定与读取规则ID绑定的信息中是否存在原始文件块权重值;
数据处理模块,用于当存在时,删除原始文件块权重值,并将文件与读取规则ID进行绑定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还从实体装置的角度介绍了一种电子设备,如图3所示,图3所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种优化内存处理的方法,其特征在于,包括:
获取初始内存信息以及存储数据信息;
基于所述初始内存信息确定依赖层信息以及计算层信息,所述依赖层信息用于表示每层副本之间的层依赖信息,所述计算层信息为内存会将存储数据信息中的数据按照指定字节标准分割成一个个结点,并计算结点数量以及结点依赖个数得到信息;
对所述存储数据信息进行数据分析处理,得到预存数据结点;
根据所述计算层信息对所述存储数据信息进行结点数计算,得到存储结点数;
判断所述预存数据结点的存储次序是否超过所述存储数据结点,若不超过,则将与所述预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当所述预存数据结点对应的数据满足所述切片内存信息中的存储数据时,根据所述依赖层信息计算预设结点依赖的数据指针信息,并将所述数据指针信息以及所述预存数据结点存入磁盘管理模块。
2.根据权利要求1所述的一种优化内存处理的方法,其特征在于,所述对所述存储数据信息进行数据分析处理,得到预存数据结点,包括:
根据所述存储数据信息确定副本层级信息;
判断所述副本层级信息对应的副本层级是否为预设副本层级,若不是,则获取与所述副本层级信息对应的数据结点;
对所述数据结点进行数据汇总,得到预存数据结点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取客户端信息以及与所述客户端信息相对应的读取文件信息;
确定所述客户端信息与所述读取文件信息的行为关联信息;
根据所述行为关联信息确定所述读取文件信息中的预读文件数据;
将所述预读文件数据发送至所述内存管理模块中,所述内存管理模块基于所述预读文件数据获取指定文件数据,并将所述指定文件数据返回至客户端。
4.根据权利要求3所述的方法,其特征在于,所述根据所述行为关联信息确定所述读取文件信息中的预读文件数据,包括:
获取所述预读文件数据中的文件位置信息与文件长度信息,所述文件长度信息是基于所述文件位置信息开始读取的长度;
根据所述客户端信息获取读取规则ID;
基于所述读取规则ID进行查询,获取预读文件块数量;
根据所述文件长度信息确定所要读取的读取文件块数量;
将所述预读文件块数量与所述读取文件块数量相加得到所述预读文件数据。
5.根据权利要求3-4所述任意一项的方法,其特征在于,所述将所述预读文件数据发送至所述内存管理模块中,所述内存管理模块基于所述预读文件数据获取指定文件数据,包括:
当接收到所述预读文件数据时,根据所述预读文件数据与文件位置信息确定数据位图信息;
基于所述数据位图信息获取当前内存信息中的存储数据位图信息;
确定所述存储数据位图信息是否满足所述数据位图信息;
若满足,则基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据;
若不满足,则对所述数据位图信息与所述存储数据位图信息进行异或操作获取位图比较信息,将所述位图比较信息与所述数据位图信息进行与操作获取所述存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与所述位图欠缺信息相对应的位图信息,并将所述位图信息插入到所述存储数据位图信息中得到新的存储数据位图信息,基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件数据,包括:
基于所述存储数据位图信息确定文件开始位置信息与文件结束位置信息;
基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件数据;
当所述存储数据位图信息中的文件块满足限定要求时,停止对所述文件块查找;
其中,所述限定要求包括以下至少一项:
所述文件位置信息查找到所述文件开始位置信息或所述文件结束位置信息;
所述存储数据位图信息中无内存信息;
访问所述文件块的当前时间与上次访问所述文件块的时间差值大于预设的指定时间差值。
7.根据权利要求6所述的方法,其特征在于,所述基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件数据,之后还包括:
对所述指定文件数据进行统计,获取所述指定文件数据的指定文件数据数量与每个所述指定文件数据对应的访问时间、访问次数;
根据不同所述指定文件数据的所述访问时间与所述访问次数,对每个所述指定文件数据进行权重值计算得到文件块权重值;
获取与所述指定文件数据相对应的读取规则ID;
基于所述读取规则ID查询,确定与所述读取规则ID绑定的信息中是否存在原始文件块权重值;
若存在,则删除原始文件块权重值,并将文件与所述读取规则ID进行绑定。
8.一种优化内存处理的装置,其特征在于,包括:
第一信息获取模块,用于获取初始内存信息以及存储数据信息;
信息确定模块,用于基于所述初始内存信息确定依赖层信息以及计算层信息,所述依赖层信息用于表示每层副本之间的层依赖信息,所述计算层信息为内存会将存储数据信息中的数据按照指定字节标准分割成一个个结点,并计算结点数量以及结点依赖个数得到信息;
处理分析模块,用于对所述存储数据信息进行数据分析处理,得到预存数据结点;
结点计算模块,用于根据所述计算层信息对所述存储数据信息进行结点数计算,得到存储结点数;
判断模块,用于判断所述预存数据结点的存储次序是否超过所述存储数据结点,若不超过,则将与所述预存数据结点对应的数据存入内存管理模块,若超过,则获取切片内存信息,当所述预存数据结点对应的数据满足所述切片内存信息中的存储数据时,根据所述依赖层信息计算预设结点依赖的数据指针信息,并将所述数据指针信息以及所述预存数据结点存入内存管理模块。
9.一种电子设备,其特征在于,其包括:
一个或者多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~7任一项所述的一种优化内存处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~7任一项所述的一种优化内存处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211454855.2A CN115495026B (zh) | 2022-11-21 | 2022-11-21 | 一种优化内存处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211454855.2A CN115495026B (zh) | 2022-11-21 | 2022-11-21 | 一种优化内存处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115495026A CN115495026A (zh) | 2022-12-20 |
CN115495026B true CN115495026B (zh) | 2023-03-10 |
Family
ID=85114783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211454855.2A Active CN115495026B (zh) | 2022-11-21 | 2022-11-21 | 一种优化内存处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495026B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597269A (zh) * | 2009-09-18 | 2012-07-18 | 葛兰素史密丝克莱恩生物有限公司 | 用于鉴定患者是否将是免疫治疗的反应者的方法 |
US8341342B1 (en) * | 2012-03-23 | 2012-12-25 | DSSD, Inc. | Storage system with incremental multi-dimensional RAID |
CN108924163A (zh) * | 2018-08-14 | 2018-11-30 | 成都信息工程大学 | 基于无监督学习的攻击者画像方法及系统 |
CN113849125A (zh) * | 2021-08-30 | 2021-12-28 | 北京东方网信科技股份有限公司 | 一种cdn服务器磁盘读取的方法、装置及系统 |
WO2022062647A1 (zh) * | 2020-09-25 | 2022-03-31 | 苏州浪潮智能科技有限公司 | 一种分子动力学软件的安装方法、装置、设备及可读介质 |
CN114329635A (zh) * | 2022-03-04 | 2022-04-12 | 杭州字节方舟科技有限公司 | 基于多方安全计算的隐私签名方法和计算机系统 |
WO2022126919A1 (zh) * | 2020-12-18 | 2022-06-23 | 平安科技(深圳)有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
CN115202847A (zh) * | 2022-07-28 | 2022-10-18 | 北京京东振世信息技术有限公司 | 任务的调度方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114254035A (zh) * | 2020-09-22 | 2022-03-29 | 华为云计算技术有限公司 | 数据库系统、数据处理方法及设备 |
CN114816749B (zh) * | 2022-04-22 | 2023-02-10 | 江苏华存电子科技有限公司 | 一种用于内存的智能化管理方法及系统 |
-
2022
- 2022-11-21 CN CN202211454855.2A patent/CN115495026B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597269A (zh) * | 2009-09-18 | 2012-07-18 | 葛兰素史密丝克莱恩生物有限公司 | 用于鉴定患者是否将是免疫治疗的反应者的方法 |
US8341342B1 (en) * | 2012-03-23 | 2012-12-25 | DSSD, Inc. | Storage system with incremental multi-dimensional RAID |
CN108924163A (zh) * | 2018-08-14 | 2018-11-30 | 成都信息工程大学 | 基于无监督学习的攻击者画像方法及系统 |
WO2022062647A1 (zh) * | 2020-09-25 | 2022-03-31 | 苏州浪潮智能科技有限公司 | 一种分子动力学软件的安装方法、装置、设备及可读介质 |
WO2022126919A1 (zh) * | 2020-12-18 | 2022-06-23 | 平安科技(深圳)有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
CN113849125A (zh) * | 2021-08-30 | 2021-12-28 | 北京东方网信科技股份有限公司 | 一种cdn服务器磁盘读取的方法、装置及系统 |
CN114329635A (zh) * | 2022-03-04 | 2022-04-12 | 杭州字节方舟科技有限公司 | 基于多方安全计算的隐私签名方法和计算机系统 |
CN115202847A (zh) * | 2022-07-28 | 2022-10-18 | 北京京东振世信息技术有限公司 | 任务的调度方法和装置 |
Non-Patent Citations (4)
Title |
---|
Srividya Desireddy ; Dinakar Reddy Pathireddy."Optimize In-kernel swap memory by avoiding duplicate swap out pages".《IEEE》.2016, * |
基于SDR-4902平台的波形部署算法设计与实现;陈路辉等;《现代电子技术》;20131101(第21期);第37-41页 * |
对等系统的数据定位;唐志福等;《计算机工程》;20061005(第19期);第267-269页 * |
网络应用软件监控系统管理信息存储优化设计;康松林等;《计算机工程与应用》;20060901(第25期);第110-112、119页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115495026A (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113010818B (zh) | 访问限流方法、装置、电子设备及存储介质 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
CN109496418B (zh) | 文件下载方法、装置及设备/终端/服务器 | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN107423037B (zh) | 应用程序接口定位方法及设备 | |
US9716666B2 (en) | Process cage providing attraction to distributed storage | |
CN115964002B (zh) | 一种电能表终端档案管理方法、装置、设备及介质 | |
WO2021226822A1 (zh) | 日志写入方法、装置、电子设备以及存储介质 | |
CN111803917B (zh) | 资源的处理方法和装置 | |
CN106657182B (zh) | 云端文件处理方法和装置 | |
CN117724852B (zh) | 一种云电脑计算资源分配方法及装置 | |
CN113849125B (zh) | 一种cdn服务器磁盘读取的方法、装置及系统 | |
CN115495026B (zh) | 一种优化内存处理方法、装置、设备及存储介质 | |
CN112650710A (zh) | 数据迁移的发送方法及装置、存储介质、电子装置 | |
CN112286706A (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN117201477A (zh) | 一种基于浏览器的图片资源下载方法及装置 | |
CN111414339A (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN114895852A (zh) | 数据处理方法、系统、装置、存储介质以及电子设备 | |
CN115129789A (zh) | 一种分布式对象存储系统的桶索引存储方法、装置及介质 | |
CN114895851A (zh) | 数据处理方法、装置、存储介质以及电子设备 | |
CN113411364B (zh) | 资源获取方法、装置及服务器 | |
CN114443583A (zh) | 一种碎片空间整理方法、装置、设备及存储介质 | |
CN108846141B (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: An optimized memory processing method, device, device, and storage medium Effective date of registration: 20231222 Granted publication date: 20230310 Pledgee: Bank of Jiangsu Limited by Share Ltd. Hangzhou branch Pledgor: Hangzhou Fangzhou Technology Co.,Ltd. Registration number: Y2023980073093 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |