Memory Pool Management Method, Device and Storage Medium

By dividing the memory pool into a data cache area and a control cache area, and using the verification information of the target address pointer for data operation management, data pollution and stability problems in DPDK memory pool management are solved, and higher fault tolerance and stability are achieved.

CN116010074BActive Publication Date: 2025-05-27DATANG MOBILE COMM EQUIP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111235388.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-22
Publication Date
2025-05-27
Estimated Expiration
2041-10-22

AI Technical Summary

Technical Problem

In the 5G new air interface NR base station system, DPDK's memory pool management is prone to introduce data pollution, resulting in memory block access abnormalities and affecting management stability.

Method used

Divide the memory pool into a data cache area and a control cache area, and refer to the verification information of the target address pointer during data operation management to increase fault tolerance and self-correction and avoid pollution caused by abnormal operation of address pointer.

Benefits of technology

It effectively improves the fault tolerance of data operations and the overall stability of memory pool management, avoiding data pollution and operation abnormalities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116010074B_ABST
    Figure CN116010074B_ABST
Patent Text Reader

Abstract

The present disclosure provides a memory pool management method, apparatus, and storage medium. The method includes: receiving a data management request, where the data management request includes a data identifier, and storing data of an object element to which the data identifier belongs in a data buffer; reading a target address pointer corresponding to the data identifier from a control buffer; obtaining check information corresponding to the target address pointer from the data buffer; and performing operation management on the data of the object element according to the check information. Through the present disclosure, it is possible to effectively avoid abnormal operations of the address pointer from introducing abnormalities to the data of the object element, effectively avoid contaminating the data of the object element, improve the fault tolerance of data operations, and improve the overall stability of memory pool management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technologies, and in particular, to a memory pool management method, apparatus, and storage medium. Background Art

[0002] In a base station system of a fifth-generation mobile communication technology (5G) new radio (NR), data plane development kit (DPDK) is usually adopted to implement communication data management. The DPDK uses a memory pool management of fixed-size memory blocks (memory buffers, mubfs), and the management structure definition of the memory blocks in its structure is closely adjacent to the data payload.

[0003] In this way, it is relatively easy to introduce data contamination. When using the data contaminated by an application, it is easy to cause access exceptions of memory blocks, resulting in abnormal or suspended operation management processes of data, and affecting the stability of memory pool management. Summary of the Invention

[0004] The present disclosure aims to solve at least one of the technical problems in the related art to some extent.

[0005] To this end, the present disclosure aims to provide a memory pool management method, apparatus, and storage medium. Since the memory pool is divided into a data buffer area and a control buffer area, and the verification information of the target address pointer is referred to when operating and managing the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased, the abnormal operation of the address pointer can be effectively avoided from introducing exceptions to the data of the object element, the data of the object element can be effectively avoided from being contaminated, the fault tolerance of data operation is improved, and the overall stability of memory pool management is improved.

[0006] To achieve the above object, the memory pool management method proposed in the first aspect embodiment of the present disclosure includes: receiving a data management request, where the data management request includes a data identifier, where the data of the object element to which the data identifier belongs is stored in the data buffer area, reading a target address pointer corresponding to the data identifier from the control buffer area, obtaining verification information corresponding to the target address pointer from the data buffer area, and operating and managing the data of the object element according to the verification information.

[0007] The memory pool management method proposed in the first aspect of the present disclosure's embodiments, by receiving a data management request, where the data management request includes a data identifier. Among them, the data of the object element to which the data identifier belongs is stored in the data buffer area, the target address pointer corresponding to the data identifier is read from the control buffer area, the verification information corresponding to the target address pointer is obtained from the data buffer area, and the data of the object element is operated and managed according to the verification information. Since the memory pool is divided into a data buffer area and a control buffer area, and the verification information of the target address pointer is referred to when operating and managing the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased, the abnormal operation of the address pointer can be effectively avoided from introducing abnormalities to the data of the object element, the data of the object element can be effectively prevented from being contaminated, the fault tolerance of data operation is improved, and the overall stability of memory pool management is improved.

[0008] To achieve the above object, the memory pool management device proposed in the second aspect of the present disclosure includes: a receiving unit for receiving a data management request, where the data management request includes a data identifier. Among them, the data of the object element to which the data identifier belongs is stored in the data buffer area, a reading unit for reading the target address pointer corresponding to the data identifier from the control buffer area, an obtaining unit for obtaining the verification information corresponding to the target address pointer from the data buffer area, and an operating unit for operating and managing the data of the object element according to the verification information.

[0009] The memory pool management device proposed in the second aspect of the present disclosure, by receiving a data management request, where the data management request includes a data identifier. Among them, the data of the object element to which the data identifier belongs is stored in the data buffer area, the target address pointer corresponding to the data identifier is read from the control buffer area, the verification information corresponding to the target address pointer is obtained from the data buffer area, and the data of the object element is operated and managed according to the verification information. Since the memory pool is divided into a data buffer area and a control buffer area, and the verification information of the target address pointer is referred to when operating and managing the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased, the abnormal operation of the address pointer can be effectively avoided from introducing abnormalities to the data of the object element, the data of the object element can be effectively prevented from being contaminated, the fault tolerance of data operation is improved, and the overall stability of memory pool management is improved.

[0010] The memory pool management device provided by the third - aspect embodiment of the present disclosure includes: a memory, a transceiver, and a processor. The memory is used to store computer programs. The transceiver is used to transmit and receive data under the control of the processor. The processor is used to read the computer programs in the memory and perform the following operations: receiving a data management request, where the data management request includes a data identifier. Here, the data of the object element to which the data identifier belongs is stored in the data buffer, reading a target address pointer corresponding to the data identifier from the control buffer, obtaining check information corresponding to the target address pointer from the data buffer, and performing operation management on the data of the object element according to the check information.

[0011] The memory pool management device provided by the third - aspect embodiment of the present disclosure, by receiving a data management request, where the data management request includes a data identifier. Here, the data of the object element to which the data identifier belongs is stored in the data buffer, reading a target address pointer corresponding to the data identifier from the control buffer, obtaining check information corresponding to the target address pointer from the data buffer, and performing operation management on the data of the object element according to the check information. Since the memory pool is divided into a data buffer and a control buffer, and the check information of the target address pointer is referred to when performing operation management on the data of the object element, the fault tolerance and self - error - correction of data operation processing in the memory pool are effectively increased. It can effectively avoid abnormal operations of the address pointer from introducing abnormalities to the data of the object element, effectively avoid contaminating the data of the object element, improve the fault tolerance of data operations, and improve the overall stability of memory pool management.

[0012] The processor - readable storage medium provided by the fourth - aspect embodiment of the present disclosure stores a computer program, and the computer program is used to cause the processor to execute: the memory pool management method provided by the first - aspect embodiment of the present disclosure.

[0013] The processor - readable storage medium provided by the fourth - aspect embodiment of the present disclosure, by receiving a data management request, where the data management request includes a data identifier. Here, the data of the object element to which the data identifier belongs is stored in the data buffer, reading a target address pointer corresponding to the data identifier from the control buffer, obtaining check information corresponding to the target address pointer from the data buffer, and performing operation management on the data of the object element according to the check information. Since the memory pool is divided into a data buffer and a control buffer, and the check information of the target address pointer is referred to when performing operation management on the data of the object element, the fault tolerance and self - error - correction of data operation processing in the memory pool are effectively increased. It can effectively avoid abnormal operations of the address pointer from introducing abnormalities to the data of the object element, effectively avoid contaminating the data of the object element, improve the fault tolerance of data operations, and improve the overall stability of memory pool management.

[0014] Additional aspects and advantages of the present disclosure will be given in part in the following description, become apparent in part from the following description, or be learned through the practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The above and / or additional aspects and advantages of the present disclosure will become apparent and be readily understood from the following description of embodiments in conjunction with the accompanying drawings, where:

[0016] Figure 1 is a schematic flowchart of a memory pool management method proposed in an embodiment of the present disclosure;

[0017] Figure 2 is a schematic structural diagram of a memory pool in an embodiment of the present disclosure;

[0018] Figure 3 is a schematic structural diagram of a memory pool in another embodiment of the present disclosure;

[0019] Figure 4 is a schematic flowchart of a memory pool management method proposed in another embodiment of the present disclosure;

[0020] Figure 5 is a schematic diagram of program code for initializing and assigning values in the structure definition of an embodiment of the present disclosure;

[0021] Figure 6 is a schematic flowchart of a data verification process in an embodiment of the present disclosure;

[0022] Figure 7 is a schematic flowchart of a memory pool management method proposed in another embodiment of the present disclosure;

[0023] Figure 8 is a schematic flowchart of a data verification process in an embodiment of the present disclosure;

[0024] Figure 9 is a schematic structural diagram of a memory pool management device proposed in an embodiment of the present disclosure;

[0025] Figure 10 is a schematic structural diagram of a memory pool management device proposed in another embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0026] In the embodiments of the present disclosure, the term "and / or" describes the association relationship of associated objects and indicates that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.

[0027] In the embodiments of the present disclosure, the term "plurality" refers to two or more, and other quantifiers are similar.

[0028] Next, in combination with the accompanying drawings in the embodiments of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present disclosure.

[0029] The present disclosure precisely addresses the technical problem in the related art that data operations on memory blocks are more likely to introduce data contamination, and when using data contaminated by an application, it is easy to cause access exceptions in memory blocks, resulting in abnormal or suspended data operation management processes and affecting the stability of memory pool management. A memory pool management method is provided. By receiving a data management request, the data management request includes a data identifier. Among them, the data of the object element to which the data identifier belongs is stored in the data buffer area, the target address pointer corresponding to the data identifier is read from the control buffer area, the verification information corresponding to the target address pointer is obtained from the data buffer area, and the data of the object element is operated and managed according to the verification information. Since the memory pool is divided into a data buffer area and a control buffer area, and the verification information of the target address pointer is referred to when operating and managing the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased. It can effectively avoid the abnormal operation of the address pointer from introducing exceptions to the data of the object element, effectively avoid contaminating the data of the object element, improve the fault tolerance of data operations, and improve the overall stability of memory pool management.

[0030] The technical solutions provided by the embodiments of the present disclosure can be applied to multiple systems, especially 5G systems. For example, the applicable systems can be Global System of Mobile Communication (GSM) systems, Code Division Multiple Access (CDMA) systems, Wideband Code Division Multiple Access (WCDMA) General Packet Radio Service (GPRS) systems, Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Long Term Evolution Advanced (LTE-A) systems, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) systems, 5G New Radio (NR) systems, etc. Both terminal devices and network devices are included in these multiple systems. The system may also include a core network part, such as an Evolved Packet System (EPS), 5G System (5GS), etc.

[0031] Figure 1 It is a schematic flowchart of a memory pool management method proposed by an embodiment of the present disclosure.

[0032] It should be noted that the execution subject of the memory pool management method in this embodiment is a memory pool management device, which can be implemented in software and / or hardware, and this device can be configured in a network device.

[0033] The network device can be used to mutually replace the received airframe with Internet Protocol (IP) packets and act as a router between the wireless terminal device and the rest of the access network, where the rest of the access network may include an Internet Protocol (IP) communication network. The network device can also coordinate the attribute management of the air interface.

[0034] For example, the network device involved in the embodiments of the present disclosure may be a network device (Base Transceiver Station, BTS) in a Global System for Mobile communications (GSM) or Code Division Multiple Access (CDMA), or a network device (NodeB) in a Wide-band Code Division Multiple Access (WCDMA), or an evolved network device (evolutional Node B, eNB or e-NodeB) in a Long Term Evolution (LTE) system, or a 5G base station (gNB) in a 5G network architecture (next generation system), or a Home evolved Node B (HeNB), a relay node, a femto, a pico, etc. The embodiments of the present disclosure do not limit this. In some network architectures, the network device may include a centralized unit (centralized unit, CU) node and a distributed unit (distributed unit, DU) node, and the centralized unit and the distributed unit may also be geographically separated.

[0035] The network device and the terminal device may each use one or more antennas for Multi-Input Multi-Output (MIMO) transmission. The MIMO transmission may be Single User MIMO (SU-MIMO) or Multiple User MIMO (MU-MIMO). According to the form and number of root antenna combinations, the MIMO transmission may be 2D-MIMO, 3D-MIMO, FD-MIMO or massive-MIMO, or may also be diversity transmission, precoding transmission, beamforming transmission, etc.

[0036] The terminal device involved in the embodiments of the present disclosure may be a device that provides voice and / or data connectivity to users, a handheld device with wireless connection capabilities, or other processing devices connected to a wireless modem, etc. In different systems, the name of the terminal device may also be different.

[0037] For example, in a 5G system, a terminal device can be referred to as a User Equipment (UE). The wireless terminal device can communicate with one or more Core Networks (CNs) via a Radio Access Network (RAN). The wireless terminal device can be a mobile terminal device, such as a mobile phone (or a "cellular" phone) and a computer with a mobile terminal device. For example, it can be a portable, pocket-sized, handheld, computer-integrated, or vehicle-mounted mobile device that exchanges voice and / or data with the radio access network.

[0038] For example, devices such as Personal Communication Service (PCS) phones, cordless phones, Session Initiated Protocol (SIP) phones, Wireless Local Loop (WLL) stations, and Personal Digital Assistants (PDAs). The wireless terminal device can also be referred to as a system, subscriber unit, subscriber station, mobile station, mobile, remote station, access point, remote terminal, access terminal, user terminal, user agent, user device, which is not limited in the embodiments of the present disclosure.

[0039] As Figure 1 shown, the memory pool management method includes:

[0040] Among them, in the embodiments of the present disclosure, the memory pool can be pre-divided into a control buffer area and a data buffer area. The control buffer area assists in the data control operation for memory blocks and stores the address pointers of object elements, while the data buffer area stores the data of each object element, thereby realizing the isolation configuration of the data control logic and the data storage logic, as Figure 2 shown.

[0041] Figure 2It is a schematic structural diagram of a memory pool in an embodiment of the present disclosure, including: a control buffer and a data buffer. The structure struct rte_mbuf in the control buffer stores the address pointer of the object element rte_mbuf. The data buffer stores the data of each object element rte_mbuf. When the memory pool is divided, the data buffer can be initialized. A structure struct usr_private_info is defined for the data buffer to store the virtual address and physical address of the object element. At the same time, this structure can also be used to check whether the data in the data buffer has been modified or overwritten. The operation management of the data of the object element rte_mbuf is based on the physical address or virtual address stored in the structure and the offset relative to the base address to determine the storage position of the data of the object element in the data buffer, and then the data of the object element in the data buffer is operated and managed, so as not to affect the operation management of the object element due to the division of the memory pool. Since the memory pool is divided into a data buffer and a control buffer, the reserved area between the storage data blocks of the object element during the deployment of the memory pool in the related art can be removed, realizing a relatively compact distribution of the functional blocks of the memory pool, effectively improving the utilization rate of the memory pool space. Since relevant structures are added to the data buffer, it is possible to check whether the data buffer has been modified, effectively preventing data from being contaminated.

[0042] S101: Receive a data management request. The data management request includes a data identifier. Among them, the data of the object element to which the data identifier belongs is stored in the data buffer.

[0043] Among them, the data management request is used to request the operation management of the data of the object element. This data management request can be, for example, a request for operations such as transmitting or copying the data of the object element, and there is no limitation on this.

[0044] Among them, the data management request includes a data identifier. The data identifier is used to uniquely identify the object element to be operated and managed by the data management request. The data of the object element to which the data identifier belongs can be stored in the data buffer of the memory pool. In the embodiment of the present disclosure, the memory pool is pre-divided into a control buffer and a data buffer. The control buffer assists in the data control operation for the memory block and stores the address pointer of the object element, and the data buffer stores the data of each object element.

[0045] Among them, the number of object elements can be multiple, and each object element has a corresponding data identifier. When storing the data of the object element into the data buffer in the memory pool, the data of each object element can be stored in the data buffer, and the corresponding object element is marked with the corresponding data identifier, so as to facilitate indexing the data of the corresponding object element when operating and managing the data.

[0046] In the embodiments of the present disclosure, when dividing a memory pool to obtain a data buffer area (the data buffer area stores data of object elements to which data identifiers belong), a buffer area can be respectively divided in a large page memory as a control buffer area of the memory pool, and another buffer area as a data buffer area of the memory pool, and there is no limitation on this.

[0047] For example, as Figure 3 shown, Figure 3 is a schematic structural diagram of a memory pool in another embodiment of the present disclosure. Two buffer areas are divided in a large page memory as the control buffer area and the data buffer area of the memory pool respectively, and an initialization operation is performed on the memory pool. The starting head of the control buffer area after the initialization operation is used to store the memory pool structure of the control buffer area, and the memory pool structure is represented by a memory pool structure body (struct rte_mempool). The storage unit after the starting head of the control buffer area is used to store the size of the private structure of the memory pool, and the subsequent storage unit is used to store the address pointer head structure of multiple object elements (sizeof(struct mbuf)). The data buffer area of the memory pool is used to store data of each object element, and the storage unit in the data buffer area can be called elt_buf.

[0048] In the embodiments of the present disclosure, a data transmission interface can be configured on the memory pool management device, and a data management request is received via the data transmission interface, the data identifier is parsed from the data management request, and then the target address pointer corresponding to the data identifier can be read from the control buffer area, and the subsequent data operation management logic is triggered.

[0049] Alternatively, the memory pool management device can also receive a data management request forwarded by other electronic devices, parse the data identifier from the data management request, and trigger the subsequent data operation management logic, and there is no limitation on this.

[0050] S102: Read the target address pointer corresponding to the data identifier from the control buffer area.

[0051] Among them, the address pointer is used to indicate the storage address of the check information in the memory pool, and the check information can be used to check the validity of the data of the object element. The check information of the data of different object elements can be stored in different storage addresses, and the corresponding address pointer is configured to point to the storage address, and different address pointers and the data identifiers corresponding to them are saved in the control buffer area to support the operation management logic of the data of the object element.

[0052] In the embodiments of the present disclosure, some verification rules can be preconfigured. During the process of dynamically operating and managing the data of an object element, some attribute information of the data of the object element can be determined and used as verification information. When the data is operated on again later, the data of the object element can be verified first according to the verification information to ensure the accuracy of the data of the object element being operated on.

[0053] In the embodiments of the present disclosure, when reading the target address pointer corresponding to the data identifier from the control buffer, a head pointer can be set during the initialization of the control buffer. During the actual memory pool management application, the control buffer can be traversed starting from the head pointer to find the address pointer corresponding to the data identifier according to the data identifier, and the address pointer corresponding to the data identifier can be used as the target address pointer, and there is no limitation in this regard.

[0054] S103: Obtain the verification information corresponding to the target address pointer from the data buffer.

[0055] Among them, the verification information can be used to determine whether the data of the object element in the data buffer is accurate. The verification information can be, for example, some attribute information of the data of the object element, etc., and there is no limitation in this regard.

[0056] For example, it can be determined based on the verification information whether the data of the object element in the data buffer is consistent with the data after being reset in the initialization stage, or it can also be determined based on the verification information whether the data of the object element in the data buffer is consistent with the specified data, and there is no limitation in this regard.

[0057] In the embodiments of the present disclosure, when obtaining the verification information corresponding to the target address pointer from the data buffer, the storage address corresponding to the target address pointer can be obtained according to the target address pointer, and then the corresponding storage unit can be found in the data buffer according to the storage address. The content stored in the storage unit is the verification information corresponding to the target address pointer, and then the verification information corresponding to the target address pointer is read from the corresponding storage unit.

[0058] S104: Operate and manage the data of the object element according to the verification information.

[0059] In the embodiments of the present disclosure, the data of the object element is stored in the data buffer of the memory pool. The operation and management of the data of the object element can be, for example, extracting the data of the object element for transmission or copying, etc., or it can be operation management such as calculating the data of the object element, and there is no limitation in this regard.

[0060] In an embodiment of the present disclosure, after obtaining the verification information corresponding to the target address pointer from the data buffer, it is possible to trigger a determination, based on the verification information, as to whether the data in the data buffer meets the validity condition. Data that meets the validity condition may be, for example, data that has not been overwritten or rewritten. Subsequently, operation management is performed on the data of the object element that meets the validity condition.

[0061] In this embodiment, by receiving a data management request, where the data management request includes a data identifier, and storing the data of the object element to which the data identifier belongs in the data buffer, reading the target address pointer corresponding to the data identifier from the control buffer, obtaining the verification information corresponding to the target address pointer from the data buffer, and performing operation management on the data of the object element according to the verification information. Since the memory pool is divided into a data buffer and a control buffer, and the verification information of the target address pointer is referred to when performing operation management on the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased. It can effectively avoid abnormal operations of the address pointer from introducing abnormalities to the data of the object element, effectively avoid contaminating the data of the object element, improve the fault tolerance of data operations, and enhance the overall stability of memory pool management.

[0062] Figure 4 It is a schematic flowchart of a memory pool management method proposed in another embodiment of the present disclosure.

[0063] As Figure 4 shown, the memory pool management method includes:

[0064] S401: Receive a data management request, where the data management request includes a data identifier, and store the data of the object element to which the data identifier belongs in the data buffer.

[0065] S402: Read the target address pointer corresponding to the data identifier from the control buffer.

[0066] S403: Obtain the verification information corresponding to the target address pointer from the data buffer.

[0067] For the descriptions of S401 - S403, specific reference can be made to the descriptions of the above embodiments, which will not be elaborated here.

[0068] S404: Based on the verification information, determine whether the data in the data buffer meets the validity condition.

[0069] Among them, the validity condition may be a verification condition set in advance for the verification information, and this validity condition can be used to determine whether the data of the object element in the data buffer is valid. Here, being valid may, for example, mean that the data of the object element has not been rewritten or contaminated, and there is no limitation in this regard.

[0070] In some embodiments, the validity condition can be adaptively configured according to the actual requirements of the memory pool management scenario. Alternatively, the validity condition can also be configured according to the requirements of the memory pool management for data precision, and there is no limitation thereto.

[0071] After obtaining the verification information corresponding to the target address pointer from the data buffer in the embodiments of the present disclosure, it is possible to trigger the verification of whether the data in the data buffer meets the validity condition according to the verification information. It is possible to judge whether the data in the data buffer is rewritten or contaminated according to the verification information. If the data in the data buffer is not rewritten or contaminated, it indicates that the data in the data buffer meets the validity condition. If the data in the data buffer is rewritten or contaminated, it indicates that the data in the data buffer does not meet the validity condition.

[0072] When verifying whether the data in the data buffer meets the validity condition according to the verification information in the embodiments of the present disclosure, it is possible to judge whether the value of the target address pointer is the same as the head address pointer of the control buffer. If the value of the target address pointer is the same as the head address pointer of the control buffer, it indicates that the data in the data buffer pointed to by the target address pointer meets the validity condition. If the value of the target address pointer is not the same as the head address pointer of the control buffer, it indicates that the data in the data buffer pointed to by the target address pointer does not meet the validity condition.

[0073] In some other embodiments, it is also possible to initialize and assign the head address pointer of the control buffer in the structure by initializing the header structure of the data buffer. For example, as Figure 5 shown, Figure 5 is a schematic diagram of the program code for initializing and assigning values in the structure definition of the embodiments of the present disclosure. It is possible to perform an initialization and assignment operation on the header structure struct usr_private_info of the data buffer, initialize struct rte_mbuf *m as the head address pointer of the corresponding control buffer, and then judge whether the data in the data buffer is rewritten or contaminated according to the value of the head address pointer of the control buffer, so as to judge whether the data in the data buffer meets the validity condition.

[0074] S405: If the data in the data buffer meets the validity condition, perform operation management on the data of the object element.

[0075] In the above-mentioned obtaining of the verification information corresponding to the target address pointer, it is possible to trigger the judgment of whether the data in the data buffer meets the validity condition according to the verification information. If the data in the data buffer meets the validity condition, it is possible to perform operation management on the data of the object element according to the verification information.

[0076] In an embodiment of the present disclosure, when determining whether the data in the data buffer meets the validity condition according to the verification information, it may be determined according to the verification information whether the data in the data buffer is rewritten or contaminated. If the data in the data buffer is not rewritten or contaminated, it indicates that the data in the data buffer meets the validity condition, indicating that the data in the corresponding data buffer is valid, and then the operation management of the data of the object element in the corresponding data buffer can be triggered.

[0077] S406: If the data in the data buffer does not meet the validity condition, a reset operation is performed on the data in the data buffer.

[0078] In the above, obtaining the verification information corresponding to the target address pointer can trigger determining whether the data in the data buffer meets the validity condition according to the verification information. If the data in the data buffer does not meet the validity condition, a reset operation is performed on the data in the data buffer.

[0079] In an embodiment of the present disclosure, when determining whether the data in the data buffer meets the validity condition according to the verification information, it may be determined according to the verification information whether the data in the data buffer is rewritten or contaminated. If the data in the data buffer is rewritten or contaminated, it indicates that the data in the data buffer does not meet the validity condition, indicating that the data in the corresponding data buffer is invalid, and then a reset operation is performed on the data in the data buffer.

[0080] In other embodiments, it may also be determined whether the data in the data buffer meets the validity condition according to whether the value of the target address pointer is the same as the head address pointer of the control buffer.

[0081] For example, as Figure 6 shown, Figure 6 is a schematic diagram of the data verification process in the embodiment of the present disclosure. It can be determined whether the data in the data buffer meets the validity condition according to whether the value of the target address pointer is the same as the head address pointer of the control buffer. If the data in the data buffer meets the validity condition, the operation management of the data of the object element is triggered. If the data in the data buffer does not meet the validity condition, a reset operation is performed on the data in the data buffer.

[0082] Among them, the reset operation is used to clear the data in the data buffer that does not meet the validity condition and release the memory resources of the corresponding storage unit.

[0083] In an embodiment of the present disclosure, when performing a reset operation on the data in the data buffer, the data in the data storage unit that does not meet the validity condition can be cleared, and the head address pointer resource in the corresponding data buffer structure can be reset to implement the recycling of memory resources and the reset of the data buffer.

[0084] In some other embodiments, when managing data sending operations at the application layer, after obtaining the physical address pointer of the storage unit where the object element is located, data verification processing can be added before data operation management. After verifying that there is an error in the data, the operation management of the contaminated data is abandoned, the head address pointer information resource of the corresponding data buffer is reset, the memory resource of the storage unit where it is located is recycled, and the memory resource of the data buffer is automatically reallocated. It is also possible to add data verification processing after obtaining the physical address pointer of the storage unit where the object element is located. After verifying that there is an error in the data, directly reset the head address pointer information resource of the corresponding data buffer and then hand it over to the application layer for use, and manually release the head address pointer information resource of the data buffer. Similarly, after obtaining the physical address pointer, data verification processing can be added. After verifying that there is an error in the data, directly reset the head address pointer information resource of the corresponding data buffer, and then recycle the memory resource.

[0085] In this embodiment, by receiving a data management request, the data management request includes a data identifier. Among them, the data of the object element to which the data identifier belongs is stored in the data buffer, the target address pointer corresponding to the data identifier is read from the control buffer, the verification information corresponding to the target address pointer is obtained from the data buffer, and the data of the object element is operated and managed according to the verification information. The memory pool can be divided into a data buffer and a control buffer. Since the memory pool is divided into a data buffer and a control buffer, and the verification information of the target address pointer is referred to when operating and managing the data of the object element, the fault tolerance and self-correction of data operation processing in the memory pool are effectively increased. It can effectively avoid the introduction of abnormalities into the data of the object element due to abnormal operations of the address pointer, effectively avoid contaminating the data of the object element, improve the fault tolerance of data operations, and improve the overall stability of memory pool management. Since it is judged whether the data in the data buffer meets the validity condition according to the verification information, the validity of the data in the data buffer can be guaranteed, so as to ensure the accuracy of the operation and management of the data in the data buffer. The storage unit of the data buffer where the data that does not meet the validity condition is located is reset, so that invalid storage units can be recycled, memory fragmentation can be avoided, and memory pool resource waste can be reduced, effectively improving the utilization rate of the storage resources of the memory pool. Since the storage unit of the data buffer where the contaminated or damaged data is located is reset, the impact of the contaminated or damaged data on the overall stability of memory pool management can be avoided, effectively improving the overall stability of memory pool management.

[0086] Figure 7 It is a schematic flowchart of a memory pool management method proposed in another embodiment of the present disclosure.

[0087] As Figure 7As shown, the memory pool management method includes:

[0088] S701: Receive a data management request, where the data management request includes a data identifier. Among them, data of the object element to which the data identifier belongs is stored in the data buffer.

[0089] S702: Read the target address pointer corresponding to the data identifier from the control buffer.

[0090] S703: Obtain the check information corresponding to the target address pointer from the data buffer.

[0091] For the descriptions of S701 - S703, please refer to the descriptions of the above embodiments for details, which will not be elaborated here.

[0092] S704: Perform a primary check based on the value of the target address pointer to obtain a first check result.

[0093] Among them, the first check result can be used to determine whether the data in the data buffer can pass the primary check. The first check result can be, for example, a judgment result on whether the data in the data buffer is out of bounds.

[0094] In the embodiments of the present disclosure, when performing a primary check based on the value of the target address pointer to obtain a first check result, the value of the target address pointer can be obtained, and it can be determined whether the data in the data buffer is out of bounds according to the value of the target address pointer, and the judgment result is used as the first check result.

[0095] Optionally, in some embodiments, when performing a primary check based on the value of the target address pointer to obtain a first check result, the head pointer address value of the control buffer can be determined. If the value of the target address pointer is the same as the head pointer address value, it is determined that the first check result meets the first check condition. If the value of the target address pointer is different from the head pointer address, it is determined that the first check result does not meet the first check condition. Thus, it can be judged whether the data in the data buffer is the data of the object element corresponding to the target address pointer through the primary check, avoiding the phenomenon of out-of-bounds operation when operating and managing data in the data buffer, effectively avoiding the influence on the data in the data buffer, and the data that meets the first check condition can be further checked to ensure the validity of the data being operated and managed, thereby effectively ensuring the accuracy of data operation and management.

[0096] Among them, the head pointer address value of the control buffer can be defined and initialized in the structure of the data buffer when initializing the data buffer of the memory pool.

[0097] In an embodiment of the present disclosure, when performing a primary verification based on the value of the target address pointer to obtain a first verification result, the value of the target address pointer and the head pointer address value of the control buffer can be read, and the value of the target address pointer obtained by the reading is compared with the head address pointer value of the control buffer. If the value of the target address pointer is the same as the head pointer address value, it is determined that the first verification result meets the first verification condition; if the value of the target address pointer is different from the head pointer address, it is determined that the first verification result does not meet the first verification condition.

[0098] S705: Perform a secondary verification based on the physical pointer address in combination with the preset session value to obtain a second verification result.

[0099] Among them, the physical pointer address can be obtained through initialization settings when initializing the memory pool. The physical pointer address is stored in the corresponding data buffer and can be read from the corresponding data buffer when using the physical pointer address.

[0100] Among them, the preset session value can be default identification information preset for the data in the data buffer when initializing the memory pool.

[0101] In an embodiment of the present disclosure, when performing a secondary verification based on the physical pointer address in combination with the preset session value, the physical pointer address and the virtual address of the pointer of the corresponding control buffer can be obtained in the structure of the data buffer, it is determined whether the value of the physical pointer address is the same as the virtual address of the pointer of the corresponding control buffer, and it is determined whether the target session value corresponding to the data buffer is the same as the preset session value. The obtained address comparison result and the preset session value comparison result can be jointly used as the second verification result.

[0102] Optionally, in some embodiments, when performing a secondary verification based on the physical pointer address in combination with the preset session value to obtain a second verification result, the virtual address of the pointer of the control buffer can be determined, it is determined whether the physical pointer address is the same as the virtual address of the pointer, and it is determined whether the preset session value is the same as the target session value. If the physical pointer address is the same as the virtual address of the pointer and the preset session value is the same as the target session value, it is determined that the second verification result meets the second verification condition; if the physical pointer address is different from the virtual address of the pointer or the preset session value is different from the target session value, it is determined that the second verification result does not meet the second verification condition. Thus, the data in the data buffer after the primary verification can be verified again based on the physical pointer address in combination with the preset session value to determine whether the data in the data buffer has been rewritten or overwritten, ensuring the correctness of the data in the data buffer, and effectively ensuring the effectiveness of data operation management.

[0103] Among them, when initializing the memory pool, the initialization assignment process of the virtual address of the pointer of the control buffer can be synchronously performed, and the virtual address of the pointer of the control buffer is assigned to the head address pointer value of the corresponding data buffer.

[0104] In the embodiment of the present disclosure, when performing a second verification according to the physical pointer address and the preset session value to obtain a second verification result, the virtual address of the pointer of the control buffer can be compared with the physical pointer address of the control buffer, and the target session value in the data buffer is compared with the preset session value. If the physical pointer address of the control buffer is the same as the virtual address of the pointer of the control buffer, and the target session value in the data buffer is the same as the preset session value in the data buffer, it is determined that the second verification result meets the second verification condition, and then the data of the object element can be operated and managed according to the verification information. If the physical pointer address of the control buffer is not the same as the virtual address of the pointer of the control buffer, or the target session value in the data buffer is not the same as the preset session value in the data buffer, it is determined that the second verification result does not meet the second verification condition.

[0105] S706: According to the first verification result and the second verification result, determine whether the data in the data buffer meets the validity condition.

[0106] After performing the initial verification according to the value of the target address pointer to obtain the first verification result, and performing the second verification according to the physical pointer address and the preset session value to obtain the second verification result, it can be determined whether the data in the data buffer meets the validity condition according to the first verification result and the second verification result. If the first verification result meets the first verification condition and the second verification result meets the second verification condition, it is determined that the data in the data buffer meets the validity condition, and then the data of the object element is operated and managed. If the first verification result does not meet the first verification condition or the second verification result does not meet the second verification condition, it is determined that the data in the data buffer does not meet the validity condition.

[0107] Optionally, in some embodiments, when determining whether the data in the data buffer meets the validity condition according to the first verification result and the second verification result, if the first verification result meets the first verification condition and the second verification result meets the second verification condition, it is determined that the data in the data buffer meets the validity condition. If the first verification result does not meet the first verification condition or the second verification result does not meet the second verification condition, it is determined that the data in the data buffer does not meet the validity condition. Thus, the correctness of the data in the data buffer can be screened through the two verification conditions corresponding to the two verifications respectively. Since the data that fails the initial verification does not trigger the secondary verification, memory processing resources are saved, the processing efficiency of data verification is effectively improved, the accuracy of the data of the object element is ensured, the accuracy of operating and managing the data of the object element is effectively improved, the phenomenon of out-of-bounds operation on the data in the data buffer is avoided, the integrity of the data after operation and management is ensured, and the management efficiency of the memory pool is effectively improved.

[0108] For example, as Figure 8 shown, Figure 8 is a schematic diagram of the data verification process in an embodiment of the present disclosure. First, an initial verification can be performed according to the value of the target address pointer to obtain a first verification result. If the first verification result meets the first valid condition, a secondary verification is performed according to the physical pointer address combined with the preset session value to obtain a second verification result. If the second verification result meets the second valid condition, it indicates that the data in the data buffer meets the validity condition, and then the data of the object element is operated and managed. If the first verification result does not meet the first valid condition after the initial verification, the secondary verification is not performed, and it is determined that the data in the data buffer does not meet the validity condition. Or the first verification result meets the first valid condition, but when the secondary verification is performed, the second verification result does not meet the second valid condition, and it is determined that the data in the data buffer does not meet the validity condition.

[0109] S707: If the data in the data buffer meets the validity condition, the data of the object element is operated and managed.

[0110] For the description of S707, reference can be specifically made to the description of the above embodiments, which will not be elaborated here.

[0111] In this embodiment, by receiving a data management request, which includes a data identifier, storing data of an object element to which the data identifier belongs in a data buffer, reading a target address pointer corresponding to the data identifier from a control buffer, obtaining verification information corresponding to the target address pointer from the data buffer, and performing operation management on the data of the object element according to the verification information. Since the memory pool is divided into a data buffer and a control buffer, and the verification information of the target address pointer is referred to when performing operation management on the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased, the abnormal operation of the address pointer can be effectively avoided from introducing anomalies to the data of the object element, the data of the object element can be effectively prevented from being polluted, the fault tolerance of data operation is improved, and the overall stability of memory pool management is improved. Since the data in the storage buffer is subjected to primary verification and secondary verification, the correctness of the data in the data buffer can be screened through two verification conditions corresponding to the two verifications respectively. Since the data that fails the primary verification does not need to be subjected to secondary verification, memory processing resources are saved, the processing efficiency of data verification is effectively improved, the accuracy of the data of the object element is ensured, the accuracy of performing operation management on the data of the object element is effectively improved, the phenomenon of out-of-bounds operation on the data in the data buffer is avoided, the integrity of the data after operation management is ensured, and the management efficiency of the memory pool is effectively improved.

[0112] Figure 9 It is a schematic structural diagram of a memory pool management device proposed in an embodiment of the present disclosure.

[0113] As Figure 9 shown, the memory pool management device 90 includes:

[0114] A receiving unit 901, configured to receive a data management request, where the data management request includes a data identifier, and store data of an object element to which the data identifier belongs in a data buffer;

[0115] A reading unit 902, configured to read a target address pointer corresponding to the data identifier from a control buffer;

[0116] An obtaining unit 903, configured to obtain verification information corresponding to the target address pointer from the data buffer; and

[0117] An operation unit 904, configured to perform operation management on the data of the object element according to the verification information.

[0118] In some embodiments of the present disclosure, the operation unit 904 is specifically configured to:

[0119] Judge whether the data in the data buffer meets the validity condition according to the verification information;

[0120] If the data in the data buffer meets the validity condition, the data of the object element is operated and managed.

[0121] In some embodiments of the present disclosure, the operation unit 904 is further configured to:

[0122] After determining whether the verification information meets the validity condition, if the data in the data buffer does not meet the validity condition, a reset operation is performed on the data in the data buffer.

[0123] In some embodiments of the present disclosure, the operation unit 904 is further configured to:

[0124] Clear the data in the data buffer that does not meet the validity condition;

[0125] Perform a reset operation on the head address pointer resource in the structure of the data buffer.

[0126] In some embodiments of the present disclosure, the verification information includes: the value of the target address pointer, the physical pointer address, and the preset session value;

[0127] Wherein, the operation unit 904 is further configured to:

[0128] Perform a primary verification according to the value of the target address pointer to obtain a first verification result;

[0129] Perform a secondary verification according to the physical pointer address in combination with the preset session value to obtain a second verification result;

[0130] Judge whether the data in the data buffer meets the validity condition according to the first verification result and the second verification result.

[0131] In some embodiments of the present disclosure, the operation unit 904 is further configured to:

[0132] If the first verification result meets the first verification condition and the second verification result meets the second verification condition, it is determined that the data in the data buffer meets the validity condition;

[0133] If the first verification result does not meet the first verification condition or the second verification result does not meet the second verification condition, it is determined that the data in the data buffer does not meet the validity condition.

[0134] In some embodiments of the present disclosure, the operation unit 904 is further configured to:

[0135] Determine the head pointer address value of the control buffer;

[0136] If the value of the target address pointer is the same as the head pointer address value, it is determined that the first verification result meets the first verification condition;

[0137] If the value of the target address pointer is not the same as the head pointer address, it is determined that the first verification result does not meet the first verification condition.

[0138] In some embodiments of the present disclosure, the operation unit 904 is further configured to:

[0139] Determine the pointer virtual address of the control buffer;

[0140] Judge whether the physical pointer address is the same as the pointer virtual address, and judge whether the preset session value is the same as the target session value;

[0141] If the physical pointer address is the same as the pointer virtual address, and the preset session value is the same as the target session value, it is determined that the second verification result meets the second verification condition;

[0142] If the physical pointer address is not the same as the pointer virtual address, or the preset session value is not the same as the target session value, it is determined that the second verification result does not meet the second verification condition.

[0143] It should be noted that the division of units in the embodiments of the present disclosure is illustrative. It is only a logical function division, and there may be other division methods in actual implementation. In addition, in each embodiment of the present disclosure, each functional unit may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit. The above integrated unit may be implemented in the form of hardware or in the form of a software functional unit.

[0144] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium.

[0145] Based on such an understanding, the technical solution of the present disclosure, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods in the various embodiments of the present disclosure. The foregoing storage medium includes: various media such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc that can store program codes.

[0146] It should be noted here that the above device provided by the embodiments of the present application can implement all the method steps implemented by the above method embodiments and can achieve the same technical effects. Therefore, the same parts and beneficial effects as those in the method embodiments will not be specifically described herein.

[0147] In this embodiment, by receiving a data management request, where the data management request includes a data identifier, data of an object element to which the data identifier belongs is stored in a data buffer, a target address pointer corresponding to the data identifier is read from a control buffer, check information corresponding to the target address pointer is obtained from the data buffer, and operation management is performed on the data of the object element according to the check information. Since the memory pool is divided into a data buffer and a control buffer, and the check information of the target address pointer is referred to when performing operation management on the data of the object element, the fault tolerance and self-error correction of data operation processing in the memory pool are effectively increased, abnormal operations of the address pointer can be effectively avoided from introducing abnormalities to the data of the object element, contamination of the data of the object element can be effectively avoided, the fault tolerance of data operation is improved, and the overall stability of memory pool management is improved.

[0148] Figure 10 It is a schematic structural diagram of a memory pool management device proposed in another embodiment of the present disclosure.

[0149] See Figure 10 , the memory pool management device 100 includes a memory 1001, a transceiver 1002, a processor 1003, and a user interface 1004: The memory 1001 is used to store computer programs; the transceiver 1002 is used to send and receive data under the control of the processor 1003; the processor 1003 is used to read the computer programs in the memory 1001 and perform the following operations:

[0150] Receive a data management request, where the data management request includes a data identifier, and data of an object element to which the data identifier belongs is stored in a data buffer;

[0151] Read a target address pointer corresponding to the data identifier from the control buffer;

[0152] Obtain check information corresponding to the target address pointer from the data buffer; and

[0153] Perform operation management on the data of the object element according to the check information.

[0154] Among them, in Figure 10Among them, the bus architecture may include any number of interconnected buses and bridges, specifically, various circuits of one or more processors represented by the processor 1003 and the memory represented by the memory 1001 are linked together. The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, and thus will not be further described herein. The bus interface provides an interface. The transceiver 1002 may be a plurality of components, that is, including a transmitter and a receiver, and provides a unit for communicating with various other devices on a transmission medium, and these transmission mediums include wireless channels, wired channels, optical fiber cables, and other transmission mediums. For different user devices, the user interface 1004 may also be an interface capable of externally connecting and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, etc.

[0155] The processor 1003 is responsible for managing the bus architecture and general processing, and the memory 1001 may store data used by the processor 600 when executing operations.

[0156] Optionally, the processor 1003 may be a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a CPLD (Complex Programmable Logic Device), and the processor may also adopt a multi-core architecture.

[0157] The processor is used to execute any method provided by the embodiments of the present disclosure according to the obtained executable instructions by calling the computer program stored in the memory. The processor and the memory may also be physically separated.

[0158] In some embodiments of the present disclosure, the processor 1003 is specifically used for:

[0159] According to the verification information, determine whether the data in the data buffer meets the validity condition;

[0160] If the data in the data buffer meets the validity condition, perform operation management on the data of the object element.

[0161] In some embodiments of the present disclosure, the processor 1003 is specifically used for:

[0162] After determining whether the verification information meets the validity condition, if the data in the data buffer does not meet the validity condition, perform a reset operation on the data in the data buffer.

[0163] In some embodiments of the present disclosure, the processor 1003 is specifically configured to:

[0164] Clear the data in the data buffer that does not meet the validity condition;

[0165] Reset the head address pointer resource in the structure of the data buffer.

[0166] In some embodiments of the present disclosure, the verification information includes: the value of the target address pointer, the physical pointer address, and the preset session value;

[0167] Wherein, the processor 1003 is specifically configured to:

[0168] Perform a primary verification according to the value of the target address pointer to obtain a first verification result;

[0169] Perform a secondary verification according to the physical pointer address in combination with the preset session value to obtain a second verification result;

[0170] Judge whether the data in the data buffer meets the validity condition according to the first verification result and the second verification result.

[0171] In some embodiments of the present disclosure, the processor 1003 is specifically configured to:

[0172] If the first verification result meets the first verification condition and the second verification result meets the second verification condition, it is determined that the data in the data buffer meets the validity condition;

[0173] If the first verification result does not meet the first verification condition or the second verification result does not meet the second verification condition, it is determined that the data in the data buffer does not meet the validity condition.

[0174] In some embodiments of the present disclosure, the processor 1003 is specifically configured to:

[0175] Determine the head pointer address value of the control buffer;

[0176] If the value of the target address pointer is the same as the head pointer address value, it is determined that the first verification result meets the first verification condition;

[0177] If the value of the target address pointer is different from the head pointer address, it is determined that the first verification result does not meet the first verification condition.

[0178] In some embodiments of the present disclosure, the processor 1003 is specifically configured to:

[0179] Determine the pointer virtual address of the control buffer;

[0180] Determine whether the physical pointer address is the same as the pointer virtual address, and determine whether the preset session value is the same as the target session value;

[0181] If the physical pointer address is the same as the pointer virtual address, and the preset session value is the same as the target session value, it is determined that the second verification result meets the second verification condition;

[0182] If the physical pointer address is not the same as the pointer virtual address, or the preset session value is not the same as the target session value, it is determined that the second verification result does not meet the second verification condition.

[0183] It should be noted here that the above device provided by the embodiments of the present application can implement all the method steps implemented by the above method embodiments, and can achieve the same technical effects. The same parts and beneficial effects as those in the method embodiments in this embodiment will not be specifically described herein.

[0184] To implement the above embodiments, the present disclosure embodiments propose a processor-readable storage medium, the processor-readable storage medium stores a computer program, and the computer program is used to make the processor execute the memory pool management method.

[0185] Those skilled in the art should understand that the embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the present disclosure can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present disclosure can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer-usable program code.

[0186] The present disclosure is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present disclosure. It should be understood that each process and / or block in the flowcharts and / or block diagrams, and the combination of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in one process Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0187] These processor-executable instructions can also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the processor-readable memory generate a manufactured article including an instruction device, and the instruction device implements the processFigure 1 one or more processes and / or blocks Figure 1 the functions specified in one or more blocks.

[0188] These processor-executable instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one or more processes and / or blocks Figure 1 one or more blocks.

[0189] Obviously, those skilled in the art can make various changes and modifications to the present disclosure without departing from the spirit and scope of the present disclosure. Thus, if these modifications and variations of the present disclosure fall within the scope of the claims of the present disclosure and their equivalent technologies, the present disclosure is also intended to include these changes and variations.

[0190] It should be noted that in the description of the present disclosure, the terms "first", "second", etc. are only used for descriptive purposes and cannot be construed as indicating or implying relative importance. In addition, in the description of the present disclosure, unless otherwise specified, the meaning of "a plurality of" is two or more.

[0191] Any process or method description in the flowchart or described in other ways herein can be understood as representing a module, segment, or portion of code including one or more executable instructions for implementing a specific logical function or process. And the scope of the preferred embodiments of the present disclosure includes additional implementations, where the functions can be executed in a substantially simultaneous manner or in a reverse order according to the functions involved, rather than in the order shown or discussed. This should be understood by those skilled in the art to which the embodiments of the present disclosure pertain.

[0192] It should be understood that each part of the present disclosure can be implemented by hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following technologies well known in the art can be used: discrete logic circuits having logic gate circuits for implementing logic functions on data signals, application specific integrated circuits having appropriate combinational logic gate circuits, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.

[0193] Those of ordinary skill in the art can understand that all or part of the steps carried out in the methods of the above embodiments can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiments.

[0194] In addition, in each of the various embodiments of the present disclosure, the functional units can be integrated in a processing module, or each unit can exist physically alone, or two or more units can be integrated in a module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. When the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0195] The storage medium mentioned above can be a read-only memory, a magnetic disk, an optical disc, or the like.

[0196] In the description of this specification, the description with reference to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.

[0197] Although the embodiments of the present disclosure have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure. Those of ordinary skill in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present disclosure.

Claims

1. A memory pool management method, characterized in that, the memory pool includes: a control buffer and a data buffer, and the method includes: receiving a data management request, the data management request including a data identifier, wherein data of an object element to which the data identifier belongs is stored in the data buffer; reading a target address pointer corresponding to the data identifier from the control buffer; obtaining check information corresponding to the target address pointer from the data buffer; and performing operation management on the data of the object element according to the check information.

2. The method according to claim 1, characterized in that, the performing operation management on the data of the object element according to the check information includes: judging whether the data in the data buffer meets the validity condition according to the check information; if the data in the data buffer meets the validity condition, performing operation management on the data of the object element.

3. The method according to claim 2, characterized in that, after judging whether the check information meets the validity condition, it further includes: if the data in the data buffer does not meet the validity condition, performing a reset operation on the data in the data buffer.

4. The method according to claim 3, characterized in that, the performing a reset operation on the data in the data buffer includes: clearing the data in the data buffer that does not meet the validity condition; performing a reset operation on the head address pointer resource in the structure body of the data buffer.

5. The method according to claim 2, characterized in that, the check information includes: the value of the target address pointer, the physical pointer address, and a preset session value; wherein, the judging whether the data in the data buffer meets the validity condition according to the check information includes: performing a primary check according to the value of the target address pointer to obtain a first check result; performing a secondary check according to the physical pointer address in combination with the preset session value to obtain a second check result; judging whether the data in the data buffer meets the validity condition according to the first check result and the second check result.

6. The method according to claim 5, characterized in that, the judging whether the data in the data buffer meets the validity condition according to the first check result and the second check result includes: if the first check result meets the first check condition and the second check result meets the second check condition, determining that the data in the data buffer meets the validity condition; if the first check result does not meet the first check condition or the second check result does not meet the second check condition, determining that the data in the data buffer does not meet the validity condition.

7. The method according to claim 6, characterized in that, the performing a primary check according to the value of the target address pointer to obtain a first check result includes: determining the head pointer address value of the control buffer; If the value of the target address pointer is the same as the value of the header pointer address, it is determined that the first verification result meets the first verification condition; If the value of the target address pointer is different from the header pointer address, it is determined that the first verification result does not meet the first verification condition.

8. The method according to claim 6, characterized in that the re-verifying according to the physical pointer address in combination with the preset session value to obtain a second verification result includes: determining the pointer virtual address of the control buffer; judging whether the physical pointer address is the same as the pointer virtual address, and judging whether the preset session value is the same as the target session value; If the physical pointer address is the same as the pointer virtual address, and the preset session value is the same as the target session value, it is determined that the second verification result meets the second verification condition; If the physical pointer address is different from the pointer virtual address, or the preset session value is different from the target session value, it is determined that the second verification result does not meet the second verification condition.

9. A memory pool management device, characterized in that the memory pool includes: a control buffer and a data buffer, and the device includes: a receiving unit, configured to receive a data management request, where the data management request includes a data identifier, and the data of the object element to which the data identifier belongs is stored in the data buffer; a reading unit, configured to read a target address pointer corresponding to the data identifier from the control buffer; an obtaining unit, configured to obtain verification information corresponding to the target address pointer from the data buffer; and an operating unit, configured to perform operation management on the data of the object element according to the verification information.

10. The device according to claim 9, characterized in that the operating unit is specifically configured to: judge whether the data in the data buffer meets the validity condition according to the verification information; If the data in the data buffer meets the validity condition, perform operation management on the data of the object element.

11. The device according to claim 10, characterized in that the operating unit is further configured to: after judging whether the verification information meets the validity condition, if the data in the data buffer does not meet the validity condition, perform a reset operation on the data in the data buffer.

12. The device according to claim 11, characterized in that the operating unit is further configured to: clear the data in the data buffer that does not meet the validity condition; perform a reset operation on the header address pointer resource in the structure of the data buffer.

13. The device according to claim 10, characterized in that the verification information includes: the value of the target address pointer, the physical pointer address, and the preset session value; wherein, the operating unit is further configured to: perform a primary verification according to the value of the target address pointer to obtain a first verification result; perform a re-verification according to the physical pointer address in combination with the preset session value to obtain a second verification result; Based on the first verification result and the second verification result, determine whether the data in the data buffer meets the validity condition.

14. The device according to claim 13, wherein, the operation unit is further configured to: if the first verification result meets the first verification condition and the second verification result meets the second verification condition, determine that the data in the data buffer meets the validity condition; if the first verification result does not meet the first verification condition or the second verification result does not meet the second verification condition, determine that the data in the data buffer does not meet the validity condition.

15. The device according to claim 14, wherein, the operation unit is further configured to: determine the head pointer address value of the control buffer; if the value of the target address pointer is the same as the head pointer address value, determine that the first verification result meets the first verification condition; if the value of the target address pointer is different from the head pointer address, determine that the first verification result does not meet the first verification condition.

16. The device according to claim 14, wherein, the operation unit is further configured to: determine the pointer virtual address of the control buffer; judge whether the physical pointer address is the same as the pointer virtual address, and judge whether the preset session value is the same as the target session value; if the physical pointer address is the same as the pointer virtual address and the preset session value is the same as the target session value, determine that the second verification result meets the second verification condition; if the physical pointer address is different from the pointer virtual address or the preset session value is different from the target session value, determine that the second verification result does not meet the second verification condition.

17. A memory pool management device, wherein, it includes a memory, a transceiver, and a processor: the memory is used to store computer programs; the transceiver is used to transmit and receive data under the control of the processor; the processor is configured to read the computer program in the memory and perform the following operations: receive a data management request, where the data management request includes a data identifier, and the data of the object element to which the data identifier belongs is stored in the data buffer of the memory pool; read the target address pointer corresponding to the data identifier from the control buffer of the memory pool; obtain the verification information corresponding to the target address pointer from the data buffer; and perform operation management on the data of the object element according to the verification information.

18. A processor-readable storage medium, wherein, the processor-readable storage medium stores a computer program, and the computer program is used to cause the processor to execute the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Embedded system memory management method

    CN108121603A

  • Client verification method and apparatus

    CN108259490A