A data transmission method and system

By setting up a proxy on the client side to update the server and using cached data, the data transmission delay and dedicated network bandwidth occupation are reduced, and the network transmission problem in the deployment of off-site servers in the financial field is solved, achieving efficient and secure data transmission.

CN118764535BActive Publication Date: 2024-12-31HUNDSUN TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411252780.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2024-12-31
Estimated Expiration
2044-09-09

AI Technical Summary

Technical Problem

In the case of off-site server deployment in the financial field, network transmission between the client and the server leads to excessive use of dedicated network resources, resulting in insufficient data transmission delay and bandwidth. The existing solutions require users to have high operating capabilities and maintenance costs. High, and the effect is not ideal when network conditions are limited.

Method used

Adopt the proxy update server, monitor data changes in real time through message center and file monitoring services, and the proxy updates the server cache data. The client directly obtains data from the proxy update server, reduces requests to the background server, uses message subscription to update data, and optimizes the data transmission path and cache policy.

Benefits of technology

It reduces data transmission delay, saves dedicated network bandwidth, reduces maintenance costs, improves data transmission performance and security, and solves the problem of dedicated network occupation under network limitations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118764535B_ABST
    Figure CN118764535B_ABST
Patent Text Reader

Abstract

The present invention proposes a data transmission method and system. The method sets a proxy update server on the client side and uses the proxy update server to cache data, so that when the client accesses data, it can directly obtain it from the proxy update server without sending a request to the background server every time, thereby reducing data transmission delay and saving dedicated network bandwidth, thereby effectively solving the problem of dedicated network occupation when the network is limited. Since the client and the proxy update server are on the same local area network side, there is no need to open the network and protocol separately, which improves the data transmission performance while ensuring the security of data transmission. In addition, the change data is updated by message subscription. When the data changes, the dedicated network can be used to timely update the cache data of the proxy update server with the change data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a data transmission method and system. Background Art

[0002] In the financial field, when servers are deployed in different locations, it is often necessary to establish a communication connection between the client and the server through a dedicated network. However, due to the high cost and limited bandwidth of dedicated lines, during concentrated trading hours, there will be a large amount of network transmission between the client and the server that consumes a lot of bandwidth. Due to the excessive occupation of dedicated line resources, financial systems and software cannot be used normally.

[0003] In order to solve the above problems, the client is often required to perform advance updates, manual packet sending, load balancing and other processes to improve the data processing capacity of the entire network system. However, using the client to perform the above processes requires the user to have certain operational capabilities, which increases maintenance costs and reduces the user-friendliness of the system. Summary of the invention

[0004] The object of the present invention is to provide a data transmission method and system, which are used to reduce data transmission delay and save dedicated line network bandwidth.

[0005] In order to achieve the above purpose, the technical solution adopted by the embodiment of the present invention is as follows:

[0006] In a first aspect, an embodiment of the present invention provides a data transmission method, which is applied to an agent update server, and the method includes:

[0007] The proxy update server sends a subscription change message to the message center; the subscription change message is used to indicate subscription change data;

[0008] When the data indicated by the subscription change message changes, the proxy update server receives the change notification message sent by the message center;

[0009] The proxy update server requests the background server for corresponding change data according to the change notification message;

[0010] The proxy update server updates the cache data according to the changed data;

[0011] When the proxy update server receives the update data request message sent by the client, the proxy update server searches for target data corresponding to the update data request message;

[0012] If the target data is found, the proxy update server sends the target data to the client.

[0013] Optionally, it also includes:

[0014] When the proxy update server receives the update data request message sent by the associated proxy update server, the proxy update server searches for target data corresponding to the update data request message;

[0015] If the target data is found, the proxy update server sends the target data to the associated proxy update server.

[0016] Optionally, the step of the proxy update server searching for target data corresponding to the update data request message includes:

[0017] The proxy update service searches for the target data in the cache;

[0018] If the target data is found, the proxy update server sends the target data to the client;

[0019] If not found, the proxy update server searches for the target data in a local persistent file;

[0020] If the target data is found, the proxy update server loads the target data into the cache and sends the target data to the client.

[0021] Optionally, it also includes:

[0022] If the target data is not found in the local persistent file, the proxy update server sends an update data request message to the background server;

[0023] The proxy update server receives the target data sent by the background server, and sends the target data to the client.

[0024] Optionally, if not found, it also includes:

[0025] The proxy update server sends an update data request message to the associated proxy update server according to the routing configuration information, so that the associated proxy update server searches for the target data in the cache or local persistent file;

[0026] When the associated proxy update server finds the target data, the proxy update server receives the target data sent by the associated proxy update server, and sends the target data to the client.

[0027] Optionally, before the step of the proxy update server sending a subscription change message to the message center, the step further includes:

[0028] When the proxy update server is started, it requests the background server for a data list and preset hash values ​​corresponding to all cached data; the data list includes cached data and the data type corresponding to each cached data;

[0029] The step of the proxy update server sending a subscription change message to the message center includes:

[0030] The proxy update server sends the subscription change message to the message center according to all the data types, and the subscription change message is used to indicate subscription to the changed data corresponding to all the data types.

[0031] Optionally, the proxy update server updates the cache data according to the changed data, including:

[0032] The proxy update server calculates a hash value of the changed data;

[0033] The proxy update server compares the hash value with a preset hash value of the corresponding cache data;

[0034] If they are inconsistent, the changed data will replace the corresponding cache data.

[0035] In a second aspect, the present invention provides a data transmission method, which is applied to a remote storage system, wherein the remote storage system comprises: a message center, a file monitoring service and a background server; the method comprises:

[0036] The file monitoring service monitors the update file directory in real time; the update file directory is used to store business data;

[0037] When the business data changes, the file monitoring service sends a change notification message to the message center to inform the message center of the data change; and sends the change data to the backend server;

[0038] The message center forwards the change notification message to the proxy update server;

[0039] The backend server receives the data request message sent by the proxy update server;

[0040] The background server sends the change data to the proxy update server according to the data request message.

[0041] Optionally, it also includes:

[0042] The backend server receives the update data request message sent by the proxy update server;

[0043] The background server sends target data to the proxy update server.

[0044] In a third aspect, the present invention provides a data transmission system, including: a message center, a file monitoring service, a background server, a client, and at least one proxy update server;

[0045] The proxy update server sends a subscription change message to the message center; the subscription change message is used to indicate subscription change data;

[0046] When the data indicated by the subscription change message changes, the proxy update server receives the change notification message sent by the message center;

[0047] The proxy update server requests the background server for corresponding change data according to the change notification message;

[0048] The proxy update server updates the cache data according to the changed data;

[0049] When the proxy update server receives the update data request message sent by the client, the proxy update server searches for target data corresponding to the update data request message;

[0050] If the target data is found, the proxy update server sends the target data to the client.

[0051] Compared with the prior art, the data transmission method and system provided by the embodiments of the present invention set up a proxy update server on the client side and use the proxy update server to cache data, so that when the client accesses data, it can directly obtain it from the proxy update server without sending a request to the background server every time, thereby reducing data transmission delay and saving dedicated network bandwidth, thereby effectively solving the dedicated network occupation problem when the network is limited.

[0052] Since the client and proxy update server are on the same LAN side, there is no need to open the network and protocol separately, which improves the data transmission performance while ensuring the security of data transmission. In addition, the change data is updated by message subscription. When the data changes, the dedicated network can be used to timely update the cache data of the proxy update server with the change data.

[0053] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0055] Figure 1 A schematic diagram of a communication architecture of the prior art.

[0056] Figure 2 A schematic diagram of the architecture of a data transmission system provided by an embodiment of the present invention.

[0057] Figure 3 A flowchart of a data transmission method provided by an embodiment of the present invention.

[0058] Figure 4 A schematic diagram of the architecture of another data transmission system provided by an embodiment of the present invention.

[0059] Figure 5 A flowchart of another data transmission method provided by an embodiment of the present invention.

[0060] Figure 6 A flowchart of another data transmission method provided by an embodiment of the present invention.

[0061] Figure 7 A flowchart of another data transmission method provided by an embodiment of the present invention.

[0062] Figure 8 A flowchart of another data transmission method provided by an embodiment of the present invention.

[0063] Fig. 9 A flowchart of another data transmission method provided by an embodiment of the present invention.

[0064] Fig.10 A flowchart of another data transmission method provided by an embodiment of the present invention.

[0065] Fig.11 A signaling interaction flow chart of a data transmission system provided by an embodiment of the present invention.

[0066] Fig.12 A block diagram of an electronic device provided by an embodiment of the present invention.

[0067] Icon: 100 - electronic device; 110 - memory; 120 - processor; 130 - communication module. DETAILED DESCRIPTION

[0068] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions 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. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.

[0069] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0070] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.

[0071] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0072] Figure 1 A schematic diagram of a communication architecture of the prior art is shown in FIG. Figure 1 The communication architecture includes: a client 10, a client 11, a router 12, a dedicated network 13 and a remote computer room 14.

[0073] Since the dedicated network 13 has high costs and limited bandwidth resources, such as a bandwidth upper limit of 2M, 10M, etc., when the communication architecture is applied to the financial field, it often faces the consumption of bandwidth resources by a large amount of data transmission during concentrated trading periods. At this time, the operation of multiple clients, such as client 10 and client 11, will cause abnormal functions of financial systems and software. In the prior art, operations such as early updates, manual packet sending, load balancing, etc. are usually performed on the client to improve efficiency. Alternatively, a device with higher processing power and speed is directly used.

[0074] However, whether it is pre-configuration on the client side or the use of high-performance devices at the device capability level, there are still problems and limitations. First, the advance update of the client and manual package delivery put forward additional requirements for users, which often leads to omissions in client updates due to human negligence and the occupation of dedicated line bandwidth when the client logs in. Secondly, these solutions often require an open network, which may not only bring security risks, but also these solutions may encounter performance bottlenecks when processing large-scale data transmission. In addition, the existing solutions may not be ideal in optimizing network bandwidth usage, especially when network conditions are limited, such as insufficient dedicated line bandwidth.

[0075] Especially within an enterprise, data transmission and sharing between different geographical locations is often required, and available update sites need to be bound for different users. In this case, the above solution requires adding more deployment nodes, which not only increases deployment and maintenance costs, but also brings about the problem of multi-node data cache consistency.

[0076] If a content delivery network (CDN) is used for the above scenario, the following problems will occur: 1. CDN has a timeliness problem for data caching on the client side, that is, it cannot complete data caching in time. 2. The network architecture needs to interact in an open network, while in the financial field, a dedicated network is often required. 3. For the client's main body deployment, a more complex implementation solution is required.

[0077] In order to solve the technical problems of the above-mentioned prior art, a new communication architecture is provided below. Specifically, Figure 2 A schematic diagram of the architecture of a data transmission system provided by an embodiment of the present invention, see Figure 2 Compared with the prior art, a proxy update server is added to the local area network 20 where the client 21 and the client 22 are located, such as Figure 2 The proxy update server 23A and the proxy update server 23C shown in the figure have, in addition to the database 25 , a file watcher service (Files Watcher) 23 , a background server 27 , and a message center (Message Center, MC) 28 in addition to the database 25 , at the remote computer room 26 .

[0078] The proxy update server is used to complete data caching, load balancing and data transmission optimization on the LAN side. The client can obtain the required target data by accessing the corresponding proxy update server. For example, see Figure 2 , the client 21 can access the proxy update server 23A to obtain the data cached in advance.

[0079] The message center 28 is used to interact with each proxy update server to complete the subscription of data changes, so as to timely remind the proxy update server of the data change when the data changes, so that the proxy update server can complete the data update in time.

[0080] The backend server 27 is used to interact with each proxy update server to complete the policy configuration related to the present invention and the issuance of corresponding rules, such as data lists, hash values ​​of each data, routing configuration information, etc. In addition, during the data transmission process, the proxy update server obtains the required data through the backend server 27, such as the change data described below.

[0081] The file monitoring service 23 is used to monitor the data in the update file directory, and once the data changes, it is synchronized to the message center so that the message center notifies the proxy update server of the data change.

[0082] The architecture of the above data transmission system can effectively achieve load balancing and data transmission optimization of proxy update servers in a dedicated network environment. In addition, in the time window with a large number of transactions in the financial field, large-scale data transmission can be effectively processed to avoid performance bottlenecks. At the same time, the impact of the dedicated network bandwidth limit on data transmission is weakened. At the same time, the entire solution does not deploy related optimizations on the client, reducing the complexity of deployment.

[0083] The following uses the proxy update server as the execution subject to exemplify various possible implementations of the present invention. Specifically, Figure 3 A flowchart of a data transmission method provided by an embodiment of the present invention is shown in FIG. Figure 3 , the method comprising:

[0084] Step 300: The proxy update server sends a subscription change message to the message center.

[0085] Specifically, the subscription change message is used to indicate subscription change data.

[0086] Step 301: When the data indicated by the subscription change message changes, the proxy update server receives the change notification message sent by the message center.

[0087] In an embodiment of the present invention, the proxy update server sends a subscription change message to the message center based on the data cached locally as needed, so that when the data indicated by the subscription change message changes, the message center sends a change notification message to the corresponding proxy update server, and the proxy update server receives the change notification message from the message center.

[0088] Step 302: The proxy update server requests the background server for corresponding change data according to the change notification message.

[0089] Step 303: The proxy update server updates the cached data according to the changed data.

[0090] In an embodiment of the present invention, the proxy update server generates a data request message according to the change notification message, and sends the data request message to the background server, so that the background server queries the corresponding changed data according to the data request message, and sends the changed data to the proxy update server. The proxy update server updates the local cache data with the changed data.

[0091] Step 304: When the proxy update server receives the update data request message sent by the client, the proxy update server searches for target data corresponding to the update data request message.

[0092] Step 305: If the target data is found, the proxy update server sends the target data to the client.

[0093] In an embodiment of the present invention, when a client needs to request data, the client generates an update data request message according to the data requested, and sends the update data request message to the proxy update server. The proxy update server searches for target data matching the update data request message in the local cache data. If the target data can be found, the proxy update server sends the target data to the client.

[0094] It should be noted that, assuming that there are multiple LANs, that is, multiple clients are located in different LANs, a proxy update server is deployed in each LAN. For example, if clients A and B are located in an office LAN in Shanghai, and clients C and D are located in an office LAN in Shenzhen, then proxy update servers can be deployed in Shanghai and Shenzhen respectively, so that clients A and B can access the local proxy update server in Shanghai through the office LAN in Shanghai, and clients C and D can access the local proxy update server in Shenzhen through the office LAN in Shenzhen, thereby improving the data transmission efficiency of different LANs. At the same time, the proxy update servers in Shanghai or Shenzhen update cache data through their respective dedicated networks to ensure the reliability of data transmission.

[0095] The data transmission method provided by the embodiment of the present invention sets a proxy update server on the client side and uses the proxy update server to cache data, so that when the client accesses data, it can directly obtain it from the proxy update server without sending a request to the background server every time, thereby reducing data transmission delay and saving dedicated network bandwidth, thereby effectively solving the dedicated network occupation problem when the network is limited.

[0096] Since the client and proxy update server are on the same LAN side, there is no need to open the network and protocol separately, which improves the data transmission performance while ensuring the security of data transmission. In addition, the change data is updated by message subscription. When the data changes, the dedicated network can be used to timely update the cache data of the proxy update server with the change data.

[0097] Optionally, in order to further improve data survival, the proxy update server can support more complex cascade deployment, such as serial deployment and parallel deployment. Figure 2 On the basis of Figure 4 A schematic diagram of another data transmission system provided by an embodiment of the present invention is shown in FIG. Figure 4 , which is relative to Figure 2 , adding proxy update server 23B and proxy update server 23D, thereby forming a more complex cascade deployment solution with proxy update server 23A and proxy update server 23C.

[0098] Specifically, the proxy update server 23A and the proxy update server 23B are deployed in series. The proxy update server 23C and the proxy update server 23D are also deployed in series. The proxy update server 23A and the proxy update server 23B, and the proxy update server 23C and the proxy update server 23D are deployed in parallel, that is, the proxy update server 23C and the proxy update server 23D can be used as backups of the proxy update server 23A and the proxy update server 23B.

[0099] Furthermore, based on the data lists maintained by each proxy update server in the cache configuration, it can be configured that, for example, proxy update server 23A stores data starting with AZ, and proxy update server 23B stores other types of data. Similarly, proxy update server 23C stores data starting with AZ, and proxy update server 23D stores other types of data.

[0100] It can be understood that the proxy update server 23A and the proxy update server 23B are each other's associated proxy update servers. Of course, in combination with more complex deployment strategies and routing relationships, each proxy update server in the deployment solution can be an associated proxy update server of any other proxy update server.

[0101] It can be seen that the embodiment of the present invention makes it flexible to update the application of proxy cache in different regions and networks by deploying proxy update servers in series, thereby improving data transmission efficiency and effectively solving performance bottlenecks. At the same time, the high availability of data cache is improved by deploying proxy update servers in parallel.

[0102] There is a situation below. For example, client 21 wants to obtain data of the target type. It first sends an update data request message to proxy update server 23A. However, proxy update server 23A finds that it does not cache data of this type. At this time, based on the serial deployment, proxy update server 23A can continue to send update data request messages to proxy update server 23B. Thus, proxy update server 23B continues to search for data of this type. In this scenario, if the proxy update server in the above example is proxy update server 23B, then its execution process can be as follows: Figure 5 As shown, specifically, in Figure 3 On the basis of Figure 5 A flow chart of another data transmission method provided by an embodiment of the present invention, the method further includes:

[0103] Step 306: When the proxy update server receives the update data request message sent by the associated proxy update server, the proxy update server searches for target data corresponding to the update data request message.

[0104] Step 307: If the target data is found, the proxy update server sends the target data to the associated proxy update server.

[0105] Specifically, after the proxy update server sends the target data to the associated proxy update server, the associated proxy update server can send the target data to the client. Continuing with the above example, when the proxy update server 23B finds that it has cached data of the target type, it sends the data to the associated proxy update server 23A, and then the proxy update server 23A sends it to the client 21.

[0106] Specifically, there are several possible ways to find the target data: 1. Search in the cache of the proxy update server; 2. Search in the local persistent file; 3. Search in the background server. The following is a possible implementation method. Specifically, Figure 3 On the basis of Figure 6 A flow chart of another data transmission method provided by an embodiment of the present invention is shown in FIG. Figure 6 , step 304 includes:

[0107] Step 304-1, the proxy update service searches for target data in the cache;

[0108] Step 304-2: If the target data is found, the proxy update server sends the target data to the client;

[0109] In an embodiment of the present invention, the proxy update server determines the size of the buffer area (i.e., cache) according to the size of the available memory. Usually, the size of the buffer area is set to a portion of the available memory so as to maximize the performance improvement brought by the cache while maintaining the normal operation of other system functions.

[0110] Since the size of the cache is limited, the data in the cache can be aged according to the popularity of data access. Usually, the hotspot tag is determined according to the last access time of each data in the cache, and "hot data" and "cold data" are identified based on the hotspot tag. Among them, "hot data" is data that is frequently accessed, and "cold data" is data that is rarely or never accessed. When the data in the cache exceeds the threshold or the cache area is full, the "cold data" will be gradually deleted according to the access frequency. For example, data that has not been accessed for more than one day will be deleted from the cache.

[0111] Alternatively, based on the data's residence time in the cache area, data whose residence time exceeds a preset time threshold is deleted from the cache, for example, data whose residence time exceeds 5 days is deleted from the cache. The data aging strategy may be the least recently used (LRU), least used (LFU), etc., which is not limited in the present invention.

[0112] It should be noted that when the proxy update service receives the update data request message, it first searches in the cache. If the target data is found in the cache, the proxy update server directly sends the target data to the client.

[0113] It can be seen that the embodiment of the present invention updates cache data by means of data hotspot marking, cache occupation time, etc., effectively ensuring the validity and timeliness of cache data, and can greatly reduce data transmission delay.

[0114] Step 304-3: If the target data is not found, the proxy update server searches for the target data in the local persistent file;

[0115] Step 304-4: If the target data is found, the proxy update server loads the target data into the cache and sends the target data to the client.

[0116] In the embodiment of the present invention, each proxy update server is provided with a local persistent file, and the proxy update server uses the local persistent file to save the cache data on the proxy update server. Figure 2 For example, the local persistent file of the proxy update server 23A has stored data beginning with AZ.

[0117] Assuming that the update data request message indicates that the client needs to obtain data starting with B, the proxy update server A searches for the target data starting with B in the local persistent file, loads the found target data into the cache, and sends the target data to the client.

[0118] Step 304-5: If the target data is not found in the local persistent file, the proxy update server sends an update data request message to the background server;

[0119] Step 304-6: The proxy update server receives the target data sent by the background server, and sends the target data to the client.

[0120] In the embodiment of the present invention, continue with Figure 2 For example, assuming that the update data request message indicates that the client needs to obtain other types of data except those starting with AZ, and the proxy update server A searches the local persistent file but does not find the target data, the proxy update server A sends an update data request message to the background server, so that the background server obtains the corresponding target data according to the update data request message, and sends the target data to the proxy update server A, which then sends the target data to the client.

[0121] It should be noted that for Figure 6 The implementation method shown above Figure 5 Step 306 may also be adopted, where the proxy update server sends the found target data to the associated proxy update server, where the associated proxy update server is another proxy update server that sends an update data request message to the proxy update server, which will not be described in detail here.

[0122] In some cases, when the proxy update server confirms that it does not cache the target data, it can instruct the associated proxy update server to find the target data by cascading the relevant routing configuration information. Figure 3 On the basis of Figure 7 A flow chart of another data transmission method provided by an embodiment of the present invention is shown in FIG. Figure 7 , also includes:

[0123] Step 308: If the target data is not found, the proxy update server sends an update data request message to the associated proxy update server according to the routing configuration information, so that the associated proxy update server searches for the target data in the cache or local persistent file.

[0124] Step 309: When the associated proxy update server finds the target data, the proxy update server receives the target data sent by the associated proxy update server and sends the target data to the client.

[0125] In an embodiment of the present invention, when the proxy update server receives an update data request message sent by the client and the target data is not found in the cache and the local persistent file, the associated proxy update server forwards the update data request message according to the routing configuration information box, so that the associated proxy update server searches for the target data in the cache or the local persistent file.

[0126] When the associated proxy update server finds the target data, the associated proxy update server sends the target data to the proxy update server, and the proxy update server sends the target data to the client.

[0127] When the associated proxy update server fails to find the target data, it sends an update data request message to the next associated proxy update server step by step according to the routing configuration information. If the target data is found, the transmission is terminated, and the target data is sent to the proxy update server connected to the client step by step in the reverse direction, and the target data is sent to the client.

[0128] If all proxy update servers in the cascade deployment do not find the target data, the target data is obtained from the background server and sent to the client.

[0129] Optionally, when each proxy update server is started, it can communicate with the background server to obtain the data related information that it needs to cache, such as the data list and all cached data. Figure 3 On the basis of Figure 8 A flow chart of another data transmission method provided by an embodiment of the present invention is shown in FIG. Figure 8 , before step 300, further comprising:

[0130] Step 310: When the proxy update server is started, it requests the background server for a data list and preset hash values ​​corresponding to all cached data.

[0131] Specifically, the data list includes cached data and a data type corresponding to each cached data.

[0132] Accordingly, a possible implementation of step 300 is:

[0133] Step 300-1: The proxy update server sends a subscription change message to the message center according to all data types.

[0134] Specifically, the subscription change message is used to indicate subscription to changed data corresponding to all data types.

[0135] In the embodiment of the present invention, the cache configuration can be configured separately on each proxy update server, or the cache configuration of each proxy update server can be uniformly configured on the background server, and each proxy update server obtains the cache configuration from the background server when it is started. The present invention does not limit the specific method of cache configuration.

[0136] When the proxy update server starts, it first obtains the cache configuration, and then obtains the cache data, the data type corresponding to each cache data, and the preset hash value from the background server according to the cache configuration. The proxy update server sends subscription change messages about all data types to the message center so that when the data of these data types changes, the message center can promptly notify the proxy update server, thereby ensuring the real-time and validity of the cache data on the proxy update server.

[0137] Specifically, the preset hash value is the hash value calculated by the backend server based on the cached data. Each time the data on the backend server changes, the hash value will be recalculated. The hash value is also called the hash value, which can be calculated using commonly used hash function algorithms such as Message Digest Algorithm-5 (MD5), Secure Hash Algorithm-1 (SHA1), SHA256, and SHA512.

[0138] It can be seen that the embodiment of the present invention uses a data list to define data types, and subscribes to data changes of each data type according to the data type. The synchronization of changed data can be achieved through a simple subscription operation, which is easy to use and maintain.

[0139] Continue to see Figure 8 In order to confirm whether the cached data has changed, verification can be performed in combination with a preset hash value. Specifically, a possible implementation of step 303 is:

[0140] Step 303-1: The proxy update server calculates the hash value of the changed data.

[0141] In the embodiment of the present invention, each proxy update server and the background server use the same hash function algorithm to calculate the hash value. The proxy update server uses a preset hash function algorithm to calculate the hash value of the changed data.

[0142] Step 303-2: The proxy update server compares the hash value with the preset hash value of the corresponding cache data.

[0143] Step 303-3: If there is inconsistency, the proxy update server replaces the corresponding cached data with the changed data.

[0144] Step 303-4: If they are consistent, the proxy update server does not update the cached data.

[0145] In the embodiment of the present invention, in order to ensure that the proxy update server that sends the subscription change message can update the data in time, the message center may repeatedly send the change notification message. In order to prevent the proxy update server from repeatedly updating the cache, the proxy update server compares the hash value of the changed data with the preset hash value of the corresponding cache data. If they are consistent, there is no need to update the cache data. If they are inconsistent, the corresponding cache data is replaced with the changed data, including updating the cache data in the cache and the local persistent file, and updating the preset hash value to the hash value of the changed data.

[0146] Optionally, see the example above. Figure 2 After introducing the implementation example of the proxy update server, the following describes the possible implementation methods of each node in the remote computer room. Specifically, the remote computer room 26 can deploy a remote storage system, which includes: a message center 28, a file monitoring service 23 and a background server 27. Of course, the system can also include a database 25 for data storage and an update file directory.

[0147] Furthermore, combined with Figure 2 The example shown, the following provides a method flow example with the remote storage system as the execution subject, specifically, Fig. 9 A flow chart of another data transmission method provided by an embodiment of the present invention is shown in FIG. Fig. 9 , the method comprising:

[0148] Step 400: The file monitoring service monitors the update file directory in real time.

[0149] Specifically, the update file directory is used to store business data.

[0150] In the embodiment of the present invention, the business data may be data published or operated by a client. The file monitoring service and the update file directory may be deployed on the same electronic device, and the file monitoring service monitors the update file directory in real time after being started.

[0151] Step 401: When business data changes, the file monitoring service sends a change notification message to the message center to inform the message center of the data change; and sends the change data to the backend server;

[0152] In the embodiment of the present invention, when the file monitoring service monitors the change of business data, the file monitoring service sends the generated change notification message to the message center, and the change notification message carries the changed data type. At the same time, the change data is sent to the background server, so that the background server stores the change data as the latest business data.

[0153] Step 402: The message center forwards the change notification message to the proxy update server.

[0154] In the embodiment of the present invention, the message center forwards the change notification message to the proxy update server, and the proxy change server sends a data request message to the background server according to the received change notification message to obtain the changed data.

[0155] Step 403: The background server receives the data request message sent by the proxy update server.

[0156] Step 404: The background server sends the changed data to the proxy update server according to the data request message.

[0157] In the embodiment of the present invention, the background server receives the data request information sent by each proxy update server, searches for the corresponding change data (ie, the latest business data) according to each data request information, and sends the found change data to the corresponding proxy update server.

[0158] The data transmission method provided by the embodiment of the present invention is applied to a remote storage system, and monitors the changes of business data in real time by setting a file monitoring service, and notifies the message center and the background server when the data changes, so that the message center notifies the proxy update server to cache the changed data in time, and the background server stores the changed data in time and permanently. Since the dedicated line network is only used to transmit the changed data when the business data changes, the dedicated line network bandwidth occupancy is effectively reduced, thereby solving the performance bottleneck of data transmission.

[0159] Optionally, as to how the backend server searches for target data, a possible implementation is provided below. Fig. 9 On the basis of Fig.10 A flow chart of another data transmission method provided by an embodiment of the present invention is shown in FIG. Fig.10 , the method further comprises:

[0160] Step 405: The background server receives the update data request message sent by the proxy update server.

[0161] Step 406: The background server sends the target data to the proxy update server.

[0162] In an embodiment of the present invention, when the proxy update server fails to find the target data according to the update data request message sent by the client, the proxy update server forwards the update data request message to the background server, and the background server queries the corresponding target data according to the received update data request message, and sends the target data to the proxy update server, so that the proxy update server forwards the target data to the client.

[0163] Optionally, an embodiment of the present invention further provides a data transmission system, the data transmission system comprising a message center, a file monitoring service, a background server, a client, and at least one proxy update server;

[0164] The proxy update server sends a subscription change message to the message center; the subscription change message is used to indicate subscription change data;

[0165] When the data indicated by the subscription change message changes, the proxy update server receives the change notification message sent by the message center; the proxy update server requests the corresponding change data from the background server according to the change notification message; the proxy update server updates the cached data according to the change data;

[0166] When the proxy update server receives the update data request message sent by the client, the proxy update server searches for target data corresponding to the update data request message; if the target data is found, the proxy update server sends the target data to the client.

[0167] In order to fully illustrate the interaction examples of each node in the above example, a possible implementation method of signaling interaction is provided below. Specifically, Fig.11 A signaling interaction flow chart of a data transmission system provided in an embodiment of the present invention, combined with the above Figure 4 ,Should Fig.11 The data transmission system includes a message center, a file monitoring service, a background server, a client, an agent update server A and a management update server B. Fig.11 , the signaling interaction process includes:

[0168] Step 500: When the proxy update server A is started, it sends a request to the background server.

[0169] Step 501: The backend server sends the data list and the preset hash value corresponding to the cached data to the proxy update server A according to the request.

[0170] It should be noted that the data list includes cached data and the data type corresponding to each cached data. When the proxy update server B is started, steps 500-501 can also be used to obtain the data list and the preset hash value corresponding to the cached data, which will not be repeated here. In addition, the present invention only takes the proxy update server A and the proxy update server B as examples. When more proxy update servers are set based on demand, the proxy update servers can interact with each other based on the routing configuration information, which will not be repeated here.

[0171] Step 502: The proxy update server A sends a subscription change message to the message center according to all data types corresponding to the cached data.

[0172] Specifically, after the message center receives the subscription update message sent by the proxy update server A, step 503 is executed.

[0173] Step 503: Return a subscription message to the proxy update server A.

[0174] It should be noted that the subscription message includes a subscription success or a subscription failure. When the subscription message indicates a subscription failure, the proxy update server A may try to send a subscription update message to the message center multiple times to ensure that the local cache data can be updated in a timely and accurate manner. The proxy update server B may also use steps 502-503 to complete the subscription, which will not be described in detail here.

[0175] Step 504: The business monitoring service sends a change notification message to the message center.

[0176] Specifically, after the file monitoring service is initialized, it monitors and updates the file directory in real time. When the business data changes, the file monitoring service generates a change notification message based on the changed business data.

[0177] Step 505: The business monitoring service sends the change data to the background server.

[0178] Step 506: The message center returns a response to the file monitoring service.

[0179] Specifically, the response is used to indicate that the message center has received the change notification message.

[0180] Step 507: The message center forwards the change notification message to the proxy update server A.

[0181] Step 508: The proxy update server A sends a data request message to the background server.

[0182] Step 509: The background server sends the changed data to the proxy update server A.

[0183] Step 510: Proxy update server A updates the cache according to the changed data.

[0184] Specifically, after receiving the change notification message, the message center obtains the matching proxy update server according to the subscription information. When the matching proxy update server is proxy update server A, the change notification message is forwarded to proxy update server A. When the matching proxy update server is proxy update server B, steps 507-509 can be used to obtain the change data update cache, which will not be repeated here.

[0185] Step 511: The client sends an update data request message to the proxy change server A.

[0186] Specifically, combined with the previous Figure 4In the architecture shown, when the client is started, the proxy update servers that are allowed to be configured are displayed to the login operator through the display interface, as shown in Table 1. When the login operator selects proxy update server A and proxy update server C as the proxy update servers configured by the operator, the client responds to the operator's operation of configuring proxy update server A and proxy update server C. The client establishes a communication connection with proxy update server A by default. When the client successfully establishes a communication connection with proxy update server A, it sends an update data request message to proxy update server A to obtain data.

[0187] When the communication connection between proxy update server A and the client is interrupted and reconnection fails, the client establishes a communication connection with proxy update server C, and after successfully establishing the communication connection, sends an update data request message to proxy update server C to obtain data. The high availability of the proxy update server is improved through the redundancy capability of the parallel deployment of the proxy update server.

[0188] It should be noted that when the login operator configures multiple proxy update servers, communication connections can be established with each proxy update server in turn according to preset rules until a proxy update server with which a communication connection is successfully established is found.

[0189] As a possible implementation, assuming that the operator name is test 5, the client successfully establishes a communication connection with the proxy update server A based on the operator, and the client updates the binding relationship of the proxy update server A based on the operator (test 5), and adds the operator code, operator code and operator name of the operator (test 5) to the binding relationship of the proxy update server A. The updated binding relationship is shown in Table 2. The present invention does not limit the specific definition of the binding relationship.

[0190] Table 1

[0191]

[0192] Table 2

[0193]

[0194] Step 512: Proxy update server A searches the cache.

[0195] Specifically, if the target data is found in the cache, step 513 is executed, otherwise, step 514 is executed.

[0196] Step 513: The proxy update server A sends the target data to the client.

[0197] Step 514: Proxy update server A searches for local persistent files.

[0198] Specifically, if the target data is found in the local persistent file, step 515 is executed. If the target data is not found in the local persistent file and the proxy update server A does not have an associated proxy update server with which it maintains a communication connection, step 517 is executed. If the target data is not found in the local persistent file and the proxy update server A has an associated proxy update server with which it maintains a communication connection (i.e., proxy update server B), step 520 is executed.

[0199] Step 515: Proxy update server A updates the cache using the target data.

[0200] Step 516: Proxy update server A sends the target data to the client.

[0201] Step 517: The proxy update server A sends an update data request message to the background server.

[0202] Step 518: The background server sends the target data to the proxy update server A.

[0203] Step 519: Proxy update server A sends the target data to the client.

[0204] Step 520: Proxy update server A sends an update data request message to proxy update server B.

[0205] Step 521: Proxy update server B searches the cache.

[0206] Specifically, if the target data is found in the cache, step 522 is executed, otherwise step 524 is executed.

[0207] Step 522: Proxy update server B sends the target data to proxy update server A.

[0208] Step 523: Proxy update server A sends the target data to the client.

[0209] Step 524: Proxy update server B searches for local persistent files.

[0210] Specifically, if the target data is found in the local persistent file, step 525 is executed, otherwise step 528 is executed.

[0211] Step 525: Proxy update server B updates the cache using the target data.

[0212] Step 526: Proxy update server B sends the target data to proxy update server A.

[0213] Step 527: Proxy update server A sends the target data to the client.

[0214] Step 528: The proxy update server B sends an update data request message to the background server.

[0215] Step 529: The background server sends the target data to the proxy update server B.

[0216] Step 530: Proxy update server B sends target data to proxy update server A.

[0217] Step 531: The proxy update server A sends the target data to the client.

[0218] It should be noted that, after the proxy update server A sends the update data request message to the associated proxy update server B, in addition to the proxy update server B forwarding the target data to the proxy update server A according to the above steps, and then the proxy update server A forwards it to the client. The associated proxy update server that finds the target data can also directly send the target data to the client, thereby improving the efficiency of data transmission. The present invention does not limit the specific implementation method of returning the target data.

[0219] The present invention also provides an electronic device, see Fig.12 , Fig.12 A block diagram of an electronic device 100 provided in an embodiment of the present invention. The electronic device 100 includes a memory 110, a processor 120, and a communication module 130. The memory 110, the processor 120, and the communication module 130 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines.

[0220] The memory 110 is used to store programs or data. The memory 110 may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc.

[0221] The processor 120 is used to read / write data or programs stored in the memory 110 and execute corresponding functions. For example, when the computer program stored in the memory 110 is executed by the processor 120, the data transmission method disclosed in the above embodiments can be implemented.

[0222] The communication module 130 is used to establish a communication connection between the electronic device 100 and other communication terminals through a network, and to send and receive data through the network.

[0223] It should be understood that Figure 7 The structure shown is only a schematic diagram of the structure of the electronic device 100. The electronic device 100 may also include Figure 7 More or fewer components as shown, or with Figure 7 Different configurations are shown. Figure 7 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0224] Combination Figure 2 , the electronic device 100 can realize Figure 2 The function of the proxy update server on the local area network side is realized to achieve the corresponding technical effect. Or the electronic device 100 can realize Figure 2 The proxy server, message center and file monitoring service at the remote computer room side can realize the corresponding technical effect. The proxy server, message center and file monitoring service can be integrated on the electronic device 100 as logical function modules.

[0225] Or in a possible implementation, the proxy server, message center and file monitoring service can be deployed on electronic devices independent of each other. For example, the backend server is an independent electronic device, and the electronic device is used to perform the functions of the backend server to achieve the corresponding technical effect.

[0226] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by the processor 120, the data transmission method disclosed in the above-mentioned embodiments applied to the proxy update server or the data transmission method disclosed in the above-mentioned embodiments applied to the remote storage system is implemented.

[0227] The embodiment of the present invention further provides a program product. When the program product is executed by the processor 120, it implements the data transmission method disclosed in the above embodiments applied to the proxy update server or the data transmission method disclosed in the above embodiments applied to the remote storage system.

[0228] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and a module, a program segment or a part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0229] In addition, the functional modules in the various embodiments of the present invention may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.

[0230] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a computer-readable storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0231] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

[0232] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, the embodiments should be considered exemplary and non-restrictive in all respects, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the present invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.

Claims

1. A data transmission method, characterized in that: Applied to a proxy update server, the proxy update server and the client are in the same local area network, and the proxy update server is connected to the message center and the background server through a dedicated network; the method includes: The proxy update server sends a subscription change message to the message center; the subscription change message is used to indicate subscription change data; When the data indicated by the subscription change message changes, the proxy update server receives the change notification message sent by the message center; The proxy update server requests the background server for corresponding change data according to the change notification message; The proxy update server updates the cache data according to the changed data; When the proxy update server receives the update data request message sent by the client, the proxy update server searches for target data corresponding to the update data request message; If the target data is found, the proxy update server sends the target data to the client; When the proxy update server receives the update data request message sent by the associated proxy update server, the proxy update server searches for target data corresponding to the update data request message; If the target data is found, the proxy update server sends the target data to the associated proxy update server.

2. The method according to claim 1, characterized in that The step of the proxy update server searching for target data corresponding to the update data request message comprises: The proxy update service searches for the target data in the cache; If the target data is found, the proxy update server sends the target data to the client; If not found, the proxy update server searches for the target data in a local persistent file; If the target data is found, the proxy update server loads the target data into the cache and sends the target data to the client.

3. The method according to claim 2, characterized in that Also includes: If the target data is not found in the local persistent file, the proxy update server sends an update data request message to the background server; The proxy update server receives the target data sent by the background server, and sends the target data to the client.

4. The method according to claim 1, characterized in that If not found, it also includes: The proxy update server sends an update data request message to the associated proxy update server according to the routing configuration information, so that the associated proxy update server searches for the target data in the cache or local persistent file; When the associated proxy update server finds the target data, the proxy update server receives the target data sent by the associated proxy update server, and sends the target data to the client.

5. The method according to claim 1, characterized in that Before the step of the proxy update server sending a subscription change message to the message center, the method further includes: When the proxy update server is started, it requests the background server for a data list and preset hash values ​​corresponding to all cached data; the data list includes cached data and the data type corresponding to each cached data; The step of the proxy update server sending a subscription change message to the message center includes: The proxy update server sends the subscription change message to the message center according to all the data types, and the subscription change message is used to indicate subscription to the changed data corresponding to all the data types.

6. The method according to claim 5, characterized in that The proxy update server updates the cache data according to the changed data, including: The proxy update server calculates a hash value of the changed data; The proxy update server compares the hash value with a preset hash value of the corresponding cache data; If they are inconsistent, the changed data will replace the corresponding cache data.

7. A data transmission method, characterized in that: Applied to a remote storage system, the remote storage system comprises: a message center, a file monitoring service and a background server, the message center and the background server are both connected to an agent update server via a dedicated network; the method comprises: The file monitoring service monitors the update file directory in real time; the update file directory is used to store business data; When the business data changes, the file monitoring service sends a change notification message to the message center to inform the message center of the data change; and sends the change data to the backend server; The message center forwards the change notification message to the proxy update server; The backend server receives the data request message sent by the proxy update server; The background server sends the change data to the proxy update server according to the data request message, so that the proxy update server updates the cached data according to the change data. When the proxy update server receives the update data request message sent by the associated proxy update server, the proxy update server searches for target data corresponding to the update data request message; if the target data is found, the proxy update server sends the target data to the associated proxy update server.

8. The method according to claim 7, characterized in that Also includes: The backend server receives the update data request message sent by the proxy update server; The background server sends target data to the proxy update server.

9. A data transmission system, characterized in that: include: A message center, a file monitoring service, a backend server, a client, and at least one proxy update server, wherein the proxy update server and the client are in the same local area network, and the proxy update server is connected to the message center and the backend server through a dedicated network; The proxy update server sends a subscription change message to the message center; The subscription change message is used to indicate subscription change data; When the data indicated by the subscription change message changes, the proxy update server receives the change notification message sent by the message center; The proxy update server requests the background server for corresponding change data according to the change notification message; The proxy update server updates the cache data according to the changed data; When the proxy update server receives the update data request message sent by the client, the proxy update server searches for target data corresponding to the update data request message; If the target data is found, the proxy update server sends the target data to the client; When the proxy update server receives the update data request message sent by the associated proxy update server, the proxy update server searches for target data corresponding to the update data request message; If the target data is found, the proxy update server sends the target data to the associated proxy update server.