Network access optimization method and system

By introducing a cache management module in VDI terminals, the performance and stability problems of VDI systems when network bandwidth is limited or unstable are solved, rapid response and data access are achieved, and user experience and network resource utilization efficiency are improved.

CN119127401APending Publication Date: 2024-12-13ZIGUANG COMPUTER TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411256612.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

The existing VDI system has a limited network bandwidth or unstable connection, and the user experience is affected, mainly due to the failure to fully utilize the storage resources of the user terminal to improve system performance and stability.

Method used

The cache management module is introduced in the VDI terminal. By querying whether the cache exists for target data, if it exists, it is read from the cache, if it does not exist, it is obtained and cached from the server, and the timestamp maintenance unit, cache item positioning unit and access sequence maintenance unit are used to maintain the unit. Optimize the management and update of cached data.

Benefits of technology

Reduces dependence on the server side and network request latency, improves response speed, ensures that previously loaded data can still be accessed when the network is unstable, reduces lag and delay caused by network problems, improves user experience, and optimizes Network resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127401A_ABST
    Figure CN119127401A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, in particular to a network access optimization method and system. The method is applied to a VDI terminal and comprises the steps that when a user request is received, whether target cache data needed by the user request exists in a cache management module or not is inquired; if the target cache data exists in the cache management module, reading the target cache data from the cache management module, and performing page display based on the target cache data; if the target cache data does not exist in the cache management module, request data are sent to the server side, page display is carried out based on response data fed back by the server side, and the response data are stored in the cache management module. According to the scheme, a cache mechanism is introduced into the VDI terminal, data requested by a user can be quickly acquired from the local cache management module, dependence on a server side and delay of a network request are reduced, and therefore the response speed of a system is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to a network access optimization method and system. Background Art

[0002] VDI (Virtual Desktop Infrastructure) is a virtual desktop technology with centralized storage and centralized computing. Virtual desktop infrastructure is to centralize all user desktop data computing on the server side, and the user desktop only receives the operating system environment.

[0003] VDI systems have great advantages in desktop mobility, server architecture design, centralized management and control, and data security, and are widely used in many fields such as enterprises, education, and medical care. Although VDI systems have many advantages, their operation mainly depends on the network environment. When the network bandwidth is limited or the network connection is unstable, the user experience may be affected, which is manifested in high latency, data loss, and system instability.

[0004] To address these issues, existing VDI systems usually use a series of technical means, such as optimizing network protocols, data compression, and priority scheduling, etc. However, these optimization measures mainly focus on improving the server side and network transmission links, but fail to fully utilize the storage resources of user terminals to further improve system performance and stability. Summary of the invention

[0005] In view of this, the present invention provides a network access optimization method and system to solve the problem that a network access optimization method and system mainly focus on the improvement of the server side and the network transmission link, but fail to fully utilize the storage resources of the user terminal to further improve the system performance and stability.

[0006] In a first aspect, the present invention provides a network access optimization method, which is applied to a VDI terminal, the VDI terminal is connected to a server, and a cache management module is integrated in the VDI terminal;

[0007] The method comprises:

[0008] When receiving a user request, querying the cache management module whether there is target cache data required by the user request;

[0009] If the target cache data exists in the cache management module, the target cache data is read from the cache management module, and a page is displayed based on the target cache data;

[0010] If the target cache data does not exist in the cache management module, the request data is sent to the server, the page is displayed based on the response data fed back by the server, and the response data is stored in the cache management module.

[0011] The above solution introduces a cache mechanism in the VDI terminal, so that the data requested by the user can be quickly obtained from the local cache management module, reducing the dependence on the server and the delay of network requests, thereby improving the response speed of the system. When the network is unstable or the bandwidth is limited, the cache mechanism of the cache management module can ensure that the user can still access the previously loaded data, reducing the freeze and delay caused by network problems, and improving the user experience.

[0012] In an optional embodiment, the cache management module includes a timestamp maintenance unit, a cache item positioning unit and an access order maintenance unit; the timestamp maintenance unit is used to maintain the timestamp of each cache data in the cache management module; the cache item positioning unit is used to use a hash table to locate cache items in the cache management module; the access order maintenance unit is used to use a bidirectional linked list to maintain the access order of each cache data in the cache management module.

[0013] In an optional implementation, each node in the bidirectional linked list is a cache item, and the node includes the cache data itself, a timestamp, a pointer to a previous node, and a pointer to a next node.

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

[0015] If the target cache data exists in the cache management module, updating the position of the target cache data in the bidirectional linked list, and moving the target cache data to the head of the bidirectional linked list;

[0016] If the target cache data does not exist in the cache management module and the cache space of the cache management module is not full, the target cache data is added as a new node to the head of the bidirectional linked list, and a corresponding entry is added to the hash table;

[0017] If the target cache data does not exist in the cache management module and the cache space of the cache management module is full, remove the node at the tail of the bidirectional linked list, delete the corresponding entry of the node at the tail of the linked list in the hash table, add the target cache data as a new node to the head of the bidirectional linked list, and add the corresponding entry in the hash table.

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

[0019] When the data on the server changes, obtaining update information pushed by the server;

[0020] Verify the validity of the update information, and after the verification is passed, update the corresponding cache item in the cache management module.

[0021] In an optional implementation manner, the VDI terminal is further provided with a timer, and the method further comprises:

[0022] According to a preset time interval, update information is periodically obtained from the server, and corresponding cache items in the cache management module are updated based on the update information.

[0023] In a second aspect, the present invention provides a network access optimization system, the system comprising a VDI terminal and a server connected to each other, wherein a cache management module is integrated in the VDI terminal;

[0024] The VDI terminal is used to:

[0025] When receiving a user request, querying the cache management module whether there is target cache data required by the user request;

[0026] If the target cache data exists in the cache management module, the target cache data is read from the cache management module, and a page is displayed based on the target cache data;

[0027] If the target cache data does not exist in the cache management module, the request data is sent to the server, the page is displayed based on the response data fed back by the server, and the response data is stored in the cache management module.

[0028] 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 computer instructions to thereby execute a network access optimization method of the first aspect or any corresponding embodiment thereof.

[0029] 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 a network access optimization method according to the first aspect or any corresponding embodiment thereof.

[0030] In a fifth aspect, the present invention provides a computer program product, including computer instructions, which are used to enable a computer to execute a network access optimization method according to the first aspect or any corresponding embodiment thereof.

[0031] The technical solution provided by the present invention may include the following beneficial effects:

[0032] The present invention introduces a cache mechanism in the VDI terminal, so that the data requested by the user can be quickly obtained from the local cache management module, reducing the dependence on the server side and the delay of the network request, thereby improving the response speed of the system. When the network is unstable or the bandwidth is limited, the cache mechanism of the cache management module can ensure that the user can still access the previously loaded data, reducing the freeze and delay caused by network problems, and improving the user experience.

[0033] Furthermore, since the data fed back by the server is cached in the local cache management module, even when the network connection is unstable, the user's data will not face higher security risks due to frequent network requests. By reducing the frequency of access to the server, the present invention can reduce the use of network traffic and optimize the allocation of network resources, especially in an environment with limited network bandwidth.

[0034] In addition, the cache management module uses the principle of temporal locality. By eliminating the longest unused data, the cache space can be used more efficiently and the cache hit rate can be improved. The present invention combines the two mechanisms of server-side push update and VDI terminal periodic refresh to ensure the real-time and consistency of cache data, while providing a flexible data update strategy. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] 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.

[0036] Figure 1 is a structural diagram of a network access optimization system according to an embodiment of the present invention;

[0037] Figure 2 is a flow chart of a network access optimization method according to an embodiment of the present invention;

[0038] Figure 3 is a flow chart of another network access optimization method according to an embodiment of the present invention;

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

[0040] 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.

[0041] In this embodiment, a network access optimization system is provided. Figure 1 is a schematic diagram of the structure of a network access optimization system according to an embodiment of the present invention. Figure 1 As shown, the system includes a VDI terminal 110 and a server 120 connected to each other, the VDI terminal 110 includes a client module 1101 and is integrated with a cache management module 1102;

[0042] The VDI terminal 110 is used for:

[0043] When receiving a user request, query the cache management module 1102 whether there is target cache data required by the user request;

[0044] If the target cache data exists in the cache management module 1102, the target cache data is read from the cache management module 1102, and the page is displayed based on the target cache data;

[0045] If the target cache data does not exist in the cache management module 1102 , the request data is sent to the server 120 , the page is displayed based on the response data fed back by the server 120 , and the response data is stored in the cache management module 1102 .

[0046] Optionally, when constructing the client module 1101, this embodiment first develops a client application program, which can be an interface for users to interact with the virtual desktop. The client module 1101 should have the following functions:

[0047] Display virtual desktop: can render and display the virtual desktop interface, including windows, icons, applications, etc.

[0048] Receive user input: Receive user operation instructions through input devices such as keyboard and mouse.

[0049] Sending a request: sending a corresponding request to the server 120 according to the user operation, such as opening a file, executing a program, etc.

[0050] Receiving response data: receiving processed data from the server, such as file content, image updates, etc., and updating it on the virtual desktop interface.

[0051] Network communication function: the client module 1101 needs to integrate a network communication module and support protocols such as TCP / IP to ensure stable data transmission with the server 120.

[0052] Optionally, when constructing the server 120, this embodiment can deploy one or more high-performance servers for hosting the virtual desktop environment according to system requirements. The server 120 should have the following functions:

[0053] Data processing capability: capable of processing requests from the client module 1101, performing corresponding operations, and returning results.

[0054] Virtualization technology: Use virtualization technology (such as VMware, Hyper-V, etc.) to create and manage multiple virtual desktop instances.

[0055] Processing user requests: The server side 120 is responsible for receiving the request sent by the client module 1101, parsing the request content, performing corresponding operations (such as reading files, executing programs, etc.), and returning the processing results to the client module 1101.

[0056] Optionally, when constructing the cache management module 1102 , this embodiment may integrate a local cache management module 1102 in the VDI terminal 110 , and the cache management module 1102 is responsible for caching data between the client module 1101 and the server 120 to reduce direct access to the server 120 .

[0057] In this embodiment, a certain space can be allocated in the local disk or memory of the VDI terminal 110 as a cache area for storing data obtained from the server 120. When the client module 1101 sends a request to the server 120, it first checks whether the data already exists in the cache management module 1102. If it exists and has not expired, the cached data is directly used; if it does not exist or has expired, new data is obtained from the server 120 and the cache is updated.

[0058] In the cache management module 1102, an LRU algorithm can be implemented to manage cache content. When the cache reaches the upper limit of capacity, the least used data items are eliminated according to the LRU algorithm to make room for new data, and efficient cache access and elimination operations are achieved by combining a bidirectional linked list and a hash table.

[0059] In summary, the present invention introduces a cache mechanism in the VDI terminal, and the data requested by the user can be quickly obtained from the local cache management module, reducing the dependence on the server and the delay of the network request, thereby improving the response speed of the system. When the network is unstable or the bandwidth is limited, the cache mechanism of the cache management module can ensure that the user can still access the previously loaded data, reducing the freeze and delay caused by network problems, and improving the user experience.

[0060] Furthermore, since the data fed back by the server is cached in the local cache management module, even when the network connection is unstable, the user's data will not face higher security risks due to frequent network requests. By reducing the frequency of access to the server, the present invention can reduce the use of network traffic and optimize the allocation of network resources, especially in an environment with limited network bandwidth.

[0061] In addition, the cache management module uses the principle of temporal locality. By eliminating the longest unused data, the cache space can be used more efficiently and the cache hit rate can be improved. The present invention combines the two mechanisms of server-side push update and VDI terminal periodic refresh to ensure the real-time and consistency of cache data, while providing a flexible data update strategy.

[0062] According to an embodiment of the present invention, an embodiment of a network access optimization method 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.

[0063] In this embodiment, a network access optimization method is provided, which is applied to Figure 1 In the VDI terminal 110, the VDI terminal 110 is connected to the server 120, and the VDI terminal 110 is integrated with a cache management module 1102; Figure 2 is a flow chart of a network access optimization method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0064] Step S201, when a user request is received, query the cache management module 1102 whether there is target cache data required by the user request.

[0065] Furthermore, this embodiment introduces a cache mechanism in the VDI terminal 110. After receiving data transmitted by the server 120, the client module 1101 caches the data in the local storage (i.e., the cache management module 1102). The cached data includes response data of user operations, interface data, and file data.

[0066] See also Figure 3 The flowchart of another network access optimization method is shown. When the user operates in the client module 1101, the client module 1101 first checks whether the required data exists in the local cache (i.e., the cache management module 1102). If the data exists in the cache, the data is directly read from the cache management module 1102 to reduce the network access and transmission to the background server 120. If the required data does not exist in the cache, the data is requested from the server 120 through the network, and the requested data is cached in the local cache management module 1102. That is, in this embodiment, when the client module 1101 receives the data sent by the server 120, the client module 1101 stores the data in the local cache (i.e., the cache management module 1102). The cache management module 1102 can be a specific space in the memory of the VDI terminal 110. When the user needs data for operation, the client module 1101 first queries whether the local cache has the required data. If the data exists in the local cache, it is directly read from the cache, otherwise the data is requested from the server 120.

[0067] Step S202: If the target cache data exists in the cache management module 1102, the target cache data is read from the cache management module 1102, and a page is displayed based on the target cache data.

[0068] In an optional implementation, the cache management module 1102 includes a timestamp maintenance unit, a cache item location unit, and an access order maintenance unit; the timestamp maintenance unit is used to maintain the timestamp of each cache data in the cache management module 1102; the cache item location unit is used to use a hash table to locate the cache items in the cache management module 1102; the access order maintenance unit is used to use a bidirectional linked list to maintain the access order of each cache data in the cache management module 1102. Each node in the bidirectional linked list is a cache item, and the node includes the cache data itself, a timestamp, a pointer to the previous node, and a pointer to the next node.

[0069] In an optional implementation, if the target cache data exists in the cache management module 1102, the position of the target cache data in the bidirectional linked list is updated, and the target cache data is moved to the head of the bidirectional linked list;

[0070] If the target cache data does not exist in the cache management module 1102 and the cache space of the cache management module 1102 is not full, the target cache data is added as a new node to the head of the bidirectional linked list, and a corresponding entry is added to the hash table;

[0071] If the target cache data does not exist in the cache management module 1102 and the cache space of the cache management module 1102 is full, the node at the tail of the bidirectional linked list is removed, the corresponding entry of the node at the tail of the linked list is deleted in the hash table, and the target cache data is added as a new node to the head of the bidirectional linked list, and the corresponding entry is added in the hash table.

[0072] Furthermore, since the memory capacity of the VDI terminal 110 is limited, in order to effectively manage the limited cache space and improve the cache hit rate of user access data, this embodiment adopts the LRU algorithm to implement the cache elimination strategy. The cache management module 1102 manages the cached data and records the most recent access time of each cached data. When the cache space is insufficient, the cache management module 1102 preferentially eliminates the longest unused data according to the LRU algorithm to make room for caching new data, that is, the cache management module 1102 maintains a bidirectional linked list. Each time the cached data is accessed, the accessed node is moved to the head of the linked list. When the data needs to be eliminated, the node at the end of the linked list, that is, the longest unused data, is removed.

[0073] That is to say, the cache management module 1102 of this embodiment not only needs to maintain the timestamp of each cached data, but also should include a mapping (i.e., a hash table) to quickly locate cache items, and a bidirectional linked list to maintain the access order of data. When the cache space of the cache management module 1102 reaches the upper limit, the data that has not been used for the longest time will be eliminated according to the LRU algorithm of this embodiment. In addition, this embodiment also needs to implement a bidirectional linked list, and each cache item is a node of the linked list. Each node contains the following information: the cached data itself, a timestamp (recording the last access time), and pointers to the previous node and the next node (to implement a bidirectional linked list).

[0074] When the cached data in the cache management module 1102 is accessed, first check whether the data is already in the cache. If so, update its timestamp and move the node of the doubly linked list to the head of the linked list to indicate that it has been recently accessed. If it is not in the cache and the cache is not full, add a new node to the head of the linked list and update the mapping. If it is not in the cache and the cache is full, remove the node at the end of the linked list (i.e. the data that has not been used for the longest time), then add the new node to the head of the linked list, and update the mapping. When the cache management module 1102 needs to make room for new data, first check whether the cache is full. If it is full, remove the node at the end of the linked list according to the above steps, add the node of the new data to the head of the linked list, and add or update the corresponding entry in the mapping.

[0075] Step S203 , if the target cache data does not exist in the cache management module 1102 , the request data is sent to the server 120 , a page is displayed based on the response data fed back by the server 120 , and the response data is stored in the cache management module 1102 .

[0076] In an optional implementation, when the data on the server 120 changes, the update information pushed by the server 120 is obtained;

[0077] Verify the validity of the update information, and after the verification is passed, update the corresponding cache item in the cache management module 1102.

[0078] In an optional implementation, a timer is further provided in the VDI terminal 110. The VDI terminal 110 periodically obtains update information from the server 120 according to a preset time interval and preset conditions, and updates the corresponding cache items in the cache management module 1102 based on the update information.

[0079] Furthermore, to ensure the validity and consistency of cached data, this embodiment designs a cache update mechanism, including push updates by the server 120 and periodic refreshes by the client module 1101 .

[0080] The server 120 pushes updates: When the data on the server 120 is updated, the client module 1101 is notified through a push mechanism. After receiving the update notification, the client module 1101 marks the corresponding cache data as invalid or updates it.

[0081] The client module 1101 refreshes periodically: The client module 1101 can set a periodic refresh strategy to periodically obtain the latest data from the server 120 and update the local cache (ie, the cache management module 1102) to ensure the real-time and consistency of the data.

[0082] Regarding the push update of the server-side 120, the server-side 120 of this implementation should actively push the update information to the client module 1101 through the established communication mechanism (such as WebSocket, long polling or server-sent events Server-Sent Events, etc.) when the data is updated. After the client receives the update notification, it should perform the following operations: first verify the validity of the update notification, such as checking the update timestamp or version number, and update the corresponding data item (i.e., cache item) in the local cache according to the notification content. If the data item is already in the cache, directly update its content and timestamp; if it does not exist, add the new data item to the cache. This embodiment can also choose to mark the cached data as invalid, forcing the client module 1101 to obtain the latest data from the server-side 120 at the next request. The push mechanism should support differential updates and only push the changed parts to reduce the amount of data transmission and update costs.

[0083] For the periodic refresh of the client module 1101, the client module 1101 (or VDI terminal 110) of this implementation should be provided with a timer to obtain the latest data from the server 120 at a preset time interval (e.g., every minute, every hour, etc.). When obtaining data, the client module 1101 should consider the following conditions:

[0084] Network conditions and server loads. Avoid requesting data during peak hours to avoid affecting user experience and server performance.

[0085] The importance and update frequency of the data. For critical data, a shorter refresh interval can be set. That is, the above-mentioned preset conditions include the network status and server load status, as well as the importance and update frequency of the requested data.

[0086] When the client module 1101 updates the local cache (i.e., the cache management module 1102) according to the latest data obtained, the following measures should be taken:

[0087] Ensure the integrity and consistency of data. For critical data, transactional updates or lock mechanisms can be used.

[0088] Handle cases where data updates fail, such as retry mechanisms or rollback to old data.

[0089] Optimize the data update process, such as using asynchronous updates or background threads to avoid blocking the main thread and affecting the user experience.

[0090] In summary, the present invention introduces a cache mechanism in the VDI terminal, and the data requested by the user can be quickly obtained from the local cache management module, reducing the dependence on the server and the delay of the network request, thereby improving the response speed of the system. When the network is unstable or the bandwidth is limited, the cache mechanism of the cache management module can ensure that the user can still access the previously loaded data, reducing the freeze and delay caused by network problems, and improving the user experience.

[0091] Furthermore, since the data fed back by the server is cached in the local cache management module, even when the network connection is unstable, the user's data will not face higher security risks due to frequent network requests. By reducing the frequency of access to the server, the present invention can reduce the use of network traffic and optimize the allocation of network resources, especially in an environment with limited network bandwidth.

[0092] In addition, the cache management module uses the principle of temporal locality. By eliminating the longest unused data, the cache space can be used more efficiently and the cache hit rate can be improved. The present invention combines the two mechanisms of server-side push update and VDI terminal periodic refresh to ensure the real-time and consistency of cache data, while providing a flexible data update strategy.

[0093] The embodiment of the present invention also provides a computer device, see Figure 4 , Figure 4 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 4 As shown, the computer device includes: one or more processors 410, memory 420, 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 4 A processor 410 is taken as an example.

[0094] The processor 410 may be a central processing unit, a network processor or a combination thereof. The processor 410 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 logic gate array, a general purpose array logic or any combination thereof.

[0095] The memory 420 stores instructions executable by at least one processor 410, so that the at least one processor 410 executes the method shown in the above embodiment.

[0096] The memory 420 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 420 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 420 may optionally include a memory remotely arranged relative to the processor 410, 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.

[0097] The memory 420 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 420 may also include a combination of the above types of memory.

[0098] The computer device further includes a communication interface 430 for the computer device to communicate with other devices or a communication network.

[0099] 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.

[0100] 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.

[0101] 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 defined scope.

Claims

1. A network access optimization method, characterized in that: The method is applied to a VDI terminal, the VDI terminal is connected to a server, and a cache management module is integrated in the VDI terminal; The method comprises: When receiving a user request, querying the cache management module whether there is target cache data required by the user request; If the target cache data exists in the cache management module, the target cache data is read from the cache management module, and a page is displayed based on the target cache data; If the target cache data does not exist in the cache management module, the request data is sent to the server, the page is displayed based on the response data fed back by the server, and the response data is stored in the cache management module.

2. The method according to claim 1, characterized in that The cache management module includes a timestamp maintenance unit, a cache item positioning unit and an access order maintenance unit; the timestamp maintenance unit is used to maintain the timestamp of each cache data in the cache management module; the cache item positioning unit is used to use a hash table to locate the cache items in the cache management module; the access order maintenance unit is used to use a bidirectional linked list to maintain the access order of each cache data in the cache management module.

3. The method according to claim 2, characterized in that Each node in the bidirectional linked list is a cache item, and the node includes the cache data itself, a timestamp, a pointer to the previous node, and a pointer to the next node.

4. The method according to claim 2, characterized in that: The method further comprises: If the target cache data exists in the cache management module, updating the position of the target cache data in the bidirectional linked list, and moving the target cache data to the head of the bidirectional linked list; If the target cache data does not exist in the cache management module and the cache space of the cache management module is not full, the target cache data is added as a new node to the head of the bidirectional linked list, and a corresponding entry is added to the hash table; If the target cache data does not exist in the cache management module and the cache space of the cache management module is full, remove the node at the tail of the bidirectional linked list, delete the corresponding entry of the node at the tail of the linked list in the hash table, add the target cache data as a new node to the head of the bidirectional linked list, and add the corresponding entry in the hash table.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: When the data on the server changes, obtaining update information pushed by the server; Verify the validity of the update information, and after the verification is passed, update the corresponding cache item in the cache management module.

6. The method according to any one of claims 1 to 4, characterized in that: The VDI terminal is also provided with a timer, and the method further comprises: According to a preset time interval, update information is periodically obtained from the server, and corresponding cache items in the cache management module are updated based on the update information.

7. A network access optimization system, characterized in that: The system includes a VDI terminal and a server connected to each other, wherein the VDI terminal is integrated with a cache management module; The VDI terminal is used to: When receiving a user request, querying the cache management module whether there is target cache data required by the user request; If the target cache data exists in the cache management module, the target cache data is read from the cache management module, and a page is displayed based on the target cache data; If the target cache data does not exist in the cache management module, the request data is sent to the server, the page is displayed based on the response data fed back by the server, and the response data is stored in the cache management module.

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 a network access optimization method according to any one of claims 1 to 6 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 a network access optimization method according to any one of claims 1 to 6.

10. A computer program product, characterized in that It comprises computer instructions, and the computer instructions are used to make a computer execute a network access optimization method according to any one of claims 1 to 6.