Data caching method and system, computer equipment, medium and program product

By generating sequence number for business requests of the SoC system and mounting it in the linked list partition unit, the problem of low cache design efficiency of existing SoC systems is solved, the sequential processing of business data and balanced utilization of resources are realized, and the overall cache efficiency is improved.

CN119938595APending Publication Date: 2025-05-06WUXI STARS MICRO SYSTEM TECHNOLOGIES CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510007769.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-02
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

The existing SoC system has low efficiency in order-preserving cache design, and cannot effectively handle bursts of large and multi-type business requests, resulting in confusing business order and unbalanced resource utilization.

Method used

By generating a sequence number for each service, the service data is mounted on each partition unit of the target linked list according to the sequence number, and output in sequence according to the sequence number during processing, ensuring that the order of services is processed and sequence-proofed.

Benefits of technology

It realizes the efficient cache of multi-type service requests while ensuring the sequential processing of business data and the balanced utilization of resources, and improves the overall cache efficiency and reliability of business processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938595A_ABST
    Figure CN119938595A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of integrated circuits, and discloses a data caching method and system, computer equipment, a medium and a program product.The method comprises the steps that when a scheduling request of a target service is received, an order-preserving number of the target service is obtained; the order-preserving number is used for indicating the order of the service flow of the target service; the service flow of the target service is mounted on each partition unit of the target linked list according to the service type; and according to the order-preserving number of the target service, sequentially outputting service data corresponding to the target service from each partition unit corresponding to the target linked list. According to the invention, a multi-bank design structure is adopted, the service request is supported to continuously enter the chain, and the service caching efficiency is improved on the basis of ensuring the service sequence dequeue by storing the order-preserving information of the chain and coordinating the balanced utilization of each bank resource.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of integrated circuit technology, and in particular to a data caching method, system, computer equipment, medium and program product. Background Art

[0002] In a system on chip (SOC) system with a large number of sudden and multi-type business requests, a general system will first classify and cache the business requests, and then schedule the business requests in the cache according to the execution status of the business unit.

[0003] Specifically, in common SoC cache designs, there are mainly the following common modes for sudden large-scale and multi-type business requests: FIFO can achieve fast caching and order-preserving queuing and dequeuing, but does not support multi-business resource sharing; for the same storage space, a general linked list can be divided into multiple chains according to the business type of the actual application. Since there is only one port for the business to enter or exit the chain, when the business data enters or exits the chain, it can only be executed sequentially. Therefore, although the linked list cache can achieve resource sharing and order preservation, the efficiency of chain attachment and detachment is low, and the business entry bus cannot be released in time; the multi-bank design is more efficient than the linked list, but in order to maintain order, there will be potential resource imbalance problems. For example, when multiple business type requests hit a bank, it will lead to low queuing efficiency. Summary of the invention

[0004] In view of this, the present invention provides a data caching method, system, computer device, medium and program product to solve the problem of low efficiency of current order-preserving cache design for SoC.

[0005] In a first aspect, the present invention provides a data caching method, the method comprising:

[0006] When receiving the scheduling request of the target service, the sequence number of the target service is obtained; the sequence number is used to indicate the order of the service flow of the target service; the service flow of the target service is mounted on each partition unit of the target linked list according to the service type;

[0007] According to the sequence number of the target business, the business data corresponding to the target business is output in sequence from each partition unit corresponding to the target linked list.

[0008] The data caching method provided by the embodiment of the present invention generates a sequence number for each business and mounts the business data on each partition unit of the target linked list according to the sequence number. In subsequent processing, the business data corresponding to the target business can be output in sequence according to the sequence number, thereby ensuring sequential processing and sequential dequeueing of the business, and avoiding the problem of business order disorder caused by concurrent processing.

[0009] In an optional implementation, the number of partition units of the target linked list is the same as the number of clock cycles for the target linked list to complete one link.

[0010] The data caching method provided by an embodiment of the present invention determines the number of partition units according to the number of clock cycles so that there are enough partition units to cache new business requests within the time it takes for a linked list to complete a chain operation, thereby maximizing the utilization of the linked list cache throughput and reducing the cache idle time caused by waiting for the chain operation to complete, thereby improving the overall cache efficiency.

[0011] In an optional embodiment, the method further includes:

[0012] Get the business data to be input;

[0013] Generate a corresponding fob ID based on the business type of the business data to be input; generate a corresponding serial number based on the order of the business data to be input;

[0014] The business data to be input is linked to each partition unit corresponding to the target link table according to the corresponding link ID.

[0015] The data caching method provided by the embodiment of the present invention obtains the business data to be input and generates a corresponding sequence number so that the storage order of the business data in the linked list is consistent with the order in which it actually arrives. At the same time, the business data generates a chain ID according to the business type and links it to the corresponding partition unit of the target linked list. This can achieve cache sharing and independent management between different business types and improve the utilization efficiency of the linked list cache resources.

[0016] In an optional implementation, the business data to be input is linked to each partition unit corresponding to the target link table according to the corresponding link ID, including:

[0017] Get the resource occupancy rate of each partition unit;

[0018] Select at least one target partition unit according to the resource occupancy rate of each partition unit;

[0019] Each business flow of the business data to be input is mounted to the queue of at least one target partition unit according to the hanging chain ID.

[0020] The data caching method provided in the embodiment of the present invention obtains the resource occupancy rate of each partition unit to understand the load situation of the linked list cache in real time, and selects the target partition unit for linking according to the resource occupancy rate, thereby ensuring that business data is allocated to the partition unit with relatively idle resources or low load, so as to avoid the situation where some partition units are overloaded while other partition units are idle, thereby improving the overall resource utilization efficiency.

[0021] In a second aspect, the present invention provides a data cache system, the system comprising:

[0022] The entry sequence preservation module is used to generate the corresponding fob ID according to the business type of the business data to be input; and generate the corresponding sequence preservation number according to the order between the business data to be input;

[0023] The balanced arbitration chain mechanism is used to chain the business data to be input to each partition unit corresponding to the target chain table according to the corresponding chain ID;

[0024] Link list cache structure, used to cache the target linked list;

[0025] The sequence-preserving arbitration and chain-breaking mechanism is used to obtain the sequence-preserving number of the target business when receiving a scheduling request of the target business, and output the business data corresponding to the target business in sequence from each partition unit corresponding to the target chain list according to the sequence-preserving number of the target business.

[0026] The data caching system provided by the embodiment of the present invention can effectively classify and sort the input business data through the entry sequence preservation module, generate a chain ID and a sequence preservation number, and provide a clear guide for subsequent business processing; the linked list cache structure adopts a multi-bank design to support the continuous entry of business requests, and the balanced arbitration chain hanging mechanism intelligently selects the target partition unit for business chain hanging according to the resource occupancy rate of each partition unit; the sequence preservation arbitration chain removal mechanism can accurately know the chain hanging order of each business among multiple banks according to the sequence preservation numbers of each bank and each queue, thereby completing the arbitration of sequence preservation and chain removal requests of multiple business types.

[0027] In an optional implementation, the linked list cache structure is also used to partition the target linked list according to the number of clock cycles required for the target linked list to complete one link.

[0028] The data cache system provided by the embodiment of the present invention divides the linked list into multiple banks, each bank can independently perform linking and unlinking operations for business requests. When a bank is processing a business request, other banks can process other business requests in parallel, thereby greatly improving the throughput and efficiency of the cache.

[0029] In an optional implementation, the balancing arbitration chain mechanism is also used to obtain the resource occupancy rate of each partition unit; select at least one target partition unit according to the resource occupancy rate of each partition unit; and mount each business flow of the business data to be input into the queue of at least one target partition unit according to the chain ID.

[0030] The data caching system provided by the embodiment of the present invention obtains and considers the resource occupancy rate of each partition unit. The balanced arbitration chaining mechanism can intelligently select the partition unit that is currently idle or occupies less resources for business chaining, thereby achieving balanced utilization of resources and improving overall caching efficiency.

[0031] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the data caching method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0032] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the data caching method of the first aspect or any corresponding embodiment thereof.

[0033] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the data caching method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0035] Figure 1 This is a schematic diagram of a common multi-business type data linked list cache;

[0036] Figure 2 It is a schematic diagram of a multi-bank cache structure;

[0037] Figure 3 is a flow chart of a data caching method according to an embodiment of the present invention;

[0038] Figure 4 is a schematic diagram of the structure of a data cache system according to an embodiment of the present invention;

[0039] Figure 5 is a schematic diagram of the structure of another data cache system according to an embodiment of the present invention;

[0040] Figure 6 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0041] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0042] In a system-on-chip (SOC) system with a large number of sudden and multi-type business requests, the general system will first classify the business requests into caches, and then schedule the business requests in the cache according to the execution status of the business unit. However, common SoC cache designs have defects, specifically:

[0043] FIFO can achieve fast caching and order-preserving queueing and dequeuing, but does not support multi-service resource sharing;

[0044] The general linked list design is as follows Figure 1 As shown in the figure, for the same storage space, multiple chains can be divided according to the actual application business type. Figure 1 In the example of dividing 4 business cache queues, it can be seen that since there is only one port for business entry or exit, when business data is entered or exited, it can only be executed sequentially, but not in parallel. Therefore, although the linked list cache can realize resource sharing and order preservation, the efficiency of chaining and unchaining is low, and the business entry bus cannot be released in time;

[0045] The multi-bank design has obvious advantages in efficiency compared with the linked list because it can be executed in parallel. On the one hand, if the business order is to be ensured, there may be potential resource occupancy imbalance problems. For example, when multiple business type requests hit a bank, it will lead to low queue efficiency. On the other hand, for example, Figure 2 As shown in the figure, when a business is dequeued, if the dequeue is arbitrated only based on the idle state of the bank, the dequeue efficiency of the business can be guaranteed to a certain extent, but the order cannot be maintained.

[0046] Therefore, the inventors have found that in the application scenario of the SOC system with a large number of sudden and multi-type service requests, the service request cache should meet the following requirements:

[0047] ① Ability to quickly cache a large number of sudden business requests and release the business entry bus;

[0048] ② It can realize cache sharing among multiple types of services and achieve flexible use of limited resources.

[0049] ③ If each type of business has an order preservation requirement, that is, the business request is sent first and executed first, the shared cache can ensure the order in which a certain type of business request is received.

[0050] Based on this, an embodiment of the present invention provides a data caching method, which supports continuous entry of business requests through a multi-bank design structure, and improves business caching efficiency and ensures sequential exit of businesses by storing order preservation information of business entry.

[0051] According to an embodiment of the present invention, a data caching method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0052] In this embodiment, a data caching method is provided. Figure 3 is a flow chart of a data caching method according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps:

[0053] Step S301: upon receiving a scheduling request of a target service, obtaining a reservation number of the target service.

[0054] Specifically, first, the system receives a scheduling request from the business execution agency, and then obtains a sequence number based on the scheduling request. The sequence number is generated by the entry sequence number module when the business data first enters the cache system, and is used to indicate the order of the business flow of the target business.

[0055] Furthermore, in the multi-bank structure of this embodiment, different business types will be allocated to different linked lists for caching. Therefore, the system needs to determine each partition unit of the target linked list according to the business type or business identifier.

[0056] Step S302: according to the sequence number of the target service, the service data corresponding to the target service is outputted in sequence from each partition unit corresponding to the target linked list.

[0057] Specifically, the system needs to parse the sequence number, traverse the target linked list queue, and search for business data matching the sequence number from the head of the queue to locate the target linked list and the target partition unit.

[0058] Further, after finding the matching business data, it is extracted and output to the business execution agency or other designated target location in a preset order.

[0059] Optionally, after successfully outputting the business data, the system updates the status of the linked list, including deleting the output business data, updating the pointer or index at the head of the queue, etc.

[0060] In summary, the embodiment of the present invention provides a data caching method that can efficiently manage and orderly output business data. Specifically, when the system receives a scheduling request for a specific target business, it first obtains the sequence number of the target business. The sequence number is a unique identifier of the business flow sequence, ensuring that the business data can be processed in a predetermined order.

[0061] In the system, each partition unit corresponds to one or more business types. Business flows are classified according to business types and mounted on each partition unit of the corresponding target linked list. Therefore, before obtaining the sequence number, the system must also determine the business flow to which the target business belongs and its corresponding target linked list.

[0062] Next, the target linked list and its partition unit are located according to the sequence number. Then, inside the partition unit, the system accesses and extracts the business data in sequence according to the sequence number, and outputs the business data corresponding to the target business in sequence. Since the linked list cache structure adopts a multi-bank design, each bank operates independently and stores business data of different business flows. Therefore, in the process of outputting business data, the system also needs to use the balanced arbitration and sequence arbitration mechanism to ensure that the business data can flow in an orderly manner across banks, and finally be output to the business execution agency or other designated target location in a predetermined order.

[0063] The embodiment of the present invention realizes fast caching and orderly output of business data through fine business flow management and efficient linked list cache structure design, which not only improves the cache efficiency of the system but also ensures the processing order of business data.

[0064] In some optional implementations, the number of partition units of the target linked list is the same as the number of clock cycles for the target linked list to complete one link.

[0065] Specifically, according to the efficiency of chaining, the chained list is divided into multiple banks, and each bank is independent of each other. For example, when the chained list consumes 4 clock cycles to complete a chaining, the chained list is divided into 4 banks to cache business requests; by analogy, if the chained list requires M clock cycles to complete a chaining, the chained list is divided into M banks to cache business requests. As the number of banks increases, the resources required by the system will also increase.

[0066] In some optional embodiments, the method further comprises:

[0067] Get the business data to be input;

[0068] Generate a corresponding fob ID based on the business type of the business data to be input; generate a corresponding serial number based on the order of the business data to be input;

[0069] The business data to be input is linked to each partition unit corresponding to the target link table according to the corresponding link ID.

[0070] The system receives business data requests from the outside through the input port. The requests contain data of multiple business types. According to the characteristics or metadata of the business data, the business type to which it belongs is identified, and a unique chain ID is assigned to each business type, which is used to identify and locate the business data in the chain list cache structure.

[0071] According to the sequential relationship between business data, a sequence number is generated for each business data, which corresponds to the business sequence one by one, so that the original order can be maintained when the business data is output. According to the chain ID of the business data, it is determined to which target chain list it should be chained, and the specific partition unit is located based on the chain ID and other factors.

[0072] In some optional implementations, the business data to be input is linked to each partition unit corresponding to the target link table according to the corresponding link ID, including:

[0073] Get the resource occupancy rate of each partition unit;

[0074] Select at least one target partition unit according to the resource occupancy rate of each partition unit;

[0075] Each business flow of the business data to be input is mounted to the queue of at least one target partition unit according to the hanging chain ID.

[0076] First, the resource occupancy of each partition unit in the linked list cache structure is obtained, including occupied space and remaining space, etc. Then, based on the resource occupancy rate of each partition unit, at least one target partition unit is selected.

[0077] In the selected target partition unit, the system mounts each business flow of the business data to be input into the corresponding queue according to the link list ID, and also includes inserting the business data and its sequence number into the appropriate position of the link list and updating the status information of the link list.

[0078] Optionally, if the queue of the target partition unit is full or nearly full, the system may split the queue, create a new partition unit, etc., to ensure that the business data can be cached in a timely manner.

[0079] In this embodiment, a data cache system embodiment is provided. Figure 4 As shown, the system includes:

[0080] The entry sequence preservation module is used to generate the corresponding fob ID according to the business type of the business data to be input; and generate the corresponding sequence preservation number according to the order between the business data to be input;

[0081] The balanced arbitration chain mechanism is used to chain the business data to be input to each partition unit corresponding to the target chain table according to the corresponding chain ID;

[0082] Link list cache structure, used to cache the target linked list;

[0083] The sequence-preserving arbitration and chain-breaking mechanism is used to obtain the sequence-preserving number of the target business when receiving a scheduling request of the target business, and output the business data corresponding to the target business in sequence from each partition unit corresponding to the target chain list according to the sequence-preserving number of the target business.

[0084] The data cache system provided by the embodiment of the present invention is mainly composed of four modules: an entry order-preserving module, a balanced arbitration chain hanging mechanism, a linked list cache structure, and an order-preserving arbitration chain unwinding mechanism. Figure 4 As shown, a multi-bank design structure is adopted to efficiently process and cache requests of various business types while ensuring the order-preserving output of business data.

[0085] Specifically, the entry sequence preservation module receives the business data to be input from the business entry through the data interface; then, based on the type information of the business data, a preset algorithm or hash function is used to generate a unique fob ID; then, based on the order in which the business data arrives, a unique sequence preservation number is generated; finally, the business data, fob ID and sequence preservation number are packaged into a data packet and passed to the balancing arbitration fob mechanism.

[0086] The balanced arbitration chaining mechanism is used to receive data packets from the inlet order-keeping module and use preset arbitration algorithms, such as polling and minimum resource occupancy priority, to select the most appropriate bank for business chaining; finally, the business data is mounted to the corresponding linked list queue of the selected bank according to the chaining ID, and the resource occupancy information of the bank is updated.

[0087] The linked list cache structure is divided into multiple independent banks. Each bank is equipped with independent read-write control logic and data bus to ensure the independence and parallel processing capabilities between banks. Each bank contains multiple linked list queues, and each queue is assigned a unique identifier. It is used to cache business data of different business types. Finally, it receives business data from the balanced arbitration chain mechanism and mounts it to the linked list queue of the corresponding bank according to the chain ID.

[0088] The order-preserving arbitration chain-removing mechanism receives a scheduling request from the business execution mechanism through a data interface, and the request contains the order-preserving number of the target business; then, according to the order-preserving number in the scheduling request, it queries and locates the bank and the linked list queue where the target business data is located in the linked list cache structure; then, it extracts the target business data from the located linked list queue; finally, it outputs the business data in sequence.

[0089] In some optional implementations, the linked list cache structure is also used to partition the target linked list according to the number of clock cycles required for the target linked list to complete one link.

[0090] The linked list cache structure is divided into multiple independent banks according to the linked list chaining efficiency, that is, the number of clock cycles required to complete a chaining. For example, when the linked list consumes 4 clock cycles to complete a chaining, the linked list is divided into 4 banks to cache business requests; by analogy, if the linked list requires M clock cycles to complete a chaining, the linked list is divided into M banks to cache business requests. As the number of banks increases, the resources required by the system will also increase accordingly.

[0091] like Figure 5 As shown, a directional application scenario of dividing the linked list cache structure into 4 banks is demonstrated.

[0092] Optionally, during the operation of the system, the number and partitions of banks can be dynamically adjusted according to the actual load conditions and changes in the chain efficiency of the linked list. For example, when it is detected that the load of a bank is too high or the chain efficiency of the linked list decreases, the number of banks can be dynamically increased to disperse the load and improve the overall efficiency.

[0093] In some optional implementations, the balancing arbitration chain mechanism is also used to obtain the resource occupancy rate of each partition unit; select at least one target partition unit according to the resource occupancy rate of each partition unit; and mount each business flow of business data to be input into the queue of at least one target partition unit according to the chain ID.

[0094] The balanced arbitration chaining mechanism is used to receive data packets from the inlet order-keeping module and query the resource occupancy of each bank in real time, including occupied space and remaining space, etc. Then, based on the query results, the preset arbitration algorithm is used, that is, banks that are idle and occupy less resources are preferentially selected for business chaining.

[0095] The embodiment of the present invention also provides a computer device, see Figure 6 , Figure 6 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 6As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 6 A processor 10 is taken as an example.

[0096] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0097] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0098] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0099] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0100] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 6 The example of connecting through bus is taken in the following.

[0101] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0102] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0103] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0104] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A data caching method, characterized in that: The method comprises: When receiving a scheduling request of a target service, obtaining a sequence number of the target service; the sequence number is used to indicate the order of the service flow of the target service; the service flow of the target service is mounted on each partition unit of the target linked list according to the service type; According to the sequence number of the target service, the service data corresponding to the target service is output in sequence from each partition unit corresponding to the target linked list.

2. The method according to claim 1, characterized in that The number of partition units of the target linked list is the same as the number of clock cycles for the target linked list to complete one link.

3. The method according to claim 1 or 2, characterized in that: The method further comprises: Get the business data to be input; Generate a corresponding fob ID based on the business type of the business data to be input; generate a corresponding serial number based on the order of the business data to be input; The business data to be input is linked to each partition unit corresponding to the target link list according to the corresponding link ID.

4. The method according to claim 3, characterized in that The step of linking the business data to be input to each partition unit corresponding to the target link table according to the corresponding link ID includes: Get the resource occupancy rate of each partition unit; Selecting at least one target partition unit according to the resource occupancy rate of each partition unit; Each business flow of the business data to be input is mounted to the queue of the at least one target partition unit according to the hanging chain ID.

5. A data cache system, characterized in that: The system comprises: The entry sequence preservation module is used to generate the corresponding fob ID according to the business type of the business data to be input; and generate the corresponding sequence preservation number according to the order between the business data to be input; A balanced arbitration chaining mechanism is used to chain the service data to be input to each partition unit corresponding to the target chain table according to the corresponding chaining ID; Link list cache structure, used to cache the target linked list; The sequence-preserving arbitration and chain-breaking mechanism is used to obtain the sequence-preserving number of the target service when receiving a scheduling request of the target service, and output the service data corresponding to the target service in sequence from each partition unit corresponding to the target chain list according to the sequence-preserving number of the target service.

6. The system according to claim 5, characterized in that The linked list cache structure is also used to partition the target linked list according to the number of clock cycles required for the target linked list to complete one link.

7. The system according to claim 5 or 6, characterized in that: The balanced arbitration chain mechanism is also used to obtain the resource occupancy rate of each partition unit; select at least one target partition unit according to the resource occupancy rate of each partition unit; and mount each business flow of the business data to be input into the queue of the at least one target partition unit according to the chain ID.

8. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the data caching method according to any one of claims 1 to 4 by executing the computer instructions.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the data caching method according to any one of claims 1 to 4.

10. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the data caching method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method for caching mixed service flow and method and device for storing and forwarding mixed service flow

    CN101656659A

  • Resource load balancing method and device in distributed system

    CN106534284A

  • A method and apparatus for storing linked list of service data

    CN109189793A

  • Distributed load balancing method and device based on streaming media

    CN109600624A

  • Data processing method and device, electronic equipment and medium

    CN110443695A