CN111984201B - 基于持久化内存的天文观测数据高可靠性采集方法和系统 - Google Patents
基于持久化内存的天文观测数据高可靠性采集方法和系统 Download PDFInfo
- Publication number
- CN111984201B CN111984201B CN202010903608.0A CN202010903608A CN111984201B CN 111984201 B CN111984201 B CN 111984201B CN 202010903608 A CN202010903608 A CN 202010903608A CN 111984201 B CN111984201 B CN 111984201B
- Authority
- CN
- China
- Prior art keywords
- data
- storage space
- memory
- space
- persistent
- 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
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage 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/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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开的基于持久化内存的天文观测数据高可靠性采集方法和系统,该方法包括:采集端通过科学级终端设备获取望远镜观测的流式数据;根据采集终端的速率要求计算采集数据量所需存储空间大小;并以此所计算持久化内存空间以及传统易失性内存空间大小;通过合理的空间调配算法在持久化和易失性内存之间的数据调度操作来实现持续性的高速流式数据存储;本发明利用一定量的高速内存空间实现接近内存速率的超高速天文数据存储技术;提供了一种可靠的持久化内存和传统内存的混合天文观测数据采集方法。本申请涉及的技术方案,其能够避免意外情况下采集数据容易丢失的问题,在保证超高速存储的同时提高了可靠性。
Description
技术领域
本申请涉及天文数据采集技术领域,更具体地说,尤其涉及一种基于持久化内存的天文观测数据高可靠性采集方法,本申请还涉及一种基于持久化内存的天文观测数据高可靠性采集系统。
背景技术
目前天文领域的光学、射电望远镜海量数据的采集是所有天文科学研究活动的基础性环节。高速甚至超高速观测终端对数据存储的性能提出了非常高的要求,例如科学级CCD/CMOS观测相机可以提供GB/s甚至几十GB/s的采集速率。
天文观测数据是时序数据,每一分每一秒对观测对象例如:太阳、恒星等的数据都异常珍贵,在采集过程中一旦出现数据不能可靠地存储,将导致不可挽回的损失。这不仅对数据本身是一个损失,在某种情况下,也有可能错失人类进一步对与人类息息相关的天文观测对象的认识的机会。在现有技术中,出现突然的异常,如掉电,宕机等情况下,采集到持久化内存的数据容易存在丢失的情况,天文观测数据在存储的过程中可靠性有待提高。
因此,如何提供一种基于持久化内存的天文观测数据高可靠性采集方法,其能够避免意外情况下采集的数据存在丢失的情况,提高采集到持久化内存的数据可靠性,已经成为本领域技术人员亟待解决的技术问题。
发明内容
为解决上述技术问题,本申请提供一种基于持久化内存的天文观测数据高可靠性采集方法,其能够避免意外情况下采集的数据存在丢失的情况,提高采集到持久化内存的数据可靠性。本申请还提供一种基于持久化内存的天文观测数据高可靠性采集系统,同样具有上述有益效果。
本申请提供的技术方案如下:
本申请提供一种基于持久化内存的天文观测数据高可靠性采集方法,包括如下步骤:
S2)获取采集数据;
S3)判断NVM存储空间是否有空余空间,所述NVM存储空间的容量大小为N;
S301)若所述NVM存储空间无空余空间,则将采集数据存入内存存储空间,所述内存存储空间的容量大小为M;
S302)若所述NVM存储空间有空余空间,则读取数据需要持久化存储配置,判断所述采集数据是否需要数据持久化处理;
S30201)若需要数据持久化处理,则将所述采集数据存入NVM存储空间;
S30202)若不需要数据持久化处理,则将所述采集数据存入内存存储空间;
S5)判断NVM存储空间的剩余空间是否充足,若识别到NVM存储空间的剩余空间不足时执行步骤S6),若识别到NVM存储空间的剩余空间充足时返回执行步骤S2);
S6)将NVM存储空间内的采集数据转存写入外部持久化存储空间中,扩大NVM存储空间的可用空间。
进一步地,在本发明一种优选的方式中,还包括步骤:S1)进行数据采集初始化;S1)进行数据采集初始化包括:S101)读取预先配置信息,初始化内存存储空间,启动用于控制管理NVM存储空间的NVM管理模块,预制信息包括:内存存储空间和NVM存储空间的物理地址;S102)根据预先配置信息,挂载NVM存储空间的设备,挂载内存存储空间的设备;S103)利用Linux系统的Posix fallocate服务连通控制NVM存储空间的设备;S104)启动内存存储空间监控线程,执行步骤S4)。
进一步地,在本发明一种优选的方式中,S4)监控所述内存存储空间的剩余空间的大小,并将所述内存存储空间的数据转存入NVM存储空间或外部持久化存储空间中。
进一步地,在本发明一种优选的方式中,所述步骤S4)包括以下步骤:S401)识别所述内存存储空间的剩余空间是否小于10%M,若是则执行步骤S402);S402)识别所述NVM存储空间的剩余空间是否大于40%N,若是则执行步骤S403),若不是则执行步骤S404)和步骤S6);S403)将内存存储空间的采集数据转存写入NVM存储空间中,扩大内存存储空间的可用空间;S404)将内存存储空间的采集数据转存写入外部持久化存储空间中,扩大内存存储空间的可用空间。
进一步地,在本发明一种优选的方式中,所述步骤S302)读取数据需要持久化存储配置,判断是否需要数据持久化处理具体为:若所述采集数据的数据大小小于所述NVM存储空间的剩余空间的50%时,则所述采集数据需要数据持久化处理;若所述采集数据的数据大小为所述NVM存储空间的剩余空间的50%N-60%N时,则所述采集数据不需要数据持久化处理。
进一步地,在本发明一种优选的方式中,所述内存存储空间的容量大小M为40%N。
进一步地,在本发明一种优选的方式中,所述NVM存储空间包括:持久化内存数据存储区、内存转储区、NVM存储预留区;所述持久化内存数据存储区的空间大小记为N1,所述内存转储区的空间大小记为N2;所述NVM存储预留区的空间大小记为N3;所述内存存储空间包括:内存区、内存存储预留区;所述内存区的空间大小记为M1,所述内存存储预留区的空间大小记为M2;所述NVM存储预留区和所述内存存储预留区用于数据恢复。
进一步地,在本发明一种优选的方式中,所述N1为50%N;所述N2为40%N;所述N3为10%N;所述M1为90%M;所述M2为10%M。
进一步地,在本发明一种优选的方式中,所述NVM存储空间的数据转存写入所述内存存储空间的速度为V0,所述NVM存储空间的数据转存写入所述外部持久化存储空间的速度为V1,且V0≥V1。
此外,本申请还提供一种基于持久化内存的天文观测数据高可靠性采集系统,包括:用于获取天文物理信息的天文物理信息获取装置;与所述天文物理信息获取装置信号连接,用于从所述天文物理信息获取采集数据的感知装置;与所述感知装置信号连接,用于暂存所述采集数据的前置采集服务器;与所述前置采集服务器信号连接,用于持久化存储采集数据的持久化数据存储服务器;所述持久化数据存储服务器包括外部持久化存储空间;其中,所述前置采集服务器包括:程序存储器、处理器以及存储在所述存储器中,并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述基于持久化内存的天文观测数据高可靠性采集方法的步骤。
本发明提供的一种基于持久化内存的天文观测数据高可靠性采集方法,与现有技术相比,包括:如下步骤:S2)获取采集数据;S3)判断NVM存储空间是否有空余空间,所述NVM存储空间的容量大小为N;S301)若所述NVM存储空间无空余空间,则将采集数据存入内存存储空间,所述内存存储空间的容量大小为M;S302)若所述NVM存储空间有空余空间,则读取数据需要持久化存储配置,判断所述采集数据是否需要数据持久化处理;S30201)若需要数据持久化处理,则将所述采集数据存入NVM存储空间;S30202)若不需要数据持久化处理,则将所述采集数据存入内存存储空间;S5)判断NVM存储空间的剩余空间是否充足,若识别到NVM存储空间的剩余空间不足时执行步骤S6),若识别到NVM存储空间的剩余空间充足时返回执行步骤S2);S6)将NVM存储空间内的采集数据转存写入外部持久化存储空间中,扩大NVM存储空间的可用空间。本申请涉及的技术方案,相较于现有技术而言,其能够避免意外情况下采集的数据存在丢失的情况,提高采集到持久化内存的数据可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于持久化内存的天文观测数据高可靠性采集方法的流程示意图;
图2为本发明实施例涉及的基于持久化内存的天文观测数据高可靠性采集系统的示意图;
图3为本发明实施例涉及的采集数据存储的内存区中NVM存储空间n和内存储空间m的占比及数据传输示意图。
具体实施方式
为了使本领域的技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件上,它可以直接在另一个元件上或者间接设置在另一个元件上;当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至另一个元件上。
需要理解的是,术语“长度”、“宽度”、“上”、下”、“前”、“后”、“第一”、“第二”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”、“若干个”的含义是两个或两个以上,除非另有明确具体的限定。
须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本申请可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能产生的功效及所能达成的目的下,均应仍落在本申请所揭示的技术内容得能涵盖的范围内。
请如图1至图3所示,本申请实施例提供的基于持久化内存的天文观测数据高可靠性采集方法,包括:包括如下步骤:S2)获取采集数据;S3)判断NVM存储空间是否有空余空间,所述NVM存储空间的容量大小为N;S301)若所述NVM存储空间无空余空间,则将采集数据存入内存存储空间,所述内存存储空间的容量大小为M;S302)若所述NVM存储空间有空余空间,则读取数据需要持久化存储配置,判断所述采集数据是否需要数据持久化处理;S30201)若需要数据持久化处理,则将所述采集数据存入NVM存储空间;S30202)若不需要数据持久化处理,则将所述采集数据存入内存存储空间;S5)判断NVM存储空间的剩余空间是否充足,若识别到NVM存储空间的剩余空间不足时执行步骤S6),若识别到NVM存储空间的剩余空间充足时返回执行步骤S2);S6)将NVM存储空间内的采集数据转存写入外部持久化存储空间中,扩大NVM存储空间的可用空间。
本发明实施例提供一种基于持久化内存的天文观测数据高可靠性采集方法,具体包括:如下步骤:S2)获取采集数据;S3)判断NVM存储空间是否有空余空间,所述NVM存储空间的容量大小为N;S301)若所述NVM存储空间无空余空间,则将采集数据存入内存存储空间,所述内存存储空间的容量大小为M;S302)若所述NVM存储空间有空余空间,则读取数据需要持久化存储配置,判断所述采集数据是否需要数据持久化处理;S30201)若需要数据持久化处理,则将所述采集数据存入NVM存储空间;S30202)若不需要数据持久化处理,则将所述采集数据存入内存存储空间;S5)判断NVM存储空间的剩余空间是否充足,若识别到NVM存储空间的剩余空间不足时执行步骤S6),若识别到NVM存储空间的剩余空间充足时返回执行步骤S2);S6)将NVM存储空间内的采集数据转存写入外部持久化存储空间中,扩大NVM存储空间的可用空间。本申请涉及的技术方案,相较于现有技术而言,其能够避免意外情况下采集的数据存在丢失的情况,提高采集到持久化内存的数据可靠性。
具体地,在本发明实施例中,还包括步骤:S1)进行数据采集初始化;S1)进行数据采集初始化包括:S101)读取预先配置信息,初始化内存存储空间,启动用于控制管理NVM存储空间的NVM管理模块,预制信息包括:内存存储空间和NVM存储空间的物理地址;S102)根据预先配置信息,挂载NVM存储空间的设备,挂载内存存储空间的设备;S103)利用Linux系统的Posix fallocate服务连通控制NVM存储空间的设备;S104)启动内存存储空间监控线程,执行步骤S4)。
具体地,在本发明实施例中,S4)监控所述内存存储空间的剩余空间的大小,并将所述内存存储空间的数据转存入NVM存储空间或外部持久化存储空间中。
具体地,在本发明实施例中,所述步骤S4)包括以下步骤:S401)识别所述内存存储空间的剩余空间是否小于10%M,若是则执行步骤S402);S402)识别所述NVM存储空间的剩余空间是否大于40%N,若是则执行步骤S403),若不是则执行步骤S404)和步骤S6);S403)将内存存储空间的采集数据转存写入NVM存储空间中,扩大内存存储空间的可用空间;S404)将内存存储空间的采集数据转存写入外部持久化存储空间中,扩大内存存储空间的可用空间。
具体地,在本发明实施例中,所述步骤S302)读取数据需要持久化存储配置,判断是否需要数据持久化处理具体为:若所述采集数据的数据大小小于所述NVM存储空间的剩余空间的50%时,则所述采集数据需要数据持久化处理;若所述采集数据的数据大小为所述NVM存储空间的剩余空间的50%N-60%N时,则所述采集数据不需要数据持久化处理。
具体地,在本发明实施例中,所述内存存储空间的容量大小M为40%N。
具体地,在本发明实施例中,所述NVM存储空间包括:持久化内存数据存储区、内存转储区、NVM存储预留区;所述持久化内存数据存储区的空间大小记为N1,所述内存转储区的空间大小记为N2;所述NVM存储预留区的空间大小记为N3;所述内存存储空间包括:内存区、内存存储预留区;所述内存区的空间大小记为M1,所述内存存储预留区的空间大小记为M2;所述NVM存储预留区和所述内存存储预留区用于数据恢复。
具体地,在本发明实施例中,所述N1为50%N;所述N2为40%N;所述N3为10%N;所述M1为90%M;所述M2为10%M。
具体地,在本发明实施例中,所述NVM存储空间的数据转存写入所述内存存储空间的速度为V0,所述NVM存储空间的数据转存写入所述外部持久化存储空间的速度为V1,且V0≥V1。
此外,本申请还提供一种基于持久化内存的天文观测数据高可靠性采集系统,包括:用于获取天文物理信息的天文物理信息获取装置1;与所述天文物理信息获取装置1信号连接,用于从所述天文物理信息获取采集数据的感知装置2;与所述感知装置信号连接,用于暂存所述采集数据的前置采集服务器3;与所述前置采集服务器3信号连接,用于持久化存储采集数据的持久化数据存储服务器4;所述持久化数据存储服务器4包括外部持久化存储空间;其中,所述前置采集服务器4包括:程序存储器、处理器以及存储在所述存储器中,并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述基于持久化内存的天文观测数据高可靠性采集方法的步骤。
具体地,用于获取天文物理信息的天文物理信息获取装置1具体为大型望远镜设备。
具体地,用于从所述天文物理信息获取采集数据的感知装置2为CCD设备、光谱仪。
其中,前置采集服务器,通常设于感知装置2比较近的位置,放置一台服务器作为前置数据采集的暂存处,一旦感知装置采集到数据,数据就会第一时间暂存到前置服务器上;当前置服务器上的数据存储空间存储不下数据的时候,就会把数据推送到持久化的数据存储服务器上。
更为具体地阐述,我国目前天文领域的光学、射电望远镜海量数据的采集是所有天文科学研究活动的基础性环节,高速甚至超高速观测终端对数据存储的性能提出了非常高的要求,例如科学级CCD/CMOS观测相机可以提供GB/s甚至几十GB/s的采集速率;如何提供如此高的数据采集吞吐量并保证数据在存储过程中的可靠性是目前亟待解决的问题,本发明实施例涉及的技术方案,针对目前天文领域的这一特殊场景,提出了一种基于持久化内存的超高速观测数据可靠性采集方法,该方法具有投入设备少、性能高、可靠性高的特点,在出现突然的异常,如掉电,宕机等情况下,采集到持久化内存的数据不会丢失。
在现有技术中,基于机械硬盘的存储方式满足不了如此高速的数据存储性能需要;基于固态硬盘的存储方式一方面由于可擦写次数有限,另一方面也由于性能满足不了需要;基于分布式存储的方式需要部署很多的机器满足性能扩展和可靠性需要,而且由于采集端所在的观测室存在空间限制,也不利于布置很多的存储服务器,只能通过网络传输,基于高速的网络传输又需要重构或者优化现场的网络环境,更换采集服务器和存储服务器的网络接口,这就带来了巨大的成本开销;基于内存的存储方式,虽然这种该方式可以提供高速的存储性能,但是最大的问题在于,采集到内存中的数据在服务器掉电后数据就会丢失,不适合高速海量的数据场合。
能够保证内存中数据不丢失的另外一种技术是分布式内存存储技术,只要所有的分布式存储集群节点不宕机,可以实现可靠性采集,但是问题有如下几个不足:一是需要使用多台服务器,必然带来巨大成本开销,二是数据需要高速的多点同步复制,一份数据需要多点存储,才能保证采集时的数据不丢失,可以通过其他节点的数据恢复;三是维护比较麻烦,分布式存储的方式都需要管理多个节点,这对于天文观测数据的采集来说,带来了复杂性。
本发明实施例涉及的基于持久化内存的天文观测数据高可靠性采集方法和系统,相较于现有技术而言,其能够避免意外情况下采集的数据存在丢失的情况,提高采集到持久化内存的数据可靠性。
其中,本发明实施例中涉及的持久化内存是指持久化内存(PMEM),也称为非易失性内存(NVM)或内存级存储器(SCM);
其中,本发明实施例中涉及的天文观测数据是指:天文观测这里指的是利用大型的天文望远镜对宇宙中运行的对象进行观测,例如太阳、恒星等。
其中,天文数据采集流程:一个完整的天文观测数据采集包括如下图1所示的四个部分:
大型望远镜设备作为数据采集来源;
数据采集终端,采集观测数据的感知单元,例如,CCD设备、光谱仪等;
前置采集服务器,这是该领域独特的地方,一般会在采集终端比较近的地方,放置一台服务器作为前置数据采集的暂存处。
一旦所述终端采集到数据,数据就会第一时间暂存到前置服务器上;
当前置服务器上的数据存储空间存储不下数据的时候,就会把数据推送到持久化的数据存储服务器上。
其中,天文观测数据是时序数据,每一分每一秒对观测对象例如:太阳、恒星等的数据都异常珍贵,在采集过程中一旦出现数据不能可靠地存储,将导致不可挽回的损失。这不仅对数据本身是一个损失,在某种情况下,也有可能错失人类进一步对与人类息息相关的天文观测对象的认识的机会。本发明实施例涉及的技术方案,能够实现超高速数据采集,并且可实现超高速数据采集下的可靠性数据存储。本发明实施例涉及的方法,依赖持久化内存实现高速采集数据的同时保障数据在内存中的可靠性,在发生异常的情况下、突然掉电的情况,内存中的数据不丢失,从而保障了采集数据的存储的可靠性。
具体实现过程如下:
在所述的前置服务器上安装采集软件,安装所述的持久化内存,安装持久化内存管理模块,并安装好所述采集终端的驱动程序;
步骤1:启动采集软件,读取预先配置信息,例如采集终端,可用持久化内存设备分配地址;
步骤2:初始化内存空间,大小为M(这里指的是传统的内存,掉电后数据会丢失);
步骤3:启动NVM管理模块,用于对NVM的加载、内存空间分配、回收等管理。
步骤4:找到NVM的地址,并挂载MVM设备,挂载为普通的文件系统;
步骤5:利用Linux系统的posix_fallocate打开NVM;
步骤6:预先分配NVM的空间大小为N;
步骤7:启动一个内存监控线程,来监控内存存储空间的变化。
步骤8:采集软件调动数据采集接口,开始采集数据;
步骤9:查看是否用可用的NVM存储空间;
步骤10:如果有,进一步读取采集软件中数据需要持久化存储配置。
步骤10:如果没有,写入内存存储空间M中(监控进程会保障内存空间M总能够存储t1时间内的采集数据)。
步骤11:读取采集软件中数据需要持久化存储配置;
步骤12:当前数据是否需要存储到持久化内存中;
步骤13:如果是,并且当前采集的数据大小小于剩余可用存储空间的50%,则填入数据到NVM存储空间中。
步骤14:如果否,说明还有足够的持久化存储空间,则转到步骤8。
步骤15:当大于等于存储空间的50%,且小于存储空间的60%,则把数据写出持久化存储设备上(这里主要指机械硬盘),回收NVM空间,转到步骤8。
其中监控内存的线程主要对采集过程中,NVM没有足够空间存储的时候,临时使用内存空间进行存储,内存存储空间一般设置为:N大小的40%。监控过程如下:
步骤1:在T时间内检测分配的内存存储空间可用的容量;
步骤2:查看容量大小,如果大于允许的容量TH,例如90%;
步骤3:则准备把数据移入到NVM存储空间中;
步骤4:如果没有,则延时等待;
步骤5:检查剩余的NVM存储空间大小;
步骤6:如果剩余NVM存储空间的大小,小于40%,则把数据移动到持久化存储空间外部。
步骤7:如果剩余的NVM存储空间大于40%,等待t2时间,t2时间应小于NVM存储空间中持久化保存数据到机械硬盘的时间,即等待持久化内存中的数据保存完。
步骤8:安全移动完数据后,回收内存空间,跳到步骤1。
上述过程保障了即使存在掉电,最大也只会损失NVM分配的存储空间的40%,这就最大化保障了尽可能多的采集数据的安全性。
其中,持久化内存存储空间N和内存空间M的分配方式如下图3所示:
用于采集数据存储的内存区,由M和N构成,其中持久化存储内大小空间分为3部分,即:持久化内存数据存储区(N1)、内存转储区(N2)、预留区。
其中,持久化内存数据存储区位N的50%,内存转储区为N的40%,预留区为N的10%。
此外,内存区又分为2部分:内存区和预留区;内存区位M的90%,预留区为10%,这两个分区中的预留区都用来做其他元数据的存储,例如掉电后,数据从哪里恢复,存储数据的地址,存储数据的完整性等信息。
持久化内存存储空间的数据移动分为两个部分,一个部分是从持久化内存区(NVM存储空间)移动到内存区(内存存储空间)的速率V0,另外一个是存储到持久化机械硬盘的速率V1。V0>=V1。另外一个速率是从内存到持久化机械硬盘的存储速率V2。在当前的技术下,V0也满足V0>=V1。由于内存的速率在GB/s级,而单个硬盘存储的速率在MB/s。因此这二者之间的速率差,也通过空间缓冲的方式来解决。所以步骤15中的持久化数据存储时间,我们假设能够保证数据采集需要。
在本发明实施例中,持久化机械硬盘存储部分,不限定与机械硬盘,比如其他持久化存储设备,SSD,分布式存储,数据库等软件或者硬件都可以。重点的核心在于持久化内存来保障采集过程中的数据安全性。
需要从整体上概述的是,本申请提供的技术方案中,采集端通过科学级终端设备获取望远镜观测的流式数据;根据采集终端的速率要求计算采集数据量所需存储空间大小;并以此所计算持久化内存空间以及传统易失性内存空间大小;通过合理的空间调配算法在持久化和易失性内存之间的数据调度操作来实现持续性的高速流式数据存储;本发明利用一定量的高速内存空间实现接近内存速率的超高速天文数据存储技术;提供了一种可靠的持久化内存和传统内存的混合天文观测数据采集方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,包括如下步骤:
S2)获取采集数据;
S3)判断NVM存储空间是否有空余空间,所述NVM存储空间的容量大小为N;
S301)若所述NVM存储空间无空余空间,则将采集数据存入内存存储空间,所述内存存储空间的容量大小为M;
S302)若所述NVM存储空间有空余空间,则读取数据需要持久化存储配置,判断所述采集数据是否需要数据持久化处理;
S30201)若需要数据持久化处理,则将所述采集数据存入NVM存储空间;
S30202)若不需要数据持久化处理,则将所述采集数据存入内存存储空间;
S5)判断NVM存储空间的剩余空间是否充足,若识别到NVM存储空间的剩余空间不足时执行步骤S6),若识别到NVM存储空间的剩余空间充足时返回执行步骤S2);
S6)将NVM存储空间内的采集数据转存写入外部持久化存储空间中,扩大NVM存储空间的可用空间。
2.根据权利要求1所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,还包括步骤:S1)进行数据采集初始化;S1)进行数据采集初始化包括:S101)读取预先配置信息,初始化内存存储空间,启动用于控制管理NVM存储空间的NVM管理模块,预制信息包括:内存存储空间和NVM存储空间的物理地址;S102)根据预先配置信息,挂载NVM存储空间的设备,挂载内存存储空间的设备;S103)利用Linux系统的Posix fallocate服务连通控制NVM存储空间的设备;S104)启动内存存储空间监控线程,执行步骤S4)。
3.根据权利要求1所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,S4)监控所述内存存储空间的剩余空间的大小,并将所述内存存储空间的数据转存入NVM存储空间或外部持久化存储空间中。
4.根据权利要求3所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,所述步骤S4)包括以下步骤:S401)识别所述内存存储空间的剩余空间是否小于10%M,若是则执行步骤S402);S402)识别所述NVM存储空间的剩余空间是否大于40%N,若是则执行步骤S403),若不是则执行步骤S404)和步骤S6);S403)将内存存储空间的采集数据转存写入NVM存储空间中,扩大内存存储空间的可用空间;S404)将内存存储空间的采集数据转存写入外部持久化存储空间中,扩大内存存储空间的可用空间。
5.根据权利要求4所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,所述步骤S302)读取数据需要持久化存储配置,判断是否需要数据持久化处理具体为:若所述采集数据的数据大小小于所述NVM存储空间的剩余空间的50%时,则所述采集数据需要数据持久化处理;若所述采集数据的数据大小为所述NVM存储空间的剩余空间的50%N-60%N时,则所述采集数据不需要数据持久化处理。
6.根据权利要求1所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,所述内存存储空间的容量大小M为40%N。
7.根据权利要求1所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,所述NVM存储空间包括:持久化内存数据存储区、内存转储区、NVM存储预留区;所述持久化内存数据存储区的空间大小记为N1,所述内存转储区的空间大小记为N2;所述NVM存储预留区的空间大小记为N3;所述内存存储空间包括:内存区、内存存储预留区;所述内存区的空间大小记为M1,所述内存存储预留区的空间大小记为M2;所述NVM存储预留区和所述内存存储预留区用于数据恢复。
8.根据权利要求7所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,所述N1为50%N;所述N2为40%N;所述N3为10%N;所述M1为90%M;所述M2为10%M。
9.根据权利要求1所述的基于持久化内存的天文观测数据高可靠性采集方法,其特征在于,所述NVM存储空间的数据转存写入所述内存存储空间的速度为V0,所述NVM存储空间的数据转存写入所述外部持久化存储空间的速度为V1,且V0≥V1。
10.一种基于持久化内存的天文观测数据高可靠性采集系统,其特征在于,用于获取天文物理信息的天文物理信息获取装置;与所述天文物理信息获取装置信号连接,用于从所述天文物理信息获取采集数据的感知装置;与所述感知装置信号连接,用于暂存所述采集数据的前置采集服务器;与所述前置采集服务器信号连接,用于持久化存储采集数据的持久化数据存储服务器;所述持久化数据存储服务器包括外部持久化存储空间;其中,所述前置采集服务器包括:程序存储器、处理器以及存储在所述存储器中,并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1至9中任一项所述的基于持久化内存的天文观测数据高可靠性采集方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903608.0A CN111984201B (zh) | 2020-09-01 | 2020-09-01 | 基于持久化内存的天文观测数据高可靠性采集方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903608.0A CN111984201B (zh) | 2020-09-01 | 2020-09-01 | 基于持久化内存的天文观测数据高可靠性采集方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984201A CN111984201A (zh) | 2020-11-24 |
CN111984201B true CN111984201B (zh) | 2023-01-31 |
Family
ID=73447217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010903608.0A Active CN111984201B (zh) | 2020-09-01 | 2020-09-01 | 基于持久化内存的天文观测数据高可靠性采集方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984201B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983118A (zh) * | 2005-12-14 | 2007-06-20 | 环达电脑(上海)有限公司 | 个人数字助理的省电方法 |
CN101989183A (zh) * | 2010-10-15 | 2011-03-23 | 浙江大学 | 混合主存储器实现节能存储的方法 |
CN103744627A (zh) * | 2014-01-26 | 2014-04-23 | 武汉英泰斯特电子技术有限公司 | 对实时采集的数据压缩存储的方法及系统 |
CN105740425A (zh) * | 2016-01-29 | 2016-07-06 | 宇龙计算机通信科技(深圳)有限公司 | 一种文件存储的方法及装置 |
CN106201911A (zh) * | 2015-05-05 | 2016-12-07 | 苏州携云信息科技有限公司 | 一种基于固态硬盘的缓存加速方法 |
CN106294190A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种存储空间管理方法及装置 |
CN108228478A (zh) * | 2018-01-05 | 2018-06-29 | 湖南国科微电子股份有限公司 | 一种ssd写性能的提高方法及装置 |
CN110209341A (zh) * | 2018-03-23 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
US10409493B1 (en) * | 2017-04-28 | 2019-09-10 | EMC IP Holding Company LLC | Online system checkpoint alert and handling |
CN111176584A (zh) * | 2019-12-31 | 2020-05-19 | 曙光信息产业(北京)有限公司 | 一种基于混合内存的数据处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584335B2 (en) * | 2006-11-02 | 2009-09-01 | International Business Machines Corporation | Methods and arrangements for hybrid data storage |
KR20180104262A (ko) * | 2017-03-10 | 2018-09-20 | 에스케이하이닉스 주식회사 | 보안 리프레시 키를 이용하여 블록 간 웨어-레벨링을 수행하는 메모리 장치 및 그 메모리 장치에서의 블록 간 웨어-레벨링 방법 |
-
2020
- 2020-09-01 CN CN202010903608.0A patent/CN111984201B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983118A (zh) * | 2005-12-14 | 2007-06-20 | 环达电脑(上海)有限公司 | 个人数字助理的省电方法 |
CN101989183A (zh) * | 2010-10-15 | 2011-03-23 | 浙江大学 | 混合主存储器实现节能存储的方法 |
CN103744627A (zh) * | 2014-01-26 | 2014-04-23 | 武汉英泰斯特电子技术有限公司 | 对实时采集的数据压缩存储的方法及系统 |
CN106201911A (zh) * | 2015-05-05 | 2016-12-07 | 苏州携云信息科技有限公司 | 一种基于固态硬盘的缓存加速方法 |
CN106294190A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种存储空间管理方法及装置 |
CN105740425A (zh) * | 2016-01-29 | 2016-07-06 | 宇龙计算机通信科技(深圳)有限公司 | 一种文件存储的方法及装置 |
US10409493B1 (en) * | 2017-04-28 | 2019-09-10 | EMC IP Holding Company LLC | Online system checkpoint alert and handling |
CN108228478A (zh) * | 2018-01-05 | 2018-06-29 | 湖南国科微电子股份有限公司 | 一种ssd写性能的提高方法及装置 |
CN110209341A (zh) * | 2018-03-23 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
CN111176584A (zh) * | 2019-12-31 | 2020-05-19 | 曙光信息产业(北京)有限公司 | 一种基于混合内存的数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
"云环境下的资源调度算法研究";范宗勤;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140615(第06期);I139-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN111984201A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10114749B2 (en) | Cache memory system and method for accessing cache line | |
JP6014925B2 (ja) | メモリ回収方法および装置 | |
US9513817B2 (en) | Free space collection in log structured storage systems | |
US9436392B1 (en) | Access-based eviction of blocks from solid state drive cache memory | |
US8775755B2 (en) | Peer-to-peer transcendent memory | |
WO2017196138A2 (en) | System and method for early data pipeline lookup in large cache design | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
CN107193494B (zh) | 一种基于ssd和hdd混合存储系统的rdd持久化方法 | |
CN111488219A (zh) | 用于高速数据采集系统的以太网数据流记录方法 | |
CN1763721A (zh) | 在信息存储和检索系统中提供故障恢复保护的设备和方法 | |
US6886031B2 (en) | Efficient connection and memory management for message passing on a single SMP or a cluster of SMPs | |
CN101617297B (zh) | 多处理器存储区域网络中的虚拟化支持 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN115248791A (zh) | 基于地址监测实现内存管理的硬件设备和方法 | |
CN111984201B (zh) | 基于持久化内存的天文观测数据高可靠性采集方法和系统 | |
CN104965793B (zh) | 一种云存储数据节点装置 | |
CN101783814A (zh) | 海量存储系统的元数据存储方法 | |
CN110162395B (zh) | 一种内存分配的方法及装置 | |
US20150186269A1 (en) | Managing memory | |
CN107179883B (zh) | 一种基于SSD和HDD的混合存储系统的Spark架构优化方法 | |
CN107861983A (zh) | 面向高速遥感影像处理的遥感影像存储系统 | |
CN108664212A (zh) | 固态存储设备的分布式缓存 | |
JP4997858B2 (ja) | データ記録装置およびデータ記録プログラム | |
CN104252423A (zh) | 基于多内核处理器的一致性处理方法和装置 | |
US8918621B1 (en) | Block address isolation for file systems |
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 |