CN118466864B - Satellite data storage method, device, medium and equipment - Google Patents
Satellite data storage method, device, medium and equipment Download PDFInfo
- Publication number
- CN118466864B CN118466864B CN202410937905.5A CN202410937905A CN118466864B CN 118466864 B CN118466864 B CN 118466864B CN 202410937905 A CN202410937905 A CN 202410937905A CN 118466864 B CN118466864 B CN 118466864B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- writing
- processor
- satellite
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0683—Plurality of storage devices
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
在本说明书提供一种卫星数据存储方法、装置、介质及设备中,首先确定待存储数据的数据大小,其次根据处理器的读取线程数量,分割待存储数据,得到各第一子数据,并确定各第一子数据与各读取线程的对应关系,通过所述各第一子数据对应的读取线程,将各第一子数据写入处理器缓存,最后响应于缓存中任一完整写入的第一子数据,根据处理器的写入线程数量,分割完整写入的第一子数据,得到各第二子数据,确定各第二子数据与各写入线程的对应关系,并据此对应关系,将各第二子数据写入存储器,通过对待存储数据的多次分割,避免了卫星在存储待存储数据时,出现因处理器内存大小不足导致的读写错误,降低了对处理器缓存的要求。
The present specification provides a satellite data storage method, device, medium and equipment, firstly determining the data size of the data to be stored, secondly dividing the data to be stored according to the number of read threads of the processor to obtain each first sub-data, and determining the corresponding relationship between each first sub-data and each read thread, and writing each first sub-data into the processor cache through the read thread corresponding to each first sub-data, and finally responding to any first sub-data written completely in the cache, dividing the first sub-data written completely according to the number of write threads of the processor to obtain each second sub-data, determining the corresponding relationship between each second sub-data and each write thread, and writing each second sub-data into the memory according to the corresponding relationship, by dividing the data to be stored multiple times, avoiding the occurrence of read and write errors caused by insufficient processor memory size when the satellite stores the data to be stored, and reducing the requirements for the processor cache.
Description
技术领域Technical Field
本说明书涉及计算机技术领域,尤其涉及一种卫星数据存储方法、装置、介质及设备。The present invention relates to the field of computer technology, and in particular to a satellite data storage method, device, medium and equipment.
背景技术Background Art
近年来,随着计算机技术的发展,卫星技术也取得了进步。而对于需要存储数据的卫星来说,受到卫星本身硬件性能以及电池续航的影响,每天可存储的数据总量有限,所以如何在有限的条件下,提升卫星数据存储的效率,成为了重点研究方向。In recent years, with the development of computer technology, satellite technology has also made progress. For satellites that need to store data, the total amount of data that can be stored each day is limited due to the hardware performance of the satellite itself and the battery life. Therefore, how to improve the efficiency of satellite data storage under limited conditions has become a key research direction.
而现有技术中,卫星的处理器一般在读取待存储数据后,通过预设的线程池,将待存储数据存入存储器。In the prior art, after reading the data to be stored, the processor of the satellite generally stores the data to be stored into the memory through a preset thread pool.
然而,这种方法在极大的提高了存储数据效率的同时,还提高了对处理器内存大小的要求。若处理器内存大小不足,则会导致待存储数据的读写出错,严重影响了数据存储的效率。However, while this method greatly improves the efficiency of data storage, it also increases the requirements for the size of the processor memory. If the processor memory size is insufficient, it will cause errors in reading and writing the data to be stored, seriously affecting the efficiency of data storage.
为此,本说明书提供了一种卫星数据存储方法。To this end, this specification provides a satellite data storage method.
发明内容Summary of the invention
本申请提供一种卫星数据存储方法,以部分的解决现有技术存在的上述问题。The present application provides a satellite data storage method to partially solve the above problems existing in the prior art.
本申请提供了一种卫星数据存储方法,应用于卫星,包括:The present application provides a satellite data storage method, which is applied to a satellite, including:
确定待存储数据的数据大小;Determine the data size of the data to be stored;
根据所述卫星的处理器的读取线程的数量,分割所述待存储数据,得到各第一子数据,并确定所述各第一子数据与各读取线程的对应关系;According to the number of reading threads of the processor of the satellite, the data to be stored is divided to obtain first sub-data, and a corresponding relationship between the first sub-data and the reading threads is determined;
通过所述各第一子数据对应的读取线程,将所述各第一子数据写入所述处理器的缓存;Writing each first sub-data into the cache of the processor through a reading thread corresponding to each first sub-data;
响应于所述缓存中任一完整写入的第一子数据,根据所述处理器的写入线程的数量,分割所述完整写入的第一子数据,得到各第二子数据,并确定所述各第二子数据与各写入线程的对应关系;In response to any first sub-data that is completely written in the cache, according to the number of write threads of the processor, the first sub-data that is completely written is divided to obtain each second sub-data, and a corresponding relationship between each second sub-data and each write thread is determined;
通过所述各第二子数据对应的写入线程,将所述各第二子数据写入所述卫星的存储器。The second sub-data are written into the memory of the satellite through the writing threads corresponding to the second sub-data.
可选地,所述方法还包括:Optionally, the method further comprises:
当所述处理器的缓存空间大小不大于所述数据大小时,清理所述缓存的缓存空间;When the cache space size of the processor is not greater than the data size, clearing the cache space of the cache;
当所述存储器的存储空间大小不大于所述数据大小时,压缩所述存储空间的数据;When the storage space size of the memory is not greater than the data size, compressing the data in the storage space;
在将所述第二子数据写入存储器后,清理所述各读取线程写入的碎片数据,并清理所述各写入线程写入的碎片数据。After writing the second sub-data into the memory, the fragmented data written by the reading threads are cleaned up, and the fragmented data written by the writing threads are cleaned up.
可选地,将所述各第一子数据写入所述处理器的缓存,具体包括:Optionally, writing each first sub-data into a cache of the processor specifically includes:
确定所述各第一子数据在所述处理器的缓存中的各地址,并将所述各第一子数据写入所述缓存中的各地址。The addresses of the first sub-data in the cache of the processor are determined, and the first sub-data are written into the addresses in the cache.
可选地,将所述各第二子数据写入所述卫星的存储器,具体包括:Optionally, writing each second sub-data into a memory of the satellite specifically includes:
确定所述各第二子数据在所述卫星的存储器中的各地址,并将所述各第二子数据写入所述存储器中的各地址。The addresses of the second sub-data in the memory of the satellite are determined, and the second sub-data are written into the addresses in the memory.
可选地,通过所述各第二子数据对应的写入线程,将所述各第二子数据写入所述卫星的存储器,具体包括:Optionally, writing each second sub-data into a memory of the satellite through a writing thread corresponding to each second sub-data specifically includes:
针对每个写入线程,从已完整写入的各所述第一子数据中,确定该写入线程对应的各第二子数据;For each writing thread, determining each second sub-data corresponding to the writing thread from each first sub-data that has been completely written;
根据所述各第一子数据完整写入所述缓存的顺序,确定该写入线程对应的各第二子数据的顺序;Determining the order of the second sub-data corresponding to the writing thread according to the order in which the first sub-data are completely written into the cache;
通过所述各写入线程,根据所述各写入线程对应的所述各第二子数据的顺序,将所述各第二子数据写入所述卫星的存储器。The second sub-data are written into the memory of the satellite through the writing threads according to the order of the second sub-data corresponding to the writing threads.
可选地,所述方法还包括:Optionally, the method further comprises:
当写入存储器的第二子数据出现错误时,记录所述错误,继续写入所述第二子数据;When an error occurs in writing the second sub-data into the memory, recording the error and continuing to write the second sub-data;
当所述第二子数据完整写入,根据记录的所述错误,纠正所述存储器中的所述第二子数据。When the second sub-data is completely written, the second sub-data in the memory is corrected according to the recorded error.
可选地,确定多个读取线程的读取线程数量,具体包括:Optionally, determining the number of read threads of the multiple read threads includes:
确定对第一子数据预设的目标大小;Determining a preset target size for the first sub-data;
根据所述第一子数据的目标大小以及所述待存储数据大小,确定读取线程数量,并根据所述读取线程数量,确定各读取线程。The number of reading threads is determined according to the target size of the first sub-data and the size of the data to be stored, and each reading thread is determined according to the number of reading threads.
本说明书提供了一种卫星数据存储装置,应用于卫星,包括:This specification provides a satellite data storage device, which is applied to a satellite, including:
预处理模块,确定待存储数据的数据大小;A preprocessing module, determining the data size of the data to be stored;
第一切割模块,根据所述卫星的处理器的读取线程的数量,分割所述待存储数据,得到各第一子数据,并确定所述各第一子数据与各读取线程的对应关系;A first cutting module, which divides the data to be stored according to the number of reading threads of the processor of the satellite to obtain first sub-data, and determines the corresponding relationship between the first sub-data and the reading threads;
读取模块,通过所述各第一子数据对应的读取线程,将所述各第一子数据写入所述处理器的缓存;A reading module, which writes each first sub-data into a cache of the processor through a reading thread corresponding to each first sub-data;
第二切割模块,响应于所述缓存中任一完整写入的第一子数据,根据所述处理器的写入线程的数量,分割所述完整写入的第一子数据,得到各第二子数据,并确定所述各第二子数据与各写入线程的对应关系;A second cutting module, in response to any first sub-data that is completely written in the cache, divides the first sub-data that is completely written according to the number of writing threads of the processor to obtain each second sub-data, and determines a corresponding relationship between each second sub-data and each writing thread;
写入模块,通过所述各第二子数据对应的写入线程,将所述各第二子数据写入所述卫星的存储器。The writing module writes each second sub-data into the memory of the satellite through the writing thread corresponding to each second sub-data.
本说明书提供了一种计算机存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现一种卫星数据存储方法。The present specification provides a computer storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, a satellite data storage method is implemented.
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现一种卫星数据存储方法。The present specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein a satellite data storage method is implemented when the processor executes the program.
本说明书提供的一种卫星数据存储方法,通过首先确定待存储数据的数据大小,其次根据处理器的读取线程数量,分割待存储数据,得到各第一子数据,并确定各第一子数据与各读取线程的对应关系,通过所述各第一子数据对应的读取线程,将各第一子数据写入处理器缓存,最后响应于缓存中任一完整写入的第一子数据,根据处理器的写入线程数量,分割完整写入的第一子数据,得到各第二子数据,确定各第二子数据与各写入线程的对应关系,并据此对应关系,将各第二子数据写入存储器。The present specification provides a satellite data storage method, which first determines the data size of the data to be stored, and then divides the data to be stored according to the number of read threads of the processor to obtain each first sub-data, and determines the corresponding relationship between each first sub-data and each read thread, writes each first sub-data into a processor cache through the read thread corresponding to each first sub-data, and finally responds to any first sub-data written completely in the cache, divides the first sub-data written completely according to the number of write threads of the processor to obtain each second sub-data, determines the corresponding relationship between each second sub-data and each write thread, and writes each second sub-data into a memory according to the corresponding relationship.
从上述方法可以看出,通过对待存储数据的多次分割,避免了卫星在存储待存储数据时,出现因处理器内存大小不足导致的读写错误,降低了对处理器缓存的要求。It can be seen from the above method that by dividing the stored data multiple times, the satellite avoids read and write errors caused by insufficient processor memory size when storing the data to be stored, thereby reducing the requirements for the processor cache.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:
图1为本说明书提供的一种卫星数据存储方法的流程示意图;FIG1 is a schematic diagram of a flow chart of a satellite data storage method provided in this specification;
图2为本说明书提供的一种卫星数据存储方法的卫星结构示意图;FIG2 is a schematic diagram of a satellite structure of a satellite data storage method provided in this specification;
图3为本说明书提供的一种卫星数据存储方法的数据分割流方法示意图;FIG3 is a schematic diagram of a data segmentation flow method of a satellite data storage method provided in this specification;
图4为本说明书提供的一种卫星数据存储方法的异步写入方法示意图;FIG4 is a schematic diagram of an asynchronous writing method for satellite data storage method provided in this specification;
图5为本说明书提供的一种卫星数据存储方法的装置示意图;FIG5 is a schematic diagram of a device for storing satellite data provided in this specification;
图6为本说明书提供的一种对应于图1的电子设备示意图。FIG. 6 is a schematic diagram of an electronic device provided in this specification corresponding to FIG. 1 .
具体实施方式DETAILED DESCRIPTION
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所得到的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
以下结合附图,详细说明本说明书各实施例提供的技术方案。The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
图1为本说明书提供的一种卫星数据存储方法的流程示意图,具体包括以下步骤:FIG1 is a schematic flow chart of a satellite data storage method provided in this specification, which specifically includes the following steps:
S101:确定待存储数据的数据大小。S101: Determine the data size of the data to be stored.
在现有的卫星中,受卫星电源的影响,供卫星存储数据的时间十分有限,例如,在24小时内,卫星只有10分钟左右的时间供数据进行存储,因此,需提升卫星的存储效率。为提升卫星的存储效率,现有的卫星数据存储方法往往由卫星上的处理器进行存储,采用在卫星接收到待存储数据后,通过预设的线程池,将待存储数据存入卫星的磁盘的方法来提升卫星的数据存储效率。然而,随着预设线程池中预设的线程数量增加,对处理器缓存的缓存命中率降低以及各线程的对共享资源(如对处理并发控制和同步问题的机制)的竞争,降低了缓存的利用率,提高了对处理器的缓存空间要求也就越高。In existing satellites, due to the influence of satellite power supply, the time for satellites to store data is very limited. For example, within 24 hours, the satellite only has about 10 minutes to store data. Therefore, the storage efficiency of the satellite needs to be improved. In order to improve the storage efficiency of satellites, the existing satellite data storage method is often stored by the processor on the satellite. After the satellite receives the data to be stored, the method of storing the data to be stored in the satellite's disk through a preset thread pool is used to improve the data storage efficiency of the satellite. However, as the number of preset threads in the preset thread pool increases, the cache hit rate of the processor cache decreases and the threads compete for shared resources (such as the mechanism for handling concurrency control and synchronization issues), which reduces the utilization of the cache and increases the cache space requirements for the processor.
为此,卫星的处理器响应于接收到的待存储数据,需要先确定待存储数据的数据大小,以供后续步骤写入待存储数据进行时,确定各线程写入数据的大小。To this end, the satellite processor needs to determine the data size of the data to be stored in response to the received data to be stored, so as to determine the size of the data to be written by each thread when writing the data to be stored in the subsequent step.
此处需说明的是,本说明书提供的卫星数据存储方法可使用计算机或处理器执行,本说明书提供了一种数据存储方法所使用的卫星结构示意图,如图2所示,卫星内包含处理器以及存储器,处理器内包含供处理器使用的缓存,而对于本执行方法的具体主体,本说明书在此不作限制。且为方便本说明书描述,本说明书以卫星上执行该卫星数据存储方法的处理器为例进行说明。It should be noted here that the satellite data storage method provided in this specification can be executed using a computer or a processor. This specification provides a schematic diagram of the satellite structure used in the data storage method, as shown in Figure 2, the satellite includes a processor and a memory, and the processor includes a cache for use by the processor. The specific subject of this execution method is not limited in this specification. And for the convenience of description in this specification, this specification takes the processor executing the satellite data storage method on the satellite as an example for description.
具体的,卫星上的处理器从采集器确定要存储的数据,将该数据作为存储数据,并确定待存储数据的数据大小。Specifically, the processor on the satellite determines the data to be stored from the collector, uses the data as storage data, and determines the data size of the data to be stored.
S103:根据所述卫星的处理器的读取线程的数量,分割所述待存储数据,得到各第一子数据,并确定所述各第一子数据与各读取线程的对应关系。S103: dividing the data to be stored according to the number of reading threads of the processor of the satellite to obtain first sub-data, and determining the corresponding relationship between the first sub-data and the reading threads.
为减少处理器单次读取数据的数据大小大于处理器缓存中可用大小,出现地址错误或功率过高,导致的写入错误,处理器首先为了确定分割待存储数据的数量,确定预设的线程池中的读取线程的数量。其次,处理器将待存储数据按照读取线程的数量进行分割,得到供各读取线程写入的各第一子数据。再次,处理器建立各第一子数据与各读取线程的对应关系,以供后续步骤进行并行的数据写入。In order to reduce the write errors caused by the size of the data read by the processor at a single time being larger than the available size in the processor cache, address errors or excessive power, the processor first determines the number of read threads in the preset thread pool in order to determine the number of data to be divided into to be stored. Secondly, the processor divides the data to be stored according to the number of read threads to obtain the first sub-data for each read thread to write. Thirdly, the processor establishes the corresponding relationship between each first sub-data and each read thread for parallel data writing in subsequent steps.
具体的,处理器确定在线程池中固定的读取线程数量,将待存储数据分割为多个第一子数据,并针对每个第一子数据,确定该第一子数据对应的读取线程。Specifically, the processor determines a fixed number of reading threads in the thread pool, divides the data to be stored into a plurality of first sub-data, and determines a reading thread corresponding to each first sub-data.
S105:通过所述各第一子数据对应的读取线程,将所述各第一子数据写入所述处理器的缓存。S105: Writing each first sub-data into the cache of the processor through the reading thread corresponding to each first sub-data.
处理器根据确定的各第一子数据与各读取线程的对应关系,通过各读取线程,将各第一子数据写入所述处理器的缓存,以供处理器在后续步骤中对待存储数据进行快速读取。The processor writes each first sub-data into the cache of the processor through each reading thread according to the determined correspondence between each first sub-data and each reading thread, so that the processor can quickly read the data to be stored in subsequent steps.
具体的,处理器通过在线程池中固定数量的读取线程,将各读取线程对应的各第一子数据并行写入处理器的缓存。Specifically, the processor uses a fixed number of reading threads in the thread pool to write the first sub-data corresponding to each reading thread into the cache of the processor in parallel.
S107:响应于所述缓存中任一完整写入的第一子数据,根据所述处理器的写入线程的数量,分割所述完整写入的第一子数据,得到各第二子数据,并确定所述各第二子数据与各写入线程的对应关系。S107: In response to any completely written first sub-data in the cache, split the completely written first sub-data according to the number of write threads of the processor to obtain second sub-data, and determine the corresponding relationship between the second sub-data and the write threads.
当任一第一子数据完整写入时,处理器开始将待存储数据写入卫星的存储器。具体步骤以及原因与步骤S103类似,都是为了为减少处理器单次读取数据的数据大小偏大导致的写入错误,对各第一子数据进行了再次分割,具体原因在于默认此时的处理器依然还在写入部分未完整写入的第一数据,因此可供写入卫星存储器的空间更加有限,故需要对各第一子数据进行进一步分割。When any first sub-data is completely written, the processor starts to write the data to be stored into the memory of the satellite. The specific steps and reasons are similar to step S103, and are all to reduce the write error caused by the large data size of the data read by the processor at a single time, and the first sub-data are split again. The specific reason is that it is assumed that the processor is still writing part of the incompletely written first data at this time, so the space available for writing to the satellite memory is more limited, so it is necessary to further split each first sub-data.
具体的,Specifically,
S109:通过所述各第二子数据对应的写入线程,将所述各第二子数据写入所述卫星的存储器。S109: Writing each second sub-data into the memory of the satellite through the writing thread corresponding to each second sub-data.
处理器根据确定的各第二子数据与各写入线程的对应关系,通过各写入线程,将各第二子数据写入所述卫星的存储器,完成对待存储数据的存储。The processor writes each second sub-data into the memory of the satellite through each writing thread according to the determined correspondence between each second sub-data and each writing thread, thereby completing the storage of the data to be stored.
具体的,处理器通过各写入线程,将各写入线程对应的各第二子数据写入卫星的存储器。Specifically, the processor writes each second sub-data corresponding to each writing thread into the memory of the satellite through each writing thread.
基于图1所示的卫星图像存储方法可达到:首先确定待存储数据的数据大小,其次根据处理器的读取线程数量,分割待存储数据,得到各第一子数据,并确定各第一子数据与各读取线程的对应关系,通过所述各第一子数据对应的读取线程,将各第一子数据写入处理器缓存,最后响应于缓存中任一完整写入的第一子数据,根据处理器的写入线程数量,分割完整写入的第一子数据,得到各第二子数据,确定各第二子数据与各写入线程的对应关系,并据此对应关系,将各第二子数据写入存储器,通过对待存储数据的多次分割,避免了卫星在存储待存储数据时,出现因处理器内存大小不足导致的读写错误,降低了对处理器缓存的要求。The satellite image storage method shown in FIG1 can achieve the following: firstly, determine the data size of the data to be stored; secondly, divide the data to be stored according to the number of read threads of the processor to obtain each first sub-data, and determine the corresponding relationship between each first sub-data and each read thread; write each first sub-data into the processor cache through the read thread corresponding to each first sub-data; finally, in response to any first sub-data written completely in the cache, divide the first sub-data written completely according to the number of write threads of the processor to obtain each second sub-data; determine the corresponding relationship between each second sub-data and each write thread; and write each second sub-data into the memory according to the corresponding relationship; by dividing the data to be stored multiple times, the read and write errors caused by insufficient processor memory size when the satellite stores the data to be stored are avoided, and the requirements for the processor cache are reduced.
具体的,在本说明书一个或多个实施例中,还提供了与图1数据存储方法中数据分割流方法的示意图,如图3所示,处理器通过一种高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIe)下的传输写入总线,可确定待存储的光谱数据,作为待存储数据,并确定待存储数据的数据大小为500兆字节。处理器首先确定线程池中的读取线程数量为4,其次将500兆字节的待存储数据分割为4个125兆字节的第一子数据,再次确定各读取线程对应的第一子数据。处理器通过各读取线程,将各读取线程对应的各第一子数据写入处理器的缓存。当处理器检测到任一第一子数据已写入125兆字节大小时,首先确定线程池中的写入线程数量为5,其次将125兆字节的第一子数据分割为5个25兆字节的第二子数据,再次确定各写入线程对应的第二子数据。处理器通过各写入线程,将各写入线程对应的各第二子数据写入卫星的存储器。Specifically, in one or more embodiments of the present specification, a schematic diagram of a data segmentation flow method in the data storage method of FIG. 1 is also provided. As shown in FIG. 3, the processor can determine the spectral data to be stored as the data to be stored through a transmission write bus under a high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIe), and determine that the data size of the data to be stored is 500 megabytes. The processor first determines that the number of read threads in the thread pool is 4, and then divides the 500 megabytes of data to be stored into 4 125 megabytes of first sub-data, and again determines the first sub-data corresponding to each read thread. The processor writes each first sub-data corresponding to each read thread into the processor's cache through each read thread. When the processor detects that any first sub-data has been written to 125 megabytes, it first determines that the number of write threads in the thread pool is 5, and then divides the 125 megabytes of first sub-data into 5 25 megabytes of second sub-data, and again determines the second sub-data corresponding to each write thread. The processor writes each second sub-data corresponding to each write thread into the memory of the satellite through each write thread.
此处需要额外说明的是,上述实施例以光谱数据为待存储数据,是因为光谱数据通常包含大量信息,占用空间较大,可突出本方法处理占用空间较大的数据时,并非要限制待存储数据的一定为光谱数据。在本说明书中,对待存储数据是否为光谱数据不做限制,可按需选择。It should be noted that the above embodiment uses spectral data as the data to be stored because spectral data usually contains a large amount of information and occupies a large space. This can highlight that when the method processes data that occupies a large space, it is not necessary to limit the data to be stored to spectral data. In this specification, there is no restriction on whether the data to be stored is spectral data, and it can be selected as needed.
此处需要额外说明的是,上述分割待存储数据方法是基于各读取线程性能接近的前提,平均分配各读取线程要写入的第一子数据,以实现最大化的写入效率,并非是指只能通过平均分配的方式进行数据分割,例如在各读取线程中,存在因意外原因,导致个别线程写入能力明显弱于其他线程,则对比其他读取线程,可给该线程分配更小数据大小的第一子数据,以实现最大化的写入效率。在本说明书中,对于具体如何分割待存储数据不做限制,可按需选择。基于同理,对于平均分割各完整传输的各第一子数据的方法,也可根据各写入线程的写入能力进行变更。在本说明书中,对于具体如何分割各完整传输的各第一子数据不做限制,可按需选择。It should be additionally explained here that the above method of dividing the data to be stored is based on the premise that the performance of each reading thread is close, and the first sub-data to be written by each reading thread is evenly distributed to achieve maximum writing efficiency. It does not mean that data division can only be performed by even distribution. For example, among each reading thread, there are unexpected reasons that cause the writing ability of individual threads to be significantly weaker than other threads. In this case, compared with other reading threads, the first sub-data with a smaller data size can be allocated to the thread to achieve maximum writing efficiency. In this manual, there is no restriction on how to divide the data to be stored, and it can be selected as needed. Based on the same principle, the method of evenly dividing each first sub-data of each complete transmission can also be changed according to the writing ability of each writing thread. In this manual, there is no restriction on how to divide each first sub-data of each complete transmission, and it can be selected as needed.
在图1的步骤S103以及步骤S107中,为提升数据存储的效率,在本说明书的一个或多个实施例中,对待存储数据切割以及传输完成的第一子数据进行切割的方法,也可分别一个独立线程实现,以实现分割数据、读取数据以及写入数据的并行。In step S103 and step S107 of Figure 1, in order to improve the efficiency of data storage, in one or more embodiments of the present specification, the method of cutting the data to be stored and the method of cutting the first sub-data after the transmission are completed can also be implemented in an independent thread respectively to achieve parallel data segmentation, data reading and data writing.
在图1的步骤S103以及步骤S107中,在本说明书一个或多个实施例中,读取线程与写入线程并非一定是两种不同的预设线程,还可以是一种通用线程,对应的,为确保读取线程与写入线程的效率平衡,可根据预设通用线程传输的数据大小与待传输数据的大小之比,确定作为写入线程或是读取线程的通用线程数量。In step S103 and step S107 of Figure 1, in one or more embodiments of the present specification, the reading thread and the writing thread are not necessarily two different preset threads, but can also be a general thread. Correspondingly, to ensure the efficiency balance between the reading thread and the writing thread, the number of general threads to be used as writing threads or reading threads can be determined based on the ratio of the size of data transmitted by the preset general thread to the size of the data to be transmitted.
本说明书提供的方法还包括,为进一步防止卫星处理器的缓存空间不足导致处理器出现的读写错误,处理器当处理器的缓存空间大小不大于数据大小时,清理处理器已完成任务所占用的缓存空间。同理,进一步防止卫星存储器的存储空间不足导致出现读写错误,处理器当存储器的存储空间大小不大于数据大小时,对存储空间的数据进行压缩,并进一步在将第二子数据写入存储器后,清理因处理器写入线程写入的碎片数据,并清理读取线程读取产生的碎片数据。The method provided in this specification also includes, in order to further prevent the read and write errors of the processor caused by insufficient cache space of the satellite processor, the processor cleans up the cache space occupied by the processor's completed tasks when the cache space size of the processor is not greater than the data size. Similarly, to further prevent the read and write errors caused by insufficient storage space of the satellite memory, the processor compresses the data in the storage space when the storage space size of the memory is not greater than the data size, and further cleans up the fragmented data written by the processor write thread after writing the second sub-data to the memory, and cleans up the fragmented data generated by the read thread.
本说明书提供的方法还包括,在步骤S105中,为确保读取线程写入的各第一子数据的顺序与待存储数据中各第一子数据的顺序相同,处理器提前确定各第一子数据在处理器的缓存中的各地址,再将各第一子数据写入缓存中的各地址。The method provided in this specification also includes, in step S105, to ensure that the order of the first sub-data written by the reading thread is the same as the order of the first sub-data in the data to be stored, the processor determines in advance the addresses of the first sub-data in the processor's cache, and then writes the first sub-data to the addresses in the cache.
本说明书提供的方法还包括,在步骤S109中,为确保写入线程写入的各第二子数据的顺序与待存储数据中的各第二子数据的顺序相同,处理器提前确定各第二子数据在卫星的存储器中的各地址,再将各第二子数据写入存储器中的各地址。The method provided in this specification also includes, in step S109, to ensure that the order of the second sub-data written by the writing thread is the same as the order of the second sub-data in the data to be stored, the processor determines in advance the addresses of the second sub-data in the satellite's memory, and then writes the second sub-data to the addresses in the memory.
本说明书提供的方法还包括,在步骤S109中,为进一步提升写入线程的写入效率,处理器首先针对每个写入线程,从已完整写入的各所述第一子数据中,确定该写入线程对应的各第二子数据。其次,根据各第一子数据完整写入缓存的顺序,确定该写入线程对应的各第二子数据的顺序。最后,通过各写入线程,根据各写入线程对应的各第二子数据的顺序,将各第二子数据写入卫星的存储器。The method provided in this specification also includes, in step S109, to further improve the writing efficiency of the writing thread, the processor first determines, for each writing thread, from the first sub-data that have been completely written, the second sub-data corresponding to the writing thread. Secondly, according to the order in which the first sub-data are completely written into the cache, the order of the second sub-data corresponding to the writing thread is determined. Finally, through each writing thread, according to the order of the second sub-data corresponding to each writing thread, the second sub-data is written into the memory of the satellite.
在本说明书一个或多个实施例中,提供了一种供写入线程使用的异步写入方法,如图4所示,对于处理器中的一个读取线程来说,每经过0.2秒,往处理器缓存完整写入了一个125兆字节大小的第一子数据,写入线程开始对该完整写入的第一子数据的写入,在任一25兆字节的数据完成分割后,将分割得到的各第二子数据写入卫星的存储器,当一个第二子数据完整写入时,根据各第一子数据完整写入的顺序,开始下一个完整写入的第一子数据的第二子数据的写入。In one or more embodiments of the present specification, an asynchronous writing method for use by a writing thread is provided. As shown in FIG4 , for a reading thread in a processor, a first sub-data of 125 megabytes is completely written to the processor cache every 0.2 seconds, and the writing thread starts writing the completely written first sub-data. After any 25 megabytes of data are segmented, each second sub-data obtained by segmentation is written to the memory of the satellite. When one second sub-data is completely written, the writing of the second sub-data of the next completely written first sub-data is started according to the order in which each first sub-data is completely written.
本说明书提供的方法还包括,为在不影响写入效率的前提下,纠正处理器写入过程中出现的错误,当写入存储器的第二子数据出现错误时,处理器记录错误,并继续写入第二子数据。当第二子数据完整写入,处理器根据记录的错误,纠正存储器中的第二子数据。The method provided in this specification also includes, in order to correct errors that occur during the writing process of the processor without affecting the writing efficiency, when an error occurs in the second sub-data written into the memory, the processor records the error and continues to write the second sub-data. When the second sub-data is completely written, the processor corrects the second sub-data in the memory according to the recorded error.
本说明书提供的方法还包括,为充分利用处理器中读取线程,以提高缓存空间的利用率,处理器先确定对第一子数据预设的目标大小。再根据第一子数据的目标大小以及待存储数据大小,确定读取线程数量,并根据读取线程数量,确定各读取线程。The method provided in this specification also includes that, in order to fully utilize the read threads in the processor to improve the utilization rate of the cache space, the processor first determines a preset target size for the first sub-data, and then determines the number of read threads according to the target size of the first sub-data and the size of the data to be stored, and determines each read thread according to the number of read threads.
此外,本说明书提供的数据存储方法也可以从卫星的存储器中逆向将数据发送给地面站,具体切割数据的并传输数据的方法与图1中方法相同,具体是从存储器获取待发送数据,根据读取线程数量对待发送数据进行切分,得到各第一子数据,进而根据写入线程数量对完整传输的各第一子数据切分,得到各第二子数据,并通过各写入线程将各第二子数据发送给地面站。In addition, the data storage method provided in this specification can also send data from the satellite's memory to the ground station in reverse. The specific method of cutting and transmitting data is the same as the method in Figure 1, specifically obtaining the data to be sent from the memory, dividing the data to be sent according to the number of reading threads to obtain each first sub-data, and then dividing the completely transmitted first sub-data according to the number of writing threads to obtain each second sub-data, and sending each second sub-data to the ground station through each writing thread.
本说明书还提供了与图1卫星数据存储方法的流程图对应的装置,如图5所示:This specification also provides a device corresponding to the flowchart of the satellite data storage method in FIG1 , as shown in FIG5 :
预处理模块201,确定待存储数据的数据所述第一子数据大小;A preprocessing module 201 determines the first sub-data size of the data to be stored;
第一切割模块203,根据所述卫星的处理器的读取线程的数量,分割所述待存储数据,得到各第一子数据,并确定所述各第一子数据与各读取线程的对应关系;A first cutting module 203, which divides the data to be stored according to the number of reading threads of the processor of the satellite to obtain first sub-data, and determines the corresponding relationship between the first sub-data and the reading threads;
读取模块205,通过所述各第一子数据对应的读取线程,将所述各第一子数据写入所述处理器的缓存;A reading module 205 writes each first sub-data into the cache of the processor through a reading thread corresponding to each first sub-data;
第二切割模块207,响应于所述缓存中任一完整写入的第一子数据,根据所述处理器的写入线程的数量,分割所述完整写入的第一子数据,得到各第二子数据,并确定所述各第二子数据与各写入线程的对应关系;The second cutting module 207, in response to any first sub-data completely written in the cache, divides the first sub-data completely written according to the number of write threads of the processor to obtain each second sub-data, and determines the corresponding relationship between each second sub-data and each write thread;
写入模块209,通过所述各第二子数据对应的写入线程,将所述各第二子数据写入所述卫星的存储器。The writing module 209 writes each second sub-data into the memory of the satellite through the writing thread corresponding to each second sub-data.
可选地,装置还包括整理模块211,整理模块211用于当处理器的缓存空间大小不大于数据大小时,清理缓存的缓存空间。当存储器的存储空间大小不大于数据大小时,压缩存储空间的数据,并在将第二子数据写入存储器后,清理各读取线程写入的碎片数据,并清理各写入线程写入的碎片数据。Optionally, the device further includes a sorting module 211, which is used to clean up the cache space of the cache when the cache space size of the processor is not larger than the data size. When the storage space size of the memory is not larger than the data size, compress the data in the storage space, and after writing the second sub-data into the memory, clean up the fragmented data written by each reading thread, and clean up the fragmented data written by each writing thread.
可选地,读取模块205用于确定各第一子数据在处理器的缓存中的各地址,并将各第一子数据写入缓存中的各地址。Optionally, the reading module 205 is used to determine each address of each first sub-data in the cache of the processor, and write each first sub-data into each address in the cache.
可选地,写入模块209用于确定各第二子数据在卫星的存储器中的各地址,并将各第二子数据写入存储器中的各地址。Optionally, the writing module 209 is used to determine each address of each second sub-data in the memory of the satellite, and write each second sub-data into each address in the memory.
可选地,写入模块209用于针对每个写入线程,从已完整写入的各所述第一子数据中,确定该写入线程对应的各第二子数据。根据各第一子数据完整写入缓存的顺序,确定该写入线程对应的各第二子数据的顺序。通过各写入线程,根据各写入线程对应的各第二子数据的顺序,将各第二子数据写入卫星的存储器。Optionally, the writing module 209 is used to determine, for each writing thread, each second sub-data corresponding to the writing thread from each first sub-data that has been completely written. According to the order in which each first sub-data is completely written into the cache, the order of each second sub-data corresponding to the writing thread is determined. Through each writing thread, according to the order of each second sub-data corresponding to each writing thread, each second sub-data is written into the memory of the satellite.
可选地,装置还包括错误模块213,错误模块213用于当写入存储器的第二子数据出现错误时,记录错误,继续写入第二子数据。当第二子数据完整写入,根据记录的错误,纠正存储器中的第二子数据。Optionally, the device further comprises an error module 213, which is used to record the error and continue writing the second sub-data when an error occurs in writing the second sub-data into the memory, and to correct the second sub-data in the memory according to the recorded error when the second sub-data is completely written.
可选地,装置还包括线程模块215,线程模块215用于确定对第一子数据预设的目标大小。根据第一子数据的目标大小以及待存储数据大小,确定读取线程数量,并根据读取线程数量,确定各读取线程。Optionally, the device further comprises a thread module 215, which is used to determine a preset target size for the first sub-data, determine the number of reading threads according to the target size of the first sub-data and the size of the data to be stored, and determine each reading thread according to the number of reading threads.
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述方法。The present specification also provides a computer-readable storage medium, which stores a computer program, and the computer program can be used to execute the above method.
本说明书还提供了图6所示的一种对应于图1卫星数据存储方法的电子设备的示意结构图。如图6,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1的卫星数据存储方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。This specification also provides a schematic structural diagram of an electronic device corresponding to the satellite data storage method of Figure 1, as shown in Figure 6. As shown in Figure 6, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and of course may also include hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to implement the satellite data storage method of Figure 1 above. Of course, in addition to the software implementation method, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很各方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, it was very clear whether the improvement of a technology was hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with hardware entity modules. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、传感器电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a sensor phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and/or hardware.
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。This specification is described with reference to the flowcharts and/or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and/or box in the flowchart and/or block diagram, as well as the combination of the processes and/or boxes in the flowchart and/or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPU), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and/or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非写入介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-writable media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Furthermore, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media including storage devices.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410937905.5A CN118466864B (en) | 2024-07-12 | 2024-07-12 | Satellite data storage method, device, medium and equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410937905.5A CN118466864B (en) | 2024-07-12 | 2024-07-12 | Satellite data storage method, device, medium and equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118466864A CN118466864A (en) | 2024-08-09 |
| CN118466864B true CN118466864B (en) | 2024-09-24 |
Family
ID=92165431
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410937905.5A Active CN118466864B (en) | 2024-07-12 | 2024-07-12 | Satellite data storage method, device, medium and equipment |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118466864B (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113950033A (en) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | Data transmission method and device |
| CN114116682A (en) * | 2022-01-25 | 2022-03-01 | 北京航天驭星科技有限公司 | Method, device, system, equipment and medium for migrating satellite telemetry data |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102193882B (en) * | 2010-03-15 | 2014-09-10 | 京瓷办公信息系统株式会社 | Data processing apparatus and data processing method |
| CN103729304B (en) * | 2012-10-11 | 2017-03-15 | 腾讯科技(深圳)有限公司 | Data processing method and device |
| CN115391609A (en) * | 2022-08-23 | 2022-11-25 | 东北大学 | Data processing method and device, storage medium and electronic equipment |
| CN115168304B (en) * | 2022-09-06 | 2023-01-20 | 北京奥星贝斯科技有限公司 | A data processing method, device, storage medium and equipment |
-
2024
- 2024-07-12 CN CN202410937905.5A patent/CN118466864B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113950033A (en) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | Data transmission method and device |
| CN114116682A (en) * | 2022-01-25 | 2022-03-01 | 北京航天驭星科技有限公司 | Method, device, system, equipment and medium for migrating satellite telemetry data |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118466864A (en) | 2024-08-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113282659B (en) | Data processing method and device based on block chain | |
| CN110941395B (en) | Dynamic random access memory, memory management method, system and storage medium | |
| US20080222491A1 (en) | Flash memory system for improving read performance and read method thereof | |
| CN109669888A (en) | A kind of configurable and efficient embedded Nor-Flash controller and control method | |
| US20040078690A1 (en) | Program counter trace system, program counter trace method, and semiconductor device | |
| US9569381B2 (en) | Scheduler for memory | |
| CN114356248B (en) | Data processing method and device | |
| CN113299326A (en) | FIFO-based data-in-first-out storage circuit and read-write method | |
| CN116822657B (en) | Method and device for accelerating model training, storage medium and electronic equipment | |
| CN103229150B (en) | data control method and system | |
| CN118354004B (en) | Satellite image transmission method, device, medium and equipment | |
| CN118466864B (en) | Satellite data storage method, device, medium and equipment | |
| CN111399780A (en) | A data writing method, device and device | |
| CN117743472B (en) | A storage task breakpoint synchronization method, device, medium and equipment | |
| CN116954954B (en) | Method and device for processing multi-task queues, storage medium and electronic equipment | |
| US9471584B2 (en) | Demand paging method for mobile terminal, controller and mobile terminal | |
| CN117931404A (en) | Multi-application switching method, device, equipment and medium based on FPGA | |
| WO2019138276A1 (en) | Copying and forwarding for concurrent copying garbage collection | |
| CN116541314A (en) | Address mapping method, device and storage medium based on system page table | |
| CN116880905B (en) | A data storage method, device, storage medium and electronic equipment | |
| CN118466863B (en) | Data storage method and device, storage medium and electronic equipment | |
| CN114780283B (en) | Method and device for troubleshooting | |
| CN118567791B (en) | A cache method, device, storage medium and electronic device | |
| CN117762334A (en) | An FPGA-based data interaction system and method | |
| JP2615677B2 (en) | Shared extended storage control method |
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 |